0
0
610
514
501
467
1214
1308
0
653
128
388
379
557
921
1044
0
-37
-33
-23
4
0
3
0
0
0
0
0
-46
22
32
27
12
32
0
-3
0
4
0
0
0
-19
-23
-13
2
-9
-15
0
-78
0
0
0
0
0
-28
-34
-10
-16
-33
-4
0
0
0
161
0
0
10
-42
4
-13
5
-33
-10
77
9
134
7
163
100
73
-14
-9
-25
-4
11
16
54
32
63
21
75
94
68
48
64
41
36
79
101
97
20
0
40
0
0
0
4
-49
-8
-28
2
-26
8
19
71
48
165
-21
170
-12
-36
-31
8
17
72
-21
22
12
26
12
-128
41
4
12
55
-61
-11
-71
0
11
-3
29
39
1
89
10
19
6
-30
-36
-19
-70
29
36
40
85
1
147
-35
-14
-9
-11
-3
-5
20
8
41
-6
179
-59
161
-29
-25
15
-15
13
7
53
8
108
67
206
65
249
-24
23
37
4
21
29
60
-11
149
84
178
145
148
-13
-28
59
-11
0
0
0
0
0
0
0
3
-10
31
-42
-21
59
0
7
0
0
0
0
0
5
35
-10
-63
27
116
0
12
0
0
0
0
0
-30
42
24
-19
30
-2
-4
31
43
62
33
2
-1
12
24
-15
-2
30
19
1
-7
33
-54
33
3
0
35
2
-18
16
47
68
-16
5
0
41
0
0
0
18
-60
31
4
-35
-40
-24
13
16
58
113
-13
31
6
50
-3
46
2
2
-31
8
2
26
10
-102
47
-48
0
-6
19
14
-109
-28
27
0
-8
50
-10
84
0
0
9
-9
-40
-20
-104
49
62
60
134
-9
112
-46
22
7
-46
14
15
3
16
23
-49
141
-43
166
11
-66
17
-5
39
-2
40
32
156
89
197
137
173
50
-14
11
-20
26
24
65
-38
180
69
192
22
-9
-5
23
15
39
0
0
0
0
0
0
0
68
-12
20
49
52
39
0
-40
0
-2
0
0
0
-14
-47
-26
-37
-3
-8
106
14
105
-7
149
10
50
-47
22
-52
-23
-13
-10
91
61
96
-64
67
-8
65
48
10
17
8
13
69
47
20
0
19
0
0
0
20
-11
-60
-16
-10
-62
5
-8
-9
78
61
-17
22
-7
-30
6
-11
28
29
-44
20
-5
23
21
-209
25
-72
0
-75
-57
-43
-35
-34
45
29
14
92
62
93
-48
0
25
19
41
48
-108
-3
25
36
73
39
63
10
-50
5
4
-44
-4
57
30
-11
-68
150
-70
119
-49
-40
3
-58
7
-2
37
32
84
40
175
150
211
-3
7
30
4
8
15
62
-6
157
48
113
31
76
-5
44
-11
-68
0
1
0
0
0
0
0
-14
14
30
-15
-42
-17
106
29
191
-54
106
-32
-102
-15
14
4
-3
-5
-3
144
49
121
-54
165
-5
87
32
-7
18
-6
32
58
42
-11
0
34
0
0
0
-33
16
11
-36
-74
-41
26
-9
49
36
98
-3
-52
-53
18
-21
-7
38
-3
-62
12
-8
22
8
-193
-5
-61
52
27
-14
15
47
-8
-11
-1
-34
74
0
56
-30
-2
9
18
15
46
-80
2
45
25
60
-4
36
-34
-30
17
-29
-55
-16
-2
31
36
-54
123
-45
161
-16
-37
-4
-53
-7
-4
59
4
95
-15
201
52
149
-17
-73
-1
23
21
11
66
1
183
58
136
110
21
-55
33
-5
-10
-3
-1
0
-2
0
0
0
-19
-22
8
2
14
-15
10
13
43
10
28
58
219
10
12
-11
9
-27
1
-47
26
0
0
0
0
0
-29
2
-9
-5
-45
-36
-63
30
-142
8
-157
-152
-136
-23
-8
-11
13
-24
-30
-11
6
-10
4
-35
-312
11
9
-31
10
28
-4
24
14
-8
-17
29
47
-202
82
0
10
20
3
1
-10
-233
7
-6
23
42
21
70
-20
-25
-20
25
-24
-47
-59
19
-163
-167
9
-169
57
-17
-2
11
-35
-34
-32
15
1
-212
96
101
70
124
-42
-17
-25
-24
-24
-20
51
55
48
103
70
1
186
-58
-18
39
68
5
2
0
0
0
0
0
-1
-8
-10
-29
-23
-18
-11
45
0
0
0
0
0
-24
-25
-42
-35
-8
1
-74
22
-130
-1
-151
-170
-65
-27
-32
-35
-17
-28
10
-33
1
-18
-8
-6
-167
19
-19
-38
31
-11
17
94
-10
1
16
24
-11
-324
24
-7
-40
-4
-29
-22
0
-260
18
-2
22
1
-8
21
-43
-22
-25
-24
-18
-13
-85
-6
-146
-114
-24
-188
29
-37
-39
21
13
-19
-6
17
16
-123
-29
32
-18
51
4
-20
-21
-45
7
14
13
19
39
80
-123
-163
-119
0
0
0
0
1
0
0
0
0
0
0
-18
7
0
4
5
7
-46
6
0
-35
0
0
0
10
-2
14
2
2
4
-65
22
-56
31
-19
0
51
5
6
9
16
5
13
-48
61
10
43
32
0
54
3
0
8
2
2
7
0
51
-3
39
45
8
14
-4
10
2
5
6
9
-70
-37
0
0
-21
0
-22
9
2
-4
-5
-14
-18
24
-18
0
0
-15
12
-30
-1
-5
3
-4
-2
-8
37
-52
28
6
0
0
0
0
1
6
2
4
-4
2
3
4
-1
-1
-9
1
-10
3
-10
2
-6
14
-9
20
18
-301
28
7
8
-5
29
5
36
-10
13
20
-25
53
-94
100
2
8
7
10
4
11
-252
4
29
12
46
19
62
-2
0
-8
7
-6
-4
-20
-5
-65
-185
135
-40
168
5
-1
22
5
-1
0
55
28
70
-10
172
91
214
1
-8
8
-5
9
5
98
-11
169
43
234
157
164
0
1
4
0
1
-1
1
-2
0
-2
-1
5
12
16
11
10
-14
-3
4
7
-3
10
170
-69
-4
-10
-7
-13
-19
12
-5
-1
-27
13
-13
233
-27
-3
-12
-3
-9
-5
1
-2
-29
-1
-18
-19
245
-28
5
-8
-9
-7
-1
3
12
-15
22
-32
8
236
-50
1
-4
2
-13
-5
-32
34
-12
16
-43
15
209
-66
12
-20
-7
22
4
2
1
1
2
-2
0
20
33
11
37
1
52
-117
-24
15
5
1
-19
8
-3
3
10
1
8
45
-23
-39
-38
-74
7
50
-9
6
15
27
1
11
53
15
-23
-12
8
23
162
-69
-20
7
-4
9
0
23
11
-6
-25
-40
3
257
-92
51
31
40
36
1
3
1
2
0
1
-1
11
4
3
2
4
-1
178
-11
-23
-68
-6
-63
-21
0
5
1
23
18
2
246
-6
28
-1
-20
-3
-38
8
3
-3
8
1
5
238
-4
-30
-10
-4
-44
-49
5
1
12
3
0
-5
-2
-4
-1
-2
4
17
9
-2
-5
20
14
51
-14
165
182
44
68
-26
4
-8
7
-5
1
-8
82
6
221
226
101
178
-30
5
65
13
2
6
0
1
-1
-2
5
1
-10
19
5
16
4
5
20
10
98
156
6
-61
-37
5
63
-6
80
2
8
-2
-1
0
0
0
0
0
0
0
0
-75
99
36
4
0
26
39
25
35
0
12
43
48
16
0
16
-11
7
28
0
64
0
0
0
0
0
60
0
-10
0
0
32
-34
-44
0
0
-58
115
-18
0
0
34
22
-14
0
0
0
0
0
0
0
-2
9
74
0
0
14
-5
28
0
0
46
-5
-1
0
0
20
65
7
0
0
0
0
0
0
0
13
-5
37
0
0
129
40
81
0
0
34
67
-28
0
0
9
35
1
0
0
0
0
0
0
0
51
49
60
0
0
58
45
70
0
0
21
39
8
0
0
17
47
8
0
0
0
0
0
0
0
36
39
68
0
0
31
29
85
0
0
18
46
15
0
0
70
67
90
0
0
0
0
0
0
0
87
28
24
0
0
-19
56
27
0
0
-17
8
13
0
0
8
-26
3
0
0
0
0
0
0
0
-24
-11
84
0
0
58
20
-31
0
0
48
-16
28
0
0
48
16
-13
0
0
0
0
0
0
0
44
22
-35
0
0
4
-17
-85
0
0
13
-15
-67
0
0
22
29
39
0
0
0
0
0
0
0
27
-81
-17
0
0
84
19
53
0
0
-49
-66
-72
0
0
26
-50
67
0
0
0
0
0
0
0
-16
-66
-92
0
0
4
38
-1
0
0
20
-10
18
0
0
12
-33
35
0
0
0
0
0
0
0
28
24
-4
0
0
65
49
-16
0
0
35
24
87
0
0
43
45
-27
0
0
0
0
0
0
0
34
1
-11
0
0
38
42
-67
0
0
14
11
28
0
0
35
46
10
0
0
0
0
0
0
0
59
72
17
0
0
45
46
46
0
0
37
24
121
0
0
14
14
47
0
0
0
0
0
45
-38
-17
13
51
-12
-28
27
-18
-58
9
53
-96
18
85
58
59
-4
42
60
-16
124
0
0
0
0
-99
-36
25
-52
0
42
63
-45
64
0
0
1
50
-4
0
0
2
-5
-1
0
0
0
0
0
0
0
-30
-63
-100
0
0
51
22
15
0
0
-5
49
-9
0
0
20
13
-120
0
0
0
0
0
0
0
50
13
-8
0
0
-8
29
19
0
0
-48
139
-86
0
0
3
-9
-5
0
0
0
0
0
0
0
18
18
-40
0
0
-38
85
31
0
0
-1
-111
74
0
0
90
54
-89
0
0
0
0
0
0
0
-1
29
77
0
0
-20
61
26
0
0
-23
71
80
0
0
38
-31
-33
0
0
0
0
0
0
0
37
-21
71
0
0
59
-45
40
0
0
31
8
-19
0
0
-43
1
0
0
0
0
0
0
0
0
141
75
30
0
0
4
30
22
0
0
-38
48
75
0
0
-46
-18
6
0
0
0
0
0
0
0
69
34
39
0
0
16
13
-107
0
0
5
-57
-10
0
0
16
-62
-87
0
0
0
0
0
0
0
55
48
8
0
0
-1
0
0
0
0
18
0
7
0
0
-15
-5
-8
0
0
0
0
0
0
0
107
2
0
0
0
-88
29
41
0
0
-29
-53
-21
0
0
-28
-37
-2
0
0
0
0
0
0
0
-57
-26
-3
0
0
13
-84
21
0
0
84
-4
-36
0
0
-46
42
49
0
0
0
0
0
0
0
-134
20
-74
0
0
-22
0
-17
0
0
33
9
25
0
0
34
81
113
0
0
0
0
0
0
0
51
46
-90
0
0
-92
84
34
0
0
41
53
43
0
0
-33
43
85
0
0
0
0
0
-31
7
47
61
10
-22
-69
31
1
-74
25
77
-40
10
21
0
50
-8
2
44
74
113
0
0
0
39
-5
-25
7
142
89
55
-21
-17
36
69
38
-14
-59
37
1
-27
19
23
86
-77
20
0
0
0
0
0
10
15
116
0
32
33
-11
-75
0
-72
-6
9
-25
0
82
-118
6
68
0
49
0
0
0
0
0
6
27
-21
0
0
59
61
22
0
0
41
-36
44
0
0
-1
40
19
0
0
0
0
0
0
0
45
49
16
0
0
61
27
48
0
0
-25
25
29
0
0
30
75
4
0
0
0
0
0
0
0
-82
-16
-82
0
0
-4
70
126
0
0
-7
30
14
0
0
38
23
37
0
0
0
0
0
0
0
10
-62
4
0
0
34
58
69
0
0
8
16
5
0
0
56
-3
-51
0
0
0
0
0
0
0
-2
-80
5
0
0
33
20
61
0
0
23
8
-19
0
0
-83
76
40
0
0
0
0
0
0
0
41
57
47
0
0
6
-41
-19
0
0
39
7
14
0
0
27
31
3
0
0
0
0
0
0
0
-31
-36
-3
0
0
-24
-23
-57
0
0
30
24
-58
0
0
-36
-15
9
0
0
0
0
0
0
0
5
5
0
0
0
-5
85
-22
0
0
-53
-52
25
0
0
19
-75
16
0
0
0
0
0
0
0
85
5
-23
0
0
-23
29
20
0
0
27
77
2
0
0
-2
17
56
0
0
0
0
0
0
0
-44
-12
1
0
0
-9
29
74
0
0
-77
42
-28
0
0
95
16
48
0
0
0
0
0
0
0
-14
-17
89
0
0
20
30
57
0
0
-18
14
4
0
0
67
56
41
0
0
0
0
0
-25
-12
-32
-10
-51
45
76
22
60
53
-30
46
48
5
59
-21
60
-14
-26
-43
66
34
0
0
0
-5
5
17
1
-44
-11
-2
9
-58
75
37
90
23
-2
60
51
31
55
-84
48
0
-14
0
0
0
0
-7
-27
13
7
-9
132
-15
8
40
-39
34
-30
-7
60
75
-52
2
23
-73
-31
20
0
0
0
0
-1
-17
-1
-15
0
-3
23
21
14
0
8
28
-36
100
0
47
-8
50
-56
0
-27
0
0
0
0
0
19
35
11
0
0
32
3
13
0
0
-20
14
55
0
0
10
45
-1
0
0
0
0
0
0
0
30
2
-5
0
0
4
47
46
0
0
14
36
43
0
0
-7
23
11
0
0
0
0
0
0
0
17
-2
26
0
0
25
-20
-43
0
0
46
-15
0
0
0
28
-107
15
0
0
0
0
0
0
0
21
-74
-10
0
0
93
-132
44
0
0
16
65
-15
0
0
24
12
20
0
0
0
0
0
0
0
45
-39
-14
0
0
41
14
-16
0
0
13
15
-30
0
0
30
43
48
0
0
0
0
0
0
0
57
31
23
0
0
-74
-13
41
0
0
54
-84
-6
0
0
-49
10
-34
0
0
0
0
0
0
0
8
-41
-49
0
0
47
32
-61
0
0
-97
2
-22
0
0
79
5
-9
0
0
0
0
0
0
0
61
-69
17
0
0
44
62
48
0
0
32
3
-17
0
0
6
-6
-41
0
0
0
0
0
0
0
5
10
17
0
0
-6
46
83
0
0
48
56
28
0
0
-13
-9
-33
0
0
0
0
0
0
0
19
-8
49
0
0
23
13
126
0
0
-28
38
88
0
0
11
-29
-9
0
0
0
0
0
83
-87
61
19
-23
-13
18
28
9
-8
45
58
-4
18
47
3
84
16
27
45
46
88
0
0
0
22
-26
66
17
-1
-17
37
41
-36
-36
-24
3
-75
107
56
11
66
13
57
10
31
30
0
0
0
-39
-54
40
-44
48
10
90
40
15
26
-34
27
-31
32
-47
46
51
-50
46
9
6
45
0
0
0
24
59
70
65
-7
3
-26
26
-18
33
19
70
108
-16
30
38
14
-22
29
6
-43
-4
0
0
0
0
28
26
-16
-5
0
-37
-1
44
4
0
51
-35
56
28
0
-7
33
59
23
0
63
0
0
0
0
0
27
26
129
0
0
-4
21
58
0
0
3
18
67
0
0
44
39
39
0
0
0
0
0
0
0
26
23
23
0
0
37
24
37
0
0
-16
-45
-3
0
0
20
-59
-37
0
0
0
0
0
0
0
-9
-4
18
0
0
34
-2
4
0
0
13
26
40
0
0
18
17
26
0
0
0
0
0
0
0
22
21
48
0
0
30
10
7
0
0
9
14
44
0
0
20
22
42
0
0
0
0
0
0
0
35
-29
16
0
0
-3
-44
8
0
0
-40
-9
12
0
0
-23
-3
-34
0
0
0
0
0
0
0
16
12
59
0
0
-1
-1
23
0
0
33
4
45
0
0
15
22
48
0
0
0
0
0
0
0
39
2
16
0
0
19
29
20
0
0
10
7
36
0
0
12
14
29
0
0
0
0
0
0
0
-13
54
-23
0
0
1
-59
21
0
0
72
38
5
0
0
37
43
-16
0
0
0
0
0
0
0
81
-14
62
0
0
34
6
37
0
0
10
22
56
0
0
18
17
58
0
0
0
0
0
45
-39
-12
-2
-37
-14
21
13
-1
0
66
61
12
26
21
74
18
15
43
-35
126
28
0
0
0
75
27
101
16
-9
-57
32
-58
59
-61
74
-7
-59
-6
-33
60
31
111
36
70
37
-39
0
0
0
-4
-103
87
-2
8
60
16
15
-3
60
-8
37
61
43
17
55
61
38
4
55
61
22
0
0
0
16
-24
38
75
-26
-58
-39
41
-17
7
3
67
-23
-23
28
42
125
40
-28
-13
83
-41
0
0
0
75
-1
28
30
-12
55
12
11
55
-50
-57
16
32
42
23
16
-32
32
33
-5
62
79
0
0
0
0
70
25
29
-29
0
84
-47
-2
26
0
-46
54
57
0
0
-7
5
-42
103
0
1
0
0
0
0
0
-10
4
-35
0
0
-26
-10
-5
0
0
3
-5
-37
0
0
44
-24
-5
0
0
0
0
0
0
0
-10
-53
5
0
0
44
23
-19
0
0
35
13
-11
0
0
14
4
20
0
0
0
0
0
0
0
30
22
34
0
0
8
-12
10
0
0
13
16
35
0
0
20
30
45
0
0
0
0
0
0
0
-12
-43
28
0
0
13
-8
-63
0
0
-36
22
-29
0
0
58
75
-21
0
0
0
0
0
0
0
-47
-38
-102
0
0
23
40
77
0
0
50
-12
64
0
0
-7
11
69
0
0
0
0
0
0
0
-1
-52
-77
0
0
-12
61
37
0
0
37
2
30
0
0
37
39
44
0
0
0
0
0
0
0
8
59
-14
0
0
3
-27
10
0
0
18
34
4
0
0
29
4
-54
0
0
0
0
0
0
0
70
1
21
0
0
54
1
-34
0
0
32
-14
62
0
0
28
19
19
0
0
0
0
0
-1
77
64
20
30
70
1
91
10
14
30
43
73
31
6
-51
29
3
74
39
-25
-17
0
0
0
121
-26
-24
75
3
-69
41
48
-8
-15
-5
24
-1
-8
0
0
-36
25
2
0
0
0
0
0
0
-26
63
-23
-17
10
16
58
56
40
2
7
-20
23
0
18
23
-52
-14
21
-18
0
-12
0
0
0
76
-2
-4
58
-11
-63
-20
-72
15
9
66
-18
0
-33
25
5
-59
39
13
11
-6
12
0
0
0
32
15
-13
97
-18
22
8
30
22
-19
-31
-14
13
33
11
-60
-23
-39
-46
-29
19
31
0
0
0
3
48
-27
17
49
27
-2
-2
33
-12
-60
-11
21
-3
8
37
-14
15
-61
-18
-17
-11
0
0
0
0
0
0
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
14
65
0
0
24
-10
6
0
0
0
-1
7
0
0
12
9
-1
0
0
0
0
0
0
0
10
6
7
0
0
1
0
-5
0
0
0
0
-4
0
0
-3
5
5
0
0
0
0
0
0
0
9
9
-7
0
0
-6
5
41
0
0
-29
53
44
0
0
3
-26
51
0
0
0
0
0
0
0
-35
32
19
0
0
-4
3
-1
0
0
0
3
-14
0
0
-10
-9
-16
0
0
0
0
0
0
0
51
24
84
0
0
7
-18
8
0
0
-1
0
-5
0
0
6
-4
16
0
0
0
0
0
0
0
6
-24
17
0
0
1
3
-5
0
0
7
0
-9
0
0
9
-3
11
0
0
0
0
0
0
0
77
18
0
0
0
-10
-8
-21
0
0
-11
-3
15
0
0
-34
-2
32
0
0
0
0
0
-67
-35
23
13
-57
62
-79
33
0
-86
-64
38
29
3
32
-11
63
-4
-47
12
-94
-1
0
0
0
-52
-69
-35
-15
-55
8
65
48
-22
-49
10
104
18
17
-53
-102
188
-23
6
11
59
-19
0
0
0
-3
-23
17
-64
-39
-18
-11
-45
7
-11
-23
-20
79
-30
39
-4
31
19
28
58
43
69
0
0
0
-1
-12
-114
106
-49
-38
45
-24
14
1
12
11
51
76
-9
4
-5
37
-14
-19
-1
-12
0
0
0
6
37
-17
53
-49
-8
26
5
33
44
46
25
39
13
42
15
9
3
43
38
60
1
0
0
0
64
3
44
46
17
-24
43
15
-23
26
98
-4
-16
14
-11
-27
43
22
46
35
66
-59
0
0
0
43
57
36
29
17
24
21
32
10
16
5
2
4
4
13
2
1
-4
4
3
0
-6
0
0
0
0
15
-62
19
-37
0
15
11
25
25
0
28
-1
3
-8
0
2
-5
-1
-13
0
5
0
0
0
0
0
5
2
-3
0
0
18
13
8
0
0
10
-9
-8
0
0
-4
-19
-11
0
0
0
0
0
0
0
4
-10
-25
0
0
-3
9
-29
0
0
-9
-14
11
0
0
-18
-7
-6
0
0
0
0
0
0
0
20
-22
-18
0
0
1
11
-2
0
0
-1
2
13
0
0
9
2
-12
0
0
0
0
0
0
0
4
-4
21
0
0
4
26
26
0
0
9
-2
-5
0
0
-2
-2
-9
0
0
0
0
0
0
0
-19
-47
-6
0
0
15
-27
-2
0
0
-1
-8
-1
0
0
-1
-16
-17
0
0
0
0
0
0
0
-22
45
-3
0
0
-4
-7
0
0
0
-8
-14
-14
0
0
3
-8
10
0
0
0
0
0
58
-80
18
-15
-30
-69
-48
36
6
-48
-24
0
3
9
-55
-28
0
29
57
35
-99
-48
0
0
0
22
-64
32
-9
58
-3
10
3
30
-41
-5
-18
32
20
-48
-6
-50
34
35
94
20
-12
0
0
0
43
-24
-69
3
-52
-4
0
47
21
-53
28
-43
40
-6
36
-8
-62
10
24
21
-14
-129
0
0
0
-5
-65
88
24
52
10
26
41
22
-48
50
6
26
33
70
-19
-19
34
42
61
15
-42
0
0
0
21
1
-6
-15
25
27
-4
8
25
10
37
21
14
9
12
24
24
11
30
31
48
26
0
0
0
1
-58
1
12
-11
19
-25
22
39
32
6
15
19
37
36
26
40
23
38
21
38
9
0
0
0
0
-20
16
10
-6
10
11
11
20
9
3
3
4
6
13
0
28
-3
0
7
7
-2
0
0
0
-17
-25
-31
-41
12
8
0
8
-10
8
-10
-5
-5
-18
-4
-5
-1
-6
-14
-8
1
9
0
0
0
0
0
2
7
10
0
0
-3
4
9
0
0
-13
-6
-2
0
0
-3
1
-9
0
0
0
0
0
0
0
-7
-3
3
0
0
9
18
18
0
0
-17
-12
-6
0
0
-3
2
2
0
0
0
0
0
0
0
-6
-4
-22
0
0
-34
-3
-9
0
0
-9
-10
-10
0
0
-3
6
2
0
0
0
0
0
0
0
-22
-42
-8
0
0
-7
-9
-7
0
0
-6
-16
-16
0
0
1
-14
-15
0
0
0
0
0
0
0
-3
-42
3
0
0
10
-30
10
0
0
10
-9
-5
0
0
13
-5
15
0
0
0
0
0
0
0
9
29
-37
0
0
3
12
-33
0
0
1
10
-5
0
0
14
13
-11
0
0
0
0
0
-6
43
8
12
43
-5
32
-16
63
-30
3
-53
-55
-29
6
10
31
42
-32
-42
2
-54
0
0
0
0
-12
90
-11
78
-1
-5
-75
-14
4
7
0
3
-5
0
0
0
-2
23
-1
0
0
0
0
0
-5
-15
-10
-7
-13
0
-56
76
31
55
-1
52
13
-28
21
42
-51
-83
-49
25
0
35
0
0
0
0
-45
-1
-33
-9
-2
-24
60
140
-19
13
7
-34
22
128
16
-34
13
-14
-10
-8
34
0
0
0
9
-50
-19
84
63
78
-24
42
15
46
94
17
15
50
13
-11
-91
-24
-18
-48
47
-35
0
0
0
65
-102
17
26
-1
97
-102
-83
-26
36
49
-28
-6
76
-46
28
-41
64
-44
39
2
-96
0
0
0
27
2
27
29
19
44
15
44
5
50
48
8
1
-19
-15
11
-69
-27
-8
-6
35
-39
0
0
0
-50
-87
84
48
55
34
2
9
11
53
-31
16
-25
-16
-16
7
2
-20
-44
8
5
-20
0
0
0
-35
-51
-4
4
-2
35
-55
-3
19
0
70
-4
10
-7
-6
57
-37
11
5
-1
44
-71
0
0
0
0
-2
0
-10
21
0
71
-4
-29
94
0
42
106
-13
-49
0
-4
-4
39
-49
0
-10
0
0
0
0
0
77
67
73
0
0
17
-5
13
0
0
-11
10
32
0
0
-3
11
-40
0
0
0
0
0
0
0
4
34
90
0
0
3
28
5
0
0
-3
13
12
0
0
-17
-6
9
0
0
0
0
0
0
0
91
4
45
0
0
36
-19
-76
0
0
-4
-29
9
0
0
3
11
-32
0
0
0
0
0
0
0
48
61
12
0
0
19
64
-32
0
0
34
48
-17
0
0
12
51
47
0
0
0
0
0
0
-42
2
-48
71
1
54
-26
-86
-57
-9
-102
10
40
-20
-2
-1
-17
-19
-45
25
54
0
0
0
0
-64
44
17
-8
-8
126
14
-48
13
0
-31
58
26
-4
0
8
-10
30
10
0
2
0
0
0
0
72
-43
29
49
0
-68
-43
52
-2
0
-88
-37
-26
8
0
-24
74
12
4
8
125
0
0
0
0
-41
-13
-7
49
25
-120
23
64
60
49
94
-36
67
62
-5
-16
-17
-71
-25
-5
41
0
0
0
73
49
-9
22
16
8
36
41
0
30
8
30
5
45
44
24
32
-5
1
60
30
44
0
0
0
68
31
-15
15
-71
39
80
45
-8
-21
-10
50
-14
30
67
-43
-19
-5
10
0
-53
49
0
0
0
17
62
19
19
29
48
11
3
5
13
8
36
-1
8
-14
-3
-6
-11
4
-6
-19
5
0
0
0
-29
-17
32
15
-23
24
-16
-13
5
-13
12
-24
-4
9
7
16
-5
-7
-13
-8
17
-17
0
0
0
-7
21
10
-25
-12
11
1
-10
-2
7
18
18
-2
-4
-11
22
10
-4
-3
-1
13
29
0
0
0
-22
-9
-27
-1
-6
-68
31
9
40
-13
25
32
-8
12
-14
-67
26
-8
-65
22
-10
-24
0
0
0
0
5
5
-4
-26
0
10
-51
14
-3
0
1
-25
7
5
0
-41
-26
6
-13
0
30
0
0
0
0
0
16
7
9
0
0
-7
2
23
0
0
0
4
-1
0
0
-5
2
0
0
0
0
0
0
0
0
16
8
-12
0
0
-19
-12
11
0
0
15
-16
-21
0
0
12
7
6
0
0
0
0
0
0
0
-24
21
-12
0
0
1
21
0
0
0
9
-12
26
0
0
-5
-53
2
0
0
0
0
0
10
-104
22
23
30
-41
-25
27
2
-37
20
5
41
22
2
-27
10
22
28
-5
8
43
0
0
0
-44
-39
6
37
-56
108
1
51
10
21
6
10
22
60
-26
28
31
-3
70
-30
-16
-18
0
0
0
40
-44
86
14
-27
55
-12
-5
58
-19
80
3
-18
-13
-22
7
-49
-7
-59
1
-54
94
0
0
0
-1
3
-10
11
-49
150
-67
83
13
69
-20
21
-35
-4
48
-30
49
-12
68
64
-36
5
0
0
0
-60
74
24
3
64
71
40
10
1
24
12
50
23
28
26
39
53
-7
26
22
-33
18
0
0
0
101
66
34
33
44
47
52
20
21
37
35
48
32
0
59
37
-15
39
21
20
-19
10
0
0
0
34
-20
27
27
30
21
19
22
10
18
4
-1
15
9
17
3
-1
-3
-1
17
14
5
0
0
0
-5
-8
-30
34
24
9
-20
10
3
19
3
-26
3
2
8
-8
-13
4
-16
6
-4
-1
0
0
0
2
-34
-10
-6
-32
-2
-4
8
-9
10
-1
-20
-5
-26
-22
10
-17
-3
-23
-17
-2
-10
0
0
0
-33
-39
5
-15
-6
-25
51
18
9
10
2
32
13
12
2
-48
24
9
-8
-24
-10
-12
0
0
0
62
2
-3
8
5
-8
0
0
2
-5
10
18
2
2
16
-15
16
4
19
16
-12
32
0
0
0
0
-21
-12
-39
6
0
-14
17
16
47
0
33
6
3
13
0
3
0
-13
-9
0
11
0
0
0
0
0
17
-32
7
0
0
-7
-10
7
0
0
-8
-8
2
0
0
5
-17
12
0
0
0
0
0
0
0
18
-3
-25
0
0
-1
-12
7
0
0
7
-13
11
0
0
20
3
21
0
0
0
0
0
-6
12
23
21
40
-125
-37
26
-34
-31
47
16
51
41
41
65
69
19
36
37
-40
42
0
0
0
-22
14
76
-23
-3
-80
-41
5
36
11
38
132
26
9
26
28
-99
-31
-48
-4
7
37
0
0
0
0
-40
13
-25
-76
78
-31
1
14
141
-14
-36
17
14
2
76
32
22
40
25
14
75
0
0
0
3
-2
56
-45
-10
30
1
-23
18
63
-6
36
65
20
-65
50
50
2
-13
41
89
25
0
0
0
-46
-23
26
-4
-19
49
3
-7
-1
-25
21
7
5
3
4
13
23
-34
13
70
45
32
0
0
0
54
21
48
-44
34
16
-5
37
-14
31
-13
-19
54
-31
69
-9
-14
19
30
22
10
6
0
0
0
44
86
12
44
22
7
-4
-12
1
-8
3
-4
10
-2
-5
-2
-13
-12
-1
0
-7
26
0
0
0
61
-58
-28
-57
-86
18
16
12
4
34
12
-3
-1
0
12
-4
8
11
-4
11
-8
-6
0
0
0
21
31
8
8
2
-8
2
10
12
2
11
-4
14
2
-5
-1
6
12
10
3
-1
36
0
0
0
-16
-48
-5
0
-18
-12
31
26
-37
38
38
57
4
3
30
-64
-50
30
-14
61
-50
-18
0
0
0
-19
-31
-4
22
-73
6
63
10
-21
2
34
-12
8
8
13
-5
-12
10
13
-15
53
19
0
0
0
-6
96
17
-5
27
32
34
15
3
39
2
28
-7
11
13
3
31
5
10
7
12
-13
0
0
0
0
45
36
-36
30
0
-25
-22
-56
2
0
23
-5
6
-39
0
27
-18
-6
11
0
-58
0
0
0
0
0
14
-1
-45
0
0
-6
5
-19
0
0
0
-18
-29
0
0
-24
-16
-3
0
0
0
0
0
-7
-59
24
15
4
1
26
42
15
17
44
26
63
14
-31
14
71
-36
28
25
15
75
0
0
0
62
14
7
-37
7
25
3
-28
-41
-76
-9
92
39
-60
46
-5
15
49
17
114
-14
-1
0
0
0
-7
-46
2
35
-88
61
60
12
37
-3
-22
34
48
53
73
37
89
97
83
-27
46
45
0
0
0
-6
34
-38
56
-34
-6
57
67
85
-7
-21
20
51
49
-61
-19
-5
-20
-22
-22
38
13
0
0
0
44
35
8
-42
-48
-7
33
42
22
12
10
94
19
41
29
37
0
48
36
6
60
1
0
0
0
52
-44
-5
68
-7
-110
69
15
3
16
95
42
-17
43
23
-25
4
-15
-1
41
-17
-23
0
0
0
-16
54
51
-30
-6
71
11
3
22
-9
14
-16
-11
-8
2
-6
0
16
-7
0
-5
-10
0
0
0
-10
-33
37
19
-21
1
13
-4
-6
17
-7
-3
14
8
-1
-3
-11
7
2
19
10
7
0
0
0
-109
-5
3
-1
20
-22
-15
9
7
7
-5
0
10
6
4
-3
-5
10
10
-6
11
-14
0
0
0
-38
49
1
5
-7
-75
75
31
47
34
32
37
-21
49
21
8
69
2
-2
-11
-46
5
0
0
0
-84
-57
22
10
-42
9
-12
25
-1
19
24
-17
12
21
-5
-32
-2
20
-12
-30
19
-10
0
0
0
-78
-21
7
-23
-17
29
6
11
-3
26
-10
-21
19
10
-11
3
-9
15
-9
22
42
-4
0
0
0
-58
11
16
-24
13
47
-8
22
-30
13
-12
11
-13
8
-27
-23
-36
14
8
-6
-13
35
0
0
0
0
-18
-28
-70
-31
0
-11
-16
-7
40
0
23
-39
-5
-47
0
85
27
25
-36
0
-2
0
-9
30
-17
-44
16
10
3
14
15
13
-8
44
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
24
0
-27
-57
-10
0
55
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
58
-56
19
0
40
34
-82
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-49
0
-15
-7
48
0
60
29
31
0
67
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-17
0
20
20
25
0
42
54
84
0
70
13
-39
0
-90
0
24
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
45
0
-5
34
28
0
59
-16
11
0
48
31
0
0
-29
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
38
0
-15
18
6
0
15
17
19
0
13
-29
23
0
-20
-28
-17
0
30
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
-4
0
-79
-46
19
0
24
-23
2
0
18
-31
-3
0
40
62
-40
0
-22
122
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-5
0
-89
-16
-4
0
-73
-2
-3
0
-31
-5
-32
0
-71
-39
-12
0
-37
4
24
0
22
0
0
0
0
0
0
0
0
0
0
0
0
45
39
0
23
-34
50
0
16
-20
-42
0
-5
-15
59
0
-42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
-8
-7
0
99
-18
1
0
-24
65
-3
0
-36
41
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-15
0
-11
16
-52
0
22
-5
-4
0
-55
24
21
0
3
31
30
0
49
-7
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
39
-12
0
-33
48
-2
0
5
22
16
0
44
-2
2
0
-59
-32
-11
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-11
0
-2
33
-37
0
37
25
-27
0
49
8
11
0
-98
3
14
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-1
13
-59
30
31
-23
-26
5
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
8
1
-47
0
-7
-2
50
0
9
105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
72
0
24
-2
-8
0
-31
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-87
0
-33
-32
75
0
105
0
15
0
34
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
-31
0
-31
-2
-3
0
119
27
61
0
75
12
9
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
33
0
-43
58
30
0
12
61
13
0
25
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-23
0
8
50
23
0
1
0
-10
0
-23
70
22
0
-56
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-57
0
-72
-12
19
0
-63
-30
51
0
-102
42
10
0
30
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-83
0
-51
-12
18
0
1
-16
39
0
-8
-8
4
0
13
39
-30
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
0
-23
1
-1
0
-3
-53
-127
0
-24
14
6
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-24
-24
0
-12
10
-98
0
-54
27
18
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-44
0
12
14
23
0
-66
29
6
0
-66
-7
-15
0
-40
-5
17
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-38
0
41
23
-54
0
16
-65
38
0
84
37
71
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
59
0
61
6
13
0
61
73
-5
0
14
33
-8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
16
-57
113
25
-27
2
-22
-17
-25
13
-117
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-15
-14
-10
-3
-14
-32
-24
0
-18
-14
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-46
21
28
-59
-46
-43
66
1
64
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
41
0
66
43
37
0
80
6
-19
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
31
0
45
1
-11
0
95
40
73
0
-1
32
-65
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
93
0
-26
3
-19
0
34
2
-24
0
1
-37
-21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-23
0
17
-16
18
0
14
14
-13
0
-17
13
27
0
-31
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
70
0
-77
7
2
0
20
-18
9
0
37
1
-22
0
-29
25
-13
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
20
0
-57
8
-23
0
-6
-3
-6
0
-40
-6
15
0
-8
-11
-22
0
38
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
-13
0
-7
70
-68
0
39
103
46
0
-61
13
13
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
-37
-39
0
25
7
-1
0
4
26
-53
0
-50
24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-63
-46
-21
0
26
5
5
0
0
-9
-28
0
-10
88
-6
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-48
0
30
82
32
0
13
51
-2
0
43
12
79
0
16
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-12
0
-9
26
8
0
56
-36
1
0
18
21
3
0
44
0
3
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-50
-90
-7
11
2
-12
4
-19
20
57
-3
0
1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-26
-8
0
-1
5
0
-44
0
-2
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
13
-3
-42
-7
4
-40
31
0
15
-50
29
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
3
-13
0
86
-7
-34
23
-1
50
-44
-53
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-7
0
50
-40
-15
0
-24
36
28
0
60
20
83
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
32
0
-55
8
-12
0
-81
46
65
0
53
42
-52
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
0
44
14
14
0
28
4
-23
0
-67
-16
-59
0
51
50
13
0
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
58
0
11
-16
-82
0
16
-5
-34
0
21
14
-23
0
78
31
-95
0
33
51
67
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-41
-22
0
-13
44
16
0
11
25
55
0
3
-10
-33
0
-48
-25
1
0
-42
0
4
0
23
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-2
-20
15
0
-14
-6
-13
0
-58
-13
-70
0
44
-12
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
33
6
0
-3
-8
-10
0
-98
-57
15
0
-37
-20
15
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-49
0
20
-23
-66
0
-30
16
-44
0
-11
45
-14
0
20
58
98
0
-28
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
23
0
-30
-24
-32
0
59
17
24
0
1
39
57
0
23
-5
-10
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-61
0
6
42
-30
0
45
103
28
0
28
-5
41
0
92
-39
57
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
38
10
30
-18
-11
3
38
30
-46
22
-2
7
-5
41
-9
0
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-17
-49
-16
2
-58
39
22
0
8
33
3
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
65
-13
98
34
-33
12
13
-19
2
6
-41
0
-14
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
8
36
-43
14
21
10
-16
79
20
35
82
0
-23
43
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-48
57
4
13
-12
4
-39
64
0
-11
0
59
48
58
85
110
-12
-28
13
-59
88
71
-18
-4
61
-8
-5
0
9
3
0
0
0
0
0
20
32
0
32
-12
-85
0
76
23
-109
0
12
54
-26
0
26
4
87
0
-108
25
93
0
13
9
35
0
-41
0
-3
0
0
0
0
0
0
51
-17
0
0
12
62
0
31
29
25
0
47
27
1
0
22
-29
-67
0
-46
-3
-18
0
-36
37
-28
0
4
0
40
0
16
0
0
0
0
46
74
0
5
4
6
0
17
-10
15
0
21
25
-13
0
23
19
9
0
26
30
1
0
56
-13
15
0
35
0
-26
0
-19
0
0
0
0
20
61
0
21
-9
48
0
-15
3
27
0
-12
-4
2
0
-1
-8
-7
0
-9
-15
-6
0
7
20
50
0
7
0
-6
0
22
0
0
0
0
40
109
0
-78
53
62
0
-84
25
-2
0
-7
29
33
0
38
-23
-54
0
92
35
-5
0
-51
-23
-48
0
33
0
31
0
-22
0
0
0
0
120
0
0
0
-60
58
0
56
39
45
0
37
-32
-16
0
36
4
5
0
14
-28
17
0
-8
30
-19
0
29
0
38
0
-28
0
0
0
0
10
114
0
-1
40
7
0
-57
38
13
0
15
0
5
0
43
23
-14
0
22
22
9
0
25
75
31
0
46
0
42
0
30
0
0
0
0
-17
-9
0
6
-17
-127
0
-21
46
41
0
65
24
57
0
-18
27
32
0
-46
23
54
0
89
46
-30
0
28
0
75
0
13
0
0
0
0
13
40
0
16
-56
-28
0
94
77
14
0
134
64
2
0
35
53
35
0
47
-4
19
0
17
108
7
0
-27
0
16
0
-218
0
0
0
0
6
17
38
37
-42
9
-12
11
-96
0
-18
25
0
21
39
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
58
38
31
-24
-44
9
-2
35
26
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-3
65
52
1
40
-4
1
30
-15
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
45
-34
-10
-16
29
53
2
52
-43
6
64
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-41
14
14
17
7
-22
45
52
51
-17
-36
-72
13
-30
91
52
22
27
35
80
84
26
-68
1
-5
99
9
0
-1
-3
0
0
0
0
0
37
-3
-29
-1
37
-71
39
-1
31
30
20
-24
-64
-36
-22
1
-3
-19
25
0
-16
0
0
0
0
6
0
2
0
0
0
0
0
0
0
0
-11
32
0
-31
-13
-38
0
4
-8
17
0
-42
-45
-36
0
85
19
-73
0
17
11
43
0
44
32
-33
0
-22
0
20
0
0
0
0
0
0
46
67
0
92
41
13
0
49
48
-19
0
-38
41
69
0
-37
-9
12
0
17
12
42
0
-54
60
18
0
41
0
18
0
47
0
0
0
0
31
57
0
11
44
57
0
3
33
15
0
50
-9
20
0
14
-26
-10
0
8
-24
-15
0
-47
7
-31
0
-29
0
2
0
-22
0
0
0
0
-58
61
0
-89
5
11
0
-52
-54
2
0
-14
-13
-28
0
-106
5
-20
0
93
61
19
0
7
51
-5
0
18
0
-9
0
-38
0
0
0
0
80
0
0
0
0
102
0
98
47
-62
0
15
-5
15
0
42
-21
17
0
-26
2
60
0
-37
4
-36
0
-19
0
10
0
-1
0
0
0
0
45
52
0
26
69
30
0
37
13
-12
0
-8
21
28
0
-4
35
-2
0
7
-21
57
0
11
-7
-10
0
79
0
52
0
11
0
0
0
0
-9
0
0
66
53
30
0
82
8
59
0
-10
-34
40
0
23
102
45
0
-4
68
82
0
13
44
-26
0
-24
0
-55
0
-20
0
0
0
0
-6
4
0
48
-12
24
0
1
41
10
0
38
-12
-10
0
29
57
10
0
35
52
25
0
-8
2
1
0
-6
0
-48
0
-17
0
0
0
0
3
40
-2
24
1
21
55
16
0
-28
32
5
0
-53
-46
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
15
-10
-1
0
74
-13
-5
0
2
35
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
39
-74
35
20
-34
-2
21
0
-23
28
-19
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
10
28
1
-26
31
7
34
0
1
6
64
0
-5
-6
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
-5
15
24
-27
-1
-49
-89
4
25
29
42
16
77
-13
6
-29
44
37
1
80
-105
-24
30
40
4
8
-46
0
-53
-24
9
0
0
4
0
53
-49
-18
-14
-53
-28
32
45
-3
6
-22
-7
-26
-30
-53
-40
-31
33
20
-16
34
-29
9
-14
-16
-1
-79
23
0
13
-5
-8
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
72
0
52
-62
27
0
5
-1
9
0
38
46
-39
0
0
-8
48
0
-10
-5
12
0
27
-18
-10
0
2
0
-3
0
1
0
0
0
0
38
99
0
31
75
73
0
13
-6
26
0
37
-19
23
0
10
-5
0
0
15
1
-1
0
10
7
6
0
-19
0
-4
0
-94
0
0
0
0
-13
23
0
-1
-8
-108
0
-17
-10
4
0
24
35
45
0
-39
1
17
0
-22
31
6
0
-16
1
12
0
18
0
10
0
-2
0
0
0
0
-8
0
0
0
71
13
0
-29
-90
-7
0
24
-15
-8
0
32
19
-8
0
31
0
57
0
23
4
-25
0
39
0
5
0
10
0
0
0
0
-5
73
0
32
-4
71
0
-1
-4
5
0
-28
1
11
0
-6
38
12
0
-7
-8
21
0
-22
-16
-6
0
4
0
-3
0
-1
0
0
0
0
-2
0
0
25
28
-15
0
-21
-28
-13
0
-7
-9
6
0
-44
-31
49
0
65
6
-47
0
21
8
-11
0
-4
0
1
0
-4
0
0
0
0
10
-25
0
-19
24
3
0
-3
-23
-18
0
0
31
-13
0
-3
26
-40
0
45
7
-33
0
-129
-19
-10
0
-4
0
18
0
20
0
0
0
0
-61
38
-56
-158
-3
31
9
6
1
-88
14
-13
0
-2
-3
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-63
-102
-126
4
13
66
131
0
-6
-18
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-58
-66
7
45
20
-3
18
-7
-33
27
4
0
-1
55
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
26
-62
-63
3
-62
65
43
15
-32
12
62
0
-8
-24
-2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
55
12
54
-22
-13
11
-19
-12
94
26
61
104
63
57
41
-9
82
53
13
11
59
73
93
36
-11
28
49
0
-110
30
-1
0
0
-18
0
22
100
94
30
6
77
75
-49
11
14
-39
71
12
-8
-87
-31
50
28
-21
93
71
-1
-19
57
13
39
42
20
0
52
48
-71
0
0
-21
0
-4
-12
-42
22
31
-50
53
4
16
-54
-36
-75
30
-3
40
5
3
-23
29
-4
46
-8
19
3
3
14
6
15
0
6
9
4
0
0
0
0
38
39
-68
-84
-17
-59
3
17
5
2
0
-22
1
-127
49
-17
21
1
59
-15
2
-16
-13
-16
-3
9
-13
5
0
2
7
-10
0
0
-25
0
-73
26
0
-51
-11
6
0
-30
7
24
0
7
-24
11
0
-6
-22
-4
0
15
-35
-16
0
13
5
5
0
3
0
3
0
-12
0
0
0
0
41
-9
0
-50
-30
50
0
6
-46
11
0
88
0
-2
0
43
-41
67
0
9
6
45
0
-21
-8
9
0
-31
0
-22
0
-42
0
0
0
0
123
0
0
0
-27
3
0
-32
11
-22
0
60
-33
7
0
42
7
9
0
6
-19
3
0
5
-11
38
0
-42
0
5
0
-2
0
0
0
0
17
43
0
-39
-12
-31
0
35
-25
-18
0
-44
-24
-30
0
-26
1
-20
0
6
12
14
0
-6
-7
22
0
2
0
-25
0
-18
0
0
0
0
34
-74
0
-5
68
-1
0
70
16
57
0
36
-7
40
0
67
5
12
0
39
1
3
0
24
6
4
0
13
0
-27
0
-14
0
0
0
0
-66
32
0
-50
45
40
0
71
27
32
0
30
34
23
0
-10
22
53
0
79
24
36
0
71
18
12
0
2
0
7
0
-42
0
0
0
0
0
0
0
0
-25
-36
-13
-6
-10
-66
37
-5
-4
-39
-26
-23
0
29
-44
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-51
-88
-39
10
-126
37
-31
0
27
95
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
-6
-1
21
-4
55
52
59
0
-41
-48
3
0
0
-15
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
6
22
-7
-17
35
-24
-1
53
-5
-30
0
-81
-3
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
2
-5
32
14
37
36
40
36
43
25
46
41
14
17
7
9
19
-13
15
-7
-13
2
-10
0
74
6
-26
0
0
26
0
0
0
0
0
51
28
-6
22
-6
48
32
76
45
-2
11
52
40
-23
35
35
18
13
0
-20
19
18
-13
-34
0
25
41
-90
0
0
18
0
0
0
0
0
-2
10
25
-40
22
21
43
22
19
24
33
18
9
20
10
15
5
-9
16
-6
-2
5
-21
5
0
9
74
-11
0
0
22
0
0
0
0
0
-7
-4
88
20
4
24
50
14
33
24
76
23
10
5
12
14
-4
-7
-27
-2
-3
-6
-36
-9
0
9
-21
-5
0
0
8
0
0
0
0
0
-8
33
65
0
-1
15
3
0
15
6
13
0
-2
3
11
0
5
-2
3
0
23
22
-3
0
0
53
20
0
0
0
24
0
0
0
0
0
11
-8
0
-24
1
12
0
151
-5
15
0
22
22
10
0
-23
22
10
0
-68
1
4
0
-52
0
-20
0
28
0
0
0
0
0
0
0
0
37
59
0
-32
18
97
0
-14
-1
75
0
46
-25
-30
0
34
-13
-21
0
-1
-6
-26
0
-19
0
1
0
-17
0
0
0
0
0
0
0
0
58
65
0
-56
20
35
0
33
33
18
0
41
14
6
0
29
-3
0
0
-11
-6
-22
0
-23
0
18
0
-23
0
0
0
0
0
0
0
0
-24
44
0
67
-4
-8
0
39
3
17
0
24
19
-9
0
25
11
-3
0
4
1
-11
0
-4
0
-9
0
-15
0
0
0
0
0
0
0
0
53
38
0
78
37
40
0
60
9
27
0
16
-15
1
0
10
5
-8
0
-25
-4
13
0
-51
0
2
0
-23
0
0
0
0
0
0
0
0
-1
32
54
-45
0
-6
13
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-70
12
0
-17
13
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-8
-18
0
20
93
-1
0
0
-7
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
37
25
76
0
-53
80
20
0
1
-55
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
45
98
-81
-26
15
0
74
63
-46
-60
8
47
33
-3
22
-37
7
22
41
8
44
56
0
19
21
66
0
0
-33
0
0
0
0
0
-34
5
-13
-10
-60
84
-3
31
26
-60
44
70
96
14
32
22
-21
-86
-9
53
40
16
41
44
0
47
-87
8
0
0
-1
0
0
0
0
0
-1
5
42
5
-73
7
-5
127
35
-6
111
59
-18
-13
18
14
15
-1
0
40
-45
16
-1
15
0
-12
14
23
0
0
-6
0
0
0
0
0
6
34
-4
-35
-30
-36
57
-23
29
-21
19
-144
-11
-3
32
34
6
-16
8
56
3
-1
-29
22
0
28
17
-14
0
0
-9
0
0
0
0
0
6
0
55
62
-83
-2
15
93
11
-3
6
13
-14
4
17
6
5
-17
6
11
21
-12
-6
19
0
-52
-34
38
0
0
-73
0
0
0
0
0
15
1
0
0
46
-94
-1
51
20
-40
-51
-75
-20
12
-28
23
-21
49
-27
16
5
55
81
-39
0
17
7
33
0
0
27
0
0
0
0
0
40
12
0
6
-6
48
0
74
6
75
0
8
-40
17
0
38
30
-2
0
22
-8
-4
0
-84
0
-5
0
-18
0
0
0
0
0
0
0
0
-28
28
0
-17
-86
-28
0
1
19
-6
0
-46
10
-1
0
13
-3
-22
0
18
34
9
0
9
0
23
0
-51
0
0
0
0
0
0
0
0
-13
-10
0
-1
-33
13
0
-29
-3
5
0
-57
12
-16
0
-9
-35
-12
0
33
19
-49
0
-30
0
-43
0
4
0
0
0
0
0
0
0
0
-72
0
0
0
13
-21
0
9
-38
40
0
15
57
-28
0
90
11
58
0
23
3
22
0
26
0
-1
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-22
-44
0
3
-50
-7
0
-4
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
-14
-23
-12
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
95
7
0
1
-21
0
0
0
-1
0
0
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
57
100
0
42
13
-1
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
28
42
94
-39
-4
-32
-14
6
-3
-5
-23
-18
-20
-6
41
48
6
-6
11
0
0
169
22
0
0
-20
0
0
0
0
0
0
0
0
0
13
-86
-13
106
45
-30
20
-44
21
40
10
-11
59
-22
25
-20
-49
49
3
-51
0
33
-14
-1
0
0
-27
0
0
0
0
0
0
0
0
0
25
59
17
8
32
17
42
-6
-13
2
-11
6
37
-15
-25
4
0
2
2
7
0
49
38
36
0
0
3
0
0
0
0
0
0
0
0
0
-87
-17
-14
82
-3
-12
27
-43
12
11
20
17
-6
-12
3
25
2
-6
3
21
0
36
5
-25
0
0
-11
0
0
0
0
0
0
0
0
0
-16
-19
75
26
19
15
24
21
-30
-9
16
25
-14
-31
-33
0
22
2
-18
19
0
-10
12
-13
0
0
14
0
0
0
0
0
0
0
0
0
105
157
20
-36
-5
-56
33
-27
12
14
55
-3
27
24
59
-50
-8
-33
15
-23
0
-65
31
-66
0
0
-5
0
0
0
0
0
0
0
0
0
82
55
49
-22
4
-22
-39
46
-31
-7
6
32
5
26
-15
22
-19
5
-25
-32
0
1
-12
-27
0
0
-35
0
0
0
0
0
0
0
0
0
-45
7
0
55
15
-25
0
25
-13
13
0
28
11
-6
0
2
-13
-4
0
6
0
-47
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
28
-18
16
0
-61
-12
20
0
-8
-26
-25
0
15
8
-33
0
28
0
-93
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-53
112
0
31
-33
37
0
34
-31
14
0
10
26
23
0
-31
12
-5
0
-16
0
27
0
-40
0
0
0
0
-6
-11
8
33
-22
-18
12
-11
-2
13
-44
40
0
-69
26
0
0
0
24
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-57
18
23
57
53
-90
73
0
18
27
-1
0
0
-40
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
16
-15
-42
-24
50
16
-24
86
16
85
0
16
-10
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
10
-14
-78
-60
-28
27
87
13
31
2
18
0
5
-1
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-40
-10
15
72
-4
37
81
31
79
0
51
32
62
11
70
43
48
37
55
41
-7
27
83
53
-4
32
41
0
24
44
-120
0
0
4
0
105
48
27
16
-2
-6
40
32
-8
21
-18
-44
36
34
24
142
31
19
14
73
77
64
29
133
29
8
29
7
0
-27
34
-56
0
0
8
0
92
-70
88
3
-36
-3
17
-43
44
26
-9
10
15
16
32
-13
9
14
2
19
21
0
13
14
0
5
3
10
0
1
8
4
0
0
-9
0
8
-2
-11
5
28
-19
-23
-26
-40
0
-51
-22
38
33
-41
9
9
-2
-13
-15
5
-7
2
25
0
-2
0
18
0
35
-7
-13
0
0
-11
0
53
42
0
-33
13
60
-5
24
-4
25
-7
28
-8
23
91
-2
-40
-31
20
-8
-4
-28
-9
-11
1
0
-12
5
0
49
6
9
0
0
28
0
-3
6
0
35
-1
20
-31
59
68
-15
65
-58
6
-31
35
23
50
23
32
-25
18
11
15
-26
-3
-13
-17
-11
0
1
3
-52
0
0
-52
0
55
0
0
0
54
48
0
-11
41
-6
-90
67
1
5
6
74
-1
18
29
12
-32
4
4
-8
-7
-13
12
44
0
-9
-1
-6
0
0
-6
0
20
30
-1
1
35
63
27
-67
-47
42
-14
24
7
4
10
9
-1
-14
12
13
2
-29
5
16
19
-7
2
31
0
42
26
15
0
0
-155
0
27
31
0
-20
70
-11
0
86
17
72
0
37
25
39
0
38
7
1
0
32
11
0
0
34
7
2
0
30
0
-2
0
-27
0
0
0
0
-1
27
0
-56
-54
41
0
59
67
-1
0
121
8
35
0
32
48
23
0
22
8
41
0
23
-12
-1
0
-14
0
-12
0
-87
0
0
0
0
-33
31
39
20
19
-51
-9
-27
-8
-10
6
-118
0
5
-30
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
4
32
28
-1
8
66
-63
0
5
48
9
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
21
32
-2
17
19
-4
-2
-3
-25
-24
-55
0
7
-46
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
39
46
-4
47
-26
13
10
3
-28
13
14
0
-9
-17
16
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-13
23
-50
44
-54
-74
22
-25
-60
-65
-68
41
28
-10
-12
-9
65
-35
-46
-127
25
65
13
12
-1
70
118
0
-4
83
-1
0
0
7
0
62
55
7
59
-66
41
-2
66
-8
-62
2
-5
62
-111
34
43
76
10
53
-90
-22
58
62
-47
10
2
13
-10
0
32
-5
33
0
0
84
0
-17
48
121
-41
57
70
-25
4
-22
71
4
-30
-35
-79
-100
-23
-21
-57
-31
18
20
-1
-24
-26
-3
-1
5
7
0
-4
-2
0
0
0
-5
0
66
-31
42
64
41
-68
-23
-65
4
-95
23
27
-3
-14
52
17
-1
-15
47
5
-2
-4
43
13
10
13
11
0
0
21
-9
-5
0
0
-1
0
43
59
0
29
27
82
33
36
-11
-32
78
63
-7
8
44
6
-14
-7
12
-6
-11
-7
0
-3
-38
25
-12
-7
0
48
5
-56
0
0
-25
0
1
14
0
-17
42
7
-1
-19
-65
32
10
7
12
-10
7
10
22
31
-40
-3
18
5
16
-56
-8
37
2
-34
0
1
-23
9
0
0
-34
0
37
0
0
0
31
56
0
8
48
-55
32
64
11
46
37
38
11
30
47
-32
-47
21
19
-39
3
14
19
-22
0
28
19
9
0
0
5
0
67
28
90
-38
38
-8
29
58
-1
-78
-29
15
42
-34
34
-5
12
-33
29
39
-3
-12
38
-12
7
-2
18
-4
0
17
1
30
0
0
11
0
-26
15
72
-42
-26
-69
-7
-2
-17
86
-43
49
69
21
-10
59
5
23
37
33
-9
-61
-2
18
7
-56
55
-25
0
-57
5
53
0
0
50
0
7
35
0
135
66
5
0
47
-93
59
0
71
19
-44
0
63
41
-5
0
-5
-6
8
0
30
-2
3
0
-10
0
-9
0
-37
0
0
0
0
2
29
10
22
-14
-6
3
9
-1
32
12
-3
0
1
-2
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-61
-30
-27
6
6
-2
-12
0
0
15
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-69
21
15
46
14
-45
0
19
50
8
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
28
7
-46
36
0
-44
0
-12
66
18
0
-1
-10
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-29
16
21
28
12
14
73
-63
7
31
-64
-39
-5
-2
-8
77
64
42
-9
60
60
4
-32
-24
-30
23
74
0
21
7
20
0
0
3
0
-3
12
27
74
-13
71
19
8
-8
29
-2
-3
6
-50
-43
-3
22
6
29
-1
-27
-13
-6
-1
20
-14
21
-8
0
85
-5
0
0
0
12
0
26
42
39
6
68
-98
1
22
-46
-31
-1
6
5
8
-47
-31
-43
-47
-19
-15
-2
-3
-39
-19
15
13
17
-52
0
-5
2
1
0
0
-35
0
25
99
92
102
82
96
123
-58
-51
9
0
-21
39
31
10
-22
26
53
46
-58
-3
-18
8
-42
-8
11
24
23
0
-14
7
0
0
0
-6
0
35
116
0
-9
38
90
28
-19
22
31
37
-52
-11
21
19
0
-13
-7
9
-15
-24
-22
-8
-19
-37
21
0
17
0
13
33
2
0
0
26
0
78
96
0
-27
-28
17
37
-19
-3
-12
5
-4
37
22
-18
-140
17
4
116
-44
-32
4
-15
-34
18
18
23
0
0
10
-13
-6
0
0
25
0
120
0
0
0
-10
86
0
-41
17
14
8
-40
3
73
29
53
13
101
55
-11
-27
0
-14
-9
-7
79
-6
-9
0
18
3
14
0
0
-12
0
71
35
51
83
31
77
86
30
18
-7
-22
-51
16
29
-6
-66
10
14
41
-132
-19
2
11
-56
-6
14
18
2
0
-14
-10
28
0
0
12
0
28
-11
59
79
59
126
2
1
-2
72
45
-86
-33
-4
-20
4
13
20
-36
-54
13
-3
0
-5
-2
6
6
31
0
-49
9
13
0
0
12
0
7
121
151
73
32
2
49
5
-5
3
0
-1
-39
31
-7
-13
-52
-52
1
124
7
-5
51
-42
66
11
-31
-53
0
-57
-84
-92
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-19
-17
-16
-35
3
-38
18
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
-3
0
9
5
16
5
56
12
37
13
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
17
18
21
17
24
27
29
40
37
-6
-12
63
125
24
7
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
14
22
30
36
28
30
39
23
47
25
7
98
65
72
-50
95
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
19
18
27
25
34
33
62
38
77
63
62
67
97
122
9
141
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
18
1
11
50
32
34
36
40
51
95
54
63
94
40
57
116
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
9
-18
-3
17
21
32
35
26
52
48
59
42
30
91
79
57
97
49
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-37
-90
0
50
59
-2
39
-5
97
23
71
30
53
56
57
115
62
55
66
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-35
-28
-32
-24
27
-13
-4
58
40
4
65
11
64
112
139
77
36
47
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-72
44
11
69
-21
4
59
22
3
16
73
68
76
63
92
-14
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
15
66
49
0
12
65
31
65
-36
21
-6
67
70
31
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
23
60
-10
78
0
29
49
-4
3
4
-3
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
-2
0
-4
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-38
-24
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-65
-37
0
2
-30
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-33
-128
56
-49
10
-15
-61
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-33
43
-27
87
-3
-66
28
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
25
-26
-62
-54
-6
52
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-18
6
0
3
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
46
9
-38
9
-69
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-5
-12
-30
-59
33
74
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
79
-74
-9
-7
-66
-49
3
49
16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-102
-9
-35
-7
-27
-68
62
8
0
52
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
-14
-124
-48
-12
87
81
30
-32
-25
-11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-23
-16
-30
-14
4
-54
41
8
-22
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
4
-8
37
-17
46
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
14
2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-36
51
2
31
84
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
14
38
-42
-122
13
-22
25
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
13
-58
-16
14
0
-149
-49
71
22
13
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
16
-40
-56
-22
-3
-81
13
-7
38
-12
-45
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-41
59
-38
10
-11
-37
14
5
18
75
19
-40
-27
-2
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-71
59
63
-20
-33
-46
102
-74
-5
124
-39
41
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
29
-2
-41
-7
-121
105
30
83
-8
-20
55
-6
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
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
-4
5
-34
38
-12
-39
-17
68
42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-3
1
2
8
4
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
28
-23
-173
11
7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
36
62
39
-9
-2
-75
-17
4
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-56
-75
15
-26
-16
68
109
28
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-70
12
-95
-17
30
-30
9
63
-4
50
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
28
13
-3
91
39
-26
-48
-68
-28
11
23
6
16
-6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-19
56
-38
-38
49
-83
47
-44
115
-48
-32
-28
80
-49
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-54
-59
30
-8
12
-57
-19
39
-14
0
20
2
-13
68
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-39
-1
43
-42
94
-57
15
31
-23
129
-20
29
-23
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-42
5
-51
-109
47
48
-44
48
-17
41
79
29
49
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-12
56
-42
-41
30
-18
13
46
15
49
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-2
-2
6
-4
-1
-3
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
12
-103
77
19
-4
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
21
41
58
-39
21
38
-63
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-31
14
-14
-47
42
-43
18
9
41
-50
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
10
-24
16
-11
15
-27
-11
12
37
12
-42
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-11
-30
-63
-62
-48
-98
10
69
124
39
77
5
-5
2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-73
-54
72
-23
-24
15
-40
33
33
41
12
-6
-25
14
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-37
30
49
-58
6
-54
4
39
59
31
-35
-83
-21
-42
-5
-15
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-100
-22
-30
4
-94
-8
-66
31
-8
21
4
1
-1
-4
4
20
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
6
-46
10
-5
2
-36
2
-26
-6
20
-7
-44
9
58
13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-38
9
-93
40
-58
-70
37
34
84
12
-84
-2
22
5
-4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-25
-23
-10
-34
-12
41
-54
-24
-26
12
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-3
87
8
6
-5
6
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
-2
0
-5
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
94
91
89
-9
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-3
132
24
5
66
53
-32
-38
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-28
2
19
-2
-4
58
91
69
37
-46
-63
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
18
20
-16
17
-7
14
83
6
2
27
-22
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-28
-1
-6
-11
14
13
62
19
36
23
16
-45
7
84
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
23
5
28
7
8
15
9
22
-51
-3
22
-35
45
44
1
25
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
41
30
4
6
19
20
5
11
-1
62
42
-42
38
50
-2
50
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
29
-31
-20
-26
-5
2
-4
-33
-15
37
-2
0
-25
36
69
20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
9
2
29
-24
-47
75
17
8
-11
17
65
-2
-24
54
-28
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
14
5
-12
5
44
54
29
-44
-50
49
26
25
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-16
29
-8
23
22
-4
13
44
-13
-1
-1
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
20
71
30
37
51
-22
-33
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
18
-15
53
47
0
56
5
29
-5
39
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-18
-1
-3
27
7
16
-29
37
32
-1
58
36
66
-31
13
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-24
-28
-5
-13
3
6
9
19
25
-23
13
-12
-16
47
-33
42
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-5
5
-2
3
0
-2
0
-20
4
3
-34
-42
12
27
17
5
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
-2
0
-15
-2
20
18
-15
1
27
30
31
48
-42
-18
-30
42
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-23
12
19
-3
-7
14
59
-56
-34
-17
43
58
46
13
-3
-18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-38
6
-14
-8
22
37
-1
4
-41
17
-22
24
-11
2
-6
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
-32
-56
4
55
6
-32
28
30
25
-40
25
28
5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-16
14
-18
-10
17
1
8
-1
-13
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
13
-6
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
1
-18
12
10
47
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
3
0
-2
-3
19
19
31
-14
63
109
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
9
9
5
15
7
16
11
18
49
129
-25
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
31
22
30
17
21
40
44
9
5
50
92
129
50
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
31
41
29
60
29
55
36
49
106
101
52
134
40
-4
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
71
48
58
90
37
50
32
77
89
25
48
148
-37
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
24
64
103
-5
33
91
66
81
0
41
3
8
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
8
83
2
-8
0
4
-2
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-24
-43
-6
-26
4
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
18
8
-1
4
6
-17
18
26
-23
-10
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
71
63
49
28
33
44
12
-40
-56
-48
-9
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
71
71
69
94
83
46
40
100
32
116
-33
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
96
72
88
93
90
145
131
99
35
-43
102
46
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
85
69
203
141
59
140
110
-35
29
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-2
-1
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
96
36
-4
130
8
0
-35
42
8
-2
-1
0
-3
3
-80
0
4
5
0
6
-2
-25
-1
-2
-2
0
2
0
24
-2
0
0
0
0
0
0
0
77
0
2
0
0
0
-31
0
0
1
0
2
63
-1
0
8
0
0
109
-1
-3
23
-34
2
0
27
103
22
0
47
0
87
11
-27
0
0
-54
8
9
0
15
-5
0
-47
0
25
2
2
0
0
24
0
22
0
-2
0
0
5
0
-6
0
-10
0
0
0
42
-11
0
0
-37
0
0
0
1
-3
46
55
38
101
-4
0
1
-11
7
0
22
-1
0
4
76
3
-2
55
23
0
50
-74
-4
5
-2
0
2
-10
52
0
-1
-99
-13
0
-25
-25
0
0
24
4
0
0
-17
0
-3
-6
3
-4
0
44
0
0
7
9
17
0
31
-34
-83
0
0
0
2
-23
28
-7
9
0
-2
62
-20
21
50
97
-19
-8
-29
12
0
-2
97
-2
-13
-13
42
2
22
-95
6
0
7
-49
0
52
-21
6
-5
3
-69
0
0
6
10
9
0
44
0
0
0
-6
-4
0
-30
0
-5
0
-2
48
0
68
0
0
0
0
0
10
-5
-23
17
-3
0
-2
-6
-96
-9
-47
16
0
0
-2
13
-22
-6
22
0
-3
25
-59
1
-50
59
0
1
-3
-33
0
-8
-73
-16
0
0
-46
-2
-31
14
-2
-6
0
-36
0
0
2
41
0
0
14
0
-42
0
0
0
0
-79
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-93
0
0
0
0
0
-35
0
0
0
0
0
0
26
0
-4
0
0
56
0
0
0
2
0
0
-73
0
0
0
0
0
0
-5
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
-25
-3
-2
-2
0
0
-9
0
0
0
113
0
0
1
-2
0
93
4
0
0
3
-1
0
0
-7
0
0
-1
-16
0
0
0
0
0
0
-47
0
0
10
0
0
0
37
0
14
0
0
0
0
12
0
0
0
0
0
0
9
0
-1
0
0
0
0
19
0
0
0
0
0
0
0
0
0
-1
0
0
0
-16
0
0
0
0
0
0
-13
0
0
-2
0
0
0
7
0
0
-1
0
0
0
-25
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
0
0
0
-29
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
13
0
0
0
0
-5
0
0
0
0
0
0
-8
0
-4
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
13
0
1
10
0
0
5
3
0
0
-1
0
0
0
0
0
0
0
8
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-10
0
0
0
0
-8
29
-31
19
18
0
-6
3
0
-1
3
49
0
0
19
-1
0
0
16
0
0
6
7
0
8
-9
0
0
-7
-1
0
0
13
0
2
0
3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
7
0
0
0
16
0
-30
54
79
-18
0
0
3
0
0
2
31
0
0
-17
18
0
-22
10
-8
0
12
15
0
0
-16
0
0
8
-12
0
0
7
10
0
0
-27
0
0
0
0
0
0
6
0
-42
-8
-1
0
0
-62
0
0
0
0
-5
0
13
-1
2
0
0
0
0
43
-9
0
5
0
0
9
-11
0
-7
12
5
0
0
-4
0
2
1
0
0
-8
69
0
0
-9
2
0
0
-11
0
-1
0
0
0
0
-9
0
0
1
-7
0
0
52
0
0
0
0
0
0
-31
0
0
0
0
0
0
-20
0
0
0
0
0
0
31
5
0
0
0
0
0
-5
0
12
3
0
0
0
29
0
-8
0
-1
0
0
-22
0
0
-2
0
0
0
-9
0
5
0
4
0
0
19
0
0
0
0
0
0
50
0
1
9
-2
0
0
-25
0
7
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
71
-56
-43
25
-33
39
9
-23
67
38
13
24
-10
25
-17
1
-63
-33
-9
-12
-20
34
-97
-92
-75
-61
4
45
-108
3
-68
2
-32
25
-30
-53
-60
-3
-54
5
-23
-13
-46
5
-49
-18
-30
66
113
37
55
57
1
-15
57
28
32
13
-16
72
5
54
11
-91
7
-79
-13
67
-48
-8
-19
4
-63
6
-34
-49
-8
17
-24
36
-59
-16
-2
-69
-57
-75
-63
-9
-3
-5
-18
-22
-102
16
-9
11
-6
-93
-84
16
-31
-55
-28
-18
-44
-19
3
-27
-22
-54
7
-6
32
20
7
48
-10
-28
66
47
128
91
46
10
74
7
-14
-11
-4
10
0
-49
-5
4
-52
-1
-40
-7
-1
-50
-8
-65
-18
-9
-19
-19
-77
2
-30
-29
-24
22
24
-80
-1
-3
1
-16
-17
8
-50
-4
24
-39
4
-34
2
-13
27
-54
42
-28
-44
44
-20
11
-12
48
58
42
-9
-5
5
-85
-7
6
7
-25
-12
8
22
14
31
36
5
-48
-11
-27
-12
-13
-11
-10
-16
-15
26
-25
-11
-39
-64
9
-14
5
21
-34
-5
-28
-36
1
-94
-12
-15
-13
6
-4
7
-36
20
-23
-27
-2
-46
4
-22
-46
-23
-25
15
31
-27
-6
-14
-35
-30
-23
-35
-8
-40
-22
-13
-44
-66
-3
19
-12
-57
52
-22
-12
-31
-7
-17
-3
12
24
32
-42
-5
-32
-15
16
0
16
27
4
-90
9
-1
-76
-75
-78
-15
-25
-48
-23
-41
-8
-17
7
-47
7
27
57
-22
-25
-53
-17
-4
-24
11
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
13
1
0
9
0
0
-112
13
0
-2
0
0
0
0
5
-1
8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
45
0
0
-4
0
0
-23
0
0
0
0
-4
-2
96
13
1
0
0
57
-4
-3
-5
-19
0
3
55
-2
-6
0
69
0
6
20
-2
0
0
0
1
-2
-3
-17
0
1
0
0
16
0
-2
0
0
-2
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
27
0
0
0
0
0
48
-66
20
59
0
0
3
28
0
0
27
0
0
26
28
1
-15
-5
-5
0
-29
75
0
5
-30
0
4
6
-43
0
0
2
0
0
0
-29
0
0
0
0
0
0
-91
0
-22
0
17
0
0
67
0
0
0
0
0
0
-58
14
-12
0
0
0
0
-26
81
0
5
0
0
0
103
0
-9
18
33
0
0
23
0
-1
0
0
0
13
-55
0
43
25
0
0
0
-38
0
0
3
4
19
0
6
0
0
3
-1
0
0
-90
0
0
0
0
0
0
-27
0
0
0
0
4
0
-55
0
-1
0
0
0
8
41
-5
0
0
0
0
1
-47
8
29
0
0
0
0
15
5
-9
0
0
0
0
-12
0
55
15
0
0
0
-18
0
0
8
27
0
0
42
0
9
-2
12
0
0
-30
0
0
0
2
0
0
37
0
-5
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
23
0
0
0
0
0
-3
13
0
0
0
0
22
0
0
0
-30
0
0
5
0
0
0
-22
0
4
2
-2
0
0
0
0
0
-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
-2
0
0
5
0
0
0
0
0
45
0
0
-3
0
0
0
6
0
0
-6
0
0
2
0
0
-7
1
0
0
-3
-3
0
0
0
0
0
-3
8
0
0
-10
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
34
0
0
0
0
0
0
-12
0
0
0
0
0
0
23
0
0
0
0
0
0
15
0
0
-1
0
0
0
6
0
0
0
0
0
0
47
0
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
4
0
0
0
0
19
0
0
0
0
0
0
-8
0
-4
0
0
0
0
3
0
0
-3
0
0
0
33
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
-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
15
0
0
0
0
0
6
0
0
0
0
0
-7
-5
0
0
0
0
15
0
0
0
-84
0
0
21
0
0
0
-1
0
0
-6
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
13
0
0
0
0
2
86
0
9
-6
0
0
-4
32
-2
0
27
0
0
45
4
0
7
12
0
0
1
54
0
0
10
0
0
-9
-3
0
0
0
0
0
0
41
0
0
0
0
0
0
13
0
-19
0
0
0
0
41
0
0
0
0
0
0
-19
0
0
0
0
0
0
-38
1
0
0
0
0
-8
43
0
0
-1
0
0
0
-31
0
0
-24
0
0
0
-82
0
0
2
0
0
0
-16
0
0
-3
0
0
0
2
0
0
-3
0
0
0
29
0
0
0
0
0
0
-37
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-43
0
20
1
0
0
0
18
0
0
0
0
0
0
1
0
-3
-1
0
0
1
-49
0
0
0
-1
0
0
-42
0
0
0
0
0
0
-44
0
0
0
0
0
0
10
0
4
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
17
-63
0
45
-75
-2
-55
-14
-70
-46
-38
3
-28
-11
30
44
-10
-55
2
-31
0
-29
-8
-33
-21
-54
-31
13
-58
-14
-16
-29
-14
-56
1
13
-3
-5
0
13
59
-43
12
94
57
-13
4
8
-67
-9
-120
-13
14
91
48
44
-82
59
67
56
-54
30
-4
6
-34
0
-48
-15
28
-10
6
-11
-63
-52
3
-9
21
-58
-17
-34
-53
8
-28
28
-46
-53
-27
-59
-65
-35
-18
-44
-29
-25
12
-47
-30
1
-23
5
-21
-22
-5
-60
-52
70
61
8
-5
10
64
60
54
14
44
-9
33
-42
35
-2
-7
30
-7
13
-50
-10
-9
75
23
36
-94
33
-20
-29
-44
-24
-22
-35
-3
17
-20
-8
23
-30
-58
-42
-33
-11
-42
-26
-74
10
-31
36
11
-51
-90
-84
38
-40
-17
27
13
-3
-18
70
5
-29
66
-4
83
34
-114
51
45
23
8
3
27
-14
36
4
7
15
32
42
48
15
-29
-2
40
-18
17
-18
-26
13
-13
13
65
2
6
-4
12
-21
-20
-84
-21
-5
17
-6
1
-12
-75
-51
8
5
-10
-20
-56
-86
-5
15
-14
0
11
-18
-55
-31
64
8
0
58
-44
-81
-30
77
26
74
27
-24
-51
6
18
-36
-15
12
8
9
6
51
23
18
-16
-80
2
-4
-51
-20
-9
-22
-7
35
76
15
-3
5
-7
71
-24
-4
59
-11
-117
-10
-12
21
-52
49
16
-43
4
79
-39
-55
-8
9
-25
-10
31
48
13
-44
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-4
0
0
0
0
-9
-24
-24
2
0
25
-4
22
-4
-1
0
0
0
0
-14
0
-14
13
0
0
25
0
0
1
0
30
0
0
-3
0
0
-22
0
0
1
0
2
0
-5
6
-24
0
0
-15
0
23
-1
-15
28
0
-57
0
13
15
-49
-3
25
-44
-3
0
2
7
-56
1
-49
32
8
0
-5
-1
-13
-5
14
-1
0
2
-5
1
-3
2
0
0
8
0
-23
0
7
0
0
1
5
-54
0
0
70
0
0
0
16
8
54
5
59
36
16
0
20
64
-4
0
24
0
0
-13
0
-5
35
20
34
-1
-15
-34
0
-12
-26
6
32
1
-64
0
0
-22
-16
-6
-1
-49
0
0
5
0
20
0
-3
0
65
8
19
0
0
-7
0
-8
0
19
0
0
38
-32
13
0
-8
0
0
43
6
0
12
19
25
28
3
-4
27
-23
68
6
29
0
-7
24
28
0
7
29
-41
0
-11
-3
24
14
-19
-2
5
6
-56
8
5
0
-1
0
0
25
60
15
0
-53
0
0
3
4
-10
0
45
0
3
0
18
-52
0
49
0
0
0
0
-8
5
40
-3
1
0
0
0
-10
-22
-1
7
8
0
0
18
0
8
30
5
-27
-8
-4
24
-1
13
5
19
-8
-3
-90
0
51
-20
15
-8
2
-30
0
81
-15
3
12
0
17
0
0
-8
-9
5
0
20
0
68
0
0
-7
0
49
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
-1
-17
0
0
-3
5
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
79
0
0
0
0
0
-48
0
0
0
0
0
-6
30
2
1
0
0
-62
0
0
0
46
-4
0
-50
2
0
0
55
0
0
90
120
0
0
-11
17
-2
-15
0
0
0
-7
0
20
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
9
0
0
0
9
0
44
-41
133
-15
1
0
-59
41
0
0
24
0
0
-54
-43
0
-40
-5
-8
0
54
-25
0
10
1
0
0
-28
6
0
0
0
0
0
0
-24
0
0
31
0
0
0
-5
0
85
0
1
0
-1
-38
0
0
0
0
0
0
41
0
1
0
0
0
0
49
51
5
0
0
0
0
-5
-6
10
30
0
0
-3
-7
0
0
-8
0
0
-19
44
0
29
4
-1
-12
-5
21
0
1
-3
1
-2
0
-32
0
-2
43
-32
15
0
18
0
0
-1
0
-1
0
51
0
0
0
8
8
0
59
0
0
0
0
0
0
54
-4
12
0
0
0
0
13
0
-56
18
0
0
0
16
0
-14
4
0
0
0
-19
0
-7
-7
0
0
0
-29
0
0
3
8
0
0
3
0
25
-2
-2
0
0
-16
0
0
5
12
0
0
-48
0
-5
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-3
0
15
-5
2
0
0
0
-3
5
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-5
0
0
0
-70
0
0
5
0
0
25
0
0
0
0
-1
1
-20
0
8
0
0
0
0
0
0
51
4
0
83
0
0
0
29
0
0
-62
1
0
0
-9
-17
0
23
-23
0
0
-6
0
6
0
0
0
0
8
24
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
43
0
0
-18
0
0
0
-4
0
12
61
23
6
-2
0
-8
55
0
0
-13
0
0
15
51
0
-2
-8
-1
0
-20
-41
-2
0
42
0
2
-1
59
0
0
4
-5
0
-3
26
0
0
19
0
0
0
-4
0
80
0
6
-8
0
106
0
0
0
0
0
0
-56
-7
9
0
0
0
0
-14
22
0
0
0
0
27
-148
-4
0
-4
5
0
-16
16
0
0
14
0
0
1
5
-2
0
-28
-10
0
1
4
0
0
-2
0
0
0
-22
0
13
0
-2
0
0
-97
0
0
0
0
0
0
40
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
14
0
3
0
0
0
0
-41
0
2
0
0
0
0
24
0
0
7
0
0
0
-37
0
0
0
-8
0
0
-57
0
2
0
1
0
0
-49
0
0
-10
0
0
0
8
0
3
0
0
0
0
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
3
52
-50
2
-21
2
-18
-82
39
54
19
23
-9
-21
10
-51
-7
-2
-1
3
-44
-12
91
4
13
26
-31
-9
0
73
0
-2
0
0
23
0
0
-1
0
0
0
5
-20
36
37
5
3
0
-3
-85
-33
23
7
47
-4
-51
80
42
2
-6
75
17
54
-21
25
-22
30
19
-25
-26
6
-6
13
0
-69
-5
4
19
-70
20
-2
-6
5
-2
13
-104
0
9
3
3
-10
1
50
5
0
18
19
-18
-1
-3
-9
0
-2
15
7
5
28
63
-32
-26
16
0
-60
26
75
13
-29
-2
-1
-26
2
-49
-35
-12
5
24
30
-16
42
-48
-16
-1
-8
19
-9
29
24
3
-27
55
87
4
0
13
-21
-6
-36
3
6
3
14
27
-10
75
-41
4
-1
25
-9
5
-15
1
9
-27
-2
0
-22
5
1
40
0
-9
64
-15
-1
16
11
43
-3
10
45
16
-7
10
-6
-54
38
-5
-32
35
-12
41
-4
-24
41
66
-23
12
5
-23
2
-11
22
-29
14
-13
-8
-28
28
-15
14
6
0
-5
14
-44
21
-12
-3
0
-2
49
56
2
0
-3
9
0
0
5
14
13
15
12
0
-12
-72
0
-93
-38
-38
24
-9
5
25
75
-3
21
-50
-10
0
70
12
-14
-31
-78
52
30
-7
-14
-1
20
85
-40
-36
15
38
23
2
-57
-50
-10
22
30
-4
5
-29
15
-18
4
7
-4
0
-79
-27
-14
-94
0
-19
-21
6
-4
-83
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
16
0
0
-22
0
-1
6
94
5
0
-6
0
-8
-23
8
0
0
0
0
14
0
1
-3
0
0
0
-7
0
0
0
-18
0
0
-31
0
0
-6
0
0
0
0
3
0
39
0
4
0
0
-56
8
-3
0
-43
0
0
-23
0
0
0
5
0
-2
3
-7
0
0
31
0
8
-55
-24
0
-7
4
0
2
8
0
0
0
-18
0
24
-8
-3
0
0
0
15
-17
0
-12
0
0
0
0
37
0
0
-51
0
0
0
42
0
-3
-30
64
-10
0
0
-5
40
0
0
-21
0
0
38
-9
0
57
7
0
0
-38
-11
0
3
-27
0
-2
-20
-33
0
0
-26
0
0
-19
-4
0
0
19
0
12
1
22
0
-37
31
2
6
0
26
9
0
0
0
8
0
-39
66
-8
0
0
-3
0
24
13
0
2
0
0
29
7
0
4
59
1
-2
-55
-10
0
13
-1
0
0
6
9
0
-5
-4
0
0
-8
6
0
-1
-7
0
9
-3
-65
0
-1
34
0
-4
0
-5
0
0
94
0
51
0
55
0
0
5
0
-5
0
-3
2
0
0
0
5
0
-37
22
6
0
0
0
0
106
0
-29
-5
0
0
0
-10
0
-4
1
0
0
0
17
0
5
-3
0
0
9
-5
0
-13
-2
0
0
0
120
0
32
-42
0
0
0
-16
0
0
0
12
1
0
69
0
-11
-8
0
2
0
-85
26
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
8
0
0
0
0
0
3
1
0
7
3
0
0
-2
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
13
0
0
0
0
0
-36
0
0
0
0
0
-3
13
0
-1
0
0
38
0
0
-7
1
-1
0
-5
0
-14
0
-2
0
0
-14
-4
0
0
13
24
0
20
-9
0
0
-1
0
0
-34
0
0
0
0
-14
0
-14
-1
0
0
0
-5
-14
0
-8
0
0
0
-1
5
0
0
-60
0
0
0
6
-1
30
7
-18
-5
0
0
-79
3
0
0
45
0
0
13
110
0
-15
-40
0
0
-62
33
0
-10
-26
0
0
51
-16
0
-7
45
4
0
-9
-5
0
0
-20
-2
0
0
-9
0
-159
-1
-10
0
0
49
0
0
0
1
0
0
52
14
13
0
-8
0
0
-4
33
0
18
4
0
28
20
-8
16
-3
38
0
60
52
-3
7
-6
0
0
23
10
-3
9
53
-7
0
-4
12
0
0
62
0
0
10
12
0
0
-7
-5
0
0
24
0
-2
-5
0
0
0
-103
0
0
0
0
0
0
-40
0
0
0
0
0
0
27
12
-4
24
0
0
4
64
0
-25
12
0
0
-1
58
0
2
8
2
0
-5
-11
1
-12
29
0
0
-29
-15
0
13
44
1
0
0
-35
0
3
-24
0
0
0
-46
0
0
6
14
0
0
-38
0
10
-3
0
0
0
13
8
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
99
11
3
27
21
-11
21
66
-8
0
-9
-44
4
-29
-35
5
-7
12
-32
-56
0
70
0
12
1
-2
-59
0
15
-1
0
0
-5
-10
-18
-92
19
-19
-34
5
7
-99
-25
96
-12
29
28
-47
-48
-69
-34
-5
-21
10
37
-1
40
38
10
-15
18
55
18
-24
-15
-9
-68
38
38
48
-16
7
0
-22
-2
7
62
0
-2
-1
-9
-15
-9
-4
-22
-1
0
25
-21
-6
0
-4
-22
0
9
-33
-31
-13
16
19
-34
35
-22
-4
-6
21
-15
15
56
-8
32
16
14
-12
-1
22
1
14
-8
24
-2
-33
5
-17
-63
-12
-9
-9
-7
4
-15
41
6
9
0
-19
-4
13
-15
31
13
-4
2
-13
12
30
-6
2
37
5
42
8
-25
0
12
13
60
0
91
0
8
1
-13
12
-38
-18
8
-41
-11
22
-80
-21
18
18
32
7
39
27
65
3
5
-32
3
7
51
59
-10
-67
-4
-12
-9
12
22
-16
-5
-63
-3
-2
8
18
19
41
0
7
-2
4
-24
-13
17
-4
-4
-10
-2
26
-16
-4
0
-43
22
-2
0
20
37
-3
10
-102
-7
4
-13
-4
-41
14
71
67
39
-8
45
-102
2
66
-84
31
40
27
22
-14
58
-104
12
9
-32
-22
-33
-24
23
37
1
-19
51
-20
-7
-26
-17
13
55
22
-14
-4
4
-59
13
63
-1
2
-5
-48
7
60
43
0
-69
44
2
8
-41
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-4
8
-9
-4
16
-51
4
20
0
0
2
0
-2
0
4
0
0
0
0
0
0
1
0
47
0
0
-10
0
0
-23
0
0
0
0
0
7
80
0
-8
0
0
80
15
15
5
13
5
-2
-60
29
-3
12
-59
-17
-9
44
0
18
8
4
41
-56
-46
26
0
10
30
-4
20
-6
45
-1
1
-4
-5
-29
8
-7
0
0
-1
3
-4
0
5
0
0
0
-28
-23
0
0
-4
0
0
0
-8
0
-59
27
59
30
25
3
-61
2
1
0
9
-2
0
-13
0
0
56
61
-31
4
-32
0
3
93
-66
2
-19
108
12
0
6
-27
24
0
6
31
0
-1
-13
0
-8
0
-8
0
-56
-3
4
0
0
-21
0
0
0
0
-56
0
31
66
9
0
43
0
0
-60
-56
-6
9
0
-1
11
-31
-9
-39
-22
-30
0
-41
28
0
2
18
0
-3
18
0
-1
-12
79
-96
-1
-5
17
0
-3
-37
41
-5
2
-16
0
1
105
-59
-2
0
20
0
0
5
0
9
0
-1
0
0
0
-6
1
0
45
0
0
0
0
0
2
-20
-12
0
0
16
0
-4
-13
-18
88
-13
0
0
-5
-36
0
-60
44
21
1
49
0
-1
-26
78
1
8
-1
-37
4
-14
17
31
0
3
4
0
1
-6
-20
2
0
4
0
0
-8
22
2
0
-27
0
-77
0
6
-5
0
6
-3
0
0
-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
8
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
18
0
0
0
0
0
6
21
0
0
0
0
-30
0
0
0
101
0
0
28
0
0
0
-10
0
-21
34
-13
0
0
14
-3
1
43
144
0
0
32
0
8
-1
-1
0
-1
-3
0
0
0
-2
0
0
0
0
-6
0
0
0
0
0
6
13
0
0
42
0
0
0
-5
0
39
-14
86
-50
0
0
37
61
0
0
-2
0
0
-18
-76
0
-26
-60
-59
0
-49
-131
0
-8
25
0
0
-4
27
0
24
10
0
0
0
15
0
0
-1
0
0
0
-18
0
-63
0
27
0
0
-45
0
0
0
0
7
0
-25
5
-4
0
0
0
0
73
-14
-9
3
0
0
9
46
0
8
125
88
0
0
-56
0
-1
-22
0
0
-4
-61
0
-16
-47
6
1
0
4
0
0
23
0
0
0
68
0
0
0
15
0
0
11
0
0
0
0
0
0
-70
0
0
0
2
1
0
-28
0
0
0
0
2
0
-13
1
0
-1
-3
0
0
-5
0
-23
0
0
0
0
-46
0
1
1
0
0
0
-53
0
19
-1
0
0
14
-51
0
-2
0
1
0
0
6
0
3
-1
0
0
0
-14
0
0
0
-2
0
0
19
0
4
0
0
0
0
-18
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
14
0
0
0
0
0
-1
-76
0
1
0
0
39
10
0
0
38
0
7
-130
0
0
0
56
0
0
42
-13
0
0
-1
6
-1
5
-10
0
0
5
0
0
1
0
0
0
0
12
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
6
0
0
0
8
0
-98
42
4
-12
0
0
1
-19
0
0
6
0
0
-12
93
0
5
-49
1
0
62
-19
0
0
41
0
0
13
35
0
0
0
-8
0
0
-13
0
0
8
0
0
0
90
0
-8
0
-4
0
0
79
0
0
0
0
0
0
-63
-6
17
0
0
0
0
-11
-1
0
2
0
0
-6
9
-2
0
-4
3
0
0
4
0
0
5
0
0
-2
4
1
4
-3
20
0
0
67
0
0
2
0
0
0
23
0
0
-3
-5
0
0
-20
0
0
0
0
0
0
41
0
0
0
0
0
0
72
-1
0
0
0
0
0
-3
0
0
0
0
0
0
-3
1
5
0
0
0
0
-5
0
0
0
0
0
0
-5
-6
0
9
0
0
0
30
0
-6
-6
-6
6
0
-59
0
0
-1
0
1
0
-21
0
0
0
0
0
0
-32
0
-8
-6
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
8
0
40
-4
-5
-4
-5
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
-14
0
0
0
0
-2
12
31
0
1
0
0
10
25
0
1
-58
17
0
-31
0
-3
0
43
0
4
7
20
-6
0
-31
48
37
-5
60
0
4
-10
0
4
5
-14
0
0
0
15
-19
4
8
0
0
0
0
8
0
8
0
0
0
0
19
0
0
-25
0
0
0
13
0
32
-56
-15
15
0
0
-5
10
0
0
30
0
3
77
5
0
71
50
29
0
54
-5
-12
2
-16
0
8
-2
34
0
4
-6
7
0
-7
13
0
0
0
0
0
0
-44
0
19
0
-22
0
0
7
0
0
0
0
8
0
37
-18
-6
0
0
0
0
1
72
3
0
0
0
-3
-47
43
1
-39
56
-3
0
-52
0
0
-13
0
0
-2
-32
-1
0
25
76
-8
-17
16
0
3
5
14
0
-3
32
0
0
9
-17
0
0
40
0
0
0
0
8
0
-23
0
0
0
0
31
0
22
0
0
0
0
0
0
-47
-4
0
0
0
0
0
-4
0
18
0
0
0
-3
-67
0
-3
0
0
0
7
-63
0
-1
-8
0
0
19
45
0
-8
0
-39
0
0
-28
0
20
0
0
0
0
-44
0
1
0
-44
15
0
-7
0
14
0
0
-1
0
8
-2
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
-6
0
0
25
0
0
0
0
0
0
5
0
0
0
0
46
0
0
0
-13
0
0
41
4
0
0
10
0
3
-28
-2
0
0
-3
0
0
1
-1
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
68
0
0
4
0
0
0
0
0
22
0
4
8
0
0
-10
-63
0
0
-5
0
0
-6
-16
0
-6
-13
0
0
-42
21
0
0
1
0
0
0
6
0
0
-3
0
0
0
-48
0
0
6
0
0
0
11
0
12
-5
0
0
0
-17
0
0
0
0
0
0
58
1
3
0
0
0
0
-17
-4
0
0
0
0
0
77
0
22
-4
0
0
0
-64
0
0
-1
0
0
13
-14
0
0
-41
0
1
14
5
0
0
-2
0
0
0
110
0
0
10
0
0
0
-38
0
0
0
0
0
0
-32
0
0
0
0
-2
0
-127
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
-2
0
-6
0
0
0
0
0
2
76
0
0
14
0
0
0
53
0
0
0
0
4
0
8
0
0
-9
0
0
0
-13
0
8
0
0
0
0
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
-8
14
0
0
1
-8
0
7
35
0
0
0
0
0
0
5
0
0
0
41
0
0
0
0
16
0
0
0
0
0
23
0
0
0
0
0
14
38
0
-10
0
0
-85
0
-9
0
-35
0
0
-56
2
-9
0
8
0
-5
1
14
0
0
-45
-34
4
15
76
0
0
-9
0
0
-41
4
0
0
-2
-21
5
7
-3
0
0
-1
0
-1
0
32
0
0
0
22
2
0
0
10
0
0
0
0
4
34
63
52
-43
0
0
93
61
-1
0
69
0
0
-47
-19
0
31
-4
73
0
-26
-83
0
-6
-15
0
0
-37
-15
0
0
25
3
0
67
-61
0
0
-32
0
0
23
91
0
13
41
0
0
0
13
0
4
0
4
0
0
31
6
-25
0
-2
0
15
12
44
0
-2
0
0
20
31
0
-15
-7
92
0
15
12
0
-1
78
0
0
7
-62
0
-14
70
-57
0
52
-15
0
5
-4
0
0
-18
33
0
0
29
28
0
3
58
0
0
-26
8
0
0
54
0
0
0
-42
0
0
39
6
0
0
0
0
0
8
-3
0
0
-4
0
0
31
0
66
-1
0
0
10
42
0
-19
-27
-5
0
9
-18
6
-1
61
0
0
13
-28
0
13
50
29
0
6
42
0
85
7
0
0
0
-12
0
0
-7
34
0
0
-12
0
-21
0
0
0
0
-9
0
-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
-105
149
0
0
0
10
20
0
-31
5
0
12
0
6
0
9
0
-23
0
0
-23
0
0
-65
0
0
0
0
0
-26
-1
0
-3
0
-7
77
5
0
0
-6
-50
25
4
-2
-8
0
-26
0
31
-103
79
-6
0
4
-18
70
-87
20
15
2
-14
0
5
1
26
0
0
-17
-23
-6
27
5
0
0
-6
19
-26
0
-41
0
0
3
1
-36
0
0
-40
0
0
-1
28
6
24
33
-72
15
-1
0
13
17
0
0
16
0
-7
-37
20
-1
107
33
37
16
-34
24
0
0
-12
-8
0
42
-7
0
0
-8
-32
21
0
10
0
0
-53
0
0
0
5
-2
-49
20
-13
8
0
-28
0
0
1
1
-13
0
3
16
5
0
-3
-1
0
-23
-2
0
-1
0
4
-2
-44
-13
52
23
-29
7
0
27
0
-7
55
-6
-5
-22
2
-9
8
27
19
-3
-14
16
-5
2
7
4
11
0
-8
0
0
47
19
6
0
20
0
0
-21
0
-2
0
-39
0
0
3
-29
-17
0
-22
1
0
0
1
-4
0
-94
6
24
0
-3
0
0
-6
0
-9
0
0
19
0
45
0
7
71
-17
-16
12
28
3
-24
-28
-5
-18
0
6
-2
-34
-43
35
5
0
-4
0
24
47
0
5
0
-4
-8
-2
-10
4
24
0
-5
0
-8
0
0
30
0
-44
-8
0
0
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
0
0
0
2
-17
0
-7
0
0
0
6
-3
0
-2
0
-56
0
0
-17
0
0
-77
0
0
0
0
-7
7
39
0
-8
0
0
-38
-6
29
25
26
3
-2
-2
17
11
0
32
5
-13
31
-52
0
-10
39
8
7
41
0
-25
22
93
0
16
74
10
0
-1
-9
-10
42
0
64
0
0
0
3
29
0
-41
0
0
0
-25
-36
0
0
-66
0
0
12
-7
10
4
32
24
-68
-4
0
31
27
8
-1
60
0
0
4
-16
5
11
35
14
0
-25
-7
16
-24
34
0
-7
-46
0
5
-12
58
6
13
-2
-72
0
-2
-25
-1
1
0
-21
0
-31
-4
4
0
0
4
0
0
0
0
-23
0
12
-45
22
0
-2
0
0
-6
50
-17
-23
0
0
-21
-3
-60
43
99
-1
41
-84
62
0
4
11
0
0
-31
-28
22
119
-8
40
-16
-45
0
-16
3
-13
-7
50
28
-6
0
0
-84
-2
4
0
18
0
0
-5
-1
41
0
-13
0
-1
2
9
-97
0
-41
0
0
0
-1
-13
0
-2
24
3
0
-13
0
1
53
8
-77
-21
0
0
-8
91
5
10
-48
17
0
-15
-54
9
-31
41
-8
-4
29
0
10
31
-37
1
5
-1
-64
0
-75
-24
-10
0
0
20
0
0
-2
12
2
0
-13
0
-21
0
0
5
0
-68
-13
-1
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
4
0
0
0
0
2
2
-8
0
0
0
0
0
0
0
0
40
0
0
17
0
0
-34
0
0
0
3
0
12
-5
0
0
0
0
30
0
0
-2
13
0
0
-61
0
0
1
8
0
-9
32
5
0
0
23
58
4
59
-39
0
5
49
0
-5
-17
30
0
0
0
12
-15
8
15
0
0
0
0
-5
0
0
0
0
-4
0
-9
0
0
-15
0
0
0
8
1
26
-25
41
53
0
0
25
1
0
-3
35
0
0
57
2
0
15
26
-39
0
27
32
0
0
-2
0
-2
49
-66
0
0
5
-6
8
-2
11
0
0
8
0
0
-13
32
0
-1
-5
1
0
0
95
0
0
0
0
3
0
88
5
43
0
0
0
0
-17
0
9
0
17
0
0
29
0
1
13
1
0
-16
17
0
-3
1
0
-10
-12
-47
0
1
2
-7
0
1
-95
0
0
-4
0
0
-19
-6
0
0
-8
-1
0
0
4
0
-2
5
-2
0
0
10
0
1
8
-16
0
0
30
0
1
0
0
0
0
14
-9
-1
1
0
0
0
-35
0
-31
0
0
0
-2
-2
0
0
0
8
0
0
58
0
-18
3
0
0
0
2
0
2
-4
-8
23
0
25
0
-5
0
1
0
0
39
0
0
-6
2
0
0
54
0
50
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
-1
0
0
-9
0
0
0
0
0
0
-19
0
-6
0
0
-40
0
0
0
-28
0
-2
-58
0
0
0
-5
0
-14
-37
-5
0
0
57
31
2
-6
37
0
0
0
0
10
10
0
0
0
0
25
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
34
0
0
-1
0
0
0
0
-4
-34
-20
-1
4
0
0
-9
41
6
0
5
0
0
45
-27
0
41
10
-25
1
-41
-50
0
0
20
0
0
8
-26
0
0
9
-1
0
0
43
0
0
1
0
0
0
-29
0
-33
0
5
20
0
45
0
0
0
0
0
0
11
13
1
0
0
0
0
19
0
0
0
0
0
16
-34
0
0
-3
-8
0
0
51
0
7
8
0
-13
-4
9
0
0
-41
0
0
0
29
0
0
-1
0
1
0
26
0
0
5
87
0
0
1
0
0
4
0
0
0
-47
0
0
0
3
-2
0
42
0
0
0
0
0
0
1
0
0
0
0
0
0
54
-7
30
0
0
0
0
3
0
-3
-1
0
4
-3
54
0
-7
-16
0
0
0
13
0
0
0
5
0
0
-8
0
0
-2
0
0
0
65
0
0
0
9
-2
0
-42
0
7
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
-1
0
0
-22
0
0
37
0
0
0
0
0
10
1
0
0
0
0
22
9
3
0
50
0
0
-49
0
0
0
34
-1
52
-85
13
-1
0
-10
68
5
59
16
0
0
0
-2
33
-4
-8
0
0
1
69
31
-1
0
0
0
-7
0
3
0
-3
0
0
0
1
-4
0
0
-5
0
0
0
-7
-5
-6
-24
-41
-20
0
0
34
-40
-2
0
30
0
0
-48
61
0
-59
-14
-26
0
59
-38
0
0
-12
0
0
53
-6
0
0
-3
76
0
14
-21
0
0
0
0
0
0
64
0
52
0
-4
0
0
-37
0
0
0
0
-8
0
-28
3
2
0
0
0
0
8
-10
0
3
0
0
8
10
6
0
-5
-2
0
13
-16
0
-6
19
0
0
-24
-5
0
0
-66
0
-2
-6
-17
0
1
-3
2
1
8
-19
0
0
0
22
0
-6
-18
0
0
0
0
-1
0
50
0
9
0
-6
60
0
-44
0
0
0
0
0
0
22
0
0
0
0
0
0
24
0
-15
0
0
0
0
58
0
0
3
0
0
0
24
0
0
0
0
0
-3
-64
0
0
1
0
0
-2
-74
0
-15
0
0
0
0
-58
0
0
1
0
0
0
-5
0
-16
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-13
0
0
0
0
31
0
-3
0
0
-1
0
-38
0
0
0
17
0
0
-3
0
0
-21
0
0
0
5
-2
13
-6
0
1
0
8
12
-5
0
9
-38
0
-5
-25
-8
0
0
64
0
13
-16
-6
0
0
-40
0
-30
12
-38
6
0
-53
0
-33
-59
-3
0
2
-60
0
-81
-27
-8
0
0
8
0
7
-8
22
0
0
0
0
7
0
25
-9
0
0
0
-39
0
-46
40
-87
67
0
0
18
-10
-7
0
-15
0
-5
-13
-36
0
-63
-19
0
-6
3
24
2
2
18
0
1
-4
-15
0
0
35
0
-28
5
-18
0
0
-19
0
30
-6
-98
0
-59
-16
0
46
-13
8
0
-2
0
0
-35
0
11
3
21
0
0
-1
0
-51
40
6
1
0
0
-58
-7
-8
14
32
0
0
3
18
0
7
-14
0
41
49
25
2
0
0
0
19
76
5
0
-1
53
0
-44
-31
-5
0
0
37
0
-13
-2
25
0
0
49
0
30
0
-2
0
0
0
0
45
0
-1
1
0
0
0
19
7
-20
3
0
-2
0
0
0
24
2
-13
-9
0
0
-2
20
0
22
2
0
68
12
1
0
-42
21
0
6
-4
-19
0
3
-8
0
-12
-5
-38
0
65
-75
0
2
0
34
0
0
-74
0
50
0
-8
0
-36
-1
0
9
0
0
9
0
9
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-10
0
0
0
0
0
-1
3
0
3
0
0
0
0
0
0
42
0
0
0
0
0
26
0
0
-2
0
4
63
-18
0
2
0
0
24
8
0
15
-12
1
0
26
-7
0
0
0
0
0
-88
-25
0
0
-64
-22
0
27
-14
-13
0
25
6
0
67
14
0
0
-13
1
-1
23
63
0
18
7
0
0
-5
8
0
0
4
-5
7
0
0
27
0
0
0
27
1
35
29
-48
-39
0
0
86
62
3
0
-1
0
0
-16
-28
0
9
13
2
0
-45
-35
0
-5
-18
0
0
-36
-105
0
18
-33
8
0
21
-70
0
1
61
0
0
-3
56
0
24
56
-36
0
0
80
0
0
0
0
0
0
-7
21
-46
0
5
0
0
64
-81
0
4
0
0
82
0
8
42
13
6
0
-18
-31
0
24
79
0
0
79
9
0
0
47
3
0
-4
-12
10
21
26
0
0
-8
-32
0
0
64
-3
0
9
4
0
0
-10
0
0
0
25
0
0
0
54
0
0
5
-7
0
0
-1
0
0
42
18
0
0
0
0
-8
-2
-8
28
8
0
0
-1
15
-3
0
-42
21
0
31
9
0
-6
-10
-1
0
8
-2
0
5
17
29
0
0
12
0
-7
-17
0
0
0
-47
9
0
50
41
0
0
11
0
25
0
0
0
0
-7
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
3
0
24
-22
22
0
0
0
-9
0
0
-2
0
0
-13
0
0
0
-22
0
-10
-11
0
0
0
0
-106
6
-8
0
-19
-81
-18
-29
15
0
0
-53
0
-2
-117
8
8
0
-42
-25
-2
-98
53
0
0
-42
-1
-17
0
-13
0
0
53
-30
28
0
17
0
0
6
9
13
0
23
0
0
0
-15
3
0
0
-125
0
14
-3
-81
0
-11
19
-13
-30
-3
0
2
-5
0
0
49
0
0
-41
-10
-4
30
37
6
9
22
-3
-1
0
-31
0
27
-12
14
0
1
9
-10
-5
0
-16
0
0
6
0
-17
0
1
0
-13
-1
7
-3
0
5
0
0
-8
0
3
0
12
-14
-7
0
-7
0
0
-59
-5
0
0
0
0
0
-30
-23
-19
-66
15
7
0
-22
0
-2
-105
0
-13
3
4
-3
58
23
61
0
3
-4
0
21
15
-5
-5
7
-4
0
0
22
-37
-51
0
-13
0
0
30
0
-4
0
0
0
0
-3
-66
26
0
-33
0
0
0
33
-1
0
-65
6
0
2
-67
5
0
-45
0
76
41
-4
0
0
-20
0
-3
19
47
-63
7
-50
0
1
-48
0
1
0
-26
-3
2
33
33
-30
0
-14
0
-19
-30
0
12
0
-4
0
-8
9
-2
-8
0
20
0
66
-16
-8
-24
0
-73
-8
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
-22
0
0
-4
0
0
-134
0
0
0
0
0
8
-14
0
-2
0
0
-11
1
-6
-2
8
-4
0
-41
24
0
0
-50
0
-7
-11
24
0
-16
24
101
5
-23
-30
0
0
49
0
7
68
0
0
-1
-3
0
11
-2
1
0
0
0
0
-5
0
5
0
0
0
2
5
0
0
45
0
0
0
-3
0
0
-35
21
48
0
0
71
-38
4
2
-48
0
0
32
46
0
-25
48
-27
0
-50
-17
0
0
0
25
-2
-31
-3
0
0
-25
-4
0
-5
0
0
4
-8
-1
0
0
-9
0
-2
0
-2
0
0
24
0
0
0
-1
6
0
57
17
29
0
-2
0
1
-23
6
6
1
0
0
2
29
-2
-29
-13
18
25
-1
6
0
17
5
0
0
52
-3
3
-66
44
14
-1
-1
16
0
1
9
0
0
-5
0
0
0
-31
-30
-1
0
4
1
0
0
-1
-5
0
-10
0
0
0
13
-9
0
-10
0
0
0
-3
0
0
-41
-14
0
0
0
0
-1
-48
2
17
-1
0
0
0
-92
-2
-4
4
-1
0
-12
13
-4
19
13
0
0
-8
-5
0
2
-22
-17
0
0
0
0
-4
8
0
0
0
-36
0
0
1
32
0
0
-19
0
22
0
-3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-46
0
0
0
0
4
0
-42
0
2
0
0
-15
0
0
0
-3
0
0
58
1
0
0
-5
0
0
-14
0
0
0
0
-6
-2
13
-2
0
0
0
0
-12
0
0
0
0
0
0
18
0
0
0
0
0
0
-12
0
0
0
0
0
0
-20
0
0
-4
0
0
0
5
0
27
0
-2
10
0
0
-2
1
0
0
49
0
0
7
19
0
-2
-3
0
0
-5
6
0
0
-1
0
0
0
32
0
0
0
0
0
0
-23
0
0
9
0
0
0
3
0
-19
0
-1
0
0
-37
0
0
0
0
0
0
50
0
0
0
0
0
0
-52
1
0
-2
0
0
0
-30
0
0
1
0
0
0
-95
0
0
-7
0
0
0
12
0
0
-3
0
1
0
-9
0
0
0
0
0
0
-10
0
0
2
8
0
0
55
0
0
0
0
0
0
-8
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
2
0
0
0
0
0
1
0
-2
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
7
19
0
0
0
-8
0
0
0
0
0
0
60
0
-5
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-57
0
0
0
0
0
0
-97
0
0
0
0
39
0
0
0
-53
0
0
-98
0
0
0
-1
0
0
15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-47
0
8
-1
0
0
-3
-1
0
0
2
0
0
0
23
0
-1
-4
0
0
19
-42
0
0
2
0
0
0
8
0
0
-1
0
0
0
-41
0
0
0
0
0
0
3
0
53
0
0
0
0
-13
0
0
0
0
0
0
-76
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
-34
0
0
0
0
0
0
120
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
18
0
0
0
0
0
0
27
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
24
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
75
0
0
0
0
0
-29
0
0
0
0
0
0
13
0
0
0
0
16
0
0
0
42
0
0
-75
0
0
0
-1
0
-1
-20
27
0
0
-2
8
0
-5
-3
0
0
-1
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
-72
1
2
0
0
0
-1
9
0
0
1
0
0
-5
5
0
-7
7
0
0
4
-3
0
0
0
0
0
0
46
0
0
2
-1
0
2
-18
0
0
-4
0
17
0
25
0
4
0
0
0
0
13
0
0
0
0
0
0
-8
0
-2
0
0
0
0
-48
0
0
0
0
0
0
-31
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
10
-68
0
0
2
3
0
0
1
0
0
0
-6
8
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
21
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
-16
0
0
0
0
0
1
66
0
0
0
0
15
0
0
0
-61
0
8
-49
0
0
0
2
0
-1
-52
0
0
0
39
0
0
-2
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
-3
0
0
0
0
0
23
1
0
0
0
0
0
-57
0
0
39
0
0
-4
49
0
42
-14
0
0
-8
-7
0
0
0
0
0
0
-46
0
0
-20
0
0
0
-42
0
0
-2
0
0
0
-9
0
-5
0
0
0
0
5
0
0
0
0
0
0
-32
0
0
0
0
0
0
112
1
0
0
0
0
0
34
4
0
0
0
0
0
13
0
0
-3
0
0
-2
-71
0
0
-2
0
0
0
61
0
0
-2
0
0
0
-4
0
0
-7
1
0
0
-29
0
0
0
0
0
0
-31
0
0
0
0
-2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
1
0
0
0
0
32
0
0
0
0
0
0
14
0
-4
0
0
0
0
-9
0
0
0
0
0
0
66
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
-6
0
0
0
0
24
0
0
0
0
0
-18
0
0
0
0
9
-3
-9
0
5
0
0
23
-1
20
2
13
18
0
7
8
0
0
-56
0
2
-39
-21
0
0
-41
-38
0
-25
35
7
0
58
0
0
40
2
0
0
7
8
0
18
-14
0
0
8
8
6
0
-9
0
0
0
8
4
0
0
-15
0
0
0
0
0
27
10
-57
97
1
0
-1
27
-2
0
0
0
0
-23
2
0
30
40
41
0
-41
-23
0
0
-42
0
0
32
-14
0
-2
25
12
0
-41
-75
0
0
-12
10
0
-7
42
0
-23
49
10
0
0
66
0
-1
0
0
0
0
-44
-42
-25
0
24
0
2
11
41
0
-2
0
0
26
26
24
1
71
-29
0
-33
24
1
-17
6
12
0
-31
-37
0
-9
1
-54
0
144
17
-1
3
7
-4
0
-5
24
0
0
2
60
0
5
16
0
2
53
0
0
1
62
0
-1
-4
52
0
0
-31
-15
0
0
0
0
0
-11
-5
0
7
0
0
12
-56
0
-50
12
0
0
0
43
0
0
3
-3
0
12
0
0
-6
1
0
0
-2
56
-6
1
85
-69
0
0
-9
1
-70
116
0
0
0
-18
0
0
-65
21
0
0
-23
0
5
15
-7
0
0
-3
-27
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
24
0
0
0
0
0
0
-51
0
0
0
0
9
0
0
0
-34
0
0
18
0
0
0
-1
0
-5
9
69
0
0
57
-3
-4
0
13
0
0
0
0
-4
0
0
0
0
-2
-4
5
0
0
0
0
-1
0
7
0
2
0
0
0
-5
-41
0
0
-1
0
0
0
5
0
-66
-2
0
5
0
0
0
-83
0
0
3
0
0
-5
3
0
-17
-12
-101
0
-1
40
0
0
0
0
0
0
59
0
0
-8
0
0
0
-52
0
0
49
0
0
0
2
0
28
6
19
0
0
-72
0
0
0
0
0
0
33
0
0
0
0
0
0
-13
0
0
0
0
0
0
-25
0
0
-1
-3
0
0
9
0
0
0
0
0
2
-41
0
0
-1
-2
0
-8
-31
0
0
-8
0
0
0
42
0
0
5
0
0
0
-74
0
0
-6
0
5
0
1
0
0
0
0
-3
0
-41
0
0
0
0
-7
0
6
0
0
0
0
0
0
-2
0
0
10
0
0
0
-18
0
0
0
0
0
0
-35
0
0
0
0
0
0
-13
0
0
-2
0
0
0
-44
0
-1
0
9
0
0
-22
0
0
0
-2
0
0
-121
0
-6
0
0
0
0
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
28
0
0
2
0
0
-22
0
0
-4
0
-4
4
18
0
0
0
0
-62
-3
-1
0
-57
-1
0
-38
0
0
1
-19
0
66
-12
-7
7
0
-30
16
-6
52
-9
0
0
0
0
1
2
-5
0
2
7
3
4
29
0
0
0
13
-7
41
0
34
0
0
0
88
21
0
14
87
0
0
0
-2
2
43
21
13
-39
-4
0
25
44
2
0
31
0
0
38
-17
-4
9
18
38
-2
-48
57
0
-10
-62
-4
0
5
-5
22
1
102
13
-1
2
1
0
0
-30
0
-1
0
0
1
3
0
31
24
0
-11
0
5
0
-2
-4
0
22
0
-8
0
31
13
0
61
-45
0
-8
6
0
-1
26
-3
20
-29
14
0
-2
-2
10
17
31
0
-5
20
-8
-2
1
-26
74
0
49
33
0
-10
-1
-16
0
-20
-41
0
0
-21
10
-5
0
0
-7
0
-2
-2
-9
0
26
0
0
0
-1
-9
0
18
0
0
0
-1
0
0
18
3
5
7
-5
0
0
12
-5
-16
-9
0
0
-10
-62
3
-24
9
-5
0
-2
-57
4
25
-13
0
0
-1
-98
0
24
6
8
0
0
52
0
39
-47
-10
0
0
0
0
-1
4
5
-5
0
-47
0
-49
0
0
0
0
0
-6
-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
7
0
0
0
0
0
22
0
0
0
0
0
0
-16
0
0
0
0
-2
0
0
0
-106
0
0
57
0
0
0
-4
0
0
4
0
0
0
0
-3
3
-5
0
0
0
-2
0
0
-7
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
-25
-2
1
12
0
0
0
40
0
0
-4
0
0
-1
5
0
31
14
0
0
16
42
0
0
0
0
0
3
-18
0
0
1
0
0
0
5
0
0
0
0
0
0
-2
0
-5
0
0
0
0
-21
0
0
0
0
4
0
26
-7
2
0
0
-2
0
16
13
0
0
0
0
0
-3
0
0
0
0
0
0
-95
0
0
4
0
0
0
8
0
-6
66
0
0
2
-44
0
0
-2
0
0
0
33
0
0
-23
-4
6
0
-70
0
0
0
0
9
0
21
0
0
0
0
0
0
-29
0
0
0
0
17
0
19
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
21
0
0
4
0
0
0
13
0
-8
6
0
0
0
10
0
1
0
0
2
0
39
0
0
0
0
0
0
-26
0
2
0
0
0
0
-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
-15
0
0
0
0
0
-51
0
0
0
0
0
0
-13
0
0
0
0
-8
0
0
0
-12
0
0
-29
0
0
0
-2
0
0
15
6
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-1
0
-1
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
-35
0
-3
2
0
0
-1
-64
0
0
0
0
0
10
-9
0
-1
-5
0
0
-1
-16
0
0
-2
0
0
0
-5
0
0
-1
0
0
0
34
0
0
0
0
0
0
23
0
-8
0
0
0
0
-3
0
0
0
0
0
0
-46
-2
0
0
0
0
0
23
0
0
0
0
0
0
8
0
0
0
0
0
0
-26
0
0
0
0
0
0
8
0
0
23
0
0
0
-12
0
0
0
-2
0
0
8
0
0
13
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
-13
0
0
0
25
12
0
0
0
0
0
-3
0
0
0
0
0
0
-47
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
-24
0
0
0
0
0
0
-61
0
0
0
0
-42
0
0
0
-23
0
0
-3
0
0
0
-8
0
-3
-47
-1
0
0
-2
13
-8
-6
5
0
0
0
0
-2
0
0
0
0
0
0
45
0
0
0
0
0
0
-14
0
0
0
0
0
45
80
0
0
-8
0
0
0
0
0
-12
0
2
-1
0
0
-1
-36
0
0
5
0
0
-51
17
0
-18
-8
-8
0
-13
18
0
0
0
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
2
0
21
3
0
-12
0
0
0
0
0
0
-5
-2
0
0
-5
0
0
-105
0
0
0
0
0
0
-32
0
-3
0
-4
0
0
-11
0
0
0
0
0
0
-53
0
0
-1
0
0
0
-111
0
0
-1
0
0
4
-34
0
0
0
-4
0
0
-5
0
0
0
0
5
0
-8
0
0
0
0
-7
0
-19
0
0
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-67
0
0
0
0
-25
0
-36
0
-12
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
27
0
0
11
0
0
0
0
0
9
11
0
4
0
0
-43
12
0
0
18
0
1
-19
0
0
0
14
0
51
-55
17
0
0
30
0
54
-37
-2
0
0
3
0
20
-3
-3
0
0
10
0
-23
-7
3
0
0
27
0
-40
0
4
0
0
0
0
-4
0
0
-21
0
0
0
-3
0
-25
-42
3
79
0
0
-16
10
0
5
27
0
-1
-49
-13
0
17
2
-4
0
-15
-48
0
0
-27
0
13
-5
-85
0
0
-104
0
9
0
51
0
0
-18
0
0
2
-46
0
44
42
0
49
0
26
0
0
0
0
6
0
-18
-1
-3
0
0
0
0
16
-17
0
0
0
0
80
20
2
15
56
0
-1
21
-31
0
0
16
0
0
8
-63
0
0
-17
0
-25
-25
23
0
0
-77
0
35
23
50
0
0
35
0
2
0
-8
0
0
1
0
47
0
5
0
0
2
0
12
0
19
3
0
0
0
0
0
40
0
0
0
0
0
0
19
0
32
37
0
0
-1
-2
0
-2
-20
0
-1
0
20
0
0
27
0
0
0
-30
0
0
15
0
0
0
43
0
-21
-27
0
0
0
22
0
0
-12
0
-9
0
4
0
-35
0
0
-5
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
16
0
0
0
0
0
-5
13
0
0
0
0
63
0
0
0
37
14
0
-39
4
0
0
19
0
0
-53
-28
0
0
-22
-6
0
-45
-8
0
0
-32
0
1
-14
28
0
-4
-20
16
0
3
0
0
0
0
0
0
0
-13
0
0
-1
22
0
0
0
35
0
0
0
0
5
14
26
-4
-15
0
0
15
32
0
0
-9
0
0
-43
13
0
74
-2
-50
0
-9
34
0
-1
49
0
0
-7
9
0
24
13
12
0
-1
-31
0
0
9
0
0
0
-58
0
6
7
-19
0
0
44
0
0
0
2
0
0
-45
-63
16
0
-15
0
0
45
1
0
0
0
0
-6
-25
8
0
43
-20
0
-7
43
0
0
81
0
0
30
-17
0
5
3
-26
0
-33
-4
0
1
-25
24
0
-16
-113
0
-16
-56
-84
0
0
-87
0
0
-20
0
0
0
-21
0
-10
-4
-6
0
0
-24
0
5
0
0
0
0
-47
0
0
0
0
0
0
-68
0
1
23
0
0
2
-2
0
18
23
6
0
14
54
0
-5
22
0
0
22
3
0
-1
-7
-5
0
0
-15
0
32
1
0
0
0
-26
0
0
27
5
0
0
-37
0
53
0
0
0
0
-24
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-23
0
0
14
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-9
0
0
0
0
0
0
-19
0
0
8
0
0
0
-1
0
1
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
19
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
-76
0
0
0
0
0
0
-54
0
0
0
0
-26
0
0
0
-46
0
0
33
0
0
0
-5
0
0
-28
-4
0
0
-3
-4
0
9
-3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
-2
0
0
0
0
0
10
-16
16
-3
0
0
0
37
0
0
-1
0
0
-4
60
0
9
-16
2
0
-41
5
0
0
5
0
0
0
30
0
0
8
0
0
0
-7
0
0
-3
0
0
0
6
0
45
0
0
0
0
0
0
0
0
0
0
0
7
-2
-1
0
0
0
0
-70
0
0
0
0
0
0
18
0
0
-1
28
0
2
46
0
0
3
0
0
-1
-46
0
0
5
0
0
0
5
0
0
48
0
0
0
35
0
0
-1
3
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
13
0
-109
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
9
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
14
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-78
0
0
0
0
4
0
0
0
-68
0
0
-36
0
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
7
0
0
0
0
0
4
-47
0
0
-5
0
0
0
-2
0
0
28
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
98
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
25
0
0
0
0
0
0
-6
0
0
0
0
0
0
87
0
0
0
0
0
0
1
0
0
0
0
0
8
22
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-59
-59
-30
5
6
35
12
-6
-20
-36
17
-58
-24
-16
-53
-22
-6
-43
149
55
-44
-92
4
-8
19
-16
-18
-5
-9
-8
-18
24
-11
-20
-12
19
18
-86
-30
-22
47
2
-17
17
-5
-172
-16
29
-65
36
16
-26
40
-10
13
8
6
7
-12
-25
-18
-13
-27
-35
-40
-13
-14
35
-12
-29
-85
13
-54
-38
-111
-49
-7
-32
-32
-36
-25
-159
-21
-3
4
-3
-14
0
-38
5
-38
-42
47
7
1
9
-27
7
-41
-54
41
2
9
89
29
93
-59
53
17
22
-61
50
10
22
-24
-7
107
-21
-32
-13
30
1
5
-37
-10
5
-39
9
-17
-8
-19
-28
9
-13
-30
12
-16
25
-2
-23
-13
82
-15
-25
-18
13
-45
-4
15
9
-1
-13
67
-11
-33
60
45
6
58
20
5
-28
-8
-21
-18
12
-38
-13
-16
-46
36
-3
-13
68
2
-23
34
39
-16
22
-9
-30
11
6
-6
-2
-21
-19
12
-62
-7
70
-11
61
-40
-30
-44
-6
-42
-38
-51
45
-19
37
-16
18
-15
74
-7
-15
-55
3
19
7
62
-6
20
21
26
56
-5
-50
-4
-12
-6
-8
53
-14
26
84
-12
30
-20
18
11
-24
-34
-14
-48
31
-45
9
-2
1
41
57
64
-16
35
-52
-16
-58
-67
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-29
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-16
0
0
0
0
0
0
-31
0
0
0
0
0
0
-20
0
0
0
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
22
0
0
0
0
0
0
7
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
51
0
0
0
2
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-6
0
0
0
0
-2
0
0
0
-74
0
0
22
0
0
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
-56
4
0
0
0
0
6
41
0
0
10
0
0
-1
-5
0
0
7
0
0
0
7
0
0
-6
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-9
0
0
0
0
13
0
0
0
0
0
0
-46
0
-1
0
0
0
0
26
0
0
0
0
0
0
-42
0
0
12
0
0
0
19
0
0
0
0
0
0
25
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-44
0
0
0
0
0
0
-4
0
0
0
0
0
0
-42
0
0
0
0
0
0
16
0
0
0
0
0
0
30
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
-5
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
34
-6
0
1
0
0
-5
-6
0
0
10
29
0
8
5
-2
0
-53
3
0
-94
28
0
0
-7
35
0
-18
-30
0
0
0
4
0
62
13
-2
0
19
41
0
-52
-32
0
0
19
-5
0
0
-4
0
0
0
-5
0
0
1
18
0
5
1
0
-3
5
-10
-71
30
0
0
57
50
-1
8
45
0
0
-22
27
-1
53
35
54
0
-40
-24
0
0
-32
-7
0
29
25
0
-8
-31
28
0
-10
-9
0
10
1
-7
0
16
-73
0
24
-8
38
0
0
20
0
4
0
0
0
0
-15
40
-40
0
66
0
2
13
-6
0
25
0
0
-12
9
0
31
-18
-69
0
43
25
0
-3
53
0
0
51
-15
-5
9
35
50
0
-84
3
0
5
47
15
0
1
2
0
-2
-26
-25
0
16
4
-4
0
-16
0
0
0
-16
-2
0
-8
-45
0
0
-27
7
0
0
17
0
7
16
-14
0
2
-23
0
1
18
-6
-13
52
0
0
-5
3
0
3
26
8
0
10
-19
1
40
-17
2
0
13
-23
0
13
6
14
0
4
17
0
-31
-26
-3
0
-2
-38
5
-2
48
-11
0
0
-59
-2
-19
5
-5
0
0
7
-16
-2
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
-1
0
0
0
-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
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-2
0
0
0
-29
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
-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
-2
0
0
0
0
0
-21
0
0
0
0
0
0
-53
0
0
8
0
0
-1
-2
0
0
-2
0
0
16
12
0
0
0
0
0
0
-1
0
0
0
16
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
9
0
0
0
0
0
0
57
0
0
0
0
0
0
-7
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-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
-17
2
4
-102
48
-15
-56
9
-11
-14
-30
-13
-13
27
-3
-1
64
-98
0
9
-26
5
-24
-35
33
-56
-33
-23
-8
-6
15
11
24
59
-27
6
-4
-39
-71
-1
-38
-10
-9
9
-56
-23
9
-1
-18
-56
-22
-12
-2
-31
1
2
-52
12
58
-72
-13
-4
10
-23
-9
-14
38
-3
-87
-65
7
3
-15
12
-15
21
-94
13
-21
64
-2
-18
13
10
-6
-2
-26
-16
-11
-54
6
30
-10
48
-25
-13
-18
43
11
-13
18
64
-31
-21
-27
35
-11
-18
10
-51
-12
-26
8
-15
-12
15
-9
0
29
-35
-11
-3
-3
-31
-12
-45
74
-14
2
73
15
-31
-16
6
-5
-13
-8
42
-2
11
12
-19
-14
-13
29
-56
-12
-15
-6
-40
14
-9
-8
57
-54
6
11
38
-25
-10
-8
-14
-8
126
121
-18
-17
-63
-16
3
-14
3
-20
-60
4
-25
6
-49
36
-51
-25
0
-41
-12
-22
28
-48
-78
19
87
-7
13
8
75
-2
24
-39
-25
-64
8
5
121
41
35
2
117
-10
34
-35
5
73
-8
52
22
-17
-55
4
0
-8
-29
-28
-27
-18
31
-30
-3
-32
18
-23
13
15
65
-17
22
-20
7
-12
1
-26
-3
-29
14
53
34
16
-2
-8
-47
23
-43
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
-37
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-21
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
3
0
0
0
128
0
0
-41
0
0
0
0
0
6
-13
1
0
0
1
0
8
6
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-29
0
0
-13
0
0
3
-4
0
0
-5
0
0
32
-30
0
8
2
0
0
-2
-44
0
0
3
0
0
0
-60
0
0
5
0
0
1
-22
0
0
-4
0
0
0
0
0
-9
0
0
0
0
-41
0
0
0
0
0
0
57
9
12
0
0
0
0
-1
13
0
0
0
0
0
35
0
0
1
0
0
0
-19
0
0
0
0
0
0
36
0
0
-6
0
0
2
-45
0
0
4
0
-2
2
-60
0
0
-2
0
0
0
-23
0
0
0
0
0
0
92
0
0
0
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
4
0
0
0
0
9
0
0
5
0
0
0
26
0
0
0
0
0
0
-6
0
0
0
0
0
0
74
0
0
5
0
0
0
9
0
0
-2
0
0
0
-52
0
33
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
71
0
0
0
-74
0
0
1
0
0
0
24
0
0
-21
0
0
0
0
-54
0
27
-6
0
0
0
0
0
0
0
0
0
6
8
0
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
-46
3
-1
0
0
0
1
2
0
0
-45
0
0
-4
-15
0
1
-31
-30
0
42
7
0
0
20
0
0
-4
-16
0
1
-14
-6
0
0
-30
0
0
19
0
0
0
14
0
34
-2
0
0
0
2
0
0
0
0
0
0
42
13
-2
0
0
0
0
-13
-3
0
0
0
0
0
-19
0
0
-4
-1
0
0
71
0
0
0
0
0
0
-4
0
0
22
0
0
-5
57
0
0
24
0
0
0
37
0
0
-1
23
0
0
31
0
0
0
0
0
0
-3
0
0
0
0
0
0
-61
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
12
0
6
-2
0
0
0
9
0
0
0
0
0
0
30
0
13
-1
0
0
0
-7
0
0
0
1
0
0
-52
0
27
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
-2
5
-46
0
0
30
3
0
0
15
0
0
-70
0
0
0
42
-8
0
-7
0
0
0
0
0
-5
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
-7
0
0
0
-8
-15
0
0
59
0
0
0
6
0
5
-48
-85
6
0
0
-4
20
-2
2
2
0
0
22
43
0
20
-61
-10
0
77
27
0
0
-68
0
0
0
30
0
0
0
0
0
0
38
0
0
-3
0
0
0
-89
0
39
0
2
0
0
34
-2
0
0
0
0
0
-26
-2
-12
0
0
0
0
92
18
0
-2
0
0
-4
-22
0
-4
14
-1
0
-1
-70
0
22
-1
0
0
-24
-72
0
-3
-30
0
0
0
-5
0
0
12
0
0
0
55
0
0
3
8
0
0
-11
0
-1
0
0
0
0
58
0
0
0
0
0
0
27
0
0
0
0
0
0
-13
-3
0
1
0
0
0
-6
0
5
0
0
0
0
62
-8
0
0
0
0
0
-25
0
2
0
0
0
0
17
0
0
0
0
0
0
3
0
-5
5
0
0
0
90
0
1
0
0
0
0
85
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
24
-12
0
61
-8
31
36
-1
-3
0
85
1
0
27
-2
4
-4
-18
-22
2
-95
-4
7
0
-3
0
-15
6
0
0
0
-19
-21
32
-10
1
0
0
-5
-1
-26
0
3
0
0
0
-2
40
0
0
-66
0
0
0
12
-12
0
-1
54
93
0
0
-34
-13
19
0
2
0
-1
3
55
0
-52
133
1
0
17
31
4
2
-68
-2
8
-41
32
0
0
50
0
3
7
-14
0
0
-25
0
-7
0
-63
0
48
-7
0
0
0
12
0
0
0
0
1
0
3
6
5
0
-5
0
0
0
-43
7
2
0
0
6
-74
53
-25
-52
18
0
-22
-12
0
8
6
0
0
23
0
6
-80
-13
41
-14
-7
4
2
41
-12
0
-2
-5
-22
0
0
-122
115
1
0
7
0
1
0
0
-3
0
-36
1
1
0
-45
-5
0
-17
13
0
0
0
0
9
0
-16
-1
-9
0
0
0
6
-13
-39
-1
0
0
-2
31
0
-5
-6
0
0
7
-76
-3
23
13
0
-2
1
36
-1
0
21
28
-4
0
10
2
40
29
0
2
0
-33
0
0
4
31
1
0
-65
0
-5
0
0
-2
0
-60
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
72
75
-80
63
56
-10
34
8
-14
128
-4
-12
36
41
53
72
39
10
-9
15
20
22
-7
-9
42
-23
7
-92
62
-55
1
-23
6
-10
-86
-1
-70
-74
-44
-56
-22
-102
-29
-47
-106
-80
-8
-2
-27
-22
-19
-35
-30
22
-9
81
33
-167
-68
57
42
10
79
11
42
20
-2
-20
6
-3
0
-3
39
32
-2
2
3
8
10
-12
30
17
4
3
-1
-56
-9
14
5
-29
-69
11
-4
31
-14
52
22
-111
0
-67
-16
4
1
52
43
-1
-29
-69
-96
-21
-2
-13
29
-43
-31
-21
-26
-28
-76
-1
-98
-51
-115
61
14
23
-23
-23
-7
-43
-15
-20
-25
11
67
-11
-9
-72
24
-1
-1
40
31
16
-3
26
-50
-14
-9
-7
-19
47
42
-24
-3
-29
6
-13
13
-33
-35
0
-68
-38
-55
-8
-28
-17
1
-70
-68
-34
-4
-11
-49
12
3
4
-41
-14
15
-51
-35
-15
-31
-65
60
-74
-16
-35
-14
24
-24
24
-42
36
-37
30
31
3
17
-4
56
-56
53
-11
48
-31
45
-66
-24
-11
-41
-2
-25
-20
-4
1
-60
-19
18
48
-13
-24
0
-8
-45
-76
16
0
-69
6
27
-1
-24
-15
-10
-42
-44
-17
18
-49
-28
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-42
0
0
80
0
0
0
-9
0
0
-4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
-24
3
0
0
6
-26
-8
0
0
0
0
17
-6
0
3
2
0
0
-13
-15
0
0
8
0
0
0
-7
0
0
7
0
0
0
-9
0
0
0
0
0
0
7
0
3
2
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
36
0
0
-2
0
0
0
19
0
-4
4
5
0
6
31
0
0
0
0
0
17
16
0
0
-7
0
0
0
34
0
0
0
0
0
0
45
0
0
0
0
0
0
-7
0
0
0
0
8
0
27
0
0
0
4
4
0
1
0
0
0
0
0
0
-4
24
0
0
0
0
0
-1
0
10
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
1
0
0
-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
-6
19
-13
0
-6
0
0
-58
3
-5
0
55
0
-1
16
2
0
0
17
-6
2
0
0
0
-2
0
0
-1
-1
0
0
0
0
0
-7
0
1
0
0
0
0
-1
0
-1
0
0
0
-4
-48
0
0
105
0
0
0
-4
0
41
-7
-26
58
0
0
-9
-1
1
2
-16
0
0
-40
23
0
4
58
7
0
-22
88
0
-5
74
0
0
-7
13
0
0
6
-1
0
0
3
0
0
7
0
0
0
-8
0
47
0
10
0
0
28
0
0
0
0
-1
0
26
2
9
0
0
0
-1
58
-12
0
0
0
0
8
-76
-4
0
31
0
2
0
-51
0
0
-9
0
0
3
34
-7
0
-16
0
-7
0
-43
0
0
-6
-2
0
0
-3
0
0
-12
2
0
0
105
0
0
-4
0
18
0
24
0
0
0
-3
1
0
-28
0
0
0
0
0
-3
-11
3
0
2
0
0
2
1
0
54
0
0
0
0
7
0
0
0
0
0
0
-56
-1
-5
0
0
0
0
-35
0
0
-7
4
0
0
-31
0
-42
-1
0
0
0
5
0
0
1
0
0
0
-34
0
-7
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-6
0
0
4
0
0
0
6
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-29
32
3
0
0
0
-5
49
0
0
0
0
0
2
19
0
9
-22
0
0
-6
-8
0
0
2
0
0
4
-19
0
0
0
0
0
0
-27
0
0
-10
0
0
0
-30
0
-4
0
-4
0
0
-80
0
0
0
0
0
0
35
0
0
0
0
0
0
-30
21
0
8
0
0
6
48
0
-1
0
0
0
1
-14
0
0
4
0
0
-2
92
0
0
0
0
0
0
-53
0
0
0
0
0
0
103
0
0
0
5
0
0
-72
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
-57
-1
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
6
0
-4
0
0
0
0
42
0
0
0
13
0
0
-21
0
3
0
0
0
0
-6
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
12
78
-40
80
0
4
9
-4
41
-21
-29
-34
-32
14
-19
-4
15
-49
-39
12
51
-32
-8
-7
-38
0
-12
20
9
-5
-42
-66
22
-42
0
-66
8
-1
-12
12
-19
0
-2
28
0
-1
-31
-53
10
25
-20
-14
-7
28
1
125
52
-60
81
71
-24
9
52
25
39
34
-11
17
39
-7
18
16
105
49
-24
14
-58
-53
9
54
9
-19
-32
-42
-36
-23
0
15
6
-15
-5
-16
1
-21
-19
51
-77
4
-9
-8
0
49
16
5
0
21
15
38
-1
83
33
12
58
-18
52
66
5
10
25
21
49
4
59
31
-32
-15
3
32
22
48
5
92
-65
11
13
-28
51
21
-27
53
-18
22
-59
58
101
80
-19
-8
42
23
16
41
-11
-15
-9
-1
21
-49
-23
-10
10
5
31
16
91
88
-3
0
-1
3
7
0
-3
26
56
66
29
25
-51
-22
-4
-49
12
-3
2
-14
67
13
-58
-13
-12
36
31
-48
68
160
11
-93
23
110
55
65
19
-17
48
102
51
-18
48
-6
5
-72
44
-5
-33
3
-18
0
-13
16
-10
12
3
5
4
-1
-65
-5
8
64
-3
64
-55
5
4
-71
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
43
0
-8
-10
-19
0
0
0
-39
2
35
7
2
0
-3
0
32
14
0
0
0
-5
0
-7
2
-6
0
-2
0
0
-48
0
0
0
0
0
-12
1
0
0
49
0
0
0
1
7
9
1
9
23
0
0
-31
0
0
0
22
0
0
4
15
0
-13
57
2
0
-63
-71
0
1
-53
2
0
-15
-60
0
0
6
8
0
-3
-26
0
0
-2
0
0
-4
-1
0
22
-2
41
0
-5
-25
0
0
0
0
0
0
4
13
0
0
0
0
0
56
16
0
7
0
0
13
0
-8
-5
17
-13
0
-6
34
0
0
-1
-5
0
5
25
0
0
-37
-3
0
12
-100
0
0
-52
5
-4
-3
-13
0
8
29
-33
0
0
-12
0
0
8
0
-15
0
139
0
0
0
0
35
0
41
0
0
0
0
0
0
2
-1
-2
-4
0
0
0
0
3
86
-2
0
0
0
23
0
-3
-8
0
0
0
22
0
0
0
0
0
-2
-70
0
0
2
-16
0
0
12
3
88
25
0
0
0
0
0
0
-9
-10
0
0
34
0
-30
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
0
0
16
0
17
22
5
0
-1
4
5
0
26
12
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
-9
0
0
17
0
0
0
0
13
39
4
-53
15
0
0
-75
-23
0
-1
-14
0
0
70
-86
0
-34
-11
0
0
-36
52
0
0
64
0
0
5
3
0
0
35
1
0
0
-43
0
0
-1
0
0
0
39
0
-36
-9
0
0
0
-33
0
0
0
0
-2
0
14
0
0
0
0
0
0
34
21
0
2
0
0
-8
3
0
4
-4
7
0
-8
10
0
0
-3
0
0
3
-50
0
-6
-14
0
0
0
-12
0
0
3
0
4
0
17
0
0
5
5
0
0
5
0
0
0
0
-4
0
3
0
0
0
0
-7
0
50
0
0
0
0
0
0
74
-8
0
0
0
0
0
87
0
-29
0
0
0
0
32
0
0
8
0
0
8
-16
0
-3
0
0
0
-1
68
0
29
12
0
0
-2
-12
0
-7
0
1
0
0
-45
0
0
0
16
0
0
40
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
-6
0
4
84
-29
0
0
-1
-6
25
23
-3
0
0
17
0
19
-3
-13
0
0
0
-7
-1
0
5
0
0
0
0
4
0
0
0
0
0
0
-70
0
0
13
0
0
0
1
0
75
-25
25
72
0
0
-8
109
0
0
0
0
0
-20
0
0
-14
-41
0
0
93
-29
0
4
-5
0
0
0
4
0
0
24
-2
0
0
-71
0
0
22
0
0
0
-75
0
21
0
15
0
0
84
0
0
0
0
0
0
-10
-2
2
0
0
0
0
-14
1
0
2
0
0
1
67
0
3
-13
2
0
0
111
0
0
0
0
0
5
-31
0
0
1
0
0
0
-17
0
0
-7
0
0
0
32
0
0
-10
-5
0
0
-46
0
0
0
0
0
0
22
0
0
0
-4
-6
0
2
0
0
0
0
0
0
-5
3
0
0
0
0
0
4
0
2
0
0
0
0
-29
-1
2
-1
0
0
6
18
0
0
0
0
0
0
-13
0
0
0
-9
0
0
-3
0
-4
0
0
0
0
-57
0
0
2
16
0
0
-113
0
-14
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
32
-28
18
41
77
27
-14
2
-20
-58
40
-20
-14
-8
-24
30
-61
-38
27
1
11
-37
-41
-23
-11
-15
-13
-27
10
-33
-42
3
27
-17
-21
40
-31
-16
-48
15
-32
-17
2
-26
-31
-6
-77
-32
91
45
82
-30
18
-22
-39
10
84
-24
-14
81
-8
44
51
25
64
-3
-3
0
-33
26
-32
27
15
-9
57
57
-21
-22
-13
44
-11
47
38
6
-1
48
-114
-30
-63
-13
-6
-36
-31
6
7
-8
-46
-23
-21
-26
45
-5
-40
2
-18
-2
-2
2
7
-22
-8
-44
34
74
-51
-23
-119
-76
26
29
37
1
69
4
35
17
7
-23
67
14
27
43
47
-16
-14
-3
13
39
34
-9
-7
31
65
5
-25
35
-75
2
-60
-40
-24
31
12
-23
-4
72
-49
-39
42
4
-30
-21
-56
-47
-72
12
-11
-42
21
-88
-69
-44
53
-37
105
30
16
68
-72
-54
43
56
-13
39
-6
33
-93
11
53
2
76
25
-20
-19
38
48
34
-58
-49
66
43
4
68
21
-69
34
-13
24
-13
-28
9
40
48
-14
-36
-5
-12
0
15
29
-19
-3
-6
-51
-7
7
6
71
-4
-22
-37
41
4
2
-32
86
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
111
0
0
-30
8
0
0
-31
0
66
-29
-16
0
0
5
0
25
6
-4
0
0
12
0
33
0
-4
0
0
-3
0
-9
0
0
0
0
0
0
8
0
0
10
0
0
0
49
0
4
-44
-7
41
0
0
86
63
-1
-9
-8
0
0
-76
46
0
70
-7
0
0
-15
-74
0
-3
16
0
0
28
-42
0
0
19
0
2
1
-13
0
0
1
0
0
0
-13
0
5
5
0
0
0
-15
0
0
0
0
-4
0
34
-1
-10
0
0
0
0
-45
4
7
-8
0
-1
5
46
0
-9
100
30
-3
0
-34
0
-1
9
0
-1
36
-56
0
0
-39
0
16
46
-31
0
0
25
0
0
-8
45
0
0
-9
2
-13
8
-39
0
0
-4
0
-4
0
13
0
0
0
0
-23
0
-23
0
0
0
0
-1
0
-5
-13
0
0
0
0
2
7
-6
-29
0
0
0
5
-22
0
-8
-3
0
2
-5
11
0
8
-23
0
-8
-8
4
0
-1
85
8
-2
-6
36
0
-41
-8
0
-1
0
-31
0
0
-17
0
0
0
-19
0
-23
0
0
-4
0
33
-8
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
25
6
0
-42
0
0
0
-4
0
0
23
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
-1
0
0
8
0
0
0
0
0
7
76
8
15
0
0
19
24
0
0
10
0
0
12
41
0
-50
42
-13
0
-74
8
0
5
14
0
0
-1
-49
0
0
-22
-2
0
19
-9
0
0
3
0
0
0
-35
0
-29
-5
35
0
0
-39
0
0
0
0
0
0
20
41
0
0
0
0
0
11
1
0
4
0
0
2
28
0
2
31
1
0
43
31
0
4
35
0
0
-13
-25
0
0
-4
-6
0
-12
-61
0
0
25
-3
0
18
9
0
0
-15
17
0
1
-8
0
0
1
0
0
0
5
0
0
0
1
0
0
35
0
0
0
0
0
0
-13
3
0
0
0
0
3
30
0
-19
4
0
0
-5
-5
0
-8
0
0
0
0
-9
0
22
13
0
0
0
20
0
0
-3
-5
0
0
31
0
13
20
1
0
0
41
0
0
0
-3
0
0
31
0
17
0
0
0
0
26
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
50
20
27
30
2
22
-37
13
-44
-13
-74
-95
-22
-34
-43
-22
-52
-41
-43
-31
-8
-28
-9
52
-85
-12
-15
-42
-26
32
-25
-13
-54
-18
-17
-45
-3
-17
-35
-88
-39
-17
48
2
32
43
-47
-2
72
5
-26
-14
48
8
10
32
28
-45
41
26
-7
91
23
28
38
-60
11
-4
22
-20
-15
-83
-78
-16
-36
-44
-43
-6
50
-22
-22
-29
0
-18
-32
-70
3
-61
-40
38
-51
-20
-52
-37
-106
-78
-31
3
-11
-4
20
-31
13
-31
0
46
68
4
-35
-68
-36
9
41
-12
16
38
21
42
1
16
34
67
49
-33
21
6
16
0
-64
-1
21
62
11
-5
-45
25
2
-29
-9
-8
-1
-43
-61
-13
-10
46
9
-1
-20
13
-37
-23
-2
-47
-3
-34
3
-19
-37
5
-17
-1
-93
55
-31
-13
-26
42
40
-19
85
23
73
-30
97
40
93
61
26
15
-52
38
4
-68
-11
12
-23
-102
46
14
-12
16
13
26
67
-19
-14
35
34
41
17
31
27
8
32
36
11
-40
-23
56
5
53
-47
3
0
24
45
11
-24
-11
-7
14
-25
14
12
78
-138
89
-7
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
84
0
0
73
68
-1
27
-4
0
0
58
-8
-5
7
-6
0
0
0
-24
-8
1
6
0
0
0
0
-24
2
-14
0
0
0
69
-42
0
0
1
0
0
0
13
3
43
14
25
26
0
0
30
71
0
0
-24
0
0
-62
0
8
-74
18
5
2
-3
21
0
-3
-61
0
0
-32
-74
0
-1
-57
7
0
5
-26
0
0
-19
0
0
-1
-104
0
-57
0
-1
0
24
21
0
0
0
-1
1
0
36
-1
17
0
0
0
0
58
66
5
6
0
0
58
-70
-4
-14
-13
-15
0
2
0
2
5
-46
0
0
-12
0
1
0
-7
-1
-3
1
11
2
0
0
-1
-6
-1
-101
0
0
1
-6
-19
0
14
0
0
0
0
6
0
58
0
0
0
-3
5
0
42
0
0
0
0
0
0
22
5
0
0
0
0
4
23
0
37
-2
0
0
12
0
0
0
25
-1
0
13
5
5
5
9
1
0
-13
70
0
4
-2
-34
0
0
26
0
66
0
-3
0
0
-7
0
0
0
14
0
0
15
0
40
0
0
0
0
-29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
3
2
32
0
-23
-6
0
0
5
0
9
4
15
0
0
12
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
-5
0
0
-9
0
0
0
0
0
-4
6
49
1
0
0
0
75
0
0
31
0
0
-20
-9
0
-58
67
-12
0
35
-58
0
0
-5
0
0
-6
9
0
0
-14
0
0
0
16
0
0
3
0
0
0
35
0
-37
5
0
0
0
43
0
0
0
0
3
0
24
16
2
0
0
0
0
6
-12
0
0
0
0
-20
17
0
0
35
0
0
0
-76
0
0
-6
0
1
29
-12
0
5
-66
-1
0
-2
-21
0
0
-10
0
-29
9
73
0
0
-3
0
0
0
-47
0
0
0
0
0
0
18
0
0
0
0
0
0
67
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
-8
0
0
0
92
0
1
0
0
0
3
-23
0
5
0
0
0
-3
21
0
0
0
-1
0
0
-17
0
8
0
0
0
0
48
0
25
0
0
0
0
-28
0
0
0
0
0
0
-12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
35
0
2
0
0
0
10
-2
0
0
0
0
0
0
15
0
0
6
0
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
18
0
0
0
0
0
95
-36
0
0
-17
0
0
12
-10
0
9
14
-3
0
-13
-69
0
0
-12
0
0
2
9
0
0
-5
0
0
0
5
0
0
0
0
8
0
16
0
8
0
0
0
0
24
0
0
0
0
-1
0
-47
10
0
0
0
0
0
24
2
0
0
0
0
3
-14
0
0
2
0
0
2
12
0
0
0
0
0
0
49
0
-16
-1
3
0
2
-59
0
0
0
0
0
0
-5
0
0
0
0
0
0
-52
0
0
0
0
0
0
137
0
0
0
0
0
0
68
0
0
0
0
0
0
4
1
0
0
0
0
0
-1
0
9
3
0
0
0
-16
0
0
0
0
0
-6
9
0
1
0
0
0
0
-1
0
0
0
0
0
-2
14
0
1
9
3
0
0
21
0
0
0
6
0
0
-1
0
-2
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
102
-40
-8
65
-13
68
-29
26
5
9
-18
-1
-61
-25
29
-2
8
-38
-8
-12
-29
18
-1
5
-35
-5
-46
-5
-10
0
-1
0
-13
-27
0
0
38
0
0
13
19
-1
56
6
32
40
2
0
55
-32
-3
3
24
-9
13
54
45
16
-1
48
-31
23
46
32
56
43
55
-29
9
21
-8
-16
1
-28
2
-23
-62
-14
0
-2
-31
-5
41
56
-17
-1
-34
13
-33
-10
0
-28
-1
-3
4
2
-17
-1
-40
-61
43
0
8
-6
6
61
-12
56
51
-8
-2
49
49
43
5
3
30
34
118
61
0
24
-13
35
18
35
17
-52
-24
-15
24
42
15
8
-18
72
27
-23
13
84
-29
-18
-25
-48
-15
-67
-49
-27
0
1
-4
-5
36
2
-44
-1
10
25
-73
-28
0
-4
-50
0
0
5
-26
1
35
98
-2
6
-5
0
13
25
6
7
-42
5
8
-86
21
-1
111
24
-21
0
7
37
-4
12
-5
-8
23
74
-13
21
-24
29
-30
-16
-4
-13
5
-25
13
-44
-4
-31
-5
0
-2
4
-48
-1
0
-14
0
-43
4
-14
64
0
35
-25
-2
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
33
0
-8
28
-12
0
0
0
0
0
0
-4
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
19
0
0
-22
0
0
0
0
0
0
-1
0
-8
0
0
16
-31
0
0
44
0
0
-29
-4
0
-22
-9
0
0
13
-55
0
0
3
0
0
-12
-57
0
0
-6
0
0
0
-75
0
0
14
0
0
0
-37
0
-53
0
0
0
0
-54
0
0
0
0
0
0
5
0
13
0
0
0
0
2
0
0
0
0
0
-2
23
3
-1
64
1
0
0
40
0
0
0
0
0
8
-43
0
0
-4
3
5
6
11
0
0
12
0
0
0
15
0
0
35
-1
0
0
96
0
0
0
0
2
0
62
0
0
0
0
0
0
22
0
0
0
0
0
0
13
0
0
0
0
0
0
-37
0
0
4
0
0
0
-23
0
0
0
0
0
-1
-23
0
0
-2
0
0
0
-40
0
0
2
0
0
0
-10
0
16
-6
0
0
0
-3
0
0
6
0
0
0
24
0
0
0
0
-12
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
0
3
54
-50
0
48
46
30
0
16
0
0
39
13
0
0
-12
-12
0
48
23
0
0
-5
2
0
5
21
0
0
0
-23
0
0
0
13
0
0
0
0
13
3
7
34
96
-8
0
-13
-25
-4
0
-12
0
0
-38
-26
14
4
6
-68
0
72
-35
0
24
-5
0
0
27
25
5
-5
0
23
0
63
-40
0
0
26
0
0
-24
-42
0
-19
-66
2
0
0
15
0
0
-6
0
0
0
25
-40
10
0
14
0
0
-1
60
0
54
0
0
62
-21
24
21
25
-35
0
24
11
-12
-7
-74
0
0
145
-23
-5
58
23
-22
0
62
-3
0
10
2
-14
0
-49
-6
8
0
31
13
0
13
-5
0
0
10
0
0
0
28
0
-6
6
-22
0
0
4
0
0
0
0
0
0
-4
6
0
0
31
0
33
-156
17
129
-10
-4
0
-23
53
0
-17
-1
27
0
-14
12
-1
32
52
0
0
49
12
0
-30
30
-95
0
49
-20
0
-67
-18
6
0
8
-46
0
0
16
25
0
0
10
0
-38
1
0
0
0
62
37
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-118
48
37
33
-38
-9
-6
-140
-58
45
-7
-49
-67
18
-93
68
9
31
18
-51
9
-3
-32
27
-1
-5
-33
-17
-5
-21
-27
0
-3
44
21
-25
28
32
-49
50
-5
25
27
31
51
5
51
-19
-13
11
50
105
67
40
15
6
-63
21
-50
-26
24
-60
4
34
0
80
-63
-13
-23
-16
-127
-27
-1
20
9
30
-13
31
17
37
3
-26
-10
71
66
-4
-1
-6
17
23
-69
5
4
-6
50
8
39
94
-7
28
19
31
51
42
-63
-65
34
22
-89
50
-22
17
-45
22
-41
-132
58
-21
-7
-80
2
59
0
15
23
-22
-73
-10
14
-49
28
66
4
33
4
1
29
9
13
2
-22
5
-13
7
39
-41
11
16
22
-2
-5
-84
-19
6
0
-19
27
-3
0
-66
13
0
-1
-22
23
12
-45
-1
24
8
-40
-36
50
-2
27
-94
32
-34
22
48
-13
10
10
7
-74
-26
-24
-61
27
37
-12
-19
24
-8
56
-1
-41
4
-24
4
68
-35
13
10
8
-32
106
61
17
42
-3
21
0
-15
38
48
33
-2
4
-31
-5
-1
-32
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-93
25
-3
-3
0
28
9
23
-1
-2
8
2
-66
70
5
0
-1
-3
-1
51
0
6
0
0
30
-15
2
0
0
-26
0
0
0
-20
35
64
41
61
6
15
-16
-31
-10
-2
0
-50
1
-4
-5
26
2
9
41
-28
-30
-17
0
55
-87
8
-5
-13
-8
-55
0
-5
-14
-54
-7
-30
-31
0
-1
-6
0
33
0
2
0
9
-3
-89
-62
0
-13
0
-1
-1
0
-60
0
-2
42
58
0
1
0
0
86
-13
-5
23
-1
0
-34
20
81
-9
84
-35
8
-70
0
-4
9
26
2
-16
100
0
27
-13
96
132
42
39
-4
-2
-30
-114
-4
10
0
-3
0
-3
-5
62
-89
0
10
0
-1
33
-2
-29
0
-45
0
1
0
25
-8
0
-22
-1
0
0
0
-2
0
75
-50
-2
-16
6
3
59
1
-13
31
72
0
0
-7
-5
12
-54
-33
-19
1
-32
0
6
49
-26
3
1
-37
-76
0
5
-61
-36
25
-9
-33
0
-2
-14
-22
37
0
-26
0
-1
-7
-10
2
0
-54
0
7
0
0
45
0
-65
3
-1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
20
0
0
24
0
0
0
-6
0
0
0
0
0
0
0
0
0
17
0
0
0
-8
0
0
0
0
10
0
0
-18
0
0
0
0
0
-15
-47
-2
-27
0
0
-4
22
0
0
15
0
0
-13
14
0
24
66
-6
0
104
-4
0
0
-27
0
-1
-17
-54
0
0
3
0
0
0
13
0
0
-13
0
5
0
-14
0
22
1
-3
0
0
48
0
0
0
0
0
0
-43
0
0
0
0
0
0
10
-2
0
0
0
0
0
28
0
-2
-9
1
0
0
0
0
0
0
0
0
5
-49
0
-2
-46
0
0
12
-29
0
0
6
0
0
0
2
0
0
13
0
0
0
31
0
0
0
0
8
0
106
0
0
0
0
6
0
-43
0
0
0
0
0
0
-7
-1
0
0
0
0
0
-3
0
8
0
0
0
0
-5
0
0
0
0
0
0
31
0
9
0
0
0
0
27
0
0
0
0
0
0
-56
0
2
0
0
0
0
-7
0
0
0
15
0
0
-66
0
-1
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
0
5
8
0
0
0
5
1
0
0
0
2
0
8
0
0
0
0
-1
0
3
0
0
0
0
-6
0
0
24
0
0
0
0
0
0
8
-1
-2
0
0
-30
93
-1
0
-59
0
0
-74
5
0
58
81
8
0
-43
-6
0
0
-5
0
0
6
-27
0
0
-6
8
8
0
-22
0
0
-1
0
0
2
35
0
-5
0
-1
0
0
-5
0
0
0
0
2
0
-72
-1
0
0
0
0
0
60
0
0
0
0
0
3
-58
3
0
-16
3
0
2
-19
0
0
5
0
0
25
-10
0
3
19
2
0
0
-93
0
13
46
0
-4
0
72
0
0
0
0
0
0
39
0
0
0
0
22
0
14
0
0
0
0
0
0
-35
0
0
0
0
3
0
32
3
0
0
0
0
0
16
1
0
0
0
0
0
64
0
0
0
0
0
-10
-10
0
-1
0
0
0
0
14
0
0
0
0
0
0
39
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-19
7
7
27
-9
-62
58
-2
-1
-5
-30
34
7
28
0
-2
0
-1
1
-3
5
0
0
5
-48
-17
-1
-2
-39
0
0
27
82
-3
46
-37
-53
150
-49
2
-30
13
2
-3
-1
0
-9
-32
22
109
-96
39
-42
33
27
3
0
5
13
-8
26
78
23
-1
14
17
9
43
9
-17
-2
17
2
-4
68
-5
5
-2
-19
6
-19
-13
-1
-30
0
-3
-1
-1
-66
0
5
39
-73
0
-28
7
12
50
-14
29
-70
4
4
22
39
65
-44
83
-22
-5
48
19
68
19
9
0
-95
63
22
-33
-15
64
-1
-93
15
0
52
38
-159
-41
56
-3
15
10
-7
-5
70
-1
49
-10
2
-6
-3
-8
91
0
-15
0
-1
0
-41
10
0
36
25
-2
0
51
19
-2
11
23
-14
-17
-17
1
-43
-7
-9
6
58
-3
42
-24
-2
24
55
11
7
-25
-16
30
24
16
-53
13
25
-51
-5
9
62
44
29
28
-56
33
0
-75
57
26
-4
-16
-45
-7
2
7
-26
17
-4
-15
0
-14
35
13
25
0
7
-44
-2
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-56
-10
-6
60
0
12
4
-14
0
-8
30
0
55
-13
-2
0
6
10
0
36
-4
-65
0
0
5
0
3
0
-27
-33
0
-1
0
-12
17
8
-15
-11
-46
0
0
5
-10
5
-7
-7
0
4
-29
43
20
-59
9
0
-8
8
16
0
-13
21
0
-2
31
-99
-2
-5
21
0
7
49
0
0
13
22
0
-42
13
-3
0
24
23
0
-36
-12
-12
-14
1
-4
0
26
0
-1
-31
-32
0
0
-5
0
4
12
9
-25
0
0
-22
-9
45
-4
10
-4
25
59
41
0
-11
77
0
-18
42
-4
-1
27
24
0
-12
13
21
-2
10
28
-6
-18
15
-26
-8
-13
74
0
12
52
-7
0
5
5
0
-18
16
-9
-1
15
40
0
23
0
7
-17
-2
0
0
-8
0
19
-24
13
2
0
0
6
57
37
-25
37
0
-14
5
54
-1
0
-2
0
-3
-28
4
13
48
-34
0
10
3
22
-13
70
32
-7
-54
72
30
0
1
92
0
54
0
26
0
37
70
5
23
0
-5
0
7
9
0
16
0
7
-35
-4
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-3
0
0
-6
0
0
-39
76
0
0
24
-110
0
3
5
0
0
24
4
0
0
-16
0
0
0
27
0
0
-4
12
0
0
0
0
-2
25
0
-27
-4
1
0
25
26
0
0
8
0
0
28
29
-5
23
-8
-19
0
-37
-105
6
-2
4
0
0
-11
24
0
6
22
-4
0
44
5
0
0
46
0
0
27
3
0
-6
4
-6
0
0
5
0
1
2
0
0
0
68
7
28
0
5
0
-8
-13
78
0
25
0
0
-13
55
21
51
-6
13
0
72
17
0
-18
75
0
0
6
-45
0
-6
20
15
0
50
20
0
-8
57
0
0
15
-7
0
0
10
-10
0
1
23
0
0
7
0
0
-1
7
0
0
6
-20
0
0
36
25
0
0
0
0
0
5
10
5
2
0
0
24
-22
3
84
10
0
0
59
34
0
-10
33
-7
0
-49
-5
5
78
1
0
0
59
-14
0
-17
62
37
0
-8
-4
-7
112
27
15
0
-2
-49
0
4
13
50
0
-1
11
0
14
3
0
0
0
51
-52
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
71
0
0
34
-2
-5
48
39
0
0
-4
-8
-25
0
-30
0
0
0
-25
-2
0
0
-30
0
-1
39
-38
8
7
57
-3
-49
-2
1
13
23
0
7
58
-22
-6
-51
18
-30
12
1
11
5
-128
-22
-16
-10
-5
74
-63
4
14
-5
5
11
-47
-4
14
-27
4
7
14
31
-51
0
20
0
13
46
-11
8
0
-15
0
0
-6
0
-41
0
10
48
11
0
-41
0
4
-3
-50
9
33
-2
0
9
25
-18
51
4
13
3
-33
6
1
-11
83
2
20
61
25
-13
10
12
51
61
15
-7
-7
45
19
-7
14
-4
0
-3
7
9
0
-64
0
-1
0
9
48
-2
10
-3
14
2
0
3
-61
-12
0
-13
26
2
0
7
-21
-8
3
-47
-2
-15
-45
-5
-13
-90
-14
67
-19
-8
-18
5
-4
0
54
-86
-38
-10
7
-13
10
29
-8
-8
116
-3
-12
8
21
-18
-43
12
2
-18
0
51
-12
-10
1
0
11
0
2
28
-105
19
0
13
1
5
31
1
-74
0
0
1
-2
0
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
35
4
12
0
56
-31
51
-8
0
0
58
0
20
1
-39
0
0
1
17
24
0
0
16
0
0
0
62
12
-50
-31
5
57
-3
0
72
11
-3
0
-1
0
8
-16
-4
30
-13
-31
-30
5
25
9
-10
91
6
8
60
40
0
13
7
20
77
-20
-27
-30
0
-8
21
0
20
-7
-4
0
-21
18
-22
47
0
11
0
-1
0
-4
-56
0
-20
16
29
0
-9
0
0
-67
66
-4
-56
10
0
-45
14
52
3
25
18
-6
56
51
-6
-75
-14
2
-9
96
8
94
-48
-70
13
-44
3
0
3
-5
-12
-13
-41
-19
21
0
31
85
16
6
5
-7
0
-1
-5
0
-72
-7
-25
0
-3
-1
-30
-24
0
-52
-6
-1
0
0
5
0
-18
-5
-10
0
1
-1
-15
-15
-8
19
-46
-2
0
-21
46
-10
-35
107
1
1
-49
35
-15
48
-65
0
2
-5
0
2
-47
-23
-66
25
31
-2
0
-59
-1
23
1
0
34
0
-1
-27
-21
-23
4
0
0
-10
-4
0
-9
0
-17
-6
-1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-12
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-5
0
0
0
0
0
74
31
-12
-2
0
0
-7
31
0
0
-31
0
0
32
-54
0
-3
16
0
0
-13
-93
0
0
42
-2
0
5
2
0
0
52
0
2
0
-27
0
0
-1
0
0
0
-52
0
-2
-8
-1
0
0
-42
0
0
0
0
0
0
11
0
8
0
0
0
0
3
1
0
0
0
0
2
-41
-16
-1
-13
-2
0
-12
-34
0
8
14
0
-3
-4
-42
0
7
7
-14
0
0
-59
0
0
-25
0
10
2
-49
0
0
-7
1
-3
0
56
0
0
0
0
0
0
-24
0
0
0
1
0
0
-17
1
0
0
0
1
0
-8
0
0
0
0
0
0
-8
0
1
12
0
0
0
8
0
0
-1
0
0
-9
-23
0
6
-1
0
0
-4
-27
0
-12
0
20
0
0
-35
0
-2
0
0
0
0
-24
0
0
0
6
0
0
-31
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
4
0
0
0
0
0
-50
5
-2
8
0
0
-4
63
0
0
3
0
0
1
-10
0
4
37
9
0
-16
-9
0
0
15
0
0
-2
57
0
0
1
8
0
0
-3
0
0
0
0
0
0
-17
0
1
0
-1
0
0
-6
0
0
0
0
0
0
-28
6
0
0
0
0
0
-77
0
0
0
0
0
-6
13
-3
0
-10
4
0
0
-27
0
0
0
0
0
0
97
0
0
-10
10
0
0
88
0
0
0
0
0
0
42
0
0
-2
2
0
0
-29
0
0
0
0
-8
0
35
0
0
0
0
0
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
7
2
0
0
-5
0
0
0
-1
0
0
-35
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
15
0
1
0
19
-23
46
20
0
0
4
-1
-30
8
33
0
0
0
9
36
0
0
71
0
0
0
42
-3
9
24
-13
16
-1
0
-76
43
0
0
-10
0
10
-70
-3
0
-5
47
16
4
7
-5
-2
5
21
0
-1
117
8
0
-1
24
-18
7
61
-93
0
0
-8
0
-12
6
14
0
-36
0
5
5
0
17
1
0
0
0
-26
0
66
29
62
0
52
0
0
17
-7
-3
0
0
0
59
16
25
-13
13
23
-8
-17
13
0
22
120
0
29
13
-35
-8
38
1
53
12
34
-12
-3
0
-2
5
4
8
1
0
0
0
-54
24
9
16
0
0
1
0
11
0
39
0
0
0
40
29
0
37
8
0
0
0
8
2
20
-1
0
-2
0
0
-1
-13
-1
-43
0
0
-1
13
-51
0
19
-15
5
0
-2
-34
0
-32
-5
0
1
-6
-61
0
-1
0
-62
-3
-6
-4
0
1
10
-1
-17
0
13
-13
0
0
52
-9
0
2
0
53
0
-4
-6
0
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
46
0
0
-7
0
0
0
0
0
9
-2
0
1
0
0
-9
27
0
0
-4
0
0
1
55
0
24
4
0
0
0
-32
0
0
-18
0
0
14
-7
0
0
4
0
0
1
-54
0
0
-1
0
0
0
-13
0
12
0
0
0
0
44
0
0
0
0
0
0
-10
-4
0
0
0
0
0
14
0
0
0
0
0
0
15
0
0
10
0
0
0
-22
0
0
15
0
0
0
-42
0
0
16
6
0
0
8
0
0
-1
0
0
0
-21
0
0
3
-1
0
0
-75
0
0
0
0
0
0
62
0
0
0
0
2
0
60
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
-3
0
0
0
0
27
0
0
0
0
0
0
49
0
-1
1
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
-121
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
30
0
0
-10
-12
0
-34
8
0
-3
12
-8
0
0
-1
0
0
0
1
0
0
-12
-30
0
0
0
0
-23
22
-3
-8
-24
3
0
-56
-16
0
0
12
0
0
55
-2
-1
-22
-14
41
0
-59
-32
0
-6
-32
12
0
16
-2
0
0
10
-120
0
21
-29
0
0
23
0
0
4
-29
0
-18
-51
-20
0
17
1
0
0
14
0
0
0
13
35
43
0
-5
0
0
28
-4
6
5
0
0
25
3
5
7
-10
35
0
55
10
0
2
12
0
0
66
-16
0
3
26
-82
0
-6
-21
0
8
-25
-25
0
4
-6
0
-1
5
-15
0
-34
30
0
0
-2
0
0
-3
1
0
0
-3
-18
0
0
7
-12
1
0
0
0
0
69
4
0
7
2
0
-4
-24
0
11
53
0
0
5
15
0
-6
50
-11
0
31
1
4
1
10
0
0
66
12
0
-5
81
62
0
3
5
0
-1
124
0
0
-3
-23
3
0
-14
-3
0
0
8
0
41
0
0
0
0
33
-55
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
25
-5
99
0
18
0
0
0
-40
-34
0
8
-50
0
0
0
-4
0
51
17
-51
3
0
0
-28
24
0
6
28
0
0
-13
1
0
131
77
-26
0
-6
13
0
0
58
0
0
0
2
0
-2
18
86
-8
0
-52
0
0
-4
0
0
0
-54
0
-31
-19
20
0
0
15
0
0
13
2
17
0
44
-9
-8
0
-33
0
-2
44
53
0
0
0
0
13
-10
74
-6
-7
0
0
-1
8
0
0
5
-2
1
9
9
0
-29
24
-26
-4
5
8
0
3
22
-17
-13
0
-10
0
1
-39
33
-17
0
-22
0
0
68
5
-63
0
69
0
0
2
-39
42
0
22
0
0
0
8
5
0
12
-2
-4
0
0
0
0
-20
0
-19
-2
4
4
-6
-62
0
5
-5
4
-1
0
-34
0
6
-21
0
2
0
-20
0
0
-12
19
8
0
-26
0
61
68
0
0
0
-57
0
0
-31
16
0
0
-14
0
46
9
-5
23
0
-40
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
0
0
0
0
-83
0
13
0
0
0
-5
8
0
0
23
0
0
0
-28
0
13
17
19
14
1
0
31
4
-7
0
6
0
0
-61
40
0
48
-4
76
0
-20
-7
1
-1
19
-15
46
14
3
0
1
59
24
-3
9
0
0
-1
61
0
4
0
33
0
28
34
22
-5
0
8
0
-1
0
0
47
0
-11
-19
-59
0
8
0
0
-22
-1
3
6
6
0
66
-42
52
3
-61
-68
0
41
-5
0
41
66
0
-2
15
6
-1
0
69
19
0
-14
22
0
17
-32
1
10
-1
0
0
0
-24
18
7
0
9
0
1
14
-1
39
0
26
0
0
0
-33
-67
0
-26
0
-6
0
0
0
0
-14
12
19
2
9
0
0
-56
1
23
-8
0
0
2
20
0
31
-49
13
0
-14
-22
2
-7
-56
0
0
-1
-25
-1
-4
4
5
0
-5
0
0
33
23
1
5
0
-14
0
0
-13
23
6
0
23
3
-24
0
0
-1
0
38
37
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
-5
-4
0
-5
0
0
1
80
0
0
-3
0
0
-3
-8
0
-6
-9
0
0
0
19
0
0
13
0
0
0
-4
0
0
-1
0
0
6
-8
0
0
0
0
0
0
0
0
10
0
3
0
0
3
0
0
0
0
0
0
-17
0
0
0
0
0
0
22
0
0
0
0
0
4
-8
0
0
0
-2
0
0
-21
0
0
0
0
0
0
6
0
0
-2
6
0
0
-41
0
4
0
2
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
-25
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
-9
0
10
0
0
0
0
-2
0
0
0
1
0
0
-5
0
-9
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
-34
-2
0
0
0
0
17
-3
0
0
-7
0
0
5
19
0
-2
33
-1
0
4
-41
0
0
2
0
0
1
0
0
0
0
3
0
0
1
0
0
0
0
0
0
1
0
8
0
-1
0
0
9
0
0
0
0
0
0
39
-2
0
0
0
0
0
-44
0
0
0
0
0
0
-37
0
0
1
-2
0
2
41
0
0
1
0
0
-12
8
0
0
-1
0
0
0
-1
0
0
-1
0
0
0
4
0
0
-1
0
0
0
-58
0
0
2
0
5
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
3
0
0
0
-4
0
0
0
0
0
0
3
0
0
-8
0
0
0
-5
0
1
0
0
0
0
4
0
0
0
0
0
0
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-9
0
0
1
-5
14
0
-3
0
0
0
-4
46
0
0
-20
0
0
-2
-36
2
-19
24
-65
-54
14
0
-45
-10
0
0
16
0
0
32
46
0
-49
29
-25
3
17
16
0
0
16
-10
0
-9
-14
0
-14
-4
42
0
-32
6
0
17
3
0
0
-9
31
0
7
-1
30
-1
4
10
0
0
0
-3
-39
0
-15
44
-41
0
-38
0
0
-19
13
0
17
0
0
-7
-2
15
66
41
-28
-5
-8
9
0
0
13
0
-20
-55
-18
0
-66
-49
38
-16
-6
2
0
-9
-1
-7
41
13
42
0
-7
-3
15
-7
-4
-12
0
0
0
0
43
0
24
0
0
0
6
-1
0
-26
0
0
0
1
-23
0
29
1
9
0
-4
0
0
39
2
-51
-6
0
0
0
-17
0
-7
0
-9
0
9
18
0
7
-10
0
5
0
6
8
-6
0
-52
12
0
-15
0
35
0
0
-5
0
-22
0
0
0
-22
-41
0
5
0
-46
0
0
-5
0
-35
-6
0
0
37
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
-9
0
31
0
1
0
0
0
0
-8
0
0
-33
0
0
0
-5
0
-46
-94
23
-13
0
0
-34
-23
-1
5
5
0
8
11
23
0
30
47
0
-12
-1
3
0
-4
62
0
58
28
-47
0
3
6
-4
31
-29
-9
0
-1
43
0
4
10
-73
0
-4
38
0
-20
0
37
0
0
0
0
5
0
13
-26
-24
0
0
0
0
-9
25
0
7
0
2
22
-2
9
2
55
-1
7
-69
-26
0
9
-6
0
13
-13
-10
0
-9
15
3
-8
18
36
0
0
-21
0
-7
29
-37
0
0
68
0
3
4
-13
0
0
-31
0
42
0
42
0
-5
-18
0
-55
0
16
3
0
0
0
-2
0
3
15
0
0
0
0
-2
-25
0
21
75
0
0
7
52
0
1
44
-2
0
4
51
0
-1
80
0
-18
-17
41
0
3
-31
0
-2
-6
-24
0
-10
-40
0
-4
0
33
0
0
1
0
67
0
76
0
-8
-22
0
-31
0
-50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
0
0
50
-5
0
2
21
0
0
-8
2
0
0
8
-3
0
-1
4
0
4
9
-26
-40
-80
0
0
28
-8
-7
-4
41
0
0
23
8
0
-29
5
52
0
20
-6
0
-7
-11
-16
0
-62
-5
0
0
3
-18
0
18
-108
0
0
7
-2
0
32
6
0
-38
16
8
0
0
3
0
0
-1
0
0
0
4
43
6
0
-27
0
0
-6
-89
0
43
0
0
-50
-5
1
19
-16
-20
0
39
24
0
10
50
0
0
23
28
0
4
90
-1
0
70
-17
-1
2
-1
1
0
-23
3
-8
2
21
0
0
-1
25
0
0
16
-2
0
-8
3
0
0
-5
85
0
0
-15
-4
0
0
0
0
0
63
0
0
-12
3
0
-4
24
-7
13
23
0
0
24
5
22
-25
-92
5
0
92
34
0
48
-35
3
0
5
0
0
-14
22
-33
0
0
-30
0
36
-20
10
0
0
-12
0
0
152
12
0
0
-2
0
4
-7
24
0
0
-22
140
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
0
0
8
15
0
0
-54
0
0
0
-14
0
6
-18
1
2
0
0
-3
-52
0
0
51
0
0
-77
58
-2
-49
59
66
0
-14
8
0
0
9
0
-6
1
-17
0
0
39
31
8
0
-29
0
0
21
0
22
0
-1
0
-16
-28
22
0
0
-33
0
0
0
0
-8
0
-18
0
-4
0
3
-5
0
-23
-9
0
-2
0
0
0
8
0
0
23
10
0
-3
3
0
-2
-8
0
-13
2
-22
0
3
46
-12
-3
0
6
0
0
6
0
19
0
52
0
0
61
-27
-10
0
-7
0
0
17
0
-55
0
-20
0
0
0
62
-23
0
-41
0
0
0
0
4
0
-5
0
0
0
0
0
0
-4
0
-24
5
0
0
0
3
0
14
5
5
31
1
30
-9
-3
7
0
0
0
18
0
-5
48
-13
7
0
4
0
-34
-10
0
-9
0
31
0
0
2
-10
9
0
-100
0
-5
0
0
3
0
19
1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
7
12
0
-2
35
0
0
0
-2
0
-43
-5
-22
22
0
0
24
-14
0
0
-44
0
0
-94
52
0
2
22
-50
-2
-65
19
1
0
-32
-2
22
0
-52
0
-2
10
-6
-5
-3
7
0
0
48
3
-4
2
0
0
58
7
15
8
0
-14
0
-4
0
0
29
0
-1
6
5
0
-29
-2
0
-36
-12
0
5
0
0
5
32
-25
-18
7
31
7
-23
31
-2
-8
21
0
12
-84
33
0
-25
66
69
1
-6
-15
3
5
-10
0
-7
0
-41
1
0
41
33
-22
0
0
0
7
-1
-8
4
0
-32
-3
0
-4
-1
23
0
8
0
0
0
0
0
0
8
1
0
-7
-4
0
0
-46
-1
-49
3
0
2
0
80
0
-5
-83
-4
0
0
10
-1
-28
-43
0
-19
2
13
0
5
-26
-20
4
0
-27
0
1
-4
0
17
-1
0
0
0
3
5
7
0
-114
0
-33
-2
3
3
0
3
-8
0
-12
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
24
0
0
0
0
0
8
-39
0
0
-2
0
0
-1
-6
0
-1
9
0
0
10
17
0
0
-1
0
0
0
5
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
-52
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-1
0
0
-1
0
0
0
41
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
-4
5
0
-8
0
0
1
-58
0
0
49
0
0
-8
-13
0
5
-12
0
0
5
21
0
0
0
0
0
0
10
0
0
-1
0
0
0
18
0
0
0
0
0
0
5
0
-3
0
3
0
0
4
0
0
0
0
0
0
-75
-2
0
0
0
0
0
-20
0
0
0
0
0
0
-32
0
0
0
0
0
0
18
0
0
0
0
0
0
-17
0
0
-1
0
0
0
-7
0
0
0
0
0
0
-4
0
0
5
-12
0
0
-49
0
0
0
0
0
0
-3
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
-25
0
0
0
0
0
0
12
0
0
0
0
0
0
-46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-25
44
0
0
53
0
0
0
0
0
-14
8
-10
3
0
0
-15
2
0
0
52
0
0
-31
39
0
-1
-5
5
-4
-21
25
0
0
-4
0
-2
41
-9
0
2
2
12
0
60
-15
0
-1
-4
0
-8
8
-48
0
-31
0
26
-2
0
-42
0
1
-1
0
-5
0
-31
-14
33
0
-15
0
0
-10
-15
0
0
0
0
0
-29
-6
1
0
1
0
1
-4
5
0
5
0
0
19
-44
0
8
-2
-24
2
0
-22
-1
2
0
-1
5
-4
2
0
0
0
-7
8
0
20
0
0
24
0
-1
0
59
0
0
0
-5
0
0
15
0
0
0
0
23
0
1
0
0
0
0
0
0
6
0
-7
0
0
0
0
25
10
0
0
0
-2
0
-27
4
1
-2
0
0
0
78
0
0
0
-25
-4
2
-29
0
-23
25
0
0
0
-32
0
0
0
0
0
0
22
0
-5
0
0
-1
0
-5
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-5
0
0
0
0
0
-45
-10
-4
2
0
0
-2
4
0
0
-7
0
0
-6
0
0
0
-24
0
0
4
-27
0
0
-6
0
0
1
21
0
0
-4
4
0
-4
-45
0
0
-4
0
0
0
-9
0
25
-3
-5
0
0
46
0
0
0
0
0
0
8
0
2
0
0
0
0
-25
4
0
0
0
0
0
21
4
-4
-1
0
0
0
-53
0
0
12
0
0
0
-7
0
-1
5
0
0
0
-31
0
0
-1
0
0
-3
-1
0
0
-8
0
8
0
30
0
0
2
0
-4
0
-13
0
0
0
0
-2
0
-28
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
3
0
6
-12
0
0
0
9
0
0
0
5
0
0
-8
0
7
3
0
0
0
34
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
1
-3
0
0
-2
10
0
0
3
0
1
6
6
-8
43
-7
0
73
1
0
0
53
0
0
15
9
0
-35
14
51
0
-14
20
0
0
-8
2
0
51
19
0
3
24
31
0
24
-10
0
10
42
8
0
1
19
0
-4
38
7
0
0
2
0
-1
-8
0
0
0
10
12
-3
0
-22
0
0
-12
-23
-5
3
0
0
33
-14
5
41
8
55
0
-24
18
0
20
51
0
0
40
28
7
-3
46
17
0
33
24
0
10
41
-5
0
-28
26
-2
76
34
2
0
-57
-16
0
-1
-15
-1
0
13
21
0
13
39
3
0
0
7
91
0
0
0
0
0
26
2
0
3
22
0
1
-91
-13
10
13
0
0
2
22
0
0
13
44
0
-2
45
0
-7
120
0
0
-12
30
0
37
24
-12
0
-60
13
0
14
63
-14
0
8
-1
0
1
22
10
0
0
34
0
-4
25
0
0
0
-1
-6
7
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-40
0
0
0
0
0
0
-21
0
0
1
0
0
0
24
0
-2
6
0
0
10
-1
0
0
-1
0
0
0
51
0
0
1
0
0
0
-53
0
0
31
0
0
0
8
0
-4
0
-2
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
1
0
0
0
17
0
0
0
0
0
0
-22
0
0
-2
0
0
0
34
0
0
0
0
0
0
31
0
0
0
0
0
0
-45
0
0
0
0
0
0
29
0
0
0
0
0
0
-28
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
5
0
0
0
-8
0
0
0
-2
0
0
2
0
1
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
7
-1
11
55
-91
79
0
0
-42
13
0
0
-13
0
0
-48
32
0
-69
65
15
0
-4
27
0
0
8
9
-1
-33
-73
0
-8
39
-21
0
63
28
0
0
-41
0
-6
-6
38
0
9
-14
-9
0
14
0
-3
0
0
-2
41
0
6
5
3
0
0
0
0
4
-4
0
-6
0
0
28
-15
-5
-38
49
-30
0
38
-15
0
-9
-49
0
19
126
-20
-6
7
-44
63
13
-31
16
0
2
-30
0
-5
-57
13
0
0
-80
77
-45
-1
31
0
0
-9
13
24
3
0
0
0
-1
31
5
0
14
0
0
0
13
0
0
9
3
0
0
0
0
0
-72
0
1
5
3
0
-4
8
0
43
44
-18
17
-1
41
8
78
-52
0
3
-12
-18
0
-18
-54
15
1
13
-25
0
-42
41
-5
-8
0
11
0
0
-16
-42
3
0
0
0
84
0
0
0
0
-13
-5
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
41
0
0
-2
0
0
-4
34
0
-1
-1
0
0
0
10
0
0
0
0
0
0
5
0
0
4
0
0
0
75
0
0
0
0
0
0
-1
0
-2
0
-8
0
0
-1
0
0
0
0
1
0
-75
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
-3
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-43
0
0
0
0
0
-1
-20
0
0
-3
0
0
-3
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
0
3
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-21
0
0
0
0
4
0
1
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-22
0
4
0
0
0
3
34
0
0
9
0
0
21
-10
0
42
8
-8
0
-17
31
0
0
0
0
0
0
-30
0
0
0
-7
5
0
-61
0
0
0
0
0
0
0
0
-4
0
-2
2
0
7
0
0
0
0
0
0
-6
-1
0
0
0
0
0
4
0
0
0
0
0
0
-50
0
0
1
0
0
-25
-43
0
0
0
0
-5
1
-32
0
6
5
0
0
2
35
1
0
7
0
-30
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
-1
0
-50
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-5
0
0
0
0
8
0
0
0
0
-1
0
1
0
0
0
0
0
0
-2
0
0
-2
0
13
0
33
0
0
0
0
1
0
-10
0
0
0
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-48
0
10
0
5
0
42
49
10
8
0
0
-18
-18
0
0
17
0
0
-76
18
0
6
7
0
-20
33
3
0
0
-16
0
-15
27
23
0
0
31
0
3
3
30
0
0
13
0
78
0
-23
0
-1
55
0
-3
-6
5
0
0
5
0
-6
0
36
-27
36
0
0
0
0
22
14
0
-3
0
0
4
-22
0
15
-30
0
5
80
-16
0
0
37
0
49
15
11
0
0
20
0
31
90
-18
0
0
14
0
9
-24
-38
0
0
27
0
-10
-5
12
0
0
46
0
10
0
-28
0
0
-16
0
50
0
23
-8
0
0
0
-20
0
30
0
0
0
0
0
0
-81
0
67
1
0
0
25
11
0
0
-7
0
-14
-8
11
0
-5
22
0
16
9
-42
0
0
17
3
-1
0
71
0
-15
-39
0
-2
0
8
0
0
45
0
43
0
9
0
-10
7
0
20
0
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-26
0
0
33
0
27
0
5
41
-5
-20
-3
52
-1
5
1
15
2
-4
32
-1
-5
-35
-32
-6
0
11
11
53
22
1
4
0
38
23
0
-24
11
-38
0
81
21
0
2
23
43
0
-23
-14
0
-21
-5
8
0
27
21
-19
-2
-4
41
0
0
-7
-32
-9
5
-45
0
-20
-7
-30
-13
22
-8
0
-6
-15
100
-78
12
-24
9
58
8
3
77
14
42
8
33
18
-8
-24
24
8
0
57
25
-5
-3
15
62
0
68
23
3
9
48
14
-12
43
17
0
0
17
53
0
2
9
1
-14
28
-3
0
0
-23
-53
-2
0
-10
0
-7
10
-90
-5
16
-77
0
53
-20
0
58
-61
-10
7
-107
3
-3
39
-16
3
-1
5
12
-25
0
4
4
-4
61
12
3
73
-6
12
0
-36
25
0
1
76
-10
0
-5
-3
0
-1
36
-9
0
0
-8
0
-13
44
2
0
0
36
51
19
-3
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
2
0
0
7
-39
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
1
14
0
0
-25
0
0
-8
30
0
-1
2
-5
0
5
5
0
0
4
0
0
0
5
0
0
-5
-12
8
0
-32
0
0
-6
0
2
0
-13
0
3
0
2
0
0
-14
0
0
0
0
-9
0
0
0
1
0
0
0
0
-62
0
0
0
0
0
8
-17
0
0
-5
0
0
0
2
0
0
0
0
0
1
-27
0
0
-16
0
0
0
-21
0
0
0
0
0
0
15
0
0
1
0
0
0
51
0
0
0
0
5
0
-7
0
0
0
0
-6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-25
2
0
0
0
0
0
-31
0
0
19
0
0
0
31
0
2
0
0
0
0
2
0
0
0
-1
1
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
19
-12
-33
-57
12
-1
-15
-12
-17
0
-47
1
35
34
-3
78
-15
-2
11
26
-13
-8
54
-66
-47
-16
27
14
-11
3
19
-8
17
40
-63
-1
7
10
-30
-6
-17
5
-47
-1
-24
-44
-47
60
0
20
-1
-1
28
-2
6
0
9
0
-7
0
4
48
2
19
11
9
4
-1
-2
-56
-8
-38
30
66
-57
-20
42
9
-14
5
-18
-1
117
-141
-4
-35
-29
0
-33
-31
-19
-2
-2
-17
-46
-19
4
9
-5
-3
43
2
-27
-33
73
32
-10
-5
20
24
-4
-14
40
-3
2
-15
-14
-4
4
17
0
-2
0
-2
-45
14
37
-43
-6
0
-10
0
-43
-17
34
20
-31
-5
0
-5
25
-13
-12
-1
-72
-27
26
-24
-13
-86
59
43
84
-10
-28
-3
28
-86
25
-37
45
-22
2
-57
-53
8
-22
0
-10
0
-9
29
42
-44
2
-20
3
31
0
-8
8
0
-7
0
-1
0
-18
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
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-34
0
0
8
0
0
0
0
0
0
0
0
0
-5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-16
0
0
-1
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
1
0
0
-24
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
6
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
0
0
0
0
-1
2
0
0
17
0
0
-22
22
0
0
13
27
0
9
9
0
-2
-5
0
0
-2
-38
0
0
5
0
0
0
5
0
0
-5
0
0
0
-44
0
36
3
0
-2
0
-4
0
0
0
0
8
0
-11
0
0
0
0
0
0
35
0
0
0
0
0
0
25
0
0
1
0
0
3
-13
0
0
0
0
0
0
-69
0
0
5
0
8
-2
-43
0
0
-1
0
24
0
21
0
0
-2
0
0
0
-78
0
0
0
0
-8
0
2
0
0
10
0
-17
0
-56
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-19
0
14
0
0
0
0
-9
0
0
0
0
-1
0
45
0
0
0
0
0
0
-29
0
-1
0
0
0
0
5
0
0
3
0
0
0
93
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
47
-31
-21
41
-3
0
109
39
0
0
65
0
0
11
-39
12
-36
17
8
0
-8
-13
-7
0
13
0
0
-67
-36
0
0
-42
43
0
15
-3
0
0
-51
0
0
0
11
0
-49
-27
-31
0
0
-34
0
3
0
-1
0
0
-29
47
16
0
-1
0
0
-24
78
0
13
0
0
21
4
-16
-31
-42
-23
0
-19
0
0
-4
77
0
0
-16
-27
-1
-2
-8
40
0
29
13
0
-2
30
0
0
-8
-11
0
1
-15
-10
0
0
31
0
0
45
0
0
0
39
0
0
61
-42
0
0
4
14
0
0
0
0
0
2
-26
0
-2
-9
0
8
-24
0
-67
18
0
0
-6
-13
0
33
6
7
0
41
-16
0
0
-31
-2
0
19
21
0
23
6
-1
0
7
-28
2
-4
-4
8
0
2
25
0
-13
9
32
0
3
24
0
-64
0
0
0
0
24
7
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
-27
0
0
-12
-75
10
20
-14
12
0
-16
-1
0
0
-31
0
0
0
-9
0
0
-32
20
0
0
85
0
0
3
0
0
0
-21
0
-5
-1
6
0
0
8
-1
0
0
0
2
0
-3
10
4
0
0
0
0
-36
-9
0
1
0
0
15
76
-3
-8
8
-4
0
8
30
0
-3
6
0
8
-7
-32
0
9
-2
0
-4
0
-100
0
-5
7
0
0
-3
-56
0
0
57
-8
0
0
44
0
0
0
0
6
0
5
0
0
0
0
-30
0
-10
0
0
0
0
0
0
-5
-10
0
-1
0
0
0
-7
0
0
1
0
0
0
-9
0
-1
0
0
0
0
0
0
31
4
0
0
0
-43
0
0
1
-1
0
0
15
0
9
-4
0
0
0
-21
0
0
0
-1
0
0
-8
0
35
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
32
-1
-39
26
31
27
45
-9
-47
-35
24
-5
42
44
-2
-8
16
63
-6
19
9
-5
61
35
23
-27
3
1
-5
-16
73
9
4
3
8
-17
20
12
1
17
10
-64
-8
18
20
13
34
18
5
8
23
-7
-24
10
20
-84
0
-46
-100
-37
31
-5
-63
-43
-19
-104
-89
6
6
51
-12
18
-38
6
0
-16
1
-15
23
-5
7
6
5
24
-12
33
1
42
91
33
-4
-15
-7
46
10
-16
-35
-2
-4
5
14
-8
43
8
50
0
50
-27
-5
13
3
-41
-11
-21
24
-23
56
-15
-107
0
-46
-4
-33
-90
-87
-65
-21
-14
-95
-43
-51
-6
14
-11
4
-9
-2
-34
-18
37
-21
-98
31
59
-48
25
38
-31
10
2
6
7
64
-41
6
-38
34
23
-14
-1
42
-4
70
-9
21
54
-3
11
3
-28
4
-34
-45
-14
-42
5
-42
34
-59
-5
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
116
45
17
-1
2
1
7
-33
86
-6
50
109
18
-15
-14
29
-12
49
43
-2
30
-19
-45
-2
2
28
-37
5
21
2
2
-5
11
-2
-49
24
-34
0
-3
-19
-20
-59
3
-32
1
-1
0
52
-44
0
9
-6
41
2
-33
18
3
13
-13
8
18
0
0
69
45
94
89
10
143
25
57
42
14
-16
3
23
-20
16
34
18
-56
-26
48
-4
0
10
14
0
32
-11
40
-3
-12
0
49
-58
-11
24
-7
-38
0
0
20
0
-21
1
-22
0
2
-41
57
-23
0
-3
-13
0
0
0
8
-5
19
19
21
-16
-4
0
53
-104
-24
-3
-34
8
19
25
-20
-9
27
84
-3
-5
-64
-24
29
68
43
-4
7
-30
-39
5
-81
38
63
-32
23
-29
0
4
0
2
-3
5
-18
5
5
-58
-13
-43
-1
-6
0
38
-20
0
33
0
-26
92
8
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
32
5
13
-30
-1
-8
26
-47
2
23
1
-1
31
-63
14
57
-12
-17
8
-35
26
35
0
-2
-58
20
81
35
30
0
-5
40
14
-98
7
-76
0
-2
-25
13
-10
0
-10
-1
0
0
-5
-4
0
71
24
-30
0
-96
-2
6
-16
-62
14
6
0
6
103
23
21
-14
122
35
-29
-7
57
-7
31
-6
0
-23
-66
-21
58
-13
-69
52
74
-77
-44
22
25
-68
-8
34
13
-2
1
1
-73
-41
-6
-4
-42
18
24
-7
0
23
0
23
1
0
-16
-40
-30
2
-25
-1
0
0
0
8
-9
-27
-93
-10
5
-2
8
3
-22
5
72
-7
0
0
6
-14
5
69
-92
5
0
49
-15
8
-22
7
6
-6
26
-12
-3
5
-41
-96
21
-13
-5
24
-81
-19
-8
-28
0
-102
1
1
22
-52
3
0
12
3
-12
0
0
-3
0
-45
-19
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
27
24
-7
-22
-2
10
5
-6
-42
84
7
-74
-2
31
-13
2
-22
-14
13
14
78
-4
0
8
16
77
7
18
23
0
20
33
0
31
4
17
0
15
-109
39
47
-1
18
-3
-2
9
0
18
0
39
16
56
0
-3
-1
-2
-17
45
10
-25
4
1
51
42
-23
87
55
25
14
-2
-21
7
5
-47
-14
-44
-31
0
14
-23
36
17
41
-44
8
0
-48
27
-30
-6
-7
-41
0
-8
-19
-24
-29
-1
-20
-1
-7
49
0
38
0
39
0
-1
-3
-62
-86
0
11
25
-1
0
0
-3
1
-14
-41
-1
0
31
-2
10
39
8
-135
-13
-1
5
44
5
-5
-52
-27
26
-21
38
-7
5
7
20
7
27
6
-37
-4
-11
-49
34
-6
0
-6
0
-35
-1
25
4
0
-27
-13
0
-114
10
5
2
43
0
80
-2
0
1
0
1
-29
-3
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-38
0
0
24
0
0
45
-6
0
-5
-3
0
3
-15
-23
0
20
-22
0
0
30
4
0
0
-53
0
-1
-3
-41
0
0
-9
0
0
0
-7
0
3
-4
0
0
0
5
0
0
0
0
1
0
1
-8
0
0
0
0
0
-55
-2
0
0
0
0
0
18
0
0
-8
0
0
0
-51
0
0
-1
0
0
-8
-109
0
1
-49
0
0
9
54
0
-1
1
0
0
-1
-82
0
0
-16
-4
8
0
77
0
0
0
0
0
0
0
0
0
0
0
23
0
-12
0
0
0
0
-12
0
2
1
5
0
0
0
0
32
0
-12
-1
0
0
0
-72
0
0
0
0
0
0
31
0
0
29
0
0
0
-75
0
2
-7
0
0
-3
-36
0
-2
0
0
-2
0
2
0
0
0
0
-1
0
-4
0
-7
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
-1
0
0
0
3
0
6
2
0
0
0
-24
0
0
0
0
0
0
13
0
0
0
0
0
0
-35
0
0
0
0
0
0
3
0
3
0
0
0
0
2
0
0
0
0
0
0
-70
0
1
0
0
0
0
-31
1
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
7
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
-2
0
0
0
0
-4
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
16
-6
94
4
5
-7
-20
23
-12
-8
51
-6
-48
-27
-63
-1
-6
45
-10
41
14
-8
0
1
9
-4
-10
-3
-66
0
-69
-25
26
-32
0
-65
0
1
7
0
-7
0
31
-51
-9
5
18
2
0
-12
96
-75
12
1
-5
102
-3
2
24
-55
-7
-5
43
1
5
28
-17
-2
52
-73
44
24
-48
4
91
-39
-25
-19
0
34
-42
-41
133
-4
-11
-5
-8
-4
2
-73
2
-32
0
0
5
1
16
3
36
0
-2
13
49
-9
0
48
19
0
0
0
-2
0
-91
17
-12
13
-1
7
8
-30
-2
94
-16
0
-3
4
-60
-2
32
1
-18
0
-19
27
12
22
25
0
25
9
-53
-7
-72
-78
-67
-14
-13
12
-4
-8
9
-5
-30
-2
-9
-2
2
58
-65
10
0
10
0
10
10
0
19
0
56
-49
4
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
-19
-13
-20
-14
-82
37
-15
8
0
46
3
-45
8
-14
-7
55
11
-38
-47
21
-1
-4
-58
16
-65
-39
-44
-27
54
-10
-48
11
-8
39
-1
32
-39
23
64
32
2
-14
1
-42
-41
32
-11
-41
-1
30
-33
-99
-129
-38
-71
0
1
19
-24
-5
-21
-37
12
-10
-9
-52
-35
-6
11
-1
2
23
-22
-30
-30
-31
-8
-59
1
22
29
-59
58
-10
1
-51
29
-2
64
0
-8
-31
-9
41
-64
9
-14
-18
19
47
46
22
-26
-15
12
-30
-94
-10
12
-20
-66
-11
-12
-17
-74
5
39
-42
0
-113
18
-46
-86
-38
-103
-18
-54
-29
-22
4
7
-77
-19
3
-8
-63
44
52
57
-5
82
10
25
17
-6
-8
-15
-5
-9
7
66
68
16
1
25
-11
-7
21
-24
45
-7
-50
24
-81
-66
30
-42
22
26
-22
-3
21
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-9
0
-61
-46
-1
0
-20
106
0
2
-18
0
0
-8
34
0
0
0
1
0
0
-54
0
0
-1
0
0
0
-5
0
-15
0
-2
0
0
111
0
0
0
0
0
0
-32
0
0
0
0
0
0
23
5
0
0
0
0
0
-59
0
2
19
-6
0
-1
-7
0
1
-1
0
-8
4
21
0
0
10
2
42
0
-13
0
4
0
0
-2
0
5
0
0
7
-8
-2
0
-13
0
0
-2
0
-32
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
48
0
0
-8
-2
0
0
88
-1
-2
-2
0
0
0
30
2
-4
-2
0
0
0
-17
0
5
0
0
0
0
18
0
-7
0
0
0
0
-31
0
0
0
0
0
0
75
0
0
0
0
0
0
21
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
47
0
-81
50
17
0
9
58
0
0
0
0
0
-3
7
0
0
6
-7
0
0
25
0
0
0
0
0
0
30
0
-10
0
2
0
0
8
0
0
0
0
3
0
-11
0
3
0
0
0
0
-32
-6
0
-8
0
0
0
122
0
0
0
0
0
-5
-51
0
0
4
0
0
3
76
0
0
9
0
0
2
67
0
0
0
0
0
0
14
0
0
-1
-22
0
0
16
0
0
0
0
0
0
7
0
0
0
0
0
0
-113
0
0
0
0
0
0
-13
-9
0
0
0
0
0
-1
-8
-3
3
0
0
0
-42
0
1
0
0
0
0
-20
0
-2
0
0
0
0
-22
0
0
0
1
0
0
23
0
0
0
0
0
0
6
0
0
-1
0
0
0
-38
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
-45
8
35
4
-5
55
18
18
-5
21
-12
0
14
37
-5
-7
13
33
-17
39
11
-3
59
-50
-3
-3
-38
6
-3
-13
41
-8
-46
-3
17
-2
-10
-37
0
6
0
24
-29
-54
-1
-1
-12
-5
27
0
56
6
13
64
76
37
153
91
33
41
29
7
37
-91
11
-55
1
-21
12
6
108
-4
20
68
-8
59
35
-23
-32
13
103
-6
17
11
46
21
-20
-18
26
-13
4
-5
-3
-11
15
27
-7
15
-3
-5
12
-81
9
0
25
13
-2
0
0
40
81
15
37
62
-5
-43
0
37
-6
51
-17
-120
13
-50
-3
33
-1
91
39
75
57
31
8
69
18
-32
-20
10
51
11
-48
22
50
11
60
21
11
8
2
-4
49
34
12
-8
30
5
-93
47
16
0
15
-1
-8
-7
10
6
0
5
27
-4
0
-24
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
23
0
14
14
0
0
0
4
0
0
0
0
0
0
31
0
0
0
0
0
0
103
0
0
0
0
0
0
2
0
-9
-4
0
0
0
49
0
0
0
0
0
0
-14
0
5
0
0
0
0
-15
0
0
0
0
0
0
-26
0
0
-1
0
0
0
-26
0
0
10
0
0
0
-5
0
0
3
0
0
1
23
0
0
1
0
0
0
-37
0
0
2
0
0
0
-68
0
0
0
0
0
0
-33
0
0
0
0
0
0
23
0
0
0
0
0
0
13
0
0
0
0
0
0
-20
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
1
0
0
0
0
-35
0
0
0
0
0
0
-56
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-5
0
4
1
-14
0
-8
73
0
1
-1
0
0
0
9
0
0
-1
0
0
0
-4
0
0
-4
0
0
0
-36
0
42
0
-6
0
0
-64
0
0
0
0
0
0
-10
0
0
0
0
0
0
100
-7
-5
-13
0
0
2
44
0
0
2
4
0
2
56
0
0
10
0
0
-8
41
0
0
24
-3
0
0
-1
0
0
-4
0
0
-3
47
0
0
0
6
0
0
73
0
0
0
0
0
0
6
0
0
0
5
0
0
-45
0
0
0
0
0
0
-50
0
0
0
0
0
0
128
0
-1
8
0
0
0
92
0
-3
1
0
0
0
-5
0
0
1
0
0
0
48
0
0
0
0
0
0
5
0
0
-3
0
0
0
39
0
0
-2
0
0
0
-9
0
0
0
0
0
0
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
9
-9
33
52
8
54
-73
-22
15
-3
-5
-7
-11
-3
-21
-6
-2
48
9
-55
4
18
70
-11
53
15
-38
8
2
0
5
-1
-41
-51
0
-17
-18
2
0
29
-51
3
57
45
33
118
23
-4
-28
-3
45
58
36
-41
-4
-39
-39
-26
92
0
5
-8
-26
23
101
-32
-55
-59
6
41
-3
-43
-67
44
-89
10
42
-23
8
65
36
3
8
-4
-8
4
-24
13
-16
31
0
11
-2
5
-4
-39
-17
0
-31
9
-2
0
-17
-22
0
30
52
-15
25
5
-1
-10
-6
20
23
113
17
-1
-38
9
89
38
-66
16
1
13
20
-8
19
33
116
-46
-12
-32
47
61
5
-10
21
-3
12
8
47
49
22
68
1
25
68
-8
57
6
84
-7
-10
-2
45
-22
5
-7
0
-13
26
25
12
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
16
13
-84
-18
-31
-16
7
19
8
9
30
14
-30
-9
15
-3
-15
18
-12
-54
23
49
-25
7
-3
33
-83
-23
-6
-2
41
-5
87
-16
0
-12
5
64
0
59
5
-18
-4
-31
-31
7
5
-58
-22
7
50
-15
-38
-15
51
-95
0
46
18
-36
37
15
-130
-2
66
-23
-34
-16
66
-3
4
39
-47
27
-30
8
-60
-5
-48
-16
47
21
-48
-20
-7
-6
-25
24
16
11
-27
4
-3
-12
88
23
19
1
4
47
5
5
64
0
-4
19
60
17
-27
-17
-14
-49
-63
-82
18
-49
5
-32
-39
0
69
124
-87
-62
-3
-18
16
116
-4
-80
-76
24
-177
-23
-42
-43
-70
-23
34
-63
10
1
22
-31
8
-44
10
16
0
29
7
42
62
27
18
-3
22
-6
66
41
-1
-13
-42
-7
25
33
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
51
0
0
2
0
0
18
10
0
0
20
0
0
0
33
0
1
4
0
0
0
-61
0
25
0
7
0
0
-25
0
0
0
0
0
0
-17
1
0
0
0
0
0
-42
-1
0
0
0
0
-6
81
0
-3
-7
0
0
0
-133
0
-3
24
0
-7
-6
34
0
4
-107
0
0
0
12
0
0
-1
1
0
0
-66
0
0
-3
-4
1
0
-61
0
0
0
0
0
0
20
0
0
0
0
0
0
10
0
0
0
0
0
0
31
-2
0
5
0
0
0
-22
0
-5
0
0
0
0
126
0
0
6
0
0
0
-59
0
1
0
0
0
10
-41
0
-3
18
0
0
0
30
0
1
2
0
0
0
-3
0
0
0
0
0
0
39
0
1
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
27
27
-49
-77
100
-3
-29
5
23
-46
11
-20
-41
19
0
5
19
-5
2
-25
34
-6
10
13
33
20
0
3
-1
-1
-27
0
11
0
40
-32
-44
0
26
8
-2
-20
47
13
1
-8
-4
-13
-38
-31
39
11
-34
-3
-41
2
8
-28
49
-10
5
60
-33
40
38
-45
20
55
-19
-41
-3
-2
0
-31
-58
-71
-20
-3
-25
6
9
-38
2
9
-4
-13
52
-24
54
0
-3
-3
-5
-6
-74
-20
0
-4
-3
-6
0
-2
39
25
-32
45
-3
-20
0
0
-20
-36
-54
-8
66
-13
19
-19
-5
29
57
15
3
-1
-66
17
22
-39
-33
8
66
71
-6
-3
-14
75
62
-1
-19
-15
-3
-49
30
46
52
43
-13
-6
-1
-53
16
105
-2
-2
0
-137
5
1
-29
0
1
-59
10
-2
12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
15
-18
-5
15
47
16
-10
9
-5
29
-8
10
-27
42
9
-19
-5
26
15
40
-26
0
0
-6
71
-4
44
-8
3
81
0
-2
22
-79
1
13
44
-10
0
-14
-49
58
38
-4
-58
57
13
1
-37
15
7
-2
-75
-103
56
20
-1
64
51
-4
13
-21
-4
26
3
27
14
-69
22
65
8
44
132
11
-22
14
-18
-10
18
-40
-21
-1
38
34
2
2
71
49
1
63
-12
-8
54
106
-9
-49
0
0
10
-13
9
0
-18
-26
-14
80
26
6
-15
-1
37
2
20
88
25
93
9
-23
-37
34
16
-1
29
-22
-31
-56
35
100
63
-21
-1
-20
-63
21
-8
-11
-11
32
-104
-9
2
-24
-11
-33
19
23
14
-12
16
-24
-12
23
0
22
-7
-1
64
-30
-9
55
-4
5
-2
-3
28
-30
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
-2
-6
15
0
-19
-75
-14
0
-16
-22
0
45
34
-9
0
-3
-11
0
48
85
-4
10
22
-50
-4
-16
0
7
0
1
1
0
5
0
-1
70
0
0
7
18
0
6
1
8
66
-8
0
38
-5
8
-13
34
-13
3
95
-3
1
-29
14
0
6
14
4
-1
14
-27
2
-20
108
1
0
-17
35
8
-17
51
-20
-5
-1
12
-37
1
-11
-18
-8
0
5
0
-4
-8
5
0
0
32
0
22
0
2
-4
0
0
0
-33
-16
-19
-1
-22
6
0
0
-31
32
-27
-11
-88
0
8
-63
-29
-1
-43
-21
0
0
34
19
1
-38
-79
-2
19
71
-31
1
-38
63
0
-22
-37
29
-8
21
28
4
42
84
22
0
4
4
8
0
0
-2
0
41
-8
0
56
0
-21
-69
-4
-5
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
11
0
15
79
0
0
-7
51
0
0
-41
0
0
16
-53
0
0
-3
0
0
0
-8
0
-13
-1
-44
0
0
14
0
-4
0
0
0
0
46
-8
-12
0
0
0
0
71
-4
0
0
0
0
0
-44
0
-1
8
-32
0
28
19
0
0
1
0
0
84
12
0
0
-34
2
0
31
49
0
8
25
0
0
25
-13
0
0
5
-3
0
0
-22
0
0
13
0
0
0
83
0
0
0
13
0
0
43
0
0
0
0
0
0
-51
0
0
0
0
0
0
68
0
-5
-2
0
0
6
92
0
-1
34
8
0
0
92
0
-5
55
0
0
13
5
0
0
-16
22
0
0
-55
0
26
25
0
0
0
-31
0
0
0
0
0
0
-16
0
-18
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
13
-31
3
10
-13
31
-14
14
-32
19
19
-34
25
-13
-1
2
-28
3
-36
-5
6
6
16
-5
-10
-21
0
25
-7
21
-1
44
-24
1
35
-14
23
43
6
-5
54
40
-23
-60
50
44
7
14
-4
-10
-29
5
2
20
-115
0
59
65
7
17
20
-8
7
-19
68
13
4
20
19
22
-24
20
18
2
16
10
2
-9
-21
36
-6
20
-6
-10
-1
6
-3
4
2
4
5
-3
5
0
25
-52
-2
18
22
12
40
22
0
-7
-14
-37
-64
139
-8
-5
67
11
14
12
86
96
-13
-3
-20
-25
42
-14
33
-72
-10
-9
-24
24
19
1
-7
5
1
13
13
-23
-40
41
-8
0
0
-1
25
-24
36
6
8
3
-19
26
2
-5
0
23
-26
-16
41
-49
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-2
-4
-119
-14
32
7
44
3
-31
-5
9
44
-26
68
-21
19
7
34
-8
-55
74
-2
24
-5
54
-28
-18
1
2
27
-23
4
5
29
-43
17
-38
-2
-14
-3
31
-11
5
52
7
19
-19
-87
12
-7
5
-20
1
10
16
-19
0
-25
11
42
13
6
-24
6
-14
-57
-17
-9
24
-1
14
91
6
26
-18
19
40
-2
-76
80
5
-8
6
-58
-18
-21
-35
15
73
18
-4
15
49
-12
-5
20
61
38
15
50
-39
7
-34
13
-55
-9
27
23
-4
-14
-45
32
-6
51
-6
6
15
28
-62
0
3
29
-22
22
-65
-66
-14
57
13
-15
-27
21
-98
-16
-10
-14
2
-73
112
31
18
68
-12
75
3
-22
-42
13
8
-33
-8
4
66
8
58
-11
-43
21
-40
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
31
0
0
15
0
0
0
-18
0
0
-2
0
0
0
-25
0
10
1
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
58
0
0
-4
0
0
0
47
0
0
0
1
0
0
29
0
0
7
0
0
0
5
0
0
6
0
0
7
13
0
-1
0
0
0
0
-34
0
0
-4
-8
0
0
32
0
0
0
0
8
0
44
0
0
0
0
0
0
-9
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
4
0
0
0
0
-80
0
0
-2
0
0
0
31
0
0
-6
0
0
0
42
0
0
-1
0
0
0
-41
0
0
0
0
0
0
28
0
0
3
0
0
0
123
0
12
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
0
0
48
5
0
4
-21
0
0
-8
0
-7
0
-25
0
49
0
21
0
0
15
0
0
0
0
9
0
67
-8
-8
0
-1
0
0
46
-8
-1
0
0
0
0
23
0
0
-9
37
0
24
-75
0
0
20
0
-1
-4
21
0
0
28
0
5
-1
-16
0
0
-13
0
-3
0
56
0
-5
21
1
5
0
64
0
0
0
0
-6
0
-7
0
0
6
0
-2
0
50
0
0
0
0
0
5
-42
5
0
0
0
0
0
5
17
0
4
0
0
0
-98
0
0
9
8
0
-3
8
0
-2
4
0
0
0
-4
0
0
0
-1
0
10
-29
0
-17
0
0
0
0
9
0
0
0
-10
0
0
9
0
-10
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
28
-4
7
-61
67
-19
75
3
0
-13
-56
2
69
-40
15
0
-41
-2
7
-24
0
3
-1
-4
-1
-1
-10
0
-10
-25
-44
0
43
0
-23
58
94
21
5
25
-13
-19
45
28
-133
115
36
-17
1
-22
17
-39
-47
-3
49
-16
-9
42
52
64
46
-42
79
20
-14
66
10
17
9
38
28
0
-9
-12
32
-65
-20
19
-16
-4
6
6
45
-3
-19
2
-2
0
39
51
0
8
-2
2
0
0
1
0
31
-49
-3
13
71
2
43
-16
0
-15
-5
0
0
40
52
31
-47
8
-9
2
-15
-30
-28
-36
-31
2
24
2
28
-27
63
31
30
31
94
20
0
-14
-42
-3
56
-9
42
0
13
-2
-57
60
-1
-15
0
5
0
0
-13
0
-12
-32
-1
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
56
0
0
33
7
0
-2
-114
0
0
-3
0
0
0
-24
0
-27
0
0
0
0
27
0
0
0
0
0
0
-20
-5
0
0
0
0
0
5
-7
0
-4
0
0
-1
-96
-16
0
-10
0
0
0
-8
0
0
-3
0
0
4
65
0
0
-9
-2
0
-4
-4
0
0
8
0
0
7
17
0
0
-30
0
0
0
-63
0
0
0
0
0
0
42
0
0
0
0
26
0
39
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
-12
1
0
0
0
10
0
0
0
-2
0
-6
43
0
-7
2
0
0
0
56
0
0
-1
0
0
0
-17
0
15
7
0
0
0
-21
0
0
6
0
0
0
36
0
-20
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-56
0
0
-68
0
0
-5
-80
0
8
13
0
0
-2
21
0
87
-3
-19
0
0
-15
0
0
0
0
0
0
43
-13
-5
0
0
0
0
-4
-26
0
-4
0
0
27
-63
0
4
62
81
0
38
-22
0
1
-21
0
0
-13
139
25
0
44
10
0
-60
11
0
2
-45
0
0
5
-13
0
0
5
-43
0
4
23
0
3
0
0
0
0
-31
0
0
0
-1
0
0
-31
7
0
0
0
0
0
-55
-7
0
4
0
0
0
-14
0
7
-2
0
0
0
-46
7
0
-69
-1
0
-9
-7
-3
-6
-19
0
0
-3
-13
0
-1
-7
-6
0
16
51
-7
-13
-7
0
0
7
-1
0
0
-6
1
0
0
-23
0
-21
0
4
0
0
28
-5
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
39
-3
2
0
35
0
82
-6
28
-25
0
8
0
0
0
0
-31
0
14
-19
7
0
-23
-3
0
-9
44
-1
24
0
7
5
49
50
58
-1
17
8
3
6
-7
17
25
-2
-14
-5
-11
-8
0
36
-91
2
-1
-25
12
-16
-5
17
13
0
41
0
4
21
-50
39
0
-3
0
2
44
-16
-104
0
10
0
-1
-4
-84
13
0
-42
-8
0
0
7
-4
0
-34
-3
5
14
8
4
-7
30
0
-49
22
0
23
6
40
5
2
-31
-9
-9
-3
-19
-1
-16
-123
0
23
0
-4
-3
-12
-51
-30
-2
0
-34
0
-82
-60
0
3
0
-19
-1
3
3
21
-1
0
-7
0
-3
-4
-12
-5
0
45
-22
6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-20
-19
-20
22
51
-32
-37
-16
2
-33
51
-25
-42
84
-14
1
30
40
2
-31
1
-14
-15
13
1
6
14
-31
4
2
8
1
17
13
28
-17
36
82
14
-3
7
-25
-13
46
68
7
-55
-7
14
-23
91
-55
50
-1
9
-34
0
23
86
9
17
-99
-37
3
-17
11
20
-16
-10
59
-9
0
-14
54
-13
10
-23
-3
0
-13
56
1
35
0
5
-13
-20
-5
26
30
13
-7
80
-44
-20
15
13
92
11
-50
20
8
5
-12
-6
20
15
-108
31
45
23
-1
-28
-11
47
28
-2
-53
31
0
-10
-97
-25
9
49
-44
-9
7
8
9
-78
70
17
-1
-2
-39
40
18
37
47
19
-3
43
75
13
16
-3
-13
34
-6
13
13
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
9
0
-2
0
-1
0
0
-52
0
0
0
0
0
0
14
0
8
0
0
0
0
-69
0
0
0
0
0
0
-8
0
0
0
0
0
0
-21
0
0
0
0
0
0
64
0
0
-4
0
0
1
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-60
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-19
0
-4
0
0
0
10
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
-6
0
0
58
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
-25
0
0
0
-1
0
-8
1
14
4
0
3
0
0
0
0
0
0
-37
-4
5
0
-2
0
0
31
0
0
-16
0
0
22
30
0
0
0
0
0
0
-21
0
0
-10
0
0
21
-71
0
0
-7
-2
0
-14
-1
0
0
0
0
0
-8
-13
0
0
0
-2
0
0
-34
0
0
7
0
-5
0
-41
0
0
0
0
8
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
-2
0
0
0
0
19
0
0
0
0
0
0
-24
0
0
0
0
0
5
9
0
0
0
0
0
0
18
5
-3
-14
0
-9
0
-29
0
0
0
-2
0
0
0
0
18
0
0
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
13
0
-9
-3
-12
57
-5
9
2
18
-2
5
74
4
-3
-2
-1
0
1
-17
0
6
-38
18
0
-32
7
-4
25
-16
18
-57
-4
-4
-48
-17
-2
-14
21
25
-48
-1
10
1
66
69
0
34
-43
-9
-3
-1
-24
-59
-67
38
-19
0
-31
-13
25
6
-12
40
-8
-8
8
-21
-24
-14
2
-5
-1
-5
0
7
-3
7
-1
-3
0
-2
13
0
21
-6
-1
0
-10
-13
-1
-9
-59
-1
1
-13
0
37
-9
19
-4
-25
-2
-15
-56
12
8
65
10
-10
-51
-66
14
6
-79
13
-7
-66
-20
5
-4
-41
5
-2
-27
-4
14
0
21
-8
-13
17
0
15
0
0
0
-89
6
0
9
0
-9
0
-19
9
0
65
10
4
-1
-56
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
45
-1
-6
81
0
28
24
81
0
10
-59
0
-5
0
22
0
0
0
0
18
0
17
37
-8
0
0
14
8
-14
53
-3
-10
0
0
-3
-52
4
-3
40
-1
-5
45
-34
0
2
63
0
27
99
1
0
6
-39
0
31
11
39
0
13
5
-5
-1
128
-34
0
3
16
0
25
-2
23
0
0
-51
0
24
0
-1
0
-1
59
0
-24
0
0
42
0
0
0
0
0
-37
-6
-3
0
0
0
-3
22
-3
-36
-7
0
0
-15
-35
-6
-5
-62
0
2
18
-44
0
10
-183
0
0
-8
14
-8
4
32
0
18
-6
18
0
-57
-33
0
-20
-5
17
0
0
55
0
4
0
-17
0
-9
0
0
-14
0
40
43
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
61
0
0
0
58
0
26
-5
-23
0
0
-23
0
2
0
0
0
0
7
29
-59
0
-5
0
0
14
0
0
-12
0
0
0
7
0
0
113
-2
0
6
20
0
-2
-40
0
0
28
-18
0
0
-40
5
0
-13
15
0
0
-35
0
0
34
-23
0
0
-32
22
0
14
44
0
0
1
0
0
0
55
0
0
0
109
0
0
43
0
0
0
1
0
0
15
1
0
0
0
0
0
-21
0
41
3
0
0
8
24
24
-5
-4
0
0
7
74
0
0
55
0
0
-2
-46
0
2
47
-3
0
-2
92
0
-52
8
0
0
0
43
0
0
6
-18
0
0
4
0
42
0
0
0
0
-21
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
44
5
-26
8
0
27
0
0
-19
0
-4
0
1
7
21
0
-12
0
0
-2
-33
0
10
0
0
-2
9
30
-5
-6
-22
0
0
17
0
8
-14
0
12
2
30
0
-15
-19
-24
13
0
-16
-1
0
27
-1
-3
0
41
0
3
19
73
-1
0
-13
0
0
69
0
15
0
43
0
0
0
-12
50
0
-9
0
0
0
0
0
0
-23
0
2
0
0
0
0
18
0
-13
-4
0
0
0
10
0
2
-36
6
0
0
-38
0
19
-9
13
-10
0
-52
0
-25
-38
-63
13
0
-25
0
90
-51
0
0
0
6
0
0
-29
-53
-2
0
-49
0
4
-5
-12
5
0
67
6
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
3
4
19
-7
-49
-37
66
52
-47
-42
-2
0
-15
-18
-20
-12
-8
-33
54
2
-37
47
13
-49
31
66
19
5
32
5
-30
-5
10
12
78
-88
24
-3
-75
-5
25
-89
-52
4
-47
-70
41
-6
-32
20
36
17
4
-41
0
1
118
45
34
40
-7
-5
0
20
1
-62
-9
-5
11
5
-56
19
-18
-13
-1
-24
-41
61
15
-21
-55
15
20
-3
-63
-4
-35
40
32
47
-57
-60
79
-6
-59
-5
-13
71
49
1
9
-40
-42
16
94
24
6
-78
-60
43
0
11
57
0
9
32
-76
0
-27
-16
-10
-54
19
2
5
-7
19
65
10
3
17
3
23
-11
6
-48
25
-3
1
15
24
31
-31
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-2
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
1
1
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-49
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
15
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
36
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
-4
0
0
0
0
-9
0
0
0
0
0
0
-17
-4
0
0
0
0
0
-60
0
0
0
0
0
0
-8
0
0
2
-2
0
1
3
0
0
-3
0
0
0
60
-8
0
-8
0
7
0
-50
0
0
-2
-8
3
0
-14
0
0
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
20
0
-1
0
0
0
0
13
0
0
0
0
0
0
20
0
0
0
-1
0
0
-17
0
-3
0
0
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
47
0
1
0
11
-50
-12
5
0
0
0
52
-26
0
-5
-2
-56
0
27
0
7
2
22
0
2
8
0
-44
36
4
9
-22
-5
-10
122
25
-4
27
24
0
8
47
3
-1
8
30
-9
7
-16
-24
0
-3
-16
-13
34
30
23
0
-7
-3
29
31
5
1
0
4
8
-6
20
37
33
0
0
0
-15
-37
0
9
31
0
0
2
48
0
-4
11
0
6
8
-4
10
-53
0
-41
12
-2
0
-6
-7
-16
-31
-27
9
-27
-31
-21
-12
1
0
0
-84
-3
44
0
-6
-10
31
-13
5
-4
0
-45
25
-31
6
9
44
0
0
-8
2
-43
0
29
1
-9
0
0
10
0
19
7
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-28
-3
0
0
0
6
0
0
0
0
0
0
-18
-3
0
0
0
0
0
-92
0
0
0
0
0
2
13
0
0
0
0
0
0
-23
0
0
0
0
0
1
4
0
0
-14
4
0
0
-43
0
0
9
0
0
17
-28
0
0
6
0
0
0
-26
0
0
0
0
0
0
41
0
0
0
0
0
0
-37
0
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
0
2
0
0
0
-13
0
0
0
0
0
0
2
0
0
-1
0
0
7
-23
0
0
-4
0
0
0
-24
0
0
7
0
0
0
89
0
0
0
0
0
0
-34
0
-7
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
16
-4
76
0
0
79
0
0
0
0
0
0
2
13
19
0
13
0
0
34
-18
0
17
0
0
-6
-26
0
8
14
15
0
28
11
0
1
32
0
0
4
-11
-2
0
-26
15
0
17
8
0
-3
20
0
0
-4
23
0
0
62
40
0
12
17
0
0
63
0
0
0
87
0
0
0
-58
0
0
1
0
0
0
0
0
0
69
0
0
0
0
0
0
-24
0
-19
13
0
0
0
50
0
0
5
0
0
0
70
0
0
3
0
0
0
-2
0
9
-2
7
0
0
-50
0
-21
-27
0
0
0
19
0
0
-21
7
0
0
24
0
6
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
-1
0
-42
-7
1
0
0
6
0
-26
-5
0
0
0
0
0
-36
-1
5
-7
-2
0
0
24
0
4
-5
0
0
0
59
0
0
56
5
0
0
-35
0
0
-6
0
0
0
54
0
0
19
8
0
0
-15
0
0
-14
0
-8
0
65
0
0
0
0
-6
0
19
0
0
0
0
0
0
-96
0
-3
0
0
0
0
-3
0
-19
0
0
0
0
-26
0
3
9
-6
0
0
3
0
-2
-12
0
0
0
-51
0
0
-3
8
0
0
54
0
-14
0
0
0
0
41
0
0
0
-14
0
0
-13
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
2
-13
-4
-52
1
6
24
61
2
11
2
0
-5
68
-23
21
9
-9
1
-13
75
-49
-25
1
53
11
-4
-57
62
36
-1
71
0
12
-47
-31
2
-48
9
-9
-9
2
-78
-5
27
46
54
-12
35
-27
22
45
53
-13
0
-31
-10
17
36
-44
9
55
4
21
-6
38
59
3
17
-5
-3
-1
-14
71
34
-31
30
9
32
-38
6
-41
-23
86
11
74
4
84
26
-11
81
-2
11
88
20
-167
-18
37
2
-9
-107
67
-40
20
-18
33
-32
-48
5
20
24
16
-13
69
-28
8
22
0
-2
-17
79
59
10
-4
21
2
60
-22
43
23
0
7
-24
20
2
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-4
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
-12
0
0
8
0
0
0
-30
0
0
-1
0
0
0
5
0
0
-1
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
6
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
18
-3
-5
29
-3
3
0
-4
-35
-1
0
5
-6
32
1
-16
46
-62
5
-21
29
15
68
-61
-35
19
40
29
-4
-23
55
-71
-21
-33
-21
22
46
-47
1
33
-3
19
-5
-6
76
11
-44
16
29
-10
-15
4
68
45
-9
-9
8
1
5
42
-25
74
-7
21
1
25
-28
14
24
0
-2
-30
6
-2
26
-2
16
-27
-30
-31
-31
-22
-2
-11
-54
7
-30
46
-30
1
84
-28
-3
-30
1
-11
-4
-10
-6
47
80
-31
41
-3
40
-7
-5
-11
40
20
29
27
-32
-8
81
42
14
-34
-16
-33
-2
21
-12
-10
92
3
12
-2
3
-10
-66
55
0
57
-3
8
-20
48
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
12
0
0
15
0
-49
-16
-8
0
23
0
0
-31
-5
0
1
0
0
-9
-26
-7
4
-47
16
-13
19
10
0
1
-8
0
0
46
4
0
2
8
-47
27
2
36
5
-2
17
5
-44
0
-34
0
9
0
-40
7
0
9
0
0
-8
-3
-4
0
15
0
-8
0
-1
22
0
-17
6
0
0
0
0
0
-45
1
-2
3
0
0
-5
-1
-10
-11
-8
0
0
4
-22
0
1
0
-8
-6
-7
-48
1
-5
32
0
0
1
-14
0
-9
4
-3
34
6
-66
0
-48
-12
1
6
0
5
0
0
0
6
1
0
-13
0
35
0
0
58
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
20
0
0
12
-6
3
0
-9
-48
14
0
0
6
-3
22
11
-3
22
0
5
-18
13
0
83
-30
-6
1
38
9
0
-32
-16
0
-12
5
26
8
31
18
-4
38
94
14
0
-22
31
0
-8
133
-7
-6
17
71
2
40
2
11
0
0
4
0
-30
0
6
0
0
-9
2
-1
0
-11
-14
-12
0
0
-22
-1
43
-4
0
0
0
-1
7
-14
1
-75
-22
0
6
-73
43
0
-47
-21
6
95
36
37
2
111
19
0
-40
-40
-5
0
42
27
-2
32
-19
26
0
-35
4
0
48
2
4
0
0
49
42
9
-2
1
0
18
4
0
51
0
5
44
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-10
22
-16
0
17
0
0
18
1
0
0
0
0
7
-15
0
0
-25
24
0
43
0
0
0
31
0
0
-15
-52
0
-6
5
30
0
17
31
0
0
-30
0
0
1
-29
0
6
-52
3
0
1
-39
0
0
59
0
0
0
-21
0
0
-5
-2
0
0
-59
-6
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
-7
6
0
0
0
-50
0
-2
-13
4
0
24
1
0
-12
12
0
0
0
2
0
0
-13
5
0
0
-53
0
57
24
0
0
-7
5
0
0
8
8
0
0
-21
0
2
0
0
0
0
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
1
0
0
0
0
63
0
0
0
0
0
3
8
0
0
2
0
0
6
-66
0
0
-3
0
0
-3
-18
0
0
41
7
0
0
-48
0
5
0
0
0
0
53
0
0
0
-2
0
0
-49
0
0
0
0
0
0
4
0
0
0
0
0
0
-77
0
0
0
0
0
0
-8
0
0
0
0
0
-1
6
0
0
4
0
0
0
42
0
0
0
0
0
0
-10
0
1
0
0
0
0
7
0
0
0
0
0
0
45
0
-8
0
0
0
0
13
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-30
0
57
8
0
10
54
21
54
31
-1
-15
12
-2
-53
-8
21
-56
-1
-22
36
-19
23
-8
-116
46
13
40
-5
3
-22
-22
61
-2
49
2
15
-3
8
32
-1
-31
-41
16
-12
93
6
-10
12
2
34
94
-10
15
0
1
6
-44
16
29
1
0
79
1
0
4
-105
18
33
77
-25
-11
-36
38
-5
73
-71
-30
22
31
95
47
-6
-4
29
-36
52
50
-6
35
21
7
-33
-42
-14
28
14
-29
-14
-11
41
-40
30
-12
1
-3
60
24
2
-41
-14
-3
8
58
-55
14
-3
0
2
-23
2
32
82
0
43
-17
-6
-9
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-43
2
0
0
0
0
0
4
0
0
0
0
0
0
-71
0
0
8
0
0
0
71
0
0
-1
0
0
0
79
0
0
0
0
0
0
-16
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
2
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-2
0
0
0
0
0
-13
0
0
0
0
0
-1
-8
0
0
0
-1
0
-5
-35
0
8
-13
0
0
-4
29
0
0
5
0
0
0
24
0
0
3
0
0
0
24
0
0
-1
0
0
0
-8
0
0
-3
0
0
0
31
0
0
0
0
0
0
-73
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
42
0
0
0
0
0
0
-3
0
18
5
0
0
0
-3
0
0
0
0
0
0
-34
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
2
0
0
0
0
-51
0
0
0
0
0
0
4
3
0
0
0
10
0
-60
0
0
0
0
-3
12
-76
0
0
0
0
-2
0
-7
0
0
0
0
-2
0
-104
0
0
0
-9
0
0
-26
0
0
0
0
14
0
128
0
0
0
0
-6
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
3
0
0
43
0
0
0
0
0
0
18
0
0
0
0
0
0
-43
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-2
0
0
0
0
0
42
0
0
0
0
0
-3
4
1
0
0
0
0
0
-18
0
0
2
0
0
0
-13
0
0
-5
0
0
0
-30
0
0
-1
0
0
0
9
0
0
0
0
0
0
-24
0
0
0
0
0
0
13
0
0
0
0
-1
0
-46
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
5
0
0
0
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
6
0
-24
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-38
19
0
-7
0
-2
21
40
0
-4
0
0
31
-26
0
-2
13
-9
0
51
2
0
27
-9
0
0
-20
-21
0
10
2
27
0
48
-6
0
0
70
0
0
23
-35
0
0
-13
-8
0
-5
-15
0
-4
59
0
0
1
5
0
0
-5
-29
0
0
-16
0
0
0
0
0
0
6
0
0
1
-1
0
0
-26
0
13
-16
0
0
6
-37
0
1
61
27
0
0
-1
0
-4
18
0
0
-8
-4
0
-2
-49
-28
0
-3
1
0
-16
43
0
0
-8
-13
0
0
-13
-19
0
0
-8
0
-6
0
0
0
0
-6
-13
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
3
-18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
21
45
0
13
89
15
-31
47
8
26
11
58
-15
-12
-15
0
-24
0
-16
-5
-32
16
-2
-6
20
-19
25
-7
84
-1
7
-59
33
-31
-9
-20
-98
-20
15
1
-1
-13
45
17
-9
26
-12
23
-14
-25
-26
73
-9
-7
-15
0
-23
-31
-23
-2
15
7
-1
7
-77
-59
-2
4
103
20
16
12
82
-25
88
98
-34
68
21
-21
14
16
59
0
11
11
-16
53
12
-27
-17
-42
-18
-13
-13
17
57
7
-31
-13
-57
32
25
39
8
-16
-28
-46
5
11
-42
-16
-2
-35
2
-98
51
-22
0
-34
40
-23
32
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
25
-2
50
0
0
21
-18
-12
0
5
4
0
-55
2
0
73
-55
4
-10
37
22
-4
-17
-19
6
57
0
-1
7
-8
16
-2
-64
4
-52
0
-1
74
12
-54
17
7
0
-1
17
-1
-14
0
13
0
-1
14
-25
-17
0
41
0
0
0
0
1
0
-24
5
0
0
-3
0
5
31
-1
135
16
0
-3
-5
9
-2
-5
-24
35
1
16
-10
-5
27
-58
2
22
3
-20
-4
-10
-55
44
-8
-4
-58
0
-31
66
0
-68
1
-24
0
13
4
85
43
0
-27
0
27
2
0
-26
0
13
0
-1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-6
0
-3
-31
-15
73
-5
-25
-74
-9
-27
3
0
44
-41
6
-49
58
-51
-4
18
31
-10
-75
41
-10
-6
0
-81
-5
-23
7
-62
0
-3
23
16
-8
1
-31
0
0
-11
2
23
3
48
0
5
5
-67
16
0
-25
-8
0
0
0
15
0
-4
-1
3
3
3
2
0
63
-1
105
-44
0
0
30
-25
0
-1
-89
13
1
-29
-26
-13
33
-33
0
-9
24
-48
1
32
9
-36
-49
32
-24
0
-3
-31
-1
43
8
30
0
0
27
-72
51
-1
-101
0
-1
-71
21
-4
0
11
14
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
-3
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
1
0
0
0
31
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
6
0
0
0
0
-7
-4
0
0
68
-24
0
-5
29
0
0
10
0
-9
-13
53
0
0
102
0
-5
-14
-25
0
0
-1
0
23
0
-36
0
0
43
-1
0
0
-52
0
0
-15
0
31
0
-110
0
0
0
0
11
0
3
0
0
0
0
-2
0
13
-2
0
2
0
0
0
-19
0
9
0
0
0
0
52
0
5
-6
0
0
4
7
0
0
15
0
0
0
40
0
2
-9
0
0
0
17
0
-39
73
0
-2
0
-23
0
0
10
6
10
0
-50
0
-78
0
0
-3
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
22
0
0
0
0
0
61
0
0
0
-3
0
1
29
0
0
8
0
0
0
12
0
0
5
0
0
-3
41
0
0
-9
0
0
4
10
0
-1
16
1
0
0
0
0
0
20
0
0
0
-92
0
0
0
0
0
0
24
5
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-2
0
-4
0
0
0
0
-54
0
-3
2
0
0
0
6
0
3
0
0
0
0
17
0
0
4
-5
0
0
-40
0
-32
0
0
0
0
-39
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-3
87
0
0
1
0
0
0
20
0
4
5
0
0
0
15
0
0
0
0
0
0
32
0
0
5
5
0
0
-32
0
0
0
0
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
5
0
0
0
0
2
0
0
0
0
0
0
17
0
2
-1
0
0
0
32
0
0
0
0
0
0
1
0
-5
0
0
0
0
-5
0
0
0
6
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-31
27
5
-41
-5
-57
22
15
62
14
27
52
-7
47
-5
63
13
6
-12
-6
-1
-3
-6
13
30
0
17
23
-11
-3
-51
2
12
-46
-56
-2
34
-53
-30
6
-18
-14
-2
-19
6
-50
31
-23
-1
10
27
-33
-5
-40
-17
-15
0
14
-24
2
-41
0
-61
-10
77
-46
-21
15
27
-15
31
-3
-9
21
-22
-14
73
0
96
7
59
-41
4
25
-22
45
-24
20
24
-39
-67
5
-74
8
-36
28
15
0
-9
0
38
-21
53
-16
-16
2
14
-33
-39
54
-15
15
21
-17
15
9
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-45
44
14
103
46
0
87
11
-10
-4
-58
0
1
67
36
-13
29
4
34
2
28
7
1
0
-25
0
-24
2
31
0
1
-32
-43
5
-1
-32
0
0
9
0
50
0
-11
1
0
-3
67
-91
0
5
1
0
0
0
8
6
29
-29
-2
16
8
0
8
-43
-13
96
3
0
9
-4
15
1
-13
18
-21
0
-23
-128
-1
39
71
8
0
14
56
0
-8
-46
-7
9
4
9
-2
127
-3
-2
17
0
10
2
-6
23
-47
-4
0
78
0
23
4
0
3
0
-42
-11
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-47
0
0
18
-5
0
-3
-11
0
0
0
0
0
0
15
0
0
12
-1
0
0
21
0
0
0
0
-3
0
-7
0
0
0
-1
0
0
-50
0
0
-1
0
0
0
-5
0
0
0
3
0
0
-14
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
42
0
1
-4
0
0
0
-18
0
0
0
0
0
0
6
0
2
0
-6
0
0
27
0
7
0
0
0
0
-2
0
0
0
4
0
0
0
0
10
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-9
-5
-12
-1
42
-27
0
0
-7
0
-2
-10
5
0
0
-6
0
2
0
74
10
-1
28
0
-9
0
24
0
7
0
4
0
-8
64
0
0
0
0
1
0
66
0
0
0
-9
44
0
51
-5
0
0
0
0
0
15
-43
0
0
0
0
0
90
1
32
0
0
0
0
9
0
0
-5
0
-6
0
78
-4
-2
-2
0
9
0
-14
0
0
6
-1
0
0
54
0
-5
-3
0
-3
0
19
0
0
0
-3
7
0
43
0
59
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
1
-9
22
0
-19
56
0
0
7
0
0
0
-13
0
8
-4
0
0
0
45
0
0
0
0
-7
0
8
0
0
-13
-6
0
0
-42
0
0
0
0
0
0
25
0
0
0
0
0
0
29
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-6
0
2
0
0
0
0
27
0
-4
0
0
0
0
-4
0
0
0
0
0
0
1
0
8
0
0
0
0
48
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-32
0
0
12
0
0
0
-8
0
0
-7
0
0
0
-31
0
0
6
0
0
0
-4
0
0
0
3
0
0
18
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-60
1
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
6
0
0
0
35
0
4
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
17
0
0
0
-4
0
0
0
-4
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-2
-2
0
-2
13
61
0
0
-44
-20
-21
-10
14
0
4
27
-4
2
0
48
7
0
-49
17
-4
0
-11
0
9
16
0
5
0
-13
0
4
0
-18
9
0
17
4
0
0
0
-6
0
33
-24
0
0
0
0
0
46
2
17
-5
0
0
-4
4
0
-1
106
-2
1
1
81
0
-1
-1
0
-19
-4
38
1
10
-37
49
5
0
-32
0
25
-9
0
2
0
-67
0
0
25
-15
15
0
-50
0
45
0
0
8
0
-39
23
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
31
-3
8
29
21
-5
13
13
37
110
3
-12
13
11
10
15
53
43
26
16
60
-5
-22
45
-3
12
56
-37
14
-4
-34
51
72
30
-23
-19
10
31
19
14
-26
0
-3
37
13
0
-12
25
14
28
5
24
-16
3
-12
-85
0
-37
19
21
-2
-13
-3
63
-42
-6
6
12
18
-48
-14
15
16
-32
36
96
72
35
-11
83
5
-5
-9
55
-18
-29
46
14
-7
64
3
12
-3
-17
-20
-41
15
-4
-2
-1
22
71
23
-32
0
25
-39
17
-3
28
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
5
0
6
23
0
0
41
5
0
-16
40
-6
-2
-1
5
0
-6
82
3
1
-1
77
0
0
-13
-8
0
23
4
0
0
13
0
-7
0
15
0
0
0
1
-8
0
4
0
0
0
0
0
0
-108
9
69
0
-3
0
0
52
-5
-1
1
0
0
0
-52
4
104
1
0
0
9
-49
0
-9
120
0
0
0
-11
0
-2
15
8
0
0
-7
0
73
10
-4
0
0
59
0
2
-23
-28
0
0
17
0
22
0
0
-1
0
-46
3
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
62
-5
-3
41
0
0
45
72
-3
10
117
43
12
2
38
2
0
10
0
-5
-2
57
0
0
-43
37
9
0
14
0
0
6
0
-10
0
59
0
0
0
8
-34
0
16
0
0
0
2
8
0
-59
7
0
0
0
0
-8
-27
0
-1
4
0
0
3
92
-1
-12
-8
20
0
-16
47
0
98
33
0
0
8
14
0
1
78
25
0
-2
3
0
-49
-3
9
29
0
75
0
0
30
-25
2
0
-9
0
28
-1
0
0
0
38
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
4
99
37
7
1
51
-4
-2
58
52
29
-45
-42
48
0
-15
66
23
12
52
5
-1
43
-66
31
86
1
20
0
-7
24
0
-32
-2
33
1
43
21
22
-10
0
7
-31
0
0
0
-5
0
-16
91
-5
1
-2
6
0
65
3
-45
33
0
0
-69
5
-10
12
3
-7
6
-17
-4
0
-31
25
2
49
44
-3
-9
-47
-65
23
57
-13
-15
8
-80
76
-3
-20
21
-9
0
3
52
-48
41
0
8
0
47
6
0
-4
0
73
75
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-9
0
45
66
0
81
-9
-64
1
46
-6
-25
62
79
-36
0
46
-24
-7
24
5
-12
-3
12
41
4
-24
0
-6
0
0
-4
0
47
31
0
3
-1
0
4
-14
0
18
0
0
0
0
4
0
-10
-13
0
-7
0
0
31
91
-12
51
97
0
0
13
14
1
67
-44
0
-18
73
13
2
50
36
0
12
35
-15
0
66
12
-14
15
13
-37
0
-40
-6
0
-20
0
7
0
1
36
5
16
0
11
0
-10
5
0
39
0
18
-2
-2
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
0
0
0
0
0
0
-33
0
0
4
2
0
0
-37
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
-55
0
0
0
0
0
0
3
0
0
0
0
0
0
41
0
-16
0
0
0
0
53
0
0
0
4
0
0
49
0
0
0
0
0
8
79
0
0
-1
-2
0
0
11
0
30
0
0
0
0
-14
0
0
-1
0
0
0
42
0
-4
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
-1
25
14
59
50
-13
32
22
-2
41
2
54
0
-21
0
-1
37
42
16
2
25
0
0
4
0
14
0
-22
2
6
4
80
86
0
17
7
-1
0
0
-4
0
14
13
1
0
0
0
0
55
0
9
-8
0
0
-8
32
-3
-30
113
-5
0
2
-42
-18
7
-7
1
8
0
1
0
-8
-142
-63
4
0
-19
-2
-30
5
1
8
0
5
8
0
-30
32
-33
0
59
0
79
0
0
-18
0
38
-19
0
25
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
92
-13
12
-22
-27
40
5
-13
16
23
-46
32
26
11
42
64
41
8
-3
53
8
-30
5
58
1
-8
-13
-19
35
127
88
17
-6
1
17
13
43
-13
54
-25
132
21
61
95
-14
44
-1
-9
53
93
-18
-3
-17
-49
-98
0
-121
-12
-37
30
-10
-121
-5
16
22
-33
-33
-2
-147
-11
25
-3
-16
-38
56
43
23
9
31
-20
62
-46
47
-3
-66
57
4
2
18
-44
-8
-72
19
-43
-14
-18
0
31
-33
-10
-14
45
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
84
0
-3
46
0
0
-1
-35
0
0
-4
0
0
0
-49
0
4
0
0
20
0
-21
0
0
0
0
0
0
45
0
0
0
0
0
0
-61
0
0
0
0
0
0
8
-3
0
0
0
0
0
4
0
2
0
0
0
0
-28
5
0
0
0
0
0
-41
0
-1
-5
0
0
0
-14
0
0
39
-24
0
0
-12
0
3
0
0
0
0
-18
0
0
0
0
0
0
-151
0
14
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-2
0
45
0
-3
-10
58
0
0
-2
0
-2
-6
55
8
0
9
-9
-1
3
109
0
0
0
0
0
0
-22
0
0
0
35
2
0
25
0
0
0
0
-5
0
87
-5
0
0
0
0
0
51
14
-6
1
0
0
-17
17
0
-1
-4
0
0
-5
-12
1
-1
5
-3
0
0
40
0
0
-8
-10
0
0
8
0
12
3
0
0
0
79
0
0
0
-2
0
0
-9
0
10
0
0
0
0
32
-9
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
39
-24
-74
-11
84
26
9
25
0
8
62
-4
33
-16
50
1
0
105
42
-88
4
24
0
0
-3
-6
16
0
59
0
0
-14
1
57
0
15
6
0
0
0
6
0
54
-9
24
2
5
0
-3
10
8
79
-6
-1
6
49
-4
13
49
41
-32
0
37
-23
0
56
-22
6
13
-30
-10
0
-31
-28
-50
0
16
33
0
-50
-1
-1
3
0
30
-4
-1
1
-42
15
-3
14
0
-69
-8
0
2
0
-29
45
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
30
0
0
0
-75
0
0
0
0
0
0
-7
0
0
2
0
0
0
-158
0
0
0
0
0
0
14
0
0
0
0
-6
0
38
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-14
0
2
0
0
0
-7
-14
0
0
0
0
0
0
-21
0
0
0
0
0
0
6
0
0
6
0
0
0
14
0
0
6
0
0
0
-41
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
-8
41
-1
0
13
9
0
0
-52
4
0
0
20
0
0
5
-35
0
0
8
0
1
0
0
0
5
60
0
-8
1
-22
0
0
-24
0
0
0
0
0
0
57
-9
0
0
0
0
0
-12
0
5
24
0
0
43
-20
0
0
-50
-4
0
0
2
0
-5
44
0
0
-7
29
0
0
-40
6
0
0
90
0
51
5
0
0
0
53
0
0
1
3
0
0
-12
0
15
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
12
-6
-10
-31
50
0
48
0
24
-12
46
40
0
26
0
5
-27
7
52
0
37
0
14
-15
14
21
0
15
-2
1
0
-2
-1
0
-5
3
5
-5
-1
0
0
-39
0
38
-14
0
0
-1
44
1
-49
46
6
-17
-5
-26
-1
45
-8
0
0
0
9
6
-54
48
3
21
0
1
1
33
-75
1
5
0
42
0
0
21
49
-29
0
37
0
-10
0
0
21
0
19
-45
0
-8
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-9
-16
-19
0
39
14
18
38
11
-5
25
-1
22
26
22
21
-41
-14
75
8
-33
-4
30
26
7
87
-8
0
-1
-44
-21
-8
-5
-63
76
12
37
-52
42
-29
0
18
15
27
-37
25
-14
-20
-1
-13
-45
52
66
-99
40
1
0
38
11
-5
12
17
42
-3
-40
43
12
12
84
22
-4
-1
-9
-28
-61
-53
21
41
12
19
9
16
42
15
6
0
-21
-27
41
12
0
18
30
42
-44
70
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
3
-9
0
22
0
10
0
0
0
0
0
0
-112
0
0
0
0
0
0
-46
0
1
0
1
0
0
6
0
0
0
0
0
0
31
-10
0
0
0
0
0
26
0
-6
0
0
0
0
63
0
-8
0
0
0
0
-5
0
-5
3
0
0
0
-29
0
0
0
0
0
0
48
0
-3
0
0
0
0
-55
0
-2
0
0
0
0
37
0
-44
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
9
0
7
4
-1
5
0
30
0
0
-21
-7
23
0
48
2
0
7
0
-12
0
-8
0
0
0
-8
1
0
18
0
0
0
0
-8
0
63
-6
0
0
0
1
2
-48
17
-5
18
0
3
0
-3
0
-7
44
2
0
8
-5
-4
-1
39
-4
0
0
22
-1
-15
-37
49
7
1
-19
0
-64
-4
12
-1
0
65
0
0
-3
35
0
0
-27
0
9
0
0
-12
0
-7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
14
40
30
0
19
-41
13
-27
-18
-8
29
29
20
-1
3
-1
-9
-1
30
-7
11
-2
8
-3
-56
30
5
-3
-32
-8
0
-3
27
-1
7
-9
10
-4
84
0
-59
17
-14
-14
72
-4
0
-8
10
15
14
-7
-61
7
-31
37
-5
-3
136
12
-3
-26
19
-2
49
0
-2
4
31
-19
-4
14
-5
12
-81
-1
0
-4
-6
-5
-9
66
0
-8
2
-10
0
8
90
0
36
45
-6
9
60
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
1
40
-1
13
-4
21
0
0
10
12
-16
-8
-48
0
0
15
0
15
-2
13
0
0
-4
0
-31
0
32
1
0
0
0
28
0
54
0
-1
-1
0
0
43
75
0
28
-9
0
2
46
-5
0
-9
-33
0
0
18
28
4
-60
76
0
0
-57
30
0
24
16
2
20
-2
1
3
29
-97
0
-2
0
32
0
0
-4
0
-5
0
-13
0
17
14
0
0
0
97
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-74
9
-2
17
0
0
0
23
0
0
50
26
0
0
38
0
0
18
0
0
0
29
0
0
0
-6
0
0
-21
20
0
0
0
0
0
56
-8
-7
-1
0
0
0
45
-1
13
-14
0
0
0
63
0
2
-6
0
0
2
10
-4
10
-76
0
0
9
57
0
0
97
2
0
4
34
0
-93
24
0
0
2
-9
0
0
2
-15
0
0
33
0
25
0
0
0
0
107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
-7
37
-22
0
25
0
0
-24
0
61
0
27
-5
-2
0
65
-1
0
19
10
0
0
0
-1
0
-57
-8
0
0
-3
0
1
-118
1
41
-7
0
0
0
34
0
3
23
-18
-2
0
-52
3
15
3
-6
17
-4
0
-8
13
38
-27
0
0
2
0
9
-32
2
-4
0
-18
0
0
8
-25
5
0
13
0
31
0
-1
19
0
0
17
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-16
122
-83
2
-23
-5
-20
8
-4
5
52
-52
-8
27
4
10
8
43
-12
7
-1
7
-3
-25
-16
-72
15
34
-50
21
18
57
11
17
-20
29
-5
-35
0
-131
42
10
18
-23
24
-10
51
5
7
-9
118
23
-5
-55
-63
35
0
-2
14
16
3
34
-13
-21
27
-38
-5
31
20
36
6
14
-47
15
2
-6
47
5
6
27
-2
57
61
0
-10
-13
-6
-28
79
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-27
0
0
0
0
-2
0
10
0
0
0
0
0
0
54
0
0
0
0
0
0
-15
0
0
0
0
0
0
12
0
15
0
0
0
0
34
0
0
0
0
0
0
-7
0
-6
4
0
0
0
2
0
0
4
0
0
0
-5
0
0
0
0
0
0
48
0
0
0
-4
0
0
23
0
7
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-11
0
0
34
111
-1
0
12
0
0
0
0
10
0
-29
0
0
0
14
-3
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
8
21
0
0
13
0
0
-12
19
0
-6
0
0
0
-7
-47
1
-3
0
0
0
1
-14
0
0
-1
-13
0
0
4
0
0
2
0
7
3
58
0
0
-8
0
0
-1
-6
0
30
0
0
0
0
21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
38
0
-13
10
39
33
60
9
0
8
-5
0
20
-1
17
0
-1
0
-30
7
0
27
-17
-1
0
12
31
0
-6
-13
1
0
10
0
15
-9
2
-83
24
14
9
-65
-15
6
57
21
72
-23
-5
5
-8
-33
-7
1
-15
8
-19
6
97
25
-54
7
-27
12
1
-65
-5
0
98
12
0
-5
3
4
18
77
0
1
0
-6
0
2
-26
0
-8
13
-2
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-37
0
-2
10
-2
-14
0
30
12
0
-13
0
-8
0
3
0
0
0
0
-7
0
32
0
0
0
0
0
0
-12
-2
0
-6
0
0
0
-22
-3
20
0
0
0
-9
69
0
1
-3
-1
0
1
-87
0
-1
-3
0
0
0
34
0
0
34
3
0
0
-5
0
-2
3
0
0
0
59
0
0
0
0
0
0
-5
0
50
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-49
12
8
0
16
0
0
6
0
0
0
-27
0
0
0
44
0
0
9
1
0
0
0
0
0
42
10
0
0
-16
0
0
17
0
49
-9
0
0
4
48
0
6
-11
-23
0
-35
10
0
0
42
0
0
7
16
0
-8
49
0
0
0
24
0
-26
44
0
0
0
14
0
0
-53
-47
0
0
-1
0
-25
0
0
0
0
24
16
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-42
0
0
0
0
7
0
38
0
0
0
32
52
0
-43
-9
0
0
0
0
0
-3
0
0
0
0
0
0
-25
0
0
12
0
0
0
-46
0
-24
-6
-9
2
0
74
0
8
10
2
0
0
-1
0
0
18
-3
0
2
70
1
2
13
-6
-9
0
-54
0
3
2
0
0
0
92
0
8
0
0
-14
0
-14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
11
-12
-5
28
5
-11
5
2
-4
43
27
-8
1
0
0
33
21
-2
-43
-15
24
5
39
40
-28
31
-5
23
28
-27
15
-10
-5
-16
9
-28
107
42
23
-34
-65
-33
37
-26
6
-27
18
-17
56
19
-2
-26
63
94
-7
6
0
34
-24
-59
-75
16
17
-7
43
-47
8
27
41
5
2
-21
1
28
-21
27
-1
9
-13
-7
15
-66
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
0
0
0
0
-19
0
0
5
0
0
-1
-3
0
1
0
0
0
0
22
0
0
0
0
0
0
1
0
-5
0
0
0
0
-5
0
0
0
0
0
0
-18
0
14
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
9
0
14
0
47
0
0
0
-1
5
0
82
0
0
0
0
0
0
-9
1
0
0
0
0
0
-4
0
0
-1
0
0
1
2
0
0
8
0
0
0
-4
0
0
-1
0
0
0
11
0
0
0
6
0
0
-20
0
1
0
0
0
0
120
0
2
2
-12
-6
0
-41
0
-7
0
0
-2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
0
-5
0
-2
8
0
22
0
9
0
40
101
0
-9
5
0
0
3
-4
2
-31
-65
0
20
8
0
12
-15
0
26
20
4
0
-38
-23
6
23
-1
-3
29
-49
15
6
-37
-8
4
48
36
10
0
-28
0
-13
1
-16
-22
0
14
-12
0
16
1
-2
0
-6
0
-5
-1
0
11
0
-9
0
18
-30
0
-36
-38
0
0
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-18
0
17
21
0
1
0
6
2
8
-16
-17
-11
0
-2
-26
0
0
0
-5
0
31
7
-2
-5
0
0
1
-5
-7
51
21
0
-8
112
28
0
15
27
0
-5
35
30
0
109
37
0
-61
-43
-61
-7
42
-29
-23
-3
0
10
-5
-54
53
0
9
4
3
0
-5
66
24
-47
0
16
0
12
-22
0
31
0
32
-38
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-24
0
0
0
58
0
13
0
33
0
0
9
0
0
0
0
0
0
8
2
0
-1
-4
0
0
5
0
-2
14
0
0
6
-6
0
0
8
1
0
-10
43
0
14
19
0
0
7
-62
0
4
-87
0
0
-17
-14
0
6
-13
0
0
0
38
0
0
3
6
0
0
-25
0
45
0
0
0
0
51
-2
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
-7
2
0
47
0
0
0
0
0
0
-44
0
0
0
0
0
0
1
0
-24
6
0
0
12
52
0
14
0
9
-5
0
-8
0
-4
0
0
0
0
-56
0
-5
-15
-3
0
0
-121
0
-25
1
0
0
0
28
0
0
0
0
0
0
-54
0
6
0
0
5
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-19
19
-64
-18
2
-5
8
26
7
4
-139
-60
30
17
35
-48
20
-13
38
88
15
44
-4
64
56
-39
-44
1
15
-10
47
10
44
17
2
91
14
14
109
24
19
6
40
-15
-21
-5
-15
-30
-15
58
7
40
39
-22
-49
0
7
-52
42
-17
-36
13
3
-18
-18
-23
-12
32
-13
19
-56
-10
-41
-29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
34
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
12
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
6
0
0
0
0
12
0
0
0
0
0
0
-14
0
0
2
0
0
0
-42
0
0
0
0
0
0
-5
0
10
0
0
0
0
33
0
0
0
0
0
0
-16
0
5
0
0
-1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
51
39
0
25
2
0
0
0
1
0
-5
3
3
0
0
0
-2
-56
0
-6
2
0
0
0
13
0
0
0
0
0
0
16
0
-9
8
2
-3
0
19
0
-5
-3
8
0
0
-77
0
46
0
0
-5
0
2
0
0
0
-17
-8
0
0
0
-37
0
0
1
0
-5
8
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
8
0
0
0
-14
0
0
0
0
0
0
12
0
0
0
0
0
0
17
0
0
0
0
0
0
30
0
0
0
0
0
0
-4
0
0
-1
0
0
0
51
0
0
-3
0
0
0
-49
0
-1
0
0
0
0
-67
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
0
0
10
-12
0
0
-32
-24
0
0
0
0
0
16
-12
0
-8
3
0
4
49
1
-28
-8
0
0
0
36
-14
-3
-50
37
0
7
3
0
-25
-13
0
0
8
35
0
25
23
-55
0
0
0
0
56
27
0
0
-8
10
0
-1
30
14
0
0
-51
0
-3
0
0
0
0
-36
40
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
8
0
0
0
2
0
0
-2
0
0
0
-20
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
18
-1
0
3
42
-16
-12
92
-38
-6
5
-2
44
53
-2
-5
64
-1
-64
-12
8
-84
53
-7
49
-22
-15
0
3
17
-41
7
29
-1
15
16
0
43
12
14
-8
7
-4
-23
-3
-26
-5
0
-9
0
1
19
47
55
-6
0
-5
-2
46
4
10
0
51
-37
12
-6
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
8
0
0
0
0
1
0
0
0
0
0
-6
11
0
3
-7
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
2
1
0
-66
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
2
0
0
0
0
0
-9
-5
0
0
0
0
0
0
19
0
0
0
9
0
0
21
0
0
0
0
0
0
-41
0
0
0
4
0
0
23
0
-3
0
0
0
0
17
0
0
0
0
0
0
-78
0
34
0
0
0
0
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
-35
-5
0
0
0
0
0
-2
9
14
-17
0
0
-3
7
0
2
13
0
-2
52
37
0
30
10
0
-3
2
-6
0
5
107
0
-4
3
-29
0
-40
62
0
14
0
-39
0
0
42
5
0
2
21
0
13
8
0
0
0
-48
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
32
0
0
-2
0
0
13
10
-3
-2
13
0
-1
1
-5
43
13
0
0
-5
15
0
14
50
-49
0
-34
24
0
83
-22
0
0
-5
27
0
-42
100
-12
0
-1
37
0
-21
22
-3
0
0
18
-4
1
-17
17
0
0
-7
0
48
14
0
0
0
30
-15
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
38
-33
-23
85
-11
2
98
2
1
-3
84
101
50
94
-11
54
30
39
39
-37
17
-9
1
20
-19
-33
-34
88
-13
22
-17
-8
-13
-7
-70
3
6
-3
-18
33
23
-86
17
-1
52
-7
-15
-17
-5
25
6
-14
-51
-9
10
-15
0
-31
-57
-7
-23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
1
0
0
0
-1
-7
0
0
2
0
0
0
14
0
0
0
0
0
7
-75
0
9
-9
0
0
0
25
0
3
-1
0
-10
0
30
0
0
0
3
0
0
-43
0
-31
-7
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
14
0
-5
0
0
0
0
0
0
-22
0
14
-5
0
0
0
-10
0
0
0
0
7
0
-35
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
8
-8
0
0
-13
0
0
0
0
0
0
23
0
-8
71
23
0
0
5
0
0
-3
0
0
0
49
0
0
0
2
0
0
31
0
35
0
0
0
0
40
-4
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
24
0
0
-5
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
44
0
25
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
8
33
41
1
5
1
64
-7
-23
-53
45
-43
6
24
0
20
23
-6
53
13
12
-18
-8
-91
-4
71
-19
4
20
35
-3
-17
13
-101
22
-30
-24
-20
-11
29
-27
-4
-5
0
40
-12
-2
2
0
5
-26
-1
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-36
8
0
0
0
-51
4
18
6
4
0
1
41
-4
-8
-2
0
4
-4
35
0
0
-8
9
0
-1
19
0
-15
32
-1
0
0
-59
0
0
-8
-2
-1
0
21
0
-9
-5
0
0
0
2
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
8
0
0
0
0
0
0
-27
0
0
0
0
0
0
106
0
0
0
0
0
0
55
0
0
0
0
0
0
80
0
0
0
14
0
0
9
0
4
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
1
0
0
0
0
65
0
0
-1
0
2
0
-3
0
0
0
0
0
0
-41
0
0
0
0
0
0
-43
0
6
0
0
-1
0
-35
0
0
0
-6
0
0
-83
0
-3
0
0
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
123
0
0
21
0
1
0
50
0
0
14
0
0
0
-91
0
-6
0
0
0
0
-6
0
2
5
0
0
0
-119
0
0
0
5
0
0
53
0
20
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
4
5
-18
0
0
-36
0
16
-4
-4
0
0
-16
0
0
2
-2
0
0
-6
0
15
1
0
0
0
91
0
0
0
0
0
0
49
0
3
0
0
4
0
-26
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
93
55
36
45
-10
-24
2
35
0
-21
17
15
5
-10
41
-1
-31
-27
-46
30
-22
22
-2
27
-27
-7
-30
0
75
-3
0
2
5
17
0
10
0
-24
-1
0
43
0
-22
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
1
2
0
0
0
58
0
-9
0
0
0
-8
49
0
0
-1
0
0
0
-41
0
0
0
0
0
0
-4
0
0
0
-1
0
0
-61
0
-3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
19
13
5
-22
-3
19
-25
48
5
-10
33
13
1
-7
-19
-1
10
6
-41
0
0
-21
-13
-149
-24
7
3
0
3
0
0
30
9
0
0
-30
0
40
0
-3
-4
0
-66
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
62
0
5
0
17
0
-4
42
16
-3
1
0
9
0
10
0
17
0
-6
0
0
-1
0
79
15
8
-2
0
14
0
0
0
-7
0
0
-32
0
-55
0
0
3
0
46
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-24
0
0
0
0
0
0
20
0
0
0
0
0
0
-25
0
8
1
0
0
0
46
0
0
0
-1
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
2
-2
0
0
-1
4
0
0
-2
0
0
0
42
0
0
0
0
0
0
3
0
-6
0
0
0
0
29
0
0
2
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-9
-5
-1
1
0
-44
0
3
33
31
4
0
-16
0
-17
9
0
0
0
-14
0
0
0
0
0
0
-49
0
-9
0
0
7
0
-22
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
7
26
46
13
84
-101
-21
9
29
12
3
-32
-44
6
0
22
-8
-47
41
0
-3
8
-23
26
25
-87
-1
-22
-1
-17
54
-4
40
0
-24
27
1
20
75
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
1
0
0
-1
59
0
25
0
0
0
0
-13
0
-3
5
0
0
0
13
0
0
0
0
0
0
47
0
8
0
0
0
0
-8
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-19
2
-2
16
0
0
0
49
0
0
13
7
-1
22
12
0
3
15
4
0
0
-8
0
0
-4
5
0
0
32
0
-13
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
52
-7
1
-72
0
-24
7
16
0
4
1
-37
-3
0
20
10
83
0
0
0
0
119
-1
13
0
17
19
0
-1
0
54
0
0
-6
0
-21
-14
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
-9
30
0
0
3
-11
0
-5
41
0
1
0
17
0
23
15
0
0
0
-16
0
0
3
0
0
0
35
0
79
0
0
5
0
-13
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
16
0
0
0
29
0
0
8
-16
0
1
49
0
-7
0
0
0
0
-21
0
0
0
-8
0
0
18
0
0
0
0
0
0
-2
-5
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-43
24
73
0
0
-88
0
31
-5
0
0
0
-8
0
0
16
7
2
0
-36
0
9
0
0
-3
0
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-25
-18
46
33
120
43
5
-5
-62
6
-29
-79
43
18
-1
4
-37
23
37
7
35
-2
-8
-35
4
50
0
13
-7
1
3
-120
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-2
2
0
0
0
-73
0
15
-1
5
0
0
21
0
0
0
0
0
0
-50
0
-14
0
-1
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-55
0
-2
55
-23
-7
4
-18
6
28
52
-5
-6
0
-20
0
-1
8
25
-14
0
-31
0
29
0
-2
1
0
-122
16
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
44
0
33
-3
8
-41
13
39
-2
48
0
-8
1
0
2
8
-2
-1
-22
0
0
-16
0
120
0
0
0
-2
4
-6
9
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
10
0
0
0
2
0
0
0
0
0
0
100
0
0
0
0
0
0
-4
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
-14
0
0
20
0
1
-2
0
0
0
-49
0
0
-2
0
0
0
-1
0
20
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-67
0
29
-1
0
4
0
-40
0
2
-6
8
0
0
2
0
-39
0
0
0
0
-38
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-2
0
-41
39
50
70
8
-5
7
14
-81
-14
44
0
10
0
21
31
22
-29
0
-20
13
-2
1
-97
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-7
0
0
0
5
0
0
24
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
57
0
29
-5
0
-6
0
-61
0
0
0
-24
-3
0
64
0
-33
0
0
-5
0
-19
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-34
0
42
3
21
-5
-3
-18
-8
0
0
60
43
0
-16
0
-74
0
-3
2
0
16
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-25
0
-88
18
8
5
0
-59
0
0
-18
8
-1
0
44
0
40
0
0
1
0
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
43
6
0
0
0
30
0
0
14
0
0
0
18
0
-6
0
0
0
0
-11
5
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
27
0
5
0
0
0
0
-72
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-28
-1
-33
29
8
22
-1
4
-3
-5
27
-12
-47
0
-16
-20
-7
-7
-32
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
49
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-39
0
0
-8
-132
-24
1
-12
3
-5
-27
0
9
0
-29
-51
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
53
-14
0
-35
0
22
0
-17
-19
0
60
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
-1
0
0
0
9
0
-18
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
12
0
0
0
37
0
-45
0
0
0
0
-28
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
6
19
-23
41
-22
0
0
-27
4
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-5
0
2
1
0
-44
20
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-26
-1
0
-6
0
-30
-22
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
40
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
41
-34
41
-2
-35
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
111
0
-2
-29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
3
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-46
0
0
0
0
0
0
2
0
0
0
0
10
0
0
0
-78
0
0
-51
0
0
0
0
0
0
3
0
0
0
16
0
0
10
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
10
-30
0
0
0
0
0
25
0
0
-4
18
0
0
7
42
0
0
0
0
0
6
24
0
0
0
0
0
0
-18
0
0
-8
0
0
0
5
0
12
0
0
0
0
0
0
0
0
0
-1
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-1
-23
0
0
0
0
0
0
-23
0
0
1
0
0
0
-74
0
0
3
0
0
0
5
0
0
0
9
0
0
3
0
0
0
0
0
0
10
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-15
0
-1
0
0
0
0
5
0
0
0
0
0
0
13
0
3
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
15
-22
9
22
-22
72
38
48
-17
-87
35
34
32
51
54
91
-10
-37
26
-43
-32
16
43
-58
-81
-38
28
-5
-32
6
-66
-12
37
-33
-60
-125
-53
-13
-44
13
37
0
-16
13
-1
0
30
10
-41
46
3
20
0
-29
-42
55
54
95
44
15
-3
-13
20
23
32
-5
75
4
-30
3
-27
3
-49
23
16
16
-30
-46
-47
-31
9
-34
5
10
-15
14
-27
2
-13
7
51
-16
-3
-8
-44
-15
18
-62
-4
-48
-9
-150
6
-7
-42
-64
8
5
-8
-62
-18
33
-10
59
44
10
28
5
36
-21
10
-74
19
-1
29
18
50
70
-12
-10
-6
36
13
-4
31
10
32
55
-55
-57
-4
-9
-1
7
-28
70
-27
-3
24
-4
-1
-60
-72
47
4
23
-1
-39
8
-26
10
-33
-44
-17
1
53
29
-6
14
-21
-3
-22
-88
-53
85
-8
35
-80
38
42
-19
-17
17
-58
20
4
-13
27
-45
6
99
31
23
41
-28
-14
-11
53
-22
45
-28
-54
37
-5
-4
64
-4
46
71
-56
-10
42
5
6
-2
-4
-16
17
-55
-13
11
-28
47
0
-4
51
-41
-10
-32
49
-4
16
15
-38
-17
-23
2
16
24
19
-75
-46
-55
9
52
-2
-73
-30
0
59
4
55
-28
16
-23
6
-6
18
-17
-38
13
-19
19
23
66
70
-35
-32
-45
36
19
47
-47
30
-34
-53
56
-58
0
92
-14
-4
-62
-14
4
22
69
-9
-9
-1
-31
-75
-4
4
-30
-4
25
9
-27
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
144
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
4
0
-5
-1
0
0
0
-4
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
8
0
0
-1
0
0
0
18
0
5
0
5
0
0
0
0
-17
0
0
0
0
0
0
-1
0
49
-5
0
0
-2
-5
0
0
0
0
0
7
5
0
0
-1
2
0
0
48
0
0
0
0
0
0
-1
0
8
0
2
0
0
-2
0
0
0
0
16
0
54
0
-1
0
0
0
0
-1
-1
0
0
0
0
0
35
0
6
0
0
0
1
7
0
0
0
0
0
0
-19
0
0
-2
0
0
0
7
0
0
-13
0
0
0
23
0
0
0
0
0
0
44
0
0
0
0
0
0
-2
0
0
0
5
0
0
11
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-4
0
0
0
0
5
0
0
0
-1
0
0
4
0
-1
0
0
0
0
21
0
0
5
-6
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
30
0
-2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
-1
1
0
0
1
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
5
0
0
5
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
58
46
41
-6
0
34
-13
47
-34
-3
-24
10
-46
12
-15
0
-1
0
0
-17
0
-13
3
0
5
10
-2
0
-13
7
5
0
0
8
0
0
-15
0
0
-1
0
8
157
10
-1
21
0
0
-8
4
-2
-21
-24
-19
-8
-26
9
0
-2
-15
8
50
76
5
-7
16
23
-9
66
-104
5
-5
0
-60
0
41
0
44
0
-1
15
48
7
5
-12
-1
0
-1
-2
22
-1
118
0
-1
-3
23
-2
0
0
27
-1
0
0
27
-21
43
26
6
11
16
2
58
42
7
-4
31
4
-6
-79
-29
0
66
38
80
-1
-55
-56
-22
-13
-48
0
-20
-90
43
-3
8
29
-24
4
53
32
0
3
-64
4
10
-3
7
-2
-4
-1
-16
-2
1
40
0
-6
-1
10
11
0
-6
51
31
0
-15
24
-1
35
44
5
-7
0
0
-42
87
15
33
-34
-11
0
-19
23
0
-30
44
-3
7
-15
-44
-8
-22
51
-22
-5
17
3
1
-47
24
-6
56
10
-60
-6
-3
-36
17
-21
-3
29
0
0
50
-8
-3
-8
-63
0
0
3
47
-11
0
0
51
-3
0
1
-1
0
92
6
7
4
-5
0
-2
-38
-5
-72
-5
0
1
20
-54
4
-14
-62
42
2
13
-14
-3
15
46
-4
1
-35
38
0
-30
-3
-61
9
-13
-97
0
-11
-84
2
-6
-4
-95
-1
0
-49
-18
-15
-2
0
0
46
1
2
-31
0
48
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
0
7
0
0
0
-2
4
-3
0
2
-13
-4
3
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
70
0
0
2
0
0
-61
0
0
0
0
0
8
84
6
4
1
0
-30
23
1
0
48
49
-1
-41
0
9
0
-5
4
4
7
24
5
0
-28
13
-14
19
13
10
0
39
-2
24
-4
-1
0
1
-17
0
-3
7
1
0
0
-9
0
2
0
2
0
0
0
0
-84
0
0
47
0
0
3
-8
4
83
25
-24
10
-13
0
29
-35
4
0
51
0
0
58
0
-15
7
2
-16
-4
-112
95
0
3
-67
0
1
-10
-29
-1
0
0
20
0
-7
15
0
0
79
0
0
-2
7
0
11
-3
-5
-8
0
-25
0
0
1
0
7
0
-13
48
80
0
0
0
-5
46
61
0
6
2
-3
2
-1
-4
-8
55
-66
1
37
0
-1
-1
24
5
8
-3
104
0
-13
74
-10
1
-5
13
0
25
31
-5
0
-3
-46
0
12
-16
98
0
0
68
2
0
-2
-1
-1
0
-39
0
0
0
-1
-8
0
52
1
6
0
0
0
0
-30
-6
0
1
-5
0
-1
-46
0
86
4
0
0
-17
0
0
13
55
-13
0
5
-31
0
-38
-14
0
0
-1
22
0
29
-1
-45
0
-5
88
0
6
0
-2
-4
0
-19
-6
0
8
-5
0
0
5
0
-48
0
0
1
0
-12
-3
17
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-1
0
0
0
0
0
0
0
-6
0
-5
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
64
0
0
0
0
0
2
75
0
0
0
0
27
0
0
-1
50
-1
0
19
-3
0
0
-9
0
-3
7
-8
0
2
15
5
2
11
-8
0
0
-4
0
0
-1
6
0
0
-13
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
-18
0
0
-13
0
0
0
-6
5
-13
22
2
12
7
0
16
39
0
0
-6
0
0
77
13
0
43
43
-5
0
48
25
0
0
1
3
0
29
-6
0
0
50
-5
0
0
12
0
0
-3
0
0
0
-28
0
-43
-3
0
0
0
-26
0
0
0
0
0
0
88
2
-1
0
0
0
0
80
-2
0
0
0
0
0
84
0
0
17
0
0
-13
46
0
3
13
0
0
-10
-45
0
0
-14
2
0
45
-20
0
7
-6
0
0
0
17
0
0
24
-2
0
0
-48
0
0
1
0
0
0
29
0
0
0
1
0
0
28
0
0
0
0
0
0
38
4
-2
0
0
0
0
-39
0
-3
0
0
0
0
88
0
-12
-4
0
0
0
-15
0
61
0
0
0
8
50
0
0
-3
5
0
0
93
0
-5
0
0
0
0
-31
0
0
0
0
0
0
-12
0
18
0
0
0
0
-13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
4
0
0
0
0
0
-5
0
0
0
-3
3
0
0
0
0
0
0
0
8
2
1
0
0
2
0
0
0
0
-2
11
0
0
0
0
0
16
0
0
0
0
0
-9
-13
0
0
0
0
41
-48
0
5
112
-13
-2
-22
29
2
0
-82
0
-2
56
7
0
-1
-9
-13
5
-43
-20
0
0
-2
0
0
0
2
0
0
-13
0
-1
8
-1
0
0
0
0
-15
0
5
0
0
0
0
-75
0
0
3
0
0
0
45
3
33
-12
0
13
0
0
7
34
-8
0
46
0
0
39
-13
0
19
19
43
0
11
28
0
3
-11
0
0
10
-53
0
0
22
8
0
-2
-23
0
0
-9
0
0
-5
49
0
-6
-2
8
8
0
10
0
0
0
0
0
0
36
-5
5
0
0
0
0
-15
5
0
0
0
0
-8
26
-1
0
59
-8
0
-3
32
0
-3
3
0
0
8
-16
0
-1
23
7
0
4
-59
0
-2
6
0
0
0
17
0
0
42
-13
0
2
46
0
2
-1
-1
-2
0
41
0
-4
0
3
-3
0
-41
-2
0
0
0
0
0
68
0
0
0
0
0
0
24
0
-31
7
0
0
0
8
0
-2
8
-3
0
-13
19
0
3
-1
0
0
2
-1
0
-3
3
25
0
1
-25
0
20
-3
0
0
0
-54
0
0
-1
0
0
0
-40
0
-8
0
0
0
0
53
17
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
74
5
0
86
1
-2
-12
71
4
2
69
-1
-21
-31
8
0
0
0
-1
22
-8
-13
0
-1
-4
21
-3
0
-8
0
-1
0
0
38
0
0
-20
0
0
2
8
-3
149
128
-2
5
-1
4
18
6
39
-7
57
8
-3
37
12
30
-19
-10
59
72
48
81
23
5
5
-25
7
-54
-39
-4
-5
-5
0
30
-15
6
-1
-4
41
-5
27
54
-30
0
0
21
0
68
-2
5
0
0
-1
20
-10
0
-3
4
-1
0
-1
-52
8
56
32
-24
-5
-31
0
42
14
-5
1
44
0
0
-37
-62
21
46
46
22
32
-3
-34
1
60
14
-10
0
55
-9
-6
5
28
4
52
-118
7
3
-5
-9
0
-2
56
-63
0
-40
-13
-30
-13
-3
49
0
-2
-1
3
18
-2
9
-66
-59
0
-38
-3
-3
29
-22
-2
33
0
-8
-71
32
-4
27
16
-14
-1
54
14
0
14
-66
-3
-21
-13
-15
33
46
6
97
-30
5
-10
5
5
22
79
-39
-8
0
0
-1
-93
-16
47
0
-67
0
10
-2
-8
50
5
37
0
7
-18
11
-40
0
2
-6
0
0
-5
-1
8
-8
-21
-13
0
-17
0
-8
48
15
40
3
-1
4
34
34
-1
24
-24
93
14
-12
-46
-1
30
0
25
14
-25
-1
3
51
-70
-8
-21
41
22
-9
17
-16
-31
74
28
-76
1
0
-19
-28
-19
32
-4
3
-37
-1
21
78
0
-4
-30
-6
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-1
0
0
0
-5
-10
-5
-1
0
0
0
61
3
0
0
0
0
0
5
0
0
0
0
-1
0
14
0
0
0
-11
0
0
-6
0
0
2
0
0
0
0
0
31
50
0
0
0
-3
-3
-3
0
0
4
0
0
-18
-5
0
3
1
0
-24
42
14
0
0
-31
0
1
-43
95
0
1
-2
0
-8
-17
2
0
4
2
0
15
3
0
0
0
17
0
-25
0
-7
0
0
0
0
-17
0
0
33
0
0
0
-13
0
26
13
4
-19
0
0
29
-30
0
0
-22
0
0
43
-28
0
41
-26
5
1
-17
42
0
0
41
0
0
-50
-57
0
0
7
-3
0
-1
-26
0
0
-12
0
-3
0
43
0
-39
-13
0
0
0
-5
0
0
0
0
21
0
32
29
0
0
0
0
0
-57
5
0
2
0
0
-8
41
0
-22
6
0
0
16
30
0
3
13
0
0
62
32
0
4
-2
0
7
27
19
0
-4
17
5
6
6
-5
0
-4
15
0
3
0
6
0
0
0
0
-8
0
66
0
-5
41
0
-23
0
-12
0
3
0
0
0
0
22
-8
0
5
0
0
2
-3
0
5
0
0
0
14
-57
0
18
8
0
0
2
35
0
13
8
0
0
-1
58
0
0
-4
0
6
0
-3
0
9
13
0
-10
0
29
0
0
92
0
1
0
-10
0
-13
14
0
1
0
22
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-47
0
0
0
0
0
13
0
0
0
0
0
2
2
0
0
0
0
-5
0
0
1
-13
0
0
-49
0
0
0
22
0
0
34
1
0
0
0
0
0
49
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
18
0
0
0
0
0
69
-5
0
2
6
0
8
43
0
0
-6
0
0
58
-13
0
-41
-8
0
0
-51
7
0
0
67
0
0
0
-13
0
0
-10
0
0
-4
-16
0
0
-5
0
0
0
-7
0
-15
0
0
0
0
8
0
0
0
0
0
0
47
-14
8
0
0
0
0
88
7
0
0
0
0
8
49
0
-1
0
-1
0
1
47
0
0
13
0
0
18
-107
0
0
2
-2
0
8
-39
0
-7
-6
0
0
0
-67
0
0
24
-10
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
25
0
0
0
0
0
0
-12
0
0
0
0
0
9
6
0
13
0
0
0
0
19
0
0
-5
0
0
0
50
0
-32
0
0
0
0
-24
0
0
0
0
0
0
99
0
1
0
0
0
0
17
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
148
69
9
4
58
-25
45
25
-3
-1
0
-1
-39
6
-10
0
0
-8
52
8
0
-1
-2
25
0
0
-3
0
-2
-35
0
0
0
0
8
-15
-13
1
-1
0
22
-92
-24
60
8
18
-2
60
-49
2
15
-9
-33
0
-18
-21
-92
-21
-31
29
89
-5
29
39
0
-1
-86
4
14
8
-2
0
0
30
-64
-5
39
49
0
0
-31
0
4
-2
-18
0
0
33
-47
16
0
1
-5
0
0
0
-3
19
0
63
33
-13
42
1
18
-11
-13
-10
-5
-2
-3
54
-3
5
50
46
-106
20
19
-11
20
-1
-55
-19
32
47
-39
-1
-6
27
28
-12
12
-12
-4
10
-15
0
-26
-7
-6
0
-6
-67
26
5
-12
-49
0
0
-3
0
54
0
39
5
83
0
9
0
0
-19
20
-6
39
0
0
-9
12
-17
-23
70
35
16
-71
42
2
12
44
8
-9
-68
22
61
-1
-9
-36
-30
-47
-13
9
52
-15
7
-27
-47
35
0
2
-25
43
-9
-24
12
0
-2
1
0
4
0
-52
0
0
2
6
3
0
15
0
0
-1
-2
23
0
4
-66
59
-3
-9
0
8
-11
2
5
-62
1
-14
-59
-8
-1
-5
-23
-25
17
-4
-14
13
-26
92
3
-19
1
-23
4
-21
-137
-66
-10
-2
47
0
-4
-22
23
-49
24
35
0
0
83
17
10
0
-14
0
27
-1
2
21
0
-40
-18
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
-7
0
0
31
0
0
0
0
0
4
99
0
0
0
0
-63
0
0
0
37
-3
-8
-9
-3
-4
-8
119
-2
-1
-33
0
0
0
9
17
3
3
5
0
0
2
0
3
0
5
0
0
0
-1
0
-4
-7
0
0
0
0
-5
0
-4
0
0
0
0
-19
0
0
-5
0
0
0
0
0
-17
-13
0
0
0
0
30
39
0
0
6
0
0
-18
-67
0
-36
-36
14
0
5
0
0
0
27
8
0
-15
-7
0
0
30
-2
0
-8
-23
0
0
4
7
0
0
9
0
3
0
-2
0
0
29
0
0
0
0
0
0
15
-13
0
0
0
0
0
10
4
0
0
0
0
2
-58
0
5
55
13
0
0
-31
0
8
6
0
0
92
0
0
0
-87
-7
1
15
-38
0
1
8
-6
0
0
-58
0
0
0
-3
0
0
-9
0
0
1
0
0
2
-1
0
0
0
0
0
0
50
0
0
0
0
0
0
-13
-4
0
0
0
0
0
-6
0
59
0
0
0
0
-47
-1
4
0
-1
0
0
0
0
25
1
0
0
5
-59
0
5
2
27
0
0
-109
0
1
8
-5
0
0
-32
0
0
0
0
0
0
-38
0
-6
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
10
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
60
0
0
0
0
0
0
9
-3
0
0
0
0
-1
0
0
-51
4
0
27
-9
0
0
25
0
-1
68
0
0
0
0
14
0
0
6
0
0
1
0
-4
5
5
0
-9
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
-1
0
0
0
0
0
12
13
0
4
2
0
-5
87
0
0
-14
0
0
12
31
0
64
-23
0
0
-8
57
0
0
21
0
0
4
-25
0
0
12
-1
0
7
-26
0
1
0
0
0
0
-5
0
20
0
0
0
0
16
0
0
0
0
-2
0
24
0
0
0
0
0
0
-3
-2
0
1
0
0
0
32
0
0
-4
-4
0
-4
86
0
0
-4
0
0
0
-61
0
0
8
0
0
2
31
0
0
0
0
0
0
3
0
0
0
0
0
0
40
0
0
13
0
0
0
33
0
0
0
0
-1
0
69
0
0
0
0
0
0
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-3
0
0
0
0
41
0
0
0
0
0
0
13
0
-8
0
-2
0
0
49
0
0
0
0
0
0
-43
0
0
0
0
0
0
58
0
-2
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
-1
0
-32
0
0
0
0
0
-36
0
0
0
0
0
0
75
0
0
0
0
4
0
0
0
-11
-1
7
-28
-3
0
0
80
0
0
-41
-2
7
0
2
0
0
-41
4
0
0
-4
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
7
0
0
12
0
0
1
0
10
-11
0
-4
1
0
0
41
17
2
0
-2
0
0
-13
-18
-3
-50
-9
1
0
-20
61
0
0
-8
0
0
-15
9
0
0
-9
-8
0
-5
-19
0
1
49
0
0
0
1
-2
-13
0
0
0
0
12
0
0
0
0
-7
0
20
-1
0
0
-3
0
0
63
13
0
0
0
0
0
14
0
3
7
0
0
2
19
0
0
-5
0
0
2
-2
0
-1
0
0
0
20
-55
0
0
20
0
0
8
-44
0
0
-3
0
0
0
57
0
0
0
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-41
-3
-5
0
0
0
0
21
0
0
1
0
0
0
-59
0
0
0
0
0
0
21
0
0
16
-4
0
-1
-31
0
-4
0
0
0
0
-8
0
0
0
0
0
0
-60
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-3
18
0
2
0
0
0
0
0
0
0
9
0
0
1
0
0
0
4
0
-46
0
0
1
0
0
-50
0
0
0
0
0
25
35
0
0
0
2
-25
32
4
3
24
-4
0
-97
-7
0
5
-6
0
9
66
44
0
0
-17
7
0
0
59
0
0
29
0
1
2
-4
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
-1
28
0
0
6
0
0
0
1
0
6
21
-5
-5
0
0
-18
-4
0
0
-4
1
0
5
-25
0
48
-18
-5
6
24
-88
0
8
31
0
-9
6
47
0
0
-5
5
1
20
63
0
0
3
-6
0
0
34
0
23
0
5
0
0
-29
0
0
0
0
0
0
1
25
-2
0
-2
0
0
56
-1
0
0
0
0
0
12
6
0
-28
1
0
9
-1
0
-1
2
0
0
-5
7
-1
-2
14
5
2
-2
-43
0
3
3
0
0
4
32
0
0
-1
-4
0
0
105
0
0
-5
0
0
-1
-33
0
0
0
0
1
0
98
0
4
0
0
0
0
43
0
0
0
0
0
-3
-6
0
9
12
0
0
0
-22
0
-1
7
0
0
0
23
-4
16
0
0
-2
0
66
0
0
-1
-13
0
0
28
0
-7
2
0
0
0
-48
0
0
-1
-3
0
0
-22
0
8
0
1
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
36
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
21
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
69
1
0
0
0
0
0
84
0
0
0
0
0
0
1
0
4
0
0
0
2
-2
0
0
6
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
17
0
0
0
0
0
0
56
0
0
0
0
0
0
-23
0
0
-1
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-38
0
0
0
0
0
-2
44
0
0
0
0
20
0
0
0
-16
2
0
-58
0
0
0
24
0
0
3
0
0
0
1
0
0
31
0
0
-3
0
0
0
4
5
0
0
0
4
0
1
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
14
0
0
0
0
0
49
17
0
3
5
0
20
4
0
0
-29
0
0
20
9
0
43
31
1
0
-68
2
0
0
42
0
0
-1
16
0
0
-4
-8
0
-8
25
0
0
0
0
0
0
19
0
-20
0
2
0
5
-8
0
0
2
0
0
0
-15
-3
0
0
0
0
0
-48
0
0
0
0
0
-3
47
0
0
0
0
0
6
-22
0
0
-7
0
0
3
-65
0
0
-14
-6
0
2
76
0
9
37
0
0
0
46
0
1
-2
0
0
0
-16
0
0
7
0
0
8
-8
0
0
0
-8
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
-8
0
0
0
0
-17
0
0
4
0
0
0
84
0
6
0
0
0
0
14
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-1
0
0
0
0
0
0
-13
0
-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
-5
14
0
2
0
0
-3
0
4
2
0
2
0
0
0
0
0
-69
0
0
-16
0
0
46
0
0
0
0
0
4
-12
0
0
0
0
-21
-6
0
-2
-45
0
0
-46
-5
7
-1
-18
0
7
-24
-35
0
0
23
27
0
9
30
0
0
8
0
56
0
-25
0
8
12
-4
-3
0
-27
0
0
0
0
2
0
-7
0
0
0
0
-55
0
0
-13
0
0
0
10
0
19
7
20
-47
-1
0
9
-17
-3
0
57
0
0
75
6
-3
-19
5
7
0
-66
50
-1
0
-26
-2
0
-18
-73
0
0
35
-4
1
4
-50
5
0
-17
0
0
0
-43
1
-27
-1
-3
0
0
19
0
0
0
0
33
0
-44
1
-1
0
0
0
0
-6
5
0
0
0
0
32
-31
31
0
8
-2
0
-6
68
1
7
76
0
0
-6
8
0
-1
58
31
0
0
-29
0
0
-14
-1
-6
3
5
0
-5
-6
-4
0
0
-39
0
0
10
0
-2
0
-50
0
0
0
0
6
0
-30
0
0
0
0
-1
0
-5
5
3
0
0
0
0
61
8
-20
1
0
0
0
-12
0
0
89
7
0
0
-58
0
70
4
0
0
0
48
0
-9
-32
1
0
-7
3
0
-8
7
0
0
0
17
0
0
-1
0
0
0
21
0
-7
0
0
2
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
-3
0
0
3
0
0
0
0
0
-32
0
0
0
0
0
-20
0
0
0
0
0
0
-18
0
0
0
0
8
-1
16
0
-9
-5
0
-20
0
0
0
4
0
2
60
20
0
0
-18
-28
-2
23
0
1
0
35
0
9
20
39
0
0
5
0
1
-3
-6
0
0
0
0
0
0
0
0
0
0
-5
9
0
0
10
0
0
0
0
1
-15
33
-6
-4
0
0
6
22
18
0
49
0
0
56
-26
0
-34
63
-5
0
-4
-52
0
3
59
0
0
-12
0
0
0
-19
-2
2
8
-27
0
0
-2
0
0
1
13
0
-34
0
-7
0
0
-32
0
0
0
0
0
0
30
-8
-1
0
0
0
0
24
-14
-3
3
0
0
0
-48
0
15
-5
15
0
-1
12
0
0
22
0
2
-8
3
3
3
39
-8
0
-6
0
-1
0
7
0
0
-3
5
0
0
-1
0
0
0
-22
0
0
0
0
0
0
79
0
0
2
-1
0
0
28
0
0
0
0
0
0
12
-1
0
3
-9
0
0
104
-1
41
37
0
0
0
-75
1
-5
-1
0
0
5
-33
0
31
-56
0
0
3
0
0
7
14
-2
0
0
-13
0
-10
0
5
-3
0
-7
0
0
-4
0
0
0
-63
0
24
0
0
-5
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-26
0
0
0
0
0
10
8
0
0
0
0
5
0
0
20
-27
10
0
-35
0
0
0
3
0
16
61
0
0
0
35
-1
0
1
0
0
1
8
0
0
-7
-5
0
0
0
8
9
-2
0
0
0
0
0
-4
0
-1
0
0
3
0
-1
0
0
-3
0
0
0
-1
0
-24
19
0
-8
0
0
-2
21
0
0
-18
0
0
33
-4
0
-13
-29
-8
0
8
95
0
0
5
0
0
8
-6
0
0
16
-3
0
0
21
0
0
-5
0
0
0
-1
0
-8
0
5
0
0
-13
0
0
0
0
4
0
3
-4
0
0
0
0
0
-11
10
0
0
0
0
0
42
0
5
9
0
0
-2
12
0
0
0
0
0
0
15
0
-2
-12
12
0
-1
-14
0
0
1
0
0
0
13
0
0
0
-16
0
0
2
0
0
0
0
0
0
-18
0
2
-6
0
7
0
30
0
0
0
0
0
0
5
-2
0
0
0
0
0
-4
0
1
0
0
0
0
20
0
0
0
-6
0
0
-32
0
6
0
0
0
0
85
0
0
0
-3
0
0
-2
0
0
-5
0
-2
0
30
0
0
0
0
0
0
64
0
14
0
0
-6
0
-8
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
0
0
5
-1
0
0
15
0
3
-73
7
0
0
-2
0
0
9
0
0
0
31
1
0
41
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
57
1
0
0
0
0
0
5
0
0
21
0
0
-49
0
0
-2
50
3
0
-3
18
0
0
-2
0
0
0
35
0
0
-2
0
0
18
-16
0
0
5
0
0
0
5
0
10
0
0
0
0
13
0
0
0
0
0
0
51
1
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
-1
0
0
-1
44
0
0
-5
0
0
0
20
0
0
0
0
0
0
69
0
0
0
0
0
0
-2
0
0
0
0
0
0
-62
0
0
0
0
0
0
-4
0
0
0
6
0
0
-57
0
0
0
0
0
0
34
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
10
0
0
0
-7
0
0
0
0
0
0
-10
0
-1
0
0
0
0
50
0
0
0
1
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-2
0
0
0
0
0
0
-66
0
0
0
0
0
-1
-15
0
-62
0
0
-93
0
0
0
21
0
0
-13
-3
0
3
-4
-49
5
32
0
0
0
1
0
-2
0
-3
0
0
0
-5
0
-8
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
-3
0
0
0
0
0
-22
-6
5
0
0
0
8
30
0
0
-5
0
0
39
-5
0
1
-31
0
0
-4
39
0
0
10
0
0
-5
-21
0
2
4
28
0
0
48
0
0
2
0
0
0
15
0
39
0
0
0
0
-2
0
0
0
0
-1
0
9
0
0
0
0
0
0
-36
0
0
0
0
0
0
-25
4
0
6
0
0
5
8
0
0
0
0
0
0
-3
0
0
-1
5
0
24
44
0
0
0
0
0
0
10
0
0
0
30
0
-4
-45
0
0
0
0
0
0
-28
0
0
0
0
-9
0
-89
0
0
0
0
0
0
-60
0
0
0
0
0
0
-21
0
0
0
0
0
0
9
0
0
0
0
0
-14
-23
0
24
0
0
0
0
-5
0
0
0
4
0
0
-33
0
1
0
0
0
0
11
0
0
0
-7
0
0
24
0
-3
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
9
0
0
0
-1
5
-3
0
0
0
0
0
0
0
-1
-45
0
0
-4
0
0
-56
0
0
0
-3
0
18
24
0
0
0
0
-60
5
0
0
-42
0
0
-5
13
0
13
-29
0
0
-36
0
0
0
-10
0
22
-5
-5
0
0
-9
0
13
0
0
0
0
23
0
-2
0
0
0
-4
1
0
22
0
0
0
0
0
0
54
0
0
49
0
0
0
1
0
-56
-25
0
20
0
0
12
1
0
0
-1
0
0
44
-55
0
-10
75
0
0
28
-32
0
0
57
0
0
16
23
0
0
11
0
8
-9
4
0
0
8
0
0
-5
-36
0
-67
0
0
7
0
36
0
0
0
0
2
0
17
33
-8
0
0
2
0
-56
-2
0
-2
0
0
-6
-27
0
0
-1
0
0
4
-31
0
0
1
0
0
-73
61
0
-3
-4
0
0
-8
1
0
0
-26
0
2
1
22
0
0
18
0
0
0
1
0
0
-3
0
12
0
3
0
0
0
0
-2
0
-19
0
0
0
0
0
1
-14
-2
0
0
0
0
-3
-35
0
-6
0
0
0
0
-53
0
2
-31
0
0
9
-20
0
-2
-5
0
0
0
-6
-1
0
0
0
-2
4
17
0
49
0
0
0
0
31
0
0
0
0
-3
0
-10
0
-9
0
0
0
0
-7
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
-3
0
0
0
0
-6
-1
-49
1
0
0
0
69
-8
0
0
-22
-8
0
-6
6
0
0
-31
0
0
-9
0
0
1
11
22
0
13
0
0
0
0
0
0
9
-10
0
0
10
-2
0
-4
1
0
0
-5
0
0
0
-2
0
0
0
-2
0
0
0
-9
0
0
0
0
0
12
5
-5
5
0
0
-7
77
0
0
23
0
0
93
65
0
28
-19
63
0
-87
89
0
0
-18
0
0
1
0
0
0
49
-8
0
12
32
0
0
-29
0
0
0
-42
0
-8
43
3
0
-4
-52
0
0
0
0
0
0
-60
-3
-6
0
0
0
0
-49
2
0
13
0
0
16
14
0
-1
18
-5
0
-20
38
0
1
49
0
0
6
3
0
1
57
0
0
1
28
0
13
-15
0
0
2
-50
0
-5
-45
19
0
7
16
0
0
23
0
0
-3
-104
0
0
0
-1
0
0
16
0
6
0
0
0
0
-63
0
-1
-8
0
0
0
-18
0
-29
-3
0
0
0
31
-4
0
3
0
0
0
-13
0
16
0
0
0
1
52
0
1
15
1
0
-2
-40
0
24
-7
0
0
0
-11
0
0
0
0
0
0
13
0
-5
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
10
1
0
0
8
0
-46
0
0
0
0
0
-15
0
0
0
0
0
-24
-21
0
0
0
1
-27
-5
0
0
-12
-4
0
27
1
-1
0
-33
0
0
-55
15
0
0
-29
25
2
-8
4
-1
0
-12
0
-4
0
6
0
0
-28
0
7
0
5
0
0
1
0
6
0
-3
0
0
0
-8
-43
0
0
-5
0
0
0
7
0
60
-5
-3
5
1
0
-12
-41
0
0
-81
0
0
-52
25
4
40
-10
4
-1
5
-11
0
0
43
0
0
30
14
0
2
23
-2
-3
0
-11
0
0
-19
4
-9
0
56
0
-35
-3
1
0
0
51
0
0
1
0
-12
0
-14
0
0
0
0
0
0
24
0
0
0
0
0
5
-14
12
-5
13
-3
-1
0
2
0
0
71
0
-8
0
-75
3
0
3
-5
9
0
14
0
0
24
0
-3
1
13
0
0
-12
19
0
-7
-10
0
0
-2
0
-5
0
7
0
0
0
0
26
0
9
-4
0
0
3
0
0
-2
0
0
0
0
-1
0
4
-3
-26
-24
0
0
3
28
0
1
-4
3
0
0
79
0
-9
-3
-2
0
0
-35
0
2
4
4
0
0
25
0
-29
7
0
0
0
-12
0
1
3
-8
0
0
17
0
17
0
0
1
0
7
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
-70
0
0
0
0
0
-81
0
0
0
0
0
-1
86
0
0
0
0
5
0
-3
0
-2
3
0
-35
2
0
0
10
0
-2
-8
-3
0
0
53
0
0
-14
-3
0
0
34
0
0
-19
0
0
0
-7
7
-3
0
0
0
0
-8
0
2
0
0
0
0
0
0
2
0
0
6
0
0
0
3
0
46
-16
0
17
-1
0
-8
44
-3
0
-21
0
0
23
35
0
2
28
0
0
-48
31
2
0
-29
0
0
0
3
0
5
32
0
1
0
0
0
0
-4
0
0
0
1
0
-10
-1
2
0
0
-9
0
0
0
0
0
0
-7
10
0
0
0
0
0
19
-8
0
-2
0
0
5
20
-2
-1
-25
1
0
10
43
0
0
-13
0
0
19
-16
0
0
8
1
0
0
-9
0
0
2
0
6
0
0
0
0
3
0
0
0
-55
0
0
-10
0
0
0
-1
0
0
0
1
0
0
-25
0
0
0
0
0
0
25
0
5
0
0
0
-1
1
1
3
4
0
0
0
-9
0
0
-1
-2
0
1
60
0
21
0
0
0
0
47
0
0
3
0
0
0
0
0
21
0
0
5
0
-1
2
0
0
0
0
0
-60
0
-10
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
63
0
0
0
-1
0
0
14
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
4
0
0
2
0
0
0
2
0
0
8
0
0
-1
2
0
-4
-3
-3
0
8
17
0
0
0
0
0
0
31
0
0
19
0
0
0
8
0
0
0
0
0
0
19
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
0
0
0
7
0
-1
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-5
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
-3
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
2
0
0
-66
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
1
0
0
-45
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
-2
0
0
-1
0
0
17
-1
-1
0
-2
1
0
0
-2
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-41
0
0
0
0
0
0
-5
0
0
0
0
0
0
-60
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-72
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
3
0
0
-56
0
0
0
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-71
0
0
0
1
0
0
-62
0
0
19
0
0
0
2
0
15
0
0
0
-5
9
0
0
3
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
17
2
0
0
0
0
0
18
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
-52
0
-1
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-30
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-8
0
0
31
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
7
-27
0
0
0
0
0
0
-4
0
21
-1
0
0
1
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
0
0
0
-12
0
0
7
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
27
0
0
0
0
0
-3
77
0
0
0
0
5
5
0
0
-3
0
0
39
5
-1
0
47
0
0
34
0
0
0
-4
1
0
-58
5
0
0
44
0
0
-1
0
0
0
0
0
0
14
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
9
-17
-6
-1
-4
5
0
-5
-18
0
0
-6
0
0
-65
-13
0
20
27
5
0
-16
42
0
0
50
0
0
-5
73
0
0
-12
41
0
-2
-10
0
0
-10
0
0
0
-41
0
-25
-31
12
0
0
-27
0
0
0
0
0
0
-40
-2
-5
0
17
0
0
-57
3
0
0
0
0
2
1
0
0
-5
-1
0
5
99
0
0
5
0
0
5
-32
0
0
-23
2
0
-8
-28
0
0
46
0
0
0
-13
0
0
21
-8
0
0
-29
0
0
0
0
0
0
-3
0
0
0
19
0
0
-3
0
0
0
0
0
0
62
0
0
0
0
0
0
45
0
2
0
0
0
0
46
0
0
5
0
0
0
-43
0
51
-2
0
0
0
-15
0
1
0
0
0
0
-76
0
-21
0
0
0
0
1
0
-7
0
1
0
0
-20
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
-9
0
0
0
0
0
-2
-1
0
0
0
0
2
0
0
0
31
0
4
-63
0
0
0
2
0
0
0
-2
0
0
-1
-2
-1
-3
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
3
0
0
0
0
-3
0
0
-2
0
0
0
-2
0
-46
13
0
0
-1
12
0
0
5
0
0
0
2
0
0
-2
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
-50
0
0
0
0
0
0
45
0
0
0
0
0
7
-49
0
0
0
0
0
0
8
0
0
-2
0
0
0
-57
0
0
0
0
0
0
21
0
0
-1
0
0
0
19
0
0
0
0
13
0
3
0
0
0
0
0
0
33
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
-3
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-70
0
0
0
0
0
-31
0
0
0
0
0
0
8
0
0
0
0
-4
0
0
0
38
0
0
-40
0
0
1
-49
0
0
4
-2
0
0
-12
-2
0
5
1
0
0
8
0
0
0
0
0
0
14
0
0
-6
0
0
0
4
0
-5
0
0
0
0
0
0
-2
0
0
5
0
0
0
0
0
-40
-13
3
0
0
0
-3
-17
0
0
39
1
0
-3
-1
2
53
43
2
0
9
28
0
-1
33
0
0
0
45
0
0
0
42
0
0
77
0
0
-1
0
0
0
0
0
-1
8
0
0
0
-22
0
0
0
0
0
0
-22
4
0
0
0
0
0
-32
0
0
0
0
0
0
6
5
0
2
-1
0
0
6
-1
0
3
0
0
-5
28
0
0
-8
-46
0
0
6
0
0
-2
0
3
0
-1
0
0
0
39
0
0
0
0
0
0
0
0
0
-18
0
0
0
8
0
0
63
0
0
0
0
0
0
-17
0
1
0
0
0
0
-2
0
0
13
0
0
0
13
-1
0
-2
-2
0
0
4
0
-8
0
0
0
0
5
0
0
0
3
0
0
15
0
-17
0
0
0
0
0
0
0
0
0
0
0
-37
0
-4
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
58
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
-27
0
-2
0
0
0
0
-10
0
0
3
0
0
76
0
0
3
9
0
0
-5
4
0
0
0
0
0
0
4
0
0
-7
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
0
0
0
0
0
0
16
0
0
0
0
0
-4
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
30
0
0
0
0
0
0
-41
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
6
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-47
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
24
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-34
0
0
0
0
0
-1
1
0
0
-1
0
0
5
-1
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-29
0
0
0
0
0
0
-2
0
0
0
0
0
0
-34
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
-65
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
-5
0
0
0
3
0
0
18
0
0
0
0
-2
-4
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
-21
0
0
0
0
0
0
0
0
-68
0
0
13
0
0
7
-42
0
0
1
0
0
12
2
0
-49
0
0
0
-15
31
0
0
-1
0
0
0
-18
0
0
0
0
0
0
-55
0
0
0
0
0
0
32
0
5
0
-2
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
30
0
0
0
0
0
0
8
4
1
-3
1
0
3
-42
0
0
0
0
1
0
-18
0
0
2
0
0
0
-35
0
0
0
0
0
0
38
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
12
0
-35
0
0
0
0
0
0
4
0
0
0
0
0
0
-15
0
6
0
0
0
0
4
0
0
-4
0
0
0
-4
0
6
0
0
0
0
14
0
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-33
0
0
0
0
0
53
0
0
0
0
0
2
-3
0
0
0
0
-6
0
0
0
-18
0
0
-15
0
0
0
-5
0
0
5
0
0
0
-5
0
2
0
0
0
0
0
0
80
0
0
0
0
0
0
0
6
0
0
0
0
0
-4
0
0
0
0
0
0
26
0
0
8
0
0
0
-1
0
28
-4
0
-8
0
0
2
-42
0
0
-2
0
0
9
5
0
50
10
0
0
61
60
0
2
0
0
0
0
-7
0
0
-3
0
0
1
-21
0
0
56
0
0
4
-5
0
-5
9
0
0
0
31
0
0
0
0
0
0
-41
4
0
0
0
0
0
49
-7
0
0
0
0
-3
5
0
-1
8
0
0
-20
-46
0
0
0
0
0
3
-15
0
0
5
0
0
15
-57
0
0
13
0
0
0
-23
0
0
-30
0
16
0
-21
0
0
0
0
30
0
28
0
0
0
0
6
0
15
0
0
0
0
0
0
-15
0
0
0
0
0
0
23
0
7
0
0
0
-1
-3
0
0
0
0
0
1
14
0
2
-1
0
0
0
-12
0
0
0
0
0
0
77
0
-5
0
0
0
0
3
0
0
2
0
0
0
-53
0
5
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
-33
0
0
0
0
0
-10
5
0
0
0
0
8
0
0
0
29
0
0
36
0
0
0
-26
0
0
18
0
0
0
-7
-9
0
44
0
0
1
0
0
0
2
-1
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
26
0
0
0
0
0
26
-1
-7
-2
0
0
-3
55
0
0
94
0
0
-38
-2
0
-32
-16
7
0
-40
85
0
0
58
0
0
-4
-50
0
0
-27
-9
0
-16
-16
0
0
7
0
0
0
-5
0
-26
10
-1
0
0
-41
0
0
0
0
0
0
-10
-5
-4
0
0
0
0
68
8
0
0
0
0
-1
32
0
20
-2
5
0
-7
40
0
0
7
0
0
5
-6
0
0
3
9
0
8
23
0
2
-6
0
0
0
42
0
0
49
-9
0
0
14
0
0
-19
0
0
0
39
0
0
0
-6
0
0
46
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
8
0
0
0
-2
-20
0
-2
0
0
0
0
15
0
9
0
0
0
0
-47
0
0
0
0
0
0
11
0
29
1
0
0
0
9
0
6
0
0
0
0
-6
0
71
0
0
0
0
-2
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
1
0
0
0
0
0
-5
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
-109
0
0
0
-20
0
0
19
-5
0
0
-3
0
0
13
3
0
0
0
0
0
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
-33
-5
0
0
0
0
0
-51
0
0
-7
0
0
-2
0
0
-29
-4
0
0
0
-8
0
-1
-5
0
0
1
0
0
0
0
0
0
0
5
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-69
-2
0
0
0
0
0
4
-2
0
0
0
0
3
-5
0
0
13
0
0
0
26
0
0
0
0
0
0
27
0
-1
2
0
0
0
-15
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
0
-4
0
0
0
-4
0
4
0
0
0
0
-6
0
0
0
3
0
0
13
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
34
0
0
0
0
0
0
-1
0
59
-1
0
0
12
-9
0
0
0
0
0
0
-4
0
0
8
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
10
0
5
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
5
-8
0
0
5
-8
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
-7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
0
-3
20
-5
20
16
0
-21
-19
-31
16
-14
-7
8
-88
-30
2
7
104
-29
-12
38
-13
-3
71
-25
10
11
-17
-15
34
5
14
12
13
8
14
8
-2
0
-12
-28
55
-50
-35
-2
0
1
5
-2
-5
5
0
0
13
20
-3
0
-12
-80
18
-8
-41
41
-41
-18
12
-14
38
-52
-25
-21
-14
4
45
5
17
12
22
-41
3
0
16
40
4
0
33
-18
-7
9
23
-12
-3
-5
-16
-57
-7
13
-35
-15
-18
0
1
46
-30
17
-29
24
-2
-27
16
-12
-8
42
-15
20
-10
66
-12
-8
-4
-10
26
0
0
-44
18
15
-11
-55
-2
-11
-32
5
-9
-2
-44
-40
-29
-15
-57
10
-2
-16
15
17
27
-71
-11
-4
-46
-58
-16
-46
-28
18
-2
11
-16
-8
-65
38
-19
15
-1
-28
-2
-35
41
-39
-5
-5
33
39
18
8
0
-22
39
72
-33
15
-8
0
15
23
30
-3
-4
-9
-8
-12
85
-29
-43
4
0
73
-36
-18
55
17
-22
-5
27
36
15
46
-20
46
-13
56
16
-23
-24
-14
-11
-11
-23
-21
0
57
13
35
-9
75
-35
2
45
-69
5
-20
61
16
6
23
5
-6
-26
23
-9
19
10
5
-1
49
0
14
53
40
-26
-15
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-7
-2
0
0
-2
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
9
-16
0
0
0
0
2
24
0
-1
58
54
0
-4
12
0
0
29
0
0
-54
-5
-2
7
-24
-46
0
-64
2
0
0
78
0
0
30
-4
0
0
-86
-21
0
55
0
0
0
2
0
0
0
0
0
0
0
-8
0
0
0
47
0
0
-4
0
0
-55
-13
5
16
24
0
-51
23
0
0
-23
0
0
41
-18
0
0
46
-23
0
16
9
0
0
6
0
0
32
-34
0
-7
-35
32
0
-56
24
0
0
-21
0
0
0
-1
0
-6
-4
19
0
0
4
0
7
0
0
0
0
-7
-22
-25
0
8
0
0
4
64
2
-4
0
0
37
34
4
10
-9
-19
0
26
-14
0
3
-9
0
0
12
63
8
-1
3
15
0
84
-32
0
-1
63
0
0
-4
-8
1
1
22
-48
0
0
53
0
14
5
0
0
7
-52
0
-1
3
-10
0
0
-41
0
4
0
0
0
0
-54
-32
3
-2
6
0
1
12
-3
-27
17
0
0
-1
75
0
4
-12
-6
0
0
-11
0
42
-3
0
0
5
-70
0
0
-1
42
0
-1
46
0
19
3
-2
0
0
49
0
0
-1
5
0
0
38
0
-48
-2
0
0
0
-15
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-31
50
7
-27
-51
-30
-15
-27
13
47
2
-4
-2
5
-38
35
14
14
84
2
24
-36
143
0
0
-41
-35
7
-30
78
42
-6
-59
-5
-54
-27
4
1
-21
-8
-23
41
58
-4
-47
-14
-31
-2
-137
-88
-25
-17
-56
38
17
-19
-13
-1
-10
-25
-33
89
93
2
12
19
22
2
31
15
-17
-33
48
8
43
54
-15
-23
-136
0
-1
-5
-4
12
10
-10
52
42
37
5
19
9
20
-40
-13
-37
-46
-18
-10
-3
40
10
-8
13
31
-2
5
34
-8
23
54
61
-13
11
-39
-49
4
-7
-2
8
0
21
-25
53
-2
49
-4
-20
-45
9
42
4
98
3
-36
14
41
24
-23
49
7
81
-11
24
68
-3
8
11
1
20
0
-6
-15
42
7
41
18
-2
-44
25
30
27
35
-19
17
3
8
-40
1
-25
57
42
80
-20
-22
-27
-20
23
-32
-23
13
-1
-21
-1
12
-15
-51
-54
-14
-15
30
-55
58
-42
-25
63
-17
23
-38
-23
46
-17
42
-30
68
10
13
-56
14
33
-25
-92
-35
2
34
21
-17
11
-59
21
-15
79
59
78
-19
8
-4
-37
-24
43
39
11
-50
62
-18
15
15
15
10
103
75
58
-49
79
18
11
-6
9
-36
40
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-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
1
0
0
0
0
0
0
0
0
20
0
0
57
0
0
0
5
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
5
0
0
0
0
0
0
53
0
0
0
0
0
0
-3
0
62
0
0
0
12
-3
0
0
1
0
0
0
-4
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
3
0
0
0
1
0
0
8
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
43
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
0
54
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
0
0
0
-98
0
0
-3
0
0
0
0
0
17
7
2
0
40
-8
0
0
-2
0
0
0
-2
0
0
-3
8
0
0
76
0
0
1
0
0
0
0
0
-21
0
0
0
0
-6
0
0
0
0
0
0
-1
12
0
0
0
0
0
35
0
0
0
0
0
-4
1
0
0
0
0
0
0
58
0
0
-4
0
0
0
97
0
0
1
0
0
0
-59
0
0
4
0
0
0
-9
0
0
0
3
0
0
-28
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
-8
0
0
0
0
0
0
-10
0
1
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-8
0
0
0
13
0
0
5
5
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
0
0
0
-6
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
99
0
0
0
-5
30
0
0
-4
0
0
0
67
0
0
-6
0
0
0
-13
0
0
2
0
0
0
-6
0
0
0
5
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
5
0
0
0
0
0
39
0
-5
0
0
0
0
-75
0
0
0
0
0
0
45
0
0
0
0
0
0
5
0
0
12
0
0
0
44
0
0
0
0
0
0
41
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
-3
0
0
0
0
-5
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-51
-7
4
55
0
-8
86
-1
0
0
63
0
1
1
-4
0
0
75
-13
44
-67
3
1
4
-14
0
32
-1
5
0
0
8
0
-34
2
0
0
0
0
0
-14
0
3
0
0
0
13
-61
0
0
5
0
0
0
-2
0
0
13
-87
27
4
0
-84
40
0
-7
-24
0
0
-46
98
0
7
45
41
0
24
-9
0
6
13
1
-1
-33
31
0
-1
-9
1
0
2
-43
-2
0
-20
0
0
2
48
0
-7
-25
-5
0
0
-39
0
0
0
0
30
0
40
-15
-5
0
0
0
0
0
4
-12
0
0
0
-8
5
-4
42
83
-6
0
-30
42
0
-2
-26
0
0
12
-31
-1
2
-35
4
0
51
-18
0
2
-54
0
-3
2
-82
0
3
-68
39
0
0
8
4
8
-6
0
3
0
-31
0
9
8
8
-9
0
-6
0
0
0
0
0
0
0
-17
0
5
0
0
0
-32
-1
-77
-22
0
0
-1
-29
0
0
2
0
0
6
27
-8
8
-13
0
0
0
21
0
17
-3
2
0
0
-29
0
20
49
-1
-3
0
-24
4
3
-1
-1
-17
0
-20
0
-1
0
0
-3
0
34
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-18
-5
10
46
55
0
42
-29
-58
17
112
27
80
-24
62
-3
49
54
6
7
58
-58
-1
-10
-78
-2
-17
49
-19
0
-1
-66
38
48
0
-5
0
0
0
-2
-77
0
-16
0
0
1
5
-117
0
0
29
0
0
0
-47
0
4
-6
-106
43
-1
0
4
-45
-5
25
31
19
-2
39
60
9
-16
0
-117
-15
-6
-39
5
2
-7
13
-8
11
-32
0
18
0
-67
5
13
-51
0
8
3
2
-9
-21
2
-1
-1
-9
10
15
3
-51
0
0
0
5
41
0
58
95
70
0
-2
5
0
-20
-17
-4
31
-8
1
-30
-14
58
-49
-4
-60
0
131
17
0
-2
-55
3
77
-14
-31
4
24
-8
-15
78
54
-28
0
-5
-39
19
-3
41
20
0
-12
-60
37
3
0
2
0
-45
-38
-2
-30
-1
11
0
6
-8
-41
46
0
3
31
0
0
3
0
0
37
-5
-8
-4
5
0
5
17
20
4
-53
-9
7
31
13
8
66
-2
-8
-2
-19
-91
15
105
-7
0
5
-2
48
0
2
-47
8
20
2
16
0
-17
-24
7
-2
-1
14
0
0
-13
-53
29
-2
30
3
16
0
-4
2
0
-28
25
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
4
0
0
-34
0
0
0
13
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
30
0
2
0
0
0
3
-49
0
0
-1
0
0
-1
0
0
1
-3
4
0
-5
-4
0
0
3
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
1
0
46
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
-24
0
0
-1
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
19
0
0
0
0
0
0
-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
1
0
0
-9
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
-14
-1
0
0
-4
-43
0
0
-1
0
0
0
1
0
0
2
0
0
0
34
0
0
4
0
0
0
21
0
2
0
0
0
0
-2
0
0
0
0
7
0
9
7
0
0
0
0
0
30
0
0
0
0
0
0
42
0
0
0
0
0
0
-56
0
0
0
0
0
13
24
0
0
-2
0
0
0
58
0
0
0
0
0
0
-2
0
0
0
2
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
0
0
0
0
0
-23
0
1
0
0
0
0
-4
0
0
0
0
0
0
-55
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
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
-3
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
7
0
0
-8
0
0
1
7
0
0
52
6
0
0
-6
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
-8
0
0
0
0
24
0
0
0
0
0
0
23
0
0
0
0
0
0
-25
0
0
0
0
0
0
25
0
0
8
0
0
0
-22
0
0
4
0
0
3
5
0
0
-2
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
14
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
6
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-41
2
-4
4
15
-1
0
31
43
27
-8
-95
-60
41
-10
2
-2
5
-45
0
-16
-5
-8
0
0
-32
111
5
6
77
0
0
17
0
26
0
-27
0
0
0
2
18
0
0
33
0
0
0
16
0
8
19
-52
26
14
0
1
42
0
0
12
-2
0
7
-40
-1
-11
-40
49
0
22
-27
-1
10
15
-1
-17
5
-25
0
32
5
-55
-1
-2
-22
0
0
-92
0
-6
32
5
0
64
-12
57
-4
0
-7
0
0
0
0
26
0
53
-20
-4
0
6
16
0
45
23
0
-13
0
0
42
3
-1
13
130
-45
0
-10
-14
1
8
51
0
0
47
53
-7
18
-21
-18
1
45
-2
-1
7
57
4
-1
30
-51
0
39
93
-33
2
-6
-52
0
18
19
0
41
1
13
-1
31
41
56
21
0
23
6
8
0
8
14
0
41
-89
3
0
0
0
-7
40
0
21
17
0
-2
2
-21
0
48
-1
24
0
7
25
0
-23
-21
-4
0
5
-8
3
-10
35
22
0
0
-11
0
-19
-23
0
1
8
-39
0
16
-24
-19
2
3
-50
0
84
2
0
32
1
39
-9
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-30
-2
0
-3
0
0
-22
-20
0
0
-7
-4
1
30
-7
0
0
2
3
49
4
3
0
0
30
0
9
84
0
0
1
0
0
5
0
8
0
0
0
-7
-27
0
0
-43
0
0
0
10
3
52
49
5
-5
0
0
-25
0
-4
0
-53
-1
0
60
-3
0
-89
2
25
-1
74
-12
0
4
28
-6
0
16
-51
0
0
-33
49
10
12
20
0
0
26
0
8
-1
43
0
46
-25
-10
0
0
42
0
0
0
0
-5
0
8
25
-1
0
-2
0
1
-16
3
-2
6
0
0
49
0
0
0
43
-2
0
-16
21
0
7
2
-2
0
-41
33
2
12
-5
-1
0
-1
21
-1
-2
-3
-3
-3
5
-86
0
0
-42
21
0
0
-59
0
0
40
0
-3
1
124
0
2
0
1
-10
0
1
-5
0
0
0
0
0
12
0
-1
0
0
0
0
0
8
-37
1
-2
0
0
-58
0
0
0
-1
0
0
-127
0
56
38
3
0
-2
9
0
1
-18
1
0
3
14
0
-28
-4
0
1
0
135
0
0
-8
0
0
0
9
0
50
1
-8
0
0
49
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
60
0
0
-41
0
0
0
51
-4
-1
19
-4
0
0
-5
0
-3
0
0
0
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
-43
0
0
51
0
0
17
-16
0
2
49
0
0
-39
53
0
0
-3
0
0
-1
13
0
0
0
0
0
0
-70
0
0
-7
0
1
0
-8
0
10
0
0
0
0
13
0
0
0
0
0
0
-9
0
0
0
0
0
0
-83
3
0
0
0
0
-1
76
0
-4
1
0
0
-1
-11
0
0
0
0
0
-3
-40
0
0
17
0
0
0
-49
0
0
26
0
0
0
0
0
0
0
4
0
0
24
0
0
0
0
0
0
17
0
0
0
0
0
0
-30
0
0
0
0
0
0
16
0
0
0
0
0
0
19
0
-4
0
0
0
0
22
0
0
0
0
0
-2
-45
0
-1
0
0
0
13
5
0
1
0
0
0
0
24
0
7
0
0
0
0
28
0
0
0
0
0
0
12
0
8
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
2
0
0
27
0
2
47
-9
0
0
25
3
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-31
0
0
-1
0
0
0
0
0
69
8
0
5
-1
0
0
100
0
0
4
0
0
41
-1
0
17
-8
0
0
-71
66
0
0
0
0
0
0
49
0
0
0
0
0
7
-14
0
0
0
0
0
0
-41
0
13
0
-8
0
0
31
0
0
0
0
0
0
-94
0
0
0
0
0
0
-62
0
0
0
0
0
-6
22
0
0
6
0
0
1
-119
2
3
-1
0
0
0
-29
0
0
-2
0
0
0
-71
0
0
7
0
0
0
-17
0
0
8
0
0
0
94
0
0
-1
0
0
0
12
0
0
0
0
0
0
17
0
0
0
0
0
0
-50
1
0
0
0
0
-2
1
0
-2
0
0
0
-2
13
0
8
0
0
0
13
41
0
1
0
0
0
0
-31
0
0
0
0
0
0
110
0
0
1
0
0
0
8
0
0
-1
0
0
0
-50
0
2
0
0
0
0
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
63
-9
123
2
-35
74
-21
21
17
0
27
-35
-34
-41
39
-13
43
7
35
0
36
-102
-3
-3
-56
-30
42
-22
-3
-1
-1
-60
5
-19
-9
-28
-2
-2
-2
-60
-14
0
-5
33
3
0
34
-16
-1
81
6
-5
26
-8
0
-43
19
15
-6
60
20
-1
45
13
0
43
36
9
-25
21
19
37
3
67
-32
90
29
17
-9
12
-13
-5
-3
37
-8
0
10
-34
12
41
-44
-28
-5
-33
-25
-40
-34
14
-29
-4
-5
18
41
10
-2
17
-44
-96
-1
-35
-35
-2
72
-4
-3
46
10
17
-34
30
58
-28
18
66
20
-25
9
33
6
133
10
47
32
-12
-45
64
41
63
5
41
-11
44
5
-22
-44
-84
56
-36
-3
12
9
-27
56
-25
-23
-1
-23
38
13
-33
-3
10
25
-12
-38
24
-48
0
0
25
43
-2
1
26
-2
46
85
-17
3
-10
0
-58
16
-44
39
-21
0
-4
37
-20
-5
19
18
20
-5
-46
-27
5
35
63
-4
32
27
-12
-3
20
2
31
-52
63
-6
2
11
48
71
-59
41
52
-17
30
-14
64
7
-8
-6
0
1
35
4
-67
0
14
34
-20
17
12
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
2
0
0
39
0
-2
-43
0
0
0
-14
0
66
-39
1
0
0
41
0
-2
-2
1
0
0
7
0
7
5
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
20
0
0
0
-33
6
23
54
64
-1
0
0
-59
-66
0
0
-34
0
0
55
5
0
31
-2
0
0
-8
-63
0
0
-30
0
3
-14
9
0
1
-71
0
0
9
-13
0
0
63
0
0
0
-59
0
7
0
0
0
0
2
0
0
-1
0
12
0
60
-10
-8
0
0
0
0
-13
13
0
-2
0
0
19
3
-14
-1
29
0
6
-17
41
0
-1
1
0
-8
69
-16
0
0
44
0
1
-12
12
0
7
60
0
-1
1
14
0
6
25
-1
-1
-1
60
0
0
-1
0
-6
0
32
0
-8
0
0
13
0
3
0
0
0
0
0
0
46
-5
-2
0
0
0
0
-64
0
-66
7
0
0
-8
-6
0
-2
0
0
0
-1
-19
0
51
-13
0
-4
-4
-43
0
-2
-23
0
0
0
16
0
8
-3
0
0
0
4
0
0
-5
0
0
0
20
0
13
0
0
2
0
0
3
-2
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
116
1
9
0
23
0
0
-3
0
0
0
39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
4
0
0
0
2
0
0
0
0
0
-22
-8
0
-1
0
0
0
-49
0
0
48
0
0
-43
-21
0
69
2
0
0
1
3
0
0
-13
0
0
-16
7
0
2
13
1
0
6
-8
0
0
0
0
0
4
6
0
32
0
-2
0
0
-31
0
0
0
0
0
0
-8
-7
2
0
0
0
1
102
2
0
0
0
0
5
51
-2
0
-16
0
0
-1
37
0
0
-5
0
0
10
-13
0
4
30
-6
0
9
7
0
-2
8
0
0
4
27
0
0
-8
4
0
0
-11
0
0
0
0
0
0
9
0
-2
8
8
0
0
30
0
0
0
0
0
0
49
0
0
0
1
0
0
8
0
-45
1
0
0
0
-74
0
0
1
-2
0
0
14
0
25
19
0
0
0
-40
0
0
-5
-1
0
5
-3
0
-1
0
0
0
0
20
0
-1
0
-5
0
0
68
0
-5
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-1
13
38
18
-48
6
-63
-57
-11
-23
-4
29
-36
-44
-15
9
-47
49
-10
4
-66
9
-13
-103
-13
-16
-13
-23
-31
0
-12
4
-10
-5
21
44
5
-4
-13
-56
30
38
3
-14
36
5
-5
36
3
-19
-5
5
-9
5
47
-67
67
27
62
3
-41
33
-12
66
57
-18
30
-60
67
3
5
76
44
6
13
-8
0
0
-27
-6
-10
-21
30
-24
13
-17
18
2
-77
-17
11
44
61
77
13
-30
0
26
-8
-36
0
-31
-33
0
44
42
12
10
3
-41
5
16
67
29
62
-46
42
141
11
8
-82
34
66
6
34
-11
15
48
-4
3
42
68
-20
30
60
26
55
19
-21
-11
35
-19
-47
33
43
29
2
5
21
-16
-112
-28
-46
-15
74
60
-47
0
-22
-1
-2
-6
-15
0
-47
-49
-2
-20
33
4
86
-72
-3
-36
-3
91
7
68
19
-9
55
15
19
-44
27
-70
-49
44
-4
-55
-4
-17
53
30
32
11
28
2
23
-40
-11
6
27
-23
23
57
-6
-147
56
-2
-10
-60
23
-17
-2
41
3
1
15
63
-31
21
0
19
9
13
5
24
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-2
0
37
6
-9
0
-9
0
0
-1
0
9
-5
-3
0
0
13
0
8
-3
1
0
0
0
0
10
0
-8
0
0
0
10
-46
0
0
-16
0
0
-4
-5
0
73
-4
18
31
3
0
32
-16
0
0
-8
0
0
-69
0
-3
40
4
1
0
-9
-79
0
0
-21
0
0
-1
40
0
0
-5
-3
0
-16
-75
0
0
5
0
4
0
17
0
27
22
-4
-1
0
-2
0
0
0
0
0
0
3
-8
5
0
0
0
0
79
0
2
1
0
0
0
-20
-1
1
-19
0
0
42
0
0
0
-79
-1
0
9
-15
0
2
15
1
0
12
34
0
0
-2
0
0
1
-100
0
1
8
17
0
0
188
0
0
0
-1
6
0
41
0
0
0
6
32
0
-56
0
-4
0
4
0
0
34
-2
0
5
0
0
0
49
8
32
9
0
0
4
0
4
19
19
5
0
-4
52
0
22
55
0
0
0
-51
0
4
3
-3
0
0
-42
0
31
0
4
0
4
-9
0
0
-2
0
0
0
-17
0
11
1
0
0
0
-27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-5
0
0
0
0
-19
0
0
1
0
0
0
0
0
102
4
-3
0
0
0
0
-6
0
0
-5
0
0
-1
-1
0
8
30
0
0
-42
11
0
0
2
0
0
0
-6
0
0
1
0
0
0
41
0
0
0
0
0
0
-3
0
8
0
0
0
0
-8
0
0
0
0
0
0
110
0
0
0
0
0
0
-48
0
0
0
0
0
0
-40
0
0
1
0
0
-8
30
0
0
0
0
0
0
17
0
2
0
0
0
0
-61
0
0
0
0
0
0
60
0
0
0
0
0
0
-6
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
6
1
0
0
0
0
0
-6
0
0
0
0
0
0
-16
0
0
0
0
0
0
18
0
0
0
0
0
0
-15
0
0
5
0
0
0
-15
0
-4
0
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-15
0
0
8
0
0
0
0
0
0
0
1
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
1
0
0
0
0
0
-57
14
-2
0
0
0
6
75
0
0
-25
0
0
5
1
0
-9
72
0
0
-4
-7
0
0
0
0
0
-8
16
0
0
5
0
0
-6
1
0
0
0
0
0
0
19
0
-7
4
0
0
0
-5
0
0
0
0
0
0
25
0
0
0
0
0
0
-87
0
0
0
0
0
3
44
0
0
-2
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
1
17
0
0
0
0
0
0
25
0
0
0
0
0
4
-32
0
0
0
0
0
0
13
0
0
2
0
0
0
33
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
24
7
0
0
0
-14
0
0
0
-4
0
0
-2
0
2
0
0
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-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
54
19
6
18
-4
-14
-41
-80
-24
-2
1
1
-2
-45
-61
71
0
7
-30
14
-17
-3
-67
0
-4
45
0
-40
3
31
0
0
13
-44
8
0
1
-5
0
0
4
-22
9
31
117
-10
-21
16
0
27
-30
92
24
-2
0
-8
102
37
-1
-13
6
8
-6
9
-23
4
102
3
0
23
39
0
0
1
-29
24
31
5
-39
1
-2
13
4
-16
10
-15
0
-86
-42
45
-1
-1
15
0
-1
-2
0
5
3
20
-39
-57
0
-8
0
-8
26
-13
-2
-13
0
0
9
2
39
82
23
31
-3
73
-20
2
15
26
5
-2
89
-4
14
41
33
36
-5
76
11
39
6
34
-8
19
-42
-91
1
-13
11
19
-34
-4
3
0
-1
-16
0
20
-3
37
-4
0
-29
-66
59
0
29
0
0
0
0
1
0
30
-23
1
0
0
0
5
-24
5
39
2
-1
-8
-18
31
1
2
73
-29
5
-9
-11
7
9
-4
2
39
-5
-7
-3
-31
84
-29
-2
-5
-47
0
-17
-40
-3
-3
-12
-33
0
-2
65
-34
8
-8
-13
0
43
-1
2
-13
0
17
-8
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
7
0
0
0
0
-3
49
0
0
0
0
0
1
0
0
-34
52
0
0
4
0
0
0
0
0
0
5
1
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
6
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
3
0
0
0
0
13
0
0
0
0
0
0
-23
0
0
0
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
0
0
0
59
0
0
0
0
0
0
5
0
0
0
0
0
0
47
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
3
0
0
8
-1
0
0
0
0
6
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
3
40
-18
0
-6
3
0
-1
10
0
0
-25
0
0
-58
-10
0
-15
1
-8
0
85
4
0
0
-43
0
0
32
-1
0
0
-20
-2
0
1
-68
0
0
12
0
0
0
22
0
55
0
5
0
-16
-104
0
0
0
0
0
0
-112
28
-1
0
-4
0
0
40
1
-1
4
0
0
1
32
4
-24
-4
7
0
25
61
0
0
-24
0
0
-4
-5
0
3
-33
-4
0
10
31
0
-1
21
0
0
0
93
0
0
24
5
0
0
45
0
0
0
0
0
0
56
0
-1
-1
-25
0
0
-11
0
0
0
0
0
0
93
-15
0
0
0
0
0
-24
0
32
-4
0
0
1
15
0
0
0
1
0
0
-38
0
6
20
0
0
-12
-30
0
9
0
0
0
0
5
0
-4
-7
3
0
0
-6
0
-2
1
2
0
0
-29
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
-8
-4
-28
5
-8
39
-37
0
1
16
-31
23
23
41
0
-2
23
0
-30
1
31
1
0
0
-20
-4
0
0
-14
0
1
-1
56
6
81
14
26
6
-13
0
21
3
7
1
28
0
0
63
-39
-14
28
61
8
-15
-29
0
5
80
-7
-6
-10
-70
10
-4
-42
45
51
-5
51
-9
-3
-14
60
16
-24
30
-1
-2
12
2
-24
-6
-1
12
0
-1
0
-4
-16
0
-1
-11
128
0
37
9
1
84
-14
-17
11
-23
0
-25
-8
-9
18
16
16
2
-50
14
3
-8
-7
4
-8
85
18
5
9
-3
-22
-7
29
3
21
4
29
-3
79
5
-8
-1
8
87
-14
-32
2
-21
4
18
-10
-5
89
-1
-13
0
-13
-12
-8
22
0
-32
-13
-1
0
0
15
0
11
10
-20
0
2
0
-8
11
5
60
-33
6
0
-49
35
-2
53
-71
4
-8
2
18
8
-7
49
-27
-9
30
43
4
10
-126
60
3
4
13
-7
2
95
9
31
8
-59
0
-32
-27
-3
6
1
-11
0
62
12
-9
-29
0
-15
6
-7
2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
-1
0
0
0
0
0
0
-8
-10
-8
0
0
0
0
-1
0
0
0
25
0
0
0
0
-16
0
0
-25
0
0
0
1
0
-20
7
37
7
2
0
-41
83
3
0
-18
0
-1
3
5
-2
19
-22
21
0
-48
0
-2
-1
-14
0
0
14
-15
0
1
-12
-3
0
69
-31
0
0
13
5
0
0
29
0
-11
0
-14
0
0
12
0
0
0
7
0
0
56
-1
42
0
0
0
0
-4
7
-4
-2
0
0
0
1
3
2
-36
-15
0
13
22
0
8
13
0
0
38
0
0
0
-6
-1
0
-13
38
0
0
30
0
0
5
-11
0
-6
-9
-29
0
0
-11
0
0
-4
2
-3
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
6
-5
0
0
0
0
0
-5
-1
-43
-5
-1
0
0
-23
0
-6
-21
0
0
-7
0
-1
24
9
0
0
-3
16
0
0
-2
-1
0
0
-22
2
27
-20
3
0
0
6
0
0
0
-2
0
0
23
0
21
0
0
4
0
7
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
7
0
-2
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
-1
0
19
0
2
0
0
0
-5
65
0
0
-1
0
0
-1
18
0
70
-31
0
0
5
-2
0
0
19
0
0
0
0
0
0
4
0
0
0
10
0
0
0
0
0
0
1
0
-10
0
0
0
0
42
0
0
0
0
0
0
1
0
0
0
0
0
-1
5
0
0
0
0
0
0
-31
0
0
0
0
0
0
27
0
0
0
0
0
0
49
0
0
0
0
0
0
4
0
0
-2
0
0
0
1
0
0
0
0
0
0
72
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
20
0
-3
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-31
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
38
0
3
0
0
0
-4
5
0
0
3
0
0
-4
4
0
-1
13
0
0
-4
-7
0
0
1
0
0
3
2
0
0
-1
20
0
-3
91
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
-10
0
22
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
4
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
0
0
-7
0
0
35
0
0
0
0
0
0
-3
0
0
0
0
0
0
25
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
3
0
0
0
0
-16
0
0
0
0
0
0
4
0
1
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
10
8
-17
12
50
0
0
19
7
-39
37
-7
0
1
1
2
5
0
23
0
0
0
63
1
0
0
-3
0
0
0
28
8
38
-7
12
66
8
0
-65
8
29
-1
0
0
4
25
71
24
4
52
45
5
-1
37
2
0
39
-2
-7
55
50
-12
-1
-10
5
19
-13
-31
0
0
15
2
-17
5
-50
-2
-35
-16
13
-16
0
-8
1
0
0
0
11
0
-10
-18
-29
0
-7
8
0
40
-24
0
-21
0
0
28
-3
20
-2
-3
-16
8
-50
29
-12
30
-44
-6
-3
-61
12
0
73
24
95
43
25
1
-3
-17
-92
58
-25
27
-73
-12
16
1
-22
32
24
-33
0
-4
30
0
86
3
-43
0
-13
2
-51
17
0
-2
0
-3
0
-24
3
0
25
-36
7
13
-24
0
-1
-10
4
-18
43
0
0
10
69
13
2
41
-30
0
54
12
5
-31
31
1
0
5
17
-10
70
14
-59
2
-13
-48
1
-37
-6
0
-72
-1
-48
8
30
-24
-42
5
0
-10
0
21
-9
0
-13
0
-26
-19
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
0
0
-9
0
6
-3
6
0
0
41
0
55
16
-6
0
0
-6
0
20
0
0
0
0
0
-22
57
0
0
-50
0
0
0
43
4
44
23
29
-39
0
0
-14
-12
-8
4
0
0
0
61
-2
0
5
21
0
4
10
-39
0
0
15
0
-8
-48
5
0
-2
4
4
4
-4
-11
0
0
-8
0
-3
6
-16
8
33
-20
0
0
0
26
-2
0
3
0
-40
0
15
-13
6
0
0
-5
6
24
-33
0
-8
0
0
-6
16
-10
-5
45
0
0
10
5
0
-1
47
0
0
-50
-11
0
14
-5
0
3
18
-4
0
2
3
1
-32
-8
-28
8
16
-27
-5
-7
0
15
0
-16
40
0
-12
0
25
0
0
35
0
-27
0
15
2
6
0
0
-2
0
15
1
6
0
0
0
0
28
0
44
5
0
0
19
0
-2
24
-44
0
0
-17
6
0
-44
8
0
0
-2
79
0
5
-39
6
1
0
-37
0
-20
31
0
0
0
4
1
-1
1
0
0
0
-39
0
52
3
0
-27
0
21
13
10
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
1
0
0
-2
-2
0
0
-1
-7
0
0
0
0
0
-2
0
0
0
46
0
0
1
2
0
0
0
41
0
0
0
0
0
-19
16
-8
-44
-4
0
68
50
0
0
47
0
0
46
46
0
14
-40
-6
0
-58
85
0
0
-5
0
0
29
105
0
-5
0
25
0
57
77
0
0
27
0
0
1
-76
0
7
-8
11
0
-4
122
0
0
0
0
0
0
10
78
16
0
1
0
0
-2
-37
-4
0
0
0
20
79
-3
-7
-15
-10
0
51
40
0
1
15
0
0
57
6
0
-7
79
22
0
8
-12
0
37
24
0
0
-2
57
0
1
14
25
0
0
-55
0
-5
5
0
0
0
-26
0
-6
20
19
0
0
34
0
0
0
-1
0
0
21
-1
0
0
-6
0
0
-43
1
16
2
0
0
3
-50
2
-2
-35
-16
0
-1
5
0
32
20
0
0
0
25
0
5
0
-8
0
0
71
0
-3
0
0
0
12
-5
0
2
1
-3
0
0
-4
0
-40
-2
0
0
0
58
-12
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
82
0
-1
2
-31
18
18
55
0
-4
1
-4
-9
4
-43
0
0
0
-34
30
0
-3
-7
0
0
0
-32
1
36
-39
-44
-1
-25
0
-84
20
-4
9
40
0
0
-53
19
0
-31
18
28
-1
8
21
-5
8
-26
5
-5
-30
-2
0
-3
23
8
-20
-21
-23
9
4
15
0
-3
-1
-41
0
-21
5
-5
-1
0
97
0
0
3
0
-26
0
17
18
-67
0
55
0
0
-23
8
9
38
2
0
-9
11
-5
13
28
46
9
-30
74
2
-14
10
4
-12
12
11
-31
70
-60
-22
0
-6
20
-3
5
-60
-3
-20
-5
14
6
0
21
1
-13
14
-5
0
-18
5
0
-20
0
-41
0
2
-2
-46
10
0
6
4
0
0
0
5
0
-24
16
-5
-14
0
0
0
-10
9
-93
-24
-1
0
1
86
0
-21
-29
-13
0
-4
-25
0
-31
-3
0
1
4
39
0
-23
4
13
1
-2
-3
0
-5
-32
1
-5
-5
43
0
34
-45
20
-1
0
14
0
11
0
0
17
0
32
-15
5
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
8
0
0
5
0
6
3
-4
0
0
0
-4
0
0
-2
0
0
0
1
-56
0
0
8
0
0
2
-7
0
81
-17
-4
-5
0
0
-41
18
0
0
34
0
0
5
33
1
16
28
5
0
-40
24
-5
5
91
0
0
42
0
1
0
-1
0
0
-2
21
0
2
-2
0
0
-5
-21
0
5
-1
-9
0
-1
-59
0
0
0
1
-2
0
4
4
0
0
-5
0
0
86
37
2
-3
0
0
3
-40
0
-1
-9
-13
0
27
22
0
4
-8
0
5
8
24
-1
18
49
3
0
3
0
0
5
-45
-5
0
-6
-40
2
0
12
0
0
2
-5
0
0
8
0
0
5
-37
0
0
14
2
-6
0
64
0
0
0
0
0
0
21
-2
0
6
0
0
0
0
1
27
-4
0
0
0
-13
0
-3
30
0
0
0
-36
0
-18
-2
0
0
-3
0
0
1
-8
-5
2
4
-52
0
-21
3
-5
0
0
-21
0
1
-5
3
0
0
-26
0
-43
0
0
0
0
3
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-14
0
-13
0
0
0
0
0
2
-40
0
0
5
0
0
15
0
0
0
-15
-5
0
0
16
0
0
39
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-7
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
-8
19
0
0
0
0
0
1
-1
0
20
3
0
0
-15
-13
0
0
5
0
0
0
44
0
0
0
0
0
0
19
0
0
0
0
0
0
29
0
-3
0
0
0
0
-7
0
0
0
0
0
0
18
-3
0
0
0
0
0
15
0
0
0
0
0
0
13
0
0
0
0
0
0
50
0
0
0
0
0
0
76
0
0
0
-2
0
0
-41
0
0
9
0
0
0
-41
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
-29
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
4
0
8
-1
0
0
0
-8
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
0
-3
12
-31
-13
7
-1
0
0
0
0
-2
0
-7
0
0
0
2
-46
0
0
-51
0
0
0
-22
-1
56
73
0
8
10
0
-14
-62
0
0
-18
-1
-5
-38
101
0
-25
-19
-25
0
35
91
0
0
9
1
0
41
11
0
0
-3
80
0
12
82
0
0
-30
0
0
-1
-22
1
-46
0
1
0
0
23
0
0
0
0
-34
0
53
20
5
0
0
3
0
-17
9
0
-8
0
0
-7
36
-23
-13
-13
-2
1
72
27
0
1
-15
3
-2
105
-69
0
0
42
-8
3
-3
-61
0
8
1
0
0
0
31
0
0
3
-2
0
0
-15
0
-5
-1
0
-1
2
-26
0
1
0
31
29
0
53
0
0
0
0
0
0
6
-8
2
0
0
0
-1
-34
9
53
0
0
0
-5
5
0
5
4
0
0
-3
58
0
28
3
0
0
0
60
0
6
17
18
1
0
44
0
28
0
0
4
0
8
0
0
0
0
0
0
79
0
5
0
0
0
0
-42
4
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
-6
0
0
0
0
0
0
36
0
0
-5
0
0
0
1
0
20
-3
0
0
-27
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
13
0
0
0
0
0
0
-14
0
3
0
0
0
0
-43
0
0
0
0
0
2
-3
0
0
2
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-33
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
0
0
-2
-3
0
-1
0
0
0
0
0
0
0
45
0
0
0
-10
0
0
0
-9
0
0
0
0
4
-8
-13
7
27
3
0
-15
-17
0
0
-57
0
0
-1
-6
6
-29
-18
10
0
5
44
0
0
-8
0
0
63
-14
0
7
-68
-5
0
32
-16
0
0
53
0
0
0
31
0
-49
1
-24
0
0
-11
0
0
0
0
0
0
11
19
1
0
0
0
4
-22
-8
0
1
0
0
-13
-57
14
5
1
39
0
-31
31
0
0
38
0
0
-93
-18
0
-5
20
-91
0
24
-68
-1
-4
37
4
0
3
-43
0
0
-50
-24
0
0
23
0
20
0
0
0
0
-49
0
13
0
9
0
0
12
0
10
0
0
0
0
55
23
0
0
5
0
0
-54
5
-5
18
0
0
5
74
2
0
-27
4
0
1
-4
0
48
0
0
0
1
-14
0
-14
35
-3
0
2
0
0
103
-14
5
0
6
34
0
6
-2
-1
0
0
-1
0
19
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
0
0
2
0
-5
0
-1
0
0
0
-12
-30
0
0
-8
0
0
0
-4
0
15
-9
-4
2
0
0
3
48
0
0
50
0
0
-27
-50
0
17
-44
-1
0
16
-24
0
0
12
0
0
0
-46
0
-1
86
-2
0
0
-4
0
0
-7
0
0
0
83
0
56
4
-15
3
-2
-20
0
0
0
0
-5
0
5
-19
0
0
-1
0
0
-40
4
0
1
0
0
0
-3
2
3
-27
-6
0
0
-40
0
1
3
0
0
-1
-29
0
9
42
-1
0
-2
-51
4
0
22
0
-1
-3
30
-1
0
27
-2
0
0
-2
0
0
-1
0
1
0
-8
0
0
5
-4
-2
0
16
0
0
0
3
0
0
-33
-10
0
0
0
0
0
45
0
0
0
0
0
0
61
0
0
0
1
0
19
-8
0
9
1
0
0
-6
55
0
0
-6
12
0
0
83
0
-1
-5
0
0
0
-67
0
-1
0
0
0
0
37
0
-6
-8
0
2
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-1
0
-2
0
1
0
0
0
0
-50
0
0
-20
0
0
0
-6
0
-80
4
-1
0
-1
0
-5
51
0
0
-23
0
0
-8
-12
0
36
32
-21
4
-78
-29
0
0
-16
0
-10
-1
-73
0
0
39
5
-14
10
0
0
8
19
0
0
-3
5
0
27
0
-8
0
-2
-30
0
0
-2
0
-8
0
41
18
0
0
0
5
0
34
12
1
0
-7
0
-10
-22
-8
-5
-10
-4
0
19
9
0
0
29
0
0
12
-43
0
-4
13
-33
20
3
65
0
0
4
0
-2
0
0
0
0
-2
-13
-12
0
30
0
-1
0
0
6
7
62
0
0
1
-3
34
0
-13
0
0
-2
-1
3
0
-4
0
0
0
0
0
-4
15
0
-69
-2
8
0
0
24
0
-6
10
-15
0
0
42
0
-13
13
0
0
1
-1
0
-12
1
1
0
6
0
0
-5
0
0
0
-16
22
0
-2
8
-3
0
5
-30
0
-6
0
1
3
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
-1
0
0
0
-1
0
0
2
0
0
-7
7
0
0
-1
0
0
-4
-1
0
0
2
0
0
0
-41
0
0
0
0
0
0
0
0
-4
0
0
0
0
8
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
3
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
8
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-10
0
6
0
0
0
0
28
0
0
-2
0
0
0
46
0
7
-36
3
-25
25
0
13
-5
3
0
21
0
0
5
97
0
-4
13
-24
0
-27
26
0
-3
4
-2
0
-4
22
0
0
16
59
0
-1
34
1
0
-3
0
0
0
14
0
0
4
5
0
0
14
0
0
0
0
41
0
-12
25
-3
0
-4
0
0
9
49
0
0
0
0
15
-50
8
-3
13
13
1
2
-19
0
-1
49
8
0
25
5
0
9
-5
52
0
10
7
0
-1
3
-1
4
6
5
0
-14
0
26
3
0
-41
0
0
0
0
-3
0
-92
0
0
0
3
-7
0
-22
0
0
0
0
-1
0
58
4
0
0
0
0
0
-71
7
73
0
0
0
5
29
0
13
-3
2
0
0
60
0
-16
-1
0
0
0
74
0
-12
0
-2
10
-3
-11
-1
-56
0
0
-3
0
27
0
0
0
-4
0
0
-2
0
-61
0
0
0
0
4
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
68
0
3
0
0
0
0
10
0
0
7
0
0
0
-6
0
-49
-1
0
47
0
0
0
14
0
0
16
0
0
0
-14
0
25
1
0
-1
8
29
0
0
82
0
8
-6
-5
0
0
16
0
5
5
-43
0
0
18
0
-1
-1
5
0
-55
-3
0
-1
0
57
0
0
0
0
16
0
9
30
38
0
0
0
0
-42
-2
0
1
0
0
0
-48
0
-2
-9
0
0
20
-70
0
0
13
0
-2
2
-56
0
0
-40
0
0
-3
31
0
0
-17
0
0
0
10
0
0
-7
0
1
0
7
0
0
-1
0
30
0
-1
25
6
0
0
-12
0
55
0
0
0
0
0
0
-47
-7
0
0
0
0
0
50
0
-27
0
0
0
0
-13
3
0
10
0
0
0
41
0
18
0
0
-1
0
21
0
0
0
0
0
0
26
0
-26
0
0
0
0
20
0
0
0
0
-8
0
-5
0
-6
0
0
7
0
-18
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
5
-6
0
0
0
-3
0
0
0
19
0
0
0
-21
0
0
0
0
0
-21
-25
-3
2
0
0
-18
10
0
0
-42
0
0
24
30
0
8
9
55
0
25
47
0
0
38
0
0
11
0
0
9
-58
36
0
39
-45
7
0
-17
0
0
-1
-7
0
-22
60
-39
0
0
3
0
0
0
0
0
0
3
74
10
0
-5
0
-6
-19
31
0
0
0
0
8
42
0
-17
36
0
0
30
29
0
0
114
0
0
-37
47
0
-4
-40
-15
0
-85
-4
-1
9
-41
0
0
1
-12
1
0
-8
-33
0
0
-14
0
-7
-23
1
0
0
13
0
0
42
25
0
0
16
-2
0
0
0
0
0
-29
64
0
0
0
0
0
-21
0
16
1
0
0
3
34
0
-1
13
0
0
0
-37
0
24
-8
0
0
-1
8
8
25
-22
-1
0
-3
-3
0
-40
33
1
0
5
-2
0
10
25
21
0
0
14
-2
49
0
0
0
0
39
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-18
0
0
-4
0
0
0
0
4
-39
-7
1
-9
-4
0
10
27
0
-8
-16
0
0
4
-21
0
-5
9
1
0
-35
-3
0
0
54
0
-1
2
0
0
0
0
0
-8
0
-56
0
0
39
0
0
0
-35
0
-5
-9
-2
0
0
19
0
0
-2
0
5
0
18
-4
-2
0
-7
0
0
-62
-8
0
0
0
0
0
-34
0
6
6
0
-5
4
-74
0
-12
4
0
0
0
9
0
3
-5
1
0
0
-24
0
2
7
0
-2
0
-48
0
0
31
-7
0
0
10
0
6
0
0
31
0
-14
0
0
0
2
13
0
17
0
0
0
0
0
0
-30
0
0
0
0
0
0
-51
-7
13
0
0
0
0
100
0
2
-1
0
3
-1
43
0
23
-6
0
0
0
13
0
0
1
-4
-1
0
40
0
18
6
0
0
0
84
0
0
1
0
0
0
9
0
1
0
2
0
0
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
7
0
0
0
0
0
-41
-7
4
0
0
0
4
-5
0
0
43
0
0
-5
-16
0
31
38
0
0
-69
-8
0
0
18
0
0
1
-1
0
0
-5
0
0
2
-24
0
0
69
0
0
-2
0
0
-52
0
0
2
0
22
0
0
3
0
0
0
-58
2
1
0
0
0
0
-70
-6
0
6
0
0
0
14
0
-5
8
0
0
-4
-18
0
0
-6
0
0
-15
39
0
1
23
-2
0
0
29
0
0
4
0
0
0
-51
0
0
0
0
0
2
0
0
0
2
0
0
0
-67
0
0
0
0
-1
0
-46
0
0
0
0
0
0
54
0
0
0
0
0
0
32
0
29
0
0
0
-1
-47
0
0
3
5
0
0
42
0
-5
0
0
0
0
6
0
0
1
0
0
0
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
-7
0
14
1
0
0
0
23
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
1
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
1
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
-1
0
0
-1
0
0
-1
0
0
0
0
3
0
0
-1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
15
0
0
-1
0
0
0
-1
0
0
1
0
0
0
-61
0
0
0
0
0
0
1
0
0
0
0
0
-2
-5
0
0
0
-1
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
2
0
0
0
9
0
-73
-3
0
0
0
0
4
-19
0
0
43
0
0
-8
-19
0
-4
9
0
2
2
6
0
0
1
0
0
18
-34
0
0
0
0
0
2
-5
0
0
-12
0
0
0
1
0
73
0
-1
0
0
-7
0
0
0
0
0
0
-46
2
0
0
0
0
0
96
-1
0
0
0
0
0
-66
0
0
-7
13
0
0
26
0
0
0
0
0
-16
2
0
0
1
0
0
0
25
0
0
0
0
0
0
32
0
0
0
-3
0
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
-41
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
18
0
0
0
1
5
0
0
5
0
0
0
4
0
-6
0
2
0
0
5
0
0
-2
6
0
-3
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
5
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
0
4
-6
0
0
-3
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
0
0
0
0
-24
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
-1
32
0
0
0
-48
0
0
0
0
1
-23
-42
2
1
0
0
-49
27
0
0
-16
0
0
82
58
0
-4
-70
19
0
31
9
0
5
-17
0
0
77
59
0
0
44
82
0
44
-58
0
-1
-45
0
0
1
5
0
15
-52
30
0
4
23
0
0
-1
0
0
0
-35
-20
7
0
6
0
0
13
-41
0
0
0
0
40
6
0
42
8
-3
0
1
-10
0
0
55
0
0
-16
44
0
-4
7
-29
0
20
43
0
1
34
0
0
2
-27
0
8
119
6
0
0
-42
0
14
52
0
0
0
32
0
30
-16
15
0
0
-8
-1
0
0
0
0
0
15
-12
0
0
-2
0
-2
-31
0
25
27
0
0
9
-13
0
0
8
25
0
23
97
0
1
49
-5
0
-7
46
0
2
5
23
0
0
13
0
102
32
0
0
1
-56
2
2
-16
-69
0
0
-51
0
-13
3
0
0
0
17
-16
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-13
0
0
1
0
0
0
3
0
-21
0
0
0
1
-1
0
0
-34
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
0
7
0
0
0
0
3
0
0
0
0
0
0
-84
0
0
0
0
0
0
-75
0
0
0
0
0
0
5
0
0
0
0
0
0
-87
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
2
0
0
0
-2
0
0
-8
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
30
5
0
14
-1
0
0
-75
5
0
-49
0
0
-46
5
0
-5
52
3
0
-5
-10
0
-2
4
2
0
0
68
0
0
3
-4
0
0
20
0
0
-1
0
0
-1
43
0
5
8
0
0
0
0
0
0
2
0
0
0
4
3
-1
0
0
0
0
-38
5
0
0
0
0
-2
-28
-3
-5
3
3
-2
6
40
0
0
3
0
0
13
23
0
0
-13
-21
0
41
-9
0
6
9
0
-3
-3
-10
0
-1
-3
-5
0
0
-3
0
0
0
3
2
0
0
0
0
5
0
5
0
-19
0
0
0
0
0
0
-6
0
0
0
0
0
0
18
0
-33
0
0
0
0
-42
0
5
1
0
0
0
-6
0
-4
0
0
0
1
-21
0
7
-1
-2
1
5
-7
0
-5
-1
0
0
0
13
0
0
0
0
0
0
0
0
-2
0
4
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-60
0
0
-3
0
0
-4
0
0
-27
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
-1
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
-56
-5
0
1
4
10
0
0
-1
0
0
0
23
0
0
0
0
0
0
14
0
0
0
0
0
0
-9
0
-12
0
1
0
0
5
0
0
0
0
0
0
30
0
0
0
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
-3
-48
0
0
0
0
0
0
-2
0
0
0
0
0
7
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
-49
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
8
0
0
0
0
-1
0
0
0
0
0
0
3
0
3
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-31
20
0
1
0
0
31
54
0
0
-9
0
0
-20
34
0
-8
1
0
0
-19
-30
0
5
10
0
0
25
6
0
7
21
0
-1
6
36
0
0
-8
0
0
0
0
0
1
0
14
5
0
-46
0
0
0
0
0
0
-21
-3
-3
0
0
0
0
-66
2
0
-8
0
0
0
53
0
-6
7
0
0
21
-41
0
0
-2
0
-2
0
-13
0
0
-30
0
0
3
-58
0
0
2
0
8
-2
-1
0
-2
29
-2
0
0
-22
0
0
2
0
9
0
-43
0
0
0
0
3
0
4
0
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
-9
0
0
0
0
-46
0
0
-4
0
0
0
28
0
-1
7
0
0
0
-88
0
0
-8
0
0
0
44
0
-21
-4
0
-1
0
-29
0
0
1
0
7
0
16
0
-2
0
0
12
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
18
-1
0
18
0
-5
-30
-36
15
5
-48
0
1
13
0
0
13
5
0
27
62
-5
36
4
15
0
4
-37
1
-8
10
-2
0
24
-6
0
-8
2
29
0
5
-9
0
3
2
0
0
32
12
13
6
20
-1
0
43
42
20
-4
1
-2
0
0
-10
13
-40
-1
17
0
-1
6
-81
-2
-12
-1
0
-28
24
-14
11
-4
2
0
-31
-6
3
31
87
-12
0
-2
0
-24
-15
-11
24
0
-4
17
-1
12
36
23
0
67
-7
5
-8
14
20
0
84
12
0
-10
49
16
0
2
-9
-6
12
-47
22
2
0
-5
9
25
-2
0
0
0
4
47
25
31
10
0
62
-16
-3
22
-47
-4
0
-5
-29
-5
-8
-39
-40
0
-97
-19
-1
-40
4
-15
0
69
46
2
23
17
-31
0
-31
25
0
4
48
-3
0
0
-1
0
45
-50
74
0
0
-10
0
19
-21
4
0
0
-23
127
144
24
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
-5
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
2
-31
0
0
0
0
0
0
-31
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
1
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-42
-59
5
-19
-8
2
20
-47
-1
-7
-45
0
0
36
9
-1
40
-15
-18
-2
12
-25
0
-5
-14
-5
0
47
7
0
-3
-78
-91
-2
45
-28
0
0
-109
0
-6
-6
6
0
-31
13
-9
-6
2
47
0
0
2
0
13
-2
-26
0
25
0
-7
0
0
-33
-10
0
-8
8
-8
54
-29
6
9
5
46
0
-49
3
-1
5
-43
0
-5
-26
30
0
49
25
7
1
-87
32
0
1
-63
0
-29
-12
-18
1
0
-14
-39
0
-1
-22
0
-1
-6
0
5
-1
41
0
-4
-33
-40
25
0
2
0
0
0
-1
0
-2
19
-33
0
-1
8
0
8
-142
1
6
30
1
0
-1
15
2
8
4
8
8
-2
-24
0
-40
-13
0
-1
2
54
0
24
-17
-1
-1
6
-16
1
4
3
-2
0
-25
-16
0
-4
-2
-1
-8
3
19
0
10
0
0
-25
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-1
0
0
0
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-24
0
0
0
0
0
-2
0
0
47
-5
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-42
0
0
0
0
0
0
-19
0
0
0
0
0
0
-39
0
0
-4
0
0
0
-5
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-37
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-46
-17
16
31
0
0
-20
15
-1
0
-5
0
0
-46
31
2
-9
22
13
0
35
42
0
0
36
0
0
-3
-81
0
-5
-20
7
0
-21
-1
1
0
-58
0
0
0
44
0
-42
-8
-13
0
0
15
0
3
0
0
0
0
43
72
14
0
0
0
8
-45
29
0
0
0
0
-13
64
-10
44
63
8
0
-46
6
0
0
-11
0
0
33
-7
0
0
66
56
0
70
1
0
-3
50
8
0
-1
1
0
0
49
-3
0
0
11
4
-8
5
0
0
1
28
0
-5
1
-8
0
0
28
1
0
0
0
0
0
-7
4
0
0
0
0
3
40
4
39
1
0
0
-2
-10
-3
2
-17
1
0
-2
-28
0
23
-19
0
0
0
-4
6
-1
-41
-9
0
0
5
0
53
1
0
0
1
58
0
-2
17
-5
0
2
7
3
-31
0
1
0
0
35
22
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
-2
0
0
1
0
0
-15
13
-5
0
10
3
0
0
-24
0
0
0
-3
0
0
3
0
0
0
42
0
0
-2
0
0
0
-21
0
5
1
0
0
0
8
0
0
0
0
0
0
-17
0
0
0
0
0
0
-20
1
0
0
0
0
0
12
0
0
-5
0
0
-7
15
0
0
0
0
0
0
-10
0
0
1
0
0
0
61
0
0
2
0
0
0
-13
0
0
5
0
0
0
-54
0
0
0
0
0
0
8
0
-2
0
0
0
0
18
0
0
0
0
0
0
-9
0
0
0
0
0
0
-21
0
0
0
0
0
0
8
0
0
0
0
0
0
-31
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-8
0
0
0
0
43
0
0
0
0
0
0
4
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
6
18
-24
3
21
30
49
-2
-5
-1
60
28
-7
17
-26
4
-27
57
-1
51
-28
-4
-46
-57
-23
-5
-28
6
-9
9
59
-8
7
-19
53
14
-6
1
0
50
-21
4
-32
24
12
-55
76
-13
0
-34
-21
31
-2
7
-31
-15
0
-43
2
-42
15
4
-32
1
25
-5
7
91
52
26
17
5
58
-3
25
-27
32
-18
9
-1
41
-35
-14
10
3
-4
-12
-20
44
-4
123
-21
7
14
5
-16
21
-38
-18
0
-56
8
15
21
2
-44
4
50
24
10
58
0
-6
47
4
-1
-19
59
-2
0
-1
1
-45
-17
0
22
-11
-8
-53
-5
17
31
49
31
10
10
25
1
10
12
-37
90
-6
27
15
62
-27
-17
-15
57
31
23
21
44
-38
3
36
-96
47
31
17
-46
-12
-75
-50
39
-35
15
-18
-1
-12
3
-59
-57
6
-8
-49
62
-22
10
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
16
-1
1
72
0
0
60
33
-3
-50
31
-46
0
-18
-40
-9
8
-20
10
4
-16
1
2
-1
-105
3
-1
-4
-20
0
-4
23
5
-1
-3
22
0
30
0
-8
2
0
-39
0
0
0
-5
-16
-3
22
-28
-5
0
0
-5
0
48
-5
0
-23
1
0
41
76
-6
21
-22
39
-2
3
85
0
6
13
0
-2
-62
18
0
18
-98
14
0
-43
-1
7
-3
-41
-13
1
17
33
0
-9
-38
-54
1
0
11
0
2
8
0
0
13
-45
0
0
0
-13
-1
0
-12
-22
-2
0
0
0
-2
50
0
-1
1
-3
0
-5
49
-3
156
0
-2
0
4
-8
-5
28
74
12
0
-4
62
0
73
-42
0
0
-2
-14
0
4
45
-47
0
-5
97
0
66
6
-15
0
0
90
3
-5
-6
0
0
-3
-102
0
-36
-4
1
-5
0
41
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-5
0
-24
0
0
118
0
-1
0
-8
-29
0
-9
5
-1
0
4
0
0
7
61
0
0
31
-1
3
4
-22
0
0
20
-5
-5
-2
34
0
-38
0
37
-1
0
-41
0
0
0
0
44
0
42
22
0
0
5
-4
0
-4
24
0
-5
0
0
-3
49
4
10
9
-6
0
8
-75
0
-5
1
0
1
12
11
0
0
21
2
0
10
-59
1
0
70
-1
3
-2
-15
0
0
-24
3
0
0
75
0
2
-1
0
3
0
21
2
2
-4
5
-25
0
-51
0
0
0
0
0
0
14
1
0
4
12
0
0
-5
0
20
0
0
0
0
-40
0
0
-1
0
0
0
-39
2
0
0
0
0
0
64
0
-2
-4
1
0
0
-22
0
-7
19
-3
0
0
34
0
0
-1
-4
0
0
-48
0
18
0
0
-2
0
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-94
0
0
-19
15
0
120
-3
0
59
35
58
0
-23
13
0
1
17
0
0
1
83
0
19
-56
-13
6
8
-47
0
0
52
0
0
0
4
-3
-31
5
70
12
0
-54
0
0
0
0
-3
0
66
44
-6
0
1
0
0
-36
48
-2
0
0
0
2
53
-1
6
3
5
0
-63
18
1
-23
-12
-1
0
58
9
0
12
-25
27
0
-13
89
1
1
47
4
0
0
39
0
4
-88
74
0
0
-19
0
0
-9
0
56
0
-8
13
8
0
-31
21
0
14
3
0
0
0
0
-1
-95
1
0
0
0
0
0
24
-4
-34
7
0
0
12
64
4
-8
-1
-3
0
0
-13
0
39
0
1
-1
2
40
0
9
8
8
0
0
19
0
51
0
-4
0
0
-9
0
-7
1
3
0
8
-35
0
22
8
0
-1
0
45
-18
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
0
0
24
0
0
5
-2
0
75
-1
0
0
25
-14
0
1
8
0
0
0
59
0
0
-30
0
0
3
-39
0
0
-17
0
0
0
-12
0
23
0
0
0
0
24
0
0
2
0
7
0
40
5
0
0
0
0
0
-49
-1
0
-3
0
0
17
-21
0
0
-1
0
0
22
-27
0
0
33
0
-3
7
-34
0
0
-9
0
0
-1
6
0
0
40
0
0
0
-19
0
0
-4
0
0
0
50
0
0
3
0
-1
0
-17
0
0
0
0
-2
0
-47
0
0
0
0
0
0
21
5
0
-9
0
0
0
-6
0
-1
-8
0
0
0
-20
0
8
0
0
0
5
-25
0
-21
-16
0
0
0
-7
0
0
17
0
0
0
-3
0
37
0
0
0
0
52
0
0
0
0
0
0
-16
0
1
0
0
0
0
2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
63
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-5
-1
-20
28
86
0
7
-1
0
8
-34
3
4
-20
-3
0
-1
-55
28
-3
-10
25
0
0
55
0
-1
0
1
0
-8
-19
-51
2
0
47
0
0
-12
0
14
0
16
-15
-12
0
-5
0
7
-16
-28
0
0
0
0
-2
57
-8
3
163
1
0
48
-1
0
1
33
2
0
-29
-16
0
1
9
26
0
58
-28
0
-13
15
-7
7
-3
48
0
-17
24
-32
-4
0
34
0
-5
7
0
-1
0
13
1
-7
23
13
56
0
-32
1
0
0
0
2
0
-80
32
-5
5
0
0
0
20
3
78
-2
8
0
-8
67
2
-5
-2
18
0
2
-75
0
-61
-17
0
0
0
0
0
6
39
-5
8
-4
-13
0
92
-14
-2
0
0
-78
0
0
-68
5
0
0
-56
0
16
0
0
15
0
47
13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
12
28
-6
13
1
32
-2
0
51
4
0
3
-31
40
7
45
38
-16
10
3
-8
10
42
-14
0
13
-82
-46
-37
83
10
2
0
-9
17
-24
1
56
-66
50
30
-3
-18
-51
71
-9
-19
20
-3
7
9
-13
38
-75
24
-64
0
25
12
23
35
-33
42
17
22
33
-30
108
87
10
11
-18
49
-16
23
22
10
0
20
27
5
39
91
-11
-13
-41
31
42
15
0
-34
8
32
50
-25
-31
38
-3
14
-7
54
14
10
-54
0
-14
-29
24
7
-3
-32
-8
4
-29
44
-15
7
0
15
0
92
0
84
28
4
-39
-70
24
-3
50
-12
-16
46
48
30
32
3
-48
24
0
-41
-92
-9
-60
14
-38
-9
3
-47
58
17
43
74
28
13
13
69
23
-6
-49
56
11
42
29
3
44
21
9
-14
61
6
21
-17
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
2
7
2
0
9
29
0
0
12
0
0
-8
10
0
0
1
0
0
0
34
0
0
0
0
0
0
27
0
-41
0
0
0
0
-17
0
0
0
0
0
0
8
0
0
0
0
0
0
103
7
0
0
0
0
0
25
0
0
0
0
0
12
27
0
0
-4
0
0
4
-58
0
0
-2
0
0
0
-73
0
0
4
0
0
3
20
0
0
-3
0
0
0
-8
0
0
0
0
0
0
16
0
0
-7
0
0
0
-47
0
0
0
0
0
0
-25
0
0
0
0
0
0
-5
0
-2
0
0
0
0
12
0
0
0
0
0
0
-19
0
0
0
0
0
0
101
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
5
0
6
1
3
0
4
17
0
0
-7
0
0
0
3
0
0
-1
0
0
0
107
0
0
-6
0
0
0
7
0
-1
5
0
0
0
70
0
0
0
0
0
0
52
0
0
0
0
0
0
14
0
0
0
0
0
-3
-10
0
0
6
0
0
5
0
0
0
0
0
0
1
-30
0
0
0
0
0
3
57
0
0
2
0
0
0
15
0
0
4
1
0
0
8
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
40
-1
0
0
0
0
0
-22
0
1
5
0
0
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
-15
0
0
0
3
0
0
-2
0
0
3
0
0
0
39
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-27
0
18
73
-43
-8
4
4
-5
43
28
-2
15
0
39
0
0
22
51
-26
-19
-5
0
-6
8
-3
2
5
18
-2
14
31
-1
4
0
28
0
-2
4
0
13
0
42
-28
-4
0
-27
5
0
-5
-51
8
-4
2
0
19
16
-8
0
101
-8
1
14
17
0
-13
19
1
32
9
4
0
-46
-7
75
9
47
-2
0
57
-16
-1
-19
-22
-23
6
-31
23
18
-6
7
13
0
-21
-36
-1
-1
0
-7
0
-3
-16
-5
-47
0
46
10
0
0
2
3
0
9
-12
0
-1
3
0
1
50
-5
-17
13
0
0
33
50
10
141
-11
-46
1
92
38
-1
67
1
7
5
-5
-29
0
-38
-23
66
8
1
-35
1
-2
6
4
-32
39
9
4
-1
-28
-55
28
-1
30
0
32
2
0
34
0
-33
-1
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
9
-1
0
0
4
12
0
0
0
0
0
-1
1
0
0
-1
0
0
0
-19
0
0
0
0
0
0
2
0
0
1
0
0
0
14
0
0
0
0
0
0
39
0
0
0
0
0
0
30
0
0
0
0
0
-1
24
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
5
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
3
0
0
0
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-3
0
0
0
0
47
0
0
0
0
0
0
59
0
0
0
0
0
0
-17
0
0
0
0
0
0
14
0
0
0
0
0
0
-22
0
0
0
0
0
3
-6
0
0
0
0
0
0
30
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
31
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
3
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-47
51
9
-36
12
56
-46
-11
-7
23
-31
-14
-4
-51
20
-8
1
1
2
9
4
-6
-1
6
39
50
7
0
24
-14
0
5
0
62
0
58
-65
-11
0
-13
-6
-7
21
31
0
53
-5
0
8
-19
15
95
-9
-26
0
74
-70
-5
20
-3
2
7
80
-15
-13
-48
26
-27
-22
-21
4
0
-35
134
-10
-18
-1
-11
4
35
-1
-18
-10
-1
-14
5
22
-18
-2
85
-1
66
-8
-25
-12
64
52
0
-35
-5
44
0
8
-56
0
-1
-45
-2
28
-1
0
2
-4
-1
14
-18
0
7
-8
11
3
137
-17
86
0
21
-45
-4
28
66
3
-16
-18
-1
2
-97
-71
6
0
4
-4
0
-1
-60
-1
24
-6
-34
-2
-4
102
-15
-8
-6
-2
4
23
2
1
-3
0
-19
75
-12
23
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
96
-5
31
-23
0
0
41
-26
0
-25
39
-16
4
61
4
1
-1
20
-7
-42
-1
-43
-4
-5
-43
-50
6
-4
-17
0
0
-1
-1
-4
0
13
3
-44
0
92
0
1
-16
19
-1
14
0
0
-7
16
2
23
92
0
0
-2
0
-5
73
-35
2
0
49
-40
4
13
-24
8
-48
17
-17
0
20
-5
6
27
-24
-34
1
8
85
-42
19
5
-29
0
-13
-45
0
35
0
-50
0
-2
-1
54
-7
0
53
-3
-5
0
2
-5
-2
0
10
0
0
-1
0
-1
-13
-4
-33
49
8
0
0
0
9
-9
8
-1
4
-2
-24
5
6
9
0
1
10
87
3
-13
42
-10
-1
-4
-35
0
44
-8
12
2
16
28
0
-1
-13
22
0
0
32
0
-40
-5
2
25
0
53
5
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-14
0
0
-5
0
0
2
2
0
0
-3
0
0
0
9
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
43
0
0
0
0
0
0
-8
0
-3
2
-2
0
-7
-53
0
0
0
0
0
0
15
0
0
0
0
0
5
-45
0
0
0
0
0
0
6
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
3
0
0
0
0
3
0
-2
0
0
0
0
7
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
2
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-8
29
-18
-55
66
61
-35
25
-8
1
3
14
-30
17
3
-7
15
-5
6
92
44
-7
14
35
56
36
5
-1
-8
-4
-15
-9
13
-1
5
21
40
-1
-13
-39
1
-5
48
-25
-7
6
-4
-75
-22
-49
-40
-7
31
11
-2
-30
0
-49
-6
-12
-35
14
23
43
-35
-4
29
-3
-51
-8
5
30
-6
-27
-23
-19
-26
-5
-37
-20
18
-3
-71
24
1
-45
-53
6
-3
31
-9
-19
5
-43
-23
-16
0
-12
30
-13
-2
-24
-13
-2
19
-25
5
-13
-2
-2
-34
20
64
58
44
8
-10
-58
-30
-13
-30
-13
36
10
-12
4
-2
-77
-21
-2
31
3
15
12
-20
3
-39
29
-1
-6
2
-5
-50
-7
65
68
24
-8
-10
-47
21
-12
48
8
1
16
-39
-5
1
0
-28
1
8
-6
-1
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
48
-1
-2
-55
13
-27
36
-46
0
29
-23
-20
-46
-23
-33
5
-8
-79
7
13
5
-15
0
-25
2
15
0
0
21
15
-2
2
14
18
-1
27
-48
59
0
-7
27
1
74
28
-1
31
10
0
42
48
25
46
1
102
0
57
-38
6
43
38
-3
-14
-11
24
-3
14
18
-47
35
14
-8
-13
6
-40
79
42
-8
-2
0
-30
-158
-53
-14
5
-26
7
18
79
-6
-17
0
3
0
-21
32
13
69
0
7
1
5
0
21
25
0
61
-48
0
0
5
-2
-27
76
9
14
-42
0
0
-93
-5
19
-2
2
5
-7
-8
25
-17
-42
9
-5
-16
1
16
8
-32
-21
-14
10
6
-58
2
-12
-49
0
-18
7
17
3
-3
-41
57
2
0
28
0
4
1
-1
10
0
-60
-1
4
1
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
42
-2
0
-52
0
0
-5
14
0
-5
-1
0
0
9
19
0
19
16
0
0
1
3
0
28
6
0
2
0
32
0
0
0
0
-66
0
-50
31
-3
0
0
0
7
13
8
6
0
0
0
-2
50
0
19
27
0
0
25
38
0
0
10
0
0
17
5
0
-3
-23
0
-3
-91
40
0
10
133
0
0
0
0
0
-1
42
-6
0
0
7
0
0
-3
0
-8
0
-59
0
-3
4
0
51
0
16
-3
0
0
0
0
0
-3
0
0
0
0
0
-4
-59
0
33
-9
0
0
4
9
0
4
-3
0
0
1
-39
0
-7
44
-1
0
-10
-87
0
-19
-24
1
-2
0
16
2
-14
0
0
1
0
-8
0
3
2
0
1
0
22
0
4
0
0
3
0
9
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
-16
0
0
3
48
0
0
0
0
0
8
29
0
0
0
0
0
0
7
0
16
0
-8
0
0
2
0
0
0
0
0
0
-3
9
0
0
0
0
0
-19
0
0
0
0
0
0
-45
0
0
0
-3
0
0
4
0
0
-1
0
0
0
5
0
0
6
0
0
0
-66
0
0
1
0
0
0
15
0
0
0
1
0
0
-94
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
36
0
0
0
0
0
1
-3
0
-1
0
0
0
0
3
0
0
-1
0
0
0
-23
0
-1
0
0
0
0
-5
0
0
-4
0
0
0
-53
0
-5
0
0
0
0
34
0
0
0
0
0
0
17
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
-13
43
-14
21
5
-84
15
0
13
4
3
4
-3
-8
8
2
23
8
82
0
-8
26
16
5
10
-95
0
5
-9
-7
-1
119
32
-14
16
49
12
-32
6
0
-8
17
-26
79
17
66
-3
49
0
2
26
-43
-1
10
-24
19
-2
24
4
20
-2
14
5
-8
45
54
28
-4
-4
25
-2
-17
-26
3
39
-1
37
0
10
-23
2
57
2
6
7
55
34
6
40
0
9
-39
-3
-5
-2
-46
0
5
4
2
0
-23
-1
13
-50
31
-18
119
0
0
-3
18
-1
4
34
-75
0
-25
-6
-12
61
35
-2
0
7
5
-2
2
9
-41
5
0
63
4
-3
17
-3
-83
14
-46
-4
3
13
43
22
-7
6
-2
-44
17
0
34
0
1
-31
0
49
23
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
29
2
-61
20
-8
-13
76
-9
16
-3
-10
18
-3
25
-25
-14
7
-35
-57
-1
7
46
-1
-3
-30
3
-73
3
22
-54
-20
0
19
18
8
-6
26
1
15
-59
-5
-48
10
-71
3
23
2
42
6
-14
110
24
7
32
-29
30
0
37
52
17
40
-6
5
-12
-9
-31
-5
-25
5
-55
4
-2
7
51
-51
-27
-10
9
1
-27
52
-13
-7
-25
-8
-5
2
-23
56
13
0
12
44
-7
-1
18
30
0
-26
-31
22
12
-41
-1
8
7
18
14
-23
2
-8
52
-38
48
31
49
5
2
54
0
15
4
-77
25
6
-52
-80
7
-60
-49
-81
19
-3
3
-42
-56
82
5
-4
32
-13
-6
70
-40
3
3
3
-12
2
-20
6
4
71
0
45
24
-16
-10
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
-18
0
0
0
0
0
0
55
3
0
0
0
0
0
25
0
0
0
0
0
0
19
0
0
0
0
0
1
-20
0
0
0
0
0
2
17
0
0
0
0
0
0
75
0
0
0
0
0
0
5
0
0
0
0
0
0
43
0
0
0
0
0
0
-41
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-3
0
0
-3
37
0
0
0
0
0
0
-7
0
9
2
0
0
0
10
0
0
0
0
0
0
-79
0
0
0
0
0
0
13
-6
0
0
0
0
0
20
0
0
3
4
0
8
-50
0
0
0
0
0
1
35
0
0
0
0
0
0
-23
2
0
0
0
0
0
-43
0
0
0
-1
0
0
13
0
0
0
0
0
0
-23
0
0
0
0
0
0
17
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
-3
0
0
-5
0
-1
0
0
0
0
68
0
0
0
0
0
0
33
0
-5
0
0
0
0
9
0
0
-1
0
0
0
-1
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
19
0
34
28
-52
5
25
10
0
21
-16
0
-1
-22
18
0
10
10
25
9
-4
12
2
-1
15
0
-64
0
10
60
-2
-4
8
5
0
26
17
-7
-5
0
-4
-5
-44
12
10
-51
54
5
12
3
0
10
93
1
-2
84
9
0
-75
-30
26
0
-27
5
-3
-25
21
7
45
69
-25
0
0
45
42
12
-56
8
0
13
16
-1
2
-5
-37
1
6
0
12
5
0
11
0
0
0
-1
-9
8
16
-30
-6
-1
2
0
-3
-29
0
-43
-10
-1
0
-14
78
0
31
12
-16
0
-61
29
12
-49
-31
1
2
1
14
0
-42
17
60
17
31
-26
0
-5
-34
-2
8
-3
0
0
0
-15
-6
-13
-12
-45
0
-21
5
1
9
0
-5
14
34
-5
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-47
0
0
0
0
0
0
-33
0
0
0
0
0
0
-6
0
-13
-9
0
0
0
-5
0
0
0
0
0
0
68
0
0
0
0
0
0
-38
0
0
0
0
0
0
-10
0
0
7
0
0
0
-62
0
0
21
0
0
-8
-25
0
0
-4
0
0
0
1
0
0
-12
0
0
0
-30
0
0
0
0
0
0
14
0
0
0
0
0
0
43
0
0
0
0
17
0
-58
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
-31
0
0
0
0
0
0
9
0
0
0
0
0
0
-31
0
1
-2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
1
0
0
-7
-47
0
0
2
0
0
0
-14
0
-23
0
-5
0
0
-33
0
0
0
0
0
0
42
1
0
0
0
0
0
50
0
0
0
0
0
0
49
0
14
-1
3
0
12
46
0
-1
-6
0
0
16
110
0
0
-5
0
0
0
-20
0
0
-8
0
0
0
-27
0
0
-1
7
0
0
40
0
0
0
0
0
0
-13
0
0
0
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
-3
0
0
0
0
-5
0
0
0
-9
0
0
39
0
2
0
0
0
0
-39
0
0
0
0
0
0
-41
0
1
-1
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-59
0
0
28
0
-2
0
111
-3
34
31
-10
0
0
87
3
0
0
3
8
0
16
2
6
0
5
0
0
-51
-16
-3
0
4
0
2
-3
22
-3
66
24
0
12
23
-3
-3
-4
0
0
-2
-18
0
1
-9
-31
0
0
-75
0
4
-48
0
0
0
1
0
1
-112
-7
-9
0
-18
0
7
1
1
-22
0
-18
0
2
0
-5
-55
0
-13
0
0
0
0
0
0
-7
-2
0
5
0
0
0
13
-8
64
-1
0
0
0
44
0
-4
-10
12
0
0
-89
0
14
-8
0
0
0
-86
0
4
42
14
0
0
94
0
51
6
-2
24
0
36
0
-2
-3
3
-1
0
-10
0
-23
8
0
-19
0
90
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-41
9
-3
-4
25
26
-39
40
-3
24
4
-67
0
6
-39
-1
-1
13
-1
23
0
-64
-64
16
0
2
14
-2
7
102
0
-21
5
-3
-2
-38
-10
24
33
-6
-1
-13
14
-4
15
-66
-3
-21
-43
3
-3
44
-7
23
-60
-22
0
-10
4
53
1
-9
3
-19
-10
26
-31
10
41
-17
-20
-5
-5
-10
-33
-14
-2
-23
21
2
0
-30
5
0
-25
-9
-2
-1
4
4
-1
0
37
-2
-10
4
-3
90
62
31
-12
-19
-17
12
-10
-34
2
-62
16
-86
1
-15
10
-4
-30
6
-29
-10
-48
0
0
8
7
91
8
-1
11
-2
-4
50
-1
-2
7
-16
2
43
3
11
33
-1
-2
-2
-22
-3
0
50
0
0
93
-10
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
1
51
0
0
0
0
0
0
15
0
0
1
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
74
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
0
0
-2
0
0
0
-1
0
24
1
7
0
0
-7
0
0
0
0
-2
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
-48
0
0
0
0
0
0
-44
0
0
0
0
0
0
-14
0
0
-7
0
0
3
48
0
0
-3
0
0
0
-21
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
8
0
0
0
0
0
0
0
0
0
0
0
-4
0
10
0
0
0
0
-8
0
0
-1
0
0
0
69
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
25
2
-5
-3
21
0
-14
0
-2
16
0
-37
-3
0
0
-1
68
0
67
-71
-2
0
16
-2
7
10
56
-1
22
0
0
53
-29
-5
-19
28
27
-2
-74
12
0
0
31
0
0
-33
-15
0
17
-14
-29
-1
-3
-23
-1
-6
-6
13
0
0
29
7
0
-8
59
0
-3
-7
0
0
20
0
58
0
-70
-5
-19
-1
7
-15
0
30
-1
0
0
0
5
0
7
25
-3
0
0
0
-4
6
0
-14
-20
0
0
13
16
-3
-30
-7
-18
0
5
29
0
95
48
0
6
-1
-41
0
58
2
-16
0
12
10
0
13
14
0
-3
0
11
0
-3
-1
-52
57
0
5
-1
-28
0
-6
58
0
16
-52
2
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
10
0
0
0
-57
0
-25
11
0
1
0
-14
0
9
0
0
31
0
1
54
-20
0
0
0
0
-22
-4
0
0
0
0
-19
-3
-6
0
91
0
0
134
-1
0
0
11
0
0
10
-28
0
-2
-10
3
0
10
22
0
0
0
0
0
-1
43
3
4
2
0
3
0
-33
0
0
10
0
27
0
0
0
8
16
0
-75
0
34
-1
-1
0
0
0
0
-42
-2
0
0
0
0
0
-25
0
-24
-2
0
0
0
59
0
-3
-15
0
0
5
-4
0
5
13
0
0
0
-44
0
-4
5
0
0
2
-13
0
24
5
0
6
0
-56
0
0
-60
0
-8
0
-37
-2
-46
2
0
1
0
-3
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-7
0
15
0
0
0
0
-6
0
0
0
0
0
0
-58
-16
0
0
0
0
0
55
6
0
0
0
0
-3
-75
-1
0
-2
0
0
-12
-33
0
0
4
0
0
3
-80
0
0
0
0
0
8
-44
0
0
0
0
0
0
63
0
0
-1
0
0
0
-49
0
0
0
0
0
0
26
0
0
0
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
-6
0
0
0
0
-14
0
0
0
0
0
0
0
0
-6
0
0
0
0
35
0
0
6
0
0
5
35
0
-3
-13
0
0
0
-1
0
0
0
0
0
0
22
0
12
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
26
3
-3
3
0
59
0
0
2
0
-10
0
-53
-7
5
0
-6
0
0
12
26
0
0
0
0
0
-19
1
22
31
4
9
-27
46
0
-1
-46
0
0
-1
57
0
-10
-44
9
4
0
28
0
0
39
0
5
0
8
0
8
19
42
0
0
-38
0
0
-2
0
-1
0
-24
0
-5
0
5
23
0
19
0
0
0
0
0
0
-28
5
0
0
-1
0
0
-13
-1
52
48
0
0
-3
30
0
0
17
-16
0
-14
46
0
24
-56
0
-4
0
46
0
-2
8
-3
0
0
30
0
-79
7
-2
0
0
21
0
4
-8
14
0
0
51
0
-45
12
0
0
0
40
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
19
24
-1
-8
-21
27
-34
-64
4
2
28
-1
3
1
0
23
-18
-6
-26
-6
-32
4
-12
0
1
31
7
112
-4
-28
-46
-28
-23
2
-7
7
-5
-34
-10
5
-62
-44
6
-31
22
-11
-2
3
35
15
1
62
59
-5
-23
1
0
-9
49
8
50
-51
-2
-12
0
3
-32
-6
6
-5
22
-28
-11
13
-73
1
0
7
50
-15
0
2
12
-3
22
24
-21
33
-30
-2
-17
16
53
-24
-40
-13
-13
-11
-10
-23
-95
-22
-10
40
-36
-10
-36
-51
-12
-16
-66
18
-19
-34
38
48
13
56
55
0
3
-61
20
-5
-4
48
25
-2
-17
-12
-1
43
-20
-13
-3
-11
-8
1
-23
0
11
-44
-12
1
-26
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
1
0
0
0
0
0
7
-8
0
0
0
0
0
-2
0
0
2
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-3
0
0
0
0
-5
0
0
0
0
0
0
29
0
0
0
0
0
0
7
0
0
0
0
0
0
25
0
0
0
0
0
1
46
0
0
0
0
0
0
-25
0
0
1
-3
0
0
3
0
0
19
0
0
0
27
0
0
-1
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-43
0
41
1
-77
0
0
9
0
0
-1
0
58
0
36
13
4
0
5
2
0
-29
25
2
-2
0
0
-19
1
8
5
39
-44
-5
-52
-31
0
8
-29
0
-2
16
45
-5
10
66
-8
0
-9
-3
0
-5
-2
0
4
-2
-13
0
8
-3
-28
0
0
-14
0
0
1
0
-3
4
10
-3
-1
0
-54
54
0
38
-8
-8
0
0
0
0
62
-14
0
1
2
0
0
14
0
-27
13
0
0
-2
-50
0
5
-6
-25
0
-17
6
0
-109
2
0
-2
-8
-2
0
-4
0
16
1
0
-24
0
47
2
0
-4
0
-5
0
0
0
18
-22
0
-22
0
-87
0
0
-5
0
-19
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
7
0
0
0
0
-7
0
0
0
0
0
0
-49
0
0
0
0
0
0
37
0
0
0
0
0
0
9
0
0
0
0
0
0
-22
0
0
0
0
0
0
-6
0
0
1
0
0
2
7
0
0
0
0
0
2
-23
0
0
0
0
0
0
6
0
0
-5
0
0
0
1
0
0
0
0
0
0
41
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
5
0
-13
0
0
-13
0
0
0
0
0
0
8
0
0
0
-6
0
0
-65
0
0
0
0
0
0
-47
0
0
25
1
0
5
8
0
0
0
0
0
0
-52
0
0
-6
-5
0
3
-46
0
0
-8
0
0
3
-14
0
0
-5
1
0
0
28
0
0
7
0
0
0
-5
0
0
0
16
0
0
25
0
0
0
0
0
0
-14
0
0
0
0
0
0
15
0
-4
0
0
0
0
-13
0
0
7
0
0
0
5
0
0
2
0
0
1
-13
0
5
0
-1
0
0
119
0
7
-1
0
0
0
-5
0
0
0
1
0
0
-37
0
29
0
0
0
0
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-3
0
0
0
-22
-2
0
0
0
0
0
-3
7
0
0
0
0
-5
60
0
0
-2
3
0
0
-7
0
1
0
0
0
1
0
0
3
-7
24
0
0
44
0
-5
6
0
0
0
68
0
0
8
0
0
0
-78
0
0
1
0
0
0
-48
0
-1
-4
0
0
0
-17
0
0
0
0
0
0
-31
0
0
0
0
0
0
19
1
-1
0
0
0
0
-53
0
0
0
4
0
0
25
0
0
0
0
0
-4
12
0
0
0
9
0
0
61
0
-1
0
0
0
0
-7
0
0
0
-10
0
0
-31
0
16
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-65
-4
-2
-4
-3
8
0
-13
-19
27
0
-3
0
-4
18
46
4
-20
0
0
-18
15
14
-1
19
-56
6
-20
-30
13
13
20
-24
-17
43
0
0
17
7
-42
44
-1
6
0
-17
-37
48
17
-3
-38
8
34
26
35
6
4
0
-2
37
3
-4
12
-1
9
3
-8
0
9
-36
0
-10
-1
-7
3
-8
-9
0
-12
42
-5
17
-35
0
44
77
9
-7
12
-9
-2
58
-43
3
-2
-14
-52
0
67
-17
-4
-64
-1
-19
0
-41
-32
0
24
4
83
15
-19
-36
0
-1
82
-3
2
19
0
0
0
2
51
0
0
-9
0
-54
13
2
34
0
26
54
3
-7
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
-2
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
-2
44
0
0
1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
3
-2
-1
13
-2
-79
3
-52
26
-1
0
40
-49
-6
27
-25
8
-7
-1
-9
113
-1
-18
-7
-23
6
6
-22
31
-1
-5
40
31
51
19
-6
-3
4
9
93
5
-21
12
9
-13
-19
15
31
-43
-40
1
-22
23
40
69
-13
-19
18
50
-20
-5
-5
22
-34
-16
14
-60
34
-10
0
18
-20
8
0
0
-23
0
1
-76
-31
13
2
0
-13
-6
13
-44
117
21
-49
-54
-6
5
2
-50
47
-4
20
-9
-2
-55
-20
2
-13
9
-25
8
52
-7
66
-5
10
-34
0
8
7
-13
1
-2
-21
-10
8
0
-26
8
0
-27
-1
5
25
0
58
0
14
-2
4
8
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
-16
0
18
22
4
0
0
0
-2
-1
30
0
1
0
0
-6
12
-8
0
37
17
0
-14
-20
0
0
-31
0
0
-20
4
0
-8
7
21
0
-11
-26
0
8
2
0
0
0
-85
0
0
0
-10
0
0
-16
0
0
0
0
0
0
-8
0
0
0
6
1
0
41
0
0
0
0
0
0
-38
0
2
-1
0
0
0
-4
0
3
1
0
0
0
-63
0
0
2
4
1
0
5
0
-14
0
0
0
0
32
0
4
1
2
0
0
-29
0
-12
-3
0
0
0
16
0
5
-3
0
0
0
-39
0
-5
0
0
-7
0
-5
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
1
0
0
0
-6
0
-24
16
14
0
0
0
0
5
-31
0
25
0
0
3
32
8
-2
7
0
1
-108
-4
0
-1
-50
0
-4
-45
6
0
4
-11
0
-21
75
1
0
1
35
0
-2
8
-35
0
0
-3
0
1
0
2
0
0
9
0
3
0
0
0
0
3
0
-17
0
-10
0
-6
0
2
-2
0
36
-30
0
0
0
0
0
-3
0
17
-6
0
0
0
7
-2
6
0
0
0
6
17
-3
-21
63
0
2
-3
-66
0
-2
39
0
2
0
-4
0
41
-21
0
-9
0
-29
0
-6
-8
0
0
0
26
0
76
0
0
24
0
11
-44
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-31
0
0
0
0
0
0
35
0
0
0
0
0
0
23
0
0
34
1
0
25
-40
0
0
1
0
0
-5
73
0
0
-1
0
0
0
-58
0
0
-24
0
0
0
-3
0
0
12
8
0
0
17
0
0
0
0
0
0
68
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
2
5
0
0
0
45
0
0
0
-5
0
0
28
0
-2
-5
0
0
0
67
0
0
0
2
0
0
-7
0
2
-1
0
0
0
41
0
0
3
3
0
0
-45
0
-1
0
0
0
0
17
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-1
0
0
0
0
8
0
0
0
0
0
1
-4
0
0
-4
0
0
0
-30
0
0
0
0
0
0
-35
0
0
0
-4
0
0
-42
0
1
0
0
0
0
13
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
1
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
17
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
58
20
0
-14
0
-4
4
39
-1
5
0
-1
-14
-13
-62
51
55
-35
-36
40
13
-2
42
66
20
-2
-5
3
13
46
35
-72
4
31
-14
5
13
56
-5
-2
-51
19
0
-9
-30
-25
-65
4
-27
0
-45
-5
2
34
-1
0
-1
10
-3
50
5
0
7
-3
-1
0
0
-2
-1
1
13
-41
-21
-10
0
-14
-21
-2
-1
13
8
-8
40
-23
1
-52
8
42
-5
21
28
27
-24
119
3
2
-21
-47
-1
-63
19
3
-1
8
-41
0
14
-39
46
19
4
-7
0
6
75
14
36
0
0
0
-23
1
1
3
0
34
-5
-7
0
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-15
0
0
0
0
0
0
12
0
0
3
0
0
0
67
0
0
0
0
0
0
-5
0
0
4
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-4
0
0
62
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
2
0
0
9
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
30
0
0
0
0
0
0
24
0
0
2
0
0
0
13
0
0
0
0
0
0
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
84
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
-2
0
0
0
0
-17
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
7
0
0
0
-18
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
1
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
31
-3
0
-2
0
0
-31
-8
-3
0
0
0
6
38
0
2
54
-3
0
3
19
0
0
0
0
0
84
-1
0
-7
1
-8
0
52
-43
0
0
-76
-1
0
-8
11
0
0
-27
83
0
-7
-13
0
0
-6
0
0
-7
21
24
6
0
41
0
0
7
-1
0
0
0
0
0
-39
0
0
0
0
0
0
39
0
-35
5
0
0
5
-88
0
0
2
4
0
10
14
0
38
5
0
0
-5
5
0
2
30
8
0
0
29
0
68
13
-1
0
0
-11
0
0
0
15
0
0
28
0
-13
0
0
0
0
-25
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
27
-33
-1
40
39
-62
-26
-20
1
40
2
-10
-28
-16
23
-49
9
-5
13
72
-19
-80
-16
32
5
-2
-42
-29
46
-4
-38
-19
31
17
-22
7
5
26
2
-12
8
3
-5
-46
-57
2
-18
-35
-27
-2
-24
36
-5
14
1
0
-1
-75
-7
-22
-39
-7
-41
-89
-27
2
-37
-5
7
5
47
25
5
21
24
25
66
50
64
81
-52
-13
-44
-9
-4
68
62
-6
22
-14
36
-70
-4
13
-34
26
39
-32
3
-48
5
-95
31
2
-4
-10
55
42
34
-29
5
-10
23
15
4
-8
0
5
0
0
49
-33
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-12
0
-15
0
0
-2
-31
-2
0
-23
-4
0
-29
55
0
0
16
0
0
58
-48
0
20
34
-59
0
13
14
0
0
50
0
0
-2
11
0
0
92
21
0
2
-32
2
2
41
0
-3
0
48
0
-6
8
5
-1
0
-22
0
5
0
0
0
0
-66
-8
0
0
0
0
-4
0
0
57
5
0
0
-3
19
-5
-2
-3
0
0
0
-22
0
65
-2
0
-1
0
-21
0
-7
-7
2
0
0
33
0
-22
0
0
0
0
25
0
-5
25
-2
7
0
-7
0
-84
-5
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
1
27
0
0
0
36
0
0
-51
0
0
-27
0
0
-6
-10
0
6
43
-32
0
14
-46
0
-3
5
2
0
0
82
0
0
4
6
0
0
28
0
0
0
0
46
0
43
0
-1
0
-4
16
0
-63
0
0
0
0
0
0
-6
-6
0
0
-2
0
0
5
0
4
4
0
0
-4
-70
-3
0
24
-2
0
-4
32
0
-59
-9
0
0
0
-30
0
0
4
-2
-1
0
59
0
-1
0
3
0
0
15
0
0
0
8
0
0
-141
0
0
0
1
0
0
33
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
-2
0
0
0
0
-3
75
0
0
-1
0
0
-5
-36
0
0
-4
0
0
16
58
0
-1
-3
0
0
-19
-7
0
0
-3
0
-10
0
49
0
0
4
0
0
0
-34
0
0
8
0
21
0
-6
0
-1
0
0
-1
0
35
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
-5
0
0
0
0
59
0
1
0
0
0
0
32
0
8
0
0
0
0
43
0
6
-4
0
0
1
-5
0
3
0
0
0
0
5
0
0
0
0
0
0
-7
0
3
0
0
6
0
28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
4
-13
0
0
1
0
0
5
-7
0
0
0
0
0
8
43
0
0
2
0
0
0
3
0
0
0
0
0
0
6
0
0
0
-2
0
0
-103
0
0
0
0
0
0
2
0
0
-2
-1
0
0
25
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
4
0
0
0
0
-10
0
0
0
0
0
0
-6
0
5
0
0
0
0
-2
0
0
0
0
0
0
17
0
-4
0
0
0
0
21
0
0
0
0
0
0
-14
0
-3
0
0
0
0
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
1
0
0
0
-20
0
0
0
0
0
0
15
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
8
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
0
0
0
67
9
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-3
-11
16
40
-19
-24
47
4
30
80
56
-19
51
95
-15
-46
11
37
-2
2
50
13
9
37
33
-27
-54
-5
5
-8
-2
-53
13
-22
-21
3
-25
16
28
-10
8
32
15
7
-97
62
6
22
1
28
68
-19
-2
-31
30
6
0
-8
6
-6
3
0
75
-36
114
-4
-24
5
39
24
-4
-9
6
1
-13
8
-31
9
20
29
93
30
43
5
8
-17
-2
-3
11
73
-76
13
-2
45
37
13
45
-68
-33
3
-24
30
3
62
-27
-24
3
-29
20
34
59
0
42
20
-51
-5
-47
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
6
0
-3
14
22
0
-1
20
-1
0
13
0
0
-11
35
0
-16
36
0
0
-5
91
5
-1
-36
0
0
2
30
2
-8
27
3
2
0
-59
0
0
-21
0
4
-4
35
0
0
0
1
2
0
-18
0
2
0
0
0
0
8
0
4
0
5
0
0
102
6
13
-5
0
0
0
8
-3
-9
103
0
0
-1
18
0
-68
38
0
0
0
9
0
6
-14
-12
0
0
-27
0
44
0
0
0
0
-24
0
0
-9
1
-1
0
-32
0
11
13
0
0
0
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
-13
0
0
17
0
0
0
10
0
0
0
0
0
0
29
0
0
-2
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
6
0
-49
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
-8
0
0
-5
0
0
0
6
0
0
0
0
0
0
-1
0
13
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-6
2
-2
0
9
-4
0
0
1
0
0
5
82
0
0
-13
0
0
2
112
0
19
-2
0
0
0
42
0
0
1
-1
0
3
-68
0
0
0
0
-8
0
93
0
0
0
-4
1
0
32
0
0
0
0
0
0
64
5
0
0
0
0
0
-15
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
5
0
0
0
0
28
0
0
0
0
0
0
-13
0
-3
0
2
0
0
51
0
0
0
0
0
0
20
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
57
0
0
-9
0
0
0
67
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
2
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
-7
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
56
0
-1
1
0
0
10
-5
0
0
-16
1
-6
0
4
0
-1
23
0
0
0
-34
0
-1
22
3
4
-2
24
0
-3
6
0
-9
0
45
0
-1
0
1
3
0
62
0
0
0
0
0
0
4
-21
7
0
0
0
0
-23
1
-2
0
0
0
0
-42
0
-2
-1
2
0
0
15
0
13
-7
0
0
24
19
0
0
-1
-7
-2
0
-20
0
-31
0
0
0
0
-25
5
-1
0
3
0
0
-24
0
16
0
0
3
0
66
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-9
10
47
19
17
-17
-22
-5
-20
-52
-13
33
31
5
1
7
-2
-40
-27
-25
19
-12
-2
-24
22
60
13
75
17
0
1
-6
28
63
-5
67
-1
9
31
59
2
0
-33
-13
-3
1
-12
-19
8
16
46
-22
-39
-1
2
-6
0
-50
-23
-9
5
2
-59
-30
97
34
7
-38
4
-51
16
45
-74
-83
0
9
58
9
24
-67
-39
-16
35
-21
29
1
46
-15
-42
-45
-44
11
2
2
-49
10
62
-7
7
0
7
-32
4
15
0
-10
30
8
5
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
48
0
0
3
0
0
10
-30
5
-8
42
4
0
-4
55
0
0
7
0
0
-3
13
0
0
0
-3
0
0
72
0
0
0
0
-1
0
29
0
0
0
0
-14
0
65
5
0
0
0
0
0
-5
13
0
0
0
0
0
8
7
19
0
0
0
0
29
0
-4
7
0
0
0
135
0
15
-1
0
0
0
0
0
1
2
3
0
0
32
0
12
0
0
0
3
-14
0
0
2
0
0
0
71
0
-1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
25
0
0
-23
0
0
1
15
0
1
-31
-10
0
-1
-3
0
0
17
0
0
0
23
0
0
-4
15
0
0
62
0
0
0
0
-8
0
-108
0
0
0
7
33
0
-19
0
0
0
0
0
0
-16
15
0
0
0
0
0
23
0
-13
0
0
0
0
-50
0
0
0
5
0
2
48
0
-3
19
0
-1
-1
-57
0
1
0
0
0
0
32
0
17
3
0
0
0
-8
0
0
13
4
0
0
26
0
-3
-2
0
0
0
23
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
1
3
44
-8
0
101
23
0
10
104
-29
-6
-38
18
-1
-2
-42
3
-7
5
5
0
-30
29
32
-25
0
-43
0
3
-4
3
34
0
-6
0
-8
-14
50
27
0
15
-6
0
0
0
12
0
-10
-27
0
0
0
0
0
-2
-12
-81
5
0
0
24
-9
-4
23
3
0
0
5
-5
0
59
19
0
-2
-9
-52
1
0
-39
1
0
-7
21
0
-4
0
4
-6
0
52
0
15
5
-5
-4
0
6
0
-33
-7
0
-2
0
30
-13
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
13
0
4
9
1
0
56
-12
0
0
-41
0
0
63
24
0
10
-28
0
-7
14
-7
0
0
22
0
0
0
-39
0
0
-19
0
-7
0
15
0
-1
-8
0
41
0
8
2
0
0
0
0
0
2
-1
0
0
0
0
6
-22
0
6
25
0
0
4
49
0
0
28
0
0
-6
-74
2
-85
14
0
3
0
3
0
24
-5
0
0
0
27
0
-14
2
0
-2
4
16
0
0
-3
0
0
0
12
0
-37
0
0
-4
0
58
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-14
0
0
0
2
0
0
-53
0
0
0
0
0
0
52
0
0
0
-3
0
0
-66
0
0
0
0
0
0
8
0
0
0
0
0
0
40
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
-2
0
0
0
0
12
0
1
0
0
0
0
28
0
4
0
0
0
0
14
0
0
0
-1
0
0
-14
0
-1
0
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-30
-1
-2
-5
21
-12
25
-25
6
2
51
4
-2
0
52
0
0
10
-23
4
0
-40
0
0
-16
0
-14
0
54
3
-8
3
7
-15
0
38
2
-4
0
-6
-2
0
39
-2
-1
-1
-3
0
0
-61
0
-40
-7
0
0
0
0
-14
44
-65
-17
0
6
9
0
-43
-69
0
0
-5
-2
0
3
-21
13
0
0
34
0
67
21
0
-3
0
27
0
0
4
25
3
0
-13
0
55
0
1
59
0
65
42
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
12
-91
4
-17
-50
-45
55
18
11
-30
-21
25
-81
37
29
-5
-85
54
4
-41
-26
1
-21
-42
39
42
-22
4
17
4
-50
36
-11
12
0
19
39
-27
0
23
-50
6
-7
27
-43
56
-6
-3
-8
41
87
22
-1
-4
-6
-67
0
-25
20
2
87
-1
38
5
-58
36
16
34
27
31
57
-76
6
44
-6
-9
-23
7
-53
-30
8
-7
-19
-32
32
29
-10
22
21
27
39
-7
31
10
12
19
-24
0
34
-34
2
-54
59
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-3
-2
0
0
-2
-9
0
0
0
0
0
0
-1
0
0
0
16
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
47
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
-4
0
0
0
0
-14
0
-1
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
-46
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
-1
0
0
6
56
0
0
-16
0
0
0
4
0
0
0
0
0
0
-43
0
0
0
0
0
0
14
0
0
0
-2
-1
0
144
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
3
-3
0
0
0
-3
-33
0
0
0
0
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
74
-2
0
46
24
-7
28
10
0
19
-21
-3
4
8
-38
0
10
46
32
0
-3
-15
0
12
22
-1
-20
0
-17
0
-1
8
42
-17
0
-14
0
0
0
0
13
0
-1
-4
3
0
0
0
0
88
8
-56
0
0
0
-3
-38
0
-58
96
-4
0
0
19
-4
37
-14
-3
0
22
-66
3
23
2
-46
0
-3
44
0
-39
12
-10
-3
-1
84
0
-1
-8
8
-5
0
-5
0
-2
0
0
-7
0
66
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
2
0
0
0
31
0
0
0
0
0
0
-4
0
0
0
0
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
25
0
-5
0
0
0
0
2
0
0
-3
0
0
0
-3
0
0
0
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
2
0
0
0
-9
0
0
-8
0
0
0
1
0
0
0
0
0
0
-32
0
0
2
0
0
0
18
0
0
-2
18
0
0
35
0
0
0
0
0
0
12
0
0
0
0
0
0
-11
0
-4
0
0
0
0
1
0
0
0
1
0
0
73
0
1
0
0
0
0
-1
0
0
0
0
0
0
18
0
-3
2
0
0
0
14
0
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
0
5
-100
5
0
0
-13
0
10
-68
-40
1
0
73
5
-1
-13
0
-10
1
27
-1
0
-1
11
8
0
28
-8
3
0
-1
0
0
-4
-28
0
0
-2
0
0
-3
0
91
17
0
1
0
-20
1
-14
17
3
0
0
-15
0
-67
-7
0
-4
0
-48
0
5
9
13
0
-3
41
0
34
-18
7
-2
-8
28
-2
-2
3
-16
3
0
60
0
71
-3
0
30
0
-24
-18
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-9
71
-34
55
133
-6
105
1
-8
-28
34
-15
-41
52
25
-8
-21
30
-37
-37
5
-12
-25
76
40
45
-6
2
15
-42
-3
-1
-6
-103
-1
-24
-7
3
-19
51
0
-21
31
-76
17
6
-8
3
6
8
-2
10
83
26
-13
-72
0
-42
-4
-36
-3
0
125
-46
19
-56
5
54
50
-46
-6
13
-11
5
49
-48
9
8
-2
-84
65
13
41
-7
-3
-5
-16
10
5
-29
0
13
-4
-11
-24
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
56
0
0
-1
0
0
0
50
0
0
0
0
0
0
-4
0
0
0
0
0
0
82
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
-5
0
0
0
-93
0
0
29
6
0
0
-45
0
0
0
0
0
0
42
0
0
0
0
1
0
-14
0
0
0
0
0
0
-37
0
0
0
0
0
-4
8
7
2
0
0
0
0
-7
0
0
4
-4
0
0
47
0
9
0
0
0
0
-19
0
0
1
-1
0
0
5
0
-8
0
0
0
-6
-27
0
0
0
1
0
0
51
0
20
0
0
0
0
43
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
32
1
-6
32
2
-21
-80
-16
0
-2
8
-20
-1
15
-38
0
-24
-42
-4
31
0
-19
3
24
-4
-16
44
0
10
0
0
0
8
2
0
20
81
0
1
-4
0
4
19
6
-26
4
0
0
3
-28
0
-11
0
9
0
-2
21
12
76
9
-1
0
8
48
0
39
16
12
0
0
-14
0
8
13
-1
-17
-1
-4
0
6
6
128
12
0
3
0
43
0
0
-10
0
13
-35
3
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-51
0
-4
25
0
0
0
-12
0
0
14
-3
0
-2
-55
0
0
6
0
5
3
52
0
0
0
0
46
0
9
0
0
0
0
0
0
4
-7
0
0
0
0
0
-6
0
3
2
0
0
4
-4
2
0
-32
0
0
30
0
0
6
41
0
0
-2
-25
0
3
8
2
0
3
-27
0
14
0
0
-1
0
-59
0
10
0
0
3
0
41
0
52
15
0
1
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
5
0
0
0
-50
0
0
0
0
0
0
-28
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
1
0
0
0
0
-33
0
0
0
3
0
0
-40
0
0
0
0
0
0
2
0
0
0
0
0
0
-39
0
-3
1
0
0
0
41
0
0
0
0
0
0
-12
0
-4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
64
0
-2
1
73
-8
0
-55
0
0
0
0
7
-3
12
0
-1
-9
49
8
0
-45
0
0
0
0
0
0
15
-1
0
0
0
0
0
-48
0
-49
1
0
0
0
-123
0
-13
16
24
0
0
-45
0
70
58
-8
0
0
-50
0
5
-28
-7
0
0
27
3
74
2
0
0
0
55
0
-7
13
-42
0
0
-11
0
97
0
0
5
0
32
5
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
8
24
-29
22
10
-84
110
-6
-5
-4
32
14
-41
-5
-18
-21
20
27
-7
30
-1
12
-102
83
0
27
-47
-3
24
22
23
12
18
0
61
37
28
10
16
4
-5
48
-7
-24
-15
-35
-40
4
-41
-3
-8
-12
-21
23
-18
20
0
-2
78
4
12
0
-31
28
0
12
-97
34
-9
-36
49
1
17
4
-14
79
41
-9
0
-91
-3
-24
0
0
-7
-8
41
49
60
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
12
0
0
0
0
0
0
-9
0
1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-15
1
0
0
-25
0
0
0
0
0
-1
-7
0
0
-5
0
4
0
-28
0
0
0
0
0
0
-52
0
0
0
0
0
0
-3
0
2
0
0
0
0
59
0
0
-4
0
0
0
15
0
1
0
0
0
-8
-22
0
0
0
-1
0
0
-48
0
18
0
0
0
0
-24
0
0
-3
0
0
0
-30
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-4
-12
9
0
32
-51
0
8
0
0
-63
0
30
-1
-4
4
-7
-7
0
3
0
0
0
0
1
-1
46
-9
-1
0
6
0
0
-9
-5
46
-3
-8
0
-3
30
0
5
13
-11
0
13
74
0
29
1
1
0
17
-23
-4
-43
-4
69
0
0
13
0
-37
20
0
0
0
12
-1
-5
-1
41
-1
0
40
0
-59
0
0
-7
0
-21
18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-1
0
0
0
-2
0
0
-3
0
12
0
-13
0
0
0
-1
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
-8
0
0
0
0
6
0
0
0
0
0
0
44
0
0
0
0
0
0
-13
0
0
0
0
0
0
35
0
-2
0
0
0
0
-15
0
0
0
0
0
0
-28
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
1
1
0
0
-13
0
0
1
0
0
0
-10
0
0
0
1
0
0
72
0
0
0
0
0
0
13
13
0
0
0
0
0
6
0
30
0
0
0
0
49
0
0
3
0
0
0
-32
0
5
0
0
0
0
-39
0
0
6
0
0
0
-61
0
-5
0
0
0
0
28
0
0
0
0
0
0
30
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-4
0
0
0
41
0
0
0
-1
12
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
3
0
0
0
0
56
0
1
4
0
0
0
-1
0
-5
0
0
0
0
35
0
10
-7
-1
0
0
21
0
19
0
0
0
0
1
0
0
0
0
0
0
-2
0
-3
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
4
24
-7
11
23
24
-19
55
-10
51
-50
-7
-7
1
-32
-7
21
1
0
-22
9
-6
86
-19
8
23
0
50
-27
-24
-48
52
9
-3
71
13
8
14
19
-6
0
-67
-4
-7
36
84
32
-28
-46
-4
10
-21
-22
1
-25
14
0
4
22
-25
-9
8
11
49
-7
22
-64
25
56
-1
41
0
-42
-4
-14
-23
0
11
31
6
-24
-27
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
7
0
0
0
17
0
0
0
0
0
0
-24
0
0
0
0
0
0
-24
-1
0
0
0
0
0
-1
0
1
0
0
0
-1
-4
0
0
0
0
0
0
-18
0
-4
0
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-43
4
-12
0
0
-38
0
-23
0
-7
0
69
14
0
-30
-8
3
0
0
0
0
0
1
0
0
-5
0
0
-22
0
85
25
0
0
9
30
-2
-18
44
-2
0
0
-10
3
-17
4
-8
-4
1
11
0
-3
6
6
0
4
-49
0
40
0
3
0
0
55
0
-1
-1
-4
-5
0
11
0
84
0
0
25
0
18
-37
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
1
-26
0
-19
0
-71
0
0
-39
0
61
0
-44
0
3
0
0
0
0
-39
55
0
-6
0
0
0
27
-4
14
15
0
0
-22
54
0
-13
-2
0
0
-2
37
5
38
31
0
-2
8
-13
3
8
-13
0
0
-3
22
0
-15
3
0
6
0
7
0
0
-12
0
-2
0
-69
0
-37
1
0
-9
0
18
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
15
0
0
0
0
0
0
21
0
0
0
0
0
0
-37
0
0
0
0
0
0
19
0
20
0
0
0
0
-2
0
0
-9
0
0
0
-2
0
-19
1
0
0
0
2
0
0
0
0
0
0
-54
0
-5
1
0
0
0
5
0
0
0
0
0
0
20
0
3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
26
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
4
1
0
0
0
20
0
0
0
0
0
0
13
0
0
0
0
0
0
-17
0
0
0
0
0
0
-50
0
0
0
0
0
0
-13
0
0
0
-1
0
0
-39
0
4
0
0
0
0
-14
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
22
7
-55
-55
34
5
0
-7
-27
60
-1
1
-25
-1
14
14
29
15
54
17
-2
-50
54
-31
-21
-2
15
35
6
75
3
-13
78
5
27
33
-46
13
55
60
38
-16
-20
-5
-63
-87
12
-29
39
8
-18
39
36
11
72
45
0
-2
44
64
44
6
14
4
-8
-15
-12
6
12
-1
30
-23
-19
-16
25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-8
0
1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-5
0
0
0
0
-8
0
0
0
0
0
0
38
0
0
0
0
0
0
-37
0
0
0
0
0
0
-3
0
0
0
0
0
0
72
0
0
0
1
0
0
-39
0
-41
0
0
2
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
3
-3
0
0
-46
-4
6
0
0
0
0
27
0
0
0
0
0
0
16
0
39
0
0
0
-5
102
0
0
0
0
0
0
23
0
-16
0
0
0
0
-30
0
0
0
2
1
0
31
0
-8
0
0
0
0
-26
0
1
0
6
0
0
37
0
4
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-23
0
0
11
-8
0
0
0
0
0
85
-6
0
0
0
0
0
-6
0
8
0
0
0
0
22
0
0
-7
1
0
0
-9
0
-3
0
0
0
0
-13
0
0
0
0
0
3
-2
0
-31
-8
0
0
0
-22
0
-1
-1
14
0
0
20
0
22
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
-1
0
0
8
0
1
0
0
0
0
7
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
1
-3
-2
3
-3
-3
2
5
5
-8
23
0
-1
23
42
85
-50
5
-2
27
21
42
67
60
95
2
23
-9
7
-9
-52
2
6
9
-28
-1
-5
58
-8
0
-18
-27
0
16
18
-13
6
8
29
0
-17
99
43
-43
-4
0
0
-19
2
-9
0
0
19
8
1
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
-2
0
0
0
0
44
0
0
0
0
0
0
48
0
1
0
0
0
0
-10
0
0
0
0
0
0
-39
0
-5
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
-3
0
0
-27
0
0
0
0
0
0
-8
0
-4
-3
0
0
0
-57
0
0
0
-3
0
-2
23
0
1
0
0
0
0
-13
0
-2
0
0
0
0
25
0
8
0
0
0
0
58
0
0
2
4
0
0
-13
0
0
0
0
0
0
-73
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-36
-4
0
0
0
0
0
85
0
25
-2
0
0
-2
30
0
0
-2
6
0
-1
-71
0
53
-18
0
0
8
25
0
-5
10
0
0
0
32
0
-4
8
0
0
0
-56
0
0
0
0
1
0
-38
0
-24
1
0
0
0
-4
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
5
0
5
0
0
0
12
3
-26
0
0
0
7
13
0
2
14
7
0
2
-8
0
30
4
0
0
0
-30
0
0
-15
1
0
0
49
0
-56
7
0
0
0
102
6
-2
5
5
0
0
-26
0
109
10
-3
0
0
11
-7
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
-52
-8
4
-3
1
-1
23
45
5
27
26
-7
67
20
45
-4
88
34
3
-15
10
84
54
10
162
4
10
-3
-8
48
7
-64
21
-35
-49
-6
4
22
15
-62
65
-45
9
-34
-23
-25
-26
16
14
0
40
25
-13
14
0
0
-1
-25
8
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
0
0
0
-2
0
0
0
0
0
0
1
0
-5
0
0
0
0
-5
0
0
0
0
0
0
-5
0
2
0
0
0
0
25
0
0
0
0
0
0
38
0
-2
0
0
0
0
-132
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
-1
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
6
0
-3
0
0
0
0
13
0
0
0
0
0
0
-24
0
1
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-21
0
0
0
0
0
0
-57
0
3
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
10
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-37
13
31
30
7
0
20
28
5
13
35
-20
0
102
-11
0
16
35
7
-16
1
17
0
-27
-22
31
5
-20
-13
0
-12
19
-4
-41
59
16
1
36
-58
-31
-28
-3
-1
-1
-20
4
0
53
0
-10
55
-6
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-1
8
0
0
0
-57
0
0
4
-2
0
0
5
-8
4
-1
2
0
0
9
0
0
0
0
-6
0
-25
0
12
0
0
0
0
-62
0
3
1
0
0
0
4
0
1
0
0
0
0
66
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
-2
0
-3
0
0
0
0
26
0
-2
0
0
0
0
1
0
0
0
-4
0
0
-9
0
5
0
0
0
0
-3
0
0
0
0
0
0
47
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
-9
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
2
0
0
75
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
1
0
0
0
5
0
-1
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
3
-3
0
0
-69
0
-1
0
0
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
0
0
39
0
0
0
0
0
0
-77
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
19
-5
28
54
-31
0
-37
35
1
10
45
18
-7
-4
40
0
15
30
49
-3
-3
-15
0
-9
-6
0
0
5
22
0
-6
5
-5
13
0
-8
0
26
0
0
-6
0
18
4
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
15
0
0
0
0
37
0
0
0
0
0
0
19
0
0
0
0
0
0
49
0
0
0
0
0
0
-15
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
-8
192
-13
-3
9
-4
0
13
21
0
0
15
-2
0
-25
73
28
0
-3
-5
0
69
-17
4
19
17
-29
0
-5
-5
4
1
0
48
0
-21
0
0
1
0
37
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
5
4
0
1
45
0
-12
0
0
0
0
112
0
-4
-8
0
0
0
104
0
-5
0
0
0
0
-26
0
0
0
1
0
0
79
0
-6
0
0
0
0
-19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
60
0
0
-2
4
0
0
-36
0
0
0
0
0
0
-8
0
0
0
0
0
0
47
0
15
0
0
-16
0
42
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-28
7
82
-9
5
-1
-12
-38
-9
-13
-26
73
0
56
0
0
-5
-55
-2
4
-43
12
0
9
50
47
-7
3
27
17
31
5
0
50
0
16
-51
-8
-49
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
41
0
0
0
0
0
0
5
0
-2
0
0
0
0
7
0
0
0
0
0
0
42
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
58
-5
28
14
0
0
0
18
0
0
-8
-3
0
0
26
0
-8
5
-3
0
0
-35
0
0
0
-1
0
0
108
0
-19
0
0
0
0
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
7
0
0
0
0
19
0
8
6
-3
0
0
-35
0
21
0
1
-2
0
-15
0
0
0
3
0
0
71
0
-17
0
0
3
0
-43
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-54
0
2
0
0
0
7
73
0
8
-2
0
0
0
-4
0
-9
-1
0
0
0
-47
0
0
0
1
0
0
-18
0
27
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-1
0
0
28
0
5
0
0
0
0
18
0
0
0
0
0
0
10
0
-3
0
0
0
0
-15
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
0
4
-39
-58
14
28
12
-1
35
-13
3
-23
6
16
5
75
-89
-20
76
-1
24
0
39
0
0
-43
-1
-4
11
54
-4
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-23
0
0
-5
25
0
-3
-13
0
163
35
0
-31
0
34
0
-2
0
-10
0
0
64
0
-7
0
0
-12
0
1
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
-4
2
1
0
38
0
2
-1
0
-1
0
-69
0
0
0
5
1
0
29
0
17
0
0
0
0
-58
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
37
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
6
1
0
0
0
-53
0
0
0
-3
0
0
-4
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-1
5
21
87
-19
-24
3
-11
-6
-14
21
-26
-14
0
-9
-1
-27
37
1
25
0
-22
21
39
-17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
17
0
4
0
0
60
0
0
-6
2
0
0
40
0
1
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-4
2
-3
0
0
-5
0
0
4
10
0
-4
42
0
41
0
0
0
0
104
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
32
0
0
0
0
-17
0
1
3
0
0
0
-23
0
6
0
0
0
0
49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
3
0
0
-106
0
-1
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
10
50
-26
41
-10
-9
14
0
-67
30
2
12
0
-6
27
-30
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-76
0
0
6
3
0
0
-39
-1
5
-3
2
-5
0
49
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
14
0
0
-67
0
33
0
1
2
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-59
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
0
0
28
0
-4
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-23
0
-58
8
-2
-18
0
-17
37
25
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-8
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
0
86
-9
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
5
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
155
4
-13
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
16
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
2
0
0
-5
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
4
-1
0
2
0
0
0
-2
8
0
0
-1
0
0
0
-23
0
0
0
0
0
0
31
0
0
1
0
0
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
49
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
104
0
0
-7
0
0
0
4
0
0
0
0
0
0
13
0
0
-5
0
0
0
10
0
0
0
-1
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-31
0
0
-2
-5
0
8
-4
4
0
0
0
-8
-1
-3
0
0
0
0
0
2
0
0
0
0
0
6
0
0
0
0
-44
0
0
29
0
0
-14
0
0
0
0
0
0
13
0
0
0
0
1
0
0
0
21
0
0
43
0
0
0
-12
0
0
34
0
0
0
22
-4
-5
44
-5
0
0
-10
0
34
4
0
0
0
4
4
-17
0
0
0
0
0
0
27
0
4
0
0
0
0
23
0
0
-7
0
0
0
-39
0
0
-6
-5
-4
0
0
14
16
0
0
0
0
0
41
23
0
28
40
38
0
-27
12
0
0
59
0
0
8
-61
0
0
1
-13
0
-24
23
0
0
36
0
1
0
5
0
-26
0
-1
0
0
9
2
0
0
0
-2
0
0
13
0
0
0
0
0
0
41
0
-6
0
0
0
31
0
0
-6
0
0
-20
-7
0
0
9
0
0
29
49
0
0
8
-19
0
23
-42
0
0
64
0
-1
14
49
0
0
-16
-42
0
0
-45
0
-2
-3
0
1
0
-9
-1
-1
0
-3
0
0
32
0
-6
0
0
0
0
0
26
2
0
0
0
0
7
0
0
0
0
0
0
-33
0
0
-7
0
0
0
-29
0
0
-2
0
0
-4
9
0
-4
-14
3
0
0
10
3
0
0
0
0
0
14
0
0
0
0
0
0
-69
0
-54
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
3
38
-67
1
37
-48
25
0
0
0
0
0
0
0
22
0
-13
10
20
40
-18
25
12
-27
-19
7
-5
-18
-1
1
-46
-61
-98
7
7
32
24
-29
-14
-11
-2
-19
-11
-16
6
-5
-59
-1
-12
-41
2
0
-45
75
-26
-24
30
-25
89
-47
-1
-121
0
-6
-6
12
17
-10
-3
13
9
-8
-33
91
8
-16
-52
14
-13
-13
9
25
1
17
7
-10
-24
-13
-7
-46
-3
-19
-5
-18
-15
-7
-6
0
-15
-22
71
-40
-1
18
-5
60
-13
23
-49
18
-1
0
-54
20
-27
-49
-89
-5
-4
5
3
-20
48
28
24
-57
-21
8
4
-27
3
57
38
-30
6
15
-9
4
-2
-55
9
3
36
-6
5
32
1
-23
4
25
27
-2
-11
-30
-15
-2
44
-19
0
65
-1
-47
-4
28
2
-3
-5
14
-37
-4
-13
-17
-9
40
0
66
2
-15
-19
-79
9
18
-47
4
-42
-43
34
24
-27
-35
8
-28
17
-14
15
1
-9
3
18
25
9
-3
22
-10
5
20
37
13
3
1
2
-3
-30
-7
8
-4
-26
-3
-1
-37
15
6
11
5
-11
2
2
18
-7
-42
-8
-13
-2
-16
41
-28
-7
4
-3
-2
-26
-11
12
-40
-24
-16
10
-4
-32
7
43
-59
-28
0
10
8
-19
81
-12
3
-4
13
-5
-4
1
53
-16
-10
28
-34
-15
-39
5
-18
-10
-11
16
-22
8
27
-4
6
-14
-10
-2
-41
5
-39
-2
-69
14
-30
-11
-7
17
-2
-9
-10
-23
-47
10
20
-5
-27
10
-7
-27
24
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-24
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-20
0
0
0
0
0
-1
0
0
0
3
0
0
-1
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
10
0
0
8
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
-42
0
2
-3
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
4
-1
0
0
0
0
0
-4
0
0
0
0
25
0
0
-2
0
0
-8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
2
0
0
17
10
0
0
-2
0
1
30
3
0
0
-64
5
0
29
-3
0
0
0
0
20
-16
0
0
0
-1
-1
2
19
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
1
0
0
0
-53
0
30
0
2
-3
0
0
0
6
0
0
12
0
0
9
-25
0
-19
9
0
0
45
60
0
0
5
0
0
-49
61
0
0
17
-3
0
0
44
0
0
-7
0
0
0
4
0
32
0
1
0
0
-26
0
0
0
0
0
0
30
-1
0
0
0
0
0
22
0
0
0
0
0
0
51
0
2
-5
0
0
-2
-38
0
0
1
0
0
-8
17
0
0
0
6
0
1
12
0
0
33
0
0
0
-2
0
0
-9
-1
0
0
47
0
0
-4
0
0
0
-45
0
0
0
1
4
0
31
0
0
0
0
0
0
25
-1
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
-1
-94
0
4
0
0
0
0
75
0
0
-9
-7
0
0
-34
0
0
-1
0
0
0
42
0
0
0
0
0
0
24
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-138
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-130
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
1
0
0
-3
0
0
0
-8
0
0
5
0
0
0
0
0
4
-5
0
0
0
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
10
0
0
0
0
0
-5
-7
1
0
0
0
0
-30
0
0
0
0
0
0
0
0
-6
0
0
0
-17
-5
0
0
-3
0
0
0
31
0
0
0
0
0
23
-21
0
0
-6
0
0
0
-8
0
-14
0
0
0
0
-4
0
0
0
0
0
0
-43
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
0
0
0
-6
0
0
-6
0
0
0
-3
0
0
15
0
0
0
9
0
0
-1
0
0
0
4
0
0
1
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
49
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
143
0
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
10
0
0
-3
0
0
0
0
0
2
-1
0
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
4
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
2
0
0
0
21
0
0
1
0
0
1
24
0
0
0
0
0
0
37
0
0
0
0
0
0
22
0
0
0
4
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
-1
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
-35
0
0
0
0
0
0
-23
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
-26
0
0
33
0
0
0
-19
8
0
7
0
0
0
-5
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
-19
0
-5
-5
0
0
3
69
0
0
13
0
0
9
-8
0
-50
13
0
0
35
21
0
0
3
0
0
-2
-84
0
0
0
-4
0
-3
34
0
0
-6
0
0
0
24
0
18
0
0
0
0
-5
0
0
0
0
0
0
2
-3
0
0
0
0
0
7
2
0
0
0
0
0
-4
0
0
13
1
0
0
31
0
0
-4
0
0
0
22
0
1
0
0
0
-5
-27
0
0
17
0
0
0
13
0
0
3
-8
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
-42
0
0
0
0
0
0
24
0
0
0
0
0
0
-7
0
-2
0
0
0
0
-28
0
0
0
0
0
0
21
0
0
8
0
0
0
45
0
0
0
0
0
0
4
0
4
0
0
0
0
55
0
-5
0
0
0
0
-46
0
8
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
1
0
6
-3
-3
0
0
0
0
-19
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-99
0
0
0
0
0
-15
0
0
0
0
0
2
4
0
0
0
0
-1
0
-1
0
-8
0
0
56
0
0
0
38
0
-6
128
2
0
0
52
-2
0
-42
0
0
0
-5
0
8
6
0
0
0
28
0
0
-2
-3
0
0
1
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
2
0
29
2
-2
0
0
0
-53
0
0
0
-7
0
0
-19
9
0
-51
31
0
0
-53
-98
0
0
50
0
0
0
-21
-3
0
2
-12
0
0
-14
0
0
41
0
0
0
-8
0
-42
0
-2
0
0
-49
0
0
0
0
0
0
-21
-2
0
0
-1
0
0
9
0
0
0
0
0
-1
0
0
0
-5
-1
0
0
25
0
0
0
0
0
5
10
0
0
50
1
0
2
87
0
0
-9
0
-7
13
-84
0
-3
0
-12
0
-6
-6
0
0
6
0
9
0
-63
0
2
0
0
-10
0
-14
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
10
0
0
0
9
-4
0
-2
0
13
0
0
-42
0
10
21
0
0
0
-4
0
3
0
-3
0
0
-19
0
-9
-8
0
0
0
-29
0
0
2
0
0
0
-40
0
7
0
0
3
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-7
0
0
5
-3
0
0
0
0
0
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
2
0
0
12
0
0
0
0
0
0
10
0
0
0
0
-4
6
-27
0
0
0
0
66
0
0
0
-30
0
0
35
-5
0
0
-70
-9
16
-62
5
0
0
8
0
-10
9
0
0
0
10
3
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
22
0
0
5
0
0
0
-5
0
-13
-2
39
0
0
0
0
-52
0
0
21
0
0
-5
31
0
-16
74
5
0
-39
-4
0
0
29
0
0
1
32
0
0
45
-1
0
-2
33
0
0
12
0
0
0
8
0
60
0
-5
0
0
43
0
0
0
0
0
0
53
0
0
0
7
0
0
-23
7
0
0
0
0
0
15
-1
0
-2
0
0
0
49
0
0
-2
0
0
0
-35
0
0
-9
0
0
-4
-79
0
0
-41
0
-1
0
-48
0
0
13
-21
0
0
-57
0
0
0
0
12
0
16
0
0
0
0
1
0
36
0
0
0
0
0
0
-4
5
0
0
0
0
0
-29
0
5
0
0
0
0
-3
0
0
0
0
0
0
-46
0
9
-3
0
0
0
-58
0
0
2
0
0
0
41
0
-5
0
0
0
0
-11
0
0
0
8
0
0
-6
0
-17
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
32
12
35
11
-26
-2
44
-21
22
-47
-25
13
-4
28
23
-13
6
-77
11
11
-35
6
-13
-18
-19
30
-32
11
-1
-2
5
-21
4
-20
-19
-3
-9
59
-35
-24
38
20
12
51
-31
-29
-101
-35
-33
72
-130
-38
-4
-2
7
-5
-28
-1
4
31
30
9
22
39
-17
0
3
-23
7
38
94
-47
13
3
7
-5
-5
-19
31
-2
-32
-1
-5
-8
-74
38
-7
30
4
-65
60
22
-14
9
3
-2
-71
-32
19
-14
-52
-5
0
-48
0
9
-97
2
-2
-43
-44
4
95
-55
21
-20
-54
5
-4
5
-66
-2
2
55
3
-1
-78
-40
10
-35
-75
15
2
61
-22
1
-12
44
2
0
-11
-45
5
21
28
12
-6
-13
5
1
-1
11
2
-5
-21
2
-48
-13
-5
-81
-3
-3
0
-68
-8
-47
35
3
0
-73
56
-59
-53
11
-7
38
42
0
-54
-30
-12
-5
3
35
27
-21
7
-28
-1
-24
4
-3
-12
15
-18
0
8
66
5
-15
15
5
0
-50
20
10
1
-68
4
0
-36
25
4
-15
5
26
-1
-48
-32
10
3
5
-18
1
23
-4
19
-25
-15
-25
2
40
14
-41
-33
21
-39
-20
-7
-26
-10
-71
5
-22
-17
12
7
1
-15
-10
-20
-18
-58
-42
-9
-50
7
-7
-5
49
17
8
-11
-14
41
0
39
14
-33
91
11
-51
0
44
-13
9
-30
1
14
0
29
1
-31
-73
3
51
3
23
17
-41
-3
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
24
-1
0
0
0
0
19
14
3
0
-3
-5
1
-23
1
0
0
0
0
0
-4
8
0
0
-2
-1
0
0
1
0
-17
0
0
-3
0
0
-38
0
0
0
0
0
-22
24
0
0
0
0
0
20
-4
0
1
0
3
40
14
0
0
-67
0
0
-124
8
21
0
19
-3
1
-44
-37
-1
0
43
0
1
5
0
0
0
-15
-8
9
-25
5
0
0
10
0
6
0
-4
0
0
-1
1
36
0
0
-5
0
0
0
6
0
-12
4
-9
0
0
0
41
63
-4
0
-1
0
0
4
-35
0
-10
42
0
0
-17
48
-14
0
-13
0
-7
-50
-103
0
0
3
-5
0
4
55
0
0
-14
0
0
23
0
0
-41
1
-1
0
0
23
0
0
0
0
1
0
79
5
1
0
-1
0
0
95
-7
0
0
3
0
-9
-26
6
5
52
0
0
6
-71
-6
2
-25
0
0
69
0
-6
0
41
-1
0
-8
-17
0
0
-15
8
0
-7
7
0
13
-9
4
5
0
-31
0
0
2
0
6
0
54
0
0
0
2
-17
0
41
0
2
0
0
0
0
42
0
0
0
0
0
0
-8
0
0
-4
0
0
-5
47
0
4
0
2
0
0
-49
-6
0
-1
1
0
1
-10
4
0
-1
0
0
0
-6
0
3
0
-3
0
0
65
0
-9
0
2
0
0
-33
0
-3
0
0
22
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-2
0
0
2
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
-1
0
0
0
0
0
-5
-7
0
0
-2
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
7
0
3
1
0
0
0
6
0
0
0
0
0
0
31
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-18
0
0
1
0
0
5
-2
0
0
-2
0
0
0
2
0
0
0
0
0
0
-12
0
0
5
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-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
-10
-5
0
8
-2
0
0
0
0
0
2
-6
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
37
0
0
0
18
8
0
-76
0
0
-1
10
-2
0
-54
8
0
-3
-4
0
0
62
0
0
0
4
-2
0
-14
2
0
4
0
0
0
-5
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
-54
1
-1
0
0
0
0
-81
0
0
-3
0
0
-3
8
0
76
-7
0
0
18
15
0
0
20
-3
0
0
-29
0
1
80
7
0
-13
68
0
0
-61
0
0
0
2
0
-22
9
-2
0
0
27
0
0
0
0
0
0
-5
5
0
0
0
0
0
-15
0
0
0
0
0
0
50
0
0
-1
-5
0
6
10
0
2
21
0
0
0
48
0
0
16
0
0
-8
6
0
0
1
-1
0
4
-74
0
1
-87
2
0
0
39
0
0
-2
0
0
0
-34
0
0
6
-1
0
0
15
7
0
0
0
0
0
27
0
0
0
0
0
1
15
-2
-49
0
3
0
0
-54
0
0
8
0
0
0
-66
0
50
0
0
0
0
18
0
0
0
0
0
-4
25
0
-17
0
0
0
0
-24
0
0
0
0
0
0
-3
0
-6
0
0
0
0
-63
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
30
71
-17
13
34
36
9
-70
-5
59
-41
-76
-57
-55
-31
-49
-25
-9
-32
-9
-14
26
-30
-8
-6
-49
8
-2
-5
-5
-1
-19
-9
-26
-31
24
-12
-32
4
-7
7
-13
-1
-4
168
37
7
34
-124
31
-31
-41
5
-16
-50
-4
-14
-67
-10
1
-67
44
21
19
-62
-49
-9
6
14
16
88
-19
-7
6
-3
-11
12
-62
-16
-58
5
-43
26
-33
-41
-8
-6
-25
1
-6
-4
-23
-38
-10
-19
-36
15
9
15
-57
-40
-21
64
5
-16
-19
-7
-62
-14
-28
-6
-85
18
36
26
24
-7
-1
6
-5
-83
-18
5
39
-22
4
10
39
20
11
29
15
2
3
5
126
-2
-61
31
31
3
-42
-1
-2
4
-71
-85
-5
-8
-39
3
-33
-58
-31
17
23
-14
0
16
37
-3
11
-67
-66
-80
5
-45
-7
-16
-36
26
-35
34
2
-13
19
31
32
-3
-6
40
12
0
-44
-31
-5
-17
29
10
-4
22
-26
-8
85
30
-47
-9
-42
0
-12
-28
22
-16
6
2
-63
-5
33
14
-21
-23
-48
-51
-56
9
28
-9
-15
26
-32
-13
-14
53
1
-11
-51
17
-2
-29
10
2
-26
-5
-1
75
-5
28
47
-21
-2
-41
10
44
30
-59
19
71
-58
19
-34
4
49
-16
-37
21
-19
29
-41
-26
-23
-29
25
3
-28
-48
-21
-1
39
-77
2
30
-31
11
9
4
-42
51
6
75
-41
-43
-79
-41
10
-46
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
5
43
8
-1
3
-19
0
-1
0
0
-5
-3
16
5
9
-3
-3
1
0
-4
0
46
5
0
-3
0
0
-32
0
0
0
0
0
-42
48
0
-2
-3
12
115
88
4
-1
141
75
46
33
-28
0
12
40
5
58
-16
0
-102
-33
-101
-93
-7
4
9
0
23
-102
-3
-37
-23
-49
0
-1
-7
-68
23
50
-49
-4
5
10
0
-34
0
23
0
0
0
-21
-98
0
0
30
0
0
-7
-22
-1
0
-76
52
3
-13
0
-21
24
-16
4
117
-7
0
-14
-12
0
-51
90
-18
0
-39
0
46
-4
9
-6
27
-21
-13
-9
1
-47
40
32
-47
6
8
4
38
2
0
-8
7
0
3
-21
49
0
0
-66
-5
10
1
12
-12
0
-23
-9
91
0
33
-8
8
28
5
0
0
0
0
2
17
-5
19
42
6
0
-5
30
-5
-10
-28
17
20
-5
0
2
-12
25
-21
7
-22
-6
3
7
26
59
0
-8
-41
-5
-21
-22
-19
-5
59
-44
0
-12
-60
9
-6
-3
39
1
104
-31
-24
-27
1
-39
5
-2
15
0
-5
0
52
14
0
4
-7
0
0
-38
0
-7
17
7
0
-8
-18
0
42
-45
76
0
-19
0
0
-48
31
-7
-6
-4
-43
3
-55
22
16
0
-49
-4
5
13
-52
32
0
-3
-87
-5
5
46
13
0
4
-6
0
-13
13
0
-8
2
-39
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-2
0
0
16
3
0
0
-1
-7
0
1
14
0
0
2
0
0
0
-1
0
-135
0
0
-8
0
0
-27
0
0
1
-2
0
-13
5
0
5
0
0
35
3
0
0
13
0
-5
4
-2
0
-8
61
0
57
120
5
-3
0
-13
0
-8
-30
-48
0
0
-18
-1
0
3
-22
0
-10
56
14
0
17
-13
0
0
41
0
0
5
-5
0
0
0
1
13
0
0
20
0
1
0
32
0
35
5
49
0
0
0
18
48
0
0
57
0
0
-59
-11
0
-18
27
6
0
99
-39
1
-3
-30
-4
-2
-39
24
0
1
-31
0
0
0
0
0
0
-72
0
0
8
-5
0
82
10
3
0
-1
-28
0
0
0
0
-5
0
3
31
0
0
2
0
0
15
-4
0
8
0
0
-9
77
0
-23
-48
-1
3
-45
24
0
0
25
9
0
-23
37
0
8
6
7
0
-21
15
0
25
60
-2
0
-2
24
0
0
-3
-37
0
-10
54
0
0
0
0
0
2
-25
0
2
1
0
1
0
-32
-3
0
0
5
0
0
64
-8
0
-6
0
0
-3
-42
0
13
-10
0
0
-1
59
0
0
-8
0
0
0
-49
0
-1
0
0
0
-8
-13
0
-23
-1
-13
0
5
-69
0
5
13
-1
0
-1
26
0
-5
8
0
0
0
-51
0
41
-3
0
0
0
-62
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
42
0
0
0
0
0
-4
25
3
0
0
-1
0
0
0
0
0
0
-1
0
1
0
1
0
31
0
0
-2
0
0
-34
0
0
0
0
0
14
52
0
-3
0
0
3
9
0
0
-16
70
0
81
2
0
0
85
5
-2
71
14
-13
8
-16
-27
0
-62
25
0
3
-32
0
-1
-2
-31
0
0
-2
10
-5
13
10
1
8
-5
0
5
0
-2
0
0
5
-2
64
0
0
-22
0
0
0
-29
-12
-49
-19
-4
32
0
0
1
-12
6
0
39
13
0
-52
-37
4
-44
33
-41
0
5
-9
0
0
44
0
3
11
32
4
0
-21
-35
0
74
70
0
0
48
-1
-14
4
50
0
-33
-4
-13
0
8
30
7
0
6
-4
-4
0
-3
21
10
0
-3
7
0
-20
-21
-2
1
0
4
-7
20
0
1
-64
59
-3
59
-44
0
3
76
-2
0
-52
-2
-2
-18
24
39
0
-27
-37
0
8
-23
8
0
-6
21
0
0
-37
34
0
0
7
0
0
-3
0
8
0
40
0
4
-4
29
-8
4
-53
13
-2
0
0
0
0
92
-24
0
-1
8
0
0
23
-8
-4
10
0
0
0
19
8
-2
14
-3
0
0
-14
0
6
-5
0
0
-5
-19
0
22
-8
30
0
-1
-26
-1
-71
-13
0
0
0
-60
3
-1
8
-5
0
0
4
0
90
3
0
0
-4
-39
84
-1
0
0
0
0
0
0
0
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
83
14
-5
-49
-90
14
-8
-42
0
0
0
4
-1
8
89
5
0
13
21
2
-3
17
0
-27
-4
1
-3
0
0
4
0
0
-2
-7
-2
-93
-87
0
0
0
0
-4
24
32
-1
135
145
7
-19
-28
0
1
84
25
-5
50
-35
-16
14
52
24
-6
78
11
7
20
76
-1
-48
6
39
0
0
-13
1
-5
-75
49
0
0
43
7
5
-12
-14
0
0
-9
72
-50
2
-3
94
0
0
0
-77
0
28
-3
5
-4
-7
0
-86
-14
15
0
41
0
-1
17
-3
-9
21
59
66
0
-14
-19
0
-7
121
6
-12
-9
6
6
13
96
41
0
23
37
0
-4
52
-8
6
-6
-59
0
-14
-16
37
10
-13
-46
0
-6
-19
2
-2
0
6
-12
31
0
-31
0
-2
-6
-20
0
0
5
0
-6
60
-50
42
49
-5
17
5
-46
-5
-19
-20
10
-2
-11
-21
18
20
39
-5
16
23
-38
-2
-9
53
3
3
-9
-66
10
-10
-38
40
0
53
-52
0
43
-24
-3
-12
0
-53
0
-1
29
-12
-25
-3
-18
-8
-3
0
-9
8
4
16
47
-1
0
0
0
10
7
10
66
-21
0
3
-5
-14
0
-41
-7
34
0
25
57
-1
49
-22
31
-5
28
-18
0
-33
41
-31
-1
-12
-42
0
2
-24
4
-6
9
1
-1
-10
-16
-16
13
0
-42
2
15
0
-2
0
0
-7
-2
-3
-20
25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
33
0
0
-8
0
0
-14
0
0
0
0
0
-3
-1
0
0
0
2
-10
1
0
0
-45
0
0
-35
0
0
0
32
0
0
43
3
0
5
63
0
0
13
-17
0
0
0
0
1
0
-1
0
0
0
0
3
-5
-7
0
0
0
0
-3
0
-18
0
0
0
0
15
0
0
-5
0
0
0
-8
0
-42
0
0
0
0
0
3
-14
0
0
-5
0
0
54
12
0
-49
-52
0
0
-34
-3
0
0
25
0
0
10
40
0
0
-3
2
0
-35
7
0
0
-5
0
0
-3
-74
0
-9
23
0
0
-2
13
0
0
-1
0
-2
0
-3
14
-1
0
0
0
0
-27
0
0
0
0
0
0
-19
0
-7
-5
0
0
9
-82
0
0
13
0
0
-4
42
0
0
64
0
0
-1
-74
0
0
-17
0
0
-2
2
0
0
6
0
-1
16
27
0
0
30
0
2
0
4
0
0
-2
-17
31
0
-20
0
3
0
0
0
0
66
0
0
0
0
0
0
13
0
1
0
0
1
-5
2
0
0
5
-6
0
0
-23
0
0
-5
0
0
0
-24
0
0
2
0
0
2
60
0
31
1
0
0
0
-44
0
2
-3
0
0
0
-20
0
4
-3
0
0
0
7
-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
33
42
0
0
0
-6
0
17
45
0
0
0
0
0
0
-1
0
0
1
-2
0
0
0
-1
-67
0
0
0
0
0
27
0
0
0
0
0
-13
-3
0
0
0
0
18
33
0
0
-9
8
0
14
0
0
0
46
0
0
3
12
0
-2
-80
-13
0
6
19
0
0
2
0
0
67
9
0
0
-30
-5
0
19
-4
0
0
-2
0
0
0
-4
0
0
0
13
0
0
0
12
0
0
0
0
0
-8
-20
-5
2
8
0
7
-6
0
0
21
0
0
-14
-10
0
14
14
-86
0
-82
4
0
0
-2
-1
0
-4
34
0
0
-5
26
0
-98
52
0
0
48
0
0
0
-1
-1
4
-1
-3
0
0
33
0
0
-4
0
0
0
6
-67
-3
0
5
0
0
22
8
0
0
0
0
-1
68
1
0
66
0
0
96
-11
0
-7
-38
0
0
66
44
0
0
30
-49
0
-58
55
0
12
52
-14
0
0
-10
0
0
45
-8
0
0
-91
0
-5
21
0
0
0
-15
0
-1
0
37
0
0
8
0
0
0
0
0
0
-70
-4
0
0
0
0
0
-84
0
-1
0
1
0
0
62
0
0
28
0
0
0
41
0
9
14
0
0
-5
-4
0
-10
3
82
0
0
-93
-1
-144
6
-9
0
0
-52
0
7
-8
-8
0
0
67
0
24
0
0
0
0
-37
39
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
48
19
-41
5
-2
28
-15
3
4
0
-35
-16
-14
-1
-1
8
1
0
-1
-8
0
0
-25
0
0
3
-2
8
53
91
-1
7
3
0
24
-32
58
-15
88
-16
2
-14
-31
6
0
24
-8
-17
-97
35
12
-12
31
-21
47
10
-138
10
1
-14
0
-50
73
36
24
8
-56
-23
-41
43
-19
0
2
-95
-4
-85
-8
13
-2
-1
-37
-63
-122
0
106
-25
0
0
6
-40
0
-13
40
-48
54
-11
0
71
2
3
-6
63
-1
-9
-9
-25
46
5
29
-20
-5
-18
6
26
-5
-28
17
0
13
-51
-5
-14
-31
-17
51
-54
-21
7
-7
-72
-8
41
-5
-24
1
28
-13
44
66
10
11
0
-2
12
7
43
0
6
-29
61
0
-61
-5
1
-42
61
-2
0
32
24
14
18
31
10
-34
40
-60
3
2
5
52
-47
-15
-29
-90
-26
6
83
-24
7
50
-6
-56
-8
88
4
29
25
-59
-45
-1
0
-1
6
-7
-14
-9
2
8
-51
-3
-18
0
-10
0
3
-32
-12
-34
0
7
42
13
-14
-8
-25
0
14
13
-5
-14
-5
-5
-2
5
13
-18
40
2
25
-1
-52
-15
-32
36
-5
-4
-34
-25
35
-48
11
48
32
19
3
-2
15
30
-10
60
-12
-23
-10
67
-6
-19
-25
0
-20
0
-20
3
-48
5
0
4
1
104
14
3
44
0
18
29
30
0
21
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
23
0
0
0
0
18
43
-5
0
-1
8
-5
0
0
1
-1
-30
0
0
-32
0
0
-29
0
0
-1
0
3
-5
31
0
1
0
6
-19
-41
15
0
25
-14
1
50
-5
0
0
40
0
0
31
-47
-14
-42
54
-94
15
-82
0
-31
3
62
0
-129
-55
-7
0
-2
-12
66
-22
8
36
0
0
-1
15
-5
12
-5
0
0
2
-6
-162
0
0
-18
1
0
0
-36
4
67
-5
22
3
6
0
55
5
-2
0
66
3
0
-32
-13
0
69
-18
11
5
35
-25
10
-20
53
0
8
24
0
-13
-4
-57
7
-12
11
-73
0
2
-46
5
-5
-18
-31
0
-10
15
10
-1
-1
-109
0
0
0
0
90
0
8
-12
41
0
73
0
0
-12
1
-5
30
-1
0
3
1
-20
17
-31
28
-1
66
-7
0
57
14
-8
-13
-61
17
-4
-21
30
0
-8
-72
0
13
-17
54
6
13
-61
-16
-9
-20
58
-63
-9
1
-70
0
2
-5
0
-50
0
-49
0
15
-1
10
-119
1
12
4
2
0
0
0
0
-51
40
3
0
-16
0
-1
19
4
21
27
0
2
-18
-63
0
16
-8
-12
0
12
52
13
9
11
-23
-3
-76
0
12
3
-15
-51
3
8
-17
0
-23
-47
-5
-3
0
-28
4
-10
-52
18
6
-5
20
0
11
13
0
32
0
36
-3
-7
0
30
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
-77
0
0
0
-1
0
-7
-1
-1
0
0
0
-7
-9
0
0
25
37
-8
5
-7
0
0
25
0
2
99
22
14
0
38
-7
7
-42
-1
0
-3
-21
0
42
-19
1
0
0
18
8
-6
14
34
0
0
-12
0
-3
0
1
0
0
1
0
-10
0
2
4
0
0
0
32
0
50
-1
-13
-1
0
0
41
-27
0
0
32
0
0
9
-9
0
-99
2
41
0
-26
-5
0
0
175
0
0
51
-66
0
0
31
7
0
2
-22
0
0
45
0
1
0
102
0
-55
0
20
0
0
-6
0
0
0
0
4
0
37
58
3
0
0
-2
0
46
3
0
0
0
0
4
-15
0
-2
62
-5
17
7
94
0
0
-45
0
0
-8
-31
0
0
-15
43
2
-5
-31
0
-8
15
0
0
13
6
0
-2
-4
3
0
0
66
0
0
29
0
0
0
0
0
0
-10
3
37
0
17
0
0
0
0
0
0
-18
0
-5
0
0
0
-2
-17
0
-8
4
0
0
1
-48
0
5
-9
3
0
0
17
-5
6
6
0
0
-24
5
0
-9
0
10
3
0
13
0
37
-4
0
0
0
101
0
0
0
0
-7
0
25
0
21
0
0
3
0
-27
-6
7
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
-6
0
21
0
0
1
0
0
8
0
0
0
0
0
-4
-10
0
4
0
0
13
9
0
0
-3
57
1
-77
-25
0
0
-57
2
2
-44
-8
0
0
18
104
-2
28
-15
0
0
-3
0
-3
-13
5
0
0
50
1
2
19
20
0
0
0
0
16
0
8
0
0
0
0
-35
0
3
-5
0
0
0
9
0
42
1
-32
3
0
0
87
-27
0
0
-43
0
0
0
-34
0
88
23
8
0
19
-32
-2
0
-23
0
0
39
-8
7
1
23
24
0
-6
-51
0
0
3
0
0
-2
11
0
5
13
-25
0
0
-46
0
0
0
0
0
0
-44
-9
0
0
0
0
0
2
-2
0
-1
0
0
3
-85
0
0
2
8
0
25
-9
0
0
13
0
0
-19
76
0
0
0
1
0
0
-24
0
0
-13
-1
0
0
-28
0
-3
-41
-3
0
0
4
-1
7
-1
0
0
0
-10
0
0
-8
-8
-8
0
26
-3
0
0
0
0
0
6
30
0
0
0
0
0
-23
0
9
0
0
0
0
36
0
0
-8
0
0
0
40
0
17
24
0
0
-2
-48
0
7
-1
32
0
3
46
0
29
-5
0
0
0
74
0
0
9
0
1
0
-51
0
57
0
0
13
0
-23
58
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
28
0
0
0
4
13
45
20
2
0
0
9
-2
-3
0
0
-43
0
0
55
0
0
4
0
0
-1
0
0
-13
31
0
0
0
0
58
0
0
0
-44
-84
-13
6
-13
0
0
-11
2
-14
-39
-14
0
-2
12
-126
10
-18
8
-2
-15
-30
2
-39
-45
-45
-4
2
-16
-7
31
-28
9
2
0
-4
0
-54
-10
49
3
0
-2
52
-38
0
0
75
0
0
0
-20
0
28
-22
31
0
-3
0
-57
-10
0
0
-13
0
0
5
103
-2
3
17
-68
0
-81
-25
0
0
17
12
-1
62
-15
0
0
-3
5
1
91
-16
0
0
-57
4
0
5
6
0
-16
-43
-49
-15
18
11
0
0
1
0
-8
0
-2
-42
-6
0
-5
-17
0
-11
4
0
0
0
-5
-19
-13
89
-5
-20
-31
18
-20
-27
0
10
29
-5
32
13
42
0
0
22
30
22
42
7
-3
7
-154
-12
8
-8
-83
0
-1
7
8
31
27
33
0
-3
4
-2
12
-7
0
0
1
-2
24
3
0
0
15
0
0
0
25
0
1
15
-4
0
0
0
7
-16
-5
7
0
0
0
44
13
0
-4
46
12
0
0
-35
1
13
-8
-14
-1
56
22
0
6
7
5
18
-26
13
-1
-13
-2
-3
-12
-1
-14
1
-1
49
-78
24
0
-5
6
-128
0
0
8
0
-16
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
-1
0
0
7
0
-29
0
47
10
1
16
0
120
0
9
0
12
0
0
4
0
0
-9
0
0
0
0
0
-8
-1
0
0
0
0
60
12
0
0
35
0
10
-10
21
14
0
-18
0
10
-112
-72
0
0
-52
0
-20
-5
5
0
0
56
0
-2
-75
44
0
0
-14
0
-92
-19
4
0
0
26
0
-9
0
5
0
0
-4
0
5
0
-5
-90
0
0
0
37
0
-11
-3
-19
66
0
0
-44
-15
0
0
46
0
0
-40
-26
19
-46
-29
0
0
8
21
0
30
2
-2
0
-29
1
0
0
58
0
-5
18
-2
0
0
1
0
-5
-8
-18
0
-70
4
0
10
0
32
1
0
4
0
10
0
-22
-99
-49
0
0
-1
-1
-10
14
-2
15
0
0
29
-10
-8
-5
28
0
-7
32
26
0
5
49
0
9
-61
37
0
-4
-25
0
-3
0
-24
0
8
23
0
1
47
29
0
1
-34
0
33
8
14
0
12
42
0
42
0
-10
2
-1
-50
0
48
0
-18
-14
6
0
0
27
0
-6
-5
0
2
0
0
-1
-13
-1
-9
73
0
0
42
-18
1
5
93
0
0
-15
68
0
-23
-55
0
0
-3
-31
0
12
-36
0
6
1
8
1
-77
31
0
-9
0
48
0
0
114
0
-7
0
-5
0
30
-31
0
5
0
-6
-53
-1
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
32
0
3
0
0
0
31
47
0
0
7
-4
0
5
-8
10
35
0
0
0
0
0
-9
0
0
12
0
3
-21
13
0
2
0
0
11
-16
-2
0
33
55
0
27
0
0
0
-19
-1
1
-19
43
0
1
-14
8
0
30
18
14
0
-22
0
0
10
22
0
0
-1
13
0
71
43
-2
0
44
-3
0
2
-6
-4
0
0
9
0
0
-4
-71
0
0
-25
0
-4
-18
-19
121
10
-1
0
62
13
0
-2
-49
0
0
-64
17
9
-1
3
9
0
-40
28
0
7
-2
0
0
-64
-40
-2
0
0
-103
0
16
-44
0
23
-25
1
0
45
-2
-8
-21
1
-13
0
-2
-24
4
0
-2
10
0
2
-15
-26
-33
0
-23
0
0
11
43
0
16
16
0
-22
30
-4
8
21
25
0
25
28
-6
-2
33
0
0
5
-3
0
-3
49
69
0
30
-23
0
-3
-11
2
0
-50
22
1
8
-23
72
0
18
19
0
17
23
-1
0
0
-15
9
-2
5
-24
0
-3
-44
2
2
1
-5
0
0
5
88
0
0
25
0
-2
19
0
124
1
0
0
1
-27
8
16
40
-39
0
29
45
0
77
-22
0
0
59
-40
0
49
9
35
0
-30
-29
0
13
100
0
0
-2
-83
0
-3
-2
-20
0
-8
-2
0
-38
-2
0
0
0
42
50
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
-5
8
23
-14
1
7
-14
-5
-8
-4
0
-28
0
0
-6
0
-5
0
2
8
74
-30
5
-33
-12
7
56
71
4
-3
-10
-46
10
2
-1
0
2
1
-8
24
-28
72
-5
-4
-14
0
13
-91
-57
32
-3
-154
-23
5
-41
-55
24
25
17
-12
17
-22
2
17
9
-23
46
-17
-1
1
0
0
74
-7
-17
0
-36
-36
0
0
-63
-2
1
1
-95
7
0
-11
-8
-48
-3
-12
0
-6
2
1
-8
10
10
4
-2
-22
-5
25
-6
-6
-3
24
-5
8
4
2
-14
4
-20
-58
2
-7
-5
-4
-15
-5
85
66
5
-9
-4
-9
26
-1
-25
0
-1
-2
-1
-57
-13
6
0
2
-11
-103
0
-11
0
0
-8
7
-1
1
-9
0
-7
14
56
1
-79
-19
-4
-13
-1
5
-20
-17
-9
-4
-37
0
53
44
-44
2
-3
-7
-8
-29
24
19
-16
3
23
-12
-3
-13
4
-1
-14
1
-7
-25
-24
7
65
-8
-19
-20
-2
-16
-24
-14
-68
0
-13
9
19
9
60
-37
0
-18
11
-1
-4
-39
1
0
18
-15
56
40
5
16
10
-5
5
-21
34
-45
-13
-2
29
-29
8
34
-12
40
-1
-10
10
25
-53
10
-19
-4
-14
3
-5
22
91
17
16
1
-4
-6
-23
-42
-13
0
7
-2
53
38
-5
-43
0
-24
-37
-14
-22
-68
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
8
0
0
0
-2
0
0
1
-2
0
17
0
0
-8
0
0
14
0
0
0
0
0
-20
2
0
0
0
0
18
8
24
-7
96
-17
-5
6
-1
0
0
67
-1
0
-9
8
1
-8
23
-86
-1
-10
31
6
0
19
6
13
-16
0
3
-8
-12
12
92
-9
10
0
0
72
0
-2
0
-2
0
0
0
8
-104
0
-2
22
0
0
0
-19
0
41
1
-7
-1
-3
0
35
-27
0
0
78
-1
0
6
-20
0
-14
72
43
0
-78
18
5
0
-2
8
0
-45
59
4
0
-55
-1
0
-16
0
16
1
-15
-6
-2
3
-39
0
-64
-8
3
0
0
3
0
0
0
-6
-3
0
-7
21
41
0
-7
0
0
-17
38
0
0
0
0
-2
-38
-10
33
-31
1
-13
-18
10
-1
0
40
2
0
-24
58
0
7
77
-2
10
37
-47
-3
6
-21
8
0
23
0
0
4
-37
84
1
-6
-91
-2
0
4
0
-19
0
-113
0
-2
-3
-24
-12
3
-6
-7
0
0
-1
0
0
6
0
0
0
0
0
0
2
3
-52
-12
0
0
0
23
0
-24
42
-6
0
3
-8
0
52
-8
-2
0
-4
9
0
-1
28
-16
0
-5
0
-10
-111
-17
0
8
5
-38
0
-1
2
3
-9
-3
17
0
44
0
0
0
0
-29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
0
0
-1
0
0
2
0
0
0
0
0
1
5
0
0
0
0
0
43
0
0
1
0
0
-22
0
0
0
28
0
0
20
13
1
0
-93
3
30
41
0
0
0
-5
0
25
7
0
0
0
-2
0
18
0
42
0
0
22
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
8
0
61
0
-1
0
0
0
25
-18
0
0
-4
0
0
-10
58
0
-9
57
7
0
-43
-55
0
0
42
0
0
-13
-70
0
0
34
5
0
-6
-45
0
3
7
0
-7
0
-23
0
11
0
0
0
0
-37
0
0
3
0
1
0
21
-2
0
0
0
-4
0
42
0
0
0
0
0
0
34
0
1
0
0
0
3
69
0
0
4
0
0
2
0
0
0
31
0
0
0
-75
0
0
-9
0
0
0
2
0
14
-18
5
-18
0
-32
0
0
0
0
3
0
-31
0
0
0
1
0
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
-4
0
0
0
-2
37
0
3
0
-4
0
0
1
0
0
2
0
0
0
66
0
0
-1
0
0
0
-9
0
0
0
0
0
0
16
0
0
0
0
0
0
48
0
-6
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-72
0
0
-1
0
0
-20
0
0
0
0
0
0
7
0
0
0
0
51
-6
0
0
9
-1
0
-41
0
0
0
15
0
0
-31
-2
0
0
-41
-5
5
-54
0
0
0
-10
0
-3
-6
0
0
0
-1
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
84
0
0
0
0
0
0
76
0
-40
-6
0
0
0
0
2
22
0
0
-3
0
0
8
35
0
-31
51
-2
0
-44
-61
0
0
60
0
0
9
-50
0
0
41
-1
0
23
-71
0
0
39
0
0
0
-42
0
151
8
-3
0
0
-25
0
0
0
0
1
0
2
0
0
0
0
0
0
58
0
0
0
0
0
0
29
0
0
8
0
0
0
-119
0
0
0
0
0
0
0
0
0
-30
-1
0
-8
68
0
0
27
0
0
-2
-41
0
0
-8
-8
0
0
106
0
0
-2
0
0
0
-42
0
0
0
-2
-3
0
-15
0
0
0
3
0
0
-18
66
0
0
0
0
0
5
0
-2
0
0
0
0
45
0
0
0
0
0
0
-33
7
0
-8
0
0
0
10
0
0
0
0
0
0
1
0
-16
0
0
0
0
5
0
0
0
0
0
0
1
0
-8
0
0
10
0
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
10
0
0
0
0
0
0
0
0
0
-45
0
0
1
0
0
-36
0
0
0
0
0
-6
-2
0
0
0
0
50
0
13
0
-5
-1
0
-57
0
-2
0
8
0
0
30
0
2
0
-2
3
-2
-11
0
0
0
2
0
0
-4
-18
0
0
0
0
-6
-2
0
0
0
9
0
0
0
9
0
0
-2
-8
-6
0
0
-2
0
0
0
0
0
52
-6
4
0
0
0
-4
7
0
0
-4
0
0
8
38
0
-44
-13
-3
0
6
7
0
0
-3
0
0
-13
78
0
0
-2
0
0
12
-105
0
0
0
0
0
0
-1
0
-16
-5
13
0
-10
-30
0
0
0
0
0
0
23
20
0
0
0
4
0
-16
-10
0
4
0
0
0
-30
8
0
-5
0
0
-5
44
0
13
12
0
0
14
-37
0
0
-1
7
0
2
-85
0
-1
-13
0
0
0
-23
0
-2
0
-1
0
0
-14
0
0
0
0
-4
0
32
0
0
0
-3
4
0
68
0
0
0
0
0
0
-60
0
0
0
0
0
0
7
0
-4
0
0
0
0
-43
0
0
0
0
0
0
-3
0
8
0
0
0
-1
-7
0
0
0
-3
0
3
-90
0
6
0
0
0
0
-60
0
0
0
0
0
0
16
0
-10
0
0
0
0
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
51
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
0
3
0
0
0
-8
0
0
39
-3
-1
0
-41
10
-5
-22
0
0
0
-4
0
-2
-2
0
0
0
4
0
1
-2
0
0
0
2
0
3
0
0
0
0
0
0
24
0
0
-1
0
0
0
-8
0
-25
0
4
-4
0
0
0
23
0
0
1
0
0
0
4
0
-13
-41
0
0
-51
-56
0
0
1
0
0
9
-18
0
0
-6
0
0
-8
-27
0
0
-6
0
0
0
15
0
-4
-1
0
0
0
-26
0
0
0
0
0
0
-65
5
6
0
0
0
0
45
0
0
0
0
0
0
-2
-10
0
-1
0
0
0
-77
0
0
4
0
0
-9
-14
0
0
-13
0
0
-8
9
0
0
-59
0
0
9
-92
0
0
13
0
0
0
12
0
0
1
0
0
0
-9
0
0
0
0
-2
0
58
0
0
0
0
0
0
-4
10
0
0
0
0
-2
10
0
-1
0
0
0
0
-17
0
0
0
0
0
0
-48
0
0
0
0
0
0
30
0
0
-8
-4
0
-5
-80
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
-9
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
-5
-8
0
0
-3
-13
-23
-1
0
0
0
0
-6
0
0
0
0
-1
-21
-35
0
-1
0
0
-28
57
1
0
3
56
0
3
-6
0
0
4
0
0
-16
-14
0
0
-14
-64
0
-43
35
-1
0
-13
-1
0
-101
13
0
0
-38
51
0
-15
10
1
0
-1
-3
0
9
16
0
0
-4
-39
0
0
1
3
0
0
7
0
0
29
-26
-35
-22
18
0
-19
5
0
0
-36
0
0
-143
4
-7
22
3
-2
0
-32
63
0
0
14
0
0
-112
-51
-1
7
-46
-25
0
-84
-30
17
-1
-12
0
0
50
-14
23
-4
-16
21
0
31
19
0
2
-6
-1
0
0
1
-27
-23
0
10
0
-13
27
-71
0
0
-2
0
15
-5
0
-1
56
102
0
-23
56
0
-12
-54
0
0
48
15
0
-5
52
-41
0
-93
15
7
-22
39
24
0
-36
25
0
-4
60
-53
0
9
8
23
6
13
1
0
0
-13
0
70
34
75
0
0
8
-41
-5
0
0
0
6
5
-13
0
0
3
0
-3
84
0
48
31
23
0
-2
24
0
1
-15
-20
0
-1
35
0
48
3
0
0
9
18
0
46
19
-63
0
13
-36
-1
21
17
0
0
-7
23
-4
31
25
-27
0
-1
-18
0
16
5
0
0
0
28
-22
-4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-95
0
0
49
0
0
-70
0
2
0
0
0
15
-1
0
0
0
0
5
7
13
0
-57
-73
-13
-20
3
0
0
29
0
14
45
-5
0
9
-40
57
-10
27
20
2
0
52
0
-43
0
-6
2
-7
-45
24
-19
-3
-15
0
0
18
0
4
2
-51
0
0
-34
-27
-127
0
0
-5
0
0
0
2
0
-23
5
-2
0
0
0
-23
-4
0
0
-63
-1
8
30
1
0
72
4
-14
0
115
-18
0
0
17
0
10
49
-8
0
0
-13
-10
10
-1
55
0
-2
52
0
0
4
26
0
-84
21
-22
0
0
-69
0
0
-3
8
-9
0
-34
-8
12
0
-41
0
0
-45
-8
0
0
-3
0
2
27
-1
0
-3
-6
-13
0
-11
0
14
84
0
-3
14
15
0
1
-61
14
0
0
-25
13
0
-12
5
-6
0
19
0
3
-30
-9
-17
0
4
0
5
-7
0
-75
0
-62
0
-4
19
5
-55
0
10
-2
0
0
-8
-3
0
-2
0
0
0
0
0
0
47
0
15
-3
-1
0
0
27
0
2
-1
0
2
-1
38
0
-2
2
0
0
7
-64
0
-22
10
-23
-5
0
-19
0
26
-5
0
0
0
10
0
1
-18
-1
18
0
-92
-2
40
3
0
-8
0
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-30
0
4
15
0
0
-11
0
0
-5
0
0
-23
2
0
0
0
0
-30
-25
-2
0
-20
-19
6
-12
-12
0
-1
-28
0
0
-105
15
-1
0
21
-29
-6
5
7
0
0
-54
0
-4
-15
1
0
0
48
8
-5
52
0
0
5
42
0
-14
0
84
0
0
0
-6
-108
0
9
-7
0
0
0
-25
0
-11
2
-15
0
4
0
13
19
0
0
-5
0
0
8
38
0
22
16
-39
0
83
20
1
-2
-18
1
0
17
66
0
2
50
8
0
22
-10
0
0
-52
0
-2
2
0
3
-19
40
13
6
9
-84
4
0
4
0
-1
0
-23
-5
-3
0
-25
7
0
66
-13
10
0
0
0
-2
8
68
-37
15
-13
0
1
38
-4
0
-19
-1
0
-60
-68
6
-9
48
-90
9
-42
90
0
0
37
6
0
-2
-6
8
-12
-90
-18
0
0
0
0
-2
34
-2
-8
0
-66
0
0
0
-6
-8
0
-74
-2
0
0
-10
0
0
-92
0
-3
0
1
0
0
-23
8
-39
-1
0
0
-1
-13
0
7
-2
2
0
0
3
-2
47
-10
13
0
1
-25
0
12
25
-22
0
0
0
1
85
-31
0
0
9
0
0
0
-6
-49
-5
0
-21
0
5
4
0
0
0
-41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
0
-2
0
0
1
0
0
0
0
0
-14
0
0
0
0
0
-8
-2
0
0
43
5
0
64
0
0
0
-10
0
0
69
0
0
-1
72
-19
3
-68
0
0
0
0
0
24
0
0
0
0
67
-1
5
0
3
0
0
0
0
0
0
0
0
0
0
0
15
0
0
1
0
0
0
-9
0
16
0
-2
20
0
0
17
-59
0
0
0
0
0
-13
-24
0
-22
58
0
0
81
18
0
0
6
0
0
-1
-23
0
0
-21
29
0
-8
16
0
3
5
0
0
0
-4
0
-44
-7
0
0
0
-26
0
0
0
0
1
0
-27
-3
5
0
1
-10
0
41
0
0
0
0
0
-14
-6
0
0
-8
0
-2
-2
23
0
0
-6
0
0
7
-20
0
17
63
7
-1
3
5
0
3
60
0
0
0
22
0
0
16
-7
-9
0
-86
0
0
0
0
0
0
55
0
0
3
-8
-1
0
-18
0
0
0
0
0
0
52
0
0
0
0
0
0
9
0
4
0
0
0
0
30
0
0
0
0
0
0
-18
0
0
-5
0
0
-1
2
0
0
0
0
0
0
-4
0
3
0
0
0
0
101
0
-2
0
0
0
0
71
0
-12
0
0
0
0
109
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
51
0
0
-1
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
1
0
0
0
42
0
1
-44
-1
1
0
-34
-4
12
-5
2
0
0
-3
0
-2
-1
-1
0
0
8
0
16
10
2
0
0
0
0
-8
0
0
0
0
0
19
-6
0
0
-2
0
0
0
-10
0
7
0
0
0
0
0
-1
-20
0
0
18
0
0
15
50
0
71
-41
-1
0
5
12
0
0
-1
0
0
-1
-80
0
0
93
-2
0
0
9
0
0
1
-8
0
0
8
0
48
3
-4
0
2
-14
0
0
0
0
0
0
33
0
-5
0
0
0
0
59
0
0
0
0
0
0
7
0
0
-1
0
3
7
-50
0
0
-4
0
0
-2
58
0
0
-6
-1
0
0
13
0
0
-4
0
0
0
-19
0
0
0
-1
0
3
-41
0
0
-1
0
-1
0
34
0
-1
0
-1
-2
0
-63
0
0
0
0
0
0
-2
-1
0
0
0
0
0
28
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
0
0
-13
0
0
0
0
0
0
-37
0
-1
0
0
0
0
-22
0
0
0
0
0
0
-14
0
-2
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-8
0
0
-4
0
0
0
0
0
-1
-15
0
0
0
0
74
-3
0
4
-45
-31
63
-14
0
0
0
-7
0
0
15
0
0
0
-41
-12
51
-21
-22
0
0
-3
0
-17
-22
14
0
0
1
9
24
40
-1
0
0
1
41
-15
-15
2
0
0
-3
-5
-16
0
0
-9
0
0
-5
-84
0
-25
-5
-3
0
0
0
25
39
0
0
-1
0
0
-74
1
0
37
-29
-78
0
15
-11
0
0
-31
0
6
8
-9
0
0
-8
-19
0
-34
-16
5
0
-1
0
-7
8
-45
0
-7
-3
-37
-12
0
13
0
0
0
13
-3
0
9
1
-6
0
-7
0
0
-12
0
0
0
0
0
-1
42
12
-4
-1
29
10
-20
-17
0
-1
-20
0
2
9
-9
-1
-2
-25
46
-8
-2
-47
0
0
-9
5
1
31
-10
0
7
-1
-52
-7
44
-19
-1
0
-2
-10
-59
0
-7
0
0
0
40
-43
0
3
-2
0
0
0
12
0
-10
0
0
0
0
0
0
22
0
4
2
0
27
0
-16
0
0
23
5
1
-10
-25
0
-14
8
-1
16
0
6
0
10
-5
4
7
0
-62
0
-46
-2
0
-6
-8
13
0
4
18
-6
13
0
18
0
-56
0
0
0
0
-25
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
1
0
0
8
0
0
0
0
0
2
-25
0
0
0
0
-44
-94
0
0
57
0
70
-32
31
0
0
8
0
-14
0
-57
-3
0
-1
0
31
-20
-17
0
0
11
0
-8
-75
0
0
0
-84
0
-104
-25
-1
0
0
22
0
-4
0
46
0
0
-1
0
22
0
0
-90
0
0
0
5
-2
30
-30
-1
29
0
0
31
-8
0
0
2
0
5
1
-5
0
-9
-43
13
0
69
-26
0
-1
10
0
8
-21
-65
0
0
27
0
-1
61
19
0
0
33
5
0
44
-26
0
18
-42
1
21
0
3
0
0
35
0
-13
0
-37
14
-24
0
0
0
0
-3
-13
0
4
0
0
-5
-17
0
20
37
0
38
-76
10
0
0
-65
0
-49
80
9
0
0
67
0
-3
-4
-29
0
0
-23
5
-7
28
4
2
0
24
0
23
75
-60
0
4
-9
0
-12
2
22
0
0
-6
0
-12
0
25
40
0
0
0
0
0
49
-41
0
0
0
0
-4
7
0
0
1
0
0
9
21
0
0
-25
0
0
-25
-38
0
-1
88
0
0
2
21
0
0
81
0
4
-8
35
0
-111
-7
0
0
-5
-44
0
0
49
0
1
0
10
0
32
2
0
-2
0
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-5
-37
0
0
0
0
0
30
0
0
0
0
-6
-1
-51
-2
0
-1
0
-31
91
0
0
-4
20
0
-19
0
0
2
-47
0
0
-54
66
0
4
-15
25
0
21
-13
0
0
-35
0
0
52
64
1
2
-83
-4
0
-4
7
0
0
-4
0
0
0
-12
0
0
0
-31
5
0
6
11
0
0
0
0
0
28
4
-4
-23
7
0
33
-38
0
0
-66
0
0
50
68
0
89
15
5
0
-61
15
0
2
-19
0
0
-25
-4
0
-4
9
9
0
40
-22
0
2
-42
0
0
-2
136
0
21
-49
-21
0
0
16
0
0
0
0
0
0
12
-1
33
0
48
0
0
-5
-2
0
0
2
0
-4
0
0
3
-24
8
0
64
40
0
22
61
0
0
30
2
1
-5
-26
27
0
-65
-3
0
0
29
6
0
-14
-46
-1
7
-30
-5
0
-33
-90
0
18
23
0
0
0
-17
0
0
-6
38
0
0
18
0
2
0
0
0
0
69
-19
6
8
0
0
0
64
0
25
0
0
0
-5
-104
0
7
3
41
0
17
78
0
-55
-66
0
0
5
-8
-1
19
57
-41
0
16
-56
0
-17
-33
-20
0
8
-38
0
5
-17
-34
0
0
-11
0
34
0
0
0
0
13
102
4
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
5
126
-2
0
0
3
0
-3
22
5
0
-9
22
0
0
-2
1
0
0
0
0
13
0
0
0
0
2
0
0
0
0
0
0
17
0
-5
0
5
0
0
1
0
-4
0
0
-1
0
0
0
-10
0
-22
0
0
0
0
0
0
34
0
0
0
0
0
-3
6
0
41
-8
-1
0
-1
17
0
0
9
0
0
0
21
0
0
2
0
0
0
-6
0
0
-1
0
0
0
5
0
-5
-2
0
0
0
8
0
0
0
0
0
0
-20
-6
0
0
0
0
0
25
0
0
0
0
0
3
-34
0
0
0
0
0
5
-18
0
0
2
0
0
0
12
0
-1
1
0
0
1
-25
0
9
-1
0
0
0
6
0
0
0
0
0
0
-47
0
0
-4
0
0
0
-23
0
0
0
0
0
0
37
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
-3
0
2
0
0
0
-2
0
0
4
0
0
1
0
-4
0
-8
0
-3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
8
0
4
0
0
8
3
-2
0
-6
5
0
10
0
0
0
-52
0
0
-27
0
1
-4
-78
10
-1
-28
0
0
0
10
0
8
-2
-5
0
-4
24
-1
0
-9
-3
0
0
5
0
0
0
0
-9
0
3
22
-66
0
0
6
0
0
1
-1
0
-67
-8
2
-1
0
0
16
-41
0
0
14
0
0
7
86
0
31
33
5
0
32
56
0
-1
-40
0
0
15
39
0
0
13
0
0
-27
-19
0
0
-23
0
0
-8
46
0
-53
0
7
0
0
0
0
0
0
0
2
0
15
-1
30
0
-10
0
0
34
0
0
0
0
0
0
-58
2
0
-14
-4
0
-3
-22
-8
-2
8
0
8
1
-44
0
4
-8
19
9
4
9
0
8
-6
2
-9
-8
37
1
0
-3
-8
-6
0
-20
0
0
0
0
-7
-5
0
0
0
0
-1
27
0
-65
-5
0
0
2
0
0
-71
-1
-7
0
1
0
0
-1
0
0
0
0
0
0
-40
0
3
-3
0
2
0
47
0
2
-4
0
0
0
-34
0
8
6
-23
0
0
-66
0
-1
23
0
10
0
1
0
0
0
0
0
0
0
0
15
0
0
0
0
-16
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
0
0
0
0
0
6
-5
0
0
0
0
8
0
0
0
-14
0
0
6
0
0
0
-30
0
-1
-13
5
0
0
-36
5
0
-37
-2
0
0
0
0
6
0
-4
0
0
-4
0
-22
0
0
0
0
0
0
-18
0
0
0
0
0
0
16
0
0
2
0
0
0
56
0
-13
0
-1
4
0
0
5
67
0
0
-4
0
0
18
16
0
-6
20
0
0
8
-29
0
0
16
0
0
52
-6
0
0
0
0
0
-34
44
0
0
-18
0
0
4
0
0
-46
0
0
1
0
-5
0
0
0
0
3
0
104
-1
0
0
0
0
0
34
-1
0
0
0
0
0
20
0
0
19
0
0
0
-13
0
10
0
0
0
-10
-92
0
0
12
-6
0
0
-43
0
0
-17
0
0
0
-27
0
0
25
0
0
9
6
0
0
0
0
-3
0
-8
0
-12
0
0
-1
0
-16
0
0
0
0
3
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
99
0
0
-2
0
0
5
15
0
0
0
0
0
0
-25
0
0
0
0
0
0
-22
0
0
0
0
0
0
-12
0
18
0
0
6
0
-10
2
0
0
-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
-1
3
-6
0
2
-5
7
64
-10
22
-13
36
22
53
35
-47
-5
66
9
-6
10
-3
-21
1
31
-14
11
35
-17
77
28
-77
0
-6
-27
-6
20
11
102
10
61
23
-18
-11
5
-48
-3
19
4
-29
-5
3
-42
-5
-5
-10
-10
-21
-35
-10
9
8
7
-8
-36
-32
-14
-24
-4
1
15
-3
1
-63
-36
-26
-41
-14
-6
8
6
-7
-33
59
-12
-4
-102
-5
3
-2
76
1
-12
-18
-22
5
-27
-24
-66
-2
74
-7
-4
-3
4
-16
-2
4
-31
-1
-35
-59
-28
0
68
-70
7
-2
10
21
-16
-39
31
-2
62
-15
31
-2
-12
-12
-35
-51
-3
32
-2
33
-31
37
23
50
-7
-1
39
-21
7
31
-15
-1
-6
18
30
-17
-39
-68
10
-3
18
2
-2
-13
-1
-16
3
59
-49
5
-29
-8
-47
2
-67
20
-13
3
-101
-13
-3
-86
-83
-28
15
-4
-19
0
-7
17
-20
-21
-26
-31
3
-125
48
22
-60
-32
-41
14
31
-6
78
-33
-9
-22
4
-53
-1
51
8
17
23
20
26
-90
-14
30
-48
-25
1
-113
18
16
20
14
38
10
-6
-58
-34
-18
42
-87
-2
50
-95
-21
-5
52
31
0
15
-75
-45
-48
37
-46
2
47
-135
-20
-12
6
13
-7
-20
6
-13
-98
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
3
0
0
0
-14
0
0
5
0
0
0
2
0
0
-24
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
1
0
0
-1
0
0
0
0
0
-27
-1
0
-1
-5
0
-8
22
0
0
0
0
0
0
-11
0
23
-8
0
0
16
-41
0
0
0
0
0
1
-21
0
0
1
0
0
0
-59
0
0
0
0
0
0
6
0
44
0
0
0
0
18
0
0
0
0
0
0
-12
0
-5
0
0
2
0
-47
0
0
0
0
0
0
5
0
0
0
0
0
0
-40
0
0
-2
0
0
3
-16
0
-2
8
0
0
6
9
0
0
-1
0
0
0
-1
0
0
0
3
0
0
-52
0
0
0
0
0
0
-15
0
2
0
0
4
0
-54
8
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
-3
0
-7
0
-6
0
0
0
0
0
0
0
0
0
0
2
-9
0
-6
0
0
0
2
-2
0
0
0
0
0
0
-14
0
-8
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
13
0
0
8
12
0
0
-12
0
0
-41
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-24
0
0
0
0
0
0
-10
0
-1
-2
0
0
7
-1
0
0
0
0
0
2
-30
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
-5
0
0
0
0
-1
0
0
0
0
0
0
-28
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
0
9
0
0
0
-66
0
0
0
0
0
0
-29
0
0
-1
0
0
0
9
0
0
-24
0
0
0
-23
0
0
0
0
0
0
-44
0
0
0
0
1
0
-5
0
0
0
0
9
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
2
0
0
-16
60
-2
19
0
0
-56
-3
-2
-5
60
-9
0
24
6
0
0
-26
0
0
7
81
-2
25
-13
-47
0
16
-28
0
14
-5
-2
0
34
-31
0
-4
-19
-55
0
45
-48
12
-1
-55
17
0
-3
-61
5
0
-1
44
0
0
-30
-22
0
0
-13
0
8
-6
-51
-18
19
39
0
-3
7
0
0
-9
0
0
-47
33
-7
7
10
-67
3
25
38
-13
14
6
-1
0
47
-6
0
4
21
14
0
-58
-17
0
14
40
-5
0
4
-47
52
-35
50
-19
0
-3
-29
2
7
63
-4
0
-1
-48
-17
-41
0
-9
0
-5
15
-13
-5
17
-4
0
65
13
47
29
-12
38
0
7
42
-5
16
32
-8
0
21
18
67
8
17
29
0
80
3
25
-23
42
15
0
29
4
15
50
25
5
0
48
-23
-5
-53
21
-7
0
1
-56
21
0
35
0
0
-1
-17
10
118
-1
4
0
3
24
-49
5
-6
-9
0
-5
33
-7
-20
51
4
0
-42
6
0
2
-17
44
-6
107
52
-17
23
137
22
0
-27
-8
6
-42
-3
69
0
-28
-3
19
41
46
33
0
8
-24
-27
48
51
41
0
7
-16
-4
46
32
-2
-3
-1
-8
11
24
-1
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-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
-4
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
42
0
0
0
16
0
0
-5
0
0
0
6
-2
0
14
0
0
0
-4
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
20
0
0
0
0
0
0
-14
0
-4
8
0
0
-1
-6
0
0
-1
0
0
-6
59
0
0
-1
0
0
0
13
0
0
-4
0
0
0
-1
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-24
0
0
0
0
0
0
-34
0
0
-1
0
0
0
-64
0
0
-1
0
0
0
-5
0
0
7
0
0
0
2
0
0
-1
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
-3
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-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
41
-1
8
-54
-32
-16
44
31
28
50
38
-13
-1
36
3
-27
4
2
-9
-64
-40
1
-2
105
-33
-13
1
-23
0
-19
55
36
-37
13
-13
8
5
-4
45
-8
0
-2
-12
-29
-73
-141
0
-47
-6
-45
-69
-82
-13
-11
0
2
-14
-40
-34
-30
-68
-12
-25
39
1
-2
-27
8
15
-125
-11
-2
-8
12
9
41
-35
6
0
-41
-9
6
-3
-35
8
-7
-2
-2
-2
-30
29
13
-3
-7
-27
-2
-14
-32
6
-6
55
-37
-7
3
-54
-8
-5
-30
1
-11
-2
-32
-35
-14
59
-30
-26
-7
-47
42
-6
169
24
-52
-2
9
81
7
-35
-110
24
-111
-33
-14
0
-12
12
0
7
-22
-3
-1
31
-105
-1
53
7
-14
0
53
9
7
-7
-40
-17
-7
55
-19
-1
-31
-11
-50
-2
-4
15
4
-2
11
1
-4
48
-2
-5
-7
-1
34
-12
39
-65
-6
-13
9
-90
-5
5
30
-9
14
-11
20
-12
-56
-64
25
53
-89
-36
-11
-16
-3
-21
15
-20
15
-6
1
8
16
-29
20
-23
6
11
13
2
-23
-22
-73
-20
-14
19
19
12
-7
11
3
61
-10
-3
-10
-16
-19
-1
-45
9
-7
-5
-49
-22
2
34
-10
-25
-6
-7
-26
2
39
1
-4
-45
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
2
0
0
-3
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
1
0
0
25
0
0
0
0
0
0
2
3
0
0
9
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
6
15
0
1
-4
0
0
0
0
0
0
2
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
31
0
0
0
0
0
0
27
0
0
0
0
0
0
-18
0
-8
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
-3
0
0
-7
0
0
0
-13
0
0
-4
0
0
0
51
0
0
-32
0
0
0
0
0
0
0
0
0
0
-15
0
7
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
9
0
0
0
19
0
-33
0
0
0
0
0
-9
-6
0
0
-16
0
0
29
-27
0
5
-48
0
0
107
-90
0
0
-1
0
0
3
-56
0
0
41
0
0
5
32
0
0
1
0
0
0
0
0
-6
0
0
-2
0
7
0
0
0
0
0
0
12
30
0
0
0
0
0
17
0
0
0
0
0
0
-8
0
0
4
0
0
-1
-2
0
0
0
0
0
0
32
0
0
15
0
0
-2
79
0
0
-1
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
1
0
26
0
0
0
0
0
0
-18
0
0
0
0
0
0
9
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
3
0
0
0
0
8
0
0
0
0
0
0
-7
0
21
-2
0
0
0
31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
-18
0
0
0
66
15
0
10
0
0
0
-37
0
0
61
-3
6
0
-71
18
0
16
-1
0
0
15
0
0
-1
0
0
0
8
1
0
39
-1
0
0
19
0
0
0
0
0
0
0
0
0
0
19
53
0
0
0
0
1
14
3
12
0
2
0
20
-2
0
0
42
0
0
-16
-41
-3
6
32
-5
0
5
8
0
0
11
1
0
-18
13
0
8
24
-14
0
9
-13
0
0
-14
0
0
-1
-13
0
-37
-2
-13
0
0
33
0
0
0
0
0
0
34
-42
0
0
0
0
0
-19
0
0
-1
0
0
0
66
0
0
3
0
0
-5
41
0
-1
67
0
0
1
-5
0
0
21
29
0
1
-37
0
4
-6
4
0
-7
31
0
0
5
54
0
-8
20
0
0
13
0
0
0
-17
0
7
-15
-2
0
0
65
-6
3
0
0
0
0
5
0
-1
0
0
0
0
5
0
2
0
0
0
0
23
0
0
-27
-4
0
0
5
0
-1
24
0
0
9
38
7
7
14
-5
0
0
-58
0
33
0
3
0
0
45
0
0
-19
-6
0
0
0
0
-43
0
0
0
0
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
-2
0
0
-87
-10
0
0
24
0
-6
-71
4
0
0
17
1
-1
76
0
0
0
1
0
0
0
0
0
0
-13
-2
-3
0
-3
0
0
1
0
33
0
0
0
0
0
0
18
0
0
-2
0
0
0
0
0
6
1
-6
0
0
0
0
-64
0
0
-23
0
0
-7
-39
0
14
-46
-3
0
-14
78
0
0
-17
0
0
-4
3
0
0
2
1
0
-8
13
0
0
1
0
0
0
-5
0
-6
0
3
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-45
0
0
0
0
0
0
-3
0
0
-1
-19
0
6
-50
0
0
-8
0
0
0
-83
6
0
-3
-3
0
-1
-74
0
0
44
0
0
0
-16
0
6
-4
-3
0
0
42
0
0
0
0
0
0
39
0
0
-2
-3
13
0
1
0
0
0
0
0
0
27
-2
0
0
0
0
0
-3
2
-2
1
0
0
0
-4
0
1
-8
0
0
0
2
0
41
23
2
0
0
-5
0
0
-2
0
0
0
2
0
3
0
0
0
0
8
0
0
4
0
0
0
16
0
13
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
-9
0
81
-68
-10
11
-5
4
0
47
0
-18
122
24
-8
-3
50
23
39
58
1
-2
8
-47
0
88
-5
-23
0
0
-35
66
1
-42
2
0
0
-21
0
-62
0
-27
0
0
0
-31
29
0
0
52
0
0
3
115
0
0
-8
69
0
0
0
-20
-32
0
2
-33
0
0
68
20
-1
-50
-7
-6
0
43
8
8
-6
36
-6
24
52
-11
0
1
30
23
4
35
-1
0
0
13
0
-6
7
57
0
-39
10
-91
-7
-6
15
-3
3
-2
0
21
0
26
-43
5
3
-42
16
0
0
6
3
0
0
0
-61
-15
-6
34
-29
129
0
-42
41
0
-7
-11
0
-3
23
-30
0
-2
-32
-14
3
46
-21
1
-6
44
19
-1
-31
-16
0
0
19
-2
2
31
-7
0
-5
-6
-5
-27
0
36
6
-16
-32
27
8
0
17
-17
0
0
0
-1
-4
0
-42
0
-1
-8
2
1
0
7
4
15
-3
0
-17
6
0
4
37
7
0
6
-22
0
-3
22
8
5
7
-13
0
22
-54
16
1
-4
-46
0
41
76
-2
3
0
64
-3
-2
36
5
-17
0
22
0
19
0
0
-2
0
5
-22
-50
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-52
0
13
12
-55
-8
-19
50
0
-6
10
1
-63
12
120
-18
3
20
3
-8
-19
-41
0
-1
40
0
-78
-46
-51
4
12
4
-66
8
-91
-8
0
0
-47
2
-21
0
2
0
0
0
-56
19
0
-1
-49
0
0
-1
-5
6
-50
0
42
69
7
0
10
3
0
4
-13
1
-1
43
-24
0
-33
-44
-63
0
-21
12
24
23
-7
2
-15
58
-33
-6
-3
-21
12
-3
5
-8
0
4
-3
-8
-5
12
-6
0
-32
-31
-77
13
0
-36
0
3
-2
-2
-81
0
28
55
1
0
-12
0
0
-75
0
-1
14
0
4
34
25
24
20
-29
47
-6
-84
-7
8
0
61
-1
-22
-93
-16
0
-25
-5
-34
25
-34
-18
0
1
-40
21
29
4
25
1
2
-29
61
-1
51
17
0
-4
-75
-4
16
4
15
0
21
-44
17
50
0
3
-27
-1
0
-1
-10
8
63
7
6
0
-8
2
-1
-7
-4
40
13
0
0
16
-6
0
-9
22
-7
-5
27
43
0
-76
7
-6
-8
-9
-19
2
-5
-45
25
-7
-50
62
0
1
-45
-8
-8
0
-20
0
7
11
-8
-10
-2
19
8
-14
4
1
-8
0
9
-29
-3
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
4
0
57
0
0
0
-25
0
-2
-13
0
0
0
16
-1
0
-30
0
0
0
0
0
-1
-1
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-33
0
0
6
0
0
0
0
0
-13
1
-2
0
0
0
0
-59
0
0
0
0
0
-1
-14
0
-41
-22
0
0
-44
-6
0
0
-1
0
0
-1
-54
0
0
-1
0
0
0
17
0
0
-1
0
13
0
-2
0
24
0
-1
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
30
0
0
0
0
0
0
3
0
0
0
0
0
0
-42
0
0
-1
0
3
0
-13
0
0
-2
0
0
0
-30
0
0
5
0
-8
0
-1
0
0
0
0
-7
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
-35
0
0
0
0
0
0
-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
-9
-12
1
0
20
8
0
5
15
0
0
-3
0
0
64
-5
0
0
79
5
-1
79
0
0
0
0
0
38
1
8
0
0
-23
7
25
0
0
0
0
-1
0
59
0
0
0
0
0
0
-36
0
0
17
0
0
0
-7
0
-33
0
-8
0
0
0
-1
-84
0
0
0
0
0
-70
-2
0
70
-18
1
0
63
-31
0
0
-67
0
0
16
-26
0
0
93
-13
1
6
21
0
2
10
0
5
0
-72
0
41
13
7
0
0
27
0
0
0
0
31
0
61
1
5
0
-2
0
0
83
9
0
0
0
0
0
-174
0
0
-1
-5
0
15
47
0
0
0
0
0
16
-14
0
0
-22
3
0
-32
27
0
0
44
0
0
6
15
0
-4
0
-3
8
0
-47
0
0
-12
0
-3
0
-59
0
0
0
-23
-42
0
23
0
0
0
0
0
0
-9
-8
0
0
0
0
0
-2
0
-1
0
0
0
0
-41
0
0
0
-1
0
0
-46
0
-5
-1
0
0
1
-49
0
0
-18
-17
0
0
5
0
-1
6
0
0
0
72
0
0
0
3
3
0
-24
0
-22
0
0
-8
0
24
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
0
0
-13
0
0
-43
0
0
0
22
0
0
8
1
0
0
-5
0
3
-73
0
0
0
-1
0
0
7
1
0
0
-6
0
0
-5
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
1
0
0
0
0
0
-99
0
0
0
0
0
0
-79
0
0
0
0
0
-2
-37
0
-27
-61
0
0
2
44
0
0
-2
0
0
5
-109
0
0
-3
0
0
3
-22
0
0
-4
0
0
5
21
0
-101
0
0
0
0
59
0
0
0
0
6
0
10
-4
0
0
0
0
0
-79
0
0
0
0
0
0
-18
0
0
0
13
0
0
-148
0
0
-2
0
0
0
95
0
0
5
0
0
0
-40
0
0
-41
0
0
0
45
0
0
-5
0
0
0
-27
0
0
-1
0
0
0
-31
0
0
0
0
-2
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
-49
0
0
0
0
0
0
20
0
0
4
0
0
0
-31
0
-1
0
0
0
0
10
0
0
0
0
0
0
-49
0
3
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
33
0
0
37
29
0
2
0
-1
0
-8
12
0
0
1
0
0
0
0
0
0
-2
0
0
-1
1
0
0
0
0
0
0
0
0
0
8
0
-10
0
0
0
0
0
0
0
0
-60
4
0
0
0
0
-1
38
0
0
37
0
0
2
-33
0
41
-24
-1
0
-49
-74
0
0
-5
0
0
3
28
0
0
9
0
0
10
-11
0
0
-31
0
0
0
34
0
41
0
12
0
0
16
0
0
0
0
0
0
5
1
-2
0
0
0
0
7
13
0
0
0
0
5
27
0
0
22
3
0
2
75
0
0
57
0
0
-4
-42
0
8
57
0
0
-1
29
0
2
44
0
0
3
19
0
0
33
-2
0
0
62
0
0
-1
0
0
0
-28
0
0
0
-8
0
0
-31
0
0
0
0
0
0
-61
-2
0
0
0
0
0
66
0
-8
-3
0
0
0
50
0
0
1
0
0
0
69
0
-10
2
0
0
0
-10
0
0
1
-7
0
0
50
0
-2
-53
5
0
0
35
0
0
0
6
0
0
31
0
-1
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-121
21
-8
-3
16
-4
16
-5
38
81
-15
21
-30
16
-5
56
0
3
-3
-3
9
69
8
0
0
12
10
-39
-32
74
0
-2
19
-12
-42
1
71
-3
0
13
34
-12
0
-2
-22
0
0
-2
50
0
1
2
-20
7
21
0
-12
3
-3
1
-14
14
0
-20
32
-1
65
-58
-24
-7
1
-10
1
3
66
12
12
-12
32
2
-35
-24
-31
-4
-49
-26
8
6
-82
-5
-63
12
-25
0
2
-42
30
9
0
-32
-24
-1
-2
3
-26
0
23
19
-50
0
25
37
0
-23
79
29
-8
41
0
0
49
-3
-1
-54
5
0
2
-4
6
-5
-1
8
-13
-6
8
46
56
-10
-31
-48
89
31
-4
26
-69
-21
79
-13
12
0
-27
18
-36
75
30
28
6
48
12
-5
-20
-3
-57
0
-6
5
-4
13
0
-19
31
39
0
-1
49
7
-33
3
-1
-2
-32
0
-4
-56
-6
53
126
0
0
-1
-59
1
-7
-23
-31
-5
-30
21
1
10
-11
-10
-41
15
25
-3
-9
-11
-44
6
32
-13
-8
-28
-15
-5
-37
4
19
-2
21
-75
2
63
0
17
0
97
-10
0
105
0
21
13
23
16
-8
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-2
3
-5
14
-7
40
102
60
9
0
95
55
94
22
22
-2
0
31
-1
-21
-29
-3
0
0
5
-24
-7
-64
-10
1
0
1
0
48
-1
-16
0
0
-7
1
-26
0
-6
38
0
0
0
51
0
46
-7
55
-6
6
0
-6
0
0
-1
66
-1
0
25
-33
-5
-21
-28
32
0
10
16
2
1
13
-6
4
61
-9
10
0
50
8
28
23
46
-7
3
-10
14
-68
-14
-25
-1
1
32
-7
-32
0
-25
1
0
-6
4
45
3
10
108
21
0
-143
-12
-1
-10
14
-3
6
0
0
49
0
0
23
-32
-29
-4
-41
-18
-6
9
-38
-3
6
48
31
-6
53
-5
-41
-5
48
-22
-8
-4
56
18
-44
22
-13
0
79
57
58
49
-1
-11
0
0
-2
3
2
5
-53
0
0
-4
48
-29
0
9
-28
-2
0
0
-10
0
32
-22
0
-1
1
0
17
0
0
-22
-25
16
0
2
6
1
-27
-74
55
0
-21
45
6
-1
-25
0
0
-34
-2
5
88
-13
-32
8
-10
-47
0
70
8
-1
28
-13
-49
-1
2
-55
-11
31
0
-6
0
-20
0
0
-61
0
-29
19
-8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
0
0
0
8
0
0
153
15
-8
0
62
-6
0
8
6
0
0
61
0
-8
51
-8
0
0
8
3
0
13
0
0
0
0
0
0
0
-2
0
0
0
-2
-9
0
0
0
0
0
0
-7
0
-12
-4
-3
0
0
0
0
-66
0
0
-33
0
0
-1
-107
0
-33
-41
0
0
-30
83
0
0
-21
0
0
-6
-8
0
0
81
-2
0
37
-15
0
0
118
0
0
-1
64
0
-33
0
-4
0
0
-43
0
0
0
0
0
0
-13
-4
0
0
8
0
0
13
-7
-3
0
0
0
0
-45
14
3
-4
0
2
-5
-2
0
9
-7
0
-8
-4
7
0
0
24
0
0
-4
86
0
-14
-4
0
0
-8
64
0
0
-4
9
8
0
-58
2
0
1
0
-16
0
26
0
0
0
5
23
0
-17
-1
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-5
0
0
0
0
32
0
-6
0
0
0
2
49
0
0
2
0
0
5
-2
0
-6
0
0
0
0
-97
0
2
0
0
0
0
118
0
0
3
0
0
0
-77
0
17
0
0
0
0
14
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
62
0
0
-41
19
0
0
77
-7
-1
-63
0
0
0
19
0
-4
0
0
0
0
-3
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
16
-25
0
0
-7
0
0
0
-2
0
22
-6
0
-3
0
0
-5
37
0
0
5
0
0
5
-31
0
5
33
25
0
-10
34
0
0
-5
0
0
-1
-14
0
0
-7
-3
0
-5
-15
0
0
-4
0
0
0
24
0
41
0
15
0
0
4
0
0
0
0
0
0
-47
-3
0
0
0
0
0
-64
-1
0
3
0
0
0
-15
0
0
-6
-1
0
4
-62
1
0
-5
0
0
0
-142
0
0
33
-2
0
8
-49
0
0
-28
0
0
1
92
0
0
-1
3
0
0
54
0
0
-3
0
0
0
35
0
0
0
-2
7
0
32
0
0
0
0
0
0
-7
-3
0
0
0
0
0
-18
0
-27
0
0
0
0
-13
0
0
0
0
0
0
-8
0
-3
9
0
0
-5
-13
0
0
-4
0
0
0
37
0
-4
7
0
0
0
49
0
0
0
0
0
0
83
0
-1
0
0
0
0
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
0
0
65
7
7
39
94
69
-8
73
41
31
-10
87
-24
-14
43
13
-51
-9
52
-2
0
38
4
11
-23
13
0
5
31
-14
10
-2
18
8
0
30
16
9
0
-8
19
-1
0
2
-12
-1
18
35
61
6
-8
0
-85
-22
0
-7
-90
8
0
-108
-40
0
-16
24
-12
-3
12
0
77
-7
73
-1
18
20
7
-5
16
47
71
-47
-34
15
-1
-5
18
3
-32
28
14
41
22
57
53
23
14
0
-25
7
-3
24
24
0
-6
15
-1
-1
-16
20
-1
8
42
0
-5
28
-2
-13
51
-7
-53
5
-12
-51
-58
0
0
43
-82
-31
-29
-31
20
-9
-42
-16
73
-10
22
22
-25
-13
29
-26
-54
17
6
-13
18
6
26
50
-129
13
15
53
58
64
-59
-17
17
13
64
20
-14
58
0
6
-61
4
2
79
35
2
10
1
9
-2
-47
-5
22
-26
-1
57
-44
19
28
-58
8
0
23
-9
37
16
32
13
-6
29
-5
-28
44
-93
3
3
35
22
40
-80
11
-4
1
-11
-35
35
-30
29
-13
23
-58
-69
-38
-44
-8
16
17
-16
-5
15
-25
0
7
-13
10
2
33
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-2
0
0
21
1
-15
-13
23
3
57
3
0
-32
-40
43
0
4
-25
0
17
-59
-11
0
0
7
-3
21
-13
1
0
0
-22
0
34
-2
-133
0
0
-8
0
-1
0
-3
-38
0
0
0
1
5
-3
48
-50
16
0
0
22
-1
1
0
43
0
-4
-36
-8
0
-93
-95
0
0
15
-35
4
-6
22
17
30
-37
1
0
-1
13
0
-26
24
-11
0
-6
2
0
-26
-34
-8
0
17
-6
0
25
-44
-23
0
-2
56
0
46
0
10
-70
-19
0
0
1
3
10
-49
0
37
0
0
-94
-33
50
4
-28
3
25
-65
9
0
5
1
1
13
57
-98
0
-3
-19
-3
15
50
0
0
12
43
-5
-22
38
8
0
67
31
41
60
-15
-20
2
47
-2
-9
7
-26
-9
0
9
30
0
-9
1
9
-4
0
0
0
33
0
42
122
0
-4
0
0
0
-120
0
61
-47
0
1
6
15
0
1
-44
13
6
89
0
-5
-56
58
0
-1
-66
-25
0
23
-34
12
15
51
-22
0
28
13
16
0
18
17
2
-27
-5
0
-11
-9
-28
0
29
73
0
69
0
-24
-75
-5
-25
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
5
2
0
10
-2
0
-17
8
49
0
10
16
0
47
15
0
0
-12
0
0
-95
35
1
0
-53
-8
0
-42
0
0
0
-4
1
0
9
-5
0
0
-19
38
-7
0
0
-4
0
0
18
0
0
-59
53
-5
34
0
0
5
10
0
0
0
0
0
124
-56
0
27
62
-66
0
36
-32
0
0
13
0
0
67
32
25
0
38
24
0
-56
17
0
0
27
0
0
-8
16
-2
12
5
-1
0
4
6
0
0
0
-27
0
3
14
8
3
0
-25
0
1
-20
-4
0
0
0
0
69
-39
2
0
28
-7
0
-18
-12
0
-13
81
0
0
101
20
0
8
15
-8
0
-20
9
13
0
36
-12
0
31
12
0
0
20
-16
0
3
-32
0
0
-14
-1
0
0
34
0
2
4
-19
0
1
-38
0
0
1
0
0
-2
-81
12
0
0
2
0
-1
-13
0
3
34
0
0
8
-11
1
-3
122
-5
0
5
-1
-2
-29
87
-1
0
13
-12
-4
-10
57
47
0
-30
76
3
32
-5
2
0
-25
21
0
-8
14
49
0
0
24
0
24
0
0
0
4
-13
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-41
-111
40
8
-2
3
1
9
24
-66
-16
-22
16
11
19
14
-14
-4
4
-7
-41
-8
69
-24
-40
-67
8
-52
-65
-38
6
-1
5
-1
12
-37
-26
0
-61
-37
5
-42
9
-23
9
-15
17
-50
2
19
-62
86
0
-27
-19
-14
18
77
20
0
19
23
8
11
-13
-50
-3
-33
70
-6
-4
14
18
-1
-1
35
-9
0
31
55
-6
-25
8
-12
1
112
3
-13
-2
-18
-13
-4
27
18
4
0
26
15
4
-15
27
-40
72
-8
-32
22
-22
-39
-11
4
17
14
-2
-76
11
-14
-4
23
52
3
75
82
12
-40
61
3
0
-30
0
-7
23
49
43
-6
1
15
5
9
-21
-37
5
61
-12
5
1
31
47
-4
55
71
5
-24
5
-29
-7
109
51
-3
10
23
55
1
-44
14
6
-27
-5
-2
-18
-32
-57
-13
-16
-31
20
-3
19
-14
8
5
22
40
-36
-11
-4
14
36
-27
7
-10
2
-5
3
38
19
4
-23
-43
25
19
33
31
26
-2
1
32
11
-44
-22
12
-10
17
2
-9
-5
-4
27
-4
11
5
24
7
-7
57
8
-8
-4
3
73
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-140
0
3
117
31
-3
-45
34
0
-5
13
3
25
-3
2
0
-5
88
1
23
20
-20
0
0
-4
0
13
0
-5
0
0
4
8
-5
0
0
19
0
0
0
-17
-1
-37
37
60
13
-8
0
-18
-22
0
0
49
0
9
-52
0
0
-76
16
-15
0
-38
30
1
3
-61
0
2
32
20
0
0
163
4
0
16
65
0
0
24
0
3
5
117
0
-95
2
-19
0
0
31
0
0
-6
0
4
1
-10
24
7
0
1
0
0
24
0
-1
-3
0
0
10
28
-14
1
41
5
0
-50
0
0
0
-13
0
0
75
13
1
6
-43
-15
1
-7
-52
0
5
42
0
0
-30
62
0
-1
-3
47
1
0
-27
0
0
38
-3
-4
0
53
0
0
8
-8
32
0
-25
3
0
0
0
0
0
28
1
6
0
1
0
-7
5
0
1
22
0
0
0
0
-4
9
5
-16
0
1
-12
0
-2
-8
0
0
-1
32
0
16
10
-5
0
0
22
0
13
-14
-16
0
-1
5
0
0
6
-4
3
0
-29
0
-30
-2
0
3
0
36
9
-2
-12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
12
0
5
0
0
-29
-2
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-34
0
8
0
0
0
0
-12
0
0
6
0
0
6
2
0
4
-15
0
0
41
-27
0
0
7
0
0
-4
-5
0
0
-3
0
0
1
-19
0
0
0
0
0
0
-7
0
-10
0
1
0
0
64
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-13
0
0
8
0
0
0
30
0
0
-5
0
0
1
23
0
2
-2
0
0
0
15
0
8
-7
0
0
0
-22
0
0
0
3
0
0
-32
0
0
0
0
1
0
13
0
0
0
0
0
0
51
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
62
0
0
0
0
0
0
2
0
3
0
0
0
0
-1
0
0
5
2
0
0
87
0
7
0
0
0
0
-1
0
0
0
0
0
0
41
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-9
0
0
21
7
0
-13
0
0
0
-3
0
0
0
3
0
0
51
0
-6
1
0
0
0
0
0
0
4
-3
0
0
0
0
97
0
0
0
0
0
0
0
0
47
3
0
0
0
0
5
-112
1
0
-5
0
0
-4
-3
0
-5
47
-2
0
-25
14
0
0
5
0
0
0
-41
0
0
0
0
0
4
4
0
0
0
0
0
0
9
0
45
-1
1
0
0
-32
0
0
0
0
-2
0
-66
1
2
0
0
0
0
-27
0
0
0
0
0
3
-2
0
0
-6
0
0
1
-23
0
0
5
0
0
7
-43
0
0
-4
0
0
-2
11
0
-4
0
0
0
0
-13
0
0
1
0
0
0
-55
0
0
0
0
0
0
-28
0
0
8
0
0
0
66
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
-5
0
0
0
0
18
0
0
0
0
0
0
35
0
-2
0
8
0
0
-8
0
0
3
0
0
0
7
0
0
-5
0
0
0
10
0
0
0
0
0
0
-3
0
-25
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
12
-25
30
36
-6
5
11
-32
40
-28
36
44
-8
-2
-61
-21
-20
4
-13
-13
-3
-37
1
15
-3
-12
-27
-22
-16
8
-5
-5
-2
-40
-8
-73
10
-16
-17
-60
-34
-70
5
-31
-80
0
20
23
58
-8
6
-9
56
-19
6
50
16
-54
-9
50
-12
-12
5
-6
-13
0
22
13
45
52
-9
68
-10
26
-11
2
14
-18
-57
-55
-2
58
-28
-61
-8
-31
-1
-6
-9
-1
-43
-11
2
2
27
114
42
-1
8
4
30
-2
0
-27
4
7
105
5
40
-18
-67
-70
-34
17
-87
12
-11
32
56
9
-27
15
12
-17
-2
-2
-9
26
-40
0
23
10
26
-8
8
16
4
-5
12
34
-5
-35
-29
13
-8
-6
-30
-17
48
-8
-33
-75
7
-22
12
-29
-50
-15
-19
15
-1
-10
23
-32
26
-49
-29
22
3
-4
-6
-43
14
15
-37
-16
-6
53
0
7
-62
29
13
-59
148
-90
30
-31
18
2
6
-26
3
83
-41
-33
-40
13
-5
40
-9
-5
-32
-3
8
23
-20
61
17
-26
-15
14
79
-11
4
27
23
-11
8
38
9
57
-22
-25
1
76
-16
-2
47
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
27
0
0
55
0
0
1
0
0
0
17
0
-1
-2
-5
0
0
25
0
-12
3
-1
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
6
0
0
0
-6
0
8
-7
-2
0
0
0
-31
60
0
0
12
0
0
27
42
0
-3
-26
0
0
-24
4
0
0
13
0
0
-34
1
0
0
5
0
0
25
-40
0
0
-1
0
0
0
3
0
20
3
-1
0
0
54
0
0
0
0
1
0
-18
4
-9
0
0
0
0
17
-8
0
0
0
0
10
2
0
1
7
1
-1
5
-47
0
0
3
0
0
6
7
0
0
13
0
0
-6
8
0
0
-1
0
6
7
-75
0
0
5
0
0
-4
-50
0
0
5
0
0
0
0
0
0
0
1
41
0
29
0
0
-5
0
0
0
-14
0
0
0
0
0
-7
-2
0
-20
0
0
0
13
-39
0
0
5
0
0
0
-41
0
0
3
0
0
0
-17
0
0
-8
0
0
6
-25
0
-35
9
0
0
0
-12
0
0
9
0
0
0
59
0
13
31
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
48
-9
-13
42
9
0
-11
8
0
0
18
0
0
-32
0
0
-6
-12
0
6
83
0
0
0
-2
0
0
5
0
0
0
0
-16
0
0
0
-31
0
0
0
0
0
-2
19
5
1
-8
0
-9
46
0
0
18
0
0
-54
-48
0
-2
-21
-5
0
43
-51
1
0
-6
-7
0
-9
7
0
0
-47
-7
0
-24
-45
0
0
-45
0
0
1
59
0
11
-42
3
0
0
-20
0
0
-8
0
0
0
-18
93
59
0
0
0
0
-7
5
0
2
2
0
5
31
0
6
-23
12
0
102
37
0
0
2
2
0
-6
66
0
9
76
-13
0
-39
-43
0
7
72
-1
0
13
-18
0
8
17
111
-1
-37
-29
0
-8
52
0
0
0
-59
0
24
66
16
0
0
-2
0
0
4
0
0
0
-6
-8
0
0
0
0
0
12
0
39
10
0
0
-6
81
0
0
86
-46
0
-4
15
0
73
-21
0
0
2
-5
0
-13
3
23
0
0
-37
3
69
21
-7
0
3
-75
0
14
6
-33
0
0
15
0
-22
-2
2
0
2
56
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
54
104
21
95
-75
43
23
-2
5
-7
-24
-19
-48
59
-30
34
12
-15
-25
14
31
-29
-4
35
9
-15
-6
-2
-9
-15
-5
-4
13
-17
115
-6
34
-29
6
-12
-1
-23
-5
-146
53
-3
34
-70
-28
-51
38
15
-24
-1
6
12
50
-29
26
84
-14
-25
59
-27
41
89
-1
-6
24
26
-18
-4
-1
19
84
44
-23
-4
24
-6
-11
8
-53
-13
-26
-34
42
51
47
6
0
-13
12
11
1
-5
-25
10
6
87
23
71
-20
20
40
6
-2
102
-10
25
-59
42
-6
-7
10
-30
-57
31
-23
-28
-31
58
-25
21
45
-24
-18
7
40
10
79
52
43
-16
50
-30
-4
1
49
24
-2
30
-99
52
101
23
19
-20
36
75
48
-31
16
1
-8
36
-16
38
56
12
-13
-42
-41
4
-3
5
9
-12
4
13
57
41
70
-31
-74
-12
60
2
-6
16
42
57
-20
51
-4
-22
40
55
47
-31
-5
-30
25
27
74
12
0
84
46
50
-46
26
-32
3
21
1
70
16
18
50
12
52
39
73
-24
11
7
-28
70
-1
44
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
-44
-4
0
-5
0
27
3
-14
0
14
3
-22
-42
29
33
0
0
5
0
-20
-2
-18
1
0
-1
34
-21
0
0
40
0
0
1
-50
-13
20
5
50
0
-10
0
30
31
0
0
86
10
-7
91
-5
8
-51
28
51
0
-94
0
-2
0
-20
21
0
-34
-142
-14
3
-23
31
-1
-36
16
0
0
28
0
0
97
64
0
4
-6
43
-1
-7
-74
0
0
-6
-8
-4
1
-17
42
24
0
-36
-15
-2
28
-8
-6
-3
4
0
-14
24
39
-29
-29
41
0
29
25
0
-31
55
-4
16
-3
0
3
8
32
-78
1
-9
-17
0
-6
-2
4
14
60
22
0
-7
-53
-7
0
-100
-17
0
73
0
-2
91
1
4
16
-4
9
17
55
0
27
0
0
0
0
-21
0
19
-65
12
0
4
0
-15
14
-4
-30
-71
-1
0
6
-45
4
50
-102
31
-6
-14
0
20
0
75
0
0
13
-50
0
-10
-65
-5
-8
0
20
-2
23
-21
-9
8
3
8
5
8
90
-42
-15
-4
60
-2
42
-13
0
7
2
32
8
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
0
-2
0
0
0
14
1
0
0
35
0
-22
-20
0
0
0
3
0
0
0
6
0
0
2
1
27
0
0
1
0
0
0
5
0
56
16
-9
0
0
0
-30
-4
0
0
13
0
0
17
-17
-3
-25
-9
-15
0
-50
-16
-8
0
77
-8
0
101
-62
0
0
-8
0
0
-27
5
0
-2
4
0
0
0
10
0
62
-2
0
0
0
-19
0
0
0
0
-1
0
1
-8
0
0
0
0
4
106
0
0
0
0
0
-5
-38
0
0
-5
0
3
9
-29
0
-13
110
3
0
-2
48
2
7
-30
-8
-8
3
43
0
0
1
0
0
8
27
0
-5
8
0
7
0
-35
0
0
1
0
-2
0
-33
0
-13
-3
5
14
0
25
0
-1
0
-1
0
0
-9
24
0
-2
7
0
0
-49
0
13
-8
0
0
0
53
0
-1
0
0
-3
3
26
0
-1
2
0
0
-6
23
0
-2
2
0
0
1
-46
0
-6
-1
2
6
0
-64
0
0
0
0
3
0
-5
0
-15
0
-5
5
0
17
-2
-5
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
51
0
0
-27
0
-1
-7
0
0
0
3
0
-3
-12
-6
0
0
1
0
5
0
2
0
0
0
0
-42
0
0
9
0
0
0
69
0
-58
-1
0
1
0
0
14
-10
0
0
24
0
0
-42
43
0
-72
-53
-5
0
-103
29
0
0
65
0
0
9
26
0
0
-18
-5
0
0
5
0
0
-8
0
-9
4
-48
0
28
-17
-8
0
-4
33
0
0
0
0
-9
0
-52
-16
0
0
-1
-5
0
67
-10
0
0
0
0
-4
-10
0
0
41
-1
-1
29
-31
0
0
6
0
0
-2
57
0
6
-1
-1
0
-14
-6
0
-1
-57
0
0
46
-29
0
0
-4
-18
0
4
-3
0
0
0
0
29
0
-17
0
0
1
3
-8
0
24
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
-3
-3
0
0
-4
32
1
0
-1
0
0
0
20
2
-8
-6
0
0
0
-9
0
8
-6
-3
0
0
50
0
0
4
-14
0
0
-43
0
0
-1
2
2
0
144
0
13
0
0
1
0
-46
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
19
-19
42
18
32
-6
-40
18
7
-5
-29
19
11
-12
-5
73
-14
-14
-6
-57
-11
-5
1
-91
-28
-14
4
-37
-13
-2
-8
116
-12
80
27
-31
-45
7
-8
-9
48
26
15
-23
35
42
24
28
13
0
-7
1
-6
39
7
2
5
50
2
-8
42
30
-6
-20
-44
7
21
5
7
-23
-6
-1
-1
-50
27
-15
-7
-30
22
-17
-14
-31
38
-15
4
-57
-40
81
0
12
-19
-44
-15
-1
13
47
23
24
63
-18
15
28
-19
32
28
52
-60
-33
16
74
-3
1
-21
-40
-24
82
2
-27
-9
-58
46
-11
-9
53
11
-15
44
13
-20
22
41
58
-13
-38
38
-25
-29
-3
9
-5
3
-21
12
-16
20
99
-15
42
-34
20
0
6
58
-2
-56
15
-54
-11
-12
-3
-8
-7
4
-14
9
7
-12
6
-41
-30
-7
1
-84
32
-6
41
-18
4
22
7
-19
-18
26
7
15
-6
-64
-6
-43
-12
50
25
-14
50
45
19
12
16
-20
5
37
74
14
18
-10
88
-22
45
9
-8
3
-14
40
22
-25
-21
-2
25
-76
-6
-6
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
-23
13
-2
-6
12
-1
3
-56
-110
-1
-2
-12
0
5
-38
18
-2
-3
-38
-1
17
-6
-66
-4
0
-43
0
4
0
15
-35
0
0
0
-13
8
12
-37
42
-24
7
0
41
2
15
-3
35
-1
0
-50
46
-4
33
3
0
-5
4
19
-3
-4
0
5
-2
-4
-37
-2
14
1
-4
53
-7
6
0
-1
21
0
15
0
16
2
21
3
-2
2
17
8
-12
1
63
-1
-2
0
-5
-5
13
0
-1
-1
1
-14
27
10
-13
0
6
-50
7
-6
8
16
-1
20
4
8
-6
68
30
0
-2
2
7
-3
3
7
1
-38
-37
-1
-10
13
3
3
32
-4
-15
25
49
4
-9
-34
12
2
6
-22
21
0
4
3
10
21
-26
45
0
-14
-6
-7
-20
48
-6
-7
-22
14
2
-25
-5
-21
0
-6
-104
-37
-3
-45
31
0
-25
-58
13
2
-15
-4
-2
0
36
-25
-8
28
16
0
23
-32
17
0
-59
-72
19
4
45
24
15
-11
-17
1
-46
16
17
-6
-123
27
4
50
23
-20
-3
30
25
0
-21
-2
-3
5
29
39
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
41
0
-4
22
-3
0
-17
12
0
0
54
-1
0
-10
-18
0
-4
-40
-2
0
-3
-10
0
0
-7
-36
-1
0
-8
-70
0
0
10
0
-5
-4
-44
-34
69
-4
0
47
18
0
0
47
0
0
35
-41
-23
-29
-12
-31
0
-41
-12
-4
0
-45
-7
2
72
29
0
-1
-4
13
8
-1
-2
5
0
30
-7
0
22
28
0
31
26
20
0
-1
-16
1
16
-8
-2
0
-2
30
-76
-43
0
19
0
0
-4
72
0
-2
1
0
17
28
41
44
9
20
-1
-62
18
2
-31
0
0
0
-17
8
0
-13
8
-33
0
23
-18
-5
-48
44
7
-12
5
7
1
40
-40
-4
0
60
-32
0
10
-7
0
0
3
-48
0
58
-22
-112
0
0
-11
8
-13
0
-1
0
0
-2
43
-10
19
-5
0
30
-19
-1
-1
-47
0
0
9
8
-8
-5
85
28
0
-10
17
16
14
-3
2
0
69
-2
0
22
-50
5
0
10
-7
2
98
-6
-10
0
-41
-8
7
-5
2
54
0
16
-33
0
31
3
0
0
3
-2
-16
3
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-27
-13
-2
4
3
-35
-21
49
-2
-16
25
-3
24
20
49
-9
-23
-19
-2
0
-5
-5
-6
-10
-18
7
-19
2
-10
0
-47
36
0
4
8
0
-52
0
-27
16
-84
16
0
6
-1
-37
-37
-38
-6
35
-21
4
11
-17
16
15
23
105
2
-11
5
-70
-14
-63
-19
-20
96
35
-39
-15
6
0
9
-9
46
194
-15
-50
-42
10
34
-17
0
0
-49
-3
0
2
72
-18
3
10
41
16
-31
43
-12
9
-32
43
-16
-19
-41
-55
6
-17
-7
4
-47
11
-50
15
49
65
-25
-13
12
-109
2
-8
41
26
7
56
-30
-3
-51
-17
-5
16
53
-15
-9
43
15
27
19
6
-42
-7
-9
4
-19
4
-13
-1
2
28
-19
40
-22
38
-8
-11
10
4
-41
21
-4
-17
6
47
-28
82
1
-43
-99
-2
116
14
42
-33
14
-31
-11
24
17
1
0
9
18
-10
49
-57
-29
-14
-75
-79
-2
6
-23
16
11
17
-3
-8
32
-14
-7
14
-2
8
4
7
-6
-16
59
13
3
-7
47
47
-30
7
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-31
0
0
-93
-5
-55
-66
-2
0
0
-54
0
-6
0
-17
0
0
-16
-2
-52
0
0
-37
0
0
3
-65
0
-7
14
-21
0
-5
0
20
20
0
-2
-93
0
0
14
43
5
95
-1
-31
0
-55
23
-21
1
23
1
0
-12
0
12
22
8
-33
0
8
0
0
-15
-38
-1
6
-55
19
0
-23
66
-34
-6
15
-21
0
0
2
0
21
0
26
10
66
0
9
0
0
-4
75
0
13
0
0
-3
52
25
-8
53
31
14
-10
-38
-2
-16
8
-6
13
38
58
1
32
-31
1
0
-9
0
-4
3
28
17
24
28
-29
-4
23
-10
-26
-9
4
-35
0
-8
17
0
-33
0
24
0
-3
-32
1
-28
5
-3
-3
0
1
14
6
0
-27
-1
0
-14
-6
0
0
10
-9
-5
37
-1
5
1
-21
0
29
41
-9
0
-6
-30
4
-30
-25
-2
0
-6
0
0
54
-61
25
-1
-21
20
0
-75
-2
1
-1
1
-34
-10
-6
25
18
10
-4
0
0
12
-3
0
29
0
63
15
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
0
0
6
-7
0
0
4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
-109
0
0
0
0
0
-1
28
0
0
13
0
0
-4
-76
0
-49
54
10
0
-29
5
0
0
2
0
0
-4
-45
0
0
-3
9
0
0
17
0
0
-12
0
0
0
14
0
-10
0
-2
0
0
18
0
0
0
0
0
0
-20
-10
0
0
0
0
0
51
-2
0
0
0
0
0
-42
0
0
-8
0
0
0
-105
0
0
-30
0
0
5
-55
0
0
-3
0
0
0
-90
0
0
0
0
0
-6
-54
0
0
-2
0
0
0
-18
0
0
0
0
0
0
31
0
0
0
-1
3
0
-65
0
0
0
0
0
0
17
-2
0
0
0
0
0
-13
0
2
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
7
0
0
2
17
0
0
0
-4
0
0
-30
0
-3
5
0
0
0
-23
0
-2
8
0
0
0
-30
0
4
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
0
6
-1
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-2
0
-25
0
5
0
0
0
-10
-28
0
0
9
0
0
12
30
0
49
-53
17
0
-66
-16
0
-2
55
0
0
49
-6
0
-1
2
-1
0
1
-67
0
0
0
0
0
0
-3
0
-30
0
0
0
0
63
0
0
0
0
0
0
22
3
0
0
0
0
0
1
0
0
0
0
0
0
-56
0
0
2
-9
0
0
86
0
0
-3
0
0
-2
57
0
-8
17
5
2
-7
-22
0
0
-13
0
0
0
8
0
0
6
0
0
0
14
0
0
0
0
0
0
-30
0
0
0
14
0
0
6
0
0
0
-2
0
0
31
0
0
0
0
0
0
18
0
-2
0
0
0
0
-3
0
0
1
0
0
0
-9
0
2
-1
0
0
0
22
0
6
-6
0
0
4
42
0
4
0
0
0
0
-10
0
0
0
0
-3
3
-42
0
-1
-1
0
0
0
6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
11
-1
-16
-45
33
-74
-14
38
0
3
-5
5
-46
-15
-28
0
0
13
-15
-61
0
-2
-10
0
0
-2
-91
10
2
43
33
-9
-8
0
-12
-26
5
-4
-9
-12
9
-31
5
-3
-23
-7
-48
0
22
-11
9
21
52
6
-15
21
24
87
41
59
-60
0
30
15
-13
81
33
-2
42
-19
47
-6
2
23
83
46
-18
-7
-4
-2
4
0
33
2
10
26
-13
0
-15
-31
0
-10
-30
-5
-5
1
5
-7
1
13
25
43
-60
-91
-33
-24
34
-22
31
-7
16
13
2
4
-42
22
-38
30
77
-1
24
-1
-23
-4
-8
3
-5
2
-53
-40
23
21
21
-30
-1
-28
97
0
25
-2
-1
1
-20
-17
51
19
0
21
6
-6
0
0
-63
0
-1
-68
-1
-5
0
0
2
-32
17
20
9
-3
2
-28
63
-6
18
-17
23
-2
0
16
-9
7
73
5
13
-72
-47
1
-15
-51
-75
3
-4
19
-4
40
-47
3
-17
40
-5
-1
-6
47
27
-43
-1
-10
0
41
20
0
13
0
34
-4
-1
0
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
5
0
1
5
-3
0
0
8
0
0
0
-1
0
0
8
0
-17
0
0
-5
0
0
0
-3
0
-51
0
-2
0
0
0
0
-42
0
0
0
0
0
-9
34
0
33
-81
0
0
29
21
0
0
-3
0
0
9
-144
0
0
-13
0
0
-15
-2
0
0
-6
0
0
0
-75
0
-33
-8
0
0
0
20
0
0
-9
0
0
0
-20
12
-8
0
0
6
0
16
0
0
0
0
0
0
31
0
-1
0
5
5
8
-71
0
0
-1
0
0
-1
39
0
0
-18
0
0
2
-53
0
0
-46
0
0
-7
45
0
0
-3
0
34
0
1
0
0
-3
0
-25
0
17
0
0
0
0
-2
0
33
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
12
0
0
0
0
28
0
0
0
-7
0
0
-23
0
-3
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
-6
0
0
0
14
0
0
2
0
0
0
-16
0
-15
0
0
-5
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-17
0
3
33
-60
0
-47
-30
0
-2
-21
43
0
0
7
-2
0
-2
42
0
0
58
-89
0
0
7
0
-5
7
30
-32
24
4
0
36
-14
-2
9
39
0
0
-4
-16
-2
44
-2
-10
0
-17
16
0
-2
1
0
0
29
-17
2
-3
-21
-23
0
33
4
-6
13
38
0
0
110
-4
0
-3
-3
-17
0
4
-17
4
9
41
8
0
0
-4
49
11
0
67
0
0
6
-16
0
-3
-6
0
79
-15
-16
32
-2
23
0
11
-1
2
-1
-46
-1
0
24
-1
0
7
-14
2
0
13
-1
29
-10
34
23
0
13
6
1
-6
8
5
0
-43
-6
3
75
41
-16
0
-7
-10
-1
5
67
44
0
0
-17
-13
10
0
-5
0
0
-33
-34
-10
33
16
0
0
-7
-1
-70
-6
0
0
-49
22
1
8
76
-55
0
170
29
7
42
1
0
0
-102
5
13
0
28
56
0
-13
6
0
27
39
2
0
-4
-46
14
-4
-54
38
0
6
5
0
20
-23
-1
0
0
10
-128
-17
8
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
49
-2
-1
14
25
-42
0
-34
9
0
74
-73
-54
0
-1
-7
0
0
-6
-18
1
-8
14
-12
4
7
0
106
-29
13
0
-26
-23
-5
80
30
6
-1
40
-7
-1
49
-13
-8
30
-36
-10
23
51
-16
0
-13
-16
-41
1
21
-12
0
30
-35
-5
8
1
-18
3
20
-104
-6
9
0
19
39
-2
57
15
-74
0
3
-30
-4
0
-55
1
0
6
43
1
23
14
0
13
-41
-23
7
21
-15
-2
20
6
8
6
16
-5
-47
-19
0
-9
-50
6
-20
-18
-32
-6
7
57
4
-10
23
-12
-5
-4
10
-81
-59
-23
0
17
1
17
15
0
25
0
1
-5
-8
-24
9
4
-3
4
51
0
-1
-5
4
1
-5
-37
5
-3
12
0
0
11
-7
32
13
1
-16
-4
-32
5
-15
-6
-5
-12
-13
2
-3
-27
-3
18
-19
17
-31
4
-9
1
-60
-13
-24
-4
-3
0
34
-9
41
0
-5
-8
7
6
20
-21
3
21
-2
23
-4
-4
95
0
4
72
-18
-13
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
5
0
0
-7
0
2
3
-9
0
0
8
18
26
0
3
63
0
0
0
-36
0
47
-60
41
34
22
0
13
-31
-1
0
-13
0
2
-26
38
0
-30
1
16
0
-16
-1
0
-22
-6
0
0
125
-19
-3
0
-44
-18
35
50
0
-4
6
57
8
-12
-5
20
0
-54
-31
25
-1
0
23
0
-3
18
0
-8
0
7
-32
-5
0
5
2
0
9
0
0
-1
0
0
-3
-13
-20
19
-13
21
-1
-60
5
1
-55
-6
-1
12
4
14
-4
69
26
-12
8
-26
-15
2
23
-30
0
48
0
0
1
14
87
13
4
6
41
9
0
-21
0
-14
-2
18
0
0
59
-22
-47
0
-31
-3
0
-2
0
2
0
-40
111
-6
-1
0
0
0
-40
18
25
52
-5
-5
0
39
0
8
23
52
0
-5
9
0
-22
11
-1
5
-2
-13
-1
-8
15
-12
0
24
0
0
-24
-91
17
0
5
-62
-8
0
-4
4
27
0
24
0
-92
-16
0
-56
0
-25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-14
0
-9
0
0
0
0
-90
0
0
0
0
0
0
-46
0
20
55
0
0
-21
-5
0
0
30
0
0
0
6
0
0
-3
0
0
-4
12
0
0
2
0
0
0
42
0
12
0
-1
0
0
12
0
0
0
0
0
0
4
8
0
0
0
0
0
16
0
0
0
0
0
0
-12
0
8
0
0
0
0
11
0
0
2
0
0
0
-4
0
0
-1
-3
0
0
5
0
0
-2
0
0
-1
-13
0
0
-1
-3
0
0
-13
0
0
0
0
0
0
-6
0
0
0
-1
0
0
16
0
0
0
0
0
0
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
0
0
-8
0
-5
0
0
0
-2
-5
0
0
0
0
0
0
5
0
-13
0
0
0
0
-3
0
0
2
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
51
-3
-6
0
0
0
0
-59
0
0
-1
0
0
-19
0
0
49
98
3
0
34
59
0
0
5
0
0
-16
44
0
0
-7
-6
0
-1
-30
0
0
-3
0
0
-6
-2
0
-3
0
7
0
0
8
0
0
-3
0
0
0
-78
-1
0
0
0
0
0
1
0
0
0
0
0
0
-38
-6
0
10
0
0
-1
36
0
0
-2
0
0
-6
65
0
0
-13
0
0
-1
-31
22
0
-23
0
4
0
-44
0
0
-2
0
0
0
47
0
0
-6
0
0
0
-41
0
9
-1
-1
-1
0
-6
0
0
0
0
0
0
-24
-8
0
0
0
0
0
-2
0
0
9
0
0
0
6
0
0
-1
-3
0
0
-59
0
0
24
0
0
0
-16
0
0
-4
0
0
7
-7
0
0
0
0
0
0
-41
0
0
0
0
0
0
-23
0
-2
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
95
-1
5
-1
-14
17
-64
56
-2
0
0
-6
-3
0
-4
-30
1
0
2
22
13
1
28
77
39
18
0
-16
-5
-2
0
17
0
-14
35
30
2
9
6
1
-7
-15
-12
4
25
-65
68
4
-69
-19
57
-4
-16
13
-22
22
-11
15
21
13
84
-13
0
24
-3
6
9
67
-10
72
1
3
-2
0
5
-68
0
-4
36
-33
0
0
-81
1
-15
-4
-1
-13
-1
-26
70
-6
-6
18
0
1
-38
14
-1
9
25
-26
6
-33
-17
8
-26
49
16
-10
-42
40
14
-24
-26
21
32
-14
-29
-7
-2
-15
-51
0
31
36
-1
-22
6
28
6
-3
-12
-14
0
35
-2
-51
-13
0
9
-23
1
0
-13
-29
0
0
-30
42
7
24
-15
81
-46
14
47
18
3
-5
27
5
0
-24
-9
40
-10
-13
-5
-43
-4
-23
-21
13
-15
-47
0
57
-58
-103
23
-72
40
2
12
19
9
36
48
-8
10
8
-10
26
2
18
1
2
-20
-6
-2
-33
6
2
-49
-13
-2
45
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
0
0
-46
0
4
-15
4
0
0
-2
0
-29
0
0
5
0
0
0
-51
0
-15
-50
-14
-7
8
0
-13
35
0
2
8
0
0
-32
17
0
35
-6
0
0
38
9
-20
0
22
0
48
-31
-45
0
-5
-19
-1
-6
5
-66
0
0
14
0
16
2
-31
2
-12
-13
0
72
0
-2
-4
0
-4
0
-11
0
12
-86
-8
0
0
2
0
-16
-33
-3
7
0
0
64
15
2
20
16
0
6
26
-15
0
-10
-7
0
-19
-48
-14
0
33
-5
16
0
19
-2
0
-2
3
4
38
-7
9
0
1
-50
0
22
-13
-23
0
-2
-13
0
-21
-3
-37
0
7
-16
0
3
0
2
17
2
0
0
45
0
-26
-1
3
0
0
0
0
27
1
-38
7
0
0
0
40
0
1
41
-10
0
21
50
-3
-57
21
0
0
0
14
0
-1
7
0
5
-6
-5
0
97
94
0
0
0
29
0
0
31
0
6
0
-24
12
3
-21
0
30
0
4
28
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
58
0
-8
5
-16
0
-2
25
1
-1
-11
20
-2
0
-7
4
0
0
-32
0
0
0
-2
12
0
92
0
19
6
0
0
18
0
0
36
-5
4
33
25
-12
0
4
9
0
-15
-1
-7
0
18
9
0
3
30
18
0
34
-59
-16
-3
4
2
0
-9
-28
17
-42
41
18
0
46
-11
14
-3
-20
10
0
0
9
27
-51
0
4
0
-3
-1
-103
-2
15
-4
0
14
18
-3
0
9
9
0
-51
15
0
-14
19
-5
0
-11
10
4
-21
-10
-10
0
0
-11
24
-8
18
-1
0
40
0
0
-21
4
18
0
-30
2
-1
30
23
-16
0
-10
-4
0
-57
15
42
0
0
-4
26
-16
-3
13
0
-1
-11
-66
0
-8
-5
0
5
-16
-4
13
-42
-2
0
73
19
0
14
-2
13
0
-106
2
-8
53
-15
0
0
-6
-6
2
5
124
-4
0
48
-1
-2
-8
39
0
0
20
-15
-10
14
-18
6
0
-5
-1
0
-21
22
-3
0
0
6
4
-3
66
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
8
0
42
-13
14
0
-7
-41
0
0
13
23
1
-5
9
8
8
19
0
-35
-25
-4
0
-29
8
33
-17
14
0
7
12
19
-1
-27
20
-1
4
49
0
0
3
1
0
8
26
7
37
5
-32
-8
18
24
49
14
3
5
1
-9
-2
-10
74
14
-4
0
0
59
-12
-10
0
-11
20
-68
-3
-20
-7
0
-3
31
0
3
0
-93
-3
-49
-38
1
33
-13
14
-45
-15
-4
46
31
-14
4
-21
21
-28
-28
18
-3
17
-12
12
4
-4
48
-28
32
-1
3
-3
-45
-1
-25
29
2
-31
0
-6
32
-7
-46
0
-1
-7
0
6
31
-16
0
-11
-39
0
0
13
-7
0
24
25
0
-13
-12
0
25
-47
4
-77
-12
7
3
0
27
0
-5
-32
40
20
-15
17
-5
-25
50
-8
12
3
8
0
31
63
-13
26
-17
4
1
-33
53
27
-27
4
9
7
0
-47
-34
-4
0
-15
0
8
-26
13
-121
0
-19
-5
-6
0
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
29
0
0
7
-5
1
0
1
12
0
0
4
-3
0
44
-20
-15
-5
10
0
85
-7
0
0
78
0
0
-37
31
0
-43
-19
27
0
-26
-12
0
0
5
9
0
-58
13
-7
3
23
-81
-25
-3
-39
0
0
14
-10
-8
72
0
0
55
14
19
-6
-2
-75
0
0
-3
0
12
0
28
-31
8
0
-13
-4
0
-15
73
0
-8
0
0
-12
4
140
-5
-6
-10
0
-5
7
1
0
-45
0
8
18
-12
0
10
-12
-15
10
25
48
5
3
-60
-2
-25
-43
17
3
8
-79
57
48
4
0
0
0
105
1
43
-10
-17
0
0
22
-24
-40
0
19
-4
0
0
-3
5
0
55
1
-1
0
0
0
0
6
-1
-30
39
0
0
-2
0
0
13
27
-18
5
0
7
0
-66
-14
7
-9
0
33
0
0
67
33
20
24
-7
-2
-34
-25
17
-7
8
0
0
-5
-72
10
0
0
-12
0
-30
-12
1
5
0
24
6
1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
13
0
0
0
0
0
-69
0
4
0
0
0
0
22
0
0
6
0
0
0
1
0
41
20
0
0
-52
-41
0
0
35
0
0
0
24
0
0
32
14
0
0
4
0
0
21
0
0
0
0
0
-6
0
0
0
0
-3
0
0
0
0
0
0
68
0
0
0
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
11
0
0
-4
0
0
0
-16
0
0
12
0
0
0
30
0
0
0
0
0
0
-15
0
0
9
0
0
0
66
0
0
0
-2
0
0
21
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
-2
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
0
0
0
0
0
0
4
0
18
0
0
0
0
0
-1
-7
0
0
-9
0
0
-6
-9
0
-25
-48
1
0
20
-38
0
0
-19
0
4
-2
34
0
0
-8
0
-3
-1
-6
0
0
6
0
0
0
3
0
-5
0
0
0
0
31
0
0
0
0
0
0
-30
-2
0
0
0
0
0
15
0
0
0
0
0
0
-12
0
0
0
13
0
3
83
0
0
3
0
0
-2
-59
0
0
0
0
1
0
25
0
0
-5
0
0
0
-23
0
0
1
0
0
0
-32
0
0
0
0
0
0
-5
0
0
7
-1
-1
0
19
0
0
0
0
0
0
-42
0
0
0
0
0
0
4
0
0
2
0
0
0
-13
1
0
0
0
0
0
60
0
6
0
0
0
0
-5
0
0
0
10
0
0
-18
0
-1
0
0
0
-1
-2
0
0
5
0
0
0
-6
0
0
0
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
17
-25
-14
0
0
-43
0
0
-4
49
0
-10
-12
-18
-2
0
0
77
-9
0
0
45
-7
-1
46
8
0
-28
36
-67
0
-43
5
-2
0
-19
0
4
70
-6
-10
9
2
-20
-2
-92
-30
0
-3
-11
47
-7
-39
2
0
-21
-19
-24
-7
-17
21
0
0
0
6
-31
6
12
53
-13
0
5
-8
0
-1
-41
0
0
2
0
29
3
5
13
-35
-42
22
-10
-6
0
-23
53
-8
9
29
22
-16
-5
39
23
-23
-61
-13
25
14
-28
25
-8
41
23
-3
0
0
31
-27
-4
-15
-5
-2
4
0
-49
0
-30
0
9
0
-66
-38
0
-8
3
-5
0
-1
10
0
-18
-8
0
0
1
0
0
-19
-7
0
12
0
-24
-4
-62
-5
-6
-18
-42
-14
-3
-7
0
39
-8
0
-13
-7
10
0
-41
19
-27
30
-6
-34
0
-41
3
4
16
16
13
-5
-6
-14
42
-2
0
21
0
66
0
-1
13
0
-27
-3
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
0
0
0
-8
0
50
0
0
0
0
0
-2
-68
0
0
-10
0
0
-6
-33
0
-43
35
0
0
36
41
0
0
-10
0
0
-45
-15
0
0
-17
0
0
5
-20
0
0
-47
0
0
0
-28
0
-26
-39
0
0
0
26
0
0
0
0
-2
0
-1
2
2
0
0
-2
0
24
0
0
0
0
0
0
-60
0
0
5
0
0
0
-4
0
0
5
0
0
0
52
0
0
10
0
0
3
-11
0
0
-8
0
0
0
53
0
0
14
3
-7
0
-63
0
0
0
0
-3
0
21
0
0
0
0
0
0
-42
0
0
0
0
-3
0
20
0
0
0
0
0
0
38
0
0
-1
0
0
0
-19
0
4
-7
0
0
0
-24
0
0
-3
0
0
0
27
0
0
-2
3
0
0
11
0
-2
0
0
0
0
-14
0
0
0
0
0
0
-50
0
1
2
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
56
3
-3
-15
21
0
0
-21
-22
0
0
1
0
3
-3
-61
-41
-66
-38
0
3
1
1
0
-12
0
0
22
-9
0
3
17
51
0
12
5
-4
2
14
1
0
65
-25
0
-6
27
6
0
-11
-2
0
42
35
4
0
45
-20
-9
1
31
32
0
-19
9
2
6
-79
-1
0
0
-7
6
23
0
12
0
2
-11
-12
0
-8
1
0
6
29
-9
-26
-28
-6
0
13
11
3
24
-25
-15
0
17
9
-9
-8
5
-16
0
22
4
0
66
34
42
0
-58
10
-18
-9
18
-8
0
42
-6
0
-24
69
6
0
28
-17
-2
5
19
-34
0
13
-5
-8
6
-1
0
0
0
5
-41
-1
-2
-29
0
-2
17
1
-39
1
8
0
40
8
1
-3
31
-30
0
-34
29
-1
-58
17
9
0
22
21
0
75
19
-58
0
-22
9
0
54
42
-13
0
31
-6
7
7
41
4
0
0
-29
0
34
-5
0
0
0
-4
34
-27
-8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
6
0
-28
0
-1
0
0
0
0
-95
0
0
-7
0
0
-1
8
0
-71
-22
5
0
44
21
0
-4
35
0
0
-4
46
0
-4
-1
0
0
-2
22
0
0
24
0
0
0
34
0
-69
3
-6
0
-2
7
0
0
0
0
0
0
-15
-12
0
0
-8
0
0
1
0
0
0
0
0
0
-2
1
0
1
0
9
0
23
0
-6
-10
0
2
0
13
0
8
29
-2
0
0
-62
0
0
23
0
-4
0
-60
-1
3
19
-5
0
0
58
0
0
0
0
9
0
70
0
3
0
0
-5
0
45
0
0
0
2
0
0
-15
3
0
0
0
0
0
-31
0
-2
0
0
0
0
-37
0
0
0
0
5
0
-7
0
5
1
0
0
0
1
0
0
0
0
0
0
-10
0
10
0
0
0
0
12
0
0
0
1
0
0
14
0
-23
0
0
0
0
-72
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-3
0
62
6
4
0
18
0
-6
-3
0
0
-57
0
0
36
44
0
1
-21
-51
0
7
-14
-4
-9
-8
-2
6
-31
-14
0
-1
22
43
0
28
46
1
0
30
3
-10
42
40
-8
-19
24
0
-5
10
0
2
0
-5
51
-5
0
35
-2
-2
0
8
0
0
34
5
0
0
0
5
-4
-21
-13
25
-64
-19
9
52
-6
0
-2
23
0
-19
-21
-76
-4
7
50
-83
21
-35
-8
-2
0
39
0
-15
4
9
-3
11
-8
16
-1
2
5
0
0
-12
17
-18
0
0
7
0
-1
19
-87
0
-12
0
0
0
-6
12
0
-47
-13
0
0
0
0
0
-13
2
-17
16
0
0
0
-24
0
5
-9
-5
-3
-1
-24
6
-63
-68
0
0
-9
7
0
-15
-18
25
1
0
-20
0
48
7
1
7
0
23
0
-1
-2
-13
-2
0
0
0
-77
-2
0
3
0
-44
29
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-49
0
0
0
0
0
2
-16
0
8
101
0
0
-56
-13
0
0
5
0
0
0
-30
0
0
0
2
0
-3
25
0
0
-9
0
0
0
30
0
-25
7
0
0
0
-1
0
0
0
0
5
0
13
0
-5
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
-5
0
0
-72
0
0
0
0
0
0
73
0
0
9
0
0
0
-50
0
0
-16
0
0
0
12
0
0
-3
0
0
0
-75
0
0
3
0
0
0
-2
0
0
2
0
0
0
-21
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
3
0
0
0
0
-3
0
0
0
0
0
0
-14
0
-3
0
0
0
0
-3
0
0
0
0
0
0
1
0
9
0
0
-4
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-1
0
0
0
0
5
0
0
0
0
0
-1
-2
0
9
-16
0
0
-4
-9
0
0
-1
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
8
0
-2
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-14
0
0
0
0
0
0
15
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-7
0
0
-3
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
-1
0
0
0
0
3
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
-1
0
-53
6
-4
0
0
0
-50
11
-7
0
55
-2
9
8
4
0
26
35
3
0
-50
-39
0
0
-1
-1
-5
49
17
0
0
0
8
1
10
14
0
0
8
12
0
-4
4
0
-39
25
-18
0
-1
16
0
0
0
-7
-2
0
2
-4
12
0
-56
0
0
-74
0
0
0
0
-2
0
4
0
-2
-5
-3
-27
-4
-35
0
-1
24
0
-5
17
-20
0
7
-29
-8
5
-44
-30
0
0
-20
17
-22
8
-26
0
0
-2
-1
49
0
-15
0
1
0
4
-16
0
-23
0
0
0
-7
-41
0
-19
5
0
0
6
0
0
-19
1
0
0
0
1
0
57
0
-9
1
1
-1
0
-23
0
0
9
0
0
0
6
0
-13
0
2
0
0
-32
0
8
1
-5
-12
0
-6
0
-33
0
17
0
0
29
0
-6
0
2
5
0
3
0
48
0
8
19
0
-29
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-107
0
0
0
-31
0
29
17
41
8
0
0
102
0
3
0
-19
0
-8
4
-2
0
-9
19
-1
0
14
-7
0
0
20
0
0
-47
-5
0
1
1
0
-1
-23
2
0
0
8
1
67
30
-59
0
-23
-81
0
62
-26
-7
0
0
67
3
37
0
-1
-28
66
0
0
5
0
9
-44
2
-13
0
-10
-6
1
1
-8
-34
0
-14
72
30
0
-6
4
0
7
105
9
0
3
4
0
-28
8
3
5
-6
-18
0
3
13
-36
0
-13
-30
0
1
84
-6
0
0
-43
-4
13
2
-38
0
0
13
0
-37
0
11
11
0
-1
5
-19
0
11
-7
0
0
0
0
2
6
-3
0
-7
0
5
-3
-32
1
-8
-1
0
-12
0
-35
0
-58
65
0
-3
13
-13
0
3
54
-3
-13
-28
18
0
-76
92
0
-5
-4
-1
0
0
-30
0
8
10
-17
0
11
6
0
-79
0
27
16
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-104
-6
-8
-13
0
-58
3
-30
-29
-55
-22
0
5
1
-4
-16
2
-74
0
12
1
-3
17
3
0
0
7
-12
38
66
2
6
0
51
6
70
-75
1
-5
0
51
4
-2
26
12
7
-4
58
11
25
7
13
1
0
-13
13
-40
-41
-50
21
0
-2
0
-16
-22
6
-19
0
-20
12
-24
-5
-44
-12
0
-44
16
-31
-47
2
-12
0
9
-3
17
53
-13
43
0
8
12
79
41
9
17
0
44
-2
10
123
28
17
-1
54
7
-3
41
24
16
0
40
1
-33
18
33
96
0
3
5
-14
-17
-6
5
0
-22
-7
-2
84
-9
45
0
-18
13
-30
-80
-5
19
0
1
7
23
13
-10
2
0
46
-10
54
-73
-6
-28
0
29
9
-1
30
-16
-22
0
-1
15
-31
-56
31
17
0
83
6
41
50
62
14
0
66
-2
-48
41
-4
28
-30
-18
-2
-24
8
35
-52
0
0
22
23
50
33
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
12
0
0
0
0
0
0
-13
0
1
-24
0
0
-5
-8
0
0
0
0
3
0
-7
0
0
1
0
0
0
-20
0
0
0
0
0
0
0
0
-1
0
0
0
0
-18
0
0
0
0
0
0
-20
0
0
0
0
0
0
-27
0
0
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
12
36
0
0
-1
0
0
25
-61
0
-66
-70
-10
0
53
25
0
0
130
0
0
-22
40
-1
0
13
8
0
-12
41
0
0
-19
0
0
5
13
0
-48
8
0
0
1
67
0
0
0
0
-1
0
0
0
25
0
0
-1
0
-12
0
2
0
0
0
0
1
0
0
57
-1
0
0
3
0
0
16
0
0
0
5
0
0
72
-6
7
-1
39
0
0
-31
0
0
-2
18
0
1
16
46
0
2
-10
0
8
0
0
2
0
18
0
0
-1
0
1
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
33
0
13
0
0
0
0
-39
0
0
1
0
0
0
-7
0
0
0
0
0
0
-7
0
-8
-5
-1
0
0
18
0
0
-2
0
0
0
-18
0
0
0
0
8
0
1
0
13
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-32
-21
-31
32
5
0
-3
17
0
-8
-27
-2
2
-30
-3
-2
37
-7
-71
-12
-9
36
8
70
-23
-3
15
-91
-10
0
15
-42
-70
-14
-9
-13
0
4
4
4
-33
-93
-41
0
-10
-1
-44
50
17
-2
0
0
5
-5
21
0
11
0
43
0
-25
-20
1
14
31
3
20
0
0
46
-21
63
5
-42
-73
51
-62
-27
-3
-17
18
-2
27
-56
2
-2
-7
-17
7
45
-93
-7
0
-12
19
59
48
5
-10
0
5
-45
-35
-40
7
-18
0
41
10
-6
0
3
-4
-1
-6
27
-32
14
4
-6
0
1
0
21
-13
1
7
-33
5
-1
-1
2
1
-15
32
-73
49
0
0
-30
11
0
0
59
-34
8
-18
28
1
34
-58
0
-7
-23
-20
0
-12
-22
-28
-4
5
-29
0
8
-11
-4
-62
15
-19
0
-4
-62
16
-24
0
21
0
-29
-44
1
-80
0
18
0
-2
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
20
0
0
-12
-29
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
9
0
0
0
0
0
0
-23
0
0
0
0
0
1
-39
0
0
0
0
0
0
13
0
0
0
1
0
0
-24
0
0
0
0
0
0
-24
0
0
0
0
0
0
-20
0
0
0
0
0
0
-18
0
0
0
0
0
0
-32
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-21
0
0
0
0
0
0
-7
0
-6
-2
0
0
1
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
-12
0
0
0
0
1
0
0
0
0
0
0
-41
0
0
0
0
0
0
-12
0
0
0
0
0
0
-17
0
0
0
0
0
0
-13
0
0
1
0
0
0
-6
0
0
5
0
0
0
-5
0
0
-1
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
16
-18
0
0
16
0
0
-10
-77
0
-68
-18
0
0
-88
18
0
0
-42
0
0
29
-69
0
0
63
0
0
23
-10
0
0
-71
0
0
-5
-13
0
-5
18
-6
-6
0
26
0
0
0
0
1
0
2
-2
-8
0
0
0
0
1
0
0
0
0
0
0
27
3
5
-4
0
-5
0
30
0
0
-21
0
0
0
37
0
0
52
0
0
3
38
0
0
-33
0
7
0
3
0
0
5
0
0
0
-112
0
1
-1
0
0
0
-45
0
-3
-5
0
10
0
-19
0
0
0
0
6
0
-80
2
0
0
0
0
0
0
0
-2
0
0
0
0
-143
0
0
0
2
0
0
-8
1
19
31
0
7
0
-13
0
0
2
0
24
0
-71
0
-12
2
0
0
0
-34
0
0
0
0
0
0
-63
0
-2
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
9
27
53
31
-13
0
-1
6
14
0
20
0
0
26
-10
1
38
14
26
0
8
40
6
16
-14
31
0
-17
-21
6
3
-30
5
0
37
-20
2
-10
26
4
0
33
-54
-1
-40
34
-25
0
-4
8
-20
-3
8
2
0
0
10
29
-32
0
-12
0
-5
8
28
0
54
0
0
40
34
-24
-2
-5
63
0
18
11
-10
23
42
17
0
38
2
17
14
17
-6
0
33
-6
5
-14
20
-16
0
15
-53
-2
75
1
17
0
131
-17
0
-22
25
15
0
-3
8
23
-28
1
-13
0
0
14
102
-12
-1
-1
0
0
7
-10
-1
0
-5
0
-10
4
13
-28
48
-2
0
-95
18
1
-24
67
0
0
-58
4
1
-48
-44
18
0
-13
24
5
-4
74
49
0
-3
7
-5
41
13
9
0
-12
4
-1
-55
22
24
0
9
33
-2
4
13
0
0
2
-19
58
-31
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
1
0
0
-15
-8
0
-13
50
-3
0
71
-13
0
0
6
0
0
12
-3
0
0
2
-13
-3
-41
-5
0
0
35
0
2
0
1
0
38
0
-5
0
0
-39
0
0
0
0
0
0
-71
5
-3
0
0
0
0
107
6
0
0
0
0
0
-40
-7
0
0
0
0
1
-23
0
0
-6
0
0
-1
13
0
0
-5
5
0
0
6
0
0
84
0
9
0
-9
0
0
23
-17
0
0
34
0
0
0
0
1
0
45
0
9
0
0
-5
0
13
0
0
0
0
0
0
-29
0
0
0
0
0
0
-7
1
0
0
0
0
0
-29
0
0
20
0
0
0
-4
0
1
-7
0
0
0
14
0
0
0
6
0
4
80
0
-5
-20
0
0
0
23
0
2
0
0
0
0
-77
0
-1
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-11
0
1
4
-29
32
1
-29
1
10
-12
73
10
4
0
-11
28
74
36
-17
-3
78
-53
8
-13
5
-13
-2
-42
5
-7
5
-40
16
-9
-22
7
9
-5
-6
-2
-14
-32
-3
-8
-7
-6
-2
3
-14
-13
12
26
20
-37
0
-56
20
-71
-25
27
-23
-2
-29
-77
-5
-2
7
1
-5
-88
80
28
8
14
28
2
5
42
11
-22
6
-19
-16
7
-26
12
4
11
61
-7
31
-15
7
3
38
-42
-6
51
22
-3
24
20
-34
-1
32
13
7
25
16
81
-21
32
44
10
19
-28
-31
0
-11
21
4
55
-21
-25
8
12
-40
-10
-32
9
65
-11
-71
23
-29
5
-39
13
-1
12
-1
30
22
25
5
2
-12
-20
27
10
5
36
-8
8
14
-4
87
39
97
1
49
-12
-12
38
-45
-42
6
-5
21
37
5
23
21
4
3
26
50
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-13
0
0
-6
8
0
-39
-13
0
48
54
-6
0
-34
-15
5
-4
7
5
6
-12
5
6
-5
-50
26
10
64
29
0
1
28
0
5
-12
-36
0
-29
17
-69
-1
-1
9
21
-13
-4
2
53
3
40
-7
15
0
50
-1
0
-60
0
3
-2
-2
0
10
44
-2
-16
62
-13
2
8
3
-1
-5
50
-15
-2
39
12
6
9
-57
-55
0
57
-26
1
-1
1
-3
-50
27
-18
0
4
2
43
-6
-27
-33
-2
8
36
-5
-9
0
-16
0
-6
-60
-75
71
0
-20
8
-5
0
-1
2
-12
61
5
2
-9
0
0
-5
4
-2
0
34
0
8
2
39
-5
10
-24
-10
0
-13
24
2
12
71
-6
-3
-39
-41
0
31
11
22
52
-13
-43
0
50
12
1
-7
-13
28
0
-19
51
-51
2
0
4
0
17
-34
0
-49
0
21
68
2
-12
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
0
0
2
0
0
-5
9
6
-33
-13
41
0
19
-120
3
0
24
-2
0
61
17
0
1
10
25
-3
-102
36
0
6
-6
2
-44
-10
-30
-8
-33
-69
12
2
0
-21
-3
0
-10
-7
68
0
34
2
-9
0
-27
9
-5
-62
69
0
19
0
-2
1
-19
-49
-4
56
-38
-1
-60
39
7
2
5
1
1
-40
-63
-8
7
115
23
0
81
-37
-8
27
-28
-2
0
1
-15
2
5
44
-32
5
7
-32
5
-14
-51
0
-66
5
-16
2
-3
51
-3
-47
1
8
9
1
0
0
2
-14
13
128
6
-4
1
0
0
24
-6
-12
2
0
-7
-4
28
0
3
-17
32
4
8
-52
-6
35
-13
25
8
42
9
0
-15
-57
75
0
-12
-13
0
-31
-24
0
27
-1
19
0
1
-16
-54
-8
0
-11
0
-93
-5
4
-57
0
53
43
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-25
0
0
-18
0
0
58
35
14
-50
-59
-18
0
-16
3
0
0
43
0
0
2
7
2
0
37
13
-24
-44
-45
0
0
51
0
33
0
4
12
-17
-33
49
0
0
74
-2
0
0
0
5
0
40
7
-2
0
30
-3
0
-7
-23
4
1
0
0
1
28
-2
0
5
1
0
24
20
-2
1
-12
4
0
-23
71
2
19
32
-17
8
-21
-3
0
-5
-26
0
8
5
33
0
-14
-78
-13
8
0
-21
0
2
22
-2
-7
6
36
-4
-3
0
13
23
0
55
0
0
0
1
0
0
-14
13
0
0
0
0
8
-23
1
8
0
0
0
0
31
0
0
-8
0
0
0
45
0
54
-3
0
0
0
-19
0
6
37
7
0
-2
-30
0
-22
35
0
-7
0
34
0
19
-2
-37
0
0
40
0
54
-4
0
19
0
31
33
5
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
0
0
14
0
0
-25
-86
0
19
-48
-5
0
19
-31
0
0
58
0
0
-5
-95
0
0
-31
-2
0
10
-14
0
0
12
0
13
1
0
0
41
52
0
0
0
57
0
0
-5
0
7
0
18
16
-10
0
0
0
0
-47
0
0
0
0
0
3
-3
0
0
-9
0
6
-70
-11
0
0
156
0
-2
15
-124
0
0
7
0
1
33
-65
0
-5
13
16
48
43
-2
0
-2
11
0
-10
-8
-73
0
1
16
0
14
0
-35
0
0
8
0
-13
0
3
0
0
0
0
-8
0
6
-3
0
0
0
0
0
-18
0
32
-13
0
0
-1
-80
0
0
-25
0
0
-16
39
8
79
-26
0
0
-2
0
0
0
3
0
0
-1
-57
0
-84
50
0
1
0
5
0
0
7
0
-1
0
-19
0
-15
-5
0
18
0
-10
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
2
-2
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
5
-2
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
28
0
0
0
0
0
0
8
0
0
0
-5
0
0
4
0
0
-9
0
0
0
5
0
0
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
1
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-5
37
50
13
-1
41
85
5
-5
71
-8
-25
63
-10
-5
21
33
38
-59
26
6
0
0
-22
33
12
-52
16
0
33
-41
42
23
-4
-18
22
8
8
-7
43
0
-10
84
4
0
-79
13
-2
28
26
0
-3
-1
0
2
41
-15
1
42
29
0
81
0
3
35
-33
0
32
33
21
1
-42
-37
41
3
24
0
30
-28
36
0
-67
49
62
-8
67
17
64
32
93
14
-2
49
105
-4
31
-6
-18
31
-2
-10
-12
14
0
11
5
-33
0
30
-4
0
32
89
-5
-22
-15
0
7
60
2
-103
50
-2
0
41
-30
-13
-13
-27
50
24
57
1
-25
44
44
-2
21
-23
-37
0
74
51
29
-31
41
-38
-2
5
30
-13
-1
-6
-4
21
48
98
-5
49
0
-4
0
48
-31
0
-13
0
-17
-110
6
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-36
4
8
-3
-45
12
-5
43
10
-2
34
10
9
6
5
29
2
16
-6
-11
-4
-9
39
6
-54
12
13
-21
-43
2
-7
1
1
-33
-10
-17
4
-4
31
12
6
2
12
-25
-32
-2
-4
-9
4
8
-90
-109
11
65
-10
0
40
-65
33
5
22
-18
14
10
-40
15
25
28
-3
9
32
-70
5
-3
8
-18
-1
-7
1
-4
4
7
-41
-6
21
13
5
5
12
-21
-2
48
-3
3
-34
-24
-6
4
-87
-29
-2
14
1
89
-4
-6
-41
84
19
-14
36
17
-5
7
-40
-104
22
26
0
8
-28
12
-79
-39
-84
-24
12
6
-45
15
-39
-10
-3
3
6
6
25
-61
-18
3
10
-31
25
24
-31
-10
14
-9
4
18
24
19
5
-15
-37
17
28
-11
29
-32
4
-4
10
-2
53
-30
10
7
42
12
12
36
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
56
0
1
3
1
0
85
-74
0
0
-7
0
0
7
54
0
0
-8
0
0
-6
-32
0
0
41
0
0
0
14
0
74
0
0
0
0
12
0
0
0
0
0
0
-66
0
0
0
0
0
0
-15
0
0
0
0
0
0
86
0
0
13
0
0
8
57
0
0
-2
0
0
-2
17
0
0
34
0
0
0
27
0
0
43
0
0
-2
-19
0
0
5
-10
0
0
-41
0
0
-3
0
0
0
-17
0
0
-3
-2
-2
0
4
0
0
0
0
0
0
-9
0
0
-4
0
0
0
-25
0
-2
0
0
0
0
-60
0
0
0
0
0
0
3
0
0
0
0
0
3
25
0
0
0
0
0
0
42
0
-9
0
0
0
0
26
0
0
0
0
0
0
-25
0
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-23
0
-8
-32
0
0
-23
-30
0
0
-15
0
0
4
39
0
0
0
-6
0
-9
-38
0
0
19
0
0
-1
9
0
-31
13
0
0
0
110
0
0
0
0
0
0
-55
-13
0
0
0
0
0
7
2
0
0
0
0
0
20
0
0
6
0
0
0
57
0
0
-2
0
0
0
-41
0
0
4
0
0
1
-10
0
0
-12
0
4
0
-48
0
0
3
0
0
0
-105
0
0
0
0
0
0
-26
0
0
0
0
0
0
-36
0
0
0
0
0
0
-5
0
0
0
0
0
0
-35
0
-1
0
0
0
0
52
0
0
0
0
0
0
-3
0
0
-12
0
0
0
-21
0
-7
0
0
0
0
-21
0
0
0
0
0
0
-15
0
0
-1
0
0
0
-43
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
17
0
6
39
-25
-12
-17
1
15
-23
30
22
63
-6
6
2
-12
6
6
85
0
18
0
9
27
-3
28
-31
10
0
15
8
2
-22
-22
-17
4
3
10
-20
-24
2
10
-50
-53
0
21
24
0
12
112
35
-4
12
0
-7
57
-3
59
-7
46
-57
-13
24
8
29
31
-12
6
42
33
-10
-47
56
36
-14
5
0
-21
6
19
-3
56
-12
5
0
-9
-28
-9
-23
-67
22
0
6
72
5
-28
-3
-21
4
10
38
21
11
0
-2
22
-4
0
19
19
0
49
26
-33
0
-16
0
8
23
5
57
-30
-4
6
8
62
10
-14
8
26
2
45
30
17
-51
-63
-4
13
-11
-47
-8
-31
-1
9
-6
45
27
38
53
64
42
-14
-25
29
-15
20
-23
40
-5
-18
-15
9
24
2
-17
47
0
4
-34
39
-10
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
62
0
-5
41
-5
0
35
-38
0
0
50
0
0
0
-64
0
0
12
0
0
-8
-15
0
0
-1
0
0
-4
-6
0
2
-7
4
0
0
-14
0
0
2
0
0
0
9
-4
0
0
0
0
0
81
0
0
0
0
0
-1
57
0
0
3
0
0
1
7
0
0
1
0
0
-4
8
0
0
5
0
0
0
-13
0
0
-3
0
0
0
42
0
9
5
0
0
0
-61
0
0
-2
0
-1
0
-24
0
0
0
0
16
0
-1
0
0
0
0
0
0
35
0
0
-1
0
0
0
30
0
-3
0
0
0
-17
13
0
0
4
0
0
0
5
0
3
0
0
0
0
7
0
0
0
0
0
-1
-21
0
0
-3
0
0
0
9
0
0
-1
0
0
0
82
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
0
20
-23
0
0
-31
-59
0
0
-73
0
0
0
73
0
0
25
0
0
12
-5
0
0
10
0
0
0
-8
0
-14
-5
25
0
-5
76
0
0
0
0
0
0
14
7
0
0
0
0
0
-41
1
0
0
0
0
-1
-5
0
0
-6
0
0
3
37
0
-4
-4
0
0
0
1
0
0
92
-7
0
0
65
0
0
12
0
0
0
-18
0
0
-42
0
0
-7
-68
0
0
-7
0
0
0
-37
0
0
0
-9
0
0
13
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
42
0
0
0
0
59
0
0
0
0
0
2
102
0
3
4
0
0
0
-47
0
0
1
2
0
0
2
0
-19
8
0
0
0
6
0
0
0
0
0
0
66
0
-6
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
-8
14
-13
4
-14
6
7
-2
-13
-23
43
-46
-18
2
-19
2
-29
-53
51
21
0
10
17
-15
-10
-3
-39
9
29
-13
-3
-5
0
-1
-2
24
-7
5
43
3
32
81
-3
29
-5
-17
51
24
10
17
-146
-45
74
26
15
-42
76
-5
12
-3
55
4
-15
-94
-8
41
-47
-84
-7
13
62
16
131
52
-6
-4
8
23
-42
-19
-67
-34
13
-4
-42
-16
35
18
0
-4
-27
30
-50
53
8
0
17
-69
48
1
-3
22
0
2
-29
-2
6
43
0
1
-38
-20
63
33
7
-5
99
8
-21
56
18
55
-7
42
-8
29
43
-4
8
13
-32
-7
7
32
-49
-5
-1
-9
-42
8
33
5
12
54
22
-14
-3
36
-20
23
-14
-2
13
-2
-9
2
0
3
0
5
-14
20
0
-52
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
10
-54
-6
19
-31
-20
9
23
61
-1
8
31
-5
4
55
43
16
-37
2
56
-19
-31
-6
20
-8
-67
46
-15
-15
-25
-25
48
6
-29
-9
-30
-109
5
16
-30
4
8
-3
-72
58
-18
-14
130
-44
25
13
-8
-55
-12
7
0
15
-55
-33
-40
-13
-25
-15
5
60
-29
4
37
17
3
-18
-22
-7
-30
0
-16
-5
-47
-29
16
-10
3
28
-14
37
-13
21
41
8
-7
3
-18
83
55
56
-17
-2
17
-14
41
8
82
-25
23
-13
-42
-6
-14
-16
28
31
-36
-1
25
20
-15
-70
-49
0
-22
-20
-2
-24
17
68
-54
66
102
-69
-10
-43
5
42
-21
-23
-11
-12
2
79
-12
17
14
-7
-49
-2
-32
-5
12
-47
4
-22
33
46
-2
31
35
58
21
18
-1
22
2
41
-20
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
82
0
0
41
0
0
8
47
0
4
-4
0
0
8
-46
0
0
-5
0
0
-1
-21
0
13
-1
17
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-54
0
-5
9
-5
0
0
-79
0
0
-4
0
0
0
8
0
5
14
0
0
0
-29
0
2
42
0
0
0
-55
0
17
2
0
0
0
31
0
0
0
0
-3
0
25
0
0
-2
0
-3
0
68
0
0
0
0
0
0
4
10
0
0
0
0
0
9
0
0
-1
0
0
0
-56
0
0
0
0
0
0
-28
0
3
-4
0
0
0
-41
0
0
0
0
0
0
31
0
-14
0
0
0
0
-55
0
0
-5
0
0
0
70
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
81
41
-23
-3
-43
17
-12
-21
-22
-20
28
120
-5
0
6
58
-6
76
-38
13
9
-5
-12
-28
2
18
22
7
32
-20
-4
-22
-25
-1
13
-26
-86
0
-7
27
-13
5
-4
-3
-4
-56
20
30
-2
-51
30
-18
-32
28
-17
18
-14
-64
71
15
83
48
7
-22
-94
-5
-9
36
-30
-13
3
-26
6
48
50
-38
4
-4
8
-5
21
-23
10
27
-9
5
-20
-15
53
-40
-9
-8
41
61
18
8
43
-9
21
22
-44
74
-70
-3
2
22
12
35
-31
-6
13
-37
-1
15
-48
23
-7
-43
5
30
-4
75
9
-87
7
-20
-13
24
-24
55
61
26
4
46
59
-1
39
68
-24
9
-3
40
-5
43
22
52
-1
-46
-60
42
-30
5
-5
1
-3
10
-48
-14
74
-8
-7
71
26
-11
-64
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-66
69
18
-58
0
11
5
13
-40
-1
-12
-4
14
6
-31
-62
15
8
40
-69
-3
21
4
16
-5
32
-5
-11
53
54
43
1
3
-4
-4
13
-8
21
-43
-60
8
0
92
-14
-22
-55
44
-54
4
-20
46
20
-5
-3
12
-4
-2
7
10
-42
1
-35
3
-27
37
-14
59
44
-31
6
101
-4
12
2
-51
68
-6
52
41
10
-5
0
-8
16
22
-28
56
6
31
-5
4
-49
0
22
15
13
-13
10
35
-22
-4
71
-7
5
32
-5
-1
-73
-104
-8
33
-23
20
-13
3
-20
24
-45
18
35
91
30
-60
31
-6
-17
7
66
-1
-49
-5
111
24
-2
36
39
28
-9
14
4
62
8
-55
18
-15
43
16
-5
25
27
-4
31
19
-3
28
-12
42
49
28
23
7
-51
-4
46
-5
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-21
-3
-6
-5
0
16
-52
-8
1
18
2
-24
-93
-21
-25
-8
2
-25
1
49
-53
-12
0
43
0
0
-9
88
2
0
1
-42
3
14
-2
9
-38
32
0
4
-10
-1
17
-3
10
-45
0
1
-63
10
6
-4
20
-5
36
14
-7
-1
12
26
0
70
33
-36
0
25
-19
0
-53
36
-13
-1
-41
34
-1
-10
58
15
0
8
29
33
-75
-14
-38
0
172
6
3
27
-55
5
0
-16
43
-6
0
-8
15
27
90
14
0
-5
0
16
-22
-7
-5
-7
0
8
-76
0
-32
14
0
13
5
-23
0
-37
-16
6
3
-2
-3
-5
46
62
-13
25
34
-7
6
-42
19
0
-25
68
-30
2
49
71
-1
-4
44
0
0
24
-43
0
-23
28
-23
-1
31
70
0
-82
-1
25
-32
-3
-41
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-57
0
0
-8
0
0
4
-53
0
0
0
-1
0
-7
-24
0
0
-2
0
0
0
-15
0
-31
0
1
0
0
-26
0
0
0
0
0
0
-10
-1
-1
0
0
0
0
-8
0
0
0
0
0
0
-68
0
3
1
0
0
8
-19
0
0
0
0
0
0
12
0
0
44
0
0
-5
12
0
0
-15
0
0
0
9
0
0
24
7
0
0
-44
0
0
0
0
0
0
4
0
0
0
14
0
0
-78
0
0
0
0
0
0
-42
0
0
0
0
0
-3
2
0
8
0
0
0
1
72
0
2
-25
0
0
0
24
0
0
19
0
0
0
-39
0
0
-1
3
0
0
-8
0
0
8
0
0
0
-19
0
0
0
0
0
0
-73
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
13
-10
17
12
7
11
-11
14
58
59
9
-12
-26
58
12
-2
1
13
10
41
37
2
-66
21
-13
31
13
-3
12
-3
-14
4
44
41
53
10
-17
-63
-8
-34
31
48
17
26
51
-4
38
30
55
-1
-6
7
-7
-20
-18
-37
2
-51
-26
24
-2
10
57
5
-60
19
-1
29
85
22
-3
-84
18
3
6
35
22
18
41
-27
36
9
13
41
2
-26
11
23
14
-7
-41
19
-41
21
-54
36
-10
-8
8
-9
1
48
33
9
-15
0
-32
-18
3
40
40
-78
-14
-81
-12
35
68
67
16
-4
-28
-4
-13
22
-44
-13
-5
13
-58
-23
6
-20
109
9
-3
7
35
-84
2
18
-1
27
-64
63
32
-21
85
7
-46
-6
5
-33
69
-24
15
49
-52
43
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-7
14
7
-17
-4
-27
21
-1
-10
22
-2
14
0
-1
-24
-31
4
3
-24
-63
5
-5
18
-55
-28
-51
6
45
-15
3
-3
-43
-3
-10
-53
-3
10
0
39
-43
-3
-19
3
-29
5
20
-36
53
-3
13
-47
51
2
-83
31
-13
0
11
-11
26
-27
-5
17
-10
38
57
-6
50
7
4
2
53
41
-9
-27
53
32
-7
61
7
49
-57
1
-44
4
-60
15
49
-6
6
12
7
14
-14
-1
64
39
2
13
34
-67
28
-99
18
38
13
9
-46
0
-83
0
57
30
-16
-32
-16
46
-48
11
0
0
-7
8
-67
105
20
-10
76
24
-50
-40
105
6
9
51
-52
29
22
45
4
9
71
-21
4
-33
22
-58
10
-27
-32
22
56
-4
8
27
10
-36
2
19
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-72
0
1
-6
0
0
-1
8
0
0
-36
0
0
0
-1
0
66
0
5
0
0
-42
0
0
0
0
0
0
-29
2
0
0
0
0
0
48
4
0
0
0
0
0
-50
0
16
6
23
0
12
0
0
-3
-8
0
0
0
-9
0
0
49
0
0
7
-5
0
-1
-23
0
0
0
-29
0
0
0
-3
-4
0
46
0
0
-12
0
0
0
-14
0
0
0
0
6
0
98
0
0
0
0
0
0
-14
-6
0
0
-4
0
0
-8
0
3
0
0
0
0
14
0
0
-2
4
0
0
-31
0
6
5
0
0
0
-34
0
0
0
0
0
0
-57
0
-7
-1
0
0
0
19
0
0
4
0
0
0
45
0
2
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
6
0
0
-16
3
0
-10
-4
0
0
8
0
-14
0
82
0
179
-1
13
1
0
50
0
0
2
0
0
0
-10
21
0
0
0
0
0
11
7
0
0
0
0
0
1
0
0
42
-8
0
-31
-55
0
0
24
0
0
9
122
0
0
-7
-8
0
0
-13
0
8
-9
-3
0
0
-19
0
0
-5
-2
-20
0
117
0
0
18
0
0
0
27
0
0
2
6
-8
0
-13
0
0
0
0
0
0
-15
-1
0
-5
0
0
0
13
0
13
-10
0
0
0
-5
-2
0
-1
-13
0
0
-13
0
-19
0
0
0
0
29
0
3
-3
5
0
-5
-50
0
6
3
1
0
0
-17
0
0
1
0
0
0
-29
0
9
0
0
-4
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-10
94
33
-17
-4
13
-18
22
16
-10
-14
53
25
3
4
-11
54
-21
-10
5
-9
-19
-2
17
50
40
0
-5
34
-50
1
12
2
42
26
-16
13
24
-2
49
-1
11
-2
-30
14
57
24
-30
-15
29
86
63
14
-15
28
4
22
-5
14
54
33
41
-6
-4
-51
-21
-22
48
92
5
-8
-35
-10
17
-14
56
14
10
10
42
37
21
18
5
-25
103
22
-4
27
0
11
14
-13
-1
72
-64
12
25
46
2
58
-51
0
-45
-5
25
15
-29
8
44
27
26
27
4
5
82
29
-15
23
-13
8
21
8
-22
62
-16
-10
7
-24
44
-72
8
7
-4
24
-3
-1
-2
41
6
0
57
39
117
-58
-77
18
-1
-5
-19
-7
-5
14
29
-33
18
-5
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
0
0
-28
0
0
-31
-13
0
0
16
0
0
-2
-14
0
-16
-3
0
0
0
-43
0
0
-1
0
0
0
11
4
29
0
0
0
0
10
-1
0
0
0
0
0
-52
0
-1
20
0
0
5
-1
0
0
-12
0
0
41
-11
0
0
3
0
0
37
44
0
0
-102
0
0
-5
-2
0
0
71
0
0
-1
-25
0
0
16
0
-5
0
-40
0
0
-1
0
47
0
13
1
0
0
0
0
0
21
0
0
0
0
0
-2
11
0
-1
0
0
0
0
-38
0
0
0
0
0
0
-41
0
-9
-1
0
0
1
3
0
0
8
8
6
1
-92
0
71
48
0
0
0
52
0
0
33
0
-2
0
78
0
-2
24
0
-7
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
0
42
-1
0
-57
4
0
0
-24
0
0
0
-44
0
-41
-13
60
0
0
-44
0
0
0
3
0
0
-16
2
0
0
-4
0
0
-5
-2
5
0
0
0
-2
41
0
0
66
-5
0
5
8
0
4
-18
0
0
5
83
0
0
24
40
0
37
-5
0
0
-79
0
0
-1
16
0
0
-44
-23
0
0
-19
0
0
49
0
0
0
-44
0
0
-1
5
0
0
-16
0
0
0
0
0
0
-51
0
0
2
0
0
0
-1
0
4
-9
0
0
5
24
0
0
2
0
0
2
93
0
6
13
-7
0
-2
-32
0
-2
96
2
0
7
32
0
77
-13
0
0
1
6
0
0
28
5
0
0
58
0
13
0
0
0
0
-31
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-16
0
-16
-56
-9
5
-5
0
-1
-40
-37
3
-51
0
-10
5
-18
-8
24
20
0
0
-31
-82
0
-75
19
-2
-2
-53
0
-5
-2
0
13
-56
73
108
32
-95
-28
19
12
-7
1
53
-5
31
28
5
3
-15
-36
-48
4
-5
-19
-4
19
-72
13
-5
-20
1
0
57
-7
-20
31
13
11
0
33
-18
18
9
-5
11
-3
55
9
-3
-4
14
-5
-19
-15
-2
-9
48
0
-38
17
-27
-3
5
0
2
-49
-1
9
67
0
0
8
4
-5
18
-50
10
0
0
21
-3
-82
2
-33
6
8
27
-9
65
-8
72
-9
-73
46
-1
-75
2
1
16
7
5
6
-66
94
-88
51
1
36
0
1
108
5
29
0
-32
59
5
-41
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-28
-120
-51
1
-47
-53
-6
5
27
2
10
-12
10
18
-5
-75
-17
-27
-63
-22
-14
-5
-8
-43
-49
-19
-11
43
14
-32
3
-44
13
47
59
-12
38
21
13
-24
-31
0
-5
-43
-36
3
-38
-9
18
0
8
-42
21
12
-19
43
0
5
9
-4
-30
-5
-41
4
2
-70
6
29
6
2
-15
-35
9
-1
-16
-11
10
10
-45
-11
12
-10
0
29
8
7
-10
-41
5
47
-21
23
11
-23
7
22
36
31
-35
29
8
-26
-10
-18
22
2
68
-45
37
-109
21
13
3
-69
3
22
-40
-69
63
0
-15
12
17
37
23
-19
-3
-74
-9
-19
19
-1
-10
-1
-48
43
-18
-5
23
19
-4
73
9
17
31
1
-74
4
35
55
-10
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-79
0
0
19
0
0
0
15
0
9
-2
0
0
0
22
0
-2
0
0
-1
0
-15
0
12
0
0
-9
5
-55
0
-1
0
0
0
0
44
0
0
22
-1
0
3
23
0
0
0
3
0
0
4
0
0
-2
0
0
8
13
0
0
-6
0
0
0
20
0
0
-2
-1
0
-3
-31
0
0
-1
0
0
0
110
0
0
0
0
0
0
-2
0
0
0
0
-4
0
-1
0
0
0
0
0
0
6
0
-8
0
0
0
-1
45
0
0
0
0
0
0
44
0
-1
-3
0
0
-2
-37
0
4
0
2
0
0
75
0
6
5
0
0
0
31
0
5
1
0
0
0
31
0
-8
0
0
-1
0
15
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
-28
0
0
-5
84
0
-69
15
5
0
0
-30
0
0
0
0
0
0
29
1
0
0
0
0
0
-13
0
0
0
0
0
0
73
-5
0
12
10
0
-9
4
0
-4
8
0
0
7
-56
0
-5
17
25
0
0
-57
0
0
-42
0
-7
0
7
0
6
8
3
20
0
-15
0
4
-2
0
-6
0
17
0
0
0
0
-7
0
23
0
0
0
0
0
0
41
-8
0
0
0
0
0
4
0
-4
-9
0
0
0
-19
0
0
-8
0
0
0
-6
0
1
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
18
0
0
0
26
0
0
0
6
2
0
35
0
-4
0
0
0
0
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
-6
26
22
29
51
1
-10
-3
-7
-37
-6
19
15
-10
24
31
29
62
-49
0
-8
-18
-52
0
0
39
-1
3
19
-6
-10
-6
-1
-11
4
-36
54
-9
21
48
-37
0
-8
-42
-7
13
-7
-1
5
-33
41
17
25
22
-70
1
4
-2
3
32
-14
-26
25
-5
11
67
-14
-10
-1
5
-8
-54
113
-24
22
-31
-4
4
-47
-73
22
32
0
3
42
64
3
13
-85
0
1
65
-10
5
18
-4
41
8
8
-20
-5
-16
23
22
42
-22
-10
-42
27
73
41
-5
42
15
-19
49
35
-1
-13
0
-35
-36
19
20
-53
34
-5
-2
11
3
-17
11
4
4
-47
-23
30
26
-7
4
5
4
52
0
-8
0
-5
-51
67
47
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
0
-4
16
0
-8
-5
-6
6
20
40
0
29
7
-32
12
12
5
0
12
0
-3
-1
75
0
-7
-24
-1
-14
9
-1
-4
0
-3
-9
3
-18
-8
50
2
-5
73
4
-3
-41
48
3
52
-30
-9
-9
-4
33
-8
0
-29
2
0
16
28
20
9
6
1
9
12
16
43
-32
-56
-19
0
-7
34
0
42
3
6
-9
0
10
-1
-3
1
3
5
23
0
0
-5
-4
-42
-53
2
0
0
0
34
-6
2
-65
14
0
-8
3
0
0
-2
-15
14
0
-6
-3
0
-56
68
0
14
31
20
0
25
13
3
0
3
-3
6
12
-26
0
-9
-15
-6
-9
61
-56
0
61
0
-16
-5
8
87
0
-56
0
-4
-16
9
-24
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
0
0
-30
0
0
0
2
0
-71
73
-99
0
0
-41
0
0
3
0
0
0
-11
-14
18
0
-8
0
0
13
9
0
0
2
0
0
-24
0
0
16
9
0
12
-71
0
0
25
0
0
24
-2
3
0
-2
5
1
22
-12
0
0
8
1
0
14
-8
0
0
35
-23
0
2
44
0
14
43
0
0
0
31
0
-8
-14
30
0
0
-16
0
-7
0
0
0
0
-42
-7
0
0
0
0
0
86
0
3
-5
0
0
0
106
0
0
-8
-1
0
-15
1
0
-32
-50
0
0
-4
-42
0
2
17
-12
0
-18
-5
0
37
-44
0
0
0
-60
0
-1
1
3
0
0
43
0
9
0
0
0
0
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
-4
32
40
23
-75
-2
7
-23
4
41
13
-76
0
0
33
26
0
-32
6
-10
-1
-46
0
8
-9
0
127
-14
8
-22
26
-23
21
-62
19
-1
7
29
33
42
-96
21
0
10
25
14
85
-7
-15
-3
74
24
31
-44
4
18
-4
-7
-24
-21
25
19
-15
1
5
-64
8
-14
0
-12
0
-3
43
-51
3
0
5
-37
0
-4
12
14
0
3
-89
49
4
4
0
-3
2
6
17
41
-5
1
129
19
0
-13
33
-31
-8
9
-6
15
-38
27
39
-50
-6
25
5
-5
30
80
-27
16
-13
0
-43
-32
24
5
6
19
0
-10
24
36
54
0
24
0
47
11
0
-84
0
-22
45
-8
55
5
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
8
-49
-11
1
-10
-36
60
-8
14
-68
16
18
-53
47
-5
-16
-19
-5
-53
75
55
-5
-7
20
6
15
-3
34
1
6
19
24
-7
-5
-11
0
-10
15
12
-73
10
1
6
23
62
2
-54
-82
20
5
-35
-55
6
-6
23
-1
0
-21
0
23
-4
-26
9
1
-80
31
-20
67
33
66
7
-15
10
9
-49
-20
-42
-10
28
-39
-40
-24
2
-33
7
-13
7
4
-2
-52
55
9
13
34
-19
60
24
-50
10
42
55
28
-15
46
9
0
-15
20
28
-17
-1
36
-1
27
23
-26
-25
10
-5
0
37
4
-27
-16
-16
-12
-9
47
37
22
7
52
49
-10
-4
-37
16
-3
-21
-5
11
3
0
3
-37
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
23
7
-3
0
2
-1
0
0
0
0
0
0
44
16
0
0
0
0
0
-36
2
0
0
0
0
0
-81
0
1
-9
0
0
0
5
0
0
6
0
0
2
8
0
0
-1
13
0
0
-83
0
0
20
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
84
0
0
4
7
0
0
-32
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
-2
9
0
0
0
0
0
0
-5
0
0
-1
0
0
0
28
0
-1
0
0
0
0
-48
0
6
4
0
0
0
2
0
0
3
0
0
0
-19
0
-10
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
48
-2
27
-4
0
68
0
0
0
0
0
0
39
-2
0
0
24
0
0
71
0
0
0
0
0
0
-67
0
0
1
0
0
-2
35
0
0
-24
0
0
0
-45
0
0
23
0
0
-13
-2
0
0
-11
-1
1
2
-14
0
0
-4
-6
0
9
1
0
0
0
0
7
0
-67
0
0
-4
15
-6
0
51
0
0
0
0
0
0
-35
0
0
0
0
0
0
8
0
25
-3
0
0
0
5
0
0
0
0
0
0
-13
0
7
-3
0
0
0
-25
0
0
4
-1
0
-1
8
0
0
0
0
0
0
46
0
0
15
-7
1
0
11
0
-5
0
0
0
0
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
1
-2
0
-29
-3
-51
92
12
-4
5
22
-45
8
-7
9
-9
-37
-7
-10
12
2
0
-26
1
-70
6
-2
-63
22
69
-50
7
26
24
-57
11
-9
-21
-3
-26
25
21
20
95
7
-1
10
-39
1
0
-3
51
-3
-41
20
-23
2
6
-19
83
8
-51
-23
-1
31
14
-30
-14
17
45
-5
1
-2
9
-4
-7
-1
2
-51
-36
0
-51
-9
-6
0
58
-8
33
34
4
19
21
-35
-65
55
12
8
-6
39
-1
23
-29
38
0
36
19
9
-71
-24
-14
37
-24
13
0
34
43
-16
4
9
-17
24
-3
-43
-41
29
-73
37
-23
1
-9
33
15
-6
9
-5
-17
6
-2
5
0
9
-28
-8
0
31
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
4
-4
4
0
0
10
0
0
15
0
0
0
-23
39
13
0
0
0
0
-55
0
0
0
0
0
-2
-31
7
1
0
0
0
29
-45
0
-8
89
0
0
-27
13
0
0
169
0
0
-1
-49
0
0
7
0
0
0
-21
0
0
-8
0
0
-4
-60
0
0
4
0
0
0
18
0
0
-3
3
-49
0
-45
1
0
0
0
0
0
38
2
0
0
0
0
0
-31
0
10
0
0
0
0
16
0
0
-28
0
0
0
-3
0
0
-12
0
0
0
12
0
0
-9
-9
0
0
11
0
5
-5
0
0
0
19
0
0
8
0
0
0
-33
0
-8
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-70
30
11
0
0
-23
0
-2
0
0
0
0
9
48
18
0
17
0
0
-10
17
0
0
0
0
13
27
-1
6
-25
18
0
-19
43
0
-12
83
0
0
-58
-68
0
0
-31
-65
0
-17
4
0
7
23
0
0
60
-38
0
5
-3
-10
0
5
27
0
2
27
0
0
0
-55
0
0
-71
-73
0
0
-41
0
0
0
0
0
0
16
6
0
0
1
0
2
-13
0
34
4
0
0
-10
4
0
0
-6
4
0
0
66
0
29
23
0
0
19
43
0
-6
-22
67
0
2
-10
0
-16
-50
0
0
-5
28
0
4
31
-8
0
0
62
0
34
-15
0
0
0
-58
16
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
33
0
10
0
-23
38
16
0
6
0
0
-17
6
0
2
0
0
2
11
0
8
-4
1
5
4
53
0
-8
15
3
-5
0
0
5
0
-34
48
0
-8
-34
5
-10
-14
1
-5
0
24
0
5
-47
2
-20
0
-51
-1
-4
48
0
27
0
1
8
0
-8
49
4
0
8
2
0
-1
8
7
0
6
-23
0
0
0
0
0
11
0
-12
-6
0
-9
-6
-30
1
-2
116
6
0
0
34
-3
-5
2
-1
3
0
6
0
60
-7
27
1
0
-25
0
-58
34
0
0
0
-2
0
0
2
-51
0
0
1
0
24
-25
0
-31
0
8
15
0
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
3
31
-17
37
-19
-47
-1
-4
3
24
-1
-69
55
-6
2
128
-4
35
17
95
86
-11
49
-43
-24
0
33
16
-8
25
73
23
-49
-55
-19
-13
-10
-28
-5
-50
-9
-18
0
-39
-32
-12
-26
-46
63
-4
-14
-4
-13
2
39
-46
0
38
46
-42
-50
17
71
16
-38
49
16
50
-15
14
3
71
12
30
-111
20
1
5
-10
-41
64
-90
0
33
54
13
9
9
3
-64
-5
4
31
-25
0
-39
-1
-1
19
-42
-16
-14
-13
52
-7
-5
36
26
-11
4
-32
-11
-8
1
-43
-49
-48
-32
-33
0
2
-9
73
-29
73
47
1
-8
12
4
-15
-4
9
9
-22
63
12
-69
131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-65
0
0
0
0
0
-2
-17
0
0
0
0
0
0
24
1
0
0
0
0
0
9
0
0
12
0
0
-4
48
0
0
-5
-1
0
-2
-54
0
0
6
0
0
2
21
0
0
-8
0
0
-1
-6
0
0
0
0
0
0
8
0
0
0
12
-8
0
89
0
0
0
0
0
0
35
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
0
0
0
0
0
32
0
0
1
0
0
0
17
0
0
0
0
0
0
-17
0
0
13
0
0
0
-7
0
0
0
0
0
0
-42
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
82
13
-9
-28
-19
-2
-21
8
-2
24
-3
-75
-27
9
29
37
54
26
34
18
1
28
92
6
39
-6
10
5
1
-23
21
-10
24
28
12
56
-46
-9
52
-13
3
-15
-87
14
4
-6
63
-34
-10
28
-32
16
33
1
33
0
21
-22
6
96
12
-27
25
30
118
-2
11
2
-2
5
-47
84
5
36
17
31
-12
21
42
-45
-52
-13
65
-12
-41
15
19
76
21
-33
-22
0
37
-15
25
66
15
9
38
-5
-51
22
19
-8
-8
-18
-26
40
5
-5
57
-10
-9
-39
15
49
14
5
-22
35
33
-16
18
2
7
3
-19
-68
-64
-80
0
-5
-2
-24
46
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
3
2
-3
28
-26
0
4
44
128
0
-24
0
-2
-16
-6
0
-24
-1
0
-50
-1
3
-1
39
-11
-43
-35
20
0
3
-39
0
24
115
29
8
2
-38
-14
5
-8
15
0
0
62
-52
18
-8
-38
-1
-13
-1
14
-9
7
-34
0
42
0
-16
-1
0
3
-2
-13
0
-81
6
0
-1
39
-35
0
18
0
0
-24
-13
0
-5
-46
0
0
39
1
-13
93
0
-7
8
45
-1
0
-18
84
-10
-58
15
7
-67
-1
-5
-3
69
-24
0
25
9
-54
-14
-31
-47
0
-27
-39
0
-60
0
9
0
-23
1
17
-17
0
-7
0
26
0
0
56
0
-45
12
-4
0
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
14
0
2
13
8
21
0
7
-44
50
0
0
-9
0
-5
39
-2
-3
1
5
19
10
4
-18
14
0
-17
37
13
0
18
11
5
-6
57
7
0
-22
1
37
8
26
4
0
-69
-8
0
13
33
2
0
-5
-8
0
12
-59
9
0
-1
40
-2
-28
2
-5
0
-13
-15
0
41
0
-10
40
24
0
0
-25
2
-12
75
0
25
0
-4
21
-6
-18
27
66
0
0
-13
-8
5
-49
124
-9
-4
32
3
-2
-38
2
19
-1
-37
-12
0
13
20
0
34
-8
9
0
-20
22
0
6
-9
13
-5
7
60
0
-18
2
10
16
31
25
0
-17
0
-46
2
6
3
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-21
12
16
0
-31
0
0
36
3
0
0
0
0
0
-27
0
0
-59
-36
0
21
-34
0
5
-15
0
0
38
-57
0
0
-3
-18
0
77
-33
0
-2
38
0
0
0
-25
0
-2
-69
42
0
-13
27
0
0
5
0
0
-1
-56
0
-1
9
4
0
0
-1
-9
0
0
0
0
0
106
-1
0
0
0
0
0
-46
0
-53
0
0
0
-3
15
0
-1
-24
1
0
8
-3
0
-5
-66
0
0
0
32
0
3
53
-4
0
1
1
0
48
-12
0
0
-6
100
0
0
42
7
0
0
-41
0
108
5
0
0
0
38
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
-2
0
26
0
0
-2
0
0
0
0
0
0
-104
0
3
9
-5
31
-5
0
0
3
22
0
-14
-4
21
0
-9
-7
7
8
1
-12
0
3
-42
0
6
0
-25
0
0
-14
-8
-2
0
-2
0
0
-22
0
-73
0
61
0
-3
-4
-3
1
0
-56
1
0
0
0
7
0
-7
0
0
0
0
0
0
-8
0
1
0
0
0
0
5
0
0
-8
-5
0
0
43
0
6
0
0
0
0
79
0
0
-6
4
0
0
-12
0
4
1
0
0
0
-23
0
0
-3
-2
0
0
18
0
-59
0
0
0
0
-41
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
17
5
-8
61
-10
-22
-6
15
-22
-22
-50
-31
-16
13
-103
-15
7
3
14
10
-4
-41
29
-4
6
-18
-52
-5
-44
-27
-14
25
-31
-1
-4
-21
66
21
-42
-54
-9
-8
-49
-25
9
-14
34
-30
-4
0
14
17
-24
-5
-13
0
10
-32
-39
-5
-11
14
-18
-83
-32
-12
40
6
6
8
-44
7
74
67
6
41
12
24
-51
33
90
-70
-10
-5
20
-20
36
-42
56
22
4
-27
27
-13
69
91
44
-3
9
-1
-4
14
6
-61
4
-5
-18
29
-15
22
-34
0
1
-13
57
36
40
-13
0
-5
30
-57
14
27
-14
12
-27
-8
-16
50
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
-23
0
0
0
1
0
22
0
0
0
0
0
0
84
0
0
2
6
0
10
-39
0
0
-2
0
0
15
25
0
0
7
-32
0
0
11
0
0
10
0
0
0
-67
0
0
12
26
1
0
23
0
0
-3
0
0
0
-25
0
0
0
-4
0
0
50
0
-1
0
0
0
0
5
0
0
0
0
0
0
10
0
-1
0
0
0
0
49
0
0
0
3
0
0
-7
0
8
0
0
0
0
22
0
0
0
0
0
0
23
0
0
-1
0
0
0
41
0
0
14
-1
0
0
-48
0
6
0
0
0
0
-43
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
0
0
0
0
0
7
8
0
0
0
0
0
-4
0
0
-1
0
0
0
92
0
0
3
0
0
1
4
0
0
49
0
0
7
54
0
0
5
0
0
7
-13
0
0
-2
-1
0
0
-75
0
0
7
0
0
0
52
0
0
0
-4
-1
0
-36
0
0
0
0
0
0
-6
1
0
0
0
0
0
6
0
-1
-1
0
0
0
-42
0
0
0
0
0
0
-18
0
2
0
0
0
0
49
0
0
0
0
0
0
31
0
39
0
0
0
0
13
0
0
0
0
0
0
16
0
-1
0
0
0
0
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
63
0
-25
0
0
-26
0
0
0
0
0
-5
-46
-6
0
-4
-2
3
-12
15
0
0
-17
-2
4
25
47
0
-1
42
49
-2
-44
7
0
-4
-5
8
31
0
30
0
0
-4
47
-8
0
26
0
0
9
0
46
0
46
0
-2
0
5
14
0
12
-3
0
0
0
-9
0
13
-2
0
0
0
0
0
71
0
-3
0
0
0
0
-40
0
0
-1
0
15
0
-8
0
-7
0
-6
12
-3
2
0
0
0
-3
8
0
31
0
5
0
0
0
0
-56
0
0
0
14
8
0
-33
0
-14
0
2
-14
0
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-4
8
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
-7
0
0
-8
1
0
0
-32
0
0
19
-25
0
0
4
0
0
0
-8
0
0
-77
0
3
-6
29
0
0
68
-1
0
0
5
0
0
-13
0
0
0
-35
0
0
-2
0
-3
0
-20
0
0
0
0
0
0
71
-29
0
0
0
0
0
34
0
0
0
0
0
0
-21
0
0
-2
0
0
-8
-31
0
0
15
0
0
0
69
0
0
-2
-2
0
0
-3
0
0
-2
0
0
0
12
0
0
2
0
0
0
-109
0
7
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-44
-43
0
-7
0
0
9
-5
0
-7
7
0
93
-11
-3
-1
18
-91
0
-2
5
0
27
-14
3
0
60
20
0
2
-23
102
0
73
0
0
-3
6
-17
0
54
-33
0
14
-70
-47
0
-48
-1
2
59
-18
0
0
4
-3
5
-30
-7
2
0
0
-29
-5
-21
1
0
0
0
-46
16
0
0
0
0
25
84
0
-43
54
0
0
-1
43
0
0
-11
6
0
-24
15
-2
15
-31
0
0
-3
56
0
12
28
-20
0
-8
16
3
54
92
0
0
-16
-27
0
4
-10
-102
0
0
-55
8
4
46
0
0
0
23
-5
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-6
0
0
0
0
0
0
-39
0
0
4
0
0
7
-25
0
0
3
0
0
0
-25
0
0
0
0
0
0
16
0
0
0
0
0
0
18
0
0
0
0
0
0
-13
0
0
0
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-15
22
-50
-39
35
45
3
-9
49
38
-22
-6
12
29
1
55
-5
16
-18
14
-29
-7
1
-23
21
12
-16
19
1
36
10
-3
28
-34
-3
0
24
-26
0
3
-21
11
2
-40
5
-13
-21
-40
-14
-17
-22
-41
-28
-1
-16
15
0
-60
-3
-26
28
35
33
-4
-8
9
-74
-28
-24
11
29
12
5
-6
-27
9
10
0
117
-2
44
40
19
-33
8
-4
61
-11
5
-43
23
-2
17
15
16
-22
54
-38
3
-63
-19
2
-35
-14
-31
-20
44
-38
-6
-14
-1
36
7
-93
-28
-5
39
-17
75
0
48
-21
-20
-120
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-14
0
4
31
0
11
-41
12
-9
-36
-31
-9
-50
8
-3
-3
5
1
-4
-47
-9
0
-5
-9
-5
2
-4
-10
7
9
3
1
-30
6
22
2
39
4
21
-39
-13
0
0
58
-2
0
-23
-2
42
0
58
30
-99
-12
0
13
0
6
10
3
-4
0
-31
-45
-2
-3
-4
1
9
-13
3
39
-41
-3
0
-9
-41
0
-5
10
6
0
3
32
0
-51
-29
23
-20
5
-58
0
73
-78
-65
45
-59
-42
3
33
46
8
-9
-2
36
4
69
-41
15
-17
0
5
-1
5
24
0
66
-3
1
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
5
0
5
0
0
19
10
0
0
-11
8
44
55
-33
0
0
0
0
-35
-25
-5
-1
-2
-43
-49
5
34
-26
20
43
-26
10
-6
35
55
0
-8
38
87
9
-4
-31
3
-1
23
-20
6
-1
55
0
-25
-4
-50
-7
0
-23
1
-1
-7
0
-8
0
89
3
0
2
-12
0
0
-43
0
22
-3
0
4
-19
15
0
-4
21
-7
0
2
-25
0
25
-91
0
-14
5
-20
0
-42
-35
-38
-9
-2
11
0
3
-3
-2
30
-17
-69
2
-4
-13
25
5
-7
-124
0
31
42
-4
-8
0
34
-55
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
3
0
0
0
0
-2
0
8
0
0
0
0
0
0
3
0
0
0
2
0
0
30
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
1
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
-8
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
1
0
-1
-6
-1
3
15
25
0
-18
92
-1
0
-7
-4
0
-45
-29
35
0
-5
45
0
58
-5
-18
0
-7
23
0
-6
-33
-40
0
12
11
0
-31
63
-10
0
0
105
0
24
-6
8
0
7
24
0
-4
0
31
-17
0
0
0
26
0
-5
-3
0
-5
0
0
0
-20
0
-69
-6
0
-10
4
-8
0
0
-8
0
4
-14
-10
-1
-41
-40
0
-13
9
29
0
5
62
-8
2
70
-35
0
-8
18
0
18
24
-49
7
3
18
6
-66
3
15
0
5
6
0
-45
0
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
23
0
0
0
3
13
6
0
11
0
0
-9
24
0
-3
39
0
0
41
47
0
-2
-17
42
0
42
-65
0
0
-4
0
0
4
18
0
0
29
-6
0
0
-6
0
0
5
-1
0
0
91
-2
0
-4
-2
0
0
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-24
-1
0
0
0
62
0
0
-3
1
0
0
7
0
-5
43
0
0
-5
-16
0
1
4
-9
0
4
-49
0
-4
0
0
0
0
20
3
-2
0
0
0
0
56
0
21
0
0
0
0
-45
-59
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-27
0
0
1
0
0
1
33
8
0
-1
0
0
-20
-5
1
0
5
0
0
0
11
0
0
-10
0
0
0
-26
0
0
0
0
0
0
67
0
0
0
0
0
0
-23
0
0
0
0
0
0
41
1
0
0
0
0
0
-7
0
5
0
0
0
0
-10
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-25
0
13
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-81
-50
11
-15
-28
-11
17
13
27
24
-37
-9
4
8
75
22
0
-16
-57
-4
3
70
-15
24
72
-30
9
3
-36
76
4
7
36
1
6
-9
42
-22
40
11
0
-6
11
-17
-4
-17
28
-28
7
-30
-13
19
-26
4
-12
0
35
102
-7
-4
0
-51
6
-58
-112
-43
14
-24
34
0
25
-12
-7
-39
-63
-1
17
40
-19
15
5
-35
-35
-2
58
-54
34
-17
88
-15
-6
38
24
11
2
43
-13
16
13
26
-12
15
30
-41
6
73
5
-59
16
21
33
11
4
43
-33
-44
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
8
-5
38
47
-1
46
-5
-32
-6
98
-1
0
45
16
-4
-3
46
-65
-3
-13
-87
0
0
-14
15
0
-16
35
0
2
15
47
5
-22
-15
8
0
-42
0
29
2
-106
0
22
9
10
4
0
30
8
1
0
0
-1
0
13
0
-5
5
2
0
0
13
0
16
-29
0
-3
-12
56
0
6
39
2
0
-6
1
0
49
122
-4
-5
2
-25
0
-27
7
13
5
8
23
2
-76
25
0
0
2
42
0
0
26
18
6
0
-14
1
-41
0
0
68
0
-6
42
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
-3
0
-1
0
-15
0
0
0
0
0
0
-74
0
0
18
-10
1
-2
-65
0
0
-4
0
0
0
27
0
0
2
0
-3
0
-41
0
0
0
0
0
0
-49
0
0
0
0
-2
0
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
19
0
0
0
0
12
0
0
0
1
0
4
58
0
0
-2
0
0
0
15
0
0
0
-2
0
0
-37
0
0
0
0
0
0
-8
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-4
35
0
6
-46
0
0
-3
22
0
0
22
-5
0
23
9
0
-6
93
0
0
0
-3
0
0
8
51
0
0
67
0
0
1
0
-6
0
53
0
0
0
-8
1
0
52
0
0
0
0
0
0
22
2
0
0
0
0
0
2
0
25
0
0
0
0
46
0
5
2
1
0
0
-8
0
29
12
0
0
0
-10
0
0
13
-5
0
0
29
0
-15
0
-2
0
0
1
0
-1
0
0
-2
0
-39
0
5
5
0
0
0
6
2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
1
0
-14
0
0
-6
0
0
0
75
0
0
18
0
0
23
-1
0
0
-13
4
0
0
39
0
-5
-13
-9
0
3
-108
0
0
1
0
-9
0
93
0
0
0
0
1
0
86
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
13
0
0
0
0
13
0
0
0
0
0
0
24
0
-4
-3
0
0
0
-41
0
0
1
0
0
3
31
0
0
0
0
0
0
46
0
0
0
0
0
0
39
0
4
0
0
0
0
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
-6
0
0
0
-121
0
1
-8
0
0
0
-19
0
0
0
0
0
0
-75
0
3
0
0
0
0
-36
0
0
-2
0
0
0
-1
0
0
1
1
0
0
-52
0
0
0
0
0
0
95
0
0
0
0
0
0
-20
0
0
0
0
0
0
-15
0
0
0
0
0
0
-10
0
0
-9
0
0
0
-8
0
0
3
0
0
0
47
0
-8
0
0
0
0
-69
0
1
0
0
0
0
80
0
-2
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
70
3
-5
10
0
0
56
29
0
0
-23
16
0
-46
11
0
12
-49
-4
-10
2
50
0
3
73
76
-22
-8
-35
0
0
-47
0
39
0
44
1
-10
0
12
12
0
-25
0
-6
0
0
4
0
138
16
0
2
6
0
0
85
0
23
9
-2
0
0
53
0
0
28
-5
5
2
-21
0
6
90
-3
0
-1
31
0
-5
-41
-9
0
0
27
0
13
0
4
0
0
-16
6
9
57
3
0
0
1
0
-42
0
0
-3
0
11
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
-42
-78
35
35
-30
12
4
35
-74
4
-3
34
-18
18
55
-29
14
5
22
-1
-20
28
28
-5
11
25
-18
-7
-5
23
-9
-17
-29
15
-4
66
39
-15
32
29
0
-18
-75
-24
-13
-81
-56
-21
25
57
-13
-41
-18
-3
-41
0
40
-40
-20
-41
8
37
2
2
49
-6
40
42
-21
-17
60
0
61
-112
51
-13
20
17
-3
16
6
-64
32
-11
92
37
47
13
66
-29
-22
-39
-6
9
15
-70
-5
12
8
11
15
24
-36
12
-6
-64
34
47
-6
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-14
61
0
0
7
13
0
25
103
22
0
38
-20
0
1
40
-4
2
0
-4
0
-4
24
-20
10
8
-24
0
0
13
0
0
0
26
0
0
0
0
4
0
13
0
0
0
3
0
0
-17
14
-4
0
7
0
0
-2
8
17
10
0
0
8
14
0
2
7
-1
0
-7
56
0
-42
0
-1
2
6
22
0
4
28
-1
0
4
39
0
-1
24
0
0
0
-84
0
1
14
0
4
0
-16
0
20
0
0
0
0
25
3
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
19
12
3
66
1
0
-15
87
0
0
-5
-17
-2
-31
11
0
0
6
5
3
-23
35
-3
-8
111
-13
-2
-1
6
-3
0
-3
0
75
-1
36
0
0
1
0
30
0
32
0
0
0
0
5
0
-23
-31
0
0
0
0
0
1
4
89
0
0
0
2
60
6
-1
0
-3
4
7
9
12
-17
43
0
-2
0
16
0
0
-35
-33
13
-5
1
0
-24
32
0
0
0
-56
0
2
39
0
0
0
19
0
154
-3
0
-2
0
42
41
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
13
0
-25
63
14
19
-6
57
3
12
9
-13
-17
24
11
-19
94
-1
0
-18
7
15
-6
94
7
50
31
-4
26
-2
-13
-16
-20
0
0
21
-2
-23
-59
7
30
0
-1
3
-19
0
-1
-9
0
4
83
-1
0
0
-6
10
9
-4
24
-4
0
0
-13
43
0
-49
-37
-37
0
-13
28
0
31
-49
81
17
60
13
0
16
-6
39
27
31
31
6
12
78
4
11
-7
24
9
-5
-3
-32
-30
32
18
0
41
-41
2
31
0
-19
50
-6
14
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
37
0
8
-6
0
20
-21
-51
-3
14
24
0
-31
80
-41
0
4
-3
2
-79
16
6
0
-12
-19
3
33
38
23
-1
13
73
0
75
-1
-45
0
0
21
0
-9
0
38
-9
0
0
-2
2
0
-29
-42
0
0
0
0
0
47
0
75
2
0
6
2
40
0
0
-9
0
0
-9
-7
1
74
21
2
-3
55
-14
0
49
4
5
1
-6
-13
0
40
-22
0
9
1
45
0
-3
-22
-7
0
0
-15
0
73
3
0
44
3
27
30
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-18
0
-1
15
0
0
0
23
3
-1
51
-11
0
-8
14
0
-4
37
-3
0
12
-57
0
0
43
13
0
3
16
0
2
92
0
0
0
19
0
0
-8
14
-1
0
28
-6
-2
0
0
0
0
-34
0
0
0
0
0
0
22
0
41
33
0
0
0
-9
0
0
5
-1
0
13
27
0
5
9
0
0
0
32
0
13
-27
18
0
0
31
0
-37
-1
-3
0
0
44
0
-6
-9
4
0
0
54
0
7
1
8
0
0
44
7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
-3
15
20
-5
-3
-71
5
1
-25
-23
1
3
3
11
0
67
-25
53
-33
76
25
0
61
20
-4
-46
-1
8
5
-15
-48
8
-6
0
21
31
0
0
4
13
0
13
-62
0
7
2
0
-20
10
-2
-7
-28
0
-5
2
63
-2
-1
35
-13
-2
-25
-25
16
26
-20
15
2
10
2
0
14
-24
-49
-5
-21
0
0
20
75
-2
-3
-7
75
-15
-1
22
-41
7
0
83
0
55
-30
0
80
0
-4
-4
4
-17
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
-79
-37
0
-11
-48
52
7
-1
-19
9
-44
-2
13
9
23
1
20
-8
0
-14
9
14
55
28
22
-21
6
4
38
40
18
18
-11
31
11
-20
-13
-51
-41
4
-49
13
-5
19
30
56
-15
-5
22
-6
-30
-43
5
27
18
0
40
-74
2
-26
-43
4
-16
-8
22
4
23
49
-16
13
20
54
13
0
-22
51
5
36
8
2
-44
27
14
-3
-45
30
-10
-17
-1
-84
-8
17
-9
-8
-2
-14
-102
20
33
-17
12
11
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
12
0
0
0
-43
0
0
44
0
0
0
91
0
0
-20
-7
0
0
-13
0
0
0
0
0
0
44
0
0
0
0
-8
0
22
0
0
0
0
1
0
13
0
-7
0
0
0
0
1
0
8
-3
0
0
0
6
0
0
8
0
0
0
33
0
0
0
0
0
0
84
0
0
-12
0
0
0
90
0
-8
0
0
0
0
17
0
0
3
0
0
0
-25
0
-20
0
0
0
0
56
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
23
0
0
23
-22
-9
-2
4
0
0
-57
-12
-5
-1
-61
0
0
-9
5
-4
0
54
0
0
-5
0
12
0
41
0
0
0
-2
14
0
21
-2
-1
0
0
0
0
13
1
0
0
2
0
-1
75
0
-28
50
0
15
0
-15
0
0
17
0
-3
10
11
0
0
14
0
0
0
41
0
0
8
-9
0
0
-77
0
-8
32
-1
3
8
10
0
-9
29
5
0
0
12
0
42
0
0
-3
0
13
18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
31
24
28
29
63
40
2
25
25
29
0
83
35
10
24
-25
-22
-20
-19
-16
33
3
-4
13
-33
61
-28
8
-16
1
-26
9
50
-5
-1
18
-8
7
12
-20
39
-2
21
44
3
6
-21
0
-14
10
-8
79
4
0
8
31
35
-2
-42
-46
19
0
83
-1
8
40
-71
25
0
-54
-4
0
-11
12
131
-15
56
25
2
20
24
-22
-16
-23
-3
-16
16
5
-51
49
4
-5
-1
51
17
-3
34
0
-3
7
41
-1
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-2
0
0
-51
-8
0
-5
53
0
-1
-45
0
0
0
-52
0
0
24
0
0
0
70
0
0
0
0
13
0
65
0
0
0
0
39
0
73
0
0
0
0
0
0
9
14
0
0
0
0
0
-33
0
13
0
0
0
5
84
0
0
13
0
0
-3
-29
0
0
6
0
0
0
40
0
0
93
0
0
0
3
0
-4
-5
0
0
0
31
16
0
2
0
0
0
-81
0
30
2
0
-12
0
20
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-3
27
-24
0
-3
6
0
0
34
-2
0
0
-25
0
1
41
3
0
40
-27
0
19
15
0
0
-12
5
0
-12
20
48
0
0
1
5
0
0
0
0
0
27
22
0
0
0
0
0
-19
0
41
-8
0
0
0
-7
0
0
21
-16
0
0
48
0
15
-4
2
0
0
5
0
9
35
8
0
0
-52
0
34
52
-4
0
0
15
0
-4
-8
13
0
0
39
0
-60
0
0
0
0
23
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-13
1
4
-28
-49
-14
4
-31
8
22
28
69
7
-2
31
2
7
-10
0
21
21
-5
36
22
26
0
2
17
23
-1
-17
-49
0
-20
19
0
32
-1
0
9
27
17
-32
11
13
-8
-8
13
0
-39
36
39
-8
13
0
-8
-54
72
-6
6
3
25
0
-58
-40
-67
-8
15
62
-1
89
-57
-1
-29
-9
32
1
14
86
-23
-48
0
24
6
61
82
0
-12
0
-6
87
-7
1
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-1
67
22
24
20
3
76
7
86
5
29
-11
35
17
13
58
-2
50
-9
-12
-2
-4
-66
25
33
29
5
9
7
-33
1
25
37
-21
35
16
-1
-12
36
-26
9
-107
-5
20
-1
43
58
-52
44
25
18
31
-43
16
74
17
0
-42
-54
32
53
-75
-10
-7
-41
-5
-11
14
16
-29
-5
-12
-1
-12
-66
-7
-21
27
-49
4
1
5
17
61
7
84
-17
17
-52
37
-17
3
-13
46
-25
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-6
0
0
0
31
0
8
66
-7
0
0
-70
0
0
4
0
0
0
57
0
0
0
4
0
0
-50
0
0
0
0
0
0
42
-9
0
0
0
0
0
3
0
-24
0
0
0
0
-67
0
2
0
0
0
0
-31
0
9
0
0
0
0
-26
0
0
1
2
0
0
74
0
34
0
0
0
0
44
0
0
-5
0
0
0
80
0
-5
0
0
0
0
-7
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
42
0
7
32
-7
8
-1
37
-4
0
-33
-18
0
-4
-54
0
0
14
0
-8
8
-13
0
-2
-3
-3
67
0
-27
-2
0
0
0
0
0
-79
18
0
-6
0
0
0
-43
5
14
-12
0
0
2
10
3
0
-1
-20
-8
0
-31
0
-15
-10
4
5
0
5
0
0
-35
-13
0
-7
45
-1
5
-9
0
9
0
25
0
-1
5
0
0
0
-12
0
24
1
0
-1
0
22
5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-10
3
36
-19
-2
4
-2
0
13
23
22
21
-15
26
19
-3
12
30
50
-37
-19
-4
5
-57
-2
-9
11
-1
22
-13
-6
-8
-7
138
-5
8
43
9
42
24
0
66
-9
24
69
47
29
49
9
-13
37
13
44
-41
5
-77
35
-18
30
20
-20
8
48
7
0
24
3
71
6
-63
11
-25
23
45
-24
73
59
-1
29
-28
-8
-4
-15
-37
11
-4
3
-22
14
111
-1
25
0
14
-24
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-30
0
37
21
2
-32
74
-26
0
15
20
-17
-32
-44
-33
0
49
-3
0
0
34
0
0
4
74
8
9
0
7
24
1
-3
0
-59
0
24
27
0
2
0
4
20
15
1
66
56
3
-8
6
0
4
5
5
12
4
65
33
12
77
3
5
-4
-25
-11
0
17
62
1
26
35
-11
-9
49
2
1
1
15
11
-2
26
64
19
13
0
-28
0
30
28
0
-27
0
-11
-91
13
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
14
0
-2
105
0
0
0
-22
0
0
35
-27
0
-1
-48
0
1
1
0
0
0
77
0
0
5
2
0
0
-1
25
0
0
0
0
0
15
-5
0
0
0
0
-6
-22
0
29
3
0
0
-2
4
0
0
-6
8
0
9
73
0
32
-31
0
0
0
116
0
-2
-15
1
0
7
27
0
-3
-8
0
0
0
-13
0
0
-19
-6
0
0
18
0
8
0
0
0
0
-15
14
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
-7
32
37
-47
-70
-6
-20
-1
25
41
-13
-21
0
22
-4
5
1
26
5
0
11
-18
0
-2
0
70
3
-27
-62
-4
-3
-25
0
4
-31
0
0
13
0
0
-13
-13
-8
25
12
104
-3
3
2
1
-55
28
0
-8
0
37
8
-24
30
17
-3
0
-14
1
-74
9
-1
20
2
13
5
-13
-6
44
-7
0
20
0
-14
-6
0
-11
0
-10
24
0
-2
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-2
-44
-39
-1
1
-8
19
10
9
3
42
-5
-12
12
-5
15
-13
9
0
-25
-13
7
-3
-58
-26
-70
-3
16
18
28
6
-35
-31
-13
17
-11
63
28
45
-63
18
-15
11
32
14
28
-4
28
28
-3
1
-3
13
69
55
-56
0
-1
64
75
57
42
3
1
1
-80
13
-15
2
57
13
-24
-17
11
-11
-5
90
-3
-41
-1
14
20
-7
-6
1
22
-76
-7
23
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
8
-3
0
0
71
0
0
0
0
0
0
7
0
0
0
0
21
0
-30
0
0
0
0
0
0
69
0
0
0
1
0
0
-5
0
-1
0
0
0
0
-18
0
-1
6
0
0
0
-9
0
14
-24
0
0
0
-1
0
0
0
-7
0
0
38
0
-2
0
0
0
0
-1
0
-12
8
2
0
0
93
0
25
-1
0
0
0
27
57
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
13
73
0
2
45
0
0
33
0
-14
0
13
0
10
14
59
44
0
15
0
0
0
0
0
0
-35
0
0
0
0
0
4
5
-6
6
-18
0
0
-2
4
0
0
43
0
0
14
82
1
27
6
-4
-6
21
-16
0
0
8
-12
0
19
71
0
52
-13
10
-12
0
16
-4
0
9
8
-3
0
-31
0
18
2
0
29
0
61
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-43
-15
6
-3
-27
7
-23
40
-81
-59
24
92
13
66
-17
73
3
24
15
9
30
29
0
-3
-1
-7
0
92
17
40
-84
-20
131
-31
25
25
55
-3
6
-27
-5
-6
55
28
-18
12
49
13
-3
23
-2
-18
17
17
0
70
10
77
11
-3
-34
2
-5
-9
20
0
-7
-31
43
-15
-10
-20
48
14
12
4
-5
-13
-22
-53
55
-10
30
-76
18
42
81
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
23
0
0
-4
-2
0
9
-6
0
-8
-4
0
-5
0
-91
0
-3
31
0
74
0
40
-5
0
0
0
0
0
-54
4
0
0
0
0
0
15
0
1
-4
0
0
-8
-12
0
1
6
-3
8
-6
-27
0
-49
-44
0
0
0
15
0
6
-7
10
5
0
-37
0
-27
31
0
0
2
-24
0
0
-13
0
0
0
17
0
-37
-4
0
-8
0
95
-6
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
23
0
-12
19
0
-6
-71
0
0
-57
0
0
22
42
0
-1
-6
10
0
0
-4
0
0
0
0
0
0
-16
27
0
-6
0
0
4
34
0
12
-3
0
0
0
26
0
34
31
44
0
1
60
0
47
12
-3
0
-4
47
0
14
131
-17
0
34
-4
0
-39
-10
2
0
4
-12
0
24
22
-8
0
0
-8
2
-66
-3
0
0
0
6
22
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
15
-102
0
2
0
-8
-1
-3
43
31
27
3
10
0
0
0
-9
6
0
-10
4
0
0
10
0
0
-13
-3
3
-12
1
0
15
-5
0
56
2
17
0
0
-40
0
-5
61
3
2
0
33
0
5
36
40
0
0
1
0
-20
34
-2
0
0
35
0
5
42
-10
-1
0
-10
0
-13
-2
0
-13
4
-68
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
1
43
44
10
39
43
37
10
31
5
8
-2
-28
-8
1
44
-29
-12
-99
-32
42
6
36
5
-10
11
-6
78
14
-59
-20
-27
66
-10
-42
-3
95
37
-3
17
-20
-54
-21
64
-5
-17
2
23
-2
31
34
54
-4
2
-18
5
0
-49
14
-11
-9
-21
9
-9
-23
0
38
40
-2
-23
5
6
-24
22
15
-33
-8
22
14
-16
-24
-22
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
12
0
0
0
3
0
-1
0
-7
0
0
69
0
0
0
0
1
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
-21
0
0
0
0
0
0
-54
0
0
1
0
0
0
88
0
0
0
0
0
0
49
0
-24
0
0
0
0
-26
0
0
0
0
0
0
5
0
5
0
0
0
0
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-27
0
15
50
0
0
0
25
0
10
-2
-9
67
0
-28
0
0
0
0
-2
1
-7
-9
0
0
0
0
-2
17
0
-1
19
0
3
0
70
1
0
84
-7
3
-5
-4
0
10
-5
0
0
-6
-52
0
2
32
-33
-5
-6
-67
0
-30
8
0
3
25
-75
0
0
-24
8
0
0
-49
0
113
-8
0
9
0
21
15
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-4
-7
-20
-12
-16
-17
17
-31
-96
-8
23
20
0
3
-95
9
-1
70
32
-4
1
0
-2
3
75
-7
-86
9
8
85
19
-3
-13
-42
20
2
75
6
-30
8
13
8
-1
5
-40
-2
-12
59
-7
0
-13
71
39
45
-15
-18
-3
-13
50
33
17
-10
-9
2
-26
-5
5
19
-12
-8
8
40
8
5
56
0
-36
-30
-12
-6
-4
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
3
0
3
34
3
27
25
1
25
79
2
-5
29
0
-7
34
-17
0
0
-20
0
19
89
-1
10
0
-3
4
8
-8
35
-61
0
19
17
10
0
13
61
-5
-8
58
-21
-9
48
62
8
5
-21
0
4
12
-6
-1
-32
7
7
0
28
5
0
8
-9
-24
-2
-10
-11
0
67
0
-17
0
28
-12
0
8
0
-9
7
15
15
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-23
0
-1
-79
1
0
-3
17
0
3
56
-32
0
0
-35
8
0
0
2
0
0
17
-13
0
0
0
0
0
12
3
56
4
0
0
10
42
0
10
8
10
0
-5
-58
0
94
44
0
0
-1
33
0
-5
58
-9
0
1
-10
0
9
0
0
0
-6
45
0
42
0
-8
0
0
43
0
-23
-2
-2
0
0
-3
64
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-1
1
23
-14
0
-24
-3
0
0
0
10
0
61
0
0
0
-1
0
0
0
0
-3
5
0
0
-6
-39
0
0
-39
-20
0
-6
39
0
6
3
1
5
0
39
0
0
-40
43
-1
0
-8
0
7
-21
0
0
-3
-35
0
-28
-18
-20
0
0
-52
0
-97
-8
0
7
0
-16
8
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
7
56
9
16
27
-16
-9
9
43
56
-10
-138
33
-16
19
16
22
59
-20
52
79
-2
-53
32
40
14
49
21
3
-116
32
22
-11
-26
42
24
-22
-1
7
1
47
74
12
33
-5
12
-14
-62
-29
-9
50
-59
-11
44
5
24
0
-14
10
62
-1
100
-33
-6
-14
-4
50
-5
25
-9
21
-29
57
-1
45
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
18
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
3
0
0
0
0
-3
0
0
-5
0
0
0
3
0
0
0
0
0
0
-2
0
0
5
0
0
0
5
0
0
3
0
0
0
-4
0
5
0
0
0
0
20
0
-1
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
1
0
-15
0
55
0
0
0
0
0
0
-60
0
0
0
-1
0
0
12
-2
-4
0
-4
0
0
7
0
0
6
-12
2
0
32
0
-17
1
0
0
0
-31
3
0
-3
31
0
0
50
0
15
0
0
0
0
42
0
0
-8
-1
0
0
17
0
94
-3
0
5
0
48
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-54
0
7
0
-18
13
0
-24
-14
0
0
-2
0
0
-14
-84
0
15
12
0
2
-39
1
90
-12
0
-3
-23
-31
0
-3
2
4
0
-2
14
8
-32
35
1
-5
0
3
5
-19
-46
-86
-20
8
-29
-2
-43
-21
3
8
0
-17
0
-8
-6
32
-15
0
-4
0
-98
-1
3
-27
0
6
40
-2
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
5
-8
0
-31
0
0
0
0
0
0
34
0
0
0
0
0
0
-25
0
8
-3
0
0
0
15
0
-3
0
0
0
0
-50
0
-8
3
0
0
0
26
0
0
-1
0
0
0
-17
0
-3
10
0
0
0
15
0
0
7
0
0
0
28
0
-4
-9
0
6
0
-67
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-38
0
0
-8
-52
0
0
1
105
2
0
-19
0
0
53
60
0
-12
0
0
3
13
1
30
-34
1
0
1
41
0
0
97
55
0
-44
12
-6
13
75
0
0
19
33
0
77
87
62
0
-8
25
-3
-16
-27
0
0
26
9
-3
0
63
-34
0
3
-2
0
-64
0
-7
0
0
0
6
-5
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
8
0
0
0
0
0
-28
8
0
0
0
0
0
44
0
2
0
0
0
0
21
0
0
1
0
0
0
26
0
-1
-6
0
0
0
-29
0
0
3
-19
0
0
-48
0
1
0
-2
0
-6
21
-1
0
-6
6
0
0
-61
0
-2
0
0
0
0
-36
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-34
-52
-68
14
-25
-22
-7
12
-22
-27
28
1
-7
17
6
0
43
-26
3
-23
-22
10
20
-2
-9
-45
29
-19
8
-13
2
12
18
-59
53
-7
-26
8
22
22
-13
-13
-12
15
-32
-8
-12
-36
-14
15
-45
5
-58
8
-31
-122
0
-50
-1
-16
-6
64
0
11
-48
22
35
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-49
0
0
-4
0
0
7
24
0
0
5
0
0
0
2
0
0
2
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
60
5
0
0
0
7
0
38
-3
0
0
2
0
0
29
0
4
22
0
0
-1
-87
0
0
54
8
0
0
24
0
-6
-10
0
0
0
-22
0
3
-5
4
0
2
22
0
3
17
0
-6
-5
-9
0
-1
0
52
0
-5
-32
0
-13
0
0
-7
0
93
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
1
-1
3
53
-8
0
0
-6
0
0
79
8
-55
-6
0
0
2
33
0
0
7
13
0
23
2
0
-5
-55
0
0
-7
-113
0
-8
6
24
-5
22
68
0
-87
-3
0
-1
-5
-24
5
8
0
-1
0
3
-47
0
11
0
0
0
0
-57
58
-23
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
26
-8
0
0
-5
0
-4
29
-5
2
-4
-3
-1
-26
0
57
-55
16
-3
5
10
0
0
-15
0
-6
48
-34
-1
49
-84
0
0
-6
-10
0
96
24
-14
0
-30
-18
-2
-4
18
0
57
-8
4
4
-1
28
0
1
0
-18
0
41
5
0
-19
0
-65
12
-13
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
13
12
1
0
0
0
13
39
0
0
0
0
23
13
-2
27
46
-3
0
134
1
0
-9
-38
11
0
72
26
10
-19
22
8
0
73
25
0
12
38
7
0
-5
4
0
24
9
9
0
49
49
-4
-10
119
-42
0
8
-14
8
-40
61
1
0
0
28
-14
17
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
6
0
0
0
-3
0
0
0
0
0
0
-32
0
-5
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
12
98
27
62
-34
-18
0
-24
4
5
22
61
-15
9
19
-75
61
16
-15
-22
9
49
31
30
-8
17
9
2
-43
23
14
21
68
-41
-3
18
13
-1
22
14
22
-9
51
11
-30
5
15
0
1
4
-19
10
25
11
-1
0
-32
-19
-9
-37
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
49
0
-14
-1
1
0
0
-75
0
0
3
1
0
0
-22
0
0
25
3
0
0
-15
0
-15
-1
-27
0
-4
-48
0
59
-10
0
0
-1
-19
0
1
-3
-10
-3
0
-10
0
-48
-4
0
2
0
-8
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-2
0
-2
6
0
9
0
80
0
0
0
0
0
-2
60
0
0
-30
0
0
0
-41
0
-3
-1
0
0
0
44
0
74
2
0
5
0
87
0
0
2
0
0
0
-24
0
-19
0
0
9
0
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
-6
10
0
0
0
0
0
0
-19
0
0
0
0
0
0
-6
0
0
-5
3
0
0
-41
0
-10
0
0
0
0
2
0
0
0
0
0
0
-53
0
18
0
0
0
0
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
6
15
0
5
-5
0
0
0
-50
0
0
-4
-5
0
0
14
0
-4
0
0
0
0
-28
0
0
-12
0
0
0
-80
0
-5
-19
0
0
0
-57
0
5
-1
0
0
3
95
0
-5
8
0
0
0
59
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
9
0
0
1
0
2
3
0
0
0
-24
0
0
-9
0
0
8
-52
0
5
7
0
0
0
32
0
-6
-6
0
0
0
19
0
-107
0
-5
0
0
76
0
-1
-5
56
0
0
45
0
86
-3
0
0
0
-28
-65
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
-2
13
0
0
0
-12
0
0
0
-5
0
0
-8
0
0
0
0
0
0
16
0
0
0
0
0
0
-30
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-20
-8
-11
-55
32
39
11
-30
17
41
-31
-23
54
4
-28
13
37
-10
27
36
25
-12
-16
-44
6
21
-10
-29
-9
-3
39
-10
-38
-2
-4
4
-42
-92
19
29
-45
3
-7
3
-19
-58
0
-8
-1
-10
-16
3
-56
29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-27
4
0
0
2
-42
0
47
35
30
0
10
108
-1
41
-41
-25
1
29
-16
0
2
-28
23
4
2
16
0
51
19
-1
-4
0
23
3
0
-24
-1
0
0
40
0
31
0
8
-8
0
23
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
-1
0
0
0
0
-16
0
3
2
0
0
1
-18
4
0
2
0
0
0
-23
0
-2
-1
0
0
0
33
0
0
3
5
0
0
-29
0
0
0
0
0
0
29
0
-10
0
0
0
0
-9
6
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
38
0
0
0
0
0
0
50
0
-12
0
0
0
0
-16
0
-1
-2
0
0
0
-59
0
25
0
2
0
0
-29
0
0
0
0
0
0
63
0
-3
0
0
0
0
43
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
49
-13
0
0
0
-59
0
0
-25
0
0
0
-61
0
6
25
0
0
0
64
0
0
2
0
0
0
-58
0
32
0
0
0
0
93
0
0
7
0
-13
0
20
0
37
-3
0
0
0
45
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
5
0
0
0
-2
0
0
0
0
0
0
-2
0
5
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
0
0
5
0
0
2
3
0
5
-19
0
0
-24
85
0
0
-42
0
0
0
-9
0
6
-16
0
0
0
-6
0
3
-1
0
0
0
-4
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
24
-1
1
46
-19
2
31
12
-18
5
-41
-13
74
-20
-20
-23
27
-49
-18
-103
1
-2
-3
-27
35
-7
-72
-49
-36
-2
103
93
20
5
-8
19
-3
77
-22
-21
-40
0
13
20
-5
-21
15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-59
0
2
6
0
0
0
46
0
16
0
0
0
0
-45
0
0
-5
0
0
0
2
0
-14
0
0
0
0
115
0
0
-12
0
3
0
-19
0
2
0
0
0
0
30
-6
-6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-84
1
-35
17
-26
15
-7
55
46
-25
41
-3
0
-22
43
0
64
46
59
5
-4
30
0
-102
24
2
9
-29
27
1
7
25
4
13
0
-47
0
60
0
0
72
0
45
2
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
43
0
0
-9
43
0
0
92
0
-28
-41
-12
0
6
74
0
-3
14
2
0
18
3
0
94
18
0
0
0
12
0
-3
2
-5
22
0
73
0
26
-7
0
-14
0
34
23
13
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
0
0
0
13
0
2
8
0
0
0
15
0
0
0
0
0
0
-33
0
2
0
0
0
0
33
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
10
0
-32
-4
0
0
0
20
0
0
5
0
0
0
13
0
-5
0
0
0
0
-26
0
0
20
0
0
0
-15
0
5
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
12
-15
0
0
0
25
0
13
88
9
0
0
-47
0
5
39
-8
0
0
-19
0
0
17
-8
0
0
24
0
112
17
0
0
0
44
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
-57
59
60
46
-73
-40
15
8
-15
30
24
-30
28
3
0
8
-12
0
-50
-9
-15
-41
67
9
-9
-26
9
-12
2
-21
28
-13
20
-2
15
-46
106
-29
-70
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
1
-9
0
0
0
-20
0
0
1
12
0
0
-15
0
-5
0
0
0
0
3
0
0
-6
0
0
0
-31
0
-5
0
0
0
0
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
52
0
0
3
-5
0
0
54
0
0
7
-8
-1
-3
2
0
-6
0
5
0
0
3
4
0
-2
0
0
0
-18
0
-7
0
0
0
0
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-24
3
-16
40
24
3
-10
-61
0
4
-5
41
9
3
60
0
-62
26
0
0
-14
29
0
-2
-6
3
17
0
43
0
78
9
7
-17
0
-11
-24
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
51
2
-61
75
0
0
0
-29
0
1
-81
-25
23
8
29
0
-31
16
0
7
10
87
0
-16
10
7
-20
0
-36
0
-22
-8
0
7
0
82
-1
-9
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
15
-25
0
0
0
3
0
0
0
-2
0
0
38
0
-5
-5
0
0
0
-44
0
0
0
0
0
0
-3
0
0
0
0
0
0
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
-14
-27
3
0
0
66
0
-2
25
-3
9
1
88
4
-3
-13
3
0
0
15
0
34
6
0
0
0
57
-15
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-4
-24
15
73
-4
-31
52
7
-19
1
19
15
-49
28
-4
114
-3
-3
11
-20
49
3
-5
-7
19
-13
-38
-15
2
18
-11
26
3
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-3
0
0
-24
0
0
5
6
0
0
-49
0
0
-5
0
0
0
49
0
-7
0
0
0
0
0
-9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
48
7
-3
0
-76
0
134
80
4
0
-43
-42
0
0
-28
8
-25
0
19
0
-33
-1
22
-48
0
14
27
41
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
54
0
-1
7
32
-6
42
-18
0
33
109
-8
6
-25
-9
0
-22
120
-30
-7
-3
-5
0
17
12
0
-12
0
0
-103
28
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
40
0
0
0
81
0
0
0
0
0
0
62
0
0
0
0
0
0
9
0
-4
-2
0
0
0
17
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-30
0
6
27
-10
0
-1
36
0
4
-6
0
0
0
39
0
0
0
0
0
0
-84
0
10
0
0
0
0
86
3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
28
5
-7
-3
0
7
0
2
-3
5
0
0
51
0
102
16
0
14
0
38
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
8
15
-25
-10
80
-147
-28
6
20
-58
39
-13
16
25
-3
10
5
62
-2
-31
5
-16
-22
-5
5
71
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
9
3
0
0
0
-43
0
0
7
0
0
0
-44
0
-2
0
0
0
0
10
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
-1
57
7
0
0
-2
-40
1
0
-9
-17
-4
0
53
0
30
0
0
53
-4
-3
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-32
0
37
54
17
33
30
-39
0
21
-23
-17
13
0
-5
0
41
1
-1
-78
0
-9
23
-42
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-17
6
31
-45
0
-9
-8
-4
1
31
56
1
0
1
7
2
61
7
0
0
0
-84
-8
5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
-76
3
0
0
-1
-23
0
0
14
0
0
0
-3
0
6
-6
2
0
0
12
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
25
-5
42
0
0
51
0
105
13
0
-7
-3
-24
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-44
-8
55
-25
61
101
-106
8
43
-28
40
-2
53
-14
24
-4
-24
7
-8
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
0
37
0
-2
0
0
4
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-9
0
7
-23
2
-28
-1
-26
-1
44
-19
7
-3
0
4
-9
13
-1
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
0
49
-57
140
-9
0
-23
0
-5
0
0
29
-4
-19
22
1
1
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-51
0
0
-9
0
0
0
-7
0
7
1
0
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-29
0
0
0
0
52
0
54
0
5
0
0
23
-8
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
0
0
0
0
21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
5
50
1
10
48
-33
-2
-35
-87
34
-38
-24
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
0
7
0
1
13
0
31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
30
0
66
0
0
53
0
-46
49
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-18
0
30
-24
0
6
0
-44
-42
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-30
8
4
0
0
-111
2
-14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-24
19
116
16
-81
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
33
8
-35
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-7
35
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-25
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-9
-4
0
0
5
8
0
0
-3
0
0
-5
2
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
-1
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-31
0
0
-19
0
0
0
-2
0
0
55
0
0
0
-1
0
0
6
0
0
0
0
0
1
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
-1
0
34
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-23
0
0
0
0
0
0
4
0
-3
-9
0
0
-12
-20
0
0
-1
0
0
-3
-13
0
0
8
0
0
0
-42
0
0
-4
0
0
0
0
0
-2
-3
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
0
0
0
8
0
-5
47
0
0
-2
0
0
0
16
0
0
-3
0
0
0
6
0
0
7
0
0
0
-8
0
-1
-19
0
0
0
-55
0
0
6
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
0
0
0
0
0
0
0
-1
0
0
0
-18
0
-2
2
0
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
0
-12
0
0
0
0
0
0
-4
0
1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-31
-24
5
2
16
-23
15
11
29
-68
56
-4
6
-7
0
0
0
0
0
0
0
1
39
37
-27
28
-8
-39
-1
19
-35
-65
-21
-14
40
-4
42
-12
13
-10
-15
-11
-70
31
57
0
-18
64
-1
-13
-102
-1
5
-41
-15
0
-7
9
2
6
16
3
-18
-17
-22
-9
-87
2
2
14
9
-36
44
-24
-11
17
42
-10
24
20
-24
2
3
17
2
1
1
-6
-10
-28
-3
2
-29
45
-49
-2
14
5
-17
50
-80
43
11
3
-3
30
20
11
-30
-17
-12
2
-28
-65
-2
-66
-25
-22
17
-50
1
-3
-8
38
10
8
22
1
135
-66
-6
-15
-15
8
14
-60
3
-1
5
-12
4
1
-42
1
9
11
-67
-10
-3
-29
14
1
-1
-19
4
3
-72
-60
4
-121
-33
3
-3
-43
13
-5
7
-11
34
-5
-41
23
8
33
-4
16
-1
4
32
-43
-9
8
-93
-2
17
-84
10
2
-16
-21
0
-65
-33
3
18
-22
7
3
93
69
-10
-58
6
23
2
27
37
9
10
-19
-1
5
-34
-30
2
2
-4
12
-2
-31
1
-7
-2
-26
7
2
74
-3
-30
-16
25
-15
-2
25
-12
16
7
9
-5
0
-46
-37
48
66
9
15
8
-28
-84
-50
32
-27
46
6
-58
-23
-34
-45
24
2
-10
-37
-55
-12
-41
-59
29
7
2
-35
-7
84
-31
23
-6
6
11
5
-6
-38
31
7
89
-8
0
-40
11
-33
8
36
-51
12
6
5
13
0
-2
-4
13
-36
0
106
-7
38
-54
18
-40
48
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
18
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
58
0
0
0
0
0
0
-13
0
0
0
-1
5
0
41
-1
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
16
0
53
3
-2
0
0
0
6
71
0
0
0
0
0
4
0
0
1
0
0
0
6
10
0
0
-4
0
0
-2
41
0
0
1
0
0
0
30
0
0
-5
0
0
0
-6
0
-27
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
28
0
0
0
0
0
0
-7
0
0
0
1
-5
0
2
0
0
0
0
0
1
-66
0
0
3
-4
0
1
27
0
0
6
0
0
0
-7
0
0
0
0
0
0
46
0
0
0
0
7
0
8
0
0
-2
0
-7
0
-31
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-49
0
0
0
0
0
0
87
0
3
0
0
6
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
-6
0
0
-30
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
3
75
0
0
0
0
0
0
-31
0
0
0
0
0
0
36
0
0
0
0
0
0
4
0
13
0
0
0
0
-8
0
0
0
0
0
0
33
0
0
0
0
0
0
76
0
0
0
0
0
0
-4
0
0
0
0
0
2
57
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
-8
0
0
0
13
0
0
-1
0
0
0
20
0
0
0
0
0
0
24
0
0
0
0
12
0
-73
0
0
0
0
0
0
35
0
0
0
0
0
0
19
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
1
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
19
0
0
0
0
0
101
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
37
0
0
0
0
0
0
46
0
0
0
14
0
0
38
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
-13
0
0
0
0
0
-2
-2
0
8
7
0
0
-2
-10
0
0
2
0
0
-2
-7
0
0
0
6
0
0
13
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-13
0
0
0
0
0
0
62
0
0
0
0
0
0
59
0
0
3
0
0
0
70
0
0
0
0
0
0
61
0
0
-5
0
0
0
-12
0
0
-4
-2
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-10
0
0
0
0
0
0
51
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
103
13
0
0
14
0
0
32
0
0
0
0
0
0
8
-9
0
0
0
-3
0
0
0
0
15
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
24
0
0
-23
-8
0
0
10
0
0
30
25
0
0
-8
-5
-9
-13
5
0
0
0
0
-12
4
0
0
0
-14
0
-24
13
0
0
0
-3
0
1
0
7
0
0
-1
0
-16
0
0
0
0
0
0
7
0
45
-2
-1
0
0
0
0
-2
0
0
1
0
0
0
116
0
16
-4
5
0
5
29
0
0
29
0
0
-2
30
0
0
42
0
0
1
20
0
0
-3
0
0
0
7
0
25
3
-3
0
0
-14
0
0
0
0
-1
0
-1
0
0
0
0
0
0
39
0
-1
0
0
0
0
-66
0
0
-8
0
0
0
68
0
0
0
0
0
-1
3
0
-1
-10
-4
0
0
-48
0
0
-2
5
-1
8
-102
0
9
-24
0
0
0
-76
0
0
0
0
8
0
-2
0
0
0
0
-3
0
5
-1
0
0
0
0
0
15
2
0
0
0
0
0
-4
0
3
0
0
0
0
5
0
0
0
0
0
0
-3
0
8
3
0
0
0
29
0
2
0
-8
0
0
15
0
3
3
3
0
0
-5
0
0
0
9
0
9
-80
0
17
0
0
-6
0
-13
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-5
-6
0
0
0
0
0
0
0
0
44
0
0
0
4
0
0
15
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
39
0
0
-2
0
0
11
0
0
0
0
0
1
1
0
-1
0
0
-8
0
0
0
-64
-2
0
-62
0
0
0
66
0
0
52
0
0
0
31
0
0
47
0
0
0
-2
0
5
-7
0
0
0
-92
-9
1
-5
0
0
0
16
0
-1
0
0
0
0
0
0
54
0
0
0
0
0
0
-3
0
-10
0
-5
0
0
0
3
0
0
0
-9
0
0
-6
12
0
-64
2
0
0
47
-17
0
0
-21
0
0
0
60
0
0
-3
0
0
0
-8
0
0
-11
0
0
0
5
0
-6
0
0
0
0
16
0
0
0
0
0
0
36
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
31
0
0
-5
0
1
0
-59
0
0
5
17
-3
-7
35
0
0
33
0
0
0
13
0
0
16
-1
0
0
35
0
0
0
0
0
0
-2
0
0
-1
0
2
0
-53
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
18
3
0
0
4
-13
0
0
0
9
0
0
20
0
12
30
0
0
9
-12
0
-3
0
-5
0
0
31
0
-4
-3
0
0
0
1
0
0
0
0
0
0
-3
0
1
0
0
-1
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
-2
4
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-56
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
0
0
-7
12
0
0
3
0
0
96
0
0
0
23
-1
0
17
0
0
0
5
0
0
8
0
0
0
24
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
-42
0
0
0
0
0
12
7
0
-42
-7
0
0
-1
16
0
0
-4
0
0
5
94
0
0
10
0
0
-3
-8
0
0
14
0
0
0
41
0
-15
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
-2
-25
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
4
0
0
3
-37
0
0
-7
0
0
0
41
0
0
0
3
0
0
13
0
0
-6
0
0
0
-4
0
0
0
0
0
0
-80
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
2
0
0
0
0
5
0
0
0
0
0
0
-1
0
6
0
0
0
0
13
0
0
0
0
0
0
5
0
-1
0
0
0
0
-8
0
0
0
0
0
0
-13
0
-6
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-113
-94
-2
-1
-2
-30
0
0
0
0
0
0
0
-6
48
33
123
41
-5
-17
9
13
25
6
37
25
12
-13
-29
-12
41
-33
20
-21
32
-35
-33
6
-49
-14
-9
5
-31
2
-3
-24
-5
-13
-30
-7
-58
-4
-11
20
45
-38
-41
-11
3
-23
6
3
7
-51
-31
-13
39
-47
-19
-5
-18
55
159
7
4
55
-1
4
-45
-5
44
-62
-13
-4
-35
-41
-117
0
-22
1
-8
59
74
24
-15
-34
1
-67
-13
-30
-42
27
-34
5
-20
-58
43
-8
-71
51
18
15
2
-50
8
35
6
-4
-35
0
-30
-7
-3
42
56
-14
-15
-59
-7
-3
3
0
2
4
22
-16
0
12
-15
28
0
-2
-12
6
-27
-18
-2
1
-48
68
19
-13
-4
-54
6
-60
-1
-4
13
-11
-19
5
-118
21
36
35
41
41
-2
-25
-22
-37
25
23
26
3
-30
34
11
-23
-43
-93
-20
-31
-24
-9
-4
5
-16
-1
-10
37
6
-84
27
-18
-6
28
-6
9
-19
-52
-35
-1
-43
-46
1
77
-27
15
3
73
43
15
12
45
-20
-3
-38
-49
-7
59
37
-2
-2
58
9
-25
0
8
-20
7
-25
-20
44
-38
-5
0
-13
42
-102
25
-28
-38
-43
-34
-62
-8
45
-108
-21
-97
8
20
144
1
-8
-26
-24
0
12
-50
-17
62
5
15
0
1
-5
7
-9
-23
-13
-1
94
-17
26
-26
-25
-7
-16
-88
-37
-11
-20
7
50
-2
-61
-10
-70
-50
-4
-30
4
-2
-5
3
62
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
117
0
0
0
0
0
-107
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
46
0
0
-24
-1
0
0
0
0
0
-9
-1
0
0
-6
3
0
-25
17
0
0
0
0
0
-6
0
0
0
-2
0
0
-6
1
0
0
8
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
43
0
0
0
0
0
2
-7
0
0
0
0
0
0
-1
0
-41
-37
0
0
8
-41
0
0
2
0
0
-2
29
0
0
23
-2
0
-3
3
0
0
-1
0
0
0
-12
0
-22
-2
0
0
0
-1
0
0
0
0
0
0
-129
0
0
0
0
0
0
-31
0
0
0
0
0
0
-27
0
0
0
0
0
0
-32
0
0
-4
0
0
0
-5
0
1
-8
0
0
0
-8
0
17
-1
0
0
0
41
0
0
43
0
0
0
-9
0
0
0
0
25
0
32
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
2
0
0
0
1
0
0
3
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
2
0
-7
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
7
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
12
0
0
0
0
0
0
-1
1
0
0
3
0
0
17
0
0
0
-7
0
0
0
0
0
0
-49
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
5
32
0
0
0
0
0
0
0
0
-42
0
0
0
-1
-52
0
0
0
0
0
0
13
0
0
-3
0
0
0
-25
0
0
0
0
0
0
-22
0
12
6
0
0
0
2
0
0
0
0
0
0
64
5
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
25
0
6
0
0
0
0
3
0
0
0
0
-4
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
-8
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
7
0
0
0
0
8
0
0
0
0
0
0
-6
0
7
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
2
-3
10
0
0
0
0
0
0
0
0
-2
0
-3
0
1
0
0
15
-2
0
0
0
0
0
-9
0
-2
0
33
4
0
2
0
0
0
0
-4
0
0
0
-7
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
-5
0
0
-41
-3
0
0
-1
-3
0
-7
-1
0
0
74
20
0
12
3
0
0
-42
0
0
-16
0
0
0
-22
-25
0
-44
-1
0
0
-7
9
0
0
-6
0
0
20
-32
0
0
-2
-7
0
0
-1
0
0
27
-5
-2
0
0
0
33
-44
0
2
-1
0
0
5
-2
0
75
16
0
0
-13
28
3
0
59
-13
0
25
34
0
0
71
-5
0
0
-22
0
4
-20
0
0
30
5
0
-46
18
-5
0
0
2
0
14
0
13
0
0
42
-24
0
0
3
0
0
30
0
0
0
0
0
0
-107
0
0
-1
-9
0
0
40
0
-1
19
0
0
-8
60
0
7
-73
-6
0
4
25
0
-1
-24
-8
0
-20
47
0
0
-45
-14
0
4
14
0
1
-43
0
0
-3
80
0
-2
-6
-7
0
0
-11
-9
0
0
0
0
0
-57
4
0
0
0
0
-1
0
0
23
0
2
0
0
-16
0
4
12
0
0
0
-22
0
-23
-3
8
0
0
-5
0
7
1
-5
0
-9
-48
0
-31
-1
-6
0
0
24
0
0
-3
-3
0
0
-69
0
8
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-33
-5
5
34
-20
-3
-24
-95
-20
-1
2
-8
1
51
-10
-3
-3
-56
23
0
-5
1
1
-5
0
0
-85
0
0
1
0
-3
0
-1
1
50
6
0
-6
-2
9
-1
-38
-2
0
-8
-44
43
33
72
17
0
-144
17
3
1
43
-4
21
-16
-17
35
10
32
13
6
51
0
-67
-9
-2
0
0
-7
9
-97
-50
-20
0
0
-20
0
-49
25
-47
0
0
-25
-31
-29
0
6
9
0
-3
25
-18
-2
41
19
-1
1
-64
0
5
-55
-3
0
18
-4
4
68
-20
-7
-40
-14
-48
3
-7
-43
2
6
-29
4
5
-40
0
0
8
29
-20
-2
-42
-11
0
25
30
1
0
-6
4
-5
-38
46
-56
-13
-1
-74
0
-6
31
2
-86
0
5
-27
-13
0
1
-3
0
-7
5
5
0
76
-1
-17
-14
-1
18
-54
46
2
-31
-6
0
8
0
4
-58
31
-9
-5
2
15
62
4
86
7
-3
-5
-50
-18
-25
6
-39
1
-8
-98
-43
69
0
37
1
4
-43
1
-100
-1
-24
0
-8
-16
-98
-10
0
-16
-8
-2
0
40
-5
0
30
12
0
7
0
0
0
-49
-8
19
0
4
20
6
-2
0
33
74
-27
8
24
-62
12
16
-45
-3
0
-2
-49
6
-52
-67
-46
2
1
-50
0
-95
22
-69
-4
0
57
0
30
95
-33
0
0
-1
0
36
-10
1
-28
0
11
-18
-6
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
29
-7
7
-32
4
-3
-21
5
0
0
-2
0
1
2
-8
-1
-4
5
-1
27
0
0
0
24
0
0
-16
0
0
24
0
0
0
0
2
2
32
0
0
-1
0
16
-21
0
1
-107
-76
10
-122
0
0
7
35
0
-21
103
2
0
2
63
30
13
49
23
0
5
12
0
10
12
22
0
1
74
13
13
-66
0
0
0
35
0
-5
0
8
0
0
13
-1
4
0
0
3
0
0
0
0
0
-63
-22
-1
0
0
0
-49
-66
0
0
56
0
0
-34
0
0
-20
-52
-9
0
4
-46
0
7
48
1
0
-41
51
0
5
12
1
1
-32
21
0
-1
48
0
0
0
-44
2
-18
122
30
0
0
-23
0
0
-1
0
15
0
-4
5
-7
0
4
0
0
-29
-1
4
-1
-9
-1
-8
-23
0
2
5
-2
0
4
0
4
5
-43
0
25
-51
-14
5
14
-57
-24
-5
-25
12
8
34
2
5
-7
5
-46
0
64
7
-74
-13
0
0
0
-4
2
0
34
0
-1
0
-3
2
-34
-81
0
-44
-8
-2
0
-15
0
0
-2
0
0
-27
31
0
-8
-32
0
-59
-2
0
0
48
0
0
0
-41
-8
0
-6
19
0
124
10
-1
-9
-1
14
0
72
58
35
-3
13
7
0
5
1
0
0
0
-57
0
-1
0
-12
-5
0
-78
0
6
4
0
-106
0
-18
-4
0
0
15
-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
51
6
0
0
-4
0
1
-37
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
-5
0
0
-64
0
0
0
0
0
4
23
0
0
0
0
-1
1
0
0
-8
7
3
-41
-5
0
-4
13
0
0
-2
0
0
1
25
17
0
18
0
0
0
50
0
1
7
16
0
0
-14
-3
-14
19
0
0
0
5
0
5
0
5
0
0
0
0
-18
0
0
-1
0
0
0
0
0
-2
0
5
0
0
0
1
39
0
0
8
0
0
54
3
0
-59
106
-4
0
-17
-45
0
2
-64
0
0
-47
24
0
-1
14
2
0
1
47
0
0
5
-4
0
0
-3
0
102
3
2
0
2
59
0
0
0
0
0
0
32
0
3
0
0
0
0
-26
0
0
0
0
0
0
-27
0
-1
-2
-3
1
0
18
0
0
-27
0
0
0
1
0
0
4
0
0
2
33
0
-1
17
0
0
-2
-4
0
4
31
22
0
0
-2
0
0
0
0
6
0
-20
0
0
0
0
0
0
6
0
0
0
0
0
0
18
0
0
0
0
0
0
42
0
21
0
0
0
0
15
0
4
-3
-1
0
0
-8
0
0
0
0
0
0
-27
0
0
-3
1
0
0
-15
0
-7
0
0
0
0
-20
0
0
4
0
0
0
-24
0
19
-1
0
0
0
21
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
25
0
0
-9
0
-3
-7
-2
0
0
-1
0
0
2
23
3
0
-6
0
0
-10
0
0
48
0
-1
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
9
42
0
0
-13
31
6
21
-1
8
-1
56
0
0
26
23
7
0
-13
10
4
-31
10
0
0
-2
0
6
59
-4
0
0
43
4
-12
-5
5
-1
0
-2
0
-6
0
-2
0
0
1
0
74
0
0
5
0
0
1
-6
7
-22
2
-1
3
-6
0
-37
-11
0
0
0
0
0
29
-14
0
-31
-24
70
0
-93
26
0
-3
41
10
3
51
-69
0
-1
-22
-6
0
13
8
0
0
69
0
-4
-6
-29
0
-18
5
-7
1
0
-25
0
0
0
3
0
0
-16
23
2
0
0
0
0
-1
1
0
0
0
0
0
21
0
0
-1
14
0
18
-18
0
0
-1
2
12
0
-30
-7
0
-8
7
0
-10
13
-14
0
41
4
0
4
-11
-6
0
8
0
-8
0
-12
0
0
32
7
0
0
11
0
5
2
0
-20
0
18
0
0
0
0
0
0
31
0
0
0
1
0
0
15
0
3
0
0
0
1
34
0
-2
-2
-8
0
0
31
0
-10
-8
0
0
8
51
0
2
1
0
0
-5
15
0
18
-28
0
8
0
-18
0
0
-5
0
5
0
-97
0
-12
0
0
-2
0
42
4
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
17
36
31
-19
-6
-3
14
-6
-2
-8
-17
3
14
3
-39
8
-6
33
-29
-41
12
5
0
14
32
-2
-17
0
0
-5
0
0
0
-3
0
-26
-33
-1
0
-6
10
-5
5
2
2
-41
-8
24
-17
-36
6
21
27
-5
-5
17
50
18
4
-41
-62
-14
-8
71
87
7
-21
39
-51
3
69
16
-1
7
-24
57
-31
45
0
-3
-47
-12
64
42
-16
-1
0
53
21
4
-3
0
-33
0
-1
14
29
3
-5
48
-16
0
-64
0
-54
-15
0
0
3
5
-30
-3
8
0
-10
30
32
-17
-45
-5
1
-16
32
-47
1
-24
1
38
24
34
-13
24
9
4
13
-5
12
-4
9
-6
21
0
15
58
3
14
48
-18
0
-1
41
4
-22
0
-9
-59
-29
0
62
9
-1
-20
58
-1
0
-17
13
24
-17
-31
0
16
-31
-26
38
-4
-5
-8
-41
3
-24
-96
7
49
39
-60
-10
-35
-13
-39
40
-22
-33
-67
-48
-49
-1
4
26
-15
17
54
-14
3
0
0
45
-35
19
17
-2
-2
-4
20
-9
9
0
2
4
0
1
-13
-18
0
-23
-7
-1
0
22
2
-6
-47
8
21
29
1
-4
-1
5
-16
-21
28
-51
13
-3
-6
1
61
57
-70
69
-7
-10
5
32
4
-7
-41
-53
-7
-2
-18
-22
-10
-10
-4
-5
-1
-13
42
-6
-27
-1
6
0
29
-25
1
65
0
21
2
2
-5
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
9
33
-13
-69
-1
-17
4
-4
0
0
8
-1
32
-79
-20
-8
-4
0
0
21
-1
-3
-1
-3
0
0
-44
0
0
-10
0
-7
0
-76
7
60
-12
1
1
0
-14
32
63
-8
-1
-22
9
-3
-7
8
0
-1
-63
0
63
-60
30
1
0
-35
-1
-66
-12
-59
6
-1
-74
0
-4
-53
-30
0
-1
-27
0
-42
-3
-3
0
0
71
0
16
-5
-8
0
0
-30
0
-1
0
-31
-45
0
0
8
-8
2
10
-42
-33
-139
0
-5
-14
6
0
7
13
0
9
-44
-43
0
19
4
-4
5
-1
-15
-1
4
-44
0
-8
-20
-7
-4
1
-35
2
-3
-3
-2
0
29
7
0
88
12
-12
0
0
14
0
96
25
4
3
-2
0
0
-22
1
-8
25
-70
0
0
53
-3
-7
-66
-1
5
0
2
-34
32
0
-3
52
0
6
49
-13
-4
-4
39
-2
14
51
26
0
-13
14
2
25
30
22
-9
13
5
0
19
8
-46
-2
-16
-1
0
22
76
2
-8
-17
35
4
79
-25
28
0
8
50
0
-40
0
-14
-37
-7
-3
0
129
0
-6
-4
0
-9
0
-1
-13
29
0
62
-33
0
-6
-60
-50
0
6
20
0
-6
98
36
-4
-60
-1
0
5
-66
20
8
-23
-25
2
21
42
29
3
-66
-7
0
-35
13
31
-14
5
50
1
13
2
14
0
36
-5
0
134
0
13
33
52
0
0
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
6
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
0
0
32
0
0
0
-19
0
0
48
0
0
0
0
0
0
0
0
0
0
-24
0
0
-12
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-33
6
0
0
0
0
4
47
0
0
0
0
0
0
9
0
8
12
0
0
3
13
0
0
13
0
0
8
10
0
0
17
0
0
0
6
0
0
-8
0
0
0
0
0
-21
5
0
0
0
-56
0
0
0
0
0
0
35
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
0
0
2
0
0
0
-102
0
0
13
-6
0
-1
-74
0
0
9
0
0
0
13
0
0
-1
0
0
3
-26
0
0
0
0
0
0
-5
0
0
0
0
0
0
-41
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
-3
1
0
0
-21
0
2
0
0
0
0
-18
0
1
8
14
0
0
-8
0
0
0
1
0
0
-39
0
0
0
0
0
0
50
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
59
21
-35
54
11
9
32
-43
-24
-35
46
12
4
45
-49
17
-71
18
-8
-112
0
0
-12
0
0
-12
0
14
14
-58
-13
36
69
0
94
24
-5
-7
33
-46
95
68
61
-5
-2
54
81
0
-48
73
-52
-76
-28
-21
-20
-26
3
57
-50
-9
2
25
89
-73
38
-5
10
-32
-65
-39
27
-5
-22
-50
73
-130
-4
-66
-2
-1
-21
-44
-93
0
33
-15
1
8
-49
-17
27
-24
-42
53
-29
35
-1
13
-31
-18
-27
10
-13
-74
-5
-7
5
20
-8
-18
-17
29
53
13
9
21
79
20
-11
-11
-14
8
6
70
-15
7
12
13
-56
3
36
-23
28
-27
-8
-17
41
73
-5
-1
-70
-3
-41
-31
-27
-51
1
-28
-101
-33
0
3
7
1
-24
-40
-12
38
35
12
55
-16
-56
-55
26
-40
14
62
-52
6
61
-35
-65
22
79
15
30
-63
-2
-9
33
-27
-59
-56
3
46
33
44
7
-51
-6
9
-78
-15
87
6
-18
52
17
42
54
26
0
-72
-8
40
-45
8
-22
0
-31
-22
49
2
64
33
-6
5
87
-24
-3
16
-10
16
-19
-8
-30
-101
84
-51
15
6
4
-35
78
-71
82
-61
-17
-5
12
27
58
54
8
-9
56
-22
1
72
28
16
-3
-3
40
-12
55
22
8
-19
13
-1
-65
-46
17
41
-71
-2
45
13
18
27
0
-32
67
52
39
-27
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-122
47
0
0
-3
0
-3
2
7
0
-2
8
-7
-1
0
-1
0
-12
0
0
1
0
0
10
0
0
0
0
-1
31
25
0
12
0
0
88
56
0
0
23
-29
12
121
2
0
0
82
0
-5
49
8
4
-7
59
-17
60
-102
0
5
-8
-6
-3
61
59
58
0
-3
-106
-28
-43
5
-5
-6
-3
4
0
-43
-3
-31
0
0
46
-49
-84
-1
0
-57
3
0
-1
-7
0
-33
-19
-31
-6
-15
0
31
-22
4
0
-12
0
1
40
37
0
9
68
52
0
-19
-58
2
-31
70
0
0
-8
0
5
-2
-40
-33
-9
9
-63
0
10
-79
10
-1
-47
-7
0
-5
-43
22
-1
8
-35
0
0
1
0
-19
0
-8
-84
87
0
2
0
0
-11
0
0
-1
19
0
21
-15
5
-8
1
76
-2
-28
32
-17
-1
-25
0
2
-77
-6
0
-69
27
-42
-17
-31
0
86
-33
10
58
-17
-49
-25
-4
-85
57
94
7
78
1
4
34
94
3
-47
-25
-93
0
33
100
-72
16
0
19
-28
4
0
-9
20
0
-72
0
-2
0
54
0
-1
-91
-1
-71
0
-5
0
22
18
-3
-50
-44
21
0
77
5
0
8
-36
-14
0
-18
0
-5
94
28
79
-8
6
-46
1
-12
0
6
18
-2
28
0
13
-20
49
18
-21
-15
-19
-53
-19
5
-30
0
8
-17
7
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
3
0
0
5
9
2
0
1
0
5
0
0
-7
0
0
39
0
2
0
0
0
4
-1
0
0
0
-2
-3
5
0
0
13
-1
16
-29
3
0
0
8
0
7
32
0
0
0
36
2
-20
-48
-8
0
4
81
0
-18
-44
10
0
9
-61
2
3
3
2
0
0
50
0
2
0
-1
0
0
-5
0
-32
0
-8
-8
0
0
-9
54
0
35
14
-8
1
-3
0
-4
16
0
0
7
1
7
-25
-21
0
-9
45
-31
1
93
45
0
0
31
0
0
5
0
0
-8
54
18
-1
6
-5
0
2
-92
0
4
-7
-17
0
29
-6
-3
0
-3
-76
0
0
-12
0
-2
0
-8
-1
0
0
0
9
-1
-1
3
0
0
0
0
-1
-19
0
3
-15
0
-7
-8
-32
0
0
-14
0
-1
6
26
12
0
101
30
4
-7
12
8
-7
0
0
0
30
12
0
3
12
-32
0
2
-7
0
0
-2
0
0
0
13
0
0
7
0
4
0
-25
0
2
0
0
0
0
2
-4
0
5
7
-6
0
46
0
20
0
0
0
0
-54
0
-4
-1
24
0
4
5
0
-2
0
0
3
0
-53
-2
13
41
8
0
0
-77
0
-7
7
0
-5
0
25
0
-10
7
9
8
0
-21
0
-6
2
0
-9
0
-86
-10
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-5
0
0
8
0
0
16
23
0
0
8
1
0
0
2
0
16
0
0
-20
0
0
-4
0
0
0
0
0
-3
33
0
0
8
0
42
53
0
0
65
65
5
-2
-4
0
0
-2
0
1
-9
21
-2
0
0
-45
2
-12
41
2
8
76
0
18
29
8
0
8
2
1
-2
-9
-13
0
0
-4
0
-5
-2
-5
0
0
0
0
-39
0
0
-17
0
0
0
-6
0
-54
-14
5
0
4
0
12
-50
0
0
0
0
0
-74
-52
0
34
-60
27
0
44
22
0
2
20
0
0
75
7
0
-1
34
56
0
68
14
0
-7
-56
-6
1
-29
-31
0
72
-4
-17
0
5
21
0
0
1
0
0
0
-12
1
6
0
0
0
-1
10
0
1
0
0
0
-4
-52
8
0
31
-13
0
-19
51
0
1
-31
0
0
6
20
-1
-1
-79
68
-7
-13
42
1
0
-85
0
5
-21
13
0
4
95
10
0
0
18
0
-2
-5
0
0
-1
35
0
4
5
2
8
0
28
3
0
0
3
0
0
-19
2
0
0
4
0
0
26
3
47
1
3
0
-5
-28
0
-8
5
-3
0
0
-28
10
43
-27
4
2
10
-41
0
5
2
-4
4
0
-46
13
51
-45
0
0
-8
35
0
-8
1
0
0
0
-26
9
19
0
1
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-183
-8
4
10
4
-1
0
-28
-14
25
0
-23
3
-3
0
-8
-2
-87
9
-18
-70
0
1
-12
0
0
0
0
0
6
48
0
-1
0
0
-38
7
0
7
-18
-84
25
35
69
0
5
58
0
-6
25
41
4
35
-31
-43
33
-44
114
4
29
15
-5
14
88
-25
8
1
-58
0
74
12
46
8
0
2
0
-42
-31
-16
-7
0
-21
-8
-38
7
0
-44
1
0
-6
40
0
-6
-18
-13
0
-4
0
113
36
0
0
-35
-1
-1
-58
-1
-1
-33
-64
-88
1
35
-25
1
-2
16
-42
0
-55
20
-2
3
40
9
-5
60
-46
0
-13
-160
0
9
67
5
2
2
5
-3
0
-13
-13
0
1
-3
0
46
0
-1
1
95
0
-5
3
0
-2
10
0
0
7
22
7
38
22
-5
-4
-18
5
42
-10
0
0
-21
8
1
-19
-58
-10
-50
-25
20
-7
55
-2
12
52
-44
48
-2
-59
-10
2
11
24
-6
14
5
-33
8
2
-84
3
-32
4
-54
1
14
0
2
-110
0
-49
4
-1
0
22
2
0
86
-24
0
-1
-23
0
-1
40
0
29
-13
-9
2
1
44
0
8
-4
-2
-6
-7
-52
-1
29
-19
52
1
42
-89
-1
-61
-45
-13
-5
-13
-151
7
29
-22
0
-8
-3
12
-4
13
-19
-23
-13
0
13
-2
-79
4
14
3
0
8
-5
0
-6
5
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
2
2
0
-7
10
1
0
0
25
0
25
1
15
0
-4
0
0
-27
0
0
-3
0
0
0
0
0
-5
25
0
0
0
2
-31
22
0
0
1
-2
-42
-17
15
7
0
10
0
-8
6
23
0
0
-27
0
24
5
-5
0
5
15
0
-44
-11
-2
0
0
-43
0
-103
-12
-8
0
0
49
0
-50
2
19
0
0
5
0
11
0
0
-22
0
0
0
-15
0
-7
-55
19
-9
0
0
79
-13
0
0
94
-2
0
-8
4
0
-46
30
-1
0
23
4
0
0
-21
14
0
39
62
0
0
55
2
3
3
-14
0
4
-11
0
-1
-15
0
0
-100
-92
0
-6
0
18
0
0
-17
0
14
0
-3
-3
-2
0
0
-2
0
-30
-6
3
0
1
0
-7
28
0
0
13
0
-6
40
26
2
0
-39
14
-13
58
14
0
-3
-3
5
1
-15
-4
0
-12
39
0
41
31
53
0
9
3
8
-7
-22
7
0
0
-70
0
74
0
24
-3
0
-16
0
-65
0
7
2
-6
0
0
8
0
-46
9
0
0
0
0
0
-18
-3
-25
16
0
0
17
-6
0
0
115
1
0
2
26
0
-22
44
0
9
-1
14
0
-3
-92
-8
1
2
-9
0
-52
-51
0
-5
0
-23
0
-9
-6
0
-13
0
14
0
91
6
0
28
0
-84
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
0
0
0
0
0
-5
-42
0
0
2
-42
0
0
0
0
46
0
0
0
0
0
-23
0
0
0
0
0
-1
-29
0
0
0
0
12
-55
0
0
-37
-25
0
38
-4
0
0
16
0
0
13
13
5
-1
20
18
0
-4
-13
4
0
-30
0
0
55
33
0
0
45
-19
0
73
19
0
0
57
0
0
2
-21
-1
0
-2
5
-1
0
-4
13
0
0
0
0
0
-6
-2
-23
-7
38
0
-18
1
2
0
14
0
0
9
39
0
-48
48
20
0
-35
42
0
0
36
0
0
-60
18
0
0
7
-73
0
29
-16
0
0
53
0
0
-34
-3
10
-6
31
-6
0
5
-53
-4
-19
3
-8
0
0
-37
-15
-3
0
-2
0
0
54
24
0
2
1
0
5
71
0
1
22
-13
0
6
47
0
0
47
0
0
46
44
0
-4
-13
72
0
19
-45
-2
-6
-27
0
0
-15
46
0
22
-14
-71
1
5
58
-1
8
-75
0
0
0
-47
-3
-2
-6
-18
0
0
-42
-3
0
0
0
0
0
75
8
0
8
-14
0
0
26
0
-24
0
0
0
1
20
0
0
-4
-44
0
-1
13
0
-5
-76
0
0
8
-12
2
-4
27
-11
0
0
5
0
-14
55
6
0
-4
-46
-3
-9
-32
33
0
0
-43
0
15
0
0
0
0
-33
8
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
64
168
8
-2
-11
-74
2
-43
5
-2
74
-3
-15
7
12
-5
0
0
1
-5
-16
-12
-74
0
25
-27
2
-12
51
4
-1
0
14
-66
1
-45
53
-5
-30
31
-60
-27
3
3
50
-17
-9
-51
-100
2
54
19
12
-58
14
-54
14
-43
4
-10
-54
-12
35
-38
29
41
2
-38
-25
-2
44
31
-1
-63
41
-20
0
-61
-49
0
8
58
-40
-1
1
-22
-18
-13
31
0
7
-6
1
5
-30
-5
-8
6
25
-5
12
-5
4
-3
17
2
-3
71
22
-13
-1
-47
-8
46
-5
-4
-28
78
-30
-4
-4
0
-11
-29
32
-19
-15
0
-11
1
-23
76
-13
0
41
-3
12
-5
18
0
1
-43
-167
-1
30
7
31
-13
-9
-1
50
-44
-16
-122
-4
8
-7
-91
-24
14
-37
-12
-10
28
-44
69
-27
-53
-23
-24
22
-19
13
2
22
-10
51
-55
3
9
37
-6
-10
46
24
-8
9
15
-8
-2
-8
-79
16
40
-34
2
-8
-8
9
3
0
-9
-1
-36
-22
7
8
12
-53
1
-61
43
-32
5
65
-25
-25
10
-25
-10
-3
-20
-35
-19
-24
-14
-48
38
10
-69
-13
8
-5
22
41
-30
86
75
-16
-46
-46
29
8
-39
0
-21
25
-45
-1
-3
-24
2
-34
21
-52
21
-8
11
-1
2
-1
-58
38
-29
38
0
-12
-19
-20
39
-36
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-11
0
0
1
0
0
-86
0
0
0
0
0
4
5
0
2
2
0
-42
-2
-1
0
-60
-93
6
55
1
0
0
-94
-2
0
35
6
0
-2
-6
3
0
39
7
0
0
-39
3
-4
18
0
-2
0
-66
1
3
4
-13
0
0
0
9
-1
0
23
0
0
0
0
-102
0
0
8
0
0
0
-7
0
34
-8
0
3
0
0
6
-6
2
0
13
0
0
51
34
0
50
14
-37
0
-9
-7
0
-1
-127
-1
0
20
16
0
0
60
1
-3
-31
0
0
-7
-111
-4
0
8
-85
-2
-61
5
-3
0
-2
-93
0
0
0
1
0
0
-19
25
1
0
0
0
0
-61
0
0
0
0
0
-9
66
23
3
21
0
0
10
-22
0
0
14
14
0
-1
-44
10
0
44
5
2
21
50
0
-12
18
-14
3
-2
0
3
-1
-22
0
4
-3
-17
1
-9
24
0
-9
-1
2
-3
0
0
-8
5
0
-39
4
0
0
0
0
0
-23
3
0
1
0
0
-1
-33
0
2
0
0
4
2
-42
0
4
-9
-8
1
0
19
0
100
54
2
3
1
114
0
-19
-28
64
0
1
0
0
-106
42
0
0
0
-3
-5
-2
21
13
0
0
-73
0
19
0
0
-2
0
-50
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
46
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-5
-1
42
0
0
0
0
0
0
46
0
0
0
-15
-4
0
-21
-15
0
0
57
0
0
15
0
0
0
-7
0
-1
-1
3
0
0
19
0
0
3
0
0
0
0
0
18
0
0
0
0
0
0
5
0
20
0
4
0
0
0
5
25
0
0
0
0
0
13
55
0
-6
40
0
0
-3
51
0
0
-30
0
0
7
74
0
0
3
0
0
0
-163
0
3
-4
0
0
-5
-45
0
13
0
3
0
0
7
0
0
0
0
5
0
12
-1
0
0
0
0
0
21
0
0
0
0
0
0
-52
0
0
0
0
0
2
6
0
0
-7
0
0
3
13
0
-4
16
12
0
2
11
0
0
-9
0
0
8
-17
0
4
-3
7
0
0
-80
0
0
5
0
0
0
22
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
-3
20
0
0
4
0
0
0
5
0
0
0
0
0
0
12
0
0
8
0
0
0
-46
0
1
2
0
0
0
9
0
0
0
0
0
0
-20
0
3
0
0
0
0
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
35
0
0
5
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
-33
33
0
0
12
-2
0
-40
0
0
0
-1
0
0
14
0
0
0
-52
-3
0
5
0
0
0
14
0
0
-25
-1
0
0
-13
0
-1
5
0
0
0
0
0
0
0
-3
0
0
0
0
-41
0
0
0
0
0
0
14
0
40
0
2
0
0
0
-3
-105
0
0
63
0
0
-5
29
0
-7
-12
0
0
-13
3
0
0
4
0
0
0
47
0
0
3
0
0
-2
-14
0
0
-6
0
0
0
19
0
-48
-17
1
0
0
-9
0
0
0
-1
0
0
31
-1
0
0
0
0
0
-64
0
0
0
0
0
2
60
0
0
1
0
0
-2
49
0
0
-4
0
0
4
-79
0
0
23
2
0
0
2
1
0
-3
0
0
0
22
0
5
-4
0
0
0
-39
0
0
8
0
0
0
-10
0
0
0
0
0
0
-66
0
0
0
3
0
0
8
1
0
0
0
0
0
8
0
7
5
0
0
0
42
0
3
-3
-6
0
0
10
-2
1
0
-2
0
0
5
0
0
0
0
0
0
-5
0
2
0
0
0
0
-1
0
1
-4
0
-1
0
-32
-1
0
3
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-81
0
0
-8
0
0
-32
0
0
0
0
0
0
-2
0
0
0
8
30
-1
0
0
90
5
-1
-40
16
0
2
0
0
0
1
23
0
0
12
-4
0
-41
2
0
0
2
0
0
-58
2
0
0
-54
0
-17
-2
0
0
0
13
0
0
0
-12
0
0
9
0
-93
0
0
0
0
0
0
-4
0
-15
-2
-1
0
0
0
-1
67
0
0
-4
0
0
-3
74
0
31
6
5
0
-11
30
0
-3
-8
2
0
0
21
0
0
5
1
0
-1
-50
6
-10
6
0
0
0
-13
0
-67
0
0
0
3
39
0
0
0
0
0
0
-67
1
0
0
0
0
0
-8
4
0
0
0
0
6
84
0
5
0
0
0
4
0
0
0
18
0
0
-3
8
0
8
0
-1
0
0
5
0
0
-15
2
-1
2
70
0
-7
-4
8
0
0
-72
0
0
2
0
5
-3
-38
2
20
0
0
-10
0
12
-8
0
0
0
0
0
12
0
0
0
0
0
0
12
0
6
0
0
2
0
48
0
7
0
0
0
0
-74
0
4
-1
0
0
0
13
0
0
-4
-1
0
0
-47
0
16
0
0
0
0
83
0
0
0
0
0
0
-49
0
-5
0
0
-1
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
12
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
15
8
0
0
16
0
0
13
0
0
0
0
0
0
5
-1
0
0
-43
0
0
-64
0
0
0
-2
0
0
3
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
-22
0
0
0
0
0
0
-23
0
0
10
0
0
0
-2
0
7
12
5
0
-9
62
0
-1
-4
0
0
0
-55
0
0
24
0
0
-1
22
0
0
0
0
0
0
-26
0
-3
-1
0
0
0
37
0
0
1
0
0
0
-36
0
0
0
0
0
0
-42
4
0
0
0
0
0
3
0
0
-8
0
2
-1
-146
0
0
8
0
0
0
-29
0
0
0
0
0
1
23
0
3
-12
0
-2
0
-59
0
0
7
0
0
0
25
0
0
6
0
0
0
9
0
0
0
0
52
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
12
0
0
0
0
34
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
-1
0
0
0
18
0
-4
0
0
0
0
-13
0
0
-3
0
0
0
-46
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
18
0
0
1
-3
0
0
8
0
-2
0
0
0
0
0
6
0
0
0
0
0
21
-25
0
0
0
0
-66
2
-8
-3
8
31
0
-1
2
0
0
-16
0
0
-8
0
0
0
64
-74
0
39
37
0
0
1
0
0
-104
-5
0
0
-69
-1
0
22
5
0
0
59
0
0
-3
8
0
0
1
14
0
0
0
-24
0
0
0
0
0
-43
-13
-4
0
-54
0
-24
-28
0
0
-13
0
0
-42
97
4
-37
27
50
0
-1
24
0
0
34
0
0
-5
13
0
0
80
16
0
-79
-50
0
-3
-35
0
0
32
-3
0
-1
-70
-28
0
3
1
0
0
0
0
0
0
-4
-18
-9
0
-5
0
0
11
0
0
0
0
0
-35
-51
0
-2
-32
49
0
-22
40
0
-2
20
-1
0
-5
24
0
0
-7
28
0
-60
0
1
-5
38
0
0
-17
45
0
-6
-6
13
0
0
8
0
-3
99
0
0
0
-15
0
8
7
43
0
0
-37
2
0
0
0
0
0
-22
0
0
0
0
0
0
10
-3
-4
4
-4
0
0
-12
0
-10
34
7
0
0
-29
0
0
9
8
0
0
-54
0
30
-22
-67
0
-2
-28
0
-4
57
0
0
0
-29
0
23
178
-37
0
0
-71
0
42
0
0
0
0
27
23
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-34
0
0
-8
0
0
-86
0
-2
0
-1
0
0
1
0
0
8
2
63
-2
0
0
-14
-134
-27
28
-9
0
0
-13
0
0
17
3
0
3
5
-17
-2
-32
57
-2
0
-4
1
-110
43
1
2
8
-53
1
-4
25
66
0
0
69
10
2
0
74
-4
0
24
17
-154
0
0
-2
0
0
0
2
0
51
18
0
0
-4
0
10
-35
0
0
-10
5
-9
-3
96
0
49
-83
6
0
27
7
0
0
-104
0
0
19
-19
0
1
-19
-6
-8
-13
23
0
0
-119
1
-5
0
-28
0
36
-25
-43
0
0
-51
0
0
-3
4
-1
0
-18
-4
16
0
-8
-3
0
-6
-1
0
0
6
0
0
-78
0
-4
-9
-4
-5
0
-3
0
0
-5
-1
1
12
-46
1
13
-30
-58
13
0
-35
1
4
29
3
14
0
-18
0
-4
3
0
56
0
16
0
-3
-5
0
-23
0
-89
0
0
0
0
-99
0
-5
0
0
0
-9
-4
0
-86
0
0
0
9
0
-5
-90
0
112
0
0
3
0
37
0
8
-1
23
5
8
9
0
-4
-29
13
0
0
-115
0
8
-27
-1
0
3
-63
0
48
41
9
0
0
8
0
3
1
-2
8
0
-63
6
-64
0
-3
-19
0
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-108
0
3
-37
0
7
-97
0
0
0
0
-1
0
-2
0
0
0
0
65
14
0
0
-15
-17
-5
-9
14
0
0
-8
0
-3
25
0
0
0
102
-43
13
-55
50
0
0
75
5
-5
-58
10
0
0
-9
8
-3
4
0
1
0
-8
3
7
2
-24
0
0
0
-1
-21
0
8
5
0
1
0
-4
0
29
-1
4
0
0
0
-32
31
0
0
3
2
0
-45
33
0
29
59
-26
0
-57
10
0
0
-19
0
2
1
-41
-4
0
58
-28
0
-72
38
0
5
0
5
0
-7
0
0
-20
-44
-13
0
2
9
0
0
8
0
0
0
33
0
4
0
3
0
0
-9
0
0
0
0
0
7
-11
0
3
-2
0
-15
-5
-19
-3
0
-13
-9
2
8
-14
4
0
-27
6
2
21
66
-1
-7
16
-1
-2
9
-9
0
-2
-88
22
-6
10
0
-2
-16
4
0
-5
0
3
14
0
-5
8
9
0
-18
1
-1
0
0
4
0
6
1
-2
0
-2
0
0
-27
0
35
2
0
22
-2
-60
0
-5
-2
-1
0
0
-90
1
-71
-6
1
0
-8
17
0
3
7
41
0
0
-21
0
-54
30
0
0
-1
0
2
1
5
27
24
0
39
0
-19
0
0
0
7
-8
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
2
0
0
-36
0
0
0
0
0
-2
-3
0
0
0
0
-7
9
0
0
-50
-2
0
73
4
0
0
0
0
0
117
15
0
0
-19
18
0
32
0
0
0
-14
0
-3
-5
0
0
0
55
-1
7
25
0
0
0
0
0
-5
0
0
0
0
0
0
-36
0
-7
0
0
0
0
-19
0
9
0
-6
9
1
0
-2
-30
0
0
0
0
0
-53
-13
0
2
28
0
0
7
89
0
1
3
0
0
-2
-14
0
0
-13
-1
0
-5
44
0
0
17
0
0
1
-15
0
-10
-7
0
9
0
49
0
9
0
0
-1
0
-17
8
-3
0
0
25
0
10
0
0
0
0
0
0
11
0
0
18
-4
-3
0
13
0
0
-5
0
0
0
48
0
0
-8
3
0
0
-31
0
0
12
0
0
0
-29
0
0
13
0
2
0
-80
0
0
0
0
0
0
127
0
0
1
2
37
0
36
0
-4
0
0
0
0
8
0
0
2
0
0
0
15
0
9
-7
0
0
0
31
0
0
0
0
0
0
23
0
-8
5
0
0
0
1
0
7
0
-5
0
0
88
0
-5
0
0
0
0
67
0
-1
16
0
0
0
11
0
-6
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-81
6
0
-97
-1
0
0
1
0
0
-49
0
0
0
44
-4
0
-9
0
0
0
0
0
0
-1
0
0
0
-13
0
0
3
-6
0
0
0
0
-4
0
0
0
0
0
0
21
0
0
0
0
0
2
1
0
-4
0
0
0
0
0
-12
-14
0
0
0
0
0
22
-4
0
15
93
3
0
-1
-5
0
0
-34
0
0
-1
-14
0
0
-15
-4
-1
-8
31
0
0
-2
0
0
0
23
0
27
-13
31
0
3
-4
0
0
-3
3
0
0
-31
-4
0
0
0
0
0
34
0
0
0
0
0
0
-13
0
0
0
0
2
-4
-9
0
0
19
0
0
0
9
0
0
2
20
0
4
54
0
0
-2
0
0
-1
13
0
0
2
0
0
6
-25
0
0
5
0
8
0
19
0
0
0
0
-14
0
-8
-1
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
-2
3
0
-18
0
0
0
0
5
0
0
0
5
0
0
-12
0
-20
2
0
1
0
-1
0
0
0
0
1
0
-1
0
0
0
0
0
0
-1
-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
-4
0
0
-4
0
0
-5
0
0
0
0
4
4
39
0
3
10
0
-36
62
0
0
15
-16
-75
-40
12
0
0
-44
-3
-19
-16
-8
0
0
11
8
-69
-63
11
5
0
-20
-8
-41
-18
-8
8
0
-51
19
-1
-58
-1
0
0
-5
3
24
2
93
0
0
6
70
10
0
0
-47
0
0
-8
-56
0
-8
-1
-8
0
-39
0
24
-5
0
0
-32
1
-10
-15
8
0
-30
-12
5
4
-18
3
0
0
-15
2
-4
-50
-16
-5
0
-29
-33
3
-64
4
0
0
15
16
0
-66
-1
-1
-13
-42
9
0
14
23
0
0
0
7
4
0
-2
-66
-6
0
1
0
0
-37
0
0
0
-3
7
23
-50
2
-4
50
-81
-26
-8
-9
0
0
33
53
10
-52
-4
-5
0
-22
-14
14
24
-9
-8
-4
-84
2
-13
4
-90
0
27
21
-24
-13
-18
-1
0
1
2
39
-49
45
-8
0
2
0
46
-16
0
7
0
0
0
-2
-3
0
-17
0
0
0
0
0
0
-7
0
14
3
13
5
-4
-39
0
-7
-25
18
-18
0
-61
0
-56
3
-50
-2
13
13
0
22
9
24
-5
5
-72
0
-61
-20
2
-24
6
-8
1
2
10
-12
12
0
-4
0
-54
0
0
-7
0
-66
-6
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
-7
0
0
1
0
0
0
5
0
0
24
0
0
0
0
48
6
0
0
-14
-10
-12
-8
0
0
0
-8
0
4
4
3
1
0
-11
0
0
-18
-13
-2
0
9
0
-69
0
0
0
0
19
0
-6
-8
0
0
0
-13
0
93
0
2
0
0
-2
0
7
0
0
-2
0
0
0
19
3
-1
-8
42
1
0
0
60
-29
0
0
18
0
0
-19
-41
0
21
-9
1
0
80
15
0
-3
39
0
0
-1
-87
0
0
-49
0
0
15
-13
0
0
-6
0
0
2
29
0
-87
30
0
0
-1
14
0
0
0
0
49
0
27
5
4
0
0
0
0
-5
-4
0
0
0
0
9
57
0
-1
-15
0
2
7
-8
0
-4
94
1
-8
9
-24
4
2
6
0
-1
-48
39
0
0
12
0
12
9
-16
0
9
-34
0
-5
5
19
0
0
94
0
27
2
18
0
0
-5
0
42
0
-6
1
0
0
0
0
0
-23
0
0
0
0
0
-4
-37
6
-4
5
0
0
0
41
0
0
8
0
1
0
-19
0
-25
34
0
0
0
31
0
0
57
0
0
0
-46
4
120
40
0
0
0
-28
0
0
8
0
1
0
62
0
-5
0
0
-4
0
-75
10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-30
0
0
0
0
0
-5
0
0
0
0
0
5
-25
0
0
2
0
45
-22
0
0
-44
-2
0
15
3
0
0
-29
0
0
63
-6
0
0
13
32
0
11
18
1
0
1
0
3
-9
55
0
0
-56
14
0
49
0
16
0
1
0
0
14
-2
0
0
8
-14
-1
0
0
-10
0
0
0
0
-5
-22
-12
-7
25
-4
0
30
-25
0
0
12
1
0
-10
41
0
50
-3
-18
0
-15
44
0
0
22
0
0
-48
69
0
32
41
12
0
-6
27
0
-3
-16
0
0
2
35
0
-39
0
0
0
0
74
0
0
0
0
0
0
1
20
58
0
6
0
0
-35
16
0
0
0
0
12
-48
15
-14
-31
-12
0
30
62
0
0
6
1
0
14
-11
24
-17
39
5
-2
-21
44
3
10
2
0
0
-25
21
0
6
-57
-33
0
-1
-44
0
42
-10
0
0
-3
24
0
4
30
39
7
0
-6
0
0
0
0
0
0
-4
0
0
-4
-5
0
0
32
6
-32
-1
0
0
-4
-44
0
2
0
-19
0
1
38
0
27
5
0
0
-3
-3
0
-5
-5
-5
0
0
13
0
18
15
0
0
-5
-32
0
10
50
8
0
0
-11
-2
76
1
8
0
0
6
19
6
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
15
0
-7
-52
18
0
0
17
0
0
-4
0
0
0
-23
0
0
25
-7
0
0
0
0
0
1
0
0
0
-9
0
0
0
-2
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-30
0
0
-5
0
-2
1
2
0
-3
-31
15
0
9
47
0
1
-5
0
0
0
41
0
0
0
0
0
0
-60
0
0
-2
0
0
0
5
0
-3
0
0
0
0
-3
0
0
0
0
0
0
61
20
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
2
-4
-45
0
0
0
0
4
0
-56
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
-5
0
0
0
0
-11
0
0
0
0
0
0
-15
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
34
0
0
0
0
0
0
2
0
-5
0
0
0
0
1
0
0
0
0
12
0
-1
0
5
0
0
0
0
-6
0
0
3
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-6
0
-38
0
0
0
0
0
4
-42
0
6
0
7
-2
0
-73
0
0
-1
0
0
0
98
0
0
0
-40
0
0
5
-2
0
0
37
0
0
-2
0
0
0
-1
0
-42
0
0
-1
0
0
3
0
0
-32
0
0
0
0
0
-27
50
0
0
-1
0
0
2
13
0
-46
-5
0
0
-3
70
0
0
-22
0
0
0
-28
0
0
28
0
0
3
23
0
0
-53
0
0
0
59
0
-45
0
0
0
0
0
0
0
-20
0
0
0
3
-2
2
0
0
0
0
-15
0
0
0
0
0
0
-32
0
0
0
0
2
0
-6
0
0
-1
0
0
0
-72
0
0
93
-1
0
2
-54
0
0
-15
0
-1
0
27
0
0
-28
-1
0
-5
-85
0
-1
5
0
-2
0
0
0
6
0
0
-31
0
-57
0
0
0
0
0
0
2
0
0
0
0
0
0
-35
0
8
-1
0
-1
0
-32
0
-14
0
0
0
0
37
0
-3
-1
0
0
1
34
0
0
0
0
0
0
33
0
-25
0
0
0
0
6
0
0
0
0
0
0
0
0
-14
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-8
0
0
6
0
0
0
0
0
0
12
0
0
0
-31
0
0
-13
0
0
0
2
0
0
-10
0
0
0
28
0
-1
0
16
0
0
1
0
0
1
-4
0
0
0
0
0
0
-1
3
0
0
0
-5
0
1
0
0
0
0
0
0
-25
0
0
0
0
0
16
8
0
40
-6
8
0
72
79
0
0
-8
0
0
12
-12
0
0
-3
0
0
0
3
0
0
10
0
0
0
6
0
22
0
0
0
0
-1
0
0
0
0
0
0
51
-2
2
0
0
0
0
54
0
0
0
0
0
0
37
0
0
0
0
0
0
-16
0
0
6
0
0
8
21
0
0
6
0
0
-1
29
0
0
3
0
-1
0
22
0
0
3
-1
0
0
12
0
2
-1
0
16
0
-6
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
9
0
0
0
0
0
33
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
-12
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
42
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
-4
0
-1
-62
35
-58
-14
-29
-46
-43
7
-15
-23
-55
-27
57
9
2
-21
-4
-23
53
78
-24
24
29
-17
-34
-13
-14
-1
-9
-12
-5
38
-111
31
18
26
11
-42
-6
-9
-14
-13
-3
25
-7
-123
-24
-1
-12
-30
-4
1
28
-24
-7
-33
73
0
-8
22
-87
-8
13
-39
4
2
2
-40
21
3
-22
7
5
-2
70
2
-14
-32
-107
-15
-5
54
12
6
10
15
6
-10
16
47
-6
2
-27
0
-10
40
57
2
-26
-57
-8
1
-19
102
2
32
-7
-6
-5
-9
-58
15
-1
-43
-37
-15
-19
39
-13
-42
-26
0
3
-72
7
2
-6
-21
31
-3
-7
-42
8
-8
26
24
-13
36
66
7
-24
-14
-22
-6
-10
22
-4
-56
-29
-5
-3
-40
-20
-6
-21
10
0
7
9
-59
21
5
-14
-10
-8
-30
-2
-34
-4
55
-26
6
-42
-40
9
-65
-35
-9
3
-32
14
-49
-12
-8
-13
-7
-26
-72
-55
-122
10
-24
21
-38
34
-7
-44
-19
39
-6
-21
13
-34
10
7
17
9
-50
68
46
-51
66
-18
-4
-27
-55
-29
1
-38
-4
5
-25
16
-21
-4
57
53
-14
-23
-41
-18
27
19
-57
32
-39
73
-57
13
15
-48
-9
23
-45
1
10
-37
33
-17
11
39
10
-60
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-1
0
4
0
0
0
0
0
0
0
0
0
0
-48
-1
0
3
5
0
0
7
0
0
13
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
55
0
0
0
0
0
13
65
0
0
0
0
0
1
5
0
-3
-21
0
0
-48
-21
0
0
0
0
0
-1
58
0
0
0
-8
0
0
-47
0
0
0
0
0
0
-5
0
12
2
0
0
1
7
0
0
0
0
0
0
26
-5
8
0
0
-1
0
-60
0
0
0
0
0
0
-19
0
0
0
0
0
0
-18
0
0
-5
0
0
0
-63
0
0
0
-2
0
0
-61
0
1
0
0
0
0
41
0
0
0
-4
0
0
30
0
0
0
0
0
0
-13
0
0
0
0
-3
0
-35
0
0
0
0
7
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
-5
0
0
1
0
3
0
0
0
0
0
0
5
0
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
32
0
0
0
0
0
0
12
0
0
0
41
0
0
-37
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
64
0
0
0
0
0
-15
25
0
0
0
0
0
0
0
0
13
1
0
0
1
-11
0
0
0
0
0
0
7
0
0
0
0
0
0
-60
0
0
0
0
0
-1
-2
0
-51
5
0
0
0
8
0
0
0
0
0
0
23
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
-12
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
-1
0
0
0
94
0
0
0
0
13
-2
-22
0
0
0
0
0
0
5
0
0
0
0
-1
0
-24
-4
0
0
0
13
0
5
0
0
0
0
0
0
1
0
8
0
0
0
0
45
0
0
0
0
0
0
-1
0
4
0
0
0
0
-2
0
0
0
0
0
0
-1
0
1
0
0
0
0
21
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-7
41
-48
-1
-1
0
0
-33
-49
0
0
6
7
0
-5
-1
0
0
5
0
0
20
52
1
-1
21
24
0
62
-56
0
-2
-58
0
0
58
62
0
-1
4
6
0
56
-21
5
-1
-19
14
0
14
-10
0
0
0
20
0
0
0
95
0
0
5
0
0
-14
51
71
-5
-87
0
-22
0
0
0
30
0
0
-50
55
0
1
-12
-1
0
14
64
0
5
13
0
0
-5
-56
6
4
3
41
0
-104
-23
2
-1
56
0
0
84
-32
-20
-36
-84
-16
0
-2
-48
3
-12
1
-4
0
0
-27
-102
-23
0
-6
0
0
-10
-23
4
0
0
0
34
2
0
1
-26
-31
0
-6
18
4
2
22
0
0
-28
50
0
-34
18
4
0
-35
-1
0
97
47
15
0
6
-4
-3
-14
-9
60
0
13
-34
-1
-8
37
4
0
0
-45
17
-14
3
22
0
0
-34
-39
-5
0
0
0
-1
12
7
0
2
-13
0
-1
-39
10
-23
6
0
0
0
-5
0
15
-31
-23
0
-4
7
-4
15
3
49
0
-2
-27
0
8
-6
-93
0
-12
-2
0
-9
33
7
0
8
-51
-2
6
-12
50
0
0
-11
1
7
4
0
0
0
33
-53
8
39
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
-7
0
0
0
0
0
0
1
0
0
0
-1
0
0
-10
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
8
-3
0
0
0
8
0
0
8
0
0
0
2
0
0
-1
0
0
0
-14
0
0
0
0
0
0
1
0
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-2
7
100
-66
54
64
3
11
-16
13
3
2
14
5
-11
-54
48
26
-38
-41
-12
3
20
-59
-10
-4
-46
-4
34
-117
-14
5
-32
-14
-8
1
0
-29
-9
7
-7
-16
-1
71
-33
-28
-101
-10
-39
-22
-46
-41
-24
21
2
-71
32
75
-42
-4
-14
-39
-5
0
1
-15
39
-27
-14
-12
-1
-37
52
-22
-27
-39
8
-4
27
-5
-2
9
-7
7
-2
-9
-14
20
-20
30
-16
-17
92
-4
4
-30
-12
-4
-7
-41
31
7
59
27
-28
0
-84
-1
-13
3
8
-32
-10
-1
39
25
-13
-7
-1
-4
129
30
4
1
-46
37
1
46
-35
5
-50
-50
32
11
-21
21
16
13
24
25
0
-13
-55
-9
-42
-11
45
-8
0
3
-1
4
-80
-6
-4
9
41
1
-74
4
-8
-2
-14
-16
7
-14
-17
37
0
-18
74
6
1
7
39
-14
11
-46
9
-8
9
9
-7
-29
44
-9
50
-18
-49
-9
-3
-2
11
44
-96
24
-17
-23
27
-2
22
49
-9
6
-124
12
22
6
73
-6
2
-25
4
-13
12
-54
-11
-1
18
32
8
2
37
-41
-11
-50
-17
0
-28
-16
74
14
2
-31
17
2
-16
-25
-2
74
-19
12
-61
-7
-30
-3
27
-44
25
-22
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
19
0
0
0
0
0
0
22
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
-1
1
0
0
0
3
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
-1
-19
0
0
2
-9
0
0
7
0
0
0
20
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
42
0
0
0
-7
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
-2
0
0
0
25
0
0
8
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
43
5
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
25
-13
0
0
34
-79
0
0
0
0
0
0
-13
0
0
32
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
58
0
0
0
0
0
-54
0
0
0
0
0
0
-25
0
0
0
0
0
0
17
0
0
0
0
0
0
81
0
0
-2
0
0
0
12
0
0
8
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-30
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
21
0
39
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-32
4
0
25
0
0
0
0
0
0
-20
0
0
0
-23
-14
0
-16
0
2
0
-3
0
0
2
0
0
0
-7
0
0
10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
4
0
5
0
-1
0
1
8
0
0
0
0
0
29
0
0
8
15
6
0
-42
60
0
0
33
0
0
10
-21
0
0
12
-41
0
3
-33
0
0
6
0
0
-27
5
0
-117
1
0
0
0
3
0
0
8
0
0
0
70
13
0
0
0
0
0
-56
0
0
0
0
0
4
65
0
0
0
0
0
-7
106
0
0
-20
0
0
-1
-23
0
-1
31
-1
0
-5
-90
2
0
68
0
0
-3
-71
0
0
2
24
0
0
-56
0
0
0
0
0
0
-27
0
0
2
0
0
0
41
-6
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
0
0
0
0
0
-39
0
0
0
0
0
0
45
0
0
-10
0
0
0
64
0
5
0
-2
0
0
9
0
-9
0
0
0
0
-56
0
0
0
12
0
0
-22
0
-6
0
0
0
0
28
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
13
0
0
0
0
0
3
5
1
0
0
10
-1
0
13
0
0
0
-4
0
21
0
0
0
0
37
0
2
5
0
0
0
0
0
-2
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
-20
0
0
0
0
0
2
-2
0
19
-7
-4
0
-33
21
0
0
4
0
0
8
75
0
0
29
-1
0
0
22
0
0
-10
0
0
0
13
0
31
0
0
0
0
-9
0
0
0
0
0
0
-13
-2
0
0
0
0
0
8
0
0
0
0
0
-5
-18
0
0
4
3
0
3
58
0
0
-10
0
0
0
-43
1
0
-2
1
0
0
16
0
0
13
0
0
0
-42
0
0
2
-3
0
0
6
0
0
-3
0
0
0
-22
0
0
7
0
9
0
34
0
0
0
0
0
0
48
0
0
0
0
0
0
-5
0
2
0
0
0
0
43
0
0
0
0
0
0
-5
0
3
0
0
0
0
-41
0
0
-12
0
0
0
78
0
-34
0
0
0
0
0
0
0
0
0
0
0
28
0
-6
0
0
1
0
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-5
5
0
63
-8
-1
4
-2
0
0
19
0
0
5
8
6
0
24
45
-2
-9
-4
0
2
-21
0
8
6
20
0
0
29
-4
-46
5
14
0
0
4
0
10
0
-1
0
0
0
3
31
0
0
4
0
0
0
-18
0
0
-3
92
0
7
0
-25
-16
0
1
-42
0
0
-12
24
3
41
83
0
0
42
31
0
0
53
-2
0
49
3
0
0
-11
12
0
-31
-15
0
7
-8
0
-6
2
42
0
-24
40
27
12
0
55
0
0
0
0
2
0
10
85
29
0
0
0
0
0
0
0
0
0
0
3
-35
0
8
4
-2
0
-53
8
1
-1
-19
-1
0
23
-40
0
0
-7
-57
0
41
-10
0
-5
18
-1
-1
7
11
0
0
32
57
5
-16
-17
0
0
-54
-1
102
0
22
0
12
5
14
-59
0
6
8
0
0
0
1
0
0
-6
0
3
4
0
0
-43
5
-13
4
0
0
1
-2
0
3
10
0
0
0
-5
-3
-28
0
0
0
2
40
-10
-7
-13
-2
-1
0
-41
0
-16
49
0
0
0
-50
0
-10
6
7
0
0
25
0
59
0
0
8
0
-6
30
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
110
0
0
-57
-53
-7
35
-1
0
0
14
2
-4
113
22
0
-3
-41
-34
56
-17
-3
0
7
-23
0
-140
-64
-7
0
0
-26
27
-47
-22
-2
0
0
-2
-23
42
0
-70
0
0
-2
-4
22
0
0
21
0
0
0
-37
0
-82
0
19
-7
42
0
40
-18
0
0
-108
-1
2
-15
-45
0
8
-22
-66
0
-10
20
0
-8
-15
3
2
-107
13
0
5
35
-27
0
-55
62
0
0
-14
-5
15
-12
-30
0
-37
17
-47
-2
0
-44
0
0
1
0
42
0
-17
6
2
0
8
0
0
-56
0
0
0
2
0
3
69
1
41
-46
57
5
34
36
-1
0
22
8
-3
-33
-4
0
-10
-2
-124
0
-7
-15
1
12
1
3
-28
15
40
2
0
16
-51
-5
0
-32
0
-2
-59
0
38
0
-89
0
-5
28
10
0
0
11
6
0
0
2
-4
0
43
2
0
0
6
0
0
-45
7
-64
0
0
3
0
12
0
4
-99
0
2
2
10
0
55
-5
2
-1
0
-34
0
-1
-33
-3
-3
0
15
0
-27
-42
0
0
0
-7
0
-8
-49
29
-2
0
9
0
-33
0
0
-42
0
4
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
-43
0
0
0
0
0
0
-1
0
0
0
42
0
0
19
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
3
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
8
-31
0
0
0
0
0
3
0
0
1
-6
0
0
-5
10
0
0
-1
0
0
1
-22
0
0
8
0
0
0
-43
0
0
-1
0
0
0
-4
0
5
2
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
2
-47
0
0
0
0
0
0
-3
0
0
2
0
0
0
16
0
0
1
0
0
0
27
0
0
6
0
0
0
-5
0
0
0
0
1
0
3
0
0
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-3
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-1
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
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
-1
33
0
0
-9
72
0
35
-3
0
0
0
0
0
14
0
0
0
-25
-15
0
29
-1
0
0
14
0
-17
-8
0
0
0
55
-3
5
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
30
-5
0
0
0
0
0
-71
0
0
0
0
0
8
8
0
48
-12
-5
0
3
-52
0
0
3
0
0
-33
-52
0
0
-14
1
0
-2
-49
0
0
44
0
0
0
-55
0
-1
6
0
0
0
70
0
0
0
0
0
0
-8
2
0
0
0
0
0
-13
0
0
0
-6
0
0
-43
0
0
0
-4
13
3
47
0
0
0
0
-8
0
-27
0
-8
13
0
0
8
-43
0
0
64
0
-4
0
5
0
-3
6
-9
-2
0
44
0
0
0
-3
-3
0
2
0
0
-4
0
34
0
0
0
0
0
0
-5
0
5
1
0
0
0
0
0
-34
0
-10
0
0
0
0
-50
0
0
0
6
12
0
-5
0
31
5
0
0
0
-27
0
-1
0
0
0
0
-46
0
-39
0
0
0
-6
29
0
0
0
0
0
0
-20
0
17
0
0
-8
0
-34
0
0
0
-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
4
2
0
0
6
-3
-7
-76
0
0
0
4
0
6
-22
14
0
0
104
19
-2
53
0
0
-4
1
0
-10
116
0
0
0
-43
0
5
30
0
0
0
0
0
-3
0
-3
0
0
0
0
-22
0
0
0
0
0
0
-1
0
-48
0
0
0
0
0
6
-15
0
0
6
0
0
19
10
0
-40
-25
8
0
29
-48
0
0
-3
0
0
-5
-36
0
0
18
-9
0
0
-28
0
0
8
0
3
0
19
0
51
4
-3
0
0
45
0
0
0
0
-8
0
34
0
-3
0
0
0
0
70
0
0
0
0
0
-13
31
0
0
0
1
-2
1
-28
0
0
6
0
0
0
-18
0
0
-35
-1
0
-8
22
0
0
33
0
0
0
22
0
0
12
0
25
0
9
0
0
0
0
0
0
50
0
0
0
0
53
0
-29
0
0
0
0
0
0
-7
0
0
0
0
0
0
45
0
4
0
0
0
0
-6
0
0
0
0
0
0
-19
0
5
-1
0
0
0
36
0
0
12
2
0
0
61
0
9
0
0
0
0
42
0
0
-4
0
0
0
-9
0
5
0
0
-4
0
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
1
0
0
0
-6
-3
0
9
0
0
0
0
0
0
-3
-1
0
-7
-34
0
0
4
5
0
0
-5
0
0
-2
-2
0
0
7
0
0
12
-1
0
0
-5
0
0
0
7
0
0
0
0
2
0
0
3
0
0
0
0
0
-50
-6
0
0
-1
0
-6
-45
0
0
3
0
0
-3
5
0
13
32
9
0
-59
-27
0
0
-2
0
0
5
-54
0
0
8
-5
0
0
24
0
0
-5
0
0
0
43
0
-46
-2
0
0
0
-10
0
0
-1
0
0
0
34
3
-8
0
0
0
0
-18
0
0
2
0
0
0
12
0
0
-1
16
-5
-8
-13
0
0
-15
0
0
0
13
0
-2
-2
-2
0
16
-9
0
-2
16
0
0
5
-1
0
0
0
0
0
0
-9
0
0
2
0
0
-13
6
0
0
0
0
0
0
38
0
0
0
0
0
0
24
7
0
1
0
0
0
-7
0
3
3
0
0
0
18
0
0
7
0
0
5
24
0
15
0
6
0
0
15
0
0
-8
-2
0
0
27
0
0
0
0
0
5
-7
0
0
5
3
0
0
-13
0
5
2
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
-4
0
2
-21
-16
29
25
13
-9
-1
-6
-83
-58
36
19
2
-4
24
-2
-13
25
19
-1
5
21
-31
-12
4
-6
0
-1
13
-2
-25
-2
-44
0
0
-5
43
-7
0
4
-47
0
0
-3
14
12
-10
16
-13
-1
-23
0
6
2
7
0
51
-4
0
28
-21
0
-5
-13
-13
-2
2
-24
0
0
28
-9
-21
25
30
0
1
66
40
-14
5
11
-4
13
2
12
120
-5
21
7
6
-60
40
47
35
-19
0
1
-6
-2
45
0
32
-20
-19
0
13
-3
0
-13
15
9
-2
4
0
14
-8
6
-1
-49
20
-18
49
15
0
63
-23
-14
0
54
18
-3
-9
40
38
29
-35
5
23
82
13
24
-30
11
5
1
-46
36
12
18
-24
2
0
5
-42
2
-3
-3
-9
7
17
-50
-27
-46
0
-6
53
10
-1
-5
5
0
-7
-17
-2
0
-68
0
-5
53
0
20
61
2
-1
18
30
0
-1
-52
-32
14
4
12
0
12
-42
15
-10
8
34
-19
41
54
-29
23
31
-3
-2
22
25
24
49
-7
-65
0
-7
50
-5
35
0
13
2
-60
37
0
-4
0
4
23
-2
-12
-18
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
24
0
-2
-42
1
-14
37
15
1
0
25
19
47
16
25
-5
-12
-2
-7
7
-138
1
0
-1
-27
138
-47
10
-13
0
0
70
0
66
1
-13
0
0
-23
-41
49
0
0
-25
0
-1
0
60
-1
-12
6
30
0
39
0
-56
0
8
0
40
1
0
-23
-41
-1
-40
-47
13
0
-33
38
0
-14
-11
-5
-2
26
-7
-8
1
1
14
1
45
26
0
4
-8
0
-3
-1
-5
5
-13
21
-8
47
0
-17
1
8
-1
0
13
0
-5
-9
-9
0
2
0
0
12
-5
0
0
1
4
8
0
0
-1
49
52
7
-11
-41
-1
0
3
2
31
21
7
3
-7
8
-73
14
44
19
-4
-10
-37
44
8
-39
-1
0
1
-10
-37
-43
10
-17
0
24
21
3
4
0
11
0
3
-1
5
51
0
31
-8
0
0
-5
-6
0
104
8
0
0
-4
0
6
0
2
-23
-8
0
13
-6
-33
0
-3
-69
34
0
66
65
0
66
47
-8
-1
-5
-9
0
31
-19
56
-2
-9
22
0
-46
53
3
-10
0
5
0
-18
-37
-8
-6
0
-42
0
-68
84
0
4
0
69
25
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
-4
0
0
9
0
0
0
-5
8
0
71
0
0
0
-3
0
0
0
1
0
0
34
0
10
0
0
0
0
0
0
0
0
-6
0
0
0
0
-16
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
21
0
0
0
0
0
1
1
0
24
-15
0
0
0
4
0
0
-12
0
0
3
19
0
0
25
0
0
0
3
0
0
5
0
0
0
0
0
23
-4
0
0
0
1
0
0
0
0
0
0
-64
4
0
0
4
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
69
0
0
0
0
0
0
-4
0
0
31
0
0
0
-54
0
0
6
0
0
0
25
0
2
12
0
0
0
-31
0
0
0
0
0
0
8
0
0
0
0
0
0
31
0
0
0
0
0
0
6
3
0
0
0
0
0
-3
0
-10
0
0
0
0
-5
0
0
0
1
0
0
-13
0
-1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
44
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
-3
0
0
5
0
0
0
3
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
67
0
0
0
0
0
2
0
0
5
-2
0
0
5
-50
0
0
2
0
0
0
-23
0
0
0
0
0
0
22
0
0
-1
0
0
0
5
0
-2
0
4
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-42
0
0
0
0
0
0
-1
0
0
0
0
0
2
-27
0
0
4
0
0
0
5
0
0
1
0
0
0
-47
0
0
-4
0
0
0
-4
0
0
-1
0
0
0
37
0
0
0
0
0
0
17
0
0
0
0
-1
0
-20
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
3
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
4
0
0
1
0
1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-69
0
0
4
66
-22
-31
136
6
0
-50
2
-54
16
80
-43
-7
75
-20
-63
11
2
-2
4
27
9
-23
1
46
13
12
28
50
-47
24
-22
8
-1
-5
-42
-6
-1
34
-32
0
-1
-66
-45
-2
-13
21
-94
0
-69
0
-30
0
-14
-3
-13
-52
-18
-73
9
23
-4
-37
36
-18
3
27
0
24
15
-19
-2
41
-3
8
12
48
28
-35
40
16
34
-20
49
-31
-7
-69
10
-7
28
17
15
-23
-56
-4
-28
-19
-19
10
5
0
-7
17
-38
0
91
-48
-10
-38
-35
-8
-1
-64
-6
-49
-27
-10
-66
-8
-6
44
-3
-32
-5
26
-52
-31
-33
-18
35
-24
22
-27
-5
-54
23
-17
-42
20
28
51
-6
-32
16
-41
9
13
15
17
34
15
49
-35
-4
20
61
-47
1
-2
9
23
-50
36
0
-27
-22
29
-1
-100
-78
0
-20
-25
-2
-1
-79
31
44
-9
-44
27
2
0
-75
-134
-19
-3
102
35
10
-24
53
38
17
2
-22
-53
3
-7
-14
69
38
-12
18
17
31
-31
14
-27
19
-45
18
-7
-8
75
6
-39
35
35
1
-1
-3
-12
19
22
18
-1
13
-35
16
10
-64
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
70
0
-2
-47
-24
0
12
-9
1
-7
-3
-73
10
-1
-26
0
6
-58
-49
7
-2
4
0
22
-9
-4
0
0
-6
-4
5
-3
-19
0
2
-45
14
12
0
45
-83
0
-3
-5
18
39
9
-48
-87
19
0
0
-36
2
0
8
15
0
0
-5
-45
0
-25
-7
19
0
3
-10
0
-3
5
0
20
-55
-21
0
-3
-19
0
-66
24
-12
0
69
21
27
-11
-62
-15
0
31
-6
6
9
-29
-11
-4
-15
17
-3
17
0
6
-39
-57
0
0
-3
-1
16
-77
0
8
6
-4
3
-8
0
16
-38
-1
-29
-23
6
10
0
-13
0
-90
15
-59
0
-15
-14
10
-52
26
3
31
-3
23
-7
-47
-62
5
5
-4
6
-15
-52
-40
-5
12
48
56
-4
54
83
10
0
13
28
0
-32
0
-16
-64
1
-7
-4
4
0
26
32
-3
2
0
-4
7
22
0
-34
43
4
-108
-74
11
0
32
47
-2
68
-39
14
0
-22
-12
0
23
26
-27
-6
3
-53
-3
48
88
-5
0
29
4
0
-15
-20
17
8
-3
18
-25
1
3
-16
0
26
-10
0
3
8
-17
-43
-5
-4
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
8
0
0
-42
0
0
6
-3
1
14
-19
28
0
22
62
2
1
35
0
0
20
47
0
0
-54
-52
0
-41
45
0
0
-64
0
14
-5
45
0
0
-83
-22
-8
0
5
-1
0
13
0
0
0
-5
46
5
0
0
0
25
-41
2
0
8
-2
0
107
-12
0
23
0
-18
0
14
22
0
-17
32
3
0
75
-28
0
0
29
5
0
9
15
0
-14
-43
0
0
-25
53
0
-10
21
2
0
31
4
0
0
16
9
0
0
2
-2
15
0
-19
0
-1
12
1
0
-4
15
0
19
-25
8
20
-35
54
0
54
58
0
28
59
0
0
39
15
0
-2
8
20
0
2
-41
-1
-10
87
-1
0
14
13
3
-15
-10
-57
0
105
14
0
-1
-40
-3
0
19
-35
0
-10
-17
0
0
0
-1
4
0
-3
0
0
0
20
-2
0
-7
3
0
-16
7
4
49
0
0
0
0
19
0
-8
25
14
0
-5
-13
0
31
49
-8
0
7
-74
-3
-43
22
-15
0
-30
-9
0
-40
59
-1
0
-7
-13
-12
2
-29
-3
0
-2
13
0
-36
-3
-1
0
-1
-13
24
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-43
-76
-91
4
-1
16
21
-5
7
29
-1
-27
15
-17
17
8
34
11
-36
-4
-9
-6
-10
75
-22
59
4
-54
-9
37
-32
-73
20
2
-17
46
50
-12
-22
5
22
10
13
-14
12
3
33
9
-145
4
31
-52
20
19
3
3
-8
-92
26
2
3
85
6
-5
-66
0
1
4
36
25
-8
92
32
-14
-15
-16
1
8
-58
-53
-18
14
-37
60
-3
-16
16
15
-12
-40
-84
-7
-53
27
-33
-2
-43
16
-2
12
20
-18
-12
-40
-31
-9
-15
-47
-47
-51
44
-50
0
-147
-34
-17
-5
17
18
-4
-40
-19
5
54
13
10
-8
-58
-52
-16
27
13
-4
-12
-10
-52
11
2
10
-6
-9
54
-7
-5
9
6
34
4
21
66
-10
-42
42
-40
2
105
48
-5
-2
11
-8
-8
-39
-64
26
3
-2
19
-24
-16
5
-5
-11
6
11
-6
-132
-4
-33
-5
101
50
-15
-43
-32
-38
-4
1
7
-11
26
17
30
11
28
9
-9
-3
35
21
41
56
27
9
-22
-3
43
-8
-74
-12
-18
14
-1
2
14
6
4
-4
-52
-3
20
-8
29
39
2
-18
-31
-18
38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
15
5
-1
-44
-8
5
-21
-1
0
0
-17
0
80
-32
0
0
8
61
9
0
-66
-2
1
0
10
0
6
0
8
0
0
5
-5
0
0
0
-13
0
0
0
-4
8
-31
-42
-8
0
0
0
-24
29
0
-1
-1
1
0
-69
0
0
-120
7
9
0
75
-53
0
3
-29
2
0
-25
-6
0
0
46
-13
0
-31
109
0
-1
70
0
-5
-1
-58
0
-65
28
-18
-3
8
12
7
0
0
0
-5
-1
45
46
-9
0
-8
-8
0
29
-16
0
8
0
0
21
6
-6
4
-34
13
4
-42
0
0
-5
23
1
5
-7
-26
1
0
63
-4
3
10
-21
8
18
29
-5
13
29
18
0
-12
-6
8
-22
5
50
0
5
1
3
-4
0
7
0
10
15
-8
-19
-1
5
0
0
0
0
3
0
72
0
0
0
0
2
2
-58
-4
5
-9
0
0
-4
0
2
-5
68
4
0
9
-23
0
60
-8
16
0
2
-62
0
42
8
4
7
0
7
-1
49
-15
7
0
0
78
-3
0
-4
0
8
0
-31
0
10
-2
0
-18
0
51
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
7
0
0
78
0
0
-94
0
0
0
0
0
0
0
0
0
0
18
0
0
8
0
0
0
3
0
0
0
-6
0
0
0
0
34
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
8
-8
0
0
5
0
0
6
9
0
-1
-17
9
0
-3
48
0
0
-2
0
0
-18
31
0
0
1
0
0
4
-32
0
0
-4
0
0
0
123
0
-16
0
0
0
0
14
0
0
0
0
0
0
-1
0
-4
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
-1
0
-20
0
0
0
0
0
1
-30
0
0
0
0
0
0
-93
0
0
2
0
0
0
84
0
-7
4
0
0
0
45
0
0
0
0
0
0
50
0
0
0
0
15
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
30
0
-6
0
0
0
0
3
0
0
0
0
0
0
-1
0
17
0
0
0
0
33
0
0
0
0
0
0
25
0
0
0
0
0
0
-21
0
0
0
0
0
0
-17
0
1
0
0
0
0
-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
-20
5
1
0
-48
0
0
-7
0
-9
0
0
0
0
0
0
0
0
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
68
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
-2
-31
0
0
0
0
0
-2
18
0
18
0
0
0
-9
-30
0
0
5
3
0
1
43
0
0
-1
0
0
1
54
0
0
-16
0
0
0
4
0
-7
-4
6
0
0
35
0
0
0
0
0
0
73
3
0
0
0
0
0
-74
-1
0
0
0
0
0
-1
0
0
-4
4
0
-2
25
0
0
-1
0
0
0
51
-7
0
-2
0
0
0
58
0
0
3
0
0
0
-1
0
0
0
3
0
0
-23
0
0
1
0
0
0
13
0
0
0
0
0
0
-48
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
-2
2
0
0
0
2
0
-5
1
0
0
0
4
0
0
0
0
0
0
4
0
0
-1
0
0
0
-5
0
-2
0
0
0
0
5
0
0
0
0
0
0
33
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
9
-4
-13
29
53
5
-31
-51
-1
3
-17
-6
-11
20
42
-5
0
-6
34
-12
-62
46
0
0
72
-5
-47
-12
17
0
0
-50
4
-7
0
-2
-2
0
0
0
41
2
-4
69
-2
0
-1
0
1
13
-7
0
-5
-8
3
44
35
0
21
8
25
0
-47
-20
0
7
51
-2
3
57
25
-4
54
35
81
31
-34
42
-2
1
-98
6
22
-48
-37
-2
-4
-47
-21
-5
-4
35
0
0
-1
0
5
0
-15
-45
-2
0
-12
10
1
-4
18
-5
0
0
2
-2
13
2
4
-8
2
-2
40
12
1
-1
26
-20
16
-58
-68
31
-29
-41
-3
-21
-41
-24
0
6
-2
-1
80
-18
-58
18
-9
22
25
-8
-2
3
0
0
-3
0
93
-3
58
-2
51
-2
19
-12
0
-8
0
0
0
0
0
0
-6
52
0
-4
7
0
0
-30
-2
-3
-3
6
0
5
32
0
18
22
48
-1
33
-27
-5
36
-47
21
0
2
-36
-8
49
31
34
0
10
-9
5
-68
40
-1
0
-4
-68
0
4
-54
-23
34
-4
9
0
-67
-4
-2
65
0
44
13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-3
0
0
15
0
0
1
1
0
0
-6
0
-2
-4
0
0
0
88
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
21
-2
0
0
0
0
19
50
0
0
0
0
0
-6
-3
0
32
71
0
0
-25
94
0
0
1
0
0
0
34
0
0
-29
4
0
-1
37
0
0
6
0
0
0
34
0
15
16
0
0
0
-24
0
0
0
0
0
0
54
-4
10
0
0
0
0
16
0
0
0
0
0
8
-46
0
0
0
-1
0
15
-35
0
0
-4
0
0
0
-118
0
0
3
0
-1
0
7
0
8
-7
0
2
0
4
0
0
15
0
0
5
6
0
0
14
0
0
0
13
0
0
0
0
17
0
91
0
0
0
0
0
0
-29
0
0
0
0
0
2
23
0
-5
0
0
0
8
7
0
0
0
0
0
0
30
0
23
0
0
0
0
-8
0
0
12
9
0
-1
-13
0
-9
0
0
0
0
5
0
0
0
0
0
0
-57
0
-4
0
0
13
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
24
6
0
59
-1
0
-26
-8
-1
5
1
0
0
39
0
0
0
26
-1
0
-51
7
0
0
8
0
0
-7
1
0
0
-4
0
0
0
0
3
1
0
3
0
0
73
0
-1
0
0
0
27
-4
0
0
14
0
0
-2
50
0
6
-41
95
0
-45
-31
0
6
-58
0
0
28
-73
0
0
-11
-34
0
95
69
0
0
7
0
0
23
-78
0
-15
-25
-17
0
0
-30
0
0
0
0
0
0
-40
-28
0
0
0
0
0
37
-3
2
8
0
0
22
-88
0
0
-8
-4
0
4
-77
0
0
-13
-1
0
48
59
0
-2
-5
-8
0
9
13
0
0
88
-2
0
94
4
0
-10
-41
4
0
14
1
0
0
0
0
0
0
-15
0
0
0
1
0
-2
-72
1
0
0
0
0
0
-84
-1
0
-9
-8
0
0
39
0
28
-4
2
0
-12
41
0
4
-3
-4
0
5
6
0
-32
12
0
0
-5
22
0
0
15
-6
0
1
-34
0
17
-9
0
0
0
-38
0
3
8
10
0
0
37
0
32
0
0
0
0
20
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
13
-44
-50
82
-54
27
-46
22
-9
-22
-33
-10
-42
58
8
7
16
31
14
22
53
-11
15
0
-9
-1
0
0
-27
7
0
0
7
-2
14
-1
-75
61
-21
-18
1
68
-7
23
8
21
25
19
-2
19
7
-1
-68
-71
-15
15
12
44
-62
24
-36
-8
24
-28
-37
-31
-30
-45
16
-17
-9
-1
-22
-16
69
-4
-5
-2
-8
-26
-49
-39
-1
15
-18
39
25
-13
21
22
0
16
-21
21
-2
-21
-9
6
16
-23
43
-31
12
-34
53
4
25
52
-59
-5
-86
-17
-7
93
-25
-42
111
-20
4
-39
-16
83
-24
-12
115
8
8
27
-17
-11
21
69
34
-1
-53
-10
21
7
40
-30
5
-6
-1
-4
33
62
41
-21
13
107
15
-48
21
1
6
-73
-12
-5
43
2
-3
5
67
42
-18
29
44
-13
40
45
15
-2
0
65
-47
18
35
-14
13
46
0
-17
27
2
93
32
-63
-7
42
-38
117
35
42
51
18
123
47
15
-5
67
77
-5
-15
0
-8
-40
9
-46
-26
-12
-18
-14
36
-33
9
30
13
-36
-11
-1
-58
-31
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
51
0
-1
46
-1
-50
-77
-2
0
5
-69
-16
-5
-19
4
0
0
13
0
62
0
-19
0
0
56
-1
16
0
0
19
0
0
12
-24
0
-16
-25
13
-4
1
0
-18
-9
0
0
-3
-10
8
3
-36
0
-41
4
66
-3
-73
0
3
-2
13
13
0
22
2
0
0
-39
6
-2
-18
9
0
-7
-16
18
2
-10
-13
0
-14
4
-14
1
0
51
0
0
9
3
-18
1
22
49
7
0
-4
0
8
-30
0
0
3
-5
0
20
-5
-2
2
72
-25
0
-15
20
0
0
-55
0
-4
-12
0
0
6
-86
-20
0
-31
-30
0
7
-5
-12
0
42
26
0
-6
22
-17
-1
-10
-26
0
0
63
2
0
2
22
0
2
-2
-25
-5
1
82
2
0
-8
0
0
0
3
-4
0
0
0
0
0
12
10
80
8
2
0
-1
-52
6
5
-2
-13
0
-4
0
0
26
22
-18
0
-1
-80
-6
1
1
55
1
6
74
-3
-24
28
0
-1
0
55
0
-3
-4
0
-3
0
-9
0
17
7
0
2
0
28
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
5
0
10
-23
0
0
8
0
0
0
43
0
-2
18
-4
0
0
5
0
0
0
0
0
0
6
0
-86
0
0
0
0
0
0
-8
0
-30
0
1
0
0
0
4
-33
0
0
-5
0
0
2
-7
0
-5
33
0
0
-58
48
0
0
14
0
0
59
-26
0
0
0
4
0
8
-25
0
0
6
0
0
-7
-2
0
15
3
0
0
0
60
0
0
0
0
0
0
-24
4
0
0
0
0
5
-35
0
0
6
0
0
0
18
0
3
-6
0
0
0
48
0
0
4
0
-2
0
-21
0
0
-1
0
0
2
16
0
0
-9
0
0
0
-60
0
0
5
-2
0
0
-29
0
0
0
0
6
0
-33
0
0
0
0
-2
0
0
0
0
4
0
0
0
8
0
0
0
0
0
0
4
0
1
-2
0
0
0
-5
0
0
-2
0
0
0
-13
0
-12
0
0
0
0
-15
0
0
12
0
0
1
13
0
1
1
0
0
0
1
0
0
0
-1
0
0
-7
0
0
0
0
0
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
-1
-10
-1
0
0
15
0
0
-34
9
0
0
-13
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-4
0
36
0
10
0
0
0
-2
-6
0
0
-3
0
0
6
-4
0
-93
17
-6
0
19
-5
0
0
-5
0
0
37
-40
0
0
-5
0
-2
0
-33
0
0
-6
0
0
3
-5
0
19
-7
0
5
0
15
0
0
0
0
14
0
30
-3
0
0
0
0
0
-21
0
0
0
0
0
0
-17
0
0
-8
0
0
-12
31
0
0
20
0
2
-5
-60
0
0
-15
-5
0
2
-16
0
1
31
-1
0
-3
-25
0
0
4
0
0
0
33
0
0
-5
0
5
0
-22
0
0
-1
0
30
0
36
0
0
0
7
0
0
-8
6
0
0
0
0
0
10
0
-3
-2
-2
0
0
54
0
0
0
2
0
0
46
0
-8
0
0
0
0
73
0
0
-21
0
0
0
23
0
-3
1
0
0
0
-31
0
1
1
0
0
0
-4
0
0
0
0
1
0
7
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
12
9
-36
10
88
-6
4
21
-22
24
-20
38
12
-4
59
-10
32
-2
32
-33
-17
-16
4
-13
48
14
-11
-1
57
-109
-32
-10
92
-32
32
6
41
13
13
-31
6
70
11
76
4
44
-10
9
-31
5
32
-1
-28
-21
-2
-1
1
-5
76
0
-21
19
-5
3
-34
21
6
-28
9
-4
-25
1
-24
-8
-17
-25
33
-7
-15
9
6
-16
40
41
6
56
30
18
44
11
1
-3
-14
0
31
7
3
15
7
-6
-14
6
33
-36
22
-7
58
-13
-12
-98
-9
72
0
16
29
-38
-61
87
2
-5
-31
3
-53
-6
30
11
-25
49
-11
-12
-41
54
-16
6
16
6
1
0
105
34
-8
33
2
-27
-12
68
-40
-4
-9
-17
22
39
12
-5
-11
-24
1
30
18
20
-14
-3
-14
55
-61
9
49
-9
1
-18
-31
25
49
-15
22
-11
-30
43
-13
-22
17
58
-2
-18
5
12
7
-15
-41
-24
106
0
49
39
-68
23
5
64
20
4
-30
50
65
7
-17
65
48
-46
12
-40
-25
-38
39
-5
50
-21
-18
3
-50
38
5
70
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-70
13
8
28
0
-33
-58
0
8
-2
-23
0
-45
-3
1
16
0
-29
0
19
16
-23
0
0
57
0
6
0
0
-4
0
0
0
26
0
8
-4
-29
37
0
0
23
-1
-3
0
56
7
2
3
92
0
9
19
0
8
15
6
4
0
-10
-8
-2
31
42
-3
0
-8
0
65
1
0
0
46
-24
0
67
-35
7
-1
7
-35
0
43
51
-1
-3
31
33
0
-48
0
0
12
-78
-1
0
8
0
-21
-42
23
-2
0
2
5
31
4
22
-54
0
34
26
18
0
19
31
0
14
4
10
5
1
15
-3
15
2
-1
0
-4
-4
-1
-60
27
12
0
47
14
17
-32
-51
6
1
-32
-12
0
80
4
-1
15
7
29
0
13
0
11
22
93
107
-1
-19
0
-36
17
0
49
0
-14
-3
-22
-1
-31
-7
0
1
-12
19
0
6
-17
0
9
22
11
0
-3
-88
4
6
37
8
-8
60
-4
4
-102
66
14
0
15
-58
0
-25
-1
52
-5
-34
53
3
11
0
-20
3
30
-69
-1
10
0
-10
-10
-9
-15
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
77
1
0
-25
0
0
-25
24
0
0
-4
3
0
35
0
0
0
1
0
0
0
14
0
0
-1
-11
-1
0
7
41
0
0
2
0
4
-7
-69
5
-4
-13
0
-10
14
0
0
10
0
0
-9
-19
0
55
-9
-62
0
-15
-11
2
5
49
0
0
13
16
1
0
44
-49
3
7
-7
0
-1
23
0
0
20
-29
0
4
-77
39
0
0
-85
0
0
-1
0
0
0
5
100
-42
0
0
0
0
-5
31
0
23
-1
0
3
-45
0
1
-79
23
0
-14
-3
0
0
-7
0
0
-37
-49
4
49
-7
19
4
-46
-35
-1
-9
42
-1
0
8
-49
0
8
9
25
0
-5
-6
0
0
-24
4
0
30
-69
0
18
53
-51
0
0
-34
-4
0
0
0
0
0
-45
1
0
4
4
0
-2
18
0
13
7
0
0
7
45
0
-5
43
-2
0
77
31
0
90
77
-2
0
12
8
0
-8
-30
-55
0
12
-44
0
-23
11
-1
0
8
47
0
-6
-59
-16
0
9
-12
0
-23
0
0
0
0
-55
3
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
7
-5
9
-5
25
-60
-32
3
-23
5
-57
-14
-70
-30
-9
2
-17
26
8
5
-93
-21
-44
75
-6
5
-94
12
-2
14
4
2
-1
-2
6
-3
5
28
35
53
-40
-24
55
-2
9
-33
32
-36
-15
-50
-56
7
12
12
-36
23
55
9
20
-4
48
-52
-6
28
-5
4
-14
69
-9
-12
52
-13
3
-4
7
-76
-21
14
-16
17
-60
18
-1
-5
-9
-49
3
-18
6
19
9
41
-25
-54
-24
100
57
-4
-9
-27
5
12
42
-31
5
-5
-5
-34
68
13
-38
-9
107
-37
-6
-6
52
-15
0
6
-29
-12
13
67
61
-7
-16
35
-7
-13
48
-38
-15
8
80
8
-52
38
-52
-2
-16
29
25
4
49
-2
-20
82
75
9
3
49
-3
-8
7
20
13
72
-3
-27
5
16
21
-3
-54
-24
-6
1
-49
-58
-31
-26
82
21
10
-27
50
34
-42
-52
-5
-13
-24
5
11
-51
-48
86
-17
47
5
41
4
7
130
-16
-55
59
-17
-14
15
23
2
59
-16
39
-16
35
-18
-11
-4
33
-4
17
-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
79
5
-2
1
6
93
-8
52
-12
-3
0
32
0
-63
2
-50
14
0
5
23
-26
0
0
-1
0
3
0
-14
0
0
-84
110
0
41
0
-36
5
0
0
25
0
-4
-50
21
0
-74
23
-35
0
-30
-21
0
-14
46
4
0
-11
0
0
-27
-47
-30
-9
73
-18
0
-6
-25
0
8
63
-10
0
-18
-10
-37
13
6
-93
0
0
-3
0
53
0
-7
-75
23
0
5
-4
0
-31
19
0
-2
15
0
25
1
0
30
-45
-38
-21
31
46
10
0
62
-2
7
-46
-4
0
56
-40
-89
40
-31
0
-2
13
13
0
45
-11
-37
0
9
-65
-26
28
-23
3
1
-10
41
15
11
0
-8
-1
-9
-59
43
2
0
-28
0
-4
0
-6
39
0
97
5
0
-1
26
0
-1
27
0
-8
44
0
1
-4
12
0
-12
62
78
1
-8
20
0
-24
16
8
31
-5
0
-13
-29
20
-56
7
-7
14
0
-15
-11
8
-1
-17
33
0
-7
-10
1
-27
9
-21
0
-30
-43
0
-69
0
-34
-5
3
0
-13
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
2
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
-49
0
0
0
0
0
0
-8
0
58
0
0
0
0
0
0
-6
0
0
1
0
0
-7
17
0
-8
-2
0
0
17
28
0
0
37
0
0
13
-6
0
0
41
0
-2
0
-62
0
0
-8
0
0
0
9
0
-66
3
0
0
0
-31
0
0
0
0
0
0
-28
0
5
0
0
0
0
-10
0
0
0
0
0
1
-75
0
0
0
0
0
17
13
0
0
0
0
0
12
16
0
-1
-5
0
0
0
-6
0
0
-8
0
0
0
-20
0
4
-9
0
0
0
-8
0
0
-7
0
0
0
-6
0
0
3
0
0
0
-42
0
0
0
0
0
0
7
0
0
0
0
0
-3
-8
0
-7
0
0
0
0
-19
0
1
0
0
0
0
52
0
72
0
0
0
0
67
0
0
0
0
0
0
-49
0
15
0
0
0
0
-4
0
0
0
0
0
0
-8
0
-29
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
6
0
0
3
-1
0
0
-3
2
0
0
0
0
0
-3
0
-53
0
0
-2
0
0
-1
6
0
-11
5
1
0
-3
0
-2
-30
0
0
14
0
0
5
84
0
-5
15
0
0
-57
21
0
0
-15
0
0
0
6
0
0
-10
0
0
-8
-109
0
0
0
0
0
6
5
0
-46
-1
0
0
0
15
0
0
0
0
0
0
-2
-8
0
0
0
0
0
4
0
0
3
0
0
0
53
0
0
-2
-12
0
0
-9
0
0
-4
0
0
-3
58
-9
-8
0
-5
0
5
-38
2
0
-3
-2
0
23
20
0
13
13
-1
0
0
-25
0
0
0
0
16
-1
75
2
0
3
0
-1
0
23
0
0
0
0
-3
0
-1
0
0
0
-1
0
0
-5
0
-1
-1
0
0
0
-41
0
0
0
0
0
0
-3
0
-1
0
0
0
0
10
0
0
6
-8
0
0
5
0
-18
0
0
0
0
-32
0
0
4
0
2
0
-59
0
-5
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
29
5
3
-64
21
-25
28
20
8
0
1
12
48
12
45
-3
0
0
-8
-42
-5
4
-93
0
0
0
19
0
18
53
-9
-10
-2
0
-16
-6
4
8
38
-2
5
8
-72
0
58
14
32
0
-20
-48
-1
7
-44
15
0
-22
41
0
10
6
-35
-3
59
0
0
-14
-18
23
13
-94
-1
12
-14
-13
9
34
18
-22
-5
0
10
0
61
0
-23
12
-17
0
-1
-18
0
-7
3
1
-1
0
-3
25
-6
-5
-19
-30
-9
-44
-12
-22
0
16
10
-3
-19
-32
-22
0
1
23
-40
8
-34
11
8
-16
-81
-27
23
-75
-42
10
63
-71
-57
49
6
3
0
-1
8
0
-21
-1
-24
-5
-18
-1
55
-35
0
-18
95
2
0
0
24
0
22
68
0
4
0
0
2
-1
-2
23
9
5
0
66
-34
0
15
25
13
2
5
-22
0
75
13
0
0
-18
-5
0
1
39
-22
0
-5
-40
0
-61
-31
1
69
12
3
-10
10
23
27
3
3
-27
-3
14
-3
0
55
0
-2
-13
-4
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-81
0
0
-4
2
0
0
0
0
0
0
-5
0
0
0
0
55
0
0
0
0
0
0
-3
0
16
0
17
0
0
0
0
-31
0
0
15
0
0
-12
21
0
-14
-8
0
0
-4
15
0
0
-3
0
0
-7
-12
0
0
1
0
0
8
-72
0
0
43
0
0
0
-53
0
-80
2
0
0
0
-29
0
0
0
0
0
0
-77
0
1
0
0
0
0
-45
0
0
0
0
0
0
29
0
0
0
0
-2
1
42
0
0
0
0
0
8
63
0
0
6
0
0
0
-45
0
0
3
0
0
0
35
0
0
-5
0
0
0
-13
0
0
-9
0
0
0
-50
0
0
0
2
-8
0
-32
0
0
0
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
41
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
1
0
0
0
-6
0
-2
0
0
0
0
27
0
0
0
0
0
0
54
0
1
0
0
1
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
49
0
0
23
21
0
-128
33
25
0
43
10
0
-3
40
0
0
-6
28
-2
0
4
-63
0
-1
-12
0
-5
-4
-61
30
7
7
0
-57
-6
0
0
-40
2
0
53
-10
0
-6
-1
1
0
-36
-8
7
0
16
-6
0
14
-65
23
0
10
-23
0
29
5
0
-4
52
-8
0
0
26
-8
-21
5
55
0
2
-19
-2
0
93
9
2
0
5
76
41
0
8
0
2
-3
-3
0
0
14
0
5
14
0
-7
-1
-39
0
-27
15
0
8
20
-5
0
-11
-10
0
-19
7
50
0
-65
3
0
-24
10
0
0
5
-10
-5
109
-7
17
0
-32
19
1
0
-13
0
2
-16
-16
0
-6
-3
92
0
0
-5
1
9
-1
8
0
0
7
48
0
27
28
0
0
28
0
-3
-25
-5
0
15
-14
0
-25
-102
25
0
19
6
-3
27
-39
-8
0
27
17
0
50
8
6
0
50
-10
0
-18
31
3
0
-19
45
8
-5
-35
-35
0
0
-6
0
0
-4
0
0
0
-41
-50
0
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
45
6
14
-80
5
-46
0
-26
0
0
20
0
-113
-1
42
17
0
-2
32
-51
0
27
-53
91
25
-16
0
-11
-11
-5
0
-45
8
-15
-1
-4
0
-4
-25
-79
13
-6
-1
19
14
27
10
24
-8
-5
0
-2
-40
-32
50
-59
-17
15
-50
-45
-2
-17
-4
10
1
6
-18
-68
2
14
13
8
12
24
14
1
0
10
-122
-12
0
-1
2
-5
16
96
0
-1
41
5
-49
20
12
-4
-32
7
51
19
-14
4
-5
22
-5
15
32
27
8
9
7
-17
-80
0
-3
-28
40
-23
35
97
69
-40
37
-5
-19
-66
-34
5
-2
0
25
30
2
-29
-1
-19
-8
5
31
-36
13
0
17
25
-1
-3
26
25
3
55
41
-1
9
-31
0
0
28
5
-60
-13
-8
115
31
-2
0
44
73
-9
-39
0
-19
-3
-75
64
-71
-7
-3
-72
1
-45
38
-47
40
0
7
16
-44
-18
3
-42
-6
-18
-3
-25
-5
54
-3
3
-22
0
-19
105
-6
-31
0
-4
34
4
13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
20
0
-53
0
-3
0
0
-9
18
-4
0
0
5
0
0
0
-33
-1
18
-15
-6
0
5
0
-46
1
0
0
-21
0
0
-48
-16
0
-43
57
-30
0
21
48
0
-1
38
-1
-6
42
-9
0
0
-87
59
4
-58
0
2
18
-80
24
-3
5
-88
0
-75
-25
-6
8
1
-56
0
0
0
0
4
0
20
-5
-5
0
-9
5
0
-9
0
0
1
0
0
-8
81
4
4
1
-5
24
19
-10
0
0
2
0
5
0
0
-8
30
-14
-12
6
-17
47
0
18
41
0
5
-20
0
0
64
3
-42
0
30
20
0
0
-19
1
48
3
-54
-3
0
2
-4
-9
0
80
-9
0
0
0
1
0
-8
13
0
-12
-1
0
0
8
3
20
0
0
0
0
-38
0
-1
-4
15
0
-1
-48
0
-91
-46
-8
0
0
29
0
75
7
-9
0
9
0
0
27
3
0
-2
0
-20
-1
20
0
-2
0
9
24
0
53
13
0
17
0
-3
6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-47
0
1
0
0
0
0
32
0
0
8
0
0
0
-15
0
8
-14
0
0
5
12
0
0
-4
0
0
2
-8
0
0
2
-2
0
-3
27
0
0
9
0
0
0
20
0
18
0
0
0
0
-39
0
0
0
0
0
0
47
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-63
0
0
0
-4
0
0
-15
0
0
3
0
0
0
9
0
-1
-6
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-10
0
0
0
0
0
0
100
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
-3
0
0
0
0
4
0
0
14
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-8
0
0
0
0
0
0
0
7
13
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
1
41
0
0
0
0
0
-35
-5
0
2
35
0
0
-34
26
0
0
-5
0
0
0
4
0
0
5
-3
0
0
28
0
0
31
0
0
-1
-34
0
54
-2
-5
0
0
5
0
0
0
0
1
0
40
0
0
0
0
0
0
14
0
0
0
0
0
0
-25
0
0
4
0
0
7
28
0
0
0
0
0
0
-30
2
0
25
0
0
0
55
0
0
1
0
0
0
-66
0
-1
10
0
0
0
4
0
0
-3
0
0
0
-6
0
0
0
0
-2
0
10
0
0
0
0
0
0
2
1
0
0
0
0
0
-14
0
6
3
0
0
0
-44
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
-2
0
0
0
0
-13
0
0
0
0
0
0
-10
0
-1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-60
5
5
32
-32
17
12
-12
-55
0
42
-16
-4
0
-20
-24
2
-1
-31
-17
13
-3
29
-8
-27
-4
0
-52
-4
9
-30
-13
-11
7
1
21
25
-3
23
-20
-89
5
8
33
5
-44
-79
13
-105
-10
-53
20
-82
-42
6
-54
-1
-8
61
-85
58
16
-67
7
7
35
-4
3
-49
24
-1
7
120
39
-38
-39
0
-9
29
5
-1
19
-48
27
-14
48
53
-23
119
-44
-53
-8
-64
-22
2
-7
34
-50
2
35
4
0
-28
20
-30
7
-68
99
-38
18
-2
-37
10
16
7
0
-31
26
32
-23
5
30
-45
-40
-1
-20
0
3
-16
27
-32
-10
46
-4
18
-15
-14
-71
-4
-2
-10
39
-38
-2
-49
-67
-8
-20
5
-25
22
-37
96
29
-25
66
15
-33
7
27
-85
-28
-5
-66
33
23
-47
12
-16
-9
26
7
-13
-12
38
-2
7
2
-22
4
-32
126
11
-6
5
12
12
51
-7
-15
-15
42
0
15
43
-16
-5
-4
-4
42
-4
-15
5
-16
-59
22
8
1
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
1
0
-11
0
-17
0
-13
0
0
-4
0
-20
0
0
-8
0
0
0
-23
-2
6
8
43
0
0
0
-37
-32
4
6
16
0
0
24
-26
0
-57
-46
0
0
24
38
0
-1
103
0
0
-25
-38
2
0
-55
0
0
21
-36
0
-3
-15
0
0
14
-42
0
11
11
0
0
0
14
0
0
0
0
-6
0
-21
52
-7
0
0
-3
0
19
7
0
0
0
0
1
-56
-1
2
-29
0
5
-29
35
0
1
25
0
-10
20
-1
0
-15
113
12
0
18
2
1
-4
-19
0
60
8
17
0
24
29
-12
-7
-8
-6
0
0
13
0
25
0
25
0
0
1
0
-29
0
-43
-1
-2
0
0
-2
0
-75
0
-1
2
0
0
-2
-5
0
-3
2
0
0
8
-31
0
4
5
0
0
19
17
0
3
11
0
0
0
18
2
-9
11
0
-1
0
-66
0
59
45
0
0
0
58
0
0
-5
0
9
0
3
0
-24
0
0
9
0
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
40
0
0
-31
-25
0
0
109
0
0
6
-20
0
0
0
44
0
-1
-2
0
19
5
31
18
-5
25
0
-82
-32
0
0
-30
0
0
-86
-29
1
-56
-22
-27
0
24
21
0
49
-10
0
0
-23
8
-8
18
19
5
0
18
-16
-4
-2
-35
-5
0
48
-8
0
-9
-24
-10
0
25
33
0
0
46
0
0
0
4
24
-2
0
-3
0
0
-15
-21
-1
0
18
0
25
-27
0
25
-32
-19
0
80
11
0
-6
-1
-5
0
-138
7
-1
5
-14
-8
0
-79
-5
-2
52
-11
-2
0
-31
7
0
37
-18
23
0
94
13
0
-3
-27
-7
0
-1
10
1
1
-47
67
3
0
0
-5
0
0
-3
0
0
-12
64
0
-7
-5
0
0
-43
-5
-28
-34
-3
0
1
-32
0
-2
9
-26
0
-9
10
0
39
-2
-5
0
-24
-21
12
57
94
-1
0
10
2
0
12
33
0
0
-2
-22
0
9
75
-1
0
0
4
-1
16
-7
0
0
0
13
31
0
20
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
32
12
0
43
-51
-17
0
-8
29
0
5
25
47
0
-34
-48
26
0
-31
0
-5
-21
4
1
2
2
44
3
43
3
37
-23
-49
-1
50
9
-5
0
4
-35
-1
-8
15
-3
-9
-43
-3
-24
-13
-16
0
10
-4
-17
8
6
27
3
-7
-39
-57
-1
0
-9
27
-6
8
10
32
0
27
-32
-94
-1
-45
0
0
7
-51
0
-6
-21
18
30
21
8
-15
-84
-12
-19
85
-6
0
-10
-88
-14
48
-93
38
-16
-18
8
-52
4
-20
-4
18
9
-10
60
-41
14
-1
-7
5
-35
-4
-4
-5
-34
4
3
-55
-1
-2
0
-29
-1
-7
-46
-68
-19
0
29
-8
0
1
-5
-31
-4
21
-7
-4
-7
14
9
-5
-29
-41
3
8
0
-40
-3
-25
0
30
94
-11
2
5
73
0
-40
-7
-4
-7
0
-34
-3
-40
12
-52
-10
-12
-16
0
1
-15
20
-24
16
65
-1
29
39
-88
-26
0
-4
-1
-5
24
2
-45
0
17
-41
0
-8
12
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
1
0
-1
-21
0
0
20
0
-5
0
-8
0
-23
1
35
0
1
0
-25
-39
0
0
-17
-2
1
-35
42
0
14
30
-20
0
-51
-28
15
0
-21
0
0
89
9
0
0
-4
-3
3
52
41
0
1
-45
0
5
63
0
1
-27
102
-1
0
2
-9
0
0
-6
1
6
0
-36
15
41
0
3
-2
0
-49
0
0
0
0
0
0
-48
-1
-1
43
-1
12
-2
33
0
4
58
0
-3
-25
41
0
-3
-73
-45
6
33
40
0
0
28
14
-9
-17
-5
0
14
-32
-9
23
-5
0
-1
5
80
0
3
-1
61
-6
8
-13
1
-22
0
2
0
2
0
12
24
0
-45
-2
0
0
0
0
0
-29
0
-19
0
0
0
0
-25
0
4
42
1
0
-1
-3
0
-42
35
4
0
-1
-72
-1
2
-24
-59
-2
0
-1
0
4
-9
0
0
0
0
0
25
28
-13
0
0
47
0
-146
0
-2
-15
0
72
-7
6
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
71
0
0
0
0
0
0
1
0
8
-57
0
0
-15
2
0
0
2
0
0
1
31
0
0
0
0
0
-5
-28
0
0
4
0
0
2
-2
0
-4
-12
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
1
0
0
0
0
23
0
0
0
0
0
0
13
0
0
-9
0
0
0
-93
0
0
0
0
0
0
13
0
-8
23
0
0
0
-27
0
0
-1
0
0
0
8
0
0
0
0
6
0
-13
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
2
0
0
0
0
-3
0
0
0
0
0
0
-1
0
9
2
0
0
0
32
0
-7
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-72
0
0
0
0
0
0
-4
0
20
-2
0
0
-13
28
0
0
5
0
0
0
27
0
0
1
0
0
0
24
0
0
-1
0
0
0
-1
0
4
1
0
0
0
-1
2
0
0
0
0
0
-33
0
0
0
0
0
0
29
0
0
0
0
0
0
20
0
0
0
0
4
0
26
0
0
-1
0
0
0
-49
0
0
-6
0
0
0
2
0
0
-2
0
0
0
8
0
0
-1
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
47
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-42
1
0
-2
93
34
0
-6
63
0
0
-4
-41
3
5
6
55
-3
-56
0
21
11
0
0
-21
-2
0
21
63
0
-58
-10
7
-6
22
32
0
-3
-43
-5
0
-3
-11
0
-3
0
49
17
-58
-50
-8
-1
7
-1
0
3
6
2
15
30
39
-2
5
-74
-9
0
15
35
-48
0
-59
-86
-38
0
5
0
0
10
24
0
4
7
0
32
-22
0
14
5
-12
-39
7
17
1
34
0
16
-58
31
40
-2
4
-20
6
-40
23
-66
31
28
5
-24
-30
-1
-22
39
-49
33
-43
-48
10
17
-14
21
1
2
-9
0
-41
0
-3
0
22
-49
0
-22
10
0
0
5
-21
0
8
-12
0
0
-9
-2
-3
-1
-2
-40
-1
-3
-20
-2
-36
0
-9
6
6
-2
5
-39
0
-29
39
-4
31
4
-8
4
33
2
84
0
0
-33
0
31
3
-3
-6
0
29
0
0
15
-42
-48
-17
-41
0
39
0
0
-53
0
-89
-6
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
-82
0
0
0
0
0
0
0
0
8
0
0
0
0
0
1
58
0
0
-2
0
0
0
-37
0
53
78
0
0
3
-13
0
0
-20
0
0
0
-20
0
0
-13
19
0
5
20
0
0
5
0
0
8
-16
0
-33
4
0
0
5
66
0
0
0
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
-29
0
0
0
0
-7
0
35
0
0
-4
0
0
0
39
0
0
0
-1
0
-3
10
0
0
1
0
0
0
4
0
0
14
0
0
0
-79
0
0
-4
0
-6
0
-10
0
0
0
0
-1
0
-53
0
0
0
0
0
0
-10
0
0
0
0
0
0
14
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
-9
19
0
0
0
17
0
0
-2
0
0
0
-26
0
-3
0
0
0
0
-2
0
0
3
0
0
0
45
0
0
0
0
-1
0
-2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
96
15
0
0
0
-6
0
0
0
0
0
8
-48
-75
4
-3
0
12
-12
0
-1
-35
0
0
14
-70
0
-29
-12
-12
0
2
-2
-7
0
11
2
0
55
4
1
-5
25
26
0
12
-5
0
8
33
14
0
-8
-38
0
-9
-14
-30
0
-3
23
0
-6
69
1
0
0
3
2
47
0
30
0
-25
23
15
-7
0
0
0
41
-11
0
93
-55
2
0
-56
3
-1
0
24
0
0
23
17
0
70
-8
-25
0
26
6
-3
15
-10
0
0
-11
5
0
-32
15
16
0
-6
-13
0
-9
35
0
0
0
-27
0
3
-5
5
7
0
8
-7
0
0
-5
0
0
-37
-5
0
3
-4
0
0
45
2
-5
9
1
-1
15
-37
0
0
-70
27
0
52
4
0
-31
-35
15
0
1
37
0
25
-1
47
0
7
-13
0
-56
19
-3
0
-12
-3
0
7
-48
6
0
0
-38
0
20
-39
0
0
0
-6
-13
3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-15
0
0
0
0
0
0
-79
0
0
-1
0
3
-3
89
0
-23
-32
6
0
30
-44
0
0
-31
0
0
-20
39
0
0
-12
0
4
-10
-11
0
0
-7
0
0
0
-35
0
-1
13
-1
0
0
8
0
0
0
0
-1
0
-13
0
2
0
0
0
0
-7
0
0
0
3
0
0
-14
0
0
0
0
3
-6
-6
0
0
-3
0
-1
1
76
0
-3
27
-4
0
0
44
0
3
5
0
7
0
-26
0
0
31
2
-3
0
58
0
0
-3
0
-8
0
-13
0
0
0
2
-1
0
-42
0
0
0
0
0
0
5
0
0
0
0
0
0
28
0
12
0
0
0
0
-101
0
0
0
0
-6
0
41
0
0
0
0
0
0
14
0
0
1
-3
-2
0
-33
0
8
0
0
0
0
37
0
2
0
0
0
0
-41
0
-4
0
0
0
0
11
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
-1
-3
-2
0
-44
2
-4
0
1
0
-13
-43
0
0
13
0
0
1
9
0
11
36
62
0
54
45
0
-1
-72
8
0
-48
-5
0
-6
-55
-7
10
40
-5
0
6
67
0
0
-8
-36
0
-5
12
-9
-2
-4
0
-4
0
57
14
3
0
5
-8
-7
0
0
0
0
-38
3
0
0
0
0
-4
-2
0
0
25
-8
92
8
27
2
0
-40
1
-7
-5
-31
-6
0
-26
8
-16
-8
-7
-6
-14
12
34
-44
14
19
-3
69
3
30
52
5
-1
0
0
-3
-3
12
0
0
0
0
-17
7
37
0
-59
0
0
0
0
0
0
-33
0
0
0
0
0
0
38
0
-72
0
0
1
0
29
0
14
-1
-7
50
0
6
12
6
-20
-5
6
1
34
2
-5
5
-5
4
1
-74
0
-63
-20
20
12
0
-11
0
0
12
-42
-7
12
0
0
25
0
0
-22
0
20
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
3
4
0
0
0
0
1
43
0
0
0
0
0
0
-2
0
-1
59
0
0
41
-17
0
0
-1
0
0
2
-3
0
0
0
0
0
0
72
0
0
5
0
0
0
35
0
-12
1
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
35
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
33
0
0
0
0
0
-1
58
0
0
6
0
0
0
-3
0
0
0
0
0
0
-49
0
-25
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-25
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-3
0
0
0
-8
-22
0
0
0
0
0
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-25
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
9
-2
0
0
-2
0
0
-3
0
-27
2
0
0
-1
0
-1
-5
-20
0
-28
26
-54
0
-31
18
2
-1
29
-1
0
-15
-23
0
0
-1
-41
0
-26
27
7
0
0
2
10
1
-74
0
9
33
-19
0
-7
26
0
0
0
0
-10
0
10
1
0
0
0
0
0
17
0
0
4
-1
0
13
-108
0
-1
-5
0
-21
-6
23
0
0
-6
-3
78
4
-19
0
6
-40
-13
-2
0
26
3
0
8
-9
-21
5
23
0
0
0
45
4
0
14
0
6
0
0
17
0
-40
-1
0
0
-13
-60
0
-36
0
5
0
0
-1
0
59
0
0
-20
0
0
4
-102
0
8
-1
0
2
2
-83
1
10
3
2
-8
0
-59
0
-60
-3
0
0
-1
-14
0
9
-2
1
-5
0
-4
0
-10
1
0
0
2
-7
0
21
0
-3
0
0
40
0
3
0
6
-7
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
12
-4
6
-2
3
0
0
6
3
0
0
-4
0
0
-69
-13
0
-19
27
-1
0
58
-1
1
-1
-47
0
0
-20
5
0
5
-5
0
2
-15
-35
0
0
35
0
0
0
19
0
-46
4
0
-9
13
14
0
0
0
0
28
0
11
-42
2
-1
0
0
0
-34
0
0
1
0
-2
2
32
7
0
40
0
3
-2
32
0
7
-70
0
-14
-5
-9
0
0
34
0
7
23
-5
-1
-8
65
0
10
-9
-84
0
6
47
0
-3
-24
3
0
0
-6
0
9
0
6
0
6
-2
0
-16
0
14
0
0
0
0
-7
0
-49
0
0
0
0
0
0
-108
0
-6
-8
0
0
1
13
0
0
-13
0
0
1
-4
0
17
42
0
0
0
-13
0
-10
-39
0
0
-8
21
0
16
-9
0
0
0
0
0
0
-14
0
25
0
-4
0
-5
0
0
-24
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-89
0
-32
-35
0
66
1
26
-10
-12
-30
0
-13
6
8
-1
9
-1
0
10
6
1
0
5
-1
0
11
-11
-5
36
-16
-8
9
18
5
26
-4
3
6
0
36
-9
-2
31
2
-14
0
78
13
12
-3
7
-4
0
65
-1
88
10
-5
-33
1
0
2
-5
-12
-8
-33
0
-15
1
-12
2
15
-44
0
2
-3
17
-85
-35
-59
-2
2
7
-7
-46
0
-49
0
3
6
69
10
8
8
0
75
5
-41
41
14
37
-2
-8
-2
16
-24
6
7
0
25
5
-31
14
31
18
0
55
-10
-58
19
-38
1
0
-3
-1
12
72
-24
75
0
0
10
-8
-1
20
-21
0
23
35
27
-35
96
109
-2
25
-23
-41
52
-44
-62
0
-36
-12
-5
-30
-18
6
0
5
0
13
11
24
-11
-5
51
3
-24
-32
34
70
0
62
-24
-8
-48
39
28
0
54
-5
-31
2
52
-13
0
-4
12
-25
88
15
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
1
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
-53
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
2
1
0
4
0
7
-6
0
0
3
0
0
29
1
0
24
-59
0
0
-10
50
0
0
-33
0
0
0
36
-3
0
32
3
0
-15
-42
0
0
-5
0
0
0
24
0
-4
-13
0
0
0
-20
1
0
0
0
0
0
0
0
14
0
0
0
0
-57
0
0
0
0
0
0
40
0
0
0
-6
0
-8
3
0
0
6
0
0
-7
-44
0
0
-51
-2
14
4
-2
0
0
3
0
0
0
-14
0
0
27
-2
0
0
37
0
0
20
0
-7
0
-23
0
-1
0
0
8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-32
0
4
0
0
0
0
-67
0
0
-3
0
0
2
55
12
2
0
0
0
0
-50
0
0
0
-4
0
0
-12
0
-4
5
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
-5
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-33
-17
-2
2
0
-12
-15
1
-1
56
0
0
7
-13
0
38
-30
18
-5
-25
-52
5
0
22
0
0
-30
6
0
0
-92
-55
0
48
-9
0
-2
-33
-6
-1
4
-18
0
22
-23
3
1
0
-49
0
0
-8
44
-24
0
-38
0
12
0
-2
0
0
-29
1
1
0
22
0
0
-28
0
4
59
-22
5
47
56
-1
0
5
0
6
-22
-22
0
-1
-60
-104
9
50
40
0
-1
-81
54
40
-22
5
0
-1
-51
-23
17
-6
-14
0
12
56
5
-93
0
12
0
16
-7
-14
35
0
-29
0
0
0
-3
-2
1
-38
14
0
0
0
0
0
-2
0
15
4
0
-2
-2
2
0
0
-16
-9
10
0
-27
0
-34
-35
0
21
0
-49
0
5
28
-4
5
-1
-30
2
-38
-61
-4
-1
-3
-20
0
-1
16
-48
-2
0
-48
0
-58
12
0
-50
0
-43
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-24
6
0
0
-1
-27
0
0
-1
0
0
0
-34
0
0
23
0
0
0
-8
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
-42
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
4
-59
0
0
0
0
0
0
-20
1
0
0
6
0
0
-19
0
0
-1
0
0
0
-19
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-42
0
0
0
0
0
0
-5
0
1
1
1
0
24
-24
0
0
1
0
0
0
-1
0
2
-2
0
0
0
22
0
0
0
0
0
0
30
0
-10
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-41
0
0
0
0
0
0
-8
0
0
0
0
0
0
23
0
0
0
0
0
0
8
0
0
2
-1
0
0
-22
0
0
0
0
0
0
-8
0
0
-1
0
0
0
-17
0
0
0
0
0
0
-12
0
0
0
0
-1
0
-43
0
0
0
0
-3
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-41
0
0
0
0
0
0
31
0
-1
0
0
0
0
-3
0
0
-1
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
-2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
-4
0
0
5
49
0
-38
-35
0
0
58
-79
0
0
31
0
0
-9
-83
0
0
6
0
0
-1
2
0
-1
-15
0
0
-1
-2
0
31
7
-1
0
0
-3
0
0
0
0
0
0
-27
0
0
0
0
0
0
-30
0
0
2
0
0
0
9
0
0
0
0
-8
0
-48
0
0
1
0
7
1
83
0
0
-3
0
-4
4
-90
0
0
25
0
13
0
-41
0
0
-6
32
-2
2
-50
0
0
0
0
0
0
-27
0
0
0
0
28
0
35
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
25
-4
0
0
0
-8
0
6
-2
0
-4
0
-42
0
-4
-2
0
0
0
-16
0
0
41
1
-5
0
-16
0
10
0
0
0
0
31
0
-2
0
0
0
0
19
0
16
0
0
-10
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
16
-42
22
30
0
52
7
-6
-2
77
0
0
22
-21
0
-9
-19
-69
0
-1
-29
-4
-10
-24
-14
0
7
-20
-2
7
5
-2
0
11
11
0
0
8
-1
0
19
-27
-8
-67
19
-9
0
-9
2
0
-8
11
16
0
0
11
19
38
0
-8
0
-1
-9
5
0
-6
0
0
-81
-23
-6
-4
-15
10
0
23
2
8
9
3
0
0
-63
-8
15
-25
24
45
0
12
12
0
9
8
-1
-3
16
-3
3
13
-14
-111
0
-43
-17
-6
0
-9
33
0
7
-12
-1
-24
11
23
0
0
43
34
1
-1
0
0
0
2
18
0
-3
31
0
-2
50
-2
0
40
-1
0
14
-49
0
22
-31
-29
0
-10
8
-3
-35
47
3
0
-42
-8
10
52
32
-76
0
-45
-24
10
7
50
1
0
18
-28
2
-5
-11
-22
0
6
7
4
13
79
0
0
0
-39
20
-3
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-24
3
0
10
-5
0
0
97
88
0
0
2
0
0
0
-66
0
0
-13
-8
0
-3
86
0
0
-10
0
0
0
24
0
6
2
0
0
0
-12
0
0
0
0
0
0
-29
6
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
1
0
0
0
0
13
0
0
0
0
0
2
8
0
0
27
7
0
0
-12
0
0
-29
0
0
1
56
0
0
0
0
0
0
93
0
0
1
0
0
0
23
0
0
0
0
10
0
-60
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
16
0
0
0
0
0
0
35
0
0
0
0
0
0
-3
0
31
-7
0
0
0
1
0
-1
0
0
0
0
75
0
2
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-72
74
30
13
6
0
1
-67
12
3
8
-25
5
5
-4
-61
19
-28
73
10
-2
-4
-6
2
6
49
3
4
71
34
5
-21
-4
-14
-7
-44
7
-17
6
-8
21
-8
-33
13
-35
5
-8
-13
7
-11
-1
-21
92
4
-8
0
-32
-54
-7
7
27
11
-15
5
23
-15
-26
-29
12
-2
46
24
0
-26
30
17
-2
-17
6
12
-18
20
-28
-6
71
-16
6
-21
-22
-33
-2
69
-35
-5
-6
-18
-3
5
-13
23
4
36
-30
8
3
-104
-26
11
27
11
27
-32
35
58
-30
0
18
-20
0
-30
24
-25
-29
-52
-25
-4
5
24
10
-68
-39
-35
-18
15
-35
-16
17
-50
20
6
37
-25
14
-57
1
18
-7
-3
-13
22
6
-16
8
7
80
11
4
22
-1
-52
5
94
1
7
3
1
1
2
18
23
22
-12
29
64
-11
5
-6
-10
-51
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-42
1
-7
-57
0
-3
-14
-27
0
-14
-61
-52
0
1
-67
0
37
-46
-1
0
112
-40
0
0
-69
30
-14
-40
-32
0
3
45
0
0
37
64
2
-21
14
-1
0
4
50
0
0
2
-4
45
3
59
-2
-10
0
13
7
0
-35
0
1
0
1
5
6
-29
8
-1
23
106
-13
-41
38
0
0
24
0
4
-16
-17
0
24
23
-76
0
-40
-8
9
3
18
5
15
-14
-22
2
18
-21
-10
-23
-7
51
0
18
44
-3
-55
0
2
0
0
-39
0
17
0
-24
-1
0
0
-1
0
0
8
0
0
0
0
0
0
9
0
-11
0
9
0
23
-6
3
8
-40
-49
2
18
-18
0
-13
36
-10
0
7
-95
0
8
-21
28
1
-2
-5
0
-9
-34
4
-2
8
108
-8
0
19
-43
0
-3
47
0
52
6
0
-44
0
-5
13
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
6
0
0
-4
3
0
81
-29
2
-3
27
-44
0
16
43
0
-13
-34
-1
4
22
13
0
0
-76
-41
-3
-52
-21
0
0
3
8
0
-2
34
0
1
-58
-9
0
-2
-20
0
0
5
0
-13
0
0
50
1
0
-9
-1
0
-80
0
7
-3
0
0
0
-23
0
-1
-21
20
13
27
-28
0
0
114
0
-5
-8
-27
0
0
-17
-23
0
-23
-35
1
19
26
-6
8
7
2
4
0
-24
5
-14
0
32
2
5
-110
0
-16
0
-26
0
0
-21
-53
-17
0
11
5
0
0
-4
0
0
-76
0
0
0
0
0
0
52
-4
0
0
0
0
0
-40
0
-4
14
0
2
0
-35
0
0
62
-16
0
0
25
-1
-1
1
-1
0
5
-1
0
29
-1
0
0
0
26
0
-2
-32
-12
-1
0
-21
0
32
5
0
20
0
19
47
0
39
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-5
68
0
43
-1
10
0
27
-23
0
0
-18
0
0
-33
-44
0
0
51
4
0
-15
-18
0
0
54
0
0
0
-103
0
-86
4
49
0
0
6
0
0
0
0
30
0
14
-19
14
0
0
0
0
-52
-9
0
0
0
0
0
-5
0
0
0
2
0
-1
-25
0
0
0
0
0
33
14
0
0
5
9
3
8
-7
0
8
-56
0
-5
0
-44
0
0
-13
17
1
0
-16
0
14
-16
0
-19
0
-9
0
0
-16
-22
49
0
-25
0
0
0
0
0
0
-20
-3
0
0
0
0
0
-3
0
10
0
0
0
0
120
0
0
0
0
0
0
36
0
1
8
0
0
0
-14
0
0
23
-2
5
0
-21
0
9
4
0
0
0
-13
0
9
0
0
5
0
42
0
-22
2
0
-4
0
-56
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
13
0
0
22
0
2
-51
-13
0
47
9
0
0
16
-8
0
0
-9
0
14
-30
-43
0
0
50
0
9
24
4
0
4
41
0
7
7
-37
0
-68
-8
0
-1
-4
28
4
-4
18
0
25
0
5
4
47
0
-2
0
0
-36
0
0
0
0
0
-5
42
0
0
3
0
-30
34
-20
0
0
42
0
13
61
-67
0
0
-19
0
0
-3
0
0
1
110
0
24
9
-44
0
-2
89
0
24
-1
13
0
-12
31
0
37
0
-10
0
0
74
0
24
0
2
0
0
0
0
-8
0
-50
0
0
0
0
0
0
15
-4
22
0
0
25
-1
0
0
0
39
0
0
-1
13
0
137
-55
0
0
0
-45
0
0
-12
0
8
0
18
0
17
11
0
13
0
0
0
0
22
0
13
0
-4
0
2
0
0
92
0
13
9
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
-6
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
-6
1
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
39
0
41
14
-13
-3
-18
24
-2
0
-11
0
8
5
15
-3
0
-3
63
-13
-24
-2
0
17
0
-7
-5
-30
-20
0
-18
-13
-22
4
-8
6
24
0
2
0
-50
0
23
-6
-37
0
5
-1
0
7
5
1
-7
2
2
-3
51
23
-19
111
-36
53
-41
-19
-1
-17
-10
-5
23
-4
45
17
-9
45
100
21
-11
27
-4
31
31
22
-62
21
-3
-6
-46
-42
33
2
5
2
0
8
26
0
40
0
-4
0
24
31
70
9
0
22
9
-32
0
9
17
0
-8
16
0
-1
5
0
0
39
-6
6
43
0
1
1
-15
0
-6
6
15
-7
0
16
2
6
4
0
-6
-1
-8
7
33
1
61
-23
8
12
0
-58
-57
-10
-5
-10
-29
0
21
38
25
44
-3
13
13
-25
9
29
110
0
22
-11
6
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
6
-35
-2
3
-31
60
4
-8
30
-11
-23
-54
74
31
5
5
-18
10
7
-2
7
-6
108
-31
-3
47
8
14
-2
41
-8
-5
0
47
-7
-6
-38
41
-15
1
18
10
-4
6
34
-13
24
-3
24
-1
-41
-44
-5
-58
10
6
0
-21
-3
21
31
17
-63
11
-11
-8
24
24
-66
-3
8
52
-50
-18
-6
29
24
-1
-12
54
-1
-64
-18
16
1
-11
77
5
-6
24
-40
-5
26
-58
-14
42
4
-33
15
-50
19
-25
-5
1
-49
-2
21
-60
11
-44
-35
-5
5
2
-132
-18
-31
-37
-28
0
-74
5
17
60
35
2
-13
7
87
-3
5
20
17
-3
11
34
-9
-34
40
-58
-13
-30
-25
-15
-22
-18
36
12
-15
12
-10
4
41
-69
-13
5
-14
-13
12
-15
-25
0
-30
-9
-13
-59
-6
-25
3
4
-15
-28
80
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
29
0
-3
8
0
0
-6
-108
0
0
87
0
0
-3
56
0
0
30
0
0
3
8
0
0
-1
0
0
0
-18
0
1
-4
0
0
0
43
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
1
1
0
0
68
0
0
0
0
0
0
-2
0
0
6
0
0
8
42
0
0
1
0
0
0
31
0
0
4
-1
0
0
51
0
0
0
0
0
0
52
0
0
0
0
0
0
122
0
0
0
0
-2
0
-4
0
0
0
0
0
0
13
0
1
0
0
0
0
49
0
0
0
0
0
0
33
0
12
0
0
0
0
-1
0
0
13
0
0
0
8
0
-5
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-10
23
-1
0
4
-83
0
0
20
0
0
0
-22
0
0
-1
-8
0
6
25
0
0
0
0
0
0
0
0
37
12
0
0
0
8
0
0
0
0
0
0
5
-1
0
0
0
0
0
-7
0
0
0
0
0
0
54
0
0
0
0
0
0
2
0
0
14
0
0
0
38
0
0
0
2
0
0
46
0
0
0
0
0
0
-25
0
0
-5
-1
0
0
25
0
0
0
0
0
0
3
0
0
0
0
-2
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
3
0
0
0
23
0
5
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-8
0
0
2
0
0
0
43
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
21
0
-20
-30
16
0
-14
21
0
-3
25
-2
-1
-14
-11
-4
-13
14
34
-3
-40
9
0
-4
-24
2
-2
1
-4
0
-10
-28
-51
2
-34
6
0
-6
14
-5
-79
0
-9
40
-28
0
-4
0
3
22
13
0
0
-13
-2
-28
38
0
2
4
-57
9
6
62
2
0
58
5
-4
-18
28
15
-66
1
37
-36
1
3
1
46
53
13
-35
-15
-3
0
10
3
18
96
23
-15
0
8
25
-5
7
0
-5
0
7
15
-41
4
0
-15
1
-10
0
42
-1
4
10
7
0
0
-8
1
0
13
8
-44
13
3
0
2
47
0
-17
45
29
19
0
-35
1
13
16
-1
-13
-2
4
0
-13
-23
92
13
0
-16
0
-43
40
24
-28
2
23
0
-3
33
23
38
1
20
0
-45
4
0
-19
0
2
-14
-3
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
-102
-13
0
0
-1
-11
0
0
43
0
0
0
-22
0
0
2
0
0
0
51
0
0
-2
0
0
-6
-31
0
14
-4
0
0
0
6
0
0
4
0
0
0
16
10
0
0
0
0
0
-67
0
0
0
0
0
0
-6
0
0
0
0
0
0
-15
0
0
0
0
8
0
27
0
0
10
0
0
2
-17
0
0
-4
0
3
0
-6
0
0
-9
0
-5
0
-22
0
0
0
0
0
0
45
0
0
0
0
40
0
-29
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
0
0
0
19
0
0
0
0
-3
0
-1
0
0
1
0
0
0
-1
0
0
0
0
0
0
1
0
8
0
0
0
0
-24
0
0
2
0
0
0
20
0
-3
0
0
4
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-42
0
-58
-7
-17
0
-10
-97
0
0
-27
0
0
13
-9
0
0
19
0
0
-5
-26
0
0
20
0
0
-16
-69
0
-2
-15
0
0
-5
4
0
0
5
0
0
0
-13
0
5
0
0
0
0
-9
0
0
0
0
0
8
71
0
0
0
0
0
-5
82
0
2
18
0
0
1
-20
0
0
12
13
0
-6
18
0
8
-16
0
0
4
139
0
-2
-1
0
0
-5
-5
0
0
-1
0
0
3
-89
0
0
-1
7
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-8
9
0
0
0
103
0
0
-5
0
0
0
1
0
12
-3
0
0
0
-88
0
0
-7
0
0
0
9
0
-5
0
0
0
13
28
0
0
-12
-13
0
0
14
0
-19
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
3
33
2
30
4
37
23
-10
-12
-3
-63
3
35
-5
-1
12
14
-20
5
-79
10
3
19
-71
-8
34
124
-35
-6
1
-44
-2
31
0
18
-33
58
0
21
39
0
-25
12
0
5
-45
1
19
11
-18
-68
-88
63
-43
-80
1
42
-1
16
-14
70
51
26
4
-23
-25
77
-2
52
-14
-3
-54
-1
42
-72
-50
-30
-13
15
5
-36
7
-33
5
0
75
-72
-5
-41
-7
-48
-1
6
-77
13
13
0
5
-39
16
-1
25
27
0
1
-42
19
49
49
0
0
4
7
62
2
-3
-35
-1
29
6
2
-21
-19
19
-52
-18
-1
-31
57
0
-15
13
-6
5
52
2
41
-19
8
-43
1
53
45
-3
9
3
65
-25
32
-2
64
-69
0
10
0
81
61
5
-6
0
6
44
7
-23
-25
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
1
25
-8
22
-42
-5
79
9
-13
6
38
67
-49
11
-21
0
62
26
20
-42
15
-2
9
12
6
4
49
30
-5
28
1
-1
5
-37
0
-14
-1
-85
-7
-37
18
4
4
-49
-3
-43
-1
2
5
-15
23
-2
-28
71
-29
-47
0
-76
26
-28
-23
-5
50
27
-9
25
-1
9
7
-30
11
67
43
-13
-3
-101
-17
-4
24
21
21
16
-64
32
-30
2
52
-22
-4
13
-105
-22
8
5
37
2
-20
0
12
0
-8
8
-18
-87
0
-35
43
5
-1
16
7
0
-5
16
77
12
-17
-3
29
0
-6
48
3
10
-31
41
-48
-3
-4
-15
60
64
8
-3
18
37
-43
-57
-21
4
-63
12
-33
68
3
55
-42
19
1
79
19
-43
24
7
-6
3
-5
-1
-10
46
-1
11
37
-5
34
37
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-2
0
0
0
-26
0
0
1
1
0
1
22
0
0
3
0
0
0
8
0
-30
0
0
0
0
2
0
0
0
0
0
0
-12
0
0
0
0
0
0
-18
0
0
0
0
0
0
27
0
0
0
0
0
0
-44
0
0
0
0
0
0
-19
0
0
0
-2
0
0
-13
0
0
3
0
0
0
-20
0
0
-7
0
0
0
-20
0
0
0
0
0
0
-8
0
0
0
0
0
0
60
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
0
0
-4
0
-3
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
5
0
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-2
57
-17
4
-40
5
36
-34
-17
-37
19
12
50
-5
14
25
13
41
7
-32
41
8
-5
3
-31
-7
-1
16
-19
-41
13
16
21
37
0
1
-13
-35
33
27
-23
-32
25
-73
1
-25
14
-66
22
3
66
44
23
-6
18
0
-11
17
-56
-26
29
29
-28
-16
29
-46
-19
-21
35
16
-21
1
34
-10
13
5
28
5
-34
26
16
51
-42
-30
3
68
-36
-33
-11
37
102
-41
-41
70
-41
22
13
-6
10
-20
29
-8
10
1
-2
29
45
49
-42
-74
-13
-12
-5
-1
-39
-22
-51
-41
-2
6
13
15
18
35
-67
-31
-7
-24
6
9
-60
35
-24
3
-34
-34
-13
-5
41
-47
1
10
-15
47
-39
-13
-20
-29
51
16
-33
-47
-64
-13
-7
13
30
27
4
31
-1
-8
-40
-17
3
-40
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-2
-92
32
-7
42
1
3
20
45
-24
-4
-4
4
12
-17
-27
26
31
-71
73
3
31
4
6
-1
-57
-2
14
-47
55
35
-9
-12
0
3
14
12
-1
65
-14
42
-8
-51
23
-5
14
-5
41
-18
26
60
-41
-90
9
-75
-8
-25
40
17
-44
-33
-92
7
7
-56
-56
-20
-1
7
17
-34
25
20
66
-14
-26
12
-9
18
-1
-1
-138
80
20
-29
-17
35
5
38
-52
14
-13
77
28
14
12
-3
7
16
43
-6
-21
14
-5
10
105
4
53
-50
-25
6
-88
0
24
44
4
82
-12
4
2
18
-46
6
-50
2
-28
-15
-9
22
-120
-5
61
19
27
-2
11
-44
-21
55
-9
22
-45
0
5
11
-23
21
-37
-57
1
15
37
41
-4
24
-5
42
-1
1
-1
12
-57
-16
-25
29
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
33
3
0
26
0
1
-102
-2
0
13
-33
0
21
-8
-2
0
-2
-6
8
-4
-37
-18
0
16
-2
0
47
-2
4
-2
-13
-47
0
-38
0
6
-65
-14
0
0
8
0
7
3
8
-5
-5
6
-5
-9
-3
-1
-41
0
-136
37
-13
0
24
47
0
-87
-1
-29
-1
0
1
7
4
-31
2
0
76
26
0
56
32
13
-3
12
8
13
-5
-3
-31
0
10
-35
1
21
-5
8
0
32
-14
3
-3
0
2
-9
7
-4
19
-71
0
9
-48
0
-6
0
-14
1
4
0
18
-16
0
-20
29
-21
0
5
1
0
-18
22
-1
0
-39
-13
4
21
16
-34
0
-43
-23
-7
99
-6
23
0
20
14
0
36
5
65
0
-7
-7
0
19
-14
-3
0
60
-5
0
4
0
-34
43
6
24
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-41
0
0
-6
0
0
-1
-21
0
0
3
2
0
0
-29
0
0
-8
0
0
0
-49
0
-10
5
0
0
0
30
0
0
0
0
0
0
56
8
0
0
0
0
0
46
0
0
0
0
0
0
-8
0
0
0
-1
0
-1
38
0
0
5
0
0
3
-13
0
0
-2
-4
0
-1
41
0
-1
-5
-7
0
0
20
0
8
9
-6
0
0
22
0
0
0
0
0
0
41
0
0
3
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
0
5
0
0
0
0
-33
0
0
0
3
0
0
49
0
-15
0
0
0
0
-9
0
0
-1
17
0
0
3
0
-3
0
0
0
0
72
0
0
3
0
0
0
5
0
-6
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-3
35
9
28
18
-23
7
-16
47
-15
25
17
-23
19
-41
10
8
-8
-2
29
-10
-31
-31
-3
25
21
0
16
-35
-67
4
44
61
3
13
-8
-5
-64
-19
-5
155
6
8
-48
-15
3
108
3
7
1
23
3
-53
43
-21
7
-18
47
31
55
-15
23
-9
88
7
-15
-90
28
-8
8
80
-13
8
10
-18
49
27
-75
73
28
-46
20
4
-5
21
18
20
6
59
-2
5
-38
3
-18
-58
13
-4
-42
-90
-20
7
-31
-5
51
23
-5
-26
28
-9
35
-34
-13
-4
-38
39
-57
-5
-55
-8
13
41
11
-29
-20
-6
0
-26
31
40
-25
27
88
7
28
0
57
25
-30
142
0
49
67
-5
8
28
8
3
-15
18
20
-1
-8
-7
6
30
-24
-52
-15
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-13
35
-6
-13
0
-10
20
1
34
-47
2
7
-44
-18
-27
2
7
-13
-37
-59
1
-11
69
-58
23
12
-15
-19
-11
-49
-1
-10
-86
-8
27
5
41
-109
-37
-51
21
27
0
85
5
-15
37
4
-5
0
-120
-71
3
17
0
8
0
39
-33
34
10
69
-19
-38
0
14
0
86
23
-7
-1
22
-57
16
-33
-50
22
-5
47
26
20
-59
-45
-40
5
-13
-94
6
7
0
-5
4
30
-24
-58
2
30
-47
-5
-4
-57
20
-9
32
9
-11
30
21
-55
34
-9
45
-10
15
-4
9
30
-26
16
0
54
45
-20
1
28
-22
-15
70
-43
2
-12
-2
-2
2
-75
-16
-51
-12
-3
38
12
70
7
6
-1
-9
-24
-2
23
10
30
-31
-12
42
5
29
25
55
-15
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
-1
-1
0
-2
-10
0
0
-16
0
0
0
-37
0
-14
-3
0
0
0
-8
0
0
0
0
0
0
5
3
16
0
0
0
0
-27
0
0
0
0
0
0
-5
0
-1
7
0
0
0
-33
0
0
2
0
0
0
-24
0
0
3
0
0
8
-31
0
0
0
0
0
-1
-21
0
0
13
2
0
0
94
0
0
0
0
0
0
5
0
0
0
0
17
0
66
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
-8
0
0
-4
0
0
0
-8
0
0
0
-4
0
0
2
0
8
0
0
0
0
-23
0
0
0
0
0
0
21
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
0
0
23
-18
0
-7
-13
0
0
17
0
-14
10
6
0
-3
-5
-3
-3
0
-13
0
0
0
0
0
0
-12
-3
0
0
0
0
-1
4
-1
0
0
0
0
-2
-108
0
0
0
0
0
13
-81
0
0
2
0
0
2
-13
0
0
-1
-1
6
7
-86
2
-5
-5
-1
0
0
119
0
0
-4
2
1
0
76
0
0
-5
0
0
0
45
0
1
0
0
0
0
-121
0
0
0
0
0
0
4
0
0
1
0
0
0
-7
0
-7
0
0
0
0
7
0
1
3
-1
0
0
37
0
3
0
0
0
0
-39
0
0
-5
-3
0
-1
35
0
25
-13
0
0
4
-2
0
0
-2
0
0
0
-39
0
2
-4
0
-2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
10
-13
34
33
42
-51
9
-20
0
51
-22
-29
35
-9
-16
-4
-3
33
-35
0
-22
5
-8
0
-27
-10
-5
2
3
9
99
-1
37
-8
-3
41
17
54
-8
22
-12
-39
8
-13
-60
61
-2
-65
7
14
10
-22
-4
25
66
15
-2
49
-4
36
21
-5
35
-23
36
-12
-19
-13
-2
41
29
24
-50
21
21
27
-9
24
-9
43
1
-3
14
-49
-7
28
31
40
27
13
-1
-2
-28
-43
8
-6
-24
0
26
-23
0
4
-90
1
-16
-27
53
9
45
7
120
31
51
5
51
46
7
17
-44
-15
-9
-30
-46
-27
0
0
-6
5
-28
41
51
-27
17
8
-1
11
40
16
-34
38
-17
-1
-19
75
19
-7
-42
-9
-1
32
10
-12
-35
-2
37
21
31
42
5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
42
0
0
50
0
0
-12
-16
0
0
43
0
0
-7
-47
0
21
33
-4
0
0
-4
0
0
0
0
0
0
56
2
0
0
0
0
0
-49
-5
0
0
0
0
-5
68
0
0
0
-3
0
6
-7
0
0
-1
0
0
16
4
0
0
12
0
0
0
-67
0
1
-8
0
-5
-7
58
0
0
25
0
0
-6
-13
0
0
-2
0
0
0
35
0
0
0
0
21
0
39
0
0
0
0
0
0
42
0
0
0
0
0
0
98
0
0
0
0
0
0
49
0
3
-4
0
0
0
-136
0
2
-3
0
0
0
49
0
0
1
-7
0
0
-51
0
-19
-1
0
0
0
-16
0
0
-4
0
0
0
-49
0
15
0
0
22
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
60
0
0
43
0
0
19
-57
0
0
-8
0
0
0
-33
0
47
3
-6
0
0
24
0
0
0
0
0
0
-12
2
0
0
0
0
0
3
0
0
0
0
0
-3
42
0
0
0
-4
0
-59
9
0
0
15
0
0
4
15
0
0
-5
0
0
-23
-58
0
-2
1
0
0
-4
27
0
0
54
4
0
0
-38
0
0
0
0
0
0
4
0
-1
0
0
0
0
-72
0
0
0
0
0
0
-41
0
0
0
0
0
0
34
0
3
0
0
0
0
39
0
0
9
0
0
0
-22
0
-22
0
0
0
0
-1
0
-3
8
-9
0
0
-10
0
-17
8
0
0
0
-60
0
0
-8
0
0
0
-22
0
22
0
0
0
0
25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
35
0
-2
-74
-39
-31
1
-24
-9
15
-30
27
25
-6
-26
-2
-4
21
-7
-9
0
-19
-51
17
0
23
8
-17
35
-42
-8
5
-4
-2
-19
39
-12
41
-3
123
5
-93
9
0
46
-65
-3
24
31
16
6
-40
5
18
55
12
-35
-17
0
-64
-4
-22
-66
3
-5
22
-28
12
33
24
-8
3
-8
-19
0
-73
-1
14
13
-6
-61
-4
-10
2
-35
20
8
0
5
25
0
-14
-49
0
14
-25
0
-1
21
8
-16
17
7
-10
-4
55
0
-11
5
20
-3
-1
1
-2
-50
-12
19
0
0
-25
-1
73
-12
42
-1
-2
12
8
-40
58
-4
3
6
-16
-6
18
-33
-60
1
-17
0
0
23
-33
0
16
0
-36
15
30
10
17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-14
-41
-27
12
-57
20
-22
4
39
-27
-7
23
-93
-13
6
-23
7
-37
-34
-59
0
-23
-25
-15
15
-9
-114
55
15
-23
43
-19
27
-66
34
6
92
-27
19
0
-11
-11
0
1
7
23
-5
-57
51
16
-43
55
-41
38
0
16
0
-71
-49
-2
24
18
-7
8
135
-29
13
28
-10
-59
-4
53
30
11
4
13
-7
6
17
92
17
60
-1
41
6
49
-67
-42
5
-14
31
1
-16
27
17
-30
53
-41
-15
76
22
102
17
-38
41
2
32
29
4
-37
-4
-38
9
41
-10
-26
-9
15
72
0
76
15
47
-15
23
-66
-5
66
-20
4
-10
15
10
-15
-37
-78
-75
49
23
21
-4
-41
-65
-6
57
-19
37
19
-3
-5
-24
-74
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
75
0
0
-19
0
0
-2
13
0
31
20
-1
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
-3
0
0
-6
-16
0
0
0
0
0
-2
-51
0
-1
-6
0
0
-2
5
0
0
-5
0
0
-2
-20
0
0
18
-1
0
-3
-5
0
0
-5
0
0
0
7
0
0
0
0
6
0
-44
0
0
0
0
0
0
-14
-3
0
0
0
0
0
-8
0
6
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
-2
0
0
0
-4
0
0
-3
0
0
0
18
0
1
0
0
0
0
44
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
11
0
0
-22
0
0
12
-22
0
25
41
0
0
0
30
0
0
-3
0
5
0
-29
7
1
0
0
0
0
-14
0
0
0
0
0
0
10
1
0
-3
-1
0
-2
3
0
0
-3
0
0
0
-49
-1
0
4
8
0
-6
-9
0
0
-4
0
0
-2
0
0
2
-31
14
0
-8
-49
0
0
-1
0
0
0
-49
0
0
7
0
-7
0
-43
0
0
0
0
0
0
-45
0
0
0
0
0
0
-17
0
-7
0
0
0
0
-7
0
0
6
5
0
0
-1
0
6
-12
0
0
0
-45
0
0
0
0
0
0
-34
0
34
-4
0
0
0
9
0
0
0
0
0
0
8
0
-15
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-11
-1
-4
-17
64
32
-66
-13
0
23
-16
-17
28
26
-26
59
-5
50
47
-42
0
16
-95
-63
0
-42
-64
-25
11
-17
-1
1
-43
5
-50
14
9
31
-42
-16
-42
43
-5
6
-6
57
-24
49
-50
-6
37
-41
-12
-22
54
-36
-16
71
-22
13
-42
-69
31
28
-7
-37
14
-13
8
1
5
1
-32
-28
75
5
27
-16
6
56
72
57
7
0
28
-66
-3
-3
-18
59
1
3
33
20
17
-3
6
13
-11
76
27
27
-4
9
61
-2
-1
9
6
-73
-4
-6
3
-2
-32
2
-76
-24
-5
11
-19
14
37
53
-8
-27
8
3
19
-31
-8
48
-14
22
9
61
7
37
39
-16
-12
8
9
50
-13
-5
9
34
53
12
31
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-32
0
-1
-3
-3
25
16
-36
-4
17
-15
0
-59
0
29
1
8
0
0
-19
0
7
1
-51
0
0
-7
-4
15
-1
0
-3
0
22
41
32
-3
-10
-22
22
4
21
9
0
5
23
10
34
-9
1
0
37
-22
0
5
-33
20
0
-8
20
0
30
-58
7
0
-30
51
-10
-13
5
-39
-3
42
46
0
57
0
45
0
-9
-6
0
25
0
17
-5
-2
8
0
-32
0
-50
17
0
-5
1
0
5
-104
6
23
-44
0
34
2
57
0
4
-106
0
4
44
6
0
7
-13
-12
0
-5
41
0
41
19
1
6
13
-27
0
-26
129
0
-7
-6
-27
-2
5
33
0
50
-3
37
-3
36
-24
0
5
0
28
27
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
20
0
-9
90
0
0
-2
3
0
-24
-2
-24
0
0
-36
0
0
0
0
0
0
13
57
0
0
0
0
0
63
0
0
0
-1
0
0
-45
0
0
-2
-2
0
-13
-25
0
0
-58
0
0
-9
29
0
0
-13
-23
0
18
-68
0
0
-38
-1
0
0
-75
0
0
-60
-39
0
0
35
0
0
-5
0
0
0
-85
0
0
0
8
0
0
-77
-8
0
0
0
0
0
-40
0
0
-3
-4
0
0
-24
0
20
-2
0
0
0
-54
0
1
24
0
0
-13
4
0
29
2
0
0
-3
36
0
-6
44
45
0
-2
58
0
-96
16
0
0
0
9
0
0
-12
0
0
0
55
0
50
0
0
0
0
-17
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
23
15
22
10
41
27
0
-20
0
7
12
-7
-16
0
5
-48
-12
0
2
-1
1
25
64
-3
0
0
-4
43
-16
-13
-13
35
-15
-41
-57
-2
0
-1
-4
0
-4
-47
38
-1
-18
12
48
33
-14
-16
44
27
11
4
-56
-7
12
-13
12
-29
32
-15
22
-3
29
13
-44
1
27
5
-8
0
-7
-1
-65
-34
-4
1
1
0
8
3
-12
1
65
66
0
27
-18
0
2
21
12
77
-48
0
13
13
6
0
-15
49
63
-12
2
4
-3
-22
21
14
-2
-1
5
-8
7
-9
-31
26
7
-32
-14
9
23
-1
0
-2
-11
0
7
-120
31
4
-3
15
0
-13
-75
0
-29
3
5
13
-12
1
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
-64
-18
1
-4
-20
0
2
39
-24
-1
13
-61
-7
-2
17
-24
-45
-19
-50
-54
-9
-46
-14
39
16
-47
15
-8
7
-130
-37
14
-33
-11
-9
-7
6
-5
39
-7
3
10
35
-51
5
-15
37
16
4
15
-16
7
28
27
16
0
-41
-42
0
14
-24
45
-1
5
15
44
58
18
95
12
-3
-49
14
-62
-10
-52
4
-3
24
-45
-79
38
-31
21
27
123
44
65
-20
-127
-5
-33
22
1
36
10
12
-4
-53
-8
-11
7
10
-6
2
18
-27
18
16
50
-50
-6
-22
-38
-45
-6
-6
-84
0
97
16
-51
30
-25
5
6
67
76
-2
13
-15
5
-10
-43
-18
-35
-13
13
-49
8
22
36
33
-8
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
31
0
0
0
0
25
0
0
0
0
0
0
70
3
-2
0
0
0
0
-63
0
0
0
0
0
0
-19
0
0
0
0
0
0
8
0
0
0
0
0
0
56
0
0
-6
1
0
0
-15
0
0
0
0
0
0
-22
0
3
0
0
0
0
19
0
0
1
0
0
0
8
0
0
0
0
0
0
26
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
5
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
94
0
-31
-8
32
0
6
83
0
0
0
-1
0
0
-43
-23
0
0
0
0
0
-7
0
0
0
0
0
0
-11
0
0
-1
0
-8
0
-11
0
0
32
0
0
-6
-2
2
0
1
14
-2
1
-50
0
0
45
0
13
13
20
0
-5
7
5
2
-5
-3
0
0
8
0
0
-7
-23
0
0
0
3
27
0
39
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
-20
0
0
0
0
26
0
0
0
0
0
0
-26
0
-5
-8
4
0
0
-39
0
-1
-7
-7
1
0
-31
0
0
-12
0
0
-2
9
0
0
1
0
0
0
85
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
6
-5
22
-6
34
-13
-46
-10
6
-5
15
-6
55
0
13
5
-134
0
-26
20
-2
-1
48
-1
17
-12
-3
-108
13
34
103
31
9
-31
-25
13
2
6
32
-6
60
-60
13
0
42
-14
20
25
1
-10
-10
-9
13
-14
-2
-49
1
-13
-19
-3
-11
81
67
-8
-13
-1
-21
1
4
67
-22
0
8
-7
10
1
1
16
-1
14
-1
31
-15
-1
14
32
-2
3
7
7
88
17
42
-30
-8
-4
-13
-60
2
-6
-63
59
70
0
74
8
0
-55
-36
24
-55
42
21
-5
-22
-21
28
13
49
-14
23
1
24
39
-25
-29
31
7
16
2
61
26
41
-9
-6
14
-35
-2
27
0
13
-20
-8
-4
-7
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
25
4
0
0
-2
-41
0
0
0
0
0
0
85
0
-1
0
0
0
0
-49
0
0
0
0
0
0
70
0
0
0
0
0
-9
-95
0
0
0
0
0
3
-69
0
9
31
0
0
0
-3
0
0
-21
0
12
0
-55
0
0
19
0
0
6
8
0
0
-9
0
0
0
-17
0
0
4
0
-3
0
-26
1
0
0
0
0
0
-6
0
0
0
0
0
0
-55
0
10
0
0
0
0
16
0
0
1
0
0
0
-8
0
23
12
0
0
0
-20
0
0
4
17
-1
0
-16
0
-2
0
0
0
0
-54
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
-3
-6
-8
0
0
26
0
0
-1
0
0
0
0
0
0
0
13
0
0
25
0
0
0
0
0
3
-83
0
0
28
24
0
-9
-31
0
0
47
0
0
37
1
0
0
-24
31
0
-2
-18
-4
-15
0
0
0
-3
-21
0
-2
29
32
0
3
-36
0
8
-8
0
0
0
-30
0
0
3
-26
0
0
-45
2
0
0
0
0
0
1
-1
0
0
0
0
0
31
0
-5
0
0
0
0
20
0
5
-2
-1
0
0
-3
0
19
9
0
0
-4
-19
-1
0
25
-13
0
2
11
0
-7
67
0
0
-1
3
0
-4
-8
4
0
0
-52
0
83
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-5
0
8
0
-2
0
-34
5
-2
0
4
0
0
-24
2
2
0
1
0
13
-26
0
-2
-4
19
20
5
8
0
5
108
0
44
0
1
0
12
74
17
6
-3
-31
1
12
-5
-13
-10
0
-15
5
5
-28
1
-2
0
-22
0
-16
13
0
-9
3
-13
1
-1
1
0
-20
0
-10
31
0
0
0
13
2
160
-3
0
6
0
0
4
78
0
57
5
8
0
3
-28
0
-6
41
31
0
0
41
0
13
-26
12
0
0
-54
4
3
-7
20
1
0
23
0
7
-7
-6
3
0
-83
0
1
7
-31
0
0
-13
0
-23
0
0
-19
0
13
2
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-10
127
-17
-2
35
29
-1
-3
9
54
-1
3
45
-13
-2
25
-6
-30
36
-109
19
-10
-71
-39
-13
48
-32
17
-7
12
-12
25
-29
-35
-26
0
80
-14
3
-19
-132
9
1
-47
-31
-27
-30
-81
1
-25
36
114
-19
-29
4
-24
0
-34
-91
-39
58
-58
30
25
44
-30
13
-45
-28
-2
4
-16
-7
-21
-146
-100
-1
13
52
4
-50
12
16
-33
22
17
17
29
-55
-5
-5
-12
-10
-62
-17
14
58
-102
21
1
43
85
41
38
-11
-5
-69
-26
-43
17
-88
-3
-22
4
70
34
30
-26
-25
0
13
19
94
-6
-11
10
13
-6
-32
-3
-52
4
-4
5
10
35
33
-32
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
12
0
0
0
0
0
0
20
0
0
0
0
0
0
30
0
0
2
0
0
0
45
0
0
0
0
0
0
-31
0
0
7
-4
0
0
31
0
0
3
0
0
0
23
0
1
-1
0
0
0
-47
0
0
0
0
0
0
27
0
0
3
0
-2
0
-10
0
0
0
0
0
0
-8
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
-16
0
0
0
0
-1
0
0
0
6
0
0
14
0
10
0
0
0
0
-27
0
0
0
0
0
0
-18
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
9
-1
8
-27
47
-32
1
-7
-24
0
-3
41
-9
-63
16
-14
-1
-10
52
49
-45
-5
63
26
7
26
-1
-8
-12
16
-27
44
9
41
5
-5
38
-52
8
-10
29
-31
-7
0
-18
22
-4
37
-31
-16
-51
59
37
18
22
86
13
41
26
39
-96
-10
2
22
8
51
32
16
28
0
-3
-34
34
-16
-3
36
-7
13
-14
-10
17
-6
29
43
-19
-23
24
3
-5
-1
-8
-16
74
2
48
-34
121
-9
4
31
5
22
65
76
-3
-7
28
31
23
-9
9
-28
-11
16
13
28
31
-19
25
-27
17
75
-83
15
-51
-10
-5
15
-72
-29
-4
-15
-2
17
16
10
28
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
38
-2
-5
4
-4
-58
0
6
17
26
0
-8
0
0
-46
-15
-1
3
-2
-3
90
-8
-1
0
62
-81
30
41
30
0
-2
5
24
-52
39
-1
5
39
-31
7
20
-45
-3
1
-37
35
34
-59
31
-17
0
-66
-45
22
-1
0
-52
6
-18
-24
-3
-82
1
11
6
57
0
-98
-28
0
35
7
16
0
-8
5
0
-80
30
0
1
23
-2
3
18
0
-20
3
0
19
29
17
0
8
-38
-25
56
5
-36
0
16
-38
69
-48
-8
9
1
23
-44
-77
17
-16
17
0
15
8
-3
81
3
-26
0
-51
2
15
-43
-3
17
0
59
-8
29
29
0
-14
84
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
4
0
-5
6
19
0
-1
-33
16
0
0
-6
0
-1
16
0
2
0
-1
59
17
-4
-6
40
0
-7
32
-15
0
5
16
0
-10
-44
-27
0
13
33
0
12
57
5
0
1
36
0
14
16
31
0
2
54
0
-7
49
19
0
-2
20
0
3
1
2
0
-1
22
0
26
0
6
-3
8
0
14
-1
-3
-45
-36
0
-4
-3
0
0
-25
0
-3
8
0
0
45
10
0
5
62
0
-3
-17
-18
0
14
11
0
-4
3
4
0
21
-17
-4
-5
-4
19
0
-25
-41
0
16
6
-18
0
-2
-38
0
-2
10
-2
-1
-3
59
0
-41
0
-1
5
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
-42
-6
1
0
0
0
0
-40
0
0
0
0
0
-5
-9
0
0
-2
0
0
-2
23
0
-4
47
0
0
0
36
0
0
70
7
0
43
-43
0
-3
23
3
0
-2
40
0
0
-69
-53
0
0
38
0
0
1
0
0
0
-48
0
0
-2
-12
0
0
63
-5
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
-1
1
0
0
0
-74
0
0
10
0
0
0
8
0
-2
-3
0
0
0
40
0
0
-5
18
0
0
-36
0
4
6
0
0
0
8
0
7
69
22
0
0
-9
0
49
0
0
0
0
41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
2
0
0
0
0
51
0
0
0
0
1
0
18
0
0
0
0
16
2
10
0
0
-5
0
3
-7
57
0
14
-23
-5
0
1
-57
0
0
-38
1
-5
8
-52
0
-1
-22
-2
-2
0
-45
0
0
-17
-2
-10
0
52
0
7
0
0
-7
0
-27
0
0
0
0
-2
0
8
0
0
0
0
0
0
-18
0
7
0
0
0
0
13
0
0
0
2
1
0
30
0
-8
7
-4
0
0
-94
0
0
-6
0
-2
0
-31
0
-24
-8
0
3
0
-31
0
-5
0
1
1
0
58
0
-1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-44
-12
5
-1
-5
-25
0
14
-5
58
-39
52
7
53
-46
47
13
-15
37
-11
28
43
6
-52
0
-51
-14
18
-3
-16
-48
13
6
-8
4
45
8
-109
-14
-4
-2
-33
51
-30
0
-52
13
-19
2
-38
-10
1
17
25
0
49
12
-73
-55
-20
-1
-11
23
-3
14
-4
16
5
17
-84
46
26
-50
3
6
13
23
34
39
0
-66
20
32
5
-12
-34
-7
68
10
14
23
68
56
-14
-57
-4
-26
-21
24
-61
25
58
-84
21
20
17
-27
31
-12
118
-28
13
-47
-100
38
-47
-3
0
9
3
-44
9
-49
-5
35
-45
-12
-3
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
1
0
0
0
0
0
56
0
0
0
0
0
0
41
0
0
0
35
13
-2
60
0
0
1
0
0
0
-46
0
0
-4
0
0
0
98
0
0
24
0
0
0
20
0
-3
5
-4
0
0
-40
0
0
-4
0
7
0
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
-5
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
1
0
6
0
0
7
0
0
0
0
0
0
-18
0
-3
5
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
3
0
0
0
27
0
2
0
0
0
0
0
0
-60
0
0
5
0
-4
0
-14
0
0
-1
0
0
-13
-40
0
0
4
-7
0
0
23
0
0
31
1
0
0
-63
0
0
-4
0
16
22
14
0
0
1
0
-2
0
-2
0
0
0
10
-5
0
81
0
0
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
7
0
0
0
0
0
0
51
0
0
-24
0
0
0
19
0
0
0
0
0
-8
31
0
3
2
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-14
-8
0
8
0
0
7
0
0
0
-9
0
2
7
0
0
-2
6
-2
-2
6
0
0
2
0
1
1
44
0
1
-68
30
0
2
-6
0
-2
-27
-4
-6
-2
-19
0
-1
-13
-18
-54
0
-72
0
0
0
0
-48
0
-36
0
0
0
-6
8
0
-10
0
0
0
0
-4
0
1
8
0
0
0
0
0
4
0
-5
0
0
-8
0
-37
0
0
5
-1
0
0
-50
0
49
-1
8
0
0
-29
0
0
18
8
0
0
21
0
48
-6
0
0
0
30
0
0
16
13
0
0
-22
0
32
0
0
0
0
-44
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
0
0
0
0
-71
1
0
0
0
0
0
-5
0
0
0
0
-32
0
11
0
0
0
0
0
-1
-28
0
0
-6
5
0
0
-43
0
-2
-15
0
-3
14
24
0
0
35
0
-6
-8
9
0
0
-1
0
5
0
-11
0
0
0
0
-2
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
4
0
0
0
14
-1
0
0
0
-1
0
0
-18
0
-29
1
0
0
0
23
0
-2
0
1
0
0
2
0
-5
0
0
0
0
86
0
0
5
0
-1
0
51
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
87
-21
0
13
0
0
-7
0
0
-2
0
0
-9
51
0
0
-5
70
0
23
-10
0
6
-15
17
0
84
25
0
-3
-13
43
0
14
-9
0
3
7
0
0
41
-48
0
20
-38
25
0
-10
-2
0
42
6
0
0
0
-44
7
3
-4
-84
0
0
-24
-2
-2
0
5
0
0
-55
-15
0
1
4
0
0
44
0
35
-4
0
0
0
-28
0
-4
85
-15
0
2
7
0
38
57
-3
0
-4
40
-3
4
28
-73
0
3
6
0
12
11
0
0
0
18
0
6
-31
51
0
0
-67
0
-19
31
0
0
0
-49
59
-39
15
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
3
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
-21
18
-126
-33
24
50
10
-10
92
59
-10
20
-23
-9
1
73
-6
15
34
80
-19
2
-29
23
18
5
42
51
-4
37
66
4
-38
4
8
1
-66
5
8
0
-43
-64
-2
32
1
-15
0
-75
39
-16
13
-40
-3
-16
-27
-41
0
-12
-36
-34
5
-85
-5
-44
-28
19
-32
13
-2
16
-1
126
-7
13
58
69
17
6
5
-36
24
23
42
-16
-3
-23
45
-15
36
43
-17
6
0
5
-2
12
28
15
-10
27
10
-15
-7
-5
23
-36
94
-39
18
-17
51
84
22
50
-4
25
29
29
31
0
2
-24
21
-69
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
-2
0
0
5
-5
0
0
-4
42
-6
-29
22
5
-5
-25
1
18
6
12
-1
-29
-50
2
-4
-14
-6
0
-9
-6
-3
-24
-2
2
1
-7
-114
89
5
-24
-3
-3
-5
-6
-8
23
0
31
0
3
-62
-31
-132
0
40
42
-17
-1
0
-7
0
-156
19
0
9
0
-8
2
-38
0
20
-30
0
0
-1
17
0
1
-8
60
2
-3
-9
-4
-13
-53
-3
0
-4
-86
4
69
-69
-51
8
7
-42
8
-17
-25
0
1
5
-48
0
-1
3
12
-13
0
-2
0
-5
-10
0
21
0
31
8
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
7
0
0
-3
122
0
0
8
18
20
-25
-44
0
0
-74
6
58
-7
-46
0
1
-42
21
0
50
-41
-4
5
-10
-3
-31
18
-24
0
6
-95
31
2
-8
-67
6
-1
16
23
34
-4
111
0
0
-12
-13
-45
0
-70
0
0
0
5
2
3
31
3
0
0
0
0
3
-48
0
58
2
0
3
0
-14
0
0
-1
2
0
0
49
0
-1
0
-3
0
0
28
0
6
-33
4
24
10
-46
0
-2
-3
-3
0
0
30
0
4
-3
-1
12
0
-2
0
-2
4
2
-42
0
14
15
25
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
32
0
0
0
0
1
0
16
0
0
-1
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-48
0
0
0
0
0
0
1
0
0
0
2
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
6
0
0
0
0
5
38
0
0
-9
0
18
-6
-41
0
0
21
0
-8
24
-47
0
1
-18
0
0
0
-1
0
0
-91
0
1
5
-5
0
0
-5
0
-2
-3
8
0
0
132
0
70
0
-7
0
0
0
0
28
0
7
0
0
0
0
0
0
-49
0
0
0
0
0
0
-27
0
-4
0
0
5
-2
-55
0
0
-1
0
0
10
-49
0
-2
-25
0
0
3
79
0
6
12
0
0
0
-3
0
18
0
0
1
-8
-46
0
-6
-13
0
0
0
-37
0
-6
0
0
14
0
21
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
10
0
0
0
0
-1
0
0
0
7
-6
0
-1
43
0
0
24
0
0
-3
-22
0
0
15
-9
0
0
118
0
0
-24
0
0
0
28
0
0
22
22
0
0
-66
0
0
-5
-2
0
0
-32
0
-1
-2
1
0
0
1
-1
0
0
0
0
0
17
0
0
0
0
0
0
17
0
2
0
0
0
0
-16
0
0
0
1
0
3
-33
0
-4
7
0
0
0
-16
0
0
-3
-6
0
0
-57
0
15
0
0
0
0
74
-4
-2
-2
1
0
0
-56
0
-22
0
0
0
0
-80
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
-1
0
0
7
-1
0
0
14
0
0
1
0
0
0
96
0
0
-9
0
0
0
-8
0
0
0
0
1
0
-2
0
0
0
0
-13
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
10
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
-25
0
-8
0
0
0
0
0
0
0
0
0
0
0
13
0
10
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-12
4
-33
25
-41
-35
-1
24
56
66
22
-64
-11
23
2
57
49
27
-17
31
-23
-2
-37
79
-1
-23
-1
-48
3
-45
-8
-9
-1
-29
-18
4
4
18
-8
53
-33
3
-19
44
40
-27
-25
21
16
13
-12
-71
10
-24
-29
0
0
33
-55
-22
19
-2
53
8
57
-48
-36
14
46
-1
-10
-5
24
-12
1
-15
-72
12
10
-6
39
-57
13
79
3
-54
-37
12
-1
-10
37
14
-61
31
7
-56
4
-27
4
-84
39
12
-32
-1
21
8
-8
6
-2
13
34
-32
6
-13
-31
34
-40
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-47
0
5
55
-13
0
8
41
0
0
8
0
4
-7
-82
0
0
51
42
0
-3
16
-2
0
-54
-19
2
8
-17
0
-5
13
-6
-2
-2
-25
0
0
-5
0
-7
0
-28
0
0
8
-5
-49
0
16
0
0
0
0
-8
0
37
2
0
0
-6
-5
0
24
0
-8
-2
3
-2
-5
50
0
0
0
0
0
1
31
0
35
-5
1
0
0
-2
0
0
-2
-4
0
0
-58
0
-15
-7
0
0
0
-8
0
0
-1
16
0
0
21
0
24
0
0
0
0
25
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
90
0
0
0
0
0
0
-6
0
7
-1
-1
0
0
59
0
0
-1
0
0
-1
-19
0
0
-3
0
0
0
-32
0
0
0
0
0
0
43
0
0
0
0
-2
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
41
0
5
0
0
0
0
5
0
0
0
0
0
0
56
0
0
0
0
0
0
-13
0
0
-4
0
0
0
-6
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
9
0
12
0
0
0
0
13
0
9
0
-5
-1
-13
0
1
1
0
8
0
0
-30
0
4
0
0
20
-5
0
0
-8
0
0
0
0
0
0
27
0
0
0
0
-35
0
-4
0
0
0
0
0
0
29
0
0
0
0
0
0
66
0
8
0
0
0
0
-10
0
0
0
0
0
2
12
0
-1
0
0
0
0
2
0
0
0
0
0
0
64
0
1
1
0
0
0
-5
0
0
0
0
0
0
-60
0
-1
0
0
-5
0
5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
2
0
-6
6
-59
0
0
-3
0
12
0
6
0
0
19
0
5
0
-49
0
-4
-5
0
2
23
19
0
0
16
10
-5
-2
21
0
0
4
0
-1
0
-15
0
3
0
0
44
0
46
0
0
0
0
0
0
-41
0
0
1
0
0
0
-6
0
0
0
0
0
0
21
0
0
17
0
7
0
-15
0
18
55
0
0
0
-1
0
-2
0
-1
0
0
-5
0
-8
0
0
0
-2
-33
0
0
8
0
-6
0
-54
0
10
0
0
-22
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
0
0
3
0
0
-32
0
4
0
0
0
0
-30
0
0
0
0
0
5
-33
0
0
-8
0
0
0
49
0
0
-8
0
0
0
35
0
0
5
0
0
0
-16
0
0
-6
3
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
0
0
-42
0
-5
0
0
0
0
52
0
0
-1
0
0
0
0
0
9
-1
0
0
0
13
0
0
0
0
0
0
32
0
7
2
0
0
0
-15
0
0
5
-5
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-93
0
4
-43
0
-3
-3
11
0
0
51
-79
-8
19
-26
0
47
-51
5
0
2
124
0
-4
22
-5
-6
0
18
0
0
-45
0
-24
0
11
0
0
3
0
-25
0
-15
0
0
0
-7
0
0
1
0
0
0
0
0
0
73
-7
25
0
0
-1
0
19
0
3
14
-12
0
1
-24
0
37
-31
0
-2
0
66
-2
8
93
24
0
0
61
0
46
35
0
0
0
-49
0
0
-6
0
0
0
18
0
-3
0
0
21
0
28
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
24
-3
-49
23
-16
-91
-19
26
-15
88
-26
62
-25
45
10
50
-35
2
-2
-39
32
-5
-13
15
11
-1
23
-74
-9
-42
-7
3
-25
7
50
-1
85
27
-27
-19
11
25
-26
-13
53
4
-4
26
-5
-23
-3
0
-27
0
-19
40
0
-116
23
-50
-33
6
64
40
-7
15
20
-1
5
-22
31
5
20
15
-20
-2
23
-15
15
7
46
-2
37
40
0
47
49
25
32
78
-33
-33
-20
54
56
17
-31
18
3
-22
4
-114
41
44
-3
-4
35
-28
4
-3
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
32
0
-4
9
-59
0
-3
2
0
0
3
-11
0
-2
-48
0
4
0
-66
0
0
-31
0
0
0
27
0
2
0
0
0
0
53
0
0
0
0
-3
0
24
1
0
0
0
-2
0
8
0
0
0
0
0
0
-1
4
0
-3
0
0
0
-6
0
6
0
0
0
2
-17
0
1
0
0
0
0
-15
0
0
1
2
0
0
-17
0
13
0
0
0
0
-63
0
0
-4
0
0
0
-72
0
13
0
0
0
0
-5
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
72
0
0
0
0
0
69
102
-2
0
4
25
0
9
44
0
0
38
0
8
-1
-42
0
1
28
17
0
0
21
0
0
48
0
-39
0
-5
0
0
-4
0
-13
0
-20
0
0
0
2
0
0
70
0
0
0
0
0
0
-56
0
5
0
0
3
0
-2
0
-6
12
4
0
0
-31
0
2
-2
0
0
-2
-34
0
0
-8
-5
0
0
123
0
0
3
-6
-2
0
89
0
5
-1
0
6
0
-1
0
-10
0
0
31
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
10
2
6
13
-44
51
0
48
-15
30
-5
33
24
0
85
16
18
18
-27
-2
-4
30
18
-8
23
23
4
0
-16
22
0
22
0
21
0
-8
17
-13
26
0
-4
2
0
0
0
6
0
-23
21
0
0
0
0
0
45
0
-48
0
-5
0
0
37
0
-10
-1
12
-1
-13
29
0
45
-5
-5
3
-18
-38
6
2
-133
17
-10
3
1
5
-17
44
-7
5
14
8
0
-1
-47
128
-35
0
27
0
38
-7
0
-4
0
-16
22
0
-2
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-67
0
0
-2
0
25
0
14
0
-8
-1
9
-13
23
-30
0
17
5
2
-44
25
-25
0
-4
-1
0
37
-4
3
0
-9
18
0
36
0
18
0
2
-4
0
-39
0
-14
2
0
1
-3
0
0
-8
-21
0
0
0
8
0
61
0
33
-13
0
1
6
68
0
-4
8
0
19
7
-12
0
-31
-9
0
-5
-6
23
0
54
69
1
1
-1
-30
0
-8
-41
0
-9
2
22
0
0
53
4
-15
0
25
0
-45
0
0
7
0
42
-3
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-60
0
0
-80
8
0
1
-62
-18
22
-13
13
0
-18
1
12
41
13
-90
0
-13
72
0
-10
13
-3
0
-59
-16
8
17
-4
-9
0
-5
3
-1
-4
10
-3
0
0
14
-5
-1
0
-6
0
0
11
6
0
2
0
0
2
13
0
32
-19
0
0
1
85
-3
6
91
-13
0
9
34
0
6
85
-41
0
-4
-35
1
17
42
29
0
10
78
0
43
-16
5
0
1
97
-2
-8
23
-13
0
0
12
0
-49
23
8
0
0
23
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
55
1
8
21
-55
4
-56
24
-1
4
-10
-27
42
-4
36
0
31
-77
-6
21
0
45
0
0
15
9
82
-3
58
6
7
47
-26
-9
0
-11
-16
0
0
8
5
0
2
0
0
-7
31
0
0
-8
1
-42
-8
0
0
0
27
3
-8
29
-9
14
0
27
0
-79
-59
-12
3
-12
24
-4
49
23
3
-2
16
31
0
46
10
0
9
0
-32
-1
-4
1
-13
-3
0
33
0
44
75
0
114
0
-68
-16
0
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
7
-58
-61
0
-29
-30
26
17
11
-11
29
-11
-51
61
12
58
22
40
-27
-1
21
8
53
7
35
-30
-31
-6
-7
-9
33
54
36
-3
92
-1
-90
-19
85
27
6
-75
25
37
15
-67
-84
-113
4
17
14
-41
-13
-18
-57
-38
0
-5
-6
20
10
6
107
-30
-34
-31
6
23
-2
-4
4
38
-3
-13
-10
-50
13
8
-11
2
32
-14
-19
35
1
30
14
13
11
27
73
-8
3
-16
-19
-35
-28
-20
41
5
51
-11
70
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
48
0
-2
-3
0
0
0
37
0
0
-20
0
0
0
33
0
1
-4
-3
0
0
4
0
0
1
0
0
0
-68
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
-1
0
0
0
0
0
1
0
-3
0
0
0
0
-7
0
0
3
0
0
0
8
0
0
0
0
0
0
-9
0
1
-2
0
0
0
-4
0
-2
0
0
0
0
30
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
62
-3
1
-12
17
0
1
46
0
0
6
0
2
0
47
0
0
3
5
2
0
64
0
0
-8
0
0
0
30
0
0
-6
0
-8
0
-64
0
0
0
0
0
0
-21
6
0
0
0
0
1
-5
0
-1
-3
0
0
0
56
0
0
0
0
0
0
-66
0
-1
29
0
0
0
-54
0
0
0
-6
0
0
-31
0
-6
-5
0
0
0
33
0
0
0
0
0
0
-66
0
-5
0
0
14
0
-4
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-4
15
64
-5
-20
12
-56
33
-12
-38
-10
24
34
56
26
-1
79
-31
-13
-52
-50
39
-9
18
6
2
106
46
3
0
-7
34
-10
32
0
-2
75
-12
5
10
-24
0
33
-28
-1
3
45
0
0
3
3
-25
22
1
4
29
58
0
40
33
8
5
9
3
-8
39
-19
29
-7
-31
21
0
-1
30
78
21
85
5
2
-3
-17
0
-42
8
-7
4
84
39
10
3
-7
7
0
-7
-9
0
13
0
14
7
-18
3
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-58
0
0
-30
0
0
-1
-36
0
0
7
0
3
-4
47
0
0
-3
-1
0
0
22
0
0
0
0
0
0
-49
0
0
0
0
-23
0
-30
0
0
0
0
-2
0
-17
0
0
0
0
0
0
87
0
-1
0
0
0
0
80
0
0
-4
-5
0
0
12
0
-20
0
0
0
0
48
0
0
7
0
0
0
49
0
-9
0
0
0
0
37
0
0
1
0
0
0
-93
0
-1
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-66
0
8
37
11
0
0
-71
0
4
-26
17
0
0
27
0
13
6
49
0
0
-53
0
-6
71
-4
0
0
35
0
5
-42
0
0
0
43
0
0
0
3
0
0
-48
2
0
0
3
0
0
11
0
-26
-1
-1
0
-2
96
0
-2
66
31
0
0
-39
0
33
-42
-5
0
5
25
0
7
15
26
0
0
-41
0
-6
6
5
0
10
49
0
-1
-4
-2
0
0
47
0
-27
-13
0
0
0
-57
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
25
7
2
0
-31
-7
13
14
7
1
-46
-3
39
1
24
8
-1
-62
0
-31
0
-10
-3
-2
-20
81
24
0
-5
1
31
1
-4
-4
0
-41
5
0
3
-10
0
0
16
0
49
-47
-1
0
2
74
0
7
65
-47
-5
-1
-22
0
-16
44
16
0
-5
-14
7
0
-84
-15
8
4
-71
0
-38
23
6
-6
-1
9
-2
2
78
129
-2
9
14
0
2
-4
-1
49
0
5
-34
-53
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
10
-14
-12
12
52
-24
-21
9
-20
41
27
-4
-35
39
3
-34
7
42
-24
-39
-30
-8
74
-51
8
23
-4
-24
8
101
-37
-6
4
22
13
-13
-37
22
48
-24
-35
82
11
4
-30
-12
-45
18
18
25
-36
-18
84
80
44
-22
0
-6
-8
-15
-4
-52
98
17
17
11
-2
-6
-45
10
-9
9
-15
-38
-39
13
-4
12
58
-82
-3
9
3
-34
-7
-52
-1
29
-5
2
-12
3
-28
-3
17
44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
60
0
0
24
0
0
-9
-26
0
-1
32
0
0
14
-21
0
0
5
0
-1
0
11
0
0
-7
0
0
0
-45
0
0
0
0
0
0
5
-4
0
0
0
0
0
-22
0
-1
0
0
0
0
-1
0
0
0
0
2
0
-8
0
-7
2
0
0
0
-60
0
-7
8
-8
0
4
40
0
-8
0
0
0
0
-5
0
0
0
0
0
0
-30
0
-6
0
0
0
0
30
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
132
-10
-2
-86
5
-5
8
-1
0
0
9
40
0
15
-58
0
0
-3
0
13
0
21
0
0
0
-3
8
0
49
0
0
0
14
-4
0
-13
9
0
0
0
0
-3
116
0
61
1
0
0
0
4
0
0
-31
0
1
0
60
0
28
35
-7
0
-2
37
0
-4
0
4
0
0
8
0
-25
4
0
0
0
9
0
0
1
8
2
0
5
0
-3
1
0
2
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-5
4
12
-14
36
59
17
32
26
26
21
46
-22
-76
19
41
24
-31
0
4
58
-10
41
22
-4
16
23
0
1
-56
-3
-7
-1
74
0
-28
19
-5
2
11
5
15
-27
21
55
35
5
7
-2
14
-7
-14
-37
98
0
-20
25
-2
15
11
37
2
37
2
-3
55
7
15
36
12
5
-1
-3
-10
22
-7
13
2
-20
14
-3
15
29
-7
14
2
93
-34
-8
83
0
37
3
25
-26
-19
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
-19
-5
-8
1
42
-17
0
13
59
-19
7
60
11
0
7
48
0
-10
0
-32
0
-5
33
-5
17
0
10
-8
0
0
3
-7
0
3
23
0
-4
-2
6
-2
13
0
-81
-4
0
-47
3
-17
0
-24
-17
1
29
42
7
0
-3
10
20
54
-41
4
0
-20
27
-5
117
13
6
2
73
12
0
94
-16
11
0
0
54
0
42
-3
-19
0
26
35
0
10
0
-5
97
-2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-4
-16
12
0
6
-18
0
-5
-41
-17
0
0
-53
0
0
23
0
0
0
9
0
1
0
0
0
0
-5
0
0
0
8
0
0
-40
4
0
0
0
0
3
13
0
-12
4
0
0
0
-13
0
-13
4
-4
0
8
1
0
31
8
-5
0
0
-23
6
7
7
13
0
0
-66
0
41
-9
0
0
-10
-88
0
0
7
2
0
0
-28
0
-54
9
1
0
0
-62
-27
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
12
-17
-5
-83
0
7
-28
0
0
-60
27
59
0
20
-1
10
-26
31
-3
0
12
4
0
0
0
0
0
-73
49
0
5
8
0
-2
9
-6
-40
67
0
0
5
27
1
3
-41
5
0
0
-8
0
-37
-57
0
-2
0
13
3
-5
27
-9
0
-2
-22
-2
138
34
0
-1
2
25
0
-4
-13
77
-1
-6
-2
-1
83
-15
0
19
0
42
41
-4
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-11
18
-34
-14
19
-11
2
4
-13
-13
53
-60
-14
-22
-3
-10
66
15
9
-13
-25
7
43
37
0
21
46
-4
37
34
-20
20
-11
-37
38
-1
22
-30
41
74
-2
59
12
-62
24
-4
17
39
-5
3
-31
-50
14
1
66
60
0
-6
30
4
27
5
-111
10
-5
-39
-51
-20
-2
22
5
-38
-36
3
18
-5
-51
-10
2
-26
-8
12
-41
-5
12
-26
108
13
11
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-5
0
0
0
-42
0
0
-8
0
-8
0
-92
0
1
0
0
24
0
64
0
3
0
0
0
0
5
0
0
0
0
0
0
45
0
7
6
0
-4
0
13
0
0
0
0
0
-1
-4
0
0
6
0
0
0
0
0
0
0
8
0
0
5
0
2
0
0
0
0
-75
0
8
0
1
0
0
-22
0
-5
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
0
-2
52
-24
-13
0
98
0
0
0
0
14
0
48
0
0
0
0
-7
0
14
4
0
0
0
0
0
61
-1
0
0
5
0
0
75
0
-24
-1
0
0
2
-89
0
5
38
-5
-13
-3
-23
0
18
-7
-6
0
0
-76
0
-3
9
13
7
3
-3
0
-40
-2
0
17
0
-20
0
0
0
0
34
0
-113
0
58
-2
5
67
0
17
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
13
-97
21
37
-11
-24
16
0
79
13
-2
31
-22
11
8
49
33
0
13
0
7
-34
-5
0
-10
-32
-4
18
-21
-2
3
-97
2
5
-42
-5
8
-54
22
-5
-21
-23
-1
-13
-46
44
-3
-7
37
4
-19
-13
-12
-2
16
-1
-3
-3
39
1
-13
-39
-10
42
-34
-23
-2
26
35
43
2
-40
21
-9
-23
-6
2
-7
32
10
0
36
0
7
-19
-21
-5
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-36
0
8
21
-2
81
0
25
0
0
-7
0
-7
0
-25
0
0
77
0
-54
0
-72
-3
0
0
0
0
0
31
-4
0
0
0
0
0
-18
8
43
-1
0
9
-1
57
0
-2
2
4
25
0
9
0
-31
-12
0
-16
5
6
0
-3
-31
0
-14
0
-87
0
46
-13
0
0
0
-19
0
0
30
0
-1
12
-19
0
5
6
0
4
0
38
6
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
0
31
-7
43
0
7
0
0
-5
49
0
0
0
-43
0
8
42
101
0
0
13
0
0
0
-8
0
0
4
22
0
0
-13
0
0
1
0
-31
-16
0
0
0
17
0
-3
-26
-53
0
0
4
4
-24
33
27
0
7
46
23
-10
-51
79
0
-5
-20
0
59
-71
0
0
0
48
0
0
26
29
0
0
-18
1
-59
16
1
0
0
-10
8
-2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
-3
0
14
0
44
0
-4
0
0
-5
53
-39
-3
24
0
0
0
0
3
0
21
1
0
0
-1
0
0
-48
0
-41
1
8
0
0
17
0
32
-48
-42
0
0
-15
-1
-27
-32
6
0
0
65
3
61
-51
73
4
0
26
0
21
-27
-8
0
0
-8
-3
0
-3
-15
-2
10
11
0
31
0
0
1
0
3
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-1
-35
-5
45
17
21
19
16
22
78
0
17
-13
3
10
2
-52
40
72
-76
-10
-3
55
16
-74
78
4
11
22
13
9
5
-2
-4
-84
-31
7
19
-1
-22
20
-41
-7
8
-9
58
5
-124
-9
-9
41
-36
27
26
6
-51
0
2
22
13
42
-79
-13
16
-1
45
-56
-25
13
-77
0
-25
-60
12
-45
-10
13
-4
17
-30
11
-39
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
3
0
0
0
18
0
0
2
0
1
0
13
0
0
0
0
0
0
25
0
0
0
0
0
0
-9
0
-9
0
0
0
0
32
0
0
-2
0
0
-4
31
0
0
0
0
0
0
-5
0
2
0
0
0
0
-9
0
63
0
0
7
0
48
0
0
-3
0
0
0
42
0
27
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
101
0
0
7
0
5
1
58
1
0
-13
-8
-54
0
61
1
0
0
0
0
0
-31
2
0
-4
3
0
0
-12
-6
-5
-3
0
0
-2
36
0
5
-14
-15
19
0
-60
0
10
18
0
0
0
-22
5
2
-2
-6
0
0
13
0
-15
0
0
0
0
23
1
-12
0
0
0
-1
3
0
115
0
0
-26
0
-24
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
9
-3
56
-62
-7
-28
49
11
5
41
0
-51
3
0
9
2
0
23
45
-30
-1
-36
-34
-8
-18
36
1
7
14
-22
53
12
21
-1
1
-10
0
33
55
42
25
-34
2
0
43
-4
60
27
-8
-2
-6
8
4
70
64
-73
6
0
30
-13
26
-7
-27
19
-7
45
178
-26
82
-5
0
-1
34
48
-9
23
-2
4
-52
-7
-1
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
-3
-2
15
3
111
-4
1
0
5
-41
-2
21
0
5
-6
-1
0
13
6
0
5
25
0
1
10
0
0
-80
0
-143
40
0
-8
-49
-9
-2
-5
34
0
-3
-20
1
0
58
47
0
1
8
0
7
0
21
2
14
-3
-27
0
25
71
1
3
13
-43
1
-12
-113
0
-2
0
-4
0
-1
-27
0
-23
0
19
84
-5
-20
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
-1
62
0
0
0
11
0
6
32
-22
0
0
-16
0
0
0
0
0
0
52
3
0
0
17
0
0
22
0
48
3
6
0
0
46
0
0
-3
23
0
6
16
0
87
17
0
0
0
-5
0
-3
42
43
0
4
-87
0
-16
10
0
0
0
21
0
18
-19
8
0
0
-25
0
-77
0
3
0
0
94
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
2
-1
0
18
-18
0
-34
3
0
0
0
0
0
-15
0
0
2
0
0
0
-37
-1
3
-6
0
0
-4
22
0
3
5
-5
0
0
16
0
1
12
-8
0
-1
-103
0
0
-23
-7
0
0
0
0
47
5
7
0
0
5
0
-2
-4
15
-2
0
-41
0
43
0
0
0
0
-57
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
50
1
1
25
-23
2
14
27
71
20
-94
-31
12
18
-28
-41
60
28
-3
-11
-12
13
14
-48
61
20
-1
2
40
-57
-1
5
-30
-27
19
2
-29
44
-14
-49
-31
5
-97
38
-30
26
7
-21
3
-12
-35
-22
-88
25
23
0
84
77
92
24
110
-39
-1
14
-10
-29
5
16
53
11
10
9
58
34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
-2
0
110
0
0
0
0
-1
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
0
0
31
0
0
0
0
0
0
3
0
0
0
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
24
0
-4
0
8
-8
0
0
14
-1
0
8
0
0
0
1
0
0
-46
-1
0
-2
0
0
-2
-6
0
0
0
3
0
-2
81
0
3
-1
-5
0
0
-55
0
-2
-6
-6
0
0
9
0
-23
-9
0
0
0
12
0
0
-3
0
29
0
-14
-2
-24
0
0
-16
0
-43
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-57
0
1
0
-75
-24
0
-18
0
1
0
0
-8
0
33
32
0
2
-7
0
-1
-18
0
16
0
0
-1
-10
0
2
10
24
0
0
7
-18
-1
29
-5
-12
0
1
-27
4
44
17
3
-8
16
7
0
26
-4
0
-1
-1
57
0
5
-8
48
-4
-3
-29
0
66
14
0
7
0
15
27
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
0
0
-1
0
14
0
-37
0
0
0
0
8
0
-4
0
0
0
0
0
0
6
0
8
0
0
6
0
10
0
0
-1
7
0
0
-3
0
2
0
0
0
0
42
0
0
-4
0
0
-2
-2
0
5
0
0
0
0
84
0
0
0
0
0
0
-76
0
1
5
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-31
-12
-8
15
-10
0
0
-41
-3
10
6
-1
0
0
-32
-5
0
0
-22
0
0
-15
4
7
-5
2
0
-3
-22
0
10
13
41
0
-16
-72
0
-57
60
4
0
23
21
0
3
36
-71
0
17
16
0
-11
-3
0
0
-4
4
0
25
43
3
0
0
6
0
-38
-3
0
0
0
15
22
8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-25
0
0
0
7
0
0
13
0
0
0
0
0
0
-5
0
0
2
13
0
0
58
0
4
2
0
0
0
-10
0
0
1
0
0
0
-157
0
3
0
0
0
0
49
0
-1
8
3
0
0
-64
0
9
0
0
0
0
50
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-45
-3
-18
8
-90
-43
15
-2
75
-5
-3
-19
7
9
23
41
3
57
-24
22
28
-19
12
29
59
-11
-61
-40
3
-20
37
13
19
-6
3
2
10
12
-25
-4
-20
-15
21
-9
-46
-32
-110
5
-28
1
-13
-25
-42
18
-57
12
0
93
-25
46
32
-22
-1
18
-6
49
-25
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
22
0
0
0
0
0
0
17
0
-3
0
0
0
0
13
0
0
1
0
0
0
5
0
0
0
0
0
0
-1
0
-2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
9
0
0
0
9
0
0
18
0
0
0
0
0
14
26
0
0
-6
0
0
0
30
0
5
49
0
0
0
54
0
0
0
-13
0
-1
53
0
-1
-4
0
0
25
-15
0
3
0
5
-1
0
-95
0
9
0
0
0
0
-28
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-3
0
0
8
8
0
-22
-1
0
0
3
0
0
-39
-5
-4
-5
0
0
0
-37
0
3
-8
22
0
-3
-53
0
16
-25
-2
0
0
-21
-3
9
49
-8
-8
0
-17
0
-8
-8
0
13
0
-36
14
-12
0
-8
-9
0
-24
0
-10
0
0
8
0
-53
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
35
3
0
-4
0
0
-92
-20
0
0
0
0
0
-40
0
23
1
0
0
-6
-26
0
6
69
0
0
-25
10
0
57
-42
-2
0
-7
3
0
61
140
-2
-13
-1
8
4
59
52
0
5
-5
22
1
15
93
8
-8
0
-23
0
-21
-18
0
-10
0
-59
29
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
-3
0
6
0
0
4
-24
-2
5
5
0
27
5
0
-19
-42
-3
-6
22
7
0
-24
12
-52
0
76
-10
0
5
56
81
0
-2
16
1
-53
61
57
0
27
32
0
47
18
46
0
6
-22
0
44
-1
12
0
-9
-50
0
5
58
2
0
0
36
11
-5
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-17
-1
-18
-23
40
-13
-146
-3
-35
7
16
-27
48
4
-1
-29
11
-13
-4
30
22
7
-9
42
-25
-45
-35
-25
18
5
67
-23
-22
-17
-18
5
-60
11
10
91
-54
-5
-14
35
31
4
-15
38
13
1
5
11
0
75
-8
9
0
13
-49
25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-44
0
21
0
2
0
0
59
0
0
1
0
0
-2
8
0
-3
-5
10
0
0
-93
0
-5
1
0
0
0
-10
0
7
0
0
0
0
-16
0
9
15
-14
0
0
39
0
-52
0
0
-2
0
19
0
0
1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
32
0
0
-1
0
0
0
-43
0
22
0
10
0
0
-5
0
-3
-7
0
0
0
2
0
0
1
0
20
0
42
0
54
0
0
-8
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
-10
0
0
-22
0
0
0
0
0
0
22
0
0
-8
0
0
0
-35
0
-5
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
-1
2
0
0
0
-48
0
0
0
-1
-4
0
13
0
9
-1
0
-3
1
1
0
3
-17
-6
0
0
57
0
5
-2
0
0
0
-16
0
2
-4
0
17
0
-7
0
-7
2
0
-1
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
29
0
0
0
0
0
0
38
0
-7
-2
-7
0
-7
-42
0
42
-4
0
0
0
-29
1
0
-5
14
0
0
-121
0
-25
5
0
0
0
2
-3
3
9
2
0
0
-70
0
-53
4
0
0
0
32
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-7
-4
-69
19
2
34
5
-2
13
14
-6
-5
24
-34
-1
-13
40
-5
-14
-22
22
-10
-41
-27
-5
-13
22
-17
4
-49
-95
-3
-56
8
-34
2
-25
43
-40
1
-7
2
0
-21
30
3
69
16
-12
30
2
-15
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-1
-30
6
0
0
5
-10
0
0
17
5
0
0
29
0
4
-14
-9
0
0
31
0
0
0
-12
0
8
33
0
-30
6
0
3
0
-49
0
1
0
0
0
0
-23
0
-31
0
0
0
0
36
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
1
0
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-41
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
-3
0
45
0
0
0
0
0
7
-48
0
-1
-6
0
0
0
41
0
0
18
4
0
0
-3
0
0
5
0
0
0
-6
0
8
10
7
0
0
-93
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-4
0
0
8
0
-33
0
-1
27
0
8
0
-47
0
-5
1
0
6
0
-59
0
-1
8
0
0
0
72
0
-29
-6
0
2
0
57
0
0
0
0
1
0
47
0
0
0
0
-6
0
5
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
0
0
0
0
0
0
-4
0
1
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
-4
-8
0
0
-122
0
-9
0
0
0
0
55
0
0
-2
0
0
0
-32
0
0
7
0
0
0
-8
0
0
0
0
0
0
92
0
0
0
0
1
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
42
-1
102
18
43
13
4
18
1
-15
-16
84
18
98
-4
-17
-34
-11
3
-60
-5
13
3
37
-23
9
30
28
-52
31
21
-13
1
-46
-3
-1
0
-73
-5
29
55
-7
20
-62
-40
-7
-44
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-4
0
0
0
-8
0
2
0
0
0
0
-14
0
0
0
0
0
0
8
0
-1
0
0
0
0
5
0
0
0
0
0
0
-10
0
-2
0
0
0
0
5
9
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-34
-10
-4
-9
-33
73
1
-16
-6
48
-17
-2
-10
-22
-35
2
31
-9
18
-2
-1
-76
-2
-5
-33
-5
-7
-5
-21
-1
0
-34
55
-4
0
31
0
27
-6
0
-18
0
42
20
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
0
0
-9
7
0
2
0
0
1
3
0
-8
-7
-7
0
10
-3
-3
0
0
-16
0
32
16
0
7
0
-6
0
-5
1
-6
3
0
65
0
-8
0
0
-4
0
-43
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
4
0
0
0
-48
0
0
0
0
0
0
-27
0
0
0
0
0
0
56
0
8
0
0
0
0
-34
0
0
0
0
-7
0
42
0
4
8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
3
-4
0
0
0
1
0
47
-5
8
0
0
41
0
3
8
0
0
0
-50
0
14
-3
-2
0
8
26
0
0
0
-2
0
0
52
0
2
0
0
0
0
59
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-55
0
-44
0
0
0
0
-12
-1
-3
-21
8
0
0
-27
0
9
5
0
0
-1
31
-4
0
6
15
0
0
25
0
-12
-3
0
4
0
28
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-1
-5
34
58
51
27
16
3
-14
6
5
50
-31
149
-16
-5
8
-6
-56
58
44
-7
-8
45
21
74
-40
-27
-6
17
-45
55
-20
-78
-1
26
-38
13
14
70
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-12
0
0
0
0
13
0
0
0
0
0
0
-7
0
-1
-1
0
0
0
1
0
0
0
0
0
0
-23
0
1
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
47
0
12
-5
4
0
0
21
0
0
7
9
0
0
-57
0
7
12
0
0
0
-31
0
0
0
2
0
0
-22
0
0
0
0
0
0
107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
27
0
42
48
12
-4
2
2
0
-14
-110
0
8
0
6
0
31
59
-1
35
0
-25
-8
-5
10
-8
-42
4
38
0
51
-1
0
-43
0
55
-5
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
49
0
31
40
0
1
0
-28
0
-3
-30
8
13
0
6
0
-12
84
0
14
0
-14
0
0
-14
0
-1
0
44
0
34
0
0
84
0
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
15
0
0
2
43
0
-7
1
-8
0
0
8
0
-6
-4
2
0
3
-12
0
0
-5
0
0
0
-4
0
9
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
7
1
-5
-12
0
0
-14
0
49
23
0
0
0
-70
-13
0
23
32
0
0
23
0
12
0
0
-1
0
-15
-12
-4
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
46
66
44
-12
6
-17
7
-5
-20
1
-42
-63
-58
7
-35
3
-13
29
-66
9
6
5
-2
-10
5
-53
-17
1
-74
22
-43
23
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
-1
0
0
0
1
0
0
0
0
0
0
2
0
-7
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
10
4
-22
-53
12
-31
-8
-29
0
126
-9
-12
1
13
-33
0
-12
-55
-4
31
10
-4
0
88
19
-2
-2
0
23
27
16
10
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
87
0
34
31
36
51
5
36
0
-26
81
5
9
1
-6
0
-9
-59
-71
-5
2
-25
0
96
0
0
64
0
-9
-34
5
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
0
0
0
80
0
-4
13
0
0
0
11
0
1
-5
0
0
0
0
0
-7
0
0
25
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
0
10
0
1
0
0
-12
0
-17
-1
0
0
0
7
0
0
-5
0
0
0
12
0
10
0
0
0
0
-7
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-47
0
-49
8
0
0
0
28
0
0
0
0
0
0
-12
0
-7
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-9
-1
73
10
-127
-3
14
-12
12
-9
29
12
-2
0
5
-18
45
-73
-34
1
29
-49
-13
-30
48
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
-12
0
-1
0
0
0
0
42
0
9
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-85
0
5
-14
0
0
1
-20
2
0
42
4
0
0
-18
0
25
0
5
-18
0
9
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
14
39
8
-1
-2
13
0
2
44
5
-1
-1
26
0
-5
8
0
-110
0
-43
-96
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-55
-2
0
-25
3
1
0
17
-23
0
-6
0
1
0
-1
7
0
56
0
42
-1
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-93
-6
0
0
0
7
0
0
13
9
0
0
-25
0
67
0
0
0
0
7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
-1
0
0
0
2
59
0
5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-10
-6
75
8
-41
-5
14
-13
-13
-76
7
-3
-4
-1
-43
24
-8
26
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-24
0
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
0
-6
-51
38
-36
0
18
0
19
63
-4
-20
0
40
-19
-15
6
50
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
6
-13
6
51
19
0
-14
0
44
0
2
-31
0
20
7
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
2
-5
5
0
0
-53
0
-5
0
0
-2
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
-1
0
0
0
51
0
37
0
0
0
0
62
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-5
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
1
78
-5
18
-3
-29
28
2
-49
-19
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-6
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-18
0
0
0
0
-54
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
3
-18
14
0
21
0
55
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
90
0
0
25
0
-57
6
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-28
5
-6
0
0
24
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-22
-2
28
49
-30
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
50
-40
2
-7
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
18
-21
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-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
-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
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
-2
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-105
-16
-4
-2
2
-32
20
-59
-78
-25
29
-3
9
55
-5
-47
-84
25
-44
-16
55
0
0
0
0
0
0
0
0
-2
-50
10
-5
13
-57
40
-22
32
-33
3
-51
-22
-18
-9
58
-1
-101
-42
3
3
8
-2
-1
-12
9
-41
-24
21
0
-25
-89
28
-19
49
40
9
-18
-5
1
1
6
-69
-13
-8
-3
-41
-13
4
-14
-18
3
0
-6
8
-4
8
26
-30
6
-39
0
-10
-1
15
-11
-4
-7
26
23
44
-22
-22
-6
-5
23
-65
15
-31
19
-4
-50
2
6
10
24
-8
-24
59
18
-64
-2
0
-80
-35
-23
0
18
-2
-2
17
24
-47
-18
-8
-3
-31
8
8
3
4
8
-2
100
-21
1
-11
75
-54
-2
12
-74
5
-23
22
-17
-1
-14
-12
-1
-65
79
12
0
17
-1
-17
10
-39
1
4
25
-68
24
-32
-21
0
-1
31
32
-39
-18
-41
17
2
10
-56
-52
44
-22
-27
-5
40
14
-23
16
33
-2
1
-18
-51
15
-52
9
-33
0
-41
-43
6
-18
7
4
-1
-103
108
6
32
11
25
2
-4
13
5
-3
3
32
-5
96
1
-5
-25
-9
58
-7
-88
-31
10
42
6
-5
-1
-12
-32
2
5
61
20
-10
1
93
-84
42
-51
-13
3
-53
-52
-25
35
-4
-21
-3
-45
15
-9
-19
11
36
5
-41
-22
-18
22
19
-31
-5
-43
3
15
6
4
22
2
23
3
20
28
24
-18
-2
23
45
-11
-30
49
-120
2
31
-15
5
-84
4
-5
-2
-44
29
-11
-46
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
23
0
0
-14
-45
0
0
0
0
0
0
26
0
0
0
0
0
0
-2
0
0
-10
0
0
0
-55
0
-24
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
-8
0
0
0
0
0
0
-41
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-23
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
57
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
34
0
0
0
0
0
0
-14
0
0
0
0
0
0
-17
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
54
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
-3
0
0
59
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
5
0
0
0
7
0
0
3
0
0
0
0
0
0
3
0
0
32
7
0
0
-6
0
0
-1
0
0
0
21
0
1
-7
0
0
0
-2
0
0
0
0
0
0
-3
0
50
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-43
0
0
2
0
0
0
8
0
-7
-4
0
0
0
51
0
0
0
0
0
0
-87
0
0
0
0
0
-4
-61
0
0
4
0
0
0
-40
0
0
19
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
30
0
0
0
0
0
0
54
0
0
-2
0
0
0
11
0
0
0
0
0
0
-28
0
0
-1
0
0
0
41
0
0
-4
0
0
0
71
0
0
0
0
0
0
4
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
1
0
0
0
-1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
17
0
0
0
6
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
24
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
-75
0
0
0
24
0
0
46
0
0
0
6
0
0
61
0
0
0
5
0
0
-1
0
0
0
4
0
0
1
0
0
0
29
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-22
0
0
0
-8
-27
0
0
0
0
0
0
96
0
0
0
0
0
-2
34
0
0
0
0
0
0
-31
0
-4
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
1
-40
0
0
8
0
0
-8
42
0
0
0
0
0
0
-8
0
0
18
0
0
0
28
0
0
7
0
0
0
59
0
0
0
0
0
0
9
0
0
0
0
6
0
34
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
-17
0
8
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
-1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
1
0
0
0
-2
0
0
7
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
-66
22
-16
-2
2
2
-4
-16
-114
-31
-8
-6
-31
0
0
0
0
0
0
0
-1
-30
-15
27
-42
-54
-43
-30
36
-3
1
-5
13
-59
53
76
22
-2
16
-18
12
4
-4
-2
0
-14
1
-41
-77
39
-35
-16
-6
-64
30
-62
30
14
-2
13
3
-3
-1
-124
-5
-3
-9
-1
3
-58
14
-18
-29
1
20
8
-5
40
-47
-22
-3
-38
6
-16
-1
-44
-79
-3
58
-2
-5
-13
-12
3
-13
6
-12
-28
41
48
19
-7
6
3
0
19
-53
20
31
-28
30
-12
0
-49
0
-23
-50
0
4
-2
73
7
49
-44
44
15
-7
56
21
0
2
-42
-5
-3
-9
18
13
56
-70
-10
1
-23
15
1
-30
-15
3
-6
-66
14
-1
-5
10
-21
-3
0
1
3
-7
-58
21
5
8
-4
10
22
22
2
-3
36
5
20
-35
18
-6
-6
-26
3
4
-11
-53
-33
5
-22
9
4
-24
-27
1
-1
-3
-31
5
-24
-21
-12
-4
7
87
0
-25
-56
4
-2
-32
7
5
4
-23
17
1
-19
36
-13
-14
-2
-17
-4
49
-5
-1
-14
30
-7
-1
-14
99
-6
-10
-2
-1
-3
13
2
-30
-4
26
-6
-28
31
52
-10
-16
-49
-32
33
26
63
28
19
42
42
5
-43
40
40
-22
8
-11
-1
6
-16
-14
31
51
31
5
14
3
1
-18
-55
-1
-7
-10
-23
-2
-20
-31
-6
-23
-14
-41
-2
17
3
-5
-1
-24
2
5
10
-20
-1
5
-11
8
-47
30
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-2
0
0
0
0
0
0
1
2
0
0
0
0
0
-41
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-7
-1
-14
0
-1
-11
0
0
-1
0
0
0
-17
0
0
0
0
0
0
-56
0
0
3
0
0
0
-43
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
-31
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
7
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
-7
0
0
0
0
0
0
-2
0
0
0
49
0
3
24
0
0
0
-1
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-15
2
0
0
0
2
0
0
-8
0
0
-2
-30
0
0
-10
0
0
-2
-12
0
0
-2
0
0
0
-13
0
-2
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
0
0
19
0
0
0
0
0
0
-12
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
-16
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
0
0
4
0
0
0
-4
0
0
14
0
0
0
7
0
0
29
2
0
0
0
0
0
41
0
0
0
43
0
0
59
0
0
0
-8
0
0
0
3
0
0
-8
0
10
0
0
0
0
0
0
0
0
-18
-1
0
0
0
0
0
6
0
0
8
0
0
8
0
0
22
6
0
0
8
-50
0
2
-25
0
0
1
28
0
0
-36
-1
0
-10
8
0
0
-31
0
0
0
36
0
-28
1
0
0
0
-29
0
0
0
0
0
0
7
0
0
0
0
0
0
34
0
0
0
0
0
0
-9
0
0
0
7
0
0
-2
0
0
41
0
0
0
45
0
0
27
0
0
0
1
0
0
-6
0
0
0
-24
0
0
-7
-1
0
0
-10
0
0
8
0
0
0
5
0
0
0
0
0
0
-26
0
0
0
0
0
0
10
0
0
0
0
0
0
110
0
5
0
0
0
0
5
0
0
2
0
0
0
70
0
4
0
0
0
0
10
0
0
0
0
0
0
-5
0
1
1
0
0
0
-7
0
0
0
0
0
0
-34
0
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
10
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
47
3
0
0
-28
0
0
0
0
0
32
0
0
27
0
0
41
0
0
0
0
0
0
2
0
0
0
0
-3
22
0
0
-41
-124
-67
-21
-3
0
0
-40
1
-51
15
-2
9
0
-11
12
-44
-35
31
3
0
101
0
-84
-72
8
0
0
-5
9
1
13
0
0
0
-17
0
-4
0
42
-1
0
-4
0
-24
0
0
-5
0
0
-1
0
0
-36
-18
0
1
-5
0
0
-55
0
5
13
0
1
0
-84
0
-17
-36
-71
0
7
-90
0
0
-45
0
0
5
18
1
0
-7
-5
0
48
72
0
-10
12
0
0
-9
17
0
49
-57
-27
0
0
-67
0
0
67
6
1
0
63
1
3
0
0
0
0
-71
0
0
0
1
0
0
-46
0
5
-3
-3
-4
-2
-24
0
0
-10
0
-4
0
-30
24
-4
-39
-41
0
-8
1
0
4
-55
-18
-6
0
51
1
1
-82
42
0
0
-10
0
1
8
0
39
0
-65
0
0
22
13
-75
0
45
5
0
0
10
0
0
4
0
0
3
0
0
0
-130
0
16
0
0
4
0
-39
0
27
59
7
0
-7
16
0
-17
22
-9
0
0
-59
0
-5
1
41
-5
0
-52
0
-20
-4
-1
0
0
-52
0
0
-4
0
12
0
21
12
-20
0
0
-2
0
60
18
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
2
0
-3
0
-4
0
0
0
0
0
0
0
-15
0
1
0
13
0
0
35
0
0
0
-33
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
50
0
0
0
-94
0
0
-65
0
0
0
25
0
-7
-29
5
0
0
15
2
50
2
-2
0
0
74
0
-23
33
0
0
0
31
0
0
-8
-9
0
0
31
0
67
5
25
0
0
0
1
-39
0
0
4
0
0
0
-1
0
46
7
2
0
16
0
0
-89
0
0
44
0
0
13
0
0
-3
-1
73
0
-56
37
0
0
-32
0
0
37
27
0
0
13
13
0
6
13
0
0
-23
0
5
6
31
0
-121
10
-6
0
0
-7
0
0
-8
0
-20
0
2
0
8
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
-1
1
0
-1
0
0
0
-15
0
0
3
-6
0
-1
-25
-1
0
3
-58
0
0
18
-1
0
0
68
0
0
29
-1
0
-2
51
0
-1
-1
-2
0
1
-41
0
0
0
4
-26
0
-1
1
0
0
0
0
0
8
0
0
0
0
0
0
1
0
-3
0
0
0
8
0
0
0
0
-8
0
1
9
0
39
9
0
0
0
-77
0
3
41
4
0
-2
13
0
41
-1
0
0
0
4
0
2
-1
0
-1
1
-55
0
-17
0
0
4
0
-52
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-10
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
-9
0
0
0
0
0
0
33
0
0
0
-2
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
37
0
0
0
-4
0
0
22
0
0
0
0
0
0
0
0
-3
0
0
0
0
9
0
0
0
0
0
-3
-31
0
0
0
0
0
0
20
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
33
0
-1
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-21
0
0
-1
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
-6
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
27
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
9
0
0
-4
0
0
0
-4
0
0
25
0
0
0
0
0
0
0
8
0
0
-15
0
-2
0
0
0
0
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
11
0
0
0
0
0
4
103
0
0
0
0
0
0
9
0
29
-1
0
0
-2
-59
0
0
0
0
0
0
26
0
0
0
0
0
32
13
0
0
-1
0
0
0
8
0
-10
4
0
0
0
8
0
0
0
0
0
0
47
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-31
0
0
0
0
0
1
25
0
0
1
2
0
0
-75
0
0
0
0
7
0
-49
0
0
0
-2
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
-6
16
-3
-44
-8
0
0
0
0
0
0
0
7
41
-15
8
114
-1
-5
-134
32
-9
1
27
14
7
0
14
0
0
-25
0
-49
0
0
-4
0
0
2
-8
0
17
-52
0
-1
43
-74
-24
42
-1
-1
21
2
57
0
-7
0
0
24
6
-15
34
-41
0
-3
-99
-50
17
-32
-8
-36
-5
1
-27
-41
-20
9
25
-7
-5
-5
26
2
9
0
-2
-8
-77
-43
-44
42
-3
0
-70
-5
3
0
9
22
0
15
-84
-84
-7
1
-11
-24
0
-12
0
15
-4
0
0
0
-24
18
28
-2
2
-26
2
3
5
-37
-4
1
8
10
33
-9
19
-5
0
0
15
26
-76
5
10
8
0
4
-4
-4
-49
-2
0
14
-22
27
-8
14
50
0
0
0
-66
7
0
-5
-4
-83
-3
-3
0
-1
-12
-14
1
0
-63
-40
11
-38
0
1
3
-22
5
10
-8
0
-4
-1
50
4
59
4
9
53
24
-26
5
-28
-30
42
-23
21
-14
39
-14
-21
1
-8
-11
36
9
-11
-29
2
-10
-10
-54
26
3
32
-2
2
-12
-51
31
0
-7
12
-1
52
-1
54
5
-23
76
6
-1
-80
3
-2
-32
-7
4
13
-19
79
30
10
-6
40
-21
2
77
-22
-10
0
-19
-5
18
4
-9
-22
3
51
-42
-47
24
9
-51
4
13
-26
-24
-1
0
-2
10
15
4
-24
-28
0
43
0
20
5
-16
37
0
5
-42
-5
-14
-43
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
5
0
0
6
0
0
-17
0
0
0
-72
0
1
0
0
0
6
-2
0
-13
0
0
-1
0
0
0
0
0
4
20
0
6
0
-4
-33
24
0
0
15
0
52
-21
0
0
0
16
0
-10
-2
0
0
0
-89
0
-104
6
5
-5
0
31
0
16
-15
6
0
0
-16
0
76
-49
0
0
0
-31
0
-64
0
0
0
0
14
0
-1
0
0
-16
0
0
0
22
0
4
-20
-6
0
0
0
74
-2
0
0
-6
0
0
86
-11
0
42
17
0
0
27
13
0
0
-6
0
0
-43
-104
0
0
-48
0
5
25
4
0
0
-36
0
0
-1
-15
0
-7
26
0
0
0
-19
0
0
19
0
7
0
-2
66
-32
0
0
0
0
-11
-10
0
-5
0
0
0
6
15
0
12
0
-1
79
1
0
0
25
0
45
49
41
0
0
-9
-23
1
14
23
0
0
45
0
-4
25
-63
0
0
13
0
-3
-2
4
0
1
61
0
6
0
13
0
0
19
0
4
0
-11
3
0
8
0
0
0
12
6
0
0
0
0
0
33
0
16
8
0
0
-3
-23
0
0
24
0
-2
20
33
0
-63
-66
0
4
1
13
0
0
-54
0
5
0
16
0
1
13
0
0
0
-1
0
0
-2
0
9
0
17
0
-8
24
0
56
0
-40
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
57
0
0
0
0
0
-26
0
0
0
0
0
-73
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
14
2
0
6
0
0
0
0
0
0
27
0
0
0
-1
0
0
46
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
48
1
0
0
0
0
-3
50
0
0
0
0
0
-1
-8
0
1
-7
-1
0
-12
-72
0
0
5
0
0
-2
0
0
0
4
0
0
8
-30
0
0
0
0
0
0
-2
0
-6
4
0
0
0
-30
0
0
0
0
0
0
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-51
0
0
0
0
0
0
17
0
0
0
3
0
-8
12
0
0
2
0
0
0
26
0
0
-1
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
28
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
72
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
22
-9
-18
3
8
-12
-13
12
0
0
0
3
0
1
0
-2
5
0
-96
0
0
-2
0
0
0
0
0
0
-11
0
-1
-49
26
-3
-72
5
0
-8
7
-44
-59
-25
-6
3
-10
-5
-24
-75
-46
2
-4
4
-32
-15
-14
-38
22
0
-67
-41
9
27
4
0
-4
3
-47
-10
20
-5
3
0
-3
-19
13
-4
-7
1
0
5
33
14
0
0
-17
0
-1
-15
16
5
-3
24
-83
2
37
0
-6
5
0
2
-1
15
-25
-16
23
-3
-21
23
1
-44
4
2
0
-6
-8
-40
66
-41
-4
-1
14
-31
-22
75
-4
0
4
-2
-7
21
-16
-43
2
0
5
-16
11
-46
7
-1
0
0
-14
-48
0
0
1
40
-20
0
0
0
0
-15
12
0
12
-26
-4
8
-7
-2
-8
-49
38
-31
-52
-3
0
0
-62
7
-38
65
-11
63
17
-1
-50
46
13
12
12
-34
-41
-8
70
-51
-20
-8
41
-34
0
48
21
1
-3
-6
-11
111
4
-24
12
3
3
-10
34
33
0
-13
-4
9
4
16
19
4
-6
5
1
4
-75
5
0
-3
33
49
-30
1
-70
-25
-28
2
-8
53
2
-31
0
-1
2
36
-49
-23
29
-21
-29
0
4
10
39
12
9
-10
-6
-27
-4
6
-32
-1
-9
1
13
13
-48
-44
0
7
0
-48
34
19
38
0
-27
-45
1
-26
13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
1
-15
0
0
25
0
0
0
22
0
0
0
0
0
53
0
0
0
0
0
-57
0
0
0
0
0
0
2
0
0
0
0
0
3
0
0
0
0
0
-41
0
0
0
-1
0
0
13
0
4
0
-2
0
0
61
-6
0
0
25
2
0
-31
0
0
0
-4
0
0
-19
0
0
0
-14
-1
1
0
17
0
0
2
0
-13
0
0
-1
0
0
0
1
0
-19
-7
0
0
-2
0
-4
-38
0
0
0
0
0
-47
1
0
-9
43
-13
0
47
0
0
0
-52
1
0
7
-57
0
0
-5
4
0
4
-82
0
0
133
3
0
0
21
0
-21
0
0
0
3
-27
0
0
-2
0
7
0
-33
0
0
0
0
0
0
32
0
0
0
0
0
-2
-60
0
0
0
1
0
-2
-2
0
3
-12
0
0
-13
0
0
0
-11
38
0
6
51
0
0
-6
3
0
-4
14
0
0
-8
-3
0
0
-47
0
0
-2
0
0
0
-18
0
0
6
4
8
0
21
0
0
0
0
0
0
5
0
0
0
-1
0
0
-13
0
1
0
0
0
0
-15
0
0
-5
7
0
0
0
0
-57
-3
1
0
0
-42
0
1
6
-3
0
0
-46
0
41
-4
0
0
0
-3
0
-5
0
0
0
0
-5
0
14
-1
0
0
0
-38
-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
-39
0
0
-1
-4
0
0
24
0
0
0
-18
0
0
0
0
0
4
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
12
3
-4
10
1
0
0
-1
0
0
-27
6
0
0
21
0
0
47
0
0
0
-3
0
-2
-7
0
0
0
97
0
2
-20
3
0
0
-12
0
8
1
0
0
0
0
0
56
0
0
0
0
0
0
0
0
50
0
-2
0
0
0
5
66
0
0
0
0
0
35
1
0
9
43
0
0
-29
9
0
-1
-4
0
0
-5
14
0
0
1
0
0
-5
61
0
0
-6
0
0
0
35
0
-17
-6
0
0
0
-8
0
-4
6
0
7
0
53
0
0
0
0
0
0
-24
0
0
0
0
0
0
56
0
0
0
0
0
0
-29
0
0
-1
0
0
4
30
0
0
0
0
0
0
-2
0
2
-5
-5
0
0
-30
0
0
2
0
0
0
16
0
0
0
0
1
0
-7
0
0
0
-3
0
0
-31
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
27
0
0
0
0
32
0
0
0
0
0
0
-48
0
19
0
0
0
0
-6
0
3
0
0
0
0
-5
0
6
0
0
0
0
-24
0
0
0
0
0
0
22
0
0
0
0
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
-14
0
0
0
0
0
55
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
25
-1
35
0
0
0
-2
0
0
33
2
0
0
-3
0
-2
-26
1
0
0
-5
0
-5
96
0
0
0
-12
0
1
3
0
0
0
32
0
0
0
-8
0
0
-1
0
-2
0
0
4
0
0
0
0
0
-9
0
0
0
0
0
-19
61
0
0
2
0
0
42
5
0
31
-8
0
0
-16
15
0
0
-2
0
0
0
10
0
0
5
0
0
8
31
0
0
-6
0
0
0
-5
0
-28
0
0
0
0
-14
0
0
7
0
0
0
-49
0
-6
0
0
0
0
59
0
0
0
0
0
-9
17
0
0
0
0
1
0
-8
0
0
7
0
0
0
-37
0
1
0
-4
0
8
-5
1
0
-4
2
0
0
6
5
0
-3
0
0
0
-130
0
0
0
0
0
0
24
0
0
0
0
0
0
-41
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
2
0
-28
0
5
-2
1
0
-2
-4
0
-2
-2
-4
0
0
-6
0
0
5
3
0
0
-6
0
-1
0
2
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
4
3
0
0
0
11
0
0
0
54
0
0
0
0
0
18
0
0
0
0
0
-85
0
0
0
0
0
0
-5
0
0
0
0
-10
-8
0
0
12
-10
0
28
0
0
0
7
0
9
-17
1
1
0
27
2
-3
68
-8
0
0
-5
3
0
-112
41
0
6
5
3
3
15
0
0
0
13
0
-24
1
0
0
0
0
0
-45
0
0
3
0
0
0
1
0
-53
-8
-2
0
0
0
-5
-13
0
0
5
0
0
-1
0
0
63
-2
33
0
-13
38
1
0
0
0
0
52
-38
0
-2
3
0
0
27
-16
0
0
-25
-5
0
0
28
0
-71
-14
0
0
0
-84
0
0
0
0
-12
0
49
-1
0
0
0
0
0
-6
0
0
0
0
0
0
-131
0
0
0
0
0
0
41
0
0
4
0
0
-8
-24
0
3
-8
20
0
-3
48
0
-4
23
0
0
0
-147
0
-4
-10
0
0
-2
-10
0
0
0
0
0
0
84
0
0
0
3
8
0
55
0
0
0
0
-4
0
46
6
0
0
0
0
0
5
0
-42
0
0
0
-1
-13
0
5
0
0
0
0
-92
0
-29
49
-6
0
1
-1
0
4
-4
0
0
0
-7
0
-14
1
0
0
0
7
0
-1
0
18
0
0
-23
0
-1
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
-28
0
0
0
0
0
65
0
0
0
0
0
0
-3
0
0
0
0
-6
0
0
0
45
0
0
-38
0
0
0
5
0
0
9
0
0
0
-22
0
-1
-53
0
0
0
-1
0
1
-5
0
0
0
58
0
0
-6
0
0
0
-37
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
-20
33
0
0
2
0
0
3
0
0
12
69
0
0
12
26
0
0
-12
0
0
8
47
0
0
-6
0
0
0
27
0
0
-9
0
0
0
-47
0
22
5
0
0
0
-20
0
0
0
0
0
0
-7
0
0
0
0
0
0
-66
0
0
0
0
0
0
-41
0
0
0
0
0
0
-68
0
0
-22
0
0
0
1
0
0
30
0
0
0
-27
0
0
-75
0
0
0
0
0
0
-8
0
0
0
-52
0
0
0
0
0
0
-43
0
0
0
0
0
0
70
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
0
0
0
0
0
0
41
0
0
3
0
0
0
-26
0
0
1
0
0
0
3
0
0
92
0
0
0
24
0
-24
-3
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
-5
-13
0
32
0
0
0
0
0
0
-8
0
0
0
41
0
0
24
0
0
0
2
0
0
41
0
0
0
-10
0
0
1
3
0
0
67
0
0
0
-1
0
0
5
0
-2
0
0
0
0
0
0
0
0
44
0
0
0
0
0
-1
-45
0
0
-7
0
0
-3
1
0
-31
43
-31
0
-22
31
0
0
-15
0
0
0
-14
0
0
-24
0
0
-1
84
0
0
32
0
0
0
27
0
92
7
0
0
0
-50
0
0
0
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
0
0
0
-19
0
0
0
0
0
1
-68
0
0
-3
0
0
0
-26
0
0
-4
0
0
0
20
0
0
-6
0
0
0
-51
0
0
-6
0
0
0
-47
0
0
-2
0
0
0
42
0
0
0
0
0
0
26
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
5
0
0
0
-81
0
31
-1
0
0
0
-9
0
0
0
0
0
0
-48
0
6
10
0
0
0
-1
0
0
0
0
0
0
31
0
-5
4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
3
-49
-49
-4
-35
12
-2
-13
0
-1
8
0
-76
6
-1
-4
0
0
13
-1
-17
-50
51
-1
-16
33
-83
-12
11
10
-3
-17
8
14
4
19
-10
2
-42
7
14
0
35
34
49
-7
-6
16
-62
-58
-49
-6
-32
-50
18
-88
-39
7
45
-1
-32
18
-41
-13
3
-7
2
-33
-34
3
11
2
4
33
24
-22
-3
11
-17
13
-72
38
-22
-23
-2
19
45
23
35
-3
19
-1
5
8
-1
-51
54
18
0
64
12
-10
10
28
-39
-4
15
8
14
-12
28
-11
0
-41
-7
13
36
-65
27
-4
-52
57
4
-44
10
-14
-1
2
-9
28
-21
0
5
21
-2
4
19
-114
-11
0
0
-69
-48
-6
34
-6
4
-5
-9
-5
19
2
-2
-14
-11
-42
37
38
32
32
-17
-6
-8
12
-41
25
13
-5
-17
33
4
-15
21
56
-59
-18
6
-48
-10
7
3
-75
-6
-12
-11
-7
-50
-22
24
-18
-11
9
20
16
-9
1
-5
-16
52
2
7
-12
0
-4
-38
25
87
-19
3
-7
-17
12
0
16
29
-8
-2
30
3
67
-42
-9
-9
-15
-19
10
32
-3
26
24
50
3
-14
49
11
41
14
-6
-11
-9
-32
25
42
19
23
4
13
20
40
-6
5
-14
-27
18
7
19
23
-10
-3
-7
3
40
18
42
21
2
-15
-24
49
-12
21
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
5
-6
-43
0
0
0
-1
0
0
16
0
0
0
32
0
-8
39
-8
0
0
68
0
3
-84
0
0
0
-9
0
3
13
-7
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
2
1
0
0
0
0
0
3
0
0
0
0
0
-2
-1
0
-1
3
2
0
53
35
0
-1
19
-1
0
-9
-2
0
0
-13
1
0
-28
0
0
0
30
0
0
0
-62
0
9
-6
2
0
0
-39
0
0
2
0
0
0
34
0
0
0
0
0
0
60
0
0
0
0
0
2
27
-1
0
-4
-1
0
0
-12
0
0
1
0
0
1
-52
0
0
7
-2
0
0
14
0
0
31
-1
0
4
0
0
0
12
0
0
0
14
0
1
0
0
0
0
-45
0
0
4
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
9
-2
0
0
3
139
0
-4
0
0
0
2
12
0
0
-3
0
0
0
43
0
1
-1
4
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
40
0
8
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
-55
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
3
4
0
-39
0
0
0
-4
0
0
-9
8
0
0
76
0
-9
53
-8
0
0
8
0
0
-53
0
0
0
0
0
2
-7
0
0
0
10
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
21
0
0
0
0
0
-8
0
0
22
6
0
0
16
-22
0
0
4
0
0
2
35
0
0
27
0
0
-5
41
0
0
-8
0
0
10
26
0
8
1
0
0
0
9
0
0
0
0
0
0
32
0
0
0
0
0
0
13
0
0
0
0
0
-4
7
0
0
0
0
0
0
-21
0
0
0
0
0
-1
-33
0
0
3
0
0
6
-52
0
-1
19
0
0
0
9
0
0
0
0
0
0
-55
0
0
0
0
0
0
49
0
0
0
0
0
0
-11
0
0
0
0
0
0
35
0
0
0
0
0
0
-6
0
-5
0
0
0
0
3
0
3
-1
0
0
0
5
0
-5
0
0
0
0
0
0
-2
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
-5
0
0
-1
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
17
0
0
0
1
-2
0
-39
0
0
0
-1
0
0
17
-2
0
0
-2
0
-2
-29
-7
0
0
-17
0
-3
-9
-1
0
0
8
0
0
-1
17
0
0
0
0
5
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
16
-3
-7
0
25
37
0
0
13
0
0
34
-65
0
0
-6
0
0
20
-39
0
0
30
0
0
0
-10
0
13
0
0
0
0
-17
0
0
2
0
0
0
-51
3
0
0
0
0
0
-35
0
0
0
0
0
0
8
0
0
-1
0
0
0
25
0
0
9
0
0
-17
14
0
0
-6
-1
0
0
-8
0
0
8
0
0
0
39
2
0
5
4
0
0
-61
0
0
0
0
0
0
31
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
24
0
-5
1
0
0
0
4
0
0
2
0
0
0
2
0
0
0
0
0
0
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
-4
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
7
-15
1
0
0
7
0
3
10
3
-6
0
7
2
3
-106
29
0
-2
50
0
0
-5
0
0
6
-13
0
2
0
0
0
0
19
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
-9
-2
24
0
0
0
1
20
0
0
-2
0
0
-8
-13
0
-47
10
-3
0
-6
17
0
0
-5
0
0
8
-48
0
0
10
-1
0
5
-61
0
0
1
0
0
0
27
0
5
0
-8
0
0
-61
0
0
0
0
4
0
11
8
25
0
0
0
0
9
0
0
0
0
0
0
-51
0
0
0
0
0
0
47
0
-3
4
0
0
0
-40
0
0
-5
-6
0
0
-84
0
0
-1
19
0
0
-68
0
-3
8
2
0
0
-20
0
0
0
0
0
0
60
0
0
0
0
-5
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
1
0
0
0
0
-7
0
0
0
0
0
0
6
0
4
0
0
0
0
0
0
0
0
13
0
-4
1
0
52
0
1
0
0
-15
0
0
0
0
0
0
-14
0
10
0
0
-4
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
25
0
0
0
0
0
42
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
2
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
-6
0
0
-2
0
0
-5
0
0
0
-16
0
0
-6
0
0
0
-16
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
55
-18
0
0
-5
-11
0
0
5
0
0
5
-10
0
0
-1
0
0
2
-22
0
0
49
0
0
0
15
0
-6
4
0
0
-6
2
0
0
0
0
0
0
-34
0
0
0
0
0
0
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
-17
0
0
-5
0
0
0
12
0
0
0
0
0
0
0
0
0
-13
0
0
0
-39
0
0
0
0
0
0
-8
0
0
-1
0
0
0
21
0
0
0
0
34
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-28
0
0
0
0
0
0
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
-6
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
0
-73
0
0
0
1
0
0
-9
0
0
0
-4
0
0
-5
0
0
0
-7
0
0
49
0
0
0
-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
-30
0
0
0
0
0
0
-32
0
0
0
0
0
2
-6
0
-2
10
15
0
8
41
0
0
-28
0
0
-8
-5
0
0
-2
0
0
0
45
0
0
-24
0
0
12
-31
0
-44
0
0
0
0
28
0
0
0
0
0
0
-68
0
0
0
0
0
0
-10
0
0
0
0
0
0
-24
0
0
3
0
0
0
-32
0
0
1
0
0
0
15
0
0
-7
0
0
0
-23
0
0
5
0
0
0
10
0
0
-2
0
0
0
37
0
0
0
0
0
0
41
0
0
0
0
0
0
16
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
-1
0
0
0
0
8
0
0
3
3
0
0
13
0
-1
0
0
0
0
1
0
-1
0
1
0
0
-1
0
1
0
0
0
0
22
0
0
0
0
0
0
-14
0
19
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-40
0
0
4
0
0
-72
0
0
0
0
0
0
3
0
0
0
0
84
2
0
0
-20
-83
-40
-18
-2
0
0
-9
0
2
25
8
0
0
-71
3
-100
-59
103
-7
0
-9
17
-42
-3
-8
0
0
-38
0
-13
3
0
5
-13
57
-1
8
1
43
-2
0
21
0
-204
0
-1
41
0
6
5
-7
0
8
-2
-2
0
-9
0
29
-1
0
0
-5
0
0
-24
14
0
21
-7
1
0
-39
54
0
0
-73
0
0
8
-35
0
0
-2
0
-4
-4
7
0
0
-27
7
-9
29
15
0
-38
-42
6
13
0
-17
0
0
32
45
1
0
29
65
49
0
0
0
0
-46
0
0
3
-1
0
0
83
0
-3
-99
16
-5
6
26
0
0
38
0
22
3
-77
-6
-3
19
-10
-1
12
-82
-9
0
-42
-3
-3
1
-55
-3
0
-65
56
0
0
-35
-2
0
23
37
-146
-4
-14
0
0
-5
-1
-50
0
36
0
0
0
8
-7
0
1
0
0
0
0
0
0
-80
0
-25
-2
3
7
0
-13
0
-1
43
3
0
0
-6
5
51
-5
-5
0
0
-31
-4
-3
10
-5
0
-17
-5
4
3
4
-9
1
0
-79
0
0
-12
0
19
0
-60
0
-4
0
0
-2
0
-132
3
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
68
-3
0
-17
0
0
0
0
0
0
-16
0
0
0
7
-2
0
29
2
0
0
-4
0
2
1
1
0
-3
8
0
15
-36
0
0
4
-3
0
-1
0
0
0
0
1
0
-19
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
3
0
0
33
5
4
0
-24
-30
0
0
-10
0
0
2
3
0
0
30
3
0
-1
62
0
0
2
0
0
-8
0
0
73
-57
0
0
6
-51
0
-3
2
0
0
0
7
0
0
0
0
0
0
-33
0
0
0
0
0
0
-43
0
0
0
0
0
0
-58
0
0
8
0
0
0
62
0
0
8
-1
0
0
31
0
0
-8
-1
0
0
62
0
2
-4
-15
0
-6
0
0
-1
0
0
0
0
25
0
0
0
0
-3
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
-3
4
0
0
0
-40
0
0
-1
0
0
0
-1
0
0
0
1
0
0
-30
0
2
0
0
0
0
0
0
7
0
0
0
0
-58
0
18
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-7
0
61
0
0
0
10
0
0
-5
0
0
0
-4
0
0
14
0
0
0
0
0
-1
13
0
0
0
-11
0
-5
-8
0
0
0
0
0
6
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
10
-8
8
0
-13
42
0
0
9
0
0
3
35
0
0
0
0
0
0
-58
0
0
-9
0
0
0
-55
0
-5
0
0
0
0
-3
0
0
0
0
0
0
-26
0
0
0
0
0
0
60
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
8
0
0
0
-13
0
0
5
0
0
0
-3
0
0
-3
0
0
0
-29
0
0
0
0
2
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-2
0
0
0
0
-1
0
-1
0
0
0
0
-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
5
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
-25
0
0
0
1
0
0
0
5
0
0
0
0
0
66
6
0
0
-2
0
-1
5
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
27
0
0
2
0
0
0
0
0
-1
0
5
0
6
31
0
0
1
0
0
4
-37
0
0
-5
0
0
-8
22
0
0
-2
0
0
0
-25
0
-4
4
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
32
0
0
0
0
0
0
5
0
0
0
0
0
0
15
0
0
4
0
0
0
-17
0
0
9
0
0
2
20
0
0
0
0
0
0
-18
0
3
0
0
0
4
50
0
0
0
0
0
0
-5
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
-1
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
86
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
64
0
0
-1
0
0
0
0
-1
8
10
0
-1
44
-25
24
-13
0
0
22
2
-14
-40
20
-3
0
-1
13
2
-24
57
-1
0
9
20
0
-15
13
2
2
19
-17
0
63
-43
0
3
-27
38
-73
-54
45
0
-5
-3
-57
-55
49
48
8
0
-1
37
-14
0
-4
-72
0
0
-70
-19
0
-7
-42
-66
-4
-40
0
-3
-18
0
0
6
-2
35
-3
-9
1
7
6
19
-12
-18
-25
-4
0
-5
28
-47
-8
-27
0
21
34
12
86
34
2
0
0
24
-9
0
7
-1
0
-43
5
-4
0
43
49
3
-6
0
1
-72
0
1
-75
33
0
0
0
0
-14
-20
0
13
11
16
84
-16
-14
-5
66
-15
-12
-42
-13
-3
0
2
27
12
3
-18
2
4
0
20
-13
-15
12
34
-10
12
51
-8
1
-16
8
-9
6
-44
8
-42
-9
-5
2
-2
14
24
-2
14
-1
-6
-1
-31
-47
0
-2
-3
0
0
-32
-26
-1
7
-4
1
-2
9
-1
41
-19
1
50
-60
57
4
9
-3
0
14
-122
-42
-15
-13
-15
-23
13
69
-31
37
20
11
2
-4
9
-40
11
28
25
-6
57
-69
-13
21
-3
30
-2
-4
-9
-41
16
0
18
7
-18
-3
-46
-52
0
8
-30
-1
-1
41
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-3
7
4
-1
0
0
0
3
0
0
4
1
0
0
44
0
1
38
0
0
0
0
0
-10
1
0
0
0
-2
0
-1
-1
0
0
0
-10
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
0
-29
0
0
0
0
0
0
-53
0
0
0
0
0
-3
17
0
16
-13
0
0
-5
46
0
0
0
0
0
0
-85
0
0
-2
0
0
0
-71
0
0
1
0
0
0
-15
0
-35
-5
0
5
0
-22
0
0
-3
0
0
0
40
8
0
0
0
0
0
-30
0
0
0
0
0
0
12
0
0
-5
0
2
-1
1
0
0
20
0
0
-3
0
0
0
-2
0
0
3
-3
0
0
-12
0
0
0
-34
0
0
28
0
0
8
17
0
0
5
0
0
0
-71
0
0
0
0
0
0
-3
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
23
-6
0
-2
-3
0
0
0
-27
0
-2
-5
0
0
0
50
0
0
0
0
0
0
25
0
6
-3
0
0
0
-4
0
0
2
0
0
0
-13
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-4
0
49
0
0
0
0
0
0
17
0
0
0
-3
0
0
-15
0
0
0
-8
0
0
-41
0
0
0
5
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-25
0
0
0
0
0
-1
-9
0
20
-35
8
0
-13
28
0
0
24
0
0
-8
-41
0
0
2
0
0
-3
12
0
0
52
0
0
0
-49
0
-22
-1
0
0
0
46
0
0
0
0
0
0
28
0
-2
0
0
0
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
22
0
0
2
0
0
2
-35
0
0
-3
2
0
3
-41
0
0
-10
0
0
0
82
0
0
-1
0
0
0
32
0
-2
8
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
1
1
0
0
0
0
10
0
0
0
0
0
0
-20
0
-4
0
0
0
0
8
0
0
0
0
0
0
-18
0
2
-9
0
0
0
-9
0
0
1
0
0
0
-82
0
1
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
11
0
0
0
0
0
0
-6
0
0
0
2
0
0
-5
3
0
0
6
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
45
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-4
0
0
0
0
-43
0
0
0
0
0
0
23
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
0
4
0
0
0
0
0
0
1
0
0
0
9
-6
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
14
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
0
0
0
0
-17
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
55
0
0
0
0
0
0
-16
0
0
0
31
0
-3
-10
0
0
0
0
0
0
-13
0
0
0
1
0
0
41
0
0
0
-33
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
-10
7
2
0
10
33
0
0
-1
0
0
0
-30
0
0
-15
-1
0
0
-11
0
0
0
0
0
0
-28
0
-29
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
31
0
0
0
0
0
0
-10
0
0
0
0
0
0
-31
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
27
0
0
0
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
3
0
0
0
0
24
0
0
0
0
0
0
0
0
35
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
6
0
0
0
3
0
0
-1
0
0
0
-1
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-9
0
0
0
1
44
0
0
0
0
0
2
-22
0
0
0
0
0
0
31
0
0
5
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
0
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
2
0
0
0
95
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
-1
0
3
-1
5
-7
-5
-38
-20
-93
-67
29
6
8
-2
7
-5
4
-8
0
2
31
22
-15
-4
-2
-38
37
-50
18
-2
-11
2
-1
39
7
-2
3
-50
0
-31
45
42
34
-16
91
-1
17
-19
21
8
-14
12
-8
-58
-42
51
-2
-10
10
3
-6
17
-42
-8
-14
17
15
13
-2
25
-38
8
10
-7
5
0
9
15
-43
-15
15
-12
-3
13
1
7
-1
-6
-7
-3
35
-9
-2
-98
2
33
-2
-34
7
2
-30
28
-36
1
33
34
-4
125
-50
-28
-2
-1
15
37
43
-6
7
-4
-46
9
9
38
-7
1
0
20
0
-1
66
-4
-10
0
9
-3
48
-14
14
-1
-2
31
-1
39
-39
7
-1
-1
-25
-5
8
-29
-7
-31
-6
12
-44
12
-6
-23
9
-2
-82
-13
6
9
-8
-33
-5
-10
0
-6
2
-26
-21
1
37
6
2
-12
6
-13
-5
25
-34
-27
-76
8
0
-2
-21
43
-51
3
-33
-14
3
-42
56
23
-28
-41
-31
-7
23
-26
-9
2
-41
-32
-16
2
13
43
0
24
28
-17
18
3
-25
66
58
46
-2
56
16
11
7
18
-4
-39
-25
14
-76
40
-38
-36
9
-6
-17
-4
1
-14
33
1
24
67
-55
-6
-9
-2
-1
-16
10
-20
-19
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
55
0
0
0
5
0
0
-1
0
0
0
49
0
0
-15
2
0
0
-7
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-24
0
0
0
0
0
0
9
0
0
0
0
0
0
9
0
-5
0
-1
0
-2
-3
0
0
-1
0
0
0
17
0
0
0
0
0
0
-13
0
0
0
0
0
0
49
0
-42
0
0
0
0
5
0
0
0
0
0
0
-31
0
31
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-41
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
40
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
10
0
0
10
0
22
10
0
0
72
-52
0
10
0
0
0
-2
0
0
-58
-6
2
0
-2
-32
0
61
17
0
0
30
0
0
29
8
0
1
-49
-2
0
-51
-7
0
0
-45
-2
0
9
-6
0
0
0
0
0
0
0
4
0
0
0
0
0
-43
-23
-4
0
-8
0
22
12
0
0
44
0
0
-24
-55
0
91
-11
-12
0
54
45
0
0
34
0
0
-58
1
0
-1
91
-3
0
-57
30
1
0
46
-8
0
-2
22
0
2
18
0
0
-1
32
9
0
0
0
0
0
18
-5
18
0
0
0
0
-16
0
0
0
0
0
2
11
0
7
8
2
0
14
-2
0
0
77
-1
0
-5
11
2
0
55
53
0
0
6
0
-2
-52
-8
0
0
10
0
-1
-45
-24
0
0
8
0
-1
-15
0
0
0
-1
0
0
0
-6
0
0
11
-9
0
0
0
0
0
40
6
0
0
3
0
-1
14
0
10
3
0
0
-2
-13
0
0
-3
-41
0
4
-79
0
53
-5
0
0
0
-58
0
-1
-12
0
0
0
-12
0
-48
-35
0
0
0
-3
2
-2
7
20
0
0
33
0
-10
0
0
0
0
27
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
15
-32
72
-42
-4
25
-21
-64
-30
-12
-6
-2
2
-1
3
-25
4
13
2
-13
-1
2
-15
33
-56
-2
14
-1
-2
-36
-22
-64
17
35
-2
19
-54
-52
7
-8
-50
13
8
-83
-32
-16
-10
26
30
-4
-42
45
-35
-12
3
4
24
27
17
-13
-8
39
44
32
-1
-57
54
40
17
-21
-30
1
42
-10
-12
32
-82
-1
-1
-15
1
2
0
31
3
-2
73
-46
0
27
-24
-8
-1
-18
-13
10
-16
-33
-2
-6
-19
-64
7
8
4
2
-1
5
-10
17
11
-33
-21
-3
-30
40
-6
-88
-4
-1
-3
14
37
-22
19
-41
-26
0
-53
-55
-24
-7
-13
-5
-34
-85
-53
18
17
-23
-4
-2
-73
-24
3
28
-11
-16
-3
-20
-84
8
-20
-5
17
-4
-21
22
6
11
11
11
1
-30
-9
-7
6
-15
-10
-4
54
65
-1
45
3
6
-4
-23
-14
9
-18
3
-6
1
4
15
-63
-14
1
8
10
27
-28
30
38
-84
-27
-14
33
-9
7
-45
13
-14
0
2
-8
-27
7
47
14
-18
-18
-10
-12
-41
-40
-40
-5
-16
7
17
-22
-7
-19
-4
55
1
21
-1
65
1
-17
-21
-41
-20
5
11
71
1
6
4
23
-8
-2
-8
8
-2
9
-5
-66
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
4
0
0
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
1
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
9
3
0
0
2
-3
0
0
2
0
0
0
-31
0
0
0
0
0
0
-7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
16
0
0
0
-6
0
3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-55
0
0
1
0
0
0
8
0
9
-8
1
0
2
-12
0
0
1
0
0
1
16
0
0
0
0
0
0
49
0
0
2
0
0
0
-52
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
-3
0
0
9
0
0
0
0
0
5
4
0
0
2
0
0
0
7
0
0
-7
0
0
0
-20
0
0
8
3
0
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
6
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-47
20
0
-11
0
0
0
-6
0
0
-34
0
0
0
3
0
0
-4
0
0
0
-5
0
1
-3
0
0
0
-2
0
0
-10
0
0
0
-9
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
-1
0
0
5
4
0
-4
12
13
0
21
30
0
0
12
0
0
1
-19
0
0
-6
0
0
8
60
0
0
11
0
0
0
9
0
-4
0
0
0
0
-1
0
0
0
0
0
0
-35
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
25
0
0
0
0
0
0
12
0
0
12
0
0
0
-33
0
0
25
0
0
0
22
0
0
13
0
0
0
-57
0
0
0
0
5
0
0
0
0
0
0
8
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-22
6
0
0
-2
0
0
0
7
0
0
0
0
0
0
9
0
0
0
0
0
0
-16
0
-3
1
0
0
0
6
0
0
0
0
0
0
-33
0
0
0
0
7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
1
0
0
-119
-37
-76
-95
1
0
0
21
0
44
102
6
0
0
32
42
1
12
7
0
0
-31
0
-10
-30
-3
0
0
-61
0
-13
-54
0
0
0
-18
-1
15
0
0
0
0
14
0
-35
0
5
0
0
0
0
-1
0
-68
0
-2
0
3
0
-12
-26
0
0
-43
0
0
60
4
0
-43
-32
-45
0
-40
-11
0
0
53
0
-1
-8
20
0
0
26
-6
0
-17
-9
5
-1
-62
-6
0
0
-3
0
-58
11
0
0
-3
-17
0
0
-3
0
-2
0
-35
0
-2
0
0
0
0
-59
0
0
0
1
0
0
64
0
2
0
3
-2
-1
20
0
0
-3
0
0
4
-53
0
0
29
-26
6
6
42
0
0
1
8
0
0
27
0
0
-19
-4
-2
0
3
1
0
-54
0
-75
0
-28
0
2
-1
0
-3
0
-30
0
0
0
0
0
0
37
0
0
0
0
0
0
-84
0
-18
1
0
2
0
26
0
0
3
-1
0
0
-74
0
8
1
0
0
0
-50
0
-6
-23
2
0
0
-51
0
-9
-12
0
0
0
30
0
0
9
-5
0
0
-42
0
0
0
0
8
0
-12
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-10
0
0
-2
7
0
81
0
0
0
0
0
0
-3
0
0
0
0
3
0
64
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
-48
0
0
0
0
0
1
2
0
-3
-3
0
0
-1
12
0
0
0
0
0
0
51
0
0
-2
1
0
0
74
0
0
-8
0
0
0
-34
0
3
-1
0
0
0
-3
0
0
0
0
1
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
86
0
0
0
0
0
0
-15
0
0
-1
0
0
0
10
0
0
5
0
0
0
31
0
0
-2
-10
0
0
-45
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-4
0
0
0
0
0
0
2
0
-4
-10
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-2
0
9
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-14
0
-6
-74
0
0
0
-2
0
20
7
0
0
0
-7
0
3
-40
0
0
0
0
0
-1
-2
0
0
0
6
0
-5
0
0
0
0
-55
0
0
0
9
0
0
0
0
28
0
0
0
0
0
0
0
0
49
0
0
0
0
0
-3
-6
0
0
0
0
0
19
-19
0
4
-82
7
0
-13
-23
0
0
0
0
0
0
14
0
0
-2
0
0
0
-32
0
0
9
0
0
0
-30
0
49
2
0
0
0
-15
0
0
0
0
-5
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
-19
0
0
24
-5
-3
0
-110
0
0
1
0
0
0
4
0
0
19
0
0
0
-28
0
0
-17
0
0
0
-27
0
0
-5
0
0
0
-24
0
0
0
0
0
0
-47
0
0
0
0
-1
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
-34
0
0
-13
0
0
0
13
0
0
0
0
0
0
-1
0
0
-1
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-9
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
41
0
0
0
7
0
0
6
0
0
0
-7
0
0
27
-10
0
0
-18
0
0
72
0
0
0
-5
0
0
5
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-3
0
3
66
0
0
0
0
0
-1
0
0
-43
1
-159
0
1
1
0
0
-34
0
0
7
-45
0
0
-1
0
0
1
0
0
0
97
0
0
0
5
0
-34
-3
0
0
0
30
0
0
0
0
0
0
-38
0
0
0
0
0
0
-53
0
0
0
0
0
0
-14
0
0
0
6
0
0
-49
0
0
-2
0
0
0
65
0
0
-13
-1
0
0
1
0
0
7
0
0
-1
-36
0
0
0
0
0
0
41
0
0
-2
0
0
0
-50
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-41
0
8
5
0
0
0
4
0
0
3
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
-1
0
0
0
0
7
0
0
0
0
0
0
51
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
0
0
0
-1
55
25
35
-8
0
-10
-5
-30
30
13
-4
0
66
2
-54
32
1
0
0
22
8
-66
45
2
0
0
7
41
2
-2
19
-2
0
-5
0
17
0
0
-2
0
0
-3
-13
0
-17
-25
59
20
18
0
0
-3
0
0
-55
-4
0
0
-32
0
-50
-33
-113
0
-5
-37
1
0
94
2
0
32
39
0
0
0
-72
0
-38
24
0
3
-4
1
0
3
-3
0
-66
-1
-8
0
0
16
0
0
-16
0
-118
0
0
50
24
0
0
-19
0
-8
0
0
0
13
0
0
54
0
0
-36
-45
0
6
36
0
3
-3
5
17
24
-96
0
8
-8
74
-31
22
5
0
3
-19
-67
43
0
19
0
-2
-15
-73
-14
-3
16
9
0
43
-1
21
0
15
-8
0
-21
-7
17
0
-5
-4
0
0
0
-1
0
-46
0
0
0
0
0
0
-83
0
31
14
2
-4
0
-42
-2
3
53
38
-1
1
38
0
1
47
10
8
0
19
0
-14
26
-69
0
0
14
0
48
4
-2
14
0
64
0
0
-8
-2
-14
0
57
0
7
5
0
-13
0
34
41
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
14
0
0
20
0
-3
23
-2
0
0
59
38
26
-8
45
3
0
5
2
3
-49
-3
0
0
64
0
38
-4
0
0
0
-41
-1
-6
0
-4
0
0
13
0
-21
0
0
-1
0
0
0
13
0
37
6
3
-2
0
0
-9
0
0
3
21
-6
0
-1
-19
0
2
-73
16
0
14
25
0
0
16
7
0
-16
-23
9
0
8
-5
-1
-47
28
-1
0
-27
0
0
0
-4
0
32
71
-1
0
0
-21
0
0
-3
0
21
0
-34
-3
0
0
0
0
0
-30
0
0
0
0
0
-2
0
0
0
5
20
-16
-6
-70
0
0
66
0
-1
0
66
0
0
-28
37
0
-17
4
0
-6
-39
17
7
0
-31
0
2
-5
-73
-1
0
4
0
2
-15
0
0
0
44
0
3
-8
-4
55
0
-19
0
-1
0
5
0
0
-95
0
0
8
6
0
0
0
-10
-1
-1
-3
0
0
-18
0
0
31
0
0
7
18
0
-28
-13
-7
0
0
0
0
13
1
30
0
0
53
0
26
-4
-4
-1
0
-64
2
-1
-20
5
0
0
-30
0
-41
1
0
-32
0
22
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
-5
0
0
5
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
6
0
0
0
20
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
-8
0
0
2
0
0
0
0
0
0
7
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-5
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-7
32
32
21
75
-10
-2
-12
49
-9
-5
58
55
-5
5
-31
17
-22
60
-4
7
16
-14
29
-13
-5
-23
6
9
-41
36
1
12
-3
0
-75
22
40
-3
21
34
-1
-8
-49
37
1
7
-31
-143
0
13
0
-63
-12
0
0
51
-4
-13
-64
0
-2
-34
21
21
-7
-12
5
10
0
111
25
-6
-7
14
0
0
13
24
-9
16
17
0
7
15
-36
13
-22
-1
0
-5
31
-9
30
-19
-19
0
-1
26
-42
-29
0
-3
-14
-60
0
-10
0
0
-17
7
0
0
-10
0
-24
-9
0
-1
0
8
14
-38
-3
0
-2
28
46
19
-14
27
-3
-9
23
-43
4
19
1
42
43
20
15
17
-33
13
2
24
29
-23
-7
-5
-33
-6
-25
-23
-46
32
-5
-4
-2
-23
-35
-76
32
0
-3
14
0
-14
-60
9
-1
-8
-18
0
-1
-56
-2
-2
-45
-1
-93
0
48
25
-49
-35
-2
21
5
-8
-23
-16
31
2
-27
-25
26
0
0
-47
0
35
-29
-41
23
0
-15
0
-66
19
86
-2
0
-62
0
-3
-7
-13
26
5
8
0
65
-43
-60
28
0
14
-51
0
14
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
10
-67
0
0
0
1
0
-10
5
61
0
0
-92
0
7
2
-10
12
0
12
0
27
-42
3
0
0
-9
0
-1
-75
-11
0
0
15
0
-2
0
9
-65
0
-2
0
-76
1
9
-43
-78
-8
0
0
46
15
0
0
-12
0
0
6
-28
0
-26
-2
0
41
10
-1
0
0
21
0
-48
-48
-6
0
0
-15
0
-44
24
1
0
0
12
0
3
5
5
0
0
-8
0
-4
4
-29
0
0
-15
0
-10
0
4
-39
-40
-1
0
0
0
-15
-62
0
0
13
18
84
-33
0
0
-73
0
14
31
6
0
0
19
0
9
71
-12
0
0
-33
8
-9
14
24
-6
-2
15
30
18
-41
-20
0
-2
4
27
20
-9
-13
0
-2
62
17
2
13
-13
0
0
-12
0
-5
0
-5
-3
0
49
0
-5
0
-8
20
0
0
0
2
0
-11
0
11
2
0
1
0
-3
0
3
-56
0
-20
8
27
-1
-10
2
-13
38
-14
17
-5
-7
-13
16
41
1
3
6
-7
-14
0
9
0
-30
0
1
23
0
28
0
-25
0
9
-10
0
-9
0
-15
-12
8
22
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-130
-4
0
0
8
-2
0
-30
0
0
0
45
-20
0
12
56
0
0
-5
-1
0
33
-8
0
0
-26
-4
0
36
13
0
0
47
-19
0
-5
46
0
0
-6
-3
-10
0
0
5
0
0
-4
0
0
2
2
3
0
-10
0
-120
-14
0
0
10
-8
0
19
-36
0
40
43
27
0
14
37
0
0
37
8
0
4
-4
0
0
56
-3
0
30
4
0
0
17
12
0
-1
21
0
-24
19
-6
0
-13
2
0
0
45
-3
0
0
2
-3
27
0
0
0
0
-21
0
0
30
-3
0
-4
16
0
6
7
-41
0
4
4
0
0
6
-24
0
2
45
0
2
22
77
0
25
10
0
0
-22
49
0
2
6
3
4
28
-12
0
92
1
0
0
26
112
0
8
7
0
0
-2
-2
0
0
-8
-7
0
-1
49
0
2
-14
12
5
0
15
0
8
-22
0
-8
-36
-4
0
17
-46
0
-9
-49
7
0
1
42
0
41
52
-1
0
0
-46
0
-3
-28
7
0
0
-22
0
-7
94
-1
0
0
-82
0
0
-43
-18
0
1
36
0
-39
-9
0
0
0
2
-3
0
-3
-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
-100
-63
1
-42
0
6
-53
-6
62
6
-51
-4
-45
-13
-4
6
8
-34
-8
11
-38
13
2
-13
5
-17
-11
20
74
3
-8
2
-11
5
11
0
3
38
12
-19
88
-41
-1
4
-89
-48
3
-10
0
-13
-1
0
17
29
-27
9
-24
21
-1
15
5
-11
0
-5
0
8
41
-8
63
20
-42
-4
-25
8
5
-3
47
-38
1
-61
30
-3
-85
-89
-24
-3
14
1
-21
-22
-52
-91
-39
50
-2
-53
6
8
0
-3
-11
-11
1
40
20
-2
12
-48
1
9
-5
32
-8
-4
-66
-6
-35
91
-38
12
10
-6
28
-8
33
-34
-25
0
-43
21
8
24
3
17
-9
96
73
12
36
40
-30
-6
6
-29
-19
3
-47
-89
1
-30
-61
-7
-76
1
9
-2
-4
-95
-40
13
9
0
-3
31
-17
-1
-29
33
0
-16
-3
-1
-9
-31
-6
-5
-17
-13
48
76
24
-44
41
-5
-2
60
-6
-18
35
-13
-7
3
-10
28
3
-8
-34
-16
6
-13
29
31
27
-19
13
2
-48
13
-69
-50
-6
-8
14
-62
20
-6
30
-2
-3
0
-4
-11
-22
3
-1
-1
35
-20
-12
18
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-4
0
0
2
0
-5
38
-6
0
0
-31
3
0
46
-1
0
0
9
0
0
4
6
0
0
28
0
-3
0
-8
0
0
0
0
20
0
0
0
0
0
0
0
0
15
0
0
0
6
0
0
-38
0
0
0
0
0
12
0
0
5
19
0
0
-19
3
0
1
-5
0
0
-1
2
0
0
2
-1
0
0
9
0
0
-1
0
0
0
9
0
0
3
0
0
0
37
0
0
0
0
0
0
52
0
-7
0
0
0
0
-25
0
0
0
0
0
0
32
0
0
0
0
-1
-8
0
0
0
8
0
-3
16
12
0
0
40
-4
12
5
-7
1
0
2
2
1
0
-34
0
2
-23
0
0
-6
28
0
0
-1
0
0
0
0
0
-1
0
2
6
0
5
0
0
0
0
0
0
-16
2
0
3
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
-6
0
0
-15
0
0
13
0
0
0
-7
0
5
19
0
0
0
28
0
4
-8
0
0
0
-1
0
0
0
0
0
0
22
0
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
3
0
0
0
-8
-27
0
0
0
0
0
0
18
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-8
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
-3
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
-3
0
0
0
-2
0
-7
-3
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
2
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
2
1
7
47
-2
9
72
0
-1
23
-2
-1
7
5
0
0
6
-22
-48
5
0
0
0
40
-8
-42
0
-5
0
0
-20
0
-23
0
0
31
0
0
-1
6
0
9
30
18
0
-14
0
-4
19
-1
0
0
0
0
5
-6
0
-69
-30
-35
0
-28
-26
0
5
-22
2
-59
-60
11
0
0
35
29
25
41
3
-6
-6
15
0
0
22
-4
0
-11
26
32
0
0
-5
0
5
-22
-1
-74
0
-18
-18
-24
0
0
0
0
7
1
0
0
0
0
-4
17
-1
0
0
-38
77
5
3
0
0
-5
6
-1
-5
-19
-1
1
1
-34
59
26
-11
0
-3
-7
-7
-13
21
-6
8
0
22
73
21
42
-25
0
0
-63
25
-48
-4
-10
9
20
-30
-8
-42
0
-4
-5
0
0
-2
-7
0
2
3
0
0
26
0
0
57
-1
46
0
-33
12
-29
15
0
10
0
-6
0
42
-28
0
-37
-16
-5
5
-8
-55
0
-7
12
-23
0
0
5
0
-13
32
-2
-7
0
3
0
0
10
93
22
0
1
0
0
-8
0
40
-7
-3
21
4
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
6
0
0
-30
0
-16
-30
0
0
0
0
0
-1
-16
0
0
0
39
0
0
-9
0
0
0
18
0
0
0
0
0
0
0
0
-50
0
0
6
0
0
0
0
0
76
0
20
0
0
0
-2
-29
0
0
0
0
0
-21
0
0
13
-24
0
0
-3
-34
0
0
0
0
0
0
28
0
0
6
0
0
0
7
0
0
-26
0
0
0
18
0
-6
7
0
0
0
-49
0
0
12
0
0
0
-35
0
0
0
0
0
0
-17
0
0
0
0
0
0
30
0
0
25
0
0
0
-26
0
0
0
0
0
0
50
0
0
13
0
0
0
0
0
0
0
0
0
0
33
0
0
-2
0
0
0
28
0
0
2
0
0
0
-12
0
0
-1
0
5
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
-1
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
6
0
0
0
15
0
0
0
0
0
0
27
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
33
66
0
-19
0
0
-1
-9
0
0
13
0
0
0
-48
0
0
30
0
0
0
-6
0
0
0
0
0
0
10
0
-3
0
0
-42
0
0
0
0
0
4
3
-4
0
26
0
7
63
0
0
42
2
0
-69
-37
0
-48
-97
15
0
-51
-24
0
0
-7
1
0
51
-4
0
0
44
-1
0
-15
-4
0
0
17
0
0
-7
0
0
-51
41
7
0
-8
-12
0
0
46
0
0
0
0
-1
-7
0
0
0
0
1
0
0
-3
0
0
0
73
0
0
-20
30
0
-9
-26
0
0
-35
0
-7
-19
0
0
0
-35
-1
0
-6
20
0
0
17
-18
0
7
17
0
0
-38
31
0
0
3
0
0
-18
6
0
0
18
0
0
-3
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
1
0
0
47
0
6
-10
-9
0
-4
-40
0
-3
-8
-2
0
0
2
0
-28
-24
23
0
0
17
0
3
-19
-14
0
0
-56
0
6
-19
25
0
0
27
0
0
3
-2
0
0
23
0
-27
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-29
0
5
-3
13
-51
-56
-9
0
-1
-3
1
41
7
78
1
5
-18
32
-34
-1
40
-4
-1
-40
0
-25
0
6
24
0
0
29
39
0
-19
11
50
-6
-38
0
-3
-2
0
0
41
5
10
-33
-15
-3
-23
-37
-96
-5
27
-13
7
8
14
5
-3
90
-58
0
15
-1
21
-3
-8
-12
0
-1
-8
32
16
8
0
0
-29
-18
-8
3
-2
-5
-1
0
-93
-7
-41
0
-4
-2
48
0
0
0
0
-25
42
0
-13
0
0
20
-3
0
-7
-14
71
-28
76
47
2
2
-16
42
-27
-17
-10
0
-54
7
-38
13
23
-31
46
42
-42
-20
18
18
9
-5
60
-18
-4
19
-7
3
0
93
77
0
-37
9
-4
13
-5
-42
-44
-53
0
-27
1
0
1
-5
0
1
-8
-3
0
-2
29
0
0
8
-5
47
27
-4
45
1
22
-3
62
16
-49
4
0
4
0
25
-108
18
-10
2
-14
5
-15
-25
-35
-7
1
4
0
3
9
39
67
-4
8
2
-7
-22
42
-1
0
7
2
24
-5
0
-73
3
-28
19
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-20
0
0
-13
0
-25
-25
1
0
13
69
0
-6
43
-1
0
0
1
0
16
0
-8
0
0
2
8
13
0
0
-3
0
0
0
25
0
19
-8
2
0
0
0
-8
22
0
0
1
0
0
-24
40
0
-17
-7
-4
0
-4
0
-1
-8
83
0
0
24
22
0
0
5
0
1
-2
-14
0
-4
61
0
0
0
13
0
8
0
-2
0
0
-36
0
0
0
0
3
0
-24
3
0
0
0
0
0
-7
1
0
0
0
0
0
8
0
0
5
7
0
0
-54
0
0
5
0
0
25
0
0
0
41
-4
0
2
25
0
2
-23
0
0
-2
14
0
0
-20
0
1
0
3
1
0
28
0
-2
0
-36
0
0
-3
0
-21
0
20
1
0
0
0
0
0
24
3
0
0
0
0
0
-42
0
8
0
0
0
-4
-7
0
-9
-4
0
0
1
0
0
-8
-3
0
0
3
-110
0
8
6
6
0
0
-26
0
-5
5
0
0
0
11
0
1
0
3
-1
0
38
0
-8
0
0
0
0
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-3
0
0
-2
0
0
-1
0
0
0
13
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
40
0
0
0
0
0
-8
0
0
18
14
0
0
-1
-35
0
0
-10
0
0
-8
-34
0
0
0
1
0
2
-11
0
0
1
0
0
0
-56
0
3
0
0
0
0
-8
0
0
-1
0
3
0
40
3
0
0
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
0
1
28
0
0
0
0
0
-3
-3
0
0
-5
0
0
0
-27
0
0
0
0
0
0
-20
0
0
-6
0
0
0
24
0
0
8
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
2
0
0
0
-2
0
0
0
0
0
0
7
0
5
0
0
0
0
-2
0
3
0
0
0
0
-2
0
3
0
0
0
0
24
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
3
0
0
0
0
-4
0
0
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-42
0
0
4
0
0
0
0
0
0
-1
0
0
0
5
0
0
-10
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
4
0
8
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-37
0
0
17
0
0
0
-9
0
0
7
0
0
0
-10
0
0
0
0
0
0
29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
15
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
53
22
5
51
-26
13
-59
30
-5
6
-3
77
25
9
-41
0
0
-18
-107
-38
-13
38
0
0
-74
7
8
1
-8
37
0
0
5
-84
-3
5
-20
-29
0
-28
0
85
4
0
0
0
12
-6
7
-27
8
-7
-39
0
0
24
-2
2
0
-33
5
41
-87
1
5
-3
-17
13
-19
0
-2
0
0
25
15
-29
-92
2
0
1
-14
33
6
23
21
12
4
-22
-13
-6
0
2
-36
-71
-1
-1
3
0
-9
-69
0
3
30
-25
37
14
0
0
-7
22
-54
37
-3
0
2
0
-5
-17
-30
-21
-3
0
7
-59
44
99
-9
0
-12
8
-43
71
27
-11
1
18
19
12
14
42
-2
2
30
-10
53
-13
-2
17
0
0
33
22
-3
0
-2
8
4
27
-20
2
0
-8
5
0
0
-50
0
-4
-13
1
-4
7
-5
-5
2
-13
3
71
17
-16
55
-5
15
-23
-49
23
30
5
1
-36
-1
-15
17
-25
-40
6
-7
-6
-2
60
-34
-27
0
5
1
16
14
-4
-13
0
6
0
13
-28
-5
24
0
-16
-83
-3
21
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
41
0
-45
-59
-3
0
0
-44
0
-1
23
4
0
0
-56
0
-41
0
-7
0
0
-5
0
-17
0
0
-15
0
0
0
-29
0
34
2
-4
0
0
0
19
-8
0
0
64
0
0
31
4
0
-12
49
0
0
5
-20
0
0
-47
0
1
8
-10
0
0
-31
0
0
75
-10
0
0
1
0
3
0
-9
0
18
-50
0
0
0
-46
0
0
-3
0
123
0
4
0
5
0
0
0
0
-11
0
0
0
0
0
0
-17
0
0
0
0
-14
33
-10
0
0
49
0
-1
-9
16
5
0
-26
0
0
6
9
0
0
-30
0
-3
-14
-36
0
0
51
0
0
8
-38
0
4
122
0
4
5
-68
0
-1
7
0
11
0
-28
0
0
0
0
0
0
-28
-6
0
0
0
0
0
9
0
-24
0
0
4
0
-58
0
0
-8
0
0
0
-21
0
13
50
0
0
0
51
0
6
-67
0
-1
0
2
0
82
-10
0
0
0
-47
0
0
-19
0
2
3
-7
0
20
-3
0
-25
0
8
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-34
0
-3
-15
3
0
17
9
2
7
-23
0
0
68
3
0
0
65
4
0
-2
32
0
0
3
-13
-1
0
-3
-31
0
0
1
0
0
7
-8
-6
0
-9
0
-32
21
0
0
-19
-7
0
-45
-26
9
7
-49
-13
0
-29
-23
7
0
3
31
0
-3
2
0
0
8
49
0
30
4
5
27
7
7
0
-20
8
0
12
5
-9
0
-5
7
0
0
68
0
0
0
-21
-15
-14
0
0
0
0
-34
0
0
-5
0
0
0
29
0
1
6
4
0
-44
2
0
6
-1
0
0
58
15
3
-1
0
-33
0
33
-11
-3
2
2
-48
0
31
-2
2
-1
48
72
0
-5
-22
0
3
37
8
0
0
-22
8
-13
84
-1
0
0
3
-11
0
1
6
0
0
-108
31
0
-4
-70
0
0
-24
-5
-70
-1
0
0
-5
-29
0
8
38
21
0
-12
-27
0
-15
1
-8
0
-12
-2
0
0
74
-1
0
0
-24
0
-58
27
-17
0
8
8
0
0
-20
-1
0
0
-36
-1
35
37
-1
0
1
2
-5
0
-2
-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
0
0
0
0
0
0
-10
32
7
1
-25
41
18
-17
31
3
19
8
-138
28
2
-39
25
-1
3
-4
-7
0
46
0
0
-8
-24
-5
-13
-1
0
90
-7
4
0
41
14
9
-1
20
-2
52
-43
-41
9
-16
5
-10
-3
-34
-11
-8
22
-1
-10
2
14
-3
4
53
6
83
-1
-34
-18
4
-12
4
-5
1
27
3
0
6
17
-7
14
29
-5
20
-12
-14
-51
-41
0
-1
-13
-26
-3
18
13
-6
4
28
-5
-13
1
59
29
4
-46
26
36
25
-6
18
12
2
33
-43
-16
-25
20
-3
45
7
-10
28
-71
-113
-4
13
-12
-1
-33
12
15
2
-89
52
-42
-8
23
-17
1
18
54
2
43
-29
23
2
33
3
1
-29
33
0
2
45
9
-31
-23
36
-13
1
1
28
57
10
2
106
20
-28
26
41
-83
23
23
-11
-6
11
-35
4
46
59
-9
-21
39
17
-28
-5
15
-24
15
20
-9
-42
47
18
8
13
-44
53
-39
-17
30
-35
-15
12
54
0
21
14
-6
5
-2
-23
3
75
-1
-8
2
34
-28
-75
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-2
0
0
-7
1
-6
5
1
0
0
84
-1
2
3
39
-4
0
-8
-1
36
0
0
35
0
0
0
-5
0
26
-21
5
0
29
0
-11
-3
0
0
-28
0
0
-8
15
0
23
0
58
0
-83
-3
0
0
48
-3
-6
-5
0
-5
2
-101
-9
-6
-14
-51
5
5
50
0
0
19
37
0
40
40
24
0
-5
6
0
2
29
-14
40
0
-36
6
114
0
0
4
0
6
-2
0
-2
0
0
2
34
0
8
-11
-8
-31
-12
9
0
0
26
9
-2
-1
-19
-3
0
-56
-20
13
-4
0
5
4
-22
2
1
7
41
0
-1
-9
-9
0
8
56
-1
0
40
0
15
1
10
0
-1
8
-5
6
0
-6
3
0
0
15
-6
0
46
4
0
6
0
0
0
3
0
20
3
0
1
0
36
0
1
43
14
0
-2
-13
0
31
-19
-5
0
6
0
-3
-1
-25
34
-2
0
28
0
-9
-17
0
0
0
-37
-1
2
-17
8
0
0
-58
0
41
0
3
25
0
13
-10
-3
-6
-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
0
0
0
0
0
0
-7
0
0
0
0
0
0
49
0
0
0
12
0
0
0
5
0
0
-3
0
2
0
0
0
0
0
0
3
0
-28
0
0
0
0
0
5
79
0
0
0
0
0
-2
2
0
5
-25
0
0
3
37
0
0
2
0
0
0
-25
0
0
30
0
0
0
-48
0
0
-3
0
0
0
36
0
-7
13
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
-2
0
0
0
-30
0
0
0
0
0
0
48
0
0
-4
0
0
0
50
0
0
0
3
0
0
4
0
0
0
0
0
0
18
0
0
7
0
0
0
32
0
0
0
0
0
0
49
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
0
0
0
-3
0
6
0
0
0
0
2
0
-12
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
-1
0
0
5
0
0
0
0
0
5
0
0
0
0
0
-2
-41
0
0
0
0
0
0
-4
0
-12
0
0
0
5
-47
0
0
4
0
0
0
-21
0
0
6
0
0
-2
-31
0
0
8
0
0
0
9
0
1
0
0
0
0
1
0
0
0
0
0
0
-34
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
66
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
-1
0
0
9
0
0
0
0
0
0
32
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-4
-3
0
-71
7
97
75
24
7
0
-75
10
24
5
-7
-1
0
21
4
-87
0
3
25
0
0
0
-4
0
30
23
-4
0
31
0
11
-27
0
8
22
0
3
53
-3
-16
-31
41
-118
0
-6
-41
-1
0
36
-1
3
22
3
0
-3
60
110
0
26
11
0
-4
64
0
3
16
29
2
62
49
0
0
12
-40
0
0
4
0
23
0
-17
4
-5
-1
5
0
0
7
0
0
-1
1
0
1
46
-4
4
30
-43
2
-11
20
0
4
-49
2
-3
5
-66
1
6
-27
-39
10
-8
32
5
-4
-56
-1
-2
0
-33
0
-10
-30
-17
-2
-4
12
0
2
6
1
-9
-1
-3
0
39
17
25
-66
0
-12
2
-2
0
0
-7
0
-5
8
-4
0
6
0
0
24
5
17
4
0
0
-5
-41
-1
48
-4
-34
2
-3
10
1
41
20
6
2
4
-39
0
0
-3
34
0
-5
-14
0
66
48
0
0
0
24
0
-7
0
-13
0
5
-84
0
62
0
0
-17
0
53
13
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
24
0
9
0
0
0
0
41
0
0
0
0
0
0
-3
0
-25
0
0
0
0
0
0
0
0
14
1
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-7
-8
0
0
20
-15
0
0
0
0
0
8
-64
0
0
-2
0
0
3
0
0
0
102
0
0
0
10
0
37
-9
0
0
0
2
0
0
0
0
3
0
5
-1
0
0
0
0
0
-59
0
0
0
0
0
0
-5
0
0
5
0
0
8
-1
0
0
0
0
0
0
-41
0
0
31
2
0
0
25
0
0
-17
0
0
0
-109
0
0
-30
0
4
0
-31
0
0
0
0
3
0
-21
0
0
0
0
8
0
-24
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-33
0
9
0
0
0
0
0
0
1
-8
0
0
0
-1
0
0
0
0
0
0
5
0
0
-1
0
0
0
31
0
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-3
0
0
10
28
0
43
1
0
0
25
-1
0
-3
30
0
0
-54
-2
0
0
-14
-32
0
0
13
0
0
4
-3
50
0
1
0
-83
-34
0
0
-101
1
0
76
50
0
-14
-17
-11
0
20
14
0
0
21
0
0
142
0
-3
0
9
-76
0
71
2
0
0
-2
0
0
3
17
0
-17
22
57
0
16
-32
0
8
-17
-5
0
0
-5
-5
15
0
0
0
0
-5
0
0
0
-5
0
-6
-59
0
-6
-2
-58
0
9
1
0
3
-32
0
0
50
-46
4
6
5
64
0
-56
-2
0
-12
-7
-26
0
10
43
0
-9
49
-13
0
-4
14
-8
3
-2
-8
0
0
-42
0
-1
3
5
0
0
-23
-4
9
0
30
0
0
-5
1
0
0
-1
0
-1
-40
2
-38
8
0
-1
-8
-14
0
4
-5
13
0
55
-39
0
-41
57
1
0
-7
24
0
-4
10
29
0
0
27
0
68
12
9
0
2
109
0
6
66
2
0
0
-3
0
29
0
-2
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
18
0
0
-61
67
31
0
9
-3
0
65
12
-77
0
2
5
0
-1
3
-4
0
-17
-18
-48
0
-76
0
-7
-4
0
0
-18
7
-13
57
-8
0
5
-24
-49
5
-43
-18
1
-2
32
75
21
32
-37
-7
-1
-14
-59
18
-46
-57
27
-5
-34
6
-3
0
-43
0
14
31
49
2
0
-11
0
0
-44
2
-32
0
-7
-26
-16
-6
6
0
0
-28
9
0
-5
-4
49
0
-41
-18
23
-8
29
30
84
-6
0
0
21
3
46
-90
-26
-5
58
-20
-12
-25
19
-3
26
-8
24
-49
17
0
-29
31
-29
-50
-7
49
0
-8
-1
6
19
-4
-23
0
-10
4
-15
-40
-8
2
0
26
20
-12
-3
58
35
0
7
1
-6
0
41
0
-2
6
-2
-30
43
10
27
12
-41
0
-4
-58
-39
2
13
-2
0
58
53
-4
-16
-17
-3
0
-25
72
-32
-7
5
17
-1
-4
62
1
8
1
-19
0
-2
-16
31
-53
2
-14
-1
21
23
0
70
0
-4
37
0
10
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
16
-58
-2
0
0
4
0
0
0
0
-33
0
0
6
0
0
6
4
0
-28
-8
0
0
0
0
5
-18
0
0
3
0
0
-47
60
0
-32
42
-6
0
21
46
0
1
49
0
0
-30
12
0
0
-8
0
0
14
0
0
-1
8
-9
-3
-1
-63
0
-33
17
0
0
0
-20
0
0
14
1
2
0
41
0
3
0
0
0
0
-36
0
0
0
0
0
0
-29
0
-4
0
2
-3
-1
35
0
3
-21
0
-19
6
59
0
0
-46
-9
0
30
62
0
-3
-5
9
0
-5
0
0
-8
13
19
0
1
21
0
0
0
0
2
0
-2
0
0
6
0
42
0
-57
0
0
0
0
0
0
43
-7
0
0
0
0
0
-21
2
-18
0
0
-4
0
122
0
-4
0
8
1
1
-15
0
1
-7
-2
0
0
-10
0
-2
3
0
0
0
0
0
-5
-13
0
-12
0
-23
0
0
0
0
0
0
27
0
30
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
5
0
0
0
0
0
-8
0
0
-2
1
0
0
1
-4
0
0
1
0
0
0
112
0
0
-3
0
0
0
-28
0
0
-8
0
0
0
64
0
-4
0
0
0
0
47
0
0
0
0
0
0
60
0
0
0
0
0
0
41
0
0
0
0
0
0
30
0
0
0
0
0
0
4
0
0
0
0
0
0
37
0
0
0
0
0
0
-52
0
0
0
0
0
0
-22
0
0
-2
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-12
0
0
0
0
0
0
21
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
41
0
0
0
0
0
4
0
0
-2
0
0
0
-14
-58
0
0
0
0
0
4
9
0
0
7
0
0
0
23
0
0
24
0
0
0
37
0
-6
0
0
0
0
-9
0
0
-2
0
0
0
19
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
0
0
0
25
0
0
8
0
0
0
-30
0
0
-7
0
0
0
17
0
0
0
0
-1
0
83
0
0
0
0
0
0
18
0
0
-3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
9
13
10
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-12
1
43
-16
-91
15
-3
-22
-8
0
0
8
-3
0
-1
-124
0
0
-41
-59
32
-2
-21
-26
-5
1
0
121
25
0
0
-4
-3
7
26
12
-2
-8
13
0
9
14
17
-1
5
-12
12
2
-26
5
0
-6
-21
2
-1
-66
-2
0
-22
-11
42
0
-1
-2
0
25
-2
31
-9
-14
-9
-3
0
0
-51
-46
0
-1
-23
19
0
-2
2
16
-15
-38
1
-3
-80
0
91
-12
1
6
10
26
31
26
18
0
-8
11
15
26
51
-6
-1
-30
-21
41
-7
-15
20
-15
12
18
17
-5
-29
-23
12
75
-7
-24
53
10
9
1
-7
0
-59
-26
4
-4
0
8
0
57
-16
0
-27
4
1
0
14
62
1
47
47
0
-6
-44
-5
-3
-13
-1
-23
-22
-19
-17
5
11
0
-57
-48
-1
32
-1
-18
-6
-51
-54
8
0
-4
32
-5
-6
7
-9
-8
3
37
0
18
-14
32
59
-3
21
5
4
-19
26
-3
12
-2
0
76
0
-17
15
0
-5
0
-8
0
-55
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-16
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
3
0
0
3
0
0
-4
0
0
54
41
0
0
-28
-46
0
0
-3
0
0
0
-57
0
0
-3
0
0
-3
-58
0
0
-113
0
0
4
21
0
29
20
0
0
0
48
0
0
0
0
0
0
-55
-1
0
0
0
0
0
-65
0
0
0
0
0
0
-13
0
0
-2
0
0
0
-3
0
0
-4
0
0
0
-89
0
0
-19
0
0
0
27
0
0
-5
0
0
0
-6
0
0
-1
0
0
0
3
0
0
-4
0
0
0
40
0
0
0
0
-1
0
-39
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
8
0
0
0
0
-9
0
0
0
0
0
0
0
0
-1
-1
0
0
0
20
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
39
0
0
41
7
0
0
46
-3
0
2
27
-1
0
0
-20
0
0
1
0
0
22
14
-5
13
-9
0
43
4
0
0
-5
-2
0
-56
-29
0
-16
-55
22
0
86
19
0
0
-37
-12
0
-50
-18
0
0
6
3
0
-19
-165
0
0
-33
-1
0
0
-14
0
23
-71
-9
0
0
-12
0
0
31
0
0
0
-5
41
-5
0
0
0
0
-50
-4
0
0
-1
0
8
-41
0
0
-9
52
0
14
8
0
3
-61
0
0
-13
-42
4
0
-38
51
0
15
-53
5
0
-12
25
0
-5
4
1
29
10
-7
0
1
4
0
5
51
0
0
-6
-14
7
0
0
46
15
0
-15
0
0
0
-6
0
0
-45
4
0
0
0
0
0
-2
3
43
0
0
0
6
20
0
0
-6
8
0
0
-8
-2
-21
-2
-7
0
3
-6
0
5
5
87
0
2
9
0
30
-71
0
0
0
57
0
6
17
1
0
0
-9
0
-9
0
4
0
0
52
9
-3
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
14
0
8
5
-191
0
-8
-111
0
28
-3
-31
-9
1
-31
37
0
-14
0
104
-37
0
0
-41
-24
-23
25
-20
-9
15
-16
-54
17
6
40
0
1
32
43
-16
56
19
4
9
27
6
-5
-2
10
0
-8
-46
-3
0
-1
1
-1
6
-1
-5
-3
-2
-28
9
0
18
-8
-16
0
27
-3
-31
0
0
0
0
-6
-31
0
0
1
8
-5
-46
10
2
35
-43
38
-12
2
0
12
15
-3
12
-8
7
2
68
-33
-54
-7
17
-4
55
-12
11
-83
37
56
9
17
4
22
-27
-33
-3
-10
6
0
18
31
24
0
-52
-2
-1
-29
8
-54
0
15
0
0
-3
31
2
-2
20
-1
0
0
-13
0
5
4
0
-20
10
0
-43
-4
-11
-1
9
16
70
-4
2
9
0
10
50
-4
-7
0
-32
0
5
2
-103
2
0
10
3
-42
-29
10
8
0
-1
4
-4
54
-46
13
0
-60
0
-31
4
24
-128
0
-8
-5
-17
-7
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-21
0
0
13
0
0
0
0
0
8
-9
0
0
0
0
-1
6
0
0
0
0
0
0
-2
0
44
-4
-16
0
42
33
0
0
-8
0
2
-42
30
0
0
18
0
1
-8
-56
0
0
-55
0
-4
0
0
0
-17
-1
0
-1
0
-45
0
0
-5
0
-3
0
5
4
0
0
0
0
0
41
0
0
0
0
0
0
10
0
0
0
-1
0
0
-16
0
0
55
0
0
-1
22
0
0
-13
-8
1
4
-71
0
0
5
0
0
1
34
0
0
-5
0
0
0
0
0
0
10
0
0
0
-43
0
0
-3
0
46
0
65
-2
0
0
0
0
0
-13
0
0
0
0
0
0
13
0
-9
1
0
0
0
-21
0
1
1
0
0
0
22
0
0
0
0
0
0
53
0
0
0
-5
0
0
40
0
9
5
1
0
0
0
0
6
19
0
-1
0
-68
0
12
0
0
0
0
-35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-16
0
0
0
0
0
0
-25
0
0
0
0
0
0
-17
0
0
5
0
0
0
19
0
-8
-2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
-16
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-4
-7
0
0
0
24
0
0
0
0
0
8
-29
0
0
6
0
0
0
6
0
0
0
0
0
0
-8
0
8
-25
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
16
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
-17
0
1
-23
-13
-2
3
13
0
0
-93
-3
0
-6
-10
-62
-13
-34
0
48
3
0
0
-64
-1
8
24
26
0
-9
2
17
-7
36
1
0
10
10
-10
41
42
4
-1
-8
50
-13
-5
-69
-21
-3
0
-22
13
13
24
-7
0
41
2
5
0
20
-13
-1
0
0
65
-90
0
-37
-5
-40
0
7
5
0
0
-13
0
-6
-31
70
-31
16
0
-8
-18
-24
-12
-62
11
0
6
-114
15
13
23
-32
-6
-9
7
8
-5
-28
-26
36
71
27
-7
-13
31
0
0
29
34
-36
-7
0
-10
1
8
0
-45
10
0
-18
30
30
0
-54
-15
0
-8
-7
-1
0
12
39
2
42
0
0
0
2
0
-1
1
-2
13
15
23
-25
1
18
-3
9
72
16
-7
-2
-48
0
29
13
-111
10
47
-23
-1
31
-28
-6
21
24
26
0
21
-22
-37
-27
1
55
3
-3
-1
-21
49
-7
6
0
-62
0
41
43
0
7
34
6
-2
-40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
17
0
0
8
0
0
-5
0
0
-54
-5
0
0
-16
-16
0
0
-16
0
0
4
32
0
0
-6
0
0
0
114
0
0
-28
0
0
2
55
0
-70
-9
0
0
0
-49
0
0
0
0
0
0
-16
0
0
0
0
0
0
-50
0
0
0
0
0
0
-25
0
0
0
0
0
0
28
0
0
81
0
0
-2
-40
0
0
12
0
0
2
-111
0
0
-73
0
0
0
-33
0
0
-3
0
0
1
-55
0
0
0
0
0
0
44
0
0
-11
0
-24
0
4
1
0
0
0
0
0
-9
0
0
0
0
0
0
-27
0
-1
-1
0
0
0
58
0
0
1
0
0
0
-5
0
10
0
0
0
0
-8
0
0
-17
0
0
0
-34
0
3
1
0
0
0
8
0
0
0
0
0
0
0
0
0
1
0
4
0
4
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-11
36
0
0
8
-5
0
0
0
0
0
19
2
24
0
45
0
27
-32
0
0
51
0
0
-18
-53
0
12
-21
-23
0
41
15
-2
0
-11
0
0
-45
-21
0
0
-20
73
0
-23
-21
0
-5
-30
0
0
-1
-76
0
-30
35
-6
0
0
16
0
-3
2
0
0
0
58
-6
63
0
3
0
0
-22
-9
0
0
0
0
-7
-44
0
3
32
1
0
57
2
0
2
-22
0
0
4
-24
-7
0
-7
12
0
-11
-33
-1
0
-24
73
0
5
13
0
1
52
47
0
15
16
0
-7
5
0
-1
5
-54
0
2
-39
8
0
0
7
0
0
0
0
0
2
17
0
0
0
8
0
0
7
-1
25
-5
0
0
0
10
0
1
3
-8
0
-3
-44
0
-34
-19
0
0
0
19
0
0
5
-14
0
0
-5
0
21
56
-8
0
0
-22
0
-8
-19
-61
0
0
10
0
-55
-7
0
0
0
32
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-3
-5
0
1
0
0
-118
0
0
0
0
0
1
1
0
13
10
-6
0
3
40
0
0
-2
0
0
0
4
0
0
0
0
0
0
97
0
0
-25
0
0
0
-42
0
-13
8
-7
0
0
-16
0
0
2
0
0
0
-15
-4
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
-1
0
-109
0
0
0
0
0
0
0
0
0
55
31
0
0
18
0
0
-2
-2
0
0
-52
0
-6
-6
0
0
0
-56
0
0
-5
0
21
0
-21
0
0
12
0
-4
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
3
0
-15
0
0
4
0
0
0
37
0
-2
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
3
0
0
-17
0
-21
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-34
-4
0
0
33
0
-2
-58
0
0
-5
0
0
-33
-63
-8
39
73
21
0
21
6
0
0
40
0
0
-3
13
0
0
-44
0
0
-9
31
0
0
-112
0
0
0
-22
0
47
-5
17
0
0
0
0
0
5
1
0
0
7
0
32
0
0
0
0
-21
0
0
0
0
0
-8
-25
0
0
0
-13
-32
-33
-20
0
0
-13
-1
-25
1
-30
8
0
-2
-42
0
6
84
0
-2
-49
-18
8
0
69
0
0
1
0
-1
-1
36
0
0
6
-2
-33
4
0
0
1
-1
0
-155
0
-79
0
0
0
-8
0
0
-13
0
0
0
0
0
0
-8
0
23
0
3
-6
0
-5
0
0
-2
-4
0
0
-42
0
-49
21
-6
0
-1
-54
0
-4
42
-8
0
1
-130
0
-67
0
-9
0
0
-1
0
0
8
2
21
0
0
0
35
0
1
8
0
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
11
0
0
0
0
0
-1
0
0
-3
25
-5
0
5
3
0
0
-8
0
0
-3
28
0
0
-6
0
0
0
-9
0
0
0
0
0
0
17
0
-4
-1
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
-7
0
0
0
-14
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
-3
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
-3
-1
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
16
0
0
0
0
0
2
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-28
0
0
0
-23
0
22
-40
0
0
63
0
-6
-7
-29
0
-48
-51
11
0
-107
16
0
0
15
0
0
52
42
0
0
20
0
0
58
10
0
0
0
0
0
0
3
0
-33
2
0
0
0
66
0
0
0
1
0
0
13
0
7
0
0
0
0
-30
0
0
0
0
0
-7
5
0
0
-48
-7
41
0
-46
0
0
-31
9
-8
-2
-31
0
0
-7
-24
-7
0
27
0
0
16
-3
-34
0
3
8
0
-2
44
0
0
34
0
0
0
0
-24
0
-11
0
0
0
0
-162
0
17
-2
0
0
-1
0
0
26
0
0
0
0
0
0
-23
0
0
-3
0
0
0
-50
0
6
2
15
0
0
-5
0
2
1
0
0
0
-37
0
0
1
-76
0
0
-4
0
1
0
-2
0
0
12
0
0
0
0
-13
0
-17
0
-13
0
0
-9
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
8
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-5
10
0
0
50
17
0
0
0
0
0
0
12
0
0
-3
0
0
0
46
0
0
-2
0
0
0
-22
0
-2
0
0
0
0
22
0
0
0
0
1
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
-68
0
0
0
0
0
0
30
0
0
5
0
0
-13
-37
0
0
-6
0
0
0
-73
0
0
4
0
0
0
18
0
0
1
0
-2
0
34
0
0
0
0
-2
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
43
0
0
0
0
0
0
-6
0
0
-18
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
8
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-108
0
-32
-52
1
-55
0
27
23
3
-25
0
68
8
-4
0
-10
8
0
9
10
4
-28
1
-4
0
14
-3
-14
-16
6
-85
0
-17
-10
20
-24
-5
2
-5
37
0
3
13
-3
-28
-2
-54
6
0
3
9
5
0
15
-13
-54
-4
-4
-25
0
0
3
-62
-70
-2
-91
0
31
-3
-3
-4
-56
46
0
74
24
13
26
-32
-42
-4
52
5
-5
-12
-8
92
0
66
7
54
-42
-4
16
-4
8
-1
31
-11
14
-6
0
42
4
-10
42
9
19
0
-28
-18
0
14
50
-76
0
14
-6
6
13
-10
20
-1
0
-6
47
0
-167
5
0
5
16
-82
-1
102
2
0
26
27
-27
9
-8
-22
-1
-99
-15
13
-60
31
-32
0
-7
7
-16
-26
26
54
0
34
11
22
42
44
-29
0
12
-4
32
-11
60
0
-1
32
-12
-3
-6
51
41
0
-1
6
-1
-66
11
-5
0
0
13
-68
16
34
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
23
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
4
0
0
-14
0
0
0
0
0
-1
0
0
68
-12
0
0
-2
4
0
0
0
0
0
2
34
0
0
7
0
0
-2
-61
0
0
32
0
0
0
32
0
-2
0
0
0
0
-13
-1
0
0
0
0
0
0
0
-3
0
0
0
0
14
0
0
0
0
0
0
18
0
0
0
0
0
0
-36
0
0
2
0
0
0
-13
0
0
-1
1
0
0
-5
-1
0
-8
0
1
0
-13
0
0
0
0
0
0
20
-8
0
0
0
0
0
2
0
0
0
0
-14
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
24
0
0
0
0
0
0
-13
0
0
0
0
0
0
61
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
-14
0
0
-3
0
0
-5
0
0
-72
-70
0
-19
-75
-58
0
-14
-15
0
0
4
0
0
-17
-102
0
0
-54
-1
-1
-6
-15
0
0
-11
0
0
0
-5
0
7
10
-5
2
8
47
0
0
50
13
-4
0
-100
0
43
0
0
0
0
29
0
0
0
0
0
0
-45
0
0
-1
1
6
1
-13
0
0
-5
0
13
1
2
2
0
-26
99
-9
1
-14
0
0
-24
3
-9
0
-97
0
1
90
-1
-4
-5
-36
0
0
-1
0
-81
0
16
0
0
-3
6
56
0
-41
0
0
0
0
0
0
-35
0
0
0
0
0
0
44
0
6
0
0
-10
0
8
0
0
1
0
0
0
8
0
58
2
0
2
0
16
0
-33
-1
-1
0
0
-112
0
-5
9
5
0
0
-47
0
0
2
0
5
0
-48
0
5
0
0
5
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
0
22
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-46
0
0
0
0
0
0
-1
0
-4
0
0
0
-1
-64
0
0
-2
0
0
0
-57
0
0
0
0
0
8
-61
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
19
0
0
-7
0
0
0
8
0
0
0
0
0
0
41
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
2
-22
0
0
0
0
0
-2
0
0
-53
-32
0
0
-30
-60
0
0
-10
0
0
3
-50
0
0
-5
0
0
-1
-7
0
0
-25
0
0
0
-80
0
38
-7
0
0
0
-53
0
0
0
0
1
0
25
0
0
0
0
0
0
-41
0
0
0
0
0
0
-48
0
0
0
0
0
0
-78
0
0
5
0
9
1
-38
0
0
76
0
0
16
-17
0
0
-26
0
-4
0
60
0
0
-13
0
0
0
-130
0
0
0
0
0
0
-117
0
0
8
0
83
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
39
0
-1
0
0
0
0
54
0
0
-3
0
0
0
-41
0
70
-2
0
0
0
-6
0
0
16
0
0
0
-8
0
0
1
0
0
0
13
0
0
0
0
0
0
55
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-4
0
12
0
46
27
0
0
-4
0
0
32
56
0
13
-25
-37
0
32
-15
0
-2
-48
0
0
8
-20
0
-2
-63
-5
0
51
1
0
0
1
0
0
1
-116
0
-37
-34
42
0
0
-77
0
3
2
0
7
0
22
22
-2
0
0
0
0
15
0
0
0
0
0
1
49
0
0
2
0
0
4
9
0
0
-5
0
0
-7
0
-1
0
21
10
0
7
-67
5
0
-48
-42
0
16
38
0
-1
-44
2
0
0
-22
0
0
-11
0
0
-2
-71
0
-3
34
10
-2
0
-46
0
0
0
0
0
0
-29
0
0
0
2
0
-1
20
0
1
1
0
0
-1
-9
0
0
2
2
0
0
-5
-1
-2
54
0
0
0
-20
0
-10
8
-7
0
0
-3
0
6
98
7
0
0
-60
0
0
-6
3
0
0
-26
0
101
0
0
0
0
57
-13
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-5
0
0
0
0
0
12
2
0
0
13
49
0
0
-1
0
0
0
44
0
0
10
0
0
0
45
0
0
-5
0
0
0
7
0
-2
0
0
0
0
21
0
0
0
0
0
0
7
2
0
0
0
0
0
-31
0
0
0
0
0
0
15
0
0
0
0
0
0
45
0
0
0
0
0
2
0
0
0
10
0
0
0
22
0
0
-24
0
0
0
-13
0
0
0
19
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
59
0
0
0
0
0
0
14
0
0
0
0
0
0
-31
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
8
0
0
0
0
0
0
27
0
4
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-19
7
-16
9
-7
14
-6
-44
2
13
12
13
5
-2
11
30
3
36
43
49
-10
9
7
3
-34
15
31
-1
23
26
-12
23
21
14
-7
-4
-4
13
77
65
-9
2
-10
-19
26
35
-8
0
0
9
-17
-9
-13
-9
18
0
0
-52
20
-27
19
-9
-1
-5
29
-38
-42
21
-21
1
1
-4
24
-60
-24
9
0
23
129
-7
37
21
-29
-1
1
-40
10
-25
6
-4
-6
-20
14
22
-13
60
-13
-5
-5
68
-7
58
-55
-13
-5
5
-25
27
47
17
13
-11
-62
-42
-8
75
48
-43
0
1
52
3
-29
-8
25
-2
37
11
26
-24
6
38
-8
-30
-29
-11
22
-46
-26
-6
-38
9
30
-27
-37
43
4
-26
-10
13
28
-9
17
-13
58
13
23
-39
-43
4
41
25
7
-1
9
-26
-38
1
4
16
-28
66
-3
-7
6
49
7
-9
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
36
0
0
16
0
0
18
-21
0
60
11
-42
0
76
59
0
0
-13
0
0
3
-4
0
0
42
2
0
22
-39
0
-8
-13
0
2
1
-18
0
-21
49
0
0
0
-121
0
0
-2
0
-8
0
-9
2
0
0
0
-2
0
-6
0
0
0
0
0
0
26
0
0
-3
0
-1
59
3
0
0
30
0
-16
-5
49
0
-1
-107
34
0
29
38
0
-3
12
-2
0
0
-96
0
17
-27
19
0
5
-22
0
0
-14
0
12
0
-58
0
0
1
0
-1
0
26
1
0
0
0
0
0
88
0
0
0
0
0
0
59
0
-14
-3
0
0
-2
-8
0
-2
-3
-13
0
-2
94
0
-12
24
0
0
0
-31
0
0
-29
0
0
0
-34
0
6
-7
2
0
0
103
0
-4
1
-6
0
0
-75
0
6
0
0
13
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
-5
0
0
45
-10
0
0
-24
11
0
-7
40
0
0
-50
4
0
4
-6
0
0
-59
0
0
-4
-3
0
0
-42
0
0
0
-17
0
13
47
-9
0
1
-49
0
0
6
0
16
0
43
5
25
0
0
0
0
-74
0
0
0
0
0
0
40
0
0
31
0
0
-9
43
0
0
-24
0
0
0
14
4
0
73
32
0
0
-22
0
20
-78
70
4
0
-13
0
0
10
24
0
0
-44
0
0
-5
0
-34
7
9
0
0
-7
0
-102
0
-36
0
0
0
0
0
0
-3
0
0
0
0
0
-3
-59
0
0
0
0
0
0
-103
0
3
-1
20
0
0
-37
0
0
12
0
0
0
-22
0
0
-2
1
0
0
-55
0
1
14
1
0
0
1
0
0
39
0
0
0
29
0
0
0
0
-5
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-5
4
-1
0
7
-55
0
0
-5
0
0
0
10
0
0
0
2
0
-1
-30
0
0
8
0
0
0
45
0
-4
0
0
0
0
-2
0
0
0
0
1
0
49
0
3
0
0
0
0
-16
0
0
0
0
0
0
-10
0
0
0
0
0
0
-81
0
0
0
0
0
0
103
0
0
0
0
0
-3
8
0
0
6
0
0
0
29
0
0
2
-4
0
0
19
0
0
8
0
-8
0
1
0
0
0
0
-4
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
4
0
0
0
0
16
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
13
-2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
33
0
7
4
-68
0
15
-56
0
0
41
-74
0
0
21
0
-2
-19
-17
0
0
-29
0
4
23
3
0
0
1
0
0
0
27
0
66
-13
0
0
8
-2
0
0
-5
0
1
0
6
-2
25
0
0
0
0
-35
0
0
0
0
12
-6
-2
0
0
1
0
52
5
7
0
0
5
0
22
1
-35
0
0
-35
0
4
0
6
0
0
-2
0
7
0
-11
0
0
57
0
13
0
39
0
0
127
0
-23
0
-32
0
0
13
0
56
0
-32
-2
0
7
0
1
0
-58
1
0
0
0
0
0
-1
0
84
-1
0
0
0
-55
0
2
-18
0
0
0
-19
0
-33
22
0
-7
0
72
0
0
28
0
-9
0
-7
0
-15
-35
0
3
0
-29
0
0
5
0
2
0
11
0
-8
6
0
-16
0
50
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
30
0
42
52
-8
7
9
20
3
0
-6
0
0
-8
-34
0
0
38
-33
0
5
-30
0
0
57
0
0
0
3
0
-28
-48
0
0
0
-41
0
0
2
0
12
0
8
1
2
0
0
0
0
-30
-20
0
-3
0
0
12
37
0
0
-4
0
23
0
3
0
0
-3
0
1
2
-8
-6
0
-45
67
2
4
11
0
-5
73
-5
0
0
3
0
30
-22
50
-1
0
-13
0
0
46
0
15
0
52
0
0
-5
0
30
0
41
1
0
0
0
17
0
-68
0
0
0
0
0
0
-61
-2
52
17
0
-4
0
-1
0
1
5
-18
8
0
10
1
-30
-75
0
0
0
-38
-1
-5
37
-8
0
0
-23
0
8
75
0
0
0
-5
0
0
-1
0
0
0
-9
0
18
0
2
96
1
-50
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-24
-27
-24
4
-14
-9
8
-5
81
54
-42
4
-41
33
2
-21
-67
-23
9
-41
5
-1
46
-49
1
-36
-49
42
-1
5
-6
4
-50
-23
-12
4
-29
-17
-15
72
-38
2
-3
-3
-5
5
-75
8
8
-22
62
-14
-37
-56
-8
-85
0
-9
-21
-36
-50
11
-77
-2
-10
31
5
-56
23
13
12
-19
-29
-4
-29
25
-22
9
-1
-39
8
-92
-49
-19
4
-10
45
7
-6
-23
59
7
45
-2
-41
36
3
-14
45
-10
59
-21
6
9
-4
11
8
-20
14
22
-59
-16
-22
6
75
9
-52
-5
-35
0
5
0
-94
-60
-19
-103
-42
41
49
-16
8
12
8
-5
-9
-5
-9
-43
23
-33
-17
-10
-12
-20
-9
32
75
-19
25
-3
-28
-6
-19
52
-10
-45
79
52
45
9
-9
-14
7
12
-40
7
3
13
23
4
-4
18
31
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
13
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
4
0
0
8
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-12
0
8
-2
-82
0
-18
-4
0
0
28
0
0
-3
3
0
0
24
35
0
-20
32
-1
0
19
0
0
-9
11
0
-40
-13
24
0
0
-35
0
0
-14
-1
69
0
-22
13
-1
0
0
0
0
-16
0
0
0
0
0
2
78
0
0
0
-8
-7
-10
49
0
0
0
0
-5
41
29
0
-7
-49
-13
3
19
-15
0
0
39
4
0
0
27
0
1
35
-13
2
0
-36
-1
0
24
0
-8
0
-20
0
0
0
0
-19
0
-11
0
0
0
-6
0
0
43
0
0
0
0
0
0
7
0
-18
0
0
0
-1
-13
0
0
-13
2
0
0
-6
0
17
-1
0
0
0
-48
0
-8
-15
-15
0
0
-17
0
72
-6
6
2
0
-77
0
0
-16
0
-7
0
-41
0
-2
0
0
-14
0
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-18
0
0
10
54
0
0
0
0
0
0
-40
0
0
1
0
0
-2
-63
0
0
43
0
0
0
-30
0
6
0
0
0
0
6
0
0
0
0
0
0
-47
0
0
0
0
0
0
31
0
0
0
0
0
0
20
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
-30
0
0
0
7
0
0
3
0
0
0
21
0
0
2
0
0
0
-21
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
2
0
0
0
0
31
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-12
12
-23
0
1
-15
0
0
-6
0
0
0
12
0
0
-7
0
0
0
-42
0
0
-9
0
0
0
-48
0
-1
-4
0
0
0
-22
0
0
0
0
0
0
42
0
0
0
0
0
0
48
0
0
0
0
0
0
49
0
0
0
2
0
4
-23
0
0
8
0
0
0
-5
0
0
-43
8
0
0
28
0
0
22
0
0
0
34
0
0
0
0
0
0
-12
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
71
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-26
-9
4
-14
7
6
39
28
-1
0
38
-20
5
-1
1
0
1
25
-6
-1
0
45
0
2
-7
-4
-12
2
-61
0
3
-20
-4
47
0
-18
-5
29
0
0
0
0
17
22
0
-1
0
0
0
14
0
-3
-3
5
18
1
-42
0
-12
47
-3
-3
10
-12
0
-9
-52
20
0
-47
-22
22
1
-53
-14
19
10
13
-1
25
-11
-39
3
1
30
0
12
-18
-1
-94
0
-68
0
0
-13
5
-77
0
-22
1
0
0
2
-4
0
-45
3
0
0
3
0
0
-72
-2
3
-66
1
-5
2
-28
-4
-3
5
37
0
-9
-32
6
89
-35
-17
4
0
42
0
5
-3
59
2
-19
6
0
-50
5
24
14
0
47
2
1
18
1
-43
5
0
-1
82
-8
1
3
0
-60
-18
2
9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
15
0
3
-6
0
-2
-42
9
0
0
-14
78
0
11
3
0
-1
20
0
-7
0
-1
0
-22
23
42
0
0
29
0
0
74
0
-63
0
5
2
-125
0
0
0
0
15
-9
0
-3
0
-14
-5
33
-3
0
-2
18
-44
14
0
0
0
-45
-17
-120
80
-15
3
13
-14
25
-29
30
-12
-4
9
-54
-33
-70
2
28
0
0
-17
28
-110
-6
-19
0
-4
-10
33
-4
0
12
0
0
63
14
-58
0
15
-6
0
42
0
-25
0
-45
2
0
0
0
0
0
21
17
-6
-1
0
0
-29
0
0
-2
-6
-40
0
3
31
-4
1
6
-12
-5
-3
21
0
-13
-74
120
0
0
-33
0
22
9
-1
0
-2
15
0
0
1
-4
-25
8
24
0
11
-55
0
-28
0
8
34
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
8
0
0
0
20
0
0
0
0
0
0
-60
0
0
13
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
-2
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
-4
0
0
0
41
0
0
-14
0
0
0
13
0
0
0
0
5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-8
-7
-22
14
7
-10
-15
24
-5
-3
50
61
-30
21
17
24
9
-71
-6
15
12
0
-23
2
-19
32
-41
-5
17
-5
3
43
-128
0
31
-21
18
-8
14
0
-1
27
38
0
7
29
21
-18
19
8
-2
43
16
5
60
-38
-7
0
-4
5
-16
45
20
-5
-5
-3
-7
-41
-54
-7
-18
44
-13
-68
20
-50
17
75
51
-7
34
70
42
2
-5
-49
2
6
45
42
-45
12
-9
12
-77
-25
0
13
-7
-2
14
-12
-22
-3
-7
65
-1
-9
-33
5
1
23
-9
-3
-22
31
29
-38
16
-6
-9
30
-61
41
45
27
-7
-29
-28
85
-27
-23
-11
8
24
37
22
72
-7
37
-4
9
8
32
10
0
4
16
0
43
13
99
-2
-10
2
92
-2
-66
-23
2
-18
-30
-10
-6
-14
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
-3
0
38
-13
8
-43
-5
-9
1
-11
-9
-31
-13
4
1
-16
16
22
-8
24
11
0
2
-11
-60
-7
3
6
-7
0
-12
11
3
0
7
3
-4
-1
1
0
0
27
7
0
-3
-30
0
41
13
0
3
-8
2
41
-49
5
0
-2
123
28
7
-13
21
-4
-5
-28
-14
-3
48
12
30
-8
7
-4
-89
45
9
3
-7
4
-2
21
-9
12
-9
19
-20
35
-15
-17
5
2
31
15
20
1
0
6
4
0
-3
10
-13
0
-13
-18
0
0
-64
0
0
30
5
17
15
-13
-69
-13
15
0
-8
-74
-41
0
-22
15
18
-40
34
-100
4
-1
-17
6
-28
57
4
-13
-3
17
-1
-41
-38
-9
-24
1
1
-1
-4
-6
-23
-12
-5
7
0
-42
-25
77
49
0
14
-23
-3
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-17
0
5
-11
0
6
-47
-3
0
0
-1
0
-2
6
-5
0
0
7
0
-3
-53
6
0
-5
8
0
-1
5
-15
0
0
27
2
36
0
10
-44
-4
0
0
2
0
-18
0
0
0
0
-1
6
17
0
-3
-8
0
24
4
0
0
0
7
0
-7
15
18
0
0
1
3
27
5
8
18
24
30
13
37
19
-8
0
0
-10
-2
-5
25
-7
0
-3
19
0
12
0
-8
7
22
17
0
17
0
8
44
0
4
0
40
3
-43
-3
0
0
0
0
0
-61
2
-5
33
0
8
5
0
0
-5
-50
0
0
0
0
0
1
14
0
14
1
30
0
0
75
0
45
3
-5
0
14
46
0
12
0
30
0
1
53
0
47
0
-13
0
12
139
0
10
0
-12
6
-5
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
51
0
0
-4
0
0
3
-73
0
0
0
0
0
0
20
0
0
6
0
0
0
60
0
-12
0
0
0
0
-23
0
0
0
0
0
0
-59
0
0
0
0
0
0
-13
0
0
0
0
0
0
13
0
0
2
0
0
0
-47
0
0
8
0
0
0
18
0
0
5
0
0
0
16
0
0
-9
0
0
0
-16
0
0
0
0
0
0
-24
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
0
0
16
0
0
13
0
0
0
-2
0
7
0
0
0
0
12
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-6
0
-19
-14
54
-4
-49
-5
0
37
-4
-25
24
13
22
0
-42
37
56
7
8
-7
-4
0
10
41
-16
0
14
-62
57
0
-8
2
0
-19
-37
0
9
-3
0
-5
48
0
9
75
22
7
-49
-1
0
2
23
18
37
100
14
0
-7
12
28
7
5
12
-4
22
22
81
-43
2
13
-12
42
1
14
27
8
6
5
0
16
29
27
-9
11
-2
8
13
-8
57
0
-7
-3
-2
-2
-13
-14
-13
1
1
0
-3
13
0
-4
0
1
63
-13
4
10
19
-21
0
-5
56
-12
64
4
-17
0
92
13
75
0
0
34
-4
58
4
62
-15
0
-19
-1
-10
-7
-9
-5
0
5
21
3
12
34
14
0
4
0
0
21
0
48
-10
-22
-31
-3
42
-25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
69
30
-16
18
13
-14
0
-29
76
-6
-43
-12
46
-6
22
-3
0
-20
29
-1
-10
52
-5
-12
-35
51
0
-4
22
-24
42
-48
-21
-16
-5
32
6
-48
-34
-10
-24
-8
-56
-50
-17
-35
-20
-7
3
-43
-59
-21
-8
3
39
0
27
62
13
-10
30
17
-16
14
-116
5
-4
32
17
-3
53
-63
5
-3
59
27
-2
-23
-16
-9
-82
7
-32
-3
-31
-77
24
13
10
-1
4
51
4
23
18
6
-24
-32
-19
32
-17
-26
6
31
-19
3
-7
-8
-56
12
42
-12
42
45
19
-74
4
94
0
-12
-8
20
-25
-44
12
3
-13
3
-35
-23
7
-28
-9
3
-18
0
55
0
-24
8
25
-27
-8
-21
18
-5
-2
-6
-29
24
-14
7
-2
19
65
-21
-1
68
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
17
0
0
0
0
0
1
-31
0
0
-1
0
0
0
44
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
58
0
0
0
0
0
0
8
0
0
0
0
0
0
-32
0
0
0
0
0
0
-8
0
0
0
0
0
0
10
0
0
-4
0
0
0
15
0
0
0
0
0
0
34
0
0
1
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
53
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
4
0
0
1
67
0
0
-19
0
0
0
0
0
-4
0
0
0
0
2
0
0
0
0
0
0
-5
-13
0
0
0
0
0
-18
0
0
0
0
0
0
18
0
0
0
1
0
5
5
0
0
0
0
0
0
-42
0
0
0
0
0
0
-12
0
0
4
0
0
0
-9
0
0
-16
1
0
0
-25
0
0
0
0
8
0
-5
0
0
2
0
5
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
3
3
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
6
0
0
2
11
24
-10
-6
0
-7
11
-9
-8
-24
1
0
-3
6
53
5
-14
-7
0
0
9
0
-1
0
4
-4
-25
-1
6
0
0
6
2
0
-4
-1
0
-17
19
0
-8
-2
13
-50
-30
-13
0
2
19
0
-8
0
13
4
-13
27
81
-22
-10
1
-1
42
8
5
-3
3
29
-1
16
7
-39
-12
-7
27
6
3
-17
-8
66
-17
-3
-1
11
18
-7
9
0
12
-14
0
0
-2
-1
0
41
-18
0
0
-50
0
-8
-30
-10
32
-8
-1
13
7
15
0
-35
58
-21
7
3
8
0
-59
-51
1
0
10
18
0
-12
77
70
0
3
-13
0
-23
-4
-1
13
-1
56
0
3
43
-2
13
-19
6
-7
49
-8
-4
35
0
17
-34
15
-14
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
0
0
1
0
0
0
-4
0
0
20
0
0
0
-55
0
14
0
0
0
0
-13
0
0
-3
0
0
0
22
0
0
0
0
0
0
-50
0
0
0
0
0
0
50
0
0
0
0
0
0
18
0
0
-6
0
0
0
-8
0
0
-9
0
0
0
21
0
0
25
0
0
0
-17
0
0
-3
0
0
0
1
0
0
18
0
0
0
22
0
0
0
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
1
0
0
0
-27
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
59
0
3
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-61
0
0
-30
0
0
1
-85
0
0
-8
0
0
0
-7
0
-13
0
0
0
0
-49
0
0
0
0
0
0
37
-1
0
0
0
0
0
17
0
0
0
0
0
0
49
0
0
0
0
0
0
23
0
0
7
0
0
-5
-7
0
0
53
-4
0
0
98
0
0
20
0
0
-1
39
0
0
-3
0
0
0
-42
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-33
0
0
8
0
0
0
-32
0
0
2
0
0
0
115
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
-39
-3
0
10
17
0
-11
-31
6
0
-3
-47
0
20
9
0
17
0
3
4
-8
0
4
0
0
54
0
0
0
0
-4
0
46
2
16
6
-41
0
13
-28
0
0
8
-4
-6
-66
18
20
-8
-33
0
4
3
16
0
-1
-52
0
0
8
45
0
-5
26
-2
-4
0
41
-10
0
13
0
7
0
-68
0
-1
30
-7
75
0
-3
8
0
0
3
0
0
12
16
8
0
6
0
0
-85
-2
-35
0
0
-5
-7
67
0
-17
10
19
1
-2
-28
0
29
39
-3
0
0
13
0
-14
74
1
0
3
-47
0
27
25
2
5
0
18
0
0
5
5
0
0
-23
-4
3
0
0
2
2
-3
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-17
25
-1
-2
0
-30
-42
0
2
-20
-3
-56
-32
-1
-4
35
-56
-10
-24
-49
-3
-9
-22
-18
-23
-57
10
2
15
-15
8
7
30
-58
0
-6
-61
-65
16
-59
10
19
-2
-18
-32
22
4
-33
-78
2
-108
-130
-21
11
-63
1
0
79
-43
-9
53
-5
15
1
68
-6
-3
17
-13
-40
2
14
3
9
-38
13
-26
-1
88
5
14
-82
1
0
13
-1
-26
-21
-10
-63
7
8
15
19
-19
-47
2
4
-18
77
19
-43
-22
-40
-18
18
20
48
35
-45
3
-44
-1
-15
-25
25
22
5
-1
0
26
53
13
-17
21
5
21
75
-12
-22
65
60
-18
-8
5
18
4
17
-24
9
-6
-13
-53
17
-63
-24
3
8
11
-53
22
-55
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-5
0
0
0
22
0
3
3
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
-2
0
0
0
5
0
1
8
0
0
0
-6
0
0
2
0
0
0
5
-7
0
0
0
0
0
-26
0
0
0
0
0
0
-3
0
0
0
0
0
0
-33
0
0
0
0
0
0
8
0
0
-1
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
2
0
0
0
0
5
0
0
0
0
0
0
21
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-10
5
9
12
5
-35
0
5
-19
-36
0
-4
-5
0
0
23
5
49
0
18
-13
-5
0
0
2
0
36
-4
0
6
0
-14
8
1
0
0
58
49
-4
37
-10
0
12
40
5
28
85
1
0
1
41
-7
24
-29
-14
-6
5
-29
-3
-2
-7
46
0
4
-3
72
-24
-5
4
0
2
-28
10
-29
-1
-24
-10
-2
2
31
-5
0
2
-2
0
0
-3
-1
0
81
2
0
0
-42
0
5
-38
0
-24
51
0
19
-13
19
0
13
-15
12
-5
-16
18
0
52
42
0
-2
-3
-21
0
26
-49
9
0
0
9
1
-12
62
-5
0
-4
60
0
0
6
20
15
0
-4
0
-27
0
-2
33
0
27
-13
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-20
0
0
-13
0
0
0
15
0
26
-20
0
0
0
-38
0
0
7
0
-5
0
-1
-4
0
0
0
0
0
-92
0
0
0
0
0
0
-80
0
0
14
0
0
6
3
0
0
-29
0
2
-8
-15
0
0
8
0
0
-12
-19
0
0
-64
0
16
0
14
0
0
51
0
0
-3
1
0
0
-1
0
3
0
25
0
0
-2
0
8
0
16
0
0
0
0
0
0
7
-2
0
0
0
0
0
-40
0
22
-9
0
0
-3
-14
0
0
-2
0
0
0
4
0
-9
21
0
0
0
86
0
-5
20
0
0
0
1
0
6
7
0
0
0
5
0
8
0
0
0
0
6
0
-5
0
0
-8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
1
0
0
0
-126
0
5
13
0
0
0
-92
0
0
0
0
0
0
63
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
20
0
0
13
0
0
0
11
0
0
8
0
0
0
-43
0
0
-47
0
0
0
13
0
0
-3
3
0
0
-40
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-53
0
0
-1
0
0
0
-42
0
3
8
0
0
0
-91
0
0
-1
0
0
0
-6
0
0
-1
0
0
0
8
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
20
2
2
-1
-9
40
0
0
30
0
4
0
23
-8
-15
0
0
0
0
47
-2
0
0
0
-3
1
-8
0
2
-5
-24
30
6
-3
0
0
12
0
5
-9
-12
0
-5
33
37
0
-1
-15
-8
-10
53
5
-35
1
51
0
0
39
-14
-6
0
11
0
0
44
0
-28
0
17
0
5
-2
-32
-6
0
-5
0
0
0
0
-8
-1
99
-25
0
-1
0
0
-1
26
-2
9
0
0
4
2
-27
0
5
-28
15
-8
4
-34
0
25
43
-10
0
8
-19
0
-8
23
-16
-7
0
52
1
-5
-3
6
0
0
10
0
3
-34
5
0
0
6
0
-32
13
0
-22
0
-11
-19
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
5
20
-10
-18
5
84
6
-14
-25
-6
27
-37
-2
-1
-6
-38
17
-22
1
-41
-11
5
1
-26
-41
33
43
4
26
75
13
13
-11
8
-2
-9
9
2
-5
38
16
-1
9
-48
2
-29
27
-55
-1
-12
63
9
-5
28
6
0
91
52
-16
5
-53
53
-8
92
-50
35
27
13
6
11
43
-42
-28
-45
-15
-4
-5
-97
-5
14
-17
-90
11
10
12
21
7
19
-7
-4
9
-13
-5
84
-40
51
-12
16
19
-14
21
20
11
-19
6
-11
-85
-13
-1
9
0
2
-6
32
-35
21
-22
-16
0
8
17
-29
-1
-29
22
-7
-2
-52
-35
-26
20
28
2
-18
-30
-84
-75
-17
-2
-33
1
10
6
41
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
3
0
0
0
0
6
0
0
0
0
0
0
19
0
0
0
0
0
0
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
-31
0
0
-9
0
0
0
2
0
0
6
0
0
0
-3
0
0
0
0
0
0
13
0
0
1
0
0
0
22
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
6
0
0
0
0
0
0
20
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
24
0
0
0
-5
0
0
0
0
0
0
60
0
0
0
0
0
0
-17
0
0
0
0
0
0
-31
0
0
-3
0
0
0
94
0
0
0
0
0
0
-42
0
0
22
16
0
0
3
0
0
36
0
0
0
25
0
0
-2
0
0
0
33
0
0
4
0
0
0
32
0
0
0
0
-15
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
33
0
4
-12
0
0
0
-1
0
0
-17
-1
0
0
31
0
0
0
0
0
0
8
0
0
0
0
0
0
12
0
-1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
40
4
37
-7
17
-5
6
-4
-1
-4
47
0
4
21
-120
0
60
0
0
2
65
0
-2
84
0
43
-12
7
16
25
54
-23
87
19
0
-2
31
-29
-52
68
17
-6
16
32
13
32
-55
17
26
20
3
33
-4
2
1
0
1
-21
-16
20
10
33
0
66
0
13
57
6
2
-5
28
15
16
-3
0
7
-13
4
0
-69
67
0
49
4
-1
-4
24
0
1
-7
0
42
-14
-1
-4
2
8
-8
-9
-39
-42
-24
69
4
12
7
24
46
6
-5
28
19
-31
81
34
32
0
14
-1
91
14
-94
0
0
25
13
18
0
43
-12
-1
2
0
-10
-4
-5
26
0
36
95
-1
-2
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
-22
21
0
0
0
-22
0
0
0
0
-1
0
-9
0
0
0
0
0
0
-87
0
0
0
0
0
0
42
0
-2
0
0
0
4
-10
0
0
0
0
0
1
-53
0
0
-14
0
0
0
-14
0
0
-27
0
0
0
7
0
0
-6
0
0
1
18
0
0
-5
0
-2
0
-1
0
0
-1
0
13
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
108
0
0
-4
0
0
0
8
0
-3
0
0
0
0
9
0
-7
-1
1
0
0
-1
0
-1
0
0
0
0
22
0
0
0
0
0
0
20
0
0
0
0
-17
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
-28
1
0
0
0
39
0
0
0
0
0
0
22
0
0
0
0
0
0
41
0
0
0
0
0
0
30
0
0
0
17
0
-2
57
0
0
20
0
0
0
-31
0
0
-9
-2
0
-1
-37
0
2
35
0
0
0
-1
0
0
44
0
0
0
36
0
0
0
0
0
0
24
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-2
0
0
-3
0
0
5
0
0
0
5
0
0
5
0
0
0
59
0
8
-3
0
0
0
-4
0
0
0
0
0
0
-48
0
12
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
4
4
0
0
0
0
0
49
0
0
0
0
0
0
1
0
0
1
0
-2
0
-53
0
0
8
0
0
8
-138
0
0
8
-1
0
0
28
0
3
-8
6
0
0
-63
0
0
10
8
0
0
26
0
0
2
0
0
0
-19
0
0
-1
-1
24
0
77
0
0
0
0
0
0
23
0
0
0
0
0
0
-13
0
-4
0
0
0
0
-56
0
0
1
0
0
16
-5
0
4
0
0
0
0
50
0
6
-1
-6
0
0
-87
0
-4
0
0
0
0
-50
0
0
0
0
0
0
10
0
8
1
0
-3
0
15
-5
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
6
16
2
-28
8
5
0
-1
-78
23
32
-66
-9
-5
14
-1
1
-5
14
26
-66
-1
16
-15
2
41
16
-27
-4
-19
-25
5
23
-1
-32
2
11
-17
2
-14
2
19
-3
-5
19
2
-63
-76
-50
-11
-77
50
-3
17
-6
35
0
58
8
-42
13
20
-32
1
-44
-21
15
-61
-14
0
-28
7
12
-48
-57
-40
32
18
44
41
6
-49
35
10
7
25
-33
4
64
-3
22
-1
31
-109
-17
-30
4
6
2
27
44
-19
-13
19
-46
-3
-25
26
-55
60
-27
-34
-7
-21
36
4
-46
32
-13
0
6
5
64
-54
2
-4
4
42
9
35
-47
18
-5
-8
46
-14
33
-85
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
-14
0
-7
-7
4
0
-5
-24
0
0
-10
-6
0
-8
-50
0
-8
0
14
-17
-6
0
9
26
15
5
-5
5
0
8
9
6
40
-22
-1
0
12
25
-26
-24
-42
-2
40
-22
40
-52
5
8
9
-3
-10
33
13
27
8
12
0
58
57
8
57
-4
11
0
4
-42
13
22
0
-3
-10
2
0
50
-55
0
-41
-42
0
15
53
0
-14
-39
13
57
1
5
15
-23
-39
-8
-4
58
27
3
13
7
0
-1
-5
-25
15
-16
-24
0
22
19
48
0
-21
-32
8
-67
-11
30
21
3
23
0
-7
-35
37
-31
-31
27
0
33
7
0
40
0
10
-28
-5
-14
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
17
21
0
9
-45
-3
0
-8
0
0
11
13
0
0
0
0
41
-4
0
0
-31
-8
-20
-5
2
0
0
-64
0
14
-50
-4
0
21
-14
-29
4
19
-19
5
-5
46
108
14
-2
-27
2
12
-43
65
-7
-7
-24
3
0
24
0
33
0
-4
1
-2
0
5
75
0
6
-3
0
0
-3
0
0
-3
18
0
17
-18
0
0
22
0
-10
1
0
-3
1
-10
0
28
83
89
0
1
-4
0
22
13
19
-27
0
17
0
-1
-43
41
-4
5
82
0
-13
-1
-5
10
0
14
0
45
3
6
0
0
-12
-2
36
0
-3
8
0
3
-5
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-12
0
-4
0
19
-1
-5
0
0
0
0
-13
0
0
0
0
0
2
30
0
0
3
0
0
-1
-33
0
0
-42
0
0
-1
-21
0
0
5
0
0
-18
21
0
0
24
0
0
0
9
0
1
-13
0
0
0
23
0
0
1
0
-3
0
-10
0
0
-4
0
41
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
-4
0
0
0
2
0
0
-8
0
0
0
-38
0
0
5
0
0
-2
-54
0
0
26
0
0
0
58
0
0
-3
0
0
0
-81
0
-2
-3
0
0
0
-31
0
-9
0
0
-10
0
-26
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
44
0
0
0
0
0
0
-43
0
0
0
0
0
0
23
0
0
2
0
0
8
-14
0
0
0
0
0
0
25
0
0
-6
3
0
0
44
0
0
10
0
0
0
-22
0
0
5
0
0
1
20
0
0
0
0
0
-1
-9
0
0
19
0
0
0
-87
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
6
2
0
0
4
0
0
-5
0
0
0
-19
0
0
0
0
0
0
-25
0
8
3
0
0
0
-46
0
0
0
0
0
0
9
0
-5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
9
0
0
0
0
0
0
-9
0
0
0
-5
0
0
17
0
0
5
0
2
-2
-17
0
0
6
-16
0
0
-16
0
0
10
0
0
0
18
0
0
12
0
0
0
2
0
0
0
0
13
0
19
0
0
0
0
-5
0
30
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
4
0
0
0
0
-25
0
0
4
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
-15
0
0
0
-10
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-15
-7
5
0
0
-11
-28
0
1
-5
21
-58
39
0
-1
-40
18
36
15
-9
0
5
-21
7
6
-33
8
5
18
-7
-49
81
-20
-10
26
1
-21
-4
4
27
-15
-29
31
-48
-36
51
-43
24
0
49
46
33
27
27
0
21
-7
1
52
-17
0
-8
-4
-4
-2
-110
48
-8
-31
6
-10
2
-20
9
3
48
1
-4
10
5
51
3
14
0
52
29
-16
-4
-12
6
-8
-43
-15
-28
18
32
-2
0
-25
18
-71
-10
15
7
31
-58
-57
4
35
0
-36
-8
-9
-53
11
-9
2
0
0
79
-56
-55
46
-5
-7
52
15
-13
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
70
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
9
0
0
0
-8
0
0
-5
0
0
0
3
0
0
-5
0
0
0
8
0
0
-1
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-4
2
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-24
0
0
0
0
0
0
-13
0
0
0
0
0
0
10
0
0
0
0
0
2
0
0
0
-5
0
0
0
14
0
0
-4
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
8
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
8
4
0
0
0
0
10
0
0
0
0
-2
0
-19
0
0
-6
0
16
19
13
0
0
21
0
12
19
-23
1
0
39
-53
-1
0
-27
0
0
-12
-5
-2
0
-12
0
0
-1
-6
1
1
-17
0
-2
0
0
23
0
-12
0
1
0
0
5
0
-6
-3
0
0
0
-13
0
69
0
0
0
0
0
0
-4
0
1
0
0
3
0
1
0
0
8
0
0
0
-24
0
0
-6
0
0
0
13
0
0
0
-8
0
0
-32
0
0
0
0
0
0
87
0
0
0
-1
-5
0
-46
0
22
0
0
0
0
-6
-3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-1
0
0
0
0
17
0
0
0
0
0
0
-8
0
0
0
0
2
0
31
0
0
0
0
0
0
17
0
0
5
0
0
0
6
0
0
-7
0
0
0
37
0
0
-2
0
7
0
36
0
0
0
0
-2
0
-70
0
0
-5
0
3
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-6
0
-11
0
-9
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
8
6
0
0
0
0
-15
0
0
0
0
0
0
-40
0
0
0
0
0
37
-9
0
2
-5
-4
0
-36
-28
1
0
-7
-31
0
-1
-2
3
2
37
35
0
0
-30
0
0
23
-8
0
0
-11
0
0
-42
0
0
0
-108
0
0
2
-4
0
0
-21
-1
0
0
0
0
0
6
2
0
0
0
0
0
24
0
-20
0
0
0
-1
-38
0
13
44
-10
0
-1
38
0
17
6
8
0
0
25
0
25
-53
0
0
0
-13
0
44
13
0
0
0
-52
0
4
-4
0
0
0
-98
0
-3
0
0
0
0
-10
-26
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-6
-46
-10
-14
34
33
32
8
-6
23
-23
11
19
20
-8
-49
-22
14
-15
14
45
-5
-29
18
1
11
31
48
2
23
-40
11
-3
7
-5
-2
-72
-53
20
-2
58
58
0
-28
19
-24
-3
-14
22
-4
89
6
-14
11
21
-12
0
3
-6
0
-26
-2
24
-7
12
18
22
30
-25
7
19
40
21
-25
22
27
14
16
-35
9
25
72
-44
-63
5
-26
2
21
36
-69
9
26
35
-43
35
27
16
33
-9
-19
-23
1
36
75
-21
-14
-10
-49
-12
72
18
2
5
51
-33
20
25
22
-23
0
49
-18
45
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
5
-6
0
0
45
1
9
3
-41
0
0
5
0
-2
-4
4
1
0
34
-3
-24
1
-9
0
0
5
0
-10
0
14
-1
3
-16
1
-5
1
-3
0
0
50
-15
43
0
65
0
0
-1
0
44
0
-72
0
-1
0
0
-5
0
4
0
0
0
0
0
0
41
0
1
0
0
0
0
35
0
4
1
-4
0
0
-34
0
-66
5
0
0
0
16
0
4
5
25
0
0
-57
0
1
-3
0
0
1
-33
0
0
0
0
-5
0
-28
0
11
-5
4
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-6
0
0
0
0
0
-26
0
3
-4
10
0
-5
-58
0
0
-6
8
8
8
-42
1
-4
-19
1
-2
0
-34
6
0
59
20
25
0
10
0
8
27
6
2
0
-91
0
0
42
0
19
4
68
0
0
-7
1
-54
0
-8
0
0
0
0
0
-1
-1
0
0
0
0
0
0
-31
0
25
0
0
19
1
-51
0
0
-7
0
0
1
58
0
6
18
0
13
0
0
0
0
-29
1
-1
0
52
0
0
0
0
0
0
17
0
0
19
1
6
0
-36
0
0
-8
0
-13
0
26
-12
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
-1
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
3
0
0
0
41
0
0
-1
0
0
0
34
0
0
-1
0
0
0
4
0
0
-6
0
0
0
24
0
0
3
0
0
0
-23
0
0
0
0
-3
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
0
0
-17
0
0
0
0
0
0
-68
0
0
0
0
0
0
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
3
0
0
0
0
0
0
8
0
0
0
-7
0
0
1
0
0
0
-19
0
0
-1
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
4
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
-5
-25
-13
-47
-14
-27
4
-8
3
26
-64
14
-63
-4
2
-30
17
20
-59
-6
-7
64
-55
19
-34
10
-64
5
-77
59
35
-30
5
13
10
49
7
-5
-30
-7
22
-3
0
32
-50
-61
20
0
6
28
25
3
-37
47
22
0
13
-7
-16
-1
0
-61
-6
31
-5
16
57
23
5
5
-3
14
-45
-8
103
75
5
-9
22
43
-71
52
5
-10
12
-74
-13
7
-11
-13
-18
-12
42
17
-15
10
5
28
-12
78
-25
8
-42
0
-8
-3
23
-59
-68
-31
0
-8
-2
13
-66
-81
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
3
0
-6
6
0
0
7
0
0
1
-5
0
0
-13
2
0
0
43
0
0
9
0
0
0
-10
0
7
2
0
0
0
22
0
0
4
0
-4
0
19
0
0
1
0
-20
0
-78
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
-3
0
0
0
0
77
0
0
0
0
0
0
-4
0
-3
0
0
0
0
-3
0
0
0
0
0
0
-41
0
2
0
0
1
0
22
0
0
0
0
2
0
-7
0
0
0
0
0
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-19
0
0
0
0
0
0
22
0
0
0
-1
0
0
-28
0
-3
0
0
0
0
-9
0
0
1
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
1
0
0
0
0
25
0
0
0
0
0
1
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-7
0
0
1
0
0
0
-53
0
0
-1
0
0
0
20
0
0
-5
0
0
0
-43
0
0
8
0
0
0
-70
0
0
0
0
5
0
-2
0
0
0
0
-2
0
-79
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
1
0
0
0
-3
0
1
0
0
0
0
1
0
0
0
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-34
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
37
0
0
0
13
0
0
-6
0
0
0
-3
0
0
0
0
0
0
-49
0
0
0
0
0
0
-39
0
0
0
0
0
0
29
0
0
0
0
0
0
-31
0
0
-5
0
0
0
0
0
0
1
0
0
0
10
0
0
0
0
0
0
-12
0
0
-8
0
0
0
0
0
0
13
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
0
0
-22
0
0
0
16
0
0
-2
2
0
0
1
0
-4
17
-1
0
0
-11
0
3
27
0
0
0
31
0
0
-3
0
0
0
58
0
0
0
0
14
0
-20
0
0
0
0
0
0
12
0
0
0
4
0
0
-43
0
0
0
0
0
0
-70
0
13
-4
0
0
0
-6
0
0
0
0
0
0
-5
0
7
0
0
0
0
13
0
5
0
0
0
0
-31
0
0
-16
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-5
0
-24
-24
-5
29
1
-5
-1
13
9
-13
-15
31
-12
2
-42
53
-44
52
-35
-26
-30
40
-21
-43
26
-73
17
15
-3
-50
23
-27
-10
40
-12
15
-42
-13
9
0
13
13
-3
0
42
5
-1
0
-23
-1
-7
-7
2
-5
0
28
-7
-26
1
-5
10
10
1
54
121
1
23
-36
-27
4
27
-4
-66
40
63
-27
18
-83
26
-42
-13
19
-15
-2
27
31
-60
12
5
35
0
24
-46
-12
-17
-2
0
6
-5
-4
16
50
0
25
44
16
17
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
35
0
0
-5
0
0
0
-18
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
-7
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
0
0
-6
0
0
1
33
0
0
3
-5
0
1
-81
0
1
0
0
0
0
-24
0
0
-8
0
0
0
34
0
0
0
0
2
0
-1
0
0
0
0
14
0
17
0
0
0
0
-1
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
-1
0
0
0
-1
-3
0
4
7
0
0
0
42
0
0
0
0
0
0
20
0
4
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
3
2
0
-2
-3
13
0
0
-2
48
0
-4
10
0
-2
31
43
-4
5
67
0
-6
28
41
-1
1
55
0
0
32
0
13
0
-56
0
0
-9
0
-36
0
-2
0
0
0
0
7
0
13
1
0
0
0
0
0
-18
0
13
0
0
0
0
-62
0
2
-4
15
0
0
45
0
-6
12
2
0
0
2
0
0
27
76
0
0
-13
0
-9
-45
-1
0
0
40
0
0
5
0
4
0
-8
0
-5
0
0
-8
0
-2
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
0
0
45
0
3
-2
8
2
0
-39
20
1
0
-40
-8
0
25
-2
-10
-3
1
0
0
-5
3
1
-1
-10
0
0
17
0
-10
0
26
0
0
0
0
-35
0
-24
0
0
0
0
0
0
-42
0
0
0
0
0
0
-94
0
6
5
0
0
7
-26
0
0
-2
0
0
0
23
0
-57
22
0
0
0
58
0
-2
11
0
12
0
-28
0
10
39
0
6
0
6
0
0
15
0
17
0
35
0
8
1
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
-24
0
0
-6
-58
0
0
3
-7
0
-3
-12
0
-3
-8
0
0
0
-66
0
0
23
6
0
-1
6
0
0
8
0
0
0
21
0
0
16
0
0
0
39
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
0
15
0
0
0
0
5
0
0
0
0
0
0
20
0
5
14
0
0
0
-2
0
0
5
3
0
0
38
0
1
1
1
0
0
81
0
0
-10
0
0
0
-13
0
-6
-1
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
-21
19
-6
-1
3
0
2
-11
2
0
0
43
6
0
-1
0
0
0
11
0
0
70
-3
4
0
-5
-1
0
8
0
44
0
31
0
0
0
0
0
0
-53
6
0
0
0
0
0
-5
-1
30
8
0
0
0
-43
0
0
59
9
0
0
10
0
33
6
0
0
0
29
0
0
6
-15
0
0
-48
0
37
1
-7
0
0
78
0
0
18
0
0
0
10
0
0
0
0
-6
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
-30
24
-11
11
-56
26
3
50
15
-10
-14
-35
-1
25
-3
8
34
-4
-19
20
2
34
16
13
-32
-13
6
13
-1
6
55
3
-7
-5
3
-36
8
-49
66
-49
47
-8
-11
12
-80
-30
-18
-6
-21
26
-35
23
-46
84
-24
0
-8
-28
23
54
-5
4
-5
30
3
16
1
38
-22
-16
-3
-22
-21
-7
-26
-86
-30
25
36
20
-8
43
29
-10
13
100
27
61
-16
-2
2
-5
9
-16
53
-51
-6
19
16
13
54
84
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
33
0
0
0
-2
0
0
-25
0
0
7
0
0
0
29
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
10
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
11
0
0
65
-13
95
20
24
0
-6
4
6
0
0
11
-1
0
49
41
-2
0
-14
0
0
-7
0
-51
2
-10
0
1
15
31
83
0
-13
0
0
6
0
0
0
57
3
0
0
-2
0
0
-26
0
18
-5
4
4
14
61
0
-7
8
1
0
0
23
0
-7
30
0
4
8
-3
0
4
25
-28
0
1
26
0
-44
13
2
2
0
-4
0
2
97
14
4
0
12
0
35
-3
0
85
0
5
-2
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
-44
8
0
0
-31
0
0
-17
0
0
0
-56
0
0
0
0
0
0
-25
0
0
-2
0
0
0
31
0
0
0
0
15
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
-4
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
-23
6
0
0
-43
0
0
-31
0
0
0
-8
0
-1
6
0
0
0
-17
0
0
8
1
0
0
14
0
0
34
0
0
0
-19
0
0
0
0
0
0
41
2
0
0
-1
0
0
0
0
-13
0
0
0
-2
-27
0
0
0
0
0
0
21
0
3
8
0
0
0
103
0
1
23
5
0
0
23
0
-8
-2
0
0
0
49
0
0
-8
0
0
0
-22
0
0
-4
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
3
-5
57
-1
0
6
27
3
0
-39
96
-10
0
-8
0
0
-6
-7
0
8
-75
0
0
-15
0
41
0
-26
1
0
0
0
13
0
-12
0
-1
0
0
0
0
-50
0
-23
-4
0
-8
0
-23
0
2
18
-5
0
0
-1
0
99
-49
25
0
0
51
0
-1
57
2
0
0
-32
0
0
-25
2
0
0
-20
0
-2
-4
-5
0
0
-8
0
-4
0
0
0
0
-62
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
91
28
-4
39
43
-17
-21
24
-15
-8
27
-25
12
9
16
-26
32
-131
-23
3
-10
-8
29
-31
-20
-71
-1
-3
-66
10
-1
58
51
8
-27
19
0
70
5
-4
-18
-2
25
12
8
-6
5
59
-1
5
106
-19
84
35
-19
0
-8
-62
2
-7
-1
13
-10
-9
0
-28
-37
-8
-23
20
15
-41
33
-33
-40
-2
-41
0
15
-19
9
14
-8
-10
15
-146
7
-13
49
0
6
-39
7
-29
-55
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
9
0
0
-2
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
-13
7
0
0
4
0
2
0
0
0
0
3
0
4
-2
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
46
0
0
-10
0
3
0
34
0
0
16
0
0
0
-78
0
0
0
0
0
0
13
0
0
0
0
0
0
58
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
3
0
0
-1
0
-4
0
0
0
-1
0
0
-35
0
0
3
0
1
0
-1
0
3
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-2
-1
3
10
-20
23
58
11
6
-3
26
40
-2
7
12
0
3
-16
-12
50
-4
-20
0
3
-81
14
-3
0
14
14
0
-1
-7
-8
-2
3
59
0
-1
89
0
5
16
-2
131
-5
43
13
16
13
25
5
11
28
-7
28
37
5
37
-23
48
0
0
-12
0
25
34
-8
1
-3
-3
3
1
-14
22
8
5
1
0
-2
-3
56
31
22
19
0
11
9
-2
-76
0
7
41
-8
-46
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-14
0
3
-20
19
42
-16
1
0
-3
72
9
10
-16
-8
0
0
28
0
-13
0
-101
0
-1
48
0
14
0
53
-4
0
-1
0
1
0
19
4
0
0
-2
0
0
-16
-3
36
-5
0
2
-8
45
2
0
34
0
-2
-8
2
0
-19
-4
1
0
-5
-38
0
-1
-41
-8
0
0
58
2
-39
-20
0
-7
0
53
0
0
63
0
-4
0
-35
0
36
-3
3
73
0
-1
41
0
7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
7
2
0
0
28
0
0
-4
8
0
0
-39
0
0
0
0
0
1
-26
0
0
0
0
0
0
-53
0
0
-1
0
0
0
8
0
0
0
0
0
0
-36
0
0
0
0
0
0
81
0
0
0
-4
0
0
-40
0
6
-48
0
0
0
23
0
0
0
0
0
0
-11
0
-6
0
0
0
0
73
0
0
-1
0
0
0
-58
0
2
-1
0
0
0
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-38
-3
0
0
5
0
0
46
0
-3
0
-29
0
0
31
-1
-49
0
-2
0
0
0
0
0
0
-8
1
-6
0
13
0
0
11
0
-5
0
0
0
7
-22
0
-6
31
-6
0
1
-34
0
46
14
8
0
0
102
0
2
16
6
0
1
74
0
23
7
0
0
0
15
0
0
8
1
0
0
-4
0
-27
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-18
31
50
-10
21
-18
-9
8
4
-49
35
-23
-57
17
1
-5
-5
10
20
-49
0
-11
42
8
-3
-102
85
-4
13
-66
5
35
-49
1
49
-1
3
-2
13
7
-7
-30
-12
17
-41
-10
17
14
-74
-11
-4
4
66
-51
4
-1
0
27
60
-5
-7
16
5
34
-5
-58
-9
-25
-3
-19
-5
8
-57
28
45
-29
-1
-13
-13
19
17
15
5
0
-23
11
28
65
-40
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
1
5
0
0
0
14
0
0
1
0
9
0
6
0
0
0
0
1
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
19
0
0
0
0
0
0
-8
0
8
0
0
0
0
-2
0
-3
-7
8
0
0
-31
0
9
0
0
0
0
3
0
0
-5
0
0
0
-14
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-46
0
0
6
0
0
0
28
0
0
0
0
5
0
-21
0
0
2
2
4
0
-13
0
0
0
0
0
0
30
0
0
0
0
0
0
-21
0
-17
7
0
0
0
0
0
0
-8
0
0
-3
2
0
24
1
0
0
0
33
0
0
2
0
0
0
33
0
-3
0
0
0
0
25
0
0
0
0
1
0
41
0
7
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-12
-3
5
17
0
-22
-32
19
0
1
12
-42
-63
4
-17
2
9
13
-41
17
0
11
-2
0
-2
8
-3
0
74
-13
0
0
15
0
0
28
-1
15
-3
-1
41
-47
-14
17
-8
10
25
46
-20
18
-1
34
-13
79
9
0
1
-13
24
-21
-10
0
0
27
0
-26
-38
-5
26
0
12
2
1
23
-19
2
-4
-14
0
-8
-7
-13
40
-1
39
15
0
-6
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-21
0
0
12
0
0
0
-31
0
0
83
0
-4
0
58
0
0
-28
0
85
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
-20
-2
0
0
2
-84
0
-3
22
8
0
0
50
0
-12
-4
0
0
0
-16
0
-7
-26
-14
0
0
-6
0
37
20
0
0
0
14
0
0
72
0
0
0
67
0
-14
0
0
5
0
-30
-24
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
19
-2
0
0
-37
0
0
24
2
0
0
-44
0
0
18
0
0
0
7
0
0
0
-12
0
0
49
0
0
0
-4
0
0
-19
0
2
0
0
0
0
60
0
1
8
-3
0
0
29
0
-25
13
0
0
0
6
0
0
61
13
0
0
44
0
50
-34
0
0
0
72
0
1
12
0
0
0
14
0
-1
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
10
0
0
0
36
0
0
0
0
4
0
-54
-5
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
-2
0
0
0
0
-32
0
0
3
0
0
0
58
0
-3
8
1
0
0
93
0
0
0
0
0
0
9
0
0
8
2
0
0
51
0
0
0
0
0
0
-11
0
20
-1
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-6
33
-10
9
-102
-43
1
-12
109
-18
-58
-12
0
2
-46
31
-10
-24
22
-1
-36
21
0
-7
9
0
106
-16
22
22
-48
34
71
46
-14
2
18
22
69
5
70
5
13
-35
8
-25
45
2
18
-31
4
-62
-18
66
-16
0
-10
18
-45
25
1
-13
38
28
49
-15
5
-22
-29
-16
2
-18
17
-44
-30
0
-13
0
13
-94
-96
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
-23
0
-3
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-8
0
0
0
0
-5
0
0
-7
0
0
0
5
0
1
0
0
0
0
6
0
-4
0
0
0
0
7
0
-16
0
0
0
0
-5
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
0
0
0
0
0
49
0
0
0
-5
10
0
41
0
0
0
0
0
0
22
0
0
0
0
0
0
-43
0
-4
0
0
0
8
5
0
0
-2
0
0
-12
9
0
3
4
0
0
0
14
0
0
-7
0
0
0
-2
0
1
0
0
0
0
12
0
-2
0
0
0
3
4
0
0
0
0
-2
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
17
0
-3
10
48
-77
-1
-35
-6
-29
3
-23
45
0
30
-2
0
0
0
0
0
-6
-31
0
1
32
0
0
13
-1
43
-3
6
-8
-1
34
0
24
39
77
12
0
0
-16
-8
-34
-9
-3
-27
-3
-1
-1
-15
-16
-9
0
14
-1
-9
30
1
0
0
41
2
0
29
-12
14
4
6
-6
-84
0
0
54
0
48
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-34
0
-1
-4
-32
0
6
-32
0
-35
0
-47
0
0
0
0
-10
0
-57
0
0
0
0
0
0
-43
0
-8
23
0
10
7
-5
0
0
116
-1
0
1
14
0
20
79
0
25
-14
42
0
0
25
0
-7
0
61
0
19
-9
0
0
0
-18
0
0
-46
0
9
0
-14
0
-1
15
0
-22
0
-40
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
1
-12
0
0
0
-7
0
0
0
0
0
0
-83
0
0
0
0
0
0
2
0
0
0
0
0
0
31
0
5
0
0
0
0
61
0
0
-8
1
0
0
-5
0
-5
-23
0
0
0
63
0
6
35
0
0
0
-11
0
19
30
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
0
0
0
73
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
2
0
-59
0
0
0
0
0
0
1
2
0
0
0
0
0
23
0
0
0
0
0
0
57
0
0
6
0
0
0
-58
0
-5
0
0
0
0
4
0
-2
4
0
0
0
7
0
0
-3
0
0
0
49
0
0
0
0
0
0
-27
0
-20
2
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
127
-44
40
-26
6
0
-4
-17
2
-1
-33
-33
-6
-3
-29
-1
9
-11
-2
42
22
-8
-31
-9
-7
45
19
-8
-23
-39
-1
28
32
-9
10
13
14
-70
50
24
14
7
-9
-63
-7
62
-7
41
-11
31
-31
-20
-65
115
-18
0
24
16
60
5
75
2
9
-21
1
-4
8
-19
0
11
-41
71
-5
54
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
3
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
0
4
0
0
0
0
0
0
41
0
2
1
-2
0
0
37
0
0
0
0
0
0
58
0
0
3
8
0
0
1
0
0
0
0
0
0
32
0
0
4
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
5
28
33
0
-13
0
0
0
0
0
0
22
-2
0
0
2
0
0
-93
0
42
-1
0
-2
-2
4
0
0
107
-5
8
0
10
0
-55
-3
3
0
0
43
0
-1
4
21
12
0
13
0
0
-2
0
-1
0
85
0
0
0
37
0
0
-45
0
32
13
0
-4
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
2
0
-5
0
55
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
7
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
15
0
0
0
53
0
-5
-5
0
0
0
-22
0
0
2
0
0
0
68
0
0
0
0
0
0
4
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-112
0
0
72
9
0
0
-22
-3
0
41
-4
0
0
-31
0
0
0
0
0
0
44
-22
13
-9
-1
0
2
67
0
-2
13
4
0
1
-14
0
6
10
-8
0
0
22
0
10
31
51
0
0
-51
0
106
-9
0
0
0
-5
0
0
-35
6
-1
0
-42
0
24
4
0
0
0
15
46
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
45
0
1
2
0
0
0
1
0
0
5
0
0
0
-3
0
-6
0
0
0
0
7
0
0
0
0
0
0
58
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
29
0
-1
12
0
-4
-19
-5
0
-8
-33
0
6
32
21
-40
21
-7
62
-42
2
-4
-10
8
-101
-4
8
-14
0
37
13
-52
13
2
-12
2
8
-10
-24
-47
-8
22
-18
-42
-82
-44
21
1
2
5
16
2
-13
15
24
0
0
-9
-10
-42
-2
0
-7
-38
-5
-1
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
-2
0
0
0
0
0
0
41
0
0
0
0
0
0
-8
0
2
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
31
0
0
-1
0
0
0
1
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
45
0
0
0
0
0
0
-52
0
-1
0
0
0
5
44
0
0
27
-2
0
4
8
0
-9
5
-1
0
0
6
0
13
0
6
0
0
-15
0
19
0
0
0
0
6
0
0
0
0
0
0
-24
0
2
0
0
0
0
-57
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-27
0
0
-1
0
0
0
-8
0
23
-2
0
0
0
-25
0
1
-27
0
0
0
-66
0
-10
-9
0
0
0
15
0
0
3
0
0
0
2
0
-2
0
0
1
0
-33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
21
-6
0
0
16
12
0
-5
0
0
-5
16
0
-23
20
19
0
6
41
0
0
3
24
0
8
17
0
18
31
-14
0
2
8
0
3
56
-85
0
0
16
0
35
53
-25
0
0
-9
0
0
-5
1
0
0
-65
0
-2
58
-1
0
0
31
-22
0
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
2
-1
4
58
-5
-22
2
-20
-39
31
6
-24
-67
23
8
-85
-11
16
-21
1
3
20
-2
3
-20
-6
-58
26
5
-41
31
-13
-39
-8
-1
46
40
-9
-45
-7
-15
22
0
6
18
46
-15
13
-8
-23
-26
51
-36
38
0
0
-1
-30
-54
-47
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-1
0
0
0
0
3
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
1
-2
-1
0
0
-3
0
0
0
0
0
0
-42
0
18
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
-10
20
0
0
0
-3
0
0
13
0
-4
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
-52
0
4
0
0
1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
5
0
0
8
0
0
0
0
0
0
3
0
7
-5
12
0
0
50
0
0
0
0
0
0
30
0
0
0
0
0
0
12
0
0
0
0
0
0
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
28
-53
8
-24
-13
-31
0
15
-19
-1
-1
2
-83
0
31
-11
-25
6
0
4
-2
1
-31
87
-2
0
-4
7
49
62
8
23
0
-14
2
0
167
-3
4
0
-35
0
61
5
0
12
0
37
-20
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
6
0
0
0
8
0
0
0
0
0
0
6
0
0
-2
0
0
0
15
0
0
0
0
0
0
-63
0
-1
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
3
0
0
0
1
4
0
0
5
0
0
0
8
0
0
59
0
0
0
11
0
2
-1
0
0
0
10
0
6
-1
0
0
0
-7
0
0
-1
0
0
0
-14
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
15
-8
20
25
-12
6
-24
6
10
-31
35
-49
0
-16
-71
2
26
-9
-51
-8
1
-55
0
62
-42
12
0
0
10
1
22
-12
9
5
0
-13
3
0
-6
0
-8
-2
-39
-41
-2
-5
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
0
0
5
0
0
-15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
117
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
7
-2
4
-1
-10
0
-30
0
33
12
7
0
0
-41
0
18
53
-7
0
0
-15
6
3
-18
-17
0
0
64
0
0
-10
0
0
0
30
0
42
0
0
5
0
-12
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
5
-7
0
6
42
0
24
4
0
0
0
5
0
0
0
0
0
0
-7
0
0
-2
0
0
0
33
0
0
-10
0
0
0
-4
0
0
0
0
4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
60
0
0
-2
0
-2
0
10
0
0
0
0
0
0
-1
0
-1
-6
0
0
0
4
0
-2
0
0
0
0
-4
0
0
0
0
0
0
16
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
2
0
0
0
-18
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
7
0
0
0
-42
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
2
31
0
0
0
0
0
0
-45
0
-3
0
0
0
0
14
0
0
0
0
0
0
94
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
1
20
44
38
4
-12
-30
18
67
-9
-50
-6
20
0
-5
69
-22
-28
2
-5
20
-2
-13
-31
59
23
0
-16
0
-77
-1
1
-73
0
-21
91
-7
3
-27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
4
0
7
10
0
0
0
28
0
0
5
0
0
0
67
0
0
0
3
0
0
37
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
111
9
0
0
0
35
0
1
9
31
0
0
68
0
-27
-33
0
0
0
31
0
0
-29
2
0
9
9
0
55
7
0
-7
0
-17
-8
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
-5
-27
0
-6
0
-62
0
4
-34
0
0
0
13
0
12
14
0
0
0
36
0
0
0
0
0
0
-49
0
-18
0
0
-32
0
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
7
0
0
0
0
0
0
-33
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
1
-4
0
0
0
-5
0
0
1
0
0
0
-4
0
0
4
0
0
0
63
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-3
9
15
-9
4
-18
2
13
-3
-31
68
-14
42
-2
-2
0
46
23
-30
8
0
-11
-6
44
29
-1
-30
-1
-36
-4
41
5
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
19
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
0
14
-3
41
0
1
-75
3
140
35
-2
4
0
40
0
0
-10
-13
14
0
-4
0
-10
0
0
19
0
20
-2
0
-27
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
2
59
39
-4
0
57
0
11
-5
1
0
0
-76
0
-6
8
0
8
17
9
0
3
0
0
-2
0
55
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
-55
-1
0
0
-21
0
-13
0
0
0
0
1
0
0
0
0
0
0
-47
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-2
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
24
0
4
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
2
0
0
0
5
0
0
0
0
0
0
16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
53
1
-6
66
-9
2
0
0
0
-2
15
-73
53
-2
-19
0
56
-12
0
-65
0
-23
-1
4
-51
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
-19
-5
0
9
4
-44
0
0
0
0
1
0
3
0
-2
0
5
4
0
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
48
93
10
3
0
-28
0
1
9
0
-1
0
23
0
1
0
0
-34
0
28
-8
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
-20
30
2
3
1
24
0
0
-18
0
1
0
-9
0
-30
20
0
-5
0
9
13
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-6
0
0
0
-15
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
48
0
-4
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-7
0
66
-19
45
-2
22
-13
4
25
-2
6
-20
-21
-36
2
-12
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
-20
-6
7
0
11
0
0
3
0
15
0
3
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-19
19
-2
-15
-28
0
26
0
0
-9
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
0
0
-3
0
0
-3
0
-24
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
6
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-36
-6
15
29
0
-24
0
-1
43
-3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-2
0
0
9
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
-2
0
0
14
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
15
1
0
0
0
4
-5
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
73
-1
60
-169
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-4
8
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
10
-2
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
21
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-4
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-33
-18
53
-3
32
34
-90
83
31
74
109
7
14
-27
18
-41
-15
23
4
-44
42
-2
51
25
-84
-59
-8
-19
38
-11
-79
-59
-92
-46
-3
16
-51
9
-54
-83
34
5
-29
-40
-64
-28
-51
-4
25
-9
-56
-1
-5
-8
-50
-27
0
0
0
0
0
0
0
-31
22
60
-16
21
-10
9
27
38
-33
-17
46
71
33
-1
50
57
25
15
-20
33
-4
-33
8
-13
-6
-61
-8
49
-2
-40
-70
19
59
17
-2
-72
-13
-44
25
-45
-15
-10
-8
-32
13
-62
41
-4
-79
-102
-36
-41
-29
-29
18
-40
-5
-27
-27
46
31
2
-31
0
12
17
0
-9
-7
-9
20
69
18
5
16
-21
6
3
23
24
10
-45
-27
-15
0
77
-56
-2
31
-7
34
-8
-69
-56
8
-42
-63
-55
-2
-84
-9
41
-9
-112
-2
-24
-27
-58
-59
-46
17
-79
15
-43
10
-56
-6
-4
-52
11
-68
-24
-16
-13
-28
4
-10
-44
-41
-33
7
-69
-18
8
-15
7
13
-17
-2
-17
6
-76
61
24
47
-4
15
-10
-36
-56
19
63
0
36
10
-102
-6
-25
-30
19
5
-9
-4
31
1
4
11
25
0
-119
23
-36
-16
1
-35
-1
12
-73
-54
-49
22
-13
15
-37
30
11
-65
-6
-14
-19
30
-56
10
17
62
28
-2
104
58
27
-17
23
16
0
-11
42
0
-18
-22
-36
22
120
-29
-46
-18
15
-11
-19
-3
36
1
-28
31
-49
-14
-58
-17
-11
-28
53
-94
-2
-24
2
54
4
64
-13
-19
-41
18
-125
-26
-23
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
-8
0
0
-4
0
0
0
-5
0
0
5
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
7
0
0
0
0
0
12
-1
-1
2
0
0
0
-14
0
0
-3
0
0
-8
-2
0
0
1
0
0
0
-8
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
24
8
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-24
-6
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-1
0
0
-8
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
9
0
-1
0
0
-1
-25
0
0
5
0
0
-2
-1
0
0
7
0
0
-1
-7
0
0
-7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
-1
0
0
0
0
0
25
0
0
1
0
0
0
-13
0
0
0
0
0
0
-4
0
0
1
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-3
0
0
0
0
5
0
0
-4
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
1
0
0
14
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-9
0
0
31
0
0
-7
0
0
8
0
0
0
0
32
0
0
-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
5
0
0
0
0
0
0
42
0
0
0
0
0
0
4
-8
0
0
0
0
0
27
0
0
-7
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
4
0
0
0
0
0
-8
0
3
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
0
-33
5
0
0
102
0
0
-7
0
5
0
-5
0
0
0
-2
-2
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
-12
-2
2
-6
2
0
-1
-71
-1
-9
0
119
2
0
4
8
0
0
-12
0
1
-3
-1
0
0
-13
0
0
0
-2
0
3
4
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-79
0
0
0
-2
0
110
57
64
-56
17
0
2
-72
0
0
-59
0
0
13
-38
-3
-48
51
0
0
32
-14
0
0
-4
0
0
-24
8
0
0
3
-1
0
0
83
0
0
0
0
0
0
0
0
28
2
0
-3
0
-33
0
0
5
0
0
0
43
0
0
0
0
1
0
-59
20
0
-8
0
0
0
-4
0
3
8
-17
0
24
17
-2
0
5
0
0
-19
25
0
-4
4
0
0
0
26
0
0
0
0
0
0
-39
0
0
0
-3
0
0
-5
0
0
0
0
0
0
84
0
0
5
0
0
0
11
0
0
0
0
0
0
7
0
0
0
0
0
0
-37
0
-43
4
0
0
0
40
0
-17
-8
-3
0
-8
5
0
8
0
0
0
0
-22
0
0
-6
0
0
0
-73
0
-2
0
-1
0
0
15
0
0
0
-7
0
0
-8
0
2
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
-7
0
0
0
0
12
0
0
-2
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
4
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
7
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
0
0
0
1
0
5
0
0
8
13
0
0
0
6
0
0
0
4
0
10
-1
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
-13
0
0
1
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
-24
0
9
0
7
0
0
-47
-1
0
1
-1
0
0
-18
-4
0
13
0
0
0
15
0
0
-8
1
0
0
0
2
0
0
0
0
4
0
-8
0
0
0
0
0
0
-8
0
0
0
0
-15
0
0
-1
0
0
0
0
0
89
-5
5
27
4
0
14
20
0
0
10
0
0
37
5
0
31
-1
0
0
7
27
0
0
49
0
0
-1
-34
0
0
-5
0
0
-2
-21
0
0
-5
0
0
0
5
0
-33
-2
0
0
0
46
0
0
0
0
1
0
-50
-1
0
0
0
0
4
22
-3
0
-3
0
0
4
35
-5
-3
4
-4
0
-3
29
0
-2
-5
0
0
-1
-65
0
0
-10
0
0
16
-27
0
-1
8
0
0
0
-30
0
-1
-1
-5
0
0
33
0
0
0
0
0
0
0
0
0
0
10
1
0
30
0
0
0
0
0
0
92
0
-1
0
0
0
0
14
0
8
0
0
0
0
-13
0
0
0
0
0
-1
-1
0
-8
5
0
0
0
31
0
0
0
0
0
0
13
0
0
-2
0
0
0
-66
0
13
-2
0
0
0
13
0
7
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
29
-21
92
21
25
-9
14
-13
58
-74
40
-27
-61
36
-31
5
56
-50
34
1
-20
48
-10
-3
5
-34
-33
-23
-38
-43
-23
-110
15
-30
-13
-102
15
-2
-10
-15
-7
-4
1
-6
-5
-1
53
-9
0
0
0
0
0
0
0
78
62
2
8
84
-1
-25
3
-55
-15
-42
20
-78
13
3
19
34
59
8
12
-39
14
28
-11
-55
6
-64
-19
-48
-14
-11
-30
-18
-98
3
-14
24
-8
46
-53
25
-5
-42
-90
-32
3
-37
41
-6
-43
-96
-15
-24
-13
-35
41
7
17
53
21
54
42
0
50
63
101
-28
31
4
-62
-5
33
-33
15
-5
10
2
-12
19
81
-41
-47
-111
27
-37
-26
-53
24
31
17
-11
-22
-13
-69
-33
-5
-7
-4
29
-24
-17
4
-43
8
31
-81
32
5
-75
-7
-21
-48
-41
-4
-3
88
-69
-27
-26
47
-6
42
-172
38
4
-47
-22
9
51
50
-2
41
-2
-49
10
-3
3
-16
-56
-68
5
1
42
14
-3
19
47
-39
-21
-42
-32
4
38
46
-36
-8
-71
59
-28
14
-30
46
-26
67
39
-35
0
3
-1
10
-8
-43
-23
-22
8
-25
-1
-16
-15
-19
-22
-4
35
4
51
29
-28
-127
18
-52
-15
-11
-45
43
-124
-22
-59
-8
-58
-8
-24
19
27
26
-31
-50
-33
-34
84
3
45
-11
-58
35
-31
54
39
-21
30
11
-11
32
-60
-4
-22
-3
-51
33
2
-15
38
-43
6
-24
-4
-56
144
-20
2
-4
83
-5
-96
-32
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
13
-1
-97
-5
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-17
0
0
-1
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
54
0
0
1
-9
5
0
-66
8
0
0
-3
0
0
-20
-2
0
0
0
0
0
-8
-3
0
0
0
0
0
-7
5
0
0
1
0
0
2
9
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
-13
0
0
0
0
2
81
3
60
-10
-4
0
5
-46
1
0
94
0
0
-9
4
0
4
-3
0
0
24
-4
0
0
2
0
0
-5
25
0
-6
-3
0
0
0
66
0
0
0
0
0
0
37
0
-17
0
0
0
0
-12
0
0
0
0
0
0
2
-6
0
0
0
0
0
-82
5
0
-2
0
0
12
74
0
0
-6
-3
0
14
-65
0
4
-1
0
0
-12
64
0
0
0
0
0
0
-21
0
0
1
0
0
0
-25
0
0
-4
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
1
0
46
0
-4
0
0
0
0
24
3
0
0
16
0
0
-6
0
-16
0
0
0
2
92
0
0
0
0
0
0
-1
0
-21
0
0
0
0
5
0
0
0
0
0
0
-4
0
-2
0
0
0
0
51
0
0
0
2
0
0
-37
0
-13
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
-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
5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
24
0
0
30
0
0
0
5
0
0
-3
6
0
0
-4
0
0
8
0
0
0
1
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
23
-2
12
12
-1
0
-18
22
0
0
-81
0
0
45
3
0
21
49
0
0
-19
-13
0
0
-15
0
0
0
-40
0
0
2
0
0
0
47
0
0
-5
0
0
-4
6
0
41
0
0
0
0
2
0
0
0
0
0
0
-67
9
0
0
-1
0
0
4
1
0
0
0
0
1
-111
0
5
18
-1
0
-8
-14
0
0
44
0
0
-6
27
0
0
14
0
0
1
-31
0
0
0
0
0
1
-46
0
1
-1
0
0
0
-35
0
0
0
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
-45
0
0
1
0
0
0
90
0
-55
0
0
0
0
61
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
38
0
2
0
0
0
0
6
0
-2
0
0
0
0
52
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
70
21
29
-4
-55
-23
8
-24
-3
-71
-37
-123
-9
-51
-1
-4
0
1
-41
-2
-72
-19
-1
20
-4
-49
0
13
2
-25
0
0
17
0
0
17
0
1
-2
2
0
0
0
0
0
0
0
-89
-88
41
-25
-41
-37
33
-20
-41
-3
35
-13
2
58
-16
20
13
-48
-20
-37
-1
-32
4
-57
-2
-70
0
17
-7
-26
-1
1
-113
-16
-59
-66
76
5
0
-24
-1
-55
0
-37
2
1
29
-18
-69
0
0
35
0
0
-5
-27
6
50
139
-16
31
5
-1
52
63
24
-97
20
-1
1
-88
0
39
83
-17
-38
-1
-40
-22
45
16
-44
-6
31
-56
-26
5
-33
23
24
-7
96
-6
0
-6
-76
-2
6
-2
0
-1
-25
-79
-53
15
20
0
-1
-4
-2
-1
17
0
-4
-7
-17
0
18
1
-63
-14
86
-5
-23
-4
0
28
59
-5
-13
78
30
13
76
-19
20
8
139
-2
-16
2
-34
-22
33
15
-40
19
-50
-37
9
21
20
-12
-20
14
17
-1
-12
-39
-49
-51
-8
-24
-2
25
10
-2
7
-1
-13
0
0
-30
-5
-23
0
-24
-3
-1
2
-4
19
-5
-30
-13
-55
-110
-5
-8
44
-67
2
21
-64
9
9
-49
14
32
-23
5
-31
-13
6
48
51
-25
-17
41
25
-13
-41
0
-3
-38
-75
-23
7
-39
-8
-41
7
-38
19
13
36
-2
1
-7
-3
-38
0
-16
0
-11
-8
2
5
0
-9
2
10
25
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
0
0
0
-1
5
6
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
76
0
0
-6
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
26
6
-2
2
14
10
0
-38
0
-3
3
13
0
0
-58
-23
3
1
-35
-3
31
20
15
0
0
-9
0
0
-3
0
0
0
-4
0
0
0
3
0
0
6
0
-2
0
2
0
0
0
0
-3
0
0
15
0
0
0
0
0
23
30
-19
83
3
0
8
-8
1
6
52
0
0
-28
0
3
-7
33
14
0
-50
-7
0
-2
-5
-4
-14
-1
50
0
0
-42
5
0
0
8
0
0
-3
0
0
0
-61
-1
-43
1
-14
4
0
-61
8
0
0
1
0
0
10
1
0
0
0
0
8
-1
46
-2
32
0
0
12
-33
-5
2
-7
8
0
-2
0
0
-5
-42
-4
-4
24
-30
2
7
23
1
0
0
-92
0
0
-14
-3
0
0
-57
0
1
29
8
2
0
13
0
0
-1
0
4
0
-22
0
0
-6
2
-1
0
13
0
0
0
2
0
0
-20
-3
-8
0
0
0
2
-4
0
-19
13
0
0
-1
0
0
2
5
0
0
0
47
0
23
-17
1
-2
0
-48
0
0
20
-3
0
9
-26
0
-13
6
0
0
-10
-7
1
-4
-2
-2
0
0
6
0
-3
0
0
-1
0
-5
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
12
0
0
0
8
-3
0
0
14
0
0
2
-3
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
65
0
0
-44
2
0
0
19
0
-3
-25
0
-1
0
15
-2
0
25
-5
0
0
-5
0
12
-4
0
0
0
-1
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
0
-33
4
32
43
6
0
-5
17
0
0
24
0
0
-10
2
7
-12
48
-4
0
29
5
0
0
-12
0
0
-14
-32
0
0
32
0
0
9
25
0
0
0
0
0
0
-95
0
60
0
-2
0
0
5
0
0
0
0
0
0
13
0
0
0
0
0
0
25
1
-5
5
0
0
0
-12
6
2
-16
-8
0
0
85
0
-2
-13
0
0
6
5
0
2
2
-6
0
-1
11
0
0
-8
0
0
0
-29
0
0
5
-3
0
0
74
0
0
0
0
0
0
25
0
0
12
0
0
0
-17
0
0
0
0
0
0
-25
-4
0
-8
2
0
0
52
0
-8
0
0
0
0
-58
0
0
-7
0
0
0
-51
0
6
0
0
0
0
7
0
0
0
0
0
0
49
0
0
-2
0
0
0
61
0
0
0
5
0
0
43
0
-2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
2
0
0
4
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
3
5
0
0
0
0
0
-53
0
0
0
9
0
0
0
0
0
0
0
0
19
-3
-4
40
0
0
-45
0
0
0
-31
0
2
68
0
0
0
-31
0
4
3
31
0
0
0
0
-1
-1
6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
24
0
0
0
2
1
37
-19
-2
-13
-1
0
8
-77
8
0
-5
0
0
57
39
0
-7
28
12
0
-5
23
0
0
29
0
0
-3
28
0
0
8
-3
1
-1
18
0
0
-3
0
0
5
12
0
6
-2
8
8
0
-8
0
0
2
0
0
0
-95
8
0
0
0
6
-2
-29
0
0
0
0
0
0
-18
2
4
-29
-7
0
3
-36
0
0
8
0
0
13
-24
0
0
29
5
0
0
-33
0
0
3
0
0
0
27
0
0
0
5
0
-3
43
0
0
1
0
0
0
-1
0
0
6
0
0
0
-51
0
0
0
0
0
0
-2
5
0
0
0
0
0
42
0
10
-10
0
0
0
14
0
0
0
0
0
0
47
0
-1
0
0
0
0
-41
0
0
0
9
0
0
48
0
0
0
-1
0
0
34
0
0
6
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
21
31
14
-7
0
5
7
-23
35
-6
-13
46
-4
-35
-19
0
0
0
0
49
-24
-24
0
0
0
14
-9
7
1
0
-4
0
-3
-6
0
0
11
0
0
0
0
0
0
0
0
0
0
0
-101
-44
23
-2
5
-57
8
-5
-93
-4
-4
19
-6
79
-4
-39
34
-6
12
-14
-6
-22
-116
-4
-15
99
4
-33
-101
-20
0
0
4
0
-60
54
5
0
0
-33
0
-34
-3
-49
0
0
5
-29
-69
0
0
-52
0
0
0
-66
3
44
47
38
17
-55
0
-11
65
-12
-30
-13
0
0
-31
-16
3
53
8
-9
-6
-111
-31
3
-2
-11
39
-1
-30
-36
3
-4
1
16
20
91
-52
0
7
-74
-1
-15
-4
26
0
-57
-24
21
13
5
2
0
0
-5
1
21
0
28
38
-2
0
22
-3
21
1
49
8
-26
-4
7
-19
93
54
9
64
29
3
-73
6
5
-9
10
8
5
-31
15
8
-5
27
-23
-27
-6
5
-4
0
65
2
-3
1
-40
-2
0
-49
-14
-2
0
3
1
1
1
0
-39
-6
-27
0
4
10
-13
13
0
48
-20
0
3
0
0
18
48
29
-24
23
-2
0
-6
35
67
-7
23
1
-4
-5
-75
-15
-13
-66
-2
-13
-83
14
-3
-32
-5
-17
-8
12
-13
0
-28
76
-49
0
25
13
0
102
7
20
-3
-3
-74
0
0
-2
12
-1
0
-22
0
-50
-1
-2
-3
0
-120
8
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
0
0
21
0
-4
-5
3
0
0
0
0
-67
9
-8
0
0
0
0
20
0
0
0
0
0
0
49
0
8
0
13
0
0
26
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
16
2
0
0
-56
0
0
39
2
0
0
-12
0
36
-93
0
12
0
-33
22
-3
5
-32
-2
0
-19
0
-9
-6
22
0
0
15
0
-57
0
-8
0
3
-4
1
-44
0
-8
0
0
0
0
-17
0
0
48
0
-1
0
-24
0
-25
-32
-30
14
0
0
-32
46
0
0
15
0
0
-43
14
0
20
30
0
2
9
-19
0
0
-29
0
0
73
-45
0
0
-59
0
0
29
-15
0
0
49
0
-4
0
-58
0
37
-15
12
9
0
-2
0
7
0
0
-53
0
9
68
24
0
0
0
1
-6
4
0
9
0
0
71
12
6
-1
-6
0
0
-43
-3
0
0
30
0
-3
-3
-1
0
0
-10
0
-1
15
27
0
6
19
0
-3
9
-2
0
9
-61
10
-5
0
-19
0
0
2
2
11
0
41
0
0
-21
0
10
0
-3
0
0
0
0
1
0
6
-4
2
0
0
0
-6
41
0
-73
1
0
0
-3
-39
0
1
35
-2
0
-5
19
0
13
-22
0
0
-12
30
0
-7
-3
8
0
-11
20
0
-44
-9
0
0
-1
15
0
-13
-5
0
-8
0
-2
0
-60
0
0
-8
0
25
-5
0
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
0
0
0
1
0
0
5
-3
5
0
-1
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
0
0
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
44
-1
0
0
12
0
0
-29
-1
-8
0
-27
0
0
-38
48
0
0
-9
25
0
72
-1
0
0
-3
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
-8
0
0
-17
0
0
0
0
0
75
-12
-74
3
0
0
57
-13
0
0
-179
0
0
-32
-32
7
120
-80
4
0
38
38
0
3
-46
0
0
41
102
0
0
-2
-4
0
3
3
0
-2
-61
0
0
-6
-38
0
5
0
0
0
0
-66
0
0
0
0
0
0
28
15
-4
0
0
0
0
70
1
0
2
0
0
-24
28
3
-8
115
0
0
5
-12
2
1
-25
0
0
19
-43
0
0
42
2
0
-3
10
0
0
53
0
0
0
-101
0
0
5
12
0
0
5
0
0
0
0
0
-1
-41
0
0
0
-3
0
0
-46
0
0
0
0
0
0
37
-2
0
-16
0
0
30
-26
-2
7
-1
0
0
0
45
0
4
48
0
0
-4
-66
0
5
0
0
0
15
39
0
-4
4
0
0
0
-100
0
52
-8
0
0
0
45
0
0
-2
0
0
0
33
0
-46
7
0
0
0
-61
0
-2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
13
30
4
-3
33
-13
4
16
3
-1
-8
0
55
27
29
-2
0
-55
-28
29
-6
6
2
-18
-1
0
3
0
0
4
0
0
0
3
0
0
0
0
0
0
0
-54
-63
-13
16
8
6
-74
-120
20
-21
-2
8
-8
17
-3
38
-12
60
-58
31
-6
2
-40
52
56
20
-12
-35
6
-45
-12
0
28
44
-52
-2
5
2
-1
-14
1
-10
-4
-66
0
0
-31
10
-16
0
0
-12
0
-1
6
12
-13
17
-56
-17
23
-60
-4
-25
1
-35
98
13
-12
-31
-74
-7
-42
45
-93
-16
14
32
18
34
-41
-34
-10
-22
-4
-9
13
-2
-5
48
-33
57
-2
-8
1
60
-14
28
44
-2
-8
-34
53
-26
-5
-1
16
0
0
-9
0
25
0
23
11
-40
0
4
4
-54
-6
-42
35
93
13
-37
74
27
6
-58
-56
-6
-6
14
22
7
68
-37
0
41
36
12
86
-48
-18
-55
-6
-58
-14
27
-24
9
-20
-21
13
-11
8
-16
-11
10
-60
4
-3
0
-8
-56
1
-2
-4
-20
1
1
-72
122
-24
0
-50
6
0
-1
-8
-12
-13
19
-8
6
6
18
-9
53
33
-27
10
-14
-8
37
140
29
24
-14
21
4
-10
15
28
-41
-39
39
-13
-19
15
-26
12
-57
-49
-48
-5
16
14
-5
-32
-79
41
-5
-15
-23
8
-3
-102
-78
-46
-5
25
0
-34
1
-15
22
0
-43
-20
-12
-3
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-65
0
0
-5
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
-34
31
0
0
8
-24
0
18
-1
0
0
68
-6
-1
-9
0
0
-8
5
-3
-2
30
-10
2
0
52
0
0
7
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-92
0
0
90
0
0
0
-1
0
-13
117
-10
-4
0
0
-66
28
0
0
1
0
0
75
78
-2
-22
-29
-9
0
-29
0
0
0
-15
0
0
-1
69
0
0
5
1
-1
5
58
0
0
1
3
0
0
6
0
-23
8
0
0
0
-38
0
0
0
0
-3
0
59
7
0
0
0
0
1
33
12
0
-25
0
0
6
33
0
-2
-54
1
0
12
64
0
0
56
0
0
-20
0
0
-7
-41
31
0
-12
-18
0
0
4
-1
0
0
25
0
4
1
-6
0
0
-39
0
5
-1
0
0
0
80
0
-1
0
-2
0
0
-12
0
0
0
0
0
0
23
3
0
-2
0
0
0
64
0
41
3
0
0
0
38
0
0
-5
-4
0
20
0
0
-8
-8
0
0
-12
17
0
-5
0
2
0
5
71
0
-8
3
8
0
0
135
0
0
-5
2
-1
0
-1
0
35
0
0
14
0
74
0
-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
2
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-27
0
0
4
0
0
50
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
9
0
0
-13
0
0
0
56
0
0
23
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
0
5
0
0
0
0
0
-9
12
12
124
-1
0
-25
73
0
-4
-8
0
0
-6
-16
0
-13
17
0
0
-23
71
0
0
6
0
0
8
-49
0
-6
0
0
0
0
31
0
0
0
0
0
0
24
0
13
0
0
0
0
4
0
0
0
0
0
0
67
0
0
0
0
0
0
51
-3
0
0
0
0
-3
18
0
0
6
6
0
0
-49
0
0
5
0
0
6
-15
0
0
0
0
0
0
43
0
0
0
0
0
0
25
0
0
0
0
0
0
-66
0
0
0
0
0
0
-6
0
0
0
0
0
0
-17
0
0
0
0
0
0
-13
-6
0
8
0
0
0
23
0
17
5
0
0
0
26
0
-5
0
0
0
0
-24
0
-5
-1
0
0
0
-8
0
0
0
1
0
0
15
0
4
0
0
0
0
25
0
0
0
0
0
0
-52
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
77
0
0
-24
0
0
0
12
0
0
63
1
0
0
-9
0
0
2
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
0
-13
0
0
0
0
0
47
0
8
4
0
0
3
-23
0
0
1
0
0
-4
-4
10
-2
-2
-6
0
1
8
0
0
8
0
0
0
13
0
0
0
0
0
0
-17
0
0
0
0
0
0
7
0
2
0
1
0
0
-8
0
0
0
0
-1
0
-5
0
0
0
0
0
-3
-69
1
0
0
0
0
0
58
-4
0
-2
-1
0
0
31
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
7
0
1
0
0
6
4
0
0
0
0
0
0
-43
0
0
1
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
-2
-1
0
0
6
0
0
0
41
0
0
-4
0
0
0
16
0
27
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
8
5
-7
-24
-14
0
1
91
0
0
-3
-52
0
-7
41
-8
8
0
-22
-9
6
-56
-51
0
0
-2
0
-1
2
14
0
0
0
0
0
23
41
0
0
-5
0
0
16
8
0
0
0
0
1
0
0
18
0
0
0
-1
2
57
42
-39
12
6
0
49
-8
-2
0
-14
0
9
25
41
0
24
26
72
3
15
-25
1
0
5
0
0
-16
13
0
0
0
0
0
-3
-78
0
0
5
0
1
6
54
0
-4
0
0
0
-2
-10
0
0
0
0
0
0
76
2
3
0
0
0
0
-35
27
0
0
0
0
-23
-83
17
-8
-35
0
0
4
-15
3
-7
0
0
0
-3
6
-2
8
5
-2
0
2
-90
0
-3
-1
-1
0
0
-17
0
0
0
0
0
-8
-159
0
0
0
5
0
0
-76
0
0
0
1
-12
0
-48
0
0
0
0
0
0
46
-3
2
0
-8
0
0
25
-2
-49
-2
0
0
0
55
0
3
2
0
0
-3
17
0
-22
0
0
0
-10
49
0
0
0
14
0
-1
-49
0
-9
0
-7
0
0
69
0
5
0
-6
2
0
-81
0
-13
0
0
-2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
1
0
0
-17
2
0
0
15
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-17
-3
-5
-2
0
0
12
-5
0
0
-1
0
0
-1
-8
0
-1
1
0
0
-4
-10
0
0
0
0
0
1
-7
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
34
0
0
0
0
0
0
-25
0
0
0
0
0
0
-14
10
0
0
0
0
-6
9
0
0
-1
0
0
0
45
0
0
0
0
0
1
-5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-8
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-101
0
0
0
63
-5
0
-20
0
0
0
-10
0
0
-11
-1
0
0
5
3
0
-5
-20
0
0
16
0
0
50
0
0
0
5
5
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
0
0
0
0
0
82
-56
-5
115
6
0
52
-17
0
0
-41
0
0
78
-53
0
13
-37
2
0
-97
13
0
8
64
0
0
-61
-5
0
-5
14
6
0
42
-39
0
0
-9
0
0
0
-15
0
31
1
7
0
0
47
0
0
0
0
0
0
-66
47
0
0
0
0
0
70
3
0
-15
0
0
23
39
0
0
2
-8
0
-31
32
0
-2
-3
0
0
21
-83
0
5
-9
0
0
33
-42
0
0
-5
0
0
0
10
0
0
56
3
0
0
30
0
0
0
0
0
0
-43
0
0
0
1
0
0
10
0
0
0
-1
0
0
32
-1
0
24
0
0
0
29
0
79
0
0
0
-1
-23
0
0
5
1
0
-7
-27
0
0
34
0
0
2
27
0
-2
0
-4
0
0
-18
0
30
-3
0
0
0
53
0
0
2
2
0
0
21
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
0
0
14
0
-2
16
0
-2
0
0
0
-2
0
-30
0
0
1
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
-13
-8
0
-2
3
-13
0
-25
1
0
0
-15
0
-3
35
8
4
0
39
34
0
28
-13
3
0
-3
0
29
4
8
0
-2
-54
-13
-1
55
30
0
0
-3
0
-9
0
-8
0
0
0
-2
-62
0
0
-2
0
0
0
-1
0
-37
-2
-52
37
-9
0
58
12
0
0
-65
0
0
-10
-14
-1
-23
-22
47
0
13
-30
0
8
-75
-1
-1
-12
-77
0
0
23
4
0
-17
16
0
0
-4
0
0
2
-9
0
0
17
-8
0
0
-44
0
0
0
0
-18
0
31
7
0
0
0
0
0
-58
2
0
3
0
0
-3
-50
13
-13
4
-7
0
0
5
2
-2
-48
0
3
-5
-19
-2
-1
-5
12
0
1
-20
10
0
-10
0
0
12
25
0
0
-28
14
9
-8
29
0
0
-5
0
2
0
-82
0
0
-6
-3
-20
0
-56
0
-6
8
0
4
0
-2
8
0
-17
0
0
0
-14
-3
13
-1
0
-2
0
-50
0
13
0
3
-2
-9
6
0
-32
6
0
-8
10
-4
0
8
2
-13
-3
4
-91
0
49
-2
8
0
0
19
0
1
0
-9
0
0
26
0
-5
0
0
0
0
-30
12
0
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
-10
0
-4
0
0
0
2
0
0
0
0
4
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
-32
-21
-15
-6
45
42
2
-22
3
0
0
-25
0
-13
34
-33
0
0
-15
-52
-7
4
0
1
-2
-45
0
-3
-11
18
0
0
9
4
-2
-3
9
0
0
0
0
-2
0
20
0
0
0
0
-24
0
0
29
0
0
1
4
0
-4
-59
9
34
-5
0
-41
-1
4
0
97
0
0
21
-44
-1
61
17
-43
0
-215
-22
0
4
-34
0
0
-25
0
0
-4
43
-6
1
24
-84
-1
0
18
0
0
4
75
0
-11
0
-1
0
0
56
0
0
0
0
24
0
55
0
25
0
0
0
0
16
38
7
7
0
0
13
23
-5
-14
24
13
0
-12
23
1
-4
-7
0
0
15
-13
2
2
-59
-8
0
5
0
2
4
-20
0
-1
-14
-43
0
0
-8
16
0
0
-29
0
0
0
0
0
0
-65
14
2
0
0
-6
0
-92
0
7
0
0
0
0
12
6
0
24
0
0
-3
-171
13
-23
-12
0
0
7
-52
-3
41
28
6
0
3
8
0
25
9
0
0
-8
0
-2
-9
5
50
0
-5
-49
0
-5
0
0
0
0
-14
0
0
3
-1
0
0
-36
0
-5
0
0
0
0
56
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
1
-10
0
0
24
0
0
0
-5
0
-3
-13
0
0
0
5
5
-2
39
0
0
0
9
0
0
9
0
0
0
5
0
2
2
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
-3
0
0
0
-2
0
-6
0
4
-25
1
0
-5
-41
0
-2
-21
0
0
0
-3
0
8
42
8
0
2
-42
0
0
-1
0
0
2
2
0
0
8
0
0
-1
48
0
0
-1
0
0
0
19
0
-2
0
1
0
2
-47
0
0
0
0
0
0
3
1
0
0
0
0
0
-78
0
0
12
0
0
0
-10
0
0
55
6
0
0
20
0
0
0
0
0
0
-30
0
-14
-4
-2
0
0
-33
0
0
0
0
0
0
-49
0
0
0
-2
0
0
9
0
-1
0
0
0
0
-6
0
0
0
1
0
0
-29
0
0
0
0
0
0
-14
0
-1
0
0
0
0
1
0
0
-1
0
0
0
-9
0
-16
0
1
0
0
8
0
-13
0
0
0
0
-6
0
0
0
-1
0
0
13
0
-2
0
0
0
0
46
0
-1
0
0
0
0
82
0
-2
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
16
-2
0
0
14
0
0
18
0
0
0
-2
0
0
20
0
0
0
59
-9
0
45
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
-2
0
0
0
0
0
-34
-8
-19
-4
0
0
-1
-62
-1
0
-3
0
0
21
13
0
2
-17
-1
0
-10
73
0
0
-6
0
0
0
32
0
0
15
0
0
0
-1
0
0
9
0
0
9
-8
0
-1
0
0
0
0
-4
0
0
0
0
0
0
5
-5
0
0
0
0
0
-39
-1
0
3
0
0
8
-39
0
0
-4
0
0
1
97
-5
0
-1
0
0
0
-59
0
0
0
0
0
0
-27
0
0
-1
0
0
0
0
0
0
-2
0
0
0
-57
0
0
0
0
0
0
-9
0
0
0
2
0
0
16
0
0
0
0
0
0
4
-3
0
0
0
0
0
31
0
-8
0
0
0
0
0
0
0
0
0
0
0
-5
0
-6
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
7
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
9
0
-21
0
0
-1
0
0
20
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
45
0
0
-36
2
0
0
-23
0
0
-13
2
0
0
0
-5
0
56
-8
0
0
-1
0
16
7
-12
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
8
0
0
0
1
0
-50
27
-13
0
0
0
-14
48
0
0
-13
0
0
5
-64
0
-6
-31
0
0
-15
60
0
0
-5
0
0
8
-21
0
0
0
5
0
-2
-46
0
0
-1
0
0
0
-10
0
-73
0
-5
0
1
-32
0
0
0
0
0
0
39
0
0
0
0
0
0
-7
0
0
0
0
0
0
-34
25
0
-9
3
0
0
-2
0
0
0
0
0
23
52
0
-9
-3
20
0
-1
20
0
1
5
0
0
0
19
0
-1
1
-29
0
2
-32
0
0
0
0
4
0
-31
0
0
-4
0
6
0
5
0
0
0
0
-4
0
33
0
2
0
1
0
0
-27
0
1
0
0
0
0
-42
0
0
0
13
0
0
-20
0
7
0
2
0
-1
-13
0
-6
0
15
0
-2
20
0
1
0
6
0
0
-22
0
0
0
0
0
0
-50
0
-6
0
0
0
0
-13
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
15
-2
-5
0
0
-1
0
0
0
0
0
-21
0
0
-7
0
0
-4
0
0
0
3
0
0
0
0
0
0
0
-5
15
0
0
-20
0
0
0
0
0
0
-49
0
17
45
-3
0
0
-5
0
6
0
33
-1
0
17
0
-6
1
1
0
0
4
0
12
-1
-2
0
0
-3
0
-40
0
0
0
0
0
0
3
0
0
-15
0
0
0
-18
0
-16
-15
-25
-32
0
0
-1
-47
0
0
-26
0
0
-30
-72
0
-28
20
0
3
8
-13
0
0
-4
0
0
53
16
0
0
-11
0
0
5
3
0
0
13
0
0
1
-7
0
26
23
0
3
0
-28
0
0
0
0
-5
0
-5
5
-3
0
0
0
0
3
1
0
5
0
0
-9
-11
1
0
-51
0
0
8
28
0
0
70
0
0
6
-12
0
-2
-5
0
0
-8
-13
0
-1
40
0
8
0
-38
0
0
0
0
0
0
48
0
0
9
0
-18
0
31
0
0
0
0
-5
0
-16
0
0
0
0
8
0
8
6
0
0
0
0
-1
43
0
-8
-6
0
0
0
21
0
0
-5
0
0
3
-42
0
33
0
0
0
0
-23
0
0
-3
0
0
0
-63
0
-43
4
0
-5
0
-43
0
0
15
0
0
0
-21
0
-13
7
0
0
0
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
5
0
0
-2
-2
0
0
1
0
54
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
30
-1
2
1
25
13
0
16
0
0
0
20
0
0
-138
18
0
0
-68
-3
0
12
51
0
0
0
0
0
-5
45
0
0
7
-23
0
3
-6
3
0
3
0
0
-6
1
0
0
0
43
0
0
0
34
0
0
0
0
0
-2
-12
-16
-13
-4
0
-117
10
27
0
10
0
0
-61
64
0
-58
-35
16
0
9
7
0
-4
-13
0
0
-1
-45
0
0
13
10
0
23
-23
0
0
-22
0
0
2
22
0
72
29
3
0
0
6
0
0
0
0
0
0
-47
-17
-4
0
6
0
0
-25
14
0
-9
0
0
6
-18
5
8
-59
-5
0
93
25
-4
1
129
0
0
65
-27
-4
-8
-86
-2
0
51
1
0
3
2
0
0
-5
12
0
5
7
30
0
0
-30
0
0
12
0
0
0
19
0
0
0
0
0
0
33
0
0
0
0
0
0
-82
-1
0
2
0
0
0
74
0
13
5
0
0
9
-50
-2
-25
-2
0
0
-17
-41
0
4
19
0
0
15
50
0
-1
-8
0
0
-5
-61
0
-2
22
0
0
0
-52
0
0
31
1
0
0
1
0
-18
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
5
0
0
0
-6
0
-24
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-44
-8
-5
0
-91
33
-16
16
3
0
0
-76
0
5
-12
5
0
0
-61
30
-8
-8
8
1
0
-6
0
27
0
42
0
0
11
-3
18
0
23
-5
-6
-22
0
-74
0
2
0
0
0
-9
-34
0
0
19
0
0
0
0
0
4
-31
-23
8
5
0
-13
22
-7
0
-48
0
0
38
1
0
-42
-79
-33
0
19
-33
0
0
6
0
0
8
20
0
0
-50
15
0
0
-17
0
-1
-2
0
0
0
-45
0
-42
23
-26
0
0
-12
0
0
0
0
4
0
15
3
0
0
0
0
0
37
0
0
-5
-4
0
0
-40
-14
-1
-8
74
1
4
-25
0
-3
1
0
-3
0
12
-2
-3
13
-9
0
0
-5
0
0
58
0
-1
0
-19
0
0
30
-9
0
0
21
0
0
-3
0
-10
0
-31
0
0
0
24
8
0
-91
-3
0
0
0
0
0
25
0
0
0
0
0
0
-57
0
-24
-5
0
-1
0
-23
0
2
9
-4
-6
6
61
0
-8
10
0
0
0
-38
0
0
9
4
0
0
-46
0
0
1
0
0
0
-49
0
2
1
-1
0
0
13
0
-7
0
0
-1
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-1
0
0
0
0
0
14
0
-58
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
19
-1
2
0
-103
1
0
0
-26
0
0
-6
4
2
0
22
-3
0
4
-5
0
0
-33
0
-1
88
0
2
0
0
15
21
1
59
0
0
-3
0
0
0
7
0
0
0
-1
-3
0
0
-1
0
0
0
-3
0
-21
31
-1
41
16
0
-17
-46
0
0
3
0
0
5
-48
-2
-40
9
-1
2
-34
-30
-1
-1
-58
1
0
2
10
0
0
5
-3
0
-1
0
0
0
-8
0
0
0
54
0
-6
0
7
0
0
5
0
0
0
0
0
0
8
-5
0
0
3
0
1
64
-24
-4
-1
0
0
8
-6
9
-1
4
3
0
1
12
0
0
-22
0
2
4
73
0
0
14
-13
0
-2
-31
0
0
-1
1
0
0
0
0
-2
-5
-3
0
0
12
0
0
0
0
0
0
-49
0
0
0
5
0
0
-81
0
0
0
0
0
3
63
4
-4
0
0
0
-4
5
-1
-17
-9
0
0
0
-35
-1
-9
-5
6
0
0
-2
0
-37
4
0
0
0
22
0
0
-2
3
0
0
0
0
12
0
-1
0
0
54
0
0
0
0
0
0
-9
0
-2
-3
0
-1
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
26
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-22
-5
-4
-7
0
0
0
13
0
0
-5
0
0
13
-12
0
-8
0
0
0
8
-18
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
0
0
0
0
15
0
0
6
0
0
0
-30
0
0
0
0
0
0
-4
0
0
4
0
0
0
-28
0
0
0
0
0
0
-41
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
41
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
12
0
0
0
0
0
0
-2
0
0
0
1
5
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
5
-1
0
0
0
-1
13
0
0
27
0
0
0
-1
0
0
-6
0
0
-1
41
0
0
0
0
0
0
-1
0
0
8
0
0
0
-3
0
0
0
0
0
0
7
0
-1
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
-52
0
0
0
0
0
0
-12
-1
0
-2
-5
0
0
-41
0
0
0
0
0
0
-8
0
0
0
0
0
0
-42
0
0
0
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-99
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-1
0
0
54
0
0
0
-3
0
0
-1
0
0
0
0
0
-2
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
-8
0
0
17
2
0
-15
0
0
0
0
1
0
0
0
0
0
0
23
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
3
0
0
0
0
2
0
0
0
0
0
0
-25
0
-4
0
0
0
0
-33
-9
0
0
0
0
0
5
0
0
-4
0
0
-2
17
0
0
5
0
0
0
10
0
0
0
0
0
0
-75
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
18
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-35
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-8
0
4
0
0
0
0
-34
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
-2
0
0
0
8
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-31
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
-1
0
-5
0
0
0
0
0
-1
0
4
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-31
-25
7
0
-56
43
0
49
-6
0
0
33
0
0
-42
6
0
6
-24
-64
0
48
-2
0
0
-30
0
0
-18
23
0
0
0
-2
0
-9
3
0
0
-1
0
0
0
2
0
0
0
54
0
0
0
40
0
0
0
0
-1
1
-58
-26
-20
-13
0
-103
-39
0
0
-5
2
0
8
47
2
-36
-38
-13
0
1
91
0
-4
22
0
0
60
-51
-4
0
-1
17
0
0
-103
0
0
-44
0
0
-2
-43
0
-39
-4
-45
0
0
53
0
0
0
0
0
0
44
-18
4
0
12
0
6
-51
-3
6
-24
0
0
55
-30
0
-5
-31
23
0
28
8
0
0
-22
0
0
-2
6
0
0
-13
31
0
-11
-21
0
6
1
0
0
0
24
0
-1
27
-13
0
-21
39
0
0
0
0
0
0
18
0
0
-1
31
0
0
10
13
0
0
0
0
0
13
18
0
6
0
0
0
-66
0
5
15
0
0
16
32
1
-1
12
0
0
-2
3
0
1
-18
0
0
-2
15
1
1
3
-1
0
-1
-50
0
53
-4
0
0
0
-1
0
4
-2
-5
0
0
-31
0
-42
0
0
0
0
-7
2
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
-54
0
0
0
0
0
-123
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
41
0
0
56
0
0
0
14
0
0
-2
0
0
0
-2
-2
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
-5
0
0
0
0
0
0
3
0
27
0
0
3
0
0
0
49
0
0
-15
0
0
0
28
0
24
-7
0
0
0
-34
0
0
5
0
0
0
-5
0
0
0
0
0
0
-72
0
0
0
0
0
0
-8
0
5
0
0
-3
0
-85
0
0
0
0
0
0
-21
0
0
0
0
0
0
-46
0
0
1
0
0
0
22
2
0
0
1
0
0
-15
0
0
5
0
0
0
-18
0
0
-3
0
0
0
-43
0
0
0
0
0
0
10
0
0
0
0
0
0
50
0
0
0
0
0
0
-9
0
0
0
-3
-3
0
-45
0
0
0
0
0
0
21
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
5
0
-5
13
0
0
0
0
0
0
-5
0
0
0
7
0
0
-14
0
0
0
0
0
0
-8
0
0
0
0
0
0
-31
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
48
0
0
-2
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
-9
8
0
0
15
0
0
-8
6
0
0
18
0
0
-43
-5
5
0
8
5
0
-21
-1
0
0
-1
0
0
0
-8
0
0
4
10
-1
-21
0
0
0
2
0
4
0
0
0
0
0
1
-3
0
0
-25
0
0
0
0
0
20
-3
43
-16
4
0
20
-63
-5
-3
-34
0
0
-4
-19
0
-50
-12
-7
0
-17
70
0
0
18
0
0
41
-39
0
0
0
5
0
2
-34
0
0
-5
0
0
-1
0
0
-69
12
1
0
0
-40
2
0
0
0
1
0
11
8
0
0
-1
0
0
-5
8
0
1
-1
0
-4
1
0
13
-39
45
0
23
51
12
2
35
0
0
7
-64
0
-16
-20
-3
0
-1
-56
0
8
14
0
0
0
111
0
5
-7
-3
0
0
0
0
0
0
0
0
0
89
0
0
0
0
3
0
-18
0
0
0
0
0
0
32
5
0
1
0
0
0
-21
0
4
0
0
0
0
-54
-4
4
-8
0
0
0
-14
0
-24
-4
0
0
0
-28
0
0
0
-4
0
0
32
0
-12
-1
-1
0
0
0
0
0
0
-6
0
0
-41
0
0
5
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
-8
0
0
0
0
0
-16
-5
4
0
0
-1
1
-2
4
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
-1
0
0
0
0
0
0
0
0
31
-1
7
0
0
0
93
-27
0
0
20
0
0
-43
3
0
4
66
7
0
41
42
0
0
-6
0
0
-5
-3
0
0
0
0
0
0
47
0
0
0
0
0
0
-1
0
3
0
0
0
0
-12
0
0
0
0
0
0
-3
1
0
0
0
0
0
-55
0
0
0
0
0
-1
64
0
0
0
0
0
0
86
0
0
-3
0
0
0
-5
0
0
16
7
0
1
64
0
0
-2
0
0
0
10
0
-2
0
0
0
0
-8
0
0
6
0
0
0
16
0
0
0
0
0
0
-34
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
-3
-1
0
0
-1
-8
0
0
0
-3
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
1
0
0
0
0
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
-1
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
-17
0
-1
0
0
0
0
-24
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-37
0
0
0
0
0
0
31
0
0
0
0
0
0
5
0
0
1
0
0
0
-23
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-23
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
-127
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-30
0
0
-5
0
0
0
53
0
0
-6
19
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
-2
0
-3
0
0
0
-9
0
0
0
3
0
0
0
0
0
5
8
0
-1
0
0
-2
22
0
0
-2
0
0
-22
-55
0
3
6
0
0
18
-22
0
0
0
0
0
0
79
0
0
0
0
0
-1
-50
0
0
0
0
0
0
6
0
-41
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-59
-1
0
0
0
0
0
-42
0
-8
-8
0
0
4
-46
0
0
0
0
0
0
-40
0
0
0
0
0
0
-59
0
0
0
0
0
0
31
0
0
0
0
0
0
-51
0
0
0
0
1
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
1
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
25
0
0
0
0
0
0
-20
0
0
0
0
0
0
10
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
-1
0
0
12
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
-4
0
0
18
0
0
0
-16
0
0
-6
-3
0
0
0
0
30
-1
0
0
0
0
0
-3
0
0
0
0
4
0
0
2
-5
0
0
-1
0
3
0
-7
0
0
0
0
-9
0
0
42
0
0
0
32
0
55
3
2
-5
0
0
15
-34
0
0
-17
0
0
-20
-26
0
-5
19
0
0
34
-49
0
0
0
0
0
0
4
0
0
-1
0
0
5
-56
0
0
15
0
0
0
13
0
10
3
0
0
0
14
0
0
0
0
0
0
-39
2
0
0
0
0
0
-40
-1
0
2
0
0
-5
37
0
0
9
0
0
5
-65
0
0
-1
0
0
0
-6
0
0
14
0
0
-3
-50
0
0
-12
0
0
0
-12
0
0
24
-1
2
0
-66
0
0
1
0
-1
0
20
0
0
0
0
-1
0
20
0
0
0
0
0
0
-18
0
0
0
0
0
0
-6
0
7
0
0
0
-1
74
0
3
0
0
0
2
-22
0
0
-1
0
0
0
-14
0
0
0
0
0
0
5
0
-3
0
0
0
0
9
0
0
2
0
2
0
11
0
-10
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
-18
-64
0
39
2
0
0
61
0
0
-68
-12
0
0
20
22
0
73
-8
0
-7
-2
0
0
-5
3
0
0
4
5
0
0
-1
0
0
0
0
0
3
0
0
0
0
2
0
0
0
76
0
0
0
0
0
19
-1
62
2
0
0
68
11
2
0
-19
0
0
18
34
0
-62
-28
-13
0
-39
-4
0
-5
-26
0
0
13
-6
0
0
-36
-25
0
31
-2
0
0
49
0
0
0
12
0
-23
3
8
0
0
9
0
0
1
0
0
0
-51
23
-1
0
0
0
8
-3
0
0
6
0
0
13
22
-2
4
0
9
0
-22
-38
0
0
70
0
0
-24
11
0
-5
40
24
0
15
-17
0
0
-1
0
0
2
-5
0
5
-9
-25
0
0
-145
0
0
2
1
0
14
14
0
0
0
5
0
0
-14
0
0
0
0
0
0
19
2
0
0
0
0
-1
73
-6
49
4
0
0
0
20
0
0
-2
-5
0
1
4
0
9
0
0
0
10
-13
0
14
0
3
0
-2
143
0
-16
-12
0
0
0
46
0
-1
2
0
0
0
-19
0
15
0
0
0
0
58
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-44
0
-1
0
0
0
0
-18
0
0
0
0
0
0
-2
0
12
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
6
0
0
0
0
0
8
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
1
0
0
0
21
0
0
2
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
4
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
9
-18
0
0
5
0
0
0
-19
0
1
8
0
0
0
-3
-1
0
7
2
0
0
0
0
2
-2
1
0
0
1
0
-6
5
0
0
0
-4
0
0
-1
0
0
0
0
0
-31
0
0
-1
0
0
0
0
0
-41
2
-7
0
2
0
16
-43
-2
0
33
0
0
-1
5
0
6
5
-4
0
-4
50
0
0
-4
0
0
-2
7
0
0
-3
0
0
0
7
0
0
4
0
0
0
-6
0
-38
7
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
-84
0
0
-12
0
0
-19
22
0
0
-4
2
0
22
55
0
0
-2
0
0
0
-41
0
0
-2
-4
0
0
-22
0
0
-3
0
0
2
47
0
0
2
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
-2
4
0
0
0
0
0
26
0
-7
0
0
0
0
-23
0
5
-1
-3
0
0
-2
0
-4
0
0
0
0
-7
0
1
1
-3
0
0
16
0
-2
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
1
0
0
7
0
0
0
0
0
0
-2
2
0
0
0
2
0
7
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
1
0
0
0
-2
0
-5
0
-14
0
0
0
6
-41
0
0
0
0
0
0
2
0
5
5
0
0
13
8
0
0
0
0
0
-2
2
0
0
5
0
0
0
2
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
-7
0
0
0
-32
0
0
0
0
0
0
0
0
0
-3
0
0
0
42
0
0
-2
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
9
8
0
0
0
0
0
0
0
43
-8
15
-101
-4
-32
-22
-10
-26
-40
0
-7
-4
-72
0
-40
-45
24
-31
-25
-29
4
9
1
13
69
10
26
-89
26
13
-46
5
-18
54
-88
-110
-5
-6
-38
-7
-29
62
34
-8
-1
54
43
-5
-3
-2
-29
-1
-8
-28
-58
-62
-19
32
52
-2
35
-2
55
-33
-59
-14
-8
-65
20
-35
-65
-76
-13
19
-11
-60
-4
12
-6
-18
-23
47
-34
-30
1
-6
10
21
-12
50
-7
1
1
-1
25
-13
-46
-35
0
2
18
-44
22
-23
28
-9
45
1
-48
-3
3
0
22
-20
-1
-2
-42
-4
-26
2
-18
-24
18
21
-12
-34
6
94
-53
-49
-3
23
23
-32
50
8
-2
-18
-88
-13
-16
30
-59
3
-71
-25
-28
-8
5
-45
-35
-53
-3
-12
0
0
-74
-11
35
-12
-4
8
-20
-15
11
-12
-5
4
-7
9
3
-114
-9
4
0
-5
13
-48
-9
60
-29
-1
27
16
-69
-10
-3
-2
-21
26
45
38
-24
47
-13
-47
-3
-29
27
-28
-22
-95
-68
15
8
48
-49
20
-69
-66
9
5
45
4
-1
24
13
13
-3
9
3
23
7
-31
-1
-3
-43
-6
3
-5
12
1
-12
-50
67
5
-75
0
20
-98
-6
7
-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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-1
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-22
0
0
0
0
0
0
-17
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
1
0
0
-22
5
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
3
-9
0
0
0
0
0
0
-5
0
0
-4
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-49
18
0
27
-68
100
0
39
-6
0
0
48
1
0
-96
-21
-7
0
-36
-6
3
-37
-7
15
0
3
0
0
83
-7
0
0
-5
-42
0
-65
-5
0
7
-2
0
0
-1
0
0
0
0
-2
4
0
0
-23
0
0
4
0
20
-46
-16
-34
29
-7
0
-110
-13
0
-7
-40
0
0
55
94
-3
44
11
59
0
19
-27
1
-2
-31
0
0
-42
17
4
0
-102
13
0
27
1
0
3
-68
0
0
-4
-16
0
9
-5
-7
0
-1
-76
0
0
0
0
0
0
-10
-35
-1
0
-5
0
-6
-40
-42
-2
30
0
0
-12
28
1
2
11
36
0
-8
21
2
-1
5
0
0
4
-10
-2
1
-4
-11
0
-70
-48
-3
22
-7
0
0
10
-6
2
-3
-50
-27
0
9
36
0
0
56
0
0
-6
9
0
-25
-7
49
0
0
-1
15
-1
0
6
0
1
-16
-8
0
0
-1
0
-7
16
-4
-57
57
0
0
5
34
0
-8
-9
-9
0
-31
0
0
24
-17
0
0
-3
-4
0
8
31
-2
0
25
-20
0
-46
-57
2
0
2
-70
3
9
15
17
0
0
-33
0
-48
0
0
0
0
-13
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
-2
0
0
-3
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
-49
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-9
-22
31
24
12
-19
-34
-10
17
49
56
-22
-34
-3
-5
5
-58
6
34
-7
27
0
-13
79
16
10
-130
10
-46
-92
3
-30
-14
15
-40
27
-11
8
-41
-3
-11
10
21
-10
-18
-44
-31
-4
-6
-42
17
-10
-31
-42
-45
-1
-29
0
-11
-42
23
-55
-48
-35
-3
-10
24
-10
51
24
17
5
-64
14
13
-2
-48
1
-6
-68
-37
25
7
-14
-2
-2
-21
41
-7
20
-49
11
-5
-3
-40
-12
-92
-33
-74
19
-29
23
-51
-6
23
-17
4
-30
-23
23
-66
22
-39
4
0
46
-42
19
-51
-9
3
-36
-60
-8
-102
-162
23
-9
-70
-46
-19
-12
-76
45
-7
-53
-8
-3
-52
-20
-8
-35
-16
-28
9
-32
-83
35
4
-17
17
36
-13
-46
6
-18
-63
-23
18
14
-13
-38
7
-7
-5
21
12
63
22
-28
10
-63
-5
38
4
-10
-13
8
-29
-12
-24
7
-61
13
0
-49
-71
16
-46
-24
10
1
-13
19
77
-54
-41
-22
11
-39
18
-21
-104
18
-27
15
-50
-9
-42
20
61
-5
29
-7
-16
34
11
12
-16
-14
30
47
70
-48
-92
-3
-48
36
25
42
70
-15
-14
-64
-30
-68
-23
9
-41
4
2
43
-84
32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
17
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
-43
16
0
0
0
0
0
-3
0
0
0
0
0
22
-25
0
0
0
0
0
3
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
10
0
0
0
0
0
0
-18
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-13
0
0
-9
0
0
0
21
0
0
-10
0
0
0
-24
55
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
9
0
31
0
0
0
-5
47
0
-6
-6
0
0
-10
49
0
13
-23
0
0
-13
14
0
0
-6
0
0
0
-1
0
0
-4
-12
0
0
-5
0
0
1
0
0
0
0
0
-9
1
0
0
0
-10
0
0
0
0
0
0
27
-5
12
0
0
0
0
25
1
0
0
0
0
2
-102
12
0
-1
-18
0
3
65
0
0
0
0
0
0
-58
0
0
-8
0
0
0
-90
0
0
-1
0
0
0
1
0
0
-5
-10
0
0
-91
0
0
0
0
0
0
-18
0
-4
0
0
0
0
-5
0
0
0
0
0
0
24
0
-3
0
0
0
-8
10
0
-5
0
0
0
0
-28
0
0
-1
0
0
0
-20
0
0
0
0
0
0
-9
0
3
0
0
0
2
6
0
-5
0
0
0
0
-7
0
0
0
2
0
0
8
0
12
0
0
0
0
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-5
41
-8
19
8
4
56
-54
42
47
-10
10
-13
-120
-31
-1
-13
49
8
-43
-48
-113
0
-14
11
45
-49
-137
17
0
-1
22
0
-82
-1
35
-12
0
0
8
26
0
0
-14
0
0
0
34
0
11
-5
58
11
-11
0
42
28
19
69
-51
-4
-3
-41
41
1
53
-32
25
10
-23
-13
22
2
28
1
16
36
-35
0
-12
-36
41
20
-2
-49
0
10
-120
5
-14
-56
-9
-2
58
-23
-31
-34
12
42
0
0
42
0
-13
0
47
-60
33
0
6
-17
-2
41
12
8
-55
0
0
-7
39
-49
71
31
70
10
-15
-23
50
-8
14
-5
-8
37
5
-27
-59
58
4
1
-26
-66
0
-13
34
-12
34
-13
-42
0
-25
32
163
31
8
-30
0
-15
40
-1
-13
8
7
18
14
-29
-12
-28
0
-17
7
0
6
-3
-5
0
8
-60
25
21
2
-3
1
47
-8
-96
-14
2
-2
-22
10
41
-37
-64
-28
13
11
-30
8
-10
-77
-18
0
-32
48
14
84
11
16
0
0
-20
8
-13
23
-3
16
3
41
4
14
-23
26
12
0
-23
0
112
1
0
9
0
-31
1
16
-1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
10
0
4
6
-4
8
-5
11
0
-3
44
58
25
-124
-46
0
0
59
3
24
55
0
0
1
3
0
38
-7
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
0
40
0
0
0
5
1
40
-37
12
34
0
0
82
0
6
-8
-76
-2
1
44
62
0
-32
-3
13
-7
-13
22
-9
0
-33
0
0
8
-74
0
-3
3
5
0
1
71
0
0
3
0
1
0
4
0
-59
0
0
0
0
52
0
0
0
0
-1
0
-41
-31
-2
0
0
0
-5
46
25
15
53
0
0
-81
0
1
8
-25
-18
0
-67
-91
13
2
23
0
0
-27
-38
2
0
-7
6
0
-6
-2
3
2
-5
0
0
0
-15
0
-1
71
38
0
8
-27
0
3
7
0
7
0
-79
-2
0
0
23
3
0
-5
1
0
0
0
-4
0
-39
-4
0
-1
0
0
0
0
0
57
23
10
0
20
55
-2
3
10
3
0
1
-30
0
-43
-83
-1
0
0
-72
0
-17
32
1
0
-5
7
-1
-59
-13
1
0
0
-40
0
-1
8
-9
0
0
-12
0
-50
5
0
0
0
-35
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
-49
0
0
8
9
0
12
48
0
0
15
-8
0
0
-9
0
0
0
6
0
0
0
0
23
0
0
0
0
0
0
7
0
17
0
0
0
0
-17
0
0
5
0
0
0
0
-1
-45
24
27
31
-5
0
19
38
-1
0
-3
0
0
8
-16
0
0
-37
13
0
4
-63
3
0
9
0
0
-9
-23
0
0
17
0
0
1
-100
0
0
0
0
0
0
0
0
-13
0
6
0
0
-57
0
0
0
0
7
0
14
-6
0
0
0
0
-3
-13
-8
0
-7
0
0
23
-16
0
0
-41
41
0
0
23
0
0
3
0
0
10
-49
0
0
3
1
0
1
4
0
0
-7
0
0
0
-35
0
0
2
1
0
0
42
0
0
-1
-1
0
0
-4
0
0
0
2
0
0
-26
0
0
0
0
0
0
-29
0
0
-2
0
0
0
28
0
-19
0
0
0
-2
-48
0
-2
0
2
0
0
109
-2
0
1
0
0
3
16
0
-4
0
5
0
5
41
0
-25
2
0
0
0
50
0
-10
0
0
0
0
-39
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-1
0
14
0
0
68
0
0
0
24
4
-1
-5
49
8
0
8
0
0
17
-8
0
0
0
0
0
13
-2
0
0
0
0
0
0
-1
0
0
0
7
-32
0
0
90
0
0
0
13
0
58
-4
-5
-8
8
0
70
53
-2
0
-5
0
0
17
-15
0
4
47
1
0
54
-3
0
0
17
0
0
4
63
0
0
13
0
0
-20
41
0
0
14
0
0
0
15
0
64
0
2
0
0
-41
0
0
0
0
-5
0
-75
13
-1
0
-1
0
0
-12
21
-3
-23
0
0
1
-46
9
6
41
25
0
-7
-3
0
7
4
0
17
0
1
0
6
25
-4
0
-4
22
-2
2
34
0
0
0
-31
0
-8
-2
10
0
0
16
0
0
-1
4
0
0
-86
0
0
2
0
0
0
-50
0
0
0
0
0
0
0
2
0
0
1
0
0
39
-3
75
-5
0
0
0
-103
0
1
12
-4
0
-5
32
0
-2
0
0
0
-2
-49
0
0
0
-4
0
-1
102
0
-22
-7
0
0
0
25
0
0
13
-25
0
0
16
0
9
0
0
0
0
-25
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-14
2
28
19
16
-42
-46
1
18
-27
40
-22
51
-92
-80
-24
4
27
-5
67
3
5
1
-2
41
-34
-80
-67
-30
-3
-3
-28
0
-53
-21
-12
-2
-2
-2
-11
-27
0
0
16
0
0
12
12
-8
44
53
3
43
41
3
76
89
-39
9
-3
-12
9
-25
19
0
13
-49
-22
52
-28
-13
5
30
35
-18
30
-88
34
1
-18
4
-41
-34
-3
-17
3
-9
46
17
11
-50
-59
19
-15
50
-56
17
15
9
24
8
-12
1
-45
0
12
3
-56
0
7
-1
-68
34
-3
5
-17
20
-3
24
43
2
-8
36
-23
41
42
22
25
-32
-31
22
3
-12
5
23
-17
25
-67
-77
0
36
52
27
15
-48
7
7
5
-1
-47
-52
-10
-11
-27
2
5
-5
-98
41
-45
37
-16
0
4
3
-40
2
0
-50
25
-6
0
-5
40
1
-48
17
-30
-23
4
2
8
27
-41
-45
-13
-6
-4
-23
-32
-8
-43
8
-40
-52
-44
0
18
-2
-22
-31
31
134
-15
-47
-48
-21
-40
15
-48
4
22
21
-63
41
27
-16
-39
-2
-79
-92
10
-49
-4
4
12
4
-7
-1
-30
0
-8
-11
-14
0
45
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
5
0
19
-18
-13
-3
0
13
0
9
3
-13
3
0
34
0
-42
-7
-43
0
0
-25
0
13
0
0
0
0
0
0
129
0
0
0
0
0
0
33
0
0
-46
0
0
0
-56
0
68
120
-7
58
0
0
92
-12
0
0
-7
0
0
-112
60
0
-18
-9
0
-10
17
3
0
1
-106
0
-6
-24
-12
0
0
-75
0
0
0
-5
0
0
-53
0
6
0
-10
0
15
0
0
-7
0
37
0
-2
0
0
59
0
-14
-8
7
0
0
0
0
9
6
0
-22
0
0
30
15
-2
10
-9
0
0
-17
-3
0
0
-47
0
-6
-22
-41
0
-1
-25
0
-9
-7
-10
0
-5
-14
0
6
-3
-25
0
0
-16
-5
-4
-2
-21
0
0
-5
0
-30
0
-18
0
-5
-8
0
37
0
3
0
0
4
0
0
0
-102
-3
-7
8
0
0
-1
-38
0
-9
-1
0
0
6
2
0
-4
-5
0
0
5
-38
-2
4
69
0
0
7
-60
0
2
-94
0
0
6
8
0
-33
29
0
-6
0
-42
0
0
-7
0
-42
0
-28
0
39
-6
0
-1
0
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
75
0
0
19
0
1
0
-6
0
0
37
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
7
23
-17
18
0
0
80
-33
-3
10
-39
0
0
47
45
-1
-33
22
-4
0
38
-29
0
0
-40
0
0
-8
-41
0
0
0
3
0
0
48
0
0
-2
0
0
0
-54
0
-40
0
-6
0
0
-50
0
0
0
0
0
0
2
-17
0
0
0
0
0
-5
0
0
8
0
0
-42
60
0
-1
1
1
0
12
-81
0
0
9
0
0
-9
2
13
5
31
0
0
18
-43
0
0
10
0
0
-9
-65
0
1
-22
-2
0
0
-58
0
0
2
1
0
0
-46
0
0
0
0
0
0
-59
0
0
0
0
0
5
90
0
2
0
0
0
0
-42
3
8
-10
0
0
0
121
0
0
-14
0
0
-1
30
0
-5
1
0
0
0
-2
0
7
-3
0
0
0
48
0
-4
0
3
0
4
-38
0
1
-2
0
0
0
57
0
-2
0
0
0
0
-31
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
49
2
-24
-24
6
19
-38
6
-17
-13
40
-43
-20
40
14
-41
-42
-44
-65
-13
-4
-2
-2
17
-36
-7
28
23
-7
24
13
39
50
-6
0
-26
4
-8
-22
26
-8
10
57
20
37
39
-22
-1
-25
9
32
31
2
14
-13
2
-32
12
5
-17
14
10
5
-12
-88
5
-12
-36
-41
-43
3
31
106
9
27
-52
20
-10
3
-22
4
13
19
47
-9
-21
-2
3
-7
-33
-75
-3
-1
-3
5
-8
-3
-8
8
8
-39
5
-60
-30
-15
5
-22
-1
50
-18
3
53
18
47
-65
7
-24
13
29
22
-10
25
30
3
23
-13
-8
13
36
0
42
17
1
-10
19
12
-35
-67
47
-15
-22
-56
-76
12
63
58
-49
7
25
-56
-41
-64
12
-25
1
-21
67
96
68
18
0
-5
-29
15
-10
-13
-33
-71
27
33
-34
22
-64
-6
-11
15
-69
63
-29
0
-45
-18
18
3
-32
78
-104
48
54
13
-30
18
43
12
-102
40
-7
-54
-17
36
-53
66
2
-13
18
-13
14
31
-76
-4
13
15
15
29
37
-2
-17
4
33
-4
24
-19
-48
6
-16
5
-16
-12
-89
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-3
0
0
-40
2
2
-8
-9
0
8
24
0
5
68
14
0
0
9
0
0
6
3
0
0
2
0
-2
0
-3
0
0
0
0
-14
0
0
41
0
0
0
6
0
10
-18
31
51
7
0
-25
-21
0
0
-47
0
0
98
0
-4
-26
32
0
0
20
-12
-2
0
-15
0
0
-5
-96
0
0
-8
-1
0
6
71
0
-1
12
0
0
0
69
0
83
1
-6
-3
7
23
0
0
0
0
-15
-1
15
-7
0
0
0
0
-8
50
0
0
-13
0
0
17
-26
7
-3
55
21
0
25
0
-3
0
16
0
0
5
23
0
5
18
2
0
0
66
0
0
7
0
0
0
0
0
0
-15
-6
4
-1
0
0
0
-3
0
0
5
-5
0
0
0
0
0
0
18
0
0
0
5
0
0
52
0
-3
6
0
0
0
70
0
-4
0
0
0
4
0
0
-1
3
20
0
-3
-40
-1
9
5
2
0
-2
43
0
0
-2
10
0
-2
-16
0
-42
2
0
0
0
88
0
-1
-7
-3
0
0
-68
0
-28
0
0
1
0
-30
0
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
7
0
0
0
16
-3
0
1
-4
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
42
1
2
-10
0
0
-8
-59
0
0
-58
0
0
-16
-5
0
44
19
0
0
13
-38
0
0
16
0
0
8
-19
0
0
-3
0
0
-3
43
0
0
0
0
0
0
12
0
22
0
0
0
0
-10
0
0
0
0
0
0
34
0
0
0
0
0
0
36
1
0
-3
0
0
0
86
0
0
-7
0
0
0
93
0
0
-2
0
0
0
5
0
0
0
0
0
0
29
0
0
0
0
0
-5
-44
0
0
1
-1
0
0
-52
0
0
0
0
0
0
-21
0
0
0
0
0
0
-30
0
0
0
0
0
0
-9
0
0
0
0
0
0
-16
0
2
0
0
0
0
-49
0
-8
0
0
0
-1
2
0
5
0
0
0
0
-4
0
0
0
0
0
0
49
0
3
0
0
0
0
-7
0
0
0
0
0
0
25
0
-3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
4
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
72
0
0
-3
0
0
12
17
0
0
5
0
0
75
-8
0
-1
2
0
0
-3
-4
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
30
0
-1
0
0
0
0
8
0
0
0
0
0
0
17
1
0
0
0
0
0
41
8
0
0
0
0
-2
-77
0
0
12
0
0
0
-91
0
0
-4
0
0
-7
63
0
0
0
0
0
0
-6
0
0
-3
0
0
0
8
0
0
-2
0
0
0
-9
0
0
0
0
0
0
-15
0
0
0
0
0
0
57
0
0
0
0
0
0
-30
0
0
0
0
0
0
55
0
-2
0
0
0
0
-12
0
0
-1
0
0
0
7
0
0
0
0
0
0
-7
0
0
0
2
0
0
8
0
0
-1
0
0
0
2
0
0
0
-4
0
0
-12
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
72
27
57
66
-71
52
-10
-49
-7
20
-12
0
8
27
19
-2
10
-44
5
-22
-17
-7
0
-3
-26
-35
-65
-32
-41
0
0
-33
10
-18
0
-3
27
0
-1
4
-22
-21
40
12
1
-21
56
-5
-107
-38
-106
41
-5
0
80
8
-19
-9
-18
21
11
3
-1
-24
101
-13
-46
-37
-21
47
37
-10
23
8
-42
-46
-46
-52
5
-8
-2
-6
5
-15
4
0
-23
-99
-81
-1
2
-20
0
3
15
-2
-49
0
1
52
-21
0
-56
4
-39
28
17
13
-8
12
-13
-56
-1
-21
-113
91
18
-7
16
15
-34
86
56
7
58
-8
-23
31
16
19
103
21
42
-32
-8
-46
-45
-52
66
140
-52
10
-4
28
-55
-4
-7
19
-5
-4
-1
2
-76
-7
-17
0
8
-6
-41
69
0
-36
18
0
0
8
15
-12
15
44
-32
-8
-9
0
-4
-59
-45
51
45
0
13
-10
14
-12
90
-11
-55
15
11
-11
-55
19
42
-10
8
-42
-43
-8
38
-85
-102
-28
-29
-6
-8
-30
55
-4
-4
-20
30
0
8
-95
53
59
-9
-2
0
18
9
-4
60
0
45
-32
-13
-3
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
-8
0
0
-5
6
0
0
4
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-2
0
0
0
0
0
54
0
13
-5
0
0
24
-57
0
0
-1
0
0
-7
-6
0
50
16
0
0
6
3
0
0
0
0
0
1
-14
0
0
-17
0
0
0
73
0
0
0
0
0
0
-30
0
8
6
0
0
-2
13
0
0
0
0
0
0
49
-1
0
0
0
0
0
-30
1
0
0
0
0
-3
34
0
3
6
0
0
-13
9
0
0
7
0
0
5
-19
0
0
2
0
0
16
15
0
0
0
0
0
-3
2
0
0
0
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
4
0
27
0
0
0
0
0
0
23
8
0
0
0
0
0
8
0
1
0
0
0
0
46
0
0
0
0
0
0
-25
0
0
0
0
0
0
-18
0
0
16
-8
0
0
13
0
0
0
0
0
4
-5
0
0
0
0
0
0
31
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
-49
0
0
0
5
0
0
8
0
0
0
4
0
0
2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
-4
66
-25
-8
-20
-8
0
-27
33
0
0
-53
0
0
42
-17
0
59
-33
0
0
34
-84
0
0
-44
0
0
-8
62
0
0
34
-1
0
26
8
0
0
0
0
0
-8
-31
0
-17
31
37
0
-2
-63
0
0
0
0
0
0
-37
39
-6
0
0
0
0
-4
17
0
-26
0
0
-4
-27
0
0
23
55
0
111
-15
-3
0
-46
0
0
-3
-20
0
0
23
0
0
10
-28
0
0
-8
0
0
8
16
0
-5
-41
-22
0
0
-19
0
0
-3
1
0
0
12
3
0
-13
2
0
0
-53
0
0
0
0
0
0
39
0
0
0
1
0
-3
2
0
-41
7
0
0
-13
-18
0
0
6
0
0
-1
-49
0
29
-13
0
0
16
-4
0
0
5
5
0
0
-30
0
61
-24
0
0
0
-28
0
-1
18
-4
0
0
14
0
0
-2
0
0
0
-39
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
57
-12
-45
16
29
-5
-40
2
13
-15
-8
-53
-42
-42
-1
-3
-5
-3
31
0
63
4
0
13
26
-42
-1
0
54
0
-1
-5
35
35
2
61
0
-25
29
-1
10
38
6
-50
-17
9
3
-22
-50
30
-58
-12
-16
5
-18
27
-75
-6
35
52
6
-14
59
2
15
2
28
-19
58
-44
1
-2
-16
6
-45
-5
-25
0
-16
-14
-11
9
-3
-16
2
0
-7
3
-49
0
28
28
10
-3
2
3
14
10
29
6
-19
-1
5
21
41
-59
0
54
45
5
13
-8
41
-50
6
-32
12
-6
3
-35
-59
-34
39
-8
-43
7
-2
41
37
-15
71
8
-1
-2
-8
15
-9
-32
9
5
10
6
-2
0
29
-1
-31
0
1
32
-13
10
0
14
-12
-6
-1
-3
3
0
-44
-57
-74
-38
0
0
2
20
-25
-29
32
4
8
-25
31
5
47
-6
70
-3
66
-7
4
-9
-42
6
-6
5
20
-1
25
4
12
-16
-7
-14
2
-33
-64
-7
12
-2
-76
-4
-1
106
-73
56
0
-19
-1
-30
12
0
-14
0
30
-3
-9
-1
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
14
-3
0
0
0
13
5
-4
0
0
13
-5
-3
1
37
0
0
-1
0
-4
0
-25
0
0
0
0
-80
0
0
90
0
0
0
-56
-17
-17
-129
-45
-58
4
0
-16
32
-5
-9
-76
0
0
35
-50
-2
49
-35
30
0
-32
0
6
-1
-56
-14
0
-13
-84
6
-8
8
0
0
-13
1
0
0
-30
0
7
-5
-69
0
-54
0
3
3
0
-5
0
0
0
-1
0
0
0
-39
39
0
3
0
-1
48
-28
0
33
0
0
-31
-39
7
42
17
0
0
-20
86
0
6
-4
0
0
-71
0
0
24
-76
-17
0
-51
29
-1
2
-25
-1
0
0
-15
0
-12
-9
-47
17
1
-26
0
8
13
3
-1
0
-24
0
2
-22
0
23
0
-29
0
0
0
0
0
0
-58
13
6
0
0
0
9
-6
3
71
16
2
0
0
14
-3
-5
-17
0
0
24
0
-2
112
-2
5
0
33
-8
0
-13
9
-27
0
1
8
-1
19
-19
2
0
0
-15
0
7
5
-1
-6
0
-48
0
50
0
0
8
0
13
-4
-2
-4
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
97
13
-1
0
-6
0
-8
-27
0
0
-1
0
0
-15
19
0
-1
-51
2
0
6
8
0
0
-3
0
0
1
-13
0
0
0
0
0
0
69
0
0
0
0
0
0
-8
0
7
0
0
0
0
-8
0
0
0
0
0
0
-39
0
0
0
0
0
-1
-94
0
0
0
0
0
0
16
0
3
0
-4
0
0
20
0
0
0
0
0
23
-1
0
0
-12
0
0
0
-21
0
0
-5
0
0
0
-7
0
0
4
-1
0
0
-58
0
0
0
7
0
0
35
0
0
0
0
0
0
-25
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
16
0
0
0
0
-5
0
-2
0
0
0
0
-7
0
7
-5
0
0
0
1
0
0
0
0
0
0
18
0
0
-3
0
0
0
-4
0
0
0
0
0
0
46
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
13
0
0
0
0
0
-55
27
-23
31
0
0
8
-23
0
0
23
0
0
2
2
0
-8
14
0
0
-30
63
0
0
8
0
0
0
-19
0
0
-2
2
1
0
-22
0
0
0
0
0
2
35
0
-8
-1
0
0
0
58
0
0
0
0
0
0
-60
2
0
0
0
0
0
28
5
0
0
0
0
1
-37
0
0
9
-9
0
0
-60
0
8
1
0
0
0
-74
0
0
-8
1
0
0
-22
0
0
1
0
0
0
2
0
0
5
30
0
0
-4
0
0
0
0
0
0
30
0
0
0
5
0
0
74
0
0
0
0
0
0
76
0
0
0
0
0
0
8
0
-8
0
0
0
0
47
0
0
1
0
0
-1
7
0
2
-8
0
0
6
-63
0
0
0
0
0
-2
-19
0
0
0
0
0
0
10
0
0
1
0
0
0
25
0
-14
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-34
-1
0
5
2
76
41
-11
-9
1
-13
0
-72
60
-22
0
-4
-5
0
-11
0
50
0
0
0
13
-4
0
0
-67
0
0
-1
-6
-27
-44
-60
-31
-1
3
1
100
51
21
-3
6
0
-19
-79
40
-15
-4
2
16
8
12
2
-8
-5
50
-3
-1
-25
-3
0
7
-5
-48
5
-76
-23
0
16
-10
0
10
55
-66
-1
-3
4
-51
-54
-8
-53
0
0
1
0
-8
0
53
-12
72
1
31
-5
6
-6
18
-3
-9
0
0
-42
23
-22
-34
50
-13
-3
-51
-39
-6
23
-60
8
0
-76
-25
-3
-6
31
10
0
51
-61
0
0
-6
5
-9
9
-10
0
-3
3
35
23
-3
0
3
5
-23
1
19
13
12
0
1
-2
-24
-31
0
43
9
0
5
-6
14
0
10
11
4
10
-1
0
-8
30
9
-7
-34
3
0
-8
-71
-8
-20
29
15
-1
35
-13
0
-10
-28
1
7
8
-48
0
-4
-13
76
8
-22
0
2
39
-17
-24
-2
1
10
5
-5
1
18
-10
5
30
0
32
-15
0
26
0
72
-1
17
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
13
0
0
12
0
-2
-25
-8
0
0
26
0
-11
-12
23
0
0
-4
0
-16
1
-24
2
0
2
0
15
0
0
28
0
0
0
39
8
26
-17
59
-37
0
0
12
-10
0
-1
-10
0
0
-61
-66
0
20
30
0
0
-14
14
0
0
-28
0
-8
33
-54
0
0
13
0
-12
16
-33
0
0
58
0
4
2
-14
0
-24
-12
3
-73
0
40
0
2
-1
0
-20
0
19
-25
4
0
0
-1
0
3
-13
0
33
0
0
-50
-1
-3
-10
13
0
-5
24
-4
0
15
-40
1
0
13
17
0
10
66
0
5
44
-8
0
15
75
-13
59
-25
-12
0
-7
42
0
-1
-19
2
0
-2
77
0
7
0
58
0
-18
-68
0
33
0
-17
-8
0
-1
0
3
0
-22
1
13
-7
0
0
27
-22
3
-78
-47
0
-8
47
54
-15
7
24
0
0
-64
-15
0
-9
-30
1
-8
2
-40
0
-10
-7
2
-2
-32
-4
0
-40
-61
0
0
0
2
0
5
8
0
-26
0
8
0
43
0
0
-9
0
21
-66
-5
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
61
0
0
5
0
0
0
-10
0
0
-2
-3
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
21
0
0
0
0
-3
68
-5
61
22
4
0
-5
-39
0
-3
-7
0
0
6
28
0
-10
45
0
0
67
-67
0
0
-61
0
0
50
5
-3
2
-46
1
0
3
-36
0
0
44
0
0
-3
13
0
-44
8
7
0
0
-21
0
0
0
0
0
0
-27
29
8
0
0
0
2
-4
22
0
0
0
0
-1
20
1
7
40
-19
0
-21
-4
0
3
-4
0
0
12
8
0
0
-8
-54
0
-42
23
0
17
16
0
0
0
-25
0
0
-61
7
0
0
3
0
0
-3
-5
0
0
-42
0
0
18
-5
0
0
-25
0
0
0
0
0
0
-42
-2
-3
-3
0
0
-13
9
0
18
4
0
0
8
-47
0
0
-3
0
0
22
5
-2
8
-31
0
0
2
7
0
5
50
-3
0
-3
59
0
-20
20
0
0
0
8
0
0
64
20
0
0
-48
0
1
2
0
0
0
106
0
-7
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
19
12
-1
-70
123
-51
8
-72
0
-2
-50
0
-13
0
-34
0
0
1
-12
9
0
0
85
0
0
0
31
-2
1
-13
38
-5
-19
-4
78
-9
-8
-39
1
0
0
-4
29
-7
12
-67
-15
5
-86
-17
23
4
-15
6
3
49
11
0
-8
-12
22
0
-34
13
1
-2
21
18
-5
0
17
-1
3
-30
22
-5
0
-62
3
0
8
0
22
0
-8
34
25
0
53
0
5
-23
-26
23
-93
17
0
43
11
-34
5
36
-19
3
-37
10
7
17
-63
-1
20
-3
-8
55
-19
-78
-5
-6
5
-8
34
-18
44
-8
6
29
25
2
22
-25
-43
57
0
18
2
-9
-70
0
-14
0
-13
0
2
8
-10
-51
0
-1
-8
0
3
-9
-5
-10
-71
3
8
61
1
0
5
-52
25
-6
-6
7
0
7
85
2
18
131
6
0
-1
45
-4
1
44
13
3
24
-14
4
18
54
-14
2
42
1
3
3
-24
3
41
-8
-2
0
7
-3
30
-1
0
6
8
12
1
-4
-13
0
29
17
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-17
0
0
-20
0
24
-35
33
0
0
-2
2
13
0
-3
0
0
0
1
-103
0
0
21
0
0
0
10
-12
17
10
-23
6
34
0
20
20
0
2
25
8
0
-13
-22
-5
40
-30
-37
0
87
-24
0
19
-30
-1
0
-45
0
-4
2
-5
5
0
-17
-14
0
6
-81
-2
0
-1
27
0
-106
6
1
3
-2
-83
0
0
-1
0
3
0
-1
-13
-5
0
3
0
0
1
-6
0
19
0
0
66
8
8
14
8
-27
-10
-93
56
-1
8
90
1
-7
94
-5
0
44
-63
29
27
-24
0
0
-2
-14
-3
-4
9
-39
0
-1
-9
20
0
5
-19
0
-3
-5
0
7
0
15
-17
0
1
-17
-79
0
-85
0
0
0
0
-2
0
12
18
-1
-6
0
0
-9
84
-7
-19
-5
0
0
10
-20
-9
-10
1
-27
1
-23
58
0
-30
12
0
-8
-8
0
0
-13
-10
21
-1
-1
-55
0
-40
24
-1
0
0
21
0
0
8
-9
0
0
-16
0
75
0
0
5
0
-28
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
10
33
-6
-6
0
0
-24
0
0
-8
0
0
8
25
0
-1
18
0
0
1
5
0
0
0
0
0
13
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
5
-1
0
0
0
59
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
32
0
0
1
0
0
0
-13
0
0
5
0
0
0
-10
0
0
0
0
0
0
5
0
0
-3
0
0
0
5
0
0
0
1
0
0
76
0
0
0
0
0
0
-5
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
-3
0
0
0
0
-3
0
-5
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
-20
0
0
0
0
0
0
24
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-51
-6
-1
-3
0
0
5
8
0
0
2
0
0
30
-17
0
1
-10
0
0
-1
1
0
0
9
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-49
0
0
0
0
0
0
46
2
0
0
0
0
0
21
0
2
-3
0
0
0
-32
0
0
0
0
0
0
-5
0
0
0
0
0
0
-50
0
0
0
0
0
0
52
0
0
-4
5
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-2
0
0
0
4
0
0
8
0
0
8
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
54
10
0
-7
6
25
-3
-5
21
0
1
5
0
8
0
27
0
0
0
-10
-63
0
0
-16
0
0
0
-19
4
-16
-18
57
0
-2
0
-19
-46
9
1
-52
0
0
-15
-47
0
-38
-3
-9
0
-138
-66
8
0
34
-2
-6
-9
-2
-3
7
-22
-24
-3
22
-49
0
-5
4
0
25
-20
32
0
-27
0
-7
0
0
3
0
5
0
0
10
0
-23
-10
-7
0
12
0
0
4
95
0
7
0
-1
-25
-35
-54
-3
17
7
6
55
12
-1
5
-21
0
3
-12
12
0
2
50
40
0
17
12
0
-4
-2
-1
0
-2
-44
0
-6
-4
7
7
0
-7
0
0
0
2
-4
0
20
0
3
0
6
4
0
43
0
0
0
0
0
0
11
-18
-2
0
0
0
3
-80
0
45
-5
0
0
-13
-20
0
0
43
0
5
-2
2
0
8
21
0
6
-6
-48
0
0
0
1
0
-2
42
0
24
0
0
0
0
-36
0
-5
16
0
0
0
1
0
3
0
0
-7
0
2
4
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
0
0
0
0
47
-2
0
5
0
0
0
33
0
0
8
0
0
0
4
0
2
8
0
0
-3
-4
0
0
0
0
0
0
-9
0
0
18
0
0
0
2
0
0
0
0
0
0
-1
0
-3
0
0
0
0
3
0
0
0
0
0
0
-95
0
0
0
0
0
0
-62
0
0
0
0
0
0
-17
0
4
-14
-1
0
-9
-66
0
0
0
0
0
0
52
0
0
0
0
0
1
-61
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
0
1
0
0
0
1
-20
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
10
0
0
-2
-5
0
19
0
0
0
-1
0
0
0
10
0
0
0
-70
0
0
0
-33
0
0
0
0
0
49
59
55
38
-4
0
73
-20
-1
0
32
0
0
6
-60
0
23
-47
2
0
-8
-34
0
0
-22
0
0
-62
-55
0
0
31
1
0
-21
-41
0
0
71
0
0
3
14
0
29
-51
-29
0
0
-8
0
0
0
0
0
0
23
-24
-2
0
0
0
0
62
-16
0
8
0
0
29
-26
-14
4
3
-34
0
-7
-48
4
0
7
0
0
-90
-11
0
-3
-17
-9
0
-46
-85
0
2
11
4
0
16
-46
0
-8
-49
50
0
-18
-2
0
0
23
0
0
0
-24
0
0
-12
-26
0
0
14
1
0
0
0
0
0
-82
2
0
0
0
0
0
-21
-2
70
-37
0
0
0
-97
0
0
30
9
0
0
-1
0
-7
27
0
0
13
-9
0
0
-26
22
0
14
-46
0
8
-2
0
0
0
19
0
0
5
0
0
0
-15
0
-28
3
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
29
0
0
0
1
0
0
9
7
-37
0
0
22
0
0
0
-1
1
-44
-17
-48
30
3
0
9
0
0
0
-74
0
0
-24
-12
0
16
-30
-10
0
5
-11
-2
-3
3
0
0
1
-36
-4
2
-7
-8
7
0
14
0
0
-24
1
0
0
-48
0
8
-9
-58
0
0
54
0
0
0
0
-8
0
37
8
5
0
1
0
0
-54
-43
-1
3
0
0
4
14
21
7
-66
-13
0
3
-66
0
0
-55
0
0
2
54
0
19
-25
13
0
0
1
-5
-2
-93
1
0
0
-7
0
0
28
-21
0
0
13
0
0
3
0
20
0
-38
0
0
0
12
28
0
-80
0
0
0
-3
0
0
12
-1
-6
4
4
0
0
50
0
27
22
0
5
-1
-5
0
-9
23
6
-8
0
25
0
52
-8
-8
13
0
-20
2
0
-8
7
0
1
59
0
-50
6
0
-9
0
82
0
-3
-1
-1
3
0
-41
0
1
0
0
0
0
-55
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-2
0
0
0
0
-4
54
0
0
-41
0
0
0
0
3
28
1
-163
27
0
0
-8
-18
6
0
-9
0
0
19
30
0
-78
-41
3
0
-2
56
0
0
-68
0
0
16
-145
0
0
-6
3
0
5
0
0
0
5
0
0
0
-4
0
-61
12
-4
-1
13
45
0
1
-1
0
-3
0
11
-5
-7
0
0
0
6
15
-2
12
1
0
-1
-10
-51
-20
-6
29
33
0
-47
38
0
0
-61
0
4
-24
-22
8
14
-22
6
3
2
11
8
5
20
-2
0
0
0
0
0
19
6
0
0
-22
0
0
0
-2
4
3
-41
0
0
-8
17
-15
0
-21
0
0
0
0
0
0
-51
-8
0
4
0
-9
0
22
-5
2
-12
0
-2
2
-49
-3
3
16
3
0
8
-13
6
6
2
0
2
4
-43
0
0
4
-2
0
0
0
0
-15
4
0
0
0
-25
0
0
3
0
0
0
1
5
-17
0
0
5
0
-11
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
10
0
-13
4
0
0
0
-9
0
0
-4
0
0
4
-5
0
3
33
-6
0
-13
-12
0
0
-1
0
0
0
1
0
0
7
0
0
0
-1
0
0
0
0
0
0
-2
0
4
0
17
0
0
51
0
0
0
0
0
0
-34
0
0
0
0
0
0
-33
0
0
1
0
0
0
-13
0
0
0
0
0
4
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
12
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
3
0
0
-5
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-3
0
0
0
20
-29
0
0
-3
0
0
-10
0
0
-3
35
0
0
-4
47
0
0
0
0
0
-6
1
0
0
-10
-1
0
0
-57
0
0
0
0
0
0
1
0
7
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
0
0
0
0
-31
0
0
0
0
0
-3
-67
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
-3
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
5
0
0
0
0
0
0
3
0
0
0
-21
0
0
0
0
0
0
-4
-6
0
0
0
0
0
1
0
0
7
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
7
2
0
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-2
0
0
0
0
-20
0
-3
0
0
0
-4
-36
0
0
-1
0
0
0
5
0
22
-45
-28
-15
-8
-1
65
-41
0
-2
-15
0
0
-52
30
-1
25
-60
-34
0
-9
36
0
0
-18
0
0
-4
-9
0
0
5
7
0
10
12
0
0
0
3
0
0
24
0
8
0
-31
0
0
-19
0
0
0
0
0
0
-24
1
-4
0
-1
0
0
26
7
0
9
0
0
9
8
0
12
83
-4
5
0
-9
0
0
-19
0
0
5
-5
0
5
-6
16
0
-10
-17
0
-2
-6
6
0
0
42
0
0
0
-23
1
0
33
0
0
0
0
23
0
-18
0
2
0
-1
-22
0
-49
-1
0
1
0
8
0
-18
0
0
0
13
0
1
-20
0
31
3
0
0
0
-59
2
9
0
0
0
0
62
0
12
-4
0
0
0
2
0
-1
0
-13
0
0
-4
0
-57
0
3
0
0
-54
0
0
0
13
0
0
-15
3
-43
0
0
0
0
25
0
-6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-31
0
0
0
0
0
0
13
0
0
-43
0
0
0
10
8
-4
0
3
-10
0
0
11
-28
0
-3
8
0
0
-26
26
0
-44
2
0
0
70
-32
0
0
100
0
2
-3
-13
0
0
0
0
-1
-1
26
-3
0
22
0
0
0
46
0
-28
-3
0
0
0
-6
0
0
0
0
-5
0
-26
5
-2
0
0
0
0
-6
1
0
13
0
0
8
-60
0
0
2
0
0
-1
17
0
0
-1
0
0
9
0
0
0
-6
0
0
-21
-74
0
7
0
0
0
0
60
0
0
31
0
0
0
9
0
0
5
0
5
0
-80
0
0
17
0
-8
0
-46
0
-1
0
0
-4
0
6
-2
0
-3
0
0
0
-25
0
-10
0
0
0
0
-2
0
0
-5
0
0
1
-11
0
5
0
0
0
0
12
0
0
0
0
0
0
-26
0
14
-2
0
0
0
25
0
0
6
0
0
0
20
0
15
7
0
10
0
20
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
25
0
0
0
-4
0
0
-1
9
0
0
0
36
0
0
3
0
0
7
6
-85
21
13
0
30
10
0
0
-2
-1
0
-45
-41
0
18
-32
66
0
41
55
0
0
-20
0
0
24
6
0
0
-60
-18
0
-7
-117
-1
0
-8
0
0
2
1
0
14
-33
-43
0
0
-15
0
0
0
0
0
0
17
60
2
0
-6
0
3
27
-24
3
-35
1
0
69
4
-1
0
-27
7
0
12
-29
0
0
46
0
0
-33
45
0
5
19
-42
0
37
12
0
-2
4
-3
0
-43
-45
0
-2
11
-27
0
0
12
0
0
41
0
0
0
-34
0
-4
17
0
0
0
36
-3
0
0
0
0
0
-12
3
0
13
0
0
-2
-70
0
7
-4
0
0
-1
14
0
0
-10
-3
0
19
62
0
-42
16
0
0
5
-69
0
0
31
14
0
-5
-28
0
60
-13
0
0
1
32
0
0
27
5
0
0
9
0
17
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
3
0
-1
39
-40
0
0
-53
0
0
0
0
4
-30
-16
-57
-12
3
0
-22
-61
1
3
-46
0
0
-13
-4
1
-63
3
8
0
3
-25
0
0
15
0
0
-2
15
0
0
-5
-12
0
0
-83
0
0
20
0
0
0
30
0
-41
-20
-44
0
0
-20
0
0
4
0
19
0
-15
13
0
0
16
0
0
-17
-13
0
0
0
2
0
-28
1
0
-23
5
2
0
24
0
-1
14
0
0
1
25
0
0
-26
-7
0
-1
-41
0
2
-19
0
5
0
26
0
-2
-30
-19
8
0
22
0
0
-3
0
-28
0
4
0
0
0
-9
-24
0
-19
0
0
0
0
5
0
50
0
0
-3
0
0
0
-30
0
24
1
0
0
2
30
4
5
-3
6
-1
0
-42
0
20
0
0
0
0
61
0
0
1
-3
0
0
-23
0
-7
-2
0
0
0
-46
0
0
-1
7
0
0
6
0
6
0
0
0
0
-59
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
-22
0
0
-2
0
0
0
1
13
84
21
-107
-30
2
0
-22
16
0
0
-9
0
0
-31
33
3
27
13
-15
1
-49
-39
0
0
-15
0
0
47
-11
0
0
-58
33
0
-15
-53
0
0
3
0
0
1
0
0
22
0
-3
2
0
-18
0
0
0
0
22
0
-17
-4
-1
0
0
0
0
-2
17
0
-2
0
0
3
45
-17
5
23
6
0
-4
-25
-2
0
-5
0
2
8
-92
0
24
-27
-34
0
-17
-89
0
0
-19
1
0
-2
-8
0
0
22
0
0
0
0
0
0
-1
-1
5
0
-32
0
0
0
0
-17
0
32
0
0
0
0
4
0
33
2
0
0
-2
0
0
10
19
-3
0
0
0
-8
4
5
0
0
0
0
0
-138
0
-39
0
0
0
-1
38
-1
-14
10
-6
0
0
-29
0
29
4
0
0
-2
0
0
0
0
15
0
0
-55
0
-7
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-14
0
2
0
0
0
0
-37
-4
0
3
0
0
0
0
0
2
9
0
0
1
-2
0
0
13
0
0
-8
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
22
0
0
0
0
0
0
17
0
0
-5
0
0
0
-33
0
0
0
0
0
0
-13
0
0
6
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-17
0
0
0
-1
0
-1
-18
0
0
0
0
0
0
20
0
-12
-6
0
0
-3
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
18
-60
0
0
0
0
0
10
7
0
0
0
0
0
0
-25
0
0
0
0
0
0
35
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
7
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
-30
0
0
0
13
0
-129
-5
17
-2
0
0
10
4
0
-3
43
0
0
26
-76
0
0
-60
0
0
42
50
0
0
2
0
0
-2
-95
0
0
-1
3
0
-9
5
0
0
0
0
0
0
-16
0
-32
0
-4
0
0
-60
0
0
-3
0
0
0
-79
-1
9
0
0
0
0
-21
-2
0
0
0
0
-1
-25
0
0
2
8
0
-31
-15
0
0
-4
0
0
0
-27
0
0
5
-6
-4
5
52
0
4
0
-6
0
4
-61
0
0
0
5
2
0
24
0
2
0
0
1
0
7
0
0
0
0
0
0
69
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
-15
0
0
-3
0
8
0
0
8
0
0
0
-55
0
-4
0
1
0
0
10
0
0
2
-1
0
2
-10
0
-5
0
2
0
2
16
0
0
0
0
0
0
-10
0
0
0
0
0
0
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
34
0
0
0
0
0
2
31
0
0
0
0
0
0
19
0
-2
-2
0
0
0
-3
0
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
27
0
0
0
0
0
0
-13
0
0
0
0
0
0
-60
1
0
0
0
0
0
-24
0
0
-3
0
0
0
33
0
0
1
0
0
0
5
0
0
-2
0
0
0
-24
0
0
0
0
0
0
-1
0
0
1
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-29
0
0
-8
-101
0
0
0
-18
0
0
-1
0
22
8
6
18
-28
-6
0
-107
-12
2
1
0
0
0
-18
-58
0
-54
-9
13
0
26
4
-5
0
19
0
0
-14
-35
0
-1
-13
46
0
-40
12
0
0
-36
-2
0
-2
-93
0
12
30
2
0
0
25
0
0
5
0
0
0
6
-8
25
0
50
0
17
-13
-4
0
4
0
0
54
-23
3
-2
18
-5
0
6
12
0
4
35
0
0
-16
-31
8
16
-35
-13
0
13
8
0
29
16
0
0
2
18
4
5
-58
-6
0
-6
-35
0
2
5
9
0
3
8
0
-1
-10
5
0
0
47
0
0
0
0
0
-5
-31
8
0
-1
0
0
10
-66
0
26
9
0
0
1
1
0
0
-3
-5
0
8
41
0
75
39
0
0
-2
-11
2
1
13
-5
0
8
72
-5
19
-56
0
0
2
-45
0
0
-66
18
0
0
16
0
-6
-3
0
0
0
-28
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
8
5
0
0
0
-22
-120
3
0
27
0
0
0
8
0
16
-1
4
0
-1
43
0
0
-5
0
0
0
4
0
0
14
0
0
0
49
0
0
0
0
5
0
10
0
-6
0
0
-8
0
28
0
0
0
0
0
0
-14
0
0
0
0
0
0
-35
0
0
0
0
0
0
4
0
0
0
0
0
6
50
0
0
0
0
0
0
-24
0
0
2
0
0
0
5
0
0
1
0
0
0
25
0
0
0
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
6
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
10
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
-1
0
-23
-14
-31
50
-2
0
-17
5
-2
-1
-51
0
0
-9
-8
-5
-101
40
-8
0
24
38
0
0
-61
1
4
-6
74
0
0
49
2
0
-3
-26
0
0
0
0
-5
1
18
0
-9
2
-2
0
0
0
2
0
0
0
-1
0
-13
-3
0
0
0
0
0
-58
12
0
3
0
0
-1
4
6
-1
0
1
0
-49
46
0
0
1
0
0
16
-54
0
0
-110
6
-3
15
19
-8
-2
-1
6
8
0
-45
0
1
5
42
-4
0
27
0
0
0
0
5
0
0
5
0
-2
-1
-2
0
-43
0
0
0
0
0
0
58
0
0
-6
0
0
0
-30
0
-2
10
0
0
-8
62
8
2
2
0
0
3
-75
6
9
0
0
-8
2
-63
0
-2
0
-22
0
0
-58
0
-5
-4
0
0
0
-10
0
0
0
0
0
0
0
0
-21
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
1
0
1
0
0
0
-39
0
0
-3
0
0
0
0
0
12
13
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
1
0
14
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-29
0
-2
0
0
0
0
-59
0
0
-39
0
0
-1
7
0
-9
24
0
0
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
6
0
21
0
0
0
0
-76
0
0
0
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
-8
0
0
-3
-44
0
0
0
0
0
0
-14
0
0
0
-4
0
0
-65
4
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
-3
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-1
1
0
0
0
0
0
-3
0
2
0
0
0
0
-13
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
34
0
0
0
0
0
0
7
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
4
0
-67
6
-55
-5
0
0
33
-13
0
0
-39
0
0
-17
36
0
6
-35
0
0
-88
-53
0
0
-91
0
0
-8
-38
0
0
-34
0
2
-5
-21
0
0
37
0
-19
0
-2
0
1
2
0
0
-1
-9
0
0
0
0
-13
0
-54
-5
-4
0
0
0
0
-27
-1
-4
4
0
0
0
5
0
2
-45
0
0
25
23
0
0
0
0
0
-7
-74
0
0
96
0
-24
2
10
0
0
23
0
-2
0
-35
0
0
8
0
7
-7
-51
0
0
-3
0
-50
0
-10
0
5
0
0
7
0
-16
6
0
0
0
0
0
34
0
0
0
0
0
0
4
0
5
8
0
0
7
-57
2
0
4
0
0
0
24
0
1
-4
0
0
0
41
0
0
-13
0
0
7
-25
0
-20
-2
0
0
0
-7
0
0
1
0
-1
0
-26
0
-6
0
0
0
0
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
6
0
-31
-9
4
-81
-59
17
0
-14
13
6
34
5
26
0
59
38
-15
-15
-31
18
0
18
-20
16
-2
9
0
0
15
-13
0
-5
-33
-40
0
-5
16
0
6
-3
1
0
-5
20
0
-20
-20
-30
0
-1
50
20
-1
5
-1
0
0
-27
11
-59
-1
9
0
-1
-6
21
-1
-36
-5
2
-60
10
0
-8
-6
-25
0
-30
6
-15
-14
-10
0
0
38
-16
12
-12
12
-5
0
9
12
3
0
-27
-4
0
13
4
-1
-6
36
11
0
30
8
2
13
-16
-49
0
-1
-29
0
8
55
10
0
0
-17
-8
-4
0
2
0
0
-16
47
3
-27
7
0
-45
-4
-39
-56
155
19
1
48
1
-2
3
34
12
0
-22
34
12
-11
42
8
0
-1
21
-3
78
-9
-61
0
-11
32
-12
46
44
24
0
-4
-9
1
-5
20
-14
0
-3
-12
0
-88
6
0
0
-6
15
28
-29
-10
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
-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
-31
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
-4
0
0
8
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
-43
0
0
3
0
0
0
-9
0
0
-3
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-23
-28
12
-25
-14
0
-115
-26
-3
42
-52
0
-1
-40
-39
-14
1
-45
-16
-10
-29
-15
-5
-14
-35
5
-8
-22
-6
0
0
-41
-39
-3
28
20
0
-2
27
1
-21
-7
-20
0
9
38
-4
10
0
-21
-1
0
-1
0
11
0
3
0
-100
0
-4
7
-5
-19
-100
-13
-12
0
1
-35
3
-35
5
-25
31
-1
-28
21
-24
49
-52
0
-17
-18
20
-6
13
-39
-75
-5
4
14
-5
55
26
0
0
-38
-2
-1
4
0
43
-15
-1
3
0
3
30
-1
-48
3
-23
-3
-2
-2
-54
28
0
24
0
0
0
0
-1
5
-26
-20
-1
19
-7
4
-4
-19
0
28
30
10
1
-4
36
-3
1
17
8
6
6
62
6
-38
-31
6
-20
-5
-27
-2
23
10
-6
1
31
-67
0
-52
66
-7
5
2
-15
0
0
68
68
3
0
7
0
-13
-24
0
-8
0
-5
0
-5
3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-1
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
-4
59
0
0
0
0
0
-4
2
0
-2
-8
0
0
1
9
0
0
-7
0
0
0
10
0
0
0
0
0
0
16
0
0
3
0
0
0
47
0
-1
0
5
0
0
3
0
0
0
0
0
0
-41
0
0
0
0
0
0
28
1
0
0
0
0
0
-32
0
0
-1
0
0
0
-18
0
0
-2
0
0
0
-24
0
0
7
0
0
0
-8
0
0
0
0
0
0
-4
0
0
-8
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
8
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
4
0
0
0
4
0
0
0
0
0
0
-3
0
0
-8
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-39
3
-67
61
-7
0
30
0
6
0
1
0
0
3
-2
0
-34
19
-77
0
64
-100
2
0
-40
0
0
60
14
-1
0
-66
76
0
19
10
1
0
26
0
0
0
-34
0
-124
-74
34
0
0
-29
-2
7
0
0
0
0
-14
-6
-34
0
0
0
-2
17
-3
0
19
-4
0
18
30
-3
0
41
-3
0
35
-19
0
-1
-40
0
0
43
-38
0
-4
-45
-55
0
-40
28
0
1
-10
0
0
6
-18
0
-2
-53
-27
0
0
-7
0
0
23
0
0
0
14
0
-13
1
34
0
0
-3
-1
0
0
0
0
0
-63
-2
1
5
-1
0
-10
-31
8
96
-6
0
0
-1
70
0
0
48
7
0
39
4
-1
-45
-43
0
8
-6
-18
1
-18
-31
1
0
-4
20
-1
-67
13
0
0
-6
-43
0
5
-24
-2
0
0
-6
0
68
-12
1
0
0
-29
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
10
0
0
25
-43
0
-16
-41
1
0
34
45
0
0
-4
0
0
0
-5
0
0
13
-12
5
0
-13
0
0
-2
0
0
-2
32
0
-28
0
0
-4
0
-27
0
0
0
0
0
0
19
0
0
0
0
0
0
-154
-31
0
0
0
0
-3
19
4
-1
13
-3
0
0
-83
1
1
-23
0
2
8
-27
0
0
0
0
0
9
16
0
-1
9
0
0
0
-24
0
0
16
-6
0
0
8
0
0
0
0
0
0
9
0
0
0
0
-2
0
-31
0
0
0
0
0
0
-93
6
-1
1
0
0
0
11
8
10
2
0
0
0
1
-7
0
0
0
0
0
47
0
8
-4
0
0
0
45
0
-2
0
0
0
0
76
0
1
0
0
0
0
-53
0
13
0
-1
0
0
-115
0
4
0
0
-4
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
45
53
9
116
-21
-105
-9
-38
54
5
11
4
-34
1
1
-87
-38
43
44
-22
16
-27
22
-57
-24
10
-47
-5
14
9
28
-44
-33
35
-29
-14
41
8
10
-33
64
-32
6
13
49
1
1
-41
-24
-16
18
-27
-8
-84
0
-39
0
-42
-86
49
-7
13
-83
-46
46
54
-49
-33
-39
-54
6
-28
-59
75
-74
-57
-22
-12
0
-58
12
-6
-57
-14
-30
18
16
-32
-48
7
-53
-21
-25
2
-45
6
7
50
8
-9
32
-2
49
5
110
5
42
64
23
10
-32
-7
-1
-23
-16
-47
-46
-34
-59
0
-76
-36
-38
-43
1
-75
-38
-8
-21
-30
-31
48
-74
10
-3
-55
-11
-111
-17
-24
3
9
-13
15
-34
26
21
-40
46
-21
-10
-2
-74
-89
0
69
-7
-28
-14
26
38
16
-12
-30
65
0
-18
-19
-3
-28
61
-47
75
20
-25
-42
0
13
-24
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
61
5
8
26
1
-1
50
-6
-5
-68
12
14
-1
19
31
-5
5
-57
0
4
-59
-15
-4
9
-30
25
0
24
-21
0
0
25
0
24
2
-41
0
52
-29
89
0
0
-52
0
0
0
4
-47
0
-40
-14
14
0
-3
0
0
39
5
-2
-49
0
0
-53
-28
-25
19
-47
16
13
9
14
12
-25
-31
-1
3
22
-12
-8
31
80
19
3
32
-3
-3
0
-58
14
2
-10
-30
0
-51
69
3
-1
-6
-1
0
-4
-46
2
-36
0
-23
0
1
-34
13
-11
0
7
-2
4
0
2
1
-2
39
24
0
-5
8
3
12
-37
13
-53
-15
2
1
-32
6
1
26
-34
-31
1
47
-8
1
38
62
-3
-8
13
24
2
31
-10
-31
4
16
1
0
93
-30
7
0
0
32
2
0
-25
50
-5
0
7
0
15
-7
7
3
0
11
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
11
-39
9
-20
0
0
-141
36
22
-83
28
-50
-7
-46
-10
-5
0
-76
2
0
21
-41
-4
20
-30
21
-1
42
1
-3
0
-112
0
25
-39
-16
-2
36
-58
-31
-9
0
-17
-1
0
-1
0
-25
0
-7
6
-34
0
5
0
-32
-14
-105
4
-13
0
0
-62
-9
27
-42
-32
46
-2
3
31
15
-13
31
-1
67
-23
11
-12
-9
-4
23
-1
22
29
-9
-3
-51
-3
30
-5
1
0
-13
-24
13
12
22
-11
-1
0
34
5
-85
5
8
-2
3
25
37
45
0
-10
-2
-2
0
0
1
-4
20
50
44
-1
-8
2
41
13
1
59
-55
0
0
-17
-11
9
-3
-4
-13
-4
-32
30
-3
-58
-58
0
-13
1
6
3
-61
-27
-39
-1
47
2
-8
-8
1
-5
12
16
23
2
-23
-15
-12
-3
0
10
-13
-81
-2
0
5
0
-66
-94
-13
1
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
46
2
-45
8
0
0
-41
11
-41
3
59
-24
0
-88
-35
24
1
34
-5
-17
13
-31
0
58
2
-43
7
-25
5
0
0
27
0
-6
5
61
-33
-9
20
29
-5
0
36
4
0
0
3
-26
0
42
61
-15
0
66
0
-1
-50
47
-8
-23
1
0
42
-17
74
17
16
-13
0
4
35
13
45
-12
0
-5
13
53
1
29
-53
-51
19
-33
-24
0
-5
-5
-10
-8
-25
22
0
0
-40
-5
-8
0
29
0
19
-42
-5
75
-5
-10
-3
0
-8
64
-22
0
-14
4
0
0
-1
4
6
-53
-56
10
-5
-4
0
3
-11
-4
29
8
-2
0
9
7
12
-8
16
-3
0
25
-34
2
-17
22
-3
15
17
-43
-1
4
31
1
0
-23
14
0
2
-25
-1
-3
-2
-15
3
-3
-1
-47
0
0
-33
0
-30
2
0
-13
-6
56
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-31
0
1
56
0
0
-15
-4
0
-15
-70
0
0
-70
-51
0
-2
34
0
0
42
-52
-1
0
3
0
0
53
-44
0
0
-5
0
-7
0
-58
0
73
0
0
0
0
-17
0
0
-3
0
1
0
1
3
-13
0
0
0
0
-60
30
1
5
0
0
2
-105
0
0
-6
0
6
-8
-99
0
10
43
0
0
5
-93
0
0
42
0
-1
0
34
-5
0
0
0
0
-12
-126
0
0
5
0
6
0
-9
0
0
8
0
5
0
-74
0
7
-8
0
-6
0
1
0
0
0
0
0
0
-6
1
0
0
0
0
0
1
0
13
4
0
0
0
-39
0
-1
2
0
0
0
-65
-1
-2
2
1
0
-2
-14
0
2
-1
2
0
6
-24
0
-8
0
0
0
0
-44
0
0
-3
0
2
0
-74
0
13
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
7
-1
-58
-4
102
-3
2
-20
-2
-12
-72
0
-42
-114
21
0
19
-13
-29
41
-5
-43
0
3
7
0
8
7
-81
0
5
-32
37
24
-4
30
-1
13
5
0
49
0
3
24
13
0
18
-29
0
5
-77
5
-20
0
0
-59
49
-10
-10
42
21
-6
20
72
7
19
26
-4
-8
-28
26
0
69
-5
-32
0
-84
-23
-6
-4
97
19
5
25
4
-4
-17
7
-9
-1
-5
22
-5
24
-45
4
-22
0
25
0
-7
3
-18
-13
0
-35
13
20
0
0
-4
0
64
-21
-4
43
-3
0
1
-52
20
75
-17
8
-2
0
12
3
72
-13
-48
3
1
-20
0
31
80
2
-5
65
75
1
3
-59
-45
-14
-35
-49
0
-71
-52
27
25
-4
-68
-2
-9
54
-77
30
-5
11
0
-2
-13
0
27
0
-53
4
27
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-5
-128
-44
-29
23
40
10
-3
-12
-29
-60
16
8
27
-35
-30
-26
-31
-55
-71
28
11
-33
-55
-3
-60
18
-71
-6
-45
-11
-32
-12
6
-31
-4
0
-12
-70
-13
-16
-13
6
-29
14
-24
-20
-33
-15
-2
27
-59
-47
-71
-43
-45
0
-56
-41
-9
-4
-27
-75
-14
-3
-86
-33
75
68
-5
-32
-40
-7
-36
-5
-117
44
-13
26
-47
18
-41
-30
-2
3
-67
-85
43
11
2
-67
-2
8
2
-19
26
-38
22
14
5
-1
9
11
-5
-15
-1
-48
-44
-5
-7
-126
12
35
18
33
-22
-110
-9
25
0
-5
-3
-51
-5
-43
-2
-32
20
27
-25
40
67
2
-45
-41
-21
-61
-34
-94
-15
-52
-84
45
-16
-1
-31
36
-16
55
-54
-83
12
-13
31
-11
-15
-5
24
6
-39
-23
-13
97
-15
15
-46
-60
-18
27
-18
9
-41
-39
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-44
0
29
41
1
0
14
43
0
4
10
0
0
13
-47
0
0
0
0
0
0
0
0
0
-1
0
0
-4
28
0
47
-1
-2
0
0
2
0
0
0
0
0
0
-51
-2
19
0
0
0
-6
-33
9
8
-2
0
0
-2
-19
-2
0
-4
0
0
5
-42
0
-4
-18
0
0
-1
22
0
-5
-4
0
0
0
-66
0
0
0
0
0
0
-4
0
0
0
-6
0
0
59
0
0
0
0
0
0
-23
0
0
-1
0
2
0
3
0
0
0
0
0
0
-22
0
-1
0
0
0
-1
8
0
4
-8
0
0
0
59
0
-1
1
-1
0
0
-5
0
0
0
0
0
0
-41
0
3
1
0
0
0
-88
0
-1
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-63
0
-3
58
10
0
-33
47
0
0
5
0
0
-7
-12
0
0
-5
-7
2
-1
-71
0
0
1
0
0
0
-44
0
41
0
2
0
0
-40
0
0
0
0
0
0
32
0
0
0
0
0
0
12
-10
0
4
0
0
0
50
0
0
2
0
0
6
8
0
0
-6
0
0
-7
14
0
0
1
1
9
-8
-26
0
0
0
8
-2
0
-19
0
0
0
0
0
0
-22
0
0
7
0
0
0
-32
0
0
0
6
0
0
-84
0
0
0
0
0
0
18
-1
4
0
0
0
0
41
0
-16
0
0
0
0
45
0
0
0
0
0
0
7
0
-13
0
0
3
0
44
0
0
0
0
0
0
34
0
-4
0
0
0
0
13
0
0
0
0
0
0
-93
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-32
16
-34
18
-14
61
4
39
50
-4
-3
-8
-1
-31
-7
6
35
17
-25
-8
-16
13
1
-1
14
-13
-24
26
8
1
-2
43
-3
32
0
60
-1
-1
-54
-2
-6
0
16
1
-24
0
-5
0
0
38
74
5
16
0
0
-10
0
37
-52
44
25
2
37
6
-9
25
98
6
15
-31
27
-8
29
35
14
-34
39
5
17
4
5
7
42
2
-12
-1
-9
-7
-16
21
36
14
0
0
-20
-14
23
-8
17
-2
9
-67
6
-13
0
25
45
-1
0
-6
32
9
35
-73
-1
6
3
-1
-83
8
-12
-24
-47
-1
-8
114
-9
67
-21
-73
-67
-5
38
-11
42
-9
24
31
5
59
21
8
43
87
9
-17
13
-28
1
64
16
7
30
-29
-3
3
-20
-49
-21
4
2
-6
4
106
-2
0
81
0
62
-3
-6
1
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
-2
58
0
0
5
25
0
0
0
0
0
-3
-5
0
0
0
0
0
0
-32
0
0
0
0
0
0
-4
0
9
-8
0
0
0
-13
0
0
0
0
0
0
67
0
0
0
0
0
0
-47
0
0
0
0
0
0
56
0
0
-4
0
0
0
20
0
0
0
0
0
0
10
0
0
0
0
0
-2
42
0
0
0
0
0
0
-28
0
0
0
0
0
0
47
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
25
0
0
0
0
0
0
-18
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
2
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
-1
0
0
0
-24
0
0
0
0
0
0
0
0
-13
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
23
0
20
4
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
42
0
0
-6
0
0
0
-7
0
-8
0
0
0
0
47
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
2
0
0
0
0
0
-43
0
0
8
0
0
0
-41
0
0
0
0
0
1
7
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-10
0
0
0
0
0
0
-30
0
0
0
0
0
0
50
0
0
0
0
0
0
76
0
0
0
0
0
0
46
0
0
0
0
0
0
-16
0
0
0
0
0
0
-10
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
46
72
5
45
21
-24
-5
44
0
0
-7
-48
23
13
0
0
-7
-39
2
-2
-12
55
0
-9
-9
27
32
0
9
0
-18
-5
0
95
0
37
-22
-55
0
33
6
9
27
37
9
-11
1
0
-25
-20
-10
-42
-53
-35
0
39
17
1
9
-55
1
-1
-61
13
17
3
24
48
2
79
-25
25
68
-6
-3
12
-17
-45
-5
58
-10
73
-5
-7
16
0
-8
-58
-6
128
0
43
13
31
73
-63
-80
0
13
0
-8
2
0
0
0
10
-18
56
2
-1
0
-4
31
4
-13
91
9
0
5
-13
-5
-24
-54
67
0
42
-45
2
-38
-20
-23
14
-8
-1
2
-5
-24
6
-1
4
29
-4
-54
-12
5
-8
-2
40
7
-44
-32
30
-9
0
-7
42
-5
27
5
29
0
-13
-38
10
0
-2
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
54
8
-79
5
41
-53
39
1
-16
54
-44
-12
-6
-11
-4
-2
-38
-2
10
-95
30
0
-75
12
7
-3
-13
-69
3
0
56
2
-22
0
-34
-72
21
0
-42
-9
19
8
-24
9
-8
-6
6
-65
20
-5
113
13
-18
79
-100
0
-93
-48
-34
6
24
-31
-27
10
28
-34
-88
-53
-19
-8
0
-17
24
49
37
27
-43
-8
-48
-57
63
-8
-12
-44
-4
29
-55
-6
31
1
-3
2
5
6
-82
39
0
-3
35
0
8
19
-5
-5
5
-16
50
-15
-5
0
-27
-54
-1
6
20
19
8
-28
0
16
-20
-8
49
1
34
-44
10
-85
37
-17
5
-25
101
12
-120
-68
-59
21
44
-10
3
116
28
-18
41
-20
-19
0
6
6
-41
4
-9
22
3
-17
-8
-1
21
1
-68
-19
-34
-18
-3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
116
0
0
-5
0
0
-7
50
0
0
0
0
0
-1
-48
0
0
-5
0
0
0
-7
0
-34
0
2
0
0
-60
0
0
0
0
0
0
-29
-3
0
0
0
0
0
98
0
0
-2
0
0
0
66
0
1
2
0
0
1
27
0
0
5
0
0
0
-16
0
0
-1
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
-65
0
0
0
0
0
0
-27
7
-2
13
0
0
0
-5
0
0
0
0
0
1
-26
0
8
0
0
0
0
-5
0
0
0
0
0
0
-3
0
1
0
0
0
0
30
0
-1
3
0
0
0
33
0
0
0
0
0
0
-75
0
-6
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-2
-27
-33
-33
-8
5
35
-12
22
-9
16
-14
-3
39
14
0
1
69
6
-20
-2
-12
0
-41
-56
16
-14
12
-14
7
5
8
-1
11
-2
45
-5
-101
0
9
1
2
48
10
0
69
-2
-1
-79
-41
-105
-50
-31
22
-69
2
-18
5
-37
-4
-3
-6
25
5
-31
62
-17
-5
-69
-23
29
10
-30
12
-9
26
83
15
1
-54
-13
-25
28
-37
-12
0
-13
-42
-1
47
-4
-12
-2
10
13
-21
-49
0
17
13
-7
-12
0
27
3
36
-17
-30
51
-2
0
-13
-10
-47
23
-18
1
50
-11
-43
70
18
76
-20
25
9
-9
7
26
39
-14
-6
-19
14
18
28
-32
17
8
31
31
2
4
-113
16
-13
-21
1
0
-13
-13
3
5
-10
-37
-2
38
18
0
4
0
-19
-45
5
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
-5
13
0
46
56
-26
7
-4
9
22
-64
-10
-15
7
-5
33
16
61
53
8
7
-10
0
38
-4
26
-7
-15
-24
0
10
0
18
-1
11
49
55
-3
-69
-22
-33
45
-83
4
-8
-1
0
-11
14
25
-66
59
-106
5
14
0
51
63
-55
12
-2
3
-7
-3
49
43
50
28
-21
5
43
40
-53
48
5
17
4
2
84
3
22
39
36
17
14
2
-38
-3
-33
5
10
14
-13
-74
14
13
0
5
17
-5
15
0
36
-12
34
-63
21
-5
-1
0
14
38
-17
-104
-1
1
-6
63
-10
14
40
69
11
-13
-40
-30
0
-73
63
-56
-32
60
-35
-23
-11
16
-23
-58
5
9
8
33
142
-31
-68
14
8
-20
15
38
-8
39
-12
23
-1
-35
25
0
13
0
47
32
-5
15
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
2
0
20
0
0
-35
-51
0
0
-52
0
-1
-47
-23
0
8
52
0
-4
4
-43
0
-10
1
0
-13
0
25
0
-6
0
0
-53
0
-7
-5
-6
0
0
0
1
18
-33
-1
-10
0
0
56
13
-3
-1
-19
0
0
21
-12
0
0
-17
0
0
-82
-34
0
8
-8
0
-1
-37
3
0
2
8
0
-6
-5
-40
-1
0
-8
4
25
23
-31
0
0
-3
0
50
0
-38
0
-5
17
0
15
0
7
-1
0
0
0
-6
0
16
0
4
0
0
0
13
15
0
-10
14
0
0
-12
-51
0
-7
-25
0
0
47
-7
2
-2
-20
0
0
27
-56
0
7
13
-2
4
-5
-6
0
-35
-4
0
1
0
23
0
0
26
0
23
0
-7
0
95
-14
0
1
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-1
0
0
1
0
0
-2
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
-8
0
0
0
0
-9
0
0
0
0
0
0
-45
0
0
0
0
0
0
7
0
0
-5
0
0
0
40
-4
-3
-5
6
0
2
-139
0
0
2
0
0
0
20
0
0
3
0
0
6
-54
0
0
0
0
0
0
-23
0
0
0
2
0
0
16
0
0
0
0
0
0
17
0
0
0
0
0
0
-47
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
2
0
0
0
20
0
0
1
0
0
0
-19
0
0
0
0
0
-8
29
0
0
0
0
0
0
50
0
1
8
0
0
0
4
0
0
2
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
21
-16
3
17
-23
-2
7
-1
3
-38
-64
-27
13
-2
1
-1
-12
-18
0
-1
-60
1
-14
-2
0
-15
0
13
-28
4
0
-15
-25
-14
31
-80
-5
49
-1
0
5
18
-20
-31
-8
50
-4
-91
6
-41
-7
12
0
-43
-56
16
23
-40
14
-13
1
-1
20
-5
1
5
13
30
10
52
-2
-66
-32
11
47
3
3
-7
22
55
-4
-25
0
9
8
69
49
-3
18
0
6
3
21
-1
8
-41
3
43
-24
48
56
-27
-1
71
22
-3
-103
40
22
2
0
42
1
-4
-13
15
-31
21
6
49
-53
-63
-2
-4
14
-10
5
-25
74
-49
33
35
-14
25
-42
3
1
5
27
-13
13
27
11
-31
69
-6
-16
-6
-9
-11
0
-55
0
-31
35
-6
37
-56
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
21
-27
-5
-1
27
70
47
-17
-3
-4
-16
-18
-114
-36
8
0
22
72
-61
-85
-76
-44
24
-5
41
1
10
2
-8
-28
-73
-5
71
0
-2
11
-21
46
-13
39
-16
5
-13
46
-51
-14
5
-4
21
17
-16
11
-7
1
-14
38
0
21
70
-14
-18
-46
-48
-8
-8
-21
5
-32
-5
-58
9
1
-3
-21
-26
-15
47
-15
-16
-32
25
-9
-52
13
30
-8
-2
-51
15
-40
0
22
-33
-8
10
3
-103
31
45
-40
0
-7
32
-39
86
-4
-22
17
-47
-18
-10
57
31
43
11
12
-43
13
-1
0
7
-33
28
46
-13
0
43
8
-66
42
-37
30
-26
-16
-9
-61
-12
-16
-67
2
14
16
-41
36
-17
-91
5
14
6
-33
-125
41
62
0
-24
-15
-2
-3
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
-9
0
0
-1
0
0
0
-8
0
1
0
0
0
0
-3
0
0
0
0
0
0
23
-5
0
0
0
0
0
103
2
0
-4
0
0
0
-85
0
1
7
0
0
-1
-60
0
0
0
0
0
-2
-44
0
0
20
0
0
0
53
0
0
1
0
0
0
6
0
0
-4
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
-8
0
0
0
0
0
0
-27
0
-1
0
0
0
0
66
0
-5
-1
0
0
0
-21
0
0
0
0
0
0
13
0
1
0
0
0
0
32
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
1
0
0
0
0
17
0
-5
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
-19
0
0
17
-42
0
0
0
0
0
0
1
0
-4
0
0
0
0
9
0
0
0
0
0
0
-139
-13
0
0
0
0
0
92
0
0
0
0
0
0
-42
0
1
8
0
0
-5
-49
0
0
-27
0
0
0
115
0
0
0
0
0
0
66
0
0
-3
0
0
0
14
0
0
0
1
0
0
-75
0
0
0
0
0
0
77
0
0
0
0
-2
0
77
0
0
0
0
0
0
-42
0
0
5
0
0
0
-41
0
-1
0
0
0
0
20
0
0
0
-1
0
-4
-6
0
-1
0
0
0
3
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
51
0
0
0
0
0
0
-70
0
-3
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
15
1
-3
-56
-25
16
57
-5
0
0
-10
1
7
46
48
0
-24
-7
89
-18
4
-56
0
0
-13
0
10
0
50
13
-5
0
-9
-16
-14
41
-39
-4
1
0
0
24
14
-3
-21
23
10
-32
-115
4
-1
-35
-30
0
-3
-15
4
-3
-7
-27
76
0
29
19
2
-24
31
0
-6
31
-4
0
85
-84
-26
45
-43
-2
0
-22
-3
4
20
1
-1
10
0
-1
-49
-31
0
16
14
0
0
0
1
0
-47
-1
6
8
4
-1
57
54
-5
20
7
-4
0
-12
53
-13
-45
-24
10
0
-3
-58
0
-97
-19
-2
0
2
-25
9
-9
-19
15
0
83
18
0
6
20
1
-2
-5
5
-2
3
-2
76
2
0
-28
-5
25
-2
2
-3
0
74
-25
13
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
0
0
-14
0
0
-3
48
0
0
0
0
0
0
55
0
-2
0
0
0
0
-18
0
0
0
0
0
0
-102
0
0
0
0
0
0
-85
0
0
0
0
0
-1
24
0
0
1
0
0
-5
-29
0
0
1
0
0
0
24
0
0
-1
0
0
0
-21
0
0
0
0
0
-6
13
0
0
0
0
0
0
-4
0
-1
0
0
5
0
12
0
0
0
0
-4
0
42
0
0
0
0
0
0
-29
0
0
0
0
0
0
-4
0
0
9
0
0
0
-59
0
0
0
0
0
0
12
0
0
0
0
0
0
24
0
-5
0
0
0
0
-5
0
-8
7
0
0
-2
5
0
0
16
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-57
0
0
1
0
0
0
43
0
0
-1
0
0
0
-18
0
8
2
-3
0
0
-49
0
0
0
0
0
0
34
0
0
0
0
0
0
-75
2
0
13
0
0
4
-28
0
0
6
0
0
-14
-54
0
0
-50
0
0
49
-29
0
0
-5
0
0
0
20
0
0
-19
0
0
0
-7
0
0
-15
0
0
0
-41
0
0
-3
0
0
0
9
0
0
0
1
0
0
-72
0
0
0
0
0
0
-14
2
0
1
0
0
0
15
0
-25
2
0
0
2
5
0
0
0
0
0
0
27
0
-3
-1
0
0
2
-38
0
0
-1
0
0
0
-18
0
2
0
0
0
0
-17
0
0
0
0
0
0
-7
0
-1
4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
0
0
-23
0
-23
0
-74
0
-5
74
-28
1
0
-19
0
0
0
0
30
0
65
40
0
0
0
-1
0
-15
36
0
35
0
0
-33
51
-5
23
-27
-1
-1
-20
13
25
2
-55
0
-4
4
-17
-6
3
42
77
0
5
28
2
-2
-5
0
0
8
-21
0
54
-23
-53
0
0
-9
0
2
-5
0
5
0
38
0
0
-8
-17
72
0
11
-1
0
-1
-7
-1
0
14
28
0
-25
0
0
0
31
2
-2
-18
0
0
0
13
0
-30
-57
5
7
0
17
2
-40
25
0
-7
0
1
0
34
-42
-25
2
0
-3
0
-22
-7
0
0
4
-86
0
-4
19
4
0
0
26
0
22
0
0
-13
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-24
1
-5
-20
9
-63
48
-6
-2
-22
-5
17
-14
8
7
0
-1
36
0
-86
0
-22
-31
-36
1
-9
-4
5
0
53
10
-68
2
6
-42
-56
-60
-103
-26
-19
121
-28
-29
-42
0
-66
35
-14
78
-7
13
68
61
-39
-75
-20
0
-19
96
0
8
86
-30
11
-4
-19
-27
-16
-18
-22
0
0
7
-30
-7
-35
-6
43
-3
24
-34
-44
30
0
23
13
-2
6
-5
42
-14
-20
-26
51
21
-7
5
-8
44
31
-19
50
-13
-20
-16
-51
9
39
5
-4
0
88
18
-2
20
-25
10
-21
53
0
12
-95
-51
40
-1
7
-34
-5
-45
12
12
22
42
-5
-6
49
-16
-68
26
8
-21
9
51
-30
9
-32
0
-9
-56
5
-12
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
6
0
0
0
0
-8
0
0
0
0
0
0
-55
0
0
0
0
0
0
13
0
0
3
0
0
0
12
0
0
-4
0
0
0
33
0
0
16
0
0
0
-20
0
0
9
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
29
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
-1
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
1
0
0
0
35
0
-1
0
-2
-2
0
-5
0
0
0
0
0
0
12
-1
0
0
0
0
0
36
5
0
-4
0
0
-1
41
-1
0
69
-3
0
0
-51
0
0
0
0
0
1
-3
0
-1
0
0
0
0
-119
0
0
0
0
0
0
1
0
0
0
-2
0
0
-36
0
0
-2
0
0
0
70
0
0
0
0
0
0
-11
0
0
0
0
25
0
45
-4
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
0
0
-4
-29
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
24
0
-2
-3
2
-1
3
18
0
10
-4
0
-4
-1
-2
-3
0
0
0
62
0
3
-12
23
0
-8
0
-17
0
-18
9
33
0
0
-19
15
-17
-22
30
-47
-1
2
-14
-4
14
-17
14
-4
-22
-12
0
7
12
-50
3
14
-2
1
-5
-1
5
0
3
26
0
6
-16
10
13
-6
13
0
2
0
1
-57
0
10
0
-2
0
26
15
0
-13
0
0
0
-3
2
0
-35
-20
0
24
4
0
4
74
-3
5
21
0
6
0
-30
0
-17
-43
-5
-3
25
-66
0
13
16
0
7
-5
-4
0
-44
-16
-65
0
-1
10
-2
-26
-13
4
-6
0
-8
0
-1
2
-14
46
0
18
-1
74
-4
-3
23
0
39
46
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
26
0
6
-28
0
0
0
-46
0
-32
-28
0
2
0
-35
0
0
0
0
-1
0
-36
-37
0
0
0
0
5
25
-4
0
-6
0
0
3
-23
0
0
10
0
5
-22
10
0
1
-29
0
0
5
-46
0
0
68
8
0
-50
5
0
0
-19
0
5
6
-14
0
0
-3
4
20
0
7
0
0
7
0
-33
0
-82
0
0
69
0
49
0
-27
0
0
0
0
0
0
23
1
0
-5
0
0
-4
-16
0
-19
44
0
0
1
-1
0
6
-20
0
0
0
21
0
1
-2
0
0
0
-5
0
21
-10
0
0
3
30
0
31
41
-1
0
0
23
0
0
-5
0
0
0
8
0
78
0
0
6
0
-36
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
3
0
-8
0
2
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-61
-6
0
0
0
0
2
42
0
0
10
2
0
0
1
0
0
-5
0
0
5
-80
0
0
-8
0
0
0
4
0
0
0
0
0
9
5
0
3
0
0
0
0
-8
0
0
-3
0
0
0
24
0
0
0
7
0
0
47
0
0
0
0
0
0
5
0
0
0
0
0
0
-27
0
0
0
0
0
0
9
0
0
-3
0
0
1
-41
0
-7
8
0
0
0
24
0
0
1
0
0
0
-14
0
7
0
0
0
0
-3
0
0
0
6
0
0
-43
0
4
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
43
1
23
-1
0
-54
0
0
0
0
1
0
-40
3
-1
0
5
0
0
-57
-2
0
20
0
0
-4
7
-5
0
38
-42
-5
-22
23
0
0
1
0
0
1
-25
0
-7
31
3
-9
0
2
0
6
-102
0
0
0
6
0
0
-7
-52
2
0
-24
0
0
44
-7
1
0
94
-2
0
0
-18
-52
0
-31
0
0
0
0
0
0
-68
3
0
0
0
0
6
-33
0
-43
-41
0
0
0
54
9
16
15
-5
0
0
84
0
-31
7
0
0
0
-52
0
0
-17
43
0
0
6
0
-69
-14
-3
0
0
-12
0
3
15
-2
0
0
20
0
-10
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-21
-30
-5
-28
51
-13
-56
-51
15
-8
-30
-1
-20
2
-11
-9
-50
-3
-42
-38
48
12
24
-17
-10
-3
1
-7
-3
-33
-13
14
-39
50
-48
3
49
18
25
-7
-44
19
4
-89
20
-17
-67
38
-78
6
-13
-25
26
-115
70
-119
0
-42
3
26
-23
-88
25
-14
-18
-45
64
-13
23
38
10
57
-42
-15
-34
1
-1
0
10
5
13
-7
-31
-57
-24
-82
-49
-49
-23
4
-31
18
7
81
45
-1
49
-54
-8
-8
-79
4
-16
-21
-7
32
-27
52
34
69
-58
-20
-9
8
-9
40
4
-23
-20
0
33
27
-14
25
-24
5
-26
8
-28
-54
26
9
-6
-8
45
-61
-6
-3
31
-8
22
-59
-57
-5
7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
-1
0
0
0
-5
0
-1
1
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
14
0
0
0
0
0
0
-51
0
0
0
0
0
0
-104
0
0
0
0
0
0
-1
0
0
5
0
0
-1
-14
0
0
-1
0
0
0
9
0
0
-5
6
0
0
-4
0
0
0
0
0
0
-30
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
-3
0
0
0
-6
0
0
4
0
0
0
-2
0
0
0
0
0
1
-5
0
0
0
0
0
0
-3
0
1
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
40
0
5
0
3
30
0
31
0
-6
0
5
-42
0
-10
-75
2
0
1
0
0
-24
-10
0
-13
0
0
6
24
-10
-3
53
-7
0
30
-45
3
-5
-90
0
9
-25
6
10
5
-33
19
0
54
1
0
-5
46
-5
0
-8
4
0
0
7
16
8
-17
-5
0
0
5
6
71
0
31
0
0
0
1
-30
0
-45
-1
0
0
0
0
0
-19
7
8
0
0
0
-9
4
0
-7
-5
1
0
-8
-65
0
-9
-1
-3
0
-1
5
0
-27
-4
0
9
2
-14
0
43
1
-59
2
9
-4
0
26
-10
0
-4
0
11
0
-6
0
-2
1
0
8
0
-83
1
0
-1
0
-22
28
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-16
0
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
0
0
0
-13
0
0
0
0
0
0
7
0
0
-17
0
0
2
-18
0
0
0
0
0
0
-9
0
0
3
0
0
6
-12
0
0
0
0
0
0
48
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-67
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
-2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
31
0
-19
-1
-1
0
0
-45
0
3
-3
0
0
0
-58
-2
0
0
0
0
0
20
1
0
2
0
0
2
-21
0
2
17
0
0
6
11
0
0
0
0
0
-4
39
0
0
-19
0
0
6
23
0
0
-9
3
0
4
-50
0
0
7
17
0
0
18
0
0
2
0
0
0
-42
0
0
-5
-3
0
0
-9
0
0
0
0
0
0
23
0
0
-9
0
0
0
-12
0
0
-2
0
0
0
31
0
0
8
0
0
3
17
0
-2
0
0
0
0
0
0
4
-3
0
0
-1
14
0
-46
23
0
0
0
56
0
0
-24
0
0
0
-13
0
-1
0
0
0
0
49
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
-6
0
0
0
40
0
0
0
0
0
-1
37
1
0
0
0
0
-4
-24
0
-1
8
-5
0
0
2
-4
0
-13
0
0
-1
42
0
3
4
-3
0
0
-5
0
1
35
0
-2
0
-3
0
0
1
0
0
0
-84
0
0
0
0
0
0
-40
0
0
1
0
0
0
-11
0
0
0
0
0
0
-57
2
0
0
0
0
0
-7
0
14
0
0
0
0
35
0
0
1
0
0
0
57
0
-4
0
0
0
0
-7
0
-1
3
0
0
0
37
0
0
2
0
0
0
-131
0
0
0
6
0
0
-4
0
-4
0
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
-4
-1
-4
-7
-58
0
-10
-52
6
-1
14
0
5
0
7
0
-58
8
2
49
-5
48
41
-47
22
71
26
-15
-8
-13
-26
0
-4
34
38
-21
8
-5
-9
-58
30
-3
12
-31
-21
4
44
-10
-17
-1
75
54
-28
-51
-2
0
1
41
-49
0
66
-1
21
-3
1
0
-21
28
0
-37
-5
0
6
4
41
-6
50
57
31
-18
15
0
-60
-18
-8
29
-94
5
-2
-12
8
14
13
-100
37
0
-57
5
-10
-42
4
0
5
-69
-3
-8
-13
-31
40
2
-16
13
3
32
30
15
5
-3
0
0
-3
-39
5
-1
0
5
-1
53
-4
-4
5
0
-40
-2
28
1
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-51
0
0
0
0
0
0
-6
0
0
-2
0
0
-2
35
0
0
0
0
0
0
-16
0
0
0
0
0
0
-42
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-18
2
0
36
-5
-15
3
9
-106
0
0
-19
0
23
-26
49
0
-2
-7
1
22
3
-49
-31
-16
-42
-61
26
10
32
71
57
-10
-14
23
-6
20
-15
10
-48
-59
-78
4
3
-25
6
29
-32
-67
-8
-1
-15
29
33
-25
79
6
2
15
-17
27
-15
-13
-11
-5
-2
56
-66
-8
0
23
25
3
0
-3
3
3
-31
-28
4
7
-25
0
-50
-12
42
-14
1
18
-3
-45
-34
35
-17
68
-36
-7
-41
22
0
-41
-20
9
-7
9
-59
2
7
-17
-19
3
-19
25
-1
12
-1
-7
9
-8
20
3
29
25
67
-6
-10
18
37
20
-54
13
13
0
-12
21
-66
-12
7
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
37
0
0
0
0
8
0
-23
43
-8
0
0
0
0
-37
-19
0
0
0
0
4
30
-1
0
-28
5
0
13
-5
0
0
12
0
0
3
41
0
9
-13
-2
0
-5
-57
0
-2
-3
-1
0
5
-11
0
0
7
-15
-3
1
4
0
0
0
9
9
0
13
0
-5
0
6
23
0
-13
0
0
0
0
0
0
-60
0
-1
3
0
0
0
17
0
-8
5
0
0
3
17
0
0
31
-2
0
-4
-37
0
-16
13
0
0
-6
2
0
0
0
-1
-3
0
-32
0
-5
-1
0
0
0
19
0
9
0
0
0
0
28
0
7
0
0
0
0
19
-15
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
1
0
15
-36
2
0
0
0
7
16
10
1
-11
0
0
23
-13
-3
-4
4
0
2
38
-4
0
0
77
0
4
36
-36
0
-7
12
0
4
24
-28
0
0
61
0
8
19
-17
0
0
-6
0
-5
0
7
0
0
26
0
-5
0
-28
0
0
5
0
-18
0
-2
0
0
0
0
0
0
-60
9
0
2
0
0
-2
-27
0
-11
9
0
0
-5
26
0
6
-13
6
0
-5
-29
0
26
-39
0
0
14
-24
0
-4
3
4
4
0
17
0
-4
5
0
0
0
-49
0
0
-2
0
0
0
10
0
-3
0
0
1
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-29
1
0
0
5
0
0
23
0
0
-1
0
0
-5
17
0
0
5
2
0
-25
14
1
2
-6
0
0
1
52
0
0
-13
0
0
-2
-5
0
0
-12
0
0
-14
21
0
-1
0
-2
0
0
-50
0
0
7
0
0
0
-48
0
0
0
4
0
0
-8
0
0
0
0
0
0
-37
0
0
0
0
0
0
6
0
-6
-2
0
0
-2
-53
-8
0
1
0
0
1
-49
0
-4
0
0
0
0
2
0
1
0
0
0
0
63
0
1
14
0
0
1
40
0
0
3
-3
0
0
-48
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-34
0
0
0
0
0
0
14
0
0
10
0
0
0
27
0
0
5
0
0
0
-7
0
5
12
0
0
0
49
0
0
-2
0
0
0
-13
0
0
-8
0
0
0
-28
0
3
0
0
0
0
-34
0
0
0
0
0
0
-60
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
-2
0
0
0
0
5
0
0
0
0
0
0
58
0
2
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
-1
0
0
0
1
0
0
0
0
0
0
39
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-12
-52
-2
48
0
2
-14
-63
-30
-48
8
24
-21
-23
-17
-30
-8
-3
-26
-12
4
100
-35
-34
7
20
-34
0
31
-4
0
66
-26
-43
15
44
-8
-56
25
-34
66
-14
3
-66
-25
68
26
-69
-22
4
22
68
25
-41
15
0
-20
-2
-58
53
-63
0
2
15
-5
0
0
-17
0
9
-10
12
7
-8
4
-68
-18
53
39
-41
21
24
111
50
0
-19
-100
2
10
-58
-3
-32
-14
14
-4
13
-30
22
5
-20
5
-44
-30
-20
21
10
-1
-20
-37
9
-6
-1
1
0
27
8
4
-12
0
0
123
21
9
8
0
33
-4
-10
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
-3
0
0
0
-5
0
0
-1
0
0
0
-16
0
0
0
0
0
6
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-42
0
0
0
0
0
0
17
-6
0
15
0
0
0
-68
0
0
0
0
0
-10
13
0
0
-5
0
0
6
2
0
0
0
0
0
6
-2
0
0
1
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
3
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-9
0
0
0
0
-50
0
0
0
0
0
0
-12
0
0
44
0
0
5
-7
0
-5
-3
0
0
0
13
0
0
-2
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
-43
0
0
0
0
0
0
9
0
0
0
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
12
0
0
0
0
31
0
0
0
0
0
0
53
0
0
0
3
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
37
0
0
0
0
0
0
-32
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-8
0
0
0
0
0
1
2
0
0
-3
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-31
-10
0
0
0
-10
-25
6
0
5
0
0
-5
-6
0
0
-53
-21
0
-7
37
0
-3
13
0
0
22
-30
0
0
33
5
0
53
-42
1
0
52
0
0
-6
-35
0
0
-4
12
0
0
50
0
0
6
0
0
0
-82
7
0
-5
-1
0
0
-42
0
0
0
0
0
0
-2
-2
0
-6
0
0
0
-32
2
24
1
0
0
3
-52
0
-4
15
-1
0
3
-67
0
12
-1
0
0
0
15
0
0
4
0
0
2
33
0
-70
-9
0
0
0
-44
0
14
-12
8
0
0
-26
0
-2
0
0
0
0
-71
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-9
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
18
21
58
-18
-17
-10
-6
-3
35
22
46
-13
131
56
-14
11
-31
29
-58
-49
-5
3
62
22
24
31
68
-6
-8
16
17
-2
-39
-52
37
-20
-17
59
37
-27
-90
-47
-13
-23
43
-56
4
-41
-23
-26
-12
-15
-46
14
-45
-23
0
20
-77
5
-28
34
-45
31
30
31
-11
-12
-19
40
6
0
-33
-17
8
-13
-15
-39
11
-26
2
15
-62
-32
-3
-27
-22
58
50
19
-27
10
-18
-124
1
47
-66
76
10
49
-3
3
-3
28
-6
8
-7
29
10
-1
-14
-43
-3
-10
-46
-4
0
-1
-12
0
5
-56
-20
30
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
-1
0
-25
0
0
-25
-35
0
0
13
22
-4
9
-19
0
-2
-64
0
0
-52
-20
0
17
31
15
1
-34
0
0
1
31
-1
3
-8
19
1
0
73
-25
59
3
30
0
-2
5
0
-24
0
-12
0
0
14
9
-49
0
-24
0
0
0
0
2
0
-16
7
0
-3
0
0
1
49
1
24
-24
0
-5
-14
-25
-5
2
-44
-13
0
-24
-4
0
-14
-55
0
0
-3
34
0
-25
13
35
-1
7
-41
-6
46
-7
0
-3
-3
24
1
0
29
-2
-1
0
-37
0
-62
0
0
3
0
24
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
39
6
0
0
0
17
18
-3
0
28
8
0
-1
-56
3
0
-37
0
0
-10
-79
0
0
-30
-12
1
24
-21
0
0
-15
0
0
-3
-50
0
-2
-5
-9
-3
-1
-27
0
0
-1
0
64
0
71
0
-1
0
0
-66
0
-14
0
0
0
0
0
0
3
21
3
0
-1
0
0
34
-4
22
2
0
0
0
0
0
0
13
0
0
-3
-53
0
5
-8
0
0
0
-26
0
2
-12
-1
0
0
-42
0
-4
0
0
0
2
-24
0
0
0
-8
0
0
-69
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-1
0
0
0
0
5
26
0
0
6
0
0
-7
64
0
0
-1
0
-1
5
-23
0
0
-45
0
0
-1
-62
0
0
1
0
5
4
-62
0
0
0
0
0
0
66
0
0
0
0
18
0
3
0
0
0
0
-3
0
-8
0
0
0
0
0
0
16
0
0
0
0
0
1
28
0
2
-3
0
0
0
-13
0
0
0
0
0
0
31
0
4
-7
0
0
0
-43
0
4
0
0
0
0
45
0
-14
0
0
0
0
-25
0
-1
0
0
0
0
-19
0
-3
0
0
5
0
-36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-57
0
0
3
0
0
0
31
0
0
3
0
0
0
-73
0
0
-4
0
0
0
-37
0
0
0
0
0
0
14
0
0
0
0
0
0
-41
0
0
0
0
0
0
25
0
0
-1
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-11
0
1
0
0
0
0
-1
0
0
0
0
0
0
13
0
-12
0
0
0
0
-4
0
0
0
0
0
0
-48
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
0
-10
-1
0
0
1
-36
0
-3
0
0
0
0
-57
0
1
-3
0
0
2
31
0
0
-3
0
0
0
-50
0
0
34
-23
0
0
-164
0
0
0
0
6
0
46
0
0
0
0
-5
0
-49
0
0
0
0
0
0
-60
0
-3
1
0
0
0
-28
0
10
0
0
0
0
30
0
0
2
-1
0
1
33
0
8
0
0
0
0
-1
1
-2
0
0
0
0
4
0
1
0
0
0
0
8
0
0
0
5
0
0
-1
0
8
4
0
10
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
74
53
34
-32
-71
-9
11
30
112
61
-102
-22
31
9
18
-14
43
-25
-54
-10
-5
41
42
38
-53
-6
5
19
-15
-85
18
1
0
-16
-1
-4
-124
-68
-51
-29
38
8
-14
13
-92
-27
-45
4
29
-77
-35
44
-13
-21
4
0
34
81
-18
2
16
13
5
-59
80
-18
-9
74
-31
56
24
75
-21
-26
5
66
5
6
-15
23
30
-25
-112
-22
17
66
9
-53
-30
15
-15
0
26
-2
2
-67
9
-9
1
53
-25
24
-59
20
1
4
22
63
-20
-54
48
-12
-8
-23
-25
-45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-3
-3
-25
-28
-25
0
-5
12
0
2
-38
0
0
-24
13
0
27
49
7
-8
-3
-25
1
0
10
0
0
-25
62
0
-1
5
-4
1
-5
-74
0
0
42
0
8
0
85
-5
0
0
4
16
0
18
0
0
0
0
0
0
61
5
3
5
-4
0
-2
-133
0
94
10
-3
0
-5
-36
-2
1
-8
1
0
3
-34
6
-22
-30
0
0
0
-140
0
-49
-13
0
-1
0
-46
0
-29
0
0
0
0
81
0
0
-4
31
0
0
-47
-5
5
0
0
-6
0
-6
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
1
-3
10
0
0
-49
0
0
0
0
0
0
6
0
0
0
-8
0
0
-83
0
0
-3
0
0
0
23
0
0
-1
-5
0
0
-39
0
0
0
0
0
0
21
0
0
0
0
0
0
-27
0
0
0
0
0
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-1
0
0
0
0
5
0
0
0
0
0
0
6
0
1
0
0
0
0
-10
0
0
0
0
0
0
-25
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-50
6
6
5
-59
4
-4
49
3
-4
3
0
-2
78
15
-7
0
49
-13
-7
13
-79
0
0
67
-1
0
-1
29
0
7
31
35
0
0
6
0
0
5
0
16
0
4
-1
0
0
90
3
0
6
0
5
0
0
0
0
1
31
0
-2
0
0
0
-42
-6
0
5
0
0
0
-33
0
-5
-2
0
0
-19
131
0
4
46
1
-5
7
-19
0
0
-6
-1
0
2
28
0
-20
-5
0
0
4
25
0
-2
0
-2
1
0
59
-1
-26
0
0
7
0
-13
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
-1
-23
0
0
5
0
0
0
2
0
0
0
0
0
0
-2
0
0
-5
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
-3
0
0
1
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
-33
0
0
0
0
0
0
-17
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
-2
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-43
0
4
66
0
0
10
-11
0
9
-89
-13
5
-4
8
0
0
14
1
0
-5
40
0
-2
85
-61
0
0
-23
2
0
-4
2
-6
0
40
0
-1
0
-42
-5
0
24
0
0
0
0
7
0
34
-10
-1
0
0
0
-3
2
2
-76
22
0
0
-8
3
0
-12
8
1
7
3
2
0
-31
42
0
0
7
-51
0
-6
18
24
0
0
-129
-1
4
27
-1
0
5
2
1
47
-3
5
0
0
-76
0
2
0
0
-1
0
13
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
37
-69
-43
-15
-2
11
6
13
14
-3
-32
39
-44
72
-8
33
-4
-10
-88
27
-26
1
-8
-71
26
66
-6
56
18
15
-62
38
2
-29
37
22
-25
-13
-29
-23
14
2
0
-19
23
-3
-2
-1
1
-5
-30
-20
94
-4
-3
-63
0
3
9
-7
59
52
39
2
7
59
20
-27
-71
-36
-1
-75
26
-43
-113
7
34
-26
14
71
12
5
-20
-72
3
21
-12
-8
9
52
-35
-6
3
-40
51
8
34
1
-25
12
-66
-25
5
-21
3
22
-60
-13
-25
-22
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-54
0
-1
-13
0
0
31
-21
0
1
61
9
0
-15
22
0
0
31
3
0
-1
-16
0
0
-1
6
0
0
-40
0
0
0
0
4
0
38
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
3
4
-6
0
0
3
6
3
34
-4
0
0
0
-29
0
0
-5
0
4
0
4
0
1
-2
0
0
1
-87
0
0
-2
22
5
0
22
0
-31
0
0
0
0
-25
0
0
0
0
0
0
16
0
-5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
22
-1
0
-24
0
0
24
6
0
0
19
5
0
-3
9
0
0
13
0
0
0
16
0
3
6
6
0
0
-48
0
1
0
0
0
0
-14
0
0
-3
7
2
0
6
0
0
0
4
0
4
59
7
2
2
0
0
0
-45
0
-26
4
0
0
0
49
-1
0
0
0
0
0
-20
0
-7
-6
0
0
-4
75
0
20
-24
3
0
0
49
0
2
-2
0
0
0
-68
0
0
-7
0
0
0
-13
0
-3
0
0
0
0
-31
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
43
-5
31
-82
2
31
-10
-7
0
21
52
72
-1
16
19
-44
-6
8
19
-5
26
-16
0
17
-42
-120
-1
31
-23
-1
10
43
-1
8
-1
29
0
-2
-27
10
-65
0
30
4
-7
0
-1
6
0
-4
25
0
1
1
2
-25
11
60
47
10
-1
-3
-22
59
0
-58
31
-14
2
24
12
6
60
59
39
-8
-2
5
-1
12
-28
53
5
14
58
-9
-26
31
0
-8
30
30
5
5
-43
69
14
-1
18
0
-81
19
0
-41
0
33
76
-25
4
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-2
0
6
0
0
-25
-27
4
19
20
0
-2
-35
-32
0
0
-18
0
4
6
-68
7
10
5
-1
-5
5
19
0
0
-1
-2
-21
0
23
0
0
0
0
-64
0
11
0
0
0
0
1
0
-4
-4
-3
0
0
0
-6
22
7
39
-21
0
0
8
-49
0
-5
-15
0
0
-24
-13
-6
31
-18
0
0
0
-57
0
-5
2
-4
0
7
20
-7
-21
-9
0
-1
10
-87
0
0
5
0
8
0
-32
0
9
-2
0
-7
0
49
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
6
0
0
0
-33
0
0
-3
0
0
0
-102
0
0
13
0
0
2
5
0
0
0
0
0
0
-25
0
0
0
0
0
0
84
0
0
0
0
0
0
-84
0
0
0
0
0
0
-32
0
0
0
0
0
0
-30
0
0
0
0
0
0
-87
0
0
3
0
0
0
-5
0
5
-5
0
0
0
42
0
1
0
0
0
0
89
0
0
0
0
0
0
9
0
0
0
0
0
0
27
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
26
0
0
66
-41
5
-13
-12
0
6
39
-6
0
0
-32
0
2
-1
63
0
9
38
0
0
-44
0
-8
0
-5
0
-13
7
115
-12
0
-4
0
-2
0
4
0
-3
15
63
1
1
-7
0
1
-64
2
8
24
0
0
-3
58
0
-16
48
-36
0
8
-14
-1
-48
-37
25
1
0
-4
0
-3
-67
-4
0
-3
-21
0
-43
-18
1
0
-3
7
0
-1
-19
-12
-8
0
-18
-3
-31
0
0
6
0
-66
-3
6
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-65
18
-30
-23
30
-5
18
-10
-32
54
-11
-94
-15
1
-3
25
-1
29
1
-48
21
25
-64
34
-33
-41
-45
-12
41
-41
-11
1
-24
0
21
42
51
6
-59
-74
24
32
-60
33
26
18
-10
-26
6
-28
-5
-32
-8
-5
-23
0
60
-7
-26
-58
21
-11
3
37
-33
-13
-18
-5
-29
0
32
56
9
5
3
-60
3
-35
-4
8
87
-58
3
44
-6
-46
43
-6
-39
-16
1
72
-13
28
-13
-74
15
21
11
23
-46
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
5
24
0
0
0
-43
0
0
0
0
0
0
7
0
0
0
29
0
0
22
0
0
0
0
0
1
4
0
0
0
0
0
0
49
0
0
0
0
0
0
-29
0
8
5
0
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
-7
9
0
0
4
0
0
0
5
0
0
0
0
0
0
19
0
0
0
0
0
0
13
0
0
0
0
0
0
45
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
0
0
-17
0
0
-2
-15
0
0
-4
1
0
-4
43
0
0
5
4
0
0
-99
0
0
-4
0
0
0
41
0
0
0
2
0
0
-24
0
0
0
0
0
0
23
-2
0
0
0
0
5
71
-8
10
0
0
0
0
25
0
0
-4
0
0
0
24
0
0
5
0
0
0
-20
0
2
0
0
0
0
9
0
1
0
0
0
0
90
0
0
0
0
0
0
19
0
0
0
0
0
0
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
25
-3
-17
-26
51
-4
-4
2
0
24
-89
31
-5
1
41
0
3
-57
-119
0
-13
-19
0
7
-1
10
-41
-2
-31
0
18
30
2
40
0
15
3
0
0
0
1
1
41
32
7
-27
-6
0
1
23
10
-21
-5
0
0
-41
-24
-1
36
-47
29
0
17
-16
-4
132
38
0
-6
5
-1
0
9
-8
43
0
51
3
0
-11
-49
12
4
-1
-86
4
5
3
-1
-4
0
1
0
52
-1
0
-32
0
-15
16
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
0
1
0
0
0
0
-48
0
0
0
0
0
0
-25
0
0
0
0
0
0
-44
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
6
3
0
0
0
31
0
0
-8
0
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-1
-3
0
0
0
5
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
-4
0
0
0
-21
0
0
-4
0
0
0
-19
0
0
3
5
0
0
31
0
0
0
0
0
0
9
0
0
0
-5
0
0
24
0
0
0
0
0
0
27
0
0
0
0
0
0
-33
0
0
0
0
0
0
33
0
0
-2
0
0
0
29
0
0
-7
0
0
0
94
0
0
0
0
0
0
-28
0
-7
1
0
0
0
-5
0
0
-6
0
0
0
78
0
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
54
8
-10
8
18
0
-1
-1
0
-4
21
34
2
0
13
0
1
-22
0
84
0
41
0
-1
-16
-23
70
0
-41
0
0
0
0
3
0
14
1
1
8
0
0
-3
30
1
-10
6
0
0
0
-20
0
-18
-15
8
0
4
25
-9
27
-73
0
20
1
-5
17
6
-41
-19
0
-13
14
0
20
-51
-2
0
0
-34
0
0
2
16
0
0
28
0
-36
8
0
4
0
-26
52
-4
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
-31
44
21
34
28
39
14
6
10
0
-43
36
25
28
0
12
6
13
-1
18
-26
66
-44
2
-23
-13
0
43
8
31
-3
-5
84
-6
7
8
-23
33
6
-1
27
20
116
-110
-53
13
-19
-138
27
-16
90
63
-2
17
15
0
-18
-86
-35
-25
1
-80
-21
60
23
-38
-48
9
48
-22
-17
20
4
-41
13
3
27
13
9
0
-48
-13
-16
17
56
-18
-16
-30
25
0
51
-72
79
29
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
5
-54
0
0
0
1
0
0
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
-22
0
0
0
0
0
0
-39
0
1
0
0
0
0
5
0
19
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
-3
1
0
0
12
0
-8
0
0
0
0
-9
0
0
0
0
0
0
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-112
0
3
4
0
0
0
48
2
0
9
1
0
-1
-102
0
0
0
0
0
1
-16
0
-1
2
0
0
0
-4
0
0
0
5
10
0
76
0
0
0
-2
0
-2
-16
-3
-11
2
0
0
5
-25
0
-1
-7
0
0
0
-49
0
-41
-8
0
0
0
26
0
0
14
-2
1
2
-22
0
4
-2
0
0
0
36
0
0
0
1
0
0
-22
0
10
0
0
1
0
87
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
19
-8
-8
36
9
-1
0
-44
-1
-1
17
-57
33
-3
-1
0
3
2
0
83
0
-9
-5
8
2
-26
63
0
8
3
0
2
-3
5
0
-19
46
13
2
-8
0
38
9
1
8
29
14
-1
1
-37
5
25
-4
-13
0
-19
4
12
16
7
0
0
-33
-11
0
-85
3
5
1
-5
-13
-2
-19
6
1
-3
-2
29
5
4
-3
-50
15
0
9
0
19
-2
-1
-15
0
19
-2
-3
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-22
4
0
-53
0
0
1
-17
0
0
-12
1
7
0
9
0
0
-33
0
22
0
-13
0
0
-2
0
27
0
-7
0
0
0
0
3
0
44
0
2
-7
0
0
3
-49
0
56
14
0
0
-10
16
3
0
-4
0
0
-1
55
0
-12
8
0
0
0
-48
0
0
37
0
0
8
-33
0
8
25
0
0
-4
52
0
5
23
1
5
-4
47
0
44
0
0
-10
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
8
0
0
0
2
0
0
0
0
0
0
-20
0
0
-9
0
0
0
47
0
0
0
3
0
0
-38
0
0
0
0
0
0
-38
2
0
-1
0
0
0
1
0
-2
0
0
0
0
-50
0
0
7
0
0
3
21
0
0
8
0
0
0
-13
0
0
0
2
0
0
37
0
-6
-2
0
0
0
-5
0
0
-2
0
0
0
-5
0
-5
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
24
-96
35
0
0
-58
0
0
41
1
-8
0
57
0
-3
-25
-14
11
0
31
0
0
0
0
0
2
14
-5
0
8
0
0
0
13
0
-40
25
0
0
0
58
0
5
-5
2
0
0
-24
0
101
2
0
0
0
8
0
8
0
-5
0
0
4
0
77
1
-1
0
0
4
0
5
2
-18
-1
1
51
0
-10
-3
-2
22
0
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-13
-34
61
-23
-29
45
-20
17
49
80
-25
45
2
13
8
-9
-9
-61
-38
-1
0
15
-7
-75
-14
8
-42
-4
-46
23
53
7
47
20
29
31
6
11
1
31
-22
-50
-3
-13
-23
-38
4
-132
9
-35
-7
53
-2
-46
17
41
0
84
-3
66
61
-1
-68
-25
106
15
46
45
-40
-76
-31
-6
-68
-83
-14
-62
-29
10
-5
-2
27
5
42
-6
5
-9
-30
-15
-93
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
2
0
-42
0
0
0
0
0
0
3
0
0
20
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
-13
0
3
0
0
0
0
-1
0
0
4
1
0
0
5
0
-1
0
0
0
0
-12
0
1
0
0
0
0
2
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-30
0
0
2
-1
0
5
-41
0
0
-1
0
0
0
-3
0
0
6
16
-2
0
49
0
0
0
0
0
0
-63
0
0
0
0
0
0
8
0
2
17
0
0
32
-1
3
0
-4
0
0
-9
33
0
7
0
0
-3
0
25
0
0
0
0
0
-2
22
0
0
1
0
0
0
14
0
0
1
0
0
0
13
0
-1
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
0
-7
15
-93
-2
-1
9
0
0
0
1
-26
8
24
-1
1
8
21
-67
0
3
0
0
0
0
0
0
-57
-13
-4
3
0
0
-2
29
0
-120
1
0
10
3
52
0
4
23
5
-4
21
39
0
5
-29
2
0
-24
2
2
62
-9
3
0
-1
-11
-1
-71
1
1
-2
2
16
0
17
-1
59
1
0
15
0
-31
0
0
-4
0
13
1
3
0
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-28
0
0
0
0
0
0
15
0
0
-1
0
0
0
-3
0
0
2
0
6
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
7
0
0
0
0
0
0
-52
0
0
-22
0
0
-13
36
0
0
0
0
0
15
1
0
1
1
0
0
0
69
0
0
0
0
0
0
-71
0
0
0
0
0
0
-53
0
8
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
-13
0
0
-36
0
0
0
0
0
0
-5
0
0
0
-4
0
0
9
0
0
0
0
0
0
-5
-1
0
0
0
0
0
44
0
-3
-5
0
0
0
-70
0
0
2
0
0
0
12
0
0
0
0
0
-5
-79
0
0
-2
-2
0
1
-50
0
-1
0
0
0
0
14
0
0
0
0
0
0
28
0
1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
-2
0
-4
0
8
0
-46
0
0
-1
16
-3
0
-13
0
0
0
0
0
0
3
0
10
0
0
0
0
-19
0
22
0
0
0
0
-46
0
4
0
0
0
0
-3
0
-7
1
0
0
0
46
5
-1
2
-8
0
0
-76
0
-69
-5
2
0
0
27
0
0
0
6
-2
0
-57
0
2
0
0
-3
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
8
0
-44
58
0
-15
13
-22
0
-5
-117
-63
-23
0
6
-37
-2
-4
-2
-2
-3
-5
-3
-25
71
28
25
3
28
-22
11
42
23
-1
30
-20
30
80
-51
49
15
39
19
41
29
-42
20
-1
69
-14
-2
36
12
8
-1
8
0
42
-21
67
-20
2
19
12
-7
-29
-19
-3
56
2
-14
4
-52
-74
5
-35
0
31
-20
-13
10
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
64
0
0
0
8
0
0
-4
0
0
0
0
0
0
-30
0
0
7
0
0
0
27
0
0
0
0
0
0
32
0
0
0
0
0
0
57
0
5
-8
0
0
0
-9
0
-5
0
-1
0
0
-97
0
-1
6
0
0
1
-3
0
0
0
-8
0
0
85
0
4
0
2
0
0
-6
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
-3
21
2
-32
0
-2
0
-101
-5
0
-39
0
0
0
6
0
7
-66
5
0
-8
0
0
-5
63
0
-26
30
0
0
-17
6
-6
0
-23
-29
0
8
49
0
10
-1
0
-1
-8
31
-7
-2
-20
9
0
0
31
0
39
-12
0
0
0
49
0
49
0
15
-5
0
-33
0
23
3
0
-13
0
14
-14
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
23
0
0
-16
0
-9
0
-68
0
0
41
0
-4
0
-65
0
0
0
0
0
0
-32
0
0
-2
0
0
1
-40
0
0
2
0
0
-1
9
0
-6
-5
-3
0
4
54
0
65
41
0
0
7
13
0
4
-6
-27
-1
-32
5
0
-1
15
0
-1
14
6
0
2
1
0
1
0
-15
0
-15
-3
0
-1
0
-72
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
-14
0
0
0
0
0
0
0
8
0
0
32
0
0
0
8
0
0
59
0
1
-3
0
0
0
5
0
0
0
0
0
7
-91
0
0
-3
0
0
0
26
0
8
-4
0
0
0
-17
0
1
1
0
0
0
2
0
-24
10
0
0
0
-28
0
0
0
0
0
0
88
0
-9
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
7
0
-2
0
28
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
14
-1
0
0
0
41
0
0
-1
0
0
0
-27
0
3
0
0
0
0
-39
0
0
-2
0
0
0
141
0
0
0
0
0
0
-37
0
0
0
0
0
0
-8
0
-4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-10
5
-24
44
42
-5
7
9
49
115
-5
7
32
-10
10
-35
-69
1
16
37
40
13
-22
5
65
28
-14
-26
17
-23
6
-23
-15
-5
101
34
-6
13
-13
-24
11
48
-3
-11
-15
50
-27
46
49
26
47
-55
-62
17
-27
9
0
5
34
5
5
2
-1
-11
29
-10
43
1
11
-1
4
7
-27
-17
-39
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-56
0
0
0
0
0
0
4
2
0
0
0
0
0
-3
0
-4
0
0
0
0
-23
0
0
0
4
0
0
5
0
1
0
0
0
0
-4
0
-7
0
0
0
0
3
0
5
0
0
0
0
2
0
0
0
0
0
0
61
0
3
0
0
-1
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
7
-14
0
-59
0
0
0
0
0
0
-13
-1
0
0
0
0
0
3
0
25
-5
0
0
10
6
0
5
-10
0
0
0
-22
0
13
4
0
0
1
-14
0
5
0
30
2
2
41
0
19
-2
0
0
0
-17
0
-1
0
0
0
0
1
0
-49
0
0
10
0
-27
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
19
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
-1
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
12
0
8
2
0
0
0
13
0
2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
0
0
-10
30
0
0
8
0
0
0
0
0
0
-43
-1
0
0
0
0
0
-3
0
0
1
0
0
-4
5
0
0
8
10
0
0
-65
0
-18
-6
0
0
0
-35
0
0
0
-1
0
-1
-8
0
-44
-1
0
0
0
48
0
0
-2
-1
0
0
-14
0
-4
0
0
0
0
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
-37
0
1
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-2
-1
-3
12
-6
-45
-37
-50
-28
31
6
-6
-31
26
42
-51
13
4
-10
23
-14
32
55
96
52
-85
11
3
17
70
13
-24
-44
-4
-8
-23
80
16
24
-28
51
24
-89
17
25
30
4
-3
-4
15
60
1
-47
-1
0
19
9
-2
-5
-7
0
52
-6
-4
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
5
0
0
0
-2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-42
0
0
0
0
0
0
-2
0
1
1
0
0
0
22
0
0
-4
2
0
0
-44
0
0
0
0
0
0
-12
0
1
9
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-68
0
3
0
0
1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
8
-4
0
0
0
0
-3
-42
1
-1
31
0
0
3
-19
0
0
8
-3
0
0
-10
0
-1
-1
0
0
-1
-38
0
-1
0
0
0
1
25
0
-58
0
-3
0
5
35
0
0
5
-3
0
0
-60
0
-16
0
0
-1
0
-33
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
8
0
0
0
0
0
-12
0
-2
-8
0
0
0
-13
0
5
7
0
2
-1
15
0
1
0
0
0
10
-39
0
32
0
0
8
-16
29
8
0
18
0
0
1
-35
0
82
-3
0
0
0
6
0
0
-10
0
1
0
-3
0
10
0
0
-4
0
50
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
-12
0
0
0
0
0
-2
19
7
-60
41
0
0
-2
-25
0
-3
-60
6
0
-2
-56
0
-13
6
0
0
-3
-7
0
4
-5
-7
0
8
-19
0
-24
-9
0
0
0
19
0
8
8
13
0
0
-26
0
-8
-4
0
0
0
-41
4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
8
59
-101
20
-27
-25
29
-16
64
37
42
9
13
-59
18
-14
-81
-11
-12
-8
-25
30
22
-28
-39
-49
-76
-1
13
-92
-135
9
46
-30
8
31
-27
6
-26
-71
-2
24
19
-14
84
-48
-24
22
-18
14
16
-50
2
-18
29
-1
0
0
26
-3
-29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
-8
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
3
0
0
0
0
-2
0
0
0
0
0
0
-17
0
-5
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
19
0
0
0
0
6
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-6
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
-1
6
0
0
-2
0
0
0
1
0
0
-13
0
0
0
26
0
-5
0
0
0
0
-4
0
0
0
3
0
0
64
0
-20
0
0
0
0
-21
0
0
0
8
0
0
31
0
0
0
0
0
0
-43
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
15
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
44
-22
27
23
8
-35
-154
19
0
-25
48
148
0
-31
3
-14
94
13
-29
-8
49
-24
13
-93
-91
-8
34
12
-17
7
-21
-60
-20
37
35
-28
0
-25
-52
47
42
2
-3
2
2
-29
-6
52
0
32
31
-41
-2
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-30
0
44
8
0
0
0
22
4
8
6
4
0
0
36
0
17
-3
0
0
0
56
0
2
0
0
0
2
-55
0
10
0
0
0
0
-2
0
0
-1
0
-1
0
9
0
-25
0
0
-8
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
-4
1
0
0
0
25
-4
0
0
0
0
0
26
0
-4
0
0
0
0
-6
0
0
-1
0
0
0
-39
0
-8
0
0
0
0
5
0
0
2
0
0
0
-33
0
-8
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
3
-3
7
0
0
0
93
0
5
2
0
0
0
-38
0
0
-8
0
0
0
-8
0
0
3
2
0
0
14
0
1
0
0
0
0
119
0
2
0
0
-5
0
71
0
-4
0
0
0
0
-20
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
-10
-1
0
0
0
-19
0
0
0
0
0
0
-57
0
5
0
0
0
1
25
0
0
0
0
0
0
0
0
14
0
0
0
0
-8
0
0
0
0
0
0
-9
0
-4
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
1
0
0
-139
0
-17
0
-3
0
0
10
0
0
-8
0
0
0
-2
0
-2
3
0
0
0
53
0
0
0
0
0
0
10
0
-8
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-36
1
-66
-14
-75
8
-2
18
-7
78
-11
-3
-18
-1
-28
0
59
-16
-89
4
57
-16
1
52
20
15
6
5
-46
-9
52
-77
-52
25
0
41
0
75
1
0
19
0
19
-24
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
4
0
0
0
4
0
-2
0
0
0
0
-7
0
-8
-2
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
70
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-72
0
-8
-50
6
0
46
6
0
66
-51
-1
-16
5
22
0
6
8
-54
0
1
-75
0
-110
45
-3
4
0
-39
0
0
-10
13
-1
0
-58
0
29
-1
-2
15
0
-27
19
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-24
0
0
14
1
0
-12
-4
0
-55
5
0
0
0
-46
7
1
-7
-1
0
0
-61
0
3
1
0
0
0
-81
13
-1
-4
5
0
0
83
0
-2
0
0
0
0
58
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
3
0
0
0
0
0
0
16
0
12
0
0
0
0
-1
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
2
0
0
0
20
0
0
-2
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-45
0
1
0
0
0
0
-8
0
4
0
0
0
0
2
0
7
1
0
0
0
70
0
2
0
0
0
0
-21
0
-2
0
0
1
0
-35
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
15
15
-56
57
-20
16
-60
-5
2
59
-17
-51
0
4
-39
-4
-34
82
-20
-2
2
17
-1
76
-21
-22
-9
2
21
0
70
6
18
-13
0
23
9
33
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
7
0
0
-7
0
-7
0
0
0
0
-14
0
0
0
8
0
0
73
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-58
0
59
13
0
0
5
59
0
0
-5
7
0
0
20
0
-12
7
0
0
0
-64
0
0
0
0
0
0
46
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
3
7
0
2
0
2
-1
0
-8
-12
7
6
0
68
0
-29
3
0
0
0
5
0
0
-3
0
1
0
6
0
10
0
0
-1
0
18
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
0
-2
-6
0
0
0
46
0
0
0
0
0
0
-44
0
-8
1
0
0
3
-56
0
0
0
0
0
0
9
0
34
0
0
-4
0
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-12
5
0
0
0
-10
0
0
0
-1
0
0
-39
0
-7
0
0
0
0
-14
0
0
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-78
0
0
-8
14
0
0
32
0
0
5
-10
0
1
-44
0
0
1
-2
0
0
-8
0
-5
0
0
4
0
-18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-14
-2
27
28
59
-23
3
-30
24
13
-22
-72
6
7
86
0
80
13
-18
-7
0
39
-5
-36
0
18
-75
0
-41
-81
5
-1
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
-9
0
0
0
-13
0
0
5
0
0
0
-12
0
0
0
0
0
0
3
0
1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
122
-2
-4
-33
5
0
4
49
0
13
-8
0
0
1
-77
0
0
-18
0
0
0
-37
0
41
0
-1
-13
0
-68
1
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
3
0
10
-6
0
0
0
0
-5
-3
0
0
0
-8
1
0
0
0
0
0
-12
0
41
0
0
-9
0
99
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
-2
0
8
0
0
35
0
0
0
0
0
0
33
0
0
0
0
0
0
-18
0
-5
0
0
0
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
2
-2
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
29
0
-4
0
0
0
0
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-5
2
4
0
0
-7
0
0
2
8
0
0
-7
0
-1
0
0
2
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-1
14
52
68
-25
-9
-51
-1
13
9
-21
2
0
-19
-2
-29
-6
0
-13
0
-4
-23
13
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
33
0
0
0
0
0
0
-22
0
9
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
28
10
3
0
-3
55
0
0
8
-2
0
0
-10
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-42
0
13
-3
0
0
3
-82
0
4
-5
0
0
0
20
0
-2
0
0
0
0
44
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
0
-39
24
0
0
0
40
0
0
50
0
0
0
-13
0
24
0
0
-1
0
-36
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
1
-2
0
0
0
8
0
0
0
1
0
0
24
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
1
-8
0
0
0
24
0
-8
0
0
0
0
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-22
1
3
85
-37
0
-1
15
-24
-7
-13
0
-13
0
10
22
9
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-4
0
-2
1
0
0
-29
-1
46
0
0
9
0
-8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
0
3
0
3
0
0
10
0
-15
0
0
-1
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
45
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-6
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
-58
12
-3
-13
0
-2
-15
5
13
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-4
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
9
0
-1
7
0
-31
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-12
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
9
24
-15
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
1
0
0
0
0
0
-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
6
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
2
0
0
-2
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
-1
0
-1
-6
0
0
-1
1
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
-1
0
0
0
0
0
-16
0
0
0
0
0
0
-49
0
0
2
0
0
0
-12
0
0
0
0
0
0
-3
0
0
6
0
0
0
0
0
0
0
6
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
23
0
0
8
-10
5
0
-11
0
0
0
-4
0
5
-8
-1
0
0
0
5
-10
-8
0
0
0
0
0
28
0
0
0
0
0
2
-1
0
0
0
-6
0
0
-6
0
0
5
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
3
0
-7
41
0
0
0
78
4
20
39
-1
0
0
-75
0
17
14
0
0
0
5
-43
34
6
0
0
0
-9
-8
-7
0
0
0
0
0
0
18
0
0
-49
0
0
0
12
0
0
-1
-21
0
0
0
-31
38
0
-2
-56
0
0
-102
-17
5
15
7
0
0
48
5
0
0
-90
0
0
-24
-41
0
0
43
95
0
-15
-7
0
0
21
0
0
-2
1
0
67
-8
1
0
0
10
-5
0
0
0
21
0
-18
21
-20
0
0
-1
-1
0
-38
0
-8
0
0
1
27
3
-15
50
-3
0
-1
-10
0
0
-27
0
7
-2
53
0
4
15
2
0
21
44
0
-2
21
-2
0
0
-24
0
0
-70
-21
0
0
29
0
0
-19
0
-1
0
-36
-1
0
13
32
3
0
-60
25
3
0
0
0
0
0
-41
1
6
0
0
0
-13
0
-8
-5
0
0
17
18
0
-2
-9
0
0
0
-19
0
-6
0
0
0
0
-59
3
0
-4
-4
1
0
28
-2
-33
0
0
-3
0
48
0
-4
19
8
6
0
-29
0
46
0
-2
-3
0
-9
4
0
0
0
0
0
0
0
0
0
0
0
42
-41
-123
6
-14
-32
69
12
2
54
41
-11
-1
19
16
22
40
-22
41
7
12
17
-2
37
-58
-37
-36
-6
-10
20
14
-2
-43
33
2
-22
16
-18
1
-10
5
0
-18
23
3
-3
-19
53
-1
-77
-25
2
-42
-57
28
-31
-7
19
-17
-132
55
-51
-60
0
0
0
0
0
0
0
38
26
-5
33
53
80
-10
19
18
63
14
10
-4
-3
-1
24
83
50
9
-25
-4
-9
0
-35
39
-5
-4
-6
-18
16
-94
-34
-3
28
-7
35
20
14
-60
48
-9
-5
-18
-70
-6
-23
-22
72
-16
18
6
-4
52
15
-13
-36
24
20
19
30
45
13
15
14
20
44
12
12
1
28
33
-3
5
-12
29
42
-33
22
-2
32
-16
-2
-7
-16
-32
-6
9
-8
-12
-47
-5
-5
-2
2
4
-14
0
-9
49
-4
16
-5
19
58
6
-47
11
-17
-20
-74
-3
44
-136
11
-52
-1
-60
-31
6
-32
-5
19
44
3
27
85
2
15
-21
0
20
18
-4
-5
11
30
14
16
17
41
8
2
-16
22
8
6
2
-22
-6
11
10
-10
4
-12
-7
-1
3
7
-16
49
-10
48
-2
-5
25
-20
-12
-5
-114
6
-25
-46
-14
-10
4
-21
41
-41
-19
-44
65
-94
34
1
-54
51
14
79
51
32
-6
-5
42
-11
-1
25
0
5
25
16
7
60
13
3
-16
13
-2
-10
28
-15
-9
-1
-39
7
-15
34
-18
-7
-10
-61
-19
-23
-5
5
30
-3
23
10
10
17
53
-49
-8
-27
2
2
19
-72
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
1
0
3
-6
2
2
0
12
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
15
0
0
-1
0
0
-72
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
1
0
0
3
0
0
0
21
-1
0
6
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
1
0
0
0
0
0
-18
-8
-5
-1
0
0
0
-4
0
0
0
0
0
5
9
0
-3
0
0
0
-4
42
0
0
-3
0
0
7
34
0
0
1
0
0
0
17
0
0
-1
0
0
0
-2
0
15
0
-1
0
0
-5
0
0
0
0
0
0
18
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-42
0
0
-1
0
0
0
-54
0
0
-1
0
0
-1
-33
0
0
-1
0
0
0
41
0
0
1
0
0
0
-4
0
0
1
0
0
0
-76
0
0
0
0
0
0
-4
0
0
0
0
0
0
-31
0
0
0
0
0
0
4
21
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-15
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
42
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
7
0
0
0
-2
-4
1
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-1
0
0
-1
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
-29
0
-1
-19
6
0
0
-39
0
0
1
-3
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
-1
0
0
0
0
0
41
10
0
0
0
0
1
33
0
0
-1
0
0
-15
-8
0
2
-8
0
0
-72
0
0
0
43
0
0
0
9
0
0
3
0
0
0
23
0
0
0
0
0
0
20
0
-4
0
0
0
0
14
0
0
0
0
0
0
18
0
0
0
0
0
0
26
1
0
0
0
0
0
7
4
0
-1
0
0
0
-41
0
0
0
0
0
0
-34
0
-2
-1
0
0
0
-17
0
0
-1
0
0
0
-14
0
0
-3
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
-42
0
0
0
0
0
0
4
-1
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
3
0
0
0
0
5
0
7
0
0
0
0
2
0
0
0
5
0
0
24
0
-4
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-67
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
15
0
1
-1
0
0
0
0
0
0
-1
-6
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
-1
0
0
0
-1
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
-42
0
0
8
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-21
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-29
0
0
0
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
1
0
0
-1
-1
0
0
-8
0
0
0
2
0
0
-8
6
-7
0
0
-1
0
17
-2
0
0
0
0
0
0
0
-17
0
0
-7
0
0
0
0
24
0
0
0
0
0
30
0
0
0
0
0
41
98
0
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
15
0
0
0
0
0
1
-74
-74
0
-6
-22
0
0
-55
0
0
17
15
14
0
-6
54
0
12
0
0
0
-19
0
0
0
-9
0
0
-3
6
7
0
0
-23
0
0
0
0
0
43
67
-9
2
0
0
4
10
-1
1
-4
0
0
42
77
1
16
-1
5
0
96
24
0
0
6
0
0
56
-57
0
0
-56
83
0
-58
11
0
1
-61
0
0
-19
-66
3
85
-13
9
0
0
-76
0
0
4
0
0
0
25
-22
-19
0
5
0
4
-24
-3
0
39
0
0
3
-38
-6
9
39
0
0
121
-10
0
0
46
0
0
41
3
0
2
153
-67
0
-89
-44
0
0
34
0
0
-13
-82
0
0
-33
17
0
0
-19
0
0
17
0
0
0
25
0
0
-7
-8
0
0
5
0
0
0
0
0
0
-61
-1
0
-6
0
0
6
-39
4
89
-2
0
0
0
-22
0
8
31
0
0
12
-83
0
-38
19
0
0
-1
7
0
10
-2
-4
0
0
21
0
79
34
0
0
0
14
0
0
2
-8
0
0
-74
0
-106
0
0
0
0
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
54
3
-5
98
-4
1
-154
-2
0
50
56
0
3
-31
1
0
8
-1
0
3
0
-5
0
0
0
0
-2
0
-16
0
0
0
0
0
0
0
0
34
0
0
-5
0
0
-28
0
0
0
0
0
-11
76
0
19
0
0
0
0
0
0
0
0
0
-24
-24
41
32
32
6
0
-145
51
0
-4
-5
-5
0
-1
93
0
0
8
0
-6
-4
-8
0
0
-1
6
-1
2
5
0
0
-8
0
-4
0
44
0
0
0
0
6
0
0
-50
0
0
0
-17
0
110
-21
66
0
1
0
-5
13
-6
0
-42
12
0
49
-9
3
36
-18
-9
0
-38
32
1
3
-42
-2
-8
5
-73
0
0
-18
-42
0
14
-64
0
0
14
25
0
0
-19
0
6
-30
-13
9
0
-67
0
0
2
0
-3
0
14
0
19
0
1
0
0
79
80
0
14
0
0
12
67
-47
-8
2
10
1
-32
-15
0
0
-1
0
0
-20
-8
1
-7
-8
0
12
63
-51
0
0
-48
-2
-16
0
-87
0
-9
-13
-49
-1
0
11
0
-1
53
0
-7
0
-125
0
0
0
2
18
0
-9
0
0
0
0
8
0
83
49
3
-8
7
0
0
-85
1
12
-39
0
0
8
49
0
6
-6
0
0
0
-33
0
42
55
-24
0
-2
-66
0
-8
43
49
0
0
-2
0
-19
16
12
0
0
26
7
0
35
22
0
0
-16
0
64
0
0
0
0
80
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-51
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
-32
0
0
0
-6
0
0
0
2
0
0
1
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
15
0
0
0
0
0
-2
0
0
0
-19
0
0
-1
0
0
-33
-2
0
0
-10
14
0
0
-2
0
0
0
10
0
0
-1
0
0
0
7
0
0
-1
0
0
0
0
0
-2
0
3
0
0
22
0
0
0
0
0
0
-45
0
0
0
0
0
0
-87
0
0
0
0
0
1
0
1
0
6
0
0
-1
-74
0
0
-3
0
0
-1
-47
0
0
0
0
0
0
5
0
0
2
0
0
0
-10
0
0
-1
0
0
0
-52
0
0
0
0
0
0
1
0
0
0
0
6
0
-35
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
2
0
0
0
0
0
0
-4
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
31
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
15
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
24
0
0
-6
0
0
0
-1
-1
5
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
66
-13
3
0
0
0
5
0
0
8
-32
0
0
1
-3
0
-55
8
0
0
-22
30
0
0
2
0
0
0
-12
0
0
-1
0
0
0
82
0
0
2
0
0
0
-4
0
-21
7
0
0
0
55
0
0
0
0
0
0
-1
0
0
0
0
0
0
-53
-3
0
0
0
0
1
-87
0
0
17
0
0
0
-46
0
3
8
0
0
0
-44
0
2
2
0
0
0
-14
0
0
-4
0
0
0
5
0
0
4
3
0
0
-31
0
0
0
0
0
0
18
0
0
0
0
0
0
43
0
0
0
0
0
0
0
2
0
0
0
0
0
-5
0
1
0
0
0
0
8
0
0
0
0
0
0
5
0
-3
0
0
0
0
37
0
0
0
0
0
0
4
0
0
0
0
0
0
49
0
0
0
0
0
0
25
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-7
-2
69
19
-3
16
25
73
29
-90
51
-20
16
5
44
35
29
24
2
23
-6
10
-3
-39
-43
20
-8
8
18
13
-43
-22
1
32
-31
90
87
-7
-40
-41
7
-41
-14
1
-48
19
21
-24
-61
5
23
36
-17
-13
26
0
0
0
0
0
0
0
24
-4
39
50
18
82
14
9
25
-5
-65
1
13
31
-4
29
13
-9
-1
-22
0
27
3
53
-19
-2
-20
-2
-7
15
6
0
-5
-33
2
-3
5
-15
-65
1
1
1
-7
-6
5
16
-24
41
19
144
6
51
-22
-25
57
-24
19
17
14
-13
11
58
35
8
-13
-22
-58
9
6
67
-14
11
25
5
-5
42
-40
7
-1
12
-5
0
-11
14
13
4
-9
6
4
63
9
-4
-7
20
24
1
-4
26
38
-1
-7
-24
5
-9
-16
9
3
17
10
73
7
13
3
2
-11
-24
42
1
-46
31
6
-16
26
4
16
21
-33
-16
-76
-51
-2
-14
-31
-30
-3
-45
-29
-6
-17
-31
0
-2
4
15
-14
-3
-9
-4
-1
-38
-21
6
-10
1
-5
1
-1
-14
3
24
3
13
2
26
2
6
6
2
-66
5
30
-56
21
32
-45
-6
30
32
14
25
-45
-69
15
-9
16
-47
-16
-121
27
1
6
-23
13
19
3
23
9
-8
-29
-74
-45
-9
11
-23
-3
28
-23
-18
-16
-16
12
-6
75
7
-12
22
7
41
5
-22
29
1
-23
-15
6
5
-34
14
12
41
-17
49
11
-17
-17
31
-18
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-2
0
2
-30
53
0
-78
-4
0
0
4
0
-4
2
8
0
0
0
34
-3
5
-1
0
0
0
-5
-6
-3
-3
0
0
17
0
4
0
0
0
36
0
0
-25
0
0
22
0
0
0
0
0
84
76
0
0
0
0
0
0
0
0
0
0
0
-62
13
8
0
-82
0
1
22
-14
-8
0
12
-23
-3
-50
-32
0
0
35
-1
-25
-2
-6
0
0
1
-7
8
-34
-1
0
0
-2
0
-8
0
21
0
16
-1
0
11
0
0
56
0
0
0
-24
0
80
42
1
0
0
0
26
-39
0
5
-50
0
0
-17
66
0
-38
101
-1
0
20
21
-2
0
5
0
-3
8
-37
0
3
-34
-1
0
-12
-21
0
0
-120
0
-2
6
-5
0
-15
-5
-33
-1
0
-197
0
0
-1
0
5
0
49
83
8
0
0
0
0
23
-18
0
-10
0
0
0
0
1
5
42
-6
-19
8
-42
0
0
4
0
6
39
6
0
15
-37
17
0
-30
-121
0
0
1
3
0
9
-19
0
-1
-41
-55
-8
9
40
0
0
-5
0
-2
0
-10
0
0
0
8
5
0
70
0
3
0
-25
0
0
48
-13
-3
2
0
0
4
48
0
-34
-3
0
0
4
9
-7
-8
-4
3
8
1
0
-33
-33
-2
0
0
1
49
0
0
0
-14
4
0
17
0
10
8
0
-10
0
8
0
0
-1
-8
0
1
-30
0
31
0
0
-2
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
9
0
0
-58
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-59
0
0
-3
0
0
-23
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
-43
-5
4
0
-76
0
0
-10
0
2
0
-3
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
10
0
0
0
0
-1
0
0
0
0
0
0
-49
0
0
-1
0
0
0
0
0
-13
0
4
0
0
0
-1
-11
0
0
-53
0
0
-2
0
0
-39
-24
0
0
-60
1
0
0
-33
0
0
1
-13
0
0
-3
0
-2
0
16
0
0
0
0
0
0
6
0
8
0
0
0
0
-27
0
0
0
0
0
0
-40
0
0
0
0
0
0
-19
0
0
0
0
0
0
-63
0
0
-2
13
0
0
-37
0
0
1
0
0
-3
-8
0
0
-2
0
0
0
2
0
0
-2
0
0
0
3
0
0
-1
0
0
0
-53
0
0
0
0
0
0
-1
0
0
0
0
-2
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
-25
0
0
0
0
0
0
70
0
0
0
0
0
0
-9
0
0
-1
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
49
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
-2
18
0
-42
3
10
15
21
0
0
0
8
14
0
-3
-7
0
-1
13
0
0
1
0
0
0
59
0
8
24
-1
0
0
-3
0
-25
0
16
0
0
0
-16
0
0
0
0
1
21
45
0
-5
0
0
0
0
0
0
0
0
0
-29
10
0
43
-18
23
0
-1
18
0
0
1
-69
0
-39
17
16
29
-34
0
0
7
6
0
0
-31
16
0
-24
-13
0
0
-2
-1
0
-2
12
0
0
-20
1
0
0
8
-67
0
0
0
0
0
-81
111
59
21
0
0
35
9
15
5
60
0
13
-25
45
0
-37
-62
52
0
-11
-19
0
1
-31
12
0
-22
-38
0
-28
-36
3
0
-21
24
0
0
-64
-4
0
42
-23
0
-39
-58
4
0
5
-8
0
31
0
-3
0
0
25
44
45
0
36
0
0
-37
-36
0
5
0
0
-84
23
9
-1
15
15
0
-82
0
0
0
-60
0
0
49
39
0
27
24
70
0
59
-12
0
-9
13
-9
0
8
-22
0
17
31
-68
0
7
-28
0
0
-17
0
0
2
-38
0
68
6
-39
0
0
-34
42
0
0
0
0
0
-27
-9
2
24
-5
0
0
-59
2
17
-49
0
0
8
39
0
-8
22
5
0
33
-29
0
-37
-20
8
0
-16
-35
-2
-14
-14
38
0
0
-70
22
13
34
-2
0
0
-110
0
-10
5
-60
0
0
17
0
11
13
6
0
-3
60
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
36
39
-65
82
13
5
-109
-64
-55
-28
-46
-54
-48
-23
3
-22
-13
30
-5
45
61
-45
59
-3
-68
16
-63
6
-17
-2
-17
5
13
-74
-2
2
14
0
0
-23
-9
-3
69
67
-5
9
27
3
0
0
0
0
0
0
0
-26
-39
-85
28
11
-8
4
2
-3
51
-12
3
-17
15
-26
-23
-59
12
-107
-93
-4
-12
7
13
6
2
8
-23
-24
23
-7
-10
-94
-46
6
-64
-35
24
-3
-118
-18
-19
-2
-103
-21
-1
1
-38
5
20
-8
3
19
15
57
1
-41
0
37
32
46
8
9
-34
32
-76
49
8
17
96
-10
-27
-64
-29
-10
-5
38
-40
-20
-40
-74
-27
-10
-51
-40
-2
-19
20
-52
10
104
33
14
-23
-17
-24
-1
-58
-12
-17
-22
-30
-13
-30
-49
0
16
-1
-11
-5
-32
51
-4
7
4
-37
4
43
37
-58
29
-3
56
11
0
-23
-75
10
-46
-76
-37
-98
-64
-49
-32
-40
33
14
-26
-100
-17
-4
62
10
-32
8
-3
-23
-20
41
-82
-29
-41
-47
-61
-16
-29
-15
-29
26
10
-25
-25
28
-124
-112
-51
0
-6
-1
-93
-42
3
-40
-91
-13
1
-53
-44
14
-14
-8
-1
36
-13
10
-16
-8
-28
-62
1
-61
28
3
-26
-76
-27
-30
-39
61
-37
-26
2
-62
-11
8
37
-9
-43
-14
21
-27
-96
-38
-46
25
-34
-24
5
-4
-14
-5
-29
-5
-21
-3
39
-34
-13
42
6
-1
20
12
-26
-19
29
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
-32
0
-5
-5
13
-4
-19
-5
43
27
-5
-45
-13
-10
-2
0
0
-2
-4
5
5
-4
7
-2
-6
-5
13
0
49
0
-42
0
9
26
0
7
47
0
0
0
7
0
58
46
-2
32
1
0
0
0
0
0
0
0
0
-103
0
-58
-25
-85
-12
64
34
-59
13
-15
21
-95
10
-113
-75
23
8
-1
-1
45
-8
7
0
5
-14
-10
-51
-2
-25
0
-1
-2
0
-73
1
-16
0
0
24
8
-36
0
10
26
0
0
-2
-29
18
-7
-19
-18
13
23
-13
109
68
9
2
68
2
6
12
0
27
-6
-19
-104
-29
-31
-5
9
29
-28
5
-3
95
-2
0
-1
24
6
-2
-89
-5
0
8
-53
0
6
3
18
8
-76
29
-6
-8
8
-7
0
0
-6
-1
-42
0
-24
-13
67
9
0
-6
0
-20
-49
0
28
-9
6
21
-25
-34
58
29
22
-10
-26
0
6
35
19
-19
-10
-39
-5
0
-8
55
-3
8
-48
6
9
2
-28
-20
-5
-15
-24
8
20
-60
-41
-7
-6
-8
0
1
32
16
-8
-6
-7
0
6
-41
-28
-47
0
41
-3
0
0
4
-3
0
36
20
-7
-10
0
2
-2
-26
-7
-47
48
41
1
-99
0
13
50
12
31
3
-11
-13
1
-75
-49
4
27
19
-85
-7
-30
13
31
0
31
52
0
-144
1
-4
21
2
-57
2
2
-37
-47
1
0
6
0
-4
0
0
-3
0
6
-93
6
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
120
17
6
86
0
9
5
-34
-3
-1
-64
0
-4
-18
40
0
0
-4
0
8
7
-19
0
-2
0
1
7
0
66
0
19
0
5
-8
0
0
-11
0
0
14
-8
0
39
96
0
24
0
0
0
0
0
0
0
0
0
-94
43
6
73
-31
4
15
17
-38
12
29
-60
-80
-18
-54
1
0
0
-79
25
-2
-1
-34
2
-5
-45
-4
1
-16
40
0
0
-13
-2
-6
9
58
0
0
-1
6
71
0
-2
54
0
0
0
24
-9
63
-7
46
32
0
0
-22
63
0
8
42
0
7
-19
-54
-5
48
-3
-8
7
-46
-29
0
20
-58
33
-6
-31
-68
0
-15
28
-14
-1
-46
-27
4
0
-42
8
0
1
45
0
50
-14
59
-7
3
38
0
0
0
-1
-8
0
17
8
10
-5
0
1
-1
48
-119
19
44
0
4
6
-1
54
70
-78
27
-2
-3
-12
0
-2
-33
7
0
-141
-21
0
-14
-58
23
20
29
8
5
-10
-31
-13
12
-6
-71
1
5
82
-4
0
66
-17
0
-19
17
-2
44
0
-73
0
31
10
14
-9
0
75
19
0
3
0
20
4
41
-13
-5
-2
0
-2
-3
-33
0
78
68
0
-2
0
64
-6
-40
2
-3
-1
18
63
-1
-68
-17
-1
0
-9
-49
7
-5
-25
-4
0
0
11
0
-69
27
29
5
1
82
0
2
3
21
-3
0
-1
0
-69
2
-3
1
0
12
1
0
2
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
24
4
-3
-157
-4
-2
-59
13
49
-4
42
17
-55
-8
7
31
0
41
6
37
-4
66
13
-2
-1
-4
58
0
-24
17
36
1
6
-59
0
0
17
0
0
0
-9
-1
26
-9
-1
6
-12
-3
0
0
0
0
0
0
0
-8
-28
-20
3
71
-2
43
63
-3
49
0
36
-30
31
-16
57
45
-5
14
-13
42
76
14
0
3
40
26
10
26
6
0
-1
76
-2
-28
-9
-29
-1
-2
1
6
-4
0
-3
23
0
0
0
-6
5
36
5
-41
3
0
1
-63
-125
-3
46
-96
-5
0
46
37
13
28
-37
65
-9
-28
-49
3
3
-87
-3
-49
49
1
1
15
41
-9
-6
5
30
-4
0
11
-59
-17
-13
18
7
68
1
37
-5
-6
12
18
-7
-5
-8
66
0
-9
-10
13
-4
45
60
1
23
-22
0
45
19
0
-181
-63
-45
-4
-8
3
2
-83
14
23
39
-41
5
8
-55
-22
1
49
6
-21
28
-31
-17
-9
22
-30
-2
50
10
18
-6
7
-5
18
7
1
10
13
60
-28
4
34
-4
-9
50
-25
82
-49
-33
-1
-31
-4
-1
0
10
43
0
40
6
0
-6
-2
0
-4
-4
-42
33
46
14
1
20
38
8
-42
-66
24
-7
0
-23
0
30
11
-13
8
-55
9
-7
42
-14
-78
-7
-41
32
-6
52
-105
22
79
-1
7
3
-3
25
61
-3
-1
15
0
-24
58
6
-25
0
-4
-34
0
-2
58
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-22
10
37
-37
-9
-3
-56
25
12
-7
7
-13
-10
-7
-10
35
0
-42
47
-16
-76
-38
-6
15
-2
-19
-49
-4
-46
-5
-9
-6
-25
-42
0
1
3
0
0
8
5
-3
7
117
8
-9
-42
0
0
0
0
0
0
0
0
4
-8
12
-77
-19
-53
55
35
-18
25
18
-7
-7
-42
-1
48
68
-12
-70
-54
4
-28
67
-5
-14
11
-4
-2
-22
7
-1
1
4
39
3
-71
2
-2
-3
-17
15
-14
5
-10
-15
-4
0
3
-96
32
14
-14
-38
31
-3
0
-21
12
-7
-9
33
-6
-2
-23
14
24
15
31
7
32
17
12
114
-33
8
-41
58
5
3
-31
8
28
-32
0
-16
1
-6
19
-7
-14
16
1
-5
76
0
-27
-2
-45
-11
-10
-5
-13
28
7
-22
-1
26
10
-43
-2
20
-5
6
19
-53
25
-14
27
48
35
-11
-28
-28
-5
-25
-1
61
-2
19
-42
34
41
49
-12
-15
-30
-57
33
-45
-16
-50
-8
66
-28
3
-54
-23
19
-10
29
-73
11
-43
-6
14
0
39
13
22
-78
23
-64
-10
-21
-49
1
-16
8
-2
-5
-53
-19
16
44
-13
-5
-12
-25
-64
31
-56
18
64
-15
4
-68
-49
-66
30
-6
-25
-9
39
14
-24
-5
5
-22
63
-5
-47
47
32
-69
-18
0
25
-4
-48
62
-22
-13
-41
-17
-42
-17
76
-44
3
-23
-26
-10
10
-37
8
-11
0
-12
-42
-21
8
-1
-13
-25
59
-3
-15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-41
8
-8
-105
5
-15
-48
-41
0
51
-89
-1
-28
-81
-84
0
-2
0
0
0
14
15
31
9
-59
0
57
0
76
42
-9
-4
0
6
0
0
-10
0
0
0
41
0
29
-16
24
-69
0
6
0
0
0
0
0
0
0
-24
4
13
-2
-4
0
-33
-55
-65
-8
-2
-23
-9
-13
-75
-8
1
25
-23
8
4
-39
-19
0
-1
-18
5
3
4
-29
0
-1
97
0
-9
25
-59
6
0
-8
0
19
0
-5
-17
0
0
8
-4
-4
18
-23
50
97
0
0
23
46
0
0
-9
0
0
24
11
8
38
5
-1
8
-41
14
10
2
-23
0
5
21
-18
8
-4
-24
-2
-24
-5
2
0
21
-4
0
59
-12
0
-3
22
-13
-14
8
79
3
9
-2
-17
0
14
0
-4
23
-45
0
0
-11
0
-1
27
-5
9
0
-4
41
61
-14
38
-19
53
17
11
-32
5
76
14
25
-29
-57
25
7
-4
-11
22
44
18
19
-4
81
27
-17
16
-3
-32
1
6
11
-14
-15
52
4
0
-30
-3
0
7
40
39
0
-2
-43
-5
8
0
-26
51
-4
-1
4
-11
0
-28
-9
41
-42
3
0
-133
31
-10
-87
16
-2
0
50
-45
-6
-8
49
-1
2
-4
26
65
-82
7
6
17
-65
-7
-1
-2
4
-6
-25
-46
19
-1
0
-35
-1
-9
-36
26
-14
-29
28
-2
17
42
-18
0
-5
-4
0
-48
-1
1
2
-7
-13
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-4
24
-3
42
-2
0
15
30
16
20
-16
44
0
43
35
25
-8
0
0
0
-43
-19
58
-21
45
13
0
-1
8
97
-23
0
0
0
0
2
-23
9
0
-1
0
-1
38
32
23
-8
-5
0
0
0
0
0
0
0
0
-49
10
4
-7
-23
0
0
17
29
-9
97
5
-64
0
9
-72
0
-2
-36
27
0
-5
-103
1
-14
-14
-79
0
-27
-51
-2
-1
-64
-1
-1
-1
-80
3
-5
22
58
-8
0
4
-22
8
0
-5
-1
0
-4
-1
11
20
-13
0
97
11
29
0
-61
-2
0
-25
26
5
-12
-54
-108
0
19
36
6
-42
-53
-24
0
-7
-28
30
-8
-42
-19
0
-85
-23
0
-1
-28
-3
0
64
-26
-2
-58
-47
9
0
10
-6
0
8
-13
0
0
6
0
-89
21
-7
-14
0
-8
17
-31
-3
1
-2
0
32
20
26
147
-31
56
0
-1
24
0
10
-2
1
0
-17
-9
4
102
-28
-26
0
-50
-34
5
-41
-32
4
0
21
0
-5
-46
-4
-34
0
61
18
0
10
25
57
0
42
-4
5
-29
-121
-16
0
3
-11
-4
-5
0
0
0
8
49
14
3
-1
27
0
29
-92
-7
-53
-60
0
0
-17
11
-6
53
10
51
0
-34
3
-17
89
4
-2
1
16
-50
51
-52
15
-87
0
21
-7
5
-70
15
7
0
-41
12
-5
18
5
29
0
0
5
-9
-66
47
-4
0
0
-7
48
-9
8
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-22
-22
-5
-30
43
-4
17
-42
-52
-97
34
-25
-16
6
-68
-30
-40
-25
9
-50
-10
-43
-30
-10
-18
-55
-44
-19
1
0
-37
-22
-66
-77
-31
18
20
-56
-42
-9
-133
0
0
0
0
0
0
0
-113
-40
-5
-94
15
-72
-47
-9
-43
24
-9
-3
14
11
37
-39
31
18
-9
10
13
-2
0
-5
-47
-28
-14
-15
19
4
5
38
-33
-2
-28
11
-47
-28
-11
-10
2
-40
-13
-22
8
-41
-6
-37
-26
25
28
-30
-49
-25
29
-22
-20
10
-8
1
47
-20
-56
-2
55
93
36
6
12
27
20
-2
56
13
-2
-101
19
12
-12
-13
-49
-6
-2
-50
-2
-9
11
-1
-14
-15
-13
-25
23
-2
9
-16
17
-45
-27
1
-68
-29
-71
-63
-48
-20
19
1
12
-60
16
-50
-58
24
18
-9
89
-52
-80
15
20
1
26
37
-14
9
41
31
56
-57
40
-36
-41
-12
12
32
3
29
13
-8
27
-10
72
4
-1
14
6
7
-5
83
-112
-1
10
17
-41
-8
-114
-85
-7
-25
-10
2
-9
-35
-74
-35
-12
-12
-51
2
28
-36
-42
-39
-28
-79
-4
-40
45
-21
-34
-67
-3
-29
-6
-20
-23
22
-25
21
-14
-1
23
3
55
-25
27
2
47
0
0
31
3
20
-25
-14
-15
-7
12
-26
16
-18
-31
7
-28
-10
-38
31
-8
-61
-15
-28
38
-36
-95
-4
-16
-7
-11
-23
-11
-55
-21
4
22
-25
-28
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
8
0
-4
43
-1
-49
-17
5
0
0
-1
2
-25
66
-9
0
-3
12
-19
12
0
-4
0
6
0
9
-91
0
0
5
0
0
0
0
0
23
45
-1
0
0
-8
0
0
0
0
0
0
0
-80
-14
-4
-12
17
-21
7
-15
0
-35
0
-7
-84
-16
-131
-102
-7
6
-70
50
-3
-112
58
8
-2
42
20
-84
-45
37
4
-4
6
7
-75
85
-83
0
6
-8
-76
-69
-1
9
-8
0
0
-6
-3
19
22
-1
-91
-20
0
0
-19
17
-1
29
12
-4
0
-17
-26
-24
23
-40
23
1
-100
0
38
-58
-26
-49
-31
-76
15
24
8
-46
-41
-27
2
-50
24
5
-6
16
-23
0
-11
0
7
13
-26
-2
4
-9
0
-1
9
7
-65
0
48
8
-66
0
29
-2
0
4
13
0
-15
-2
0
-49
-12
-32
-4
29
-19
0
-64
-6
2
-84
-9
44
0
22
0
47
55
-32
-13
50
16
65
6
-50
-3
11
1
-27
16
-6
107
2
-23
2
13
11
13
-1
26
31
-57
10
-14
-18
-65
56
-22
-94
0
21
-3
-8
-2
-5
8
1
-13
-2
-32
3
5
0
17
-14
-49
-57
-49
-7
0
-54
43
21
-49
25
-15
0
-109
0
-45
49
1
-28
-19
52
2
25
-21
-14
17
-1
-7
-19
6
-111
-31
-8
-8
10
-37
13
-24
-21
47
-16
1
9
0
-15
2
-2
-1
17
23
-2
9
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
5
-6
0
-15
-13
26
51
53
0
-1
0
0
-5
0
-19
0
0
-9
0
0
0
-15
0
-37
6
13
-7
0
0
62
0
0
0
-16
0
-25
-7
17
0
0
0
0
0
0
0
0
0
0
-44
14
2
0
48
2
56
80
39
7
19
41
-2
10
-56
27
0
2
78
2
-21
-25
57
5
16
97
27
-3
38
15
0
0
1
0
13
0
36
0
0
-4
-6
-47
0
0
-17
0
0
0
49
0
0
66
60
8
27
0
15
47
0
9
-19
0
-2
61
-42
0
28
-30
16
7
14
-61
5
-4
-36
-2
2
15
23
0
6
-29
-8
-3
-4
15
0
-1
-48
0
0
17
-50
0
-21
0
13
-1
0
47
0
0
4
0
-6
0
59
63
-27
0
0
0
0
11
-46
0
23
4
-10
29
17
-13
-42
-13
-7
9
1
-8
0
3
-49
-2
0
-50
-37
0
3
-53
53
0
-5
19
-1
10
40
0
-3
-5
32
0
5
30
9
-5
-39
-22
0
-1
40
0
-33
0
8
0
15
-7
-33
-21
0
-35
0
0
0
0
-1
1
50
-15
0
6
0
0
0
-4
7
-114
7
-8
0
-43
8
0
-17
20
2
0
-1
-3
0
8
1
1
0
17
43
0
-14
10
13
4
13
24
0
-18
60
-2
1
0
26
0
0
4
-2
0
0
22
0
-10
0
0
0
0
-40
-5
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
24
0
0
-3
24
-2
2
-3
3
0
0
0
-30
0
-5
0
0
0
-3
12
0
0
0
118
0
0
6
0
0
43
0
0
0
0
0
-2
59
0
0
0
0
0
0
0
0
0
0
0
-4
14
24
0
39
-8
-3
57
-17
1
0
-8
-125
4
-51
-14
0
0
-52
0
48
-15
-2
0
0
-25
-7
19
5
69
0
0
-3
0
43
0
-6
0
0
0
39
-74
0
0
45
0
0
5
28
22
36
18
5
18
0
0
-74
52
2
0
-80
0
0
-32
-24
-6
14
-69
-13
2
-63
9
-1
0
-17
0
0
8
-28
0
0
19
13
0
32
-10
0
0
2
23
0
0
-3
0
55
1
-42
-3
0
-10
0
0
-9
-1
20
0
-20
-53
33
0
34
0
0
21
-20
4
0
0
0
-13
36
-5
42
-14
-1
0
35
9
0
0
-33
-3
0
-23
-43
3
8
2
63
0
7
-26
-2
0
24
0
-1
0
10
-8
0
-49
-13
0
1
-51
0
10
15
0
-8
0
16
0
-1
-6
59
70
0
39
-1
0
0
0
0
0
30
27
0
0
43
0
-2
-26
2
-15
-2
0
-1
-1
-47
0
0
8
0
0
-1
-88
-9
1
55
3
0
10
33
0
5
-8
-18
0
0
-4
-1
-9
8
0
-3
0
-62
0
0
-5
-9
0
0
3
0
22
51
0
-15
0
53
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
11
9
4
-5
-33
-52
-18
-37
-8
4
9
18
-17
15
1
5
-3
-84
7
-29
-13
-18
-8
13
1
2
-34
0
-2
-6
0
7
5
-22
-53
4
34
-2
1
-2
0
0
0
0
0
0
0
0
-72
3
-41
-44
16
59
-52
-18
-4
3
78
-52
-43
15
50
3
-44
-24
23
56
48
-35
85
6
116
-28
-4
-79
-32
-137
12
37
86
17
0
6
-42
-7
5
64
-33
-27
-8
5
32
0
0
-5
-4
61
-4
37
-117
89
-2
12
-144
-13
5
-41
-34
5
3
-65
52
44
44
7
-23
15
-17
24
69
-1
18
50
4
47
26
-78
30
-42
45
53
8
-5
-20
-4
8
-14
-6
-72
6
-3
-24
-107
73
-12
2
24
19
-2
46
13
-13
0
9
29
-6
0
-49
-19
12
-19
19
30
-74
1
-10
-130
23
55
42
-8
-14
94
-13
36
-13
-40
-33
26
-8
29
-38
109
66
-73
-37
-43
-28
1
-30
-81
-13
-45
72
51
-30
0
-27
-29
-40
-144
1
-11
0
-1
34
-48
61
-24
-7
7
-34
-6
4
46
0
22
3
-5
-1
41
42
0
-44
-24
-46
4
-4
-8
-13
4
49
-85
83
25
13
-10
-7
35
112
20
-49
20
-80
-9
-40
75
-17
-3
0
-22
23
24
-22
-84
47
-15
-84
7
-13
-3
-107
-44
-25
-31
-16
-12
22
-40
7
-90
-1
9
-5
-51
-41
-22
-41
-1
13
-18
-1
17
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
4
-1
-1
5
7
0
0
0
0
0
0
-4
0
0
-2
0
-3
0
1
0
46
0
0
-46
0
0
58
0
0
0
0
0
-3
27
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
85
0
0
14
0
0
-1
45
-5
24
-61
-13
8
0
14
0
-3
26
6
0
0
9
0
-34
18
-6
0
0
-4
0
-3
0
3
0
0
0
-7
38
0
0
-31
0
0
0
-6
0
-48
8
-1
0
0
0
10
-20
-2
0
-66
0
0
-38
12
0
-102
-2
8
0
26
-77
0
0
-20
0
0
30
28
0
31
7
8
0
7
-81
0
0
29
0
0
15
3
-1
85
-48
1
0
-1
21
0
0
0
0
0
0
-8
-16
-5
0
0
0
0
-9
0
0
0
0
0
0
-24
14
-4
19
0
0
-50
-73
0
5
-42
0
0
-62
-11
0
0
-49
0
0
51
24
0
2
2
0
0
2
43
0
0
92
-18
-3
-3
-10
0
0
-12
0
-3
0
26
0
-7
-1
0
31
0
35
0
0
0
0
0
0
-61
20
0
5
0
0
0
15
0
30
8
0
0
7
-14
0
0
-14
0
0
0
29
5
1
12
0
0
-2
5
0
-5
10
3
0
0
0
0
13
-42
0
0
1
-20
0
-2
-2
0
0
0
-76
0
14
-2
0
8
0
-11
0
0
0
0
0
0
0
0
0
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
43
0
-1
-7
42
3
-53
-43
-3
5
-5
7
0
-9
-57
50
-4
-2
-12
0
0
-15
-13
-4
0
-7
-1
0
-2
-18
0
0
-2
0
-1
-44
74
-1
15
-1
0
0
0
0
0
0
0
0
-24
-46
12
14
16
5
0
-24
-33
-3
-12
-94
-76
-2
50
31
-2
1
-26
-2
-9
67
-32
5
19
-14
24
7
-38
15
3
-2
-11
5
1
43
-5
-1
0
-20
14
-4
-4
-3
7
0
0
27
0
1
-11
21
68
-10
8
0
5
-9
23
41
-2
5
-1
-14
8
27
3
-14
-77
0
-84
-22
-19
-6
-53
-3
0
5
-39
5
8
-32
-7
0
-2
-18
0
6
-20
24
3
10
33
0
18
-10
-39
0
-54
-10
15
-3
23
0
0
0
47
-26
7
-2
-69
0
-4
-6
33
9
96
7
0
-54
15
-87
-35
72
-14
0
-36
11
5
13
-6
3
0
40
-24
27
60
-35
34
0
12
-23
1
-13
7
60
0
60
12
-8
20
-1
-24
0
47
15
1
-8
-12
-1
0
13
10
-3
-30
6
-56
0
0
24
0
1
0
-9
0
0
-27
54
-1
43
29
0
5
2
-1
-66
-9
2
0
-6
19
0
-7
23
41
0
-22
-10
12
-15
-14
-2
0
-39
-46
-7
69
18
8
0
-17
-28
-2
19
-21
-8
0
-21
-43
0
50
109
33
0
0
45
-5
26
-50
5
0
0
3
-104
41
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-154
3
70
112
19
42
-48
59
48
48
-10
-45
41
-76
8
0
2
13
67
20
-104
0
24
-15
0
0
41
31
-2
24
35
-1
6
-2
0
0
0
0
0
0
0
0
-33
-25
3
13
-35
-31
-20
-6
22
-66
-14
-4
-30
14
1
-33
24
55
-56
8
-32
-140
-23
-27
73
-53
-85
-78
28
-2
0
9
-52
32
-90
35
-12
4
-1
-108
-36
-93
10
30
-35
0
0
-3
-102
-1
28
79
-37
-17
-4
-2
49
-16
33
68
15
-8
6
-81
21
42
8
-45
-47
-59
-53
-14
45
58
-71
-84
-64
-85
-35
20
41
-48
-58
-55
-5
4
-93
51
-62
15
-49
-52
12
-25
17
-59
-36
-123
39
-46
-6
7
22
-9
-30
-4
0
-55
57
-1
-71
0
-14
3
18
-37
-7
41
6
-7
-21
-12
10
3
-6
37
-3
17
-34
-43
-19
13
-111
-106
8
49
1
25
-24
-24
-18
10
20
39
-9
-134
-43
-60
-33
41
-17
-3
-22
-3
40
-16
-4
39
-33
-18
-100
-33
17
17
-4
-33
-25
-60
0
9
-17
2
7
-50
-97
9
-15
57
-58
69
-45
2
99
-69
5
4
-45
4
-10
42
10
-14
2
-61
27
-31
26
-38
-13
13
14
-7
9
11
-21
38
81
-27
-72
-38
71
-36
10
6
26
-15
-20
-8
-19
32
-16
-23
-53
-29
27
-9
-3
-14
-112
-5
-56
0
8
-28
7
18
-17
0
0
0
0
0
0
0
0
0
0
0
0
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
65
-31
-2
-8
9
-48
84
84
41
6
-1
-44
-21
0
68
7
-1
-1
-1
-230
0
0
-9
0
0
19
3
-2
5
9
-1
13
0
-2
0
0
0
0
0
0
0
-23
-9
-3
29
-12
-59
-73
36
-19
44
97
45
22
-4
30
0
40
-25
-6
31
-33
3
1
3
5
25
-62
-89
-13
-64
2
-1
-51
-7
-215
-9
3
0
0
-17
-52
-126
0
-3
26
0
0
1
-91
-2
12
-28
-21
-28
8
0
-48
-29
-28
60
-18
19
16
-14
-40
1
10
-40
24
12
-11
10
31
-11
15
16
47
15
0
-18
10
-92
-18
36
18
7
0
-17
-45
60
-13
-87
-65
0
-30
-60
52
-53
-30
-5
0
-2
-8
-6
-59
0
4
-56
-29
0
-70
-49
-1
24
-51
27
49
8
-1
-9
-11
108
-32
13
-70
-25
-20
12
32
0
-4
31
-22
-10
27
-5
-25
4
30
26
-32
0
-42
-8
63
50
-26
60
11
30
-76
-3
-9
-78
77
-9
-5
-2
-81
64
-105
12
4
0
-7
-53
-68
-88
-1
11
-89
-5
14
13
-43
0
19
13
41
-46
5
0
-8
-24
-55
43
3
-9
-5
30
16
13
107
41
-50
5
-127
12
31
10
-34
0
-15
-23
0
-43
-23
-14
-34
-57
-33
-38
5
-21
-52
-100
-18
3
10
14
46
-58
-11
-25
-1
-12
0
-23
31
1
30
7
-14
9
-7
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-24
-3
0
-5
0
-18
55
2
0
0
0
-5
-10
0
22
0
-34
0
0
7
0
0
24
0
0
18
-5
0
-34
-60
-2
-2
0
-1
0
0
0
0
0
0
0
2
-4
0
7
14
0
-18
37
-94
0
8
-49
48
13
-7
0
-1
6
-38
-1
26
74
60
-1
0
-19
47
13
-21
-34
0
0
32
0
-32
0
-4
0
6
8
17
31
0
-9
13
0
0
0
-18
0
13
81
-6
-20
-6
0
13
30
0
8
-75
0
0
-5
36
0
50
-28
123
2
-63
-52
5
8
-10
0
-26
-50
-44
0
6
-44
12
-4
-4
11
-4
-5
5
0
-4
7
8
0
-34
52
-109
2
-13
9
0
0
5
22
-25
0
27
4
38
0
0
91
0
42
69
-3
17
-1
5
-33
13
6
-54
42
18
-3
58
18
0
8
-6
3
0
46
-30
13
-19
-42
14
-20
-97
-82
-3
-15
6
0
84
-42
-19
0
-49
70
4
-7
13
-44
-1
5
-64
1
-22
-2
20
8
-5
8
19
35
-1
-34
0
22
-5
6
3
0
-14
14
-1
0
-1
0
8
21
-2
-59
-59
3
-1
21
43
-1
-41
-117
6
7
18
-1
-8
-21
56
1
-8
12
-5
0
-104
-56
-22
22
7
-33
0
-25
-4
0
-10
0
-1
0
-29
16
2
15
0
-15
4
-49
4
-6
-8
0
27
-40
-3
-1
22
-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
-6
18
0
0
1
1
3
0
25
0
0
0
-1
-8
0
4
0
35
0
0
-22
0
0
-43
0
0
0
10
0
-32
-22
0
0
0
0
0
0
0
0
0
0
0
-27
-15
0
0
-55
1
27
-59
-20
-1
59
31
-53
-14
74
-38
-3
9
-53
0
70
30
8
-6
0
24
20
-81
-12
-22
0
0
-3
0
37
0
30
0
0
-2
9
-66
0
0
-9
0
0
0
50
0
-46
46
-5
-12
-6
0
-74
6
0
0
-58
0
0
58
-24
4
10
92
-31
-2
-29
-18
9
0
5
16
2
-95
42
0
0
24
-20
0
-21
20
1
0
59
0
-3
2
86
0
-103
32
-34
0
0
8
0
0
0
0
-3
0
12
-87
-41
-1
4
-2
0
55
17
0
2
0
0
39
0
-14
4
-48
0
0
-31
-74
-1
-66
-10
0
-8
-15
47
0
3
5
-19
3
-9
-6
0
2
14
18
1
-6
-30
0
0
-10
115
-2
-4
8
15
1
15
0
-2
12
7
0
0
8
-8
-2
0
0
24
0
0
0
0
0
-45
46
0
0
-2
0
1
-31
0
-26
7
3
0
33
-26
10
7
29
5
0
-5
-28
-8
-4
8
0
1
-3
-16
0
-1
5
16
0
22
-12
1
-5
-28
0
-13
0
-27
0
-6
17
49
19
0
0
0
16
-1
0
5
0
62
10
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
45
0
-1
0
-3
-61
-5
124
0
-1
-10
-50
47
-1
-3
42
-6
0
0
-3
0
0
5
0
0
9
-5
0
43
-18
-2
3
-1
0
0
0
0
0
0
0
0
-60
43
3
-19
32
-13
1
-69
-38
3
-9
-33
10
7
-6
64
8
29
-10
-1
-78
-22
5
0
13
-24
-37
-49
-129
-2
0
-1
28
0
-63
17
-9
0
0
2
-69
-95
0
5
-67
0
0
-2
-5
0
7
-9
32
-64
7
0
-49
2
16
30
-3
16
-5
-30
24
3
27
12
-65
-7
-47
-27
45
-4
5
43
-5
67
36
25
-7
-19
79
0
17
-13
0
4
-46
-6
29
-12
-14
0
-34
8
-126
-13
31
-28
-4
-2
0
0
-116
0
0
-31
54
0
-16
-8
-3
33
-13
0
8
-3
0
-61
33
-75
-13
-11
50
43
-75
8
2
-19
-8
8
13
-33
-21
19
-61
30
40
-31
-49
-9
6
12
-113
-44
6
30
-1
0
50
85
41
-41
25
6
0
1
-20
3
-26
-1
-40
10
-10
-3
-42
-25
0
-60
10
-14
0
-3
27
0
36
63
18
-7
-3
0
-9
-85
19
-34
-70
2
0
12
9
2
23
47
-7
0
-12
-51
2
44
-1
23
-1
-7
-12
8
-18
-63
-31
-2
48
-19
0
37
-5
12
0
15
-4
0
-24
-15
27
-21
0
0
0
-15
-2
0
-1
0
-5
-16
-2
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-31
31
-2
0
-2
-2
-58
-25
-8
30
-13
0
20
0
20
13
7
0
0
-30
0
-2
-11
0
0
0
-17
-1
-22
-30
14
-5
0
0
0
0
0
0
0
0
0
-20
-23
-18
0
-9
0
-17
-55
-65
-5
33
-22
-5
-2
25
-33
1
32
2
-6
-12
-48
-8
0
-5
-36
0
9
-66
-92
2
-2
6
0
-5
-1
32
-1
0
-34
0
8
-1
43
19
0
0
0
2
0
5
-39
3
-22
0
0
27
-13
9
35
25
0
0
-90
-42
43
-29
-38
-10
35
-4
-21
53
72
-13
-1
42
41
-1
-13
-16
28
6
-12
30
-30
41
13
6
67
-26
-22
-59
0
-60
-27
-6
-49
35
17
-3
1
49
0
71
-1
-11
15
-6
-1
0
-103
8
-6
-62
18
50
0
-2
29
-5
30
-33
-27
-2
32
-100
0
10
-13
-15
1
-25
22
16
59
16
10
-29
-8
14
-8
-17
-68
3
0
-33
1
26
12
-4
23
-3
9
16
20
6
-21
13
4
0
-5
22
3
4
-12
30
3
0
-12
5
-1
0
-6
-4
0
1
-16
49
-17
0
0
-20
8
-32
13
33
0
-28
-87
4
-7
-10
-3
13
-35
-84
36
-24
-19
52
-5
-23
58
-2
-2
-127
46
-52
-31
-56
35
-5
29
-40
17
93
-25
28
3
93
-13
-20
32
-55
-1
0
-33
-82
-6
-33
0
-36
-67
6
13
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
-14
1
32
1
0
20
-101
84
66
-15
-45
0
15
-57
-47
14
-2
10
-1
0
-31
-18
0
-1
-28
0
14
23
-4
-2
-55
4
0
0
0
0
0
0
0
0
30
-7
0
8
-8
41
-1
-54
-23
25
-52
-24
-28
13
-51
-41
17
-8
-78
-23
-9
-4
37
1
19
3
26
-2
55
26
29
6
-22
55
16
24
-47
-3
-2
-74
-19
45
-5
-68
-23
0
-1
-87
33
12
8
-30
30
-6
0
0
31
15
-8
103
-18
46
0
18
31
9
37
10
-25
0
-46
-11
18
-36
-11
-13
-3
-26
-32
31
-24
-17
-8
-1
35
-4
13
58
-7
65
0
28
58
-4
-21
-45
-42
0
-27
-10
31
-2
-34
3
0
7
-1
-64
5
-4
-10
0
-3
10
-9
-8
-52
-4
0
-45
30
28
57
11
-43
0
31
31
5
-12
14
-37
-1
21
-2
80
35
-13
-51
1
61
-35
-16
-29
-6
43
0
1
-12
17
83
23
30
-3
83
16
-5
13
23
44
-5
-47
-12
28
-22
-10
-4
2
-1
6
-40
23
21
-15
0
-2
-2
-73
-28
24
-5
0
-51
13
-15
-6
-55
13
0
-79
-11
19
17
-31
-14
0
-68
-1
-1
6
-43
-1
5
54
-12
11
-71
0
21
0
85
-12
-32
-63
30
-70
5
74
-26
-2
3
-12
-45
-1
13
-12
0
-24
31
-22
0
-1
-9
-31
-29
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-19
4
-3
21
-30
3
-3
-1
34
-4
51
1
2
0
7
-3
0
-1
6
0
0
-4
-9
3
5
-17
-5
0
0
0
0
0
0
0
-12
-31
2
24
-33
17
-45
7
-53
-9
-8
-36
-47
-33
-76
-63
29
-2
-97
-106
-25
-23
0
25
8
34
9
-8
4
-18
-33
9
-29
40
4
1
32
0
0
50
-1
-11
0
4
-101
0
0
-42
-34
0
-7
-16
3
-20
-45
3
13
-3
3
10
-15
-16
-15
-6
5
60
-2
-50
-26
6
-24
-15
35
-2
-22
28
-68
-76
2
18
-5
1
-46
-45
-89
3
-6
29
17
-60
-12
-1
13
-20
-5
30
-8
4
2
-15
9
12
76
-12
39
5
10
-73
-43
1
13
-3
0
-1
-30
29
9
-3
24
-98
-14
-76
-13
-57
-81
-23
3
-1
19
-74
-57
-50
-1
-31
2
69
-33
-26
-44
-21
-50
2
-13
57
15
-19
-15
-28
-14
-4
-59
35
-36
-4
-1
-7
-5
57
15
-80
-9
0
2
-7
-2
-26
-19
-15
0
-24
-12
-3
-4
-21
-46
0
-6
101
9
19
-33
-2
39
-23
13
4
-20
-70
-29
28
0
16
-56
-17
5
-13
-7
21
-9
-109
-11
46
57
36
-17
-14
-120
31
-8
-63
-20
2
-5
-33
-17
-10
23
76
-3
12
20
48
-29
-7
1
-1
-15
17
-28
17
-20
0
-43
-29
-5
-1
-35
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-17
-4
-2
0
20
-43
-20
-75
9
-29
25
-5
-104
0
-2
-39
0
-1
-2
-2
-1
-89
15
-1
7
-1
0
0
0
0
0
0
0
0
-91
8
-7
22
-6
15
-10
5
-23
75
-20
4
21
21
-44
-87
-5
-2
-27
-22
-22
62
0
34
1
-13
163
4
-64
-27
-2
-2
-29
-5
-77
-5
27
-1
-2
-3
-79
-130
-6
31
-66
0
-1
-6
-108
-8
3
-25
56
16
-5
0
5
15
-18
14
-9
3
0
-17
-9
-6
17
13
39
1
-65
-9
25
5
-14
113
2
-8
-10
-35
64
-2
116
33
21
0
21
-4
-16
20
-5
-4
51
-8
-65
-15
0
-25
3
20
-3
-4
-8
41
-28
-2
41
-34
-27
5
-36
-13
13
12
-5
16
-37
0
1
-41
-3
-76
47
44
-86
2
-57
-17
-32
-2
-4
7
-30
13
-1
-4
20
5
-25
2
-15
48
33
-68
-29
29
-1
52
0
19
-17
3
-68
-50
-6
-12
-6
-25
-5
45
-43
-13
-26
5
0
-39
-73
-20
15
20
41
-46
-2
-17
-25
-1
31
-46
-10
-3
-1
4
9
-22
52
-19
19
6
4
28
2
-39
-44
-47
-14
-2
-53
-40
-24
-41
-10
-3
21
-10
-3
8
-30
-47
47
13
13
0
-6
-33
7
-21
36
7
-10
-8
19
18
-96
0
3
21
0
-23
-41
37
32
-5
23
-40
-33
-2
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
46
0
0
0
0
-9
0
0
0
-30
0
0
-15
0
0
72
0
0
0
5
0
-39
-8
0
0
0
0
0
0
0
0
0
0
0
-51
1
0
-2
3
-8
-3
-1
8
0
-7
-34
-29
32
17
-57
4
0
26
-3
-44
38
-23
0
6
-3
-5
-35
6
-20
0
-4
22
0
55
1
-14
0
0
6
14
36
4
19
28
0
0
0
57
0
-2
56
37
28
0
0
-52
30
0
0
0
0
0
24
35
-8
55
-48
41
0
6
15
3
57
-20
-7
0
-55
-48
-1
2
19
-7
92
-18
-131
0
13
-42
0
-8
0
-15
0
-3
-8
-15
29
0
-42
0
0
34
-8
15
0
11
-44
7
0
15
3
0
-12
42
0
4
0
0
-1
14
19
64
90
0
0
91
-4
0
22
21
0
-5
13
28
0
0
18
24
0
-3
7
0
-5
-131
0
-14
-4
-109
0
33
-42
-9
0
0
-15
0
6
-30
0
-1
0
-48
0
9
-3
89
-39
0
28
0
0
0
0
16
0
-45
-10
0
-1
1
0
0
-3
-4
-32
49
0
0
8
-22
0
54
70
0
0
22
-28
0
-9
-32
0
0
0
52
-3
32
10
-8
0
0
-63
0
-29
23
0
0
-5
-44
0
-6
0
3
0
0
45
0
5
6
0
2
0
25
27
3
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-2
0
0
2
0
-79
0
0
51
0
0
-10
0
0
0
0
0
10
-5
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
17
0
-2
73
-12
0
-4
-3
-92
-41
-51
-12
0
0
28
6
-2
31
3
0
0
-10
8
9
13
-5
0
0
18
0
19
0
20
0
0
0
-1
112
0
0
-22
0
0
0
-2
0
-37
27
-15
1
0
0
49
-27
0
0
-4
0
0
51
20
0
3
-5
-15
0
-77
34
0
-1
-3
8
19
-12
-28
0
0
3
-5
-1
20
-14
0
0
-36
0
6
0
-7
0
19
-8
-13
-27
0
-21
0
0
0
-1
0
0
-6
54
-3
0
-1
0
0
21
-2
0
4
0
0
0
27
-23
0
-5
-1
0
-19
-36
0
0
-42
0
0
-10
-1
20
0
-47
0
0
5
-22
0
0
50
0
-2
-12
15
0
0
-49
14
3
0
43
0
0
5
-1
55
0
38
0
0
0
-8
-1
0
6
0
0
0
2
1
0
32
1
0
0
0
0
0
31
0
-8
25
0
0
0
-71
0
2
37
0
0
-1
20
-6
5
-15
-3
0
0
-23
0
9
-13
0
0
0
61
0
-10
-1
0
-1
-6
-56
0
0
-3
-5
0
0
-21
0
-5
-3
-4
-10
0
-61
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
50
0
0
0
13
1
0
-7
0
-11
0
0
-44
0
0
-10
0
0
0
-2
0
-42
33
0
0
0
0
0
0
0
0
0
0
0
33
-10
1
0
-72
0
0
37
-4
4
-1
-13
32
13
9
-15
0
0
-22
0
-16
20
-35
7
0
0
2
-49
-40
-21
0
0
67
21
46
-2
8
0
0
0
33
-43
0
0
-93
0
0
0
-27
0
24
-44
-18
0
1
0
-48
27
1
-1
-58
0
0
-23
19
19
43
-70
-71
32
-17
-41
-9
-2
-26
2
-8
3
40
0
0
-47
-50
2
16
-77
0
0
69
1
32
7
-39
0
-45
1
-22
2
7
-46
0
8
10
0
-19
0
13
14
-9
0
-7
3
0
77
4
0
-2
0
0
-5
-17
-16
12
-2
1
2
12
-40
20
57
-88
41
0
-1
-13
-2
12
-58
25
-2
-33
-22
0
0
-15
-3
-6
-75
-61
8
5
20
-40
-10
1
-42
0
0
12
1
44
0
19
7
16
0
30
-17
0
-7
-1
3
0
0
-9
0
-22
-2
8
0
0
0
0
41
0
66
-6
-1
0
-1
-18
0
-9
-8
1
22
-13
3
0
66
6
0
-1
-24
38
-7
10
-4
-16
-10
33
-21
0
1
-3
0
-13
13
-15
0
0
0
-25
1
0
-14
0
-78
0
0
4
0
-4
-5
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
0
0
-1
-5
-1
0
0
0
-7
0
0
43
0
0
32
0
0
0
0
0
10
-8
0
0
0
0
0
0
0
0
0
0
0
-113
0
0
0
-54
0
24
-16
11
0
0
2
-4
8
1
-1
0
0
7
0
4
-50
0
0
0
-18
0
6
93
-10
0
0
-13
0
-8
0
2
0
0
-2
0
-6
0
0
25
0
0
0
-19
0
-10
8
8
-4
0
0
16
-8
0
0
-147
0
0
-31
-7
-1
10
11
-1
0
28
-104
0
0
21
0
0
-23
0
0
0
-72
6
0
116
-60
0
0
36
0
-2
8
-45
0
-28
-2
4
-4
4
-73
0
0
16
0
-1
0
0
21
-1
0
0
-10
0
-9
0
0
0
0
0
-12
-34
-5
3
32
0
0
-20
18
0
0
-71
0
0
-30
-3
0
0
-5
0
0
-31
1
8
-1
-116
0
0
-8
25
0
0
-20
-3
-32
-8
9
0
0
-17
0
13
0
52
0
0
25
2
-5
0
-34
0
0
0
0
0
0
40
1
0
-1
0
0
0
31
0
-32
-1
0
0
3
-32
0
0
13
0
0
22
-76
0
-6
-19
0
0
3
61
0
0
1
0
0
0
1
0
9
-1
0
-1
0
26
0
0
-2
0
0
0
-29
0
-5
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
1
16
0
7
6
0
-1
-6
90
-1
2
-17
10
0
-10
-2
0
0
57
0
0
-58
10
97
34
2
0
0
0
0
0
0
0
0
2
66
-3
20
12
-5
0
14
-17
10
-5
-11
-30
1
-34
-10
5
22
-21
-30
-7
12
-14
10
-1
53
-6
9
7
20
-13
31
-31
-3
-1
28
42
8
-4
-95
23
1
-2
28
14
0
0
-14
-2
-21
-3
-24
-77
-62
10
0
30
-6
-9
-75
6
-5
0
11
24
42
4
23
-68
0
-16
8
0
-7
-11
-6
0
-26
-20
-31
44
-21
-25
0
-33
-112
13
-24
-14
-96
0
-2
-11
-2
-5
-11
28
0
-102
13
-2
81
-1
22
-24
-6
-3
-2
-2
-4
32
0
0
-2
29
-24
-11
0
0
-10
-10
-7
-31
10
-101
0
60
51
-6
-75
34
-15
0
-18
0
13
13
-17
28
0
-4
-2
-7
-29
-21
-19
1
53
-9
-5
-35
-17
-16
3
51
13
21
-7
-2
63
-5
12
5
0
78
4
18
0
0
29
-72
9
-58
-23
0
0
-23
7
0
40
43
0
-69
-5
-7
-44
-50
-5
0
45
18
0
-1
-9
18
0
10
11
-13
-26
-70
5
2
58
9
-23
-14
78
11
0
6
-19
9
-39
36
9
0
113
-11
34
4
-17
53
-1
8
38
-1
-10
-26
2
0
0
21
8
3
-8
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
-18
0
0
-28
0
0
-82
0
0
0
-5
0
-44
-10
-5
0
0
0
0
0
0
0
0
0
0
15
0
0
-2
5
0
-23
-13
-4
5
-1
0
-70
-89
5
-3
4
0
11
20
43
7
0
17
27
-20
-52
-18
22
66
0
0
-22
46
4
0
10
-4
1
-81
-18
-106
0
-3
-141
0
0
0
1
0
13
24
24
-16
0
0
55
38
0
0
58
0
-8
-50
-22
-3
56
6
-54
0
48
-6
0
0
4
-1
-30
-4
51
0
34
-60
-41
5
-43
-20
0
-6
31
23
-5
0
-3
0
-33
-64
11
48
0
-130
25
0
-31
0
-2
0
14
-9
-140
0
25
0
0
26
50
0
0
0
0
7
1
23
5
-47
-17
-5
6
-63
0
-7
-22
1
3
-54
32
5
-5
-91
-42
-4
-10
44
-6
-22
-15
0
-97
0
-52
0
0
-42
-79
9
25
-87
0
1
-49
-7
-18
5
-88
0
0
-6
-2
-83
0
-12
-17
-2
-1
-49
-2
0
4
-20
8
0
9
0
0
10
1
-20
1
0
4
0
-6
0
5
-83
-2
-1
0
28
5
-32
0
1
7
0
-38
0
42
-3
14
-10
6
-61
6
25
-69
-14
33
0
-7
0
47
0
-69
-13
0
-36
0
-57
-1
-7
19
0
-59
-5
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
70
5
-30
-2
0
-105
0
3
-39
0
0
-2
-1
0
-74
27
4
10
0
0
0
0
0
0
0
0
0
-16
-49
0
1
18
-13
-9
-44
-73
38
-35
17
-14
-63
59
-13
13
17
45
35
-105
50
-49
1
90
28
-29
-84
0
0
-4
-41
91
-19
35
-28
-30
8
0
15
32
-57
3
30
31
0
0
1
1
-1
26
79
-23
-1
-6
0
-20
29
49
-23
17
0
19
-42
19
-43
5
-42
-8
-3
-24
20
-2
-16
-88
24
10
56
-20
-13
-27
-4
-105
-53
65
-40
-8
7
-29
-9
-90
-7
0
9
-47
-78
4
-27
20
-46
25
-20
-22
30
-37
0
-44
57
13
3
15
0
4
2
-118
-4
-24
0
0
-20
17
39
8
34
57
-12
-60
3
-8
-119
-45
-7
5
-7
-15
14
39
-21
-66
1
-77
11
-3
17
-22
-57
-72
-6
-30
-1
-64
-5
-43
-66
-119
0
-8
-14
-62
7
-31
0
-39
17
-75
-40
13
-31
1
-50
29
-5
5
2
-3
0
7
-26
32
20
14
6
-32
-34
-15
-11
4
-1
-2
-35
11
-17
-70
-18
-116
2
49
49
25
24
-5
12
5
-3
-32
1
-31
-71
31
-11
-63
-13
-5
-87
-50
19
-2
-31
0
0
-9
21
-69
13
-12
27
0
26
16
31
-4
-5
-70
-30
-1
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
21
0
0
26
0
0
0
-4
0
3
-1
0
-1
0
0
0
0
0
0
0
0
0
-41
32
0
15
-89
0
0
2
-8
2
0
6
-79
-55
41
17
0
0
59
0
23
-10
3
0
0
65
29
-8
60
25
0
0
30
0
-1
-6
-5
0
0
0
0
-40
0
-4
-7
0
0
0
59
0
21
-86
-7
9
0
0
-28
11
0
0
-110
0
0
-41
28
0
3
28
6
0
-31
-40
0
-3
-9
1
20
48
-8
0
0
38
-18
0
12
41
0
2
-2
0
-5
8
-66
0
-40
-14
12
22
0
56
0
0
-3
0
7
0
-38
-36
15
0
0
30
0
77
14
0
-3
0
0
14
-31
0
7
-27
-1
0
-76
61
0
0
-17
0
0
-91
43
0
-1
-54
27
1
24
20
0
-4
2
0
0
8
-98
0
69
-41
31
2
4
-125
0
-3
9
0
-10
0
-19
0
1
13
0
-3
2
3
0
1
0
0
-1
0
38
-7
0
0
-2
0
0
13
0
16
16
0
0
0
22
0
-10
-4
0
0
-4
-6
0
-14
-15
0
0
-3
-9
0
19
-12
0
1
1
-40
0
77
1
-8
7
2
-6
0
-14
0
10
-8
0
-4
0
-72
-7
0
0
0
33
-10
-5
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
4
25
0
0
12
0
0
28
0
0
-1
0
0
-3
24
0
0
0
0
0
0
0
0
0
0
0
-21
-1
20
0
4
0
-2
-43
-8
-4
0
52
51
-16
-37
61
0
0
-75
0
0
0
-3
0
0
-18
-12
43
-19
-42
0
0
-5
0
-59
7
-2
0
0
0
42
10
0
8
-6
0
0
0
55
0
-3
-1
-1
-4
0
0
-28
4
0
0
-11
0
0
-20
-150
8
-66
53
42
0
59
0
0
0
33
0
4
52
-26
0
0
-38
53
0
28
37
0
0
0
27
0
9
-66
0
2
-4
-42
5
-6
38
0
0
0
0
-8
0
-12
-56
32
0
-1
0
0
-71
1
0
8
0
0
0
-45
-2
0
-40
-3
0
-74
29
0
0
83
0
0
-57
27
0
-1
-23
-8
0
22
-30
0
0
-18
0
0
-14
34
0
0
7
-25
-1
-1
-37
0
-2
-3
0
-67
0
3
0
0
-5
-3
-2
0
-73
-3
0
0
0
0
30
2
-17
0
2
0
0
0
-65
0
102
-3
0
0
-2
-14
0
-8
-1
0
1
27
49
0
1
14
0
2
0
-69
0
0
-23
7
0
0
24
0
-6
4
0
-1
0
-24
0
0
-24
-18
-12
0
-32
0
-42
-1
0
-1
0
-55
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-8
0
0
-30
0
0
6
0
0
0
0
0
26
-1
0
0
0
0
0
0
0
0
0
0
0
-73
14
0
28
-20
-1
-23
-18
42
-1
0
-34
-14
-78
-11
18
0
0
-4
-12
15
-10
-31
0
0
49
-40
-3
11
-59
0
0
42
-34
-61
14
19
-1
32
-18
-10
65
0
0
-147
0
0
42
40
0
-20
-23
-27
7
-1
0
-15
26
5
2
-31
12
0
-55
-4
0
14
-57
-32
0
-1
-2
0
0
34
39
-22
-20
2
0
0
-33
-53
-41
3
8
3
0
34
42
6
-44
-57
0
-1
33
-34
-45
48
-22
0
-2
0
5
35
0
0
-94
-24
0
-97
1
0
-10
22
0
0
0
0
-15
-25
72
44
-117
5
4
116
-22
-2
2
-8
-29
-16
57
-45
45
-2
-5
-16
-30
-51
-41
0
-2
-10
66
-23
1
28
-6
8
-15
-75
1
-7
-7
0
2
-16
3
6
19
-43
0
-1
0
-45
-21
0
-18
-8
3
0
3
-24
0
-27
-2
4
0
-8
0
4
57
0
-19
-33
-7
-3
6
-4
0
4
-14
-6
-5
35
-32
5
44
32
5
4
-37
18
2
25
1
-22
-43
44
8
0
-78
9
-5
-44
-18
7
0
-4
1
-85
-30
-2
-23
0
-22
0
-2
51
0
-36
-4
0
0
-19
-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
-3
0
-37
-18
0
10
0
0
21
0
0
0
0
0
-47
38
-1
13
0
0
0
0
0
0
0
0
0
-10
-5
3
-5
-32
0
42
-88
-86
6
-4
12
-4
30
-49
4
0
-3
-4
4
-14
-157
-49
0
0
-54
7
-22
-61
-18
6
0
-11
20
24
-2
3
0
0
56
-3
24
0
-10
9
0
0
0
-48
8
-18
-33
4
32
0
0
-100
-13
10
6
-30
0
0
-3
-45
5
3
-43
-2
0
-9
-23
0
9
-38
0
72
-6
4
0
-3
40
-2
7
-50
-24
0
-1
-10
7
-20
-10
-14
-2
34
-32
-6
-55
7
12
0
0
-5
-2
-19
4
-9
-6
-44
0
-8
20
-2
-32
30
0
5
0
-16
39
-23
37
-4
-28
0
14
-35
-15
3
-59
15
0
48
-13
-44
0
-41
-62
-3
60
-46
43
0
-9
-18
-1
16
-7
1
2
-9
-2
-4
48
11
-9
6
34
9
13
21
3
13
0
0
-22
-2
-14
0
39
61
0
0
0
-26
0
-26
51
5
38
0
0
-74
7
-5
28
0
0
0
55
-6
0
4
45
-1
-2
-45
2
0
-45
29
1
21
25
63
0
-43
-1
-12
-25
8
22
-4
-32
-21
0
41
20
-10
0
8
13
-2
47
-7
38
0
-9
-25
-3
-52
0
29
-7
10
-4
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-44
-4
0
-4
0
0
-7
-16
0
5
20
0
-8
23
56
-12
15
0
0
0
0
0
0
0
0
0
-4
4
-6
-6
13
-3
0
-32
-19
1
-8
-85
25
14
-13
42
8
22
6
-4
2
31
7
42
-4
45
-9
-3
32
-82
19
-2
26
-2
-3
14
33
-1
-5
7
34
-2
-4
-3
-12
3
0
-16
-2
-19
-15
-12
-39
0
0
0
42
-17
57
-8
-13
1
0
8
8
30
40
-9
-21
0
-4
16
-5
41
-18
-42
0
-13
-10
0
11
-45
3
0
18
-25
-8
25
-34
10
0
14
0
-3
-36
36
37
0
-37
14
12
5
67
31
0
0
14
-25
13
6
18
0
7
-10
24
27
34
12
0
-16
-5
-2
-54
4
60
2
-1
15
17
-25
-11
-6
0
-6
28
15
-10
11
61
0
18
-16
5
49
23
-18
0
-47
-25
-8
55
25
16
0
0
-23
27
3
-25
-1
0
60
10
5
64
40
31
1
0
36
34
30
0
31
0
0
-44
29
-5
2
-42
0
-17
-12
15
-10
-49
7
0
16
20
30
-39
-23
-3
-2
0
12
7
40
38
6
-5
105
3
49
120
-2
34
0
27
-19
29
-21
-2
-41
-2
-33
-13
-5
-96
-17
-21
0
47
-13
4
-15
14
12
0
14
4
-60
19
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
-68
0
-4
0
-22
0
1
74
4
5
0
23
-10
0
-6
-7
0
0
43
0
0
1
2
0
2
42
51
2
-30
-3
0
0
44
1
2
-1
14
0
0
3
-1
-3
0
0
-24
0
0
0
0
0
28
3
0
0
0
0
22
-47
0
0
-4
0
0
-8
32
-4
-85
-13
0
0
-4
32
0
0
34
0
0
4
-59
0
0
-5
14
0
0
-1
0
0
8
4
8
-8
-6
0
7
0
-6
8
0
-55
0
0
4
0
-1
0
-20
2
-1
0
0
0
0
-15
5
0
0
0
0
0
29
2
0
-23
0
0
1
81
0
0
-5
0
0
-1
-44
0
0
8
-10
0
0
41
2
0
12
-5
0
12
88
0
0
-2
-4
0
0
-2
0
0
-4
0
-2
1
55
0
0
20
14
1
0
-64
0
0
0
2
0
0
-126
0
0
0
0
0
0
6
-14
13
-2
0
0
0
-31
10
0
0
-1
0
0
25
0
-4
-8
0
0
0
50
0
0
44
0
0
3
-75
0
93
0
0
0
0
-13
0
0
0
10
0
0
-48
0
-9
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
5
0
0
0
-8
0
32
-16
0
0
0
0
0
0
0
0
0
0
0
-46
2
17
0
-75
0
1
-58
88
-5
23
41
-41
-45
-1
37
13
0
-80
-41
-22
19
-23
0
8
-15
19
-9
-95
-53
0
14
-4
5
-4
54
0
8
0
109
63
-45
2
-4
-111
0
0
-2
34
0
-37
14
-26
13
-1
0
78
-11
19
0
50
0
0
20
41
19
51
-24
-41
0
-28
-13
0
4
-14
-34
5
29
-19
14
-5
-3
40
5
35
-47
-6
0
62
30
-7
-2
-97
1
-18
22
-8
16
15
0
24
0
6
20
13
0
-43
-23
-1
-1
-48
0
3
-37
31
-4
10
0
5
31
55
8
-9
-20
-13
3
4
-49
-21
-18
-44
13
4
-30
7
24
-34
10
-22
-7
-41
-20
6
-8
44
9
8
-9
23
8
-7
28
-25
-1
-8
1
-1
-2
-25
18
-21
3
0
0
-3
-55
8
21
0
-60
10
0
-5
0
0
0
-26
-18
-31
-4
0
0
0
-8
-5
-84
93
0
4
-19
-81
25
-12
-84
-8
-1
3
-76
-3
-80
10
20
5
12
-41
1
25
-31
25
-23
-5
11
0
-72
2
66
-16
0
32
0
6
-22
-17
0
0
0
0
-28
7
-2
33
0
-8
8
0
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-19
0
0
0
-2
0
48
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-1
-66
-10
4
78
-18
0
-1
43
16
-6
25
14
0
18
1
0
2
24
-10
0
2
-18
12
77
147
-41
0
2
30
0
32
0
-7
3
0
0
0
-32
0
1
91
0
0
0
3
0
-43
3
-2
49
0
0
77
27
0
3
-94
0
0
6
-49
-3
-29
4
2
0
27
-35
0
-4
0
0
-22
-33
-28
0
0
50
51
8
-2
20
0
0
19
0
13
49
19
0
56
13
5
0
0
-33
-1
0
0
0
-1
0
-56
-65
-11
0
0
18
0
15
-5
0
-3
0
0
-20
-5
0
0
-40
0
0
-21
31
0
0
-30
0
15
-51
30
0
44
47
-8
-5
30
-78
0
4
-53
-1
17
0
-108
0
1
-58
-32
-3
14
14
0
2
-5
0
13
0
-85
0
2
-15
-8
34
0
-28
-5
0
0
0
3
0
18
-8
0
7
0
0
0
75
0
-2
0
0
5
-4
-20
0
0
1
0
-8
-2
-19
0
0
-10
0
15
3
29
0
25
-3
-1
-1
-2
-53
0
75
-7
0
0
1
-77
0
0
8
-19
0
6
-115
0
22
-8
0
10
0
-43
5
12
16
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-75
-9
-25
-12
-12
-17
12
-33
5
-90
24
-50
17
0
0
0
0
0
0
0
-11
34
52
25
-14
14
-30
10
3
-61
-7
11
7
8
-17
12
-20
-18
12
6
23
-36
-2
23
68
7
29
30
13
-38
-71
-64
9
48
-1
-11
3
10
-30
-19
10
8
-41
-10
-40
-21
-91
-37
0
7
-12
28
-71
-27
-18
-17
10
-8
-14
-22
-8
60
4
12
-12
-40
6
-1
8
-98
3
-16
1
-70
-11
-15
-15
-24
-11
-17
-9
2
-9
17
13
3
-11
-23
8
-11
34
22
13
-20
-45
3
0
-11
-49
-12
46
4
17
-26
-31
-41
2
-22
-50
-11
-16
36
-58
-12
10
20
12
67
-66
-4
-17
-20
-18
-9
-4
6
-10
-30
-2
-10
-20
-12
8
-8
-6
-36
1
-5
-4
-23
0
5
-43
-58
6
-50
-22
-8
-6
31
21
-16
-1
34
26
4
-43
-8
-6
-69
-16
-38
-14
-31
-22
-32
-15
4
31
12
2
-45
-21
8
-16
-70
0
-12
-48
-50
56
48
7
-29
-52
-26
33
14
-5
-25
0
-11
18
14
-26
47
-25
-10
-103
0
-22
-76
-47
-20
-1
-20
-14
-1
-46
-6
-47
9
29
-56
-12
28
0
-31
-2
1
3
-24
-22
-18
27
1
14
9
-1
-42
32
-89
2
-42
22
-41
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
-9
0
0
10
2
6
0
8
-12
0
-22
-1
0
0
-2
0
-4
5
0
0
0
1
0
-2
-1
-1
0
0
13
0
-17
0
5
0
0
0
0
-39
0
-1
-3
0
0
0
0
0
-83
-6
-1
-2
0
0
-1
-46
0
0
-5
0
0
-41
27
0
21
0
-2
0
-40
52
0
0
-12
0
0
-6
-44
0
0
0
7
17
-3
-83
0
0
-1
0
-8
0
18
0
7
-2
2
0
0
7
0
0
0
0
-1
0
53
0
-1
0
-1
1
0
55
0
0
0
0
0
0
40
0
-5
-24
-2
0
-1
-13
0
0
1
0
0
-1
-44
0
3
-4
-20
0
-5
17
0
0
-1
0
-2
-1
-29
0
0
0
5
3
0
-35
0
0
-2
0
-6
0
5
0
0
0
-1
-1
0
-136
0
0
0
0
0
0
-12
0
0
0
0
0
0
-31
0
-1
0
0
0
0
-17
0
0
-1
-1
0
1
-14
0
-6
-2
0
0
0
-49
0
0
-3
-3
0
-1
11
0
-3
-1
-1
0
0
-41
0
-2
1
0
0
0
-58
0
-10
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
-8
0
0
41
41
0
0
-15
14
-5
-43
0
0
0
-3
0
-6
-8
13
0
0
-25
-1
9
24
0
0
0
-1
5
-1
0
-1
0
0
0
0
-36
0
0
-49
0
0
0
1
0
-8
1
2
-1
0
0
-5
-29
5
0
-19
0
0
-17
0
0
-1
-79
5
0
-4
5
0
0
-16
-3
0
-19
-51
0
0
14
0
10
0
-56
0
0
-42
0
0
0
-8
0
50
21
2
0
16
-30
0
0
0
0
7
0
3
13
-2
0
0
-3
0
-86
2
0
0
0
0
0
107
-2
0
-9
0
0
5
-104
0
0
-55
0
0
-2
83
0
8
-21
-5
3
-3
-12
0
0
40
4
2
-1
-40
0
0
1
-1
0
6
59
0
0
-1
0
-4
0
-45
0
0
-2
0
3
0
-46
0
0
0
0
-1
0
40
-1
0
0
0
0
0
2
0
-2
-6
0
9
0
6
0
-4
-1
0
0
0
15
0
0
2
-1
0
3
50
0
0
-1
0
0
0
-2
0
-42
-1
0
1
0
64
0
0
4
0
0
0
25
0
-15
0
0
0
0
-17
0
0
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
67
5
-1
2
20
0
0
-14
22
-5
-55
31
0
0
0
0
0
0
0
0
-21
40
7
-15
-34
5
0
-35
-144
68
-45
-37
-19
-18
-7
-36
0
-37
-10
27
3
27
-45
-31
-7
-9
16
-2
14
7
-8
-30
12
-23
0
-52
-50
-21
1
49
-18
18
-3
-41
10
-1
-5
73
0
-5
-5
-43
-12
-85
5
0
41
-2
-21
-107
-29
-23
0
23
66
-21
3
-17
-37
0
15
2
-24
-10
-21
-26
0
-28
-24
-5
-42
-46
-49
0
50
10
-14
37
17
-44
0
-33
2
34
-8
-70
-32
0
13
-4
8
-59
11
-44
37
0
9
-67
-1
25
26
0
3
6
-89
-10
30
-12
0
17
7
-14
-5
-33
-29
0
4
40
31
34
5
-42
0
49
18
110
-25
20
-44
19
39
11
-27
74
16
-55
-6
64
5
-46
8
26
-6
0
85
13
27
158
21
-29
0
-56
-37
72
31
-24
-29
0
-3
-4
-65
84
24
19
0
41
-5
44
16
45
21
0
28
22
-23
-41
-52
-13
0
32
29
9
68
1
-6
0
6
-8
-11
2
8
60
-9
62
5
2
-4
46
31
0
108
10
-43
-8
68
-48
0
39
11
5
0
55
1
5
49
7
-13
-24
-3
-65
0
-1
14
8
44
13
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-13
0
0
2
0
0
0
-3
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-32
0
0
0
0
0
1
-5
0
0
-1
0
0
1
-27
0
-8
-2
0
0
-25
43
0
0
2
0
0
0
12
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
5
-1
0
0
0
0
0
-9
0
0
0
0
0
0
-24
0
0
0
0
0
0
-11
0
0
0
0
0
0
-29
0
0
0
0
0
0
-42
0
0
8
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
-69
1
0
0
-47
0
0
30
-5
0
0
-13
-76
-1
43
-1
0
0
10
0
-5
1
-7
0
0
-8
-1
-17
-3
-5
0
0
2
0
-3
0
-4
0
0
0
0
0
0
0
9
0
0
0
14
0
63
-10
-1
0
0
0
13
-21
0
0
3
0
0
-27
23
0
-27
-15
0
0
-13
-43
0
0
16
0
0
-18
-97
0
0
-56
16
0
55
50
0
0
50
0
25
0
1
0
26
10
-3
0
0
-15
0
0
0
0
0
0
0
-6
6
0
0
0
0
-4
-4
0
0
0
0
0
-36
-8
4
5
0
0
-1
3
8
0
-17
0
0
-43
74
0
0
37
12
0
-1
36
0
0
47
0
0
-1
53
0
0
-17
6
0
-2
-36
0
2
1
0
-1
0
-61
0
-4
-1
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
19
0
0
9
0
0
2
-17
1
0
0
0
0
0
-37
0
2
-5
0
0
0
-6
0
15
2
-3
0
0
-38
0
-50
1
0
-8
4
-17
0
0
0
-8
0
0
-95
0
-29
0
0
4
0
0
-43
0
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
-63
9
3
-13
72
-5
-14
0
0
0
0
0
0
0
3
-1
46
15
-12
-22
-8
4
1
-12
-7
-7
-18
-30
-8
-25
-70
22
1
4
-10
6
-11
9
2
-10
-6
5
-10
-16
-63
28
-8
57
-12
-6
-33
-13
49
-53
-8
6
-5
17
3
27
-43
29
-11
19
-4
-25
-16
-8
73
59
9
-14
-82
1
-19
-1
-5
-1
-2
-47
-1
-1
1
-36
4
0
-33
22
12
5
-28
13
-4
-14
18
-5
-17
-34
12
-6
8
56
-11
16
-15
27
5
86
13
-14
3
-25
-20
-12
-36
-39
-89
55
-4
-57
-4
-42
0
15
-7
16
67
-2
21
-46
-7
-6
-7
10
-10
-4
26
1
1
22
13
-4
-12
52
-7
-45
16
10
-5
-30
15
2
-16
-17
-1
-9
6
17
0
38
6
-12
-3
-26
-15
-3
-1
-32
-25
-7
-26
-4
-4
25
-2
1
-20
-8
9
-7
-13
-1
-69
-11
-3
34
-36
-1
-11
32
8
30
-5
31
12
-34
6
-2
-45
-1
-7
39
-34
-6
-2
-7
-54
-28
-16
-12
34
-16
50
-14
-9
-26
39
-10
-3
-81
-40
9
14
-4
76
1
71
-12
1
-3
-28
-20
4
28
-13
1
-40
-10
19
5
26
-10
57
34
-5
62
18
91
-16
-8
-26
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-33
0
0
-5
0
0
0
-1
-2
-1
-1
0
0
0
3
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-17
0
0
0
-1
0
34
0
0
0
0
0
-5
-39
0
0
9
0
0
-2
-32
0
5
-31
0
0
50
-23
0
0
-2
0
0
0
-25
0
0
0
0
0
0
25
0
0
-1
0
0
0
0
0
-1
0
0
0
0
15
0
0
0
0
0
0
-39
-9
0
0
0
0
0
-56
0
0
0
0
0
0
-16
0
0
0
0
0
0
-44
0
0
-1
0
0
-1
-16
0
0
0
0
0
0
12
0
0
0
0
0
0
-15
0
-1
-6
0
0
0
-9
0
0
0
0
0
0
-33
0
0
0
0
0
0
-31
0
0
0
0
0
0
6
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
4
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-33
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
-59
0
0
-31
0
0
0
-1
0
0
-4
-3
0
0
0
0
-1
1
0
0
0
-1
0
0
3
-12
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
-1
0
3
0
0
0
0
0
0
-22
0
0
-31
0
0
0
-5
0
-33
27
0
0
-24
-49
0
0
-13
0
0
0
-20
0
0
0
0
0
0
22
0
0
-1
0
0
0
0
0
-22
12
-1
0
0
-9
0
0
0
0
0
0
12
7
0
0
0
0
0
-42
0
0
0
0
0
0
-37
0
0
7
0
0
0
13
0
2
6
0
0
-3
-26
0
0
-1
0
0
-1
-41
0
0
-3
-1
1
-4
-13
0
0
0
-1
1
0
8
0
0
0
0
0
0
13
0
3
0
0
0
0
-22
0
0
0
0
-2
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
-7
0
-2
0
0
-23
0
0
0
7
0
0
-17
0
0
0
0
0
0
-18
0
-1
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
0
0
0
0
0
43
-4
0
0
-18
0
0
-119
-8
0
0
-86
0
-24
-15
-23
0
0
-32
0
-32
-2
-9
0
0
-42
0
63
71
-7
0
0
-21
0
-18
0
0
0
0
0
0
3
0
0
-45
0
0
0
-22
0
33
-25
-3
0
0
0
55
-3
13
0
20
0
0
72
10
0
11
10
0
0
-40
-4
0
0
-5
0
0
-99
-33
0
0
45
0
0
-8
-56
0
0
-93
0
5
0
-2
0
-59
-3
0
-3
-4
13
4
0
0
0
7
0
41
28
5
0
0
-1
0
-31
-5
0
-4
0
0
-12
13
-8
0
46
0
-2
-15
9
0
0
-5
0
4
-23
-20
0
0
11
0
3
-30
-61
0
0
-42
0
-8
-6
-93
0
0
-60
0
0
-1
4
0
0
-40
0
-8
1
30
0
1
0
0
35
0
53
1
0
0
0
0
0
-33
-5
0
6
0
0
0
67
-8
23
5
0
0
3
-81
0
0
58
0
1
-8
77
0
2
-4
0
0
0
-20
0
15
-47
0
-6
0
-56
0
22
35
0
-3
0
-24
0
6
13
0
-17
0
-71
0
89
0
0
0
0
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-31
15
0
0
0
0
0
0
0
0
0
0
-22
-8
22
0
-26
0
0
-9
-44
1
0
25
5
-5
46
-55
0
-4
-43
0
-1
-51
-42
0
0
4
4
-3
27
-16
-2
0
20
0
0
0
-6
-8
0
8
-8
0
0
-3
-23
0
0
0
-1
0
-2
-77
41
-71
-1
0
46
4
-41
2
-29
0
0
-8
58
-25
62
-19
-52
0
13
-24
3
-1
-14
0
0
-38
16
-2
74
-57
-8
0
12
-1
6
0
-55
0
0
-8
35
17
-49
-38
6
0
-8
45
0
-15
-1
0
0
0
108
-57
51
2
2
0
0
-12
-19
0
0
0
0
27
45
-16
-8
20
-9
0
8
15
-3
0
-15
2
0
61
-9
3
43
-31
22
0
-68
-1
-8
0
-37
0
1
3
-17
3
-15
-26
80
1
37
-9
0
6
16
0
0
-4
28
12
-41
-61
77
0
0
29
-71
0
0
0
0
0
-82
-10
-8
-10
0
0
5
8
20
9
28
0
0
-2
8
4
-5
-13
3
0
13
-20
-17
-9
48
3
0
25
-27
-6
36
41
-30
0
15
-19
9
-119
-56
0
0
8
20
0
13
-7
-7
0
0
38
8
-13
4
0
0
0
-17
-36
92
-3
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
19
0
0
47
0
-1
-20
1
0
0
21
-5
0
13
-5
0
0
3
0
-1
0
0
0
0
20
0
0
0
-1
0
0
0
0
-1
0
25
0
0
0
0
-6
0
0
-25
0
0
0
0
0
-69
5
33
-2
0
0
5
-19
0
0
-59
0
0
28
-76
0
-83
-67
0
2
-31
9
0
0
-24
0
0
-1
-3
0
0
0
-1
0
0
-48
0
0
0
0
0
0
-12
0
-8
-1
-3
0
0
32
0
0
0
0
0
0
-23
5
-1
0
0
0
0
8
-1
0
3
0
0
2
10
0
-1
25
0
0
-1
-53
0
0
8
0
0
-6
47
0
0
4
-1
0
0
8
0
0
-7
0
0
6
-27
0
-2
7
-2
0
0
-117
0
0
7
0
8
0
-53
0
0
-1
0
20
0
-46
0
0
0
0
-1
0
46
0
0
0
0
0
4
-20
0
-5
2
0
0
0
-32
0
6
-5
0
0
0
4
0
-4
2
0
0
0
28
0
0
-3
-1
0
0
-7
0
0
1
0
0
0
42
0
0
0
0
0
0
-18
0
-2
0
0
0
0
22
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-24
-4
8
-5
-15
-78
50
20
47
-9
11
43
12
73
1
-25
-7
34
95
-15
11
-24
0
9
-30
-26
-53
20
10
-5
-6
54
31
-13
-18
-16
-4
-1
15
24
-17
-6
17
18
0
-1
9
-24
-1
0
9
31
14
-8
0
-78
-34
27
-96
-95
-2
-6
23
63
-19
-2
-39
14
120
39
9
18
21
21
-66
-1
10
-14
-43
35
9
-38
-13
-7
-1
41
-20
19
-23
-1
18
22
-6
-34
-25
-12
-91
1
-12
6
12
72
-13
-47
-3
42
31
-36
-23
-10
-1
5
0
-69
0
-129
1
-1
-112
-23
-55
-169
-22
6
15
-35
31
-62
24
-42
-50
75
0
12
24
35
8
-39
-37
32
10
31
-18
36
57
-30
16
-15
-22
-57
-5
-27
65
-23
-19
-42
-94
8
-55
45
-14
-16
-41
-19
-16
-3
-7
-1
14
8
-19
1
-34
5
-63
0
-82
-59
-79
16
-43
-111
-26
-52
-81
-77
-3
-2
68
25
-29
-13
-23
-71
60
-58
9
49
10
24
-65
66
1
-5
8
4
16
-23
9
-85
39
-75
17
-33
-7
22
-13
-28
-2
16
-101
8
-6
-2
-4
20
6
71
-44
-103
-1
-4
29
-22
-47
-131
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
100
-8
20
18
13
-26
40
13
43
-29
-9
-2
-2
-5
73
-22
-2
-39
3
-14
-69
-31
81
63
-15
-24
-3
-65
-21
-2
3
-9
-4
0
-36
12
-1
30
-78
8
1
-4
-9
14
-2
7
65
4
23
-2
16
97
79
12
0
45
-6
7
30
15
-6
-2
-9
33
-6
10
25
15
-18
-22
27
-45
-29
-19
-120
-7
-6
13
6
0
-1
-16
-23
-101
16
-1
-20
-33
-50
41
-28
21
-17
-7
-51
-1
51
-103
17
-8
-5
-42
-51
-26
-1
14
-4
-30
-2
-42
-6
-8
-43
-21
-64
2
43
-6
-33
17
-58
54
-45
7
90
-35
10
44
40
-34
-39
41
-31
14
-26
41
1
-10
30
-43
15
-43
-23
-16
58
-16
-69
7
-10
-102
-39
-5
-5
-90
19
-3
-2
-71
-5
-9
-60
3
6
-57
-48
-58
3
-1
17
-22
31
25
-59
26
49
23
-45
-68
30
95
-5
21
17
91
27
49
-27
50
10
-24
-15
66
0
2
-17
-45
-8
-38
13
-14
-158
-7
11
-21
-8
-31
-84
63
18
25
2
8
24
10
-16
20
-88
-9
0
-58
-39
-33
-49
-12
22
-42
32
13
-27
6
17
-14
-18
-24
2
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-5
0
0
-44
0
-3
-14
10
4
8
-3
14
5
40
41
0
0
-31
0
-2
66
-27
0
0
-8
-4
-16
5
25
0
0
-1
0
-41
0
-2
0
0
0
-5
1
0
0
45
0
0
0
-5
0
56
42
30
-2
0
0
-30
-71
15
0
-78
0
0
71
-13
2
-40
31
-23
0
-8
-57
0
0
-5
0
0
-3
-93
0
20
-5
-1
0
-4
72
0
0
0
0
-2
-1
-37
0
21
35
35
-1
0
-15
0
0
0
0
-13
0
-46
34
0
0
-6
-1
0
33
0
0
0
0
0
13
20
-1
-1
-45
-2
0
56
-39
0
0
-6
0
0
9
39
0
1
-28
-1
0
-17
95
0
0
-23
0
0
-5
28
2
0
-5
13
-1
-1
-15
0
0
-14
0
29
0
-6
0
0
2
-15
-2
0
-48
0
0
0
0
1
0
-28
-3
0
-1
0
0
0
80
0
0
-2
0
0
-4
-25
0
0
-4
0
0
0
-47
0
-12
16
0
0
0
-71
0
0
-1
-8
0
0
-75
5
-5
47
0
-1
0
-20
0
0
-3
-6
1
0
48
0
0
0
0
3
0
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
23
0
-6
-64
1
2
76
-20
0
-13
-31
-12
15
-19
-23
8
-4
-8
0
-16
42
-25
0
0
-14
14
-49
-49
98
0
0
4
-2
10
0
35
-6
0
0
7
34
0
0
-6
0
-1
0
19
0
-50
51
-5
-5
-23
-2
-14
-114
-5
-5
-142
0
0
-22
19
-1
-43
-54
-77
0
18
62
0
0
55
-1
-15
37
-87
0
-2
-47
78
-4
30
12
0
0
48
4
8
-1
73
0
-1
-8
-18
10
-1
24
-15
2
2
0
-42
0
-26
38
-69
-4
-15
0
0
2
0
0
3
0
0
6
-80
-3
2
-81
-2
7
-14
-4
0
-18
28
-2
1
9
-27
1
9
42
-28
10
-70
8
-9
-1
108
15
-31
-34
-12
0
-9
48
38
-12
-5
-27
0
0
-20
0
-94
0
-16
0
0
-3
-16
-58
0
26
0
-9
0
0
-2
0
-9
5
0
-9
-12
0
1
-64
-25
-9
18
0
0
-1
-31
0
5
84
-1
-2
1
2
0
-100
-93
-9
1
33
36
0
-6
-12
31
-3
-6
-17
0
43
29
0
8
-3
-18
0
7
9
-15
1
0
-25
4
-85
-2
0
3
0
-9
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
-32
0
0
-44
-1
0
16
66
1
0
-32
0
0
0
-13
0
0
5
18
0
0
2
0
-32
-45
0
0
0
-2
0
-8
0
0
0
0
0
0
-79
0
0
9
0
0
0
-1
0
8
1
0
0
0
0
12
-69
0
0
-66
0
0
-5
61
0
10
-14
0
0
-96
-27
0
-2
59
0
0
-29
-13
0
0
32
0
0
-22
-28
0
0
-33
0
0
0
49
0
7
17
-4
0
0
-86
0
0
0
0
0
0
50
-5
0
0
0
0
0
21
-1
0
0
0
0
-2
-10
0
-2
7
-4
0
-2
-60
0
0
-72
0
0
5
-70
0
0
-10
1
0
0
32
0
0
9
0
0
4
-61
0
0
6
0
0
0
-50
0
0
10
0
-1
0
25
0
0
22
0
13
0
-88
0
0
0
0
0
0
27
0
0
0
0
0
0
-12
0
0
-4
0
0
0
18
0
0
-1
0
0
0
-7
0
0
0
0
0
0
-21
0
6
0
0
0
0
-19
0
0
8
0
0
0
-31
0
0
-3
0
0
0
-34
0
-12
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-70
0
0
9
2
0
5
41
-6
-3
-27
-7
0
0
-1
0
0
1
11
0
0
-1
0
0
10
1
0
0
0
0
-4
0
-4
0
0
0
-7
0
0
0
-2
0
0
0
0
0
-57
-3
-1
0
0
0
47
-92
3
0
-5
0
0
-25
13
13
41
-66
-1
0
24
-41
0
0
1
0
0
1
-12
0
0
3
0
0
-2
-55
0
0
-14
0
0
0
22
0
6
0
-4
0
0
0
0
0
0
0
0
0
1
6
1
1
0
0
0
-5
41
0
0
0
0
5
58
14
0
-7
2
0
6
-28
0
0
41
0
0
31
-49
0
0
43
0
0
3
76
0
0
-17
2
0
0
10
0
0
-4
0
0
0
27
0
0
-2
0
0
3
-27
0
0
0
0
0
0
56
0
0
0
0
0
0
57
-6
0
0
0
0
0
-14
-9
-7
10
0
0
0
21
0
-2
-2
0
0
0
29
0
-27
0
0
1
-7
-15
0
4
0
0
0
0
-5
0
-5
-16
0
0
0
-34
0
0
0
4
0
0
-15
0
2
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
34
12
36
20
6
2
-41
37
-3
-1
-26
6
-20
-9
7
10
-49
-23
-4
-31
-32
-17
18
-14
15
12
-28
-19
-9
36
-32
3
-15
-34
7
6
-46
-57
-52
-6
-16
43
8
-29
20
-5
-39
-37
33
56
-13
38
1
57
35
40
30
18
12
3
19
14
10
-6
66
15
-38
51
-14
-21
6
-43
-20
-1
30
-11
-9
-66
17
-23
-38
10
-8
-5
20
8
-37
-14
-10
22
-12
-20
51
-54
-53
-15
72
1
12
-3
12
23
-3
-25
36
0
35
37
-98
-44
-5
8
-18
38
27
20
48
-9
12
-21
-34
62
-45
-69
0
5
28
-10
15
19
24
14
-13
3
24
21
-16
36
16
-21
101
-40
-5
11
38
-5
-13
22
8
-8
-21
15
-25
-10
59
-14
-18
10
3
-22
6
-19
53
6
18
-16
26
5
-23
13
36
18
-107
-52
-3
55
5
27
-31
14
31
4
-47
-24
19
12
23
-5
0
30
9
36
40
21
20
-22
5
-38
31
41
23
53
-9
41
28
15
-21
37
-16
5
-8
41
-3
11
18
-21
0
-7
-17
28
-17
-2
58
-4
40
-20
56
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
15
23
5
-7
56
24
2
-85
0
41
-15
19
-63
-30
0
10
-8
-2
39
-81
-56
50
0
0
16
0
-69
-3
-9
0
0
-5
-31
13
14
0
-9
0
0
-3
-13
25
25
-6
-41
-47
10
1
25
66
0
25
3
7
0
-157
0
-34
-36
4
42
-5
6
-10
17
-14
-15
-2
20
25
-109
0
1
0
12
-17
47
-27
0
26
-92
42
20
-39
-39
-5
28
-25
-26
49
-2
-6
-5
8
-1
4
-9
0
22
24
-13
0
-15
8
0
30
-29
10
42
-15
1
27
-86
42
51
48
-13
1
-38
0
2
59
-73
-4
-24
40
49
27
7
55
-9
-5
43
-89
-4
53
47
22
27
-5
-15
-3
-9
37
1
-23
-29
1
-1
-41
73
-31
-68
5
-13
0
44
49
14
-25
3
-22
-3
-2
0
6
-7
-1
97
51
10
-8
2
0
14
-56
-6
9
57
-14
0
-59
0
-23
-55
5
49
0
76
-67
20
-83
12
16
1
-20
-25
-1
-24
35
11
1
31
-6
1
-7
33
4
-1
-10
-5
-3
47
13
-19
4
-3
0
0
20
-7
-5
25
0
13
13
-61
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
10
0
13
23
-13
8
100
5
0
0
32
0
-6
-5
6
0
-7
-22
-6
3
-22
-3
0
0
-7
0
0
0
4
0
0
-2
2
-22
0
0
7
0
0
0
8
-8
2
-7
1
-5
0
0
-31
-36
0
2
49
0
0
-13
53
0
-95
-20
-5
0
49
-96
0
8
-23
0
-2
-49
17
0
43
-14
25
2
6
8
0
0
-28
1
0
4
-13
0
-36
-1
18
0
0
-83
0
0
23
0
0
0
7
-1
13
0
0
0
-1
-36
57
0
57
0
0
13
-31
-5
2
-6
31
0
69
-20
0
13
-41
0
0
9
23
0
12
0
-5
0
36
80
0
0
-91
0
6
29
28
0
5
-22
-6
0
0
-16
0
0
-4
0
8
21
21
0
0
6
3
8
0
-34
0
0
0
0
0
0
9
42
-4
5
0
0
2
-3
0
-52
4
0
0
-6
-64
0
2
-20
0
0
-3
15
0
-23
-9
0
0
2
39
0
1
-6
9
0
0
-7
0
-5
0
-2
0
0
-24
0
-1
-5
-2
0
0
-73
0
-13
-8
0
0
0
51
-2
0
0
-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
-70
41
0
0
-41
26
43
-78
-25
0
0
36
12
-16
27
-25
0
0
-7
8
67
-61
-23
0
0
15
0
-8
-2
-16
0
0
7
-2
-63
0
0
31
0
0
0
6
-5
-10
-30
-1
77
0
0
-109
23
0
-2
17
-10
0
19
-101
-2
-36
-25
85
8
9
-25
1
-8
-2
21
10
-31
-14
0
0
-41
-6
-3
3
-20
0
0
-48
-8
0
19
-56
0
4
11
-19
48
10
-62
-2
0
0
0
-3
0
44
10
-5
0
12
0
0
13
-7
0
-5
0
0
22
-29
14
0
-24
13
0
-48
35
3
4
67
-2
0
-31
10
8
19
-2
15
3
93
-54
-13
9
17
-3
0
19
-60
0
-1
-40
-15
0
-8
22
0
0
17
6
0
4
82
0
25
-1
5
16
0
77
0
0
0
0
0
0
-58
-6
1
0
-7
0
25
4
-1
-19
61
0
0
0
6
-1
-13
21
-3
0
4
-6
0
-45
-11
-12
-1
-3
41
-4
0
2
-42
0
0
2
-4
28
155
-5
0
4
37
0
0
-8
1
0
0
0
0
-2
8
23
-6
0
-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
-40
-3
42
40
46
13
1
14
-4
-31
-5
9
21
-2
-7
17
50
-36
3
-17
-33
-28
-26
12
24
-8
-34
-16
-40
18
-53
-77
-31
-8
-31
12
3
8
-27
17
-12
-2
16
47
-16
-70
14
-90
-7
-28
-20
3
44
-44
-43
26
25
39
-94
4
44
-34
85
28
-7
36
49
32
45
-42
12
-25
-12
-50
8
11
29
-7
-21
-36
-87
-10
-30
19
7
-46
-33
2
-28
-4
-26
10
-25
-63
-95
-1
-36
-5
-79
-4
25
1
-24
0
4
-35
50
5
40
-49
-15
-10
-14
-5
0
25
-22
31
7
-11
10
31
-6
40
39
17
8
1
29
26
33
14
-1
2
-27
-22
15
21
-41
-19
4
-21
-52
-5
9
13
7
12
-19
5
-56
3
18
0
-41
-20
-64
-28
-4
18
-9
-31
1
-12
-69
13
42
-48
-20
30
40
37
-31
-16
92
25
4
-22
3
41
5
22
6
17
23
-43
15
-9
-13
-13
-2
-84
-24
20
29
-28
-23
-3
6
-4
20
28
28
8
-16
-70
-2
8
-8
10
-109
-6
39
-2
-5
3
-5
-28
-19
-55
-2
9
9
-6
-47
-1
8
-96
-9
53
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
0
0
0
0
0
0
0
0
0
0
0
41
76
-4
-1
-10
-8
-13
-5
4
4
0
0
1
21
-29
-48
-1
0
13
7
-6
5
-25
0
1
6
0
30
-8
-6
-10
0
-1
13
-58
0
0
-18
0
0
0
12
0
-42
3
-8
3
0
0
-92
90
3
0
-57
0
0
26
-91
8
75
-61
-7
0
-20
41
0
0
-69
0
0
-89
2
0
0
-27
-3
-3
13
-25
0
0
20
0
0
-1
-35
4
123
-2
-1
0
0
-38
0
0
-16
0
-3
0
-14
5
-31
0
0
0
0
-42
-18
-1
2
0
0
-20
4
8
25
-11
-17
0
33
-34
0
-2
0
-6
4
2
-34
0
-1
33
30
0
32
-71
-1
-8
-45
0
3
10
-11
0
3
-13
13
0
2
-24
0
-2
41
0
13
0
1
0
0
5
5
40
0
0
0
0
0
0
0
0
15
12
0
4
0
0
-12
67
1
49
6
0
1
-8
-42
-1
0
60
-2
0
-4
17
12
35
42
0
0
4
-68
-6
-6
14
0
0
2
-21
1
1
7
0
0
0
-84
0
0
-4
0
2
0
43
0
-31
0
0
4
0
-11
1
-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
19
-8
0
-1
10
-46
0
-48
58
0
0
-21
0
1
-10
15
0
-1
-40
18
0
-1
-22
17
0
-123
-1
1
34
-26
0
-6
32
-13
-3
0
1
8
0
0
-5
0
17
9
-63
33
1
3
0
-49
47
0
-4
20
0
0
-26
-1
-18
11
-12
-108
0
70
48
9
-10
54
10
1
28
21
0
-4
-22
-30
4
8
3
0
3
-20
-8
0
-54
40
-6
-30
-39
30
0
7
-22
19
-1
6
-1
0
0
-6
-9
18
0
50
0
-3
23
-20
0
42
7
0
-99
-40
31
33
55
-19
-8
21
12
4
21
-10
5
0
28
2
1
-24
-14
-31
0
-9
17
-1
5
29
4
0
-28
-26
0
-40
13
26
0
-4
-36
9
15
-63
0
0
0
-35
24
15
-99
80
0
0
-44
-4
0
-1
-1
0
0
-11
-40
2
-5
1
0
1
-29
49
43
14
-5
0
-30
16
3
-49
-74
31
0
41
22
17
84
3
16
0
-7
35
0
42
31
9
0
16
-18
0
-63
-26
19
0
-14
-53
5
-35
-63
-41
0
0
-19
-1
-58
-31
8
0
0
14
52
-8
-59
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
28
41
36
14
40
-7
-34
-18
-78
-51
-22
-50
-49
-22
-30
-47
-46
4
2
-13
-42
22
-33
60
-53
-34
-18
10
-26
-32
-16
39
-28
-4
35
2
7
-49
48
-1
-44
-38
-1
-3
105
15
-46
-84
-65
-11
15
-1
-10
-29
11
-13
-1
100
25
20
67
-44
-6
8
59
6
-5
-32
13
-53
-11
94
23
0
-25
11
-77
9
-69
18
-6
-28
17
37
-21
-21
73
-104
49
-50
-37
-6
-16
-20
41
-20
-27
-46
11
21
17
-13
75
-4
-21
18
44
7
32
-35
27
-15
11
-30
-48
34
12
45
-38
-29
15
3
16
-8
-19
-14
-3
16
-10
24
46
42
4
-18
6
-36
13
-12
12
27
-7
29
124
14
-50
-1
45
-8
8
3
-29
-4
-4
30
9
-21
-9
-13
-13
-5
0
-17
-9
14
-8
22
83
32
0
-36
-6
-1
-1
114
-37
2
129
-30
-9
22
17
-4
-11
73
5
16
-87
-15
-26
-12
49
7
-4
-5
46
24
-4
-53
-4
11
22
-40
-35
-9
-52
7
-3
-19
31
-10
4
-1
8
-38
-8
-4
-24
1
-47
45
-63
-6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
37
-20
-15
-5
-30
-50
-75
57
2
3
-60
-11
-33
-95
0
-4
1
-38
42
-48
-51
-3
0
-2
3
-43
-65
-2
19
-14
-2
-1
42
-51
-41
7
-58
-67
-2
-3
0
3
39
23
-5
-19
-22
18
3
25
-17
-40
16
-108
70
-141
0
-44
13
-130
-20
58
-41
-43
7
-24
-27
-51
-38
-75
12
-35
15
40
42
-27
-62
-12
-4
-47
-16
-59
7
33
-26
-9
-5
8
1
-25
1
25
71
-42
-1
-76
-14
7
14
-32
12
-3
-1
0
108
27
73
27
66
-4
5
52
4
32
26
69
59
10
-24
0
66
-109
-16
2
-4
5
-41
-18
25
1
47
-41
46
24
-5
1
37
-87
62
54
33
-15
27
22
1
1
-4
-20
-12
5
-49
-80
-51
0
47
-92
-5
-13
0
16
0
-9
26
71
-32
12
-7
19
2
48
14
57
30
8
-2
-1
-42
17
76
-49
13
-34
0
48
32
-25
-19
-41
-54
-6
-6
23
25
-51
9
-47
19
-16
11
-64
-14
23
-69
-20
-3
-8
-12
2
-52
1
6
-4
-26
26
-10
-13
0
13
31
-6
1
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-94
0
-2
33
-1
64
-62
-15
0
-8
16
-30
-1
44
25
5
8
30
0
-13
-3
-18
0
0
24
-9
51
0
-1
24
0
0
-5
-25
0
-7
18
-21
33
0
0
-29
39
16
13
-40
8
0
77
13
4
27
-126
-40
0
0
-99
-7
0
-47
25
24
14
-29
-1
0
-3
-54
-16
-32
-11
0
4
-11
0
25
-8
2
0
-28
42
-13
0
-2
-5
0
0
0
-1
34
0
-10
-43
-25
0
0
0
0
34
-49
1
12
0
0
-29
7
36
29
16
-3
-13
35
1
0
37
47
5
8
-78
10
-7
76
-24
-3
1
6
-55
7
-13
16
-12
3
16
18
0
1
-23
25
-3
0
4
-1
2
-27
-1
4
8
40
0
1
-2
-18
59
0
-80
-4
0
0
0
-5
-3
23
-23
-5
4
25
0
37
25
2
15
-18
0
0
-8
-14
-7
-3
1
5
0
-5
30
0
34
38
1
10
-30
-4
0
8
61
-29
-1
-2
-88
-4
-47
23
-1
3
-3
-36
0
7
-25
-14
-4
0
21
0
-22
5
0
-1
0
30
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
-4
-7
-2
-2
0
51
-46
10
0
0
31
22
29
-87
44
0
0
-19
2
-5
18
50
0
0
-3
0
-24
0
0
-78
0
0
0
21
0
3
-53
27
15
5
0
-37
39
27
-15
-52
3
4
0
20
-40
-61
78
66
155
-44
89
0
-24
-23
0
22
-19
41
-6
-4
-64
-31
-9
-10
2
0
0
-55
-8
25
6
-58
0
-15
60
70
27
16
46
0
0
25
0
41
0
28
-13
-15
0
-2
3
0
-29
-72
0
-4
-2
0
-47
74
69
2
39
-15
3
-49
-38
16
-79
9
-19
7
-109
40
-10
13
3
22
6
25
62
13
-6
41
8
5
-33
-48
21
0
3
64
14
-8
54
0
0
22
0
-17
18
-52
4
1
-4
4
-6
0
-18
-10
0
0
-14
7
0
12
-10
0
-1
4
0
22
4
-27
0
43
0
10
0
-55
-1
-9
125
-10
0
0
25
-1
-40
22
5
0
15
45
-6
-27
-42
2
0
48
-102
2
24
29
0
8
-3
24
0
0
5
68
32
0
-19
0
69
-3
27
-3
0
5
2
-1
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-11
-56
5
-25
0
-15
-6
-1
96
-34
-25
11
10
-9
13
5
-6
-28
3
-30
-61
16
-13
59
27
-15
-26
-49
-7
-27
2
-13
-41
-28
25
-5
-28
-56
-16
48
44
20
18
-11
7
54
-43
27
-34
3
-21
-3
-2
-7
31
-23
-13
-54
53
14
66
25
35
11
1
-3
-13
-13
-10
-4
-24
-5
-95
-15
-47
-42
-6
-17
-3
5
-18
-10
-11
-27
-13
-33
34
-48
-63
-40
10
-8
-47
25
43
-29
-17
3
20
1
-10
33
-77
-46
-2
2
22
21
46
-13
-8
0
5
-18
-32
52
-57
85
3
9
78
28
-12
-15
6
32
-3
83
12
2
-14
18
5
-10
110
-23
-20
-40
7
4
9
-72
-2
23
59
5
-7
-14
-18
-3
-69
26
-26
18
2
14
-29
71
53
-27
-91
-8
-60
-50
2
-103
-24
-19
-43
-19
3
-14
-79
-27
-74
-7
2
-6
-50
57
-13
-51
4
-96
-48
-17
33
-18
-40
-6
75
-13
-36
-61
74
-20
-4
-45
4
1
-36
-25
50
2
-83
-45
-23
4
-54
-80
-2
45
4
-67
-39
-23
2
21
22
-119
-6
-18
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-20
-6
-8
-37
70
-21
-34
-44
9
66
-5
-8
-11
-42
-42
16
25
-82
0
21
-23
-50
-77
31
-41
-5
2
1
-53
12
-13
-32
4
-13
13
32
1
-55
-21
-7
0
20
13
13
100
17
-1
4
-17
18
-15
-11
-10
-7
-28
-7
-14
123
-92
-10
25
-35
32
-54
-40
-124
5
-10
-53
-3
-8
-2
88
18
13
-26
18
-28
76
6
-5
-27
-25
-41
-37
-12
-42
29
-17
21
-21
-29
33
-3
-24
22
-56
24
15
-14
22
62
8
-2
61
21
-49
-67
-10
30
-16
-43
9
-2
-53
-14
-21
47
-6
-8
40
-49
2
-10
-24
19
-5
67
-17
-3
5
-28
56
-37
-83
-6
14
34
-61
44
-6
69
14
36
51
-12
56
19
13
-67
51
31
-14
3
-16
4
-14
-26
12
-16
15
13
47
5
-28
24
-4
-54
-6
-9
-5
37
-30
-31
-5
32
-16
-1
19
1
-50
92
-19
50
-2
-20
13
-7
74
21
-163
31
-16
73
-61
-8
37
-62
-24
-11
12
-110
-4
11
36
-84
33
-15
-10
-55
-38
-2
7
-10
23
-49
19
3
13
6
42
-25
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
26
31
1
15
-2
0
-6
-18
3
-10
-47
14
-2
-63
-80
-7
0
-75
10
0
10
-44
13
23
-23
-17
-2
8
86
-47
0
3
-25
0
24
18
17
-5
9
-4
0
-6
-12
-69
124
11
81
0
38
4
75
37
13
-13
0
-52
-29
-28
-7
-36
-9
0
26
19
49
97
-38
-7
20
45
9
-4
-24
7
5
6
44
-32
37
-3
-13
24
0
-50
-24
5
-8
-15
-20
6
0
29
1
-40
47
-4
0
-3
11
15
-3
-42
-2
0
-11
8
-47
-51
23
33
0
-6
-8
-75
21
-50
13
42
3
-31
44
-10
-43
-24
0
-15
-11
52
-70
16
8
0
59
-3
1
-25
27
-40
0
-7
-10
-5
-18
25
55
0
-8
-21
15
13
-53
2
0
-2
5
0
26
-42
-23
0
-2
-14
35
8
-50
13
0
37
-16
-16
2
43
-4
0
-3
7
-22
-7
-29
-16
0
-8
12
-50
-14
-20
27
-3
31
-13
14
43
25
-9
0
30
15
-13
-14
-4
40
8
-4
-7
2
-44
-22
25
1
-21
-22
-15
-15
58
-10
0
-1
0
31
36
63
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
36
47
0
14
27
-4
-85
21
-52
-49
-3
-6
-8
-69
-11
-26
-23
-20
1
-3
-15
-55
-33
-2
-27
-55
-23
5
-8
-18
-52
30
3
23
0
3
19
-1
15
23
7
-18
3
42
4
-6
-12
-22
-125
-15
-76
-66
-4
-9
-30
-37
3
47
12
10
2
20
-50
6
15
96
-8
19
-39
-34
8
-20
3
11
4
-21
61
-15
-58
13
51
-34
-37
-14
7
-18
-14
6
8
-86
-27
3
2
-11
35
-66
72
40
3
-18
-24
-4
-6
3
8
12
-15
-8
-3
25
-4
-42
21
31
-20
-6
-14
4
-74
9
12
3
14
-7
40
-47
-1
7
24
18
15
20
-55
-11
-71
29
5
-26
3
-33
8
-5
-92
-37
9
-1
-32
6
-20
22
29
-101
-29
-25
-25
30
-35
32
-1
24
-97
-19
-29
-30
2
-8
-1
-31
24
-36
-74
-40
9
-23
41
17
15
-38
2
-91
-8
-56
-3
-60
-37
-3
-6
13
4
1
-32
-10
16
-53
-11
48
-1
-4
99
-11
-11
-2
28
2
15
-14
-19
-84
11
54
-8
-4
-108
-85
-31
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
14
-8
32
-2
-30
-49
-34
-38
12
-31
33
39
-60
69
-14
-3
-3
-13
53
-28
-2
0
-43
0
8
-59
-92
21
6
-3
20
83
19
4
-33
48
-135
-24
-16
2
0
-26
13
21
-1
-33
-2
37
-46
17
40
-30
46
21
-10
-51
0
12
-19
3
-21
-106
-57
-19
-6
-51
-18
17
8
-85
-54
15
-16
14
-41
-39
4
-3
-3
24
-45
1
-18
-5
34
0
-69
-4
-36
-22
3
-13
-11
1
-18
-6
-13
40
54
-82
23
-3
-24
-97
-5
18
-71
68
-10
-3
22
-20
-20
32
-14
-51
-83
-87
-26
0
9
-94
-4
66
39
53
-29
64
54
-10
-43
-15
-65
-13
10
-52
8
-29
9
-3
-11
-5
-29
53
-61
-65
-5
10
-21
6
5
-67
-23
14
-4
53
-5
62
25
0
28
73
-90
-15
-3
-6
0
-59
21
-51
47
-1
13
40
-56
6
-6
-74
-23
18
-50
-31
0
40
-26
-79
-81
-23
1
-18
-9
-64
-84
20
-30
-8
-15
54
-76
-16
8
46
2
-18
-4
-27
-53
14
-68
-1
20
-37
3
-5
42
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
0
0
35
-2
-5
-5
29
0
0
3
3
14
0
-5
0
0
0
0
10
0
0
-11
0
0
5
-2
8
8
-8
0
42
0
0
42
-29
-2
-2
-110
1
0
30
-6
0
-1
-24
-43
5
-23
19
-1
0
21
8
3
-46
-58
6
0
0
-2
1
-44
-38
0
0
23
-4
-3
0
-47
0
-13
0
-31
0
0
-63
0
0
-3
-2
1
0
10
74
-12
0
0
-2
0
-27
-19
1
0
0
0
-18
3
0
-19
4
42
0
39
18
0
0
44
-1
1
-1
-10
0
5
-84
17
1
-2
-29
0
0
-34
2
12
-2
-44
0
-2
48
8
2
8
-91
-2
0
-5
0
0
0
-41
0
2
-5
8
-8
0
86
0
0
0
-7
0
0
-84
8
3
0
7
0
-1
67
-3
40
17
0
0
-8
-55
0
0
-75
-15
0
3
-21
12
2
-35
-6
0
0
-43
-1
-10
-27
30
0
0
34
0
-10
-1
0
0
0
-43
0
0
-7
1
0
0
45
0
79
0
-3
0
0
-43
-5
5
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
48
3
0
-8
1
13
12
63
0
0
-5
0
10
0
1
0
0
6
32
-59
0
0
-36
0
0
0
-14
0
-19
64
6
13
0
0
47
-65
0
0
-32
0
0
-70
-27
0
6
17
-44
0
0
-55
0
19
-44
7
2
-25
24
0
-8
19
2
9
14
-35
0
-2
-49
6
8
15
-55
2
3
34
-19
8
0
-3
0
0
0
0
1
0
-29
-8
-8
15
7
29
0
-11
-5
0
8
0
0
24
2
4
0
37
41
22
-4
20
0
-8
1
-2
0
-99
-31
-8
24
-33
41
0
-25
22
0
2
-27
1
-1
7
-32
14
-18
-34
27
-2
6
-37
0
0
-12
0
-33
0
-42
0
0
7
41
-13
0
-2
0
0
0
0
3
0
12
0
0
2
0
0
-2
-113
10
8
-1
0
0
-12
-46
12
-1
-43
0
0
0
12
25
91
-25
6
10
1
-58
0
31
5
-3
-1
0
-57
0
-53
-1
0
-1
-1
-43
-5
0
23
2
15
0
91
0
93
9
-2
3
0
-28
-1
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
-32
26
14
7
-28
-6
-7
44
13
19
-51
-8
26
38
-2
-1
10
-16
-38
13
-38
4
-8
0
14
-59
32
9
-54
4
9
64
-1
-26
3
104
-136
-19
6
6
-23
12
-3
-9
-32
-42
-25
-44
15
-3
-48
11
17
-59
-1
6
88
-18
6
-39
13
45
-5
7
47
-21
38
29
-34
33
-4
6
-70
6
-59
-9
-1
40
73
56
-41
-10
0
-7
-13
30
-1
-24
-41
4
6
27
5
-70
-1
-42
53
19
12
-32
-12
-28
-59
-40
8
76
47
-54
6
-66
2
7
-41
-33
28
-25
103
14
19
-66
3
-32
-42
34
-10
-20
5
-45
-1
-3
-42
49
-7
43
41
-94
-57
-1
-58
13
-7
-51
-33
-20
-33
-1
16
-40
-3
-2
-61
-66
13
-5
36
71
38
16
1
-47
-8
-111
25
26
-5
-22
-5
1
-22
95
-1
-46
-86
-54
-11
10
22
-68
-55
8
-23
5
-45
-74
-62
-13
88
-115
-1
28
25
22
23
49
-76
-4
17
3
-52
-44
60
13
-3
8
-2
-9
-43
-43
-1
-13
7
-57
6
-12
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-1
0
0
58
-1
57
28
57
0
1
-5
0
-48
-6
-3
0
0
32
0
4
0
0
-73
0
0
8
22
7
-17
44
-10
27
0
0
-76
22
4
0
-44
0
0
42
-48
0
55
-19
-1
0
-101
-13
0
0
14
14
0
41
-30
0
-1
3
-12
0
20
-3
0
0
40
0
3
-19
37
0
60
-20
48
3
3
-46
0
0
0
0
-9
0
-24
2
-3
0
0
0
0
-38
-8
0
0
0
0
-59
23
15
31
5
3
3
-2
-40
6
0
-83
0
2
-22
17
0
0
-41
-3
-4
23
-5
-7
-12
-6
0
3
27
-9
0
-2
15
46
1
41
12
0
-2
-9
0
-2
20
-18
0
0
-24
-8
52
0
-12
0
4
0
0
0
0
-33
-33
-1
0
0
0
0
-60
0
-34
-4
0
0
4
-9
1
0
49
0
0
-4
15
0
-13
-26
0
0
-4
1
0
-7
54
25
0
0
-81
7
12
-7
0
3
0
-16
0
-1
9
21
0
0
-7
0
-36
5
0
3
0
1
-24
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
43
-1
0
10
-98
-1
-29
23
-2
-8
-20
45
-2
15
23
25
7
-32
12
7
0
-13
-37
0
-1
-41
-1
43
15
-29
44
13
32
0
-1
-4
-31
-30
10
-37
0
45
-6
47
25
27
13
0
-53
-8
25
40
-27
-40
0
44
-6
-31
-39
30
-26
0
35
-15
-19
18
22
-27
0
54
0
0
-21
16
12
0
45
-15
-14
24
-4
54
0
0
13
5
-23
0
-6
0
0
13
15
24
-31
42
0
-76
-1
45
83
-3
-10
0
-18
6
85
-15
-3
-47
2
2
11
44
16
-12
-14
0
6
-37
50
-51
-9
-100
0
25
-3
18
-12
5
20
0
58
15
-3
2
23
35
6
163
-24
0
-9
17
32
0
21
-12
37
-2
23
-56
0
-31
-12
37
39
2
-13
0
-3
-2
-3
-16
-75
2
1
16
0
-16
42
-50
69
-14
45
26
-20
-3
1
27
2
21
2
29
33
23
-37
0
-15
7
-1
-24
58
-7
2
66
-11
-1
-17
53
-21
0
5
-11
1
7
28
-41
-6
0
0
8
-2
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
36
8
41
-29
-28
1
-3
41
-5
0
-33
-44
-44
0
-39
-9
-1
0
19
-48
4
-12
-76
47
-29
-3
1
-8
-8
-48
-5
-13
-5
8
2
7
38
7
-11
-63
0
-51
-16
24
-22
-29
-32
-8
-80
7
-49
-17
22
-65
-93
-67
-4
21
-40
-13
-70
-34
-51
-17
18
-7
-30
-81
-25
-2
-7
-3
24
33
43
-49
24
-5
-55
-73
1
-67
-7
9
-5
-1
5
23
-6
-16
-28
-6
-30
32
-44
-26
3
-44
17
76
-4
1
-8
42
-29
29
-12
-16
-54
-55
-96
19
10
31
-6
-13
19
6
-16
5
-4
40
-5
-39
6
91
-8
10
-42
63
-30
-25
0
9
1
-72
53
-82
-14
0
5
-12
-3
-7
24
-1
-17
-21
-63
59
68
22
0
-18
-47
-54
60
-19
-25
17
-27
46
5
-146
-11
29
44
-27
19
-45
-5
-56
-28
19
14
7
-41
-102
48
-35
-15
24
17
1
11
30
16
49
1
-11
0
-8
-96
-81
-40
0
-23
-2
-31
-2
35
-34
0
-52
-50
-12
13
-22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-4
-12
-31
1
-31
6
-57
-4
-1
-63
-53
-44
25
18
-47
0
-2
123
-7
-5
17
107
27
-45
32
-7
-77
2
25
-10
-45
25
-1
-54
-30
-20
-9
-13
-49
-7
-18
-3
13
-33
21
-30
-13
-82
-25
5
-3
66
-12
-15
11
0
-19
-6
-42
-60
67
-38
8
-2
-29
11
-69
-15
18
-28
2
-5
-63
0
-43
1
5
-19
-27
0
-50
2
-2
-19
-32
29
6
18
4
17
14
-76
-26
23
-42
-4
-5
-16
3
22
24
2
41
13
-10
-33
-10
0
-19
66
24
14
-11
34
-33
-53
17
83
0
-13
-16
23
1
-48
13
7
-2
4
-32
114
-63
27
0
22
-45
8
3
34
-2
23
-9
1
10
-71
6
-1
-37
24
-3
101
-1
2
0
22
13
-75
-41
1
-4
-2
-23
23
-34
50
-30
20
-24
16
-13
-9
70
-49
7
-61
-13
-12
-77
47
-27
31
10
0
29
15
93
-45
42
10
-13
39
-75
-25
-13
-8
0
-20
0
-5
-57
-13
10
-4
-3
-1
0
-5
-43
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
42
0
-3
0
0
-3
-5
-15
0
0
0
0
-43
0
0
-33
0
0
0
-84
0
-47
-25
9
0
0
0
-5
1
0
-6
-75
0
0
-21
-51
0
13
-20
43
7
-53
-28
0
0
-61
0
3
27
92
0
22
14
60
0
-17
10
0
-7
-19
0
0
0
-87
0
-31
14
24
0
0
-1
0
0
0
0
-25
0
25
30
2
0
0
13
0
-54
84
0
5
0
0
-9
16
-2
-4
-70
-2
0
14
1
0
5
43
0
0
-14
12
0
-2
-22
20
0
59
40
0
0
41
0
0
-1
-42
0
0
-3
-23
8
-3
-31
0
-4
-5
0
-10
0
-31
0
0
-2
25
12
0
-24
0
0
9
-5
-9
0
-39
9
0
24
0
0
0
25
-3
-31
-24
0
0
-3
76
0
0
12
0
0
-1
-22
0
25
-14
0
0
0
-15
0
8
0
0
0
0
-57
0
5
-4
0
14
0
-39
0
4
6
0
0
0
-100
0
4
2
0
10
0
-30
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-18
0
0
-4
0
-21
0
30
0
0
0
-1
-13
0
0
55
0
0
0
-12
0
-4
18
-21
-22
0
0
44
38
0
0
18
0
0
-45
15
0
-50
48
17
0
-7
-61
0
0
-29
4
3
41
-44
0
0
11
42
9
-61
-131
-1
0
-20
-3
10
-12
-5
0
5
5
-61
-1
0
-75
0
-2
30
0
91
0
-32
58
5
0
21
0
0
9
6
0
7
0
0
-24
97
4
47
6
-2
0
36
-7
0
0
-9
0
0
-23
-24
1
0
58
16
-2
71
-71
2
0
-31
0
10
24
-57
-6
0
-66
5
-2
7
-26
2
0
-74
-5
-2
3
15
-3
3
-6
-9
48
0
-40
4
0
-1
-5
0
0
-13
57
0
0
0
0
0
9
0
-7
-18
0
0
-6
-50
0
0
9
3
0
-3
-7
0
44
26
0
0
4
-52
0
2
-4
25
0
-2
41
0
-13
-13
-3
0
2
-23
0
0
8
-19
1
0
-62
0
102
0
-9
-24
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-11
8
18
-18
19
12
84
11
13
-31
-1
-4
12
0
-5
-32
0
-1
-54
-8
-6
4
-69
-6
7
-49
0
-40
4
32
41
10
-1
4
-14
2
29
4
-10
-11
44
-18
-3
32
-1
-15
22
-5
-78
-3
-70
5
13
-27
-19
-25
-16
8
84
-6
91
-7
-39
19
-4
-11
-109
-7
-78
14
2
-8
0
120
33
-53
0
7
32
-26
0
-38
-12
-49
7
25
-3
6
8
-4
-11
-1
-67
14
-26
-41
-75
-12
-5
-46
-75
1
7
-61
-16
-4
-58
34
-14
-2
5
-82
9
72
-101
-5
31
23
-23
21
-13
-43
32
-60
22
-15
-4
9
-13
6
16
10
-30
-14
22
110
-15
-47
-14
0
3
63
8
0
-49
12
8
0
5
-6
-5
-73
3
-40
-5
-18
14
-54
-45
-43
-73
-15
-7
-145
-67
-6
19
9
11
46
-51
-26
-22
-29
8
-13
26
30
14
-97
-78
5
8
-16
-26
9
-92
97
-29
-24
42
71
-125
-14
-34
27
-10
25
-50
-28
-29
5
18
-6
-68
-5
1
-81
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-44
7
31
-75
3
-4
17
-25
-6
-2
25
-3
-14
-3
-3
9
0
0
6
15
-19
-35
-4
-12
41
2
5
11
7
44
5
-3
0
25
10
-14
21
19
-31
4
-19
-26
-11
39
49
-14
0
4
31
27
1
-4
-5
-9
33
-5
-50
-1
29
8
-17
-4
15
-22
1
3
40
-13
2
-20
9
13
-35
-36
3
68
0
-4
-10
24
0
-1
-47
0
-27
-6
15
-14
0
29
5
2
20
19
-7
-1
-6
-41
-19
-8
-74
-30
0
-40
-18
-40
-16
7
-13
25
-58
-51
14
6
5
-18
12
-2
39
5
-3
63
0
-43
-8
-6
4
1
-5
-1
-7
56
29
22
-10
-34
-9
5
-3
0
-6
23
-15
13
-4
-7
0
-34
21
-26
96
1
4
17
5
-2
82
-25
0
27
13
14
-5
56
-29
-3
-60
-125
46
37
-2
83
7
-101
107
41
-13
-18
31
30
-50
5
27
-6
55
39
6
39
2
31
3
-19
-9
-3
29
25
4
0
15
-38
2
10
-5
-17
-2
-3
8
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-20
2
-2
1
-40
14
-44
32
-14
49
57
10
0
0
-48
9
6
2
53
0
17
-5
1
-41
-45
-47
0
5
0
47
15
0
6
0
20
12
-40
21
32
20
0
12
0
-7
45
-13
-10
16
-48
-5
-5
23
-7
2
0
10
-57
23
31
-5
-3
-2
15
18
-4
-29
10
5
0
72
-4
54
-5
-19
27
-2
0
11
15
-42
-13
23
0
-5
-10
-54
47
-23
1
0
-35
1
4
80
22
-9
8
3
15
2
-52
3
-98
0
-61
19
55
-10
7
20
-2
-6
-10
31
58
-7
69
0
53
-7
58
-49
25
14
0
50
8
-21
49
40
-23
0
-30
-4
-4
-4
11
37
-13
5
-2
-55
-5
6
23
0
1
-31
-6
46
6
-13
0
-7
2
15
-7
-9
-23
0
-16
13
-19
27
-12
12
0
-1
14
25
44
5
-98
10
84
-6
-13
-68
31
21
0
6
-13
3
-22
31
-19
0
27
6
39
-26
17
19
16
-17
23
93
4
82
-4
-1
-1
22
43
4
-30
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
35
-2
-1
40
-32
23
0
-7
-95
0
2
-22
43
-41
-12
-57
-3
-50
-14
-18
-51
-16
27
-26
-38
22
-34
-105
5
-12
-4
-46
5
47
-51
4
2
-21
-16
-31
-72
-16
5
-6
53
-10
-7
-58
23
3
10
38
27
9
-24
9
11
14
8
10
-38
43
0
-20
9
-3
-40
19
-47
8
9
-93
-39
-4
-64
77
7
-4
-38
-1
-3
114
-21
-96
-23
9
-79
-33
-91
-41
-79
-8
-13
-25
-60
50
1
-88
29
5
-64
-34
-38
-20
-6
9
-32
-50
11
36
30
-40
6
-12
2
-23
-48
-15
-17
-2
-3
96
47
-52
-32
-10
-1
-3
-24
-47
0
-42
0
2
-81
-9
1
-68
-40
-1
-13
-57
0
-89
10
-4
5
-9
-36
-6
22
4
-12
7
-23
-30
21
9
-84
-4
-119
18
18
-17
-4
-108
-56
-11
19
15
2
21
-67
-39
-20
20
-8
11
-30
-71
15
24
16
3
-31
-1
-93
-11
10
-38
0
-14
-84
-97
-66
0
-24
9
5
-4
-80
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-51
29
1
86
-89
12
0
37
-5
0
0
-9
-21
18
29
-46
-10
-84
31
-1
-71
-21
-50
20
21
31
-3
-3
32
-20
-6
-30
-114
6
-5
-21
15
98
-7
-39
-20
-21
-27
68
61
-43
-3
34
-4
-37
-7
97
44
-11
-71
71
0
-34
25
-28
-92
28
-3
-49
1
44
1
-7
3
-2
-6
-9
-20
-2
-74
-23
4
10
-10
-2
4
0
3
9
14
-27
-80
21
46
-21
-34
-12
-37
-55
-6
-90
40
2
-18
-92
7
-58
-127
25
-57
9
15
-38
1
-18
-50
-39
-12
67
-19
-58
-54
19
44
0
13
31
58
10
-31
16
-16
-25
-74
-65
-78
12
-2
-19
20
8
9
-56
-17
-4
7
-20
4
-25
25
-10
3
-19
63
-6
23
0
0
-10
14
-16
-8
29
-27
-8
66
8
-63
43
39
-13
-31
18
23
-19
-44
-49
-92
35
-53
-17
29
10
-89
2
36
-10
0
-4
-50
-7
-34
18
4
-37
4
-45
11
-1
-33
-1
-2
-6
-5
-13
-72
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
-1
0
0
0
2
0
-73
5
-3
-3
0
0
10
-5
3
0
-54
0
0
7
-2
0
-8
32
-5
0
-54
-47
0
1
30
0
-5
52
-71
0
-5
-18
8
8
-1
-60
0
1
93
-1
0
0
13
0
-94
0
15
-1
0
74
0
0
1
0
1
0
2
-3
-3
0
0
7
0
6
1
0
0
0
0
-1
-36
0
0
-9
0
0
1
39
0
0
-22
0
20
-12
52
0
0
8
0
0
-2
2
0
0
-5
0
-6
1
-10
0
0
49
-8
2
0
-91
0
0
0
0
0
0
-29
0
0
-2
24
-5
0
-70
0
0
0
0
-2
0
-39
1
0
0
0
0
0
-30
0
-2
0
0
0
0
-32
0
0
0
0
-8
0
-25
0
-8
7
0
0
0
-3
0
0
4
0
0
0
14
0
3
2
0
0
0
-13
0
-1
0
0
0
0
-63
0
5
0
0
-4
0
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-4
-1
-67
0
24
-92
0
0
0
23
0
-57
1
-1
-2
0
0
5
11
0
0
-18
0
0
-6
-71
0
-23
44
-1
0
-78
-54
5
0
-43
0
-1
18
-57
0
0
-23
-71
0
-1
-64
0
0
-4
0
6
-13
-8
0
50
-22
-4
5
0
-23
1
0
-3
0
-14
0
11
-34
-3
0
-2
2
0
15
-1
0
0
0
0
-1
-10
-2
0
-9
0
0
-20
-7
0
0
16
0
4
49
-5
-7
0
6
-20
0
47
-6
0
3
40
0
0
-1
5
2
-2
-15
10
-3
0
-37
0
0
-3
0
-2
0
-26
0
13
-44
15
-5
0
-41
7
-8
0
0
0
0
19
-2
0
0
0
0
2
-79
0
-1
-2
0
0
-2
-12
0
0
-3
0
0
-2
53
-8
-3
16
0
0
0
15
0
0
2
-15
0
0
-3
0
-9
17
0
0
4
-5
0
0
2
-3
-41
0
-31
0
24
-1
0
8
0
13
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-57
3
0
25
-8
-35
0
71
28
0
0
-6
38
0
-1
-13
-50
5
-2
0
-84
-5
25
48
-26
4
-7
-18
3
2
-13
-42
-12
8
-31
21
12
-13
-112
-19
-47
-39
-9
0
70
41
-22
-17
-92
-10
-22
13
115
63
-45
-14
17
-8
6
-7
-21
9
43
8
1
-1
-5
92
41
1
4
13
-1
0
-13
-46
0
-1
8
25
-1
0
-4
-42
-18
-30
-50
-19
-9
-5
-109
0
13
-85
-30
-6
0
-31
34
23
-68
-105
33
-32
-31
-19
1
23
50
76
-31
50
45
9
8
49
-12
-13
60
-7
6
46
-2
21
5
-1
-1
-6
-14
-18
-21
-21
0
-12
3
0
0
13
-61
-3
-27
28
-13
-8
0
0
-5
-61
22
-40
-110
110
-20
-47
-41
16
56
30
-64
-4
-80
19
-8
-29
15
-5
-10
-5
-4
-17
-48
-68
-77
-38
-40
-7
0
-27
31
-5
55
93
-7
0
23
-6
44
-14
-1
-53
-2
-9
-9
-7
-53
0
-49
-119
4
-2
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
23
0
16
0
0
-93
0
0
0
5
0
-12
-1
1
1
0
0
-33
30
0
8
-22
0
0
17
-25
0
24
-85
33
0
-13
-74
0
0
-17
-6
0
-69
0
0
0
106
9
3
-26
9
0
0
20
1
-17
-2
-29
0
38
-7
-1
3
0
-8
0
0
0
14
-13
0
6
14
-43
0
0
3
0
-8
0
0
-2
0
0
-1
51
-10
-12
-66
0
-1
31
-45
0
0
12
0
-32
-30
-44
0
6
-48
-4
-5
42
-62
-6
6
-100
3
17
-21
2
0
0
-24
27
76
7
-33
1
0
-87
25
-20
0
-20
15
0
-18
5
-13
0
14
-8
0
0
-2
5
0
18
-5
0
0
0
0
0
-24
-1
35
-13
0
13
3
-31
0
8
13
0
0
-3
-67
0
-2
42
0
0
13
-43
-12
-18
1
8
0
0
1
0
23
35
0
3
-1
-19
0
0
-42
0
-6
0
-60
1
-42
15
0
12
0
10
-48
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-39
50
-10
10
-4
1
-2
-13
22
13
-12
-11
0
-27
0
-40
-5
20
-4
0
50
0
48
2
-22
-2
0
38
16
-71
5
0
0
0
25
-5
2
2
-26
44
-2
23
-17
-1
-43
-10
15
0
26
-2
-5
84
9
-6
-8
54
-11
73
-13
50
5
0
51
12
-21
37
18
32
0
0
8
9
11
14
32
0
44
-3
-53
-2
31
1
0
-100
-9
-58
-18
-13
34
0
2
20
-23
-23
4
-13
0
13
7
-6
-39
-11
6
-1
22
3
-2
-52
18
-74
0
23
29
-6
42
27
21
-10
11
-6
21
-53
26
-41
0
31
14
-6
-1
-11
26
-1
0
3
-28
-21
-14
13
0
-32
-15
-28
-2
49
37
0
2
-23
52
17
47
35
0
13
14
-5
66
-25
3
0
-14
24
13
-65
11
-77
0
-28
23
40
14
18
-4
0
-6
22
-2
-11
38
42
0
12
12
9
42
54
17
0
-4
-13
-28
-31
22
39
0
-2
20
1
24
39
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-145
0
0
0
20
0
12
13
9
0
0
0
-45
-25
0
0
-77
0
0
82
-11
0
-43
-52
-55
0
39
-26
0
0
-30
0
0
-7
14
9
0
44
-47
4
5
-3
0
0
94
-8
-5
0
24
0
-22
-17
-112
0
-8
-33
0
0
25
0
-3
0
-50
-52
-7
0
-29
0
0
-41
5
0
1
0
0
-1
-24
-1
0
-27
-2
4
23
15
33
0
-44
0
-32
37
-14
0
-2
-22
-2
1
-55
43
0
0
-37
35
-76
-3
-35
-1
-1
-9
41
-43
6
89
0
-4
-55
1
-6
0
-24
0
0
-2
0
-57
0
-74
-2
0
-1
-14
7
0
-48
-20
0
0
-3
0
0
-60
-12
-17
-6
0
0
1
30
0
-6
12
2
0
-1
-48
0
-51
46
6
0
0
11
0
-3
5
14
25
0
-4
0
-102
-9
0
0
0
44
0
0
-1
-5
2
0
6
0
-10
-2
5
0
0
-15
-1
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
4
0
15
43
-13
4
-5
-8
-63
-39
-7
0
34
-17
17
-70
-7
4
-6
-15
-16
-1
-3
-4
21
19
1
-34
24
15
-17
-17
79
23
-14
-3
-17
-12
-50
-10
11
2
-4
-7
11
-31
121
22
-21
0
-34
15
10
-44
32
0
42
-7
4
24
-13
-1
35
-13
33
-3
10
-5
-13
-24
-26
14
-7
42
-22
-133
-14
54
-57
-67
-47
-20
51
-22
51
18
-42
-5
-30
-34
-20
-14
-25
-20
-62
49
11
-34
-13
-17
12
4
-25
52
-19
-10
-24
-18
-2
-4
97
14
-8
-3
-31
41
63
-39
0
-2
-5
-11
-30
-22
10
-8
42
3
-4
24
23
-3
-31
-42
13
21
-10
5
14
9
-5
-57
-19
-14
0
-10
32
-14
-5
29
20
4
-13
-27
13
-10
-32
-23
8
-14
-45
-25
5
-23
24
86
-90
-4
0
40
-38
-67
79
-21
-17
0
-13
-29
-12
-8
-19
0
-6
101
33
5
-5
0
-29
-66
3
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-4
0
14
-6
7
5
0
0
95
-17
0
0
-101
0
0
-22
-71
0
-23
-32
-3
0
-48
4
0
0
-25
0
-7
43
-20
0
0
25
-23
0
-8
5
0
0
-9
-4
0
10
-56
0
-71
-1
18
0
0
-61
0
0
0
0
-4
0
-25
-3
0
0
0
0
0
82
0
0
-2
0
0
0
36
0
-5
-68
0
0
21
-70
0
0
81
0
0
-37
30
-7
0
-49
0
-3
5
-13
0
0
12
10
13
12
-32
0
7
16
8
-3
0
-14
0
1
0
0
-1
-1
-49
0
1
0
-1
-5
0
8
4
0
0
0
2
0
-76
0
0
1
0
0
0
-3
0
16
0
0
0
0
-94
0
0
19
0
0
0
-18
0
-5
-3
0
0
0
-74
0
0
19
-2
0
0
-16
0
-13
-18
0
0
0
-5
0
0
0
-3
0
0
-39
0
-7
0
0
0
0
-5
-4
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-31
0
0
0
-3
0
17
19
-9
-4
0
0
26
-28
0
0
-16
0
0
-13
-18
0
-6
67
2
0
45
-67
0
0
-39
0
0
-21
-98
0
0
-2
-1
0
0
-61
0
0
-8
0
24
0
-37
0
28
4
-1
1
0
-5
0
0
0
0
-1
0
34
-13
-1
0
0
-6
0
-30
0
0
0
0
0
0
19
0
0
-30
0
0
32
25
0
0
-10
0
0
-25
-84
0
0
-16
10
0
7
8
0
0
22
0
0
0
-58
0
0
-12
2
0
0
-97
0
-4
0
0
-1
4
-2
0
0
0
0
-1
0
-79
-3
0
0
0
0
0
-31
-1
0
0
0
0
0
-31
0
8
8
0
0
0
-10
0
0
0
0
0
0
-102
2
-1
0
0
0
0
7
0
0
0
0
0
0
-37
0
16
0
0
-2
0
-45
0
0
-1
0
0
0
-41
0
-5
0
0
0
0
-42
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-105
0
0
1
-74
0
10
5
12
0
-1
0
-47
-30
0
3
-10
-3
13
32
-6
-1
25
8
-51
5
-13
24
2
-3
-77
-5
-3
84
-28
31
0
-29
-95
-12
-6
1
0
-2
-4
44
-16
5
-75
-1
-93
19
-18
2
-6
-2
0
5
22
37
-17
0
57
-177
-45
0
-50
-1
0
0
-54
0
14
0
-1
21
-9
-8
-5
-33
9
4
-76
3
-7
-6
30
5
-4
-48
24
5
-26
-64
-88
6
34
13
-4
0
17
-91
40
42
-28
-1
-6
-7
12
-31
-33
-34
0
-3
3
-9
-18
0
-31
0
-1
0
-2
-26
0
21
-13
0
0
64
-1
0
-32
-14
0
-3
2
7
41
-8
0
-19
-24
2
0
16
-49
6
-13
-57
18
0
-8
-55
-3
14
10
22
44
2
-39
0
7
59
-1
5
-21
-10
0
-36
-3
-53
-8
25
-5
0
-1
3
-22
83
-1
-41
8
-58
8
89
2
0
16
-73
0
-18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-35
0
-1
29
3
2
5
-25
-46
-43
0
0
63
-13
-1
0
-28
0
-12
-4
-12
50
-8
11
-1
-7
8
-9
-4
7
-9
0
-74
9
11
7
-5
17
-8
-7
-22
-11
0
1
20
22
26
5
-11
0
-61
13
-8
79
-40
3
1
1
-1
0
47
0
6
-128
9
-3
21
-2
0
-12
-51
0
17
0
4
-84
-5
5
1
18
-2
2
-23
-4
21
22
-8
0
47
-31
-5
-3
-17
6
-7
-1
0
3
-4
-63
12
33
13
-4
-38
30
-9
24
43
16
31
-1
0
-16
18
-5
-6
57
-6
-18
-9
-24
-1
-43
0
24
-30
0
43
0
-36
-1
-26
10
15
10
0
0
-31
-62
0
27
-2
0
-31
41
-16
-2
27
31
0
-39
58
9
-5
30
0
-2
43
14
-21
0
2
13
-22
73
-12
34
2
-46
-59
0
31
-59
21
3
-13
18
20
-65
32
-9
0
13
18
0
-52
0
26
28
0
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-22
-93
-12
-23
-7
5
-37
2
-20
-14
-34
18
0
-6
-2
-63
-44
-14
22
0
5
29
3
16
-3
-10
-2
10
-3
-37
-49
-20
21
-3
22
9
-52
-54
-8
-12
0
63
2
27
38
13
28
-10
7
3
35
-5
9
5
0
-44
2
39
-13
-59
17
-8
-5
1
-53
-19
-77
-25
0
-49
-3
-23
7
6
-10
-3
-15
0
-24
-13
7
1
0
21
14
-125
13
-6
-7
-4
15
9
-1
-68
0
-21
-5
28
8
-51
30
6
7
13
75
13
40
84
51
20
27
50
3
-134
14
31
27
-3
1
-2
43
-5
2
-13
-1
13
-8
-5
28
36
12
0
-19
-22
2
41
46
-43
0
4
-10
-41
-22
-6
31
0
4
-1
-46
8
37
2
-3
-12
3
-10
-33
-4
-13
-3
53
9
-182
-11
45
17
-4
75
19
92
-3
64
56
1
52
12
-2
-58
43
12
5
-34
-5
76
-24
41
-23
-2
31
14
24
-8
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-2
-1
0
0
0
-2
5
0
0
-30
0
0
-4
8
0
-24
-14
-1
0
1
-21
0
0
-39
0
0
0
-8
0
0
8
0
0
0
-20
0
0
-20
0
3
0
-60
0
-45
0
0
-2
0
13
0
0
0
0
0
0
2
0
41
0
-1
-2
0
-120
25
0
0
0
0
0
20
-6
0
-19
-1
0
0
-110
0
0
3
0
0
-1
-24
0
0
71
1
0
0
85
0
0
-7
0
0
0
-30
0
0
0
0
0
0
13
0
0
9
0
-3
0
-50
0
0
0
0
0
0
-27
0
0
0
0
1
0
1
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-5
0
0
-1
5
0
0
-53
17
-5
15
0
0
0
23
0
0
0
8
0
0
5
0
-3
-4
0
0
0
-5
0
0
1
0
0
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-37
-17
-10
-8
0
21
18
15
-2
-7
0
0
-94
-45
0
8
-56
-29
0
-22
14
0
-5
-68
0
7
-74
10
-1
13
-11
41
20
-8
-52
-24
6
-57
0
42
-31
43
0
-51
-22
2
15
4
-41
0
-1
64
-3
45
0
0
46
-25
0
93
2
0
25
-43
1
-1
0
0
13
-50
-9
25
-101
76
0
14
44
-9
-2
-64
0
0
-10
-36
0
-2
-39
34
-7
13
59
-5
-1
-17
-10
-5
5
5
0
-4
-3
-6
-41
107
57
0
0
16
0
-80
-16
-101
1
-6
-28
8
-42
0
0
7
0
0
18
-3
0
-14
-76
-2
0
0
0
0
26
0
-32
17
0
0
-8
-93
0
2
0
25
0
0
0
0
16
25
0
0
39
-26
7
7
-6
3
-4
0
-13
0
-22
18
4
0
8
42
0
15
-25
24
-2
0
-63
0
-56
0
0
5
0
0
43
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-16
-39
-73
-43
-23
8
-32
6
-22
-27
-17
-1
-27
-26
18
7
-3
0
3
11
-16
-5
-14
-63
-5
22
38
-13
-15
41
-17
-45
6
-57
-16
5
110
-28
10
-31
27
-43
-16
32
4
11
13
-4
-109
15
8
0
-36
-56
-11
-4
16
49
-52
-32
-35
-48
-67
13
-10
-1
56
8
-48
-22
-2
-76
-7
-25
0
-14
-2
1
84
50
-16
-40
67
-43
-17
56
7
-42
7
-34
-46
0
-7
-1
5
91
-21
-20
4
-23
87
17
-5
-44
-49
13
3
-40
5
-29
-35
-26
26
9
-43
-54
-2
-8
-8
15
2
-61
32
-91
-69
66
-1
-39
-24
1
44
-29
-41
13
-58
-32
-22
7
-67
-98
-12
-28
-97
-9
-6
22
-13
-1
3
-23
-35
-24
-52
7
-41
96
-38
-28
3
-42
22
-31
25
-53
-43
-14
-60
-27
-17
12
105
13
1
24
-32
20
5
17
74
-43
-7
-17
-11
-1
-59
8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-2
-64
0
0
-6
0
0
-25
-49
0
-31
-14
-3
0
-29
-29
0
0
-5
0
0
-1
-20
0
0
8
0
0
0
-9
0
0
-1
0
0
0
-18
0
9
0
0
0
0
-21
0
0
0
0
0
0
-66
-5
0
0
0
0
0
-66
0
0
0
0
0
0
-3
0
0
-13
0
0
-5
-59
0
0
-13
0
0
9
-68
0
0
-16
0
0
4
1
0
0
-13
0
0
2
-5
0
0
-10
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
3
0
0
-63
0
0
0
0
0
0
18
0
0
0
0
0
0
13
0
0
0
0
0
0
-27
0
0
0
0
0
0
-24
0
0
0
0
0
0
-25
0
0
0
0
0
0
-17
0
0
2
0
0
0
-8
0
0
0
0
0
0
-43
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-5
-56
0
0
29
0
0
1
14
0
67
100
0
0
-36
5
0
0
-28
0
0
2
-27
0
0
37
-2
0
-3
-30
0
0
0
0
0
0
-34
0
-47
-1
-15
0
0
9
0
0
0
0
0
0
48
-14
-2
0
-1
0
0
46
-1
0
4
0
0
0
-25
-4
0
-25
0
0
-15
-79
0
0
5
0
0
-17
-59
-3
0
-29
0
0
19
45
0
0
-41
0
-1
0
-35
0
0
-3
56
9
0
-24
0
0
0
0
0
0
-71
0
0
0
0
-1
0
-81
0
-2
0
0
0
0
18
0
0
0
0
0
0
10
0
0
0
0
0
0
-32
0
0
0
0
0
-13
76
0
0
0
0
0
-1
-25
-1
0
0
-3
0
1
-47
0
6
0
0
0
0
-10
0
0
0
0
0
0
-77
0
-22
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-84
-17
12
0
0
20
56
0
0
40
0
0
31
-34
0
15
-42
-1
0
-3
-40
0
-4
-65
-1
1
-58
-84
0
19
-55
1
2
-140
-58
0
0
-62
0
30
13
-46
0
28
30
67
43
-1
-118
0
0
3
0
49
0
-13
-5
13
0
0
5
0
5
8
0
0
0
0
-5
40
-2
9
-15
-1
19
-70
-23
0
0
-43
0
2
-26
-65
-8
-4
-14
-1
8
12
-74
0
0
-54
0
24
26
57
0
0
2
-9
4
1
-79
0
0
-43
0
47
0
-13
2
-1
49
-1
-16
0
-11
0
0
0
0
0
0
-8
-66
0
0
0
0
-17
55
0
-2
-1
0
0
39
-15
0
10
-10
10
-6
3
-91
0
-2
-37
0
2
-5
-21
0
-23
-78
4
-24
13
-26
0
6
44
0
0
0
22
0
-5
75
1
5
0
51
0
69
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
6
1
-17
-8
0
39
24
-33
43
4
2
0
13
-5
-14
24
-4
26
-1
-2
1
1
16
-10
-41
0
-13
-43
-24
55
-6
6
-2
35
-12
14
-21
-23
59
0
17
-12
13
-9
1
-12
0
113
-15
-46
7
-5
41
0
0
12
40
-53
-13
-3
0
7
3
-10
14
-5
-1
0
53
14
-49
-55
17
50
0
37
2
62
-22
-5
3
0
38
-13
-38
-19
22
33
2
5
-3
110
-151
-11
21
0
61
-29
23
-18
0
30
-7
-24
-16
8
-83
61
-22
-2
-13
7
22
74
-5
27
-2
1
6
49
-38
-29
27
0
2
-25
-29
29
-65
-10
0
1
-4
2
-3
22
12
5
32
1
-3
-36
3
31
-8
23
6
-23
-20
34
11
0
12
-7
-68
-30
9
-21
-2
-13
11
-24
-10
50
-4
0
-22
-23
-20
-25
26
1
0
55
10
-32
38
126
63
0
-3
-17
93
7
-79
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-113
0
0
-89
0
0
-31
-18
1
-26
-11
9
0
16
-11
0
4
11
0
1
3
5
0
0
30
-4
-8
-1
3
0
0
-7
0
0
0
-7
0
27
-2
8
1
0
-64
0
0
0
0
10
0
-41
-29
74
0
0
0
0
21
145
0
1
0
0
-1
-30
-1
0
24
-1
0
25
-28
0
0
-22
0
0
-24
-60
1
0
101
-4
4
13
-102
1
0
69
0
10
1
-12
0
0
14
2
1
0
23
0
0
0
0
1
0
27
0
17
-3
8
-5
0
-57
0
0
0
0
0
0
76
-24
0
0
3
0
-1
55
-1
8
-1
0
0
2
-58
0
0
5
0
0
-1
-36
-1
-8
5
0
0
-5
-85
0
0
43
2
0
5
-27
9
-5
-2
0
0
0
-55
0
4
3
23
0
0
38
0
9
0
0
0
0
-42
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
14
-143
46
-27
-59
15
12
11
12
18
14
-3
30
5
25
-22
47
-16
-7
6
-7
-16
13
11
-18
3
-13
-6
10
17
-8
44
19
-3
0
12
11
-1
0
23
-51
-9
-26
-35
-33
-14
3
26
1
-3
18
-91
33
19
38
0
-62
-76
-92
41
-92
-56
-39
4
-89
-32
1
-29
-26
0
-60
-48
-9
-10
19
-4
1
-22
7
25
1
-15
15
-7
-3
4
22
-52
27
8
-11
31
40
16
10
35
-21
-15
-12
43
10
58
11
-31
-12
-53
6
-12
22
-8
21
-18
-14
29
-38
23
-15
45
0
5
-41
-80
-40
-125
-76
-43
-9
-105
-40
-19
-30
-65
2
19
9
1
-3
-23
-15
3
-14
24
24
-13
56
30
0
22
2
23
-10
24
11
-9
48
13
19
9
-19
8
-9
61
-5
31
25
-2
-33
-7
-18
3
1
-29
13
-38
-3
-35
1
-39
17
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
17
-5
-5
3
-5
4
-23
36
57
12
16
1
-56
8
-27
-8
11
7
-2
-111
0
14
1
-15
-28
-7
-76
-52
-7
-5
13
-10
54
-7
-30
-56
19
31
-66
-36
7
-14
-13
32
5
-23
6
-5
2
10
-67
63
0
-5
-23
60
-73
-146
21
-12
-1
9
-93
53
-50
-6
102
-38
3
1
6
-97
31
3
-1
-55
88
22
-15
19
-3
110
-134
-52
-15
15
-28
-61
22
-22
-49
-14
10
-1
-33
10
-46
-57
5
17
-28
-25
87
-26
-58
-14
-8
92
-42
-30
-47
0
-22
-66
-34
-12
49
89
8
12
-76
144
41
15
-2
-112
20
-2
-13
27
-13
1
-32
-27
16
43
33
-5
8
-111
-2
-41
-36
16
23
-5
-102
-49
13
131
-43
55
-66
8
-7
8
-28
2
0
9
-1
-14
6
-32
-61
12
2
-13
-10
3
6
-5
20
-64
-1
-2
-74
25
56
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-19
-9
35
-98
4
0
-47
63
11
9
-12
29
89
1
5
19
17
-28
-60
20
20
-30
30
-13
-54
-32
-10
-92
-2
-2
-3
-23
-4
31
-4
-22
-15
-43
-10
12
0
-59
31
-33
-2
-45
-3
6
0
11
20
13
0
-1
-32
24
-53
65
-8
-26
36
42
40
32
-69
-2
-7
-8
9
-10
67
63
13
4
-42
110
-21
22
27
-76
10
43
13
-50
5
-31
75
-50
-79
13
-73
-23
42
-23
21
-4
46
-22
19
2
-29
-49
-39
-56
8
-36
0
50
-74
-91
-51
-1
-10
-40
8
0
-27
34
-1
30
-3
-47
44
-27
0
18
-34
-84
89
-39
-12
16
-13
52
12
-2
47
-34
83
1
54
-6
62
1
0
-31
93
-20
21
30
-40
-55
-42
-79
-13
17
-21
-20
63
-19
-43
-34
-2
-43
-7
-69
61
0
28
-2
-74
-45
-2
-83
0
15
-1
-41
-13
70
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-33
-5
5
-27
0
0
-47
-40
-25
-22
-109
11
-13
27
75
1
-3
-1
22
-14
98
10
-1
33
24
-63
24
-8
-47
-4
-2
-29
4
21
-8
-21
-1
-8
-49
-33
-15
-1
-81
6
-17
-25
-7
55
0
32
-50
70
0
-5
5
0
-10
140
5
13
0
0
0
-47
-54
-13
-3
-13
0
-40
6
-4
42
-41
6
19
-2
54
3
-9
6
40
24
-30
17
2
119
26
-6
12
4
-30
-9
-52
-32
4
18
4
38
-1
113
9
-1
-9
7
-29
29
7
54
17
-56
0
11
25
-9
0
-10
-12
0
39
-59
44
-1
4
0
23
-41
10
-69
-12
0
17
-100
-32
-3
-18
31
5
-3
-23
12
-8
-57
-20
19
0
-2
21
0
58
76
4
0
-39
47
-16
64
67
2
26
-30
32
49
-13
11
-55
14
-1
12
-7
-43
7
0
-28
0
-11
-4
-48
-18
59
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-34
0
0
22
0
0
-56
-133
-14
22
-113
-2
1
-24
-55
0
0
24
0
0
-51
-68
0
3
-25
-1
0
-48
-30
0
0
-109
0
12
-1
40
0
-43
-14
-2
0
-2
-12
0
0
12
0
48
0
40
-10
18
0
-1
0
0
-77
-8
0
3
0
0
-16
28
0
0
-5
0
0
25
-32
0
0
-60
0
0
12
-85
0
0
18
-1
-2
-39
-110
-1
0
0
0
-2
-4
-25
0
0
-17
20
-3
-1
27
0
0
5
0
59
0
-6
0
0
9
0
5
0
22
0
0
0
0
5
0
-80
48
0
0
0
0
0
45
0
-6
-33
0
0
4
-10
0
0
-2
0
0
0
-103
0
-32
-22
1
0
4
19
0
-4
-16
0
0
27
-15
0
-17
15
0
1
0
-9
0
0
-16
0
-3
0
-9
0
100
5
0
-4
0
57
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-109
0
1
16
0
0
6
3
0
57
-46
0
0
-25
-22
0
0
-42
0
0
2
15
0
0
-22
0
0
-2
-116
0
0
-2
0
0
0
2
0
-6
0
0
0
0
-22
0
0
0
0
0
0
-34
8
24
0
0
0
0
-146
-15
0
-1
0
0
0
95
0
0
5
0
0
-8
-5
0
0
-89
0
0
-23
-100
0
0
-25
0
0
-15
-49
0
0
37
0
0
0
-51
0
0
0
0
0
0
-27
0
0
-2
0
0
0
31
0
0
0
0
0
0
-34
0
0
0
0
0
0
-50
6
0
0
0
0
0
-1
0
-25
0
0
0
0
18
0
0
9
0
0
1
41
0
1
8
0
0
0
66
0
-13
0
5
0
1
24
0
2
6
0
0
0
9
0
0
0
0
0
0
-75
0
-2
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
21
-19
49
5
-26
-50
-12
3
-4
13
-32
-20
69
-11
-5
-18
-40
-38
-38
-93
-5
-6
25
-51
-25
36
20
-49
-8
-46
19
-50
23
-42
-29
-13
131
-47
120
-30
4
0
24
-4
43
8
38
20
16
16
60
-35
89
-2
8
-10
15
-31
-65
29
-34
49
40
34
-16
5
-24
42
90
-44
-26
-40
57
-18
-55
-64
-71
-3
38
-76
-3
66
-44
40
3
-100
-27
-29
-1
16
-13
0
-31
-23
-12
65
-56
49
0
8
-22
63
-39
-6
1
8
-84
19
43
7
-43
17
14
16
-34
37
-9
-1
30
25
-50
-50
-45
34
12
-54
-24
32
3
1
43
45
-15
-8
104
-51
-39
35
13
-66
-26
73
-40
9
-85
39
-29
16
37
45
-80
26
58
-31
-11
-13
48
-14
12
72
15
-8
25
-41
-110
-7
-50
-7
-9
-5
60
31
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
30
-4
13
11
-8
3
24
2
16
-25
1
60
14
-1
5
92
-31
3
-5
11
-5
-7
22
1
9
18
0
-21
-21
57
1
-2
-10
-5
-4
-19
15
117
16
-3
13
20
-2
7
42
77
-3
49
-51
26
10
-149
-7
-82
-6
-43
0
-6
-53
-5
-8
-21
-61
19
-80
-15
-55
7
-2
-2
8
-16
11
8
-10
-13
-5
-3
3
-19
7
-45
39
3
-7
48
0
14
-1
-21
-32
0
-3
40
10
15
-17
-10
-5
89
21
0
34
1
-40
-17
-20
54
36
34
23
75
-7
8
-21
0
-26
65
-41
0
50
11
-5
-54
19
-76
-35
-109
0
-45
8
24
-33
-9
33
-19
-29
32
-39
-1
-20
7
27
1
-10
5
-4
1
-6
19
28
-27
-17
-11
-15
98
2
33
19
28
1
1
-3
28
11
7
8
50
-3
18
-4
-11
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
62
12
98
-11
-40
-13
34
41
0
14
26
0
10
74
-27
0
-9
-63
23
-4
-61
-8
0
-13
-26
0
-4
91
0
0
-13
-25
42
0
-8
-20
0
0
3
-3
-9
0
27
-56
92
0
-6
0
0
56
25
10
-35
0
0
-5
-31
4
45
-5
6
0
51
49
0
49
-71
-2
0
2
38
-1
-28
55
42
-3
42
5
0
-1
-61
25
35
-8
-8
5
0
39
-38
3
2
-3
0
12
13
7
4
0
-25
0
0
2
1
-16
0
13
-5
0
0
0
-5
-1
56
-83
10
6
-4
0
18
15
7
-10
17
0
0
47
22
0
-75
-11
4
0
13
-9
0
71
41
0
0
110
-72
0
-49
-15
15
16
-8
5
-6
-22
-4
4
0
0
17
0
0
12
0
-2
0
-20
0
-67
-4
-1
-2
0
-110
39
0
0
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
44
0
27
84
120
4
0
32
-25
4
11
2
10
-107
52
6
0
17
32
-7
65
5
19
0
-138
-1
-19
-10
-33
0
28
-24
-15
-12
0
-29
-1
0
-4
0
-30
0
10
-20
-13
0
-15
25
12
-27
-8
0
-11
4
0
59
19
2
1
42
8
0
-93
-28
-4
9
-10
3
0
22
71
10
-24
-70
-49
0
-33
33
-4
0
-50
6
25
51
-14
0
0
-6
-20
16
0
-18
0
0
25
0
-1
0
-11
0
0
-6
-43
30
0
8
0
0
0
0
6
0
-30
-39
0
18
0
0
1
115
-10
-26
-19
0
6
-3
2
0
63
34
0
-1
63
50
-1
6
-68
0
-2
-1
-33
0
-24
-9
55
23
57
5
0
45
-21
1
4
0
-23
0
-2
96
-13
0
0
-48
0
-2
-3
0
8
0
-46
13
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
35
1
18
35
-13
47
20
3
26
34
11
26
-33
2
-13
3
-101
28
-19
1
-7
-5
18
-24
9
22
15
-63
-13
-70
-6
-12
7
21
-140
6
-43
24
55
92
20
-25
3
-34
10
-42
31
-1
13
31
45
8
-49
-28
3
29
19
14
-18
73
10
-16
19
33
49
73
-7
-8
-2
0
7
-40
-17
0
-8
48
20
6
86
-1
27
0
14
14
13
-12
-78
41
20
2
-28
4
9
-66
24
51
20
-129
-8
16
-30
23
3
-10
-34
4
-71
-37
-8
-47
-8
-40
27
-17
43
89
-14
22
68
32
-118
-18
-21
-1
6
36
37
36
-19
19
41
35
18
12
-53
-31
-13
-80
-60
6
10
81
26
-1
-28
-54
-24
-8
-31
-5
8
35
-2
20
-6
-92
-17
-3
-5
-2
-37
-5
-53
13
-11
75
26
-25
-7
-33
-26
-73
23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
55
-8
-2
-33
3
0
-87
-42
0
0
-18
0
0
-49
2
0
0
19
0
0
17
-20
0
0
24
0
-1
0
-53
0
-85
-12
-12
0
0
-121
0
0
0
0
-1
0
49
-1
0
0
0
0
0
14
-2
0
-3
0
0
-8
-17
0
0
16
2
0
58
-8
0
0
3
0
0
9
-6
3
0
-5
-1
0
-17
-60
0
0
25
0
3
18
-28
0
0
127
-8
-2
3
-44
0
0
-3
0
1
0
-65
0
0
0
0
-16
0
-22
0
0
0
0
0
0
13
-3
0
-6
0
0
0
55
0
12
0
0
0
1
-28
0
0
66
13
0
-41
6
0
10
-3
0
2
-8
17
0
-7
3
0
0
0
-50
0
-13
5
0
0
0
-13
0
0
13
0
0
0
-49
0
31
0
0
2
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-19
9
68
62
-4
0
5
-7
0
0
-43
0
0
-17
-34
0
0
32
-3
0
-1
-12
0
0
-1
0
0
0
16
0
-25
0
-14
0
4
-25
0
0
0
0
0
0
76
5
0
0
-20
0
0
-44
4
0
0
0
0
9
104
0
0
-31
2
0
-57
69
0
4
-2
0
0
54
-64
0
0
44
56
0
5
66
0
0
21
0
0
0
74
0
0
-21
-2
0
0
-23
0
0
59
0
0
0
42
0
0
0
-1
0
0
-24
0
0
0
0
0
0
31
1
0
0
0
0
0
19
0
-53
6
0
0
2
22
0
-6
14
0
0
20
72
0
21
-5
0
0
0
-136
0
0
4
-4
0
0
5
0
-10
-6
0
0
0
-22
0
0
-13
2
0
0
36
0
-30
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-11
60
53
-12
-58
72
-22
1
9
5
-57
-34
45
-28
1
-42
-83
-9
18
-40
-43
-5
20
8
-52
-10
-72
-5
-27
35
116
-4
-35
27
-1
1
-13
-29
-49
-9
-13
-56
8
-35
22
-6
-41
-54
63
-12
-82
-7
-63
-69
-79
-41
18
44
2
37
31
33
59
3
-23
-16
25
4
21
-13
-10
-4
22
2
-39
41
1
-25
-57
51
-20
-9
4
-1
-19
16
-39
-3
-86
45
-27
-1
30
15
-31
-31
33
-3
15
-102
29
-73
-59
-51
-13
-19
-7
40
-50
84
2
9
-9
-58
20
40
56
52
90
-7
70
85
-11
-23
16
-68
10
-28
43
22
-66
7
33
-13
-49
10
-28
-15
14
19
-21
18
9
8
21
42
-13
0
58
-50
11
0
-22
-25
5
6
23
27
94
38
39
29
37
-24
-57
55
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-14
-52
-73
-62
-63
6
-16
-22
-13
75
-20
-3
37
20
-9
24
5
19
45
-12
-3
19
-67
-4
27
-14
5
-81
-15
38
16
41
64
13
-41
-18
2
-23
-33
13
-44
127
28
-32
-44
16
-73
-23
-51
-19
-4
-3
-24
-102
-7
-54
0
-25
-58
-16
-12
-38
-61
-29
-23
49
-68
51
19
-4
-21
-5
-37
10
13
-4
3
-21
9
41
24
-18
8
26
-22
-40
-103
51
5
9
-92
-16
49
-91
26
47
27
-52
0
-7
-15
-54
31
49
-10
46
46
-14
32
-238
-43
-122
-58
13
78
19
-17
-59
42
0
-13
-56
-62
-20
-3
-56
-49
-32
31
-8
37
38
-4
4
-2
10
-12
-18
-22
-11
-5
-17
42
31
39
22
16
-7
-10
26
22
18
55
32
7
-17
0
21
44
20
-66
5
-7
-84
-4
40
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-72
-2
-2
43
0
-20
-11
10
2
49
-6
-49
-4
20
-46
2
0
-66
0
13
-8
-46
0
-5
-2
-24
-2
2
58
0
0
4
0
-8
-2
-43
22
5
-6
0
-3
-4
46
-49
29
-2
0
0
18
-49
-1
47
0
4
0
-2
-73
0
8
22
0
0
-45
-98
7
-34
-25
13
15
5
16
-1
7
30
-3
-5
-26
31
0
4
-1
-44
20
14
36
0
0
7
1
26
0
5
0
0
-25
3
24
0
-22
-1
0
0
0
12
0
58
-35
-5
95
-4
4
4
7
0
-31
-29
-2
8
31
-6
0
-10
-8
-7
0
8
-48
1
25
0
-18
-1
-15
27
0
46
-20
-4
-1
1
-15
-6
61
-7
-5
3
0
-80
0
-9
50
1
8
0
21
0
10
-9
-4
-8
0
24
-14
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-30
-5
39
-4
-26
3
-41
-8
22
-35
-16
30
-16
-2
2
-57
-10
4
75
-12
-22
-23
-19
5
-20
-14
-16
51
9
-33
-7
-7
11
-41
-13
5
-15
24
-32
-21
-31
-48
9
-23
-21
-17
45
56
7
-15
-69
41
-8
-22
85
-28
23
-94
-58
28
18
-22
-13
-12
-31
-38
-26
-4
53
-35
-17
-38
-45
-11
-20
13
-46
-3
-29
-33
23
20
-8
-13
5
-20
-116
15
18
29
-25
-12
-64
-5
56
6
24
-39
19
28
-25
-22
-41
6
-111
20
60
5
20
-9
-8
-141
3
-20
-81
-5
-18
-49
20
18
-63
11
-9
-18
30
-40
-7
36
-24
-33
12
-6
-73
-11
-21
48
-11
-10
47
-25
-5
-38
-1
-26
36
57
39
-2
-38
-31
-29
-45
-27
-51
11
-45
7
30
-72
-20
-34
24
-14
-43
-23
4
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-65
-13
17
5
-32
-16
-25
14
-4
-6
-14
16
-6
-9
138
-37
4
-41
22
37
-34
-53
-8
-3
-14
21
-20
-27
-24
-57
-33
-25
-13
-65
-14
-13
22
2
21
-13
-18
17
7
-2
61
13
61
-51
-12
-6
-3
40
-81
-5
31
12
24
23
38
44
25
39
12
18
-52
3
39
29
1
-11
-57
12
19
23
25
6
-5
6
-12
18
-7
-8
32
9
12
32
57
1
33
-67
-5
5
22
9
6
-16
31
10
-26
-2
4
-58
-13
-3
16
25
-49
-105
48
-29
-54
6
-70
31
6
24
22
37
9
-8
9
1
14
-22
-26
-12
0
70
-17
-58
-16
-3
-1
1
10
-10
-4
-19
19
7
88
-3
13
46
29
57
-8
27
-20
-7
26
14
79
-2
9
2
14
-7
-1
114
12
18
52
-30
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
45
-47
-17
-12
64
-48
-5
18
69
-13
-24
-18
-8
-16
3
46
-8
8
31
-11
-12
-1
8
-34
-6
-67
2
1
-39
-8
57
-3
-38
-1
-5
-19
-4
-1
-4
-68
-16
7
-18
13
-9
0
-13
8
10
23
-47
-65
24
6
22
4
-18
111
10
-6
16
29
-19
-31
-10
0
2
-42
27
-8
25
16
28
-35
-12
15
-25
45
-30
5
-60
-59
36
-27
18
4
-5
-5
-16
13
20
-6
3
34
42
1
-3
23
-8
-14
-34
44
-65
-8
-10
-19
-13
-128
0
-1
-69
-8
-8
-6
38
-6
48
3
-17
-50
12
-38
-23
-16
-33
11
-3
-51
69
5
-61
37
-46
5
58
-10
-28
50
-44
21
10
-2
4
-3
25
-8
4
12
-69
-7
39
-33
-46
-21
-4
2
-43
-1
12
-3
21
14
-15
-9
19
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-38
0
0
15
7
0
-22
39
0
0
-99
-32
0
32
-65
0
0
-25
0
0
-7
-61
2
-79
-6
1
0
0
-7
0
0
2
0
0
0
31
41
-10
0
-5
0
0
-12
4
0
0
-2
0
-30
29
3
0
-23
-1
0
-49
5
-1
-5
22
0
0
50
-45
0
-8
-7
48
0
83
-7
0
0
37
-6
0
95
-38
12
3
31
-16
0
0
-6
0
12
1
0
0
0
-13
0
0
-1
19
0
0
-21
0
2
0
0
0
0
-17
56
-2
2
0
0
6
-13
-2
10
65
0
0
37
-22
0
-13
-25
7
0
0
-17
-6
23
-60
-12
0
-37
-23
0
-8
-38
-10
0
-4
27
0
-94
7
-1
0
0
-51
0
0
2
-4
0
0
39
0
-14
0
0
0
0
23
31
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
7
39
48
9
-1
-10
-77
9
-18
-1
4
-41
-26
-26
4
-5
-3
3
4
1
-6
-3
-48
-15
-45
13
-18
7
8
-6
-24
-37
36
-46
4
30
-4
-25
62
-20
-7
-24
29
-29
15
32
16
68
-5
6
8
-24
21
-46
38
33
-4
-29
-10
23
18
60
-51
4
22
6
4
17
43
-18
5
46
0
-1
11
34
-16
10
-76
7
33
9
36
42
5
39
18
-9
2
5
-69
16
-19
42
13
-44
19
38
11
12
4
76
53
29
-48
22
1
2
8
35
12
-52
2
76
-10
20
28
-23
3
3
-79
15
-21
10
-29
-34
3
71
19
23
-3
3
41
7
-27
-7
-23
8
-28
41
4
17
29
35
13
61
-36
3
4
-13
-6
-19
-1
9
16
8
-35
55
-21
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
18
-104
-9
-21
24
16
-6
-4
-57
-12
14
-21
-24
5
-20
73
6
9
-9
10
-50
-21
-46
-4
-18
19
17
-25
-5
18
-61
-37
7
-43
55
-6
7
-13
14
-28
24
27
18
47
-61
36
-8
5
6
1
21
13
12
2
-10
19
0
24
15
20
20
33
-34
4
-28
-17
-13
-12
3
-3
7
18
-48
-8
-20
-15
28
1
-48
26
22
40
5
-29
1
-15
-92
23
11
19
-13
0
52
-28
-50
16
13
-33
-2
15
26
26
-24
14
-25
5
-91
-6
0
-102
-5
0
-3
24
25
-6
5
58
56
0
24
-6
-10
-7
-62
-68
-5
-12
-9
-34
-15
5
-15
1
34
-20
-30
40
-21
-18
14
-108
-42
31
7
-7
-8
6
6
-7
63
29
-10
15
30
15
14
-8
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-50
-3
0
-6
-5
-8
-18
38
0
0
6
0
0
0
30
0
-12
3
7
-6
-5
26
0
0
0
0
-5
0
-46
24
-4
0
0
8
0
40
30
0
3
0
0
0
24
37
87
31
-5
0
22
-40
0
-10
-32
0
0
51
-112
-3
-5
-107
7
20
-41
32
-2
-1
19
-12
0
1
54
0
0
-4
-4
-4
0
52
2
2
-2
0
8
0
-11
0
0
0
5
6
0
-47
0
0
0
0
0
0
-33
-5
2
0
0
0
7
45
-1
-28
35
0
0
-30
-36
0
-39
-12
0
0
-2
-85
0
114
50
-2
-3
-12
13
-1
-10
0
2
0
0
-12
0
-42
2
0
0
0
21
0
6
-20
29
0
0
13
0
50
-1
-7
0
0
-56
-20
0
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
45
19
2
-85
10
0
10
-60
9
29
-22
45
0
-71
18
47
-5
0
25
0
0
8
0
44
0
-41
58
23
0
2
5
0
40
-3
0
-9
12
-1
-17
2
-29
14
-74
8
0
-30
-168
3
-1
20
0
3
57
73
0
45
-244
-6
3
-50
-8
0
-23
-41
-10
-18
-4
-8
15
-1
12
13
-20
2
9
0
-1
7
-3
-15
0
46
0
0
30
1
-4
0
59
2
0
0
-10
18
0
-34
-51
0
10
0
0
15
-108
49
-7
-1
0
0
19
21
-1
36
7
41
24
7
-32
0
-7
6
5
0
0
16
2
-16
10
-14
4
1
-10
0
-41
-8
13
0
4
46
0
0
-57
-21
4
0
32
0
33
-2
-5
20
-2
-102
-7
0
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
41
-5
17
9
-27
-3
-4
-18
-53
-5
-14
59
-2
-19
-5
-7
-1
-12
-6
-21
-1
84
85
-41
0
-5
-17
25
-6
-48
8
25
-80
21
52
10
5
14
-90
40
29
20
44
61
19
-30
-54
31
-12
-147
19
61
-80
2
39
1
-12
-34
34
3
40
53
4
3
15
-3
-24
20
14
9
-28
25
24
-1
10
30
9
18
-90
15
14
14
-64
-7
41
36
49
-24
-1
12
31
14
-51
57
32
-50
-88
33
-1
-20
-36
2
25
31
1
102
47
-29
-2
-8
24
16
-8
-58
43
-20
31
25
18
-85
16
-11
-3
-16
-13
5
-66
4
0
-7
18
-9
7
-51
7
13
-58
-26
-21
3
15
-30
27
-15
51
39
-1
-44
-13
-33
35
8
-45
30
31
96
-70
38
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
5
4
10
5
21
8
-8
-29
0
0
-39
0
-2
-28
-71
0
-24
26
69
-2
3
-29
0
-1
-7
0
0
0
-38
31
-50
0
0
0
0
-35
-24
0
-2
0
0
-50
10
-24
-1
-7
0
0
12
11
0
-5
13
0
0
83
-23
0
-1
34
25
-5
61
-24
0
0
-103
0
45
-15
6
0
43
-46
8
87
21
-49
0
3
-17
0
42
1
27
0
0
-2
-2
78
0
-2
-2
0
0
0
3
0
-23
-46
0
-1
0
0
0
21
-4
46
-32
0
3
-2
-21
0
-5
63
0
0
8
-42
0
23
-10
0
0
7
-19
-1
8
-48
-8
2
42
-47
0
-23
-74
0
-1
18
-2
0
0
9
13
3
0
11
0
43
13
0
-9
0
-6
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
31
13
0
43
-72
0
8
-54
0
0
19
0
0
22
51
-3
34
-80
4
0
-3
19
-1
0
4
3
0
-9
25
28
44
1
93
0
0
-9
18
0
-1
0
0
-22
14
1
85
31
-47
3
24
23
0
7
-24
0
0
22
-25
8
46
-52
34
-2
10
65
2
17
40
8
0
20
-41
12
13
53
-77
0
-13
-22
0
23
-15
0
0
-1
17
0
4
-2
-51
0
0
2
44
13
0
24
0
0
-32
-11
8
-3
-1
0
-10
-12
-17
-6
-33
23
0
18
-2
1
61
11
22
0
30
-10
0
21
-22
-12
0
-26
55
-9
-102
-20
-25
0
6
-37
0
10
75
-3
0
-33
-37
0
-5
-32
-62
0
-4
-25
0
14
-25
0
0
0
-6
-2
0
-4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
6
84
-53
-4
-15
31
14
-4
-10
2
-2
-18
32
13
-2
-15
-19
36
-18
-3
-2
20
-25
-3
-10
-24
21
8
-2
0
9
17
-8
-10
-26
0
4
32
6
23
-12
-121
8
18
37
-8
15
47
-34
-18
-21
13
23
-50
22
-43
-8
58
6
-26
-16
-107
41
21
-58
16
11
18
22
-42
-21
-32
-27
8
19
-30
21
-3
31
-8
-27
-58
20
0
8
-63
-1
-39
-12
-4
-2
-7
-66
-4
90
-18
8
23
-1
58
-17
-51
2
-22
6
22
-9
19
7
-27
21
23
4
-28
7
-27
-14
41
-32
10
-20
-89
-21
22
-30
8
-29
24
3
-16
-27
-135
-23
-15
-1
-39
-26
-14
19
5
1
10
14
9
-32
-53
-13
1
-2
-21
-64
-52
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
25
-22
10
-17
-31
2
-5
5
-11
19
-4
-31
24
-18
-16
-25
-13
-3
-18
-76
-1
-5
-11
67
-23
-42
-90
-5
26
-75
-6
-69
-18
-22
-5
-51
-11
1
-27
-54
11
-5
-14
25
-4
25
-17
21
-11
25
-13
-8
7
2
8
0
11
-22
-4
44
-39
-24
17
-20
-46
0
6
-5
-30
-10
-50
4
7
-13
-16
29
5
-86
64
17
-20
-18
-25
8
21
14
9
58
22
-30
2
-1
-40
32
4
-11
3
1
-12
-10
48
31
26
-31
6
-60
-18
31
-18
21
14
-2
-64
-28
0
-33
38
-20
0
93
-31
-3
-44
14
17
-14
-18
-34
-2
-7
25
-35
9
-11
-15
-4
20
-4
26
1
-75
-23
-23
-83
-11
-37
22
12
-4
-2
-19
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-2
0
-11
0
0
0
34
0
51
-6
-2
0
0
-7
0
0
3
0
0
0
-27
14
-5
0
0
-4
0
7
-9
0
0
0
0
-24
5
5
8
40
-8
0
-4
8
0
44
79
7
0
-16
-82
0
-49
-43
6
12
-26
-84
0
-2
47
-3
-2
0
-15
0
-8
-13
-9
0
1
-13
0
0
9
0
0
0
-3
0
0
14
0
27
13
-4
0
0
0
0
25
0
-1
-6
-5
-4
0
0
0
-18
0
-8
8
0
0
5
-34
1
-6
29
8
0
0
-52
4
48
-37
5
0
-3
-102
0
-15
45
0
8
-6
-36
0
50
-22
-1
0
19
-83
0
3
17
0
0
0
-6
0
-18
0
-2
0
0
9
51
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-29
0
-3
-23
0
-10
-21
-59
-6
-58
32
56
19
9
50
-2
0
-7
-6
-2
0
58
13
57
0
-31
0
0
0
-17
0
-14
0
0
48
-47
-1
-2
5
-7
3
-76
45
7
76
-26
5
4
-42
-10
-3
-5
-31
13
-2
-10
14
4
0
61
0
2
19
-86
-8
4
-30
12
-17
0
19
0
-3
41
0
24
0
9
0
15
42
-24
61
4
83
-2
0
0
-1
-2
0
-57
-45
0
-2
8
0
1
-56
42
-21
2
0
-3
4
41
-2
0
45
-1
0
-8
-37
-1
-60
-87
0
0
-8
28
-2
0
146
49
1
-17
-2
13
46
-28
-2
0
-13
-40
0
0
-6
60
0
0
45
-5
35
-2
0
-3
0
30
5
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
42
-123
23
-30
15
-41
-18
79
-7
-30
-13
-8
43
3
-84
-29
44
-49
-41
-5
16
-12
-21
-4
-19
40
1
17
9
-34
36
16
42
-15
12
-11
-38
-6
11
-21
19
-11
52
-23
32
-25
10
-39
-13
25
23
-11
-17
5
-33
-12
38
19
-21
29
-21
-27
20
-76
-28
-2
-2
-41
15
3
-93
44
32
-34
6
-26
12
45
-50
69
31
-40
1
8
26
-96
-10
-88
8
-5
4
12
4
55
-8
2
-1
-1
34
13
41
-45
-19
-8
-8
-26
13
14
60
16
-22
-5
68
9
69
-117
-59
-41
-3
5
24
-86
-5
4
42
10
-88
3
7
-52
-33
1
1
-41
43
45
-13
-8
-4
8
7
-17
11
24
-59
-4
-4
-16
-146
-42
37
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
13
-64
18
13
2
45
-12
3
20
-29
-158
-43
-30
-16
-10
102
-70
-4
-7
0
-28
10
-1
-6
0
-13
13
-17
-34
18
16
0
-5
-66
8
-7
9
21
0
-17
29
-11
112
42
3
0
50
3
-17
55
-15
6
-3
-40
4
17
7
81
10
49
42
28
-9
29
-39
0
49
-42
-21
2
-17
101
54
-3
9
25
27
5
-47
22
43
-42
8
-5
-87
26
0
-7
-30
-5
-34
5
24
16
0
-1
3
-46
52
-8
-18
0
-15
37
5
1
39
-7
12
46
11
16
57
0
49
27
-79
-6
35
-2
4
10
22
-42
66
13
-23
-1
5
49
17
-31
5
18
13
14
25
16
-1
-13
64
20
-21
-8
-6
-1
-20
4
74
-7
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
0
0
7
-2
0
-13
27
0
7
18
6
0
-17
-21
0
0
-3
-6
0
0
43
51
-54
0
-44
0
0
-1
64
0
-4
-2
0
66
13
-67
-35
-21
-41
0
-12
26
-3
59
-34
-1
0
30
-17
8
22
-4
-67
0
-14
-71
-15
56
-73
23
0
-120
-15
3
3
-73
4
2
-59
-12
0
-17
79
-5
0
1
-24
-1
43
5
3
0
0
-5
-23
0
-3
20
0
0
5
-3
-4
2
-24
0
1
12
8
-25
22
0
0
-59
41
7
22
22
54
0
61
-37
20
20
-15
-8
0
64
-36
-21
-53
5
0
0
2
-7
0
-87
-59
3
-13
42
-15
0
-8
-40
44
0
-29
-41
0
31
20
-7
0
0
-26
-81
-8
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
50
-14
17
-19
0
-23
10
7
18
-20
91
-79
-51
0
6
4
39
1
18
17
33
-2
-40
20
-42
8
-27
19
-5
1
-14
-55
-52
-44
-124
37
21
-46
7
-26
-13
-143
16
-101
-30
-7
-7
3
-119
-24
-47
-27
-7
-6
-51
95
24
50
-20
-19
-13
-31
26
-15
15
-75
7
19
-15
15
20
-3
6
-23
-3
1
-1
21
-37
-29
14
-65
-76
-8
-27
-88
67
131
-13
-7
-27
3
-53
-30
13
-31
-72
70
16
-47
-60
9
-10
-5
39
25
4
-20
-29
-20
48
-38
-13
-53
30
-64
-12
-24
-9
17
-36
-7
-41
-149
-14
-71
3
22
30
-19
-27
-61
-33
4
-40
-18
-74
-9
-89
5
-10
28
6
-52
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
-56
-7
9
-22
-53
28
-17
47
-41
18
-81
-30
7
-12
-6
-5
-87
-95
-5
-3
-4
-26
57
27
6
-29
-7
9
-57
-7
4
-12
-43
22
-5
58
-53
8
15
-44
2
-2
31
-29
0
-17
-84
10
4
61
4
10
-4
16
26
0
-34
29
20
4
-11
9
4
91
2
-19
-63
7
88
22
21
20
26
-54
-11
-39
-13
-39
50
4
-39
-40
-96
11
14
51
24
22
-54
-24
20
45
-1
-11
18
55
-16
14
103
-10
24
-16
-44
1
8
18
-19
20
-16
-40
-3
-5
-12
6
-30
-19
-33
37
0
23
-5
-15
14
58
0
12
42
39
-40
-11
9
-45
0
34
6
-1
-42
-5
14
-9
4
27
62
-68
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
-64
5
25
0
0
8
0
0
5
0
0
0
-106
2
7
0
0
0
0
-80
-2
0
-8
0
0
0
13
-2
7
-2
0
0
-9
48
0
2
0
0
0
27
-18
24
3
-47
-14
0
-7
-4
0
0
13
0
0
0
-41
0
0
3
44
0
0
11
0
0
1
0
0
0
-37
0
-1
-1
49
1
0
-53
0
0
-6
0
-1
0
21
-17
0
0
0
0
0
-52
1
-4
-1
0
0
0
-45
0
-5
17
0
0
0
-14
0
-9
-15
0
0
0
56
0
-8
-3
0
0
0
49
0
0
27
0
0
0
-92
0
-10
0
-5
0
0
-16
0
-23
1
0
0
0
-49
-4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
0
-42
-3
5
41
0
22
0
-2
5
0
-9
0
-9
-10
-8
0
-7
-3
0
23
14
0
15
0
0
-13
-4
8
13
68
0
0
24
53
0
0
-12
0
0
-15
-70
0
0
47
15
0
-25
-70
0
1
-49
19
-7
-2
29
-1
0
-49
-91
3
-2
-58
0
8
-3
1
15
0
-18
0
2
-1
-10
166
0
5
0
0
8
0
0
0
12
5
0
0
0
0
-6
16
0
9
16
0
0
-1
-22
0
5
-17
0
0
-8
-65
0
-19
-2
0
0
-6
-40
0
-6
15
24
0
5
-30
0
-8
0
0
0
2
-44
0
0
-41
54
18
0
-23
0
16
-17
-6
3
0
-32
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
-26
-23
6
1
2
51
9
55
74
8
-10
13
-4
12
-2
-11
-1
5
24
37
-4
-56
-13
-10
5
8
5
2
-17
9
6
-29
19
40
24
24
12
5
-1
-6
7
27
55
46
-7
-1
-42
-48
-16
13
1
-41
6
-4
6
11
-18
5
-5
13
-78
-5
3
-120
-13
-93
32
4
25
12
74
9
-19
9
-8
-4
21
53
-30
-1
1
-48
50
-13
-24
-13
-65
4
-20
-23
-3
-10
-27
-27
2
-33
-1
38
49
16
56
-47
-20
33
7
-65
-31
-23
-44
13
13
17
-64
-41
-14
0
-13
-94
-19
-5
-32
-13
-70
-88
-85
9
27
9
-65
-45
-30
-37
11
-33
-14
76
-73
-58
-4
2
-6
6
72
-1
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-61
0
-7
-48
48
-13
1
-27
0
0
-1
25
15
0
-16
-59
95
0
-6
-15
0
18
27
0
-4
0
0
49
35
70
9
-54
-18
5
-30
26
-2
-2
26
0
6
35
6
0
1
45
-18
8
-18
-29
0
-1
29
0
-8
18
-3
-1
9
13
7
10
23
22
0
0
-23
0
3
-3
9
0
-7
8
8
15
0
-30
15
0
0
-3
0
0
-36
-18
0
4
0
0
0
-5
0
-1
0
0
1
-7
-8
2
86
-16
-7
0
-10
-57
0
-47
0
-3
-3
-2
-24
0
-2
-15
7
24
-1
-39
-1
41
-21
0
0
0
30
0
0
85
0
-14
-5
9
0
-41
-7
0
-3
0
65
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-96
0
-10
4
-3
-4
10
-17
8
12
40
-3
17
8
0
39
-9
7
81
0
0
14
-75
12
-15
0
0
-35
21
13
44
-30
2
0
11
-3
0
-43
45
-3
0
-28
-29
7
88
11
-24
0
8
-24
18
40
-15
-10
0
87
-20
-5
16
-11
-21
0
60
1
0
37
10
9
0
9
-14
2
-1
61
91
0
0
-15
12
30
0
3
0
0
0
49
-8
13
0
0
20
33
-4
-14
-20
0
0
-4
-8
0
8
20
41
0
75
-1
2
-26
-46
-9
0
35
-9
7
-21
-106
-8
0
-65
-37
-2
-48
-21
-31
0
126
-6
0
13
25
52
0
25
20
0
60
70
-7
4
0
-86
-23
0
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
68
4
-5
-41
7
-27
0
-39
4
-1
0
-31
8
0
17
-33
-1
-4
0
4
6
-35
13
78
-43
20
-48
5
20
-5
19
-71
-9
21
-17
4
-1
53
-11
-30
-37
16
8
-5
-25
-6
53
-2
19
20
-3
43
-82
-19
10
-6
-4
-3
5
-56
-2
-19
-1
-8
-10
48
22
-43
38
0
-1
14
-5
-1
41
-9
-1
2
-39
8
-13
2
0
4
-20
3
-4
5
-3
25
-23
48
8
-26
-27
11
-30
1
18
-2
-2
-13
-3
-20
8
-39
-10
49
-85
10
22
0
43
0
-45
-21
-45
-19
-3
-14
0
-8
-65
55
-5
0
-33
0
-117
-22
-10
39
0
-57
15
4
0
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-15
-20
37
-40
32
13
-10
-7
24
22
-98
13
-64
4
-46
27
-29
42
-10
34
-7
-15
-64
-28
4
-4
-2
-15
-49
63
12
-21
19
-29
-14
-7
15
-12
-34
-60
22
-1
39
-29
-16
14
13
41
-18
-52
-25
-1
15
-1
-14
0
-54
-24
-28
-30
27
17
34
19
-43
35
-79
6
29
-5
9
-14
-41
-20
-35
10
16
50
45
35
-86
16
37
18
-34
-5
-51
-18
29
17
14
61
37
-11
2
66
29
5
-12
14
32
-21
-47
53
-12
-4
-2
-31
-12
39
-53
2
-64
-4
-50
-100
34
29
0
30
-41
50
14
-8
-17
14
7
-8
-41
56
-7
-13
6
-38
-38
47
-120
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
42
0
-68
-4
-9
0
0
0
5
-48
6
0
0
0
0
42
-60
0
0
116
0
0
-1
-49
0
0
56
0
0
-14
-44
0
0
59
-5
0
-3
22
0
0
14
0
0
10
-53
0
8
134
1
0
8
-68
0
0
-2
0
0
0
-42
0
0
12
0
19
0
-66
0
0
0
0
0
0
-26
30
0
7
0
-3
0
-5
0
15
5
0
0
0
106
0
0
0
9
0
0
-26
0
-1
1
0
0
0
13
0
13
6
0
0
0
-109
0
0
12
0
0
0
47
0
8
-19
9
0
0
-32
0
-37
-4
0
0
0
80
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
19
16
7
10
14
-26
-33
-14
11
-44
-62
0
-18
30
7
4
-74
-9
-55
15
-20
-5
-3
5
-7
32
11
-18
-10
20
-65
-7
-2
49
-17
-1
14
-53
-13
-22
-17
22
-19
38
-1
7
-14
-5
11
-8
-9
-60
-10
-6
22
40
-1
-12
-23
23
-20
8
43
31
-18
-22
34
17
8
-22
-9
-21
2
-59
-35
14
-102
5
-10
3
-66
90
85
-12
-34
3
-5
40
-31
82
-55
0
4
22
3
14
-14
-35
-1
-84
-7
8
-31
19
11
-8
-109
-45
10
-27
32
-46
-8
20
-32
-19
-19
-26
22
-17
-9
-98
-25
-1
-6
-7
-3
84
-35
4
-46
-4
0
18
21
78
42
62
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
103
-4
14
66
-92
0
-6
16
1
-3
-8
15
27
-14
-75
-4
58
-29
-18
-8
-20
39
-27
2
-60
-34
7
28
13
8
35
-109
-21
-8
17
-41
-25
-9
-98
7
-53
37
-41
-24
8
8
-1
-61
-2
-21
-5
-13
-48
-66
-56
3
7
-77
-6
-30
27
-4
13
-33
-11
-84
-69
-45
-2
-1
51
6
0
-24
-71
21
-15
-74
-16
17
-75
0
-72
-16
-9
-39
-40
36
2
48
20
8
-70
-25
15
-20
-23
-6
-66
6
-66
14
52
-41
-17
-5
84
42
-33
35
9
-19
-16
-74
-3
-30
0
-66
-13
7
28
-24
-12
31
12
-12
-2
-24
-1
14
-38
0
-27
5
54
22
-75
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
35
-12
-25
-21
13
22
60
18
1
0
-2
-10
-10
-5
3
-16
24
-14
-4
14
17
-3
62
35
21
33
57
-27
4
68
33
18
-12
-52
1
-1
-91
66
24
-75
42
60
15
-1
-56
24
2
-5
51
-2
-1
11
17
-12
31
-3
-6
0
9
-17
-3
10
-53
-7
-12
17
-29
2
17
-2
-1
-23
48
14
-7
-40
6
-27
-16
14
-13
0
-9
-66
-45
13
10
-23
2
-65
60
17
49
35
83
3
-4
-23
25
-4
9
41
59
-3
80
-9
-29
21
23
-49
17
149
19
-49
23
-20
15
41
42
0
4
-17
41
-29
63
-1
11
10
-4
-41
-16
-2
2
-14
31
-32
2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
5
-4
-40
-10
0
0
32
-6
70
0
9
0
0
-1
-86
0
8
-9
0
-21
-10
21
-42
22
-4
0
59
20
-16
3
-11
-1
0
-8
12
-1
-34
-9
-31
0
1
6
5
40
-2
7
0
-41
-33
-1
-25
17
15
0
-78
35
0
-13
-14
-5
0
-12
-14
7
-15
50
-41
0
0
31
120
-7
0
10
0
-6
-27
31
0
-33
-12
0
-51
27
-3
11
-79
0
0
-25
9
0
-15
43
-9
0
68
22
0
-59
24
80
19
-105
-10
-5
38
9
28
0
-26
-23
0
-14
-4
6
0
24
10
0
13
3
30
0
-8
-22
0
-27
-45
4
0
0
-8
-84
1
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
16
-9
0
15
0
0
-67
-18
0
0
0
0
-1
-19
46
21
-3
23
5
-9
-58
0
20
7
-2
67
4
40
0
8
-38
24
2
-9
9
13
68
-42
19
74
0
68
0
5
31
-6
-6
1
1
0
1
-100
-5
-92
0
44
-7
4
-3
41
-61
0
-24
3
0
3
1
0
4
-102
15
0
0
0
0
-6
2
0
67
18
3
-1
0
-21
0
14
4
5
8
-20
21
0
-58
-14
0
-1
0
2
4
-2
-21
-70
-14
5
13
0
-111
-25
-2
2
0
-35
0
-1
-106
1
3
0
20
0
19
2
1
-2
0
10
-8
0
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
3
24
-16
-43
71
50
25
-11
7
-6
62
29
-12
24
12
11
31
-14
-14
-39
13
7
-85
40
-13
-110
-1
23
-8
32
6
7
-19
-25
14
5
-44
26
7
47
-30
29
4
13
5
6
-5
-12
13
-12
14
-67
-19
14
2
-39
0
-35
-38
-77
16
34
-15
-2
50
-91
66
-23
9
13
24
-15
-19
-23
-22
53
42
23
4
-14
43
22
9
4
12
13
-22
5
-17
-2
13
10
-39
-21
-7
10
-48
-7
2
-46
-11
-5
11
22
6
-9
32
2
11
-9
12
4
-7
-47
29
21
-27
-15
-18
0
46
26
-43
-29
25
-37
16
27
-70
-78
-24
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-25
52
0
0
1
-1
42
31
0
-1
0
0
10
-49
0
7
-66
-8
0
-3
-3
0
-1
67
0
0
13
55
0
-1
-1
-6
0
-16
16
0
2
-81
0
7
17
-90
0
0
26
54
1
8
29
0
4
-13
0
7
8
10
0
0
-7
-31
-1
0
-51
8
-4
0
0
-6
0
32
-8
0
7
0
0
-8
29
0
32
2
0
0
-9
-27
0
0
-14
-8
0
-4
63
0
-12
33
0
0
0
-16
0
0
4
0
6
6
-64
0
-10
4
0
-5
0
-37
0
0
8
-5
0
-3
-87
0
11
1
0
-7
0
6
-12
0
23
155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
8
4
1
3
-1
0
-74
20
0
13
0
0
34
-41
5
0
-76
2
0
-91
46
0
0
-41
0
0
24
25
0
0
-90
-3
0
20
-53
9
0
-75
0
-2
21
-129
0
1
-33
21
2
0
-78
-3
0
-27
0
20
4
-87
0
0
1
0
-8
0
-37
-1
8
-5
0
0
-8
36
8
0
0
-3
0
0
2
-5
1
5
0
0
-2
-51
0
0
23
6
0
72
-74
0
9
-23
0
0
-4
-8
-2
9
-19
-1
0
5
-94
1
-4
-4
-8
4
0
-74
0
-2
-32
-9
9
0
-54
0
8
-3
0
12
1
-51
-6
0
8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-100
-48
0
28
-3
0
-13
-37
0
2
0
0
-7
-36
-7
-3
73
-23
-14
23
13
0
22
91
31
15
84
66
4
10
-39
41
-5
-56
3
-1
8
34
-30
-79
32
37
0
-9
-14
38
18
-6
-26
0
-22
49
21
8
8
1
0
15
-7
-5
6
0
25
-12
3
0
-3
2
0
11
27
1
-5
0
0
0
-56
0
-3
-13
0
0
-5
-24
0
6
-46
-3
0
17
15
0
22
-123
37
0
-53
-46
0
-18
9
-83
-10
27
-28
0
-76
5
-3
0
44
-29
0
2
0
-34
8
9
-51
0
-50
2
0
0
0
-4
-76
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-59
20
0
0
0
0
-22
1
0
0
0
0
0
-8
-15
1
49
-12
1
-37
10
0
6
29
0
2
-59
-27
0
9
-66
0
-9
25
17
0
0
-41
5
18
42
-62
0
0
-3
15
-3
-3
35
0
0
41
-13
-9
0
1
0
0
54
6
-54
0
-15
-3
0
0
0
-6
0
-54
1
0
0
0
0
0
23
0
-43
71
0
0
0
-9
0
8
-4
0
0
0
-58
0
-19
-49
0
0
0
24
0
0
42
-2
-2
-1
-60
0
54
-5
0
0
0
-18
0
0
-42
79
-1
0
13
0
-22
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
10
28
9
24
0
5
-12
11
42
-83
1
0
-94
21
-29
38
19
74
0
41
22
-1
-48
35
-2
0
2
1
14
-34
-10
-8
0
26
-3
-5
-91
-33
26
0
-12
-27
-13
45
-17
14
0
55
-5
-9
-54
29
-7
0
-62
15
19
-25
26
-41
0
0
5
38
48
33
-10
0
8
-24
22
-2
-18
-2
0
40
39
-1
-12
-2
2
5
83
-48
-1
123
-19
2
-2
-118
17
21
-89
22
-24
4
-34
15
-15
-48
75
-51
-7
146
2
20
41
4
-8
0
48
-21
1
13
12
7
0
50
-14
6
-31
-49
7
17
0
20
59
19
-47
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
-3
-4
0
0
0
-1
0
0
97
0
0
5
-33
0
0
41
2
0
3
3
0
0
-6
4
0
0
6
0
0
-2
0
0
0
-41
0
0
0
0
0
0
2
0
4
0
0
-2
0
-28
0
-2
0
0
0
0
-21
0
0
0
0
0
0
5
0
0
0
0
0
0
34
0
0
0
0
0
0
44
0
-5
-5
-5
0
-1
10
0
0
0
0
0
4
-27
0
4
0
0
4
-2
-30
0
0
5
4
0
0
-39
0
-1
0
0
0
0
-58
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
56
20
-40
18
45
53
-4
39
20
-6
-2
2
14
-15
50
54
3
30
41
34
-9
5
-18
9
-8
4
5
-6
-17
-34
13
19
-30
-11
-10
-92
-16
14
-17
-2
-38
-6
-4
-19
-28
-38
4
-22
-13
-12
-54
8
-20
-6
10
0
4
-44
39
-6
37
-4
11
15
-55
-9
-18
32
57
6
5
15
7
71
-20
30
-7
53
20
8
-24
-21
-7
3
1
9
13
16
-27
-24
1
50
-10
21
31
20
-50
-11
-34
-3
16
29
-2
-2
-1
-47
-1
-14
-1
-3
-31
3
-81
-26
-24
30
23
-90
0
-104
-22
8
-29
-135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
2
-20
12
-124
42
-1
-27
-19
-26
-15
-32
-51
87
32
-3
10
-63
-5
41
-57
-36
-4
-60
14
-12
-40
2
-13
-7
-13
-20
-2
-160
5
-24
1
16
24
-24
-8
-50
6
-1
15
-8
3
41
-49
25
15
-27
66
37
-22
-37
6
40
0
8
-45
-14
-38
7
-1
6
-54
-13
-75
0
-41
5
17
-2
-53
35
4
-43
-49
77
30
-3
48
-26
10
-24
-33
-31
-29
4
-29
26
-25
58
-53
16
25
13
-35
-25
-28
-1
-60
-93
-44
36
-32
-2
10
-44
-50
-24
-8
4
5
-11
13
17
-46
-2
21
44
12
53
3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
5
-3
-74
1
22
-23
2
25
-40
23
37
-66
-7
-47
-42
-28
-30
-13
10
5
-35
2
64
-7
16
30
-53
-20
25
109
-14
-28
3
-45
-19
-25
-13
29
39
21
51
-14
-1
-41
40
-2
22
-90
53
12
-22
27
-41
18
-3
-14
-15
-8
7
0
-29
13
-10
41
44
-28
-30
-15
-37
-69
-52
14
-28
-5
6
-119
12
30
13
16
27
5
-54
-16
-14
19
11
-99
8
-2
-1
23
24
4
21
-19
43
7
-3
13
-7
5
-40
84
-2
6
-56
-23
3
-39
-5
-111
19
-17
14
23
24
0
27
-18
19
5
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-1
0
0
0
0
3
-96
-1
0
26
1
0
1
-6
0
0
1
0
0
41
24
0
0
14
0
0
-2
53
0
0
-5
0
-1
0
-40
0
0
-1
43
-2
0
-50
0
0
1
0
-4
0
-59
0
-4
0
-1
0
0
-23
-3
0
0
0
6
0
32
1
0
0
0
0
0
-14
0
-1
1
0
0
8
-18
0
0
-2
0
0
-1
-49
0
1
0
0
0
2
20
0
0
-1
5
0
-2
71
0
-2
-1
0
0
0
-39
0
0
0
-4
0
0
-60
0
-6
0
0
0
0
-49
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
33
-39
0
-3
0
4
48
-14
0
20
-3
10
-40
-28
5
-1
-69
0
0
24
-3
10
-1
30
0
-7
18
11
-15
0
66
-16
3
72
-6
-47
-1
29
33
-10
-13
53
-5
0
22
10
0
15
-8
-20
0
34
36
-12
-2
1
51
43
-2
-2
0
63
0
21
-14
-5
13
0
0
76
-63
8
23
16
0
7
26
35
-3
-18
-2
-8
13
-71
21
0
-58
-17
0
31
-45
32
0
-93
22
-5
-43
-34
-18
0
-1
-80
-8
-20
-9
-6
-3
-64
85
31
61
5
14
18
-54
-29
0
-3
-3
47
73
46
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-98
0
0
0
0
17
-13
-7
-8
9
-39
0
-73
-46
0
1
-68
-3
0
-9
8
-8
-10
9
-3
0
32
31
0
16
61
49
0
5
-94
-3
0
-36
-7
0
-24
-15
8
15
8
-10
0
0
-23
-4
-25
-46
-38
0
-4
13
13
0
0
0
0
2
31
-13
-1
22
-4
0
57
-49
0
-19
-83
0
0
5
6
0
89
-110
14
0
-1
-24
0
-118
-9
25
0
-44
-57
5
65
31
-21
0
-2
9
6
22
57
0
0
7
-71
-9
-14
-28
-61
0
0
48
4
74
16
6
0
0
-40
102
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-135
0
0
32
-6
0
-13
36
0
0
-58
0
0
31
-39
-6
0
58
-5
3
2
1
-2
0
-51
0
0
-7
11
0
0
-13
-4
0
-1
-28
0
0
0
0
-1
0
-5
0
8
-1
-2
5
0
-44
0
0
8
-1
0
0
66
-5
3
0
0
0
0
83
0
33
-2
0
0
0
-80
7
-7
-4
0
1
0
-59
0
-8
4
-1
0
-1
9
1
-12
-1
0
0
0
-38
0
2
23
0
0
0
28
0
0
-1
0
-1
0
-95
0
-31
0
0
-16
0
2
0
-6
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-9
0
-24
-13
-4
-33
-14
18
7
-24
9
-57
54
6
7
6
8
20
-4
-18
22
1
10
-5
22
-11
18
7
0
-25
12
6
19
26
-4
-7
15
11
-2
47
5
11
-21
-89
2
-4
9
7
-34
11
0
24
-84
-56
-7
-75
0
-40
-25
-153
-16
-42
-42
17
56
-75
-10
23
1
-54
12
-8
5
24
19
-65
-8
13
30
33
33
-62
22
57
6
29
16
18
9
-1
-3
-7
-46
30
15
23
-13
2
-2
37
26
48
36
-4
80
-12
-12
-5
-13
-46
30
22
-1
7
-50
-11
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
37
-3
-117
28
-38
-22
-11
-5
30
17
-79
-3
-8
-23
8
-8
57
-31
22
-21
-14
46
66
-3
28
-117
11
-18
-1
23
34
-50
-56
-167
-51
-27
-2
-9
2
-32
-53
-29
-2
-8
3
-31
43
-47
0
16
-30
-73
-1
0
-27
20
36
-72
34
66
26
-9
25
36
55
-50
13
-23
20
-33
19
17
-52
0
38
4
48
7
34
-27
3
35
0
38
7
-6
67
-9
-123
-16
-46
-36
-5
-4
-22
16
52
-9
23
15
0
35
41
-24
0
11
4
-8
-5
-2
-24
0
-13
46
-17
4
-48
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-73
0
0
-78
-1
0
-3
63
0
0
-61
0
-2
19
-35
0
0
-13
17
5
-1
-30
0
0
-14
5
0
0
5
0
0
-4
80
0
-2
47
0
0
-8
0
-4
0
-103
0
0
24
22
2
0
57
0
0
0
0
5
0
72
25
0
0
0
0
0
-19
7
-66
-4
-1
0
-3
-49
-1
0
5
-10
0
1
12
0
-4
-10
0
0
0
-8
-1
-15
20
-6
0
0
-59
0
-2
68
0
0
0
40
0
0
-10
0
12
0
42
0
-13
0
0
0
0
39
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-7
15
6
26
-55
-23
17
1
6
-19
-70
-7
8
-15
31
-5
-7
-86
12
8
-25
-55
-9
19
-24
-51
-58
-8
67
-9
4
-55
-28
-5
-7
8
0
2
49
4
-7
0
-16
-2
10
43
-44
-25
0
-21
-5
0
0
-14
-2
0
39
5
-18
9
-1
0
-2
-54
29
-46
-1
0
-1
-17
27
-4
-20
-75
-4
7
96
15
-14
2
-3
6
12
-18
-58
4
-87
-69
5
35
5
15
-1
-78
27
-2
-39
5
-80
0
-10
-14
45
13
0
24
0
-22
-8
0
-25
0
-22
10
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-86
-8
-1
34
7
0
-28
-15
0
3
10
0
-16
0
-44
0
0
-12
0
0
13
-26
0
-8
-1
0
0
-2
-28
0
0
-7
-8
0
0
-13
0
0
-2
0
-6
0
-91
0
0
8
12
-3
0
-31
0
0
0
0
0
0
-36
0
0
1
0
0
-2
51
0
33
0
0
0
7
-41
0
23
6
0
0
-6
5
0
16
-1
0
0
0
-22
0
-8
32
0
0
0
12
0
-7
5
0
0
10
11
0
0
-4
0
0
0
-14
0
31
19
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
0
0
4
-2
0
-1
-19
0
0
-39
0
0
51
2
0
0
2
-3
0
2
-55
0
0
25
0
0
0
-29
0
0
19
0
0
14
-86
0
0
15
0
0
0
-16
0
0
24
4
0
0
-14
0
0
0
0
0
0
-35
-5
-2
4
0
0
6
44
0
7
16
0
0
0
-121
0
1
8
22
0
0
-13
0
-1
13
0
0
5
37
0
0
53
8
0
0
30
0
-30
-21
0
0
0
-71
0
0
0
-5
0
0
-22
0
-8
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
37
-2
-25
-5
-42
25
45
-21
5
16
-25
74
-126
-16
-19
-8
13
12
-3
-2
40
-24
-5
-35
9
-7
-22
-41
16
5
-66
-2
66
-38
3
29
0
13
-35
14
23
0
20
27
13
0
1
-3
0
-7
-57
-5
-25
-8
0
6
6
28
56
48
15
1
-42
25
36
28
12
92
2
18
9
4
42
-97
-33
3
-16
9
41
-48
59
32
-33
40
-20
23
-94
2
4
1
-1
13
-1
-39
-36
-29
77
2
41
-3
71
-8
4
94
0
54
22
25
-2
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
30
4
-9
7
23
-61
23
16
-13
64
27
-11
-42
8
3
48
-3
19
-4
-18
-8
-11
-58
-31
-2
3
-29
-46
13
-1
18
-11
8
-30
-21
1
84
48
-47
25
0
-24
-6
13
27
-169
33
22
-33
9
-2
41
-52
30
-67
-49
0
24
-7
-17
-83
40
-105
3
38
-26
-15
-20
9
-2
2
73
-14
5
-66
14
13
-3
-8
-11
14
-3
34
1
7
-1
27
36
-21
-11
10
-11
-105
23
19
28
58
-14
12
-57
-13
13
-13
-16
2
20
8
-15
-42
-14
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-15
14
70
-76
13
-20
-12
53
-24
-54
4
101
13
-9
19
-12
-57
-14
36
-32
8
-24
-5
12
-45
107
7
-94
13
0
-6
-43
44
75
-47
7
-1
0
-16
-44
-9
1
24
8
-1
-1
27
35
-4
54
-13
3
0
-5
10
63
38
6
24
-46
6
5
57
-51
-1
-6
-57
5
0
26
23
34
61
59
-15
0
77
-1
-5
-72
44
-10
-15
-39
-3
0
-46
-19
-44
55
51
-19
0
45
40
27
8
-3
-20
0
-28
7
-17
-14
0
61
23
-2
-2
-7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
17
131
20
23
13
-3
-72
-31
35
-14
101
40
-44
-30
-8
5
-21
49
-9
23
-50
-20
7
5
-28
-13
-49
-27
7
0
-15
-137
24
2
-3
-29
0
0
-16
13
11
0
-22
-4
0
-1
-27
42
8
-79
-80
-10
3
-5
6
-14
62
7
-13
20
2
-12
-13
-18
48
-43
-57
-23
-14
60
-17
-65
19
24
17
60
-17
-10
-24
60
13
12
-12
32
-4
-3
-15
10
2
68
43
-56
0
-8
35
37
-4
0
-1
0
-22
-1
7
10
0
-48
10
0
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
9
81
32
-31
-31
-9
-17
39
-65
-82
-38
-60
-19
-32
36
23
11
44
-23
-75
4
1
6
-54
13
13
-107
-23
10
57
39
37
8
-13
-8
11
-11
43
-6
1
-16
-1
-9
-4
-29
60
-18
-12
31
-15
-56
-47
-37
5
-1
8
37
8
39
27
49
37
-32
-39
-50
8
4
35
-68
-24
-12
22
14
24
-50
13
-16
25
13
-95
0
-6
4
-49
14
-27
11
30
20
34
22
-8
-8
0
36
5
-27
-10
14
58
20
5
-39
22
-22
-11
12
-23
-17
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-10
17
29
-2
-18
-43
-51
-56
44
-29
-8
-8
-26
-21
-37
27
-17
24
74
-4
17
9
15
-32
0
-13
49
65
-13
-5
-21
30
5
-2
7
-17
-4
71
-33
-3
-3
20
7
20
7
0
20
23
0
15
26
-14
-19
0
-6
17
33
80
-21
12
0
8
-4
-15
13
-17
132
5
45
52
-15
2
66
39
-17
-38
22
-19
42
-51
47
131
-30
18
-22
0
-51
-150
14
0
-7
-41
-2
-57
78
42
34
2
-28
-5
40
30
-4
43
-2
-43
-3
-41
-14
15
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
23
3
3
54
0
0
7
-55
0
15
-105
-18
2
-6
-77
-3
20
-58
-5
0
65
-85
0
25
-58
-139
0
4
-81
0
-1
-17
5
-6
0
14
0
1
42
21
0
0
-6
1
0
0
-2
1
0
-10
61
9
0
0
0
9
0
-3
-44
100
0
0
41
25
0
-3
52
40
0
35
33
0
74
13
0
0
6
1
0
10
-28
79
0
-2
-16
0
-4
16
-1
0
-1
-29
0
0
10
23
0
-8
3
0
-60
13
0
0
0
32
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-7
57
5
17
8
-13
-59
18
-42
15
20
66
14
-41
13
-9
44
-3
-11
84
30
-11
-1
51
-11
89
-13
35
36
41
-19
-31
-19
-20
-1
4
-71
-74
6
50
-40
6
-39
-29
20
-1
-38
6
13
30
-75
44
-7
-9
-67
-43
33
30
54
26
-16
2
45
-8
96
20
-5
111
9
-5
11
23
93
-30
58
38
-110
-21
62
26
78
20
57
12
19
-30
76
-32
-18
30
1
-1
-8
10
119
-44
-9
-2
7
24
-13
-17
8
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
5
36
32
-28
-4
-17
28
1
57
38
12
-6
0
25
-3
-1
28
22
-12
-6
58
5
32
17
33
-12
8
-12
9
-47
-10
20
30
0
37
5
15
53
-41
28
44
-55
28
37
-48
45
-37
-49
22
19
-13
43
30
-124
-21
36
0
-82
-31
-2
-41
-11
-15
-18
7
23
-8
-6
21
-14
13
-6
12
10
16
-2
18
10
-54
10
37
-47
-10
16
8
22
15
45
32
-3
-26
3
60
5
0
14
-19
-2
8
-28
30
-14
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
-13
-9
2
0
-52
-45
0
33
-44
10
5
-10
31
0
-3
-161
50
7
13
-20
0
0
-34
0
-5
5
40
0
0
-3
-5
52
0
30
7
0
0
0
-2
0
68
-33
8
19
6
-1
28
-41
0
41
-77
0
0
2
79
0
38
-4
8
2
15
13
0
-20
35
25
0
-14
58
0
-7
15
-1
-20
0
-7
0
-10
-32
0
6
0
-24
0
0
-2
-18
22
0
36
0
22
10
0
2
0
-5
-12
-1
0
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
43
5
22
37
52
49
13
-10
8
31
21
104
31
-46
-54
0
0
-3
46
-12
41
12
0
-2
18
6
31
-4
68
0
-1
-13
66
-96
0
15
-6
-2
0
0
51
0
3
45
-10
-4
29
0
-17
-84
5
38
92
0
17
73
-19
0
8
-51
20
-8
6
42
0
111
-74
4
9
2
40
-7
-56
22
-10
8
-24
-17
-4
31
59
69
39
33
27
0
-6
20
-66
23
0
48
0
26
69
2
-32
0
-59
2
0
0
30
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
8
-72
-13
14
-4
5
-6
2
55
-25
3
-7
-13
-26
26
59
4
11
3
29
31
4
6
-33
44
51
2
5
14
-75
34
42
51
1
-9
12
-126
-39
-9
-64
53
-1
3
25
-54
-75
-15
1
-17
43
69
31
-106
-3
20
-10
16
91
74
-25
19
-9
4
-8
-42
-25
13
-4
15
-70
10
30
8
22
-2
64
-67
-8
102
33
67
-73
60
-151
-10
-48
22
5
67
2
-13
2
-72
13
11
12
51
-8
-12
-9
-48
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
16
0
50
7
-21
-1
11
-82
-10
-42
-112
-6
-5
9
6
-2
25
-22
34
-6
27
28
0
-5
15
0
-16
0
-14
0
27
26
5
-40
0
54
0
0
0
0
0
0
-14
8
0
4
0
0
23
10
0
77
-3
0
-1
-3
-18
0
-2
4
2
0
24
28
0
17
25
0
0
-1
-67
0
30
-20
3
0
-7
13
0
-37
-5
0
0
2
14
0
-5
-3
-5
2
0
59
0
-57
0
0
10
0
60
-1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-81
0
17
51
-37
0
-6
-14
0
-2
86
-5
0
-5
-54
0
7
1
-5
0
-28
-29
0
-7
4
15
0
0
21
0
0
-2
32
0
0
-8
0
0
0
16
0
0
-34
-14
1
0
0
0
-4
-6
0
-21
-72
0
0
-15
14
0
42
-26
-46
0
80
14
0
21
-14
-1
0
59
56
0
0
-78
-67
0
9
-41
0
-82
-14
0
0
0
12
0
0
23
24
0
0
31
0
92
29
0
0
0
11
3
8
12
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
45
5
3
69
-20
-1
-32
-57
-31
32
1
103
-8
-25
-32
-32
65
35
-14
19
-18
-8
-35
12
-37
0
19
21
-109
-84
-66
63
4
-3
-56
99
-37
-47
-31
-52
27
-35
96
61
16
64
-79
-2
-16
72
36
-50
31
-49
-8
0
-50
-3
35
19
22
17
-42
-4
6
-45
23
-71
15
27
4
-64
-147
20
5
-10
-23
-70
-34
-22
-3
-22
13
15
5
-21
16
54
0
12
56
-142
-85
-39
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
3
-10
4
17
18
32
12
-4
12
17
-19
-7
37
19
-31
37
52
-5
17
56
1
-15
-29
10
26
19
20
7
5
-22
11
-5
-8
33
3
28
52
63
-36
-41
-8
19
-17
-19
13
-30
-36
13
35
-64
83
3
-74
-54
-31
0
66
-10
13
18
66
-36
4
-81
-6
-46
25
-15
-22
8
-66
-19
-5
-37
24
18
21
10
-29
5
8
-7
44
13
-1
-8
-6
24
31
-32
23
-13
27
-34
32
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
0
26
38
-6
-5
53
-1
0
0
-23
45
-19
4
29
0
0
35
0
-1
0
-11
0
-1
115
1
-56
0
-46
19
0
-1
0
-19
0
17
-31
-13
2
0
0
0
32
0
-25
76
0
0
-16
19
0
22
65
0
0
4
16
7
-23
40
-6
0
-59
19
0
-23
8
-6
-4
-2
-19
0
-4
5
13
0
-6
-35
0
4
23
-27
0
0
-16
0
45
-8
4
5
0
20
-42
8
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
29
-6
5
-66
40
-38
24
28
14
15
3
75
92
40
2
-5
0
2
1
-73
10
-7
0
-17
-12
63
14
1
-49
0
2
0
49
-7
0
-24
-58
-6
-7
-1
1
17
-3
4
6
107
8
-12
-13
11
20
43
-36
-21
1
-91
35
14
-23
14
-8
2
50
-32
8
-30
-19
6
-50
20
-30
-5
-81
-40
-66
7
-66
22
15
-5
-43
-24
26
21
13
0
-38
-4
7
71
0
-101
-25
0
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
-53
8
29
52
-41
-20
4
21
-2
-10
18
-12
-12
9
-10
11
-10
101
11
59
15
13
-77
13
21
-20
-44
19
12
-22
45
-2
22
28
12
-19
27
21
-35
-21
-11
-2
48
57
33
25
-41
-25
-13
-33
9
-53
11
-46
-49
14
74
31
23
-75
69
12
14
-1
29
-2
-4
9
-27
-3
91
21
25
-46
57
53
-15
-172
-19
-52
23
-10
-59
8
66
2
-124
25
2
2
19
29
-33
58
65
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
-6
-106
-7
-15
30
13
-3
17
82
-12
-58
-47
59
-7
-8
42
-15
0
-33
-17
14
1
-50
21
-14
-39
0
11
2
-4
-18
-5
15
-1
-1
44
-6
-90
0
22
-26
4
-73
2
39
1
-4
14
4
25
3
27
41
65
51
39
19
-23
27
-4
19
112
23
-12
-15
-7
28
-77
53
7
-5
69
78
-14
-45
14
16
-4
-70
23
-42
25
13
-29
-3
-24
13
-1
-11
-2
5
4
28
-5
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
10
-10
36
-2
0
13
-43
0
-6
-58
139
12
-5
-22
0
3
-26
8
0
8
-44
0
3
51
56
0
0
-23
1
0
0
-12
0
0
-32
29
0
8
5
0
-23
-35
0
18
9
-4
0
18
39
0
8
23
22
0
58
47
14
39
129
-3
0
120
17
-5
-74
42
24
0
-8
-23
0
-56
-2
0
0
-15
-76
0
4
-14
-40
0
4
5
0
-39
12
0
0
0
55
-16
-2
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
10
80
-47
-18
36
9
34
-23
17
-138
-40
10
-7
12
-4
-8
-20
-39
-43
0
-3
11
-34
-31
23
-9
-45
19
-23
101
3
66
38
35
-23
8
31
-39
-40
8
14
-72
18
-20
28
-106
43
-11
-19
-19
17
-75
12
-41
61
82
17
-50
-35
8
-26
-29
35
7
6
32
-21
-38
-77
-5
-8
-27
115
-77
0
92
-8
9
-2
26
-57
7
28
0
15
45
-40
-42
-49
-98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
5
-37
-39
-23
-4
19
22
15
-48
-44
31
-14
1
31
-8
-13
12
52
-22
-2
18
0
-39
16
0
-37
-14
11
1
23
0
-26
21
-67
13
11
11
-12
46
-30
-62
10
9
18
-16
23
27
18
21
3
6
-30
7
-139
22
40
0
58
32
54
-19
-16
-53
-6
33
-51
-34
18
-2
-41
13
-47
-38
0
35
15
28
7
15
0
-5
-17
-13
-86
9
-29
68
-41
-18
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
2
-7
32
0
8
-35
0
0
-18
0
1
0
-32
0
0
-1
-22
2
-2
-25
0
0
1
-1
4
0
-78
-41
8
0
-5
0
4
-106
2
-9
0
0
-16
-1
-80
0
-21
-13
4
0
-9
-83
0
-84
-21
0
0
4
-26
0
-5
51
4
0
0
-73
0
9
7
0
-10
0
12
0
-6
-7
19
15
0
39
0
-41
-5
0
-2
0
11
48
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-8
-8
-30
40
-54
21
43
0
0
5
25
90
43
-19
0
8
0
75
-56
0
5
13
0
0
0
9
0
-20
-1
0
-6
-4
0
-7
-8
-2
47
10
-2
10
-9
27
-29
-2
-97
25
7
9
-4
10
21
39
47
-9
46
-27
-1
7
34
-6
-7
-10
-22
7
46
8
-8
-13
-16
-38
-3
1
-5
-50
19
-13
3
1
-3
-41
-4
57
0
-5
30
-3
-7
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
1
-5
-23
4
17
-12
31
-3
-42
-19
-10
-43
36
-13
7
-66
-46
10
-40
3
-33
16
-80
-4
4
28
15
-25
1
12
-79
36
-7
4
-60
-2
-38
37
20
36
5
-71
10
67
-6
44
1
46
23
5
-8
-3
20
68
15
-4
-3
-17
-7
-47
-3
14
43
-11
-13
-35
-22
58
47
-26
-3
1
-23
58
4
9
-58
8
9
-4
-58
-26
-14
14
23
-21
-83
-25
45
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-7
-8
-1
3
18
-61
5
-27
0
-2
-46
0
-70
8
4
8
4
-60
-8
-4
0
-4
-18
0
0
0
7
0
-26
-19
4
0
0
0
-1
16
48
35
-11
0
-7
7
-3
0
39
15
-8
-6
-6
38
0
50
10
15
0
-59
15
0
-83
20
-9
14
58
26
0
-60
70
0
40
-3
-15
-2
13
73
-7
2
0
23
-3
-15
-13
0
89
0
-30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-1
-51
-16
49
0
-62
-35
0
7
-22
-30
1
-15
-15
0
-7
-23
23
0
0
-18
-19
0
2
-31
0
0
18
41
-14
8
34
0
31
35
70
21
11
-6
0
-30
20
0
-10
-40
-69
0
-44
27
2
8
47
18
0
94
39
-1
-13
75
-5
0
16
-17
8
-18
21
-12
0
41
6
0
-4
30
-10
0
3
7
0
-5
10
-4
0
0
-44
2
-9
9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
60
6
-19
17
24
0
-12
0
107
-13
-3
10
0
7
3
-12
-1
-97
15
0
-13
-73
1
-2
0
0
0
-12
13
-69
36
24
2
-25
56
15
-40
-34
56
1
-2
-41
-16
-40
17
16
3
-13
2
-5
60
-66
-44
-5
-1
-14
-3
-2
-73
49
3
0
18
-7
58
-63
7
75
3
-16
-2
-43
74
41
-48
2
-21
-13
-13
-9
50
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-58
20
12
-6
5
55
15
-49
3
26
7
-16
25
10
-11
-11
3
-49
-10
-14
10
5
2
7
-33
-40
39
2
35
-11
-4
-23
23
9
1
62
2
22
-24
-5
2
11
56
1
3
7
-101
-37
14
-96
2
51
15
-5
16
0
-17
11
-19
8
-88
9
-8
-21
28
2
-13
-49
-26
11
54
-18
-18
-80
-27
-12
12
-22
-38
-13
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-30
0
0
-9
0
-5
0
13
0
0
0
-9
-3
0
-22
24
0
0
0
-8
0
2
-13
-4
-3
-1
10
0
13
0
-18
-4
-2
0
0
-11
0
0
37
2
0
0
29
0
55
-42
-2
-7
-8
-29
0
24
4
-2
0
4
9
0
48
-2
0
0
0
8
0
5
8
-12
0
0
24
0
-25
-2
-7
17
0
-8
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
0
-10
-67
0
65
7
-35
5
16
-49
5
-19
0
21
6
0
0
-2
-9
0
-5
52
0
-30
13
10
15
17
-16
-22
-47
0
4
43
51
0
2
16
12
7
-22
-6
0
-72
5
-25
58
-15
-4
-21
-10
-20
10
24
-6
-16
0
7
-41
-5
-3
-44
21
-2
-10
-25
-30
20
0
30
-4
-52
-2
0
-6
0
124
36
0
5
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-2
-54
28
46
-13
18
-74
16
5
21
1
18
72
-1
-2
-36
0
0
-11
40
-73
-4
-70
40
45
13
24
-28
-15
-49
-6
-19
-71
66
-8
4
-30
-11
0
26
-2
-40
5
5
-2
34
31
-42
-15
-12
79
92
-15
-24
35
-51
-4
-77
26
31
-98
-91
11
2
31
-9
-43
-27
10
12
-11
23
5
7
-32
22
2
-15
-17
43
-18
-31
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
11
-7
-56
16
-18
50
8
6
50
-9
31
-24
29
-1
-2
6
-53
-13
54
37
1
-4
24
20
29
-5
1
-14
-14
-7
22
52
42
72
-72
22
3
-46
88
15
42
117
-11
24
50
32
5
55
-29
-3
2
-13
22
31
-82
-2
20
20
10
7
4
5
-90
-13
13
-14
4
-42
-30
-6
-16
1
-1
33
-1
91
-2
-10
-38
2
13
-1
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-12
0
34
-49
-7
0
-3
-37
0
25
122
23
0
0
27
-58
-8
3
18
0
0
5
32
-9
6
3
0
-19
-5
0
-18
-68
-8
0
-3
44
0
-39
95
-5
0
43
5
-4
51
-9
1
0
23
-9
-4
-47
2
-34
10
-29
30
-9
-57
103
-18
32
41
28
0
-30
-7
-4
0
84
-6
-3
34
-30
1
0
0
36
-38
0
-4
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-2
20
-41
-11
66
0
-31
62
1
0
-9
40
0
-23
-100
14
3
-3
0
-4
-65
-1
-5
-116
0
-2
8
99
-12
-1
34
102
0
-43
4
0
-66
41
41
3
0
-33
0
12
-71
-14
28
0
4
25
7
25
7
8
23
-16
6
-68
-103
31
-4
-1
-40
15
-47
-14
0
-49
0
-71
-72
22
0
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
3
7
-6
21
-4
-102
14
15
25
-96
-17
-8
0
0
-5
-13
8
3
-54
49
12
-10
1
16
-9
-23
30
15
27
-35
41
-23
-8
30
14
-15
-5
-5
-37
17
-7
11
-29
-14
-47
-5
-11
-7
-8
-33
-24
-35
-1
-10
-13
0
-71
-22
41
48
14
13
-1
-35
-2
-17
-20
1
-116
21
-3
42
18
2
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
3
0
0
-31
0
0
0
0
-13
0
69
-18
0
-1
0
0
0
7
0
1
-3
0
0
0
87
0
0
3
0
0
3
-5
0
9
42
-3
0
0
44
0
2
2
0
0
-3
-82
0
-31
52
0
0
-2
47
0
14
-7
-1
0
0
-36
0
5
-5
0
0
0
-54
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
25
0
3
-35
-41
7
0
10
0
0
0
5
7
0
-122
-13
0
-8
0
0
8
-48
0
28
47
0
0
-15
2
0
0
-18
-2
0
28
57
3
-2
-74
-1
17
-4
23
0
-9
9
-5
0
-6
-74
0
94
33
16
-15
13
-41
0
-5
-36
17
-8
0
-81
0
-5
-2
2
-44
0
2
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-28
12
18
-57
6
-34
1
-34
13
25
3
-60
2
0
-24
-76
55
-38
-14
0
-4
-41
-64
6
67
-8
4
-76
0
-14
40
-80
-22
-2
34
16
66
11
22
-41
133
92
1
42
110
-83
6
50
-111
-23
4
-21
-26
-8
86
-16
-15
23
97
-42
34
22
-4
-4
-25
-66
-37
6
50
0
-37
-66
13
-1
89
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-56
0
47
-39
2
31
0
-52
0
23
0
0
0
0
-36
-8
-1
4
0
0
7
-48
0
47
1
0
0
-5
-29
20
8
28
1
0
-2
-30
0
127
-60
0
0
35
16
0
39
107
-5
-16
-2
-75
0
79
-34
0
-1
-14
-16
0
-13
-31
-8
-5
15
-30
0
-89
-5
0
8
0
-33
-9
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-28
0
-2
-35
-23
0
0
25
-19
20
4
-1
0
-1
14
-37
-23
93
0
0
-6
-26
-1
-13
25
13
0
113
25
-5
-53
0
47
0
-26
-1
-1
6
-46
-17
0
-26
3
56
-12
-20
-63
0
-85
8
-16
-27
-4
8
0
26
8
-9
4
59
-1
0
-96
-19
23
-5
0
23
0
0
19
-64
-1
-18
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
41
0
0
0
25
0
21
0
27
0
-2
0
3
13
0
-6
-20
0
0
0
-67
0
-4
119
0
0
0
-20
0
-27
-22
0
0
0
3
0
22
-31
13
-2
0
-22
0
4
-55
0
0
2
-48
0
0
-1
29
-13
0
-14
0
9
2
-7
0
0
-76
45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-31
-33
-163
-4
24
-42
-18
8
13
-32
-8
-4
-153
37
3
18
0
19
-63
30
16
3
6
24
33
57
0
39
3
-33
-23
38
-29
9
-37
2
-11
73
-1
-47
11
21
0
29
-16
-22
-46
15
-50
2
76
-44
-24
-38
-8
-38
0
-53
17
-45
-19
5
-5
-8
-33
-54
-10
-119
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
3
-1
0
0
8
0
34
-37
0
0
0
0
0
-42
0
9
-3
0
0
8
23
0
0
0
0
0
0
-83
0
-5
-1
0
3
5
-104
0
-12
0
12
0
0
62
0
5
-16
0
-5
0
-28
0
0
16
-2
0
-3
-49
0
35
0
0
0
0
-75
-44
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-5
-6
0
0
-3
2
17
1
0
2
-1
0
9
-28
0
-8
-49
0
0
38
-16
0
0
-25
-18
0
-31
-23
2
-25
-35
0
4
1
-27
0
17
-58
126
0
16
25
0
49
32
0
1
-4
27
7
-15
-37
-40
24
0
10
0
32
0
-3
-1
0
-108
21
16
0
-3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
53
-5
-1
31
-37
-8
10
22
6
26
49
0
51
-41
-35
-89
35
25
0
-84
8
0
15
-50
27
0
29
-15
4
-8
-14
-12
42
-107
-5
10
-6
98
-43
-14
-14
5
-4
9
-54
5
-59
30
25
44
-108
-9
-111
-32
-6
-57
6
77
-1
1
-4
-3
-59
73
-93
-1
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
20
4
-2
21
0
8
73
-8
-23
0
0
-94
2
-18
-47
-32
3
1
-39
1
-3
75
-22
-1
18
10
-10
-1
-33
12
7
43
8
-2
13
-48
-21
0
26
-64
27
24
6
15
0
68
14
27
-5
67
74
5
-8
-10
-40
-8
7
-79
13
-3
0
-27
4
15
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
24
-4
-2
50
0
-8
1
-3
24
76
-72
0
55
24
-39
-5
2
-7
0
-50
12
1
-17
4
1
0
-70
15
-12
-19
-15
92
0
-11
0
0
24
-1
-13
0
91
24
2
-4
8
-21
0
-5
26
-3
90
34
31
0
33
7
42
-23
-21
5
0
-2
-14
-10
-33
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-7
0
0
0
0
0
0
-31
0
0
0
1
0
0
-121
0
-1
-2
0
0
0
-30
0
0
-3
0
0
0
-46
0
51
-3
0
0
0
-43
0
-7
0
6
0
0
-92
0
-4
-1
0
0
0
-10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
29
-72
-6
-52
-4
33
10
26
17
1
32
-64
24
9
1
25
11
-12
-7
27
6
24
15
5
4
-17
-4
1
59
11
26
15
15
-75
-1
12
-10
-2
-10
36
-33
1
18
16
-16
24
-22
-26
2
27
-11
-27
-10
-4
0
0
-109
-70
56
-1
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
27
-2
0
0
0
-28
0
40
-13
0
0
1
17
-17
1
-40
-12
0
-28
-3
16
-140
-83
0
0
9
-67
1
-13
-109
22
-1
-4
-17
-1
4
-63
-3
10
30
17
0
20
28
-58
5
-1
-11
-2
14
7
0
-52
0
-46
-8
1
-13
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
0
15
0
0
-27
-60
0
-43
82
0
-1
-17
1
0
-1
-54
-5
0
24
45
0
-9
-20
1
0
7
53
0
-5
6
-5
0
3
33
0
-122
24
0
0
0
-55
0
0
-3
-15
0
0
50
0
-31
29
0
30
0
-34
18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
5
17
0
-4
24
0
0
0
-5
0
0
0
0
0
0
-39
0
-1
22
0
0
29
-22
0
8
-4
1
1
0
-19
0
-4
0
0
-8
7
61
0
14
-1
0
0
-3
-51
0
11
-3
0
-8
0
20
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-10
0
0
0
0
16
-73
1
-2
15
0
-4
0
-75
0
0
29
1
0
-19
15
-9
28
39
0
-3
31
-17
0
4
-6
-5
32
-12
-60
0
-17
-3
0
18
0
31
0
-4
17
5
-5
1
58
0
47
0
0
4
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-19
19
0
9
0
3
31
-7
75
13
0
0
16
31
0
-45
-147
-15
0
20
18
5
-59
7
-25
0
9
16
-7
-9
55
-135
0
-41
-7
0
-81
49
-3
0
1
-20
3
21
0
-83
0
5
-52
-4
-22
29
0
0
0
29
-35
25
23
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
12
0
0
0
0
14
0
0
-2
0
0
0
5
0
-4
0
0
0
0
-13
0
-4
8
16
17
0
17
0
5
0
0
0
0
-74
0
0
0
0
0
0
17
0
5
0
0
4
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-15
-18
4
-97
-112
-26
16
46
11
25
31
-11
29
10
34
22
1
-48
-58
63
-11
-36
-15
-12
-24
-13
-92
1
-9
35
-57
24
-35
3
-1
-138
-90
12
-12
-54
-9
-11
-54
9
-22
35
39
-2
5
37
-22
48
-36
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
23
1
-35
63
7
3
120
21
7
-29
3
-64
8
29
-22
-18
36
-38
4
27
-23
-35
20
-83
-18
-39
0
51
17
25
47
27
2
0
-24
-11
-1
17
38
38
-4
1
19
-3
48
-12
-1
-4
0
-7
-50
3
0
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
13
-33
-13
-2
0
0
-92
0
7
6
-6
0
2
14
-1
31
55
-2
0
-23
53
-2
-3
-4
24
0
-1
23
0
1
-16
61
8
0
-28
0
1
5
-1
5
0
0
0
37
0
0
-8
0
63
10
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-41
1
28
-2
0
13
8
-2
0
13
-1
-12
-3
-6
41
14
-8
-51
-2
0
-20
-32
0
-24
30
-99
0
2
-19
0
-19
35
3
-2
-8
47
0
-7
6
-43
31
0
4
0
-75
-10
0
0
0
-42
56
7
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-77
-2
19
-31
0
0
19
-22
-1
4
-9
0
0
33
3
0
81
55
0
1
0
53
0
0
49
-19
-5
0
46
0
13
14
0
0
0
0
0
1
-1
0
-2
0
-47
0
1
-1
0
4
0
-48
7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
39
6
0
0
0
50
0
0
0
0
0
0
-1
0
-2
8
0
0
0
92
0
0
-1
0
0
0
45
0
0
0
0
0
0
64
0
0
0
0
0
0
46
0
-8
0
0
0
0
-66
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
35
0
-9
-14
-15
0
-5
-10
0
-34
46
8
0
2
13
0
-12
-33
48
0
12
30
-3
-147
7
4
0
7
23
3
-3
4
22
0
0
54
0
-82
-1
0
-3
0
65
-14
0
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
12
-13
-66
9
43
83
44
1
10
-13
-6
-71
59
58
-1
-36
-49
-1
-3
6
22
16
-59
32
28
-37
-38
92
-12
-59
45
19
-56
40
-15
11
-42
-36
-176
-97
-63
-75
13
47
-66
12
-11
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
2
52
13
0
1
27
0
-61
-33
39
0
0
-53
12
0
36
-8
0
0
-32
0
-63
4
-5
-5
0
-90
0
-2
-15
-3
1
0
33
0
75
10
0
3
0
-105
5
2
0
-51
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
29
-23
-29
17
39
22
35
-25
49
17
-9
101
4
-8
-9
-13
-40
17
74
-44
-39
-11
10
13
-46
52
-16
-81
-13
-6
68
-80
-18
-46
-6
-14
-4
9
-48
-19
-43
0
63
-37
2
-5
28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-34
-56
-13
-126
64
13
6
13
32
17
22
38
-7
-10
72
-1
-43
-38
-51
41
13
-47
-2
-133
77
-1
-13
-11
18
-1
61
2
-14
-41
24
6
-3
36
-7
6
24
0
-59
0
-53
1
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
26
0
0
45
0
4
22
-14
0
-14
-28
0
0
0
-6
0
0
43
2
0
0
-85
0
12
-1
0
0
0
-65
0
0
-9
2
0
0
-25
0
-39
0
0
8
0
36
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
7
-10
0
0
0
-10
0
14
4
0
0
0
17
0
0
1
-2
0
0
-5
0
17
-30
0
0
0
-24
0
0
-7
-3
0
0
1
0
-28
-7
0
0
0
-42
12
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-10
-18
-45
77
12
-17
-12
-16
0
12
-24
185
-33
1
27
-8
-30
-2
-4
17
5
-3
0
5
-49
-32
12
-1
25
-4
-48
10
6
-84
0
7
5
43
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-11
56
-21
30
24
16
-16
14
24
-11
18
-16
-50
-39
-3
4
-24
37
-7
-42
-31
19
41
-31
-3
25
-13
-105
-4
-37
-8
-7
-43
1
5
14
14
49
-22
-13
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-54
-4
5
-4
-4
0
-13
-59
0
2
-21
2
8
1
-7
0
4
-8
0
0
0
108
0
0
0
-8
0
0
20
0
39
-10
1
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-5
-3
-18
-51
77
-6
-1
21
0
7
-114
-24
5
-77
-37
0
40
42
34
-14
13
-31
1
0
-36
-75
-8
2
-16
2
-30
18
4
38
0
-3
-4
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
4
67
-16
-46
30
-213
-36
-66
3
-84
-35
-8
-27
29
34
-5
58
-48
27
0
33
2
1
40
79
75
6
9
-12
7
-20
-5
10
-6
30
37
-5
-13
-93
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-19
0
11
69
0
18
-8
-29
2
-25
-51
6
-7
4
-58
0
-77
-50
-7
-32
4
-23
0
2
-117
0
19
0
-28
0
36
-3
7
64
-2
15
89
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-46
75
0
0
-22
-2
0
-7
-61
1
0
-2
22
0
-79
8
0
0
0
-28
0
-2
5
-2
0
0
-22
0
8
0
0
0
0
105
5
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
28
-5
-27
-24
-54
23
18
5
-4
-70
-2
0
54
-1
24
5
-28
-103
22
-45
0
1
-3
-81
34
17
-13
-1
25
-57
2
25
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
9
-101
-14
1
0
20
6
22
-101
-3
3
-67
17
4
8
-20
-1
-3
-10
17
-44
7
-41
12
11
34
-27
-37
12
-2
0
-43
-3
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
36
0
-54
-2
25
0
0
-19
0
-41
-2
-1
-3
0
-89
0
0
27
-7
5
0
-7
0
-41
-3
0
0
0
23
31
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
-22
-13
-68
36
58
31
-24
-20
8
111
15
-13
-29
-29
-10
-1
50
-15
-53
-7
-2
-9
-25
6
41
3
-49
0
14
-6
20
17
-43
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
49
-8
-87
-21
46
36
5
-2
53
-41
-46
13
70
-58
11
5
30
-97
-100
-61
-5
5
-1
-8
-36
-1
-40
-3
0
-105
12
-2
25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-61
-7
6
58
-24
-6
0
60
6
-37
21
0
14
8
-45
0
-1
-2
3
3
0
1
0
-5
0
0
27
0
31
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-13
2
12
-69
-1
0
25
-37
0
-32
-54
0
0
0
-43
0
1
-47
27
0
0
-61
2
40
0
0
0
0
-55
-2
0
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-16
3
-14
-39
-3
-57
0
14
0
-6
-36
-72
49
0
-20
0
39
-73
-9
-21
0
-21
100
0
-1
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
-41
-45
6
-43
-8
1
15
8
-31
-42
-7
-13
-7
4
-30
-8
-56
10
44
-33
1
-41
-63
-85
7
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-36
0
23
2
0
0
-2
47
0
0
-13
0
-2
0
36
0
45
-6
0
0
0
-14
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-46
-3
19
84
3
29
13
33
20
9
-119
-90
-13
43
31
0
-64
18
1
-33
0
-31
11
-4
15
24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
6
-7
-29
31
-27
-43
-94
2
13
79
-75
-10
3
31
-10
-9
-12
43
-6
-2
69
25
127
15
-10
-51
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
31
0
-36
14
-9
-13
-20
-20
0
75
39
-6
33
0
11
1
16
29
0
36
0
6
-40
-7
17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
19
0
-26
-19
0
0
0
44
0
-8
35
-5
0
4
28
9
-8
-5
-8
0
0
39
19
0
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
20
8
-91
37
0
-8
0
-6
3
0
-3
0
-32
-19
2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-14
-15
-25
-16
-11
39
-55
7
97
24
-38
-12
44
67
1
-31
4
5
-74
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
-8
0
-2
0
0
55
0
4
2
0
1
0
30
-5
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-18
-7
8
1
15
41
-3
0
-4
46
66
-26
12
-5
2
-102
-38
4
30
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
3
21
-11
29
-14
42
-2
19
-1
13
-3
7
-94
0
-12
-4
-16
-2
-47
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-30
0
1
-27
-5
16
0
0
0
38
-1
0
-1
0
-79
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
9
22
3
0
0
-8
-1
-44
-24
-5
0
0
15
66
0
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-37
0
-44
-4
-19
17
0
43
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-5
58
-26
29
20
18
-38
1
-35
96
-19
-22
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-17
0
0
0
0
108
-3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
0
9
-28
0
0
-8
-27
-72
-8
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-38
-13
-7
5
-47
-5
33
-26
84
13
-1
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-17
5
13
-8
-2
19
0
10
-5
2
10
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
6
4
8
0
0
0
-4
-44
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
30
50
13
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
43
5
-185
65
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-33
-14
0
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
-42
9
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
-2
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-51
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-31
0
0
-13
0
0
0
0
0
-8
1
0
0
-8
-8
0
0
-5
0
0
0
-4
0
0
0
0
0
0
-10
0
0
-14
0
0
0
0
0
-12
-3
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
-44
0
0
0
0
0
0
4
0
0
0
-2
0
0
-30
0
0
0
0
0
0
-17
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
-5
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
2
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
5
5
0
0
-6
13
0
0
-46
0
0
0
0
0
0
9
1
0
0
0
0
4
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
21
0
0
-4
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
33
0
0
0
16
0
0
1
0
0
0
-3
0
0
23
0
0
0
-22
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-86
0
0
-8
0
0
23
22
0
24
33
0
0
-54
0
0
0
-13
0
0
-27
50
0
0
-13
4
0
2
-57
0
0
-1
0
0
0
40
0
1
1
0
0
0
9
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
5
0
0
0
0
0
23
0
14
10
-6
0
-5
-11
0
0
-77
0
0
0
29
0
0
21
0
0
-2
27
0
0
9
0
0
0
-13
0
0
-14
-9
0
0
-58
0
0
-8
0
0
0
-20
0
0
0
-5
13
0
-65
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
-12
-5
0
0
19
-44
0
0
0
-3
0
0
-41
0
-22
-5
0
0
1
-49
0
0
1
0
0
0
1
-1
-8
0
0
0
0
-47
0
0
0
0
0
0
53
0
1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
12
-25
-59
9
-58
-41
21
-33
-1
-24
9
-1
10
51
14
19
86
93
14
-32
-58
1
18
17
60
28
19
-16
4
37
-25
-102
3
40
-32
46
32
-39
-18
-5
32
-39
11
46
-19
-3
-18
-16
-7
-33
-52
4
-52
-42
-20
-48
-5
18
38
-29
50
-9
31
-2
39
42
-4
-15
1
21
0
0
0
0
0
0
0
48
21
80
46
44
-11
5
7
15
-18
24
28
20
-20
14
35
-34
-2
0
-7
-1
-20
27
-15
-6
-18
21
-24
18
35
59
-70
-1
-1
0
-63
-15
-22
-77
-40
-14
16
-22
0
1
24
10
27
26
3
4
19
46
-10
-14
-15
-1
-1
60
18
17
-3
-41
26
18
-25
-43
29
-6
-1
18
2
-83
17
12
-6
-15
-26
4
31
-69
-2
10
1
14
3
30
-7
-10
-1
21
-25
-1
24
-72
-31
16
2
-34
6
14
-5
-24
25
-21
-102
-3
19
-28
-64
65
-3
-12
7
59
-37
15
8
1
-10
15
15
21
7
16
-8
-13
6
-52
67
23
17
-12
-15
0
-23
-8
14
55
24
-9
-2
22
5
-5
-2
10
14
1
-13
2
-27
30
-6
-23
-7
-65
9
-15
-23
1
-50
1
28
41
-38
-30
-48
-39
4
-13
44
17
-13
-40
49
18
41
6
52
-26
39
-14
-15
-49
27
22
25
-15
39
1
76
10
23
-14
82
22
-2
-12
-42
-10
-4
-13
17
-1
-57
-30
27
-9
10
-1
6
13
92
-50
-5
-6
0
-5
-26
-10
4
23
3
13
-13
-9
-48
-50
86
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-21
0
0
3
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
2
0
0
0
-8
-24
0
0
-3
0
0
0
-1
0
0
-5
0
0
0
10
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
-1
0
0
0
6
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
7
0
0
0
1
0
0
-46
0
0
0
5
0
0
44
0
0
4
0
0
4
-2
0
0
0
0
0
0
0
3
0
0
0
0
-10
0
0
0
1
0
0
-12
0
0
45
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-57
-4
0
0
124
23
0
-60
-4
0
0
-9
0
0
-8
0
0
0
-4
0
0
-1
-4
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
35
-20
13
0
0
0
-2
40
0
0
0
0
0
22
10
0
24
-17
0
0
-17
17
0
0
-13
0
0
29
104
0
0
-17
-17
0
11
3
0
0
7
0
0
0
-17
0
-51
0
-6
0
0
-25
0
0
0
0
3
0
34
0
-4
0
4
0
0
23
0
0
0
0
0
19
19
0
0
0
0
0
2
-24
0
0
-19
0
0
0
-50
0
0
23
-7
0
52
-6
0
0
5
0
0
-2
-75
0
0
-2
-8
0
-2
-48
0
0
-5
0
-3
0
22
0
0
0
0
9
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
20
0
-47
0
0
0
0
-2
0
0
0
-4
0
0
-16
0
2
0
0
0
0
-21
0
0
0
8
0
0
58
0
4
3
0
0
0
32
0
0
0
-1
0
0
24
0
-1
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
5
0
0
0
0
0
0
-42
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
-39
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-40
0
0
0
20
0
0
-54
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
5
-6
4
0
0
0
0
-109
0
0
0
0
0
0
0
0
-1
0
0
0
24
10
0
0
-8
0
0
-2
14
0
0
5
0
0
-2
-23
0
0
3
0
0
0
-13
0
-24
0
0
0
0
6
0
0
0
0
0
0
22
0
0
0
0
0
0
19
0
0
0
0
0
0
-9
0
8
-10
0
0
-4
-63
0
0
-2
0
0
1
-34
0
0
-3
0
0
2
-96
0
0
-8
0
0
0
8
0
0
0
0
0
0
9
0
0
-2
0
0
0
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
-9
0
0
0
0
15
0
0
0
0
0
0
8
0
0
1
0
0
0
-16
0
0
1
0
0
0
13
0
1
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
39
0
0
0
0
0
8
36
0
0
0
0
-9
5
0
0
9
-1
0
0
0
0
0
0
0
0
-13
6
0
0
49
-6
0
-50
0
0
-2
-101
0
0
-24
-16
1
0
-44
-22
0
0
-18
0
0
0
0
0
2
0
0
0
0
-7
3
0
0
17
0
0
0
0
0
58
-5
27
0
0
0
-14
75
0
0
56
0
0
31
13
0
-1
-93
17
0
-10
17
0
-1
-33
-3
0
30
32
0
0
7
61
0
23
-63
0
0
-29
0
0
-1
-5
0
-98
73
-37
0
0
-19
0
0
0
0
0
0
5
-32
12
0
0
0
0
57
7
39
0
0
0
-9
10
0
-4
59
-23
0
34
26
0
0
3
0
0
15
31
0
0
-41
-3
0
58
-17
0
0
-3
-2
0
-1
21
1
0
-65
-15
0
-1
0
0
0
7
0
0
0
-12
0
0
-23
23
0
0
5
0
0
0
0
0
0
-64
25
-2
0
3
0
0
4
0
50
6
0
0
2
32
0
-4
12
0
0
-3
-42
0
-73
112
0
0
0
-60
0
-8
7
5
0
0
-31
8
-4
19
6
0
0
-8
0
-2
4
0
0
0
24
0
8
0
0
0
0
-58
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
10
5
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
-17
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
17
0
0
34
0
3
52
-18
0
0
-7
0
-1
0
0
0
0
-5
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
27
3
0
0
0
0
0
-12
0
0
0
0
0
-5
2
0
-33
-3
0
0
-21
-21
0
0
2
0
0
7
-103
0
0
67
0
0
-9
12
0
0
7
0
0
0
5
0
9
2
0
0
0
49
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
4
0
0
0
0
0
49
0
2
-5
16
0
-5
90
0
0
4
0
0
1
-67
0
-3
-5
-8
0
-4
-49
0
0
-8
0
-5
-3
-93
0
0
6
0
0
0
38
0
0
-7
0
0
0
13
0
0
0
-3
-1
0
-53
0
0
0
0
0
0
-31
0
0
0
6
0
0
-42
0
-4
0
0
0
0
-19
0
0
0
0
0
0
25
0
7
1
0
0
0
30
0
2
-1
0
0
0
16
0
-2
3
0
0
0
19
0
0
-8
0
0
0
-75
0
-6
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
1
0
0
-14
0
0
0
0
0
-5
-2
0
0
0
0
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
-49
9
0
0
30
-8
-3
61
0
0
0
13
0
0
27
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-2
0
0
0
0
0
31
0
0
0
0
0
1
0
0
0
31
0
0
0
10
0
-53
-13
0
0
38
21
0
0
-43
0
0
-12
-52
0
0
-5
4
0
-7
22
0
0
-5
0
0
30
-8
0
66
0
-5
0
0
1
0
0
0
0
0
0
47
-1
0
0
0
0
0
82
0
0
0
0
0
1
0
0
0
5
0
0
0
-54
0
0
32
0
0
-30
-25
0
0
-12
0
0
13
21
0
0
-2
0
-13
-7
-14
0
0
-1
0
-2
0
46
0
0
-8
0
2
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
-3
0
0
0
-2
-13
0
0
0
0
0
0
-13
0
-19
0
0
0
0
7
0
-10
-2
7
0
0
28
0
0
0
0
0
0
-8
0
0
0
12
1
0
-23
0
0
0
0
-1
0
49
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
77
0
0
0
0
0
-3
-15
0
0
0
0
0
8
3
0
0
0
0
0
7
0
-6
0
0
0
0
0
0
0
0
-21
0
0
-3
0
0
-17
0
0
0
0
0
18
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
0
0
106
-4
2
-8
0
0
0
13
0
19
0
3
0
0
-34
0
6
-6
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
28
0
9
0
0
0
0
-83
0
0
0
0
0
24
-49
0
11
-1
0
0
-27
56
0
-3
43
0
0
25
-71
0
0
3
35
0
6
8
0
0
-7
0
0
0
-40
0
22
-4
0
0
0
32
0
0
0
0
0
0
-13
-6
0
0
0
0
0
25
0
0
0
0
0
-2
-63
0
0
0
0
0
-8
17
0
0
4
0
0
0
14
0
0
7
-8
0
0
-26
0
0
6
0
0
0
46
0
0
-8
0
0
8
-20
0
0
12
0
0
0
-6
0
0
4
0
8
0
80
0
0
0
0
0
0
-57
-18
0
0
0
0
0
0
0
-4
0
0
0
0
-76
0
0
-8
0
0
0
-87
0
-3
6
3
0
0
-31
0
0
-10
0
0
0
30
0
-5
0
0
0
0
-38
0
0
0
0
0
0
31
0
18
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-43
-30
38
1
7
31
14
25
-11
-32
16
40
-6
25
72
40
-53
-31
30
20
3
-28
54
-42
63
31
32
29
-12
27
-16
-7
31
30
-35
-25
28
-8
-66
-12
6
-7
-34
-3
-22
-49
-58
30
12
2
36
-18
37
-47
-104
-41
1
30
-50
-32
-3
-40
0
0
0
0
0
0
0
-7
56
37
54
-20
4
2
16
12
24
2
20
-6
5
33
9
40
-5
1
-5
6
-7
34
11
-23
1
70
2
3
-1
-65
13
-27
-3
4
-30
-88
-19
-19
-21
-4
24
29
4
34
-75
-25
1
-16
-33
5
51
10
-7
-33
62
-7
-7
-103
-144
-15
15
35
2
4
17
45
-2
-1
-21
3
-2
-17
-38
-1
2
46
10
0
1
14
15
41
-30
10
-2
16
3
0
6
31
-49
-8
13
-31
-65
1
15
-31
3
14
-17
-6
8
42
-35
18
25
-20
59
-24
11
7
-9
-7
19
-16
19
38
1
-13
-71
-51
-1
-22
-27
-29
0
32
5
-9
0
-19
2
0
-4
4
-11
-21
2
-12
2
-64
-45
12
4
39
-9
0
7
41
-13
17
-2
-41
-5
-38
-28
14
7
6
-49
1
23
-79
38
43
6
-147
20
41
-41
40
6
-14
19
-28
-6
-93
-30
-30
-16
20
-6
20
-25
-17
-29
-14
-15
-11
-46
-40
-19
7
-53
-39
6
40
11
-6
9
38
1
0
-51
-19
-30
44
42
28
-6
-5
8
-8
-2
16
-18
3
11
-3
38
-51
-17
-27
9
47
25
63
-1
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
14
0
-91
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
19
0
0
0
0
0
-42
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
4
5
0
0
4
0
0
57
1
0
0
-5
0
0
-1
0
0
0
-3
0
-9
-1
0
0
0
2
0
0
0
0
0
0
2
0
24
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-2
27
0
0
0
0
0
-21
32
0
-17
-3
2
0
10
31
0
0
13
0
0
-1
-13
0
0
-1
-6
0
-6
-35
0
0
-5
0
0
0
25
0
-5
0
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
-22
1
0
0
0
0
0
13
0
0
0
0
0
-1
-19
0
0
-3
0
0
-2
60
0
0
6
0
0
0
-14
0
0
-3
0
0
0
-9
0
0
0
0
0
0
-84
0
0
-1
0
0
0
-4
0
0
0
0
0
0
-38
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
27
0
0
0
0
0
0
-33
0
0
-2
0
0
0
-9
0
0
0
0
0
0
30
0
-4
0
0
0
0
-6
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-41
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
30
89
17
0
26
-25
1
58
15
0
0
-62
-25
22
-4
5
32
0
48
21
0
-3
-6
-6
6
-92
54
-4
-2
27
-17
0
-5
9
0
3
42
-4
0
0
6
-6
0
0
0
0
0
26
17
0
0
0
0
30
34
-40
-1
-10
18
0
0
0
0
0
0
0
0
7
13
16
-1
28
7
0
6
-125
16
6
-86
-42
0
37
-43
0
-10
-27
-44
0
-25
30
-5
5
-31
32
0
-64
32
14
-3
-51
-50
-4
0
15
11
0
3
-3
0
-1
-21
17
90
10
-54
0
47
-74
60
8
-52
13
0
80
55
0
18
66
-11
0
-27
-16
4
-5
1
-13
0
47
-8
5
10
-20
-31
0
-8
16
-1
0
-27
-69
0
-17
-18
0
-3
-22
16
0
-79
-35
5
0
3
-27
0
-2
-27
-28
-7
-1
-26
0
8
19
-31
42
-2
9
2
14
-24
1
-52
-36
36
0
-56
18
9
48
61
48
0
35
-2
3
99
59
-19
0
87
19
-7
43
-9
19
-7
7
-10
0
-10
10
46
4
-18
-8
0
-5
-12
57
0
-9
-22
-3
23
-8
-48
-3
1
-9
-31
2
0
67
0
0
35
34
4
18
-9
0
6
-8
-7
-27
-49
-8
0
69
44
-7
-16
14
98
0
-5
-16
-3
67
46
-1
0
-45
18
-1
19
16
27
0
-66
-19
0
-18
-57
0
0
-69
2
0
12
52
-15
0
-22
-19
0
54
-66
-7
0
0
8
11
-1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-35
30
-48
28
0
16
16
32
94
-13
19
16
-85
-44
-47
-6
-2
-1
-1
-42
2
8
-3
-1
-8
5
-46
0
52
-5
-8
0
1
-125
7
0
-34
0
0
0
17
-2
69
6
-2
24
-3
3
17
14
-11
20
14
18
-6
0
0
0
0
0
0
0
-44
48
9
9
77
33
0
-92
-78
69
-4
-23
-4
-65
-29
-32
0
-4
-6
-17
-77
-39
15
0
2
-90
-2
-68
-8
58
0
0
29
-5
-17
0
-4
5
0
5
0
-169
0
-33
32
35
31
-54
-1
-27
10
86
0
-31
-3
0
-63
-85
31
41
22
47
0
2
68
-2
89
9
7
4
-7
1
-5
42
-8
46
-43
-12
-61
3
-7
-63
-2
-2
-27
24
0
-14
-76
4
-15
10
35
0
-1
-42
-4
-39
0
-5
65
-81
0
48
17
4
-32
94
-5
5
-8
3
52
10
10
27
31
-55
-1
-114
5
46
96
20
-2
1
-27
6
-42
-60
-23
3
-43
28
-24
-42
77
-54
-38
-23
-39
-34
14
-13
-38
-15
67
13
-13
6
0
-6
12
-9
-12
-70
0
-4
-6
-20
19
0
-5
-2
-3
0
16
41
0
11
-119
7
-4
-2
5
8
-70
6
3
-25
87
6
-66
33
-3
54
-111
60
-8
9
-23
-20
-10
-18
66
5
30
-36
15
14
-51
61
27
7
15
6
-54
-85
-4
-41
-7
18
-5
-5
-46
21
10
0
5
-5
-2
-18
-21
-15
0
-63
-22
0
-10
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
-1
-16
0
0
5
0
8
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
0
0
5
0
0
0
0
0
6
94
0
0
0
0
-10
0
0
0
-30
-8
5
0
0
0
0
0
0
0
35
-2
1
-1
-33
3
0
-53
10
0
0
1
0
0
5
-5
0
0
-12
0
-2
0
4
0
0
-9
0
-3
0
5
0
0
0
0
-106
0
0
12
0
0
0
8
0
11
14
0
0
0
0
0
-3
0
0
5
0
0
-5
0
0
37
-6
-1
0
43
-26
0
-8
-8
0
0
-27
-86
0
0
19
-22
0
-1
-110
0
0
-19
0
0
0
-102
0
-18
13
-4
0
0
47
0
0
0
0
-1
0
10
2
0
0
-10
0
0
1
0
0
0
0
0
0
-58
0
3
60
9
0
-41
0
1
10
-31
0
0
14
47
0
0
-49
-10
2
-12
-46
0
0
-8
0
0
0
-36
0
0
7
30
0
0
-6
0
0
5
0
0
0
-18
0
0
5
0
0
0
-16
0
0
0
0
0
0
-67
0
0
0
0
0
0
24
0
1
-9
0
0
0
0
0
2
12
9
0
0
-58
0
-43
-1
0
0
-4
37
0
5
-1
-3
0
-8
-5
0
0
0
-2
0
0
-30
0
0
1
0
0
0
23
0
-4
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
-4
0
0
0
0
-5
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-27
0
0
-2
0
0
-86
0
0
0
0
0
7
31
0
0
0
0
0
10
0
0
-19
-12
6
0
0
0
0
0
0
0
-21
17
0
2
-80
1
0
-58
-2
0
0
-2
0
0
-4
-5
0
0
-7
0
0
-9
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
-5
0
0
0
0
0
-7
16
-1
-5
0
0
0
-65
0
-2
-5
0
0
8
31
0
-29
-12
-3
0
11
-66
0
0
-1
0
0
-5
-32
0
3
10
34
0
-9
15
0
0
-3
0
0
0
-5
0
-28
0
-5
0
0
-7
0
0
0
0
0
0
-29
0
7
0
0
0
0
-15
0
-1
0
0
0
0
21
0
0
6
0
0
-23
10
0
0
-8
1
0
-5
-39
0
0
-3
33
0
-5
-13
0
0
-5
0
0
-1
-25
0
3
-13
-1
0
0
8
0
0
-2
0
-1
0
-19
0
0
-1
0
-2
0
15
0
0
0
-1
0
0
25
4
1
0
0
0
0
-2
0
18
1
0
0
0
63
0
0
-5
3
0
0
-31
0
0
-1
0
0
2
13
0
0
5
0
0
0
55
0
-2
4
0
0
0
67
0
0
0
0
0
0
13
0
8
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-8
-2
-10
24
1
-1
-18
65
0
3
95
-29
-9
1
42
-6
0
0
-4
21
41
20
-6
10
-8
-7
-28
0
-3
0
3
0
0
-41
0
0
-16
0
0
0
-15
5
-42
46
0
0
-5
0
75
54
-2
-4
31
33
49
0
0
0
0
0
0
0
24
56
-7
4
21
31
-30
-85
5
30
-5
-35
24
99
-4
2
0
-2
76
35
14
-24
8
0
0
31
0
41
-4
-5
0
0
-3
9
-21
0
0
-5
0
0
0
28
0
55
-29
85
-6
15
0
14
1
20
-7
-2
0
-1
-25
-39
-8
44
-50
9
0
-66
-85
-6
31
-47
-8
-4
-34
22
8
0
38
35
-25
5
30
-2
22
-82
-13
25
-23
13
0
-22
41
31
25
-4
-21
-12
0
-7
0
-42
0
5
70
-3
0
-7
3
3
20
23
2
0
0
5
-39
40
-71
21
-27
-14
2
-66
-44
-16
-1
-20
3
0
-54
-55
8
-13
-67
-8
-7
-116
21
-19
-8
-21
9
12
31
-68
2
13
83
44
-43
-7
11
-1
0
19
27
68
-1
13
-4
0
34
66
-22
0
39
49
12
0
0
-2
0
31
45
0
0
-2
-1
-13
53
8
-35
-2
15
0
33
-44
0
-13
3
13
0
-17
-9
14
0
0
5
4
8
-19
-1
5
31
-49
0
1
12
0
-81
-4
-1
7
20
3
0
0
100
-29
-16
-8
-21
0
90
2
63
27
0
23
3
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-24
-17
-16
-63
33
-32
-11
39
60
85
48
-44
-19
-6
-3
52
27
-22
-55
-34
11
-22
23
-17
-14
-20
-6
41
-33
-1
-16
10
5
-27
0
0
-4
-1
0
5
17
-5
-10
63
4
-15
-8
-2
-42
-87
-77
1
-55
-14
-67
0
0
0
0
0
0
0
-7
2
71
-20
-102
23
-21
-20
-19
-21
-25
-25
-3
-23
-25
-41
-14
69
5
30
-1
-25
-83
0
-24
-25
-14
4
38
25
-2
-1
10
7
-9
1
13
-29
0
1
-43
40
-3
-2
26
-100
1
-8
-1
2
-3
-4
0
-49
0
-1
0
3
2
24
26
1
-13
0
5
-40
-42
-8
-44
6
-36
-7
56
-15
12
50
-41
-9
-11
6
22
6
-44
-52
-40
-17
-52
-1
-7
4
-20
-28
-12
-12
-13
8
23
-2
-3
-2
10
8
-7
51
0
-10
-4
-14
-37
2
-5
29
-20
-20
40
-92
6
8
45
2
-5
-97
76
6
15
-4
-37
-14
52
-56
-5
-11
-24
-4
-15
13
51
29
-2
0
46
-13
18
43
12
-5
3
-26
-20
-14
8
-22
-47
11
-53
2
4
-22
-12
-11
10
0
2
10
-17
-31
40
25
-13
19
-53
52
-25
-50
-32
35
-20
49
-46
12
17
50
-2
-24
-13
-26
73
13
12
64
-9
11
-24
-35
-3
-96
56
-15
127
9
-24
4
-27
-11
-6
61
43
16
-68
30
21
-10
-1
80
28
-3
9
-19
4
3
-27
8
-5
-12
-4
3
89
-16
-48
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
25
22
-5
-27
0
-22
-82
54
7
-5
-14
2
-59
-67
-42
-2
-1
-1
0
-37
-25
-76
-1
0
-15
0
-7
0
-5
0
6
0
0
-72
0
-12
-2
0
8
0
-17
-7
-89
-16
7
0
0
0
41
3
42
-2
72
-1
26
0
0
0
0
0
0
0
-82
33
35
3
-84
0
-49
-34
-9
0
-4
-60
0
-16
-30
39
0
-21
-13
0
21
-36
-81
0
0
-43
0
37
-15
-44
0
-1
0
0
19
0
-6
-66
0
-4
2
-9
-2
13
-76
34
-42
0
0
99
22
0
2
-27
0
1
7
-7
1
-13
4
-1
9
12
17
0
13
-20
0
29
-32
-76
-1
-6
-44
-3
42
54
-17
0
104
6
7
-25
-41
-4
0
-18
15
0
-4
73
4
0
-5
56
0
10
1
-15
-45
-7
0
0
1
10
4
-39
1
14
0
2
-33
8
25
-8
-48
0
0
7
1
-14
1
22
-5
2
39
1
-9
27
-5
-13
-3
-22
-13
8
-70
-31
13
-60
39
-56
0
8
13
1
7
-32
-2
0
-7
20
3
45
54
-5
-4
-8
20
-3
-25
0
-21
0
0
9
0
66
0
7
13
6
-2
0
0
25
34
4
52
-61
0
3
37
-33
-1
-31
-7
0
-4
62
15
-8
13
25
-7
-8
49
7
-1
41
-52
5
-42
-44
-5
-2
-63
42
0
2
66
30
14
5
65
4
-38
30
-5
8
-50
27
0
42
2
-11
44
13
-2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
8
-1
0
0
0
0
30
8
-1
0
-5
-1
0
-12
79
2
0
0
0
0
-2
-15
-6
0
-16
9
0
0
13
0
26
1
0
0
0
0
-51
0
0
0
0
0
-4
-8
0
0
0
0
-2
-9
3
0
-66
-46
0
0
0
0
0
0
0
0
18
-34
-3
0
-7
-31
0
-50
-51
8
0
-93
0
0
-65
-18
17
0
20
-4
0
-51
-8
0
0
1
0
0
0
5
0
0
-3
-8
-19
0
0
-10
0
-2
0
-7
0
7
-13
8
-1
-7
0
35
24
0
0
-45
0
0
24
-102
0
22
-16
-25
0
-125
-28
0
54
-141
8
0
-53
11
0
0
-21
10
0
-42
-70
1
0
-73
-12
0
-25
-22
0
9
-40
-8
0
0
-85
0
0
15
0
0
0
-18
-35
70
9
-1
0
0
4
5
0
0
0
0
15
-58
-33
2
18
14
0
5
49
0
24
-33
0
0
-11
-9
13
0
36
31
0
26
17
6
0
38
0
0
13
-50
8
28
-36
-16
0
-35
-30
0
-3
9
0
0
7
48
0
-19
5
-7
0
0
-47
-5
0
0
0
0
0
-3
-16
0
-1
0
0
0
-56
-7
-31
48
0
0
-5
67
0
9
-41
49
0
18
-5
6
51
72
0
0
-21
39
4
-45
-25
-3
0
-12
30
2
-19
-20
3
0
1
-47
0
0
21
8
0
0
25
0
-73
-1
0
0
0
-64
5
0
0
0
0
0
0
0
0
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
-56
7
11
11
-24
18
13
13
-8
-4
9
-58
-14
-10
27
-10
-49
-7
-15
-24
93
-7
-38
-25
-14
80
-21
-7
59
-11
-1
2
-23
-39
-26
-3
-62
-31
25
31
-64
-26
-15
103
24
28
25
-101
0
0
0
0
0
0
0
-48
-42
-93
-89
19
-54
110
12
-6
-53
-84
-29
-37
10
-58
-13
40
-23
-19
-19
-9
-9
-4
-5
5
-39
-39
7
-30
-4
48
4
-40
3
-14
-29
-84
-68
-17
-34
-3
7
-15
16
-81
-67
-10
15
4
-46
9
23
35
18
42
-5
-29
14
20
1
20
14
3
-18
8
-6
-34
-14
-25
-48
-5
-13
40
-46
-14
-41
32
-7
-4
31
22
-16
-2
5
6
0
3
-11
-27
5
-2
40
-5
-71
-75
-26
-42
-25
-2
11
-17
9
-50
-13
-26
16
7
15
41
-33
-27
-28
-19
4
-13
31
-13
-1
40
49
24
-37
-33
24
84
-25
29
-1
-9
2
12
25
46
-9
-13
-95
-65
2
49
-41
30
-17
-50
-48
-17
4
27
-5
-8
-41
94
-1
-23
5
2
-20
-52
-78
-35
4
-7
-27
-29
-14
-32
-75
5
8
33
-4
-15
-16
4
9
28
48
2
-48
-38
-25
2
44
67
-10
-82
-23
-3
-25
-4
-61
-16
-29
-18
-22
-48
7
-9
-12
-73
32
15
-10
-33
-16
-23
-59
-8
-10
-27
35
4
-12
19
45
-10
-14
5
9
-5
-51
17
-43
-39
-10
-3
-51
-10
77
-7
37
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-28
0
0
-41
0
-5
-42
45
0
0
-10
0
-1
0
-5
0
0
0
-6
0
0
0
0
-47
0
0
7
0
0
-15
0
0
0
0
0
27
-132
0
0
0
7
14
50
12
0
-18
-54
0
0
0
0
0
0
0
0
-89
0
-1
-15
-50
-31
-10
-61
-58
6
-8
-98
1
10
-22
16
0
0
43
-7
-9
-23
-31
0
-1
-3
-2
31
-2
-5
0
0
0
1
-79
0
0
-3
0
0
-1
13
1
-5
-44
8
0
-24
0
-64
37
-2
0
4
0
0
-44
7
18
84
-4
76
0
-44
0
13
-8
84
-6
4
-32
-41
1
0
-43
2
7
-41
-55
-4
0
-14
0
4
-1
18
0
-21
-5
66
0
0
-41
0
0
-2
7
1
0
29
-10
-1
0
-4
0
0
37
-4
9
-3
0
0
-13
14
0
-27
-106
18
0
-71
15
-8
-2
34
3
-1
-113
0
0
-5
-9
10
20
-40
-8
-1
-2
-34
13
2
15
1
0
5
-84
2
0
3
-16
0
5
-37
-3
-23
8
-58
0
-3
-58
13
-13
0
9
0
0
0
12
-2
0
-27
9
1
0
0
0
0
20
0
28
37
-6
2
-8
40
0
-6
79
-8
0
-20
0
1
-104
-62
0
0
-24
37
0
5
-43
-90
0
-5
21
4
-21
12
0
0
-1
-92
0
17
-3
2
0
0
29
0
-28
10
0
2
0
-48
0
-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
14
43
0
0
-1
-4
0
-14
-1
0
-1
-7
0
-1
0
-2
0
0
-1
0
0
0
0
0
-13
0
0
-4
0
0
0
0
0
0
0
0
0
25
8
0
0
0
34
8
0
0
41
-6
0
0
0
0
0
0
0
0
-45
-35
-4
0
27
-20
-8
-19
-18
6
2
69
6
-4
43
42
0
0
-20
0
0
0
9
0
0
-3
0
8
0
0
0
0
-2
0
19
0
3
-4
0
0
0
-6
0
-20
0
0
0
0
0
21
-22
0
3
25
0
-2
44
132
-1
48
-8
46
0
-75
-44
-3
0
6
0
0
74
-45
0
-4
-75
13
0
-18
-17
0
1
-7
0
0
-3
-7
0
-84
-22
39
0
1
-40
0
3
10
-7
7
1
21
-3
8
0
4
0
0
-30
-4
0
0
0
0
-5
84
0
-25
30
7
16
0
95
0
0
-58
0
0
-17
-78
0
-1
-8
4
0
-77
-48
0
46
34
10
1
9
-93
0
-6
-18
0
0
-8
-32
0
17
8
-5
1
0
41
0
-8
-2
1
-2
0
80
0
0
0
-3
0
0
-56
-5
8
6
0
0
0
-31
0
42
0
0
-3
-5
7
0
0
-7
-2
0
0
63
-6
-51
-14
-2
0
-4
-58
0
0
37
-41
0
0
-26
0
44
7
0
0
0
56
0
-1
0
0
15
0
-86
0
-5
0
-2
9
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
13
0
0
35
22
10
52
31
0
0
0
0
27
0
22
0
0
0
-2
7
2
0
0
11
0
0
44
0
0
-20
0
0
0
0
0
-12
34
0
0
0
0
13
35
0
-2
49
-53
19
0
0
0
0
0
0
0
5
19
-6
8
-7
-6
1
19
5
0
-6
-26
0
0
-26
63
5
-3
-47
-3
-5
-68
1
0
0
24
0
-8
0
-4
0
0
0
-8
41
0
0
32
0
0
9
12
-5
11
-41
4
0
2
0
-1
11
0
0
32
1
5
39
28
1
-79
-14
22
0
21
-74
0
0
34
8
0
48
-21
0
0
95
-25
0
-57
54
8
2
15
0
-7
3
-122
0
-5
18
8
-13
0
-55
0
0
-4
0
20
0
-24
44
-9
0
-6
0
0
44
23
6
0
3
0
7
-7
3
-6
73
8
8
-13
-78
0
3
8
0
30
-9
-41
-6
-8
74
19
0
24
-37
5
10
8
8
2
8
-47
0
2
173
-13
4
7
0
0
3
52
0
18
0
-21
0
0
4
8
47
0
-47
-2
0
0
0
0
0
18
17
0
0
0
0
0
-45
0
-32
-7
0
-1
-8
-23
0
0
-16
5
0
12
-25
0
-9
0
-1
2
-3
28
0
-10
-8
-19
0
-5
-60
-3
-27
-32
2
0
0
37
0
0
10
25
5
0
-41
0
2
0
0
48
0
46
-6
0
0
0
0
0
0
0
0
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
7
15
-1
0
-22
2
-24
47
5
0
0
0
2
-1
3
-1
0
-2
0
8
0
8
0
-40
0
0
20
0
0
-38
0
0
5
-3
0
8
72
0
0
0
0
-79
8
2
0
44
-82
2
0
0
0
0
0
0
0
-1
-69
25
31
-50
30
3
42
-84
-12
0
39
-2
44
-44
61
0
-1
-49
0
-4
-2
-62
0
0
-2
0
1
0
-13
0
0
4
-8
-111
0
0
23
0
0
0
-7
0
-11
-32
25
-2
-6
0
6
22
0
-5
-18
0
0
-23
25
-1
27
-7
49
0
-58
22
0
30
-26
0
0
70
-24
0
0
2
43
-9
-103
-34
0
1
45
0
0
2
48
0
30
-13
-32
5
34
-91
0
0
0
0
37
2
-20
-21
9
0
9
0
0
69
25
0
0
-2
0
25
10
-8
85
-8
7
0
64
2
0
-5
19
0
2
-8
-9
34
27
15
-13
-12
-89
13
0
-3
38
-34
-3
28
-90
12
0
-20
55
16
-25
-108
0
-22
0
15
22
-1
-93
0
0
0
10
24
0
-21
1
0
0
-4
0
0
-73
-7
3
0
-6
0
5
-28
0
99
-12
0
-1
5
0
0
-33
-13
-8
0
60
37
0
8
-25
-8
0
-2
-16
-6
0
-15
68
0
0
-56
0
-74
-3
0
8
2
-126
0
12
5
-6
-7
0
-23
0
-1
0
0
0
0
-34
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
33
0
0
19
-5
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
-4
0
-29
0
0
6
0
0
-68
0
0
0
8
0
5
3
0
0
0
0
-1
-8
0
0
14
-3
0
0
0
0
0
0
0
0
-2
0
0
0
13
0
-7
-16
-6
0
0
-21
0
0
1
-1
0
0
0
0
-16
-5
8
0
0
0
0
-1
33
-2
0
0
-4
0
-12
0
0
0
0
0
0
10
0
-9
0
0
0
0
0
0
24
0
0
0
0
0
-9
35
0
9
-41
2
0
-49
22
0
0
21
0
0
7
-78
0
0
43
0
0
9
28
0
0
33
0
0
-19
-41
0
73
42
0
0
0
7
0
0
-3
0
0
0
21
-2
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
-5
0
0
18
-43
0
0
-66
0
0
-1
-44
0
0
-8
0
0
0
31
0
0
-17
0
0
0
-71
0
0
-15
0
0
0
-3
0
0
0
0
-2
0
-72
0
0
0
0
0
0
-50
-1
0
0
0
0
0
1
0
-14
0
0
0
-6
-9
0
0
-7
0
0
0
13
0
0
2
0
0
0
32
0
0
-1
-3
0
0
3
0
13
-13
0
-2
0
-31
0
0
-14
0
0
0
-80
0
-3
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
0
0
1
0
8
2
4
0
0
0
16
7
37
0
0
0
-13
0
0
0
0
19
1
0
0
0
0
-63
0
0
0
0
0
-13
71
0
0
0
0
-5
33
0
0
20
-33
0
0
0
0
0
0
0
0
-84
-10
6
0
-83
25
0
54
8
2
-7
-58
0
0
-63
25
0
0
-89
18
0
-55
-24
5
1
-14
-3
0
-2
-25
0
0
0
40
-1
0
0
-19
0
0
-13
0
-3
-65
9
54
8
-3
0
16
27
1
0
40
0
0
126
-20
0
-2
67
58
0
-68
-49
0
0
-163
-3
0
35
7
0
0
-46
43
0
-61
60
0
1
69
0
0
-9
-22
0
-36
-22
-69
0
4
-21
0
0
-8
0
0
0
71
21
25
0
5
0
0
-9
-1
0
-4
0
0
-8
54
0
-7
32
39
0
40
12
0
-2
7
0
0
-55
-61
17
-4
-57
-16
0
-79
-54
0
1
2
1
0
-28
-19
0
27
73
-28
0
-31
-45
0
10
50
0
0
3
27
0
-23
24
-54
0
0
9
0
0
0
-1
0
0
93
-27
0
0
0
0
3
72
5
27
42
0
0
63
22
0
16
63
1
0
17
28
1
-49
32
0
0
-25
-45
0
54
-10
-14
0
0
-45
0
25
9
-1
0
-1
-9
0
-2
7
-4
0
0
24
0
-129
0
0
0
0
-46
-1
0
16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
4
42
71
85
17
-9
38
51
27
7
-87
-18
-67
3
23
41
-47
-4
5
-50
0
0
-26
0
0
0
-1
10
46
56
-5
3
3
0
38
-33
0
4
-2
-68
-48
0
0
0
0
0
0
0
-103
21
-60
23
-26
-16
-76
-28
-27
42
0
-59
-3
11
3
74
29
8
-12
-39
-26
56
-6
-2
-3
-55
-32
-108
31
6
22
0
-62
-118
-95
16
-7
-3
0
0
69
-56
-1
11
-85
-63
-14
-61
2
39
21
-7
-1
36
17
-8
-33
-6
-5
12
-34
-84
-14
6
24
28
49
-16
-32
-16
10
8
-46
23
-53
-109
19
-56
-12
24
-29
-77
-9
-26
-6
32
10
-3
-137
-77
-59
0
-29
-1
-1
-97
55
-32
0
1
-40
22
-1
-31
13
-1
19
-54
-7
-2
52
39
-62
12
-17
23
-1
-26
-67
15
0
92
15
-42
-52
-10
38
-3
22
48
-26
-8
-79
-42
6
54
-2
-16
12
-18
27
-17
2
0
-44
-27
-8
46
24
1
-71
-12
-5
-41
34
-45
9
-5
-43
-54
-39
3
-9
-3
-1
5
7
-49
-2
-42
31
28
14
-13
-1
50
59
-21
50
13
-2
-18
56
-9
7
-4
-147
69
-47
-36
3
0
-44
-43
-78
67
58
-5
30
-70
-4
13
-106
24
-17
-33
-1
-47
90
-31
-25
8
17
6
-24
-49
-69
-46
-3
0
13
-14
31
-23
12
-25
-32
-9
0
-29
10
0
0
0
0
0
0
0
0
0
0
0
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
-9
-5
0
5
0
-2
31
60
-2
-1
6
-3
0
0
-9
8
-30
0
0
-43
0
0
-20
0
0
0
0
-21
7
21
0
0
-4
0
-47
-70
-56
-16
-37
-53
31
0
0
0
0
0
0
0
-34
27
-30
-7
11
-31
10
-48
0
29
-18
17
0
-63
-9
6
0
5
-45
33
-52
-107
15
0
22
-5
0
-67
-4
-40
0
0
6
-10
-191
0
0
19
0
0
2
-4
0
13
68
-39
4
-96
0
46
13
-1
-4
-25
0
7
-21
-39
-2
58
-3
-3
0
23
-8
8
57
41
0
-6
13
0
83
-15
-14
46
-4
-6
15
0
-13
-27
1
-2
65
-52
0
-58
-48
124
-27
2
38
0
-1
24
0
-6
0
-28
17
15
-1
48
7
0
14
10
-6
1
-2
0
46
-34
-20
5
-1
-34
-34
73
1
0
10
41
61
60
30
-26
8
-60
70
-59
31
46
0
-75
18
-75
-35
15
-79
27
1
27
8
-40
-3
-14
-48
0
-9
-29
8
-110
15
-44
4
-1
8
-57
-49
0
-4
-2
1
0
-4
-94
0
-5
-11
20
9
-2
0
-20
-34
-22
49
10
-3
-15
4
-5
-15
-153
-133
1
0
-16
-16
35
1
3
2
57
-43
0
5
27
119
86
0
-6
1
1
-49
-85
-43
-52
-8
18
0
-9
-71
-31
-15
0
-72
0
-59
16
-4
-14
0
-39
31
5
-2
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
-1
0
0
0
0
7
0
32
0
35
0
0
-8
0
-13
2
0
0
0
0
0
6
60
0
0
0
0
24
-5
0
-3
19
-126
1
0
0
0
0
0
0
0
13
-6
0
-8
-1
-5
8
-34
-30
0
0
10
0
0
-23
-17
-3
0
-63
-4
-2
10
-22
0
0
-17
0
43
0
13
0
0
21
-1
14
0
-1
48
0
0
0
13
0
46
42
2
-6
41
0
-2
16
0
0
25
0
0
42
-1
-2
102
37
-20
0
-11
5
0
3
37
0
0
-7
91
0
19
-42
0
0
55
-5
0
0
14
0
0
-8
-5
0
-55
35
0
8
0
40
0
0
0
0
-2
1
17
-9
-48
5
0
0
0
-9
-10
-1
0
0
0
0
-28
-1
-19
46
24
0
-11
22
0
25
4
0
0
76
7
0
43
54
94
-4
-6
-10
5
-10
-89
0
8
-20
3
0
4
-26
-59
0
0
19
0
0
-32
-2
0
14
-34
1
0
42
35
20
0
19
0
0
0
0
-6
0
9
-12
-4
0
0
0
0
23
0
-17
9
0
7
-7
-47
0
2
-39
8
-4
17
-45
0
-8
34
0
1
-14
3
0
-15
56
-8
6
-2
-49
0
27
9
2
0
0
-46
0
0
3
0
0
0
-58
0
128
0
0
0
0
-1
-2
-1
0
-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
42
0
0
0
0
0
-1
-4
-6
0
0
0
0
-2
0
10
0
3
0
0
-5
0
0
15
0
0
0
0
3
5
9
0
0
13
0
-14
-2
-5
0
-41
-89
-8
0
0
0
0
0
0
0
-39
8
0
-5
32
41
0
-70
148
1
8
-1
3
16
10
8
0
0
3
-1
-1
-60
-10
0
-5
6
-1
49
17
-10
0
0
0
0
-46
0
0
13
0
0
0
-3
24
82
-32
-1
0
-2
0
8
-12
7
0
14
1
0
57
-2
-2
-9
22
20
0
-45
-57
-1
0
-82
0
0
-42
-34
0
0
38
1
-5
-2
42
0
-1
55
0
-9
3
-58
0
42
5
24
0
0
-6
0
0
0
0
-4
0
-39
5
-2
0
1
0
-2
-27
17
0
0
0
0
31
12
7
-7
-4
2
0
-2
21
-5
6
13
0
-3
-27
-24
0
-1
-30
20
-4
46
14
10
0
31
16
0
-5
-4
-1
0
-17
-2
-4
19
-23
-1
0
2
10
1
0
-25
0
1
-2
10
-4
0
-32
8
0
0
8
0
0
-57
-8
0
0
0
0
-3
28
7
22
6
0
0
0
-120
0
-4
-8
0
0
-10
-52
0
-19
16
0
0
-1
-14
-1
10
-29
-5
0
-5
108
0
32
-23
-2
0
0
-48
0
0
-9
-2
0
0
46
0
-10
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-41
0
15
0
95
19
32
-43
0
0
-8
-1
-23
0
-29
0
-11
1
0
-47
0
0
-24
0
0
0
0
3
2
-14
-1
1
0
0
13
8
-6
-4
39
-89
53
0
0
0
0
0
0
0
-18
9
31
-4
80
24
52
8
13
19
10
-22
0
-10
-29
-37
10
7
54
-24
-23
-53
-14
0
0
0
-1
-72
-1
-34
0
0
-5
51
-86
0
0
-4
0
-3
0
-100
0
-16
-13
2
13
-93
0
-31
22
8
0
-13
0
0
-10
17
40
-12
-15
-12
9
27
-12
8
22
22
4
-8
8
4
-13
-12
33
3
2
-41
2
-2
13
-33
12
-66
10
-28
0
-11
-52
-16
15
4
-36
0
0
8
-16
-41
0
8
-103
-30
0
-18
-1
0
-3
27
-2
1
0
0
22
-25
47
-81
44
-53
-4
-17
-14
19
-1
4
-5
9
-15
17
-34
52
-29
-4
-2
50
12
5
20
-17
43
-19
-34
-16
75
-5
-73
-69
-29
-21
-30
0
0
-55
-1
-7
5
-83
0
0
-48
27
-66
0
21
20
0
2
15
-9
0
32
-68
-2
0
22
0
-13
11
-3
-5
8
6
7
-2
3
4
-8
-41
-20
0
24
-24
5
-131
52
-13
29
-34
-15
33
47
-3
-55
15
41
-20
0
55
-1
33
8
3
12
0
8
19
-1
-49
-1
-45
0
93
-7
-1
10
0
-38
-13
67
1
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
-96
0
0
0
0
20
9
1
2
0
0
-31
0
5
0
3
0
-6
0
0
-7
0
0
4
0
0
0
0
0
5
-48
0
0
0
0
-49
34
-1
0
48
-6
7
0
0
0
0
0
0
0
-107
-37
0
-3
-44
0
-15
-19
84
-8
2
-41
0
-36
-31
2
0
13
-68
0
-63
-70
-24
0
0
-22
0
-50
-7
25
0
0
-6
0
4
0
-1
-7
0
0
0
-7
-1
-2
-31
-27
-3
0
0
44
-8
0
0
-26
0
0
-49
-22
0
7
29
-2
0
-45
-28
0
5
-40
0
-1
-11
12
10
-3
28
0
0
-49
-9
0
0
-35
0
-8
4
-83
0
-63
-25
0
7
-8
18
12
0
8
0
-5
0
17
-15
99
0
0
-1
0
-25
12
2
0
0
0
-55
6
9
-8
-66
0
0
-11
14
0
0
-82
0
-6
-44
32
0
-9
79
0
0
36
1
0
-37
41
0
2
-21
19
0
8
-19
0
-7
15
42
0
0
16
3
84
-12
16
0
21
4
-2
17
0
3
0
17
0
4
-12
0
-21
-25
0
0
0
0
0
-2
1
69
4
0
-4
30
20
0
0
37
-6
1
9
33
0
-72
4
0
0
-5
4
-3
10
-31
4
0
6
15
0
-57
49
0
42
0
-7
0
-3
-43
0
11
0
-21
-1
-71
-22
0
-32
0
18
3
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
46
-5
-1
4
-1
0
-69
29
0
-1
5
19
0
0
49
0
26
0
-6
0
0
3
-9
0
0
2
0
-2
-2
40
0
-3
7
0
36
21
-2
18
-39
-1
0
0
0
0
0
0
0
0
-67
-2
3
-3
-28
-11
0
-25
-72
2
-4
14
-1
0
-12
41
-3
-1
-19
-46
0
42
40
4
0
-106
42
0
-16
20
8
0
-34
-42
7
0
-16
-32
0
0
10
0
0
17
-3
-21
-8
20
0
54
16
-7
0
5
-1
0
13
20
18
59
33
45
0
-12
47
-22
45
30
44
0
-43
-58
0
19
-29
-20
0
-5
-25
0
0
12
50
-1
-74
-27
0
-15
-13
-6
0
-67
-1
0
-3
4
14
2
0
2
-77
-59
0
19
0
0
1
-50
-1
-5
0
0
23
44
-64
42
111
20
0
-10
10
-4
-20
10
-2
0
71
47
-15
-47
56
22
3
-39
2
1
25
-14
0
0
-28
-38
14
5
-16
24
-5
140
16
0
1
28
15
0
46
21
-2
-13
26
-100
0
0
3
15
-12
0
42
0
0
5
-58
3
-18
-14
0
1
-2
0
22
7
-2
0
-22
21
-2
41
97
-22
0
48
-14
29
59
-2
30
0
2
-22
5
-54
-3
94
0
107
-53
-8
-52
-18
-6
-9
-4
-5
0
-10
-26
10
-4
-2
14
-2
32
1
25
1
0
-20
-5
7
-2
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
39
-14
43
11
-27
-38
-2
43
0
0
63
0
15
0
0
-6
0
3
-8
-3
7
45
-43
-3
21
-50
1
7
-47
-55
24
16
-13
-23
0
0
0
0
0
0
0
4
-70
51
19
-49
-40
-16
-101
-25
-97
-5
-95
-26
-14
-59
11
-9
-5
8
-47
-2
-42
-64
2
-5
8
-15
-34
-1
-7
0
0
25
-5
-9
0
-4
-24
0
-1
-32
-35
-1
-1
-63
-56
-29
14
0
21
1
-6
-2
-27
-5
-4
9
9
9
7
-5
-31
6
-20
-5
30
-32
2
37
-21
-41
-5
16
5
11
-61
-10
23
4
2
-2
-3
-49
-16
-41
0
17
-21
25
-8
-2
-2
-7
-1
-2
25
-80
-25
0
5
-89
-90
0
-4
-14
-1
5
-81
0
2
15
-19
-113
-29
33
1
-24
5
64
6
-2
-5
-8
3
8
107
-59
8
48
7
-28
-44
-24
7
4
100
-40
-14
-39
-59
-41
3
21
-40
-10
-20
-14
-12
-13
49
-8
14
-41
4
-13
-15
-4
35
1
-54
6
0
-23
52
8
-6
-41
12
0
-4
23
-28
31
-11
-6
-9
-23
-22
28
-66
-104
-72
-30
-19
-3
-112
26
-33
-41
-29
7
39
-90
44
33
-46
8
-16
38
-48
16
-67
-83
-2
-13
-2
20
-45
-30
1
20
-18
-4
72
60
-48
-19
-3
-7
7
10
8
19
-13
0
-30
-39
-16
5
-63
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-54
0
0
0
-5
-3
0
6
0
-53
0
0
-54
0
0
-10
0
0
0
0
0
-19
-31
0
1
-2
0
-40
13
41
0
-42
-64
-8
0
0
0
0
0
0
0
-56
98
0
8
-10
-31
24
-23
-177
0
27
39
6
-34
-16
0
75
-42
-72
-5
-15
-13
3
0
0
22
8
-14
-2
-74
0
0
5
2
-67
0
2
-71
0
0
2
5
0
-38
-37
13
8
-8
0
4
22
-6
-4
-18
0
0
32
44
0
-4
-37
-76
2
0
-5
8
16
-15
7
0
56
36
13
-13
-9
14
0
52
0
5
-6
-39
-8
7
19
-46
-1
-100
-51
15
6
-8
-17
0
0
-14
-13
-52
0
-1
-50
-38
0
-6
-1
0
0
-6
0
0
4
0
1
41
-34
59
-25
-17
-9
13
5
-6
5
-83
-3
0
16
-19
13
-42
-28
-46
-3
-42
83
0
4
-18
5
12
-99
0
-9
1
-1
-34
91
-6
-34
0
-4
-49
0
-30
44
40
-1
0
81
-10
-116
0
14
0
0
0
-51
2
5
9
9
9
0
0
4
-5
-13
4
40
25
19
-2
28
22
4
36
-31
-8
0
29
-55
-2
56
59
-4
17
-23
4
-1
-24
-11
7
-13
-5
0
49
-29
-88
-13
-5
3
-18
0
13
-13
5
-2
-9
75
-8
-128
-3
0
-12
0
3
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
49
0
0
-5
0
0
-48
0
0
0
0
0
1
7
0
0
0
0
0
1
0
0
-9
23
0
0
0
0
0
0
0
0
-2
0
0
0
4
21
3
30
-28
0
0
84
0
6
75
-2
0
0
20
0
-1
-4
70
0
0
2
0
6
1
0
0
0
-4
-2
48
0
0
-2
0
0
0
9
0
-23
41
-3
-12
0
0
-15
19
0
10
-5
0
0
66
4
0
102
26
14
0
-82
53
0
2
-8
1
0
-51
-8
0
0
-63
-2
0
-8
-35
0
0
-23
0
0
-4
-18
0
-1
9
0
0
0
21
0
0
0
0
0
0
-4
-8
-3
0
0
0
0
4
23
0
0
0
0
0
47
0
0
-9
0
0
14
-53
0
0
102
0
0
-1
53
0
19
41
0
0
-13
89
-4
13
-49
0
-1
1
-86
0
-6
-39
4
0
0
2
0
0
-7
0
-4
0
-3
0
0
5
0
-18
0
52
0
0
0
1
5
0
19
8
0
-1
0
0
0
-60
0
0
9
0
0
-3
13
0
3
-18
0
0
0
70
0
18
-4
0
0
0
9
0
0
5
-1
0
-2
-82
0
32
0
0
0
2
-63
0
0
12
0
1
0
-47
0
-8
0
4
0
0
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-97
0
0
42
0
0
-13
0
0
0
0
0
-3
-12
0
0
0
0
0
7
0
0
16
-3
0
0
0
0
0
0
0
0
11
-3
0
4
-35
-3
-1
-34
-3
0
0
-1
0
2
30
0
0
0
50
0
-2
-3
0
0
0
0
0
-3
0
0
0
0
0
0
75
0
0
-1
0
0
0
0
0
-16
0
-1
25
0
0
0
-4
0
0
-9
0
0
-14
-102
-1
72
-46
7
0
-5
-8
0
9
-18
0
0
-18
-1
0
0
-16
-2
0
23
43
0
9
-18
0
0
1
42
0
-7
1
7
0
0
-43
0
0
0
0
0
0
20
-1
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
-14
0
0
-1
-19
0
0
20
0
0
13
-80
0
0
-10
-3
0
-2
-60
0
0
-32
0
0
-3
-59
0
0
5
-2
0
-8
2
0
0
-4
0
0
0
-5
0
5
1
0
-3
0
-65
0
0
0
-1
0
0
-54
0
0
0
0
0
0
-24
0
-2
-12
0
0
0
19
0
3
31
-1
0
0
-24
0
3
-1
0
0
0
-9
0
0
-2
0
0
0
5
0
-2
-1
0
0
0
41
0
0
-1
5
0
0
-75
0
-4
1
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
2
0
0
0
0
-31
0
0
29
0
0
-39
0
0
0
0
0
4
-2
0
0
0
0
-3
4
0
0
-24
-3
0
0
0
0
0
0
0
0
-49
-5
-1
0
25
-2
0
-91
-3
0
0
5
0
-1
-32
25
0
1
59
0
7
-8
31
0
0
22
0
-1
0
1
0
0
0
0
-92
0
0
0
0
0
0
-5
0
-50
-1
0
0
10
0
0
43
0
0
-2
0
0
-16
50
0
-34
-45
-3
0
-75
36
0
0
-51
-1
0
-13
-42
0
0
-30
0
-1
13
-41
0
0
25
0
13
2
52
0
-20
-2
-24
0
0
14
0
0
0
0
-1
0
21
-3
6
0
-3
5
5
-75
0
0
0
0
0
3
-6
-5
-4
0
-3
0
18
-23
0
1
9
0
-1
-4
-89
-3
-2
23
3
0
4
-45
0
0
-15
0
0
0
-35
0
5
-9
2
0
-2
9
0
0
-1
0
-4
-3
-95
0
0
0
-2
-8
0
-25
0
0
0
0
0
0
11
0
0
0
0
0
0
-25
0
1
0
0
0
0
50
0
0
-7
0
8
0
-66
0
14
6
0
-2
25
40
0
0
25
18
0
0
-68
0
-8
-1
0
0
0
2
0
0
0
53
0
0
-58
0
17
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
8
3
0
0
0
0
36
0
0
-1
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
-7
9
0
0
-3
-1
0
0
0
0
0
0
0
0
-60
4
0
0
-104
0
0
-87
-1
6
0
-1
0
3
-20
0
0
0
26
0
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
50
0
0
16
0
0
-8
31
0
0
3
0
0
3
-20
0
-57
-42
-3
0
4
-69
0
13
-64
0
0
0
-47
0
0
-42
0
0
5
-31
0
0
-45
0
0
-2
-68
0
-75
8
5
0
0
7
0
0
0
7
-3
0
-43
-1
0
0
0
0
0
-8
0
0
0
0
0
0
-69
0
0
16
0
0
14
-64
0
0
-56
0
0
-24
46
-2
0
-30
0
0
19
-5
0
0
-21
0
0
-5
-25
0
0
-22
0
9
0
26
0
0
-2
0
-1
0
-50
0
0
8
1
-2
0
42
0
0
0
-2
0
0
14
0
0
0
0
0
0
-5
0
4
0
0
0
0
8
0
-5
-2
0
0
5
16
0
0
3
3
0
0
31
0
0
8
0
0
0
-63
0
31
-16
0
0
0
51
0
0
3
0
0
0
-52
0
-21
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
37
43
0
10
34
2
0
-27
0
5
0
4
0
0
-5
-4
0
0
0
0
-1
-71
-112
-10
-1
0
0
-81
21
-5
0
-57
-4
0
0
0
0
0
0
0
0
6
40
0
-1
5
6
0
-39
35
8
0
17
0
1
-65
41
7
-2
38
-43
0
53
17
5
1
-47
-12
0
0
32
0
0
2
-21
-4
0
-4
-86
0
0
-5
0
-5
-29
27
14
-8
45
0
-2
-18
12
-48
-30
-2
0
-53
5
8
-13
16
6
0
34
58
2
9
33
1
0
-4
-5
0
21
-8
-2
0
-5
-53
0
14
-40
-8
0
-8
-15
0
12
8
-28
0
-45
22
0
0
-44
38
0
0
-7
-82
-67
0
39
0
0
-39
-62
8
0
0
0
56
5
24
-5
25
24
-5
23
31
0
0
6
-5
0
31
33
0
10
72
39
0
12
16
15
46
51
47
0
-53
-10
1
23
28
-43
0
-31
-26
6
4
-8
1
-4
52
43
-2
0
-24
34
8
0
13
-2
-4
0
18
0
0
-20
-100
41
14
2
0
18
2
-7
-54
40
0
0
-23
13
0
-34
-37
-42
0
-93
12
0
-28
-6
8
1
-7
-14
0
7
11
5
0
15
-16
0
13
38
-5
0
45
-14
0
13
80
53
0
13
-11
0
25
39
22
0
0
6
4
-20
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
5
-31
0
0
-13
0
0
-97
0
1
0
1
0
-13
40
23
0
0
0
5
-6
4
-1
9
-138
-2
0
0
0
0
0
0
0
29
45
0
6
16
8
23
22
19
-6
-2
-76
-1
-77
91
84
0
-8
-56
36
-67
12
119
0
6
78
-4
-84
0
-62
-1
0
-70
-52
-64
0
0
35
0
6
-1
-3
0
-13
66
8
-5
-2
0
-61
21
0
2
5
6
0
-37
-11
0
-16
-9
-23
0
17
-28
-2
21
-9
-4
-9
33
19
0
0
-9
-15
6
-2
-1
0
19
-16
9
-20
29
17
-3
-52
-110
1
1
0
-93
0
0
-13
0
16
0
-3
31
4
-16
-6
0
0
-26
-19
-2
-4
0
0
5
15
-5
-8
-9
-13
-5
-41
-19
-2
-5
-46
4
-1
-31
-53
0
10
-34
20
0
-31
-5
-25
33
-1
-32
1
3
53
2
-4
18
11
12
2
5
0
-4
-43
-2
-72
0
-69
0
-7
-13
20
12
0
-53
3
0
0
22
-8
0
-117
-13
-7
0
0
0
-2
7
5
-13
-22
1
1
-13
-29
0
8
3
-8
0
-6
-11
0
49
-20
30
-1
-10
-101
0
-4
-5
-41
16
0
-3
2
-8
73
21
3
-6
-6
-2
-2
-17
48
-7
0
-48
0
-25
-4
-4
-7
0
-107
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
-128
0
-4
-15
0
0
1
0
0
2
0
6
18
-47
0
12
0
0
-49
20
19
8
-28
3
-1
0
0
0
0
0
0
0
-9
-24
-19
7
-70
-47
33
-3
-5
-5
41
15
24
-10
-87
0
0
-1
40
-36
-31
-31
0
8
23
18
3
-27
13
-28
0
-2
-22
35
-80
0
-1
-51
0
0
0
-3
0
11
-56
-54
0
47
0
2
-20
7
6
11
0
0
-22
68
-12
-46
-56
-16
0
8
4
8
3
-52
10
0
-69
-22
-7
-1
-83
-26
-8
51
40
5
0
47
-2
-3
31
0
-2
-14
23
18
-4
-2
-53
0
-1
0
-8
-6
0
39
24
33
1
12
0
0
-6
13
22
8
0
0
14
15
-66
71
-10
-42
9
-25
32
30
21
-61
-1
-8
-52
-73
-49
-95
-32
76
-12
0
-35
-15
5
23
-2
-13
31
66
-2
-11
12
26
-6
13
0
-5
2
1
51
-8
-19
-52
0
-4
-31
35
-124
0
-26
-1
0
0
53
3
0
8
18
4
12
0
4
24
-59
47
4
-73
1
0
4
24
2
20
35
-49
0
-3
44
13
31
-74
7
-6
-3
-63
-2
-55
24
-69
2
-49
-23
0
-17
-63
-5
-2
14
0
0
-8
-107
20
-17
0
23
0
12
-23
0
-6
0
-10
-3
0
-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
-2
0
0
-23
0
0
-53
0
0
0
0
0
0
-3
0
0
0
0
0
7
0
0
5
-10
0
0
0
0
0
0
0
0
93
-16
0
6
-56
-21
10
-31
1
0
0
-35
0
-1
0
24
0
0
-24
13
32
-7
-14
0
0
9
0
13
0
-2
0
0
0
0
73
0
0
-4
0
0
10
3
0
30
2
-1
-2
0
0
1
-31
0
0
0
0
0
-25
-28
0
67
71
68
0
62
22
0
0
12
0
0
-74
28
0
-10
134
-13
0
19
17
0
0
1
0
0
-1
-43
0
14
-3
0
0
0
-35
0
0
0
0
0
0
-24
7
76
0
-3
0
0
-8
-5
0
0
0
0
-1
-6
0
2
7
0
8
-3
-34
0
0
49
0
0
4
-13
0
4
-48
5
0
47
-70
0
0
-38
-5
-4
0
13
0
-4
-10
0
3
-1
-102
0
0
-8
2
6
-3
-22
0
0
-4
-5
5
0
-8
0
0
0
0
0
0
-25
4
1
-3
0
0
0
4
0
-6
0
0
0
0
17
0
0
49
0
0
-42
1
0
13
-10
0
0
4
-49
0
0
8
0
2
-6
36
0
-23
0
-8
-1
0
-27
0
0
0
-8
0
0
-59
0
-5
0
0
4
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
-80
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
4
-13
0
0
0
0
0
0
0
0
-14
8
0
0
4
-1
0
19
20
0
0
-1
0
0
-1
41
0
0
24
0
0
-2
39
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
9
0
0
0
10
0
63
1
0
0
0
0
0
19
0
0
-2
0
0
-13
2
0
-68
42
-1
0
-4
-72
2
0
-23
0
0
5
8
0
-3
13
5
0
-5
21
0
0
4
0
0
0
-45
0
-20
3
-3
0
-1
-10
0
0
0
0
2
0
-10
-4
1
0
0
0
0
-31
0
0
0
0
0
0
-8
-7
0
0
0
0
-4
-25
0
0
4
0
0
12
-30
0
0
15
-4
0
0
6
0
0
-8
0
0
0
42
0
0
-9
0
-3
0
-41
0
0
-1
0
-2
0
-41
0
0
0
0
-1
0
-100
0
0
0
0
0
0
-23
2
0
0
0
0
0
-24
0
2
0
0
0
0
-29
0
0
0
-3
0
6
-9
0
0
2
0
0
0
-25
0
0
-1
0
0
0
19
0
-1
-1
0
0
0
-5
0
0
0
0
0
0
10
0
-2
0
0
0
0
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-12
0
13
0
0
-3
0
0
0
0
0
0
-28
0
0
0
0
-5
-21
-2
0
-41
-25
-34
0
0
0
0
0
0
0
0
0
-4
-1
-57
-29
-52
-42
-31
0
0
41
4
-18
-26
0
0
0
-1
36
-10
37
-28
0
0
4
18
8
-12
50
0
0
8
4
15
0
0
-93
0
0
-5
26
0
9
4
-1
-14
-1
0
8
3
0
0
-12
-6
4
-29
13
0
-7
-88
-49
0
-22
-12
5
-3
-24
0
0
-80
-15
0
0
-61
29
-10
-40
-22
-4
-13
-41
-7
-17
48
-26
0
-9
45
-23
-12
45
1
0
-1
0
-19
9
0
4
-42
-14
0
-88
0
0
-14
14
0
0
0
0
3
-9
-10
0
-32
15
-7
10
-6
0
0
0
-3
46
-27
-22
56
-20
-65
31
-19
-36
-38
-8
-8
-9
-6
34
3
-22
14
-2
18
-69
-13
9
7
0
14
-4
-12
5
42
-24
0
0
0
-15
-22
0
-15
3
0
0
-24
8
0
-40
1
-1
0
-6
14
0
-86
0
-70
-1
1
-22
-2
-20
1
-1
52
-15
10
1
-24
0
-33
34
-5
4
8
6
0
-8
13
-79
-56
-8
-47
-1
-102
34
-12
5
10
9
0
0
-13
-32
1
0
1
0
-44
0
15
2
0
-48
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-59
0
0
13
0
0
0
0
0
-60
49
0
15
0
9
31
-39
0
0
18
-2
-27
0
0
0
0
0
0
0
-1
65
0
-29
-24
-4
-4
-29
6
0
0
28
0
-3
-101
-2
0
0
-61
5
-33
-29
-16
0
0
-42
0
13
1
18
0
0
-4
0
19
0
8
-13
0
0
0
32
0
5
23
-5
6
0
0
-11
-17
0
0
-4
0
14
-5
27
0
34
1
0
0
-93
-90
0
-5
0
0
0
20
-121
0
-8
-27
0
-8
-11
-48
0
0
-62
0
-5
-71
47
0
9
40
1
8
4
-13
0
0
-7
0
-23
0
-26
-24
0
0
0
0
-4
-25
8
-3
-5
0
3
-2
16
0
39
52
0
-5
-69
-2
0
-6
-50
0
10
33
-69
0
0
23
-7
7
-36
22
0
24
-86
0
-14
77
-10
0
1
44
0
-4
53
-12
0
0
-2
0
47
1
-3
0
1
43
0
-68
0
-6
17
0
0
0
38
0
50
5
0
8
0
0
0
-12
0
92
7
0
0
10
51
0
0
-40
0
16
14
10
0
-76
51
0
1
6
75
0
-2
-9
0
8
14
-3
0
34
10
0
7
8
-35
0
0
22
0
3
0
57
0
67
-8
0
-2
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-33
0
0
0
0
0
7
0
0
0
0
3
-31
10
-3
6
0
0
50
-56
-6
-3
-51
-5
-1
0
0
0
0
0
0
0
-40
-37
0
1
-82
43
0
-1
50
0
-2
-7
0
0
72
11
-8
-2
2
38
0
-36
-13
8
0
17
-5
0
49
24
0
0
11
40
-2
0
0
36
0
0
0
0
-1
-30
-64
52
15
20
0
5
11
0
0
27
-3
0
16
-16
0
40
-4
-26
0
-32
34
0
25
-15
3
0
-90
-9
0
5
-26
2
0
7
14
0
6
24
57
0
76
-27
0
-51
7
1
0
110
15
9
5
59
24
0
0
39
-78
-32
0
-50
0
0
-20
39
-7
-1
0
0
-62
-21
13
-3
-12
34
4
11
42
0
-15
-13
-6
0
-23
18
7
15
-45
-57
-2
51
17
-13
-10
89
-8
0
-16
-2
-8
-2
37
32
0
-26
-20
0
10
-42
3
0
0
-7
-7
25
-42
-15
-3
0
33
5
3
0
1
0
0
8
41
-17
5
9
0
-8
27
-4
19
4
0
10
26
50
0
7
59
10
0
58
54
0
61
79
-8
0
50
-59
0
-34
4
-3
0
-14
-1
0
76
13
-2
0
-9
-12
0
-42
-58
-1
0
8
-30
0
25
-52
2
0
0
7
-33
-48
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
14
1
-3
0
0
0
0
0
0
0
-16
-4
0
0
-45
0
0
86
-12
1
0
-9
0
3
8
-3
0
0
-29
0
1
-1
0
0
0
19
0
0
1
-35
0
0
-1
0
-1
0
0
-8
0
0
0
0
0
-46
0
0
0
0
0
0
-27
0
0
0
0
0
-13
-43
0
26
24
-8
0
-6
12
0
0
25
0
0
-2
24
0
0
-32
0
0
0
-30
0
0
1
0
0
0
-2
0
-12
-1
0
0
0
34
0
0
0
0
2
0
-12
-3
0
0
-3
0
0
40
0
0
0
0
0
0
19
0
0
0
0
4
0
-31
0
0
0
1
43
-1
-7
0
1
0
0
0
0
-118
0
0
-2
0
0
0
-8
0
0
13
0
0
7
53
0
0
0
0
-6
0
45
0
0
8
4
-12
0
-74
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
-15
0
1
3
0
0
0
-33
0
0
0
0
2
0
-5
0
-2
-1
0
0
0
-74
0
0
-2
-6
0
0
-42
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
42
0
0
12
-5
0
0
0
0
0
10
3
0
-2
5
0
0
0
0
0
0
0
0
-44
-5
0
12
15
2
0
7
-42
0
0
56
-3
7
21
-2
0
-4
68
2
0
3
-50
0
0
7
0
-1
-31
0
-1
-2
3
-2
-7
0
0
-13
0
0
1
0
0
-13
0
-4
4
0
0
53
-17
7
0
0
0
0
44
12
-2
14
24
-37
0
-75
5
-2
5
6
0
0
18
-6
0
0
-30
-10
0
-64
-20
0
0
-22
25
0
75
-50
0
-37
25
0
0
0
0
5
0
0
0
-2
0
-15
-6
-22
0
0
0
0
-14
0
0
1
0
0
0
-42
45
-5
-8
3
0
51
-26
-4
2
-47
0
0
-43
85
0
-8
44
1
4
22
-29
1
0
-41
6
-1
53
2
0
-2
-1
-1
0
-1
-51
0
0
16
1
-2
0
0
0
0
2
8
10
0
-69
0
-1
0
0
0
0
-73
-6
27
0
-1
0
-5
6
14
-66
12
0
2
17
-83
10
-5
-7
13
0
0
-25
0
-54
-34
1
0
-16
-45
0
-10
25
45
0
0
-21
0
-102
-1
0
0
0
-7
0
0
-13
5
0
0
0
0
-41
-2
-2
12
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
70
0
0
0
0
0
0
0
0
0
-67
5
0
0
75
-1
0
-57
-1
0
0
0
0
0
-7
0
0
8
-8
0
5
-5
3
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
5
0
0
0
-5
0
-43
0
0
0
0
0
0
46
0
0
0
0
0
5
66
0
-49
-87
0
0
-5
-78
0
0
15
3
0
-14
26
0
0
-4
0
0
-1
-18
0
0
-5
0
0
-1
6
0
-42
4
0
0
0
0
0
0
0
0
0
0
-31
13
0
0
0
0
0
23
-4
0
3
0
0
0
-111
0
0
5
3
0
2
-66
0
0
-9
0
0
2
-44
0
0
8
0
0
2
79
0
-1
-17
0
0
0
3
0
4
2
0
0
-2
47
0
0
5
0
0
0
-6
0
0
0
0
19
0
49
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
0
0
0
46
0
2
0
0
0
0
-15
0
3
0
0
0
0
19
0
-1
0
0
0
0
8
0
0
0
0
0
0
-75
0
-8
0
0
8
0
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-1
-8
-51
-75
-17
8
23
-53
18
17
104
11
-48
-45
33
0
1
7
0
0
0
0
0
0
0
-4
31
10
4
-12
17
-30
-2
2
-27
-23
17
8
18
-53
69
-25
-31
-7
29
32
-14
-56
-54
-33
-2
-13
12
-30
9
-21
55
80
7
9
-49
27
-22
-21
-10
-70
11
42
4
18
12
-46
-8
28
38
-21
-6
-17
-25
-67
-59
13
-2
-48
6
-22
6
-55
15
-19
-52
-62
-17
19
-38
7
-2
-39
-87
-2
-20
-1
-9
4
24
-19
4
-36
-39
2
-5
-16
-74
24
-4
5
-30
-9
16
-45
17
53
3
-41
1
-42
-43
-48
3
48
-46
2
-17
11
-94
-94
-39
-22
-11
0
-48
-14
-2
-70
3
-23
12
-53
-24
64
41
2
-3
40
-2
-2
-13
22
22
5
-73
-31
4
-70
-20
4
-3
13
-26
-13
-3
11
-19
-12
-5
38
-5
-10
-6
10
-12
40
-6
-43
-26
9
-5
-8
-13
-42
13
44
28
-21
-8
-30
-12
-34
-35
-13
-29
4
-32
4
-42
-46
-76
-30
-6
-45
-44
-23
-50
19
-21
-19
-25
-19
-23
28
-25
0
0
53
-30
-11
-6
30
-47
2
24
-71
4
32
-38
22
7
-62
66
-48
-7
-7
65
-1
-18
-39
-35
6
13
3
25
-17
54
-12
-41
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
-9
0
0
0
0
0
0
0
-75
0
0
0
-41
0
0
-144
0
3
0
-21
0
0
1
0
0
0
-12
-13
0
2
-6
0
0
-2
0
0
0
16
0
0
0
0
-2
0
0
-8
0
0
0
0
0
-30
0
0
0
0
0
0
-31
0
0
0
0
0
-10
-32
0
-8
12
0
0
5
-20
0
0
25
0
0
55
-39
0
0
30
2
0
-5
-23
0
0
-1
0
0
1
0
0
-72
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-30
0
0
0
0
0
0
-66
0
29
-1
4
0
0
-97
0
-1
-3
0
0
-1
-72
0
-3
2
0
0
12
13
0
0
0
0
0
0
15
0
0
8
0
0
0
32
0
0
0
0
0
0
-16
0
0
0
0
-1
0
-18
0
0
0
0
0
0
24
0
0
0
0
0
0
42
0
42
0
0
0
0
-43
0
0
0
0
0
7
46
0
8
0
0
0
0
8
0
0
2
0
0
0
-18
0
32
0
0
0
0
-35
0
0
0
0
0
0
-8
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-22
0
0
0
-84
0
0
31
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-18
0
0
1
0
0
0
0
0
-28
0
0
0
0
0
0
42
0
0
0
0
0
0
9
0
41
-12
0
0
-20
8
0
0
0
0
0
10
-3
0
0
-32
0
0
17
3
0
0
2
0
0
-1
32
0
-42
9
0
0
1
4
0
0
0
0
0
0
15
0
5
0
0
0
0
-28
0
0
0
0
0
-2
-3
0
0
-4
0
0
4
-92
0
0
2
0
0
0
-41
0
0
-8
0
0
-12
-29
0
0
-7
0
0
-6
26
0
0
-8
0
0
-1
5
0
0
0
0
0
0
2
0
0
0
0
-9
0
17
0
0
0
0
0
0
30
0
0
0
0
0
0
35
0
0
0
0
0
0
7
0
0
13
0
0
0
6
0
1
-1
0
0
0
55
0
0
0
0
0
0
-41
0
-3
0
0
0
0
5
0
0
0
0
0
0
3
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
-5
-52
-49
-3
-16
-2
0
-13
-21
4
5
-31
-5
0
0
0
0
0
0
0
0
-30
-67
-8
8
-18
-64
0
5
-8
24
-2
-27
-3
0
-2
45
0
33
-31
-8
0
34
45
8
-4
7
-22
0
14
94
-3
10
-2
-15
-1
0
-10
-56
0
-1
75
0
6
-13
-42
-54
-6
19
0
8
11
-5
-52
-9
-4
0
33
30
18
24
-2
-48
0
23
21
6
6
-14
-17
0
29
-9
-10
-49
-25
35
0
-44
-1
-1
-42
-9
-38
0
-26
-51
0
-4
30
-13
0
3
-15
19
0
-3
-9
13
0
-12
-163
12
-1
39
0
-22
-3
21
13
10
15
0
19
13
-11
0
36
67
0
17
25
1
18
-2
17
0
38
28
-7
-79
51
26
0
65
34
28
-60
17
24
0
34
4
2
-92
-1
-18
0
91
3
-6
65
5
-29
0
30
27
45
31
-4
37
0
0
-17
24
-17
-8
-5
0
-7
28
12
-24
-13
-35
-1
59
9
42
49
-1
-1
-4
54
26
0
-85
-2
-93
-7
99
-3
6
-10
76
7
0
9
28
10
-36
56
-29
0
101
2
19
17
77
-50
0
-5
17
16
71
5
55
0
27
-3
-3
16
-18
-7
0
0
-3
-42
92
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
-5
0
0
1
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
8
2
0
0
0
0
0
0
0
0
-7
0
0
0
41
0
0
-10
0
0
0
-2
0
0
2
0
0
0
-7
0
12
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-25
0
0
0
0
0
-1
-5
0
3
-1
0
0
3
-1
0
0
6
0
0
0
44
0
0
-3
0
0
31
-66
0
0
10
0
0
1
-15
0
-3
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
2
0
0
1
31
0
7
-1
0
0
4
13
0
0
0
0
0
0
-6
0
0
2
23
0
0
34
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
-1
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-41
0
0
0
2
-9
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
5
20
-3
7
-51
10
2
-76
14
0
2
19
0
0
0
0
0
0
0
-5
8
2
-10
1
6
-11
4
-17
-54
3
-4
14
-18
-13
-20
-26
-10
-8
-5
0
-7
-16
-64
-76
-8
-23
-2
31
13
-139
-73
3
-4
4
16
-10
41
-77
-126
32
9
50
-1
-2
12
37
48
-26
31
-11
-28
12
28
-8
28
-26
-3
-52
-11
-8
-6
39
-2
-1
-64
-48
-1
-26
-60
12
-10
-104
36
-9
5
-34
0
-3
-33
100
-5
35
-23
-1
2
-45
-2
-22
5
-2
-14
-6
-33
-9
-38
35
1
35
-4
5
20
20
-19
31
148
-7
15
-47
-58
-22
53
8
-9
32
35
5
1
-10
14
-14
-37
45
-6
-17
-17
12
-1
3
16
-1
-32
12
-12
-9
-34
-11
7
-12
7
45
-3
-22
52
2
-6
24
-15
-9
26
38
-14
36
-6
-18
-7
-16
18
-52
5
22
-52
1
-67
36
-49
27
-9
-81
-12
-19
-47
-5
55
61
11
-12
-85
6
-8
-5
-6
47
-8
9
11
-10
57
-94
20
-11
-40
21
15
-6
-39
-10
1
26
8
-2
-24
-39
-24
-4
-12
-9
-26
-59
36
3
-14
-26
43
8
-3
-23
14
0
-92
9
19
-20
-10
-4
15
-6
-9
6
-33
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
17
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
-1
-1
0
0
-1
-9
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
-1
0
0
-42
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
7
0
0
0
0
0
0
-14
0
13
13
0
0
14
-51
0
0
-25
0
0
0
-24
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
0
5
-5
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
41
0
0
0
0
0
0
-33
0
0
2
0
0
0
47
0
-2
-2
0
0
0
33
0
0
3
-4
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-19
0
0
0
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
16
-4
0
0
7
0
0
66
-5
0
0
0
0
0
0
0
0
0
7
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
2
0
7
-5
1
0
0
0
0
47
0
0
0
0
0
0
-15
0
4
5
0
0
-4
47
0
0
-5
0
0
6
-2
0
0
-8
0
0
1
-25
0
0
8
0
0
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
68
19
0
0
0
0
0
-2
0
0
0
0
0
0
-50
0
0
0
0
0
8
-7
0
0
1
0
0
6
-33
0
0
4
0
0
-8
-50
0
0
-4
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
-3
0
4
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
47
0
0
0
0
0
0
14
0
1
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-6
-1
0
0
-4
70
0
0
0
0
0
0
0
0
-5
0
0
0
-46
-27
0
-40
0
0
0
27
0
0
9
0
0
0
-79
-5
0
49
1
0
0
22
0
0
0
-9
0
4
0
0
0
0
0
46
0
0
0
0
-4
-38
4
16
0
0
0
-8
-76
2
1
5
0
0
-46
-20
0
82
-8
15
0
33
61
0
0
67
-1
0
5
45
0
10
-23
48
0
-38
-9
0
0
-23
0
0
0
-21
0
16
21
2
0
0
29
0
0
0
0
0
0
15
-19
4
0
-1
0
0
16
-8
0
0
0
0
18
-22
2
0
13
0
0
-8
21
0
-1
43
0
0
-2
-5
0
-4
19
-8
0
0
3
0
13
6
0
0
0
26
0
0
-47
45
0
13
-7
0
-2
-23
0
0
0
-8
0
3
-22
-17
0
0
-3
3
4
0
0
0
0
-6
7
-3
0
0
0
-2
47
0
11
0
0
0
0
116
0
0
-8
1
0
5
90
0
-34
-16
-7
0
0
40
0
0
16
0
0
0
-75
-8
112
10
0
0
0
11
0
8
0
3
0
0
-1
0
31
7
0
0
0
22
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
0
-6
5
0
0
0
0
0
0
0
0
-56
1
0
8
56
2
-5
-12
-1
0
0
-9
0
0
34
-2
0
0
37
0
8
1
0
0
0
6
0
0
0
-1
0
0
0
0
-42
0
0
-2
0
0
0
4
0
45
13
0
6
0
0
0
-25
0
0
19
0
0
2
-7
0
-17
-37
0
0
17
-24
8
0
18
0
0
-3
81
0
2
-8
8
0
6
133
0
0
42
0
0
0
-25
0
50
-7
4
0
0
15
0
0
0
0
-4
0
-96
4
0
0
0
0
0
-3
0
0
0
0
0
0
-84
0
3
-7
0
0
0
-94
0
0
-12
0
0
-12
53
-5
0
-7
9
0
-5
13
0
0
-9
8
0
0
2
0
0
-4
-3
0
0
37
0
0
0
0
2
0
1
0
0
-1
2
1
0
38
0
0
0
0
1
0
2
0
0
0
0
0
0
13
0
-8
0
0
0
0
-5
0
0
-5
0
0
1
-34
0
-3
-1
0
0
0
13
0
0
-27
6
0
0
-5
0
-41
0
0
0
0
-32
0
0
0
0
0
0
-103
0
-8
0
0
-1
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
39
8
-2
13
-73
2
0
0
0
0
0
0
0
-10
-42
3
-38
25
-10
-53
40
-47
-13
-15
62
0
-58
2
-36
-1
-3
-22
-16
-2
-7
88
0
-1
-16
29
22
-2
15
0
0
2
-19
-5
0
0
93
0
0
0
28
0
0
1
14
0
-4
0
-12
12
12
1
-46
0
7
-39
-27
-48
-37
6
-56
2
20
51
6
22
66
12
-8
-68
-4
0
-19
16
-56
-13
12
-20
0
1
25
9
48
42
-1
0
-58
-32
-67
14
8
12
0
-1
0
-5
-36
0
-13
-1
23
-1
-13
-5
-3
0
5
0
3
0
0
-62
2
-5
-80
-41
6
0
-25
39
15
13
-48
21
7
-8
0
15
-85
1
-30
57
36
18
-6
23
40
32
40
81
-40
-1
23
27
-21
38
62
-20
6
27
-7
3
-39
-31
28
-3
5
41
-27
-37
0
-29
24
0
0
0
-24
5
0
-4
0
51
-3
8
-43
13
-3
-62
-32
8
0
1
5
-5
-25
-30
-4
0
18
-24
-4
17
-43
19
0
75
9
-13
-58
53
13
1
68
-5
7
-82
-35
0
-21
5
44
25
8
9
8
12
0
-45
0
-42
23
-1
-58
0
-30
58
9
0
-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
-39
44
-5
39
-18
-20
7
0
0
0
0
0
0
0
-9
-1
-31
-42
-40
-58
-25
-5
30
0
-2
-32
7
-69
-1
84
-2
-2
-55
-17
-66
-58
27
0
0
-80
1
-46
-13
-57
0
0
16
-87
-6
0
6
-4
0
0
25
-6
1
-28
-4
33
25
-35
1
78
9
15
-6
33
1
18
-16
-42
5
-5
-30
-34
0
4
26
23
14
-40
-8
-42
-18
-6
5
3
-2
-27
-47
-104
4
-1
-6
-10
86
22
-122
-44
0
12
-31
-29
-11
-27
7
0
-5
-3
8
12
0
-31
0
-16
-2
-31
12
-17
-84
8
-8
5
-3
-13
23
18
-102
-72
14
-73
-69
-2
46
13
-8
-49
2
-6
-2
12
0
-17
-1
-48
-31
-60
22
-9
-1
2
-50
-66
-92
-4
61
-5
-54
-34
37
-101
31
0
-42
2
42
1
-25
20
0
4
33
-49
-46
0
-11
23
-2
0
-13
-3
0
-15
43
8
9
-10
0
-18
36
10
-36
-56
0
-3
6
-19
0
-23
-14
14
0
-26
5
8
38
59
-4
-1
-29
-14
4
30
44
0
-6
-2
-21
44
-76
-9
10
24
-20
11
0
-21
-41
-50
3
-1
14
1
29
-4
-6
11
0
-30
-22
-1
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-8
-24
0
0
0
0
0
0
0
0
-2
1
0
0
5
-3
0
-76
0
0
0
-1
0
-1
-14
0
0
0
49
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
50
5
0
0
0
0
14
-31
0
0
0
0
0
-23
-61
0
16
3
-1
0
-27
-5
0
0
-84
0
6
42
-2
0
0
-21
-2
0
-5
-8
0
0
-3
0
0
-1
-16
0
-14
0
5
0
0
-46
0
0
0
0
-2
0
7
0
1
0
-3
0
0
-80
0
0
0
0
0
0
6
0
0
0
0
0
0
40
0
0
2
0
0
-3
31
0
3
17
-1
0
-1
12
0
0
21
0
0
-1
-42
3
0
-5
0
0
4
0
0
0
3
0
-8
0
-31
0
0
0
0
-1
0
-8
0
0
0
0
0
0
25
0
0
0
0
0
5
12
0
0
0
0
0
0
-20
0
0
0
0
0
6
16
0
0
0
0
0
0
-29
0
0
0
0
0
0
-17
0
-1
47
0
0
0
3
0
0
-2
-1
0
0
14
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
0
0
76
5
0
0
0
0
0
0
0
0
27
15
9
-8
-23
31
-1
-50
-2
0
0
0
0
8
-12
0
0
0
-26
2
-4
5
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-1
0
32
12
7
0
0
0
0
-41
0
0
-1
0
0
29
13
0
-52
43
0
0
30
-25
0
0
-15
0
0
-10
16
0
0
-20
-1
0
-15
25
0
0
-15
0
0
4
12
0
-8
-1
5
0
0
-6
0
0
2
0
1
0
-23
-15
0
0
-2
0
0
21
6
0
0
0
0
3
-52
0
0
1
-1
0
-10
13
0
0
5
0
4
-30
-10
0
8
-43
-17
0
-24
-94
0
0
-26
0
0
-1
-21
0
0
-1
-4
0
0
-29
0
0
9
0
19
0
-42
0
0
0
2
-22
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
41
0
-21
-1
0
0
-1
-15
0
0
8
1
-3
3
29
0
-3
-2
-6
0
0
-38
0
6
-1
-2
0
0
-34
0
-19
-2
0
0
0
-62
0
0
0
0
0
0
-9
0
20
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
-16
1
0
0
0
0
0
0
0
0
-33
25
0
0
31
0
0
-2
0
0
0
3
0
1
-4
8
0
0
-26
0
1
-1
-1
0
0
0
0
0
0
0
0
0
-1
0
40
0
0
0
0
0
0
0
0
-10
0
0
0
-3
0
-5
-69
0
0
0
0
0
-6
-102
0
-42
-11
0
0
-3
71
0
-2
-89
0
0
-12
-76
0
0
28
0
0
-2
-30
0
0
-29
0
0
-2
30
0
41
34
0
0
0
59
0
0
0
0
1
0
44
0
0
0
0
0
0
-58
0
0
0
0
0
-8
-16
0
0
-3
8
0
5
-13
0
0
-1
0
0
-1
-76
0
0
-23
0
0
0
7
0
-8
-42
0
0
5
27
0
0
-7
0
0
0
-6
0
0
-1
0
0
0
35
0
0
-1
0
-5
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
-24
0
4
0
0
0
0
-79
0
0
-1
0
0
0
-24
0
12
0
0
0
0
87
0
0
-7
0
0
0
-30
0
-12
0
0
0
0
-7
0
0
-2
0
0
0
-3
0
-29
0
0
-12
0
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-21
12
0
0
-4
0
0
16
2
0
0
-1
0
0
-6
2
0
0
9
-2
0
34
5
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
1
0
0
0
0
0
5
15
0
0
0
0
0
-66
0
-1
0
0
0
-2
-22
0
-86
13
0
0
-41
-78
0
0
23
-2
0
1
-58
0
0
1
3
0
2
-12
0
0
-5
0
0
0
4
0
10
-2
-1
0
0
-12
0
0
0
0
0
0
-77
-3
2
0
0
0
0
-81
17
0
0
0
0
0
29
2
-2
-18
-3
0
2
32
0
0
1
0
0
-3
-100
0
0
-13
0
0
4
-19
0
0
-7
3
0
0
-44
0
0
0
0
0
0
50
0
0
0
0
3
-1
29
0
0
0
0
0
0
35
0
0
0
0
0
0
-38
1
-2
0
0
0
0
-5
0
0
1
0
0
0
42
0
0
0
0
0
0
32
0
-2
-1
0
0
0
35
0
0
0
-6
0
0
18
0
0
-5
0
0
0
-35
0
0
-3
3
0
0
52
0
2
0
0
0
0
-3
-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
-38
-94
19
5
-31
-7
10
5
42
0
6
2
-10
15
-30
-35
0
0
-43
53
-16
-48
-21
0
-4
-21
-5
-58
0
-6
0
0
-3
-20
12
0
0
0
0
0
-2
-30
4
2
12
18
-14
3
0
-5
-33
3
-12
-3
0
0
29
1
1
-1
-45
-7
0
19
19
1
3
70
-4
8
-67
4
0
-17
-21
-15
-43
-55
-20
3
-1
-13
-15
-25
-52
-21
0
-10
33
-47
2
0
15
7
-1
5
0
-33
0
-1
9
42
0
31
-6
0
-26
113
-2
-1
4
0
4
53
28
49
-38
40
-8
-56
-62
0
0
-96
4
34
-23
-1
-23
-18
52
21
-29
50
46
5
25
5
47
55
-29
-42
-5
-9
78
-21
66
8
13
0
13
6
-4
-57
4
8
0
6
13
-20
-38
0
24
-1
4
0
-20
-5
0
9
-27
0
8
2
0
-1
5
2
-11
25
0
0
10
13
0
-21
-46
-31
1
-5
-14
0
9
-1
-4
8
-16
-44
-3
23
-27
-1
5
21
-50
-6
-76
-5
-8
1
-10
-7
0
37
35
23
-8
5
32
0
-10
0
10
9
20
3
-32
10
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
52
-4
19
17
-52
1
-11
31
2
-6
-40
-5
7
69
55
2
1
-50
146
-21
-12
-18
0
0
-48
-2
-50
8
-70
0
0
10
-29
-12
0
-6
-33
0
0
-1
12
12
-17
-70
48
0
-12
0
-87
0
3
20
-49
3
1
4
-63
0
-42
3
-91
-2
16
15
0
0
25
-3
2
69
38
0
0
5
-51
0
11
-5
0
3
3
-29
11
5
5
0
-48
30
-6
15
-7
27
0
-4
-5
-2
-24
0
1
-106
44
0
-51
1
0
-43
21
7
0
-1
0
-20
0
0
-2
-1
-57
-31
-44
-54
0
-20
23
13
-1
-15
-16
-1
22
-44
30
-6
-49
6
-3
24
-13
2
70
-35
-19
1
43
7
13
-48
12
4
2
-8
-40
1
20
0
-86
10
13
16
-21
-52
0
21
-24
0
-5
0
-110
0
-28
15
0
-17
-9
-2
-3
0
0
18
64
-1
0
45
-40
0
20
-60
60
5
3
9
0
4
46
-8
2
-58
7
0
35
31
-21
10
-83
-8
0
-6
33
3
5
-24
14
0
35
-20
35
1
0
-10
0
75
3
0
3
0
2
9
6
3
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
29
-5
0
-2
-13
8
10
19
0
0
-71
0
16
50
-88
0
-7
-5
0
-5
-145
21
0
0
0
0
-2
0
10
0
0
0
6
-63
0
0
-8
0
9
0
-8
0
-8
-28
22
-10
4
0
0
-11
-2
2
-13
0
0
15
19
4
20
-24
23
2
15
26
-1
-4
50
0
0
121
-28
0
0
55
13
0
-35
17
0
2
27
0
0
-1
12
0
-39
22
-6
0
0
-31
0
0
0
0
12
0
12
3
-1
0
0
0
0
-55
35
14
1
0
0
4
59
0
5
32
0
0
2
-29
0
-1
7
0
0
59
-43
9
46
66
17
0
39
18
0
25
25
2
0
18
-4
0
0
5
-13
0
-3
34
0
0
-19
8
8
0
-41
0
0
8
-17
8
0
-4
1
0
0
-2
0
0
-12
15
0
0
8
0
0
-49
0
59
1
0
0
0
-3
0
17
-4
5
0
-1
-25
0
-44
48
-1
0
-3
67
0
-4
-1
-1
0
0
-143
0
-42
23
0
0
0
54
0
0
-9
0
0
0
-57
0
-8
0
1
0
0
-92
-1
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
0
0
-79
0
0
-8
-3
0
0
9
0
-1
5
-10
0
0
29
-1
32
7
0
0
0
0
0
-1
0
-1
0
0
0
0
29
0
0
-2
0
0
0
0
0
-21
-17
-9
0
-1
0
0
-58
0
0
-1
0
0
30
43
9
24
-81
22
0
-134
50
8
0
19
0
0
-13
48
0
0
-4
-1
0
9
-43
0
0
12
0
0
-4
31
2
-20
3
46
0
0
-46
0
0
0
0
0
0
-85
3
0
0
0
0
0
-7
-22
0
0
0
0
0
40
0
0
-8
-16
0
-4
54
0
-1
8
0
0
24
-33
0
0
60
-5
0
9
-23
0
0
-36
0
0
-8
-19
0
0
3
0
0
0
37
0
0
-3
0
0
0
10
0
0
-2
0
-3
0
-16
0
0
0
0
0
0
1
3
0
0
0
0
0
-43
-2
-15
0
0
5
0
-41
2
0
13
-1
0
0
-79
0
4
-7
0
0
0
17
0
-7
-5
8
0
0
-67
0
-49
3
0
2
0
-47
0
0
2
0
-3
0
20
0
-41
-4
-3
-2
0
-74
-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
9
54
39
-1
29
6
-31
32
20
-5
27
45
14
-26
-22
0
-58
8
12
23
-32
-57
-39
13
-4
-38
-72
-21
-116
69
1
-2
8
9
-31
-2
-25
-37
0
1
-62
-39
25
15
-5
-4
43
-41
3
-28
-29
30
-25
-90
2
8
-29
-7
-153
28
28
49
51
33
62
22
79
78
-37
-5
20
39
-6
36
17
34
23
-4
8
51
78
33
-6
-7
-40
-14
14
34
-11
31
29
-43
-33
-14
5
-25
16
-71
3
-22
-15
-19
20
-15
-55
12
3
2
42
27
-82
-66
3
63
-62
24
-13
4
73
-64
-46
1
-23
-83
-13
-32
-23
33
2
-50
30
61
-3
11
-2
33
13
22
-21
29
27
-8
-14
-14
22
12
-69
-36
0
51
-66
-17
-48
-3
22
-19
2
40
-5
13
-2
6
-27
-33
90
2
-40
-15
13
-2
-51
9
2
1
49
29
-15
-19
-87
26
-127
120
13
-13
-32
26
-21
6
-54
13
3
-18
27
-40
30
28
-35
16
48
-14
34
30
-39
49
-2
-32
-14
10
11
-34
-1
-20
-13
-13
20
-15
-49
-14
-8
9
-5
-83
-12
-49
-1
5
-3
8
1
-53
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
7
-88
-5
-2
-51
8
0
19
-13
-2
14
20
-61
-26
-9
3
-6
-2
-47
-54
-45
-10
-13
-73
16
24
-48
-26
3
4
-15
-4
6
-1
-6
16
24
2
-1
-53
23
17
-8
1
-26
-6
2
53
7
0
6
25
0
1
2
-50
16
-60
-23
8
-4
11
0
-6
-75
-15
24
51
-39
-4
-56
-45
-19
-2
-106
-14
-24
10
-52
-6
2
-24
33
-2
-6
4
31
-29
-67
81
-11
-43
19
30
0
-38
0
3
-45
2
23
50
2
15
-1
21
-4
-69
0
-5
-24
-30
40
-93
-46
-3
50
-21
-16
10
-32
-29
-31
-46
18
-94
-47
35
-50
2
9
-5
-23
-34
-19
5
44
45
30
-17
6
35
3
29
-62
-29
-25
17
-67
13
-2
2
23
13
22
8
37
31
-17
16
9
6
-13
17
-27
8
-3
10
42
0
34
-3
-42
17
-52
-44
12
99
-4
-53
-26
14
-29
7
38
8
17
-31
-11
-10
5
15
0
-3
-22
-27
-5
79
-29
-17
21
-10
18
8
-13
51
7
19
-35
20
-5
-24
41
-49
22
45
-15
-4
-63
32
-1
0
-61
3
22
93
-8
2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
3
-4
-1
24
-19
0
-13
-53
-4
0
-61
0
0
-26
-48
0
0
-31
17
0
-38
41
0
0
-5
0
0
-18
6
0
-6
20
39
-1
0
7
-28
0
-1
0
0
0
24
27
0
0
0
0
4
-21
0
0
-2
0
0
10
-22
-1
-1
56
29
0
-32
18
0
-6
9
5
0
-40
-70
0
-3
-87
-98
0
-11
2
0
0
-39
0
0
-42
-22
0
-28
23
15
0
-55
0
0
0
0
0
0
0
6
-9
12
0
22
0
-1
14
15
0
0
-8
0
24
-31
-5
-10
-44
49
0
16
3
0
6
18
0
0
-90
9
0
16
-62
1
0
56
-14
4
-8
-49
5
0
-13
-42
6
1
-27
-30
0
-3
-25
0
1
5
2
0
4
-33
0
1
-9
0
0
0
19
0
0
0
0
0
0
45
-19
4
0
5
0
-4
-64
0
-8
66
0
0
-1
-10
0
2
83
7
0
13
40
0
3
-41
1
0
0
3
0
-20
0
-1
0
-8
-52
-6
-47
10
-2
0
-2
-62
0
0
-42
25
0
0
-10
0
4
-4
-1
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
39
-58
94
46
24
29
-17
30
66
-20
-17
2
-14
-22
-4
-74
73
-54
-57
9
-36
-33
-62
-56
-30
-8
-32
2
78
-17
24
-40
17
-16
-60
13
-53
-41
57
-29
-2
-18
23
60
30
-5
-40
-14
-58
-17
-59
-6
-20
-25
40
17
19
-20
48
12
-26
58
47
-1
-51
-4
4
4
46
1
-17
35
-12
-23
4
0
0
-29
-112
0
-38
-8
-54
36
-50
-49
-103
-27
-46
-31
-3
7
-20
-1
-75
-8
0
-50
29
31
21
-34
9
3
-19
-8
-11
53
-7
-9
20
2
-9
9
9
20
-49
22
1
-10
-4
48
19
0
-1
21
-4
9
-24
9
92
3
27
-16
-69
12
-7
16
8
7
-14
-68
-34
-11
35
10
-4
-47
40
-102
-23
-14
-10
-66
14
-5
39
-46
-7
11
24
31
9
-32
17
5
40
0
-9
10
14
16
-86
-33
16
-6
44
-35
-2
7
-32
-18
-13
30
-22
-5
-31
96
3
-10
18
-35
16
23
-11
-56
-10
-89
-7
17
80
-2
-69
-12
-24
39
-10
-26
-14
75
-13
-26
-5
-82
-76
15
-84
-6
16
-32
13
8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
16
44
-2
54
-4
-28
-45
16
-1
13
29
-31
13
2
-44
0
0
30
3
-83
7
26
-12
10
-14
2
33
0
0
22
0
4
5
-7
3
-53
15
21
-24
-12
0
77
32
-2
0
17
3
-2
33
23
-3
-52
45
-57
3
-122
0
-29
16
-78
-5
6
67
-41
-5
-5
0
-45
4
10
-56
0
-8
-21
6
-14
-51
-28
2
-16
-42
-59
3
-8
13
0
-2
-5
18
5
0
-12
90
25
0
-105
2
-1
-13
30
-9
31
2
0
27
9
26
50
3
17
-6
-20
11
-3
16
3
1
21
42
0
-5
-27
1
-67
-2
21
-46
-35
64
-36
-1
-5
-84
5
-4
64
30
-68
-5
24
6
0
9
24
14
-66
-5
-1
-2
7
-9
20
76
3
-58
8
23
1
-1
-17
7
40
14
-44
-1
-1
-14
2
1
4
34
67
6
15
36
-53
8
-46
-52
-114
-9
-21
0
-18
-40
-13
13
9
-16
-40
13
-2
-22
-30
6
-31
-46
-1
3
2
-14
5
5
-14
0
-27
-41
-8
-17
-8
-17
0
61
42
3
38
0
-15
-10
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
25
0
0
30
6
-1
28
-2
0
5
-14
-3
1
-58
-19
0
0
13
0
0
0
1
0
0
0
-1
29
0
0
5
0
0
0
-10
-4
0
-2
0
-4
0
0
24
-42
0
4
-8
0
0
-22
0
6
8
-17
-2
1
52
-26
0
0
-45
-2
0
-5
66
0
0
-72
3
0
68
-40
0
0
-5
0
0
3
-10
0
-18
0
6
0
0
-91
0
0
-1
0
0
0
-50
0
0
0
0
0
-7
77
1
1
8
0
0
12
-13
0
-17
42
-10
0
-60
-26
0
12
-33
-1
0
7
-4
2
-7
-43
5
0
-13
-19
0
13
-4
0
0
-23
-53
0
0
-8
-13
0
-6
15
0
-4
0
0
0
0
-66
0
0
-3
-6
-3
0
43
0
7
-3
3
0
0
121
0
1
0
0
0
9
5
0
-17
0
0
0
15
-27
0
1
-24
3
0
-9
-41
4
7
23
0
0
8
82
0
5
4
-24
0
0
57
0
44
5
0
0
0
-33
0
0
13
-2
0
0
52
0
5
0
3
0
0
49
-2
8
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-8
0
0
-66
1
0
-30
19
0
0
-9
32
4
25
-33
0
0
-1
0
5
0
7
0
0
0
0
-82
0
0
77
0
0
0
1
4
-18
-5
5
1
5
0
58
59
0
9
-3
0
0
11
23
23
-50
-53
-27
2
-94
-58
0
10
-11
0
0
115
7
-8
9
-46
-3
4
49
-21
0
0
-39
3
0
-4
-97
0
42
-15
-6
0
0
18
0
0
0
0
-5
0
30
46
0
0
0
0
0
-44
-18
0
0
0
0
0
104
13
4
-1
9
-7
-20
6
0
5
22
0
0
-25
-34
0
0
60
31
0
-71
0
-8
-7
49
6
8
22
30
0
0
-3
-9
0
-4
-71
2
0
28
0
0
-4
34
0
0
3
0
18
0
-8
0
0
0
5
-1
0
-44
2
6
0
0
0
-2
-44
0
27
-25
0
0
0
17
-4
0
-43
-8
0
6
-34
0
-25
47
0
0
-7
4
0
-5
-42
13
2
3
-77
0
-10
-59
0
0
0
-33
0
0
6
7
0
2
-40
0
37
3
0
1
0
-56
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-7
-5
-41
-5
-45
23
1
2
64
19
-24
21
-14
-17
-24
-18
-42
-41
44
-11
-60
-14
2
-7
3
-62
-20
29
-1
-5
7
-6
-25
-36
55
26
-32
-2
-5
-22
27
25
31
64
-62
29
1
-13
-27
8
-76
-1
-25
3
-37
-11
-15
69
-32
15
21
37
23
5
-120
1
-6
0
-51
17
-46
35
31
-12
-10
-13
4
-31
-45
8
-33
-15
-27
3
-29
-9
-67
38
-8
-31
-1
-9
-10
2
17
-21
26
-50
28
4
-13
22
-28
-62
-17
-3
0
28
51
-5
41
-10
-5
34
-5
-4
49
2
-1
-24
34
-16
-15
-25
-46
45
-48
13
75
-1
-34
-6
57
-24
43
-17
18
-33
-13
-12
-7
30
-27
4
-102
29
-14
-28
-46
-74
13
-5
-17
-13
3
13
58
9
2
17
-58
23
32
-5
50
-27
-15
-27
15
-78
-15
50
-28
-67
-19
15
22
7
43
-76
-89
4
-9
-104
-77
-32
-86
55
2
-21
-12
26
-13
25
-14
0
-20
-52
19
3
58
-27
32
-11
-39
-55
9
-74
25
-52
-15
-19
-29
-49
12
0
23
15
-25
-88
34
-63
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
5
-2
1
-69
13
39
-64
96
-6
-2
1
1
-20
-57
-113
10
-1
7
0
46
85
-56
0
0
55
0
-1
0
1
-4
0
0
0
59
18
10
-3
20
-67
13
0
22
-8
0
-27
-47
-3
-2
-24
25
0
-5
3
0
4
-3
7
0
50
-47
13
1
9
-16
0
-3
1
2
5
20
-14
0
-42
16
-4
-12
11
7
2
18
-20
-4
10
22
-14
5
9
-6
0
-19
0
-22
-46
64
-3
3
-46
-4
-5
-56
-4
49
0
0
-54
4
9
-57
-33
-15
-10
3
21
3
2
3
13
13
11
4
-35
23
-14
-3
-13
5
-18
9
-7
-41
9
68
9
9
17
2
-14
-12
-24
-6
-12
-2
-4
36
0
8
19
-34
1
20
-23
-24
-17
0
-23
110
1
-3
-1
-71
0
-23
-119
-5
-30
0
0
66
3
-1
-24
-2
0
8
-47
37
0
-21
23
3
-13
11
9
27
-25
35
0
-18
-114
-17
-3
1
-30
22
28
21
11
2
8
21
0
58
49
21
7
63
-55
2
44
42
-40
-9
6
1
-6
-3
0
-12
-57
13
-30
-2
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
0
69
14
0
-105
-9
0
0
-38
-13
0
-24
-55
2
1
-29
-2
0
-6
8
0
0
8
-20
-1
0
0
58
0
0
17
0
3
15
-29
-31
-1
41
0
-39
-36
0
27
2
0
0
-28
-41
0
-11
-14
-38
0
10
-53
-4
-2
3
1
0
-2
29
1
1
49
25
0
-49
-20
-2
0
-6
24
0
-29
-31
-2
-43
-14
-32
0
-4
-93
0
0
25
14
0
0
-9
5
20
0
0
0
0
-17
5
0
4
0
0
2
10
43
4
56
17
-1
16
30
0
4
52
0
8
55
-27
0
58
-13
-77
0
33
-23
2
3
-34
-5
0
-22
33
0
4
-22
36
0
49
-45
0
-2
-74
-5
0
-5
-69
-2
56
-9
1
1
0
-27
2
0
0
-1
2
8
-11
-4
1
3
13
0
10
-5
14
49
-5
1
0
-30
-53
0
-28
-60
6
0
59
9
0
58
3
-3
0
-28
25
6
-14
42
82
0
-54
-10
-3
18
47
0
0
-5
-73
7
-1
-49
-20
0
-25
-25
0
-42
39
0
0
1
-18
4
3
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
28
14
11
24
13
-18
-58
-20
-13
-84
-8
10
-31
37
-38
13
-43
-72
6
-7
-57
50
-15
-29
-30
-17
4
39
-4
-41
-42
61
14
-20
30
16
-70
38
-2
29
-66
-25
1
-18
0
-8
-6
14
-60
-4
56
43
2
76
-45
-45
-1
8
-45
12
20
-31
-53
-8
-92
-58
-12
-17
-13
-35
-27
-38
13
14
-9
-17
5
-35
45
27
8
-29
-28
-29
12
17
-59
-26
-4
-29
-32
14
16
18
103
4
-12
16
-22
-3
11
-2
20
4
-3
5
83
-29
3
-41
47
2
11
58
-3
-4
5
54
-13
1
78
70
-5
-32
-19
-36
-7
19
-30
14
-3
0
-21
-6
-35
-32
7
-70
-1
1
-23
24
43
2
-34
16
-25
1
49
58
-10
-40
12
-104
-1
46
-25
-51
-18
59
82
15
15
13
50
51
16
-49
-3
-40
18
-35
-49
39
10
15
-9
11
-11
12
-56
-17
-2
5
-18
-5
-26
24
23
-12
-14
-2
-30
25
-33
-55
3
-13
-20
13
-12
-15
-34
-12
31
-28
26
-56
13
-48
-3
8
-5
18
-41
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
2
-3
-46
-19
-7
-104
-29
0
-1
17
31
13
-20
10
0
0
23
14
-44
0
0
-6
0
3
8
-19
14
20
-21
24
13
-82
2
27
-6
20
0
39
0
-5
27
-1
34
-30
-30
-33
1
-13
18
-5
8
6
-6
-31
-49
0
36
-9
-38
-13
-20
9
-4
6
37
-22
13
-49
-27
8
0
33
42
36
24
-47
3
19
-1
-6
6
-49
0
8
-59
-44
-3
0
-30
-15
12
-58
41
7
-4
0
-4
-8
-66
-88
-13
19
-31
25
12
5
-13
28
8
-1
5
47
13
-9
7
43
18
-30
0
-18
-49
-131
13
191
-100
-22
7
-35
-48
44
-12
40
-21
0
-7
-30
-15
-111
7
-29
0
-25
52
-64
-12
0
3
23
-1
-3
-6
-17
0
-8
-12
107
-1
-30
0
-19
50
44
14
32
2
-3
-47
-4
-7
-11
-40
-66
0
49
1
-6
-119
-96
-1
16
-78
0
4
31
8
-61
3
4
20
-7
29
-30
43
47
-23
-66
0
-29
-116
-2
93
0
6
0
-37
-35
-8
5
-1
-48
-9
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
24
0
0
54
3
0
0
19
0
8
-1
0
0
0
0
0
-10
0
0
0
0
0
7
0
6
-5
-8
41
0
0
0
0
58
0
0
-2
0
-1
-9
47
0
-4
-17
49
0
-54
58
0
0
90
0
0
57
-7
0
0
6
-25
0
50
59
-1
0
-2
18
0
-3
65
0
13
-1
0
0
0
51
0
0
-1
19
0
0
0
0
-13
8
0
0
0
-11
1
0
0
0
0
0
7
0
-1
2
0
0
-2
-7
0
0
-56
0
0
-7
-5
0
34
-46
-1
0
64
-88
0
-1
-5
0
0
-8
-9
0
0
-9
110
0
6
22
0
0
0
0
0
0
-22
0
0
-16
0
9
0
-69
0
0
0
-8
0
0
45
-1
-4
0
0
0
5
61
0
4
0
2
0
-10
-23
0
-4
2
0
2
6
-18
-2
0
-2
0
0
0
-49
0
0
42
-8
0
0
-41
0
-71
17
-8
0
0
-48
0
18
7
0
0
0
-34
0
-13
0
-1
0
0
25
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
0
0
0
0
0
0
0
0
0
-6
1
0
0
97
0
3
-17
17
0
0
37
0
9
-1
2
0
0
1
-1
8
0
0
-6
0
0
1
4
-2
-5
1
13
-8
0
0
-8
-49
12
0
45
0
0
42
32
0
12
-65
-3
0
-100
23
-1
0
43
0
0
45
-71
0
0
59
0
0
3
33
0
0
-28
-1
0
-1
51
0
-42
6
-6
-12
0
-16
9
0
8
0
2
0
-48
42
0
0
0
1
0
41
6
0
1
0
0
0
-21
0
-2
-10
-2
0
1
38
1
0
-72
0
0
25
-54
0
5
-28
-5
0
-8
-40
0
0
-5
-1
0
-7
-12
0
0
93
21
0
-2
0
0
-3
-8
0
8
0
-23
1
0
-3
-2
-8
0
-26
0
0
0
0
0
0
-15
0
6
1
0
0
0
-49
0
-27
1
0
0
0
5
0
0
-3
92
0
-1
18
0
3
-3
4
0
1
-48
0
0
1
7
0
0
-4
0
-31
-5
0
0
0
-69
0
-1
1
0
0
0
-45
0
42
0
-1
0
0
-18
-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
0
0
0
0
0
0
0
0
0
-93
6
-8
-13
-2
20
-46
-9
76
4
-7
-17
5
-97
127
40
-4
-1
10
-13
-26
0
30
21
0
-2
9
-65
-8
9
-25
76
15
15
0
-42
2
-3
-5
9
-3
-6
-57
12
50
-43
1
-24
-3
-17
-8
73
67
2
45
-7
-3
49
-16
57
-6
-14
13
65
59
1
46
-79
-41
-29
-20
-52
0
-21
-7
-34
-6
14
7
4
-1
5
-16
-18
0
3
4
-9
0
4
-4
-1
-2
-83
-4
3
-1
-9
11
19
11
30
-7
40
-9
66
-4
-5
7
11
-39
-8
-7
1
26
-40
56
-87
-27
22
-7
54
126
-64
40
-75
-105
-22
30
45
14
-26
-57
-46
-5
-8
5
-54
-29
-39
-62
-16
2
-1
-22
-60
-43
7
17
-42
-1
-1
-2
-13
7
-20
10
-90
-6
-13
0
53
-7
8
5
-15
0
-5
-63
-34
4
-109
-50
-69
-5
-84
24
-7
-75
-24
29
7
-62
23
-31
-95
25
-85
-12
61
25
6
-64
50
-42
-65
3
-39
16
-6
41
-66
-17
-3
13
2
-36
-1
-5
61
0
-4
50
-2
0
24
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
-44
0
44
-91
-8
0
0
-5
0
17
1
-3
0
0
-5
0
-47
0
0
12
0
0
0
-1
0
11
-7
0
8
22
0
14
4
0
0
3
0
0
-19
-138
0
-1
17
-6
0
5
30
0
-4
-19
0
0
10
-23
0
0
3
0
0
53
-62
0
0
-7
0
0
13
-25
0
37
-12
3
0
-8
-11
0
0
0
0
0
0
28
-5
-5
0
1
0
0
41
0
0
0
0
0
0
6
-1
7
-25
0
0
41
-38
0
0
-44
0
0
-13
-58
0
0
-69
0
0
-60
-38
0
1
54
0
0
90
-26
0
0
-9
0
5
-3
-11
0
3
19
0
-1
-2
-5
0
0
-10
0
-9
0
30
0
0
0
0
0
0
-75
-4
0
0
0
0
0
-75
0
1
1
0
0
0
-27
0
0
4
1
0
-1
-25
0
-20
0
3
0
0
-43
0
-10
4
10
0
0
-40
0
22
-42
0
0
0
-19
0
0
-4
-2
0
0
7
0
5
-2
0
-7
0
-135
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
16
0
0
-3
-61
0
-63
-2
0
-1
-125
-30
0
102
50
0
0
-31
21
-2
0
8
-26
0
0
28
0
-4
4
-54
-105
13
16
0
-30
-4
0
-12
-1
29
0
29
1
7
1
0
-47
0
-20
2
2
-15
23
-7
0
-43
9
-2
1
-12
-85
0
21
-16
-3
0
-4
-27
0
34
13
0
-20
20
11
-2
65
-12
-3
0
22
25
0
0
11
-1
-118
0
82
0
4
2
-42
8
6
-3
0
87
-2
-32
40
66
53
0
21
1
0
4
7
-5
0
-40
-28
42
38
0
-77
0
30
4
-9
7
-25
56
-5
11
19
-9
8
9
51
0
43
31
25
-7
25
66
0
-27
-2
0
-4
-61
-23
0
0
-34
5
8
0
32
0
0
0
-18
0
9
-8
0
-7
-11
0
-27
-66
20
0
-29
-15
0
7
15
82
0
4
10
33
10
-92
-5
0
-33
-5
-3
50
-34
32
0
35
40
0
16
-10
3
0
18
6
17
-19
-2
-84
0
0
-5
0
-5
-3
-13
0
0
-37
-43
0
-1
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-135
-21
41
-4
2
-46
-84
14
11
-2
-1
-13
-53
-64
0
43
-40
0
-1
-57
-47
1
3
-31
-32
-102
-14
0
-2
1
-15
15
-42
31
37
-6
17
55
37
-17
-11
-3
-11
2
-22
-34
-19
-31
10
-72
4
2
8
4
-63
1
-36
-14
16
49
-42
-21
-25
-93
-10
92
14
1
0
1
-9
-28
12
-2
14
14
4
0
18
-21
-12
-6
-55
-13
-3
-10
-77
39
-10
49
10
-11
-10
29
-3
28
-37
-10
20
-1
-4
72
8
-8
21
73
30
22
27
-4
8
-26
52
8
11
57
-49
-124
-150
-98
-25
-10
28
-58
-24
-25
-49
-27
0
-51
-40
-8
-50
-8
-2
0
13
-23
2
-9
0
36
-77
-2
8
-20
40
-4
23
26
5
33
46
-5
13
7
19
32
77
-1
-66
-17
-7
-17
38
-24
16
19
-26
20
47
-12
9
-24
-3
39
15
19
-48
-28
-93
26
13
-15
-1
3
-88
-50
-44
-1
12
0
44
7
4
41
4
-26
-5
33
48
33
57
-2
-27
-60
-13
14
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-70
-3
-1
6
1
-25
35
46
0
1
-3
-27
-60
0
1
24
0
0
12
-16
-1
-7
-58
-13
-8
7
-4
-20
5
-12
10
-12
0
0
-11
-56
-3
4
-57
-17
2
-14
-1
-23
-18
3
-25
24
-18
-38
-1
-15
-12
-73
-14
58
0
-12
-7
-43
20
25
22
-41
0
-28
-56
23
-97
41
-37
0
1
21
19
-51
4
0
-12
62
0
-63
17
1
24
-40
-7
30
-1
0
10
-39
-18
8
-32
54
-8
-24
-39
32
31
51
5
5
-13
5
0
-58
2
6
35
-35
26
61
-42
-32
-11
-45
-17
0
6
18
13
5
31
-18
-14
0
-6
-35
7
-30
27
2
3
-19
66
78
-15
0
-21
4
-1
0
-24
33
-2
-15
-15
-8
-6
3
2
1
-26
-8
5
-34
0
-3
-7
-15
-10
-51
-67
-28
0
-35
22
41
-34
8
-13
12
57
-10
19
-50
-88
-16
-6
64
0
5
57
24
1
3
-66
26
6
-2
-115
-27
-22
8
12
0
16
16
-8
74
22
-9
22
35
-12
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
0
0
3
0
0
0
-2
0
0
0
-1
5
0
0
6
0
0
0
0
0
-56
23
2
0
0
0
0
25
0
-1
1
0
0
7
2
0
-59
-36
-7
0
-66
-17
0
0
22
0
0
-123
24
0
0
49
-18
0
21
-86
0
0
-8
-3
0
0
-5
0
-84
0
-2
0
0
-10
0
0
0
0
0
0
-18
7
0
0
0
0
0
-8
-1
0
0
0
0
0
-5
0
-4
-2
-1
0
-4
19
0
0
-10
0
0
-9
-75
0
0
42
-4
0
13
-49
0
0
-5
0
0
3
-24
0
0
-5
0
0
-8
45
0
0
5
0
0
0
-31
0
0
0
-2
2
0
25
0
0
0
0
0
0
7
3
2
0
0
0
0
-14
0
0
0
0
0
0
-22
0
0
17
0
0
0
-49
0
0
-4
0
0
0
-44
0
-6
0
18
0
0
-8
0
35
1
0
0
0
25
0
0
-6
0
0
0
-31
0
-13
-25
4
0
0
7
-2
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
0
0
-1
0
-1
0
0
0
0
32
0
0
-3
0
0
0
-1
0
-61
-4
0
0
0
0
-2
-58
0
0
23
0
0
-23
30
-17
-49
6
17
0
13
11
0
0
-24
0
9
-37
30
0
0
20
-2
0
-27
-42
-6
0
-12
0
0
-2
-4
0
-65
-2
-3
0
0
33
0
0
4
0
0
0
-42
-2
0
0
1
0
0
-18
0
0
5
0
0
3
-26
0
0
-13
0
0
-21
1
0
0
2
0
0
-2
-40
-2
0
77
1
0
-4
-46
0
0
-54
0
-1
0
-18
30
5
-5
-2
0
12
-123
0
0
5
0
-2
0
30
0
0
-16
0
0
0
-36
0
0
0
0
0
0
6
-7
0
0
0
0
0
13
0
-1
-7
0
1
0
-13
0
0
-3
7
0
0
-53
0
6
8
0
0
0
-71
0
0
-3
0
0
0
-83
0
-1
0
-19
0
0
55
0
0
0
0
0
0
90
0
-7
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-59
8
-5
83
10
6
60
-10
32
3
-12
12
-4
-1
-14
-70
27
19
38
-66
27
5
-60
-133
25
-35
3
-29
-5
-3
-42
23
32
-15
10
27
5
-14
-11
-42
-4
4
6
32
-1
-10
0
-5
-17
5
-64
-26
10
-2
-60
-37
-17
66
-93
-30
50
63
44
6
1
19
60
13
-39
103
-7
1
-45
20
-44
-84
0
-1
-29
-6
-5
-37
21
15
9
-60
16
69
-34
25
-45
-33
-42
24
6
-8
43
32
12
-20
-119
17
43
1
-72
8
0
-15
-16
0
-31
-29
-7
16
-12
23
-47
-22
-4
-8
-56
50
-9
-21
-51
22
7
23
26
45
-102
-5
39
-14
-39
-37
-41
28
-4
8
-21
-40
49
1
-48
18
-5
-16
-35
-53
54
-102
-25
-7
13
24
-4
12
46
30
10
-18
-39
-29
-9
-46
-139
-39
17
-73
-73
55
20
-7
-59
-27
-43
-22
18
-15
47
22
-2
40
-6
33
-17
-84
7
-30
3
-33
72
-23
12
13
-9
-7
20
-28
24
4
28
-19
-95
39
6
-3
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
31
0
2
1
0
8
39
-30
29
0
27
0
14
0
0
-35
0
0
0
29
5
7
18
-1
5
-1
12
9
-37
34
-4
16
0
25
14
5
-4
5
-8
7
-2
-2
-49
0
20
-7
0
0
31
-47
0
-7
-64
0
-6
46
-21
-6
25
6
0
0
36
46
0
50
-40
-1
-12
15
26
4
21
-22
0
-26
0
-6
19
-25
0
0
-7
0
-37
31
0
-5
0
-10
-39
-19
6
0
67
0
-9
23
14
5
17
5
0
4
27
-20
6
29
6
-13
6
-14
-11
0
0
23
0
20
49
-4
10
-4
-19
7
0
82
-1
0
0
25
0
49
-9
35
-1
13
110
0
-30
0
-13
-1
0
0
0
27
0
-43
32
0
0
0
0
0
-43
-6
-34
118
0
-42
43
30
0
2
13
0
4
31
17
2
12
30
0
0
2
-5
16
-16
-35
-1
13
-5
22
2
41
-45
0
8
2
26
0
0
-43
0
102
5
-15
-4
94
-7
0
-33
0
-21
60
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-53
0
0
-7
-2
0
-48
22
0
0
38
5
0
0
0
20
0
0
-47
0
-8
0
52
-111
39
-25
0
-5
-1
0
42
-24
0
0
-59
4
13
-17
2
0
0
-30
-5
3
-18
-8
25
0
-48
7
-1
0
-25
38
0
13
-14
22
-3
-14
-25
0
5
1
0
-30
4
11
8
68
13
0
0
13
-8
0
-8
-4
2
13
16
-54
0
0
8
58
-6
-9
-1
0
-164
-11
-14
18
20
-29
0
-78
19
3
-17
25
-21
0
18
16
-7
-17
22
-32
0
-2
-15
68
15
-17
-8
0
-15
22
8
0
-20
41
0
42
12
0
-4
33
-25
0
5
3
3
39
98
27
4
0
-12
-5
0
-2
-7
0
0
4
-33
0
-24
2
0
44
-31
3
26
-1
-8
0
-115
22
9
-21
-10
-13
0
73
36
-7
-22
64
-22
0
47
-8
19
67
6
8
0
-51
-2
0
9
19
54
0
32
15
7
-2
45
45
0
28
16
0
62
-32
3
0
-6
9
25
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
45
-1
-13
-13
4
0
-22
-15
0
1
-1
21
-1
-10
-52
27
-99
-42
-5
-40
-22
-31
-18
-50
41
-87
14
20
17
7
-63
-18
2
0
17
-32
-5
-2
80
-13
-31
-1
-2
8
-26
-17
-10
6
5
4
42
23
34
50
-128
39
5
9
16
-34
-46
-9
-7
-30
5
33
19
-52
0
14
-14
-5
18
-80
-39
-5
2
11
-3
-6
-7
13
-86
-44
46
-36
-82
-23
-2
-35
5
6
-8
-40
9
54
-55
35
-23
-10
-42
-55
-31
-25
28
-27
58
-3
-6
-18
41
16
12
-147
-8
-31
-3
68
16
-2
52
14
-19
-33
-1
-41
-1
-7
34
-41
11
0
9
-15
0
0
-54
-58
0
-11
43
-1
15
-24
-1
-47
-12
2
-23
3
37
84
76
-12
-4
13
47
52
100
105
31
-2
-32
-31
22
2
-111
8
-7
-69
18
-59
-11
43
14
-8
6
-24
-54
46
-3
13
1
12
-7
-61
86
0
-23
0
-28
-26
6
-6
0
-29
8
-19
-1
-77
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-2
0
23
-46
-14
0
0
-57
0
2
-6
19
-3
-6
-63
-34
-15
-44
1
-90
14
0
-1
-47
1
-3
-45
12
5
-36
-13
-5
0
-7
-17
2
18
11
-23
0
-48
36
0
1
-1
-19
18
-39
-32
-17
5
24
0
7
111
0
19
-26
70
-77
5
-9
-14
8
-2
25
3
-23
0
-12
-36
-8
0
43
-13
9
7
-58
1
-2
-3
1
34
39
5
-156
-20
-45
-18
-22
-13
9
-2
28
-3
-19
-3
-11
10
-38
-43
-61
-32
-81
3
1
16
-12
10
16
-47
1
1
25
-77
-22
43
153
0
0
6
11
31
-25
12
-38
2
-8
-34
-61
-59
1
-2
-7
0
0
2
37
0
-44
93
-8
0
-1
0
-17
-34
5
-49
24
8
-1
29
-16
0
136
-59
-28
0
-32
0
7
-3
-29
47
0
-16
-2
96
3
5
-88
0
-17
10
-12
2
-66
35
23
13
0
7
39
91
5
0
-6
-29
0
-61
-7
5
7
0
-12
-13
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
39
0
0
0
0
0
0
9
0
4
0
0
12
0
0
0
-38
0
0
0
0
0
-1
-17
0
4
70
8
0
18
-147
0
3
1
0
0
-6
5
0
0
84
0
0
-13
85
0
0
23
-2
0
14
-1
0
5
0
0
0
0
13
0
0
0
0
1
0
-87
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
-24
-7
0
0
0
11
0
0
12
0
0
1
24
0
0
-3
-2
0
-8
12
0
0
6
0
0
0
9
0
0
4
0
0
0
-5
0
0
14
0
0
0
-5
0
0
0
0
-2
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
-13
0
0
0
0
0
0
58
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
14
-9
-1
0
0
-21
0
0
0
0
0
0
28
0
-3
0
0
0
0
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-120
0
0
0
0
0
0
-161
0
0
5
0
4
2
25
0
29
-8
1
0
-16
50
0
0
19
0
0
-1
-34
0
0
-33
1
0
-4
-32
0
0
-17
0
0
16
5
0
-13
1
0
0
0
-8
0
0
0
0
-2
0
72
0
0
0
-1
0
0
37
0
0
3
0
0
0
-34
0
0
-1
1
0
-1
-34
0
0
-2
0
0
-1
-33
0
0
44
-4
0
-4
-146
0
2
5
0
0
0
-3
0
0
-8
0
0
0
-31
0
0
-1
0
0
0
-3
0
0
1
0
-1
0
-20
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
-1
0
0
0
0
7
0
0
0
0
0
0
6
0
0
-2
0
0
0
-9
0
0
-1
2
0
0
-64
0
7
-1
0
0
2
-14
0
0
0
0
0
0
-60
0
13
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
-1
4
-10
7
0
0
-78
0
0
-8
-100
-2
-14
-41
-25
25
35
0
-44
25
0
-12
1
0
2
-16
5
0
-18
-17
-101
0
-2
-9
-1
0
-82
9
2
-35
28
0
-3
-25
31
-2
-18
15
-3
3
-18
30
-83
46
13
19
5
-3
-5
-4
13
26
10
0
-6
38
-39
0
11
11
6
0
7
13
0
-26
42
0
1
0
0
23
2
39
41
-29
-59
36
-16
3
-2
-5
7
0
-34
-42
32
-20
8
36
-53
-37
-58
-18
43
-13
-1
-44
-42
59
2
2
6
31
-43
28
63
0
-1
-4
-1
4
-26
-19
-33
0
9
8
33
21
0
-30
1
0
0
13
-5
-5
-63
2
0
0
-2
-2
1
32
22
-50
3
0
-8
-25
-36
1
-14
-31
-18
0
7
26
1
-13
5
43
-1
44
35
6
-34
-62
-22
-3
-12
-30
-1
39
7
-2
-3
-8
-31
0
-1
23
66
-9
0
17
0
-11
0
8
31
0
-11
27
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-17
0
0
-31
0
-23
0
0
-3
0
0
0
7
0
20
0
0
0
0
0
0
-25
0
0
-2
0
0
-5
-49
0
86
-50
-19
0
34
-32
0
0
-12
0
0
-29
17
0
0
46
0
0
-9
10
0
0
7
0
0
32
-42
0
-27
-65
3
-5
34
46
0
0
0
0
-4
0
42
16
0
0
0
0
0
-30
0
0
0
0
0
-4
-34
0
-4
2
0
0
-1
46
0
0
49
0
0
31
-39
-5
0
6
0
-3
-21
-79
0
0
27
0
0
19
8
0
0
18
30
-1
-8
-5
0
0
55
0
-6
3
-12
0
0
8
-8
-5
0
-50
0
0
0
0
0
0
-36
-8
0
0
0
0
0
-22
0
-2
0
0
0
-9
-12
0
0
3
0
0
-6
22
0
-5
12
0
0
0
-20
0
0
1
42
3
17
30
0
-2
13
0
0
0
-63
0
0
-29
3
0
0
13
0
-6
0
0
8
0
-3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-95
-5
0
9
6
-1
0
42
-31
0
0
31
0
13
14
44
-59
-5
52
0
-90
9
0
0
3
0
0
25
-10
2
-40
-8
36
0
-2
-2
1
-6
15
-4
0
8
11
32
0
8
40
0
2
-12
-5
-3
4
42
0
-46
-51
13
-89
38
-6
0
82
-12
-13
-2
12
2
0
0
16
1
28
-3
-44
0
-15
17
35
16
6
-1
0
21
-3
80
8
21
66
-2
46
32
8
8
7
12
0
-11
-8
8
-53
17
53
-10
-11
20
-13
73
33
50
0
-7
26
-6
-31
8
39
1
56
-7
-20
6
36
14
0
64
-28
0
-40
-22
14
-8
0
8
23
5
-2
61
0
-8
15
1
0
17
4
0
9
-17
-8
-105
-69
-2
1
77
17
39
6
-33
-5
0
30
-5
5
15
27
-5
2
-5
10
3
8
35
33
0
13
12
0
-32
32
26
0
-28
-12
-1
44
16
4
0
18
-2
-2
14
9
10
0
4
-2
18
-25
5
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-66
0
0
0
0
0
-42
-6
0
0
0
0
-3
-7
0
0
6
-3
0
-59
-48
0
42
-92
-4
-2
-14
24
1
0
-16
1
0
-89
-27
0
6
50
0
0
42
-46
0
0
-50
15
0
41
-34
0
-42
-94
-38
1
0
14
0
0
13
19
0
0
-3
-5
2
-8
5
0
0
-52
2
0
4
9
0
1
-18
-4
0
0
92
0
2
6
1
0
-58
0
-12
-32
9
0
-32
-46
4
0
14
4
4
0
-47
-5
0
4
-11
0
-4
-78
45
8
0
-3
0
0
8
-8
-6
0
38
0
-1
-15
-13
-42
0
-51
0
0
5
0
-1
0
-73
0
0
0
8
0
0
-21
0
-4
6
5
-2
42
-28
0
0
21
-12
1
5
24
0
113
98
4
5
-2
-64
0
-1
-2
8
8
0
-15
0
-30
7
-10
8
-1
64
0
13
-8
5
0
0
-15
0
-8
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-97
0
-3
-6
-1
-4
-75
-21
39
-4
-19
0
-9
-21
8
-4
-84
0
-3
3
-5
4
-23
-12
-14
0
-47
-20
25
25
-14
0
-2
1
-14
0
16
-7
-69
-16
26
-17
0
7
-24
-4
31
67
22
0
-10
-17
-28
-8
41
0
5
-3
131
41
-39
0
-17
-38
4
0
-17
-2
0
-39
41
5
3
-1
5
-57
-5
-30
-41
-24
-49
-8
-69
-16
-7
16
-39
-8
-41
-13
-29
-49
-17
-40
10
-6
-49
13
13
-1
35
-58
-28
-33
-7
-8
-6
-19
-22
80
-4
13
0
0
3
-3
-23
14
0
0
0
25
0
4
0
-33
1
0
0
-1
-4
0
3
-6
8
-1
-1
0
-10
-45
-2
11
-2
1
-8
-7
16
0
20
-91
-10
-4
24
-50
-5
-20
12
1
8
-4
2
-6
54
51
-100
-64
-95
-51
0
-51
-19
1
46
0
40
-2
-4
-137
-15
-16
-1
0
0
-120
-4
0
-13
-8
12
-2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
150
0
0
0
0
0
0
16
0
0
0
0
0
6
53
0
52
-4
-8
0
-38
10
0
0
103
0
0
-12
-2
0
0
19
0
0
0
-22
0
0
-1
0
0
0
-41
0
-4
-3
0
0
-1
-2
0
0
0
0
0
0
-68
0
0
0
0
0
0
-5
0
0
0
0
0
0
44
0
0
-15
0
0
35
-88
0
0
-5
0
0
0
30
0
0
-12
0
0
20
-33
0
0
-13
-3
0
0
30
0
0
19
0
0
0
-1
0
0
0
0
25
-1
-24
0
0
0
0
-4
0
-66
0
0
0
0
0
0
-42
0
0
0
0
0
0
8
0
0
2
0
0
0
42
0
0
0
0
0
0
55
0
0
0
0
0
0
-23
0
0
8
0
0
0
-46
0
0
0
0
0
0
34
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
25
0
0
0
0
25
-2
0
0
0
0
0
0
-7
0
-49
1
-1
0
15
-42
0
0
19
0
0
0
-42
0
0
31
-2
0
0
-1
0
0
-1
0
1
0
-6
0
-14
0
0
0
0
-21
0
0
0
0
2
0
-59
0
0
0
0
0
0
103
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-38
0
0
-1
0
0
0
12
0
0
-1
-1
0
-1
40
0
0
-1
0
0
0
-37
0
0
-1
0
0
-8
43
0
0
0
0
0
0
25
0
0
-8
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
15
0
0
0
0
-7
0
0
0
0
0
0
-22
0
0
0
0
0
0
-9
0
0
1
-2
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-115
0
5
-7
1
0
-3
12
5
0
-2
0
24
-45
-8
0
15
0
-3
18
30
0
-42
-19
-22
0
-45
9
3
0
24
0
0
-102
22
0
0
-31
6
8
2
-20
0
0
-33
18
-1
-60
-32
0
27
-2
-128
0
-18
24
0
0
0
0
8
0
7
-15
-13
0
27
0
0
-1
-3
6
2
0
4
48
-69
2
4
18
9
-3
7
-22
0
3
17
-5
7
-40
-15
-5
4
93
-27
-12
6
-13
-5
0
-19
33
-76
49
-8
0
0
-31
-7
-13
91
-17
0
-6
-13
24
47
0
-24
0
2
0
-3
54
0
-10
0
0
0
29
-2
0
-49
4
0
0
-1
-7
-2
-1
0
-69
4
0
-3
-12
-40
0
-1
-4
6
1
-3
-44
0
-27
-22
-2
0
-3
43
0
-35
-12
-6
4
-10
-23
0
-1
55
4
-9
13
11
0
0
-4
-8
19
0
-27
0
-126
0
50
-2
0
-64
2
-10
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
8
7
2
-22
42
23
0
0
-48
-11
0
0
-57
0
-24
1
6
-1
20
16
8
0
14
3
-1
16
16
0
0
-42
3
0
0
30
0
21
8
-10
1
12
11
0
-13
-26
-42
0
-28
18
0
29
22
-2
0
0
62
0
42
0
-1
-79
24
4
0
0
-1
-17
-28
0
0
0
1
-49
10
7
-7
-18
0
21
34
-4
-8
3
7
0
27
65
13
-1
4
20
3
-30
15
-3
-4
-20
-30
0
-8
-17
-29
0
3
-38
-1
-46
-46
2
0
0
4
0
-9
22
-15
1
0
127
0
-2
0
28
8
0
0
0
-6
0
-18
-7
0
0
0
0
0
-61
4
-13
-14
0
24
-39
-73
12
-10
106
0
-6
-4
45
0
87
16
0
0
29
-7
0
-25
-6
-5
22
-5
26
5
-99
68
0
-14
8
22
0
-8
68
0
-4
-8
-24
0
-22
-20
0
-22
0
21
32
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-83
18
-14
-18
0
-31
13
42
-87
57
-7
0
-13
2
-20
32
-7
-1
0
3
8
-43
-10
-2
-10
0
-6
-2
-53
-33
-16
-3
0
3
-3
58
5
0
-39
-1
49
-1
-32
5
8
10
-1
35
-5
68
6
12
14
0
24
-2
7
-21
-15
-38
-2
2
14
-118
-43
4
-29
0
21
5
7
-80
-47
-89
0
-20
11
-29
7
-6
4
-10
-1
6
5
-75
-13
-66
0
2
5
-36
-31
24
-32
0
65
4
-91
70
10
16
42
35
5
-31
-7
16
20
0
52
13
1
-18
31
39
-1
-41
3
56
-21
23
27
-1
25
5
-74
75
51
-29
0
-7
16
13
-35
-28
-83
0
-33
8
20
-13
53
-1
-1
48
0
-1
-28
4
-24
-4
4
-1
9
-22
-39
-46
0
13
7
-31
-144
-4
11
0
66
17
2
-46
19
-23
37
58
37
-10
60
36
15
0
4
3
-3
-15
37
-33
0
75
21
12
77
32
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-48
0
0
2
0
0
0
7
0
8
25
0
0
-3
-42
0
0
1
0
0
0
-41
0
0
-1
1
0
0
-48
0
0
0
0
0
0
6
0
16
0
0
0
0
19
0
0
0
0
0
0
60
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
1
0
0
0
0
0
-97
0
0
0
0
0
0
-42
0
0
-1
2
0
0
-19
0
0
-1
0
0
0
23
0
0
-1
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
-49
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
-1
0
0
0
0
1
0
0
0
0
0
0
-50
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-2
0
0
0
0
-5
-33
0
0
-4
0
2
-9
3
0
-45
29
-46
0
28
40
0
0
51
0
0
-20
-103
-1
0
-1
-18
0
24
60
2
0
-14
0
-2
9
-22
0
-46
27
8
0
-1
-53
0
0
0
0
96
0
0
-4
22
0
5
0
0
-22
-1
0
0
0
0
3
-1
-5
4
-7
-2
-15
20
-11
0
0
-76
0
0
11
7
3
13
-63
7
0
-34
2
0
0
24
0
0
1
54
0
0
29
-15
-3
4
13
0
0
-5
0
9
4
-34
0
0
13
2
-10
0
0
0
0
0
0
0
0
16
-10
0
3
0
0
0
-51
0
-5
-8
0
0
0
-22
0
1
0
0
0
-5
-31
0
41
0
0
0
0
31
0
-3
-3
-14
0
0
26
0
-9
-2
0
0
0
-1
0
0
7
-4
0
0
-16
0
-6
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-74
-18
-66
60
0
-20
1
-5
5
5
0
-42
-59
28
2
-53
-31
28
-14
-61
-5
14
30
-59
1
32
2
-1
-2
-13
-18
-14
-33
-26
-41
1
-2
-12
-2
13
-96
-11
0
-3
-46
-3
-13
-16
8
0
-1
24
4
-4
0
-3
0
5
0
-49
-8
4
3
-45
-9
13
-7
0
-64
-12
-59
40
-128
-43
-6
-60
24
8
-42
32
-10
85
-5
17
20
42
-31
16
-13
-67
-5
9
-13
-1
-27
-22
-39
-20
-2
19
-38
35
24
-15
-18
1
-22
31
10
-18
-16
20
-6
98
-69
5
20
0
1
0
0
0
-23
-22
-6
32
54
-31
-43
-3
0
1
-21
-5
40
12
-1
-27
45
-41
-1
-72
-62
30
2
-6
-5
1
13
-51
-10
12
21
-16
-12
9
-43
-66
17
-57
-14
6
1
12
29
17
4
-45
4
34
-40
47
-31
0
43
2
11
-5
-4
-51
0
-3
0
13
8
37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-59
0
0
0
0
0
0
-7
0
-20
-12
0
0
5
-1
0
0
-14
0
0
0
-42
0
0
20
0
0
0
-46
0
0
-4
0
0
0
-5
0
25
0
0
0
0
-5
0
0
0
0
0
0
-32
0
0
0
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
0
0
-56
0
0
0
0
0
0
-29
0
0
-1
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-37
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-6
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-3
0
0
11
0
0
0
0
0
0
-42
0
27
-19
0
0
-25
-28
0
0
45
0
0
0
-35
0
0
-7
-6
0
9
-28
0
0
0
0
0
2
-20
0
-25
-5
0
0
0
-8
0
0
1
0
0
0
-5
0
0
0
0
0
0
33
0
0
0
0
0
0
16
0
0
0
0
0
0
-35
0
0
-1
0
6
0
-5
-1
0
-27
0
0
3
-27
0
14
-1
0
0
-1
-22
0
0
0
0
4
0
-9
0
0
0
0
0
0
-32
0
0
0
0
5
0
-79
0
0
0
0
-4
0
-42
0
0
0
0
0
0
15
0
0
0
0
0
0
27
0
0
0
27
0
0
-31
0
-1
0
0
0
0
13
0
0
0
-1
0
0
9
0
0
1
0
0
0
5
0
0
0
3
0
0
-18
0
13
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
17
0
31
-4
0
0
0
0
0
-24
14
0
58
-48
-1
0
26
-42
0
13
-97
0
0
9
-79
0
0
-61
0
0
-8
-39
0
1
-21
0
0
3
-38
0
28
-9
16
0
0
-8
0
0
0
1
-7
0
7
-4
-5
0
0
0
0
24
0
0
5
0
0
0
-46
0
-1
10
0
0
6
36
0
22
-61
0
0
-8
-32
0
9
-23
0
0
32
-24
0
-14
-28
0
-4
-4
-14
0
0
2
6
3
0
-115
0
-3
15
0
-3
0
-16
0
0
8
0
-21
0
-22
0
0
0
12
0
0
29
6
0
0
0
0
0
1
0
-20
0
0
0
0
-57
0
0
-3
0
0
13
9
0
-1
1
0
-2
89
-71
0
6
26
-3
0
-3
-27
0
17
42
2
2
0
29
0
0
1
0
4
0
44
0
8
0
0
8
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
27
-5
-64
-35
0
-13
14
7
0
34
-3
0
-30
-30
0
16
-6
13
0
19
-1
0
7
19
-3
0
-7
-10
0
-1
-15
39
0
21
1
0
2
-63
5
-7
-2
-100
-1
-20
13
-99
3
14
-37
22
10
-37
35
0
2
19
-20
13
0
-29
0
2
9
-15
0
-4
0
0
-73
50
-40
5
-6
-105
0
52
-5
1
-2
65
-8
0
-4
-12
35
-31
31
-33
0
10
4
6
-12
-19
23
0
93
-36
2
-12
-39
29
0
-47
19
0
-4
55
49
0
12
2
1
-16
-60
-82
0
0
-5
50
5
1
-5
0
0
9
43
8
0
-49
0
21
4
0
-92
-24
0
0
8
-61
-7
42
-13
-14
0
34
7
-7
57
14
-7
0
-58
-61
17
67
34
13
0
41
-22
2
43
23
0
0
7
-73
-1
-2
-59
-137
0
0
50
25
25
-1
0
0
4
54
54
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-127
0
0
0
0
0
-2
-32
1
58
24
8
0
59
58
0
10
54
-3
0
3
-6
1
0
-42
19
-3
-13
59
0
0
55
0
-3
12
-2
0
-8
-16
-2
10
0
-7
0
0
-3
0
18
0
-75
3
-5
0
0
-2
0
0
-5
0
0
0
0
4
-83
0
3
4
0
0
0
63
0
0
-34
0
6
1
27
6
0
0
-3
0
-9
20
0
0
-27
0
3
0
-3
0
0
20
-3
-2
-2
-12
0
0
0
0
-8
0
6
0
0
4
0
8
0
31
0
0
0
0
0
0
-129
0
0
0
0
0
0
49
0
4
1
0
0
1
-1
0
0
0
0
0
0
7
0
8
-1
0
0
0
-5
0
0
-20
0
0
0
-29
0
37
-1
0
0
0
66
0
-15
2
-2
0
0
-23
0
-9
0
0
0
0
-8
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-22
-119
15
-39
-92
-1
1
1
-10
12
-2
34
19
3
57
67
29
16
-11
-15
-9
-30
-18
9
-43
41
-2
4
-46
-67
2
-16
-50
-53
-9
49
26
-2
4
27
35
-4
21
-20
9
-25
-27
0
-3
20
21
8
41
-76
-22
0
-51
-93
18
18
1
-19
-6
97
-119
-18
-12
22
-50
-9
-43
-75
7
-30
-20
25
8
48
-1
9
-25
-4
-23
-9
-40
-80
10
79
13
-9
-16
-25
26
8
15
11
4
-5
53
-40
14
6
26
49
6
-14
78
-11
23
19
14
-26
-10
42
-41
47
-29
4
0
-7
-15
-4
-6
-50
-47
11
25
-83
-2
-2
-60
33
-21
-5
-27
3
-39
88
-8
-1
6
56
-2
5
-76
-1
-14
72
23
30
6
12
-34
-3
-25
17
16
37
-18
-61
-10
-1
-18
9
32
-15
-28
-3
-16
-25
1
-13
32
-70
-17
-16
49
-9
34
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-53
50
14
6
1
3
-74
-33
10
24
8
-42
-4
-48
14
14
8
22
1
-9
-84
-14
23
7
-11
-43
-24
-114
-38
0
-2
-62
20
-29
-44
-68
0
50
38
-73
-5
-25
-5
10
-2
-20
0
66
1
58
34
-2
0
-13
-4
0
6
-8
-1
8
14
0
-5
20
25
-68
115
19
-6
9
57
5
10
24
35
13
60
31
15
-2
13
-54
-31
-9
-27
69
10
-38
17
41
-77
2
0
-1
18
-44
-61
-63
-71
0
-25
-33
9
26
37
-98
0
-2
-18
-1
34
0
4
25
-1
-1
-2
27
0
-12
-2
-4
2
-12
0
-23
-58
0
-14
5
8
10
-19
-9
2
-75
-76
-23
0
-36
24
6
12
-41
7
2
-5
12
-12
-47
39
-15
0
27
-58
-6
-115
3
20
-19
-33
-67
12
-2
-53
-48
-12
-1
5
-1
-108
8
5
-52
0
29
29
8
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
0
21
27
0
0
9
81
2
-12
-31
116
0
10
7
-4
-2
-15
0
3
-35
-24
0
0
-92
-3
0
-41
26
0
0
-44
20
15
-30
-5
-4
9
-143
-105
-8
-22
-82
1
0
39
1
-7
0
-5
-2
9
0
-38
-1
3
-108
47
0
-1
0
0
-18
38
66
43
47
-46
-49
36
-19
5
-5
-84
-2
16
-29
5
10
-3
-54
14
24
21
-2
-1
14
-1
10
19
-24
21
3
10
1
7
49
-8
33
0
4
-116
0
41
-3
29
-4
0
-5
-41
-108
0
-13
5
18
0
0
7
0
-30
3
2
3
0
0
-1
-25
2
14
-38
0
0
0
-21
0
-8
65
25
9
-3
-33
0
-5
-13
0
2
-46
28
-1
17
-62
-77
-3
-9
0
0
-24
7
-2
3
1
20
4
-2
-94
-17
1
0
-25
2
81
-6
-4
-37
0
-66
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
-2
-3
3
0
0
-33
31
0
41
32
-55
-1
19
-16
0
5
58
0
0
44
-54
1
-2
-37
-10
0
-21
-38
-2
1
-53
3
-3
-3
-149
8
19
-43
43
-14
0
-49
0
0
0
0
-22
0
-47
-33
-19
0
38
0
0
-42
-4
0
0
0
0
-3
76
0
-8
-1
-1
0
-9
-64
0
-3
-93
-6
6
102
20
0
-1
-42
61
-39
14
21
-3
-4
47
43
19
41
-34
25
0
-2
-41
-27
-2
4
0
0
-13
-10
-23
0
-17
0
0
-3
-58
103
0
-46
-5
0
0
0
20
0
-37
13
0
0
0
0
0
19
0
2
0
0
1
8
37
0
0
3
-6
1
41
53
0
52
30
0
0
6
-10
0
-10
-48
18
-4
-5
-6
0
-32
-57
-8
0
-1
-23
0
-18
89
1
18
0
-27
0
-114
-10
-2
-6
0
-52
16
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
2
47
0
0
-70
-87
0
37
-35
0
3
11
-93
0
8
-35
0
-6
16
-23
0
-7
-55
25
8
31
-45
0
-2
-14
1
5
13
8
0
29
-52
0
-24
54
8
0
-7
0
0
98
0
-24
-45
-7
0
8
0
0
-50
10
0
-8
0
0
-25
-43
0
46
79
-1
-7
20
-54
0
-8
-31
0
55
-49
-78
23
-24
8
0
8
11
-38
0
13
36
-14
-17
29
-18
0
-1
4
0
29
65
-32
0
2
18
0
3
58
2
-4
20
39
30
17
0
-40
31
0
-4
0
-8
4
33
34
0
3
0
0
-25
57
0
-31
66
0
-2
-16
-98
0
6
33
0
5
25
-74
0
7
86
-4
0
71
-35
-5
19
17
0
47
-4
18
0
12
44
0
-25
1
31
0
-3
39
-1
-25
-8
-26
0
79
1
0
48
0
-54
-67
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
5
-2
0
-43
2
0
0
8
-7
0
0
38
0
0
0
-5
0
0
-12
5
0
6
-13
0
0
5
0
0
0
10
0
-3
-1
0
0
0
10
0
0
0
0
0
0
-31
4
0
0
0
0
0
19
0
0
0
0
0
0
71
0
0
-2
0
0
1
-16
0
0
4
0
0
-4
1
0
0
1
0
0
6
-2
0
0
3
0
0
9
-26
0
0
-8
-3
0
0
66
0
0
0
0
0
0
9
0
0
0
0
0
0
59
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
10
0
0
0
0
24
0
0
-3
0
0
0
21
0
0
0
0
0
0
59
0
0
0
0
0
0
33
0
6
0
0
0
0
5
0
0
0
0
0
0
63
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-137
-44
0
-14
-89
-22
5
-8
81
19
5
-9
5
-3
-55
-31
0
15
-15
-54
-15
7
1
0
-3
-4
6
29
-66
-24
0
10
-5
16
19
-46
-19
8
10
-9
-8
-46
0
6
-50
-10
0
138
13
-1
-18
57
2
10
20
5
-1
28
-2
-23
-67
10
-22
-41
6
0
10
11
37
-14
6
41
1
27
-47
54
0
-104
-29
0
-9
-26
-5
68
33
10
3
8
-4
22
-5
-24
-11
0
12
-40
-8
20
13
10
-3
14
-88
56
31
0
10
-30
-5
8
0
22
0
-59
20
-8
-2
0
0
-8
7
5
42
11
0
0
13
16
-6
1
48
40
5
-8
16
10
11
-45
-3
-7
3
-21
0
-45
-28
-50
5
31
-16
-6
-92
24
4
18
-4
31
0
-1
23
-20
31
0
44
0
1
16
8
30
2
-5
-2
-8
4
75
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
27
-14
5
8
-54
31
14
-17
-36
3
-7
13
24
1
17
19
13
2
-61
-4
-12
-31
42
6
12
63
-21
-6
-62
-4
10
10
-46
-25
-17
-73
-22
20
-25
15
50
-2
30
6
2
-20
47
-53
2
-24
-148
12
-72
43
-96
0
-28
7
-36
-30
-21
-33
3
-54
-23
-8
51
35
-2
15
0
1
-10
-35
35
-1
-4
70
21
15
2
1
-5
2
39
26
20
11
-26
-37
-5
6
41
-14
1
-2
-41
-8
43
37
-12
23
4
-41
-1
22
-70
46
74
12
-61
6
62
-68
-98
7
-49
-36
0
-50
-21
-39
-31
6
-70
-34
-155
-5
-10
-12
44
-26
-5
19
-26
-23
19
-44
-23
-9
30
22
6
18
-43
-29
-3
58
31
-18
41
-36
-26
-5
35
-28
0
11
-12
-23
9
-3
30
-26
33
3
23
8
11
-69
10
-7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-18
0
39
14
-12
0
-84
8
0
0
81
0
0
35
-13
0
4
69
-7
0
22
-28
0
0
-31
0
0
-24
-54
0
-31
41
0
0
0
-5
0
0
0
0
0
0
4
14
8
0
0
0
1
16
0
8
0
0
0
-12
-27
0
0
24
0
0
24
-19
0
3
13
1
0
120
65
-37
2
12
0
0
31
-108
0
0
32
0
0
8
61
0
0
-17
-3
0
1
-78
0
6
1
0
-1
0
-17
0
0
-9
-75
22
0
-33
0
0
0
0
0
0
14
14
0
-1
0
0
0
117
-3
-41
0
0
0
0
16
0
10
19
0
0
-1
-20
0
-3
-6
0
0
0
83
0
-2
0
0
0
2
46
-1
-14
0
0
0
0
13
0
0
2
-1
0
0
42
0
19
0
7
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
51
0
41
12
13
0
82
-74
0
7
13
0
1
55
21
0
0
-25
-1
0
5
-22
0
0
-18
0
0
-9
31
0
-42
23
2
0
0
-36
0
0
0
0
21
0
14
47
0
0
25
0
0
0
-2
0
7
0
0
75
110
0
0
-5
0
-12
82
-65
0
0
-6
0
0
7
-38
0
0
-14
-22
0
-3
44
0
0
-5
5
0
32
-38
7
0
36
2
5
0
-11
0
0
-3
0
0
0
-21
25
0
0
-14
8
0
-5
0
0
0
0
0
0
27
-8
0
0
0
0
1
-22
0
39
0
0
0
-4
-1
0
3
-8
0
0
0
-91
0
-21
10
0
0
0
-14
0
0
-31
15
0
0
28
0
44
-4
0
0
0
55
0
5
-55
0
0
0
-15
0
39
0
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-15
-3
15
-22
13
-4
8
49
-5
27
14
-6
0
3
33
-3
6
19
4
83
10
53
8
9
-2
39
-13
-15
-14
0
22
-9
67
-20
-21
-28
-1
8
-24
-4
-14
0
11
21
-35
0
-9
16
-5
36
-14
1
0
0
6
-41
44
13
37
-40
-30
-35
-84
-12
-9
34
57
9
58
-42
14
4
-14
-33
7
54
-18
2
18
6
4
28
-16
-35
32
0
-1
24
16
6
-9
-44
-1
1
-17
22
12
-44
-27
5
-13
54
36
-10
0
-16
-42
0
0
20
5
1
13
-112
4
0
-1
0
0
20
1
-2
49
0
-2
-10
7
-1
-28
-90
1
1
61
36
0
39
-48
42
-5
8
36
1
-15
-34
-99
-53
75
51
-1
-47
-47
-4
60
60
3
0
0
14
23
43
15
-12
1
-47
10
-3
77
0
-81
-87
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
-67
-9
0
0
-10
-3
0
-8
25
0
0
9
-67
0
0
51
0
0
-2
-16
0
0
0
0
0
0
-56
0
-15
-4
-8
0
0
0
0
0
0
0
-1
0
-16
-8
0
0
0
0
0
18
0
0
0
0
0
0
17
0
0
0
3
0
0
-4
0
0
-1
0
0
-8
-15
0
0
25
0
0
-4
-49
0
0
-7
0
-12
0
-13
0
0
-2
0
0
-1
-22
0
0
0
0
0
0
24
0
0
0
0
1
0
-17
0
0
0
0
0
0
-10
0
0
0
0
0
0
43
0
-3
0
0
0
0
53
0
0
6
0
0
0
3
0
34
0
0
0
0
5
0
0
5
0
0
0
24
0
1
-2
0
0
0
31
0
0
0
0
-1
0
-20
0
5
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
49
23
-1
0
-36
-84
0
0
-73
-5
0
-10
-93
0
-2
-17
-31
0
-54
29
0
0
86
0
0
20
-5
0
-68
-15
0
0
8
-35
0
0
0
0
0
0
42
5
-5
4
0
0
0
47
8
0
0
0
0
0
-33
0
0
16
0
0
25
53
0
0
41
0
0
-33
31
0
0
65
31
0
17
11
0
3
66
4
0
12
-60
0
0
-29
-8
0
-3
-7
0
0
25
0
0
0
53
0
0
0
-1
0
0
-97
0
0
0
0
0
0
49
2
0
0
0
0
0
12
0
-41
-3
0
0
-1
87
0
0
19
0
0
-7
53
0
-33
19
0
0
0
6
0
0
-41
0
0
-2
-80
0
-42
-4
0
0
4
-113
0
-1
0
0
0
0
-39
0
6
0
14
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-12
-66
-71
-47
-32
-5
-52
19
16
-88
-18
-43
-14
-34
9
-10
42
-12
-25
31
-19
3
3
-22
-23
-28
13
-13
9
-8
16
-3
-31
-37
-2
6
-23
-6
-1
-57
7
-18
-11
-34
-30
-15
9
18
47
-28
-3
65
-5
-17
-75
30
28
31
-50
19
-55
5
-38
32
-22
-62
-8
10
-51
-34
3
7
90
-19
68
46
-77
-13
20
-18
-43
-3
-60
76
24
5
85
-65
-6
5
-21
5
-19
-7
16
-83
-11
0
15
4
-25
-1
-34
9
0
-63
5
-49
10
-10
-2
20
2
-3
28
-11
-32
-13
-5
14
47
95
-64
3
-12
93
15
1
-79
-20
-31
-33
-22
6
45
14
58
-51
-57
15
-6
12
27
6
-9
-66
-84
27
33
-103
11
67
85
-2
29
-8
-18
-74
0
-20
-1
-5
28
22
5
9
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
21
19
5
-32
-52
-122
3
-2
31
-16
-2
4
-89
-3
-13
72
49
30
-23
-47
-6
-22
-3
5
18
-8
-27
-43
-17
-21
-30
4
-8
32
4
-4
6
-55
-52
17
11
-25
0
-116
-90
-10
-66
-37
32
9
34
-24
-24
-73
-68
-81
0
11
15
-44
-22
7
-77
-27
76
-36
-61
45
-32
-30
-9
-58
50
-16
-75
-6
-17
3
11
16
17
-30
2
24
-1
0
-34
35
12
23
2
12
45
48
46
30
19
-14
17
23
-1
4
-7
-27
5
-6
-112
70
24
-49
46
-21
-5
-66
-16
-41
-20
-6
-137
0
-60
-31
-20
17
-35
-26
-43
18
94
-32
-43
-19
-72
-10
75
27
-18
-66
-4
-88
8
-7
-24
57
83
-23
-90
-5
-57
66
40
39
-7
34
23
-10
24
73
26
10
-9
40
-8
-19
-29
13
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
5
0
0
-53
0
0
7
-44
0
1
-39
5
0
22
10
0
-2
10
0
-4
0
-19
0
-20
41
1
0
0
-45
0
0
0
0
0
0
58
-1
-2
0
2
7
0
22
0
0
5
0
0
0
-39
0
16
-22
2
0
0
-109
0
0
-1
0
0
-6
-7
6
31
-21
-5
0
-16
24
0
1
-16
0
0
-3
42
-1
-1
8
-4
0
0
26
0
0
4
0
-7
0
-10
0
0
-9
0
47
0
10
0
0
0
0
0
0
-5
-15
0
-2
1
0
0
-23
0
-13
0
0
0
0
-34
0
0
4
-2
0
1
41
0
31
23
3
0
0
-172
0
-1
-3
1
0
0
2
0
-3
0
0
0
0
-27
0
0
0
-2
0
0
69
0
8
0
1
0
0
-41
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
74
-35
-7
15
-85
-16
-8
-11
-15
-24
19
21
-8
11
-22
-50
-12
75
22
17
19
5
12
-3
2
-12
-1
7
-4
-19
-56
5
-11
-19
19
-41
-28
-49
-54
15
-29
-15
-40
-36
5
-71
-29
-27
-2
-52
-23
4
-16
61
73
27
53
-8
18
75
64
4
-2
44
13
-7
52
33
3
0
18
-55
-5
48
94
-10
7
-46
-78
-21
9
5
-58
23
-35
-35
9
30
21
17
5
-31
-93
25
-8
-13
7
15
-38
-83
-8
-11
-57
18
8
18
-60
30
56
-9
-12
-11
-71
-48
5
-10
55
-21
-18
-92
-38
6
23
-9
28
-19
15
-85
-40
-2
-11
-12
-7
26
-15
-3
52
46
29
9
24
-25
-42
-21
33
-5
9
-24
-11
-67
9
73
-30
3
-3
3
41
40
-12
-13
-5
30
50
-53
29
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
77
67
50
81
55
16
2
92
4
2
-18
11
6
0
-55
40
22
27
-7
-75
8
-8
4
-6
18
8
-17
-5
45
64
-4
13
-3
10
-3
-45
0
-31
-28
60
0
12
57
19
-3
-62
47
31
25
-37
30
57
18
40
44
-1
11
-7
7
47
62
-6
-16
-26
4
-4
24
-49
-18
-9
-37
-54
22
-1
11
2
1
17
58
11
0
30
-2
12
55
-45
45
-41
35
-66
15
-37
-10
-2
2
8
-5
4
40
15
1
-36
5
13
8
-5
52
-6
-72
-4
-58
32
172
48
-5
-21
21
-12
18
-32
14
24
17
56
38
-11
-41
10
38
31
-11
-35
-19
-125
33
-2
12
48
-24
15
-84
-24
27
-11
10
22
-17
19
20
22
28
37
41
9
-8
-35
-7
-92
0
-15
23
3
-76
88
5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
17
31
-8
-1
-1
24
-35
7
-7
6
-13
-6
-27
13
-4
-5
46
-28
-13
15
6
4
5
17
-51
13
0
45
-4
60
-2
-25
0
-4
-1
5
11
1
-3
60
-8
4
-15
-22
0
-4
0
-6
-31
23
40
0
14
0
-41
70
-15
4
-10
-7
-2
12
-4
-10
3
-35
-18
0
-12
37
-11
8
-32
14
85
6
-7
-33
-2
-20
-23
-31
-71
-11
-37
-5
81
-5
0
8
49
8
0
-7
-33
-2
-2
0
11
66
-6
-2
13
36
0
-47
29
43
-31
-1
-22
29
40
5
6
7
0
56
19
-7
10
33
30
0
0
14
17
0
61
75
-12
8
-18
-52
-24
65
10
-3
-34
40
-17
-31
-38
-32
6
-84
34
4
0
-17
50
-5
-15
42
-15
25
18
25
1
-20
13
-11
-49
-16
-14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-17
0
-1
-31
4
0
-2
-67
0
-1
-19
8
0
-6
49
0
2
-6
0
0
-1
73
0
-31
-5
-1
0
0
25
0
0
0
0
0
0
-59
-8
6
0
0
0
0
22
0
-1
0
0
0
2
65
0
0
8
8
0
-8
-49
0
0
120
0
0
3
32
0
0
-13
0
0
-2
10
0
0
14
0
0
-2
61
0
-3
22
0
0
6
-87
0
0
-5
0
0
0
-30
0
0
0
-1
0
0
35
-1
0
0
0
0
0
41
0
0
0
0
0
4
-5
0
22
0
0
0
0
25
0
3
0
0
0
-17
58
0
-25
-3
0
0
4
60
0
0
9
1
0
2
-27
0
6
-14
0
0
-3
-3
0
0
0
0
0
0
51
0
4
8
1
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-6
-156
-20
2
5
-3
-55
0
-110
54
0
-88
47
-13
-5
3
14
-7
-10
-21
32
-12
64
33
23
20
-23
55
-9
-35
-56
-10
-11
-64
7
23
-40
-46
21
4
-56
-64
7
-41
19
11
9
-24
21
-1
-111
76
16
23
149
-39
12
29
-59
18
-3
58
25
13
42
-39
-1
107
-43
-66
-2
20
-2
-9
-2
-31
29
19
97
11
13
-4
3
43
-11
48
-22
3
3
-10
20
10
-19
14
13
-64
50
-19
-3
26
-82
-79
-20
42
-45
-17
-27
6
34
-80
66
-50
-7
90
27
7
-30
67
-10
0
-43
-8
9
-13
-10
-22
10
-69
13
29
42
-11
-58
-16
35
29
0
-13
-31
9
16
94
18
-12
40
3
-49
6
-17
-20
29
-25
-5
54
0
-57
46
-18
66
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-13
32
-78
-49
-33
18
-16
-17
-4
-31
-19
-51
-15
-20
-54
105
-4
16
-1
5
-31
-36
-26
-31
14
66
-27
-32
-1
-4
-24
25
13
-56
-33
7
-14
-36
-23
39
-68
30
4
-14
7
30
-48
6
-24
18
-61
-20
-34
-39
38
-40
0
-42
-75
-12
-33
80
-42
-16
83
-33
-34
6
-11
-45
-11
-8
-29
-13
-3
53
-4
-15
55
9
34
10
8
18
-16
-76
-63
25
5
1
-25
3
-52
-58
-56
-29
-6
47
29
30
-93
-6
40
-40
-24
-18
1
23
18
-52
-19
51
2
-15
-30
-5
22
11
20
0
-47
-5
6
-8
19
-56
-10
-46
-43
-27
18
35
0
-1
8
4
5
-75
46
11
18
-53
4
6
7
-2
-82
-12
-67
44
-18
31
20
-56
8
-21
11
10
-27
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-60
0
2
-61
9
0
2
53
0
0
-18
0
0
-4
3
0
51
-5
0
0
0
-36
0
0
0
0
0
0
18
16
0
0
0
-3
0
-56
-3
0
0
0
0
-5
37
-1
-23
14
-1
5
12
-40
0
-2
-14
0
0
35
45
0
2
4
-2
0
-2
-38
0
-3
5
3
-3
0
27
0
0
-3
2
0
0
1
0
0
12
0
0
0
34
0
-1
0
-2
-4
0
-30
0
0
0
0
0
0
-45
4
0
0
0
0
1
57
2
33
1
0
0
0
-25
0
-9
31
-2
0
-1
-84
0
-22
-18
0
0
0
-71
0
0
0
0
0
0
-75
0
-24
0
0
0
0
3
0
0
0
0
0
0
-20
0
0
0
0
0
0
25
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-46
-6
0
4
6
0
36
37
2
2
28
0
-1
23
-21
0
27
57
-41
-8
0
65
0
0
0
0
-9
0
-17
-32
-2
0
6
0
0
12
-1
0
0
0
-2
18
11
21
-2
-12
-6
0
32
-39
1
0
13
2
2
41
41
8
-2
-8
7
0
-73
-12
4
0
-47
3
5
-4
-25
-5
0
-145
13
19
0
5
0
0
-20
-13
31
0
120
0
0
-6
-6
-23
0
33
1
0
0
0
5
0
-35
0
2
0
0
0
-1
-148
0
4
9
0
0
5
27
0
0
18
41
0
23
57
0
-5
42
-3
0
3
20
0
13
18
5
0
6
-32
0
-2
8
0
0
8
72
0
-2
41
8
-1
1
67
0
-20
0
0
-12
0
-51
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
6
42
-58
2
15
18
13
4
73
28
-1
-49
56
6
-31
9
-2
2
12
-34
15
-10
-20
25
7
-44
-29
-20
-4
-57
-34
-19
38
9
29
37
-54
58
-15
5
-54
-45
21
24
-1
-8
-13
12
18
-5
67
-11
36
-52
-21
-25
-11
0
-48
20
-26
52
33
-2
-47
5
14
38
-49
0
11
-76
-12
21
-2
14
-6
7
13
-56
2
-2
48
-82
-1
8
-36
-9
33
1
-13
21
-14
-40
35
27
55
8
23
-24
94
29
42
22
20
-16
-115
-26
23
-61
11
57
17
-21
46
21
8
42
55
-7
-35
-16
-41
-67
-64
-37
-20
34
-19
-2
12
-7
21
-1
76
7
50
43
97
46
-7
9
4
43
23
39
17
9
9
-42
-12
64
-14
5
7
8
-4
-24
-94
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-66
0
0
29
-9
0
70
-32
0
0
17
0
0
7
6
0
-13
-34
-9
0
0
17
0
0
-3
0
-4
0
-36
15
2
0
0
0
0
-41
0
0
3
0
0
-7
22
5
7
-19
5
-1
-28
75
2
0
-11
0
0
-25
3
0
3
50
-2
0
1
9
0
0
67
0
7
1
-4
2
0
-3
10
-13
0
-13
4
0
18
0
0
1
-50
0
-2
17
0
-54
0
-65
0
0
0
0
0
3
-81
-3
0
0
0
0
0
28
0
18
1
0
0
9
-7
0
0
-18
0
0
49
-10
0
-13
6
0
0
-13
10
0
0
6
8
-7
0
-13
0
69
-5
0
0
0
83
0
0
1
0
0
0
-38
0
-9
0
0
-12
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-14
0
22
-16
-2
0
37
-4
0
0
-32
-1
0
16
-98
0
-65
-1
-6
0
0
33
0
0
0
0
0
0
3
-31
3
0
0
0
0
-22
-8
0
0
0
0
-9
17
0
32
-46
8
0
-8
17
0
0
70
0
0
25
80
0
-3
76
0
0
102
-31
0
0
26
-2
0
25
-32
0
0
8
-9
0
0
-45
0
0
-7
0
0
0
-61
0
0
-2
24
0
1
-24
0
0
0
0
0
0
-23
-2
0
0
0
0
4
14
0
5
34
0
0
-24
0
0
1
-5
-8
0
3
22
0
2
50
0
0
-3
75
0
1
-13
3
0
74
-79
0
-4
-1
0
0
0
39
0
0
-13
0
0
0
-122
0
25
0
7
0
0
-69
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
37
-31
54
-18
78
11
-3
-35
0
11
2
-35
-51
-27
15
0
-12
8
-22
13
0
1
-18
-54
32
-44
4
25
-19
36
-4
53
-2
6
52
-10
66
81
14
-15
46
-26
-5
22
86
2
-48
-55
60
-12
-42
41
-1
3
20
54
-20
-98
-16
-36
41
-22
-37
-3
-13
23
-39
2
-14
28
-5
-2
-1
35
39
16
-31
-2
-50
85
28
-38
-14
8
15
93
43
-13
-67
7
-1
-3
32
-13
-13
28
-7
-9
35
37
-44
15
4
13
-13
2
9
48
63
-75
27
-56
36
41
-11
1
85
49
-12
-32
-51
-16
-14
-20
-1
-13
0
-5
28
29
-12
-112
33
-23
1
-67
-51
41
21
-19
7
31
-50
-16
10
22
-3
14
66
22
5
-41
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-14
-70
-97
19
6
-20
14
-3
-21
-18
-4
-24
-21
33
-6
-47
-52
73
-72
5
16
-18
-38
-9
4
-69
2
-10
-12
-15
-44
22
-16
-11
-16
-16
49
-21
20
2
-51
13
-7
-36
-66
31
-48
-116
14
11
-52
-48
-1
-15
16
-11
0
6
-16
3
63
-63
-5
2
7
-51
23
-21
20
-29
4
12
62
45
-77
-19
19
15
37
104
43
-33
-11
-37
4
-23
-54
78
-35
-56
-113
-1
-41
-101
25
-67
80
-60
6
-78
-41
-3
-87
-86
-27
2
-48
48
42
13
-18
-40
4
-102
22
-14
-73
44
11
0
-51
0
23
20
-19
-45
-14
-21
-13
-10
-19
-31
0
20
-3
13
10
-12
-25
26
2
-13
-16
81
149
-48
-36
-4
14
-60
-18
22
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
21
0
0
-13
0
0
-5
68
0
68
1
0
0
0
-11
0
0
0
0
0
0
111
-17
0
0
-1
0
0
13
0
0
0
0
0
0
-11
0
3
-1
0
0
-5
20
0
0
-15
0
0
1
-34
0
0
63
1
0
0
-60
0
1
-16
0
0
0
-6
0
0
31
0
0
0
-30
0
0
1
0
-2
0
2
0
0
-1
0
32
0
76
0
0
0
0
0
0
-29
22
0
0
0
0
0
3
0
-7
0
0
0
3
-19
0
-4
0
0
0
0
-35
0
-4
0
0
0
0
2
0
0
-8
0
0
0
-49
0
-5
5
0
0
0
-8
0
1
-8
0
0
0
-1
0
5
0
0
-2
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-72
0
0
7
0
0
-6
91
0
-42
-3
18
0
2
51
0
0
0
5
0
0
-28
25
7
0
5
0
0
43
0
0
0
0
0
21
2
25
-2
4
10
0
49
69
0
-2
35
0
0
-7
-67
2
3
42
141
9
-12
23
0
3
-31
-2
2
-2
6
0
1
-51
-19
1
-3
-45
0
-8
-3
0
-1
5
55
-2
0
34
3
5
-1
-42
4
0
0
0
0
0
-44
5
0
0
1
0
0
51
0
5
0
0
6
8
-7
0
-1
-6
-7
0
0
-65
7
23
19
0
-6
12
12
5
0
-3
43
0
0
68
0
-84
-8
-1
0
0
-66
0
0
-2
-4
0
0
49
0
-22
0
-1
-4
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
8
-91
44
39
-18
-30
-20
-35
4
42
3
51
50
-4
-20
57
18
-68
-17
3
10
-7
-12
8
0
-67
-24
19
38
3
-86
48
9
-27
-14
-37
51
14
12
14
-9
-8
67
42
5
20
18
10
-10
-84
15
12
-48
-44
-5
-2
-1
19
13
66
-26
36
7
25
-81
34
-3
-22
55
12
31
35
67
-24
33
22
4
-28
-4
25
7
10
-12
7
-30
7
8
56
13
32
-10
-65
123
-13
-30
32
-42
28
7
13
-37
-14
-38
-73
19
-42
-16
56
-97
-33
-6
-8
1
-13
5
44
-102
-37
-18
25
80
1
-1
-62
-26
1
76
12
43
-52
24
28
-2
63
53
26
-24
27
-45
9
-6
13
-43
-68
-47
86
7
-27
-54
-31
31
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
1
-2
-12
24
-13
71
52
0
0
-1
30
8
-8
36
-25
0
10
10
0
-20
0
26
-40
21
-8
2
66
-7
-33
14
2
0
5
-2
-9
23
-16
42
-6
-2
-13
33
-24
3
15
40
1
-33
39
-11
5
0
6
-8
49
-34
1
25
-9
9
0
19
46
-18
-1
-8
8
1
110
80
-13
0
-2
91
0
59
17
18
2
-18
-3
12
9
0
-4
-42
-18
-2
0
-23
1
-20
-11
3
16
0
0
-42
-14
-1
-11
141
0
0
60
-7
0
49
18
0
0
90
16
0
55
-26
-4
5
-104
21
-2
21
-54
-30
-16
-6
-11
1
-44
-2
-2
9
6
21
0
91
21
0
112
8
9
1
7
-57
12
74
0
9
-48
4
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-114
0
0
-2
0
0
-17
-46
0
-15
48
-75
0
-4
6
0
0
0
0
0
0
5
10
-27
0
8
0
0
48
1
0
1
0
0
0
-15
2
-18
-51
5
0
-45
30
-1
0
-36
0
0
62
-33
0
-5
85
-45
0
41
-39
4
0
-7
4
0
-32
-11
0
-8
-4
-31
0
-13
59
0
0
24
0
0
7
22
0
-1
-20
-12
0
0
24
0
0
0
-3
0
0
32
-7
0
0
0
0
0
3
0
5
-7
16
0
-3
30
0
-5
-29
-31
0
-27
-105
0
-49
-90
2
0
45
-40
0
0
25
-3
0
-2
-75
0
102
17
0
0
3
30
6
16
-3
9
0
0
-25
0
16
-1
0
0
0
-37
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
67
-13
11
20
-5
-31
19
-1
16
33
63
-15
-21
0
15
-82
5
13
-12
42
-3
-11
-53
-22
-21
0
-20
36
-27
-13
11
13
-10
-7
-40
6
-31
5
25
0
-26
-63
4
-60
87
30
21
22
6
4
16
-36
24
13
-45
25
33
6
48
0
48
-22
-88
0
-13
27
15
-26
3
15
16
-5
-42
-18
11
27
0
19
56
8
-1
5
-21
2
-3
0
0
-42
19
0
-59
8
89
22
21
0
58
-81
5
0
-52
11
-56
-19
-51
14
-12
5
16
-61
-49
36
4
17
18
14
-24
-11
56
5
-51
13
-8
-8
10
-4
-7
-5
28
16
40
-3
0
-6
1
-15
40
-21
-28
0
5
-16
-6
-27
-91
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
74
-9
2
-24
12
60
-12
-35
41
-5
7
-24
-42
-9
34
13
25
-53
-74
-31
11
-31
23
15
-104
10
44
1
-16
-26
21
-11
-52
-17
-16
-52
-6
15
-125
-20
-10
9
7
-48
1
-9
-25
31
2
5
2
14
-3
39
29
0
4
43
19
1
-62
19
-16
-39
37
13
-22
4
76
21
-24
-77
35
-43
-40
-1
-10
-40
-110
2
-33
-23
-44
20
20
-96
21
-10
-21
31
3
15
30
-32
-53
-111
-112
25
7
33
-13
40
9
-21
14
95
-8
10
-67
-18
12
17
-69
3
-18
-14
-1
75
0
15
27
8
-27
36
-3
-2
7
6
-2
14
42
-2
-7
-41
-50
17
41
5
-31
11
-22
35
-59
-59
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-34
0
23
1
0
0
0
2
0
0
0
0
0
0
-12
0
1
0
0
0
0
-16
6
0
0
0
0
0
-26
0
-1
7
0
0
3
-41
0
0
-13
0
0
-3
-24
0
0
28
-6
0
-1
26
0
0
-16
0
0
5
-42
0
0
-8
25
0
12
29
0
0
-2
0
0
0
8
0
0
0
25
-6
0
-45
0
0
0
0
0
0
1
7
0
0
0
0
0
-30
0
0
0
0
0
0
6
0
6
-1
5
0
0
-5
0
20
-8
0
0
0
52
0
-4
0
-8
0
0
2
0
1
0
0
0
0
74
0
0
0
0
0
0
-43
0
-1
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-24
0
-64
5
120
0
0
-34
3
0
10
0
5
0
-47
-2
23
0
0
0
0
14
-1
0
1
0
0
0
43
-10
-8
-2
0
0
0
50
0
-8
35
0
0
-8
-62
0
0
101
-4
0
-20
4
0
4
-29
0
-4
-1
-15
0
0
7
5
8
0
-15
0
0
2
0
-8
0
-25
0
0
-42
-1
27
0
22
0
0
0
0
0
0
-28
0
0
0
0
0
0
-42
0
0
1
0
0
0
55
0
0
-3
-2
0
-6
49
0
0
-8
0
0
0
-5
0
5
-3
-2
0
0
-47
0
1
24
0
0
2
49
0
0
42
13
-25
0
29
0
-9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
15
-10
-15
-3
0
-24
61
-2
-38
-3
0
-29
-18
-1
11
-18
-19
-2
0
-1
7
5
-54
-42
38
-7
4
8
1
-25
19
-5
14
-44
-6
16
-13
-2
-9
72
-14
23
19
-26
12
32
-6
-28
32
-13
118
33
17
19
34
1
14
30
10
43
15
-2
84
9
-6
22
-93
6
16
56
16
-2
-50
-40
-9
-3
-3
9
73
-9
-5
-66
-4
18
-16
-8
-25
49
-72
23
-47
-3
36
-34
-27
-2
19
-8
14
49
86
-10
6
-32
-5
19
-52
-8
14
29
26
6
2
3
-13
-30
-55
41
14
5
-25
-12
67
-5
104
13
7
-10
50
50
5
-4
2
9
-12
-46
-34
-21
-20
35
-2
-90
-84
12
-55
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-40
-22
0
0
14
42
0
0
0
0
-20
0
2
1
1
0
0
0
0
-76
5
0
0
0
0
8
21
-2
-2
-18
0
0
3
-15
0
0
-5
0
0
56
-17
0
8
9
3
0
5
-29
1
0
-73
0
8
-27
-20
-4
0
-47
0
0
50
35
0
6
-47
0
-5
3
-38
0
0
-1
9
61
0
0
2
0
0
0
0
0
-84
5
0
0
0
0
-7
-47
0
27
3
0
0
2
-71
0
-20
29
0
0
-2
6
0
-19
66
0
0
4
-13
0
0
84
1
0
0
-11
2
-69
10
0
0
0
-48
0
0
39
3
3
0
-24
0
-9
-42
0
-6
0
-105
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
50
0
-19
44
-17
0
5
41
0
0
-1
0
0
0
-4
14
12
-2
47
0
-3
-63
-18
0
0
0
0
33
45
0
9
8
32
0
-51
-11
0
0
-50
-7
0
-75
-26
43
-4
123
-50
0
6
-55
8
-24
-13
0
0
-22
23
-8
0
9
14
-8
56
10
0
0
33
0
0
0
-51
0
0
22
10
0
0
8
10
0
0
2
0
0
24
5
0
0
-3
0
-1
-74
0
-19
-19
0
0
10
-31
-1
-1
10
-17
0
-3
43
0
90
80
1
0
-8
-28
0
22
-30
-17
0
9
11
0
-21
19
0
0
-51
-37
0
17
-17
-6
0
0
-8
0
-30
-6
0
0
0
-58
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
65
2
2
-38
-6
-23
0
-31
-23
56
0
-91
3
0
-27
-4
5
0
-1
-3
-7
-34
19
-60
-13
-1
54
70
-17
1
3
-17
-15
0
63
58
3
-84
12
16
-34
-5
26
-30
42
40
7
-31
-6
-12
0
10
3
-19
-12
0
-6
-6
9
-27
27
-1
6
13
0
21
-4
-33
67
0
-35
-13
0
0
-2
-3
-1
-40
-89
-3
0
12
0
-18
-33
1
-86
-35
0
-55
49
-4
0
-81
25
-50
-2
-66
5
-8
-79
2
16
-6
-14
1
-6
-32
16
-7
15
1
-7
0
-22
-22
-8
0
4
-8
0
-24
58
-31
5
0
-43
0
-4
-7
43
-6
0
-50
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
7
56
12
-18
9
11
12
4
-6
37
-4
-72
-30
-12
-6
-23
-45
15
61
-2
-9
10
13
-11
-12
13
-8
15
-6
-57
3
13
-21
-26
-6
-13
60
-19
-3
-16
-37
18
-6
-22
2
2
-27
-14
28
-20
-58
11
-17
-11
-40
95
0
37
-42
26
20
12
139
35
0
-50
39
-72
-2
4
-4
-16
15
41
-96
-40
42
8
22
12
25
15
13
-26
16
67
-18
34
44
-7
-12
17
-39
-41
-11
-37
24
-20
10
-98
-19
8
20
-3
17
2
-26
-9
-4
-63
82
-41
-7
-13
4
26
67
0
5
0
-31
-80
32
-36
40
56
24
5
36
-14
-10
-24
192
10
24
6
10
-65
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-99
8
0
0
0
0
0
82
0
0
0
0
0
0
21
0
0
2
0
0
0
76
0
0
19
0
0
0
-31
0
0
25
0
0
4
-9
0
0
9
0
0
0
-66
0
0
1
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
6
0
38
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
9
0
0
0
0
-5
0
3
0
0
0
0
-19
0
5
0
0
0
0
41
0
0
-1
-1
0
0
-31
0
0
2
0
0
0
54
0
0
0
0
0
0
83
0
-6
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
14
-10
-1
-3
-78
-47
15
7
-112
-3
63
2
10
104
22
-42
-22
-55
-60
-102
47
6
23
-44
0
-20
5
10
-4
-5
-39
-17
23
75
-11
2
-76
12
-6
19
27
1
-23
13
-24
4
-50
4
-49
-22
-74
-17
13
2
11
13
13
-5
49
-2
-12
-20
43
21
37
-90
-45
-22
30
-2
15
-28
-16
-27
5
71
-27
11
43
-31
25
-42
14
-76
-27
-60
39
-30
-72
-25
-5
15
63
-37
-19
9
2
-30
-17
42
-41
-14
-35
-26
58
-8
-39
37
14
25
-64
-67
2
-9
-28
22
1
-67
60
2
44
-8
-15
23
13
50
20
21
-66
31
-21
-5
-15
33
20
-51
-14
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
23
0
1
-3
-37
-33
-8
-15
-28
-47
-3
-5
1
7
-24
-60
-13
6
-3
0
45
11
-48
5
-41
15
-15
-48
27
14
16
-5
5
31
-40
15
13
-24
-9
-6
-14
-46
-5
1
-103
-66
-46
-49
9
-47
7
-96
-19
8
-61
2
-10
18
44
-30
37
-16
-45
39
-6
9
41
-61
-26
0
-28
-17
8
0
41
-3
0
-36
8
4
-5
9
-1
49
-20
-3
-35
-25
-4
-25
9
-21
-13
-41
-23
8
8
-38
-4
31
42
-31
13
0
24
-36
-37
-7
20
-61
2
0
-10
0
35
22
-17
83
-1
29
-2
-47
-16
24
-83
-5
23
2
-26
-37
-1
46
0
-19
-12
42
1
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
13
0
-1
-92
0
-37
0
11
-66
55
0
1
0
0
-3
-64
-4
-8
20
1
9
20
-8
-36
51
-7
-34
69
2
-2
10
28
0
45
24
9
1
67
4
13
-6
85
-14
3
25
13
8
55
13
-5
1
-6
15
-2
50
-17
-2
0
-3
-6
0
14
-4
-2
0
-2
39
0
34
0
18
13
0
0
-17
-19
0
5
-58
0
-3
0
0
-43
-34
0
15
40
0
-7
5
-9
-1
-2
58
0
6
-39
48
-3
70
56
0
-2
53
-18
0
17
-3
7
1
39
-4
0
94
23
0
33
-8
3
0
8
-4
0
-3
-10
-15
0
-62
38
0
-11
0
35
-1
10
-10
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
0
0
-2
0
0
0
33
34
66
0
18
0
0
12
5
9
0
0
0
-8
-18
9
5
-52
-53
0
-54
13
0
0
13
0
0
-16
12
0
2
16
-9
0
67
-11
0
-5
51
25
0
-26
-32
2
4
-92
-24
0
30
24
0
0
-32
0
0
-5
-70
0
0
-14
5
0
0
29
1
0
0
-5
0
1
23
25
0
0
0
0
-4
12
0
-4
0
0
0
12
60
0
1
-22
-10
0
-4
-13
0
-8
54
7
0
8
-11
0
15
23
-5
0
-6
-21
5
57
68
0
0
35
-35
4
-15
9
17
0
6
-79
0
76
-4
-5
0
0
-28
8
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-28
50
3
-20
0
0
1
19
0
0
0
0
8
-40
1
-3
14
35
57
-26
15
0
1
12
0
-13
4
15
0
3
18
17
-3
23
54
0
6
12
39
36
-1
60
0
0
40
-29
-20
0
13
-4
-2
-42
-4
30
0
68
0
0
0
-8
-63
0
9
25
0
0
6
1
0
14
-1
-6
0
0
0
0
4
-10
16
-34
0
1
-14
-5
0
2
-29
0
2
-7
-35
0
-19
-3
0
-10
19
4
0
0
-20
2
2
-4
1
0
47
21
0
-5
0
-46
0
0
-24
4
1
0
40
0
14
-3
-2
-8
0
-31
28
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
63
-15
14
25
-3
3
3
11
0
-6
-107
-33
31
12
-86
-1
8
-21
33
-8
-7
41
22
-13
-56
-31
1
-3
-31
9
0
3
-90
-7
0
-16
21
19
-6
-11
-12
-10
-3
10
-7
-22
-52
39
7
-1
-41
-1
21
-2
28
0
23
-38
-3
17
5
-1
-12
25
7
-53
-118
-27
-4
6
15
19
-5
35
29
13
11
34
8
56
-48
20
4
24
-39
-31
-11
38
-9
57
24
24
-19
-3
12
91
38
1
58
-11
-7
17
-7
60
-5
-28
-10
-23
-85
-28
-25
-6
68
-50
17
37
55
-59
0
6
44
-2
51
20
-12
-2
26
-19
-30
-10
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
-6
0
0
0
0
0
-34
0
0
0
0
0
0
16
0
0
-8
0
0
5
-22
0
0
8
0
0
-5
-42
-1
0
-20
5
0
0
-14
0
0
-1
0
0
0
104
0
0
1
19
0
0
-69
0
0
-8
0
-3
0
2
0
0
0
1
-1
0
-22
0
0
0
0
24
0
69
0
0
0
0
0
0
8
0
-2
0
0
0
0
-27
0
0
0
0
0
0
-53
0
0
0
0
0
0
22
0
2
0
0
0
0
35
0
13
0
0
0
0
31
0
0
-1
-14
0
0
-1
0
2
0
0
0
0
-2
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
1
0
0
0
0
-40
-7
0
0
0
0
0
-4
0
0
-1
-1
0
-8
-21
0
0
-7
0
0
48
84
2
0
-4
-1
0
-20
51
0
0
26
0
20
3
-44
0
0
-3
-1
0
-3
-43
0
0
-3
0
-4
0
-24
0
0
0
0
-2
0
8
0
0
0
0
0
0
-22
0
0
5
0
0
0
3
0
-2
0
0
0
0
42
0
0
-2
0
0
0
76
0
0
-1
0
0
0
16
0
0
-1
-6
1
0
-8
0
1
0
0
12
0
2
0
0
2
0
0
0
-42
0
-2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-5
0
55
-6
0
-14
4
0
0
0
0
0
53
67
-10
8
31
18
1
-5
0
0
-44
0
5
29
26
2
-2
7
-31
23
-27
30
-2
0
-19
0
42
3
-20
0
0
13
-2
66
-1
33
0
0
0
0
31
0
23
0
-13
0
-43
18
0
-41
13
0
0
-13
0
0
-84
0
0
0
0
0
0
-32
0
-9
-14
0
0
0
-83
0
7
9
0
0
0
40
0
49
5
0
0
-1
15
0
-1
-1
-29
0
0
-14
0
-43
-1
0
-3
0
15
0
2
0
-1
-10
0
-8
0
13
0
0
-3
0
-30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
23
-7
0
0
0
0
-19
-7
0
0
0
0
0
-88
0
15
13
0
0
12
-4
0
0
26
0
0
42
-34
0
5
-41
-6
0
25
-29
0
0
-13
0
2
20
-2
0
0
5
13
-3
4
-67
0
0
41
0
-6
-8
47
0
0
-17
0
17
0
5
0
0
0
-4
0
0
-35
-7
0
0
0
0
0
79
0
1
0
0
-3
0
-2
0
3
-6
0
0
-5
-105
0
5
-1
0
0
0
14
0
17
75
8
39
0
34
0
-5
9
0
-3
0
27
0
0
0
5
0
0
-36
0
0
0
0
2
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-31
-40
-48
0
-94
0
2
-46
-58
9
0
0
0
-58
31
-7
27
49
-23
0
5
17
0
5
12
-3
0
72
15
-2
8
-11
-31
0
12
-11
-10
-21
40
-4
0
141
31
0
-7
36
3
0
-34
-18
0
-5
-81
-2
0
16
21
52
-5
-43
-93
0
0
-22
69
0
0
4
0
0
5
46
0
8
-3
0
10
-37
3
45
-17
0
0
23
7
0
48
-3
-4
0
-9
29
-15
-34
-19
-4
0
-21
-20
0
-18
62
-2
0
-51
20
-2
26
22
7
0
0
31
3
44
-26
2
0
39
-6
0
-78
9
12
0
0
3
-96
7
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-35
0
0
0
0
0
0
-44
0
0
0
0
0
0
26
0
0
-2
0
0
0
10
0
0
2
0
0
0
-40
0
0
6
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
-12
0
-31
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
37
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
-3
-4
0
0
0
1
0
2
0
0
0
0
50
0
0
0
0
0
0
-9
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
3
-46
-20
49
-10
38
-9
-55
-13
-19
22
6
20
2
-7
39
31
-13
12
22
-10
-94
-31
13
6
-20
1
-1
-3
20
-4
-64
-17
-4
-1
-34
17
18
-30
-19
-26
2
1
-38
-4
-25
-7
-4
-1
-81
13
1
31
-8
27
0
-42
-32
-59
-30
-30
33
0
-59
36
-42
-14
-13
-7
19
-3
9
-14
92
-50
52
-2
4
-19
23
-35
-32
-6
20
41
0
27
2
32
19
-2
5
-25
-12
18
-20
-2
3
46
-6
-10
10
22
-32
1
-40
-134
-2
-13
-12
2
2
-43
-32
40
-20
19
-18
0
-39
-41
-71
-35
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
-4
8
7
0
-1
-97
27
6
76
-35
-22
28
79
28
0
-1
-12
-13
7
-21
19
2
-7
-3
1
49
-46
2
-52
5
-6
4
32
-24
23
-1
1
-56
-76
-30
56
16
0
-15
40
-4
7
54
-29
28
-6
4
-46
-23
2
18
0
1
0
0
8
0
4
0
-1
-2
-8
-14
-7
-28
2
6
-11
0
29
-10
-22
-8
17
16
-6
0
-17
2
-8
-91
22
30
-6
29
-69
0
13
59
-55
-24
18
57
-3
-13
-13
9
-32
-17
-25
-12
8
24
12
20
-3
-27
0
-28
-1
0
-1
0
29
0
6
-17
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
22
-64
0
1
3
0
-47
5
-1
-35
-66
18
87
-41
-21
0
0
-6
16
-5
-1
-43
-3
1
2
36
-2
17
13
5
7
-21
60
55
-19
-24
0
1
-17
25
-38
-6
-31
-2
-9
48
-2
-61
14
47
0
15
2
-5
19
0
-12
8
-9
9
0
-6
-8
-13
-13
0
-2
-5
0
19
38
1
-45
-8
0
-2
43
3
1
41
36
-8
0
-18
-48
0
30
-3
-2
7
-4
-31
0
6
20
-22
-2
8
1
0
-5
-67
-10
29
10
-3
0
-16
-40
4
31
-7
-94
0
4
8
-9
44
0
4
53
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-27
0
0
0
0
0
0
-47
0
8
2
0
0
9
-147
0
0
0
0
0
8
-21
0
0
-1
-9
0
0
30
0
0
0
0
-2
0
-1
0
0
0
-3
5
0
40
0
0
0
0
5
0
-5
0
0
0
0
0
0
-10
0
2
3
0
0
0
3
0
0
0
0
0
0
-8
0
0
2
0
0
0
24
0
0
-2
0
0
0
-18
0
-13
0
-6
0
0
-34
0
0
0
-6
0
0
-66
0
-1
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
5
2
4
-16
18
28
3
-41
-31
32
0
0
41
0
-50
27
16
0
1
73
-2
-22
40
-16
-7
1
17
-1
73
63
-60
6
-5
-36
-1
-39
28
-16
0
5
116
0
49
13
-24
0
-13
10
9
16
0
15
-23
0
0
0
61
0
-1
18
0
0
0
0
-4
-41
13
2
-20
0
-5
-9
1
-4
-3
114
0
-12
21
-55
0
49
25
17
-13
7
-10
0
-61
-4
-5
-19
9
8
0
-64
19
0
54
38
-1
0
1
32
0
74
6
-17
0
-46
3
0
13
0
3
9
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-13
0
0
0
0
-2
-93
14
0
-83
0
0
5
-32
0
0
-12
0
0
-23
-42
0
0
72
4
0
-5
8
0
0
71
0
0
6
-88
0
0
-22
-14
0
-1
20
0
0
10
0
0
0
93
4
0
2
-1
0
0
-7
-6
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
-13
0
0
0
0
10
0
0
-8
2
0
3
-78
0
24
14
2
0
5
-37
0
-8
41
2
0
3
-16
0
-25
-5
4
0
0
-62
-2
0
-3
0
0
0
23
0
-79
0
0
0
0
34
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
2
-2
0
0
-41
0
0
0
-44
0
0
79
1
0
-13
-13
0
0
-15
0
0
3
27
0
0
-1
1
0
1
51
0
0
2
0
0
0
9
0
0
0
13
-4
0
57
0
0
0
0
0
0
4
8
1
0
0
0
0
-26
0
9
0
0
0
0
38
0
0
0
0
0
0
27
0
0
-10
0
0
0
-10
0
0
0
1
0
14
93
0
3
0
0
0
0
35
0
0
0
0
0
0
-5
3
0
0
0
0
0
20
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-11
-42
-32
-1
-8
28
-49
0
75
-9
-9
-31
8
24
5
2
-9
19
-28
-22
-4
1
30
8
27
37
11
-30
5
-57
32
14
5
7
3
10
16
9
13
19
23
-8
-3
68
-13
-14
21
15
-56
7
-39
35
20
-19
16
-41
0
-10
-86
-45
-110
-5
-31
18
27
-38
-31
-15
-31
-5
-3
-102
33
31
4
10
-7
14
47
27
23
-73
-35
15
-12
22
49
28
-15
-31
-18
8
-41
21
-10
70
-24
-37
2
-58
-92
-3
21
-27
-62
-7
95
-16
-63
-27
34
69
12
-4
-23
-66
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-3
-76
11
-33
47
13
6
9
2
48
14
-9
0
-9
-51
4
-16
21
4
-1
-77
-4
16
6
41
3
-5
-33
-14
-6
0
7
35
3
16
-12
1
-8
-14
1
-29
0
-7
0
5
17
-16
-4
0
11
-13
-9
0
0
0
-8
7
5
-8
-8
-5
-1
-4
-6
0
-1
57
5
1
2
55
0
-20
2
33
0
2
5
0
-18
24
8
-4
0
-23
2
-46
83
-2
0
8
-25
-9
-31
8
0
-1
0
-2
5
8
-34
48
6
0
13
0
3
-2
-2
-21
0
-2
-1
18
0
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
-9
0
79
-8
1
10
1
0
0
38
0
0
19
14
13
0
41
-2
0
-2
6
0
0
-7
-1
6
0
12
27
0
17
-1
0
0
-54
0
0
-4
0
0
0
-18
0
0
0
-13
-4
0
-50
-1
0
0
0
0
0
78
0
0
13
0
0
0
53
0
16
2
0
0
0
30
0
0
-2
0
0
0
-51
0
19
-3
-5
0
0
-59
0
0
-5
-24
4
0
-75
0
-6
-3
0
0
0
13
0
0
0
0
0
0
32
0
4
0
0
-8
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-14
0
-1
16
4
0
48
38
1
1
-42
0
0
-41
-32
0
2
39
5
2
41
14
0
7
-49
4
13
-4
9
0
0
13
6
0
0
64
0
0
3
0
-16
0
-22
0
-1
0
0
-17
0
-18
0
0
0
0
0
0
58
-2
0
0
-1
0
0
1
10
-3
4
0
0
2
-83
0
8
-5
-13
0
0
-53
1
0
5
0
0
0
68
2
-22
-5
3
0
0
23
0
-5
8
0
0
0
-18
0
-1
-1
0
33
0
27
0
-5
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
1
0
0
-8
-63
0
0
34
0
-8
0
30
4
0
-8
3
7
-7
26
0
0
4
0
17
0
-68
0
0
-5
0
0
14
-41
0
0
0
0
0
0
-7
0
0
0
1
-4
0
30
0
0
0
0
4
0
-64
0
0
0
0
0
0
7
0
0
0
0
0
0
76
0
0
9
0
0
0
-31
0
14
63
0
0
0
44
0
0
-2
3
0
0
50
0
8
0
0
0
6
-8
0
0
-13
0
4
0
-47
0
-8
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-4
-4
0
0
4
-52
0
0
106
0
0
9
-75
0
0
0
7
0
76
47
0
0
0
5
0
0
98
0
0
-8
0
0
-3
1
0
0
0
0
0
0
-14
0
0
-3
7
0
0
57
0
0
0
0
0
0
-6
3
0
0
0
0
0
127
0
-1
0
0
0
0
1
0
15
24
0
0
0
39
0
-1
-8
0
0
0
71
0
0
1
-7
0
0
72
0
12
4
0
0
0
5
0
0
5
0
0
0
-13
0
-1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-19
-5
-5
-1
1
12
45
37
0
6
-32
1
2
-22
5
-8
-43
0
39
-2
25
-12
0
-20
-28
-2
-9
-13
-19
0
-3
-24
-6
-45
24
-49
-6
14
52
57
67
0
-5
-8
0
0
0
42
0
15
10
-2
0
-10
-2
9
25
0
-48
-20
0
0
1
44
4
75
74
-16
0
20
16
7
-32
78
-7
0
-6
-29
-7
-32
-24
-18
0
-12
-34
0
45
-20
0
-4
5
43
-3
-7
-49
1
7
0
19
1
-92
-12
0
-19
0
19
-20
19
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
-62
-69
19
-73
-50
-18
28
-10
-51
6
-45
-7
-29
7
39
13
28
12
-16
-23
16
49
3
15
42
-97
-58
2
10
-110
-27
-45
-11
-102
-1
8
56
-25
17
12
31
-10
16
8
-29
-9
-4
33
23
47
-30
-5
-3
10
-17
0
8
-16
-37
-14
-13
-39
3
-108
-26
-6
-83
-13
-48
15
66
13
22
-86
-7
70
-18
5
-7
8
1
-13
53
4
-54
18
-9
-48
29
-69
-8
62
5
1
24
9
-61
10
41
25
-42
10
-44
-3
2
-17
-7
-28
32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
27
5
-1
56
2
-1
-15
-14
10
-37
-110
-72
-2
-89
-53
0
-7
-138
123
12
-9
9
0
66
5
-2
8
6
-11
0
-9
-49
-1
-20
2
-104
0
0
-12
-7
67
0
-16
-3
0
0
-19
42
0
-10
-93
-46
0
-1
0
0
-16
20
-53
4
0
0
-15
-38
1
71
-51
-1
0
4
-23
0
-109
66
37
7
-3
-44
0
-1
22
45
2
-12
5
0
69
6
2
-2
-7
1
0
0
-13
-13
13
15
-87
0
-46
-1
9
39
0
-16
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
7
-3
59
0
-16
3
21
45
103
74
32
0
-29
5
-3
2
-14
29
1
-44
4
0
-3
-19
-37
-8
-5
-94
0
1
-105
10
-101
-2
2
3
0
70
44
-52
0
-9
-5
0
0
-19
-2
0
-30
-121
-6
0
0
-1
5
41
0
75
28
0
7
-16
0
8
-40
56
117
-5
0
12
39
-6
87
5
-6
33
61
-31
-60
34
47
-8
1
-12
8
6
31
-33
12
-1
-50
0
8
-58
5
3
0
-32
0
-5
2
0
31
0
-10
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-52
2
19
7
-2
-20
-26
59
-12
-6
7
-35
-39
5
21
15
-7
-11
-7
-12
27
20
-1
100
9
-18
64
-53
1
-3
-7
-14
102
31
-5
-4
-5
-21
57
44
54
0
-15
9
7
-1
-43
-14
0
-30
-47
9
0
0
-13
-49
16
-3
5
68
48
-2
-22
-9
-6
119
28
14
8
-55
12
-4
-23
-15
58
8
32
-16
-8
-79
43
-84
-68
54
25
7
-19
-35
-21
23
60
8
-1
41
-21
30
13
21
7
-1
-15
-58
-6
-99
0
-12
-5
12
-5
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-25
0
3
18
0
4
-19
-63
-3
40
-29
-12
-17
-21
-7
-6
14
21
0
72
31
12
-3
13
36
3
77
120
-19
0
-4
-68
-1
-67
104
-44
0
-2
-57
-2
9
0
6
1
-6
0
0
16
9
-23
-58
-3
-20
0
0
8
-1
-4
-5
-47
0
0
65
-19
0
104
36
6
2
-10
-58
1
59
44
12
6
-68
-26
2
-34
-99
-27
7
-5
-8
0
-30
51
0
-19
10
17
0
41
18
4
44
0
-25
0
68
-5
0
-6
1
-22
-18
-8
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
61
0
-4
-28
0
0
75
-85
-6
-4
26
-7
0
-57
-39
4
5
-85
-12
0
13
-4
0
3
-14
54
0
-6
-36
0
7
-49
0
0
-7
44
0
1
-8
9
0
0
-26
-12
0
0
-2
0
0
-27
14
-2
0
0
0
0
-8
0
-54
-7
0
0
6
88
0
4
-27
2
0
54
-48
-2
-5
85
10
0
-14
13
0
42
7
-27
0
-4
-10
0
-60
-16
0
0
-1
-37
2
0
32
18
0
0
-25
0
-68
0
-3
0
0
41
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
8
23
-57
40
9
-66
-4
7
-8
0
-17
84
-22
-69
17
-1
-7
0
-5
1
-63
51
1
48
-52
-20
-97
-47
-16
-1
9
68
33
-8
0
4
-57
3
-1
0
9
0
-48
-11
-14
8
13
0
-3
-40
5
-31
13
-6
-1
7
43
5
44
79
31
-4
-56
-32
-23
15
-5
-94
0
61
-7
6
-70
-29
-31
-1
-9
34
-7
-34
114
-1
22
0
20
-10
-31
-21
-6
40
0
39
-3
-10
-23
15
16
0
-39
25
-21
1
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
3
50
-21
-45
17
-41
-1
9
0
7
-1
-49
-29
22
3
62
-32
26
-8
-12
29
13
-29
-10
25
15
-11
22
-14
-12
55
3
33
-3
73
17
-51
-61
-123
39
35
56
23
62
-10
4
-32
-106
-16
22
-18
1
15
-116
-3
-115
0
-11
0
-54
3
-11
-67
11
35
31
-32
33
2
-16
6
10
-19
8
-23
19
-52
8
57
11
16
-22
-49
-26
0
28
-53
47
37
2
22
-14
-112
34
28
-17
-17
23
26
-15
50
39
26
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
3
3
-6
0
0
-2
-16
0
-5
-2
0
0
0
-42
0
2
92
3
0
4
-12
0
0
0
0
-2
0
-50
0
0
0
0
-10
0
-6
0
0
0
0
0
0
20
2
-22
10
0
0
0
82
0
5
2
0
0
0
37
0
13
-3
0
0
0
-5
0
-5
20
0
0
0
-71
0
1
-2
0
0
0
-18
0
-2
2
0
0
0
13
0
0
-1
-5
0
0
-48
0
-2
0
0
1
0
-20
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-65
0
-4
-17
1
0
-7
13
-3
0
-3
1
-1
-6
37
0
0
7
29
0
-2
-23
0
-4
1
0
0
0
44
0
0
0
-9
5
0
4
0
0
0
0
0
0
41
6
0
0
0
0
0
13
0
62
-4
0
10
1
73
0
0
-32
0
1
0
71
0
47
-50
-4
0
3
26
0
0
9
-14
0
1
-72
-1
9
58
0
0
0
-46
0
0
-8
0
0
3
-38
-6
-28
0
0
3
0
-80
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
17
-46
-47
19
39
8
-23
-7
-5
53
-36
-40
-62
31
38
6
77
21
-24
5
20
25
0
-21
-16
-93
28
-3
-5
-4
0
-6
35
-7
2
24
-3
-22
12
1
-28
-12
-7
64
-41
-12
33
-35
-9
12
47
-13
-109
-6
-76
7
23
25
84
44
36
8
27
5
18
-17
-64
-20
51
-35
-37
-31
-9
-38
15
-10
-107
13
3
-13
-4
8
-87
81
41
81
-49
38
-7
43
-48
12
-2
1
5
-18
-11
0
6
59
-59
-8
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
34
0
0
83
-9
0
69
-98
0
5
46
0
-9
-7
28
0
1
60
3
6
0
8
0
-7
-7
0
1
0
-98
0
0
-19
0
62
0
-64
0
0
0
0
0
0
-22
0
0
0
0
0
0
140
0
-8
-4
0
0
-4
37
0
-6
-15
0
0
0
-27
0
-45
6
0
0
0
-42
0
0
7
0
0
0
-63
0
-27
-15
0
0
-2
-112
0
0
0
0
14
0
-43
0
-5
0
0
-7
0
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-9
0
14
5
0
0
5
-113
0
0
75
0
0
-20
-24
0
0
-10
28
0
3
-92
0
2
1
0
0
13
-34
0
-3
24
7
0
0
10
2
0
0
0
0
0
-42
1
0
0
0
0
-5
46
0
-24
-7
0
0
-14
13
0
3
92
14
0
1
-32
0
116
-16
0
0
9
-30
0
-3
33
8
0
1
-18
0
33
-23
2
0
-5
23
0
0
18
13
0
0
-28
0
85
0
0
0
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
-8
7
70
-46
-31
-37
-12
4
20
16
-7
13
4
-41
8
-4
31
-26
58
3
-17
2
2
20
-13
-52
46
0
35
-50
8
-2
5
48
-6
31
4
8
25
-30
0
6
-11
13
-29
31
-1
31
48
2
24
-10
-10
-23
19
35
-4
36
-39
76
63
0
-28
-12
8
15
-51
3
38
-25
-3
-5
29
21
68
-17
-44
-20
42
-24
-103
-109
-23
0
60
1
-26
-4
4
53
0
46
-50
16
3
49
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
56
10
-10
6
-12
-5
12
43
8
14
-4
-29
25
13
-39
15
50
-4
-18
55
-5
-52
-51
33
18
-16
-26
7
-9
11
21
31
-91
-51
21
20
-23
-3
25
-43
18
9
46
20
23
60
-26
37
17
-17
21
-15
4
82
-45
0
-38
-47
-23
22
-48
-88
10
-29
11
-26
13
32
66
21
-47
-10
20
-29
3
16
19
44
49
16
-23
-12
30
1
-31
26
-32
-35
20
9
25
-12
-19
27
-44
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
24
8
3
-9
5
0
13
3
0
0
6
-43
0
-6
1
0
0
55
-2
-2
-3
-101
0
7
12
-37
-24
0
-23
0
0
0
1
0
0
-95
-5
1
3
0
0
0
37
1
-31
5
0
0
-1
-13
0
8
25
0
0
8
-62
0
-3
48
-8
0
-4
-77
0
-25
35
0
0
-3
-47
0
-30
0
2
-2
-8
-18
0
0
-7
-1
0
0
-23
0
0
0
-5
-1
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-23
-9
-8
14
2
-9
-2
-33
0
0
-21
-26
-7
13
33
0
2
-1
10
-5
-12
-15
3
0
8
-6
-30
0
-22
0
0
0
2
39
0
-79
-5
2
0
5
0
4
15
6
23
16
0
18
41
14
-2
24
10
29
16
8
75
-1
19
19
0
-2
13
-32
-1
5
5
51
4
44
-24
9
-44
-12
-8
13
-13
-20
-4
0
-33
2
24
2
-31
0
75
0
1
-45
0
-107
-16
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-24
-14
10
22
-64
15
19
-10
4
44
48
4
-20
17
21
22
-12
22
-66
40
10
-6
9
-58
-32
-11
7
0
7
107
6
-54
-93
-43
17
2
36
86
-90
-49
-8
-35
-12
-99
44
-16
69
5
4
4
-42
22
20
12
-25
-30
7
16
24
2
20
16
0
-10
-87
38
34
-63
-20
46
-4
-6
-6
25
19
12
-34
-20
39
49
45
-27
60
-34
4
-16
10
-2
28
-28
-2
11
-16
-41
-42
-16
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-6
-41
-12
3
-19
4
-18
24
-31
11
-45
6
9
-20
0
13
-39
9
-72
23
-26
0
70
-44
-10
-41
0
12
-12
8
0
4
62
0
9
-72
4
-8
0
3
17
-20
-8
103
8
15
-18
-69
8
1
-49
-61
17
-6
-51
21
0
-1
-36
7
2
13
16
-3
-9
-50
21
5
-13
-6
0
33
20
-3
-15
-45
-26
0
17
34
39
-29
-13
-31
0
33
-25
0
31
-4
-31
-20
-3
46
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
0
0
-17
1
0
4
-34
0
0
-17
-13
0
-1
-32
0
0
4
0
0
0
-60
0
4
-31
6
0
0
50
0
0
0
0
0
0
-86
13
0
0
1
0
1
-11
0
51
-2
0
0
15
41
0
17
-19
43
0
-19
52
0
28
22
0
0
30
-63
0
0
33
7
0
12
-68
0
-52
-18
0
0
-24
-41
0
0
81
0
0
0
-44
0
46
-2
0
0
0
-6
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
24
0
-21
-5
24
-35
5
11
-22
5
-9
-40
-24
111
12
-2
-12
-23
-12
16
0
26
82
-2
0
-12
-113
1
4
24
-31
-37
-9
2
-4
9
-44
-7
-40
-3
-1
-42
16
1
-67
-24
12
-17
18
-13
10
-33
29
-42
31
-4
29
-19
-5
4
31
-25
5
29
8
-14
-90
-13
120
-56
-9
-3
-46
44
-13
52
-23
12
3
7
49
3
16
0
6
-53
5
20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-18
-14
-23
1
-2
2
12
25
-34
22
-19
-39
51
11
-27
23
70
-6
-21
48
16
-31
-50
-75
-8
6
95
-2
34
-36
8
-17
-86
22
7
42
15
46
-46
-37
13
31
101
-36
24
30
45
-24
14
-81
22
-5
-24
53
35
0
43
44
23
32
43
22
2
16
-34
-22
11
-45
-13
17
-23
-7
-2
1
-16
75
-3
-41
-10
35
18
-19
-22
14
15
-52
48
-26
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
20
0
0
32
5
0
3
55
0
0
3
-5
-1
0
58
0
0
-6
-10
1
0
-32
0
0
-1
2
0
0
1
-15
4
0
3
0
3
-83
0
101
7
0
0
3
-10
0
-4
14
1
0
2
71
0
-20
-31
0
0
4
-3
0
-17
-1
-20
0
0
-59
0
62
23
0
0
14
-5
0
0
8
8
0
0
-12
0
6
0
0
0
0
-60
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
-8
15
-64
-17
-13
-16
-31
0
-1
-68
-5
9
0
15
0
0
-2
3
-1
0
25
0
0
0
1
1
0
38
6
0
0
0
0
20
-5
0
31
-7
0
0
8
-91
0
-1
23
17
-3
-3
3
0
30
-52
-3
0
-4
18
-9
-1
61
41
0
15
-10
-3
-47
91
-15
0
0
-84
0
0
-41
12
5
0
-22
-1
3
12
7
18
0
87
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
12
-48
-93
30
29
-24
-55
9
5
-19
-46
54
30
-47
23
-15
31
-24
-52
20
-1
18
-52
9
0
6
-22
-10
6
-39
42
24
-63
-45
3
31
4
14
36
5
-53
7
1
-32
-6
38
-17
-5
26
4
25
-9
21
-19
-43
71
-3
24
30
21
-38
-13
41
29
-25
-42
-13
-14
0
-83
-16
9
9
70
-17
4
13
21
-9
7
-9
-24
-47
8
23
-11
82
5
22
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-6
0
0
19
0
-19
-18
-39
0
0
17
0
-18
2
-60
0
0
21
0
166
0
-55
6
0
0
-3
14
0
-11
-2
1
0
0
0
-6
7
0
10
0
0
0
-15
-9
0
49
76
0
0
-6
-83
-12
-10
0
0
-3
1
4
0
3
-90
-10
1
1
-94
0
-83
-32
0
-2
0
37
0
-3
0
0
27
0
-10
-2
-15
-15
0
18
3
-37
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
6
0
-1
25
-20
0
32
-37
0
-1
33
0
0
3
4
0
0
-8
41
0
0
-15
-8
0
0
0
0
0
17
-7
0
0
0
0
-19
65
0
-57
-42
4
0
0
-39
0
4
68
91
0
48
0
-1
-30
-7
0
0
37
1
-1
-25
26
43
0
-19
13
-2
15
-12
0
0
18
8
0
-5
14
32
0
0
8
0
83
-4
0
0
0
-47
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
1
-13
37
30
-14
16
0
-12
-82
-29
-52
2
10
9
0
17
31
-9
0
-31
-13
0
-4
1
0
0
-31
-7
24
34
0
1
2
-41
0
24
-68
33
0
-15
-40
0
-30
-49
-8
0
3
4
2
43
-34
3
2
-6
17
-5
36
-58
-10
17
24
10
0
17
-15
27
21
-6
28
0
47
5
-5
-1
4
-13
6
12
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-5
-15
-65
33
-23
23
117
9
-74
-8
54
4
-15
1
10
-19
-53
-7
-1
-25
-44
5
12
-22
-29
64
-19
-43
8
-2
-37
-7
-23
-33
1
9
-97
-15
-12
14
-98
8
22
-64
-54
-10
82
-91
20
19
34
-116
20
72
45
59
0
-46
8
-6
-62
0
10
-5
34
-11
56
-2
29
45
3
35
-40
-14
-20
-9
12
33
12
-58
-38
-33
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-26
0
0
-5
-1
5
0
69
0
0
-2
8
2
0
1
0
0
0
0
0
0
-44
5
0
0
0
5
0
1
0
0
-1
4
0
1
-21
0
16
-6
0
5
-8
-76
0
7
-6
-7
-5
0
81
0
0
13
0
0
0
-18
0
-29
0
0
1
0
-24
0
0
2
0
0
0
48
0
42
1
3
0
0
-22
4
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
33
0
-1
0
16
0
0
8
-3
11
0
4
0
0
0
0
-3
0
-7
-18
0
-2
0
0
0
-13
0
52
-18
0
12
2
-81
0
0
78
31
-1
1
11
0
5
-56
0
0
0
38
0
-3
-50
31
-3
6
-52
0
28
16
0
0
-2
-8
0
0
-31
7
-3
0
-89
0
50
0
0
5
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
7
0
-84
26
60
21
-38
-19
-8
5
7
3
29
0
8
68
-20
8
-59
14
-8
-5
3
21
-41
5
4
-58
26
-9
-15
-7
0
-33
-59
27
-8
5
58
-83
16
-13
9
20
-36
13
-37
4
-120
2
35
-22
-61
97
45
-100
14
13
28
-8
-29
23
0
-35
-2
-57
-31
29
-18
19
-2
-1
-68
56
4
31
0
-4
-75
28
2
-32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-20
8
-1
-8
0
36
-10
-13
44
1
-37
13
-3
0
-27
-96
41
0
0
0
0
8
75
-1
39
0
0
7
-47
0
-65
1
0
5
79
-5
17
13
98
69
1
35
13
-3
62
-17
5
16
14
-4
5
-58
-43
-14
-6
-22
2
-6
49
56
3
44
-13
2
-35
21
-16
10
-10
0
-16
-1
-3
-2
-8
-108
0
-47
-67
-3
-4
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
116
-23
0
0
-54
23
0
1
-94
0
-9
-106
-9
0
0
11
0
21
0
1
0
0
37
6
0
0
0
0
-6
32
0
-14
63
0
0
29
5
0
-2
-57
-44
0
0
-46
0
23
53
2
0
-16
15
1
0
19
-40
0
8
-33
0
5
80
-5
0
-15
43
0
0
-40
41
0
0
-10
0
-30
-8
-8
0
0
-10
66
-10
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-5
0
-4
19
21
0
-30
25
0
0
-5
0
0
24
-15
-4
9
7
0
1
-4
4
-29
0
6
2
-1
-48
0
-31
-34
23
-8
42
17
-8
-34
-30
-4
0
-6
-5
-4
-28
14
25
0
3
-7
-4
-32
73
20
3
-8
1
0
0
58
74
0
0
20
0
-76
-1
-9
-37
0
-31
41
-1
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-18
47
-28
72
5
-35
24
9
-61
43
-45
-21
-5
-18
20
-16
-30
-3
-20
-2
79
11
-29
-22
23
-76
2
-12
11
104
-19
36
-21
-49
-29
5
-37
-9
24
31
22
-33
19
-56
53
15
-49
14
68
-16
11
-21
-1
53
-9
28
0
62
-74
69
-55
-18
4
-2
50
0
-20
70
27
-86
21
-13
15
-53
-66
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-1
-8
0
-87
0
0
0
-3
0
0
-20
0
0
0
0
0
0
-31
0
22
0
0
0
0
-30
0
0
0
0
0
0
-54
0
0
0
0
0
2
0
0
0
0
0
0
0
42
0
6
6
0
0
0
-23
0
0
0
0
0
0
33
0
7
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
5
1
-25
0
-57
0
0
0
0
0
0
-49
0
0
1
-5
0
0
67
0
7
0
6
0
0
82
0
0
-30
0
0
0
-47
0
4
3
5
0
2
30
0
0
-4
3
0
0
6
0
-5
-3
0
0
0
-8
0
-2
-8
-2
0
0
-27
0
18
0
8
41
0
23
-5
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-14
0
-14
24
9
25
0
-4
-41
-1
1
-32
-41
-3
-22
-97
-6
6
12
0
1
-34
-5
-24
41
-8
0
-81
-3
-12
93
-5
-25
3
-53
56
-9
-72
-75
-31
-7
22
-30
-13
-14
14
-64
18
-94
-20
-6
27
43
22
-4
-18
-4
0
-59
24
44
-2
0
6
-1
-6
-1
-5
-46
0
-10
15
2
-8
18
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
50
0
0
2
0
-31
0
10
0
0
0
0
0
0
20
-5
0
0
0
0
0
-26
0
-1
-1
0
0
4
-43
0
0
8
0
0
14
-1
0
9
-20
0
0
16
-1
0
7
49
2
0
0
-99
0
28
15
0
0
0
27
0
0
42
0
0
0
-37
0
6
-4
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-25
-7
5
-77
69
0
0
4
-45
-1
0
45
0
0
16
128
-3
22
6
0
0
-29
1
-31
-6
0
3
5
16
0
-23
15
22
0
-19
-16
0
-34
-39
2
0
-47
-14
0
-25
33
27
0
-21
7
0
-32
41
16
0
30
-19
0
21
37
16
0
-22
-14
-1
2
-33
0
0
0
25
13
0
-17
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
8
0
0
-5
0
0
-21
3
0
2
0
0
0
-43
0
-23
0
0
0
1
-18
0
-33
-25
-10
0
-5
-10
0
67
31
0
0
-25
61
0
-8
34
-10
0
0
13
0
-34
39
-13
0
0
-7
0
6
-60
-15
0
-1
-74
0
124
0
0
0
0
-37
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-35
-23
-10
-31
23
-15
-27
8
37
23
49
-96
-10
-14
11
15
24
22
62
8
-22
2
5
-8
-9
-5
32
-22
22
-35
7
12
-5
8
0
10
53
34
-21
-2
22
-34
3
-23
-52
-38
-76
26
18
1
23
-53
23
-69
-26
-9
0
14
32
43
-27
-19
-2
1
-97
12
3
-74
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
-1
0
1
0
0
0
2
-3
0
27
0
0
0
0
-44
0
0
3
0
0
0
-82
0
-2
0
-3
0
0
-21
0
0
0
-7
0
0
-6
0
0
29
0
0
0
25
0
0
2
10
0
0
-5
0
-1
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
-4
0
0
-8
-36
0
0
0
0
0
0
-18
0
9
10
0
0
15
11
0
0
-24
0
0
-12
24
0
0
-3
0
0
5
-43
0
13
13
9
0
0
-15
0
31
35
0
0
1
-20
0
0
-3
-8
-12
0
-70
0
31
5
0
1
0
-18
5
-8
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
8
42
0
-31
-5
0
-37
13
58
0
-5
0
-4
-20
-4
-86
20
0
-3
-57
-53
0
-45
-31
-31
0
-4
12
-1
47
-35
-5
0
-30
35
-6
30
-32
-128
0
-2
12
-8
32
-59
2
-29
-8
-47
-5
-5
-22
29
-43
0
-36
-14
-14
0
0
1
0
-72
67
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
14
0
0
0
6
0
16
18
0
-13
0
0
0
31
-3
-140
-28
0
3
48
41
0
-7
-31
0
0
45
17
-3
116
-53
-3
-2
-28
37
5
28
-57
-14
-6
79
-4
-4
-6
-18
0
-18
-4
18
3
12
72
-3
-30
-1
-41
0
-41
-1
0
3
0
32
-51
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-75
12
1
-32
0
0
28
4
-2
-13
59
0
-42
13
0
42
-72
-3
0
-30
8
-8
-129
26
-9
0
67
10
-6
-20
42
-9
0
15
39
4
-44
-1
54
0
11
14
2
2
-28
-3
0
-1
-1
-35
15
36
-44
0
-34
-1
16
-42
-3
-14
0
0
19
47
14
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
12
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
66
0
1
0
0
0
0
-1
0
0
0
-4
0
0
-29
0
-4
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
17
-11
90
47
-43
-51
-23
9
-40
15
4
88
-74
50
12
-41
9
12
-67
-146
12
21
-70
-11
22
4
110
60
4
43
-13
-4
-5
24
39
0
25
-13
-6
-36
19
25
12
12
-69
-25
-48
-32
24
19
-2
-18
46
-13
-24
-7
0
-77
-43
17
-41
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
83
0
18
4
0
0
0
11
0
-5
25
0
0
18
-97
-2
8
7
0
0
23
-71
0
0
67
49
0
0
-32
0
89
-5
0
0
1
-38
0
-7
-13
-5
0
0
-47
0
-133
-10
0
-18
0
-4
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
1
0
0
0
0
-17
0
24
-4
0
0
0
51
0
0
-4
0
0
-1
-76
0
-1
16
0
0
0
31
0
0
8
0
0
0
-28
0
-4
1
0
0
0
-30
0
0
0
0
0
0
-3
0
3
0
0
0
0
117
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
-4
0
0
0
3
-3
0
0
1
0
0
0
-59
0
0
0
0
0
0
56
0
0
0
0
0
0
14
0
-1
0
0
5
0
-59
0
0
0
-7
-5
0
-76
0
0
0
0
0
0
-31
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
10
0
-37
0
-45
5
0
0
3
-12
0
-5
-13
0
0
0
-3
13
-8
34
5
0
1
25
0
5
0
-6
1
0
39
13
21
-5
0
0
0
-48
0
0
0
1
-24
0
-69
0
-13
1
0
12
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
34
0
0
-1
0
0
-70
0
-17
25
0
0
0
-5
0
18
8
0
0
-3
13
-2
-6
-7
-2
0
9
35
0
-1
11
-10
0
0
6
7
-30
7
0
0
0
-4
0
0
-46
2
0
0
-39
0
55
0
0
0
0
59
-13
0
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
-29
0
8
0
0
0
0
-14
0
0
0
0
0
0
-28
0
0
0
0
0
0
-17
0
-1
2
0
0
0
22
0
0
0
0
0
0
-33
0
2
7
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
30
-8
28
-90
-48
-66
-30
5
86
7
41
-39
-76
-13
8
-120
4
2
-28
25
14
-25
14
-29
29
-13
-77
-40
-13
21
15
-54
0
13
23
-3
-7
-45
-17
40
-30
-30
-1
-6
13
-6
13
49
-56
19
32
-19
46
-41
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-20
-8
48
-31
0
5
6
18
-14
13
-82
-18
0
-2
28
-6
-13
-19
4
0
-8
-42
3
10
38
-23
0
-29
-44
9
-58
-63
0
-6
2
-22
-4
-2
-21
-29
-9
0
14
1
-7
13
0
-21
0
-35
15
-10
-2
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
10
0
0
0
-10
124
-1
37
-5
0
0
3
8
0
18
-1
0
0
18
-112
0
0
18
2
0
0
78
0
17
-4
0
0
0
-43
0
0
-1
0
8
0
43
0
-7
6
-2
0
0
-28
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-15
13
0
0
0
-50
0
19
0
1
0
0
47
0
4
8
0
0
0
70
-1
-3
-2
-1
0
0
24
0
5
0
0
0
0
-40
0
-2
-8
-1
3
0
41
0
-1
0
0
0
0
-7
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-3
-2
0
0
0
-62
0
0
13
0
0
-9
121
3
-14
0
0
0
0
9
-3
-8
61
0
0
0
-5
0
50
-16
0
0
0
-41
0
0
-10
0
0
0
-14
0
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
7
0
0
-4
0
-2
6
0
0
0
-2
0
0
-1
0
0
0
-12
0
-2
-1
0
0
0
-5
0
0
8
0
0
0
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
2
-1
-9
0
0
71
5
13
-18
-1
0
-3
-82
-4
0
8
20
0
-4
-3
0
6
51
0
0
0
-74
0
4
3
0
-10
0
-27
0
-15
0
0
0
0
-139
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
-6
33
-29
-21
16
-6
-74
-12
-13
-36
28
-33
73
-8
-9
5
-59
44
-2
-24
-67
4
-18
-28
-36
-93
7
-74
-3
1
-61
4
-21
-2
39
10
-4
-7
-6
31
14
-13
-4
39
10
5
-7
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-11
0
2
0
0
0
0
75
0
-17
3
0
0
0
-26
0
0
-14
0
0
-1
-83
0
-15
0
0
0
0
56
0
0
-1
0
0
0
-67
0
-8
0
0
0
0
-58
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-89
14
43
52
-100
-20
-7
-10
-8
-22
10
-23
64
-80
-14
-5
-53
-27
145
-22
-8
11
-1
-32
-57
-8
-5
15
40
0
-6
3
14
39
4
6
-1
-14
-25
-5
-25
0
5
-20
0
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
14
-7
-31
-13
-42
-16
5
68
-32
-12
23
9
-35
1
-15
-46
13
49
-13
21
0
-50
-5
0
6
3
13
0
8
-10
31
5
4
31
0
-102
13
0
-8
0
-21
13
17
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-46
0
0
4
0
0
0
-28
0
3
2
0
0
0
24
0
0
1
0
0
0
-41
0
-3
-12
0
0
0
-51
0
0
-2
0
0
0
-26
0
5
1
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-3
0
0
5
-76
0
-35
-4
0
0
0
47
0
0
-1
0
0
-3
-40
0
3
-1
0
0
0
-129
0
1
2
-1
0
0
-18
0
12
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-49
6
-3
-40
1
-2
-1
-43
0
-50
-52
-13
1
6
-26
-6
120
-31
6
0
-3
38
0
-2
-25
-14
1
0
43
0
66
-8
0
-1
0
40
-16
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
11
-5
3
2
-45
8
10
-33
-28
6
-33
15
-61
14
-70
14
-33
-5
-137
54
-10
-41
18
-25
81
-11
-25
1
-5
45
-26
-4
71
-4
27
-84
-66
-70
-76
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
-31
12
0
0
0
-21
0
0
0
0
0
0
-14
0
-3
0
0
0
0
-5
0
0
-1
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
-30
-5
-39
-31
12
-1
-27
-14
0
0
89
25
18
-10
7
0
-39
-52
6
-6
0
7
0
0
24
-29
-51
0
4
-6
-49
-4
6
-12
0
-65
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
16
8
-121
44
-15
8
-101
-23
0
-4
-70
11
-66
-23
31
-1
4
-37
17
-10
-31
85
0
2
-9
-53
67
0
3
2
-47
18
0
29
0
62
3
-13
0
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
16
0
-77
32
0
0
-73
-1
0
-15
-40
0
7
-9
25
0
-24
-15
-6
-12
-1
-32
0
2
-24
0
-3
1
13
0
-20
0
0
-19
0
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
-5
-8
0
0
-5
-42
0
0
-5
2
0
-3
28
0
-1
-5
0
0
0
9
0
-1
9
0
0
0
22
0
12
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
-34
58
-5
3
0
0
0
111
-44
-9
0
7
24
4
-4
-17
-12
-2
0
55
0
-25
5
-1
-7
0
50
5
2
0
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
9
-102
22
-20
-13
77
27
16
61
-3
45
-31
-39
-90
-39
31
-59
-19
-21
1
-31
20
50
19
-62
10
16
8
33
9
-67
5
-57
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
-6
-5
0
0
31
0
-3
-2
0
0
0
14
0
0
5
-3
1
0
70
0
-27
0
0
4
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
10
-8
24
4
-17
0
-8
-40
-2
126
69
-4
-29
-63
58
7
-6
-5
-40
-52
0
19
0
-77
-40
-10
-53
0
-22
-54
-3
-1
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
58
9
-100
106
48
74
-14
12
1
15
-76
-27
8
-15
-23
0
-29
-133
-18
-58
10
25
9
39
-33
9
23
0
6
49
-2
-5
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
-9
-13
5
0
-1
-13
0
44
46
0
0
0
-84
0
0
-5
0
0
0
-25
0
-5
1
0
13
0
17
-5
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
-3
-2
-1
0
0
1
0
24
0
0
0
0
-31
0
0
5
0
0
0
-83
0
39
0
0
0
0
-41
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
-50
-63
-21
6
-8
-3
0
0
24
-44
-16
0
4
0
-115
5
0
-2
0
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-6
-7
-25
14
-42
75
57
13
16
-21
1
21
58
-70
9
-15
-23
19
8
-32
3
-7
14
-78
-66
-31
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
25
0
0
0
0
-22
0
0
24
1
0
0
-22
0
-7
0
0
0
0
-43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-9
-6
-75
40
13
0
31
9
0
4
-65
-29
-16
0
-23
0
21
5
0
109
0
-92
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
55
1
10
148
-33
-14
-98
-13
0
2
-147
9
-12
8
13
0
-46
9
0
-51
0
5
35
3
-1
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-37
-1
1
33
-13
-35
27
-20
0
-6
84
-4
88
0
18
1
0
5
0
38
0
-9
-22
-1
-3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
-41
-8
0
0
-1
44
0
0
-20
8
0
0
50
0
-51
0
2
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
-8
-70
30
2
0
-65
0
-40
0
0
-31
0
-40
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-10
24
0
1
14
31
-55
-11
7
-19
19
-17
79
-7
15
-14
-50
-57
-62
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
0
0
-1
0
0
0
88
0
5
-2
0
0
0
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-31
-6
16
-18
-12
44
25
-46
4
50
11
-56
-12
20
-6
19
-10
-5
56
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
93
41
6
-25
4
-33
0
-23
-8
-1
46
0
-47
-14
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
55
0
0
33
-16
0
0
-35
0
-1
-5
0
-8
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
23
-25
0
0
0
-75
0
66
0
0
0
0
51
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
6
8
0
-65
8
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
5
-5
-36
5
-11
-12
19
-50
61
22
-54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
0
-51
4
20
24
0
38
-14
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
-44
-3
-25
133
0
-13
43
-29
54
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
6
8
0
23
0
-57
13
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
0
36
2
0
0
0
41
8
-27
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
8
36
-45
-13
-17
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
28
-3
31
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
2
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
22
0
0
2
0
0
0
2
0
0
0
15
0
0
0
0
0
85
0
0
0
0
0
0
-7
0
0
0
0
6
0
0
0
-8
-1
0
-4
0
0
0
-7
0
0
0
0
0
0
0
0
0
-73
-2
0
0
0
0
6
5
0
0
0
0
0
8
10
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
1
0
0
0
-1
0
0
5
-4
0
0
0
-3
-20
0
0
0
0
0
46
-22
0
20
47
-3
0
-69
-66
0
0
52
0
0
8
-46
0
0
18
-2
0
0
12
0
0
4
0
0
5
5
0
-51
-5
0
0
0
33
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-4
0
3
0
0
0
1
2
0
3
-5
0
0
27
0
0
-13
0
0
0
-4
0
0
31
0
0
-8
33
0
0
-4
0
0
0
35
0
3
-8
-9
0
0
12
0
0
0
0
0
0
31
0
0
0
2
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
16
0
0
0
0
3
0
0
0
0
0
0
29
0
-4
0
0
0
2
6
0
0
8
0
0
0
20
0
-5
0
0
0
0
-13
0
0
0
0
0
0
-5
0
1
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
-41
-36
-18
1
16
-109
17
-91
-73
-8
56
0
-5
-1
0
-27
5
7
7
-12
-51
-15
26
-3
-22
20
19
13
-2
20
47
-71
-6
-15
6
-28
13
-6
-44
-7
45
2
12
13
-22
-3
6
-60
22
13
-43
-1
-13
4
-55
-7
-27
0
-40
-31
-18
-27
-43
4
18
-6
-19
1
2
-3
3
-23
-88
35
-2
-31
-1
0
0
0
0
0
0
0
5
19
-7
4
14
6
-2
-7
25
30
58
0
-23
1
0
-29
-82
87
-6
22
-4
26
49
-22
-71
-8
-2
-1
-89
-34
-4
-38
-107
-27
9
-60
1
-7
27
20
42
-58
-17
-1
-29
-23
-12
-6
26
3
0
-17
-1
-2
-3
-59
2
0
-14
11
7
-13
15
4
7
-93
-1
6
0
-59
26
0
20
14
-4
2
-16
30
1
-18
5
1
-1
11
-13
-1
-34
0
1
26
24
14
1
32
40
-1
2
-134
33
-2
-37
-54
-78
-51
17
-52
-7
22
-68
-44
-6
4
-5
3
52
-26
23
17
-8
-17
2
-12
25
12
6
43
-37
-9
-25
40
18
30
-12
12
0
47
-7
6
3
-45
-19
-1
-30
-2
3
4
-4
-13
-4
12
-25
-12
7
9
7
0
15
-33
68
-3
-11
-51
22
-27
7
2
-37
26
36
3
-24
42
46
-11
37
1
16
-32
19
5
-21
-62
20
0
-42
1
10
-22
-39
11
-18
-57
3
15
34
33
-49
-5
-23
-2
-35
43
24
-31
-1
38
-25
-7
-2
9
-80
5
-4
-1
-36
29
24
-17
3
-2
10
-43
15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
4
0
0
0
1
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-49
0
0
-3
0
0
10
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
3
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
-5
0
0
0
-2
0
0
4
0
0
0
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-9
4
0
0
0
0
-2
47
0
0
0
0
0
13
-20
0
-44
0
0
0
-83
-67
0
0
0
0
0
0
-22
0
0
-3
0
0
-2
-41
0
0
-5
0
0
0
6
0
-13
0
0
0
0
-6
0
0
0
0
0
0
5
-2
23
0
0
0
0
-7
0
0
0
0
0
0
44
0
0
-1
0
0
0
-57
0
0
0
0
0
0
34
0
0
0
0
0
-1
1
0
0
44
0
0
0
5
0
0
0
0
0
0
-13
0
0
1
0
0
0
-5
0
0
0
0
8
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
16
0
0
-8
0
0
0
2
0
0
-3
0
0
0
0
0
0
8
0
0
0
5
0
2
0
0
0
0
75
0
0
0
0
0
0
-44
0
-2
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
-3
0
0
0
-2
0
0
-2
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
45
0
0
0
0
0
-41
0
0
0
0
0
0
-43
0
0
0
0
-2
4
0
0
9
0
0
50
3
-2
0
0
0
0
0
0
0
0
0
0
0
-31
-2
0
4
-4
0
0
-9
8
0
0
13
8
0
0
-3
0
0
-7
0
0
0
0
0
0
0
21
0
0
0
12
0
0
0
0
0
25
-13
-3
0
0
0
8
51
3
0
17
0
0
64
-25
-3
-18
7
0
0
-67
41
0
0
29
0
0
-5
11
0
0
20
-8
0
8
-20
0
0
-14
0
0
-2
-21
0
-11
0
-4
0
0
-38
0
0
1
0
0
0
-10
-2
0
0
0
0
0
148
12
0
0
0
0
0
-30
0
0
-8
0
0
8
35
0
0
-13
0
0
-3
-28
0
-8
19
0
0
-2
85
0
0
-4
0
0
-1
16
0
0
22
-17
0
0
22
0
0
12
0
0
0
-55
3
10
0
0
0
0
-23
0
0
0
0
0
0
42
-13
0
0
0
0
0
-4
0
4
0
0
0
0
-4
0
0
0
-2
0
0
-49
0
-2
0
0
0
0
5
0
0
-8
0
0
0
-41
0
-1
-1
0
0
0
-1
0
0
3
0
0
0
6
0
-12
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
0
0
20
0
0
0
0
0
0
1
4
0
0
0
0
0
8
0
0
0
0
0
0
-2
10
0
0
-2
0
0
0
0
0
-53
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
-14
0
0
6
0
0
0
35
0
0
0
0
0
0
0
0
0
-62
1
0
1
27
0
-1
-5
2
0
1
-5
0
0
51
0
0
0
-5
0
0
0
0
0
0
0
0
-41
0
0
-2
0
0
0
0
0
22
5
0
0
0
0
0
-48
0
0
14
0
0
0
-6
0
58
-25
0
0
-7
79
0
0
-12
0
0
7
-19
0
0
14
0
0
3
-79
0
0
71
0
0
0
-48
0
-41
13
0
0
0
5
0
0
0
0
0
0
-27
0
0
0
0
0
0
-33
0
0
0
0
0
0
-23
0
0
-4
0
0
0
-22
0
0
8
0
0
6
7
7
-3
-12
0
0
-1
57
0
0
-38
0
0
-2
-5
0
0
0
1
0
3
55
0
0
0
0
0
0
-2
0
0
1
3
1
0
-31
0
0
0
2
0
0
-43
0
0
0
0
0
0
8
0
0
0
0
0
0
52
0
0
6
0
0
0
25
0
0
0
0
0
0
-35
0
2
-4
-7
0
0
26
0
30
0
0
0
0
-8
0
0
-2
0
0
0
-46
0
0
0
0
0
0
9
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
3
0
39
0
0
0
0
0
0
3
2
0
0
0
0
-7
20
0
0
0
-6
0
-3
-1
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
14
0
0
-28
1
0
0
-20
0
0
0
0
0
0
0
0
0
-38
8
0
-1
-5
0
3
70
0
0
0
-7
-8
8
43
0
0
0
4
0
-1
0
1
0
0
3
0
-17
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
6
0
0
-6
31
0
-68
2
0
0
72
27
0
0
40
0
0
0
-5
0
0
-2
0
0
8
-13
0
0
-1
0
0
0
-44
0
33
0
-1
0
0
51
0
0
0
0
0
0
34
0
0
0
0
0
0
-51
0
0
0
0
0
1
0
0
0
0
0
0
0
-80
0
0
0
0
0
12
75
0
0
42
22
0
2
-31
0
0
-14
0
1
0
47
0
0
7
0
4
0
14
0
0
4
0
7
0
3
0
-2
-1
0
-13
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
13
0
0
0
-1
18
0
0
0
0
0
0
-1
0
9
0
0
0
0
31
0
0
0
5
0
0
-13
0
0
0
0
0
0
-10
0
0
2
0
0
0
-1
0
4
0
0
2
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
-10
0
0
5
0
0
76
0
0
0
0
0
19
-2
0
0
0
0
9
0
4
0
0
0
0
7
0
0
0
-27
0
0
0
0
0
0
0
0
0
-7
0
0
0
-5
0
0
5
-1
0
0
-30
0
0
4
-2
0
0
1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
6
-75
0
0
0
0
0
-4
-8
0
7
3
0
0
0
-24
0
-2
71
0
0
3
69
0
0
-20
0
0
1
-44
0
0
-5
0
0
0
31
0
-23
0
5
0
0
18
0
0
0
0
0
0
-20
0
0
0
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
0
0
-1
30
0
0
-1
0
-6
0
12
0
0
2
-3
0
0
55
0
0
-13
0
0
0
-15
0
0
30
-1
0
0
-37
0
0
0
0
-1
0
-6
0
0
0
1
0
0
-63
0
0
0
0
0
0
31
0
0
0
0
0
0
-13
0
6
0
0
0
0
-13
0
0
0
0
0
0
68
0
7
0
0
0
0
48
0
0
0
-3
0
0
21
0
1
0
0
0
0
46
0
0
0
0
0
0
24
0
-7
0
0
0
0
55
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-101
-34
97
-2
0
69
4
7
-25
-52
-6
64
50
5
17
6
39
29
-11
67
0
-11
-24
-15
-28
-111
7
12
41
-28
1
-6
-24
13
23
-42
-5
-3
-14
67
8
-7
4
-2
2
41
-39
-6
25
2
12
-42
13
1
-31
-8
-1
30
-6
-3
1
7
-7
-63
6
2
2
-30
-22
0
0
0
0
0
0
0
1
24
10
24
13
-68
3
-19
39
1
6
-1
14
4
-5
22
-4
-10
-8
-36
-6
41
31
31
10
-13
-3
3
23
27
-38
-16
18
41
-10
-9
-1
-14
3
-7
-77
-16
-21
-3
30
60
-4
-31
-4
-23
-2
6
28
-4
9
83
-9
3
51
51
-13
54
0
-38
6
51
-39
-2
-46
43
3
-2
15
-8
2
-33
-12
33
-8
-18
4
15
-2
-13
-16
-4
-42
-16
-4
-3
24
-12
-3
-24
40
-57
1
12
14
0
-96
-59
25
-5
-33
-36
-4
21
56
7
6
-8
-1
-2
19
-43
-9
-1
-20
10
0
-6
-1
-11
11
-5
-3
-11
-4
12
4
73
-9
-34
-4
-18
62
-2
-7
-13
-41
-7
21
-9
-13
-11
-6
-38
-3
-53
-36
-5
-15
15
-18
-3
-14
-70
0
11
-17
-31
4
90
-94
-37
8
-9
-45
-26
84
58
-81
-14
-27
-43
-12
28
6
32
-80
-81
-72
4
-39
-32
-48
-54
7
-19
-31
4
-17
-14
29
-54
27
-8
-24
2
-23
14
-31
-28
-3
-14
-44
-1
-41
-11
44
0
-52
-9
-1
-18
-6
-60
21
-28
38
6
-50
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
91
0
0
0
0
0
0
0
2
1
1
0
0
0
-48
0
0
0
0
0
0
-10
0
0
0
4
1
0
0
0
0
-63
0
0
0
0
0
-60
0
0
0
0
0
1
3
0
0
0
0
0
1
0
0
0
0
0
-9
4
0
0
24
0
0
0
0
0
0
0
0
0
-26
-1
0
0
-24
0
3
-8
0
0
0
-2
0
-4
16
0
0
0
-4
0
0
0
1
0
0
7
0
6
0
0
0
0
0
0
-1
0
-67
0
18
0
0
0
1
50
0
0
0
0
0
-3
-10
0
-5
4
-18
0
34
2
0
0
-19
0
0
5
27
0
0
13
0
0
0
-15
0
0
3
0
0
-1
-27
0
10
4
-2
0
0
55
0
0
0
0
0
0
-22
1
0
0
0
0
0
22
-6
0
0
0
0
0
45
0
0
0
0
0
0
1
0
0
4
0
2
1
-31
0
2
-5
8
0
-1
-39
0
10
-3
0
0
3
10
0
0
17
0
0
0
-41
0
0
-1
0
0
0
43
0
0
0
-2
-2
0
-28
0
0
0
4
0
0
-66
0
1
0
0
0
0
3
0
0
0
0
0
0
15
0
0
0
-6
0
0
-33
0
4
-2
0
0
0
30
0
1
2
0
0
0
16
0
2
0
0
0
0
34
0
0
0
0
0
0
-38
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
0
4
0
0
0
-7
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
7
0
0
0
0
-9
0
0
0
0
0
0
-9
0
-10
2
0
0
-2
-27
0
0
0
0
0
0
-25
0
0
1
0
0
-1
5
0
0
-1
0
0
0
5
0
1
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
3
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
5
0
0
0
2
0
0
0
0
0
0
-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
6
0
0
22
-2
13
0
-57
0
0
29
-1
-14
0
-35
9
-5
-5
3
-30
0
62
-16
-10
-3
2
14
0
-72
-69
28
-3
-33
-22
0
3
6
-2
8
0
0
0
0
-20
3
0
8
-16
0
0
31
-95
0
1
-6
0
-43
5
-5
8
-23
-2
0
-8
-29
0
-25
-5
-43
0
0
0
0
0
0
0
0
-3
5
13
-1
-39
-3
0
0
-42
0
19
24
7
0
0
-54
-3
-7
27
27
0
-34
-4
-9
-1
-9
-40
0
-2
47
2
0
-7
0
0
-2
19
2
-34
5
42
0
13
-35
-1
-4
-1
3
0
-23
74
14
2
-116
43
0
46
21
0
25
11
-1
0
0
-11
0
-7
32
-38
0
-25
26
-1
35
-3
-9
0
-55
-31
0
8
-5
-32
0
39
-27
0
-1
-41
25
0
-1
1
-91
-61
-24
-7
0
1
21
-19
69
-14
26
7
-4
8
14
-40
-63
50
0
38
25
-5
85
57
9
0
32
25
19
-13
18
-5
0
-6
14
8
106
69
33
0
23
6
5
5
-6
-10
15
51
-4
0
10
-10
-5
0
7
-23
-2
-28
33
-11
9
-2
14
-3
-2
0
10
0
0
31
3
-2
-41
8
0
-6
-15
1
-26
42
-1
0
41
-25
-1
-9
-95
-7
0
-2
36
-6
-10
54
1
0
-8
-15
0
14
48
4
0
-56
28
0
-3
51
-6
1
-27
-15
0
-16
46
-72
0
-25
42
0
56
2
7
0
8
17
52
5
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
-1
-5
12
0
0
-13
-4
84
9
13
0
-7
-33
-25
-2
0
-1
0
-4
5
1
0
0
25
-3
0
-2
0
5
-16
0
2
-44
0
0
13
0
-1
0
0
0
12
-4
0
0
18
0
-14
-26
3
-2
65
-49
-13
47
45
-2
9
-34
0
0
0
0
0
0
0
0
0
-78
77
41
8
7
0
-28
-69
32
-2
0
10
18
-90
50
-13
0
0
-45
13
-18
-12
-27
0
0
15
-126
-71
0
5
-5
0
0
0
3
0
18
26
-8
10
0
0
-1
-58
0
0
-1
8
-1
18
1
3
-18
0
-8
0
10
51
-1
8
-64
1
0
29
18
6
-6
-47
-6
6
71
-32
0
0
-130
4
0
-8
20
0
22
-12
-40
1
4
-8
0
5
31
2
-12
0
28
23
-5
0
-57
4
0
3
-2
0
0
7
0
-3
-19
-2
18
-60
8
-49
4
-7
0
5
37
-12
-7
-77
30
7
-10
-55
-14
-5
31
13
1
-1
9
42
92
8
7
0
0
-27
58
-25
8
30
0
-16
0
-4
-24
0
-45
0
1
-16
13
-52
0
-25
0
0
0
0
1
0
-44
47
0
0
0
0
0
38
0
-49
9
8
0
8
-9
0
0
0
4
3
-3
-17
1
-20
53
19
0
1
-30
0
-2
-31
39
0
18
-15
2
-67
1
19
-1
-1
-5
8
2
5
0
4
1
7
6
4
0
0
10
0
-42
-5
8
0
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
18
3
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
4
22
-8
0
0
0
0
-24
0
0
1
0
0
53
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
-66
-3
-1
-99
0
0
-3
-1
0
0
0
0
0
0
0
0
0
-40
-17
0
0
50
0
7
-8
13
0
0
12
0
1
42
3
0
0
52
0
0
0
14
0
0
2
0
-68
0
0
0
0
0
0
0
0
-70
-2
0
0
0
0
-2
-108
0
0
-7
0
0
-6
0
0
-32
-10
0
0
-5
47
0
3
35
0
0
4
-90
0
0
7
6
0
21
-1
0
0
-5
0
0
0
27
0
121
-7
-5
0
0
77
0
0
4
0
0
0
23
0
0
0
2
0
0
-16
0
-1
0
7
0
4
4
0
0
-12
2
0
16
0
0
6
22
0
7
-10
112
3
12
-22
-5
0
-20
8
1
1
-5
-5
1
0
-80
0
3
18
-1
0
0
-30
0
3
1
0
2
0
-55
0
0
1
0
-9
0
1
5
0
0
0
0
-1
-48
0
0
0
0
0
2
-43
0
-3
0
0
0
0
0
1
-2
-1
20
4
8
-74
0
5
7
0
0
0
-4
0
0
-7
7
0
-1
-9
0
-3
0
0
0
0
3
0
0
-8
0
0
0
84
0
-1
0
0
0
0
-29
-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
-44
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
30
0
0
0
0
0
14
0
0
0
0
0
-75
0
0
0
0
0
2
0
0
0
0
0
19
0
0
0
-8
0
0
-49
0
0
0
7
0
0
0
0
0
0
0
0
0
31
13
0
-2
-4
0
0
7
0
0
0
-2
0
0
-18
0
0
0
0
0
-1
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
3
15
1
0
0
0
0
26
0
0
0
0
0
-2
-1
0
-37
-22
0
0
30
89
0
0
-4
0
0
-5
-70
0
0
87
17
0
27
-13
0
0
-2
0
0
6
6
0
-5
-3
-1
0
0
31
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-31
0
0
0
0
0
0
3
0
0
2
0
0
-3
17
0
2
9
0
0
4
-53
0
0
23
0
0
2
29
0
0
2
0
0
0
-12
0
0
1
0
0
0
-7
0
0
-2
0
0
0
-53
0
0
0
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
-20
0
0
-1
0
0
0
-19
0
0
0
0
0
0
-19
0
0
0
0
0
0
-30
0
0
-1
0
0
0
51
0
0
0
6
0
0
-11
0
-3
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
-3
-4
0
0
-1
2
-3
0
0
0
5
2
-1
0
-3
0
1
0
-2
1
2
0
1
0
0
-8
0
0
63
0
0
-3
0
0
-72
0
0
0
0
0
8
25
0
0
0
0
43
-4
0
0
-15
6
51
-64
-5
-2
0
-8
0
3
0
0
0
0
0
0
0
19
-15
-4
0
22
0
0
-18
-2
0
0
13
1
-4
-31
0
3
0
-5
0
5
0
-5
0
0
2
10
14
0
0
-5
0
0
0
0
0
-41
-8
-1
0
-1
0
-1
-28
0
0
5
0
0
2
61
0
73
-5
0
0
-30
-39
-5
0
-5
0
0
-42
-88
0
0
35
1
0
3
49
0
0
-24
0
0
4
5
0
-5
0
0
0
0
5
0
0
-8
6
0
0
23
-5
-3
0
0
0
0
-77
0
0
0
0
0
0
41
0
0
25
0
0
8
-84
0
0
-35
0
0
-8
-58
-4
-7
0
-14
0
-2
-41
0
0
10
8
-4
42
-42
0
0
0
16
-1
-2
-17
0
0
-8
0
-1
0
-56
0
-1
1
1
29
0
47
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
-1
0
4
0
0
-40
0
0
0
2
0
0
-89
0
6
0
0
0
-6
-48
0
0
0
0
0
0
22
0
-1
-3
-7
0
0
-1
0
0
18
0
-4
0
-23
0
2
0
-6
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
49
-31
-21
21
-73
-2
49
52
36
10
63
4
29
49
22
39
2
83
-96
-72
55
-2
7
-14
-14
38
27
-5
-5
-70
2
-36
0
0
-4
0
9
-16
13
-1
-29
-32
-1
1
47
-3
-64
37
-3
-3
-78
4
-15
-25
-20
-6
1
-19
-31
26
0
0
0
0
0
0
0
5
67
32
71
-16
24
3
-11
13
-20
26
4
-18
4
-12
-40
-4
19
0
-26
0
-77
-34
-2
-1
14
-4
0
-2
-4
-31
0
0
17
-73
16
4
-39
16
0
-34
0
76
-2
21
6
-7
14
-16
54
-2
13
0
-86
-4
-4
-37
3
-8
21
8
18
0
-26
-3
44
-17
7
19
-1
4
-1
-17
59
1
62
-5
-5
-7
10
2
-26
-4
-107
38
-14
0
24
-23
-22
-19
0
-3
-60
-22
4
9
-35
12
-14
-24
-2
-4
13
-1
-2
-41
5
-75
-1
-43
-14
-4
-4
17
-43
29
11
10
44
-29
94
-39
-20
-16
73
-28
-4
5
-50
4
-45
-11
42
-6
11
-66
-11
56
13
31
-10
-3
4
22
-93
1
26
4
-4
-8
-23
0
16
-2
3
15
-4
-2
-9
1
-2
-15
-49
46
-2
-13
6
-15
16
22
-5
34
-29
-17
0
-2
-15
-58
-4
93
-10
3
-28
-9
17
-65
-46
44
13
20
95
-9
22
-31
1
-79
-26
-7
2
-38
6
39
-10
2
-1
37
-10
-5
-11
-49
-11
16
-18
56
16
27
0
3
-48
-1
3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
-2
0
0
-2
0
0
-25
1
0
0
0
0
0
-18
0
0
0
5
0
-1
0
0
0
4
0
0
-9
0
0
8
0
0
0
0
0
0
3
0
-1
0
4
-3
0
-1
0
-15
0
-8
-93
0
0
0
-80
0
0
0
0
0
0
0
0
0
-22
-9
0
0
48
0
-37
-22
7
0
-2
-2
0
17
-24
0
0
0
-17
0
-13
0
-1
0
0
0
0
-9
0
0
30
0
0
0
13
0
2
14
0
0
0
0
-14
-1
0
0
1
0
0
46
-47
0
-9
2
0
0
-14
-59
0
0
-53
0
0
-1
-81
0
0
-21
0
0
1
14
0
13
-27
0
0
-1
17
0
-33
-21
0
0
0
12
0
0
4
0
-1
1
10
1
-1
0
0
0
0
-14
0
0
0
0
0
2
-12
-1
0
41
0
0
-7
27
0
0
44
-3
-2
-15
-8
0
0
-15
-3
0
59
10
0
0
5
0
0
0
-73
0
0
23
0
-6
1
-2
0
-2
-5
0
-1
0
41
0
0
2
0
-11
0
-21
0
0
0
0
0
0
-8
0
0
0
0
0
0
34
0
-1
0
0
-9
-1
-13
0
0
0
0
0
0
-67
0
-41
-15
0
0
3
-13
0
1
-13
0
10
0
-44
0
-10
1
0
0
0
41
0
0
0
0
0
0
15
0
-1
0
0
0
0
-123
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
8
0
0
0
9
0
0
-27
-2
0
-1
0
0
0
0
3
0
-4
24
0
0
0
0
0
-47
0
0
0
0
6
0
0
0
0
0
0
-4
-23
0
0
0
0
64
19
4
0
34
16
0
-76
0
0
0
48
0
0
0
0
0
0
0
0
0
-16
-3
0
3
-1
8
0
63
14
0
2
-46
-6
0
19
9
0
0
-7
-4
0
9
23
0
0
1
-31
0
0
0
-14
0
0
0
0
0
58
-5
-5
0
-1
0
-37
26
0
0
20
0
0
-9
74
0
-76
7
13
0
-32
40
0
0
-27
-1
0
27
-2
0
6
28
7
0
5
7
0
0
15
1
0
-23
-69
0
-17
-5
39
0
0
-50
0
0
0
0
0
0
-21
7
66
0
8
0
0
40
0
0
0
0
0
0
-53
0
-1
-29
0
0
-25
9
0
10
-39
1
0
-34
25
0
7
48
-8
0
47
-14
-2
-3
-40
7
0
-16
23
0
8
-9
-21
0
5
-77
0
0
-44
0
0
0
-41
0
-5
-16
70
0
0
25
0
0
0
0
0
0
0
2
4
-7
0
0
0
-37
0
68
6
0
0
-2
-10
0
-8
-66
5
0
0
-28
0
46
-42
0
0
1
-48
0
8
-16
-4
0
0
-3
0
-8
41
-1
0
0
-81
0
0
34
0
0
0
-23
0
-55
6
-4
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
-81
-17
-4
63
-45
0
-20
33
31
-48
-42
-93
0
-6
-35
-13
-9
-67
0
24
-41
67
-6
-58
34
-41
1
-6
-2
0
5
-13
-4
1
32
-27
-3
-2
-41
-117
-10
-29
-37
14
-1
7
-58
-73
-53
-34
-106
12
1
11
0
0
0
0
0
0
0
-5
-64
-41
21
-51
-45
1
-31
-8
66
-42
6
30
7
3
29
-35
-8
-26
-41
11
48
31
-17
0
0
-2
10
23
-45
-7
0
20
13
64
-1
4
-58
-19
-95
-12
-1
-55
-1
-24
20
-2
-19
-42
53
14
28
-13
3
-2
-17
5
0
-14
-25
-2
-4
5
-42
6
23
-51
0
10
9
-33
2
52
-23
-2
41
-49
3
-1
-5
13
-3
7
18
-5
-4
-29
2
-59
28
-44
-3
3
-13
-45
4
19
28
8
-21
-2
18
-24
-8
-72
12
-19
-37
-6
-5
22
5
-30
2
-40
-48
-26
-53
34
35
8
-85
-31
-12
-21
8
-24
-9
78
-35
-16
-42
-5
-49
-6
6
-21
8
-31
18
-15
-12
-17
-31
2
13
22
-45
0
-32
-4
4
-14
-21
9
-23
41
-4
-10
-46
-25
-2
5
-4
-12
-50
-35
-55
13
-12
57
-73
-34
-38
-45
-11
-11
-16
-56
31
-13
-5
-1
-10
-36
3
17
14
-15
-29
-8
-74
-17
-6
-61
-25
99
-8
-40
7
-43
-27
41
35
9
-35
27
41
22
23
0
1
27
76
-22
21
2
0
-44
-22
-41
-45
-51
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
-18
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
4
-1
0
0
6
3
0
48
0
0
4
16
0
0
0
0
0
0
0
0
0
-8
13
0
-5
-72
0
0
-6
2
0
0
-16
0
-3
0
7
0
0
0
0
0
0
-6
0
0
0
0
-4
0
0
-1
0
0
0
0
0
-16
5
-4
0
0
0
4
-14
0
0
-7
0
0
63
-20
0
8
-52
5
0
-11
0
16
0
22
0
0
9
30
0
2
8
-8
0
-8
3
0
5
8
0
-1
-2
33
0
17
-2
0
0
0
32
-3
0
0
0
0
0
-5
1
0
0
2
0
0
-40
0
0
0
0
0
0
15
0
0
8
0
0
0
39
0
0
27
0
0
34
0
0
-1
47
24
0
-9
6
0
0
-4
0
0
0
49
0
-1
0
-7
0
2
-69
0
0
1
0
0
0
-22
0
0
-1
5
0
0
-23
0
0
0
0
0
0
25
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
-1
1
-5
0
-19
0
-1
-5
-3
0
0
0
-89
0
0
5
0
0
0
-34
0
0
0
0
0
0
24
0
-3
0
0
0
0
80
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-28
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-32
1
0
0
8
0
0
0
0
0
0
0
0
0
-6
-3
0
0
-1
0
0
1
0
0
0
4
0
0
7
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-38
0
-3
0
0
0
0
-53
0
0
0
0
0
6
12
0
-10
5
0
0
-4
-33
0
0
13
0
0
-5
-68
0
0
0
-1
0
0
-34
0
0
-3
0
0
0
-5
0
-10
0
0
0
0
17
0
0
0
0
0
0
-33
0
0
0
-1
0
0
14
0
0
0
0
0
0
10
0
3
0
0
0
0
-36
0
0
-1
0
0
0
-50
0
0
-1
0
0
0
5
0
0
-5
0
0
0
53
0
0
0
0
0
0
70
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
3
0
0
0
-17
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
-1
0
1
0
0
7
0
0
0
0
0
0
-27
0
7
0
0
0
0
-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
8
5
-4
0
-2
0
-1
-29
-2
0
0
0
0
-12
0
0
0
0
-14
0
0
0
0
0
53
0
0
4
0
0
-15
0
0
0
0
0
1
-1
0
0
0
0
-8
8
0
0
-25
4
6
10
4
-4
0
-7
3
0
0
0
0
0
0
0
0
-6
13
-5
-1
38
0
8
10
7
0
0
-25
-3
0
-25
-8
1
0
5
0
0
0
-2
0
0
3
0
47
0
0
8
0
0
0
4
0
10
1
4
-1
0
0
16
-40
0
0
5
0
0
-33
-30
0
-64
31
14
0
31
-29
0
0
-5
-7
0
13
12
-1
0
-49
0
4
-7
4
-2
0
16
0
0
-1
-23
0
20
3
0
0
-1
-47
0
0
10
0
1
0
-17
13
4
0
0
0
0
19
3
10
0
0
4
0
-31
-4
0
1
0
16
22
8
0
-1
8
0
0
-39
28
0
0
24
1
0
6
84
7
0
8
6
-4
-2
-105
0
0
-13
0
0
13
31
0
0
10
0
0
1
63
0
3
4
1
-5
0
-24
0
0
0
0
0
0
29
0
0
0
0
0
0
32
0
-1
14
0
0
0
29
0
-1
6
0
0
-7
-38
0
10
5
1
0
1
103
0
0
-2
7
0
0
1
0
4
-4
5
0
12
-11
0
0
2
0
0
0
-45
0
-5
0
0
6
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
6
-5
0
10
0
0
-42
0
-7
-1
9
0
0
-7
-1
0
0
1
0
0
0
0
0
25
0
0
-2
0
0
-19
0
0
0
0
0
-9
9
0
0
0
0
13
1
0
0
-13
-4
-5
-54
-17
0
-4
57
6
0
0
0
0
0
0
0
0
-8
-13
3
-4
3
0
-2
63
12
0
0
-14
-5
-1
-13
43
0
0
-1
2
0
2
-5
0
0
-2
4
-12
0
-4
24
0
0
0
-1
0
5
0
0
0
0
0
13
11
0
0
9
0
0
47
6
0
-42
-22
0
0
-58
-100
0
0
9
0
0
40
34
0
3
-13
-6
0
-7
19
0
0
7
0
0
16
-27
0
-32
4
7
0
0
-44
0
0
2
-3
0
0
-11
4
3
0
0
0
-2
-29
0
0
8
0
0
-4
2
0
0
0
0
0
-20
9
0
-5
-2
0
0
-15
-8
-8
2
-31
2
6
-7
-25
-5
14
-31
1
0
-7
-15
0
0
-1
-23
-2
0
-26
0
0
6
0
-15
0
-9
15
0
-17
-3
18
0
-4
-6
0
0
0
0
-3
-43
1
0
0
0
0
0
10
4
-93
0
0
0
0
25
0
-1
-2
-1
0
1
33
-1
42
2
-1
0
3
-13
0
2
-32
5
0
0
-47
0
-18
0
0
0
0
-22
0
0
0
0
0
0
-60
0
9
0
0
0
0
-38
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-9
45
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
20
0
0
17
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
33
23
0
0
68
0
-8
6
32
0
0
-8
0
0
0
0
0
0
0
0
0
77
2
0
0
15
0
8
-13
-3
0
0
-17
0
7
-69
0
0
0
4
0
8
0
0
0
0
-1
0
24
0
0
5
0
0
0
0
0
78
10
0
0
0
0
23
-20
0
0
34
0
0
1
13
0
-20
-81
0
0
-53
-38
0
7
-14
0
0
-46
-36
0
0
2
0
0
-5
-31
0
0
13
0
0
5
25
0
-71
53
1
0
1
-71
0
0
0
0
0
0
-26
-1
0
0
0
0
0
-5
0
0
0
0
0
0
-86
0
0
0
-1
0
-3
-53
0
0
-8
0
0
0
-33
0
0
42
0
0
-3
-20
0
0
-25
17
1
-1
-13
0
0
2
15
0
-3
8
0
0
-14
0
0
0
-72
0
0
3
0
-6
0
-22
0
0
0
0
0
0
-18
0
0
0
0
0
0
22
0
0
0
0
0
3
-8
0
0
2
0
0
0
-20
0
-1
-25
0
0
0
-32
0
0
-1
0
0
0
-24
0
-2
7
0
0
1
-87
0
0
-3
0
0
0
0
0
-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
25
1
0
0
0
0
0
37
-5
0
0
0
0
0
0
0
6
3
25
-3
0
0
0
0
63
0
0
0
0
0
-23
0
0
0
0
0
1
-8
0
0
0
0
-13
0
0
0
40
14
0
-23
1
0
-3
-2
0
0
0
0
0
0
0
0
0
24
3
0
5
-13
0
0
1
13
0
0
31
20
0
-46
10
0
0
-7
0
0
0
-8
0
0
0
-5
0
0
0
4
0
0
10
0
5
-12
-8
1
0
-2
0
-19
-6
0
0
22
2
0
7
-47
0
-30
2
4
0
-21
26
0
0
0
-2
0
-60
37
2
0
30
5
0
-20
20
0
0
-19
0
0
-5
34
0
-23
13
-2
0
0
-62
0
0
24
0
0
0
-36
1
0
0
0
0
0
-20
6
0
6
0
0
0
36
6
0
17
0
0
15
15
0
-1
69
0
0
-7
-87
0
0
-93
-23
0
-5
-7
0
0
-55
0
0
9
-15
0
20
-51
-5
0
7
-23
0
0
-10
1
0
0
40
0
0
0
0
0
0
-94
0
0
0
0
0
0
-42
4
0
0
0
0
0
-2
0
4
1
0
0
0
-14
0
0
-8
2
0
2
22
0
-17
12
0
0
0
50
0
-6
-9
0
0
0
-39
3
-20
-3
-2
0
0
-17
0
0
-1
0
0
0
15
0
-2
-1
0
0
0
15
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
120
0
5
48
0
1
67
55
41
18
-67
0
-5
1
-1
0
-31
0
0
48
0
0
-16
0
0
-1
0
0
5
-69
0
5
0
0
-20
67
0
1
-18
-16
-89
-8
53
-4
0
-27
18
-1
0
0
0
0
0
0
0
-46
-87
-10
5
-35
-7
82
-7
10
29
8
-9
66
-7
-77
-29
0
1
56
-41
-85
3
4
0
0
23
-18
-78
-7
-8
41
0
0
0
6
0
27
18
-10
1
5
0
-1
-42
0
-3
-38
-6
0
-77
49
0
18
-44
66
0
21
10
-1
1
-36
58
-3
44
14
1
9
16
21
-1
-5
-19
2
2
-31
41
0
4
50
-5
-49
-36
-33
3
42
-40
0
43
19
-2
-15
0
-30
-4
-49
0
-62
0
0
-39
23
1
2
5
0
-1
-22
29
23
-6
1
-31
22
21
13
4
-16
-4
39
-25
-68
-13
-6
-2
-44
-6
9
-43
19
-7
20
13
-27
-18
-23
-24
-33
26
73
10
-4
57
1
-2
-38
0
26
-3
-22
14
-1
-89
-8
-35
0
-24
-13
-2
0
-16
-1
0
-3
-16
-3
0
24
-4
0
-67
3
8
-17
1
-2
20
-19
-3
-3
19
-16
-34
17
28
-5
-22
6
68
7
8
-47
3
4
-2
1
-24
32
-38
6
-162
-20
-4
-6
3
-8
3
22
-32
52
-98
0
-17
1
-64
1
-6
30
0
-42
127
-1
-3
-1
-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
-15
0
0
0
0
0
0
0
19
0
0
-8
0
0
0
0
0
-5
0
0
0
0
0
16
0
0
0
0
0
-2
-8
0
-2
-1
0
-16
-1
0
0
-33
25
4
70
-13
0
0
-77
0
0
0
0
0
0
0
0
0
-76
0
-5
4
25
2
-14
9
-12
0
7
-56
0
1
-20
-24
0
0
-5
0
0
7
8
0
0
-1
18
-42
0
0
8
0
0
0
2
0
22
4
1
0
0
0
5
18
0
0
-7
0
0
41
-40
0
14
9
-13
12
0
-99
-2
8
-129
0
0
-118
0
-5
18
-71
0
15
-8
-52
-1
-1
59
0
0
-3
67
0
-61
-4
0
0
0
-102
1
0
0
0
0
0
13
-5
-9
0
5
0
0
28
2
0
19
0
0
0
-61
22
-4
8
-4
0
-5
1
0
-2
-30
8
-2
-17
-4
-13
0
-23
63
0
20
0
2
-5
42
-6
8
-12
-42
-2
35
-6
-1
4
-6
-35
0
3
2
0
0
0
-38
0
0
0
-4
5
0
-13
0
1
0
0
0
0
-49
-4
0
7
-1
0
0
-58
-1
9
-5
0
0
-4
43
0
5
2
18
0
9
38
0
-53
4
-4
0
21
0
0
-5
-13
-10
-3
-3
-1
0
-23
25
-2
2
0
-20
0
4
-5
-6
0
0
43
7
-2
-2
0
0
0
-15
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
21
0
0
-5
0
0
103
0
0
0
0
0
-4
16
0
0
0
0
5
6
0
0
58
0
-7
44
0
0
1
25
0
0
0
0
0
0
0
0
0
29
7
0
3
-2
0
0
-10
-4
-1
0
-13
-1
0
5
19
0
0
12
0
0
0
5
0
0
1
0
48
0
5
2
0
0
0
6
8
17
-7
0
0
0
0
-9
-55
0
0
5
0
0
4
-12
0
12
-61
0
0
-25
82
0
0
13
0
0
-15
-31
0
-12
4
-8
0
-4
-4
0
-2
-37
0
0
-2
1
0
-41
-8
0
0
0
10
0
0
-4
1
-2
3
-59
-1
19
0
0
0
0
20
0
0
0
0
0
0
-67
0
0
-10
0
9
14
-37
0
0
10
0
2
-10
44
0
-1
-8
-3
-1
0
40
0
0
4
-4
0
0
11
0
0
1
7
15
0
-13
0
0
-4
0
3
0
-66
0
0
6
0
-5
0
-27
0
-1
0
0
0
0
-4
-1
0
0
0
0
1
5
0
-2
3
0
-1
0
-26
0
-2
1
0
0
-2
-179
0
-13
8
0
0
0
-17
0
0
-8
30
0
-4
-75
0
59
-3
-1
0
0
-34
0
-1
-1
0
0
0
40
0
-2
8
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
3
0
0
0
84
-6
0
-1
1
0
-50
0
0
-1
0
0
-44
0
0
0
0
0
-2
-2
0
0
0
0
-5
9
5
0
-17
24
-16
-18
-5
-6
0
20
0
8
0
0
0
0
0
0
0
-27
-50
5
0
0
7
1
8
55
0
-2
-25
-9
1
-27
-3
0
0
6
0
0
2
37
0
0
2
0
29
0
0
8
0
0
0
8
0
-4
19
0
0
0
0
-9
2
-5
0
-4
0
0
-6
-11
-3
-45
-19
0
0
-17
-61
0
12
-70
0
0
16
7
7
8
-9
-2
0
51
17
0
0
0
0
0
-6
-13
0
-30
17
22
0
0
12
0
0
0
0
7
0
0
0
-3
0
0
0
0
15
0
7
0
0
0
0
-4
0
0
17
-13
0
13
-67
0
-2
21
1
0
1
-43
0
0
-1
-6
0
-24
37
0
0
20
0
0
-1
64
0
3
-5
16
0
0
19
0
0
0
0
-2
0
-5
0
0
-5
8
-4
0
34
0
0
0
0
0
0
-60
0
0
0
1
0
0
-45
0
-19
1
0
0
2
19
0
-1
-2
9
0
0
6
0
-8
0
0
0
0
5
1
0
23
7
0
-3
-13
0
12
-3
0
0
16
4
0
0
0
-1
2
0
23
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
2
0
2
0
0
0
-12
22
0
0
0
0
0
0
0
0
-44
0
0
-6
0
0
-61
0
0
0
0
0
0
18
0
0
0
0
23
31
0
0
-41
-100
-22
42
4
0
17
-92
0
0
0
0
0
0
0
0
0
-75
-13
0
14
62
-5
21
-42
16
2
-2
-27
-9
0
7
-55
0
0
-1
0
-5
-9
9
0
0
0
-13
-21
0
0
-9
0
0
0
0
0
-37
0
8
0
12
0
-6
-37
0
0
37
0
0
-51
44
0
69
-56
-8
0
-56
61
0
0
-23
3
0
39
-16
-6
0
8
-3
0
14
-29
0
0
-27
1
0
-1
-76
0
-90
5
1
0
-1
-12
0
0
1
0
0
-1
50
1
-5
0
-25
0
0
-10
0
0
0
0
0
18
-71
0
0
-37
7
35
10
-15
0
-1
5
0
-5
-25
41
2
0
-41
-23
0
-7
1
3
6
-14
9
44
31
-29
2
8
4
-20
2
-5
4
0
2
-2
0
-34
6
1
0
0
0
0
-16
0
-17
0
0
0
0
0
0
-32
0
9
0
0
0
1
0
8
-30
0
0
0
2
14
0
-4
-6
1
0
-1
-22
-1
-53
8
-5
0
0
-4
0
-31
-9
-3
-1
0
2
0
23
2
4
0
0
17
0
-3
0
0
0
-5
-12
0
-51
0
0
0
0
6
3
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
0
0
0
0
1
22
0
8
-2
0
12
0
2
0
0
0
-9
0
0
6
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
-23
0
-2
-59
-1
0
0
10
0
0
0
0
0
0
0
0
0
-95
-1
0
0
-34
0
19
34
0
0
0
15
0
2
17
10
0
0
-18
0
-39
0
-1
0
0
7
0
0
0
0
4
0
0
0
-13
0
-23
-1
0
-1
0
0
3
-5
0
0
16
0
0
29
-15
0
23
-44
0
0
32
-36
0
1
-8
1
0
9
-2
0
0
2
0
0
-44
27
0
0
-24
0
0
-2
-48
0
-34
-3
0
0
0
9
0
0
0
0
0
0
35
3
1
0
0
2
0
-16
0
0
0
0
0
0
4
0
0
6
0
0
-2
-35
0
0
-33
-8
0
45
-5
-1
-6
-35
0
0
-10
5
0
0
-47
0
0
-3
80
0
0
-14
0
0
3
11
0
0
14
0
1
-1
-39
0
0
-2
0
-30
0
31
0
0
0
0
0
0
51
0
0
0
0
0
0
-19
0
13
0
0
0
0
12
0
0
-5
4
0
-4
-1
0
-19
4
0
0
0
9
0
0
-2
0
0
0
20
0
7
-1
0
0
0
10
0
0
1
0
0
0
-65
0
-4
0
0
24
0
-27
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
5
0
6
0
0
0
25
-4
0
1
-10
61
0
0
-3
1
41
0
0
6
0
4
-30
0
0
0
0
0
3
8
0
0
0
0
-10
34
0
0
-53
-1
0
-24
-5
0
2
12
0
0
0
0
0
0
0
0
0
-29
30
0
-5
-15
0
0
21
91
13
0
29
-21
0
68
44
0
0
74
0
0
79
29
0
0
35
-17
0
0
-14
-30
0
0
0
0
1
3
-76
-21
2
1
0
-28
-82
-2
0
12
-1
0
5
-41
0
-1
34
1
0
13
65
0
5
-6
0
0
-42
-131
0
-6
23
-27
0
-68
-58
0
-4
34
0
0
-51
36
0
-32
7
-27
0
29
-43
0
0
1
0
0
0
-32
-2
31
0
22
0
0
15
-9
0
17
0
0
6
-48
-3
1
-25
-1
0
-3
48
0
1
58
29
0
57
68
3
-4
31
-45
0
-17
-2
-2
0
-71
3
0
-35
-59
0
-22
-11
-1
2
30
23
0
-4
-1
1
0
0
-14
0
-4
0
-29
0
0
-9
0
0
0
13
0
0
-56
-5
-3
0
0
0
-3
-24
0
60
-4
0
0
0
32
1
-8
1
-4
0
3
7
0
-21
32
0
0
1
-67
0
33
-46
-5
0
2
-32
0
-31
-10
-6
0
0
-16
0
0
-22
28
0
0
15
0
2
0
5
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-25
14
14
-5
0
13
0
-52
-14
-6
116
-6
-58
0
-12
-4
0
-20
-1
42
-13
-14
-9
-3
4
-27
-24
17
-23
0
7
9
0
-37
-4
10
12
0
-4
-20
-54
0
0
0
0
0
0
0
-106
-100
-45
-63
-83
-11
10
-22
-48
30
-9
-7
17
6
12
-29
14
32
8
17
6
5
7
13
-1
-8
16
-6
-4
16
1
0
-2
3
13
-17
0
-21
38
-51
-51
-3
10
5
16
0
-21
-54
42
-20
5
34
11
-1
-19
14
-30
1
-5
-7
-4
16
-7
29
0
-37
33
-3
-76
-25
-87
-7
28
36
-3
-69
21
-31
-4
24
-3
21
1
4
-3
0
-2
25
-6
-19
4
0
-3
5
-68
2
27
-3
7
-10
9
2
-42
16
5
29
-2
-97
61
-37
46
-29
-57
0
5
34
-6
-50
-47
43
-13
-47
27
31
-41
21
4
-10
-17
-84
-13
42
-32
-37
3
-5
79
34
-10
-31
-14
-7
11
-22
-29
19
-24
3
-2
0
-29
23
79
-2
0
-20
24
-3
-39
41
-12
-7
-9
44
-1
-12
-39
23
44
-13
-3
34
-26
-82
-24
-37
-23
-13
-10
-41
-52
46
-48
4
19
-33
-8
-30
28
28
3
73
83
24
47
-33
-55
-19
16
36
-13
41
22
-8
-19
24
46
-29
55
-8
4
-7
-16
6
-47
-54
9
-2
-25
-68
-5
72
36
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
-1
23
4
0
-2
0
0
-56
0
0
0
0
0
6
14
0
-4
0
0
29
2
-3
0
46
4
-17
15
5
0
8
1
3
0
0
0
0
0
0
0
0
0
-2
3
-12
-56
-1
0
-8
0
-8
7
-9
1
-4
22
1
0
0
-4
0
0
2
4
0
0
0
-1
0
0
0
5
0
0
0
0
0
-25
0
8
-1
0
0
-3
12
0
0
21
0
0
-7
-1
0
47
-78
1
0
8
25
12
0
2
0
0
-57
-6
0
2
-8
-1
0
64
0
-13
-1
-32
0
0
15
-51
0
-53
-48
-2
5
-1
-28
0
0
8
-2
0
0
-1
-5
4
0
0
0
0
5
0
0
0
0
0
0
31
13
19
3
0
0
-1
34
-4
0
-16
-1
0
2
-25
6
-4
-17
30
0
-41
67
9
3
18
5
0
-1
0
5
6
40
23
0
-1
26
0
-2
27
0
0
0
-28
0
0
0
0
-2
0
-14
0
0
0
-4
0
0
-47
0
0
0
0
0
0
-74
0
-22
8
0
0
0
-67
0
0
-1
6
0
0
-14
0
-50
13
0
0
3
-33
0
0
43
5
0
-1
0
2
-31
-1
5
0
4
104
0
4
-3
-2
0
0
-74
0
-7
1
-1
0
0
-39
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
-5
0
0
0
0
8
0
0
2
0
-30
0
0
0
0
0
-27
0
0
0
0
0
-3
0
0
0
0
0
5
16
0
0
23
-1
1
-21
0
0
0
-23
2
0
0
0
0
0
0
0
0
29
18
0
1
-10
0
25
-19
4
0
0
2
0
-12
3
2
0
0
-1
0
0
0
0
0
0
-6
0
-4
0
0
0
0
0
0
5
0
17
0
6
0
0
0
0
-7
0
0
-8
0
0
21
-44
0
-43
23
0
0
-50
103
0
0
-34
0
0
17
10
0
0
-2
0
0
5
-6
0
-7
-5
0
0
1
-31
0
-17
-5
0
0
0
-2
0
0
0
0
0
0
85
17
0
0
-1
0
0
-97
0
0
0
0
0
-5
-49
0
-8
2
0
8
5
-45
0
-1
0
0
0
14
15
0
0
-1
0
0
0
57
0
-4
13
0
0
10
-29
0
0
4
-4
0
0
1
0
0
0
0
0
0
-2
0
1
-5
2
4
0
21
0
0
0
1
0
0
8
0
0
0
0
0
0
16
0
-8
0
0
0
0
-3
0
3
4
0
0
0
-35
0
25
0
-5
0
0
0
0
0
0
0
0
-1
-32
0
-1
0
0
0
0
4
0
-8
3
0
0
0
89
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-48
0
0
20
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
3
-2
0
14
0
0
0
-19
0
0
0
0
0
0
0
0
0
27
3
0
0
14
0
0
13
-18
-2
0
-4
0
19
6
5
0
0
0
0
10
0
2
0
0
0
0
-1
0
0
16
0
0
0
0
0
35
0
0
0
0
0
-2
-10
0
0
-5
0
0
14
-21
0
42
-7
0
0
74
-28
0
0
-19
0
0
-2
40
0
0
-6
0
0
3
9
0
0
-6
0
0
5
-29
0
-4
-1
0
0
0
-14
0
0
0
0
0
0
-17
0
0
0
0
0
0
-25
0
0
0
0
0
0
46
0
0
-2
0
0
0
64
0
5
2
0
0
0
57
-3
0
-13
0
0
4
-5
0
0
20
0
0
1
13
0
0
-1
10
0
0
-17
0
0
0
0
0
0
49
0
0
0
0
0
0
-27
0
0
0
0
0
0
-3
29
0
0
0
0
0
-47
0
0
1
0
0
0
-28
0
0
0
0
0
-5
-28
0
0
0
0
0
0
23
0
0
0
0
0
1
9
0
0
-6
0
0
0
13
0
0
5
-1
0
0
17
0
0
0
0
-1
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-92
1
0
32
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-8
14
-5
61
10
-2
0
0
0
-4
0
0
0
0
0
0
0
-33
-3
0
2
41
0
-2
-62
-2
0
1
-8
3
6
-2
-1
0
0
51
0
0
7
0
0
0
-3
-9
-42
0
0
-4
0
0
8
0
0
10
1
4
0
0
0
0
16
0
0
-13
0
0
28
-27
0
-29
-29
0
0
-41
-14
0
0
-2
0
0
-12
19
-1
0
-6
-1
-3
0
-46
0
0
13
-3
10
-2
-77
0
1
-6
7
0
-8
20
0
1
0
0
0
0
-45
20
12
0
0
0
0
-46
-4
0
-2
0
0
0
51
0
1
2
0
0
-1
-64
0
8
26
0
-5
-22
-51
0
2
59
5
6
-1
2
0
0
14
2
1
8
-105
0
0
-3
4
0
0
9
0
0
5
0
-2
-1
21
0
22
0
0
-33
0
-22
0
0
0
0
0
0
57
1
0
0
0
0
0
30
0
-8
10
0
0
0
-8
0
-3
6
0
12
0
-8
0
-41
17
2
0
1
-25
0
0
-3
-4
0
5
-29
0
-25
42
9
0
0
23
0
0
0
0
0
0
88
0
-2
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-2
0
1
0
0
0
22
0
0
25
0
0
-36
0
0
0
0
0
0
5
0
0
0
0
-5
0
0
0
53
0
-1
-13
0
0
0
-8
0
0
0
0
0
0
0
0
0
-30
2
0
0
7
0
0
-8
9
0
0
9
0
0
-37
0
0
0
-13
0
0
0
-1
0
0
8
0
76
0
0
30
0
0
0
0
0
83
0
-2
0
0
0
0
-5
0
0
-1
0
0
74
12
0
-30
-4
0
0
-8
6
0
3
41
0
0
0
-53
0
0
12
0
0
-7
3
0
0
35
0
0
0
-4
0
72
-1
1
0
0
18
0
0
2
0
0
0
5
-1
6
0
0
0
0
-7
0
0
5
0
0
0
51
0
0
-1
0
0
0
-5
0
0
-13
0
-5
0
-6
0
0
6
0
0
-6
9
0
0
-43
0
-3
0
44
0
0
0
0
-2
0
68
0
0
4
0
2
0
45
0
0
16
0
-43
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-41
0
1
0
0
0
0
54
0
0
0
0
0
0
-18
0
2
1
0
0
0
2
0
0
0
0
0
0
-53
0
-17
0
0
0
0
-33
0
0
0
0
0
0
-45
0
-16
0
0
0
0
7
-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
23
0
0
0
12
-23
0
0
0
0
21
8
0
0
0
0
-21
0
0
0
0
-1
15
31
0
0
-4
0
42
-13
-2
0
-31
29
0
-39
-9
0
-2
-94
0
0
0
0
0
0
0
0
0
1
19
0
-1
-13
9
0
27
0
0
3
5
-10
0
35
-45
0
0
0
0
0
3
-105
0
0
-13
-2
0
0
31
11
0
0
0
0
0
-20
-22
41
-3
0
0
-50
-26
13
0
-41
0
0
-72
-3
2
-15
28
21
0
73
35
1
-6
0
-8
0
-8
11
0
0
1
-36
0
-71
-10
0
0
-5
-8
0
30
-6
0
9
-4
9
0
-44
-15
0
0
47
0
0
-6
-3
8
-34
0
48
0
0
2
0
0
2
0
0
-20
-20
0
-3
34
-4
0
-6
5
0
0
-10
0
0
12
48
-16
1
11
-35
0
-48
10
-6
20
-21
-18
0
54
32
0
3
-11
19
0
25
11
0
-2
27
-4
0
5
42
1
12
-11
37
0
0
-11
18
0
0
0
0
0
27
-31
5
0
-2
0
-7
-15
-1
-22
22
0
0
8
5
0
-2
-3
-25
0
-6
-4
-1
-92
-21
0
0
-10
-6
0
18
-75
-9
0
34
30
0
16
-37
0
0
-3
49
-8
-3
8
-1
0
8
33
0
-50
2
0
0
0
8
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-5
-50
0
0
-5
0
3
-102
0
0
0
-3
0
-1
15
0
0
0
3
75
-16
0
0
-8
-15
-80
2
-5
0
0
26
0
0
0
0
0
0
0
0
0
-4
-13
-13
24
-26
0
-86
-6
-16
-3
-4
-3
5
-130
83
-5
0
-2
78
29
-43
0
9
-2
0
-79
-84
-132
0
9
71
0
-5
0
-1
0
17
10
11
0
0
0
-6
-19
0
0
-50
0
13
-70
3
0
61
-38
-8
0
-35
56
0
-8
11
-1
0
42
5
-1
0
-50
-2
-5
11
18
-2
-2
-27
-4
0
12
36
0
-32
-22
-47
0
0
-80
0
-2
-68
49
15
4
37
-13
38
1
-30
0
0
-15
0
0
35
1
9
-7
41
9
-2
-6
44
-46
7
13
0
0
-16
0
-28
-1
6
-4
-6
0
-8
-20
-12
-41
55
0
-1
12
3
-13
-56
0
80
-11
-43
-30
5
-31
-3
-19
23
46
-20
6
-26
-1
0
5
18
-120
0
33
0
0
0
-2
5
0
12
3
0
0
0
0
-12
-16
0
-15
9
-4
3
1
-47
12
-7
-60
42
-13
-3
2
-2
13
33
92
0
-5
-1
0
23
112
40
1
6
-31
-12
15
19
2
0
-1
4
10
-13
-3
0
1
0
-110
-8
-53
0
0
-27
0
-27
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
4
-6
0
3
-31
0
0
0
-3
0
6
-5
0
0
0
0
38
1
0
0
13
37
-16
54
13
0
4
20
12
0
0
0
0
0
0
0
0
-2
-19
7
-2
43
0
0
-10
-18
0
-5
24
42
3
8
0
-10
3
22
0
-15
-8
27
0
0
-31
-17
-52
0
3
5
0
0
0
0
0
-17
4
-3
0
0
0
8
18
-1
-3
-21
0
0
-24
7
0
-18
-15
0
0
5
8
-1
10
-56
0
0
-30
-54
0
-1
58
-29
14
28
1
0
0
55
-7
0
22
0
7
-3
32
-8
0
-19
-45
0
0
-3
-1
6
-2
-78
18
29
5
-1
0
0
-57
2
0
0
0
0
3
47
22
2
1
-4
-3
-2
5
4
13
-63
4
0
4
-12
33
-10
-121
46
0
8
24
4
3
-60
-12
0
-5
24
-8
-30
-71
0
0
-1
0
0
0
-9
8
13
0
-60
0
0
0
5
-13
0
20
0
4
0
0
-12
0
-9
0
0
0
0
0
6
-9
-5
-28
-7
0
4
7
13
0
-2
5
-5
0
0
-92
3
13
23
0
0
0
-14
0
23
13
-31
0
0
-35
0
-49
-10
0
0
-8
0
0
14
6
-6
0
0
19
0
-9
0
0
0
0
-74
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
-53
0
0
-1
0
0
111
0
0
0
0
0
-8
1
0
0
0
0
-8
0
0
0
5
0
0
66
0
0
0
43
0
0
0
0
0
0
0
0
0
75
0
0
0
5
0
-4
-12
2
0
0
79
0
-1
-15
0
0
0
-8
0
0
0
4
0
0
0
0
60
0
0
0
0
0
0
0
0
33
-1
2
0
0
0
9
-53
0
0
-8
0
0
-8
-33
0
37
-47
8
0
-1
-7
0
0
35
0
0
-14
-52
0
0
44
1
0
1
50
0
0
4
0
0
0
10
0
-37
12
0
0
0
-42
0
0
0
0
0
0
30
5
3
0
2
0
0
25
0
0
0
0
0
0
89
0
0
-3
-6
8
0
-45
0
0
-6
0
0
0
-13
0
0
-9
0
0
-3
-36
0
0
-2
0
0
0
26
0
0
-2
-3
-1
0
-27
0
0
0
0
0
0
-5
0
0
1
0
0
0
55
0
0
0
0
0
0
-3
17
0
0
0
0
0
20
0
-3
-5
0
0
0
-41
0
0
0
0
0
0
-7
0
45
4
0
0
0
16
0
0
1
0
0
0
-9
0
44
0
0
0
0
15
0
-1
0
6
0
0
-3
0
1
0
0
0
0
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
0
15
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
-3
0
1
-31
-1
0
0
24
0
0
0
0
0
0
0
0
0
-60
1
0
0
-4
0
9
3
0
0
0
0
-8
-2
-13
-3
0
0
4
0
1
0
0
0
0
3
0
8
0
5
0
0
0
0
1
0
-46
0
5
0
0
0
0
-17
0
0
0
0
0
2
8
0
17
9
0
0
46
-9
0
0
-32
0
0
3
-40
0
0
-4
0
0
0
43
0
0
-5
1
0
6
-23
0
4
-1
0
0
0
18
0
0
3
0
0
0
-49
0
0
0
0
0
0
-32
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
1
0
0
0
-69
0
0
10
0
0
0
-31
0
0
-3
0
0
1
-13
0
4
-4
-1
0
0
78
0
0
0
0
0
4
-25
0
0
0
0
-3
0
11
3
0
0
0
0
0
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
20
0
0
0
10
0
8
-5
0
0
0
0
0
0
9
0
0
-1
0
0
0
31
0
4
4
-3
0
0
13
0
0
0
0
0
0
44
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-16
0
0
41
0
0
-11
0
0
0
0
0
0
-61
0
0
25
0
-26
-35
0
0
-17
-39
-52
-29
-17
-3
15
13
2
-45
0
0
0
0
0
0
0
-42
-66
0
-5
26
-4
-21
-64
-29
0
-3
-28
2
1
-1
25
1
0
2
-31
-22
-28
-3
-4
0
-8
14
6
0
15
-27
0
-3
30
-11
0
-5
-19
-100
-2
-24
0
11
10
0
0
-16
1
-1
-44
1
0
-33
-37
-10
0
7
-3
0
-3
-49
4
0
13
-13
2
0
3
26
-8
-15
-9
-1
-4
-31
18
0
27
-17
0
-11
1
1
10
-12
-2
-2
0
-1
16
-6
0
-2
4
-10
0
-3
0
0
-11
8
0
-10
-10
40
42
-27
41
13
-13
-18
-9
1
-16
1
-8
-36
41
8
56
0
20
30
-48
-50
-8
50
4
13
13
27
19
-59
-13
-6
-14
8
-31
-62
36
45
2
2
0
-3
-25
9
-4
-14
0
0
-2
70
-28
0
-19
-66
0
0
-22
-42
0
-23
-11
-3
0
-8
-11
0
-23
-3
-26
6
-5
30
2
-35
0
26
32
-5
70
16
31
0
13
-55
45
3
-3
42
-12
13
-44
52
43
-20
9
0
41
9
1
-4
12
15
1
14
18
-2
22
-2
-19
14
-19
1
20
-74
0
-42
-31
0
0
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
35
0
0
-12
0
0
11
0
0
0
0
0
9
-16
0
3
0
3
-5
104
-3
0
26
0
-15
-8
30
0
-1
-68
0
6
0
0
0
0
0
0
0
-36
16
0
0
-20
0
0
-45
0
0
0
-6
-1
-17
-27
-3
0
0
-64
0
-7
-1
-4
0
0
34
0
5
0
-1
-22
0
0
0
0
0
-36
-3
0
4
0
0
-1
8
0
0
5
0
0
-24
-6
0
-1
-3
0
0
-75
-8
0
0
-3
0
0
-32
-80
0
0
-7
0
3
-2
15
0
0
-46
0
-1
80
3
0
30
1
0
0
41
-25
0
0
-2
0
-1
0
-26
0
2
0
0
0
0
-68
0
0
-1
0
0
4
62
0
0
-13
0
-6
61
6
0
7
-4
0
0
70
4
0
0
26
7
18
-5
-15
0
0
-49
0
20
-15
39
0
-8
66
0
60
5
-18
0
0
13
0
18
-2
45
0
1
-8
0
8
0
21
0
0
0
0
-2
0
25
-1
0
0
0
0
-5
24
0
-2
8
0
-3
3
32
0
0
14
3
0
0
-29
0
30
9
0
0
0
14
0
0
-13
0
-1
9
47
0
18
-1
0
0
0
-31
0
-5
-15
0
0
0
-8
0
-35
0
0
-10
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
14
0
0
0
0
0
32
-31
0
0
0
0
70
8
25
0
17
-25
0
-51
9
0
8
-47
0
0
0
0
0
0
0
0
0
21
-7
0
0
17
-1
0
26
25
0
0
12
44
0
-61
-4
13
0
-3
0
0
60
-40
0
0
6
-50
0
0
5
8
0
0
0
0
0
-24
-20
6
-5
0
0
-6
-26
0
0
-21
0
0
74
23
0
-10
-22
-1
0
35
27
0
-6
-59
0
0
-55
17
0
0
64
96
0
30
-61
0
10
-2
0
0
25
-45
0
-116
56
-54
0
12
37
0
8
-1
0
0
0
13
6
36
0
-8
0
1
-18
5
0
5
-12
0
7
1
0
22
72
0
-5
-37
28
2
4
54
0
0
-9
25
0
22
39
34
0
-64
46
0
-1
104
-3
0
-5
-36
0
4
19
33
0
23
-44
4
1
-4
-2
0
7
23
0
24
8
-15
25
0
-13
0
0
0
0
0
0
-16
1
0
1
-2
0
4
-5
0
-22
0
0
0
0
-22
0
4
35
5
0
17
23
0
27
-2
0
0
0
-41
0
9
-15
0
0
-8
-28
0
93
17
0
0
0
-61
0
17
-17
-5
0
0
-50
0
22
-6
0
0
0
51
4
6
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-115
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
5
0
4
-26
0
0
0
25
0
0
0
0
0
0
0
0
0
14
-8
1
0
25
0
0
2
0
0
0
19
0
0
-9
0
0
0
9
0
6
0
-1
0
0
1
0
-1
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-13
0
0
-1
0
0
-9
24
0
10
4
0
0
9
44
0
0
1
0
0
-4
-11
0
1
8
0
0
0
-3
0
7
3
0
0
4
22
0
-31
0
10
0
0
-2
0
0
0
0
0
0
-47
4
19
0
0
0
0
-55
0
0
0
0
0
0
-5
0
0
0
2
1
0
21
0
0
-1
0
2
0
-49
-1
0
-7
-5
0
0
31
2
0
-4
0
0
0
-20
0
0
-8
-12
0
0
-11
0
0
-3
0
-2
0
-20
0
0
0
0
0
0
-42
0
0
0
0
0
0
13
-1
0
0
0
0
0
47
0
0
0
0
0
0
-10
0
0
0
0
0
0
21
0
-3
0
0
0
0
-1
0
0
0
-1
0
3
9
0
6
0
1
0
0
18
0
0
4
4
0
0
24
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
5
-17
0
0
22
-8
0
-24
3
1
0
-45
0
0
0
0
0
0
0
0
0
-40
4
-2
9
-1
0
-1
-19
0
0
-5
-14
0
0
-42
-4
0
0
-2
0
1
-2
0
0
0
5
-10
2
0
0
14
0
0
0
0
0
53
0
0
0
0
0
4
8
0
0
-1
0
0
0
34
0
8
-5
-8
0
21
-76
0
0
114
0
0
-5
-26
0
0
-27
0
0
14
-58
0
0
-8
0
0
-9
-2
0
47
0
0
0
0
0
0
0
8
0
-4
0
71
0
-1
0
-5
0
0
-21
0
4
-3
0
0
0
-7
2
0
41
3
-3
0
-22
0
6
-6
0
-9
0
34
0
0
-13
-1
0
8
3
-1
0
-31
0
0
-14
4
0
14
9
4
0
0
-33
0
0
6
10
-2
3
0
0
1
0
0
-42
0
-40
0
0
0
0
0
0
35
2
-1
0
0
0
0
27
0
8
-3
0
0
0
-14
0
-1
-3
0
0
0
8
0
25
-5
-2
0
0
-29
0
1
-5
-9
0
0
-19
0
27
-1
12
0
-1
26
0
0
0
-1
0
0
0
0
-15
0
0
2
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-4
0
18
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
2
0
0
-14
0
0
0
-3
0
0
7
0
0
0
20
0
0
0
0
0
0
0
0
-7
0
12
-7
0
0
0
0
0
-9
0
0
0
0
0
0
30
0
0
2
0
0
0
-33
0
41
5
0
0
-36
-54
0
0
10
0
0
7
86
0
0
0
-1
0
2
37
0
0
17
0
0
-2
17
0
47
8
0
0
0
5
0
0
0
0
0
0
-44
0
16
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
-1
24
0
7
0
0
0
0
-7
0
30
0
0
46
-1
0
0
41
0
0
13
0
0
-3
-26
0
8
2
0
0
6
99
0
0
-9
0
0
0
5
0
0
0
0
0
0
-46
0
0
0
0
0
0
5
0
0
0
0
0
0
30
0
0
0
0
0
0
22
0
0
0
0
0
0
73
0
-1
0
0
0
0
-2
0
-6
0
0
0
0
44
0
-4
0
0
0
0
37
0
0
-17
0
0
0
74
0
-10
0
0
0
0
13
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
0
28
-49
7
-71
23
1
-22
-31
-12
-53
14
-33
-50
31
8
-2
21
-1
51
26
-36
-15
-37
-21
0
0
0
0
0
0
0
-1
-4
65
-14
15
-3
5
-33
15
8
-28
-11
20
14
-28
-20
46
-41
-14
30
6
-12
7
28
-4
0
-2
2
-10
55
-51
-13
47
8
-36
94
-2
2
-73
-15
-21
-24
14
0
105
22
7
12
3
-15
-9
36
3
2
12
-83
3
-5
19
-26
-8
-25
-51
-20
-4
-72
-85
-7
-5
73
-32
-11
4
-11
-2
-8
42
57
1
-27
-76
15
0
-19
9
-3
39
-12
-48
33
24
1
-1
-43
-20
-8
12
47
-23
1
-54
38
-13
-16
-22
-26
-3
-59
50
16
2
-25
-74
-5
-34
-25
-13
-32
-10
15
-6
19
-24
-10
-19
-58
-5
-2
42
8
2
1
3
2
-5
23
4
-16
1
-47
-21
1
-83
34
-13
-68
15
59
5
31
-15
-4
-55
22
8
-10
-56
-19
-2
23
-45
9
-1
-9
-71
-56
-25
67
-42
-1
-29
-37
-41
58
28
41
7
-25
45
-32
-2
-48
1
2
38
-7
-15
66
-143
21
13
0
18
20
-34
-23
-20
-3
-57
-28
-14
-23
-12
-19
0
-4
11
-38
2
-46
-45
0
6
-33
-8
0
-46
-8
19
45
-8
-26
-82
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
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
-3
6
-64
0
0
0
-27
0
-2
0
0
0
0
0
0
0
-52
0
0
0
6
8
0
-5
0
0
0
0
0
-6
6
0
0
0
25
0
0
0
31
0
0
0
-2
2
0
0
-19
0
0
0
0
0
-12
0
3
0
0
0
-8
18
0
0
0
0
0
0
-5
0
11
-21
0
0
17
-40
0
0
14
0
0
15
-16
0
0
-1
0
0
30
-45
0
0
0
7
0
0
-45
0
-26
4
0
0
0
31
0
0
0
-3
0
0
36
-3
5
0
0
0
0
22
0
0
0
0
0
0
-28
0
0
0
0
12
0
4
0
0
1
0
-5
12
14
8
-1
14
0
-2
2
0
0
-7
12
0
0
0
-17
0
16
0
0
4
0
-87
0
0
0
0
3
0
35
0
0
0
0
-49
0
13
0
0
0
0
-3
0
-6
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-36
0
0
0
0
0
0
49
0
17
0
0
0
0
-2
0
0
0
1
0
0
31
0
22
0
0
0
0
-9
0
0
0
0
0
0
-18
0
-43
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
5
0
0
0
8
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-8
0
0
0
-2
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
45
0
0
0
0
0
0
13
0
1
-24
0
0
4
-53
0
0
-7
0
0
0
-41
0
0
3
0
0
0
25
0
0
8
0
0
0
-2
0
-12
0
0
0
0
37
0
0
0
0
0
0
30
0
0
0
0
0
0
-27
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
-24
0
0
53
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
-1
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
-2
49
-27
0
17
-4
0
-29
-44
-4
-3
-3
-19
0
-9
-93
3
-2
-5
-2
0
0
0
0
0
0
0
0
-33
-50
-3
-13
-90
-27
0
13
13
-1
1
-41
25
0
-46
-6
0
0
-29
18
0
14
77
0
-1
8
55
0
0
-1
-16
0
0
52
0
21
26
29
-8
32
-43
0
56
-6
0
-5
-4
2
0
12
53
-7
-32
-5
-53
0
46
22
0
-1
-2
-5
0
5
-5
0
-10
-18
-41
0
-87
30
5
9
30
13
0
74
12
0
3
5
27
0
41
1
29
4
-18
-13
0
-15
-6
-22
-39
0
-42
0
0
12
-43
5
-26
0
0
81
-1
-8
3
17
-7
-2
-10
12
18
51
-7
-7
0
-1
40
23
-44
58
15
0
-50
17
1
19
9
30
0
7
6
-6
16
45
-5
0
73
10
-13
16
35
-12
6
5
4
2
3
13
21
0
-2
-42
-13
24
0
-5
0
6
4
16
0
7
17
0
12
55
-1
64
31
0
0
13
34
-4
-48
-37
-2
0
-34
3
0
-16
-10
-6
0
41
-5
1
-23
64
-13
0
45
-5
42
53
-45
8
0
15
-30
2
44
-25
-66
0
0
-16
-2
27
60
0
0
0
3
-2
-1
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
19
0
0
37
7
0
0
0
8
0
-8
-2
0
0
-2
0
0
0
0
0
0
0
0
8
0
0
-5
0
0
0
0
0
55
-3
0
0
0
0
-3
-5
0
0
0
0
0
8
1
0
3
-4
0
0
-8
25
0
0
4
0
0
-1
-55
0
0
27
-8
0
-7
3
0
0
-22
0
0
-1
34
0
0
-2
7
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
24
13
0
0
-18
-5
0
0
32
0
0
1
0
-1
0
5
0
0
-1
-2
0
18
-6
0
0
-4
0
0
0
-5
0
0
8
0
0
0
0
1
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
13
0
0
0
4
0
-2
2
0
0
0
0
0
2
0
-8
0
0
22
0
5
0
0
0
0
-3
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
3
12
-10
-23
62
23
-29
-8
-44
46
-9
0
-5
-2
-12
39
-4
-2
-109
21
0
0
0
0
0
0
0
-4
-3
23
-11
-9
-42
-6
1
2
-24
17
-4
-42
6
-4
-18
-1
-64
-10
51
-4
-25
-75
-62
-61
-15
-1
1
-76
-41
42
-31
-45
1
-46
40
0
52
6
1
59
-125
18
-2
-18
19
7
13
-36
6
-3
-21
13
-2
6
-74
-2
-4
6
-31
4
73
-36
-7
-2
-16
-63
-1
-17
-25
8
-4
-50
75
3
-25
-21
19
1
-41
3
4
2
-8
-11
-5
-44
-130
-14
41
3
0
-3
-31
24
-86
-12
-86
13
4
-25
-24
14
-13
-36
26
-5
-13
-55
36
-26
-3
2
1
16
24
11
-77
14
-10
4
-9
-46
-19
-9
-10
13
-2
-10
-11
6
-1
46
8
-1
-122
25
9
25
-18
5
-2
9
-6
-8
-18
-3
-20
-6
16
6
-18
10
7
-26
-4
-9
-54
-89
-6
-5
-69
-5
-1
-39
14
-38
-9
-36
-13
-16
32
-5
35
25
3
0
-29
-23
-6
5
-20
20
6
-102
-31
34
-32
-49
-22
2
-47
-13
10
29
22
22
11
-37
-6
-15
-10
3
9
5
68
-20
-29
-6
16
-44
1
-95
-8
-4
-49
-3
-13
5
30
-10
-41
-51
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-14
1
0
0
0
16
0
0
0
0
0
0
0
0
0
32
4
0
6
0
0
0
93
0
0
0
0
0
-2
-61
0
0
0
0
0
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
-9
16
0
0
-25
12
0
0
55
0
0
0
43
0
0
0
0
0
2
-28
0
0
-4
0
0
0
0
0
-3
6
0
0
0
54
0
0
0
0
0
0
-12
0
-4
0
0
0
0
-24
0
0
0
0
0
0
-21
0
0
0
0
0
0
-24
0
0
2
0
0
0
-23
0
0
-3
0
0
0
5
0
0
0
0
0
-2
3
0
-3
-3
0
0
0
-9
0
0
1
0
0
0
-39
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
9
0
0
0
0
-4
0
0
10
0
0
0
-41
0
0
0
0
0
0
61
0
0
0
-4
0
0
-19
0
3
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-2
0
0
0
-13
0
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-2
0
0
0
0
0
0
38
0
0
0
0
0
0
-21
0
0
-2
0
0
24
-35
0
0
-2
0
0
1
12
0
0
0
0
0
-6
4
0
0
-6
0
0
0
0
0
-5
2
0
0
0
46
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-69
0
0
0
0
0
0
-19
0
0
5
0
0
0
-8
0
0
7
0
0
0
-13
0
0
0
0
0
0
46
0
0
0
0
0
0
-4
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-4
0
0
0
0
0
0
13
0
17
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
4
0
1
0
0
0
18
-13
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-49
0
0
4
0
0
0
-23
0
0
16
0
0
0
13
0
0
1
0
22
0
-7
6
0
0
0
24
0
0
0
0
0
6
0
0
0
0
0
-6
-29
0
0
0
0
0
-17
20
0
-8
-34
-2
0
-29
-89
0
0
-51
0
0
-31
38
0
2
58
-1
0
-8
-45
0
0
14
0
0
-1
-12
0
102
0
3
0
2
-46
0
0
0
0
0
0
29
6
0
0
0
0
0
-58
-1
0
0
0
0
0
-27
5
0
-1
3
0
0
75
0
0
13
0
0
0
13
0
0
-3
0
0
6
13
0
0
-36
0
0
-6
25
0
5
14
1
0
3
2
0
0
7
0
0
0
18
0
0
-1
5
0
0
110
6
0
0
0
0
0
51
5
0
0
9
0
0
-2
0
6
0
0
0
0
-7
5
0
0
0
0
0
-12
0
5
0
0
0
0
1
0
-17
10
-1
0
0
34
4
41
-10
8
0
0
5
0
0
2
4
0
0
-80
0
3
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
13
0
0
0
0
0
0
0
0
0
13
0
0
0
-2
0
0
0
0
0
0
-14
0
7
-41
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-51
0
0
0
0
0
4
-16
0
-13
-2
0
0
22
1
0
0
8
0
0
-1
-45
0
0
-5
0
0
9
-13
0
0
-7
0
0
0
19
0
5
0
-1
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
-50
0
0
0
0
0
0
-4
0
0
0
0
0
0
78
0
0
-1
0
0
4
-18
0
0
5
0
0
0
12
0
0
-1
0
0
0
-7
0
0
0
0
0
0
89
0
0
0
0
0
0
-15
0
0
0
-1
-1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
6
0
0
0
-21
0
0
0
0
0
0
-5
0
-2
0
0
0
0
17
0
-1
0
0
0
0
-8
0
0
0
0
0
0
-17
0
3
0
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
0
0
12
-21
22
23
0
0
0
24
0
0
0
0
0
0
0
0
0
-61
1
0
0
40
0
-13
50
15
0
0
-5
42
-48
-7
1
0
0
-1
0
-4
-1
-3
0
0
-6
-10
12
0
0
2
0
0
0
11
0
0
-1
47
0
0
0
-16
34
8
6
-53
0
0
-36
-52
3
-85
-3
-2
0
-39
-29
4
5
32
8
0
-13
13
0
0
-39
4
-4
91
-25
0
5
11
0
0
17
4
-1
48
44
0
0
-7
-23
0
0
0
0
-12
0
34
77
-1
0
4
0
0
0
0
0
0
0
0
2
67
0
-8
-10
-6
0
-33
-7
-3
0
-26
0
0
-13
19
0
-1
-31
-66
0
-15
30
4
0
-59
9
-1
-11
-42
0
5
14
-27
0
0
-27
0
1
-16
-3
40
0
8
0
2
2
0
-7
0
-12
0
0
0
0
0
0
0
-12
0
-1
-1
0
0
-6
0
16
5
0
0
0
-5
0
-4
8
-3
0
0
-2
0
-2
60
-5
0
0
8
0
-7
6
-13
0
0
-12
0
-47
-51
0
0
0
-9
7
-1
12
0
0
0
-24
0
5
0
0
2
0
-11
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
0
0
-39
6
-25
-42
-30
9
3
-69
-2
-4
0
0
0
0
0
0
0
1
28
-4
-1
4
0
17
15
-10
0
1
-33
2
-4
-13
-1
0
0
-86
23
-45
5
49
0
0
86
-100
-28
0
-3
13
0
0
6
-6
0
-46
0
45
0
2
-1
47
-36
1
8
-49
-4
48
-12
9
0
-6
-40
-22
7
29
-70
0
-2
-26
7
1
-7
-16
1
-1
0
-12
0
-75
8
0
-1
-35
8
10
-45
-19
0
16
-21
34
-2
17
-41
0
-1
-9
-5
2
0
4
29
-13
0
-28
0
-4
-108
0
0
-5
8
-2
22
3
0
0
26
-58
48
-31
-10
0
-2
32
56
24
-63
-46
2
-25
15
42
0
-23
9
0
-5
-8
2
-8
-12
39
8
-4
-41
-85
13
1
16
0
0
-13
0
-1
0
0
0
4
-63
-16
11
0
57
0
0
0
2
-2
0
24
0
5
0
0
0
0
-17
0
32
-3
0
14
0
-61
0
31
9
-12
1
-8
-75
0
-100
5
5
0
0
10
0
-7
56
20
3
-1
10
1
-17
10
-2
4
0
5
0
-2
24
13
0
0
27
0
-2
-2
0
8
0
49
-1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
2
0
0
0
-1
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
-1
0
0
0
6
-13
0
0
-1
0
0
8
-41
0
0
0
0
0
0
-27
0
0
0
0
0
0
-2
0
-1
1
0
0
0
-3
0
0
0
0
0
0
-43
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
-22
0
0
0
0
0
0
-30
0
9
-1
0
0
0
-7
0
0
4
0
0
0
-6
0
0
8
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
-12
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-9
0
0
38
0
0
0
2
0
0
0
0
0
0
0
0
0
-36
0
0
0
54
0
0
7
0
0
0
69
0
0
17
0
0
0
-3
0
0
0
0
0
0
0
-6
-23
0
0
1
0
0
0
0
0
3
0
1
0
0
0
0
-25
0
0
1
0
0
16
-37
0
-79
-1
0
0
3
-3
0
0
-14
0
0
-5
21
0
0
-31
3
0
-7
-23
0
0
13
0
0
1
-5
0
-86
-7
7
0
0
8
0
0
0
0
0
0
8
0
2
0
8
0
0
-13
-17
0
0
0
0
0
17
0
0
0
0
0
3
28
0
0
0
0
12
0
-42
0
1
5
-4
0
0
-47
0
0
-6
0
0
0
-14
0
0
5
-7
0
0
-23
0
0
1
0
9
0
19
0
0
0
0
46
0
22
0
0
0
0
0
0
-24
0
0
0
0
0
0
3
0
-6
0
0
0
0
-32
0
0
2
0
0
0
15
0
7
8
0
0
0
0
0
0
0
0
0
0
75
0
0
1
0
0
0
54
0
0
0
0
0
0
38
0
-1
0
0
0
0
-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
-1
0
0
0
8
1
25
-74
0
0
0
42
0
0
0
0
0
0
0
0
0
-73
0
0
-1
-3
0
-2
29
0
0
0
-42
0
9
-72
0
0
0
-8
0
-4
0
13
0
0
35
0
-53
0
0
1
0
0
0
0
0
-11
0
0
0
0
0
0
-65
0
0
-1
0
0
1
-27
0
4
-62
0
0
-40
44
0
0
-14
0
0
3
-38
0
0
-9
0
0
13
-125
0
0
-49
0
0
-13
28
0
76
8
0
0
0
23
0
0
0
0
0
0
70
-2
0
0
0
0
0
-22
0
0
0
0
0
0
-31
0
0
-6
0
-6
-1
-122
0
0
-1
0
0
0
-15
0
0
3
0
0
23
-79
0
0
-48
-1
-1
2
-97
0
-2
59
0
19
-2
7
0
0
-2
0
8
5
27
0
0
0
1
-13
0
-36
0
0
0
0
0
0
10
0
0
0
0
0
0
53
0
-2
0
0
0
0
-33
0
1
0
0
0
0
13
0
-5
7
0
0
0
16
0
0
47
0
0
0
-22
0
-1
29
0
0
-1
-4
0
0
4
0
0
0
-30
0
6
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
12
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
-4
0
0
-98
0
0
0
-2
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
-51
32
0
0
0
0
0
85
0
0
0
0
0
-6
-13
0
-25
7
0
0
-10
-52
0
0
0
0
0
-3
-17
0
0
8
0
0
18
-55
0
0
4
0
0
0
1
0
19
0
3
0
0
-8
0
0
0
0
0
0
39
0
-2
0
2
0
0
41
0
0
0
0
0
0
38
0
7
0
2
0
-1
4
0
0
21
0
0
0
45
0
-1
-8
-5
0
0
8
0
0
16
0
0
-3
-47
0
0
-12
-4
0
0
38
0
0
0
0
0
0
40
0
0
-1
0
0
0
20
0
0
0
0
0
0
-12
-4
0
0
0
0
0
-13
0
4
0
0
0
0
23
0
0
0
0
0
0
-6
0
13
1
0
0
0
6
0
0
0
1
0
0
69
0
-1
0
0
0
0
13
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
0
0
-75
14
0
0
0
0
0
0
0
0
-5
65
17
-10
11
12
9
6
32
0
-2
58
-12
-36
-34
50
4
0
-20
5
-24
3
23
0
0
-9
21
5
0
-17
13
0
0
-1
-32
0
-1
13
-22
-1
16
0
5
-9
-2
2
49
-13
0
44
-48
2
-32
-80
48
-2
-35
32
1
0
59
9
-1
44
8
0
8
-58
-2
5
-12
15
0
0
1
-13
-4
124
-13
0
14
-46
19
13
-35
-9
2
0
20
-17
-103
0
-15
-10
15
0
15
0
0
-18
-7
0
-8
-5
0
7
43
0
-4
-13
-16
-2
-53
1
0
29
34
16
-41
33
17
10
-24
-29
-34
9
-59
-47
1
43
17
-15
9
-20
-8
0
-3
25
-47
28
20
-8
-4
0
-39
-3
-12
0
8
0
-2
-84
-30
-78
0
14
-1
43
5
54
2
0
-1
63
0
-1
-2
0
0
-13
1
57
-28
-3
8
-4
19
3
-4
-23
5
0
8
-47
1
-13
-5
3
0
13
-18
0
1
74
73
-2
-3
37
14
-43
7
-16
-25
1
-36
0
8
45
25
8
0
-16
0
27
-14
0
45
0
44
15
0
-8
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
-4
-125
-4
1
0
0
0
0
0
0
0
49
-26
-4
8
75
2
4
-27
8
0
9
-5
49
52
-35
-6
0
0
37
3
-4
81
-23
0
0
23
-21
-40
0
6
21
0
0
0
-8
0
10
-12
17
-1
8
0
93
0
-2
-5
5
15
0
-59
-20
4
-12
9
47
0
69
-10
0
-3
20
0
0
10
-1
3
-2
-18
-3
-7
-2
15
1
1
3
-8
-1
-16
9
0
-29
3
-54
9
-14
15
0
0
43
0
44
0
-17
-10
2
0
-13
-2
0
-31
-7
0
0
-3
-8
14
0
0
0
14
2
12
6
7
0
-2
28
3
-104
59
3
-1
5
68
5
43
-71
-47
-3
-9
-16
9
-38
14
-9
2
3
-46
-35
90
19
52
0
12
8
-1
40
-43
22
0
-2
23
26
-21
0
-13
-5
0
0
-3
-2
0
-124
6
-1
0
-3
0
0
0
1
-8
7
1
1
8
9
0
-5
-49
-9
0
8
6
0
-34
22
-8
0
-1
-32
0
-7
16
37
-2
-32
34
0
-4
-39
3
47
25
-5
2
6
-17
-12
0
0
-41
0
-74
-2
0
8
0
12
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
8
0
0
0
0
0
0
0
0
0
70
0
0
0
64
0
6
0
0
0
0
41
6
0
47
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
-6
0
0
0
0
-1
-53
0
0
0
0
0
-2
79
0
-5
5
0
0
34
-2
0
0
7
0
0
4
-1
0
0
0
13
0
-1
15
0
0
-32
0
0
7
-14
0
-15
3
0
0
0
-32
0
0
0
0
0
0
5
-3
0
0
-2
0
0
-52
0
0
0
0
0
0
-66
0
1
0
0
0
0
28
0
0
0
0
0
7
-54
0
-4
-1
-1
0
0
-56
0
0
87
0
0
0
-12
0
0
0
0
5
0
-114
0
0
0
0
0
0
33
0
0
0
0
-1
0
-57
0
0
0
0
0
0
17
0
0
0
0
0
0
69
0
23
0
0
0
0
-15
0
0
0
0
0
0
3
0
-8
3
0
0
0
49
0
0
12
0
0
0
4
0
1
0
0
0
0
86
0
0
0
0
0
0
81
0
-4
0
0
0
0
-31
-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
-32
0
0
0
6
0
0
0
0
0
0
0
0
0
27
3
0
0
1
0
0
5
0
0
0
-1
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
15
0
0
0
0
0
0
-23
0
0
0
0
0
2
0
0
6
-2
7
0
-1
-20
0
0
-13
0
0
1
-49
0
1
0
0
0
16
-16
0
0
0
0
0
0
-2
0
9
0
0
0
0
5
0
0
0
0
0
0
53
1
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
2
11
0
0
0
0
0
1
5
0
0
-2
0
0
0
7
0
0
-4
0
0
0
-3
0
0
0
0
0
0
-28
0
0
0
0
0
0
49
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
-4
0
0
0
21
0
0
0
0
0
0
-12
0
1
3
0
0
0
-5
0
0
0
0
0
0
-5
0
0
1
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-9
0
-2
47
18
8
0
0
0
0
0
0
0
37
4
-68
41
46
6
-28
1
-31
26
42
24
4
14
-47
-61
-3
-8
13
-50
26
32
10
27
-1
91
18
5
-3
-62
5
0
1
36
-52
-13
16
-61
-58
0
-37
0
-70
6
18
-9
-5
1
0
-136
-20
32
-23
-122
3
1
14
-7
8
-3
44
48
0
14
10
-5
7
-5
27
3
-18
17
-4
-8
16
94
-8
-43
-5
8
1
9
-1
-23
-78
-37
-13
25
-93
27
9
0
2
2
-10
2
-2
-5
-7
-3
-51
5
1
13
24
-44
-5
-13
-41
5
-11
-43
-140
-18
5
33
20
-1
-41
-13
29
41
6
21
19
45
-37
-10
-37
-30
10
1
0
-39
12
44
-60
-11
-22
20
8
0
0
-30
-18
-13
-62
3
-5
55
-51
-55
-87
9
-1
-4
34
-3
16
52
17
8
8
-47
-6
-4
-78
44
-25
5
33
-49
-23
30
-11
-39
4
-5
15
-58
-61
-11
15
12
14
13
-50
-86
-36
-23
22
-16
4
-1
-49
-16
-10
-34
-5
-5
-31
-26
-32
-35
3
92
-68
17
-46
-36
-2
13
18
-41
-51
-30
9
-2
-27
-26
-1
25
-44
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-5
0
-28
0
-20
0
0
0
0
0
0
0
15
58
-8
13
-35
0
18
22
-15
0
0
6
0
57
7
-12
0
0
-10
0
-21
-7
-39
0
0
-32
0
-1
0
0
-77
0
0
0
-90
0
8
-41
42
-3
0
0
-80
1
4
0
22
-3
0
8
11
0
-28
-39
0
0
20
0
-1
0
-4
6
-2
-80
-4
0
0
-22
0
0
-17
-4
0
-1
8
1
61
-34
2
0
-2
-24
-1
-8
78
-20
0
0
-6
0
31
10
-3
-62
-61
4
-1
-1
0
-8
-18
0
0
0
0
-24
24
-28
8
-3
1
-15
-25
2
0
2
-4
0
4
24
-31
0
-1
9
0
-17
59
-3
-2
-9
29
-14
-10
43
-15
0
21
-8
4
-18
51
-6
0
7
54
0
-12
67
-6
0
17
-10
-4
2
0
-2
14
0
0
0
-31
0
-14
-20
0
-1
15
0
-12
-1
2
16
10
0
-18
32
-9
0
-14
-29
0
-8
1
-21
4
27
57
2
18
22
-25
2
-2
-19
-8
27
2
-17
0
31
49
5
41
0
-33
-5
0
31
0
10
0
-25
0
-73
21
0
-19
0
0
-7
0
-8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
52
0
0
-41
-4
0
0
0
0
0
0
0
0
-5
21
-16
-4
21
5
0
-10
-44
19
0
-49
-143
0
-3
73
0
0
-1
-7
0
-28
31
-2
0
4
39
0
7
74
19
0
31
5
0
0
-9
40
8
0
-1
0
-7
1
-13
-5
5
0
0
-6
24
0
-11
-19
4
0
30
-50
-5
0
22
4
-1
25
-8
2
1
8
5
1
10
-6
-15
14
28
-3
0
-22
85
0
12
-49
9
0
-15
-21
0
0
-61
-1
0
-16
6
9
-40
-1
-35
0
0
-3
10
46
-1
3
0
71
-8
-1
-33
2
-58
0
36
44
-2
-2
34
-4
0
140
18
-4
10
10
-19
0
1
-19
1
7
-24
-5
0
26
-23
-6
-33
-59
26
0
26
17
0
1
2
23
-1
2
-21
1
-9
-40
-36
0
8
3
-2
-1
8
-5
0
0
16
24
24
-2
-1
0
0
35
0
-53
58
1
0
0
-17
2
24
31
2
0
13
5
16
-48
-150
28
0
4
-2
6
-35
13
-52
2
4
-40
-16
-19
-49
4
0
-9
9
0
1
97
-60
0
-1
-17
0
2
30
10
0
-4
3
25
0
13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-31
-23
-18
-5
45
-24
2
13
16
12
-13
-38
3
11
1
13
-30
-1
-26
-18
-62
46
20
-34
-10
16
-8
6
-35
-10
-24
-22
-24
21
4
1
-53
49
35
-15
33
46
0
3
-18
35
-50
-8
-1
-45
-22
-2
-4
-22
1
-36
6
-15
25
-10
2
-8
-7
12
-30
-48
-42
-15
-35
3
-9
2
17
-10
27
-25
-21
-6
7
16
2
-16
-13
-50
-16
-15
-12
-33
41
-24
-15
-12
-59
-20
-17
63
21
7
7
-69
-30
14
-47
-74
-53
1
-24
-141
22
0
10
-53
-15
18
-6
7
-2
-1
38
-10
-73
9
-4
19
-23
-45
-24
48
-11
8
39
0
17
4
-23
47
8
-25
56
2
-4
-5
55
12
36
50
2
-5
4
66
-21
2
11
32
8
-52
-127
-94
-15
12
5
-9
63
-9
-3
53
17
-50
-29
-112
-1
30
35
25
23
-10
92
-20
21
-46
12
-27
-4
-21
1
17
-27
31
27
-36
51
45
-4
13
4
15
11
-95
-1
-12
-54
40
-23
1
65
37
17
-26
-47
-3
-2
25
-6
1
55
31
-3
18
17
-11
-45
76
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
-3
1
28
0
-6
1
-12
0
0
14
-9
2
-95
-2
0
0
-6
0
-8
0
-16
0
0
29
-6
-24
0
0
0
0
0
0
1
0
-85
14
17
0
-2
0
8
-25
0
0
43
0
0
-101
0
-1
-84
8
-12
0
-43
14
0
14
-4
0
-1
16
3
0
8
39
2
6
-25
37
0
3
-17
0
0
23
-50
0
-48
10
-27
0
0
34
0
0
-2
22
31
1
59
-25
-5
0
-1
0
0
-13
14
2
4
0
0
23
3
1
0
34
0
-5
-74
0
0
0
-44
5
-3
24
29
2
0
104
-15
1
30
66
-1
-49
-50
-5
2
-17
-4
0
32
-48
29
24
-3
-67
0
-9
18
0
15
0
-73
-20
-1
20
6
-2
0
49
0
0
0
0
0
0
15
-7
3
0
0
0
0
-22
0
1
19
2
0
-1
0
3
57
0
-6
0
-4
-18
0
-21
-18
-6
0
0
66
0
-49
31
-2
0
1
7
0
-102
-7
3
0
0
-39
0
-10
7
-1
3
0
-32
1
-7
0
0
4
0
-39
0
-3
0
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-8
0
-1
12
0
0
4
0
0
0
-6
-9
0
-12
13
0
0
1
0
-1
0
-5
0
0
0
0
5
0
0
0
0
0
0
3
0
-20
3
0
0
3
0
0
-39
0
0
-6
0
0
2
36
0
28
9
0
0
36
22
0
0
-22
0
0
-17
-23
0
0
27
4
0
-10
-38
0
0
-8
0
0
3
43
0
18
0
0
0
0
84
0
0
0
0
0
0
-26
2
-1
0
0
0
0
20
0
0
0
0
0
0
41
0
0
0
0
0
0
27
0
0
-6
0
-3
0
40
0
7
-3
23
0
3
14
0
0
63
0
0
0
5
0
0
2
-5
0
0
-5
0
0
0
0
0
0
25
0
-2
0
0
0
0
-31
0
0
0
0
0
0
66
-5
-1
0
0
0
2
-5
0
3
0
0
0
0
34
0
-1
0
3
0
0
-24
0
18
3
0
0
0
42
0
0
0
0
0
0
-2
0
42
-1
0
0
0
-17
0
0
0
-2
0
0
-46
0
0
0
0
0
0
-19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-137
-22
4
0
45
0
0
37
0
0
0
-21
-6
23
-19
0
0
0
0
0
0
0
-2
0
0
8
0
-41
0
0
-5
0
0
0
-2
0
-5
-4
1
6
0
0
0
-37
0
0
-1
0
0
13
31
0
44
-10
0
0
7
91
0
0
11
0
0
-5
20
0
0
-15
-3
2
-23
-12
0
14
4
0
0
3
5
0
-19
49
1
0
0
-38
0
0
0
0
0
0
12
-3
0
0
0
0
0
67
-1
0
0
0
0
0
-82
-6
0
0
4
0
-4
-6
0
0
24
8
0
-5
17
2
0
-75
0
0
0
-45
0
2
-103
-3
0
0
-9
0
0
37
2
-18
0
62
0
0
-3
0
0
0
0
0
0
0
0
-1
0
-30
0
0
0
0
0
0
7
0
0
0
0
0
0
-11
-1
-6
0
0
0
0
73
0
0
0
0
0
0
-108
0
-37
-31
0
0
0
-35
0
0
9
0
0
0
84
0
-6
0
0
0
0
-53
0
0
-2
-8
0
0
-52
0
2
2
0
0
0
-22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-31
-1
9
4
-49
-4
-1
12
14
3
13
7
-3
-5
11
-3
3
9
11
-13
-60
42
1
0
-13
-3
-19
0
-18
-58
0
-5
-18
-19
-18
-8
-49
-12
22
12
-1
29
-1
26
36
-2
6
-20
1
1
31
-8
45
-30
0
-10
-9
5
-33
6
-6
0
24
12
-7
37
17
44
27
1
6
48
26
9
-7
-24
12
-7
8
-9
-7
-17
-21
40
3
7
0
17
-13
-86
-12
-9
17
-11
12
16
4
-19
2
-38
9
-13
25
44
-40
-49
-5
-42
37
75
-1
-58
-3
-20
-3
43
13
-6
2
2
-41
27
22
-12
66
14
-15
-5
24
15
4
-32
1
1
-19
-51
7
11
9
-10
-14
5
-4
23
-40
-26
44
5
69
0
10
-9
1
5
-8
-10
-4
15
-20
-31
-28
-14
-2
-56
-20
-73
-11
14
13
79
-17
-53
44
-19
-25
25
-34
-76
66
21
40
-68
-3
-13
-37
41
20
-5
-13
-4
34
-18
44
2
-12
-5
-18
5
58
-29
-2
-33
-5
-2
-3
36
24
9
-19
-3
-1
0
-56
-24
39
-1
9
-4
71
-6
-9
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
19
0
10
-4
0
0
-8
-3
-4
0
-1
0
-1
27
-7
0
0
14
0
0
0
0
0
0
-9
0
-24
0
0
14
0
0
0
0
0
43
0
14
0
0
0
39
12
0
0
-3
0
0
-15
5
0
70
-1
0
0
-8
-2
0
0
-9
0
0
7
-6
0
0
16
0
0
-5
2
0
0
-18
0
2
-1
18
0
-26
15
0
0
0
-76
0
0
0
0
0
0
69
-1
10
0
0
0
0
-38
0
0
0
0
0
1
-30
0
0
1
-6
0
-4
-4
0
0
-4
0
0
0
15
0
0
-6
0
0
0
-75
0
0
21
0
0
0
-19
0
1
-5
0
7
-2
-59
0
0
1
0
12
0
3
0
0
0
0
-2
0
-36
0
0
0
0
0
0
3
0
0
0
0
0
0
-57
0
-24
0
0
0
0
-31
0
0
4
0
0
0
-5
0
0
-5
0
0
0
1
0
-1
-5
-9
0
0
-49
0
-5
0
-3
0
0
-26
0
4
-1
0
0
0
-37
0
2
1
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
6
0
5
5
0
0
-8
0
0
0
2
0
0
-50
-10
0
0
8
0
0
0
9
0
0
15
-2
0
0
0
1
0
0
-1
0
0
10
-8
0
0
0
0
2
-30
0
0
8
0
0
3
-1
0
-17
-8
7
0
81
12
0
0
-28
0
0
-22
-70
0
0
57
9
0
1
-24
0
0
-29
0
0
2
-27
0
-7
-6
-8
0
0
35
0
0
0
0
0
0
-13
8
-1
0
0
0
0
15
0
0
4
0
0
0
-58
0
0
8
0
0
0
-7
0
2
55
0
0
-5
-61
0
-3
26
9
0
-8
31
0
6
1
0
0
-3
-46
0
0
16
0
0
0
10
0
0
-2
0
0
0
-46
0
0
0
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
-8
0
6
0
5
0
0
-22
0
0
1
1
0
0
18
0
30
7
-1
0
0
24
0
0
-7
-2
0
4
-71
0
8
-1
4
0
2
-3
0
0
0
0
0
0
25
0
-2
2
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
23
17
8
7
32
11
-3
9
-3
76
1
-27
2
64
-38
-4
17
-1
-10
-1
10
2
3
-12
-42
-24
-50
101
3
18
-29
-38
-50
-13
13
1
-39
-8
0
-14
-5
-64
-9
-1
25
12
5
9
-44
-9
66
-138
2
-70
-18
-3
2
20
9
-19
41
49
20
0
-49
-16
-10
-7
17
38
-13
-5
-13
-10
-8
16
-65
-13
-81
13
-31
-50
-58
13
-2
13
11
-17
-59
-21
46
6
-33
4
5
41
5
-21
4
-3
-42
1
35
-7
-50
-1
28
-1
-2
50
-68
-48
-2
-43
25
26
-18
-25
-44
10
-56
60
-12
4
-74
23
-6
24
13
4
53
-17
-30
1
-12
43
-29
-26
-9
21
-8
-86
-22
-13
-16
9
1
1
-30
13
53
59
30
-6
-3
-32
14
49
-8
81
36
-2
32
-25
23
-38
56
28
-6
-99
-58
12
-34
-3
-5
-31
11
0
30
28
-58
-13
33
-42
-8
8
19
-43
35
-15
-69
17
3
-34
4
57
-2
-14
-47
-13
-8
7
-27
-11
29
5
-13
-41
31
30
-3
-18
-27
-16
80
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
64
0
0
15
-8
-8
-18
61
0
0
-45
-3
0
4
-58
0
0
-19
-30
29
0
0
13
0
0
5
29
0
18
-2
17
8
4
0
4
-4
0
0
28
4
18
-58
25
0
38
-89
-24
-4
20
16
3
-13
-6
2
4
0
0
-23
-6
-20
-1
3
106
-4
4
-1
13
-9
-9
-34
17
0
26
25
41
18
75
12
0
0
4
0
2
0
2
-43
-50
0
-2
0
0
2
7
-1
-3
-7
0
13
-23
-3
-1
-32
-7
30
-32
20
-3
3
12
0
3
-54
12
-12
14
-13
-6
-5
-122
0
8
-34
-100
-5
7
29
43
2
5
11
-17
2
0
-25
0
10
-25
12
-95
6
1
0
41
-27
6
-20
0
-6
4
2
0
-8
0
-2
22
25
3
-8
0
0
0
23
-2
60
-5
8
31
17
-23
0
73
22
-13
0
14
-36
0
22
21
-13
0
33
0
-6
-30
4
10
0
0
11
1
-7
49
-3
3
-3
-12
4
-15
28
20
-3
0
-26
0
-22
8
13
6
0
-25
23
3
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-6
0
0
2
0
0
13
17
0
0
-13
0
0
17
0
0
0
0
0
14
0
-4
7
0
0
0
-1
0
5
0
-6
8
0
0
-1
24
0
0
14
8
0
8
22
0
52
-26
-4
0
27
56
0
0
-11
0
0
-28
79
0
0
1
-2
3
-9
24
0
0
7
-1
0
1
11
0
-32
-3
-5
0
-1
106
0
1
-4
0
0
0
-51
-10
14
0
0
0
0
-48
3
0
0
14
0
-1
11
0
0
-2
3
0
-15
15
0
0
-2
0
0
0
59
0
-5
57
8
0
3
-42
0
0
68
0
0
14
3
0
3
3
-2
0
-9
80
0
0
0
0
0
0
11
0
0
0
-1
1
0
-24
0
0
0
0
2
0
25
-5
6
0
2
0
0
-105
0
7
0
0
0
0
22
0
0
-5
-1
0
0
-23
0
8
-23
-3
0
0
-66
0
8
-13
-5
0
0
-24
0
-41
9
-3
0
0
-3
0
7
-2
22
0
0
-28
0
-27
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
1
0
-43
0
0
0
4
6
-4
1
1
0
0
5
0
0
0
0
4
0
0
-9
10
-3
89
1
16
0
-4
0
-4
6
0
0
-1
-6
0
13
7
0
34
-9
5
0
57
-67
0
-3
-58
-5
0
-35
28
0
-4
3
0
0
-49
-41
0
1
13
0
0
-8
-12
0
-63
0
-2
0
0
-92
-3
0
0
0
0
0
3
42
0
0
0
0
0
30
0
0
-3
-3
0
0
-57
0
0
41
-5
-2
-1
-56
0
0
-30
-1
0
-1
-6
-7
0
5
4
0
-14
-33
4
0
16
2
0
8
44
0
1
-13
-41
0
0
6
0
10
0
16
-6
8
-43
0
0
8
0
8
0
-30
0
0
0
5
4
0
25
0
16
0
0
0
1
36
0
-6
1
0
0
-4
-64
-4
1
15
1
0
7
45
-1
-18
8
8
0
0
9
0
5
-28
-16
0
0
-49
0
28
16
10
0
0
-20
0
7
13
-4
0
0
-71
0
2
0
-1
0
0
-48
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-36
23
2
-73
-57
38
5
-20
1
-3
41
43
-12
-13
-55
15
0
2
-58
-23
-3
-1
-32
0
-7
4
3
-5
-48
-61
-8
-5
-3
0
58
11
-4
1
-7
13
29
-17
46
69
22
18
35
-3
6
19
-49
-13
-20
10
0
51
27
-10
7
50
-33
-13
57
14
-3
35
-10
-37
12
-22
-63
0
27
47
-10
0
-13
8
0
-1
45
-1
-1
-2
18
-27
-13
0
-7
4
7
-19
-17
15
23
-3
-5
7
11
-41
-9
30
18
105
28
-19
-3
-47
-16
3
-13
-44
16
7
1
3
-43
-5
-26
17
3
-18
57
-34
47
-12
-29
-14
91
22
21
-4
30
-42
-2
4
13
-14
-89
-12
-41
18
21
-54
22
-43
5
-10
-17
10
3
-4
15
-3
-70
41
-13
1
7
0
-5
-20
-2
-59
4
-3
-23
-9
-21
13
-29
-53
100
25
39
2
-17
-63
-34
-29
0
-31
22
-14
-84
-83
-7
-3
-12
-47
3
14
-1
-3
0
23
15
12
5
-5
-19
49
-6
31
13
-53
0
-8
13
0
-6
30
-9
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
13
0
-8
-9
12
0
0
85
0
0
8
-2
0
0
0
0
-47
0
0
-3
0
0
0
0
0
48
0
0
6
0
0
-6
34
0
0
-5
0
0
-5
27
0
-15
93
0
0
-49
-1
0
-1
-44
0
0
4
0
0
0
24
0
0
34
-23
0
0
-18
0
0
35
-58
0
13
8
0
0
4
-59
0
0
0
0
0
0
22
-5
0
0
0
0
0
33
0
0
0
0
0
0
-26
0
0
-1
0
2
25
-74
0
0
69
0
0
8
11
0
0
-63
-1
0
4
-22
0
0
-40
0
0
5
-61
0
0
0
21
0
12
-92
0
2
-12
0
0
0
-18
0
0
-8
0
8
0
-47
0
0
0
0
0
0
-37
0
0
0
0
0
0
-5
0
3
0
0
0
3
0
0
0
13
10
0
0
-24
0
-6
-4
0
0
0
80
0
-1
-1
-3
0
-3
0
-2
-42
1
0
0
0
-60
0
0
-2
0
0
0
-54
0
-2
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
0
1
20
-6
0
9
-4
0
0
-31
-8
0
24
11
0
0
-35
27
0
0
-21
-14
0
0
0
0
-1
-5
50
-6
0
-5
0
4
-5
-4
0
-63
9
0
-38
-1
0
28
-24
-7
0
-69
3
2
1
38
0
0
58
-21
18
3
-44
22
0
37
-6
0
0
-9
6
0
10
66
0
-27
-27
13
0
41
-24
0
0
-5
13
0
0
10
9
-5
0
7
0
0
-15
-4
1
8
-9
0
-8
-3
-17
-1
42
-2
0
-31
-20
1
13
13
0
0
29
2
-8
8
48
91
0
-32
-13
0
27
2
-4
0
72
4
-1
-8
-17
22
0
4
7
-3
-2
87
0
0
0
-26
0
-3
-14
66
0
0
-31
-1
0
0
-1
0
-4
-39
-1
0
0
0
0
0
-70
0
-38
1
0
0
-14
-49
0
0
-23
1
0
14
-42
-1
-54
-47
-5
0
-46
-9
4
-10
12
-14
0
7
45
0
20
60
2
0
0
-40
-1
2
-9
29
0
0
28
0
49
-3
5
0
0
-36
-10
30
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-131
-37
27
-10
-24
-31
40
-3
-43
73
-1
12
-56
-83
0
17
-70
0
0
98
-70
7
-16
52
-41
6
-3
0
56
19
-12
-5
4
9
3
-49
-17
46
14
-20
4
0
-52
15
39
-58
-23
29
-4
-35
-10
0
-12
-27
18
-24
-27
-13
-33
-15
-18
72
30
27
-25
0
28
-59
-30
23
-8
0
25
-6
51
14
-29
-5
9
-75
-80
2
-54
5
0
-12
-14
28
-15
12
7
-49
-20
81
129
12
-53
6
-62
12
14
-19
-1
-45
-9
41
22
-24
93
36
-28
43
-8
43
50
5
8
-26
-34
-24
2
1
-58
-24
-13
71
-15
-41
0
-35
-66
-42
23
6
-24
-8
29
1
-23
6
0
-3
5
3
0
21
-30
-1
-3
-11
1
0
1
4
0
39
31
-17
8
-3
120
4
-8
-5
47
-18
2
19
-37
13
21
-41
5
12
-6
29
-9
-34
52
18
57
18
31
21
15
-4
81
-13
-1
27
5
-22
-1
25
-116
-45
0
-10
0
31
35
9
39
7
-1
-32
25
-15
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
16
6
0
-29
-1
0
25
41
0
0
-16
4
-44
0
5
5
0
0
0
5
0
-28
-6
-12
-4
0
0
-25
-49
0
0
21
4
6
61
-20
0
-32
28
5
0
1
-24
-17
-2
-27
0
0
-31
-20
0
4
59
35
12
-44
0
5
1
-31
13
1
-27
58
6
-34
-29
-10
8
20
-5
0
3
-31
0
-2
0
31
-12
-4
0
1
0
0
-36
0
0
0
0
5
0
-107
-3
5
-18
-2
4
97
21
0
1
15
0
0
45
34
0
1
23
-21
2
-18
12
1
4
-24
19
39
-40
0
1
-5
13
-16
0
-17
-37
-1
-1
-9
0
-15
0
8
0
0
43
25
-41
0
-10
-22
0
0
3
6
0
57
-7
0
5
0
0
0
17
-1
42
4
0
16
-8
-13
0
-6
-35
27
0
0
-4
0
58
-32
-1
0
43
-44
0
-3
-40
-11
0
-13
0
0
39
-27
0
0
-1
-8
0
9
-8
-4
1
0
46
0
-101
-8
10
0
0
-41
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-19
0
0
0
-5
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
4
-95
0
0
-3
0
5
-9
-46
0
-45
44
0
0
-9
-67
0
0
-10
0
0
17
-30
0
0
9
5
0
-19
-14
0
0
-25
0
0
-8
-13
0
-13
0
12
-1
-3
-43
0
0
0
0
0
0
60
1
29
0
1
0
0
-20
0
1
0
0
0
1
24
0
0
2
0
0
-3
-17
0
0
-2
0
13
9
66
1
0
-9
15
0
1
-29
0
6
-7
0
0
-6
-47
1
16
2
2
0
-4
23
0
-2
5
0
7
0
35
0
0
0
1
-8
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
-2
0
0
0
10
0
0
-8
0
0
0
11
0
-22
0
0
0
-1
16
0
0
-2
0
0
0
3
0
0
0
3
0
0
-15
0
0
1
0
0
0
-6
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-2
0
0
-3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-31
0
4
0
0
0
0
1
0
0
6
0
0
0
19
0
-1
-7
1
0
-48
52
0
0
29
0
0
17
21
0
0
50
12
0
3
-54
0
0
-2
0
0
-2
32
0
34
0
-4
0
0
-7
0
0
0
0
0
0
-6
-5
0
0
0
0
0
-11
0
0
0
0
0
0
49
0
0
4
0
0
0
65
0
0
2
0
0
0
-12
0
0
60
-8
0
0
-13
0
0
19
0
-4
-7
-30
0
0
57
-2
0
2
-11
0
0
4
0
0
0
-6
0
0
0
-2
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
2
-1
0
0
0
-42
0
0
-10
0
0
0
14
0
0
0
0
0
0
-8
0
3
0
-3
0
1
37
0
-17
-2
0
0
0
1
0
0
0
0
0
0
39
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-16
0
39
-42
-92
3
25
-58
3
0
-3
7
1
-1
-15
-70
0
2
-17
-95
5
3
9
-53
25
37
0
-25
-6
-8
-1
13
54
-25
-72
13
47
-18
10
-74
-15
-13
-3
0
13
-11
-42
0
-1
-5
49
25
18
-21
-5
-15
-6
9
59
54
-14
6
27
-4
29
3
22
10
-8
-8
-5
8
13
23
-31
-43
-2
-1
-20
53
0
-14
29
-2
2
14
0
-6
29
-31
-21
-8
-39
-62
-1
-3
-77
46
0
-28
-15
-18
-9
-31
5
-3
-22
40
-37
-9
-4
58
19
66
33
22
-61
-35
-32
10
8
-11
12
4
34
11
-6
-8
4
4
-27
12
106
-1
-13
23
126
23
-20
-1
-18
-33
0
-3
8
15
-3
-5
54
-20
8
44
-9
39
-16
-1
-27
-63
6
-48
-12
25
3
55
-58
-33
1
-14
6
-4
-41
18
40
3
-2
-8
41
0
-49
-17
15
-56
3
5
12
-18
40
-20
41
-13
27
-56
-52
2
-13
-1
3
16
11
-3
13
23
-7
5
-20
-9
-2
-42
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
-30
0
50
-8
3
0
0
24
0
-4
0
0
65
0
0
0
8
0
-28
23
7
0
0
0
7
-15
15
0
-22
0
-3
-8
-16
0
16
68
0
0
18
-8
1
0
6
14
0
-34
-47
-1
0
10
0
0
-12
-76
10
0
-10
7
-2
53
-121
4
23
-3
2
0
7
8
0
0
1
0
31
0
15
-13
-5
0
0
0
6
5
0
0
0
0
0
2
3
0
0
19
0
84
-14
34
0
-2
47
0
7
-42
28
0
-25
34
2
3
-37
-8
-1
-3
5
-3
0
-20
0
0
0
67
0
-7
32
-50
0
-1
9
0
-26
3
30
0
-1
15
0
-80
0
20
0
0
0
0
0
0
10
0
0
0
0
6
-1
-9
0
23
2
0
-2
2
-16
0
2
8
-3
0
1
-3
-2
-51
-5
5
0
0
24
4
-8
42
0
-2
0
24
0
-9
2
0
0
1
-26
0
-1
17
0
-23
-9
-18
0
-42
0
0
3
0
-13
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
5
0
0
16
-1
0
17
-23
0
0
4
33
0
0
30
-19
0
0
13
0
-10
-1
-23
-36
-1
-8
0
14
3
0
0
-31
15
0
-46
9
-9
8
-5
-12
0
19
4
0
7
-19
-3
0
-15
8
-1
0
-3
7
0
70
-24
1
6
3
30
0
-17
15
0
-33
15
-4
0
8
3
0
0
10
14
0
0
6
26
-58
0
-35
0
0
8
-13
-1
5
-4
0
-4
15
-13
7
24
-11
0
16
15
0
-1
10
-13
0
36
-15
0
22
41
-24
0
9
-26
-28
-3
17
8
0
3
0
19
-32
-38
-18
0
55
12
0
7
70
44
0
0
-4
8
-8
40
41
3
0
-26
-2
0
2
3
0
-2
-1
30
7
1
-3
0
0
-63
-3
12
-23
3
0
5
-19
0
-2
35
1
0
-8
-2
0
19
-33
5
0
19
-53
-4
-7
3
7
0
-13
-6
2
-80
-35
-2
0
7
-33
0
-12
-60
43
0
0
-21
3
-61
-19
-1
0
0
11
-7
0
-1
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
28
8
-1
1
1
-27
0
9
-44
-1
-34
19
18
16
-6
-26
-72
-31
16
5
-48
-33
92
43
-50
-35
5
-4
0
-10
22
-13
-55
-2
-5
-5
47
-4
-2
-13
0
-36
-13
-2
-7
-6
-6
8
29
-4
18
-14
7
-63
30
-72
-7
-31
4
12
1
9
-1
-11
-2
-5
20
-42
-109
0
11
3
-18
-13
-29
-3
-2
-7
-44
-9
-42
-43
-3
-7
-19
35
27
-76
-29
12
-25
7
-23
12
-5
-35
2
21
-4
65
11
54
-33
-17
10
11
-91
30
13
27
-2
-38
-5
-61
-1
-4
-35
28
-9
-9
3
50
1
-31
-11
14
-50
-21
-17
-22
-3
-57
0
8
-46
-69
-7
3
-55
0
7
-11
-6
49
-52
-32
45
-15
-18
-17
-20
24
33
-25
-11
4
-56
-45
-66
-25
14
-4
-42
-13
21
-92
-60
36
9
-21
-68
17
-22
-8
-13
-7
-23
48
-15
-22
50
-30
3
31
30
1
-51
22
-13
-26
17
48
25
50
-72
0
-30
-70
41
17
4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
0
0
-10
-13
-68
0
-3
-49
0
0
0
8
5
-35
13
-6
0
0
0
-57
-29
-1
0
41
0
0
11
13
8
37
32
0
-3
-20
4
8
-3
-60
-2
0
-120
-8
0
13
1
0
-4
1
25
0
0
75
27
0
-10
0
0
45
-17
-2
10
29
3
2
9
3
0
9
5
-3
7
45
0
27
0
3
-30
7
0
0
0
0
1
-94
-22
-2
-74
12
6
5
35
12
33
67
-2
0
-15
-18
-5
10
29
-2
0
-29
-13
1
-7
36
30
-14
31
44
1
-69
-57
27
0
-27
0
8
-3
24
-5
-27
0
-12
-4
7
-7
-5
32
0
28
8
0
0
2
0
0
-87
32
-5
0
0
1
5
-15
0
-74
16
0
1
4
24
0
8
-33
-16
5
19
-62
0
41
21
-9
0
3
-11
0
-3
-37
-14
0
8
5
-2
39
35
2
0
12
0
-8
-5
-54
-25
0
13
-70
2
-33
13
0
-1
0
-40
6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
-31
2
0
0
0
0
0
-38
0
0
0
0
0
0
-7
0
13
3
0
0
-16
27
0
0
-13
0
0
0
20
0
0
-16
2
0
0
-35
0
0
1
0
0
0
4
0
-2
0
0
0
0
1
0
0
0
0
8
0
4
0
1
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
-50
0
0
0
0
0
0
-8
0
0
31
0
0
0
-31
0
0
0
0
0
0
-7
0
0
14
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-4
0
0
0
14
0
0
0
0
0
0
10
0
14
2
0
0
0
-14
0
0
0
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
-17
0
0
1
0
0
-1
5
0
2
-2
0
0
-3
9
0
0
23
0
0
-1
12
0
0
-5
0
0
-6
-32
0
0
-3
0
0
0
-5
0
-3
-1
0
0
0
-24
0
0
0
0
0
0
-28
0
1
0
0
0
0
-68
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-54
0
0
0
0
0
0
67
0
0
4
0
0
8
-13
0
0
24
0
0
0
5
0
0
6
-4
0
0
-54
0
0
0
0
0
0
4
0
0
0
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
-1
4
0
0
0
-16
0
0
0
0
0
0
-4
0
-7
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-41
0
0
61
-10
-25
-5
8
-18
0
1
-89
-16
-2
-3
-40
41
-16
-11
1
-12
0
-8
0
-18
-1
-16
16
-11
0
-13
-1
-11
2
-52
-4
-1
12
-44
84
-18
-27
2
5
7
43
-26
8
-59
-24
-6
-3
37
40
24
73
-20
0
-12
17
-9
0
-20
12
-8
13
17
55
-21
-3
-24
41
-2
0
-16
0
5
9
22
-3
-3
-39
0
-24
-13
9
-21
-7
-59
-47
49
-10
3
-24
13
-23
-92
-36
29
-9
41
-18
2
-59
-44
-9
-43
-119
44
-58
-18
-31
-5
-19
-2
-50
18
87
-1
-6
-13
-10
18
10
25
-8
12
-41
-7
-1
-80
-27
0
-34
1
-2
0
-51
18
2
6
-22
-4
0
30
28
0
7
0
-69
-43
-16
-46
1
-18
6
-11
-30
74
-69
-29
-36
-8
-19
-50
-66
-24
-104
-14
8
-100
-49
-4
-30
5
21
-2
-25
-41
-30
39
-13
7
19
-19
-16
-5
-8
24
15
-19
24
0
-12
13
9
-47
14
-5
3
-19
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
51
0
0
0
-8
-1
0
0
-3
0
0
0
0
0
-19
-1
0
0
0
0
0
11
0
0
-5
0
0
-13
-58
0
-39
-55
0
0
-46
27
0
0
-40
0
0
22
5
0
0
14
0
0
-9
6
0
0
-18
0
0
-19
-28
0
28
-50
-4
-10
8
-51
0
0
0
0
31
0
14
0
-4
0
0
0
0
-108
0
0
0
0
0
0
-55
25
-4
0
0
0
0
21
0
1
-13
0
0
33
66
0
0
28
0
0
0
68
-7
0
-4
0
-3
5
-12
0
0
-26
0
0
18
-17
0
0
-7
0
-1
10
5
0
0
-34
1
-54
0
-4
8
0
0
0
-2
0
-39
0
0
0
0
0
0
24
0
2
-8
0
0
0
-24
0
0
-5
0
0
-1
-28
0
25
23
0
0
0
8
0
0
7
12
0
0
-67
0
-14
-8
0
0
2
51
0
0
29
0
0
0
-13
0
8
6
0
-2
0
-19
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
28
0
0
9
32
0
0
1
-27
0
0
-20
0
0
-3
-34
-7
32
0
0
-89
0
0
0
-14
0
0
42
-7
0
-19
24
22
0
-15
6
0
-1
-34
3
0
14
-13
-1
0
14
-52
0
-27
-7
0
-2
-11
0
0
-22
-2
0
-84
25
32
0
14
33
2
0
78
-1
0
0
4
4
6
0
69
0
0
-11
-8
-8
6
-4
0
-3
12
0
-9
5
1
0
-5
-7
0
0
-22
0
0
-94
3
0
5
52
10
0
26
-6
0
-4
8
-42
0
5
7
2
-20
-14
11
0
3
-8
-1
0
13
4
0
0
-31
-2
17
-78
28
0
0
-12
0
0
-1
6
0
0
1
3
3
0
0
0
1
26
0
-7
7
0
0
30
-64
0
-4
-17
-3
0
37
24
-1
-47
36
5
0
-2
-39
0
1
-28
36
0
13
-34
0
-62
-4
12
0
-4
-12
0
-1
41
26
0
0
27
-2
-92
-4
0
0
0
-41
-42
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
0
0
0
-6
0
16
-19
-4
0
-2
0
1
4
0
0
-38
0
5
-4
3
0
-6
-70
-1
0
-19
-47
0
-1
-50
0
0
-24
-20
0
-4
12
-10
-2
1
-41
0
1
-27
0
8
3
-77
0
-70
27
-50
0
0
19
1
0
-5
-2
0
0
1
37
21
-1
-58
0
0
6
0
0
0
0
0
2
-43
6
0
5
-5
-22
2
8
0
2
29
0
-21
-14
-21
3
55
21
-8
-2
7
3
0
-6
-8
0
24
1
-9
0
0
12
50
10
0
-30
0
0
35
0
33
0
-13
0
0
-2
15
15
0
-7
0
1
0
0
-5
0
4
-5
0
0
0
0
0
15
-2
-13
-8
0
5
-7
6
0
0
7
-2
8
1
-13
0
45
19
-5
0
0
-46
0
-6
-5
-8
0
0
30
0
-36
18
0
0
0
11
0
-10
22
2
0
0
-17
0
-5
0
0
0
0
-62
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-27
0
3
-5
0
5
0
27
29
0
-2
0
-21
-40
0
0
-26
3
6
-57
-50
0
3
-30
3
0
14
-29
-7
7
-16
-7
-1
-5
4
0
0
-9
-3
0
27
3
0
0
-14
-3
3
-36
-48
0
-53
-30
31
1
43
0
-16
-3
1
-30
-6
0
-3
-2
-39
0
-18
0
0
-32
-1
1
0
13
-3
-3
2
-43
12
59
-1
51
-27
4
0
-2
-35
-2
-41
-14
-5
-19
27
-10
-25
44
77
1
41
-29
-23
-4
-22
-45
20
0
-31
17
-12
45
22
-4
-1
0
9
24
48
-2
0
0
0
-51
-51
-133
0
-27
-1
0
0
2
0
0
-1
4
-9
0
1
0
0
40
-2
-40
-31
-3
33
2
50
1
-1
23
-4
-5
8
44
0
-34
-65
-1
-12
-4
19
-3
-7
17
2
5
4
-35
0
-26
-75
-8
67
0
-3
-9
4
52
1
8
5
0
0
-20
-8
-2
-3
0
-22
-5
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-24
0
0
0
0
0
0
-19
0
0
2
0
0
5
13
0
-27
-20
0
0
-2
-44
0
0
2
0
0
-8
31
0
0
-4
0
0
0
-14
0
0
-2
0
0
0
42
0
14
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
0
-1
0
48
0
0
0
0
0
0
-42
0
7
19
0
0
0
-8
0
0
-3
0
0
0
8
0
1
0
0
0
0
-32
0
0
0
0
2
0
-1
0
0
0
-4
2
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-64
0
0
0
0
0
0
1
0
1
-1
0
0
-1
-5
0
0
-1
0
0
0
10
0
0
0
-10
0
0
-37
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-34
0
0
0
0
0
-2
0
0
0
-1
0
0
0
7
0
0
0
0
0
-1
-22
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
1
0
0
0
6
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
11
0
1
-44
-4
0
-14
2
10
0
1
0
33
-17
6
0
13
6
5
-30
-1
0
14
31
50
0
-43
-7
5
-1
-5
-2
0
-58
9
0
0
-7
-4
0
16
3
0
1
41
6
0
-18
-58
0
-46
9
-101
5
17
20
0
0
0
-3
15
-1
-13
-25
24
0
-32
2
0
-8
-1
0
-3
8
-13
-7
11
3
-1
2
-7
-33
29
-19
0
15
-3
-2
-9
0
15
10
2
-11
41
2
-22
19
-3
-5
-43
-31
19
66
-47
6
27
7
-33
-22
-20
-11
0
7
16
24
8
1
-49
0
-2
0
13
1
0
-60
44
0
0
2
-8
0
20
16
0
3
0
0
0
-43
0
-34
4
4
-35
0
-46
-1
7
45
-5
-8
-5
-38
1
-13
-18
-28
0
8
131
1
-8
5
-39
-72
-25
21
0
-14
1
5
-8
0
59
0
24
0
-16
0
0
-49
-5
-22
0
1
11
4
-44
22
-4
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-59
0
0
4
1
0
1
-54
-13
16
0
0
50
8
-2
-3
-2
0
-63
-108
-2
0
-4
35
0
-1
35
-3
-4
8
11
0
0
0
3
0
0
6
0
0
-39
0
27
7
9
7
36
5
35
0
-5
18
0
10
88
0
0
0
4
-1
28
0
2
-32
7
0
0
-8
4
7
-10
-1
-10
0
32
55
8
0
2
68
0
-1
54
9
0
-8
-17
0
7
-50
-9
-17
17
-6
0
-49
-100
-5
0
43
19
25
32
16
-26
-5
-3
-7
0
-1
29
-4
2
0
-16
0
16
-23
-30
0
0
-19
0
14
3
5
54
0
-1
-2
-34
0
2
-16
0
0
0
12
0
-9
0
4
41
0
-14
5
37
20
0
120
0
36
-7
-7
0
40
-11
7
-7
7
-10
-4
3
27
0
16
32
2
-1
-67
14
-7
-6
6
17
0
8
6
0
14
7
-19
0
26
0
0
11
0
11
42
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-87
0
-1
-15
0
7
4
5
-58
30
2
0
-26
-1
-1
0
0
22
0
-16
26
1
-24
2
-28
0
18
-4
7
-10
-28
-16
0
42
8
4
-20
-14
-30
0
73
3
0
-3
-5
-62
0
20
12
-4
-1
7
5
0
6
3
-22
1
-21
-92
0
0
7
-55
-107
-8
-110
0
-13
7
-10
2
-63
-56
0
-20
-5
-10
18
20
16
0
32
-4
-9
-23
-12
12
0
-8
7
-27
44
22
5
1
-25
1
-48
-27
20
-71
0
30
23
-24
56
29
10
0
8
-1
44
-14
25
40
56
2
-3
41
-37
-16
-36
-1
1
-10
40
-16
-10
53
0
44
8
2
-5
-24
-42
0
-38
-1
8
-50
-1
-31
0
-25
-19
15
23
-16
12
0
21
17
2
-47
-5
-26
-1
-66
-20
-19
40
11
11
0
-16
-19
21
-61
38
-15
0
23
15
3
74
57
27
-4
10
7
3
-4
16
-19
-7
0
19
3
-50
-15
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
-6
0
0
0
-1
-25
0
0
8
0
0
0
21
0
0
0
0
0
0
-17
0
0
-2
0
0
0
-4
0
-5
0
0
0
0
-19
0
0
-2
0
0
0
-16
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
17
0
0
-1
0
0
0
-39
0
0
-3
0
0
0
6
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
-2
-37
-3
0
18
0
-7
-25
8
0
23
-26
0
0
-2
42
0
-2
-2
0
0
-19
10
0
0
-23
-1
0
44
-75
0
0
-47
0
5
-5
8
0
-12
71
6
1
5
4
3
0
0
-1
-5
0
0
1
15
0
5
0
0
-43
0
0
0
-4
0
0
-27
0
0
-3
3
2
0
-30
0
0
-46
0
8
-1
24
-1
19
-24
1
0
-1
-11
1
-16
5
0
3
14
-75
0
0
-22
7
-1
-8
17
3
0
-3
0
-3
0
-56
0
0
4
0
7
0
0
0
0
0
0
6
0
-6
0
0
0
0
0
0
-7
0
-1
0
0
0
0
-30
-3
0
0
0
5
0
-110
6
-29
-14
-1
0
0
-40
0
-8
8
-5
0
0
-3
0
-19
21
0
-1
0
-19
0
1
0
0
0
0
-2
0
0
0
0
-7
0
0
-36
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-26
-1
21
-2
-3
0
73
35
0
0
-80
13
-4
-52
-11
0
32
28
69
0
31
-4
-3
6
7
-17
2
-45
-7
10
9
3
14
0
-51
33
0
0
-21
-13
8
-52
-33
0
33
7
-17
0
9
21
0
0
47
38
41
0
-5
0
26
1
-27
4
0
-5
-65
-2
0
1
0
0
-20
22
3
-20
3
-43
-49
-2
-7
25
-107
6
2
-9
-15
12
15
-62
-72
1
20
2
-5
5
-11
134
31
56
-46
-5
-4
11
11
21
-19
-3
0
4
-25
47
63
7
9
0
6
-41
25
-28
0
-84
0
5
0
4
-1
0
3
7
-6
0
0
0
0
-18
-2
-93
-5
-4
-42
0
-8
0
13
22
8
-2
-13
21
0
-51
16
15
0
-5
-24
0
23
-54
-25
0
-12
-35
2
-54
34
-81
-21
0
43
0
-2
15
5
-1
0
52
7
-61
-1
-7
-10
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
1
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
0
0
0
-12
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
-69
0
0
0
0
0
2
5
0
-79
-37
0
0
3
-19
0
0
11
0
0
0
-21
0
0
0
0
0
-12
-47
0
0
-1
0
0
-1
5
0
-58
-1
0
0
0
17
0
0
0
0
0
0
66
0
0
0
0
0
0
-27
0
0
0
0
0
0
10
0
0
0
0
0
0
-93
0
0
9
0
0
0
-14
0
0
-12
0
0
0
-55
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
9
0
0
0
0
-3
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-13
0
0
0
0
-84
0
0
-4
0
0
5
-11
0
-48
-56
0
0
-70
-13
0
-3
-32
0
0
25
-46
0
0
8
0
0
3
-17
0
0
-102
0
0
0
-43
0
13
49
0
0
0
-21
0
0
0
0
6
0
-45
7
0
0
0
0
0
-26
0
0
0
0
0
6
0
0
5
2
0
0
30
50
0
4
1
0
0
-7
34
0
0
-23
0
0
-10
-3
0
0
-15
0
0
0
-43
0
3
24
0
0
0
-99
0
0
-2
0
0
0
-32
0
8
-5
0
-43
0
-11
0
0
0
0
7
0
-10
0
0
0
0
0
0
7
0
2
0
0
0
0
-43
0
0
-5
0
0
0
-26
0
1
6
0
0
0
15
0
0
2
2
0
0
-20
0
-2
8
0
0
0
-53
0
0
-6
0
0
0
60
0
-27
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
53
-14
-3
0
0
0
7
70
-1
0
24
0
0
-11
-9
0
-27
-8
42
0
-9
-4
0
0
-29
8
0
10
3
0
10
5
-10
0
-14
8
20
-2
21
-2
0
-1
-30
0
-43
9
-69
0
0
-10
-2
0
1
1
0
0
8
50
27
0
0
0
1
27
21
0
0
0
0
-5
-29
-1
0
-27
-5
0
6
50
-1
0
1
0
0
-44
-38
5
0
62
10
0
-96
5
0
2
-13
7
0
58
-34
8
29
0
-31
0
0
8
0
0
6
0
0
2
-20
6
14
-34
0
0
0
8
-6
0
0
7
0
0
56
-5
0
-1
0
0
0
44
0
1
-4
0
0
6
-15
0
0
-25
-8
0
3
-16
0
-60
41
5
0
0
72
0
-6
-3
-24
0
0
-28
-8
42
-17
-2
0
0
-47
1
0
24
16
0
0
20
0
83
0
-1
0
0
-54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-3
0
0
3
-1
0
-8
-1
0
0
4
-70
0
0
-8
0
0
5
9
0
0
24
0
0
2
5
0
0
-4
0
0
-25
49
0
28
7
0
0
0
43
0
0
5
0
0
0
13
0
0
0
0
0
0
-50
5
0
0
0
0
0
-30
0
1
0
0
0
0
-26
0
0
1
0
0
0
41
0
0
1
3
0
0
57
0
0
13
0
0
2
50
0
0
-2
0
0
0
-45
0
0
5
0
0
0
1
0
0
0
0
0
0
-49
0
0
0
0
0
0
-1
0
0
0
0
0
0
43
0
-1
1
0
0
0
-31
0
0
6
0
0
0
2
0
1
-8
0
0
0
-35
0
0
0
0
0
0
-31
0
3
0
0
0
0
4
0
0
0
3
0
0
-14
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
-14
8
-6
36
-15
-15
1
-62
-4
2
-8
19
19
1
4
-47
12
-27
103
43
4
-6
4
22
27
-12
1
1
-41
15
-9
18
0
-1
-4
-5
12
-4
2
-13
40
-3
-14
-23
-6
72
27
48
2
15
-11
-56
16
-50
60
0
-33
-75
-45
51
9
23
14
-18
-19
-11
-92
0
13
4
-35
-6
6
15
-4
38
-4
-24
-35
16
-25
-83
9
-2
37
-13
5
-75
8
11
-4
50
-83
-17
-32
34
51
-15
12
3
10
31
33
36
-14
6
-14
20
-2
17
-20
-7
2
-47
115
14
-21
-47
0
-19
1
-79
-80
-104
-5
1
-57
-67
1
-24
-36
-23
5
-30
-27
-38
9
-17
7
-11
-9
17
0
2
49
-39
1
8
21
0
-39
-30
-23
10
-14
0
-7
45
-32
-93
12
0
-10
-9
0
-33
7
-3
-18
-13
35
49
-6
-7
3
-46
-11
26
9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-58
0
0
12
-1
0
-41
9
0
-39
0
25
-2
9
20
0
-10
9
-9
0
-128
-56
-5
8
2
-11
-1
47
9
0
9
-60
-1
0
-32
89
0
26
4
-1
0
46
-29
0
0
7
6
24
0
47
14
-2
0
-24
2
0
-35
0
0
0
0
0
14
16
5
2
39
55
-102
-30
-3
0
19
22
-16
27
-9
-48
0
3
0
10
-1
37
-17
0
4
-24
4
15
22
18
0
35
-83
-14
-6
-3
-15
0
2
38
0
61
0
55
0
0
1
48
17
0
-1
3
-1
0
2
-1
0
4
0
-1
0
0
0
-1
-27
0
23
45
0
-3
5
57
1
-1
-4
43
0
-6
-24
0
-31
-32
-3
0
0
32
0
-10
44
-33
0
1
-35
0
-13
-64
-3
0
-1
8
-5
-4
3
-42
1
5
24
0
-6
0
0
-14
0
-1
-8
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-47
1
0
-7
0
0
96
32
0
-21
-4
-9
0
18
24
0
-1
-38
7
0
10
-63
-1
2
-60
0
0
-1
-1
-1
-5
38
-2
0
-4
30
0
31
-130
42
0
-1
1
-6
0
12
0
8
0
20
-13
-2
0
-13
0
-1
-35
0
0
-5
4
0
-8
54
5
2
-20
-5
-19
-23
-6
0
-6
-5
0
44
-14
51
5
-8
3
11
8
9
71
13
-14
49
28
15
0
-67
0
3
-54
7
41
-17
-33
0
-3
12
10
-79
0
-63
0
1
-13
22
-30
0
19
-8
0
0
2
0
0
-45
8
0
0
0
0
4
-10
0
17
19
0
2
3
-64
0
-5
-33
13
1
0
38
0
-27
14
25
0
0
-30
0
-3
42
5
0
0
-22
0
-62
6
-7
-16
0
42
0
-7
5
0
-6
0
-24
0
-17
0
0
1
0
-13
-5
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-14
0
0
0
0
0
-25
17
0
0
-1
0
0
-8
12
0
0
22
0
0
-6
36
0
0
12
0
0
5
-108
0
0
-40
0
0
-5
-18
0
-46
-10
17
0
0
29
0
0
0
7
-2
0
9
60
0
0
-5
0
0
-1
0
0
0
0
0
0
34
0
0
0
0
0
2
-13
0
0
0
0
1
0
14
5
0
1
-16
0
19
11
0
1
15
0
-3
0
-26
0
0
6
35
0
0
31
0
0
-2
2
6
0
51
0
0
0
1
-25
0
17
0
0
0
0
0
0
-55
0
0
0
0
0
0
-8
0
-1
0
0
-1
0
-67
0
-2
0
0
0
0
4
0
3
5
0
0
0
12
0
0
2
-7
0
-1
-20
0
34
-8
0
0
0
-74
0
10
0
0
0
0
31
0
1
0
0
-2
0
-26
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-35
0
0
10
0
0
40
-155
0
-7
-144
0
0
-27
-33
0
-1
-37
0
0
-8
3
0
0
-21
0
0
-25
-66
0
0
10
0
7
49
-9
0
-42
-2
0
0
0
-30
0
0
0
0
0
0
22
-3
-2
0
6
0
0
-60
0
0
0
0
0
4
55
0
0
-4
0
-9
2
-22
0
0
32
0
51
2
-24
0
0
-52
2
4
44
4
0
0
-38
0
-14
-9
-36
0
0
-31
-3
3
0
-11
0
0
8
0
6
0
-20
0
0
0
0
37
0
-9
0
0
0
0
8
0
4
2
0
0
0
0
6
57
0
2
0
0
8
0
32
0
0
43
0
0
0
-30
0
55
13
0
0
0
45
9
0
48
0
1
0
-21
0
66
-5
0
0
0
25
0
1
0
0
0
0
50
0
-14
0
0
-12
0
-58
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-2
-1
0
-10
0
0
0
0
-13
0
0
16
0
0
0
-15
0
0
0
0
0
-4
12
0
0
-1
0
0
0
-4
0
15
0
0
0
0
-6
0
0
0
0
0
0
-57
0
0
0
0
0
0
-69
0
0
0
0
0
0
-2
0
0
0
0
0
3
45
0
0
0
0
0
-7
19
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-42
0
0
0
0
0
0
-39
0
0
0
0
0
0
-18
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
2
3
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-88
0
16
10
-18
2
-58
-6
0
0
-3
-39
0
23
-27
-2
0
-26
41
0
-61
-6
-9
3
63
-5
3
-72
26
0
45
21
41
-8
-10
-12
2
0
27
0
24
0
9
-4
-42
0
63
-8
0
50
16
0
10
13
0
0
14
0
2
-21
4
-5
6
-22
1
0
33
-19
-12
-10
20
3
0
2
-32
-5
12
-5
0
-9
72
-33
-22
-7
-22
1
-13
47
54
-21
-15
17
0
4
-44
-3
52
0
-42
0
-20
-9
-23
-14
0
9
23
0
0
0
-2
0
-60
-45
1
0
0
0
0
4
0
-24
1
0
-7
-5
-13
0
6
67
0
-12
-2
-22
0
105
-15
-4
0
-8
-25
0
-7
-32
-35
18
-5
-5
1
16
71
9
6
0
19
1
7
-40
16
28
0
-6
0
-28
0
1
45
0
42
3
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
-27
-28
-1
-53
17
6
-2
-32
-56
12
14
-41
13
5
-67
33
1
-31
59
13
4
-90
-59
5
26
49
-37
-5
3
-17
5
14
-37
26
-5
-79
55
-8
-32
6
8
0
-4
-14
-42
-12
64
6
-2
74
-36
-78
35
-3
-28
0
5
56
14
-24
-23
-51
2
-17
13
-1
-3
29
20
1
-17
-76
1
-31
23
33
-1
39
-56
3
-22
1
-40
2
-45
17
-3
-3
14
-34
5
45
7
-5
16
6
-5
0
-42
3
12
-1
7
31
-22
-29
-4
49
28
-24
-28
11
53
-79
-31
-124
-60
-10
0
101
56
14
-78
3
-60
-4
-1
64
-44
-34
-52
30
4
-25
-6
-50
-24
-12
-40
5
-38
13
9
19
-47
-9
8
109
-5
8
-60
8
16
-4
-24
-52
-14
-10
-22
-72
6
59
-8
-16
-9
18
-4
-15
36
-8
3
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
0
29
-22
0
0
-12
47
0
0
22
0
0
-1
47
0
0
23
2
0
64
-28
0
0
-21
0
0
14
24
0
44
30
-17
0
0
-74
0
0
0
0
0
0
-45
0
0
0
-4
0
0
-22
0
0
0
0
0
0
54
0
0
0
0
0
0
70
0
0
-1
0
0
0
32
0
0
4
0
0
-3
-39
0
0
16
0
0
0
-49
0
0
7
1
0
0
-30
0
0
3
0
0
0
5
0
0
8
0
0
0
24
0
0
0
0
0
0
30
0
0
0
0
0
0
25
0
-44
0
0
0
0
22
0
0
0
0
0
0
31
0
8
-7
0
0
0
-10
0
0
6
0
0
0
6
0
-5
0
0
0
0
-14
0
0
0
0
0
0
-55
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
0
-46
-12
0
0
7
-15
0
0
8
0
0
-3
6
0
0
0
0
0
5
-28
0
0
9
0
0
-1
-1
0
-19
0
0
0
0
24
0
0
0
0
0
0
-20
0
0
0
0
0
0
15
0
0
0
0
0
0
-18
0
0
0
0
0
0
40
0
0
0
0
0
0
-12
0
0
-1
0
0
0
20
0
0
-17
0
0
-3
20
0
0
-1
6
0
0
51
0
0
0
0
0
0
68
0
0
0
0
0
0
27
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-30
0
0
0
0
0
0
-9
0
0
-2
1
0
0
10
0
0
0
0
0
0
-18
0
0
-4
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-2
0
-26
-77
-13
0
-55
4
0
-5
86
-2
-2
10
1
1
-4
-55
-65
-8
5
42
-3
-14
23
8
7
18
-2
0
-10
3
-5
4
-46
4
0
5
-30
-16
50
-5
38
-32
75
0
25
0
0
-21
68
0
0
-1
-8
-6
7
2
51
43
-31
8
-47
27
3
-27
-2
0
-81
-71
10
8
48
9
33
-17
52
13
-6
-46
30
49
-49
22
24
1
20
-64
-56
-52
-22
7
-6
1
15
-2
-61
-12
1
8
-2
-31
-5
8
0
53
-4
2
0
8
30
-12
-35
34
0
2
23
0
-3
-39
23
4
27
-1
-13
1
22
0
1
-63
6
17
-44
38
-2
30
-28
9
4
15
0
5
-15
-24
-54
-5
-9
15
0
33
7
-6
40
-15
36
4
28
-64
-32
27
0
3
7
-34
-7
0
24
0
13
-84
-21
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
2
0
-6
39
0
0
31
66
0
0
-18
0
0
6
-48
0
0
5
0
0
-3
-21
0
0
4
0
0
0
6
0
22
0
0
0
0
-49
0
0
0
0
-3
0
55
0
0
0
0
0
0
57
0
0
0
0
0
0
24
0
0
-1
2
0
10
15
0
0
0
0
0
14
17
0
0
-6
7
0
8
0
0
0
5
0
0
2
-27
0
0
10
0
0
0
4
0
0
-1
0
0
0
-6
0
0
0
2
-18
0
-29
0
0
0
0
0
0
-15
0
0
0
0
0
0
-82
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
0
1
0
0
0
-10
0
-1
7
0
0
0
-7
0
0
-7
0
0
0
28
0
0
0
0
0
0
-9
0
-6
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-35
31
0
0
108
-6
0
0
9
0
0
17
-10
0
0
-18
-5
0
-29
-68
0
0
-2
0
0
-9
19
0
-52
6
-27
0
-2
-25
0
0
0
0
0
0
-40
-2
7
0
0
0
0
-80
0
0
0
0
0
0
-99
0
0
0
0
0
-9
-10
0
-3
3
0
0
0
-48
0
0
21
14
0
-13
45
0
6
-13
0
0
-10
-23
0
0
24
-2
0
-10
54
0
0
-39
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
-24
0
0
0
0
0
-2
-10
0
-8
-1
0
0
0
-5
0
49
7
0
0
0
1
0
0
-1
0
0
0
2
0
-15
1
0
0
0
-2
0
0
-3
-1
0
0
7
0
-3
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-53
43
-25
-41
24
0
5
2
-3
41
-74
2
6
-52
-23
-4
-3
27
6
10
-66
-5
-3
-29
32
22
15
-5
-30
-2
-3
-39
-14
-26
0
22
28
-24
0
-9
0
-2
-6
49
14
31
59
4
5
-26
-21
-46
31
30
-21
-18
28
0
-14
-17
-2
-5
21
-10
3
7
9
-13
5
12
-42
-1
81
-5
17
-66
52
-19
-2
-31
38
-20
-49
-132
-14
-2
-10
2
-4
114
0
-3
1
-34
26
4
-49
0
19
30
-13
9
0
-6
0
-13
-60
0
2
-1
8
0
-15
-8
3
13
-6
-2
-4
-2
-13
18
-1
19
1
12
-12
-1
-14
28
-3
-1
-8
5
1
10
-37
28
-8
-6
-12
8
-8
-9
0
-8
13
-14
-9
-9
5
-19
-49
0
31
6
21
-2
0
-52
0
1
5
9
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
5
-40
87
12
-10
42
18
5
15
-44
10
-57
-19
9
2
32
-28
14
6
-71
-31
8
1
7
15
1
10
-40
-4
-37
-1
-17
68
39
27
-7
-51
46
35
-12
33
49
1
9
14
-31
-80
-37
10
-16
28
24
7
30
7
-150
0
-13
-22
-30
-7
-5
-44
-37
13
8
-10
72
-22
-4
-7
11
-118
-19
23
-8
41
-1
-2
-62
11
-1
-91
24
0
-36
10
12
-9
17
-35
-4
-26
-40
5
-11
13
0
16
-21
-16
-9
63
7
-3
-21
-20
48
-1
-12
46
36
-26
9
77
-42
-53
-30
-84
0
-28
44
8
-81
101
-60
-14
-93
22
13
56
-37
-33
-36
-112
-23
-35
-21
-46
-42
-11
2
-52
-38
23
3
-75
-2
-14
-111
-39
17
7
12
-3
24
-22
-14
13
-8
-1
17
-49
14
-31
54
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
56
0
0
-41
0
0
8
-10
0
0
7
0
0
5
-38
0
0
1
0
0
-2
-16
0
17
0
0
0
0
35
0
0
6
0
0
0
45
1
-1
0
0
0
0
-7
0
0
0
0
0
0
32
0
0
3
0
0
0
-3
0
0
0
0
0
0
-86
0
6
0
0
0
-2
-20
0
-1
29
0
0
0
-28
0
0
12
-1
0
0
-2
0
0
0
0
0
0
-28
0
0
0
0
0
0
-51
0
0
0
0
0
0
8
0
18
0
0
0
0
43
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-3
0
-4
-9
0
0
0
10
0
1
0
0
0
0
22
0
4
-1
0
0
0
11
0
0
0
0
0
0
24
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-20
10
-7
21
-54
2
-11
-2
34
18
-5
-23
-86
34
4
21
-19
1
11
-47
50
29
-7
5
12
13
17
25
5
-29
-2
-13
-44
42
-7
4
-43
45
2
36
7
-4
-4
20
13
-23
-25
72
29
-15
-56
18
-1
18
7
19
6
15
3
22
-44
39
13
-5
-19
8
-12
-24
-16
11
-2
7
26
-3
46
67
-47
2
-11
-31
19
7
5
4
15
-5
-12
22
-21
13
17
-37
-81
-2
-7
-101
15
-33
25
-48
9
-31
-94
-8
-1
7
-23
5
-3
-91
49
25
10
49
-48
-39
-10
-52
-52
-14
-29
-24
53
12
-10
3
1
-19
-21
-3
-79
17
-23
-40
19
-126
-6
15
35
-38
5
31
-18
-40
-12
-5
-40
-20
27
-15
9
19
-57
-49
13
-6
28
19
30
30
2
11
-12
-17
-16
-71
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
-59
39
-19
3
-14
-1
-27
-31
-28
-12
-13
-18
31
-41
-45
11
-47
-50
-6
12
-41
5
-10
-14
-49
-86
3
19
6
22
10
-31
-3
-5
-1
-19
-9
62
57
6
-1
-11
-3
42
75
-7
13
-28
5
18
-13
-67
23
-27
-3
-4
-25
9
-2
25
-30
-10
-40
-64
0
-41
-51
-42
-22
102
-44
-2
38
12
-59
15
59
-51
-7
-39
-8
2
17
-13
-42
19
-9
-20
-14
7
-1
-9
2
-32
2
-1
0
-13
-1
-2
-1
9
-14
-20
35
-33
-16
-54
-10
-5
20
20
88
3
-29
18
32
23
18
12
19
-64
16
-19
0
-4
39
36
42
-5
-36
6
5
-32
-33
-51
-26
-14
-4
3
-13
-82
-28
-1
28
-14
5
-8
22
23
35
-1
-8
-24
-25
22
-41
11
0
-2
9
0
-51
-58
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
16
0
-31
9
0
-60
-19
0
0
-15
0
1
12
-14
0
8
-26
0
0
-24
-14
0
23
-47
0
8
-2
-21
0
0
-19
0
-97
0
16
-3
-17
0
0
0
-1
-9
-1
0
0
0
0
-18
13
0
9
-30
0
-6
-7
-3
0
4
1
0
16
45
-2
0
5
-52
0
41
1
-51
0
2
-18
0
17
19
-32
1
-3
11
0
25
63
-18
0
0
-5
0
10
0
-26
0
0
-28
0
0
0
19
0
0
-2
0
-7
0
17
2
0
1
0
0
0
-39
0
-3
-39
0
5
0
-8
0
0
-59
0
8
-37
4
0
40
5
0
-1
9
-71
0
21
18
0
4
-13
0
0
-27
3
0
-7
0
6
-1
0
50
0
-13
8
-35
0
19
-7
0
-54
0
16
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
0
0
-5
0
0
0
-107
0
12
-2
-1
0
8
31
0
0
-5
0
0
0
-24
0
14
0
0
0
0
13
0
0
0
0
0
0
-32
5
0
0
0
0
0
-31
0
9
8
0
0
0
-4
0
-2
0
3
0
-2
26
0
0
0
0
0
-4
-17
0
0
28
0
0
7
-27
0
0
4
0
0
0
75
0
0
27
0
0
0
-90
0
0
0
0
0
0
-27
0
0
0
0
0
0
-60
8
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
-3
0
0
0
0
-4
0
0
6
12
0
0
0
0
0
0
0
0
0
-13
0
0
-1
0
0
0
-8
0
-1
0
0
0
0
21
0
0
0
0
0
0
16
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
-37
-3
-2
-5
0
-33
11
-6
57
-22
28
25
10
20
0
-4
4
-28
15
-7
28
-42
-8
17
-48
59
0
10
-159
16
0
2
-63
1
7
5
4
-9
-42
-1
-92
4
-79
-30
-3
101
8
7
-2
28
24
-4
26
20
-47
3
31
-39
9
32
-6
17
3
4
23
2
-52
12
23
2
-8
47
-17
45
13
-1
29
-1
31
-4
-23
-30
-9
26
57
47
-72
26
31
-2
9
-65
14
25
-33
-33
-5
-42
9
-5
68
-14
-5
59
25
-15
-20
7
31
58
25
-30
49
87
-48
-30
8
-16
-4
-31
-8
16
-21
-49
-27
29
-21
6
-22
-47
-86
-21
7
6
-57
9
9
-30
-27
-5
-14
-56
-52
40
-50
4
13
-5
16
59
-42
-22
0
-13
-88
5
10
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
3
55
71
-13
7
-46
4
-1
-5
-8
1
-16
73
-26
-10
33
3
-7
-6
11
-14
-23
-44
-8
-5
34
-51
-58
-11
-18
-67
-59
-5
-12
-41
3
19
-46
59
-17
-31
-45
4
63
-36
35
6
5
38
3
-28
-5
-45
26
16
-125
0
4
10
-33
-18
-1
-37
-9
-79
-19
-10
-25
12
-16
-1
-72
-60
-18
8
-31
-35
-4
-1
-45
-3
-40
-18
-52
1
84
55
14
-17
10
5
16
-93
-28
-30
-33
-23
-71
0
50
41
-19
8
1
-24
31
0
-32
-28
-48
22
-54
-3
2
29
-10
30
55
-19
0
13
19
-16
55
40
-55
22
-28
8
-43
1
54
-38
-10
-3
-21
41
33
-33
44
-9
29
-63
17
0
-27
41
0
21
-16
13
1
24
5
17
100
-41
-31
29
-174
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
-25
-79
0
0
76
0
0
-1
12
0
14
7
2
0
0
3
0
0
0
0
0
0
12
1
0
0
0
0
0
-62
0
0
0
0
0
0
94
0
1
-1
0
0
0
-24
0
0
-7
0
0
0
14
0
0
-4
0
0
0
-66
0
0
20
0
0
0
62
0
0
-30
0
0
0
-20
0
0
2
0
0
0
-18
0
0
0
0
0
0
-29
0
0
-1
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
25
0
-4
0
0
0
0
-59
0
-1
0
0
0
0
-23
0
8
0
0
0
0
13
0
0
0
0
0
0
2
0
0
1
1
0
0
119
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
21
0
6
-6
1
0
1
-69
0
0
0
0
-2
3
22
0
-1
16
6
0
0
31
0
0
0
0
0
0
32
22
0
0
0
0
0
6
0
2
9
0
0
0
6
0
0
-9
7
-1
31
9
0
0
-8
0
3
-2
-71
0
0
0
0
-2
-3
22
6
0
-7
7
0
4
-64
-2
0
56
-4
0
5
53
0
0
0
0
6
0
-62
0
0
0
-1
0
0
-39
8
0
0
0
0
0
38
0
0
0
0
0
0
-4
0
13
0
0
0
0
-29
0
1
0
12
0
4
41
0
5
-17
1
0
0
-66
0
0
8
35
0
-3
27
0
-36
0
0
-3
-4
50
0
0
6
1
0
0
19
-7
8
0
0
1
0
-19
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
6
-24
-49
-6
0
-3
-4
5
16
-5
-1
-68
-50
13
-2
3
0
-16
-17
-23
-18
3
3
5
-14
-6
19
9
-10
1
-5
-56
35
23
14
17
-57
-69
-11
-21
1
69
21
35
68
-27
-9
18
7
18
-8
23
-27
-4
-32
14
-4
-5
5
-18
-6
23
-13
-5
62
-23
-14
-14
-22
12
4
-3
-9
23
31
-76
47
-1
27
-15
-50
-10
-42
-19
14
1
-73
-36
-5
20
9
8
-12
-3
2
-15
18
4
-3
116
18
31
-31
-3
-35
-15
-30
-16
20
-31
25
61
27
-16
-24
-63
40
16
29
-1
0
-11
-34
0
0
39
51
-16
4
98
-6
67
60
-29
-10
14
-4
-32
34
19
0
-5
-39
7
31
34
-51
-9
-21
-39
8
57
18
-7
-10
50
-22
-1
-30
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-44
0
0
15
0
0
0
-12
0
0
-44
0
0
12
-71
0
17
1
-3
0
0
-64
0
0
-2
0
0
0
23
0
6
0
0
0
0
-20
0
0
0
0
0
0
-44
0
0
-41
0
3
-10
59
0
0
22
0
0
8
-41
0
5
47
0
0
0
25
0
0
33
0
0
0
20
0
0
16
0
0
0
-56
0
0
35
0
0
0
-56
0
0
0
0
47
0
-117
-2
0
0
0
0
0
1
0
0
0
0
0
0
-18
0
5
3
0
0
0
48
0
0
-8
0
0
4
-90
0
0
-13
0
0
0
15
0
0
1
0
0
0
-44
0
-1
-9
0
0
0
-25
0
0
6
0
0
0
-19
0
-5
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-26
0
0
0
0
0
0
-26
0
0
-8
0
0
0
-5
0
-13
0
0
0
0
-41
0
0
0
0
0
0
13
-9
0
0
0
0
0
22
0
0
0
0
0
0
-18
0
0
0
0
0
0
-28
0
0
5
0
0
10
-7
0
0
0
0
0
5
22
0
0
2
0
0
0
-43
0
0
-4
0
0
0
31
0
0
0
0
0
0
13
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-5
1
0
0
0
-1
0
0
0
0
0
-9
49
0
0
1
0
0
0
-6
0
0
-3
-4
0
-5
5
0
24
0
0
0
0
-5
0
0
-3
0
0
0
43
0
-3
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
22
0
10
2
-6
-43
-33
-4
-1
45
-12
-61
-2
25
-2
29
-1
5
-4
-31
-6
-14
30
-38
-3
-13
8
7
19
-20
12
-6
-1
0
-9
20
8
3
25
2
-55
-23
-2
-4
-8
58
0
77
-152
-17
2
-1
-29
-23
39
31
25
-18
-9
23
5
-3
48
-10
12
28
-24
118
16
8
32
1
18
55
-37
-78
4
5
1
3
40
30
23
0
25
17
0
0
-8
-4
0
-1
-25
1
-12
-2
0
-5
10
34
18
-10
25
-43
-4
-57
-2
49
23
3
2
-13
-14
-3
-39
-24
42
8
61
15
3
-46
-20
-40
-3
-3
-32
0
-28
-40
2
37
24
6
-7
21
-6
-41
50
-30
-13
7
-147
13
17
69
-1
3
70
0
0
28
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-11
32
-55
-4
-19
-73
-35
-10
-48
-6
-13
-6
-77
1
-16
-33
10
9
-46
-55
-55
-4
18
-19
11
-12
31
-2
10
49
-32
36
26
15
-14
-9
-46
26
-35
-26
-6
-13
4
-31
-13
5
-12
-20
-39
2
19
-53
5
6
-2
-53
0
-35
5
0
23
-1
-25
0
-77
23
-27
39
64
-64
-6
-28
-61
4
-54
-9
-10
-8
-20
-57
-17
-1
6
-11
9
21
-31
-89
17
-40
-41
9
-56
84
-16
-57
-7
-14
8
-4
-1
38
-2
-23
-32
12
5
-29
-5
4
84
-61
-26
-124
6
20
56
49
51
0
-2
-83
26
-38
-21
-11
7
55
-14
-23
-11
-40
32
1
30
2
-36
-4
49
-6
-2
25
-16
10
-31
12
6
7
22
-76
-1
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
9
0
0
0
-41
0
2
4
0
0
0
-21
0
0
0
0
0
0
-28
0
0
0
0
0
0
22
0
0
0
0
0
0
24
0
0
0
0
0
0
58
0
0
-1
0
0
0
-68
0
3
0
0
0
-4
-11
0
0
6
0
0
0
21
0
0
2
0
0
0
74
0
0
0
0
0
0
63
0
0
0
0
0
0
-57
0
0
0
0
0
0
-12
0
0
0
0
0
0
-78
0
6
0
0
0
0
-24
0
0
0
0
0
0
8
0
-1
-4
0
0
0
-66
0
0
0
1
0
0
-43
0
33
1
0
0
0
-33
0
0
1
0
0
0
71
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
60
0
-1
-57
0
10
0
-97
0
9
0
1
0
0
23
0
0
-7
0
-9
0
35
-3
-1
0
0
0
0
27
4
0
-1
0
0
0
10
0
0
2
0
0
16
71
0
0
15
0
0
59
25
0
-3
-51
-3
0
0
-27
0
0
31
0
-8
-2
59
0
6
-2
7
0
2
-56
0
-2
0
-4
8
0
-22
0
0
0
-1
0
0
1
6
0
0
0
0
0
-19
0
0
0
0
0
0
-42
0
-8
4
0
0
0
-65
-1
-8
-1
5
0
6
-1
0
14
0
0
0
3
66
0
3
-4
7
0
0
-13
0
16
0
0
-2
0
60
0
0
8
0
1
0
96
0
-21
1
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
0
-8
25
0
-15
-40
-19
8
-3
6
14
-13
-5
-1
-5
-2
-32
-6
-30
9
4
33
6
0
-8
-7
3
28
18
4
17
8
14
-54
24
-54
-34
24
3
-9
14
-3
-15
3
-44
20
5
5
5
-5
-46
17
6
-10
-2
-3
-10
6
6
-9
13
7
-5
-9
-19
-49
23
86
-25
7
8
-28
48
-5
12
43
13
12
-22
-36
-4
19
0
14
-27
-2
-2
-16
16
0
9
8
-51
-3
-27
-1
-42
4
-8
-32
39
-8
7
69
24
-1
-19
8
-12
-13
-52
-14
-9
-39
-93
-15
0
-5
-33
-4
-14
-108
-90
0
-21
-8
0
23
13
43
-12
-22
13
0
19
62
-66
29
0
4
0
-36
15
8
51
0
16
6
17
-3
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-66
3
0
61
0
2
-57
-24
0
22
50
0
3
45
-33
4
0
1
0
46
0
4
13
-1
0
0
0
4
-2
14
-3
0
0
0
-2
12
0
5
56
0
33
24
7
0
18
7
0
-2
18
1
0
6
-41
0
-3
24
22
0
0
21
-2
-3
-53
21
0
14
-6
0
-2
43
-72
0
-4
44
0
7
0
-18
-18
95
9
0
-14
0
-13
-2
0
0
0
0
0
28
27
-3
-9
0
0
2
-17
3
-9
9
0
-22
8
53
0
-7
-9
0
-13
39
-53
0
-24
-41
0
0
3
29
0
3
63
0
0
18
-34
4
14
58
12
0
6
-19
0
-13
-3
0
7
0
-16
8
8
0
0
22
0
-31
-4
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-47
0
0
-6
0
0
2
-29
0
49
0
6
0
0
95
0
0
0
0
0
0
75
-15
0
0
0
0
0
-61
0
0
0
0
0
0
29
3
0
0
0
0
-2
-51
0
0
-20
0
0
14
-5
0
0
44
22
0
-4
-131
0
0
-7
0
0
0
32
0
-1
51
14
0
-4
1
0
0
2
0
0
0
-40
0
0
0
6
0
0
-64
0
0
0
0
0
0
-43
1
0
0
0
0
0
8
0
3
-1
0
0
0
-14
0
-1
-4
-4
0
0
50
0
0
16
0
0
0
-2
0
0
74
-6
0
-1
59
0
-28
-1
0
0
0
-72
0
0
6
0
0
0
-32
0
6
0
0
0
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
-42
0
-14
-24
-23
-66
12
5
-3
22
23
14
-4
4
11
-22
3
2
-31
1
-8
-8
-23
-13
-6
9
-13
-31
30
-32
-104
-5
27
0
-33
9
6
31
19
7
59
-2
13
67
-20
-10
-55
1
-61
-1
20
-5
16
-13
96
13
-12
-13
-16
-24
-60
102
53
-2
-2
20
-24
25
31
-19
-23
2
-21
-29
-33
14
0
-18
-13
-2
-3
0
-13
1
25
-1
56
4
-9
0
1
3
-9
-42
76
-6
-50
-19
-16
13
33
8
-38
8
5
13
3
-19
1
-32
1
9
-44
3
-9
-44
4
57
8
10
17
23
-11
-13
-1
-12
33
3
41
69
20
44
0
28
2
16
16
4
3
2
-18
-45
-3
-8
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-5
-8
-13
16
-7
-44
-45
-13
-3
48
19
-14
-75
-34
-5
-7
-6
-108
-39
-14
-34
1
-14
10
-31
19
43
-40
1
22
24
-20
-31
1
-22
0
-27
-31
26
6
14
29
6
39
38
2
-11
-20
-4
7
-68
-55
13
-5
32
4
0
63
-22
1
-17
-96
10
6
7
-25
40
54
-6
-25
7
28
-63
9
-12
-41
0
-4
50
-20
-27
-57
-1
12
26
-13
-4
39
10
-77
11
-5
-46
0
59
24
14
5
18
24
3
50
-37
48
47
2
20
-46
-58
-17
-38
-96
1
-26
51
-34
-34
-32
21
0
48
11
4
-47
2
8
10
2
49
-16
37
83
15
1
64
-6
-70
-8
9
7
0
-21
-69
45
23
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
30
-7
-5
0
0
-8
0
0
-1
0
0
0
29
0
1
0
-23
0
0
114
5
0
0
0
0
0
15
0
16
-1
0
0
0
35
0
1
2
0
0
-1
-4
0
0
35
8
0
0
18
0
0
-8
0
0
0
8
0
0
-2
-3
0
-2
-70
0
0
0
0
-9
0
5
0
0
0
0
-2
0
13
0
0
0
0
8
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
-19
0
0
0
0
0
0
34
0
0
2
0
0
0
-6
0
5
0
-1
0
0
-13
0
4
0
0
0
0
36
0
0
0
0
0
0
-13
0
-4
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
30
0
-18
52
2
0
6
2
0
0
0
0
0
5
38
0
0
0
0
0
0
62
0
0
10
0
0
0
-21
0
4
-4
16
-4
18
13
0
0
0
0
-2
0
-8
2
0
0
0
0
-3
-118
0
-7
71
0
2
0
-11
0
14
0
0
-4
-4
-28
0
0
-2
0
4
0
14
0
0
4
0
21
0
1
0
0
0
0
0
0
2
2
0
0
0
0
0
32
0
-2
-2
0
0
0
61
0
0
0
0
0
-3
47
0
-5
0
0
0
0
28
0
0
3
0
0
0
42
0
-5
-4
0
0
0
46
0
0
6
0
0
0
30
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-12
15
-3
23
0
-52
-1
5
38
-3
-20
-79
34
-19
1
40
-27
-1
-26
3
-3
10
-18
-4
3
-34
-12
-47
5
75
18
-5
6
36
40
10
25
-60
-65
-34
-1
10
17
12
-25
-15
29
20
-37
-8
40
-2
-33
-59
25
35
6
13
-33
76
3
-5
5
8
0
-28
74
-13
13
8
21
6
-9
5
6
-22
14
11
3
-3
-1
74
39
10
13
28
-1
-18
-9
4
50
-14
-31
-44
13
-9
-17
98
1
13
-27
12
-22
-34
13
15
25
-50
-17
-23
3
2
13
-57
25
47
-33
-68
20
20
1
5
-48
-23
-24
-16
5
8
-36
-74
28
45
-32
4
-1
-25
-5
-55
64
0
22
-109
-6
-2
-50
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
42
0
3
53
0
0
-8
-20
0
0
10
0
0
0
26
-3
8
0
0
0
0
-47
0
0
0
0
0
-3
-8
-5
0
0
0
3
-4
36
0
0
28
0
2
-22
-65
0
0
-47
0
0
-1
-47
0
0
-34
0
0
0
-16
0
0
-5
-2
8
7
-6
0
4
-9
0
0
0
-7
0
-3
-4
0
-9
0
-16
-3
0
0
0
0
0
13
0
0
0
0
0
0
39
0
-7
0
0
0
-2
-16
0
-13
-10
0
0
0
-68
0
-3
-1
0
0
-1
34
0
0
13
6
0
8
-140
0
-1
-6
0
0
0
-26
0
0
19
0
0
0
45
0
3
0
0
9
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
0
-71
-8
28
0
-3
-31
0
0
2
0
0
0
19
-3
0
0
-3
0
0
-23
0
0
0
0
0
5
-54
0
-1
34
-7
0
18
-51
0
0
-17
4
0
9
-5
0
0
116
-5
0
-15
16
0
2
29
2
0
-8
72
0
0
-15
6
0
5
-13
0
0
6
0
0
0
-49
0
0
6
5
0
0
4
0
0
0
0
0
0
-19
-6
0
0
0
0
-5
-63
0
-9
0
0
0
1
-62
0
1
12
1
0
1
32
0
24
-4
-2
0
-8
2
0
4
-25
-4
0
-8
7
0
4
5
0
0
-1
-2
0
0
0
0
0
0
-83
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
24
0
0
-13
3
8
0
-22
-79
-33
3
29
0
0
-32
10
2
0
0
1
-15
-25
-17
-5
-84
33
-23
-13
-6
4
17
-27
-1
3
-6
4
0
21
-31
-14
-17
-41
-61
-25
15
-25
7
31
17
-19
19
-8
-6
23
-41
23
-40
8
5
-2
1
106
-1
34
0
-2
23
5
-5
0
-20
0
0
0
1
-8
-1
6
0
0
5
0
0
17
-21
0
4
-18
1
62
0
-21
-2
2
57
-15
-6
-8
-5
0
-63
60
2
5
-8
21
-6
-7
-42
-28
-3
-8
-42
0
21
-59
6
-6
-9
-50
0
4
-95
7
-2
0
15
0
99
-12
-5
41
0
-58
-8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
19
-5
16
-36
32
6
-8
18
46
-3
-54
2
-5
15
-63
19
-45
-49
-8
55
1
5
-32
-58
0
-49
5
-2
-6
6
-3
3
13
-33
4
-41
-39
12
-26
-102
29
5
4
67
-10
-25
-14
-45
-13
-27
42
-2
-33
-25
83
0
-41
60
-44
25
-39
5
10
71
52
55
-61
-31
-1
-13
-1
-5
-8
-28
-6
18
14
-21
-9
2
1
0
-13
0
-75
28
2
23
-20
14
3
14
57
29
15
44
-17
2
-1
-22
27
-12
5
14
-25
-30
-43
40
-21
72
-9
3
45
32
-10
32
-42
-15
0
15
-6
17
-1
-32
4
5
90
22
23
-49
15
6
2
26
-33
18
-103
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-25
0
0
0
0
4
0
-21
0
0
1
0
0
0
-33
0
0
-1
0
0
0
5
0
0
0
0
0
0
25
0
0
1
-2
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
-35
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
7
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
33
9
-17
4
-47
-8
-6
-18
0
-25
-24
9
24
13
-56
12
43
-13
-5
-12
-5
-23
-10
-24
-5
22
-58
1
4
-25
-17
-45
47
9
-5
-36
-8
2
28
-13
49
1
57
-43
-1
-9
5
4
19
-22
-89
13
64
13
-17
-7
0
27
39
66
-3
5
30
40
-143
-59
19
7
3
8
-37
-21
-9
18
-52
-13
-22
18
-6
-7
-96
5
-33
-13
-22
-45
-33
-26
-19
-36
-5
-13
-54
26
70
-53
-27
5
-9
43
-55
-18
-126
-49
-4
-29
69
32
-41
12
-2
10
11
47
43
105
-12
13
-15
13
-10
32
58
-17
45
15
-45
4
22
-129
-44
0
3
82
-3
-8
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-12
0
0
0
-6
-2
4
6
23
18
0
-62
0
-3
-8
-6
0
10
22
22
-65
5
-1
41
-15
-7
-13
49
7
1
-1
22
-16
-55
-50
4
17
9
-27
-50
-24
-64
3
-29
-12
-14
12
-9
14
-27
-2
8
66
22
-73
-41
-30
0
3
-30
13
98
6
-25
0
-8
0
-7
-33
0
-13
-3
-10
0
99
13
0
-20
-99
0
-2
41
-1
-1
-10
2
-27
-7
-3
-4
8
-1
0
-6
-17
-25
23
10
-6
4
-3
-99
35
1
5
-44
-1
-51
-74
-14
40
-9
17
0
-23
69
-19
-14
4
-20
2
51
-6
-59
-7
0
-18
-6
-75
0
24
5
0
-46
-60
8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
2
0
-33
0
31
0
4
-81
5
0
0
1
0
15
0
0
-8
0
-1
32
15
1
15
-19
-1
63
-93
17
0
-14
49
1
-58
3
-2
0
-9
-4
0
49
16
-6
0
-4
-4
8
-92
-20
0
8
-4
-30
0
-17
14
3
0
0
3
0
8
2
16
-5
-2
15
0
-31
0
-25
-15
0
7
0
2
0
4
-47
1
0
0
0
5
-40
-3
24
29
0
35
-22
42
6
4
50
0
-16
13
-13
0
-9
-44
0
1
-4
0
0
24
22
0
-32
1
-5
0
-38
14
7
0
1
3
0
-5
25
0
-13
-2
7
0
8
42
0
28
0
-65
0
-7
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
14
0
0
0
0
0
0
-85
0
-5
0
4
0
0
58
0
0
2
0
0
0
-25
0
0
5
2
0
0
9
0
1
16
0
0
13
0
0
0
-33
6
0
42
-22
0
1
39
0
0
3
5
0
0
-47
1
0
-10
-64
0
0
-1
0
0
0
-73
0
0
-2
0
0
0
39
0
0
0
0
0
0
7
-3
0
0
0
0
0
31
0
-1
0
-1
0
0
65
0
0
-1
0
0
-5
-7
0
-6
-1
1
0
6
45
0
-2
3
-1
0
9
-52
0
-34
31
0
0
0
1
0
0
42
0
0
0
-105
0
-4
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-9
0
54
0
0
-22
13
0
0
0
-4
0
-55
-2
0
-7
-5
102
2
-15
0
0
-5
0
77
10
14
22
-8
42
-15
10
4
-34
-1
-2
21
4
-8
0
-50
0
2
11
-1
-4
0
10
0
7
14
-3
-94
0
20
0
-2
-22
5
49
0
-6
-4
0
0
8
2
0
-43
-2
0
0
-7
0
0
-8
0
71
1
1
16
-2
3
-1
0
-13
-6
1
0
126
0
-93
6
0
0
0
44
0
0
-2
9
0
0
23
1
-66
59
-1
3
0
27
0
0
7
-28
-9
0
-108
0
46
0
-6
-27
0
-66
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
7
-61
57
39
-9
27
3
-11
62
39
10
-6
-68
-1
19
-30
-39
1
8
-4
3
-56
15
-15
11
-19
6
-11
-32
51
8
10
-16
27
4
-6
-24
3
-59
-55
19
-5
65
50
14
-62
-21
-2
-1
-16
5
-1
-51
14
-19
0
-73
-2
103
-9
-23
-8
-9
-15
-45
-25
-86
53
4
3
-43
12
-50
-89
22
-19
13
4
6
72
-52
-77
28
19
12
-42
-32
22
7
1
1
-8
8
13
0
-74
-5
-13
9
11
-27
-6
16
9
-9
-64
-20
29
-24
46
-62
-19
-30
86
-15
18
3
-4
0
4
-15
41
-38
62
18
2
-23
-29
-7
-66
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
-22
0
0
0
0
0
0
41
0
0
0
8
0
4
21
0
0
5
0
0
0
-7
0
0
0
0
0
-3
2
0
0
32
0
0
0
23
0
-1
-3
-8
0
0
41
0
0
1
0
-4
0
2
0
0
0
0
0
0
85
0
0
0
0
0
0
1
3
0
0
0
0
0
-3
0
0
0
0
0
1
-2
0
0
0
0
0
0
-41
0
0
0
0
0
-6
8
0
0
0
-1
0
0
-8
0
0
0
0
0
0
-12
0
6
0
0
0
0
-7
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
49
0
0
0
0
0
5
-18
0
0
23
-3
0
0
8
0
0
-10
0
0
0
12
0
0
0
0
0
0
19
0
0
0
0
0
0
25
0
0
0
0
-2
0
-74
0
0
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
1
0
0
0
-4
0
0
3
0
0
4
24
0
1
0
0
0
0
-1
0
0
0
8
0
0
-2
0
0
0
0
0
0
-49
0
0
0
0
0
0
-24
0
19
0
0
0
0
54
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-47
19
0
-9
0
0
-14
-3
0
0
1
3
5
-30
-17
0
8
0
-46
-31
22
-1
-1
-15
19
-30
-42
28
-1
-4
-13
41
-9
37
41
30
0
-30
-8
29
-7
19
2
-1
-17
38
6
0
-29
0
-4
9
0
8
2
18
0
5
0
-10
6
0
-58
8
0
0
-8
-1
0
1
-13
0
0
0
0
0
-40
0
13
7
0
8
0
-6
0
-1
35
0
0
5
13
0
38
13
2
0
6
81
0
-1
-1
23
0
3
19
3
15
0
0
0
0
83
0
0
-2
0
2
0
11
0
86
0
0
-9
0
-21
4
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-1
0
0
0
0
19
0
0
0
0
0
0
51
0
13
0
0
0
12
-43
0
0
-12
0
-2
4
8
0
0
-49
0
-6
2
12
0
0
-12
0
43
5
-53
0
0
31
0
4
-3
24
0
0
-1
0
4
0
-78
0
0
77
0
-27
0
4
4
0
0
0
-10
0
-24
0
0
0
0
0
0
-28
0
0
0
0
0
0
27
0
0
0
0
5
0
-3
0
0
-2
0
0
0
49
0
-8
49
0
0
0
43
0
0
-1
0
0
0
-35
0
0
-19
0
-17
0
-47
8
8
0
0
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-16
0
-14
0
0
-13
4
4
0
0
0
5
15
-3
6
3
-9
0
-27
-51
0
0
-20
0
0
-8
4
8
-4
48
-33
0
30
-31
17
23
-28
-8
0
41
-63
0
8
-17
88
0
-5
22
0
-2
-41
0
0
3
-67
0
0
-67
-50
0
0
-27
-1
0
0
0
0
2
56
5
0
0
0
0
0
5
0
3
0
0
0
-2
-42
0
0
12
23
0
13
15
1
46
55
6
0
-1
5
0
-3
33
-5
0
10
-54
0
0
36
1
0
8
41
0
0
-24
7
0
0
-1
0
-23
16
0
0
0
65
3
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
1
0
-81
0
0
7
0
0
-1
41
0
0
13
-2
0
0
48
-3
0
3
0
0
0
3
0
0
1
1
0
0
5
0
0
0
0
0
0
17
0
0
0
0
22
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
-15
42
-67
91
-2
56
-27
-1
4
29
6
-58
-33
58
-4
33
44
18
21
-5
-3
5
-40
-20
2
13
-28
8
0
-25
-30
5
-16
-3
12
0
3
-41
29
3
12
35
1
22
-65
-15
-12
-21
2
2
-13
45
16
57
-2
1
0
12
-33
-16
-72
87
-95
5
-18
-20
-31
40
42
-11
14
-108
16
-45
60
-13
0
-14
39
81
-1
7
39
-33
-9
-59
-3
29
42
4
16
16
19
-48
-6
0
27
-25
9
-3
-29
-12
-35
23
8
-9
-43
-28
-3
-6
39
-37
9
-5
1
24
-40
-62
9
0
75
20
58
-102
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
44
0
7
-5
-10
0
-9
-1
1
-53
-1
-17
83
19
0
0
-39
7
20
57
-26
-3
29
-106
-93
-1
15
36
2
-6
52
1
-7
13
12
0
-16
44
1
-25
-49
-18
0
-4
-18
14
31
-6
28
2
8
-66
-21
2
-4
-4
0
0
0
0
0
0
14
-24
0
0
0
-10
-1
-75
0
-31
-48
0
-13
-2
7
0
20
-37
14
-2
2
22
1
72
23
10
-1
18
-60
0
-23
-55
-50
0
-5
-12
-9
4
-38
-1
4
-6
29
-4
-2
-1
41
9
0
-49
-8
5
-3
-7
32
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-38
3
-7
0
0
0
3
-6
-4
24
-5
-20
-57
-17
-19
0
0
4
-3
51
49
32
1
7
22
4
73
24
0
-2
-1
12
32
45
30
22
0
-1
32
7
-9
-8
-49
7
0
-5
-1
51
2
-36
-2
0
-79
-3
-49
0
-24
0
0
0
3
-13
-4
-13
0
0
0
0
0
4
-15
7
-13
-8
0
-1
-5
55
0
1
2
-1
7
27
-51
0
49
69
-8
1
-10
-29
0
36
-28
41
5
-27
47
0
-12
16
44
0
0
-6
0
2
9
-17
8
-2
-122
7
33
6
0
-1
0
6
-39
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
0
0
0
0
0
0
-24
0
0
0
0
0
0
-86
0
0
0
0
0
0
66
0
0
1
0
0
0
-23
0
0
8
0
5
-2
21
0
1
0
0
0
0
-16
0
0
0
0
-2
0
-8
0
0
0
0
0
0
-10
3
0
0
0
0
0
-3
0
0
0
0
0
0
18
0
3
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
0
0
0
20
0
0
0
0
0
0
30
0
0
0
0
0
0
-7
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
0
-10
0
-19
8
-31
14
-3
50
0
29
33
-50
-2
1
23
0
-13
6
41
4
35
-10
0
-33
-5
-54
0
-17
-2
0
15
-5
-41
7
6
-43
0
-26
10
-21
0
2
10
0
29
1
135
0
0
-1
0
13
0
21
0
0
0
0
-60
0
51
16
0
0
0
0
5
-41
0
-27
0
0
-22
-1
-41
-3
0
0
0
10
0
-9
8
-66
88
0
-2
-2
16
8
0
-3
-4
1
-3
22
0
-6
50
0
5
4
-12
0
0
46
0
-13
6
9
0
-18
1
0
-41
0
-49
2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
2
-30
0
0
1
0
0
0
-57
0
0
6
0
0
-6
-25
0
0
-43
1
0
13
-25
0
0
-15
0
0
0
6
0
0
-21
-2
0
0
-60
0
0
0
0
0
0
-30
0
0
0
1
0
0
-5
16
0
0
0
0
0
28
-8
0
0
0
0
0
41
0
4
0
0
0
0
-17
0
0
0
0
0
0
-28
0
-3
0
2
0
0
-8
0
5
-1
0
0
0
11
0
-4
0
0
0
0
10
0
0
0
0
0
0
26
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
-7
0
0
0
0
0
0
82
0
0
-7
5
0
-7
-77
0
0
13
0
0
0
-2
0
0
0
-1
0
0
17
0
0
1
0
-1
0
12
0
0
0
0
1
0
15
0
0
0
0
0
0
-16
0
0
0
0
0
0
-13
0
2
0
0
0
0
-8
0
0
0
0
0
0
24
0
0
10
0
0
0
49
0
3
2
0
0
0
-8
0
0
0
0
0
0
-12
0
0
0
0
0
0
18
0
-5
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-2
-74
40
14
-59
-4
29
1
28
29
11
-45
-8
27
13
26
-30
31
-26
-6
-38
-4
-44
-31
23
-83
2
2
3
57
-22
8
-10
14
67
7
-41
21
15
-42
18
21
-2
25
-56
-6
2
14
-12
15
10
24
-24
-3
-54
-6
0
-2
-34
-69
-55
-2
-13
3
3
-22
-33
-7
-41
-18
4
-5
-54
2
-28
-47
-6
6
-26
30
6
-44
2
28
-8
36
30
-13
-27
-28
31
16
-5
1
1
-37
43
-65
2
-57
-33
-23
-58
-4
-45
1
-68
-12
49
-80
-28
1
20
-35
46
-66
-66
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
14
0
23
14
0
-18
69
0
0
44
0
-5
-10
51
0
-4
28
5
0
9
-17
0
-19
7
0
1
17
-27
0
0
-75
1
6
-1
-13
0
0
-22
0
2
0
-2
0
0
-1
0
37
0
36
1
0
0
0
0
0
-32
1
0
0
5
1
0
17
0
39
-10
0
0
1
46
0
0
2
-1
0
-9
48
0
-31
-8
-1
0
3
12
0
13
-5
-16
0
0
1
2
-1
24
0
0
0
-23
0
0
0
6
0
0
-25
0
8
0
0
-9
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-5
0
98
0
0
-23
0
4
0
27
0
0
8
0
0
0
78
0
0
13
0
0
1
-15
0
0
8
-7
0
0
-31
0
0
0
0
0
0
-16
0
0
0
0
7
0
20
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
-1
0
-53
0
0
0
0
0
0
1
0
-7
0
0
0
0
3
0
0
-2
0
0
0
8
0
0
-5
0
0
0
39
0
0
-1
0
0
1
1
0
-16
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
6
0
24
0
-8
0
3
0
0
-18
-3
19
6
0
27
0
0
-8
41
0
-2
41
0
3
0
-51
0
5
-7
5
-7
1
-31
0
0
8
0
13
0
28
0
2
0
1
23
0
58
0
0
0
0
0
0
-13
-5
0
0
0
0
0
-49
0
1
0
0
0
0
6
0
-3
-2
9
0
0
50
0
-8
0
0
0
0
9
0
0
2
-1
0
-1
-75
0
-3
13
5
0
0
20
4
0
0
15
0
0
17
0
-4
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
-8
0
25
2
-64
0
0
-12
0
-8
-8
21
0
8
-10
0
0
0
43
0
0
10
-1
5
0
29
0
0
5
0
0
0
-76
0
0
0
0
0
0
4
0
0
0
0
-13
0
-75
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
-6
3
0
-3
0
-43
0
0
15
0
0
0
5
0
4
0
0
0
0
-21
0
0
-4
0
0
0
-79
0
-24
0
0
0
0
-6
0
0
-2
0
0
0
5
0
13
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-1
0
2
1
0
0
-1
0
0
-1
0
0
0
-22
0
1
0
-3
0
0
-55
0
0
-22
5
0
-1
-65
0
0
0
0
0
0
41
0
3
-3
0
0
0
-25
0
0
-3
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
3
0
0
21
0
-1
0
0
0
0
-48
0
3
6
0
0
0
10
0
-5
1
0
0
0
-5
0
0
3
0
0
0
54
0
2
0
0
0
0
-58
0
0
-5
0
0
0
-31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
0
1
51
0
8
0
54
-3
0
33
7
0
-2
60
0
9
-3
0
0
3
-10
0
4
-41
18
10
3
17
0
14
-15
0
-14
0
50
0
0
0
23
22
0
43
-8
0
0
0
0
0
53
-20
0
0
0
0
0
-5
0
74
0
0
0
0
-9
0
-3
-76
-7
0
0
4
0
37
6
-16
0
0
-51
0
8
-12
25
0
0
84
0
-36
0
0
0
0
-28
0
-18
-28
-7
0
0
58
0
-42
0
0
-6
0
-50
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-12
24
-58
-5
65
17
16
7
20
-6
12
6
49
18
3
0
32
14
7
4
-8
-4
5
-58
11
43
-59
-40
17
0
-6
-23
-67
14
-15
-3
-2
10
-31
16
-19
3
-2
-4
24
-8
19
-5
13
28
10
-9
-18
24
25
-10
0
-9
-24
-16
-5
9
-56
-5
-8
-17
25
-32
-29
-78
2
6
-64
-52
42
20
-65
-22
-25
56
-10
-6
59
55
-2
-12
2
-47
-72
64
28
-9
1
35
-12
-43
45
7
1
2
-59
49
-13
-53
-1
-1
63
-56
45
41
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-63
0
6
4
-5
0
-3
51
0
2
31
6
-2
-13
112
0
-2
-35
0
-3
12
35
0
3
16
2
1
0
15
0
-3
6
0
-2
0
74
0
0
0
-1
8
0
-40
0
0
0
0
0
0
-66
0
-13
0
0
0
0
5
-4
-74
-1
-3
0
-3
-31
0
8
0
2
0
0
6
0
-4
-8
-5
0
0
19
0
0
-6
0
1
-7
-49
0
13
-1
-3
0
0
-2
0
0
-3
-1
0
0
-27
0
10
0
0
-1
0
115
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
-46
0
1
9
-40
0
0
24
-3
0
7
-3
7
1
-7
-1
2
0
-4
-2
0
-16
-6
-8
0
-131
0
0
23
0
-8
0
17
0
0
3
0
-30
0
-10
0
0
0
8
3
0
-26
-10
0
0
0
0
0
-14
0
-14
0
0
0
8
0
0
1
-1
-1
0
4
-31
0
-14
-12
0
0
0
-5
0
1
5
25
0
0
-13
0
22
-7
5
23
0
-46
0
1
1
6
-16
0
-6
0
-8
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
1
25
-3
-2
31
39
29
1
56
11
-41
5
-51
-49
-4
-18
10
-5
17
-23
-23
1
13
-33
-14
-8
65
-11
0
4
-40
6
0
3
-3
1
6
-19
44
11
-1
20
-5
0
0
0
7
0
32
-47
0
0
0
0
0
14
0
-4
9
12
-2
17
-51
4
2
62
22
0
0
15
-3
-46
57
-9
0
13
-53
0
-5
-66
15
4
-10
6
0
-25
-51
0
2
12
-16
0
-6
4
-7
8
0
-32
-7
45
3
0
67
0
9
-13
5
0
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-27
0
0
44
0
7
24
-15
0
2
-57
0
13
11
-71
-3
25
-45
-1
2
-5
25
0
33
-39
13
-1
-1
46
0
0
5
0
-35
0
-69
0
-2
-10
0
-12
0
-11
-1
0
0
0
0
0
-15
0
3
2
0
0
5
1
0
-52
0
0
0
3
-60
-1
3
-5
0
0
-1
-59
0
-7
20
0
0
0
33
-3
-16
4
-1
0
0
71
0
4
-60
-1
0
0
27
0
0
-29
-1
1
0
-42
0
-7
8
0
-21
0
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-43
0
6
36
0
0
-31
-43
7
38
-41
3
0
-4
10
6
-5
73
-6
0
-27
-54
0
-10
-48
-59
0
13
-23
0
5
-22
20
0
-13
-3
0
4
-2
33
0
0
1
0
0
0
0
0
-1
21
12
3
-4
0
0
12
1
0
-7
-82
0
0
-13
15
0
-5
27
-2
0
-9
73
0
-63
74
-7
0
8
-30
1
0
8
-68
0
0
-56
0
-27
2
15
0
2
42
0
0
-51
67
0
0
-40
0
-93
-5
5
0
0
27
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-10
-1
23
-103
-11
-2
-75
-11
5
0
16
-32
63
15
52
0
5
0
-51
1
24
14
0
0
119
-2
1
-2
11
-2
0
25
-69
50
0
24
-3
-4
0
-3
8
0
-39
-66
0
-2
0
0
-4
22
0
-57
24
0
-4
-1
14
0
-1
13
-32
-2
-1
14
0
-41
-61
12
0
0
-39
0
-19
-40
6
-1
0
-1
1
57
-13
-1
13
0
-58
0
-6
6
13
0
0
50
4
-8
20
0
13
0
4
-8
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
5
47
29
10
22
-8
21
6
24
11
0
-35
-54
11
2
57
55
6
-12
-86
18
10
20
-21
28
22
-22
6
1
-3
-46
4
7
2
-38
7
-42
117
-81
35
-15
7
24
31
113
51
-29
9
58
20
58
-21
44
-27
14
-73
0
-11
14
21
41
11
-59
9
-68
12
24
36
27
-9
3
26
-3
-15
8
9
37
-3
11
6
32
48
5
40
-6
-31
71
19
-15
-46
47
0
-87
-15
-26
-24
-42
0
27
53
43
64
-66
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-8
21
0
0
4
-21
0
0
3
0
0
0
57
0
0
-5
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
-19
0
0
0
0
0
0
8
3
0
0
0
0
0
41
0
-5
0
0
0
0
13
0
0
5
0
0
0
12
0
0
0
0
0
0
52
0
0
2
0
0
0
46
0
6
0
0
0
0
-25
0
0
0
0
0
0
30
0
-3
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-26
-9
2
25
-13
0
0
23
0
0
13
0
8
-2
25
-1
0
18
-5
0
2
-103
0
0
22
0
-2
0
59
0
0
0
-1
4
0
59
0
0
0
0
0
0
41
2
0
0
0
0
0
-19
0
31
0
0
0
0
41
0
0
6
0
0
0
-37
0
49
14
7
0
0
-52
0
0
-7
-1
0
7
-101
1
3
1
0
0
0
32
0
0
0
1
0
0
32
0
-9
0
0
-2
0
-50
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-4
-8
-5
1
62
13
-52
17
-2
84
24
-12
6
-3
14
18
28
38
32
-80
-27
4
3
6
-54
16
-62
-8
12
0
-15
32
0
-5
16
19
-4
2
-10
-4
-2
7
46
-139
25
17
5
-3
2
-2
-19
-46
4
-5
0
8
41
0
31
-13
-42
-3
-24
-25
-1
33
-51
7
5
0
30
1
78
-38
27
-17
-4
-2
0
69
-49
-25
-57
-32
29
-1
-13
2
1
12
6
51
0
-1
-4
2
-6
0
-7
41
19
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
76
0
0
-41
0
0
-4
30
0
0
52
0
0
0
-32
0
8
22
0
4
0
13
0
0
-8
0
0
0
29
0
0
13
5
21
0
13
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
-1
4
0
-8
0
4
0
0
15
0
0
0
-24
0
-3
-2
0
0
0
-43
0
-3
14
16
0
0
-105
0
8
-4
0
0
0
34
0
0
-5
0
0
0
-47
0
3
0
0
0
0
22
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
-2
-13
-6
0
0
-14
-6
-5
35
13
0
0
-69
3
-8
-51
-53
0
1
1
0
0
12
0
0
0
45
0
4
-1
-42
0
0
23
-8
0
0
0
0
0
38
-3
-3
-3
0
0
0
5
0
13
-20
0
0
-2
9
0
0
-44
13
0
2
-22
0
-93
47
0
0
0
-22
-8
4
-7
-4
0
3
34
0
-28
-1
0
0
0
26
0
0
10
-14
0
0
-7
0
9
10
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
45
0
19
28
-6
-1
31
20
12
0
-11
11
-24
8
48
0
8
0
9
-43
-8
-9
0
0
41
-1
93
0
49
20
2
1
0
-2
0
-21
-1
0
0
2
0
8
-53
0
-19
21
24
-2
6
31
0
28
-41
-9
-1
-3
-36
8
46
-24
14
0
0
39
0
64
-73
-3
-3
3
63
0
-18
-47
1
0
2
22
0
18
50
5
7
0
15
-7
58
-5
0
8
0
7
-8
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-2
-44
-17
-43
-5
34
8
-17
-29
-1
-18
-102
-9
22
-13
-56
41
14
9
6
-6
2
55
-23
-1
-11
10
14
-33
-77
110
-10
-37
-1
16
-13
-34
118
-13
5
13
0
-111
-73
-44
45
-30
65
10
12
23
17
-88
14
36
0
-41
17
-23
24
30
14
-1
-46
-56
-55
-20
-148
17
12
-15
-32
17
4
-18
-31
5
54
-66
22
14
-37
-88
1
-32
-10
-64
20
25
-13
31
20
-24
-58
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
96
0
0
-6
0
0
-3
8
0
15
-1
-1
0
0
-40
0
0
0
0
0
0
-19
0
0
1
2
10
0
39
0
0
0
1
0
0
-17
0
-1
0
0
0
0
41
0
-1
8
0
0
0
25
0
-8
-1
0
8
0
46
0
5
-1
0
0
0
9
0
4
-2
-1
0
0
-57
0
46
10
0
0
0
24
0
0
-7
0
0
0
37
0
1
6
0
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
2
0
19
0
12
-6
-13
1
0
39
88
-5
0
22
0
0
-20
0
8
-7
61
-2
0
8
21
-11
0
-4
-3
0
0
0
-1
-2
28
-8
0
0
0
0
3
-41
0
31
-2
0
-5
2
64
1
2
-10
-4
0
0
-38
0
35
-8
0
0
-1
30
0
-2
13
2
0
-3
13
0
8
21
0
0
-1
27
7
0
22
0
-3
-1
5
0
43
0
0
-3
0
13
4
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
3
-55
21
1
-12
16
-7
-2
-23
-101
-42
14
-28
67
31
2
32
-5
-3
-22
48
-47
-20
-22
-2
28
-15
0
7
79
-1
5
-41
-36
-1
-17
19
-13
9
5
2
-22
5
-1
-28
-31
-6
14
-1
21
21
-19
-78
23
-16
-2
12
28
53
11
-23
0
29
27
-24
-18
-47
16
58
71
23
8
4
41
54
13
13
-13
5
-44
-13
-55
8
22
5
5
40
-31
-20
-59
0
-1
23
-17
50
40
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-22
-5
-22
-11
-16
-66
51
3
-4
-16
50
-15
51
-46
5
0
-5
20
0
1
10
-55
0
-6
-48
-6
-64
0
-3
-2
0
0
9
-34
0
-52
-21
0
0
0
0
1
34
0
41
4
0
120
-8
43
0
-5
-1
0
-5
-24
-3
-1
-93
21
0
0
-3
-46
0
-10
62
21
1
2
5
5
-25
74
0
3
17
-33
3
-17
-72
-8
4
2
-41
0
54
0
0
-40
0
50
51
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
1
0
86
0
0
-1
-18
0
2
43
45
0
0
26
0
6
-1
0
0
0
2
0
-4
2
-3
0
0
20
0
0
0
0
0
0
3
-1
0
0
0
0
0
-28
0
-4
14
0
0
0
18
0
1
22
-1
0
5
43
0
26
-52
0
0
0
-4
0
0
52
-19
0
0
39
0
-32
-8
0
0
5
6
0
0
-4
0
0
0
-2
0
-12
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
0
-31
-23
18
4
-2
-3
2
-5
-21
7
-22
-3
37
-3
-15
-10
-49
-25
0
16
5
0
0
2
-2
1
-18
66
0
0
0
0
3
76
0
-40
-26
0
9
5
43
0
35
13
3
-2
0
37
2
85
83
0
0
0
25
0
19
68
17
5
-3
31
34
-43
-22
27
0
-3
37
0
1
-16
25
1
0
14
3
-36
24
0
5
0
0
-42
22
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
10
-12
-2
-25
0
7
10
19
-8
8
24
1
19
-2
11
-16
19
9
-8
-45
7
4
-102
31
-34
53
-28
8
8
-58
57
85
31
-1
-7
9
-13
-14
-10
7
5
48
11
-9
-1
12
8
-57
-40
28
-26
4
-13
-46
-75
3
0
-13
5
1
22
2
-6
7
-46
-35
22
-28
-86
-13
5
-73
22
-17
-11
52
42
4
-72
-6
1
7
-13
-22
-14
-16
-73
-64
-50
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
5
20
-1
-3
-2
19
0
0
-3
0
0
0
90
0
0
-7
0
-8
8
-78
0
0
0
0
0
3
11
0
-2
0
0
0
0
51
0
-3
5
0
0
0
-23
0
2
-1
0
20
-1
-25
0
-30
-1
0
0
0
4
-14
-5
-1
-5
0
0
-17
0
13
0
0
2
-4
25
0
0
0
0
0
0
-37
0
-35
0
0
0
2
-41
-9
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-2
0
-2
-22
-5
-5
-14
-30
0
3
23
0
-9
0
-2
0
0
10
7
-11
0
-4
0
0
0
-9
0
0
22
-8
0
0
-3
0
0
-26
0
25
-25
0
-8
0
16
4
0
8
0
-6
0
-13
0
92
6
-1
0
0
-32
0
0
-12
48
0
-4
-24
0
7
-44
0
-3
0
23
0
0
-25
4
0
0
22
0
13
-1
0
-15
0
5
-1
-2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-11
21
30
34
14
80
99
7
8
45
20
15
22
-3
14
42
102
46
35
26
0
23
-6
-6
-1
14
-32
-6
31
21
7
6
-49
1
-14
-7
13
55
-53
32
-65
14
-30
5
-28
20
-7
-5
22
1
-12
-18
0
5
16
66
6
-12
38
-11
-78
0
94
1
27
53
-27
-3
25
20
14
28
36
25
69
60
-4
-34
-14
6
-13
-104
23
0
1
-12
31
-1
16
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
45
0
4
8
-14
-21
-7
-30
0
6
-28
0
1
0
-5
0
0
-32
3
-16
0
-20
0
0
0
0
23
3
-63
0
0
0
0
0
0
-26
0
114
0
0
-13
0
45
0
-8
9
0
-1
0
-18
0
39
51
0
0
0
66
0
0
26
4
0
1
-26
0
30
31
3
-6
0
-45
0
7
5
1
27
0
48
-2
-69
-37
0
40
0
-28
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-20
0
23
52
37
0
2
-36
0
-3
-24
0
0
-5
9
-10
0
1
-13
0
0
-2
29
0
0
0
0
0
34
10
-3
0
0
0
-3
-42
0
-1
-6
4
0
0
-35
0
-9
-7
-15
0
-1
-17
-3
36
8
0
0
8
-36
0
-6
-55
11
0
-4
4
0
-16
0
2
0
0
13
0
0
-49
42
0
-1
-14
0
-47
0
-8
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
21
2
-13
25
2
-2
0
19
-3
-5
48
-6
-75
0
17
4
0
0
0
0
0
26
-8
-4
0
-2
0
-8
-39
0
20
2
0
-6
0
-23
0
13
-24
-3
-5
0
-34
-5
-36
-76
0
0
0
-53
5
-22
-66
20
0
-5
19
0
-76
-5
-4
0
0
-43
0
-7
0
34
-1
0
5
0
-61
-5
0
2
2
43
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
5
13
16
28
9
50
9
31
-9
-8
12
-12
22
6
-8
16
55
-44
27
37
17
-14
110
-13
-54
66
4
1
-50
-19
-4
38
34
-66
-22
-100
-46
20
-11
-36
-71
33
-39
-24
25
-7
-75
-34
26
-43
21
-27
-82
18
-55
0
1
-19
44
-28
-13
-7
8
-32
31
-21
15
31
-18
0
38
-19
-27
-23
18
8
22
-46
-13
-24
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
65
0
0
3
0
0
0
31
0
0
-4
7
0
0
-78
0
0
0
0
0
0
4
0
0
0
0
0
0
40
0
42
0
0
0
3
4
0
0
2
0
0
0
53
0
-2
0
2
0
0
-35
0
8
0
0
0
0
20
0
69
-3
0
0
0
44
0
-8
-6
0
0
0
-31
0
6
-5
0
-1
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
0
0
2
0
0
0
22
0
0
12
1
-58
0
-8
0
0
0
0
6
0
-25
6
3
0
0
0
3
29
0
-8
-12
0
0
-3
-7
0
1
24
12
4
16
22
0
4
-12
0
0
-7
-84
0
7
4
-32
0
2
-103
0
1
13
-1
9
-1
-3
-2
0
0
-9
0
5
46
8
60
0
0
-4
0
55
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
15
3
-8
50
20
-9
-59
8
8
24
5
20
27
2
13
49
-4
2
-72
7
-3
-5
-13
63
5
-6
0
-69
12
-1
8
18
0
10
5
1
-1
28
-31
-9
7
6
-19
-18
18
30
-28
30
-16
-5
8
-30
31
11
16
1
10
0
-11
-34
71
0
0
21
1
31
-107
43
23
7
22
1
62
0
1
-49
0
-23
-29
-7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-48
0
6
6
0
7
-19
-27
1
1
-30
-1
-39
0
10
-2
-2
-4
0
0
0
2
-40
0
0
0
0
-8
-53
0
7
-15
0
-6
-5
31
-1
22
-80
0
7
-47
-57
-3
72
74
8
0
-15
-7
0
-8
-43
-1
0
-18
43
0
48
24
-1
1
-8
-29
6
-5
39
0
18
-2
18
0
14
8
0
-33
0
22
-5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-31
0
-10
-5
0
0
0
31
0
-5
5
-25
0
0
13
3
0
0
0
0
0
43
0
0
0
0
0
0
30
0
22
-4
0
0
-9
61
0
-8
25
1
0
0
22
1
-20
5
0
0
0
-45
0
-5
52
24
0
-6
18
0
-61
-13
-3
0
4
3
0
0
-2
0
0
0
46
0
-22
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-18
34
66
0
-30
13
0
0
0
0
0
-11
-2
0
0
0
0
0
4
0
-17
-6
0
12
0
13
0
0
-23
-8
0
2
31
0
8
-58
0
0
0
-1
0
-34
-20
-13
0
0
-6
-1
21
59
3
6
0
6
0
-1
-89
-16
0
0
-10
0
20
18
0
0
0
-49
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-12
99
-34
71
13
7
-3
2
10
55
30
49
12
-7
9
-25
40
5
-8
2
4
-2
-26
-33
0
0
41
21
12
-1
70
30
-10
3
4
21
-29
19
23
-13
-68
-30
12
-89
2
22
1
39
-1
1
61
-22
-4
-43
-19
-8
0
22
57
52
48
19
-47
-11
-47
14
25
-67
-22
-1
13
37
-6
23
84
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
2
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
8
0
0
0
0
3
0
0
-1
0
0
0
1
0
0
0
0
0
0
25
0
0
3
0
0
0
-15
0
1
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
-4
-8
0
-68
2
0
0
0
0
0
-22
0
0
0
4
0
0
28
0
1
2
0
0
1
6
0
0
0
-6
0
0
-51
0
-12
-5
4
0
0
-39
0
5
0
-6
0
0
30
0
6
-6
0
0
0
-90
0
0
-1
0
0
0
-41
-3
-14
0
-4
0
0
41
-2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-8
1
-21
-56
0
-10
18
0
0
-2
-7
0
24
-6
0
0
0
0
0
-12
0
9
24
0
-21
17
-23
2
42
-13
-7
2
9
55
0
-51
-17
23
0
1
5
1
13
-79
28
5
-15
-12
0
70
24
17
0
0
23
-2
28
-5
-33
2
0
-8
0
63
0
-3
4
0
-5
49
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
61
0
18
0
24
0
0
0
0
-2
0
47
0
2
0
0
0
0
77
0
20
4
0
0
0
-57
0
0
5
0
0
1
-31
0
1
0
0
0
0
-28
0
8
-8
0
0
0
-72
0
-3
23
0
0
0
-8
0
0
5
0
0
0
-61
0
4
4
0
-5
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-27
0
2
40
-16
0
0
9
-13
0
0
3
0
0
30
18
2
2
10
0
4
-2
-1
10
5
0
0
2
-46
0
1
-29
11
0
17
-3
0
12
59
5
0
-2
-19
0
5
13
-38
0
-16
-32
0
-48
-9
21
0
13
-4
0
-13
-20
-4
0
4
1
0
-35
8
0
0
0
-36
9
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
0
0
0
0
0
13
0
0
0
0
0
0
-9
0
-3
0
0
0
0
12
0
0
7
4
0
0
21
0
-14
6
0
0
2
-6
0
0
-5
1
0
0
-17
0
-34
-7
0
0
0
-35
0
0
-4
0
0
0
0
0
-37
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-56
5
43
-45
14
-3
-15
-35
-89
-9
59
0
-1
16
-44
23
-26
-14
-87
-82
-9
10
2
-86
-104
-7
4
7
-20
-26
32
-27
1
13
21
-17
-27
-18
-28
-24
37
-11
5
-50
44
-98
32
-7
8
-5
40
14
-11
-57
-22
0
66
-4
-118
73
-16
0
34
9
-24
39
21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
1
0
0
2
0
0
0
6
0
-4
0
0
0
0
13
0
0
0
0
0
0
-13
0
5
0
0
0
0
24
0
0
15
0
0
0
-6
0
0
7
0
0
0
4
0
3
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
38
0
0
0
0
0
0
-12
0
-5
8
0
0
-1
-19
0
0
1
0
0
0
-27
0
-5
43
0
0
0
-15
0
-2
0
0
0
0
-17
0
42
-1
0
12
-5
10
0
-1
-7
0
-2
0
-23
0
3
0
0
0
0
-45
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
7
0
0
-4
0
0
-28
0
0
13
4
0
1
-10
0
-48
6
0
7
-3
2
0
0
-2
5
0
-10
25
0
-40
-81
-4
0
0
1
0
37
-32
-10
0
0
-61
0
-50
8
9
-1
0
-18
0
9
0
-7
-1
0
-22
0
-2
0
0
0
0
-29
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
0
0
0
0
0
-3
-27
0
0
0
1
0
46
0
61
-1
0
34
-1
-11
0
0
5
0
-2
-5
13
0
-18
0
0
0
0
6
0
-10
-34
0
0
-1
20
0
37
6
0
1
0
59
0
-10
45
0
-1
0
-110
0
26
-5
0
-23
0
-21
-24
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
-14
0
0
-5
-12
0
-13
-21
0
0
17
0
-10
-14
-12
0
-22
11
-3
-33
4
-95
0
-8
21
0
12
46
-23
0
13
9
8
69
22
-21
0
76
-5
0
13
51
-20
0
-8
28
32
-8
-28
5
0
3
-22
0
-70
5
12
0
0
28
-55
0
-30
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
-4
2
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
16
2
-99
-7
6
13
1
-6
26
-2
-18
-69
18
15
9
22
3
-2
-24
13
16
9
-106
9
27
-92
-25
20
9
-84
-1
15
68
26
-44
13
-22
14
-3
-20
9
-30
-2
-4
14
6
-62
1
39
-5
-9
-21
2
2
-56
-3
0
19
-35
-30
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
0
2
0
0
0
0
48
0
29
0
0
-4
0
26
0
0
0
0
1
4
75
0
27
4
1
0
-5
64
0
-1
8
-3
0
0
41
-1
24
-5
2
0
1
-40
0
0
9
0
0
0
-5
0
-6
3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
1
0
0
0
1
-23
0
0
0
0
0
0
3
0
0
0
0
0
0
-18
0
0
0
0
0
0
18
0
4
0
0
0
0
7
0
-1
0
0
0
0
-7
0
2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-3
0
0
0
0
-19
0
0
0
0
0
0
3
0
1
0
1
0
7
20
0
0
0
-1
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
52
0
13
0
0
0
0
-3
0
0
-3
0
0
0
26
0
-15
2
0
0
0
-1
0
0
3
0
3
0
-56
0
12
5
0
0
0
-5
0
0
5
0
0
0
-51
0
-4
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
-56
0
9
-15
0
0
0
-16
0
-3
0
-1
0
0
-35
0
0
-8
16
0
0
6
0
24
2
3
0
0
-31
0
0
-2
5
0
0
-16
0
-57
3
0
0
0
-24
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
9
0
0
0
0
0
0
3
0
-2
0
0
0
0
-5
0
0
0
-3
0
0
-8
0
7
0
0
0
0
-8
0
1
-2
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
17
-10
15
-2
-6
81
41
-8
0
-39
22
-62
2
56
-35
-2
35
-70
-38
8
-44
-36
0
-37
-48
17
33
-25
7
5
11
30
-18
90
9
10
39
-43
-15
21
18
-7
-6
30
-3
-53
3
-37
0
22
49
-41
1
46
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
44
7
0
-1
8
-7
0
0
35
0
0
0
15
0
-63
-48
0
0
0
0
0
0
-61
-1
0
0
0
1
10
-28
0
-8
0
-22
0
0
0
0
-1
0
10
0
-60
0
0
12
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
49
0
15
-2
0
0
0
-3
0
6
0
0
0
0
69
0
-1
-1
16
0
0
21
0
4
0
0
0
0
14
0
-4
0
-3
0
0
30
0
0
2
3
-1
0
-25
0
16
0
0
0
0
16
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
4
-4
0
1
0
-37
0
0
0
-3
0
0
8
0
4
0
0
0
0
23
0
0
-1
0
0
0
23
0
0
0
0
0
0
77
0
2
0
-4
0
0
59
0
-1
0
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
5
0
0
0
0
-60
0
0
5
0
0
0
-3
0
5
0
0
0
0
-1
0
0
-4
2
0
0
-42
0
-1
2
0
0
0
-57
0
0
0
0
0
0
4
0
10
0
0
0
0
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
-4
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
8
-2
0
0
37
0
-31
43
0
0
0
18
0
0
1
0
0
0
4
0
-12
0
0
0
0
-17
0
0
0
0
0
0
45
0
-5
0
0
0
0
-6
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
17
33
14
-31
-8
-42
4
15
-15
28
-42
40
-1
-5
4
26
-29
25
-68
63
-21
8
6
6
38
-58
12
58
-7
1
-1
-36
40
-46
68
2
2
-91
22
-30
43
9
-5
26
-24
23
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-44
0
10
0
0
0
0
21
0
-1
0
0
0
0
-1
0
0
-1
0
0
0
18
0
1
0
0
0
0
-31
0
0
0
0
0
0
-3
0
6
0
0
0
0
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
-13
16
45
68
-17
-12
8
5
-18
-9
8
5
51
-58
0
5
-54
2
2
-5
-6
4
-23
79
-30
11
-2
-26
-3
18
38
43
18
-3
23
0
85
-30
0
33
0
9
-39
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
102
0
0
45
0
0
7
-8
0
-98
14
0
0
-2
-10
4
7
12
1
19
0
-3
0
-9
9
4
0
-2
32
0
0
4
-9
0
-1
22
0
4
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
6
0
0
0
22
0
1
0
0
0
0
-13
0
0
1
0
0
0
-58
0
3
-6
0
0
0
42
0
0
3
0
0
0
-32
0
-4
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
1
0
0
0
-16
0
82
10
0
0
0
-33
0
0
-13
3
0
0
3
0
27
-13
0
0
0
15
0
0
-4
10
0
0
-20
0
-2
-2
0
0
0
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
-14
-1
0
0
0
-34
0
-7
9
-7
0
0
45
0
-8
-1
0
0
0
-57
0
0
10
-13
-7
0
-28
0
-9
0
0
3
0
47
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-5
-17
40
13
-36
8
-19
-21
2
69
-17
64
43
-25
-27
-14
1
-16
-50
23
-44
-13
17
-22
46
-30
-61
-8
-32
3
25
-38
5
-57
0
-10
-41
-97
-38
20
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
5
-10
2
0
0
-32
0
0
0
-8
0
0
24
0
-1
0
0
0
0
13
0
0
0
0
0
0
20
0
8
0
0
0
0
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
68
0
37
13
-3
0
0
-12
3
4
9
5
0
-3
-44
1
-13
8
2
0
-1
-84
-2
0
-3
0
4
0
3
0
-33
0
-5
8
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
5
14
26
-3
7
14
3
-46
36
-51
-3
0
18
0
4
-20
0
12
-9
-41
0
0
-28
0
6
-8
3
0
-50
6
0
24
3
-4
-5
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
73
-46
0
0
-14
-23
0
0
84
5
0
0
-64
0
-12
42
0
1
9
39
0
-2
1
0
0
0
28
0
0
0
0
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
0
6
0
0
0
0
0
0
10
-2
10
0
0
-5
0
29
0
0
0
0
4
0
0
0
0
0
0
31
0
42
0
0
0
0
-21
1
5
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-34
-9
25
0
3
-70
-2
-21
-2
0
0
0
58
0
0
-4
-3
0
0
42
0
39
-1
0
-2
0
-86
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
20
6
-15
-64
-22
11
-19
15
13
-10
-4
-70
-79
-47
-5
2
21
46
-43
-27
-58
11
-10
1
7
19
-6
1
-28
5
-25
-8
7
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
1
0
1
0
0
-42
0
2
-1
0
0
0
0
0
0
1
0
0
0
-23
0
-5
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-37
6
-49
12
-131
39
-11
-14
0
121
60
1
18
16
1
0
17
-48
-27
-4
0
35
0
-50
24
2
71
0
1
-8
0
18
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
30
-115
54
3
-6
-28
2
17
-14
9
2
0
-12
0
-25
4
-45
3
0
7
0
41
-1
0
9
0
15
27
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
-1
30
-3
0
6
-33
0
2
0
0
0
0
-8
0
-12
-4
0
0
0
-49
0
6
0
0
0
0
-59
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
32
0
0
0
0
0
0
-8
0
0
0
0
0
0
-21
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
60
-1
4
0
0
1
0
0
1
0
-1
0
42
0
25
5
0
0
0
-18
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-9
-6
-20
53
97
41
-24
10
-3
-17
49
-45
-33
-13
20
3
-33
53
-6
-27
0
51
-30
60
-10
45
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
5
0
0
0
0
6
0
0
7
-10
0
0
8
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-46
1
-69
26
0
-2
23
13
1
23
-25
0
-2
0
-95
0
12
2
0
0
0
6
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
8
-5
-12
-2
20
-43
-20
3
-5
-39
-37
5
-37
0
-13
0
-10
7
3
18
0
-40
-14
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
16
-17
0
13
8
-22
0
-2
25
0
7
-1
-47
0
-60
0
2
25
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
22
1
0
0
0
-25
0
0
0
-1
0
0
67
0
-3
3
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-4
9
-8
8
0
19
0
8
0
0
2
0
-64
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
-31
1
11
-11
142
-13
1
-42
25
-9
-5
9
-7
10
-39
-33
-3
-97
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
3
1
0
0
31
0
1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-2
-1
3
2
48
-56
-8
18
0
42
-26
-3
-31
4
22
77
0
-3
30
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-22
-4
-14
-5
0
19
0
-36
0
-1
5
0
-58
-3
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
-5
0
0
0
-52
7
-27
3
0
-2
0
42
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-22
0
-31
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-27
0
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
2
-31
61
69
103
-14
-1
8
-50
-25
-20
51
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
2
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
3
0
0
0
0
125
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
-2
0
-86
0
77
-5
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
25
7
0
-9
-7
-57
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-5
17
-1
0
0
-22
9
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
33
71
23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-50
0
1
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-1
1
0
4
0
0
0
5
-23
0
0
-2
0
0
0
2
0
0
1
2
0
0
-6
0
0
-3
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
-24
0
0
0
0
0
0
-5
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-56
48
5
-21
4
-22
-53
-103
-22
-25
-10
21
-3
-36
-53
38
-16
-82
-19
-20
-27
7
-45
-38
-30
-20
-1
-8
-44
11
-2
-46
-30
-16
15
15
53
-30
1
0
18
-23
52
3
-12
-60
-5
0
1
-29
-6
-2
15
9
14
-12
-22
-8
13
-34
-21
-52
12
-14
-52
-38
-16
-1
23
-4
-74
-61
6
-14
-42
31
-8
9
-45
9
-11
-49
-13
0
0
0
0
0
0
0
8
-19
-29
31
-2
-11
-74
4
-6
-43
-33
-4
18
-74
-24
2
1
-44
-46
35
-2
-7
-30
15
-20
34
10
31
-15
2
0
-36
-14
-14
-64
1
-6
8
-63
-47
-55
-54
-21
-10
-40
11
-3
1
-1
-10
1
77
-48
-2
-37
-22
19
-5
-40
-94
-10
-10
-41
14
16
-17
26
5
20
5
21
-5
-15
-4
17
40
-29
26
-22
-39
5
-34
61
-7
-8
6
-6
-33
-22
-84
-27
-9
13
24
-98
-37
26
-62
87
-6
-57
-12
-3
-22
-12
42
5
-116
-28
-13
-49
-20
47
3
-14
53
-3
1
-36
-12
-3
-11
106
-13
20
-19
37
-1
48
-56
21
46
-32
-7
10
-31
31
19
-6
-55
29
16
-27
14
-28
-31
0
-107
-3
10
18
19
8
-39
-10
30
33
-112
-63
-32
-76
-7
26
-12
-8
34
-8
-8
8
7
50
31
30
-7
-39
14
-4
-47
-20
15
25
9
-50
10
-44
17
46
-37
-46
-15
4
-33
-52
-24
64
-21
-48
-10
-61
2
-3
0
6
-37
0
-124
22
34
15
-42
10
6
-6
6
22
-38
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
2
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
-17
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
0
0
0
0
6
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
-39
0
0
0
0
0
0
20
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
17
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
7
0
0
0
0
13
0
0
0
0
0
0
3
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-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
-20
0
0
19
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
18
0
0
0
0
0
0
-33
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
29
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
0
0
33
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
0
0
0
-9
0
0
0
34
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
40
0
0
0
0
0
3
0
0
-7
-6
-4
0
-16
-17
0
0
9
0
0
-1
-52
0
0
6
0
0
0
8
0
0
-70
0
0
-1
-3
0
25
0
0
0
0
-7
-2
0
23
0
0
0
17
0
0
0
0
0
0
13
0
0
0
0
0
0
-30
0
0
0
0
0
0
73
0
0
-17
0
0
2
29
0
0
8
-4
0
0
1
0
0
15
0
0
0
5
0
0
-7
0
0
0
-28
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
-17
0
0
0
0
0
0
3
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
5
0
0
17
0
0
0
45
0
-2
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
2
0
0
-1
0
0
0
-7
0
0
3
0
0
0
2
0
0
0
51
0
0
0
0
0
12
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
1
-18
0
0
50
0
0
-43
0
0
0
3
0
0
0
7
0
0
-76
0
0
0
0
0
0
0
0
0
15
0
0
3
-60
2
1
-4
0
0
0
-5
0
0
0
6
0
0
5
0
16
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
-22
17
0
0
1
68
0
0
-3
0
0
0
-9
0
0
-2
-1
0
-7
-14
0
0
-5
0
0
8
21
0
-39
-14
0
0
0
-18
0
0
0
0
0
0
-109
0
0
0
0
0
0
0
15
0
0
0
0
0
5
0
0
0
0
0
0
-26
0
0
0
0
0
0
-50
0
0
4
-5
0
0
68
0
0
0
0
8
0
-19
0
0
-6
0
0
8
-17
0
3
-1
0
2
0
8
0
0
0
-1
-4
0
26
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
-2
0
0
0
0
8
0
0
0
0
0
0
-7
0
-10
0
0
0
0
-5
0
0
0
0
0
0
2
0
-16
0
0
0
0
-13
0
0
-3
0
0
0
-34
0
2
0
0
0
0
7
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
34
0
0
-7
0
0
0
1
0
0
23
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
21
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-10
-4
0
-72
0
0
0
9
0
0
30
-1
0
0
51
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
-86
0
0
0
-8
0
0
0
-7
0
0
-1
0
2
0
0
0
0
0
0
0
0
-7
2
0
0
-1
0
1
0
0
0
-3
0
0
-13
0
0
7
-5
0
0
-37
55
0
0
-1
0
0
0
71
0
0
0
-1
0
-1
17
0
0
-13
0
0
0
-54
0
-41
34
0
0
0
-49
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
0
-47
0
0
0
0
-1
-5
15
0
0
-7
0
10
0
-30
0
0
34
0
0
0
50
0
0
15
0
-5
0
24
0
0
2
0
-6
0
6
0
0
0
0
8
0
-93
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-4
0
0
0
0
10
0
0
0
0
0
0
-51
0
20
0
0
0
3
2
0
0
4
0
0
0
-10
0
0
0
0
2
0
-22
0
0
-1
0
0
0
-20
0
1
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
8
0
0
0
7
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
31
0
0
0
0
0
1
9
0
0
0
0
0
0
-13
0
0
-2
0
0
0
15
0
7
0
0
0
0
13
0
0
0
0
0
0
25
0
9
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
-9
0
-5
0
0
0
0
23
0
3
0
0
10
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
2
0
4
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
-39
-5
-71
-13
19
-5
-25
-11
-28
-55
-19
46
92
-11
-6
56
-24
-24
-19
-42
-20
-16
-12
-75
84
-41
61
-58
-4
14
-13
5
-58
5
2
25
1
7
-93
-13
-17
4
3
7
0
-3
4
7
-42
32
-6
-5
-49
-47
-45
-43
43
-8
-1
-2
13
29
-13
-103
6
23
-48
-32
-46
-36
-4
-9
34
-15
-8
29
0
0
0
0
0
0
0
-23
4
-12
32
15
-41
-80
6
-24
8
61
8
14
12
-34
38
42
8
47
-13
-17
-13
37
-11
5
-2
14
-47
-13
18
-43
-1
-63
53
0
-40
-14
-5
-1
-13
10
24
-5
12
-5
-95
0
13
1
-48
-13
-35
-113
-12
10
-6
-54
6
29
-28
18
-32
-41
0
-26
-20
98
0
-1
42
-29
6
8
17
-33
-11
42
-12
0
-46
32
-5
-67
-21
-1
-5
-45
-93
-17
-50
24
0
16
-95
-13
-56
-87
-28
-32
-46
-45
-65
9
-37
-8
-22
3
21
-59
10
-48
-43
3
-1
-15
48
-14
38
-6
1
-14
-53
-30
11
-14
-12
-3
2
-2
-39
7
-58
-49
16
-8
-44
9
-13
-39
-1
47
-8
-17
21
4
9
5
-5
15
-49
-24
91
-77
2
-5
10
-74
-14
6
-40
31
65
-44
30
35
-22
93
-31
8
-14
-1
-40
-56
9
3
-33
-9
-24
-7
24
-13
-47
61
-22
-20
-5
33
-3
-67
14
13
-6
-37
-11
50
-18
3
8
-5
-59
2
63
7
32
-12
-42
-38
8
-44
-24
5
5
-15
33
-44
46
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
13
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
30
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-31
0
0
0
6
-5
0
0
0
0
0
-1
-41
0
0
0
0
0
0
-50
0
0
1
0
0
0
-5
0
5
0
0
0
0
-4
0
0
0
0
0
0
39
0
-1
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
-49
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-5
0
0
-1
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-15
0
0
0
0
-23
0
0
0
0
0
6
-9
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
32
0
0
1
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
19
0
0
0
0
0
0
31
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-48
0
0
-3
0
0
0
-25
-4
0
0
-65
4
0
0
0
0
10
0
0
0
0
0
1
0
0
0
0
0
0
-40
0
0
0
0
24
-2
0
0
-8
0
0
-37
15
0
0
0
0
0
36
0
6
0
-37
-23
0
0
0
0
0
0
0
0
-14
0
0
0
-23
0
0
22
-2
0
0
-24
2
0
-8
-58
-1
0
-94
-4
0
0
0
-5
0
0
1
0
0
39
4
6
0
-14
0
29
33
0
0
28
0
0
1
-9
0
39
20
2
0
-23
18
0
0
-67
0
0
40
24
0
-1
-6
14
0
-29
1
0
-2
12
0
0
53
53
0
-14
20
2
0
7
8
0
2
-30
5
0
0
-23
-5
13
0
0
0
0
-1
5
0
0
0
0
8
31
0
0
-6
13
0
44
47
0
0
-50
0
0
-37
39
0
8
13
-14
0
-7
9
-5
0
91
-9
0
17
65
-3
-18
-30
-16
0
0
50
0
-3
27
-5
0
-7
-73
0
-1
5
8
0
0
-21
0
0
0
0
0
0
-16
-1
0
0
0
0
0
-37
0
-104
0
0
0
0
60
0
0
16
-42
0
-2
-14
0
52
2
9
0
0
-44
0
8
15
-50
0
0
-20
0
-27
-25
8
0
0
-66
0
-2
26
-6
0
0
-5
0
-92
0
0
0
0
-27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-6
16
0
0
-8
41
0
0
-65
0
0
-3
-2
0
0
69
-3
3
0
-21
0
0
0
3
0
-4
2
1
-77
0
0
28
0
0
0
0
0
0
26
0
5
-4
0
-1
26
0
0
-55
-19
-4
-31
17
-3
-4
6
0
0
-46
-1
0
-4
30
-5
0
0
0
0
0
0
0
0
-52
12
-5
34
-16
20
-1
4
-13
2
0
44
0
0
-2
24
0
0
13
4
-110
0
0
-5
0
0
14
7
0
42
-3
0
8
-12
0
0
-17
0
0
13
22
0
25
-9
0
-43
4
-55
0
-44
48
0
6
30
0
0
-41
-19
-2
0
-35
-29
0
39
7
2
-1
8
8
-3
-22
8
1
-51
-79
-1
0
30
31
1
-4
60
43
3
0
-40
-14
-26
0
1
0
0
25
0
0
2
5
-5
0
-72
-1
2
7
-8
-63
-7
42
0
-3
-54
9
-124
23
-64
13
-3
61
-20
-43
9
15
1
5
-31
16
-37
-14
-35
-3
-24
-33
-33
30
-18
-42
15
17
7
0
-85
-12
-15
-4
6
-25
-1
-89
0
-22
0
0
0
-12
-4
0
-24
0
1
0
0
0
0
-37
0
-19
7
0
-12
0
22
0
-8
-27
-37
-8
-9
-19
0
29
0
-16
6
8
-73
-6
0
-31
-23
15
-2
36
5
22
4
1
-9
-2
-10
1
2
41
14
-14
10
-22
0
-93
2
0
-23
0
-53
3
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
3
0
-3
5
24
0
0
6
8
-1
0
-8
0
0
-2
5
0
0
90
0
0
-1
-11
0
0
0
-1
0
0
0
0
43
0
0
43
0
0
0
0
0
0
21
0
0
0
0
-5
1
0
0
-78
20
0
3
0
0
0
6
0
0
10
-1
0
0
-11
16
0
0
0
0
0
0
0
0
-118
10
0
0
31
3
0
44
0
0
0
40
0
0
-4
-19
0
0
-45
-1
-41
0
0
-3
0
0
0
5
0
-42
14
-2
0
-3
0
-5
23
0
0
39
0
-1
92
0
0
-32
-40
57
0
-40
21
0
0
30
0
1
-15
6
0
5
8
-6
0
49
-30
0
0
-4
8
0
6
-68
0
-70
28
12
0
1
-67
-1
0
-4
17
3
0
33
1
-1
0
0
0
0
30
0
0
8
0
-6
0
20
2
-1
-21
9
-63
21
0
0
-2
-19
0
8
-14
63
4
-3
-79
35
30
7
-64
-8
-3
-16
23
1
0
-23
1
6
-7
6
0
-5
3
0
5
-7
-1
1
0
-29
0
9
4
-2
-24
0
-33
0
2
0
0
0
0
-35
0
0
0
3
0
1
-47
0
16
-4
0
-9
0
0
0
1
-9
4
0
1
68
0
49
-26
-1
0
0
-55
0
-6
26
14
0
0
-12
1
22
-13
0
0
0
35
0
-8
-6
8
6
0
26
0
2
2
0
5
0
-32
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
0
6
0
0
0
0
0
0
4
0
0
0
71
4
0
0
0
0
0
0
0
0
-8
0
0
0
66
0
0
77
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
-1
0
0
-4
0
0
1
0
0
0
0
0
-24
2
-2
0
5
72
0
0
0
0
0
0
-52
0
0
5
19
0
0
24
0
0
0
0
0
-3
2
0
-13
-9
0
0
6
1
0
0
0
0
0
0
-48
0
0
0
0
0
0
26
0
0
0
0
0
-1
-20
0
0
0
0
0
0
-15
0
0
0
0
2
0
-6
0
0
0
8
0
0
-30
0
0
-8
0
0
0
13
0
2
-1
0
0
0
5
0
0
0
0
5
0
25
0
0
0
0
0
0
-7
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
16
0
0
0
0
0
0
0
8
0
0
0
3
0
8
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
10
0
8
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
-6
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
-4
0
0
3
-8
0
-47
6
0
0
-1
0
0
6
0
0
0
51
-1
0
0
0
0
0
0
0
0
25
0
0
0
-8
8
0
-24
0
0
0
-2
0
0
0
-2
0
0
0
0
46
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
1
25
0
0
4
0
0
21
-3
0
-8
1
0
0
-1
-29
0
0
-3
0
0
0
13
0
-5
12
0
0
-8
-19
0
0
4
0
0
0
13
0
9
34
0
0
0
0
0
0
0
0
0
0
46
1
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
1
0
0
0
-27
0
0
-4
0
0
-3
42
0
0
0
-10
0
-3
31
0
6
0
0
0
0
27
-1
0
-8
-8
0
0
-10
0
0
4
0
0
0
8
0
0
0
0
-3
0
-57
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
-3
0
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
-7
9
0
-2
0
0
0
0
0
0
-4
0
0
0
6
0
0
17
0
0
0
5
0
0
-24
0
2
0
0
0
0
-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
61
0
-1
-20
0
-3
8
30
-5
-2
18
-144
-40
37
18
8
-5
2
-16
2
8
-10
102
17
0
31
-5
30
3
-16
0
9
-1
10
12
0
0
-5
0
0
0
-8
-1
0
8
0
0
-3
0
-52
54
0
0
-26
30
20
-10
22
12
0
91
-9
-26
-166
-13
-1
-9
-9
-85
-41
0
0
0
0
0
0
0
-48
-5
-28
-13
-25
-22
-10
19
6
-2
-9
-8
12
-5
24
-22
-12
-2
-30
-15
-74
0
0
15
0
-5
19
21
-4
13
48
-5
0
15
0
-8
-7
0
0
-4
31
-23
-35
-58
-3
-19
1
-25
1
-13
8
0
-19
-23
0
0
-11
6
2
1
28
42
0
19
8
0
-1
33
-14
-8
-35
-9
0
-19
-5
-100
-4
-6
-16
-4
-1
-40
-29
-49
0
2
-35
-64
0
12
0
0
-11
72
0
0
-17
6
-25
21
60
1
7
-21
-51
-36
-28
5
50
-31
-6
-26
-51
-48
17
-41
13
-11
-7
-56
-12
-68
67
23
9
33
-57
-19
-21
23
1
-36
-18
-3
-14
9
-12
-21
6
-39
-59
-9
0
-14
37
-15
-11
0
-13
16
12
16
-8
39
0
-16
95
-4
-1
-5
3
-7
7
-14
-2
0
66
-21
-19
-15
-4
-7
8
-46
-16
60
-33
6
-5
-24
-22
78
17
-50
-7
40
-28
-63
-59
1
-53
2
-48
42
-28
39
0
-12
-7
-27
11
-16
-5
-5
11
0
-42
-4
47
0
0
-20
-8
0
30
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
8
9
0
0
0
-41
0
0
0
0
0
9
-4
0
-58
0
0
18
0
0
0
0
0
8
0
0
0
0
0
-5
-5
0
0
3
0
1
-26
-3
0
0
-1
0
-10
3
0
0
0
-104
0
-2
0
0
0
0
0
0
0
-120
9
-5
0
-50
2
1
-8
0
0
0
-9
0
-1
0
42
0
0
2
0
-35
0
0
-2
0
5
0
20
0
-7
10
-5
0
0
0
25
8
0
0
8
0
0
-66
5
0
-20
-19
0
0
19
-36
0
0
5
0
0
4
-60
0
0
-34
0
-7
21
-36
0
0
11
0
0
8
-60
0
5
-29
0
0
0
-19
0
0
9
0
1
0
4
-2
0
0
0
0
0
-8
-4
0
0
0
0
0
-26
0
0
-1
0
-8
-42
-31
0
0
54
0
41
-15
1
0
-3
-91
0
-6
16
32
0
0
22
0
8
22
-8
0
-2
-12
0
0
-6
14
0
0
10
0
44
0
-23
0
0
33
0
-52
0
24
0
0
0
0
-1
0
31
0
0
0
0
0
0
-81
0
-8
-1
0
-1
0
-6
0
0
-5
0
5
4
31
0
4
-6
0
6
6
18
0
0
-32
0
-4
4
-50
0
-28
-8
0
0
0
-44
3
0
21
0
0
0
-28
0
-16
7
0
-13
0
58
0
0
0
-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
14
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
36
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
-25
0
0
0
44
8
0
4
0
0
0
0
0
0
-32
0
0
0
-4
39
0
0
0
0
0
0
0
0
64
-1
0
0
9
0
0
-26
8
0
0
17
1
0
1
0
0
0
16
0
0
0
0
1
0
0
0
0
0
-3
4
0
0
-4
0
1
33
0
0
0
0
0
50
15
0
-84
21
1
0
28
18
0
0
-8
0
0
-8
-29
0
0
50
8
0
-49
-41
0
5
-25
0
0
-49
20
0
28
-51
0
0
0
-10
0
0
0
0
0
0
-16
-5
17
0
0
0
0
13
17
0
0
0
0
0
3
0
0
13
9
0
-31
7
0
6
-9
0
0
15
55
0
0
-44
9
0
0
-13
0
0
71
8
0
-9
45
0
0
176
-13
0
-4
-43
0
22
4
1
0
0
41
0
0
-2
0
0
0
9
0
0
0
0
0
0
-55
0
0
0
0
0
0
-19
0
9
0
0
0
0
28
0
0
-15
0
0
1
-17
0
55
-2
0
0
0
-64
0
0
13
0
0
0
-41
0
-63
-6
-2
0
0
-40
0
3
1
0
0
0
44
0
20
0
0
0
0
-40
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
4
-4
-4
0
55
3
-1
3
-16
0
0
5
0
0
0
-41
-2
0
2
0
2
7
0
0
24
0
0
13
0
0
0
0
0
0
1
0
0
0
0
-3
14
-1
0
-51
-1
-6
-79
-19
0
17
-35
0
48
-23
-46
6
3
-9
-2
-33
0
0
0
0
0
0
0
12
-42
1
7
-32
13
4
28
2
0
0
23
-5
0
7
-2
0
0
24
0
-55
0
0
-2
0
0
0
-13
0
0
7
10
0
8
0
-4
-2
0
0
-35
0
0
23
-10
3
-139
15
3
0
15
29
0
6
-26
0
-2
19
-29
0
9
24
-17
2
35
17
0
0
-50
5
-2
-24
-8
-1
17
-27
0
0
8
-119
0
0
22
0
8
0
-7
3
3
0
0
0
0
-15
0
0
0
0
0
-4
-4
0
-7
-5
13
-8
10
67
0
2
6
0
-6
-13
-23
2
-6
-107
29
-8
-7
0
-4
-1
82
5
31
-35
-2
0
-12
21
30
13
0
-42
0
0
-13
0
14
0
-54
1
0
6
0
24
0
-12
0
-1
0
0
0
0
-67
1
0
0
0
0
0
-31
0
42
15
-2
2
0
21
0
-9
-3
33
0
0
60
-3
22
-5
0
-8
-1
-4
0
0
49
-21
0
0
-97
0
-19
-10
0
1
-1
-32
7
-10
-46
-5
-1
0
-10
0
20
0
2
-37
0
-35
-4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
-44
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
19
0
2
0
-6
3
0
0
0
0
0
0
0
0
16
0
0
0
-6
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-20
-2
0
0
0
0
0
32
0
0
0
0
0
-5
0
0
1
0
12
0
17
0
0
0
-8
0
0
-8
-21
0
0
12
0
0
-1
-42
0
-1
3
0
0
0
62
0
-58
0
0
0
0
14
0
0
0
0
0
0
22
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
23
1
0
0
20
0
0
0
0
0
0
41
0
0
0
3
0
0
2
0
0
0
0
3
0
5
0
0
1
0
0
0
-45
0
0
0
0
0
0
-33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
20
0
0
-10
1
0
0
4
0
12
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
41
0
0
0
0
0
0
-4
0
0
0
-8
0
-5
0
0
0
43
0
0
-6
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
0
0
-67
6
0
0
0
0
0
4
-2
0
0
2
0
0
0
0
0
0
0
0
0
42
0
0
0
3
0
0
-71
0
0
0
20
0
5
-1
0
0
0
-5
0
-2
0
0
0
0
0
0
6
0
-52
3
0
0
0
0
0
-29
0
0
0
0
0
43
0
0
8
-3
0
0
-7
19
0
0
0
0
0
8
5
0
0
20
0
0
-1
41
0
0
-2
0
0
0
25
0
25
-7
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
0
0
0
0
0
28
0
-2
0
0
9
0
5
0
0
-4
0
0
-8
0
0
0
1
1
0
0
19
0
0
-4
0
12
0
-5
0
0
-3
8
0
0
-20
0
0
0
0
6
0
-14
0
0
2
9
4
0
-42
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
5
0
0
-5
0
0
0
8
0
0
1
0
0
0
6
0
0
1
0
0
0
3
0
-1
0
0
0
0
-5
0
1
0
0
0
0
53
0
-3
0
0
0
0
24
0
0
0
0
0
0
0
0
0
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
0
0
0
5
8
0
3
0
0
0
0
0
0
-1
13
0
0
22
0
0
0
0
0
63
0
0
2
0
0
3
0
0
0
0
0
0
0
0
14
0
0
1
-1
0
0
-14
0
0
-33
0
0
0
0
0
0
7
0
0
0
-7
0
0
0
0
0
0
0
0
0
26
0
-1
0
-11
-1
0
72
0
0
0
0
0
0
0
1
0
0
-3
0
-8
0
0
0
0
0
0
0
0
-42
0
1
0
0
0
0
6
0
0
-10
0
0
-23
0
0
-30
4
0
0
-1
26
0
0
0
0
0
-2
-78
0
0
1
0
0
0
13
0
0
-2
0
0
-2
31
0
13
-18
0
0
-16
-37
4
0
-1
0
0
0
-30
0
0
0
0
0
0
-22
0
0
0
0
0
0
-24
0
0
-3
8
8
0
46
0
0
0
0
-5
8
-77
0
22
2
0
1
-1
-72
12
0
-2
0
6
0
8
-3
0
-1
0
0
-3
57
0
0
8
0
9
7
-23
0
0
4
0
-3
0
-60
0
0
0
0
0
0
-8
0
0
0
3
0
0
24
0
0
19
0
0
0
-14
0
8
-2
0
0
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
8
0
0
0
0
-58
0
3
8
0
0
0
25
0
0
0
0
-4
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-23
0
0
0
0
0
0
-12
0
0
0
7
0
0
0
0
0
7
0
0
2
0
0
-61
0
0
0
0
0
0
9
0
0
0
0
5
5
0
0
-2
-6
0
-24
-1
0
0
0
0
0
5
-8
1
0
-2
0
0
0
0
0
0
0
0
0
75
-5
0
0
-41
0
0
-30
0
0
0
0
0
2
-15
5
0
0
0
0
13
0
0
0
0
0
0
5
0
-46
0
0
0
0
0
0
-2
0
0
0
0
0
-3
-2
0
48
-2
0
0
2
93
0
1
0
0
0
6
-11
0
0
7
5
0
-5
-29
0
0
17
0
0
1
32
0
-35
0
0
0
0
49
0
0
1
0
0
0
-3
0
0
0
0
0
0
-87
10
0
0
0
0
2
-3
0
0
0
0
0
0
11
0
0
0
0
0
0
-29
0
0
8
-16
0
0
-39
0
1
2
0
8
0
-16
0
0
42
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-107
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
2
0
0
0
0
14
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
-1
0
0
0
7
0
0
0
0
0
0
6
0
0
-13
0
0
0
5
0
4
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
44
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
16
0
0
-7
0
0
-74
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
-20
0
0
-13
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
10
0
0
0
-13
0
0
1
0
0
0
1
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
45
2
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-17
34
0
0
1
23
0
0
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
5
0
0
0
4
0
-2
13
0
0
0
2
0
0
0
0
0
0
-55
0
0
0
0
0
0
-43
0
0
0
0
0
0
-9
0
0
0
0
-4
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
15
0
0
-3
0
0
0
-21
0
0
0
0
0
3
5
0
0
0
0
-2
0
-2
0
0
0
0
46
0
41
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
1
0
0
1
0
0
-5
0
0
0
0
2
0
-2
-5
0
0
0
1
0
86
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
-1
-6
0
0
-22
40
0
20
0
0
0
4
0
0
8
1
0
0
-23
2
0
0
0
0
0
0
0
0
-30
-8
0
0
-62
0
0
-13
-2
0
0
35
0
0
2
-1
0
0
0
-2
0
0
0
15
0
0
1
0
0
22
13
0
0
0
0
3
-11
0
0
1
0
0
-98
-2
0
24
-26
-6
0
-63
-50
0
0
-31
0
0
49
-34
0
0
-25
-16
0
72
-53
0
0
-96
1
0
8
-88
0
-16
42
0
0
0
-43
0
0
-3
0
0
0
-43
-2
0
0
0
0
0
-6
0
0
0
0
0
7
-5
0
0
6
4
0
42
-23
0
0
44
0
0
35
12
0
-2
76
35
0
44
31
0
-2
-58
0
0
-7
-29
0
12
32
22
0
6
-49
0
8
52
-1
0
0
-27
0
0
17
0
0
0
2
-1
0
0
0
1
0
10
0
0
0
0
0
-3
-64
0
7
-6
0
0
0
66
0
3
-12
-3
0
-9
74
0
-2
-21
0
0
0
-41
0
-1
1
0
0
-1
-71
0
-34
3
-1
0
6
-5
0
2
1
0
0
0
-12
0
-4
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
2
8
6
-2
4
0
-23
1
0
0
-32
5
0
5
-4
0
-6
0
0
50
0
0
-32
0
0
0
0
0
6
41
2
-4
0
0
-36
23
0
0
-2
-89
-2
-38
44
-2
-1
2
8
2
100
47
25
58
49
-17
8
0
0
0
0
0
0
0
56
64
0
14
-8
-9
0
83
24
-4
-2
-26
0
-14
0
22
0
0
-2
5
-23
0
-1
-13
0
3
-4
-3
-1
-22
-13
-4
-2
0
0
1
-22
-1
0
-2
-1
0
-14
-57
1
26
-77
56
3
-16
24
9
6
19
13
0
75
-9
-2
-4
-24
-6
-4
-9
-13
0
-4
37
1
0
6
40
-3
5
41
-16
-1
0
-14
1
0
-1
15
-29
0
-3
15
-1
0
-7
0
0
-76
-21
0
1
18
2
29
-27
-14
1
70
-32
-13
-47
-38
0
-8
-74
0
-87
-5
-64
32
22
-75
8
-32
34
-8
18
-13
47
40
-10
-4
-33
-5
-30
-42
10
-25
2
-21
-2
-5
-35
8
-70
0
-58
3
-45
-1
-1
24
0
-22
9
-6
0
-29
19
0
-23
33
4
-5
5
0
1
-66
0
-82
-2
24
3
-71
-45
0
13
23
27
-71
0
-15
-8
-26
-1
-9
3
15
10
0
60
66
-12
-23
3
7
3
-26
27
-13
-24
0
41
-1
-4
-50
8
-2
0
-43
0
6
20
0
82
0
30
12
2
9
30
3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-18
-16
0
42
-1
0
0
0
0
0
-5
0
0
0
57
0
0
0
0
0
0
0
0
0
2
5
0
0
-35
0
0
-5
0
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
-1
63
0
0
0
0
0
3
0
0
12
8
3
0
1
-51
0
0
5
0
0
8
0
0
0
-35
-1
0
4
-26
0
0
-3
0
0
0
-44
0
-33
0
2
0
0
-29
0
0
0
0
0
0
80
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
1
-8
0
0
5
0
0
0
34
0
0
0
-58
0
0
6
13
0
0
53
0
0
0
0
0
0
21
0
0
0
0
0
0
-39
0
0
0
0
0
0
-5
0
0
0
1
0
0
-9
0
0
0
0
0
0
0
0
-5
0
0
0
0
28
0
-2
0
0
0
0
0
0
0
-5
4
0
0
6
0
-15
0
0
0
0
-2
0
-4
4
-3
0
0
-42
0
6
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-45
0
0
0
0
0
0
-4
0
0
0
42
0
1
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
21
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
-2
5
0
0
-27
-1
0
0
0
0
0
5
-40
0
0
1
0
0
1
-28
0
0
-3
0
0
3
7
0
9
9
0
0
0
7
0
0
-1
0
0
0
-40
0
0
0
0
0
0
-49
0
0
0
0
0
0
-7
0
0
3
0
0
0
61
0
0
0
0
0
0
-6
0
0
1
0
0
0
-4
0
0
0
0
0
0
-7
0
0
-8
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
30
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-2
0
2
0
0
0
0
13
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
6
0
0
3
0
0
0
0
0
49
0
0
3
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
77
-3
0
-58
4
0
0
0
0
0
19
-4
0
0
4
-2
0
0
0
0
0
0
0
0
-13
5
0
0
-16
0
0
-29
4
0
0
-9
0
0
0
5
0
0
0
0
2
0
0
0
0
0
4
0
0
-8
-1
0
0
1
0
-1
-11
0
0
-4
0
0
0
-3
0
-77
73
0
0
-23
12
0
0
35
0
0
3
20
0
0
-14
19
0
42
-10
0
0
-41
0
0
34
36
0
29
8
0
0
0
-25
1
0
1
0
0
0
-50
0
0
0
0
0
0
-15
6
0
0
0
0
1
55
0
0
0
0
0
10
85
0
0
-31
0
0
-3
-65
0
0
63
-8
0
-3
37
0
0
-6
0
10
-2
-54
0
-3
-12
2
0
0
63
0
0
-2
0
-1
6
-13
0
0
0
-1
2
0
-19
0
0
0
-1
0
0
53
0
0
0
-1
0
0
6
0
-3
0
0
0
0
25
0
4
0
0
2
0
-47
0
-1
5
0
0
0
-53
0
0
2
0
0
0
26
0
-5
2
0
0
-4
-5
0
0
0
-1
0
0
-1
-1
-2
0
0
0
0
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
-35
0
0
0
0
0
0
5
4
0
0
5
0
0
0
0
0
29
0
0
0
0
0
-76
0
0
0
0
0
0
3
0
0
0
0
-19
34
0
0
-33
-58
0
-48
-8
0
0
18
0
0
42
5
0
0
20
10
0
0
0
0
0
0
0
0
-4
8
1
-9
4
0
0
-74
59
0
0
-5
0
8
13
-12
0
0
-5
0
-11
0
-3
49
0
0
0
0
0
43
-8
6
0
-9
0
-7
28
0
0
30
0
0
44
-10
0
18
-45
-52
0
3
2
0
8
44
0
0
-19
10
0
10
32
-1
0
-17
30
0
3
21
1
5
8
-27
0
-21
14
-4
-13
-5
-47
0
0
17
0
0
0
3
-3
-1
0
0
0
13
-3
0
0
0
0
0
-2
0
0
3
-17
0
-35
-13
-29
0
-1
33
0
1
18
-46
0
2
74
3
-29
-5
-7
-6
14
43
25
-5
-20
29
0
4
-10
-8
-13
-4
-22
0
-8
8
0
-19
6
-21
0
0
6
0
-23
0
-57
0
0
0
0
4
0
-44
0
0
0
0
7
0
65
0
31
0
0
-3
-7
57
0
-2
6
-9
-2
0
-27
-3
-7
-19
9
0
2
-69
0
39
-6
6
-24
2
-13
-4
-41
-6
0
-1
-2
51
0
9
2
0
2
0
59
0
14
2
0
24
0
-53
3
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-2
8
4
0
0
0
10
-2
0
-37
0
0
0
0
0
-52
0
0
59
0
0
8
0
0
0
0
0
-3
-8
0
0
0
0
5
13
0
0
-31
0
0
-15
8
0
0
-2
0
0
3
2
1
0
8
0
0
0
0
0
0
0
0
0
-29
0
-5
0
-90
0
3
-31
0
0
0
-1
0
-2
2
8
0
0
-8
0
6
0
0
-2
0
0
0
-21
0
19
1
0
0
0
0
13
-58
0
0
2
0
0
-29
-1
0
19
-14
0
0
82
-38
0
-4
-31
0
0
13
22
0
0
-2
0
0
0
-18
0
0
-68
0
0
25
-51
0
25
35
0
0
5
40
0
0
-5
0
-2
0
-33
-9
-5
13
0
0
0
15
3
0
0
0
0
0
-9
0
0
25
0
60
-6
6
0
0
9
0
-6
-51
-32
0
14
-15
0
-3
-42
8
3
2
6
0
0
2
-27
0
0
-55
0
13
-5
-19
0
0
24
0
-24
1
-4
7
0
13
0
-14
0
-27
0
6
0
0
8
0
-90
-6
0
0
0
0
0
-46
0
8
0
0
-3
0
-37
0
0
-3
0
0
-6
-38
0
8
0
0
-6
0
5
0
0
9
1
-1
0
31
0
-30
-1
0
0
0
39
0
0
37
0
0
0
51
0
-9
0
0
-5
0
21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
0
0
0
0
0
5
0
0
0
0
0
-2
-10
0
0
0
0
30
-4
0
0
0
-10
0
-36
-2
0
0
0
0
0
-19
0
0
0
18
41
0
0
0
0
0
0
0
0
7
0
0
0
-47
-8
0
-56
0
0
0
-10
0
0
0
0
0
0
4
6
0
0
0
2
0
0
0
0
0
2
2
3
0
0
0
-5
24
0
0
13
0
0
-7
0
0
-2
-5
9
0
49
19
0
0
51
0
0
-2
-17
0
-1
-32
5
0
44
-23
0
0
5
0
0
7
-6
0
10
-13
3
0
0
-69
0
0
0
0
0
0
-18
0
0
0
0
0
0
-23
0
0
0
0
0
-1
-58
0
0
-5
0
0
0
40
0
0
1
-4
0
10
-7
0
0
-2
-1
0
3
-139
0
0
-16
0
0
0
19
0
0
-26
-4
0
-2
7
0
3
5
0
0
0
7
0
0
5
0
0
0
-28
0
0
0
0
0
0
19
-2
0
0
10
0
0
-43
0
-1
0
0
0
0
10
0
0
5
0
0
0
-48
0
20
-5
0
0
0
27
0
0
-2
-1
0
0
-29
0
23
5
0
0
0
51
0
3
0
0
0
0
46
0
-6
0
0
0
0
22
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-11
81
30
2
28
8
0
-21
22
-5
23
23
-28
0
0
-3
0
0
0
0
1
-7
-36
0
31
5
-7
-21
-34
0
-1
-1
4
45
-10
-60
6
5
-19
-3
-69
-21
34
8
-9
-10
-45
-23
0
0
0
0
0
0
0
-83
-22
17
24
-30
-51
-6
51
13
13
69
20
35
-29
0
3
-5
0
-68
-16
-31
2
-50
-19
0
0
27
-32
-2
-10
30
-9
-59
52
0
21
-7
0
0
-24
-6
5
-48
-46
8
9
11
-2
0
-92
9
-7
6
-8
-5
-5
-47
11
0
17
-5
19
-5
-14
-3
-8
-5
-79
8
-2
0
-4
32
-27
44
1
2
-8
-36
8
-8
10
-18
-54
0
-8
-7
5
5
39
1
-1
-37
6
16
15
14
-5
-5
11
13
10
-68
10
42
-44
-8
5
-10
25
41
26
-61
-5
-69
21
-22
-3
18
-17
-33
-55
-24
-80
16
18
41
-14
-8
-6
3
-50
-27
13
-22
-31
-41
22
-1
18
3
-5
34
-2
0
16
-9
0
-6
-43
-3
5
-14
-38
0
7
1
-1
0
-36
5
12
3
-14
58
-26
-16
-25
-14
-58
2
-30
16
3
-46
15
-6
-1
23
-58
-67
26
73
22
-12
18
45
71
13
1
33
-5
61
-33
-3
15
15
-24
9
22
-35
12
82
0
-18
42
-11
-16
-13
27
4
-14
50
-4
-14
5
-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
-1
0
0
0
0
0
0
0
0
0
-28
0
0
1
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-22
0
0
-47
0
0
0
0
0
0
8
0
0
0
-25
7
0
0
0
0
0
0
0
0
-40
0
0
0
13
0
0
-2
2
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
7
0
0
0
0
0
-4
0
0
-32
13
0
0
-5
28
0
0
1
0
0
8
-15
0
0
-2
0
0
-9
0
0
0
-22
0
0
0
-2
0
-41
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-52
0
0
0
0
0
0
-24
0
-2
0
0
0
-8
10
0
0
0
0
0
0
6
0
0
-1
0
0
0
-18
0
0
8
0
0
-1
0
0
0
3
0
0
0
-13
0
0
2
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
-3
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-19
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-13
0
0
2
0
0
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
12
0
0
0
-1
0
0
24
-4
0
0
13
0
0
0
0
0
0
0
0
0
46
0
0
2
5
0
0
30
-1
0
0
4
0
0
0
-2
0
0
0
0
-2
0
0
-3
0
0
0
0
0
22
0
0
0
0
0
0
-25
0
0
-2
0
0
-10
-3
0
-8
19
1
0
-31
5
0
0
0
0
0
12
60
0
0
-2
0
0
0
-19
0
0
7
7
0
-16
2
0
41
0
0
0
0
-4
0
0
2
0
0
0
5
9
8
0
0
0
0
-10
0
0
0
0
0
0
-5
0
10
0
0
-1
-2
-45
0
0
3
0
0
8
44
0
-4
-1
-3
-3
0
-43
6
0
28
0
0
0
-57
0
0
0
0
0
0
40
0
2
6
0
0
0
27
0
0
0
1
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
1
0
0
0
0
-19
0
0
0
0
0
0
-20
0
7
0
0
0
0
-6
0
5
0
0
0
0
0
0
0
-5
0
0
0
-4
0
0
0
0
0
0
-34
0
-2
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
44
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
31
-3
0
61
0
0
0
-4
0
0
6
-2
0
0
25
0
0
0
0
0
0
0
0
0
-6
1
0
-5
-1
0
0
-97
0
0
0
3
0
-5
0
1
0
0
0
0
6
0
0
-2
0
0
0
0
0
36
0
0
0
0
0
0
91
0
0
-4
0
0
19
-2
0
-23
-1
-4
0
17
27
0
0
-4
0
0
-5
-51
0
0
-7
0
0
0
13
0
0
-30
0
0
5
18
0
10
13
0
0
0
-20
0
0
0
0
0
0
9
-3
0
0
0
0
0
-29
0
0
0
0
0
0
44
0
0
-5
0
-2
0
-47
0
0
0
0
0
0
-4
0
0
-3
0
4
-2
-31
0
0
47
0
0
0
-66
0
1
35
14
0
0
36
0
0
24
0
1
0
-7
0
0
0
0
6
0
14
0
0
0
0
0
0
1
-2
0
0
-2
0
0
-12
0
0
1
0
0
0
31
0
0
0
0
0
0
-8
0
-2
0
0
0
0
12
0
0
0
-6
0
0
-32
0
0
-1
0
0
0
43
0
1
-3
-1
0
0
24
0
-2
0
0
5
0
-4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
0
0
0
0
0
0
-70
0
0
0
0
0
-113
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-13
0
0
31
0
0
0
-5
0
0
-32
0
3
0
-12
-1
0
0
0
0
0
0
0
0
22
2
0
-3
10
0
0
-5
2
0
0
-5
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
25
2
0
0
0
0
0
8
0
0
4
0
0
-18
-2
0
-18
7
0
0
25
43
0
0
1
0
0
0
5
0
0
-8
0
0
5
1
0
0
-10
0
0
0
-8
0
-35
0
0
0
0
-47
0
0
0
0
0
0
-43
7
5
0
0
0
0
-22
0
0
0
0
0
0
52
0
0
0
0
0
0
1
0
0
-3
0
0
0
-27
0
0
2
20
0
0
-50
0
0
3
-3
0
0
-16
0
-1
-1
5
0
0
3
0
2
0
0
-4
0
47
0
0
0
0
-10
0
-39
0
0
0
0
0
0
-7
0
0
0
0
0
0
-20
0
-7
0
0
0
0
-55
0
0
0
6
0
0
-18
0
3
0
-1
0
-3
0
0
0
0
2
0
0
-23
0
7
0
-1
0
0
-13
0
1
-4
0
16
0
8
0
12
0
0
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
-27
0
0
0
0
0
0
-3
3
0
0
9
0
0
0
0
0
0
0
0
0
-4
0
0
0
-25
0
0
-52
0
0
0
-3
0
0
0
-1
0
0
3
0
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
7
2
0
0
0
-43
0
0
0
0
0
0
-10
0
0
5
0
0
0
18
0
0
0
0
0
0
-14
0
-21
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
-1
0
0
0
34
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-20
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
-2
0
0
0
0
0
0
-1
6
0
0
0
37
-1
0
0
95
-24
0
4
-2
0
0
0
0
0
17
0
0
0
-18
-13
0
0
0
0
0
0
0
0
-11
0
0
0
-6
0
0
15
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
-28
0
-1
0
9
0
0
-25
0
0
6
0
0
42
33
0
-12
-42
-4
0
-46
29
0
0
29
0
0
0
27
0
0
-7
27
0
-12
-66
0
0
1
0
0
0
-36
0
-69
-1
0
0
0
58
0
0
3
0
0
0
0
17
-5
0
0
0
0
-39
0
0
0
0
0
6
-55
0
0
-9
1
0
24
-26
0
0
28
-6
0
-5
38
0
0
-83
0
0
5
-15
0
0
-40
0
0
12
-8
0
0
-115
-4
0
-2
-7
0
0
4
0
0
0
55
0
0
0
-2
0
0
-26
0
0
0
0
0
0
13
0
0
0
0
0
0
-37
0
0
0
0
0
0
-83
0
0
-4
0
0
7
-15
0
-5
0
0
0
0
-68
0
-16
0
0
0
-8
70
0
4
5
0
0
-6
-39
0
5
0
5
0
0
-33
0
-5
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
-78
0
0
4
0
0
-43
0
0
0
0
0
-2
-25
0
0
0
0
7
0
0
0
1
-53
-8
-17
-14
0
0
-24
0
-3
6
9
0
-1
-7
-13
1
0
0
0
0
0
0
0
-4
-2
0
0
-71
24
0
-9
-18
0
-7
-8
0
0
0
29
0
0
19
9
-86
0
-1
46
0
0
14
2
0
56
3
-1
15
-60
0
37
-2
0
0
37
0
0
-57
31
-4
-10
33
-15
0
-2
35
0
-1
-11
0
0
-30
-19
0
-4
-28
37
-3
15
24
0
12
-44
0
0
-7
23
0
-46
77
-3
0
0
-11
0
0
73
43
-1
0
22
8
15
0
0
0
0
7
-9
0
0
-4
-2
0
-19
0
0
19
-21
15
22
-1
0
14
-37
21
-50
20
-24
-2
-6
-72
-56
-22
23
-59
2
29
-38
13
-32
1
-53
10
-15
-9
-18
-2
0
0
0
7
-44
-9
-50
0
-28
-1
1
-61
5
-45
0
-32
21
0
3
6
-20
0
45
-8
0
0
17
0
0
-64
0
34
4
1
5
0
6
0
7
-15
27
0
-3
12
1
-43
-1
9
-8
4
51
0
-37
31
-90
2
1
10
0
-24
-7
20
-4
0
60
0
-5
-32
-1
-10
0
-25
0
-10
1
1
-50
0
-60
5
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
1
0
0
-36
0
0
0
0
0
0
3
0
0
0
0
4
7
0
0
-82
4
0
-15
0
0
0
1
0
0
5
0
0
0
26
-3
0
0
0
0
0
0
0
0
-22
-1
7
0
-48
0
0
-63
0
0
0
-5
0
0
13
14
0
0
9
8
-1
0
0
-3
0
0
0
0
0
24
0
0
0
0
0
1
-47
0
0
-6
0
0
21
5
0
4
-2
0
0
-31
29
0
0
1
0
0
2
-19
0
0
15
0
0
-8
76
0
-8
0
0
0
-12
0
0
19
-68
1
0
-2
-25
0
0
5
0
0
0
-48
0
0
0
0
0
0
-18
3
0
0
0
0
0
-44
0
0
0
0
13
0
-40
0
0
4
0
0
5
-29
0
24
-64
10
0
13
-1
14
2
-1
0
-6
0
-49
0
-7
22
24
0
0
0
0
8
4
0
-3
9
-15
0
0
0
0
-12
0
20
0
0
0
6
0
0
-14
0
0
0
0
0
0
31
0
0
0
0
-10
1
-6
0
0
0
0
0
12
-13
0
8
0
1
0
0
-24
0
-1
51
-12
1
0
3
0
30
-5
0
0
0
0
0
0
-4
0
0
0
-73
0
-7
1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
-1
0
0
-42
0
0
0
0
0
0
-7
0
0
0
0
1
0
0
0
-3
2
0
67
0
0
0
6
0
0
45
0
0
0
41
0
0
0
0
0
0
0
0
0
-5
0
0
0
24
0
0
-32
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
8
0
0
54
0
0
0
0
0
-1
-1
0
34
12
0
0
6
-21
0
0
0
0
0
2
-21
0
0
4
0
0
1
18
0
0
0
0
0
-1
14
0
-5
51
0
0
-14
-14
0
0
1
0
0
0
-13
0
-7
0
0
0
0
-17
0
0
0
0
0
0
-6
0
0
0
0
-3
0
37
0
0
-2
0
0
0
-31
0
0
-14
0
0
0
-103
0
0
-4
0
14
0
-38
0
0
-60
0
0
0
-49
0
0
0
0
3
0
-9
0
0
-1
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
-4
0
0
0
0
-5
0
0
0
0
0
0
34
0
6
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
-73
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
-34
0
0
0
0
0
0
0
-1
0
0
-7
0
0
0
0
0
0
0
0
0
2
0
0
0
-28
0
0
-12
-2
0
0
-1
0
0
0
-1
0
0
0
0
-10
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
-1
-34
0
0
1
0
0
-7
0
0
-42
28
0
0
0
-14
0
0
-3
0
0
0
19
0
0
13
0
0
-2
33
0
0
-2
5
0
25
12
0
-5
4
0
0
0
-2
0
0
-1
9
0
0
-75
0
0
0
0
0
0
-31
0
0
0
0
0
0
8
0
0
0
-1
0
0
-2
0
0
0
0
0
2
-13
0
0
5
0
0
0
-48
0
0
0
0
0
-7
-37
0
1
-5
3
0
4
-49
0
0
0
0
0
0
10
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
9
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-18
0
0
0
0
0
0
14
0
3
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
0
-2
-21
0
0
-1
0
0
0
0
30
0
2
0
19
1
0
-30
26
0
0
29
4
38
-8
-18
8
0
-10
-1
-38
-56
6
34
0
16
-4
-49
0
0
0
0
0
0
0
-47
6
0
0
-42
58
1
-52
-13
0
6
2
-5
1
-12
-21
0
0
-7
-17
39
0
8
-33
0
0
-15
-4
0
-21
9
-42
-1
2
0
-49
8
0
0
-8
6
5
17
-2
0
6
-39
-6
-9
-72
-14
-1
0
-32
9
0
42
-4
0
0
-43
-13
3
-7
-14
0
3
0
6
0
-30
-5
0
-28
7
14
0
-7
-16
0
-8
0
-10
-33
0
21
7
-75
0
-15
0
0
-28
5
0
-10
18
-10
3
-8
-2
0
11
10
-17
1
-21
0
-2
5
15
-12
-5
-39
4
4
-10
32
11
9
-32
-7
-24
-13
-31
4
-17
-62
6
6
-20
25
10
41
25
2
-1
0
19
6
0
16
1
-10
0
9
-12
0
-14
3
0
0
-8
-111
0
-28
-6
0
0
-44
0
-2
12
0
-46
-10
8
-17
3
-7
0
-9
8
3
-22
4
26
0
-32
-40
19
-50
2
-19
-8
-42
-8
-42
57
2
4
0
88
3
-5
3
3
20
0
-1
0
-22
-9
0
-33
0
58
0
0
-52
0
1
-25
2
0
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-5
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
12
0
0
0
2
0
0
-9
0
6
0
-19
0
0
0
0
0
0
0
0
0
6
0
0
0
-23
0
0
13
0
0
0
-2
0
0
0
-3
0
0
-2
0
16
0
0
0
0
0
0
13
0
-73
0
6
0
0
0
0
-65
0
0
-1
0
0
-29
1
0
5
8
0
0
-1
-25
0
0
1
0
0
-5
-33
0
0
13
0
0
-1
23
0
0
60
0
0
0
40
0
30
1
0
0
0
13
0
0
-3
0
0
0
49
-8
0
0
0
0
0
-46
0
0
0
0
0
6
8
0
0
-1
0
5
8
10
0
0
14
0
0
2
-28
0
0
4
0
0
1
26
0
0
-8
0
0
9
69
0
0
-41
0
0
-2
-36
0
0
0
0
-4
0
-22
0
0
-5
0
-49
0
-6
0
0
0
0
3
0
22
-8
0
0
0
0
0
33
0
1
0
0
0
1
-74
0
0
8
0
0
0
-8
0
-9
3
0
0
0
-13
0
0
2
0
0
0
-1
0
-14
-7
0
0
0
-4
0
1
-1
0
0
0
56
0
-2
0
0
0
0
-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
23
0
0
0
0
0
-23
0
0
0
0
0
0
-4
-7
0
0
0
16
0
0
0
5
-16
0
24
0
0
0
-9
0
0
-17
1
0
0
-31
-6
0
0
0
0
0
0
0
0
-11
0
0
0
-104
0
0
-29
0
0
0
1
0
0
5
5
-8
0
0
-1
0
0
0
-7
0
0
0
0
0
4
0
1
0
-1
0
-2
-83
0
0
18
0
0
-3
17
0
-4
-22
17
0
15
-12
0
0
65
0
0
4
22
0
0
48
29
0
-13
5
0
0
-3
1
0
-2
-23
0
-56
16
0
0
0
43
-2
0
0
0
0
0
-22
-1
35
0
0
0
0
6
0
0
0
0
0
5
7
0
0
0
-2
0
-8
14
0
-2
2
0
0
13
-12
0
-1
-22
20
0
-5
36
0
0
18
4
0
1
14
0
9
-6
-7
0
-1
14
0
0
7
1
0
14
6
7
4
0
-2
0
0
-28
-5
0
0
0
0
0
-49
2
0
0
0
0
0
-7
0
-4
0
-1
0
0
41
0
-3
5
0
0
0
-24
0
39
3
2
0
0
-65
0
0
6
8
0
0
-17
0
-16
8
0
0
0
62
0
-6
6
-1
0
0
-20
0
-15
3
0
0
0
2
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-61
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
0
0
0
0
0
0
-4
0
0
0
89
0
0
-16
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
6
-5
2
0
0
-13
0
0
-1
0
0
0
9
0
0
0
0
0
0
49
0
0
-1
0
0
0
4
0
3
-14
0
0
0
-32
0
0
-12
0
0
0
18
-4
0
0
0
0
0
61
0
0
0
0
0
0
3
0
0
0
0
-15
0
58
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
-3
0
0
0
0
3
0
0
0
0
0
0
-20
0
0
0
0
0
0
-74
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-7
0
-24
0
0
0
0
0
0
15
0
0
0
30
0
0
0
0
0
0
0
0
0
-2
0
0
0
-30
0
0
83
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
36
0
0
0
-5
0
-8
-26
0
0
35
0
0
0
15
0
50
11
-3
0
-3
-11
0
0
1
0
0
0
-9
0
0
3
0
0
-6
-6
0
0
-25
0
0
-5
16
0
39
0
0
0
0
0
0
0
7
0
0
0
-7
0
0
0
0
0
0
42
0
0
0
0
0
0
12
0
0
-3
0
0
0
-3
0
0
0
0
0
0
-32
0
0
-4
-3
0
0
5
0
0
-3
0
-5
3
-16
0
0
44
0
0
0
11
0
0
5
0
-4
0
0
0
0
0
1
-5
0
-25
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
6
0
0
0
0
-3
0
3
0
0
0
0
3
0
-24
7
0
0
0
23
0
0
43
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-8
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
-22
0
0
-10
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
40
0
0
0
0
0
0
1
0
22
-5
0
0
12
24
0
0
5
0
0
0
-32
0
0
0
0
0
0
1
0
0
1
0
0
0
5
0
10
0
0
0
0
-2
0
0
0
0
0
0
13
0
1
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
1
0
0
24
0
0
0
0
0
0
22
0
0
0
0
0
0
-2
0
0
0
0
0
0
34
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
8
0
-23
-9
-15
2
10
-56
17
34
63
13
10
8
-22
16
-4
25
13
-15
-13
-40
11
-5
-61
21
51
-25
65
-79
0
0
0
0
0
0
0
-37
-25
-90
-8
-24
47
26
16
-24
-6
-41
-17
20
5
3
27
-25
-2
13
13
32
0
-18
-75
2
-4
-99
-10
-58
-11
-22
-27
-57
-31
-27
-19
4
22
-5
9
-58
-14
-57
-8
-51
14
-13
-9
4
-9
-12
78
-70
2
77
67
-31
6
-50
-19
-26
-104
-15
-38
9
14
-58
-5
-48
-1
-19
2
30
-41
30
24
-23
-38
8
55
6
12
3
-56
5
8
-63
0
42
-25
2
40
-6
-15
16
-52
-68
27
-51
-5
-47
6
36
-19
36
-35
-1
2
48
45
-95
-10
-10
-17
-24
-32
3
-27
10
2
-7
-49
-48
-12
-21
-1
-32
15
17
27
-5
-9
-30
-22
2
-24
-33
-54
-43
-9
-50
-17
23
-34
-50
35
-8
-8
8
-32
-20
-10
10
35
-7
-13
23
-16
-28
19
-18
-15
14
39
21
-17
-76
-39
-30
-15
-4
-56
10
-33
-13
-38
-17
-33
-55
36
-81
33
-28
14
-57
-102
-82
-87
-7
-26
31
10
47
7
-79
-94
22
-22
-38
20
26
-75
24
-75
-23
42
5
-58
25
-14
6
27
-72
26
-30
-44
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
44
0
0
0
0
0
0
-3
-4
0
0
-5
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
1
-15
0
0
-2
0
0
2
0
0
-19
16
-25
0
-15
82
0
0
3
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
78
0
-115
0
0
0
-5
3
0
0
0
0
0
0
-33
3
5
0
0
0
0
-13
0
0
0
0
0
0
-31
0
0
0
0
0
0
-15
0
0
0
0
0
0
-24
0
0
-13
0
0
-7
25
0
0
0
-5
0
0
13
0
19
-1
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
-2
0
-34
0
0
0
0
-13
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
2
0
0
0
0
-25
0
8
0
0
0
0
-3
0
0
-1
0
0
0
-2
0
-1
0
0
0
0
4
0
0
0
0
0
0
-24
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-33
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
13
0
0
0
0
0
0
0
0
-16
-2
0
0
0
-47
0
0
0
0
0
0
-51
0
0
3
0
0
0
-17
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
13
-49
-6
0
2
0
-1
8
-3
-1
-16
-3
0
-7
6
-1
0
74
5
0
-41
-6
-7
-1
-11
13
0
0
0
0
0
0
0
0
-6
-13
0
0
-45
-26
0
-30
55
0
9
-47
-1
0
-13
22
54
-1
0
-2
0
0
19
-13
0
0
-27
0
2
-3
24
-76
42
-6
0
77
-6
0
0
68
-4
0
32
25
12
-12
5
-48
0
57
4
0
21
-6
0
0
36
6
0
8
-15
-24
0
10
0
0
63
17
-3
0
82
-23
0
20
81
-5
0
21
-52
-15
-4
-13
9
0
0
3
-49
43
0
-26
0
0
-17
-34
0
0
-2
0
62
-17
0
52
4
46
0
60
7
0
-41
45
23
0
70
-2
-8
-38
-6
-23
0
-40
40
8
-26
40
29
0
102
-4
-4
-21
26
-41
0
43
29
0
17
27
-8
0
-32
-26
12
-36
-98
-66
0
0
-19
-22
87
-14
-1
-14
0
31
14
0
-1
19
0
-9
39
-1
-14
-15
14
0
40
-5
0
46
-15
-34
0
-5
27
0
-84
-105
12
0
35
-14
-5
92
-39
92
0
8
6
1
3
13
29
0
16
22
2
44
108
27
0
5
-16
0
-2
-15
0
0
0
3
73
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
16
0
0
0
21
0
0
-1
0
0
0
5
0
0
0
0
0
0
18
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
-5
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-3
-31
48
-14
-13
-21
9
26
-57
-42
-1
2
-63
0
-50
10
-38
17
-1
-13
19
13
34
14
-2
9
-23
0
0
0
0
0
0
0
20
-23
-24
-41
-4
-5
13
16
-47
23
6
-24
-69
14
-56
11
98
-55
-31
22
8
-20
38
49
-21
-61
-8
-11
-14
-3
20
-27
9
19
-79
14
8
-8
-112
3
-17
-58
16
-1
-29
5
-16
-6
-16
-5
1
-17
-28
-3
-67
-1
25
4
-65
-25
16
2
-75
3
-6
-90
3
6
-48
-35
-4
17
-41
-3
-30
42
-39
-40
3
47
-1
-29
-29
28
-35
-3
-1
-44
-10
54
40
102
7
-67
-74
30
3
38
-37
5
-4
-5
-15
43
-56
53
-6
15
-20
1
46
-20
-14
-7
-45
9
3
19
26
5
-3
35
-1
15
30
-9
-70
2
-7
-6
38
-32
21
50
1
-130
-2
6
-26
19
5
26
-7
-25
9
32
-3
-55
11
-2
-3
-43
26
-19
20
-10
-1
-94
-13
44
6
-2
-18
31
-47
-14
21
-38
0
4
-19
2
21
58
-15
-51
10
-170
24
-26
-1
29
-19
-3
-67
-21
13
28
-19
19
-8
-74
-7
-9
16
-22
-4
24
-29
-8
13
-4
-47
-62
16
-8
7
69
-60
50
13
13
-13
-57
56
-54
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
1
0
0
0
1
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
18
0
0
0
12
0
0
-27
0
0
0
-10
0
0
0
0
0
0
0
0
0
7
0
0
0
9
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-87
0
0
0
0
0
-1
-9
0
0
0
0
0
-7
0
0
27
-12
0
0
5
45
0
0
-19
0
0
1
-26
0
0
-9
1
0
0
-32
0
0
41
0
0
5
-2
0
13
0
0
0
0
8
0
0
0
0
0
0
19
86
0
0
0
0
0
-24
0
0
0
0
0
0
53
0
0
0
0
0
0
-15
0
0
5
0
0
-1
20
0
0
-4
-2
0
1
-31
0
0
2
0
0
0
15
0
0
1
0
0
0
-51
0
0
0
0
0
0
-44
0
0
0
0
0
0
4
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
-24
0
0
0
0
0
0
25
0
-13
0
0
0
0
-6
0
0
0
3
0
0
-9
0
-5
0
0
0
0
-2
0
0
0
0
0
0
-1
0
16
0
0
0
0
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
3
0
0
0
-48
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
33
-1
0
0
-3
28
0
0
0
0
0
0
77
0
0
0
0
0
0
1
0
0
-3
0
0
0
5
0
7
0
0
0
0
-2
0
0
0
0
0
0
-27
0
0
0
0
0
0
-51
0
0
0
0
0
0
-1
0
0
0
0
0
0
69
0
0
0
0
0
0
-8
0
0
-1
-4
0
0
-27
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
5
0
-1
0
0
0
0
1
0
-32
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-18
0
-4
0
0
0
0
0
0
-9
-8
-1
0
-14
-8
0
0
0
0
0
0
0
0
10
0
0
0
10
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
-102
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-44
0
0
-1
0
0
27
-3
0
62
-25
7
0
37
-23
0
0
-31
0
0
5
12
0
0
58
-8
0
31
-57
0
0
13
0
0
-2
-69
0
-26
-1
0
0
0
30
0
0
0
0
-3
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
28
0
1
22
10
0
1
-27
0
0
16
0
0
-16
22
0
0
-61
-8
0
0
24
0
0
-30
0
0
-1
-47
0
0
31
0
0
0
49
0
0
9
0
0
0
-7
0
0
0
0
-84
0
25
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
-47
0
0
0
0
0
0
35
0
-7
3
0
0
0
70
0
0
-1
1
0
0
-31
0
7
-8
0
0
0
2
0
-1
0
0
0
0
24
0
-4
0
0
6
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
-44
0
0
-89
9
4
14
13
0
0
13
2
0
30
-18
4
0
-65
-18
-1
0
0
0
0
0
0
0
-17
-8
0
0
-49
-3
2
-24
1
-2
0
5
0
4
-5
22
0
0
-43
0
-11
0
-7
-6
0
0
12
17
0
-65
0
2
0
-34
0
-6
19
0
0
16
34
0
26
-6
0
-3
-89
7
0
21
-31
0
0
-18
0
0
-43
-70
0
0
50
-2
3
53
11
0
0
23
0
-3
-13
10
0
18
-56
-1
0
9
1
0
0
-21
-14
39
0
3
-5
-1
0
13
0
0
-60
0
0
0
0
-2
-1
9
0
0
-5
26
-50
-27
24
0
5
-44
-12
11
-53
37
0
-3
30
17
-2
9
-60
0
-7
-31
-19
-95
8
-17
6
-4
-58
24
21
-8
15
0
0
4
5
-70
0
23
0
-12
-3
20
-17
0
-84
0
0
0
-1
-2
0
36
0
0
0
4
0
-2
12
-1
-59
1
0
2
0
66
0
0
-6
2
-8
-3
-73
0
-37
-20
5
-1
1
12
0
3
19
-5
0
0
-20
0
-9
14
16
-1
0
-27
0
-8
-7
-1
5
0
3
0
-19
0
0
-6
0
-51
0
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
-1
13
0
12
0
0
0
0
0
0
10
0
0
0
5
0
0
0
0
0
0
0
0
0
-10
0
0
0
-2
0
0
22
0
0
0
-1
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-31
0
0
0
0
0
-1
0
0
6
-1
0
0
4
-8
0
0
-1
0
0
0
8
0
0
-1
0
0
-2
-9
0
0
-2
0
0
0
5
0
-2
42
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
-1
0
0
0
33
0
0
0
0
0
0
0
0
0
16
0
0
0
2
0
0
0
0
0
0
-2
0
0
-1
0
5
0
8
0
0
0
0
4
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
2
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
1
0
0
0
0
0
0
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
8
0
0
26
0
0
0
-1
0
0
0
0
0
0
4
0
5
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
-10
0
0
0
-7
21
0
0
0
0
0
0
-73
0
0
0
0
0
0
40
0
0
0
0
0
1
17
0
-2
-5
0
0
0
5
0
0
0
0
-3
0
-3
-2
0
0
0
0
0
-12
0
0
0
0
6
0
-5
0
0
0
0
-5
0
-31
0
0
0
0
0
-4
-3
0
0
0
0
0
25
31
0
0
0
0
0
0
-5
-1
0
0
0
0
0
-13
0
0
0
0
0
0
-5
5
0
0
0
-6
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
18
0
2
0
0
0
0
-1
0
0
0
0
0
-4
-15
0
2
0
0
0
0
3
0
0
0
0
0
0
-17
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
10
0
0
-63
0
0
0
0
0
0
-3
0
0
0
-22
0
0
0
0
0
0
0
0
0
-1
0
0
0
-22
0
0
54
0
0
0
-6
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
-41
-5
0
0
-1
46
0
0
0
0
0
0
-26
0
0
0
0
0
0
-44
0
0
-4
0
0
3
-30
0
10
-3
0
0
0
-9
0
0
0
0
0
0
-49
3
0
0
0
0
0
-93
0
0
0
0
0
0
5
0
0
-2
0
-2
-5
-46
0
0
3
0
0
-1
-15
0
0
8
0
0
0
-9
0
0
0
0
0
0
1
0
0
1
0
16
0
13
0
3
4
0
-3
0
-2
0
0
0
0
31
0
-20
0
0
0
0
0
0
44
0
0
0
0
0
0
22
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
-2
0
0
0
0
1
0
0
-6
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
4
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-9
0
0
0
-6
6
0
17
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-14
0
0
0
0
0
13
3
0
-5
5
0
0
-20
6
0
0
-8
0
0
0
13
0
0
1
0
0
2
-81
0
0
-3
0
0
0
-8
0
-33
0
0
0
0
12
0
0
0
0
0
0
-4
-2
0
0
0
0
0
5
0
0
0
0
0
0
37
0
0
0
0
0
-4
31
0
0
-2
0
0
0
-41
0
0
-1
0
0
-1
-34
0
0
7
-6
0
1
17
0
0
-7
0
0
0
13
0
0
-6
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
-12
0
0
0
0
-5
0
0
0
0
0
0
21
0
0
0
0
0
0
17
0
0
0
8
0
0
2
0
5
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
9
0
0
24
-15
4
3
23
5
1
0
0
0
0
0
0
0
-56
35
2
-1
21
73
-15
-18
8
0
-3
56
-4
-41
3
-17
0
0
17
0
-22
0
10
-5
0
0
-7
3
0
-1
-20
-22
2
-26
0
0
8
0
0
-117
0
0
0
-22
0
-40
-76
18
0
26
-15
0
0
-35
0
5
-13
-15
0
0
-31
-57
0
-4
49
3
30
32
0
0
-110
-10
0
8
-65
25
0
29
-4
3
-1
-20
-7
38
0
-37
-4
52
0
0
0
0
17
5
13
0
-24
8
0
47
8
0
74
-76
-66
-27
-4
0
-8
-23
0
-40
-17
-15
1
35
48
59
44
52
-19
-8
-16
11
99
-7
-2
-7
1
27
-58
-25
-69
30
14
0
-14
-37
-1
-10
-1
-44
0
0
-50
-1
3
0
-29
-12
0
0
-4
-22
0
-17
10
0
0
-6
0
0
-118
0
-22
-5
0
3
0
-44
2
-22
-26
29
8
0
4
0
-91
-14
-4
19
-5
-18
4
39
8
-4
-45
-7
-24
0
-13
-42
0
-5
12
6
0
-7
-25
27
69
0
-3
0
-102
-2
0
-60
0
11
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
19
0
0
73
0
0
-55
0
0
0
-8
10
-2
0
0
0
0
0
0
0
-46
1
0
0
-45
5
0
-8
0
0
-2
36
0
-1
-6
5
0
0
-7
4
-7
0
0
-13
0
0
0
4
0
30
-13
-21
0
-4
0
41
0
0
0
-33
2
0
-38
-16
0
5
-3
-57
0
-10
-16
0
-2
-38
0
0
-25
-38
0
0
58
-24
-1
33
4
0
0
-23
-2
0
-13
-53
0
0
8
-2
-2
0
-48
0
0
-3
2
13
0
-54
-3
0
0
0
0
0
-9
1
0
0
0
2
-9
0
0
0
8
0
-22
-12
-55
0
0
33
2
-18
51
-25
0
0
35
14
4
-8
-27
0
-15
0
-9
29
20
-4
0
0
-10
-14
1
-2
4
0
-12
-75
0
-65
0
-67
0
-1
2
-8
72
0
-3
0
0
0
1
-2
0
-30
0
0
0
0
0
0
0
0
-64
0
9
0
0
-48
0
0
24
9
0
1
-33
0
-26
0
3
0
0
-48
0
-6
-22
-24
8
0
-34
0
21
78
-1
0
0
-56
0
5
5
-1
4
0
-78
0
-19
-1
0
32
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
2
1
0
0
24
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-3
0
0
0
-5
-1
0
0
8
0
0
0
-31
0
0
8
0
0
5
-10
0
0
1
0
0
0
16
0
12
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
-35
0
0
0
0
0
0
31
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-2
4
0
0
0
-20
0
0
0
0
0
0
-30
0
0
0
1
0
0
10
0
0
-1
0
0
0
-2
0
5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
2
0
0
3
-1
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
40
0
0
0
41
12
7
-10
-2
16
46
-10
60
0
0
0
0
0
0
0
-6
-66
32
-14
11
29
37
3
-42
-1
10
7
-47
4
31
-44
20
-2
11
-9
-26
0
32
-61
0
-1
-71
-1
-7
-7
-108
-94
0
-45
0
-34
3
-3
-1
6
17
42
-60
-45
5
-30
-22
-9
9
-44
-17
-6
47
-31
9
-3
-11
10
1
8
-88
-59
-7
2
12
-5
8
19
13
-8
-68
4
-3
-3
-6
58
-34
-93
-6
4
-15
-34
-2
14
-3
14
-14
-29
-1
-7
0
0
-34
-15
3
0
-97
31
-24
-24
1
1
-5
54
-53
-84
-19
0
-67
-15
-5
-22
76
1
48
-40
-49
11
-4
-29
-16
-58
-66
7
-1
49
-20
-21
97
23
17
-7
-36
34
4
-8
-3
28
-68
10
42
-13
-6
34
15
-18
25
-1
13
66
-8
2
41
-37
-4
-36
18
1
13
1
-3
-19
15
10
-30
-4
-9
-55
-31
-4
8
7
-42
-11
2
-13
28
-8
-54
-25
41
-11
-9
-1
42
-9
-37
15
29
-41
-74
4
36
42
-95
-7
16
-36
-1
-59
10
-112
33
14
-38
-20
1
-28
-25
11
0
10
-54
-6
5
20
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-10
0
0
49
0
30
14
-13
0
13
-26
8
-15
0
0
0
0
0
0
0
-12
-1
-1
-3
5
0
14
-5
-4
0
0
-14
0
-26
-69
-25
0
0
-10
0
14
0
-26
-47
0
0
0
-8
0
17
-27
65
0
0
9
51
-8
0
0
68
0
0
-10
-48
0
-16
14
0
2
-31
-18
0
6
-31
0
-4
-44
9
0
0
13
0
0
-10
-4
8
2
-24
0
6
42
-35
0
-4
17
22
0
5
-6
0
0
-9
0
-97
4
-12
-37
11
0
0
2
0
21
-5
0
0
0
-32
-23
-73
0
-2
14
-8
-50
40
15
0
-2
11
0
10
69
-50
0
-10
-13
0
-70
-59
-18
0
45
9
23
44
2
-10
0
-40
15
-24
21
15
4
0
0
3
0
33
-31
-14
0
-1
39
1
-8
0
0
-32
0
-8
0
-10
0
-14
24
0
0
6
0
12
-44
0
-31
4
8
-111
-9
10
0
29
-63
0
2
-13
2
0
-66
5
0
18
24
-28
5
0
-55
21
22
44
-44
1
97
9
0
7
-25
0
-6
-40
-34
0
24
-3
-33
0
36
2
0
38
0
-19
-39
0
5
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-2
0
0
0
-12
-43
0
0
0
0
0
0
0
0
1
0
0
0
-126
0
0
-12
-2
0
0
-22
12
0
0
-54
0
0
27
8
15
0
0
19
0
0
0
0
0
-4
0
0
0
4
0
-1
17
0
0
0
0
0
-32
9
0
26
13
45
0
44
12
0
0
52
0
0
-27
-25
0
0
-48
11
0
22
48
0
0
-122
0
0
-34
14
0
-4
14
-5
0
-17
19
0
0
49
0
0
0
-33
1
0
0
0
0
0
-58
0
0
0
0
0
0
17
0
0
-3
1
0
11
-11
0
0
-43
0
0
-26
62
0
0
9
21
0
8
26
0
0
-77
-16
0
7
-24
0
0
47
5
0
-4
-14
0
0
42
0
0
-1
-57
0
0
1
0
0
0
-14
-4
0
0
0
0
0
46
-7
0
0
-8
0
0
7
0
39
0
0
0
0
12
0
0
1
0
0
0
16
0
7
24
-12
0
0
-39
0
1
-3
6
0
0
21
0
-14
8
8
0
0
30
0
-8
-7
-1
0
0
59
0
5
0
0
0
0
-45
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-82
-35
-37
-2
-15
61
0
0
0
0
0
0
0
-40
5
28
-9
21
-114
-40
5
12
-34
-53
5
-29
-17
-43
7
-111
-10
1
14
-42
7
6
-2
-9
-13
-41
-54
0
-3
-9
-26
18
1
29
-4
7
-59
-22
23
-42
20
25
-24
20
-18
-6
-5
-6
-44
0
28
39
26
53
-44
-12
4
0
70
-18
4
-31
-19
3
-7
-7
-11
-52
17
-32
-12
10
16
-17
0
-33
-27
-17
-5
-26
4
-24
-63
-15
-15
35
-3
-90
-31
40
5
-2
-36
-54
-36
-34
0
43
9
-12
-17
-10
31
6
3
-9
-1
0
-3
-60
-5
-76
30
-62
5
-9
8
16
11
-25
-43
10
22
-34
17
-15
-12
-38
29
-39
53
35
-57
-23
-49
58
54
16
-6
-72
-1
45
21
-5
21
6
15
3
-8
7
19
-1
31
-2
-3
20
24
7
-50
-6
-23
-18
29
-35
3
34
27
-57
-16
-32
9
-3
-55
69
-51
2
-40
-1
-6
-29
29
-3
-13
-3
-29
-20
40
17
28
31
-96
7
-52
13
-9
44
-10
-61
50
-4
-18
12
35
18
-71
2
-29
-12
28
17
15
18
-29
-26
-10
-104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
2
0
0
4
-3
0
0
0
0
0
0
0
0
44
0
0
0
-22
0
0
7
0
0
0
-8
0
1
-1
-7
-2
0
-2
0
15
0
-2
-1
0
0
0
-3
0
40
0
4
0
0
0
0
-46
0
0
0
0
0
8
0
0
-47
-6
-1
0
-23
8
0
-1
10
0
0
-6
34
0
0
53
4
4
-41
-20
0
0
-7
0
0
15
45
0
-40
73
3
0
0
-110
0
0
15
0
0
0
-6
-2
0
0
-2
0
0
53
2
0
-8
7
0
8
-58
0
0
-3
-5
1
-37
0
0
-9
29
0
1
-3
-60
-4
23
-4
13
0
6
6
0
3
26
-3
2
-2
7
-1
1
12
5
0
-14
47
0
-3
7
0
-2
0
-34
0
0
0
0
42
0
-69
0
0
0
0
0
0
-52
-2
0
0
4
0
5
-42
0
10
0
0
0
5
0
0
0
0
13
0
0
-88
1
12
-1
-1
0
0
-17
2
-3
-3
-5
0
0
19
0
-10
16
-12
0
0
-66
0
-1
-4
0
0
0
16
0
-12
0
0
-17
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
46
0
0
16
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-8
0
0
0
0
30
0
0
0
0
0
0
68
0
0
0
0
0
0
14
0
0
0
0
0
0
24
0
-8
0
0
0
-3
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
-2
0
0
0
-24
0
0
0
0
1
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
-4
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
-4
0
0
-4
-4
0
0
-3
-16
0
0
0
0
0
-1
13
0
0
0
0
0
0
23
0
0
5
0
0
0
3
0
8
0
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
68
0
0
-2
0
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
6
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
5
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-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
64
-5
0
0
-17
27
-25
0
0
0
0
0
0
0
-77
6
0
7
-6
0
7
-4
13
-2
0
22
0
0
17
11
8
0
13
0
15
0
0
-1
0
0
2
0
0
-52
25
8
0
-36
0
61
-57
0
0
0
0
0
-27
-23
0
-11
17
58
0
-29
-52
1
8
-17
0
0
-2
-3
0
0
78
8
0
17
-10
0
0
-33
2
0
10
42
0
-50
17
0
0
0
7
0
0
-14
-1
5
0
-44
-18
10
1
17
0
0
-4
-5
0
0
0
-1
-2
13
0
0
0
-12
-37
-10
-4
0
2
0
-1
40
-13
94
1
-4
42
18
13
-7
-5
-3
-6
53
17
9
1
-4
0
10
-43
-1
3
-13
43
0
-10
6
-7
0
0
-25
0
1
14
-1
-23
0
12
0
0
0
-2
0
7
5
2
0
0
0
6
0
23
0
60
0
0
0
-2
-15
17
3
0
2
0
-6
-21
-1
-64
4
0
-4
1
3
-1
6
-13
2
7
-7
15
1
20
-6
0
5
-6
-22
-4
3
20
0
-3
0
9
1
68
5
2
-18
0
-54
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
0
0
0
13
0
0
0
32
0
0
25
0
0
0
1
0
0
-12
0
0
0
0
0
-2
0
0
9
0
0
0
0
0
32
0
0
0
0
0
15
-21
0
0
-8
0
0
-7
-6
0
23
63
0
0
-3
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
2
0
0
0
14
0
77
7
0
0
0
-8
0
0
-2
0
0
0
-18
0
0
0
0
0
0
-16
0
0
0
0
0
0
62
0
0
0
0
0
-5
31
0
0
-8
0
0
0
44
0
0
-19
0
0
0
-13
0
0
-3
0
0
0
31
0
0
-1
0
0
0
-41
0
0
1
0
0
0
14
0
0
0
0
12
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
-1
0
0
0
0
13
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-24
0
0
0
0
0
0
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
-32
0
0
0
39
0
0
0
0
0
0
0
0
0
-1
0
0
0
-28
0
0
-9
0
0
0
-2
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
-88
0
0
0
0
0
0
70
0
0
0
0
0
-8
0
0
-10
6
-25
0
-1
-40
0
0
-16
0
0
3
-138
0
0
8
0
0
2
48
0
0
22
0
0
0
62
0
13
1
0
0
0
-64
0
0
0
0
0
0
-39
0
0
0
0
0
0
-6
0
0
0
0
0
0
-30
0
0
-5
-1
0
0
40
0
0
3
0
0
-4
50
0
0
7
-2
0
0
-20
0
0
8
0
0
4
-72
0
0
90
0
0
0
-48
0
0
0
0
0
0
6
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
-5
0
0
0
0
-49
0
0
1
0
0
0
-5
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
8
0
0
0
0
-16
0
0
1
0
0
0
-25
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
34
-3
17
5
-8
-73
-14
-38
0
8
23
20
-44
-6
6
-3
0
20
8
-38
0
18
-55
0
4
-1
25
1
23
60
-2
3
12
0
1
-17
10
0
-42
-23
2
-25
-14
0
-46
-80
-17
0
0
-59
-8
-4
-47
0
13
-82
-44
0
-45
-7
-99
14
-39
6
1
30
-14
6
-4
40
24
0
34
-13
-10
-31
-7
4
57
8
55
34
38
0
1
-22
101
0
-1
6
-1
8
-24
1
-6
5
-33
18
-33
-23
4
-31
-14
-61
25
-8
-1
-13
-9
-3
110
-23
-41
-31
-1
-27
65
-32
84
4
-7
35
18
-53
-64
97
-3
29
-107
-36
36
-2
-14
22
2
2
-10
-42
50
22
36
-12
5
23
68
-62
0
5
-27
31
0
53
-13
7
23
14
0
1
8
0
3
-11
2
-63
36
0
38
1
-30
0
3
-22
13
1
9
38
6
-52
-43
26
8
21
-57
13
-47
6
60
-3
-4
28
-4
81
-58
-1
0
0
-20
3
46
-1
-41
-22
0
22
6
-12
1
-2
-3
0
-12
-22
7
1
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
4
-37
0
-5
-39
-1
0
-1
37
0
0
12
5
0
0
1
0
44
0
0
-5
0
0
0
-13
0
-40
4
0
0
-3
0
-21
45
0
0
0
0
0
-19
-12
2
-5
-34
0
0
-52
0
3
-2
-1
0
0
74
-30
0
0
35
6
3
-27
46
0
-1
36
0
2
-5
32
1
-43
-30
-3
5
-6
-16
0
0
-2
4
-13
0
-16
2
0
0
0
0
0
-28
0
0
0
-1
0
-6
16
0
0
-4
0
0
15
7
-1
0
8
-2
-3
-22
0
0
3
-30
9
0
4
5
7
-6
-112
-19
0
-9
-3
0
-5
-49
29
1
-5
-18
0
-2
28
0
-2
-2
-62
0
7
-2
0
21
0
-15
0
-2
0
0
-7
0
-94
8
0
0
0
0
0
35
0
-11
0
5
0
-2
-64
0
8
1
0
-6
6
0
0
-5
43
0
0
5
-56
0
-2
-12
9
0
0
-36
5
25
7
0
3
0
-57
0
0
13
-4
0
0
3
-1
8
0
0
3
0
-43
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-22
0
0
-43
0
0
0
33
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
-33
1
0
0
0
0
0
9
0
0
4
0
0
2
-16
0
-58
-4
0
0
-8
-4
0
-8
0
0
0
-5
39
0
0
-7
7
0
2
-65
0
0
49
0
0
0
45
0
15
-16
0
0
0
-6
0
0
0
0
-2
0
11
1
-3
0
0
0
0
-3
0
0
0
0
0
0
10
0
-4
0
-1
0
0
-36
0
0
0
0
-1
-1
34
0
0
2
-3
1
2
23
0
0
-8
0
0
0
41
0
-1
5
-5
0
-3
-26
0
0
0
0
1
0
-22
0
0
4
0
0
0
13
0
0
0
0
-5
0
-39
0
0
0
0
0
0
-5
0
-1
-2
0
0
0
-8
0
1
3
0
0
0
-21
0
31
1
0
0
0
8
0
-2
-4
0
0
0
-3
0
10
0
0
0
0
10
0
4
1
0
0
0
49
0
8
0
0
-1
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
-22
0
0
-3
0
0
0
54
0
0
0
1
0
0
0
0
-4
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
3
-24
0
0
0
0
0
25
0
0
-22
-2
-5
0
-33
4
0
0
-3
0
0
-25
14
0
0
24
-3
0
2
-34
0
0
10
0
0
-16
-42
0
47
58
0
0
7
14
0
0
-2
0
0
0
2
5
0
0
0
0
0
-74
0
0
0
-7
0
1
-60
0
0
-20
0
0
2
-61
0
0
16
0
0
1
34
0
0
-18
22
0
0
-31
0
0
5
7
0
0
-48
0
0
-4
1
0
-1
4
0
0
-7
0
0
0
-7
0
0
0
0
-2
0
-32
0
0
0
0
0
0
-15
0
0
0
-1
0
0
39
0
4
0
3
0
0
-13
0
6
-2
4
0
0
12
0
0
-6
0
0
2
-28
0
0
22
-5
0
0
-3
0
24
-1
0
0
0
-17
0
13
1
0
0
0
41
0
0
0
0
-5
0
-15
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
12
-32
16
-2
-15
19
-113
9
-1
17
20
-5
52
-28
13
0
2
41
-38
3
-27
-107
0
13
30
-66
9
9
-99
-52
0
-31
-1
76
-22
-2
-4
-10
-25
-49
-3
5
5
0
32
3
0
48
5
2
-19
-55
15
0
-9
-41
0
-17
3
19
-15
-22
10
-5
-29
17
-10
63
26
15
19
-7
75
42
43
-4
-14
-22
-4
-7
-9
12
-1
9
-3
-107
4
-28
5
-18
16
65
13
0
37
25
2
0
-6
6
-32
-22
-44
27
-1
-1
-4
32
23
2
-46
1
66
-11
-57
-32
2
71
-60
-45
1
-11
15
-1
12
-34
76
41
25
-50
-28
-18
1
-7
-48
-24
-56
-15
-48
9
-7
-19
72
-14
-10
10
-2
74
29
4
-9
17
-1
12
-51
-4
-1
58
24
21
6
15
46
6
-10
24
-13
22
0
-34
-71
-48
15
5
5
24
-5
-20
-83
15
51
-42
-31
-31
-9
22
51
36
-22
24
-49
-54
32
-49
-40
9
-17
-21
66
12
79
33
-19
-2
-30
-48
5
26
4
-10
-3
-9
2
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
3
5
30
0
6
-91
-4
0
0
26
1
13
1
-15
0
0
-4
0
4
0
-7
-17
0
0
0
15
0
11
43
-3
0
0
0
-14
-7
0
0
-15
0
0
4
0
3
-10
-23
0
0
6
6
0
0
-36
0
-1
8
-32
-1
10
40
0
0
0
-66
0
0
0
4
0
17
23
0
14
4
0
14
-2
-70
-6
0
6
0
24
0
-38
64
50
0
0
0
0
-51
4
0
0
0
-2
13
-22
0
22
9
0
17
41
-10
0
0
-29
3
-42
-10
3
3
-4
20
0
0
-77
4
0
-5
-46
-8
-12
-4
-51
-1
-9
7
0
-2
-7
-18
0
13
-30
0
-22
-1
39
-2
16
-2
0
-22
0
28
0
0
0
0
-2
0
23
0
6
0
0
7
-3
26
14
8
13
0
0
-8
-2
-3
0
-33
0
4
2
-6
0
-13
-17
1
0
0
-22
0
-24
-38
0
-1
0
-31
0
25
-32
0
0
-4
-39
-2
-6
4
0
-3
0
18
5
-43
-1
0
-6
0
-14
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
19
0
0
-11
0
0
0
-37
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
9
1
0
0
-1
0
3
27
0
0
0
0
0
-16
0
0
-29
-30
19
0
-71
-10
0
-3
-1
0
0
-3
-41
0
0
-36
-4
0
93
39
0
0
-8
0
0
0
7
0
-35
-8
1
0
0
13
0
0
0
0
0
0
1
0
-2
0
0
0
0
-47
-4
0
0
0
0
0
-77
0
0
8
4
0
-7
-56
0
0
-3
0
0
-18
13
0
0
69
-2
0
15
-31
0
1
-58
0
0
-2
1
0
0
19
0
0
-5
-95
0
0
-18
0
0
0
22
0
-3
0
0
0
0
-13
0
0
0
0
0
0
-42
0
0
0
0
0
0
10
0
2
0
0
0
6
-51
0
0
0
0
0
0
4
0
25
8
0
0
0
-58
0
0
15
5
0
0
-96
0
5
2
0
0
-3
2
0
0
0
0
0
0
-18
0
8
0
0
0
0
-16
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
8
-2
77
18
-14
0
-45
24
-2
45
9
-70
0
10
-6
0
-2
21
-9
0
-11
-28
20
24
11
0
-26
-15
10
0
-23
9
-5
-24
-43
7
-1
-16
13
0
-74
-3
-5
25
-20
-6
4
-8
-16
0
5
21
-25
0
63
-92
-6
14
-19
-8
3
-9
16
-4
-3
12
-8
-33
0
-16
5
-24
-2
5
-58
0
-4
-87
-48
-2
32
5
1
-12
55
7
3
0
38
-1
-36
7
75
-37
-33
2
-88
25
4
-49
75
-14
-1
-5
3
22
-29
-9
47
56
-27
12
22
27
-20
20
-16
3
-7
41
71
-26
9
-22
-1
3
-3
45
10
-22
21
-2
-65
36
-52
26
-1
-16
0
7
22
8
0
9
5
-2
20
-4
-8
-8
-16
-5
10
-27
-7
21
6
-8
75
67
-17
0
-63
-3
62
21
3
-32
-2
20
-94
23
-13
3
31
4
-66
-6
22
-17
12
-2
2
35
3
26
15
-1
8
19
5
-52
31
17
8
-10
-25
-31
16
-1
57
0
-2
-2
-6
-13
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
0
-1
6
0
0
-2
1
0
0
0
0
26
0
0
1
0
0
0
20
2
42
6
2
0
-1
0
-4
-9
0
0
-3
0
0
99
-6
0
4
50
5
0
-6
37
0
1
27
0
0
-2
-46
0
0
-41
20
0
-88
0
0
10
-75
-5
0
-18
73
0
-10
49
5
0
0
-5
0
0
8
1
0
0
-55
23
13
0
0
0
0
-17
0
0
0
0
0
0
85
0
-3
0
-2
0
-10
-42
0
4
-1
0
0
-1
39
0
-7
-6
30
0
-55
32
0
3
33
-8
0
40
0
2
4
36
-10
-2
2
-13
0
0
-23
0
8
0
-10
0
0
0
3
-3
0
-60
0
0
0
6
0
0
-23
6
0
0
0
0
0
2
0
-18
0
0
0
0
20
0
0
-3
1
0
0
25
0
-5
12
-2
0
5
-79
0
-12
-6
-1
0
0
0
0
-4
7
0
0
0
20
0
-1
-2
0
0
0
-10
0
-4
-1
-6
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-67
0
0
1
0
0
0
0
0
-19
-5
0
0
3
8
0
0
0
0
0
-5
48
0
0
-8
0
0
-16
-6
0
0
5
0
0
0
4
0
47
0
0
0
0
-21
0
0
0
0
0
0
-24
0
-4
0
0
0
0
-26
0
0
0
0
0
0
17
0
0
-3
0
0
0
-82
0
-1
0
0
0
2
26
0
8
0
4
0
0
-7
0
0
22
0
0
0
8
0
0
-9
0
0
0
5
0
-7
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
2
0
0
0
0
37
0
0
5
0
0
1
-13
0
7
3
0
0
0
-5
0
0
0
0
0
0
-14
0
6
0
0
0
0
-2
0
0
-2
0
0
0
15
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
15
0
0
4
0
0
0
6
0
0
0
0
12
0
0
1
0
0
0
0
0
-28
0
0
0
0
0
6
-17
0
0
0
0
0
25
60
0
-4
-7
-2
0
-31
-9
0
0
17
0
0
-1
-68
0
0
-5
0
0
2
-39
0
0
22
0
0
0
11
0
8
3
4
0
0
16
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
-49
0
-1
3
0
0
0
50
0
0
5
0
0
0
-17
0
0
-2
17
0
0
-80
0
15
33
2
0
0
-64
0
0
-30
0
0
3
-45
0
0
-16
0
0
0
-13
0
18
7
0
0
0
-29
0
0
0
0
0
0
32
-4
0
0
0
0
0
-1
0
3
0
0
0
-1
-31
0
0
3
0
0
0
-24
0
-2
0
-1
0
2
70
0
0
-1
1
0
0
15
0
-8
1
0
0
0
-76
0
-4
-2
0
0
0
-60
0
-14
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
30
6
-2
-83
-24
-42
10
-29
-6
20
127
25
-20
16
11
-31
0
3
63
-37
-10
-23
14
-27
-29
-24
14
5
8
-4
0
-18
-6
-26
62
60
-10
10
20
21
45
-23
1
4
-64
-11
13
-5
-39
-20
-2
-40
-13
-7
8
7
3
8
5
-31
41
-1
-3
28
-15
-5
-20
-49
27
24
-24
7
-13
66
0
-1
15
-23
-31
60
-2
-41
-5
-9
-24
-4
-33
-93
27
-5
44
8
17
-58
-58
28
-23
35
-3
10
-89
46
49
1
13
3
14
-63
29
-6
20
7
-33
-5
-76
-20
71
-39
-6
-12
-42
52
-49
-5
66
35
6
11
106
51
64
24
-38
-40
18
5
7
-49
-35
-13
-30
-50
-37
-2
43
7
6
-27
-15
6
-56
-5
-44
22
25
28
-11
39
-18
-17
-15
-34
-15
-50
-58
116
15
17
8
25
-28
25
13
4
-55
-62
-12
-50
-23
25
31
71
-49
-8
-6
23
3
31
43
-39
-93
-36
69
50
63
0
-12
24
39
31
-21
-52
9
-20
-38
-12
41
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
-19
0
0
9
18
0
0
18
0
-12
0
0
-1
0
5
0
0
0
-55
2
0
0
0
0
8
19
0
0
3
0
0
-6
1
0
-54
-20
-2
0
65
25
0
0
32
0
0
3
59
0
1
-61
0
0
17
-19
0
0
-54
0
0
-8
-57
0
-24
33
0
0
-3
-37
0
-1
8
0
-2
0
-50
0
0
0
0
0
0
-50
-5
0
0
0
0
0
-7
0
6
-18
0
8
-6
20
0
2
-15
0
-3
4
-22
0
8
57
4
0
11
11
-3
0
17
0
18
-2
-36
-4
6
-5
0
0
-1
26
0
0
-21
0
-1
-1
33
0
0
-6
0
26
0
-43
-6
4
0
0
0
0
-35
-7
0
0
0
0
0
-47
0
-7
0
0
0
0
-9
0
0
-2
0
0
1
5
0
3
29
-1
0
-6
8
0
-2
6
0
0
2
41
0
46
0
0
0
0
73
0
0
-2
0
0
0
-42
0
61
-2
0
0
0
26
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-1
0
0
73
0
0
0
-2
0
0
-1
2
0
0
0
-8
0
0
16
0
0
-14
0
-8
0
5
0
3
-8
0
0
2
0
0
-13
-3
0
-27
-7
-24
0
-37
40
0
-2
0
0
0
-15
-23
0
0
-44
1
0
-19
-31
0
0
10
0
0
30
-7
0
-24
-2
17
0
0
-13
0
0
0
0
0
0
-34
49
0
0
0
0
0
2
0
0
0
-2
0
0
-35
0
5
27
0
0
5
-27
0
0
14
0
0
-1
-43
0
0
29
12
0
14
-14
0
-3
-42
0
0
-2
67
0
-5
-7
-6
0
15
-44
0
0
-6
0
0
0
13
0
22
-1
7
0
0
-40
0
0
0
0
0
0
3
0
0
0
0
0
0
56
0
1
0
0
0
0
-18
0
5
0
0
0
-7
-60
0
37
9
0
0
0
8
0
1
37
0
0
0
16
0
9
-12
0
0
0
-37
0
-1
0
0
0
0
7
0
8
0
0
0
0
81
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
62
2
14
2
-49
0
19
-29
0
2
-60
-15
8
-3
-41
-7
-71
45
-1
0
-22
8
-3
-6
34
-69
-46
-30
-1
20
-4
-6
6
8
19
-15
43
17
41
-6
-24
1
37
-7
6
-30
34
-74
-17
2
-58
-5
48
2
-2
-7
-5
8
-7
-88
-11
-6
-10
5
52
-20
-49
-25
0
5
-79
-6
-22
-47
0
-2
-35
65
-15
-28
-30
40
-83
-19
-4
-9
-56
-46
11
-103
-18
0
14
35
21
14
19
-12
46
-75
11
4
-10
-16
7
-54
-5
-5
-11
11
26
-4
-25
55
35
-48
-6
-5
-12
-1
-9
24
-48
-8
6
4
7
-62
-5
-54
-33
0
-11
-37
19
-8
-119
5
0
18
-26
-4
-1
19
-54
-60
-27
36
23
-17
26
28
5
-23
-3
9
6
-4
31
18
-41
9
-5
-26
92
51
-8
20
-13
-63
29
69
38
-37
-30
-44
47
65
23
-7
-65
4
-5
48
-19
-88
24
0
-23
-33
-38
32
64
-33
-3
-35
1
-10
-46
-15
-112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-43
0
0
12
0
2
-6
0
0
39
4
0
0
0
0
-8
-6
0
0
-3
0
0
41
-22
0
58
12
-4
0
25
-6
0
0
21
0
0
60
72
0
8
13
-3
0
6
-63
0
0
41
0
0
-34
0
0
-72
-38
2
0
0
-22
0
2
-1
0
1
0
3
0
7
0
0
0
0
-15
0
0
0
0
0
0
-18
0
3
-21
-2
31
5
-39
0
0
1
0
-3
1
22
0
0
-46
-2
-2
-3
59
5
0
-17
-1
-21
15
-67
0
-6
-4
1
8
-5
0
2
5
-25
0
0
7
89
0
4
0
1
5
0
-68
-8
0
0
-1
8
0
43
0
0
0
0
0
0
37
0
4
2
0
4
0
5
0
0
0
0
0
-3
41
1
84
0
0
0
0
-41
0
-2
8
4
-2
0
-44
0
41
-20
0
0
0
0
3
-5
-15
0
0
0
1
0
-1
-1
0
-1
0
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-1
0
6
4
0
0
0
0
0
6
0
0
16
-1
0
0
-2
33
0
0
0
0
0
6
29
0
0
0
0
0
1
22
0
0
-4
0
0
-4
2
0
4
0
0
0
0
16
0
0
0
0
0
0
-28
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
9
0
0
51
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
0
0
-20
0
0
2
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
0
-6
0
0
0
0
5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-41
0
0
0
0
0
-1
0
0
-7
0
0
0
42
-43
0
0
1
0
0
-1
-31
0
0
-4
3
0
-4
-24
0
0
-8
0
0
1
-23
0
-10
2
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
14
0
0
0
-2
0
0
-12
0
0
6
0
0
0
6
0
0
0
0
0
0
-6
0
6
1
0
0
0
5
0
0
-1
0
0
-3
-50
0
0
0
0
0
6
-26
0
0
0
0
0
0
0
-1
0
0
0
-2
0
-43
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
10
0
0
0
4
0
0
-2
7
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
-5
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-38
16
0
0
66
-34
3
-13
-43
0
0
-8
2
-2
8
-1
-41
-3
-45
-4
-13
-11
0
0
-2
3
0
47
-4
0
-7
-27
19
0
-40
0
1
-3
-80
-6
7
31
1
0
5
-101
52
0
-66
-20
1
5
3
5
0
8
-13
-2
24
0
-24
4
13
31
-3
-3
10
65
-57
0
-12
28
-74
0
0
0
0
-11
1
0
0
17
0
-38
-54
5
19
3
-8
-9
-13
-30
0
16
27
-8
-11
-50
-10
-32
-48
32
-22
21
-24
-6
-61
-5
48
47
-63
-12
-26
52
-23
-49
-14
42
13
-42
-6
-26
6
-13
-39
-2
-22
-3
74
8
21
-29
0
-5
-15
-2
0
61
94
0
-21
-17
0
0
4
-2
0
-62
-2
39
-16
-19
5
-22
4
0
-6
-56
66
5
3
4
0
4
17
29
60
13
13
-3
18
30
-8
14
10
15
0
37
-21
4
-53
15
-29
14
-41
-66
-51
41
0
-14
6
20
-1
-3
2
0
-12
18
0
-7
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
-5
0
0
0
0
0
0
0
0
128
0
0
0
0
0
0
0
0
0
-13
0
0
-7
0
0
-3
47
0
0
-6
-28
0
0
8
0
0
0
17
0
0
-2
0
0
-3
52
0
0
-3
0
0
0
-78
0
-85
59
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-58
0
0
0
0
0
0
9
0
0
10
0
2
0
-22
0
0
12
0
0
0
71
0
0
-9
0
0
0
-17
0
0
-16
0
-1
1
-76
0
0
0
0
0
0
-9
0
0
5
0
2
0
34
0
0
-3
0
-13
0
8
0
0
0
0
0
0
-24
0
0
0
0
0
0
-13
0
-8
-4
0
0
0
41
0
-2
0
0
-1
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
-4
4
0
0
0
-3
0
0
0
0
0
0
59
0
5
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
2
0
0
0
0
0
14
-2
3
0
0
0
45
-12
0
0
7
0
0
52
-21
0
-59
-67
-34
0
-76
-4
-1
3
-38
0
0
28
7
0
0
-12
-8
0
12
-59
0
0
11
0
0
52
108
0
-2
-25
-5
0
1
-4
0
1
0
0
0
0
1
-3
-3
0
0
0
-2
-19
0
0
0
-1
0
0
-53
0
-5
-1
0
0
5
61
0
9
-35
0
0
-18
37
0
0
63
-7
0
2
1
0
-1
-12
9
0
-27
32
0
-5
10
18
0
0
34
0
0
-21
0
0
-3
15
2
7
6
-4
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
-3
0
0
0
8
-16
0
0
17
0
0
0
46
0
-1
-7
-8
0
-2
-14
0
0
-54
0
0
0
9
0
-5
3
0
0
0
-21
0
4
39
0
0
-3
-28
0
-5
0
0
0
0
-67
1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
0
0
3
0
0
4
-2
-6
0
6
0
-16
-55
0
0
-19
-1
0
23
-67
0
31
22
0
0
-60
17
0
3
44
0
0
-5
26
0
0
-1
5
0
0
-1
0
0
-1
0
0
0
-33
0
-80
-37
-4
0
0
54
0
0
22
0
0
0
10
18
2
0
0
0
0
-4
0
0
0
-5
8
0
-80
0
0
0
5
-7
0
12
0
0
18
0
-1
22
-9
0
-3
32
108
-5
-3
-9
0
-5
-41
-13
8
3
-8
-13
25
-28
9
17
7
18
5
-14
-3
-1
66
0
12
0
-4
53
8
-60
0
-10
-7
0
0
6
5
0
-54
2
0
0
-1
0
0
-37
0
16
0
0
9
0
11
0
0
5
-18
1
0
-43
0
1
23
0
0
-6
-8
0
-22
-20
-10
3
0
-45
0
25
18
3
6
-1
-6
0
-16
10
3
1
0
5
0
21
2
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-32
0
0
49
22
0
-23
-9
-4
-2
-80
0
-8
-47
0
0
14
-3
12
12
32
0
31
-26
-38
0
45
-22
0
2
28
0
-1
3
25
0
-1
18
-8
0
-53
-10
0
3
-18
4
0
38
31
0
25
50
28
9
-24
0
22
18
15
18
25
0
-3
-7
1
0
22
0
2
-15
13
0
0
12
45
-5
-16
0
0
32
-14
-12
-28
-57
3
-2
22
-3
-27
51
-58
-5
-2
-11
-56
-19
-5
18
-32
-33
-77
-40
-57
-51
75
-5
-58
27
-15
-52
0
15
8
-8
79
29
-23
-2
0
0
30
-9
8
11
0
-48
-7
0
0
16
0
0
-23
-4
0
0
5
4
0
-37
0
-123
19
-10
16
24
-28
0
-8
-30
4
48
-4
-49
0
33
-20
10
-5
3
26
-1
-21
39
42
31
-1
-40
2
48
24
24
10
-1
29
-15
-2
48
13
-80
0
0
0
-74
9
-1
58
4
-98
-32
0
1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-9
0
0
0
1
0
0
-20
0
0
0
0
0
-6
0
0
9
35
0
0
1
-8
0
0
-9
0
0
0
-56
0
0
2
2
0
5
-30
0
0
0
0
0
1
30
0
14
24
0
0
0
8
0
0
-5
0
0
0
10
-5
0
0
0
0
0
-38
0
0
0
0
0
0
25
0
0
0
0
0
0
48
0
0
8
0
0
0
-10
0
0
3
0
0
-1
3
0
0
10
2
0
0
12
0
-4
3
-1
0
0
90
0
0
0
0
0
0
-8
0
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
25
0
-3
0
0
0
0
0
0
0
0
0
0
0
70
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-4
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
-2
-5
0
0
-1
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
-2
0
0
-19
-76
0
-9
-54
0
-44
-6
0
0
-69
-5
-8
9
5
0
27
-58
-57
1
2
-36
0
-3
-78
0
0
-47
17
0
0
-49
10
0
-33
35
0
5
19
0
0
10
-23
0
-43
2
3
0
9
-1
0
0
0
7
7
0
31
-55
21
0
0
0
0
7
48
0
0
-2
-27
-13
-19
0
0
-24
69
-22
-3
-11
0
0
-73
-4
-37
-10
-32
0
9
-4
-41
-11
14
14
6
26
-4
26
-31
13
-11
-5
-4
2
50
-38
0
-8
0
0
0
7
-71
0
28
7
1
0
-18
-81
0
-16
-19
0
0
6
3
0
-8
0
0
0
-3
0
0
41
0
-13
20
0
-3
-4
-38
0
-9
-14
4
58
-14
-9
0
-22
30
0
33
-2
-43
0
-6
-20
19
17
0
-48
0
15
3
31
-29
0
20
0
0
0
18
42
0
-26
0
-54
0
2
-25
0
33
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-1
-87
0
0
31
0
0
-9
1
0
19
-12
0
0
1
-56
0
0
-41
0
0
1
-21
0
0
23
0
0
3
-10
0
0
4
0
0
0
-1
0
-42
-3
0
0
0
23
0
0
-5
0
0
0
11
8
0
0
0
0
0
-36
0
0
0
0
0
0
29
0
0
10
0
3
0
-31
0
0
0
0
2
0
-74
0
0
6
0
18
-2
-95
0
0
49
0
-3
0
-44
0
0
9
0
0
0
15
0
0
1
0
12
0
-31
0
0
0
0
3
0
-20
0
0
0
0
0
0
62
0
0
0
0
0
0
-2
0
0
0
0
0
0
-68
0
0
3
0
0
0
-21
0
8
-2
0
0
0
-3
0
0
-5
0
0
0
-6
0
-1
-1
0
0
0
-54
0
0
-6
0
5
0
6
0
-5
0
0
4
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-30
0
0
6
0
-5
6
-15
29
-2
13
0
0
-7
0
5
0
-2
0
-27
12
0
-9
-65
-27
0
-40
-23
8
-6
-2
22
0
-10
9
0
-19
-5
44
0
37
-19
0
-3
5
-10
0
40
-16
0
13
-19
-3
0
-3
-17
48
2
-46
-3
0
0
-13
-132
1
3
13
0
0
-25
-72
6
31
33
0
23
32
0
8
58
15
2
8
19
0
20
0
-16
0
-4
5
31
30
-37
-34
-9
5
7
24
50
4
38
0
16
21
6
52
13
52
0
17
28
0
13
-48
8
0
83
-61
14
29
-30
62
0
0
-31
-30
-1
12
-3
0
0
-28
-66
0
2
-12
0
-29
-28
2
-42
-39
7
0
-68
-12
24
-9
-3
-113
0
5
22
-10
-61
-3
-7
0
-8
1
-5
-21
35
5
0
31
-8
0
29
-57
2
0
-31
88
3
-5
-39
16
0
-22
-23
-1
-64
16
3
0
0
10
31
155
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
2
0
0
-39
0
0
0
0
0
0
0
0
5
3
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
1
0
-3
0
0
3
0
0
0
0
0
0
-18
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-2
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
8
0
0
-55
0
0
-1
0
0
-17
-18
0
-18
-58
-4
0
-25
38
0
0
26
0
0
2
-48
0
0
14
7
0
53
-15
0
0
-29
0
0
1
-25
0
-41
-5
0
0
0
-5
0
0
-5
0
3
0
0
0
1
0
0
0
0
-20
0
0
0
0
0
0
-31
0
0
1
-8
43
-2
23
0
0
7
0
3
0
-13
0
0
58
1
14
3
-46
0
0
25
1
-1
0
13
0
0
24
0
3
-1
14
0
0
0
0
-20
0
-43
0
0
-1
0
-17
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-27
0
0
0
0
0
0
29
0
0
-6
0
0
0
-3
0
13
6
0
0
0
-7
0
2
0
0
0
0
-21
0
23
-10
0
0
0
-9
0
0
0
0
0
0
-83
0
-7
0
0
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
9
-4
0
-1
0
-14
15
0
0
7
0
0
0
-23
0
20
-7
-47
0
8
14
0
-1
5
0
9
-61
-6
0
0
-4
-12
0
-50
-9
0
3
-10
0
0
45
-49
0
-72
-15
12
8
14
53
0
0
-7
-5
7
0
-79
0
45
-1
0
0
0
8
-4
0
0
-10
-3
0
-12
0
0
-23
13
-62
3
11
0
0
-13
0
32
45
-27
0
-1
-54
68
-21
3
21
0
-2
-41
17
29
1
-24
2
2
-6
54
-12
-1
38
0
-8
-10
0
-37
0
20
0
-4
6
-5
-3
0
-43
0
0
0
0
-44
0
-5
-1
0
0
0
0
0
-24
0
8
0
0
7
0
-1
0
0
25
-8
6
4
12
0
29
5
-9
0
0
11
0
1
-13
8
0
0
-26
0
7
3
5
0
0
-40
0
-13
-3
5
0
0
42
7
51
-9
0
8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
5
0
0
0
-14
0
0
0
0
0
0
-23
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8
4
0
0
6
-14
0
0
3
0
0
0
-46
0
0
0
0
0
0
-9
0
0
0
0
0
0
18
0
8
0
0
0
0
-1
0
0
0
0
0
0
-35
0
0
0
0
0
0
35
0
0
0
0
0
0
2
0
0
0
0
-3
0
-3
0
0
0
0
1
0
2
0
0
0
-5
0
0
31
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
2
0
0
0
-4
0
0
2
4
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
7
0
-1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-1
11
0
0
22
0
0
-1
0
0
19
-30
0
0
-2
-61
0
0
-7
0
0
-5
58
0
0
-6
-3
0
0
-45
0
0
-8
0
0
-3
49
0
10
-5
0
0
0
0
0
0
0
0
0
0
-16
6
24
0
0
0
0
84
0
0
0
0
0
0
-8
0
-4
0
0
44
0
-30
0
0
4
0
8
0
-20
0
0
-3
0
0
0
-23
0
0
-3
0
1
0
-14
0
0
47
0
0
0
-98
0
0
19
0
25
0
-7
0
0
0
0
-134
0
42
0
0
0
0
0
0
-25
0
0
0
0
0
0
45
0
1
0
0
0
0
-37
0
19
0
0
0
0
56
0
-8
0
0
13
0
-9
0
0
0
0
2
13
-7
0
-8
0
0
0
0
5
0
0
1
0
6
0
-35
0
-4
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
-24
12
0
0
0
12
-14
0
0
5
0
0
7
29
0
64
11
-25
0
-26
4
2
0
-30
0
0
6
-38
0
0
44
12
0
14
-28
0
0
-2
0
0
-1
-32
0
-4
-45
0
0
4
-74
-2
0
4
0
0
0
-20
9
3
0
0
0
0
-8
0
0
0
0
0
5
11
0
0
0
1
0
4
34
0
0
20
0
0
59
55
0
1
-79
57
0
-50
17
0
0
45
0
0
-9
-25
2
-9
20
4
0
6
28
0
0
48
0
2
0
-21
0
8
-6
49
4
0
-22
0
0
0
0
0
0
1
0
1
0
6
0
1
11
0
-1
-1
0
0
2
34
0
0
5
0
0
0
-23
0
-8
-6
5
0
0
-24
0
-2
6
-1
0
0
-6
-2
2
0
0
0
15
-50
0
-2
0
-22
0
0
76
-3
-18
0
0
0
0
24
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
21
0
0
0
0
2
0
0
0
0
0
0
-33
0
0
-6
0
0
0
-78
0
0
0
0
0
0
0
0
27
0
0
0
0
-4
0
0
0
0
0
0
-30
3
0
0
0
0
0
-43
0
0
0
0
0
0
-8
0
0
0
0
0
0
-25
0
0
6
0
0
0
-25
0
0
0
4
0
0
33
0
0
-2
0
0
0
34
0
0
-3
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
-13
0
39
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
-7
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-3
14
-25
3
30
22
0
21
-5
-8
2
-1
13
0
-4
3
-36
18
-27
-63
51
2
-27
-51
15
-32
-86
-1
-6
-22
10
7
3
-34
54
-33
43
-1
13
13
3
2
-4
-38
8
10
18
22
9
-12
32
45
1
12
1
-13
0
56
-49
17
9
-41
-29
10
-72
-13
-26
-25
3
6
12
13
-57
-31
-19
10
-2
9
9
-10
33
-25
-1
5
6
-48
-54
14
-27
5
30
5
76
2
-14
-20
30
-26
-6
-16
32
12
27
4
21
-3
-4
-3
-1
-8
14
-74
-38
41
-29
-20
-17
15
-3
0
-1
-31
-2
-94
-89
5
2
8
9
29
-75
73
-4
15
41
-43
18
-2
-5
40
-1
-44
21
-64
-4
9
41
37
-98
64
-20
-48
29
-109
4
-22
-49
36
-10
-83
80
-1
-5
-4
-10
-57
-64
-25
-7
-3
-8
-28
7
9
10
-6
-50
28
13
20
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
-3
0
0
-1
-1
0
50
-8
0
13
-85
-2
0
-23
2
0
0
43
0
0
40
18
0
0
16
-7
0
-11
-48
0
-1
-61
0
0
10
-35
0
62
-44
-1
0
-42
-69
0
0
23
3
8
0
5
0
-2
0
0
0
0
-5
0
0
0
2
1
1
-28
0
0
-25
1
31
6
-5
0
0
111
-10
-12
1
-12
0
0
-33
69
52
3
-17
-2
14
-10
-4
4
0
23
0
18
-46
-8
-3
-3
-72
0
-4
24
1
30
0
-61
0
0
1
-8
-42
0
1
0
0
0
-1
7
0
10
0
0
0
0
0
0
4
0
13
-1
1
-4
0
-51
0
0
27
-10
9
-2
45
0
2
9
2
-7
0
-98
0
1
14
4
0
-1
0
0
-57
5
0
2
0
48
0
-8
-4
0
0
0
62
0
-37
0
0
9
0
-9
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-27
0
0
-5
0
0
13
9
0
0
1
-25
0
16
24
0
0
-8
-8
0
12
4
0
0
1
7
0
14
-52
0
0
18
-14
0
0
-39
0
19
7
-4
0
-7
-53
0
0
-31
0
3
0
-38
0
0
0
0
0
0
-2
0
0
0
0
0
8
43
0
0
-5
3
-20
1
9
0
0
-3
0
33
0
-42
0
-8
-13
-3
19
0
17
0
0
-10
-7
-28
0
7
0
0
-25
57
4
0
-18
0
4
2
0
4
0
-2
0
0
0
0
-62
0
15
0
0
0
0
0
0
-5
0
0
0
14
0
0
9
0
0
0
4
0
0
-94
0
-1
-1
0
0
0
-51
0
0
-4
-2
0
0
2
0
0
-27
-1
0
0
-13
0
6
2
0
6
0
-42
0
1
-1
0
7
0
-142
0
-2
0
0
-4
0
15
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
1
0
0
-67
0
0
0
-6
-34
0
0
2
0
0
-3
-4
0
0
5
0
0
24
-28
0
0
40
0
0
0
-63
0
39
0
0
0
0
-17
0
0
0
0
0
0
-15
0
9
0
0
0
0
-50
0
0
0
0
0
0
-1
0
0
0
0
-6
0
21
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
0
0
25
-16
-4
0
9
0
0
-5
0
5
0
46
0
0
0
0
-3
0
7
0
0
0
0
-30
0
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
13
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
-47
0
0
1
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-15
0
0
54
0
-3
-24
-145
0
-23
1
0
0
10
-58
0
0
-71
0
1
22
-11
0
0
-16
0
0
-51
48
0
0
6
0
0
5
-9
0
11
-58
0
0
21
-17
0
0
-3
0
-1
0
-27
-12
24
0
0
0
0
33
0
0
0
0
-33
-13
0
0
0
14
0
37
23
-61
0
7
-23
0
36
-38
-21
0
5
-2
0
-4
19
-29
0
-1
-27
0
-6
4
38
9
-2
3
0
9
-3
-45
0
0
86
0
3
9
-45
0
0
66
0
22
0
-22
-8
0
0
0
2
0
-17
0
0
0
0
0
-5
-3
0
-6
-5
0
5
4
-45
0
-1
-18
0
4
0
10
0
21
51
0
15
0
17
0
0
90
0
-1
0
0
0
-18
83
0
0
0
-5
0
2
55
0
-8
0
21
-1
61
79
0
-47
0
-29
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
-33
0
0
4
0
0
0
-16
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
8
0
0
0
1
0
0
0
0
0
0
4
0
0
-9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
42
0
-48
-28
-25
-3
30
-7
0
0
-27
0
0
-20
7
0
3
26
-13
0
-28
-43
0
0
-5
0
4
-54
-30
0
-5
-85
5
24
9
-74
3
0
-3
0
7
0
36
-33
-26
0
0
0
0
22
2
0
0
0
18
0
40
0
0
-53
17
-10
0
28
0
8
-70
0
-49
-3
-6
0
7
34
-53
-5
2
-32
0
-4
7
25
-85
1
-6
7
-28
-17
-6
10
-19
21
0
-3
-34
-1
24
0
-33
3
0
5
-5
37
0
10
5
0
0
0
51
0
-22
6
0
0
8
0
0
32
1
-42
0
0
-1
0
6
0
0
-73
13
2
0
-27
0
0
-58
0
3
0
41
0
12
-13
-31
-5
-1
20
0
-65
63
1
4
10
3
-1
5
-3
-4
-15
0
5
0
-3
0
0
49
0
-31
19
1
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
9
-9
-22
-21
-2
-4
-11
-61
-41
-13
-69
-75
27
10
-46
-3
6
-3
-1
18
-3
-72
34
-18
-55
-122
-22
-10
-49
-18
-8
14
-11
-40
-9
-35
-13
-26
-25
-21
2
-12
14
-14
-29
72
-24
-14
-24
-71
-27
10
-10
-35
-20
0
-6
-30
-3
-53
-1
-30
-13
-32
13
26
41
41
-5
6
-10
2
-1
-54
2
-22
-7
-46
-25
-10
-9
-44
-15
-15
7
35
14
12
7
-39
10
-126
1
6
-44
-19
35
0
41
-98
-20
-19
4
-2
20
-6
29
-48
21
-37
6
-13
43
1
-42
-57
-6
-49
0
-36
53
-46
3
75
-59
-17
-6
34
-22
7
-30
-9
-37
-92
-7
20
-38
29
-5
-13
-81
-4
35
-1
-57
-1
-4
12
-30
25
-12
47
19
-2
-18
22
-19
-9
-67
-50
17
-26
-25
-49
-98
15
5
-2
49
48
-59
-49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
14
-52
0
0
1
0
0
0
39
0
0
8
0
0
0
-28
0
0
0
0
0
0
-8
0
-1
6
0
0
0
12
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
-45
0
0
0
0
0
0
-6
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
16
0
0
0
15
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
0
0
0
0
-22
0
0
1
0
0
0
-40
0
0
0
0
0
0
-57
0
0
0
0
0
0
5
0
-3
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
21
1
-25
-3
-35
0
0
-34
0
9
0
-3
0
-47
25
0
1
-45
-43
0
25
17
0
-5
-59
14
0
-56
-14
0
-15
-39
-20
3
34
8
0
0
-18
5
-24
0
33
-28
40
0
0
1
0
-38
-3
0
0
0
95
-7
32
0
0
0
6
23
0
-6
0
-1
2
1
-38
5
-9
0
-52
-38
-28
18
3
-22
7
9
3
-16
119
-13
-38
4
-8
68
-27
-19
24
-3
5
0
-35
23
-8
0
-5
0
16
6
5
37
0
22
1
0
0
15
-24
0
-17
-21
0
0
-7
0
0
56
0
48
0
-3
4
-1
-22
16
0
0
9
16
-1
18
0
-26
-12
5
-1
0
-99
0
13
71
26
8
6
4
-8
16
8
-5
-4
0
5
-5
5
-11
-1
-12
0
-1
0
1
3
-5
24
0
-18
-13
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
-92
0
0
0
-1
-19
0
0
1
0
0
0
5
0
0
-1
0
0
7
41
0
0
-6
0
0
0
-12
0
59
-6
0
0
0
43
0
0
-6
0
2
0
67
-1
2
0
0
0
0
-42
2
0
0
0
0
0
41
0
0
-8
0
-21
8
14
0
0
-7
0
5
0
5
0
0
-3
1
-3
4
-14
0
0
-2
0
0
0
-5
0
0
9
0
17
0
-3
0
0
-9
0
-1
0
5
0
0
0
0
-48
0
-36
0
0
0
0
0
0
42
0
0
0
0
0
0
-48
0
-1
0
0
0
0
-30
0
0
0
0
-3
0
-1
0
-20
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-14
0
23
0
0
9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-70
4
0
0
2
-18
0
0
-5
0
0
6
-29
0
0
8
0
0
0
3
0
0
3
0
0
0
-67
0
-46
-8
0
0
12
-13
0
0
-5
0
0
0
-2
0
0
0
0
0
0
-95
0
0
0
0
0
0
23
0
0
0
0
0
0
137
0
0
-2
0
0
0
1
0
0
1
35
0
0
-27
0
0
-2
0
0
0
-15
0
0
-1
0
0
0
-8
0
0
6
0
0
0
-1
0
0
-1
0
0
0
-30
0
0
0
0
0
0
-2
0
0
0
0
0
0
59
0
7
0
0
0
0
-39
0
0
-3
-10
0
0
-4
0
0
3
0
0
0
-7
0
0
8
0
0
0
0
0
-6
-2
0
0
0
31
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-29
0
-4
-60
-5
1
54
-15
0
8
12
-128
-14
-48
24
0
-1
-15
3
0
-6
9
0
23
17
-49
-1
-60
38
44
6
-54
14
98
0
-2
14
22
0
-3
4
0
-15
-5
0
-1
0
14
0
6
-1
31
-12
61
55
-10
22
0
7
-37
47
42
8
33
-9
-19
-30
52
-20
-71
22
31
58
43
80
4
0
24
-2
-45
22
55
-19
20
-27
-3
49
49
1
26
0
-41
2
6
-42
-44
12
1
16
5
5
0
13
-2
0
18
-31
5
0
4
0
-4
31
3
-28
56
-3
24
13
-34
-8
19
-39
-5
-31
12
-46
1
-45
-17
18
1
5
-31
8
51
66
-44
-18
1
-20
3
-17
-54
43
-12
0
-31
3
13
21
-20
52
-3
-6
4
-28
13
-8
-71
0
-33
-7
-9
4
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
28
0
-2
65
-7
0
19
-24
0
1
-21
24
0
-9
-2
0
0
-8
0
8
61
-4
2
-51
-70
-7
0
56
-20
0
0
-4
-1
-16
0
6
35
-23
0
0
0
0
7
3
0
1
0
-8
43
42
0
0
-5
-42
-41
-13
0
1
43
-11
2
-34
6
31
0
43
14
-29
20
48
-3
1
-21
-37
-33
-6
6
3
-1
-2
16
-56
-8
-5
-13
-4
-8
83
-4
-21
7
-20
1
4
-31
-26
-5
0
15
-3
0
0
0
5
0
-89
4
0
0
0
0
1
-63
0
53
0
-6
-2
1
0
0
-2
-12
5
-3
-7
-24
0
-54
32
6
5
5
-5
0
5
-33
3
-1
-34
-47
0
5
16
-8
1
0
17
2
-5
6
41
32
1
47
0
11
0
0
-58
0
23
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
-68
0
0
-4
-1
0
0
-72
0
0
0
0
0
0
-59
0
-19
7
0
0
0
3
0
0
0
0
0
0
-36
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
7
0
-5
0
0
0
-2
0
0
1
0
0
-1
0
0
0
5
0
12
-2
0
0
0
15
0
0
0
0
-13
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
1
0
0
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-49
10
-34
-16
-1
-23
5
-5
9
18
-12
22
-8
5
-39
11
17
75
-26
-4
25
26
37
-28
21
57
5
4
6
-54
21
14
6
-3
15
-44
-95
10
39
12
-1
21
-22
-4
11
-81
-73
-14
-11
29
6
14
-44
0
-19
-41
0
13
33
-103
-11
33
19
3
5
3
-31
13
4
12
88
-69
-8
4
-3
36
16
-41
1
35
-13
-21
3
5
18
84
-32
-69
41
21
9
53
11
7
36
11
35
21
-68
-6
-21
-22
63
-1
-7
48
2
-10
-75
-23
-37
-20
-47
5
-59
-59
-39
-32
7
27
24
31
30
35
72
-39
-13
0
16
-43
5
-51
-8
56
-9
87
16
97
-63
-61
-44
7
37
-55
39
-8
14
33
58
15
-39
19
-1
-14
8
-35
-50
0
6
3
-3
-54
-13
-8
14
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-30
13
5
-15
-17
1
-57
-1
0
20
-66
-20
8
8
32
0
5
-30
-56
-2
-49
2
0
-7
-30
-42
-5
24
20
8
4
-42
-34
-31
5
4
-15
-79
0
-45
-2
0
21
1
-5
2
-29
20
56
-11
-3
-10
0
18
-18
-5
5
0
-37
14
22
53
-27
4
-31
-27
-80
-35
11
-32
-7
5
-21
-24
6
40
-61
1
2
-11
-11
-49
67
-55
11
-1
27
-74
0
-32
4
-30
7
15
34
9
38
-3
5
-15
1
-2
4
24
0
-4
-30
0
0
-5
14
0
-19
-12
-24
1
3
57
-8
39
-1
-9
-8
-82
63
13
-27
5
-67
0
-25
8
-9
34
-1
-10
-20
15
-1
37
-25
0
-35
7
-9
-13
59
5
24
64
-21
9
-49
0
-17
0
-38
12
6
-2
0
-6
-56
5
0
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
6
0
0
-55
0
0
-53
-41
0
5
-22
0
0
-12
-8
0
0
-37
0
0
-26
-32
0
19
31
0
-1
16
-79
0
-1
-33
0
-9
0
9
21
-110
0
0
0
0
20
-8
0
0
0
-7
18
-30
0
-1
29
0
4
39
-9
0
0
-12
0
-46
-44
-1
0
-10
-53
-1
31
7
-24
0
-2
61
-19
-35
-42
-50
0
-2
-6
-2
-9
56
-5
0
19
1
-1
-14
-12
-41
20
-5
7
0
-10
0
35
0
4
0
-4
-36
0
-20
-39
0
0
0
7
0
-27
0
33
-8
0
84
9
22
0
6
-6
0
3
3
-14
0
-23
51
0
-7
0
37
-1
10
-15
0
21
0
-51
0
47
12
7
1
0
-46
0
4
60
0
46
9
-59
0
97
-6
0
17
0
-15
19
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
-86
0
0
-2
0
0
-1
-20
0
0
0
0
0
0
7
0
-2
4
0
0
0
-34
0
0
0
0
0
0
-23
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
0
0
0
2
0
0
22
0
0
4
0
0
0
-6
0
0
1
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
-46
0
0
0
0
0
0
-14
0
0
0
0
0
0
-7
0
0
0
0
0
0
-24
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-72
0
-10
5
1
8
-115
21
1
3
28
-3
-42
-58
31
0
-18
30
-23
8
36
-51
7
-2
55
8
41
0
12
7
-3
2
-20
-7
1
-22
9
-4
0
-26
7
9
-30
-24
-22
-30
-9
61
50
21
0
30
-25
5
27
26
6
-1
105
-30
-23
1
-4
-44
-17
-11
-24
-20
46
-46
-39
4
-50
-29
-49
-16
-8
41
-10
-8
-42
0
52
70
35
21
-22
19
6
22
0
23
-8
5
-1
0
-15
0
13
-91
-1
6
25
13
-13
-22
4
18
-37
1
-9
18
-16
0
3
-20
14
1
20
30
-2
3
-7
9
-9
0
-4
12
25
-31
-6
5
18
13
0
-2
-32
-1
-8
-28
18
-8
5
-7
-110
3
5
43
-15
-45
54
0
15
0
-4
8
-13
9
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
10
16
7
0
26
-46
-16
31
15
-69
40
13
37
-29
-22
23
-1
16
-24
-43
40
-33
17
-37
25
45
1
1
-2
2
-33
-39
70
-42
-29
-4
22
-2
69
-40
21
-41
-13
40
55
15
-27
-11
14
-17
-32
40
-41
-26
-30
-77
0
38
-80
16
-11
-47
-52
19
-2
13
-11
82
26
-20
6
-83
-73
-6
-12
58
0
4
118
-15
-13
-19
-5
32
-27
60
25
7
-4
18
22
2
10
-56
-38
58
49
-39
14
17
-44
-41
56
-4
-31
-19
-65
-22
-17
11
0
-19
11
-18
-82
-33
-49
-5
-28
0
-14
37
2
13
3
-3
-48
-69
-11
-13
46
-33
-10
-12
-86
48
-12
-11
-13
-20
0
3
-60
11
-19
-6
59
-13
-42
5
12
29
-16
6
-11
-5
-12
13
3
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-50
0
0
41
0
0
-2
-79
0
0
0
0
0
0
-14
0
8
0
0
0
0
5
0
0
0
0
0
0
-92
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
-10
0
0
0
0
0
0
-27
0
0
-1
0
0
0
24
0
-3
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
33
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
22
0
0
18
3
0
0
22
0
0
-3
0
1
0
-11
0
26
10
0
0
-1
88
0
0
0
0
0
0
49
4
0
0
0
0
0
9
0
0
0
0
0
0
25
0
0
0
1
0
-1
-13
0
0
0
0
-5
0
-39
0
0
0
1
0
-2
-32
0
-3
-9
0
-7
10
10
0
0
-13
0
0
-1
-3
0
-1
-6
0
-8
-7
10
0
-4
0
0
25
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-62
0
0
8
10
0
0
32
0
-3
0
0
0
0
5
0
0
8
-1
0
0
-13
0
0
16
0
0
-4
30
0
2
0
0
0
0
-12
0
-2
0
0
0
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-52
-4
32
-6
-10
-6
-20
22
0
16
-3
-1
0
3
28
0
6
-33
21
0
21
-19
2
-7
20
-1
-57
0
12
-10
-59
0
6
0
0
25
-32
3
0
0
0
-66
-19
0
-5
32
-47
2
28
2
4
-13
-15
-2
40
-41
-37
0
19
-39
-58
35
-16
-4
-8
-19
-60
1
52
-95
11
-4
-14
18
-100
-5
-31
15
0
0
-119
-2
34
50
-16
-6
20
7
30
-8
0
34
-23
1
0
6
5
0
17
-1
6
0
25
0
-19
-17
0
-7
21
-1
21
31
13
0
16
5
81
-71
1
26
0
50
46
-2
2
-37
-9
3
25
13
17
-2
-60
22
-7
-18
49
-5
0
0
3
0
47
-79
18
-21
10
2
3
22
23
0
19
0
40
-14
8
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-66
0
0
34
0
0
0
-40
0
48
0
0
0
0
42
0
0
10
0
5
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
-46
0
0
0
0
6
16
45
0
0
-1
0
0
0
50
0
0
1
0
0
0
13
0
0
-2
0
0
0
5
0
0
5
0
0
0
-2
0
0
0
0
-8
0
9
0
0
0
0
6
0
-127
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
4
0
0
0
0
-46
0
0
-3
0
0
0
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
20
0
8
0
0
0
0
21
0
0
0
0
0
0
-25
0
0
0
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
16
0
3
0
0
0
-5
9
0
0
-3
0
0
0
15
0
-57
2
0
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
0
41
0
0
0
0
0
0
-40
0
0
0
0
0
-3
-2
0
0
3
0
0
-5
40
0
0
6
0
0
0
12
0
0
5
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
2
0
0
0
0
8
0
0
0
0
0
0
-30
0
0
0
0
0
0
4
0
0
1
0
0
0
-3
0
-3
-4
0
0
0
-14
0
0
0
0
0
0
-18
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-4
0
4
-5
3
0
6
-18
0
10
-10
0
-3
5
-30
-1
3
-8
0
69
0
-38
-10
53
0
1
3
0
-30
-30
0
1
-5
3
39
22
0
-23
-51
20
-31
18
54
0
2
35
1
20
-14
-17
-2
-5
-70
-45
-3
12
8
0
34
41
0
-1
14
-24
0
7
25
-28
23
-9
25
0
-12
92
1
-21
-3
-36
-1
-2
3
5
30
0
-37
0
25
0
3
0
8
-57
4
0
0
8
0
6
16
0
3
0
0
-8
0
-26
0
17
28
-2
-4
24
37
0
-54
-23
0
-9
0
18
-1
4
-50
13
0
0
32
0
40
-102
0
0
-3
-111
0
17
-56
-12
0
0
-26
0
-29
6
0
-13
0
-53
-12
2
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
5
-7
-25
-13
-14
43
20
16
-13
3
19
-49
-58
3
42
-50
-22
1
-22
-6
-4
9
-14
45
14
-40
-22
87
-6
21
-51
-1
89
-33
-16
-1
51
-4
25
3
2
-19
-8
-47
15
-9
-25
12
-41
-1
-8
3
-15
-11
0
-44
0
19
4
17
40
10
-45
12
-5
0
-40
21
-25
-51
-3
-13
-4
-22
20
10
-17
-12
37
-51
28
-17
-2
-25
-7
-74
-23
-28
-50
-3
-31
-9
-5
-14
-69
-69
-9
-53
-11
-18
16
13
-56
-24
67
8
55
40
-5
-90
-34
-15
-4
-84
11
6
19
-63
41
0
5
45
76
-3
76
27
-11
-42
12
38
-70
55
-57
1
58
-50
-7
-10
14
-105
11
-26
-37
68
-1
-11
14
3
-73
-12
53
-29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
4
0
5
0
0
0
0
0
0
0
0
0
0
0
-42
0
1
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
-1
0
0
-1
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
7
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-17
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
0
0
-5
0
0
0
-24
0
-2
-5
0
0
0
56
0
0
0
0
0
0
22
0
0
0
0
0
0
-50
1
0
0
0
0
0
41
0
0
0
0
8
1
40
0
0
1
0
0
-3
-4
0
0
0
7
-1
0
19
0
0
-1
0
0
0
1
0
5
40
-1
0
0
-150
0
0
0
0
0
0
6
0
0
0
0
0
0
-29
0
0
0
0
0
0
17
0
0
0
2
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
13
0
-3
0
0
0
0
-38
0
-1
9
0
0
0
-14
0
5
1
0
0
0
6
0
0
-5
0
0
0
7
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-43
-1
43
-22
-15
-1
39
4
0
4
84
-138
4
-31
-20
10
21
8
41
37
0
1
-87
3
0
47
4
0
-7
-31
0
0
24
2
-31
-2
6
-25
25
1
36
15
-28
5
0
35
-1
14
80
0
-6
10
-15
-39
-34
23
17
7
-4
-32
8
-7
40
-6
43
50
-26
52
-43
19
2
0
-37
-32
-2
-19
21
-46
8
-30
-5
37
-8
0
29
6
-10
0
6
20
0
5
67
0
12
42
0
-9
37
8
63
22
8
74
-27
-50
0
25
68
-4
-5
26
-18
21
58
-37
51
8
61
-15
57
-8
28
-14
0
55
-25
17
-23
-42
-4
-40
-5
5
3
-26
35
-12
-17
14
-10
2
-29
-21
13
-2
0
-11
34
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
12
0
1
31
0
4
-7
-19
0
26
-41
0
-7
-6
-41
2
0
-1
0
-19
0
-15
-72
-4
0
0
0
0
22
13
0
0
0
0
0
-52
0
1
16
0
52
-42
51
0
-3
-19
0
12
-64
25
0
-2
38
0
-16
31
-13
0
-7
42
0
0
8
39
0
-6
25
0
-6
-2
-35
-3
-6
11
0
-12
0
-13
0
16
-6
0
-20
0
4
0
-8
0
0
-1
0
-49
6
0
0
0
0
0
-24
0
-60
1
0
0
5
43
0
-1
13
0
0
-1
-57
-2
-5
-17
1
0
2
5
0
-8
-79
8
0
-2
11
-2
-1
14
0
0
0
-42
5
-1
17
0
5
0
35
0
-31
3
0
12
0
-1
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
55
0
0
-2
0
0
-3
13
0
12
0
0
0
0
2
0
0
-1
0
0
0
33
1
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
-117
0
0
0
0
0
3
-37
0
0
-3
0
0
0
-39
0
0
2
0
0
0
-25
0
0
-6
-1
0
0
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
-8
0
0
0
0
0
0
13
0
0
0
0
0
0
-27
0
0
1
0
0
0
-25
0
0
3
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
0
-18
43
21
7
-4
-56
0
3
-23
0
-15
0
8
23
-35
0
-13
0
0
0
-31
0
0
5
-1
19
36
0
34
-30
-66
-21
36
37
0
1
-72
-14
25
-78
-16
0
-13
-16
8
-12
-12
24
0
-57
-8
-7
-8
4
1
0
31
-28
21
-3
4
0
-1
59
0
0
-21
-4
12
33
2
-8
2
24
0
31
4
-6
0
0
-17
0
42
-22
0
4
8
0
-1
80
-1
2
-2
-5
4
15
-3
0
9
89
27
0
-10
-53
10
2
36
15
1
-4
41
-1
55
49
-35
0
0
-24
-2
-28
-5
5
1
4
-1
14
-13
3
-6
2
2
-11
0
-53
10
0
35
0
-3
-3
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-36
13
0
-25
-36
-22
-41
13
-35
-8
12
54
-88
3
-7
28
3
-18
-66
48
-49
2
14
-49
-16
32
-26
57
15
-5
-48
10
15
30
-7
7
13
-3
26
33
-2
20
-17
-31
-4
-11
-11
12
-15
-9
-30
-11
9
-36
12
-7
0
31
-6
-8
-14
-15
8
-20
0
-64
-6
-7
12
90
-4
-100
-52
18
-27
-7
1
-10
29
-61
14
-5
-34
-10
46
54
-85
-109
14
-30
-33
0
26
-50
31
15
22
-57
30
-94
4
11
-23
5
-14
24
15
-5
-16
-2
-22
1
10
-12
45
-30
-13
-11
-9
0
-110
14
-46
-3
0
47
-26
14
29
-6
18
11
40
-2
-94
8
-9
-40
10
-12
-8
69
-13
-42
21
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
29
0
-5
4
0
0
0
4
0
0
0
0
0
0
-51
0
0
0
0
0
0
-32
0
0
0
0
0
0
-2
0
1
0
0
0
0
-49
0
0
-1
0
0
0
5
0
0
0
0
0
0
-21
0
0
1
0
0
0
47
0
0
0
0
0
0
-60
0
0
0
0
0
0
16
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-14
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
-73
0
0
0
0
0
0
-8
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
45
0
-19
-2
0
0
0
-17
0
0
0
0
0
0
57
0
0
0
0
0
0
-13
1
0
0
0
0
0
-22
0
0
5
0
0
0
64
0
0
0
0
-10
0
35
0
-1
2
5
14
-13
-75
0
0
-21
1
1
1
-33
0
0
-19
0
24
0
79
0
0
0
0
0
0
-4
0
3
1
0
27
0
-14
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
3
0
0
0
-46
0
0
0
0
0
0
-33
0
-7
0
2
0
3
0
0
0
4
-1
0
0
-13
0
5
-2
0
0
0
-44
0
0
0
0
0
0
-5
0
5
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
-22
0
17
-12
-39
-22
-4
-22
57
-6
-4
-2
7
0
14
35
-18
0
-33
1
1
-27
20
-2
0
14
12
-58
1
-18
30
63
44
60
85
3
0
-37
-7
-6
44
70
26
-25
4
-18
-13
-29
-24
-1
18
31
-60
-20
-22
-19
4
-2
-21
41
-36
7
37
1
-3
-9
6
2
100
2
10
-9
-12
9
12
53
0
-14
-17
19
0
-1
7
0
-14
-42
0
0
-7
-5
-6
-7
-7
-72
-28
10
-5
-44
-9
8
69
31
-24
-13
21
-28
3
-5
-49
-28
-51
-20
13
39
-37
40
-38
-5
17
-24
-5
13
28
-12
18
15
-2
31
58
-64
-7
72
0
-30
7
-1
-6
1
61
0
21
21
0
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-21
1
0
0
0
18
0
0
0
0
0
0
-39
0
0
0
0
0
0
-10
0
0
0
0
0
-1
-34
0
0
0
0
0
1
-41
0
0
-2
0
0
0
-43
0
0
22
0
0
8
-18
0
0
9
0
0
0
-31
0
0
-5
0
0
0
59
0
0
1
0
0
0
13
0
0
-1
0
-4
0
9
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
6
-6
0
0
0
8
0
0
17
0
0
0
-35
0
-5
0
0
0
0
29
0
0
-2
0
0
0
-1
0
-3
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
21
0
0
0
0
6
0
0
0
0
0
0
24
0
0
0
0
0
0
21
0
0
0
0
0
0
33
0
0
0
0
0
0
-26
0
0
7
0
0
-2
-120
0
0
-13
0
0
1
-103
0
0
-13
0
0
0
-3
0
0
3
0
0
0
16
0
0
0
0
0
0
25
0
0
0
0
0
0
-91
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
5
0
0
0
-8
0
0
0
-3
0
0
-14
0
0
-1
0
0
0
-22
0
0
0
0
0
0
27
0
-5
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
-6
41
43
9
0
-29
20
-18
4
-4
0
0
-13
-8
0
0
4
34
-5
0
0
3
81
43
-70
30
-32
0
-41
-11
0
-76
48
-41
8
6
-55
39
14
-2
27
-6
-9
-25
-5
-32
12
27
13
16
-12
16
-78
0
-29
1
40
129
0
-45
0
3
0
19
2
0
-18
0
-31
0
-1
0
-31
4
0
1
0
0
0
4
0
0
-42
0
-65
0
5
7
1
-49
0
-26
-93
-75
1
-6
10
0
16
46
-1
12
-8
32
4
18
-68
-17
-19
-13
38
0
16
43
-4
13
0
6
-3
17
21
-6
-8
0
41
0
-20
0
0
18
0
-50
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
28
-17
-8
-15
-58
-58
5
-25
-81
69
132
-43
8
-8
-6
-112
6
13
6
-39
30
5
-5
53
22
-8
26
-10
-13
3
-15
-23
12
14
-29
7
22
18
0
-30
-38
43
-8
14
-6
-12
-24
-39
41
9
-66
30
-14
-27
-28
40
0
-51
-52
19
24
27
48
-30
1
-22
-20
-21
-13
-3
-14
4
-7
-1
-60
-34
-7
9
-9
-15
8
25
5
57
-3
-3
3
-18
-56
5
-31
-22
-6
-29
-32
20
-9
40
-7
-14
-31
-38
-5
-94
20
10
-42
-3
-1
16
-55
-22
13
9
4
20
-18
-89
-50
0
-44
-18
26
-54
-48
-9
44
-6
6
-4
0
14
7
17
35
10
-31
-19
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
0
0
0
-8
0
0
0
0
0
0
-9
0
0
-8
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
26
5
43
14
1
-65
-1
17
-19
-2
-3
-43
-4
10
4
-28
-2
-20
-7
-34
123
-12
8
15
22
11
0
-2
-16
-1
-6
-49
-40
32
-64
-21
-22
-96
20
29
-51
-52
-7
72
-30
-8
55
24
44
0
30
-23
-36
-2
-12
-88
15
1
-30
14
13
32
45
9
-3
8
-15
9
1
-2
15
51
-5
-7
27
37
0
-6
1
-1
41
17
24
-20
-10
-33
31
-35
27
23
4
-42
17
29
15
-11
49
-72
-20
6
-37
-21
-112
2
-45
48
3
-8
2
-47
24
18
24
2
49
72
-45
-15
-13
-36
15
8
-19
35
14
14
29
-17
-95
-79
-33
7
0
20
-6
-16
0
-1
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-8
0
13
0
33
23
0
37
4
95
0
12
0
0
5
-31
30
-1
-27
95
13
42
-5
17
-11
-78
-9
-88
-21
-3
-5
32
0
47
-6
10
-7
9
48
20
-14
-47
10
-4
-42
57
-25
-57
42
-47
7
-11
-118
-33
-4
0
-24
7
52
-13
2
-14
-15
-73
1
-14
0
23
13
0
45
-3
-2
0
-42
26
0
-17
8
0
-1
-12
5
1
6
-5
-24
43
4
5
6
-13
0
0
10
-47
-19
13
-31
0
-28
14
34
-18
48
-48
3
48
39
-86
-43
-2
-23
5
55
18
33
7
-1
-28
19
59
0
-9
7
-7
10
-8
53
0
-12
23
0
9
17
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-64
2
4
2
0
1
0
-13
0
-2
0
0
0
0
8
0
0
9
0
0
-1
22
0
0
7
0
-51
1
-37
0
0
-5
0
-9
31
-20
0
0
-30
0
44
-8
-34
0
7
-42
0
-3
0
-19
0
0
47
0
24
8
13
0
-1
-7
0
-8
0
-19
0
10
18
0
-8
0
31
4
-1
7
0
-9
0
-1
-1
0
0
0
0
0
13
0
-2
2
0
0
0
-80
0
0
0
0
0
0
-13
0
-18
-3
0
27
0
-29
0
4
16
0
0
0
76
0
-22
7
0
1
0
47
0
0
42
0
0
0
28
1
-17
0
0
0
0
-11
2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
40
0
0
0
0
0
0
-59
1
0
0
0
0
0
-18
0
0
0
0
0
0
-7
0
0
-7
0
0
-9
25
0
0
-4
12
0
0
-41
0
0
18
0
0
0
-15
0
0
1
0
0
3
-24
0
0
-4
0
0
0
9
0
0
-7
1
0
0
-34
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
6
0
0
0
0
6
0
0
-5
0
0
5
-6
0
-4
-7
-8
0
0
3
0
0
2
0
0
0
-12
0
-6
3
0
0
0
-38
0
1
7
0
0
0
-49
0
13
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
1
0
9
0
0
1
0
0
0
0
0
0
-24
8
0
-9
22
9
-24
9
0
0
-14
-1
29
-27
-22
0
1
9
25
17
-8
-20
0
-3
-52
8
-53
0
-7
3
1
-62
-18
81
0
39
0
-7
22
23
-109
0
35
0
12
-24
-3
-147
0
-76
0
0
0
0
-1
0
3
0
0
0
-14
2
0
-70
0
18
0
0
-4
0
4
0
0
4
-1
-12
0
-6
0
9
25
-5
-2
1
-54
0
1
3
-23
6
0
16
0
-9
9
0
-2
0
2
0
4
28
-2
-1
0
83
0
-8
0
0
-2
0
-73
0
0
7
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
41
29
66
-2
0
0
-6
6
0
2
43
-28
35
-18
-5
4
-42
-12
27
-55
-40
0
-5
-48
-5
-31
9
-9
-7
-72
-32
-53
-7
-52
15
8
-44
-22
7
12
-22
21
-2
-51
-1
-26
-23
15
36
-42
-50
62
-66
-18
75
0
-48
21
-32
-25
-2
0
11
-69
-5
-1
-40
24
-1
-21
-62
5
10
-8
42
-23
-26
-5
-32
-98
-7
16
-23
-17
12
-34
27
-17
8
-29
6
0
-4
-50
52
44
7
-9
-15
-55
-49
-25
-4
4
-16
0
20
-37
14
14
-1
6
67
-32
-55
-5
-104
31
0
6
3
-56
-4
-7
0
2
-42
13
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
6
0
0
0
0
-55
0
0
0
0
0
0
42
0
0
0
-4
0
0
-35
0
0
1
0
0
2
-43
0
0
31
0
0
0
-23
0
0
57
0
0
0
-11
0
-1
5
0
0
0
109
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
9
0
-3
3
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
1
-2
0
0
0
21
0
5
0
0
0
0
-5
0
13
-6
0
0
0
34
0
0
0
0
0
0
13
0
-2
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
1
0
0
0
0
0
7
0
0
0
0
0
0
59
0
0
0
0
9
0
-19
0
0
0
0
0
0
-4
0
0
7
1
0
-1
14
0
0
5
1
0
13
-4
0
0
9
0
0
0
-41
0
0
43
0
-24
0
3
0
0
0
3
5
0
-41
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
4
0
0
0
2
0
-5
0
0
0
0
-41
0
0
-13
-4
0
0
0
0
0
0
7
0
0
-14
0
0
-30
0
0
0
-8
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
75
58
0
1
0
0
-3
-2
0
0
0
3
-9
-82
0
0
2
-38
48
-2
-32
0
0
40
-5
13
16
-28
0
-41
23
-8
-17
0
3
0
-1
12
31
-21
-2
-43
-4
-13
2
13
31
-3
-61
0
0
-3
0
46
0
8
0
4
0
2
20
0
74
12
0
0
0
-8
0
-15
0
0
0
10
0
2
-47
0
-43
-2
0
7
1
-33
0
-1
-2
-12
-60
0
-18
0
-8
17
0
-1
-1
40
0
8
5
0
-7
0
-94
0
-62
1
23
2
0
44
0
7
30
6
0
0
-1
0
-2
0
0
20
0
9
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
6
6
0
0
0
0
52
0
0
0
0
0
0
2
0
0
-4
0
-21
0
-41
0
0
17
0
7
-4
-12
0
0
6
0
-17
0
-66
0
0
-1
0
-14
0
17
0
0
42
-3
5
0
64
0
5
4
0
-24
0
9
0
0
-22
0
5
0
-32
-1
0
0
0
0
0
46
0
0
0
0
0
0
21
0
6
0
0
10
0
44
0
0
0
0
0
0
-8
0
25
0
0
0
0
22
0
-2
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
-31
0
-13
0
42
0
-8
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
5
0
0
0
0
21
8
0
0
0
0
-3
12
0
-4
6
-2
0
-16
-31
0
0
-14
6
0
4
20
0
8
43
-47
0
7
-12
0
-3
-5
5
0
3
11
0
-7
6
-9
0
10
-15
0
0
5
0
0
0
-13
-1
0
5
1
0
0
-32
0
0
0
0
0
0
48
-14
0
0
5
0
0
42
0
2
0
0
0
0
-36
0
0
2
0
0
-2
64
0
-14
9
-8
0
0
18
0
-1
19
-2
0
0
-5
0
27
-8
5
0
0
-85
0
0
-29
0
0
0
-30
0
-20
0
0
0
0
6
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
13
-10
-3
2
38
5
-15
23
7
-5
-3
47
-12
-6
10
12
-20
17
59
-13
16
-66
-25
-6
-12
-30
-1
13
-57
-23
5
-112
22
41
2
-25
-16
29
18
22
15
16
-99
-33
-26
-29
-21
-43
-1
-80
-21
-10
-61
4
-70
0
13
-10
-80
21
-54
-1
19
-97
-18
-32
-4
15
-21
3
8
-16
2
-27
19
9
6
7
-21
51
37
-24
-31
-3
58
28
11
-6
-31
-13
-36
-76
25
-50
-30
-17
-36
19
-28
-2
-28
-101
-68
-102
13
-20
-2
6
-47
-58
25
3
-13
1
0
-23
-14
-10
0
6
-87
15
-24
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
14
-5
3
4
0
0
39
19
63
-36
-32
0
0
31
4
-31
24
-42
1
-5
-87
68
15
-7
4
0
-3
-6
-8
-71
2
1
10
-20
4
-33
-12
0
45
6
3
-23
3
46
-4
35
-1
9
-8
13
-20
0
7
0
0
0
0
-1
0
-51
-8
6
0
5
0
0
-17
0
7
0
0
0
0
-38
0
0
16
-1
0
-6
24
0
-30
3
-7
0
1
8
-4
-4
-24
15
-2
4
18
0
48
4
0
0
0
-31
0
-1
15
6
0
1
-56
0
7
-5
0
-2
0
15
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-1
0
0
0
0
-37
-3
0
0
24
-42
-1
-11
0
0
8
2
18
-4
11
0
-5
13
47
-8
-2
7
-13
0
19
23
-60
0
-13
9
-3
-25
-8
2
-1
18
0
0
54
-14
52
-7
37
0
0
-5
-2
-81
0
-27
-5
0
25
0
6
1
-52
0
0
0
0
0
2
-15
10
-21
0
0
-5
13
-26
0
-1
-4
0
-7
-1
63
0
9
-8
0
0
0
-35
2
0
12
16
0
0
-25
0
5
-1
0
0
-3
-8
-4
7
19
-5
0
0
-9
0
4
0
0
-6
0
47
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
12
0
16
0
0
8
0
0
0
16
0
0
0
0
0
0
5
0
0
-2
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-21
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
-2
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-42
0
0
12
0
5
0
-49
0
0
-2
0
4
8
-41
0
0
19
0
0
0
-31
0
0
5
0
-20
0
-6
0
0
-31
3
0
0
21
0
0
13
0
-8
0
-1
0
0
0
0
4
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
3
0
0
0
0
42
0
0
0
0
0
0
3
0
8
0
0
0
0
10
0
0
0
0
0
0
-29
0
16
0
0
0
0
-28
0
0
41
0
-2
0
46
0
1
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
19
0
0
0
0
0
0
44
0
0
0
0
0
0
-3
0
0
2
0
0
0
40
0
0
-4
0
0
0
13
0
0
-1
-1
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
-4
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-49
0
0
0
0
0
3
51
0
0
-1
0
0
0
-12
0
0
0
0
0
0
56
0
0
1
0
0
0
13
0
0
0
0
0
0
18
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
1
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-11
5
77
17
-64
-56
-11
9
-16
-95
5
0
-8
-1
7
-80
-39
36
-37
-57
49
26
-24
18
35
-46
-11
32
2
33
33
-15
-3
2
2
11
24
11
17
10
-9
30
1
-42
1
-20
-62
-17
-1
15
72
-21
32
-66
-31
-1
0
-13
4
0
38
0
21
-13
-45
21
30
21
57
-23
13
4
65
-19
-123
21
-15
8
-8
-3
40
-1
-53
-13
11
49
-40
-52
-110
-57
55
50
1
10
87
102
-108
43
6
-10
-33
-42
-13
-61
9
3
-61
7
21
-29
-16
2
23
22
-17
34
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-46
0
0
-6
7
10
0
-8
0
0
2
0
6
6
-89
0
3
24
-5
2
4
15
0
0
-52
-1
26
0
5
0
7
-31
0
-3
0
15
0
3
2
0
14
0
-47
0
0
0
0
-4
0
-118
0
1
0
2
-6
0
-24
0
0
0
0
0
0
23
0
-8
0
0
0
0
49
0
0
0
0
0
0
-31
0
28
5
0
8
0
-2
0
0
-9
-1
-3
0
-113
0
-2
-1
0
-1
0
-12
0
0
0
0
0
5
10
0
-23
0
6
4
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
-6
0
0
0
79
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
-7
0
0
-4
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-2
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
39
0
0
-1
3
0
0
8
0
0
0
0
-5
0
-3
0
0
0
0
13
0
38
0
0
0
0
0
0
17
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
-1
0
0
0
-13
0
0
0
0
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
9
0
0
0
-80
0
0
0
0
-4
-1
7
0
0
-9
-3
0
0
-66
0
-4
13
0
64
0
5
0
0
9
0
0
0
45
0
0
0
0
13
0
25
0
0
0
0
-27
0
-3
0
0
0
0
0
0
-29
0
0
0
0
0
0
-39
0
0
2
0
0
0
-22
0
0
0
0
5
0
8
0
1
-4
0
0
0
-46
0
0
8
0
0
0
-37
0
5
-2
0
0
0
-43
0
0
-2
0
0
0
-10
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
-5
0
8
-2
0
0
0
-49
0
0
-20
0
0
-5
-8
0
0
2
19
0
12
33
0
0
29
24
0
0
29
0
0
22
14
0
0
-7
0
0
-4
0
0
0
-20
0
0
0
0
0
0
-30
7
0
0
0
0
0
8
0
16
0
0
0
0
21
0
-4
20
12
0
0
-42
0
2
2
0
0
0
13
0
-1
28
-4
0
0
7
0
-1
0
0
0
0
-29
0
4
-3
0
0
0
-68
0
1
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
40
0
-4
-23
-10
0
-5
-66
0
2
27
0
-3
-1
79
0
1
96
-1
5
0
-15
0
-2
-5
0
48
0
-71
1
0
4
0
18
0
38
0
0
0
0
0
0
-2
-8
0
0
4
0
0
11
0
40
0
0
0
0
-67
0
0
14
0
0
0
-5
0
15
1
4
0
2
32
0
0
12
-8
0
0
48
0
10
-25
0
0
0
-133
0
0
0
0
-8
0
-26
0
5
0
0
-1
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-4
-6
2
77
34
15
-122
37
13
-30
-50
-37
-12
64
40
-42
-36
3
1
-43
11
-21
-25
-59
-13
-58
-17
-47
9
17
1
-6
-29
-42
36
30
21
7
-47
-23
5
0
6
-29
-8
2
14
-5
-2
-7
-71
5
5
21
-3
48
0
41
-11
-44
34
4
-50
27
-1
103
-2
14
-18
-68
-8
6
14
6
-30
-41
-57
40
-6
-9
-52
-2
-62
16
0
-5
-44
-48
-27
-7
-4
10
-73
68
37
8
-57
8
10
27
22
20
-13
48
1
64
-14
17
23
-16
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-38
0
0
0
0
0
0
-18
0
0
0
0
0
0
-17
0
0
3
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
0
0
0
0
-8
0
1
0
0
0
0
-13
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
-4
0
0
0
0
-2
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-67
0
0
2
0
0
-1
-9
0
0
-1
1
-1
0
47
-1
0
13
0
3
6
0
0
0
-1
0
0
0
12
0
0
2
0
7
0
4
0
0
0
0
30
0
13
0
0
0
0
-2
2
-3
0
0
0
0
0
0
1
0
0
-2
0
0
3
9
0
0
3
0
-12
0
6
0
5
0
0
0
0
-20
0
0
0
0
0
0
-15
0
0
-1
0
0
0
-9
0
-3
0
0
0
0
-12
0
5
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
-41
0
-4
-5
0
22
15
43
0
8
-5
72
24
-14
68
0
45
-36
-20
60
2
36
-6
8
0
-40
-9
10
-78
2
-3
-24
0
26
-1
-28
-5
0
-1
-42
28
0
-15
-1
0
0
0
6
0
-19
0
0
0
-5
0
0
-13
10
68
0
-3
5
0
37
0
2
0
0
-3
4
29
0
26
-20
0
-3
0
-29
0
1
20
2
22
0
-42
-2
-73
63
-6
0
9
37
2
2
-2
0
-2
-1
13
0
44
9
-1
24
0
-59
-10
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-46
0
0
75
0
15
90
57
0
-14
86
0
0
31
-38
0
1
-27
13
-59
-2
22
0
22
34
0
2
10
-7
-8
0
16
1
64
0
-24
-7
4
34
0
-5
0
28
0
-8
0
0
6
0
-29
-3
0
0
0
-2
-5
-37
0
-30
2
0
-2
0
25
0
3
24
0
0
0
-40
0
7
-21
0
0
-2
70
0
-4
-20
4
2
0
-53
0
-50
7
0
-1
0
82
2
8
-39
0
-1
0
1
0
-31
-1
0
-10
0
-42
9
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
30
0
0
42
-5
0
52
-74
-5
31
-23
22
0
21
-37
7
48
18
-40
0
34
5
3
-10
48
-20
0
-41
7
5
18
5
21
0
50
-12
-3
7
44
-13
0
0
12
4
0
-3
5
0
0
-28
-19
0
0
1
0
0
-23
0
54
-31
0
0
0
19
0
0
60
-8
0
3
25
0
-50
-5
-32
0
4
-1
13
-1
28
10
0
6
138
0
-67
57
-43
0
0
60
0
-5
79
25
0
0
-31
0
27
-73
0
0
0
60
3
0
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-34
3
4
-3
30
9
76
-27
-2
4
-7
8
-3
41
29
0
8
-74
-37
1
0
21
0
1
-13
0
-34
0
-68
0
0
29
-27
-17
0
-39
0
0
0
2
8
0
47
25
0
-1
2
0
0
43
0
-26
0
0
-1
0
-4
4
-2
39
1
5
0
-15
0
-23
76
0
0
0
5
0
-2
-84
12
0
0
-18
0
67
16
0
0
0
-30
2
1
3
12
0
0
-2
0
15
0
0
-13
0
-13
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
2
-4
-27
7
0
-8
49
8
3
43
-6
-15
-12
27
34
-63
-39
23
28
-10
-9
10
-47
-8
1
-32
1
12
-6
75
-19
29
16
-2
-5
-6
6
-27
55
10
-19
13
1
-38
-13
14
-47
-59
-19
30
-59
11
-24
-5
40
-13
0
-19
46
-48
76
13
-102
26
10
4
55
10
35
60
19
-83
3
-3
47
49
-3
8
-6
0
-13
-75
-5
-42
31
-8
-49
25
1
33
13
8
91
20
-1
-51
-24
-12
27
3
-40
-9
66
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-12
0
0
0
-18
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
61
0
0
-6
25
0
0
-20
0
0
32
7
9
0
49
0
2
5
1
-1
2
20
0
0
32
0
0
1
0
0
0
0
0
-2
0
-48
0
0
0
0
0
0
-23
0
0
0
2
0
0
-6
0
4
0
0
0
0
-34
0
0
0
0
0
0
-27
0
18
6
1
0
0
-3
0
0
5
23
0
0
-66
0
18
-17
3
0
0
-13
0
0
0
0
0
0
-34
0
-7
0
0
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
32
-2
10
-14
9
-3
-43
22
-1
-58
-60
-26
55
5
36
6
-41
-57
-25
-42
60
20
0
4
26
1
40
-5
-68
0
3
-18
22
51
0
-10
-1
0
0
7
-5
0
26
29
8
0
-13
0
0
66
1
-22
0
0
8
0
1
0
0
-21
24
3
-1
-12
0
-51
-41
13
0
0
21
0
-18
-57
-6
0
-33
41
-7
42
8
8
0
1
30
0
-1
-6
-1
-16
0
-62
0
-40
0
1
-10
0
-37
-25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
49
0
19
-34
0
0
0
-57
0
-5
-5
0
-2
0
-52
0
3
13
0
-12
0
-75
0
0
25
0
-5
0
-8
0
0
0
0
40
0
25
0
0
0
0
18
0
-9
0
0
0
0
0
0
3
0
-1
0
0
-6
0
-4
0
0
9
0
0
0
-1
0
-6
0
0
0
0
31
0
0
3
0
0
0
27
0
-2
10
0
0
0
-31
0
0
-1
0
0
0
-2
0
5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-27
2
-27
-7
23
0
-6
-37
0
7
28
-75
0
-8
-22
0
37
6
27
0
21
11
6
1
25
2
0
1
-2
0
0
3
0
0
0
-6
-1
2
-2
5
0
0
-15
27
0
0
-7
0
-3
30
0
-4
2
13
0
0
-4
0
0
-49
16
0
8
-31
0
-51
92
-42
0
2
-27
0
-4
32
-24
0
-4
-27
0
-22
82
-22
0
0
31
-14
5
81
0
0
0
-71
0
-13
16
0
0
0
27
-21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-72
0
-4
-45
-20
6
5
-38
3
54
-42
-54
22
-3
-23
4
0
-11
-4
-43
0
38
0
21
48
15
-57
0
2
-2
0
0
0
0
0
-27
-9
0
0
-7
0
0
54
0
-43
10
0
9
-6
-34
0
8
-9
-1
4
0
33
0
-27
7
6
0
0
39
0
1
41
-15
0
0
-13
0
20
20
5
0
0
-3
0
-15
30
-13
0
0
40
7
-84
8
0
-1
0
28
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-37
-66
-18
-5
-8
-47
4
26
-28
0
-16
-65
33
3
-5
60
3
13
-35
13
-46
-15
-73
-21
5
-14
-7
20
-50
-48
5
-93
-13
13
25
-27
15
51
-66
6
-35
-9
-7
-42
-45
9
-82
79
20
-1
-44
-17
-49
-25
34
0
-7
-9
16
69
7
-5
-2
12
-20
36
0
34
38
-27
4
18
43
39
-31
-3
21
-33
-84
-30
-63
-72
7
-25
1
-20
-7
-2
-48
6
5
63
30
30
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
0
0
0
0
-4
-1
9
0
2
4
0
0
0
4
0
-6
0
0
0
0
17
0
0
0
0
-2
0
-51
0
0
0
0
0
0
46
2
0
0
0
0
0
-46
0
1
0
0
0
0
-8
0
-2
0
0
0
0
1
0
0
0
0
0
0
-3
0
-6
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
-25
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
27
34
0
69
-25
14
6
-10
0
-13
21
7
2
-1
-120
0
7
-14
0
-19
13
-51
0
0
6
0
0
0
27
0
0
0
0
0
0
45
0
0
0
5
0
0
60
4
-1
0
1
0
0
-95
0
-2
6
0
3
6
-15
0
41
0
0
0
-2
-4
-3
-1
-1
-4
1
0
-25
0
38
19
0
0
0
-53
0
0
-13
0
5
0
28
0
51
0
0
-1
0
24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
-23
-78
-12
-100
10
14
-2
-1
66
-14
4
33
-22
-4
-7
44
-31
10
-10
5
-37
41
4
-109
32
35
0
5
-32
-4
0
-5
-14
0
24
40
0
0
56
0
2
5
8
-26
0
-6
19
-5
-16
0
51
-12
22
10
-35
64
-9
-31
105
0
-1
-24
-34
-14
-30
-61
-45
2
0
-40
-1
-24
-121
4
0
27
-45
31
37
54
-50
25
3
-41
13
19
12
-23
-54
0
-42
-85
9
2
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
4
0
2
-40
45
20
-50
42
0
42
40
16
50
-25
-60
0
13
-14
0
-31
-2
22
-2
0
0
0
-35
0
-16
3
0
0
-5
22
0
-82
16
0
0
0
0
-2
53
0
-50
-1
0
66
-5
-16
8
-31
-1
0
17
43
-12
0
-39
-94
-9
0
0
-24
0
9
63
0
26
-9
-14
5
17
2
0
-8
0
-11
-3
-17
16
0
38
-4
-31
0
41
8
0
63
0
-81
-34
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
51
0
-5
1
49
0
0
11
0
2
-20
69
0
0
-38
0
-3
7
-10
0
5
11
0
0
-56
-5
0
0
10
0
0
0
-1
0
0
-23
-5
0
0
9
0
13
31
0
-13
0
-1
0
0
12
0
0
8
-3
0
-14
-82
0
-56
-16
0
0
4
-24
0
-2
40
30
0
0
24
0
-24
0
0
0
-2
12
4
5
-31
5
0
0
-50
0
98
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-24
-8
13
-3
1
13
0
29
-12
0
-5
0
-92
8
0
-6
5
14
0
-33
0
0
0
0
-1
0
-52
-4
2
0
-7
0
0
0
0
-30
7
0
0
-18
32
0
-6
-9
8
0
-8
46
0
3
34
0
0
0
-48
0
28
-31
5
0
0
65
1
40
16
0
0
0
-49
1
24
-1
-6
0
0
5
0
-42
-5
0
-6
0
17
-12
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
5
11
20
-10
-14
3
14
17
-77
85
-30
-50
-38
-35
10
-72
42
-16
42
-12
-1
-3
-53
43
0
21
-10
21
-13
-29
4
14
-50
9
77
-4
-7
-33
24
-9
-2
92
8
-3
21
-61
37
-20
-59
5
16
-23
-13
-33
-40
-12
0
-25
-78
31
-39
-6
62
2
9
-24
-37
-5
-51
30
34
-41
47
45
57
-69
43
-21
-6
-15
-13
8
-8
-2
7
60
28
-41
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
0
-2
-1
0
0
-12
-33
0
0
3
0
-1
0
-53
0
-2
5
0
5
0
-37
12
0
0
0
0
0
1
0
0
0
2
0
0
-22
0
-3
0
0
0
0
-48
0
0
-2
0
0
-4
8
0
12
0
0
0
0
0
0
0
-1
0
0
0
-23
0
18
0
0
0
0
-56
0
0
-3
0
0
0
25
0
-8
0
0
2
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-52
0
19
-50
-2
-5
-2
-64
1
0
-19
0
-16
4
20
-1
2
-2
-1
-6
0
-34
5
0
0
3
-3
0
44
0
0
0
-8
0
0
-31
0
27
4
0
0
0
36
0
12
-10
-2
13
1
-4
1
42
0
2
0
6
-30
0
0
6
0
-2
-2
45
0
-55
9
0
0
3
-47
-10
0
0
2
0
0
0
0
-3
-1
0
8
0
-53
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
34
1
3
15
-57
47
-36
-15
-7
13
17
-2
2
9
-18
34
-24
45
-33
33
0
7
-2
-4
1
-3
-9
0
23
-16
0
7
-10
0
0
39
-4
-4
7
-5
7
3
-18
1
-17
75
-1
41
-1
8
0
-19
52
-7
27
4
-10
-2
-2
41
32
-3
7
4
1
-52
13
-13
-2
-5
-49
-7
7
-32
53
27
0
-30
0
48
-27
0
41
0
31
13
16
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-16
7
4
7
7
48
6
-45
0
0
-20
0
70
-1
-22
4
0
53
0
-33
0
-109
1
0
0
0
49
0
-5
17
0
0
0
-9
0
41
0
-16
-16
0
-34
0
-6
0
4
77
-1
7
0
-13
0
-16
20
0
-2
0
-1
0
0
-84
1
2
0
-36
0
-33
-2
0
-2
0
-6
0
-4
-49
0
-8
0
-47
0
138
0
0
-7
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-58
-6
-9
51
28
0
0
-30
0
-17
-72
-9
0
0
30
0
0
32
14
0
1
-2
17
0
0
-1
0
0
-22
-4
0
0
5
0
0
22
0
-44
-4
0
0
5
-30
0
0
76
88
0
3
5
15
-42
5
7
0
0
53
-2
12
19
-64
1
0
-60
0
18
-9
-22
0
0
31
0
-3
47
2
0
0
6
0
-97
7
0
0
0
59
10
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
3
18
-1
23
0
-24
-25
2
2
0
55
0
48
0
0
0
0
0
0
-96
-1
0
0
0
0
0
36
0
-47
-3
0
0
1
-12
-2
-8
67
25
0
-4
36
0
13
27
3
0
0
-28
0
1
-97
-15
0
0
-24
0
-53
-1
0
0
0
-18
-13
0
6
0
8
0
16
0
30
1
-8
7
0
-39
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
18
-69
5
33
10
-69
-17
14
44
10
-22
50
-40
-3
3
-21
-24
9
-22
-52
-4
30
-47
20
2
-29
44
-36
-5
-25
12
-3
22
13
15
18
24
-30
-59
-37
19
42
14
-55
19
-22
-4
-85
9
29
-26
-8
-23
-48
-25
-98
0
-2
10
9
45
46
-7
17
-5
21
22
-69
-76
5
23
16
-64
-50
13
-28
-8
7
-30
-48
18
-32
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
12
0
-4
0
8
0
0
0
0
-5
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
0
0
0
-50
0
0
0
0
0
0
7
0
0
0
-4
0
0
1
0
0
-4
0
0
0
0
0
52
0
0
0
0
-53
0
1
0
0
0
0
-33
0
1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
87
6
23
-13
-2
14
-3
13
0
0
0
22
29
0
-66
0
0
0
0
7
0
13
-21
0
0
0
0
0
68
-3
-8
-4
0
3
5
-54
0
0
13
8
1
0
-82
0
88
-31
0
0
-4
-41
0
0
-13
-6
0
0
5
0
-22
-3
0
0
7
9
-9
-1
0
8
-1
8
42
5
23
-7
0
-44
0
-44
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
-7
12
55
-27
37
39
-33
-9
17
3
-139
5
0
2
5
-6
0
-20
-24
0
-22
-38
0
0
16
14
82
0
6
16
-21
-13
31
-21
-14
0
-13
-55
-35
0
41
-18
-7
18
107
-7
-1
-5
39
-6
-79
80
33
-15
0
47
8
49
-115
-43
1
0
6
-8
23
-18
12
-27
-8
-32
25
28
2
-4
10
0
-74
-55
7
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-44
0
-2
48
0
-64
0
-13
0
2
-9
0
-31
0
17
0
0
0
0
30
0
45
-3
0
0
0
0
0
4
-1
25
0
0
-30
0
-51
0
-3
-28
0
4
5
-6
0
-146
78
0
0
-5
-14
0
-2
-54
0
-6
10
52
-1
-25
76
0
0
-4
-10
-5
8
-17
0
13
2
35
0
-31
-2
0
-25
0
30
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
1
5
0
0
-15
0
0
25
35
0
0
-82
-12
0
0
34
0
0
12
0
0
0
3
0
0
-75
0
-31
0
0
0
2
-55
0
5
0
59
0
0
-53
0
-7
5
6
0
1
43
0
30
10
41
0
5
-105
0
-107
-2
5
0
0
35
0
0
-5
-3
0
0
8
0
69
0
0
0
0
-96
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-1
1
5
-1
13
0
-21
-10
0
0
0
0
0
49
2
0
0
5
0
0
25
0
-19
3
-1
0
0
35
0
2
10
0
0
-3
-33
0
58
17
0
-2
0
-36
0
-2
31
-18
0
0
-30
0
6
-3
0
0
0
-29
0
-12
-9
0
0
0
13
0
-8
0
0
5
0
8
1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
4
-1
-58
24
-85
3
25
3
-42
-40
-8
-97
-60
24
8
-30
14
-21
47
13
33
-3
-49
-29
-58
23
-16
31
-28
-16
-3
-7
-42
-54
84
13
-58
4
29
-45
-49
-7
-8
15
-45
-25
5
-46
58
38
-14
11
-55
-1
35
43
0
-22
68
59
41
99
37
-14
25
5
-89
-22
0
0
26
-4
-20
-15
4
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-2
0
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
4
0
0
0
0
0
0
-24
0
7
0
0
0
0
0
0
0
2
0
0
0
20
0
0
0
0
0
0
-6
0
-3
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
8
-2
78
0
-3
0
0
0
5
0
0
47
0
0
0
0
0
0
-18
0
-30
0
0
-4
0
23
0
0
0
-2
0
0
76
0
-8
2
0
0
0
-9
0
1
0
0
0
0
19
0
-31
-5
-4
0
0
8
0
5
-4
-5
0
0
-31
0
23
0
0
4
0
65
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
0
4
0
-8
24
0
6
-10
0
0
-3
0
0
62
0
0
0
-8
0
0
-49
0
0
-15
0
0
1
-33
0
-5
20
-42
-12
1
-52
0
-5
64
19
0
-1
-31
0
-21
-2
23
-32
0
42
0
-26
1
0
0
0
31
-12
-12
-5
-1
0
0
-22
0
-42
-4
0
43
0
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
-7
0
-29
0
0
0
0
-9
0
-44
0
0
0
0
0
0
6
0
-4
0
0
0
0
0
0
0
2
0
0
0
3
0
0
9
0
0
0
-14
0
-2
0
0
4
0
0
0
-8
3
0
0
0
-18
0
0
-3
0
0
0
20
0
5
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
-24
-13
0
0
-49
3
0
5
-1
0
0
-4
3
0
0
-12
0
0
51
0
-27
-10
0
0
-1
22
0
1
23
-90
0
-7
58
0
-8
76
13
0
5
62
0
-7
58
-35
0
-4
1
0
-1
-34
3
0
-1
51
0
-6
11
22
0
0
-67
19
-19
17
0
0
0
50
9
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-6
0
0
-3
0
0
39
0
0
0
0
0
0
9
0
0
0
0
0
0
59
0
0
10
0
0
0
14
0
-1
0
0
0
0
6
0
0
8
1
0
0
5
0
0
0
0
0
0
21
0
0
-8
0
0
0
-26
0
-2
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-19
-90
6
3
-3
16
0
11
-12
6
-7
-45
-3
61
-9
-3
6
13
4
-61
69
5
-8
48
78
-33
-60
34
-12
-6
-36
40
50
24
-8
10
-6
-116
-87
-33
-30
1
-41
4
-98
15
-44
-45
-3
32
0
20
-37
-66
-51
-12
0
42
-9
1
3
-3
-2
15
6
-5
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
0
0
0
0
0
0
45
4
0
0
0
0
0
13
0
3
0
0
0
0
-8
0
0
14
0
0
0
14
0
2
0
0
0
0
-3
0
0
5
0
0
0
-6
0
0
3
0
0
0
3
0
0
-2
0
0
0
2
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
51
5
0
0
3
0
0
18
0
6
0
0
1
0
42
0
0
0
0
6
2
-22
0
7
0
0
0
0
6
0
0
0
8
0
0
-16
0
-4
14
0
0
0
18
0
8
0
0
0
0
13
0
15
0
0
-10
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
0
0
0
0
0
19
0
0
0
-2
0
0
20
0
8
0
0
7
-5
-76
1
0
-4
-5
-6
5
21
0
22
1
-16
0
0
-80
0
10
-8
-30
19
0
50
0
-41
1
10
0
0
-29
-1
-8
0
0
0
0
33
-8
39
0
2
-10
0
-45
3
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-4
0
0
1
0
0
0
-29
0
1
0
0
0
1
-16
0
0
-1
0
0
0
-31
0
19
1
3
0
8
16
0
-4
24
0
0
0
-12
0
63
-6
0
0
0
-46
0
0
-5
0
9
0
4
0
7
4
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
22
-1
22
-2
0
0
11
7
0
13
-37
0
13
20
0
82
52
-16
0
5
-6
-6
-20
-31
40
0
5
1
0
67
36
49
0
-13
-22
0
-33
14
-67
0
59
33
0
42
5
-69
0
18
22
-3
-22
-76
-101
0
0
-39
-8
-162
-14
-5
0
0
17
-86
-3
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
13
-13
-13
17
51
25
-88
23
1
-43
-25
-68
16
14
10
-13
-82
-25
1
-36
29
17
-25
-13
49
48
25
-51
-24
31
63
-10
10
-59
-5
15
15
-5
-9
31
65
-9
-9
50
-42
-8
39
-84
-73
9
-8
-25
-5
-25
-30
3
0
0
-3
0
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-9
0
-1
0
0
8
0
-31
0
0
0
0
0
0
-66
0
-6
0
4
0
0
42
0
0
0
4
0
0
34
0
15
0
-5
0
0
21
0
-6
0
0
0
0
9
0
-1
0
0
16
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
23
0
0
0
0
-1
0
0
-2
0
0
0
4
0
12
0
0
0
0
-7
0
0
22
0
0
0
-4
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
1
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-22
0
73
0
0
0
0
12
0
1
0
0
4
0
-13
0
-7
0
0
0
0
0
0
0
-4
0
0
0
24
0
-10
4
0
0
0
-31
0
0
13
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
0
0
0
0
0
10
0
2
0
8
0
0
-41
0
0
4
-14
0
0
-8
0
18
9
12
0
0
30
5
0
0
-32
0
0
28
0
50
-1
5
0
0
46
0
-3
9
3
0
0
39
0
72
0
0
0
0
31
39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
4
38
8
-5
-7
31
-15
8
20
2
-41
-58
83
12
1
1
-54
17
37
24
-10
-5
-55
2
-49
41
18
51
-3
-62
-39
-4
16
-23
19
2
44
-36
43
-6
0
23
8
-12
58
6
-36
0
1
14
-4
18
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-6
0
0
-3
40
0
1
10
-9
0
0
-75
0
-42
-6
0
0
0
-25
0
0
3
0
0
0
18
0
-2
2
0
-5
0
-126
0
0
-7
0
-5
0
28
0
47
0
0
-6
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
1
6
0
0
0
7
0
0
-3
8
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
52
0
0
0
0
18
0
-8
-6
0
-5
-2
4
0
28
-3
0
-10
0
-13
0
0
8
0
0
0
-22
0
-50
-1
0
0
0
-31
0
1
0
0
0
0
58
0
1
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-16
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
1
0
0
0
-2
0
0
0
0
0
0
-25
0
1
-8
0
0
0
18
0
3
-1
0
0
0
1
0
0
0
0
0
0
69
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
28
7
-31
-67
-50
95
7
23
20
31
61
-71
-46
-31
21
-8
22
-48
-11
59
50
14
-4
23
2
5
5
54
2
-21
-72
85
15
-65
9
-16
2
-31
40
19
-23
0
40
10
17
5
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-9
4
-31
-31
1
25
-5
0
2
26
-3
-3
2
-65
1
6
10
21
10
4
3
0
-73
-8
-2
-5
0
-142
0
-1
86
-4
-48
0
5
5
23
-24
-2
97
0
-28
34
-1
7
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-27
0
-9
0
-2
0
0
-44
0
0
3
0
0
0
13
0
49
0
0
0
0
-102
0
0
0
0
0
0
-14
0
3
0
0
10
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
3
0
0
0
0
0
1
0
0
0
0
14
0
0
-20
0
0
0
7
0
4
0
0
0
0
-28
0
0
1
0
0
0
29
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
-8
0
0
0
5
0
33
-3
-6
0
0
-1
0
0
-8
0
0
0
-5
0
31
0
0
0
0
-64
0
0
0
0
0
0
64
0
-8
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
9
2
0
0
0
-9
0
2
2
-1
0
0
-31
0
15
1
0
0
0
76
0
0
0
0
0
0
14
0
2
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
59
-6
11
-29
12
10
94
25
19
34
-18
32
-23
71
6
-18
12
-49
-20
53
-4
4
-11
-27
3
-32
-1
-9
11
-7
12
22
37
-70
0
17
-21
0
39
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
-6
0
0
0
59
0
0
6
0
0
-1
41
0
6
-4
0
0
0
-50
0
0
-3
0
0
0
-5
0
18
0
0
0
0
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-53
0
73
-5
-13
-6
0
-33
0
0
0
5
0
-25
-26
0
-93
19
6
0
0
-80
-1
-18
3
-1
0
1
68
0
28
-4
0
17
0
-82
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
-10
-69
10
0
0
-117
0
0
6
0
8
0
22
0
49
15
0
0
0
-59
0
-3
-9
0
-2
0
-6
0
-35
0
0
-1
0
-57
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
16
0
0
0
0
0
0
8
-3
0
0
0
-5
0
5
24
0
0
0
-22
0
-5
23
0
0
0
16
0
-5
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
-9
0
0
0
-76
0
42
0
0
0
0
-13
0
0
-3
0
0
0
-7
0
22
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
18
54
17
-64
-1
31
-18
8
-9
0
13
-25
42
43
23
34
-21
28
19
4
5
2
-134
14
-4
-31
0
9
-5
-17
-3
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
9
0
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-10
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
24
41
-19
-4
68
-62
-1
188
-13
-10
0
-1
-75
0
0
-6
-57
-25
0
24
0
-29
49
0
-74
0
13
25
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
-13
-5
31
7
0
-60
0
-72
-8
-1
2
0
-54
0
0
-1
12
-3
0
37
0
42
0
0
-1
0
-120
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
2
0
0
0
-23
0
5
22
0
0
0
27
0
0
2
0
8
0
-6
0
23
0
0
-1
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
7
0
0
5
0
-8
-2
0
0
0
40
0
0
1
8
0
0
-12
0
13
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
1
-13
0
0
0
-26
0
4
0
0
0
0
13
0
-5
0
0
0
0
-51
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
2
8
-16
52
1
-22
49
3
-18
-56
-15
-48
0
29
2
5
-10
0
25
0
16
-43
-5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
29
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
75
-13
-6
7
0
8
-1
7
-5
0
-1
0
14
0
25
0
0
-13
0
-16
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-47
-1
11
7
0
-2
1
33
0
10
-8
-3
-6
0
-5
0
32
0
-1
-21
0
-54
47
4
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
49
-20
0
0
-2
46
0
3
-31
-1
-5
0
6
0
1
0
0
-75
0
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-27
-8
-3
0
0
4
0
0
8
0
0
0
47
0
5
0
0
0
0
43
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
11
10
-81
2
57
22
16
-19
0
-94
29
16
-29
0
-17
69
22
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
26
1
-16
55
-23
-67
0
-49
0
80
19
0
-42
0
12
40
0
-6
17
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-4
-8
-6
0
-1
46
0
-21
0
0
-8
0
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-9
25
0
0
0
39
0
-2
0
0
17
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-32
0
4
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
16
13
2
-13
-7
35
-2
-8
-35
-13
-3
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
33
5
0
-2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
0
1
0
0
-25
0
-16
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
0
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
-12
0
0
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-51
15
20
-39
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
2
0
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
24
0
0
-14
0
0
0
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
-5
0
0
0
0
0
-54
7
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
-1
0
0
0
-1
0
-3
0
0
0
0
17
0
0
0
0
0
0
-17
0
0
0
0
0
0
-17
-3
0
4
0
0
0
51
0
0
2
0
0
0
-21
0
0
0
0
0
0
21
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
-9
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
15
0
0
8
0
0
0
16
0
0
1
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-12
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
25
0
0
-33
0
0
0
0
0
0
0
-8
0
0
3
0
0
0
-13
0
0
0
0
0
0
0
0
-5
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
20
0
0
0
0
0
17
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-34
9
61
9
-16
-13
-14
6
-3
29
90
1
44
11
-6
25
24
-15
-56
3
32
-23
-8
-3
66
-44
85
3
-51
-22
-25
-25
-49
37
-50
-62
-36
-40
-43
-17
-28
-8
-21
-11
-26
-5
-9
-21
-35
-4
-1
-19
1
-4
-25
44
44
27
-51
-75
-80
9
-5
21
30
118
140
0
-7
-45
28
-15
129
31
24
54
-45
34
-14
-46
52
31
-23
-3
4
12
-7
22
15
-44
3
-31
-52
107
6
-30
-41
11
-46
85
29
-15
-28
-17
-14
-9
-18
-27
6
52
-28
-4
-5
-29
10
-13
-25
-9
-5
0
0
0
0
0
0
0
-15
20
9
13
2
-35
51
-5
13
23
31
20
9
66
47
-6
89
40
-4
-40
-16
-31
-9
49
-25
25
-4
45
-6
20
-26
9
-8
-22
37
-9
3
6
26
-16
-28
4
36
8
-25
30
-54
19
-12
-2
10
6
3
-5
-10
-19
-33
-39
-10
-84
14
-15
-5
-33
-19
-80
18
-1
-42
12
82
24
42
43
33
21
-36
-4
5
-25
2
41
-19
67
-1
8
7
-3
15
70
81
-29
6
-31
38
73
-14
44
-1
16
53
-3
11
55
10
-6
-3
17
3
-41
-36
-2
2
-8
14
29
-14
-27
-37
9
2
-84
-78
-63
27
-5
5
-47
30
-19
8
88
26
25
-17
-4
-29
-15
21
-16
-21
-4
46
-7
48
80
84
52
-8
-22
23
-28
34
53
31
14
-28
-21
-58
9
124
-66
10
6
24
73
-8
-44
56
-21
32
17
12
36
33
-27
6
26
1
-9
31
-18
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
46
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-14
0
0
0
0
0
0
33
2
0
0
0
0
0
14
9
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
3
8
0
1
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
82
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
52
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
14
0
0
0
0
0
49
3
0
0
-1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-6
0
-1
0
0
23
0
0
0
0
0
0
22
0
0
0
0
0
0
-7
1
0
-5
0
0
0
23
0
0
4
0
0
0
75
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
0
-5
0
0
0
1
0
2
2
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
19
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
1
4
0
0
21
-2
-5
0
127
0
0
10
-2
0
0
-1
0
0
-2
0
0
0
0
0
0
0
3
0
0
5
0
0
16
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
0
0
-47
0
0
-16
41
0
62
-12
0
0
-10
-29
0
0
1
0
0
1
51
0
0
0
3
0
0
-44
0
0
-5
0
0
0
-7
0
15
0
0
0
0
-8
0
0
1
0
0
0
14
3
0
0
0
0
0
90
-1
0
-1
0
0
-2
18
0
0
-7
0
0
0
-62
0
0
-8
0
0
6
-3
0
0
4
0
0
0
-49
0
0
7
0
0
-1
7
0
0
0
7
0
0
-141
0
0
0
0
0
0
55
0
0
0
0
0
0
-6
0
0
0
0
0
0
-73
0
0
0
0
0
0
-54
0
6
-8
0
0
0
50
0
-1
0
0
0
0
-47
0
-9
12
0
0
0
19
0
0
0
0
0
0
6
0
-6
0
0
0
0
15
0
0
0
0
0
0
22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
-1
0
6
0
0
0
8
-1
0
0
0
0
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
6
0
8
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
2
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
7
0
0
0
0
0
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
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
28
0
0
-4
0
0
5
-1
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
7
-9
0
0
14
0
0
-4
-1
0
31
-3
0
0
1
-6
0
0
0
0
0
0
23
0
0
-1
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
42
0
0
0
0
0
0
31
1
0
0
0
0
1
64
1
0
0
0
0
0
-9
0
0
3
0
0
0
-17
0
0
0
0
0
-6
8
0
0
0
0
0
0
21
0
0
2
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
44
0
0
0
0
0
0
5
0
-5
0
0
0
0
14
0
0
0
0
0
0
4
0
-5
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
33
3
87
77
46
40
-3
83
30
9
65
5
9
-25
-30
9
11
49
-2
-41
-45
-28
-5
-7
71
1
35
-35
9
-50
17
26
61
38
-9
-1
-10
6
-8
0
41
0
-2
5
2
-3
-14
-33
15
53
-19
-68
3
-15
-9
59
-67
52
16
40
-36
8
25
45
29
42
24
36
-10
16
-58
64
-14
56
1
-39
33
-14
42
16
30
-16
-42
48
-10
21
4
-2
33
17
36
-49
8
10
29
3
-12
39
-25
-5
-4
22
-1
6
0
26
5
0
0
50
8
0
0
0
0
0
0
0
-8
33
52
43
-10
18
133
36
-4
39
33
33
-11
58
40
31
101
-45
-13
2
-11
6
6
-33
-34
52
-46
4
-22
20
-31
34
8
41
31
-55
32
-42
-6
-22
-31
16
13
13
40
-7
2
24
4
-3
3
4
-4
1
8
70
50
-24
-61
-47
-64
-5
23
37
1
2
2
20
23
-55
-12
31
41
-24
-4
92
-24
-37
9
42
29
-51
33
-3
-1
-20
76
-40
23
-25
10
14
8
17
22
-20
40
53
22
9
-43
46
-27
25
49
-22
-11
-15
1
31
23
-3
0
-8
-37
0
-6
53
-39
-59
2
-42
-5
-19
-91
-1
-38
-10
-26
13
-43
40
6
-69
16
-26
60
4
49
-33
70
-1
-3
15
-38
81
8
58
-19
-15
-38
81
-1
-33
-42
-6
-7
-18
28
35
60
-3
-33
14
7
-80
44
-27
39
20
-5
-2
4
18
26
0
10
26
35
1
89
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
44
14
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
-9
0
0
4
-3
0
0
5
0
0
0
12
0
0
2
0
0
0
1
0
0
-16
3
0
0
0
0
0
0
-4
0
0
-7
0
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
0
-8
-36
0
-3
-4
0
0
5
30
0
-27
-2
0
0
8
12
0
0
1
0
0
-1
-9
0
0
0
0
0
0
13
0
0
-1
0
0
0
-17
0
-6
-4
1
0
0
43
0
0
0
0
0
0
-30
0
0
0
0
0
0
88
-2
0
0
0
0
0
74
0
0
0
2
0
6
11
0
0
0
0
0
0
-64
0
-1
0
0
0
0
-40
0
0
-7
0
0
0
21
0
0
-1
0
0
0
69
0
0
0
0
0
0
-23
0
0
0
0
-2
0
11
0
0
0
0
0
0
-21
-2
-4
0
0
0
0
7
0
-4
0
0
0
-1
24
0
0
0
0
0
-1
-4
0
12
0
0
0
0
5
0
0
-1
1
0
0
3
0
0
0
0
0
0
-18
0
0
0
0
0
0
-25
0
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
-8
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
4
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
34
0
0
8
0
0
0
-2
0
0
-4
0
0
0
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
-25
0
0
0
0
0
0
-6
0
0
0
0
-8
0
0
0
5
0
0
-12
0
0
0
12
0
0
-17
-6
0
0
20
-2
0
-7
6
0
1
2
0
0
-2
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
19
-2
0
3
-63
0
0
23
-3
0
75
6
1
0
-1
-7
0
0
51
0
0
-3
4
0
0
4
0
0
-4
-24
0
0
15
0
0
0
4
0
-4
0
0
0
0
-76
0
0
0
0
0
0
-12
4
0
0
0
0
1
-42
1
0
6
0
0
8
21
1
0
31
-2
0
21
40
0
0
-17
0
0
-17
21
0
-3
6
0
0
0
40
0
0
9
0
0
-10
11
0
0
0
2
0
0
13
0
0
-1
0
0
0
32
0
0
0
0
0
0
15
0
0
0
0
0
0
17
2
0
-5
0
0
0
13
0
76
-1
0
0
3
27
0
0
-2
0
0
0
-11
0
0
0
0
0
0
-56
0
3
-1
-2
0
0
21
0
0
-5
0
0
0
4
0
-1
0
0
0
0
46
0
3
0
0
0
0
-13
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
145
0
-1
6
0
0
3
9
2
-4
1
1
-5
0
6
0
0
0
0
0
0
9
0
0
0
-2
-2
0
0
1
45
0
0
3
0
0
0
0
0
0
0
8
-31
53
23
20
0
1
-8
-2
13
-15
-13
-4
-4
13
6
0
2
26
3
-3
-57
6
-2
15
-10
46
-5
-68
16
0
0
-8
0
-10
3
-22
0
0
-5
8
31
0
-42
0
1
-2
0
-5
2
8
0
0
0
-2
111
0
0
28
0
0
-1
-1
0
0
0
0
0
0
0
-31
41
3
-16
-28
0
4
142
-168
-1
121
68
-2
0
-33
33
5
0
26
-5
1
-5
22
-1
-1
-6
-13
-1
9
41
1
8
-3
0
1
0
-32
0
51
-8
-10
0
1
-5
0
0
0
0
-5
0
51
7
-4
0
0
0
-5
5
128
0
32
0
0
18
97
7
-24
-31
4
7
46
36
10
2
-40
0
-2
-4
37
-2
-6
22
45
-3
-30
15
-6
0
-23
0
0
-8
-25
-4
0
36
-3
0
-4
-28
8
2
0
1
25
1
-29
0
2
-1
8
-3
0
-7
0
-1
0
0
0
8
51
25
25
-20
0
0
6
1
6
8
84
0
0
-17
59
-3
-6
-45
0
0
24
-22
-1
-8
-49
5
0
3
24
1
-8
2
12
0
27
10
-8
57
-42
0
0
-7
6
0
-1
2
21
-4
0
-14
0
21
3
0
3
0
18
9
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
-3
-1
0
0
0
0
0
-4
0
0
0
0
-32
0
0
0
0
0
-21
0
0
0
0
-3
-1
3
0
0
0
0
8
0
0
0
0
1
0
12
0
4
0
-5
0
0
-49
-2
0
0
-1
0
0
1
-2
0
-1
0
0
0
-1
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
7
47
0
-3
-31
0
0
-7
0
0
5
2
4
0
-8
-31
-7
-8
-6
0
0
-1
-26
0
2
1
-1
0
-1
10
0
1
3
0
0
4
10
0
47
0
2
0
0
18
0
0
2
2
-3
0
-14
-3
8
0
-1
0
0
76
8
5
13
0
0
-4
-91
5
-4
-5
0
0
12
0
0
5
55
0
0
0
-25
0
0
-6
0
0
-4
-11
0
0
-4
0
0
0
114
0
0
5
3
0
0
-36
0
0
9
0
2
0
48
0
0
0
0
0
0
-42
0
0
0
0
0
0
20
4
-4
1
0
0
0
5
0
14
-6
0
0
-2
0
0
-1
-16
0
0
0
13
0
13
-4
0
0
1
-9
0
-1
1
0
0
-2
-13
0
-4
-4
0
0
0
20
0
-1
0
0
0
0
-7
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
0
0
0
0
0
28
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
1
-1
0
0
-41
0
0
0
35
0
-4
9
-3
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
71
0
0
34
0
0
5
0
0
-54
-41
-1
0
20
13
0
0
-8
0
0
-3
46
0
0
1
0
0
-2
50
0
0
0
0
0
0
13
0
0
0
-1
0
0
5
0
0
0
0
0
0
128
-1
1
0
0
0
0
-111
0
0
5
0
0
0
76
0
0
-4
0
0
0
105
0
2
-4
0
0
-2
-12
0
0
0
0
0
0
38
0
0
0
0
0
1
54
0
0
-5
-4
0
0
12
0
0
0
0
0
0
12
0
0
1
0
0
0
-19
0
0
0
0
0
0
35
0
0
0
0
0
0
20
0
0
0
0
0
0
-23
0
0
3
0
0
0
48
0
1
0
0
0
0
-1
0
0
0
2
0
0
-4
0
1
0
0
0
0
2
0
0
0
0
0
0
21
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
5
0
0
33
0
0
0
0
0
0
19
0
0
0
0
-1
1
0
0
-8
0
0
40
0
0
0
-66
0
0
-15
-15
0
0
-15
3
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
6
-16
0
0
-8
0
0
0
13
0
0
0
0
0
0
0
-4
16
0
0
3
0
0
1
-58
0
13
20
0
0
-31
23
0
0
-19
0
0
-2
25
0
0
1
0
0
0
72
0
0
0
0
0
-1
-2
0
-14
0
-1
0
0
-3
0
0
4
0
0
0
-43
2
5
0
0
0
0
-72
-4
0
0
0
0
2
-24
0
0
4
0
0
-2
-86
0
0
0
0
0
-1
-9
0
0
1
0
0
0
-22
0
0
0
0
0
0
-96
0
0
1
0
0
0
27
0
0
0
0
0
0
-10
0
0
0
0
0
0
15
0
0
0
0
0
0
109
1
0
0
0
0
0
4
0
-9
8
0
0
0
17
0
4
0
0
0
0
29
0
1
0
0
0
0
-8
0
0
0
0
0
0
-38
0
5
0
0
0
0
-10
0
2
0
0
0
0
65
0
-2
2
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-1
0
0
1
0
0
0
5
0
-6
4
-6
0
-27
0
0
0
0
0
0
-3
-2
0
0
0
-3
0
0
0
0
-5
0
0
-8
0
0
-28
0
0
0
-1
-2
0
58
12
-4
-2
3
-3
-5
1
-1
-35
-10
0
-19
5
0
0
3
-12
-2
22
31
3
5
13
-5
11
14
-8
0
0
2
0
-8
-4
22
0
0
24
0
-17
32
0
0
0
-1
0
-2
0
-10
0
0
1
-3
1
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
-21
40
-1
4
-8
0
0
31
12
4
-62
-8
1
0
61
-1
0
4
-9
2
0
-8
-59
-1
0
31
-6
0
13
-9
0
0
28
0
0
5
53
0
56
0
-21
0
-1
-40
0
0
0
0
3
0
34
-3
9
0
0
0
1
79
8
10
17
0
0
5
47
8
-8
34
-3
0
52
-50
-1
1
10
8
-5
-20
79
0
0
26
0
-2
9
-56
0
-4
-27
3
0
1
58
10
0
-12
8
0
0
60
0
-2
0
-3
-3
0
91
0
0
-3
5
0
0
-15
-1
0
0
0
0
-1
2
8
2
-7
0
0
-2
-55
0
13
-2
0
0
3
37
-5
0
0
-5
0
1
-46
1
-1
0
0
0
4
13
0
-2
-5
0
0
0
43
2
27
0
0
0
0
25
0
0
0
-4
0
0
82
0
4
0
0
3
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-12
0
0
10
0
0
35
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-68
0
0
53
0
0
0
1
0
1
55
-3
0
0
0
0
-3
1
3
0
0
0
0
0
-1
0
0
0
1
0
-22
0
0
0
0
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
13
31
0
0
58
0
0
-49
-54
0
35
-42
0
0
15
12
0
0
-10
0
0
-8
3
0
0
0
0
0
0
-15
0
0
8
0
0
0
12
0
-54
0
0
1
0
3
0
0
0
0
0
0
45
0
6
0
0
0
0
27
-5
0
0
0
0
-3
-14
1
0
29
0
0
16
-12
0
0
8
0
0
-1
4
0
0
5
-2
0
25
0
0
0
0
0
0
0
22
0
0
3
0
0
-2
-26
0
0
0
0
0
0
10
0
0
2
0
-3
0
6
0
0
0
0
0
0
-85
3
0
0
0
0
-4
-37
0
-4
-3
0
0
0
22
0
0
-2
0
0
0
45
0
1
0
0
0
0
-8
0
-1
0
0
0
0
53
0
3
-1
0
0
0
36
0
0
1
0
0
0
13
0
8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
34
0
0
0
0
0
1
-6
0
0
0
0
-3
0
0
0
1
0
0
76
2
0
0
-9
0
0
8
0
0
0
7
-4
0
-1
0
0
-5
0
0
0
-2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
21
0
0
0
0
0
0
0
0
0
0
0
-21
63
0
0
5
0
0
25
0
0
-51
10
-1
0
-23
65
0
0
45
0
0
0
-18
0
0
-1
0
0
0
18
0
0
1
0
0
0
10
0
-15
0
8
0
0
5
0
0
0
0
0
0
27
-3
0
0
0
0
0
-3
0
0
12
0
0
-1
136
-2
0
12
0
0
5
48
0
0
1
0
0
4
-6
0
-9
19
0
0
0
30
0
0
5
0
0
0
56
0
2
4
0
0
-2
37
0
0
2
0
0
0
-26
0
0
0
0
0
0
-54
0
0
0
0
0
0
23
0
0
0
0
0
0
-49
0
15
0
0
0
1
-6
0
0
-2
0
0
0
-22
0
0
0
0
0
0
-23
0
0
3
0
0
0
-3
0
3
0
0
0
0
14
0
0
0
0
0
0
87
0
2
0
0
0
0
76
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
51
18
4
56
4
4
-1
23
-5
4
-2
0
-53
-20
-25
0
0
-13
28
-14
0
1
0
-49
-3
0
-18
0
0
-27
0
0
-1
5
19
-13
17
-13
0
-1
-5
-13
7
12
2
-16
40
24
-64
8
-3
-1
21
-3
0
43
-1
0
-3
-53
-11
59
10
31
18
18
90
2
16
-2
27
13
3
19
-5
6
20
38
-1
-1
4
0
-53
2
-7
0
0
-10
15
-44
0
0
0
0
-1
-5
-6
0
0
0
0
0
0
0
-8
-24
74
31
-10
0
-1
75
11
66
58
66
-64
-7
40
20
3
-9
-17
-1
-5
-18
-28
-3
-4
-43
89
9
38
26
-5
-2
49
1
-19
-22
-19
0
48
9
18
-33
5
11
0
0
0
-2
1
0
15
-31
67
0
-5
1
5
-3
13
5
181
1
2
18
21
22
3
17
-31
6
41
15
-15
-17
55
0
52
67
24
-20
21
73
70
6
65
-18
19
-23
-34
22
18
-9
31
-9
-2
-93
27
-26
52
19
0
0
41
0
39
-3
25
0
0
-3
72
-32
0
-24
-7
0
0
0
-3
-3
7
-8
41
-30
0
-1
53
-39
26
23
44
-2
-3
73
-28
60
-58
-3
22
2
12
27
4
-97
-15
25
-15
-1
-30
-1
67
79
-2
-42
-37
36
-2
-4
39
21
3
-2
35
-4
0
36
38
10
-3
40
0
-81
0
1
-15
0
-61
-5
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-40
0
0
0
0
0
0
-9
0
-3
0
0
-7
0
0
-1
17
0
0
21
0
0
0
-22
0
0
29
0
0
0
8
0
5
9
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-1
0
3
0
0
0
0
-1
0
0
0
0
-4
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
-5
32
-3
0
29
0
0
3
-32
0
-27
52
2
0
9
0
0
0
6
0
0
-4
-67
0
0
-1
0
0
0
47
0
0
-2
0
0
0
2
0
5
-9
0
0
0
-14
0
0
0
0
0
0
3
8
-2
0
0
0
-1
-3
0
0
-6
0
0
24
44
0
-7
41
0
0
4
47
0
0
8
0
0
8
0
0
0
-13
-7
0
0
49
0
0
0
-1
0
0
-41
0
0
0
0
0
0
33
0
1
0
0
2
0
-90
0
0
0
0
0
0
-45
0
3
0
0
0
0
25
2
0
-1
0
0
-2
30
0
32
-5
0
0
0
37
0
1
-5
0
0
0
0
0
16
4
2
0
0
13
0
0
3
0
0
-1
-65
0
0
0
0
0
0
-6
0
0
0
0
0
0
48
0
-5
0
0
0
0
-9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
73
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
28
0
0
0
-15
0
0
7
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
22
0
0
-1
0
0
8
-4
0
-5
-8
0
0
-9
-31
0
0
5
0
0
6
-15
0
0
0
0
0
10
3
0
0
0
0
0
0
0
0
17
0
-2
0
0
19
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
-4
32
0
6
3
0
0
-5
13
0
0
-1
0
0
0
-25
0
0
-6
0
0
0
21
0
0
-1
0
0
0
46
0
0
0
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
4
4
0
-5
0
0
0
-4
0
0
-5
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-42
0
0
0
0
0
0
4
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
5
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
-8
0
0
0
0
0
8
7
-1
0
-8
10
0
0
0
0
0
0
30
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
-6
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
-1
0
0
0
0
8
74
0
0
0
0
0
-3
23
0
0
0
0
0
0
-16
0
0
0
0
0
-2
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
1
0
53
0
0
0
0
0
0
25
0
0
0
0
0
0
-6
0
5
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
9
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
-16
0
0
0
0
-1
0
1
1
0
0
0
-23
0
2
0
-4
0
0
-24
0
0
0
38
0
0
55
0
5
0
-2
-1
0
13
22
0
0
0
0
0
-1
-8
0
0
0
-2
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
9
0
0
0
-1
0
0
0
0
0
0
0
-9
-9
0
0
-6
0
0
17
15
0
-101
-5
0
0
31
-41
0
0
-13
1
0
8
17
0
0
0
0
0
0
5
0
0
-2
0
-7
0
5
0
-16
-5
4
0
1
35
0
0
0
0
0
0
-40
-8
4
0
0
0
0
-9
-7
-1
0
0
0
1
41
-20
1
-2
0
0
-24
17
0
0
-2
0
0
-8
-30
0
0
16
-2
0
-5
31
0
0
6
-3
0
0
1
0
0
0
0
0
0
94
0
0
0
0
0
0
1
0
0
0
-2
0
0
16
0
0
0
0
0
0
-33
13
0
0
0
0
0
-2
0
22
0
0
0
0
17
-2
0
0
1
0
0
-28
0
8
0
0
0
0
18
0
0
0
-7
10
1
15
0
3
0
0
0
0
-19
0
-3
0
0
0
0
74
0
3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
-3
0
0
-4
0
0
0
-3
0
0
0
1
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
-3
-3
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
34
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
-16
0
0
-1
0
0
0
4
0
0
41
0
0
0
-3
0
0
8
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
18
71
0
0
25
0
0
20
21
0
-25
69
0
0
-4
10
0
0
-10
0
0
9
-12
0
0
4
0
0
1
-1
0
0
12
0
0
0
2
0
-3
0
1
0
0
26
0
0
0
0
0
0
-29
0
0
0
0
0
0
112
0
0
-1
0
0
5
1
0
0
-29
0
0
-4
-12
0
0
-5
0
0
31
-41
0
0
3
0
0
0
-19
0
0
-4
0
0
0
5
0
0
0
0
0
0
43
0
0
0
0
0
0
8
0
0
0
0
0
0
15
0
0
0
0
0
0
-42
-4
0
0
0
0
0
4
0
5
0
0
0
-2
-28
0
0
-5
0
0
1
23
0
0
0
0
0
0
-22
0
0
0
0
0
0
69
0
-8
0
0
0
0
-8
0
0
0
0
0
0
2
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
5
0
0
67
0
0
0
38
0
0
-3
-5
0
0
87
25
0
8
1
0
0
2
0
4
-2
7
0
0
-10
0
0
-6
0
0
0
0
0
0
0
-2
0
0
0
0
-5
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-32
0
0
0
-82
0
132
10
1
0
12
-44
0
0
59
0
0
1
-47
0
0
-1
-1
0
-2
46
0
0
18
0
0
0
5
0
-33
0
0
0
0
12
0
0
0
0
0
0
18
-2
0
0
0
0
0
-4
-8
0
0
0
0
0
-15
6
4
-16
-3
-2
4
20
0
3
-5
0
0
0
4
0
-1
-3
-1
2
-4
-31
0
0
0
0
0
-2
-3
0
0
1
0
0
0
-44
0
0
2
0
-5
0
0
0
0
0
0
-2
0
12
0
0
0
0
-1
0
27
-12
-2
0
0
0
0
-20
1
41
-24
0
0
0
-16
0
3
0
3
0
0
4
1
-2
6
0
0
0
38
0
0
0
0
0
0
-71
0
0
1
0
0
0
17
0
0
0
-1
1
0
26
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
38
0
0
0
0
0
8
0
0
0
-1
7
0
-16
4
0
0
1
-30
0
0
4
32
0
0
-23
2
0
0
-46
2
0
95
10
0
0
-22
-30
2
25
0
0
0
-1
-4
-7
7
18
0
0
-3
1
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
-5
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
3
14
0
0
115
0
0
53
-16
4
-23
-24
1
0
35
4
0
0
0
2
0
-20
0
0
0
-12
-2
0
0
82
-1
0
16
-1
0
0
1
0
-100
3
4
0
0
59
0
0
0
0
0
0
14
-6
9
0
0
0
2
16
60
0
-9
0
0
-4
27
6
3
-13
1
0
-3
32
-2
0
74
0
0
-6
-14
0
-8
5
-4
0
-5
0
0
-5
-2
-8
0
0
15
0
0
-1
2
0
0
-1
0
0
-1
0
0
0
16
0
0
0
8
-2
0
-31
0
0
0
0
0
2
-3
-19
0
7
0
0
3
-28
0
27
24
0
0
-1
-13
-4
-2
-2
0
0
14
27
1
-3
9
0
0
-2
0
0
-4
6
-7
0
-1
-20
0
4
0
0
0
0
-5
0
5
0
0
0
0
-14
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
12
0
0
0
0
0
1
2
0
0
0
0
4
0
0
3
16
0
0
2
0
0
0
13
0
0
2
0
0
0
5
0
0
69
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
12
-38
0
2
-21
0
0
-10
44
0
8
-13
-2
0
12
-9
0
0
-10
0
0
-7
8
0
0
3
0
0
0
55
0
0
0
0
0
0
42
0
14
0
0
0
0
19
0
0
0
0
0
0
99
0
0
0
0
0
0
-30
0
0
0
0
0
0
32
0
-4
3
0
0
0
28
0
0
0
0
0
0
18
0
0
13
0
0
0
-30
0
0
-3
0
0
0
41
0
0
0
0
0
0
-1
0
0
-3
0
0
0
6
0
0
0
1
0
0
-40
0
0
0
0
0
0
23
3
1
0
0
0
0
2
0
5
0
0
0
0
-8
0
0
3
0
0
0
35
0
0
0
0
0
0
-12
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
4
0
0
0
33
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
-41
0
0
0
0
0
0
7
0
0
0
0
-1
0
0
0
0
0
0
6
-1
0
0
6
0
0
1
0
0
0
15
-5
0
27
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
-1
-83
0
0
12
0
0
0
6
0
8
-3
0
0
6
37
0
0
-9
0
0
0
8
0
0
0
-4
0
0
5
0
0
1
0
0
0
9
0
1
0
0
0
0
-9
0
0
0
0
0
0
-76
-1
0
0
0
0
0
15
-6
0
-1
0
0
-1
59
-2
0
0
0
0
0
45
0
0
1
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
49
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-2
0
-1
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
60
0
0
0
0
0
0
-5
0
0
0
0
2
0
0
0
0
0
0
63
0
0
0
-3
0
0
0
0
0
0
0
4
0
-5
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
-2
6
0
9
-6
0
0
1
-3
0
0
0
0
0
-1
-3
0
0
0
0
0
0
22
0
0
1
0
0
0
8
0
7
0
0
0
0
-6
0
0
0
0
0
0
-3
-2
0
0
0
0
0
1
2
0
0
0
0
0
14
0
0
-1
0
0
0
-13
0
0
1
0
0
0
13
0
0
1
0
0
0
22
0
0
-1
1
0
0
-16
0
0
0
0
0
0
-33
0
0
0
0
0
0
-3
0
0
0
0
0
0
-38
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
-8
0
0
0
5
0
0
2
-2
0
0
25
0
1
-3
0
0
0
-2
0
-2
0
0
0
0
-1
0
-3
-2
0
0
0
7
0
0
0
-1
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
63
0
0
10
0
0
-11
0
0
0
0
0
0
0
-2
0
0
0
9
0
0
0
5
0
0
-5
0
0
0
2
0
1
-1
0
0
0
-1
0
-1
54
4
0
0
0
0
4
-2
0
0
0
0
0
0
0
2
0
0
0
0
23
0
0
0
0
0
0
4
0
0
9
0
0
0
2
0
0
0
0
0
0
0
-1
34
0
0
4
0
0
0
6
0
-49
-30
0
0
9
-19
0
0
-25
0
0
-7
27
0
0
31
0
0
-1
20
0
0
63
0
0
-2
5
0
17
0
0
0
0
19
0
0
0
0
5
0
-2
1
0
0
0
0
0
20
4
0
0
0
0
-6
-2
0
0
5
0
0
0
1
0
0
-1
0
0
7
-29
0
0
-12
0
0
-1
-54
0
8
-3
0
0
0
5
0
0
2
0
0
0
-39
0
0
17
0
8
0
30
0
0
-2
0
0
0
23
0
0
0
0
-1
0
26
-1
0
0
0
0
0
-1
0
4
0
0
0
0
13
2
0
0
0
0
0
-33
0
-3
3
0
0
1
2
0
0
0
0
1
0
34
0
0
0
0
-1
0
28
0
0
0
0
0
0
-15
0
-1
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
48
0
0
0
-5
0
0
7
0
0
0
-12
20
0
14
0
0
0
4
0
0
44
-1
0
0
-5
-4
0
43
2
0
0
0
0
0
0
1
0
0
0
15
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
5
-75
0
0
-70
0
0
-17
24
0
26
43
-1
0
58
16
0
0
-82
0
0
0
3
0
0
-18
-1
0
8
44
0
0
0
0
0
5
9
0
13
-2
-41
0
0
8
0
0
0
0
0
0
46
-1
-1
0
2
0
0
40
-38
0
1
0
0
0
12
3
-8
23
2
0
13
-26
0
5
29
0
0
-12
79
0
5
41
0
0
6
-16
-2
0
13
14
0
0
11
0
0
27
-6
0
0
29
0
0
-4
0
0
0
41
0
0
1
2
0
0
20
0
0
0
0
0
0
14
12
0
3
0
0
0
46
0
15
8
0
0
0
73
0
0
3
0
0
0
44
0
-2
1
0
0
0
31
0
-1
0
6
0
0
13
0
5
6
0
0
0
-15
0
0
-1
0
0
0
5
0
19
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-4
1
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
0
4
0
0
-33
0
0
0
-35
0
0
4
0
0
0
-5
0
0
0
0
0
0
-1
0
-29
-2
-3
0
0
-3
0
0
0
0
0
0
-38
0
24
0
4
0
0
0
3
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-20
0
7
-18
0
0
0
-28
0
-19
-5
-2
0
0
41
0
0
-5
0
0
0
91
0
0
-8
0
0
0
0
0
0
-35
0
0
0
9
0
-24
0
25
0
0
-27
0
0
0
0
0
0
-20
0
0
0
0
0
0
15
2
0
0
0
0
0
-31
1
0
7
0
0
0
2
0
0
-4
0
0
0
-5
0
0
-7
0
0
3
42
0
0
24
0
0
0
25
0
0
0
0
0
0
-76
0
0
-2
0
-1
0
-1
0
0
2
0
0
0
13
0
0
0
0
0
0
60
0
0
0
0
0
0
44
0
-15
0
0
0
0
-15
0
0
0
0
0
0
-7
0
-5
2
1
0
0
-25
0
1
0
-8
0
0
8
0
0
8
0
0
0
44
0
0
0
0
8
0
-10
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
-2
0
0
0
0
-71
0
0
0
0
0
-25
0
0
0
0
-1
-2
-1
0
0
0
0
8
0
0
0
0
6
0
34
-4
0
0
-8
0
0
5
-5
0
-3
31
8
0
-6
3
0
0
-2
0
0
25
0
0
0
1
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
-9
0
0
0
5
0
0
0
0
0
0
0
-3
2
0
0
-6
0
0
6
48
-3
56
46
-1
0
17
33
-3
0
55
1
0
6
-57
0
0
1
0
0
3
0
0
0
0
0
0
0
-18
0
3
0
0
0
0
8
0
0
0
0
0
0
33
3
-6
0
0
0
1
-10
18
0
-17
0
0
-3
94
13
-1
-5
-8
-1
-1
23
0
0
20
0
0
0
2
0
0
-2
0
0
-7
-23
5
0
0
0
0
4
0
-1
0
3
2
0
0
-3
0
0
0
0
0
0
3
0
0
-1
0
0
0
25
1
0
0
0
0
-5
61
4
-1
0
0
0
0
2
3
43
6
0
-1
0
-34
-2
0
5
0
0
-2
77
0
-8
-1
0
0
0
31
0
-1
9
-5
0
0
0
-2
0
0
0
0
0
-27
0
-3
0
-8
0
0
-56
0
0
3
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-73
0
0
-2
0
0
0
-5
0
-7
6
0
0
5
9
0
0
4
0
0
0
-7
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
0
-35
0
0
0
0
0
0
31
0
0
0
0
0
0
-8
0
0
-3
0
0
0
-33
0
0
-5
0
0
0
-42
0
0
-1
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-3
0
0
-1
0
0
0
13
0
0
0
0
0
0
-14
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
-1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
0
0
0
8
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
25
31
3
0
0
-2
0
0
0
0
0
0
-7
0
0
2
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
25
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
1
0
0
0
0
0
-56
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-4
0
0
-2
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
0
0
0
0
0
0
8
0
-16
-1
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
3
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-28
0
0
0
0
0
0
-47
0
0
0
0
0
0
-17
0
0
1
0
0
0
-8
0
0
-7
0
0
0
-31
0
0
0
0
0
0
-24
0
0
0
-2
0
0
2
0
0
-3
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
-1
0
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
-3
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
-1
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
-4
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
-21
0
0
0
0
0
0
-6
3
0
0
0
-5
0
0
0
2
0
0
41
0
0
0
-46
0
9
-12
-8
0
0
13
8
0
-38
5
0
0
13
0
0
-2
4
0
0
0
-1
0
0
-5
0
0
-3
0
0
0
0
0
0
0
6
0
0
0
29
0
0
-5
0
0
0
0
0
0
0
0
-6
11
0
0
-22
0
0
-18
16
0
-24
13
0
0
11
-73
0
0
68
0
0
-4
38
0
0
2
-1
0
0
-9
0
0
21
0
0
-3
23
0
-17
0
-30
0
0
41
0
0
0
0
0
0
6
-14
0
0
0
0
0
-6
8
0
-2
0
0
-8
54
0
4
-1
-1
0
-49
8
0
0
-9
0
0
-5
9
0
0
-5
7
0
1
-15
0
1
-10
0
0
-8
5
0
0
5
2
0
-1
-30
0
0
-2
0
0
0
-34
0
0
3
17
0
0
2
3
0
0
0
0
0
-19
14
0
0
0
0
-10
-27
0
0
-2
0
0
-2
-29
0
0
57
0
0
4
93
0
1
17
0
0
1
-26
0
3
-6
0
0
0
-31
0
-13
0
0
0
0
-7
0
-6
0
0
0
0
19
0
13
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
9
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-25
23
0
0
1
0
0
10
-8
0
-6
0
0
0
-5
-30
0
0
2
0
0
-1
-9
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
2
0
0
0
0
13
0
0
0
0
0
0
-48
0
0
0
0
0
0
-36
0
0
0
0
0
8
-45
0
0
0
2
0
4
-48
0
0
5
0
0
0
7
0
-2
0
0
0
-5
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
0
0
0
-5
0
0
0
0
0
0
33
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
-3
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
-2
0
0
0
15
0
0
0
3
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
-3
0
0
-21
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
-9
-2
0
-20
0
0
0
7
0
0
4
-1
1
0
-7
0
0
-9
-1
0
0
1
0
0
0
-4
0
0
0
2
0
-1
0
0
0
0
0
0
3
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-74
0
0
-14
0
0
6
-8
0
-21
-21
0
0
-41
-26
0
0
-4
0
0
1
-8
0
0
1
0
0
-1
-9
0
0
-3
0
0
0
0
0
-3
0
0
0
0
6
0
0
0
0
0
0
-30
1
0
0
0
0
0
-22
2
0
-2
0
0
0
89
1
-4
4
3
0
0
44
0
0
-15
0
0
0
-33
0
0
-21
0
0
-4
-28
0
-2
-2
0
0
0
28
0
0
-4
17
0
0
0
0
0
-1
0
0
0
5
0
0
3
0
18
0
-36
0
0
0
0
0
0
40
0
0
-2
0
0
0
-13
0
2
2
0
0
0
-45
-4
0
0
0
0
0
-15
0
1
-2
0
0
0
1
0
0
3
0
0
0
-49
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-17
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
2
0
0
-1
0
0
1
-8
0
0
14
0
0
0
0
0
0
0
8
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
-1
7
0
0
0
-1
0
0
0
0
0
0
9
-3
0
0
0
0
0
27
0
0
0
0
0
10
27
0
0
0
0
0
0
-5
0
0
0
0
0
0
66
0
0
1
0
0
0
35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
-3
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
4
-1
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
-2
0
0
0
4
0
-7
8
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-20
0
0
0
0
0
0
-4
0
0
0
0
0
0
-39
0
0
-3
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-30
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
-1
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
6
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
2
16
0
0
3
0
0
-5
49
0
3
0
0
0
1
7
0
0
0
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
3
0
0
0
0
7
0
0
0
0
0
0
47
0
0
0
0
0
0
-31
0
0
0
0
0
0
-4
0
2
0
2
0
0
15
0
0
0
0
-2
0
-2
0
0
0
2
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
-22
0
0
0
0
2
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
2
0
0
0
0
-1
0
0
1
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
-41
0
0
0
0
-2
0
15
0
0
0
1
0
0
0
0
1
0
0
23
0
0
0
17
0
0
-3
0
0
4
-7
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
27
0
0
5
0
0
0
30
0
-15
-8
0
0
7
-27
0
0
1
0
0
0
2
0
0
7
0
0
-2
17
0
0
20
0
0
0
2
0
24
0
0
0
0
-43
0
0
0
0
0
0
5
-1
0
0
0
0
0
-29
-10
0
0
0
0
0
-5
0
-2
0
0
0
0
-33
0
0
1
0
0
-3
-44
0
0
0
0
0
6
13
0
0
-1
0
3
3
-3
0
0
7
0
0
0
-30
0
0
-6
0
0
0
-8
0
0
1
0
0
0
29
0
0
0
0
0
0
4
0
0
-6
0
0
0
3
0
-7
-1
0
0
3
5
0
0
0
0
0
0
13
0
0
0
0
0
0
9
0
0
-4
0
0
0
9
0
0
0
0
0
0
81
0
0
-2
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
-80
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
-2
0
0
-12
0
0
0
-27
0
0
5
1
0
-2
0
-7
0
-7
0
0
0
0
0
0
-4
-5
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
52
9
0
0
74
0
0
-18
0
0
-11
38
-2
0
100
-30
0
0
0
0
0
0
3
0
0
5
0
0
0
-62
0
0
-3
0
0
0
3
0
5
-9
0
0
0
13
0
0
0
0
0
0
10
-1
0
0
0
0
0
-29
0
0
9
0
0
3
-33
0
0
29
0
0
35
89
0
0
-1
0
0
0
43
0
1
-4
0
0
8
-32
0
0
-15
-7
0
0
42
0
0
2
0
0
-1
44
0
0
0
0
0
0
22
0
0
0
0
0
0
25
0
0
0
0
0
0
-26
-1
0
0
0
0
0
-16
0
4
-7
0
0
0
-12
0
0
0
0
0
-2
-5
0
2
0
0
0
0
30
0
0
0
-3
0
0
-20
0
-5
0
0
0
0
4
0
0
0
0
0
0
-24
0
-3
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-27
0
0
0
0
0
0
-9
0
0
1
0
0
0
1
0
0
0
0
0
0
-2
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
-4
0
0
0
-8
0
0
0
-1
0
0
-5
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
6
0
0
0
6
0
8
-9
0
0
-1
-18
0
0
0
0
0
0
-15
0
0
4
0
0
-1
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-17
-1
0
0
0
0
-2
-20
0
0
0
0
0
0
19
0
4
0
0
0
0
47
0
0
-2
0
0
0
13
0
0
-2
0
0
-2
13
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
-2
0
0
-2
0
0
0
9
0
0
0
0
0
0
0
0
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
0
0
0
1
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
6
0
2
0
0
0
0
-9
0
0
-1
0
0
6
6
0
0
0
0
0
0
2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-105
0
0
0
0
0
0
-39
0
0
8
0
0
0
-22
0
0
0
0
0
-2
-3
0
0
3
0
0
0
-10
0
0
0
0
0
0
-53
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
-2
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-2
0
4
-24
-6
1
-59
-8
-34
-49
-7
-27
-55
-4
10
40
-24
19
20
-25
-42
17
12
17
-61
-5
-2
-33
18
-52
-29
-42
-3
-4
-17
7
-5
-22
48
-3
10
-39
-23
-49
-22
-41
-3
2
31
4
-24
-4
-1
3
-1
-18
16
5
0
3
-34
0
0
-33
26
0
0
0
0
0
0
0
13
-17
14
-13
12
-13
-49
-14
-7
-7
-4
-5
-28
-1
15
5
-25
-8
-2
20
-12
-73
13
-30
0
14
8
4
-40
20
-2
-8
48
4
-27
51
-10
-3
-8
2
-39
55
-10
-41
37
2
0
-8
-64
0
-5
-37
0
-1
-30
0
-44
-23
39
-5
2
8
1
94
18
30
-46
6
-5
-3
-33
-11
-27
5
19
66
13
-23
-14
-8
13
-2
-95
79
20
4
-4
-56
9
41
19
55
-25
30
48
-3
-29
0
53
-13
-3
-9
-13
5
24
8
6
-2
-2
3
38
1
-1
-22
23
-5
0
14
18
-78
-10
-43
-119
80
-41
0
80
-3
-15
25
95
-28
22
13
-38
-21
-8
5
-54
4
-28
1
25
6
8
39
-17
-27
-11
23
18
-45
48
-46
-50
-20
5
14
-38
76
18
-9
-40
-5
21
77
31
49
2
-22
3
-32
-7
1
-41
1
17
2
-35
4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
-1
1
19
-3
0
0
0
7
0
0
-7
14
0
0
-42
0
0
0
91
0
0
78
6
0
0
-23
47
0
26
0
1
0
-2
0
0
-16
-6
0
0
-1
-7
0
-18
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
0
11
24
6
0
-37
0
0
55
29
-5
61
57
-9
0
49
18
0
0
44
0
0
9
-47
0
0
34
8
0
35
64
0
0
24
0
0
-2
4
0
-25
-5
7
0
0
-25
0
0
0
0
0
0
27
23
0
0
10
0
0
29
-24
-2
-7
0
0
-12
-18
8
-4
-46
-3
0
47
-16
0
4
31
0
0
15
50
0
15
22
7
0
-32
-3
-4
-2
-3
0
0
-4
-39
0
0
28
0
0
-5
40
0
0
-2
0
0
0
-38
0
1
-8
-13
0
0
8
-4
0
0
0
0
0
-50
6
0
0
0
0
-5
25
0
-45
-43
0
0
15
55
0
0
-7
0
0
0
-9
0
0
-4
2
0
0
-14
0
0
10
-7
0
0
33
0
64
-7
0
0
5
-73
0
-5
0
-1
0
0
4
0
54
3
0
0
0
15
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-31
28
-10
0
-10
-13
16
40
-71
18
13
44
58
-4
44
78
5
-11
-5
-26
1
-11
48
-22
20
-28
31
20
-75
2
9
41
-86
0
10
-25
4
18
23
22
17
66
-26
-12
-6
7
46
-6
-17
18
-1
-17
-39
-7
6
-5
5
-1
-24
-30
39
-16
0
0
0
0
0
0
0
1
-5
26
-12
19
17
19
3
-3
-24
16
0
-10
10
-5
10
-9
66
11
-2
-11
0
-31
-48
41
29
60
-21
-9
7
-7
-31
17
7
29
31
-6
-43
-1
19
26
80
39
0
33
-23
59
24
-44
1
-20
25
-45
-7
19
7
3
10
-58
-34
-5
-26
-3
-64
1
3
27
-13
-15
-31
-16
-16
-92
-37
15
11
19
14
-13
21
-13
19
0
-37
51
-6
70
21
2
68
-21
2
7
30
39
3
5
-12
10
-3
56
-10
-22
6
-13
-10
-27
-40
-31
-42
-34
-34
0
3
-1
-30
-15
5
40
67
-6
33
-5
70
-79
-16
56
-6
-2
-25
-41
20
44
-9
35
-18
-64
-5
-25
-31
-58
-12
-5
-69
7
14
9
13
-20
9
-3
-7
15
5
3
-2
20
-9
-16
37
3
-100
-4
12
-14
9
-10
30
28
12
16
7
-14
13
-49
-6
6
-2
1
1
-22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
1
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
5
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
0
-15
27
0
58
-4
0
0
31
48
0
0
0
0
0
0
10
0
0
0
0
0
0
-30
0
0
0
0
0
0
-3
0
-5
0
0
0
0
-13
0
0
0
0
0
0
-6
-13
0
0
0
0
0
46
4
0
0
0
0
-4
13
0
0
2
0
0
0
121
0
0
0
0
0
0
86
0
0
0
0
0
0
87
0
0
0
0
0
0
23
0
0
-1
5
0
0
-15
0
0
0
0
0
0
6
0
0
0
0
0
0
21
0
0
0
0
0
0
-31
3
0
0
0
0
0
9
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
-1
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
0
10
31
0
8
20
3
-5
0
-6
0
0
-44
5
0
1
-1
-7
0
-16
8
0
0
-24
0
0
1
-5
0
0
7
-10
0
2
1
0
0
0
0
0
0
5
0
0
0
0
-3
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
59
27
0
1
59
0
0
22
13
-8
-59
39
-3
0
-29
-30
-1
0
-49
0
0
0
19
0
0
3
3
0
-8
44
0
0
-9
0
0
0
47
0
-3
-5
0
0
0
64
0
0
4
0
0
0
57
9
0
0
-2
0
0
67
4
1
-2
0
0
46
23
19
-1
16
0
0
-18
-52
2
0
-24
0
0
-12
-58
0
1
-13
8
0
3
2
0
3
-12
0
0
0
-23
0
0
10
30
0
2
-50
0
0
0
0
0
0
4
0
0
3
0
0
0
-10
1
0
0
0
0
0
58
-12
0
-3
0
0
0
29
-5
66
8
-2
0
9
-21
4
-6
3
0
0
2
9
0
-32
0
0
0
0
-8
0
0
1
-25
0
0
25
0
1
0
0
0
0
-12
0
2
0
0
0
0
-6
0
-4
0
0
0
0
-23
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
4
0
0
0
9
0
0
0
-9
0
0
2
5
0
-1
32
0
0
0
0
0
0
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-18
0
0
6
47
0
-78
3
3
0
78
3
0
0
-1
0
0
18
-21
0
0
6
-1
0
3
29
0
0
3
0
0
0
3
0
27
0
0
0
0
9
0
0
0
0
0
0
-29
-7
0
0
0
0
0
0
10
0
-27
0
0
0
-11
5
-8
15
5
0
-1
-37
0
0
5
0
0
0
8
0
0
-7
0
0
7
-14
0
1
-10
0
0
-3
8
0
0
12
-2
0
0
84
0
0
2
0
0
0
-59
0
0
0
2
-5
0
-13
0
0
0
0
0
0
0
38
6
-6
4
0
0
-1
0
-10
-2
0
0
0
38
0
14
0
0
0
0
-23
0
1
6
0
0
1
23
0
-1
1
-1
0
0
-28
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-3
1
-29
8
8
5
-13
5
-6
0
5
0
8
-37
66
0
0
5
8
-6
-27
-27
0
6
-5
0
13
-1
-27
0
-2
16
0
3
-3
-2
0
0
0
0
0
0
12
16
0
0
0
16
0
0
-24
0
0
0
-16
0
0
0
0
0
0
0
4
15
-4
-7
34
0
-2
1
15
-5
-48
39
5
-3
47
66
0
-6
-67
0
1
-21
-25
0
0
-27
1
0
-6
-15
0
13
13
0
0
-3
40
0
44
-9
28
-1
0
-14
0
0
0
0
-1
0
-1
0
6
0
0
0
5
-15
-1
3
-45
-7
0
25
-55
13
1
20
2
1
-63
72
0
0
-23
2
-1
5
-2
0
-28
-9
29
1
43
-1
0
-3
18
4
0
-8
22
0
-1
17
21
0
-1
-37
0
0
1
1
31
0
35
0
0
5
-2
5
0
6
-2
0
0
0
-1
-6
1
0
-24
47
-5
0
23
-38
0
-6
-1
0
0
-16
43
-1
7
45
-8
0
5
-21
2
21
0
-3
9
2
56
0
2
5
-16
0
-8
66
0
-13
-3
8
0
0
-7
0
-8
-1
32
7
8
-10
0
-6
-1
0
0
0
24
4
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-8
-1
0
85
0
-3
0
25
0
0
6
25
1
0
-2
0
6
-1
0
0
0
0
0
0
3
2
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
0
8
0
0
0
0
0
0
0
16
118
0
4
21
0
0
6
3
0
46
58
0
0
-38
-61
9
0
106
0
0
0
65
0
0
-3
0
0
0
-6
0
0
8
0
0
0
8
0
-13
0
2
0
0
-14
0
0
0
-1
1
0
-18
0
0
0
0
0
0
57
1
0
-2
0
0
0
36
5
0
41
0
0
9
33
0
0
-5
0
0
12
-14
-1
0
-19
0
0
0
50
0
0
-1
0
0
0
-22
0
0
-5
7
0
0
43
0
0
0
0
0
0
22
0
0
-1
0
0
0
-23
0
0
0
0
0
0
53
-2
0
0
0
0
0
27
0
0
25
0
0
0
34
0
0
0
0
0
0
22
0
0
7
0
0
0
-7
0
0
0
-1
0
0
50
0
0
0
0
0
-1
8
0
0
0
0
0
0
-29
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
1
3
0
0
85
0
0
0
18
0
3
58
7
0
0
0
-3
0
6
0
0
0
0
0
0
0
8
0
0
0
0
1
-2
-7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-7
0
0
0
-1
0
0
0
0
0
0
0
13
19
0
0
84
0
0
41
42
0
75
-23
-4
0
15
15
0
0
8
0
0
0
-2
0
0
-2
0
0
-1
-53
0
0
-1
0
0
0
-3
0
-5
0
0
-1
0
-5
0
0
0
0
0
0
7
0
13
0
0
0
0
14
-16
0
-10
0
0
7
1
0
-4
-5
0
0
13
21
0
-1
-5
0
0
1
-2
0
7
14
6
0
0
99
0
0
0
0
0
0
71
0
0
-2
21
0
0
65
0
0
0
0
0
0
37
0
0
0
0
0
0
-29
0
5
0
0
0
0
-2
13
0
-4
0
0
-2
26
0
-13
17
0
1
0
5
0
0
0
2
0
0
20
0
5
-4
0
0
0
5
0
0
-6
3
0
0
27
0
-1
0
0
0
0
34
0
0
-2
0
0
0
55
0
39
0
0
0
0
107
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
0
0
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
8
0
0
-1
-1
0
10
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
-2
0
0
0
0
-2
0
0
0
0
0
0
-32
0
0
0
0
0
2
-10
-1
0
-1
0
0
-1
32
0
0
8
0
0
0
6
0
0
0
0
0
0
-20
0
0
0
0
0
0
33
0
0
0
0
0
-1
21
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
0
0
0
0
0
60
0
0
0
0
0
0
-16
0
0
-2
0
0
0
5
0
-3
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
8
0
0
0
12
0
0
0
-5
0
0
3
0
0
3
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
12
0
-1
49
0
0
18
-9
0
-2
13
0
0
5
18
0
0
0
0
0
0
23
0
0
0
0
0
0
50
0
0
2
0
0
0
5
0
-10
0
-9
0
0
23
0
0
0
0
0
0
36
0
0
0
0
0
0
39
2
0
6
0
0
0
58
-3
0
0
0
0
-7
4
0
0
-4
0
0
5
-25
0
0
1
0
0
0
-43
0
0
0
-5
0
2
11
0
0
-4
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
0
21
0
0
0
0
0
0
16
1
0
0
0
0
0
76
0
5
13
0
0
2
46
0
0
-2
0
0
-2
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
-1
0
0
0
8
0
0
-5
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-18
-3
4
29
-6
0
57
8
0
7
-57
-8
0
1
22
0
0
-4
-4
-2
0
14
0
0
-6
0
0
1
-5
0
0
4
0
7
0
8
22
0
0
0
-51
0
0
-17
0
0
0
61
0
0
0
0
0
0
0
75
6
6
-6
55
-1
0
-31
10
0
-23
45
16
1
-74
-2
-1
0
9
-4
1
41
10
6
0
-20
5
0
6
39
0
-2
-6
1
5
-1
-58
8
-36
0
-12
0
8
7
0
0
-4
6
-2
0
1
-14
1
0
0
0
3
44
-33
2
-25
5
0
59
63
-24
8
-17
-13
0
-16
-42
-2
-3
121
1
0
-30
8
-2
-2
42
8
0
3
-15
-3
2
1
5
0
-6
9
0
-4
34
6
0
2
-21
0
0
-51
0
-5
0
64
0
0
-1
3
4
0
-31
8
0
0
0
0
0
57
1
1
-1
-2
0
1
70
-6
28
57
-1
0
-22
-4
-2
-3
31
0
0
5
-5
-1
59
-32
0
0
0
65
0
1
29
29
0
-3
-61
-1
8
16
0
0
0
-10
0
-8
1
-15
0
0
-5
0
9
0
1
0
0
-7
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-2
0
0
-4
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
16
0
0
-6
8
0
23
2
5
0
43
59
0
0
-3
0
0
0
5
0
0
1
0
0
0
48
0
0
0
0
0
0
15
0
22
0
-1
0
0
3
0
0
0
0
0
0
20
1
0
0
0
0
0
-36
0
0
-2
0
0
2
0
0
0
-24
0
0
-1
-7
0
0
0
0
0
2
-3
0
0
0
0
0
7
21
0
0
0
0
0
0
42
0
0
-1
2
0
0
32
0
0
-1
0
3
0
-7
0
0
0
0
1
0
45
-1
0
0
0
0
0
17
5
0
0
0
0
0
0
0
-1
0
0
0
-5
-32
0
0
2
0
0
0
-5
0
4
0
0
0
0
24
0
0
0
0
0
0
41
0
1
-1
0
0
0
5
0
0
0
0
0
0
31
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
3
0
0
-45
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
-8
25
0
0
5
0
0
-4
-26
0
-34
5
0
0
31
-4
0
0
-2
0
0
0
-17
0
0
0
0
0
0
-21
0
0
0
0
0
0
-13
0
-15
-2
0
0
0
-31
0
0
0
0
0
0
67
0
0
0
0
0
3
-8
0
0
-2
0
0
0
12
0
0
0
0
0
0
62
0
0
-7
0
0
0
94
0
0
1
0
0
0
28
0
0
1
0
0
0
-29
0
0
1
0
0
0
78
0
0
0
0
0
0
41
0
0
0
0
0
0
-18
0
0
0
0
0
0
34
1
0
-7
0
0
0
20
0
-4
0
0
0
0
30
0
-1
0
0
0
0
-30
0
2
1
0
0
0
4
0
0
0
0
0
0
-33
0
7
-1
0
0
0
-5
0
0
0
0
0
0
24
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
8
0
0
59
0
4
-19
0
0
0
-8
-1
0
2
22
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
5
0
0
0
-15
0
0
0
0
0
0
0
48
43
-2
0
100
0
0
24
-22
4
63
21
0
0
8
-42
0
0
-3
0
0
0
-4
0
0
1
0
0
0
28
0
0
-4
0
0
0
25
0
7
0
0
0
0
33
0
0
0
0
0
0
43
-4
0
0
-3
0
-5
45
6
0
2
0
0
7
13
8
0
33
0
0
24
54
3
0
-18
0
0
-8
1
0
-1
-6
0
0
-2
72
0
0
1
0
0
0
-19
0
0
4
7
0
0
48
0
0
0
0
0
0
52
0
0
2
0
0
0
22
0
0
0
0
0
4
66
0
0
-1
0
0
1
8
0
-20
-2
0
0
-4
-25
-1
-1
0
2
0
2
14
0
7
1
0
0
0
50
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
-4
0
0
32
0
5
0
0
0
0
-6
-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
-1
0
4
-4
-18
-2
1
-6
23
0
3
22
-1
25
-7
32
0
0
5
0
4
-1
20
0
0
13
0
0
4
0
0
0
7
0
8
0
47
0
0
0
-4
81
0
0
23
0
0
0
-15
0
0
0
0
0
0
0
2
75
1
43
-24
0
5
63
-18
-3
-11
48
-31
-2
-37
-2
19
-8
-44
0
0
-21
-95
0
-1
-8
6
-3
-30
19
3
0
5
0
0
1
33
-5
18
-9
2
-2
0
-60
0
0
0
-1
-8
0
40
-14
-2
0
0
0
14
68
58
1
73
0
0
13
32
14
8
-47
0
0
36
-22
0
5
1
0
-1
5
56
-1
51
15
-24
-1
14
-44
0
-2
-27
0
0
10
-8
0
-4
-3
-2
8
5
-1
0
6
2
0
7
3
19
0
-3
0
0
0
0
60
2
0
0
0
0
-4
-21
1
13
5
0
0
-10
0
0
-41
6
0
0
6
75
-2
2
13
0
-1
14
11
0
-13
18
0
-1
-3
-20
0
-12
21
23
0
22
-7
0
46
0
0
0
2
18
5
-9
5
0
0
0
26
0
8
-5
0
0
0
56
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
1
0
0
22
0
-6
-2
4
0
0
8
0
0
17
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-47
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
51
0
0
5
-2
0
41
-21
0
0
-15
18
0
0
2
0
0
0
-30
0
0
-51
0
0
0
-76
0
0
0
0
0
0
0
0
27
0
0
0
0
5
0
0
0
0
0
0
-3
0
-9
0
0
0
0
22
0
0
0
0
0
0
54
0
0
26
0
0
0
-25
0
0
57
0
0
3
6
0
0
-1
0
0
0
-22
0
0
28
0
0
5
-13
0
0
5
0
0
0
13
0
0
0
0
0
0
-52
0
0
0
0
-2
0
88
0
0
0
0
0
0
29
2
0
0
0
0
0
7
0
20
4
0
0
0
-4
0
-3
-9
0
0
2
43
0
0
0
0
0
0
-10
0
0
-6
0
0
0
14
0
43
0
0
0
0
-1
0
0
0
0
0
0
63
0
4
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
32
0
0
0
0
0
0
1
0
0
7
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
2
8
0
-5
17
0
0
0
-14
0
14
-7
0
0
27
7
0
0
0
0
0
2
10
0
0
-1
2
0
-1
55
0
0
-5
0
0
0
-2
0
8
0
0
0
0
13
0
0
0
0
0
0
21
0
0
0
0
0
0
83
2
0
-5
0
0
0
47
5
0
9
0
0
-4
41
0
0
6
0
0
3
58
0
0
2
0
0
-3
-22
0
0
-2
0
0
0
25
0
0
3
0
0
-4
119
0
0
0
0
0
0
4
0
0
0
0
0
0
44
0
0
0
0
0
0
32
3
0
0
0
0
0
-41
0
-5
-6
0
0
0
9
0
0
4
0
0
2
13
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
7
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
68
-13
-15
34
12
-9
28
-32
-4
-31
42
4
-26
-18
22
-4
-3
-21
4
-45
-25
-6
-3
-2
5
1
43
-3
-29
-27
2
6
-28
39
0
9
-2
0
4
10
-67
0
0
0
0
0
0
0
-36
-19
0
4
6
8
1
-2
9
6
10
16
10
15
14
-17
47
-16
20
-13
44
8
-19
-7
2
-71
8
10
15
31
31
9
11
-28
66
40
17
-10
19
-40
9
28
6
18
68
-5
28
46
-4
-1
8
-80
11
-1
14
-8
5
13
32
118
98
-8
5
-40
34
67
-18
67
-23
44
37
11
3
-10
48
-13
4
4
10
27
24
17
54
8
72
13
-11
30
-21
-6
38
23
-17
-8
35
22
18
63
5
16
-8
4
-24
-9
-23
-14
-7
0
9
49
33
26
0
-4
-21
36
-7
0
31
0
-27
-32
-8
-36
-15
3
-1
1
-35
70
-23
-25
10
60
8
3
67
21
-30
1
4
14
1
55
49
23
6
81
-5
2
10
-1
-12
28
42
-1
22
44
64
-5
35
5
-29
43
25
-3
9
7
30
8
-14
43
-8
-5
-15
0
25
-22
-9
-5
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
-1
0
0
0
-1
0
0
-2
0
0
-1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
11
23
0
0
-6
0
0
12
0
-1
-5
1
0
0
-7
5
0
0
-8
0
0
3
14
0
0
0
0
0
4
30
0
0
0
0
0
0
-47
0
-3
0
-2
0
0
4
0
0
0
0
0
0
-40
-6
0
0
0
0
0
39
0
0
0
0
0
0
20
5
2
3
0
0
-5
0
0
0
-10
0
0
9
-31
0
0
2
0
0
0
-12
0
0
-6
0
0
0
32
0
0
1
0
0
0
58
0
0
12
0
0
0
8
0
0
1
0
-6
0
11
0
0
0
0
0
0
14
-2
-1
0
0
0
-6
13
0
5
4
0
0
3
0
0
1
-9
-7
0
-3
10
0
6
-6
0
0
1
3
0
0
0
0
0
0
47
0
-1
1
0
0
0
40
0
1
1
0
0
0
57
0
0
2
0
0
0
29
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
-9
0
0
1
4
0
28
-6
0
0
1
5
0
0
0
0
0
-1
-5
0
0
-3
0
0
0
13
0
0
2
0
0
0
42
0
7
0
0
0
0
-7
0
0
0
0
0
0
28
0
0
0
0
0
0
109
0
0
0
0
0
0
33
0
0
0
0
0
0
44
0
0
0
0
0
-8
13
0
0
-5
0
0
0
-13
0
0
0
0
0
-3
49
0
0
0
0
0
0
72
0
0
0
0
0
0
-10
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-14
0
0
-7
0
0
0
23
0
-4
0
0
0
0
17
0
2
0
0
0
0
14
0
0
0
0
0
0
3
0
-2
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
0
0
-2
0
0
0
-31
0
1
8
0
0
-16
0
0
0
0
0
0
0
7
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-18
0
0
0
0
0
0
42
0
0
0
0
0
0
-60
0
0
0
0
0
0
48
0
0
-3
0
0
0
8
0
0
1
0
0
0
-1
0
0
2
0
0
0
-1
0
0
0
0
0
0
-16
0
0
4
0
0
0
15
0
0
0
0
0
0
-23
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
60
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-42
29
-14
-55
20
16
-8
42
21
-5
57
-1
30
-23
-9
5
4
25
-35
4
-5
24
-5
0
-47
1
27
6
29
0
0
7
-27
11
0
-8
28
0
-1
-3
-57
0
0
0
0
0
0
0
5
-31
25
52
-94
18
1
-41
5
33
-13
-20
-28
-3
17
-10
-9
3
-5
-19
5
8
-13
14
-2
-6
-31
15
9
-36
4
0
80
13
13
25
44
-3
1
15
64
6
13
11
0
0
3
1
-23
0
25
1
16
0
60
3
-1
16
54
-42
25
6
1
61
43
-17
-57
84
62
17
-11
-8
-8
-8
27
-1
39
61
-13
-7
22
-62
58
19
-21
-10
8
-44
18
0
11
48
-8
-13
-6
-70
11
14
49
6
0
0
48
4
22
10
16
3
-9
-2
25
103
0
7
20
0
0
4
-8
43
-40
73
70
41
0
-1
61
8
31
32
-46
-5
5
29
46
23
22
28
21
5
16
-11
10
60
-56
40
49
51
43
30
13
4
36
-49
-46
33
-8
-20
55
-5
-12
0
-6
2
5
0
-8
3
0
7
0
70
-2
1
-2
0
-25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
8
52
0
59
19
0
0
25
7
0
0
0
0
0
0
60
0
0
0
0
0
-1
1
0
0
0
0
0
0
4
0
3
1
0
0
0
-3
0
0
0
0
0
0
-7
0
1
0
0
0
0
1
0
0
0
0
0
0
41
0
0
0
0
0
1
21
0
0
-2
0
0
0
-24
0
0
0
0
0
0
16
0
0
0
0
0
0
-27
0
0
0
0
0
0
29
0
0
0
0
0
0
8
0
0
0
0
0
0
65
0
0
0
0
0
0
57
0
0
0
0
0
0
58
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
5
0
0
-7
-2
0
7
0
0
0
0
0
0
0
7
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
1
6
0
0
20
-6
0
66
3
-2
0
14
-8
0
0
-10
0
0
-8
-10
0
0
5
0
0
-4
-25
0
0
4
0
0
1
-3
0
5
-6
10
0
-3
17
0
0
0
0
0
0
-71
-3
0
0
0
0
0
41
-7
0
5
0
0
6
25
0
0
23
0
0
7
40
0
0
8
0
0
0
63
0
-1
5
0
0
-3
-58
0
0
-28
0
0
-2
-78
0
-1
12
0
0
0
-42
0
0
0
0
0
0
-4
0
0
2
5
0
0
15
0
0
0
0
0
0
-19
-1
0
-1
0
0
0
-27
0
-58
-3
0
0
-1
2
0
0
-4
0
0
0
41
0
-2
0
0
0
0
-7
0
0
0
0
0
0
49
0
-1
-6
0
0
0
-25
0
0
0
0
0
0
-7
0
8
0
0
0
0
-4
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
0
0
-60
28
2
-1
-57
0
16
57
17
0
0
13
20
0
69
42
-6
0
-24
0
42
-5
28
0
0
0
41
-37
0
-13
-65
0
0
5
-22
0
0
0
0
0
0
0
23
9
-7
5
-3
-14
4
39
-56
-13
-26
12
61
4
31
41
25
13
-49
3
4
60
-26
5
-5
-11
-20
6
18
-10
-6
0
53
8
0
-4
62
-4
-28
5
51
-1
8
-19
1
7
0
0
-5
0
-20
3
-13
0
-5
0
1
-5
-20
10
26
-4
0
59
22
28
31
21
-25
-12
-5
13
0
4
3
0
0
23
16
0
61
45
-52
-2
43
21
-4
47
-26
0
14
-1
-31
33
1
-18
-55
-8
0
13
0
-5
41
7
5
2
4
-6
1
-14
39
-55
0
55
10
-6
0
0
3
1
17
12
13
52
0
0
-5
43
0
-36
13
-4
6
-4
-38
-12
116
-16
3
0
5
51
-1
-41
85
4
-25
4
-23
0
-44
38
-3
0
0
-30
23
-21
-12
5
0
0
52
-6
2
6
1
-1
0
-62
-1
18
-3
0
2
0
-16
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
-10
0
0
0
-3
0
0
1
0
0
-43
0
0
0
0
0
3
0
0
0
0
0
0
-21
0
0
10
0
0
0
-2
0
0
0
0
0
0
0
54
41
0
4
18
0
0
-72
76
8
-3
56
-8
0
43
0
4
0
14
0
0
-6
5
0
0
-2
0
0
2
-14
0
0
-16
0
0
0
14
0
-58
-6
-3
0
0
87
0
0
0
0
-10
0
59
24
-1
0
0
0
-7
35
110
-1
-5
0
0
-9
64
13
12
25
-4
0
-7
39
0
0
31
0
0
27
0
0
0
24
4
0
4
-14
0
0
12
0
0
7
103
0
0
3
2
-1
0
-43
0
1
2
-3
-3
0
-1
0
-6
7
6
0
0
-13
0
7
0
0
0
3
27
13
-4
0
0
0
-1
6
0
46
1
-4
0
7
42
1
-2
25
0
0
-1
0
0
8
-3
0
0
-4
-38
0
1
-2
5
0
2
-17
0
-34
-1
0
0
0
-41
0
0
0
2
6
0
16
0
56
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
12
0
0
0
32
0
4
-13
4
0
49
5
0
0
1
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
21
0
17
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
-57
0
0
0
0
0
0
-25
0
0
-16
0
0
0
-14
0
0
7
0
0
0
42
0
0
4
0
0
3
-13
0
0
1
0
0
0
8
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
7
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
37
0
0
0
0
0
54
3
0
6
25
0
0
-8
-21
0
0
0
0
0
2
-5
0
0
0
-4
0
0
13
0
0
0
0
0
0
-6
0
0
-2
0
0
0
8
0
0
0
0
0
0
48
-4
0
0
0
0
0
121
2
0
0
0
0
0
-52
-7
0
5
2
0
0
25
0
0
0
0
0
0
-17
0
0
0
0
0
5
18
0
0
-6
0
0
0
-34
-2
0
10
0
0
0
8
0
0
0
0
0
0
2
0
0
1
0
0
0
50
0
0
0
0
0
0
-20
-2
0
-2
0
0
0
27
0
4
-2
0
0
0
-4
0
0
0
0
0
7
10
0
0
0
0
0
0
29
0
0
0
0
0
9
-3
0
0
-1
0
0
0
-17
0
0
-8
1
0
0
7
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
88
0
-4
20
0
4
-53
-9
2
0
-3
-7
5
3
-15
0
1
19
0
-1
0
12
10
0
0
-8
-15
0
-2
-21
0
0
0
50
0
0
0
0
0
0
0
-3
1
-1
-1
4
9
0
34
106
-4
-40
17
-6
-3
-27
39
1
-7
-34
-1
2
39
-35
0
0
24
32
5
19
-14
3
15
21
0
0
3
-38
0
2
6
-14
-5
0
5
0
0
2
0
-3
0
43
-7
7
0
-5
0
0
26
-51
0
34
0
0
5
-45
28
3
-32
-4
1
65
18
-2
-4
27
-1
-3
33
-11
0
-10
55
55
-1
21
1
5
-2
4
16
-1
2
-25
-2
0
124
49
0
7
-64
0
0
-14
0
-2
4
48
-1
0
0
-9
50
0
-21
0
0
0
0
-5
6
5
42
0
16
0
0
6
65
0
44
60
0
0
-15
-22
2
42
-14
0
-8
-4
6
1
-2
-6
0
9
0
78
-5
-6
-12
-7
-3
0
6
-1
2
0
0
0
-1
57
5
-23
8
0
-3
0
52
-2
6
0
0
-13
0
-59
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
0
3
2
1
0
0
-9
0
4
0
0
-3
-2
0
0
18
0
2
0
0
0
0
-21
0
0
36
0
0
0
54
0
0
0
0
0
0
0
-35
-20
0
0
25
0
0
51
-14
-2
30
8
0
0
31
60
0
0
10
0
0
-14
9
0
0
-2
0
-4
-3
-40
0
0
51
0
0
5
44
0
57
-6
0
0
0
3
0
0
0
0
2
0
57
-29
8
0
0
0
0
0
5
0
-5
0
0
1
41
-3
0
-49
0
0
-66
-26
0
2
41
0
0
-109
15
0
0
25
0
0
50
4
0
-4
-20
0
0
4
-28
0
0
4
0
0
0
-45
0
0
-1
0
6
0
-49
0
0
19
0
16
0
-41
0
0
0
0
0
0
-79
-16
3
0
0
0
-1
-35
0
35
-18
0
-1
14
59
0
-4
-40
0
0
4
-40
0
-8
-4
-5
-1
9
33
0
-1
-1
0
0
0
74
0
-11
32
0
0
2
-60
0
-2
-3
0
0
0
-40
0
53
2
0
3
0
5
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-19
0
0
-1
0
0
0
0
0
0
0
0
18
-20
0
0
48
0
0
-23
63
0
-55
46
0
0
-45
92
0
0
-3
0
0
10
-52
0
0
-5
0
0
9
-6
0
0
-8
0
0
1
49
0
-47
0
30
0
0
-14
0
0
0
0
0
0
65
-8
-5
0
0
0
0
87
-25
0
18
0
0
-4
57
2
-7
-1
2
0
23
-27
0
1
15
0
0
16
8
0
0
67
-2
0
13
24
0
0
-7
0
0
0
57
0
0
-13
0
0
-5
-13
0
0
-1
0
0
0
-30
0
3
0
0
0
0
-74
0
0
0
0
0
0
16
-3
0
7
0
0
0
-10
0
43
4
0
0
0
3
0
0
16
0
0
4
4
0
1
-5
0
0
4
12
0
0
0
-2
0
-3
13
0
0
0
0
0
0
-15
0
0
0
0
0
0
45
0
-9
0
0
0
0
89
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-10
0
0
89
45
13
2
-16
-1
0
-26
0
-26
-6
-5
-1
0
1
-48
46
0
-1
34
0
0
0
0
0
0
0
0
0
0
0
-75
-18
5
8
-30
-3
0
10
-24
6
8
-3
-10
-3
-15
-36
-13
-2
-23
12
-4
-6
14
0
3
-14
49
0
7
-23
5
0
52
-1
-14
4
-13
0
-14
28
-59
-5
-8
2
0
0
0
0
6
0
-8
-28
14
0
19
0
0
13
-1
1
1
0
0
-20
-18
-5
9
-46
-2
22
-8
-17
4
-12
28
3
0
5
-30
8
-3
-6
31
1
-4
20
6
-24
-44
-2
-3
7
-11
-6
1
-53
19
2
0
-12
0
0
-16
0
-13
0
73
5
-3
0
-10
-64
0
10
-2
0
0
-1
0
0
-28
-14
-8
-21
0
0
0
-44
-12
41
-8
0
0
25
36
1
-4
15
23
0
0
12
-3
46
-33
-2
0
-2
46
4
-2
16
25
0
0
4
0
56
21
2
0
0
49
0
6
-31
-1
-1
0
15
-3
6
0
0
-5
0
45
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
2
0
2
0
0
1
13
0
0
0
0
0
0
-1
0
0
0
-3
-15
0
0
-22
0
0
0
5
0
0
0
0
0
0
0
-23
28
-3
0
14
0
0
76
36
0
-34
-34
7
0
-33
9
8
1
-26
0
0
6
0
3
0
-13
-20
0
7
-75
0
0
2
0
-1
1
17
0
18
28
1
1
-4
47
0
0
0
0
-7
0
39
20
2
0
1
0
0
9
8
0
-18
0
0
-25
80
6
-4
-30
1
0
-26
42
0
2
8
0
0
-3
-7
0
1
31
-10
0
-3
0
0
-4
-7
-1
5
10
-29
-1
0
-8
-1
0
0
5
0
0
5
0
7
0
-53
0
0
0
2
-23
0
12
0
0
0
0
0
0
-22
15
2
1
0
0
0
31
5
43
64
0
0
-3
-4
0
0
5
-2
0
0
63
0
6
-7
0
0
0
0
0
2
-1
5
0
0
31
0
-3
-1
0
0
0
19
0
0
-1
2
0
0
0
0
5
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
23
0
1
-1
1
0
-2
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
-9
0
-2
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
-54
0
0
-3
0
0
0
-25
0
0
5
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-6
0
0
2
-1
0
-3
-1
8
0
9
0
0
0
-4
0
0
0
1
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
0
0
-1
0
0
6
0
0
0
0
0
0
-28
7
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-14
0
0
0
0
0
0
-15
0
0
-1
0
0
0
-2
0
0
-5
0
0
0
-18
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
2
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
0
0
0
0
2
-12
3
0
0
-2
0
6
0
-1
0
0
0
-8
-14
0
0
-57
0
0
0
1
0
0
0
0
0
0
0
16
24
0
0
-6
0
0
-32
-15
0
4
-1
30
0
-17
-94
0
0
-1
3
0
80
83
0
0
8
-8
5
35
-26
0
0
-3
0
1
3
27
0
-9
0
0
0
0
-28
0
0
0
0
0
0
10
-3
0
0
0
0
0
7
32
0
-7
0
0
2
-13
-19
15
-3
0
0
-22
4
0
-14
12
6
0
-7
-83
0
0
8
7
-7
18
9
-3
2
2
0
7
0
51
0
0
0
-7
0
0
57
0
-8
-3
0
-12
0
-25
0
0
3
1
-1
0
10
0
0
0
0
0
0
-85
-19
9
-8
0
0
0
-29
0
-28
2
0
0
-4
-15
0
-6
-6
0
1
2
-41
0
14
0
0
0
-1
-46
0
14
0
-6
0
0
-69
0
-9
0
0
-1
0
-7
5
0
0
-6
0
0
-10
0
12
0
0
0
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
4
0
-17
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
0
8
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-42
0
0
-8
0
0
0
-14
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-4
0
2
0
0
0
-2
0
0
0
7
0
0
0
24
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-40
0
0
44
0
0
5
-7
0
-5
-5
1
0
-18
-22
0
0
14
0
0
-2
-13
0
0
25
9
0
3
-1
0
0
-30
0
0
-1
8
0
-15
0
45
0
0
-30
0
0
0
0
0
0
-3
-3
2
0
0
0
0
-57
1
0
0
0
0
-2
-16
3
-1
-5
0
0
-1
5
0
-2
-7
0
0
25
-33
0
1
2
-4
0
-5
-32
0
0
52
1
0
0
1
0
0
0
0
0
0
39
0
0
-3
0
0
0
62
0
-4
0
1
0
0
11
0
0
0
0
0
0
30
7
0
1
0
0
0
-14
0
-8
20
0
0
0
17
0
0
-7
0
0
0
72
0
-3
2
0
0
-2
84
0
1
9
-5
0
0
-29
0
0
0
0
0
0
-44
0
0
0
0
0
0
5
0
6
0
0
0
0
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
9
0
0
0
5
-12
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
-10
-34
-2
0
7
0
0
1
-37
0
-3
33
6
0
-26
16
0
0
110
0
0
0
-38
0
0
32
19
0
0
32
0
0
16
-1
0
0
-34
0
-12
-1
20
0
0
-56
0
0
0
0
0
0
-85
0
-3
0
1
0
0
-27
27
0
-15
0
0
-1
14
1
0
26
-3
0
0
-82
0
2
41
0
0
-8
-34
0
-1
-9
-2
0
0
58
-8
0
-49
-1
0
0
-31
1
0
-20
0
0
0
46
0
0
-2
0
2
0
-40
0
0
1
3
-19
0
7
0
-2
0
0
0
0
32
4
0
-6
0
0
3
3
0
-18
4
0
0
-8
-65
0
0
-5
-3
0
0
-72
0
-7
0
0
0
0
-25
0
0
4
0
0
0
67
-2
25
8
0
0
0
86
0
-1
0
1
0
0
15
0
-6
0
0
0
0
22
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
-8
0
1
-5
0
0
0
0
0
-4
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
-13
-10
-1
0
-5
-1
0
-60
50
-2
-18
59
0
0
-30
41
0
6
4
0
0
3
-39
0
0
39
29
0
2
0
-1
13
-4
0
3
0
-5
0
18
0
0
-4
0
-54
0
0
-1
0
-8
0
31
-6
0
0
0
0
-1
-23
40
0
-24
0
0
-5
-12
2
0
33
0
0
57
32
0
0
43
1
0
-13
55
-3
1
3
23
3
0
-13
0
-1
-3
0
0
0
0
0
0
0
14
4
0
28
0
0
0
0
-7
0
28
0
0
0
13
0
0
-5
0
0
0
0
0
-2
56
15
-2
-1
1
0
0
-100
0
57
-2
0
0
8
35
0
7
-31
0
0
4
-77
0
2
9
0
2
-1
-53
0
0
-3
1
0
0
0
5
-8
16
0
-4
0
-41
0
-5
0
-2
0
6
16
0
1
0
0
3
0
-20
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
1
7
0
3
1
0
0
0
2
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
41
0
0
0
0
0
0
14
0
0
0
0
0
0
66
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
1
0
0
0
4
0
0
-2
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
2
-69
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
-1
-8
0
-4
1
-12
0
10
-5
0
0
-24
12
0
0
49
0
0
0
-6
0
0
-1
0
0
8
-53
0
0
2
-3
0
0
12
0
-9
0
90
0
0
-21
0
0
0
0
0
0
-5
-3
0
0
0
0
8
23
-7
0
-10
0
0
3
-60
6
-5
0
3
-3
-5
16
0
0
-5
0
0
0
1
0
0
3
3
-14
-5
27
6
-2
3
0
0
0
-20
2
0
0
-8
0
4
13
0
0
0
0
0
0
-4
0
0
0
-2
6
0
2
0
0
0
0
2
0
-13
-1
0
0
0
0
8
10
0
33
-13
0
0
1
31
1
3
0
0
0
0
-22
0
0
-3
0
8
0
-47
0
0
0
12
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
0
0
0
0
13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
-1
0
0
0
0
0
0
60
0
0
-16
0
0
0
2
0
0
0
0
0
0
0
7
43
0
7
-16
0
0
-1
7
0
8
1
0
0
25
-26
0
0
0
0
0
-1
1
0
0
-1
0
0
15
50
0
0
25
0
-2
0
10
0
68
0
0
0
0
22
0
0
0
0
0
0
-24
1
0
0
0
0
0
-48
-3
0
-1
0
0
-1
49
2
0
-1
0
0
-1
23
0
0
13
0
0
-10
43
0
0
21
2
0
0
24
0
0
1
0
0
0
-19
0
0
4
0
0
0
27
0
0
2
0
0
0
40
0
0
0
0
2
0
13
0
0
0
0
0
0
-25
-2
0
0
0
0
-4
-43
0
20
0
0
0
0
1
0
0
-2
0
0
3
42
0
4
5
0
0
0
17
0
0
0
0
0
0
14
0
1
0
0
0
0
-9
0
0
0
0
0
0
31
0
-1
0
0
0
0
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
-2
0
-5
-2
-21
0
0
0
39
0
0
-1
0
0
0
0
0
0
0
0
-2
10
0
3
-66
0
0
13
-47
0
11
64
5
0
94
-29
0
0
-12
0
0
10
-11
0
0
0
0
0
1
8
0
0
6
0
0
1
-25
0
-19
22
35
0
0
-30
2
0
0
0
0
0
54
0
-7
0
4
0
0
-22
-25
1
32
0
0
5
15
0
9
-4
0
0
0
23
0
0
-2
0
0
-2
36
-5
1
-14
-4
0
0
18
0
0
-6
0
0
0
-11
0
0
17
-1
0
0
-18
0
0
0
0
0
0
0
0
0
14
15
0
0
47
-2
0
0
0
0
0
-37
8
-2
0
0
0
0
-39
0
7
-7
0
0
-8
-32
1
0
8
0
0
-5
-21
0
-9
5
0
0
0
-60
0
0
4
-1
0
0
-11
0
7
-2
0
0
0
20
0
0
8
-2
0
0
-26
0
-9
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
13
5
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-5
30
0
0
-18
0
0
-4
-68
0
5
25
0
0
-8
36
0
0
-15
0
0
0
11
0
0
13
2
0
0
-18
0
0
25
0
0
0
6
0
22
2
-7
0
0
-28
0
0
7
0
0
0
2
-1
-4
0
0
0
0
3
20
0
-6
0
1
1
-15
0
0
-13
5
0
0
-49
3
8
1
6
-4
0
-8
0
0
-6
0
0
1
-14
0
0
13
0
0
-5
-17
0
0
19
-1
0
0
-49
0
0
0
0
-5
0
16
0
0
0
1
22
0
31
0
0
0
0
-3
0
-2
0
0
3
0
0
0
5
0
22
-4
0
0
0
-26
1
0
-7
0
0
0
1
0
-8
-8
0
0
0
-5
0
0
-3
0
1
2
16
0
1
0
0
0
0
-4
0
0
1
0
0
0
49
0
3
2
0
0
0
31
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
53
-6
0
1
-1
0
0
-4
0
-2
71
-60
8
0
-11
26
0
0
-5
5
0
-1
42
0
0
-12
3
-6
2
-22
0
0
-22
0
0
4
0
0
-14
0
2
-8
0
24
0
0
0
0
0
0
-73
2
-1
0
0
0
-1
47
-8
0
-5
0
0
13
-45
13
5
0
0
0
5
-27
0
-2
-3
0
0
27
20
0
-8
33
-7
0
0
-34
0
0
18
-2
0
-2
85
1
0
-1
0
0
0
0
0
0
0
-3
-3
0
-3
0
0
0
0
0
0
-14
3
0
0
0
0
0
38
6
0
0
0
0
0
23
-1
14
-1
0
0
0
-28
-2
3
17
-5
0
0
15
0
-6
5
0
0
0
66
0
-2
-5
0
0
0
-56
0
3
-2
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
-18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
-1
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
-2
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
4
40
0
2
-13
0
0
0
38
0
-1
-2
0
0
-19
-78
0
0
0
0
0
8
40
0
0
4
-3
0
0
1
0
0
0
0
0
0
21
0
-11
0
-3
0
0
-3
0
0
-1
0
0
0
-22
-1
0
0
0
0
0
22
-5
0
0
0
0
0
-1
0
0
3
0
0
6
-74
0
0
0
0
0
-1
-21
0
0
8
0
0
0
-5
0
0
0
0
0
0
-75
0
0
0
-2
0
0
-78
0
0
0
0
0
0
-3
0
0
0
0
0
0
62
0
0
0
0
0
0
-12
0
0
0
0
0
0
-25
0
0
0
0
0
1
-4
0
-2
0
0
0
0
1
0
3
0
0
0
0
-10
0
5
0
0
0
0
40
0
8
0
0
0
0
-4
0
0
0
-7
0
0
-30
0
7
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
3
-3
0
0
0
1
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
-7
0
0
4
0
0
0
0
0
0
0
0
-5
15
0
0
-45
0
0
-39
-44
6
33
-20
4
0
-54
7
0
0
31
0
0
5
-55
0
0
-83
-23
0
0
-45
0
0
22
0
0
-2
-5
0
3
10
3
0
0
4
6
0
1
0
0
0
13
26
35
0
0
0
-6
-3
-42
0
21
0
0
70
32
0
0
-10
-1
0
-27
26
0
0
-7
0
0
5
42
0
0
0
14
0
18
12
0
3
-11
0
0
0
13
0
0
-1
50
0
1
-35
0
0
-22
0
0
0
-1
0
0
8
0
0
0
-13
0
0
0
0
0
0
-27
-6
-1
20
0
0
4
-106
0
-29
31
0
0
-5
-36
0
0
26
0
0
3
-62
0
6
0
0
0
8
23
0
-1
7
5
0
0
-1
0
0
5
0
0
0
37
0
0
0
13
0
0
15
0
62
1
0
0
0
-59
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
32
0
0
2
0
0
0
-16
0
-3
-1
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
10
0
0
0
0
-21
0
0
0
0
0
0
60
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
-6
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
0
0
1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
-25
0
-2
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-45
1
0
0
21
0
0
-50
46
0
-7
56
0
0
-50
84
0
0
4
0
0
-5
75
0
0
0
0
0
1
43
0
0
4
0
0
0
42
0
27
-5
0
0
13
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
-3
-1
-4
0
0
12
22
-3
-4
-19
0
0
0
23
0
0
30
0
0
-3
-18
0
0
-4
2
0
1
35
0
0
3
0
0
0
-41
0
0
2
0
0
10
58
0
0
0
0
0
0
0
0
0
0
-5
0
0
22
0
0
0
0
0
0
-6
0
0
0
0
0
0
52
0
52
-13
0
0
0
-2
0
-1
3
0
0
-2
5
0
-1
-5
0
0
0
-3
0
2
3
-7
0
0
-7
0
-5
0
0
0
0
-5
0
0
0
0
-2
0
0
0
-4
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
7
0
0
1
-1
0
0
3
0
0
0
0
0
0
0
-1
0
0
17
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
68
0
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
-1
0
0
0
0
0
1
-1
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
15
0
0
0
-2
0
8
1
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
-4
0
0
0
0
16
0
0
0
0
0
0
80
-1
0
0
0
0
0
-70
0
0
0
0
0
0
25
0
0
-1
0
0
0
-3
0
0
0
0
0
0
16
0
0
-4
0
0
0
5
0
0
0
0
0
-2
1
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
0
0
0
0
0
0
75
0
0
0
0
0
0
-1
0
-3
0
0
0
0
-2
0
0
0
0
0
0
3
0
-1
0
0
0
-1
-1
0
0
-3
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
-1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
0
5
63
0
0
-21
0
0
19
20
0
-55
49
0
0
-11
88
0
0
-3
0
0
-1
-41
0
0
-22
0
0
-6
58
0
0
1
0
2
0
-1
0
1
0
0
-2
0
42
0
0
0
0
0
0
-53
-1
1
0
0
0
0
-6
0
0
2
0
0
0
11
0
0
-5
0
0
1
-67
0
0
5
0
0
-24
-5
0
0
2
0
0
0
-60
0
0
28
0
0
0
-10
0
0
3
0
0
2
30
0
0
0
0
21
0
26
0
0
7
0
4
0
-15
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
0
34
1
0
0
0
18
1
0
0
0
0
0
4
0
0
0
0
0
0
52
0
0
4
0
0
0
43
0
-1
0
0
0
0
25
0
0
3
0
-6
0
16
0
-1
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-36
0
0
-10
0
0
0
0
0
0
0
0
95
5
-2
3
28
0
0
13
-16
0
12
-49
24
0
8
46
2
3
14
1
0
-29
49
0
1
68
26
0
8
3
0
7
-8
-1
0
32
-58
0
18
33
-16
0
-2
-11
-5
0
0
0
8
0
23
-9
-48
0
0
0
-13
-11
-88
0
20
-3
0
6
-22
54
-1
12
8
0
-14
13
-4
5
34
2
0
26
32
5
0
-52
51
0
67
-2
0
-5
-7
-1
0
18
-11
7
-4
-29
32
0
16
5
-1
-8
0
0
0
0
-55
-6
-21
11
-22
0
0
1
0
5
0
-3
0
-1
-5
24
-48
29
6
0
-53
-24
6
68
9
-2
0
76
-6
-10
-5
-92
0
0
-43
-16
0
-28
-16
4
0
18
6
0
46
-20
55
0
-6
-33
16
-35
28
-4
0
0
18
-5
-15
12
-7
0
0
-14
0
13
-3
0
0
0
-22
-13
15
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
53
0
0
5
0
0
-2
2
0
-40
1
0
0
9
2
0
0
7
0
0
-1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
6
29
0
0
-6
0
0
0
5
0
0
-8
0
0
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
44
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-70
-7
7
-14
-1
0
-68
-47
-1
48
37
-20
0
22
16
0
-1
-13
0
1
-81
58
0
5
-48
-7
-12
4
25
0
0
-19
2
27
25
52
0
-29
-84
-13
0
2
61
-1
0
0
0
-2
0
-49
0
51
0
-7
0
0
-32
19
6
-8
4
0
52
-40
41
13
38
0
1
-3
-1
-6
6
50
0
-8
45
1
6
18
67
2
0
4
17
0
4
-43
0
0
32
-5
-12
0
-16
-61
-4
13
-46
0
-2
18
4
24
0
4
0
7
-1
51
-22
0
14
0
0
0
-2
0
-6
0
45
-7
6
-8
0
-5
-59
-9
-32
90
0
2
1
-24
3
14
10
0
0
0
-34
3
8
-50
3
0
7
0
-5
-1
-4
41
1
1
-24
0
48
17
7
1
-1
-1
0
0
13
5
0
0
61
0
33
0
0
7
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-4
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
0
0
-1
0
0
2
-3
0
49
-3
0
0
4
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
-2
0
0
0
-10
0
0
0
5
0
0
1
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-29
0
0
0
0
0
0
17
0
0
2
0
0
9
5
0
0
-6
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
31
0
0
0
0
0
0
13
6
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
25
0
0
0
-5
0
0
-4
0
8
0
0
0
0
9
0
0
0
0
0
0
5
0
10
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
25
-4
0
-52
0
0
32
-44
0
-43
-21
-8
0
-5
-22
0
1
-33
4
0
0
-97
1
0
-6
-20
0
0
87
0
0
-10
0
0
-1
15
0
14
-8
4
0
0
34
8
0
0
4
0
0
13
-31
0
0
0
0
-2
-1
12
0
-30
0
0
34
4
-5
-2
0
0
0
47
-20
6
0
15
0
0
23
60
-1
0
-15
-9
0
19
31
0
0
47
0
0
3
-49
-3
2
-35
8
0
0
-14
0
0
1
0
0
0
-53
0
7
-5
34
0
0
47
-1
0
0
0
0
-2
-7
1
0
5
0
0
6
10
0
57
-8
0
0
2
65
-3
1
27
0
0
5
55
1
-8
-2
0
0
5
-14
0
0
20
0
0
0
102
-4
-12
-7
4
0
0
6
0
4
-1
0
0
0
7
0
20
0
0
0
0
55
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
22
-10
0
51
2
-2
10
37
0
4
2
-2
0
4
-66
-1
0
31
-8
-2
-2
24
0
-2
-29
2
6
2
11
0
37
3
13
-2
0
36
0
0
-1
7
-1
0
54
38
24
-5
-2
0
-1
53
7
-4
-33
0
0
54
24
-8
1
-53
3
-2
13
1
15
9
-12
2
-2
-67
-11
0
6
37
39
-4
-33
-4
0
-35
0
8
7
1
-55
0
0
-25
60
-6
-3
52
8
-3
66
0
-6
0
33
0
4
-3
31
2
0
13
-10
0
0
5
0
1
19
-17
0
15
-3
0
21
-21
0
-38
100
-1
8
-25
31
0
10
76
23
4
-5
15
-2
14
65
7
4
-5
27
0
-8
-6
-16
3
-2
15
-2
-41
-14
7
0
0
4
0
-4
-8
2
0
-5
13
0
54
0
0
-5
0
43
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-10
-21
-9
15
1
-58
3
12
-20
5
-48
-54
40
-8
2
-85
-2
-9
1
-9
-105
0
-20
66
-17
13
28
-39
6
-18
2
-31
-10
-10
-5
5
15
-2
90
-2
1
1
-21
-34
-30
-1
-32
9
49
-5
13
-54
56
-8
-8
-28
0
8
-30
13
-63
61
-24
6
50
-31
-10
-28
54
2
13
24
23
18
-15
15
8
-16
16
3
-12
-21
73
12
-6
49
-11
12
2
20
-16
9
96
3
-17
24
48
5
7
-28
17
9
-26
-5
-1
-13
-74
-6
-25
90
-22
-36
19
28
-45
21
-13
-12
-41
0
27
36
44
87
31
11
-7
-38
54
-75
-51
-2
-20
9
-14
48
-39
-18
5
111
42
22
49
1
-14
4
18
-8
71
-62
36
78
14
-46
-6
44
-31
38
-9
58
-5
-9
-2
4
74
50
-23
1
7
18
-29
-19
48
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
0
31
37
0
0
5
14
0
0
20
0
0
0
47
0
0
2
3
0
0
-19
0
0
0
0
0
0
-2
0
12
0
0
0
0
4
0
0
0
0
0
0
-7
0
1
0
0
0
0
-37
0
0
8
0
0
0
-65
0
-1
1
0
0
0
3
0
0
6
0
0
-14
19
0
0
3
0
0
0
-31
0
0
1
0
0
0
-50
0
0
-3
0
0
0
-69
0
0
0
0
0
0
-25
0
0
0
0
0
0
32
0
0
0
0
0
0
16
3
0
1
0
0
0
27
0
0
0
0
0
0
22
0
0
0
0
0
0
-13
0
0
-4
0
0
0
0
0
3
0
0
0
0
41
0
3
0
0
0
0
20
0
-1
0
-2
0
0
48
0
0
0
0
0
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
0
114
66
1
0
-44
-13
0
0
0
0
0
12
14
0
0
-5
0
0
-2
-39
0
0
4
0
0
0
-25
0
6
0
-1
0
0
3
0
0
0
0
0
0
47
0
0
0
0
0
0
66
-1
0
15
0
0
0
60
0
0
1
0
0
-2
8
0
0
-7
0
0
-1
-7
-6
0
-8
0
-2
0
44
0
0
-1
0
0
0
22
0
0
0
-4
0
0
-6
0
0
0
0
0
0
8
0
0
0
3
0
0
-35
0
0
0
0
0
0
-9
-1
0
0
0
0
0
2
0
14
0
0
0
0
47
0
0
1
0
0
0
20
0
3
1
-1
0
0
-33
0
0
0
8
0
0
-25
0
-2
0
0
0
0
3
0
0
2
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
19
43
-46
33
4
1
32
-7
-2
13
42
0
-6
-8
-7
0
-1
51
46
-2
-22
-23
-2
-1
-12
7
-14
-9
-5
0
12
-2
-23
-3
0
46
-3
0
8
5
-31
0
49
-20
12
0
-42
2
7
26
44
-35
4
2
0
50
13
4
3
-7
-32
8
14
32
-3
-20
-44
-1
1
22
19
-1
4
45
-38
23
58
-11
-3
26
20
27
5
10
10
0
-6
-68
25
6
9
-8
0
-8
-20
2
48
0
26
-2
-4
-7
-94
-6
0
5
-7
0
0
0
14
44
31
-20
-3
-19
-1
0
24
20
-25
-5
29
4
-1
21
-18
8
8
80
6
1
24
-27
4
102
36
-6
7
-21
-66
-10
69
3
44
-1
18
25
0
-11
28
-6
20
2
-12
0
-48
-41
81
0
16
-65
-4
-42
0
1
8
0
-60
-1
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
48
4
0
0
1
35
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
42
0
0
0
0
15
0
0
0
0
0
0
15
0
1
0
0
0
0
78
0
0
0
0
0
0
-70
0
0
1
0
0
0
47
0
0
1
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
16
0
0
2
0
0
0
70
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
23
0
1
0
0
0
0
-1
0
0
0
0
0
0
-6
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
0
-1
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
2
0
0
0
0
8
0
0
0
0
0
0
-6
-4
0
0
0
0
0
-15
2
0
0
0
0
5
-25
0
0
1
0
0
0
7
0
0
0
0
0
-6
39
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
59
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
-6
0
0
0
-1
0
0
0
0
0
0
-13
0
5
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
124
20
0
4
43
-8
0
-17
-18
0
5
-22
-5
0
-21
3
5
-8
30
0
0
0
-24
-2
-13
16
-3
1
-3
36
-5
0
0
-8
-31
-1
-18
26
15
0
-4
0
-8
-15
-5
10
79
4
0
5
-37
-5
13
-20
7
0
-3
12
1
0
37
0
-2
70
24
0
-3
14
21
0
54
-8
0
-2
-42
-2
0
0
-70
-3
5
84
-17
-7
3
53
0
8
-28
0
-1
0
13
0
25
24
-24
-39
0
5
0
8
0
0
0
0
34
71
-17
59
5
0
-1
-13
-1
-55
74
0
-2
-12
5
-3
23
-4
-5
0
23
15
-4
-17
-44
4
0
-1
30
-3
2
7
-17
6
22
-14
4
-47
41
-1
-8
5
6
-3
13
5
7
0
0
-25
0
87
1
0
2
0
33
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
21
0
13
-3
-7
20
-32
1
5
33
9
1
12
-65
0
0
-21
6
42
57
-7
0
-31
-46
46
-5
13
-43
0
0
7
-8
5
0
7
29
-75
0
-6
0
5
2
-7
2
-35
-3
0
115
37
-3
-7
50
3
-60
42
0
10
8
-49
-5
5
29
4
-37
50
96
5
-19
84
-21
42
-20
-41
-4
75
-36
5
-5
5
-15
-58
68
5
4
0
-2
-1
-5
-13
-9
-33
-2
5
0
-29
24
0
5
-20
0
0
19
-2
42
-10
39
7
-44
0
1
46
7
47
-4
44
3
9
-6
0
8
124
28
-14
1
44
16
6
-4
9
-28
8
4
-15
-1
-17
14
-5
-2
-84
-3
0
15
-13
45
4
-7
19
0
-25
-4
-41
6
0
23
0
-22
-8
2
0
0
-51
-4
-3
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
0
-7
0
0
-4
-15
0
0
-3
0
0
0
37
0
0
0
0
0
3
-13
0
-19
0
0
0
0
6
0
0
0
0
0
0
-66
-2
1
0
0
0
0
-70
8
0
13
0
0
0
34
0
2
-2
0
0
4
-39
0
0
2
0
0
0
2
0
0
0
0
0
0
21
0
0
0
0
0
-1
-13
0
0
0
0
0
0
33
0
0
0
0
0
0
-8
0
0
-2
3
-8
0
76
0
0
0
0
0
0
71
1
0
7
0
0
0
33
0
0
-4
0
0
0
-2
0
0
0
0
0
3
1
0
0
0
0
0
0
5
0
0
-2
0
0
0
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
42
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
-5
-2
-23
17
31
10
16
7
-8
-22
-63
5
-9
-17
0
-5
2
-2
63
16
-35
1
26
-16
-22
17
-13
-51
2
-1
3
0
-53
4
44
-56
66
0
53
-4
42
33
-6
2
77
-4
3
88
-80
56
48
26
-13
24
14
1
-3
-32
-37
14
3
30
14
18
61
25
44
22
96
-48
0
9
-36
-18
-31
54
-40
23
42
-9
58
-37
30
27
0
15
-7
19
-37
-8
39
-1
2
-18
5
-39
0
0
0
0
0
0
-5
9
22
0
21
-11
-1
0
9
20
22
-25
32
13
2
23
-7
8
43
14
-18
1
-37
4
15
-6
13
-13
41
28
-6
0
-27
-43
55
4
14
-17
4
9
20
-31
15
0
36
-3
-2
-11
17
-1
1
12
0
-18
6
-4
4
0
4
17
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
27
42
4
-30
5
-1
8
10
7
0
13
13
2
-23
-1
0
-7
-45
1
53
49
-42
6
-30
-20
38
0
2
37
8
34
-3
0
60
0
-26
61
-47
0
22
8
7
33
80
0
114
-1
3
7
3
-68
5
39
-6
-1
42
32
4
5
11
-5
0
30
27
5
13
19
6
-2
-43
35
1
9
-57
-6
3
-20
-4
17
-13
-50
41
-5
9
9
-3
1
46
0
16
2
8
10
-19
-22
42
-3
0
-31
-2
-7
0
0
5
-21
-23
-12
7
-17
5
1
49
-17
-10
32
-1
1
1
40
4
2
26
-25
-9
17
-18
-36
2
19
40
-7
-23
-30
-4
8
-5
-49
-32
1
43
28
-14
4
22
-5
4
3
34
5
8
50
41
-3
0
46
-8
1
32
0
-22
0
21
2
22
-5
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
-29
0
0
-16
31
0
0
-27
0
0
-6
35
0
0
-14
0
0
0
54
0
-5
4
0
-2
0
-21
0
0
0
0
1
0
22
-13
8
0
0
0
0
3
7
-6
-5
0
0
1
60
-4
0
49
0
0
-24
-13
0
0
5
0
0
18
-66
-2
0
21
0
1
6
-24
0
0
20
0
0
-2
-58
0
0
33
1
0
-1
17
0
0
0
0
-4
0
33
0
0
-1
0
23
0
2
0
0
0
0
0
0
-25
6
0
0
0
0
-3
-50
0
27
-6
0
0
41
4
3
-1
-7
0
0
-2
-5
0
-12
0
0
13
1
-9
3
-3
18
0
0
0
34
0
1
4
0
-1
0
45
0
0
0
0
0
0
-25
0
-6
0
0
0
0
12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
-4
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
-4
0
0
0
0
0
53
0
0
0
0
0
0
27
0
0
3
0
0
1
-10
0
0
1
0
0
0
14
0
0
0
0
0
0
-41
0
0
1
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
17
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
-2
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
41
0
-5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
2
-14
26
40
-4
-2
13
-2
0
78
-1
9
0
-42
2
9
-7
-58
33
0
13
9
0
2
1
-7
0
2
18
29
0
32
5
1
-15
28
-2
-24
0
0
-22
-20
26
37
43
41
7
-34
-4
-14
-5
-11
-6
1
-61
-8
-3
-41
17
27
0
18
31
-6
55
28
-25
6
3
16
1
17
62
-6
45
0
-24
6
-2
36
2
5
6
-22
0
-38
20
34
50
0
-4
38
0
0
0
9
-5
17
-9
35
5
-60
9
4
19
-28
43
-58
-3
0
20
-2
5
71
-54
1
13
3
-24
5
53
-6
-13
2
-4
9
6
-25
-48
-50
-55
-1
15
-24
55
-37
-8
6
-1
19
2
9
31
89
5
0
8
0
37
24
0
-2
0
4
-21
2
5
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-29
2
-22
26
14
21
-25
1
-3
-27
-2
-1
-6
-70
0
2
30
-40
-8
24
-21
-2
-1
12
-1
-89
0
-12
-50
52
0
-43
0
17
12
26
12
-73
4
0
12
-2
7
31
-61
-25
-4
47
-16
-5
31
22
12
-8
-69
0
-25
51
1
63
0
30
-17
6
-32
51
-5
3
35
-54
-5
-15
-17
-58
-6
-15
-2
0
7
50
0
62
-22
0
6
3
4
-26
13
0
-18
0
0
0
22
-5
-43
4
-34
8
117
-29
-1
-57
29
32
25
-31
5
6
55
-29
19
59
44
-4
25
58
0
23
-58
41
49
-12
13
-55
-16
17
-81
-15
-6
-13
1
-8
28
-9
-2
-3
4
56
-1
18
25
-31
2
0
-65
0
-31
-5
5
-15
0
-6
3
2
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
-7
0
0
0
0
25
0
0
0
0
0
0
50
1
0
0
0
0
0
12
0
0
20
0
0
0
89
0
1
0
0
0
0
32
0
0
0
0
0
0
-25
0
0
0
0
0
0
27
0
0
1
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
31
0
0
-5
0
0
0
21
0
0
0
0
0
0
-1
0
1
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
120
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
-5
0
0
0
0
0
0
-7
0
0
-5
3
0
0
54
0
0
0
0
0
0
22
-1
0
0
0
0
0
26
0
0
-5
0
0
6
7
0
0
-2
0
0
-4
49
0
0
-1
0
0
2
-10
0
0
6
0
0
0
31
0
0
-3
0
0
0
-7
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
1
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
-1
8
0
0
0
-20
0
-2
0
0
0
0
26
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-16
0
-1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
-3
-40
-38
-4
39
30
4
-1
-44
0
-1
-24
-2
0
1
-33
55
42
-2
40
0
-1
0
0
23
0
9
21
-33
0
10
1
1
24
-16
2
14
0
6
-25
55
-3
-55
22
34
-3
-71
-18
0
2
68
5
0
-5
-2
0
4
6
-55
5
32
-33
-2
8
-49
12
0
8
66
0
0
43
32
-1
-25
21
0
0
-8
0
0
0
-13
0
-7
1
5
0
0
12
0
0
0
-5
0
-7
46
62
6
-5
1
0
-49
-8
36
-11
-5
0
0
13
34
0
14
-5
1
0
46
-15
0
32
-13
1
-1
5
-44
2
-30
-13
-9
2
-4
-2
2
24
0
0
2
-4
-51
-6
0
5
13
0
0
37
0
-39
0
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
32
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
6
0
0
3
0
0
0
0
0
0
-80
0
0
0
0
0
0
16
0
0
2
0
0
-3
-13
0
0
0
0
0
4
-21
0
0
1
0
0
-3
-10
0
0
5
0
0
0
-49
0
0
0
0
0
0
50
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
16
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
5
0
0
0
-7
0
0
-6
0
0
0
-10
0
0
-4
0
0
0
-4
0
0
0
0
0
0
-12
0
1
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-34
0
0
0
0
0
4
76
0
0
0
0
0
0
13
0
0
2
0
0
0
-43
0
0
6
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
20
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
0
-27
0
0
0
0
0
1
-2
0
0
0
2
0
0
-5
0
4
-6
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-68
0
-1
0
-15
2
56
-3
-1
0
0
-36
0
0
0
0
0
0
-4
-23
-7
0
0
0
0
-23
6
0
13
0
0
0
-57
-16
-24
50
0
17
4
65
-1
0
55
0
0
5
-61
-5
-5
-36
41
0
0
-47
0
7
-67
0
3
0
-77
2
0
78
1
5
0
32
0
0
0
0
-6
0
-68
0
7
-6
-5
0
0
-11
0
0
0
0
0
0
41
3
2
1
0
0
0
-45
0
-10
-8
5
0
0
-1
0
-10
31
0
0
0
108
0
10
-8
0
0
0
41
0
2
-12
-12
0
0
16
-4
37
-8
0
0
0
-19
-1
4
-4
-5
8
0
17
0
35
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
14
-4
-1
-47
38
5
47
-13
0
-7
20
-13
2
2
-5
3
-1
13
-5
18
0
14
-4
10
0
3
0
9
-3
-35
2
30
-6
-4
-50
-4
-42
76
-26
-19
-6
2
-6
-5
-7
66
-2
0
102
-6
8
-6
32
25
5
-11
0
45
-31
36
14
-8
-30
9
20
2
-70
-30
8
31
-24
-9
4
-4
-8
26
8
-17
8
48
-39
-7
-5
0
-10
5
-6
0
6
-13
-30
-8
4
-9
-5
-9
0
60
13
-35
17
49
5
5
72
15
-17
53
7
5
0
17
25
15
5
-42
74
0
-23
0
-8
6
76
23
0
46
42
1
23
10
-1
-6
-14
-39
0
21
46
31
-1
2
-4
-12
-36
-1
2
-6
0
61
-45
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
41
0
0
0
0
0
10
21
0
0
4
0
0
0
-12
0
0
-1
0
0
-3
-3
0
0
-1
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
19
0
0
0
0
0
0
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
12
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
12
0
0
0
0
0
0
23
0
0
0
0
0
0
-41
-1
0
0
0
0
0
-82
0
0
-1
0
0
-2
-46
0
1
0
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
2
0
0
-32
0
0
0
0
0
0
23
0
0
0
-1
0
0
9
0
0
1
0
0
0
8
0
0
0
0
0
0
59
0
0
0
0
0
0
15
0
0
0
0
0
0
16
0
-1
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-28
0
0
-4
2
0
4
28
0
-48
0
-58
-10
-2
-26
10
0
0
0
-4
0
-25
1
0
0
0
0
-1
32
61
3
1
0
0
12
-27
13
30
-14
-4
0
-1
9
2
4
2
0
0
-2
0
0
0
1
42
0
1
-23
1
-5
-4
3
0
2
-13
0
0
2
-22
-8
5
11
0
0
-37
0
13
0
-17
0
-1
0
-7
30
0
17
3
0
0
0
0
0
11
-17
1
8
-8
0
-2
11
5
25
5
0
1
29
12
3
-5
22
2
-4
0
-55
0
-41
-1
0
-1
3
-35
0
-5
2
-43
0
-1
4
0
20
7
0
1
0
10
-2
-5
-2
-5
0
4
-1
0
-16
0
3
-6
0
-3
-4
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
-2
0
3
9
18
0
85
1
0
0
0
29
0
0
0
0
3
0
23
3
10
0
0
0
0
37
14
0
-12
0
0
18
-45
0
-1
-49
0
0
5
-39
0
1
-5
0
0
0
21
0
0
6
0
0
1
-45
0
0
-19
0
4
-1
6
0
0
-47
0
6
0
-13
0
0
8
0
-10
0
-16
0
0
8
0
13
0
-55
2
-3
0
0
0
0
-50
10
0
0
0
0
2
5
0
3
2
0
0
0
-42
0
0
-6
0
0
0
4
0
0
12
0
-12
-5
1
0
0
9
0
0
0
40
0
-33
0
0
0
0
-53
0
0
-2
0
0
0
13
0
0
0
0
0
0
-38
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
-7
0
0
-15
0
0
0
0
0
0
31
3
0
0
-2
0
0
-66
0
0
0
0
0
0
-1
0
0
-2
1
0
0
-19
0
0
0
0
0
0
-51
0
0
8
0
0
0
7
0
0
-2
0
0
-3
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
-3
0
0
0
-8
0
0
0
0
0
0
77
0
0
0
0
0
0
7
0
0
1
0
0
0
19
0
-6
-3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
-56
0
50
0
0
-31
0
0
0
0
-2
0
17
-1
0
0
0
0
0
1
-17
0
0
0
0
-8
5
-12
16
28
0
0
-5
34
0
0
32
0
0
13
-12
-5
5
-15
-6
0
0
-68
0
-2
27
1
0
0
11
0
-4
6
2
0
1
39
0
6
22
0
-18
0
6
0
0
0
-2
-4
0
6
0
0
0
0
0
0
-40
-5
0
0
0
0
-13
46
0
35
8
0
0
0
-37
0
3
9
0
0
0
55
0
-3
1
-1
0
0
126
0
0
-7
4
0
0
56
0
-5
5
0
0
0
40
0
-1
0
-3
0
0
-8
0
-18
0
0
3
0
22
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-63
0
-1
4
-4
8
0
6
9
3
58
0
-14
0
-5
-6
-3
0
14
0
-34
-2
-121
-5
27
-6
-1
-19
21
-29
6
-32
-14
-3
-3
-14
19
1
-36
6
-3
0
8
5
-2
1
22
-8
65
-24
5
21
42
39
28
37
0
10
0
19
-36
3
-2
-19
42
3
-43
0
-38
-2
-10
1
-27
27
16
13
0
10
29
-2
0
1
-2
-15
10
-70
5
-21
5
1
7
15
-41
37
-99
10
-21
-37
-19
-14
-38
18
43
0
-30
12
5
-15
23
42
6
-18
-36
35
83
-41
27
-30
40
0
-24
-7
13
-25
-1
4
-1
-5
46
-44
-19
4
2
-31
-4
-3
-13
0
-36
-1
5
29
-10
4
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
-1
0
0
0
0
5
0
0
-6
0
0
0
-2
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
0
0
0
0
3
0
0
0
0
0
0
-41
0
0
0
0
0
0
-11
0
0
9
0
0
0
-17
0
0
0
0
0
-2
4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
8
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
16
0
0
0
0
0
0
7
0
-4
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
23
0
-6
0
5
0
0
-44
-2
0
0
0
-1
0
34
30
-6
0
2
0
0
36
-25
0
-28
0
0
-3
-64
2
-2
81
8
-5
-8
1
0
4
60
0
0
4
6
-1
-14
-25
6
5
-9
-9
1
3
6
1
-4
1
26
-6
0
-2
42
7
0
-51
0
0
0
0
-11
0
-14
0
-1
0
5
15
0
-15
0
0
0
0
0
0
100
3
5
6
0
0
0
32
0
-38
27
0
0
-2
38
0
-7
0
3
0
3
-79
0
3
-1
0
0
6
20
0
-3
0
20
0
-2
5
0
-37
0
0
1
0
-44
-6
0
0
-8
4
0
-69
0
68
3
0
-1
0
-52
2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-10
0
-3
0
0
-8
0
0
0
0
0
0
20
0
0
0
0
0
0
31
0
0
-6
0
0
0
-14
0
0
1
0
0
0
52
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
5
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-5
0
0
0
0
31
0
0
0
0
0
0
43
-1
1
0
1
0
0
59
-4
0
0
0
0
-1
59
-3
0
0
0
0
-1
42
0
0
0
0
0
0
53
0
0
10
0
0
0
8
0
0
5
0
0
0
-24
0
0
0
0
0
0
-8
0
0
0
0
0
0
-33
0
0
0
0
0
0
40
0
0
0
0
0
0
36
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-4
0
0
0
20
0
0
0
0
0
0
-8
0
17
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
-7
0
0
0
22
0
0
0
0
0
0
-49
4
0
-5
0
0
5
70
0
-4
-6
9
0
2
-55
-3
1
-9
0
0
0
-41
0
0
-5
-1
0
0
-34
-4
3
-8
0
0
0
-21
0
0
1
0
0
0
7
0
1
-1
0
0
0
39
0
0
0
0
0
0
-20
0
0
0
0
0
0
43
6
0
0
0
0
0
-5
0
10
0
0
0
0
22
3
0
1
0
0
0
11
0
-13
0
0
0
0
2
0
2
0
-6
8
0
-35
0
0
1
0
0
0
39
0
0
-1
1
0
0
-32
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
1
31
19
0
3
-27
67
0
-3
0
2
9
102
-20
32
-8
-1
-41
-15
-13
-8
26
-9
0
21
-4
5
4
37
-1
-5
-8
-21
0
-9
0
-43
-21
66
-41
-5
-40
-44
42
-8
21
56
-5
-3
74
86
19
-7
0
12
-4
5
-1
12
0
11
0
0
-2
8
-19
0
39
3
0
0
0
-6
0
5
-5
-1
18
-14
0
59
53
28
50
22
-3
0
56
22
31
-13
54
5
0
7
17
1
-22
7
25
-3
-9
-14
20
-21
-33
58
3
2
-6
6
59
31
9
0
0
0
-6
0
33
-8
1
0
-6
0
10
-2
0
1
0
18
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
-3
0
0
0
9
0
0
0
2
0
0
-2
0
0
0
47
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-46
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-39
1
0
5
15
-24
0
49
-72
0
0
47
0
49
5
29
9
-55
0
1
10
-7
47
-5
-20
31
1
-5
-6
-5
-1
-6
-3
-4
7
-49
12
-8
1
16
-3
42
6
0
13
10
12
8
-33
9
3
73
-47
13
30
-8
9
0
0
-26
32
-32
0
2
6
7
12
6
-67
0
10
4
5
0
0
-4
9
-23
-15
30
-9
7
0
-47
-55
-7
-38
22
-7
-1
31
-71
-9
-2
-26
5
0
-80
19
-12
-16
70
-5
-14
25
-67
0
-7
11
31
-8
4
-8
0
-6
-22
-4
0
5
0
0
7
-16
-4
-2
0
-19
0
8
-3
0
5
0
-4
5
-22
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
8
93
-7
0
0
0
-8
8
0
0
1
0
0
10
-14
0
0
-3
0
0
22
24
0
0
4
0
0
-7
-15
0
0
25
-10
-1
-2
-38
0
0
0
0
0
0
-10
0
0
-1
-22
0
0
-33
0
-1
0
0
0
0
-76
0
-1
0
0
46
0
24
0
-3
0
0
0
0
-29
-10
0
-3
0
0
1
50
0
38
9
0
0
4
-6
-5
0
6
-2
0
-1
-54
0
-16
8
0
0
0
20
0
0
0
1
0
0
72
-2
1
4
0
0
0
-85
0
0
-1
-5
0
0
38
0
18
0
0
0
0
-41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
0
0
0
-2
0
32
-20
-1
0
0
0
0
67
16
0
81
0
0
72
39
0
0
-14
0
0
-63
5
1
1
75
0
0
71
55
0
0
6
0
0
8
44
0
-2
-44
0
-4
0
16
0
0
-3
-8
0
0
-19
0
0
7
0
-2
0
-1
0
0
5
0
2
0
-2
0
0
0
0
0
5
56
-6
0
-8
0
0
-20
24
0
41
10
0
0
-20
5
2
5
-9
0
0
0
35
0
32
2
0
0
-1
19
0
0
6
0
9
-8
58
0
0
19
0
0
0
14
0
0
1
0
0
0
51
0
-7
0
0
-1
0
5
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
8
0
0
0
0
0
3
81
0
-2
-2
0
0
-1
-7
0
0
4
0
0
0
58
0
0
0
0
0
-1
-22
0
0
0
0
0
0
13
0
0
1
0
0
0
-16
0
0
6
0
0
0
54
0
0
0
0
0
0
-5
-2
0
0
0
0
0
45
0
-1
1
0
0
0
-1
0
0
0
0
0
0
3
0
-8
0
0
0
0
2
0
-6
0
0
0
0
31
0
0
-1
0
0
0
32
0
0
0
0
0
0
53
0
3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
41
0
0
0
0
0
0
5
0
0
-5
0
0
0
25
0
0
6
0
0
0
-27
0
0
3
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
2
0
0
0
-8
0
0
0
0
0
0
-16
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
8
0
0
0
0
-5
0
0
0
0
0
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
1
0
0
0
18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
33
-4
0
-33
0
7
7
50
-19
59
18
-1
20
-1
1
13
-3
4
-52
-20
-27
6
32
50
0
5
-8
-27
-19
-30
16
48
-5
1
43
-1
-16
-58
14
19
-28
-5
-7
-2
-30
-51
18
-5
-20
0
-6
-20
30
55
1
0
-3
3
38
-19
3
0
-2
13
0
0
2
0
0
-38
-3
-2
73
-8
0
95
-12
2
-11
42
5
34
-44
-47
-7
-75
13
-1
0
27
27
20
9
31
16
-2
23
17
1
-61
-42
-19
8
36
34
1
3
-30
18
-38
-4
-19
-9
-23
1
38
3
0
0
0
13
-4
1
1
0
6
-1
-1
-1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
2
0
0
0
0
0
17
14
0
0
0
0
0
-1
-29
0
0
5
0
0
0
74
0
0
2
0
0
0
51
0
0
0
0
0
0
1
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
2
0
0
31
0
0
0
0
0
0
-3
0
0
3
0
0
0
-9
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-35
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-32
0
0
2
0
0
0
1
0
0
1
0
0
0
22
0
0
-1
0
0
0
-58
0
0
0
0
0
0
-22
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
32
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
25
0
0
-6
0
0
0
23
0
0
0
0
0
4
-8
0
0
0
0
0
0
41
0
0
-4
0
0
0
-19
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-2
0
0
0
0
4
0
0
-2
0
0
0
-7
0
2
0
0
0
0
-6
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-19
1
0
0
0
5
-68
5
0
4
0
0
0
-9
0
0
-18
0
0
-13
-80
0
0
-2
0
0
0
-46
0
0
17
-2
0
-1
-38
0
0
13
0
0
-1
-3
0
0
-17
0
0
1
-66
0
0
2
0
0
0
0
-2
5
-10
-8
0
0
73
0
0
0
0
0
0
-29
4
0
0
-4
0
0
-26
0
5
12
1
0
-4
2
0
1
-2
0
0
0
1
0
-3
2
0
0
-3
84
0
0
0
0
0
-1
-39
0
-10
6
0
0
0
-22
0
2
0
0
0
0
70
0
-14
0
0
0
0
-45
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-62
32
30
15
4
-35
6
-36
-49
1
106
21
24
-24
-9
-18
-41
-9
-24
-7
-2
-90
66
1
50
20
24
-8
9
-14
-19
24
9
52
-22
-31
-4
19
-2
-36
15
3
14
-17
29
-25
-24
9
26
5
11
25
56
-13
0
0
0
-13
-18
19
49
-8
3
17
-27
52
-64
-19
-71
32
-5
24
135
26
3
4
-15
69
49
53
45
4
66
-30
103
69
20
-26
-34
16
-20
95
7
-37
1
-25
-19
-38
-8
13
22
15
-43
-46
21
-12
-5
-23
8
16
-3
4
-4
42
-45
-2
24
1
0
-1
33
3
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-5
0
8
0
0
49
-69
-8
-2
-50
3
-3
21
-42
0
0
46
0
0
7
13
0
1
-62
2
0
3
31
0
0
5
0
3
-6
-51
0
-1
-54
42
8
0
11
0
-2
1
0
3
0
28
0
0
0
-1
3
0
63
0
0
0
0
0
0
-21
-4
3
0
0
0
-34
4
0
1
34
-2
0
0
-68
-2
-3
-9
0
0
1
8
0
2
8
0
0
-4
-29
0
-18
-5
-3
0
-17
-31
0
-8
-3
1
0
0
24
0
-3
0
5
0
0
-1
0
-18
0
0
0
0
-32
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-5
0
-6
0
0
-3
29
0
0
26
0
0
72
14
0
0
-4
0
3
2
-2
0
0
5
-2
0
-1
-24
0
0
33
0
0
0
58
0
0
5
4
0
0
-20
0
0
2
0
2
0
40
0
0
2
5
-1
0
7
0
0
0
0
0
0
20
0
0
0
0
0
0
79
0
-12
3
0
1
0
-22
0
-1
13
-2
0
14
-40
0
0
-6
0
0
0
31
0
-1
5
3
-6
0
-26
0
8
0
0
0
0
19
0
0
0
0
0
0
-29
0
2
2
0
0
0
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-3
0
0
0
0
0
41
-1
0
1
0
0
0
-15
0
0
3
0
0
1
33
0
0
-1
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-21
0
0
0
0
-8
0
4
0
0
0
0
0
0
-17
0
0
0
0
0
0
30
0
-4
0
0
0
0
-18
0
1
1
0
0
0
25
0
0
0
0
0
1
44
0
-2
-1
0
0
0
-13
0
0
0
0
0
0
8
0
1
1
0
0
0
7
0
0
0
0
0
0
75
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
0
-1
0
0
4
48
0
0
0
0
0
0
19
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
-3
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
0
1
-69
0
0
-7
0
0
0
4
0
0
0
0
0
0
60
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
7
3
0
-1
0
0
0
-20
0
2
0
0
0
0
21
0
5
-8
0
0
0
-1
0
1
0
0
0
0
-19
0
0
0
-7
0
0
37
0
5
-2
0
0
0
-2
0
0
0
0
0
0
61
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-12
51
107
53
-19
-54
12
-6
41
27
69
-57
35
25
-30
29
57
35
-4
-121
6
13
44
-36
2
-30
5
-62
-5
25
44
12
15
31
30
-15
61
-18
-17
4
23
20
-16
67
63
-49
-94
-23
1
30
-9
43
-14
-14
-55
-13
0
38
-41
0
51
0
-101
-28
13
38
26
77
31
-105
5
-18
-16
-43
-14
-5
-24
-4
-3
-18
9
47
62
44
7
44
-28
-37
19
7
54
-30
29
-10
10
22
0
14
2
92
23
15
32
73
6
1
23
44
22
73
12
-9
-9
-41
13
-27
-9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
1
-22
39
3
0
32
39
0
-1
11
0
0
13
-20
0
-1
-24
5
0
-10
13
0
-2
-4
-2
0
9
20
0
1
-13
32
0
-3
-38
0
0
-5
0
0
0
2
0
0
3
8
23
0
33
-2
0
0
0
0
3
40
17
-2
0
0
0
-4
18
0
-6
-41
0
0
2
-21
0
0
49
0
0
-5
-15
0
19
-19
0
0
0
-63
0
-4
13
-4
0
0
-17
0
0
2
0
0
3
-24
0
0
-1
5
1
0
14
0
-21
0
0
-4
0
36
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
2
0
-1
1
0
-8
62
0
0
-1
0
0
8
-44
0
0
8
0
0
0
-9
0
0
-1
0
0
0
23
0
0
-10
0
0
0
-26
0
0
0
0
0
0
13
0
0
0
0
0
0
-39
0
0
0
0
0
0
-46
7
0
0
0
0
-1
3
0
0
6
0
0
0
1
0
0
-1
0
0
0
42
0
0
0
0
0
0
9
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-23
13
9
-13
-2
0
72
27
5
-7
-25
0
-5
65
19
-4
-3
50
-4
-1
-5
-1
-9
0
-5
-9
0
0
-24
-7
-2
-4
-14
0
0
-25
0
0
5
-2
1
2
61
0
0
1
0
-4
0
-18
0
-5
0
0
0
0
-41
5
-5
0
0
0
-1
29
5
-2
0
-1
0
0
94
0
-31
-6
0
0
4
-44
-5
-21
5
3
0
0
-31
0
5
-34
-18
0
1
-128
13
37
-3
1
0
0
-78
0
0
0
-4
0
0
85
0
15
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
8
0
0
0
0
0
0
-25
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
-5
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
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
0
0
0
0
0
0
8
3
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
0
0
-3
0
0
-2
48
0
5
-25
-8
0
2
53
0
-5
-41
-1
0
-3
22
0
0
-35
29
0
6
41
0
0
23
-2
3
0
-12
2
-1
4
2
-19
0
58
0
-4
0
0
-3
0
47
-20
0
5
0
0
0
11
0
-49
2
-2
0
0
-9
0
-8
10
-1
0
-1
-42
0
31
-6
0
0
-3
66
0
2
-5
31
0
0
-34
13
-30
-1
0
0
0
-71
-1
-3
-10
-2
0
0
-14
0
52
0
0
0
0
-7
0
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-19
17
35
-51
-34
18
-46
1
11
-43
13
-47
-68
-14
14
-8
61
36
34
35
-8
13
7
24
-35
-1
109
26
-5
-2
41
11
-10
-58
20
3
19
-32
19
61
49
0
-14
0
-2
-8
-12
31
63
19
53
-1
-29
-42
0
-66
0
-48
-21
-52
-7
-3
-41
-22
55
-31
-88
-75
4
5
-9
34
-39
-5
78
-35
5
-24
73
-4
67
45
14
-5
1
-37
-25
-33
-14
41
-2
-21
-9
-5
-19
-38
16
-1
13
-8
-24
-34
1
-58
0
16
-35
-5
-1
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-59
0
0
5
0
0
-5
-42
0
-4
19
4
0
0
19
0
0
-2
0
0
7
13
0
0
10
-1
0
0
46
0
0
-2
0
0
0
15
0
0
8
0
-1
0
-43
0
0
0
-1
0
0
42
5
-7
-27
0
0
0
30
0
-13
3
0
0
0
-13
0
6
12
0
0
0
38
0
7
-5
0
0
0
11
0
0
0
0
0
1
1
0
7
-7
0
0
0
-23
0
0
0
0
0
0
-21
0
-13
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
49
0
0
44
0
0
0
4
0
0
13
0
0
0
1
0
0
2
0
0
0
-113
0
0
-2
0
0
0
-109
0
0
-5
0
0
0
22
0
0
0
7
0
0
-16
0
0
0
0
0
0
30
-2
0
2
0
0
-1
-14
0
18
0
0
0
0
-27
0
-2
0
0
0
0
-15
1
2
-13
0
0
-2
12
0
0
-2
0
0
0
-71
0
0
-3
0
0
0
-3
0
0
7
0
0
0
55
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-6
-13
58
-4
3
-21
4
-4
0
-6
45
10
-8
-21
0
0
-88
0
-5
10
16
0
17
-22
46
0
1
28
1
0
-9
0
5
1
33
0
2
-2
9
-5
0
26
-5
0
0
0
0
0
21
5
24
5
0
-5
2
-46
0
-8
1
-7
0
2
13
0
2
-2
0
0
37
21
-5
41
42
1
5
38
-13
-4
0
33
73
0
-23
1
2
53
-1
0
-1
-4
23
0
3
-10
-8
-7
-1
16
0
34
0
0
14
0
75
75
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
17
0
0
16
0
0
-20
9
0
0
-5
0
0
-9
-38
-3
-2
8
0
0
0
22
0
0
1
0
0
3
-34
0
0
2
0
2
0
8
0
0
-2
0
8
0
-29
0
0
0
0
0
0
-59
2
0
-1
0
0
0
-64
0
-2
-14
0
0
0
13
0
5
0
0
0
0
-40
0
17
0
0
0
0
-19
0
0
0
0
0
0
-6
0
-15
2
0
0
0
21
0
0
0
0
0
0
4
0
-4
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
1
0
0
-2
-9
0
0
0
0
0
4
16
0
0
0
0
0
0
5
0
0
5
-2
0
0
-61
0
0
0
0
0
0
-10
0
0
0
0
0
0
-41
0
0
0
0
0
0
6
-2
0
0
0
0
0
-50
0
-6
0
0
0
0
1
0
0
0
0
0
0
12
0
-1
0
0
0
0
-16
0
0
0
0
0
0
49
0
0
0
0
0
0
-8
0
0
0
-2
0
0
24
0
5
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
46
1
-2
-26
23
1
-13
3
0
5
46
5
1
0
-14
12
0
-68
21
0
-2
68
0
-1
10
0
0
0
77
0
-4
-5
-3
31
0
71
2
0
0
0
0
0
70
13
0
24
0
0
-2
21
0
-48
19
0
3
-1
-2
0
-4
-17
0
3
0
-27
0
-17
39
-5
0
0
5
0
-9
45
22
0
-6
23
1
9
-2
0
10
1
-20
-3
-1
7
-3
-2
0
26
0
-9
0
0
7
0
71
3
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-6
20
-38
-36
-14
-15
-11
-4
-19
-8
56
33
-99
-50
-15
-57
5
-32
36
18
37
10
6
-6
-13
8
7
-6
6
-8
36
50
-39
-1
0
3
11
-5
25
47
-50
57
18
2
88
96
-49
0
-33
10
-62
-13
23
13
9
-52
0
34
-30
-9
-27
-6
33
7
6
32
-30
102
-60
9
-42
60
6
10
12
32
-30
-11
4
39
105
18
52
-4
32
18
19
-1
14
8
-13
5
-44
-17
-24
41
-58
0
-36
4
-5
2
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
0
-1
0
0
0
0
9
0
0
0
0
0
0
1
0
0
2
-3
0
0
-74
0
0
0
0
0
0
14
0
0
0
0
0
0
-50
0
0
0
0
0
0
-13
0
0
4
0
0
0
-1
0
0
0
0
0
0
-5
0
6
0
0
0
0
-12
0
0
0
0
0
0
-14
0
0
1
2
0
0
1
0
4
0
0
0
0
10
0
0
0
0
0
0
-66
0
2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
0
0
-4
0
0
0
-26
-1
0
1
0
0
-1
53
0
0
8
0
0
0
9
0
0
0
0
1
0
-25
0
0
0
0
0
0
11
0
0
0
0
0
0
-27
0
0
0
0
0
0
8
0
-4
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
16
0
0
-2
0
0
0
-16
0
0
0
0
0
0
75
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
36
0
8
-108
17
-2
14
1
0
-4
17
9
-7
31
46
0
-3
70
12
2
-4
-34
0
6
-1
0
25
0
35
0
4
7
0
-33
0
9
14
0
0
-19
-2
-8
9
16
2
0
-4
0
-23
154
3
13
13
0
-4
-3
-29
0
22
68
-8
0
-27
-3
-2
5
67
-4
8
-2
-49
7
7
9
-42
5
0
-32
0
-11
-29
1
0
0
37
0
1
0
10
0
3
2
0
92
-1
0
0
0
5
2
15
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
31
0
0
1
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
-15
0
0
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
25
0
0
-1
0
0
4
-1
0
0
0
0
0
0
35
0
0
0
0
0
0
52
0
-2
0
0
0
0
16
0
0
0
0
0
0
13
0
8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-23
0
0
3
0
0
0
0
0
0
2
-1
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
51
0
0
0
0
0
0
7
0
0
0
0
0
0
-32
0
3
-6
0
0
0
4
0
0
0
0
0
0
24
0
0
-2
0
0
0
7
0
0
0
0
0
0
8
0
-4
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
9
63
7
-1
0
-9
0
-9
-54
29
0
0
61
0
-8
0
0
14
0
-31
0
-14
0
1
-14
0
22
-12
0
0
0
-1
0
14
-15
0
-7
0
0
0
-29
0
-48
-5
0
2
7
-9
0
-5
48
0
0
0
-30
-3
29
38
1
0
0
-46
-2
0
9
-12
0
0
14
0
-15
7
5
1
-6
2
0
4
1
2
0
0
24
-1
12
1
0
0
0
87
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
13
13
-27
-20
-5
4
19
1
20
44
-75
4
24
-12
-7
21
73
-1
4
-6
71
-9
17
-26
29
25
0
7
7
6
-1
-3
-39
42
-12
-39
-5
31
6
2
5
29
-5
43
-60
-7
26
27
34
-28
18
-47
-28
-5
42
0
15
-76
-95
-45
-8
-1
-20
-32
-12
20
58
39
51
-14
21
34
6
30
-8
-19
33
49
-16
14
-14
37
-7
47
-2
-18
25
10
2
-1
10
-37
30
10
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
2
0
0
0
6
0
0
0
0
0
0
28
0
0
0
0
0
0
8
0
0
0
0
0
0
16
0
0
0
0
0
0
41
2
0
0
0
0
0
-2
0
-7
0
0
0
0
18
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
16
0
0
-1
-43
0
0
-4
0
0
0
5
0
0
0
0
0
0
52
0
1
-5
4
0
0
36
0
0
0
0
0
0
-1
6
0
0
0
0
0
36
0
31
-5
0
0
0
-15
-1
0
-6
0
0
2
-29
0
0
0
0
0
3
5
0
0
-1
0
0
0
-28
0
0
0
0
0
0
24
0
0
0
2
0
0
12
0
1
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
5
-72
7
0
3
-2
3
13
-32
40
1
-5
34
0
-1
13
0
-14
0
-11
0
5
5
17
-14
0
41
2
9
0
0
0
0
5
6
8
8
0
0
22
15
-4
19
14
0
0
0
-36
0
0
35
-2
0
0
39
-4
63
-1
10
0
18
11
0
2
21
-8
-3
-1
-33
0
-41
-8
2
1
0
-22
-3
6
-2
20
0
-2
-6
0
-3
3
0
6
0
3
4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
40
0
0
18
0
0
0
51
0
0
40
0
0
-7
5
0
0
10
0
0
0
27
0
0
2
0
0
0
24
0
0
0
0
0
0
17
0
0
0
0
0
-15
33
0
75
9
0
0
0
-74
0
2
85
0
0
3
50
0
-5
32
0
4
-1
-16
0
1
5
0
4
6
32
0
3
2
0
0
0
26
0
-4
-1
0
0
0
88
0
47
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-21
0
0
0
2
0
0
-6
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
35
0
0
-5
0
0
2
18
0
-3
0
0
0
0
17
0
0
0
0
0
3
-20
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
41
4
0
0
5
0
0
0
0
0
0
-61
0
0
-1
-8
4
0
8
0
-2
0
0
0
-6
-34
3
0
6
0
0
0
137
0
69
0
0
0
0
8
2
0
1
-2
0
-2
-51
0
6
5
0
0
0
-11
0
13
16
-18
0
8
-22
1
-29
-3
0
0
0
-8
0
-1
0
5
-4
0
19
0
-33
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
34
-10
20
-26
-52
-10
-18
2
8
34
21
5
-101
8
-16
-6
0
49
-28
16
0
-6
83
-34
0
7
25
33
-4
-9
34
5
-53
-2
28
5
7
0
-16
7
12
-43
17
-26
22
-13
59
-3
-13
8
83
-20
30
-1
59
12
0
44
8
75
38
7
37
34
-27
-14
21
-6
16
15
-3
48
61
76
-70
66
-2
8
-1
-4
2
-2
57
0
-3
-46
6
1
66
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
1
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
34
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-8
0
0
0
0
8
0
0
0
0
0
0
-2
0
2
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
3
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
27
0
0
0
0
0
0
-31
-14
0
0
0
0
0
-9
0
-16
12
0
0
-2
-3
5
0
-1
0
0
-2
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
29
0
-2
0
0
0
0
31
0
0
0
0
0
0
18
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
52
0
0
6
55
0
0
-32
0
-2
-2
0
8
5
-3
4
3
0
31
-17
0
20
0
0
0
0
0
0
36
-17
-7
-7
0
0
1
19
0
43
0
5
0
-1
-80
-1
8
83
0
0
0
-8
0
-20
7
0
0
15
23
-3
-12
0
-49
0
3
8
0
25
0
0
0
1
12
0
5
-1
6
0
-1
1
0
-31
0
0
0
0
-22
-1
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-1
0
0
0
-32
0
0
0
0
0
0
5
0
0
3
0
1
0
3
0
0
0
0
0
0
20
0
0
0
0
0
-1
-4
0
2
0
0
0
2
8
0
0
0
0
0
0
8
0
0
0
0
0
0
-30
0
0
-3
-8
0
0
13
0
0
-4
0
0
0
19
0
0
0
0
0
0
20
0
-2
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
3
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
27
0
0
0
0
0
0
79
-3
0
0
0
0
0
1
0
0
4
0
0
0
47
0
0
-1
0
0
0
-21
0
2
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
0
0
4
0
0
9
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
1
2
0
0
5
0
0
0
-3
0
0
0
0
0
0
-1
0
0
-2
-3
0
3
0
0
0
15
0
-31
0
0
0
-4
-10
0
0
1
0
0
0
-25
0
-4
0
-3
0
0
-2
0
0
-4
-3
-2
4
66
0
12
8
0
0
0
-13
0
0
0
0
0
0
4
0
-3
0
0
-2
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
23
-2
-5
22
-5
-18
-2
-9
8
47
30
-27
-62
0
8
-7
0
0
5
-3
-7
-21
-7
-9
22
-5
0
17
6
-14
-27
-18
17
16
22
0
29
5
92
55
1
13
-4
6
47
-43
42
-13
26
23
0
8
-10
74
-5
-31
0
-7
27
28
-7
-3
4
65
-8
-24
109
-5
25
1
-3
-5
-27
1
0
1
0
-19
2
8
1
-29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-12
0
0
0
0
8
0
0
0
0
0
0
7
0
2
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
35
0
0
0
0
0
0
33
0
0
-1
0
0
0
-1
0
-3
0
0
0
0
2
0
1
-2
0
0
0
21
0
0
0
0
0
0
8
0
0
0
-1
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
-5
0
6
0
0
0
2
-16
0
35
-8
0
0
0
0
2
11
-1
0
0
-6
0
-1
44
2
-57
8
0
0
-4
-34
1
15
8
-2
1
-3
56
0
-10
-8
2
1
0
4
3
0
0
6
5
-8
22
0
-5
0
0
0
0
1
0
-2
0
0
0
0
24
0
39
0
-2
0
0
-78
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
16
0
6
-1
-31
0
-4
28
0
-1
0
-8
0
5
0
0
0
-5
-13
0
0
0
0
0
0
56
0
-27
-15
0
0
5
28
0
6
0
0
0
1
-44
0
24
16
0
0
1
87
0
0
-29
0
0
6
55
0
12
4
0
0
0
6
0
2
-1
0
0
0
94
0
42
-2
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
34
0
0
0
0
0
0
34
0
0
0
0
0
0
8
0
6
0
0
0
0
24
0
0
0
0
0
-4
0
0
-4
-8
0
0
0
59
0
0
1
0
0
0
5
0
6
0
0
0
0
5
0
0
0
0
0
0
18
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-23
0
0
0
0
0
0
-42
3
0
0
0
0
-1
-33
0
12
2
0
0
0
3
0
-1
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
-12
0
0
-39
0
0
0
0
0
0
-44
0
2
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-32
-26
-43
-8
44
19
0
11
-4
27
0
2
-2
84
15
48
59
0
21
1
37
-23
-55
15
40
-1
3
-36
-14
21
7
45
65
1
-19
21
22
120
82
-45
118
47
-6
-12
-45
58
-11
24
-23
-39
0
-1
50
33
57
13
0
1
28
55
51
-1
10
-16
-5
25
23
0
77
0
31
-56
-6
-1
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-3
0
-2
0
-10
0
0
0
0
0
0
51
0
0
0
0
0
0
2
0
-10
0
0
0
0
4
0
0
12
0
0
0
13
0
0
3
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
-3
15
0
0
-13
0
0
0
0
0
0
0
-8
0
0
-7
0
0
43
0
11
2
0
0
0
4
0
0
-2
2
0
0
-21
0
0
0
0
0
0
16
0
0
0
15
0
2
-49
0
-2
0
0
0
0
38
0
4
0
0
0
0
-42
0
22
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
8
0
0
0
0
-4
0
0
0
0
0
0
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
-1
0
0
-56
0
0
0
0
0
0
90
2
0
3
0
0
-2
35
0
9
-2
0
0
0
78
0
0
0
0
0
0
22
0
-8
5
0
0
1
16
0
0
-5
-5
0
0
15
0
-14
0
0
0
0
110
0
0
-2
-1
0
0
29
0
-2
0
0
0
0
-29
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
3
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
27
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
-1
0
13
0
60
-11
6
-13
25
-2
0
-2
-22
50
-38
12
-5
8
51
-22
1
28
-23
12
1
10
55
1
-44
70
9
41
-33
-21
-2
-47
-4
30
-2
-41
37
0
-21
-33
10
3
0
-12
6
-8
55
33
-6
0
0
2
64
5
4
-8
0
-42
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
0
2
0
0
2
-53
0
0
1
0
0
0
30
0
0
3
0
0
4
1
0
0
0
0
0
0
19
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
-1
-87
-1
0
0
0
0
0
19
0
-1
-1
2
0
0
-15
4
0
-5
1
0
0
27
0
-1
0
4
0
0
24
0
0
0
-4
0
0
-26
2
7
0
0
0
0
-35
0
0
1
-1
0
0
-26
0
7
0
0
0
0
-31
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-7
18
0
0
0
0
1
51
0
0
2
0
0
0
28
0
-3
0
0
0
-1
21
0
0
0
0
0
8
14
0
0
0
0
0
0
-25
0
5
-3
0
0
0
18
0
0
0
0
0
0
-23
0
0
0
0
3
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-22
-8
0
0
0
0
-4
12
0
-1
-1
0
0
-1
46
3
4
5
0
0
0
89
0
0
-2
0
0
0
21
0
0
0
24
0
0
-5
0
19
-5
0
0
0
-79
0
-1
5
0
0
0
20
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
24
25
13
34
-59
0
-92
13
-16
-34
14
0
29
-36
11
9
-22
66
31
17
-30
2
19
-2
-49
26
61
-20
-1
2
-72
53
-44
41
5
-5
45
34
58
-35
29
12
-23
-10
-23
78
18
9
46
-5
0
-21
36
5
5
0
0
-1
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
8
-5
0
-5
0
0
0
0
-39
0
0
8
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
-5
0
0
0
0
6
0
0
2
0
0
0
4
0
0
3
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
0
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
-1
0
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
3
0
0
-10
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-5
0
0
0
0
-8
0
0
3
0
0
0
-1
0
-1
-3
0
0
0
-5
0
0
0
-2
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
-42
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
-10
-13
-1
63
64
31
107
-3
31
-54
126
-24
5
39
32
0
24
39
48
3
-84
46
-3
-42
42
-4
-39
-35
-1
8
91
22
-24
37
-12
-29
-2
11
1
60
4
41
-14
-4
-77
7
0
8
1
44
34
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
113
0
-29
10
0
-6
-1
3
0
0
-8
0
3
8
-41
0
3
21
1
0
-5
83
0
1
6
2
-6
2
6
-1
13
2
0
0
0
8
0
-2
4
-7
-3
0
-12
0
-34
-2
0
0
0
-30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
58
0
0
0
0
0
0
-5
0
0
0
1
0
0
16
0
-1
0
0
0
0
-1
0
0
0
-4
0
0
23
0
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
2
3
0
0
4
19
0
0
0
0
0
1
31
0
0
0
0
0
0
8
0
0
0
0
0
4
7
0
-29
7
0
0
0
41
0
-1
0
0
0
0
-41
0
5
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
1
0
0
0
0
6
0
4
0
0
0
0
-2
0
1
0
0
0
0
-16
0
0
-3
0
0
0
-3
0
-1
0
0
0
0
-8
0
0
0
0
0
0
-27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-1
0
0
0
0
0
-24
0
2
-1
-2
0
0
3
0
-5
2
-3
0
0
-87
0
9
0
0
0
0
22
0
0
0
0
0
0
2
0
-5
0
0
0
0
99
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-37
32
-22
17
3
0
-29
62
9
10
62
9
41
-3
-6
-1
11
32
-27
-8
10
-13
-3
-35
28
21
0
-1
-8
0
-6
-31
67
0
14
29
0
-79
-1
0
8
0
-22
32
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-22
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
12
0
-20
-8
0
-25
23
1
4
67
-5
0
3
-50
1
0
-13
33
0
-12
65
-6
15
-6
5
0
1
37
0
6
-1
7
0
0
24
0
42
-2
0
0
0
-7
-2
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-1
35
-12
0
0
0
19
0
-17
-1
0
-1
-8
-18
-2
1
-2
17
0
0
-1
0
71
8
0
0
0
1
0
3
0
5
0
0
47
0
-13
0
0
-3
0
-25
-19
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-1
5
-1
1
0
0
23
0
-1
0
3
0
0
25
0
-3
0
0
0
0
8
0
0
0
0
0
0
59
0
0
0
0
-1
0
73
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
58
-5
-10
-30
22
0
15
18
-8
-33
37
35
-8
50
21
-1
15
11
7
-1
13
-18
-2
26
6
36
-5
1
17
0
6
17
0
27
0
34
45
-25
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
14
0
0
-1
0
0
0
3
0
5
0
0
0
0
1
0
-1
0
0
0
0
-16
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
0
12
0
0
0
1
0
1
9
0
5
0
0
0
0
-14
0
0
-4
0
0
4
-4
0
-5
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-1
-8
34
0
0
0
9
0
0
-5
-17
2
0
47
0
23
1
0
0
0
18
-2
0
8
0
0
0
58
0
-4
0
0
0
0
9
-7
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
4
0
0
0
-5
0
0
3
0
0
0
-6
0
-2
3
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
2
3
0
0
-4
0
10
-1
0
0
0
-1
0
0
-7
-6
0
0
5
0
7
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
45
-5
-37
31
1
9
17
-9
-5
21
-25
-37
27
-15
-18
4
11
17
80
-7
0
20
0
84
-24
0
18
0
26
2
24
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
1
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
21
2
0
1
-19
0
0
-1
0
0
0
-21
0
0
5
-1
0
0
-21
0
-9
1
1
-4
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
-9
0
0
-37
0
-17
0
0
0
0
115
-1
7
3
0
0
0
4
0
-6
0
0
-1
0
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-2
0
0
0
-42
0
0
0
0
0
0
12
0
0
0
0
0
0
48
0
12
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
27
0
0
0
0
0
0
24
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
8
-1
0
0
0
31
0
0
0
2
0
0
147
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-31
3
33
30
0
32
-5
59
0
3
4
17
-1
0
51
0
-70
-1
0
0
0
46
43
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
38
0
1
-2
0
0
0
-6
0
-13
0
0
0
0
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
41
0
0
0
0
-11
0
-1
0
0
0
0
142
0
-1
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-40
0
-1
2
0
0
0
60
0
4
0
0
0
0
-10
0
-8
2
0
0
0
18
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
4
0
0
0
31
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
3
0
0
0
0
-32
0
-3
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
8
36
73
3
8
-1
3
61
-8
0
-2
0
43
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-40
0
-1
-9
1
0
0
112
0
1
3
0
1
0
-49
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
-9
0
0
-95
0
14
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
13
0
0
-5
0
8
-22
0
0
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-7
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
1
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-80
2
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-8
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-18
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
5
0
0
0
0
0
0
8
0
0
-10
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
0
0
-18
-8
0
0
0
0
0
0
-4
0
0
-2
0
0
0
20
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-87
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
5
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
-5
0
0
0
5
0
0
0
2
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
0
0
0
0
0
0
0
7
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
-33
23
58
11
-44
-10
-13
-19
19
59
-1
10
-11
52
21
32
30
6
12
-83
38
30
37
13
-73
-10
-25
28
-24
-38
-27
-11
15
5
-15
-53
30
-4
15
40
-56
-37
-112
32
40
-2
-10
-25
-12
10
8
4
-5
-21
68
-46
22
76
-27
24
-41
-42
-17
21
-32
-32
10
17
2
-41
27
4
94
-1
34
28
57
33
25
67
38
11
0
-12
-1
8
-48
8
-4
10
26
-33
20
-2
16
5
19
11
20
43
-103
44
-22
69
14
-12
29
28
-61
7
-31
9
-33
25
-4
-25
-31
10
1
-8
-16
46
-55
-18
-22
44
0
0
0
0
0
0
0
37
34
69
32
32
11
84
30
-5
31
11
34
-20
17
18
0
-6
29
8
14
-57
-19
-2
-12
-14
-5
36
31
1
4
38
16
0
9
-84
11
-5
-24
-31
-14
-5
-52
-25
12
-3
24
-21
58
17
-4
-2
-45
14
-62
-16
48
-39
16
12
24
-1
-14
-57
-8
25
-41
29
6
13
18
1
6
59
-19
12
-3
-35
11
5
57
33
10
-64
11
36
-8
-100
2
7
-32
-11
0
0
2
-12
-16
65
11
71
5
85
60
24
-25
-2
140
11
-34
-61
-74
-31
-15
-52
2
35
-68
12
44
-9
-5
4
-50
14
-26
18
6
71
1
7
-25
-27
-7
42
-60
6
-33
3
-10
12
85
3
-17
-19
42
17
-8
102
-19
11
12
-5
-11
-27
32
37
-15
23
-6
52
19
-48
45
-8
28
-4
12
-2
-32
5
4
-42
-46
-19
-1
84
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
0
0
0
0
-126
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
9
0
0
2
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-14
0
0
-24
-1
0
0
5
0
0
0
22
0
0
0
0
0
0
-61
0
0
0
0
0
0
6
0
1
0
0
0
0
3
0
0
0
0
0
0
-55
0
0
0
0
0
0
-19
7
0
0
0
0
0
-41
0
0
0
0
0
0
41
0
0
0
0
0
0
19
0
0
2
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
29
0
0
0
0
0
0
1
8
0
0
0
0
0
3
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
2
0
0
72
0
0
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
-15
0
0
-1
0
0
0
22
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
1
0
0
9
-23
0
0
0
0
0
0
-2
0
0
-2
0
0
0
5
0
0
0
0
0
0
17
0
22
0
0
0
0
2
0
0
0
0
0
0
4
0
1
0
0
0
0
-5
0
0
0
0
0
0
77
0
0
1
0
0
0
66
0
0
0
0
0
0
-2
0
0
2
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
-1
0
0
0
0
4
0
0
0
0
0
0
22
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
42
0
0
0
0
0
5
-26
0
0
0
0
6
0
0
0
-2
0
0
11
0
0
0
-5
0
0
9
0
0
0
0
0
0
-20
0
0
0
1
0
0
4
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-49
-1
4
0
73
-31
0
0
11
0
0
0
-24
0
0
46
0
0
0
0
0
0
-21
0
0
0
-3
0
-29
1
0
0
0
40
0
0
0
0
0
0
26
0
0
0
0
0
0
3
14
0
0
0
0
-7
-1
0
0
-2
0
0
0
59
0
0
-2
0
0
2
1
0
0
-2
0
0
0
-16
0
0
29
0
0
0
-39
0
0
2
0
0
0
-14
0
0
0
0
0
0
48
0
0
0
0
0
0
-10
0
0
0
0
0
0
-45
-15
0
0
0
0
0
26
0
12
-2
0
0
0
-20
0
0
0
0
0
0
-14
0
-1
-10
0
0
0
7
0
0
-5
0
0
0
63
0
0
0
0
0
0
27
0
0
0
0
0
0
59
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-4
1
-1
0
0
0
0
0
6
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-17
0
0
3
0
0
-51
0
0
0
0
0
-4
16
0
0
0
0
-32
0
0
0
20
0
0
-59
0
0
0
39
0
0
41
6
0
0
-6
-2
0
-6
2
0
0
1
0
5
0
-1
0
0
0
0
0
-2
3
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
19
0
0
0
-1
0
75
9
0
4
0
0
0
0
0
0
0
0
0
6
5
7
121
-9
2
0
4
49
0
0
-15
0
0
3
31
0
1
0
0
0
4
37
0
0
0
0
0
0
30
0
-30
0
4
0
0
-51
0
0
-1
0
0
0
76
0
-1
0
0
0
0
44
-3
0
0
0
0
0
-32
0
0
31
-1
0
-3
9
0
0
-1
0
0
12
-50
0
0
-2
1
0
0
19
0
0
25
-2
1
2
3
0
0
-2
10
0
0
4
0
0
-3
0
0
0
-14
0
0
0
0
0
0
29
0
0
0
0
0
0
13
0
0
-8
0
0
0
77
0
29
0
0
0
0
-21
0
-1
0
1
0
0
57
0
37
2
0
0
0
-7
0
0
7
-5
0
0
-50
0
0
0
0
0
1
25
0
0
0
0
0
0
100
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-7
0
0
0
0
0
0
0
35
0
0
-8
0
0
0
7
0
0
-1
0
0
0
-4
0
-8
0
-1
0
0
17
0
0
0
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-6
0
-13
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-12
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
0
0
29
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
11
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-1
0
0
0
8
0
2
3
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
25
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-1
0
0
-6
14
0
0
0
0
0
7
10
0
0
0
0
0
0
-29
0
0
0
0
0
0
6
0
5
0
7
0
0
2
0
0
0
0
0
0
20
0
0
0
0
0
0
21
0
0
0
0
0
0
-12
0
0
13
0
0
0
47
0
0
0
0
0
0
102
0
0
1
0
0
0
-13
0
0
8
0
0
0
13
0
0
8
2
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-3
-45
89
32
4
-2
27
74
85
-8
61
15
22
16
37
4
-3
-53
-7
-25
1
83
5
-8
21
48
43
-16
49
-6
73
-19
16
15
-69
-13
-23
5
-8
6
18
7
-44
12
-2
7
101
-15
-14
54
-23
-87
5
-38
-30
6
17
-4
48
20
-1
5
-4
-13
96
46
13
-18
10
2
-32
4
-13
-1
-16
21
3
-23
30
-24
65
-18
-7
-17
43
-94
-66
12
16
18
-1
-25
-46
33
-5
3
12
-34
-23
22
-31
-23
-8
0
-12
-77
4
-44
-14
58
8
55
-9
-26
93
-28
7
16
0
0
0
0
0
0
0
-14
-9
-71
-75
21
17
66
-4
18
-9
-25
1
25
-10
0
12
49
16
5
-29
-2
-20
4
31
44
5
-47
12
16
2
71
1
-26
21
-7
-27
-18
-16
-79
-44
66
27
-9
16
-1
0
27
38
31
-58
10
-7
6
36
43
6
21
8
-61
-29
-30
-37
-42
39
14
-68
1
3
-3
25
-42
-7
-22
13
-1
14
-2
49
3
-41
50
-20
13
-20
6
8
-1
61
-16
-6
10
5
8
10
35
6
-23
-4
3
6
17
-23
-45
-5
24
33
16
-9
0
3
-52
15
-111
-10
72
-22
24
30
10
62
2
40
31
-4
20
-5
-15
0
24
-19
15
4
16
19
-36
42
24
-34
29
53
9
-14
-50
-26
-29
37
-6
4
5
24
30
-13
-1
-63
-19
17
20
-20
-36
19
-19
-13
-8
21
26
-40
-49
-27
-1
-11
1
-8
11
-39
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
-6
0
-27
0
17
0
1
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
4
0
-1
0
0
2
0
0
0
0
0
-52
0
0
0
0
0
14
0
0
0
0
0
-5
1
0
0
0
0
51
0
0
0
-3
-2
0
11
1
0
0
-24
0
0
14
-1
0
0
3
2
0
-8
0
0
0
-5
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
60
0
0
3
-8
0
47
-2
-3
0
1
0
0
0
0
0
0
0
0
16
-19
0
13
66
0
0
70
-33
0
0
-2
0
0
7
-74
0
0
-5
-1
0
-2
-53
0
0
8
0
0
0
-27
0
-27
0
2
0
0
-23
0
0
0
0
0
0
-25
-4
0
0
0
0
0
122
0
0
0
0
0
-7
93
0
-6
16
0
0
13
75
0
0
0
0
0
-35
7
0
0
5
0
0
-1
20
0
0
6
0
0
2
-24
0
-5
0
0
0
0
-47
0
0
0
0
0
0
58
0
0
0
0
0
0
-8
0
0
0
0
0
0
-75
-8
0
0
0
0
0
56
6
41
1
0
0
0
9
0
0
0
0
0
0
-20
0
-4
4
0
0
0
-3
0
0
1
16
0
0
44
0
7
0
-10
0
0
-13
0
-2
0
-3
-2
0
-48
0
1
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
2
0
0
0
0
0
-2
-41
0
0
-1
0
0
0
33
0
0
-1
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-13
0
0
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
-12
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
9
0
-8
2
0
4
4
0
0
0
0
6
0
1
0
0
-13
8
0
0
-4
0
0
-1
8
0
-4
3
0
0
0
0
0
-52
4
0
0
0
0
-46
0
0
0
0
-1
3
4
0
-1
0
0
3
0
0
3
-5
0
0
11
-8
0
-2
-7
0
0
-15
34
0
0
-17
-2
0
64
-4
0
2
33
0
0
-9
15
0
4
-5
-6
0
21
-2
0
0
-1
0
0
4
-4
0
1
15
48
0
0
0
-1
0
0
0
0
3
2
0
5
1
-3
0
0
0
0
0
0
0
0
50
5
0
50
77
2
0
75
-57
0
0
24
4
0
97
10
0
0
20
8
0
14
23
0
0
30
0
0
25
28
0
-8
-31
-6
0
0
36
0
-1
0
0
0
0
-1
17
23
0
3
0
0
30
14
1
0
0
0
9
-10
0
-9
36
-54
0
-24
-19
0
-5
17
0
0
94
-39
0
1
46
-10
0
-8
-16
0
0
-10
0
0
-6
57
0
-5
-7
1
0
-5
20
0
0
5
0
0
-2
-25
0
0
-1
-1
0
0
0
0
0
0
0
0
0
62
-3
0
-14
-2
0
0
35
1
36
49
0
0
-19
-11
0
-4
24
-2
0
-2
24
0
-87
3
0
0
0
-43
0
6
22
-13
0
0
44
0
60
-22
-2
0
0
-30
0
3
12
5
0
0
-4
0
5
0
0
0
0
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
127
-6
-21
9
0
-7
-4
75
5
-3
12
12
23
8
-40
0
5
1
0
3
-19
6
0
0
-1
-9
0
0
1
0
11
0
0
-28
0
0
-4
0
0
0
13
0
10
37
14
0
0
0
2
35
16
13
30
61
27
7
-5
12
-10
30
0
31
73
12
-4
8
7
106
-2
-46
-33
-10
-3
0
0
0
51
-5
0
1
80
6
-22
5
16
0
-5
1
0
-51
0
31
0
0
-1
-4
-18
0
-2
43
0
0
0
9
0
12
-42
33
16
-8
0
0
0
0
0
0
0
0
-2
38
-33
81
51
-48
3
9
21
-14
30
28
-12
1
-5
17
1
53
-43
53
0
-16
6
-12
5
9
0
1
-17
50
0
-10
-6
-64
2
0
-45
0
0
2
0
9
0
-31
11
-15
0
0
-3
0
42
14
1
-6
0
0
41
48
-6
-46
-13
1
0
118
27
0
56
10
2
19
14
-68
21
6
22
57
6
5
-26
-2
16
40
0
-18
-31
-3
-4
-10
15
32
-9
48
-13
0
2
-5
0
1
8
-16
-2
13
28
1
-21
0
-16
17
0
0
-2
0
0
-7
110
35
5
0
0
67
59
6
-47
11
0
0
33
-49
-8
61
50
10
5
-20
20
2
-38
-7
8
0
31
1
0
4
13
88
42
4
-15
-3
-20
9
22
0
8
-51
0
-6
-32
2
-12
0
-28
0
-32
0
-3
-1
0
-10
-29
-3
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
-1
0
0
-18
0
0
0
0
0
0
10
0
0
0
0
-1
0
0
0
3
2
0
45
0
0
0
0
0
0
-34
-5
0
0
-25
-1
1
-1
0
0
0
6
0
0
0
-4
0
0
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
-7
0
0
0
-2
0
13
0
-1
0
0
0
0
0
0
0
0
0
0
27
0
0
6
32
12
0
90
-52
0
0
-32
0
0
-4
-61
0
3
-4
0
0
17
-22
0
0
0
0
0
-1
-26
0
-18
0
2
0
0
7
0
0
1
0
0
0
20
7
-5
0
0
0
0
-35
0
0
0
0
0
0
29
0
0
-3
-1
-6
13
0
0
-1
-23
0
3
42
-7
0
0
-11
12
2
-4
-67
0
0
0
0
5
-4
3
0
2
0
-4
2
0
33
0
0
-1
4
0
0
-49
0
0
0
0
0
0
40
0
0
0
0
-1
0
27
0
0
0
0
0
0
13
0
3
25
0
0
13
0
5
-5
2
0
0
0
-102
0
39
1
0
0
0
-11
0
0
3
0
0
6
8
0
6
3
0
0
0
28
0
-4
1
8
0
0
11
0
49
13
0
0
0
21
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
1
0
0
0
0
0
0
2
0
0
-1
0
0
8
-2
0
1
0
0
3
-1
0
0
0
0
0
0
0
0
0
16
0
0
1
0
0
-7
0
0
0
0
0
0
23
0
0
0
0
5
0
0
6
31
0
-8
63
1
0
-1
-33
0
4
-39
0
0
-2
5
-8
0
2
16
0
0
8
0
-3
-5
9
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
0
0
0
0
1
0
0
24
0
0
0
4
0
-11
3
8
0
0
0
0
0
0
0
0
0
0
13
72
0
-10
11
-1
0
-12
13
0
0
-4
0
0
-6
-2
0
0
0
4
0
6
70
0
0
9
0
0
0
-15
0
15
0
0
0
0
14
0
0
0
0
0
0
12
0
-3
0
0
0
0
4
3
-6
3
0
0
7
40
0
-17
8
0
0
27
9
0
1
6
0
0
33
-28
0
1
-8
0
0
0
12
0
0
-22
0
0
0
-31
0
0
0
2
0
0
-27
0
0
0
0
0
0
-8
0
8
2
0
0
0
32
0
0
0
0
0
0
94
8
0
8
0
0
0
49
0
22
-5
0
0
0
41
0
-1
8
9
0
-3
-29
0
0
0
0
0
4
9
0
0
0
0
0
0
75
0
0
5
0
0
0
21
0
-1
0
0
0
0
-13
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
-2
1
0
0
0
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-87
0
0
14
0
0
-13
0
0
0
0
0
1
44
0
0
0
0
-27
0
0
0
2
0
0
11
0
0
-3
-77
0
17
20
5
0
8
3
3
1
13
5
0
0
31
0
1
0
0
0
0
-12
0
0
-1
5
0
0
0
0
1
0
2
0
0
0
0
7
0
0
2
0
0
0
-16
0
49
-1
0
0
0
0
0
0
0
0
0
0
0
59
85
0
-34
21
2
0
-51
-17
0
0
43
0
0
-2
33
0
0
-3
0
2
5
75
0
0
15
0
0
0
3
0
-13
1
-4
1
0
-48
0
0
0
0
-3
0
-58
-7
0
0
8
6
0
31
0
0
0
0
0
-3
-22
0
0
17
4
0
5
-14
0
0
-7
0
0
7
29
0
0
24
-1
0
4
37
0
0
0
0
0
2
-28
0
1
1
2
0
0
113
0
0
-2
-1
0
0
-46
0
0
4
0
5
0
34
-8
0
0
0
0
0
34
0
0
-1
0
0
-1
-66
-8
-6
13
0
0
17
-26
0
-1
0
0
0
-3
31
0
-1
-3
0
0
-4
38
0
0
6
0
0
0
17
0
-3
-6
0
0
0
1
0
0
0
0
0
0
28
0
0
1
0
0
0
22
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-5
-8
9
-7
0
0
64
24
-24
-6
15
4
-22
-38
108
-3
0
0
0
6
-6
-37
0
0
-24
-1
2
0
17
-1
0
0
0
5
0
0
22
0
0
0
2
0
21
57
0
0
0
-5
5
52
5
1
19
-21
1
53
5
8
19
16
-3
37
15
-56
2
22
57
6
-47
6
-15
0
0
6
3
-14
-69
-3
0
0
4
-1
1
43
31
0
0
-10
0
-19
-1
19
-1
0
-7
15
-11
0
1
-74
0
0
0
6
1
13
-53
-34
13
75
0
0
0
0
0
0
0
0
-10
48
10
-33
62
-28
0
57
27
0
35
47
-7
0
12
24
0
5
6
-24
5
-20
0
0
0
-6
0
0
-22
-3
0
25
25
-5
0
-1
-34
0
0
0
0
27
0
2
33
17
0
-10
0
1
4
-23
0
17
0
0
36
6
13
15
38
71
-2
22
20
-3
18
-30
2
5
57
-3
5
22
6
8
2
-2
7
4
48
27
8
24
19
12
0
-4
18
37
-1
15
25
0
4
5
-7
-53
-3
-27
0
0
4
-10
-12
0
1
-5
0
0
0
0
2
-51
-6
0
0
-5
0
-1
-21
-10
-17
21
-8
0
5
54
0
-9
-4
-15
0
-43
12
0
-61
33
-9
4
48
-43
-13
49
-24
42
18
-5
-43
4
-28
-20
8
-3
-2
20
0
0
-8
-5
0
0
-7
0
19
0
3
-3
0
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
31
0
-8
-16
-11
-3
1
-13
0
37
8
-14
0
0
0
0
51
0
2
5
0
1
0
24
0
3
0
20
0
0
11
0
0
-11
0
0
0
4
0
25
32
0
0
0
-4
19
0
0
0
14
0
-5
32
-2
0
1
3
0
2
-25
5
1
-4
-8
0
0
10
41
0
0
47
0
2
-41
-19
0
6
-10
0
-6
13
74
0
0
0
0
21
1
37
0
0
-3
0
38
0
0
-15
42
0
0
34
0
31
-41
-41
14
0
0
0
0
0
0
0
0
0
-23
60
-1
9
8
0
0
13
24
-1
-8
1
-10
5
13
-13
-2
-6
-33
0
-8
4
-8
0
5
23
0
3
-3
0
0
-7
9
0
56
-4
-80
0
0
0
0
49
0
2
-23
0
0
0
8
-2
-6
-7
0
0
0
0
-19
41
0
5
53
0
0
44
0
0
-7
30
0
-1
102
28
0
-2
44
0
0
48
-6
7
-4
-35
8
-8
54
-17
0
0
-1
0
-7
-9
-7
0
-5
20
0
42
0
2
0
-3
11
0
-14
0
-2
42
-4
3
0
-10
0
-10
77
-2
0
0
0
-7
18
0
52
31
0
0
-28
10
0
-8
3
0
2
-127
22
0
-3
-44
0
6
-68
-13
0
34
0
0
0
1
64
3
-19
-18
0
-4
0
5
0
-17
6
0
41
2
-30
2
-6
0
0
-49
0
-23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
18
0
0
-4
4
2
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
-16
0
0
0
0
0
4
8
0
0
0
0
-10
1
0
0
8
-3
0
6
0
0
4
41
0
0
79
9
0
-1
-1
-9
0
3
23
0
2
-1
0
0
-2
5
0
0
3
0
0
-13
3
0
0
0
0
0
0
-14
0
0
0
-13
0
0
1
17
0
0
0
0
0
27
-5
11
0
0
0
0
0
0
0
0
0
0
81
49
0
-50
7
2
0
30
45
0
-3
-37
-2
0
30
17
0
-8
9
18
0
-5
0
0
12
5
13
0
0
84
0
30
2
-4
0
0
-10
0
0
-9
0
0
0
63
-18
2
-5
0
0
0
58
10
0
0
0
0
4
24
0
16
148
0
0
92
-34
0
3
15
0
0
17
17
0
10
74
-8
0
-8
-21
0
0
49
0
0
-3
44
0
1
8
23
0
12
6
0
0
-8
0
0
0
-15
0
-2
-4
0
0
0
-5
0
0
0
8
0
0
48
-2
0
0
0
0
-1
49
0
51
1
-4
0
3
-45
0
8
-14
4
0
0
11
0
-5
13
-1
0
0
46
0
1
63
-6
0
3
-48
0
22
-1
0
0
0
92
0
0
0
-12
0
0
41
0
8
1
0
0
0
31
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
4
-9
42
32
-48
-16
50
51
-7
5
13
-1
16
12
-48
2
3
-24
-22
-13
15
-33
0
-5
-1
2
33
0
-3
5
-1
0
-8
-13
-3
-16
-11
14
1
0
-57
-3
83
7
-57
7
22
5
-63
53
19
29
14
3
-69
9
-52
-47
113
8
15
16
23
-22
25
-49
-32
-7
49
-21
-17
-10
-34
-23
26
11
-13
11
0
23
85
5
-35
-8
-11
8
-3
-6
25
-6
0
42
52
0
3
42
-10
-3
-26
-25
-126
26
26
4
0
0
0
0
0
0
0
27
10
-5
6
13
23
22
7
2
-3
-1
26
-18
-13
-7
-2
-4
20
-10
-10
-42
1
4
-12
-31
-38
-19
10
-27
3
-1
-1
41
12
30
-22
1
-1
8
-12
19
12
0
5
19
-50
-4
-69
-31
-6
28
-42
-27
14
-1
-1
-51
43
-24
93
-13
13
6
44
46
-59
-81
6
-9
117
24
12
27
28
43
-44
-13
104
-5
-28
-50
-4
-24
-43
2
-7
-14
8
-26
-18
-38
66
3
4
8
33
3
17
7
-20
-7
13
-42
4
41
-1
9
9
-13
0
-5
-5
-8
23
-34
-41
-42
5
-5
-3
10
-64
-45
-41
-3
-1
-62
12
-71
58
-11
-9
-20
14
14
-25
1
7
3
42
-39
27
-2
-49
43
50
-5
2
-18
0
-32
-26
31
-17
72
-1
3
-30
27
-48
37
4
1
9
-22
24
-12
22
0
18
13
-9
-8
31
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-7
0
0
-42
0
0
0
0
0
1
-29
0
0
0
0
0
3
0
4
-5
48
0
-73
1
0
0
-8
-4
0
-5
0
0
-1
58
4
4
17
9
4
-2
-6
-8
2
-5
16
0
0
0
0
0
0
13
0
0
4
0
-6
0
0
0
0
0
0
28
0
0
28
0
0
0
3
7
13
4
-7
0
0
0
0
0
0
0
0
0
0
20
-11
-1
84
-1
2
0
-47
0
0
8
0
-1
-1
-16
-3
0
1
2
-7
0
-2
-73
0
0
-17
0
0
1
-4
0
-56
4
0
0
0
-7
0
0
0
0
8
0
38
14
0
0
0
0
0
-8
-4
0
0
0
0
60
0
-8
-5
-21
0
0
42
21
0
0
37
-1
0
82
0
0
0
42
-9
0
-20
78
-3
-5
16
0
0
1
62
0
0
88
0
0
0
-9
0
0
0
0
-9
0
-94
0
4
0
0
0
0
4
0
0
0
0
0
0
19
19
1
0
0
0
-3
78
0
-7
1
0
0
2
81
0
13
56
1
0
8
0
0
25
92
0
0
-5
-52
2
1
-49
0
0
-2
14
0
-1
3
0
0
1
-46
0
3
4
-1
0
0
-14
0
-9
0
0
0
0
-53
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
-52
0
0
0
0
0
-1
2
-4
0
0
0
8
0
0
0
-16
1
0
-37
0
0
0
-39
0
0
74
-1
0
0
8
0
0
0
1
0
0
-13
0
0
0
2
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
-54
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
67
10
0
0
19
69
0
3
-31
0
0
13
14
0
-3
1
1
0
0
54
0
0
0
0
0
0
0
0
7
0
0
0
0
60
0
0
0
0
0
0
-4
0
0
0
0
0
0
-39
2
0
0
0
0
-1
64
0
-8
17
0
0
-8
4
0
0
22
0
0
1
10
0
0
13
0
0
-8
-11
0
0
-6
0
0
0
0
0
10
10
0
0
0
-17
0
0
2
0
0
0
-22
0
2
0
0
0
0
13
0
0
0
0
0
0
42
0
0
3
0
0
0
6
0
1
0
0
0
0
-13
0
0
9
0
0
0
60
0
1
1
0
0
0
-3
0
15
0
0
0
0
11
0
0
0
6
0
0
9
0
-4
0
0
0
0
-44
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
6
0
0
51
0
0
0
0
0
6
0
0
0
0
0
9
0
0
0
0
0
0
-17
0
0
0
6
0
0
44
-2
0
0
-1
0
0
1
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
-7
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-28
-18
0
0
4
15
0
0
9
0
0
-1
-6
0
0
0
-8
0
-5
30
0
0
0
2
0
3
9
0
0
0
0
0
0
2
0
0
0
0
0
0
-78
0
0
0
0
0
0
-84
0
0
0
0
0
0
4
1
0
30
0
0
4
46
0
0
1
0
0
-1
-8
0
0
-1
0
0
-2
11
0
0
-3
5
0
0
0
0
0
0
0
0
0
-30
0
5
7
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
0
0
-18
0
6
0
0
0
0
3
0
0
0
0
0
0
-17
0
0
0
2
0
1
9
0
0
0
0
0
0
-6
0
0
0
1
0
0
5
0
0
0
0
0
0
49
0
0
0
0
1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
-3
0
-1
10
0
-31
25
0
1
0
0
6
0
8
0
0
0
0
0
0
-1
0
58
0
0
2
0
0
-11
0
0
0
0
0
-6
-13
0
0
0
-2
16
0
1
0
69
-5
6
-52
0
0
3
83
0
0
39
-20
-1
0
-44
4
-8
20
45
0
0
-10
-2
0
-4
-2
0
10
-7
21
3
-5
-21
0
0
-7
0
-2
0
-16
0
0
0
0
21
0
0
24
0
0
-2
13
0
29
-1
-5
0
0
0
0
0
0
0
0
0
0
-56
3
1
57
102
8
0
28
11
1
0
5
0
0
28
69
6
0
-49
-4
0
-22
17
0
0
-7
0
0
0
-74
0
7
16
25
6
0
6
0
0
1
0
-3
0
23
-24
-2
0
-8
-2
0
42
-1
0
0
0
0
30
-17
-3
8
3
0
0
10
16
-1
-8
-4
0
0
67
-18
0
-27
61
1
-1
42
-71
0
-8
-9
0
0
2
17
0
0
8
-22
3
-1
-40
0
0
5
6
-15
0
46
0
0
0
6
8
0
-19
-5
0
0
0
0
1
-22
0
0
0
0
0
-5
72
2
-43
1
0
1
5
-16
0
6
4
-1
-1
-6
-65
-1
20
12
0
-3
1
-37
0
-33
5
-12
-1
2
20
0
8
29
6
0
-29
-14
0
0
-1
8
1
0
-13
0
28
4
0
1
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
-70
0
0
0
0
0
2
0
0
0
0
0
-3
14
0
0
0
0
0
-10
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
19
0
0
-8
-7
0
0
-1
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-1
0
-18
0
0
0
0
-41
0
0
0
0
0
0
-20
0
0
0
0
0
0
-110
0
0
0
0
0
0
41
0
0
-2
0
0
-2
-49
0
0
2
0
0
0
27
0
0
1
0
0
-5
23
0
0
0
0
0
0
-19
0
0
7
0
0
-1
-17
0
0
0
0
0
0
-3
0
0
0
0
-1
0
-32
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
-7
-4
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
41
0
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
31
1
0
0
3
-9
0
14
0
0
5
21
-2
0
-10
0
0
0
-8
0
0
101
0
0
2
14
0
0
88
-12
0
0
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
-46
4
-12
1
-1
0
0
0
0
0
0
0
0
40
41
0
14
-8
-12
0
-28
-3
0
8
-3
0
0
31
71
0
0
94
-2
0
-13
14
0
0
-8
0
0
-6
-41
0
-53
2
0
0
0
-19
0
0
4
0
0
0
34
24
2
0
0
0
0
-7
-1
0
0
0
0
3
-36
0
-5
124
0
0
19
21
0
0
15
0
0
-2
-65
0
0
-15
1
0
-7
95
0
0
38
0
0
0
-10
0
0
-31
-2
0
9
40
0
0
2
0
0
0
-31
0
0
0
8
0
0
-62
0
0
0
0
0
0
-36
6
0
0
0
0
7
20
0
20
-22
0
0
5
-5
0
0
56
0
0
21
-67
0
-5
-8
0
0
-3
-3
0
-20
-1
13
0
1
-22
0
-44
30
0
0
0
68
0
0
0
0
0
0
17
0
-3
0
0
0
0
32
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
53
0
2
0
0
1
-1
19
0
0
0
0
-4
0
-2
0
-84
0
0
2
0
0
-6
0
0
0
0
0
-8
-23
0
0
0
0
0
-4
0
3
-16
-72
0
28
0
0
0
-30
0
0
-76
41
-2
0
43
63
8
-80
39
0
17
-2
0
10
17
13
0
2
13
-6
-5
1
41
0
-4
0
0
-5
0
39
0
0
0
0
-67
0
0
-49
0
0
0
-24
0
-21
6
4
2
0
0
0
0
0
0
0
0
0
30
18
2
-47
-59
11
0
-43
19
0
1
-20
0
0
1
-1
0
-5
-46
-6
0
15
0
0
4
70
0
0
1
23
0
-41
19
-13
1
-1
-124
0
0
-2
0
-7
0
1
13
-4
0
0
0
0
-14
-8
0
0
0
0
-1
-6
0
-1
43
0
0
31
23
1
14
3
1
0
17
5
6
17
11
2
0
8
-22
0
6
15
0
-1
-6
-70
0
34
-30
20
1
0
44
0
0
17
0
-49
0
-43
0
0
-3
0
50
0
15
0
0
0
0
-2
0
-7
7
0
0
0
0
-2
21
0
36
76
0
0
0
-40
7
23
44
1
0
-13
43
8
88
2
-2
1
5
0
1
0
14
9
0
0
-38
0
-13
-4
3
0
0
21
0
-1
8
1
-2
0
-50
0
57
0
0
4
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
4
2
0
0
3
0
-2
0
0
0
0
-67
0
0
0
0
0
10
0
0
0
2
0
5
-71
0
0
0
0
24
-3
0
9
13
13
0
17
-2
2
-1
-12
0
1
41
-4
0
0
13
21
9
0
0
0
5
42
0
-14
39
26
0
0
5
-4
-1
4
56
0
0
0
0
0
0
17
0
0
0
19
-25
0
0
6
0
0
0
-5
0
13
6
33
0
0
0
0
0
0
0
0
0
0
-40
-4
-5
20
-49
27
0
-17
15
-4
6
-8
0
7
67
0
1
0
26
-2
0
-5
-22
0
-10
34
0
1
-6
-61
0
-66
-2
-2
0
0
-75
0
0
0
0
2
0
-51
9
4
3
2
0
0
-6
4
3
-1
0
0
-6
28
2
2
76
-18
0
69
-11
-3
-1
75
0
0
-6
-15
0
-20
67
-10
-3
18
0
0
0
-8
-1
1
2
37
0
0
-8
-13
0
5
56
0
0
13
0
3
0
-26
0
0
-6
-13
-9
0
-42
1
0
0
0
0
1
5
10
1
8
0
0
0
48
1
1
-1
0
0
9
-32
-7
13
67
0
0
-1
-12
1
-8
56
0
3
13
0
-1
3
-5
8
-6
0
-41
0
-6
9
1
0
-4
-40
0
0
0
-1
0
0
4
0
-58
0
0
0
0
25
0
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
-11
0
0
0
0
0
65
0
0
0
0
0
-10
23
0
0
0
0
-3
0
0
4
14
0
0
-54
0
0
0
31
0
0
41
0
0
-3
55
2
0
39
0
0
0
-4
0
3
-4
23
0
0
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
14
0
0
1
0
0
0
1
0
-27
-2
8
0
0
0
0
0
0
0
0
0
0
-16
1
0
88
41
13
0
-43
50
0
0
-5
0
0
-29
25
0
0
12
-2
0
7
-28
0
0
14
0
0
0
25
0
8
8
0
0
0
48
0
0
0
0
2
0
35
0
0
0
0
0
0
-25
1
0
14
0
0
0
-7
0
0
10
9
0
31
-9
0
4
-17
0
0
8
57
0
-3
-44
-4
0
1
-25
0
0
1
0
-7
6
-34
0
0
-2
0
0
0
-36
0
0
9
0
0
0
-30
0
0
0
0
0
0
-17
0
2
0
0
0
0
-2
2
0
0
0
0
0
8
0
-3
-14
0
0
0
38
0
-1
-8
0
0
5
18
-1
0
-13
0
0
4
49
0
0
0
0
0
0
-13
0
-2
-2
0
0
0
9
0
1
-3
0
0
0
-35
0
0
-7
0
0
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-20
0
0
0
0
0
0
13
0
0
0
0
7
0
0
0
0
3
0
-27
3
4
0
5
0
0
30
2
0
0
9
-9
0
-44
30
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
-31
0
0
0
-2
0
0
0
0
0
0
0
0
5
-59
0
49
42
1
0
-53
74
0
0
-11
0
0
0
-47
0
0
18
1
0
-1
-41
0
0
-1
0
0
0
-4
0
-3
0
0
0
0
-18
0
0
0
0
0
0
55
-2
0
0
0
0
0
82
0
0
0
0
0
-3
-5
0
0
0
0
0
0
-55
0
0
0
0
0
16
-23
0
1
-8
-2
0
-4
9
0
0
-44
0
0
0
-21
0
0
-12
-5
0
0
65
0
0
0
0
0
0
-22
0
0
0
-1
0
0
28
0
0
0
0
0
0
-8
-6
0
0
0
0
0
-24
0
12
0
0
0
0
101
2
0
2
0
0
0
-8
0
2
0
0
0
0
-15
0
-8
0
5
0
0
-4
0
-3
-6
0
0
0
-21
0
0
0
6
0
0
24
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
0
0
0
0
-1
-1
0
0
0
2
0
0
2
0
-38
0
0
0
0
0
-11
0
0
0
0
0
5
17
0
0
0
0
-3
-3
0
0
5
-66
0
20
-1
0
0
61
0
0
91
1
0
0
40
14
0
-70
8
0
0
-1
4
-9
-13
24
0
0
8
4
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
40
0
0
12
0
0
0
0
0
-60
1
8
0
0
0
0
0
0
0
0
0
0
-3
96
-2
14
-14
0
0
42
54
1
7
-15
0
0
3
5
0
0
-4
17
0
31
18
0
0
-5
8
0
-1
-43
0
12
-2
-5
0
8
19
0
0
0
0
1
0
-8
1
2
0
0
0
1
23
0
0
0
0
0
0
-33
1
-2
16
-5
0
14
-13
0
-9
9
0
0
-9
3
0
2
6
37
0
3
-5
0
0
16
-4
16
0
46
0
0
0
16
0
0
-77
0
-2
0
0
0
0
-55
0
0
2
0
-4
0
46
0
0
0
0
0
0
27
0
0
0
0
0
0
12
0
-2
-5
0
0
0
-23
0
-1
-4
-2
0
-1
-14
0
0
0
0
0
-1
49
0
0
0
-6
0
0
10
0
4
-4
0
0
0
83
0
0
0
2
0
0
-44
0
-31
0
0
-2
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-16
0
-2
0
0
0
0
1
0
0
0
33
0
0
49
0
0
-10
0
0
0
0
0
58
10
0
0
0
0
16
0
0
0
92
0
2
-13
0
3
8
3
0
0
-54
3
0
-8
51
0
5
11
0
0
0
21
0
30
1
0
0
0
-1
0
-21
-3
0
0
0
0
0
6
0
0
0
0
0
0
33
0
0
3
0
0
0
31
0
36
4
-2
0
0
0
0
0
0
0
0
0
0
-4
-72
0
-42
-19
0
0
43
29
0
0
-36
0
0
-54
54
0
0
27
0
0
-2
-21
0
0
-5
0
8
1
-21
0
1
-2
0
0
0
-26
0
0
0
0
-18
0
22
69
48
0
0
0
0
-25
8
0
0
0
0
31
-35
0
-12
-39
0
0
9
43
0
0
21
0
0
14
1
0
0
25
0
0
29
-28
0
0
18
0
-5
25
43
0
0
32
0
0
3
0
0
0
7
0
-25
0
-9
0
0
0
0
57
0
6
0
0
0
0
0
0
-32
-1
0
0
0
0
3
-2
0
-13
69
0
0
6
-35
0
0
-4
0
0
-7
-13
0
24
0
0
0
8
-14
0
0
12
0
0
0
22
0
5
0
0
0
0
-24
0
0
0
0
0
0
-7
0
-17
0
0
2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
42
0
0
0
0
0
-23
0
0
0
0
0
24
3
0
0
0
0
-21
4
0
0
5
-1
0
14
0
0
0
13
0
0
-64
-1
0
0
-23
39
0
-31
1
0
-3
0
0
0
55
-5
0
-1
12
50
0
-3
6
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
40
0
0
0
0
0
12
-8
-3
2
0
0
0
0
0
0
0
0
0
-21
28
-1
-15
46
14
0
50
74
0
0
41
0
0
27
20
0
0
90
7
0
40
-25
0
0
-69
14
0
4
-16
0
-10
6
1
0
-7
28
0
0
0
0
0
0
41
59
29
0
9
0
0
18
-8
0
8
0
0
-4
14
0
0
85
31
0
31
1
0
7
-38
0
0
85
27
0
4
-35
43
0
78
-39
0
0
42
0
0
8
-11
0
12
-13
-22
0
17
62
0
0
-8
0
0
0
28
0
0
18
5
0
0
-53
0
0
0
-1
0
0
-39
15
0
0
0
0
13
19
0
-10
16
0
0
8
35
0
8
-56
-3
0
-8
-14
0
31
86
0
0
-12
19
0
1
74
-2
0
0
-5
0
-4
-12
0
0
0
-14
0
0
8
-3
0
0
80
0
-17
0
0
0
0
-26
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
6
0
0
0
0
0
-15
1
0
27
0
0
-27
0
0
0
0
0
0
14
0
0
0
0
9
-15
0
-2
28
5
0
-3
1
0
1
-33
0
-3
21
0
0
0
10
5
-15
32
8
0
0
-47
-3
28
0
0
0
0
39
2
8
0
-7
0
0
22
1
18
0
22
0
0
0
-8
-28
0
0
23
0
0
0
1
0
-3
-34
-3
0
0
0
0
0
0
0
0
0
0
-11
-23
0
3
2
-7
0
6
8
0
0
-7
1
0
0
44
0
2
0
0
0
0
8
0
-1
72
0
0
0
-9
0
-18
14
5
0
0
-24
0
0
-10
0
-3
0
23
0
3
0
-3
0
0
9
-3
0
0
0
3
1
-26
2
0
-3
3
0
18
-23
1
-1
-6
0
0
0
-22
2
9
-22
-9
0
0
16
0
0
13
4
1
1
-14
1
0
13
-5
0
0
-13
0
0
3
0
13
0
9
0
3
0
0
12
0
-35
-7
0
0
-1
0
0
14
-5
0
0
0
0
0
-38
0
11
22
3
0
0
20
0
8
-18
-1
0
0
39
0
29
8
-1
0
0
-1
0
0
5
39
0
0
1
0
-10
-15
0
0
0
37
0
-3
-1
1
2
0
14
0
18
0
0
4
0
-57
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
2
0
3
0
0
0
-32
0
0
-7
0
0
-30
0
0
0
0
0
-16
-21
0
0
0
0
10
0
1
0
9
-2
0
44
0
0
0
33
0
0
71
-9
0
2
-68
22
0
19
5
0
-1
66
4
0
45
0
5
0
1
-6
7
-4
8
0
0
0
0
-5
0
-1
0
0
0
0
-6
0
0
-8
0
0
0
7
0
15
7
7
-5
-1
0
0
0
0
0
0
0
0
-6
24
0
0
30
2
0
38
-82
-2
2
63
0
0
10
-11
3
0
-49
13
0
6
0
-2
0
8
0
4
14
38
0
35
0
0
0
0
-27
0
0
0
0
0
0
-6
14
0
0
0
0
0
-1
-14
2
0
0
0
4
20
-4
-3
66
3
0
0
-10
1
0
1
2
0
-9
-33
10
-6
-18
0
0
-24
52
2
0
19
0
5
12
0
-2
0
41
13
9
0
-62
0
0
3
29
0
0
27
1
0
1
0
8
0
-28
0
0
0
0
0
0
16
10
-1
3
0
0
0
-30
0
17
-1
0
0
0
45
0
-10
-2
1
0
-2
34
8
-9
18
-2
0
-8
-7
3
0
-17
4
0
0
0
0
2
8
0
0
0
37
0
0
-1
-14
0
0
41
0
2
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
4
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-1
0
1
-5
0
0
0
-21
0
-4
-16
0
0
0
8
0
10
-4
-9
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
13
5
0
5
-41
0
0
-21
30
0
0
-2
0
0
1
5
0
0
-8
0
0
0
-8
0
0
0
0
0
0
-20
0
27
7
0
0
0
-5
0
0
0
0
23
0
-59
2
0
0
2
0
0
48
0
0
0
0
0
6
-27
0
6
-2
0
0
-1
-66
0
0
9
0
0
-5
-14
0
6
49
0
0
0
-38
0
0
0
0
0
0
-1
0
-1
8
-2
0
0
90
0
0
0
0
0
0
5
0
0
0
-2
0
0
20
0
0
0
0
0
0
-12
0
0
0
0
0
0
53
0
0
-1
0
0
1
9
0
8
-2
0
0
0
31
0
0
0
0
0
0
3
0
0
2
0
0
0
66
0
1
0
0
0
0
-3
0
0
0
0
0
0
31
0
4
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
7
0
0
-2
0
0
0
3
0
0
-13
5
0
0
0
0
0
-1
0
0
0
3
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
-9
-5
-7
0
17
-27
0
0
0
0
0
1
-7
0
0
2
0
0
0
-7
0
0
0
0
0
0
-2
0
-2
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-56
0
0
0
0
0
0
12
0
0
-1
0
0
0
57
0
0
-20
0
0
5
5
0
-2
0
1
0
0
-26
0
0
-1
0
0
0
10
0
3
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-33
0
0
0
0
0
0
-9
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
12
0
4
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
4
-1
0
0
2
0
0
1
5
0
0
0
0
0
-2
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
-1
0
33
-1
0
0
0
0
0
0
0
0
0
0
0
-4
13
0
13
2
0
0
-8
-9
0
0
-6
0
0
3
-8
0
0
-3
0
0
4
-24
0
0
-4
0
0
0
0
0
8
-1
0
0
0
1
0
0
0
0
0
0
-14
-1
0
0
0
0
0
27
-2
0
0
0
0
0
16
0
0
-4
0
0
0
-45
0
0
1
0
0
0
16
0
0
0
1
0
-4
42
0
0
1
0
0
0
5
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
5
0
-6
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
-5
0
0
0
0
-9
0
0
0
0
0
0
-25
0
4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
33
0
0
0
0
-10
0
0
0
0
0
0
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
-18
0
0
0
0
0
0
-18
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
4
0
0
0
1
0
0
0
0
0
0
44
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
20
0
0
0
0
0
-42
0
0
0
0
0
30
42
0
0
0
0
-21
0
0
0
42
30
0
29
2
0
-1
69
0
0
62
4
0
0
-5
-18
0
-29
0
0
9
21
0
0
-9
-2
0
0
0
0
0
38
-32
0
24
3
0
0
1
-25
0
0
0
9
0
0
0
18
0
0
0
0
0
-71
32
7
1
0
0
0
0
0
0
0
0
0
71
3
0
42
67
-20
0
-4
58
0
-4
-5
0
0
-22
-55
0
12
-3
-13
0
-28
-60
0
0
121
0
0
25
-47
0
8
-10
3
0
0
-13
0
0
0
0
0
0
-6
13
-20
0
-1
0
0
6
12
0
0
0
0
34
-46
0
5
-25
7
0
52
33
0
0
72
0
0
121
53
0
0
-14
-6
0
-41
-26
0
0
20
0
0
2
37
0
1
34
22
0
23
3
0
0
66
0
0
0
-24
0
0
6
-10
0
0
33
12
-4
0
0
0
0
-7
5
0
3
0
0
9
20
0
-2
22
0
0
9
8
0
1
-42
0
0
-3
-5
0
28
-21
0
0
-8
-4
0
6
-24
-7
0
13
43
0
24
6
0
0
0
17
0
4
-2
-12
0
0
0
0
-15
0
0
0
0
36
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-65
0
0
0
0
0
-7
2
0
0
0
0
1
0
0
0
50
0
0
-63
-7
0
0
111
0
0
13
0
0
0
-19
3
0
16
0
0
0
0
0
0
-14
1
0
0
22
0
0
0
0
0
0
0
0
2
0
1
0
0
-1
-5
-2
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
-2
-55
0
23
41
-1
0
-12
-61
0
0
20
0
0
0
-57
0
0
-1
0
0
0
-40
0
0
5
0
0
0
-17
0
10
0
-1
0
0
-25
0
0
0
0
0
0
-88
-2
0
0
0
0
0
29
0
0
0
0
0
0
-81
0
-2
5
4
0
0
28
1
0
-9
0
0
0
90
0
-19
2
0
0
0
24
0
0
1
-3
0
0
30
0
0
7
7
0
0
-5
0
0
0
0
0
0
-53
1
0
0
0
0
0
33
0
0
0
0
0
0
9
0
0
0
0
0
0
3
-5
2
0
0
0
0
-14
0
0
0
-2
0
0
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
-25
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-52
0
0
2
0
0
-91
0
0
0
0
0
6
0
3
0
0
0
5
2
0
0
2
18
1
71
0
0
1
5
0
-5
45
19
4
0
-13
2
0
33
50
0
6
13
2
-5
16
13
0
3
41
8
0
-5
0
3
-5
2
0
0
0
-2
0
0
0
0
-1
0
0
5
0
0
0
0
0
9
-6
9
0
-3
0
0
0
0
0
0
0
0
-18
14
2
-42
11
0
0
-13
54
-3
0
-30
-2
0
-5
62
4
-2
91
7
0
18
-27
0
2
29
0
0
0
0
0
5
0
0
0
0
-45
0
0
0
0
0
0
-14
15
0
0
0
0
0
6
-4
-1
0
0
0
4
-4
4
-2
96
-8
0
1
9
3
0
-56
0
9
2
-46
0
-7
42
17
0
1
1
0
1
-27
0
-8
2
20
1
4
-5
-8
0
0
0
0
0
-9
0
0
0
-16
0
0
0
1
14
0
52
0
0
0
0
0
0
60
-3
0
-19
0
0
0
3
1
50
-12
0
0
1
-22
1
-8
0
5
1
-5
28
0
-6
41
0
0
0
-5
5
-2
-17
-8
0
0
11
-5
-8
0
3
0
0
0
0
-3
-1
0
-5
0
-50
0
49
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
1
0
0
-5
0
0
0
0
0
2
0
0
0
0
0
-1
5
0
0
-2
0
0
35
-1
0
0
10
0
0
-2
0
0
0
-7
-1
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
5
40
0
0
-66
51
0
0
-16
0
0
-1
8
0
0
1
0
0
0
6
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
8
0
0
0
0
-17
0
0
0
0
0
0
-5
0
0
-13
0
0
2
13
0
0
0
0
0
3
-35
0
0
15
0
0
0
7
0
0
8
0
0
0
-40
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
0
0
-4
4
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-2
0
0
-2
-15
0
0
0
0
0
0
4
0
1
6
0
0
0
2
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
-5
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
3
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
24
-32
0
0
-10
9
0
0
0
0
0
0
1
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
0
0
-31
0
0
0
0
0
0
-31
0
0
0
0
0
0
-39
0
0
-1
0
0
0
-2
-3
0
23
0
0
0
-7
0
0
3
0
0
0
-22
0
0
1
0
0
0
-7
0
0
0
0
0
0
59
0
0
0
0
0
0
12
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
-1
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
18
24
1
0
0
13
13
0
-21
0
0
0
-27
1
0
25
0
0
0
0
0
0
49
0
0
0
0
-4
-2
0
1
0
0
0
-6
-3
-2
0
0
0
2
0
3
-4
0
0
0
-1
-6
1
0
0
0
0
0
0
0
0
-14
8
0
3
0
0
0
0
0
0
0
0
0
72
5
0
10
3
0
-5
-8
41
0
0
-5
0
0
-7
10
0
0
0
0
0
10
-41
0
0
0
0
0
-3
9
0
-5
0
2
0
0
27
0
0
0
0
0
0
-7
0
-2
0
-1
0
0
76
1
0
0
0
0
4
-16
1
0
0
0
0
0
-26
0
1
6
0
7
-4
-30
0
0
1
0
0
0
-17
0
0
0
0
0
0
-17
0
-2
0
0
0
5
4
0
0
0
0
-6
0
-29
0
0
0
0
0
0
-28
0
0
0
0
1
0
-13
0
0
0
0
0
0
-33
0
0
0
0
0
0
49
0
0
0
-1
0
0
24
0
2
0
0
0
0
-1
0
0
0
0
-1
-1
8
0
-19
0
0
0
0
9
0
0
0
0
0
0
82
0
0
0
-1
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
15
0
0
-17
0
0
0
0
0
5
12
0
4
0
0
-9
1
0
0
4
0
0
3
2
2
0
-60
0
8
67
-5
0
0
33
0
47
-93
-3
0
0
14
0
-4
0
6
0
0
0
-1
4
30
-4
0
0
0
0
13
0
0
0
0
0
0
-60
0
0
-1
0
0
0
14
0
-3
-5
8
0
0
0
0
0
0
0
0
0
0
-10
-51
0
4
2
0
0
-30
-21
0
4
-2
0
0
-1
-8
0
0
40
20
0
34
66
0
0
-13
0
0
6
26
0
84
6
0
0
0
11
0
0
0
0
2
0
49
1
0
0
0
0
0
-21
4
0
1
0
0
1
-1
0
10
11
0
9
1
-11
0
0
47
0
3
1
-7
0
9
7
0
1
8
-44
0
0
46
0
-1
0
62
0
0
31
0
-6
-7
26
0
0
0
0
64
1
-25
0
0
29
0
-27
0
55
0
0
0
0
0
0
35
0
0
0
0
0
2
47
0
4
7
0
0
0
-39
0
3
-25
-2
0
-4
-48
0
-5
3
0
0
0
59
0
0
7
3
0
0
111
0
-8
-1
0
0
0
27
0
1
0
0
0
0
13
0
5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
30
0
0
0
0
0
9
-9
0
0
0
0
-6
0
0
0
-2
-7
0
-5
0
0
0
-66
0
0
-23
2
0
0
33
46
0
15
-18
0
0
-21
0
0
25
-2
0
0
-1
0
0
1
0
0
0
0
0
0
4
-4
0
0
0
4
0
0
0
41
0
0
0
0
0
-16
10
4
8
0
0
0
0
0
0
0
0
0
-124
46
0
19
41
14
0
60
55
0
-3
11
0
0
1
22
0
0
15
-27
0
46
-3
0
0
-15
0
0
0
9
0
-8
1
8
0
0
10
0
0
-1
0
0
0
-10
-33
-7
0
-1
0
-3
21
8
0
2
0
0
51
-39
0
5
52
3
0
61
-23
0
-8
51
0
0
-9
7
0
4
31
1
0
-21
73
0
0
-3
-3
0
-8
-16
0
5
30
39
0
-14
-31
0
0
19
0
0
0
54
0
0
4
-2
0
0
88
0
0
0
0
0
0
36
2
0
0
0
0
12
-7
0
-9
8
0
0
-4
22
0
0
3
0
0
0
9
0
7
49
0
0
13
-20
0
2
12
3
0
0
-5
0
102
-2
-1
0
0
45
0
-2
0
-12
0
0
57
0
66
-1
0
0
0
43
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-5
0
0
-12
-4
0
0
2
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-38
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
-23
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
-2
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
-1
0
0
76
0
1
0
-8
0
0
-29
0
0
0
5
-4
0
-2
-4
0
0
1
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
57
8
0
0
0
0
0
0
0
0
0
0
0
0
13
0
53
-44
1
0
1
34
0
0
0
0
0
-6
27
0
0
3
0
1
1
-50
0
0
4
-3
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-103
16
0
0
0
0
0
-56
3
0
-10
-1
0
5
27
0
8
4
0
0
31
-40
0
0
13
0
0
2
-10
0
0
8
1
0
0
18
0
1
-6
0
0
2
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
23
3
0
0
0
0
0
-12
-7
0
0
0
0
0
35
0
0
-1
0
0
0
-15
0
0
0
0
0
0
20
0
8
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
5
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
29
-27
0
0
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
46
0
0
0
0
0
-1
-23
0
0
12
0
0
0
-47
0
0
0
0
0
0
-8
0
0
1
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-4
0
0
0
0
0
0
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
-14
0
0
5
4
-1
-24
-16
46
-44
4
-12
-51
-50
-51
14
5
11
15
1
3
38
48
-17
39
-25
-1
15
55
-15
-21
25
33
-10
43
20
-42
55
-1
42
39
-2
0
8
8
-27
23
-11
-7
-4
7
-41
45
46
24
-62
0
0
-4
54
-4
0
10
-11
0
0
-25
-20
-49
2
-25
-4
40
27
-3
0
0
0
0
0
0
0
6
27
62
-4
-6
-4
-6
14
-9
-16
60
1
-12
-12
-19
-15
17
-48
7
25
-31
36
4
-12
31
32
19
13
-28
6
-21
5
44
5
5
-26
-7
35
-3
5
-3
-39
2
4
-18
0
0
-36
-20
16
-13
-9
5
-35
2
-17
9
-6
39
65
-12
-12
-47
42
-17
-14
35
11
-30
-63
-25
4
37
22
29
-6
22
-20
0
39
-3
14
-31
51
105
-5
5
-31
-2
3
-16
-27
4
-19
-3
46
-22
24
73
13
46
-54
-8
-2
5
-2
-6
-41
-28
-5
-22
13
-15
26
82
-33
1
-53
33
-48
14
26
-7
-36
22
-43
24
-14
26
25
33
15
-20
35
11
44
-9
-29
-15
98
10
-17
-25
35
-39
-33
13
16
-3
4
46
-12
-12
7
-1
-20
-45
54
-18
41
19
41
7
14
58
-14
-5
65
20
-6
-52
-27
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
3
0
0
-1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
-3
2
0
0
8
0
0
7
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
1
-1
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-22
0
0
0
0
0
0
-10
0
0
5
0
0
0
-30
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-38
10
0
0
0
0
-28
3
3
0
77
-11
0
11
0
0
5
3
0
0
-6
-5
0
0
7
-6
0
50
-44
0
0
-83
1
0
65
-2
0
-1
25
11
0
75
-24
0
0
42
0
0
0
5
0
0
0
0
0
0
-1
63
0
0
-1
0
0
2
-11
-13
-1
0
0
0
0
0
0
0
0
0
13
69
3
-8
37
-35
0
16
22
0
0
50
5
0
-31
43
0
-1
34
9
0
-25
-32
0
-13
67
-2
0
83
-47
7
31
-21
-4
0
1
-8
0
0
1
0
0
0
-6
44
-18
8
59
0
8
-28
61
-1
-4
-1
0
38
-57
0
25
43
-39
0
-30
69
0
17
51
0
0
69
52
0
-9
59
28
0
145
-27
0
-5
40
1
0
46
-44
0
55
-39
-22
0
43
-18
0
0
79
0
0
-10
20
3
-7
6
-36
0
0
-12
3
0
0
0
0
0
-26
-12
0
0
0
0
21
-14
0
22
17
0
0
33
-57
2
-16
-9
-6
0
0
56
-7
84
50
1
0
24
-15
0
10
54
23
0
42
32
0
-34
77
0
0
0
94
0
10
-8
-43
0
-4
12
0
-31
4
0
0
0
42
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
14
0
0
0
-2
0
0
-8
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
-1
0
0
9
5
0
0
-30
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
20
0
0
0
0
0
0
-28
0
0
0
0
0
-1
-8
0
0
0
0
0
0
-4
0
0
1
0
0
0
1
0
0
-1
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
28
7
8
-46
47
-5
25
36
-12
-50
-19
-7
9
-9
-38
7
-21
3
14
40
-5
14
49
-13
-20
4
-14
-6
42
5
27
-38
-18
-24
6
11
14
-13
9
0
0
4
-36
-7
-43
-1
28
-1
-34
11
-23
-19
-14
-13
7
-30
-43
20
-12
-8
-13
10
47
-8
14
-31
24
-5
-21
0
0
0
0
0
0
0
0
15
31
-11
-23
-21
-40
8
-6
43
-45
0
-2
-39
9
-15
-59
4
9
-22
-43
2
-10
22
73
2
-10
-25
-7
-18
-25
15
-36
2
-29
16
-10
17
30
-4
-10
15
3
1
0
31
25
-7
19
16
1
-47
5
29
6
-37
-5
-26
-8
30
5
-13
9
-5
9
15
67
14
44
12
15
-4
-31
-6
-9
0
-74
-18
-8
32
-43
5
-27
-35
26
1
5
-2
3
-10
23
-18
2
32
-42
-30
-75
-5
7
-6
76
100
-43
31
13
4
-6
-6
78
5
-49
-37
-20
-7
-24
5
-114
-34
118
-20
2
-50
-21
49
-62
31
-21
-13
-5
10
-45
-43
-27
-79
0
7
-36
15
-50
27
20
6
-37
58
17
26
23
3
-8
39
-7
35
-1
-5
8
-2
46
33
-37
-28
4
12
-5
5
-5
20
-2
23
18
3
-1
-19
25
-57
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
50
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
23
0
0
47
5
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
14
19
0
0
0
0
0
59
0
0
0
0
0
0
55
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
8
0
0
5
0
0
0
0
-19
0
-5
1
0
0
3
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
4
28
0
66
4
-3
0
91
-41
0
0
4
0
0
4
-34
0
3
0
8
0
-5
86
0
0
-1
0
0
0
13
0
-43
6
-1
0
0
5
0
0
0
0
0
0
-23
51
0
0
0
0
0
58
2
0
0
0
0
4
51
0
0
-13
0
0
0
-41
0
0
-4
0
0
-9
-7
0
0
25
0
0
1
-27
0
0
4
0
0
0
5
0
-9
21
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
26
2
0
0
0
0
0
-26
1
0
1
0
0
0
-6
6
0
-1
0
0
-1
-16
0
0
0
0
0
0
31
0
-1
-2
0
0
1
-7
0
0
3
0
0
0
85
0
0
0
0
0
0
19
0
0
0
-1
0
0
-13
0
-7
0
0
0
0
63
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-2
1
0
-29
2
0
0
-43
0
0
10
0
0
0
0
-3
0
0
0
0
0
5
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
60
-2
0
0
-4
-1
0
0
23
0
0
0
-20
0
0
0
-3
0
0
-17
0
0
0
0
0
0
0
0
-6
0
-1
0
0
-2
0
0
0
0
0
0
-53
0
0
0
0
0
0
35
0
0
-1
0
0
0
111
0
0
-4
0
0
-6
-76
0
0
8
0
0
4
-31
0
0
2
0
0
0
41
0
0
-2
-2
0
0
29
0
0
-2
0
0
0
-3
0
0
0
0
0
0
81
0
0
0
0
-2
0
43
0
0
0
0
0
0
35
0
0
0
0
0
0
-45
0
-2
0
0
0
0
29
0
0
-5
0
0
0
-42
0
4
0
0
0
0
0
0
0
0
5
0
0
2
0
-9
0
0
0
0
-7
0
0
0
0
0
0
23
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
1
3
3
-6
27
-3
90
0
9
13
62
0
0
28
7
1
6
76
5
-9
146
24
0
-5
18
0
16
-15
17
4
0
8
-3
-30
59
10
0
0
-1
0
-31
0
0
0
0
0
43
-25
0
0
57
0
0
-9
5
0
0
19
13
0
0
0
0
0
0
0
0
0
0
43
49
4
16
36
0
0
-27
38
3
0
90
0
8
-13
-23
0
-5
49
17
1
12
34
0
10
-8
0
7
10
83
0
-1
26
4
0
0
-8
0
0
0
0
-18
0
38
-8
0
0
1
1
0
0
5
0
0
0
0
-13
-23
0
-9
-40
-1
0
-30
-18
0
0
13
0
0
15
31
-17
14
35
-23
0
5
-35
-4
3
27
3
0
15
93
0
-3
7
-6
-1
1
5
0
-5
9
0
22
0
26
0
1
8
-4
-22
0
-5
0
0
0
0
0
2
0
-1
0
2
-1
0
6
-65
-6
-5
6
-3
0
13
-26
-3
5
-5
0
0
-6
-4
5
-44
64
1
0
4
-18
-2
29
10
-5
1
0
-39
-1
-46
-5
0
0
-13
-37
0
2
-5
0
0
0
5
0
8
2
-1
0
0
16
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
-1
-62
-2
-49
-32
-54
15
68
51
-1
-24
12
-1
-3
-19
5
0
6
19
75
30
-58
69
0
1
13
-1
-15
-28
8
0
1
-14
41
-15
-2
-27
0
0
32
0
-47
1
33
0
0
0
-5
-59
0
-1
-90
0
0
0
-66
0
-39
1
61
25
2
0
0
0
0
0
0
0
0
0
145
1
13
-33
15
8
33
2
0
16
2
0
-22
-45
38
4
6
-3
23
7
31
-28
0
0
-7
0
-1
-4
-2
0
15
49
7
1
0
43
0
-1
0
0
52
0
-29
-2
18
0
-24
0
31
-32
0
-10
-1
6
0
-16
32
-27
-35
48
19
0
-42
13
3
5
49
-4
-2
-19
30
1
17
4
9
39
8
9
-2
-7
-34
20
-9
-28
-49
-2
-3
16
-15
30
9
48
0
13
-36
12
18
0
-55
5
0
-1
25
49
0
14
35
0
0
2
0
1
-29
9
-9
8
0
0
-8
35
7
-44
-53
-1
0
30
4
-1
24
-23
5
3
23
-2
-6
-33
-62
0
13
-6
-9
1
5
-7
-42
-1
0
4
1
82
13
8
2
0
-52
-2
0
-5
28
0
2
0
0
-28
0
0
0
0
-5
17
5
-3
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
-2
3
0
0
0
4
0
29
3
0
0
-58
0
-1
-7
0
4
0
1
0
3
-1
0
0
0
8
0
0
-1
0
0
0
2
0
6
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
-50
9
1
0
0
0
0
0
0
0
0
0
0
1
14
0
51
-16
0
0
7
18
0
0
59
0
0
3
32
0
0
0
0
0
5
2
0
0
0
0
0
0
-3
0
14
0
-1
0
0
-5
0
0
0
0
0
0
-31
-1
0
0
0
0
0
-12
2
0
0
0
0
2
-17
0
0
34
0
0
0
30
0
0
-5
0
0
5
25
0
0
-1
0
0
0
120
0
0
12
5
0
3
-20
0
12
0
-1
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
-74
0
0
0
0
0
0
44
0
0
13
0
0
0
-19
0
-4
0
0
0
0
-10
0
0
-1
0
0
-2
4
0
0
-3
0
0
0
9
0
-1
0
0
0
0
13
0
0
-2
7
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
16
0
0
-75
0
0
0
5
0
0
-8
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
1
0
0
0
0
0
31
0
9
0
0
0
0
0
0
0
0
0
0
3
-3
3
2
14
0
0
0
8
0
3
-13
0
0
0
-33
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
-13
0
0
0
0
-2
0
0
0
0
0
0
-76
-1
0
0
2
0
0
-47
0
0
2
0
0
0
36
0
0
4
0
0
-1
-6
0
0
-1
0
0
0
9
0
0
-4
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
6
0
-35
0
0
0
0
0
0
2
0
0
0
0
-4
0
18
0
0
0
0
0
0
0
0
0
0
0
0
1
10
0
-5
0
0
0
0
-14
0
0
0
0
0
0
-1
0
4
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
-1
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-66
0
0
0
0
0
0
42
0
0
0
0
0
0
-64
0
0
-5
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
5
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
32
0
0
0
0
0
0
13
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
-6
-19
0
0
3
-1
0
0
1
-1
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
7
0
0
0
2
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
-10
-43
-1
0
23
49
0
0
-7
0
0
-5
14
0
0
-8
6
0
-4
49
0
0
0
0
0
0
-8
0
-15
3
1
0
-3
3
0
0
0
0
0
0
-23
2
0
0
0
0
0
-22
0
0
0
0
0
1
-61
2
0
-4
0
0
17
18
0
0
41
0
0
9
-8
0
0
-3
-3
0
1
-4
0
0
-10
0
0
7
24
0
0
-2
0
0
-2
12
0
0
0
0
0
0
-14
0
0
0
0
0
0
-53
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
-4
0
0
0
30
0
0
43
5
0
0
18
0
23
-1
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
2
0
0
-32
0
4
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
16
40
29
3
8
16
-8
-38
5
25
33
-47
-5
-11
-19
1
0
-4
-3
-32
-41
92
0
0
49
-5
-13
-7
-24
0
0
21
0
1
-10
5
3
0
-6
6
39
0
1
79
0
0
0
62
0
54
49
-45
69
16
0
0
0
0
0
0
0
0
5
119
-4
24
33
72
-13
12
21
24
-2
40
-4
-8
-43
-3
0
22
-30
-46
0
-52
-26
0
-4
-75
-1
1
0
23
0
-5
16
8
8
6
-9
-3
0
-1
0
6
0
-8
31
40
-4
-1
-3
0
33
107
0
4
0
-7
44
-12
4
92
-4
-41
1
-13
19
-4
-5
-13
6
0
-28
-5
-4
97
-12
57
-1
-61
11
0
16
-130
35
0
-1
44
6
-8
23
5
1
3
9
0
-2
-8
17
-7
0
35
5
6
-7
-1
-30
0
-31
-8
0
-1
2
0
0
65
5
-10
-16
0
3
63
-13
17
42
7
-1
4
-17
50
-14
43
36
-7
-5
7
-45
13
22
26
8
-2
3
40
0
-24
-49
-35
0
-1
49
-2
-11
-2
5
-1
0
41
-4
-13
-2
-2
-8
1
37
-4
-21
4
10
-2
0
-13
2
0
-1
3
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
-54
-8
0
4
-8
0
0
19
13
0
5
21
1
-5
-12
-17
-2
0
3
1
0
-6
25
0
0
4
-1
10
23
-2
0
0
-2
0
2
1
0
0
0
2
0
-77
0
0
5
0
0
0
-2
0
31
-3
-8
-1
-3
0
0
0
0
0
0
0
0
-2
-7
0
31
-15
-3
0
70
-19
0
0
176
0
0
5
-7
0
-2
-54
-3
0
-9
-34
0
0
-47
0
0
0
-23
0
-5
-4
0
0
0
19
0
0
0
0
0
0
3
-25
0
0
-12
0
0
-46
21
0
-1
3
0
-7
0
-5
4
12
8
0
-19
7
0
2
-35
0
0
6
26
0
-4
-48
-8
16
-17
14
0
0
-67
2
0
26
-8
0
-5
10
18
-5
0
38
-1
-4
13
0
0
0
36
0
0
-1
2
0
0
-8
-1
0
0
-1
0
0
-3
1
0
0
-2
0
12
0
2
2
-9
1
0
13
16
0
20
-51
0
0
6
49
0
-44
56
0
-1
2
17
0
5
-9
5
0
1
39
0
49
7
0
0
3
39
0
0
9
-5
0
0
56
0
-1
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
-25
0
0
32
0
0
0
5
0
0
7
1
0
0
4
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
116
1
0
1
0
0
0
0
0
0
0
0
0
2
14
0
-19
60
-12
0
-3
46
0
0
55
0
0
-13
-14
0
0
5
-3
0
0
6
0
0
-2
0
0
0
49
0
-32
0
0
0
0
-3
0
0
0
0
0
0
-99
-2
0
0
0
0
0
42
0
0
0
0
0
0
-33
0
1
68
-2
0
0
67
0
0
-13
0
0
0
13
0
0
9
4
0
0
22
0
0
-37
0
0
0
66
0
0
0
0
0
0
-52
0
0
0
-1
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-31
0
1
-2
0
0
0
19
0
0
2
0
0
0
-42
0
0
8
0
0
0
-57
0
-7
6
0
0
-2
-14
0
2
-16
-1
0
0
-14
0
0
0
-2
0
0
-4
0
0
5
0
0
0
38
0
-1
0
0
0
0
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
-8
2
0
14
0
0
74
20
0
0
146
-10
6
-27
13
0
0
0
0
-8
0
-1
0
0
14
0
-1
4
13
0
0
0
0
6
0
0
0
0
0
0
-15
0
0
4
0
0
-1
-3
0
8
3
7
-1
8
0
0
0
0
0
0
0
0
-29
20
0
65
-50
7
7
-8
-30
0
0
5
0
-2
5
13
0
0
42
-5
0
-2
25
0
0
5
0
0
0
55
0
-5
13
1
0
0
25
0
0
4
0
0
0
-10
-3
0
0
0
0
0
17
3
0
0
0
7
0
-15
0
0
-5
6
0
5
-12
0
0
-34
0
1
-16
56
0
0
69
0
-3
5
18
0
0
-30
0
0
-4
50
0
0
-13
-9
0
0
27
0
0
-1
-2
0
0
-2
0
0
0
0
0
0
-4
-3
0
0
0
0
0
32
-12
0
0
0
0
0
32
-1
-31
1
0
0
0
-40
-2
-1
1
-6
0
-5
-15
0
8
-1
-1
0
0
-1
0
-6
-3
0
0
0
21
0
-4
8
0
0
0
24
0
0
2
0
0
0
36
0
25
0
0
0
0
6
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
24
22
-1
11
-26
3
49
65
131
0
20
-28
29
-48
17
45
0
9
-5
0
18
-59
29
0
0
50
-14
-11
-24
41
0
-6
4
-7
-12
1
6
5
1
0
-41
23
0
0
45
0
0
-1
-10
0
37
6
-14
7
2
0
0
0
0
0
0
0
0
57
66
69
7
-14
25
16
13
13
-1
2
62
24
-2
-14
15
3
-5
-18
69
-5
-86
4
-2
3
4
-3
0
-8
-26
0
-4
15
41
0
-1
-49
-8
0
0
0
-28
0
-12
-4
-6
1
43
6
16
38
-31
0
-1
0
2
25
-3
9
44
33
-40
-3
118
10
0
24
-20
0
-8
-3
-5
10
-19
3
10
-3
19
11
13
7
64
10
-2
25
19
30
12
20
-17
-2
0
-49
0
2
3
1
60
0
-40
0
-2
-2
39
4
0
-42
6
2
0
4
3
-3
10
-49
-2
49
5
-7
-88
10
-10
-11
-16
-9
2
5
-28
-8
17
14
26
0
-29
-23
5
-6
86
5
-2
39
-1
5
-11
62
-7
-3
23
-23
-9
62
50
29
0
1
50
8
5
-29
3
2
0
23
0
72
4
0
-10
0
-54
-2
-9
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
8
-16
0
13
-27
-10
6
-3
83
2
16
-5
49
0
3
49
0
36
-49
9
0
0
9
0
-25
-30
-17
0
-1
-5
10
46
0
-9
0
0
0
0
8
0
0
18
-4
0
0
-40
0
-22
-92
48
20
0
-4
0
0
0
0
0
0
0
-20
45
0
11
0
8
10
23
2
0
8
30
2
-14
-25
-8
0
-2
-23
9
2
-63
-7
0
0
26
0
-4
7
-4
0
-6
-13
0
-26
1
-12
0
0
0
0
-15
0
-2
0
-23
0
-1
0
0
23
-44
0
0
0
-1
-3
-3
-3
-10
52
0
-6
21
-5
0
2
68
0
1
-2
-36
0
1
-28
-2
8
26
-18
0
0
-1
4
13
13
2
-2
-8
13
6
84
70
-10
0
0
2
0
-7
4
11
-8
-3
-1
0
-16
0
1
-3
0
0
0
24
0
39
66
-1
5
0
0
2
38
-3
93
-25
0
0
7
15
0
-5
72
0
0
10
14
0
-68
-15
0
0
7
-15
0
30
-72
-1
0
6
-16
-1
-1
96
0
8
9
13
0
4
128
0
12
-1
-6
0
31
-4
0
-25
0
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
2
0
5
0
0
-13
22
0
0
83
0
0
-35
-7
0
-2
0
0
0
-1
-4
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
0
-5
-2
0
0
0
-4
0
0
0
0
0
-4
-2
0
-8
0
0
0
0
0
0
0
0
0
81
-19
0
-22
-59
0
0
20
43
0
0
22
0
0
-7
80
0
0
15
4
0
30
-58
0
0
2
0
0
0
-30
0
30
3
0
0
0
-40
0
0
-1
0
0
0
4
-24
0
0
-3
0
0
84
21
0
0
0
0
16
34
0
-3
-59
4
0
-41
19
0
0
-59
0
0
-13
-7
0
5
31
0
0
-2
-7
0
-4
-13
0
0
16
88
0
0
-8
1
0
0
-21
0
0
0
0
0
-2
13
0
0
0
0
0
0
28
0
0
0
0
0
0
2
4
0
0
0
0
-6
-19
0
25
24
0
0
-13
75
0
0
13
-3
0
1
45
0
5
9
0
0
0
-50
0
-3
0
0
0
0
-24
0
21
-1
0
0
0
29
0
-5
8
3
0
0
-62
0
-37
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-70
3
60
20
28
-14
0
-30
-8
27
23
9
27
-10
-6
7
-18
-57
17
39
-19
-70
-1
-5
-33
-14
-10
-14
-40
22
-9
-49
-2
19
-2
-42
-49
-1
0
4
-31
9
33
1
-17
50
7
-2
0
0
0
0
0
0
0
27
-8
-31
-13
38
59
4
20
-5
-24
75
8
-42
33
-9
4
71
-29
-13
-18
-9
-34
-16
66
54
-3
50
29
-29
-26
-10
-1
12
-30
15
-77
-14
42
-3
49
-1
13
-1
18
17
15
0
-14
128
5
24
-31
6
62
-12
-1
-8
34
86
34
44
-11
-13
25
45
71
-49
54
53
2
0
13
-13
49
1
2
-13
19
-9
-5
24
14
50
9
-30
-26
23
-39
-2
17
58
-27
-4
-5
-11
-42
31
14
33
8
58
-3
-35
-13
-11
-6
32
-40
56
10
-12
-1
6
12
-46
-5
40
20
-1
-28
9
55
37
47
5
4
-79
17
-74
-85
15
-50
-18
24
-6
-8
15
-12
58
-48
-5
1
10
6
25
25
23
38
1
-1
28
50
21
50
-31
1
-23
51
12
-17
58
51
16
-5
29
21
-2
55
12
6
20
-12
29
25
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
4
0
0
5
7
0
-28
0
0
0
-4
0
0
5
17
0
0
27
0
6
7
-8
0
0
0
0
0
0
7
0
0
-6
0
-46
0
0
-4
0
0
0
5
-2
48
-2
-13
-3
14
0
0
0
0
0
0
0
0
-66
0
1
34
-29
0
0
-37
-2
0
0
-66
0
0
83
8
0
0
22
-2
0
-8
-56
0
0
-5
0
0
0
-41
0
71
-1
0
0
0
7
0
0
0
0
-3
0
44
-5
2
3
7
0
1
49
-8
0
-1
0
0
7
11
0
0
45
2
0
87
0
2
-3
42
0
0
-43
69
0
0
-25
0
0
-14
-50
0
0
-50
0
0
0
-100
0
7
-2
-8
0
0
86
0
1
1
0
15
0
-2
1
-4
-7
0
0
0
19
0
0
0
0
0
0
87
-4
0
2
0
0
-4
-22
0
-15
25
0
0
8
0
-6
-4
28
2
0
19
19
0
8
-1
0
0
0
5
0
3
4
0
0
0
58
0
-1
-10
0
0
-3
-29
0
0
3
0
0
0
34
0
-13
0
0
0
0
27
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
6
0
0
-5
0
-7
0
2
0
0
-1
0
0
0
-2
0
0
-2
1
0
-3
0
0
0
0
0
-19
0
0
0
0
1
0
4
0
0
-2
0
0
0
5
0
0
0
-6
-4
6
0
0
0
0
0
0
0
0
-10
31
0
-16
-49
-1
0
-6
-50
0
0
-14
0
0
6
-18
0
0
1
0
0
-4
-40
0
0
2
0
0
0
45
0
54
0
0
0
0
-50
0
0
-1
0
0
0
-29
2
-3
0
0
0
0
5
-5
0
-4
0
0
0
3
0
0
2
0
0
-8
19
0
-1
13
0
0
-8
-4
0
1
45
-2
0
0
-39
0
0
-26
0
0
-2
-6
0
0
-4
0
0
0
-4
0
-2
0
0
3
0
54
0
0
-3
0
0
0
5
0
0
0
0
0
0
-5
2
0
-5
0
0
6
16
0
-13
9
0
0
0
-18
13
-4
27
0
0
0
42
0
-4
0
0
0
0
-35
0
-16
0
3
0
0
-4
0
-6
0
0
0
0
49
0
0
0
0
0
0
5
0
-3
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
-1
0
0
-18
-3
0
-5
0
0
0
5
0
-4
9
2
0
0
-2
0
24
0
0
0
0
0
0
3
0
0
0
0
0
0
-33
0
0
22
0
0
0
-6
0
-58
6
0
-1
1
0
0
0
0
0
0
0
0
62
-15
0
69
115
0
5
-52
6
0
0
-8
0
0
-27
129
0
0
33
2
0
4
-19
0
0
20
0
0
15
66
0
-126
7
0
0
0
-47
0
0
0
0
-5
0
-22
41
4
0
0
1
0
-24
-3
0
0
0
0
-5
71
0
5
27
0
0
-3
5
0
6
22
0
0
45
22
1
0
0
-6
0
-3
-49
0
4
8
7
0
-8
26
0
0
35
16
0
3
17
0
7
-3
0
7
0
-1
0
0
0
0
-2
0
-16
0
0
0
0
0
0
27
1
0
-2
0
0
0
16
0
14
-1
0
0
3
-41
0
2
1
-6
0
12
78
0
5
-9
0
0
0
4
0
0
0
-1
0
3
-7
0
0
-1
0
0
0
22
0
0
5
2
0
-1
123
0
8
0
0
-1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
19
36
65
21
-22
-2
19
51
-41
-14
-1
-57
-32
38
-15
-17
-25
-50
-5
-43
-41
-1
13
-22
5
-31
-13
-9
-24
-3
-13
-44
-38
0
12
-16
-3
3
6
34
-8
7
-66
-5
-36
-12
0
0
0
0
0
0
0
0
-7
-9
-106
23
32
17
-10
18
-19
49
10
34
9
8
7
-25
7
40
-9
-42
93
-4
4
-8
-9
-12
-25
-11
17
-30
2
4
9
-9
-30
16
-32
1
-1
-25
0
30
0
7
-12
-7
-2
-55
-32
44
8
-26
31
-21
0
-1
40
56
13
90
10
-5
-5
11
49
75
-9
-13
-5
-5
19
14
84
73
-21
-11
-10
12
-29
14
64
12
-16
47
-30
-16
5
40
22
31
29
-24
-9
-1
-9
35
54
13
-19
-39
-2
-7
2
-19
-5
-1
7
-17
14
0
42
5
-3
-17
16
17
45
-7
-4
28
6
4
34
59
-6
15
5
42
-56
43
13
-10
-47
-22
-6
-44
67
38
22
61
76
-29
1
-45
5
-65
-6
-5
-9
-15
16
-45
58
-86
3
-28
2
10
-31
53
30
16
-9
8
-27
-4
4
-76
0
0
1
-6
34
27
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
17
-1
0
-5
-2
0
0
0
0
0
0
2
0
0
-1
0
-1
0
0
0
0
2
0
2
0
0
0
0
0
0
-8
0
0
-3
0
0
0
0
0
37
-4
0
0
0
0
0
0
0
0
0
0
0
-6
16
0
2
47
0
0
-34
13
0
0
4
0
0
-3
-20
0
0
3
3
0
-2
42
0
0
0
0
0
0
-5
0
-42
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
69
-2
0
0
0
0
0
10
0
0
8
0
0
0
-17
0
0
-8
0
0
-15
-95
0
1
-6
0
0
0
45
0
0
1
0
0
0
-17
0
0
0
0
0
0
8
0
0
-1
0
0
0
-2
0
0
0
0
0
0
57
0
0
0
0
0
0
-17
0
0
0
0
0
0
-15
0
0
0
0
0
0
-29
0
0
0
0
0
0
37
0
0
0
0
0
2
2
0
0
0
0
0
0
6
0
9
-4
0
0
0
6
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
0
0
-5
-7
0
-2
7
0
0
1
1
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
0
-1
0
0
0
-8
0
0
3
0
0
38
2
-2
0
0
0
0
0
0
0
0
0
0
62
25
0
37
12
-16
0
34
58
0
-18
-17
0
0
41
-31
1
0
-18
0
0
4
-19
0
0
5
0
0
1
-6
0
16
16
12
0
0
5
0
0
0
0
0
0
-30
-9
-5
0
0
0
1
5
2
0
0
0
0
69
-54
0
0
-23
8
0
43
50
0
1
-6
0
0
75
-19
0
-1
2
2
0
42
37
0
0
40
0
0
-1
-61
0
0
58
1
0
-3
41
0
0
0
5
0
0
23
0
-2
15
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
-9
44
0
5
6
0
0
-5
-13
0
-2
68
-1
0
1
-24
0
-5
25
-1
0
-4
-38
0
1
-3
-5
0
0
44
0
55
-9
0
0
0
50
0
-2
0
0
0
0
-19
0
15
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
39
34
60
-37
-4
5
-13
35
5
3
-14
81
-13
25
-31
-1
2
-5
1
12
-2
14
8
0
-13
49
-28
0
-13
-30
0
1
-8
-67
2
18
34
5
65
5
-5
0
0
0
0
0
0
0
-44
-28
30
-18
-36
-20
16
-13
-10
48
38
-21
42
23
41
46
-16
28
37
-51
-44
-5
-15
-6
-24
57
-6
-6
-45
-34
4
24
12
-1
-7
8
-4
2
-1
-41
-3
28
0
23
5
39
3
-9
-4
14
24
-35
46
17
3
9
-111
-3
16
-27
-27
16
-29
-14
12
29
72
-8
7
43
42
-5
-10
36
17
-39
5
54
-3
-25
50
26
45
19
41
-7
15
17
56
-10
93
44
-15
1
41
4
43
-15
-22
-4
-19
82
-17
-25
26
34
22
29
3
1
14
12
0
24
45
76
-5
-1
-6
-5
27
-8
4
19
-3
13
10
9
-25
35
26
27
-14
22
27
-30
84
151
-5
-1
-4
2
7
18
-37
-50
55
84
-11
-22
-32
-68
-18
-17
31
-47
0
-4
-46
-55
16
5
6
-2
34
-10
13
33
0
1
-14
5
-2
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-30
10
1
-15
0
8
-27
58
0
0
-6
2
-6
-8
10
0
-5
12
0
1
0
-4
0
0
0
10
-32
0
0
-33
0
0
8
0
-2
-18
118
1
0
1
0
0
0
0
0
0
0
0
23
36
5
-44
-31
-8
0
-33
0
7
-3
-45
-12
0
-6
22
3
5
76
14
0
-12
16
0
1
-18
0
0
-5
48
0
7
47
72
0
0
-58
0
0
0
7
-13
0
1
-35
8
0
8
0
0
34
-2
1
1
0
0
49
19
0
6
121
-2
0
30
33
0
3
-17
1
0
-42
0
1
2
-40
-1
0
5
-26
-1
0
-49
-1
6
2
-37
0
1
8
0
8
0
8
0
0
-2
0
6
0
66
0
0
8
31
12
0
-13
-4
-3
0
0
0
0
2
9
2
0
0
0
-5
1
0
-52
-5
0
0
5
15
-2
0
-13
41
5
25
0
0
2
23
2
0
-7
18
0
-14
15
-1
0
0
-31
0
-21
2
3
0
-2
17
0
0
-2
0
8
0
-3
0
69
0
0
-1
0
49
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
1
0
0
-3
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
-9
0
0
0
0
0
0
0
0
-31
3
0
0
0
0
0
0
0
0
0
0
0
0
48
0
49
-8
0
0
-77
8
0
0
24
0
0
4
44
0
0
23
0
0
0
-30
0
0
0
0
0
1
-13
0
-29
0
0
0
0
30
0
0
0
0
0
0
-13
-6
2
0
0
0
0
61
0
0
0
0
0
0
-28
0
-3
43
-3
0
4
-39
0
-1
3
0
0
-12
7
0
0
-1
0
0
0
21
0
0
-4
0
0
0
17
0
0
1
-8
0
6
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
30
0
0
0
0
0
0
25
0
0
7
0
0
0
-87
0
-6
0
0
0
0
25
0
0
3
0
0
0
-25
0
0
0
0
0
8
29
0
1
0
0
0
0
-8
0
1
0
0
0
0
-7
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-5
0
0
0
-3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
1
0
0
0
0
0
55
3
-1
0
0
0
0
0
0
0
0
0
0
7
8
2
-1
5
9
0
-25
23
0
-13
1
0
0
8
32
0
0
1
0
0
0
16
0
0
2
0
0
0
21
0
33
0
0
0
0
92
0
0
0
0
0
0
1
-2
-5
0
0
0
0
-10
25
0
3
0
0
0
78
0
0
23
2
0
-2
-86
0
8
37
0
0
0
33
0
0
-5
0
0
7
1
0
0
2
3
0
1
29
0
0
4
0
0
0
65
0
0
0
0
5
0
49
0
0
0
0
0
0
56
0
0
0
0
0
0
-39
-6
0
0
0
0
0
-21
0
0
2
0
0
0
23
0
0
1
0
0
0
-5
0
1
0
0
0
1
32
0
0
0
0
0
2
1
0
0
-1
0
0
0
8
0
1
1
0
0
0
-22
0
14
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
91
1
0
24
6
8
-75
18
0
-1
-22
-24
-48
31
-15
0
0
-20
0
1
0
19
0
0
1
76
-11
0
0
-13
0
0
1
13
1
8
16
15
20
-3
0
0
0
0
0
0
0
0
32
45
-1
-70
23
-19
-3
-9
-51
21
-33
0
-9
-3
-18
16
9
-11
23
5
-2
19
-30
16
-1
-24
-5
53
-13
13
-9
31
41
-5
-8
-2
36
3
0
4
0
15
1
-7
30
-19
0
-25
1
17
14
61
0
2
0
0
-22
-3
44
-71
96
-12
-10
-11
-9
0
16
-10
-2
2
7
29
18
-19
-19
50
42
-15
13
8
-12
-48
-7
11
-40
16
0
-24
6
-6
23
56
4
0
14
32
-8
-34
0
17
1
16
33
48
-15
0
3
-9
8
-3
0
-10
0
-54
-23
-3
7
-1
0
-39
-28
-11
18
12
4
9
3
9
6
-17
47
5
0
-14
-4
-1
19
15
5
7
36
43
-8
1
67
-5
-19
-56
-7
1
32
58
-4
4
64
20
1
39
3
59
-13
0
1
-2
-75
35
3
-13
0
9
13
-20
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
15
0
0
-27
0
32
-18
-14
0
0
3
0
55
-5
23
1
0
3
1
14
-17
32
1
0
6
0
-4
0
0
88
0
0
0
-6
5
5
13
-36
10
0
0
0
0
0
0
0
0
0
-72
-24
-1
-39
-13
0
-2
-16
-7
0
0
-21
0
-1
-25
-61
0
0
-5
0
2
44
2
0
3
31
0
65
19
-10
0
-3
5
0
15
0
24
0
-1
-7
0
28
0
-33
-18
-5
-2
0
16
0
-8
19
1
5
0
0
-6
6
0
-7
23
0
14
27
29
0
6
-18
-3
0
28
-28
-7
29
38
-3
-2
11
-21
-4
0
27
1
42
26
-10
-2
25
21
14
-5
5
-23
0
2
94
0
11
0
38
0
13
-12
0
21
0
-2
-18
-1
-4
0
-8
0
13
-13
0
3
0
0
-2
11
18
23
97
-8
-1
-4
27
0
-4
52
0
4
-17
-17
0
59
-2
7
0
-31
-15
0
-13
67
3
34
5
41
0
27
-31
0
0
-6
-8
0
4
-25
0
-5
0
-32
0
69
3
0
0
0
-5
45
3
0
0
-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
-8
6
0
4
-5
0
0
-6
27
0
0
-5
18
0
5
-1
0
0
0
0
0
0
22
0
0
6
24
0
0
0
-10
0
0
0
0
0
-29
22
5
1
4
0
0
0
0
0
0
0
0
46
9
0
31
5
68
0
-62
-23
-4
-2
28
0
0
59
58
0
0
18
131
0
-1
13
0
0
0
0
0
-3
-20
2
-5
66
40
0
0
-9
0
0
0
0
0
0
87
56
5
0
-2
0
0
6
8
0
-1
0
0
32
14
-1
43
-1
-3
0
-51
2
0
0
13
0
0
-19
-27
0
-4
-8
-22
0
39
13
0
2
44
3
0
-5
15
0
-4
15
20
0
-2
2
0
0
45
0
0
0
-35
3
0
3
-15
0
0
53
-3
5
0
-2
0
0
25
29
0
5
9
0
5
-1
0
-4
44
0
0
48
35
5
-5
-40
16
0
44
-6
0
-3
10
0
0
5
6
0
-17
56
1
0
0
42
0
-25
32
-2
0
-3
71
0
0
6
9
0
-10
-10
0
4
0
0
0
0
34
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-27
41
64
18
21
37
2
12
2
-1
-21
5
41
-2
-58
0
0
-2
0
12
0
9
-51
0
0
-19
32
6
-4
-56
-34
-10
-47
0
0
0
0
0
0
0
0
-29
20
50
-18
-48
-24
0
-58
0
-16
-15
7
-5
-2
23
16
-3
-31
18
30
31
-44
-1
-5
30
27
-18
11
14
8
2
33
40
20
48
-12
-30
3
-1
31
-1
4
0
0
-60
57
1
-22
5
8
1
57
3
-15
0
0
-36
9
-10
39
-20
85
-8
2
1
-28
16
30
-1
18
45
-1
31
-24
-17
15
-29
41
11
-4
1
9
5
28
-22
14
-19
100
59
-19
75
16
-12
-21
42
49
-5
-22
0
-5
-6
-24
-3
-24
-9
-2
-12
-28
-1
1
2
72
-8
17
58
2
13
-2
-1
62
-20
37
-49
31
-21
3
-9
-25
70
11
-52
-37
-20
-6
-12
-37
8
-22
-23
5
6
-3
7
-56
33
-12
21
-22
-11
5
-21
22
-2
50
-3
38
5
76
-21
-33
29
1
8
0
93
-9
1
51
0
-13
65
0
0
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
4
0
0
0
6
-32
57
110
0
0
0
4
41
-3
-3
0
0
0
3
-14
0
0
-29
0
0
0
-9
0
-31
6
24
-4
0
0
0
0
0
0
0
0
0
76
54
0
68
6
15
0
-46
36
1
35
64
1
0
18
0
3
-4
-52
16
1
37
-39
0
0
-6
0
-3
1
-18
0
-26
33
3
0
0
32
0
0
3
0
1
0
19
7
-10
0
-16
-1
17
-30
-25
-2
0
0
0
49
-28
4
51
59
7
3
25
-5
5
-13
7
-5
-3
-22
84
0
16
32
9
0
-19
0
0
-1
-97
-5
0
18
-44
0
1
8
-17
-7
-7
-4
0
0
34
0
-3
0
20
0
2
-14
1
-19
0
-22
8
0
0
0
0
0
40
-43
0
14
2
2
35
20
-1
-38
-8
2
0
-16
-1
0
-13
76
-5
-1
-15
45
0
13
22
0
8
8
0
0
-8
18
30
4
0
-32
0
-26
-21
-4
-6
0
28
-3
1
18
-13
2
0
-23
0
25
0
2
2
0
-58
0
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
0
0
0
0
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
0
0
0
0
0
0
0
0
48
3
-5
0
0
0
0
0
0
0
0
0
0
4
-44
0
0
-13
0
0
5
-63
0
0
25
0
0
6
-16
0
0
0
0
0
-12
6
0
0
7
0
0
0
0
0
-3
0
0
0
0
16
0
0
0
0
0
0
-38
0
0
0
0
0
0
-50
0
0
0
0
0
0
39
0
0
-9
0
0
-12
18
0
0
0
0
0
0
-13
0
0
3
0
0
0
50
0
0
-7
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
-45
0
0
0
0
0
0
42
-8
0
0
0
0
0
8
0
1
0
0
0
1
-12
0
0
0
0
0
0
-13
0
-2
0
0
0
0
39
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
21
0
-1
3
0
0
0
0
0
0
0
0
0
-2
-7
0
20
10
-2
0
-12
19
0
0
18
0
-2
0
-11
0
0
-1
0
0
2
-24
0
0
5
0
0
0
0
0
23
0
0
0
0
-35
0
0
0
0
-5
0
20
14
0
0
0
0
0
-31
-5
0
0
0
0
0
11
0
0
0
0
0
0
14
-1
0
0
0
0
-5
1
0
-8
-3
0
0
-3
17
0
0
17
0
0
0
25
-1
0
3
5
0
0
-22
0
0
0
0
0
0
13
6
0
0
0
0
0
108
0
0
0
0
0
0
10
-4
0
0
0
0
0
-5
-7
-10
-2
0
0
0
24
0
0
1
0
0
0
-28
0
0
-8
0
0
0
0
0
-8
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
5
0
0
6
-5
-44
74
31
0
0
6
0
22
2
-16
0
0
0
48
13
0
0
-22
0
0
0
69
0
34
-8
-39
0
9
0
0
0
0
0
0
0
0
22
-14
16
56
23
51
0
39
10
0
1
5
-3
0
-56
53
2
-1
39
-54
1
13
-17
-2
0
68
-1
6
27
44
0
43
0
-46
0
8
-1
0
0
0
0
9
0
-9
55
32
0
-23
0
2
-12
24
0
0
0
0
-12
25
-19
-5
-74
-30
6
22
27
-3
1
14
0
4
-10
47
-3
7
-9
7
6
-6
32
0
-3
27
5
0
-7
-40
-8
-1
54
-10
19
0
-46
0
1
3
12
-14
0
27
0
1
-5
39
4
0
4
9
0
-10
0
0
0
-4
67
0
-1
1
0
-4
-53
1
-23
15
0
0
3
-9
13
2
8
-10
0
-2
18
0
53
24
0
3
-24
19
-20
-2
-1
9
0
5
-33
0
-39
-8
-8
0
0
8
0
1
0
-75
0
0
27
0
26
8
0
-6
0
41
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
-2
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
3
24
0
0
4
27
0
0
-3
0
0
0
2
0
0
4
0
0
0
-13
0
0
0
0
0
0
-20
0
33
0
0
0
0
-5
0
0
0
0
0
0
44
0
0
0
0
0
0
4
0
0
0
0
0
0
50
0
4
-3
0
0
-5
2
0
0
-8
0
0
-1
-23
0
0
-5
0
0
-3
-22
0
0
-6
0
0
-5
24
0
0
0
0
0
0
8
0
0
0
0
0
0
16
0
0
-1
0
-7
0
23
0
0
0
0
0
0
6
0
0
0
0
0
0
-64
0
0
0
0
0
0
8
0
0
0
0
0
1
8
0
0
0
0
0
0
-19
0
0
0
0
0
-8
-5
0
-5
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
0
0
-12
-16
0
40
5
0
0
0
0
0
0
12
0
0
0
25
0
0
0
77
0
0
0
0
0
-30
-15
5
0
5
0
0
0
0
0
0
0
0
-5
-31
0
-20
49
37
0
-49
-7
0
0
-63
0
0
76
-59
0
0
20
-5
0
-3
30
0
0
-15
-3
0
3
-82
0
26
15
13
0
0
43
0
0
0
0
0
0
-2
51
12
0
0
0
0
3
6
0
0
0
0
-41
26
0
6
19
18
0
43
34
0
3
50
0
0
19
-55
0
-3
-5
-22
0
47
-61
0
0
45
0
0
27
-13
0
2
-27
23
0
0
16
0
0
41
0
0
-3
42
0
0
0
14
0
0
-11
0
1
0
0
0
0
-40
-13
0
5
0
0
5
25
0
13
8
0
0
5
2
0
-16
-14
6
0
25
-17
0
81
26
0
0
-85
19
0
-2
11
69
0
-6
-14
0
-64
29
0
0
0
2
0
0
-3
1
0
0
14
0
3
4
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
45
0
0
9
0
25
1
5
0
0
4
-8
-15
0
0
4
0
0
-1
23
0
-24
-16
8
-5
-2
0
0
0
0
0
0
0
0
33
5
0
25
12
0
0
-25
19
0
13
22
0
0
0
-20
0
2
2
-25
0
6
-65
0
0
-36
1
-5
0
-8
0
52
88
-2
6
0
14
0
0
0
0
0
0
34
0
-4
1
3
-3
0
33
13
0
-1
-1
0
1
-1
-8
-5
5
5
-3
5
-65
0
-31
-14
-3
0
-10
23
3
13
15
10
0
5
-34
9
0
32
0
2
0
-17
0
-5
75
92
0
0
-13
0
0
1
0
-5
0
16
-3
0
-16
19
6
0
-60
0
0
0
0
0
0
31
-5
0
0
0
0
8
-58
0
33
-1
0
-2
0
8
0
-1
-13
-5
0
0
23
0
19
22
4
6
0
21
3
-2
-53
-2
1
0
27
-5
49
9
0
0
0
-13
0
4
-1
13
4
0
-8
0
67
-4
0
2
0
-46
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
-5
2
0
-3
0
-9
0
0
-1
0
-6
0
0
-21
0
0
0
-5
-2
23
-9
44
-2
-1
0
0
0
0
0
0
0
0
59
5
6
-49
-28
33
0
-54
-3
0
8
19
0
0
56
78
0
-14
65
10
3
92
0
3
3
-14
8
-3
6
-18
0
-40
-8
-5
-4
2
-19
0
0
0
0
-7
0
5
83
4
0
0
0
6
-75
7
0
-1
0
0
-4
63
6
-7
43
4
0
21
-10
0
2
6
0
1
64
-11
0
-24
49
15
6
-14
-33
0
-5
-13
-7
4
8
0
0
-3
-6
23
1
5
-40
0
0
2
0
3
-2
56
0
0
0
41
-13
0
-12
3
0
0
0
0
0
100
4
4
3
0
0
4
-17
-4
-5
-25
0
0
-8
-14
0
-24
-3
-17
2
2
-78
0
46
-10
1
0
-4
6
-3
0
-12
8
-3
-13
0
1
12
0
4
0
0
8
0
-6
0
4
0
0
-31
0
77
3
0
-4
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
20
0
0
-4
-31
0
0
0
0
0
0
5
0
0
-7
-3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
0
0
0
13
0
0
0
0
0
0
60
0
0
0
0
0
0
7
0
0
0
0
0
0
-95
0
0
0
0
0
-1
-13
0
0
7
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
-7
0
0
0
0
-1
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
0
17
0
0
0
0
0
0
-8
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
-1
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
46
-13
0
0
-24
25
0
0
-3
0
0
3
-4
0
0
7
1
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
44
0
0
0
0
0
0
-45
0
0
7
0
0
1
29
0
0
0
0
0
0
-17
0
0
1
2
0
0
-15
0
0
0
0
0
0
25
0
0
7
0
0
0
-24
0
0
1
0
0
0
0
0
0
0
1
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
20
0
0
0
-14
0
0
8
0
-8
0
0
0
0
34
0
0
0
0
0
0
12
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
0
0
0
0
-10
6
-12
0
0
0
1
8
0
0
-31
0
0
0
-10
0
-39
41
-10
20
-7
0
0
0
0
0
0
0
0
-94
41
1
15
-58
14
0
24
-32
0
-4
7
0
0
-12
14
-3
0
35
-13
0
-24
-29
0
0
-5
42
1
-4
13
0
8
-1
-4
0
4
-42
0
0
0
0
-34
0
-4
34
26
0
-6
0
0
8
-44
0
5
0
1
3
-38
0
19
-9
-29
-8
-24
-3
0
0
39
0
-12
30
-16
8
0
21
-49
-2
32
23
0
-2
-1
0
31
-13
5
-3
-8
0
-43
-13
24
-4
0
0
0
-3
1
22
11
0
0
0
-13
0
0
3
-3
0
0
0
-2
0
-21
-5
0
0
-3
0
8
-37
-7
-7
-15
1
0
22
4
0
-1
-11
3
10
6
13
0
-16
-21
2
0
-10
30
0
6
-9
-31
3
-2
8
0
37
6
0
0
0
36
0
-2
0
-5
-5
0
0
-1
49
-1
3
5
0
36
3
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-2
-2
-5
0
0
0
0
-4
0
0
-15
0
0
0
5
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
-9
4
-1
-8
-21
0
0
20
3
0
0
-29
0
-5
-12
5
0
2
-19
0
0
3
-26
0
0
-11
0
0
-6
-25
0
-22
2
0
0
0
25
0
0
0
0
10
0
59
9
0
0
0
0
0
-44
0
0
0
0
0
0
-7
1
-7
24
0
0
-7
-42
0
0
28
0
0
7
-25
0
0
23
0
0
39
20
0
0
-26
0
0
21
0
0
0
56
0
0
0
12
0
0
0
0
6
0
84
0
0
1
0
-6
0
18
-5
0
0
0
0
0
-87
10
0
0
0
0
0
92
0
2
-6
0
0
-1
-38
0
0
-2
0
0
-10
11
0
27
7
0
0
0
24
0
7
0
0
0
0
-23
0
51
0
0
0
0
-24
0
-3
3
0
0
0
5
0
8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
42
0
0
-4
-2
0
0
41
0
0
5
20
0
0
0
-5
0
0
0
0
0
-4
11
8
34
2
0
0
0
0
0
0
0
0
50
-44
2
-15
5
-41
0
20
6
0
0
-62
0
0
-50
30
0
10
18
-6
0
-14
-46
-3
0
-92
0
0
29
-27
0
-10
-42
25
0
16
43
0
0
0
0
0
0
-14
110
-17
0
0
0
0
-1
19
0
-4
0
0
7
0
0
-2
-23
71
0
-11
-3
0
0
70
0
0
15
28
0
-1
-21
-31
0
20
-26
0
-2
-37
0
0
-5
9
0
0
53
-4
0
-4
-13
0
0
69
0
0
0
19
0
0
-6
47
0
0
-3
1
0
0
0
0
2
-18
0
-1
0
0
0
0
35
0
85
16
0
0
-13
12
0
0
57
0
0
-33
29
0
-55
102
2
0
3
11
0
-1
-9
5
0
-14
-19
0
39
-21
0
0
0
13
0
3
7
-5
0
-1
23
0
-7
1
0
0
0
18
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
0
17
44
-12
0
4
24
0
1
0
0
0
17
24
0
1
1
0
0
0
0
0
0
0
0
51
-9
-4
-13
-61
-45
0
76
-31
0
0
38
1
0
-5
-30
0
-3
-32
-16
0
-2
-28
0
1
-22
23
-3
0
-24
0
44
59
-58
0
0
-57
0
0
3
1
8
0
-16
1
-8
0
2
0
0
6
-37
0
0
0
0
-4
-31
-1
8
-1
-16
-4
-43
6
1
-1
49
0
-2
21
-28
0
13
-2
46
-1
27
-8
0
0
-27
6
-22
8
47
0
13
49
19
-55
0
5
0
9
4
0
15
0
7
0
0
10
13
31
0
29
-1
0
0
0
-2
0
18
-9
0
2
0
-1
2
-2
7
-41
43
0
0
-4
-52
0
8
-13
0
1
-2
0
-1
8
-37
1
0
0
-9
0
2
19
5
-13
0
4
0
-15
-9
8
6
0
-40
-2
0
4
-10
0
0
-25
0
52
4
0
-3
0
-62
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
2
3
0
29
0
0
8
0
0
0
0
0
-19
15
-1
4
0
0
0
0
0
0
0
0
0
10
-63
2
-77
-60
61
1
-13
-16
0
0
-49
3
2
86
-16
0
0
21
-33
-1
-4
-21
0
-13
31
-2
-1
18
0
0
-24
31
-9
2
0
24
0
0
13
0
-6
0
-33
-1
25
0
-5
0
0
61
-46
0
0
0
0
2
-5
7
3
10
0
0
-25
-27
0
2
-24
0
1
0
21
0
16
-38
-2
-2
-6
-2
0
0
60
1
-1
-8
59
0
0
35
-7
14
0
0
0
-3
5
3
0
0
64
0
1
-4
-4
-9
0
27
0
0
0
0
0
0
6
-9
0
-1
0
0
1
43
-6
104
5
0
0
34
-10
-5
-4
49
-4
0
2
-8
0
5
-4
5
0
-5
-5
0
34
-1
3
0
0
40
0
42
4
0
5
1
0
0
0
0
-5
0
0
-26
0
4
-1
0
0
0
-46
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-5
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-3
0
0
3
-5
0
0
0
0
0
-2
-3
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
-2
0
0
0
-22
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
1
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
20
0
0
0
18
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
1
0
0
0
0
3
0
0
0
0
0
0
-25
0
0
0
0
0
0
25
0
0
0
0
0
-3
0
0
0
6
0
0
0
-21
0
0
0
0
0
-2
-24
0
0
-4
0
0
0
18
0
0
3
0
0
0
0
0
0
0
0
-3
0
-24
0
0
0
0
0
0
-1
0
0
0
0
0
0
53
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
-1
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
-13
0
0
0
7
0
-29
0
4
0
0
0
0
0
0
0
0
0
0
25
-15
0
-28
6
-3
0
-29
-2
0
0
14
0
0
0
16
0
0
-1
-7
0
0
0
0
0
7
0
0
0
40
0
1
0
0
0
0
44
0
0
0
0
0
0
-19
1
0
0
-6
0
0
-67
0
0
0
0
0
0
-80
0
0
60
0
0
28
-46
0
0
-8
0
-2
-7
2
0
5
7
0
1
-8
-19
0
0
-5
5
0
0
94
0
0
-12
-2
6
0
-28
0
3
0
0
0
0
0
0
0
0
5
1
0
-14
0
0
0
0
0
0
30
5
0
0
0
0
0
13
0
-25
18
0
0
0
20
0
-3
4
0
0
0
-16
0
-9
0
0
0
0
-22
0
0
0
-4
0
0
51
0
3
0
2
0
0
95
0
0
0
0
0
0
24
0
-2
0
0
2
0
31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-3
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
67
5
0
0
-6
1
0
0
-3
0
0
0
13
0
0
0
0
0
-2
9
0
0
0
0
0
0
-4
0
2
0
0
0
0
3
0
0
0
0
0
0
43
0
0
0
0
0
0
25
0
0
0
0
0
0
-40
0
0
-3
0
0
0
-22
0
0
-2
0
0
0
-51
0
0
6
0
0
0
15
0
0
0
0
0
0
3
0
0
-2
0
0
0
-12
0
0
0
0
0
0
25
0
0
0
0
0
0
-12
0
0
0
0
0
0
10
0
0
0
0
0
0
24
0
0
0
0
0
0
24
0
0
0
0
0
0
52
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-45
0
0
1
8
0
0
0
-29
0
0
5
0
0
-13
-117
-31
-1
0
0
0
0
0
0
0
0
0
10
-10
0
25
33
-9
0
28
10
0
5
-17
0
0
36
-12
0
0
6
57
0
-5
-4
0
0
52
0
0
3
-17
-2
21
7
8
0
0
53
0
-1
-4
0
0
0
16
16
10
0
2
0
-4
12
-5
0
-3
0
0
-37
-3
1
0
16
34
0
86
16
1
-8
66
0
0
11
12
0
29
-8
33
0
-18
21
0
2
3
-4
0
9
29
0
-32
40
-26
0
-1
4
0
-4
-38
6
0
-6
-7
0
7
18
-38
0
0
28
2
0
0
0
0
-4
13
12
0
0
0
0
-8
7
0
-80
-7
0
0
-39
-31
0
-4
66
-24
0
-3
-13
-1
-13
37
0
0
-2
16
0
-5
45
58
0
4
39
0
20
-20
0
0
0
-30
13
-2
-20
66
0
0
28
0
22
-4
0
0
0
0
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
36
-13
0
0
-2
51
0
0
-5
0
0
-2
-21
0
0
1
0
0
0
-49
0
0
-6
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
95
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
-13
0
0
-5
44
0
0
0
0
0
0
-33
0
1
1
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
-83
0
0
0
0
0
0
6
0
0
0
0
-3
0
3
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
2
-1
0
0
8
0
-4
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
-5
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-1
0
15
-4
8
0
0
0
0
0
0
0
0
0
0
46
-32
1
51
79
-14
0
-44
24
0
2
-47
0
0
19
56
0
0
37
-9
0
-5
51
0
0
-8
0
2
-3
40
0
-13
5
3
0
0
0
0
0
0
0
23
0
-46
5
-14
0
0
0
0
1
-31
0
0
0
0
4
-2
0
0
13
0
0
-10
-19
0
0
-54
0
0
14
14
-2
2
-54
5
0
18
-8
0
0
61
0
0
-10
-51
0
-5
21
-6
1
0
43
0
0
8
0
0
0
0
1
0
5
0
-2
0
-56
-9
0
0
0
0
0
-30
0
0
0
-1
0
0
-16
3
7
29
0
0
-1
21
0
0
28
0
-1
4
0
0
4
25
0
1
-7
24
0
-7
1
6
0
0
-21
0
13
6
0
-1
0
-39
0
0
0
0
0
0
0
0
5
0
0
5
0
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
0
0
0
-7
14
0
0
-5
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-15
0
0
0
0
0
0
27
0
0
3
0
0
0
-33
0
0
0
0
0
0
-5
0
0
33
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
5
1
0
0
-1
0
0
-5
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
13
0
0
0
0
0
0
21
0
0
0
0
0
0
-44
0
0
0
0
0
0
-16
0
0
0
0
0
-3
-9
0
0
1
0
0
-4
10
0
0
3
0
0
0
12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-34
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
-22
-8
2
3
-3
0
0
0
0
0
0
0
0
-10
-12
0
49
1
0
0
13
0
0
0
-13
0
0
-8
-15
0
4
0
7
0
1
-92
0
0
0
0
0
0
-3
0
2
0
-2
0
-5
58
0
0
0
0
1
0
76
-5
0
0
0
0
0
-9
0
0
0
0
0
0
-42
0
0
0
0
0
-5
29
0
0
10
0
0
2
-99
0
0
4
2
3
5
-51
0
0
-1
0
0
-1
42
0
-2
0
2
-5
2
-24
0
0
0
0
-2
0
16
0
0
0
14
0
0
16
0
0
0
0
0
0
4
-3
0
0
0
0
0
27
0
0
0
0
0
0
59
0
0
0
3
0
4
32
0
0
0
0
0
0
42
0
0
-2
0
0
0
72
0
3
0
4
0
0
-5
0
0
0
0
0
0
-39
0
-3
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
-2
0
3
12
0
-1
0
0
0
0
0
0
0
0
0
32
-6
0
36
-42
0
0
-17
-36
0
0
-13
0
1
-2
30
0
0
15
0
0
2
46
0
0
8
0
-2
5
-3
0
-42
16
-10
0
4
47
0
0
-1
0
13
0
0
29
-6
0
0
0
0
-10
0
0
0
0
0
2
-47
0
0
45
0
-2
21
12
0
0
20
0
7
20
4
0
0
-40
0
-1
24
16
0
0
51
0
-1
0
-32
0
0
-20
-2
5
-1
36
0
0
-5
0
-44
0
35
0
0
14
0
-5
0
6
0
0
0
0
0
0
-21
-5
0
3
0
0
1
31
0
-16
-1
0
0
-1
-36
6
0
31
0
0
-7
11
0
13
-5
0
3
0
-51
0
-1
3
-2
0
0
-41
0
-27
1
0
3
0
44
0
0
-3
4
-3
0
-1
0
40
0
0
0
0
69
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
0
0
18
0
2
3
-18
26
44
46
0
0
0
0
0
0
0
0
17
-44
0
12
8
11
0
13
-1
0
-14
-17
1
0
65
7
2
2
0
-12
0
124
-8
1
10
4
-12
0
-9
-9
-14
-3
-24
-3
0
56
23
0
0
12
-2
0
1
9
-79
-38
0
1
0
1
1
60
0
19
1
0
52
1
18
-49
-20
-67
0
37
13
-8
-24
42
-5
-3
-31
25
8
-35
-5
2
0
58
15
9
34
27
2
0
-33
-19
19
-72
11
60
0
29
9
0
-50
-3
-7
0
53
9
-8
85
19
-6
0
0
-2
49
0
0
-1
0
0
7
-77
75
-23
-10
0
5
11
4
-33
-25
0
0
-51
-1
-7
-74
-6
11
0
70
-1
7
-28
23
4
0
37
7
-7
-38
-20
-52
-1
31
13
-6
-38
17
-4
0
5
19
0
13
29
40
0
3
7
-1
3
-59
1
0
4
33
-55
1
19
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-20
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
6
7
0
0
-49
-21
0
0
-5
0
0
0
-24
0
0
0
0
0
0
3
0
0
6
0
0
0
-1
0
-16
-5
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
1
41
0
0
4
0
0
1
19
0
0
1
0
0
7
-85
0
0
-1
0
0
0
-57
0
0
-5
0
0
0
30
0
0
18
-3
0
0
7
0
0
0
0
0
0
18
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
33
0
0
0
0
0
0
-25
0
0
0
0
0
0
-6
0
0
0
0
0
0
25
0
0
-1
0
0
0
-20
0
0
0
0
0
0
31
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
15
-53
22
15
-2
0
0
0
0
0
0
0
0
-40
-36
0
-12
21
-116
-8
15
46
0
7
-17
0
23
-65
12
5
-3
14
5
-2
-13
-15
0
9
-43
4
34
17
-62
0
-12
12
-28
4
0
20
-5
0
6
0
-8
0
-44
0
4
-1
8
0
0
-38
-29
0
-5
-1
0
13
-38
-1
-13
-4
-13
24
-40
-6
-5
-13
62
-1
13
-15
-54
-5
-16
-39
1
31
63
34
0
-1
44
-2
-18
2
-44
0
9
-18
38
-31
-2
33
0
8
-14
1
-15
0
-37
6
-15
24
22
20
0
6
0
-3
-4
0
0
7
-67
-20
0
48
2
2
-32
-3
1
-5
26
2
2
-49
-84
1
29
-82
-3
2
1
-13
0
-31
70
-3
-2
-8
-41
0
-29
41
-12
9
-1
49
0
11
-71
0
8
0
-10
0
0
-15
10
-3
0
18
-1
-86
-9
1
-23
0
10
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
27
0
0
0
0
0
0
8
0
0
0
0
0
0
24
0
0
0
0
0
0
-12
0
0
0
0
0
0
13
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
-16
0
0
0
0
0
0
-42
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
1
-25
0
0
-8
5
0
1
5
0
0
0
-13
0
0
0
0
0
0
-33
0
0
-4
0
0
0
35
0
-4
0
-2
0
0
2
0
0
0
0
7
0
4
0
0
0
0
0
0
-16
-1
0
0
0
0
0
25
0
0
-49
0
0
1
-2
0
0
22
0
0
0
-5
0
0
27
0
0
0
3
0
0
0
0
0
0
32
0
0
-1
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
-31
0
0
0
0
0
0
-5
4
0
0
0
0
0
-4
0
0
0
0
0
0
-24
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
50
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
25
1
0
0
0
0
0
0
0
0
0
0
28
-70
0
53
26
-9
0
-12
-68
-2
0
29
0
0
48
-20
-2
-4
3
-5
0
-2
9
0
0
0
0
0
-3
-13
0
-35
5
42
0
0
-22
0
0
0
0
0
0
1
-65
-16
0
4
0
0
13
-43
0
0
0
0
51
36
0
0
14
-18
0
18
41
0
4
68
-5
0
95
-3
0
0
40
59
0
49
-61
1
2
-43
0
0
9
-10
-2
-21
54
-27
0
-1
16
0
0
7
-2
0
0
3
0
-6
-4
62
0
0
-16
-7
0
0
0
0
-9
76
3
0
-21
1
0
58
47
-6
-1
-32
0
0
31
66
-4
6
42
0
0
163
-37
4
-6
33
0
0
17
-45
0
2
31
-7
0
-7
30
0
13
14
0
0
0
13
0
7
5
34
0
0
58
0
82
4
0
0
0
27
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-1
-4
5
-2
0
4
19
0
0
8
0
0
0
-5
0
0
0
0
0
-2
31
0
0
0
0
0
0
0
0
5
0
0
0
0
4
0
0
0
0
0
0
-23
0
0
0
0
0
0
-8
3
0
0
0
0
0
62
0
0
-7
0
0
0
59
0
0
-3
0
0
-7
41
0
0
0
-1
0
-2
18
0
0
-1
0
0
0
-10
0
0
0
12
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
37
0
-1
0
0
0
0
-7
0
0
2
0
0
0
-5
0
0
-2
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-10
17
-2
-43
2
1
-1
-50
-58
-4
31
21
-5
-16
99
41
19
22
46
7
-7
18
-41
4
-19
-2
101
-19
56
25
-22
-9
13
7
-26
-12
-8
55
-5
-9
0
4
-11
12
-24
3
-23
33
0
-30
-24
4
8
2
-11
17
-38
41
3
-27
-12
4
-25
25
58
21
30
5
8
-12
12
21
0
-6
56
22
-13
27
104
5
16
-8
30
-10
-59
49
-14
14
28
96
-3
-2
-33
7
-7
-47
12
-15
56
-54
16
13
39
39
-13
-40
47
-8
63
0
49
0
0
13
-2
46
-1
-41
-5
11
3
89
-24
91
36
21
6
-16
-49
-33
46
-42
9
-76
-59
12
17
56
69
-38
-5
34
15
-7
-2
-54
-48
22
-4
68
108
94
0
-4
44
6
12
-5
50
36
-3
13
-10
57
10
1
25
4
27
-16
-10
-77
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
0
-9
-24
6
-1
12
10
0
10
10
3
0
-69
-5
1
-3
53
43
2
42
24
0
6
-67
0
5
2
3
0
-63
-35
29
0
-5
-36
0
0
-5
0
13
0
-17
-35
-5
3
3
0
0
-20
0
0
0
0
0
34
-36
-1
1
105
-8
0
74
30
0
-3
6
0
0
-38
-37
-4
-19
5
31
1
16
-43
0
0
-11
-10
-7
-1
28
-2
8
45
-45
-23
-2
13
0
0
2
0
-17
0
86
0
-2
-13
-12
-41
0
18
3
0
0
0
0
0
49
2
-2
8
0
0
16
63
0
-15
21
0
0
15
-39
0
42
33
40
0
-30
-19
0
41
33
5
-8
-2
-26
6
-19
-3
-7
0
4
-20
0
14
0
5
0
-2
-14
0
2
-1
3
3
3
8
0
-4
4
9
0
0
56
7
0
6
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
9
-20
66
57
-1
-33
-91
3
0
77
0
0
-73
28
6
0
-93
5
-3
-2
-26
0
0
46
0
0
-8
-70
0
-51
1
8
0
3
41
0
0
0
0
3
0
10
-13
2
13
-1
0
0
-105
-5
-13
0
0
0
-54
-54
2
3
52
46
0
60
75
-9
-3
-40
-7
6
63
20
-3
3
-17
16
0
-37
6
0
0
15
0
-4
-2
-51
0
0
77
6
-5
2
64
0
-1
5
0
0
0
-12
0
-2
33
2
28
0
65
2
0
0
0
0
0
41
75
2
5
0
0
-4
20
0
-4
13
0
0
8
-3
0
0
-14
-2
4
2
-9
0
-5
20
-3
3
0
60
0
-3
34
-3
-4
1
-67
0
-2
2
0
0
0
9
0
0
-1
1
7
0
-49
0
-27
0
0
-4
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
14
2
-15
-8
6
-2
-63
-29
0
0
-50
0
0
24
68
0
0
-37
-5
0
13
33
0
0
3
0
-1
0
68
0
-27
0
8
-2
0
49
0
0
0
0
15
0
48
-39
0
0
6
0
0
-5
-4
-4
-1
0
0
0
-19
1
-3
-1
2
-3
-3
50
-1
-9
1
0
-8
4
24
0
-8
29
0
2
7
-60
0
0
31
0
0
0
5
0
0
34
2
6
0
47
0
0
-13
0
6
0
17
1
0
0
0
1
0
-8
0
0
0
0
0
0
51
-1
0
0
0
0
0
-59
0
23
0
0
0
0
40
0
0
1
0
0
0
22
0
-8
-6
0
0
0
54
0
0
-2
-1
0
0
70
0
1
0
0
0
-3
-39
0
0
-5
-8
0
0
-41
0
9
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-10
0
-9
-41
0
0
2
37
0
7
-45
0
0
14
90
0
0
35
0
0
-1
-73
0
0
-4
0
0
0
84
0
1
1
0
0
0
6
0
0
-1
0
-7
0
-12
1
-3
0
0
0
0
-50
0
0
0
0
0
0
-56
0
-4
8
0
0
-23
-14
0
-2
41
0
0
12
-1
0
0
-58
0
0
9
-66
0
-3
6
0
-3
12
-9
0
0
-1
0
-8
0
-66
0
0
0
0
20
0
-11
0
0
0
0
66
0
5
0
0
0
0
0
0
28
16
0
0
0
0
0
65
0
-1
0
0
0
5
-63
0
0
-16
0
0
17
-93
0
-8
0
0
0
0
-50
0
0
4
-3
0
0
13
0
-4
0
0
0
0
-9
0
0
0
0
0
0
43
0
0
0
0
-2
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-90
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-10
-46
60
-3
14
-35
40
0
22
-64
-12
23
80
13
0
-3
-4
1
-23
28
-10
0
45
70
24
12
5
5
6
1
4
0
12
0
7
-27
-75
-5
54
24
-1
-4
-17
7
-9
1
0
66
-11
-7
99
-51
-12
18
-12
-11
-4
56
-15
1
4
38
-1
-14
18
-2
25
-14
-9
-21
8
-3
-16
52
-8
5
74
-1
103
23
-17
18
25
-24
0
-5
13
-4
-14
-2
71
-8
66
23
8
66
1
-26
79
-8
0
8
-6
-8
-11
27
6
68
0
-5
6
1
-7
-33
29
8
1
75
11
5
27
32
57
0
14
-24
33
-31
27
-13
33
4
40
24
-2
-3
90
-23
20
-11
-1
-57
65
-8
13
32
97
7
-8
-9
-8
25
7
9
4
49
5
-13
26
3
62
-2
11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-42
14
30
60
-9
-10
20
-27
4
-31
23
-14
-13
41
26
3
-8
31
8
58
106
-17
8
5
29
94
41
6
21
-7
-1
-5
-6
-5
0
-30
3
-42
-2
-45
2
25
28
55
1
10
0
0
34
26
15
-15
12
31
7
-14
0
-48
40
-17
-34
-6
-8
-13
63
-24
13
21
43
56
32
-13
59
29
-7
-19
66
-66
-27
92
32
-25
-26
-48
-13
1
-12
-19
8
3
17
42
2
8
15
15
11
-1
-1
9
-1
0
-22
3
-12
-8
-16
-31
54
-13
-2
14
12
23
40
47
-25
8
-48
0
2
76
-41
-5
-1
-17
-20
-5
-15
61
38
-2
-2
42
0
90
-19
-21
-43
-2
-9
3
7
18
9
-29
16
0
-4
9
-17
74
29
-1
34
0
25
43
5
-5
0
32
13
3
-8
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-9
0
0
24
0
0
2
51
0
0
6
-4
0
-1
6
0
1
-4
0
0
0
2
0
-15
0
0
0
0
-5
0
0
0
0
0
0
50
7
-5
0
0
0
5
-25
6
0
0
0
0
0
17
0
0
-5
0
0
-2
0
0
0
14
0
0
2
-17
0
5
10
2
0
0
-21
0
1
-3
0
-1
0
1
0
2
9
1
0
0
-51
0
0
0
0
0
0
-5
0
0
0
0
-1
0
-20
0
0
0
0
0
0
32
5
-2
0
0
0
0
17
0
-2
0
0
0
0
45
0
0
-5
-2
0
-3
-54
0
6
0
0
0
0
8
0
3
0
0
0
0
-22
0
3
1
7
0
0
-3
0
-1
0
0
0
0
-31
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
43
6
11
70
-22
11
-46
-23
-7
-1
16
-45
23
-10
-3
-2
-5
40
-31
7
-6
0
1
20
4
-5
6
6
0
2
14
-3
79
-1
-3
-74
-6
-6
15
-13
8
24
52
16
35
0
13
15
-21
83
-10
29
-11
5
26
6
5
15
-18
35
29
-67
-31
4
-55
-7
22
27
-1
-15
76
-1
-7
8
-9
-25
-17
-5
12
16
-3
-53
96
32
0
29
5
-20
41
41
6
13
20
36
-9
10
-1
21
-58
0
1
-1
-2
9
13
67
41
94
-4
-1
51
16
14
22
-33
8
-5
-4
15
-8
93
64
39
-8
49
-18
18
78
-47
-43
61
-3
3
-1
-16
-29
-23
22
-61
-29
2
28
8
25
-9
41
-3
0
3
21
39
22
13
12
0
56
39
22
-27
3
9
-50
12
0
49
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-53
72
12
-47
58
10
-20
8
21
-13
9
26
-34
-12
1
35
4
-4
-56
-76
-34
2
30
-16
-3
17
-12
-28
-32
-9
-16
13
19
0
-5
33
5
0
16
48
-21
27
44
1
5
-10
4
-5
3
70
-62
-6
-20
15
51
0
33
-54
-54
41
16
25
23
-22
15
14
40
-24
19
13
5
28
4
51
11
15
15
46
-22
29
23
13
52
0
-3
36
1
74
62
19
-17
24
8
-38
-33
22
-4
-18
-22
2
5
-31
74
-13
24
58
35
-20
7
2
35
2
-13
-4
-11
52
15
32
-5
-80
-4
70
30
-12
25
-1
90
47
-8
56
18
74
42
17
-43
60
49
10
-22
-27
0
-11
21
-3
52
-1
-40
2
-41
61
32
37
-1
2
33
40
-49
-5
38
0
18
48
44
-16
45
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-4
0
-3
46
-1
8
-21
-4
0
1
-26
0
4
16
8
0
0
63
0
15
-4
-28
0
6
-7
0
14
5
41
0
0
0
0
-54
0
-11
-60
-5
0
0
0
0
28
81
0
0
0
0
-33
-11
0
-5
56
0
0
73
12
-1
10
43
0
0
42
-32
3
-5
-5
-5
4
-62
-33
0
0
-34
0
10
-4
-12
0
0
-16
-2
7
-6
-51
0
0
14
0
7
0
-12
0
3
3
0
16
0
-3
-8
0
0
7
3
3
61
-44
-7
0
0
0
8
-6
7
11
-12
0
0
-25
-2
0
-3
23
0
0
-22
9
0
-22
33
0
5
-4
-50
0
9
-43
8
8
0
-3
0
-42
-9
0
-1
0
6
0
0
32
0
-16
0
-56
0
33
-6
0
-1
0
13
15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
0
0
6
0
0
0
2
0
0
0
0
0
7
-39
0
0
0
0
0
0
9
0
-8
0
0
0
0
-56
0
0
0
0
0
0
30
0
0
0
0
0
0
-19
0
0
0
0
0
-4
-24
0
0
0
0
0
-16
-2
0
0
3
0
0
0
-44
0
4
0
0
0
0
2
0
0
0
0
0
-3
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
24
0
0
0
0
0
0
4
15
3
0
0
0
0
-21
0
0
0
0
0
8
25
0
0
0
0
0
10
-4
0
-1
6
0
0
0
9
0
0
0
0
0
0
-6
0
0
-5
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
2
-66
45
0
25
17
25
10
2
30
12
-5
-49
52
8
24
11
12
-40
5
13
-5
1
10
-24
-1
-24
2
-13
-10
50
0
10
-27
-6
13
7
17
33
2
5
43
31
46
-41
34
55
8
11
-20
21
35
-22
-18
49
-21
-9
104
-5
8
66
59
-43
14
-10
22
1
24
31
-8
27
34
-41
31
14
27
24
10
-5
15
69
-45
30
-1
-17
3
0
62
15
-3
-4
0
29
-3
-6
10
56
3
21
-22
-13
45
-39
-10
83
14
-2
27
-13
1
-43
64
25
50
19
-8
94
23
-85
14
-42
-4
-22
8
-42
-32
6
-5
58
6
42
-5
-43
28
31
67
-56
-24
-9
48
11
51
-4
78
17
58
-5
3
1
16
19
1
35
-8
13
25
23
-44
-35
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
33
10
8
-10
60
41
1
-11
32
13
3
-8
39
-30
-8
7
-20
53
-19
20
-10
-49
57
-5
60
-18
-17
0
-14
-15
-56
2
-30
-4
75
14
53
16
-14
-3
30
-45
9
8
-67
45
-33
-81
-59
10
54
-6
-12
-31
18
5
0
-31
19
45
-31
4
-54
-12
-16
1
21
-9
-18
43
-14
41
-24
12
-10
-61
68
-22
-35
48
73
13
15
41
-14
-13
15
19
49
-7
4
-6
61
-15
-2
-13
35
0
-13
119
-45
64
15
0
-36
22
-1
-11
-5
-19
65
30
8
-2
-42
65
27
-15
11
0
6
-53
-5
-16
7
3
-6
69
8
22
-3
-13
-12
-15
-18
63
36
-6
37
-30
9
-2
34
22
18
1
1
-17
2
-59
54
29
1
5
10
-4
5
-7
-35
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-29
0
0
3
-2
0
-2
-40
0
0
0
0
0
0
49
0
0
0
0
0
0
40
0
0
0
0
0
0
7
-3
0
0
0
0
0
34
0
0
0
0
0
0
62
0
0
2
0
0
8
19
0
0
1
0
0
0
17
0
0
3
-1
0
6
101
0
0
-17
0
0
0
25
0
0
1
0
0
0
37
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
89
0
0
4
0
0
0
82
0
1
-7
0
0
0
13
0
0
0
0
0
0
8
0
0
-1
0
0
0
16
0
0
0
0
0
0
-3
0
-10
0
0
0
0
-43
0
0
0
0
0
0
35
0
1
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
47
0
0
13
-6
0
18
19
0
0
-4
0
0
2
-3
0
-19
0
4
0
0
-17
0
0
0
0
0
0
75
1
0
0
0
0
0
16
0
0
0
0
0
-2
73
2
0
-3
0
0
44
-79
0
0
23
0
0
5
73
0
0
-21
0
0
-1
-98
0
0
45
0
0
0
68
0
-3
-8
0
16
0
-7
0
0
0
0
0
0
-3
0
0
4
5
0
0
-19
0
0
0
0
0
0
28
1
0
0
0
0
3
90
0
41
8
0
0
0
46
0
0
12
0
0
4
22
0
-1
0
0
0
-1
-45
0
0
-3
-3
0
0
-31
0
0
0
9
0
0
-28
0
0
1
-3
0
0
-22
0
0
0
0
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
-1
-50
18
1
-45
-6
-11
-2
0
-17
6
-36
-71
-37
0
-7
28
1
21
-12
-22
2
-1
46
-2
-6
0
10
-38
14
-2
20
16
-19
47
-9
73
7
0
1
62
55
1
-15
26
60
25
-41
-12
21
36
51
-3
5
97
2
-5
-8
45
83
9
24
25
9
-13
50
20
6
28
12
2
80
92
58
11
-28
5
-3
7
45
-18
15
12
-29
0
24
33
115
5
23
1
-22
3
1
-5
-8
13
21
-11
5
-5
-1
-12
28
1
-4
6
-4
0
4
-37
9
-58
55
63
1
1
-58
12
0
4
-46
-5
0
-44
-22
-1
92
58
22
22
45
-2
6
9
37
5
27
-8
-2
1
57
-8
54
25
2
-11
0
2
-16
15
64
0
-2
-25
8
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
13
8
0
0
-1
0
0
-4
2
0
2
0
0
0
0
36
0
0
0
0
0
0
0
-8
0
0
0
0
0
37
1
0
0
0
0
4
-53
0
0
8
0
0
-3
49
0
0
-10
0
0
3
15
0
0
-4
-6
0
0
13
0
0
8
0
0
1
-38
0
-1
0
1
0
0
-63
0
0
-6
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
-2
0
0
0
22
0
4
-1
0
0
0
2
0
1
0
0
0
0
-20
0
0
0
0
0
0
-1
0
6
-2
0
0
0
3
0
0
0
0
0
0
-38
0
1
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
0
0
1
0
0
0
28
0
0
-8
0
0
-6
13
0
73
0
0
0
0
-5
0
0
0
0
0
0
-8
10
0
0
-1
0
0
-24
2
0
0
0
0
0
-19
0
22
19
0
0
-10
30
0
-1
2
0
0
90
13
0
0
10
8
0
7
15
0
0
15
0
0
8
-27
0
4
6
-12
0
1
49
0
0
0
0
0
0
70
0
0
0
0
0
0
99
0
0
0
0
0
0
41
2
-1
0
0
0
0
14
-1
24
15
0
0
3
13
0
0
14
1
0
8
43
0
5
-4
0
0
10
26
0
4
0
-1
0
0
19
0
-22
5
0
0
0
1
0
0
0
12
0
0
111
0
22
0
0
0
0
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
10
0
-7
61
0
-4
0
11
0
72
22
0
2
0
-33
0
0
0
-3
50
0
26
-45
-70
0
-13
-4
0
-36
-8
5
32
7
0
-9
-21
13
88
23
-22
3
-20
-50
-1
-5
23
0
0
1
3
20
42
-25
1
-4
-5
-22
0
-22
-12
-15
-10
3
10
-5
-32
54
40
4
1
-1
0
2
-20
0
40
0
42
0
1
-8
42
-29
-1
-31
-23
0
0
0
42
0
-24
15
3
-44
1
0
9
48
-7
36
61
0
0
-5
-11
-13
68
49
-4
2
-27
19
0
-44
19
2
0
-9
-62
-9
-2
-14
47
1
0
17
0
23
0
2
-4
0
3
0
-5
-39
5
2
-2
-14
0
-7
1
7
-1
0
14
-13
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-19
9
14
-43
12
-49
2
-8
-1
-34
51
15
-21
29
-15
1
-1
-8
-1
-4
0
6
6
-69
2
107
0
41
-40
-25
30
5
-3
17
43
-7
-1
-44
-16
37
-43
10
-43
5
2
-2
4
-40
-28
24
66
-49
-18
75
41
-1
0
-76
-4
-14
50
80
-59
9
-5
-2
-18
-17
3
37
1
7
17
37
-8
-14
13
-53
14
35
-27
77
-16
3
6
27
-10
0
16
9
-31
-28
28
-8
-4
-2
5
3
30
45
-34
-52
-19
10
-19
1
99
30
-6
-56
7
7
7
-9
51
51
-35
-40
7
0
48
-58
-37
-11
13
-30
7
-4
-18
70
60
-31
20
-20
-2
-2
-41
-81
-6
13
-10
15
22
48
1
-5
0
17
54
-7
-9
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-2
0
0
0
53
0
-3
0
0
0
0
66
0
0
0
0
0
0
41
0
0
0
0
0
0
-15
0
0
0
0
0
-1
83
0
0
-4
0
0
29
-43
0
0
0
0
0
0
-21
0
0
5
0
0
4
16
0
0
-1
0
0
0
-9
0
0
0
0
0
0
-32
0
0
0
0
0
0
-37
0
0
0
0
0
0
8
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
-8
0
0
0
0
3
0
0
1
0
0
0
4
0
2
1
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
2
0
0
0
-4
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-8
0
0
0
50
0
0
0
25
0
0
-3
0
0
0
0
-1
0
-37
25
0
0
0
0
0
34
-3
0
0
0
0
-7
39
0
0
6
0
0
-9
52
0
0
0
0
0
92
-18
0
3
-10
5
0
0
-41
0
0
-4
0
0
-3
31
0
0
0
0
0
-3
67
0
0
0
0
0
0
33
0
6
5
0
0
0
2
0
0
0
0
0
0
-10
0
1
0
0
0
0
-35
0
0
0
0
0
-2
-6
0
0
-1
0
0
3
-4
0
4
0
0
0
0
41
0
0
-2
0
0
2
9
0
22
0
0
0
0
-25
0
0
2
0
0
0
26
0
-4
10
0
0
0
95
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
8
-17
1
-12
0
-19
0
-13
47
-27
-60
-3
-9
0
0
0
0
-58
0
1
-34
19
0
38
4
6
16
-11
0
0
0
0
37
-11
69
67
-58
1
3
-48
-5
7
31
52
2
7
118
0
8
-4
-71
-7
5
-5
11
1
59
19
3
1
21
-3
-5
1
-31
59
5
90
-5
2
1
16
1
58
-9
5
0
0
1
-47
49
0
8
4
7
0
0
4
0
-3
-22
25
14
-2
0
11
15
-3
-13
58
0
0
-13
-6
5
-1
66
33
0
-34
-20
-7
-10
83
2
17
14
18
2
79
-3
7
0
-2
10
-9
-31
-3
-3
18
8
-70
0
-3
9
11
48
0
4
0
2
0
8
7
0
11
-33
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
21
0
5
54
-2
-4
-9
-21
0
60
16
0
-5
-2
-21
0
0
5
0
36
0
31
20
5
0
0
-3
0
-10
9
0
0
0
0
50
-35
1
37
-18
0
0
5
-20
3
0
35
0
0
-13
-17
0
0
-5
0
0
27
26
0
4
-9
-7
0
93
-48
0
0
0
0
-4
10
-21
0
0
60
0
10
4
5
0
0
-9
0
89
-1
42
-5
1
0
0
8
0
-49
16
0
-8
0
0
-8
-11
1
68
9
0
0
-3
54
0
-9
20
0
-5
-19
-1
0
128
-57
0
5
5
72
0
19
33
0
0
-5
85
0
8
76
-5
-1
2
32
0
-3
68
0
25
0
-10
13
5
0
0
-17
0
32
-3
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
1
0
0
0
-32
0
31
12
0
0
0
-4
0
0
0
0
0
0
-52
-3
0
0
3
0
0
42
0
0
0
0
0
0
9
0
0
-2
0
0
-5
-16
0
0
9
0
0
3
-13
0
0
-25
-1
0
0
39
0
0
0
0
0
0
0
0
0
-17
-1
0
0
76
0
0
1
0
0
0
40
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
8
0
0
0
0
0
42
0
13
0
0
0
0
73
0
7
-3
0
0
-1
-48
0
0
1
0
0
1
4
0
0
8
0
0
0
29
0
3
2
0
0
0
20
0
0
0
0
0
0
34
0
6
0
0
0
0
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
24
-7
-4
0
0
22
0
0
-2
0
5
0
5
67
13
0
4
0
0
-30
8
0
-2
0
-6
6
-52
-2
-1
81
-3
0
38
9
0
-16
71
0
0
-14
-9
0
12
-37
-8
0
-3
-45
0
6
50
-4
1
0
54
0
-6
-57
-4
12
0
-16
0
0
37
0
-2
0
77
6
0
-4
20
98
0
38
-5
0
0
0
-1
0
-4
-65
0
0
0
0
0
-38
0
14
-109
0
-1
0
9
0
0
50
1
0
0
6
0
15
-49
0
0
0
-37
-8
2
-15
10
0
0
-61
0
-20
-15
2
0
1
14
0
3
-1
5
0
0
33
0
-43
-2
0
-6
0
-46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
11
-3
-11
4
20
13
61
-23
21
42
-36
-13
-24
0
15
28
-27
-8
-57
15
26
4
-28
-10
23
-1
3
31
1
-38
-29
41
2
32
18
4
-48
-16
39
6
9
32
-2
20
116
6
-44
-59
39
-5
34
5
-25
-95
51
6
0
-19
-22
-13
3
1
64
4
7
36
28
24
-6
-17
-10
1
-10
33
-76
-40
-5
-6
-27
-2
5
14
20
-14
-10
83
-8
45
-11
0
-12
15
-53
27
5
-5
-18
-125
6
140
13
56
35
29
81
7
63
15
68
27
-31
-75
-19
-32
-23
-31
16
-21
31
0
-29
-14
-43
-30
14
-47
-36
-8
-24
59
24
24
22
-4
9
47
53
-2
14
12
9
-32
31
-13
-59
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
1
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
-49
0
0
0
0
0
0
11
0
0
0
0
0
0
11
0
0
-6
0
0
0
-25
0
0
-9
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
33
0
8
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
22
0
0
0
0
0
0
-44
0
0
0
8
0
0
-6
0
0
0
0
0
0
6
0
0
22
0
0
3
-50
0
0
0
0
0
0
63
0
1
4
0
0
0
5
0
0
3
0
0
0
-1
0
0
1
-8
0
0
-55
0
0
0
0
0
0
1
0
0
0
0
0
0
66
0
0
0
0
0
0
1
0
0
0
0
0
0
47
0
0
-1
0
0
0
44
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
0
16
0
0
0
-75
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
0
-38
5
41
-1
16
15
0
-3
0
0
32
0
5
42
-4
0
-34
0
0
2
1
0
2
0
0
-44
5
-5
10
40
62
-1
-22
4
4
-7
73
0
0
53
-2
0
-22
-9
52
-14
41
-18
0
4
-30
-6
-13
50
14
-4
9
-3
-48
1
-43
13
0
10
3
0
10
-4
8
0
-3
0
-4
19
0
25
-21
0
0
0
-2
0
-40
-41
-2
-5
0
0
18
-87
7
25
-5
0
-1
-18
-14
0
35
-4
-13
0
-38
25
0
31
-15
-2
-1
7
20
10
33
-11
40
-4
-2
-46
0
6
-14
-1
-4
20
35
0
-2
4
51
-7
0
25
8
-71
-6
0
-6
0
17
23
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
5
0
0
0
0
1
0
0
0
0
0
0
85
0
4
0
0
0
0
32
-12
0
0
0
0
-1
-34
0
0
14
1
0
-5
-11
0
0
-21
0
0
1
63
0
0
-8
0
0
-7
27
0
0
1
0
12
1
-54
0
0
1
0
0
6
4
0
0
0
0
0
0
-3
0
0
0
0
-1
0
13
0
0
0
0
0
0
2
0
0
1
0
0
0
-12
0
0
0
0
0
0
21
0
0
0
0
0
0
-17
0
-1
1
0
0
5
-27
0
0
0
0
0
0
-10
0
2
3
0
0
0
13
0
0
1
0
0
0
-13
0
1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
4
0
-8
0
0
-23
0
0
0
0
0
0
-37
13
29
0
3
0
0
16
0
0
0
0
0
4
50
0
0
-28
0
0
32
-31
0
0
-7
0
0
14
21
0
0
-34
0
0
-4
17
0
0
-64
0
0
1
70
0
0
14
5
0
0
4
0
0
-1
0
0
0
47
0
0
0
-1
0
0
-42
0
0
0
0
0
0
25
0
0
0
0
0
0
11
0
16
0
0
0
0
15
0
0
0
0
0
1
-13
0
-2
5
0
0
0
42
0
0
5
0
0
0
-23
0
0
-5
0
0
0
84
0
5
1
-14
0
0
53
0
-18
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
-6
0
-17
3
0
0
2
0
0
2
8
0
0
0
0
-9
-3
0
5
-7
-3
-1
-6
-34
0
0
5
0
0
0
10
0
1
0
1
0
0
-11
0
0
48
0
0
0
18
0
0
8
5
4
0
34
0
-4
19
0
0
0
51
0
0
-4
0
27
0
1
8
0
0
0
0
0
14
5
-1
0
0
0
0
-36
0
-4
3
0
0
0
54
0
0
-5
0
0
0
-2
0
32
0
0
0
0
-9
0
1
20
3
0
0
-4
0
9
6
0
-3
0
66
0
-3
-5
4
0
0
28
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
14
-2
-1
9
-2
4
1
1
4
-58
2
0
19
0
-11
-34
-12
42
1
5
-28
-13
22
-12
17
17
-48
8
-12
99
24
11
-10
-13
4
-7
7
-70
-24
-8
-39
-19
-13
38
13
-20
-4
13
62
-15
-6
14
47
-11
-106
-6
0
12
16
7
-2
11
14
15
10
24
26
4
3
-1
0
23
-5
-3
0
-16
-4
-26
99
6
-9
-6
0
17
-22
19
33
-19
30
-2
-6
-2
-14
38
-50
51
14
-43
23
14
-32
6
-8
43
-42
-15
-14
-110
-13
-59
4
82
40
6
21
1
-17
11
-6
0
0
0
52
22
13
0
9
-3
92
-19
0
-40
0
6
-10
2
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-22
0
0
0
0
0
0
17
-3
0
0
0
0
-8
-37
0
0
15
0
0
10
-19
0
0
0
0
0
0
8
0
0
4
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
5
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
25
0
0
-4
7
2
0
-3
16
0
-5
-9
56
-24
11
17
-3
-30
0
-3
112
22
21
-37
-43
-44
0
-9
-23
-3
-68
-28
6
49
-40
-3
21
-21
10
-25
-53
-43
-16
0
5
8
-52
-13
-26
3
-3
13
-14
-7
-50
24
1
0
0
24
-18
13
16
14
-1
-4
23
15
21
0
17
-37
-5
0
-1
-22
6
-11
-25
52
14
58
10
16
16
8
15
-23
-2
1
-54
-38
-8
9
-5
-47
24
-14
19
1
-1
-2
-14
1
-20
0
-7
37
-10
-4
-19
13
14
3
2
-38
7
77
10
-44
0
-8
7
-84
-17
-3
0
4
14
2
0
45
4
30
-2
-12
3
-35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
-2
0
-12
7
-13
0
0
0
0
-47
-25
0
0
0
0
-7
-11
-1
0
3
-5
0
-12
-31
0
-16
-47
-7
-1
29
21
0
18
70
18
0
-25
45
0
2
-10
6
0
0
38
0
0
-2
2
0
12
-7
0
-1
0
0
0
0
-21
0
-6
-5
-2
15
0
-41
6
0
0
-14
0
0
-75
61
0
0
4
0
3
-73
0
22
1
-1
0
6
66
0
0
57
-5
0
20
30
7
23
-10
-1
0
3
101
0
0
0
-4
0
0
14
0
5
0
0
4
0
53
0
-4
0
23
0
-8
-5
0
-19
0
0
1
0
22
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
-22
0
-2
24
3
0
0
0
0
-18
-8
0
2
0
0
46
-25
2
2
61
0
7
-28
14
0
-3
-48
1
3
71
-4
0
1
-15
0
-6
-9
10
0
1
50
0
18
14
42
0
0
48
0
27
0
-8
0
0
25
0
42
0
42
0
10
-59
0
39
0
20
7
0
0
0
1
0
-3
4
0
6
0
0
-3
9
0
49
-5
0
0
-33
40
0
-18
-32
0
0
39
27
8
57
-32
0
0
4
85
0
-9
-5
0
-5
9
62
0
0
-32
0
-5
0
-43
0
0
13
0
0
0
9
0
-34
0
0
-8
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
63
-21
-3
0
0
0
0
21
0
0
-1
0
0
8
27
0
0
44
0
0
4
51
0
0
-15
0
0
0
14
0
0
38
0
0
-34
44
0
0
6
0
0
2
-38
0
0
10
6
0
0
-14
0
0
0
0
0
0
-25
0
0
0
-6
0
0
35
0
0
0
0
0
0
-2
-1
0
0
0
0
-1
31
0
-6
-2
0
0
8
43
0
0
0
0
0
-1
30
0
2
4
0
0
0
156
0
0
0
2
0
0
24
0
-2
-5
0
0
0
116
0
0
19
-6
0
0
-47
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
49
0
0
0
0
0
0
-13
0
0
-1
-3
0
0
13
0
0
6
0
0
13
16
0
3
-19
8
0
-6
41
0
1
19
0
8
0
4
0
0
0
0
2
0
0
0
0
-9
0
0
0
56
0
0
0
2
-2
0
-83
0
0
0
0
0
0
-5
0
0
0
0
0
0
78
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-7
0
13
0
0
0
0
5
0
0
0
0
0
0
81
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-34
1
9
3
-8
-2
-6
34
5
4
13
28
-6
25
50
-13
36
-1
-4
16
28
54
-18
32
13
61
3
36
40
11
-44
48
10
1
0
2
-12
-73
-21
1
-8
2
93
-22
1
-32
54
3
1
-48
-71
-45
21
14
0
4
16
115
-9
63
-1
16
1
15
0
0
-29
-1
-21
40
96
-27
-2
21
92
-11
8
41
-11
-14
11
75
2
-15
76
13
-32
31
39
31
-43
-13
-24
66
15
1
-43
9
36
2
-1
33
58
-12
-10
5
15
41
20
49
-22
4
44
52
44
33
-30
0
0
-22
-15
25
0
0
40
20
-1
-1
23
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-23
0
0
0
0
0
0
-44
0
0
0
0
0
1
53
0
0
0
0
0
2
-49
0
0
3
0
0
0
-8
0
0
5
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
1
0
0
-1
29
0
0
0
0
0
-5
12
0
0
-1
0
0
0
-21
0
0
-2
0
0
0
-7
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
-7
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-2
0
4
0
0
5
0
0
0
0
0
0
-57
0
0
3
0
0
-3
40
0
0
0
0
-2
-3
27
0
0
0
0
0
0
43
0
0
0
0
0
0
24
0
0
0
0
0
0
11
0
0
0
0
0
0
-29
0
0
0
0
0
0
-6
0
0
0
0
0
0
-99
0
0
0
0
0
0
6
0
-2
0
0
0
-1
-42
0
1
-12
0
0
-7
-16
0
9
0
-3
0
-1
9
0
0
0
0
0
0
-15
0
-2
0
0
0
0
-7
0
0
0
0
0
0
-36
0
1
0
0
0
0
27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
-1
0
0
0
24
0
0
9
0
0
0
19
0
0
-1
-2
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
3
0
19
0
0
-1
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
1
5
0
0
-6
0
0
0
-1
0
0
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
25
0
0
17
0
0
27
-7
0
0
0
0
-20
-38
0
0
-22
-28
0
-147
-36
2
5
6
0
0
87
6
0
0
-10
16
0
46
-19
0
5
36
0
0
-1
-6
0
0
-34
-36
0
9
-10
0
0
-29
0
0
-2
40
2
0
-31
19
0
0
25
-1
-1
0
2
0
0
9
7
0
0
0
0
0
-11
0
-20
-2
0
0
31
20
0
2
30
0
0
-18
37
0
25
-15
0
0
-14
-56
1
9
1
-2
0
6
45
0
-58
43
0
0
0
39
0
0
8
2
0
0
10
0
42
3
0
0
0
-55
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
16
8
14
14
-7
46
0
-15
28
41
40
56
-50
2
10
-28
-15
20
5
2
32
-9
24
-27
34
60
23
-34
-1
30
66
2
10
42
-19
-3
-22
-27
8
18
89
-16
-14
-22
-43
-70
22
-35
-13
0
-30
-24
45
-20
-33
-24
0
5
-46
28
31
-11
-17
5
1
21
71
-100
16
22
-21
-16
-6
57
21
-7
16
1
-110
21
-37
-14
23
71
4
61
-39
46
-17
31
-8
7
22
-20
17
4
107
43
-4
-45
21
-8
40
45
20
12
-12
25
-33
-15
2
8
-15
-13
70
13
75
1
-5
0
-1
14
16
-43
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
-5
0
0
5
0
19
1
0
13
2
20
4
-80
15
0
0
5
-2
0
5
13
0
9
-5
-53
-7
-55
2
-1
0
-11
0
-9
-24
25
-1
-5
13
-9
3
24
13
0
24
-18
0
3
1
33
0
-6
9
-9
-5
0
-18
0
0
0
0
4
-8
56
13
0
-3
-4
0
4
29
0
-35
-39
2
0
6
-30
0
-1
-14
31
0
49
-24
0
89
-5
0
0
5
-29
0
4
8
-4
0
1
7
-2
105
-9
-2
5
0
-20
0
1
41
-18
5
0
-13
0
-11
2
0
-5
0
-54
0
12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-7
0
0
0
0
-17
-66
4
0
-6
14
-2
-25
-35
0
0
42
0
4
76
-47
0
0
-25
42
-2
7
1
-2
0
61
0
4
-3
55
0
0
23
-20
2
6
25
0
0
-1
0
2
0
-41
0
4
4
-7
19
0
-6
-2
0
0
0
0
1
-17
-6
-8
1
0
0
2
-70
-7
0
5
0
0
-6
-5
0
-8
1
0
0
10
-65
-4
8
21
0
3
-20
-65
0
-8
17
-4
0
0
-1
0
5
-2
-1
0
1
43
0
0
-4
-4
2
0
-34
0
-6
-1
0
-18
0
-19
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
-17
0
0
0
0
0
0
-21
0
0
10
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
-5
-3
0
0
0
0
0
0
0
0
0
0
-3
0
8
-2
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
0
0
0
7
-21
0
0
34
0
2
-3
12
0
2
-1
0
-1
34
-13
0
-5
43
0
0
3
13
0
0
-18
0
-4
-3
-10
0
0
-1
1
-1
0
-19
0
0
4
0
-66
0
8
0
2
0
0
3
0
-15
1
0
0
0
0
0
79
7
0
0
0
0
0
65
0
1
12
0
0
4
4
0
0
4
0
0
-2
-18
0
5
1
0
0
0
44
0
-2
-1
0
0
0
100
0
31
5
0
0
0
71
0
0
-5
0
0
0
-17
0
-2
0
0
2
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
32
0
0
-2
0
0
-7
-6
0
0
2
0
0
24
-14
0
-1
22
0
0
0
-51
0
0
-4
0
0
0
2
0
0
0
0
0
0
75
0
0
0
0
0
0
23
0
0
0
3
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
0
0
0
-5
0
0
0
0
0
0
9
0
-2
-1
0
0
0
5
0
0
-1
0
0
0
-2
0
0
1
0
0
0
24
0
0
0
0
0
0
33
0
-3
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-8
0
0
0
4
81
0
0
-2
0
0
0
-22
0
0
19
0
0
0
50
0
0
3
0
0
0
25
0
0
-2
0
0
0
20
0
0
4
0
0
0
-1
0
0
0
0
0
0
-31
0
0
0
0
0
0
-63
0
-3
8
0
0
0
-17
0
-2
0
0
0
0
-20
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
-42
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
27
1
-57
31
64
-13
27
21
17
-8
6
64
45
30
5
13
90
2
-47
5
10
-1
38
59
45
25
40
-58
6
-57
31
-21
27
23
-26
8
16
80
-18
60
18
-16
0
-37
27
2
11
13
3
-6
20
17
-40
-55
-14
-4
0
25
1
-33
-21
0
16
-32
0
23
4
46
-9
3
17
79
51
5
5
47
79
4
10
10
46
-9
-44
-2
-34
-7
31
-18
7
-16
42
-11
5
11
33
-46
-5
17
2
5
32
10
82
-9
40
8
42
8
-17
20
19
2
-1
-12
-2
-17
96
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-42
3
12
16
2
0
63
39
0
13
5
3
0
60
-32
8
-6
-8
12
0
-33
-18
0
0
24
0
6
-6
29
4
8
54
53
0
-1
35
0
0
2
0
75
0
22
0
3
-1
-1
12
0
-42
0
0
0
0
1
0
14
-4
14
9
0
0
16
28
1
-16
16
0
0
10
69
0
0
10
-6
0
-1
18
1
44
-20
-6
5
8
24
-4
-6
-5
13
0
-3
54
0
1
21
-1
-3
-1
47
0
-3
1
15
-6
0
1
0
22
0
0
0
0
10
5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
38
0
0
0
90
0
0
1
0
0
0
54
0
-3
2
0
0
0
-31
0
0
24
0
0
0
-28
0
0
0
0
0
0
-62
0
0
0
0
4
0
17
0
0
0
0
-14
0
-49
0
0
0
0
0
0
20
0
0
0
0
0
0
5
0
3
0
0
0
0
-15
0
0
0
0
0
0
27
0
1
1
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-7
1
0
-2
49
0
3
2
0
0
13
92
0
0
12
-1
0
0
3
0
0
5
0
0
0
69
0
0
-3
0
0
0
-47
0
0
0
0
-9
0
6
1
0
3
0
0
0
66
0
0
0
0
0
0
-61
14
0
0
0
0
0
-3
0
3
0
0
0
0
2
0
0
0
-3
0
0
27
0
1
0
0
0
0
17
0
0
0
0
0
0
46
0
0
0
0
0
0
3
0
-4
0
0
0
0
-11
0
-1
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
49
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
4
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
8
0
0
0
0
0
0
-13
0
0
4
0
0
0
19
0
0
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
2
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
4
0
3
-44
-6
12
55
77
0
0
38
-18
0
-46
18
3
3
-13
5
-5
1
-28
0
10
88
23
7
1
4
0
0
34
0
1
0
50
3
0
-3
54
-19
0
-5
10
-1
0
0
2
0
-28
5
3
-2
0
0
0
13
0
-54
68
-1
0
5
19
0
-6
64
-2
4
7
-45
-1
11
121
-1
0
-4
22
0
-6
95
-13
0
-5
11
0
43
16
2
4
-5
-26
0
0
2
13
0
0
21
0
18
0
0
2
0
23
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
44
2
-14
1
-19
113
16
7
4
-28
28
22
27
12
12
54
-83
32
46
-9
-25
-4
98
23
-24
28
6
-26
-7
5
90
25
14
18
12
-4
13
5
-13
-10
9
-5
6
16
-25
45
-10
36
-35
45
34
-50
-45
-27
26
-59
0
-32
-53
-2
-5
50
40
-10
-83
-11
-20
-60
5
14
7
-31
31
18
8
0
59
-14
-20
3
12
-24
-20
36
-1
-27
-14
15
-6
-4
-28
3
16
33
25
27
-15
44
10
-5
-51
22
-41
-5
-42
10
-19
-39
-51
46
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
63
0
0
-15
0
0
5
-37
0
1
-9
10
0
-2
-43
0
-4
30
1
0
0
-66
0
0
0
0
0
0
143
0
0
0
0
0
0
62
0
0
0
0
0
0
21
0
-1
0
0
0
0
-79
5
-4
0
0
0
-1
-47
0
17
0
0
0
0
68
0
0
9
0
0
0
83
0
-9
5
0
0
0
2
0
0
0
0
0
0
-57
0
0
0
0
0
0
4
0
0
0
-3
0
0
-1
0
5
0
0
0
0
-24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
35
0
0
48
0
3
19
59
0
0
50
-4
16
-12
38
0
8
22
0
7
-8
-28
0
0
6
23
-8
1
58
0
0
0
0
-8
0
78
2
0
0
-10
-4
0
-27
0
0
0
0
0
0
13
5
0
-8
0
0
4
51
0
13
2
0
0
1
-22
0
0
13
-4
0
16
38
-1
2
-1
0
-1
-6
19
0
0
0
-1
0
0
-6
8
0
-7
0
0
0
60
0
1
0
-1
0
0
50
0
2
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
25
-71
-20
6
5
-43
35
14
-8
-76
4
-8
18
0
-21
-13
-1
19
-47
-15
-3
54
31
34
38
-10
99
8
0
-3
97
-6
46
6
6
0
7
-17
-12
8
44
11
-45
1
0
2
6
-1
-28
24
-2
-8
0
0
8
18
27
4
130
0
2
52
-82
2
24
64
-1
9
51
-40
8
-76
86
13
-25
25
-67
8
-5
43
37
76
4
28
0
-48
57
26
10
20
-41
0
-17
-62
13
25
-2
25
-6
-2
8
0
66
6
16
31
-2
-2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
17
2
0
7
0
0
100
-56
0
0
-32
-1
0
-49
37
0
3
-29
0
-1
-4
-15
0
0
31
0
0
-7
16
0
0
-13
0
0
0
44
0
0
0
-4
16
0
39
0
0
0
0
0
0
-10
8
1
0
0
0
10
8
0
72
-23
0
0
17
22
0
0
-1
0
0
8
-10
0
-1
13
0
0
3
24
0
4
-49
1
0
0
-10
0
67
0
0
0
0
-32
0
0
0
0
0
0
18
0
5
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
46
0
0
2
0
0
0
44
0
2
0
-1
0
0
37
0
0
0
0
0
0
-34
0
0
0
0
0
0
-54
0
0
0
0
0
0
18
0
0
0
0
0
0
63
0
0
0
0
0
0
28
0
0
0
0
0
0
-12
0
8
0
0
0
0
49
0
0
1
0
0
0
28
0
0
0
0
0
-2
8
0
0
0
0
0
0
7
0
0
0
0
0
0
54
0
0
0
0
0
0
-9
0
-2
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
179
23
-12
-35
35
100
1
-54
-26
-1
-5
3
8
-6
0
-17
-4
-14
81
-4
35
-13
30
0
-3
-58
0
24
0
2
0
-3
-24
9
-30
0
6
14
-6
0
0
-3
-1
15
-63
-1
-24
6
0
-3
-24
6
-2
13
-1
0
4
-13
0
92
-2
-8
0
0
-2
24
37
-28
9
-1
-3
11
-1
20
-31
28
3
0
-37
0
9
-6
0
0
0
31
-3
-8
24
14
0
0
52
3
52
-10
0
-9
0
31
38
-4
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-11
-69
-22
-34
51
26
-10
-18
74
-30
-1
-11
-39
-14
3
29
-36
29
19
-83
8
3
-42
2
-15
-1
3
92
-5
32
34
16
19
30
-13
5
15
-11
56
6
-50
15
37
-61
97
27
-47
-9
31
33
6
9
-11
-43
8
-5
0
-3
-54
-51
20
-24
-65
-22
22
20
-55
-8
-10
-69
0
88
39
-24
-14
3
-48
11
-71
5
36
97
150
-1
22
33
-22
-19
7
8
44
-7
5
2
-56
88
-11
-13
2
-16
83
-16
-73
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-3
66
-2
0
0
122
0
0
-5
0
0
0
75
0
-2
-1
0
0
0
12
0
0
0
0
0
0
-16
0
0
-3
0
0
0
-52
0
0
0
0
0
0
27
-1
0
0
0
0
0
97
0
0
-6
0
0
0
-41
0
0
-2
-1
0
0
26
0
-4
0
0
0
0
-50
0
1
-1
0
0
0
-54
0
-3
0
0
0
0
-6
0
0
0
0
0
0
23
0
0
0
0
0
0
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-5
0
-6
-16
0
0
24
-41
0
-5
31
0
0
0
-14
0
0
2
-2
0
0
-41
0
4
-1
0
0
0
13
-1
0
0
0
2
0
2
0
0
0
0
0
0
-22
10
0
0
0
0
-2
31
0
-2
-2
0
0
0
-6
-1
1
15
-1
0
0
50
0
0
22
1
0
-5
50
0
-1
0
0
0
0
-54
0
3
20
0
0
0
118
0
0
1
0
0
0
51
0
-8
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
15
-7
-14
-28
-8
-3
6
21
5
-32
28
-1
36
50
6
1
-8
3
-21
13
-69
18
0
3
33
6
11
-5
-18
5
-7
13
32
20
-1
3
-10
8
0
5
-5
-1
-2
102
2
-2
3
0
-3
-25
15
-55
59
0
-15
18
-14
-15
26
37
-5
-1
-16
24
5
30
57
0
9
50
-4
0
-5
39
26
9
39
30
1
44
-1
17
2
-19
14
8
-22
0
69
-9
0
13
0
-2
18
0
-34
0
42
-8
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
-3
0
-5
5
0
0
0
25
0
0
0
0
0
0
-23
0
-5
0
0
0
0
-4
0
0
3
0
4
0
72
0
0
0
0
0
0
-2
-3
0
0
0
0
0
16
0
0
3
0
0
0
51
0
0
-14
0
0
1
-43
0
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
8
0
0
0
0
-5
0
0
0
0
0
0
42
0
-5
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
29
3
0
0
43
0
0
9
0
0
3
-10
0
0
8
0
0
2
-10
0
0
0
0
0
0
21
0
0
0
0
0
0
52
0
0
0
0
0
0
26
0
0
0
0
0
0
42
0
0
0
0
0
8
-22
0
0
0
0
0
0
39
0
3
0
0
0
1
66
0
0
1
-3
0
0
9
0
1
5
0
0
-3
-4
0
0
0
0
0
0
11
0
-5
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
3
0
-73
-20
-1
-31
0
0
14
65
122
-5
3
17
0
-2
35
6
-41
0
-34
0
25
-30
-67
30
0
-21
23
14
-2
0
-16
0
15
51
0
40
-1
3
-5
7
24
42
25
0
0
2
42
13
18
11
14
-10
8
-12
0
40
-24
5
0
0
59
10
-1
75
-16
0
0
48
-2
79
5
21
0
-1
5
1
6
-45
84
-2
0
50
0
-21
-31
0
52
6
84
-2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
6
-9
-18
6
-46
49
37
-2
-4
97
-17
-26
8
93
11
16
-11
50
0
62
-4
21
-43
-50
-7
44
0
0
8
-3
-36
-8
-3
-31
-10
14
-3
132
31
-26
-4
72
6
-6
-23
-15
-6
-8
22
35
10
24
58
-100
72
-57
0
-42
-8
-58
70
-31
-27
-15
7
19
13
25
-41
-38
2
-21
46
-6
44
-55
99
4
-18
-12
44
-33
0
27
16
-34
-20
10
34
-59
2
25
-40
-8
8
-97
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-48
0
0
0
0
0
-1
85
0
0
-2
0
0
0
-19
0
0
0
0
0
0
-18
0
0
0
0
0
0
78
0
0
0
0
0
0
34
-1
0
1
0
0
0
-5
0
-1
-5
0
0
0
44
0
0
1
0
0
0
31
0
1
-1
0
0
0
31
0
0
0
0
0
0
-3
0
-1
0
0
0
0
129
0
0
0
0
0
0
2
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-26
0
-1
0
0
0
8
-14
0
0
41
2
-3
0
-28
0
1
-8
0
-1
0
3
0
-2
-1
-1
-4
0
48
0
0
0
0
1
0
19
-3
0
0
0
0
0
6
4
23
0
0
-1
3
22
-3
0
10
5
-2
-4
15
-1
5
4
2
10
0
-43
7
-4
6
-4
-4
-1
67
0
8
39
2
0
0
-22
0
-1
-1
0
0
0
76
0
-5
0
3
0
0
14
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
12
0
-30
-16
41
-30
48
11
-8
-27
60
21
70
31
23
1
0
42
-1
10
72
4
8
51
45
2
15
0
18
50
-1
-5
0
28
1
-9
-56
0
2
6
3
71
69
8
29
0
1
-2
27
-8
-15
4
95
74
-7
44
23
8
27
-15
-6
1
2
14
8
13
-51
38
6
7
24
8
56
-25
0
-6
-1
-1
-7
31
13
-37
16
17
19
0
-30
-4
-4
22
0
58
13
-2
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-58
0
-5
-39
-12
20
1
-14
0
1
-4
12
6
9
-7
0
0
23
0
-47
0
2
0
-12
-3
0
-33
0
29
-2
0
0
0
0
0
-17
22
0
-4
0
0
-9
-72
0
138
25
0
0
3
-56
0
3
-49
5
0
14
39
0
16
-66
0
0
30
6
0
-4
94
0
0
0
15
0
36
56
0
0
0
27
0
5
9
0
0
0
17
0
60
0
0
6
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
-3
0
0
-3
31
0
0
-1
-2
0
6
15
0
10
0
0
0
0
56
0
0
0
0
0
0
59
0
0
0
0
0
0
-31
0
0
0
0
0
0
-13
0
16
-12
0
0
0
33
0
0
2
-1
0
-9
72
0
-17
5
0
0
0
-48
0
0
1
9
0
0
-5
0
0
-8
0
0
0
2
0
0
0
14
0
0
-20
0
1
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
0
3
16
-1
-1
-45
0
0
75
0
32
0
78
0
-5
0
7
-11
0
2
1
0
0
0
-13
0
-16
1
-3
-1
0
0
13
20
0
-33
50
0
0
2
2
0
-3
-5
5
0
16
-32
0
8
19
0
0
0
21
0
-18
-17
-23
13
0
-49
0
-2
-3
0
0
0
-29
0
0
28
21
0
0
-19
0
-6
-1
3
2
0
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-11
19
-20
-23
-38
-32
-6
2
-39
-15
-16
-9
-6
10
-1
16
-17
39
-7
-38
-7
5
27
8
12
15
-11
7
-7
29
20
24
-31
-41
2
5
-53
43
17
-48
90
-58
-2
-64
35
-53
12
5
75
-4
-67
3
59
24
90
-57
0
28
38
84
43
-10
52
8
29
-14
-45
-44
-42
16
8
-25
-37
7
-12
-16
58
-3
-5
22
49
9
65
8
25
6
82
18
22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
7
0
0
0
34
0
0
0
0
0
0
13
0
0
0
0
0
0
51
0
0
0
0
0
0
-5
0
0
0
0
0
0
34
0
-3
-3
0
0
0
49
0
0
-5
0
0
0
21
0
-1
10
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
12
3
0
0
-11
0
0
0
0
-16
0
11
0
0
1
0
-3
0
65
0
0
0
0
0
0
-7
-4
0
0
0
0
4
-77
0
9
2
0
0
-1
-50
0
0
0
-1
0
5
31
0
-5
4
0
0
-6
-13
0
0
0
0
0
0
-3
0
6
1
-5
0
0
44
0
1
-5
0
1
0
52
0
-16
0
0
8
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
1
-5
43
35
-9
-17
3
1
0
2
-7
-10
0
-14
2
8
-6
10
83
3
-6
-39
0
0
5
6
-17
-13
-12
-2
41
-1
0
92
-34
19
-60
-8
0
-2
-27
-17
25
-24
74
43
0
46
5
0
25
16
6
0
-19
28
1
66
-14
32
0
2
28
-3
18
-16
0
-8
-25
1
-1
-31
-2
-4
9
1
9
0
-26
0
1
6
0
-18
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-4
-24
8
0
0
32
0
0
1
0
0
0
-1
0
2
-2
0
-7
0
33
0
0
0
0
0
0
34
0
0
-2
0
0
0
30
2
8
0
0
0
0
101
0
0
0
0
0
-1
22
-3
-1
-2
0
0
-4
77
0
0
0
5
0
0
5
0
-15
-1
0
0
0
1
0
-7
0
0
0
0
-41
0
-4
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-30
0
0
5
2
0
-5
-8
0
0
0
0
0
0
-47
0
0
0
-4
0
0
47
0
0
0
0
0
0
31
0
0
0
0
0
0
30
0
1
-5
0
0
-6
-4
0
-8
-1
4
0
0
-63
0
1
-14
0
0
0
43
0
-1
42
0
0
0
-2
0
-28
-1
0
0
0
-14
0
0
0
5
0
0
3
0
0
3
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
-4
5
0
0
-6
0
0
-1
-3
64
0
11
-7
0
0
0
0
0
4
1
0
0
0
0
0
-2
0
-7
-10
3
0
0
22
0
0
4
0
0
0
-7
0
13
4
0
0
5
-1
0
-6
-16
-6
0
0
12
0
-1
16
0
0
0
-1
0
0
0
-2
0
0
81
0
12
-5
3
-7
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
10
16
-3
47
-20
-5
44
13
25
37
-41
5
-3
-16
1
-4
-7
-69
-23
-4
42
-29
0
17
-1
44
-2
-11
-25
27
-5
19
29
26
5
-31
-18
5
-8
74
10
21
8
99
-2
33
-15
-23
24
55
32
-11
41
45
0
23
-16
46
90
0
-27
-31
-6
53
-35
36
47
-19
18
-4
-47
64
9
-53
-2
47
-54
43
27
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-30
0
0
0
0
-4
0
14
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
-4
0
0
0
0
15
0
0
0
0
0
0
17
0
0
-3
0
0
0
10
0
-1
0
0
0
0
-2
0
0
0
0
0
0
41
0
1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
-1
0
0
0
6
0
0
4
0
4
0
69
2
0
0
0
0
0
24
0
0
1
0
0
0
-65
0
-8
-1
4
0
-1
49
0
0
-3
-4
0
3
-39
0
2
6
0
0
0
-6
0
0
4
-6
3
0
35
0
-1
-2
7
0
1
16
0
0
3
0
0
0
49
0
17
0
0
0
0
33
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
22
0
2
1
20
-18
2
-32
0
-3
0
-23
53
0
33
-15
0
0
1
2
0
-4
48
-3
1
-1
0
-10
-82
-1
63
18
0
0
-28
89
0
22
-4
-22
0
25
-32
-3
-21
59
0
1
-17
28
6
31
-13
5
0
-4
-38
-3
-20
18
-2
0
1
123
0
-8
58
4
-4
0
32
0
-63
1
1
9
0
23
22
-17
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
7
0
0
-15
0
21
-5
36
2
-4
24
0
50
0
14
3
4
0
0
-2
0
84
5
0
-2
0
0
5
11
-1
-4
19
0
0
-7
56
0
3
-13
0
-1
49
-43
0
57
29
0
0
31
27
0
1
4
1
0
14
45
0
126
90
0
0
2
69
0
0
41
0
-3
0
-7
0
-4
4
0
76
0
-46
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
43
0
0
-8
0
0
0
-19
0
0
-4
7
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
73
0
-5
2
0
0
-1
96
0
0
-10
0
0
12
13
0
-19
6
0
0
6
-17
0
1
-6
0
0
4
102
0
7
6
0
0
0
-12
0
2
0
0
0
0
31
0
-14
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
1
-20
0
20
6
0
0
0
0
0
14
0
0
0
0
0
1
56
0
14
-4
0
0
2
11
0
0
-4
-7
0
0
35
0
0
-12
0
0
0
-22
0
0
-10
5
0
0
-100
0
104
0
0
0
0
51
0
-7
-3
6
0
0
-41
0
-32
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-39
-25
-66
-82
0
-4
-1
3
28
8
1
-7
0
-25
12
-43
-65
-50
-39
41
-5
-24
-90
-65
43
-46
-8
4
3
54
1
-20
-6
-7
12
12
79
-4
1
94
6
22
-7
27
13
-38
-7
-73
42
1
-37
9
41
19
-20
24
0
-8
11
106
-17
3
2
-2
22
1
42
0
67
0
13
-1
-47
24
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
16
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
0
7
0
0
0
0
0
0
8
0
0
1
0
0
0
-66
0
0
12
-1
0
0
29
0
0
-4
-1
0
0
-54
0
-3
0
0
0
0
14
0
-3
0
0
0
0
8
0
-8
25
0
0
0
-84
0
0
0
0
2
0
10
0
2
0
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-15
15
0
-28
15
-1
0
4
0
0
-73
10
0
8
1
0
-5
7
0
23
-5
0
0
-1
5
0
5
2
10
0
10
17
0
-18
0
0
0
13
48
-1
6
-16
2
0
5
52
0
63
5
0
0
0
4
0
1
0
-7
0
0
15
-1
-3
0
0
-3
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
30
-1
0
0
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
1
0
0
0
-8
1
0
0
4
0
0
0
-7
0
0
0
0
0
3
100
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
15
31
0
0
-45
0
0
0
0
0
0
38
0
0
2
0
0
-4
30
0
3
6
0
0
-5
1
0
0
27
0
0
0
20
0
30
-22
0
0
0
37
0
0
15
0
0
9
-11
0
9
34
0
0
0
-30
0
0
86
6
0
0
-1
0
-14
0
0
0
0
-58
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
-27
0
0
0
0
0
0
-47
0
0
0
0
0
0
-21
0
0
-1
0
0
0
-4
0
0
0
0
0
0
28
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
0
-8
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
-41
18
-23
-4
-5
0
22
10
-5
9
-2
7
28
-13
-21
24
-16
1
-8
40
9
32
-31
45
111
23
34
17
10
13
-44
-41
-25
-9
9
-5
-91
27
15
9
-25
-8
-21
26
14
-37
68
-15
-7
12
66
-37
61
-5
21
0
5
-26
32
0
-2
0
0
-16
13
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
2
0
0
0
0
0
-2
0
0
-1
0
0
0
14
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
1
27
-9
0
0
0
0
0
-4
0
8
13
0
0
3
26
0
0
0
0
0
0
-18
0
9
0
0
0
0
61
0
0
5
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
41
0
-4
-2
0
0
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
6
0
0
-4
0
0
-45
0
0
0
0
0
0
3
2
0
-6
0
0
43
28
0
1
-5
0
0
-1
42
0
1
8
-2
0
0
-14
0
0
0
-5
0
0
6
-1
14
0
0
0
-5
89
0
1
0
0
0
0
-41
0
9
0
0
0
0
47
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
126
2
0
0
0
0
-5
-40
0
-1
46
0
0
3
-22
0
0
-5
0
0
-10
23
0
-2
0
0
0
-7
2
-4
2
1
0
0
2
-18
2
49
5
0
-8
0
81
0
2
-1
-1
0
0
14
0
17
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
31
0
0
-5
0
0
48
31
0
4
0
0
13
6
0
-10
-1
-3
0
-16
29
0
-2
37
14
0
-46
8
0
-3
-7
0
0
56
-57
0
-3
-7
62
0
1
22
0
-20
-46
0
0
3
-50
0
0
-37
-9
0
0
-5
0
-4
42
0
0
0
22
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
-2
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-9
-30
72
-28
-17
6
-29
-25
143
38
27
-75
9
37
14
-36
61
-25
14
-29
58
21
-75
-2
4
-12
47
-5
15
-2
-19
-21
-15
39
-5
-32
2
22
-27
-98
-5
32
9
-4
85
-28
-23
-24
12
-1
5
19
-2
14
47
4
0
-5
-55
-12
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
36
0
-10
2
0
0
-1
23
0
0
-8
0
0
0
25
0
3
5
0
0
1
-72
0
0
0
0
0
0
-10
0
4
0
0
0
2
-63
0
0
5
0
0
0
22
0
-7
-1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
4
0
0
0
32
0
0
0
0
0
0
6
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
0
0
0
0
0
0
37
0
0
7
0
0
0
-13
0
0
8
0
0
0
-3
0
0
8
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
-73
0
-10
0
0
0
0
77
0
0
-7
0
0
0
-40
0
12
0
0
0
0
-17
0
0
2
0
0
0
-44
0
18
0
0
0
0
-26
0
0
3
-1
0
0
14
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
0
0
0
-22
0
0
0
0
0
0
5
0
0
7
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
60
24
-33
0
-4
-11
21
33
90
84
18
8
50
6
0
40
13
50
42
39
-32
0
-17
1
51
-29
-4
-17
-22
0
1
-12
2
25
29
0
2
48
75
-7
-14
2
0
41
9
-1
45
0
-2
24
5
4
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
3
9
42
0
0
-8
-39
-9
20
-5
0
0
30
3
6
-56
-30
0
-1
0
-25
4
0
-9
3
0
4
-32
0
-1
0
0
0
0
31
0
0
5
7
-6
0
5
0
17
0
0
0
0
74
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
-5
0
0
0
8
22
0
0
-9
0
0
0
-31
0
12
1
0
0
0
-2
0
0
0
0
0
0
4
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-4
9
0
0
0
3
-43
0
-6
0
-1
0
0
-9
0
0
-4
0
0
0
-21
0
3
-12
0
0
0
13
-1
0
0
-1
0
0
25
0
-1
0
0
0
0
-57
0
34
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
4
0
0
0
-24
0
0
0
0
0
0
30
0
-4
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
4
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
0
1
-31
7
0
-2
22
0
-42
8
0
0
-1
-58
0
0
-30
0
3
4
18
0
31
-4
0
0
0
2
0
2
0
2
0
0
87
0
10
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
12
62
4
32
-33
59
-12
29
43
120
-8
12
-94
14
10
-41
12
-16
53
54
-13
2
-30
15
30
42
7
-49
0
-30
-83
29
-9
-2
6
1
7
-46
-1
3
25
-6
31
-17
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
3
-4
0
0
0
21
0
-2
4
0
0
0
-8
0
0
1
0
0
0
18
0
1
0
0
0
0
71
0
0
0
0
0
0
14
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-35
-3
-12
-28
19
0
51
-36
1
4
63
-3
0
12
14
4
0
-14
-21
2
33
6
0
32
34
-4
0
-2
-37
0
1
39
-42
3
0
-3
0
39
-5
3
-7
0
-39
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
18
-2
-5
-22
-2
-14
-12
25
0
-16
0
0
2
-3
-112
1
-9
13
32
-10
6
-66
0
6
41
2
-1
3
-33
0
1
8
2
3
0
5
0
42
1
0
-3
0
23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
9
0
0
-3
0
0
0
23
0
0
3
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
-27
0
4
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
41
0
16
25
0
0
0
-41
0
-4
-59
-1
0
0
-112
0
13
1
0
0
0
-23
0
0
-4
-3
0
0
-16
0
-8
0
0
7
0
-49
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-3
33
-32
-28
32
59
41
18
10
-30
44
4
59
142
-22
-1
5
43
18
-42
-23
9
3
-43
43
33
-84
-1
9
0
63
-6
-4
60
21
1
25
12
10
49
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
2
-5
0
0
0
18
0
-7
-7
0
0
0
-1
0
2
0
0
0
0
-5
0
0
0
0
0
0
96
0
0
0
0
0
0
46
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
20
-5
0
0
0
-16
0
0
74
-15
0
0
52
0
4
0
0
0
0
-44
0
0
4
1
0
0
-66
0
3
0
0
-6
0
54
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
22
0
4
-69
-3
6
1
10
0
9
49
-5
-6
23
59
0
-2
29
0
0
-5
-12
0
2
12
-2
-8
0
68
0
-23
10
0
0
0
-3
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
5
12
0
0
1
59
0
0
-2
0
0
0
61
0
17
-5
0
0
-3
30
0
-1
0
0
0
0
-44
0
-3
0
0
0
0
147
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
54
0
-1
14
5
-2
0
-67
0
31
-7
0
0
0
-31
0
0
-1
8
0
0
34
0
24
0
0
1
0
-26
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
28
-49
21
41
-51
34
-99
29
-3
4
18
-5
31
-8
-8
-7
16
49
16
42
15
-16
27
43
-29
-13
58
-1
-23
7
13
0
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
85
0
-2
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
-3
8
-4
0
-13
14
0
50
23
-3
0
0
-25
0
0
30
20
0
0
-1
0
4
0
12
15
5
50
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-2
-3
-28
0
0
-32
0
-46
-6
2
0
2
-27
0
6
-1
3
0
6
30
0
36
0
0
7
0
34
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
3
0
0
0
-19
0
5
0
0
0
0
28
0
0
0
0
0
0
-4
0
-5
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
0
0
-25
0
-9
0
0
0
0
9
0
-1
0
0
0
0
-50
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
-42
13
0
1
0
29
0
0
0
5
0
0
78
0
-13
0
0
-1
0
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
-6
-2
-30
72
12
2
-12
2
24
19
-13
2
26
-6
17
-1
-13
-13
0
24
6
17
-16
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
9
0
3
0
0
0
0
24
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
74
0
17
12
0
0
-3
-52
0
0
1
0
0
0
-21
0
-6
0
0
0
0
-16
-12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
83
1
-12
0
-4
-1
-2
14
0
0
0
-17
0
0
35
0
-3
8
0
29
0
84
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-20
-17
0
0
0
15
0
3
-8
0
0
0
-13
0
3
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-3
7
0
0
0
25
0
0
0
0
0
0
-28
0
-4
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-1
0
0
-92
0
17
1
0
-1
0
-45
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
24
-14
84
-2
13
-13
-14
-6
-6
-1
25
1
7
-1
-23
34
-21
-2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-80
8
2
66
-5
12
0
-46
8
24
0
0
6
-1
74
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
6
41
-2
0
-30
0
24
0
0
-2
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-2
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
23
0
12
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-5
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
0
-3
5
-2
-48
5
56
46
-3
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
0
1
0
0
0
0
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
-6
0
0
-2
0
29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
24
0
0
0
0
-48
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
18
-4
-5
-32
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
16
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
26
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
23
29
0
0
-10
0
0
0
57
0
0
-9
0
0
-3
-80
0
0
0
0
0
0
1
0
-42
0
0
0
0
-10
0
0
0
0
-3
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
0
0
0
-9
0
0
10
0
0
0
-7
0
0
13
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-48
0
0
0
0
0
0
33
0
0
0
-2
0
0
-122
0
0
0
0
0
0
0
5
0
0
0
0
0
-2
0
4
-8
0
0
0
31
0
0
3
0
0
0
10
0
0
0
0
0
0
9
0
0
1
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
-39
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
-43
1
-14
-13
-6
-21
-37
79
25
4
-16
12
3
-4
27
30
4
26
5
10
-5
-52
58
-49
-26
8
2
-15
23
-23
23
-44
26
11
5
-67
-73
-7
13
-37
31
-40
-6
-5
33
2
15
0
119
-9
-25
24
44
94
14
-6
40
57
53
-39
-1
14
-12
32
66
-5
-5
17
7
-4
23
13
28
-31
-31
6
32
2
-7
8
35
-15
-4
3
56
19
13
31
5
-4
0
97
64
2
20
6
-27
13
27
5
19
-20
19
5
-12
20
-27
4
11
9
-18
25
-18
-25
-13
68
-20
-19
-12
8
-20
9
-7
5
6
-9
-39
17
42
4
-49
0
0
0
0
0
0
0
22
7
24
-13
40
34
-18
2
-10
-23
-1
12
8
1
-22
7
11
-5
-3
8
88
-25
-7
20
9
-5
19
-21
24
-11
26
-31
48
-30
-50
-3
7
-12
1
-8
-15
46
-8
7
-14
19
-7
50
61
38
6
1
56
-39
-20
30
0
0
31
15
20
29
-26
26
13
4
-4
8
1
23
16
9
-29
-5
25
-53
16
42
2
-19
31
4
9
23
-40
0
-22
80
13
41
45
57
7
57
84
-19
-18
8
51
2
-62
-9
39
-25
-28
-50
8
-25
1
-9
-22
-17
-24
18
50
27
-49
5
25
-9
-9
-13
-12
49
-5
51
-1
7
-16
19
-15
43
-4
42
-13
-49
-3
-12
-39
20
-18
0
15
12
-14
-32
62
21
-14
58
48
38
23
-9
6
11
14
-4
-21
-4
-33
-25
-19
-76
-7
21
-15
-78
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
4
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
2
5
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
3
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
0
0
0
0
0
24
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
0
0
2
0
0
0
10
0
0
0
0
0
0
22
0
0
-6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
1
0
0
0
42
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
3
0
0
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
6
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
18
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-9
0
0
-21
0
0
0
-6
0
0
-5
0
0
0
-3
0
0
90
0
0
0
4
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
3
-10
0
0
0
0
0
-36
0
0
5
0
0
0
0
0
0
0
0
0
69
-6
0
0
-3
0
0
-6
-8
0
0
3
0
0
-13
2
0
0
20
0
0
0
5
0
-30
0
0
0
0
-12
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
54
0
0
-3
0
0
8
71
0
0
-5
0
0
-2
-27
0
0
5
0
0
0
9
0
0
-8
0
0
0
27
0
0
-7
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
10
0
0
0
0
0
-26
0
15
0
0
0
0
-29
0
0
3
0
0
0
60
0
-2
0
0
0
0
82
0
1
0
0
0
0
24
0
0
0
0
0
0
35
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
40
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
4
0
0
7
0
0
0
33
0
0
3
1
0
0
20
-1
0
-41
2
0
0
1
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
10
0
0
0
-3
0
10
1
0
0
0
0
0
50
0
0
-5
0
0
0
0
0
0
0
0
0
-11
42
0
0
5
0
0
0
-2
0
0
1
0
0
0
18
0
0
-2
0
0
0
51
0
0
-8
0
0
0
22
0
0
0
0
0
0
58
0
0
0
0
0
0
21
0
0
2
0
0
0
19
0
0
-14
0
0
0
21
0
3
43
0
0
22
-16
0
0
5
0
0
0
49
0
0
-8
0
0
1
29
0
0
10
0
0
0
23
0
0
0
0
0
0
-41
0
0
-4
0
0
0
31
0
0
0
0
0
0
1
2
0
0
0
0
0
-2
0
19
0
0
0
0
39
0
0
0
0
0
0
49
0
-1
-8
0
0
0
1
0
-1
4
-7
0
0
-14
0
1
2
1
0
0
15
0
0
0
0
0
0
30
0
-10
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
-10
0
0
4
0
0
2
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-17
0
0
2
0
0
0
-4
0
0
1
0
0
0
3
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
20
0
-6
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
-1
0
0
12
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
57
0
0
2
0
0
0
6
0
0
55
0
0
0
2
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-1
0
0
0
0
0
-10
0
0
0
0
0
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
-15
-13
0
0
94
0
0
0
3
0
0
7
0
0
7
-1
0
0
0
0
0
0
8
0
33
0
0
0
0
-11
0
0
0
0
-4
0
82
0
0
0
0
0
0
39
7
0
0
0
0
-16
28
0
16
0
0
0
0
48
0
0
0
0
0
0
83
0
0
-6
0
0
0
24
0
0
-14
0
0
0
55
0
0
-4
0
0
0
-30
0
0
-4
0
0
0
-5
0
0
0
0
1
0
26
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
18
0
8
0
0
0
0
42
0
0
0
1
0
0
-12
0
0
0
0
0
0
22
0
0
0
0
0
0
-16
0
12
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
28
16
1
31
-16
8
38
111
37
-24
92
-14
40
-9
54
54
13
32
-28
48
-4
77
21
-23
-31
17
35
-79
44
-30
-3
-76
-30
29
-13
-39
30
-6
13
2
51
0
38
4
1
2
21
-64
20
2
5
27
67
36
-54
0
35
28
-9
-30
-56
19
-5
-2
6
-48
-3
-10
3
-16
28
3
71
-5
26
33
16
14
76
-31
37
23
-22
9
-4
56
30
-25
-57
18
-25
-8
28
5
-43
-7
25
-53
-14
24
-5
-1
20
0
-10
16
-41
-5
-27
-56
-6
-4
3
59
18
-62
-60
-2
42
36
49
-40
31
24
-28
0
0
0
0
0
0
0
-13
22
20
68
-27
54
-1
7
1
13
15
5
5
-30
11
1
25
-3
-22
9
59
16
-12
49
26
-39
16
-20
37
9
50
19
-11
0
-39
10
15
10
-6
-8
55
23
-13
-11
-20
19
50
1
-3
14
-8
-20
-3
-8
-4
-23
4
8
1
-118
-10
-25
1
4
-14
-35
10
2
4
-8
6
6
3
8
-16
-48
17
21
-19
-26
45
-40
-13
-6
20
6
-6
43
3
57
-48
45
6
57
-5
17
34
22
-9
12
-41
57
-5
5
-8
-13
6
45
32
3
-29
-7
-46
-5
30
2
-22
10
6
-60
7
32
54
55
-30
43
22
-28
-28
-33
-5
-10
-13
36
-4
15
-16
-31
-48
58
53
8
-36
36
-7
-38
-1
-28
-4
61
18
-17
53
9
-45
-16
66
25
13
-38
57
-1
-3
29
-49
79
67
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
3
0
0
0
0
0
-39
0
0
0
0
0
-12
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-6
0
0
0
17
0
0
0
-2
0
0
7
1
0
0
3
-2
0
4
0
0
0
3
0
0
0
1
0
0
0
-5
0
-7
0
0
0
-2
0
0
0
0
0
0
-1
0
17
0
0
-1
0
0
0
0
0
-28
0
0
0
0
0
2
-21
0
0
-1
0
0
0
0
0
0
0
0
0
-4
48
0
0
3
0
0
0
29
0
0
2
0
0
0
-17
0
0
0
0
0
0
8
0
3
0
1
0
0
-49
0
0
0
0
0
0
66
0
0
0
0
0
0
56
2
0
0
0
0
3
31
0
0
0
0
0
-1
-2
0
0
0
0
0
0
-29
0
-5
5
0
0
1
9
0
0
-8
0
0
0
-21
0
-3
0
8
0
-2
4
0
0
6
0
0
0
5
0
0
6
0
7
0
31
0
0
0
0
0
0
10
0
0
0
0
0
2
-13
0
-1
0
0
0
0
-9
0
3
0
0
0
0
13
0
-4
7
0
0
0
-2
0
-8
4
0
0
0
-9
0
1
0
0
0
0
-13
0
0
0
0
0
0
-16
0
-2
0
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
4
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
4
0
-2
0
0
0
0
-5
0
0
0
0
0
0
0
-5
0
0
0
1
-1
0
0
0
0
1
-5
0
0
8
-3
0
0
4
0
-5
5
0
0
0
0
9
0
0
0
0
-2
0
25
0
-2
0
0
0
-3
0
0
0
0
0
-27
0
0
-1
-33
-3
0
35
0
0
0
-15
-6
0
13
-8
0
-3
22
0
0
-39
-10
0
10
13
-3
0
-46
-8
0
0
9
0
0
-18
13
0
0
1
43
-1
0
0
-18
0
0
0
0
0
-16
15
9
6
0
0
6
11
3
2
31
-3
0
0
0
0
0
0
0
0
-19
-49
0
32
14
-5
0
-8
-20
0
-1
7
28
0
47
32
2
0
19
0
0
30
-4
0
-26
-10
35
0
0
-18
0
-3
6
4
0
0
39
55
-16
0
3
0
0
19
22
5
0
9
0
3
58
4
-13
-16
-5
0
21
-25
0
15
24
0
0
94
17
0
-7
95
-2
0
24
55
0
-13
108
0
0
-24
38
0
-3
54
3
0
16
6
0
0
-4
0
0
8
-47
0
-7
0
9
0
0
36
0
0
0
0
0
0
-56
28
0
0
0
0
-4
13
3
-55
-6
0
0
-42
20
0
16
90
0
0
5
-47
0
71
13
0
0
4
-37
0
53
9
7
0
-1
-15
-8
-6
-16
0
0
2
3
0
2
-14
0
0
0
9
0
-17
0
0
0
0
68
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
7
15
-16
0
-1
-2
39
24
5
-5
-5
5
24
-1
-2
1
0
0
-4
-4
18
-2
0
0
4
-4
0
-7
0
-7
-5
0
-5
0
0
-27
0
-5
0
4
-1
-3
107
-3
1
0
0
3
-23
8
0
72
35
-4
46
2
-6
0
6
7
-8
-50
68
23
55
67
22
35
49
9
-13
0
35
0
-10
-29
34
0
3
-16
3
15
-68
-5
0
0
19
-9
0
0
-15
0
0
0
-22
-31
0
0
40
0
0
0
41
0
44
10
27
0
-1
0
13
24
0
0
11
8
0
0
0
0
0
0
0
0
-26
-21
-3
5
75
4
2
81
14
8
0
41
5
-2
-49
-18
0
8
13
0
-5
0
-24
0
-22
-3
20
0
6
-14
0
-1
1
0
12
0
4
64
24
0
0
0
0
-21
-3
0
-4
0
0
-3
-29
-9
-8
-41
2
0
-44
-11
0
7
-4
-1
0
65
-23
0
-13
-24
10
0
49
4
-6
0
92
-5
4
1
-18
-14
2
-5
-19
-3
2
-7
-10
30
12
0
4
9
-27
0
0
16
17
-12
0
-26
0
1
0
4
4
0
12
-25
-4
9
0
0
13
105
13
56
-21
5
0
-5
113
0
-1
158
5
0
13
-49
3
27
44
18
-7
-3
19
-2
-8
26
72
9
0
41
1
-88
-12
0
1
0
-42
7
-3
5
-8
-1
0
11
0
-8
-1
1
1
0
45
15
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
1
5
0
10
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-31
0
0
-2
0
0
38
0
0
0
0
0
7
22
0
0
0
0
0
0
0
0
0
8
1
27
0
0
8
-1
0
0
0
0
10
0
4
0
0
-3
4
0
0
-8
0
0
5
8
0
0
2
2
2
5
1
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
-8
0
0
0
-8
0
-1
0
5
0
0
0
0
-27
0
0
2
0
0
0
0
0
0
0
0
0
32
87
0
-9
23
2
0
-2
6
0
2
-4
0
0
2
5
0
0
6
0
0
0
18
0
58
0
-1
0
0
40
6
0
0
0
0
0
56
3
0
0
0
0
0
22
0
0
0
0
0
0
-9
0
0
12
-4
0
4
0
0
0
-52
0
0
13
-48
-1
0
-5
0
0
2
20
0
0
-1
0
1
0
-32
0
0
-2
0
2
-5
66
0
0
-2
2
-4
0
-13
0
0
0
0
0
0
17
0
0
0
0
0
0
62
0
0
0
0
0
0
2
0
3
-1
0
0
1
0
0
0
2
0
0
0
72
0
3
-2
0
0
3
5
0
0
9
4
0
0
-14
0
-1
0
0
0
0
12
0
5
-1
1
0
0
-9
0
23
0
0
2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
10
0
0
7
0
0
0
2
2
0
9
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
69
0
0
-1
0
0
22
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
-2
0
0
15
0
0
0
10
0
0
8
-1
0
0
37
0
0
2
1
0
0
0
0
0
6
0
0
0
-1
0
12
0
1
0
0
12
0
0
0
-3
0
0
0
4
-7
0
0
0
0
0
0
0
0
43
1
3
0
0
0
2
42
0
0
-1
0
0
0
0
0
0
0
0
0
2
54
0
0
1
0
0
1
-31
0
0
3
0
0
-5
28
0
0
0
0
0
0
4
0
9
0
-6
0
-1
42
0
0
0
0
0
0
49
0
-3
0
0
0
0
60
0
0
0
0
0
0
17
0
0
4
0
0
0
-11
0
0
-6
0
0
0
-15
0
3
4
0
0
-1
7
0
0
-4
0
0
0
-1
0
5
-5
-8
0
0
62
0
0
0
0
0
0
-7
0
0
2
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
2
0
0
0
0
10
0
0
-2
0
0
0
25
0
-3
0
0
0
0
-31
0
0
0
0
0
0
-6
0
3
-1
0
0
0
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
-40
1
0
5
-23
0
2
2
2
0
1
0
0
0
13
0
1
0
-1
0
0
2
0
0
0
-8
0
-1
0
0
0
-16
1
0
2
0
0
-28
0
0
0
0
2
-4
2
0
0
0
2
1
-3
0
-1
3
4
-2
51
-1
0
0
61
0
0
-10
9
0
-1
15
-6
-4
46
-1
-2
0
-1
0
-1
2
-6
0
-2
29
-3
6
-1
0
5
0
1
0
13
0
32
0
0
0
0
48
0
0
-5
0
0
-1
-2
4
-32
3
-2
-1
0
0
-2
-61
0
0
24
0
0
0
0
0
0
0
0
0
-44
-65
2
0
0
0
0
12
56
0
0
4
0
0
6
6
0
0
37
-1
0
0
-31
0
49
8
-5
0
0
13
0
0
1
0
0
0
-24
-7
8
0
0
0
0
2
0
0
0
0
0
0
-19
3
0
0
7
0
5
59
0
0
9
0
0
25
5
17
1
0
-4
0
5
13
0
0
-3
0
0
-3
50
0
0
-29
3
-3
2
-81
0
0
-2
5
1
0
-18
0
0
3
15
0
0
41
0
0
0
0
0
-3
20
1
0
0
0
0
0
75
5
21
17
0
0
-1
25
0
-2
8
2
0
2
14
-1
10
22
0
0
0
24
0
0
0
1
7
0
14
0
20
5
0
0
0
57
0
0
-7
3
0
0
38
0
-3
-4
0
0
0
-28
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
-5
0
2
-3
-5
0
-5
-2
-13
2
0
20
41
0
0
0
-1
-4
5
3
0
0
20
0
-1
0
-2
0
-6
0
0
13
0
0
5
1
0
0
0
0
2
-36
0
0
0
0
10
0
0
-2
-37
-18
0
25
-4
0
5
29
1
12
-25
26
15
-17
33
46
15
-65
46
0
0
44
4
-5
-27
-3
-1
0
-24
2
42
11
29
0
0
-44
0
0
-3
5
0
0
1
46
-7
0
1
-24
0
0
0
-4
0
22
1
55
-3
-18
0
34
15
0
0
-30
0
0
0
0
0
0
0
0
0
-31
-12
0
45
42
-8
-1
24
-30
-1
6
74
5
0
-38
-41
0
0
15
0
0
61
-8
0
20
3
17
0
3
-20
-2
-3
1
-7
25
0
26
16
-45
0
30
0
0
13
-9
0
0
25
0
33
-6
26
-9
13
-14
-13
-10
2
-10
8
17
-3
-5
88
44
5
-23
58
-17
0
70
-33
-21
7
-12
1
-10
-1
28
-3
-10
-13
-12
-19
12
-28
0
2
-7
2
-9
5
-31
0
-8
-3
-44
14
0
33
8
0
0
-8
0
0
-50
-6
1
0
-1
0
2
36
24
-42
-9
2
0
31
18
-1
13
31
32
-13
2
-16
0
7
67
-5
0
51
-29
-7
-3
-19
70
-15
33
-1
0
-29
27
5
0
14
-4
-2
-2
20
32
-1
0
1
0
-94
-8
-4
-14
0
54
0
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-1
0
-8
0
0
0
0
1
17
2
0
1
17
17
0
0
0
0
12
0
0
0
0
1
0
-3
0
0
0
50
0
0
-13
0
0
-31
0
0
0
-3
0
-17
0
0
0
0
0
13
-1
6
0
-6
0
0
-2
0
0
0
5
0
0
24
-5
0
-1
-25
0
0
-20
-5
0
0
-44
0
24
-8
-2
0
17
21
0
0
-1
0
0
0
0
0
-5
-2
5
0
0
0
0
-28
0
14
3
0
0
2
-13
0
5
-14
-3
0
0
0
0
-67
0
0
21
0
0
0
0
0
0
0
0
0
69
50
0
0
19
0
2
16
23
0
0
34
0
-8
-1
36
0
0
9
0
0
1
28
0
26
6
0
0
0
-47
0
0
0
0
-2
0
-23
-13
8
0
0
0
1
-14
-2
0
0
0
0
0
18
5
-5
7
0
2
-32
-21
0
-3
-17
0
0
-17
-6
0
0
70
0
0
6
28
6
0
71
0
-3
2
-58
0
25
-27
0
0
33
14
0
-4
0
0
4
-2
9
0
0
-9
0
24
0
-14
-6
0
0
0
0
0
-17
5
0
0
0
0
2
94
0
-15
1
0
-2
2
-61
0
0
34
0
0
2
-67
0
27
9
3
0
5
26
-5
21
-17
0
-3
0
30
0
7
4
0
0
0
-15
0
3
0
0
0
0
42
0
25
-1
0
3
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
-25
0
0
0
0
0
-51
0
0
0
0
0
0
2
0
0
0
0
6
-3
0
0
-5
1
0
74
0
0
0
16
0
0
83
0
0
0
-9
-3
0
-21
0
0
-6
-2
0
0
-2
51
0
4
1
0
0
-6
0
0
0
4
0
0
0
-2
0
0
0
0
-5
0
0
-1
0
0
0
0
0
10
0
1
0
0
0
6
-19
-2
0
-5
0
0
0
0
0
0
0
0
0
9
-21
0
2
78
0
0
45
-34
0
0
-5
-1
0
2
61
0
3
-13
0
0
29
29
0
-44
0
0
0
0
29
0
0
1
0
0
0
-20
-10
19
0
0
0
0
-16
0
0
0
0
0
-3
31
-1
2
-2
0
0
67
18
0
0
-86
0
0
-3
29
0
-3
73
0
0
-3
14
0
0
9
9
0
-16
-25
0
13
-1
0
0
-10
24
0
0
0
0
0
0
-24
0
0
0
0
0
0
-71
0
0
0
0
0
0
49
0
0
0
0
0
0
14
0
7
5
0
0
-10
-72
0
-7
-5
-4
0
-4
59
0
-10
19
8
0
-5
28
0
0
13
0
0
1
-28
0
0
0
0
0
9
-25
0
0
0
0
0
0
91
0
-1
-2
0
-1
0
20
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
58
41
30
-36
22
-3
29
-22
-37
0
8
-3
-21
-22
-15
1
-8
21
52
-16
-7
-4
-5
7
3
0
106
0
4
-12
0
12
5
0
0
33
-25
0
9
-4
-15
-3
35
45
-22
-5
-26
62
-43
16
-1
-23
-7
2
-6
14
-26
-30
14
35
-41
-14
-1
-34
59
-13
-4
-25
3
2
-39
-2
41
16
54
5
14
-102
0
-1
-50
-7
16
18
13
0
0
45
-22
35
0
2
-23
0
4
27
-6
0
45
-54
-13
22
0
0
33
-1
9
-4
7
7
2
0
0
0
0
0
0
0
9
19
-26
40
7
2
-42
44
18
17
-34
23
-30
5
30
9
-7
-22
22
-25
-39
-34
-1
0
10
-35
-3
-13
7
2
-1
1
-4
37
-39
0
10
-34
48
0
0
0
0
-1
-1
1
5
4
0
96
3
10
60
3
-5
49
-35
40
23
29
19
13
-7
24
33
1
-48
16
76
41
55
-31
18
33
22
17
-5
17
1
8
-35
30
-15
-49
65
-1
6
-1
18
15
29
23
-49
-5
-5
-14
17
32
0
-6
-19
-1
3
52
36
7
-7
23
7
-5
12
-1
6
-12
-11
-59
-12
5
-24
-5
-46
31
13
-32
33
-5
-54
-2
-34
25
28
6
8
-9
-22
9
22
32
-12
-48
70
11
0
40
48
-5
22
-27
-16
5
-1
-34
-16
-43
-2
-38
4
-5
-16
20
44
0
-73
4
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
8
0
0
0
0
0
-73
0
0
0
0
0
-2
19
0
0
0
0
6
-1
0
0
5
-9
0
-38
-1
0
0
45
2
0
74
0
0
0
17
0
-4
-35
3
0
0
-2
0
0
0
14
0
0
0
0
0
-1
13
0
0
0
0
6
1
1
0
0
0
0
-2
0
0
2
0
0
0
0
0
-13
-13
8
0
0
0
0
19
0
0
23
0
0
0
0
0
0
0
0
0
63
0
0
4
-16
0
-1
0
62
0
0
-15
0
0
5
-13
0
0
-4
0
0
0
8
0
20
5
1
0
0
-27
0
0
0
0
1
0
86
-3
0
0
1
0
0
7
0
0
0
0
0
0
20
-1
4
0
0
0
17
27
0
0
-44
0
0
23
0
1
0
137
0
0
4
21
0
0
49
1
0
0
31
0
0
0
0
0
1
-14
0
-2
0
0
0
-2
43
0
0
1
4
0
0
35
1
0
0
0
0
0
-20
-5
0
0
0
0
0
-3
0
2
0
0
0
0
30
0
0
-5
4
0
30
0
0
70
31
0
0
0
14
0
0
-3
0
0
1
16
0
-10
7
0
0
0
34
0
1
-2
5
0
0
-9
0
-1
0
0
0
0
-24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
68
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-12
0
3
32
0
0
0
2
0
0
-3
-10
0
0
0
0
0
-6
0
0
0
1
0
0
-2
-6
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
20
0
0
0
0
0
0
47
0
0
-2
0
0
0
0
0
0
0
0
0
-24
-58
0
0
19
0
0
2
19
0
0
0
0
0
-5
2
0
0
4
0
0
0
15
0
4
0
0
0
0
-23
0
0
0
0
1
0
-5
0
0
0
0
0
0
-16
0
0
0
0
0
0
27
0
-4
3
0
0
0
48
0
0
8
0
0
-2
28
0
-1
7
0
0
2
83
0
0
6
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
58
0
0
0
0
0
0
43
3
0
0
0
0
0
1
0
-3
0
0
0
0
-14
0
0
3
0
0
0
42
0
0
0
0
0
0
-25
0
8
-1
0
0
0
0
0
-8
0
0
0
0
13
0
0
0
0
0
0
14
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
19
0
0
24
0
0
-54
0
0
0
0
0
0
-3
0
0
0
0
4
-3
0
0
0
8
0
-43
0
0
0
0
0
0
-31
6
0
0
0
0
0
23
-5
0
0
-1
0
0
4
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
9
0
0
-3
0
0
0
0
0
-58
0
-4
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
4
29
0
0
-2
0
0
8
22
0
4
-24
0
0
2
-29
0
0
-1
0
0
0
6
0
-4
0
0
0
0
58
0
0
0
0
0
0
-17
0
0
0
0
0
0
46
0
0
0
0
0
0
-45
0
0
1
0
0
-3
10
0
0
-1
0
0
0
-39
0
0
17
0
0
-6
26
0
0
6
0
0
0
7
0
4
0
0
0
0
-11
0
0
-5
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
21
0
-1
0
0
0
0
-4
0
0
-2
0
0
0
1
0
0
-7
0
0
0
2
0
0
0
0
0
0
24
0
8
0
0
0
0
10
0
0
0
0
0
0
58
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
9
-6
0
14
-5
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-27
0
0
-16
0
0
-47
0
0
0
0
0
0
31
0
0
0
0
0
-1
0
2
17
-4
-1
-7
0
0
6
76
6
0
133
8
0
-8
8
-3
-7
56
17
1
0
22
0
-1
9
-5
0
1
0
0
0
3
1
0
0
3
0
-1
0
4
0
0
0
-2
-21
0
0
-32
0
0
0
-1
0
24
8
-5
0
0
0
0
-10
0
0
24
0
0
0
0
0
0
0
0
0
-33
60
-1
0
0
0
7
41
33
-2
0
-66
51
0
-1
1
0
0
5
0
0
5
-14
0
-53
0
-2
0
19
-2
0
0
-2
0
0
0
89
1
0
0
1
0
0
-43
1
0
0
0
0
-1
-19
12
1
0
0
0
-2
-16
0
2
9
0
0
-32
7
0
0
32
0
3
2
13
0
0
-19
-4
0
-2
-17
8
0
9
-2
0
1
-100
0
0
-1
0
5
0
-42
0
0
0
-13
0
0
-52
0
0
0
-6
0
0
43
0
3
0
0
0
0
20
1
18
0
0
0
0
-17
8
-20
0
0
0
-3
-45
-3
8
5
-3
0
1
8
0
-3
0
0
0
-3
-37
0
24
0
0
-3
-3
34
0
0
-1
6
0
0
-28
0
9
0
0
0
0
-19
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-8
0
0
70
0
0
0
0
0
0
5
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
25
0
0
-2
-8
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
35
0
0
0
0
0
0
0
0
26
-1
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
0
6
1
0
0
-1
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
14
0
0
0
0
8
0
0
0
0
-4
0
31
0
0
0
0
0
0
-22
0
0
0
0
0
0
25
0
-6
0
2
0
0
-22
0
0
-1
0
0
0
-27
0
0
8
0
0
1
-5
0
0
1
0
0
0
64
0
0
0
0
8
5
-18
0
0
0
0
0
0
-5
0
0
0
0
-1
0
14
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
2
0
0
0
6
42
0
0
0
0
0
0
7
0
0
0
0
0
2
1
0
0
-1
0
0
0
8
0
-3
0
0
0
0
14
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
12
0
0
0
0
0
-5
0
0
0
0
0
-1
-4
0
0
0
0
-8
0
0
0
1
6
0
-28
1
0
0
48
0
0
-25
0
-1
0
-1
0
0
-68
0
0
1
-2
0
0
12
-3
0
-1
0
-1
0
-2
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
9
0
0
0
0
0
-48
3
3
0
0
0
0
35
0
0
-28
0
0
0
0
0
0
0
0
0
6
-25
0
0
17
0
0
-7
41
0
0
25
-5
0
2
-9
0
4
18
0
0
0
-5
0
17
5
0
0
0
22
0
0
2
0
0
0
-40
5
0
0
0
0
0
-9
0
0
0
0
0
4
32
0
0
-6
-1
0
5
58
0
0
95
0
0
24
28
0
3
-77
0
0
-15
67
0
0
8
-1
0
0
85
0
-5
-5
0
0
4
-6
0
0
2
0
0
0
10
0
5
0
13
0
0
13
0
0
0
0
0
0
71
-4
0
0
0
0
0
-56
0
42
-8
0
0
-12
-51
0
3
21
0
0
2
-61
0
-5
15
0
0
1
-44
0
1
-4
3
0
-4
9
0
6
-1
0
0
0
1
0
0
1
0
0
0
62
0
28
0
0
0
0
33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
12
0
0
0
3
7
-13
0
0
0
2
0
0
0
-31
0
0
-1
0
0
35
0
0
0
0
0
30
4
0
-8
0
0
12
4
0
0
67
5
0
8
4
0
-5
41
0
0
-23
-3
0
0
14
8
-2
-59
68
-1
0
25
0
2
9
8
0
-2
5
15
0
4
35
-14
0
-5
0
-5
0
-3
0
0
0
-3
-67
0
-3
8
0
0
0
3
0
42
-1
-6
3
-1
0
-4
15
-5
3
-48
0
0
0
0
0
0
0
0
0
76
-47
0
-4
-40
1
0
45
-10
-1
0
37
4
-1
66
-26
0
0
-2
2
0
2
-28
0
15
0
-4
0
0
-91
0
0
3
0
2
0
7
0
3
0
0
0
0
7
5
0
0
0
0
-3
0
17
-2
-2
1
8
6
18
-3
-1
16
0
-1
39
-17
0
41
12
-3
0
42
-37
0
-3
18
5
0
5
-20
0
-4
10
-6
-4
0
0
0
0
-1
0
2
0
-9
2
0
1
0
24
0
7
1
-1
-1
0
0
0
-56
0
0
-4
0
0
0
-16
8
5
4
0
-4
0
-49
0
-20
15
6
-5
-1
105
0
5
5
-1
0
-12
116
0
13
27
6
0
-4
36
0
5
1
0
0
1
3
0
1
-3
-9
-1
0
-62
0
8
0
0
14
0
45
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
0
0
0
-1
0
0
-1
-3
0
0
0
0
0
0
0
-52
0
0
0
0
0
-31
0
0
0
0
0
0
-9
0
0
0
0
-6
1
0
-3
24
0
0
8
-2
0
-2
-37
0
0
14
8
0
15
17
-14
5
0
0
1
-3
41
5
-4
-14
13
0
-1
39
17
1
3
22
5
0
-1
0
0
-1
12
0
0
0
0
-6
0
0
-2
0
0
0
1
0
53
8
2
0
0
0
9
51
0
0
21
0
0
0
0
0
0
0
0
0
30
30
0
3
-15
0
0
-8
0
-1
-6
-11
-10
0
6
-5
0
-2
-13
0
2
3
5
-2
59
2
-2
0
0
7
0
0
0
0
0
0
1
0
7
0
0
0
0
-36
6
0
0
0
0
4
-33
5
0
0
-1
0
-5
-27
0
0
-16
0
0
7
78
0
14
7
-1
0
7
0
0
0
-57
-3
0
4
46
0
6
2
-5
0
0
3
0
0
-1
0
0
0
-6
0
0
0
3
1
0
0
0
0
0
0
0
0
4
-4
0
4
-3
0
0
5
0
-6
-3
0
-1
-2
53
0
-5
34
0
0
0
18
0
-8
-7
0
0
0
0
0
22
16
-10
0
0
40
0
0
-4
0
0
0
-47
0
2
-1
-4
0
0
18
0
12
1
0
0
0
-27
0
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
9
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
-23
0
0
0
0
1
-2
8
0
0
0
0
0
0
0
0
1
0
0
-27
0
0
0
59
0
0
-1
2
0
0
23
-27
0
-29
-1
0
3
1
0
-5
0
-2
0
0
0
8
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
10
0
0
0
-19
0
47
4
2
-1
0
0
8
-19
0
-4
13
0
0
0
0
0
0
0
0
0
41
-45
0
0
-3
0
0
25
9
0
-3
0
-6
0
-18
49
0
0
-8
0
0
0
-10
0
-13
0
0
0
0
-20
0
0
0
0
-6
0
-4
-1
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
7
0
0
-6
34
0
0
-9
0
0
2
1
0
0
-3
0
0
0
-6
0
0
46
0
0
0
-52
0
0
7
10
0
0
43
0
0
0
0
0
0
-5
0
0
-7
-3
0
0
44
0
5
0
0
0
0
-14
-6
-6
0
0
0
2
4
0
3
0
0
0
0
-35
0
-3
13
0
0
-1
25
0
1
0
0
0
0
-70
0
0
0
0
0
0
-2
0
6
-8
0
0
0
-1
0
10
-5
0
0
0
-23
0
-1
0
0
2
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
10
1
0
3
0
37
0
0
-3
0
0
-11
0
0
0
0
0
0
-8
0
0
0
0
6
1
0
0
0
0
0
-32
1
0
0
-25
0
0
-5
0
0
0
18
0
0
0
2
0
0
-3
0
0
0
1
0
0
0
0
0
-4
1
0
0
0
0
0
0
-2
0
0
0
0
9
0
0
-1
0
0
0
0
0
20
-2
-5
0
0
0
25
-43
0
0
-1
0
0
0
0
0
0
0
0
0
-43
-33
0
0
-19
0
0
0
-9
0
0
7
5
0
-1
5
0
0
-2
0
0
0
-20
0
-15
0
0
0
0
-30
0
0
0
0
7
0
-4
0
0
0
0
0
0
-41
0
0
0
0
0
1
42
1
-2
1
0
0
0
-41
0
0
0
0
0
0
-11
0
0
-3
0
0
0
-3
0
0
0
0
0
0
10
0
0
-3
-5
0
0
47
0
0
-2
0
0
0
50
0
0
0
2
0
0
-4
1
0
0
0
0
0
27
0
0
0
1
0
0
-13
0
2
0
0
0
0
17
2
8
0
-1
0
0
5
0
0
0
0
0
0
-12
0
0
0
-1
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
26
0
0
0
0
0
10
2
5
0
0
0
-2
4
0
5
-7
-1
0
-18
1
0
0
75
0
0
4
0
0
0
-17
47
0
10
1
0
-6
14
0
3
0
-25
0
0
-12
0
0
3
4
0
0
0
0
-1
0
-6
0
0
0
2
0
0
0
0
0
0
0
-2
0
17
22
5
0
1
0
9
94
0
0
1
0
0
0
0
0
0
0
0
0
-19
-4
-4
1
8
-1
0
4
67
0
0
8
0
0
3
0
0
0
0
0
0
0
5
0
1
2
0
0
0
2
0
0
0
0
0
0
31
1
0
0
0
0
0
-27
0
0
0
0
0
1
41
0
3
0
0
-10
-3
-61
0
0
2
0
0
31
20
0
2
61
20
0
61
-43
0
-1
-6
0
0
0
-10
-8
0
0
-2
0
-1
5
0
4
3
0
0
0
44
0
5
0
0
-1
0
55
0
0
0
0
0
0
-56
0
-6
0
0
0
5
-27
0
-2
3
0
0
0
41
0
0
1
-1
0
4
8
0
-1
-5
0
0
0
3
0
0
0
0
0
3
-54
0
46
13
1
0
0
39
0
0
0
-3
0
0
-46
0
-7
0
0
0
0
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
-2
0
2
0
0
0
0
0
3
0
0
4
0
0
-21
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
3
0
6
-98
0
0
0
-19
0
0
42
3
0
0
6
0
0
6
0
0
0
3
0
3
7
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-53
0
0
8
0
0
0
-1
0
12
0
0
0
0
0
2
-68
0
0
-24
0
0
0
0
0
0
0
0
0
19
-45
0
0
23
0
0
90
6
0
0
-19
0
0
-8
75
0
0
18
0
0
-1
8
0
0
0
0
0
0
-11
0
0
0
0
8
0
51
-9
7
0
0
0
0
23
0
0
0
0
0
0
-61
0
0
-3
0
0
4
-45
0
0
-17
0
0
19
72
0
0
-8
0
0
8
22
0
0
5
0
0
30
-27
0
0
29
0
0
0
44
0
0
17
0
0
0
-25
0
0
0
0
-2
0
-27
0
-1
0
0
0
0
17
0
0
0
0
0
-7
18
0
-16
0
0
0
0
40
0
0
5
0
0
0
13
0
1
2
0
0
0
67
0
0
-3
0
0
0
57
0
-5
2
0
0
0
4
0
0
0
0
0
0
26
0
-2
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
1
2
0
0
0
0
0
0
0
-1
0
0
0
0
-8
0
0
1
0
0
-15
0
0
0
0
0
-10
-7
0
0
0
0
-8
3
0
0
4
-1
0
-36
0
0
1
2
0
0
44
21
0
12
-33
-8
0
-40
4
0
0
-9
0
0
-50
48
0
0
-8
12
0
43
0
0
0
4
0
0
9
-1
0
0
0
23
3
0
0
-4
0
0
0
0
0
-32
-2
1
-1
0
0
0
-25
0
0
-42
0
0
0
0
0
0
0
0
0
52
73
0
4
31
0
0
7
10
0
-3
-39
5
0
-20
78
0
0
77
0
0
0
20
0
39
-50
42
0
3
-22
0
0
0
0
0
0
-20
21
1
0
-8
0
0
26
-5
0
0
0
0
14
65
0
17
-43
0
0
6
-19
0
1
-3
0
0
9
58
0
-17
58
3
0
67
-29
0
0
-64
0
0
9
-15
0
0
47
25
0
-2
13
0
0
6
0
0
0
7
0
-2
1
-13
0
0
5
0
0
0
-1
0
0
-28
27
0
0
0
0
1
52
0
-7
-10
-5
0
1
19
6
-39
-46
-2
0
10
14
0
-16
90
0
0
-1
3
0
0
-5
-8
0
0
-7
0
-6
14
0
0
-6
66
0
0
8
8
0
0
55
0
23
0
0
0
0
-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
3
18
-1
0
12
8
0
0
-1
0
-8
-7
0
0
0
0
6
0
0
0
0
0
-3
8
9
0
0
0
45
-10
1
1
4
-59
43
0
4
8
0
-21
1
-1
41
1
0
0
43
6
19
-61
41
0
5
46
-5
42
15
21
-1
0
31
1
-12
0
8
9
0
-17
0
8
0
14
0
0
-1
6
24
0
3
-16
0
0
0
3
3
-15
-9
-12
0
6
0
-19
8
0
1
63
0
0
0
0
0
0
0
0
0
-9
-15
3
-2
58
5
0
3
-5
0
16
9
-8
2
2
-51
0
-1
5
-3
0
0
-17
-8
-39
-14
-53
-6
0
22
0
-2
-2
0
18
0
-3
-6
0
0
0
0
0
-32
2
0
-2
2
0
4
9
27
-4
95
-4
0
15
-18
-2
0
41
0
-8
-7
2
-5
-37
31
-5
1
-5
-29
4
-3
-20
10
-3
2
0
-4
-9
1
34
0
-1
12
4
0
-7
0
13
0
-40
2
-8
-3
2
-16
0
20
-2
0
0
-3
0
0
-64
12
1
0
14
0
0
-50
-8
-63
-5
3
-4
-8
-26
4
33
5
0
0
33
11
-4
-87
-8
-33
0
1
37
0
-2
63
47
-2
0
-25
0
-25
-7
0
-2
0
-61
0
3
7
2
0
0
-28
0
58
-5
-6
2
0
29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
-41
-2
0
0
0
0
12
0
0
0
0
0
1
14
0
0
0
0
0
0
-1
0
23
0
4
3
-3
0
0
-13
2
0
-44
0
0
0
52
7
0
-14
-8
-1
0
32
0
0
3
0
0
0
14
0
5
8
0
0
0
-4
3
0
0
-13
0
0
0
2
-3
0
0
-2
0
0
0
0
0
0
-2
-6
0
0
0
-7
9
-4
0
12
0
0
0
0
0
0
0
0
0
21
2
0
3
-30
0
0
5
-92
0
-1
-4
12
0
9
0
0
0
51
0
0
0
-3
0
7
3
1
0
0
14
0
0
0
1
3
0
42
5
0
0
-1
0
0
-21
0
0
0
0
0
0
-114
0
-3
-5
0
0
0
50
0
0
7
0
0
2
-20
0
0
-10
0
0
4
-16
4
0
-28
-4
0
2
0
0
0
17
13
0
0
-8
0
0
1
0
0
0
-2
0
0
2
0
0
0
30
0
0
0
4
0
0
-4
5
5
0
0
0
-5
-16
0
-10
0
0
0
0
83
0
3
-4
1
0
-1
34
0
13
5
0
0
-2
5
-9
-9
4
-8
0
0
0
0
-13
9
-3
0
0
66
0
0
13
0
0
0
-27
0
4
0
0
0
0
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
10
0
0
0
0
0
28
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
0
0
29
0
0
0
13
0
0
-1
0
0
0
-4
0
0
7
-2
0
0
-5
0
0
7
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
51
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
27
0
0
-1
0
0
0
0
0
0
0
0
0
26
-45
0
0
10
0
0
-8
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
5
0
13
0
0
0
0
-47
0
0
0
0
0
0
-65
0
0
0
0
0
0
10
0
0
0
0
0
-1
-10
0
0
0
0
0
0
67
0
0
4
0
0
0
-48
0
0
-4
0
0
0
-67
0
0
0
0
0
0
-3
0
0
-1
5
0
0
-50
0
0
0
0
0
0
-5
0
0
0
7
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
6
0
0
0
-13
0
2
2
0
0
0
-27
0
18
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
55
0
1
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
3
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-20
0
0
-1
0
0
0
0
0
0
27
0
-1
0
3
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
20
0
0
6
0
0
0
1
0
40
1
0
0
0
0
0
-19
0
0
1
0
0
0
0
0
0
0
0
0
-14
53
0
0
-3
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
23
2
0
0
0
19
0
0
0
0
0
0
9
0
0
0
0
0
0
-33
0
0
-2
0
0
0
-5
-1
0
-3
0
0
0
75
0
1
0
0
0
0
31
0
0
0
0
0
-3
41
0
0
-2
0
0
0
16
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
66
0
0
0
0
0
0
-8
0
0
0
0
0
0
12
0
2
0
0
0
0
-8
0
0
12
0
0
-1
-25
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-91
0
0
0
0
0
-8
1
0
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-7
0
0
0
8
0
0
3
0
0
0
-2
0
0
0
-3
0
0
4
-3
2
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
1
0
0
0
0
0
57
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
5
9
0
0
0
0
0
0
13
0
0
2
0
0
8
71
0
0
0
0
0
0
1
0
1
0
0
0
0
-29
0
0
0
0
0
0
12
-1
1
0
0
0
0
11
0
0
0
0
0
0
-20
0
0
1
0
0
-1
-23
0
-1
-6
0
0
0
-5
0
0
-13
7
0
0
30
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
2
0
0
0
7
0
0
0
0
0
0
65
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
-1
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
-2
2
0
0
-1
0
0
2
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-46
0
0
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
-8
0
0
0
17
0
0
0
0
0
0
17
0
0
0
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
-8
0
-6
0
0
0
0
0
0
5
0
0
0
0
16
0
1
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
-3
0
0
0
0
33
0
0
0
0
0
-42
0
0
0
0
0
-5
0
8
0
0
0
23
14
0
-6
-13
0
0
-31
0
0
0
-27
0
0
-31
-18
6
-1
2
-7
0
-8
-3
0
14
38
0
0
-4
3
0
0
0
-1
0
58
-10
1
-2
6
0
0
0
7
0
0
2
-1
0
0
0
2
0
7
0
0
0
42
-15
13
1
0
0
-1
60
0
0
42
0
0
0
0
0
0
0
0
0
56
8
-1
0
26
0
0
6
26
0
0
1
1
0
13
-20
0
0
16
-4
0
-13
-2
0
3
-3
-8
0
-3
30
0
0
0
0
0
0
-6
37
-1
0
5
0
0
6
-5
0
0
0
0
-9
49
0
0
12
0
0
18
0
0
0
72
0
0
25
13
16
1
37
4
0
27
29
0
-1
37
0
0
12
-1
0
-3
-33
-1
0
7
-87
0
0
14
0
0
0
14
0
0
-1
25
0
0
5
1
0
0
0
0
0
-15
6
0
0
0
0
1
-53
2
20
-31
0
0
4
37
0
1
-63
0
0
8
64
0
49
38
6
0
1
74
0
8
1
-4
0
2
-49
0
1
0
0
0
8
-37
0
7
0
0
0
0
52
0
-3
-2
0
0
0
11
-6
-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
1
0
-60
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
17
0
5
-23
4
0
0
-8
0
0
27
-6
0
-1
-17
4
1
-3
6
0
0
0
0
-1
-10
0
0
0
0
-1
0
0
1
0
0
3
0
2
0
39
0
0
0
0
12
0
0
1
0
0
0
0
0
-15
0
-3
0
0
0
-1
-31
-3
0
16
0
0
0
0
0
0
0
0
0
6
-19
2
0
16
7
0
0
23
0
0
3
2
0
-1
4
0
0
-3
0
0
0
33
0
-2
-9
-7
0
0
-61
0
0
0
0
0
0
30
-2
0
0
0
0
0
66
0
0
0
0
0
0
-2
0
0
13
0
0
-2
38
0
0
-9
0
0
0
-23
0
-1
-1
0
-1
1
17
0
0
-5
10
0
-1
51
0
0
-2
0
0
0
23
0
0
0
0
8
0
13
0
0
0
3
0
0
-47
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
0
-7
0
0
0
0
-15
0
0
9
-4
0
0
9
0
-10
0
0
0
0
-7
0
3
0
-2
0
0
9
0
1
2
0
0
0
8
0
-4
0
0
0
0
3
0
19
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
76
0
0
0
0
0
-97
0
0
0
0
0
3
18
-3
0
0
0
1
6
0
0
8
-2
0
-53
0
0
0
38
0
0
68
-15
-1
0
19
7
0
78
10
0
1
-5
0
0
19
-5
0
0
-2
9
8
32
0
3
0
19
0
0
0
0
0
0
-2
1
0
0
0
-5
0
0
0
0
0
64
0
-1
0
0
0
-9
-1
-4
0
2
0
0
0
0
0
0
0
0
0
-27
59
5
2
-53
1
0
17
30
-3
1
-16
-8
0
-27
44
0
0
58
0
0
20
0
0
5
3
-4
0
-14
-81
0
0
0
0
0
0
27
23
-10
0
0
0
0
22
0
0
0
0
0
-1
52
-3
3
6
1
0
-1
-25
0
0
8
0
0
-10
22
0
-1
-8
-33
0
-2
-2
-1
0
-34
0
0
0
3
0
2
7
0
0
-17
0
0
1
-5
0
0
0
-43
0
0
0
3
-1
0
-11
0
0
0
0
0
0
-26
0
0
-6
0
0
-13
-34
0
0
-6
0
0
-4
-41
0
0
1
-4
0
0
7
0
-3
-19
0
0
0
-45
0
-1
0
-1
0
0
24
0
3
0
0
0
0
0
0
0
-7
1
0
0
-28
0
-16
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
1
-8
0
0
0
0
0
5
0
0
0
5
0
0
10
0
0
-8
2
-5
0
6
0
0
0
-1
0
0
2
0
0
0
0
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-72
2
2
0
0
0
4
77
0
0
0
0
0
0
0
0
0
0
0
0
45
1
0
0
10
0
0
2
-12
0
0
22
0
0
0
3
0
0
-2
0
0
0
-8
0
-6
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
-66
0
-6
0
0
0
2
-33
0
0
-18
0
0
0
-35
0
0
-2
0
0
-1
4
0
0
32
0
0
0
-45
0
-1
0
0
0
0
-7
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
9
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
-2
0
0
0
2
0
0
2
-1
0
0
5
0
10
0
0
0
0
1
0
-1
0
0
0
0
9
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
-2
0
0
0
8
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
0
0
0
0
-41
0
0
0
0
0
9
-76
0
0
2
0
0
0
0
0
0
0
0
0
13
1
0
0
4
0
0
0
4
0
0
0
0
0
0
3
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-76
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
6
0
0
-1
-35
0
0
5
0
0
-1
54
0
0
0
0
0
0
-50
0
0
0
0
0
0
10
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-13
0
0
-36
1
0
-1
37
0
0
5
1
0
0
-8
-1
0
7
0
0
0
39
0
-3
-2
0
0
0
1
0
0
-13
0
0
0
0
-1
-3
0
-6
0
0
-1
-6
-13
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
-1
-5
0
0
2
0
0
0
0
0
0
0
0
0
-9
8
2
1
15
0
0
13
50
0
0
0
0
0
5
-50
0
0
0
0
0
0
7
0
53
-1
0
0
0
-5
0
-2
0
0
0
0
-26
0
-1
0
0
0
0
7
0
0
0
0
0
2
-32
0
0
3
0
-5
37
-13
0
0
5
0
0
15
11
0
0
-16
-2
0
0
-41
0
0
-1
0
0
-3
49
4
0
-3
8
0
-3
-49
0
0
0
0
-1
0
-46
0
0
0
1
-3
0
40
0
0
0
8
0
0
5
-8
0
0
7
0
-1
2
0
-1
2
0
0
-4
1
0
0
2
0
0
6
4
0
15
0
0
0
4
12
0
0
0
0
0
0
52
0
-2
-5
0
0
0
8
0
0
1
0
0
0
-5
0
2
-2
-7
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
-1
0
0
0
0
2
0
-3
0
2
0
1
2
10
0
0
-2
0
0
5
0
0
0
29
0
0
-5
12
0
0
0
0
0
7
-2
0
0
-1
0
16
0
0
0
0
0
0
-1
26
0
0
0
3
0
1
0
0
0
0
-1
0
4
0
0
9
0
0
0
0
0
21
0
0
0
0
0
-1
1
0
0
-2
0
0
0
0
0
0
0
0
0
22
-63
0
0
31
0
0
0
8
0
0
0
0
0
-2
-31
0
0
14
0
0
-3
-13
0
-17
5
0
0
-1
23
0
0
1
0
0
0
-33
0
0
0
0
0
0
-16
0
0
1
0
0
0
20
0
0
-5
0
-1
-9
-64
0
0
16
0
-3
7
3
0
0
-33
0
-2
-1
15
0
0
6
0
-14
4
20
0
1
-49
0
0
0
-5
0
0
5
0
8
0
63
0
0
2
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
2
-4
0
0
-1
-20
0
-9
5
2
0
0
53
0
1
2
0
0
0
31
0
0
10
0
0
0
13
0
0
0
0
0
0
63
0
0
0
0
0
0
1
0
-6
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-20
0
0
0
0
0
-2
0
0
0
0
0
-8
0
0
0
5
-1
0
18
3
0
0
-28
0
0
-9
-4
0
-1
1
-8
0
46
0
0
-1
-2
0
0
15
-10
0
-1
-24
0
0
-2
0
0
0
0
0
0
0
10
0
0
0
-1
0
0
0
3
0
0
0
0
0
4
-10
-5
-5
0
0
0
-30
0
0
17
0
0
0
0
0
0
0
0
0
64
-13
0
-13
-49
0
0
-1
-60
0
0
-14
6
0
-19
-3
0
0
11
0
0
3
1
0
-59
5
0
0
0
-10
2
0
0
0
0
0
-38
1
0
0
4
0
3
13
0
0
3
0
0
-6
-6
0
0
3
7
0
-10
-7
0
0
-14
0
0
15
-16
-3
9
91
-10
0
0
65
0
0
-23
0
0
0
-40
0
0
58
-13
0
0
-31
0
-1
5
0
0
0
46
0
0
0
9
0
0
28
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-55
0
-10
10
0
0
0
18
0
-1
-3
0
0
-10
-30
0
-10
-1
0
0
0
-3
0
5
-12
5
0
0
-5
0
-1
3
0
0
0
41
0
0
2
-3
0
0
59
0
43
-8
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
-1
0
0
2
0
0
15
-1
0
0
0
0
0
1
-2
0
-1
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
-6
0
0
-1
13
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
3
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-1
-1
0
0
0
0
3
0
0
0
7
0
0
-35
0
0
0
-21
0
0
7
0
0
0
-6
0
0
8
5
0
0
0
0
0
-1
5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
13
0
3
0
0
0
0
69
0
0
8
0
0
0
0
0
0
0
0
0
-19
72
0
0
37
0
0
0
-31
0
0
0
0
0
3
-5
0
0
-2
0
0
0
12
0
34
0
0
0
0
0
0
0
0
0
0
0
13
0
2
0
0
0
0
-25
0
0
0
0
0
0
-51
10
0
-1
0
0
0
-11
0
0
1
0
0
-1
-12
0
0
-25
0
0
0
-25
0
0
25
0
0
-1
27
0
-1
0
0
0
0
-7
0
0
8
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
10
0
-2
0
0
0
0
-2
0
1
0
0
0
0
-13
0
2
-5
0
0
0
-25
0
0
0
0
0
-2
2
0
0
0
7
0
0
0
0
-1
0
0
0
0
29
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
4
0
0
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
0
0
9
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
-3
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
6
0
0
0
0
-1
0
0
0
0
0
0
-45
0
0
0
0
0
0
9
0
0
0
0
0
4
8
0
0
2
0
0
0
56
0
0
0
0
0
-7
-17
0
0
0
0
0
-2
-17
0
0
0
0
0
0
5
0
0
20
-1
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
-1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-2
-1
-35
-43
-30
31
-29
7
-13
-28
8
17
-120
11
41
-10
-16
2
31
50
-11
23
-34
-10
2
6
31
-24
-18
-20
-15
14
27
50
14
21
14
-7
-37
-29
-27
-22
-3
14
5
-65
-1
9
-30
60
-5
43
-48
42
0
17
34
4
0
-31
-13
-1
10
-24
-34
58
4
7
-29
5
16
-3
20
-14
32
51
-58
50
59
0
0
0
0
0
0
0
-14
11
-5
77
6
39
0
-1
-6
13
26
-5
-53
31
-4
-17
-2
-21
11
-27
38
-8
5
-11
-9
-8
25
-74
36
-18
-22
-1
-15
4
52
0
5
5
-1
2
6
3
29
20
14
17
-1
-28
-4
20
-1
40
-10
-15
13
-7
-15
4
-28
3
-16
-18
25
24
-10
-31
36
-1
-24
-11
18
1
1
30
-5
23
42
-47
-15
3
-24
-24
11
-5
24
-24
2
9
30
-4
-20
5
23
-31
-41
-95
-9
40
-5
-4
-19
-47
8
-14
-63
16
-15
24
-11
13
-13
2
-6
-35
-24
-28
31
20
-41
-31
-1
26
-13
-59
-14
5
-6
-13
0
-18
-58
-68
19
-84
-5
-13
-57
1
-52
-8
79
50
3
30
8
-30
25
3
35
-34
7
-20
-4
4
-8
0
19
-18
-27
16
-1
-1
5
1
-27
24
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-3
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
5
0
0
-5
5
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
12
1
0
0
0
0
0
5
2
0
0
0
0
0
-3
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
-4
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
1
-16
13
0
0
0
0
2
-4
0
7
-34
-3
0
-11
0
0
17
28
3
0
52
58
0
-6
-3
3
1
43
-5
2
0
0
0
0
39
20
0
-3
-17
-1
0
-43
-32
0
0
14
0
0
-3
-8
0
0
0
-8
0
0
0
14
0
0
0
0
0
31
7
18
-27
-2
0
55
-14
0
0
32
0
0
0
0
0
0
0
0
0
2
-12
0
13
35
-1
0
-11
13
0
2
6
45
0
-7
-14
0
0
0
2
0
-1
-67
0
-32
13
-5
0
4
-17
6
0
0
5
0
1
1
-23
41
-1
-3
0
0
-1
-3
5
0
0
0
-3
-53
0
22
-49
6
0
-9
39
0
1
44
0
0
62
57
-7
0
46
21
0
-76
-26
0
-16
99
5
0
36
-5
0
13
46
-18
0
9
22
0
-9
-10
0
0
0
30
-1
-6
37
-14
0
0
0
2
0
0
0
0
2
17
-1
0
0
2
0
-7
22
-3
-17
31
0
0
-30
28
0
9
76
4
0
47
2
-3
-32
-35
0
0
-29
51
0
-50
-27
13
0
5
5
0
-44
-24
-4
0
0
25
-6
-19
5
1
0
0
1
1
-45
0
0
0
0
-26
-7
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
3
0
0
0
5
0
0
1
0
0
5
2
0
0
0
0
0
0
1
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
-1
0
0
0
24
0
0
1
0
0
0
10
0
0
0
0
0
0
17
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
6
20
-21
55
-18
49
-13
-41
-87
33
3
-24
-25
-4
20
7
-7
-24
23
8
-18
-3
-45
-7
-23
3
-11
-7
8
2
-29
8
13
20
2
48
-27
18
-1
-5
18
-9
-58
-4
-10
-20
23
4
21
-46
-7
-25
-23
14
10
-22
-9
-5
-15
-17
40
23
60
-9
-22
26
12
-8
-5
-22
-19
4
29
-37
2
17
0
0
0
0
0
0
0
13
-7
-9
45
-10
-30
66
32
8
-42
-16
19
26
-27
-13
-7
39
57
-15
-6
-10
-36
8
-3
7
-8
-4
-44
-40
-11
-5
-15
-22
-27
-4
12
-3
6
-6
-47
-23
-23
-57
-3
17
-25
-34
-37
23
-28
-19
-121
5
-20
-21
-3
-15
-13
5
-60
6
30
-29
-3
1
12
-36
-2
-1
-63
-20
-25
-22
0
-7
-42
23
-15
-8
46
-23
7
-19
-12
3
-8
-31
33
-25
-61
43
-33
-20
19
22
-13
3
14
-3
-8
-5
14
64
23
-13
28
21
-55
-54
-11
29
64
49
1
66
1
-70
-36
-13
36
16
-19
-28
-5
87
21
-22
-26
-19
-40
10
46
-32
-31
-1
-71
51
-8
17
25
58
-9
21
-20
31
-64
-23
20
5
-43
-9
-36
-32
-64
26
-3
47
-12
10
-86
6
0
-18
2
-35
22
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
0
2
0
0
-6
1
0
0
0
3
0
31
0
0
0
2
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
78
0
0
1
0
0
0
0
0
0
0
0
0
-28
0
0
0
34
0
0
-1
62
0
0
0
0
0
0
49
0
0
0
0
0
0
5
0
28
0
0
0
0
4
0
0
0
0
0
0
10
-15
0
0
0
0
0
15
0
0
0
0
0
0
50
0
0
1
0
0
1
-24
0
0
0
0
0
-2
18
0
0
-13
0
0
0
1
0
0
1
0
0
1
-17
0
0
5
0
0
0
37
0
0
1
0
0
0
-34
0
0
0
0
0
0
2
2
0
0
0
0
0
-6
0
0
0
0
0
0
12
0
0
0
0
0
0
68
0
0
0
0
0
0
-2
0
0
0
0
0
4
12
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
55
0
1
0
0
0
0
-5
-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
1
0
0
2
0
0
0
0
0
-1
-4
0
0
0
-1
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
1
0
0
0
0
-12
0
0
0
0
0
0
4
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-20
6
0
0
-1
0
0
6
5
0
0
-5
0
0
-4
-7
0
0
5
0
0
0
-5
0
3
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-2
0
0
0
0
0
-13
0
0
0
0
0
0
54
0
0
0
0
0
0
-16
0
0
1
8
0
0
1
0
0
1
0
0
0
13
0
0
0
0
0
0
-44
0
0
0
0
0
0
29
0
0
0
0
0
0
38
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
-2
0
0
0
0
8
0
-6
0
0
0
0
-1
0
-1
6
0
0
0
-2
0
0
0
-1
0
0
3
0
12
0
0
0
0
1
0
0
0
0
0
0
1
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
0
2
-1
3
0
0
0
17
0
1
54
-1
7
-1
62
-14
-12
7
18
0
0
41
0
7
10
-5
0
4
2
7
-5
15
-2
0
0
-5
0
-13
1
-8
0
0
0
8
9
0
0
-25
0
0
0
-22
0
0
6
75
0
0
0
-23
50
6
-1
-67
0
0
0
0
0
0
0
0
0
32
77
-7
-3
-10
5
-7
43
-10
0
-2
-3
-14
0
9
-52
0
0
8
0
0
0
-23
0
-51
-33
-25
-1
0
34
0
0
0
-1
4
0
-8
-5
-4
0
1
0
0
0
0
0
0
0
0
6
-68
3
8
16
-2
0
44
20
0
-3
50
0
0
4
38
-1
23
0
0
0
30
-14
0
-3
32
-10
-5
-2
-17
0
0
82
21
-5
0
1
0
3
-1
0
0
1
-32
0
0
8
1
13
0
-21
0
0
0
0
0
0
0
13
0
-7
0
0
-6
-20
1
26
8
0
-1
-6
-26
-2
5
41
0
0
5
6
0
7
-8
0
0
13
-48
-2
5
-12
0
3
8
-30
0
28
-9
0
0
0
2
5
0
-8
0
0
0
-5
0
74
0
0
0
0
42
0
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
-5
20
-1
25
56
-7
-7
-38
5
-3
-2
-38
30
2
62
44
-1
5
53
-5
19
-61
-19
0
6
0
0
-14
20
47
0
-1
-15
2
6
-8
-2
0
0
-4
0
-3
0
9
0
0
-1
1
19
0
0
-14
0
0
0
0
-5
38
0
11
5
0
0
49
-55
1
0
89
-1
0
0
0
0
0
0
0
0
-72
-12
-3
24
9
0
5
-2
51
0
-1
-48
4
1
-60
-22
0
0
-3
-4
0
-2
-22
0
32
-13
32
0
0
49
0
0
0
0
-3
0
46
-49
-15
0
7
0
0
-24
0
0
8
1
0
12
-5
17
8
37
4
-2
-78
8
0
-4
-49
5
0
22
56
3
5
-12
-43
-2
35
15
1
1
-76
-8
5
7
17
-4
0
-50
-5
8
2
27
0
0
2
-2
8
0
-49
-2
1
-8
18
58
0
7
2
3
0
-7
0
0
-48
-4
8
0
0
0
3
26
0
-5
2
0
-3
17
20
0
37
-41
23
-4
19
-66
0
-10
29
-9
3
0
-7
3
14
29
19
-3
-10
-20
0
51
3
0
0
0
28
2
-3
2
9
0
-3
16
0
42
0
0
-7
0
-9
-1
4
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
-2
0
0
-10
0
-3
0
0
0
0
-2
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
0
0
-3
0
23
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-5
0
0
-12
13
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
-2
0
0
0
0
13
0
0
0
0
-1
0
5
0
0
0
0
0
0
22
0
0
0
0
0
0
23
0
0
-2
0
0
0
45
0
0
-2
0
0
-2
-8
0
-10
17
0
0
0
-14
0
0
-8
0
0
0
-30
0
0
-12
-2
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
8
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
-32
-5
0
3
-8
0
0
8
0
0
0
0
1
0
22
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-1
0
0
0
2
0
19
0
1
0
0
0
0
-44
3
0
-5
0
0
0
0
0
0
0
0
0
7
86
5
0
0
0
0
0
32
0
0
39
10
0
2
23
0
0
-1
0
1
0
-8
0
53
0
0
0
0
3
0
0
0
0
0
0
22
-1
-1
0
0
0
0
20
0
0
0
0
0
0
17
0
0
0
0
0
-1
40
0
0
-1
0
0
-3
-5
1
0
3
0
0
2
-1
0
0
5
0
0
0
-21
0
0
9
-2
0
0
80
0
0
0
0
2
0
-1
0
0
0
0
2
0
-35
0
0
0
0
0
0
9
0
0
0
0
0
-1
-27
0
1
-1
0
0
0
9
0
0
0
0
0
0
31
0
0
0
0
0
0
7
0
0
5
0
0
0
29
0
-1
0
0
0
0
18
0
2
0
10
0
0
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
8
0
0
0
-3
0
0
1
0
0
0
2
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
0
-1
7
0
0
0
-5
0
0
3
0
0
0
14
0
0
0
0
0
8
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
0
0
0
0
25
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
24
0
4
2
0
0
0
-6
0
1
0
0
0
0
8
0
0
0
0
2
0
2
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
2
0
0
0
0
1
0
0
6
0
0
0
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
2
0
0
8
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
-2
0
0
0
0
0
8
0
0
0
0
0
1
-58
0
0
0
0
0
0
0
0
0
0
0
0
-2
-28
0
0
-2
0
0
0
7
0
0
7
-1
0
-5
-8
0
0
0
0
0
0
-3
0
-2
0
0
0
0
-34
0
0
0
0
0
0
34
0
0
0
0
0
0
-12
3
0
0
0
0
0
51
0
0
0
0
0
3
-48
0
0
0
0
0
2
27
0
0
-17
0
0
-5
19
0
0
5
0
0
0
32
0
0
4
0
0
0
48
0
0
0
0
0
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
16
0
0
0
0
0
0
27
0
0
2
2
0
0
36
0
-4
0
0
0
0
13
0
0
2
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
30
0
4
0
0
0
0
-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
48
-2
1
-5
4
0
-7
-8
22
3
-6
-44
2
4
70
13
0
0
-14
0
2
4
33
-6
0
32
0
-10
-5
3
0
0
-3
0
5
0
10
0
0
6
-14
7
0
0
10
0
0
0
30
0
46
19
27
0
0
0
5
-4
-2
0
-37
-2
0
0
0
0
0
0
0
0
31
-43
1
39
-1
1
0
-25
-1
0
7
-23
-23
0
-8
-30
0
0
-5
2
0
2
4
0
-6
-28
4
0
-1
13
1
0
0
0
0
0
-28
8
-10
0
0
0
0
66
0
0
0
-1
0
8
58
1
7
-12
-1
0
-31
6
0
0
47
-3
0
3
-14
0
8
-58
19
0
65
90
0
-1
-25
9
9
-1
7
0
2
3
-17
8
-13
-12
0
-1
1
0
0
0
-19
0
0
1
-3
14
0
-2
0
2
-1
0
0
0
131
0
0
5
0
0
0
-11
-2
-49
-27
0
0
9
-42
0
6
-2
-5
0
-12
45
0
16
91
2
0
14
-43
0
9
-18
8
-2
0
-54
-2
42
-24
0
0
0
-39
0
-1
0
8
1
0
-4
0
43
0
0
-5
0
28
3
-1
0
-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
51
0
0
-6
7
3
0
38
0
0
3
-9
14
0
45
1
0
9
-5
-2
8
27
5
0
1
5
-3
-5
-6
8
0
0
0
0
-8
2
-12
0
0
1
-1
135
0
0
-6
0
0
0
-24
1
2
-1
2
-1
0
0
-10
0
-3
0
29
0
0
0
0
0
0
0
0
0
-46
48
0
0
41
3
0
31
27
0
6
-1
15
0
5
-21
0
0
-29
8
0
9
46
0
-51
-14
0
0
0
-28
0
0
0
0
8
0
10
0
-1
2
2
0
0
-43
0
0
0
0
0
13
0
8
0
-2
0
0
20
20
0
9
-59
-1
0
-3
48
-5
8
-6
-6
0
50
84
1
0
19
-3
0
21
7
0
-2
-22
-10
0
-14
45
2
-1
24
0
25
0
-28
1
0
0
4
-5
0
8
0
0
0
-1
0
0
20
1
0
0
0
0
-4
0
0
41
-13
0
0
4
-52
0
0
61
0
0
-2
67
0
-26
32
-6
0
2
-8
0
2
34
5
0
2
-40
0
-21
-2
0
0
-4
-24
0
1
6
0
0
0
28
0
-13
-2
0
-1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
-2
0
0
-7
0
0
0
60
0
6
85
-2
0
0
1
0
0
-3
2
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-13
0
0
0
0
0
0
9
0
13
0
0
0
0
0
0
70
0
-1
8
0
0
0
0
0
0
0
0
0
65
22
0
0
-1
0
0
-2
47
0
0
24
3
0
1
-20
0
0
0
0
0
0
37
0
17
1
0
0
0
-7
0
0
0
0
0
0
24
0
0
0
0
0
0
89
-2
0
0
0
0
0
37
0
0
0
0
0
-2
61
0
0
0
0
0
-3
55
0
0
-4
0
0
0
6
0
0
5
0
0
0
31
0
0
-1
0
0
0
-43
0
0
0
0
0
0
45
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
6
1
0
0
0
14
0
0
-1
-3
0
2
40
0
5
-3
0
0
0
-6
0
0
0
0
0
0
-14
0
3
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
1
0
0
17
0
0
1
-8
0
0
-7
0
0
19
0
0
0
-4
0
0
0
2
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
-6
0
0
0
0
0
32
-1
0
0
0
0
0
58
0
0
3
0
0
0
0
0
0
0
0
0
-69
37
9
0
25
0
0
-5
1
0
0
2
0
0
-1
-42
0
0
-6
0
0
0
-5
0
5
0
-6
0
0
-46
0
0
0
0
0
0
54
-5
0
0
0
0
0
58
0
0
0
0
0
0
-35
-1
0
-3
0
0
-1
66
0
-1
0
0
0
43
50
0
0
13
0
0
0
3
0
0
-2
0
0
0
44
0
0
0
-1
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
-3
0
-66
0
0
0
0
0
0
28
-1
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
-5
0
0
0
70
0
-3
-2
0
0
0
-3
0
0
9
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
-1
0
0
32
0
-2
0
0
0
0
-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
8
0
0
0
44
-3
-7
61
13
-3
22
22
-16
12
71
59
0
13
-2
0
-4
17
3
7
4
117
0
-9
52
-13
0
0
45
0
-20
2
-38
3
0
5
4
-45
0
0
-37
0
0
0
-3
0
-6
27
-5
0
2
0
19
-73
-3
-3
-8
8
0
0
0
0
0
0
0
0
13
14
3
32
115
5
2
121
-5
4
2
-39
3
0
18
-15
0
2
-36
-1
0
21
5
-2
-27
2
2
-3
-1
-73
0
0
-2
0
-5
0
28
59
-46
0
-1
0
0
23
0
-3
0
-2
-3
-4
68
-28
-2
7
14
1
65
21
0
-10
-67
2
0
0
-13
-1
2
0
63
3
-7
-17
15
-73
9
18
-10
-13
-42
1
-8
21
-1
2
2
-7
0
2
32
0
-4
0
19
-1
0
-2
-6
-2
7
0
-1
0
1
5
-10
0
-2
21
0
0
8
0
5
-46
-10
49
20
0
0
0
44
0
-29
-51
42
8
55
40
0
23
-30
8
0
-29
-10
1
-41
48
20
-3
0
-21
0
-75
-4
-8
-2
0
81
0
3
-1
-5
5
0
-7
1
24
2
0
45
0
5
-6
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
0
-1
-17
0
0
-62
0
10
0
37
-3
0
7
1
0
0
-7
0
8
-7
-3
0
0
-96
0
32
-4
10
0
0
-4
0
10
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
0
-47
0
24
1
0
0
14
-25
0
0
-6
0
0
0
0
0
0
0
0
0
-22
11
0
-4
3
0
0
-53
42
0
0
13
0
6
28
-21
0
2
57
0
0
0
39
0
41
9
0
0
9
-2
0
0
2
0
31
0
-13
0
-7
0
0
-7
0
11
0
0
0
0
0
-6
-19
0
3
-1
0
1
25
-8
0
0
8
0
0
14
0
0
-1
-8
0
0
21
61
-4
0
100
2
-13
23
-37
0
-12
67
4
0
24
-57
0
0
-6
2
-24
7
-23
0
1
14
2
-25
0
11
0
0
0
0
0
0
27
0
0
-1
0
0
0
58
9
13
5
0
3
-7
-64
0
-4
0
0
5
-13
-32
0
-14
-8
0
0
3
-53
0
2
-3
4
0
0
15
0
-31
-13
-2
-2
0
48
0
-1
-18
3
-1
-1
-20
0
-14
3
0
-8
0
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-3
0
4
0
0
-37
-1
0
-6
-16
5
0
-33
1
0
0
-10
7
0
4
-8
0
0
1
0
0
-7
3
0
0
0
0
0
-4
-6
0
0
5
4
0
0
0
-1
0
0
0
0
0
-14
-3
-1
0
0
0
0
47
0
3
3
0
0
0
0
0
0
0
0
0
29
-42
0
-1
-13
0
0
1
-40
0
1
-57
-4
0
37
-14
0
0
41
0
0
-17
-1
0
-20
5
-7
0
13
-29
0
0
0
0
0
0
20
-8
0
0
0
0
0
-21
1
2
-1
-3
0
0
39
-2
1
12
1
0
42
2
0
0
0
0
0
18
-2
0
0
-29
-2
0
7
39
0
0
60
0
0
-4
54
0
0
20
6
0
-20
-47
0
0
-5
-1
0
-3
59
0
6
0
1
0
0
-28
0
0
0
0
0
0
87
1
0
0
0
0
0
-1
0
13
-6
0
0
5
5
3
2
-8
4
0
-9
55
0
-17
18
0
0
0
31
0
4
-10
3
0
0
54
0
15
4
0
0
0
23
0
0
4
-1
0
0
-11
0
2
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-13
85
-70
3
47
-8
20
20
-49
66
-40
56
-39
18
-41
126
-32
-13
-12
9
15
14
16
22
13
29
-6
-17
-10
31
1
5
-21
-23
-3
-24
4
0
-2
-13
33
0
8
25
4
-7
11
0
-15
20
13
-68
28
1
-7
0
0
0
0
0
0
0
16
15
13
64
-13
-9
21
41
30
31
101
-12
35
3
18
-24
19
6
-36
-47
43
22
7
34
-18
-8
21
5
-44
24
-7
17
-25
-14
-50
0
18
23
15
13
5
-14
-1
-4
17
-8
-27
-19
22
40
29
-49
-70
22
73
-65
11
0
37
-54
-11
24
-23
51
35
4
-2
23
-14
108
84
-8
77
9
3
24
5
44
-10
19
63
9
21
5
-5
3
-14
43
17
5
-41
18
11
13
55
2
-5
15
8
-8
18
8
53
32
-36
0
-20
-3
27
4
75
20
-38
-23
-23
-7
29
-48
15
45
0
-5
-6
36
-44
-2
-26
-5
42
-20
-8
19
37
22
-18
6
64
22
5
97
40
-14
1
-7
30
58
16
53
2
0
27
67
8
50
51
-1
-33
0
15
-17
-43
0
-19
44
8
40
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-5
0
0
30
0
0
-12
-13
0
0
0
0
-2
3
-1
0
-2
18
0
0
13
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
11
-3
2
-7
0
0
25
-5
0
0
-2
0
0
0
0
0
0
0
0
0
84
13
0
-4
-66
0
1
-46
22
0
0
42
0
0
-2
6
0
0
0
0
0
-2
28
0
25
-1
-2
0
0
-25
0
0
0
0
0
0
45
-13
0
0
0
0
0
-61
0
0
-2
-1
0
2
-3
-2
6
0
0
0
43
0
-3
-1
52
2
0
-32
-22
3
13
13
0
1
17
69
0
1
50
1
0
0
35
0
-1
5
-2
0
0
6
0
0
-2
-4
0
2
1
0
6
5
0
0
0
46
0
0
0
-8
0
0
85
1
1
-1
0
0
-2
49
0
17
7
0
0
-6
0
0
3
14
6
0
-14
22
0
0
-8
4
0
0
-34
0
1
-8
0
0
0
-28
0
-1
2
0
0
0
16
0
0
-1
0
0
0
-5
0
-8
0
0
0
0
-70
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
0
0
-1
0
0
0
1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-24
0
0
-2
0
0
0
0
0
0
0
0
0
24
22
0
0
0
0
0
0
44
0
0
0
0
0
0
50
0
0
0
0
0
0
-3
0
-9
0
0
0
0
1
0
0
0
0
0
0
26
0
-1
0
0
0
0
41
0
0
0
0
0
0
21
0
0
-6
0
0
-1
43
0
0
5
0
0
-5
29
0
-3
-1
-1
0
0
71
0
0
0
0
0
0
60
0
0
0
0
0
0
55
0
0
0
0
-4
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
-5
55
0
1
0
0
0
0
18
0
1
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
0
2
0
0
0
0
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
-7
33
0
0
-1
6
0
29
0
0
0
7
0
0
-2
2
0
0
0
-1
1
-5
6
0
0
0
0
0
0
0
0
0
0
0
67
0
0
-3
0
0
0
4
0
-41
0
0
0
0
0
25
3
4
0
-7
0
0
0
0
0
0
0
0
0
42
19
0
-1
75
2
0
8
25
0
0
-20
-5
0
12
-58
0
0
-4
0
0
0
27
0
-13
-5
0
0
0
50
0
0
0
0
0
0
28
2
0
0
0
0
0
-10
0
0
0
0
0
5
43
-8
-3
7
0
0
4
-47
0
0
28
0
0
-5
20
0
8
-4
0
1
-2
26
0
0
41
0
0
7
-24
0
0
8
0
0
1
47
0
1
5
0
-3
0
-7
0
0
0
0
0
0
-65
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
-5
0
-2
0
2
28
0
0
5
1
0
0
14
0
25
15
0
0
-2
-24
0
0
-2
1
0
0
23
0
-6
0
0
0
0
-5
0
0
0
0
0
0
5
0
2
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-40
-20
9
-48
-46
50
4
-76
5
-7
18
-4
8
-35
39
-3
17
-13
60
17
-6
-13
0
0
-8
24
-19
24
-4
0
0
-4
-38
-74
1
-5
-40
0
-2
25
21
2
8
-42
2
34
10
0
-54
11
23
5
67
4
1
0
0
0
0
0
0
0
9
-6
-24
57
42
-7
32
49
7
46
-42
-13
-22
15
35
-24
0
-10
-47
-18
9
-73
-4
-6
-20
45
-3
55
-8
-30
0
0
-25
0
10
0
8
-7
53
0
31
-1
0
40
46
0
18
-3
0
-24
55
83
-16
-97
2
5
-14
2
1
-1
-43
27
15
11
48
33
75
18
-19
31
-58
17
20
55
5
48
-7
92
15
-9
-20
-24
42
94
24
-11
6
5
-9
-1
-8
-1
5
-14
-11
52
1
-30
0
-10
-2
18
0
1
0
-2
0
-21
9
12
-3
-2
19
13
47
34
8
29
-25
5
4
15
5
13
31
-1
30
-53
5
78
24
-42
-3
-17
5
-2
0
-42
39
-42
88
-1
-3
-26
-36
-14
-5
-25
42
2
-8
-24
-50
-15
-4
-35
-1
-5
14
13
21
0
42
-32
-8
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
0
0
4
0
-3
13
3
0
0
2
0
0
0
2
0
0
1
0
0
6
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
1
0
0
0
-4
0
-42
2
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
-18
-2
0
0
17
0
0
0
-15
0
0
1
0
0
0
60
0
0
0
0
0
0
0
0
2
-5
0
0
0
15
0
-3
0
0
0
0
-64
2
0
0
0
0
0
-59
0
0
0
0
0
0
4
0
0
0
0
0
-6
-31
0
0
-2
0
0
13
-16
0
0
-7
0
0
0
-45
0
0
0
0
0
0
-29
0
0
8
0
0
6
7
0
0
0
0
0
0
-9
0
0
0
0
4
0
6
0
0
0
0
0
0
33
-2
7
0
0
0
0
9
0
-1
0
0
0
0
2
0
0
-7
0
0
0
76
0
2
0
0
0
0
5
0
0
0
0
0
0
-6
0
3
0
0
0
0
4
0
0
0
0
0
0
-5
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
-12
0
3
0
0
0
0
34
0
0
-39
0
0
0
0
0
0
0
0
0
40
-50
0
0
-15
0
0
-16
9
0
0
31
0
0
6
35
0
0
7
0
0
0
49
0
10
0
-5
0
0
-2
0
0
0
0
0
0
13
0
2
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
1
0
0
-1
-2
0
0
70
0
0
0
-13
0
0
-26
0
0
25
68
0
0
-6
1
0
-4
74
0
0
1
-1
0
0
20
0
0
1
0
0
0
64
0
0
-4
-1
0
0
-21
0
0
0
0
0
0
13
0
0
0
0
0
0
14
0
-1
2
0
0
0
20
0
-2
31
0
0
-1
54
0
0
-22
8
0
1
6
0
0
2
1
0
0
27
0
-3
3
0
0
0
-3
0
0
-8
0
0
0
99
0
13
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-22
-2
35
66
22
10
17
-63
-7
-3
9
46
-26
9
23
0
0
-8
-2
-7
0
-31
0
0
0
-27
9
0
-2
44
0
0
-8
-9
1
40
88
-9
5
33
0
92
16
-7
-9
51
1
0
0
0
0
0
0
0
0
-6
17
-16
39
-6
5
0
36
-5
-8
13
13
-6
12
4
45
1
-30
-15
0
5
-41
-99
2
52
20
15
-22
-9
-8
-3
5
20
0
-40
0
32
33
14
0
5
-8
2
21
-41
-1
48
10
5
51
-21
87
13
-18
-58
14
25
9
-8
60
24
-8
6
35
12
-8
-6
-8
-15
1
59
32
6
27
7
35
-30
10
16
0
34
21
24
31
66
-2
-2
10
86
-1
-28
-7
-19
8
-24
121
7
25
0
-4
-8
-13
2
20
31
0
27
29
-5
-1
0
0
-9
-66
-4
45
39
0
5
-22
-10
-2
-6
9
-18
0
23
41
-5
5
-9
21
1
-13
-43
-10
-41
-14
48
-2
-31
-22
-1
51
42
1
1
-2
-21
8
13
49
57
5
0
-43
0
-1
-15
-12
40
0
-10
5
5
8
-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
-27
-3
0
0
66
0
2
5
1
0
0
-31
0
6
-1
-9
0
0
-12
1
36
0
-5
0
0
-7
-1
32
0
0
7
0
-3
0
10
0
80
-27
25
1
0
0
49
-7
0
0
56
0
0
0
0
0
0
0
0
0
-13
0
5
1
-41
1
0
25
70
0
-8
-33
2
0
59
36
0
0
5
-4
0
-1
49
0
-7
19
-8
0
0
33
0
0
0
6
-7
0
30
25
18
0
-2
16
1
10
-1
0
0
-8
0
14
-27
0
-8
27
1
0
-31
52
0
-1
6
13
0
20
0
0
9
-23
-1
-7
62
-10
0
0
-7
-3
0
-3
-36
0
2
49
21
-2
5
37
0
0
-6
0
-5
-3
-12
-6
-1
-7
-10
4
0
-21
-3
1
0
0
0
0
1
9
1
0
0
0
7
-36
0
-28
-20
-1
0
0
24
0
1
73
8
0
-31
0
1
30
-10
-1
0
41
-107
0
-1
-9
1
-8
-4
38
0
-2
-10
0
0
-1
13
0
-1
8
0
0
0
-56
0
-8
0
0
0
0
-47
3
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
1
0
0
0
2
0
-15
0
0
3
0
0
2
30
0
0
1
0
0
0
0
0
0
0
0
0
-13
-26
0
-2
-5
0
0
-6
-42
0
0
6
0
0
-1
1
0
1
2
0
0
0
-31
0
9
2
0
0
0
-5
0
0
0
0
7
0
-34
-1
0
0
0
0
1
-25
0
0
0
0
0
-7
-5
0
3
-9
0
0
0
-53
0
0
23
0
0
5
56
0
0
1
2
0
0
45
0
0
-4
0
0
0
-68
0
0
1
0
0
0
116
0
0
0
0
0
3
12
0
0
0
0
-2
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
-1
1
0
0
0
0
-4
0
0
8
0
0
0
-1
0
0
2
0
0
0
-13
0
6
0
0
0
0
5
0
-2
2
0
0
0
15
0
0
0
0
0
0
74
0
18
0
0
0
0
5
0
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
0
-8
-21
0
0
7
0
0
1
-1
0
0
0
0
3
5
2
0
0
0
0
-10
0
8
0
0
0
0
44
0
0
5
0
0
0
8
0
-34
-16
0
2
0
0
-4
74
0
0
0
0
0
0
0
0
0
0
0
0
37
-13
0
2
19
1
0
-42
-14
0
0
-29
0
0
10
-8
0
2
24
0
0
1
5
0
-15
-2
-14
0
0
51
0
0
0
0
1
0
0
-4
0
0
0
0
0
22
-2
0
0
0
0
0
-28
0
3
-5
4
0
5
-31
0
0
-15
0
0
-3
75
0
1
-14
0
0
-13
-32
-1
-5
-11
-2
0
0
-30
0
0
13
8
0
0
-10
0
0
6
0
0
0
100
0
0
0
1
5
0
-27
0
0
-4
0
0
0
86
-7
0
8
0
0
-2
37
0
-1
0
0
0
0
46
1
0
0
0
0
6
2
0
-5
5
0
0
8
33
-5
0
-16
0
0
0
-35
0
-8
35
0
0
0
-55
0
0
5
0
0
0
-6
0
-9
0
0
0
0
15
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
34
-1
21
14
0
17
27
20
8
0
2
46
-57
0
25
0
0
3
1
-27
-4
34
0
2
-10
4
8
0
-1
11
0
0
7
-30
6
-10
-41
-39
-2
-16
0
21
0
6
8
70
0
3
0
0
0
0
0
0
0
-85
11
-4
16
38
4
0
16
-6
-1
18
1
43
-1
33
36
1
33
-48
-1
10
21
-18
0
-37
12
-45
7
-4
-20
2
1
2
0
-2
0
-33
15
41
0
0
5
-5
26
4
1
7
6
0
-10
-10
12
-31
72
-8
24
83
9
1
8
73
-2
8
10
25
-13
-20
-21
-62
1
7
28
-5
-4
30
9
7
23
20
-3
8
-39
7
-7
4
13
0
5
14
5
-5
13
58
2
9
-3
-4
-2
0
-19
18
-7
0
6
1
1
-16
66
-10
1
-2
-1
-11
-8
13
54
6
0
0
64
61
7
-53
16
13
-4
26
41
0
75
-26
16
-3
98
-18
13
50
36
42
61
-47
14
2
-24
-10
-12
-5
-10
43
1
12
42
41
1
0
-20
-3
-61
0
0
43
0
10
44
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
-4
0
-4
0
-19
13
31
0
0
-4
0
15
-5
-27
-2
0
6
0
-1
2
1
0
0
-5
0
-5
0
0
23
0
0
0
-35
1
6
13
1
1
0
0
-19
10
1
0
108
0
0
0
0
0
0
0
0
0
3
3
0
8
-42
0
0
46
-71
0
-3
30
0
0
-2
-59
0
-4
-20
2
3
1
-38
0
-15
52
0
5
2
-18
0
0
0
0
59
0
-54
20
-43
0
0
1
0
-33
-6
0
-2
0
0
8
10
-8
-3
7
1
0
14
37
0
3
46
0
0
76
-14
0
0
42
-6
0
1
10
0
6
10
0
13
30
-45
1
0
-13
0
0
-6
-3
0
13
-13
0
1
6
-18
5
14
10
0
25
0
8
-3
0
0
0
-2
0
9
-20
0
0
0
0
5
-11
1
24
-33
0
9
3
19
-3
-2
62
0
0
-13
-14
3
-10
34
-1
0
18
74
0
-4
33
-7
5
-1
22
0
26
-7
0
0
2
49
0
12
-9
0
5
0
-48
0
-11
6
0
1
0
-6
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
15
2
0
-8
0
0
1
-8
-4
0
-1
0
0
0
6
0
0
0
-3
0
0
-8
1
0
0
0
-73
0
-1
0
0
0
35
10
9
-12
0
0
-4
-12
0
0
28
0
0
0
0
0
0
0
0
0
19
5
0
0
6
0
0
19
29
0
0
1
1
0
23
-69
0
0
-7
0
0
0
85
0
-4
-8
12
0
0
13
0
-2
0
0
0
0
12
19
0
1
1
0
0
19
-2
0
-2
0
0
6
3
0
0
42
0
0
-41
0
0
3
77
0
0
54
-50
0
0
-3
20
0
-5
63
0
-5
-4
1
0
-3
5
0
0
-69
-6
0
-1
20
0
2
2
0
0
0
-65
0
1
0
-8
0
0
-12
0
-3
0
0
0
0
-20
0
0
0
0
0
5
-5
9
22
-20
0
0
8
7
0
13
103
1
0
9
2
0
-10
18
-3
0
-7
74
0
0
24
-15
0
-2
-1
0
23
0
0
0
0
42
0
-2
0
0
0
0
-32
0
-30
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-3
33
-3
39
15
9
22
-9
8
-1
-40
0
-29
-5
40
2
0
19
-3
-9
0
1
52
0
0
22
-5
1
21
-43
-4
31
-42
1
-31
13
84
4
-4
-3
1
0
0
0
0
0
0
0
-26
-33
10
0
8
7
-8
83
2
-23
24
-29
13
-1
52
8
-19
19
-11
0
-42
-6
-5
1
59
-47
99
10
31
-12
18
0
-19
12
-13
13
11
45
9
-2
41
0
-1
-11
-15
-8
3
32
0
12
22
77
-13
-61
-15
37
52
22
-15
68
-24
13
-5
-5
21
-44
55
-20
-36
19
49
22
0
57
1
13
28
-27
42
8
27
44
-6
-50
5
0
1
7
42
-5
-5
13
-7
0
2
-3
2
-22
0
-7
-21
1
1
22
-49
2
-17
-5
-9
3
-4
0
-29
18
51
54
-21
20
38
17
-20
50
-74
27
52
7
68
31
-7
0
24
-8
-18
-66
11
-12
-7
48
-41
-8
-25
-32
0
7
8
30
8
16
16
12
-20
12
58
-7
-5
-24
1
0
8
8
18
0
38
-19
27
-2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-33
0
-1
0
0
-2
55
56
0
0
4
1
0
0
43
0
0
5
-1
24
0
0
2
0
0
0
4
0
-21
7
1
-7
0
0
-4
17
0
0
22
0
0
0
0
0
0
0
0
0
11
-13
1
0
-47
7
0
-53
0
5
4
23
0
0
23
27
0
2
13
0
0
16
36
-4
-41
6
12
0
-2
57
0
0
0
1
-1
0
-4
-4
-10
0
-3
0
0
-6
-12
0
0
-4
0
0
-118
5
5
37
0
0
-14
80
0
1
-3
0
1
-10
25
-1
0
16
-8
0
90
0
0
2
-47
9
-7
-7
48
4
24
7
0
0
1
2
0
0
-24
0
5
0
118
0
0
-1
2
-13
0
-28
0
-2
0
0
0
0
41
7
0
0
1
0
-1
10
0
-23
6
0
4
-8
13
0
-23
53
4
0
1
-33
0
1
18
1
0
-25
0
0
-1
-5
4
-5
3
-3
0
28
2
0
0
0
13
2
-1
6
0
0
-2
10
0
2
0
0
0
0
15
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-18
0
0
-1
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
-2
75
0
0
4
0
0
4
12
0
0
0
0
0
1
13
0
0
0
0
0
0
-10
0
-2
2
0
0
0
10
0
0
0
0
0
0
54
1
0
0
0
0
0
-42
0
0
0
0
0
0
56
0
0
0
0
0
3
-5
0
0
3
0
0
0
-14
0
0
4
0
0
7
52
0
0
0
0
0
0
-3
0
0
0
1
0
0
30
0
0
0
0
0
0
1
0
0
0
0
0
0
29
0
0
0
0
0
0
19
0
0
0
0
0
3
5
0
-4
0
0
0
0
3
0
0
-3
0
0
0
12
0
12
0
0
0
0
43
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-19
7
3
0
0
2
0
0
2
0
0
0
0
0
10
0
0
-1
0
0
0
0
0
-10
0
0
0
0
0
1
5
0
0
7
0
0
0
0
0
0
0
0
0
-8
58
0
0
24
1
0
-8
-43
0
0
3
0
0
-8
41
0
0
1
0
0
12
-2
0
-31
0
0
0
0
-10
0
0
0
0
0
0
47
0
0
0
4
0
0
-12
0
0
0
0
0
0
36
7
0
6
0
0
5
-86
0
0
5
0
0
5
65
0
0
-16
8
0
0
24
0
0
-13
6
-1
0
-49
-5
0
0
0
0
-18
-9
0
0
0
0
0
0
7
-2
0
-1
-7
0
0
46
0
0
0
0
0
0
-2
0
-3
0
0
0
3
-8
0
-2
0
0
0
2
-48
0
0
4
0
0
0
-88
0
0
-41
0
0
0
1
0
-5
3
0
0
0
-7
0
1
0
0
0
0
1
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
5
4
1
-39
17
-4
13
-29
0
0
-2
0
-28
0
-16
0
0
0
-20
50
0
0
19
0
0
-8
-15
0
8
57
5
2
-4
0
17
-45
-1
-2
61
7
0
0
0
0
0
0
0
0
-13
-67
0
2
68
0
0
-1
19
2
-20
-22
-24
-4
29
47
1
7
5
-3
2
-3
-7
-1
26
5
17
0
-8
-9
0
0
0
-2
0
0
45
50
-27
0
0
0
0
-39
43
0
0
1
0
47
-14
-70
-33
8
1
-1
34
9
-6
3
-120
-5
8
63
34
0
0
-24
-8
0
-35
-34
0
0
-13
12
-1
51
5
4
5
68
-87
9
-18
-3
0
-1
-4
-4
4
5
12
2
-2
3
10
-4
7
29
4
0
0
-5
2
0
-3
43
0
0
7
0
-5
-14
0
76
-6
2
0
-5
12
0
56
-21
-7
-1
37
-38
-2
87
44
-5
5
25
71
0
1
56
0
0
1
7
0
-3
13
0
-1
-2
-1
0
0
42
8
0
0
-2
0
42
0
8
-10
0
5
-2
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-3
0
0
0
0
-8
0
0
-9
0
0
0
0
0
72
0
0
0
0
0
0
31
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
-19
0
0
-25
0
0
-8
6
0
0
0
0
0
0
-5
0
-32
0
0
0
0
-1
0
0
0
0
0
0
-42
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
-14
-6
0
0
0
5
0
0
0
0
0
-1
-8
0
0
5
0
0
-3
43
0
0
2
0
0
0
-6
0
0
5
0
0
0
33
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
-5
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-16
0
-1
0
0
0
0
-5
0
0
-1
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
12
0
64
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
18
0
0
0
0
0
3
-42
0
0
0
0
17
10
0
0
-23
0
0
0
0
0
0
0
0
0
29
-1
0
0
35
0
0
25
-19
0
3
3
0
0
3
-13
0
0
51
-2
0
8
-16
0
26
50
-51
0
0
15
0
0
0
0
0
0
11
-24
5
0
0
0
0
51
-1
0
-1
0
0
7
14
0
0
27
0
0
13
-30
0
0
-38
0
0
36
31
0
1
-27
42
0
-24
2
0
2
13
0
0
49
58
0
-19
-13
-21
0
-4
25
0
0
8
0
0
0
11
0
1
0
8
0
0
1
0
-7
0
0
0
0
-35
-1
0
0
-3
0
-2
1
0
-14
0
0
0
-3
14
0
4
14
0
0
5
42
0
-34
27
0
0
0
12
0
9
24
-1
0
-6
48
0
0
-6
0
0
-2
79
-1
-6
-6
-1
0
0
60
0
23
-1
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
-1
0
-33
4
16
0
-19
0
0
7
3
-102
0
0
-57
0
0
0
0
0
-13
29
1
0
-2
0
14
20
1
-2
-5
0
-8
0
0
0
0
0
0
0
-7
-16
0
1
-37
-1
0
24
-28
-4
-6
-29
6
0
13
-4
2
1
34
2
0
0
41
0
49
-13
7
-5
0
-12
0
0
-2
-1
29
0
-66
17
-8
0
-4
0
-4
-51
0
0
2
0
0
0
31
2
15
10
12
10
8
-7
0
-10
-25
0
0
13
29
0
23
31
20
-5
-5
19
6
5
-18
-19
0
25
-10
-4
-23
4
11
3
0
31
0
-2
61
0
33
0
85
-8
2
3
14
-33
0
7
4
0
0
-4
0
0
-26
6
3
0
0
0
1
3
1
8
-8
0
3
0
-43
0
-34
41
6
0
0
10
0
22
8
0
0
0
43
0
16
61
31
-2
-2
42
0
83
-14
-6
0
0
21
0
-9
0
-7
1
0
39
0
62
0
0
-10
0
63
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
3
1
0
0
1
0
-35
0
-2
-31
0
0
8
0
0
36
-4
24
-14
0
0
-7
5
3
-6
22
0
0
0
0
0
0
0
0
0
-12
-9
-8
0
17
0
0
71
-8
0
0
14
5
-1
57
0
0
1
-24
-4
0
0
56
0
56
-23
0
0
-3
-67
0
0
2
0
3
0
8
12
3
0
0
0
0
-10
-5
0
0
-2
0
3
5
-9
8
1
8
-12
33
19
0
1
39
0
0
-40
-4
0
-8
1
8
0
13
-10
0
1
13
0
5
10
0
1
0
2
5
-7
-1
-18
0
0
0
-3
-2
0
-25
0
0
0
7
-2
0
12
0
3
0
-2
0
0
53
3
4
3
0
0
17
-6
-4
-35
-8
0
-4
0
-15
0
13
31
-1
0
2
63
-2
-23
-13
0
0
16
-10
3
22
16
-10
-2
-2
0
0
-10
-6
0
0
0
95
0
5
-1
3
0
0
9
0
-13
0
0
1
0
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
8
0
0
4
0
0
0
0
0
47
0
0
0
0
0
0
43
0
0
4
0
0
0
0
0
0
0
0
0
9
55
0
1
2
0
0
0
6
0
0
2
0
0
3
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
3
0
0
0
0
0
0
-15
0
0
0
0
0
0
44
0
0
0
0
0
0
25
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
-6
0
-1
34
0
0
-5
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
3
0
0
0
0
13
0
0
0
0
0
0
14
0
0
-4
0
0
0
-2
0
-1
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
16
0
0
0
-5
-6
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
12
2
0
10
13
0
0
-1
2
0
0
-12
0
0
-3
0
0
8
0
0
-3
-9
0
0
0
49
0
0
0
0
0
0
34
0
0
0
-1
0
0
24
0
0
0
0
0
0
-3
0
0
1
0
0
0
32
0
7
0
0
0
19
-19
0
0
-3
1
0
17
26
0
0
31
0
0
-2
18
0
0
8
0
0
-1
51
0
0
2
0
0
0
-13
0
0
0
0
0
0
97
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
2
0
-15
30
0
0
-1
0
0
0
28
0
0
0
0
0
0
2
0
2
-1
0
0
0
2
0
0
0
0
0
0
-10
0
0
5
0
14
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
1
0
0
7
0
21
7
-22
1
0
0
6
-25
0
0
-16
0
0
0
116
0
-26
-41
-10
-2
5
0
-52
-11
-2
0
-53
0
0
0
0
0
0
0
0
0
21
30
-2
-5
18
3
0
-18
14
-2
-2
22
23
-2
-27
21
0
0
20
0
-3
-4
41
0
11
1
14
8
4
-19
0
0
0
0
0
0
-5
13
-8
0
15
0
0
-47
30
0
0
0
0
-10
-24
2
-4
-15
-3
-2
-15
56
0
-2
18
-3
4
-31
-9
0
-10
22
-20
-1
31
-64
2
-6
126
-4
0
-1
-39
-9
-10
29
1
-5
0
-15
0
0
-1
0
86
0
31
2
-6
0
6
-21
0
5
27
0
0
10
-2
0
45
10
0
5
0
0
1
-23
0
11
54
1
-8
-22
-9
0
0
8
-16
-6
43
14
-1
-49
-41
0
3
12
-47
2
9
2
29
-7
-3
11
0
5
12
0
4
0
-21
0
-5
-1
5
-1
0
51
1
29
0
0
8
0
60
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
-3
-3
9
0
0
0
0
-26
0
0
-7
0
0
0
1
0
-25
0
7
2
0
0
6
-39
0
2
23
0
0
0
0
0
0
0
0
0
-2
23
0
0
-66
0
0
29
-52
0
0
25
0
0
-2
2
0
0
23
0
0
0
28
0
-8
-3
0
0
-2
88
0
0
0
0
0
0
50
-2
0
0
0
0
0
8
0
0
0
0
0
1
-5
1
-2
51
0
0
-1
-8
0
0
26
0
0
4
-33
0
0
-25
0
0
-16
-16
-1
0
-3
0
0
13
24
1
0
-2
0
0
0
29
0
0
3
0
46
0
12
-3
0
0
0
8
0
45
0
0
0
0
0
0
21
0
0
0
0
0
0
40
0
20
3
0
0
-3
31
0
0
-20
0
0
2
-37
0
0
1
0
0
0
35
0
-2
-7
0
0
0
29
1
16
-6
0
0
0
-29
2
-2
0
0
0
0
-43
0
8
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
23
0
0
-2
0
0
0
17
0
2
-7
10
0
0
0
41
0
0
-3
0
8
8
34
2
16
0
0
39
0
0
2
-38
0
0
0
0
0
0
0
0
0
-16
15
0
-4
-4
0
0
46
30
0
0
47
-34
0
50
-23
7
0
3
0
0
16
-41
0
24
10
33
0
0
58
0
0
0
-1
0
0
-27
-26
2
0
9
0
0
28
-13
0
-2
0
0
-6
-9
0
-4
-19
-10
0
43
15
0
0
-2
0
0
15
8
0
-4
-61
6
0
-16
-31
0
36
-8
0
0
-4
-38
1
0
9
61
0
4
-15
0
-1
-17
0
0
0
12
0
1
-26
8
0
0
40
0
0
6
0
0
0
23
5
-2
0
0
0
16
96
0
-41
-8
0
0
9
13
0
-3
40
0
0
-1
21
0
24
50
0
0
8
36
-1
0
-8
19
0
9
21
0
-8
12
0
0
-7
-19
0
5
16
-1
0
7
13
0
-3
-2
3
0
0
62
0
-13
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
-24
58
-64
0
-1
1
0
0
-1
6
1
-14
-13
-19
0
3
0
8
-29
4
2
-72
4
2
0
0
0
0
0
0
0
3
-38
-4
0
-3
0
-5
-3
-6
0
0
54
-3
0
14
-23
0
-8
15
2
0
-1
-42
0
23
-27
-25
0
-1
3
0
0
9
0
0
0
-9
27
-14
0
14
0
0
-12
-4
-1
0
-1
0
8
-8
0
-2
23
-4
-4
-52
-10
0
12
-6
14
-1
48
12
-6
-14
-50
30
0
105
18
-1
-9
4
-30
21
23
23
1
2
74
5
-4
-3
51
0
-4
-5
8
-1
0
-15
-2
1
-5
5
-7
0
15
0
0
0
-1
0
0
-27
31
5
-7
0
0
4
42
0
28
-20
-1
-6
-14
-5
6
33
10
-17
0
-13
-29
0
-1
-15
-1
0
0
31
0
0
-4
-8
0
-1
40
0
-21
27
5
2
0
13
0
-6
-7
-39
-5
0
8
0
59
-3
0
2
0
89
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
24
0
-4
-4
0
0
0
-3
0
19
6
-4
0
0
0
31
-10
0
0
-8
0
0
0
0
0
0
0
0
0
-57
-13
4
1
92
4
1
25
-13
0
7
16
1
0
-4
44
0
0
-13
0
3
7
0
2
13
4
4
0
0
26
0
0
0
0
-4
0
39
1
-8
0
0
0
0
32
0
0
0
0
0
1
91
5
5
60
1
-3
49
-22
-4
0
-1
0
0
-6
72
-2
43
-18
9
0
50
-41
0
0
5
-2
0
0
5
0
0
-5
3
0
0
0
5
0
-7
4
0
0
29
0
3
0
-3
15
0
57
1
5
0
0
0
0
36
-1
0
0
1
0
-4
19
0
3
-18
4
0
4
-8
0
-5
44
0
0
-2
27
0
32
-16
1
0
4
-31
0
7
-29
-5
0
6
-35
0
55
8
0
0
-4
0
0
0
1
6
0
0
67
0
17
6
0
0
0
-11
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
17
0
0
2
0
0
0
0
0
0
0
0
0
-5
30
0
0
0
0
0
25
18
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-8
0
0
7
0
0
0
31
0
0
0
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
0
0
0
14
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
2
0
1
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
-1
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-32
0
0
0
0
0
0
47
0
0
0
0
0
0
-8
0
0
0
0
0
0
-30
0
0
-1
0
0
0
-6
0
0
0
0
0
0
-15
0
0
-5
0
0
0
-1
0
0
0
2
0
0
-42
0
0
0
0
0
0
-7
0
0
0
0
0
0
49
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
-3
0
0
0
31
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
0
0
0
6
-1
0
0
-8
0
0
0
-2
0
-3
-2
-1
4
0
0
-5
-30
0
0
49
0
0
0
0
0
0
0
0
0
22
5
3
5
-30
0
0
-8
6
0
2
-4
0
0
-1
-8
0
0
8
-2
0
8
-8
0
24
4
9
-2
0
26
0
0
0
1
0
0
-12
5
-5
0
0
0
0
31
0
0
0
3
0
0
47
1
0
0
0
0
-8
7
0
0
-3
0
0
-1
-29
-6
1
75
6
-1
3
34
2
4
-1
-3
-1
8
25
0
8
0
-6
-1
0
-21
1
-1
1
0
8
0
-44
0
-6
0
0
26
0
-45
0
0
0
-2
0
0
-6
0
0
0
0
0
2
-50
-9
-8
0
-1
0
1
-32
2
-2
3
-2
0
0
-19
0
13
-3
1
0
0
18
-3
0
0
-5
0
8
-3
0
-19
-5
-5
-3
0
-46
0
0
0
4
0
0
32
0
0
0
0
-2
0
80
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
15
0
0
0
0
0
-2
-30
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
0
0
-5
0
0
0
7
0
0
0
0
0
5
-2
0
0
0
0
0
1
-1
0
3
0
0
-1
0
-12
0
0
0
0
0
0
23
0
0
0
0
0
0
-35
0
0
0
0
0
0
-9
0
-3
0
0
0
0
-8
0
0
12
0
0
0
8
0
5
-5
0
0
0
-6
0
0
0
0
0
-7
0
0
0
1
0
0
-1
-6
0
0
0
0
0
0
-5
0
0
0
0
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
2
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
-1
0
0
0
18
0
0
0
0
0
0
-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
0
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
0
0
5
-6
0
0
0
50
0
0
0
0
0
35
0
4
-2
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-12
-11
0
-5
45
1
0
41
25
0
1
-2
-64
0
-3
10
0
-7
50
0
0
4
28
-2
22
-37
9
0
0
-18
-8
0
8
0
0
0
-4
-24
-6
0
-6
0
0
-2
1
0
-5
0
0
14
18
0
0
-18
-5
0
43
34
-1
0
11
-3
0
57
-29
0
-22
4
4
0
-51
0
0
0
58
0
0
8
-49
-4
-1
3
-52
0
15
44
0
-5
-67
0
0
-1
-10
0
0
1
7
0
0
-5
0
0
0
2
0
1
61
-6
0
0
0
0
5
2
0
31
-31
0
0
-9
62
0
1
53
16
0
4
-15
4
49
-44
0
0
-2
-5
0
24
0
0
0
0
7
0
-14
-4
0
0
2
18
0
-8
26
8
0
0
-34
0
93
-1
0
0
0
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-48
0
-4
0
0
0
0
-20
0
0
1
0
0
0
0
0
0
0
0
0
0
38
0
0
21
0
0
0
29
0
0
0
0
0
1
-10
0
0
-6
0
0
0
35
0
-10
-1
3
0
0
44
0
0
0
0
0
0
72
7
0
0
0
0
0
15
0
0
0
0
0
0
17
0
0
-4
0
0
-3
-32
0
0
7
0
0
-2
61
0
0
-1
8
0
0
-52
0
0
-2
0
0
0
-9
0
0
-3
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
2
0
0
0
-4
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
2
0
0
0
4
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-13
0
-24
-4
3
0
0
0
5
-4
-2
0
10
0
-2
0
0
0
0
0
0
0
-55
5
16
16
-5
0
0
-43
42
0
0
13
1
0
5
-45
0
-2
75
0
0
0
-5
0
-46
1
-12
0
-1
0
-3
-1
-4
4
-5
0
33
-8
-18
0
0
0
0
26
-15
0
0
0
0
1
-49
8
9
41
0
12
-6
-15
0
-1
-19
0
1
2
5
4
0
6
-6
0
-31
13
0
-15
5
4
0
14
-2
0
1
-32
4
3
1
14
0
0
-1
0
-8
0
0
0
0
0
-4
0
0
7
1
0
0
-2
0
0
49
10
0
0
-1
0
-2
-43
0
-12
6
0
-8
0
-7
0
-8
18
-3
0
-20
-30
0
-9
20
0
2
1
37
1
-3
12
-3
-1
0
13
0
-12
-9
0
-2
0
-4
0
0
-1
0
0
0
0
0
2
-6
-2
6
0
-43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
1
0
0
0
6
0
0
3
0
0
0
13
0
0
0
0
0
0
0
0
0
8
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
21
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
-41
-43
0
0
27
-1
0
-5
-4
0
0
0
-8
0
2
13
0
0
-1
0
0
0
20
0
28
0
-5
0
0
44
0
0
0
0
-7
0
-11
0
0
0
0
0
0
-30
0
-2
0
1
0
0
-8
0
0
0
0
0
0
-53
0
0
46
0
0
2
49
0
0
0
1
0
13
10
0
0
2
0
0
0
-3
0
0
0
10
-9
0
-59
0
0
2
0
-5
0
-9
0
0
0
-3
0
0
-2
0
0
0
8
0
0
-19
2
0
0
0
0
0
74
0
-6
0
0
0
0
-2
0
0
0
2
0
0
-17
0
0
0
0
0
-1
-13
0
0
0
4
0
0
31
0
2
0
0
0
0
4
0
0
0
0
0
0
23
0
-1
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
7
0
-7
-8
4
0
0
0
3
-42
0
0
-4
0
-3
0
0
0
0
0
0
0
39
21
0
4
-15
0
0
48
7
0
0
26
0
-1
9
22
0
0
16
0
0
-5
-2
0
6
-3
0
-1
6
7
0
0
-1
0
5
0
-4
-2
0
0
0
0
0
24
0
0
0
0
0
-1
1
0
0
8
0
-3
0
-39
0
0
-3
0
0
-33
-9
0
-8
58
0
0
-3
-4
0
-8
4
-6
0
8
4
-3
4
3
0
0
0
46
0
0
2
0
22
7
-24
0
0
-6
0
38
0
-1
0
0
4
0
0
0
39
0
0
0
0
0
0
64
0
-32
2
0
-1
-3
27
1
1
-1
0
0
-3
27
0
13
-2
0
0
4
2
0
-5
5
0
0
-2
-35
0
27
0
0
0
0
9
0
0
3
0
0
0
-30
0
-5
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-12
0
0
-9
0
6
2
9
-49
42
5
0
-21
-10
14
-10
-18
0
0
0
0
0
0
0
0
0
-7
15
5
-13
-50
-7
0
60
-25
0
-13
-2
50
0
66
19
0
25
6
0
0
1
21
8
21
19
-23
0
4
2
-32
-5
-8
0
0
0
45
44
-3
1
-25
0
1
-2
21
1
4
-10
0
-20
21
-4
13
61
40
0
-10
10
23
-19
19
5
0
28
23
20
14
-10
5
0
20
19
7
67
5
32
0
13
20
41
40
-6
94
0
-9
24
0
-13
-50
0
0
-1
2
33
-64
-42
8
0
0
23
-3
60
-3
-1
0
2
-28
-12
4
-25
-17
0
13
2
-13
15
-22
-9
0
-1
14
9
1
28
-47
0
85
4
-1
-21
30
7
3
-95
23
6
39
10
47
0
6
19
-1
-47
77
1
0
8
38
0
-9
56
-13
0
0
-3
-13
-39
13
-4
0
0
-9
8
19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-9
0
0
2
0
0
0
0
0
0
0
0
0
-4
30
0
1
-7
0
0
0
22
0
0
0
0
0
-7
9
0
0
0
0
0
0
-52
0
22
0
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
-43
0
0
0
0
0
0
11
0
0
0
0
0
-2
2
0
0
14
0
0
-3
-4
0
0
-3
0
0
0
60
0
0
12
0
0
6
-1
0
0
2
1
0
18
-10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
32
0
0
0
0
0
0
-22
0
0
-12
0
0
0
20
0
0
0
0
0
0
-7
0
0
13
0
0
0
-4
0
0
1
0
0
0
13
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
40
-1
-5
-1
0
21
-28
1
-4
-29
0
0
0
0
0
0
0
0
0
-61
-4
-2
-9
-6
0
-2
-46
-13
0
0
37
-42
0
63
-55
0
-8
49
0
5
-13
-6
0
-35
9
31
2
0
61
1
0
6
0
12
0
-41
0
22
0
-4
0
0
0
14
0
1
-7
0
13
-8
9
2
-13
-10
0
-3
-3
0
-2
31
0
0
33
-41
0
32
-85
31
0
5
-42
4
-5
11
3
13
-1
-21
-3
51
-4
-20
-2
8
13
0
-6
-12
2
24
0
6
0
-1
1
4
5
0
-5
0
-1
0
14
0
0
-17
-5
0
8
0
0
0
-5
4
73
45
0
17
-25
-95
0
-2
41
2
0
-10
-1
0
-44
15
-1
0
13
-8
0
-24
16
-6
0
1
25
0
-44
40
-6
1
-4
74
0
-4
0
14
-1
0
8
0
10
-1
0
-5
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
-22
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-25
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-10
1
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
14
25
0
-2
7
0
0
0
4
0
0
-3
0
0
7
30
0
0
-1
0
0
0
-1
0
26
-7
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
13
0
0
0
0
0
0
-18
0
-2
0
0
0
-2
1
0
0
2
0
0
0
-18
0
0
1
0
0
-7
28
0
0
7
0
0
0
-8
0
0
0
-19
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
30
0
0
0
0
0
0
33
0
0
0
0
0
0
13
0
-2
0
0
0
0
2
0
0
-10
0
0
0
21
0
1
0
0
0
0
16
0
0
-8
0
0
0
2
0
0
3
0
0
0
24
0
0
0
0
0
0
26
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
44
41
5
32
0
0
13
13
6
0
-4
0
0
0
0
0
0
0
0
0
-4
22
0
2
-54
0
0
99
-7
0
-4
-10
72
0
42
13
0
0
0
-3
0
0
1
0
-12
-13
27
0
0
27
8
2
0
2
0
0
41
-47
23
0
1
0
0
44
42
0
8
3
0
22
-24
-4
0
-46
-1
0
-59
-6
-3
0
-45
0
0
36
-17
0
0
51
2
0
121
9
-3
0
-72
0
0
-1
32
5
0
80
30
0
0
11
0
0
24
0
0
-4
7
0
20
7
13
0
0
-9
-5
1
0
0
0
0
34
1
0
3
0
0
-5
20
-3
22
46
0
0
4
23
0
-12
46
5
0
-22
7
0
-33
-56
5
0
-1
-19
2
-16
2
-5
0
10
14
-6
-42
3
0
0
0
-25
0
5
-19
10
0
0
-10
0
3
3
0
0
0
1
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
-2
0
0
0
0
0
0
0
0
0
-7
9
0
0
20
0
0
0
25
0
0
2
0
0
0
25
0
0
0
0
0
0
3
0
7
0
0
0
0
-5
0
0
0
0
1
0
-5
0
0
0
0
0
0
57
-5
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
-2
0
0
6
-14
0
0
0
0
0
0
-28
0
0
-1
0
0
0
13
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
-6
0
0
3
40
0
0
-1
0
0
0
42
0
0
0
0
0
0
-3
0
0
0
7
0
0
6
0
0
4
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
4
2
7
-12
11
-17
0
0
0
0
0
0
0
25
-4
6
-16
22
85
4
47
6
-23
0
-10
-66
-24
12
-17
-6
-7
-4
-50
28
26
-15
13
3
33
-6
5
13
-7
-2
-14
17
-17
18
-6
-3
9
12
16
3
25
12
0
13
41
-22
89
47
-20
17
41
93
-9
-19
17
14
-6
-10
5
-15
10
4
38
3
-98
-16
31
24
8
11
-3
51
-21
56
11
-58
9
2
11
-32
-60
-52
57
-32
-5
12
79
22
-1
51
31
-9
-18
51
20
43
16
49
-5
21
-26
20
31
-22
-41
0
-32
7
0
10
-3
-27
7
-7
-3
-18
-8
-15
29
-21
-48
21
33
9
37
-55
-23
-10
9
-16
-9
18
48
-5
15
-40
16
70
45
-51
3
-41
0
36
-40
1
14
5
-40
53
22
40
57
-7
-7
14
0
-6
-13
-61
-5
6
-78
48
-4
14
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
11
0
1
-2
0
0
0
0
0
0
0
0
0
43
-24
1
1
-38
0
0
-49
-44
0
-1
2
-8
-3
-49
-28
0
5
6
-4
2
4
22
0
12
1
-19
0
0
-96
0
0
-2
-5
7
-1
4
25
-2
0
0
0
0
-5
0
0
0
-1
0
-6
33
-8
-1
-3
17
1
102
-13
2
1
-20
0
0
52
-21
0
-1
34
8
0
-29
-31
0
0
22
-12
0
20
-29
0
5
13
25
-5
5
46
0
0
0
5
-2
-4
52
0
2
-1
0
31
0
2
0
2
0
0
0
0
-69
0
0
-1
0
0
13
52
-1
-27
53
0
2
0
-29
0
-2
-22
2
0
-2
68
-3
6
-5
-3
3
0
-3
0
18
-12
-2
0
0
-49
0
-23
1
0
0
0
-50
0
0
0
0
0
0
-5
0
24
0
0
0
0
71
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
31
-3
0
76
0
0
0
0
0
0
0
0
0
-15
29
0
0
76
0
0
8
-59
0
0
44
-1
0
2
-14
0
0
33
1
0
0
-40
0
-6
18
-19
0
0
2
0
0
0
0
13
0
45
25
0
0
-2
-8
3
-18
-5
0
-2
0
0
2
16
-5
8
37
1
4
-5
-45
0
0
-36
0
-1
19
0
8
2
-24
4
0
15
65
1
0
-7
0
0
19
-61
-3
0
-17
23
5
8
-14
0
0
4
0
-1
0
2
0
0
22
-12
-10
0
29
-1
5
0
0
-13
0
41
0
0
9
0
0
0
5
3
-21
15
0
0
2
-84
0
-4
-9
-2
0
9
21
0
-5
-9
0
0
-1
66
0
-5
5
41
0
0
28
0
-12
-2
0
0
1
21
0
-3
-1
-6
0
0
-11
0
-13
-2
6
0
0
-9
-12
9
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
20
-33
0
-2
5
0
0
-3
27
0
0
-31
0
0
-2
-16
0
0
4
0
0
0
73
0
33
3
-9
-2
0
0
0
1
0
0
-9
0
-25
27
0
0
0
0
0
7
0
0
0
0
0
5
22
0
0
0
0
0
0
49
0
0
2
0
0
-7
75
0
0
-1
1
0
0
-20
0
0
23
0
0
0
-2
0
0
0
2
0
0
-39
0
0
-2
0
-2
0
1
0
0
0
-4
7
0
-24
0
0
0
0
0
0
-41
0
0
0
0
0
0
4
0
-3
0
0
0
0
51
0
-1
-1
0
0
8
-39
0
-1
19
0
0
0
33
0
4
0
0
0
0
24
0
-4
0
0
0
0
-6
0
0
0
0
0
0
11
0
8
0
0
0
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
7
0
0
0
0
0
0
0
0
0
37
-45
0
-2
35
0
0
0
23
0
0
-17
0
0
0
8
0
0
-3
0
0
1
-16
0
-5
2
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
-3
-21
0
0
-25
0
0
7
-50
0
0
-19
0
0
0
27
0
0
0
0
0
0
75
0
0
-5
0
0
0
-25
0
0
0
0
0
0
54
0
0
0
0
-3
0
31
0
0
0
0
0
0
24
4
0
0
0
0
0
-6
0
16
-2
0
0
0
-16
0
0
0
0
0
0
59
0
-3
-2
0
0
0
20
0
-1
0
0
0
0
5
0
3
0
0
0
0
-5
0
0
0
0
0
0
25
0
2
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
0
-8
32
5
-1
-117
-50
2
0
32
-73
-6
-5
-40
7
-3
22
-1
6
0
23
-1
-2
9
30
-9
4
19
3
0
5
0
2
0
-3
-13
0
0
7
6
0
1
34
0
0
0
0
0
6
0
0
43
0
0
133
-69
0
2
7
-1
0
48
9
0
0
42
-44
-3
-5
14
0
13
-19
-25
-3
-6
-14
4
-2
16
22
0
15
78
0
7
-7
0
-3
0
2
0
0
5
-16
-13
0
3
2
-1
0
0
0
0
-2
-4
0
0
-1
0
0
44
0
31
13
0
0
1
93
0
12
11
7
0
-2
-62
0
48
51
-3
0
-5
-46
0
17
3
-2
2
-4
-60
0
4
50
0
0
-4
15
5
2
40
-8
0
0
-14
0
-33
0
0
-3
0
-5
-9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-31
25
-9
-28
-79
-10
2
2
48
-4
2
49
-4
-8
77
4
4
-62
5
29
-27
96
-2
-17
-8
30
-44
-14
13
-28
31
48
-16
-2
-6
-25
1
15
21
75
20
1
-45
-56
52
-24
-5
-12
0
13
8
-13
-56
-4
-6
-6
-12
-17
21
31
47
-12
-2
65
-23
28
21
40
19
-2
-41
56
14
-12
40
-15
3
13
23
75
-13
105
-9
0
-49
-58
21
22
4
-4
-28
117
41
0
-8
3
-3
-8
2
-60
-17
-21
58
11
-10
-14
39
-69
53
8
92
0
50
44
34
3
22
-31
-12
32
12
-12
50
9
18
-1
29
-3
-5
-40
21
11
-24
-24
2
-8
6
88
6
4
4
-3
-34
46
-2
51
-36
-3
23
-30
-27
-13
4
15
-5
23
-8
-18
45
2
14
-17
-30
-12
20
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
4
0
0
-61
0
0
-4
11
0
0
13
0
0
2
24
0
0
3
0
0
0
-11
0
39
-12
0
0
0
-20
0
0
0
0
0
0
40
2
0
0
0
0
0
-11
2
0
0
0
0
0
104
0
-6
1
0
0
1
36
0
0
25
0
0
1
60
0
0
19
0
0
2
24
0
0
-13
0
0
3
32
0
0
0
-5
0
0
26
0
0
6
0
0
0
64
0
0
4
0
0
0
-42
0
0
0
0
0
0
8
-14
5
-1
0
0
0
24
0
3
0
0
0
0
13
0
0
-16
0
0
1
-66
0
-2
0
0
0
0
23
0
-2
2
0
0
0
-1
0
-3
0
0
0
0
7
0
0
0
1
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-13
-4
0
10
0
0
-2
-13
0
0
-4
7
0
3
-81
0
0
0
0
0
0
-1
0
17
0
-1
0
0
19
0
0
0
0
0
0
-60
0
0
0
1
0
0
83
0
0
0
0
0
-3
38
0
0
0
0
0
1
93
0
0
5
0
0
2
-26
0
0
-2
0
0
0
26
0
0
-5
0
0
0
15
0
0
-1
0
0
0
-55
0
0
0
0
0
0
-10
0
0
0
0
0
0
-36
0
0
0
0
0
0
-20
0
0
0
0
0
0
-68
0
25
0
0
0
0
10
0
0
0
0
0
0
-24
0
-2
0
0
0
0
4
0
0
-8
4
0
0
64
0
-1
0
0
0
0
1
0
0
-1
-1
0
0
-7
0
-1
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
24
13
17
0
36
63
19
-16
26
58
-5
-3
-76
6
4
-12
-26
25
17
-8
43
0
-42
10
26
8
2
15
-13
-2
0
2
8
0
6
43
21
0
20
-5
-2
5
-44
0
-5
0
0
-9
-17
-14
32
-29
-4
15
2
-26
0
7
51
0
0
69
53
25
-22
-23
-56
31
22
43
4
5
28
2
7
46
-15
5
-3
76
-3
10
1
-4
3
0
-24
1
36
0
22
6
3
-5
-14
11
0
-15
-6
3
0
4
4
0
33
-24
5
-1
-2
0
5
76
2
25
56
0
1
28
-32
1
61
57
-15
-2
72
-41
-4
62
12
-7
0
-9
-47
3
36
65
-35
3
-30
20
9
-23
61
23
-1
15
42
-2
-10
69
45
-6
0
-75
0
-76
1
0
5
0
-30
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
-2
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-28
0
0
2
0
0
0
25
0
0
-3
0
0
1
76
0
0
0
0
0
0
19
0
0
3
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
63
0
-1
0
0
0
0
17
0
0
-9
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
0
30
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
2
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
67
0
0
0
0
0
0
52
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-15
0
0
-5
0
0
0
-29
0
0
0
0
0
0
-57
0
0
-2
0
0
0
-2
0
0
0
-2
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
2
0
0
0
0
-25
0
0
0
0
0
0
1
0
-3
0
0
0
0
3
0
0
0
0
0
0
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
38
8
31
-17
46
3
-13
9
2
-15
45
14
4
7
-13
1
-6
7
8
-45
25
11
42
1
-17
27
-9
1
2
-11
19
3
2
25
-9
26
43
25
49
-8
0
-20
21
-35
8
13
0
31
49
-9
15
-79
44
4
24
-13
-32
1
-47
-3
67
-8
-8
4
-32
-17
28
8
10
41
8
18
20
15
-1
45
41
-1
-6
90
-16
9
6
10
10
81
-8
31
-48
42
0
5
-11
48
7
-15
6
-2
45
-12
-17
-6
-41
3
25
-14
2
-24
14
5
41
9
40
-56
-15
82
35
-5
-13
-14
49
16
27
-34
-17
85
9
7
78
32
-74
-41
25
14
-41
42
30
60
-19
24
-9
-4
43
17
29
-8
0
-11
-13
29
19
-3
-6
0
11
24
-7
25
-24
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-7
-55
33
-11
27
16
-25
-29
-8
43
11
10
-13
24
-49
1
16
-22
-31
-40
5
-5
-10
2
2
-1
16
0
-4
-9
-91
-1
39
-4
29
22
4
-6
-84
53
5
31
9
41
3
9
24
17
6
3
62
63
13
-54
-13
-1
0
7
4
-4
21
3
10
-31
-35
-13
-52
31
31
11
-42
-22
-21
14
-20
24
33
-11
-5
-9
-14
-24
8
-73
-25
8
29
-33
-5
12
-2
3
-44
-24
8
12
38
3
-33
48
-1
-6
-6
-4
-19
18
15
9
9
16
5
5
44
-58
60
50
-24
25
14
0
-9
27
41
-5
20
21
-26
59
9
-54
15
20
-75
3
4
26
-43
-33
11
-21
8
6
18
-14
-7
42
28
-5
12
-47
-16
-15
62
-3
31
57
51
-18
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
5
0
0
-1
-32
0
0
0
0
0
0
3
0
-5
0
0
0
0
-14
0
0
0
0
0
0
18
1
0
0
0
0
0
-3
0
0
0
0
0
4
44
1
0
3
0
0
0
12
0
2
1
0
0
1
55
0
-3
0
1
0
0
28
0
0
0
0
0
0
35
0
0
0
0
0
0
-30
0
0
2
0
0
0
-5
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
1
5
0
0
0
5
0
0
-1
0
0
0
34
0
5
0
0
0
2
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
-7
0
-15
-7
0
0
-7
0
-3
0
38
0
53
3
1
0
0
-15
0
-6
0
0
0
0
-34
5
0
0
0
0
0
31
0
0
1
0
0
-2
13
-2
0
5
-6
0
-30
-9
0
10
5
0
0
-19
-5
-3
5
4
0
0
2
58
1
0
49
0
0
0
7
0
0
1
0
0
0
-6
0
0
-1
0
0
-4
11
0
0
0
1
15
0
12
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
0
8
30
0
0
0
-69
0
0
49
-4
0
5
102
0
-5
25
0
0
-4
9
0
8
-7
0
0
0
37
0
0
6
0
0
0
5
0
0
15
0
0
0
65
0
-2
0
0
0
0
-9
5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
2
31
-11
12
-15
3
12
3
-4
49
4
10
25
16
5
9
62
70
-8
11
-25
-1
-2
57
-5
93
0
-15
-32
-15
-3
-4
-10
1
8
4
-9
7
0
-1
17
32
4
94
43
-35
68
30
-41
13
12
10
-8
8
14
21
-1
-20
-13
60
-2
68
6
2
-34
-26
24
-10
-88
14
-14
38
-9
-21
18
44
27
0
14
41
16
-10
-6
16
-3
33
-51
68
-94
0
-13
-12
-1
0
-9
-3
7
30
-51
4
49
19
0
-2
-31
-4
-24
13
2
-9
71
-7
59
-39
-41
32
-5
7
40
0
6
33
-19
-2
81
25
5
27
-4
25
28
121
41
0
40
-52
-18
23
4
-43
5
5
51
-31
-13
2
29
9
-1
-13
-9
-9
0
-35
25
5
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-40
0
5
6
0
0
-8
-11
0
0
-1
0
0
0
8
0
4
0
0
0
0
10
0
0
1
0
0
0
-44
-2
0
0
0
0
0
24
0
0
0
0
0
0
86
7
0
4
0
0
0
-4
0
1
2
0
0
0
27
0
0
-10
0
0
-2
53
0
0
0
0
0
0
23
0
1
0
0
0
0
53
0
0
0
0
0
0
15
0
0
0
0
-5
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
25
0
0
-7
0
0
0
13
0
-2
18
0
0
0
-44
0
1
0
0
0
0
-3
0
-3
0
0
0
0
15
0
3
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
12
0
0
0
-27
0
0
-1
0
0
0
4
0
-3
1
-2
0
0
49
0
0
0
0
0
0
-7
-4
0
0
0
0
0
6
0
0
0
0
0
0
67
0
0
-4
-3
0
-1
49
0
0
5
0
0
69
-9
0
0
-2
0
0
-1
65
0
0
18
0
0
-1
5
0
0
-5
0
0
0
50
0
0
0
0
0
0
-6
0
0
0
-1
0
0
130
0
0
0
0
0
0
-5
1
0
0
0
0
0
9
0
5
-9
0
0
0
2
0
0
1
0
0
0
-7
0
-1
-2
0
0
0
5
0
0
-4
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
2
61
0
4
9
-12
0
21
-35
-50
2
-8
43
-2
0
13
-4
8
0
36
35
-5
0
-35
1
0
-35
19
-23
0
-1
0
-5
-41
19
-66
-50
22
-1
6
-1
0
-10
6
0
8
0
18
-5
-14
-49
7
1
0
-50
1
29
20
-1
-3
-19
12
-2
-2
8
10
2
1
-32
0
25
-48
1
13
-5
6
-2
-3
4
28
11
7
10
0
-4
0
-1
0
0
54
-22
24
0
6
0
-1
42
-2
3
48
-1
-5
32
57
0
26
-13
1
0
-1
-24
-1
-21
-33
20
1
15
-18
-9
66
-28
-24
3
0
4
0
-7
8
-5
0
0
-4
12
1
-4
0
-2
0
12
2
5
-4
0
1
0
86
-2
5
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-2
2
13
12
28
-7
-5
-7
34
-3
-4
-49
19
-10
-32
-18
-7
-3
-8
8
10
-16
30
-6
-2
-9
-1
-21
-19
-17
-6
-26
37
18
59
-18
8
21
29
-65
25
-12
-8
8
122
2
12
-49
21
-11
-55
38
9
32
23
-4
0
-3
-13
22
5
0
46
6
-14
-59
39
0
44
-1
-11
2
-37
67
-45
1
65
-2
-9
21
-9
-27
25
-3
2
-7
8
8
79
5
8
-18
53
-2
46
21
-1
-33
3
-57
40
-9
11
-51
9
-16
-39
6
-9
-88
-13
102
-2
2
41
92
-75
3
70
0
-18
-32
40
4
7
3
-8
-4
-15
47
-15
-30
8
-2
25
-37
32
-26
46
8
-9
17
-14
-1
18
51
2
9
-17
-14
4
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
0
0
2
0
0
0
64
0
-1
0
0
0
0
13
0
0
0
0
0
0
13
0
0
0
0
0
0
43
0
0
0
0
0
0
-26
0
0
0
0
0
-3
5
0
0
-4
0
0
0
16
0
0
-6
0
0
0
-34
0
0
1
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-17
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
7
0
0
0
0
-41
0
0
-1
0
0
1
6
0
0
4
0
0
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
59
0
0
-4
0
0
0
14
0
-10
-13
0
0
0
-47
0
0
0
0
-1
0
-35
17
0
0
0
0
0
1
0
0
2
0
0
0
6
0
1
2
0
0
8
-5
0
0
-14
-1
0
-22
6
0
0
18
6
0
0
-3
0
0
3
0
0
0
-40
0
0
-6
0
0
0
67
0
0
-3
0
0
0
-3
0
0
0
2
0
0
26
0
0
0
0
0
0
43
0
0
0
0
0
0
-49
0
10
13
0
0
0
8
0
0
5
-2
0
3
23
0
7
6
0
0
0
-10
-2
-3
0
0
0
5
63
0
-3
3
0
0
0
8
0
0
0
-1
0
0
21
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-6
0
0
5
16
4
-2
35
-3
10
-20
2
-1
5
-13
1
1
0
7
22
4
-15
-1
91
0
23
-23
18
15
49
5
0
0
0
-7
5
-39
13
19
34
8
-11
37
-6
52
7
0
1
35
-14
0
-27
-37
14
6
-21
-5
7
-5
-12
7
-4
59
23
0
41
-12
109
1
45
4
0
27
49
-3
41
0
15
0
-1
-4
-37
49
0
43
1
1
0
2
-10
0
7
-59
5
-14
0
0
15
-9
-10
39
41
0
0
-58
45
4
13
23
-18
6
31
2
0
13
96
6
-7
5
-10
2
-46
31
-63
0
6
52
3
55
-1
-2
19
8
4
1
-3
-3
3
-10
2
16
7
-4
-5
0
35
0
-4
13
3
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
0
4
24
0
0
-1
-6
0
36
24
0
-7
1
41
0
0
0
0
-7
0
6
18
-7
0
0
0
-10
34
0
0
1
0
0
1
10
0
0
-4
0
4
15
32
0
-1
81
0
-9
25
25
0
-1
6
0
4
-75
-17
0
0
38
0
-5
-8
-41
0
0
-60
0
0
-4
-19
0
2
-45
0
42
0
51
0
12
16
0
-27
0
-13
0
-30
0
0
8
0
-25
45
0
0
0
0
9
13
0
5
52
0
0
-5
2
0
0
-11
-4
0
10
-1
0
19
36
0
3
13
29
0
0
38
0
0
0
-61
0
62
-10
0
0
0
70
0
-5
31
0
-4
0
0
0
27
-1
0
-2
0
-7
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
-7
0
5
0
0
0
0
-23
0
0
0
0
0
0
-53
-3
7
0
-2
0
0
23
0
0
0
0
0
0
-31
0
-3
0
8
0
9
117
0
0
-4
0
0
1
77
0
0
8
0
0
16
-58
0
0
2
0
0
0
16
0
0
2
0
0
-1
21
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-64
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-46
0
-5
-7
0
0
-5
-28
0
-7
0
0
0
0
-5
0
0
-7
0
0
0
-18
0
8
0
0
0
0
-3
0
0
0
0
0
0
-32
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-2
-17
8
17
0
0
5
0
0
-7
0
-39
0
-25
-42
-2
0
12
0
0
-41
31
0
-7
-1
0
5
4
-13
14
-35
19
-4
-15
6
0
-12
71
2
0
5
40
4
-33
-12
-5
0
2
32
-4
4
18
-8
0
10
-19
0
5
-46
46
16
-4
15
0
-7
-21
-22
52
0
-24
-2
14
0
-29
24
0
1
0
6
0
-5
0
7
93
31
-10
0
2
0
-10
53
7
65
-1
0
14
0
-47
5
16
-35
-23
0
2
5
2
34
35
-1
-9
8
14
6
-7
7
31
17
0
-61
0
13
-31
0
1
0
-3
-16
4
-6
-2
0
0
-95
0
41
0
0
-22
0
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
3
43
31
-3
-6
-8
-25
12
0
4
3
39
-25
1
10
-2
11
6
30
20
0
-5
-30
-8
75
11
-3
47
-15
-19
-3
47
-53
61
-5
-10
93
71
-3
-5
-11
-7
-6
-15
-33
33
24
18
30
-6
41
-70
70
-10
-25
-12
0
32
-32
-22
-27
27
-18
8
13
74
-10
8
-9
3
18
-24
37
9
-12
-54
8
11
-75
12
-3
-23
-5
5
13
-88
20
-27
-15
4
-66
-37
-6
0
10
-8
45
-33
-3
61
-6
-39
21
-15
59
-41
-24
-14
-28
-30
-6
38
-44
45
-13
-31
-2
-22
-12
0
-3
7
-4
8
6
41
-4
17
84
35
-12
14
13
-6
-8
-30
55
3
-24
-1
20
45
15
6
-28
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
0
0
-8
0
0
0
43
0
0
0
0
0
0
-35
0
0
-1
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
8
0
0
0
5
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
24
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
35
6
0
0
0
0
0
-35
4
0
0
0
0
1
-37
0
0
-27
0
0
0
32
0
0
4
0
0
2
-13
0
1
8
0
0
0
1
0
0
0
0
0
1
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
30
0
0
0
0
0
0
13
2
0
0
0
0
0
19
0
-4
1
0
0
1
35
0
0
0
0
0
0
-22
0
0
0
0
0
3
52
0
1
-12
0
0
0
-44
0
0
0
0
0
0
18
0
0
-3
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
1
10
-1
-23
7
19
-22
3
0
0
0
-31
0
-34
-46
70
0
-27
0
1
-28
-9
0
1
-4
0
-26
-31
34
-3
30
7
-30
60
44
1
8
-7
12
0
-80
4
3
69
14
21
3
-22
-40
0
12
-20
29
-7
-19
32
0
4
-2
20
-6
-13
-7
0
42
-16
0
13
-10
1
0
-15
0
-101
17
0
5
6
-2
0
0
3
0
49
43
-3
-1
0
0
-6
-12
0
-13
-6
-3
-3
-29
-2
0
-57
-51
-17
0
-20
62
-4
-5
-3
2
-4
-13
42
-7
12
-55
-25
8
-10
12
0
-4
-9
0
0
15
1
3
-14
0
4
29
0
-41
0
-13
0
5
4
0
-4
16
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
0
0
0
-7
0
0
0
0
0
0
-53
0
3
0
0
0
0
55
0
0
0
0
0
0
79
5
0
0
0
0
0
11
0
0
25
0
0
-2
-77
0
0
34
0
0
0
28
0
0
2
0
0
-1
66
0
0
0
1
0
0
44
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
-3
0
0
0
13
0
-4
2
0
0
2
0
0
0
0
-4
0
0
-38
0
4
-1
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
5
0
0
-13
0
0
-1
0
0
0
13
-2
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
-1
-2
0
-5
23
0
0
1
0
0
-4
24
0
4
6
2
0
13
-13
0
0
-17
0
0
0
51
0
0
-1
0
0
0
-20
0
0
0
0
0
0
-5
0
0
-1
3
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
13
0
-5
0
0
0
0
42
0
0
4
0
0
0
32
0
4
6
0
0
0
12
0
0
-3
5
0
1
20
0
0
-1
0
0
0
-4
0
0
0
0
0
0
51
0
8
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
-7
0
-26
1
0
0
0
0
0
39
-1
0
0
0
0
-2
35
0
-4
0
0
8
30
9
0
0
9
0
0
-5
17
0
-6
28
0
0
1
-31
0
3
2
0
-5
0
31
0
17
-22
5
0
1
13
0
-4
-24
0
4
0
26
0
0
0
1
-8
0
-30
0
0
0
2
0
0
-3
0
0
0
0
0
0
5
0
-7
5
0
0
-2
-14
0
0
-43
0
-1
0
-7
0
-3
0
0
0
1
35
0
-1
5
-20
-6
-1
-7
0
0
6
6
0
0
-54
0
0
-5
0
0
0
58
0
-5
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-17
0
-4
8
-2
27
3
23
67
12
0
8
-1
-2
2
5
2
57
5
6
-15
8
15
-33
-46
9
24
9
-37
-14
38
-9
14
3
22
4
47
22
-58
42
-6
-11
17
-24
-49
22
-60
27
29
10
50
33
-83
22
5
-36
0
0
-13
-25
-24
-14
0
20
27
32
19
-8
-36
-1
-24
-52
0
3
-8
-2
-2
23
89
-2
15
-34
0
-13
-67
31
66
60
-2
-13
-5
19
8
-31
32
-22
0
-28
-2
-2
-35
22
-38
2
-9
9
5
-5
23
16
17
-13
30
0
49
-40
33
29
23
0
0
-8
-14
6
0
-5
0
1
39
13
0
41
0
-4
67
3
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
-2
0
0
0
96
0
0
-1
0
0
-2
7
0
0
-5
2
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
39
0
0
-2
0
0
0
5
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
89
0
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
35
-8
-2
46
-4
-42
0
25
12
0
-3
-1
-17
-3
6
-13
-7
66
-2
0
91
-7
-33
95
39
-23
5
42
2
22
66
53
14
10
56
-3
-5
-36
20
9
15
40
-24
1
47
-3
-36
12
-7
-68
1
40
22
53
8
0
-27
0
41
-10
27
-9
22
-1
23
1
49
-28
20
0
-1
-3
-8
0
13
17
-7
-13
-47
-16
-13
17
5
-42
-28
41
50
48
-8
-7
-34
25
8
-38
-23
-63
-8
11
13
0
-18
65
-3
0
60
-58
-5
5
-40
15
-3
-1
15
0
-6
39
33
5
20
-34
-17
9
88
51
8
2
16
8
44
3
1
-50
1
-10
-14
-5
23
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-19
7
0
0
0
5
0
47
-42
8
0
8
0
8
-22
0
0
0
3
0
6
-11
0
6
3
2
8
-23
23
-4
2
-66
2
-1
-48
20
0
2
12
19
1
31
-3
3
-2
-22
0
0
0
15
6
0
0
-1
0
0
6
0
0
1
1
-2
0
25
0
0
0
0
-4
0
18
1
3
0
0
0
0
4
-25
0
0
0
0
0
-5
0
75
10
-3
3
12
-23
0
0
28
3
0
16
-41
0
-66
-29
0
-1
-5
-12
0
-3
5
0
-5
0
73
0
14
0
0
3
0
32
3
4
0
0
0
0
-21
-3
14
0
0
0
0
7
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
-2
0
0
0
1
0
43
-7
0
0
0
0
0
10
1
0
1
0
0
-5
-42
0
0
3
0
0
50
-14
0
0
4
0
-9
32
26
0
-5
8
0
2
52
25
0
-1
43
0
12
13
-31
0
0
24
-3
-1
0
14
0
-5
77
0
0
0
40
0
1
0
0
7
0
-23
0
0
0
7
0
0
24
5
0
0
0
0
-26
25
0
53
58
0
0
-8
47
3
42
-24
0
0
-4
47
0
-55
-55
0
-1
0
-18
0
20
112
0
-2
5
-29
0
8
24
0
0
0
43
0
0
5
0
0
0
-46
0
-54
0
0
8
0
-64
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
27
0
0
0
0
0
0
-39
0
0
0
0
0
0
4
0
0
0
0
0
0
20
0
0
2
0
0
13
50
0
0
-13
0
0
1
-17
0
0
-4
0
0
0
30
0
0
14
0
0
1
41
0
0
-4
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
23
0
0
0
0
0
0
8
0
0
3
0
0
0
-8
0
0
0
0
0
-1
28
0
-5
0
0
0
0
-58
0
0
0
0
0
0
13
0
-2
0
0
0
0
20
0
0
5
0
0
0
-11
0
4
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-7
0
0
0
0
0
3
0
0
0
0
0
0
-45
0
0
-1
0
0
7
-5
0
0
0
0
0
5
-2
0
0
32
-1
0
-17
-8
0
-5
22
0
0
0
-17
0
0
-12
4
0
0
-25
0
0
-2
0
0
0
47
0
0
0
-2
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
0
-6
0
0
0
0
-73
0
0
0
0
0
0
8
0
0
12
0
0
0
35
0
0
0
0
0
0
-36
0
-13
0
0
0
0
0
0
0
0
0
0
0
-32
0
-6
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
21
-15
17
0
1
-15
52
-24
5
27
8
54
4
49
69
-66
64
7
-15
-13
3
12
-4
1
-2
12
7
49
22
42
26
4
-21
11
30
-46
14
-48
22
11
2
9
-39
-4
-1
-8
0
-3
-3
66
-29
43
30
22
0
-5
25
-30
4
-26
0
-8
-10
-14
0
7
16
-3
-34
25
-16
25
19
2
-21
-33
70
20
9
1
-19
13
-7
3
5
-64
31
-4
20
-10
27
-22
-7
-10
8
-40
22
-13
-1
33
10
2
102
7
5
-31
19
-13
-4
8
14
-3
37
37
-8
-9
-5
0
-2
2
-10
5
4
-1
-7
-16
10
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
2
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
-5
0
0
-1
-7
0
0
-1
0
0
1
42
0
0
2
0
0
0
23
0
0
12
0
0
0
2
0
0
1
0
0
0
49
0
0
0
0
0
0
-2
0
0
0
2
0
0
-44
0
1
0
0
0
0
6
0
0
0
0
0
0
1
0
5
-5
0
0
0
-17
0
0
0
0
0
0
1
0
-12
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
-3
-12
0
0
-2
0
0
-4
-5
0
0
0
0
0
0
-49
0
0
3
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
3
25
0
-2
0
0
0
0
1
0
0
0
-2
0
0
-3
0
-1
0
0
0
0
12
0
0
0
0
0
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
90
4
0
0
0
0
0
-13
0
-8
0
0
0
6
-8
0
0
3
0
0
1
-28
0
3
-5
0
0
-3
-7
0
0
0
0
-2
-1
60
0
0
0
1
0
0
5
0
0
0
0
0
0
14
0
0
0
0
3
0
-15
-2
0
0
0
0
0
3
0
0
0
0
0
0
-15
0
0
-6
0
0
0
-5
0
0
1
0
0
-2
72
0
0
0
0
0
-6
20
0
0
3
0
0
0
-13
0
0
0
0
0
0
96
0
0
0
0
0
0
114
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
58
0
0
0
0
0
0
8
1
0
0
0
0
0
59
0
0
0
0
0
0
16
0
0
0
0
0
5
-30
0
0
-6
0
0
0
-6
0
0
-7
7
0
0
3
0
0
0
0
0
0
-4
0
0
1
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
2
0
0
0
1
0
3
0
0
0
0
1
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-12
-4
0
-1
0
0
-72
-1
0
0
0
0
2
28
0
0
19
0
0
24
24
0
0
-6
0
0
-26
35
3
-1
29
2
0
-1
22
0
7
2
0
0
1
-26
0
0
-4
34
0
0
-6
0
-17
22
0
0
-6
-23
0
0
3
-1
0
0
-8
0
-2
0
0
0
0
32
-3
0
0
0
0
0
41
0
7
-2
0
0
0
0
-1
9
34
4
0
0
2
0
-20
30
0
0
2
-4
0
0
-3
0
0
0
30
0
3
2
-1
0
0
90
0
0
-6
5
0
0
6
0
-27
5
0
0
0
42
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
18
26
30
7
78
7
-4
-12
-15
-37
-41
30
-2
22
5
29
18
4
-63
-28
-23
-12
-7
2
-10
68
-3
-2
-61
-15
-16
55
5
6
1
102
-17
5
24
-49
39
-21
-1
-38
-9
0
-21
-30
18
-26
-13
3
-83
-16
60
0
-5
36
2
8
14
-48
13
20
-13
66
-45
-14
11
9
103
8
47
-51
-12
41
2
49
-23
15
-32
-2
12
8
-61
-22
5
23
-40
-14
10
-76
-49
45
41
-13
53
-11
-5
-9
12
19
-25
-5
-19
-41
-15
63
-17
-24
50
8
-3
-52
-20
-8
44
6
0
0
-34
1
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-17
0
0
1
0
0
-16
-5
-6
48
-8
2
53
-4
-3
5
-34
0
4
-63
-21
8
-8
9
-8
-1
-31
2
0
3
-31
0
-5
-9
-58
3
5
-11
4
0
-5
-11
0
8
22
0
3
-2
-15
13
0
-23
2
18
0
-13
0
-3
0
0
-3
0
-68
14
0
0
0
0
-6
-7
0
44
25
0
0
-2
-27
0
0
29
4
-3
5
1
-1
39
9
0
0
-6
42
0
-33
9
8
0
-3
-50
-5
22
-1
0
-3
-3
-22
0
8
-10
0
0
0
-49
0
-41
1
0
-14
0
23
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-2
0
0
0
0
1
-18
0
0
-10
-8
0
59
-12
0
0
5
0
0
1
-32
0
1
-13
42
1
-6
1
-2
0
13
1
0
16
11
0
0
22
-8
0
9
25
0
0
-17
0
-2
0
59
0
-3
7
34
-7
0
-36
-1
-1
0
0
0
-1
48
-1
0
0
0
0
0
-94
3
38
2
4
0
0
3
0
-3
24
-19
0
3
-11
0
-27
33
0
0
5
-9
0
18
3
-6
3
1
30
0
-2
0
1
0
0
-56
0
0
0
0
0
0
-78
0
1
-3
0
8
0
34
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-10
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
1
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
-9
0
0
17
0
0
1
-3
0
0
-8
0
0
9
0
0
0
18
0
0
10
-46
0
0
2
0
6
0
-49
0
0
0
0
0
0
-13
0
0
8
0
6
0
-4
0
0
0
0
1
0
-39
0
0
0
0
0
0
10
-2
0
0
0
0
0
0
0
25
2
0
0
1
1
0
0
1
0
0
0
-73
0
15
0
0
0
0
4
0
0
-3
0
0
0
1
0
18
-5
0
0
0
50
0
-2
0
0
0
0
-3
0
-8
0
0
-1
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-34
0
0
8
0
0
12
-49
0
0
31
0
0
7
79
0
0
8
0
0
-5
0
0
0
0
0
0
0
-17
0
0
-9
0
0
0
8
0
0
0
0
0
0
34
0
0
-1
-5
0
0
-66
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
-6
0
0
8
24
0
-1
6
0
0
0
17
0
0
4
0
0
0
-19
0
0
0
0
0
0
5
0
0
6
0
0
0
49
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-21
0
0
0
0
0
0
-31
0
0
-5
0
0
-6
-40
0
0
3
0
0
0
-18
0
0
1
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-22
0
0
0
0
0
0
5
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
0
-6
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-16
66
14
-20
-4
-37
4
10
14
58
14
-11
4
18
14
30
12
25
-17
82
0
11
-19
40
28
33
43
19
19
-63
-1
-2
-8
8
-44
-12
-6
33
-19
-63
26
100
12
19
-42
20
-7
35
-2
20
-53
31
44
-12
30
-4
0
-7
16
52
0
0
-13
-6
34
-21
1
49
47
-50
-18
53
-12
6
-25
7
17
-4
15
-2
-33
24
-22
25
0
22
29
12
10
-25
26
-13
25
-42
16
-68
70
21
-14
80
57
21
28
-68
-39
4
-23
-10
22
61
46
0
27
29
39
24
-48
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-69
-10
-8
11
0
0
-18
-45
0
0
66
0
0
13
40
0
9
-14
1
0
-5
-46
0
-5
-73
0
0
2
5
0
2
24
-21
0
1
-6
0
0
5
0
1
0
28
0
3
-2
33
-5
0
6
0
0
0
0
0
0
2
-1
0
0
0
0
0
8
0
-20
12
2
0
0
4
0
-2
-5
0
0
-2
7
0
0
21
-1
0
0
84
0
1
-3
-1
0
0
68
0
13
0
0
0
0
-53
0
0
0
0
0
0
-10
-1
17
0
0
-1
0
-46
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-4
0
0
-2
0
0
8
43
0
0
3
0
0
0
9
0
0
1
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-28
0
0
0
0
0
0
56
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
-27
0
0
0
0
0
0
20
0
0
0
0
0
0
-7
0
0
0
0
0
0
-24
0
0
0
0
0
0
32
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
-4
-29
0
0
0
0
0
-3
61
0
0
-2
0
0
0
18
0
1
12
0
0
-3
16
0
-2
24
0
0
-1
3
0
0
2
0
0
0
-4
0
0
0
7
0
0
60
0
2
0
0
0
0
32
5
0
0
0
0
0
-26
0
-1
0
0
0
0
23
0
0
0
0
0
0
-13
0
-5
0
0
0
0
-22
0
0
-7
0
0
0
16
0
0
-3
0
0
0
-10
0
0
-1
-7
0
0
49
0
0
5
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
10
-5
0
-2
75
0
0
6
0
0
0
53
0
0
0
0
0
2
33
0
0
-5
0
0
0
-15
0
0
0
0
0
-1
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
-5
0
0
0
0
4
0
0
-2
1
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
-3
17
0
0
0
42
0
0
0
0
0
0
16
0
3
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-26
0
0
0
0
0
1
-6
0
0
0
0
0
1
-5
0
0
0
0
0
0
-4
0
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
1
0
0
0
-71
0
0
0
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-50
4
0
-55
0
0
-8
-5
0
2
22
16
0
4
-46
0
-2
-3
0
0
-3
41
-5
-2
5
20
0
0
6
0
1
1
0
0
0
-10
-5
2
-8
-3
-4
0
-47
0
0
0
7
0
0
-15
-2
0
0
0
0
0
22
0
-9
0
0
0
0
25
0
3
-2
0
0
-2
-21
0
0
22
0
0
2
16
4
0
-12
6
0
2
-34
0
-42
4
0
-4
0
5
0
0
-3
5
0
2
-2
0
12
0
-1
0
0
70
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
52
-5
24
-45
-5
-5
5
17
65
-8
6
34
-49
0
28
72
0
-77
-27
-17
6
5
3
8
32
24
99
27
1
40
33
-39
-23
-3
-6
5
83
-10
-61
-52
0
10
-6
25
-5
59
-6
5
-12
-30
-28
-33
-3
1
1
0
-29
5
4
-24
-2
-86
1
-58
88
-114
-14
27
34
-6
-47
-19
9
66
6
-54
25
42
-66
24
2
-56
-13
-27
5
54
31
-54
21
-13
-40
24
-36
24
-3
-21
12
-3
-9
19
-18
-4
-45
0
23
9
42
22
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
0
-1
7
0
0
1
-41
0
0
14
3
0
0
-24
0
0
-10
0
0
-5
-76
0
7
-7
-3
0
6
-49
0
0
3
-6
0
0
3
0
0
0
-1
-6
0
-54
0
0
0
0
0
0
9
-3
12
0
0
0
1
5
6
18
0
0
0
1
-29
0
-12
6
0
0
-7
30
0
13
13
-9
0
0
-47
0
0
12
0
0
0
-6
0
-19
0
0
0
0
-13
0
-2
0
5
0
0
-2
0
6
0
2
0
0
-21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
12
3
0
-1
0
0
-4
-58
1
6
31
0
-3
84
11
3
0
29
1
0
5
23
0
-1
0
18
0
0
-8
0
0
1
0
0
0
2
0
0
-1
0
-13
0
2
0
0
0
9
0
0
-3
0
0
0
3
0
0
37
0
5
6
0
0
-16
56
0
0
-5
2
0
0
44
0
5
5
0
0
0
36
0
-3
4
9
0
0
89
0
4
-2
1
0
0
-41
0
8
0
0
0
-1
13
0
-1
0
0
3
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-18
0
-3
33
-2
0
-28
14
7
-47
100
19
0
-30
65
-4
0
-48
-2
-2
1
-5
0
13
-14
-85
41
5
1
-2
-13
-4
-1
3
0
74
-9
8
59
-4
5
0
49
-15
5
3
-1
0
0
-20
17
0
-5
0
0
0
45
-8
-7
17
-8
-3
-14
-18
1
2
1
5
0
23
-27
-1
80
87
3
0
13
-27
0
7
21
-3
4
2
24
0
-31
-18
0
0
0
2
0
5
33
17
0
0
-24
0
69
-2
0
18
0
65
-32
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-5
0
2
50
0
0
-22
49
0
0
13
0
0
-8
-19
-2
0
-76
0
0
2
70
0
0
17
0
0
0
-7
0
0
0
0
0
0
27
0
0
0
0
-22
0
24
0
2
0
0
0
0
4
-2
0
0
0
0
0
54
0
2
0
0
0
25
-13
0
0
2
0
0
15
47
0
-6
8
0
0
0
-27
0
3
-14
0
0
1
-3
0
-1
0
0
0
-8
31
0
0
5
0
0
0
11
0
-2
4
0
0
0
33
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-9
0
0
16
-48
0
1
13
0
0
-1
-8
0
0
5
0
0
0
31
0
0
0
-1
0
0
-44
0
0
0
0
0
0
84
0
0
0
0
0
0
9
0
0
0
0
0
0
28
0
0
0
0
0
0
21
0
60
-1
0
0
0
111
0
0
7
0
0
0
-10
0
1
2
0
0
0
-28
0
0
0
-2
0
0
-2
0
-3
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
1
31
-38
46
0
-3
17
3
20
-5
-2
-5
-2
-7
0
-1
-5
24
13
18
17
0
0
1
0
8
0
-11
0
9
58
36
-22
0
35
0
0
0
3
0
0
10
-15
0
0
-13
0
-3
36
8
-41
21
0
-4
2
24
2
27
61
2
1
13
-48
-1
-6
43
7
0
-18
67
2
-20
44
18
3
0
18
0
68
-43
-5
-2
1
-24
4
-10
-14
-2
-1
0
34
0
-58
2
0
31
0
53
-19
-2
-4
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
19
6
-38
-44
-13
40
25
-3
-22
-26
17
55
0
-10
-1
15
-53
15
11
98
27
4
-43
14
22
43
3
-22
-9
5
22
-13
-35
2
-2
5
-50
-25
6
33
-10
-51
30
36
-47
-10
-34
8
51
34
33
6
-24
9
61
-40
0
8
-1
-19
-28
-31
-31
-13
51
3
-50
-11
-47
54
2
-25
-35
46
-28
45
7
3
-52
-4
-17
13
-17
-60
17
89
-5
12
25
60
72
-11
2
73
9
1
44
0
27
23
-44
-11
67
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
-16
0
0
1
0
0
0
1
0
0
-1
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
35
0
0
0
0
0
0
33
0
0
0
0
0
0
-5
0
0
0
0
0
0
31
0
0
-6
0
0
0
4
0
0
-1
0
0
0
-22
0
0
-1
0
0
0
-20
0
0
3
0
0
0
-3
0
0
0
0
0
0
8
0
20
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
35
0
-8
-27
0
0
-5
24
0
0
64
-5
0
3
-4
0
0
68
0
0
0
12
0
0
2
0
0
0
29
0
0
0
0
-1
0
-38
0
0
0
0
0
0
49
0
0
0
0
0
0
-6
0
2
6
0
0
0
5
0
0
0
0
0
-4
76
0
1
12
0
0
-1
47
0
0
-5
0
0
0
18
0
3
0
0
0
0
-33
0
0
0
0
0
0
75
0
10
0
0
-1
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
38
23
-6
-2
19
7
-86
-33
-7
44
-45
-6
23
-26
63
5
21
7
-58
5
-3
15
0
45
77
3
-19
22
6
1
-16
48
-53
-30
1
2
-1
-7
18
-14
12
0
26
25
-25
-5
-1
3
20
15
0
22
-1
0
-6
27
6
4
66
46
-34
10
49
4
-4
-50
119
6
0
49
-27
4
-62
-24
28
0
-3
21
-2
17
69
7
-1
-15
9
-9
71
16
51
-6
-8
-23
0
81
16
0
2
0
-1
-4
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
32
0
0
1
0
0
0
2
0
0
-2
0
0
0
16
0
0
-20
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
2
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
53
0
0
-3
0
0
1
-3
0
4
0
0
0
0
-3
0
4
-5
0
0
0
-50
0
-3
0
0
0
0
-13
0
0
0
0
0
0
-39
0
7
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
51
0
-1
-3
0
0
0
-50
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
-1
-1
0
0
0
7
0
0
0
1
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
-3
33
0
0
-3
0
0
0
-51
0
0
-1
0
0
0
35
0
0
-3
-2
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
16
4
-7
-50
0
25
-5
-6
-2
7
-20
-15
-14
-7
5
0
8
12
0
-13
-8
17
0
-16
19
-6
45
0
25
-6
5
0
8
2
0
-23
-11
2
13
4
0
5
47
7
84
-51
-2
-3
0
3
0
29
38
34
-1
7
-6
2
39
-11
5
0
-1
4
0
3
-8
41
-1
0
-23
6
-8
43
0
-5
4
-17
0
-2
33
4
0
0
33
0
41
-4
0
21
0
-39
93
5
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-12
62
44
-12
32
-4
33
-41
2
-40
-33
18
-5
96
0
-9
34
-16
-26
-36
58
-4
21
52
-6
7
65
10
-3
71
32
31
-31
25
33
8
4
-27
9
-5
0
16
-22
40
15
5
-15
-22
-8
19
-25
16
43
37
7
-37
0
-63
-15
33
-59
-14
-4
-34
-5
89
-49
31
25
-28
-40
-27
-6
6
3
-91
-69
-30
7
66
52
13
87
-41
15
-1
-36
-22
8
-51
2
16
-2
59
49
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
0
0
-3
0
0
16
-28
0
0
-7
0
0
0
-25
0
0
0
0
0
0
3
0
0
2
-3
0
0
25
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
7
4
0
0
0
-28
0
14
-2
0
0
0
5
0
3
15
0
0
2
6
0
-2
0
6
0
0
-18
0
-5
0
0
0
0
22
0
0
-2
0
0
0
42
0
10
0
0
0
0
32
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-49
0
1
7
-6
-1
-9
51
0
-7
-9
-15
1
1
70
0
0
-5
0
12
0
45
0
2
3
0
1
0
-22
0
0
0
0
0
0
41
0
5
0
0
0
-8
63
-13
-3
41
-2
4
-3
-42
1
-7
-3
0
-1
0
64
0
2
-55
0
0
0
-43
0
8
-13
12
0
-3
-10
0
-5
0
0
0
0
58
0
0
-1
1
0
0
24
0
-4
0
1
-1
0
12
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-46
0
-22
-21
-13
18
-26
-16
-4
53
-1
12
17
67
9
0
27
22
-7
19
1
52
17
26
-13
48
-40
0
19
8
-1
0
-12
-5
-1
5
57
-9
13
0
4
48
39
27
-30
39
3
7
46
0
1
35
-10
21
0
-70
-6
2
-20
-6
76
0
53
10
2
-5
39
74
2
-4
53
0
87
2
15
-1
-1
-29
0
19
-48
-8
-8
-5
26
0
3
7
0
43
0
21
-20
-5
4
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-31
0
-5
-14
0
0
0
-27
0
0
9
0
0
-3
-32
0
0
-6
0
-9
0
-14
0
0
3
0
-3
0
18
0
0
0
0
0
0
36
1
0
0
0
0
-15
-35
0
36
6
0
0
0
-24
0
2
-39
0
0
-3
-13
0
8
-59
0
0
4
73
0
7
-41
0
0
0
9
0
-1
-3
0
0
0
-43
0
0
-2
0
0
5
35
0
-45
0
0
5
0
63
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
89
0
0
23
0
0
-2
2
0
0
0
-2
0
0
55
0
0
-2
0
0
0
-1
0
0
0
-1
0
0
-4
0
0
0
0
0
0
-23
0
0
0
0
0
0
14
0
3
0
0
0
1
-41
0
0
-3
0
0
1
77
0
2
-9
0
0
0
30
0
0
-4
2
0
0
-26
0
0
0
0
0
0
-6
0
0
0
0
0
0
-18
0
-2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
-1
12
-2
-2
-2
0
29
2
0
-45
0
-1
-1
17
0
7
-9
-31
25
0
-13
2
-3
8
-1
-3
0
15
-55
0
4
0
0
-5
3
0
-18
-43
2
-5
-3
-13
0
31
53
-4
0
4
29
0
42
104
-24
0
-1
19
0
6
-17
-25
0
0
5
0
4
15
2
0
4
-39
0
-2
50
-16
1
0
5
0
-77
7
0
0
0
-37
-4
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
14
32
6
-32
14
-24
13
4
-21
37
37
4
-74
33
-23
81
-20
10
28
7
-5
15
-7
-49
4
51
-33
32
14
-27
0
23
21
-4
-50
-11
19
-8
-4
-4
-4
-55
6
76
66
1
-50
-9
22
28
27
0
-17
13
13
-23
0
-95
36
-32
-20
-7
-44
1
-20
19
-14
3
-36
63
-26
12
-19
-21
-3
-42
7
16
37
-30
23
-8
-22
-2
-9
67
6
40
65
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
64
0
0
0
0
0
0
-5
0
0
0
0
0
0
-44
0
0
0
0
0
0
-5
-6
0
0
0
0
0
-5
0
2
0
0
0
1
50
0
0
0
0
0
6
-8
0
7
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-6
-14
0
3
-21
0
0
0
0
2
0
-30
0
0
0
0
-2
0
-68
0
0
0
0
0
0
1
0
0
0
0
0
4
-88
0
5
20
0
0
0
5
0
0
8
0
0
-10
-6
0
31
12
-1
0
0
13
0
0
0
-2
0
-8
-17
0
-10
6
0
0
0
-5
0
0
1
0
0
0
-7
0
7
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
-9
37
23
-18
5
-9
-7
0
7
31
-1
41
-22
31
3
8
-3
1
29
0
16
-29
0
0
0
-3
2
-25
-58
-8
2
3
0
4
-2
1
48
0
0
5
39
4
-2
-13
18
4
0
8
-8
-8
-50
-18
27
0
66
51
-3
24
9
29
2
-41
11
-3
-65
-21
0
6
0
-14
4
-7
16
-1
-23
31
-45
0
82
-14
-4
-19
0
18
24
-8
0
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
52
0
0
53
0
0
0
-1
0
0
3
0
0
0
25
0
1
0
0
1
0
10
0
0
0
0
0
0
-53
0
0
0
0
0
0
85
0
-5
0
0
0
0
10
0
0
0
0
0
3
-9
0
0
0
0
0
0
85
0
0
-5
0
0
0
-24
0
9
3
0
0
0
31
0
0
2
0
0
0
66
0
-8
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
1
-1
0
1
70
0
0
0
0
0
0
-24
0
0
2
-2
0
0
-39
0
-1
0
0
0
0
-6
0
0
0
0
0
0
-13
0
6
4
0
0
1
-44
0
-1
-8
0
0
7
-19
0
2
-12
0
0
2
8
0
-3
28
0
0
0
22
0
0
0
0
0
0
-34
0
1
0
3
0
0
97
0
8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
0
17
0
-7
0
16
0
0
0
-3
34
0
1
0
0
0
0
0
0
-82
8
0
0
0
0
0
12
-7
14
-13
0
0
-3
53
0
4
48
0
0
0
57
0
6
6
0
0
0
-37
0
9
2
-8
0
0
19
0
45
5
-2
0
2
75
0
-3
-3
-2
0
0
-46
0
-2
-2
0
3
0
-31
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-6
6
7
43
69
3
59
-71
9
59
50
-57
-41
-2
6
39
12
5
1
-18
4
-14
83
26
55
17
-1
61
-46
67
-61
6
23
61
49
-17
1
-46
36
87
-17
8
-22
51
16
-4
-20
43
59
2
10
-31
98
-67
17
-18
0
17
-13
9
28
2
4
23
13
-49
1
77
2
13
13
-20
16
12
-14
-4
0
52
-6
19
6
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
70
0
0
0
0
0
0
13
0
0
2
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
13
0
0
0
0
-13
0
0
4
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
5
0
0
0
0
-4
0
-7
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
52
0
0
0
0
-1
0
25
0
0
0
3
0
0
-12
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
-4
0
-4
0
0
0
6
0
0
-13
1
0
-10
-29
0
-2
1
0
0
-3
-25
0
-2
-12
5
0
0
38
0
2
19
0
0
0
20
0
0
0
0
-3
0
-28
0
22
0
0
0
0
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
6
1
0
-41
0
-22
-5
8
0
80
87
0
-22
-14
0
0
1
0
-1
26
41
3
0
0
0
8
37
5
36
28
0
6
47
11
0
-6
54
25
-2
13
24
2
7
7
-3
3
-3
-1
1
118
-14
9
-4
0
22
-5
25
-5
4
0
0
-13
0
31
8
16
-20
18
-35
0
59
0
0
-4
0
24
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-18
0
3
13
0
1
0
24
1
2
5
0
5
0
0
4
-2
0
7
0
0
56
-5
-1
3
0
0
-2
-12
0
97
11
0
-2
-13
40
3
4
-7
1
-3
13
-22
-10
-3
90
0
0
-6
-27
0
2
51
4
-3
0
-8
0
-27
-5
0
0
7
-87
2
23
-33
0
0
0
22
0
21
0
4
4
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
0
0
7
0
0
0
40
0
-3
-4
6
0
0
-11
0
1
0
0
0
0
-7
-3
0
0
0
0
0
4
0
9
2
0
0
0
7
0
0
1
0
0
2
-8
0
-4
0
0
0
0
61
0
1
0
0
0
0
4
0
-9
8
0
0
0
1
0
0
0
-1
0
0
22
0
8
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
9
0
-8
-8
0
0
0
0
0
-38
5
0
0
0
0
2
-9
0
26
-4
0
0
0
12
0
0
10
0
0
3
-20
0
-1
17
0
0
0
6
0
0
-15
2
0
0
2
0
-9
-16
0
0
3
57
0
-3
3
0
0
0
7
0
9
0
0
-7
0
35
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-20
84
30
48
-4
3
-1
8
21
-14
-3
-21
42
54
31
-29
56
-33
74
21
27
-13
-3
19
18
5
72
-41
-8
33
-20
8
-39
22
28
46
-45
24
-7
-58
38
-44
21
66
15
34
28
23
60
-15
13
15
21
-13
39
35
0
-23
23
15
-17
-2
53
-3
-39
34
-5
-5
3
0
19
-44
78
17
-9
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
2
0
0
0
5
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
1
0
0
0
9
1
0
0
0
0
0
44
0
0
0
0
0
0
45
0
-1
-10
0
0
0
79
0
0
23
-1
0
0
22
0
-9
0
0
0
0
17
0
0
0
0
0
0
22
0
0
1
0
0
0
25
0
0
0
1
0
0
63
0
-1
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-2
0
-12
3
0
-17
-4
0
0
-3
0
0
-8
0
0
-2
0
0
-5
43
0
-59
-31
0
0
-8
9
0
3
24
-10
0
-1
-21
0
-1
-5
0
0
-1
-19
0
3
4
4
0
-6
-1
0
-13
-5
0
0
0
13
1
17
0
21
0
0
-18
0
31
0
0
0
0
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-41
0
2
0
0
0
0
10
-1
0
0
0
0
0
-12
0
0
5
0
0
0
-9
0
0
0
0
0
0
18
0
0
0
0
0
0
24
0
-1
0
0
0
0
14
0
0
0
0
0
0
-31
0
0
2
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
-7
0
0
50
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
3
1
0
0
-3
3
0
4
-5
-16
0
0
65
0
8
1
0
0
0
-33
0
0
3
0
0
0
45
0
42
6
0
0
-1
58
0
0
-13
0
0
0
13
0
-10
0
0
0
0
30
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-42
0
0
0
0
0
0
5
0
-2
0
0
0
0
9
0
0
-10
0
0
0
13
0
0
-3
0
0
5
29
0
0
0
0
0
0
-6
0
-3
0
0
0
0
-3
0
0
3
0
0
0
49
0
-7
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
20
0
8
6
1
1
3
8
-2
7
14
0
44
11
64
39
42
-2
0
-19
10
-1
20
-21
-17
-9
-31
9
61
23
42
32
5
69
-3
6
68
-41
34
13
93
-36
0
-76
38
-5
20
-52
-34
2
49
-50
-9
23
5
0
8
0
0
-5
-8
0
21
10
-5
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
59
0
0
0
0
0
0
32
0
-4
1
0
0
0
53
0
0
3
0
0
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
0
0
0
0
0
0
48
-4
0
0
0
0
1
-5
0
8
3
0
0
0
-22
0
0
27
0
0
4
33
0
0
0
0
0
0
-44
0
0
4
0
0
0
31
0
13
10
0
0
-3
13
0
0
3
-1
0
0
51
0
-1
0
0
0
0
48
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
0
0
46
1
0
0
0
0
0
40
0
-25
12
0
2
7
-14
0
2
-8
-3
0
-21
26
1
27
9
0
0
5
-60
0
0
0
0
0
0
-24
0
53
3
0
0
0
-1
0
8
0
0
0
0
-26
0
0
0
3
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-18
6
0
0
0
0
1
79
0
-43
-8
0
0
5
-15
0
5
19
0
0
8
34
0
13
26
0
0
-2
16
-7
17
17
0
0
0
-8
0
-26
15
0
0
0
51
0
0
0
-4
5
0
-22
0
-1
0
0
0
0
42
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-11
-1
0
0
6
0
9
-43
0
57
-8
0
0
-4
-23
0
-3
-4
34
0
-13
108
0
-25
74
0
0
6
37
0
-3
8
37
0
0
-49
0
-5
-20
0
0
-2
68
0
-7
-9
2
0
-1
-25
0
16
-8
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
15
-23
113
3
38
23
26
1
58
-23
3
27
-52
31
4
1
88
29
110
46
-24
23
-26
77
12
-46
16
49
-14
-47
-23
-22
56
-45
-6
-8
31
-30
25
-29
14
54
-3
8
14
-41
25
-28
13
-12
-19
-31
-18
-5
90
0
0
-1
5
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-34
0
2
0
0
0
0
-13
0
0
-9
0
0
0
0
0
0
-3
0
0
3
10
0
1
-8
0
0
0
-20
0
-2
0
0
0
0
-24
0
8
0
0
0
0
50
0
14
4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
-1
0
0
0
-1
0
-1
4
0
0
0
98
0
0
-2
-2
0
-3
51
0
0
1
0
0
5
18
0
1
-8
0
0
0
-21
0
-3
0
0
0
0
3
0
-3
6
0
0
0
9
0
5
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
-4
0
0
0
14
0
0
0
0
0
0
0
0
5
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
0
2
7
0
0
0
-8
0
18
0
0
0
0
-7
0
0
0
0
0
0
-22
0
4
-1
0
0
0
14
0
-1
1
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
5
0
0
-13
0
0
0
66
0
0
0
0
0
0
-17
0
-6
7
0
0
0
58
0
0
0
0
0
0
37
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
9
50
53
0
-8
-28
11
-13
30
25
2
5
-28
-23
-8
13
-11
9
-9
-13
-25
12
24
-3
89
-5
20
-18
5
56
30
9
-5
4
-4
-1
-9
45
-43
-5
3
-26
3
-6
-1
2
-12
0
30
5
-13
1
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-4
-75
-4
0
0
-14
-64
0
37
-5
5
0
22
31
0
-20
29
0
4
0
10
0
-1
-12
0
0
0
8
0
8
2
0
0
0
4
0
0
-2
0
0
0
-33
0
-4
0
0
1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
44
0
0
-4
0
0
0
16
0
0
0
0
0
0
8
0
1
9
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
0
0
0
-4
0
0
-3
0
0
0
59
0
4
0
0
0
0
21
0
0
0
0
0
0
13
0
-4
-1
0
0
0
-2
0
0
0
0
0
0
47
0
4
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
28
0
0
0
0
0
4
9
0
-2
0
0
0
0
4
0
-1
0
3
0
0
44
0
0
0
0
0
0
33
0
0
0
0
0
0
25
0
1
0
0
0
0
50
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
5
15
5
0
-4
81
0
43
-10
1
0
0
-21
0
0
-4
1
0
0
-12
0
-2
0
0
0
0
36
0
1
0
0
0
0
61
0
-1
0
0
0
0
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
1
30
92
-73
94
-16
78
-49
-8
-46
-23
41
-3
93
33
8
91
12
71
5
20
-4
-4
-32
-53
14
18
-1
-13
0
45
20
50
-1
-16
26
42
31
-27
0
7
3
52
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
3
-3
0
0
-1
18
0
-5
1
0
0
0
-5
0
0
0
0
0
0
29
0
-6
0
0
0
0
7
0
0
0
0
0
0
-49
0
0
4
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
24
-3
95
100
54
-3
49
15
0
30
-7
-6
1
17
-20
4
-3
-30
-5
-3
2
32
0
-31
-14
2
0
3
5
-1
14
8
29
1
0
-28
0
97
0
-6
3
0
3
13
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-3
-2
7
2
0
10
75
-3
84
16
0
0
-3
69
-3
15
-15
-4
6
0
-12
0
43
-12
0
0
7
84
0
0
-4
1
0
0
28
0
-30
0
0
2
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
9
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
-30
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-41
0
-3
0
0
0
0
5
0
0
0
-2
0
0
-8
0
-7
1
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
34
12
0
0
0
8
0
9
-8
5
0
0
16
0
-54
4
4
0
0
27
0
0
1
0
0
0
14
0
0
0
0
-2
0
51
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-8
-1
-37
-3
8
27
68
-7
47
19
23
-27
8
-19
-20
32
-30
-14
11
5
54
5
-6
49
15
-4
-5
-8
1
-4
81
-4
4
-32
0
21
-45
39
21
-23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
1
0
0
0
-1
0
0
-2
0
0
0
-6
0
0
6
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
4
-8
4
-1
0
0
-14
0
0
-13
0
0
0
16
0
1
5
0
0
0
-47
0
0
-3
0
0
0
26
0
10
0
0
0
0
-40
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
11
-1
48
-7
-13
0
8
36
1
-6
16
-6
-7
2
5
3
79
14
1
0
7
-10
-4
6
-5
1
0
0
11
-2
-9
0
0
-1
-1
31
-13
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
-31
0
0
0
-49
0
4
49
0
0
0
1
0
0
2
0
0
0
30
0
2
0
0
0
0
-48
0
31
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
0
0
0
0
-6
0
0
3
0
0
0
-5
0
-8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
0
-3
16
8
0
0
-68
0
-75
0
-1
0
0
64
-2
5
0
-5
0
0
12
0
12
-8
0
0
0
41
-1
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-24
-27
-13
-9
5
67
4
32
-21
-45
10
32
85
-20
4
21
-5
37
-25
31
-6
13
-3
-31
-7
-44
3
2
-54
-11
6
12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
0
-4
1
0
0
0
-7
0
0
0
0
0
0
2
0
-8
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
74
-3
0
9
23
0
-2
-23
-2
91
-9
1
0
0
-16
0
3
-21
1
0
0
42
0
-20
0
0
8
0
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-19
1
24
38
66
-2
-1
33
0
57
-3
-1
0
-1
-30
0
7
-2
-18
0
0
23
0
-51
0
0
-3
0
44
-6
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
-22
0
0
0
34
0
8
0
0
0
0
25
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
32
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
49
2
0
0
0
95
0
0
-2
-4
0
0
-12
0
5
-2
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-1
-5
10
3
-4
29
0
56
-3
30
41
21
-5
20
42
1
21
-1
-2
-42
0
-1
-53
6
32
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
53
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-16
13
0
0
-1
64
0
-8
-7
0
0
0
30
0
34
0
0
0
0
93
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-58
0
15
-37
1
0
0
-3
0
2
5
-7
3
-2
4
0
7
0
0
1
0
37
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
21
0
33
73
1
0
0
7
0
0
0
-3
0
0
29
0
-6
1
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
4
0
0
0
0
-20
0
0
-6
0
0
0
-31
0
15
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
1
-3
0
0
0
-31
0
15
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-6
6
33
52
-32
5
17
36
10
35
-3
5
-19
0
-5
-24
8
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
7
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-3
-33
-16
6
0
-40
0
-1
-9
-23
-17
0
28
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-4
-8
0
0
-46
0
13
0
0
0
0
22
-8
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-4
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-19
0
-10
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
13
71
2
3
1
0
33
23
33
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
71
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
-27
0
4
14
0
26
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
1
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-9
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
22
37
17
19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
-2
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-21
0
0
-4
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
41
0
0
-2
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
1
10
6
1
-4
-77
-34
22
-18
-8
-7
61
18
-1
17
-30
-45
66
-8
11
8
12
13
36
12
2
-18
25
22
-44
13
41
22
31
-4
57
-49
-9
13
2
-5
-44
27
-8
4
-23
20
0
-32
-7
-3
6
-25
45
-6
22
55
-22
-13
8
1
-5
4
-1
8
-15
14
27
15
-11
-45
16
-12
-13
10
-10
-24
-34
-10
-7
29
6
-4
-15
-8
36
-6
13
-7
28
-17
42
-12
8
-34
11
-23
40
16
1
-16
-28
6
-20
-25
8
-9
5
29
5
-5
-26
-61
0
-85
44
0
-9
-8
0
-26
-4
23
41
48
-7
8
73
50
43
-51
-23
-7
26
6
-8
-38
-11
0
0
0
0
0
0
0
2
1
9
5
22
29
22
-1
2
41
-17
-20
-27
44
-56
-2
-12
-9
27
-16
-4
-42
1
4
-24
13
97
-36
12
-1
-5
-25
74
-1
50
-22
-7
6
-3
-21
49
-51
43
-3
27
-12
0
-21
12
-9
10
-18
-29
4
49
29
8
-3
-44
0
-20
49
57
-12
1
21
-5
36
-16
-59
0
22
24
15
20
34
60
-36
6
1
64
-24
-17
30
45
-5
-11
0
-22
-52
8
-22
8
-8
41
4
-9
4
13
-3
-12
75
23
-46
-5
-13
-5
112
-1
62
18
-51
8
-11
26
-7
-40
-61
-51
-11
9
10
13
14
9
-6
6
0
26
28
21
23
47
33
4
120
-1
-56
28
23
-54
2
-38
-18
55
-41
22
50
10
-19
-7
-13
5
-31
1
8
-57
-37
92
24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-10
-1
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
2
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
2
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
0
2
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-6
0
0
8
0
0
0
0
0
0
20
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
1
0
0
-5
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
0
0
-19
0
0
0
0
0
0
30
1
0
0
0
0
0
30
0
0
0
0
0
-7
25
0
0
0
0
0
-3
31
0
0
6
0
0
0
7
0
0
1
0
0
0
-2
0
0
4
0
0
0
89
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
-6
0
0
0
0
0
5
0
-3
0
0
0
0
-23
0
0
0
0
0
0
-24
0
2
0
0
0
0
20
0
0
-3
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-5
0
0
0
0
0
-44
0
0
0
0
0
0
3
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
2
-6
0
0
0
-43
0
0
1
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
43
0
0
0
0
0
0
16
0
0
0
0
0
0
-31
0
0
0
0
0
0
-41
0
0
2
0
0
-7
55
0
0
0
0
0
0
-13
0
0
0
0
0
0
10
0
0
-1
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
-8
0
-25
0
0
0
0
0
0
-6
0
0
0
0
0
0
23
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
-7
0
0
-2
0
0
0
0
0
0
-2
2
0
0
-1
0
0
0
0
0
0
2
0
0
-12
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
14
0
0
0
0
0
0
0
0
0
0
-1
47
0
0
5
0
0
0
50
0
0
-3
0
0
0
5
0
-2
-6
0
0
0
7
0
0
0
0
0
0
-30
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
1
0
0
-5
-43
0
0
0
-1
0
0
10
0
0
0
0
0
0
-17
0
0
0
0
0
0
41
0
0
0
0
0
0
8
0
0
0
0
0
0
41
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
-1
0
0
0
0
-3
0
0
0
0
0
0
-5
0
-1
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
28
-1
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
5
0
0
0
0
0
8
-3
0
-4
4
0
0
0
0
0
0
0
0
0
-7
21
0
0
2
7
0
-2
6
0
0
9
0
0
-2
5
0
14
13
0
0
0
-2
0
0
0
0
0
0
86
0
0
0
0
0
0
-3
0
0
0
0
0
0
12
0
-5
0
0
0
0
49
0
0
0
0
0
-3
-29
0
0
23
0
0
8
-27
0
0
3
0
0
0
81
0
0
-5
0
0
0
37
0
0
-3
0
0
0
14
0
0
0
0
-5
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
-13
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
1
-6
30
-11
-11
14
36
13
-28
26
4
65
-28
78
50
-3
77
8
26
-22
4
30
-76
-29
1
12
-22
41
5
64
-44
-43
50
-4
38
41
15
12
0
4
0
-10
-5
0
-2
-5
33
1
-8
-28
-5
5
9
-12
27
4
-32
1
-22
11
-8
0
-31
-2
13
30
-21
37
-7
87
-4
17
-16
27
3
-6
70
-18
-8
18
31
-6
-1
-24
-1
13
-23
19
-38
-36
-72
0
8
-52
15
-62
8
3
10
0
-13
1
8
1
9
-4
0
-30
-25
21
0
-18
-33
0
2
-1
22
8
-2
17
-41
6
-4
35
59
-12
31
12
6
3
-1
0
0
0
0
0
0
0
-47
-8
22
5
21
-18
53
8
-14
27
-5
36
-27
46
-56
17
8
16
-13
1
-49
48
19
9
2
-33
58
9
-1
-13
10
32
14
12
13
6
-22
8
-5
7
-12
-5
1
-4
56
102
14
20
46
26
8
-13
-40
-21
7
34
40
11
41
17
-32
0
30
21
25
87
-1
-17
-53
-30
21
-18
24
13
6
18
-37
17
9
0
10
41
-17
48
7
-34
-10
-40
2
25
-15
-2
16
24
4
9
38
-18
12
33
43
22
-32
7
0
9
9
57
-43
-6
27
15
10
-4
0
81
92
8
4
28
11
-22
4
-11
-20
30
62
-2
-26
9
-57
64
-22
-62
1
13
-37
37
7
46
-10
8
-2
7
44
61
-7
-43
10
-1
-23
44
-35
-18
-12
14
39
-13
42
82
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
29
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-2
-2
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
-18
0
0
0
0
0
-1
-5
0
0
-3
0
0
0
0
0
0
0
0
0
2
-5
0
-1
1
0
0
5
23
0
0
0
0
0
0
-12
0
-4
-14
0
0
0
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
24
-1
0
0
0
0
0
7
0
0
0
0
0
0
50
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
2
0
0
0
-2
0
0
-1
0
0
0
5
0
-3
0
0
0
0
17
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
-3
-2
0
0
12
0
-2
0
2
-5
0
-4
1
0
0
0
0
0
0
-25
0
-1
44
-5
0
0
-2
2
4
0
0
0
0
0
27
0
0
0
0
0
7
16
0
0
0
0
12
0
0
0
0
2
0
13
5
0
24
7
0
0
-32
-1
0
0
88
8
0
36
-7
0
8
-2
0
0
41
-5
0
-9
-32
12
0
14
5
1
0
27
0
0
9
0
3
0
-1
20
0
0
-1
-88
0
0
0
0
-7
4
5
-13
0
-8
0
3
-28
-5
0
-2
0
0
32
74
0
25
93
-2
0
0
0
0
0
0
0
0
-3
-12
0
-4
3
19
0
42
4
0
1
-9
0
0
60
50
0
-38
-22
41
0
-17
23
-2
0
27
0
0
0
-23
-19
-5
0
3
0
0
-11
0
0
0
0
0
21
8
-1
0
13
34
0
33
30
2
5
-32
0
0
13
81
0
-1
13
7
0
42
58
0
48
13
-8
0
-4
-8
0
-3
19
25
0
-16
28
0
8
-30
0
0
17
-47
1
-5
-14
-14
0
0
19
0
0
0
0
0
0
14
48
0
-2
0
0
1
-21
0
-16
-2
-1
0
5
-29
1
-4
6
-6
0
-2
49
8
10
14
-3
0
-13
68
0
-16
4
8
0
5
9
0
-24
8
7
0
-4
-18
0
1
-8
2
0
0
6
0
36
0
0
-1
0
-57
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
16
0
0
0
0
-4
0
0
5
3
-8
-24
2
0
0
0
0
0
-1
-5
0
5
4
0
0
0
3
0
-45
0
0
-1
0
0
32
0
0
0
0
1
0
29
0
-2
0
0
0
-3
1
4
66
-7
0
84
2
0
-2
8
0
8
-41
1
0
8
-5
6
3
31
17
0
0
-5
0
-1
3
-9
0
0
31
0
0
33
9
0
0
-8
0
-3
0
-8
0
-2
4
2
18
0
0
-16
0
0
0
19
0
-6
6
0
-6
-10
0
0
56
0
0
-13
-1
-1
-7
28
0
-7
-22
-5
0
0
0
0
0
0
0
0
46
54
0
0
30
12
0
-19
13
0
0
-29
0
0
0
0
0
-1
9
0
0
0
13
-8
0
0
0
0
0
-2
-1
-1
0
0
0
0
6
0
0
0
0
0
0
6
-5
6
10
-1
0
0
39
0
1
4
9
0
50
20
0
0
-10
-13
0
0
8
3
1
55
1
0
1
18
4
1
-7
-18
-7
0
-30
0
0
-7
0
0
0
50
0
0
2
4
5
0
44
0
0
0
5
0
0
5
5
0
1
0
0
0
-35
0
7
25
0
-4
0
96
0
1
4
0
0
-2
-38
0
-8
-5
-3
0
-5
41
-3
6
31
0
0
8
47
0
22
14
0
4
0
-2
0
0
8
1
0
0
42
1
-9
3
0
0
0
34
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
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
47
0
0
-1
0
0
-68
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
76
0
0
0
2
0
0
4
-3
0
0
-4
-16
2
-18
6
0
0
0
0
0
0
0
0
0
7
-4
0
16
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
26
0
0
8
0
0
35
0
0
-4
0
-1
0
0
0
0
0
0
0
0
1
57
0
0
12
2
0
-7
39
0
0
15
0
0
0
11
0
-15
0
0
0
0
6
0
0
0
0
0
0
-40
0
0
0
0
0
0
18
0
0
0
0
0
4
8
0
0
-2
4
0
0
0
0
-1
0
0
0
0
36
0
0
1
0
0
4
52
0
-3
3
0
0
-6
-34
0
0
27
3
0
0
-11
0
0
0
0
0
0
61
0
0
0
5
0
0
-14
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
2
0
0
0
-1
0
0
1
3
0
0
0
-20
0
0
7
0
0
0
-8
0
-1
8
-5
0
0
31
0
8
3
0
0
0
-10
0
0
0
2
0
0
-49
0
-2
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
49
0
0
1
0
0
44
0
0
0
0
0
0
2
0
0
0
0
-5
1
0
0
2
0
1
30
0
0
0
0
0
0
-5
0
0
0
64
0
0
-2
0
0
0
0
0
0
-3
0
0
0
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
1
0
0
0
0
3
-1
0
0
-4
0
0
2
3
0
-14
7
0
0
0
0
0
0
0
0
0
0
10
0
0
-4
1
0
0
31
0
0
0
0
0
0
3
0
7
-1
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
-16
0
0
0
0
0
1
-13
0
0
2
0
0
0
24
0
0
0
1
0
0
40
0
0
9
0
0
0
23
0
0
5
0
0
0
6
0
0
0
0
0
0
-6
0
0
-4
0
0
0
46
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
5
0
0
0
0
10
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
-4
0
-4
0
0
0
0
0
0
23
-1
0
1
-1
0
0
0
-5
0
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
50
0
0
0
0
0
0
-5
0
13
-2
0
0
0
0
0
0
0
0
0
2
-2
0
0
32
0
0
4
-27
0
0
-4
0
0
0
5
0
36
-3
0
0
0
-5
0
0
0
0
0
0
-12
2
-2
0
0
0
0
36
0
0
0
0
0
0
-21
0
0
3
0
0
3
19
0
0
-1
0
0
-1
-22
0
0
3
1
0
-6
23
0
0
2
0
0
0
-22
0
0
1
-2
0
0
-26
0
0
0
0
0
0
5
0
0
0
0
2
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
-14
0
-5
0
0
0
0
33
0
0
0
0
0
7
25
0
-1
0
0
0
0
24
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
1
0
0
0
7
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
-3
0
32
1
3
0
-9
0
46
-15
5
0
0
0
0
5
2
3
0
0
-6
1
0
0
0
0
15
0
0
-10
0
0
-28
0
0
0
0
0
-7
-13
0
0
0
0
-4
-5
0
0
4
-40
42
-43
1
0
-3
14
0
0
86
-6
1
0
52
8
5
-21
6
5
-3
8
-1
22
14
-18
0
0
87
0
5
70
6
0
0
0
0
3
0
22
0
0
7
5
-55
-2
2
1
0
0
0
-6
0
27
3
-1
0
-7
0
-3
14
0
0
0
0
0
107
57
0
-7
-8
5
0
0
0
0
0
0
0
0
-17
21
2
2
-13
-27
0
4
19
0
0
-11
-1
0
-7
73
0
-25
5
13
0
-1
-3
0
0
-1
0
14
0
27
3
-2
0
1
0
1
-46
0
0
0
0
1
4
41
5
-3
4
12
-2
3
-45
0
0
-1
-1
0
-14
-2
0
-2
-22
-2
19
13
38
-5
-2
12
5
-2
12
42
-5
1
-44
7
6
-2
7
0
1
6
0
-2
0
-50
0
0
4
10
-34
0
27
-1
0
1
0
2
0
-9
0
3
0
-7
0
0
83
-5
13
0
0
0
0
-44
0
0
-8
0
0
-2
-20
1
45
-3
6
0
-15
-72
2
-1
-16
2
1
0
41
0
30
25
1
0
-1
-34
0
1
5
-1
2
0
74
0
27
4
0
-5
0
20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-1
0
-4
1
0
2
-3
1
0
9
-3
1
0
0
0
0
0
1
0
0
0
0
0
1
3
0
0
4
-1
0
-20
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
4
0
0
1
16
0
-1
15
0
0
0
-10
0
0
17
0
0
0
-23
0
-5
-19
3
0
2
12
0
0
2
0
0
1
-7
0
0
-3
-1
0
0
-3
0
-1
10
0
0
0
0
0
-17
0
0
0
0
0
0
9
0
21
1
1
0
0
0
16
25
0
0
2
0
0
-31
-17
0
29
-22
0
0
0
0
0
0
0
0
0
-13
-50
-2
1
5
0
0
2
-68
0
0
-33
0
0
0
-5
0
47
-14
0
0
-1
-79
0
0
0
0
5
0
17
-8
0
0
0
0
0
42
0
0
0
0
0
8
33
0
5
8
0
0
1
33
0
-3
12
0
0
56
-9
0
0
58
0
0
8
-16
3
0
13
0
0
-8
-3
0
-2
18
0
0
0
-34
0
0
5
0
0
-5
-1
0
0
0
0
14
0
42
0
0
0
0
0
0
31
0
0
0
0
0
0
-39
0
5
0
0
0
-13
33
0
-3
1
0
0
5
31
0
-10
6
0
0
5
39
0
5
-18
0
0
0
95
0
7
3
0
0
0
63
0
0
-2
0
0
0
-42
0
-6
0
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
28
0
0
0
0
0
42
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
100
1
0
21
0
0
0
-4
0
0
-15
0
0
0
21
0
0
3
0
0
-1
13
0
0
-2
0
0
0
5
0
0
-52
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
14
0
0
0
-4
4
0
0
0
0
0
2
14
0
-42
-16
0
0
0
0
0
0
0
0
0
-3
142
0
0
3
1
0
40
-45
0
0
-13
0
0
0
-22
0
52
0
0
0
0
-25
0
0
2
0
0
0
-22
1
6
0
0
0
0
34
0
0
0
0
0
-3
-14
0
0
3
0
0
21
57
0
-6
3
0
0
23
57
0
0
-20
0
0
28
11
0
0
13
0
0
6
31
1
8
13
0
0
1
3
0
0
1
0
0
0
4
0
1
-1
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
24
0
-1
3
0
0
0
4
6
0
2
-4
0
0
25
0
-1
-1
0
0
-5
10
0
0
3
0
0
0
62
0
-5
0
0
0
0
-42
0
0
1
0
0
0
58
0
5
1
0
0
0
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
5
46
-44
72
-25
23
-41
29
46
0
6
8
3
20
-4
-2
7
8
-14
17
-23
0
-8
7
-20
0
0
64
0
0
6
0
0
0
1
0
-12
-41
0
-3
0
30
-5
-17
7
5
-35
22
22
-5
-2
13
26
-2
-7
-10
15
-1
44
-19
26
-6
-10
-54
35
67
143
64
1
44
31
-13
9
8
64
-4
13
-14
-18
0
0
-49
-14
-27
22
46
0
0
32
34
34
-1
1
-66
1
0
-8
35
0
27
-48
93
-1
1
0
8
2
-17
8
70
0
22
22
-11
-7
13
22
-6
0
0
0
0
0
0
0
0
-24
6
-6
55
-2
-32
0
50
-22
-1
0
14
6
-1
19
43
2
6
-11
10
5
21
-8
-2
0
-3
-7
-17
0
-15
33
-20
13
20
1
0
10
-6
-3
15
-1
0
0
1
47
-48
0
43
8
12
10
41
-23
17
-1
-2
59
38
12
2
-51
-1
6
60
9
-42
-38
43
-6
-9
-21
-12
-7
19
24
49
24
25
-22
-1
-8
2
0
-18
-14
-35
4
0
26
-28
62
0
-35
17
-1
21
13
5
-7
33
-3
-5
22
-12
4
6
51
42
-23
-10
5
15
-26
-32
-21
78
-55
12
5
-32
4
-7
73
-65
-6
-1
-34
-31
7
53
-39
-56
-7
-18
-56
-2
13
21
1
8
0
6
7
-7
-45
3
7
0
5
1
39
6
5
-5
0
17
1
6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
2
0
0
12
0
0
0
10
0
0
0
-9
0
2
-3
0
0
24
-2
0
0
-1
1
0
14
3
0
0
0
0
0
0
8
0
0
0
0
-2
0
-1
-2
0
0
0
0
0
32
0
2
0
0
0
0
31
0
0
1
0
0
-6
20
0
15
39
0
0
0
0
0
0
0
0
0
34
-72
0
2
25
0
0
2
-40
0
0
2
0
0
-2
-14
0
1
0
3
0
0
-31
1
0
0
0
0
0
52
-1
0
0
0
0
0
-13
0
0
0
0
0
0
-13
-1
1
0
0
0
4
33
0
0
-9
0
0
-3
0
0
-1
58
5
0
-3
19
0
0
-8
0
0
-1
15
0
-3
0
0
0
0
-33
0
0
1
0
-2
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-3
-4
4
0
0
0
0
-5
0
0
0
0
0
0
-19
0
0
-4
0
0
0
0
3
-6
12
0
0
4
0
0
0
2
1
0
0
-5
0
-2
0
0
0
0
-15
0
0
0
0
0
0
65
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
27
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
25
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
-18
-1
4
0
0
0
0
40
0
0
0
0
0
0
5
0
-4
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
-6
0
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
-56
0
0
-10
0
0
0
18
0
0
5
0
0
2
18
0
0
-5
0
0
0
5
0
0
0
0
0
0
-15
0
0
-1
0
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
5
0
-1
-6
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-21
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-22
0
0
-1
0
0
-97
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
-1
8
-25
2
0
0
-1
0
0
57
0
0
0
0
0
0
36
0
0
0
-7
0
1
1
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
20
0
-3
0
0
0
0
22
0
0
0
0
0
0
-13
0
-5
3
0
0
0
0
0
0
0
0
0
0
62
0
3
0
0
0
0
-8
0
0
-9
0
0
0
0
0
4
0
0
0
0
58
0
0
0
0
0
0
-45
0
0
0
0
0
0
-17
0
0
0
0
0
0
-8
0
0
-2
0
0
0
36
0
0
2
0
0
-4
50
0
0
-14
1
0
3
22
0
6
18
0
0
0
19
0
0
-2
0
0
1
3
0
0
0
0
0
0
-6
0
-2
0
0
2
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
2
0
0
0
0
-15
0
0
17
0
0
-3
56
0
6
-6
0
0
0
2
0
0
0
0
0
0
42
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
5
0
1
-7
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-45
0
0
0
0
0
2
-3
0
0
0
1
0
0
0
-1
-1
0
5
0
0
-13
0
1
0
0
98
0
0
-3
-1
1
-5
48
-20
0
0
-30
0
0
7
0
4
0
2
1
0
-8
3
0
0
6
0
0
0
-8
0
0
1
0
18
0
0
-7
0
0
0
-1
0
-16
0
0
0
0
0
2
15
0
0
0
0
0
-5
47
4
-17
-7
5
0
0
0
0
0
0
0
0
114
-23
0
-2
9
0
0
20
37
0
0
-2
0
0
0
-16
0
17
1
0
0
0
40
0
0
0
0
0
0
-26
0
5
0
0
0
0
14
0
0
0
0
0
0
63
2
0
-5
6
0
0
-26
0
0
-1
0
0
-3
41
0
1
24
0
0
19
112
1
0
0
-1
0
0
-1
0
0
19
4
0
-5
66
0
0
-1
0
-1
0
43
0
0
0
-1
-4
0
-7
0
0
0
0
0
0
-19
-3
0
0
0
0
-1
6
0
1
0
0
0
0
20
0
3
0
-1
0
0
-41
0
1
2
3
0
-8
-1
0
0
-2
-6
0
0
-27
0
3
0
0
0
0
-55
0
0
0
0
0
0
-7
0
-10
0
0
0
0
-5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-10
0
0
0
0
0
48
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
5
0
2
-1
0
0
0
5
0
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
13
2
0
0
0
0
0
12
0
0
0
0
0
3
-6
0
13
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
1
-2
0
0
1
0
0
0
0
0
28
0
0
0
0
-2
0
0
0
0
0
0
18
0
7
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
6
22
0
0
0
0
0
0
13
0
0
1
0
0
0
48
0
0
0
0
0
0
-6
0
0
9
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
43
0
0
0
0
0
0
-7
0
0
0
0
0
0
21
0
0
0
0
0
0
17
0
0
0
0
0
0
23
0
3
0
0
0
0
4
0
0
0
0
0
0
1
0
0
-2
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-62
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
-10
0
10
-12
0
0
-4
0
0
-15
0
0
0
0
-1
0
-64
0
0
0
5
0
0
1
0
0
0
24
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
7
0
0
0
1
0
0
27
0
0
0
0
0
-3
37
0
-30
9
-1
0
0
0
0
0
0
0
0
-3
13
0
0
5
4
0
7
25
0
0
-61
0
0
0
-6
0
15
0
-1
0
0
22
0
0
0
0
0
0
38
0
0
0
0
0
0
9
0
0
0
0
0
0
-17
0
0
0
0
0
-5
11
0
0
5
0
0
-7
-19
0
0
-26
10
0
-12
-10
0
0
5
0
0
-2
-78
0
0
3
0
0
0
17
0
0
6
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
-2
0
0
0
3
-16
0
-3
-4
0
0
0
-23
0
24
0
0
0
0
-27
0
3
19
0
0
0
22
0
4
3
0
0
0
10
0
0
1
0
0
0
-22
0
-1
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
-1
-1
0
0
0
2
0
-4
12
0
0
0
1
1
10
0
1
-3
0
0
6
0
0
0
0
-5
3
0
0
9
0
0
2
44
0
0
15
-22
-8
26
0
1
4
5
0
-8
22
-10
6
1
1
19
-1
22
19
0
0
25
-2
8
-13
19
0
0
-2
0
0
66
-5
0
0
8
0
0
0
-42
0
0
-3
-5
-29
0
0
-1
0
0
0
1
0
4
1
3
0
-1
0
3
9
0
0
13
0
0
4
42
-4
8
-14
-1
0
0
0
0
0
0
0
0
-9
-14
0
-5
-44
12
0
-8
62
1
-4
-17
0
0
1
-14
0
8
30
0
-7
0
20
0
0
-2
0
-7
0
-3
0
0
0
-2
0
0
47
-1
0
-1
0
0
-1
-23
0
1
2
4
3
4
14
1
6
5
4
-6
50
20
-1
9
65
-8
2
5
10
1
35
4
-1
-1
-2
17
-1
-1
17
5
-10
-1
-11
0
-1
-2
0
10
0
22
-2
0
7
2
3
0
-33
3
-2
0
1
0
0
66
0
0
0
0
2
0
-63
-3
39
0
0
-6
0
-65
-2
1
-5
-2
-4
1
9
4
-4
-8
4
4
-4
-14
0
2
-20
-2
12
9
-9
0
43
-10
-1
5
0
36
0
5
5
0
0
0
50
0
-22
0
0
6
0
56
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
-16
0
0
0
0
0
-4
1
0
0
0
0
-3
0
0
0
17
-3
0
-8
0
0
0
-6
0
0
-29
6
0
0
52
-39
0
-1
0
0
0
-5
0
0
-1
0
0
0
30
-1
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
-1
-2
0
-15
4
0
0
0
0
0
-23
0
0
0
0
0
5
20
0
2
-7
5
0
0
0
0
0
0
0
0
2
0
6
0
-41
3
0
-5
59
0
-1
3
0
0
2
36
0
-23
2
0
0
0
41
0
0
0
0
0
0
-16
0
-1
0
0
0
0
-20
-1
0
0
0
0
0
60
0
0
3
6
0
-2
-17
0
0
0
0
0
0
-10
0
4
-81
5
0
-5
0
0
0
16
0
0
-4
48
0
0
-8
4
0
-1
-19
0
0
0
0
0
0
-13
0
0
0
-9
0
0
-19
0
0
0
0
0
0
17
0
1
0
0
0
0
13
0
0
2
0
0
-1
49
0
-3
-5
0
0
0
-21
0
16
7
0
0
0
0
0
-1
4
0
0
-2
0
0
2
1
0
0
0
7
0
0
0
0
0
0
-44
0
0
0
0
0
0
9
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
6
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
-1
-2
0
0
0
0
0
-13
0
0
0
-5
0
0
9
0
0
0
51
13
-8
-26
-4
0
0
-6
0
0
-6
0
0
0
14
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
-1
0
0
0
2
0
-26
1
0
0
0
0
0
-40
0
0
0
0
0
0
41
0
-18
-16
1
0
0
0
0
0
0
0
0
-1
-29
0
-3
-2
0
0
5
59
0
0
-4
0
0
0
9
0
41
0
6
0
0
8
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-32
0
0
3
2
0
4
-26
0
0
3
0
0
0
48
0
0
-52
0
0
0
9
0
0
3
0
0
0
16
0
0
1
4
0
1
73
0
0
0
0
0
0
-16
0
0
-5
-1
0
0
-25
1
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
8
0
0
0
0
-10
0
1
0
0
0
0
19
0
0
4
0
0
0
25
0
0
0
0
0
7
15
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
8
0
0
0
0
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
3
0
0
0
0
0
0
0
-10
0
0
0
-9
-2
0
-5
0
0
0
5
0
0
10
0
0
0
20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
0
0
0
0
0
38
0
0
2
0
0
1
1
0
8
-2
0
0
0
0
0
0
0
0
0
1
6
0
0
5
0
0
1
48
0
0
-8
0
0
0
2
0
-22
0
0
0
0
22
0
0
0
0
0
0
40
0
0
0
0
0
0
25
0
0
0
0
0
0
-15
0
0
2
0
0
0
-3
0
0
4
0
0
0
-8
0
0
0
0
0
0
53
0
0
0
1
0
0
13
0
0
0
0
0
0
70
0
0
0
0
0
0
34
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
-4
0
0
0
-4
0
-1
-1
0
0
0
-8
0
0
0
0
0
0
-7
0
4
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-9
0
0
1
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
1
6
4
2
70
4
0
1
25
0
0
13
-1
0
0
-13
13
0
68
0
0
0
14
0
0
4
2
0
0
-49
0
0
-17
7
0
0
0
0
6
0
3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
-1
0
2
0
2
-80
0
0
1
0
0
-12
-13
0
78
10
0
0
0
0
0
0
0
0
0
-12
46
0
0
-15
-1
0
-5
11
0
0
6
0
0
4
2
0
21
0
4
0
0
-52
0
0
0
0
0
0
5
25
0
0
0
0
0
1
0
0
0
0
0
2
73
0
0
0
1
0
7
80
0
-2
8
0
0
-8
-84
0
0
27
-2
0
1
-41
0
0
1
0
0
-1
31
0
0
1
0
0
0
17
0
-7
2
0
-8
0
-45
0
0
0
0
3
-8
60
0
0
0
0
0
0
25
0
0
0
0
0
4
6
0
-8
0
0
0
0
20
0
-4
2
0
0
0
27
0
19
2
0
0
0
69
0
0
1
1
0
0
13
0
-9
-13
0
0
0
1
0
0
0
0
0
0
18
0
1
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
-1
0
0
0
0
0
40
0
0
4
0
0
3
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-5
0
40
-4
0
0
0
0
0
0
-19
0
0
0
-1
0
0
7
0
0
0
-5
0
0
10
0
0
0
5
0
0
12
-2
0
0
0
0
1
0
2
0
0
0
0
-2
0
0
3
0
0
0
-4
0
5
2
1
0
0
0
-2
28
0
0
0
0
0
-3
-47
0
-9
20
0
0
0
0
0
0
0
0
0
13
6
0
0
63
0
0
22
-6
0
0
-4
0
0
5
31
0
-11
8
0
0
0
-14
0
0
0
0
6
0
-75
1
-2
0
0
0
0
14
2
0
1
0
0
-2
-59
4
0
-6
0
0
52
11
0
0
17
0
-3
76
56
0
2
18
0
0
-14
33
-1
0
66
0
0
-2
6
0
-1
39
0
0
0
16
0
0
3
0
2
0
38
0
0
0
0
-3
0
21
0
0
0
0
6
0
-4
-5
0
0
0
0
0
52
0
1
-1
0
0
0
9
0
0
-7
0
0
-2
101
0
22
10
0
0
-4
4
0
0
1
0
0
-3
-7
0
19
0
0
0
0
69
0
1
1
0
0
0
93
0
0
0
0
0
0
52
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-21
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
7
-5
0
0
-2
2
0
98
6
0
14
1
0
0
14
2
0
1
-24
16
0
-5
0
0
0
0
0
0
-15
0
0
0
6
0
0
60
0
0
0
0
3
0
0
8
0
0
4
8
8
0
0
23
0
0
0
0
0
16
-3
-1
0
0
0
0
43
0
0
0
0
0
72
30
0
-45
52
0
0
0
0
0
0
0
0
0
19
57
0
-2
-76
-3
0
25
-25
0
0
-16
0
0
1
30
0
72
24
-3
0
-2
1
-1
0
0
0
0
0
41
-2
-2
0
0
0
0
101
-1
0
-1
0
0
-5
33
0
0
8
-5
0
23
-54
0
-1
13
0
0
-41
16
0
1
-10
-6
0
15
-3
0
0
8
0
0
-8
63
0
-1
-4
0
0
14
21
0
-6
8
0
0
0
14
0
0
0
0
0
0
28
0
0
0
0
0
0
-7
-6
0
0
0
0
-4
-11
0
-2
4
0
0
0
3
6
-1
9
0
0
-5
-14
0
41
34
0
0
-4
63
0
0
-25
0
0
0
37
0
-13
-12
0
0
1
13
0
-3
2
1
0
0
28
0
-8
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
12
8
3
2
0
1
0
-3
0
0
9
0
0
-21
0
0
0
1
0
2
-1
1
0
0
0
15
5
0
0
40
9
19
18
46
1
-7
-7
0
29
106
-23
-2
1
53
16
-10
-70
-42
0
-1
43
0
-16
-4
8
0
0
26
2
17
0
22
0
0
-12
0
-2
0
23
0
0
1
3
-80
0
0
23
0
0
0
-9
0
21
1
-2
8
-3
0
-5
-62
0
0
1
0
0
13
24
-1
-31
51
-10
0
0
0
0
0
0
0
0
-1
-23
0
-3
31
-9
1
1
95
0
0
-6
-13
-3
0
-2
0
-12
43
49
4
0
-16
0
0
1
0
5
0
-5
22
-5
0
0
0
0
22
0
0
2
0
0
2
13
3
7
-18
3
12
26
-1
-2
-1
-9
-1
-1
6
9
0
3
-59
-8
0
3
59
-7
-16
28
2
27
0
19
-8
-16
0
2
1
4
-10
0
2
0
0
0
0
-13
-1
2
-9
2
41
0
-3
-4
0
0
-4
-1
0
-11
0
0
0
1
0
0
-29
-1
0
24
4
0
-7
15
16
-7
18
-2
0
1
-92
0
20
5
3
0
8
47
-1
29
-11
20
5
0
55
0
32
-1
0
0
-8
-21
0
8
8
0
0
0
-3
0
25
0
0
8
0
85
-14
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-21
0
0
0
0
0
-59
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
-4
0
0
24
0
0
0
-22
0
0
-7
-1
0
0
5
2
0
21
0
0
0
71
0
0
74
0
0
0
12
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-4
5
-4
0
0
0
0
46
0
0
0
0
0
0
6
0
13
25
0
0
0
0
0
0
0
0
0
14
25
0
0
5
0
0
49
0
0
0
8
3
0
0
3
0
17
0
0
0
0
-46
0
0
0
0
0
0
-7
-3
0
0
0
0
0
22
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
0
3
0
0
0
6
0
0
-16
0
0
-5
11
0
0
6
0
0
0
0
0
0
0
2
0
0
31
0
7
0
0
0
0
-1
0
0
0
0
0
0
-32
0
0
0
0
0
0
-5
0
0
0
0
0
-1
4
0
-1
0
0
0
0
16
0
0
-3
0
0
0
37
0
1
0
0
0
0
34
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
14
0
5
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
0
0
0
1
0
0
1
0
0
0
16
0
0
1
-1
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
1
-25
0
0
0
0
0
0
-2
0
-14
4
0
0
0
0
0
0
0
0
0
8
19
0
0
0
0
0
0
-18
0
0
-8
0
0
2
10
0
6
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
62
0
0
0
0
0
0
-18
0
0
0
0
0
1
-20
0
0
7
0
0
1
-28
0
0
-2
0
0
6
17
0
0
-8
0
0
0
-3
0
0
-2
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
1
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
3
0
0
3
0
0
0
73
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
0
6
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
4
0
0
0
0
-2
0
0
0
0
0
0
3
0
43
-1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-26
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-25
0
0
0
0
0
0
29
0
0
0
0
0
1
-42
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-43
0
0
-2
0
0
0
-18
0
0
-6
0
0
0
-14
0
2
0
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
0
-3
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
-2
0
0
1
0
0
0
19
0
0
0
0
0
0
-2
-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
-58
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
1
0
0
5
0
0
10
-1
0
0
6
0
0
8
-3
0
0
1
0
0
-3
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
1
63
0
0
0
0
0
8
31
0
-3
0
0
0
0
0
0
0
0
0
0
0
27
0
0
9
0
0
-3
-21
0
0
0
0
0
3
-17
0
7
0
0
0
0
29
0
0
0
0
0
0
72
-2
0
0
0
0
0
-72
0
0
0
0
0
0
-13
0
0
0
0
0
1
-15
0
1
0
0
0
0
-37
0
0
-2
0
0
0
-25
0
-6
0
0
0
0
-8
0
0
0
0
0
0
37
0
0
0
0
0
0
-7
0
0
0
0
0
0
-18
0
0
0
0
0
0
8
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
1
0
0
0
16
0
0
2
0
0
-3
-6
0
-1
0
0
0
0
4
0
0
0
0
0
0
20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
14
0
0
-2
0
0
2
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
3
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
-4
8
0
3
1
-1
0
14
0
0
30
0
0
0
-42
-1
0
45
-2
0
0
17
0
0
-1
0
0
0
5
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
7
0
0
0
0
0
-14
3
0
0
0
0
-2
18
0
0
0
0
0
13
35
0
19
43
0
0
0
0
0
0
0
0
0
-21
73
0
0
47
4
0
-13
51
0
0
5
0
0
27
-7
0
85
4
3
0
0
58
0
0
4
0
0
0
4
5
0
0
0
0
0
6
0
0
0
0
0
5
12
0
0
19
3
0
-45
38
0
0
14
0
0
20
36
0
0
31
0
0
69
-22
0
0
-12
-2
0
4
-13
0
0
5
-4
0
2
-5
0
3
-3
0
0
0
-19
0
0
-4
13
0
0
10
-1
0
0
0
0
0
12
-4
0
0
0
0
5
73
0
-15
-4
0
0
0
0
3
0
9
0
0
0
10
0
-8
2
0
0
4
15
0
-1
-9
2
0
-3
-34
0
-13
9
0
0
10
37
0
2
0
0
0
0
-29
0
-6
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-75
0
0
0
0
0
-69
0
0
0
0
0
-1
0
0
0
0
1
-3
0
0
0
-1
0
0
15
7
0
0
-3
0
0
58
1
0
0
15
-1
-2
0
-1
0
0
-2
0
0
3
3
0
0
20
-1
0
0
5
0
0
1
0
-5
0
7
0
0
6
0
8
0
0
0
0
0
-3
-1
0
9
0
0
0
0
0
-1
53
0
0
0
-1
0
8
55
0
29
1
-1
0
0
0
0
0
0
0
0
0
-21
0
0
-13
-1
0
5
32
0
-4
8
0
0
0
-20
0
9
-6
0
0
0
64
0
0
0
0
0
0
5
8
0
0
0
0
0
-19
0
0
0
0
0
0
-6
0
0
3
7
0
1
25
0
7
29
0
0
7
15
0
0
-1
-1
0
-2
1
0
-2
49
3
2
0
73
0
0
-19
4
0
0
-23
0
0
0
0
2
0
-10
0
0
1
0
1
0
-5
0
0
0
0
0
0
42
-1
0
0
0
0
0
20
0
-4
0
0
0
-3
-11
0
0
0
4
0
0
16
0
-17
-1
0
0
0
-9
0
1
1
-1
0
0
-33
0
0
12
-8
0
0
1
0
0
-3
3
0
0
-24
0
-1
0
0
-1
0
-37
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
-2
-3
0
0
0
0
0
4
0
0
-1
0
-4
-10
0
0
0
5
0
0
-14
0
0
0
7
0
0
29
0
1
0
4
0
0
-1
0
0
-3
-6
-9
0
35
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
3
0
0
0
0
-4
0
0
-4
0
0
16
-13
0
26
-3
0
0
0
0
0
0
0
0
0
13
22
1
-2
-21
0
0
-24
23
0
0
-10
0
0
-3
0
0
10
2
0
0
-1
36
0
0
0
0
0
0
18
0
4
0
0
0
0
-41
0
0
0
0
0
0
46
-1
0
0
0
2
10
-36
0
0
0
0
-4
0
-1
0
2
-17
-1
0
9
-44
0
0
-9
0
0
0
-37
0
12
-4
0
0
-3
0
0
8
-14
0
0
0
-32
0
0
0
3
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
-43
0
5
-1
0
0
0
33
3
0
-2
0
0
2
74
0
2
-25
0
0
0
2
-2
5
0
14
0
0
3
0
0
-1
0
0
-1
0
0
0
0
-4
0
0
16
0
2
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
-12
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
40
0
0
12
0
0
0
50
0
0
0
0
0
0
1
0
-21
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
45
0
0
0
0
0
0
60
0
0
0
0
0
0
35
0
0
-1
0
0
0
44
0
0
0
0
0
0
4
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
-3
5
0
2
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-41
0
0
5
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
-2
-29
40
2
0
0
33
0
0
-22
6
0
0
-5
-2
0
13
7
0
0
0
0
1
5
-2
0
0
-1
0
0
-28
4
0
0
0
-6
0
-1
31
0
0
0
-8
13
0
0
3
0
0
0
0
0
37
2
0
0
0
0
-1
-54
5
0
1
0
-5
0
9
0
15
2
1
0
0
0
0
0
0
0
0
-10
43
0
0
10
0
0
2
40
0
0
5
0
0
-1
-9
-4
-32
0
0
0
0
-110
0
0
0
0
0
0
12
4
0
0
8
0
0
60
0
0
0
0
0
0
25
0
-6
0
0
4
-1
-22
0
0
0
0
0
0
-6
0
0
-9
-5
-1
0
23
0
1
-1
0
0
0
-23
0
0
0
0
0
-2
13
0
0
2
0
-2
0
28
0
0
0
1
-2
0
58
-1
0
0
0
0
0
13
5
0
0
0
0
0
6
0
44
0
3
0
0
-4
0
2
14
0
0
0
-14
0
-32
0
3
0
0
17
0
-3
8
-4
0
0
31
0
-5
0
0
0
-1
63
0
0
0
0
0
0
-26
1
2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
1
0
4
-2
-2
0
0
7
0
2
0
1
0
-1
30
0
1
-16
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-52
0
0
0
13
0
8
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
31
3
0
0
0
0
0
-68
0
0
1
0
0
-2
-4
0
-8
21
0
0
0
0
0
0
0
0
0
4
-27
0
0
-27
0
0
72
-66
0
0
-13
0
0
0
13
0
1
-2
0
0
0
47
0
0
0
0
0
0
59
-2
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
-3
0
0
-1
40
0
0
2
0
0
-2
-19
0
0
31
0
0
0
-37
0
0
96
0
-2
3
34
0
0
-21
0
0
-1
-19
0
0
8
0
1
0
69
0
-3
4
0
-2
0
-14
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
2
2
0
0
0
23
0
0
6
0
0
0
-25
0
-8
-4
0
0
0
26
0
0
-5
-1
0
0
66
0
-1
-8
0
0
0
13
0
0
0
0
0
0
-11
0
-2
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
11
0
0
0
0
0
1
-3
0
0
0
0
-5
0
0
0
-2
2
0
-18
0
0
0
0
0
0
48
2
0
0
66
-6
0
9
0
0
0
0
0
0
4
0
0
0
-3
0
0
4
-7
0
0
0
0
0
6
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
14
2
0
0
-1
0
2
-7
0
0
3
0
0
-8
13
0
23
-32
0
0
0
0
0
0
0
0
0
-27
90
0
0
27
-4
0
-30
79
0
0
8
0
0
-6
12
0
6
0
0
0
0
10
0
0
0
0
0
0
-36
4
3
0
0
0
0
-12
0
0
0
0
0
0
-34
0
0
-10
0
0
-4
-57
0
0
15
0
0
25
-13
0
-2
-1
0
0
-32
24
0
0
-28
0
0
-2
27
-1
-2
13
1
0
12
44
0
1
0
0
0
0
31
0
7
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
-5
0
0
0
0
10
0
3
-9
0
0
-1
78
0
-1
-8
0
0
0
26
0
0
2
0
0
0
136
0
-13
0
0
0
0
-13
0
0
0
0
0
0
18
0
5
4
0
0
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
-7
1
0
0
0
0
0
0
0
0
0
2
-12
0
0
1
0
0
5
11
0
0
0
0
0
0
-7
0
1
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-3
0
0
0
0
0
-8
5
0
0
0
0
0
3
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
5
0
0
-3
0
0
-2
2
0
0
6
0
0
0
-5
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-2
-80
0
0
-1
0
0
8
22
0
5
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
-5
0
0
-2
35
0
0
0
0
0
1
-10
0
1
0
0
0
0
0
0
0
-1
0
0
0
-33
0
0
0
0
0
0
-39
0
0
0
0
0
0
-8
0
0
0
1
0
0
5
0
0
3
0
0
0
18
0
0
0
0
0
0
10
0
0
0
0
0
0
-35
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
-2
2
0
0
0
-8
0
-8
-8
-5
0
0
-9
0
0
0
0
0
1
-12
0
0
0
-1
0
0
4
0
6
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
8
3
0
2
7
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-10
0
0
0
0
0
-2
0
0
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
8
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
23
0
0
0
0
0
2
4
0
0
0
0
0
16
-24
0
0
2
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
3
1
-21
19
53
3
25
-1
-4
-31
-17
3
-2
-29
63
61
-13
25
14
4
-45
14
34
-25
-47
35
-3
4
30
5
-57
35
33
28
-29
1
-9
10
-30
4
14
-59
12
30
-15
5
5
-2
-31
13
60
-21
48
-5
0
-28
2
12
0
58
-44
-1
-2
-1
3
-2
-8
23
-24
48
-3
14
-30
-17
17
6
-16
-3
-4
-21
37
2
16
34
-8
-3
0
0
0
0
0
0
0
-9
10
-23
-2
16
-60
-16
-17
-21
7
-8
7
-122
28
37
-1
4
-23
-4
-21
-2
0
5
-5
5
-12
-14
-58
0
13
-26
0
-7
-19
9
-6
6
-34
-1
5
-39
-13
31
-22
21
12
44
-18
27
2
-17
-7
-23
-4
3
45
-41
9
68
-38
-2
-16
1
33
-5
11
12
31
13
25
-1
3
-1
-41
3
-5
-9
-11
-4
-20
-3
12
3
-24
13
-6
-4
-43
41
3
12
0
-17
5
-7
5
5
-41
-9
-26
-78
-3
-9
-70
2
61
-32
16
-16
72
32
-7
-1
-14
2
-45
71
-52
-9
-23
-2
-13
-60
17
-60
-13
-9
-4
-14
-55
-11
-7
56
37
17
-2
34
-51
-18
-8
-13
-9
-7
76
7
20
14
0
-10
14
-8
23
17
39
0
17
-5
44
5
37
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
-2
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
-8
0
0
3
-2
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
-49
0
0
0
0
0
-2
-13
0
0
0
0
0
-2
9
0
0
0
0
0
5
-1
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
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
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
-17
0
0
0
0
1
-6
-16
0
0
0
0
-20
-8
0
0
13
-36
0
40
-7
0
0
-17
0
0
-3
-7
0
-1
53
-40
0
-20
12
0
-3
-46
0
0
34
4
0
0
-27
-1
0
45
-10
0
0
24
-3
0
-5
-6
0
0
0
0
0
0
0
14
0
0
1
0
0
18
25
5
0
8
0
18
-22
0
0
23
0
0
3
56
-1
4
-46
4
0
0
0
0
0
0
0
0
103
-24
-1
0
52
33
0
-10
-14
0
0
30
2
0
0
2
0
60
-17
0
0
8
90
6
1
4
-3
0
0
4
-13
-4
1
-2
0
1
6
4
0
2
0
0
24
14
0
1
5
8
-2
-16
12
0
0
15
0
0
-12
8
0
3
36
35
0
-20
73
0
9
50
0
0
-4
45
-1
13
54
-20
0
-5
-6
0
5
66
0
0
0
35
0
-15
-13
2
0
0
-30
0
2
0
0
0
0
-31
4
0
0
2
0
0
3
0
-1
-1
0
0
-27
14
0
-5
24
-3
0
5
34
0
12
8
0
0
-8
-21
0
58
5
5
0
0
-12
0
34
7
0
0
-1
-3
0
-8
3
9
0
0
7
0
67
0
0
0
0
44
10
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
8
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
1
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
-1
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
4
-14
-5
-25
-14
-8
16
34
67
9
-12
-12
-37
-9
56
-3
5
22
-21
12
-25
-36
9
-24
22
-28
-4
-2
91
-34
4
51
-55
-43
57
44
10
-18
-15
-1
-26
-37
-7
24
-10
58
-2
-23
-89
-14
-4
5
12
13
-21
-26
0
7
-53
13
2
25
-8
-38
24
-6
-7
-8
-19
4
-52
-15
-38
10
-86
12
-7
-18
-14
-21
4
3
0
0
0
0
0
0
0
13
-8
-24
-2
-12
5
46
-15
-18
19
46
30
13
104
8
13
-8
-1
21
-22
-6
19
16
-19
-12
-45
-5
-29
-5
1
1
-7
49
-30
34
-1
-8
-16
66
45
-93
-60
0
6
18
-29
30
14
17
-21
-18
-20
54
-1
12
-7
-34
-24
76
-8
8
-19
-49
5
-14
41
-6
2
18
52
-41
-1
-27
10
4
-31
39
-7
8
-6
48
16
15
9
0
0
-4
18
15
14
12
-24
-7
0
-10
-9
-21
43
1
15
-19
33
35
28
-25
1
-11
-57
-6
-22
35
15
-64
-12
2
-9
-7
13
-54
-15
-16
14
-39
24
-21
1
31
2
-5
3
20
-2
28
-1
4
7
13
48
-5
-14
43
-11
-10
-11
-27
14
52
9
-5
49
-8
-42
121
44
-2
5
-8
56
55
25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-2
0
0
0
3
-16
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
23
0
0
0
0
0
0
42
0
0
0
0
0
0
-2
0
4
4
0
0
0
0
0
0
0
0
0
0
18
0
0
-5
-1
0
-13
26
0
0
9
0
0
0
0
0
6
0
0
0
0
5
0
0
0
0
0
0
2
1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
97
0
0
0
0
0
0
26
0
0
18
0
0
0
5
0
0
0
0
0
0
41
0
0
0
0
0
0
-34
0
0
0
0
0
0
-9
0
0
0
0
0
0
65
0
0
0
0
0
0
5
0
0
0
0
0
0
23
0
0
0
0
0
0
-24
0
0
0
0
0
0
34
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
70
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
12
0
0
0
0
0
-1
-4
0
0
-2
0
0
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
2
0
0
0
-2
0
1
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
-2
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
15
5
0
-35
0
0
0
6
0
0
-3
8
0
-1
18
1
0
53
0
0
-4
-7
0
0
8
-2
0
0
5
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
42
0
0
-8
0
0
0
5
0
0
3
3
0
0
0
-2
-4
0
0
-5
0
0
-19
17
0
18
-48
1
0
0
0
0
0
0
0
0
-15
-31
0
0
-7
-2
0
21
-58
0
0
6
0
0
7
-80
0
27
15
-3
0
0
-8
0
-1
0
0
3
0
45
-10
-2
0
0
0
0
0
0
0
0
0
0
3
-49
0
-7
0
0
0
28
22
0
0
-43
0
0
-14
-18
0
0
14
-3
0
13
-52
0
0
16
0
0
1
23
0
0
-39
38
0
-3
46
0
0
-5
0
-2
0
-20
0
0
0
0
19
0
-51
0
0
0
0
0
0
0
0
0
1
0
0
0
43
0
16
0
0
0
0
36
0
7
0
0
0
0
-32
0
3
-7
6
0
0
25
0
0
-6
-2
0
0
-18
0
-3
2
0
0
0
30
0
0
0
0
0
0
21
0
27
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
35
0
1
-17
-1
0
10
-66
6
1
7
56
0
0
18
-8
-3
10
41
0
0
48
0
-1
13
1
0
1
-23
1
29
0
17
0
0
-1
0
-3
0
-7
0
0
0
-5
-54
0
1
5
0
0
-2
-1
0
-31
-1
0
1
-1
0
0
24
0
1
-37
0
1
-6
13
0
1
-19
-2
0
0
0
0
0
0
0
0
5
16
-3
1
-65
27
0
1
5
0
0
-13
0
0
21
-69
0
-52
31
8
0
0
-66
0
1
-5
0
0
0
-26
2
3
0
0
0
0
-48
-2
0
2
2
0
2
58
-4
-6
49
-2
1
-24
35
-1
0
5
0
1
19
-18
0
-4
-36
2
0
-24
-67
0
0
6
1
0
41
-32
0
0
27
4
0
1
-30
0
0
-5
-1
2
0
-42
0
0
24
0
13
0
-6
1
0
0
0
0
0
30
2
6
0
0
0
0
55
0
49
1
0
0
-3
-25
0
-3
37
0
0
27
81
0
6
13
6
1
0
22
1
-2
-41
0
4
-1
20
0
14
-1
-4
0
1
-6
0
3
3
0
0
0
122
0
8
0
0
0
0
13
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
2
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
0
-4
0
0
0
0
0
0
-1
0
0
0
6
0
0
-4
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-2
0
-1
0
0
0
0
-6
0
0
3
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
-4
16
0
1
5
0
0
-2
22
0
0
0
0
0
0
-1
0
-9
0
0
0
0
-1
0
0
0
0
0
0
32
-2
0
0
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
0
0
0
-20
0
0
0
0
0
0
-23
0
7
0
1
0
0
-21
0
0
0
0
0
0
-3
0
0
-13
0
0
0
5
0
0
-4
0
2
0
0
0
0
6
0
-2
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
31
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-33
0
0
0
0
0
0
-4
0
0
0
0
0
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
3
0
0
0
0
-2
0
0
0
0
0
0
-19
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
1
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
-2
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
-2
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-6
-1
0
0
0
0
0
48
0
0
0
0
0
-3
5
0
-8
-4
0
0
0
0
0
0
0
0
0
0
7
0
0
-16
0
0
18
-27
0
0
5
0
0
0
-3
0
8
0
0
0
0
27
0
0
0
0
0
0
-55
1
0
0
0
0
0
-55
0
0
0
0
0
0
-20
0
0
0
0
0
7
-21
0
0
0
0
0
-2
14
0
0
-3
0
0
0
-8
0
0
24
0
0
0
16
0
0
0
3
0
0
10
0
0
0
0
0
0
-7
0
0
1
0
0
0
-10
0
0
0
0
0
0
-9
1
0
0
0
0
0
-13
0
-3
0
0
0
0
-3
0
0
-3
0
0
-1
-44
0
0
-2
0
0
0
-7
0
0
1
-8
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
-4
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
0
-2
0
2
51
-8
0
1
21
8
0
51
-15
0
0
26
0
0
-3
3
2
0
76
-1
-6
-41
1
0
0
-1
0
0
1
2
0
0
3
-6
-38
0
0
24
0
0
0
7
0
20
16
5
0
0
0
0
27
1
0
-2
0
0
3
11
0
-21
6
9
0
0
0
0
0
0
0
0
34
38
0
0
59
18
0
-21
0
0
0
-16
0
0
0
-28
0
4
-8
2
0
0
-31
4
0
0
0
-4
0
5
-3
2
0
0
0
0
-49
0
0
0
-1
0
0
-2
0
0
-1
0
0
-1
-34
0
0
-6
0
0
3
44
0
0
11
28
0
2
-22
0
0
32
2
4
23
-60
0
8
13
-3
0
2
3
0
0
0
0
0
0
75
0
0
2
0
49
0
41
-1
1
0
0
0
0
-42
4
0
0
0
0
0
16
0
2
0
0
0
0
11
0
-5
-19
4
0
-3
31
0
48
24
0
0
0
31
0
-16
-1
12
0
-5
-9
0
37
0
0
0
-2
36
0
0
0
4
0
0
3
0
37
0
0
0
0
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
-2
8
0
0
-43
0
0
0
7
-8
0
13
6
0
-2
30
0
0
1
-1
0
-1
69
2
-1
49
0
0
0
4
3
0
0
0
0
0
0
0
74
0
0
-2
0
0
0
-1
0
18
4
-3
4
2
0
-4
0
3
0
-3
0
0
-4
0
0
13
50
4
0
0
0
0
0
0
0
0
8
-47
0
0
-44
8
0
35
20
0
0
25
0
0
6
-24
0
25
-25
-8
0
0
-25
0
0
-1
0
0
0
28
0
0
0
-2
0
0
-38
0
0
-1
0
0
0
0
0
0
-8
-2
0
0
-2
0
0
22
0
0
6
-36
0
8
-14
0
0
23
58
0
0
13
0
5
-3
-11
0
9
5
-6
2
-4
-74
0
0
1
0
0
0
-17
0
0
6
4
20
0
3
0
0
0
0
-1
0
-4
0
0
0
12
0
0
0
5
33
0
1
0
-5
-5
1
-4
-10
-10
0
-5
25
0
10
2
0
0
-2
30
0
3
-8
3
0
3
9
0
1
0
0
0
0
-22
0
2
-2
0
0
0
-27
0
8
4
0
-7
0
-43
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
31
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
-1
4
0
-5
-14
0
0
0
0
0
0
0
0
0
0
-8
0
0
-14
2
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
0
-54
0
0
0
0
0
0
7
0
0
0
0
0
2
16
0
0
0
0
0
2
-35
0
0
17
0
0
0
60
0
0
8
0
0
0
42
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
2
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
-6
0
0
2
0
0
-2
-1
0
0
3
0
0
0
0
0
0
1
0
0
0
-13
0
1
-3
0
0
0
-1
0
0
0
0
0
0
-42
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
0
7
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-5
0
0
4
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
6
-1
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
-1
27
0
0
0
0
0
0
2
0
0
2
0
0
0
41
0
0
-5
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
-1
0
0
0
4
0
0
0
0
0
0
-1
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
3
0
0
-4
0
-7
0
21
0
-1
3
18
35
13
-18
0
-2
59
0
-6
15
5
0
-7
8
9
25
-12
-1
4
0
-28
0
-12
6
-9
0
0
20
-13
6
0
0
7
0
0
0
-5
0
-3
4
0
0
9
0
5
-34
7
5
3
0
0
9
20
0
44
-1
1
0
0
0
0
0
0
0
0
23
-6
0
-4
66
5
0
-13
-2
0
0
5
-6
0
16
15
0
13
21
6
0
0
7
3
0
-1
0
-1
0
21
17
0
0
-3
0
0
32
0
-1
0
0
0
-1
31
-4
2
1
-3
0
99
42
0
0
-13
0
-1
19
42
0
3
45
7
0
26
-14
-5
0
81
-1
-1
6
-5
5
0
-7
23
0
3
-18
0
-2
5
0
6
0
-34
0
-7
2
-3
11
0
12
1
0
-3
-2
-7
0
25
-6
1
0
0
0
1
58
0
-18
0
0
0
1
23
0
16
-13
0
-1
-10
45
0
-24
21
-6
0
-7
31
0
-8
49
5
0
-1
-2
0
89
-1
-10
0
-1
-13
0
-6
5
-1
0
0
12
3
-52
0
0
2
0
-4
-10
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
-7
-24
0
-2
-5
12
-1
0
-40
0
43
32
-9
0
-5
0
0
3
13
4
0
0
6
0
1
49
-9
0
0
-3
0
29
4
-1
0
0
0
0
-15
0
0
0
0
0
0
-20
0
-17
1
1
0
0
0
-41
6
0
0
2
0
0
-40
-42
0
-56
-41
0
0
0
0
0
0
0
0
0
-24
-41
0
2
-2
0
-5
44
-2
0
0
-14
0
1
15
-65
0
19
-6
0
0
2
-20
0
0
0
0
13
0
-35
0
-5
0
0
0
0
5
0
0
0
0
0
-1
-33
0
5
0
0
-1
21
-12
0
0
40
0
0
-30
-14
0
0
37
0
-2
77
-25
0
0
9
0
0
41
-26
0
4
31
1
0
12
-10
0
1
13
0
3
3
9
0
-1
0
0
-19
0
40
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
-5
4
0
2
4
74
0
0
35
0
0
-1
80
2
15
-19
8
0
6
-19
0
-2
-21
0
0
20
-12
0
-63
64
0
0
-2
44
0
-1
2
2
0
0
10
0
2
0
0
-7
0
-30
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
0
0
6
0
0
49
8
0
0
-58
25
0
4
5
0
7
-4
-2
0
4
-2
0
0
-8
7
0
-28
-4
0
0
23
0
0
-4
2
0
0
26
-25
0
0
0
5
0
0
0
0
0
37
-4
0
0
0
0
34
-10
2
-2
0
1
0
22
-2
0
27
-22
5
0
0
0
0
0
0
0
0
92
14
0
-3
-47
-6
0
-65
32
0
0
20
0
0
-13
56
0
52
-8
-13
0
90
-34
0
0
-1
0
0
0
-31
2
6
5
7
0
0
7
0
1
-2
0
0
-7
102
5
0
-21
16
5
37
56
0
-1
33
0
0
-6
-14
0
0
-1
-39
0
-5
-19
-1
-1
-4
0
0
22
-11
-2
-4
23
0
0
-2
-5
0
0
-44
0
0
-2
-5
0
4
30
24
0
0
1
0
0
0
0
0
0
23
-1
0
0
0
0
0
5
0
44
-4
0
0
4
43
0
0
33
1
0
10
35
0
-5
28
1
0
-8
-10
0
-2
-3
18
0
6
68
0
-6
33
-1
0
1
-16
7
0
1
-2
0
0
13
0
-29
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
43
-3
62
22
-37
6
61
-46
-2
0
-57
8
14
28
40
-1
1
-11
60
61
32
40
1
0
13
3
-66
-19
37
0
0
45
37
24
0
5
-2
0
0
-1
21
0
-18
43
-24
-6
26
-1
0
-10
-5
7
-23
1
-2
-14
-37
-1
-44
-24
4
0
0
0
0
0
0
0
0
-33
23
27
21
-17
-19
15
25
33
0
48
50
-2
-1
59
0
0
5
-52
31
-8
-9
-13
-1
0
-3
8
7
0
-25
10
9
-3
14
-7
0
-24
-19
1
18
2
-2
4
-5
-21
-17
-3
14
-9
15
-14
4
27
-25
0
45
95
14
1
22
1
39
6
51
-9
3
26
5
15
-19
-15
-19
3
30
28
28
47
-60
-22
0
-16
4
-7
58
-3
13
-1
41
-13
5
5
2
14
-4
-1
-4
-7
-5
0
-31
31
3
4
27
0
-2
-25
-4
36
-35
19
0
110
-54
-8
-26
12
19
0
-50
7
-4
21
-70
15
4
5
42
-2
19
-30
-28
1
13
-7
1
24
59
-13
0
-19
-13
2
26
9
-8
0
0
21
-6
21
17
0
3
0
42
23
0
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
-13
0
2
71
0
0
0
6
0
-1
-5
-1
0
0
2
0
2
-13
5
0
0
-1
0
0
0
-3
0
0
2
0
5
0
0
5
4
0
0
0
0
22
0
1
0
0
0
-2
46
0
0
0
0
0
-2
0
0
-30
18
0
0
0
0
0
0
0
0
0
37
36
0
0
-93
-2
-4
-20
-68
0
0
-8
0
0
0
6
0
6
6
10
0
0
1
0
0
0
0
0
0
31
1
0
0
0
0
0
61
0
2
0
0
0
-2
-50
0
0
6
0
0
8
0
0
0
-28
0
0
-2
50
0
-1
-45
0
0
9
13
0
-4
-4
0
0
0
2
0
-1
25
8
0
0
68
0
0
-2
0
0
0
46
0
0
1
-4
-6
0
-29
0
0
0
0
0
0
-53
12
0
0
0
0
0
32
0
12
-3
0
0
-4
0
0
0
31
0
0
-5
-23
0
8
3
0
0
-3
46
0
3
-17
8
0
9
52
0
-10
-3
0
0
0
8
0
0
1
0
0
0
-3
0
6
0
0
0
0
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
2
0
0
1
2
0
0
17
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
-27
0
0
0
0
0
0
-55
0
0
-1
0
0
0
1
0
24
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
12
0
0
2
41
0
0
0
0
0
2
-7
0
20
0
0
0
0
13
0
0
0
0
0
0
69
1
-5
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
4
0
0
0
-38
0
0
8
0
0
0
-13
0
0
3
0
0
1
-41
0
0
3
0
0
0
7
0
0
0
0
0
-6
-21
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
18
0
0
0
0
0
0
10
0
0
-7
0
0
0
-25
0
-1
-2
0
0
0
23
0
0
-1
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
31
0
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
0
5
-1
0
0
25
0
0
44
0
0
0
-3
0
0
-3
0
0
0
2
0
0
16
0
0
0
0
0
0
0
-4
0
0
0
0
-19
0
0
0
0
0
0
-2
0
60
0
-1
0
0
0
0
-13
0
0
8
0
0
4
2
2
34
-31
0
0
0
0
0
0
0
0
0
3
23
0
-3
-18
0
0
80
44
0
0
0
0
0
0
-5
0
-3
0
0
0
0
50
0
0
0
0
0
0
-34
-3
0
0
0
0
0
20
0
0
0
0
0
-5
-5
0
0
-5
0
0
0
-59
0
0
5
0
0
-3
-32
1
0
34
0
0
0
-38
0
0
34
0
0
-1
47
0
0
0
0
0
0
32
0
0
-1
0
-1
0
4
0
0
1
0
2
0
40
0
0
0
0
0
0
-21
0
0
0
0
0
0
-7
0
-1
0
0
0
0
-22
0
0
4
0
0
0
66
0
-4
10
0
0
0
-12
0
0
0
0
0
0
4
0
-10
2
0
0
-4
8
0
0
-1
0
0
0
-72
0
13
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
16
0
5
0
68
24
22
101
-8
4
21
0
0
56
5
-2
0
-27
8
-22
-25
-13
0
0
2
2
-2
-1
31
0
0
-29
-7
-75
-1
-1
-25
0
0
0
19
0
-20
7
42
0
8
0
7
3
-15
1
63
0
0
10
-82
3
-12
-4
13
0
0
0
0
0
0
0
0
104
17
-1
56
9
19
2
-12
-9
3
-15
23
2
-2
13
-30
0
22
31
-31
-1
-19
-37
0
-1
1
0
1
0
40
-2
3
0
-9
0
3
-7
10
0
0
1
0
9
-69
-38
-1
-15
4
-2
5
32
-1
5
18
-5
0
-18
48
0
-10
13
39
-1
43
45
-3
-12
4
-5
25
-35
3
-1
24
-9
1
-6
8
-31
0
0
23
1
-7
0
-18
0
0
-2
-8
-2
0
30
8
0
-3
12
0
3
30
-4
3
4
4
0
0
-37
2
17
-1
3
0
10
25
-4
3
26
8
0
-3
-2
0
24
78
-1
0
-44
-28
-1
58
18
6
-8
-18
-24
0
30
19
2
1
-2
46
-3
1
-4
31
-1
0
-34
0
40
-1
-4
-3
0
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
7
0
0
0
0
0
-4
-3
0
-13
-6
0
0
0
0
0
0
0
0
0
0
-49
0
0
-5
0
0
1
23
0
0
0
0
0
0
2
0
0
0
0
0
0
63
0
0
0
0
0
0
25
-1
-1
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
-2
0
0
0
6
0
0
0
0
0
0
11
0
0
-7
0
0
1
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
13
0
0
-3
0
0
-3
-1
0
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
0
0
2
0
0
0
2
0
0
5
0
0
0
-6
0
0
-8
8
0
0
-3
0
0
0
-2
0
0
-4
-2
0
0
0
-1
0
0
0
0
0
37
0
-5
0
0
0
3
-30
0
0
-1
0
0
-20
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
-59
0
-1
80
0
0
-7
-63
0
0
1
0
0
0
-5
0
-27
0
8
0
0
25
0
0
0
0
0
0
44
0
0
0
0
0
0
-15
0
0
3
0
0
0
25
0
0
4
0
0
7
-5
0
0
-14
0
0
3
59
0
0
46
0
0
8
13
0
0
-13
-5
0
0
-13
0
0
-13
0
0
0
-3
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-2
9
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
6
2
0
0
1
-58
0
1
7
0
0
0
47
0
-8
0
0
0
0
5
0
0
-1
-6
0
-4
65
0
-2
3
0
0
0
-14
0
0
2
0
0
0
40
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
28
-19
-22
11
-3
-7
21
-16
1
-8
31
44
25
23
-2
5
-1
4
1
18
33
71
0
0
-22
46
5
0
3
-14
0
-1
3
-20
7
-15
53
-8
5
1
0
-52
12
16
-8
92
1
-4
4
11
63
1
5
-8
9
0
0
0
0
0
0
0
16
18
41
-2
26
15
-10
-30
17
0
65
9
-10
-7
23
-24
-1
-36
66
-19
6
-18
-31
-22
0
-26
7
-19
0
17
11
-13
-2
31
-4
0
11
-53
4
-5
-2
7
-70
-40
74
-16
-5
-22
31
-35
37
29
32
41
0
-4
4
9
2
19
33
22
4
62
11
76
51
32
38
-25
32
-1
5
23
38
5
18
-59
-29
0
19
-12
-3
26
0
63
1
25
-42
-16
11
0
7
23
0
-16
-6
-7
0
-17
46
0
0
-8
0
10
-23
21
42
-14
0
4
-10
-39
-2
33
-38
-39
0
-95
10
-15
-50
-26
9
3
-17
-8
0
14
11
19
0
0
-15
5
-11
39
41
-4
-4
-10
0
-56
-42
-60
-5
0
17
3
6
-47
-6
7
0
8
18
14
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
29
-1
0
12
0
-7
-29
1
0
2
57
-6
-3
10
14
0
0
7
0
0
1
5
0
0
0
-6
39
0
0
13
0
0
0
3
0
22
-5
-1
0
0
0
-48
16
0
0
-2
0
0
33
7
0
-19
-49
2
0
0
0
0
0
0
0
0
-4
-33
-6
6
8
-9
0
39
35
0
0
-22
0
0
1
36
0
-82
-3
8
0
0
9
-1
0
0
-5
5
0
22
9
-8
0
-1
0
0
31
0
0
0
0
0
1
-12
-1
0
6
0
0
1
42
8
-1
3
0
0
-65
0
1
-15
9
5
0
45
33
0
0
20
4
0
0
-10
-1
0
26
1
0
8
26
0
0
-10
-4
-1
3
10
0
0
1
-5
-8
0
-1
0
0
0
-1
0
0
-26
0
-4
0
0
0
0
76
0
8
0
5
0
0
77
0
1
6
0
0
20
0
0
46
-49
-7
0
34
13
0
5
-8
-8
0
0
25
-5
-35
22
-2
-2
0
53
0
-2
-6
-1
0
0
-40
0
-5
-2
0
0
0
-22
1
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-1
5
0
0
0
0
0
0
-5
0
48
4
0
0
0
0
0
0
0
0
0
-1
-6
0
0
-1
2
0
0
22
0
0
-8
0
0
0
3
0
10
0
0
0
0
-1
0
0
0
0
0
0
-29
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
1
0
0
1
46
0
0
3
0
0
0
-10
0
0
0
1
0
0
-46
0
0
0
0
0
0
2
0
0
0
0
0
0
74
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
16
0
5
0
0
0
0
59
0
0
0
0
0
-1
-7
0
0
0
0
0
-3
3
0
0
-4
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-1
0
-4
0
-8
0
0
-15
-4
1
15
1
0
0
1
0
0
0
0
0
0
5
0
-1
0
0
8
0
0
0
0
0
0
0
1
0
0
0
5
45
0
0
1
0
0
16
-41
0
-21
14
-1
0
0
0
0
0
0
0
0
37
-18
0
0
26
-2
0
0
36
0
0
-2
0
0
1
-9
0
-15
1
0
0
0
5
0
0
0
0
0
0
-27
0
0
0
0
0
0
-10
0
0
0
0
0
0
127
0
2
1
6
0
-3
-24
0
-2
37
0
0
-8
32
0
2
31
0
0
8
-65
0
1
10
0
0
1
-12
0
0
7
0
0
0
8
0
0
0
0
0
0
19
0
0
0
0
0
0
31
0
0
0
0
0
0
46
-4
0
0
0
0
0
-14
0
0
0
0
0
0
50
0
0
-1
0
0
0
-8
0
22
-6
0
0
1
15
0
-7
9
0
2
0
29
0
0
1
0
0
0
-5
0
0
-1
0
0
0
-10
0
-2
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
7
7
-2
-95
0
-7
102
27
-13
0
4
-10
-4
-10
-59
0
5
-36
0
-25
12
-20
0
-2
-17
20
-23
2
0
31
0
0
-4
-21
0
33
24
7
0
66
0
-31
-27
-1
8
20
-5
1
-26
24
5
-6
-40
-27
-1
0
0
0
0
0
0
0
44
30
0
20
67
7
4
-30
49
3
13
27
1
-5
61
33
0
-62
-18
18
0
-20
0
0
0
-4
-6
-13
0
-6
-50
71
0
-9
0
-2
31
-32
-1
2
-10
2
-13
-16
17
8
-29
-5
-10
88
5
-2
0
3
2
-1
-35
28
5
0
38
23
-4
5
-3
-2
1
-45
-13
84
89
-23
-21
2
16
20
3
5
27
6
4
57
-4
25
15
-22
0
-5
-4
-7
5
0
18
-8
3
0
-2
10
0
-16
-3
-2
0
0
0
13
-38
15
29
5
37
-41
-37
-54
-1
58
37
-14
-6
49
41
-22
-9
62
0
-2
16
-48
-16
-21
38
121
-5
47
-34
-1
7
-47
8
0
4
3
-8
-8
-2
31
4
-3
0
0
20
6
5
-19
0
-43
8
-2
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
2
0
0
35
0
3
10
7
2
0
9
-4
-2
6
-3
0
0
0
0
0
-2
43
0
0
6
0
-16
0
0
-20
0
0
0
-17
0
-10
7
0
1
0
0
-1
-23
0
0
-24
0
0
-55
43
0
84
51
0
0
0
0
0
0
0
0
0
-50
2
0
-1
-36
0
0
43
-37
0
1
6
0
0
-12
15
0
77
-49
0
-8
-2
8
0
0
0
0
23
0
1
-3
14
1
0
6
0
-7
-5
0
-3
0
0
-5
-66
3
0
8
0
0
52
2
0
0
51
0
12
6
-51
0
2
44
5
-5
13
66
13
0
-12
-1
5
-17
-5
4
0
26
0
3
0
-32
0
0
13
0
14
0
22
0
3
4
0
8
-2
60
1
0
0
0
0
0
23
25
0
0
0
0
-3
-28
0
-17
1
0
0
-13
55
-1
-2
75
0
0
0
4
0
14
-5
0
0
15
55
0
1
9
0
0
10
77
0
73
18
0
0
0
39
-3
-1
13
0
0
0
13
0
23
0
0
0
0
-41
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
0
-5
0
0
0
14
0
0
-4
0
0
0
1
0
0
-1
3
0
0
0
-1
0
0
0
0
0
0
1
0
0
-2
-3
0
0
0
0
0
27
0
0
0
0
0
-18
-4
0
46
-5
-3
0
0
0
0
0
0
0
0
13
16
-1
0
77
1
0
65
26
0
0
17
0
0
43
53
0
13
-23
-5
0
0
-41
0
0
0
0
0
0
96
1
0
0
0
0
0
34
0
0
0
0
0
0
5
2
0
1
0
0
7
-18
0
0
43
0
0
36
16
0
0
-50
2
0
1
-56
0
0
102
0
0
15
-6
0
-1
21
1
0
-3
-32
0
0
0
0
0
0
-13
0
3
4
0
0
0
-34
-6
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
-5
0
0
0
2
52
0
0
-5
8
0
1
10
0
5
14
0
0
7
-1
0
0
13
2
0
0
-1
0
5
0
0
0
0
61
0
0
0
0
0
0
6
0
-4
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
1
-6
-2
-8
-3
1
41
-1
1
-6
3
29
-2
51
-1
0
-1
13
-48
0
9
-55
0
0
0
41
7
8
-21
45
1
13
0
44
19
0
7
14
0
-3
63
31
10
19
-30
-1
-9
0
0
0
0
0
0
0
1
-34
0
-5
6
54
-12
-72
-74
3
33
0
-3
20
2
23
0
4
33
-41
2
-5
-33
5
0
-4
18
8
0
-5
8
78
-1
-2
0
0
10
-2
20
1
-3
2
-1
-7
-34
2
3
8
5
-10
0
-17
6
3
0
13
43
10
-5
-37
-46
-24
9
29
20
-22
108
-18
17
-8
-4
10
-1
31
-66
5
-2
39
-6
-2
7
38
-4
56
2
-6
1
0
-6
18
0
0
23
-14
0
0
-5
-4
0
-6
25
-1
1
5
0
-6
-47
35
-61
22
4
2
61
-21
5
1
-40
-8
0
13
26
-1
-11
-2
-4
-1
7
31
34
29
23
-7
0
12
26
0
39
102
-2
-1
-37
34
-2
3
7
32
-4
-1
-23
0
46
-9
0
-10
0
22
-14
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
2
4
1
-2
-1
0
0
-8
0
-5
2
-8
0
0
4
-1
6
0
0
-12
0
0
8
13
0
3
-6
6
1
-2
0
0
9
0
0
0
0
-2
-8
31
0
56
82
0
0
0
0
0
0
0
0
0
-16
0
-19
-19
-10
-8
0
18
-63
0
-3
12
1
-3
1
-41
0
-41
-4
-6
-6
2
44
0
0
0
0
0
0
11
2
-3
0
0
0
0
-45
3
0
0
0
0
5
57
-1
-5
-9
6
7
-14
16
0
2
-1
0
0
68
25
2
-7
12
5
0
20
0
0
0
-26
0
4
9
65
0
-6
-24
0
0
0
37
0
0
19
0
2
0
34
0
-1
-2
2
6
0
41
0
-3
0
-3
0
0
5
0
0
0
-1
0
0
62
0
49
0
-7
-1
-1
2
0
2
24
7
1
-1
43
0
22
27
4
0
1
0
2
1
48
-8
0
5
47
0
-17
4
0
0
-1
-56
0
-8
1
4
0
0
-40
0
37
-2
0
0
0
8
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
0
0
0
0
0
0
0
0
0
4
-5
0
0
-1
0
0
-1
1
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
-1
0
0
0
12
0
16
0
0
-1
0
0
0
10
0
0
1
0
0
6
6
0
-24
-19
0
0
0
0
0
0
0
0
0
-1
-8
0
0
15
0
0
4
31
0
0
-5
0
0
0
0
0
-30
0
0
0
0
-44
0
0
0
0
0
0
23
0
0
0
0
0
0
-67
0
0
0
0
0
0
12
0
0
-1
0
0
2
32
0
0
0
0
0
-3
-53
0
0
9
0
0
0
18
0
0
-3
0
0
0
6
0
0
5
-1
0
0
-27
0
0
0
0
0
0
-8
0
0
0
0
0
0
71
0
0
0
0
0
0
10
-2
0
0
0
0
0
14
0
-6
0
0
0
0
24
0
0
0
0
0
-3
-24
0
1
0
0
0
0
66
0
0
-1
0
0
0
67
0
-1
0
0
0
0
-29
0
0
0
0
0
0
43
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
7
0
-1
-9
0
0
0
4
0
0
0
0
0
0
-4
0
3
0
0
2
0
0
0
8
0
-34
5
3
0
0
0
0
49
0
0
-1
0
0
-8
5
0
20
53
0
0
0
0
0
0
0
0
0
-4
36
0
0
-9
0
0
100
-52
0
0
-8
0
0
-2
-5
0
-30
1
0
-3
0
69
0
0
0
0
0
0
4
13
0
0
-1
0
0
26
0
0
-1
0
0
0
89
0
0
0
0
-4
4
-5
0
0
5
0
0
6
-12
0
-2
-4
1
0
-1
66
0
8
15
0
0
-4
-4
0
0
15
1
0
0
22
0
-3
7
0
0
6
29
0
0
-2
0
0
0
31
0
0
-5
0
0
0
16
0
0
0
0
0
0
-39
0
3
0
0
0
0
49
0
0
8
0
0
0
5
0
-7
-4
0
0
2
16
0
0
-5
0
0
0
55
0
-3
-7
0
0
0
-10
0
0
0
0
0
0
-48
0
0
0
0
0
0
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
5
3
3
-4
-3
0
37
-29
0
0
3
0
12
-1
29
0
0
-1
22
-87
0
0
-25
0
0
-1
-6
0
15
-2
1
0
1
0
6
36
-3
0
-17
2
0
70
88
3
36
62
1
6
0
0
0
0
0
0
0
-5
-17
0
-2
-7
-2
0
7
58
0
0
-10
7
0
-24
15
3
42
9
-8
0
-8
24
0
0
-1
0
10
0
21
25
7
0
0
0
0
-11
2
0
0
0
0
21
-23
14
7
37
-4
-5
20
40
0
15
28
0
4
8
-6
0
3
-5
8
0
92
6
0
-2
34
1
-2
-13
-1
1
0
-31
85
0
2
-34
0
24
-2
0
22
4
37
0
14
8
-3
4
0
14
13
0
0
-2
0
0
57
5
0
0
2
0
-5
16
0
-25
0
0
0
-8
-21
0
-14
-22
-2
0
5
-41
0
9
-56
0
0
15
5
0
5
-12
12
0
3
-3
0
6
27
0
0
7
-14
0
-14
-3
-4
0
0
-76
-3
-15
0
0
3
0
3
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
87
0
0
0
0
0
9
-2
0
5
-1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
-1
4
0
0
0
0
0
0
-12
0
-3
0
0
0
0
4
0
0
0
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
27
0
0
3
0
0
0
77
0
0
-12
0
0
0
2
0
0
0
0
0
0
-8
0
3
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
0
61
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-1
0
0
-1
0
0
0
-3
0
2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-5
8
0
3
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
13
24
0
0
0
0
-5
11
0
0
0
0
0
14
4
0
78
52
21
0
0
0
0
0
0
0
0
70
33
0
0
82
0
0
41
-2
0
0
48
0
0
0
-3
0
-10
8
3
0
0
-31
0
0
0
0
0
0
48
8
0
0
0
0
0
-8
2
0
8
0
0
-6
25
0
1
7
0
0
0
-12
0
6
-25
0
0
8
-8
0
0
-42
-5
0
31
-6
0
0
6
0
0
5
33
0
0
-5
-3
0
0
23
0
0
0
0
0
0
51
0
0
0
1
0
0
-13
0
0
0
0
0
0
8
0
0
0
0
0
3
-91
0
-13
0
0
0
1
20
0
-3
5
-6
0
-2
-23
0
-8
48
0
0
2
-33
0
0
7
-13
0
-4
14
0
9
-10
0
0
-6
-5
0
6
-2
0
0
0
42
0
4
0
0
0
0
61
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
95
0
-5
0
27
0
0
68
-2
-28
0
1
12
0
0
14
0
0
-4
-26
17
0
1
0
-17
-22
8
0
19
0
-1
5
9
0
1
-1
-1
2
0
0
0
0
0
0
0
-1
-32
0
15
48
-6
3
24
-13
1
0
41
8
0
41
-6
0
39
27
-19
0
0
-35
0
3
-4
0
4
0
-3
17
1
-3
-2
0
6
8
2
0
2
-2
0
-16
-72
-1
9
-2
-25
-6
25
-27
0
-7
-2
2
-5
-20
12
1
-1
15
52
23
-32
11
5
-12
-25
-6
23
1
10
0
18
-15
43
0
-1
7
0
0
36
-2
-21
-8
45
0
-6
0
-3
48
0
4
-1
0
0
0
-1
0
10
8
-5
0
-5
0
-4
-37
-7
2
-1
13
-2
1
48
-19
-6
37
0
-2
3
6
-5
105
34
0
0
10
-3
2
22
-4
-41
0
-7
96
-3
-6
22
-2
-2
3
0
0
0
-2
4
-3
0
-17
0
-13
2
7
5
0
-41
-5
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
1
0
0
0
1
0
0
2
-6
7
0
0
0
0
0
0
3
0
-6
0
1
0
0
0
-3
18
0
1
-1
0
0
-8
0
0
58
-33
0
0
0
0
0
0
0
0
0
-4
31
3
0
-60
-7
0
31
0
0
-2
17
0
0
6
45
0
53
4
0
0
0
9
0
0
0
0
0
0
-22
13
0
0
0
0
0
38
0
0
0
0
0
0
-6
-3
0
2
0
0
-5
-9
0
0
27
0
0
-5
40
0
0
-58
0
0
-17
12
0
-3
17
0
0
1
0
0
0
21
8
1
3
50
0
0
2
0
-1
0
11
0
0
4
0
0
0
6
0
0
-1
0
0
0
39
4
0
0
0
0
0
-12
-2
-5
-2
0
0
0
-2
0
0
6
2
0
0
3
0
0
5
0
0
0
101
0
0
1
-3
0
1
0
0
-11
0
0
0
0
-7
0
0
0
-1
0
0
-23
0
7
0
0
0
0
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
2
0
0
1
0
0
0
-9
0
2
0
0
0
0
-5
0
0
0
0
0
0
20
0
0
0
0
0
0
49
0
0
0
0
0
0
-8
0
0
0
0
0
0
-11
0
0
-12
0
0
0
-37
0
0
-4
0
0
0
25
0
0
0
0
0
0
8
0
0
17
0
0
0
-20
0
0
0
0
0
0
9
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
32
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
1
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
34
0
0
0
0
0
0
20
0
0
0
0
0
0
18
0
0
0
0
0
0
-7
0
0
0
0
0
5
-3
0
0
-1
0
0
0
32
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
-1
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
12
0
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
2
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-17
-1
0
12
-3
-4
-2
38
-2
0
0
0
11
0
0
-2
0
0
0
2
0
-11
-2
0
-1
9
0
-10
-15
0
0
-19
0
0
6
40
-1
87
75
-17
0
0
0
0
0
0
0
0
42
-30
-2
-1
-13
21
0
95
-13
3
-3
-6
-4
0
-5
22
0
16
-10
10
1
-1
78
0
-1
-3
3
5
0
-8
-23
-5
0
9
2
0
12
16
0
-1
1
0
-9
-23
-4
-2
-5
-4
37
45
-39
0
41
7
8
-2
33
47
-4
39
42
8
7
-4
38
-4
12
96
5
-3
-32
-36
23
-15
-21
10
-10
0
-8
0
5
3
0
71
-4
40
1
0
2
-8
14
-6
18
-2
-1
0
-25
-4
2
5
-1
0
0
-1
0
-1
-3
-8
44
14
0
0
-1
-38
0
-5
17
-2
-4
15
33
5
91
24
5
0
19
-28
14
79
42
-3
0
1
-4
7
71
6
-13
2
0
-12
0
-22
1
9
2
0
-12
0
-66
0
0
-12
0
43
-24
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
12
0
0
7
0
2
0
1
0
0
0
0
50
0
0
4
0
0
0
4
0
38
-5
-1
0
0
0
-3
-22
0
0
-4
0
0
8
75
0
10
-37
0
0
0
0
0
0
0
0
0
28
-7
0
-1
57
0
0
1
-35
0
-3
35
0
0
-2
7
0
56
10
0
0
0
-17
0
0
0
0
0
0
64
-1
2
0
0
0
0
-15
-2
0
-2
0
0
0
29
-1
-1
0
0
5
15
-12
0
0
17
0
-5
-5
27
0
0
-10
0
0
0
-11
0
0
41
0
0
0
41
0
0
7
0
-3
-6
-32
0
3
1
0
4
0
-13
0
0
0
0
1
0
-26
0
0
0
0
0
0
18
0
0
1
0
0
0
40
0
2
1
0
0
0
8
0
-1
1
0
0
0
-26
0
31
44
0
0
0
29
0
8
7
0
0
0
-19
0
5
-1
0
0
0
-13
0
0
-1
0
0
0
26
0
-4
0
0
0
0
15
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
1
0
0
0
-8
0
0
0
60
0
0
0
-3
0
0
0
0
0
-29
0
0
0
0
0
-13
-17
0
0
4
0
0
-29
-3
3
45
67
-3
0
0
0
0
0
0
0
0
-3
53
0
0
-45
4
0
16
27
0
0
-50
0
0
31
-41
0
5
52
24
0
7
-4
0
0
-4
0
0
0
-12
5
0
0
3
0
0
10
4
0
0
0
0
-6
6
5
1
24
0
0
-1
29
0
0
6
0
0
15
88
0
0
22
-4
0
24
15
-2
-3
-65
0
0
45
-87
0
-1
24
8
0
-2
-21
0
0
5
0
0
0
55
0
10
-1
2
0
0
0
1
0
0
0
0
0
40
0
0
0
0
0
0
-38
0
-12
2
0
0
-6
29
0
5
-3
0
0
9
83
0
2
-10
0
0
-2
34
0
0
2
20
0
0
-13
0
-29
43
0
0
0
21
0
0
-3
0
0
0
-32
0
-1
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-10
15
-3
0
-18
9
0
0
-2
0
0
5
30
-34
1
-8
0
-67
-43
8
1
21
0
-37
73
-2
3
-10
7
7
0
0
0
0
0
0
0
0
34
17
0
-2
-6
50
0
19
4
0
0
63
2
0
-1
-4
-3
29
9
-15
0
0
5
0
0
-19
-5
2
0
9
-16
-5
6
6
0
0
11
-14
4
0
-9
-2
30
17
2
4
19
-54
17
42
-9
3
-25
19
0
-12
54
7
1
5
16
-59
-8
-29
-10
-23
30
-7
-17
-43
25
-9
8
47
-24
-21
7
2
6
-1
12
-13
12
55
0
24
1
-1
-41
0
31
0
13
6
0
0
-7
34
0
-60
-28
-4
0
0
0
0
-46
0
-23
-34
2
-12
-8
2
2
22
-40
-8
0
-28
12
0
7
-6
15
0
22
20
3
-50
-59
-6
3
-3
9
0
-20
27
7
0
4
-19
4
13
-50
7
2
0
18
3
55
-8
0
2
0
13
10
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
0
0
18
0
0
0
-2
0
33
0
-6
0
0
0
-3
-64
0
0
8
0
0
2
31
0
40
1
0
0
0
0
0
0
0
0
0
-13
-15
0
-2
63
0
-1
-7
30
0
0
10
0
0
9
0
-7
42
0
0
0
0
-30
0
0
0
0
0
0
24
-5
5
0
0
0
0
38
0
0
0
0
0
0
14
0
5
2
-2
2
-30
-5
1
0
31
0
8
18
66
0
0
-33
8
0
-8
33
0
0
13
-1
0
27
98
4
0
6
0
0
0
0
0
0
8
0
-1
0
-5
0
2
-2
-2
8
0
-30
0
0
0
0
0
0
47
0
0
0
0
0
0
14
0
6
2
0
0
3
5
0
17
35
-2
0
5
-23
-1
22
-8
3
0
-3
-48
0
8
24
2
0
0
-36
0
40
20
0
0
0
0
0
0
0
-2
0
0
15
0
-12
1
0
0
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
4
0
0
0
5
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-2
0
-1
5
27
0
0
4
0
0
0
0
0
32
0
-3
4
0
0
2
18
0
4
0
0
0
-5
-11
0
32
34
1
1
0
0
0
0
0
0
0
-12
-16
0
0
4
-8
0
-1
11
0
0
-3
-2
0
14
-2
0
59
-1
-2
0
0
-13
-1
0
0
0
-2
0
51
31
0
0
0
0
0
11
1
0
-1
-1
0
0
-40
0
-5
1
0
-9
7
22
0
0
25
0
-1
-1
-1
0
-8
-2
-2
0
10
31
0
0
-13
-6
-1
6
5
0
5
1
5
0
0
-45
0
0
3
0
0
2
58
0
-6
0
0
5
0
20
0
0
0
0
0
0
-22
0
0
0
0
0
0
-45
-2
21
0
2
0
0
-19
0
0
0
3
0
-1
-41
0
4
-1
-8
0
5
58
0
5
-2
2
-1
-4
-40
0
34
3
0
5
-2
3
0
3
0
2
0
0
41
1
15
0
0
2
0
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
-3
6
0
-4
0
0
0
0
6
0
0
0
0
3
0
-14
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
6
-27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-8
0
0
4
0
0
0
-17
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
-1
0
0
0
-3
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
0
0
-42
0
0
0
0
0
-27
0
4
0
1
0
-10
21
0
0
1
0
0
15
-2
0
-26
130
-15
0
0
0
0
0
0
0
0
-25
-5
0
0
-9
2
0
41
-25
0
0
21
0
0
0
39
0
-58
-2
-3
0
0
84
0
0
2
0
0
0
20
4
0
0
-2
0
0
-41
-3
0
0
0
0
0
-49
0
0
0
0
0
-12
13
0
0
52
0
0
-5
1
0
0
-63
4
0
5
24
0
-2
-29
-2
0
-15
25
0
0
54
4
0
3
3
0
0
17
0
0
0
-7
0
4
2
4
0
0
-1
0
0
0
-2
0
0
50
2
0
0
0
0
-5
1
0
6
-5
0
0
-1
-124
0
-2
9
-1
0
0
-71
0
-1
21
0
0
-1
33
0
0
16
-2
0
0
21
0
-5
-4
0
0
10
-9
0
0
-4
-5
0
0
3
0
3
0
0
0
0
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-22
0
0
0
0
0
0
-49
0
0
2
0
0
8
53
0
-72
-3
0
0
0
0
0
0
0
0
0
0
81
0
0
-14
2
0
0
13
0
0
7
0
0
0
-28
0
-10
0
0
0
0
24
0
0
0
0
0
0
-11
0
-3
0
0
0
0
0
0
0
0
-1
0
0
-29
0
0
1
-5
0
-1
-79
0
0
13
0
0
8
-14
0
0
12
0
0
1
4
0
0
4
0
0
0
10
0
0
0
0
0
0
-5
0
0
13
0
0
0
13
0
0
0
0
0
0
66
0
0
0
0
4
0
-16
0
0
0
0
0
0
-17
0
0
0
0
0
0
14
0
0
0
0
0
-2
49
0
-2
8
0
0
0
17
0
1
-5
0
0
0
9
0
13
3
0
0
0
24
0
-1
0
0
0
0
1
0
7
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
9
0
0
18
0
-1
0
0
0
6
-3
0
0
2
0
-6
-5
4
0
48
-68
0
6
0
0
0
0
0
0
0
-8
29
0
4
-16
41
0
-13
39
0
0
-5
0
0
-9
2
0
18
-7
-7
0
-5
0
0
0
0
-1
0
0
-1
16
0
3
0
0
0
32
-4
0
0
0
0
-6
-11
0
0
8
0
0
-1
5
0
1
10
0
0
-29
11
0
-1
74
-1
0
-8
47
0
0
22
0
0
15
48
0
-1
20
-8
0
-6
-25
0
0
-1
0
0
0
0
0
0
-1
-2
2
0
-31
0
0
0
0
0
0
40
5
5
0
0
0
0
-32
0
24
-1
0
0
0
-45
0
-1
4
0
0
-2
-22
0
15
8
0
0
-5
27
0
-3
-19
17
0
-1
13
0
-19
22
0
0
0
43
2
0
0
0
0
0
0
0
8
0
0
0
0
59
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-8
0
0
0
29
0
0
-2
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
28
0
0
-2
0
0
0
-8
0
0
-2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
-4
0
0
33
4
3
0
0
0
1
76
0
0
-1
-3
0
-5
-22
0
51
-16
-2
0
0
0
0
0
0
0
0
-8
6
0
0
8
0
0
-44
30
0
0
-1
0
0
0
-9
0
-28
2
-1
0
0
-12
0
0
0
0
0
0
-42
-5
-2
0
0
0
0
53
0
0
-1
0
0
0
0
0
0
3
6
-5
4
-51
0
0
10
0
8
-4
-53
0
0
7
1
-9
2
37
0
-3
5
0
-5
-3
28
0
0
0
0
3
0
-35
0
0
0
0
0
0
5
0
0
0
0
-1
0
21
0
0
0
0
0
0
15
0
0
0
0
0
0
13
0
-39
0
0
0
0
-32
0
0
3
0
0
0
26
0
-5
1
0
6
-5
35
0
-6
2
-2
0
0
-14
0
16
0
1
0
1
14
0
0
0
0
0
0
-13
0
1
0
7
0
0
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-10
-1
1
0
0
0
5
2
0
0
-10
0
0
-4
-22
0
-42
-48
0
0
0
0
0
0
0
0
0
10
-50
0
2
42
0
0
41
34
0
0
-17
0
0
39
-10
0
31
-4
0
0
5
-12
0
0
0
0
0
0
74
0
0
0
0
0
0
13
0
0
0
0
0
1
-16
0
0
10
0
0
-5
42
0
0
30
0
0
59
-2
0
0
-18
0
0
8
2
0
1
15
0
-2
0
8
0
-1
70
0
-4
5
-42
0
0
-5
0
23
0
-13
0
0
0
0
4
0
-14
0
0
0
0
1
0
47
0
0
0
0
0
0
47
0
60
-3
0
1
-1
52
0
14
0
0
0
1
-30
0
19
-3
0
0
1
-25
0
0
24
0
0
0
50
0
5
-12
0
-4
0
38
0
0
0
0
0
0
-24
0
3
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
7
0
0
-22
21
5
6
40
0
50
12
6
12
43
0
0
59
-28
0
32
8
62
0
0
0
0
0
0
0
0
66
-14
-3
-1
-14
58
0
15
24
0
0
47
-3
0
8
-16
0
12
-4
24
0
18
-26
53
0
0
0
0
0
23
7
2
-2
23
0
0
-11
4
0
-8
0
0
-27
9
-17
-3
-28
2
0
-4
-11
0
-8
-37
-2
0
-28
40
1
1
-22
49
0
41
12
7
-6
3
25
0
-5
8
0
-17
33
-13
0
-34
15
0
12
69
-21
0
4
54
1
26
-16
94
0
-8
-5
7
2
0
-3
0
0
35
13
0
-1
7
0
-5
10
-9
84
-1
0
0
-33
-16
-12
29
16
44
0
-19
12
1
-39
17
-25
0
-13
19
0
32
-5
28
0
64
32
2
30
93
0
0
-17
-11
0
33
18
18
0
0
-16
1
4
6
-1
0
0
47
4
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
39
0
0
0
0
0
-7
1
0
0
3
0
0
0
0
0
0
0
0
0
0
104
0
0
-8
0
0
-2
10
0
0
-1
0
0
3
-12
0
-3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
16
0
0
-1
0
0
2
9
0
0
-20
0
0
0
-5
0
0
7
0
0
0
-18
0
0
-3
0
0
0
27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-26
0
0
0
0
0
0
-12
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
0
-7
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-50
13
-1
0
0
0
11
-34
0
0
32
0
0
-28
18
0
-32
-58
0
0
0
0
0
0
0
0
0
47
10
-4
0
22
-17
0
-42
17
0
0
2
5
-3
8
-24
0
19
1
16
-6
0
-16
0
0
0
0
19
0
-76
0
-8
0
1
2
0
42
4
0
0
0
0
-19
1
1
1
-7
0
0
-19
-51
0
-1
-43
0
0
16
-20
0
2
28
-3
0
44
-33
0
0
24
0
0
-13
7
0
0
-42
2
1
13
23
0
0
17
0
3
0
-3
0
-6
9
-6
4
0
75
0
0
0
0
5
0
80
0
0
0
0
0
0
4
0
3
5
3
0
-6
-6
0
2
32
0
0
3
-10
0
31
-18
4
1
0
-32
0
13
-10
1
1
-8
21
4
-1
2
0
0
0
18
0
0
-1
0
-3
3
-34
0
90
6
0
0
0
-12
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-3
0
0
0
0
0
-13
0
0
0
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
-26
0
0
8
6
0
0
6
0
0
-1
0
0
0
51
0
-8
-1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
2
0
0
0
-5
20
0
0
0
0
0
0
7
0
0
-1
0
0
0
12
0
0
5
0
0
0
31
0
0
25
0
0
-1
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
-7
0
0
0
0
8
0
0
0
0
0
0
16
0
0
5
0
0
0
2
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
92
-2
3
1
0
0
25
4
0
0
1
0
0
9
67
0
40
-39
0
0
0
0
0
0
0
0
0
5
14
-1
-1
-5
4
0
39
65
0
0
-18
0
0
0
-19
0
1
10
2
0
0
8
-4
0
0
0
0
0
11
-79
1
0
0
0
0
18
0
0
0
0
0
2
-39
0
-8
-5
0
0
-4
-17
0
0
-31
0
0
-8
-40
2
0
-24
7
0
24
17
1
0
55
0
0
-4
-41
1
0
22
-3
0
0
3
0
0
9
0
0
-2
4
0
0
3
0
0
0
16
0
0
0
0
0
0
-8
-1
0
0
0
0
0
-2
-4
6
2
0
0
0
-18
0
-4
19
0
0
25
-27
0
5
-2
-2
0
4
-40
-1
-9
-7
-2
0
0
107
0
8
-12
0
0
0
19
0
0
6
0
0
0
-63
0
14
0
0
0
0
6
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
0
0
-3
0
0
-1
-14
0
0
2
0
0
0
4
0
3
1
0
0
0
2
0
0
0
0
0
0
-7
3
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
-1
0
0
0
18
0
0
-1
0
0
0
-1
0
0
4
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
-2
0
0
0
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
2
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-8
15
4
-13
10
-9
42
-14
5
18
-5
-18
2
0
0
0
0
0
0
0
-26
14
-18
16
29
-33
-54
15
-5
-12
30
32
2
31
-6
-19
-13
14
-37
-14
-2
-9
-19
-8
-7
10
19
0
0
5
-9
34
13
10
5
-25
0
-8
42
24
-31
27
23
-17
2
-15
-58
-90
42
18
-9
25
83
-7
1
-13
33
-17
-15
8
-1
55
5
-3
3
45
67
31
-19
8
3
23
-7
40
13
-18
-60
-57
-4
-5
-22
-26
25
18
-40
-12
14
12
-1
-10
41
13
-15
33
-24
-7
35
6
19
0
-17
1
-1
-34
3
62
-28
-13
28
4
83
-33
13
-8
20
0
7
-50
-19
70
2
5
0
-30
-15
-21
36
-39
-4
-20
-9
13
-23
-8
-19
34
-14
-11
48
73
-35
-31
1
38
-7
-24
-18
13
-29
22
-5
24
-15
8
3
-19
70
85
25
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
104
0
0
-8
-4
0
17
-3
0
-42
13
-2
0
0
0
0
0
0
0
0
-5
-24
0
0
-16
5
0
-27
49
0
-4
50
3
0
35
25
0
14
2
0
0
0
-40
0
0
-3
3
-2
0
-13
0
19
0
0
0
0
5
0
0
-2
0
0
0
-8
6
0
0
-5
4
2
33
4
1
-4
0
0
49
-9
0
-2
12
-1
0
15
-6
1
0
0
0
0
-3
32
0
-1
-26
5
0
-1
-18
0
0
8
0
-4
0
15
0
0
-3
0
-2
0
-28
4
1
0
0
0
0
-48
0
0
0
0
0
0
58
0
2
0
0
1
0
45
6
0
7
0
0
5
-4
0
-5
-2
0
-2
0
84
1
-1
-4
-3
0
-8
46
0
14
2
-6
0
0
33
0
0
0
2
-2
0
8
0
30
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
38
0
0
0
0
0
-27
-19
0
0
3
4
0
0
0
0
0
0
0
0
5
-15
0
0
-19
-5
0
-22
-49
0
0
17
12
0
0
-24
0
-30
-10
0
0
0
-5
1
0
0
0
0
0
116
5
0
0
0
0
0
-5
-4
0
0
0
0
0
31
0
0
15
4
0
-6
-44
0
0
-9
0
0
-10
36
0
0
-27
3
0
-3
-47
0
0
26
0
0
0
-16
3
-1
31
-6
0
0
58
0
0
0
0
-1
0
11
0
-4
0
0
-1
0
-52
0
0
0
0
0
0
50
-2
0
0
0
0
-2
-7
0
0
4
0
0
-1
4
0
0
-5
0
0
-2
86
0
0
-15
0
0
0
23
0
0
1
-9
0
0
15
0
3
7
0
0
0
39
0
-1
0
3
0
0
-12
1
2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-2
47
0
0
-5
0
0
0
-29
0
0
0
0
0
0
-13
0
5
0
0
0
0
1
0
0
0
0
0
0
-44
-1
-8
0
0
0
0
-23
0
0
0
0
0
0
6
0
2
0
0
0
-8
-26
0
0
0
0
0
1
-11
0
0
1
0
0
-2
-31
0
0
-8
0
0
3
-7
0
0
0
0
0
0
5
0
0
0
0
3
0
-12
0
0
0
3
0
0
45
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
34
0
0
0
0
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
-24
0
0
0
0
0
0
19
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
81
0
0
0
0
0
-9
0
0
-19
70
0
0
0
0
0
0
0
0
0
20
29
0
0
-4
0
0
9
43
0
0
-10
0
0
2
3
0
-30
29
0
0
0
-56
0
0
0
0
1
0
28
1
0
0
0
0
0
39
0
0
0
0
0
0
-39
0
0
0
0
0
0
-21
0
0
28
0
0
-2
-9
0
0
5
0
0
5
-40
0
0
-10
0
0
-12
-31
0
0
50
0
0
0
-1
0
0
0
0
2
0
3
0
0
0
0
-5
0
11
3
0
0
0
0
0
-32
-7
0
0
0
0
0
-3
0
24
0
0
0
-5
-76
0
7
9
0
0
17
36
0
3
-9
0
0
-5
9
0
0
-6
0
0
-2
15
0
34
2
0
0
0
31
0
0
1
0
0
0
33
0
5
0
0
6
0
19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
24
0
25
3
0
0
0
0
0
0
0
0
0
8
24
0
0
77
4
0
-1
-21
0
1
40
-7
0
0
-98
0
-28
0
41
5
-1
-6
0
0
-1
0
2
0
-48
-5
17
0
1
5
0
35
2
0
0
0
0
0
-41
0
-1
-1
-2
0
0
-55
0
0
-6
0
0
30
44
0
3
80
0
0
0
-33
0
0
-21
0
-2
-16
-3
-3
2
80
-8
0
-1
-7
0
0
-30
0
0
0
5
0
-3
0
0
1
0
6
0
0
0
0
0
0
-67
-2
0
0
0
0
0
21
-3
13
8
0
0
1
3
0
0
5
2
0
3
69
0
-8
-14
0
0
0
7
0
22
25
1
0
0
28
0
-1
-3
0
0
0
-20
0
1
-1
1
0
0
40
0
-41
0
0
0
0
59
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
8
24
56
-82
3
0
0
0
0
0
0
0
3
16
64
-27
-2
-33
112
20
-16
50
37
-41
23
-49
12
-18
8
-18
31
31
-9
-67
-33
5
-8
-8
79
-60
-9
5
-16
9
-16
16
16
-1
-2
-18
8
5
-26
-13
16
0
41
26
35
-70
13
15
-5
53
5
27
13
34
-19
6
9
2
14
14
59
-3
-12
-37
12
-39
44
-61
-18
-1
-11
4
-25
59
9
-5
10
0
-25
-18
2
-34
-69
5
20
50
61
30
-7
25
-4
49
-18
0
31
35
1
-5
34
-18
17
23
0
-22
0
-9
-30
4
64
9
-8
3
-68
-23
42
-42
-13
3
13
18
2
60
-86
40
-59
-23
51
29
34
-2
-10
8
25
59
13
84
-15
49
-46
29
-5
-25
-1
-33
25
0
-12
26
11
-38
14
12
1
47
-28
46
45
93
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
27
20
7
0
0
0
0
0
0
0
0
9
-19
0
0
9
0
0
5
-1
0
0
7
0
0
0
-6
0
2
3
0
0
0
13
0
0
0
0
0
0
53
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
44
0
0
-3
0
0
0
22
0
0
0
0
0
-1
106
0
0
-8
0
0
-2
16
0
0
0
0
0
0
63
0
0
0
0
0
0
6
0
0
0
0
0
0
-66
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
1
0
0
0
0
38
0
0
0
0
0
0
-4
0
-3
0
0
0
0
-7
0
0
-3
0
0
9
9
0
4
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
7
0
0
0
0
0
0
0
0
0
0
29
0
0
19
0
0
0
-8
0
0
1
0
0
0
-4
0
5
0
0
0
0
2
0
0
0
0
0
0
25
0
0
0
0
0
0
41
0
0
0
0
0
0
31
0
0
-5
0
0
0
-25
0
0
1
0
0
0
54
0
0
-9
0
0
1
-2
0
0
4
0
0
0
43
0
0
-4
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
2
0
0
0
0
5
0
-1
0
0
0
0
3
0
5
-1
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-68
0
-9
8
66
0
0
0
0
0
0
0
0
62
-46
1
-1
-14
-5
0
-13
7
0
0
16
0
0
-10
-2
0
70
-15
-2
0
1
-35
0
0
2
0
1
0
1
-25
0
0
5
0
0
94
13
0
0
0
0
0
27
1
0
-5
1
-2
5
18
0
0
31
0
0
-20
26
-1
-3
55
-2
0
23
-3
2
0
56
3
0
-13
15
0
-2
33
-2
0
4
-26
0
0
9
0
3
0
84
0
0
-7
0
45
0
-55
0
0
0
0
0
0
25
-1
0
0
0
0
0
-36
0
-1
1
0
0
5
70
0
4
-1
0
0
10
84
0
-17
-5
4
0
-2
-15
-1
0
0
5
0
0
-3
0
-6
-1
0
0
0
27
0
0
0
0
0
0
-45
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-23
0
0
0
0
0
0
0
0
0
0
0
-23
0
1
6
0
0
-9
-9
0
0
0
0
0
-2
-4
0
-4
0
0
0
0
-58
0
0
0
0
0
0
-17
0
0
0
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
-10
4
0
0
0
0
0
0
-40
0
0
5
-3
0
0
-5
0
0
2
0
0
1
-31
0
0
0
-4
0
0
43
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
30
0
0
0
0
0
0
-25
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
-5
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-19
-3
0
-18
-19
0
8
-24
0
-1
26
0
0
1
15
1
37
-22
45
0
0
-6
2
-3
3
0
-1
0
5
57
-21
0
0
0
0
31
-5
0
0
14
0
1
-81
0
-7
-24
4
0
-12
-6
3
39
0
0
0
47
-50
4
-10
53
-27
6
31
20
-5
-2
-47
-6
-1
-39
-62
2
15
-6
9
0
-3
-10
0
15
2
0
0
0
36
0
-8
-34
29
-27
0
-7
12
0
1
4
5
0
-7
10
-3
0
0
0
0
19
0
4
13
-13
0
29
61
12
2
-13
41
0
2
17
-1
-51
16
1
-1
22
-4
0
-31
-27
-66
-1
-8
-16
-5
-61
-42
3
0
0
47
5
-1
-6
-2
0
0
15
0
41
0
0
0
0
62
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
-8
7
40
-31
0
46
1
5
8
7
3
-2
-5
-4
2
36
4
1
-2
17
-15
7
0
12
0
3
0
-12
-67
15
10
31
0
0
-30
-44
0
1
12
1
17
40
48
-31
-40
-2
9
-88
0
23
12
-37
0
-9
-26
-7
0
27
-4
16
4
95
-35
6
10
22
23
-27
-79
-28
3
16
-2
-76
-8
22
14
0
29
43
-1
-14
-6
18
0
21
17
-14
103
-4
-10
17
0
1
8
35
0
27
-1
0
0
-8
2
7
90
1
68
-6
-1
2
40
0
-2
34
-3
8
7
13
8
-6
35
-25
-7
0
5
7
-13
101
-16
68
-10
-47
50
3
39
22
4
1
-6
40
9
-8
-37
5
-3
0
1
-4
21
10
8
-3
0
25
69
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
62
0
0
-1
0
0
0
-62
0
0
1
0
0
-1
24
0
5
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-24
0
0
0
0
0
0
46
0
0
0
0
0
0
87
0
0
0
0
0
1
3
0
0
-1
0
0
0
12
0
0
1
0
0
0
6
0
0
6
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
-1
0
0
0
0
-9
0
1
0
0
0
0
32
0
0
3
0
0
0
5
0
0
6
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
52
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
10
8
49
-1
-9
-3
-17
-3
1
-16
29
26
13
55
5
0
20
79
53
-3
6
3
-1
1
27
-25
-20
0
9
46
-7
-8
10
0
0
26
-5
-2
-8
-9
5
22
21
19
24
-24
-16
22
10
-34
13
13
-17
-31
-3
52
-15
-5
2
34
1
-2
-20
25
22
23
9
48
63
99
19
5
18
7
-10
72
65
19
2
21
-15
-15
-26
52
-54
-18
10
8
19
15
-7
-9
-13
0
1
1
-5
-2
26
-4
-2
3
-23
0
-5
5
-5
-2
-10
1
-15
72
29
13
33
29
19
-1
-11
-12
-1
42
52
-7
0
27
-36
21
44
49
58
-1
50
4
4
-11
6
5
-13
7
-7
0
13
5
-43
-3
18
-16
-4
66
-9
8
-10
0
-5
8
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
33
-8
7
-17
98
0
45
54
0
-5
45
-4
34
83
19
3
3
-25
28
-5
9
22
24
0
-4
0
-5
-1
-16
3
31
0
18
1
-4
0
5
0
-4
-1
-1
0
18
101
31
1
5
-3
-5
25
0
8
50
-1
0
-6
-47
10
33
51
27
0
41
21
15
24
-22
1
-7
76
-52
12
-12
-6
-31
1
-22
-27
0
-5
-28
-6
-13
6
14
3
0
25
5
2
1
-5
0
4
0
17
2
0
10
-6
-1
0
0
0
-1
14
-10
22
4
1
2
-24
50
-13
-49
-26
-9
0
-88
-100
1
2
-20
20
5
33
-37
5
20
113
-69
0
27
6
3
-13
67
0
0
44
34
0
24
42
0
2
0
-9
2
-21
0
2
27
0
33
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
50
0
0
-45
-79
0
0
2
0
0
2
22
0
-32
18
0
0
-5
-34
0
0
-1
0
-7
0
-58
14
19
0
0
0
0
3
0
0
0
0
0
0
36
0
0
0
12
0
-9
6
0
0
17
0
0
-4
13
0
0
14
0
0
23
29
0
0
2
0
0
16
36
0
-1
-13
0
0
-1
-17
0
0
16
0
-1
0
55
0
0
0
0
-2
0
101
0
0
0
0
-5
0
-43
17
0
0
0
0
13
-38
0
-12
-4
0
0
12
25
0
3
-13
0
0
-3
30
0
2
-27
0
0
-2
5
0
5
4
0
0
0
-16
0
8
-5
0
0
0
-42
0
0
0
0
0
0
6
0
31
0
0
0
0
-7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
9
0
0
0
0
-9
0
0
0
0
0
0
3
7
0
0
0
0
0
-14
0
0
0
0
0
0
18
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
13
-4
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
0
0
7
0
0
-8
0
0
0
24
0
0
4
0
0
0
39
0
0
-8
1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
23
0
-4
48
5
-6
-23
-69
0
-12
-18
3
-1
17
-27
-4
0
31
-12
5
0
16
-7
-42
-1
-5
0
0
11
8
0
0
3
0
0
-19
0
14
31
-7
19
22
21
0
-6
-8
0
-2
-5
-24
0
9
36
-14
0
13
-11
0
4
15
-3
12
20
-24
0
-5
58
6
-2
2
-16
0
3
-20
1
-31
0
38
0
0
26
-37
-7
0
41
-5
0
0
2
-12
0
15
5
0
0
-1
0
0
16
-5
-27
5
0
2
3
5
-2
41
42
18
0
-9
-25
2
4
27
1
0
2
63
0
35
-1
33
0
31
11
0
25
60
-4
0
0
17
-2
0
-19
3
0
0
-12
0
32
7
0
7
0
51
-5
4
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-32
7
14
-45
101
23
21
-42
12
-53
-91
-20
3
-68
3
7
4
2
47
-9
2
-12
31
-3
0
-22
-3
1
27
3
5
21
-33
-34
31
-3
-33
11
-13
-11
-4
-37
-6
41
16
76
37
0
10
12
-8
-5
54
-20
-15
-2
0
-57
26
-23
37
8
-47
22
-3
1
-11
52
44
-4
4
-13
45
-3
-49
-18
46
-14
-18
22
-19
39
50
-4
-13
-18
0
4
-51
44
4
-10
-50
-15
8
75
0
-2
20
25
-56
-4
43
-71
12
21
6
32
-14
26
-2
16
-28
13
-17
-19
7
7
-61
0
-17
79
-15
26
-5
21
-30
21
6
3
-12
25
-54
4
-5
53
-32
-55
33
0
22
-1
-47
73
50
45
-1
7
40
5
-12
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-4
0
0
0
-9
0
-3
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
-1
0
0
0
1
90
0
0
-1
0
0
0
-26
0
0
0
0
0
-1
32
0
0
0
0
0
0
6
0
0
-2
0
0
0
-6
0
0
0
0
0
0
-13
0
0
0
0
0
0
-67
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
-5
0
0
0
42
0
0
0
0
0
0
4
0
0
0
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
-28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
0
0
0
0
0
0
-1
0
-23
0
0
0
0
-47
0
0
-4
0
0
0
-23
18
0
0
0
0
0
-64
-1
0
0
0
0
0
-34
1
2
-2
0
0
5
63
0
0
5
0
0
-4
-5
0
0
32
-7
0
3
69
0
0
0
0
0
2
6
0
0
8
-3
0
0
-14
0
0
8
0
0
0
-5
0
0
-2
-4
0
0
-7
0
0
0
2
0
0
-1
0
0
-2
0
0
0
32
0
0
-3
0
0
2
0
0
5
-6
8
0
0
-67
0
10
5
0
0
1
43
7
8
-8
0
0
0
49
0
-8
0
0
0
0
33
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
22
0
0
11
14
0
73
6
-8
37
62
65
4
80
-5
-4
1
1
5
30
0
4
-44
19
0
5
0
-2
40
-2
2
-3
0
0
48
-27
32
-4
83
54
-13
74
10
16
-14
14
0
18
22
2
3
7
58
47
-4
-22
14
-8
-19
-27
-8
0
23
-19
0
-42
45
-46
-16
43
3
0
15
40
0
-14
-18
24
5
1
1
52
2
-8
14
0
1
0
0
-20
3
29
36
6
0
-10
0
-8
-7
0
12
-27
0
3
-8
8
0
-7
-17
-6
0
-3
10
-8
-17
10
8
0
37
-3
27
-90
66
79
0
-26
-18
-1
36
-5
0
5
12
32
0
5
-14
-6
0
0
-46
1
-32
6
0
4
0
-23
-3
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-5
0
0
106
0
6
26
-2
0
28
24
1
-2
0
18
0
0
0
0
19
0
43
-14
-5
0
0
0
1
9
0
0
0
0
0
0
33
0
-6
0
0
0
-5
8
0
-2
-21
0
4
-14
-4
0
4
52
0
0
44
10
0
0
14
0
0
9
50
0
0
2
0
-7
9
25
0
0
-3
0
-2
0
96
0
2
-1
0
-13
0
-30
0
4
0
0
0
0
18
-15
0
0
0
0
0
70
4
22
-5
0
0
1
-85
0
0
42
0
0
-14
26
0
25
79
0
0
-2
-4
0
-3
-40
-1
0
0
13
0
46
3
0
2
-3
-22
0
4
22
0
2
0
41
0
69
1
0
1
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
25
0
0
0
0
1
0
0
0
0
0
0
-16
1
0
0
0
0
0
13
0
0
0
0
0
0
17
0
0
0
1
0
-3
-3
0
0
8
0
0
-4
4
0
0
20
0
0
-3
13
0
0
0
0
0
0
33
0
0
-3
0
0
0
28
0
0
0
0
0
0
2
0
0
0
0
0
0
69
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
-1
0
0
0
0
34
0
0
-1
1
0
0
57
0
8
1
0
0
0
-45
0
0
6
2
0
0
-24
0
0
-8
0
0
0
0
0
0
0
0
0
0
28
0
-1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-19
3
-20
-19
3
0
-4
23
0
-1
-3
-1
-1
0
30
2
27
-3
-24
0
0
14
1
0
0
0
0
-10
47
9
8
-3
47
22
-22
-37
0
6
-17
2
-4
81
-9
3
32
-42
69
-2
-22
19
0
18
41
0
0
0
-51
-1
5
82
-32
-6
-4
23
0
1
-41
15
-2
0
-4
0
2
1
33
0
0
15
2
0
0
0
0
0
72
6
4
0
0
0
1
44
-8
48
16
0
-3
0
-46
1
23
37
1
0
-1
73
0
-10
-28
0
0
0
40
2
45
40
4
0
18
-76
0
33
31
4
3
-4
3
-3
0
33
-27
0
0
51
-3
-34
0
0
5
0
26
4
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
23
-5
-13
16
-9
-13
-31
-5
-19
-2
-60
23
6
-3
27
27
9
1
-10
17
8
-27
-41
0
2
-30
-3
25
20
59
-32
-32
-60
40
-3
-2
51
0
32
13
-48
43
25
10
-39
14
-49
-17
47
-7
54
-2
61
5
-14
-34
0
-25
-83
9
40
5
-4
14
-5
-41
15
3
-9
19
-26
-26
-48
7
5
22
-19
20
-22
-2
5
30
52
-13
27
36
66
41
66
2
-18
6
-9
2
5
17
-38
6
33
-32
-79
-30
40
-25
-3
20
-42
19
-2
41
6
46
-33
41
-26
6
-17
-17
3
0
12
-49
-35
-3
13
32
8
6
-64
4
30
5
8
12
-3
5
-12
-7
-17
0
-23
35
62
34
-26
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
18
0
0
0
0
0
0
17
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
-2
0
0
0
54
0
0
1
0
0
0
2
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
9
0
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-21
0
0
0
0
0
0
15
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
-2
0
0
4
-14
0
0
19
0
0
0
21
0
0
-2
-4
-2
1
14
0
0
-3
0
0
0
-4
0
0
0
0
7
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
-2
-9
0
0
0
0
0
0
5
0
0
4
0
0
0
27
0
0
-1
0
0
0
-4
0
0
0
0
0
0
-24
0
3
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
50
-8
-5
0
19
-7
8
10
9
-6
0
0
-24
0
-29
52
-3
9
-2
-1
-4
13
7
0
-2
0
0
-13
-13
0
13
38
41
9
41
14
-3
-5
59
-2
1
-2
42
-3
29
-7
10
-2
2
-3
0
12
5
0
2
-6
-35
-2
26
49
50
0
6
10
0
18
4
-2
-4
7
48
0
-21
0
42
5
-5
-4
-8
13
0
0
0
-1
-23
14
0
-2
0
0
6
12
-8
39
-19
0
0
51
-11
-15
2
33
-1
0
51
-15
0
69
20
0
-3
24
-2
0
-73
-68
84
0
25
-67
0
43
9
-1
0
4
67
-8
6
-19
-18
2
0
36
4
-23
0
0
10
0
0
5
5
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
-3
0
0
0
-2
0
0
0
0
0
0
-28
0
-4
0
0
0
0
9
0
0
0
0
0
0
-24
0
0
0
0
0
-3
-55
0
0
-2
0
0
0
21
0
0
-8
0
0
0
26
0
0
12
0
0
5
-17
0
0
0
0
0
0
21
0
0
12
0
0
0
2
0
0
0
0
0
0
29
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
-1
-4
0
0
-1
-8
0
0
-1
0
0
-7
0
0
0
15
0
0
0
0
0
0
46
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
2
0
0
12
0
0
0
0
0
0
16
1
0
0
0
0
0
31
0
0
0
0
0
0
8
0
0
0
-1
0
0
66
0
0
1
0
0
0
-24
0
0
19
6
0
6
10
0
0
4
0
0
-8
-2
0
0
0
0
0
1
8
0
0
6
0
0
0
10
0
0
0
-3
0
0
73
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
14
0
0
0
0
-10
0
0
-3
0
0
0
75
0
0
0
0
0
0
3
0
0
12
-1
0
0
13
0
0
-13
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-12
5
0
0
-2
0
0
-21
0
0
0
0
8
5
57
1
0
2
0
-8
-6
-11
-1
-8
48
0
0
2
0
0
-3
76
8
0
-9
-12
0
-1
0
0
1
-2
41
-2
2
22
-1
1
1
-41
0
2
0
0
0
0
-24
0
-1
-1
2
-5
0
-19
0
0
0
-1
0
0
23
0
0
0
0
0
0
34
0
5
1
0
0
0
-1
0
0
5
0
0
0
-14
1
-42
7
-8
0
0
16
0
-3
-6
0
0
2
-20
0
5
0
0
0
0
-28
0
0
1
0
0
0
-20
0
-3
0
0
0
0
18
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
5
0
0
12
10
0
4
-20
-56
-3
3
0
-2
11
-10
0
3
-25
0
-50
8
-41
-1
-6
11
5
-19
-14
-1
53
4
5
-10
39
25
1
2
-6
22
-3
57
-48
68
-15
-21
0
5
1
24
1
28
16
20
5
12
0
3
-8
-4
0
-6
-4
4
-2
-9
20
0
-31
-6
-30
-8
0
0
0
-6
-3
33
2
2
8
-18
0
13
5
-35
5
10
0
-17
9
-64
-12
-41
-56
6
0
-31
3
-5
46
-23
4
-1
28
-4
-8
-15
8
-9
-1
-85
12
-3
-26
13
1
7
-9
0
0
-2
-20
8
3
0
-55
16
34
4
7
7
0
-13
-19
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
-1
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-19
-12
-8
31
15
15
0
36
-19
0
-6
-29
5
5
-43
22
8
14
-5
0
-39
20
27
16
-20
-28
1
50
46
-2
47
-9
3
-43
-16
-1
5
28
-16
-47
-4
-38
23
-8
-12
40
13
-13
50
-16
-2
-13
33
-30
19
3
-40
1
2
46
-13
-29
-4
34
-2
47
38
-49
43
0
-1
8
8
0
-1
-9
4
7
41
1
5
42
0
32
-31
6
-18
-85
1
0
36
-4
6
-15
-52
-15
3
-44
16
6
-8
43
-27
8
41
-24
2
25
56
-16
-3
75
19
-5
16
-16
25
0
54
-35
-1
-29
45
9
-2
6
-8
-5
4
27
-3
5
0
15
-84
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-60
0
0
0
0
-2
0
23
-4
-4
0
-3
0
0
15
-10
0
0
0
0
0
-30
0
0
7
-7
-2
-50
14
-4
0
27
0
-3
14
-3
0
-2
4
0
0
-47
-8
0
-8
43
-12
-3
-6
-43
0
4
32
-5
0
7
18
0
-1
13
2
0
0
-4
2
0
0
0
-3
0
3
0
0
0
0
8
0
4
12
0
0
-2
0
0
11
0
59
-6
0
0
8
12
0
0
-1
5
0
41
55
0
17
-19
0
0
4
32
2
-28
1
-2
0
0
-98
0
-8
0
0
0
2
-38
0
0
7
0
0
0
-16
0
-15
0
3
0
0
41
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
5
3
2
0
0
0
0
56
0
0
0
0
0
-5
103
0
0
25
0
0
7
-6
0
0
-13
0
0
-28
-28
0
0
-21
0
-1
-17
30
0
-1
83
0
0
-3
-8
0
0
2
0
0
0
-15
0
0
-13
0
-3
0
29
0
0
-3
0
-1
0
18
2
0
0
0
0
0
-24
-1
0
0
0
0
0
-18
0
49
-1
0
0
0
15
0
0
13
0
0
-2
79
0
15
75
0
0
0
35
0
-8
6
0
0
0
-19
0
0
-3
0
0
1
8
0
0
1
0
1
0
39
0
-4
0
0
0
0
-93
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
32
0
1
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
-1
-17
0
0
-1
0
0
0
-12
0
0
-5
-2
0
0
9
0
0
1
0
0
0
-8
0
0
0
0
0
0
-31
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
3
-25
0
0
0
0
0
-1
-8
0
-5
3
0
0
0
-8
0
0
2
0
0
0
7
0
4
-1
0
0
0
5
0
0
0
0
0
0
2
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
15
0
0
0
0
-44
0
0
0
0
0
0
8
3
0
7
0
0
14
0
0
0
-2
0
0
-1
59
0
0
-42
-3
0
2
-4
0
0
10
0
2
0
36
0
0
6
0
0
0
5
0
0
-10
0
0
0
8
0
0
0
0
-3
0
29
0
0
0
0
0
0
22
0
0
0
0
0
0
30
0
7
0
0
0
0
89
0
0
4
0
0
0
32
0
0
1
0
0
0
-8
0
0
0
1
0
0
15
0
7
1
0
0
0
28
0
0
0
0
0
0
-35
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-41
42
90
1
0
-29
50
15
-5
5
-7
82
-24
2
-26
22
75
-36
-14
-3
-22
-12
-47
2
-17
22
5
17
-30
-10
-54
-6
-27
16
-3
50
-25
17
-4
28
-50
11
27
-5
3
8
-13
-1
3
33
63
43
51
-5
0
55
69
-13
11
5
0
4
50
-3
0
1
26
0
26
17
2
19
15
0
5
-6
-19
40
11
5
52
53
-13
28
15
56
-76
-1
-57
11
44
-27
-22
-15
7
28
10
41
152
-67
-18
-4
-3
-20
0
-17
5
-4
13
-43
22
20
-43
-91
-58
-7
-1
0
-46
12
17
10
-5
-5
37
-49
-5
1
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-5
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
-1
0
0
2
63
0
0
1
0
0
0
24
0
0
0
0
0
0
42
0
0
-8
0
0
0
-1
0
0
2
0
0
0
-86
0
0
0
0
0
0
4
0
0
0
0
0
0
60
0
0
0
0
0
0
20
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-31
0
0
1
0
0
0
-4
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
2
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
-1
0
0
0
50
0
0
11
-3
0
0
44
0
0
3
0
0
0
-37
0
0
0
0
0
0
8
0
0
0
0
0
0
49
0
-1
0
0
6
0
19
-7
0
0
0
0
0
-19
0
0
0
0
0
0
22
0
4
0
0
0
0
16
0
0
0
0
0
0
-50
0
0
0
0
0
0
-12
0
0
-3
0
0
0
4
0
8
0
-1
0
0
-1
0
0
0
0
0
0
36
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
27
0
0
0
0
0
0
-12
0
0
0
0
0
0
-43
0
0
0
0
0
0
37
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-39
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
33
0
0
-1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
0
0
0
0
0
21
1
0
0
0
0
0
-24
0
6
0
-8
0
-5
4
0
0
-4
0
0
-9
13
0
0
-57
9
0
3
13
0
0
76
0
0
0
41
0
0
14
4
0
-3
11
0
-2
2
0
0
-2
-22
0
0
0
2
0
0
-27
0
0
0
0
0
0
-9
-1
0
0
0
0
0
-35
0
-5
1
0
0
3
-60
0
0
14
1
0
-1
-5
0
0
-13
0
0
0
16
0
0
9
0
0
1
-20
0
39
2
0
0
0
-22
0
0
-3
6
0
0
-18
0
-1
0
0
0
0
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
34
30
4
1
4
-18
13
1
-32
-4
39
-20
9
-6
23
16
-6
23
-40
5
-8
12
28
2
-22
23
5
0
-47
-13
9
81
-15
19
-3
2
61
-19
16
26
-68
15
0
-17
-16
-13
22
-11
-2
11
-6
31
14
32
4
0
-1
-13
5
3
-44
19
-14
19
-8
5
-24
-9
89
24
12
-23
35
-44
-26
7
-1
23
11
-4
16
-19
10
-12
28
28
40
-52
26
-28
-6
2
29
-14
-16
-25
25
-5
-28
74
51
-54
40
74
16
0
79
-51
-57
57
25
13
44
11
64
18
57
0
0
-1
45
12
-56
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
4
0
0
1
0
4
36
0
0
15
-4
1
41
-37
0
0
-33
0
-8
23
-52
-3
-3
8
-10
0
-2
15
2
-4
-44
0
0
-42
-15
1
2
-12
-23
0
0
48
0
2
2
0
0
4
71
0
4
21
0
-14
0
-32
0
0
0
0
3
0
19
-4
0
0
0
0
-1
19
-4
3
6
0
-2
24
14
0
0
1
2
-4
-2
-27
0
14
-10
0
0
-1
-43
0
-3
4
4
0
-10
-59
0
-2
5
0
0
0
20
0
0
35
0
0
0
-24
0
8
0
2
1
0
30
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
0
0
0
0
3
58
0
3
-3
0
6
-5
-43
0
0
5
0
0
-22
24
0
-9
58
1
-2
-14
5
0
0
47
-9
0
-6
55
0
0
27
8
0
0
-50
0
0
1
0
-3
0
103
0
0
7
0
-1
0
5
0
0
0
0
0
0
42
0
0
0
0
0
0
25
0
-13
1
0
0
5
-49
0
0
-4
0
0
1
-14
0
-20
14
0
0
0
4
0
18
-7
0
0
5
-27
0
4
2
0
0
0
45
0
0
0
2
0
0
-17
0
0
-2
0
1
0
12
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
7
0
0
0
0
0
0
-9
0
0
8
0
0
7
8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
0
0
0
0
0
6
0
0
1
0
0
-8
40
0
0
0
0
0
-4
11
0
0
11
0
0
6
-17
0
0
-14
0
0
2
-58
0
0
-4
1
0
0
-2
0
0
-4
0
-31
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
-19
0
0
0
0
0
0
42
0
7
-4
0
0
0
-2
0
0
-1
0
0
0
-22
0
7
2
0
0
0
55
0
0
0
0
0
0
-28
0
9
0
0
0
0
-17
0
0
0
0
0
0
-13
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
1
0
0
-1
34
0
0
0
0
0
-1
-42
0
0
16
0
0
2
29
0
0
0
0
0
0
-2
0
0
1
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
2
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
0
2
0
0
3
8
0
0
0
0
0
0
-2
0
0
0
-1
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-29
41
50
-9
10
-30
-18
-1
-39
29
-31
41
-75
32
-3
62
2
14
17
-6
-15
-3
23
-34
-3
4
-46
46
-2
-38
45
13
18
7
-45
14
-3
28
77
-6
21
28
-22
19
-45
26
-25
7
-13
17
-22
37
25
2
-24
-3
0
20
-20
-2
31
0
-22
11
-54
-6
13
-8
8
-75
-1
-67
35
68
-75
13
-24
3
15
10
13
39
13
-8
28
17
21
23
21
-2
5
-12
8
7
-48
-33
-11
-59
-11
-5
-23
-54
-38
23
-41
-15
-42
44
-34
41
13
1
-3
17
-30
23
12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
-3
0
4
-1
0
-2
20
0
0
-2
0
0
6
1
0
0
47
0
0
13
11
0
0
-2
0
0
0
75
0
0
6
4
0
0
-20
0
0
3
0
-3
0
-25
0
-1
9
0
-2
0
19
0
0
0
0
0
0
-40
0
-1
0
0
0
-5
39
0
9
0
0
0
3
-36
0
0
-2
-2
0
-1
-30
0
-2
6
0
0
0
-56
0
0
3
-2
0
0
34
0
-9
0
0
0
3
0
0
0
0
0
0
0
71
0
-3
0
0
3
0
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
-17
0
0
0
0
0
-2
17
0
0
0
0
0
0
-43
0
0
1
0
0
0
12
0
0
16
0
0
0
-33
0
0
0
0
2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
19
0
0
-1
0
0
0
14
0
0
-8
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
1
0
0
0
-11
0
0
0
0
0
6
27
0
-1
0
0
0
-1
-5
0
0
-4
0
0
0
20
0
0
0
0
0
0
4
0
0
2
0
0
0
1
0
0
0
0
-6
0
26
0
0
0
0
0
0
-2
0
0
0
0
0
0
-25
0
2
0
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-30
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
-43
0
0
0
0
0
-4
54
0
0
0
0
0
0
29
0
0
-1
0
0
0
-13
0
0
0
0
0
0
-41
0
0
0
0
0
0
-5
0
0
0
0
0
0
-30
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
-3
0
0
0
0
12
0
0
0
0
0
0
1
0
0
18
0
0
0
21
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
1
0
0
-7
30
0
0
27
3
0
16
86
-1
0
25
0
0
0
-21
0
1
54
-1
0
-1
42
0
7
2
0
2
0
70
0
0
0
4
0
0
-44
0
0
0
0
0
0
72
0
0
0
0
0
0
32
0
7
0
0
0
0
26
0
0
-6
0
0
-2
-41
0
3
1
0
0
0
25
0
0
-30
0
0
-2
40
0
1
8
0
0
0
17
0
0
0
0
0
0
36
0
-2
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-6
1
-18
0
10
8
6
-4
26
40
-21
-2
41
-8
-22
-7
44
-10
6
48
17
5
68
69
31
-9
49
15
0
30
55
29
48
-18
-23
1
59
2
3
37
-10
-20
0
0
0
1
-5
2
-7
35
-1
-8
0
0
-5
0
-7
-14
41
-3
0
1
-18
42
3
18
124
1
-6
4
-8
-64
102
22
0
49
-64
31
42
60
67
-13
15
-4
6
36
13
-2
6
-18
53
-4
54
54
-35
10
0
-29
0
-17
25
1
-7
0
-14
3
2
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
0
0
0
0
0
1
-13
0
0
5
1
0
-2
-2
0
0
-4
0
0
5
31
0
0
-18
1
0
-2
-44
0
0
0
0
0
0
56
0
0
2
0
0
0
-6
0
0
0
0
0
0
14
-6
8
0
0
0
0
2
2
0
0
0
0
3
-1
0
1
-2
0
0
0
71
0
18
0
0
0
0
-9
0
0
0
0
0
0
41
0
5
0
0
0
0
86
0
0
2
0
0
0
50
0
0
0
0
0
0
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-2
3
0
0
5
75
0
0
-6
9
0
6
61
0
0
-9
0
0
1
23
0
0
-6
0
0
10
87
0
0
-6
0
0
0
-6
0
0
0
0
2
0
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
3
0
0
0
-2
8
0
0
7
-1
0
1
-3
0
-8
4
0
0
14
-4
0
0
0
-1
0
0
49
0
0
-8
0
0
0
-22
0
0
12
0
0
0
63
0
0
0
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-11
0
1
0
-2
0
-33
-8
0
-8
2
-1
1
58
2
-1
0
-20
-3
1
-1
-32
0
4
-24
-3
-8
-1
-4
6
0
-1
0
3
0
-9
0
-1
0
5
25
0
37
0
0
0
0
0
0
-57
6
0
0
0
0
0
-17
7
-34
-1
0
0
0
95
-2
-5
0
0
0
-2
50
0
-8
1
1
-1
0
32
0
3
21
3
0
0
67
-3
3
0
0
-7
0
10
-6
2
0
-4
3
0
75
0
2
2
0
0
0
67
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
0
-35
0
0
-29
-25
0
0
66
0
0
20
51
0
0
-13
0
0
3
130
0
2
3
0
0
1
-19
0
0
-8
0
3
0
27
0
0
0
0
12
0
91
0
0
0
0
0
0
-33
1
0
0
0
0
16
30
0
-8
0
0
0
8
-58
0
0
3
0
0
-3
19
0
29
25
0
0
0
12
0
2
16
0
0
0
31
0
5
1
0
0
0
44
0
0
0
0
0
0
-38
0
1
0
0
3
0
-30
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
13
0
4
31
0
0
34
1
0
-4
-5
-5
0
19
31
0
0
58
0
0
-5
27
0
0
28
1
0
0
20
0
0
5
0
0
0
80
0
0
-1
0
0
0
30
-4
0
0
0
0
0
78
0
0
0
0
0
0
16
0
44
0
0
0
0
28
0
0
-5
0
0
-4
10
0
-1
5
0
0
-8
-11
0
22
-2
0
0
0
17
0
-1
1
0
0
1
68
0
0
3
0
0
0
-16
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
33
-2
0
-34
46
0
0
-14
-8
-2
55
0
0
18
77
0
-1
-39
-13
0
-1
-40
0
6
-13
0
0
0
25
1
0
0
6
-5
-7
35
1
0
0
0
4
0
51
-3
2
0
-5
0
0
44
-4
35
5
0
-1
1
-13
0
-1
-66
-1
0
4
-21
6
11
-74
0
0
9
42
0
1
19
2
0
0
-8
0
52
2
0
-1
0
-70
0
-10
7
0
0
0
-10
0
5
0
0
5
0
14
18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-36
38
12
26
61
22
12
-12
-68
43
-17
37
56
8
39
36
6
50
93
32
-29
10
73
46
50
-3
-12
-29
-58
13
-13
-42
-18
-4
6
5
20
1
45
-27
-13
3
25
29
46
-5
-5
-9
21
52
79
-51
0
43
-51
0
-5
-16
-23
-52
0
50
5
5
13
8
-14
-24
56
27
131
78
-1
-28
10
-20
5
22
20
60
-56
20
57
-23
0
-19
-13
-62
33
8
3
-27
8
88
3
51
-8
-4
-20
-47
10
15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
69
0
0
-4
0
0
0
53
0
0
-1
0
0
0
61
0
0
0
0
0
0
10
0
0
0
1
0
0
-7
0
0
0
0
0
0
4
2
0
0
0
0
0
1
0
-10
0
0
0
0
2
0
0
1
0
0
0
10
0
3
4
0
0
0
-3
0
0
5
0
0
0
-10
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
0
0
2
2
0
0
-60
0
0
37
0
0
0
22
0
0
5
0
0
0
37
0
0
0
0
0
0
75
0
0
0
0
0
0
-6
0
0
0
0
0
0
-31
0
0
0
0
0
0
5
0
1
0
0
0
0
25
0
0
-2
0
0
0
8
0
0
8
0
0
0
49
0
0
0
0
0
-2
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
31
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-16
0
0
82
27
0
20
69
2
8
-24
1
0
42
17
5
-6
13
22
5
3
41
0
0
12
0
2
5
-89
0
8
8
17
-8
0
-1
-3
0
0
0
-10
0
103
13
0
0
0
0
-1
61
1
12
4
0
0
-12
-26
0
77
-34
5
0
8
52
0
-16
31
-5
0
-5
5
0
-2
9
-4
0
0
-27
-2
-22
-2
-4
0
-13
-20
1
-1
10
-2
2
0
-23
0
-6
-1
0
3
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
3
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-3
0
0
0
2
-3
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-55
0
0
1
0
0
-6
-8
0
0
-6
0
0
5
15
0
0
5
-1
0
0
-38
0
0
-1
0
0
0
-6
0
0
8
0
0
0
26
0
0
0
0
0
0
33
0
0
0
0
0
0
-36
0
3
0
0
0
0
13
0
0
0
0
0
0
-34
0
-9
0
0
0
0
14
0
-6
8
0
0
8
35
0
4
-4
0
0
0
-1
0
0
7
0
0
0
-17
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-28
2
-9
-5
-5
1
-13
-20
-1
-1
-34
58
10
-9
5
0
-3
29
0
-5
-2
28
0
5
49
-18
51
0
46
-8
0
0
-2
0
0
50
21
0
-6
0
0
0
48
0
-14
-2
0
0
-1
-11
-2
43
-66
5
3
1
29
0
69
4
1
7
-1
48
-1
-49
108
8
0
-2
-31
1
-21
-33
1
0
-4
-39
0
-8
-13
5
0
0
-17
0
24
2
0
4
0
58
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-68
35
-18
77
47
0
8
-51
76
30
-51
-18
2
19
5
47
46
52
-11
-31
-6
-68
52
-52
27
-3
-7
-5
-74
-10
-13
39
20
16
27
40
111
-12
55
0
-20
-7
-8
3
14
-51
22
55
9
37
-41
-26
26
14
-63
0
42
-46
-37
4
-18
-13
0
-61
22
-14
-55
49
-23
-22
42
33
-30
8
39
7
0
-9
55
40
0
52
-1
-14
20
17
62
16
4
0
20
4
65
47
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
-1
0
0
0
54
0
0
0
0
0
0
-5
0
0
1
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
41
0
0
0
0
0
0
21
0
0
0
0
0
0
14
0
-2
0
0
0
0
8
0
0
0
0
0
0
30
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
69
0
1
15
0
0
0
4
0
0
-1
0
0
0
48
0
0
-3
0
0
0
-34
0
0
3
0
3
0
-58
-1
0
0
0
0
0
-3
0
0
0
0
0
0
-42
0
0
0
0
0
1
-2
0
0
0
0
0
-1
33
0
-6
2
0
0
-2
-25
0
0
4
0
0
-1
31
0
8
0
0
0
0
13
0
0
0
0
0
0
24
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-20
-5
9
32
-16
-14
14
-18
-5
-12
-8
-98
-8
79
22
3
-8
24
-4
29
-49
14
0
25
10
95
-40
0
23
1
0
0
0
0
3
19
-1
2
0
0
0
-29
57
-2
24
9
16
-1
5
32
0
88
45
13
0
-1
-27
-8
31
-15
-9
0
56
15
2
19
55
-4
3
13
-37
2
2
47
6
0
-18
-31
-2
12
21
-5
-4
0
38
-1
-60
0
-4
16
0
-1
-6
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-53
5
0
1
0
2
-15
-12
0
0
68
-1
2
4
17
0
0
3
0
-3
1
-39
0
0
7
0
16
0
-6
-6
0
0
0
0
0
8
-3
0
0
0
0
0
-15
0
-1
3
0
0
-4
15
0
0
-31
0
0
0
-12
0
0
34
0
0
5
-43
0
-5
15
6
0
0
65
0
5
-4
0
0
6
-5
0
0
-8
0
0
8
54
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
6
0
0
3
-6
0
0
0
3
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
31
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
16
0
-2
0
0
0
0
21
0
0
1
0
0
-1
39
0
8
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-39
0
22
-2
49
-2
0
-12
0
8
-5
0
2
0
61
0
-5
-4
-6
-17
0
2
3
0
0
0
0
0
36
-7
2
2
0
0
0
12
0
98
-6
0
0
2
25
5
0
20
7
0
7
-9
0
-11
18
3
1
1
-59
0
13
-55
18
0
-2
35
0
66
-13
0
0
0
31
0
-13
4
-6
3
0
29
0
58
-4
0
-3
0
7
-7
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
42
25
-39
-61
45
15
4
24
53
20
32
0
-14
-2
43
-56
-22
79
-39
0
0
-5
25
-35
29
-13
13
-38
38
1
16
23
1
33
22
58
-23
-76
6
-28
77
13
0
-15
56
-28
10
5
12
23
3
-47
-48
-10
-13
0
2
-35
-43
-28
-2
-16
-9
-3
-16
10
-30
-29
46
-40
-14
13
65
47
-17
39
24
67
-24
15
-2
-23
1
3
13
41
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
-3
6
0
0
-1
-23
0
0
0
0
0
0
12
0
0
0
0
0
0
32
5
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
1
0
0
0
0
16
0
-3
0
0
0
6
-5
0
6
0
0
0
0
8
0
0
-8
0
0
-2
-8
0
3
0
0
0
0
30
0
0
0
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-50
3
0
28
-8
0
1
-2
0
0
-8
0
0
-4
5
0
0
1
0
0
0
30
0
0
0
0
0
0
-30
0
0
0
0
0
0
-43
0
-5
-6
0
0
0
-18
0
0
3
0
0
14
5
0
-2
-5
0
0
-4
79
0
0
3
0
0
0
-6
0
3
0
0
0
0
-12
0
0
0
0
0
0
-51
0
1
4
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-17
-3
-6
15
-30
0
88
51
0
5
15
0
-5
-1
5
0
-5
-10
49
-26
0
10
0
27
0
0
0
0
-4
-9
0
0
-3
0
-3
35
0
-23
35
-2
3
-21
56
13
97
-42
58
-1
48
-1
-1
21
8
8
0
13
-67
8
-3
7
41
0
0
19
0
47
58
0
0
-12
-31
4
0
5
-5
-1
0
33
0
9
2
0
18
0
50
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
13
0
0
0
-25
0
0
0
0
0
0
27
0
0
-4
0
-3
0
-31
0
0
0
0
0
0
9
0
0
0
0
0
0
22
0
-2
0
0
0
-1
-16
0
-2
0
0
0
0
-33
0
0
0
0
0
0
62
0
0
3
0
0
0
0
0
1
0
0
0
0
-6
0
0
0
0
0
0
-12
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
23
0
0
13
1
0
0
20
0
-1
0
0
0
0
-16
0
0
0
0
0
0
39
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
50
0
0
0
0
0
0
22
0
8
1
0
0
0
22
0
0
2
0
0
0
-12
0
8
0
0
0
0
31
0
0
-2
0
0
0
-26
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-30
0
2
0
8
-1
0
2
6
5
0
31
3
0
0
0
0
0
52
0
0
0
-1
0
0
58
0
-6
-5
0
0
-6
-17
0
0
4
-1
0
-2
33
2
-24
30
0
0
0
76
0
-1
4
17
0
8
26
0
-50
-2
0
0
0
-50
-1
0
25
2
0
0
-45
0
-31
4
0
-1
0
-34
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
0
18
78
1
-21
4
-8
5
-49
61
25
-85
0
13
-16
41
-5
-7
-23
1
-16
20
18
-3
-25
0
4
-6
23
-31
-37
3
31
-23
-20
-5
24
-9
0
-2
89
6
2
8
38
-5
0
-7
37
9
34
94
46
18
3
0
18
15
2
3
-2
-8
5
-7
44
53
-7
43
2
1
1
-29
2
-5
3
0
17
-38
5
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-33
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
6
0
0
1
0
0
0
3
0
0
4
0
0
0
1
0
4
0
0
0
0
-3
0
0
0
0
0
0
29
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
6
0
0
0
0
48
0
0
0
0
0
0
18
0
0
0
0
0
0
44
0
1
-2
0
0
0
40
0
0
12
0
0
0
-18
0
0
5
-5
0
0
52
0
0
7
0
0
-3
37
0
5
0
0
0
4
13
0
0
0
0
0
0
-15
0
-2
0
0
1
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
74
0
-7
31
-8
11
-1
47
0
5
0
-14
64
0
13
5
0
0
0
-1
0
49
12
-1
0
0
0
2
-6
-1
5
5
0
0
36
-18
0
5
-24
-19
4
83
-49
0
24
44
9
-8
52
-13
3
18
-16
3
0
3
-45
0
-7
37
-1
0
-3
-13
0
-1
-4
-4
0
0
-5
-3
31
0
0
-1
0
53
41
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
-1
-19
0
-1
0
-13
0
0
-2
0
-4
0
22
0
0
0
0
0
1
0
0
0
0
0
0
0
18
-2
44
-6
0
0
-5
65
5
1
0
0
0
5
71
0
17
49
0
0
0
46
0
0
1
0
0
-4
77
0
49
3
0
0
-8
-13
2
0
2
0
1
0
-14
0
32
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
-5
0
0
0
8
0
0
8
0
0
0
75
0
0
0
0
0
0
12
0
0
0
0
0
0
59
0
0
0
0
0
1
5
0
0
0
0
0
0
43
0
0
0
0
0
-7
-39
0
0
-7
2
0
0
-5
0
-3
-6
0
0
0
5
0
0
0
0
0
0
20
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-1
0
-5
3
0
-41
-4
0
0
0
0
0
86
-1
0
0
0
0
0
17
0
-4
-6
0
0
0
-25
0
0
-2
0
0
-2
5
0
7
15
0
0
0
83
0
0
-4
0
0
0
-15
0
2
-7
13
0
0
78
0
-8
0
-4
0
0
53
0
-2
0
0
0
0
101
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
14
-22
-52
38
-23
-10
-6
12
-49
22
25
-18
-50
44
-31
-16
30
24
34
1
37
-40
-12
44
-56
-10
50
-32
16
-9
-3
20
-29
1
54
10
-54
43
10
4
5
-28
19
41
0
5
29
35
152
27
-7
30
0
-20
-12
39
0
-5
-66
19
-54
-1
-1
-30
-18
-24
-23
1
39
0
-22
-17
-26
31
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
5
0
0
0
0
-6
0
0
0
0
0
0
38
0
2
0
0
0
0
51
0
0
0
1
0
0
1
0
0
-2
0
0
0
10
0
0
0
0
0
0
-20
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
-2
0
1
-3
0
21
0
0
0
0
3
0
-26
0
0
-3
-7
0
3
-115
0
18
-5
0
0
-2
31
0
-3
-1
7
0
-1
19
0
-32
-8
0
0
16
34
0
32
-4
18
0
-3
-52
0
13
-3
-3
0
0
-10
0
0
0
-3
0
0
-20
0
0
0
0
0
0
47
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
23
0
8
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
18
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
5
0
3
0
0
24
0
0
0
0
0
0
-32
0
0
0
0
0
0
33
0
-1
-1
0
0
-1
78
0
1
0
-2
0
0
11
0
5
6
-3
0
0
-51
0
0
-6
0
0
0
-20
0
13
-6
0
0
2
-7
0
0
2
2
0
0
-59
0
8
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
42
0
0
0
0
0
0
71
0
0
0
0
0
0
-13
0
0
-1
0
0
0
51
0
0
-1
0
0
-4
31
0
0
-4
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
0
0
-25
-8
0
-34
4
13
-2
-7
0
-16
-32
32
16
44
5
-1
35
24
5
-44
10
44
-3
-4
28
13
9
10
23
0
5
-65
5
41
-13
-72
14
58
30
1
-27
-2
-8
-8
49
45
-1
-5
-23
-42
0
8
0
22
10
-8
-2
0
0
29
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
74
0
2
0
0
0
0
-8
0
0
0
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
14
0
0
0
0
0
0
-15
0
-6
1
0
0
2
5
0
0
0
0
0
-1
8
0
0
5
0
0
0
76
0
0
0
4
0
0
-17
0
0
0
0
0
-1
-7
0
0
0
0
0
0
-25
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-2
0
0
0
0
0
-20
0
0
0
0
0
0
50
0
2
0
0
-2
0
68
0
0
-4
-3
0
0
-37
0
9
15
0
0
-2
77
0
-2
4
2
0
0
-56
0
-5
1
0
0
-5
-4
0
2
0
0
0
0
25
1
-13
0
0
0
0
-21
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
8
1
0
0
0
0
0
41
0
-8
-4
0
0
0
-12
0
0
0
0
0
0
56
0
42
-1
0
0
0
53
0
0
0
0
0
0
48
0
41
-16
0
0
0
4
0
0
0
0
0
0
12
0
3
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-8
0
0
1
-2
0
0
29
0
2
2
0
0
5
28
0
0
-1
0
0
0
8
0
-25
-5
0
0
20
58
0
-6
0
0
0
0
1
0
-14
60
0
0
2
17
0
0
2
0
0
0
-2
0
3
0
0
0
0
-15
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-2
0
1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
27
-37
33
-8
-18
0
-31
12
36
-4
-41
58
55
3
24
34
102
40
1
-15
-83
-1
-5
46
13
-8
-20
4
4
0
36
43
106
31
-52
-3
1
-21
-35
77
-45
23
0
31
-17
34
22
28
-8
2
-19
8
6
4
-61
0
0
3
49
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
2
-2
0
0
0
-6
0
0
-12
0
0
8
9
0
0
0
0
0
-1
16
0
0
-8
0
0
10
7
0
-12
0
0
0
0
-23
0
0
0
0
0
0
-23
0
-2
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
18
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
4
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
-1
-12
0
0
0
-4
0
3
0
0
0
0
-8
0
0
0
0
0
0
-18
0
0
1
0
0
0
2
0
0
-5
0
0
0
15
0
-9
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
27
28
-5
-1
-19
31
11
7
10
-20
6
3
-39
16
-3
-51
-19
-1
0
99
13
7
2
20
71
2
-43
-18
0
-27
11
-10
0
3
-6
0
2
19
17
6
-1
16
4
2
1
2
9
0
-27
-10
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-6
-1
0
0
0
11
0
0
-3
0
0
0
6
0
15
1
0
0
0
13
0
8
0
-1
0
0
25
0
0
0
0
0
0
-39
0
0
0
0
0
0
-41
0
8
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
-6
0
-1
0
0
0
-2
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
2
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
10
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
31
0
0
9
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
3
-7
0
-1
-29
0
-12
-1
0
0
0
6
0
0
-5
0
0
0
31
0
0
6
0
0
0
-8
0
0
2
0
0
0
-77
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-47
0
-21
-14
23
0
12
-5
4
-49
57
17
0
96
24
-1
33
42
15
-2
10
-11
-3
-16
11
-3
5
43
23
0
-21
4
-8
0
0
-14
1
57
-16
2
-7
-1
-5
-45
-1
2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
41
0
0
-4
0
0
0
-9
0
0
0
0
0
0
-24
0
0
-1
0
0
0
8
0
-14
0
0
0
0
10
0
0
-1
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-47
6
6
8
2
0
0
-15
4
39
-15
2
0
-17
-63
0
5
110
-16
0
-1
-4
0
66
9
8
0
-8
59
0
-5
7
0
-3
0
17
0
31
0
0
-5
0
-3
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
0
0
-5
1
0
0
-29
0
15
-8
0
0
0
34
0
-7
9
4
0
0
26
0
8
1
0
0
0
28
0
0
0
0
0
0
77
0
1
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
-13
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
12
0
0
0
0
0
0
17
0
0
0
0
0
0
8
0
0
7
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
47
0
-7
3
0
0
0
1
0
0
-1
0
0
0
15
0
2
-5
0
0
0
5
0
0
0
0
0
0
-13
0
4
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-20
-13
34
12
25
1
24
1
-4
41
52
-24
5
-42
41
-5
-111
-22
13
5
0
7
0
-34
75
39
8
7
36
-42
31
-3
1
-66
0
29
-42
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
6
-2
0
0
0
-1
0
0
6
0
0
0
44
0
0
3
0
0
0
15
0
0
0
0
0
0
-17
0
3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
42
0
5
0
7
0
0
-8
0
0
-1
7
0
0
66
0
3
0
1
0
0
9
0
0
-7
0
0
0
29
0
1
1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-57
1
-3
5
-3
0
2
75
1
4
5
1
0
0
50
0
37
-10
-1
-3
0
49
2
0
-1
0
0
0
57
0
27
1
0
0
0
46
8
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
-4
7
0
0
-2
77
0
0
7
0
0
0
2
0
-2
-2
0
0
0
-57
0
0
-2
0
0
0
38
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
-5
0
0
-1
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
4
7
-1
0
-10
104
0
2
-1
0
0
0
96
0
-2
1
-4
0
0
19
0
7
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
-21
5
-41
-40
32
-5
-23
-33
25
19
54
16
5
16
-5
1
21
-16
48
-14
13
-5
-29
-25
-12
-4
-11
-2
29
-70
-24
-12
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
0
0
0
9
0
0
3
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-11
3
5
62
-16
0
0
54
0
6
-5
4
0
0
-33
0
0
-7
1
0
0
3
0
-20
-7
0
1
0
77
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-1
19
26
4
0
48
-2
22
0
0
0
5
45
0
-13
-3
0
0
0
38
0
25
0
0
8
0
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
8
0
0
0
-3
0
-1
0
0
0
0
-7
0
0
0
0
0
0
-31
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
1
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-5
0
0
0
0
-18
0
0
0
0
0
0
75
0
-29
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
50
-9
-49
61
0
0
-42
12
-5
-60
52
-14
29
0
14
0
16
-8
-12
-25
-3
-58
32
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
39
0
0
0
0
0
0
9
0
3
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
14
2
1
0
0
88
0
0
3
0
0
0
23
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
0
0
0
9
0
-1
-19
0
-1
7
0
3
7
71
0
32
2
0
0
0
13
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
58
0
-8
-10
0
2
0
-28
0
3
-1
0
0
0
2
0
6
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
-4
0
0
0
-23
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-16
-1
-17
26
30
3
6
4
1
13
8
0
29
0
-20
-27
17
2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
73
0
-1
-5
3
5
0
29
0
0
-1
0
5
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
73
0
5
0
2
0
0
-5
0
2
0
0
-4
0
-86
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
32
17
50
1
0
17
20
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
3
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
4
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
3
-3
2
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
15
2
0
-9
-132
-21
7
-10
-13
-5
6
19
84
-30
7
-10
-31
8
-40
-18
13
100
11
-69
2
6
92
82
-43
39
46
65
-7
18
4
-2
41
2
-3
7
-18
41
2
2
0
3
0
6
-15
0
0
0
34
0
8
0
-3
5
0
33
39
11
0
1
8
1
7
-17
-25
-2
24
26
21
91
-96
-44
19
-5
-6
12
10
17
36
21
14
40
5
-14
37
42
24
-29
11
-20
-27
-30
12
20
-15
8
14
28
-5
-13
-10
-1
13
-49
-8
0
-34
-3
0
-13
-2
-65
-1
11
0
-55
4
4
-6
-36
-8
4
-4
5
-3
22
16
-17
0
-17
10
17
-2
-38
9
-26
23
-6
1
17
0
0
0
0
0
0
0
-48
-9
-13
0
-11
15
-5
39
31
-2
-3
-12
-5
20
-95
-29
6
22
78
-3
17
0
-17
5
-27
0
67
-18
-3
-5
0
-7
-4
-13
26
22
19
-13
93
52
40
8
10
-6
-9
43
-4
-14
23
25
2
-36
29
8
-1
-21
26
-7
37
-42
-21
47
59
-41
2
36
-7
-5
88
62
28
-14
31
70
-27
-47
-35
34
-8
-24
19
10
-55
-31
5
-15
5
-13
4
-13
45
1
50
0
-6
15
-18
-2
-32
-15
43
-31
29
4
51
5
12
2
11
12
3
-5
29
-18
49
-46
-38
58
7
18
2
-14
34
-27
-3
52
18
20
5
-32
-42
18
-17
47
5
7
43
-16
87
22
-8
15
-5
-18
-24
60
3
0
-12
44
0
13
40
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
-2
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
5
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
-3
-8
0
0
0
0
0
0
3
0
0
-6
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
-5
0
0
0
0
5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-6
0
5
-62
33
66
4
0
3
-2
2
-7
36
5
8
-1
59
16
23
-1
-11
61
0
9
5
8
39
0
13
-4
13
-36
-8
15
-5
2
4
8
1
0
-21
0
5
-12
0
0
0
-5
0
66
40
-3
3
0
3
-27
-13
0
-1
-20
-22
38
4
0
0
17
26
0
33
-23
49
3
16
22
39
28
28
-47
-4
11
-7
-10
23
-24
58
-17
-71
58
-5
-17
23
26
1
0
-29
13
81
-15
21
0
0
-42
-4
-27
0
-7
18
0
0
0
-13
0
14
9
0
8
1
0
-70
23
0
-1
-20
0
0
3
-48
1
0
-5
52
0
47
-18
-5
-14
29
8
1
0
0
0
0
0
0
0
34
17
5
30
21
13
-5
-40
-31
-2
13
-13
-14
2
-9
24
13
0
56
0
34
0
-28
33
-5
1
6
-8
0
-20
19
-4
4
4
-4
12
-39
0
-8
-13
8
-23
23
-13
-3
7
16
-2
29
27
-8
1
13
-57
119
-5
35
8
-4
-26
23
-4
-5
-28
-16
-16
-62
34
-1
30
41
-6
21
57
53
-1
-14
8
23
-10
5
-41
-8
28
2
-24
4
-6
0
-1
31
0
26
-3
-1
1
5
-1
2
25
-2
-14
1
2
-5
-39
-6
-4
21
9
70
-2
22
42
7
-33
85
2
4
49
9
4
42
-8
-66
8
-22
-5
0
32
-22
4
1
35
-4
15
64
-20
-18
10
-3
29
2
1
15
23
-32
0
-16
-21
2
5
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
87
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
1
0
0
0
0
0
0
34
0
0
0
1
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
11
0
3
0
0
0
0
4
0
0
-8
0
0
0
0
0
31
-2
0
0
8
-3
0
0
16
0
0
0
0
0
0
0
0
0
-8
21
0
0
17
0
0
0
25
0
-24
0
0
0
0
-44
0
0
0
0
0
0
66
0
0
0
0
0
0
19
0
0
0
0
0
0
46
0
0
1
0
0
0
-14
0
0
7
0
0
0
17
0
0
13
0
0
0
23
0
0
-10
0
0
1
-52
0
0
0
0
0
0
-6
0
0
-2
0
0
0
27
0
0
0
0
0
0
-7
0
0
0
0
0
0
-18
0
0
0
0
0
0
-8
0
1
0
0
0
0
-8
0
0
0
0
0
0
5
0
-1
0
0
0
0
45
0
-1
0
0
0
0
27
0
6
-3
0
0
0
22
0
0
0
0
0
0
18
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-39
0
0
-4
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
4
-1
0
0
-2
0
0
3
0
0
0
10
0
1
0
0
0
0
-8
0
0
-2
0
0
0
7
0
0
5
1
0
0
6
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
-23
-6
0
0
-3
15
0
0
2
0
0
0
0
0
0
0
0
0
-6
35
0
-1
14
0
0
0
-22
0
9
-3
0
0
3
-5
0
0
0
0
0
0
-9
1
2
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
1
0
0
0
-6
0
2
-3
0
0
0
-5
0
0
-8
0
0
1
24
0
0
-1
2
0
0
5
0
0
0
0
0
0
22
0
0
0
-2
-4
0
-23
0
0
0
0
0
0
6
-1
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
4
0
0
0
20
-1
8
5
-1
0
0
-2
0
0
0
0
0
0
-15
0
0
-3
0
0
0
-29
0
-3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
-1
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
114
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
-1
-6
0
22
0
0
0
0
0
0
0
0
0
0
4
0
0
-8
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-23
0
0
0
0
0
5
0
0
3
0
0
0
5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
-6
0
0
3
13
0
-15
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
-2
0
0
51
0
0
-16
0
0
0
22
0
1
3
0
0
0
-20
0
0
0
0
0
0
-14
0
0
0
0
0
0
50
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
-3
1
0
0
0
10
0
0
6
6
0
0
-9
0
4
0
0
0
0
0
0
-2
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
16
0
0
0
0
0
0
7
0
0
0
0
0
0
49
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-15
-8
8
1
0
0
-1
0
0
-10
0
0
-6
0
0
0
9
0
0
0
9
0
-1
0
0
0
3
0
0
2
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
0
0
9
0
14
1
0
0
0
0
0
-1
1
0
0
6
-1
0
26
3
-1
-2
-6
0
1
2
-8
0
0
30
0
0
-16
1
0
0
-13
0
0
0
14
0
0
0
0
33
0
0
0
0
0
0
0
0
31
0
0
0
-2
0
3
3
0
0
0
0
0
2
-8
-3
30
0
2
0
-5
-17
0
3
6
0
0
0
0
0
0
0
0
0
-6
35
0
0
-13
0
0
-1
-41
0
23
4
3
0
0
36
0
0
0
0
2
0
-37
0
1
0
0
0
0
-45
0
0
0
0
0
0
3
0
0
-1
-1
-3
2
7
0
0
0
0
4
-13
20
0
-5
0
-10
7
-1
-17
4
-1
0
-5
0
24
3
0
0
7
3
-3
-1
119
0
0
-4
0
2
0
-1
-1
0
0
-1
-20
0
48
0
0
0
0
0
0
-15
0
0
0
0
0
0
-50
2
9
1
0
0
0
2
0
0
3
0
0
0
8
0
50
4
0
0
0
25
-1
-14
8
0
0
3
-2
0
-51
1
0
0
1
-31
0
-5
4
0
0
0
-57
0
-8
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
41
0
0
0
1
0
0
3
0
0
0
-1
0
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
4
0
0
0
0
0
0
-70
0
0
3
0
0
0
0
0
-8
5
0
0
-3
42
0
0
-1
0
0
0
0
0
0
0
0
0
-2
5
0
0
8
0
0
0
15
0
-18
0
0
0
0
2
0
0
0
0
3
0
-50
0
0
0
0
0
0
66
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
-3
0
-3
0
45
0
0
1
0
0
-1
-31
0
0
-3
0
0
0
-17
0
0
0
0
0
0
-32
0
0
3
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
0
0
10
0
0
-3
0
0
0
32
0
0
-2
0
0
0
12
0
1
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
28
0
0
0
0
0
-1
0
0
-7
0
0
0
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
0
0
-3
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
22
0
0
0
0
0
0
9
0
0
0
0
0
-8
-15
0
0
0
0
0
0
9
0
0
0
0
0
0
42
0
0
-5
0
0
0
-23
0
0
6
0
0
0
52
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
-4
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
18
0
4
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-6
0
0
0
25
0
0
-2
0
0
0
5
1
0
0
5
0
0
1
0
0
45
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
-13
11
-2
-5
-2
0
0
-55
1
-8
3
4
0
0
-27
0
34
4
-13
0
0
-21
-1
21
29
0
0
0
42
0
2
17
2
0
0
17
3
-2
0
1
0
0
0
2
-40
0
0
0
0
0
0
2
0
7
0
0
0
2
0
0
2
0
0
3
0
0
6
24
-10
-24
-36
4
0
10
-72
0
-1
22
2
0
0
0
0
0
0
0
0
-8
64
0
0
-21
0
0
1
-4
0
48
19
0
0
0
27
0
0
2
0
0
0
-17
4
0
0
0
0
0
-8
2
0
0
0
0
3
-16
0
-2
-4
-2
0
0
63
0
0
-13
0
-6
-3
-20
-1
-6
40
13
1
12
-30
0
0
-8
-2
0
-5
-39
0
2
7
-6
-2
6
70
0
-1
2
0
0
0
22
0
0
0
1
6
0
77
0
0
0
0
0
0
18
0
1
0
-2
0
0
-3
0
6
1
0
0
3
22
0
5
8
-10
0
-2
15
0
-19
15
0
0
0
-31
0
0
5
-5
0
0
-22
0
-2
-5
-1
0
0
13
0
0
8
0
0
0
-26
0
-8
1
0
-9
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
-8
0
1
0
0
0
0
4
0
0
0
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
3
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
-27
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
-2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
-1
1
0
0
0
0
0
-1
5
0
0
0
0
0
6
49
0
0
-3
0
0
0
12
0
0
0
0
0
0
41
0
0
1
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
1
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-2
-12
0
0
1
-5
0
0
-2
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
0
0
0
0
0
39
0
0
0
0
0
0
31
0
0
0
0
0
0
-41
0
0
1
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-5
0
0
0
0
-6
0
0
0
0
0
0
-1
0
-8
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
20
0
0
0
0
0
0
-19
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
0
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
-1
0
14
0
0
0
1
0
0
2
0
0
0
0
0
0
32
0
0
0
-13
0
0
-1
0
0
0
0
0
0
4
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-21
0
0
0
0
0
-4
0
0
6
6
0
0
-3
24
0
0
-1
0
0
0
0
0
0
0
0
0
-6
-7
0
3
19
0
0
0
24
0
2
-1
0
0
0
6
0
0
0
0
0
0
38
0
0
0
0
0
0
-6
0
0
0
0
0
0
31
0
0
-1
0
0
-1
3
0
0
0
0
0
4
-21
0
0
-2
0
0
-7
-3
0
0
5
0
0
0
-13
0
0
-3
0
0
0
25
0
1
0
0
0
0
66
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
2
0
0
0
0
-10
0
0
0
0
0
0
5
0
-8
0
0
0
0
-21
0
-5
-1
0
0
0
34
0
-2
0
0
0
0
3
0
0
0
0
0
0
-42
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
7
0
0
0
0
0
37
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
-2
3
0
36
-2
0
0
6
0
0
2
1
0
0
49
3
0
-7
-7
0
0
4
-8
-5
4
0
8
0
-4
0
0
9
0
0
2
9
0
0
0
1
0
0
0
0
-4
0
-1
-2
0
0
0
1
0
-23
-1
0
0
0
0
0
9
0
0
0
0
0
1
-33
-1
14
-15
-6
0
0
5
-2
3
32
-4
0
0
0
0
0
0
0
0
-8
9
0
2
-8
0
0
0
-1
-1
-6
-14
0
0
0
64
2
0
0
0
-7
0
-12
0
0
0
0
0
0
66
-2
0
0
0
0
0
-78
-5
0
-4
0
0
-8
-11
0
-2
5
0
0
-2
-92
-1
0
-6
0
0
0
-40
-1
0
-5
0
0
0
9
0
0
17
0
0
0
11
0
2
7
0
0
0
-31
-2
3
0
0
-1
0
-27
0
0
0
0
0
0
-10
-1
0
0
0
0
0
5
0
-12
0
0
0
0
-7
0
-2
-1
0
0
0
7
-1
-5
-4
0
0
-4
-58
3
0
-8
-9
0
6
1
-2
8
-6
0
0
0
-41
0
-3
0
0
0
0
-37
0
-1
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
1
0
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
-11
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-7
34
0
0
0
0
0
2
2
0
6
-8
0
0
4
-28
0
0
-2
0
0
0
0
0
0
0
0
0
-5
-38
0
0
0
0
0
3
-19
0
24
1
0
0
0
-20
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
1
0
-1
34
0
0
0
0
0
1
-8
0
1
-3
0
0
4
0
1
0
13
1
0
1
-5
0
0
-4
-5
0
0
-53
0
0
-1
0
0
0
-3
0
0
0
4
0
0
-17
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
-1
0
0
0
0
2
0
0
0
0
0
0
2
0
10
0
0
0
0
0
0
-2
0
1
0
4
13
0
0
-10
0
0
0
-4
0
0
1
0
0
0
-6
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-7
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
2
0
0
-10
0
0
0
0
0
0
-6
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
3
0
0
0
2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
1
0
0
0
7
0
0
0
0
0
0
4
0
0
4
0
0
0
-30
0
0
0
0
0
0
5
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
-3
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
5
0
0
64
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
10
0
0
0
0
0
0
2
0
0
0
0
2
0
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
5
0
0
0
-1
18
0
0
8
0
0
0
0
0
0
0
0
0
-1
44
0
0
7
0
0
0
-20
0
-7
0
0
0
0
6
0
0
0
0
0
0
-56
0
0
0
0
0
0
-2
0
0
0
0
0
0
20
0
0
0
0
0
0
-9
0
0
1
0
0
1
-6
0
0
-2
0
0
0
24
0
0
0
0
0
0
2
0
0
-2
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
71
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
-5
0
0
0
0
19
0
0
0
0
0
0
9
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
50
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
-4
8
0
0
0
0
-3
1
0
0
0
0
0
0
-3
0
1
8
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
2
0
7
0
-1
0
-2
2
0
0
0
0
0
0
22
-2
0
0
0
0
0
23
0
0
0
0
0
0
-14
0
0
0
0
0
0
38
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
-1
0
0
0
31
0
0
0
0
0
0
-28
0
0
0
0
0
0
2
0
0
-1
0
0
0
13
0
0
0
0
0
0
38
0
0
0
0
0
0
-3
0
-2
0
0
0
0
8
0
0
0
0
0
0
-20
0
1
-3
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
6
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-22
0
0
5
0
0
0
0
0
-3
0
0
0
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
13
0
0
0
16
0
5
0
0
0
0
-13
0
0
0
0
0
0
-22
0
0
0
0
0
0
-24
0
0
0
0
0
0
-3
0
0
0
0
0
0
19
0
0
0
0
0
3
-25
0
0
0
0
0
-5
-5
0
0
0
0
0
0
22
0
0
-3
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
8
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
34
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
53
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-7
0
0
0
0
-3
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
2
0
0
0
0
0
2
0
0
0
0
0
5
0
0
-4
3
0
0
-10
24
0
0
10
0
0
0
0
0
0
0
0
0
14
-48
0
0
24
0
0
0
4
0
85
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
9
0
0
0
0
0
2
-13
0
0
0
0
0
0
48
0
0
-7
0
0
0
15
0
0
-5
0
0
0
49
0
-7
12
0
0
0
57
0
-1
0
0
0
0
-13
0
0
0
0
0
0
-45
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
41
0
0
0
0
0
0
59
0
0
-1
0
0
0
-15
0
0
4
0
0
0
-6
0
-7
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-1
65
2
-1
0
0
1
21
0
0
-7
0
0
-16
0
0
0
0
0
-5
-16
0
0
0
1
9
19
-2
0
32
28
-7
43
-11
0
0
45
0
1
-9
8
0
-9
-37
1
-23
23
-32
-4
5
29
-2
33
0
8
-5
-2
-20
0
16
0
-2
2
3
-13
-1
1
0
0
-1
0
-9
0
-13
0
-6
49
0
0
0
-3
0
9
-3
8
4
-1
0
-12
39
0
0
3
0
0
-13
31
8
-5
13
-14
0
-14
10
0
3
-10
0
1
0
0
0
0
0
0
0
-16
16
0
-5
67
0
0
0
17
0
-25
21
5
0
2
-24
0
0
7
-1
-7
0
9
-3
-19
0
0
0
0
-35
0
0
1
-4
2
0
-10
0
1
7
3
-5
6
14
-3
-5
5
0
13
-42
-6
0
4
-2
66
1
26
-15
-1
1
-14
2
-4
41
-16
-5
33
57
4
-13
-1
-21
-1
-1
3
0
-8
0
1
-12
3
6
-2
-18
0
19
12
4
0
4
5
0
-11
0
0
0
0
0
0
-22
0
50
-6
0
0
2
-41
5
0
-8
43
2
-2
7
1
-11
31
0
1
-21
25
-2
3
5
4
3
-5
-48
-2
-40
1
0
0
3
-49
4
-7
3
-1
0
0
-19
3
2
-1
0
-17
0
28
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-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
12
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
2
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-43
0
0
0
0
0
6
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
0
-1
0
0
0
0
0
-17
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-37
0
0
0
0
0
0
25
0
0
0
0
0
0
-16
0
0
0
0
0
0
12
0
0
0
0
0
0
41
0
0
-1
0
0
0
29
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
1
0
0
0
-2
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
56
0
-8
0
0
0
0
-13
0
0
0
0
0
0
-12
1
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
27
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
-39
0
0
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-3
0
0
-3
0
0
-1
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
-1
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
13
0
0
0
0
0
20
0
0
0
0
0
4
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
16
0
0
3
0
0
-1
0
0
-7
-2
0
0
-4
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
0
0
5
0
2
0
0
0
0
9
0
0
0
0
0
0
30
0
0
0
0
0
0
20
0
0
0
0
0
0
-26
0
0
0
0
0
3
38
0
0
0
0
0
0
45
0
0
10
0
0
0
-41
0
0
-15
0
0
-3
9
0
0
-2
4
0
0
-31
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
3
0
0
0
0
22
0
0
0
0
0
0
9
0
5
0
0
0
0
17
0
3
-3
0
0
0
-14
0
1
0
0
0
0
-14
0
0
0
0
0
0
-18
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-7
0
25
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
36
0
0
-1
0
0
0
0
0
9
8
0
0
-16
27
0
0
-3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
24
0
6
4
0
0
0
3
0
0
1
0
0
0
6
-1
0
0
0
0
0
-23
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
-1
6
0
1
-52
0
0
0
0
0
0
19
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
6
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
72
0
0
0
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
-27
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
10
2
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-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
8
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
7
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
-15
-1
0
5
-4
0
0
-5
0
0
12
5
0
0
-4
0
0
6
-1
0
0
-8
0
-2
5
0
0
0
0
0
0
-45
0
0
0
0
0
0
5
29
0
0
0
0
6
0
0
0
0
0
0
0
0
-30
0
0
0
-2
0
3
-49
0
0
0
0
0
-8
0
0
-17
2
-1
0
5
-13
0
0
27
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
3
13
0
30
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
-1
0
0
-26
0
0
0
0
1
-4
99
-1
0
9
0
0
0
28
0
0
0
-6
0
-1
32
0
0
0
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
20
0
0
0
0
0
0
15
0
0
3
0
0
0
-19
0
-7
0
0
0
0
-13
0
-1
-2
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
0
0
0
23
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
12
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
-2
0
0
0
0
0
0
-8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
8
0
14
0
0
0
0
0
0
0
0
0
0
0
-4
0
-25
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-23
0
0
0
0
0
3
0
0
17
9
0
0
4
8
0
0
-10
0
0
0
0
0
0
0
0
0
0
5
0
0
-29
0
0
-5
5
0
-1
0
0
0
0
-1
0
0
0
0
0
0
19
-3
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
-1
0
0
10
-5
0
0
0
0
0
0
8
0
0
2
0
0
-1
-61
0
0
41
0
0
0
-6
0
1
-3
0
0
0
-16
0
4
0
0
0
0
-5
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
-26
0
-3
-6
0
0
0
48
0
0
-5
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
-1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
1
0
0
0
8
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
5
-16
0
1
0
9
-58
-14
-1
0
-25
39
5
-20
37
0
4
-15
4
3
31
-3
14
5
13
-30
55
-23
-35
-2
5
-50
-18
15
-52
48
18
21
-9
-3
-9
24
-16
0
0
1
-7
35
18
19
0
0
5
25
41
-8
19
-2
0
-2
1
-13
0
-10
0
6
21
0
0
59
-22
0
-2
1
2
0
-27
37
0
54
-2
-7
-6
-34
-6
-30
1
-27
8
5
0
0
0
0
0
0
0
-55
-14
7
18
-1
13
0
-1
-9
-2
-10
15
51
1
-17
17
0
-1
-53
-2
-55
2
-6
3
-3
0
-10
-2
0
11
53
0
0
13
13
5
-19
13
15
-6
14
5
-57
35
0
-13
2
3
16
-19
-5
41
2
25
22
2
20
-27
54
-50
-7
11
-42
-6
-33
-13
27
60
-21
23
37
10
5
33
-32
-7
34
-3
-50
27
-21
-34
5
-59
0
20
2
-20
-1
4
25
0
13
-19
-2
8
1
-2
4
13
5
-26
44
-1
15
44
13
1
-16
-17
25
0
3
-6
-19
20
-16
20
7
-51
-40
-6
23
30
57
0
8
-1
-2
-30
10
0
-14
-7
62
1
-25
95
-7
-9
-4
-8
6
-8
-25
4
-16
0
26
-15
-3
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
-3
-3
-4
0
0
0
0
0
2
0
0
-1
-1
0
-4
0
0
0
-8
0
0
-16
0
0
-4
-3
0
0
51
0
0
0
0
0
0
5
0
0
-3
13
0
0
-2
0
0
-8
30
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-13
-6
-4
0
4
0
0
-40
0
0
1
0
0
-3
-6
0
-60
28
6
0
-43
51
0
0
64
0
0
0
0
0
0
0
0
0
5
34
0
-5
-4
0
0
18
-13
0
-47
-5
0
0
0
0
3
0
-1
0
0
0
21
0
-9
0
1
0
0
-22
0
0
0
0
0
-10
54
0
0
-7
-3
0
35
-48
0
0
-10
0
0
3
14
0
-5
23
0
0
-1
42
0
0
25
0
0
3
18
0
8
-4
10
0
2
9
0
0
19
0
0
-6
-7
3
2
0
0
0
0
31
0
1
0
0
0
0
-39
0
0
0
0
0
0
23
0
0
0
0
0
-6
49
0
6
-7
0
0
-3
-15
0
29
-4
0
0
0
-21
0
25
-30
2
0
0
8
0
31
2
0
0
0
-32
0
-2
-3
0
0
0
10
0
49
0
0
0
0
-67
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-36
16
-2
6
5
84
-25
-76
0
1
18
-23
-1
6
37
0
31
-44
-2
-6
-1
-11
31
-61
-18
8
70
11
-17
25
-4
4
-14
20
4
-1
96
-31
-30
-50
4
4
-98
-5
-5
-41
-19
22
-29
-26
-4
-1
-24
7
6
-6
-47
1
0
-7
23
-2
0
-7
2
-8
59
2
1
-35
-6
4
-5
53
1
-9
-34
2
-5
-5
-6
0
22
-11
4
-20
5
27
-43
-1
0
0
0
0
0
0
0
48
-3
8
44
0
-40
4
57
1
-7
-26
-5
-13
48
-29
0
32
3
-17
12
-68
0
4
-2
-23
1
-12
0
-4
14
59
0
21
23
22
28
-4
39
149
-42
-9
20
-17
12
-23
-31
31
2
-15
-23
-19
40
51
-29
4
-27
-7
-10
27
32
-10
13
-30
38
-11
-6
22
-18
13
51
41
10
24
79
-7
-22
9
-21
-15
101
30
20
-55
47
2
-9
0
-30
0
-51
20
0
38
-31
8
25
-56
-2
66
12
76
-23
64
16
79
-66
3
0
0
20
3
0
-37
10
-29
-31
-5
50
23
43
-32
38
62
5
37
50
-9
9
24
54
-52
-2
-56
-61
-4
-33
-66
-21
137
-6
-3
-27
25
-23
-18
50
-12
-1
6
0
78
-8
16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
28
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
20
0
0
0
0
0
0
13
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-1
0
-15
0
0
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-9
0
29
-4
0
0
0
0
0
0
0
0
0
0
-44
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-2
-58
0
0
1
0
0
0
-62
0
0
2
0
0
0
46
0
0
0
0
0
0
15
0
0
-4
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
6
0
0
0
0
25
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
-1
1
0
0
2
0
0
-1
2
0
2
0
-1
0
20
0
0
0
21
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-5
1
-3
0
2
0
0
0
0
0
0
2
10
0
0
2
0
0
-22
0
2
0
0
0
0
15
0
0
-3
0
0
1
0
0
-5
0
0
0
9
35
0
0
-8
0
0
0
0
0
0
0
0
0
1
-4
0
3
0
3
0
0
-5
0
-12
5
0
0
3
10
0
0
0
0
0
0
-4
-6
-1
0
0
0
0
7
0
0
0
0
0
0
-16
0
1
-2
-1
0
-12
-2
0
0
-1
0
0
-5
26
0
2
-1
12
0
15
0
0
0
1
0
0
0
-54
0
0
7
0
0
0
-40
0
0
-1
0
0
0
17
0
0
0
0
0
0
14
-1
0
0
0
0
0
27
0
0
0
0
0
0
2
0
2
0
0
0
0
49
0
0
0
0
0
-1
-13
0
12
-3
0
0
-1
3
0
4
5
-3
0
0
34
0
2
2
5
0
0
-8
0
0
0
0
0
0
-38
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
4
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
9
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
-1
0
0
1
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
8
-1
0
0
0
0
0
-1
-24
0
0
0
0
0
0
-1
0
0
-6
0
0
0
11
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-6
0
0
-4
0
0
5
5
0
0
-6
0
0
-8
2
0
0
-7
0
0
41
0
0
0
0
0
0
-5
0
0
0
-4
0
-5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
20
0
0
3
0
0
0
0
0
55
5
0
0
-2
-23
0
0
13
0
0
0
0
0
0
0
0
0
-5
-17
0
0
7
0
0
0
16
0
27
-5
0
0
0
0
0
0
0
0
0
0
32
1
0
0
0
0
0
57
2
0
0
0
0
0
22
0
0
1
0
0
0
-40
0
0
9
0
0
0
-2
0
-1
-7
0
0
0
0
0
0
13
0
0
0
-1
0
0
-6
0
0
0
-19
0
0
1
0
1
0
-7
0
0
0
0
1
0
-32
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
21
0
0
-7
0
0
0
-41
0
-1
0
0
0
0
-10
0
0
-1
0
0
0
18
0
1
3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
-2
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
6
0
-6
0
-9
0
0
0
0
-3
0
0
0
0
0
0
0
0
24
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
-23
-6
0
0
-17
31
0
0
1
0
0
0
0
0
0
0
0
0
-4
48
0
0
-11
0
0
0
-13
0
119
0
0
0
0
13
0
0
0
0
1
0
11
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
2
-57
0
0
2
0
0
-2
-32
0
0
1
0
0
8
-40
0
0
-5
0
0
0
42
0
0
2
0
0
0
-25
0
0
0
0
0
0
-31
5
0
0
0
1
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-8
0
2
1
0
0
0
-13
0
3
-2
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
16
0
-1
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-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
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
47
-1
0
0
0
0
0
-28
-17
0
5
13
0
0
-29
0
-6
0
52
0
2
30
-5
0
0
1
-2
0
0
-4
0
0
2
-5
22
0
0
7
0
0
-1
3
0
14
-3
0
0
0
0
-2
-2
0
0
0
0
0
-17
1
0
30
-1
3
0
49
3
0
1
-6
1
0
0
0
0
0
0
0
0
-4
-8
0
0
-35
-2
0
-4
-4
0
-18
-7
-2
0
-4
-73
0
1
6
-3
3
0
23
-9
-1
0
0
0
0
-30
0
0
0
1
0
0
-18
-1
0
-2
0
0
-1
27
0
-1
0
0
-1
1
32
0
-5
0
-3
0
-1
38
1
-5
5
3
4
17
-32
0
4
13
0
3
0
-22
2
-1
19
0
-2
0
0
0
1
-1
0
-60
0
-6
0
0
0
1
1
0
45
0
0
0
0
0
0
32
0
1
0
0
0
0
18
0
1
1
0
0
-2
23
0
22
1
-2
0
-3
-79
-1
6
-3
-4
0
0
-13
0
14
-4
0
0
0
19
0
-4
-8
1
2
0
-29
0
-3
-6
0
1
0
-71
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
2
0
0
-4
0
0
0
-26
0
-9
17
2
0
0
1
0
2
-2
3
0
1
-22
0
0
2
0
0
0
-9
0
0
0
0
0
0
-4
0
31
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
1
-47
0
0
0
0
0
4
-10
0
64
-7
0
0
-13
-11
0
0
59
0
0
0
0
0
0
0
0
0
0
-7
0
2
-9
0
0
0
-1
0
-13
4
0
0
0
39
0
0
-1
0
-1
0
40
-1
-2
0
0
0
0
49
-6
0
0
0
0
0
62
0
0
0
0
0
-3
-42
0
0
-2
0
0
3
17
0
0
-4
0
0
0
14
0
-2
6
0
0
5
8
0
0
-9
0
-2
0
0
0
0
1
0
-17
0
41
0
0
-1
0
4
0
-51
0
0
0
0
0
0
-51
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
5
0
0
0
-18
0
-6
0
0
0
0
-9
0
0
-3
0
0
3
32
0
-1
1
0
0
0
31
0
0
2
0
0
0
3
0
-3
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
13
0
0
0
0
0
-4
0
0
4
0
-41
0
-3
-37
0
0
13
0
0
0
0
0
0
0
0
0
0
-10
0
0
-5
0
0
0
18
0
10
-1
0
0
0
-74
0
0
0
0
0
0
-41
1
0
0
0
0
0
13
0
0
0
0
0
0
9
0
0
0
0
0
-1
-4
0
0
0
0
0
0
31
0
0
-33
0
0
0
9
0
0
-1
0
0
1
7
0
0
-2
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-16
0
0
0
0
0
0
13
0
-4
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
-22
-109
18
42
-19
0
3
-10
-48
-1
-22
2
31
-20
5
16
-8
11
-6
7
0
0
-24
0
-1
7
14
6
0
0
-12
9
-7
5
24
0
0
-6
25
0
3
18
-15
0
-5
0
0
14
0
-5
25
-5
1
-4
-35
2
-15
6
49
0
-7
-20
-1
-12
10
7
0
0
0
0
0
0
0
0
-11
3
-2
0
45
27
-1
-54
-5
-2
-40
-12
20
-2
-37
-43
-2
1
6
-4
9
0
-28
10
-31
1
-2
-7
0
8
20
0
5
1
-1
0
136
-5
-1
-28
-4
7
26
-13
-3
3
5
0
-7
0
14
-6
2
31
-3
-3
-43
-14
10
22
-41
-28
30
75
-8
8
-10
-1
20
13
1
-26
25
-13
11
-2
-76
2
-19
-5
-25
102
-32
-48
0
8
-3
-3
1
13
12
0
0
3
0
0
-1
0
0
2
2
-37
-25
0
3
3
-37
-3
8
19
53
-3
18
12
0
-6
57
5
0
45
-34
-5
-33
68
-40
19
-23
-34
-2
-33
58
5
-5
-25
13
-2
-26
-75
24
1
0
49
0
-113
-13
-3
-46
0
76
-12
-5
5
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
27
1
0
0
1
0
-2
-4
0
0
0
-3
0
0
2
0
0
0
-1
0
-3
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
23
0
0
0
0
0
-3
0
0
-33
0
-2
0
-6
-41
0
0
8
0
0
0
0
0
0
0
0
0
0
-9
0
0
25
0
0
0
22
0
5
1
0
0
0
13
0
0
4
0
0
0
30
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
4
0
0
9
0
0
0
-3
0
0
0
2
0
0
-1
12
0
0
-13
0
-2
-5
0
0
0
-3
0
0
-8
1
0
0
13
0
0
0
0
0
0
7
-1
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
1
-4
0
0
0
8
0
0
-1
1
0
0
-32
0
0
-1
0
0
0
2
0
0
-6
0
0
0
21
0
2
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
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
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
5
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
5
0
0
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
22
1
0
0
-1
0
0
1
7
0
0
8
0
0
-9
3
0
0
5
-3
0
0
0
0
0
0
0
-18
0
0
4
0
0
0
-2
0
7
-5
0
0
0
0
0
-48
0
0
0
0
0
-1
0
0
17
2
5
0
-1
-47
0
0
14
0
0
0
0
0
0
0
0
0
7
-13
0
0
14
0
0
5
-50
0
-1
-2
-2
0
0
-38
0
0
0
0
0
0
-41
-2
0
0
0
0
0
34
0
0
0
0
0
2
15
0
0
0
0
1
0
-2
0
0
0
0
0
-3
58
0
0
-3
1
0
-1
-50
0
0
-4
0
0
0
-16
0
3
0
0
0
0
31
0
0
-1
-1
0
0
-21
0
-1
6
0
-1
0
26
0
0
0
0
0
0
4
1
0
0
0
0
0
13
0
-2
0
0
0
0
-67
0
0
0
0
0
2
0
0
2
-8
0
0
0
-31
0
0
-1
4
0
0
-12
0
5
0
0
0
0
19
0
3
0
-2
0
0
-29
0
-1
0
0
-5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
49
0
0
0
0
0
-1
-1
0
-5
0
0
0
15
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
9
0
2
0
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
49
0
0
0
0
0
-5
23
0
0
-1
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
0
0
0
3
9
0
5
-11
0
13
12
4
-2
-2
-6
4
-5
19
0
0
0
-13
0
8
0
1
0
0
0
0
-5
0
0
0
0
0
0
5
0
18
0
-8
0
1
0
0
5
0
0
0
0
0
5
-23
0
-47
29
6
0
24
-10
-3
0
-3
0
0
0
0
0
0
0
0
0
41
22
0
14
49
0
0
3
-14
0
-79
-1
0
0
0
-49
2
0
3
0
-3
0
-16
-25
0
0
0
0
0
-53
6
0
0
0
0
1
24
0
-1
6
0
2
0
-43
0
0
7
0
0
12
32
1
0
17
-1
0
-13
20
0
3
27
0
0
7
51
-2
0
10
0
0
0
116
0
0
10
-3
0
0
1
0
-1
-1
0
-6
0
27
0
0
0
0
0
0
-22
0
0
0
0
0
0
-21
-2
-7
3
0
0
0
24
0
0
2
0
0
0
7
0
40
-9
0
0
-2
-62
7
1
22
6
0
0
45
0
0
-5
-5
0
0
39
0
2
-1
3
0
0
5
2
37
3
0
4
0
-48
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
0
2
-1
0
-1
0
0
0
1
0
0
0
-14
0
0
-3
2
0
0
0
0
3
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
1
0
0
0
0
0
2
3
0
-7
0
0
0
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-4
0
0
33
0
0
5
-7
0
6
-6
0
0
0
-31
0
0
0
0
0
0
-26
0
0
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
1
0
0
0
9
0
0
2
0
0
-3
0
0
0
0
-8
0
1
-26
0
0
16
0
0
0
52
0
0
-1
0
0
0
22
0
0
-1
0
0
0
6
8
0
0
0
0
0
3
0
0
0
0
0
0
0
7
0
0
0
0
0
-20
0
1
0
0
0
0
-5
0
0
0
0
0
2
0
0
-4
0
0
0
0
21
0
0
0
1
0
0
-23
0
0
0
0
0
0
9
0
0
1
0
0
0
5
0
-2
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
3
0
0
0
-5
0
-5
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
9
0
0
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
106
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-4
-1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
8
0
0
0
-11
0
8
1
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
4
0
0
0
-21
0
0
0
0
0
-2
42
0
0
-1
0
0
0
32
0
0
0
0
0
0
-28
0
0
-4
0
0
0
12
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-9
2
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
-2
0
-6
0
0
69
-4
0
16
0
8
0
29
0
0
0
19
0
0
0
-5
0
0
-5
-1
-4
0
0
-3
0
0
0
0
0
37
7
-1
0
0
0
0
-31
0
0
0
0
0
3
70
0
29
0
1
0
-25
-47
0
0
-25
0
0
0
0
0
0
0
0
0
49
50
0
-2
4
0
0
3
36
0
0
1
0
0
0
36
0
0
-1
0
0
0
-11
6
2
0
0
0
0
31
3
-3
0
0
0
-3
68
-1
-3
4
-5
-2
-33
-5
0
-1
8
0
0
-4
-39
-5
1
-7
-5
0
-17
-26
-2
0
37
0
0
-9
28
0
-2
-14
2
-1
-2
20
0
1
13
0
0
0
23
1
0
0
0
-3
0
17
0
0
0
0
0
0
-41
-5
0
0
3
0
0
-38
0
-9
0
0
0
0
-41
0
0
-5
0
0
0
-13
0
4
-4
1
0
-1
22
8
0
-2
-1
0
1
-2
0
31
4
-2
0
3
89
2
0
-5
0
-2
0
-66
0
25
0
0
2
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
4
-1
0
0
8
0
0
3
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
1
0
0
0
-5
0
17
0
0
0
0
0
0
-6
0
0
0
0
0
8
0
0
0
-5
0
0
-1
22
0
0
6
0
0
0
0
0
0
0
0
0
2
26
0
0
25
0
0
0
29
0
-2
0
0
0
0
-4
0
0
0
0
0
0
39
1
0
0
0
0
0
-23
0
0
0
0
0
0
7
0
0
0
0
0
0
41
0
0
1
0
1
1
-68
0
0
2
0
0
0
36
0
0
4
0
0
-4
-57
0
0
0
0
0
0
54
0
0
1
0
0
0
47
0
0
0
0
0
0
-61
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
61
0
2
-1
0
0
0
83
0
0
5
0
0
0
71
0
4
-1
0
0
0
-1
0
0
2
0
0
0
-3
0
6
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
5
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
28
8
0
0
0
0
0
52
0
0
0
0
0
0
1
0
23
0
5
0
1
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
9
0
0
13
0
0
-6
-1
0
-5
-2
0
0
0
36
0
0
0
0
0
0
28
7
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
-2
12
0
0
0
0
0
3
13
0
0
-5
0
0
6
58
0
0
12
0
0
-1
-50
0
1
0
0
0
0
11
0
0
4
0
0
0
15
0
0
2
0
0
0
-39
6
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
-15
0
-1
0
0
0
1
-29
0
0
-7
0
0
3
23
0
0
1
0
0
0
9
0
0
0
0
0
0
-21
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-22
3
2
-65
0
3
55
-28
-3
1
6
4
0
0
-13
0
0
0
-1
12
0
3
43
0
0
-2
4
0
29
-27
41
18
0
0
3
0
0
0
-5
0
0
17
6
-1
11
-33
-5
2
45
-3
1
-3
49
0
-1
0
0
0
0
0
0
0
51
-38
-2
-14
3
3
0
-7
5
0
-47
7
10
4
0
-8
8
0
-4
3
9
0
7
-42
-4
0
-12
0
0
26
-8
0
0
0
1
-17
37
0
-5
-19
-5
-2
31
4
0
0
-21
0
12
2
3
30
26
21
-34
1
-18
-6
5
9
76
-5
-3
-10
0
-3
-13
49
-31
17
0
21
0
-12
46
4
0
0
26
-2
1
28
1
23
0
-10
-2
-2
0
0
-2
0
-74
-20
0
0
0
0
0
-21
3
20
-1
0
0
-13
-52
1
-19
9
1
0
-2
-11
10
36
4
-4
0
-1
-39
-1
7
20
1
0
5
10
-1
4
-66
3
-3
1
-21
0
-2
-3
-6
0
-5
-76
-7
75
-2
0
-27
0
32
5
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
1
5
0
0
0
-3
0
1
0
-1
0
0
4
0
3
0
0
3
0
0
0
-2
0
-17
0
0
0
-2
0
0
66
0
0
-1
0
0
8
-3
0
-73
-5
-3
0
25
-31
0
0
49
0
0
0
0
0
0
0
0
0
1
-4
0
2
-34
-3
0
2
17
0
-5
-24
0
0
0
49
0
0
0
0
0
0
-23
0
0
0
0
0
0
34
0
0
0
0
0
0
20
0
0
0
0
0
5
41
0
0
3
0
-4
1
-12
0
0
6
3
0
-8
0
-1
0
-12
-1
0
0
-11
0
0
-1
3
0
2
-7
0
-1
4
0
0
0
-60
0
0
0
0
-1
0
7
0
3
0
0
0
0
21
0
0
0
0
0
0
0
0
8
0
0
0
0
-60
0
0
-3
0
0
1
-16
0
22
3
0
0
4
0
0
0
1
8
0
-4
-4
3
-9
5
0
0
-3
-6
0
-2
0
7
0
0
33
0
-4
0
1
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
50
0
0
3
0
0
0
-5
0
7
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
2
8
0
0
0
0
0
1
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
22
0
0
0
0
0
0
25
0
0
0
0
0
5
0
0
1
1
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
0
0
2
16
0
0
-3
0
0
-6
0
0
13
3
0
0
0
1
0
0
0
0
0
0
25
-2
0
0
0
0
0
-41
0
0
0
0
0
0
-5
0
0
7
0
0
0
13
0
0
0
0
0
0
41
0
0
0
0
0
2
41
0
0
-4
0
0
0
-10
0
0
-1
1
0
-2
16
0
0
3
0
0
0
42
0
0
0
0
0
0
64
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
-3
0
0
0
1
0
0
0
0
0
0
8
0
0
-4
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
-1
-12
0
7
77
2
0
0
-5
0
-3
0
2
0
0
0
7
-7
0
0
2
0
0
-8
1
0
6
9
1
0
0
0
3
30
0
0
-1
0
0
43
42
0
9
8
-1
0
-3
31
0
-1
-23
0
0
0
0
0
0
0
0
0
29
-31
-3
0
58
1
0
4
-20
0
22
5
0
0
5
19
4
0
0
0
-4
0
9
-1
2
0
0
0
0
-38
-5
0
2
0
0
0
-49
0
0
1
0
0
-8
31
0
-5
-1
0
-4
-5
78
-1
-4
-30
2
3
19
-15
0
0
-1
1
0
-12
30
0
-1
8
-2
0
-1
-16
0
6
-2
0
0
0
-45
0
-1
0
1
2
0
31
-1
0
0
0
0
0
75
0
0
0
0
0
0
-21
0
12
0
0
0
0
-41
0
-3
0
-6
0
-7
-40
0
-44
-3
0
0
2
27
0
0
42
0
0
0
-24
0
41
-2
-5
0
2
15
0
0
6
4
0
-1
19
-2
1
0
9
0
0
8
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
4
0
0
0
5
-3
0
0
-1
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
14
0
2
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
-23
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
0
0
0
-28
15
0
0
8
0
0
0
0
0
0
0
0
0
-4
-45
0
0
23
0
0
0
-6
0
3
5
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
-28
0
0
0
0
0
0
-15
0
0
0
0
0
-9
6
0
0
0
0
0
7
-11
0
0
8
-1
0
0
23
0
0
34
0
0
0
25
0
0
4
-2
0
0
-6
0
0
0
0
0
0
24
0
0
0
0
0
0
42
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
16
0
0
0
0
0
1
23
0
0
0
0
0
0
-23
0
0
1
0
0
0
55
0
13
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
-46
-1
0
0
0
0
0
-3
0
0
-5
0
0
-15
23
0
-7
23
0
0
51
-14
0
1
-14
0
0
0
0
0
0
0
0
0
-5
16
0
-3
-41
0
0
-2
15
0
9
50
-4
0
0
10
0
0
0
0
0
0
75
-1
0
0
0
0
0
19
0
-1
0
0
0
0
33
0
1
1
-5
3
1
-7
0
0
18
0
3
0
48
3
0
22
15
-8
5
45
1
0
45
0
-1
0
49
0
0
60
10
0
0
-40
0
-1
39
2
0
0
27
-2
0
-5
6
9
0
42
0
0
0
0
0
0
-39
-5
0
0
0
0
0
42
0
12
2
0
-2
0
5
0
0
1
0
-1
0
-41
0
34
-20
0
0
1
-29
0
0
3
8
0
9
-18
0
32
51
0
0
-1
59
0
1
-1
0
0
0
-18
2
-8
0
0
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
22
0
0
0
0
0
0
-2
0
44
1
0
0
4
23
0
0
5
0
0
0
0
0
0
0
0
0
-7
0
0
0
-8
0
0
0
-27
0
-7
0
0
0
0
8
0
0
2
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-32
0
0
2
0
0
1
-19
0
0
-8
0
0
0
-24
0
0
5
-6
0
0
41
0
0
4
0
0
0
0
0
0
3
0
0
0
-36
0
0
0
0
0
0
-7
0
0
3
0
0
0
10
0
0
0
0
0
0
21
3
0
0
0
0
0
3
0
0
0
0
0
0
29
0
0
0
0
0
0
42
0
0
-2
0
0
0
16
0
0
0
0
0
0
0
0
-1
4
0
0
0
-16
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
-8
0
0
4
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
0
0
-1
0
1
0
0
0
0
14
0
0
0
0
0
0
-22
0
0
0
0
0
0
51
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
1
0
0
0
5
0
0
0
1
0
0
-20
0
0
0
0
0
0
-10
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-43
0
0
0
0
0
0
-2
0
29
0
0
0
-2
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
0
0
1
0
0
-1
-22
0
1
4
0
0
1
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-66
0
0
0
0
0
0
-4
0
0
0
0
0
0
48
0
0
5
0
0
4
4
0
0
0
3
0
0
-3
0
0
0
0
0
1
41
0
0
1
0
0
0
15
0
0
-1
0
0
0
-2
0
0
0
0
1
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
2
0
0
0
-2
0
0
0
0
0
-28
0
-2
3
0
0
0
-7
0
-25
5
0
0
-3
0
6
11
0
0
-1
0
0
-4
0
-1
54
-28
-1
0
-44
71
-2
1
22
0
0
0
0
0
0
0
0
0
65
-34
0
0
2
0
0
0
112
0
17
0
1
0
1
-7
0
0
0
0
0
0
31
-1
0
0
5
0
0
14
-1
0
0
0
0
0
-72
0
0
-1
0
0
10
25
0
0
-2
0
9
39
-45
0
0
0
7
0
27
35
0
0
-9
0
0
17
114
0
-1
2
0
0
0
13
0
2
-8
0
-3
0
-29
0
0
0
0
-9
0
6
0
0
0
0
1
0
45
0
0
0
0
0
2
48
0
-4
0
0
0
0
47
0
0
-2
0
0
0
23
0
15
1
0
0
-7
-41
-3
-3
-10
-5
0
-1
-48
0
55
-9
0
-3
0
-98
0
-5
0
5
0
0
16
0
-5
0
0
-9
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
1
0
0
0
3
42
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
-1
0
0
1
-5
0
21
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
-1
0
0
0
-8
0
0
0
0
0
-3
1
0
0
0
0
0
1
1
0
0
0
0
0
-1
-15
0
0
0
0
0
0
-33
0
0
0
0
0
0
-10
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
-10
0
0
0
0
0
0
-22
0
6
0
0
0
0
-8
0
0
-2
0
0
0
-6
0
-1
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
36
0
0
0
0
0
1
0
0
37
-2
0
0
29
21
0
1
2
0
0
0
0
0
0
0
0
0
0
-24
0
0
-2
0
0
0
13
0
-3
-1
0
0
0
7
0
0
0
0
0
0
-58
-1
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
-6
0
0
4
-6
0
0
5
0
0
0
49
0
0
-4
5
0
-19
61
0
0
3
0
0
0
-21
0
0
21
0
0
0
34
0
0
0
0
0
0
-29
0
0
0
0
0
0
19
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
0
0
22
0
-7
1
0
0
0
-31
0
0
0
1
0
0
56
0
0
0
0
0
0
-9
0
0
0
0
0
0
49
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
26
-3
-10
0
0
-7
0
0
0
0
0
-12
3
0
0
-4
0
-1
11
0
0
13
0
0
63
-24
0
2
11
34
0
-14
-6
0
1
4
3
0
0
0
0
0
0
0
0
-2
3
0
-1
45
-9
0
0
-31
0
7
23
0
0
0
10
0
0
14
1
-2
0
9
3
-5
0
0
0
0
4
0
0
0
0
0
0
-34
0
1
6
-6
-18
3
6
0
1
-51
0
-28
6
-32
0
-3
40
0
-1
4
38
0
-3
-34
-9
-1
0
32
0
-26
-14
0
3
-8
-17
0
13
-4
0
5
0
-32
0
0
-14
1
24
0
-12
1
0
0
0
7
0
22
0
0
0
0
0
0
14
0
-31
1
0
-2
1
-41
0
0
8
0
0
-4
55
0
-11
5
4
-1
0
-46
4
4
17
1
-1
0
29
0
41
5
0
0
0
4
3
-9
-43
1
0
0
-61
0
-15
0
0
-1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
13
0
0
0
6
0
2
8
0
0
0
0
0
0
0
0
0
0
54
0
0
-7
0
0
1
0
0
8
0
0
0
0
3
0
0
0
0
0
0
-14
2
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
4
-40
0
0
0
0
0
1
-13
0
0
0
-5
0
0
24
0
0
5
0
0
0
51
0
1
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-23
0
0
-10
0
0
0
-4
0
-4
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
2
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-22
-1
0
1
1
-7
-3
-1
1
0
0
0
0
0
3
0
2
0
-6
0
-13
-47
0
0
-5
0
0
7
-12
0
49
23
-4
0
-48
51
-3
0
1
0
0
0
0
0
0
0
0
0
18
-63
0
0
-16
0
0
-6
-25
0
12
3
4
0
1
-41
0
0
0
-5
1
0
7
-10
0
0
0
0
0
13
0
0
1
0
0
0
51
0
1
0
0
0
6
32
0
-5
1
0
-2
-43
38
0
3
-32
13
0
6
-78
8
-1
-39
0
-4
25
21
-5
2
1
5
0
0
-43
-1
2
2
0
0
-1
-14
3
-5
-1
0
-3
0
-16
3
0
0
0
1
0
-53
0
0
0
0
0
0
8
0
18
0
0
1
0
32
0
0
0
0
0
-4
-40
0
-3
3
0
2
1
-48
0
1
5
9
0
0
46
0
-5
2
0
-6
0
51
0
0
0
1
0
0
66
0
16
8
0
0
0
53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
1
0
7
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-46
0
0
0
0
0
-5
0
0
5
4
0
0
-5
-2
0
0
13
0
0
0
0
0
0
0
0
0
-4
77
0
0
-5
0
0
9
-6
0
-33
0
0
0
0
-14
0
0
0
0
0
0
-9
1
0
0
0
0
0
-18
0
0
0
0
0
0
24
0
0
0
0
0
0
-23
0
0
0
0
0
-1
14
0
0
4
0
0
0
-6
0
0
-5
0
0
0
75
0
0
-14
0
0
2
16
0
0
0
0
0
0
22
0
0
0
0
0
0
28
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
1
0
0
0
-23
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
-3
0
0
0
0
29
0
0
1
0
0
0
-13
0
-1
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-8
0
0
0
0
0
0
11
0
0
0
0
0
1
0
0
-3
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
0
0
0
0
-2
0
0
0
0
0
0
-24
5
0
0
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
45
0
0
-5
0
0
0
-21
0
0
2
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
1
14
0
0
0
0
0
-13
6
0
-26
-2
0
0
-1
33
0
0
8
0
0
0
0
0
0
0
0
0
0
-57
0
0
28
0
0
6
-35
0
-5
4
0
0
-1
0
0
0
1
-2
0
0
11
0
0
0
0
0
0
-6
0
0
0
0
0
0
41
0
0
0
0
3
0
-24
0
0
2
0
0
-1
-19
0
0
3
2
1
5
-22
2
0
-3
5
0
-9
77
0
-1
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
1
0
0
-22
0
0
0
0
0
0
1
-2
0
0
0
0
0
4
0
10
0
0
0
0
-37
0
0
0
0
0
0
-5
0
0
0
0
0
-4
-1
0
0
0
0
0
2
-10
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-47
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-8
-1
0
0
0
-6
0
0
5
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
-25
0
-2
0
0
0
0
5
0
0
0
0
0
0
43
0
0
0
0
0
0
-9
1
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
4
-2
-4
0
0
2
-4
0
1
10
0
0
0
0
0
0
-21
0
3
-2
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
8
0
0
0
-5
-3
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
7
0
0
0
0
0
1
0
0
2
2
0
0
-1
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
-2
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
2
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
17
-6
-6
-3
-7
0
25
0
0
-2
17
1
0
-39
-2
0
-34
30
-9
0
58
-13
0
-8
-48
0
0
0
0
0
0
0
0
0
29
-44
0
0
3
0
0
-14
1
0
25
35
26
0
-2
11
0
0
0
-3
0
0
30
0
-4
0
0
0
0
3
0
0
0
-1
0
9
-2
0
8
29
12
0
-15
6
0
0
34
-2
0
38
35
0
-3
3
47
0
81
-20
-3
1
-32
1
0
-2
1
0
13
46
20
0
-18
27
-2
3
4
0
0
0
-4
-4
-2
-26
-7
0
0
2
0
0
0
-3
0
0
-41
2
0
0
0
0
0
-33
-1
13
7
-5
0
1
23
0
2
22
-2
0
7
37
0
31
13
0
0
-3
12
-6
-3
-52
9
0
0
-63
0
66
31
0
0
6
-24
3
0
-8
7
0
0
0
0
22
1
1
0
0
55
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
-1
0
0
0
-9
0
0
3
0
0
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
-5
0
6
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
0
0
0
-19
0
0
0
0
0
0
-35
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-3
0
0
0
0
0
-25
0
0
0
0
0
14
2
0
-7
6
-1
0
-29
5
0
-2
-4
0
0
0
0
0
0
0
0
0
-6
3
0
0
33
0
0
0
6
0
-10
0
0
0
0
14
0
0
-1
0
1
0
-18
0
-6
0
0
0
0
5
0
0
0
1
0
0
14
0
0
-2
1
0
0
8
0
0
4
0
0
0
-1
0
0
-1
1
0
0
-1
2
0
-6
0
0
1
-16
0
0
2
0
0
0
19
0
0
0
0
0
0
-21
0
0
-4
0
0
0
-77
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
1
0
0
0
20
0
0
-1
0
0
0
8
0
0
-5
0
0
0
-45
0
0
-4
0
0
0
-5
0
-3
-2
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
-5
0
0
0
0
0
0
5
0
3
4
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
0
0
0
0
0
-11
0
0
0
0
0
-2
0
0
-4
-7
1
0
3
19
0
0
1
0
0
0
0
0
0
0
0
0
2
60
0
0
1
0
0
0
-15
0
-29
-3
0
0
0
14
0
0
0
0
0
0
-15
3
0
0
0
0
0
-54
0
0
0
0
0
0
-22
0
0
6
0
0
0
-10
0
0
1
0
0
0
-20
0
0
8
-3
0
-7
95
0
0
13
0
0
0
-28
0
0
8
-2
0
0
46
0
0
1
0
0
0
-1
0
-1
0
1
0
0
40
0
0
0
0
0
0
6
0
0
0
0
0
0
-19
0
-4
0
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
0
0
-4
-35
0
-1
4
0
0
0
-4
0
0
-7
0
0
0
-9
0
0
0
-2
0
0
19
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
4
-4
49
-6
5
2
7
0
-14
-14
28
0
7
0
-6
50
1
-15
1
0
0
0
0
0
0
0
36
-25
12
-20
17
18
7
29
-6
0
4
58
13
0
5
12
0
-2
-4
-4
-8
0
-13
-23
-13
0
45
-4
-2
0
1
0
1
-4
2
81
47
-13
25
35
7
0
-16
29
-3
-1
-16
-9
18
-52
13
-27
-39
20
20
6
61
1
4
-17
50
-50
30
23
14
50
9
30
44
58
-4
-29
-8
16
26
-12
7
69
20
-41
29
9
-34
-34
2
5
5
-2
0
13
-6
0
0
0
-4
9
4
0
-2
11
-2
-54
-53
75
34
9
27
-2
-28
33
-13
2
13
10
10
4
4
-5
19
1
16
-15
-6
12
5
6
54
-2
4
7
48
-12
-2
9
30
2
57
-40
-1
0
-6
-23
-10
52
7
-5
-56
0
35
-6
-21
-7
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-2
2
0
7
-4
1
0
10
4
0
0
22
0
0
0
0
0
0
0
0
0
0
4
0
0
-53
0
0
0
31
0
18
0
0
0
-1
-9
0
0
0
0
0
0
29
2
0
0
0
0
0
-45
0
0
0
0
0
0
5
0
0
0
-2
0
3
-2
0
0
3
0
0
5
-13
0
0
-1
-6
0
-3
13
0
0
-7
0
0
0
14
0
1
-1
0
0
0
-70
0
0
2
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
1
0
0
0
0
-20
0
0
-1
0
0
-1
53
0
-1
0
0
0
1
7
0
0
0
0
0
0
-21
0
-5
0
0
0
0
-24
0
0
0
0
0
0
-35
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
1
0
0
0
2
0
0
-5
8
0
0
25
0
0
0
0
0
0
0
0
0
-4
2
0
0
-17
0
0
0
1
0
2
0
0
0
0
5
0
0
0
0
0
0
41
3
0
0
0
0
0
-11
0
0
0
0
0
0
-10
0
0
0
0
0
0
18
0
0
-2
0
0
-3
33
0
0
0
0
0
0
-31
0
0
5
0
0
0
-26
0
-1
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
20
0
-3
0
0
0
0
-2
0
0
0
0
0
0
41
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-2
0
0
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
21
0
-3
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
1
-3
0
0
0
0
0
0
25
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-31
-1
0
0
5
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
19
0
15
-9
0
0
0
4
0
0
0
0
0
0
29
0
0
0
0
0
0
15
0
0
0
0
0
0
-15
0
0
0
0
0
0
13
0
0
0
0
8
-3
8
0
0
0
0
0
0
26
0
0
-5
0
0
0
8
0
0
3
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
-4
0
0
0
0
46
0
0
0
0
0
0
-7
0
0
0
0
0
0
39
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
15
2
0
0
8
30
0
0
-10
0
0
0
0
0
0
0
0
0
-3
-67
0
0
-9
0
0
0
25
0
-52
2
0
0
1
10
0
0
0
0
0
0
46
0
0
0
0
0
0
-54
-16
0
0
0
0
0
22
0
0
0
0
0
0
-48
0
-5
-2
0
0
0
-10
0
0
5
6
0
-5
-35
0
0
21
0
0
0
58
0
0
1
0
1
-2
-15
0
0
-3
0
-4
0
8
0
-2
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
-52
0
-16
0
0
0
0
-18
0
0
-4
0
0
0
41
0
9
3
0
0
0
32
0
0
0
0
0
0
-8
0
1
0
0
0
0
-25
0
0
0
0
0
0
-49
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-20
2
21
20
64
1
-15
-25
4
24
0
-13
2
0
0
0
0
0
0
0
23
18
10
-29
-13
4
17
-14
2
-4
26
-16
49
-10
-5
8
13
24
59
12
-31
2
-18
-16
6
-1
13
-8
0
-5
32
2
-2
0
2
8
0
-8
138
-44
15
-7
1
5
-21
-3
12
-2
-4
6
29
8
51
17
27
31
9
-5
50
-8
10
2
14
27
-19
7
-10
12
-25
-18
-13
16
42
15
3
-19
22
8
-2
-20
8
-41
41
-20
0
-2
-4
-2
-14
4
16
0
-53
5
20
0
8
0
3
0
-7
-88
60
20
4
3
-31
-1
44
-10
26
-6
-3
5
7
-37
-6
-16
5
-7
7
-34
-53
4
46
10
9
-8
0
-14
5
31
-20
19
-2
16
17
-43
-4
13
-2
8
8
-7
17
0
49
0
-38
51
17
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
6
0
0
0
25
-2
0
0
8
0
0
0
0
0
0
0
0
0
2
96
0
0
30
0
0
-1
-11
0
-1
0
-1
0
0
0
0
0
0
0
3
0
-32
0
0
0
0
0
0
25
7
0
0
0
0
0
12
0
0
0
0
3
0
65
0
0
0
0
-1
-2
-49
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-55
0
0
-10
-2
0
0
12
0
0
-1
0
0
0
2
0
0
0
0
1
0
-10
0
0
0
0
0
0
-16
4
0
0
0
0
0
74
0
0
0
0
0
0
-20
0
0
-3
0
0
0
-34
0
-5
0
0
0
0
51
0
0
0
1
0
0
1
0
12
0
0
0
0
2
0
0
0
0
0
0
28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-25
-1
0
-22
0
0
0
0
0
0
0
0
0
13
29
0
0
40
1
0
0
52
0
81
2
0
0
0
18
6
0
0
0
2
0
-82
-3
-1
0
0
0
0
49
-3
0
6
0
0
0
6
0
0
-5
0
0
1
48
0
-4
-19
0
0
3
14
7
-2
-49
18
1
0
16
0
0
15
0
0
-8
-14
-4
-3
61
-1
0
0
-14
0
3
2
0
0
0
-1
-3
5
-1
0
7
0
31
0
0
0
0
1
0
35
0
0
0
0
0
0
26
0
-14
0
0
0
0
-49
0
-4
18
0
0
-2
-16
0
6
-13
0
0
6
34
0
-5
-5
3
0
0
38
0
31
-18
0
0
0
2
0
0
0
0
0
0
-51
0
6
0
0
2
0
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-58
0
0
3
0
0
0
0
0
0
0
0
0
26
18
0
1
-29
0
0
2
23
0
77
0
0
0
-1
0
0
0
-2
0
0
0
-2
2
0
0
0
0
0
7
0
0
0
0
0
0
78
0
0
-2
0
0
7
0
0
0
15
0
2
1
35
0
0
-13
3
0
8
8
0
5
-3
0
0
0
21
0
0
25
0
7
0
-8
0
2
1
0
-5
0
-42
0
0
-5
0
0
0
-45
0
0
0
0
0
0
3
0
0
0
0
0
0
10
0
-6
0
0
0
-2
0
0
0
8
0
0
2
4
0
5
2
0
0
0
4
-1
-3
-5
-1
0
0
7
0
-29
0
0
0
0
23
0
1
-4
0
0
0
79
0
8
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
4
-1
0
37
-5
0
0
0
0
0
0
0
0
-23
7
-1
-8
53
12
1
49
38
0
63
49
-5
-10
3
38
0
0
-4
-3
0
0
13
13
22
0
1
0
0
51
3
0
0
0
0
0
-21
0
-2
-26
6
34
-66
-27
0
0
11
0
-76
-44
-48
2
0
4
-43
6
59
-16
5
50
29
-19
17
17
23
6
40
-54
16
-23
29
18
-1
-2
-3
-2
-3
3
47
-2
-24
-4
0
2
0
-11
0
0
0
-1
4
0
39
2
0
0
5
0
0
10
6
1
7
0
1
0
-18
0
0
-2
10
0
0
16
1
0
0
14
0
-12
-46
-8
28
13
37
0
-1
31
0
25
-100
0
0
5
36
0
-12
13
15
-1
-2
3
-1
5
-4
0
-7
0
-4
5
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-22
0
0
15
1
0
0
0
0
0
0
0
0
5
-23
0
0
-13
0
0
-3
-13
0
60
-2
0
0
-2
-37
0
0
2
0
2
0
0
2
0
0
0
0
0
32
0
0
0
0
0
-3
12
0
-3
0
0
0
10
-18
0
-1
8
1
0
10
13
0
0
0
-4
0
-1
-5
-7
3
9
5
0
3
10
0
3
-24
42
0
0
23
0
0
-1
0
-10
0
22
-1
0
-1
0
31
0
-35
0
0
0
1
0
0
-7
-1
0
0
0
0
0
7
0
-13
0
0
0
-1
-8
0
5
0
3
0
0
23
0
-4
-14
0
0
0
9
0
-7
0
0
0
0
-4
0
-41
-10
0
0
-7
40
0
0
-5
0
0
0
32
1
-6
0
0
1
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
0
0
28
0
0
0
0
0
0
0
0
0
-8
-22
0
0
-10
0
0
0
-9
0
8
0
0
0
0
-52
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-21
0
0
1
0
0
0
-10
0
0
5
0
0
5
-50
0
0
3
0
0
0
10
0
0
-3
0
0
1
-10
0
0
6
0
0
2
13
0
0
-1
0
0
0
-4
0
0
-3
0
5
0
-24
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
-33
0
0
-6
0
0
0
25
0
0
0
0
0
0
-26
0
0
3
0
0
0
-17
0
-2
0
0
0
0
16
0
0
0
0
0
0
22
0
3
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
21
0
0
-37
2
2
-2
-11
0
82
-14
-4
0
-6
-10
0
0
-12
0
-2
0
19
18
-1
0
0
0
0
20
8
0
0
6
0
0
-23
0
2
0
4
0
-1
85
0
4
9
1
0
5
-38
0
0
-21
1
0
2
-6
-6
3
44
1
0
-17
-2
0
6
11
5
1
1
-11
0
-3
5
0
-1
0
47
-5
-30
28
-5
-3
0
-18
-1
0
0
0
0
0
-9
-9
0
0
0
0
0
9
1
-10
5
0
0
6
62
0
0
20
0
0
-6
21
1
43
57
0
0
-1
21
0
-3
81
0
0
1
0
0
39
51
4
0
0
0
0
5
6
0
0
0
-50
1
13
-2
0
-4
0
29
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
33
4
2
-3
-22
-12
-1
19
-21
4
1
-31
29
1
-1
28
-6
-23
0
-16
10
-17
2
2
-6
0
26
8
0
2
-8
0
-3
-35
5
25
-49
-6
-6
-13
8
-16
-9
5
8
-29
-13
0
102
-13
-73
-23
5
32
19
-19
43
3
-6
-39
5
-46
-1
-8
46
-15
54
-60
-2
24
34
48
-5
48
3
1
0
33
61
-6
8
0
-19
1
0
3
-6
28
0
-16
-55
-4
1
-7
0
-5
44
-5
-54
8
0
12
29
13
2
-31
3
39
5
6
0
11
23
-14
50
-3
-7
-9
25
70
35
-25
13
2
-35
9
6
24
-9
-2
-7
56
2
-13
5
9
-3
-4
-34
0
6
-8
-4
-27
0
-23
41
-9
3
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-25
0
-2
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-17
0
0
0
0
0
0
-8
0
0
0
0
0
0
-20
0
0
0
0
0
0
9
0
0
0
0
0
0
21
0
0
0
0
0
0
52
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
0
0
-3
0
0
0
13
0
-2
0
0
0
0
-2
0
0
0
0
0
0
26
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
1
-3
0
0
0
0
0
0
56
0
0
3
0
0
0
39
0
0
-1
0
0
0
48
0
0
-1
0
0
0
53
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
3
0
0
0
-5
0
0
0
0
0
0
8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
37
0
6
-19
0
1
18
67
0
-15
30
-1
0
0
-32
0
0
12
0
-5
0
-90
5
20
0
-1
-1
0
29
8
0
0
0
0
0
-14
0
0
-2
1
0
6
-2
0
0
-2
0
0
-8
23
0
1
95
28
1
8
-37
-4
0
32
0
0
8
16
-8
31
7
15
0
8
-23
2
-17
-7
0
-2
1
57
-8
4
5
-1
14
0
34
0
0
0
0
0
0
45
0
0
1
0
0
0
4
2
8
0
0
-1
2
34
0
0
0
3
0
4
-33
0
22
15
0
0
17
49
0
-21
2
-1
0
1
13
0
-25
-8
-3
-1
0
-4
0
-5
5
8
0
-3
39
-2
-48
-1
2
1
0
3
-3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
2
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
62
0
-41
18
0
5
0
34
0
0
0
0
0
0
-12
-5
0
0
0
0
0
-13
2
0
5
-3
0
0
9
0
-4
3
1
-1
-1
-51
0
0
8
0
0
2
-13
0
-1
-20
5
1
0
-17
1
0
14
0
-1
0
-3
0
-1
-47
0
1
0
41
0
0
0
0
0
0
45
6
0
-1
-1
4
0
29
0
0
0
-3
0
1
18
0
0
0
0
0
0
-11
0
6
0
0
0
0
23
0
1
-3
-10
0
0
30
0
19
-20
1
0
-1
54
-3
-7
16
0
0
-1
22
0
91
-1
0
0
3
46
-4
0
-6
5
0
0
31
0
-16
2
0
0
0
110
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
0
-4
-24
2
0
6
-9
0
0
-16
-3
3
0
-3
-64
-33
3
-5
-8
0
9
-15
-3
-1
1
15
-4
12
1
27
39
47
43
-2
3
-7
-8
-8
6
-58
4
6
16
-12
-19
66
-11
-4
-16
33
22
77
6
30
40
0
31
29
-12
1
41
12
14
25
14
-4
1
49
0
-13
47
-41
50
-55
-23
0
-24
-8
1
0
1
-4
0
77
27
-2
0
-14
1
5
61
2
20
47
5
-8
12
55
0
5
-41
36
5
54
-34
-21
44
58
12
3
24
-40
14
-11
42
5
4
43
0
-4
7
-13
10
-8
-4
-69
-18
-10
-37
13
-6
-1
4
-1
15
12
0
-24
0
4
29
-1
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
4
0
0
0
-3
0
0
0
0
0
0
-29
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-26
0
0
-1
0
0
0
4
0
0
7
0
0
0
-1
0
0
1
0
0
0
50
0
0
0
0
0
0
-10
0
0
0
0
1
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
-5
0
0
0
2
0
0
-3
0
0
0
-13
0
0
1
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
67
-2
23
10
1
-1
-3
25
6
0
0
0
8
0
9
23
0
0
-1
0
0
1
5
0
0
0
0
-1
-1
-5
-5
5
5
5
36
40
0
0
13
2
2
28
-26
0
-3
33
-10
0
23
-7
1
1
-31
-1
0
6
-12
0
-6
-1
24
0
-5
32
0
13
2
-7
1
-1
-3
6
4
0
49
-20
0
16
0
-5
0
3
0
0
32
-3
0
0
0
0
1
-11
0
14
-1
0
0
-5
43
0
0
39
3
0
-17
49
3
91
-3
-1
0
2
27
-1
76
52
23
0
2
-42
0
13
-5
-1
0
0
-26
0
-7
13
1
0
0
1
0
8
0
3
13
0
81
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-18
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
-1
0
0
0
0
15
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
-2
0
0
0
2
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
1
0
0
0
0
0
-29
0
0
0
0
0
0
33
0
-12
0
0
0
0
-50
0
-2
0
0
0
1
-11
0
2
-3
0
0
3
-29
0
0
-10
-3
2
0
0
0
4
0
0
0
0
-24
0
0
0
0
0
0
34
0
0
-3
0
0
0
-6
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-13
0
0
0
0
0
0
60
0
0
-1
0
0
0
-8
0
2
-1
0
0
0
49
0
0
-14
0
0
0
34
0
1
0
0
0
0
-13
0
0
0
0
0
0
19
0
2
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
-23
-2
-5
0
4
12
8
2
0
0
0
11
34
-1
0
3
1
-1
9
-4
1
31
22
7
25
-9
0
-4
-12
6
-4
-43
-6
-13
-1
-41
108
23
11
8
49
-28
14
10
-16
16
-16
0
5
-10
12
52
12
0
-2
-6
-8
-10
-10
1
-6
15
7
33
0
6
2
-20
-2
0
0
4
-10
0
75
-1
-4
-1
0
0
0
105
0
10
29
0
-2
18
-50
0
-3
-1
1
2
25
-46
0
48
8
4
0
-37
1
46
8
66
17
0
-1
21
-1
23
104
3
-6
8
0
1
1
4
-1
-2
0
-3
-6
-5
-3
0
15
0
61
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
11
5
0
22
1
-25
0
-22
1
0
0
13
0
0
-5
-6
0
0
-3
0
13
-9
1
42
-16
-5
-7
76
-13
0
0
-21
0
-7
-25
33
3
1
29
10
-1
75
38
4
5
4
5
-1
-3
-2
3
-3
-10
15
6
55
3
0
2
-43
-10
7
0
73
0
-10
-4
-1
42
0
16
0
0
0
0
19
0
-33
-1
0
0
-2
0
8
-28
-9
-4
0
0
0
-24
-25
0
2
-24
-7
0
4
-26
0
-51
25
0
0
7
63
2
53
34
9
3
-1
5
4
-13
-31
-1
-4
4
-22
1
-33
-9
16
0
0
-6
1
-1
-10
0
-1
0
-56
2
25
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
31
0
0
0
0
0
0
0
-8
0
0
0
0
0
10
-6
0
0
0
0
0
5
0
-1
2
0
1
-7
-39
0
-1
0
0
0
7
-8
0
0
-3
0
1
3
78
0
-7
8
0
0
0
17
0
4
0
0
0
2
-72
-3
0
-1
0
0
0
-31
-3
0
0
1
1
0
39
0
0
0
0
0
0
2
0
0
0
0
0
0
-15
0
0
0
0
0
0
40
0
0
-2
0
0
-3
22
1
8
4
0
1
1
-7
0
0
8
4
0
0
27
0
3
-2
0
0
0
24
0
0
0
0
0
0
-27
-2
-10
0
0
7
0
-75
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-40
4
4
0
0
0
0
17
0
0
0
0
0
0
16
0
0
0
0
0
-3
-15
0
0
2
0
0
-4
61
0
0
0
0
0
0
-42
0
0
1
0
0
0
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
1
0
0
0
21
0
0
-6
0
0
0
-3
0
0
0
0
0
0
-29
0
0
0
0
0
0
-77
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
12
0
0
-1
-1
0
0
1
4
0
-2
21
0
-1
-3
0
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
-2
0
0
0
6
0
0
2
-3
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
11
0
-3
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-20
-1
-5
0
0
0
23
0
0
0
0
2
0
59
0
0
-3
25
13
3
7
0
0
-26
0
-8
-22
-1
-2
1
48
55
-2
-21
-56
8
-15
11
-2
0
-1
18
-10
-13
5
0
7
-3
-5
-1
8
-2
0
0
-1
0
-7
33
72
-8
0
0
24
0
0
0
0
0
0
11
1
-1
0
2
0
0
-22
0
34
0
0
5
4
-17
0
-6
3
8
0
10
45
12
8
26
2
0
23
-12
0
-5
-4
-32
0
1
9
4
58
29
-3
-6
10
64
-2
1
5
13
0
0
0
-3
-34
-7
2
0
0
44
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
0
0
0
0
0
46
0
0
0
0
0
0
-4
0
0
2
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
1
0
0
0
0
0
11
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
4
-18
0
0
0
6
0
1
35
0
0
-1
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
3
0
0
0
0
0
0
-1
0
0
1
0
0
0
16
0
2
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
67
0
0
0
0
0
0
13
0
0
-2
0
0
0
75
0
0
1
0
0
0
-22
0
2
-4
-1
0
0
2
0
0
-3
0
0
0
-6
0
0
3
1
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
13
0
-3
0
0
0
0
3
0
0
2
0
0
0
-20
0
0
-4
0
0
0
8
0
0
0
0
0
0
19
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
57
-1
1
-11
4
61
-30
5
38
3
-31
43
8
25
-10
-14
-23
-8
16
-21
-6
14
-71
55
42
-5
-15
2
20
-62
13
-18
-45
-21
7
46
53
-4
-30
-27
-48
32
8
66
52
-5
37
4
3
-5
5
20
-43
5
0
0
-3
-27
2
-18
-9
0
47
10
-6
2
-5
0
5
-32
-1
-10
43
29
8
-35
17
3
2
62
42
5
47
-48
0
59
-57
1
1
10
-28
49
-5
81
-15
6
24
22
-1
20
53
-7
-4
5
-41
30
-63
-49
8
-8
0
31
31
-13
-34
7
28
-1
0
0
56
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-12
0
0
0
0
0
-1
26
0
0
1
0
0
2
-56
0
0
-5
0
-3
0
-83
0
0
7
0
0
0
-3
0
-12
5
0
0
0
22
0
6
-1
0
0
2
26
-1
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
-1
1
0
0
0
-29
0
0
0
0
0
0
14
0
8
1
0
0
0
14
0
0
-3
0
0
0
-6
0
-3
0
-1
0
0
13
0
0
0
2
0
0
-16
0
-2
0
0
0
0
13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-8
0
0
-7
0
0
8
-17
0
0
-1
0
0
0
25
0
0
0
0
0
0
98
0
0
-1
0
0
0
12
0
0
2
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
-36
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-30
0
0
0
0
0
0
-7
0
-4
0
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
1
0
0
0
0
0
1
54
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
5
0
0
0
0
2
0
0
0
0
0
0
16
0
2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-33
2
-11
12
-18
5
25
-18
0
8
17
2
37
-3
6
-16
97
-33
60
11
20
-13
0
24
7
46
-2
-16
-4
-1
-19
14
-3
-9
11
1
13
45
17
1
-22
-16
1
10
-49
-19
13
-49
2
9
14
-1
2
-17
3
0
0
-4
-2
0
-10
0
0
-17
7
3
47
-7
2
-5
10
1
20
-27
11
-7
41
13
-4
32
7
8
-3
6
-20
-3
62
-1
-17
0
-18
-29
-1
-10
-55
4
-1
-8
47
-5
-6
35
8
12
0
32
2
-3
-28
22
79
0
70
24
8
0
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
28
0
0
0
0
0
1
-27
0
0
0
3
0
3
15
0
0
0
0
0
0
48
0
0
0
0
0
0
2
0
0
-1
0
0
0
21
0
0
0
0
0
0
-29
0
0
0
0
0
0
32
0
0
0
0
0
0
8
0
0
0
0
0
0
17
0
0
0
0
0
0
-42
0
1
1
0
0
-3
12
0
0
-4
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
15
0
0
0
0
0
0
28
0
0
-4
0
0
0
-15
0
0
1
0
0
0
6
0
0
-3
0
0
0
-29
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-6
0
0
1
0
0
0
-7
0
0
0
0
0
0
-33
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-28
0
3
38
-2
6
-3
16
0
0
84
57
3
24
-3
0
10
-4
-30
0
-2
-45
0
21
-22
-1
4
6
-23
13
-2
8
1
-3
0
-42
-3
-1
38
9
-24
0
17
0
5
0
0
2
0
15
0
0
5
3
0
0
0
0
13
0
7
0
22
35
4
2
19
-8
3
15
85
0
-13
-67
19
0
22
13
-4
-13
23
7
0
-7
11
0
58
-63
-2
3
0
10
0
-8
4
1
-3
0
4
-2
-33
0
0
-8
0
7
-1
-3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
29
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-2
0
0
0
1
0
0
31
0
0
-9
0
0
0
44
0
0
0
0
0
0
-15
0
0
1
0
0
0
0
0
0
0
0
-2
0
63
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
0
15
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
24
0
-3
0
2
0
3
0
1
0
3
0
0
3
42
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
8
0
-11
0
0
0
0
0
0
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
19
0
0
-3
0
0
0
-22
0
0
1
0
0
0
-24
0
1
0
0
0
0
-12
0
0
0
-8
0
0
15
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
1
0
0
0
48
0
0
-5
0
0
0
13
0
0
-14
0
0
0
25
0
0
-2
0
0
0
-47
0
0
0
0
0
0
9
0
0
0
0
-2
0
30
0
0
0
0
0
0
31
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
5
-1
0
0
0
-3
0
0
0
0
0
0
-5
0
5
1
0
0
0
8
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
7
0
0
6
0
0
0
-45
0
0
-1
0
0
0
-6
0
0
1
0
0
0
16
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
-22
0
0
0
0
0
0
35
0
0
0
0
0
0
6
0
0
0
0
0
0
29
0
0
4
0
0
0
-3
0
5
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-8
0
1
0
24
0
-1
39
0
0
-1
-35
0
-1
9
0
0
0
-15
0
0
1
0
-2
0
0
1
0
0
0
-12
0
30
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
-5
0
0
0
0
23
0
0
-1
0
0
0
37
0
10
0
0
0
0
54
0
-1
7
0
0
0
-18
0
15
1
0
0
0
31
0
0
0
0
0
0
-17
0
8
0
0
8
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-22
1
2
4
12
45
-19
33
-30
-9
45
41
70
18
-42
-23
-49
40
-11
34
14
-27
17
71
5
-6
-13
-2
-10
31
-2
22
24
15
0
4
-5
-17
-4
12
7
0
-2
-20
5
1
4
-1
0
36
22
-22
24
0
24
16
0
-3
13
-23
50
0
-10
7
30
-7
-38
15
3
-8
34
-29
-36
-7
-5
9
8
7
-3
21
-13
13
-5
5
-43
-13
-5
-15
-5
1
0
-19
1
-77
4
21
-33
0
25
4
-8
1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
28
0
0
-8
0
0
0
27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-78
0
0
3
20
0
-4
25
0
4
-6
0
0
-1
58
2
0
6
-6
0
0
82
0
0
-3
0
0
0
3
0
0
0
0
2
0
76
0
0
0
0
2
0
35
-2
0
0
0
0
0
90
0
0
0
0
0
-2
64
0
0
0
0
0
2
31
0
0
3
0
0
-2
-40
0
0
-3
0
0
0
-8
-3
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
13
0
0
-5
0
-34
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-19
0
0
-1
0
0
0
-4
0
0
4
0
0
0
27
0
0
1
0
0
0
-8
0
0
0
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-37
0
0
0
0
0
0
15
0
-4
0
0
0
0
-8
0
0
2
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
0
-1
17
0
0
7
51
0
-3
3
2
0
0
17
0
0
-4
0
0
0
46
0
-1
0
-7
-2
0
31
3
0
0
0
0
0
13
-1
0
0
0
0
0
-1
0
-9
1
0
0
0
64
0
-1
2
0
0
0
22
0
6
0
0
0
0
12
0
-2
5
-3
0
0
37
0
0
4
0
0
0
-36
0
0
2
3
0
0
-33
0
-15
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-14
4
45
-44
39
15
30
-25
-2
-7
-20
22
22
-13
13
-5
-15
-29
0
20
0
-6
0
9
18
41
-5
5
-17
0
2
-8
6
-5
0
0
-4
21
-1
5
0
0
9
0
19
-8
-7
-6
59
-75
0
-4
-89
3
0
-45
0
6
-30
-57
-15
0
16
-45
10
-47
-11
2
0
102
6
0
-12
17
30
-5
7
5
5
17
4
17
6
0
5
8
6
9
41
14
0
43
-12
26
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-12
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
0
0
6
0
0
0
-28
0
0
2
0
0
0
-49
0
0
0
0
0
0
5
0
0
0
0
4
0
118
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-2
0
0
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
4
0
58
0
0
-3
-27
0
3
15
6
0
0
20
0
1
-2
0
0
0
-28
1
0
-3
0
4
0
-27
0
0
0
0
0
0
61
-2
0
0
0
0
0
-49
0
9
0
0
0
0
6
0
0
5
-3
0
-3
-40
0
53
0
0
0
0
56
0
13
1
13
0
-3
-28
0
24
-10
0
0
0
30
-1
0
0
6
0
0
11
0
22
0
0
-8
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
3
-15
0
0
0
-22
0
0
41
0
0
2
-43
0
0
0
0
0
0
-33
0
0
0
0
3
0
21
0
0
0
0
0
0
-10
-1
0
0
0
0
0
-5
0
5
0
0
0
-1
13
0
0
-15
0
0
0
-53
0
0
8
0
0
0
-22
0
0
-2
0
0
0
-29
0
0
0
0
0
0
66
1
0
0
0
0
0
56
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
-1
0
0
0
-12
0
0
-2
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
0
0
56
0
0
0
8
0
0
0
0
0
0
-17
0
0
0
0
0
0
11
3
0
0
0
0
0
-12
0
0
0
0
0
0
46
0
0
-1
0
0
0
13
0
0
1
0
0
0
-2
0
-8
-2
0
0
0
-13
0
-2
-22
-4
0
0
17
0
31
0
0
0
0
86
0
6
-3
-1
0
0
28
0
8
1
0
0
0
70
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
14
-35
1
-111
-13
37
-28
8
7
40
9
-2
-26
-1
-28
-3
-8
15
46
-54
4
12
-17
-4
4
-13
8
0
-19
39
3
0
7
0
3
-22
-4
66
29
-8
-20
24
-20
-3
18
49
-32
0
11
34
19
20
14
41
5
-13
0
5
-2
-5
-40
5
-4
38
-10
7
-33
24
-10
-7
-41
15
67
2
12
4
-5
26
19
-28
0
15
2
0
-40
5
18
5
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-2
0
0
0
-40
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
-6
1
0
0
0
23
0
0
3
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
12
0
-46
6
-40
2
18
35
0
0
2
3
-1
0
-13
6
3
-3
0
50
0
1
0
0
0
0
0
0
27
7
-4
0
3
0
0
42
0
-13
4
0
-1
0
5
0
-3
-1
2
0
-2
-13
0
15
-4
0
0
-4
24
4
-6
42
-5
0
8
-120
0
-39
3
7
0
9
24
0
0
-2
0
-4
0
-31
1
63
4
-1
-2
0
5
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
0
0
-2
0
0
0
22
0
0
0
0
0
0
-12
0
0
0
0
1
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
-8
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
-3
0
1
-2
0
0
0
49
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
1
2
0
0
-24
0
5
3
0
0
0
21
0
2
4
0
0
0
9
0
-19
0
0
0
0
18
0
0
0
1
0
0
-3
0
-8
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-57
10
18
46
-1
0
-3
10
-6
12
75
14
25
-4
-3
5
-23
3
-8
-1
0
-43
-1
-3
-3
2
0
3
53
19
45
3
23
9
8
7
0
13
95
53
3
5
-33
-10
72
-12
-5
14
-59
40
2
-62
4
-13
7
-22
0
0
-49
-26
5
0
-6
-4
3
21
-26
-5
6
-5
5
13
11
-5
8
-43
0
-3
-21
3
4
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
-7
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-3
1
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
1
0
0
0
0
5
0
0
-2
0
0
1
16
0
-8
-1
0
0
1
-14
0
2
3
4
0
0
-34
0
4
2
0
0
0
-19
0
0
0
0
0
0
1
0
2
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
4
0
0
3
0
39
2
0
0
-4
5
0
10
-2
0
0
0
0
0
-20
2
0
0
0
0
3
-14
0
-4
0
0
0
2
-29
0
0
-4
0
0
9
42
-2
-15
-6
-4
0
2
-40
0
3
1
0
0
0
11
0
-5
-3
0
0
0
13
1
1
0
0
0
-1
51
1
-17
0
0
1
0
66
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
66
0
0
-1
0
0
0
37
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
2
0
0
0
-1
-39
0
0
0
0
0
0
-13
0
-2
3
0
0
0
-10
0
0
17
0
0
0
6
0
3
-3
0
0
0
10
0
0
0
0
0
0
-13
0
6
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
1
-3
0
0
0
-4
0
0
5
0
0
0
20
0
0
2
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
1
0
25
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
-1
0
0
0
-1
0
1
4
0
0
0
26
0
0
1
0
0
0
2
0
0
-4
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-38
7
3
-36
59
33
-2
0
-1
-3
-3
-5
13
-8
-5
-10
-2
0
1
0
4
3
17
-2
34
-2
0
-17
3
4
21
-42
-49
0
7
-5
-31
-7
12
4
2
-24
-4
8
79
5
-21
9
13
40
3
72
-37
1
-3
-10
0
0
-7
-33
31
0
-4
-7
2
57
25
0
3
0
16
10
37
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
5
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-5
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-4
0
0
0
0
0
-18
0
0
0
0
0
0
-24
0
0
0
-2
0
0
21
0
3
0
0
0
0
36
0
0
6
-1
0
0
-4
0
-1
6
0
0
0
45
0
0
0
0
0
0
16
0
8
0
0
0
0
8
0
-6
0
0
0
0
31
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-48
0
0
0
0
0
0
15
0
0
0
0
0
0
7
0
5
0
0
0
0
53
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
1
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
67
7
0
0
0
-2
0
20
0
-1
2
0
-4
8
-45
0
0
8
-10
0
-42
23
-6
-55
16
0
0
-30
-8
5
9
52
23
0
3
-21
0
-50
10
5
0
0
39
0
-10
15
0
0
1
0
1
67
0
0
0
0
11
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
-1
0
0
0
2
0
1
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-17
0
0
0
0
0
0
13
0
3
0
0
0
0
42
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
-1
0
0
5
0
2
2
0
0
0
5
0
0
0
0
0
0
2
0
0
2
0
0
0
10
0
0
0
0
0
0
-88
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
5
0
0
0
0
31
0
0
-7
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
5
0
0
0
-1
37
0
0
-3
0
0
0
42
0
-2
-8
0
0
0
3
0
-2
52
2
0
0
13
0
12
-1
0
0
0
2
0
3
-1
0
0
0
64
0
-9
0
0
0
0
48
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
5
13
20
0
0
-1
19
2
23
-22
15
0
6
36
-6
-8
38
-13
13
0
-30
35
-35
6
-104
10
-1
-13
16
-17
9
4
63
0
30
17
0
-28
-39
5
-1
-31
9
-17
27
49
18
-3
-1
-50
5
21
-25
4
25
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
3
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
3
33
19
0
-3
0
-43
0
0
7
-4
0
0
2
0
46
-5
0
0
8
35
-2
2
-50
-3
4
-6
-47
-1
90
28
8
0
-2
-31
0
-2
-1
8
0
1
-23
0
-8
0
0
5
0
44
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
35
0
0
-7
0
0
0
-1
0
0
-3
0
0
0
-22
0
1
0
1
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-39
0
-2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-5
4
3
0
5
-28
0
-18
-4
0
0
5
-3
2
6
-29
5
0
0
-5
3
-9
-5
0
0
0
5
0
8
-1
-2
0
0
24
0
49
5
12
5
0
50
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
-1
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-2
0
0
0
0
-24
0
0
-6
0
0
15
17
0
1
0
-3
0
0
68
0
1
0
0
0
0
49
0
0
2
-4
0
0
36
0
13
-1
0
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
3
0
0
0
6
0
0
0
0
0
0
-1
0
1
0
0
0
0
-3
0
0
0
0
0
0
25
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
-3
0
0
0
0
-28
0
0
0
0
0
0
2
0
0
-5
0
0
0
-7
0
0
0
0
0
0
23
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-106
0
-5
-15
-4
-1
103
23
13
-6
-3
13
0
-5
59
0
-6
24
1
-1
0
20
13
-1
-23
-1
0
0
25
0
62
0
10
-16
0
-77
-3
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
16
0
0
-2
0
0
0
1
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
5
0
0
0
0
26
0
0
4
1
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
55
0
-8
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
-1
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
0
0
0
-35
0
-1
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
17
4
-29
-5
5
0
13
27
2
76
48
-1
0
3
40
0
-17
5
8
-1
-5
-15
0
-56
-5
0
4
0
-71
0
23
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-7
4
0
1
-21
0
49
12
0
0
0
-10
1
3
1
-4
0
0
-9
0
5
0
0
3
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-129
0
3
-2
-1
0
0
10
-3
13
1
0
0
0
-6
0
0
-1
0
0
0
26
0
-5
0
0
-3
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
60
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
26
33
-14
0
12
47
2
15
-17
-1
-1
1
35
0
-15
1
0
-5
0
-26
37
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
75
0
-1
-4
0
0
0
-3
0
0
0
0
0
0
-90
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
37
-9
-1
0
0
-10
0
0
1
-3
0
0
2
0
2
0
0
2
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-6
4
0
0
0
1
0
4
0
0
0
0
50
0
5
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
1
-10
39
8
-3
-1
9
1
8
-3
0
8
0
-19
20
7
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
0
0
-3
0
0
0
12
0
0
6
12
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-37
0
5
0
0
0
0
-25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-6
-3
10
20
0
16
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-55
1
0
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
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
0
-5
-4
0
0
0
0
0
32
-16
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
36
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-43
0
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
5
12
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
14
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-10
0
0
8
0
0
18
0
23
32
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
3
0
0
0
0
0
0
30
50
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
0
0
0
0
3
0
-52
-9
-35
0
-8
0
0
-7
0
-38
-5
110
48
33
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
5
-55
-45
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
31
0
0
0
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
45
93
-20
108
4
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
99
0
0
0
0
0
0
-30
8
-52
-72
10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
15
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
3
14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
-4
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
17
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
58
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
19
-3
0
-22
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
-23
36
-49
-33
-54
2
8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
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
27
-85
-8
-43
0
-64
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-20
-4
0
0
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-10
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-7
-5
-13
0
42
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
20
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
-6
0
0
-9
-26
-9
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
1
0
55
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
130
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
65
0
-50
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
24
0
0
0
0
0
32
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
87
0
0
41
0
0
-22
0
0
-33
0
0
-18
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
12
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
-30
-7
0
0
0
0
0
6
19
-4
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
-32
-25
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
6
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-46
53
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
-16
0
59
-11
39
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-12
14
-8
0
-26
0
0
-23
0
43
32
34
4
4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
24
0
0
0
0
0
-4
-23
26
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
-81
0
-32
-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
-21
-7
56
-59
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
-10
0
0
0
0
0
-42
0
27
-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
-45
0
0
0
0
0
0
-10
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
42
-55
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
13
-42
0
-9
0
0
0
0
-26
97
-11
132
-10
43
0
0
0
0
0
0
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
0
78
0
44
0
0
0
0
63
8
4
-23
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
21
50
-87
-1
-21
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
22
14
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
16
0
0
0
0
0
0
-32
-20
-13
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
30
-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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
95
-12
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
-20
0
0
0
0
0
2
38
-17
23
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-6
0
0
0
0
0
-16
0
47
15
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-8
-43
-15
0
0
0
0
0
-2
69
15
16
-10
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-3
-28
-40
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
8
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-38
-20
0
0
-2
0
0
-45
0
21
3
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
38
0
0
0
0
0
-17
-17
53
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-23
0
-32
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
1
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
26
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-3
7
-32
8
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
17
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
5
15
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-48
0
-56
-6
2
3
13
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-55
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
12
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-28
-25
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
1
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
43
-3
-31
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
30
-12
-5
-12
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
12
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-30
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
14
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
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
15
8
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
-6
0
0
0
0
0
15
-9
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
-62
-10
0
0
-102
0
0
-5
-31
-32
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
27
0
0
0
0
0
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
0
3
-50
0
0
1
0
0
-19
-5
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-50
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
-1
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
21
0
0
41
0
0
-74
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-9
0
0
-26
0
12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-123
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
7
-22
0
0
0
0
0
1
-93
-38
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
-13
0
0
0
0
0
25
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-51
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-117
-31
0
0
0
0
0
10
-84
-14
35
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
-5
-40
0
0
0
0
0
46
-23
17
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
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
0
0
5
0
0
0
0
0
50
-89
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
45
0
0
0
0
0
53
0
-58
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
20
9
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-2
89
0
0
0
0
0
-4
-27
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-16
-41
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
0
8
4
0
0
0
0
0
-54
-55
-28
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-41
32
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-6
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-13
59
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-17
-20
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
71
-10
39
0
0
0
0
16
-19
-17
9
33
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
47
-15
-30
6
-12
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-51
40
-48
0
0
0
0
-7
-45
8
19
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
25
-4
-20
-20
-26
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
34
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-10
19
4
0
8
0
0
34
58
15
15
-16
-37
20
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
8
0
69
0
0
0
64
4
17
8
43
25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
15
36
-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
-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
4
-5
-47
33
2
0
0
0
-10
-24
-29
-18
8
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
25
75
-7
-9
0
0
0
-30
66
-33
3
-5
-28
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-8
0
0
0
0
2
0
9
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-38
4
-16
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-36
0
-56
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
2
0
19
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
0
75
0
0
-20
0
1
1
0
-60
8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
7
3
60
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-25
-23
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
2
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
5
-18
-4
-14
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-9
-25
0
0
0
0
-13
0
18
19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-10
0
0
0
0
0
45
-3
36
0
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-10
23
0
0
0
0
0
-2
13
15
-10
-33
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
65
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
11
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-52
0
-24
0
0
0
0
0
-29
-6
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-50
0
0
0
0
0
12
-10
5
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
18
0
0
-1
0
18
12
-35
-6
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
3
25
-31
0
0
0
0
-5
-21
31
-2
-6
59
0
0
0
0
0
0
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
13
-42
22
18
0
0
-10
7
-4
-17
13
-8
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
58
0
-37
0
0
0
0
43
-13
-10
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-41
28
11
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
18
4
12
-6
-6
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
-1
-18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
1
-41
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
27
0
0
0
0
0
23
-5
-52
-23
-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
8
-5
-8
-2
-8
0
0
0
0
-16
-31
-3
-14
10
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
37
0
41
0
0
0
0
14
-4
-11
-26
-12
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
56
-20
56
0
0
0
-6
-62
-29
10
-18
3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-25
13
2
0
0
0
0
-7
-9
9
-13
-1
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
13
0
0
0
0
16
4
0
32
-3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
24
0
0
0
0
0
52
-8
-17
-5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-32
78
-19
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-1
0
0
0
0
0
3
15
13
-28
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
7
2
4
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
21
-10
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
49
23
-27
-15
-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
-32
0
0
0
0
0
35
7
39
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
5
-22
60
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
81
57
-21
37
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-32
-8
-42
-2
7
9
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
2
0
0
-16
1
0
0
0
0
-4
0
-1
4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
33
4
13
0
0
0
0
16
-16
7
24
-2
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
-4
-58
-51
-4
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
-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
-4
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-51
-46
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-41
26
-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
0
0
0
0
0
0
0
0
-3
0
58
0
0
5
0
-3
23
15
-10
0
-12
0
0
0
0
0
0
0
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
4
-22
24
0
0
0
0
6
-56
7
40
12
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
-22
74
36
0
0
-37
-36
-53
10
18
-17
17
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
48
-8
-5
0
0
0
0
-59
-48
-13
48
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
22
-16
17
5
-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
0
0
0
0
0
0
0
2
0
69
0
0
0
0
2
-46
14
1
-7
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-18
-5
39
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
7
0
0
0
0
0
-20
-4
-26
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-1
-1
16
0
0
0
0
0
-24
-21
20
-6
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-29
2
-8
0
0
0
0
0
-26
-26
24
-21
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-19
0
15
0
0
0
0
-58
-24
42
-18
-9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-18
20
-33
0
0
0
0
-34
-15
1
-21
16
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
53
5
8
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
-5
11
-6
0
61
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-7
44
14
-2
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
17
-57
-33
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
-41
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-40
-65
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
-12
0
0
0
0
0
22
5
-35
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
44
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-19
13
-22
-11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-23
13
10
-22
78
-19
23
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-38
-33
-16
-72
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
13
0
14
-3
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
14
-10
-25
-16
16
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
18
9
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
0
-21
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-6
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
30
-41
88
-2
-5
18
-3
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
3
0
0
-9
32
-10
-23
-17
30
26
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-50
-27
5
-6
-1
-20
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
15
1
60
-14
-33
-1
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-2
0
-6
-7
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-40
13
-14
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
60
-7
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-43
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-46
-4
38
8
-73
-4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
38
-21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
114
8
17
-22
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
42
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-14
3
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
16
12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
50
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
7
4
5
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
21
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-12
0
-30
4
0
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
-30
0
0
0
0
0
0
-5
32
-5
18
12
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
42
-47
39
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-7
-1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-18
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
52
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-3
30
-66
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-17
15
4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
35
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-29
0
0
0
0
-12
15
-47
-16
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-12
28
0
0
0
-6
13
0
7
-16
-35
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
38
0
38
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
0
7
0
0
0
0
-6
29
20
-40
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
41
-9
0
0
0
0
14
6
-2
28
54
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-56
-69
-8
1
0
0
0
0
0
0
0
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
62
-22
0
0
0
0
-12
-14
24
-30
33
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-21
-32
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-5
0
0
0
0
0
-42
44
31
-37
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-45
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-28
-1
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
27
-14
38
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-46
-29
-16
0
-10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
33
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
7
0
0
0
0
0
0
0
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
-41
0
0
4
0
0
20
0
2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
26
1
0
0
0
0
0
-9
-22
-29
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
39
0
0
0
0
0
-8
-76
-18
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
5
0
0
0
0
0
-3
-1
-4
1
47
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
37
0
42
0
0
0
0
0
15
-95
-34
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-6
-40
12
0
0
0
0
-7
-76
-26
46
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-18
0
0
0
0
0
0
-3
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-24
0
0
0
0
0
0
0
-41
37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
3
-73
0
-18
-18
22
0
-66
1
6
-23
0
-12
28
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-19
0
0
0
0
0
-26
-14
10
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-36
-10
13
0
0
-2
0
-7
-10
-17
-4
10
38
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-42
30
-28
0
0
0
0
16
23
-13
40
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
31
6
67
5
0
0
0
21
-8
-30
4
12
40
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
20
0
0
0
0
3
20
35
3
18
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
14
16
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
30
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
36
23
-2
13
0
0
0
0
0
19
-11
12
-6
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
34
0
-1
0
0
0
0
36
-42
-65
-21
-23
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
6
-43
40
51
-19
0
0
-16
-24
-12
-44
-40
-15
11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
19
-30
-63
0
0
0
0
-1
-13
24
45
-24
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
5
-25
12
-14
-20
6
85
0
-5
-18
-8
-10
45
-48
10
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-32
52
-3
-22
-7
0
0
0
-4
-12
0
-6
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-29
51
-17
0
0
0
-5
31
-19
-19
-10
9
9
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
5
0
3
0
0
0
0
32
24
13
-6
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-9
-31
13
-3
0
0
0
0
-18
-11
-41
1
24
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-11
-41
-12
0
0
0
0
0
13
24
41
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
65
65
28
0
0
0
8
12
-71
14
-38
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-25
19
0
0
0
0
0
-2
0
64
-22
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-10
-38
-3
-4
0
0
-7
0
-23
11
-23
-25
-5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
32
38
-24
-15
16
0
0
0
-15
-20
-2
-16
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-47
-41
5
63
-15
0
-74
0
-30
4
34
-18
18
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-16
37
-42
3
0
0
8
-41
-11
-16
-15
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
21
16
0
-33
0
0
25
40
-40
2
20
-26
-26
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
11
0
27
0
0
0
0
-17
37
43
-4
26
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
21
0
55
0
0
12
0
16
10
-79
30
-4
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
10
-1
29
0
0
0
0
-31
-63
39
-9
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-44
-13
65
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-77
-64
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
5
0
0
0
0
-6
-39
-8
9
-12
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
-33
0
-29
0
0
0
0
0
48
15
-67
-28
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
4
105
-12
39
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-9
0
0
0
0
0
-17
-3
-47
40
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
68
51
47
-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
1
0
20
0
0
0
0
0
50
24
57
24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
6
5
-2
0
0
0
0
15
22
-18
-4
-18
13
-80
14
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
13
-11
-14
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
-12
0
0
-14
13
-6
-12
0
14
6
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
-50
62
-6
-11
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
-1
2
0
0
0
0
-67
5
-13
-9
-6
8
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-31
31
17
0
0
0
0
15
2
-1
11
-11
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
28
6
0
0
0
0
12
-23
11
2
-12
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
25
-26
0
0
0
0
0
49
26
1
12
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
49
0
0
-15
-42
20
-11
-9
6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-48
0
0
0
0
0
10
0
-21
15
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
11
-15
21
28
7
12
0
0
-11
-14
-18
-5
-11
-6
-5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
-22
19
0
0
0
0
0
-54
42
6
1
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-16
0
0
0
0
0
22
59
103
58
-40
57
-14
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
3
17
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-17
-4
26
-7
0
0
0
0
-11
-25
-2
-4
17
36
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-15
29
50
0
0
0
0
0
-33
4
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
22
30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-10
0
5
0
0
-29
-4
5
-46
-29
9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
36
-59
-45
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
13
0
-44
0
0
-31
0
5
-65
8
-44
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
16
-5
-50
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
0
0
0
2
2
-35
2
0
29
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-31
14
-66
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
8
12
0
-54
14
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
8
3
0
-7
7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
26
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
-28
-13
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-22
5
12
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
-5
-4
0
-11
35
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
1
0
0
0
0
0
0
-5
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-23
11
0
18
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
20
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
5
-14
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
11
-32
7
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
5
-21
-30
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
19
-6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
43
0
0
5
-2
-12
4
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
-40
-10
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
28
31
-27
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
10
0
0
15
13
0
-3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-13
0
0
0
-27
0
0
6
-25
10
28
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-22
-12
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
28
-17
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-13
-68
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
-21
0
0
5
-12
19
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-106
-7
0
0
0
0
0
0
0
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
0
0
0
23
0
0
-1
-10
-90
-12
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
3
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-5
-10
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-27
0
0
1
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
11
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
4
0
0
-5
0
-4
-2
1
-9
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
13
24
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-20
27
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-26
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-9
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-7
0
-1
-20
-9
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-4
-7
0
0
4
0
0
15
25
-14
-27
0
0
0
0
0
0
0
0
0
0
0
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
-5
4
11
0
0
0
0
0
-64
59
-53
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
13
-3
0
0
15
0
0
7
-1
66
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-60
-36
0
0
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
-9
-4
48
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
24
-13
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
-40
-22
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
9
33
0
0
-31
0
0
-12
4
15
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
4
0
0
-20
-57
-8
-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
-12
4
-12
30
0
0
-4
0
0
32
70
40
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
49
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
0
0
27
0
0
-64
18
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
20
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-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
5
0
0
20
50
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
37
9
-49
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-3
30
-39
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
39
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
18
4
-14
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-17
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-28
0
0
0
0
0
25
-36
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-42
34
0
0
0
0
0
-8
26
7
-31
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-5
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
33
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
-4
0
93
5
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-16
0
-70
0
0
0
0
-35
26
-15
13
-5
-91
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-8
-40
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
62
-20
42
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
-24
30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-20
0
-44
0
0
0
0
0
-43
-25
36
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-38
9
0
0
0
0
0
12
-7
5
30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
29
-18
-67
0
0
0
0
0
37
-4
-13
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
-23
-51
0
0
0
0
0
-13
8
-16
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-3
60
14
0
0
-4
-25
30
-8
-40
-13
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
69
-10
-24
47
0
0
0
11
16
14
-2
-23
-27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
19
-34
6
0
0
0
-9
-36
-3
53
-1
4
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
44
7
3
-7
3
0
0
-22
41
5
35
14
10
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
-14
41
27
35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-35
-4
0
0
0
0
-34
-16
4
4
15
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
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
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
18
46
-13
-31
-12
-27
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
20
-57
-7
0
0
0
6
25
22
15
11
-69
-49
0
0
0
0
0
0
0
0
0
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
-23
21
7
0
0
0
0
-37
-53
-36
53
6
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-11
39
36
5
0
0
0
-19
-7
-22
26
15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
29
28
51
0
0
8
6
71
-4
-11
-54
-11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
44
-8
6
-7
0
0
0
33
8
71
45
-19
10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
0
0
0
0
0
-27
6
-30
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-9
-25
-9
0
0
0
0
44
-42
-29
-5
-4
2
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
0
32
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
30
-72
18
0
0
0
0
0
-44
73
-60
-53
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-28
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
44
23
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
17
28
0
0
0
0
0
-67
34
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-72
-32
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
13
-13
24
-10
-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
-13
0
0
0
0
0
0
0
29
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-9
-21
0
0
0
0
0
-69
15
-63
35
5
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
-6
1
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
29
-17
-32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
13
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
6
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
8
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
8
78
0
0
0
0
0
0
0
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
-1
-13
0
-2
0
0
-3
0
-13
-6
1
6
39
-4
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-14
-2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
1
23
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
-8
1
-28
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-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
10
0
0
0
0
0
0
5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
8
0
0
0
0
0
0
4
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
25
-1
-1
8
-8
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
26
-29
-45
-14
3
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
19
-49
-36
0
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-30
0
-9
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
5
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
1
-2
1
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
6
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
42
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
55
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-34
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
38
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
4
0
0
5
0
0
-5
0
0
-13
0
0
47
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
9
-5
0
0
0
0
0
-27
24
-40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-7
8
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
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
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-36
4
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-3
0
-2
-1
-18
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
0
0
0
10
0
0
0
-1
0
-5
0
0
4
0
6
-1
-5
-4
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
-8
3
-93
-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
2
0
-33
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
5
-18
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
0
0
-2
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
-12
0
0
0
0
-5
10
-7
13
-26
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
10
0
3
0
0
0
0
12
2
4
-8
10
-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
9
0
0
0
0
2
2
-10
4
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
118
-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
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
24
9
-22
-3
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-4
0
0
0
0
0
-3
0
15
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
18
-1
0
0
0
0
0
56
27
-91
16
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
-5
0
0
7
0
0
-12
0
-3
-14
0
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
10
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
5
0
-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
7
0
0
0
0
0
0
-5
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
23
24
-2
-10
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-5
-2
0
-4
3
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
1
0
0
0
0
0
0
-5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-2
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
13
4
28
5
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
11
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-5
0
0
0
0
0
-42
9
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-7
-4
0
0
-8
0
0
-5
-2
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
0
-3
0
0
0
0
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
2
0
0
0
0
0
-13
0
-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
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
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
0
0
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-4
0
0
0
0
0
-43
34
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-10
13
-3
0
0
0
0
0
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
0
-30
-8
0
0
0
0
0
14
19
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-4
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-5
-8
0
0
0
0
0
5
0
5
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-40
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
6
0
0
0
0
0
4
50
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
-3
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
18
0
0
0
0
0
-3
-5
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-10
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
15
0
0
0
0
0
-14
2
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
27
14
1
-19
-21
-31
16
-19
7
-6
0
22
0
32
0
-13
4
-2
9
0
-4
-1
0
-6
4
11
0
0
0
0
0
-13
0
-9
0
15
0
47
0
57
0
10
0
0
0
0
0
-1
0
12
0
43
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
21
6
-7
-21
0
49
106
79
92
94
0
0
0
0
0
0
0
11
32
-14
69
6
-4
2
9
8
1
1
3
0
0
36
49
26
4
3
-16
-14
48
-13
0
0
0
2
-33
0
0
0
-5
-7
-14
-1
0
6
-3
-15
0
0
-5
-2
-8
-4
-4
6
-2
0
1
1
1
0
-4
0
0
6
3
-3
-1
0
3
0
-2
-1
-3
-4
-35
-1
0
-1
9
-35
-16
0
-24
21
-8
-80
-49
-29
111
-30
-34
0
-18
9
-23
-151
-127
-17
-10
-5
-34
7
-2
33
0
-26
0
46
-11
-2
-26
2
18
23
0
-19
14
21
1
0
-6
0
27
114
-1
-4
12
30
51
5
0
31
27
-20
7
16
0
63
34
13
2
32
25
47
6
9
31
30
40
1
0
1
0
0
-4
0
0
0
-1
0
0
-1
0
0
2
2
-1
0
11
1
0
0
0
-1
1
-1
-3
1
6
1
4
0
6
-3
4
-1
4
-1
13
1
2
2
1
-11
-238
-1
0
0
-49
-136
-58
-2
0
-63
-97
-178
-90
-66
-17
-69
-41
0
-55
1
-80
-218
-82
-173
-33
-72
-46
-39
-38
-18
-1
4
0
-3
32
-5
-14
5
-5
-12
1
-4
-9
9
-8
4
12
0
2
33
12
8
1
25
-23
7
9
8
59
53
14
12
0
47
-10
30
13
30
78
52
6
22
52
47
90
-14
0
0
0
-55
6
0
0
0
4
5
-33
-54
6
-5
-12
23
0
18
80
21
29
39
30
15
12
0
16
30
57
93
192
0
80
-34
56
47
84
83
-10
8
112
150
171
13
-77
0
0
0
-2
14
-1
0
0
76
-30
-23
-21
-24
31
-60
-32
0
0
28
12
-2
-6
6
-16
-16
-60
-60
-69
-26
-3
53
0
-74
8
10
3
-4
-78
84
-15
-25
-60
-1
36
-50
-34
0
13
-5
14
-11
21
-107
-15
-29
-1
-6
21
-33
12
50
0
20
0
38
8
0
37
1
32
35
57
-21
-2
-16
-2
-4
1
1
1
5
16
23
3
9
5
0
1
-8
-8
-3
-5
-30
21
-10
-31
60
-51
-34
-11
-4
0
-118
4
-31
-39
-77
-31
-3
13
0
0
0
-9
16
62
-38
6
-2
-5
-60
9
2
4
-3
0
0
17
-1
-3
-45
9
-12
-49
-12
4
-18
15
-4
8
13
-2
0
-8
17
-36
8
-1
-10
0
0
3
22
-20
30
16
9
-5
-1
0
2
9
20
0
-6
18
-1
0
0
0
0
-14
-6
-2
-21
1
39
0
7
2
-13
-8
-1
3
2
-17
1
3
-12
26
-19
17
11
-35
0
-3
-14
-29
-24
-35
-9
3
-4
0
0
0
-3
-14
69
21
6
0
0
0
0
0
-17
70
5
41
1
-64
0
0
0
0
0
0
0
0
0
0
-112
-49
9
123
204
-65
18
-31
128
196
-41
14
31
92
148
-122
-34
37
77
138
-62
-46
2
30
31
-56
-23
-15
-25
-30
0
0
0
0
0
-183
-86
-1
3
5
-5
-11
-13
3
6
-68
-29
7
37
46
-84
-8
10
11
46
-101
-33
-7
9
27
-4
-22
-10
-2
-8
-26
-7
-24
-15
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
-23
14
56
96
82
13
0
0
-141
3
4
47
83
14
0
0
0
-94
-50
11
49
100
23
0
0
0
-108
-24
-2
38
59
64
0
0
0
-29
-16
-32
-16
3
-3
-27
-31
-64
-19
-20
-20
-21
-35
-30
-29
-44
-64
50
36
19
5
2
5
0
0
0
-73
-57
8
12
60
16
0
0
-38
0
24
24
23
7
-2
-11
-13
-57
0
-80
-71
24
-11
-7
-27
-22
2
0
0
-77
-22
-5
16
-4
-36
-13
-37
-25
5
15
21
15
5
-7
-64
-6
42
48
-17
-9
-3
-7
-14
-32
32
-18
-5
-6
-10
-6
-7
-27
-20
0
-24
-58
-5
-31
-4
5
3
-34
-55
-50
-44
-19
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-9
-24
5
-14
-32
-2
-18
-1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
49
2
5
-31
-26
-20
4
-96
35
-43
-79
-49
1
-20
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-23
57
43
3
17
-29
-16
23
-39
-73
8
-10
-17
0
11
47
-53
-45
-75
-27
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-1
13
6
1
-13
-21
-9
-4
-36
-15
8
-4
13
5
3
-42
11
-18
7
-9
-24
18
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-29
-6
-3
-13
-8
-5
-21
-12
-3
-23
-3
-10
-5
-4
2
-1
0
5
3
32
10
28
0
26
8
-10
-5
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-35
-19
-4
-9
-16
-4
-11
1
-4
-7
-1
-2
1
3
5
10
12
3
7
9
-11
-2
11
26
5
54
39
17
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-32
-30
-4
-4
2
-1
-1
-1
-1
1
-3
1
-1
3
1
-1
12
19
22
23
34
20
37
19
12
32
66
2
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-40
3
-23
2
-17
2
9
-1
3
0
3
1
6
8
9
16
20
15
12
17
24
29
32
42
78
53
112
-21
31
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
0
0
0
0
0
0
23
-48
-10
-50
12
-14
4
1
-2
1
-5
-1
0
8
7
11
13
13
16
13
7
10
17
5
18
39
30
16
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
19
-40
-42
-5
2
-2
13
1
7
2
6
0
11
-1
-3
5
2
6
-5
-21
-1
50
59
-13
24
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
19
-20
-34
-38
7
-2
10
6
5
-5
-1
-9
0
-8
-1
-19
-56
4
-25
-48
-8
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-34
15
16
2
2
9
-6
-1
0
-14
-8
-21
-33
-43
-27
-4
62
33
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
-35
-1
-38
-6
-14
-87
-50
-37
-62
-43
-16
-50
-5
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
-1
-5
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
8
4
3
-1
-1
0
-2
3
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
-5
-3
-5
18
-19
-5
70
-2
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-7
17
14
-19
-8
-8
1
13
-3
-8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
4
0
0
3
2
4
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-4
-1
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
3
2
1
8
25
1
4
2
6
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-8
19
6
-13
-23
-15
-14
89
-24
0
6
3
-5
1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
8
0
-7
-31
7
9
-5
0
-41
3
-2
-2
18
-3
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
7
2
-2
0
-5
-7
-2
13
-16
5
-1
7
-10
5
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
1
5
-6
-3
3
-1
-9
-8
3
13
-15
-1
-2
-8
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
5
-7
-12
7
-1
-8
0
6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
2
16
-8
20
5
0
-8
-6
8
-8
15
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
-6
8
-25
15
17
30
14
-24
3
-14
-10
-3
-1
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
5
-5
-5
13
5
-15
7
6
-10
-1
-10
-13
31
3
3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
2
-3
3
-7
-25
6
-9
3
19
13
-2
4
7
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
1
8
-6
0
1
-2
-2
2
-1
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-3
9
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
1
0
0
8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
0
-7
2
0
6
7
5
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-1
12
-14
0
5
4
-10
-2
-8
15
25
-1
8
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-10
19
-3
-13
12
-20
-19
-1
-7
-25
-21
-17
22
-8
-9
3
8
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
30
-15
41
43
-27
-3
-19
2
41
-12
45
14
9
32
-8
3
-3
5
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-5
7
-13
-8
6
-25
-8
-3
25
-2
3
-2
5
-9
-1
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
-2
6
0
-2
-1
-13
-2
-13
5
8
-2
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
0
4
-2
0
0
0
-4
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
-1
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
3
6
-1
-9
0
3
4
-12
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-7
-3
19
5
-7
8
-4
-19
8
8
6
7
-4
-2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
31
5
-31
-10
10
0
19
17
-25
3
17
-19
-3
12
-12
-19
0
2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
4
12
-5
18
23
13
-25
2
31
-2
16
23
16
14
7
2
-14
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
1
9
6
8
-19
-8
7
-5
38
-3
-14
-14
-12
-24
8
31
-1
-2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
9
-14
5
3
0
32
2
50
-20
34
-8
-5
-19
-8
-5
2
-5
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-7
-3
-24
5
13
-1
7
-2
17
13
-9
-1
14
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
1
1
8
-2
-2
-1
1
1
12
-8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
-1
1
1
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
10
-10
6
-8
4
8
6
-14
-4
2
0
4
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-3
-6
27
20
-23
-18
8
-13
-12
-8
-27
-8
16
22
6
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
-3
10
-35
-28
-39
-29
-26
-9
45
7
-8
10
-37
12
32
-50
10
5
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
26
14
10
-113
-33
50
-23
-2
12
-42
-42
-78
15
-31
13
34
31
21
-25
-1
-25
13
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-25
-3
3
-3
63
-25
-31
-42
35
-8
-7
31
-14
-22
3
-59
12
-33
-12
-13
10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
8
-42
54
-37
-30
-10
-39
29
22
-80
-44
-20
4
49
-8
5
36
23
31
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
17
-5
39
11
-40
-22
-32
-31
-40
-82
15
40
-14
-28
4
11
80
-8
-6
3
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
15
-24
-44
7
13
88
-16
4
12
-64
-2
-13
-6
-4
20
-35
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
2
-13
3
-5
21
4
33
-19
-1
-6
-24
-8
-15
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
1
2
0
-2
-1
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-4
1
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-4
7
-7
2
8
9
22
19
-21
-12
9
-2
-14
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
50
-33
29
26
-32
10
0
8
-28
43
21
-8
29
20
-10
21
-13
-10
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
9
42
9
-26
-6
42
-28
-6
-30
-10
-29
26
22
-8
-10
13
13
2
44
17
14
5
0
-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
0
0
0
0
0
0
0
0
0
0
2
4
42
16
-44
-38
36
57
-12
-28
-26
19
-60
35
9
-34
-20
3
0
15
-15
23
23
51
8
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-20
6
31
16
26
15
-13
57
-40
-42
66
7
5
36
23
50
36
48
59
-9
35
51
56
0
58
41
13
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-7
24
33
22
-10
66
21
53
17
27
86
58
23
7
30
3
23
9
4
36
2
3
55
5
81
-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
0
0
0
0
0
0
0
0
0
1
42
-44
-24
-28
-22
-58
56
-30
23
8
16
52
25
-14
42
-19
3
24
17
-30
49
19
7
12
-1
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
21
-13
-7
-9
2
-24
0
12
22
22
17
23
25
49
1
22
-1
50
15
-25
10
46
-2
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
0
0
0
0
0
0
0
0
0
0
1
0
0
14
-8
-22
-44
-51
29
-49
12
0
11
14
-7
15
0
-15
-55
31
8
-54
14
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
37
8
-42
2
-60
-7
-7
-6
-37
46
-58
-17
0
42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
-7
2
17
-5
4
-21
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-22
31
-41
-10
-8
-52
-24
-14
-98
-43
2
-20
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-14
-30
12
-45
-45
-57
-81
-18
-81
-28
-16
14
-41
-41
-38
-68
-19
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
-3
5
-46
-44
-48
-40
-28
-136
-72
-65
-44
-24
-34
11
17
-6
3
28
-1
-23
13
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
5
-24
-14
-97
-51
-103
-44
-44
-61
-24
-14
-20
2
4
15
-5
11
-7
3
-3
-19
4
-17
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-51
14
19
-43
-28
-46
-16
5
-30
-31
-11
-3
1
9
6
8
10
10
17
17
40
-13
-7
10
38
24
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-63
-20
-38
-30
-19
-5
-34
-5
-11
11
4
-1
4
18
12
8
16
22
8
17
6
-6
28
55
22
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-43
-58
-11
1
-25
-15
-10
-8
4
0
8
4
-1
13
8
12
1
16
21
20
19
21
14
-16
19
6
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-34
33
-77
30
-6
10
2
1
3
6
-2
6
11
11
7
8
16
14
10
6
2
11
38
27
19
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
3
-93
18
1
11
12
2
5
1
-8
-1
6
-2
10
6
-5
0
-20
-18
10
30
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
61
-7
26
46
13
10
16
-1
-3
-10
-2
-10
1
-11
-9
11
-51
9
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-29
-5
-6
2
0
-5
-9
-2
-7
-1
-27
-20
-25
29
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-14
-35
-27
-24
4
1
-25
-28
-2
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-5
-24
5
-10
-20
-5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
50
11
-4
-50
5
26
22
-43
66
-21
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-23
55
61
49
-21
-37
-2
43
-38
-29
-9
96
30
14
3
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
5
-30
-14
-5
6
14
-5
-21
-13
10
15
22
41
19
41
-28
-12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-20
-57
-12
-14
-13
-10
-3
3
-15
-15
3
0
4
5
5
-18
-33
56
13
70
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-45
6
-14
-26
-4
-6
-11
-5
-3
-3
4
14
9
3
14
-10
-11
-5
78
-2
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
-2
-32
-6
0
-3
4
2
1
7
-4
-1
11
11
13
1
12
-35
-3
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
15
-9
-6
12
13
-12
-3
-9
6
5
7
2
4
10
12
3
-39
-15
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
58
8
-15
39
-51
14
-52
-65
-52
22
-42
22
41
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
-15
-12
-7
0
-9
-6
-7
-39
-22
-13
-6
-1
1
1
15
13
8
-7
-46
-21
-14
-16
-9
-1
-4
-8
-51
-30
-12
-18
-8
2
-2
-33
-76
-44
-35
-27
-15
-12
3
13
27
27
38
51
50
102
4
-6
0
0
24
-32
-24
-19
0
1
15
2
6
2
6
-7
-11
-62
-8
0
0
0
-21
-11
10
22
-9
-28
-41
-11
7
0
3
8
0
-9
5
0
0
0
0
-29
1
0
2
-2
-1
-9
5
8
-49
-53
-31
19
-7
-16
-9
-12
-2
-20
-10
0
3
3
-3
0
-10
13
18
27
45
87
-11
34
-12
-3
-4
-3
4
0
-6
-7
0
0
-4
-16
13
-5
-12
-19
62
11
16
-2
7
-2
1
-2
-4
8
-2
18
18
-18
-34
76
-8
30
29
10
4
12
6
-2
-19
4
0
2
-5
-3
-83
-9
57
39
47
35
9
7
13
1
-2
-8
-5
0
0
3
-12
-6
-29
14
45
25
47
12
20
5
8
-13
-2
0
0
0
0
8
8
17
-32
31
55
26
27
40
37
-5
-10
-17
-3
0
0
0
-2
-1
-1
4
-5
7
68
66
11
53
-38
-24
-33
57
-3
-20
5
-7
20
33
28
-7
0
-144
-20
-17
-7
-9
7
4
12
-17
-1
13
-29
50
11
25
26
0
-61
-28
-7
-2
3
3
8
-2
-5
6
19
-4
-12
-5
45
-1
-19
-67
-13
1
-2
-7
1
-1
-1
-3
33
3
-14
-21
-56
36
-25
-8
103
-1
3
5
8
6
1
6
-6
-13
31
-3
-2
39
31
-4
0
16
-9
6
5
8
-1
0
7
-13
-13
15
-13
-14
-7
37
24
29
-8
29
20
17
14
-5
5
-15
-7
-34
2
-26
-3
-9
2
17
44
55
-6
8
-1
12
-13
-8
5
0
-23
-2
20
-13
8
-10
7
28
28
-9
-14
16
2
-1
-10
15
0
2
0
-4
4
9
22
-18
60
31
-49
48
6
32
1
-6
8
33
-4
14
-23
-4
-31
-3
0
0
0
-59
39
49
-9
72
2
-65
29
-49
-64
-63
4
-47
61
8
-14
6
13
-13
-35
-29
-22
5
3
4
23
-43
-2
-102
-58
55
-14
-30
-24
-18
-11
58
30
-30
19
-49
56
25
12
40
-43
-58
76
-38
16
48
19
18
23
36
-9
-16
37
-19
56
74
47
87
46
-6
14
41
42
19
-33
-7
2
20
29
-4
-3
16
-14
53
-22
-22
5
18
12
44
13
14
-5
-33
55
-31
-7
5
88
5
19
-57
27
38
70
0
-1
7
10
-4
-5
-25
16
9
4
25
69
23
62
59
33
28
9
-16
-2
24
4
-12
18
14
38
0
4
20
-2
15
13
-41
-47
-12
-3
43
-39
20
79
-50
66
91
55
-8
44
-82
-42
-2
-5
15
0
-26
25
18
-32
9
-11
-50
-28
19
-13
3
-38
-15
-5
-13
36
0
8
-23
-11
-13
-38
7
24
45
22
24
-43
30
-95
49
-26
26
11
49
-4
-17
5
6
57
-15
-10
36
3
-49
-24
14
-29
6
9
20
3
-2
-5
-10
17
-14
15
-11
1
-38
13
-48
3
-31
-21
25
32
9
-6
44
32
40
-6
36
-13
-8
19
23
20
31
-5
47
43
37
-12
-10
-29
-6
-3
19
-11
55
-31
-22
-13
64
48
-21
6
37
46
11
81
30
6
-19
-38
-13
-23
6
-6
-59
-38
2
9
22
22
34
40
21
22
-30
10
29
39
9
10
-4
4
-8
29
12
-19
-5
63
-2
47
32
59
40
12
-24
13
-9
27
12
-5
9
15
-3
-13
0
15
-24
-28
-37
-1
-31
-1
0
38
55
-11
0
4
0
11
18
8
-5
5
30
45
-28
-8
1
0
26
19
19
9
-1
-7
-2
11
9
12
-12
-67
39
9
5
-5
3
37
23
0
5
-1
-1
1
-5
-3
-1
-28
15
55
-17
-23
1
0
-1
55
26
12
7
3
0
-5
-5
-9
14
-25
-12
-15
3
0
0
-5
44
24
23
22
5
4
1
-3
-24
-24
-13
-17
47
1
0
0
43
51
32
15
22
4
2
-4
-1
-11
-13
23
-13
-28
9
1
0
103
-3
10
32
55
15
-2
0
-20
31
-43
2
3
-3
-9
0
0
26
140
-7
70
-86
3
-3
6
16
-42
51
-5
-12
0
1
0
0
43
-10
29
-5
3
-11
-11
1
0
8
-1
84
-7
5
50
-14
0
19
8
66
-8
-2
-3
-11
1
0
3
1
34
-24
18
71
-7
-1
67
17
5
19
1
2
-8
1
1
12
-1
22
17
-35
46
-1
0
44
-17
9
-14
-16
-1
2
-2
-1
6
-1
-11
-1
31
17
-8
-1
34
-20
37
-6
9
2
11
1
-4
2
-9
6
-11
25
14
-42
0
32
20
26
7
-20
8
13
4
2
7
-4
8
29
29
-43
-31
0
54
-12
10
-19
-6
8
3
1
3
-6
-13
30
6
-16
-18
-19
0
-9
-20
-52
64
12
17
5
0
-2
-26
25
-28
33
0
-16
-2
0
66
-4
-3
46
0
-5
-20
-5
-12
23
-2
18
1
0
0
0
0
51
60
-17
33
3
27
35
-4
0
47
31
29
10
39
27
16
0
101
15
10
-54
0
-1
29
11
17
-10
-20
-50
-22
50
-11
-3
-5
-30
39
40
-4
-12
-8
-73
14
22
34
33
13
1
16
-3
-16
1
74
49
-6
9
13
-29
23
4
-7
-46
6
5
-18
-6
13
5
-1
-26
-7
34
27
-26
1
-14
4
20
25
26
-15
-5
-8
2
4
3
25
19
23
25
45
7
-16
-19
-22
25
86
22
13
24
0
0
0
71
56
23
7
5
17
-8
-26
-4
-8
-26
-23
11
8
0
0
0
34
17
34
10
-6
-14
-26
-12
16
-30
0
-10
-11
-1
0
-1
0
1
56
-19
16
30
51
-57
-90
-22
36
31
25
-3
-3
2
0
0
68
40
53
20
34
14
3
-70
0
-3
73
-28
28
-5
0
2
0
50
-8
6
49
9
-18
30
22
4
-12
66
1
63
31
-4
3
0
42
5
-17
-13
15
28
-25
19
60
-15
40
28
74
3
-2
3
0
1
-14
6
-2
38
-12
-12
-14
5
13
-2
-7
5
-4
-1
4
0
-7
-5
-11
41
-9
43
34
-8
-13
13
25
28
1
6
-4
4
0
23
20
0
29
16
-26
-9
38
-14
52
5
15
-5
9
0
2
0
25
57
-8
-8
11
-7
-38
-29
50
-9
-9
7
5
5
0
2
0
-4
13
43
7
34
-16
-19
55
-22
-50
38
17
2
4
-2
0
0
-14
13
48
13
-67
15
4
-23
20
-64
5
1
0
1
5
0
0
0
0
5
13
24
8
81
-18
0
78
26
9
3
15
0
-4
5
-3
-1
5
17
2
-71
-80
0
-9
7
6
1
0
4
2
-6
3
0
-2
9
48
-69
3
-54
31
46
16
0
0
6
9
14
-6
-1
0
5
13
-20
37
-31
-38
-7
36
24
10
5
15
15
13
6
2
0
5
-6
-11
-16
19
-19
-18
-16
-2
18
-4
5
15
7
9
3
0
-5
10
-26
48
-7
-29
7
3
-20
7
14
-13
7
3
-5
15
1
19
-5
18
-5
40
36
22
20
6
2
6
-4
-12
14
-17
2
1
1
23
-9
-17
15
-26
44
-8
14
-6
8
-4
-15
30
-20
76
0
-1
0
-2
-3
-33
24
41
-71
7
-5
-20
-10
-27
35
29
0
0
-17
-14
32
-13
4
-105
-8
0
-9
-6
-2
-2
-11
-10
-13
8
1
6
-28
16
11
14
34
15
70
0
16
-9
-2
-3
-3
-4
24
3
-18
-2
-10
-41
54
-14
22
49
3
-16
-8
0
13
6
-3
-4
5
-5
-5
-6
-4
39
-10
36
-7
-20
21
10
-5
4
5
-3
-10
0
18
17
-20
-16
4
-9
10
-4
36
11
8
11
-1
7
-8
7
1
-1
16
3
-18
22
62
27
-12
-23
3
11
4
10
4
-5
22
0
0
-2
-29
49
4
-9
6
-19
7
4
25
-8
-2
-4
22
5
0
0
0
-3
0
16
29
9
-68
23
81
11
-11
-4
-17
6
-70
0
0
0
0
1
1
37
-7
13
23
-37
28
-37
-31
0
-14
-29
-1
-5
32
-49
19
-27
30
12
0
-7
19
8
23
19
30
-21
44
-4
25
-30
-58
-30
-100
66
0
24
9
2
-4
16
1
16
-25
57
8
-44
-13
-8
-31
7
-17
22
53
2
-3
5
12
19
11
5
7
8
29
-1
-78
31
71
-27
61
6
18
18
17
21
21
26
-12
26
-2
-4
-4
-10
23
-98
-65
12
39
27
24
-1
10
19
60
69
-14
19
-17
-10
-74
-28
50
6
7
3
35
27
35
43
15
15
-26
21
-57
-13
-13
29
-52
-108
-27
58
5
29
45
-30
1
22
51
-43
-68
-14
-5
0
-22
25
-24
30
17
0
14
26
51
-29
77
-56
26
66
-1
-24
-28
-49
3
20
8
-46
16
61
38
-21
-58
79
-5
3
0
8
33
-29
-27
6
55
-25
12
0
10
35
-5
3
29
45
20
10
1
-4
-8
-39
-19
-111
-12
13
57
0
31
-35
24
16
33
7
44
-13
10
36
-13
-36
-1
14
-7
21
34
-2
-29
-13
8
30
-3
5
-17
2
44
37
48
44
-26
54
78
43
35
-2
-36
27
17
-4
29
-8
-104
39
-5
-94
-10
3
20
1
19
9
7
28
-10
14
37
-54
0
6
-37
-20
49
55
-12
31
17
44
9
33
17
4
27
20
-37
-1
1
0
-24
55
46
16
-8
32
24
52
-11
-12
-6
-11
-10
23
0
-4
33
13
34
52
40
33
-10
48
3
-12
12
-11
29
-21
-55
0
0
-7
8
-42
-15
28
-40
58
-15
-7
-27
-75
-3
16
-102
-31
-33
13
-14
-16
4
0
-5
11
0
1
28
-26
-26
1
-2
-2
0
-5
41
-22
-14
-3
0
1
-3
6
-5
14
13
11
2
0
-16
0
-14
-14
12
7
0
1
-1
17
3
-2
12
-7
-35
13
-15
-3
0
16
10
18
10
1
5
14
15
1
-3
-2
-26
-6
-10
10
0
0
15
22
25
14
-2
15
3
12
-6
4
-18
-35
-23
1
0
-1
0
17
42
31
1
14
3
12
1
8
-9
0
5
-21
-1
-4
0
0
-14
-12
23
16
7
4
9
18
-3
-20
24
-68
-8
-4
-1
1
0
10
-53
-16
13
-7
-1
-6
9
37
-17
-105
-8
-8
-2
1
0
0
-31
-71
-6
3
7
-6
16
8
13
-30
-1
0
0
0
0
0
0
-2
30
-18
-6
2
1
17
11
0
0
-6
12
11
-49
20
-1
0
-11
11
-21
-10
4
3
1
2
5
-27
-17
-58
22
-5
1
0
1
42
21
-16
-8
-8
12
6
5
2
5
-12
56
-51
-26
1
1
0
-4
2
-2
-6
-1
-3
16
9
10
2
-23
-61
13
-16
-22
-2
0
-22
-13
-10
-11
2
27
15
11
-1
20
-8
-11
-22
-4
-31
8
0
-36
19
1
31
34
11
34
25
4
4
7
17
54
-5
-17
-9
0
-13
-26
-21
-31
-17
18
13
3
3
-18
-5
-22
-3
-8
-2
-2
0
0
-9
-57
0
-21
28
42
2
18
-13
58
13
-5
-8
2
0
-2
0
-53
-2
152
7
13
42
14
16
1
60
-5
0
0
0
0
0
-61
36
22
15
-9
-8
18
52
0
-41
31
10
-8
1
0
0
0
12
-1
17
5
-2
4
-3
-10
19
34
-12
19
-27
-41
1
-3
1
-1
12
6
54
14
-3
-19
29
-17
-9
21
-22
-8
-12
1
3
0
-16
17
9
8
4
-14
48
36
17
15
-24
-50
51
0
-2
1
0
15
5
8
16
26
23
-8
31
1
7
8
-6
-33
-3
1
0
0
-18
2
6
22
-1
11
26
29
8
-15
-39
-13
4
4
0
0
0
22
-7
-27
11
35
-19
27
42
45
-46
-50
13
5
0
0
0
0
72
-29
9
9
-18
2
52
36
25
-5
-8
0
0
0
0
0
0
38
-24
4
-14
7
5
-77
-2
-5
9
2
0
0
0
0
0
0
53
32
31
-1
3
6
36
17
0
-1
17
1
2
-31
-14
0
0
107
20
51
33
-4
-8
-11
13
17
-40
-44
71
53
61
-14
0
0
16
-37
37
37
11
24
7
5
10
-15
13
-49
40
-3
29
0
0
19
21
15
28
-16
3
42
35
33
25
-29
-15
-4
5
6
0
0
56
-12
16
29
33
21
23
1
43
-5
-2
-88
17
10
-6
7
0
-4
26
7
16
25
54
27
13
13
-19
33
-24
-21
50
13
22
0
-33
34
20
48
36
38
15
28
14
13
-60
68
-19
-63
54
15
-1
8
28
-7
85
40
-10
-12
-26
38
8
30
27
-24
-17
-29
11
0
0
6
69
-1
-31
21
51
-29
-26
84
69
-7
1
2
-5
-1
0
0
-81
96
109
42
-12
-8
-18
-16
-31
-32
-14
-22
-23
-3
-14
6
-6
-19
-61
-6
-3
24
5
4
6
3
-39
-27
-5
6
-20
12
11
4
7
-43
-44
-4
-2
27
-32
15
-3
6
-56
-11
-14
24
-10
13
-6
-3
6
-29
0
-38
-48
24
1
-5
-6
19
-56
-39
-22
-10
-30
-48
-2
-4
38
-10
11
-6
-14
-20
8
-24
9
35
-22
12
-13
5
-8
-11
-5
30
33
46
7
12
40
18
17
1
-16
-10
25
46
-13
-11
14
-14
-16
-11
0
-24
37
27
38
-2
-18
-19
1
-4
29
18
27
-10
23
9
-5
2
2
1
33
10
-1
2
23
6
2
12
66
-10
8
23
-20
11
4
5
1
44
19
12
-13
-14
-27
13
2
18
-3
-3
5
5
-23
3
-25
11
28
20
-18
36
-6
2
-10
-5
-21
34
-23
0
-11
-12
-2
-3
-2
25
16
91
67
32
13
0
0
0
0
0
0
8
33
22
-2
6
-6
-10
-25
8
-2
-37
-34
0
0
17
26
23
-18
10
-34
-10
-3
-38
0
0
0
-4
-16
0
0
0
-4
-2
-4
-3
0
2
0
-10
0
0
-3
2
-9
-3
-1
2
1
3
-1
-1
2
1
0
0
3
8
6
3
0
3
6
2
4
4
3
-3
-51
-135
0
-21
-3
-79
-193
-87
-123
7
-9
-17
-22
-1
-5
-43
-180
0
-76
6
-25
-179
-110
-82
12
-10
-16
-16
3
5
0
-99
0
-11
43
-7
-55
-4
-11
21
0
-2
-4
7
19
7
-39
0
15
35
0
-13
3
10
31
4
14
25
17
12
20
26
0
28
-42
9
11
43
28
60
11
22
27
17
99
4
0
-1
0
4
-5
0
0
0
1
-1
-8
1
0
2
12
3
1
1
13
4
7
6
3
11
6
4
1
5
2
8
3
0
14
37
7
5
8
10
30
4
5
7
6
10
-209
-124
0
-64
-95
-175
-419
-165
-51
18
-45
-35
-106
-39
22
-79
-232
0
-257
-19
-68
-278
-231
-284
-20
-34
-55
-67
-50
-18
9
-23
0
-31
25
5
-54
-37
-54
35
12
2
4
8
8
66
44
0
68
89
50
16
23
63
99
20
41
79
78
37
65
106
0
144
-20
71
42
69
110
44
41
68
55
79
203
-49
0
0
0
-33
-12
0
0
0
-23
-17
-44
-38
-28
-14
-31
-11
0
-2
14
0
-7
-3
-12
-36
-20
-28
17
-21
-40
46
99
0
-38
-4
-15
-8
54
11
-3
2
-18
13
13
11
-74
-71
0
5
-88
-14
-23
29
-10
-6
2
-58
-41
-50
2
-86
-41
0
-42
-43
-31
-19
-131
-43
-28
-18
-59
-50
-53
-23
-93
5
0
-18
-64
-57
-19
-13
-60
-25
-38
-57
-37
-52
-13
-66
-9
0
46
-77
-55
-36
-45
-32
-71
-43
-35
-59
-20
22
-39
-131
0
53
0
-5
-22
8
10
-2
-15
-2
54
-47
-5
-9
-3
-5
-2
0
0
2
6
23
-5
-5
0
-1
-4
0
4
3
16
-23
-8
32
9
2
-17
5
1
-7
0
-16
7
9
-12
-9
6
14
10
0
0
0
-52
38
-32
-11
-7
20
2
-116
1
2
-10
-7
-16
0
26
-6
-7
-15
20
28
29
-16
-18
4
-28
-7
12
-5
-17
0
27
31
3
-7
1
-35
81
15
-17
-49
-21
6
4
-5
-18
46
-21
-2
8
13
-8
-6
12
-8
-2
-18
13
-22
-24
9
-18
-13
5
15
8
-5
2
-13
-1
-2
2
-2
-53
-12
8
-12
10
-5
-8
32
5
-13
-40
-51
-12
-33
-41
-7
0
-11
-7
-25
-40
-61
-75
21
-26
-2
0
-5
48
-14
-19
-85
-22
5
12
-18
-47
0
0
0
0
0
0
0
0
0
0
-80
-102
-52
47
127
-93
-49
-25
73
90
-84
-57
-36
24
78
-126
-65
-51
29
100
-49
-50
-20
-4
-4
-20
-21
-29
-29
-45
0
0
0
0
0
-80
-45
-6
9
17
-5
-2
0
3
9
-55
-17
-17
18
34
-56
-11
-11
3
16
-38
-30
-10
5
12
-29
-33
-10
-5
-23
-12
-5
-27
-20
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-49
11
52
68
95
47
0
0
-90
-34
-3
18
77
8
0
0
0
-105
-45
7
38
40
3
0
0
0
-105
-59
-10
24
24
42
0
0
0
-35
-34
-23
-21
-22
-28
-91
-62
-87
-16
-9
-22
-51
-47
-55
-72
-58
-81
25
11
16
9
6
5
-1
0
0
-122
-103
-33
-20
-5
-5
2
-4
-3
0
13
14
16
-5
-6
14
3
-14
0
-110
-57
-14
-6
-3
-19
-35
-11
0
0
-85
-12
8
0
-8
-15
-17
-92
-40
-23
-10
0
-4
-3
2
-36
-23
-8
-1
-24
-17
-15
-25
-38
-45
20
-10
3
-45
-31
-23
-38
-22
-28
0
-20
-30
-26
-19
-4
5
11
11
-12
13
-11
-56
-152
-28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-92
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-22
-11
-15
13
-69
-40
10
-46
-65
-37
-96
16
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
14
-50
-15
-16
-73
-22
-44
-60
-34
-21
-66
1
-76
-21
-82
-65
-71
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
12
51
5
-45
5
-10
-28
-22
-36
-5
-15
-13
-40
-50
-22
-10
-39
9
-6
-33
41
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
30
-3
6
10
5
5
-20
3
-8
8
-3
-13
5
-15
-11
-35
-25
-23
-33
-57
14
-50
123
48
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
24
32
32
18
18
8
25
-3
0
-5
-22
-8
-12
-9
4
-6
-15
-14
14
-12
10
3
39
-12
82
38
49
45
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
8
36
5
54
11
4
-6
4
1
7
3
12
2
13
0
-2
15
3
-8
16
21
-4
-36
30
26
97
-41
-12
53
69
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
55
60
28
2
1
25
11
6
26
14
16
18
17
17
-1
9
9
20
13
47
27
14
-1
16
-17
0
29
-4
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
19
-31
48
70
-1
6
7
-9
7
10
15
6
27
24
23
36
23
42
48
28
61
18
28
70
92
89
6
85
48
37
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
27
148
-3
-20
70
-2
45
30
11
18
23
45
46
46
19
29
26
29
4
44
38
65
-5
67
28
-31
72
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
7
29
41
67
-27
24
46
8
31
40
61
57
30
21
42
51
20
-20
44
49
117
51
55
37
59
14
38
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
41
-51
21
66
6
8
44
43
21
49
50
59
45
-8
57
59
113
52
77
23
-62
-49
-20
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
14
8
91
-42
3
29
111
42
55
47
23
82
63
163
46
41
-37
36
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
4
26
4
-31
-31
22
58
43
21
15
-16
12
-3
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-8
-25
-24
16
-33
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-23
-6
-44
-111
-58
25
-57
13
47
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
57
-68
10
43
47
-79
-94
97
34
52
14
59
-4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-54
159
47
84
8
17
40
21
-70
106
165
5
10
31
-40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-34
140
13
-11
39
-26
-46
-71
-18
50
46
80
-53
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
40
-30
-3
-9
-22
-48
53
-10
15
13
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-8
-22
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
-9
5
5
2
-7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-7
-44
-137
5
-2
3
-81
-34
-39
5
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
97
1
-6
-81
12
63
46
40
33
-20
22
51
60
34
-5
32
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
66
9
49
60
51
47
61
81
-4
54
52
86
-95
72
20
57
-18
47
-25
36
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
2
-22
-2
60
0
-94
-45
7
95
-25
-96
-10
21
31
-92
102
-56
-33
-15
-6
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
28
-53
-41
75
27
-32
-6
25
23
68
60
-11
86
59
-14
-70
-45
-72
14
65
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
5
-25
3
-4
-42
98
25
-51
-54
-45
-55
25
52
-17
-1
-17
-6
-34
-5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
22
0
-7
-9
34
18
17
-25
-29
-2
30
30
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-2
0
-2
-8
-19
4
1
28
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
25
16
41
-10
46
-66
62
-13
-63
-66
32
-31
-18
-5
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-37
-43
-35
-31
101
29
3
7
43
-49
-6
-69
-43
-82
-73
-49
-6
7
9
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-34
-76
-18
22
-4
-91
133
-100
66
-13
55
74
-31
76
31
-8
3
14
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
59
13
93
26
29
5
-15
48
27
42
-13
-28
16
85
-32
77
-21
23
22
-8
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
72
90
-55
23
19
-43
30
-42
-55
-29
47
75
36
83
-23
-3
1
-16
5
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
1
47
-42
47
-20
-28
45
-47
-49
30
-58
106
26
4
-19
4
5
-13
35
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
5
44
-9
-5
48
23
-48
-58
18
35
-13
-30
3
-5
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
8
1
-7
29
-1
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
-1
-1
-16
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
3
6
-19
71
9
-32
46
-15
-5
25
-13
-5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-7
2
-22
-10
18
-40
-64
15
-38
-85
-32
-44
-53
5
26
13
4
-5
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
-4
24
-55
59
-130
0
19
-8
6
25
-68
17
58
-18
-9
-24
-8
49
1
-8
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-20
3
-40
-37
67
-22
-45
-18
0
-50
19
-113
-18
111
77
-82
2
0
-49
-31
-25
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-8
-31
-13
7
-43
-34
-49
80
67
32
-21
-16
14
3
8
30
-5
49
-42
-44
-27
8
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
-40
49
-2
23
66
40
-121
72
81
82
12
-13
-8
-10
56
10
18
-7
22
6
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-3
12
6
-1
-22
-27
-37
49
42
1
37
-58
15
-7
-55
3
-19
-24
60
70
-24
-18
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
19
-2
-19
43
0
75
14
122
5
9
-120
-5
57
-59
9
-2
-18
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
4
-4
5
-6
-4
10
-2
13
-3
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
12
-7
1
-1
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-15
-41
31
-10
3
1
17
-10
-10
0
-1
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
70
-9
-34
-36
-7
-49
6
-55
-21
23
-48
-4
10
15
10
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
-70
-80
-15
31
74
-5
43
-47
14
-59
-13
-19
32
13
13
8
-13
-16
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
10
10
27
-80
20
-19
-31
18
5
-93
31
-31
13
-61
-29
-73
-12
22
-37
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
31
50
-29
51
83
1
56
73
95
64
62
8
-2
-58
94
-35
12
-37
-22
84
107
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
-4
91
-27
-26
63
6
112
65
-4
-24
-10
29
15
94
86
23
48
63
-71
-50
-75
-31
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
30
17
42
78
-6
18
-8
-76
62
-8
-12
-14
12
-53
-34
-56
83
135
21
-24
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-52
68
-2
9
27
-15
98
-11
88
42
-59
-5
-21
67
31
-2
41
-49
34
49
-5
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
-5
9
-27
6
0
-83
-6
-40
-8
23
6
21
57
-18
23
29
23
-3
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
1
0
0
2
2
68
-27
45
36
28
-2
71
-6
3
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-33
-25
9
21
1
8
0
5
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-63
-12
-13
-88
-55
-85
-139
29
2
-63
1
17
-2
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-79
-64
-16
-16
51
-120
-77
13
25
51
-53
38
22
-15
-19
2
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
-96
-1
-25
-57
-30
-53
-20
77
-13
-7
-24
-61
-16
-20
20
27
-43
-54
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-44
46
13
-2
-56
-76
-55
-36
-49
-20
3
-21
21
-113
-53
69
-32
-4
-17
-120
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-39
43
12
-7
-47
-2
57
-43
-14
25
14
-50
-22
36
-27
17
-44
18
77
-129
-74
-80
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
4
-18
-24
-60
5
-61
-18
11
47
-4
-38
-34
30
-60
-19
54
-52
-41
-41
-42
21
30
-67
66
6
-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
0
0
0
0
0
0
0
0
0
0
0
-5
42
-48
3
-17
-39
65
53
-38
-25
22
-4
-23
8
-48
-39
-28
3
22
-11
-22
110
96
-44
-29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
9
-8
8
-11
-46
-5
-46
-84
24
-6
51
-1
7
-5
4
-75
9
2
6
58
-89
8
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-33
26
81
13
22
11
38
16
18
-4
26
49
-82
51
5
-28
-40
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
3
-26
-23
-10
5
56
-33
-46
-36
-42
-11
-7
16
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
4
4
-5
-5
-3
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
8
-13
10
18
10
59
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
48
-9
-7
26
-9
54
44
14
-13
15
-9
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
45
29
11
-64
-17
13
3
51
-24
-43
-10
36
-22
34
63
22
2
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-42
48
2
15
40
6
34
-33
-16
-14
-30
31
7
105
35
75
51
-34
-27
-33
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-42
-8
59
49
16
-35
-26
-15
7
-24
4
-13
11
15
-6
-44
-11
12
12
-42
25
67
39
76
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-8
112
8
48
7
26
16
-15
1
10
36
-4
34
8
15
11
-6
-35
22
33
29
99
87
62
-20
10
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
0
0
0
0
0
0
0
0
-7
24
-19
-54
6
43
32
-13
8
21
21
30
7
13
32
15
12
6
-6
4
24
-16
14
-21
40
-26
6
72
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
27
2
4
4
-3
-2
25
-16
86
40
-14
10
16
15
1
11
-3
31
33
29
40
4
-35
-21
51
102
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
87
-40
-5
59
-65
43
13
12
45
15
23
13
14
2
-6
41
40
16
-40
-39
-27
31
53
-5
13
6
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
0
0
0
0
0
0
0
0
0
-1
-5
75
-15
49
50
4
35
1
27
5
10
33
45
-15
34
19
-6
61
-10
101
138
-8
-14
32
2
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
33
-4
47
44
-10
31
22
-15
5
18
33
-11
24
13
29
49
52
38
10
13
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
8
23
-94
4
52
30
21
38
46
12
97
32
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
3
-5
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
6
8
-21
22
17
21
-55
15
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
47
-15
38
-42
1
-80
-73
-18
-1
-31
-53
-27
-51
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-3
-69
-53
-16
-53
-14
9
-49
-38
-6
-5
-38
-45
-28
12
-93
-133
-148
-27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-42
-32
-87
-45
-46
16
-17
-6
-6
-25
-25
-17
-18
-27
-2
-11
3
-25
6
-15
-16
31
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-26
69
28
-20
-41
-50
15
-17
-28
-3
1
0
8
-12
-14
7
5
-9
31
1
20
3
-38
-5
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
33
-66
-12
-28
-26
-14
2
-8
-4
-6
5
-1
-6
3
6
16
24
-1
1
66
44
4
66
-23
-3
-23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
25
-40
-49
5
-4
-54
4
0
-11
12
-1
13
1
4
21
27
25
13
23
14
-13
28
40
-33
39
28
-47
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
8
10
-17
19
47
7
21
-9
17
8
46
12
28
23
9
31
1
10
32
-45
17
9
25
87
37
-21
-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
0
0
0
0
0
0
0
0
0
5
7
-66
-17
-7
-62
-31
-14
7
45
21
16
25
-2
48
17
33
41
49
15
52
82
20
-23
66
31
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
27
14
-33
1
15
47
39
32
6
3
42
31
1
-2
66
66
-3
59
43
11
58
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-7
-26
-18
20
77
29
36
30
65
43
13
61
-47
-38
63
2
60
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
21
12
-25
38
161
-10
76
13
-28
9
9
29
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
1
-2
22
0
13
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
16
-26
10
22
74
-20
-33
-6
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
33
108
-26
-24
10
12
70
-20
23
28
15
18
20
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
4
-14
4
14
-26
-21
12
12
19
-19
-33
-3
7
9
40
55
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-25
10
16
7
-11
5
-24
4
8
-11
0
-1
6
4
17
-18
95
16
-18
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
110
20
30
17
19
23
-2
24
11
19
17
32
20
14
16
15
20
1
87
22
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
6
59
18
-21
23
-2
26
16
28
17
28
16
7
-1
23
-7
37
48
71
28
-14
-9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-33
35
45
43
48
41
23
16
39
13
1
11
25
-7
19
21
54
43
-28
5
64
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
21
23
50
93
50
-39
22
29
107
11
32
-22
19
11
-9
35
106
76
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
38
-18
60
-2
57
34
111
40
28
45
24
17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-30
-33
-19
-13
-9
-1
14
18
-41
-62
-52
-34
-17
-4
4
1
16
-62
-41
-40
-35
-24
-10
-9
-1
10
-19
-63
-35
-29
-17
-8
-14
-10
6
-127
-125
-97
-74
-57
-36
-23
-11
4
7
20
33
50
58
54
75
-4
0
-162
-85
-78
-55
-35
-31
-15
-5
-1
-7
0
1
-15
7
-14
4
1
0
-7
-1
-5
-3
4
-23
-34
-50
-11
-1
-44
-19
0
41
70
52
0
0
0
5
-20
-3
7
3
-23
-11
69
-17
-41
0
26
71
15
-27
8
-33
-34
-22
-1
-11
-2
-23
-4
-68
-16
3
-97
-1
32
11
-22
20
23
0
-12
-1
-6
-9
-17
-21
35
25
2
-70
29
27
12
45
59
17
16
18
0
-1
-20
-1
-14
-3
-15
56
29
-96
42
-33
55
43
14
22
19
9
-3
-1
-21
25
2
29
5
-40
-34
-8
-19
29
36
15
20
15
4
-3
-9
-12
-7
0
-14
27
-32
-54
119
-58
18
23
14
4
26
14
-17
-17
-14
-39
-1
1
-13
36
-3
-9
-63
33
-7
-19
-6
-21
10
10
-8
-65
17
0
0
-1
0
-3
-41
-23
-50
-3
-7
20
-40
-39
-41
-23
-41
-60
-21
16
-46
-7
10
-21
11
11
0
-14
-20
5
-5
6
2
5
-13
44
-119
31
8
-6
-13
-21
8
0
2
-43
-17
14
-4
1
-11
-15
-64
46
-20
-68
-38
13
-10
11
21
-18
7
9
-3
-5
-8
-12
-1
13
63
-34
5
16
9
4
-10
20
-6
-11
-10
-12
9
-12
-9
-32
-5
21
-5
-20
-6
1
5
-8
54
-27
-13
-4
2
0
-7
-11
0
-1
44
-44
-6
27
-35
-11
6
6
-30
-14
-22
-21
-16
-14
-28
0
-69
-55
-54
10
-54
-50
-4
-26
-31
-20
18
-5
-10
-23
-16
-8
-34
-59
11
10
34
-52
16
13
3
-39
-18
-18
-2
-1
-6
-6
-14
-27
0
13
-31
-62
71
11
-21
-62
-8
-36
-104
-31
-18
-14
13
13
-11
46
-41
-2
-16
46
39
13
0
0
0
-69
-68
-46
55
-28
-104
-45
-32
-54
-11
62
36
35
-3
-14
-32
-53
-60
-27
12
37
-16
-70
-71
-42
-55
82
18
-10
-2
20
29
-17
8
11
-25
-1
-4
-14
-38
16
6
49
-1
-19
-65
12
26
12
54
32
-27
0
3
-7
-36
28
-17
1
11
51
-47
-32
2
-32
15
38
13
-1
-1
13
-16
4
-22
40
-20
28
-72
71
46
-43
-46
21
-6
23
27
-6
-4
-23
-3
-3
33
12
-10
-28
76
-26
-2
0
32
15
15
6
-4
3
-11
-4
-18
56
-17
-3
30
8
-6
-43
-44
1
5
15
11
1
-20
-19
-3
-22
38
0
1
20
2
12
23
-3
-7
2
5
7
26
-28
-17
-47
24
-62
49
5
3
-28
6
-13
1
-1
0
-31
-35
54
-14
41
28
78
-15
17
7
-15
-12
-3
-4
-2
26
0
7
-21
-20
-11
-13
-21
-68
6
-1
13
-16
17
-9
24
-7
26
46
-27
-30
-1
52
-31
-24
-2
18
30
23
13
9
-5
-13
21
3
24
5
-14
-2
-29
6
-12
-35
-20
-1
-11
-5
-24
4
-4
11
7
30
22
39
19
-26
27
-4
-22
-76
-7
7
10
-18
-13
8
-3
0
1
-19
-13
21
-4
-29
-8
17
14
-3
-48
9
-30
-7
-3
-26
0
-2
-4
12
51
38
-20
19
14
2
-41
-6
-16
22
7
-37
7
-12
-1
-9
10
-27
12
19
-10
7
102
4
1
11
-114
-23
16
-35
-23
-23
-35
-28
7
36
45
-5
-2
6
29
57
-11
-20
28
-31
-37
-13
0
14
26
4
-5
10
-71
-31
-1
-7
20
3
9
11
0
-35
-21
-23
7
-24
-5
-11
-102
-64
17
-13
18
12
19
13
-10
-5
6
-23
-18
-21
7
-4
-38
3
-5
-53
-44
15
26
4
-3
3
6
-5
2
-5
-6
3
-37
110
49
-32
-49
-4
14
43
9
1
7
-7
-13
1
-3
-2
-10
-61
-7
-51
13
30
-15
3
20
-10
14
5
-5
-12
-5
-11
-5
-3
2
-61
-34
-61
22
12
-20
5
39
24
-4
11
1
-9
-22
-7
-15
-6
-84
-30
-84
4
-8
-20
49
4
11
10
-7
-8
-9
-9
-13
-8
9
-73
-24
9
3
-21
77
51
-63
-44
2
-6
12
17
-25
-38
-41
44
-66
-57
-83
10
0
8
-11
-17
24
22
45
-7
-8
0
-16
-2
12
19
82
2
-9
6
12
-6
-4
17
16
8
8
-12
1
-6
-1
15
-12
-15
1
-32
-73
-17
31
17
14
6
15
6
-8
3
-11
-12
-2
-16
-23
-2
1
-25
-18
-3
15
24
0
1
7
2
-4
-20
-19
-14
19
12
-14
-18
-32
12
-1
-4
9
11
4
1
-3
-4
-14
-11
-25
3
-27
-30
-69
-22
8
-5
-27
-14
17
-7
-25
-9
-13
-9
-22
-32
36
22
-97
-25
7
8
5
-11
19
-4
-12
-30
-15
-11
-17
-20
60
-41
-35
10
-46
31
11
3
16
-31
-5
5
-10
-25
-15
-15
18
26
56
-7
-37
-123
0
-14
-20
25
-3
33
0
42
29
12
13
-19
-88
3
-51
-22
-16
0
43
-19
59
5
21
-26
-22
-7
0
64
21
-40
6
65
22
-30
-8
15
-1
35
6
4
21
-39
-10
-4
1
8
-3
-13
26
6
-6
33
19
19
13
6
-1
8
-1
-18
-3
-23
59
-31
-19
-55
14
-50
16
-12
1
0
20
0
14
8
19
-11
24
-11
21
-121
58
-54
32
58
33
13
10
6
-2
23
-1
-22
20
-10
-39
41
-1
17
-60
59
84
34
3
14
-5
11
12
1
-20
-20
1
-16
28
5
-27
16
39
-13
-18
-15
4
6
2
3
13
-5
-11
-2
33
-6
-44
-33
25
29
0
13
-27
20
14
6
-29
-17
-25
-7
35
13
5
-21
13
18
-6
-3
54
28
6
-8
-7
25
12
-35
7
18
68
78
10
31
14
9
0
10
7
7
27
39
14
-15
-6
0
18
44
45
-20
-19
83
-41
37
13
-16
15
7
-10
-1
-14
16
28
31
-69
4
70
0
12
-40
15
-11
5
3
8
29
41
25
-13
-36
-42
-44
-7
-17
-6
-7
-20
48
8
7
0
-5
19
18
14
-6
-27
-57
-50
-26
-1
30
-25
-31
-61
-2
2
19
4
-3
-1
-14
-11
31
19
-25
34
-45
15
-28
4
41
16
-1
0
11
15
-17
22
8
-10
-1
-1
-79
6
83
38
-22
-18
18
-14
20
30
-9
-4
-28
3
-43
-56
3
-27
-89
4
-31
-2
8
0
-28
-8
-14
5
13
10
-29
-39
-5
9
-13
56
9
-78
1
-2
3
14
-28
9
-15
-24
-42
-16
50
2
63
-20
16
3
-8
0
0
0
46
-26
57
53
80
19
92
0
-21
-13
-28
2
-8
-17
9
-13
-5
52
-39
3
-56
-25
-42
0
29
-10
-34
-11
-6
-11
-9
-1
-21
1
-73
-5
41
-14
-9
28
41
17
10
-11
3
-6
1
-4
-4
-22
-23
-65
4
24
17
43
-25
17
0
-1
0
17
7
-5
16
-5
-20
-26
31
-5
-60
25
-39
30
-17
1
-2
9
13
19
12
-23
2
17
-8
28
22
-66
-22
17
-65
-10
14
-1
9
0
12
4
-22
-8
-54
28
109
-122
8
35
-20
-38
-22
-11
8
6
-22
-4
20
33
4
-39
-92
-64
28
-51
-101
-5
6
44
-6
6
-2
1
-22
-10
5
40
-73
0
34
8
44
21
-83
23
24
9
-10
3
14
-11
60
6
44
0
-2
-45
-41
-18
55
-53
17
86
0
12
-5
-34
12
-7
-10
11
-11
39
-15
-43
78
21
-22
-5
67
22
0
2
-34
0
-10
3
-13
-13
44
-22
-59
33
10
44
-6
-32
2
0
27
3
12
18
0
-14
14
-19
19
13
27
59
21
-1
35
-23
-12
14
15
4
-6
-19
-19
2
-53
2
8
-40
-118
-66
-11
-16
-3
23
21
16
7
-37
-5
-9
-15
0
-13
30
-4
-51
-89
2
-23
2
28
14
-12
-9
-7
-4
-23
1
0
-2
44
92
57
20
1
-30
53
1
-33
-11
-22
-21
-16
-1
8
0
0
-4
-13
34
18
-74
5
-19
-18
-6
-23
-5
11
-1
-10
28
0
0
0
0
-6
15
16
-52
41
-25
-24
-31
-13
-25
17
9
-6
28
2
138
31
91
-5
27
19
0
7
36
-25
0
8
-14
29
-52
-23
64
-19
-16
-57
-59
36
0
16
-7
-37
-12
19
3
11
16
-14
-38
-61
-78
-13
0
-49
45
57
10
-11
7
-29
1
1
14
-20
62
33
4
-3
-72
42
37
-8
10
10
7
51
22
17
7
10
2
-17
19
-16
-15
-13
-16
-32
-16
-6
-4
39
27
4
41
1
7
5
-126
28
4
-20
-34
23
-1
-25
13
2
30
33
22
32
42
-42
28
50
9
58
25
26
28
-45
13
-32
-5
-5
3
43
-14
7
-31
27
-31
-66
48
4
-9
-8
-11
17
-9
-6
-24
5
20
68
36
13
85
50
-7
-55
50
-66
-36
-57
36
-5
-23
-26
-1
47
67
-15
15
-17
0
114
49
-30
-36
-27
7
30
-20
0
-25
-27
-9
-8
-4
-5
-29
-36
42
61
-6
18
-22
61
-1
16
34
0
-28
-23
16
4
24
-25
-12
-22
-3
-25
20
-47
32
-8
-24
12
4
-13
-3
-10
1
-4
-30
55
-106
11
-79
-7
17
-27
19
30
1
12
1
11
7
1
-23
5
8
-76
-33
26
5
-32
44
-44
0
12
14
8
21
16
6
4
16
11
-4
-60
-65
6
12
-3
-5
24
28
10
35
3
-7
-11
-11
-8
-15
-8
-69
22
19
38
85
-69
8
2
3
4
-28
-10
-3
-21
-18
6
0
-8
47
42
22
70
22
-8
-4
-32
-41
-23
-6
9
-2
12
35
0
2
-77
28
-23
-34
-85
-26
13
-12
-35
-33
2
-6
-2
1
4
34
-6
-20
9
7
-11
-6
-3
0
20
21
32
-52
-49
-87
-25
0
-29
-5
-14
-14
22
15
-2
11
6
-9
14
-29
-4
29
-73
-66
-2
35
21
4
10
16
4
-9
-11
-20
-28
4
19
-7
-28
-63
15
-6
-11
13
-16
-2
28
9
-13
2
-4
-3
-5
14
-75
-52
-20
-18
-10
-20
3
-21
-5
-6
3
14
13
3
-12
8
27
16
-3
-69
27
-1
14
22
-22
-7
-17
-13
-24
14
5
4
21
-35
3
-83
-95
-25
0
-4
-11
-2
11
-15
-9
-24
-7
-31
41
86
-32
-118
14
-31
6
0
-2
9
-11
6
-4
-3
25
17
-12
-46
-41
-84
-49
-37
19
-1
0
12
36
10
-13
-29
3
3
-35
-6
-61
-10
20
-1
0
0
0
0
-43
7
12
4
18
6
12
2
0
20
-20
-4
-72
-64
0
-8
-20
17
6
0
10
15
25
12
-16
1
10
-10
-23
15
-20
18
-14
2
43
-43
1
13
18
39
16
-26
-11
-12
27
-25
-9
-12
5
18
4
28
-15
-5
37
22
23
20
4
-9
-3
-19
-86
95
42
62
65
-2
14
-19
35
43
12
25
16
-2
-11
3
21
-63
-78
-9
-67
55
-1
63
14
-2
8
33
2
11
-7
-19
-5
4
-62
107
-116
-109
-9
45
26
8
33
-5
8
-14
-5
-18
-35
-11
-31
-8
22
76
-85
-18
2
37
-36
-42
-16
25
-27
4
-28
-34
3
18
-36
-42
53
66
-30
-9
0
-44
57
-6
1
24
34
25
43
92
-43
-95
31
-4
8
-8
0
5
3
-5
-7
2
-17
4
35
0
-15
14
84
-36
-4
-1
3
0
-4
6
5
26
-19
4
-25
28
16
-7
27
-13
61
-25
61
-31
3
14
-12
4
14
-6
-4
7
0
8
-6
-19
-80
22
37
-41
-21
25
8
-8
-7
3
23
3
-16
-7
-54
31
32
-22
16
-26
-101
-10
2
3
-19
-4
6
20
2
38
34
-36
-68
80
27
-35
26
-164
-26
0
-43
10
-1
22
29
-8
-19
38
20
0
-47
33
101
-1
-25
-1
0
-8
-23
-13
6
-23
-5
-6
-30
37
1
15
48
97
-8
-12
-8
0
17
-17
-28
18
10
10
-16
-44
-24
-40
8
12
-7
8
0
0
0
19
-3
-14
-73
11
42
-93
48
42
-79
8
3
7
0
0
0
0
9
31
11
-5
26
-3
-4
25
0
18
3
35
4
21
-36
-48
-41
13
5
-10
6
26
8
34
1
4
-22
5
17
1
-30
52
-4
0
-12
-9
26
47
14
30
-14
-3
-9
-15
31
-98
-9
-35
-5
-8
0
-20
11
27
-7
7
17
31
11
-5
8
-25
14
7
-34
1
-24
-8
-24
0
21
4
11
5
-6
-18
16
-9
-4
-12
-8
-22
-75
-8
-10
5
-14
12
3
41
-12
1
7
0
-4
-19
-26
-3
-32
-58
25
-22
-5
17
2
29
14
-23
-6
-19
-12
15
-27
-16
60
-13
-26
30
14
94
28
32
12
-35
-2
29
-7
16
21
3
84
-41
-19
-39
20
-3
0
29
34
46
49
14
-25
1
-14
68
-95
111
-2
-22
-66
36
0
0
-87
22
38
2
-3
-4
3
5
-22
13
-12
-25
-8
2
8
3
-6
-27
14
8
6
18
6
7
-4
0
-11
12
4
-4
1
-3
5
0
6
-16
-32
3
4
22
-3
15
-2
1
-69
-56
-21
-19
-24
-7
9
-1
7
-28
-43
-21
16
-18
13
8
1
20
-33
-33
-50
-4
-1
-12
11
2
18
10
5
-29
-37
11
-6
13
6
27
-18
-13
-27
17
14
31
-3
-8
78
22
-4
3
0
-3
-6
-10
-5
-24
-4
16
-9
11
1
-5
-11
-4
-10
19
5
32
11
1
18
-3
-5
-6
39
16
8
3
-10
14
-1
-2
1
41
13
-3
27
18
15
-2
0
-1
-10
-22
45
38
-2
15
6
0
10
30
19
12
20
17
-5
-3
1
3
13
8
12
-12
-14
-15
8
12
16
2
23
-6
-13
-42
-22
1
32
9
-29
-6
-38
-31
-28
-24
-25
-16
-8
67
80
-86
-4
0
0
0
0
0
0
2
-9
-14
-63
-4
-17
-17
-65
10
-9
-48
-46
0
0
5
-20
-41
-38
-9
-72
-24
-41
-24
0
0
0
-2
-3
0
0
0
3
-3
-2
-1
6
5
6
-9
0
2
3
5
-3
0
2
-1
13
5
1
8
3
17
15
0
6
-9
12
9
6
9
2
7
10
8
4
-10
-92
-226
0
-66
14
-65
-161
-127
-131
-1
-13
-17
-26
-6
-16
-51
-150
0
-117
21
-27
-116
-102
-107
0
-2
-12
-14
-3
3
2
-91
0
-9
17
0
-75
-36
-21
17
1
2
0
1
-3
4
-26
0
15
25
-3
-15
-1
-1
16
-5
9
9
-2
-30
5
36
0
22
26
9
12
30
22
-26
13
8
-24
38
21
6
0
-4
0
1
0
0
0
0
5
2
1
2
-1
4
9
7
-1
6
3
5
-1
5
6
12
0
1
5
13
-2
1
10
5
16
15
-2
8
14
20
13
3
-3
-3
4
12
-68
-90
0
-92
-2
-79
-445
-114
-151
6
12
17
2
-30
15
-23
-172
0
-171
3
-6
-131
-188
-92
11
-7
5
-9
11
5
35
-22
0
-40
39
21
-35
-48
-29
24
6
14
8
18
28
60
80
0
42
36
36
28
20
52
17
12
14
43
-3
-15
-12
120
0
105
-41
68
42
50
45
39
8
36
6
36
63
-46
0
0
0
-36
-8
0
0
0
-8
-19
-28
-12
-13
-14
-14
13
0
-6
-38
5
10
-3
0
-29
6
6
13
13
-20
41
62
0
22
30
24
0
52
31
15
24
-2
54
-7
-3
-135
-94
0
5
-31
-32
32
9
-13
-54
-10
-34
-55
-34
-22
-94
-31
0
-74
-43
-44
-26
14
-10
-21
-22
-43
-51
-36
-27
-110
-1
0
16
-76
-58
-27
-23
8
-20
-32
-34
-48
-54
-5
-105
-48
0
21
-25
-68
-52
-17
-36
-19
-66
-32
-62
-1
-15
58
-35
0
68
0
-49
-94
32
-15
-3
5
-4
49
12
-6
-7
-9
-1
-2
4
6
3
9
8
-1
-4
-1
5
3
6
5
9
14
-12
28
28
18
-1
4
0
-3
-19
0
12
-5
-13
-13
3
14
26
13
0
0
0
-114
-11
-12
-11
-2
22
22
-115
-2
-6
-18
-21
4
0
2
-18
-16
-19
-23
16
-16
-18
-6
-10
-25
-3
17
50
60
-46
16
39
8
-13
-4
4
93
11
13
-26
13
-1
-7
-1
-15
48
-10
-3
-27
3
5
-11
3
-10
-28
-10
16
-23
-42
17
5
8
12
5
9
-4
-1
-8
-4
-3
2
1
7
-3
-15
4
4
-29
-16
27
0
-47
-54
-36
33
-28
-1
-7
5
-21
-57
-13
-30
-53
-68
23
-8
-16
4
-22
24
-27
30
-45
-21
12
-14
0
-71
0
0
0
0
0
0
0
0
0
0
-95
-70
-53
-29
-1
-24
-46
-59
16
10
-49
-53
-22
-25
-15
-56
-52
-37
-28
-35
-60
-78
-55
-15
3
-39
-31
-53
-31
-22
0
0
-1
0
1
-73
-45
-21
-14
-24
0
-4
-3
4
-2
-45
-60
-66
-38
-68
-64
-15
-10
-28
-42
-51
-32
0
-11
-24
-11
-29
-24
-9
-9
-30
-16
-34
-33
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
-60
-12
-9
13
159
32
0
0
-85
-69
0
-7
48
8
0
0
0
-113
-60
-15
15
69
22
0
0
0
-148
-81
-15
8
39
-41
0
0
0
-34
-51
-33
-21
-18
-38
-67
-62
-66
-11
-35
-29
-45
-40
-39
-53
-95
-71
17
8
9
7
2
5
-5
-1
-2
-150
-122
-84
-54
-33
-25
-17
-5
-22
0
-20
11
4
-7
-6
20
-11
-4
0
-138
-79
4
5
-13
-22
-34
-15
0
0
-85
-12
-4
-24
-16
-40
-13
-67
-63
-26
-27
-14
-14
-16
-19
-35
-19
-24
3
-20
-18
-10
-18
-36
-42
-1
-22
4
-38
-31
-22
-49
-12
-32
0
-24
-17
-4
-7
28
15
1
2
-4
-5
-24
0
-41
-58
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-125
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-31
75
-26
-3
-69
8
-34
-60
-33
-101
-144
13
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
32
23
45
4
-31
-49
-43
-11
-25
-46
-44
28
-27
68
-112
-64
-64
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
73
5
27
8
5
-20
-21
-36
-41
-40
-39
-40
-45
-12
-49
-37
-29
51
51
53
36
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
22
-11
47
-2
34
-16
4
-6
-16
-16
-25
-23
-15
-30
-24
-13
-7
-5
-18
16
-50
-90
-68
82
-10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
16
44
7
-12
-35
0
16
-25
-11
-21
4
-8
-9
-12
10
-18
30
-47
40
-3
102
64
43
25
70
-26
68
13
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-18
31
-32
-19
10
1
-1
0
-21
-1
-13
10
-6
19
6
25
16
41
31
72
40
19
25
88
63
97
-24
13
70
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
70
-47
42
7
-14
-31
-3
-16
-3
4
-22
31
-3
31
8
25
19
23
20
69
-15
50
2
44
30
-49
15
-46
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
99
47
46
62
2
48
16
-12
38
17
11
17
43
35
65
68
-28
36
16
49
104
-34
-48
69
51
30
33
-5
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
15
118
42
104
68
53
-6
-9
27
20
67
83
47
27
56
95
59
58
55
52
41
101
102
1
56
-11
18
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
5
-45
-8
67
23
39
-24
10
61
58
56
37
62
79
158
75
101
41
51
40
-3
39
7
-4
18
22
-13
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
5
-53
52
74
93
46
-17
32
156
74
13
58
8
40
46
41
94
92
-31
19
-14
-10
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
5
-17
-24
-3
100
36
42
56
47
29
61
110
68
84
17
24
-39
2
-2
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
19
30
-5
-49
-18
-7
24
16
0
-15
0
17
-1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-7
0
-29
46
-21
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-38
30
-78
-63
-64
-5
2
48
39
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
21
-51
-65
-12
78
-72
-136
27
-74
91
-29
10
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
61
-3
22
39
49
-13
-11
-47
93
49
27
-7
17
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-35
30
4
15
3
40
44
-51
-22
-7
-16
-15
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-20
0
5
8
-8
4
41
9
14
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-17
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
13
30
36
-13
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
-17
-31
-129
-13
4
15
-40
-71
-35
6
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
94
-22
11
-24
-19
-27
-25
17
-9
31
50
22
15
0
-7
-5
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
70
6
56
-26
6
-13
109
42
76
6
46
63
-27
-4
58
-12
-23
-13
-14
30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-1
1
-41
15
-12
-64
51
7
25
43
47
-3
-13
47
7
32
-7
-49
-1
4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-41
-57
-16
10
-10
-39
3
114
-32
45
17
68
42
11
-44
-27
13
5
0
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
4
-18
18
8
15
12
-5
11
0
-12
-6
8
-4
7
-9
-3
-4
-6
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
-1
0
0
5
-1
-2
3
1
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-13
-49
3
-6
-30
21
8
9
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-41
22
77
-6
57
-14
38
-7
-25
-66
-10
-93
-24
5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-52
-43
-47
-41
69
19
-35
25
-9
-48
4
-66
-6
-67
-58
19
-8
6
9
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
-22
-85
-28
-20
35
-52
85
-118
108
54
-31
77
-38
98
-9
11
-5
-21
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
42
45
40
16
-2
46
7
9
13
9
-22
-49
10
68
5
70
-22
41
18
-1
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
32
58
-32
28
13
-9
-33
-13
-51
-44
40
86
9
45
7
-12
17
-13
1
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
14
-25
10
-7
-51
48
-31
-51
-43
-17
58
-5
9
-46
23
0
0
-15
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
18
0
-2
8
3
-4
-17
-6
-2
-2
-2
-1
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
1
1
-7
8
-1
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
-4
-5
-37
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
49
-18
-5
15
49
-28
-26
13
-25
-95
31
-42
-5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-25
-29
-25
-12
29
-83
49
-15
-30
-76
-106
-14
-83
1
64
31
5
-7
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
15
15
0
-27
33
-54
-21
-60
-5
-44
-43
-59
28
56
-6
-56
-13
4
31
1
-7
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-16
-36
-12
-113
67
26
-7
-30
15
-67
60
-57
0
-6
123
-60
12
46
-50
-66
13
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-19
0
-32
-40
-31
4
-37
64
24
5
-13
-22
-23
22
21
34
15
15
-16
-43
-16
-17
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
12
-22
-32
2
-24
24
-8
-82
6
-13
59
26
64
-38
17
20
-16
-25
-45
8
19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-4
4
-21
20
-11
46
-30
72
11
44
34
5
44
23
1
17
13
-25
62
-32
-8
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
20
-12
-8
31
-23
66
-28
111
13
-4
-64
-8
-4
-7
9
-2
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
3
-3
4
-5
-4
0
0
-1
-3
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
13
-5
3
-1
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
12
-4
-91
21
-9
23
-2
16
-9
-30
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
41
-19
-33
-1
-7
-42
-118
-55
7
50
-24
52
-16
34
13
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
31
-106
-14
-44
-31
46
-5
31
13
4
-117
-66
-28
13
-18
34
-9
5
-17
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-8
-5
21
-31
2
79
-2
6
36
-2
7
-87
61
-30
19
-56
8
43
-33
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
13
12
-43
47
25
25
-75
2
11
29
-12
27
-65
31
48
57
-13
-36
-60
63
56
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
-10
-1
14
22
56
53
7
22
-9
38
31
27
-19
26
64
-21
-5
53
-22
-40
-42
-13
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
16
33
10
62
27
-49
22
-54
33
44
-91
-44
27
10
49
-37
30
26
1
6
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-25
52
10
17
35
-40
3
51
5
15
-23
51
20
5
45
10
42
-20
2
-2
-5
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-3
19
6
9
7
-41
-18
26
8
23
43
5
66
31
-1
-1
17
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
1
1
8
7
-15
24
-4
2
4
4
1
4
-6
1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-31
-85
10
23
12
5
1
5
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
-21
-11
-29
-93
-56
-25
-25
8
-86
-9
23
-1
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
-72
-70
-18
-50
-20
-89
-59
-46
44
0
-59
-16
29
-41
11
-22
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
76
-61
-84
20
-36
-37
1
-31
10
-28
-53
22
44
-26
-77
33
37
-54
-42
2
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-23
-35
3
-37
3
-26
-23
17
-50
-2
-91
-2
-10
-44
11
0
-21
-42
-56
-98
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-56
-13
-47
-70
14
-76
-15
-27
5
-14
-11
-17
-20
-45
-67
-49
-23
-76
46
-71
-48
-51
2
-2
-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
0
0
0
0
0
0
0
0
0
0
0
6
-24
-3
-55
-12
-16
16
-109
-36
13
-63
-2
2
-33
-20
-42
-41
23
15
-69
45
46
41
31
15
-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
0
0
0
0
0
0
0
0
0
0
0
-5
34
7
53
17
-39
15
13
31
-4
15
-1
-22
41
5
12
-5
-73
-3
-39
-14
61
72
-56
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
9
-18
6
30
-28
-20
-49
20
44
16
26
24
-16
48
-4
37
-80
-51
3
13
-48
10
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
51
16
52
28
-42
-33
54
29
-84
47
51
-70
-5
3
-5
-30
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-17
-3
-30
22
30
20
6
-3
-15
-8
16
-13
5
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
7
2
4
-2
-6
-3
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
5
-18
10
20
13
67
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
92
8
-4
31
12
0
30
-3
11
33
-13
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
34
68
30
-12
30
7
5
24
-1
9
26
31
14
61
74
30
5
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
71
-11
-6
-17
9
17
-3
-33
-2
-8
1
-19
3
33
26
61
-29
-16
-4
-26
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
50
-3
42
12
-13
-41
36
-17
26
25
20
17
8
-24
2
-34
7
7
-7
17
91
15
49
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-43
19
56
0
51
24
-30
-7
-45
14
-13
9
-1
-10
-10
6
-31
59
-6
26
61
42
113
52
41
6
13
-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
0
0
0
0
0
0
0
0
-9
18
-15
-5
6
13
28
38
49
17
26
-12
8
14
6
36
14
-14
26
-18
6
-3
5
57
81
2
-6
-12
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
28
-4
84
15
42
93
25
41
11
-2
11
13
5
-6
48
41
-18
-10
53
-15
40
-7
-21
2
-2
26
59
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
109
-5
23
76
-25
-8
-45
9
28
16
8
-32
21
-9
-3
71
76
63
48
3
31
50
58
30
-7
6
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
0
0
0
0
0
0
0
0
0
-1
-9
18
-20
31
-13
16
49
-52
-13
28
-30
14
29
25
27
-9
49
43
36
21
98
15
-58
19
4
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
29
-4
5
58
10
48
3
0
-12
0
1
-43
6
7
20
24
58
5
19
14
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
12
-15
25
-25
9
45
8
13
42
24
6
83
23
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
3
-4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-23
-26
-6
38
-45
18
-11
-37
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-8
-14
-3
-1
-49
-2
-16
-14
3
-6
53
-4
-67
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
45
-7
5
-29
-9
-10
-27
-1
-12
-9
1
-12
-36
-44
-33
-57
-59
-78
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-39
-61
-49
2
-52
-21
-12
-39
-29
-12
-6
9
-26
8
-54
27
15
-9
-15
-57
-30
31
-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
0
0
0
0
0
0
0
0
0
0
0
0
-23
-76
-2
-32
-59
-15
-30
24
-25
-13
-18
-5
6
-8
-23
27
-3
9
-46
2
24
38
-40
-1
-31
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
29
5
-35
-24
-20
-21
-36
16
-13
10
12
19
13
14
-13
20
-1
13
-30
-10
30
51
-22
40
-4
29
-39
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-15
-1
-64
30
-49
40
-30
5
1
20
0
-9
9
42
56
30
46
5
20
3
-2
17
0
-32
1
16
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
49
27
-46
30
-70
-52
-9
-20
-34
50
44
13
36
33
43
36
2
13
10
-34
74
-26
13
1
30
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
17
-53
6
-32
6
-29
31
55
-18
44
7
18
28
40
-2
22
79
50
31
-2
30
-12
25
60
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-9
24
-10
46
-33
81
76
3
5
24
-30
70
-31
65
29
61
-28
40
-43
16
54
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-50
20
19
5
42
49
64
13
64
-2
29
76
-1
-15
59
1
31
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-31
14
31
14
92
-5
23
19
-4
-8
1
7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
1
-2
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
5
25
54
9
42
-8
-37
-6
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
49
48
-32
15
10
8
5
-17
40
-56
-64
104
24
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
28
-7
-3
-40
27
12
25
-31
-10
5
-11
29
66
2
10
43
47
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
5
28
69
-11
8
17
36
-19
32
-4
-13
12
-12
20
-48
107
21
-17
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
34
-9
12
26
24
70
-4
62
8
-3
5
32
11
38
110
-44
87
70
126
3
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
1
29
-8
18
57
58
19
24
44
23
-44
-21
50
23
-10
63
27
99
17
-5
19
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-2
20
30
-19
-16
6
8
-7
5
66
78
21
31
23
-57
27
27
-3
49
49
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
14
14
24
9
2
81
23
68
62
30
-8
53
17
-22
-67
22
49
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
23
0
32
8
10
12
73
42
-20
18
24
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-46
-31
-29
-10
-2
-6
-18
15
-50
-49
-42
-25
-30
-9
-8
2
6
-30
-61
-49
-43
-28
-25
-15
-4
4
-54
-63
-61
-34
-22
-17
-11
-13
-6
-34
-55
-57
-61
-35
-34
-34
-20
-4
12
24
24
48
105
91
66
-4
0
-38
-34
-48
-48
-42
-41
-24
-17
-10
-6
2
-9
35
-38
46
5
1
0
-9
-9
0
11
3
-20
0
-38
5
-13
-9
26
-42
70
101
35
0
0
0
-2
5
11
-7
9
-19
-15
-66
-20
22
-122
-7
6
34
-4
40
-20
-20
-18
14
14
-4
-4
-6
-16
-11
31
-67
-43
-4
-9
33
18
30
-27
-28
8
-8
-4
-28
9
18
-5
1
-48
-16
30
-2
-8
30
37
17
12
-7
0
-44
-11
50
21
24
-37
37
-71
17
-59
16
-25
5
-5
5
2
-13
6
14
3
3
25
7
-11
-24
-22
-45
-10
12
-13
5
11
-8
5
-16
-26
20
0
-32
10
-43
-84
13
-127
36
1
-1
4
-11
0
-5
-29
-14
30
-1
-1
-25
48
9
-72
-130
8
-40
0
-36
-31
4
-6
48
-35
-19
0
0
-1
0
-1
-18
-5
-11
-147
-27
1
47
-5
60
-10
-45
7
-17
7
-25
14
29
-50
-12
3
0
-51
-14
40
15
-12
-6
3
-27
-38
-59
-58
-8
-49
18
-41
-11
0
-1
-7
26
15
12
-3
-24
-2
-47
-20
-45
-45
-74
-5
13
21
13
-13
2
-5
13
-9
-17
-22
-17
3
-21
-43
9
-35
-36
-19
7
41
23
19
10
-16
-13
-5
-12
-5
1
70
-8
-63
20
-8
-14
-2
50
-27
-11
-8
-16
-23
-3
-5
-10
-5
48
4
-26
4
-37
-30
-11
-9
9
-33
-8
-9
9
-18
-9
-28
-4
-32
30
8
14
7
-31
-14
-16
10
-12
-2
-2
-13
-31
-1
4
-10
31
2
-5
33
22
-7
-5
-33
-109
-93
-51
13
-6
8
-34
11
0
32
47
-44
36
1
-35
-48
-38
-47
-13
-2
-10
-27
-29
-69
21
-40
-8
38
-36
-10
87
6
0
0
0
-76
17
78
-35
-20
-30
-27
-13
-11
-31
16
0
4
-4
-14
-3
-67
-65
-12
-6
3
-37
-51
-18
-30
-12
26
-52
-38
1
34
19
1
11
6
-19
-20
-12
19
0
-18
46
11
22
-24
-53
12
-12
37
33
9
-23
0
-4
15
10
-14
34
23
40
8
-30
-59
0
-38
8
16
8
17
18
-4
-14
-49
-27
-29
22
-12
-69
-49
-63
-38
15
-1
-9
10
9
0
-5
-13
-34
7
-41
22
-30
2
31
4
-127
-37
12
-6
30
-4
-27
-25
3
-24
29
8
-47
-74
-3
66
-10
42
-110
-66
33
11
-30
39
-12
-4
31
-36
13
0
-32
-38
14
4
-87
-43
-30
-15
34
31
46
9
-22
49
21
-45
-11
2
-14
-1
18
42
11
2
0
-15
-31
78
80
-58
-25
29
-71
-106
-46
8
-31
-6
16
21
3
0
-30
44
5
22
46
-43
-10
-30
-73
-17
-9
-3
-15
8
-1
38
66
-25
4
36
-42
13
6
6
-31
13
-2
6
-11
-28
-30
6
26
23
54
-16
-5
5
-39
10
-8
-29
39
18
-27
-17
-23
-8
0
0
29
33
-5
-20
-38
-29
-14
-65
-61
-3
16
-3
0
-7
-11
-17
-15
-22
-28
-47
-14
27
2
66
-24
13
58
-49
19
-94
36
-4
-24
-40
2
-5
10
-56
28
2
-52
2
-14
28
1
-48
2
24
-13
22
-44
-34
-29
-31
-8
10
-21
-43
6
39
11
45
-18
-101
22
-23
-71
-6
-14
-7
-13
-26
-15
-25
16
31
-24
37
26
-28
-19
27
7
-5
62
0
18
-3
13
-76
-42
-11
-1
0
-14
5
-6
8
-3
9
10
12
-19
-39
20
-37
62
-59
-66
-56
-19
11
46
1
-25
53
-18
1
-11
-10
-26
7
-45
-10
2
-27
21
33
95
11
2
8
15
-13
3
9
-10
18
-3
-14
-36
-44
-20
4
-5
4
-1
-42
0
4
14
-6
-4
-6
7
-20
12
16
-32
-23
67
-6
-4
1
-12
-3
-22
-14
-8
-11
-13
-23
-4
18
-55
-66
22
75
35
10
-8
67
-23
-45
5
6
5
-14
-16
-46
-7
-21
-33
-56
-7
19
-76
17
-19
-10
30
-41
-13
15
-3
28
-53
-40
-13
15
54
-29
-7
90
15
-20
43
-28
-22
21
-19
-45
-9
-81
2
-46
-35
-37
-11
0
15
-19
2
-26
-13
32
-26
-12
0
-8
11
14
8
37
2
28
2
9
-7
-2
-7
-15
18
2
-14
15
14
-2
-14
12
-13
-5
-51
-13
-4
-4
6
-7
-29
-5
-20
-14
-10
-25
-5
-10
-24
-15
-22
51
4
-41
12
7
-14
18
0
17
-12
3
-7
-7
-15
8
-30
-30
4
-49
13
-18
23
-3
-21
-4
-27
11
-4
-3
-16
21
-29
-19
-4
-6
-27
-14
3
-6
15
22
-26
33
-8
-4
-2
-22
-11
13
14
-14
2
20
-19
-4
18
-11
10
23
-25
-19
-4
-31
-28
-29
-55
-45
4
-45
38
-5
20
3
-23
-84
-19
-50
-17
-24
-18
-10
-71
14
-3
13
-36
0
-42
-31
-9
5
22
-5
41
-21
-38
16
13
-31
37
-68
10
2
0
5
-6
32
50
12
-30
-5
7
0
40
-24
-75
14
79
-26
-20
23
57
-9
-3
-24
24
25
-32
-5
-14
3
31
-111
34
15
63
37
2
12
8
-20
-1
-10
3
31
-8
19
-37
22
-80
44
-43
-55
-11
3
24
23
-15
16
13
21
-8
-28
11
31
-37
46
-73
2
-13
7
-13
-32
26
3
-18
-37
26
-9
19
3
21
-15
-39
-64
-6
-51
6
16
-8
-7
0
3
16
-5
3
-5
-14
33
-9
-53
-30
-43
15
63
3
32
-3
2
20
-12
-9
-6
-11
1
12
40
-43
-74
-12
5
52
0
23
4
-6
40
0
-25
-16
-4
-11
-14
-66
10
-43
-10
16
-6
-3
96
-31
-16
13
10
-6
-10
-98
-11
-33
18
-2
15
1
-17
9
0
21
4
-15
-13
14
43
-41
-28
0
67
23
47
17
37
13
-9
-1
-1
-15
1
-23
1
13
10
-4
34
-6
31
-29
23
-10
57
-39
12
-33
-1
-20
-11
15
1
-32
-25
25
-63
-4
-47
11
52
68
-13
8
-7
8
-1
-1
-12
6
-10
15
70
-38
-45
10
46
58
65
-18
-9
-8
-16
-7
7
-34
-14
-24
-4
-82
70
-44
-17
-60
5
15
1
-2
-7
-7
-18
-11
-8
28
-8
28
30
-2
39
54
33
21
76
6
-17
-14
-10
-16
8
21
13
-38
-43
11
-24
-43
20
-141
87
27
0
-5
-12
-6
-5
-31
-20
8
-9
-4
48
-26
39
5
82
41
-12
-11
-2
-27
3
28
26
-102
12
-39
-1
-17
70
16
27
2
13
8
0
0
0
29
8
28
10
81
16
44
0
52
30
11
-24
-18
-19
-11
-18
-20
31
-51
1
-37
-54
-58
0
12
-1
-25
6
-24
-22
-21
-8
51
4
-90
-47
-66
-6
-19
43
-25
20
-1
-19
13
15
15
4
-6
-18
-3
-44
23
-22
-4
50
-31
-17
-32
-2
1
19
-17
3
-2
-14
-39
-4
53
-3
-20
67
1
-21
12
-3
21
12
-28
28
-22
-23
-4
16
13
19
17
-13
-52
-31
2
1
-8
-2
-19
-20
-72
16
-34
10
4
25
44
-52
13
-113
-97
23
-46
-24
-8
-6
15
-26
-27
-9
23
-59
-41
32
60
-24
-62
-59
-17
-11
-38
3
-22
-13
63
-9
14
13
-57
0
-10
22
16
41
-12
33
30
-30
-14
39
4
-81
-39
-21
-6
0
-6
7
-53
-47
-4
23
-14
24
0
13
23
11
12
17
11
0
-16
25
43
-18
94
8
-48
16
58
36
0
-16
-3
-11
0
7
44
12
32
53
46
49
15
28
5
-15
28
30
31
1
0
20
-22
-4
-35
11
22
60
111
5
-4
31
44
6
-20
-10
41
-14
-9
2
-9
37
4
2
-32
-19
-49
-30
-24
-10
-24
30
43
-32
1
-17
-38
-46
20
0
41
17
-70
-77
-82
78
-14
-22
-13
0
-23
-9
-40
3
-21
-29
0
-3
32
-6
-32
-63
-4
-114
37
-3
5
-34
-31
-12
-33
-22
-14
0
0
-4
51
53
3
-96
-75
-6
-43
-22
7
-55
-23
42
61
-68
0
0
0
0
-5
42
41
-72
-21
39
5
-50
35
-39
-33
-3
-11
-19
-2
108
-25
16
18
27
21
0
6
-5
-2
13
-33
-65
-54
1
-14
39
-4
-11
-22
-6
0
0
48
-13
-5
21
32
18
-38
-20
-32
1
-109
17
17
18
10
9
3
57
28
23
16
-4
19
-5
-21
72
47
-11
14
6
-35
26
-6
14
-18
-26
42
38
-9
2
14
-26
-145
26
-15
-28
-65
-50
-36
-25
-10
-13
13
-39
6
25
-30
-49
-46
-56
-23
4
-23
-2
36
-40
-12
4
-50
5
27
-29
41
-22
2
21
-60
108
34
57
-70
28
-45
-11
-2
5
-26
-10
-42
16
28
-52
-25
19
-31
78
-40
24
26
27
-2
3
7
20
88
57
-159
-68
-13
89
31
-3
7
23
-2
22
-64
-51
48
11
-132
-29
118
53
-73
-94
-8
0
54
66
41
18
-48
1
17
22
0
9
-26
-3
29
26
6
85
-17
-40
-14
7
-40
31
1
12
29
90
0
-40
-10
15
1
-14
36
-84
17
63
3
25
9
51
48
6
16
-5
92
33
39
7
-18
9
-58
-32
-25
-15
-32
-55
-1
-8
-51
-5
13
-17
-20
-4
-17
1
-42
26
-23
86
66
-52
-11
5
-14
-4
18
-10
4
13
-53
-10
-20
-43
-36
43
-67
-11
8
-64
20
-21
-22
0
10
6
26
42
-20
9
5
45
-1
-28
-5
-94
-1
-19
-22
-10
25
0
2
2
-18
-39
-9
-50
-18
0
15
-5
-33
-22
32
-13
1
33
52
-36
-9
-21
2
-4
-8
-19
0
2
-28
8
18
-79
30
-24
-52
-9
-36
17
17
-13
-26
6
-10
15
-29
22
22
1
12
1
7
0
0
41
-4
26
-41
-47
-14
0
27
-28
2
8
24
2
7
46
21
3
39
-2
-47
-80
-80
-68
-5
-23
-20
18
5
-8
22
-6
-9
-33
-66
19
33
-6
22
-91
40
-7
11
-7
-14
33
-14
7
-1
-22
-18
-38
-10
9
-96
-93
23
15
0
34
18
-15
-17
-17
13
2
-1
20
3
45
-59
79
31
-1
52
-1
13
25
14
-33
-8
-23
-8
16
34
-22
21
45
-32
-65
-85
22
0
43
17
22
9
40
-6
-10
-15
-56
28
-83
-32
-116
15
-20
5
0
-32
28
-4
17
24
-5
-70
-60
-12
-19
3
-57
-31
-24
9
-1
0
4
34
30
36
-59
-44
28
-66
-28
-11
-6
16
-1
0
0
0
0
51
0
16
19
-22
-26
-20
-4
0
45
26
58
4
-69
-92
-7
-8
31
-21
-23
20
22
23
-6
13
-2
38
-16
13
-14
-5
-62
-5
2
-23
17
27
17
-11
2
8
5
-17
-31
10
-31
47
-2
-42
-23
-4
-58
13
4
41
31
46
-14
9
12
-13
11
-29
75
20
30
-12
-2
-21
-4
29
-12
-4
-18
-9
-28
-5
-6
-38
-42
-66
-8
-36
74
-16
13
70
-28
6
27
3
14
6
16
-19
-8
-1
13
-62
-90
-49
8
-9
-11
-19
8
2
-44
-6
6
-24
-3
12
49
11
5
-6
-56
5
-4
-65
-27
-72
44
-36
-13
2
26
7
-45
-17
-47
111
30
-6
-31
0
-26
-13
-6
-41
-18
-12
4
39
-48
-58
-24
-29
3
28
-5
0
0
15
22
-17
-24
30
15
61
0
34
49
35
-84
-32
10
3
0
-6
-29
9
3
9
16
8
11
-11
-4
38
-3
32
-24
43
5
8
36
-5
-17
-12
5
-5
12
-18
-23
-18
74
-37
65
36
3
4
-8
37
1
-11
-8
-4
21
-12
31
-14
-20
91
-12
-7
-6
-46
-18
2
-12
-16
-13
-9
-27
-29
-8
-4
-91
-28
60
25
1
62
-65
13
0
27
8
-33
-16
13
-28
-15
26
-47
-90
-19
-19
90
0
4
15
0
-13
-6
7
19
28
3
34
-57
-5
101
29
-22
38
29
-1
1
0
-21
-45
-25
-11
-56
-51
-18
34
-85
4
25
18
1
13
0
0
0
23
-72
72
-9
31
5
-99
-61
-5
-102
3
3
12
0
0
0
0
14
8
-5
-36
-17
-18
17
26
0
17
-5
22
-100
-53
19
20
5
6
0
17
-16
15
-4
15
-20
2
14
32
-29
12
-69
6
-5
0
-15
25
14
-9
21
53
26
-13
-13
-21
-43
1
25
-57
-45
-5
0
51
-1
-4
-1
-14
30
-31
-25
-3
30
13
49
74
-35
-16
-45
8
-32
-44
4
-14
32
6
-16
-16
15
15
-3
-32
-24
-9
-2
-14
-2
7
4
-7
-21
-8
-29
15
-11
-31
12
15
36
-5
-64
-101
36
-8
55
3
-7
4
-29
-18
-1
-18
18
6
-35
-50
-36
37
-84
-13
-18
-51
-52
30
26
5
-2
3
-18
-2
60
24
16
-3
-63
73
-20
5
0
-23
108
-29
-31
18
41
-5
-65
6
37
27
33
7
-45
14
0
0
-51
2
6
-9
-5
-2
13
-2
-41
23
-12
-11
1
7
1
4
-6
-28
-5
8
3
14
8
8
-5
1
-6
-1
7
-18
7
-10
8
0
8
4
-33
0
-2
-11
8
15
2
5
-57
-23
-26
-25
4
-13
9
3
10
-63
-44
23
9
-22
0
15
4
2
-32
8
-27
-15
12
-12
6
0
12
35
3
18
-18
-35
-17
3
4
31
-6
-2
-22
-19
-27
23
2
2
70
26
-2
3
5
-14
-5
-12
-1
-16
25
-2
3
-5
-3
6
-9
2
-7
55
1
26
-10
6
5
-3
-2
-7
50
15
15
19
-3
9
1
-2
-4
-1
12
-23
10
16
13
-3
3
-4
-101
21
44
14
19
19
-2
4
1
3
31
7
16
9
0
7
-1
6
10
-17
4
0
-22
2
10
10
7
-26
-9
-22
-13
59
-56
14
18
1
-22
-13
-46
1
-12
-42
-32
-16
-7
-62
-61
-70
-1
0
0
0
0
0
0
-18
-47
-30
-26
-6
-44
-50
-122
57
0
-56
-5
0
0
-10
-18
-53
0
-51
-103
-88
-49
47
0
0
0
1
66
0
0
0
-9
39
14
33
7
19
20
11
0
12
9
40
46
5
4
25
32
14
27
40
10
26
41
0
-8
22
68
49
-8
11
39
26
-2
49
14
54
-45
-86
0
5
-23
-33
-16
-37
-41
-14
-44
47
27
-51
40
-11
-14
0
-98
-29
-43
-54
-17
-3
-5
-10
-22
15
-5
13
2
10
0
11
57
3
-14
10
-32
28
24
25
-9
-7
-30
42
26
0
-10
-20
-25
-19
-7
-9
50
50
29
-17
36
-8
6
10
0
40
-16
-4
-42
-3
2
-22
-22
-5
22
15
-12
28
0
-23
0
7
17
0
0
0
4
1
-12
16
-28
-16
9
5
-1
13
32
-4
-42
15
8
39
17
-10
5
28
30
-19
32
28
19
29
21
-29
-4
21
-9
3
-4
-17
-43
-52
-20
-8
0
-19
59
-6
-29
-7
-42
8
47
20
-37
57
47
-8
-26
0
-22
2
-5
14
-28
12
30
-8
26
-5
-18
0
46
-10
0
4
-24
35
4
2
-12
-5
7
20
-6
19
28
3
-16
0
20
1
18
28
69
8
-53
31
-26
-1
57
-48
0
56
0
-48
-1
-8
24
67
49
-7
-28
7
31
26
-4
14
0
0
0
-81
49
0
0
0
2
0
27
42
12
-21
31
10
0
-19
29
77
65
-34
57
27
-30
30
6
24
-30
9
66
0
50
-30
-21
78
88
13
32
5
109
54
-22
25
-127
-25
0
3
-8
-93
-31
-2
-7
-4
-26
-35
-124
-4
-4
-46
32
0
2
29
-35
-55
17
20
-21
-21
-5
-31
-15
-16
-54
-31
0
-62
5
7
10
-2
-37
-50
-11
-8
-57
-7
27
36
-46
0
79
2
44
20
2
8
-8
-4
-4
69
-40
-8
3
13
0
-2
0
1
-83
35
-19
-2
-15
28
6
4
-1
5
20
-5
-16
8
-2
12
4
10
-3
8
18
4
5
-1
-7
5
22
16
16
-48
-19
38
-10
-20
44
-85
0
-17
35
66
18
-4
72
18
97
0
0
0
-28
-5
14
38
26
57
-30
45
6
-16
-13
13
-2
2
18
5
-13
13
-4
-13
-16
28
-46
7
21
-4
4
3
11
-34
-8
5
-8
-6
-16
3
25
12
-23
-19
5
10
3
-29
6
-21
13
-2
0
33
12
2
4
-18
-12
-4
-24
-9
-18
21
-13
32
16
3
-18
7
-3
-10
4
-3
5
3
12
0
5
0
-14
-7
-14
13
-6
-8
-13
-4
-4
12
-7
19
-8
-21
2
-15
-11
-15
-15
-9
-4
37
14
-9
-6
-14
-16
9
5
19
10
-1
-74
0
0
0
0
0
0
0
0
0
0
-29
-45
-14
-64
2
-49
11
-31
8
-13
3
-34
-27
-23
-41
46
2
-30
-16
-55
-47
-16
-35
27
-7
-54
-58
-47
52
-26
2
2
-4
3
-2
-129
-69
-38
-43
-62
-7
2
-2
8
9
-51
-95
-109
-54
-51
-165
-53
30
-23
-83
-59
-104
-17
-61
-79
-10
-36
-22
22
-1
-33
-39
-77
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-150
-66
16
-8
18
15
0
0
0
-84
-45
14
-3
1
0
0
0
0
12
-27
10
-66
-32
0
0
0
0
-5
6
-39
-16
16
-1
0
0
0
-20
-11
-40
-18
80
22
75
8
5
-27
-40
-9
-24
24
-25
28
7
-23
17
5
4
1
1
4
-4
2
-4
-120
-33
-2
-21
-34
3
-46
-55
-80
0
-85
-36
22
14
22
27
-44
-77
0
-109
-29
-8
-21
52
-81
-56
-25
0
0
-79
5
-9
-31
-57
-48
-19
-85
-41
-38
-28
27
-40
-36
-46
-74
17
-5
55
-49
5
-31
-2
-16
22
0
13
5
-32
-16
11
-53
-42
-5
0
-2
-25
16
32
37
77
40
-40
-47
-39
35
8
41
-31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-48
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
22
-31
-101
5
10
-62
-3
35
-32
-17
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
46
63
37
9
-5
-45
4
24
-72
-8
-23
25
-8
-19
-19
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
37
-18
18
-72
-22
-24
5
3
-9
-37
3
-7
-57
48
-41
29
-66
20
19
42
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-13
-13
-29
12
-93
15
-110
-75
-3
5
-2
-49
6
32
70
23
50
8
-13
-20
-21
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
-15
-17
-1
-33
-48
-49
9
-58
-8
16
47
49
3
94
-44
41
20
82
52
-13
26
23
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
8
19
-22
13
0
44
77
13
-14
23
-20
40
43
12
85
-8
-31
9
-25
5
32
13
14
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
16
-5
-6
-13
-24
-5
8
16
-22
45
40
17
5
26
78
13
23
66
15
49
13
0
17
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-24
0
0
-5
3
20
44
57
22
42
40
48
53
-3
28
79
-6
-29
-16
-24
31
-7
-1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-25
12
61
-8
92
-38
-22
-26
-6
-49
79
34
17
45
-4
31
33
0
28
15
-8
16
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-13
34
14
-41
34
17
19
-10
30
-3
-6
24
34
15
2
0
3
-1
-7
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
12
1
0
30
12
-2
28
4
-1
10
-14
8
8
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
1
0
0
1
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-18
-24
0
5
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-8
-10
-15
8
-3
-9
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
3
6
-1
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-3
4
1
-1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
5
-13
-7
-8
14
-8
8
-1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-10
9
2
-8
1
-23
8
5
14
-6
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
0
-6
13
12
-4
-5
2
-7
0
-2
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-2
0
0
-19
-12
-14
1
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
1
3
-1
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
-6
-22
5
-4
-6
-2
-3
9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-9
-9
26
-18
19
-7
-6
-10
-1
-2
1
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
12
17
-18
-18
18
-1
1
-9
-5
1
-13
-8
-3
-2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-10
-3
8
-8
-1
1
-17
9
13
7
19
-6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-1
21
-6
6
-23
-12
-2
8
-8
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
5
0
0
-3
0
-8
1
12
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-1
-5
0
-10
0
1
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
1
-32
-12
-2
-8
3
1
-4
-12
3
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
16
1
-6
0
-11
7
-20
4
21
-2
2
2
-4
12
1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-8
19
-25
-5
-51
10
14
13
0
-19
-4
-25
6
-3
-3
5
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
0
-30
7
-10
-9
-26
7
-8
35
15
-48
0
9
-12
-16
6
0
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
5
-3
-4
26
9
4
4
-46
-22
-13
-48
17
7
21
8
-8
5
-1
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-9
-9
5
-9
-2
13
-15
5
27
-31
-13
5
-7
-3
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-16
23
-5
7
2
2
1
10
6
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-4
-5
1
5
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-17
-18
3
18
-8
-1
1
-3
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-6
-49
19
4
-2
-49
-19
-25
-17
-23
5
12
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
-8
13
-27
-33
6
-8
-5
20
6
-23
-10
24
9
-7
5
-1
1
2
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-16
-20
-16
8
24
16
-9
12
10
-33
15
-41
12
-37
13
-2
1
5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
4
-25
17
-24
-23
-86
-42
13
8
-10
21
1
-12
15
-4
-5
-5
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-13
18
-20
51
-52
79
-4
60
16
-18
28
29
-1
-10
-16
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
16
-2
37
-13
2
23
-4
-37
53
15
-16
25
2
14
6
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
1
-9
37
37
16
-21
-3
-16
2
3
9
-6
-2
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-1
1
2
3
-5
22
2
-4
5
-4
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-3
-21
4
14
-4
6
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-21
-22
9
-8
-18
8
-22
2
-42
10
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
18
7
3
-43
-20
-4
-23
-8
-17
-8
-8
33
5
-17
8
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-44
17
5
-30
30
-32
-60
-27
-9
-5
-10
32
8
-24
-5
8
2
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-15
-23
33
-13
-40
48
58
14
-15
16
-30
-11
-26
-30
20
-9
8
-14
-6
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-33
-28
-47
1
-24
-65
-36
2
14
-14
17
-47
2
-30
-31
-28
-9
-4
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
2
4
14
-17
-7
-87
25
-29
2
-76
46
14
21
-27
6
-13
-7
-5
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-4
-5
9
-17
-4
-15
0
13
-31
-15
38
5
-17
21
3
-1
8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
8
-16
-2
-3
19
9
18
13
-8
18
0
-3
7
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
2
-7
10
-4
7
6
4
-6
0
-4
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
12
13
4
-5
6
29
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-21
48
29
-39
8
31
-25
25
5
-3
10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
6
-3
-3
13
13
67
-46
-49
-47
35
49
18
5
2
12
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
30
-21
38
4
-4
-13
26
-16
18
58
-7
-21
-42
56
-15
-2
9
7
-2
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-31
45
-26
21
1
-29
8
-12
-5
13
6
66
-29
33
43
13
6
18
20
-4
9
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
62
-41
17
27
-29
3
-73
10
-1
9
50
21
23
22
-51
1
16
12
5
15
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
9
13
10
20
20
29
45
29
40
31
-32
15
-48
30
8
-4
35
10
18
7
2
10
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
-3
-14
87
7
38
-44
8
15
22
17
-4
-5
4
5
17
12
2
-5
-3
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
17
10
3
-23
3
16
-13
-30
16
-20
-37
-9
-20
25
1
-2
7
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-23
-20
13
14
-10
5
7
7
23
4
8
2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
4
0
-2
0
8
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
20
-5
32
31
-17
5
24
-15
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-17
-36
-8
-54
16
-6
-22
-27
-3
-1
-24
-13
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
11
-56
12
-13
20
-10
5
-5
50
6
-72
23
-35
13
-54
9
10
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-11
8
13
-51
-36
-32
-59
14
-11
-58
3
14
-19
-16
14
24
9
-9
-19
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-45
-49
-3
-17
-57
-53
-9
-47
-55
-14
75
-17
-8
-23
-1
-42
27
20
30
-5
15
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
11
43
-66
55
-21
-8
27
21
20
-8
13
15
62
47
37
-22
41
-39
-3
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
13
-15
8
-50
33
59
94
13
-42
-5
44
15
115
73
23
-13
5
5
32
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
9
-12
46
13
-57
52
79
47
20
85
-49
13
-31
22
41
25
5
-13
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
24
-8
0
-24
-41
7
69
22
3
43
2
7
-8
1
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
-12
-10
13
5
-5
1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
13
3
-58
-46
-13
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
49
7
44
46
8
51
-3
30
-20
-16
-4
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
8
-36
52
37
24
-37
-5
16
14
48
-13
-38
-5
13
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-17
-17
-77
-43
5
27
-49
34
3
25
41
-2
-17
68
35
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
49
70
28
22
-38
46
49
31
24
39
-17
-16
27
16
57
-30
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
13
-5
-9
49
-25
58
6
26
-13
8
-5
9
25
22
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
4
7
-7
-4
-12
3
-30
13
5
14
6
-13
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
6
-7
3
9
2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-7
-29
-20
37
23
70
-14
-63
-73
-67
38
-53
-1
13
46
-6
-10
-17
-60
-1
23
1
23
-25
-14
16
-35
-50
45
-17
-12
41
-43
-15
4
-45
147
-2
-17
5
-81
-11
-34
26
-36
25
97
58
-11
28
-7
-3
0
-48
-13
42
-10
91
-13
28
14
23
-3
25
53
7
25
29
2
0
0
-12
-24
2
26
4
-7
-22
11
21
0
3
23
24
-28
22
9
0
0
0
-13
-49
16
-58
10
-23
37
-2
0
-22
-47
-31
-30
-2
12
-23
-5
-16
3
20
10
-21
-4
47
0
-39
-42
-51
-51
21
-73
-6
100
9
5
44
-2
-16
-16
-4
-3
1
2
2
-31
-35
-5
-45
-2
64
30
71
-30
-13
7
13
32
5
0
-1
-17
-34
-11
28
-3
52
-34
36
30
-41
-51
-48
35
21
14
0
0
-8
-13
-8
5
-37
-75
21
-37
26
-51
-24
22
45
78
-38
0
0
-3
-31
-29
-21
-4
-34
-50
0
-9
63
-12
-72
-67
89
21
0
0
0
-5
0
-42
-13
23
7
54
18
61
109
52
27
93
46
0
0
0
0
0
0
16
43
14
4
12
32
17
58
-8
-8
-14
1
-21
0
0
-16
32
-73
26
0
34
-18
57
-52
-42
2
-31
-23
2
-7
-20
-68
-18
24
-22
-69
0
15
-22
50
50
30
4
-42
-5
1
-13
-12
-20
-11
-12
23
-42
7
9
-52
21
26
-43
17
21
-65
-1
-29
-55
5
27
13
51
13
33
52
-24
-61
17
-62
-14
46
-13
0
-8
-25
2
28
-3
15
-15
77
24
31
6
8
-22
-15
20
4
2
-3
-30
16
25
5
-15
3
6
18
42
22
-52
15
-17
-11
-62
0
1
3
8
50
34
-73
6
18
23
-53
34
14
23
30
-9
5
0
0
-4
-4
14
15
-25
68
32
-41
5
-35
20
26
6
53
58
0
0
0
0
3
45
-42
-29
-49
-81
3
-13
4
-17
25
-50
19
2
15
32
23
10
41
22
0
0
0
19
51
43
12
-36
-14
0
-19
-4
7
-17
62
51
65
5
24
-9
-12
41
22
23
-61
12
-1
4
28
-11
1
12
-51
-2
-36
18
84
-6
44
-24
-1
-5
36
-62
-4
-56
-16
-4
23
-57
6
5
-26
1
31
-21
10
16
-21
-63
7
5
7
-3
8
49
-3
-31
-10
-28
-22
15
26
-39
0
-25
-2
-25
0
-23
-20
-30
-64
39
18
-3
11
-57
-17
33
-3
25
35
5
-31
-1
12
18
38
-39
-41
-53
-66
-29
6
-23
-4
-17
10
-6
35
-66
0
-1
-35
-6
-15
-2
-49
-64
70
-13
-45
-26
14
-57
13
-15
-33
0
0
0
2
-10
-2
-9
-29
-42
-41
68
27
-19
-8
-8
12
-1
-15
-42
-52
-23
-30
37
25
2
0
95
71
31
-13
-3
-2
-30
7
-24
-54
-88
-22
-27
31
49
26
0
12
46
-3
-40
-19
3
-47
-18
-6
-51
-48
12
-30
14
-14
43
31
84
75
0
-33
-30
0
-31
3
-9
-43
-50
-25
-22
24
13
45
84
67
-5
16
-20
-14
-20
-42
-16
-2
-9
-1
-54
-8
-16
12
-57
63
70
-31
-19
41
-9
-26
-31
-39
-12
13
50
-21
-20
-5
35
-13
48
43
-22
-57
14
25
2
-34
-20
-6
-17
31
-38
23
-9
-40
5
28
21
46
22
-45
-20
4
-41
4
2
-12
-3
-1
42
7
-16
16
-35
6
39
-66
-5
36
15
-41
5
0
2
-8
-4
53
-8
-68
-15
46
-1
-7
-7
-22
16
-3
-24
-7
-21
-5
-12
37
44
23
66
17
0
-3
7
-26
7
-3
15
0
0
-13
-14
20
37
23
78
51
9
53
51
75
-6
-37
-1
-4
-7
0
-31
-3
-26
57
57
31
-39
-1
13
26
-71
-9
32
20
2
-8
0
28
-39
26
125
-41
-46
5
59
-28
32
-3
-30
-16
-6
11
1
0
28
65
-49
48
20
29
31
22
35
-6
-32
-16
3
-24
-4
3
-1
-56
13
41
38
15
-1
-54
30
2
1
-19
-18
29
-10
10
1
0
17
-31
7
-29
-47
43
-21
-27
-12
-30
23
-2
-7
14
-8
1
0
-20
-130
-75
-80
38
-1
5
5
-40
54
-31
7
42
31
4
0
0
-3
13
31
-15
-7
-97
16
-21
33
37
15
-3
1
-3
0
-2
0
14
-49
0
-86
-63
13
65
-33
0
-37
20
9
-22
-8
-20
26
0
19
-47
-24
-2
49
-2
41
-41
48
7
-64
-34
-27
13
3
25
-1
39
-3
-36
-16
21
68
-7
-36
-40
19
-1
14
-26
-20
-30
40
0
-42
38
-10
-56
49
28
2
-11
-42
16
-13
-30
5
-4
-12
34
0
8
45
-2
8
49
-15
22
30
35
-50
-14
-9
-25
8
3
13
1
-34
-17
-13
21
20
-10
63
31
-13
-23
2
-4
9
-22
3
-3
2
-7
-24
-12
56
37
66
-108
31
-19
-51
-52
52
27
43
-10
-5
2
-22
-81
-27
9
-6
-41
-4
-46
-59
-20
-30
10
32
5
-2
-2
0
-22
-60
15
-22
8
-9
-24
-71
52
6
35
2
15
13
-2
0
0
41
-20
40
-19
-14
-5
26
24
0
3
-43
1
-18
6
1
0
0
-32
31
24
85
-14
-2
16
39
8
53
33
-58
-37
8
-5
2
0
-6
-23
-8
18
-8
-38
-12
38
19
19
-34
-6
-31
-16
-3
-2
1
26
65
48
28
79
13
-31
-4
-37
-57
-44
-67
-4
-13
-2
-1
0
-25
41
2
49
-4
34
-7
49
-27
-1
-6
-22
-25
-25
0
-1
0
65
50
-4
5
62
41
-57
37
62
57
1
-2
42
-24
-1
-1
0
43
40
45
-41
-24
1
-4
22
-29
-36
-11
-37
-30
1
5
0
0
19
33
13
30
58
57
-28
-31
-23
-17
26
4
1
-5
-1
-1
0
-13
-49
20
-4
-6
-1
-16
-47
-12
-31
2
-5
1
-1
-1
0
0
-5
35
-5
46
3
-29
-55
44
0
58
40
-15
0
-10
1
0
0
-28
-4
12
52
-15
76
40
-5
7
13
40
-23
8
-9
0
1
0
-24
-4
-2
-27
64
-5
1
-5
65
8
13
-20
-19
-7
2
1
0
5
-15
31
13
-44
28
7
10
85
-22
-14
13
13
1
3
1
0
22
-29
42
-39
40
-20
-4
32
-12
-34
9
-5
-3
-7
0
1
0
-8
5
-45
-21
-33
-33
102
-49
31
-27
18
16
-5
-5
0
0
0
-21
-6
-48
-24
-7
-1
18
18
52
-22
-6
-21
-6
4
0
0
0
-82
-87
31
21
15
-2
35
24
16
22
-6
2
-1
2
0
0
0
23
-14
-46
-34
49
-70
-7
-34
-22
-5
-1
-15
0
0
0
0
0
0
-4
12
13
-42
11
48
77
0
132
70
48
43
54
-17
4
-17
0
-10
-17
-30
46
24
-26
0
55
31
-11
83
76
11
-4
93
-2
-4
-8
4
9
15
39
-1
-20
27
-21
74
-19
-29
143
-1
56
56
-2
-27
21
-27
45
-7
-83
68
-9
31
-18
-6
3
-42
-12
81
4
1
-7
-27
-7
-31
-22
16
-34
-17
0
-43
21
-46
-95
-78
34
23
0
-3
-44
-1
-27
3
-1
13
17
14
-32
-21
-99
55
91
33
-28
0
8
-7
-19
2
-16
-19
28
11
87
-120
-14
-27
42
-5
-30
-24
0
0
-1
8
-25
21
-26
-46
13
-13
-7
24
-8
-117
-9
-7
1
0
0
0
3
0
1
-41
-19
-23
4
-10
32
-65
-35
-3
7
0
0
13
-9
-29
-8
88
24
-15
0
63
10
31
83
-51
51
34
22
-1
-19
0
5
6
-11
34
-26
5
0
47
39
-16
19
-29
-9
72
0
-6
29
-4
16
5
21
2
2
-51
-27
44
-7
-68
6
30
-49
0
-5
-14
15
27
2
6
-10
-21
3
-35
-12
-36
-18
-5
43
14
0
0
-3
1
29
71
-50
-17
94
33
21
-14
-27
-9
-54
-16
-33
0
0
2
-20
-39
-19
18
-13
52
17
-22
-1
13
-78
20
-22
22
0
0
1
1
-8
-14
-19
-22
-33
-37
5
-20
110
5
-17
34
-76
0
0
0
0
3
-8
5
-17
-64
-27
51
-18
21
-12
83
68
-43
0
0
0
0
0
0
-8
-8
-8
-13
26
-9
41
0
-3
-42
30
-1
-5
18
31
-26
25
-28
-2
0
-1
-7
-10
53
14
-93
8
-7
0
0
-13
44
54
-20
10
0
93
8
66
83
-11
49
11
7
27
0
-43
29
24
-10
19
42
0
60
-4
50
15
52
-16
-106
-24
22
-4
40
37
55
26
-5
12
10
77
-54
1
-53
7
-28
15
75
-23
9
8
11
77
31
2
-41
6
38
39
-72
23
43
-66
-6
-15
-2
1
6
-19
8
-3
49
-38
-31
-25
20
51
-19
-40
4
-23
-7
-3
0
-14
-1
-34
28
27
-44
-69
34
29
5
-35
-67
5
-28
-8
-4
-1
-2
5
5
-6
30
30
-13
35
-22
34
15
-10
8
8
-2
-1
0
-2
-2
-10
-31
-4
48
-92
-41
-9
2
27
-13
-10
0
0
0
0
-14
11
-27
27
-32
30
67
0
48
44
56
-36
-25
41
-25
-12
-27
-16
28
-14
31
-53
1
12
70
0
21
19
26
83
33
20
-31
3
-16
-6
30
-9
30
30
29
32
39
63
76
27
5
-6
53
17
1
22
-42
-37
16
-14
-4
8
30
-10
9
29
24
38
-1
-42
49
0
1
28
-25
-10
71
49
-25
28
-58
-28
21
13
-29
6
32
-22
0
9
-9
13
-4
26
11
16
-31
43
6
3
26
-5
15
-20
-9
0
-1
3
-9
-31
7
53
-99
-32
-54
30
25
-11
36
13
31
-4
0
0
-1
2
1
-11
5
31
-23
-59
-48
33
38
-33
16
-46
3
0
0
0
-1
3
-8
-13
36
-47
8
-60
-22
24
34
-90
39
23
-33
70
77
24
-44
23
25
54
0
-99
89
-24
-5
-3
0
0
0
41
26
-5
44
-30
-84
-45
0
86
37
67
-41
-29
-18
-22
7
0
41
-15
-19
66
10
12
21
47
75
57
34
-12
7
-13
5
0
0
13
4
51
11
39
83
25
118
-14
61
-39
-9
-38
-9
-2
4
0
-12
19
40
-5
2
72
40
0
-12
39
9
1
22
-4
-2
-3
0
-44
21
78
-51
-10
-23
-29
24
22
-4
-17
-49
-23
-14
-7
0
0
-1
-28
76
-49
-3
22
-25
-45
-24
-13
-87
-4
-17
2
4
0
0
31
-3
-28
71
-7
45
-23
-32
-57
-73
39
-21
10
0
0
0
0
-30
-43
-9
-42
110
-48
-9
5
21
-16
1
0
0
0
0
0
0
9
-67
-70
13
8
2
-27
22
0
65
39
-13
27
-14
-5
-1
0
25
-17
-12
18
34
39
-24
-17
22
-16
14
-43
5
-4
-1
3
0
70
7
46
-12
55
30
49
15
-1
44
17
-56
4
1
-2
-1
0
-67
50
-13
68
5
28
-23
14
58
-56
-18
-25
-54
-19
-1
3
0
5
-22
-51
19
45
-28
0
13
17
-45
70
-30
12
-19
13
1
0
-31
63
-11
-63
27
-7
39
15
21
-5
10
-31
18
-5
-8
6
0
-2
-19
8
-35
-30
23
-6
-23
9
-30
17
-49
-26
0
-13
-4
0
1
-28
13
-9
1
-34
7
-21
-74
-14
-42
-3
-14
13
0
-1
0
0
4
-31
18
0
10
-20
27
-19
27
-57
-9
7
1
2
0
0
70
43
61
-4
80
-4
40
-93
0
-3
31
-34
-19
-8
-1
0
0
-2
30
-57
0
26
-18
52
6
-23
-6
11
-11
17
-13
43
0
-1
55
30
17
32
34
60
-31
26
25
-23
26
16
-11
57
1
0
0
75
-19
-21
-6
-7
41
39
34
-9
15
-16
23
36
8
-1
0
0
43
49
38
25
11
24
57
6
-14
47
6
24
8
0
0
-1
0
87
-46
32
-48
13
63
-105
-33
28
-7
-28
1
8
2
2
0
0
-32
29
32
43
-55
-33
49
-7
31
19
31
5
1
0
0
0
0
29
-8
-9
-24
-23
3
7
18
23
22
-3
-7
0
0
0
0
0
-27
50
-9
0
41
-15
-16
29
3
-9
0
0
0
0
0
0
0
35
47
22
46
-49
5
-16
1
0
43
-1
-14
-2
27
0
-1
0
-50
-33
38
-9
66
18
-35
33
-5
15
77
-11
-4
-13
17
0
0
47
15
28
-9
37
59
78
6
-42
-67
-5
-37
-30
3
-3
3
0
58
-30
-4
37
-14
59
-34
27
-4
11
-63
-30
-5
5
-5
0
0
-5
-24
55
22
23
-5
16
-12
11
-5
20
-58
-29
2
2
0
0
-61
50
86
-20
9
42
17
15
-53
-46
-79
-23
0
-18
8
2
0
33
46
50
89
-43
-35
5
2
-4
12
13
4
9
-21
-19
0
0
-17
24
-13
17
-35
50
-48
-22
5
-46
8
-9
15
24
7
0
0
0
3
16
-41
-20
-23
41
-14
8
4
39
-14
-14
9
2
0
0
0
5
30
36
31
-4
-18
-10
20
-24
6
-3
6
1
-9
-1
19
-10
8
-51
-16
0
-7
5
6
4
22
-30
-16
0
6
5
2
1
5
10
-12
-18
-13
-1
9
6
13
-9
14
5
4
-20
-4
-19
17
23
-6
16
-19
13
9
18
10
16
-14
-7
23
-5
1
-26
22
6
-23
27
0
-14
43
-3
8
34
-1
23
-24
12
19
-8
-5
-14
19
22
18
31
15
-16
17
-8
-8
-12
7
-6
-4
-1
9
51
6
6
9
-17
-4
-8
-1
-2
13
-15
16
-9
-1
1
1
7
-14
2
12
14
-1
7
5
-12
-4
-18
14
15
-3
3
8
5
-8
0
-5
22
-18
-32
-3
12
-1
4
-8
23
22
19
-27
15
-9
11
-17
15
-3
-6
-6
48
-27
15
5
5
-8
-44
-5
17
8
7
33
-36
13
-48
58
-44
0
0
0
0
0
24
10
0
0
0
29
44
-17
-45
-9
31
1
0
0
0
0
0
41
85
0
0
-15
-13
59
127
-81
-10
-15
-3
0
0
0
0
-6
155
143
184
120
158
19
-82
28
-51
-54
22
-1
0
0
0
0
11
73
207
160
140
129
50
-78
18
4
54
24
0
0
0
0
4
81
118
141
154
116
66
23
-31
-11
2
31
-18
0
0
0
0
0
-3
40
61
38
27
-18
22
55
9
-20
-19
-13
0
0
0
0
0
4
-75
-33
-28
-68
-89
-61
-82
9
-45
-55
5
0
0
0
0
0
0
-40
-78
-94
-111
-87
-78
41
23
38
-1
3
0
0
0
0
0
0
-52
-134
-144
-112
-113
-43
41
-8
13
3
0
0
0
0
0
0
0
1
-9
0
0
0
29
4
45
-10
8
0
0
0
0
0
0
0
18
-66
0
0
-24
41
47
-12
-6
-2
41
0
0
0
0
0
-1
64
-46
111
122
120
-5
-16
3
18
-25
-10
0
0
0
0
0
8
48
-1
85
67
61
17
-101
-13
-14
-8
-3
0
0
0
0
0
3
21
94
77
48
13
-25
8
-2
-6
6
3
0
0
0
0
0
0
-39
8
19
31
-60
-86
5
-2
8
22
2
0
0
0
0
0
0
-75
44
9
1
6
-58
-7
9
-8
9
-1
0
0
0
0
0
0
-7
6
44
-56
-74
-73
-22
9
-22
3
-3
0
0
0
0
0
0
0
6
-60
69
36
-13
-15
0
0
0
1
0
0
0
0
0
0
-60
4
0
0
0
41
31
46
-11
19
2
0
0
0
0
0
-1
60
-52
0
0
-13
25
5
-15
-42
-8
8
0
0
0
0
0
-3
52
5
50
76
69
-15
61
-42
-68
14
1
0
0
0
0
0
4
6
198
164
120
61
13
38
-13
25
-17
31
0
0
0
0
0
-7
103
113
111
47
-22
0
-23
-79
-66
8
0
0
0
0
0
0
0
36
77
39
41
-3
-44
28
26
59
-12
0
0
0
0
0
0
0
-61
-39
-11
-79
-50
-4
2
-45
4
9
13
0
0
0
0
0
0
-2
-26
-137
-85
-131
-37
-8
8
1
1
0
7
0
0
0
0
0
7
-67
-33
-43
-40
-5
1
-2
1
-1
9
0
0
0
0
0
3
31
15
0
0
0
47
19
-9
-18
-6
0
0
0
0
0
0
-33
75
-31
0
0
43
-22
-33
17
6
0
-1
0
0
0
0
0
85
-8
29
47
113
89
-26
55
65
-2
8
-1
0
0
0
0
0
60
148
56
74
89
65
-14
-1
-55
-46
4
0
0
0
0
0
0
45
56
104
102
138
121
-66
-12
-34
-14
-14
0
0
0
0
0
0
-54
-7
77
16
31
-73
-110
6
-8
29
15
0
0
0
0
0
0
-31
-65
61
-22
-46
-28
23
-15
4
1
1
0
0
0
0
0
0
1
-10
-61
-66
-14
-14
-8
22
-6
-15
0
-1
0
0
0
0
0
0
4
-8
-11
-127
-26
5
31
0
0
0
0
0
38
-44
-15
29
26
13
-44
0
0
0
-58
36
-9
38
9
-6
0
4
-61
-23
-23
8
-42
-34
0
0
0
-69
69
13
21
8
5
-1
-23
-56
83
20
30
-43
-2
-6
31
11
-14
31
-12
12
5
1
2
31
75
-25
3
49
55
29
30
31
48
32
17
50
-14
-30
-7
-4
-43
42
50
99
59
6
51
-2
36
103
-26
7
50
2
-33
10
0
-29
41
36
103
71
66
31
2
-19
14
51
0
1
6
-15
-19
0
49
14
130
1
38
55
8
15
-18
-34
49
-7
7
-29
-21
13
-6
4
18
38
56
60
2
117
-48
3
-18
-88
-14
-48
-30
8
3
5
4
81
10
-23
33
-5
-60
-63
-3
-69
-40
1
41
8
5
0
0
-14
29
37
-32
65
-19
15
0
0
0
12
13
55
66
14
2
-15
44
34
26
14
55
6
-6
0
0
0
46
16
20
20
-9
-12
-15
20
5
-30
25
102
36
-7
-26
11
-46
24
27
-27
-48
19
-28
6
-23
18
-49
-19
25
29
20
34
-28
-1
-22
57
-36
-44
28
27
13
-5
25
-10
11
48
33
57
77
17
36
41
27
-7
-17
-30
22
0
-28
-4
76
24
33
-47
21
57
53
19
-65
-19
-27
-31
-4
-7
-2
25
34
-7
45
25
95
11
35
56
-14
-5
26
43
-21
6
6
7
-22
15
-23
91
50
-82
-25
11
3
-2
22
-33
29
36
9
-20
-4
16
29
41
-50
-10
37
-52
3
-34
2
-23
14
-9
51
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-24
2
46
-3
59
0
0
0
-21
38
13
18
16
0
0
-4
-6
-9
4
32
38
-101
0
0
18
-1
4
49
-17
-5
10
0
-7
-3
3
15
25
29
42
98
46
-57
20
9
-20
5
1
-1
0
2
1
9
6
24
5
88
146
101
32
-56
-33
5
-31
-12
-13
0
-18
3
9
4
-6
4
31
46
-24
-28
-50
24
-4
20
-16
-12
0
-2
-9
5
5
-18
-11
-38
-77
-96
-90
-74
-38
-8
-13
3
-13
0
-66
35
-28
-8
-24
-7
5
-68
-110
-113
-75
-2
-22
-31
-41
-1
0
-6
55
-9
33
-72
-69
-129
-156
-54
-15
-4
36
6
-18
20
6
0
-5
49
6
1
-114
-27
-15
-25
-35
-46
-14
1
0
-1
0
-1
1
-90
-58
-21
-4
16
28
94
0
0
-10
12
27
-4
-31
-9
0
0
-105
-86
-15
0
10
22
36
-2
4
-6
-12
42
-29
-10
-10
8
0
-52
-46
-11
0
9
11
20
36
-41
-47
-34
66
-8
-66
0
-2
0
-55
-8
5
0
-1
-4
70
66
37
83
-71
-14
1
-11
13
-5
0
-72
-6
11
-4
-8
-17
18
31
3
-44
-5
-27
-25
24
-7
0
0
16
18
29
3
-14
-27
-20
-6
-44
-133
12
-31
76
-27
-14
0
0
32
9
17
1
-22
-42
-44
-66
-81
6
-66
27
-44
25
5
0
0
73
65
10
2
-15
-58
-54
-46
-109
-71
-28
-5
27
-5
0
0
0
8
11
30
-5
-40
-48
-65
-58
-37
-106
7
-27
8
3
0
0
0
21
18
4
35
7
27
50
0
0
-8
1
8
-4
1
0
0
0
-13
4
32
49
55
52
61
-32
-52
0
0
-17
-10
-2
0
0
0
-3
2
16
-18
-13
-2
-56
0
25
-30
1
-16
-5
4
0
0
0
-1
-1
16
-18
22
5
5
18
70
12
5
-14
-14
-3
0
0
0
3
-1
-14
-31
-4
12
-8
-56
-160
-36
-12
2
-15
-4
-3
0
0
3
0
-12
-33
-13
0
-95
-52
-71
-17
-46
11
-20
-2
-1
0
0
0
-7
-18
25
-35
-32
-48
-92
-50
-58
-39
2
18
-2
1
0
0
30
-1
-40
-18
7
-18
-56
-54
-104
-64
-16
-13
-2
9
0
0
0
-12
-30
-50
-14
-23
-22
-9
-64
-96
22
44
-18
-15
-2
0
0
0
33
-2
11
27
90
82
24
-75
0
-18
-26
-12
2
1
0
0
0
-7
3
31
44
38
4
0
-13
-12
-1
2
10
-18
1
0
0
0
0
2
20
20
10
19
27
-67
76
-55
3
-45
6
6
0
0
0
7
5
9
5
10
-57
13
-34
-52
-20
-6
-30
-41
-1
0
0
0
4
-1
-10
-32
-36
-40
-72
10
-57
-33
-6
27
-41
-4
0
0
0
-3
-8
-38
-26
-63
-76
-46
-89
-101
-1
13
-10
-3
-34
0
0
0
-8
-4
-45
-56
-147
-97
-92
-47
-104
-53
-52
-106
-15
-5
0
0
0
-27
-29
-31
-84
-112
-89
-91
-91
-78
1
-13
29
6
15
0
0
0
-21
-23
-26
-68
-96
-41
-30
-24
-6
-25
32
0
2
0
0
0
0
3
0
-6
14
34
14
-9
0
0
-22
42
24
-3
-1
-7
-6
0
-14
-9
-6
12
29
8
-3
0
-43
0
24
30
26
-18
-5
14
0
-6
-10
-4
10
19
23
5
71
33
-7
30
-20
-18
-25
5
-4
0
-16
-11
-1
6
13
13
11
17
88
10
4
-9
-10
23
-1
-7
0
-15
-5
-4
-2
3
27
25
41
31
30
45
10
-31
-23
-8
5
0
-36
-17
-14
-16
-23
10
-2
-8
-10
-125
-81
-23
90
-9
2
1
0
-45
1
-9
-28
-8
-17
-19
-92
-136
-128
-114
-48
1
-22
1
-7
0
-15
20
-58
-89
-21
-47
-27
-83
-200
-84
-88
-13
-22
-32
-7
-1
0
-5
-48
-75
9
-27
26
-24
-44
-22
-42
6
-7
-4
-6
0
0
0
-14
-31
-9
3
-12
-11
-21
8
0
5
-53
3
0
0
3
-1
0
3
-16
-2
-2
8
-17
-17
0
-70
0
-71
34
24
-6
0
2
0
-8
-3
-5
-11
4
-12
4
7
-77
-11
-11
10
3
0
13
4
0
-6
-3
-2
-1
-14
-21
-30
32
27
-5
31
-13
-7
3
-2
2
0
-11
-6
0
-2
10
-25
-9
57
25
49
33
-36
-31
0
-2
0
0
-24
-1
13
5
-3
13
37
37
-24
70
96
-19
6
24
8
-2
0
-58
-13
7
-11
-17
-18
0
-44
-32
-28
-50
7
-5
7
-2
0
0
-28
-15
-7
-26
32
73
-33
-49
-31
24
-32
18
0
6
0
0
0
-62
-78
-7
-38
21
25
-14
5
66
5
-3
2
0
0
0
0
0
-16
4
2
-1
-5
-44
72
0
0
0
-18
4
24
-7
-1
0
0
-10
-2
-3
4
-14
-3
-31
-48
0
74
1
13
5
4
25
-23
-2
12
1
-2
5
-9
15
3
-22
13
-4
-5
10
1
1
8
0
0
33
-3
1
13
-26
7
-28
-19
64
1
14
46
14
8
-4
-4
0
19
-6
-1
-3
-4
-8
11
-16
89
34
18
-53
-2
3
-3
7
0
1
-2
-4
8
11
17
24
20
0
31
49
-11
-1
-5
0
0
3
6
-14
-4
-1
-14
6
24
33
-12
24
-1
6
-2
0
0
4
0
4
-10
-20
-51
11
-6
-169
-18
-9
-72
26
-22
1
-2
0
0
0
23
0
-34
5
-21
-28
-42
45
-17
42
-4
0
0
0
0
0
0
0
0
0
0
0
0
-20
25
0
-7
65
93
176
130
15
-64
27
0
0
0
0
0
2
37
-11
57
50
14
191
181
60
6
60
10
0
0
0
0
0
0
21
45
-23
32
-26
30
95
77
37
67
-9
0
0
0
0
0
0
-1
-46
19
-8
18
2
154
19
120
101
58
0
0
0
0
0
0
9
-42
-3
-15
-9
4
73
50
79
66
34
0
0
0
0
0
0
-1
5
25
33
92
1
-16
17
60
35
68
0
0
0
0
0
0
0
0
8
22
17
-82
11
-21
-26
9
24
0
0
0
0
0
0
0
1
-2
-16
42
-70
-124
-76
-63
-37
-10
0
0
0
0
0
0
0
0
0
0
3
-4
13
-130
-87
-121
-32
0
0
0
0
0
0
3
24
0
7
-7
141
60
108
-10
69
51
0
0
0
0
0
0
4
-17
-19
-12
-7
73
116
88
28
22
49
0
0
0
0
0
0
-2
18
20
-5
102
-1
110
18
41
94
-50
0
0
0
0
0
0
0
-7
-6
-25
-4
103
-11
-65
50
26
20
0
0
0
0
0
0
0
0
-5
-1
-13
66
73
-8
39
-35
69
0
0
0
0
0
0
0
0
0
1
7
22
15
-6
46
71
26
0
0
0
0
0
0
0
0
1
0
-2
-47
-95
-41
4
10
37
0
0
0
0
0
0
0
0
0
1
0
-6
-30
-55
-63
-28
-45
0
0
0
0
0
0
0
0
0
4
0
0
-8
-43
-25
-25
-18
0
0
0
0
0
0
6
26
0
10
92
115
85
75
158
1
-52
0
0
0
0
0
0
11
36
-48
-36
50
102
28
7
62
49
-5
0
0
0
0
0
0
-13
-30
79
31
-52
93
69
12
-59
-41
50
0
0
0
0
0
0
1
18
-24
4
103
76
8
30
88
50
26
0
0
0
0
0
0
0
16
4
24
-25
35
51
22
97
49
59
0
0
0
0
0
0
0
-1
0
1
-20
29
-30
35
-51
-32
-23
0
0
0
0
0
0
0
5
-4
0
7
3
-16
18
-1
22
-8
0
0
0
0
0
0
0
0
0
0
0
1
14
-39
-36
-1
-29
0
0
0
0
0
0
0
0
0
0
0
2
-1
-109
-90
-31
-93
0
0
0
0
0
0
-9
-10
0
-20
107
43
54
96
42
-40
-65
0
0
0
0
0
0
1
-16
17
-18
90
82
70
83
13
36
57
0
0
0
0
0
0
19
-25
-5
-16
-23
127
109
45
-19
-5
8
0
0
0
0
0
0
-2
-41
-19
33
-42
26
116
68
111
33
20
0
0
0
0
0
0
6
10
0
6
48
5
62
78
118
68
-4
0
0
0
0
0
0
1
0
0
0
-13
-35
52
-75
39
112
44
0
0
0
0
0
0
0
-1
0
0
-3
-5
-18
-24
4
-76
63
0
0
0
0
0
0
0
0
2
0
0
-16
-43
-41
43
5
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-32
-21
-14
0
0
0
0
1
-32
10
-1
0
15
17
48
48
5
16
-3
-22
0
0
0
1
7
5
19
-10
-45
7
-14
15
58
9
4
10
36
0
0
0
1
-3
12
45
23
-28
-39
22
30
74
17
52
19
24
0
0
0
0
0
-12
-11
69
42
42
13
4
-52
-11
31
24
6
0
0
0
0
0
2
21
-7
-12
57
83
2
21
24
10
-30
14
0
0
0
0
0
-18
8
-16
41
49
42
30
-11
24
-7
12
-2
0
0
0
0
0
3
2
18
88
29
25
54
32
12
-32
13
27
0
0
0
0
0
2
2
-17
-50
-72
118
0
47
20
0
-3
-10
0
0
0
0
0
0
-1
5
31
-24
89
12
-56
-24
-10
14
39
0
0
0
0
1
-11
30
1
0
-36
46
-13
-7
-20
24
-16
-29
0
2
0
4
9
-40
52
-40
26
-21
-31
74
-23
-1
47
35
41
0
0
0
0
-3
6
-8
89
-1
-23
43
13
11
39
74
-2
-65
0
0
3
0
2
5
-35
-5
3
12
30
-12
37
11
-22
64
-23
0
0
0
0
0
-2
-43
70
-20
24
51
62
77
-9
10
15
66
0
0
0
0
0
16
-7
1
15
38
36
98
-26
-14
31
11
13
0
0
0
0
0
4
23
37
2
46
41
55
70
-9
3
31
3
0
0
0
0
0
-1
4
-34
27
-14
-1
80
95
80
-3
-37
46
0
0
0
0
0
0
0
-5
41
14
22
-18
-58
-18
28
39
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-13
-33
-31
82
-7
-1
0
1
6
30
44
-65
-86
-112
-5
0
42
-30
47
46
37
2
-5
1
0
4
53
22
-43
-19
-28
-65
0
-7
25
33
52
2
-2
0
-1
3
1
29
36
-11
16
-58
33
1
-2
-25
27
-10
-18
-12
-11
0
-16
3
35
1
23
76
-23
31
0
-5
-8
-31
9
-99
-46
-14
-25
-26
-20
-15
37
7
85
-49
-24
4
-13
3
-31
-5
35
-16
-58
-26
-102
-54
-50
-39
-60
9
-13
-51
0
-1
-4
-3
-3
4
-76
-67
-50
-103
-81
-59
-76
6
3
-86
-66
0
0
-1
0
8
-3
-13
-20
-115
-134
-94
-60
-45
11
-66
4
-30
0
0
0
0
0
-1
2
0
-20
-39
-13
-42
-6
-6
-29
-48
-6
0
7
-53
7
-29
-23
14
-2
0
0
0
1
3
-13
-86
-48
0
0
12
-42
-34
56
37
-23
-80
-15
0
-1
1
13
14
-15
-37
0
1
-34
-32
42
15
117
-5
-39
-5
0
1
0
9
-1
-33
-46
0
0
23
-18
-10
-6
-39
10
13
-8
-1
0
-1
11
36
-8
31
0
0
6
52
-22
17
20
44
36
23
-1
-2
-2
17
55
30
98
0
0
-4
-37
-3
16
55
27
98
19
-2
-1
-7
3
48
11
-3
0
0
-14
-20
-9
75
2
13
3
13
0
-2
-3
3
33
61
-4
0
0
0
22
23
5
19
36
16
-9
1
-2
-7
-18
50
13
-17
0
0
0
8
51
-65
22
-46
5
-6
7
2
-9
-58
-5
-5
-13
0
-20
-12
86
-26
-39
49
-4
-1
0
6
11
33
23
-22
-50
-19
0
-5
-11
-20
-30
54
12
2
0
3
13
-8
20
17
-49
-32
-60
0
-5
0
8
18
21
4
6
2
1
43
20
-26
28
60
-3
-52
0
1
-3
-22
11
1
-26
7
0
0
-22
12
-23
29
-54
135
50
0
3
0
12
18
14
-26
-1
16
-1
-11
-37
2
-1
13
-25
33
0
-1
13
7
-19
-10
-10
2
0
1
-28
-12
-21
-25
77
-101
-14
0
-5
-8
6
28
-34
-17
-6
1
-1
-35
6
-16
-41
-9
-24
-44
0
-12
4
-18
-4
22
-16
-1
-1
-9
-25
-10
-26
5
-9
-43
0
0
-3
39
-5
-46
5
-12
-3
-2
-6
8
-45
-18
1
-131
-32
-23
0
-2
-12
-15
-55
29
-14
1
0
0
11
3
18
-9
-57
-2
0
0
-5
-34
-2
-18
-32
10
-4
1
2
2
15
32
-20
-76
47
0
0
-3
-4
-26
23
-15
-28
-5
0
0
27
-1
31
-29
-81
-59
0
0
0
-8
-13
-21
-25
16
-9
-4
-2
9
3
24
-22
13
-50
0
0
0
8
5
-23
13
-18
-18
-1
-3
5
2
-4
10
0
-59
0
0
-2
7
3
-28
-13
-24
-3
0
-3
-2
30
-1
-3
18
32
0
0
-6
20
-1
14
-11
-21
2
-1
-15
-18
0
17
-1
-59
-49
0
0
-13
-13
-8
-16
-17
-23
-9
0
-3
5
-101
10
32
-55
-66
0
0
0
0
-2
-1
19
-4
-3
2
-24
-89
-13
-31
-44
-53
-101
0
0
0
2
-13
-8
-1
-74
-12
-2
0
2
6
28
32
-4
-6
-40
1
0
0
-8
4
-23
-14
5
-1
0
1
13
33
42
50
26
-31
-41
0
2
-48
41
-27
-29
23
-11
-1
-1
2
17
0
63
-2
16
-67
0
0
-15
5
36
-46
-32
-17
-8
-15
12
4
36
-12
59
18
-10
0
-2
6
-5
-23
-22
-85
-23
-41
-36
-29
-11
-6
-1
35
-93
30
0
0
5
13
-2
-34
-162
-37
-57
-42
-50
-45
-29
-9
-33
13
4
0
0
17
4
0
-21
-71
-143
-79
-8
-53
-94
-57
1
-29
-111
-28
0
0
3
-12
0
9
-23
-79
-176
-142
-79
-33
-71
-22
11
-76
-18
0
1
0
1
3
0
-1
-17
-41
-65
-54
-104
-11
-60
-74
-28
-24
0
1
0
0
6
44
76
-6
0
-4
-14
-9
13
18
7
-17
5
0
0
-2
-4
-63
-25
4
2
-2
-5
-4
2
-1
-15
-18
38
54
0
0
-2
-10
-17
-55
24
-15
-2
1
0
-3
-16
-9
0
29
-57
-1
0
-5
-9
6
-18
-31
-14
2
0
4
1
-17
7
32
-12
23
0
0
1
-5
-19
-7
-41
-16
-6
-16
-3
20
15
18
26
23
-3
1
0
-2
-5
-8
-12
-21
-1
3
0
3
-5
-14
36
42
31
78
0
0
0
2
0
-25
11
-18
0
34
-21
23
6
-12
24
29
-1
0
0
0
-1
0
-5
-40
-25
45
-17
35
-2
10
11
-11
14
15
0
0
0
0
0
8
16
-44
-10
3
-5
-13
3
3
61
-68
-33
0
0
1
1
2
-37
8
19
0
0
-14
13
3
16
-21
70
-39
0
-2
0
-8
-41
20
-5
17
1
0
-4
0
52
2
48
-15
-34
0
0
-5
20
-26
-66
-31
-2
-8
-3
4
5
-3
1
-1
21
-19
0
-1
0
-13
-17
-35
1
-3
-5
0
-5
0
-1
10
9
11
108
0
3
0
1
-20
-17
-9
4
-4
-4
-8
6
-14
-16
11
55
63
0
0
3
-10
8
-23
-22
-5
-3
-2
-3
3
-1
-13
18
45
65
0
-2
-2
23
-18
10
36
-4
-2
-9
3
-39
-12
-75
15
20
-26
0
0
-3
-6
13
21
-6
-7
2
-5
12
8
-11
-13
68
31
8
0
0
0
2
7
7
-33
-13
-9
32
10
60
16
-33
-49
-48
40
0
0
0
0
0
178
168
0
0
0
99
64
23
-22
-17
-29
35
0
0
0
0
2
178
93
0
0
73
57
53
-8
-42
-73
59
-53
0
0
0
0
73
70
125
212
189
119
28
-9
-73
-99
-107
-4
-38
0
0
0
0
-46
-1
83
137
107
18
-2
-73
-33
-81
-30
4
21
0
0
0
6
23
-1
36
107
50
-11
-34
-38
-93
-54
-77
-79
24
0
0
0
0
-32
-98
-89
-77
-82
-101
-54
11
-55
-118
-130
-128
-25
0
0
0
0
-75
-114
-161
-125
-96
-106
-76
-39
-54
-64
-54
-32
-15
0
0
0
0
-10
-93
-235
-196
-165
-100
-75
-38
-38
85
114
4
9
0
0
0
0
0
-60
-218
-233
-129
-109
-70
-35
-30
47
22
48
0
0
0
0
0
0
20
58
0
0
0
-1
14
59
-44
9
5
0
0
0
0
0
8
78
13
0
0
36
6
66
-31
-59
26
33
-5
0
0
0
0
1
70
87
91
94
65
-41
-10
-41
-21
-83
-4
5
0
0
0
0
7
43
60
43
62
-1
-97
-42
-65
-64
-60
-14
0
0
0
0
0
4
-8
151
89
-26
-16
46
-5
-69
23
30
-7
0
0
0
0
0
-4
-181
-15
-11
-104
-24
-50
-55
0
46
55
41
-1
0
0
0
0
0
26
-80
-50
-82
-23
-38
74
65
13
4
7
0
0
0
0
0
0
-6
-64
-53
-113
-31
-84
-55
12
29
-8
-6
-5
0
0
0
0
0
0
-49
45
-7
-1
-5
-101
-20
-18
68
46
0
0
0
0
0
0
-39
75
0
0
0
75
22
3
96
24
-38
-4
0
0
0
0
1
130
45
0
0
31
-19
31
29
-90
-56
-6
0
0
0
0
0
-5
118
92
75
106
83
6
-28
-113
-84
39
-6
-13
0
0
0
0
42
74
118
72
84
21
-13
12
-5
-87
-130
-4
-1
0
0
0
0
-5
-50
124
106
72
0
-64
14
-47
-130
52
-15
2
0
0
0
0
0
-73
-125
-5
-79
-47
34
18
-60
-2
-33
-5
0
0
0
0
0
1
-130
-77
-105
-56
-64
-120
24
16
-79
109
78
-1
0
0
0
0
0
0
-139
-126
-49
-75
24
-24
-84
-14
-3
-5
13
0
0
0
0
0
3
-173
-82
-106
-53
-35
-15
-35
30
-24
3
0
0
0
0
0
16
14
46
0
0
0
146
17
47
-39
31
-33
0
0
0
0
0
85
64
42
0
0
25
-22
38
7
-84
7
-28
0
0
0
0
0
14
11
73
95
72
51
-18
79
-33
29
-23
29
0
0
0
0
0
22
77
94
107
66
18
-37
-41
-44
-54
24
-42
0
0
0
0
0
-81
36
13
57
20
23
-41
-50
37
33
-10
0
0
0
0
0
0
12
-59
-2
-28
-61
-83
-46
-172
-67
119
-24
6
0
0
0
0
0
-28
-18
-72
-53
-133
-33
-74
-21
66
121
-70
-6
0
0
0
0
0
-1
-81
-66
-122
-113
-23
3
22
-24
-24
-8
6
0
0
0
0
0
0
-19
-76
-3
-97
-21
6
-66
-5
9
1
0
0
-86
22
-45
0
60
12
-93
0
0
0
60
38
-77
-36
28
27
-5
5
3
16
10
44
38
-32
0
0
0
24
15
-7
27
18
18
3
9
-59
9
31
15
14
-58
25
47
34
-6
98
-54
-38
5
-66
6
-51
-48
40
-11
19
37
63
55
50
60
73
34
3
-39
-159
-45
-10
29
-28
59
3
43
53
26
22
-1
52
-6
16
-29
-11
-55
28
27
-49
31
42
12
5
2
1
-38
-54
-33
-31
58
66
-79
-13
-55
-14
77
80
54
22
-9
6
-42
-54
-60
-80
-83
-34
-32
-17
-83
-3
-41
-9
21
49
13
-57
-70
-72
-128
-97
-51
-54
27
16
45
49
-25
40
56
120
-62
-11
-111
-21
-75
-72
-42
-99
-99
-31
-1
1
54
-8
5
-25
5
111
-21
60
76
76
0
0
0
20
71
99
86
-22
12
11
56
76
33
39
46
-2
-54
0
0
0
12
33
11
22
-30
1
-8
-15
82
23
-27
13
-36
-3
-35
-33
-22
49
23
-4
-54
33
2
-17
5
-42
25
-45
43
-46
-2
43
53
13
3
-17
-73
-27
-36
-81
-16
-60
30
-9
5
-4
17
24
39
62
34
-20
-23
-41
-55
-68
23
0
-30
25
2
22
19
21
-20
9
45
6
-23
-35
-38
-36
-71
11
-64
-22
39
-18
-16
30
15
-5
14
10
-1
-33
-8
3
-29
-8
41
-18
21
-18
-34
-10
47
-6
-71
-9
19
-14
-40
-44
-2
-14
-28
-25
43
1
17
46
-75
-55
8
-19
4
-22
-39
-41
-3
-67
55
33
31
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
12
7
13
72
65
48
0
0
0
13
97
-46
-69
88
-25
0
3
4
-4
13
63
39
53
0
0
24
41
-54
-12
-107
-13
29
-5
2
9
-3
-10
20
-17
65
95
72
39
-20
-37
23
-36
-38
-52
-25
-5
-8
-4
-15
-5
-63
21
10
38
-11
-83
-1
-61
-13
-168
-72
-13
23
-11
-19
-26
-26
-7
-26
-29
-48
-73
-40
-26
47
105
-10
-24
-3
7
-3
-29
-27
-53
-46
-41
-64
-54
-58
-108
-44
-78
3
9
2
-2
-63
-26
-49
-63
-51
-48
-87
-138
-106
-33
-106
-81
-25
-106
-62
-46
19
20
-67
-45
-69
-114
-82
-68
-121
-65
-136
-43
-23
-1
-76
5
-4
-25
-41
-84
13
-20
-101
-102
-165
-123
-81
-76
-109
26
-5
-32
10
-3
0
-1
-21
-24
-11
8
32
131
0
0
-2
-88
-1
-120
-130
-85
-4
0
-12
-1
-16
-11
7
14
27
44
28
-34
-79
21
-30
-39
-105
66
0
1
5
7
-1
7
-3
6
11
-36
-53
-27
-27
-33
-179
-22
7
0
-11
-1
7
-3
-2
3
58
34
-15
-23
-5
-60
-62
5
-25
-22
0
16
5
20
15
-5
-12
-24
-64
-74
-65
-52
-26
-45
-15
10
-22
0
25
-8
24
5
-5
-26
-63
-63
-61
-18
-19
-71
-7
-117
-38
-13
0
31
-22
14
5
-11
-31
-65
-76
-61
-57
-52
-32
-29
75
33
0
0
-93
-31
25
11
-9
-41
-52
-36
-20
-26
-45
-4
30
-22
-32
0
0
-15
-3
69
14
-8
-24
-57
-43
-25
-26
-22
12
16
5
0
0
0
57
74
74
120
126
180
101
0
0
-58
17
-23
-42
-6
0
0
0
18
7
26
45
84
77
41
26
12
-50
-40
-182
-18
32
-4
0
0
1
2
22
16
42
23
-11
-31
-76
-52
-47
-30
-97
5
-2
0
0
-10
-7
-2
2
8
-32
-28
-2
-84
-1
-17
-12
-53
-25
0
0
0
-4
-11
-21
-11
-74
-65
-52
-76
-24
-122
-163
4
-5
-31
13
0
0
-7
-8
-9
-20
-45
-99
-74
-134
-84
-119
-82
-145
-170
62
-7
0
0
-3
-2
-11
-27
-14
-86
-71
-74
-87
-54
-31
-80
108
0
7
0
0
18
-10
-13
-19
-22
-41
-18
-73
-103
-97
-11
40
26
64
-2
0
0
-20
-30
-25
-31
-55
-41
-45
-53
-27
21
14
31
16
-76
0
0
0
-15
-3
15
62
150
156
85
23
0
-49
-99
-131
-18
3
2
0
0
-13
1
33
55
44
142
0
3
-40
-50
-106
-78
-111
-23
0
0
0
-10
-8
2
20
56
96
85
-25
-88
-89
-61
-62
-46
20
-2
0
0
-9
-9
-15
-11
-63
-43
-25
-44
-102
-134
-86
-29
-95
-8
-1
0
0
9
0
-24
-74
-47
-21
-39
-86
-16
-107
-26
-47
-41
0
-2
0
0
5
-16
-42
-81
-76
-122
-144
-132
-43
10
47
-13
11
-58
0
0
0
8
-18
-41
-64
-75
-113
-139
-105
-114
-71
-46
-74
3
-29
0
0
0
-3
-15
-25
-57
-91
-127
-93
-67
-51
-76
-87
-27
38
23
0
0
0
-49
-31
-2
-125
-88
-120
-53
-191
-28
33
31
-1
5
0
-1
0
0
-15
-3
-16
11
57
14
112
0
0
66
101
31
31
44
-2
14
4
-8
-3
-11
12
57
28
41
0
48
0
58
-67
-72
12
-28
32
-49
-7
-2
-3
-8
24
-6
82
42
81
86
23
-2
-57
-177
-11
-32
-2
-16
-7
-12
-21
-14
-64
-54
-34
-37
-47
-104
-93
-92
-73
-58
-61
0
-23
-23
-30
-30
-50
-27
-40
-6
-83
-78
-131
-59
-124
-21
-58
38
-1
-19
-26
-33
-35
-50
-63
-76
-90
-127
-103
-137
-48
-38
-187
-48
5
5
5
-27
-45
-71
-92
-94
-94
-112
-155
-103
-161
-105
10
31
-77
17
0
-25
-68
-77
-75
-88
-96
-102
-125
-108
-114
-146
22
-40
-18
-27
2
0
-4
-182
-51
-146
-69
-126
-153
-190
-8
-158
-23
-129
-19
30
-5
-1
0
-19
-16
-4
-14
-9
-44
-35
11
0
41
10
-23
-72
5
50
0
0
-58
-19
-29
-32
-34
-9
14
0
4
0
42
-1
-39
-43
57
-26
0
21
-40
-27
1
3
11
20
23
-32
32
63
24
-41
-88
43
44
0
-37
-11
-20
-8
13
47
7
34
-2
3
62
160
8
-42
-39
5
0
9
-13
-10
-17
18
1
15
20
-39
-17
-20
42
33
21
-28
3
-2
19
-34
-42
40
-34
-15
-40
-55
-43
-45
10
67
-12
55
50
21
0
-42
31
24
-25
-3
-44
-46
-72
-81
-18
-70
-23
-1
-8
-69
7
0
51
80
23
-13
-61
-50
-98
-66
-66
-126
-148
11
24
45
-8
0
0
12
45
19
-30
-113
-58
-15
-31
-98
-69
-58
46
-9
-2
-2
-1
0
16
11
-4
15
-9
-7
70
0
0
0
-27
96
58
-49
16
20
23
19
-4
-10
3
-7
-10
-7
34
0
38
30
77
106
-24
112
44
-43
17
-8
-17
-9
-25
2
-14
-15
-29
-19
48
-27
37
-14
-24
-23
15
-33
-6
-28
1
-11
13
-23
30
75
13
-24
-43
-106
8
-48
2
-5
-47
-65
-39
-11
-10
60
3
-18
88
15
-74
2
-27
29
-46
28
0
-43
-61
-52
-5
6
4
-10
-18
32
0
-79
-31
-123
13
-3
-13
7
-79
-27
-42
-37
-33
-1
0
-7
-13
-18
-67
-23
32
-18
-3
13
1
-74
-84
-31
-15
-56
-50
-8
-8
-12
-7
-76
-64
22
-9
-3
4
0
25
-5
18
-13
-12
-49
-44
7
6
5
-11
-2
-2
0
0
0
0
0
0
0
0
0
17
72
44
0
35
150
119
133
49
-5
-8
5
0
0
0
0
0
-7
-16
42
29
19
46
146
110
14
16
9
30
0
0
0
0
0
22
93
59
54
96
63
11
64
10
50
58
2
0
0
0
0
0
-37
67
62
-17
70
-5
-11
3
4
43
2
77
0
0
0
0
0
0
56
-84
22
40
10
-52
-36
-25
-9
15
10
0
0
0
0
0
0
5
84
101
-33
-57
-98
-62
-68
-33
-38
5
0
0
0
0
0
0
-31
61
13
40
-55
-81
-104
-74
-72
-94
-57
0
0
0
0
0
0
-24
53
105
-63
-47
-100
-125
-128
-136
-131
-58
0
0
0
0
0
0
0
47
9
-21
-10
-79
-39
-163
-163
-92
-86
0
0
0
0
0
0
-3
34
0
-17
29
97
61
33
42
-25
19
0
0
0
0
0
0
-7
-6
8
-6
23
98
123
36
41
10
46
0
0
0
0
0
0
35
11
-11
36
64
104
19
65
4
96
57
0
0
0
0
0
0
13
-6
-18
32
21
28
18
-19
46
20
19
0
0
0
0
0
0
0
-10
-5
49
-60
20
56
-3
-47
-21
46
0
0
0
0
0
0
0
-8
5
59
10
-67
-59
-111
-22
-70
11
0
0
0
0
0
0
0
3
5
37
18
-14
-40
-28
-61
-61
-8
0
0
0
0
0
0
0
0
-2
68
4
-58
-44
-71
-84
-44
-37
0
0
0
0
0
0
0
0
-3
0
0
-37
23
-72
-54
-100
-13
0
0
0
0
0
0
66
15
0
7
149
109
44
46
-5
28
21
0
0
0
0
0
0
-30
6
3
43
49
133
72
21
40
14
-14
0
0
0
0
0
0
13
46
-21
77
49
68
42
4
-4
22
-4
0
0
0
0
0
0
8
11
63
-44
-6
64
66
19
0
47
129
0
0
0
0
0
0
-48
55
5
-1
-69
13
-32
20
24
-1
100
0
0
0
0
0
0
13
-50
65
-13
-72
-148
-73
-14
-57
-53
-50
0
0
0
0
0
0
-1
8
6
30
-8
-36
-91
-89
-84
-57
-47
0
0
0
0
0
0
0
0
-8
15
95
4
-91
-67
-75
-161
4
0
0
0
0
0
0
0
0
0
0
7
-27
7
-111
-53
42
-25
0
0
0
0
0
-8
-36
83
0
-13
83
117
70
31
24
19
42
0
0
0
0
0
3
13
51
36
-34
1
157
79
30
4
7
21
0
0
0
0
0
-9
51
22
38
3
44
99
17
41
45
18
32
0
0
0
0
0
8
14
16
-9
29
9
-15
3
58
61
28
4
0
0
0
0
0
-7
47
-50
107
-59
-27
45
12
-24
66
34
-4
0
0
0
0
0
0
49
-47
44
-25
-22
-23
-37
-45
37
-23
8
0
0
0
0
0
0
1
-10
-17
-42
-35
-22
-101
-60
-73
-51
32
0
0
0
0
0
0
0
1
30
14
56
-76
1
-27
-100
-43
-15
0
0
0
0
0
0
0
0
0
0
0
0
-13
-30
-79
-6
81
0
0
1
11
-10
-98
-22
13
0
-15
47
69
51
40
-23
-17
-3
0
0
0
2
-5
20
17
3
40
1
20
69
64
25
-14
-15
18
0
0
0
-15
-16
28
54
27
-4
40
-4
31
87
11
13
-2
0
0
0
-1
-18
-63
-18
72
72
-5
16
40
33
0
18
-21
0
18
0
0
57
58
33
-23
-18
54
-45
85
10
17
-2
-9
39
15
20
0
0
0
0
13
10
45
-22
13
34
-48
-14
2
-28
2
-7
9
0
0
7
-16
-54
11
21
-23
12
17
-24
-33
-37
-10
-25
-43
-14
0
0
-2
15
2
9
5
-48
-24
-5
16
-2
42
19
-98
-18
4
0
0
0
0
0
-22
5
55
-24
2
-4
-106
-146
-84
-26
-5
-52
0
3
10
14
34
-87
-28
-18
0
40
2
53
16
81
-19
-4
32
0
6
-18
20
-14
-34
54
-23
-6
-27
-36
50
19
12
-5
1
34
0
-3
39
-10
13
-6
46
-40
-71
-12
19
20
42
3
-39
2
-3
0
1
21
5
-1
-2
27
-55
-26
22
86
3
2
12
-5
16
-1
0
0
30
-10
-12
-10
-20
9
45
45
-30
24
-32
-27
2
19
32
0
0
0
-15
27
-13
6
4
10
24
27
43
3
-15
4
13
14
0
0
0
20
23
4
13
19
61
21
0
33
-15
-23
-22
16
5
0
0
0
-5
-4
-9
82
8
77
43
-33
3
-21
40
20
5
15
0
0
0
0
8
3
78
71
41
27
46
-66
-55
-15
-43
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-49
-10
-36
-14
40
14
16
0
6
15
55
12
2
-51
-5
-43
-15
84
7
21
50
13
-6
11
3
3
11
42
45
-34
-47
-29
27
-22
-92
47
-15
29
-38
-7
0
4
0
-9
-3
-6
-59
1
-24
-111
-37
-26
80
-19
-15
-52
-4
9
-26
-61
-66
-17
20
-5
-12
-80
50
-48
-79
-47
-27
-42
-100
-34
8
-35
-63
-85
-63
-90
-52
-68
-55
-57
124
-21
-21
-44
-23
-57
-103
-110
-110
-214
-169
-125
-43
-121
-108
-115
-16
-31
-28
-5
-26
-47
-54
-165
-147
-135
-125
-115
-161
-122
-102
-80
-181
-34
0
0
0
-19
12
-33
-72
-147
-133
-60
0
-124
-98
-143
-101
-135
-40
0
0
0
-3
-4
11
22
-86
-180
-210
-53
-160
-141
-15
-138
-44
-66
5
5
-38
2
-8
44
-4
-16
0
0
2
3
-12
-23
-31
-34
0
-27
-3
-108
-1
19
25
13
-2
4
1
1
5
-9
-15
-28
-14
0
-24
-98
-52
-55
-4
31
15
10
10
-2
-4
2
8
9
29
-13
0
0
-63
-38
-16
5
6
34
25
13
5
1
-11
3
-3
22
1
0
-10
-47
-53
-12
0
11
-15
-12
-8
1
-9
-7
3
9
27
-8
0
7
-32
-11
18
-35
25
-21
23
0
-4
-6
-15
-23
-14
-22
49
0
-3
-6
39
-36
-38
-12
-12
-2
-20
-4
1
-6
-6
-7
-56
-32
0
0
14
2
-16
-10
0
-30
-6
-6
0
2
-16
-25
-41
-23
-20
0
0
0
62
-8
-28
18
3
-8
-7
-5
12
-55
-13
-49
3
-16
0
12
11
-21
16
13
57
-4
0
0
4
28
49
12
13
-28
14
0
-41
12
0
4
1
29
5
-1
3
20
8
25
-4
-31
-70
-94
0
-49
-46
25
11
14
15
1
2
4
3
28
-50
3
17
-67
-67
0
-4
-7
-28
13
-10
-3
1
0
-3
-13
23
5
15
-31
-15
64
0
98
-50
34
-5
-10
-9
4
-14
-8
-12
36
16
-54
-1
-48
-11
0
51
23
-3
-52
-34
-35
-11
-10
-4
22
-18
-52
-57
-24
-137
-34
0
-21
-73
-3
3
-5
-18
-4
-6
-6
-33
-14
-86
-50
-89
-96
-59
0
-16
-2
13
-39
-30
-15
-15
0
-42
-58
3
-24
-70
-102
-23
-27
0
-90
-8
-6
-13
2
-24
-16
-6
-10
-59
-32
-40
-36
-43
-29
-34
0
37
-36
5
-16
16
29
9
4
0
5
-7
40
-12
-49
-19
0
0
-4
93
30
67
29
27
9
0
0
1
7
26
17
-7
6
0
0
-50
-128
-60
36
-29
-2
-4
3
2
7
34
31
-20
1
-16
0
0
-50
-32
5
-1
-12
-30
0
-28
-20
-10
-6
49
-5
-23
18
0
0
12
16
-12
-120
-4
-49
-23
-17
-9
-45
-14
5
-1
30
-51
0
0
-18
-18
49
-53
-59
-39
-12
-30
-35
-41
-28
-32
-16
13
30
0
0
2
-69
-43
-67
-7
-42
-40
-26
-36
-12
-34
-16
-46
-54
-4
0
0
-58
8
-82
-20
-41
-67
-29
-41
-38
-15
-36
-52
-90
-145
-84
0
0
0
0
-51
4
-24
-104
-24
-117
-82
-73
-79
-170
-84
3
-4
0
0
-1
-2
-45
5
-35
-4
35
6
0
11
30
27
-8
-55
-40
-48
12
0
-54
44
-67
29
-45
16
3
6
0
8
23
13
-26
-19
-41
-46
-9
104
-32
-35
-15
-10
-49
-2
-1
-2
11
-4
12
-7
-3
-19
-2
0
-24
0
6
-50
-44
-5
-15
-33
-37
-75
-51
1
9
11
9
-25
0
-30
-63
-25
-76
-114
-61
-55
-34
-46
-94
-86
-26
-41
-67
4
58
0
-49
-42
-60
-61
-70
-151
-64
-116
-88
-114
-154
-99
-59
-61
-46
21
1
-31
-16
5
-45
-49
-123
-121
-136
-122
-157
-101
-75
-83
-144
-89
-2
0
-20
58
-36
46
-130
-86
-129
-38
-84
-51
-121
-51
-84
-45
-191
2
0
1
14
41
9
-7
-49
-121
-144
-194
-139
-162
-66
-168
-102
-89
-54
0
2
3
5
14
14
-22
-6
0
-21
7
9
4
-42
3
-15
9
-1
-6
-12
-66
-102
7
-25
-40
-2
11
7
10
-2
6
10
-22
54
1
-1
-5
-59
-36
8
-29
-15
-35
-11
13
3
-8
-13
-5
8
-7
0
-1
21
15
93
-28
25
-26
-8
-22
10
14
35
26
14
-5
63
-1
-4
-17
40
-74
-70
-4
33
-15
1
9
-7
1
18
-9
-3
-3
6
-3
14
-64
75
-57
-32
20
41
-3
-24
-41
8
22
-14
18
28
-1
-1
-7
-29
-13
-36
31
17
-34
-29
-42
-12
-39
0
-13
54
-36
0
0
2
-20
-20
-61
68
-21
-12
-5
-57
-27
-12
22
55
-112
-30
0
0
0
0
5
41
-13
-6
-19
-5
-72
-95
-20
-5
46
-35
-144
-3
-14
16
18
-31
-25
12
-25
0
-2
-54
-10
-2
19
17
37
26
-1
17
1
-1
-19
-28
-1
-11
3
-11
11
-23
41
22
36
20
1
-9
78
-50
54
-13
-25
-24
-22
-24
-9
-15
-12
10
11
4
-7
2
-10
7
-8
-31
72
-42
-11
0
-22
-6
12
3
-18
35
-12
32
-23
0
0
4
42
-100
12
-25
-6
-4
-2
-9
6
-11
15
5
16
4
0
-43
47
-22
-69
36
3
-16
-15
-6
-2
-4
15
-39
-2
3
21
0
-42
-58
-84
-30
-34
-14
2
-10
7
4
-7
-11
-38
-7
0
-14
0
-18
-4
-61
62
-4
23
-2
-9
-14
17
-7
-77
-32
-59
19
72
0
0
33
2
-3
-26
-23
9
4
-15
21
-66
-11
7
-34
-91
66
0
0
0
0
0
99
105
0
0
0
43
20
25
7
-18
-21
29
0
0
0
0
1
162
49
0
0
75
-48
29
-17
-45
-38
-2
-24
0
0
0
0
42
-5
97
117
104
18
17
-68
-45
39
-31
-31
-7
0
0
0
0
-13
-37
32
46
5
-40
-36
-13
24
-88
-111
-12
0
0
0
0
6
-26
-81
-47
-20
-31
21
9
-46
-57
-1
-57
-10
6
0
0
0
0
-52
9
-101
-55
-53
-37
-28
5
-73
-68
12
-34
-29
0
0
0
0
-50
-155
-127
-113
-32
-82
-58
-39
-54
16
-9
-13
-5
0
0
0
0
-1
-41
-123
-131
-79
-75
-71
-32
-44
4
49
0
1
0
0
0
0
0
-42
-102
-57
-99
-36
-58
42
-13
-26
-10
52
0
0
0
0
0
0
1
54
0
0
0
57
32
46
-46
30
5
0
0
0
0
0
8
28
56
0
0
58
-30
26
-34
-33
9
1
0
0
0
0
0
1
32
159
142
109
-7
-71
57
-56
31
-41
-20
0
0
0
0
0
7
49
-56
3
13
-9
-21
51
-31
-21
-47
-9
0
0
0
0
0
4
-53
-9
44
-23
11
-41
18
-24
34
24
-55
0
0
0
0
0
-4
-75
-82
-78
-31
-59
-94
-46
-35
50
-1
-3
-1
0
0
0
0
0
12
-13
-107
-28
-18
-47
-28
49
-29
-42
-8
0
0
0
0
0
0
-6
-66
26
-29
-29
44
60
-23
34
1
6
-5
0
0
0
0
0
0
-73
41
-31
-34
-22
-43
-24
-48
-13
12
0
0
0
0
0
0
-5
116
0
0
0
107
66
25
-17
15
-27
-3
0
0
0
0
1
14
85
0
0
39
7
-33
-45
0
-44
11
-3
0
0
0
0
-1
128
92
114
114
9
8
-43
34
23
54
4
-10
0
0
0
0
19
-50
-11
32
33
-34
-22
-35
25
-13
-21
-10
-1
0
0
0
0
-25
18
-34
-11
1
-56
-75
57
-23
-23
-14
-3
2
0
0
0
0
0
-76
-47
-51
-55
44
-33
32
-73
23
-2
-15
0
0
0
0
0
1
-60
-100
-50
-136
-136
-122
-12
-38
-81
-11
37
-1
0
0
0
0
0
-3
-56
-27
-121
-32
-2
31
-52
34
57
-14
13
0
0
0
0
0
3
-96
-55
-60
50
-9
3
14
6
-6
3
0
0
0
0
0
8
56
87
0
0
0
77
54
-5
-42
26
-14
0
0
0
0
0
66
37
63
0
0
51
31
37
9
-67
-2
-6
0
0
0
0
0
30
36
124
142
117
15
-43
-9
15
20
-20
-18
0
0
0
0
0
-50
-85
35
74
13
13
2
-20
38
-34
-36
-1
0
0
0
0
0
-78
-48
-42
-51
-38
6
-51
-6
41
28
30
-1
0
0
0
0
0
-48
8
-140
-9
-13
-83
26
-74
-30
34
-49
0
0
0
0
0
0
2
17
27
-48
-55
-55
-97
5
34
21
-13
-6
0
0
0
0
0
-1
-56
-91
-112
-13
-68
-21
-24
-31
33
-10
-1
0
0
0
0
0
0
-8
-34
5
-57
-33
-5
-33
-58
-1
1
0
0
-22
19
-2
0
35
48
-32
0
0
0
89
31
6
18
23
35
-15
-49
-27
-16
-34
91
35
16
0
0
0
51
43
-25
-46
28
-9
4
140
-52
-22
-28
-24
55
5
46
50
83
33
141
-22
-8
-19
10
16
-54
-4
-37
-25
54
44
60
52
26
44
46
37
6
-17
-91
4
-8
32
-14
-14
44
-9
19
-21
-9
-11
-7
-29
-29
-23
48
-52
19
-21
1
25
14
-22
-16
-30
13
-15
-73
-71
-72
10
56
-34
-11
-58
-2
66
17
29
42
-37
-43
-32
-83
-45
-65
-110
6
-9
31
-69
-30
-11
3
-11
49
-13
-43
-31
-99
-93
-90
-72
-117
-18
-2
43
35
-16
32
7
41
-25
43
-77
-171
-75
21
-5
-53
-108
-46
-42
-4
59
-4
5
46
20
22
113
67
39
109
0
0
0
16
86
39
83
35
-55
9
43
-5
74
-6
73
18
28
0
0
0
29
54
37
31
-9
-14
-5
-48
12
-13
29
83
14
-14
-55
-21
-12
30
-26
-17
-37
-6
-13
1
-50
22
23
-12
-9
-66
-34
58
86
53
-18
-78
-2
-1
-69
-86
-31
-85
51
21
12
-51
-34
-20
10
67
30
-37
-42
-47
-44
-41
-5
-40
6
2
37
-28
62
-19
-70
4
16
-13
-46
-11
-50
-7
-109
6
-19
13
-50
-86
-62
-14
34
-9
-31
9
-1
-32
-31
-11
0
-11
30
3
42
-49
-48
1
31
-81
-28
-36
55
-17
-90
-44
15
-109
-14
53
16
-5
1
13
7
-76
-35
-9
46
-8
-5
-70
-17
-87
32
-11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-10
-13
-2
69
-18
29
0
0
0
-27
-17
-8
-11
33
-33
0
-18
-13
11
2
53
9
35
0
0
23
-13
-36
-17
-5
-64
-3
3
19
-2
-15
-20
28
-31
64
85
74
-26
-72
-43
61
-53
-31
2
16
6
-7
-28
-18
-49
-69
-45
-29
-43
-96
-50
22
54
-26
-49
20
5
9
-25
-28
-30
-51
-50
-45
-73
-19
-21
-84
-90
41
-22
-64
14
-3
-12
-6
-38
-34
-31
-35
-118
-60
-87
-11
-84
-20
-72
-56
29
-1
-3
-40
-7
-6
-15
-32
-60
-93
-69
-39
-76
-112
-41
-44
47
-55
-23
-9
-4
-68
-28
18
14
19
24
-47
-16
-86
-81
-69
-12
-66
21
-50
-2
-41
-100
-50
-50
4
-27
-163
-145
-55
-26
-135
9
-42
-22
8
-3
0
-20
-57
-7
-3
17
-1
122
0
0
-43
-101
-16
-38
-104
-104
-4
0
-52
-50
-13
-5
7
5
8
30
2
-54
-13
-56
-5
-40
-58
-22
0
0
22
0
3
6
5
-14
-27
-63
-47
-32
-7
-125
-58
-10
34
0
3
-21
20
2
-6
3
3
-11
-12
-10
-6
-50
-45
-22
17
-21
0
72
-1
4
1
-4
-13
-6
-18
-20
21
-23
-31
-71
31
-31
10
0
-18
-10
14
-2
-11
-14
-30
-36
-14
-27
7
57
-53
-52
-31
-20
0
54
10
4
1
-8
-18
-21
-9
6
36
-36
-13
-51
-14
4
0
0
-27
-4
38
6
-17
-16
-15
-36
-30
-55
-16
-61
-19
-35
44
0
0
-66
11
40
-2
-7
-11
-6
-18
-37
-5
-48
2
46
15
0
0
0
53
27
42
71
142
177
123
0
0
-9
-90
-43
-14
-24
0
0
0
3
12
20
35
59
107
48
32
-2
-30
-44
-21
-4
10
-4
0
0
-6
-1
4
18
34
34
-52
-75
-44
-23
-28
6
-43
6
0
0
0
5
-16
1
0
16
-9
-17
24
47
-51
-30
29
-37
-3
0
0
0
-5
-8
-17
-34
-60
-44
-88
-74
-29
-14
-144
-44
63
-21
16
0
0
-14
-19
-11
-12
-30
-37
-48
-144
-45
-36
-5
-64
-92
61
-7
0
0
-1
0
-1
-23
-25
-27
-7
-73
-91
-92
18
-49
-49
-19
7
0
0
25
-4
-12
-20
-31
-94
-60
-48
-46
-7
45
22
31
5
-2
0
0
-9
4
-27
-10
-27
-51
-41
-31
-31
32
-38
-33
49
-49
0
0
0
3
0
15
49
77
160
72
19
0
-22
-102
-109
-48
-23
2
0
0
5
-3
11
45
9
146
0
6
-38
-68
15
-35
-56
-29
0
0
0
-7
-6
-4
21
43
80
113
-9
-88
-73
-38
-37
-83
-11
-2
0
0
4
-11
-44
-10
-48
-68
-41
-6
-42
-35
-51
-6
-26
-8
-1
0
0
6
-6
-23
-41
-48
-83
-78
-87
-69
19
5
-56
31
32
-2
0
0
4
-22
-29
-51
-76
-82
-98
-104
-72
-103
23
-24
-55
-34
0
0
0
-39
-13
-43
-42
-54
-72
-83
-71
-17
-38
-49
39
14
-39
0
0
0
0
-12
-18
-53
-76
-124
-120
-82
-60
-85
15
-68
46
9
0
0
0
-49
-15
-41
-58
-49
-140
-65
-96
8
20
-31
-1
-1
-1
-1
0
0
5
-41
-11
8
49
4
100
0
0
35
68
71
-8
30
-46
12
23
-44
-2
-16
5
31
-27
80
0
22
0
7
-23
-34
-41
6
41
8
-9
-15
-22
7
16
-33
62
55
89
50
14
-13
-13
-23
-13
-60
-46
31
-28
-34
-22
-53
-66
-40
-22
-65
-68
-82
-86
-122
-83
-47
-39
0
40
-59
-29
-55
-65
-72
-43
-62
-46
-92
-124
-29
-136
-42
-25
33
0
15
-40
-46
-20
-69
-16
-67
-67
-94
-87
-122
-74
8
-103
-48
6
5
-83
-4
-60
-18
-43
-34
-105
-114
-85
-70
-31
-13
25
0
-43
16
0
-44
-78
-55
-37
-88
-68
-75
-27
-156
-59
-68
-54
-86
-20
-41
11
0
-13
-58
-11
-50
-59
-145
-86
-157
-63
-82
-50
-95
-71
12
-3
-1
0
-45
24
-43
-6
-13
-39
-57
-6
0
41
1
-91
5
23
66
0
0
20
-41
-16
-22
-55
14
36
0
51
0
16
-20
-28
-49
87
-43
0
-9
-66
-4
3
25
24
38
79
-1
99
68
62
-23
-50
31
41
0
-43
15
13
-8
30
59
34
31
-47
-4
92
95
1
-14
-22
-4
0
-4
-45
-28
-7
-3
21
-6
-30
-55
-83
-47
36
68
-57
-79
-19
-2
-46
-13
1
30
-18
-41
-56
-151
-90
-93
-67
-21
-79
32
26
45
0
13
39
2
-3
-14
-25
-158
-63
-85
-111
-76
-34
41
45
8
7
0
41
76
-22
9
5
-35
-58
-66
-89
-129
-165
-4
14
0
-10
0
0
41
-51
7
-68
-74
-96
-22
6
-49
-66
-42
19
-9
-2
-2
-1
0
-1
3
1
48
29
89
34
0
0
0
44
129
65
-18
36
26
-6
-13
10
-16
27
17
2
29
15
0
-21
67
84
19
12
52
17
6
43
-35
-2
16
-30
-3
34
5
5
31
-42
-5
-7
-41
6
-7
26
-6
-45
-58
2
-33
-11
-13
-9
78
18
-58
-41
-32
-30
-33
22
-7
-55
-58
-68
-70
-22
62
-21
-7
62
0
-88
5
-9
27
-27
-20
0
-32
-95
-48
-75
-49
32
9
34
46
-20
-180
-67
-30
7
-2
-15
7
-46
-9
-42
-58
-28
-68
-7
-14
-4
-64
-172
-53
5
-7
-3
27
1
-106
-50
34
11
-25
-39
44
-20
15
-70
-137
-84
-12
-8
-3
4
0
-10
11
19
-28
8
-42
-18
-43
-5
-12
-41
-2
-2
0
0
0
0
0
0
0
0
0
1
81
25
0
79
164
134
82
-10
-4
22
-11
0
0
0
0
0
-2
66
19
70
22
56
58
34
-11
-5
45
34
0
0
0
0
0
20
12
91
55
94
84
56
18
18
3
14
40
0
0
0
0
0
-1
90
106
51
25
-45
-19
-31
-51
-22
-6
52
0
0
0
0
0
0
56
28
53
46
-54
-45
-55
-79
-17
-41
13
0
0
0
0
0
0
-25
69
55
-55
-79
-89
-41
-73
-67
-34
-37
0
0
0
0
0
0
13
-11
17
-21
-7
-66
-21
-85
-94
-69
-58
0
0
0
0
0
0
-13
18
-13
80
-219
-89
-125
-54
-103
-121
-67
0
0
0
0
0
0
0
-4
34
-6
-18
-65
-62
-123
-71
-58
-74
0
0
0
0
0
0
24
34
0
-60
96
201
87
68
-36
42
-44
0
0
0
0
0
0
3
71
99
22
31
-16
44
50
23
48
79
0
0
0
0
0
0
59
-2
5
33
25
20
82
-43
17
-30
85
0
0
0
0
0
0
9
-22
-41
20
0
-5
28
-19
-25
-43
52
0
0
0
0
0
0
8
12
19
69
-75
46
-47
-42
96
60
7
0
0
0
0
0
0
0
-16
-13
46
48
-76
-72
-38
-57
-59
-48
0
0
0
0
0
0
0
1
0
36
4
24
-44
-33
-68
-83
21
0
0
0
0
0
0
0
0
-17
37
17
-85
-63
-69
-63
-38
-2
0
0
0
0
0
0
0
0
-3
2
0
-39
-20
-32
-60
-42
-47
0
0
0
0
0
0
13
8
0
-14
193
130
53
25
41
3
72
0
0
0
0
0
0
29
-27
37
-7
56
75
1
25
37
17
26
0
0
0
0
0
0
17
79
3
40
-25
5
34
1
27
28
98
0
0
0
0
0
0
-16
47
44
-84
5
54
32
49
16
45
43
0
0
0
0
0
0
-29
67
23
-22
-11
-53
-43
-44
18
32
46
0
0
0
0
0
0
24
-47
9
37
-64
-1
-102
-29
-42
1
-102
0
0
0
0
0
0
-5
-25
-3
50
-9
-102
-46
-31
-35
-62
-13
0
0
0
0
0
0
0
0
16
29
28
-25
-127
-135
-23
3
-40
0
0
0
0
0
0
0
0
0
0
7
-59
13
-61
-23
4
-18
0
0
0
0
0
4
-7
57
0
-4
69
139
7
3
41
12
10
0
0
0
0
0
3
-31
-4
-36
49
7
123
50
47
14
21
18
0
0
0
0
0
5
48
21
6
32
110
80
24
-4
10
32
53
0
0
0
0
0
3
-16
25
34
32
7
-19
61
-24
35
23
49
0
0
0
0
0
-7
44
-56
51
-44
-54
-82
23
-38
-40
-23
4
0
0
0
0
0
0
-7
-9
14
-10
-66
-45
29
20
-32
-42
17
0
0
0
0
0
0
-6
-7
-19
-49
-102
-6
-76
-48
-16
-11
-14
0
0
0
0
0
0
0
1
15
-8
7
-25
-82
-30
0
44
-25
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-23
7
-47
42
0
0
1
-2
-22
-13
0
15
0
19
77
70
52
8
-12
-2
20
0
0
0
4
-4
25
16
1
22
14
51
114
36
-30
-20
-32
-7
0
0
0
-5
-9
-55
69
16
18
45
50
98
11
-10
-7
-1
27
0
0
-1
7
-58
-49
-22
39
27
76
27
27
-1
-26
9
1
49
0
0
-1
7
-24
-27
-83
11
2
36
7
43
-11
-4
-5
5
12
0
0
0
2
32
7
67
5
72
-34
5
-56
-70
-43
-16
-34
58
0
0
9
3
2
4
-19
-19
8
-5
-59
-19
13
-17
-14
-42
-59
0
0
0
13
5
4
-52
-5
35
10
-21
-64
11
-25
0
-26
-8
0
0
0
0
0
-22
-9
60
-4
-24
12
-71
-59
-78
-52
-7
-70
0
3
9
-7
5
-93
-26
-33
0
34
3
44
50
36
5
-40
71
0
30
7
39
49
-9
-58
-6
-49
26
66
40
38
24
-17
-24
36
0
-3
16
-28
4
-1
27
-14
-67
0
37
49
66
-6
-13
22
-1
0
-2
-10
13
-8
19
88
-3
-32
-2
19
-5
13
14
-27
13
-1
0
0
5
14
-1
6
27
35
47
-36
10
-31
-37
-20
29
32
15
0
0
0
11
-7
-17
-75
11
37
55
-55
-49
41
-2
-15
-5
-6
0
0
0
0
28
34
-11
37
51
4
-12
44
-3
-7
-25
-1
17
0
0
0
-5
-5
3
24
-26
14
61
14
4
-41
-11
21
-6
-24
0
0
0
0
8
12
46
75
-13
38
40
-26
5
-65
-34
-68
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
-7
-18
44
25
-24
19
0
18
13
27
6
3
-25
-84
38
37
25
-26
-40
9
-30
-4
14
-1
7
12
14
-58
-24
-81
-15
-51
-19
-90
61
5
-43
-37
-17
14
2
-5
-41
-7
-45
-25
4
-70
-10
-8
-11
40
-41
-17
-23
-10
-13
-65
-53
-68
-71
-64
-20
-34
16
23
-17
-50
-40
30
-16
-24
8
-56
-97
-93
-86
-76
-28
-72
-30
6
-103
54
-4
-101
-69
-55
-44
-58
-84
-137
-155
-52
-91
-63
-44
-64
-56
-21
-6
-31
-20
-89
-28
-2
-137
-22
-114
-117
-64
-74
-34
-83
-43
-51
-6
0
0
5
-20
20
-80
-56
-108
-144
-30
22
-97
-14
-65
-24
-22
-22
0
0
0
-3
-4
8
13
-84
-179
-134
-43
-80
-75
-17
-105
-40
-70
3
-31
-26
11
-8
22
-9
23
0
2
4
1
-10
-19
-29
-24
0
-13
-36
-96
-23
8
0
6
20
7
-4
3
-1
-25
-2
-58
-32
0
-13
-61
-5
-42
32
3
14
2
4
3
4
-1
-6
5
-23
3
0
2
-52
24
-41
21
-3
-24
-12
-1
6
7
-2
-20
-16
-30
0
0
-15
-34
-16
41
3
-31
-1
-24
-19
4
5
-4
-19
-30
5
-4
0
3
39
16
-23
11
-2
-8
4
-11
-5
0
-5
6
4
-51
-59
0
-3
-17
42
-26
-31
6
-3
-17
-17
-5
-2
2
-18
-5
-7
-40
0
0
14
-29
13
24
-1
5
-9
-16
4
-1
-31
-22
-60
-35
22
0
0
0
3
4
-16
-16
18
28
2
1
-3
-34
-27
-16
-30
-5
0
-7
-1
23
-11
54
47
-3
3
0
10
25
-5
31
-62
18
21
0
5
-7
-4
-1
11
32
2
-1
-2
14
19
19
45
6
-71
-28
0
-60
-34
-12
31
5
9
-2
1
-1
-14
1
-23
-32
24
-112
16
0
-6
5
-35
-13
1
9
-6
-2
-4
-30
21
-8
-8
-66
-58
-5
0
21
8
-11
-16
-15
-13
4
-12
-8
9
-4
-20
-14
-3
-60
-13
0
5
21
-1
-23
-13
-20
-17
1
-16
-23
-47
-22
-56
-132
-49
-49
0
14
-13
-28
-22
-5
-13
-6
-1
-5
-13
9
-54
-23
-90
-102
-55
0
-21
-34
1
2
-39
-6
-10
2
-28
-40
31
20
-52
-50
-55
-6
0
-53
8
-20
-30
-4
-24
-13
-3
-18
2
-51
-104
-67
-81
-9
-33
0
9
-55
41
10
2
37
9
5
0
6
-4
23
9
23
-86
0
0
-37
38
-36
31
36
32
11
6
4
2
-19
36
-3
-81
23
0
0
-20
-89
-35
-4
-23
30
3
13
4
-16
5
0
-21
-1
-46
0
0
-56
-5
15
-20
-35
-32
-26
1
-10
4
6
24
-2
9
49
0
0
26
-24
-58
-55
12
-28
-28
7
-26
-11
-54
-13
-20
18
-31
0
0
-9
-47
40
-41
-68
-28
-23
-15
-33
-29
-54
-7
-68
-2
0
0
0
37
-37
-21
-21
-30
-38
-34
-20
-19
-8
-30
-38
-64
-82
-56
0
0
-56
29
-31
-57
-60
-38
-20
-9
-28
-67
-32
-45
-79
-42
-31
0
0
0
0
-19
13
-42
-23
15
-77
-80
28
-53
-49
-50
23
4
0
0
-2
-2
-81
-1
-45
24
37
50
0
11
24
-10
-61
39
-9
-25
80
0
-21
5
-54
38
2
-14
1
3
-11
11
-6
-18
-26
19
-2
-14
-7
44
-15
2
-30
-15
-45
-13
-3
3
-16
-39
-19
-27
2
-28
11
0
38
-59
-35
-9
-41
-32
-20
-61
-18
-102
-80
-20
-59
-19
-53
25
0
-31
-11
-25
-3
-62
-49
-65
-75
-66
-76
-46
2
-10
-53
-25
14
0
-58
-59
-40
-100
-46
-128
-30
-99
-96
-102
-101
-8
-79
-12
-31
-29
0
-51
-64
-43
-5
-33
-135
-65
-11
-111
-102
-50
-19
-102
-41
-86
-9
0
-12
66
5
57
-47
-89
-50
-17
-65
-89
-57
20
-70
-58
-120
-21
0
1
13
14
-12
-6
-53
-119
-90
-227
-155
-107
-92
-96
-56
-147
-43
0
2
8
-15
-48
42
-12
-60
0
25
19
54
28
31
-18
5
-18
-1
-5
-28
-2
-44
-52
9
-86
-13
31
37
30
-4
-11
14
-48
-50
1
-1
19
-58
-14
14
-47
7
10
-28
2
38
-14
31
-29
-15
-4
0
-1
-12
10
94
-33
13
22
12
38
-24
35
11
44
-47
-53
50
0
-4
-27
52
-70
-5
28
-39
6
2
-24
-4
-3
26
5
22
48
6
-3
30
-31
32
-54
-65
24
40
-25
-25
-67
-6
-12
20
-11
25
-1
-1
-6
3
51
-25
-26
5
-26
-7
-66
-16
-5
-103
32
-1
-35
0
0
2
-12
-10
-89
-24
-61
-25
-68
-18
-83
-22
46
32
-47
-22
0
0
0
0
6
14
-23
-72
-7
14
-2
-61
-18
3
-4
9
-72
-3
-23
-2
8
-7
-40
8
-22
0
-27
-13
28
3
93
20
-3
8
8
38
-21
-35
3
10
-6
-89
-56
-23
51
26
-6
33
20
9
22
-4
33
-61
-38
26
-6
-5
-29
-12
10
9
2
32
9
-31
1
-21
7
5
-32
-30
20
37
11
-7
-1
6
45
-12
29
13
-19
-7
6
28
-9
1
3
-17
2
-8
-4
0
13
1
14
-33
18
-16
31
-15
0
-43
58
11
-69
-22
-4
-17
11
1
8
-40
53
5
1
-33
65
0
6
-23
-26
-60
50
-91
-2
-9
2
-21
42
-35
11
-42
-16
40
0
2
4
-12
23
3
-44
6
-16
-8
-40
-69
-139
-39
-66
-12
7
0
0
22
22
-25
-41
-29
1
8
1
-78
14
-11
-25
-41
12
36
0
0
0
0
0
-8
-23
0
0
0
57
-2
10
7
12
1
0
0
0
0
0
0
21
-8
0
0
-3
-36
7
62
-5
7
8
0
0
0
0
0
3
-2
57
42
40
-61
38
18
-18
30
1
14
-1
0
0
0
0
0
5
-40
-60
-34
48
-47
12
66
3
-22
3
0
0
0
0
0
1
8
-5
23
-28
7
13
-47
-28
-14
25
0
0
0
0
0
0
-1
-9
-22
-17
5
-9
-5
-10
17
-7
4
0
0
0
0
0
0
-2
-15
-33
59
26
-17
-57
-4
-30
-12
-1
-2
0
0
0
0
0
0
1
-10
-25
57
-31
-4
3
-16
-1
6
1
0
0
0
0
0
0
0
7
-31
-23
-10
-9
6
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-7
-13
13
1
1
-2
0
0
0
0
0
0
-5
10
0
0
16
8
6
-27
9
-3
0
0
0
0
0
0
0
8
47
46
59
-87
-4
32
31
-2
1
0
0
0
0
0
0
0
8
-55
3
16
-1
-4
21
13
-2
0
-2
1
0
0
0
0
0
-1
19
-23
-30
30
-49
26
5
5
-2
1
0
0
0
0
0
0
-3
3
-10
-42
-3
-24
16
-13
0
-5
-1
0
0
0
0
0
0
2
-19
-5
2
-11
-9
-25
0
-6
-1
0
0
0
0
0
0
0
0
16
-34
-21
-42
22
-8
-8
0
5
3
0
0
0
0
0
0
0
-1
5
-32
-5
7
2
0
-1
0
0
0
0
0
0
0
0
3
110
0
0
0
10
26
41
-31
5
0
0
0
0
0
0
0
8
60
0
0
-14
5
20
5
41
13
-4
0
0
0
0
0
0
-22
25
-48
77
-9
32
30
25
7
5
2
0
0
0
0
0
0
-4
-19
-8
4
46
-34
42
-4
-25
5
-1
0
0
0
0
0
0
2
-91
-17
-44
-22
2
-2
21
10
4
1
0
0
0
0
0
0
5
-67
41
41
-7
-22
-3
-1
-3
0
0
0
0
0
0
0
0
-3
-34
-32
-49
31
-22
9
2
-7
0
0
0
0
0
0
0
0
0
-5
5
-46
-38
-5
21
4
2
-4
0
0
0
0
0
0
0
0
1
13
-59
0
-5
-1
-1
0
0
0
0
0
0
0
0
0
-15
32
0
0
0
75
36
-4
-4
5
0
0
0
0
0
0
0
39
15
0
0
7
-14
-45
-39
7
-13
0
0
0
0
0
0
7
-9
101
44
93
11
-3
-20
16
-7
0
0
0
0
0
0
0
-1
-24
7
22
-93
-22
31
-2
24
9
-2
0
0
0
0
0
0
0
-33
-26
-56
-41
-19
-23
27
8
-7
2
0
0
0
0
0
0
0
9
-40
25
-19
26
-6
-5
14
2
0
0
0
0
0
0
0
0
2
-53
23
-18
-19
5
5
2
7
1
0
0
0
0
0
0
0
3
-8
-13
12
-32
-5
-5
2
1
0
0
0
0
0
0
0
0
0
0
8
4
-8
-5
0
-2
0
0
0
0
9
41
34
4
-19
-1
39
0
0
0
40
-3
25
-7
-6
0
-1
-1
-19
-20
-29
42
-36
12
0
0
0
42
14
-43
-4
-22
2
0
-6
27
-11
14
-4
-9
-17
48
47
160
10
41
24
5
0
-2
-1
-1
-21
-5
2
-21
75
7
51
-12
24
21
53
30
5
-2
-5
0
-3
-5
5
-4
-28
30
36
-25
-28
-17
38
-60
14
15
6
-2
0
6
-7
-21
-23
-8
-8
-52
-45
-26
-13
-59
11
6
-13
-5
3
0
-5
7
41
-9
8
-22
-46
-66
-8
-8
-73
-23
13
-1
-1
-5
-1
0
0
-31
-28
-6
-10
-55
8
-25
-44
29
10
-8
2
-7
1
-1
2
4
-25
35
-3
-23
-8
8
34
1
-20
22
7
1
0
0
0
-16
-6
17
-1
6
32
47
0
0
0
4
31
-16
25
18
0
0
13
-8
39
4
9
9
109
0
0
0
44
62
0
7
-28
-15
5
-18
-17
-30
24
3
18
47
-38
13
4
9
9
43
-17
-26
-7
-1
-13
9
-4
16
4
5
-33
90
126
-30
-67
-17
-58
-27
8
1
0
-2
-13
29
14
-24
-29
-71
12
75
-8
-26
-6
26
-2
-4
-8
-1
-3
-4
-15
-58
-12
7
3
19
-51
-14
-28
-22
16
-6
-6
-3
0
-8
-9
-26
6
8
-48
-57
10
27
-8
-67
-6
-16
-7
5
0
1
4
8
-24
-13
-6
15
-6
-2
3
-4
-60
-27
6
-1
3
0
0
0
-3
0
2
7
0
-22
-7
1
14
-16
-8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-5
-62
-87
61
16
88
0
0
0
-7
6
12
-4
-4
-19
0
-15
99
-33
54
82
41
127
0
0
20
-54
7
25
13
4
13
0
0
-71
-16
-41
3
58
90
51
-22
-48
30
-10
19
-24
7
0
0
-16
-16
-12
-17
104
57
-3
67
2
1
-45
-35
41
1
17
-5
0
-49
-20
24
-21
-41
-20
-84
39
22
-10
-84
-23
-13
-9
16
7
0
13
-30
-3
43
-20
12
-49
-30
-94
-5
-31
36
-6
-12
3
3
0
-9
47
27
20
8
-26
6
-33
-34
-20
2
-24
-17
0
3
0
0
-22
14
-35
16
13
31
-20
3
-45
7
-3
3
3
5
-1
0
0
0
1
2
-31
1
-5
-37
5
-5
2
-3
-8
-7
-3
0
0
0
21
-11
-36
15
54
6
33
0
0
-53
-42
-12
-14
36
-4
0
0
-51
-52
0
-51
65
3
-13
25
-39
18
44
16
-80
-7
-1
0
0
-4
41
-31
31
19
8
39
-17
-56
-39
-8
2
0
-2
-4
1
0
-21
12
15
-40
-9
-6
39
11
20
-11
45
41
28
-25
-14
0
0
1
79
-7
5
-41
15
7
9
14
32
3
50
-21
-7
-2
0
0
75
-54
-19
11
4
32
-19
-10
21
-4
-2
5
24
14
-2
0
0
-36
-19
63
-16
-5
-6
17
-4
50
1
-19
3
-30
0
2
0
0
7
36
13
29
-12
-13
21
14
53
4
-1
-14
-21
-1
0
0
0
-13
-8
41
6
35
-19
-95
-16
-22
-9
30
10
1
0
0
0
0
-65
11
45
13
74
127
14
0
0
-7
-30
-8
-8
1
0
0
0
17
-1
6
4
27
28
-9
-49
3
15
2
12
-2
-4
0
0
0
-22
42
-18
6
40
-2
-9
-40
-6
3
-5
-18
-3
0
0
0
0
9
26
-24
-1
28
-4
-2
-21
76
9
-14
-2
-5
1
0
0
0
11
-13
-2
-13
40
-4
-45
7
-22
-21
22
8
0
0
0
0
0
-3
-10
-5
22
-38
-19
62
16
18
5
23
-2
0
1
0
0
0
3
0
-12
-13
-10
-10
-1
-11
-8
-37
-15
7
-1
3
0
0
0
-25
-3
-2
-17
-39
-4
21
13
3
21
1
-1
0
-1
0
0
0
-51
10
-7
-40
-17
-9
-29
30
-21
10
-4
-7
6
0
0
0
0
-39
5
44
-7
-9
104
0
-38
0
49
-24
-22
13
-3
0
0
0
-13
3
11
13
24
78
0
20
15
42
3
-5
13
-7
0
0
0
13
-15
-3
11
43
5
12
-62
-22
-37
-10
41
-31
-1
0
0
0
13
-2
-38
41
-26
-4
-75
19
16
-28
7
13
13
-1
0
0
0
-28
19
-28
22
-12
5
-12
-40
-4
16
5
-11
-21
4
0
0
0
-17
3
-9
13
-35
36
-28
1
-20
13
3
-10
-13
-6
0
0
0
6
-6
-9
-48
-94
19
-10
-1
8
-16
2
1
2
0
0
0
0
-24
32
-21
-5
-25
1
-42
-26
-40
-7
6
1
-2
0
0
0
0
0
-1
-22
26
-47
-14
-25
-7
8
1
-3
1
0
0
0
0
0
-8
-7
-40
-24
20
11
118
0
0
-15
-5
53
30
-21
14
4
0
-20
-40
63
-13
43
-2
55
0
6
0
-24
-35
6
5
5
-1
3
-41
-20
-22
7
-42
31
12
60
84
12
9
43
-7
50
-43
-41
-1
-7
-31
14
-19
-14
19
82
6
-11
-43
-74
-8
-18
7
-66
4
0
21
-10
-41
-43
-14
-26
-19
-22
-9
-1
-31
27
5
-2
-5
0
0
-19
28
-73
-58
-5
45
3
-58
-42
-71
-3
-47
13
-15
-5
2
0
0
-43
-57
-6
34
-106
24
-19
-49
5
-13
31
-24
19
0
0
0
2
-30
85
29
-21
-1
17
-68
18
-20
-22
-2
-12
8
-1
0
0
2
-17
17
-30
-27
-14
18
-16
5
3
2
-4
0
0
0
0
0
29
-20
-1
-12
43
-4
0
14
0
-5
5
32
44
7
2
0
0
4
-58
2
6
-14
107
-11
0
10
0
38
23
-25
-14
5
0
0
-6
-47
-58
3
4
52
6
128
5
104
42
83
-32
22
-8
0
0
-55
32
6
-36
44
-29
-13
41
29
68
45
-14
-7
9
-1
0
0
-4
35
29
-4
-56
20
22
-50
-53
-53
49
3
-5
-24
-9
0
0
-6
-8
12
-40
-1
-5
1
-49
-41
-83
-44
-11
-2
-3
0
1
0
2
-4
-69
45
-54
-19
5
-22
-44
-32
-6
-4
1
1
0
0
0
7
12
-27
22
-30
34
-44
-14
-20
-27
-13
-3
0
0
0
0
0
10
-4
-5
-14
-45
-2
2
-14
-12
-8
8
1
-1
0
0
0
0
-19
13
-14
60
26
31
-13
0
0
0
25
42
7
-27
1
0
0
-66
20
6
-18
4
-8
20
-2
0
23
15
49
4
21
4
-7
1
63
-73
34
22
50
-34
-5
64
-1
51
55
-30
-9
-16
2
0
0
-63
30
5
-25
23
47
25
28
62
39
-20
-29
-9
-12
-1
0
0
-18
6
15
-41
19
-21
-10
30
2
-7
-21
17
-4
1
-1
0
0
54
-20
-33
2
17
34
-38
18
-32
-68
-74
-20
14
-2
0
-2
0
14
-7
-48
-40
14
17
23
39
-38
-56
-13
-19
2
5
-5
0
0
-23
17
21
-3
-19
31
41
-30
-9
-31
-30
9
-7
0
0
0
0
-1
-41
-18
-19
8
9
-6
-19
-33
5
6
0
0
0
0
0
0
0
0
0
0
0
0
4
21
0
24
76
5
45
31
22
-26
29
0
0
0
0
0
0
21
39
74
23
27
23
56
89
-12
-63
40
0
0
0
0
0
0
27
3
-8
50
84
-16
-16
-57
20
76
-22
0
0
0
0
0
0
-1
-10
8
10
-50
-4
40
3
41
-13
13
0
0
0
0
0
0
0
3
6
26
-10
-24
-27
-99
-40
-4
56
0
0
0
0
0
0
0
9
-23
-37
-33
-5
-9
-35
26
-110
-39
0
0
0
0
0
0
0
1
8
-8
-6
-49
-29
-42
-23
-31
10
0
0
0
0
0
0
0
0
0
8
-50
3
-35
18
-12
14
-91
0
0
0
0
0
0
0
0
0
-1
-1
-23
-4
-11
17
15
-46
0
0
0
0
0
0
0
7
0
8
8
58
9
-43
-5
-19
-48
0
0
0
0
0
0
0
4
36
-30
7
-35
20
42
-13
65
42
0
0
0
0
0
0
0
0
8
0
14
-5
3
-26
-52
7
6
0
0
0
0
0
0
0
0
2
-5
-2
-6
-23
15
-49
-4
17
0
0
0
0
0
0
0
0
1
9
1
-19
-27
3
-31
17
16
0
0
0
0
0
0
0
-1
0
-1
19
26
23
49
30
-33
-41
0
0
0
0
0
0
0
0
0
-1
-8
0
10
-64
-50
6
27
0
0
0
0
0
0
0
0
0
0
1
-17
-14
59
-66
-21
-18
0
0
0
0
0
0
0
0
0
0
0
-6
8
8
26
-29
-21
0
0
0
0
0
0
1
-1
0
-5
-5
-13
-16
67
30
5
5
0
0
0
0
0
0
0
-13
7
-4
-25
-21
-31
50
-52
-32
27
0
0
0
0
0
0
0
9
5
30
9
29
27
59
1
-17
42
0
0
0
0
0
0
-1
4
0
5
-13
11
2
-52
-12
51
-24
0
0
0
0
0
0
-1
0
5
13
-5
-40
5
-56
8
-43
43
0
0
0
0
0
0
0
-1
-2
9
42
12
-53
48
46
5
-25
0
0
0
0
0
0
0
0
1
14
-13
-5
-16
-46
27
-14
-12
0
0
0
0
0
0
0
0
-2
1
0
-5
-16
-15
4
14
-3
0
0
0
0
0
0
0
0
0
0
1
-2
-4
-4
-19
-8
2
0
0
0
0
0
0
0
5
0
-4
64
33
1
23
-11
7
-4
0
0
0
0
0
0
2
-8
-1
37
13
87
26
-16
-88
40
-7
0
0
0
0
0
0
-1
40
-5
1
13
43
-56
37
57
87
42
0
0
0
0
0
0
0
6
13
3
-31
-13
49
-52
21
-89
-30
0
0
0
0
0
0
0
-2
-1
-7
-31
-49
-25
67
5
-50
7
0
0
0
0
0
0
0
0
1
-1
-1
-17
5
32
44
-16
10
0
0
0
0
0
0
0
-1
0
0
-24
23
5
40
-25
31
-19
0
0
0
0
0
0
0
0
0
0
4
-14
-28
-58
9
15
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
-1
0
0
0
0
-2
5
-7
-21
0
48
0
35
77
12
6
28
-35
0
0
0
-1
-13
5
4
2
-69
-42
23
69
3
24
-30
-48
-37
0
0
0
0
3
-22
16
26
-19
-13
54
13
-20
-44
3
14
-49
0
0
0
0
0
-1
12
-9
4
23
56
21
31
1
22
-7
9
0
0
1
0
0
-3
21
-32
-4
1
40
78
-22
10
-9
60
50
0
0
-1
0
6
17
42
21
41
41
101
-11
-18
31
-33
-7
30
0
0
0
2
0
0
12
-31
-28
20
48
-70
67
-19
-2
-15
12
0
0
0
0
0
-3
0
18
-31
-5
-28
16
-20
-48
66
-50
31
0
0
0
0
0
0
-5
-1
3
-5
2
-6
3
5
-9
4
-54
0
0
0
0
0
-6
7
-25
0
-17
12
40
50
4
10
-49
3
0
0
0
-7
-3
2
-9
19
18
31
60
22
5
4
45
-1
3
0
0
0
0
12
1
-3
35
-22
7
34
-9
45
-26
-1
32
-1
0
0
0
0
-6
-4
16
-14
42
-1
-21
13
-58
-8
10
49
11
0
0
0
0
-1
1
-25
-31
13
-45
84
0
50
42
30
21
12
0
0
0
2
-7
-18
-31
-7
2
32
56
-33
-7
-26
-35
12
3
0
0
0
0
0
6
-4
23
-31
-25
37
20
32
4
-33
-5
8
0
0
0
0
-2
0
10
-13
6
-13
-6
-56
-44
-25
-17
2
18
0
0
0
0
2
-2
2
1
-6
20
-18
8
22
3
-43
-53
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-19
27
-37
49
-27
53
0
75
-25
20
44
9
-11
-25
-50
0
-19
-9
-24
-11
-53
8
12
8
-29
-31
65
-9
-33
-20
-40
-1
-1
-8
-42
-24
-5
46
-22
24
-14
36
22
20
7
-18
-89
7
35
0
-19
20
49
15
45
-41
-10
-46
-13
-28
14
11
-48
-28
32
-34
-1
0
-1
30
27
-50
61
-31
37
22
-9
-10
-58
18
-28
-70
-50
1
0
-17
-20
-42
-11
-39
32
-3
9
-49
-46
-69
18
78
-5
5
0
0
7
-2
-15
-41
-30
17
-21
-18
8
-17
-8
25
-25
-32
-13
0
0
0
-1
0
-3
4
-15
-48
28
-27
17
31
8
-25
0
-17
0
0
0
0
0
0
2
2
-16
-10
-8
-31
-12
-20
-14
-5
2
0
-14
5
-9
20
-20
31
24
0
-29
26
5
81
-9
-48
-26
0
2
-5
-100
-17
9
29
-6
39
16
-20
2
-19
-24
-10
-3
36
0
1
-5
36
22
57
13
15
3
-32
8
-39
2
24
-55
-6
2
0
0
-5
18
-3
-7
-50
4
31
26
33
27
25
10
-17
-51
-69
0
-1
1
-7
16
38
-30
-37
23
6
9
-3
14
46
-97
-12
1
0
0
10
-8
9
-10
11
13
9
32
-9
-12
8
-91
-16
-9
13
0
0
1
2
-40
8
-35
-28
-7
13
-16
12
93
-63
46
-5
-29
0
0
5
-6
-32
14
14
-13
3
33
-17
-30
10
-34
35
-2
30
0
0
0
2
-13
-46
3
-9
-1
-29
19
30
-3
-15
-21
1
0
0
-1
-42
15
-29
2
19
3
-10
0
13
0
14
9
-7
-6
3
0
-2
5
22
-13
4
13
-5
2
-12
-16
41
47
-16
9
-49
17
0
7
5
-26
21
-10
-6
7
-6
-16
-64
-9
-29
45
26
-55
5
0
5
35
-13
5
-3
1
-9
5
34
84
-23
-31
46
-59
-16
-8
0
0
0
5
4
17
2
12
-23
-4
-28
28
-20
18
-8
-28
-9
0
11
5
-9
12
13
7
-3
-15
15
16
-22
39
-80
0
-25
-5
0
18
49
-18
-30
1
15
-2
1
-5
-24
-43
23
-74
19
-14
-1
0
-8
-21
-13
6
3
8
-25
16
-26
-74
13
20
-45
-8
-7
3
0
1
-22
-19
-27
13
-21
-13
-30
-1
8
-25
-58
2
-5
8
0
0
-1
4
13
8
51
11
5
-1
0
13
-23
8
-8
29
-46
0
0
-8
-27
-32
-37
-17
39
0
7
-6
18
22
40
84
11
10
0
0
13
5
18
-18
-14
-1
-1
1
-19
-17
44
35
4
-28
8
0
0
-4
5
-39
1
6
35
-5
-38
-40
-38
32
-40
54
-23
-16
0
0
-5
7
-2
48
23
13
14
-56
-32
-34
18
5
-73
-49
-13
0
0
10
13
17
-42
-25
-32
17
-51
8
-32
-56
13
-50
-15
10
0
0
5
-1
-12
9
-25
11
13
0
39
-21
-30
-93
-36
-8
-4
0
0
1
5
49
-60
-33
-2
-32
-44
23
38
-40
-90
3
19
6
0
0
0
0
0
1
3
-4
-2
-6
30
-18
-20
34
30
8
-3
0
0
0
-2
-16
-25
-4
-7
-21
78
0
-41
76
-12
10
-6
-16
22
-22
0
5
-16
-28
-22
-32
-4
7
-7
21
39
-32
51
50
-8
-35
68
0
3
-1
-50
25
-35
-20
16
40
-56
4
82
-21
-27
-8
14
-43
0
5
-28
-4
0
4
32
-34
-44
23
-32
23
-2
-46
24
31
36
0
-1
10
6
-11
33
24
-48
2
-29
75
-9
-8
-4
5
-61
-99
0
0
-8
-13
-26
-13
-14
18
-36
23
-58
59
8
40
16
-43
56
1
0
-1
-29
-1
-9
-55
1
-8
-24
-5
-40
-71
-13
-59
-7
-25
0
0
6
12
-6
0
-29
-5
-29
-32
-35
-43
24
-58
-29
46
13
0
0
1
0
-2
-1
-6
-9
-19
-12
-66
-17
-27
-3
0
-28
2
0
0
-1
-7
-41
5
16
2
0
6
-31
49
118
28
31
-41
-8
0
0
0
6
-6
32
33
70
15
30
18
48
66
-12
50
-5
-21
1
0
-1
-1
8
-14
-58
-38
16
20
-22
45
36
40
-29
16
62
0
0
0
7
18
48
-23
15
-9
-6
24
-31
13
13
-7
-54
-11
0
0
0
1
-9
-9
-66
3
-8
-11
-14
-40
-8
49
-50
-14
19
0
0
-1
0
-15
-13
-50
-37
9
-63
13
23
2
-14
-20
-74
14
0
0
0
-12
-3
-14
-41
0
3
-25
9
-9
32
-16
74
16
-9
0
0
0
-1
-8
-1
-35
8
-31
6
19
21
-22
-48
-50
15
1
0
0
0
0
0
13
-20
-17
-57
7
-24
-17
-13
4
-4
1
0
0
0
3
18
-16
21
-51
70
0
-23
-32
36
39
31
-22
-27
19
0
2
-25
-6
21
22
16
18
-67
-3
27
48
-1
-19
7
5
35
0
0
2
4
-23
-57
-24
-9
-11
19
40
-3
56
47
30
25
-21
0
-1
-3
-19
-16
-14
48
30
66
31
13
-43
62
-22
104
14
52
0
3
-3
-22
14
-2
4
47
-55
33
25
23
14
-3
11
-77
-28
0
0
0
25
-30
3
2
-15
28
-5
22
-38
-33
-14
-25
25
26
0
0
8
-22
-34
-5
-50
1
16
127
35
-45
-15
-34
-15
-89
-45
0
0
-1
-1
25
-25
-19
-56
-5
-3
-50
19
-34
11
-41
29
-44
0
0
-1
0
-17
36
21
11
-79
-13
-60
60
-8
-8
-4
8
-1
-15
13
11
9
-12
0
51
-23
-49
16
-13
-6
0
0
8
61
9
2
-49
17
-31
25
47
49
19
64
31
39
-10
40
29
2
30
8
0
0
73
0
17
1
-4
30
8
64
-21
-12
-4
15
-46
-53
-35
-48
-34
-25
9
4
0
0
-11
-23
51
-36
-59
-59
-58
3
41
59
29
-48
54
66
17
-11
41
34
7
-48
0
0
63
59
-32
25
46
60
47
101
-25
-26
-12
-130
-55
-64
-35
-102
-63
-66
-73
-76
0
0
-20
-4
-69
-39
-76
-82
-77
-53
34
15
30
58
69
79
1
35
95
91
101
-12
0
0
46
42
6
0
72
-21
77
96
-38
-6
-5
-31
-106
-4
-28
-52
-135
-28
-34
16
0
0
-18
24
-16
0
-185
-112
-143
-49
34
-49
17
15
155
-20
15
-62
238
56
19
-30
0
0
19
-21
-38
2
190
29
98
10
-102
-12
-16
1
4
-32
-44
5
3
-41
-33
8
3
2
-4
-24
2
3
4
21
3
7
3
3
50
-27
-24
-15
-26
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-8
17
-12
-6
-18
17
-18
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-7
8
-12
0
11
16
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
32
21
-10
0
0
-7
-5
-34
0
0
-45
-5
-4
0
0
-17
-1
1
0
0
-32
3
4
0
0
31
-16
-26
4
-4
-11
2
-18
-10
-4
-3
2
-2
-27
-2
1
-3
-1
-3
-5
4
-4
-1
12
-17
11
23
41
3
0
-3
0
-9
-6
4
-4
2
-32
-4
-32
0
0
0
-6
-17
-10
1
23
-29
4
4
10
12
23
1
1
-7
-4
-19
-31
-36
-38
4
0
0
0
0
0
-4
-1
-6
1
5
-9
-12
2
-3
35
0
4
2
1
2
0
-40
0
-7
-46
0
-1
-3
-11
3
0
-10
-6
-11
-2
0
2
2
13
-11
0
0
4
-2
-14
0
0
2
-4
-6
0
0
1
-2
1
0
0
3
-4
8
0
0
-12
-27
17
8
7
7
-1
-5
5
2
5
1
3
-14
1
1
2
1
5
-8
0
-5
6
19
-15
0
-20
-3
1
13
1
1
-1
-1
-1
0
-2
-1
3
-3
-1
1
16
-3
-1
1
0
18
-49
0
-34
15
-15
1
-5
0
1
1
-7
1
-4
-1
0
0
0
0
0
0
-1
4
-1
-8
2
30
-24
-1
-15
11
0
-5
-2
-1
8
0
1
1
-8
1
0
0
-1
0
0
0
-1
2
1
-3
0
30
80
-2
-9
0
0
-2
1
-4
0
0
-2
-5
1
0
0
0
2
-5
0
0
1
6
0
0
0
-4
55
-20
12
-3
-8
0
30
15
-14
-49
3
-11
-75
-94
-19
84
45
-5
-40
-7
-29
68
81
86
13
13
-2
6
11
-16
-16
22
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-45
-27
25
41
-2
19
-21
-24
-32
-5
0
0
0
-1
-1
0
0
0
0
0
0
0
-1
0
0
24
38
0
-39
-17
0
1
51
-26
-126
0
0
0
0
0
0
0
1
3
0
0
0
0
-4
0
0
-29
-4
66
16
0
0
-59
-21
-13
0
0
-7
-53
-16
0
0
24
-64
20
0
0
-14
-21
-13
0
0
-41
30
1
-19
-4
-9
-5
-7
-58
-64
-25
-34
-11
-53
-16
-24
15
47
-42
-19
15
8
-42
-23
47
12
32
-44
-13
-29
-7
-25
24
-25
-19
-22
-31
-37
-2
-45
-31
-4
-9
-20
-10
-85
-12
-29
-65
13
16
-7
7
-13
0
-12
-43
-18
-10
97
-84
-6
-24
0
0
0
0
0
30
-22
-8
-2
-12
-44
-20
32
46
28
0
2
-4
-20
37
0
-67
-40
-21
31
0
-76
54
-23
-19
0
40
8
42
8
0
-4
35
-35
2
0
0
-11
2
23
0
0
-21
4
-42
0
0
-41
11
-80
0
0
8
56
4
0
0
56
-25
8
-20
-10
-5
8
-9
38
-17
-9
-6
-28
13
2
5
27
-10
65
6
25
15
-13
73
-2
-31
-58
10
-14
-4
-11
-10
-8
-50
-38
-39
-47
-45
-19
-22
2
16
-32
67
-41
-35
19
21
-12
-3
59
27
-8
-27
4
-11
-6
-7
40
-66
-47
-44
45
0
0
0
0
0
92
9
10
3
24
17
49
-8
8
15
0
-5
-10
1
-7
0
-40
2
-28
-44
0
-54
6
-4
-5
0
-55
21
-5
8
0
-8
4
70
-11
0
0
10
-6
18
0
0
-7
-12
-12
0
0
-5
26
10
0
0
22
-5
32
0
0
18
31
48
-3
8
2
9
7
-22
10
-4
4
-6
77
24
4
0
-9
41
49
20
51
10
-43
83
-3
-16
-15
6
13
4
-1
11
16
-34
37
-1
18
69
24
33
20
11
-13
19
10
17
24
22
0
17
21
30
-11
-2
-8
8
5
-75
-33
-12
18
-30
0
0
0
0
0
-13
80
0
64
-35
-3
63
-5
46
50
0
0
-4
-3
4
0
-3
-21
-12
29
0
-13
5
1
20
0
18
42
22
72
0
-11
1
-15
8
0
0
-11
6
-5
0
0
-7
-13
18
0
0
48
4
0
0
0
-71
35
88
0
0
1
18
11
0
31
10
28
-7
-9
6
2
45
-2
14
18
55
29
86
20
13
-13
40
-50
-8
0
18
4
0
41
12
13
21
-6
-3
-9
-17
-6
17
-1
-4
4
6
-22
18
25
6
4
-7
46
3
-20
-11
-8
-5
-2
6
-8
11
-62
-2
6
20
1
0
0
0
0
0
-10
-10
22
62
41
0
49
-14
-18
1
0
14
-11
7
26
0
-10
-13
19
17
0
42
40
37
-1
0
9
-29
35
19
0
0
0
41
0
0
0
8
-1
19
0
0
-3
-25
19
0
0
-19
11
-30
0
0
14
-3
63
0
0
0
0
0
-21
-9
-1
3
-3
-3
10
-8
-2
-1
-40
-15
-15
0
10
9
-9
1
-4
24
58
-4
44
26
-15
-5
-10
-1
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
6
17
-31
-26
11
1
-2
-1
0
0
0
0
0
10
-2
-25
-1
-10
0
0
0
0
0
-3
1
27
13
-35
0
17
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-19
5
0
0
21
-1
-10
0
0
-29
1
-18
0
0
0
3
-3
0
0
5
4
-30
0
0
4
13
43
6
9
6
-4
0
6
2
1
0
3
8
-4
6
-5
2
9
7
-12
-1
-1
22
8
-5
18
6
9
6
0
2
5
-11
-3
3
0
-7
-2
4
-15
-25
-1
-2
-38
7
-24
-15
11
-5
-3
10
-3
6
18
8
6
-1
3
-4
1
1
-14
-1
0
0
0
3
8
0
-1
-1
15
14
3
41
-40
-8
0
3
2
2
-5
0
-23
0
1
-6
0
-4
2
-1
0
0
0
3
-9
6
0
5
10
-44
31
0
0
2
-4
-1
0
0
-2
-3
-13
0
0
1
-7
-4
0
0
-4
-8
-11
0
0
-2
24
3
1
5
1
1
7
3
0
1
-2
8
8
-3
1
1
-5
22
11
-29
-31
-13
-24
-1
13
-49
42
12
5
5
5
3
5
1
0
1
1
13
2
4
0
-2
10
1
-10
3
25
42
-11
-40
-6
25
12
1
3
2
11
3
-1
2
-5
4
14
0
2
0
-3
-3
0
0
2
-3
8
-32
25
55
-27
0
0
2
-1
-1
0
-2
-2
0
-11
0
9
-1
-4
-1
0
-12
-14
-1
10
0
13
-9
0
58
0
0
2
2
-4
0
0
2
2
-7
0
0
-2
-16
-28
0
0
33
-20
-6
0
0
27
-17
-18
-36
-19
-60
-31
-8
-8
-43
-10
-15
-28
-10
-33
-50
-14
24
-13
-15
42
-24
-16
8
-24
-27
2
0
-65
-46
-68
-65
16
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
6
-1
-15
0
-71
-88
-29
-24
-101
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-41
0
-4
0
0
-94
-5
24
31
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
29
-132
39
0
0
-57
-49
34
0
0
1
-48
6
0
0
-17
-37
2
0
0
1
3
0
-43
-37
9
-17
-43
23
-14
-60
-45
11
10
-22
-36
-33
-28
11
-94
7
-33
-1
-33
-37
-33
-15
1
-58
-46
-18
-25
-28
-31
-45
-26
-57
-41
-6
43
-8
-66
-41
-27
15
-23
-22
-4
24
-26
-58
1
8
-76
-25
-14
-42
-3
20
-69
0
-75
29
0
0
0
0
0
8
-4
-30
-6
-5
28
-30
9
25
-17
0
-44
-56
-11
-19
0
-54
-104
-18
-32
0
1
-9
-55
-25
0
-43
-41
-30
-25
0
-15
-13
-25
13
0
0
13
-18
-14
0
0
-35
-17
-104
0
0
7
-9
-82
0
0
20
-20
-70
0
0
34
0
-13
17
1
13
5
-23
35
2
27
10
-5
-6
-4
17
-50
-21
-15
17
-8
68
-15
11
-24
16
7
22
9
2
-9
0
1
14
-3
-3
-11
-28
-7
-13
-21
-35
-35
-13
-13
-5
22
-33
67
-4
-17
-2
-5
-44
8
0
-7
10
69
10
24
-24
-38
0
0
0
0
0
2
2
9
-40
-27
56
7
13
-23
-25
0
5
6
-11
15
0
-18
13
-18
-14
0
-23
4
-34
-3
0
9
-14
-43
-56
0
13
-54
13
25
0
0
-12
-1
16
0
0
-14
6
-9
0
0
-3
6
-12
0
0
10
-11
-75
0
0
35
-29
1
19
12
16
-4
5
6
14
22
29
5
9
16
3
23
16
-20
-1
-22
27
-6
5
9
62
-8
-5
17
17
-2
15
-28
37
3
21
12
17
-35
2
8
-15
-40
41
-37
22
19
-9
-8
5
22
-25
0
36
-2
4
7
-3
-23
3
1
11
8
0
0
0
0
0
-41
8
-7
22
13
12
27
-12
0
-20
0
14
11
7
5
0
-14
13
-14
-2
0
100
-13
6
-50
0
34
-21
14
-13
0
-13
-8
22
19
0
0
6
-10
-15
0
0
10
5
2
0
0
32
3
-11
0
0
15
115
25
0
0
6
4
-1
2
14
10
-1
12
36
26
38
20
8
-91
-22
50
15
40
-9
105
6
-1
-15
23
13
-4
0
0
60
43
15
15
10
-1
16
23
16
-24
-2
-7
15
16
58
91
-20
91
-27
25
1
13
8
-5
0
28
14
0
-5
25
-1
1
6
-5
16
0
0
0
0
0
10
-7
-60
21
64
0
3
-3
4
0
0
54
25
1
-40
0
3
27
5
-5
0
43
58
-3
-2
0
-4
31
-24
7
0
0
0
0
0
0
0
8
-74
68
0
0
14
-25
30
0
0
16
17
24
0
0
4
0
2
0
0
0
0
0
0
0
18
18
-17
29
5
27
5
-14
-23
-41
13
37
-17
-53
-12
9
16
-76
-15
13
46
-23
7
19
-33
-21
51
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
41
7
32
-25
-61
-37
-16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
6
-19
4
-11
0
33
17
28
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
31
-50
-20
0
0
-66
20
-23
0
0
-51
-31
-10
0
0
-88
-30
-10
0
0
-2
-17
-51
0
0
0
-16
3
-16
-4
4
32
22
35
7
22
46
-48
-69
22
-2
64
-33
-30
121
85
44
-72
-70
15
55
25
3
-25
-34
1
-9
37
41
3
5
51
32
25
40
7
3
27
57
33
9
5
-12
71
-28
48
-3
8
-34
2
33
-24
13
-9
7
-20
38
6
0
0
0
0
0
-14
31
13
5
-4
12
41
18
-18
22
0
73
29
30
-21
0
9
13
31
19
0
-36
31
5
48
0
-134
34
-30
42
0
15
-75
15
-16
0
0
27
26
38
0
0
17
39
45
0
0
39
61
69
0
0
-46
29
11
0
0
18
16
-2
7
30
39
60
149
145
82
112
128
-19
8
105
-3
59
-5
50
72
4
5
0
4
-4
0
1
0
57
3
39
66
-2
13
41
108
29
7
26
-2
77
69
-70
29
22
52
-27
24
-2
-3
-9
0
0
-19
43
76
33
43
70
30
24
1
46
0
0
0
0
0
-5
90
-25
47
-2
-17
12
-2
1
0
0
105
8
105
14
0
15
29
148
21
0
3
10
88
59
0
-36
13
19
-1
0
-8
4
-1
0
0
0
6
98
42
0
0
-20
30
-23
0
0
28
65
59
0
0
-24
-10
3
0
0
-3
-1
0
61
-27
35
-62
8
-3
-37
13
49
16
-9
-12
-8
-8
25
-10
-1
-31
8
-23
-19
53
13
-7
-1
-51
-25
-24
47
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
15
0
0
19
-68
-23
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-2
2
0
0
1
4
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-3
-1
0
0
6
10
-69
0
0
-6
-30
-8
0
0
-47
2
-6
0
0
22
5
8
0
0
-22
0
-4
3
-40
17
-31
41
-21
17
18
8
-19
-6
13
-12
-57
27
-76
-10
-14
24
11
-58
-37
34
10
3
-29
-25
4
-45
26
-8
-24
-20
5
0
-1
-2
-8
1
0
-1
2
-8
1
0
32
-130
7
-17
10
43
-55
-27
-47
-12
-1
6
-12
-3
1
0
0
0
0
0
0
0
0
0
0
-57
-1
2
49
10
0
-15
-8
3
21
0
-23
27
9
16
0
6
-3
0
0
0
-1
8
1
0
0
-42
49
54
12
0
0
-21
18
38
0
0
-56
1
-10
0
0
-55
-1
4
0
0
-68
21
32
0
0
-42
14
30
-31
-14
11
-21
-13
30
-5
41
-55
-54
-18
-35
12
-1
-2
-58
43
-4
9
-20
-28
14
11
21
1
-142
-70
-27
33
17
-35
26
71
7
43
15
16
-5
13
-41
-34
8
31
8
-30
24
-35
5
24
12
20
-41
-14
-1
11
28
30
-8
25
-5
0
0
0
0
0
-13
-90
-14
17
12
22
-46
22
8
16
0
33
-11
10
-45
0
-31
-75
13
13
0
-17
-35
-8
41
0
-17
-10
-41
-12
0
1
35
-5
6
0
0
-15
17
-10
0
0
-91
10
-31
0
0
-81
-67
47
0
0
-32
41
-10
0
0
25
-10
4
43
-31
-21
-37
74
-13
-9
57
111
-33
-29
-107
30
-14
-8
-10
100
-40
33
-39
-2
18
0
-2
0
-15
-17
-61
49
3
-6
12
111
61
-23
-5
-80
11
12
-14
20
-69
39
3
6
-4
24
8
0
0
-64
-6
4
12
19
18
-103
-7
43
25
0
0
0
0
0
-9
-25
8
7
14
0
0
2
-3
0
0
121
-7
51
5
0
-39
-3
-11
46
0
-26
61
64
-8
0
-4
-61
-20
6
0
-1
-7
-1
0
0
0
41
8
37
0
0
-27
28
33
0
0
5
73
30
0
0
-2
5
-24
0
0
0
0
0
61
54
128
-93
16
-59
-5
56
3
32
6
67
-1
-2
0
2
-8
1
-1
0
-3
0
0
0
0
13
93
22
-44
-17
-41
-13
99
-37
47
15
-11
31
13
15
7
12
16
-4
-2
0
0
0
0
0
-17
-51
44
114
-11
-1
-31
51
33
14
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
7
-29
10
0
0
-40
9
75
59
0
-47
-26
20
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
5
0
0
76
15
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-3
-4
-10
-6
-27
-5
-2
-8
-15
-43
-24
-3
-7
10
-19
1
-4
4
22
-10
2
-1
-6
17
-54
-33
-9
-10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
3
1
-13
2
-46
-14
-28
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
2
2
15
0
-14
-8
-14
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-11
0
-7
0
0
7
-1
-15
0
0
1
-10
5
0
0
5
-6
-7
0
0
-20
-14
14
0
0
12
-10
4
-1
10
-1
1
1
-16
4
4
-3
19
-7
-15
5
4
1
7
15
1
15
0
17
6
-2
-3
14
16
8
11
4
-1
5
-14
-23
-10
-10
1
-23
-6
-1
-3
-7
0
-8
-2
-5
8
2
-6
-7
-2
13
4
-1
-6
5
-5
-24
-8
-35
-18
0
0
0
0
0
-21
-1
0
-2
11
0
-2
7
-14
13
0
0
8
9
4
0
-12
15
3
-2
0
-10
-2
-10
2
0
0
-2
-11
-1
0
14
-15
3
5
0
0
0
7
11
0
0
3
3
8
0
0
4
10
-1
0
0
2
11
10
0
0
4
27
-15
12
18
2
3
7
14
13
5
2
11
3
4
6
7
8
25
2
9
9
-2
16
21
-27
-37
22
55
15
11
6
4
4
1
5
8
6
-3
0
-4
1
6
8
0
10
9
22
9
-4
-21
3
33
14
8
1
7
7
23
11
3
5
8
0
0
0
0
0
14
3
2
-4
8
-25
-25
9
11
-5
0
11
-1
2
26
0
0
10
8
-2
0
0
10
3
-1
0
1
16
1
17
0
34
18
9
3
0
0
3
9
1
0
0
8
7
21
0
0
7
-2
19
0
0
0
13
17
0
0
-20
32
53
-77
-12
9
-21
-24
-71
-64
27
2
-23
-180
-35
-28
22
-11
-60
20
12
36
-6
-1
61
40
32
-24
-112
-65
-2
-18
22
-12
-57
-49
-51
16
-19
-24
-34
2
-8
-51
-43
29
-25
-45
-65
-26
35
-25
-27
3
-29
-1
0
12
-5
-59
-20
-13
-7
0
0
0
0
0
0
4
-12
1
-1
20
11
-8
-55
27
0
-53
12
-1
-28
0
-19
-6
9
-18
0
2
-37
34
13
0
-6
31
24
-13
0
3
12
10
86
0
0
-10
-10
6
0
0
-52
-28
-14
0
0
6
-5
-12
0
0
-38
-12
-34
0
0
-42
-32
61
-50
4
11
-10
3
-61
-46
-15
0
-2
-86
-15
-16
13
13
-47
-2
12
9
-3
32
15
10
24
-3
-73
-46
-40
0
-4
-206
-161
-31
-43
1
-177
-56
-68
-78
-57
-87
-49
-57
-26
-59
13
11
11
13
66
-22
-16
-9
-8
19
27
-100
-53
-103
-43
0
0
0
0
0
6
-6
-57
-85
-13
27
9
23
24
33
0
-15
-14
-13
-3
0
-94
-74
0
-87
0
-11
29
-20
-50
0
-26
15
11
-33
0
4
8
19
15
0
0
-2
-19
-8
0
0
-9
-28
-6
0
0
-23
-26
-5
0
0
-19
-6
-3
0
0
-10
-11
-1
-11
1
4
6
-21
-30
-11
-1
-2
-7
-10
-1
4
-14
-11
0
-4
11
20
9
16
22
0
14
-9
-3
-23
-7
-1
-17
-57
-92
-54
-10
-33
-87
-58
-30
6
0
-4
-26
-17
-13
15
26
-4
11
10
25
10
0
-17
-3
5
-71
-93
-40
-30
-36
0
0
0
0
0
11
-5
-3
3
-5
8
6
10
0
29
0
-7
-15
-16
-6
0
-43
-36
-28
-15
0
-20
-2
-6
-11
0
8
7
-7
3
0
12
-26
19
-20
0
0
8
-1
8
0
0
-3
-5
2
0
0
-1
2
12
0
0
24
0
-21
0
0
48
38
11
9
7
12
0
6
20
25
11
8
9
61
7
7
-14
12
23
12
25
24
33
39
64
10
-21
-89
28
7
5
6
4
-31
-38
-12
-14
-38
-3
-5
12
3
9
27
5
5
-1
-9
2
25
-30
-10
49
39
4
-10
10
-11
-26
-57
-20
-12
-9
0
0
0
0
0
12
-3
7
28
-13
-34
-7
12
16
55
0
-3
8
5
6
0
-1
-6
-13
-7
0
10
1
6
-11
0
-9
18
-15
-18
0
-35
4
49
-19
0
0
21
-8
-10
0
0
14
4
-12
0
0
8
23
84
0
0
-3
20
1
0
0
-25
30
-41
52
-3
-2
2
2
28
27
-3
2
9
24
29
22
-58
-55
-36
20
-2
-31
-29
73
-91
0
60
-28
35
25
33
6
19
49
12
12
10
-8
30
11
11
8
23
55
9
31
-13
-6
98
33
31
66
-15
25
4
13
23
12
-26
-4
17
7
22
0
0
0
0
0
-42
8
54
55
20
30
-45
-26
8
-5
0
-24
-13
23
-8
0
29
-5
-9
13
0
11
57
14
33
0
42
2
-23
22
0
-44
-20
-17
-10
0
0
9
-22
22
0
0
-11
13
-11
0
0
2
3
41
0
0
80
90
52
0
0
1
3
0
-21
-19
0
0
-1
7
-31
11
2
-9
3
-25
-17
0
6
5
12
9
18
11
9
9
10
-21
-26
6
-11
4
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
21
14
1
-12
3
8
-2
-10
7
0
0
0
0
0
-1
-3
-4
-2
3
0
0
0
0
0
3
11
10
3
-29
0
13
8
-14
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-12
23
0
0
34
-1
-5
0
0
4
-2
14
0
0
-1
0
-5
0
0
3
-2
-28
0
0
0
8
50
19
8
9
3
5
24
2
6
4
-2
29
16
2
7
-4
46
15
16
17
3
12
10
12
48
65
46
17
16
15
13
-4
-4
1
8
0
9
0
3
7
6
5
10
2
28
-14
-5
25
21
-15
13
25
18
15
8
18
3
-8
3
6
10
0
2
1
3
-6
6
2
16
5
18
31
14
19
-21
19
0
5
14
13
11
0
-12
1
3
5
0
7
0
-5
9
0
2
4
22
4
0
10
15
3
12
0
0
6
13
-2
0
0
6
-12
14
0
0
-7
-25
-11
0
0
2
-21
-6
0
0
-2
-13
-18
23
-4
8
-5
-9
36
11
-10
-19
9
29
11
8
14
-21
24
22
3
4
-34
107
-50
51
-17
-9
40
11
20
6
19
14
10
13
7
12
12
5
11
9
31
-4
13
12
18
51
39
18
30
30
13
24
21
7
7
-9
3
1
6
6
5
2
5
1
4
4
12
8
25
-1
-4
42
45
51
13
-96
0
-1
14
3
-4
0
0
5
-1
13
0
15
15
-4
14
0
-9
9
-3
10
0
78
-30
-9
20
0
0
5
3
-4
0
0
7
-8
12
0
0
11
0
-4
0
0
3
13
-14
0
0
39
-26
-31
-29
-28
-37
-11
10
-129
-88
0
-34
-28
-172
-264
11
4
13
-23
-80
13
-16
-77
4
-58
-73
26
15
-128
-64
-26
-30
-5
-10
-42
-75
-41
-4
-8
-21
-20
-4
0
1
-16
-7
-1
0
17
30
-45
-46
-31
-139
-105
-3
-48
-9
0
-13
-2
-1
1
0
0
0
0
0
0
0
1
0
0
-3
-82
-58
6
23
0
-147
-100
25
44
0
-1
-8
6
-1
0
0
0
-2
0
0
0
1
0
0
0
19
-4
5
12
0
0
-49
-41
-8
0
0
30
-21
62
0
0
33
15
24
0
0
-13
23
27
0
0
24
4
30
-16
-20
-9
-13
-3
-89
-51
-9
5
-23
-91
-72
-52
-31
14
-33
-36
-5
-49
12
-85
-86
-27
-26
-55
-13
-34
-32
-8
-14
-88
-128
-82
-55
-128
-12
11
-141
-156
-155
-178
-145
11
-14
-74
-3
-57
-28
-43
28
-46
-21
-14
-38
1
24
-101
-76
-166
-68
0
0
0
0
0
-23
-43
-90
-101
-102
50
-50
-17
-6
22
0
-11
-20
-14
-42
0
-61
-52
-131
-121
0
-92
1
-162
-36
0
-49
-24
-84
-44
0
-7
14
-28
40
0
0
2
-5
-32
0
0
26
-24
6
0
0
12
23
0
0
0
2
8
-7
0
0
31
-10
-30
24
5
11
6
22
41
-25
8
20
16
6
5
18
13
-10
21
7
12
24
14
13
-18
25
-19
72
48
17
7
4
19
24
-57
-31
-19
-51
15
-26
-44
-44
-57
17
-18
-35
-34
-47
17
5
-8
68
-11
15
7
9
1
2
7
-7
-10
-5
-37
0
0
0
0
0
0
5
-47
-42
-33
30
67
11
32
1
0
1
7
5
-8
0
-12
-10
-14
-22
0
7
-26
-28
-26
0
26
-26
-20
-46
0
39
33
13
48
0
0
4
5
10
0
0
12
0
-7
0
0
-15
17
39
0
0
-4
19
-22
0
0
-18
47
91
17
31
23
-41
36
34
20
33
40
18
37
24
35
-4
-18
79
35
-9
10
1
4
7
42
22
13
75
36
19
23
34
26
-14
25
34
10
60
9
27
14
22
1
45
1
36
-2
29
13
-5
39
48
61
38
-3
42
0
19
25
20
37
44
0
0
0
0
0
47
10
18
16
10
-75
68
49
56
39
0
10
27
18
-6
0
-1
25
19
19
0
24
12
6
62
0
-3
-14
10
45
0
-73
70
37
47
0
0
7
52
-32
0
0
-4
16
31
0
0
2
50
22
0
0
18
-50
21
0
0
-17
1
-12
69
-8
-26
-1
81
40
37
33
48
2
68
19
22
-27
47
50
105
-27
23
2
120
6
0
0
0
83
42
21
7
11
54
33
72
40
43
40
20
30
2
67
93
20
43
22
23
-53
89
52
-70
8
65
36
41
-6
53
13
63
30
50
7
0
0
0
0
0
41
47
-10
21
22
0
18
-66
29
0
0
12
20
13
46
0
20
35
52
91
0
8
25
94
26
0
-33
27
14
-30
0
-8
-1
0
0
0
0
-1
31
130
0
0
12
-36
14
0
0
27
-55
6
0
0
-52
1
5
0
0
3
0
0
-11
-33
8
-21
7
-33
-71
-15
-4
19
-115
-61
-9
6
-8
-20
-44
-27
21
34
-60
-4
-6
-1
28
-40
-21
-38
-21
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-53
4
8
-81
-43
-34
5
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-4
13
-12
32
0
-27
17
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-3
-51
0
0
-14
3
10
0
0
-26
15
-10
0
0
-44
-13
7
0
0
9
-7
43
0
0
3
-7
16
10
6
-7
-13
51
-19
-27
10
8
52
8
-42
0
39
58
-41
-2
92
-21
-102
43
-10
35
-38
31
-58
0
-7
10
-27
-10
-32
-20
-9
28
13
-15
48
5
-25
30
-59
3
1
-24
5
32
-27
-4
66
-34
-25
24
12
-18
-27
-30
1
44
52
0
0
0
0
0
-75
64
28
-16
33
-2
-29
37
21
17
0
28
-3
44
36
0
-62
22
33
12
0
6
-12
46
5
0
-25
-21
-10
46
0
25
-73
52
26
0
0
7
31
11
0
0
6
19
-14
0
0
-13
34
20
0
0
-1
-22
-86
0
0
19
-1
-4
46
38
45
-3
51
141
25
-5
60
2
-11
12
-47
131
-5
163
-23
5
-26
-13
13
54
-16
-7
1
33
0
55
18
79
-5
-10
6
25
70
65
21
20
17
3
50
-9
37
19
13
19
-12
-24
28
9
40
24
74
-5
62
45
-4
30
-22
103
0
0
0
0
0
-76
31
-31
81
-8
-33
30
-8
3
-1
0
96
62
30
13
0
6
48
-12
43
0
28
29
119
79
0
-42
-4
6
67
0
-38
34
-43
3
0
0
15
82
1
0
0
20
26
10
0
0
84
30
92
0
0
-100
23
92
0
0
-4
13
-1
-64
-3
-13
45
34
-153
-54
61
46
-44
-59
-97
41
-13
27
-46
-20
-16
-74
-67
-135
-23
-2
87
69
-102
-36
35
-3
47
-4
19
8
1
-5
0
1
1
0
0
3
0
2
0
0
-11
-90
-42
53
30
-10
-17
-85
47
-6
0
-2
0
-4
0
0
0
0
0
0
0
0
0
3
0
-74
-28
-19
40
-1
0
27
30
21
-25
0
-35
0
12
1
0
1
0
0
0
0
2
0
-7
-1
0
-5
14
9
-16
0
0
-36
32
14
0
0
-30
-81
24
0
0
-76
48
27
0
0
-24
104
29
0
0
-25
-12
31
-53
-16
4
-3
31
-66
-47
-8
0
3
-87
-16
12
-31
10
-51
-58
3
19
-3
-89
11
6
20
-20
-84
-52
-45
-9
-2
-141
-143
4
-14
40
-86
-54
-44
24
2
-58
-28
17
-5
15
-39
-37
-19
-10
-26
-53
-57
-25
-29
-17
-33
20
-5
29
-41
0
0
0
0
0
-3
15
-75
8
1
-51
-39
-22
-4
54
0
-4
-11
-21
-23
0
72
-68
101
41
0
79
13
-62
10
0
-29
29
8
-4
0
-23
-38
73
15
0
0
-17
-27
23
0
0
-36
-5
21
0
0
-31
-16
-14
0
0
-77
-9
44
0
0
-16
4
44
-42
-20
-17
27
34
-49
-28
-1
11
12
-10
-68
-12
24
27
-97
-25
38
-40
37
-43
-34
38
70
41
-91
-34
-47
7
-23
-143
-41
-13
-5
20
-42
15
-32
-2
-76
-50
-33
-32
4
-64
-6
-33
-32
47
-44
-37
-60
-29
-24
-30
52
4
-26
-39
-81
0
0
0
0
0
-30
-61
35
50
-67
-89
-63
-21
9
36
0
-29
-23
35
16
0
3
-14
44
28
0
1
-3
-44
2
0
-34
-37
-28
-18
0
40
37
-4
93
0
0
-1
-13
-18
0
0
-3
-33
2
0
0
-16
-18
11
0
0
-41
-24
80
0
0
36
-70
15
27
14
-8
89
19
-31
5
-6
19
17
-87
19
41
15
-89
-81
31
-49
57
2
-1
19
-14
-42
1
-22
-24
8
-5
29
-13
-33
-22
63
-6
68
-28
-25
-30
22
10
-91
2
15
33
-92
8
39
25
-1
-38
-40
41
-63
1
85
-88
-52
83
77
0
0
0
0
0
30
-82
87
2
-5
-13
-8
27
-24
-1
0
27
-10
9
-11
0
-33
-21
-11
32
0
-62
6
-9
-52
0
-4
-42
25
-4
0
-14
13
-2
1
0
0
26
-39
23
0
0
-11
14
9
0
0
64
23
-46
0
0
61
7
-19
0
0
4
2
2
-10
28
-25
-116
62
-65
-10
-19
44
23
26
-50
81
-3
0
5
8
8
-1
0
-8
1
0
0
0
31
70
-48
-59
-50
80
-69
45
-23
60
51
-15
-1
9
39
75
23
57
-93
-4
0
0
1
0
0
-128
55
30
25
60
-22
-66
5
-31
-5
0
0
0
0
0
4
-36
-13
42
12
0
0
0
0
0
0
110
40
-8
30
0
-57
35
23
50
0
-42
-36
100
-23
0
0
16
-9
0
0
0
0
0
0
0
0
-29
102
47
0
0
53
37
15
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
-8
12
-19
3
20
-64
22
-4
-13
-3
-45
-20
-8
-8
4
4
6
11
-2
0
18
-8
7
5
29
-12
-21
-1
-21
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-6
6
7
22
-42
-14
9
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-2
2
5
0
-14
-6
-8
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
-3
23
0
0
7
10
-1
0
0
-1
9
-14
0
0
4
5
3
0
0
-10
7
5
0
0
-2
-3
6
15
13
18
18
-10
12
11
6
9
24
5
10
11
12
19
7
17
13
17
6
12
-8
6
35
29
14
17
10
18
6
-36
-29
-11
-17
10
-33
-44
-21
8
-6
-9
-17
11
17
-7
-13
2
2
-3
23
10
7
5
15
25
-21
-15
-7
-13
21
0
0
0
0
0
-23
-6
-2
-3
19
-27
-4
11
-14
22
0
-2
4
6
24
0
-24
-3
6
10
0
1
-5
-4
0
0
17
-3
9
-1
0
9
-7
-7
3
0
0
1
2
25
0
0
1
13
2
0
0
-2
28
24
0
0
10
8
27
0
0
-7
4
1
11
14
19
3
22
1
10
4
17
39
9
8
11
13
31
-5
15
6
34
49
-38
4
-6
-18
36
23
25
4
5
41
34
4
13
14
20
6
9
13
10
25
19
8
2
8
17
3
20
-36
-21
-9
33
15
7
25
5
36
18
12
11
8
0
0
0
0
0
10
6
0
12
18
-41
-21
3
0
-4
0
0
20
11
3
0
7
15
24
7
0
0
10
4
13
0
6
10
9
31
0
-9
32
-11
34
0
0
22
-7
-27
0
0
7
35
16
0
0
3
18
49
0
0
17
27
33
0
0
-29
33
92
-92
-10
-10
2
-12
-123
-6
-29
-4
-7
-136
9
14
17
-37
-68
-11
20
13
5
-36
3
-22
19
4
-123
-41
-18
-16
-38
-25
-96
-56
-29
41
-85
-72
-27
25
-3
-42
-60
41
-63
-57
4
-30
2
-34
12
-68
-41
-13
-14
11
-5
-102
-70
5
7
0
0
0
0
0
0
3
-32
1
0
-23
-82
4
4
16
0
-6
3
-18
12
0
-22
-25
39
5
0
2
-33
24
14
0
-15
62
84
-29
0
-15
-30
40
15
0
0
-31
4
-10
0
0
-9
-38
16
0
0
-80
-43
34
0
0
-26
-3
20
0
0
39
1
21
-22
9
-12
-4
-10
-32
-6
-9
12
-18
-28
-15
-3
-18
10
-29
0
-9
0
6
-11
8
18
14
-1
-66
-36
-18
3
-8
-101
-115
-82
-23
-54
-149
-55
-61
-21
-53
-72
-54
-37
-11
7
-18
-1
-11
17
-9
10
-31
-17
-1
-14
-139
-106
-70
-59
24
0
0
0
0
0
-99
20
-51
-97
-28
-2
3
11
23
-7
0
-21
0
-16
-35
0
-4
-19
-20
-67
0
-1
-69
-54
-46
0
-3
-12
-71
-33
0
-10
17
35
-1
0
0
-16
-7
-8
0
0
-6
-14
-21
0
0
-15
-1
-21
0
0
5
5
-18
0
0
-22
3
0
-1
12
-4
-14
6
4
2
4
4
-9
21
4
-11
1
17
16
4
3
-5
2
26
37
20
-15
-53
4
-18
-11
-2
13
-56
-104
-49
-7
-28
-53
-27
-3
-28
-33
-18
-24
-13
-15
-29
34
9
1
9
44
10
3
-24
13
10
-52
-85
-64
-31
-63
0
0
0
0
0
-12
-5
-5
19
-42
-8
9
9
-7
14
0
-2
-25
-15
-17
0
-32
-33
-26
-40
0
-19
-14
-36
-27
0
12
20
-1
-10
0
11
-16
9
-1
0
0
-6
-16
-27
0
0
4
-9
-4
0
0
-11
-6
24
0
0
23
-23
6
0
0
21
24
-11
6
12
-5
-17
23
36
13
-5
6
2
36
16
2
-11
-9
31
-2
39
-12
-28
41
43
-1
-57
-55
14
13
0
-16
12
-43
-23
-14
-6
-27
-14
22
-7
-31
-25
18
8
-11
4
-25
-29
1
31
-37
30
38
-6
-9
3
13
-47
-34
-6
8
-4
0
0
0
0
0
7
-4
33
6
-21
-8
-19
22
0
48
0
3
12
23
-11
0
-12
-20
-10
-10
0
9
0
-1
-32
0
14
-8
-9
-5
0
3
-5
40
-64
0
0
11
-37
0
0
0
-6
-20
12
0
0
-6
20
10
0
0
14
45
-5
0
0
8
40
-36
62
-21
-66
40
-27
63
7
-3
-39
2
31
28
-41
-50
-16
49
56
-14
-49
-28
50
-85
7
42
-23
103
-4
-14
31
53
37
24
3
-1
-12
41
11
0
34
2
45
17
-1
3
-2
41
1
3
69
-53
59
12
8
-13
72
-1
12
11
-6
12
0
0
0
0
0
36
91
2
39
-27
25
-38
-7
51
-21
0
64
-18
-2
27
0
38
-25
4
-49
0
-34
-3
-6
48
0
27
-26
-10
-53
0
-43
-6
23
-14
0
0
9
39
20
0
0
-17
66
-52
0
0
-28
42
1
0
0
-7
0
37
0
0
13
2
0
-1
6
4
9
-4
-1
-20
11
18
7
17
15
-2
11
8
11
11
-9
35
30
41
5
6
-23
-15
-10
-3
11
7
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
59
43
24
-64
26
0
1
0
8
0
0
0
0
0
-12
-6
-19
-7
1
0
0
0
0
0
6
0
-4
12
-1
0
8
1
10
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-8
-3
0
0
15
2
-3
0
0
-2
-3
-19
0
0
1
3
-4
0
0
3
2
-13
0
0
5
11
31
35
5
26
15
-17
31
3
9
4
12
30
25
-11
-19
-19
7
22
27
8
14
29
24
-9
-2
26
33
10
3
16
-3
8
-1
-1
1
6
20
4
9
26
-6
4
37
41
15
-13
57
56
44
-9
22
29
24
-2
-1
28
10
-9
6
-17
-12
0
3
7
9
-6
-5
5
15
8
13
3
23
-3
-44
16
0
6
5
-2
17
0
7
9
1
11
0
-11
0
0
11
0
-1
1
12
-3
0
1
-7
6
26
0
0
2
5
-18
0
0
8
-5
-14
0
0
7
-15
-1
0
0
-2
26
-24
0
0
-5
15
33
54
-14
6
4
-3
10
1
22
-8
7
22
-3
-20
13
-30
42
-28
8
37
-1
113
12
-54
-7
-26
16
4
8
10
15
43
6
5
0
5
46
10
14
8
33
30
53
1
-24
79
29
-11
12
-13
3
21
32
7
-5
0
8
7
10
1
16
-3
0
5
11
0
-5
19
17
8
11
42
40
33
-29
-40
0
9
23
-10
-9
0
-7
9
-19
-14
0
13
7
-10
-12
0
-11
13
-32
31
0
-1
6
42
35
0
0
20
-12
45
0
0
-8
-39
-20
0
0
13
-65
-35
0
0
6
0
-52
0
0
-23
-9
-11
-48
4
76
-28
5
-130
-45
32
-23
41
-123
-89
26
-68
23
-81
-57
5
-11
25
-84
42
-63
48
13
-112
-2
-14
-58
-19
-13
-57
-90
-30
-3
-13
-8
-20
-3
0
-1
-48
-15
-2
0
-19
-32
31
32
-34
-123
-65
-53
-14
41
0
-13
-2
-1
1
0
0
0
0
0
0
0
2
0
0
56
-63
-49
-30
8
0
-16
40
-13
-74
0
-1
-8
4
-1
0
0
0
-2
0
0
0
1
0
0
0
-15
-16
23
53
0
0
-62
39
-93
0
0
-29
-19
48
0
0
10
18
20
0
0
5
-2
-14
0
0
10
-11
51
-9
-7
7
0
37
-17
-11
2
28
-15
-42
-9
18
-4
-5
-47
-25
23
28
17
13
-16
29
-14
-51
-20
-16
27
25
48
-162
-173
-43
-27
-48
-63
-71
-84
-39
-146
-109
-85
-55
13
-27
-4
-25
30
-23
14
-52
-12
-5
8
14
-76
-109
-61
-107
-6
0
0
0
0
0
-93
-80
15
-82
-93
1
6
-22
76
13
0
-55
-27
-18
24
0
-5
-60
-71
52
0
-119
-15
-98
-33
0
-60
-63
-4
-31
0
29
14
21
-5
0
0
-13
-3
-5
0
0
34
-4
9
0
0
16
7
-38
0
0
30
-1
-28
0
0
6
17
-30
11
8
16
-11
10
21
-3
21
22
32
22
9
42
20
-2
1
35
52
13
-11
30
13
-10
2
4
38
28
9
20
16
-25
-72
-36
6
3
-34
-62
-46
-51
-21
-13
-26
-18
-20
5
2
36
4
59
0
43
2
11
24
-13
4
-8
-27
-8
-23
0
0
0
0
0
1
-12
-52
-9
17
24
43
-2
6
36
0
3
26
16
2
0
9
16
-16
0
0
54
-13
-27
8
0
10
-20
-17
3
0
8
37
13
31
0
0
4
-3
32
0
0
-5
3
21
0
0
29
-16
-50
0
0
-48
-2
18
0
0
-5
48
114
44
-13
21
36
58
45
-7
5
13
-63
38
11
12
63
37
70
39
2
4
-61
-60
84
27
-3
0
54
-7
41
-4
32
36
10
36
40
25
51
5
4
49
21
41
44
21
37
-23
-19
33
-11
92
-47
54
42
20
-6
40
46
50
21
15
30
0
0
0
0
0
6
3
11
6
33
-49
63
41
-45
30
0
15
42
14
-47
0
-14
32
35
-19
0
-35
4
23
23
0
-1
-15
-15
-8
0
-82
71
50
26
0
0
9
11
7
0
0
49
-6
-26
0
0
-18
5
-7
0
0
-7
-40
-5
0
0
-15
-15
5
93
14
-75
20
42
-6
17
5
89
-67
105
-34
-18
-17
-7
65
-17
18
25
2
42
31
-6
0
0
77
24
36
3
-17
140
41
12
19
-16
50
22
58
36
35
44
16
39
67
29
8
25
16
-29
8
42
2
10
-31
-38
74
65
19
23
108
0
0
0
0
0
-45
41
66
10
-50
0
-3
-42
13
0
0
56
6
-40
7
0
8
-28
27
57
0
53
17
-10
36
0
8
-6
-51
21
0
-25
-1
0
0
0
0
-19
-8
49
0
0
30
41
-27
0
0
33
-33
31
0
0
-29
1
6
0
0
3
0
0
-57
-2
-4
-10
0
-49
-47
-5
13
16
-111
-43
5
5
6
-30
-25
-9
20
2
-30
-15
34
27
-6
-44
-32
26
-22
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-55
2
3
50
-84
-52
-10
-19
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-2
-4
-2
0
-22
-5
18
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
-41
-17
0
0
22
8
18
0
0
-8
-17
12
0
0
-24
8
-2
0
0
29
-2
46
0
0
-10
-23
5
-34
3
-7
38
-5
12
-38
18
1
32
-2
26
54
-3
-23
9
-1
-7
49
-95
-1
-13
13
39
-6
-24
8
2
-4
-13
-42
0
-8
32
8
45
38
14
-67
-97
-56
-39
35
-5
8
-54
16
-6
-54
7
-39
-14
11
3
39
6
7
42
-28
23
0
0
0
0
0
-14
-20
-41
25
28
-13
-80
24
34
-10
0
17
15
36
42
0
12
5
29
-43
0
20
-21
18
-4
0
-29
-13
-20
14
0
-3
7
36
23
0
0
49
46
50
0
0
33
15
55
0
0
44
-41
-8
0
0
-7
46
-31
0
0
-27
-6
3
40
-3
71
61
12
70
8
50
21
-13
102
-3
-29
66
8
106
-4
-19
8
-13
57
13
-38
-8
1
82
44
17
46
11
40
12
-3
8
5
51
-2
18
14
78
24
75
25
40
-28
-16
8
0
49
14
-13
3
49
74
43
-8
8
47
11
49
0
0
0
0
0
-28
30
93
-50
-25
-15
13
57
-23
-1
0
49
26
124
-11
0
13
40
57
45
0
7
2
41
112
0
-6
76
-15
7
0
-5
1
-41
3
0
0
6
49
33
0
0
138
-54
6
0
0
21
-15
65
0
0
-46
-35
90
0
0
-4
10
-1
-135
-38
30
-5
66
-168
-72
-7
34
20
-137
-79
-10
44
5
-100
-16
10
-26
19
-23
-80
-16
-8
118
-106
-50
-63
-24
73
-3
60
41
1
-5
0
1
1
0
0
3
0
2
0
0
-6
-80
-84
54
28
-83
-75
-22
5
-55
0
-2
-7
-5
0
0
0
0
0
0
0
0
0
3
0
-28
11
-56
22
-7
0
21
55
-24
26
0
-49
0
10
-1
0
1
0
0
0
0
2
0
-7
-1
0
-24
32
-42
-4
0
0
21
-9
37
0
0
-22
-77
19
0
0
-63
-42
85
0
0
-89
33
35
0
0
-25
13
15
-60
-31
-11
-11
16
-112
-35
-16
17
6
-95
-34
-18
-5
14
-83
-33
15
-11
7
-34
-41
3
-4
4
-55
-50
-4
-26
6
-182
-90
12
-14
51
-29
-90
-20
26
7
-40
-101
32
72
31
-29
-9
-13
11
18
-130
-43
-24
-24
-31
14
16
-45
36
-84
0
0
0
0
0
-6
18
-141
21
-1
-19
-38
-11
-9
6
0
-37
4
3
-40
0
2
-45
60
14
0
61
5
-35
22
0
-33
30
1
-5
0
-61
-31
-21
-3
0
0
-11
-2
-15
0
0
-32
-36
11
0
0
-29
-21
9
0
0
-26
-11
-37
0
0
48
-16
-52
-32
-6
4
2
38
-14
-32
0
-22
-31
-38
-25
-46
28
-12
-4
6
22
16
-10
53
-28
-53
-59
74
-8
-11
-34
-28
-7
-56
-22
25
25
-40
-15
1
-40
54
-18
14
-74
3
32
-37
-28
-111
2
28
-61
-78
-47
-13
14
13
43
-17
-9
-4
-83
0
0
0
0
0
2
16
8
4
-24
-48
22
-43
-5
-31
0
-56
-22
-9
24
0
-5
-27
-30
17
0
-27
-19
-41
-47
0
-10
-27
13
-33
0
28
43
43
38
0
0
14
1
-9
0
0
-30
13
45
0
0
-11
12
7
0
0
-24
-59
-23
0
0
48
-57
-5
2
59
31
5
-75
-11
22
-37
-22
4
53
9
-10
-8
-32
-56
21
-13
57
-41
9
38
-29
-30
1
-111
-14
39
0
-76
-39
10
-34
7
17
-5
7
-6
-25
25
-21
3
-11
-27
47
-63
1
43
16
-1
-60
-26
-55
-36
55
29
-56
-13
-16
20
0
0
0
0
0
60
59
-33
-76
-40
-8
5
16
-21
-1
0
-78
25
99
40
0
-34
-12
-47
59
0
-1
-12
13
-31
0
20
-43
40
5
0
20
13
-5
1
0
0
-12
8
6
0
0
27
-33
50
0
0
18
-24
-49
0
0
39
13
-22
0
0
3
2
2
53
-36
-8
-59
29
29
-30
-19
13
-28
22
-5
69
-2
0
5
-13
9
-1
0
-8
1
0
0
0
66
13
-13
-22
-35
13
-53
9
-30
-31
68
-42
-43
31
8
9
36
-10
-52
0
0
0
1
0
0
-55
104
60
-37
24
-22
-31
23
43
13
0
0
0
0
0
4
-46
15
23
12
0
0
0
0
0
0
46
20
-47
3
0
100
-28
-12
-3
0
0
-13
131
5
0
1
7
-19
0
0
0
0
0
0
0
0
-26
47
33
0
0
5
32
45
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
-28
13
53
30
-8
-42
-80
5
3
13
-42
43
-16
-40
23
-49
1
41
-37
-50
5
27
-5
-8
3
29
49
57
-13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-60
31
17
21
-11
1
108
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-10
19
-9
-10
0
-10
12
20
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
32
-10
11
0
0
7
4
-21
0
0
84
-23
27
0
0
2
38
65
0
0
38
18
37
0
0
39
5
-10
22
67
40
2
-30
-33
7
39
44
13
-33
32
55
-35
24
64
-14
-6
-14
-6
15
-1
40
-74
23
4
17
14
19
-49
-56
0
15
21
-4
-49
3
-5
1
-2
28
-19
-14
-12
-40
-5
60
-18
-10
-3
23
-19
6
13
76
0
7
-3
-5
11
0
0
0
0
0
-1
-25
13
21
-15
13
-9
22
-14
21
0
10
34
16
77
0
10
-3
49
38
0
-20
-6
20
12
0
16
19
27
12
0
-5
-1
27
-2
0
0
8
-13
10
0
0
16
13
2
0
0
19
41
31
0
0
-3
17
41
0
0
33
8
3
104
9
25
36
22
4
-19
101
33
17
25
3
53
50
-13
-21
-6
15
41
34
-5
-8
-13
29
-25
25
38
13
21
6
37
0
65
-26
32
78
-3
18
1
73
0
16
0
5
25
-33
50
-2
-40
-22
25
45
-7
-6
5
9
21
-4
46
34
0
0
0
0
0
3
-12
-3
-4
24
5
29
-5
-17
15
0
0
52
44
-19
0
4
66
12
28
0
-2
10
-2
25
0
-1
39
26
-23
0
66
-6
21
28
0
0
16
-71
-24
0
0
-58
-25
72
0
0
29
23
-33
0
0
-27
31
-6
0
0
42
12
34
-40
20
14
-32
-40
-48
4
5
-22
73
6
-51
-19
63
-19
-64
-34
20
53
-35
-23
-16
45
70
9
-76
32
-33
-6
-19
-1
14
-25
-12
1
-18
-4
-14
-13
-1
-6
-44
3
-15
-5
24
-24
-29
-2
19
-49
-4
-13
-11
15
-3
-41
-22
-1
2
0
0
0
0
0
0
1
2
-1
0
-49
-41
-26
1
35
0
13
-36
-52
42
0
-3
-3
10
-14
0
0
-3
-3
8
0
-2
24
13
1
0
0
-7
-5
-11
0
0
6
-92
13
0
0
1
-39
5
0
0
-7
-29
18
0
0
-94
11
4
0
0
-19
24
-33
-30
-15
-41
13
24
-48
32
0
-27
-38
-6
15
-56
0
-12
19
19
-18
-22
42
11
37
27
-46
-24
19
-18
-17
-7
-13
-26
-56
-66
-27
-44
-33
21
-65
34
-17
-66
3
-12
19
24
-31
18
-1
16
-4
6
-16
2
24
-69
-129
-28
24
6
5
0
0
0
0
0
-84
-22
41
-48
-22
-10
-47
-20
14
-13
0
-43
2
-27
-20
0
-18
2
26
-37
0
5
-4
18
-61
0
-51
41
-23
-47
0
-10
-6
29
-13
0
0
-23
29
28
0
0
44
-3
3
0
0
-23
44
6
0
0
-46
20
-11
0
0
28
23
-7
66
5
-2
-62
12
25
14
-38
14
-43
78
39
14
-6
-26
81
33
-1
-4
-23
-26
-49
25
23
42
-63
-1
39
-16
26
-61
-27
53
-19
-5
51
-9
-31
-21
-24
-13
-12
44
-4
31
-13
-36
-5
5
-10
11
-5
28
-68
4
0
-57
43
-24
-37
0
0
0
0
0
4
8
-63
8
12
-6
49
-7
-8
23
0
15
7
31
-24
0
-28
-24
-26
5
0
19
-9
-3
-27
0
-21
-56
-9
-6
0
-1
-12
8
0
0
0
37
12
-5
0
0
25
19
15
0
0
-22
-37
-43
0
0
-35
-31
-40
0
0
-28
6
-14
32
-39
-6
-8
6
46
86
-14
-65
31
73
-64
-7
24
8
58
-52
-9
-11
-2
17
43
-33
57
3
18
-27
-50
29
26
23
13
13
-42
9
-14
13
-17
-59
-9
19
-30
24
21
-49
-19
17
39
38
-4
20
13
15
-35
-1
-8
19
40
-25
-42
0
0
0
0
0
-4
-10
0
-2
-13
10
-11
-37
27
-18
0
26
43
22
-105
0
2
-21
19
17
0
47
49
-29
27
0
-33
44
-26
19
0
22
-28
1
-39
0
0
31
77
1
0
0
15
20
-44
0
0
42
-52
-39
0
0
-9
40
22
0
0
-43
-5
-23
4
30
5
-5
12
93
8
-40
-1
-18
-5
26
-2
17
10
47
-8
-10
21
-17
-8
8
0
0
0
13
31
-4
-44
-3
46
58
-28
-8
-15
-58
81
17
48
-27
33
3
41
1
-2
1
-5
-9
13
-2
5
-5
17
3
13
18
69
8
-14
-48
0
0
0
0
0
50
8
-5
19
-13
0
-2
1
-6
-1
0
26
18
-51
27
0
23
-4
-26
-86
0
-41
-36
-29
59
0
-35
30
-27
-26
0
-3
0
-2
3
0
0
-21
-19
-5
0
0
-4
-25
-23
0
0
-7
0
-6
0
0
2
-10
-1
0
0
1
0
0
7
12
-31
11
-42
17
-42
-29
14
12
-40
-19
4
31
20
-24
-28
14
-3
37
-18
13
-44
4
22
-8
22
20
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
4
-15
11
55
13
6
56
-16
-3
0
0
0
0
0
-20
6
-61
-4
7
0
0
0
0
0
-1
-4
14
1
-31
0
-39
28
-51
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
43
-3
-60
0
0
35
-21
59
0
0
125
-28
-15
0
0
17
25
-25
0
0
-12
-7
-29
0
0
-5
-13
48
13
-46
8
-69
17
-7
-25
-15
-4
16
5
146
-21
-31
30
66
12
-36
-72
13
30
-5
-1
-3
-10
38
-40
12
15
-18
36
7
-23
-4
-67
53
22
42
-31
1
46
2
42
-4
4
49
-29
20
30
-20
-5
31
-11
-7
26
16
6
-45
-14
5
26
-2
20
-23
3
-10
3
6
3
87
-22
52
39
13
-33
0
11
-37
24
13
0
24
3
10
-8
0
-15
-15
7
-29
0
0
-37
27
31
0
-23
-7
72
23
0
0
18
38
13
0
0
29
69
-83
0
0
-7
-21
26
0
0
29
48
-48
0
0
-15
41
5
38
-5
-58
55
53
-12
58
35
50
6
7
-73
76
-1
4
90
22
-32
-46
-22
5
-29
-15
19
-5
-3
66
28
49
21
21
-27
5
41
28
85
26
-32
61
15
40
31
-31
-21
16
8
28
-1
-33
6
41
-52
-17
8
16
41
34
-19
64
-24
-32
14
35
40
6
-30
32
69
-3
-33
25
-5
-13
-8
31
0
-16
-22
-31
5
0
-31
-8
-35
19
0
-12
-10
-11
-47
0
-41
21
-14
-15
0
-38
-12
13
10
0
0
-16
6
5
0
0
-41
-10
-15
0
0
20
-45
1
0
0
-31
-13
9
0
0
-8
-1
-4
22
-29
49
8
-13
-68
27
86
-62
-6
-94
-35
-6
61
-16
-16
-14
11
20
42
11
8
-20
43
-17
7
-47
43
9
-5
-2
-16
5
0
-2
-6
3
0
1
0
1
-8
0
-1
0
36
-3
0
7
-8
18
10
-22
-22
-5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
22
31
8
-2
7
0
31
-58
-18
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
12
-13
0
0
3
-2
2
0
0
-18
51
-6
0
0
12
2
-30
0
0
14
-23
-4
0
0
7
-5
10
1
11
-41
49
-24
-22
-19
36
6
-20
-8
61
52
21
-17
-4
38
-29
-29
-30
56
-3
0
8
-5
23
-21
-41
-64
29
-130
-101
-10
63
27
-161
-67
43
56
8
-47
11
9
-31
17
-1
39
3
-36
7
-17
-14
-3
5
-9
-50
-99
20
18
45
0
0
0
0
0
4
-71
28
13
-18
-16
7
4
1
-6
0
-40
31
22
37
0
-3
15
28
50
0
-27
37
3
4
0
-8
-8
22
13
0
21
-38
17
6
0
0
4
7
-1
0
0
16
-9
5
0
0
-7
-94
-69
0
0
47
-6
-40
0
0
-31
-19
-28
22
0
74
-33
-3
95
16
78
-86
4
31
-3
6
28
-2
25
39
43
11
-19
-2
39
25
22
-19
7
-22
19
13
70
-58
-50
26
25
-22
-46
-45
43
14
28
12
-28
-7
9
-24
50
-21
44
-6
-36
28
-13
-7
17
-9
-61
15
8
5
42
0
0
0
0
0
-17
1
-16
0
-34
-22
-52
50
-33
46
0
-20
35
1
-12
0
-34
103
28
-14
0
49
-29
-25
27
0
16
21
-41
30
0
-15
18
-27
15
0
0
2
-5
-34
0
0
-42
-44
4
0
0
-27
-26
-13
0
0
-20
-30
-3
0
0
-4
-49
7
32
73
5
-1
13
53
13
-22
-13
-14
-29
29
9
-22
13
-35
-6
37
22
-2
-6
-24
8
3
3
33
52
-13
32
-55
45
-7
11
58
-21
86
17
4
-22
-16
17
20
9
29
-13
-19
-16
10
10
-7
46
62
-67
-5
-9
53
18
-27
-18
-20
0
0
0
0
0
7
-11
43
22
-40
-1
1
8
-5
-3
0
-1
-18
42
-9
0
5
-16
27
-40
0
20
-3
49
-6
0
-31
-37
-43
6
0
-8
-20
12
-4
0
0
-17
-13
-16
0
0
-30
-3
-8
0
0
19
22
-41
0
0
14
5
5
0
0
-17
3
-8
1
-57
-1
-1
3
-35
-18
32
8
-1
41
1
-2
0
0
4
5
0
0
0
0
0
0
0
0
13
7
-1
-3
6
123
30
31
6
-8
89
29
16
24
16
-8
51
28
13
-8
0
0
0
2
0
-22
19
-5
10
8
31
45
37
-16
-5
0
0
0
0
0
-33
28
-50
5
-6
1
0
0
2
0
0
-9
-13
4
2
0
8
13
-71
-46
0
30
-18
-15
-16
0
-1
-8
-20
-3
0
0
0
0
0
0
0
16
0
1
0
0
5
0
7
0
0
-3
0
-3
0
0
1
0
0
0
0
0
0
0
-11
4
-33
-44
21
-47
-2
-5
13
10
6
-7
3
-13
-14
-73
16
12
-20
-16
-11
-22
31
-43
10
21
-11
47
-24
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
23
37
-1
-83
24
-36
-7
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-5
-12
-2
-24
0
-14
-40
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-6
-41
-9
0
0
-8
49
33
0
0
-49
48
5
0
0
24
-12
48
0
0
51
42
-5
0
0
-27
-1
16
-32
-29
3
55
-12
22
82
-17
9
-15
45
-28
22
-6
-47
23
25
-46
40
-13
-2
-1
-14
22
0
-11
21
-14
55
-28
-6
19
42
10
16
-34
-40
43
-15
9
-10
-9
-1
-13
46
-3
-5
-37
13
-6
-2
5
19
-5
-13
-10
-16
23
-5
31
0
0
0
0
0
-8
39
15
-31
-21
23
-7
-7
33
-12
0
5
19
12
22
0
84
-39
31
-12
0
-26
1
-14
-8
0
22
-35
57
27
0
-4
37
15
28
0
0
-8
13
-28
0
0
16
-31
30
0
0
29
12
17
0
0
-16
19
3
0
0
-15
-14
-2
-25
19
47
-18
17
65
6
30
21
-21
34
10
9
-7
4
-19
7
-8
4
3
7
12
0
0
0
-47
27
14
10
-28
-46
73
13
45
-17
10
17
59
18
11
-24
37
1
9
-14
1
-2
-8
1
3
28
-31
-9
8
18
20
-10
74
-1
2
0
0
0
0
0
10
20
35
10
-3
-2
0
1
-23
0
0
-11
-25
22
19
0
16
-24
-13
39
0
-18
32
14
-6
0
25
-7
3
-15
0
7
1
-3
6
0
0
-12
-10
-13
0
0
42
-6
15
0
0
5
-4
4
0
0
-1
-12
-1
0
0
0
0
0
-43
-43
16
-7
58
-18
-22
-79
44
13
-80
-22
-26
5
-32
-35
-41
43
5
41
47
-43
-8
-9
-6
-41
-34
-9
20
-6
0
13
5
0
-2
1
2
0
0
0
0
0
0
0
0
-3
13
7
5
-12
3
-85
-1
-50
-18
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
-1
2
-9
16
-15
0
-45
-21
-49
-48
0
-8
1
-7
0
0
0
0
0
0
0
0
0
-4
0
0
-24
18
-23
3
0
0
-37
-30
31
0
0
-25
-58
-20
0
0
-13
-32
61
0
0
-10
-8
1
0
0
17
-6
-1
3
-6
-8
20
-30
-83
-29
-38
42
24
-90
11
43
-21
47
-75
10
22
-6
-7
-62
13
16
-16
-2
3
-27
5
7
-30
-26
-52
-35
-23
31
-23
18
8
-8
0
-32
-41
10
17
9
30
-16
-42
-15
-16
-63
-6
-47
25
-29
7
-16
1
48
-5
0
0
0
0
0
0
10
-23
13
0
-44
9
14
49
-19
0
-21
40
-53
-20
0
5
-37
15
49
0
18
8
-12
8
0
-15
10
30
6
0
-33
21
-32
-1
0
0
-71
-24
6
0
0
-4
26
6
0
0
-86
28
-12
0
0
55
-50
-18
0
0
38
4
-7
-40
5
-20
20
7
17
-43
36
45
-26
37
-23
-13
26
12
-90
58
-14
58
15
11
-47
11
-5
17
21
13
-67
-38
56
0
67
-21
-15
10
-45
62
-47
-5
13
-51
-9
-12
-6
-60
-58
21
-4
-18
-4
-94
-55
48
89
-41
21
-35
-31
-13
15
0
0
0
0
0
3
27
-25
-40
-28
4
-32
19
15
-6
0
5
-28
13
-7
0
-65
-18
-12
-21
0
-56
-62
38
-19
0
13
-26
11
-8
0
25
-35
-10
20
0
0
31
-5
-17
0
0
-41
10
-7
0
0
-45
-52
-13
0
0
-9
-69
-5
0
0
22
0
8
-55
76
24
-40
-7
-27
4
6
-4
29
33
-19
49
1
-5
1
-14
23
-10
-10
8
3
0
-5
0
-74
0
26
3
-22
30
20
-44
-26
32
27
-37
-17
23
-7
30
52
-56
-21
-35
0
0
-5
-14
0
59
13
-18
13
-18
-50
-7
13
12
-13
0
0
0
0
0
12
54
-10
15
-6
0
0
0
0
0
0
70
32
-4
8
0
-8
13
-33
-13
0
9
7
-23
-2
0
35
15
-14
-16
0
0
3
-2
0
0
0
4
14
-28
0
0
-16
19
5
0
0
13
4
-1
0
0
3
-4
0
0
0
0
0
0
-21
-3
1
0
0
-6
10
12
-2
0
2
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
19
-7
-9
13
-3
-31
-26
31
-5
9
25
34
6
-2
-23
-7
7
-13
-3
1
0
0
0
0
0
-7
2
0
-2
5
0
-4
-2
0
3
0
0
0
0
0
1
-3
-1
0
-1
0
0
0
0
0
0
-5
2
0
1
0
-29
-21
-21
3
0
-21
-7
42
0
0
0
-1
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
65
-34
-18
49
-4
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-6
-18
-18
59
6
2
0
0
0
0
13
-5
38
-37
-2
-11
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
13
1
33
14
-39
-3
0
0
0
0
17
-32
-24
7
-3
1
-27
0
15
-28
-13
-10
14
5
-12
2
-9
9
30
-11
18
1
-37
1
-2
-5
-21
12
30
-16
12
-22
0
0
-49
7
66
15
39
3
1
0
0
0
0
33
-57
49
-5
0
1
-24
0
20
-4
-7
-19
-6
-9
-8
-9
0
0
0
0
0
0
0
0
0
-22
25
-27
-59
-14
9
-3
0
0
31
-8
-52
-2
12
22
-10
0
0
0
0
16
13
26
5
0
-2
-8
0
45
12
20
-31
11
-2
-18
-5
34
6
-35
4
-15
-44
-26
-4
-1
-31
5
22
8
47
1
-17
2
0
40
28
23
-34
74
-1
2
0
0
0
0
29
30
-64
27
-4
-3
-8
0
62
6
52
-37
-19
-2
-1
1
45
24
-46
-57
67
13
0
-1
-1
23
-25
-28
4
49
17
-2
0
0
11
-16
-32
7
44
11
4
0
0
0
0
-26
12
15
31
-7
3
-1
0
58
31
29
6
1
1
-2
-3
0
0
0
0
0
0
0
0
0
22
6
23
29
10
4
-6
-1
0
-29
44
-7
17
5
31
-1
0
0
0
0
-17
-5
5
-23
-13
1
4
0
13
13
-3
5
15
-2
-1
-1
32
19
13
10
-18
3
-4
-1
-4
53
-5
-1
20
-15
-9
-4
1
0
-1
-72
57
13
-51
-4
-8
0
0
0
0
-22
6
74
-15
-16
2
-1
0
-13
20
-46
27
6
8
0
-2
-48
-23
20
-4
20
-42
-2
-1
-1
45
-21
-19
26
33
-3
2
-2
0
22
5
-39
3
-38
-5
4
0
0
0
0
0
1
-3
-27
9
-45
-45
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
6
-6
-25
-3
5
0
0
0
0
0
-4
-48
-23
5
3
-129
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-2
-8
0
0
-3
13
-13
2
-21
-22
45
0
0
0
0
-1
-4
50
41
3
-9
-91
0
0
6
8
30
26
8
-167
-25
0
1
-8
-4
4
62
22
-68
-42
2
8
10
6
0
-17
-47
-1
0
-28
47
33
68
12
-1
-26
0
0
0
0
5
-10
-10
14
-6
-7
-81
0
0
0
0
-10
8
84
-97
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
-14
0
-17
-6
8
-15
20
25
-1
0
0
0
0
-15
-32
12
-5
-6
-28
-91
0
0
0
-1
-17
21
22
-162
-22
0
0
-1
5
5
-41
-36
-49
9
0
4
1
3
-22
24
-22
4
0
28
64
-11
33
1
-18
-54
0
0
0
0
-27
-18
4
-5
6
-15
-61
0
42
19
-7
-11
11
15
-50
-8
6
1
35
28
41
30
-27
-26
19
-24
43
20
22
45
1
-10
-17
0
-21
-23
17
47
40
5
17
0
0
0
0
-18
-16
-51
16
0
0
-37
0
0
-8
8
-2
-30
2
-51
-31
0
0
0
0
0
0
0
0
0
0
-4
3
9
14
-13
43
12
0
-4
-13
5
23
38
-9
-11
0
0
0
0
-18
-3
-37
23
8
-2
-67
0
0
4
-3
-13
55
-7
-51
-5
4
4
4
8
12
-12
23
-5
15
-6
-14
-8
32
-50
-20
29
-4
0
-31
-25
-8
39
-20
22
9
0
0
0
0
33
49
30
-13
4
-8
-37
0
-40
8
13
13
-24
2
-17
-6
-5
5
-1
-25
43
-22
5
21
16
-14
0
2
-4
-17
-8
40
3
0
18
33
33
11
38
-19
-28
0
0
0
0
-4
6
36
-6
12
-1
-15
0
9
4
-7
6
-92
-7
1
42
0
0
0
0
0
0
0
0
0
6
25
-12
0
42
-20
5
6
0
16
10
22
-5
6
0
76
0
0
0
0
27
14
36
22
-3
-1
2
0
5
18
-6
23
-13
9
-33
-5
-6
41
2
1
13
7
38
32
3
14
12
6
-41
-37
11
56
8
0
21
-39
-47
15
84
58
26
0
0
0
0
-4
-22
27
12
16
1
-3
0
40
14
-15
-49
-23
-18
1
14
-22
20
8
-6
14
13
14
14
7
-25
-8
3
10
-5
-5
2
32
0
4
6
-8
-13
14
-5
2
0
0
0
0
0
-8
20
-5
38
-9
16
0
0
1
31
42
3
16
4
18
0
0
0
0
0
0
0
0
0
8
3
-13
-50
13
14
45
-26
0
0
-1
0
0
1
0
25
0
0
0
0
0
3
-13
-38
9
11
12
0
27
22
2
0
-17
-19
-7
30
-3
-8
20
-8
9
25
-2
47
-2
25
39
-25
6
40
29
17
11
0
-7
15
-15
0
-23
-36
66
0
0
0
0
0
30
21
23
-5
14
4
0
-1
14
4
24
-37
5
10
34
1
-10
-8
-4
7
31
10
24
9
-7
23
31
-48
-24
-47
-13
75
0
-4
4
-2
0
-19
16
53
0
0
0
0
29
11
6
14
-24
7
0
0
0
0
0
0
0
0
0
0
-13
12
1
-34
21
-4
-3
-1
-1
0
0
0
0
0
0
0
0
0
-46
-42
28
56
-24
-6
0
0
0
0
0
41
-23
4
36
4
-2
-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
5
49
-32
53
-4
-5
-1
0
0
0
0
8
6
20
44
-2
-1
2
0
16
-4
-6
47
13
-34
-1
-1
7
-4
11
-2
-24
25
0
-9
0
-24
5
58
55
-22
-18
-7
0
0
13
42
-27
-3
14
3
-4
0
0
0
0
30
-50
-6
-2
14
11
9
0
-22
7
-20
55
16
-5
0
1
42
29
25
34
-20
14
2
0
0
32
25
-8
-4
-11
-34
-4
0
0
21
-8
96
20
6
3
1
0
0
0
0
-11
32
6
-4
1
4
-1
0
45
-28
49
-34
-35
12
1
-1
6
-5
-1
-10
31
5
1
0
0
3
-25
-28
4
28
14
17
0
0
5
5
-31
-76
63
44
-5
0
0
0
0
-7
-13
36
-77
-7
2
0
0
-48
-9
25
-9
-19
-3
1
1
6
40
-7
8
-35
25
6
-2
-8
-18
96
-42
-50
-16
-1
3
0
0
-33
-9
-27
11
16
34
0
0
0
0
0
-12
62
9
68
31
4
2
0
-24
22
-16
15
21
6
-2
1
3
21
30
1
9
-12
-8
-1
0
-25
4
-9
50
27
24
5
5
0
-3
-2
-22
-32
22
57
8
0
0
0
0
-23
-13
44
52
-13
5
-1
0
-79
-13
5
30
-6
-1
-2
-1
-19
11
21
14
34
14
-7
-1
1
-46
-25
21
-7
29
15
1
-3
0
-48
-3
11
-11
43
23
8
0
0
0
0
-8
8
-51
-76
-29
8
-2
0
48
5
0
-17
-23
8
-2
5
1
19
-30
11
-46
-5
-9
2
-2
11
-16
-49
-42
20
51
6
-2
0
-8
-1
3
-31
-13
1
-1
0
0
0
0
0
0
0
-31
-66
29
-150
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-16
0
0
0
0
0
0
0
4
-73
-44
-80
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
6
8
-46
0
0
0
0
0
0
-1
3
25
4
-160
0
0
0
0
0
-13
22
-76
-108
0
0
0
0
7
3
48
-117
-56
0
0
0
-3
7
-8
-9
-29
0
0
1
1
0
-1
-23
-5
0
0
0
0
0
0
-4
-48
-31
-27
-58
0
0
0
0
-1
-31
-29
54
-21
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-33
-19
12
0
1
8
-4
3
-5
-9
-4
0
0
0
0
1
1
14
-65
-33
-30
-83
0
0
0
0
0
-10
-134
-49
-71
0
0
0
0
-9
-22
-14
-14
-58
0
0
0
4
-15
-20
-76
-34
0
-1
21
-8
47
8
-33
-39
0
0
0
0
0
-2
-19
-35
-11
-8
-78
0
0
0
4
25
-3
-5
-66
-44
1
-3
-4
8
27
-30
-34
-68
20
1
1
-10
34
16
4
-68
-19
0
0
-12
-13
-22
5
14
-26
0
0
0
0
-2
8
-7
17
24
-1
0
0
-3
0
5
-22
-26
8
-7
-24
0
0
0
0
0
0
0
0
0
-12
24
23
12
-10
-43
-29
3
0
20
7
48
-6
-16
-64
41
0
0
0
0
12
-1
21
20
-2
-3
-5
0
4
-3
-7
18
-57
-20
-9
0
-12
14
4
-59
-15
-25
-55
-9
5
5
19
15
-2
-36
-24
9
1
0
3
-23
42
52
-53
-36
-5
0
0
0
0
-1
2
-34
6
0
0
-4
0
5
0
-9
37
9
-9
-2
11
0
0
-8
39
24
86
-29
-7
-15
4
9
20
8
36
-58
34
-5
0
5
31
21
-47
-53
6
0
0
0
0
0
0
2
18
45
-7
7
-2
0
4
-15
-7
-18
81
18
3
5
0
0
0
0
0
0
0
0
0
-4
0
-17
-9
-23
8
39
1
0
-26
21
0
-8
-13
-14
36
0
0
0
0
0
13
21
4
24
1
19
0
12
-9
9
8
4
2
1
15
-13
-21
14
72
13
4
4
-4
8
17
14
-8
-5
29
48
15
-1
0
-7
31
2
-2
-16
8
9
0
0
0
0
0
0
5
-3
-1
8
9
0
0
2
1
18
52
-2
10
-6
0
3
37
29
19
43
-7
7
18
-10
-22
6
-13
18
-9
53
58
0
8
-5
-12
28
39
11
51
0
0
0
0
0
0
-2
0
41
44
7
0
0
0
2
-22
25
31
13
9
0
0
0
0
0
0
0
0
0
3
7
0
2
2
9
7
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
4
44
11
6
0
-1
2
-5
-1
39
-42
7
20
0
-26
32
-1
18
5
10
12
-8
-8
59
23
9
49
2
-11
-26
0
-2
0
0
0
5
1
0
0
0
0
0
0
0
0
2
-4
24
5
0
0
-1
0
0
9
36
25
13
0
3
-3
0
0
-52
49
22
69
0
1
0
2
1
-47
19
23
0
0
0
4
0
0
-2
-7
0
0
0
0
-4
-2
-2
31
-38
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
50
-3
-16
4
-59
-42
0
0
0
0
-8
4
13
48
39
-12
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
32
-18
41
-8
6
0
0
0
0
31
12
42
18
-3
1
-102
0
12
7
-20
-5
26
-11
-9
-29
-25
-6
29
0
-56
8
-27
27
-27
-2
-5
-13
3
22
28
-34
5
0
6
11
1
45
35
-9
-56
0
0
0
0
6
2
19
-53
37
-16
-101
0
0
0
0
13
-35
7
28
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
0
-1
-49
58
0
3
-8
-5
16
18
16
1
0
0
0
0
16
8
67
70
38
-8
16
0
12
10
-3
21
6
7
-37
101
1
-2
6
-22
-1
-20
-13
6
63
0
-3
-6
-13
8
33
-9
26
0
8
7
42
-25
-35
-71
67
0
0
0
0
3
18
-25
41
-24
19
-22
0
3
-12
-2
19
-2
-18
-29
65
-2
3
8
72
-9
-105
11
117
-30
0
-3
3
-42
5
-70
-32
97
0
0
26
2
-9
-7
-21
72
0
0
0
0
0
0
10
18
36
-8
82
0
0
0
0
2
-31
9
210
0
0
0
0
0
0
0
0
0
0
1
-6
10
13
16
-9
109
-26
0
-2
0
1
0
-1
9
-10
0
0
0
0
1
0
-2
-52
57
35
65
0
42
15
11
24
17
-12
3
128
16
31
-8
3
-15
-46
10
70
13
-1
2
-19
6
1
4
89
-19
0
0
0
1
12
-5
-24
-24
0
0
0
0
1
0
-1
23
67
-11
24
0
5
3
14
-12
-49
62
24
194
1
1
14
-5
18
-1
-51
196
21
0
6
4
24
-5
16
74
-47
0
0
0
-1
0
-2
-2
1
0
0
0
0
0
0
0
-1
-44
3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-4
2
0
0
0
0
0
0
-9
10
17
-2
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-8
45
2
0
0
0
0
0
4
-24
22
-31
-13
-24
0
0
2
23
-3
61
-27
-49
11
0
0
3
8
1
-1
-42
-8
9
0
-4
3
8
-1
10
-8
-58
0
1
8
-6
0
5
32
-42
0
0
0
0
0
-3
-13
0
-29
-16
58
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-5
23
-43
4
43
0
0
0
0
0
-7
-8
-4
-3
-8
-13
0
0
0
0
-10
-3
40
-15
0
0
0
0
0
0
-4
1
-19
-8
0
0
0
0
0
-1
8
-3
0
14
-28
20
-31
-8
12
-26
0
0
0
0
14
-10
-5
-9
-9
-12
41
0
0
-2
2
3
35
-30
12
-26
2
8
-5
-21
-5
50
-21
-20
0
2
13
19
-3
-39
-23
41
-20
0
-29
-8
7
-5
-1
-41
-31
0
0
0
0
-5
-16
-8
-37
11
-50
90
0
0
0
0
-4
0
-1
12
10
0
0
0
0
0
0
0
0
0
0
3
5
3
-1
8
-40
-53
0
5
-5
9
-8
5
17
-25
0
0
0
0
-1
-8
1
-10
-36
16
39
0
1
0
-1
15
22
8
-64
-71
1
0
3
2
22
12
26
-122
68
-1
-4
7
4
6
-15
7
-45
0
4
20
-3
-1
-1
11
40
0
0
0
0
13
-19
44
53
-12
10
-60
0
3
-7
-7
47
-13
-83
13
25
0
-12
3
-25
2
-92
42
4
-66
0
9
13
20
5
9
-27
-35
0
49
-4
7
-9
-8
-49
25
0
0
0
0
0
0
-4
-54
26
12
-54
0
0
0
0
-2
-4
-22
2
-4
0
0
0
0
0
0
0
0
0
0
-1
0
4
-9
-14
29
24
0
0
-1
0
0
0
-3
1
0
0
0
0
0
0
-22
4
17
10
49
0
0
0
15
42
-19
-48
9
-9
0
0
0
0
25
-15
33
-66
0
0
10
4
0
0
-30
-28
-25
0
0
-2
0
2
3
-4
-8
0
0
0
0
0
4
19
-1
5
-11
-11
0
0
-1
8
25
11
-34
-16
41
0
2
0
8
23
-13
-8
34
-66
-4
-2
0
-6
3
20
-8
-25
0
0
-2
-3
0
0
8
8
0
0
0
0
0
0
0
-1
32
-6
13
0
0
0
0
0
1
49
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
20
17
0
0
0
0
5
-2
59
-10
45
0
0
0
-2
-14
-19
7
13
0
0
1
-1
0
-5
-3
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
-13
13
0
0
0
0
0
-8
49
27
-14
0
0
0
0
0
0
-21
71
0
0
1
0
0
0
-2
-12
0
0
0
0
0
0
1
-3
0
0
0
0
0
-19
23
-12
-21
-14
10
-87
0
0
0
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
7
-14
17
-24
-4
-3
0
0
0
0
-6
14
30
-7
-21
-2
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
-3
-4
-18
0
-9
0
0
0
0
20
16
2
-11
-6
-4
-35
0
-6
-12
1
30
-2
14
-13
-20
20
-6
-4
-9
-4
2
10
-22
-5
-83
23
-22
15
9
6
-12
-1
0
-32
-14
-8
18
2
-4
-5
0
0
0
0
27
18
36
7
2
2
-14
0
58
6
-10
7
-3
-7
-8
-33
0
0
0
0
0
0
0
0
0
-68
7
16
-16
32
-25
-9
-1
0
22
9
8
11
-7
-4
-7
0
0
0
0
13
-2
8
9
3
0
2
0
32
30
18
15
16
9
-4
-31
-38
17
-23
-1
-7
11
-10
-8
-2
-115
22
2
5
23
-17
-12
0
0
-25
5
-27
-4
27
-2
-3
0
0
0
0
-9
27
35
-3
-2
0
-5
0
7
40
12
-1
-7
-3
4
0
11
24
-15
-29
7
13
4
2
0
67
-1
2
-1
-3
-2
-3
3
0
14
-2
18
6
-4
-8
4
0
0
0
0
32
30
49
24
6
-2
7
0
13
3
22
37
26
11
5
-4
0
0
0
0
0
0
0
0
0
40
32
-8
1
-5
4
-6
2
0
-21
-18
47
31
23
14
-9
0
0
0
0
23
42
76
22
6
1
8
0
13
40
29
9
21
1
1
-1
49
32
30
-2
-15
12
1
1
-4
20
45
43
15
33
24
-4
0
0
69
-26
48
-12
27
-3
-13
0
0
0
0
6
11
30
15
3
1
1
0
33
13
27
-11
9
5
2
4
-18
8
4
35
-20
-21
6
3
3
27
-4
-4
5
-27
-1
-8
5
0
-7
36
33
-20
13
4
-3
0
0
0
0
-4
-68
-23
-8
16
36
-86
0
0
0
-48
-31
-66
17
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
6
0
0
-9
22
-24
-23
14
7
-4
0
0
0
0
-18
-96
-44
-18
8
22
-98
0
0
-6
-75
-31
1
3
-66
-4
0
0
-5
-20
-8
-21
-66
78
1
-6
-1
22
7
-42
-61
0
-6
0
-115
89
-18
-21
-9
16
-8
0
0
0
0
-83
-56
-6
-20
-14
22
4
0
-54
-82
-39
-8
-13
-31
-12
25
-71
-40
15
39
92
19
-3
-1
-4
-14
45
-23
50
4
-13
-5
-9
0
-76
39
-1
7
-17
-3
-6
0
0
0
0
-7
-135
-84
-21
-3
7
-96
0
0
8
-81
-71
-19
45
-116
-75
0
0
0
0
0
0
0
0
0
-1
-39
11
1
-16
52
-35
-45
0
33
22
36
10
6
-16
-2
0
0
0
0
-63
-51
-63
-38
-2
-6
-93
0
-10
-23
-101
11
5
-40
-124
1
-45
-23
15
-34
30
-10
-57
-3
5
-50
-15
4
21
-24
-31
-40
-59
0
-24
71
-9
16
14
12
-4
0
0
0
0
46
-18
5
-13
-6
-3
-36
0
-31
1
7
-9
1
5
-28
-27
23
19
-21
2
4
-1
6
-27
-6
-59
45
21
-8
36
27
5
-4
0
-23
19
16
11
20
-8
3
0
0
0
0
-25
3
-76
-5
8
2
-82
0
13
-40
-99
-42
-31
-13
-80
-26
0
0
0
0
0
0
0
0
0
-51
4
3
53
22
-32
-9
-12
0
35
61
-21
6
39
26
-4
0
0
0
0
-20
-64
-18
-14
-17
2
-42
0
-20
-48
-20
-37
-13
-31
-77
-25
-77
23
-23
-24
-14
-18
-22
-31
4
-46
-43
-30
12
-15
-2
-20
-18
0
44
10
5
18
20
-11
-1
0
0
0
0
57
28
-22
-19
-5
4
-18
0
53
18
-5
-11
3
7
-4
-6
34
-7
36
-3
-12
15
-10
0
9
16
46
-7
-45
1
5
-2
7
0
53
26
23
8
-1
0
5
0
0
0
0
-11
-40
-6
12
-4
11
1
0
44
-12
-7
-18
-36
-17
-20
-14
0
0
0
0
0
0
0
0
0
44
45
9
-42
3
-10
8
-7
0
-20
35
-14
-58
40
13
37
0
0
0
0
1
12
4
-27
-9
9
8
0
-40
-20
-10
-25
-12
-4
-32
-17
7
-31
19
11
14
-9
-11
3
-14
68
9
-9
-20
-33
-9
11
0
0
15
50
-42
-32
-2
0
11
0
0
0
0
18
-28
-39
-8
0
7
8
0
124
65
40
-37
-15
-8
14
15
-35
59
15
11
32
12
7
29
3
-43
-66
27
-19
15
-3
14
19
0
93
30
-21
44
-4
22
-13
0
0
0
0
13
-50
99
22
3
7
24
0
13
17
109
0
-29
-33
14
-12
0
0
0
0
0
0
0
0
0
7
19
-23
11
-36
5
24
4
0
-39
-8
-35
-18
-4
61
44
0
0
0
0
46
-15
-27
-92
-29
17
20
0
-42
-39
-47
-39
-15
-20
13
13
-85
112
39
-17
39
11
10
33
-3
88
-13
-69
-24
-42
2
11
20
0
8
73
50
-10
-41
31
-38
0
0
0
0
-3
58
44
-15
-21
2
6
0
-19
-44
-8
-42
-29
-11
24
37
14
14
27
-101
16
-39
6
28
59
88
45
25
-57
-22
-19
-13
47
0
26
-13
-70
-36
-7
103
47
0
0
0
0
35
3
3
45
-4
4
-20
0
0
0
0
0
0
0
0
0
60
32
-13
10
14
-1
-22
-1
-9
0
0
0
0
0
0
0
0
0
30
-50
35
39
-2
15
1
0
0
0
0
41
43
26
29
9
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-43
-14
-7
-3
-25
1
0
0
0
0
48
51
4
-40
-3
-1
-7
0
14
-2
57
67
-13
-19
-15
-7
-19
108
27
28
15
-10
-12
-3
0
-8
-13
0
1
5
-6
3
-1
0
9
74
20
-5
13
4
1
0
0
0
0
-26
56
56
-15
20
5
16
0
22
36
-8
36
27
1
-5
4
12
19
6
-1
6
2
-3
1
2
105
30
5
16
8
18
2
1
0
51
21
-14
29
27
13
-1
0
0
0
0
3
75
68
28
13
5
5
0
2
47
42
-19
12
0
2
0
40
30
36
19
21
23
-6
3
2
82
53
27
5
-14
5
-9
0
0
5
-17
5
-13
-18
-9
7
0
0
0
0
31
-2
29
-11
1
0
11
0
22
12
-12
24
6
3
1
9
-12
56
41
-32
-50
0
-4
13
2
40
-4
57
-1
2
-20
16
0
0
-69
6
-2
-3
33
-2
-2
0
0
0
0
-43
43
51
52
-2
7
14
0
16
15
37
-28
11
1
2
10
6
33
20
6
-9
14
3
0
-2
27
6
42
27
-2
18
19
2
0
33
23
2
5
-12
6
-39
0
0
0
0
-54
52
26
27
-9
2
14
0
-60
-3
-5
0
-11
-2
1
14
6
12
7
19
-11
11
0
10
5
24
34
-1
40
14
19
-3
5
0
2
24
35
16
3
6
14
0
0
0
0
0
29
25
-74
-10
-3
0
0
27
-6
-7
15
21
-8
4
8
16
-31
32
-41
-4
15
7
14
11
95
101
-18
-107
4
1
7
15
0
36
-27
-17
-23
11
39
-46
0
0
0
0
0
0
-15
-79
-22
42
-229
0
0
0
0
0
-6
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
3
24
-27
-41
22
-93
0
0
0
0
0
-2
-25
-45
-46
15
-108
0
0
0
2
1
-49
-41
-150
-42
0
0
0
0
1
-2
-41
-39
-1
0
0
1
-1
2
-1
-7
2
0
0
-60
0
-13
27
11
-13
0
0
0
0
0
13
-64
21
-19
-3
-41
0
0
1
-2
-17
57
-24
-9
-130
0
-1
1
-6
-2
-4
47
-121
-127
0
-1
-31
-34
67
1
39
-13
0
-1
-28
17
-11
-40
16
15
0
0
0
0
20
-10
-101
-31
-16
-8
-78
0
0
3
30
-70
-52
-35
-71
-88
0
0
0
0
0
0
0
0
0
0
0
17
-15
8
-75
-130
-131
0
-57
-23
-40
16
-10
-36
-8
0
0
0
0
-43
-31
48
-1
-29
-17
-78
0
0
0
-43
-31
-96
-52
-135
-94
0
-7
-1
1
70
-6
-33
-216
-131
1
-7
-30
40
73
-66
-152
-118
0
-33
-21
-49
-28
27
-5
-12
0
0
0
0
-39
-43
-44
-52
-1
-4
-27
0
8
-5
-98
40
-10
-6
-31
-58
-59
-50
14
4
50
37
-17
-61
-24
-77
-13
-17
81
59
-7
-15
-47
0
-56
-47
19
-4
-43
-13
-21
0
0
0
0
53
43
23
-18
7
10
0
0
22
-58
-133
-29
-24
-9
-36
28
0
0
0
0
0
0
0
0
0
-157
-9
17
45
-29
-50
-42
9
0
50
3
62
-4
2
24
-9
0
0
0
0
55
24
-90
23
-12
4
-3
0
90
-4
28
73
8
-7
-80
-24
-19
22
-6
-23
-18
-8
-60
-42
-20
-93
-1
33
-73
-26
-12
-30
-22
0
128
34
-8
41
-43
29
-13
0
0
0
0
23
-43
-44
44
-2
12
1
0
-73
-10
14
48
50
12
-4
-2
-22
-39
-2
43
35
-6
-11
1
5
51
66
39
15
-1
-6
0
-8
0
84
40
-39
5
13
2
-4
0
0
0
0
0
65
10
12
20
1
30
0
39
98
-13
36
10
30
21
36
0
0
0
0
0
0
0
0
0
88
62
-56
-27
20
7
52
-1
0
-12
2
-6
9
-4
70
17
0
0
0
0
1
90
73
7
-25
16
46
0
37
-51
44
7
5
4
7
23
115
28
-13
14
8
5
-2
20
0
82
-16
2
-18
22
33
17
13
0
-26
-6
25
41
13
45
20
0
0
0
0
0
-7
34
-7
-15
30
31
0
15
29
15
8
-10
10
19
67
34
67
-30
-9
50
-21
-3
49
38
74
50
23
-67
-1
-42
19
52
0
26
-36
0
-14
70
14
32
0
0
0
0
0
1
-2
-14
44
23
76
0
0
37
44
23
40
56
55
33
0
0
0
0
0
0
0
0
0
96
-47
62
-80
54
-6
31
17
0
0
0
0
0
-31
-5
8
0
0
0
0
0
1
-17
26
-71
42
65
0
13
13
43
59
15
17
17
51
21
-57
62
-9
-7
-18
6
55
49
31
24
-6
-59
15
-5
29
49
0
-76
3
0
0
25
-16
35
0
0
0
0
0
-1
13
-4
20
50
20
0
0
-7
-24
-3
48
28
45
66
0
42
-29
0
-3
-72
-25
114
38
21
-18
-7
2
-17
-15
21
62
0
0
0
3
0
-5
4
-13
0
0
0
0
-58
-41
-39
-7
2
-6
-127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
53
-28
-8
10
-41
-18
0
0
0
0
-80
-3
50
24
26
-27
-128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
9
-6
14
22
-27
-41
0
0
0
0
41
-21
-31
21
-4
-20
-32
0
-9
3
-28
-5
27
-8
-24
-50
-38
-55
41
4
16
17
-16
-24
-48
25
37
-5
2
54
3
-15
-22
0
-16
6
-41
36
28
-1
-33
0
0
0
0
10
-56
61
48
-14
-10
-75
0
-45
0
-48
26
6
-5
48
-1
0
0
0
0
0
0
0
0
0
5
-27
-3
22
23
-59
17
10
0
-5
36
-26
52
26
-28
-22
0
0
0
0
130
39
40
21
42
-27
-132
0
-17
-1
-4
9
10
-5
-88
24
2
-62
30
34
62
-4
10
-41
-75
5
5
1
31
27
40
27
-27
0
5
45
37
-50
-99
-41
-22
0
0
0
0
22
23
17
34
5
-16
-18
0
37
-13
-22
-13
35
-8
-48
5
-22
40
40
41
51
11
-13
-6
-35
57
52
11
52
-21
-5
-2
-26
0
94
76
-30
22
-131
-12
-15
0
0
0
0
59
58
84
-5
10
12
-44
0
27
2
-26
47
-77
-6
133
0
0
0
0
0
0
0
0
0
0
47
56
-25
1
-14
-42
87
-157
0
-8
-13
-4
2
-8
17
-31
0
0
0
0
116
58
-25
65
26
-14
-100
0
132
69
77
2
8
13
-42
23
54
164
19
-6
-4
-50
6
-8
54
-2
35
-19
24
-38
-33
98
-87
0
26
-5
38
70
-3
-55
-75
0
0
0
0
81
26
-22
110
-17
-11
-62
0
38
58
-2
2
-15
10
-17
-1
-5
37
-23
-16
10
-49
26
88
75
28
6
-5
20
-11
11
59
-38
0
-1
-50
8
25
72
-48
-3
0
0
0
0
0
-12
3
32
27
-40
-143
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
13
-59
-40
41
23
-13
0
0
0
0
-3
-6
19
5
32
-164
-114
0
0
0
-42
44
19
0
-8
0
0
0
2
0
3
1
0
1
0
0
-8
0
0
0
0
3
0
0
-82
-30
66
6
-1
32
-4
0
0
0
0
-26
-54
-16
19
-1
17
-43
0
-25
54
0
19
-20
-19
-39
-8
0
-48
-10
-19
63
13
16
-19
-30
-5
0
22
27
83
-48
-43
-52
0
-49
-54
10
25
84
-4
5
0
0
0
0
-15
-94
-63
10
-5
-57
-67
0
0
0
-16
15
1
46
-27
6
0
0
0
0
0
0
0
0
0
0
3
-3
13
-46
10
21
-25
0
-37
26
30
-18
-75
-23
-25
0
0
0
0
1
-106
-2
9
24
-59
-92
0
0
-7
-9
33
7
-26
-27
-48
0
2
-19
80
-29
-33
10
-33
-12
-1
8
25
-20
45
31
-23
-126
0
33
11
13
6
-67
-12
-22
0
0
0
0
15
-31
11
5
-3
-23
-41
0
-75
-19
-43
11
19
-7
-19
-23
48
68
-39
3
-18
-11
-29
-3
-27
-68
-14
52
1
-57
27
-27
-1
0
30
3
-12
30
44
-24
-52
0
0
0
0
-7
-88
21
-27
-34
-27
-94
0
0
0
56
-13
20
-35
10
-51
0
0
0
0
0
0
0
0
0
-18
11
35
72
22
-6
-51
-104
0
31
-19
4
-92
56
-33
-47
0
0
0
0
39
-21
-6
4
10
-58
-61
0
-5
-8
-3
7
67
-70
-65
-44
46
-34
-13
27
45
-34
-20
-7
-16
-11
48
48
-97
42
-26
-54
-21
0
46
-23
82
4
0
-53
-60
0
0
0
0
-99
-63
76
-6
-2
-25
-24
0
-8
49
-24
10
-7
-50
-30
13
34
50
-18
-22
3
-77
-42
5
25
-128
11
9
55
-25
23
-26
-34
0
48
92
-22
-90
-57
12
-29
0
0
0
0
1
-14
-6
8
7
-51
-44
0
0
0
1
24
41
-41
20
-8
0
0
0
0
0
0
0
0
0
-8
-10
-17
27
-9
20
24
26
0
-2
3
0
1
0
-54
2
0
0
0
0
-3
-34
-4
-37
27
-58
-23
0
19
90
41
-11
19
-32
-62
-73
6
2
24
-14
68
-5
-21
-48
42
1
16
33
-10
-78
-57
11
5
0
-40
4
-19
-45
61
-24
45
0
0
0
0
-30
25
105
43
4
-31
-48
0
69
-56
79
-82
8
-68
-27
88
0
-60
-15
17
81
-131
-35
7
-5
27
-14
15
-94
18
-19
-36
94
0
-5
-6
-2
13
-42
-10
18
0
0
0
0
0
-2
-5
-12
74
-73
-24
0
0
0
-1
4
-30
-12
-98
0
0
0
0
0
0
0
0
0
0
0
-3
-3
6
-29
42
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-41
22
24
3
0
0
0
-23
22
-38
-49
-17
52
-4
-3
-7
-4
16
-12
6
34
2
0
16
37
0
-46
-2
94
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
7
69
-8
-10
0
0
0
3
-3
-49
-49
-41
116
0
-6
0
0
7
-1
25
82
-1
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-23
-30
-17
4
2
4
-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
-30
-8
15
32
-13
-3
-3
0
0
0
0
-2
-16
16
-8
-15
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-19
32
7
9
-2
-4
0
0
0
0
-34
-14
-5
-5
-1
4
-16
0
-28
-3
-1
-22
-1
8
-5
-8
-40
1
-15
-2
15
14
5
-10
-6
-66
46
-2
20
15
11
0
4
0
-1
25
30
7
-9
-11
-1
0
0
0
0
-4
23
11
29
7
10
-7
0
-15
-3
-19
4
-18
7
-3
-29
0
0
0
0
0
0
0
0
0
-68
31
13
-12
11
-15
-16
4
0
10
33
22
0
-1
0
-4
0
0
0
0
-13
24
35
25
0
-2
-1
0
16
13
-2
9
21
24
-3
-47
-48
-9
-7
9
2
18
2
-2
-13
-110
0
25
17
33
3
-11
-2
0
69
-6
-29
-9
2
1
-4
0
0
0
0
25
43
32
8
0
5
-9
0
30
-15
24
1
-10
0
5
1
-14
-5
4
-7
-5
4
10
1
2
18
40
26
-25
1
3
-3
7
0
-42
-17
13
-6
-1
-2
2
0
0
0
0
51
40
47
15
8
0
12
0
22
39
22
29
37
25
8
-2
0
0
0
0
0
0
0
0
0
24
6
6
11
2
1
-4
4
0
-25
15
-48
15
2
15
-3
0
0
0
0
69
39
15
0
-7
4
18
0
21
65
14
11
21
7
13
10
47
47
-10
-15
-9
15
6
0
-1
22
53
-1
26
20
18
3
7
0
5
101
-33
16
18
-4
-21
0
0
0
0
3
40
57
5
5
-4
1
0
69
18
48
-24
-1
-1
8
14
-28
30
20
26
-13
-2
13
4
2
41
47
39
-16
-36
-15
13
0
0
-10
22
24
-16
-22
16
-12
0
0
0
0
-8
-80
-40
-17
-8
49
-39
0
0
0
-109
-27
-60
31
3
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
2
4
0
0
-41
31
-5
-71
-21
6
-13
0
0
0
0
-80
-43
-49
-36
-6
31
-15
0
0
-15
-127
-4
-40
31
5
-2
0
0
-5
-11
-19
-25
-84
49
3
-6
-2
44
27
-53
-33
-27
-31
0
-152
19
-32
31
13
-2
-5
0
0
0
0
-94
-74
-24
-16
-12
22
13
0
-117
-73
-20
15
12
13
0
-12
-98
-39
-21
37
3
9
-7
-10
6
-143
-20
26
-13
21
25
-26
-1
0
-29
23
-16
0
10
-26
-7
0
0
0
0
-37
-45
-52
-6
-18
8
-73
0
0
13
-76
-49
-39
17
-128
-55
0
0
0
0
0
0
0
0
0
9
-37
-10
-55
-57
-17
7
-30
0
-92
31
8
-5
11
-7
-6
0
0
0
0
-71
-25
-13
-37
-11
3
-20
0
-50
-36
-29
-35
13
-26
-38
-38
-107
-48
1
-33
14
4
-46
-2
8
-47
-69
-25
8
-52
-35
-33
3
0
-22
0
13
8
-4
-15
0
0
0
0
0
56
-13
-27
-14
-10
10
-13
0
-52
-7
-10
19
5
-4
-4
-12
-40
8
-26
14
18
-8
-10
-18
-7
-25
11
-1
30
-19
8
-1
-5
0
-7
36
26
12
6
-4
2
0
0
0
0
18
-30
-22
-10
-1
3
-13
0
-152
-76
-51
-23
-26
-26
-88
-25
0
0
0
0
0
0
0
0
0
-70
-27
-28
6
13
-17
5
-14
0
-4
0
-25
-18
-1
-5
11
0
0
0
0
-18
-9
-17
-11
-11
7
-35
0
-51
-38
-5
-32
-39
-32
-72
-35
-147
-11
-32
-13
16
-46
-38
-36
1
-70
-62
-5
-6
-23
-27
-11
-10
0
68
-13
6
-3
1
-10
2
0
0
0
0
10
-24
-11
0
1
6
1
0
116
17
-15
-3
-4
-4
0
-8
75
-22
31
15
-9
-14
-15
1
-6
108
20
-3
-14
-11
4
2
-2
0
75
58
38
-8
-10
-3
-12
0
0
0
0
-15
18
20
-19
2
14
14
0
-1
-9
2
-30
-21
-21
-19
-17
0
0
0
0
0
0
0
0
0
14
28
-9
-49
-27
1
13
4
0
49
41
42
-54
-9
-5
19
0
0
0
0
-17
-12
-16
1
-9
15
6
0
-24
-27
-21
-47
1
-9
-21
-16
-94
29
-30
-20
2
-7
-10
-1
-9
15
40
-27
-5
4
7
4
-6
0
23
28
30
-29
-2
-39
-2
0
0
0
0
-19
9
-48
3
-11
2
11
0
3
17
-23
-10
-21
-12
6
-5
-4
-14
73
-51
-30
-46
6
11
50
-22
-21
-13
-63
2
40
-9
22
0
120
34
-75
18
6
-8
-26
0
0
0
0
-7
-12
68
-29
-15
-7
41
0
5
-53
47
-16
7
-37
19
8
0
0
0
0
0
0
0
0
0
31
2
-58
-4
5
2
16
29
0
-22
-1
4
12
4
29
30
0
0
0
0
0
-15
30
-44
-41
-11
34
0
-34
-48
-18
-31
-9
-18
12
20
44
22
41
10
-20
-15
13
33
5
129
0
32
-62
-37
20
-3
27
0
21
50
41
-2
-4
-21
-55
0
0
0
0
1
10
45
-9
-2
-57
31
0
-8
-66
62
-23
-33
17
-3
21
-23
9
11
-39
-28
-56
-13
40
3
36
32
55
1
53
-57
8
5
0
21
-10
-20
-49
3
53
9
0
0
0
0
32
15
9
-13
-2
4
14
0
0
0
0
0
0
0
0
0
-7
-8
-27
-5
-5
-10
-22
-8
-1
0
0
0
0
0
0
0
0
0
99
11
10
31
-15
-13
-3
0
0
0
0
13
17
7
4
17
0
-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
-17
28
52
-4
2
3
-8
0
0
0
0
31
66
19
9
9
7
-2
0
74
37
24
-11
2
-8
-3
4
-6
125
6
22
-12
16
-5
-15
-2
-13
12
-19
-22
26
3
-7
0
0
-85
21
-10
-5
6
-5
1
0
0
0
0
0
51
85
16
-3
2
7
0
67
5
-12
-12
22
1
-7
3
0
9
30
10
0
7
-4
4
0
118
-22
31
14
8
10
8
4
0
76
-36
17
24
-11
8
-6
0
0
0
0
17
78
26
-20
19
1
8
0
-8
45
14
13
-10
4
3
1
-12
31
6
27
-15
1
-13
12
8
31
131
12
-4
-13
-6
-5
4
0
57
-11
-62
-22
-32
3
13
0
0
0
0
39
64
44
17
2
-4
3
0
86
32
6
-3
-1
-7
-3
8
72
21
52
73
20
13
-15
8
11
14
13
72
29
-18
-4
2
8
0
4
44
-4
4
-11
14
-16
0
0
0
0
19
15
44
-1
14
-1
1
0
27
28
14
38
22
-2
3
21
41
34
12
11
8
11
0
2
-13
36
82
1
25
4
11
9
11
0
102
-17
22
-26
5
-46
-64
0
0
0
0
6
82
53
1
7
-6
10
0
-13
3
2
-37
-14
-5
2
21
106
11
65
14
-16
3
1
5
12
134
63
47
-3
5
-7
2
14
0
58
59
-13
45
-7
-32
8
0
0
0
0
9
-4
25
34
9
-24
1
0
-60
20
-41
82
28
9
-6
-33
84
-20
92
-42
-5
-30
-5
10
-9
153
64
-23
3
-1
-15
-22
12
0
22
66
-17
-77
20
9
-30
0
0
0
0
0
0
-18
-57
-12
31
-132
0
0
0
0
0
-5
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
3
9
-58
-10
32
-3
0
0
0
0
0
-14
-43
-89
5
58
-44
0
0
0
2
1
-56
-29
-110
-51
0
0
0
0
1
6
-31
-45
-1
0
0
1
-1
-17
-12
-13
2
0
0
-8
-27
-19
-5
15
14
0
0
0
0
0
42
-104
-29
-22
14
68
0
0
1
-1
9
-2
-16
38
-31
0
-1
3
-28
7
51
15
-55
-43
0
-2
-23
-27
41
51
-46
17
0
-6
-11
-26
34
15
85
-50
0
0
0
0
5
-67
-146
12
3
2
-8
0
0
3
89
-114
-89
38
-78
-75
0
0
0
0
0
0
0
0
0
0
0
5
0
-56
-16
-151
-79
0
-65
-25
-12
9
-1
6
-6
0
0
0
0
-3
-53
-28
38
-31
22
-11
0
0
0
-19
-55
27
8
-114
-60
0
-5
-5
18
99
-57
-50
-151
-119
-1
-30
-5
28
67
-23
-100
-81
0
-91
-59
-73
2
23
8
10
0
0
0
0
-43
-70
-13
21
2
4
17
0
-16
-3
-18
29
50
4
7
-28
-25
-88
-24
-5
14
6
11
-23
-11
-111
27
-11
13
13
11
40
-7
0
-93
-41
7
-31
-8
55
-4
0
0
0
0
-11
50
78
15
-5
7
-2
0
15
-7
-15
-7
-11
7
-37
-24
0
0
0
0
0
0
0
0
0
-199
-43
5
-4
24
-22
-38
-2
0
84
-1
46
-5
6
6
-2
0
0
0
0
80
18
-46
-13
-4
26
4
0
44
-31
38
31
5
8
-84
-37
43
-21
-68
-25
3
19
-28
-69
-22
-12
-22
-8
-36
25
22
-32
-25
0
57
26
-49
-29
29
14
8
0
0
0
0
-13
-25
-15
37
10
2
8
0
-51
1
94
31
-16
-6
7
19
17
31
-29
-34
30
14
-13
22
3
34
25
37
27
-30
-18
6
12
0
13
27
-6
13
17
-1
-16
0
0
0
0
0
76
24
-29
-21
25
11
0
23
11
31
64
44
18
41
37
0
0
0
0
0
0
0
0
0
122
7
12
-20
23
5
-3
-10
0
31
34
13
-21
-25
24
-17
0
0
0
0
-5
92
17
-67
8
19
18
0
-5
22
45
27
39
1
4
28
53
161
19
7
32
16
-12
25
9
39
-11
-32
8
-18
5
13
26
0
45
-6
-10
-1
24
6
-7
0
0
0
0
0
28
-5
-50
2
25
3
0
3
16
17
-85
-37
38
24
30
6
12
-6
30
-38
-5
27
-10
64
21
18
-57
6
-49
-15
35
2
0
-4
-66
25
-10
-37
30
77
0
0
0
0
0
1
-23
-14
-16
45
26
0
0
77
79
41
12
43
44
44
0
0
0
0
0
0
0
0
0
95
18
36
-47
24
-3
6
-30
0
0
0
0
0
-37
21
6
0
0
0
0
0
0
-41
4
-19
5
76
0
2
4
-1
101
-37
-34
33
62
-38
-19
128
-20
36
-23
1
63
14
31
8
-31
42
5
-3
20
5
0
14
1
0
0
-52
-15
28
0
0
0
0
0
-1
12
-2
74
-38
30
0
0
3
-13
-1
-5
5
45
11
0
10
-3
0
-7
-55
-29
32
42
12
6
0
1
-14
36
-23
-10
0
0
0
3
0
-6
7
5
0
0
0
0
-114
-86
-13
10
13
-13
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
18
35
20
-20
-4
-44
0
0
0
0
-44
-56
-7
9
29
-13
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
22
41
-24
-21
6
-41
0
0
0
0
3
-65
17
22
4
-14
-11
0
-6
-31
4
-6
15
-8
-14
-43
-19
-20
-12
24
23
24
-18
-15
-22
6
3
39
10
14
-2
-4
-17
0
-8
-32
8
37
-15
0
-17
0
0
0
0
43
26
50
-4
3
-23
13
0
-6
-8
-2
-3
22
8
-19
-1
0
0
0
0
0
0
0
0
0
-4
48
-28
19
22
-14
6
-23
0
-78
-28
-13
36
-10
-47
22
0
0
0
0
36
76
38
39
39
-34
-78
0
6
31
18
-6
13
5
-43
-35
-5
-47
41
50
13
11
-7
-3
-107
-15
-57
29
32
-5
50
75
-45
0
-49
-18
-23
25
-26
-38
-6
0
0
0
0
-16
-17
20
44
26
-5
-32
0
41
7
7
8
-4
12
-29
-59
51
40
24
-22
20
-9
-26
5
-6
0
57
-28
46
-13
-34
52
-15
0
73
-26
-32
39
-31
-74
31
0
0
0
0
23
51
26
19
36
-16
-46
0
29
2
-43
20
-25
-9
105
0
0
0
0
0
0
0
0
0
0
32
33
-14
27
-60
-32
93
-76
0
5
23
-6
2
-13
12
-32
0
0
0
0
32
30
-40
72
52
-14
-9
0
70
17
-10
-1
16
13
-42
-29
57
148
-13
5
-25
5
23
-3
-21
0
6
-29
10
2
21
16
27
0
38
33
33
20
-41
-24
-25
0
0
0
0
76
31
44
21
-23
-3
-2
0
23
-8
-29
66
-19
13
1
15
4
-4
-5
1
-29
-36
44
20
66
14
-7
-21
20
-31
24
8
43
0
-1
-4
6
24
39
-58
23
0
0
0
0
0
-8
17
-8
33
-98
-200
0
0
0
-7
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
41
-78
-1
65
51
-29
0
0
0
0
-13
-53
14
-13
13
-83
-90
0
0
0
-77
78
46
0
-12
0
0
0
3
0
3
2
0
1
0
0
-8
0
0
0
0
3
0
0
-100
-18
12
-19
-39
39
7
0
0
0
0
-44
16
-28
-27
-7
23
-15
0
-58
6
-3
33
22
18
16
-62
9
-41
0
-53
3
63
-64
22
-43
-31
-9
8
45
44
-69
9
-85
0
-34
9
-62
18
10
-10
57
0
0
0
0
-20
-81
-11
10
19
-63
-117
0
0
0
-7
44
-45
-44
23
13
0
0
0
0
0
0
0
0
0
0
3
-13
36
-49
5
17
-45
0
-44
31
14
-23
-42
-24
-13
0
0
0
0
12
-55
10
7
16
-60
-119
0
0
-24
-42
51
-24
-11
-88
4
0
-5
7
18
-5
-5
19
-28
49
-21
40
42
-8
30
-6
-23
-80
0
-24
9
-11
-24
-41
22
-19
0
0
0
0
-20
-16
1
-11
-1
-2
-11
0
-45
22
-21
-12
12
-6
-22
-2
-8
37
-31
-23
57
-10
-23
-19
-18
18
-88
-20
3
40
-1
-11
-25
0
16
1
8
-16
25
2
-25
0
0
0
0
-5
-60
-20
15
-42
-41
-62
0
-6
3
76
46
-17
-35
-51
-65
0
0
0
0
0
0
0
0
0
8
-24
124
-44
5
13
1
-47
0
-3
-30
30
-92
43
11
-55
0
0
0
0
57
-55
-5
13
47
-87
-59
0
-7
-20
58
-11
22
-39
-86
-37
24
-65
-56
18
45
-13
-25
7
-57
-7
22
-15
-31
41
-35
-13
-1
0
-67
-84
49
-28
55
9
-39
0
0
0
0
14
-70
-12
3
-1
1
-27
0
-3
93
5
-28
-31
2
-21
-2
-16
109
-59
-41
30
-1
-17
-10
58
-33
8
-25
1
0
26
-30
-17
0
96
31
25
-53
-16
-25
-53
0
0
0
0
1
13
-10
-43
-43
-15
-46
0
0
6
-28
-33
-18
18
-111
-4
0
0
0
0
0
0
0
0
0
-34
-10
-41
85
-4
11
11
-40
0
-2
3
0
1
0
-48
0
0
0
0
0
-10
-108
59
38
34
-76
-71
0
14
54
72
-10
40
-37
-60
-32
46
-58
30
-55
-5
15
1
-4
61
1
4
12
-86
-38
-26
26
21
0
-4
17
-25
-28
54
-35
69
0
0
0
0
-10
15
37
-9
-8
-52
-11
0
13
-33
4
4
-13
-67
-19
109
0
-76
-27
20
49
-153
4
-15
10
-9
-41
18
-16
-2
-45
63
75
0
-9
-4
0
10
-15
-12
43
0
0
0
0
0
-2
-5
-8
81
23
-26
0
0
0
0
4
1
-28
-31
0
0
0
0
0
0
0
0
0
0
0
-3
-3
6
-32
32
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-48
-24
-22
48
0
0
0
-5
-67
44
-46
-9
26
-4
-3
5
-20
10
-20
43
-8
2
0
32
-10
3
-33
-26
55
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
74
-34
-1
0
0
0
3
23
-43
-29
-73
84
0
-6
0
0
7
-1
23
50
-1
0
1
0
0
0
-2
-17
0
0
0
0
0
0
0
-8
0
0
0
0
0
8
-13
-4
27
57
-24
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
1
-36
26
-3
-8
4
-3
0
0
0
0
20
13
29
58
12
-46
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
43
-6
-31
-9
15
-21
0
0
0
0
-5
-4
12
16
31
-17
-47
0
9
1
12
7
-19
-1
-13
-4
-33
60
-24
-38
61
31
-29
-36
23
-9
32
-14
-8
7
-1
4
13
0
-7
41
5
-16
30
17
-3
0
0
0
0
11
30
23
-3
-30
22
5
0
-20
4
5
22
-29
6
7
-21
0
0
0
0
0
0
0
0
0
-7
9
-17
-57
4
-7
-18
4
0
-14
35
-5
-56
3
10
5
0
0
0
0
2
42
15
8
4
8
26
0
8
22
15
6
-9
74
-26
-57
-25
10
17
36
13
27
2
-6
-37
-15
2
17
1
-7
4
-2
-5
0
26
-24
-28
-31
38
-3
26
0
0
0
0
21
75
13
16
-12
5
-16
0
-13
14
-50
-32
22
-15
64
-48
30
32
-16
1
-10
12
10
-9
40
24
-6
18
-31
10
20
-2
-4
0
-42
-5
8
46
-39
-10
4
0
0
0
0
-2
53
59
-2
-18
-4
5
0
49
27
20
16
31
23
29
-24
0
0
0
0
0
0
0
0
0
-2
0
20
7
-12
1
-3
-13
0
3
14
-15
32
-26
-14
60
0
0
0
0
50
25
19
9
-7
13
30
0
55
49
17
23
27
17
4
2
48
25
-14
-5
18
-70
-9
12
-12
93
37
22
24
-50
24
0
-27
0
8
27
15
-17
19
-8
27
0
0
0
0
1
27
-5
-41
-13
-25
91
0
18
16
29
13
-35
-20
-5
33
5
22
6
12
0
-12
3
27
25
11
-2
18
-15
13
-20
-12
-7
0
23
6
-15
36
-19
26
3
0
0
0
0
1
-40
-100
6
89
3
4
0
0
0
-40
-10
-6
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-12
1
-14
13
-36
16
5
0
0
0
0
-50
-55
-32
-14
13
39
43
0
0
-5
-18
-3
-1
-10
2
13
0
0
0
-8
1
-4
-28
0
0
-1
1
9
6
-39
5
-12
-5
0
3
-28
-11
30
4
8
13
0
0
0
0
-26
-35
-31
29
6
-40
28
0
-44
-25
-17
38
46
4
-3
-46
-27
-12
-32
-7
-40
23
43
-2
28
-87
-17
16
-19
-11
9
-17
2
0
36
-9
13
-4
23
4
22
0
0
0
0
-32
-31
39
-15
-26
21
-22
0
0
4
-52
-29
8
-5
-22
26
0
0
0
0
0
0
0
0
0
3
-5
1
-27
-30
-39
1
-22
0
-42
-21
-48
-5
-31
-24
63
0
0
0
0
-41
4
3
-22
-26
17
16
0
4
-58
-89
-25
-14
-48
76
-64
-19
-11
-63
5
82
0
-23
-2
-44
-8
-48
-42
-21
-18
16
31
-2
0
-18
17
21
-13
-21
-17
19
0
0
0
0
-24
-27
13
-23
-21
24
9
0
-44
12
-6
-14
-40
49
-17
28
-28
-25
16
8
-22
11
2
18
24
46
-56
-9
49
-47
-1
29
-23
0
4
-11
-2
-7
5
-12
16
0
0
0
0
19
37
10
26
1
-50
80
0
-58
-73
48
-31
-10
15
1
-9
0
0
0
0
0
0
0
0
0
-9
-23
9
-14
-7
-1
6
32
0
-22
-22
-6
2
-9
-22
64
0
0
0
0
-17
-13
-71
-33
-5
31
18
0
-16
-36
-18
-23
-41
-16
-3
23
-45
-21
-22
12
-25
-29
8
8
22
-43
2
43
5
7
-14
-17
-2
0
20
-31
51
-44
-38
37
-5
0
0
0
0
12
-66
7
-40
-1
34
44
0
-2
-6
-10
23
19
-10
-2
-1
41
5
-42
8
-6
-30
31
-5
-42
27
11
-52
-40
-8
-21
-8
59
0
4
41
-3
-14
-8
-5
-23
0
0
0
0
16
-26
-3
-76
22
26
14
0
-19
12
13
3
-34
-15
35
52
0
0
0
0
0
0
0
0
0
-18
-14
-4
-3
8
6
-13
6
0
15
3
6
-28
-17
8
-16
0
0
0
0
49
12
35
32
-26
-75
-10
0
-7
-10
-8
-4
15
-14
-6
22
-11
32
17
-54
-6
-17
-9
36
-1
-54
2
-36
-28
14
3
-5
27
0
19
0
0
33
4
-9
15
0
0
0
0
1
-42
-17
35
21
-40
33
0
-5
7
-25
5
-10
-31
32
16
-2
-41
8
-22
-22
-49
27
12
8
5
6
-5
-27
2
-6
18
24
0
10
-1
3
-21
-4
-6
28
0
0
0
0
0
-4
-14
9
20
36
-3
0
-1
-9
-1
14
-43
-45
28
10
0
0
0
0
0
0
0
0
0
31
0
-6
-30
31
36
-11
17
0
0
0
0
0
-5
-8
-3
0
0
0
0
0
-12
-8
-36
22
8
1
0
-6
11
-5
50
-10
-48
5
-19
12
15
-1
-21
-12
-3
14
-65
50
25
-16
-2
13
2
-25
11
15
0
-2
0
1
-4
19
-8
4
0
0
0
0
0
-9
12
-13
-3
-43
24
0
0
4
29
-24
7
-31
-9
31
0
1
1
3
6
-23
22
-20
-9
0
0
0
5
3
9
16
-25
0
0
0
0
-4
-3
-1
2
0
0
0
0
43
14
31
-42
15
-6
16
0
0
0
0
0
0
0
0
0
-51
-48
-38
-20
8
-8
-19
-11
22
0
0
0
0
0
0
0
0
0
42
5
0
-43
8
30
-12
0
0
0
0
22
-8
-49
-12
52
-39
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
29
29
21
2
-39
0
0
0
0
6
49
2
8
4
-23
-48
0
41
2
6
-34
9
-13
-16
35
42
-9
-2
5
14
-36
1
25
-23
4
-14
9
-7
11
-34
3
-23
0
12
-3
-35
-6
15
15
-8
0
0
0
0
-24
23
37
21
-15
-12
-16
0
-9
-5
5
75
5
-13
-30
14
18
41
37
19
-9
14
-12
10
-36
44
55
19
31
4
-7
16
-2
0
24
0
-19
-5
-8
15
7
0
0
0
0
13
39
-13
-46
-6
6
-38
0
-24
9
-45
40
-11
-8
-12
29
4
33
-29
-31
-10
27
-7
-10
-6
21
30
-5
-5
64
-30
47
2
0
31
50
-42
-31
0
20
-24
0
0
0
0
35
-32
50
-14
-26
-12
40
0
25
34
-11
33
-31
3
-28
2
27
-2
42
64
1
17
-5
16
-49
5
-13
-3
7
0
-8
-10
33
0
6
5
-17
-9
-10
5
24
0
0
0
0
1
-22
17
-14
31
-9
-2
0
34
33
-29
36
0
26
7
12
36
36
22
39
7
11
21
25
-37
-28
42
-16
8
-22
24
39
4
0
0
0
0
-10
10
-16
19
0
0
0
0
0
7
78
-7
-30
21
13
0
22
5
58
-13
-58
-43
10
59
12
13
55
-16
-4
-1
-6
-10
39
44
49
-13
25
2
-32
-15
-11
0
0
2
-13
41
-1
-11
-32
0
0
0
0
1
2
-13
-8
24
27
-36
0
-1
0
-8
15
9
15
-21
-18
0
0
12
-7
-15
-31
7
23
-31
0
5
-1
0
-28
10
-37
13
0
-1
0
-5
10
3
-13
-43
0
0
0
0
0
0
6
2
-22
13
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
5
42
20
8
0
0
0
0
1
-1
-18
-6
-42
8
51
0
0
0
0
0
-13
3
8
-13
0
0
0
0
0
5
-10
-12
0
0
0
0
-1
2
2
-6
0
0
0
1
-7
-8
16
-5
31
0
0
0
0
0
7
-5
-18
-4
67
-9
0
0
0
1
9
-31
-14
41
40
0
0
0
-33
-15
5
-15
37
-8
0
1
-4
-17
-25
62
57
-13
0
0
-2
-5
-15
39
30
-3
0
0
0
0
0
-1
-42
-71
19
3
38
0
0
1
42
1
-13
-12
-14
-74
0
0
0
0
0
0
0
0
0
0
0
1
-3
7
-8
-5
-4
0
1
-5
2
8
2
-26
9
0
0
0
0
0
7
-9
-2
22
18
0
0
0
0
-9
-36
35
21
23
-45
0
-4
3
-2
13
17
12
-120
-9
0
-7
8
1
-6
-11
12
16
0
-16
-20
8
0
-40
67
30
0
0
0
0
-8
-6
20
9
-2
-3
34
0
6
3
-5
4
-2
14
-32
47
-1
-1
-1
-25
-1
2
-18
4
12
0
5
-33
2
-9
10
23
-14
0
-7
-5
-18
-6
-17
12
10
0
0
0
0
-1
-5
58
25
27
-10
-8
0
7
-23
-54
-36
14
-6
-14
42
0
0
0
0
0
0
0
0
0
-16
-55
31
-23
20
-23
-3
2
0
13
6
9
34
9
-22
-79
0
0
0
0
-9
-20
27
-25
57
17
3
0
-1
8
5
-39
14
69
-11
-35
1
-5
-23
14
-13
-12
19
-21
-22
-11
5
8
16
20
-13
-35
-5
0
4
7
-41
29
80
-96
-5
0
0
0
0
-5
9
31
-32
-22
-13
36
0
-4
-9
59
4
-14
-10
9
27
1
-2
9
-44
32
1
-8
16
1
6
12
-3
-5
1
-4
-8
22
0
-1
-31
27
-18
57
20
-9
0
0
0
0
0
2
-24
-3
-14
-5
21
0
0
27
-21
-88
-5
43
27
-43
0
0
0
0
0
0
0
0
0
9
-9
-5
32
3
24
-24
-8
0
0
0
0
6
-11
6
-5
0
0
0
0
0
-29
11
0
19
5
-1
0
-5
5
-24
-42
9
-2
13
25
12
22
27
7
-38
8
-21
8
34
19
10
23
-10
-59
-5
-6
4
0
0
0
1
-19
-27
-25
7
0
0
0
0
0
2
-16
7
41
22
-16
0
0
1
5
-6
-34
19
2
-35
0
0
-4
1
9
9
-29
-35
44
0
0
0
17
29
-15
-14
44
0
0
0
0
-42
-10
1
-8
0
0
0
0
0
0
1
-2
8
33
-24
0
0
0
21
24
-13
-14
-3
52
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
-87
8
14
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-1
0
18
-21
-10
0
0
10
-14
7
2
-15
-1
41
0
9
10
14
35
19
16
-66
-20
0
16
4
-25
-9
44
23
-14
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
6
-14
-22
0
0
0
0
0
-8
7
24
-13
0
0
0
0
0
-1
27
7
6
0
0
0
0
-1
23
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-49
-19
-54
41
-12
-21
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-5
25
14
-4
9
-64
0
0
0
0
39
-30
-5
-23
3
-22
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-31
-9
-16
-5
4
21
0
0
0
0
10
-22
4
4
-5
-1
34
0
-3
-73
49
17
-10
49
1
-9
-20
-12
47
60
0
-30
-2
50
15
-14
3
12
-21
12
-6
48
-2
0
-43
-7
31
-10
-58
-19
30
0
0
0
0
19
-2
15
-22
-26
19
0
0
8
-1
-5
-16
-4
54
-22
0
0
0
0
0
0
0
0
0
0
-5
9
-23
-15
10
-5
9
0
0
-14
-8
21
-20
-7
4
41
0
0
0
0
-32
18
51
44
44
37
-67
0
-6
23
6
17
-9
22
4
-22
26
-6
-19
-21
-13
-24
16
18
-14
2
-31
6
4
5
40
18
13
0
-2
-12
6
0
12
30
-13
0
0
0
0
-20
3
8
-40
-12
53
-41
0
5
33
23
3
20
-87
-11
42
1
9
-6
-13
-9
7
10
16
-24
10
15
-12
-11
-16
-37
26
61
0
8
-4
-16
5
-9
-41
15
0
0
0
0
0
10
-5
-19
-14
16
5
0
5
-3
-15
-1
13
22
32
0
0
0
0
0
0
0
0
0
0
2
-5
6
32
-32
13
35
-3
0
0
0
-2
0
-5
0
-3
0
0
0
0
8
-13
-5
-39
-9
-17
58
0
8
5
-49
57
32
-41
34
27
8
5
1
24
-35
-8
47
100
-27
-1
-6
-25
-7
24
-13
-5
14
0
0
-1
-1
6
0
4
6
0
0
0
0
4
22
20
-22
-10
31
-49
0
2
0
-32
-5
-31
34
75
91
1
0
5
8
5
-7
-27
36
19
1
0
1
-16
-15
16
19
-29
0
0
-1
0
2
5
7
2
0
0
0
0
0
13
-6
-3
-45
-75
-32
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-8
8
-5
3
0
0
0
0
-4
-9
-19
-29
0
-14
12
0
0
0
-13
0
8
0
-3
0
0
0
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-13
-13
-8
4
13
-12
31
0
0
0
0
-18
-8
-36
27
22
11
-15
0
-19
-51
-18
-32
5
42
-5
-48
0
-4
10
-18
-8
18
-32
14
-116
-8
-31
-29
11
35
-1
22
6
0
-5
-14
-35
4
-5
5
45
0
0
0
0
-12
-103
7
6
-28
-4
-13
0
0
0
-19
28
-28
18
12
5
0
0
0
0
0
0
0
0
0
0
-1
-4
4
8
4
-1
-1
0
13
20
-6
6
14
13
-60
0
0
0
0
-55
-38
-30
41
1
13
-40
0
0
-2
-38
-33
25
6
3
-2
0
2
16
-29
39
-15
15
4
9
0
29
-6
-40
-16
25
6
2
0
0
16
4
-45
-1
-29
17
0
0
0
0
-12
27
10
-2
-24
-54
-5
0
-3
-14
-27
-18
18
-9
-4
3
-22
-79
-30
7
-16
-28
25
-18
13
-36
21
5
13
49
-22
-4
-45
0
-14
-1
17
-13
9
1
-38
0
0
0
0
-13
14
9
-22
36
-78
-35
0
0
-8
23
-11
9
-4
-27
-15
0
0
0
0
0
0
0
0
0
-10
-24
19
-6
-28
4
26
-27
0
0
-7
7
-13
-5
13
-2
0
0
0
0
-5
26
56
-4
8
-46
-40
0
-46
-1
69
-19
-42
21
-18
-31
-9
-31
4
9
-42
27
-32
-6
19
-31
-15
-31
-9
19
-19
22
-24
0
-13
-8
14
12
-8
-10
-29
0
0
0
0
-4
-13
6
9
26
-27
-15
0
8
26
40
-59
11
27
0
-61
8
49
-37
-19
5
5
-31
-14
34
-6
11
24
7
30
-32
-49
18
0
-5
10
-8
17
34
-21
8
0
0
0
0
0
-1
-6
5
23
-3
-2
0
0
0
3
13
-5
-12
-75
1
0
0
0
0
0
0
0
0
0
-2
-5
-13
49
12
22
6
14
0
0
1
0
0
2
-3
0
0
0
0
0
0
-31
2
42
67
-33
-18
0
3
8
-6
34
12
-1
-39
0
2
-5
-23
-3
42
5
39
-56
-7
1
-5
-11
-12
14
10
0
-5
0
0
0
-1
-1
7
-6
6
0
0
0
0
1
-9
10
-42
16
23
-31
0
0
12
-13
-29
-9
58
-12
6
0
0
0
-13
-7
20
15
22
24
0
-4
3
-2
-5
-17
9
-8
0
0
0
0
1
-4
9
-8
0
0
0
0
0
-1
-1
0
-1
9
4
0
0
0
1
2
-3
-25
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
-13
34
0
0
-1
-8
-43
8
-33
-1
13
0
0
0
-20
13
5
34
1
0
-1
1
0
1
-1
-18
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
10
0
-52
0
0
0
0
0
-4
0
1
8
0
0
0
0
2
-1
20
-4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
25
0
-42
68
54
24
14
19
49
102
5
0
0
-9
21
-26
-11
8
16
52
84
0
4
0
-31
-22
-59
37
-28
-25
7
0
18
12
0
-38
-36
-41
-29
-19
-10
0
27
29
13
0
-25
-17
-7
-28
-10
0
24
17
-6
16
0
-7
-19
-48
-11
0
19
30
-1
-3
-3
0
-4
-68
-4
0
28
-4
-20
-12
-43
-40
0
9
-5
0
35
11
-4
-19
-40
-43
12
0
-1
0
-8
26
3
2
-23
-13
39
27
-4
0
0
-2
10
-14
2
-18
28
-19
1
0
-4
0
-32
1
-31
0
2
5
-14
0
54
44
0
5
-22
-24
-39
58
-21
0
28
47
23
0
7
-28
28
-20
-36
0
35
12
14
5
0
4
-56
-23
-41
0
-30
-43
11
15
25
0
-5
54
-43
0
60
1
47
4
-32
-62
0
-41
-17
0
-13
-41
7
-1
-38
-21
-11
0
31
0
6
-20
-14
-5
12
11
15
41
6
0
0
-13
-4
-13
-2
0
15
19
-2
0
87
0
-28
-34
-39
-41
-12
-28
-23
0
-24
43
0
-14
-14
-20
-41
11
-24
0
-18
-18
11
0
12
-26
-46
-10
-32
0
-22
-11
-27
-19
0
8
-24
11
-33
0
-43
-9
-3
-16
-16
0
-11
-6
-21
0
-17
-21
-16
-36
-58
-25
0
2
-19
0
-6
-5
-13
-27
-62
-50
-53
0
-3
0
-22
19
27
-13
-10
2
2
37
-1
0
0
-65
-4
-6
-12
-18
14
-12
6
0
11
0
-6
-10
-21
-20
-19
10
-33
0
-58
4
0
-34
21
-3
-2
15
-19
0
-27
30
14
0
-17
-11
-7
14
-34
0
31
52
40
16
0
-21
-3
-24
-30
0
2
35
10
4
-1
0
-18
-19
-23
0
-49
-14
5
39
2
-7
0
5
-30
0
20
14
21
2
-14
-22
-45
0
20
0
2
-51
6
-17
-2
-28
49
69
5
0
0
-2
38
15
-18
-13
2
9
12
0
41
0
18
-20
-34
-13
35
58
-12
0
-4
-26
0
21
13
-26
-57
-14
-19
0
-64
25
-17
0
16
-14
-45
-1
-13
0
-34
-15
-38
-41
0
-9
28
23
-27
0
32
-74
-22
-36
6
0
-15
-29
-15
0
0
-16
-11
-24
-46
-6
0
-16
-15
0
-21
-22
-19
-11
-40
-29
-17
0
-5
0
4
-18
-24
-6
-15
-5
-1
3
-3
0
0
-9
-32
-6
-29
-11
26
-5
-3
0
-34
0
8
1
-20
-4
-12
-20
-13
0
-27
45
0
5
-29
-2
22
-20
-18
0
9
6
-25
0
29
9
30
-25
-20
0
-16
60
14
-6
0
-7
1
-14
-13
0
44
19
22
-72
-17
0
-22
38
-22
0
-27
-8
7
-38
2
2
0
5
0
0
-9
17
11
54
-43
-31
-47
0
-31
0
15
-19
-4
-22
-4
5
39
-7
5
0
0
-27
31
-1
18
5
-59
24
-4
0
-4
0
5
-29
-9
27
22
21
63
0
-4
5
0
-11
-5
-50
-30
0
13
0
-2
-42
22
0
-5
6
1
-9
35
0
-18
-28
-13
-19
0
17
12
-1
-49
0
6
-19
-9
-26
26
0
37
-12
-21
0
41
-10
-21
23
5
3
0
7
-4
0
-25
-9
15
35
21
-32
-11
0
0
0
10
14
-60
0
4
-35
65
-21
-12
0
0
34
24
-40
4
-21
40
-12
-32
0
13
0
55
-18
-27
-3
25
-2
-21
0
5
1
0
41
-4
-41
20
-11
31
0
10
-8
50
0
-12
-32
-7
4
53
0
-1
-6
-22
9
0
-27
-37
18
20
0
4
2
2
9
-12
0
9
-5
-25
0
-6
4
-4
21
-9
17
0
1
0
0
-6
0
-1
-9
31
-15
-5
0
0
0
50
71
68
28
21
-93
0
-12
-6
43
1
-13
0
100
0
0
52
139
92
124
17
47
0
-5
-2
15
2
5
4
-14
0
5
26
22
67
88
49
-15
0
3
-15
9
9
3
50
23
0
0
26
30
40
37
24
37
-2
-2
0
-9
-9
-17
13
38
0
-1
2
67
46
56
93
-12
0
46
-43
-7
-16
38
95
19
0
0
-40
-17
-14
19
38
-24
-3
-20
-21
-24
-34
-37
8
58
0
-61
16
-38
38
42
48
-59
0
-10
-123
-35
22
52
-4
69
0
0
-46
-49
-118
-63
28
-74
4
-36
-123
-106
-98
-68
-34
-25
0
4
45
13
38
-18
-14
99
0
27
-9
40
0
10
14
77
0
0
10
61
89
118
16
29
-1
4
8
-9
8
-5
10
7
0
-6
62
47
96
73
-41
141
0
61
-16
11
2
9
51
162
0
0
-4
30
27
10
61
5
-10
2
0
-7
-7
-13
15
3
0
-7
8
57
35
57
-8
76
0
44
-36
-16
-26
31
25
94
0
0
-4
13
8
16
45
30
8
-42
-22
-24
-44
-28
9
-15
0
-43
-41
5
13
73
13
47
0
15
-33
-22
24
38
-8
11
0
0
-52
-102
5
13
-1
-63
5
-44
-85
-95
-77
-29
50
-39
4
15
2
-20
-17
-49
-60
-21
-91
-5
0
0
0
0
0
0
0
0
28
28
-14
12
30
26
5
24
40
36
-12
-4
0
0
40
33
20
-1
3
-12
8
33
-1
9
-5
-21
-24
-30
-63
-132
-49
53
2
0
0
0
0
0
0
0
18
54
44
41
10
-18
73
-3
39
15
23
0
0
0
40
30
-57
0
7
4
6
56
9
6
6
-9
-16
6
4
43
-3
4
0
0
0
0
0
0
0
0
24
34
-8
-4
19
21
-49
-17
26
42
-2
0
0
0
47
-21
10
0
12
8
29
60
-3
15
-23
57
11
13
54
50
42
-5
0
0
0
0
0
0
0
0
-9
13
-17
0
35
14
32
0
-21
41
16
0
0
0
11
69
16
0
38
14
90
2
-9
22
41
72
20
13
55
22
0
0
0
0
0
0
0
0
0
0
-55
41
29
0
12
23
12
0
-1
32
1
0
0
0
20
31
2
0
47
23
25
-4
-1
26
0
56
73
65
84
4
1
0
0
0
0
0
0
0
0
0
6
-58
-1
0
-59
-21
4
0
-64
2
1
0
0
0
4
3
2
0
-12
4
43
0
-10
18
16
34
66
40
35
22
5
0
0
0
0
0
0
0
0
0
2
6
3
0
27
19
7
0
-36
-30
0
0
0
0
-28
58
5
0
26
-2
36
0
-19
70
127
49
36
55
17
-17
-3
0
0
0
0
0
0
0
0
0
-5
45
-45
0
-24
33
-5
0
-21
-57
2
0
0
0
-41
42
-19
0
46
0
14
0
-27
3
-7
27
21
22
-27
-23
0
0
0
0
0
0
0
0
0
0
-71
-30
7
0
-54
49
0
0
-58
18
0
0
0
0
23
42
0
0
-4
0
25
0
44
73
65
113
66
83
12
-1
2
0
0
0
0
0
0
0
0
0
21
33
3
0
40
-22
0
0
-50
-4
3
0
0
0
66
26
-4
0
-26
5
60
-2
55
60
56
93
104
133
88
25
39
0
0
0
0
0
0
0
0
0
11
-14
-12
0
33
36
4
0
-11
8
0
0
0
0
59
66
0
0
62
-5
18
0
28
76
77
54
81
38
45
79
-15
2
0
0
0
0
0
0
0
0
8
4
-8
0
-2
33
4
0
18
20
2
0
0
0
17
36
2
0
51
15
-14
-1
15
40
72
44
25
79
74
20
13
0
0
0
0
0
0
0
0
0
-18
-7
-4
0
35
1
13
0
38
15
-1
0
0
0
56
29
0
0
25
32
23
9
24
26
15
19
27
19
26
42
21
3
0
0
0
0
0
0
0
0
-6
40
4
0
-11
0
7
0
18
19
-2
0
0
0
37
44
6
0
61
6
-25
-2
12
8
-10
0
-50
-44
8
-31
-12
1
0
0
0
0
0
0
0
0
-25
-36
6
-4
32
-23
14
0
8
-19
-22
0
0
0
4
54
43
0
16
-2
-19
23
4
20
1
1
-12
-15
-60
-17
26
-33
-4
0
0
0
0
0
0
0
43
26
20
0
26
18
75
9
15
76
-7
0
0
0
34
-39
13
0
32
93
37
33
3
6
-4
-13
-21
-14
-24
-20
-23
-70
2
0
0
0
0
0
0
0
16
26
-24
-5
13
8
-54
-16
14
21
56
-2
0
0
26
21
93
0
9
1
14
63
0
10
0
-7
-16
-8
-39
-87
-110
93
-1
0
0
0
0
0
0
0
27
13
2
52
18
-4
-25
7
8
23
-33
0
0
0
29
1
-60
0
6
20
38
35
0
3
-7
-7
-14
-17
-40
-53
-101
-67
-31
0
0
0
0
0
0
0
12
-22
-1
32
10
3
-15
50
29
17
71
-46
0
0
17
-14
-70
-1
-3
-18
17
-44
1
0
-11
-13
-14
-17
-36
-23
-39
-83
0
0
0
0
0
0
0
0
3
-2
-12
-38
6
6
0
-7
2
-2
-19
-33
0
0
19
-6
-76
-8
0
-12
5
-10
2
9
-10
-10
8
-14
-1
-13
-82
-58
-6
0
0
0
0
0
0
0
13
-8
24
1
5
17
-71
-88
9
-3
30
-12
0
0
33
-14
-44
1
22
-21
24
-16
-5
5
-13
-23
-11
11
9
-38
-70
8
8
0
0
0
0
0
0
0
-3
-10
6
6
27
-32
51
-5
10
20
5
-7
0
0
23
17
10
0
17
52
-28
34
-1
23
43
13
24
75
98
13
-16
13
0
0
0
0
0
0
0
0
-12
67
-26
-4
0
2
22
-3
16
-47
-51
16
0
0
30
50
42
0
12
127
10
63
-7
16
30
43
44
55
70
-30
-1
15
0
0
0
0
0
0
0
0
19
35
-16
0
32
-6
54
-3
18
28
-26
-2
0
0
25
25
90
0
-23
90
1
43
-17
39
45
53
77
56
73
44
83
2
0
0
0
0
0
0
0
0
9
4
4
0
13
-32
76
0
13
5
-39
0
0
0
-1
32
3
0
30
-4
-15
57
-6
43
75
36
57
51
64
95
77
14
0
0
0
0
0
0
0
0
-33
84
10
0
6
39
2
0
-5
-65
-42
0
0
0
-13
17
17
0
15
40
-2
45
-14
15
-14
6
49
107
74
1
-2
0
0
0
0
0
0
0
0
0
20
1
5
0
-3
12
-5
0
-27
-23
-19
0
0
0
31
38
-37
0
-26
-5
-63
8
31
35
86
92
64
76
70
143
45
0
0
0
0
0
0
0
0
0
-38
90
7
0
7
66
8
0
1
27
26
0
0
0
70
66
-28
0
21
84
12
-36
36
41
41
44
100
21
26
42
79
45
0
0
0
0
0
0
0
0
58
4
44
0
12
49
41
0
21
40
161
6
0
0
80
62
33
0
145
-62
34
80
10
41
48
50
82
24
14
58
50
3
0
0
0
0
0
0
0
0
45
23
-15
0
25
41
-8
-4
30
46
24
0
0
0
53
83
-35
0
68
48
39
54
3
27
27
26
2
70
58
-20
83
29
0
0
0
0
0
0
0
0
1
3
-73
-1
6
30
95
-3
46
30
-19
-1
0
0
46
59
-19
0
40
60
37
91
8
8
5
9
3
-2
9
59
-64
16
-2
0
0
0
0
0
0
0
16
10
68
-40
12
2
-2
-12
2
25
-26
-21
0
0
15
15
124
0
44
42
49
40
2
5
-9
-13
-9
-12
10
-19
-3
1
-1
0
0
0
0
0
0
0
12
-24
8
-30
11
-14
-12
-37
-6
22
-49
30
0
0
10
1
46
2
-9
-23
-8
65
-1
-2
-9
-26
-19
-15
-11
-32
-15
-54
-34
0
0
0
0
0
0
0
9
-1
-22
-36
6
-22
2
-34
4
-8
-24
6
0
0
-1
-6
-25
-21
7
17
-7
-31
1
1
-8
-15
-13
-13
-2
-30
-67
-51
-31
0
0
0
0
0
0
0
4
-3
-7
-14
1
13
-4
-1
3
-13
5
-52
0
0
9
5
10
4
-2
-27
7
-10
-2
1
-21
-20
-34
-4
-30
9
-82
-11
-9
0
0
0
0
0
0
0
4
14
51
53
4
0
0
2
3
-2
38
-10
0
0
8
10
-13
0
6
-16
35
41
-2
-3
-16
-18
-17
15
-10
-59
-43
-22
-45
0
0
0
0
0
0
0
3
-25
-73
31
-11
-7
38
69
17
-7
0
-60
0
0
-2
-7
-15
-1
-14
-31
-13
-88
1
-5
-9
-15
-15
-24
-27
-5
-38
-75
-70
0
0
0
0
0
0
0
-2
-24
-29
-59
0
-12
-14
93
9
-1
0
-9
0
0
-8
-47
-71
0
-12
-54
-10
-6
1
4
-13
-9
-6
-9
29
-16
-102
-65
-8
0
0
0
0
0
0
0
4
-6
-18
-4
15
-8
-9
-70
11
6
7
-31
0
0
26
-6
-76
1
-8
-22
-3
10
-7
-11
1
-20
4
-34
-49
-26
-65
21
8
0
0
0
0
0
0
0
-21
-27
12
-2
27
-15
45
-23
6
11
16
7
0
0
28
34
-31
0
-29
-8
-33
-42
0
14
4
6
6
14
48
2
-52
-17
0
0
0
0
0
0
0
0
3
7
27
-4
17
-33
-83
-3
33
-33
-35
14
0
0
44
20
23
0
-40
38
-39
65
-7
-1
15
9
-38
28
38
0
30
6
0
0
0
0
0
0
0
0
30
46
-6
0
28
12
48
-3
37
-4
10
5
0
0
25
23
8
0
-30
79
-6
52
-21
-2
5
38
53
60
52
33
30
-1
0
0
0
0
0
0
0
0
8
59
62
0
18
17
16
0
60
-41
-19
0
0
0
-3
-3
14
0
54
12
-10
83
-10
21
35
26
42
34
50
94
102
41
0
0
0
0
0
0
0
0
13
31
38
0
65
-14
10
0
42
-10
-31
0
0
0
-25
49
49
0
4
101
8
12
-3
-24
10
7
97
50
95
-8
46
0
0
0
0
0
0
0
0
0
23
2
-22
0
75
-1
-11
0
29
-18
-14
0
0
0
3
51
-37
0
-76
1
-36
7
34
27
51
17
64
34
-38
25
-15
0
0
0
0
0
0
0
0
0
-21
55
8
0
-22
39
6
0
-24
75
80
0
0
0
43
47
-15
0
14
83
57
-57
0
13
-5
5
61
34
28
84
72
27
0
0
0
0
0
0
0
0
62
39
50
0
31
-3
35
8
28
5
38
13
0
0
32
45
-4
0
63
5
44
27
-2
20
14
19
32
-12
9
-4
47
-6
0
0
0
0
0
0
0
0
34
40
26
0
25
46
-20
-4
36
25
15
-7
0
0
55
76
-36
0
30
2
55
25
-4
22
9
-3
-1
0
22
89
-8
26
0
0
0
0
0
0
0
0
18
27
-44
5
2
33
33
6
27
6
-19
-6
0
0
37
70
46
0
-11
-15
13
66
0
1
5
-2
-11
-9
32
-17
-24
13
-37
0
0
0
0
0
0
0
21
1
37
-26
7
-32
-1
-9
10
14
22
9
0
0
5
30
103
0
-2
11
-6
-13
2
4
0
-2
3
-5
-3
-53
11
-2
-19
0
0
0
0
0
0
0
-2
2
-47
8
4
-16
1
-24
12
-5
2
40
0
0
18
-1
-8
2
-18
-60
-22
-31
-4
-7
-7
-15
-28
-14
-17
4
-32
-10
-42
0
0
0
0
0
0
0
-6
-15
-17
10
-2
-21
6
-77
14
-8
-7
20
0
0
-3
-18
-21
-21
-8
-20
-11
38
-1
-4
-7
-18
-11
-11
-2
13
-15
-30
-53
0
0
0
0
0
0
0
0
-25
-20
-86
2
-10
8
-32
6
3
0
-40
0
0
2
-6
-12
8
-13
-5
-27
34
1
-6
-19
-29
-21
-1
-21
4
-49
-24
-7
0
0
0
0
0
0
0
-5
7
-68
-24
0
3
-42
35
13
-7
-13
-31
0
0
-6
-19
-40
0
-16
-20
5
-5
4
-1
20
-17
12
57
66
14
2
-9
0
0
0
0
0
0
0
0
-8
-32
23
0
-32
10
-3
-29
1
50
-57
19
0
0
-6
34
-7
0
-12
-57
-30
-11
-4
-6
6
-6
-4
12
-36
46
-11
6
1
0
0
0
0
0
0
0
7
-30
-101
3
0
9
16
-19
9
-46
-43
-14
0
0
-3
-5
-68
1
-23
-15
-35
-88
1
7
7
6
-10
-7
-4
-41
-13
-20
-1
0
0
0
0
0
0
0
-13
-34
26
-7
10
-9
2
-30
3
25
2
-11
0
0
29
17
-8
0
9
7
-1
-6
0
6
4
11
9
-14
-13
-10
9
-1
1
0
0
0
0
0
0
0
-12
5
-24
1
-27
-22
14
0
2
43
-10
2
0
0
16
-10
15
0
-26
-20
-16
-23
4
-4
-19
19
8
-1
-24
-43
-49
-1
0
0
0
0
0
0
0
0
8
-5
-7
0
11
-13
-29
-1
5
-4
27
7
0
0
23
-47
5
0
-50
1
-13
23
3
2
5
44
-27
26
38
7
5
-1
0
0
0
0
0
0
0
0
17
95
31
0
-16
-59
-24
-1
13
-44
5
0
0
0
0
1
-2
0
-36
-20
-49
31
-3
-4
-4
-4
-11
3
8
23
2
0
0
0
0
0
0
0
0
0
-21
-1
20
0
31
16
-23
0
-9
-25
31
0
0
0
-70
-10
0
0
-23
-2
28
31
0
-5
-7
-3
-4
-59
-6
-8
1
0
0
0
0
0
0
0
0
0
-19
6
5
0
5
55
-1
0
-3
3
1
0
0
0
-33
14
2
0
23
6
32
0
-18
-14
-14
29
8
-6
3
-6
0
0
0
0
0
0
0
0
0
0
30
4
-4
0
39
43
0
0
-14
20
3
0
0
0
-81
7
0
0
0
0
25
0
17
23
-4
-5
-2
-28
-26
3
0
0
0
0
0
0
0
0
0
0
-62
-67
-3
0
5
-20
1
0
19
-8
-7
0
0
0
-19
-3
0
0
-13
-4
5
2
-4
-2
-29
-8
2
-35
-13
2
0
0
0
0
0
0
0
0
0
0
-6
14
-1
0
18
-25
-7
0
5
31
0
0
0
0
10
-17
0
0
22
-17
13
3
3
8
7
5
22
21
12
-19
5
0
0
0
0
0
0
0
0
0
32
39
42
0
9
-2
-25
-2
25
-10
-18
3
0
0
-22
-6
-3
0
21
0
50
18
-1
0
-11
-6
28
9
21
-42
-8
4
0
0
0
0
0
0
0
0
3
-1
-9
0
-12
-29
-39
-3
-12
-50
9
-1
0
0
-39
-42
-3
0
-49
-22
-17
20
0
1
-5
6
-17
-24
-1
-14
-6
0
-1
0
0
0
0
0
0
0
-26
-34
-15
-3
13
-24
20
-19
6
16
14
-17
0
0
-28
22
13
0
-19
-41
-9
-14
5
-7
6
3
-38
-1
-6
17
-16
-13
0
0
0
0
0
0
0
0
-26
-7
9
0
-5
-14
-35
-23
10
-49
5
-13
0
0
9
15
-52
0
6
-42
-21
-38
-2
-7
2
-9
-13
-5
5
25
-13
-20
-4
0
0
0
0
0
0
0
-16
-9
-16
-7
-3
4
32
-16
19
-6
-63
7
0
0
26
-1
25
-1
4
6
-51
0
3
7
4
-1
9
18
-10
-1
-10
13
0
0
0
0
0
0
0
0
23
24
23
2
3
11
5
-40
-11
11
13
50
0
0
16
49
-5
3
-44
-25
-41
-26
-13
-5
11
32
11
-6
-3
16
-13
4
0
0
0
0
0
0
0
0
-7
-43
7
5
-20
9
9
-8
20
32
-22
-2
0
0
20
-53
7
0
-14
-6
23
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
68
14
-40
14
-4
0
0
0
0
0
0
0
0
0
0
-8
-80
-12
-50
19
32
-8
0
0
2
0
0
0
0
0
0
0
-49
-68
-132
62
-55
-12
-2
0
1
0
0
0
0
0
0
0
0
26
5
-103
45
-55
4
2
0
0
0
0
0
0
0
0
0
0
14
16
-19
-1
46
-16
0
0
0
0
0
0
0
0
0
0
0
13
69
-7
-33
35
20
-1
0
0
0
0
0
0
0
0
0
0
20
-41
-23
-22
21
0
0
0
0
0
0
0
0
0
0
0
0
14
28
-45
-50
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-24
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-34
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-42
-47
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
42
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-22
-24
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
70
-121
-22
-9
-1
-1
4
0
0
0
0
0
0
0
0
0
-15
1
-55
7
13
4
0
0
0
0
0
0
0
0
0
0
0
0
8
42
-48
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
21
11
3
5
0
0
0
0
0
0
0
0
0
0
0
5
3
13
-6
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
-1
0
0
0
0
0
0
0
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
-15
9
-18
-41
-2
0
0
0
0
0
0
0
0
0
0
5
5
-17
22
-11
-25
-3
-2
0
0
0
0
0
0
0
0
0
-12
-4
7
49
1
3
0
0
0
0
0
0
0
0
0
0
0
1
-4
37
-52
-47
-1
0
0
0
0
0
0
0
0
0
0
0
5
7
20
-106
-56
3
0
0
0
0
0
0
0
0
0
0
0
0
6
15
9
84
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
25
3
50
-58
-20
-4
0
0
0
0
0
0
0
0
0
-8
-51
62
39
-36
13
30
-10
-9
0
0
0
0
0
0
0
0
3
-85
-40
-6
3
-46
55
60
-33
0
0
0
0
0
0
0
0
4
-37
31
79
40
-5
-36
-49
5
0
0
0
0
0
0
0
0
0
32
-19
-19
21
-8
0
23
2
0
0
0
0
0
0
0
0
-1
5
-13
155
93
43
-37
14
6
0
0
0
0
0
0
0
0
7
-18
50
-4
5
-49
44
16
0
0
0
0
0
0
0
0
0
-1
22
-9
-21
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
1
1
-1
1
0
0
0
0
0
0
0
0
0
0
-4
4
1
-3
2
4
0
0
0
0
0
0
0
0
0
0
-9
0
-14
9
0
0
0
-2
-3
-7
0
0
0
0
0
0
0
0
-32
9
-20
20
-2
-1
-3
-3
0
0
0
0
0
0
0
0
-9
13
21
3
1
1
-5
-3
-3
-7
0
0
0
0
0
0
0
0
-31
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-3
90
-11
-45
-53
-14
0
-13
0
0
0
0
0
0
0
0
13
-3
-117
-59
-1
-39
-5
-8
-16
-13
0
0
0
0
0
0
-1
-19
-14
-61
54
45
-35
16
-28
-40
-57
0
0
0
0
0
0
0
23
-19
-26
-68
52
26
58
41
21
-42
1
0
0
0
0
0
0
12
3
-23
41
62
63
39
66
27
3
0
0
0
0
0
0
0
8
-43
-49
40
24
43
57
22
97
0
0
0
0
0
0
0
0
-7
-17
-23
39
65
28
18
28
32
0
0
0
0
0
0
0
0
0
0
1
-16
-7
-9
25
0
3
0
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
82
17
-8
-1
-56
0
0
-31
-18
0
0
0
0
0
0
0
112
40
51
-27
-30
-13
11
65
47
-20
-4
0
1
0
0
0
0
226
33
15
9
-38
-25
0
12
39
5
-1
0
0
0
0
0
0
179
165
23
-16
-38
-17
-24
-40
7
-14
-8
0
0
0
0
0
0
74
120
65
2
-51
-15
-6
-35
37
-34
-1
0
0
0
0
0
0
44
129
77
-28
-23
-18
-19
-5
89
-19
0
0
0
0
0
0
0
113
25
50
20
-43
-6
21
-67
48
8
0
0
0
0
0
0
0
40
50
8
-45
11
-37
-36
-33
-75
-8
0
0
0
0
0
0
0
0
10
-17
-130
-75
43
-20
7
0
0
0
0
0
0
0
0
0
0
2
13
13
16
-56
-76
0
-8
0
0
0
0
0
0
0
0
1
-31
-37
-51
-131
-41
117
53
-3
1
0
0
0
0
0
0
0
0
6
-59
-76
27
-28
34
-81
28
-1
1
0
0
0
0
0
0
0
-30
-41
59
-10
66
5
25
-6
1
0
0
0
0
0
0
0
1
8
-32
45
-51
22
65
55
49
5
0
0
0
0
0
0
0
0
-4
12
-8
8
-14
43
25
-21
0
0
0
0
0
0
0
0
0
0
46
2
-3
-24
121
22
0
0
0
0
0
0
0
0
0
23
2
-3
24
19
40
45
138
22
0
0
0
0
0
0
0
0
0
0
0
18
-4
-42
26
6
0
0
0
0
0
0
0
0
0
0
-25
-101
19
-32
-25
55
0
-15
-1
-3
0
1
0
0
0
0
0
33
-36
-61
-28
21
45
17
2
-46
-20
6
0
0
0
0
0
0
30
-105
3
-6
-31
20
-124
-81
-33
-1
0
0
0
0
0
0
0
-46
-65
77
6
71
90
-47
-124
31
3
-2
0
0
0
0
0
0
-25
50
49
15
30
20
16
-61
-8
0
0
0
0
0
0
0
0
0
8
-22
49
67
68
78
44
-50
12
0
0
0
0
0
0
0
2
41
2
13
-23
119
160
74
47
29
0
0
0
0
0
0
0
3
49
39
46
7
33
130
56
-8
2
0
0
0
0
0
0
0
0
0
0
0
21
-4
0
0
0
0
0
0
0
0
0
-48
70
42
-221
-44
5
-3
11
0
3
10
0
0
0
0
0
0
92
179
16
-96
-52
4
0
59
31
34
7
0
0
0
0
0
0
54
32
-78
39
-2
-28
21
36
44
-12
25
0
0
0
0
0
0
-5
-32
-170
-23
-46
0
3
59
18
57
0
9
0
0
0
0
0
7
-13
-18
-13
59
27
26
0
15
61
-1
-1
0
0
0
0
0
1
-115
-2
36
61
47
34
43
65
-97
1
0
0
0
0
0
0
17
13
-41
-97
58
122
48
8
53
5
-2
0
0
0
0
0
0
-8
3
-1
-23
13
60
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-71
84
-8
-85
23
-32
-22
0
19
0
0
0
0
0
0
0
141
94
-2
-68
26
-28
-10
11
41
-12
0
0
0
0
0
0
0
65
37
-25
8
-4
-30
24
2
24
-8
0
0
0
0
0
0
0
8
-49
28
98
-35
-45
-9
27
63
-10
0
0
0
0
0
0
0
18
0
8
8
-8
-10
61
48
17
-29
-1
0
0
0
0
0
0
2
-25
-80
1
33
7
-30
72
24
25
-29
0
0
0
0
0
0
7
-49
44
-66
14
-23
22
57
-21
30
0
0
0
0
0
0
0
0
2
5
-71
7
104
111
23
-61
1
0
0
0
0
0
0
0
0
0
0
0
29
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
13
54
41
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
67
9
-3
1
0
0
0
0
0
0
0
0
0
-2
-42
45
102
33
-19
-23
0
0
0
0
0
0
0
0
-4
0
0
6
-38
18
131
20
-28
0
0
0
0
0
0
0
0
9
1
7
21
35
3
103
-131
-172
0
0
0
0
0
0
0
0
3
-3
0
94
5
20
94
2
-52
-4
0
0
0
0
0
0
0
14
-5
-1
-50
41
0
80
18
-116
0
0
0
0
0
0
0
0
0
0
-16
-9
42
-1
-112
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
17
-53
0
0
4
12
0
0
0
0
0
0
0
0
0
0
0
0
-9
50
58
2
31
6
0
0
0
0
0
0
0
0
0
0
27
189
53
87
123
-33
2
0
0
0
0
0
0
0
0
0
5
90
-15
33
-1
61
5
-6
0
0
0
0
0
0
0
0
0
0
-8
52
80
33
-4
-3
1
0
0
0
0
0
0
0
0
0
0
58
28
21
37
93
-30
0
0
0
0
0
0
0
0
0
0
0
1
-10
62
14
58
13
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
28
2
0
0
0
0
0
0
0
0
0
0
0
1
13
-31
29
-66
13
0
0
0
0
0
0
0
0
0
0
0
-4
18
122
60
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
65
9
-57
-4
0
0
0
0
0
0
0
0
0
0
0
0
35
31
32
9
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-32
102
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
-11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
13
43
-20
-5
-9
2
0
0
0
0
0
0
0
0
0
0
0
1
75
-3
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
6
-5
117
-47
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
37
-44
6
0
0
0
0
0
0
0
0
0
0
0
0
7
22
-53
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
22
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
86
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
85
-42
107
49
-4
1
0
0
0
0
0
0
0
0
0
0
0
75
23
89
4
28
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
14
13
7
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-26
107
48
22
0
0
0
0
0
0
0
0
0
0
0
0
16
41
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
41
38
22
88
41
0
0
0
0
0
0
0
0
0
0
0
8
-16
-55
29
53
45
0
0
0
0
1
0
0
0
0
0
0
-5
-4
12
25
7
142
-54
37
5
0
1
0
0
0
0
0
0
-7
-62
14
38
139
163
64
63
18
7
-1
0
0
0
0
0
0
-10
-46
-8
-131
41
83
163
-42
90
6
0
0
0
0
0
0
0
1
33
47
60
79
8
61
66
42
-9
5
0
0
0
0
0
0
-1
7
-21
70
46
75
1
-13
-76
6
0
0
0
0
0
0
0
0
14
-23
15
70
35
55
-20
-52
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-10
-8
8
0
2
-3
0
0
0
0
0
0
0
0
3
-4
50
-9
37
5
34
7
2
1
0
0
0
0
0
0
0
1
-33
-31
13
-16
0
28
6
14
0
0
0
0
0
0
0
-2
7
-7
-1
-3
-19
-23
58
-66
-1
0
0
0
0
0
0
0
0
13
-34
-12
25
43
26
-3
-25
0
0
0
0
0
0
0
0
0
-1
0
-5
7
0
12
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
33
-26
-46
13
0
0
0
0
0
0
0
0
0
0
0
0
26
5
6
12
19
0
0
0
0
0
0
0
0
0
0
0
0
15
21
-38
-97
49
1
0
0
0
0
0
0
0
0
0
0
0
8
25
0
-25
-19
-4
0
0
0
0
0
0
0
0
0
0
0
-49
12
-9
51
-23
24
-2
0
0
0
0
0
0
0
0
0
0
22
-26
-6
42
-13
8
-22
0
0
-1
0
0
0
0
0
0
0
-2
-15
-25
68
61
33
0
5
0
0
0
0
0
0
0
0
0
0
-14
-18
71
3
-3
4
-3
0
0
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
-8
-2
47
56
121
-13
0
0
0
0
0
0
0
0
0
0
-13
-11
-5
20
37
-2
52
0
0
0
5
-2
0
0
0
0
0
8
-15
-37
1
33
76
27
96
6
4
1
0
0
0
0
0
0
-3
-15
-40
10
24
97
37
-20
-14
8
4
0
0
0
0
0
0
5
-31
-31
-32
26
50
19
21
46
10
-6
0
0
0
0
0
0
10
-37
-49
-56
26
-18
123
9
34
5
-8
0
0
0
0
0
0
-5
-52
-75
-44
1
8
-25
107
-18
7
0
0
0
0
0
0
0
0
-74
-19
37
13
-5
-5
2
0
0
-1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
-88
11
22
12
2
63
0
0
0
0
0
0
0
0
0
0
-107
-67
-10
-10
-8
11
18
15
-44
-7
-5
0
0
0
0
0
0
-69
-132
-27
-11
3
10
31
38
-21
-29
3
1
0
0
0
0
0
-55
-64
-23
2
-3
26
40
46
-5
-5
0
-5
0
0
0
0
0
41
-66
-24
4
5
17
59
48
-34
-22
0
0
0
0
0
0
0
-45
-29
13
8
0
21
56
37
124
35
-3
0
1
0
0
0
0
-42
3
-37
0
24
14
40
95
22
8
-3
-2
0
0
0
0
0
29
-145
-18
-10
-14
18
65
-53
9
-2
0
0
0
0
0
0
0
0
0
-41
-48
29
-2
-20
0
0
0
0
0
0
0
0
0
0
-58
128
174
155
177
-24
-36
0
0
0
0
0
0
0
0
0
0
-6
47
75
60
-6
41
21
-116
-3
0
0
0
0
0
0
0
0
-3
46
92
34
-3
22
-36
-24
-1
0
0
0
0
0
0
0
0
-6
23
58
59
3
30
51
-17
-5
0
0
0
0
0
0
0
0
19
-15
27
89
61
-66
-31
68
-7
0
0
0
0
0
0
0
0
-40
18
-31
-72
-6
93
41
-5
-1
0
0
0
0
0
0
0
0
44
-89
-18
-87
-29
7
84
-2
13
-5
0
0
0
0
0
0
0
-72
-15
-24
12
91
18
41
-5
0
0
0
0
0
0
0
0
0
-73
-35
-21
13
-33
37
-2
0
0
0
0
0
0
0
0
0
0
-42
10
43
36
115
26
-120
0
0
0
0
0
0
0
0
0
0
-15
2
11
18
4
-7
0
28
4
0
0
0
0
0
0
0
0
-7
3
21
21
6
-35
64
-19
-4
0
0
0
0
0
0
0
0
1
-9
25
33
49
32
76
87
8
0
0
0
0
0
0
0
0
9
3
17
4
-13
25
91
49
2
0
0
0
0
0
0
0
0
8
-3
40
-8
25
56
41
23
5
0
0
0
0
0
0
0
0
-8
-10
-13
-2
20
33
-6
-35
-7
0
0
0
0
0
0
0
0
-7
-26
-53
-91
-14
4
-32
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-34
-2
-7
53
65
-1
0
0
3
2
0
0
0
0
0
0
-26
-30
-4
5
32
47
-66
0
66
0
1
0
0
0
0
0
0
-28
-52
-14
19
24
24
75
151
76
-8
6
0
0
0
0
0
0
-5
-35
-19
9
43
62
91
-18
3
-9
0
-3
0
0
0
0
0
-40
-29
-35
3
33
61
103
29
107
72
-9
0
0
0
0
0
0
3
-27
-29
0
-8
66
61
175
-8
-41
3
0
0
0
0
0
0
-78
-58
-6
-26
-27
74
49
126
19
-2
0
0
0
0
0
0
0
0
-22
-46
-14
66
92
1
2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-39
-2
50
15
-47
15
71
0
0
0
0
0
0
0
0
0
-24
-20
32
-7
-11
-50
40
0
14
0
1
0
0
0
0
0
0
-15
14
33
48
47
53
-1
27
92
22
1
0
0
0
0
0
0
86
-1
28
9
43
13
146
-46
75
30
0
0
0
0
0
0
0
25
-51
11
20
43
70
109
78
37
89
0
0
0
0
0
0
0
48
-41
-4
1
15
77
5
59
53
15
0
0
0
0
0
0
0
-39
-109
-2
-21
-20
9
21
-27
189
31
0
0
0
0
0
0
0
27
-9
-17
41
17
-33
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
-5
75
114
32
0
0
0
0
0
0
0
0
0
0
0
17
19
-51
66
15
29
0
0
0
1
0
0
0
0
0
0
0
-16
36
25
8
-46
-14
-1
-1
-1
2
0
0
0
0
0
0
0
-3
17
-17
-17
-59
-16
8
0
-24
-7
0
0
0
0
0
0
0
-1
56
50
-21
53
-24
37
-3
-7
10
-1
0
0
0
0
0
0
-3
-22
-10
-5
-25
-2
-7
0
-16
-30
0
0
0
0
0
0
0
-1
-8
-72
-49
-35
-25
-14
-1
-9
-8
3
0
0
0
0
0
0
1
7
-1
3
0
-4
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
77
-13
-93
-37
-2
-1
0
0
0
0
0
0
0
0
0
0
-26
-75
-14
3
20
-57
0
0
0
0
0
0
0
0
0
0
0
-31
-8
0
29
10
20
2
0
0
0
0
0
0
0
0
0
0
59
48
-28
39
7
4
0
0
0
0
0
0
0
0
0
0
0
48
-10
-22
47
-46
0
0
0
0
0
0
0
0
0
0
0
0
35
-31
-18
-45
-59
7
0
0
0
0
0
0
0
0
0
0
0
-32
-27
97
-129
-64
0
0
0
0
0
0
0
0
0
0
0
0
-66
-48
28
24
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-20
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
2
4
0
0
0
0
0
0
0
0
0
0
0
0
1
57
29
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
-13
1
1
0
0
0
0
0
0
0
0
0
0
0
0
14
47
27
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-33
45
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
11
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
76
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
53
28
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
26
57
-24
0
-1
-1
0
0
0
0
0
0
0
0
0
-6
53
-7
37
9
1
0
0
0
0
0
0
0
0
0
0
0
-23
38
94
28
-1
-5
0
0
0
0
0
0
0
0
0
0
0
4
52
28
116
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
-77
-75
27
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
9
38
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
49
-52
-5
0
-2
0
0
0
0
0
0
0
0
0
0
-1
96
0
16
-24
7
8
0
0
0
0
0
0
0
0
0
0
-4
-11
31
42
-25
-4
0
0
0
0
0
0
0
0
0
0
0
-2
25
39
52
22
-8
0
0
0
0
0
0
0
0
0
0
0
1
46
59
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-159
58
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
28
17
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
-50
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
35
-28
55
58
-38
23
0
0
0
0
0
0
0
0
0
0
-20
-120
-115
-4
-39
-51
-74
-43
-5
0
0
0
0
0
0
0
0
6
58
-62
8
-9
6
-21
12
90
1
0
0
0
0
0
0
0
-9
-23
-55
77
3
42
-42
-8
3
4
0
0
0
0
0
0
0
23
61
30
-1
3
-19
-17
0
-1
0
0
0
0
0
0
0
0
-13
27
23
35
-27
-16
1
0
1
0
0
0
0
0
0
0
0
-34
9
-50
15
-8
-1
-7
0
2
1
0
0
0
0
0
0
0
-41
158
-20
12
-4
0
0
0
-6
0
0
0
0
0
0
0
0
-41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
29
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
44
-10
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
-39
3
-8
-19
0
-2
0
5
0
0
0
0
0
0
0
0
1
1
-13
-13
1
-4
4
0
0
0
0
0
0
0
0
0
0
-23
2
-8
23
4
-8
0
0
0
0
0
0
0
0
0
0
0
-13
-41
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-67
0
79
102
-13
-20
0
-46
37
8
1
0
0
0
0
18
76
31
22
25
2
70
-9
39
50
10
7
0
0
0
0
0
8
19
28
89
71
54
9
22
-6
-18
-12
-33
-1
0
0
0
0
1
32
48
65
9
97
27
10
15
38
52
27
0
0
0
0
0
1
59
82
4
115
49
170
70
66
22
12
0
0
0
0
0
0
3
-8
42
35
82
-45
59
6
140
-40
0
0
0
0
0
0
0
7
-20
-8
31
27
2
2
0
20
8
-5
0
0
0
0
0
0
0
-8
1
-12
0
-4
-1
0
-4
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
44
127
28
24
-2
-40
10
0
-42
-2
2
0
0
0
0
0
0
120
1
62
29
11
-37
-32
-27
-93
-12
-7
0
0
0
0
0
0
61
18
72
14
26
5
89
-166
-48
-50
8
0
0
0
0
0
0
8
86
93
41
-1
4
23
-25
-87
-97
9
-1
0
0
0
0
0
92
96
78
39
14
34
72
-68
-73
4
0
0
1
0
0
0
0
115
11
65
23
7
30
21
-21
-222
-25
5
0
0
0
0
0
0
-113
16
55
21
18
-10
-31
26
-20
0
0
0
0
0
0
0
0
74
5
26
54
-13
-2
-77
-5
8
1
0
-1
0
0
0
0
0
-9
2
27
3
33
-24
-3
-9
5
2
0
0
0
0
0
0
0
-13
-37
30
37
1
-57
29
0
29
-17
2
0
0
0
0
0
0
24
24
25
-25
0
-5
-6
-14
-49
24
33
-2
0
0
0
0
0
10
-5
26
-53
117
-22
24
-32
17
-25
9
1
3
0
0
0
0
1
34
-4
133
30
23
-6
25
48
-16
-9
0
0
0
0
0
0
0
4
-13
101
93
74
8
11
29
-33
4
0
0
0
0
0
0
0
0
-41
59
24
-24
-19
-33
81
7
16
0
0
0
0
0
0
0
15
-60
71
8
-8
-23
-27
19
41
-3
2
-1
0
0
0
0
0
0
1
-16
52
-55
-10
-3
-5
-31
16
3
-1
0
0
0
0
0
0
8
-5
24
-4
32
-38
21
-11
-8
0
0
0
0
0
0
0
1
24
50
13
22
-3
0
37
-8
2
0
1
0
0
0
0
0
4
5
-14
9
10
-10
32
13
14
24
4
-1
2
0
0
0
0
6
66
71
-46
-14
-25
-38
-33
-18
-7
1
0
0
0
0
0
0
-1
-25
-55
43
66
-9
50
76
-2
12
0
0
0
0
0
0
0
6
54
72
32
14
-37
172
65
-5
-1
1
0
0
0
0
0
0
3
93
20
40
71
-20
29
78
-5
16
0
0
0
0
0
0
0
0
-32
118
79
84
3
68
44
2
8
0
0
0
0
0
0
0
0
2
32
47
9
-5
64
44
26
1
0
0
0
0
0
0
0
0
0
0
0
14
2
0
0
0
0
0
0
0
0
0
7
-49
-47
19
-148
3
21
30
0
92
8
0
0
0
0
0
0
41
8
62
5
-6
19
35
43
46
-96
16
24
0
0
0
0
0
48
-46
133
21
30
-53
8
-62
36
115
17
-2
1
0
0
0
0
75
-30
38
81
-10
4
4
-43
-37
-75
-34
-1
0
0
0
0
0
25
-32
-90
25
64
76
74
103
-49
33
8
0
0
0
0
0
0
-25
44
29
17
110
33
22
13
-29
45
25
0
0
0
0
0
0
-1
-56
-85
129
58
47
36
-12
8
-23
0
0
0
0
0
0
0
0
31
-20
-85
19
-44
1
-3
3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
95
-52
3
39
-2
-42
4
0
-31
-9
0
0
0
0
0
0
30
24
119
50
85
-7
94
-92
73
-7
15
5
0
0
0
0
0
13
-25
30
26
41
-23
30
-14
22
71
4
-1
0
0
0
0
0
8
-73
73
82
128
-9
-31
-30
51
-13
20
0
0
0
0
0
0
-15
-67
52
28
58
11
2
50
77
93
3
0
0
0
0
0
0
-37
91
-59
70
26
73
102
-18
-25
75
1
-1
0
0
0
0
0
-7
34
30
11
103
58
60
-19
-8
-1
0
0
0
0
0
0
0
0
9
8
-46
0
-37
-31
20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
0
5
0
0
-2
-4
0
6
1
0
2
0
0
0
0
0
0
0
3
4
6
0
17
1
24
-1
-63
-9
0
0
0
0
0
0
0
0
1
3
13
27
-9
-42
1
-12
-5
-1
0
0
0
0
0
0
2
24
0
10
19
55
-74
0
0
0
0
0
0
0
0
0
0
1
14
0
20
-42
-19
11
0
-3
0
0
0
0
0
0
0
0
0
4
3
4
76
-9
-15
0
-5
0
0
0
0
0
0
0
0
0
1
-3
0
-6
8
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
24
-7
-2
0
0
0
0
0
0
0
0
0
0
-2
37
67
34
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
47
54
125
34
2
1
0
0
0
0
0
0
0
0
0
-1
8
139
178
91
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-27
31
70
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
-16
-55
51
-115
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
19
48
29
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-49
-1
-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
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
39
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
110
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
54
24
2
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-56
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
20
57
76
-22
0
0
0
0
0
0
0
0
0
0
0
0
6
5
100
76
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-9
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
78
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
22
37
22
-1
0
0
0
0
0
0
0
0
0
0
0
-3
4
35
18
-8
5
-1
0
0
0
0
0
0
0
0
0
-2
8
7
0
61
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-1
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
9
-32
103
10
-16
0
0
0
0
0
0
0
0
0
0
0
-8
-10
-3
-43
20
8
7
0
0
0
3
0
0
0
0
0
0
5
-52
-17
-33
18
44
23
1
25
15
-9
0
0
0
0
0
0
0
49
-1
-36
-73
-24
-57
19
29
41
-14
0
0
0
0
0
0
1
30
8
-53
-63
-87
54
8
33
-23
17
2
0
0
0
0
0
0
65
2
45
90
-26
33
25
26
16
-12
0
0
0
0
0
0
0
3
-21
-21
-8
5
2
0
-12
-11
3
0
0
0
0
0
0
0
0
47
-2
13
-3
0
8
1
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-4
0
0
-1
-6
7
-4
2
0
0
0
0
0
0
-3
-13
-18
16
17
0
0
20
33
0
0
0
0
0
0
0
0
-2
13
0
-6
-4
0
5
-9
31
-4
0
0
0
0
0
0
0
-1
8
-1
-10
12
-8
1
-54
-45
8
0
0
0
0
0
0
0
7
13
7
-4
1
-1
32
31
7
54
1
0
0
0
0
0
0
-1
0
0
0
0
0
-7
27
10
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-5
0
0
0
0
0
0
0
-10
-5
-2
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
25
3
-9
18
29
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-16
-19
-25
0
0
0
0
0
0
0
0
0
0
0
0
4
2
1
14
5
2
0
0
0
0
0
0
0
0
0
0
0
-6
15
-1
-37
30
-4
-1
0
0
0
0
0
0
0
0
0
0
-16
11
-4
-3
7
27
-1
0
0
0
0
0
0
0
0
0
0
39
-5
17
-57
0
2
7
0
0
0
0
0
0
0
0
0
0
49
-2
-38
-4
-46
0
1
0
0
0
0
0
0
0
0
0
0
0
9
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
-4
5
-24
-57
1
0
0
0
1
1
0
0
0
0
0
5
-7
-15
1
63
-48
-1
0
0
69
3
0
0
0
0
0
0
-25
-2
-15
2
0
-20
41
-5
80
14
17
1
0
0
0
0
0
-12
0
-2
-3
3
-40
3
-14
44
53
0
-2
0
0
0
0
0
-10
5
2
3
-19
-10
41
-13
25
48
0
0
0
0
0
0
0
12
-16
2
-4
-82
-66
73
-2
-19
-3
0
0
0
0
0
0
0
-107
0
14
7
-36
1
17
-2
-6
-40
-2
0
0
0
0
0
0
-5
19
-19
-50
-9
0
0
0
-1
42
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-35
3
11
2
-17
-81
0
0
0
-1
0
0
0
0
0
0
15
27
-19
13
1
-26
75
-9
2
0
-1
0
0
0
0
0
0
-91
-12
5
7
8
6
-23
15
48
8
-4
0
0
0
0
0
0
19
-38
-6
7
13
-26
61
13
67
1
0
0
0
0
0
0
0
-44
12
-12
18
1
11
23
-43
-9
9
2
0
0
0
0
0
0
75
-45
-6
12
8
-13
38
-60
-22
-5
-1
0
0
0
0
0
0
19
4
-20
1
6
17
101
-19
-55
-6
0
0
0
0
0
0
0
26
-31
-1
0
15
-5
-9
25
6
-1
0
0
0
0
0
0
0
0
74
-2
39
28
14
3
3
0
0
0
0
0
0
0
0
0
-9
4
-11
-11
-101
-22
-12
0
0
0
0
0
0
0
0
0
0
38
4
15
24
-26
60
-8
0
0
0
0
0
0
0
0
0
0
-9
-8
-17
85
-30
65
-16
-3
5
0
0
0
0
0
0
0
0
-10
3
-26
-43
5
25
22
0
0
0
0
0
0
0
0
0
0
2
-12
-49
12
-47
21
-6
0
0
0
0
0
0
0
0
0
0
2
-17
-18
42
43
50
22
0
0
0
0
0
0
0
0
0
0
21
17
35
-26
-26
-42
-2
0
0
0
0
0
0
0
0
0
0
-14
2
0
3
-48
-8
16
-2
0
0
0
0
0
0
0
0
0
9
4
21
13
38
-10
0
-1
0
0
0
0
0
0
0
0
0
30
1
23
60
58
-12
8
3
0
0
0
0
0
0
0
0
0
-12
-8
19
41
19
88
0
-2
2
0
0
0
0
0
0
0
0
-12
-7
13
27
93
-13
-51
-6
0
0
0
0
0
0
0
0
0
-15
3
32
44
44
33
51
2
-2
0
0
0
0
0
0
0
0
35
-13
46
-2
-52
50
-13
0
0
0
0
0
0
0
0
0
0
-4
0
-11
-15
-20
65
13
-8
0
0
0
0
0
0
0
0
0
-26
-3
-35
-27
-37
64
-2
-10
-2
0
0
0
0
0
0
0
0
9
33
-10
-7
20
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-3
-9
-8
27
37
-91
0
0
80
1
-1
0
0
0
0
0
-41
6
-5
7
8
-30
46
0
-1
0
25
2
0
0
0
0
0
-55
0
-6
6
-4
30
65
39
51
31
29
-1
0
0
0
0
0
-19
0
7
11
8
35
-13
-31
52
-63
8
-1
0
0
0
0
0
-32
2
8
11
6
-60
56
-10
102
-13
0
0
0
0
0
0
0
-29
2
-11
18
-7
-72
51
13
31
-2
7
0
0
0
0
0
0
-111
-16
-47
18
-39
-3
10
-8
-14
-5
0
0
0
0
0
0
0
-2
-42
-56
75
-43
-12
-2
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-2
15
3
-19
-30
-75
0
0
18
1
0
0
0
0
0
0
-50
23
11
-3
4
5
-8
0
0
0
-5
0
0
0
0
0
0
29
27
15
31
15
-7
8
8
-8
32
-9
2
0
0
0
0
0
40
9
3
42
12
-7
3
0
43
34
0
0
0
0
0
0
0
-4
17
-5
24
-26
-31
80
0
32
87
0
0
0
0
0
0
0
-1
40
3
-33
-2
-5
-32
0
16
-22
0
0
0
0
0
0
0
-10
-32
17
45
31
-19
14
-8
-4
-5
0
0
0
0
0
0
0
2
35
82
4
30
50
3
-2
-8
-4
0
0
0
0
0
0
0
0
8
1
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-35
-12
14
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-34
-41
-6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-68
-110
3
-12
-2
0
0
0
2
0
0
0
0
0
0
0
0
16
-27
19
74
-3
0
0
2
-5
0
0
0
0
0
0
0
-1
22
48
8
9
1
0
-1
4
2
0
0
0
0
0
0
0
-14
20
-7
-1
-29
1
-1
0
41
10
0
0
0
0
0
0
0
-1
-28
-49
0
-17
-2
0
-2
7
7
1
0
0
0
0
0
0
0
-4
-30
0
-3
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
-2
0
1
-2
2
21
25
1
0
0
0
0
0
0
-5
15
8
-8
6
2
0
2
-1
5
0
0
0
0
0
0
0
-8
-4
-25
26
3
0
2
-1
0
0
0
0
0
0
0
0
0
23
19
-22
31
-17
2
0
0
0
0
0
0
0
0
0
0
0
7
40
4
41
-18
1
0
0
0
0
0
0
0
0
0
0
0
-15
-49
51
77
39
-2
0
0
0
0
0
0
0
0
0
0
0
-49
-17
47
5
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-59
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
7
22
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-34
30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-17
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
-5
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-6
-50
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
3
7
44
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-27
-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
2
0
0
0
10
0
0
0
0
0
0
0
0
-2
-2
-8
2
-1
3
-4
8
-3
0
0
0
0
0
0
0
0
1
1
-1
19
9
-50
-7
-24
-7
0
0
0
0
0
0
0
-3
25
17
-30
0
31
-77
-4
-8
1
0
0
0
0
0
0
0
10
14
-18
-22
-32
-20
10
5
6
1
0
0
0
0
0
0
0
18
23
-70
-58
-30
41
30
2
-4
-1
0
0
0
0
0
0
0
-7
-7
44
67
29
28
-22
-3
5
-1
0
0
0
0
0
0
0
0
7
-8
-13
-7
1
0
3
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
-3
4
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
-22
-5
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
24
2
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
-52
0
88
-18
1
-1
2
0
0
0
0
0
0
0
4
7
-12
-58
22
32
0
8
0
1
-1
0
0
0
0
2
0
21
8
9
-49
-24
-56
0
14
0
-6
0
0
0
0
5
1
-17
9
14
42
-16
-69
-94
-8
8
0
0
0
0
0
0
-1
-32
6
-39
45
-26
26
20
-147
8
0
0
0
0
0
0
0
-1
3
3
25
68
1
73
78
108
6
0
0
0
0
0
0
0
0
5
0
30
-46
-31
66
10
-41
0
0
0
0
0
0
0
0
0
0
2
10
-7
-8
13
0
0
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
-1
-8
-55
23
-63
45
0
4
-1
-8
-12
5
0
0
0
0
0
39
18
-65
-37
-13
-53
106
-45
-42
41
-6
3
1
0
0
0
12
137
36
-11
11
-30
-62
22
-51
-4
-13
-8
-2
0
0
0
0
31
113
-75
-34
-5
-8
-36
-20
81
15
-9
-47
5
0
0
0
0
4
41
13
60
-17
27
15
-84
29
27
25
0
0
0
0
0
0
65
44
143
-30
-48
-54
14
-63
20
-7
-2
1
13
0
0
0
0
6
30
46
98
44
23
56
8
-51
-44
16
9
-1
0
0
0
0
-8
72
-28
67
45
33
47
12
46
-8
-21
2
0
0
0
0
0
0
-2
-12
48
31
62
44
7
37
-2
-5
0
-2
0
0
0
0
0
0
0
1
0
13
-1
0
13
-2
0
0
0
0
0
0
0
0
0
3
-6
20
0
20
24
-22
14
0
1
0
0
0
0
0
0
0
-3
0
-34
57
37
54
-17
-3
-1
0
0
0
0
0
0
0
-1
-8
2
-42
-13
-20
-24
5
4
-1
0
0
0
0
0
0
0
0
24
33
42
18
82
41
19
1
-4
0
0
0
0
0
0
0
0
-2
39
10
47
2
-9
29
0
0
0
0
0
0
0
0
0
0
0
56
3
48
5
119
-7
0
0
0
0
0
0
0
0
0
1
0
-13
-19
-8
35
-60
-2
0
0
0
0
0
0
0
0
1
0
0
12
5
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-13
-33
-44
0
-32
17
14
2
0
0
0
0
0
0
-3
0
47
-7
26
-35
-29
-76
-24
19
8
-7
4
0
0
0
0
0
-7
50
3
31
9
46
11
-12
0
0
0
0
0
0
0
0
0
9
-42
-25
68
30
65
90
14
5
0
0
0
0
0
0
0
-2
20
-155
73
156
50
61
13
-33
15
0
0
0
0
0
0
0
-1
-13
6
12
81
-37
-13
30
-10
-8
0
0
0
0
0
0
0
0
1
-22
90
32
88
42
76
-3
-2
0
0
0
0
0
0
0
0
0
-50
15
37
-10
-4
16
9
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-41
29
-1
0
-31
19
-6
0
0
0
0
0
0
0
0
0
0
-14
74
45
-38
41
-37
2
-1
0
4
0
0
-2
-3
4
32
39
22
19
-3
15
18
50
4
-3
0
0
0
0
3
-2
10
20
-33
-7
16
20
19
-18
-15
2
4
0
0
0
0
-1
22
-25
21
-7
7
-4
12
94
5
-1
0
0
0
0
0
0
0
-5
27
70
45
31
6
65
-60
58
0
-1
0
0
0
0
0
0
0
-8
27
-1
6
14
-39
14
-4
-3
0
0
0
0
0
0
0
1
8
3
44
15
92
5
46
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-5
-13
5
0
19
-3
0
0
0
0
0
0
0
0
0
-1
19
-21
-3
46
0
-10
-9
0
0
0
2
0
0
-1
1
0
-4
25
7
-75
-68
-109
5
-3
0
0
0
0
0
0
0
-2
-13
-3
-48
60
39
91
148
4
-8
0
0
0
0
0
0
0
2
23
31
31
111
41
-18
-5
77
-1
0
0
0
0
0
0
0
-35
15
84
-13
167
-55
59
45
17
0
0
0
0
0
0
0
3
-2
-7
2
48
10
31
-33
-18
-23
0
0
0
0
0
0
0
0
-2
4
58
10
25
-24
130
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
34
-5
0
0
0
0
0
0
0
0
0
8
0
2
1
-5
5
-7
-39
0
0
0
0
0
0
0
0
-3
-9
-4
0
-4
-4
1
9
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
6
9
-31
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-5
4
-4
0
0
0
0
0
0
0
0
1
69
43
22
1
32
-10
24
-1
0
0
0
0
0
0
0
0
0
-5
72
22
69
-2
-9
0
-11
1
0
0
0
0
0
0
0
5
1
120
63
-84
-31
-6
-3
0
-1
0
0
0
0
0
0
0
-7
58
38
78
0
-110
3
0
0
0
0
0
0
0
0
0
0
-3
-93
59
-53
65
-87
-4
-2
0
0
0
0
0
0
0
0
0
0
30
-116
-14
51
-42
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
26
5
16
-9
-3
0
0
0
0
0
0
0
0
0
0
0
13
27
-3
13
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
44
24
8
9
0
0
0
0
0
0
0
0
0
0
0
0
8
44
24
-37
-23
0
0
0
0
0
0
0
0
0
0
0
0
-4
49
-3
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
70
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
1
0
0
0
0
0
0
0
0
0
-10
0
0
0
-2
1
-2
-1
-4
0
0
0
0
0
0
0
0
8
-6
8
-7
3
0
0
-1
0
0
0
0
0
0
0
0
0
-12
32
124
-8
-3
0
0
0
0
0
0
0
0
0
0
0
-7
-20
-10
49
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
57
121
-34
0
0
-1
0
0
0
0
0
0
0
0
0
0
49
-51
-43
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
29
-31
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-8
-24
-7
4
-1
0
0
0
0
0
0
0
0
0
0
1
-6
-53
-23
-32
22
0
2
-1
0
0
0
0
0
0
0
0
0
-13
126
107
17
-1
0
0
0
0
0
0
0
0
0
0
0
-23
63
59
-17
-10
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-39
-32
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
3
0
0
0
0
0
0
0
-1
-8
-4
18
17
2
16
0
1
0
0
0
0
0
0
0
0
-12
-43
11
18
41
71
-5
1
-4
3
-2
1
0
0
0
0
-8
20
18
13
-8
-41
43
4
-4
-1
0
-2
2
0
0
0
0
-8
-8
61
-71
49
-5
53
-3
-15
-2
0
1
0
0
0
0
0
6
0
-24
-9
46
77
28
34
5
0
3
2
0
0
0
0
0
0
1
3
12
61
-1
-46
-13
-3
1
-1
0
0
0
0
0
0
0
0
0
2
23
-23
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
24
0
0
0
0
0
0
0
0
0
-1
5
-2
-6
-7
-3
-20
-42
2
-12
0
0
0
0
0
0
0
0
1
2
16
23
44
-12
24
14
-5
0
0
0
0
0
0
0
0
-3
-4
-4
-3
-7
-8
78
44
-1
0
0
0
0
0
0
0
-1
0
0
0
0
-3
-3
17
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
8
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
115
-41
8
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-13
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
35
-4
-31
7
-4
0
0
0
0
0
0
0
0
0
0
0
-5
-118
-3
28
14
10
-1
0
0
0
0
0
0
0
0
0
0
0
24
-46
10
-8
-17
12
2
0
0
0
0
0
0
0
0
0
0
-13
11
-23
-7
-1
3
-2
2
-6
-5
1
-1
0
0
0
0
0
-1
3
14
21
6
27
12
-1
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
-10
66
-20
6
-4
4
0
0
0
0
-1
-2
-1
0
0
0
0
31
-17
29
-53
8
17
0
0
0
22
18
9
4
1
0
0
0
-29
-46
71
45
-50
42
16
-8
-8
-6
-25
12
0
0
0
0
0
-8
-21
-31
53
68
-52
30
3
-13
-6
5
1
0
0
0
0
0
-40
35
82
-107
12
91
46
58
24
2
0
0
0
0
0
0
0
-32
102
96
-27
-43
-26
-25
-42
2
26
-5
27
0
0
0
0
0
3
1
15
-52
-31
-47
-53
-47
-6
-17
-5
-1
0
0
0
0
0
0
19
5
-12
-10
-3
-13
9
9
-6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
-6
-47
-108
86
95
0
0
-12
-2
0
0
0
0
0
0
-5
-8
-77
-5
58
60
32
92
-7
-6
2
4
-2
0
0
0
0
-3
-3
-55
-83
-53
24
76
48
-21
19
5
16
0
0
0
0
0
10
2
-56
-21
41
38
36
71
-5
59
-31
-2
-1
0
-1
0
0
-13
46
59
-25
41
-50
54
-4
64
-52
37
0
0
0
-1
0
0
-57
65
-8
10
-19
-83
66
-92
5
32
13
-4
3
0
0
0
0
86
9
7
5
5
0
-39
-56
-17
-17
-18
-1
-1
0
0
0
0
-61
12
17
6
23
67
-41
-13
-9
32
-13
1
0
0
0
0
0
0
0
30
29
-36
-80
-31
4
-1
0
-1
2
0
0
0
0
0
-4
0
0
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
61
46
-13
96
56
2
4
0
0
0
0
0
0
0
0
0
0
12
13
-59
-33
-2
-8
31
-6
-9
0
0
0
0
0
0
0
0
-7
-8
-8
7
31
-8
9
10
1
0
0
0
0
0
0
0
0
-5
33
-8
20
-68
1
1
-2
0
0
0
0
0
0
0
0
0
22
-39
-33
8
4
0
-33
-15
0
0
0
0
0
0
0
0
0
24
-9
-44
-49
-15
-53
-5
-7
-25
0
0
0
0
-1
0
0
0
0
16
-18
-24
-12
-28
-1
2
-21
-1
0
0
0
0
0
0
0
8
-7
0
2
-1
14
0
3
0
0
0
0
0
0
0
0
0
13
4
25
8
2
-7
13
-1
0
0
0
0
0
0
0
0
0
13
-7
154
75
42
42
0
-30
0
0
1
0
0
0
0
0
0
36
1
-17
77
55
75
57
8
17
0
0
0
0
0
0
0
0
46
-6
-50
1
-22
-3
31
12
-1
0
0
0
0
0
0
0
0
9
-8
-7
81
73
4
19
59
3
0
0
0
0
0
0
0
0
3
57
-35
-35
-12
52
161
-44
-1
0
0
0
0
0
0
0
0
0
11
23
62
-58
68
28
-42
0
0
0
0
0
0
0
0
0
-9
46
-47
-21
-12
-42
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
-46
68
72
7
0
0
0
-1
-2
-3
1
1
0
0
0
-1
-38
-17
-1
-44
9
3
0
-4
0
0
13
-1
0
0
0
0
29
23
-7
-17
60
-84
48
17
30
-17
12
2
0
0
0
0
0
12
-40
5
19
41
-5
87
-72
-17
46
8
3
0
0
0
0
0
13
-43
-10
68
67
-3
-57
43
10
7
-3
-1
0
0
0
0
0
0
88
15
31
-5
-71
-8
4
7
-18
18
-1
0
0
0
0
0
0
-35
-27
-16
-18
-10
68
3
28
-15
-2
0
2
0
0
0
0
0
3
-3
-6
21
14
14
-14
-6
-8
7
2
3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-14
16
17
2
0
-2
0
0
0
1
0
0
0
0
0
33
26
-3
41
12
7
34
34
-12
16
0
0
0
0
0
0
10
1
20
21
3
-49
81
19
42
-23
0
0
0
0
0
0
0
38
81
47
-11
46
62
5
5
38
67
5
0
0
0
0
0
0
1
-6
42
28
-15
-92
15
12
19
46
2
0
0
0
0
0
0
0
-5
4
98
120
94
51
-43
-1
-98
0
0
0
0
0
0
0
0
-25
-5
-16
-56
21
-25
-7
-2
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
15
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
-1
-1
1
-4
0
0
2
0
0
0
0
0
0
0
0
0
6
78
7
16
-2
2
0
24
19
4
0
0
0
0
0
0
0
-3
30
-20
33
-22
13
-6
0
50
-2
-1
0
0
0
0
0
0
57
-76
-9
29
8
-21
0
-51
-9
4
0
0
0
0
0
0
0
0
-48
0
7
16
2
-10
3
30
0
0
0
0
0
0
0
-1
3
-2
2
0
-1
17
2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
-4
-7
1
0
0
0
0
0
0
0
0
0
0
0
5
-7
1
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
37
39
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
49
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-59
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
6
18
-8
2
0
23
1
-1
0
0
0
0
0
0
10
-2
-5
41
-17
19
19
3
-18
4
-3
0
0
0
0
0
0
1
1
16
-8
-13
-13
-35
49
13
0
-1
0
0
0
0
0
0
25
0
22
19
32
60
-26
-10
1
0
0
0
0
0
0
0
3
0
14
13
42
12
-8
14
7
-8
0
0
0
0
0
0
0
0
13
-30
-8
-14
-13
-16
3
2
0
0
0
0
0
0
0
0
0
13
-10
-6
7
-7
-2
-29
-5
0
0
0
0
0
0
0
0
5
22
8
-4
0
0
6
-3
-6
0
0
0
0
0
0
0
0
2
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-12
25
-52
0
118
-28
7
-4
1
0
0
0
0
0
3
0
15
29
64
11
-5
53
-5
-26
-8
-1
6
0
0
0
2
16
10
21
7
64
37
8
46
9
-14
-1
5
3
0
0
3
0
12
-5
-34
-22
113
12
-13
24
22
28
8
0
2
0
0
0
-15
19
-1
20
5
25
71
118
68
18
-3
3
2
0
0
0
0
0
2
16
0
9
33
103
135
-49
2
0
0
4
0
0
0
0
0
-1
0
8
1
0
-43
-55
-2
-1
-1
0
0
1
0
0
0
0
0
0
0
-3
0
-5
-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
-2
-3
67
80
17
128
0
-20
-30
17
-29
-9
0
0
0
0
0
-6
8
29
-46
-9
28
-9
-95
-32
8
30
-4
8
0
0
0
1
-6
-6
10
11
9
13
3
-31
-28
31
-1
8
1
1
0
0
0
-32
-22
34
17
-25
38
-148
-48
-151
-24
-15
-13
1
0
0
0
20
-29
35
177
-13
-30
-26
-83
-62
-52
-3
-5
37
-2
-1
0
0
8
15
15
-35
23
-67
26
-169
-82
-24
16
18
-2
-3
0
0
0
-10
5
95
-5
75
58
68
-87
-60
21
22
13
-1
1
0
0
0
1
-2
1
75
-65
5
-22
-12
-21
-9
-19
23
-1
0
0
0
0
0
0
0
-25
15
14
23
54
-7
7
-1
-2
1
0
0
0
0
0
0
0
-1
17
-93
25
0
39
-15
1
0
8
-7
-6
0
0
0
-3
-3
16
17
-47
26
-4
-56
10
21
-22
4
12
0
2
0
0
0
2
-12
15
47
-113
-46
-24
-50
-6
6
-15
2
0
0
0
0
4
-7
27
45
11
105
61
-39
22
2
1
4
0
0
0
0
0
0
0
-10
-8
-45
31
6
19
56
9
-1
2
1
-3
0
0
0
0
0
24
1
31
-6
44
61
9
-5
4
0
0
0
0
0
0
0
0
-8
8
49
-35
9
34
-24
41
6
1
1
1
0
0
0
0
0
-13
7
18
-9
-9
-7
-9
-16
-4
-1
-4
-1
5
0
0
0
0
0
0
-58
-77
-15
73
21
-13
2
-2
0
1
0
0
0
0
-4
20
-18
25
6
0
-42
22
8
-13
-7
0
1
0
0
0
-1
-14
-15
117
18
42
-12
15
5
40
12
9
-4
-1
0
0
0
0
27
-40
2
29
17
-61
45
-57
-2
4
1
1
0
0
0
0
0
13
42
27
41
60
28
47
-8
5
1
0
0
0
0
0
0
6
1
-62
4
-1
60
-29
71
-31
-10
1
-1
0
0
0
0
0
0
-5
13
33
45
87
109
75
-10
25
-7
0
-1
0
0
0
0
0
0
-1
32
64
-4
-25
59
111
46
7
-2
4
0
0
0
0
0
0
35
7
2
94
85
88
46
4
1
-2
0
2
0
0
0
0
0
0
1
55
6
3
-1
0
0
0
0
0
0
0
0
0
0
0
19
-23
79
24
0
26
-32
-2
0
0
0
0
0
4
6
3
1
-9
58
81
-23
40
31
2
-8
9
-1
0
0
0
0
14
1
24
22
-3
1
-9
52
26
4
39
16
0
0
0
0
0
17
-3
23
81
-5
1
72
40
-20
-56
20
-1
0
2
0
0
0
8
-1
32
17
22
8
30
-46
-29
0
-1
-4
0
0
0
0
0
2
0
5
-18
47
0
21
-41
78
9
0
0
0
0
0
0
0
0
4
-12
42
34
10
116
-27
-41
3
0
0
0
0
0
0
0
1
-5
0
-5
-1
4
-44
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-19
33
-68
-25
0
76
21
-7
0
0
0
0
0
0
-2
0
6
-23
48
7
41
-38
-11
-11
18
-5
0
0
0
0
0
6
-3
2
-24
46
48
-56
31
14
31
6
0
1
0
0
0
3
-3
5
10
-20
100
8
-8
-10
25
72
1
0
0
0
0
0
0
0
-3
0
43
18
12
5
56
31
44
3
0
0
0
0
0
0
0
-2
0
-7
154
-9
56
39
-23
-1
2
0
0
0
0
0
0
22
5
0
68
-17
-42
84
108
31
0
0
0
0
0
0
0
0
-1
0
13
3
19
14
-84
49
6
1
0
0
0
0
0
0
0
0
0
0
0
0
7
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
104
45
1
0
0
0
0
0
0
0
0
0
0
0
9
-7
25
-5
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-7
48
0
0
0
0
0
0
0
0
0
0
0
0
0
10
34
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
2
-3
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
7
1
-1
0
0
0
0
0
0
0
0
7
0
0
37
5
-13
5
-10
-1
0
0
0
0
0
0
0
0
8
-20
80
-20
54
-5
15
-1
-5
0
0
0
0
0
0
0
1
5
54
94
222
51
1
-7
24
5
0
0
0
0
0
0
0
0
26
55
88
144
-42
-7
4
17
-4
0
0
0
0
0
0
0
0
51
102
141
108
-26
-7
0
3
0
-2
0
0
0
0
0
0
0
82
-48
31
-67
33
-18
-2
3
0
0
0
0
0
0
0
0
0
-10
-59
10
-8
-26
0
0
-1
1
0
0
0
0
0
0
0
0
6
-1
1
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
9
-8
7
0
-2
0
0
0
0
0
0
0
0
0
4
16
46
98
-20
-7
0
0
-6
0
0
0
0
0
0
0
0
9
4
101
79
51
2
0
-1
0
0
0
0
0
0
0
0
0
12
49
84
-36
4
0
0
0
0
0
0
0
0
0
0
0
0
2
32
-39
-17
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-17
-54
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
49
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
0
1
0
0
0
0
0
0
0
0
0
0
4
-5
-5
32
8
8
0
1
0
0
0
0
0
0
0
0
0
-14
50
53
54
0
27
1
-1
0
0
0
0
0
0
0
0
0
-2
1
86
90
17
2
-1
-4
-1
0
0
0
0
0
0
0
0
-8
-35
-30
-3
-8
-3
0
0
1
0
0
0
0
0
0
0
0
-3
13
8
-42
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
41
-33
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
32
-10
4
4
0
0
0
0
0
0
0
0
0
0
4
13
99
49
30
-6
1
0
0
0
0
0
0
0
0
0
1
5
-100
108
40
-1
3
-1
0
-1
0
0
0
0
0
0
0
0
-15
-4
39
18
-8
-7
0
0
-1
0
0
0
0
0
0
0
0
0
-10
-23
-22
-5
0
0
0
0
0
0
0
0
0
0
0
0
-14
-25
-41
-6
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
4
17
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
1
0
4
-1
25
0
0
0
0
2
12
2
0
0
0
0
0
0
-5
14
1
-12
-22
3
49
42
-8
6
0
0
-3
0
0
0
0
-3
-3
9
-22
-25
35
111
28
24
-9
3
-1
0
0
0
0
3
3
2
10
-8
50
24
84
7
4
12
-4
0
0
0
0
0
0
0
-2
0
7
-44
72
139
10
-9
0
3
0
0
-1
0
0
0
0
0
6
12
-3
10
-1
76
2
-2
-1
0
0
-2
0
0
0
0
0
0
15
-8
-23
11
69
8
-22
-3
0
2
0
0
0
0
0
0
0
0
-8
-41
42
-42
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
7
42
87
-8
0
0
0
0
0
0
0
0
0
0
0
-1
1
9
-6
-32
25
8
0
0
0
0
0
0
0
0
0
0
0
-13
-31
-17
150
-5
5
0
0
0
0
0
0
0
0
0
0
0
-1
8
-29
16
-8
0
0
-1
0
0
0
0
0
0
0
0
0
1
10
76
120
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
4
10
0
0
0
0
0
0
-2
-50
57
-28
3
0
0
0
0
0
0
0
0
0
0
0
0
4
33
-53
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-24
-17
-56
2
22
0
0
0
0
0
0
0
0
0
0
0
0
37
-3
-5
2
14
0
0
0
0
0
0
0
0
0
0
0
0
5
12
-8
30
3
2
0
0
0
0
0
0
0
0
0
0
0
1
91
-31
16
-1
-8
0
0
0
1
-1
0
2
0
0
0
0
0
5
12
5
-4
6
0
1
2
2
0
-2
0
-1
0
0
0
0
0
7
1
-1
-2
-1
0
0
3
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-15
-5
39
-20
9
0
0
0
-8
13
-2
6
-1
0
0
-46
6
5
-23
-23
-27
6
0
0
89
10
7
3
5
2
0
0
32
35
-19
-8
120
13
24
41
22
-19
-18
-7
6
0
1
0
0
-27
-19
-11
39
27
43
-56
117
83
81
-42
4
-2
0
0
0
0
20
61
-39
24
-54
6
14
4
67
-18
8
0
7
3
0
0
0
5
-13
13
85
51
-22
-39
24
75
-9
12
-2
-2
3
0
1
0
0
13
14
68
15
2
49
5
-27
7
-1
-3
0
0
0
0
0
0
0
0
-2
-2
0
3
1
28
16
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
102
13
-5
-9
0
0
0
2
-3
0
0
0
0
0
0
-24
-49
26
26
-28
59
-8
8
3
-2
42
0
0
0
0
0
0
34
-22
-41
-18
35
27
10
49
2
3
-4
0
0
0
0
0
-3
-5
-95
-48
-20
51
59
19
-19
30
0
0
1
0
0
0
0
9
48
131
-56
0
-52
47
104
154
-5
-17
-7
0
0
0
0
0
-8
58
34
-10
26
-47
-4
-20
-30
-25
2
5
0
0
0
0
0
-1
7
-46
-21
-10
6
-130
-39
-8
20
1
8
-1
0
0
0
0
0
0
14
1
24
-47
4
-44
-13
-2
0
0
0
0
0
0
0
0
0
66
25
32
7
16
0
-2
0
0
0
0
0
0
0
0
64
61
-5
21
-5
23
-17
0
0
0
0
0
0
0
0
0
0
-34
20
17
1
4
-21
-6
3
0
0
0
0
0
0
0
0
0
51
84
-87
-35
-4
-1
41
-20
-49
0
0
0
0
0
0
0
0
43
51
3
13
-3
8
-42
8
0
0
0
0
0
0
0
0
0
-48
-29
-75
21
51
8
8
-1
0
0
0
0
0
0
0
0
0
10
33
41
5
0
-4
-20
0
5
0
0
0
0
0
0
0
0
66
2
15
7
-47
-9
-14
0
5
0
0
0
0
0
0
0
0
-8
25
122
2
-12
-1
-13
0
0
0
0
0
0
0
0
0
0
-30
-29
18
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
14
16
-16
-1
-53
-2
2
0
0
-1
0
0
0
0
0
0
15
-53
2
42
-10
45
0
-9
0
0
0
-2
0
0
0
0
0
-10
9
-3
-91
0
39
-19
-22
19
0
0
0
0
0
0
0
0
-8
-3
118
-3
39
-14
-35
-53
8
0
2
0
0
0
0
0
0
-3
92
-47
76
-39
-72
9
33
0
0
0
0
0
0
0
0
0
-16
-20
51
-42
25
-19
-8
-13
0
0
0
0
0
0
0
0
0
-10
-30
78
-21
1
-27
19
-14
-14
0
0
0
0
0
0
0
0
58
22
8
-2
-14
-1
-1
4
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
20
2
7
30
0
0
4
1
7
0
0
0
0
0
16
-49
-47
0
8
-68
25
0
10
0
-26
15
1
-6
1
3
0
13
-37
-37
-51
53
-13
34
-5
3
154
2
41
22
-3
0
0
0
1
-87
66
85
-15
10
0
75
-1
75
-5
-2
0
1
0
0
0
1
-8
31
-53
37
12
56
-36
-9
3
47
-7
10
1
0
0
0
0
-12
-12
-18
46
-43
-18
-5
36
1
-29
4
14
-2
0
0
0
6
-8
-3
-57
-6
-49
14
3
6
-41
0
7
4
0
0
0
0
0
0
6
0
-2
-1
3
-1
-6
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
35
-9
-59
-13
0
0
0
16
5
0
0
0
0
0
0
0
42
-12
-35
10
-3
0
0
1
0
-7
-14
0
0
0
0
0
-2
-2
-33
8
-47
37
-7
7
2
150
5
-16
1
0
0
0
0
0
63
1
17
-3
-107
8
6
49
51
39
-3
0
1
0
1
0
0
-1
20
-16
-112
-58
56
35
67
-33
-7
0
0
0
0
0
0
-2
27
-3
57
-25
25
43
-13
32
47
0
0
-1
1
-1
0
0
-1
0
52
-43
-15
-1
-69
-6
-48
27
-1
1
0
-1
0
0
0
0
0
0
-23
3
41
25
-9
-21
3
0
0
0
0
0
0
0
0
7
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
-13
4
-6
-3
0
0
0
0
-1
0
0
0
0
0
0
0
-2
8
-5
-5
-12
0
0
0
-1
8
1
0
0
0
0
0
0
-1
14
-1
8
10
0
0
3
24
6
0
0
0
0
0
0
0
7
1
7
-6
3
-6
0
30
3
1
0
-1
0
0
0
0
0
0
3
0
-9
3
-1
8
11
26
35
-1
0
0
0
0
0
0
0
-1
3
-1
39
0
2
33
12
61
1
0
0
0
0
0
0
0
0
0
0
-6
-8
-13
-10
-18
7
0
0
0
0
0
0
0
0
12
1
0
0
0
8
23
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
34
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-16
-5
-26
20
0
0
0
0
0
0
0
0
0
0
0
0
-3
65
55
44
-94
0
0
0
0
0
0
0
0
0
0
0
-1
-8
14
6
34
-25
30
0
0
0
0
0
0
0
0
0
0
0
-8
45
-21
2
-30
23
0
0
0
0
0
0
0
0
0
0
0
-27
-54
-164
56
21
12
0
0
0
0
0
0
0
0
0
0
0
1
-60
-131
6
52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
-6
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
42
-18
10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
41
3
0
0
0
0
0
0
0
0
0
0
0
0
3
3
30
60
7
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-100
5
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
18
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
31
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-44
-48
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
32
32
-3
0
0
0
0
0
0
0
0
0
0
0
0
-39
13
12
-82
6
0
0
0
0
0
0
0
0
0
0
0
1
-29
-33
-57
-20
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
1
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
1
24
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-18
-100
-67
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
20
-10
-30
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
33
-22
-9
-29
0
0
0
0
0
0
0
0
0
0
0
-1
20
-25
-19
78
-14
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
42
-8
-8
68
24
-6
0
0
0
0
0
0
0
2
-4
-23
44
-35
-6
20
-12
-50
0
0
0
0
0
0
0
0
-1
19
52
-15
5
-14
77
-121
22
-8
0
0
0
0
0
0
0
0
-78
62
-66
13
-147
66
69
0
0
0
0
0
0
0
0
0
2
-19
-38
37
56
116
-97
33
-10
0
0
0
0
0
0
0
0
0
-10
54
24
46
-86
42
-31
1
0
0
0
0
0
0
0
0
5
41
3
49
25
-24
-4
19
9
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
-10
-1
-1
4
0
3
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
-24
-14
3
-3
-1
1
0
0
-3
0
0
0
0
0
0
0
-2
46
5
-5
12
0
-7
-3
0
4
0
0
0
0
0
0
0
0
6
-22
7
4
13
-3
-2
-3
0
0
0
0
0
0
0
0
0
-40
-10
45
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-44
15
40
-4
28
0
0
0
0
0
0
0
-1
0
0
40
-68
4
57
47
18
12
0
0
0
0
0
0
1
33
-7
-39
54
-81
-72
-8
31
27
-32
0
0
0
0
0
0
1
-20
-13
51
-72
-15
35
32
11
27
25
0
0
0
0
0
0
0
0
-43
-69
-98
-24
-21
-7
52
57
28
0
0
0
0
0
0
0
1
-3
-113
-115
-69
-31
-26
36
-62
0
0
0
0
0
0
1
0
-8
-5
-7
25
5
-56
-88
-70
-44
3
0
0
0
0
0
0
0
0
-4
1
3
21
-48
-40
66
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
0
0
0
51
10
-14
-19
-27
-28
1
0
0
0
0
0
0
-6
0
173
43
58
-13
-36
-43
-38
-6
6
0
0
0
0
0
1
2
60
75
60
-14
-15
-26
-22
-55
-99
5
0
0
0
0
0
0
-10
41
120
134
26
-19
-41
-43
-16
-54
18
0
0
0
0
0
0
1
9
113
4
-6
-45
-36
-7
-3
16
67
0
0
0
0
0
0
5
46
93
29
-25
-14
-8
-2
19
24
28
0
0
0
0
0
2
-4
45
62
-6
0
-23
-34
1
-5
28
2
0
0
0
0
0
0
0
0
17
97
-100
-53
-38
-67
-95
-5
7
0
0
0
0
0
0
0
0
1
-4
33
11
-110
-8
-87
-18
0
0
0
0
0
0
0
0
0
0
0
-22
-53
8
-11
24
-8
0
0
0
0
0
0
0
0
0
0
-50
5
21
3
16
-21
-46
-6
0
0
0
0
0
0
0
0
0
6
74
-30
-3
-10
-7
130
-2
0
0
0
0
0
0
0
0
9
5
-67
-62
-72
29
54
21
-1
0
0
0
0
0
0
0
-7
-5
-10
-56
-46
-67
17
12
-25
-5
0
0
0
0
0
0
0
0
17
29
5
25
40
-13
91
5
19
0
0
0
0
0
0
0
-1
34
-24
43
32
-75
75
104
8
41
0
0
0
0
0
0
0
0
6
24
20
103
65
130
-56
-32
0
0
0
0
0
0
0
0
0
0
0
5
-17
-5
19
67
35
0
0
0
0
0
0
0
0
0
0
3
10
-44
108
23
10
-41
4
0
0
0
0
0
0
0
0
-5
48
0
-11
0
27
10
8
20
0
0
0
0
0
0
0
0
-19
31
-36
51
-121
21
7
54
23
0
0
0
0
0
0
0
0
30
-120
-72
2
-8
52
12
14
4
0
0
0
0
0
0
0
0
7
-12
-78
12
17
26
90
-50
-7
0
0
0
0
0
0
0
0
23
11
114
23
23
57
108
-36
-39
0
0
0
0
0
0
0
5
6
-100
-4
34
-16
5
84
15
-23
0
0
0
0
0
0
0
0
0
37
-80
-112
13
203
57
-21
18
0
0
0
0
0
0
0
0
0
2
0
-2
-3
4
104
0
0
0
0
0
0
0
0
3
0
0
0
8
4
-42
-29
14
39
-12
0
0
0
0
0
0
-16
0
49
0
11
-69
-4
11
55
23
-20
0
0
0
0
0
0
17
-98
9
-14
-68
-3
-8
35
60
-10
23
0
0
0
0
0
0
5
4
64
-84
-74
13
-26
7
43
72
1
0
0
0
0
0
0
2
19
-59
-28
-14
15
6
16
38
30
13
0
0
0
0
0
0
2
96
89
-76
-139
-41
-57
55
2
18
-42
0
0
0
0
0
0
-2
2
2
-164
-9
-53
17
-38
47
29
13
0
0
0
0
0
0
0
8
3
-4
-49
-12
3
-49
-49
-8
0
0
0
0
0
0
0
0
0
0
0
-5
0
-8
-2
-8
0
0
0
0
0
0
0
0
-1
0
0
0
14
-5
26
40
24
-8
-1
0
0
0
0
0
-1
0
0
8
0
33
-120
-22
25
33
13
1
0
0
0
0
0
-1
5
44
1
79
-16
-21
-16
31
12
56
13
0
0
0
0
0
0
9
74
62
26
58
-25
-59
-7
64
14
13
0
0
0
0
0
0
8
-71
58
-92
-14
-15
-36
34
48
38
-20
0
0
0
0
0
1
6
23
6
61
54
-58
-27
1
32
57
1
0
0
0
0
0
0
0
6
12
62
38
-4
52
32
34
98
-4
0
0
0
0
0
0
0
4
-2
4
-25
67
52
67
42
27
0
0
0
0
0
0
0
0
0
0
0
0
-24
62
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-24
-7
-7
59
0
0
0
0
0
0
0
0
0
0
0
2
1
-22
31
23
-48
-2
0
0
0
0
0
0
0
0
0
-1
9
-6
1
96
-14
-7
0
0
0
0
0
0
0
0
0
0
0
-1
50
131
-27
19
-108
-1
0
0
0
0
0
0
0
16
-5
0
35
-22
-12
22
59
-54
-1
0
0
0
0
0
0
0
0
4
-1
26
-75
30
39
-75
-33
-13
0
0
0
0
0
0
0
16
-8
1
10
126
159
-66
-43
-132
-1
0
0
0
0
0
0
0
0
0
-1
0
6
41
30
0
44
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
3
-78
75
19
-6
0
0
0
0
0
0
0
4
1
-1
19
15
43
12
-65
-5
5
0
0
0
0
0
0
0
-6
1
0
3
-22
83
16
98
-39
42
0
0
0
0
0
0
0
0
0
0
-1
-1
72
25
89
-49
-41
0
0
0
0
0
0
0
0
0
0
0
3
84
-29
-23
56
36
0
0
0
0
0
0
0
0
0
0
1
60
164
82
17
-18
59
0
0
0
0
0
0
0
0
0
0
0
0
127
81
103
25
65
0
0
0
0
0
0
0
0
0
0
0
1
17
47
88
58
133
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-20
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-39
-10
-78
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-95
-10
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
66
5
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
40
-67
64
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
63
40
131
66
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
65
40
12
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-43
74
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
24
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
-15
16
-66
3
-15
-8
0
0
0
0
0
0
0
0
0
0
0
8
16
52
15
5
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-38
-16
35
4
0
0
0
0
0
0
0
0
0
0
0
3
31
-18
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
69
-44
-37
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
8
96
-6
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-4
30
-25
0
0
0
0
0
0
0
0
0
0
0
-2
8
-34
51
126
29
0
0
0
0
0
0
0
0
0
0
0
0
33
54
58
22
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
-24
56
14
25
0
0
0
0
0
0
0
0
0
0
0
0
1
-78
13
-70
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
77
73
92
60
-5
0
0
0
0
0
0
0
0
0
0
0
0
9
78
67
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
66
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
43
55
55
74
24
9
-1
0
0
0
0
0
0
0
-2
-27
7
77
-56
9
133
16
-27
1
0
0
0
0
0
0
0
-7
1
56
-11
-4
16
171
14
7
8
0
0
0
0
0
0
0
0
-19
-27
-49
-7
102
6
28
48
24
0
0
0
0
0
0
0
-8
-45
-50
-35
-15
69
40
76
48
-4
0
0
0
0
0
0
0
-3
13
-12
18
56
76
63
27
-25
5
0
0
0
0
0
0
0
-9
2
12
-41
49
65
139
15
17
-1
0
0
0
0
0
0
0
0
-1
0
-26
33
33
71
34
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
3
-2
0
0
0
0
0
0
0
0
0
0
3
-7
7
-2
-9
25
2
0
0
0
0
0
0
0
0
-2
-2
-7
0
0
-3
4
-3
0
-3
0
0
0
0
0
0
0
0
-4
1
31
13
27
-24
13
-10
1
0
0
0
0
0
0
0
3
1
-15
46
0
52
-7
50
-5
0
0
0
0
0
0
0
0
0
5
6
25
-31
25
11
42
-28
-25
0
0
0
0
0
0
0
0
-1
-4
-8
10
18
5
-20
63
-13
0
0
0
0
0
0
0
0
2
0
0
0
1
13
1
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-13
49
0
48
-63
12
36
17
5
5
0
0
0
0
0
3
-49
24
-8
-11
3
19
95
28
116
72
-16
0
0
0
0
0
6
3
-40
8
-7
3
19
49
20
-77
-24
-6
2
0
0
0
0
0
21
7
-14
-14
-5
-19
4
65
-25
21
-14
3
0
0
0
0
0
22
-16
-18
-7
17
0
8
24
11
24
-1
-2
0
0
0
0
0
-1
-4
-12
-20
-16
44
26
94
26
10
-13
0
0
0
0
0
0
0
-1
-23
-45
1
10
-23
138
-26
-1
-12
0
0
0
0
0
0
0
0
-20
23
-24
-8
17
-3
41
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-5
0
13
1
10
4
-9
-65
-1
0
0
0
0
0
1
-6
-33
-49
-3
5
1
-8
7
3
5
-25
0
0
0
0
0
0
-4
4
-45
11
13
-6
11
30
11
74
-31
0
0
0
0
0
0
2
22
-53
-38
-8
0
0
9
9
-5
139
0
0
0
0
0
-4
22
5
-19
-22
-14
-4
-3
15
43
9
-25
0
0
0
0
0
0
1
-12
-75
-18
-11
1
2
10
93
32
101
0
0
0
0
0
0
-18
19
2
-12
-11
-11
0
29
27
17
42
0
0
0
0
0
0
13
-7
-44
-58
-34
-30
-6
4
30
0
-35
0
0
0
0
0
0
0
2
12
32
13
-32
-32
-38
-50
-5
4
0
0
0
0
0
0
-12
4
0
0
-68
47
-34
13
31
0
0
0
0
0
0
0
3
10
22
15
-26
60
19
-51
-22
-25
0
0
0
0
0
0
0
0
16
-34
3
9
27
158
27
4
14
0
0
0
0
0
0
0
0
-18
-30
3
-50
58
26
70
-41
-16
-5
0
0
0
0
0
0
0
6
18
-10
33
18
37
-54
92
-39
10
0
0
0
0
0
0
0
-5
3
2
-39
92
84
97
51
-94
-1
0
0
0
0
0
-1
6
-72
-10
-32
-12
4
62
86
29
8
0
0
0
0
0
0
3
18
-2
-4
25
12
26
38
-2
-49
-49
0
0
0
0
0
0
0
10
-29
13
-10
34
-32
-4
26
25
-22
2
0
0
0
0
0
0
-4
3
-31
-19
0
-11
-23
45
-48
5
2
0
0
0
0
0
0
-3
56
37
-22
-20
11
3
12
59
88
15
0
0
0
0
0
0
-1
-59
5
-23
12
-10
31
35
-14
7
-2
0
0
0
0
0
0
-5
-1
-32
-6
0
-2
-20
19
1
118
-10
0
0
0
0
0
0
5
-2
1
2
-1
21
0
22
66
-50
-2
0
0
0
0
0
-1
12
23
5
5
0
2
-40
74
8
-29
2
0
0
0
0
0
-4
4
-24
15
6
14
-33
-11
28
-17
14
0
0
0
0
0
0
0
-2
20
-14
12
10
-70
-55
57
40
-4
0
0
0
0
0
0
0
0
0
0
0
2
-15
6
0
0
0
0
0
0
0
0
0
0
0
-1
43
28
0
29
-27
36
-10
60
-52
-1
-16
0
0
0
0
0
-8
-3
-63
-31
10
13
34
30
63
-23
59
-8
0
0
0
0
0
-1
2
-50
-44
-8
32
33
23
-125
60
5
-3
0
0
0
0
0
-3
25
13
-17
-31
17
23
46
22
-33
-12
5
0
0
0
0
0
2
8
-8
0
-17
-7
38
7
111
79
-6
-4
0
0
0
0
0
-1
6
-5
-81
-13
11
51
77
40
131
80
0
0
0
0
0
0
0
-8
18
-4
-66
5
21
94
50
55
14
3
0
0
0
0
0
0
-1
-7
24
6
-7
19
54
120
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
9
-47
0
10
-21
47
26
-20
-4
4
-2
0
0
0
0
0
0
-12
18
-68
16
1
-39
20
78
68
7
6
0
0
0
0
0
1
-12
-20
-73
-40
-13
13
-2
0
13
42
18
0
0
0
0
0
0
-15
15
-41
-36
-49
15
-81
70
5
-19
0
0
0
0
0
0
0
10
-29
-8
15
6
17
-1
54
61
23
4
0
0
0
0
0
3
58
-18
-5
10
-5
18
21
70
82
98
9
0
0
0
0
0
-3
-10
-25
-15
-56
44
25
29
84
150
9
4
0
0
0
0
0
0
0
5
-23
-56
-44
17
-21
85
12
24
0
0
0
0
0
0
0
0
0
8
0
-33
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
24
0
-1
-1
-2
0
0
0
0
0
0
0
4
-4
8
5
3
72
1
0
1
-49
0
0
0
0
0
0
1
0
-5
-29
-41
-5
25
23
2
4
-3
-4
0
0
0
0
0
0
-8
7
56
-5
-31
9
18
7
8
-20
-2
0
0
0
0
0
0
2
66
-54
-16
-14
-9
-20
-5
-6
16
-2
0
0
0
0
0
0
0
-15
-42
-13
-55
-41
-23
9
-14
6
-17
0
0
0
0
0
0
-1
43
-8
37
5
-1
-15
1
-6
1
5
0
0
0
0
0
0
0
8
1
3
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
18
28
0
0
7
0
0
0
0
0
0
0
0
0
0
4
-14
-35
-51
-8
71
31
0
0
0
0
0
0
0
0
0
0
0
15
-30
76
-15
31
-13
3
0
0
0
0
0
0
0
0
0
-1
23
26
41
19
71
7
18
0
0
0
0
0
0
0
0
0
0
8
-28
-10
-81
-1
31
-12
0
0
0
0
0
0
0
0
0
0
0
-28
-122
-17
-42
-2
-8
0
0
0
0
0
0
0
0
0
0
0
27
-55
-12
-22
-33
0
0
0
0
0
0
0
0
0
0
0
0
-7
-16
-79
32
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
2
92
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
32
76
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
-49
-58
5
0
0
0
0
0
0
0
0
0
0
0
0
9
64
-45
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
3
29
42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
-18
-44
32
34
-2
0
0
0
0
0
0
0
0
0
0
0
-16
5
146
-24
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-54
-79
-50
-5
0
0
0
0
0
0
0
0
0
0
2
3
-23
40
143
-31
-6
0
0
0
0
0
0
0
0
0
0
1
19
92
35
-63
12
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
-16
3
0
0
0
0
0
0
0
0
0
0
0
-5
-1
32
-6
-6
5
0
0
0
0
0
0
0
0
0
0
0
2
24
10
53
4
41
0
0
0
0
0
0
0
0
0
0
0
4
-31
-52
122
-2
-8
0
0
0
0
0
0
0
0
0
0
0
-4
13
13
-16
44
3
0
0
0
0
0
0
0
0
0
0
0
1
28
10
57
12
6
0
0
0
0
0
0
0
0
0
0
0
-2
4
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
3
-16
8
5
3
4
0
0
0
0
0
0
3
23
0
0
0
-8
-18
-49
-42
5
8
0
0
0
0
0
0
0
19
24
41
17
-17
45
16
-10
-13
29
-1
0
0
0
0
0
-1
7
56
38
-61
67
46
31
-4
-8
8
0
0
0
0
0
0
-7
-5
27
-97
-8
17
76
-5
0
20
0
0
0
0
0
0
0
0
-29
39
-80
-8
67
-53
-4
-4
-8
0
0
0
0
0
0
0
-1
-4
53
58
-85
107
-25
-25
0
0
-2
0
0
0
0
0
0
-1
-13
-11
-110
-44
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
16
-16
-17
0
-7
-15
0
0
0
0
0
0
0
0
0
0
-2
8
10
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
44
20
-18
8
0
0
0
0
0
0
0
0
0
0
0
-2
-49
-9
-9
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
-41
-60
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-1
71
19
102
41
51
54
0
0
0
0
-1
4
24
60
0
0
50
-5
46
79
-5
3
70
0
0
0
0
0
0
3
110
-5
-19
19
73
80
93
69
57
31
0
0
0
0
0
0
3
41
101
42
43
89
43
74
72
-2
-27
0
0
0
0
0
0
6
21
-30
-30
78
125
66
-39
-11
-9
-21
0
0
0
0
0
-2
2
23
-5
31
11
78
116
15
16
40
-51
0
0
0
0
0
0
0
9
-54
0
-9
12
-10
46
52
20
-8
0
0
0
0
0
0
0
-8
0
0
0
0
1
2
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
15
0
0
17
27
0
-8
-9
-46
-30
0
0
0
0
0
-2
1
7
84
68
-55
-9
10
13
-42
-116
0
0
0
0
0
0
-1
5
47
-56
-15
-11
23
12
33
-6
-49
-14
0
0
0
0
0
4
-12
44
-30
30
4
24
-13
21
75
-103
-76
0
0
0
0
0
2
2
-8
-27
4
19
26
-8
3
16
-77
-49
0
0
0
0
0
0
-18
-52
-56
77
44
15
17
-9
-32
-16
-35
0
0
0
0
0
0
0
17
68
1
14
28
37
3
-17
10
8
0
0
0
0
0
0
1
-7
50
15
20
4
36
128
67
7
12
0
0
0
0
0
0
0
0
0
-4
-2
12
84
61
48
0
0
0
0
0
0
0
0
0
0
0
0
3
-44
25
-5
-1
-51
58
0
0
0
0
0
0
0
0
-3
32
22
22
-32
-66
33
-41
27
0
0
0
0
0
0
0
0
25
-69
-86
44
81
2
4
36
-22
0
0
0
0
0
0
0
-4
57
9
50
-7
48
13
-1
34
5
0
0
0
0
0
0
0
0
0
-18
9
7
-13
41
4
81
-64
0
0
0
0
0
0
0
0
17
-54
-7
88
4
83
67
-23
-19
0
0
0
0
0
0
0
0
16
0
96
74
13
8
-29
32
19
0
0
0
0
0
0
0
0
14
3
63
28
99
-22
86
9
45
0
0
0
0
0
0
0
0
-6
0
-1
0
20
-23
18
8
-79
0
0
0
0
0
0
0
0
0
-10
25
81
-66
-11
-50
27
56
0
0
0
0
0
0
0
0
3
7
0
89
76
-55
-6
91
48
0
0
0
0
0
0
0
0
0
22
87
65
67
20
-13
-6
37
0
0
0
0
0
0
0
0
-2
90
127
2
25
19
-31
70
-58
0
0
0
0
0
0
0
0
-7
13
2
100
66
-50
48
39
55
0
0
0
0
0
0
0
0
1
56
34
22
-60
-2
44
18
45
0
0
0
0
0
0
0
0
-8
18
-26
143
54
-2
31
84
-61
0
0
0
0
0
0
0
0
8
7
32
3
62
43
0
39
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
33
0
0
35
134
16
35
70
31
56
0
0
0
0
-3
-2
3
0
6
0
-39
141
20
-29
-12
44
-7
0
0
0
0
0
-2
76
-130
16
-46
10
93
62
51
21
36
-35
0
0
0
0
0
0
29
-8
-45
75
-36
150
35
47
6
103
50
0
0
0
0
0
0
-20
50
23
-19
22
49
40
-71
38
-2
-82
0
0
0
0
0
0
0
-14
-65
15
54
19
-25
59
-26
-8
23
0
0
0
0
0
0
8
-23
-5
52
-131
58
31
10
-56
-29
-5
0
0
0
0
0
0
0
41
8
-42
-7
-12
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-14
0
0
0
0
0
0
0
0
0
0
1
-3
0
2
7
114
-65
69
51
0
8
0
0
0
0
0
0
23
0
-2
0
49
77
-8
32
12
-43
-24
0
0
0
0
0
0
8
-70
-13
-65
14
45
-115
-62
-13
-39
73
0
0
0
0
0
0
7
56
22
-22
-4
101
-111
32
-20
28
2
0
0
0
0
0
0
-9
26
91
132
100
32
-44
9
-5
93
71
0
0
0
0
0
0
10
58
60
95
107
6
34
-14
99
29
-5
0
0
0
0
0
0
0
94
47
-14
61
-24
67
-9
-33
-28
6
0
0
0
0
0
0
0
3
4
2
-7
-7
-26
29
-5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
-4
2
0
-3
0
0
0
0
0
0
1
0
0
0
-6
8
-3
0
-6
-13
-5
0
0
0
0
0
0
-1
14
24
0
10
62
16
10
-1
-34
2
0
0
0
0
0
0
0
20
32
0
5
-50
-13
-8
-1
-7
-7
0
0
0
0
0
0
0
5
50
0
31
-5
-16
1
-1
-4
6
0
0
0
0
0
0
0
2
22
0
-5
37
18
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
19
0
-31
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
2
7
-10
-5
2
0
0
0
0
0
0
0
1
0
0
3
0
0
-6
-23
50
-8
0
0
0
0
0
0
0
0
0
0
-2
0
-5
14
53
80
8
0
0
0
0
0
0
0
0
0
1
0
5
0
52
75
56
-53
0
0
0
0
0
0
0
0
0
0
4
0
-25
16
143
4
17
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-26
103
77
18
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
47
-54
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
49
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
15
18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
6
23
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
34
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-45
24
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-17
7
-32
0
0
0
0
0
0
0
0
0
0
0
0
6
5
48
58
5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-32
79
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
1
0
-5
10
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-3
29
-7
7
53
16
0
0
0
0
0
0
0
0
0
0
-2
4
-5
12
-21
67
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-19
4
15
-2
0
0
0
0
0
0
0
0
0
0
0
1
-16
3
72
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-5
28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-4
0
66
18
118
-18
25
14
20
-32
0
0
0
0
0
0
4
-2
-31
-24
-14
40
-8
-7
-13
-23
-5
0
0
0
0
0
0
0
-91
-94
-23
34
-29
-49
-56
-13
50
-1
0
0
0
0
0
0
-1
109
-108
7
26
-29
-13
12
3
61
54
0
0
0
0
0
0
0
-20
73
36
28
-29
-31
-13
48
1
13
0
0
0
0
0
0
0
7
19
7
-71
-91
-26
18
-40
35
-16
0
0
0
0
0
0
0
-18
13
-3
24
60
-8
32
52
17
-5
0
0
0
0
0
0
0
0
-6
0
0
-9
6
-14
-13
34
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
22
0
0
0
0
0
0
0
0
0
4
0
0
0
4
-1
-16
0
0
0
0
0
0
0
0
-1
-1
-9
0
13
0
-3
2
69
9
0
0
0
0
0
0
0
16
0
-16
-3
-2
2
0
7
45
-18
0
0
0
0
0
0
0
-6
3
0
37
2
0
1
6
13
4
0
0
0
0
0
0
0
-2
0
15
13
0
-9
-4
6
-46
-5
0
0
0
0
0
0
0
0
1
0
-21
4
7
-2
-7
85
5
0
0
0
0
0
0
0
0
0
0
-4
1
8
0
15
47
-51
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-8
-53
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
7
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-31
-24
0
4
-17
23
-17
0
-5
7
7
0
0
0
0
5
-22
-9
19
2
2
10
89
71
0
-35
24
0
0
0
0
-1
-25
6
-44
-2
-3
-6
57
19
34
1
37
92
16
0
0
0
0
0
27
29
13
-5
-5
22
45
-1
-13
31
-4
42
0
0
0
0
0
-13
27
-3
-11
14
48
39
18
-19
15
33
27
0
0
0
0
0
3
-34
-5
-15
-23
22
23
49
-8
15
10
0
0
0
0
0
0
0
0
-19
-13
-51
-13
20
13
0
8
5
2
0
0
0
0
0
0
0
0
-22
29
-10
-46
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
-44
-16
0
-25
-33
11
80
16
-24
0
0
0
0
0
0
1
16
-31
-36
-2
-16
-18
11
18
29
-10
25
0
0
0
0
0
0
-16
-26
-7
-46
-51
5
11
11
-4
-7
4
0
0
0
0
0
-2
21
-86
-11
12
-15
13
-8
-19
-77
95
8
0
0
0
0
1
0
12
53
-34
14
-27
15
-1
-4
-18
0
0
0
0
0
0
0
0
-8
41
-32
12
-16
10
2
11
123
-50
1
0
0
0
0
0
0
0
-45
57
-51
14
15
14
20
60
-13
-4
0
0
0
0
0
0
1
3
38
12
-2
2
24
17
36
-12
8
0
0
0
0
0
0
0
1
-9
4
-27
-7
-3
-11
27
0
0
0
0
0
0
1
-8
2
-22
95
0
0
-64
42
13
0
-1
0
0
0
0
0
-3
6
8
16
-6
21
-42
16
79
-14
-9
2
0
0
0
0
0
0
-6
30
-9
-9
-24
-62
-25
13
25
-9
-2
0
0
0
0
0
1
-8
22
34
10
-51
-26
-36
61
73
-1
0
0
0
0
0
0
0
-2
-1
14
12
12
-13
-74
14
-14
2
0
0
0
0
0
0
0
8
8
16
3
-11
-10
49
-51
-49
-7
0
0
0
0
0
1
3
-4
2
-1
1
-2
42
-33
-82
-99
3
0
0
0
0
0
0
0
5
-7
0
12
-14
-20
-16
12
1
0
0
0
0
0
0
-3
3
6
-36
0
-1
-14
-28
44
-28
0
0
0
0
0
0
0
0
0
-9
-22
19
-4
0
-79
44
-3
-1
0
0
0
0
0
0
0
-20
2
-48
-12
12
-21
-16
0
26
8
43
0
0
0
0
0
0
0
0
5
34
33
-11
-4
18
-21
1
8
0
0
0
0
0
0
0
0
15
4
17
-26
39
-4
-7
23
-23
0
0
0
0
0
0
0
7
-24
-11
-7
3
36
35
-4
13
2
0
0
0
0
0
0
0
4
-26
31
-11
7
25
128
52
-15
0
0
0
0
0
0
0
0
-5
-29
-13
-7
-30
81
60
110
-48
1
0
0
0
0
0
0
0
-1
-2
-27
-37
-26
-8
-76
74
-41
-1
0
0
0
0
0
0
0
0
0
0
0
3
-49
-19
-1
0
0
0
0
0
0
0
0
0
0
-13
-36
-11
0
5
47
24
52
-71
8
3
17
0
0
0
0
-1
-27
71
5
-5
-9
17
26
-17
19
55
109
19
0
0
0
0
0
8
6
9
-5
9
24
14
40
15
4
50
-12
0
0
0
0
-1
-2
14
25
14
0
32
32
50
75
-3
-51
16
0
0
0
0
0
6
44
10
22
4
7
16
-45
-40
49
63
-1
0
0
0
0
0
17
-46
-32
-12
-8
30
7
114
54
3
-23
7
0
0
0
0
0
0
-9
-68
-5
-59
-49
23
27
-18
10
13
-1
0
0
0
0
0
0
0
4
-30
-19
5
33
0
-5
-1
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-4
0
0
0
0
0
0
-4
-22
21
0
-2
51
12
8
16
4
8
5
0
0
0
0
0
7
-1
-59
-1
-5
-4
79
-37
-44
3
-1
17
0
0
0
0
-2
23
-45
25
5
-41
47
-14
-30
6
-4
23
52
0
0
0
0
0
-13
2
4
-11
-1
12
33
-32
-1
-6
20
-19
0
0
0
0
0
0
-41
-4
-15
7
10
-31
48
13
-5
3
-2
0
0
0
0
0
5
-55
27
-23
1
-15
-14
8
0
-2
-49
4
0
0
0
0
0
1
0
-14
-9
47
-25
-2
-46
0
0
-8
-1
0
0
0
0
0
0
18
13
19
-7
-14
18
0
37
0
-2
0
0
0
0
0
0
0
0
-13
50
-3
43
0
9
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
-6
-3
0
0
0
-2
0
0
0
0
0
0
0
-13
-31
-30
-32
-46
-5
0
0
0
2
0
0
0
0
0
0
0
0
-24
-60
76
6
0
-2
-2
0
-1
0
0
0
0
0
0
0
0
-2
-48
-1
28
-3
0
0
-1
5
0
0
0
0
0
0
0
0
14
9
-34
11
15
-3
0
-3
-37
0
0
0
0
0
0
0
4
-12
-5
-42
16
15
-2
0
-9
0
2
0
0
0
0
0
0
0
-5
-6
-14
-2
-2
0
0
-4
31
0
0
0
0
0
0
0
0
1
-12
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
4
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
5
24
32
14
16
0
0
0
0
0
0
0
0
0
0
1
1
1
18
34
-24
-13
0
0
0
0
0
0
0
0
0
0
1
-1
12
-41
57
50
49
5
0
0
0
0
0
0
0
0
0
0
0
-3
53
-3
51
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-23
-13
13
82
8
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-133
-45
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-34
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
43
22
-21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-7
-12
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
31
1
-3
0
0
0
0
-1
0
2
0
0
0
0
-9
-10
-7
22
-8
0
0
0
0
0
0
0
0
0
-14
4
2
-9
-5
-66
-21
18
0
0
0
0
0
0
0
0
0
42
18
-23
43
21
-39
-35
1
5
0
0
0
0
0
0
1
0
69
-47
-8
-2
8
41
-6
-13
-2
0
0
0
0
0
0
0
1
-54
-5
-16
-90
44
27
-5
12
0
0
0
0
0
0
0
0
3
31
-18
-9
-6
70
16
2
5
0
0
0
0
0
0
0
0
0
-2
-37
-12
1
0
-21
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
16
8
6
8
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
3
-8
-4
-102
-39
0
0
0
0
0
-1
-3
0
0
0
-6
-10
-22
74
38
-58
67
0
0
0
0
0
0
0
1
-29
8
3
-10
76
-2
68
31
7
0
0
0
0
0
-1
1
47
-2
-8
31
52
60
39
12
-40
3
0
0
0
0
0
0
2
-1
-13
5
-71
8
43
-13
16
-67
5
0
0
0
0
0
0
-3
-1
25
-5
13
-9
-12
31
-16
22
7
0
0
0
0
0
0
-3
3
7
10
7
41
-31
13
30
-27
-5
0
0
0
0
0
0
-3
5
0
1
0
0
-1
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-81
46
14
-49
51
1
0
0
0
0
0
17
-4
-3
23
-49
-50
-34
-7
22
-43
-42
16
0
0
0
0
0
14
-12
6
75
106
64
-20
28
5
4
13
10
0
0
0
1
0
0
-8
48
7
56
28
12
-88
1
-30
-41
-12
0
0
0
0
0
-1
2
16
27
54
-30
22
21
-11
-23
-56
13
0
0
0
0
0
-1
-2
-19
59
16
71
28
22
23
28
26
-3
0
0
0
0
-1
5
5
42
-40
55
76
-26
-21
-12
-17
21
-15
0
0
0
0
0
0
28
10
-39
77
96
18
40
14
70
32
2
0
0
0
0
0
3
2
1
0
5
-25
1
35
-8
57
3
0
0
0
0
0
0
0
0
0
0
0
22
-39
-20
-19
34
-49
-1
0
0
0
0
0
0
0
0
1
0
39
1
44
-44
-7
41
3
0
0
0
0
0
0
0
0
0
-7
10
16
0
45
80
0
-2
0
0
0
0
0
0
0
0
0
-5
4
-5
-4
41
20
-14
0
0
0
0
0
0
0
0
0
0
5
24
13
12
65
31
-10
9
0
0
0
0
0
0
-1
0
2
4
-13
41
5
49
50
30
4
0
0
0
0
0
0
0
0
0
0
22
6
1
75
-19
-1
2
0
0
0
0
0
0
0
0
1
0
-35
15
24
-13
-22
7
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-1
6
2
0
0
0
0
0
0
0
0
0
0
5
27
-30
-24
10
-114
-103
-1
0
0
0
0
0
0
0
0
0
4
0
4
14
-7
-19
12
9
0
0
0
0
0
0
0
0
-3
-9
-76
-38
-34
13
-9
75
-19
0
0
0
0
0
0
0
0
3
1
-13
54
105
-8
31
-14
14
0
0
0
0
0
0
0
0
0
-24
-66
36
60
178
10
25
9
0
0
0
0
0
0
0
0
3
22
-45
70
48
-6
67
100
-32
0
0
0
0
0
0
0
0
-6
22
22
52
2
-46
97
58
50
0
0
0
0
0
0
0
0
0
0
0
10
-10
-41
22
33
84
0
0
0
0
0
0
0
0
0
0
0
8
0
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-24
19
-13
35
-6
0
0
0
0
-1
2
0
0
1
0
-8
38
76
-8
40
-45
8
0
0
0
0
0
0
0
-13
-17
0
-15
-33
-38
67
104
-40
-35
0
0
0
0
0
1
2
-24
0
8
42
19
-159
61
72
14
-12
0
0
0
0
0
0
0
39
17
32
105
139
12
22
39
-8
-5
0
0
0
0
0
1
0
3
8
21
45
83
15
45
-64
-69
-1
0
0
0
0
0
0
-1
1
13
18
16
43
48
60
5
56
42
0
0
0
0
0
0
-1
-2
-1
-3
33
-30
3
9
4
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-49
-13
-10
37
-1
0
0
0
0
0
0
0
0
-1
0
2
15
-22
19
-22
59
3
0
0
0
0
0
0
0
-1
1
0
9
79
-45
20
0
44
-32
0
0
0
0
0
0
1
5
0
-13
-20
34
-18
-36
-45
35
-2
0
0
0
0
0
0
-1
-1
1
5
7
65
-13
26
57
11
-7
0
0
0
0
0
0
0
1
13
19
48
46
4
40
57
18
0
0
0
0
0
0
0
0
-12
31
14
1
33
0
-21
49
16
0
0
0
0
0
0
0
0
0
1
0
-1
84
24
130
-18
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
19
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
3
18
-37
43
0
0
0
0
0
0
0
0
-8
1
-2
0
4
18
-18
14
3
0
0
0
0
0
0
0
0
4
5
0
5
5
-14
-24
36
37
0
0
0
0
0
0
0
0
-4
1
-2
0
-6
12
3
-14
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-5
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-3
-1
-6
48
10
0
0
0
0
0
0
0
0
5
18
-13
-20
-5
15
-46
5
55
-5
0
0
0
0
0
0
0
-7
-9
-2
4
8
-12
5
45
21
-12
0
0
0
0
0
0
0
-3
0
-1
0
-5
-17
8
-44
6
-81
0
0
0
0
0
0
0
-2
0
0
2
3
25
24
80
-30
-26
0
0
0
0
0
0
0
0
0
0
1
-4
26
-27
42
-1
-98
0
0
0
0
0
0
0
0
0
0
0
10
13
-63
35
131
13
0
0
0
0
0
0
0
0
0
0
0
0
3
-129
73
37
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
-31
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
76
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
35
-52
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
39
-23
37
19
0
0
0
0
0
0
0
0
0
0
0
0
-1
40
-84
111
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-59
67
41
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
5
0
0
0
0
0
0
0
0
0
-2
0
3
-1
14
-8
1
0
0
0
0
0
0
0
0
1
1
1
0
1
7
-20
-1
-37
-7
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
-45
-9
22
3
0
0
0
0
0
0
0
0
0
0
0
0
-16
9
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
6
6
-47
99
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
27
42
-23
10
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
67
4
48
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
53
-17
-4
0
0
0
0
0
0
0
-2
0
1
0
-1
2
4
55
49
13
0
0
0
0
0
0
0
0
4
0
-1
0
0
16
45
-4
0
3
0
0
0
0
0
0
0
0
0
0
-2
-6
-31
-7
-56
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
46
69
52
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
4
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-42
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
-35
5
4
51
8
0
0
0
0
0
0
-1
0
1
-6
12
-28
2
-14
6
13
-1
0
0
0
0
0
0
0
2
17
17
-22
3
-25
15
-44
52
14
0
0
0
0
0
0
0
1
-2
-28
9
-9
-5
54
105
-31
23
0
0
0
0
0
0
0
0
-4
-10
4
-1
-48
-27
12
-50
7
0
0
0
0
0
0
0
0
0
0
-2
5
62
57
-59
9
-8
0
0
0
0
0
0
0
0
-2
6
-22
-45
-7
-5
-29
-1
-13
0
0
0
0
0
0
0
0
0
0
2
41
-41
-74
-7
-24
30
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-6
35
-2
-1
0
0
0
0
0
0
0
0
0
0
1
2
3
2
1
4
0
0
0
0
0
0
0
0
0
0
0
1
1
8
-3
-14
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
25
-24
24
-1
0
0
0
0
0
0
0
5
1
0
7
2
0
23
-2
-3
25
0
0
0
0
0
0
0
0
-1
-1
-5
-5
0
-14
-72
-10
2
0
0
0
0
0
0
0
-3
0
0
-2
0
1
0
-19
-1
2
0
0
0
0
0
0
0
0
4
4
0
-1
-2
-5
-2
81
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
3
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
25
-100
-42
-3
4
-7
2
0
0
0
0
0
0
7
-13
-5
-25
-10
-76
81
0
1
52
7
-2
0
0
0
0
1
1
-32
-23
-27
-21
-45
112
-15
33
-12
-33
0
0
0
0
0
0
1
86
3
-51
58
4
94
-28
-13
48
20
0
0
0
0
0
0
0
8
-51
-86
5
68
-50
0
64
-51
-34
-4
0
0
0
0
0
0
-1
-34
113
75
34
-55
17
-25
22
16
15
0
0
0
0
0
-1
0
22
49
-73
5
-47
-10
-13
6
-9
0
0
0
0
0
0
0
2
53
0
-1
6
0
-12
-3
-5
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
0
0
75
-9
-5
57
5
1
0
0
0
0
0
-12
3
-8
56
38
-71
20
-21
-40
-32
-28
28
-8
0
0
0
0
-1
-1
-15
-7
-6
-40
-1
10
-82
65
-50
-1
-2
0
0
0
0
0
-1
2
-22
-90
-91
4
-30
46
6
67
7
18
0
0
0
0
0
0
-1
29
21
31
-50
33
-5
-5
82
48
-13
0
0
0
0
0
0
0
42
-62
23
39
20
24
67
90
36
23
0
0
0
0
0
0
0
-1
-26
-69
-41
-22
-40
25
45
71
-20
0
0
0
0
0
0
0
-5
-20
75
42
26
0
-26
-7
-64
127
0
0
0
0
0
0
0
0
0
-9
-9
5
-40
-9
-28
0
0
0
0
0
0
0
0
0
0
0
0
-28
-19
-4
10
-4
0
0
0
0
0
0
0
0
-1
18
-32
-37
19
20
-14
45
-3
3
0
0
0
0
0
0
0
0
2
11
-5
-8
-3
-42
-5
16
0
0
0
0
0
0
0
0
0
0
-10
4
13
-6
0
8
10
0
0
0
0
0
0
0
0
0
2
6
49
-18
26
-25
6
-1
0
0
0
0
0
0
0
0
0
-3
13
64
-24
-23
-29
-4
-5
0
0
0
0
0
0
0
0
0
2
-45
25
35
-37
-17
-8
-2
0
0
0
0
0
0
0
0
0
25
-36
35
-14
-35
3
59
-10
-6
0
0
0
0
0
0
0
0
-1
-21
-30
4
-7
0
0
3
0
0
0
0
0
0
0
0
2
1
0
0
10
-41
-40
28
2
-1
0
0
0
0
0
0
-5
8
10
-41
40
27
34
-32
41
21
0
0
0
0
0
0
0
0
-3
3
2
25
3
60
-6
-26
15
4
0
0
0
0
0
0
0
0
8
-22
20
-61
77
48
16
46
3
0
0
0
0
0
0
0
-4
-8
7
-8
79
43
109
-20
8
35
0
0
0
0
0
0
0
0
41
66
0
41
19
62
5
39
7
0
0
0
0
0
0
0
16
70
-13
-14
-20
72
98
-66
62
0
0
0
0
0
0
0
0
0
-25
-21
43
-4
-8
-28
-18
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
75
89
-16
52
-14
39
-3
-7
0
0
0
0
0
8
1
1
14
58
-38
167
-48
58
-23
5
-8
0
0
0
7
-2
0
-3
-50
-28
-13
84
7
-84
-8
49
-3
-10
0
0
0
0
0
-3
4
33
-62
-54
37
36
43
-25
66
5
-48
0
0
0
0
0
0
-1
31
-37
45
34
-29
-24
24
73
-9
8
0
0
0
0
0
0
2
4
-7
-78
37
3
-33
47
-42
-15
1
0
0
0
0
0
0
0
29
4
8
-6
-16
-50
49
-24
14
-7
0
0
0
0
0
0
-1
0
-3
0
2
3
-2
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
10
47
-27
-43
13
5
3
-6
0
0
0
0
0
0
-1
23
10
-19
50
-27
17
39
16
-2
4
0
0
0
0
0
0
0
-20
61
71
97
-23
42
68
-24
-8
0
0
0
0
0
0
0
0
24
-25
57
-26
41
6
44
33
-10
2
0
0
0
0
0
-1
0
10
50
21
31
44
86
18
43
15
-4
0
0
0
0
0
0
0
-52
-51
49
70
-28
-35
128
8
-31
1
0
0
0
0
0
0
0
-24
-9
0
-39
-28
30
-28
-19
16
0
0
0
0
0
0
0
0
8
-21
-3
-53
66
39
80
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-2
-4
0
0
0
0
0
0
-1
0
5
3
0
-2
-1
-2
3
12
6
-1
0
0
0
0
0
0
-3
-10
8
-6
8
-1
-2
2
-3
9
0
0
0
0
0
0
0
0
-22
48
10
31
8
-9
0
-1
-16
2
0
0
0
0
0
0
0
5
10
5
45
-24
5
-1
-31
81
1
0
0
0
0
0
0
0
13
3
1
-7
-1
1
-6
-37
38
1
0
0
0
0
0
0
0
-5
-31
-4
-1
16
-5
12
10
-7
2
0
0
0
0
0
0
0
-4
-1
-18
0
-1
-2
-8
8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-3
1
0
0
0
0
0
0
0
0
0
0
0
1
0
39
17
59
42
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-41
17
47
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
20
-30
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-47
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
34
31
-24
1
0
0
0
0
0
0
0
0
0
0
4
-17
-52
-109
31
43
-4
0
0
0
0
0
0
0
8
3
9
-1
-49
-46
41
1
8
3
0
0
0
0
0
0
4
27
-7
3
1
22
39
-16
-36
4
-7
0
0
0
0
0
0
0
4
19
-18
45
19
-13
-27
9
2
0
0
0
0
0
0
0
0
-12
-2
61
-5
5
19
22
14
33
-1
0
0
0
0
0
0
0
0
-24
-18
-16
0
5
-2
2
-12
0
0
0
0
0
0
0
0
41
-7
-6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
25
2
-41
89
76
0
0
0
0
0
0
0
0
0
0
32
30
19
50
68
18
41
0
0
0
0
0
-1
2
8
42
-2
-6
9
-4
-9
36
30
47
0
0
0
0
0
0
1
13
3
18
-2
48
61
-50
48
12
51
0
0
0
0
0
-1
-4
0
35
97
75
14
101
-114
86
51
52
0
0
0
0
0
0
0
8
-5
14
22
30
39
30
5
-30
41
0
0
0
0
0
0
0
-13
8
-10
1
-15
-2
5
26
-7
20
0
0
0
0
0
0
0
0
0
1
0
-4
0
-1
15
-21
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
8
-22
-19
-21
75
-48
-5
0
0
0
0
0
0
3
3
-2
17
-29
-17
-13
29
-66
-158
-162
0
0
0
0
0
0
8
-8
34
-40
44
28
21
31
33
-56
-111
0
0
0
0
0
0
8
4
51
5
72
127
52
3
49
-97
-33
0
0
0
0
0
0
-2
4
-6
50
-51
-25
80
38
-9
-34
-95
0
0
0
0
0
0
-6
12
34
-8
56
-79
-29
37
-55
-99
-32
0
0
0
0
0
-1
-1
0
9
44
84
24
3
38
12
-14
-54
0
0
0
0
0
-1
1
0
1
-42
55
31
60
-15
58
5
-63
0
0
0
0
0
0
0
0
0
0
-16
49
-3
36
37
8
0
0
0
0
0
0
0
0
0
0
0
-5
50
-6
-48
-93
-49
77
0
0
0
0
0
0
0
0
-3
-2
1
-19
-92
-71
14
-42
19
0
0
0
0
0
0
0
0
0
-12
64
-10
34
-10
-44
15
-29
0
0
0
0
0
0
0
0
0
6
27
25
-7
-22
74
6
98
0
0
0
0
0
0
0
0
-1
4
-8
14
-25
-64
55
58
-22
0
0
0
0
0
0
0
0
2
2
-2
-4
-5
-46
-4
19
-10
0
0
0
0
0
0
0
0
-5
8
-6
15
37
30
0
18
7
0
0
0
0
0
0
0
0
5
18
1
8
-29
110
52
51
22
0
0
0
0
0
0
0
0
-2
6
8
-8
10
-21
-2
-111
16
0
0
0
0
0
0
0
0
0
3
-31
46
36
12
47
16
-1
0
0
0
0
0
0
0
0
0
-24
0
31
85
15
-1
6
56
0
0
0
0
0
0
0
0
0
21
57
2
67
37
33
6
-72
0
0
0
0
0
0
0
0
1
9
-23
-9
39
99
67
21
-51
0
0
0
0
0
0
0
0
-3
7
156
117
49
-8
5
72
37
0
0
0
0
0
0
-3
-1
0
-17
-2
36
-93
121
85
90
52
0
0
0
0
0
0
0
1
5
-18
25
-22
-3
22
156
84
-3
0
0
0
0
0
0
0
0
2
-7
-3
8
3
19
39
27
-42
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
30
-2
22
23
84
-41
29
0
0
0
0
0
0
1
0
1
0
25
91
-53
73
72
50
23
0
0
0
0
0
1
2
9
-6
19
-44
41
-100
116
72
-22
22
0
0
0
0
0
0
-3
3
34
30
146
129
57
5
50
-34
-7
0
0
0
0
0
0
0
3
-1
28
10
-8
-31
77
-4
31
13
0
0
0
0
0
0
1
8
13
16
-8
88
73
-2
-45
96
-45
0
0
0
0
0
0
0
13
-66
-6
-1
-10
72
29
22
18
-22
0
0
0
0
0
0
0
0
0
0
-2
0
5
4
14
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-16
-43
22
99
6
0
0
0
0
0
0
1
0
0
0
0
73
4
51
63
-9
48
0
0
0
0
0
0
0
4
0
1
-29
42
29
47
49
71
9
0
0
0
0
0
0
2
-5
0
-4
25
69
95
-42
53
-18
137
0
0
0
0
0
0
0
-8
-3
-13
33
23
43
56
98
55
93
0
0
0
0
0
0
0
-1
25
0
55
146
-79
-14
42
60
5
0
0
0
0
0
0
0
0
5
5
-20
24
-49
42
44
-51
31
0
0
0
0
0
0
0
0
0
-2
1
7
7
-50
-41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
43
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-8
-25
33
0
0
0
0
0
0
0
0
0
0
2
4
-8
49
0
12
-16
0
0
0
0
0
0
0
0
0
0
0
0
12
13
18
76
12
0
0
0
0
0
0
0
0
1
0
0
12
1
0
9
56
29
0
0
0
0
0
0
0
0
0
0
-1
3
0
13
19
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-33
3
6
15
1
72
0
0
0
0
0
0
2
30
8
-10
0
5
3
-37
31
47
6
0
0
0
0
0
0
0
4
-6
-10
21
-34
-8
-8
144
102
8
0
0
0
0
0
0
0
-1
5
5
2
-6
-43
42
-5
137
86
0
0
0
0
0
0
0
0
-1
1
0
-25
8
90
113
108
129
0
0
0
0
0
0
0
0
0
0
1
8
12
10
70
105
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
-114
49
31
102
0
0
0
0
0
0
0
0
0
0
0
0
-7
27
-29
34
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-27
-35
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
4
5
20
0
0
0
0
0
0
0
0
0
-1
-2
3
1
-17
34
30
29
0
0
0
0
0
0
0
0
0
0
9
0
8
16
17
70
5
0
0
0
0
0
0
0
0
0
0
-4
-3
0
-15
31
173
43
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-16
5
27
37
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
-24
28
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-18
19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
6
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
4
0
0
-6
-14
-32
-22
-8
0
0
0
0
0
0
0
0
0
0
1
2
12
-19
-3
52
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
70
13
49
0
0
0
0
0
0
0
0
0
0
1
0
-22
-5
29
-40
53
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
23
74
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
-43
-11
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
5
-19
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
17
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-12
17
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
33
60
16
0
0
0
0
0
0
0
0
0
0
-2
-5
32
-25
35
26
23
0
0
0
0
0
0
0
0
0
0
0
0
4
-17
-48
-4
4
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
-8
-24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-23
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
-6
19
1
9
21
8
0
0
0
0
0
0
0
0
0
6
50
1
15
5
-41
25
25
0
0
0
0
0
0
0
-1
0
51
-20
58
58
-43
49
14
8
0
0
0
0
0
0
0
0
-10
-44
-17
8
-27
13
42
39
42
0
0
0
0
0
0
0
0
1
-1
19
6
5
100
43
12
2
0
0
0
0
0
0
0
0
1
0
-4
-6
42
-6
28
69
31
0
0
0
0
0
0
0
0
-2
0
0
2
-5
-2
-17
80
35
0
0
0
0
0
0
0
0
-1
0
0
-2
-4
-6
-8
-58
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-4
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
1
23
-8
24
0
0
0
0
0
0
0
0
0
0
1
4
0
3
15
72
43
0
0
0
0
0
0
0
0
0
0
0
7
4
-8
17
8
-41
0
0
0
0
0
0
0
0
0
0
-1
0
8
-4
55
-19
3
0
0
0
0
0
0
0
0
1
0
0
0
-8
-9
-39
57
-1
0
0
0
0
0
0
0
0
2
-1
0
1
-8
10
45
59
-33
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
6
-8
46
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-23
64
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
44
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
0
96
18
-8
-3
25
-13
21
41
0
0
0
0
0
-3
-25
17
45
117
35
45
21
-21
-15
43
4
0
0
0
0
0
3
23
-33
-23
-30
16
-15
41
7
38
-22
30
0
0
0
0
0
0
-17
77
3
3
62
-11
-42
-25
35
33
-32
0
0
0
0
0
0
-4
-21
81
21
56
-24
1
13
42
44
8
0
0
0
0
0
0
-1
-5
-42
14
-55
-3
1
0
15
26
-10
0
0
0
0
0
0
-1
0
18
-19
-33
-1
37
5
84
-9
4
0
0
0
0
0
0
0
3
0
4
0
0
5
12
-15
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-24
0
51
-37
17
-64
-41
-42
6
0
0
0
0
1
0
0
9
-32
109
4
-36
60
-31
-16
-19
42
0
0
0
0
0
0
2
-41
-59
-29
39
-48
15
3
-51
15
45
0
0
0
0
0
0
2
-10
25
48
-29
44
-37
73
63
-25
-9
0
0
0
0
0
0
0
-9
2
120
-5
-24
-64
63
59
145
39
0
0
0
0
0
0
0
-5
53
-59
19
32
-30
25
28
44
-22
0
0
0
0
0
0
0
2
-50
-5
76
-41
-54
123
-30
-57
-10
0
0
0
0
0
0
-1
0
3
-29
-3
29
-65
10
-30
-12
-3
0
0
0
0
0
0
0
0
0
-8
-1
88
-72
12
1
0
0
0
0
0
0
0
0
0
7
-11
0
-52
54
2
7
-3
6
0
0
0
0
0
0
0
0
-3
10
-1
92
0
-47
-25
-8
-41
0
0
0
0
0
0
0
0
38
17
2
-8
-3
13
27
-7
-8
0
0
0
0
0
0
0
1
0
13
6
33
41
58
57
-8
-3
0
0
0
0
0
0
0
0
0
-34
1
24
-8
-13
14
3
-1
1
0
0
0
0
0
0
1
17
50
8
-2
10
19
8
-2
0
0
0
0
0
0
0
0
0
-17
6
121
-17
-30
-4
-66
-2
-3
0
0
0
0
0
0
0
0
-9
-24
-4
-15
-5
-25
-1
0
0
0
0
0
0
0
0
0
0
-25
-6
-11
42
0
-4
3
0
0
0
0
0
0
0
0
0
-1
-15
61
0
73
-25
-4
-11
24
0
0
0
0
0
0
0
0
-2
-19
-13
-41
-15
-72
-79
-2
37
-5
0
0
0
0
0
0
0
1
-4
13
50
46
60
56
-12
-35
-3
0
0
0
0
0
0
0
-3
6
-28
25
-35
29
-51
-48
31
-2
0
0
0
0
0
0
0
1
1
23
44
-31
-47
-27
-11
27
-14
0
0
0
0
0
0
0
-3
13
39
34
-32
-32
-8
-22
-16
-1
0
0
0
0
0
0
0
0
-23
22
-3
7
16
-67
0
14
0
0
0
0
0
0
0
0
0
2
-8
24
19
3
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
87
0
-24
-27
-39
1
10
49
48
-27
0
0
0
0
0
1
12
1
-21
-13
-22
-47
-30
5
134
31
-19
0
0
0
0
0
0
-10
-10
-46
59
15
55
70
26
13
24
-21
0
0
0
0
0
0
12
-64
9
-43
52
-42
26
14
-1
117
20
0
0
0
0
0
0
0
22
-14
-78
3
13
-53
28
26
10
-20
0
0
0
0
0
0
0
-4
18
-61
21
-28
23
9
49
-25
16
0
0
0
0
0
0
0
8
0
-2
13
4
-19
-9
-9
-41
-7
0
0
0
0
0
0
0
0
-1
-2
2
16
0
5
1
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-5
15
2
-1
8
-6
-23
3
0
0
0
0
0
0
1
2
15
18
-26
-45
-25
77
20
46
32
0
0
0
0
0
0
0
9
18
-7
-18
-33
5
-4
33
84
-16
0
0
0
0
0
0
0
4
-49
22
-45
-14
-41
1
-12
42
-7
0
0
0
0
0
0
0
31
0
-42
14
-72
-46
32
-3
11
-22
0
0
0
0
0
0
0
-1
-3
31
-57
-1
13
-4
154
-25
117
0
0
0
0
0
0
0
0
25
-2
27
-13
32
23
-56
-20
-22
0
0
0
0
0
0
0
0
19
21
0
17
-1
-17
-7
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
-4
-3
-1
0
0
0
0
0
0
1
5
2
-5
8
-6
1
-5
-2
41
8
0
0
0
0
0
0
0
-1
-3
-1
1
1
-6
0
-9
34
15
0
0
0
0
0
0
0
0
1
-1
-12
2
5
1
18
36
35
0
0
0
0
0
0
0
-4
0
-4
-4
23
6
4
18
37
-1
0
0
0
0
0
0
0
0
0
2
2
-3
-6
0
-14
4
-18
0
0
0
0
0
0
0
0
1
0
-8
10
0
-5
7
-3
-4
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
0
-5
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-6
-93
42
-39
44
-40
6
0
4
0
0
0
0
0
0
0
-26
-71
-22
-41
-36
50
-12
14
58
-36
0
0
0
0
0
0
0
49
-68
-6
24
5
31
-13
2
7
1
0
0
0
0
0
0
0
13
59
0
31
13
13
-1
-1
0
0
0
0
0
0
0
0
0
42
-11
-33
-2
12
-24
3
0
0
0
0
0
0
0
0
0
0
-50
90
19
-20
-18
76
-4
0
0
0
0
0
0
0
0
0
0
-6
-47
-79
14
-30
-19
0
0
0
0
0
0
0
0
0
0
0
20
41
-74
84
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
7
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
15
-68
19
-15
-12
1
0
0
0
0
0
0
0
0
0
0
7
-25
-36
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
-7
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-44
63
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-20
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
18
-34
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
21
49
17
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-25
-27
20
-21
4
0
0
0
0
0
0
0
0
0
0
0
-2
56
-58
16
-114
-13
-1
5
2
0
0
0
0
0
0
0
0
-16
46
-129
24
26
50
4
-3
2
1
0
0
0
0
0
0
0
1
43
118
-90
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
73
-33
0
-1
0
0
0
0
0
0
0
0
0
0
-19
-41
94
-47
27
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
79
16
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
7
-69
-76
-22
2
-6
0
0
0
0
0
0
0
0
0
31
25
0
7
3
-19
7
14
0
0
0
0
0
0
0
0
0
8
-9
-8
67
3
6
3
-3
0
0
0
0
0
0
0
0
0
-1
0
-66
-127
-46
-17
0
0
0
0
0
0
0
0
0
0
0
4
-37
9
148
-65
-3
0
0
0
0
0
0
0
0
0
0
0
1
2
-43
-46
58
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-16
20
108
97
-30
-153
-37
0
-1
0
0
0
0
0
0
0
-24
-100
43
0
24
-105
-9
21
-76
0
0
0
0
0
0
0
0
-1
24
-82
25
-18
-177
-47
75
-12
-6
0
0
0
0
0
0
0
31
-7
13
93
94
86
-95
-21
47
0
0
0
0
0
0
0
0
-4
13
-8
28
45
58
-21
-129
1
-8
0
0
0
0
0
0
0
10
-60
-54
56
38
29
29
44
0
0
0
0
0
0
0
0
0
22
21
64
-57
57
-13
116
-14
2
0
0
0
0
0
0
0
0
-23
10
-4
-47
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
18
-8
-12
-6
0
-2
0
-2
0
0
0
0
0
0
0
0
-8
55
15
21
-2
3
0
-6
-3
0
0
0
0
0
0
0
0
-8
-8
-13
26
5
-1
3
1
0
-7
0
0
0
0
0
0
0
0
-40
23
14
7
-5
1
9
1
-1
0
0
0
0
0
0
0
-1
8
50
43
-1
-4
2
-1
0
-13
0
0
0
0
0
0
0
0
-66
-12
5
-4
-2
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
30
-42
-84
-33
5
-144
-48
0
94
13
0
0
0
0
0
0
4
156
124
62
95
79
-55
46
39
41
-182
43
3
0
0
0
0
-2
-29
23
-103
83
127
-1
-15
-64
-60
23
34
0
-1
0
0
0
2
60
-66
34
22
43
45
54
58
49
-20
9
4
-1
0
0
0
-42
47
-68
25
5
80
88
143
41
100
-47
10
0
0
0
0
0
0
68
-15
-64
5
136
-46
14
50
45
4
0
0
0
0
0
0
0
1
-77
27
44
72
44
89
33
20
0
0
0
0
0
0
0
0
0
-3
6
3
5
-61
30
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-19
32
1
-13
-142
-11
0
-145
-154
-1
-8
7
0
0
0
0
140
30
-30
-19
-20
-109
-42
34
-14
-6
58
19
67
-2
0
0
0
59
59
47
19
2
-45
-23
7
3
-38
-91
-10
57
-1
0
0
0
24
71
28
-8
-29
-9
28
73
-31
30
-48
25
7
2
0
0
0
-22
75
-18
30
-20
-12
-12
-19
81
0
-4
-7
-4
6
0
0
0
50
39
-56
19
-4
-16
-1
11
-41
-123
44
-8
1
0
0
0
0
-2
23
-9
2
28
-24
0
-42
-40
-4
3
37
3
0
0
0
0
-13
133
-39
43
15
2
-4
-27
68
-49
0
0
0
0
0
0
0
0
1
25
-43
47
-27
-96
21
7
-1
0
0
-3
0
0
0
0
0
22
9
-5
-7
60
42
0
-136
4
-1
0
0
0
0
0
0
0
-40
-35
-103
63
-15
107
65
-6
1
-16
0
0
0
0
0
0
0
-5
-54
9
-20
-75
-7
1
-28
-31
2
0
0
0
0
0
0
0
8
-163
-67
30
76
43
103
-14
-7
-3
1
0
0
0
0
0
3
0
-41
44
98
76
47
15
-5
8
0
0
0
0
0
0
0
0
4
20
35
182
82
-21
2
-18
-3
1
0
0
0
0
0
0
0
1
114
73
-16
92
134
-71
-6
-1
0
0
0
0
0
0
0
30
0
-14
81
80
30
27
-5
-13
0
0
0
0
0
0
0
0
0
0
3
5
25
-69
119
4
4
0
0
0
0
0
0
0
0
0
-102
-137
-41
-61
-13
103
0
32
-21
-7
4
3
0
0
0
0
0
38
11
-30
71
-12
36
5
-47
-88
-4
-13
-8
0
0
0
0
0
26
5
94
24
3
58
-71
-25
3
43
35
1
0
0
0
0
0
-5
1
-7
40
-9
46
81
90
18
-5
-25
-3
0
0
0
0
0
-19
24
46
-10
-19
9
113
48
-31
-46
6
0
3
0
0
0
0
-21
-73
39
69
88
75
142
147
36
53
-14
-1
0
0
0
0
0
-1
21
51
10
90
89
162
109
30
59
17
-1
0
0
0
0
0
1
-9
37
16
-39
93
95
60
42
0
-3
0
0
0
0
0
0
0
0
0
-3
25
-3
0
0
0
0
0
0
0
0
0
70
43
14
-18
16
-12
-59
-3
0
27
77
8
0
0
0
0
0
109
12
-7
8
-37
63
-17
28
32
24
14
5
1
1
0
0
0
6
91
-42
-49
-7
-4
0
-50
-48
-98
73
-5
0
0
0
0
0
93
35
-68
68
46
38
59
42
23
36
63
32
0
0
0
0
0
-22
23
55
20
34
74
49
54
28
-8
41
-10
0
0
0
0
0
1
-25
42
23
67
47
58
46
60
13
10
-1
0
0
0
0
0
12
17
-16
-41
13
52
63
48
-46
-12
3
-4
0
0
0
0
0
-4
1
-10
-116
23
-9
94
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
68
25
-15
31
71
43
76
0
4
9
0
0
0
0
0
0
59
9
52
117
-28
52
73
36
38
-15
15
4
0
0
0
0
0
27
1
38
16
-19
6
19
31
-40
8
5
7
0
0
0
0
0
-31
23
-38
67
28
25
-45
14
67
106
-3
-1
0
0
0
0
0
5
-85
191
46
-25
-58
-13
57
61
5
-24
0
0
0
0
0
0
21
101
48
51
39
62
29
49
44
43
-16
0
0
0
0
0
0
-17
-10
19
25
124
44
57
-4
18
52
0
0
0
0
0
0
0
0
-1
3
11
20
-25
-5
25
15
-4
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
4
15
13
42
0
0
0
0
0
0
0
0
0
5
0
1
-1
-5
-35
-20
189
31
-33
2
0
0
0
0
0
0
0
4
0
-8
30
-84
82
12
-13
-19
0
0
0
0
0
0
0
0
0
-1
8
-8
-1
21
1
70
-24
-3
0
0
0
0
0
0
0
10
-10
13
60
78
-66
-54
-84
-37
0
0
0
0
0
0
0
0
6
-9
-13
14
8
18
-17
-111
-20
-6
0
0
0
0
0
0
0
6
-1
-1
0
-2
-44
-4
48
-20
-1
0
0
0
0
0
0
0
5
0
1
-1
1
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
4
7
0
0
0
0
0
0
0
0
0
0
48
84
0
0
107
-7
15
-15
0
6
0
0
0
0
0
0
0
-1
85
54
101
40
57
35
2
-4
0
0
0
0
0
0
0
0
14
47
33
46
12
-93
76
0
0
0
0
0
0
0
0
0
0
119
67
-37
21
-4
-20
-5
-17
0
0
0
0
0
0
0
0
0
-22
14
-5
-13
49
64
55
-3
4
0
0
0
0
0
0
0
0
-32
9
-60
-93
46
-53
1
-1
0
0
0
0
0
0
0
0
0
32
-2
-66
-61
56
46
-1
0
0
0
0
0
0
0
0
0
0
0
-19
-4
33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-128
0
0
0
-6
-5
7
0
0
0
0
0
0
0
0
0
2
93
5
101
8
-59
-1
0
0
0
0
0
0
0
0
0
0
0
8
111
60
49
-56
-2
0
0
0
0
0
0
0
0
0
0
0
-51
78
25
36
17
0
0
0
0
0
0
0
0
0
0
0
0
20
88
-59
79
5
-6
0
0
0
0
0
0
0
0
0
0
0
1
-27
-47
-22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-55
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
49
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
106
0
0
69
83
19
0
0
0
0
0
0
0
0
0
0
18
39
84
50
-47
-5
8
2
0
0
0
0
0
0
0
0
0
-3
47
127
-11
-16
-42
-1
-1
0
0
0
0
0
0
0
0
0
-1
16
18
28
68
9
0
0
0
0
0
0
0
0
0
0
0
1
-18
0
-39
91
1
0
0
0
0
0
0
0
0
0
0
0
0
-30
-2
45
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
32
66
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
35
69
95
79
54
21
0
1
0
0
0
0
0
0
0
0
-1
36
129
15
9
46
-8
4
2
0
0
0
0
0
0
0
0
0
87
0
134
41
22
8
0
0
0
0
0
0
0
0
0
0
0
22
-109
11
-37
-34
0
0
0
0
0
0
0
0
0
0
0
0
6
6
9
-72
111
-2
0
0
0
0
0
0
0
0
0
0
0
0
23
7
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-88
30
74
92
129
0
0
0
59
-2
0
0
0
0
0
0
18
-24
-6
-69
185
183
0
0
0
-17
18
-1
0
0
0
0
0
-16
-21
-5
-5
131
49
215
53
-3
1
1
-1
0
0
0
0
0
0
12
12
91
2
110
99
92
60
-35
0
0
0
0
0
0
0
0
11
92
51
53
3
-3
51
109
32
0
0
0
0
0
0
0
-2
38
27
75
12
27
-2
92
24
-68
7
0
0
0
0
0
0
0
12
62
-12
-32
16
-39
47
37
-17
-2
-2
0
0
0
0
0
0
0
-32
-15
52
-24
-26
-3
19
-5
5
0
0
0
0
0
0
0
0
0
-3
-2
-5
5
41
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-2
22
0
0
0
18
19
8
-2
0
0
0
0
0
0
-2
-3
4
34
48
32
41
-12
0
-3
-2
-2
0
0
0
-1
2
14
-3
-59
96
35
27
-11
2
-4
-1
0
0
0
0
0
1
-4
5
-103
37
-5
-6
30
46
-37
-5
0
0
0
0
0
0
-3
8
-27
-5
-8
-100
-69
5
-100
-7
0
0
0
0
0
0
0
0
25
-2
-12
47
-60
30
17
-20
15
0
0
0
0
0
0
0
0
-3
-2
-3
3
-15
24
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
39
35
0
-44
64
0
0
0
0
0
0
0
0
0
0
0
10
5
29
-1
56
21
12
0
0
0
0
0
0
0
0
0
0
15
-16
-45
-41
4
38
-8
-1
0
0
0
0
0
0
0
0
0
7
31
11
5
-114
-29
-51
0
1
0
0
0
0
0
0
0
0
9
41
-9
19
-61
-8
47
-31
-16
-5
0
0
0
0
0
0
0
27
26
62
64
57
47
-99
-46
4
24
-5
0
0
0
0
0
0
34
21
1
8
12
134
-41
99
10
1
-5
10
0
0
0
0
0
1
-56
-11
57
-66
-19
62
15
-27
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-3
-47
-62
18
108
101
230
0
0
0
0
1
0
0
0
0
0
-12
-42
-25
-12
39
209
185
0
0
40
42
-31
3
0
0
0
0
-28
-20
-3
0
44
34
88
69
194
10
-8
33
0
2
0
0
0
-28
-15
-41
-34
-18
95
146
-39
164
-87
-73
5
0
0
0
0
0
-88
38
5
-10
-25
28
48
45
123
15
32
-4
20
-1
0
0
0
28
-26
-8
-52
-42
-50
41
41
-29
-116
98
-9
0
0
0
0
0
13
8
2
-4
12
-65
5
41
-30
31
-3
4
0
0
0
0
0
0
3
-18
54
-40
-45
-30
1
0
-2
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-62
-12
-33
35
113
210
0
0
5
0
0
-14
0
0
0
0
-116
-21
-21
-2
23
92
85
78
13
-45
-93
-15
25
0
0
0
0
-22
-1
-10
-19
18
45
60
39
-53
-14
-1
-33
-5
0
0
0
0
43
-1
-9
-25
-7
11
58
30
44
-34
-35
-59
2
0
0
0
0
-69
10
-27
-11
-40
0
-9
-8
34
5
-88
-16
2
0
0
0
0
24
-54
-36
-41
-13
-30
-25
-4
88
54
-72
-24
1
0
0
0
0
-48
2
9
-2
-46
-32
-36
-48
-71
38
64
-42
0
0
0
0
0
-41
-16
-32
-23
24
-50
-77
-13
-82
-28
-29
9
0
0
0
0
0
0
0
58
21
18
-71
-12
-1
-4
0
1
0
0
0
0
0
0
5
139
176
230
305
285
67
0
0
0
0
0
0
0
0
0
0
118
64
60
88
148
124
109
41
-13
0
0
0
0
0
0
0
0
33
1
-10
-3
32
98
5
-75
7
0
0
0
0
0
0
0
0
-4
-82
-74
-28
85
43
58
-100
-40
0
1
0
0
0
0
0
0
6
-93
-77
-72
66
-41
11
35
-8
-13
0
2
0
0
0
0
0
-90
-29
-108
-26
-16
-30
-33
-8
-1
0
0
0
0
0
0
0
0
-16
5
-22
-111
-189
-11
-79
-23
24
-12
0
0
0
0
0
0
0
-23
-44
12
48
10
-122
-51
7
-34
0
0
0
0
0
0
0
0
-14
-74
-11
3
-66
-6
0
17
0
0
0
0
0
0
0
0
0
-9
-16
-11
41
69
136
49
105
0
-1
0
0
0
0
0
0
0
3
-13
35
34
59
176
0
101
26
7
0
-4
0
0
0
0
0
0
8
5
15
93
84
52
27
-61
58
0
0
0
0
0
0
0
12
7
-14
-1
42
44
45
14
7
9
-5
0
0
0
0
0
0
5
-17
5
-16
-31
-1
25
24
64
1
-3
0
0
0
0
0
0
-2
5
-67
14
-68
-57
-16
5
11
-1
0
0
0
0
0
0
0
-41
-11
-44
16
-57
24
50
-138
-22
0
0
0
0
0
0
0
0
-1
-30
2
82
-37
65
-93
-7
0
0
0
0
0
0
0
0
0
0
0
-20
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-49
8
-55
35
83
277
121
0
0
44
5
0
0
0
0
0
0
10
-17
11
-4
43
155
243
0
212
0
84
-29
3
-6
0
0
0
-72
-3
-23
-8
54
124
88
123
94
59
115
-8
0
0
0
0
0
68
1
-20
-24
33
33
-1
48
85
44
18
-29
-1
0
0
0
0
-9
54
20
-41
-1
-13
64
-25
-11
13
19
0
0
0
0
0
0
-43
7
12
-13
-33
-24
-2
39
-130
66
7
1
0
0
0
0
0
2
-43
-51
-31
20
-40
-14
-66
-59
-23
1
1
0
0
0
0
0
-1
15
-18
4
13
-59
3
-9
-2
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-8
-46
6
107
144
161
255
0
0
0
0
0
0
0
0
0
20
25
-162
-25
25
136
64
0
67
0
28
-2
0
0
0
0
0
41
4
5
9
12
108
8
33
167
86
33
0
0
0
0
0
0
-12
42
2
-57
-7
33
77
13
172
72
-14
5
9
0
0
0
0
-44
11
5
-65
-12
45
67
-16
41
77
23
0
0
0
0
0
0
8
-45
17
-14
-60
21
43
-42
49
-4
0
0
0
0
0
0
0
1
-10
-67
-11
-23
-16
-77
-22
8
12
1
0
0
0
0
0
0
29
-18
26
61
-64
50
-17
-8
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
107
-5
81
125
34
0
0
0
0
0
0
0
0
0
0
0
12
30
72
55
50
85
42
7
0
45
9
0
0
0
0
0
0
-1
56
3
51
6
-16
10
34
43
-23
0
0
0
0
0
0
0
7
-41
-30
5
-18
-43
16
17
9
-95
-9
0
0
0
0
0
0
-3
-14
-18
-44
33
-52
17
1
-25
-16
2
0
0
0
0
0
0
-48
-58
-12
18
-52
9
-6
-9
73
-28
3
0
0
0
0
0
0
-4
-114
-52
-71
-34
-58
-39
12
-24
-13
2
0
0
0
0
0
0
0
19
10
-24
-1
-10
3
-4
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
88
-10
-26
-69
-53
-43
1
0
0
0
0
0
0
0
0
0
6
-3
11
-22
87
28
22
84
-39
1
0
0
0
0
0
0
0
-12
88
64
-36
-59
63
13
-32
-40
0
0
0
0
0
0
0
0
68
-12
41
57
-3
10
3
0
1
0
0
0
0
0
0
0
0
63
14
47
-3
-12
-26
0
0
0
0
0
0
0
0
0
0
0
61
23
23
-1
-66
-20
0
0
0
0
0
0
0
0
0
0
0
30
-5
51
14
6
13
0
0
0
0
0
0
0
0
0
0
0
25
-27
24
101
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
23
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
38
-20
24
-22
0
0
0
0
0
0
0
0
0
0
0
0
8
116
-12
28
-30
-15
0
0
0
0
0
0
0
0
0
0
0
6
38
-31
16
-6
1
-1
0
0
0
0
0
0
0
0
0
0
-30
140
107
-42
-13
0
0
0
0
0
0
0
0
0
0
0
0
-27
3
-37
28
-4
4
0
0
0
0
0
0
0
0
0
0
0
24
66
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
-31
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
-6
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
31
-41
-5
-44
-8
1
0
0
0
0
0
0
0
0
0
-44
20
81
16
29
-21
-25
-14
12
0
0
0
0
0
0
0
0
36
-10
-13
14
41
-31
-2
0
0
0
0
0
0
0
0
0
0
-42
63
82
123
23
1
0
0
0
0
0
0
0
0
0
0
0
-25
128
52
2
16
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
-1
69
-17
0
0
0
0
0
0
0
0
0
0
0
0
3
-37
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-75
23
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-22
11
54
-13
-17
16
0
0
0
0
0
0
0
0
0
-8
105
-5
34
25
19
12
7
1
0
0
0
0
0
0
0
0
-6
23
93
-38
46
-24
0
-2
0
0
0
0
0
0
0
0
0
-3
9
112
55
42
-10
0
0
0
0
0
0
0
0
0
0
0
-2
90
129
51
9
13
2
0
0
0
0
0
0
0
0
0
0
-4
-10
-6
16
-23
1
0
0
0
0
0
0
0
0
0
0
0
-3
-3
22
-3
-7
-4
0
0
0
0
0
0
0
0
0
0
0
4
-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
7
-1
50
90
27
-17
30
-27
0
6
1
0
0
0
0
0
0
-77
32
11
-29
32
-14
-15
-121
6
-5
0
0
0
0
0
0
0
-18
119
51
16
-8
78
-45
114
103
-2
0
0
0
0
0
0
0
6
84
23
107
-41
21
-38
-10
-17
9
-1
0
0
0
0
0
0
25
72
5
-9
-9
-12
-43
0
-1
2
0
0
0
0
0
0
0
5
85
-17
76
-6
-10
4
-4
1
-3
0
0
0
0
0
0
0
-9
73
-104
1
7
1
3
0
-3
5
0
0
0
0
0
0
0
-13
41
-2
21
-2
-1
0
0
-27
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-21
5
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-26
6
-9
-1
0
-1
6
0
0
0
0
0
0
0
0
1
88
43
20
-1
0
0
0
1
0
0
0
0
0
0
0
0
41
81
-32
44
0
1
-14
0
0
0
0
0
0
0
0
0
0
-24
-33
16
43
-23
-1
0
0
3
-3
0
0
0
0
0
0
0
-3
22
21
3
-3
0
2
0
0
0
0
0
0
0
0
0
0
16
-10
53
-7
4
-4
0
0
0
0
0
0
0
0
0
0
0
-33
-50
32
-29
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
184
6
36
49
30
-6
-18
0
2
13
53
5
0
0
0
0
59
200
72
61
107
84
-91
13
27
52
31
31
17
0
0
0
0
49
112
111
37
47
125
-95
-52
-46
28
67
-21
33
17
0
0
0
-12
66
78
25
71
-8
86
87
37
99
1
66
-16
2
0
0
0
1
142
119
11
48
84
58
-33
-19
-51
-4
9
-3
0
0
0
0
3
-22
145
39
95
-6
79
5
4
7
-22
0
0
0
0
0
0
13
5
5
30
-25
-24
7
22
3
-20
-7
0
0
0
0
0
0
18
6
-23
-1
1
-2
0
5
-25
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
30
15
11
-12
47
12
17
0
-97
-52
86
-9
0
0
0
0
0
-68
-1
6
-2
-15
-57
-36
-60
-61
9
-4
-13
-27
49
0
0
0
-95
65
59
19
6
-8
-77
-124
-159
-44
50
-8
3
0
0
0
0
23
-41
32
-38
18
43
-8
-132
-68
-130
42
-46
-3
0
0
0
0
-36
-14
-13
15
-10
11
-7
-85
-42
65
15
-24
17
0
0
0
0
-22
-92
44
-3
-4
53
-42
-8
38
-66
87
-1
0
5
0
0
0
-51
37
23
-4
23
31
29
-2
91
5
12
-2
0
0
0
0
0
-45
42
126
1
-46
9
-9
-21
23
-73
4
-2
0
0
0
0
0
0
1
0
-28
8
1
23
-55
96
8
0
0
0
0
0
0
0
-9
-43
23
111
5
-16
29
0
70
70
10
4
2
15
24
0
0
27
59
51
33
41
-60
-20
-24
3
-26
44
3
31
0
3
3
0
32
-49
149
57
39
84
-34
-24
4
-50
-35
-75
13
4
-3
0
0
8
57
29
7
53
-35
6
28
43
-3
-16
-1
-7
0
0
0
0
-3
15
17
33
0
93
54
77
48
-40
-31
5
0
-2
0
0
0
-2
-25
25
37
49
-35
30
-52
4
-41
5
-41
-7
0
0
0
0
0
-22
22
43
17
-5
44
-55
-10
16
46
-43
2
-4
-4
0
0
0
0
0
13
3
-29
22
-29
-2
-5
33
32
15
-3
-2
3
0
0
0
6
49
9
19
26
3
-2
2
-65
-28
31
-4
1
0
0
0
26
46
79
47
0
10
0
45
36
-13
42
0
0
0
0
0
0
6
108
69
2
23
-49
10
44
7
6
2
-8
2
0
0
0
0
-22
41
69
14
-20
-69
-76
26
4
-48
-3
0
0
0
0
0
0
0
-27
71
51
-30
-74
28
39
-13
22
-31
0
1
0
0
0
0
3
48
11
26
-30
-7
20
42
-96
22
16
1
0
0
0
0
0
1
49
92
3
-27
68
-6
-5
13
20
21
3
-2
0
0
0
0
0
8
72
-14
26
-20
-46
-16
-16
-28
-42
3
-1
0
0
0
0
-1
0
48
-1
27
-27
-60
1
-85
2
-4
2
0
0
0
0
0
0
0
0
0
28
1
0
0
0
0
0
0
0
0
0
21
49
75
25
33
-8
-7
79
0
74
-4
45
0
0
0
0
0
-14
72
109
33
10
1
-26
-26
-2
-29
27
19
22
2
0
0
0
92
48
22
129
-21
40
51
-103
-10
99
-18
58
5
-2
2
0
0
123
31
69
74
86
67
-20
44
80
-33
0
-27
3
0
0
0
0
42
-16
13
15
91
89
50
67
45
123
-2
13
-1
0
0
0
0
25
-9
107
-5
11
11
30
65
50
70
14
-3
0
0
0
0
0
-4
-106
70
63
107
-25
12
-49
-24
6
-1
0
0
0
0
0
0
0
43
-66
-30
0
-51
-2
-17
42
13
2
0
0
0
0
0
0
0
7
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
87
-2
45
60
31
131
18
23
0
-95
8
1
0
0
0
0
0
38
45
56
54
-5
70
90
-113
46
-23
78
1
1
0
0
0
0
-31
58
107
63
33
-16
63
-95
-49
57
7
-2
0
0
0
0
0
51
83
102
41
-62
81
-2
60
46
26
-20
-4
0
0
0
0
0
-6
50
37
-10
-50
-25
16
-23
-6
108
19
0
1
0
0
0
0
-92
-14
128
62
80
-3
24
64
-38
-33
-3
-4
0
0
0
0
0
8
9
41
-43
-5
6
33
-63
-103
-25
0
3
0
0
0
0
0
0
6
2
5
2
-49
0
15
-26
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
5
0
7
-2
-8
0
9
4
0
10
0
0
0
0
0
0
0
10
-7
25
0
10
-1
10
-1
-95
-57
8
0
0
0
0
0
0
-1
9
8
-34
27
-47
15
3
-37
-16
-8
0
0
0
0
0
0
6
17
-12
13
49
-3
-32
0
-2
0
0
0
0
0
0
0
0
-1
12
12
24
-6
-32
7
2
-17
0
0
0
0
0
0
0
0
0
3
4
-1
22
-6
-3
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
5
7
-8
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-12
31
0
0
0
0
0
0
0
0
0
0
0
6
0
0
143
13
37
31
-1
2
0
0
0
0
0
0
0
1
18
207
258
96
60
-111
1
2
-1
0
0
0
0
0
0
0
0
-18
126
279
157
-27
61
7
0
0
0
0
0
0
0
0
0
-1
-2
131
92
50
-32
-37
-2
-1
0
0
0
0
0
0
0
0
-8
-27
-43
-77
48
1
-12
3
0
0
0
0
0
0
0
0
0
2
-14
-16
-9
-28
-69
42
0
0
0
0
0
0
0
0
0
0
0
0
-12
29
-35
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
59
-7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-72
-6
-1
0
0
0
0
0
0
0
0
0
0
0
106
195
99
5
8
0
0
0
0
0
0
0
0
0
0
0
0
28
162
-105
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
55
-3
-9
1
0
0
0
0
0
0
0
0
0
0
0
4
5
-30
43
0
1
0
0
0
0
0
0
0
0
0
0
0
4
-2
-94
-41
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
31
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
41
38
-2
0
0
0
0
0
0
0
0
0
0
0
12
146
197
139
-22
44
0
2
0
0
0
0
0
0
0
0
0
5
17
214
19
-40
4
7
0
0
0
0
0
0
0
0
0
0
2
-14
53
7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
76
55
6
0
0
0
0
0
0
0
0
0
0
0
0
2
6
3
-59
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
15
-2
2
0
0
0
0
0
0
0
0
0
-8
-1
0
0
61
47
0
4
0
0
0
0
0
0
0
0
0
-2
73
132
160
108
-34
1
1
0
0
0
0
0
0
0
0
0
3
1
77
153
38
-8
5
0
0
0
0
0
0
0
0
0
0
7
-23
-46
65
-33
32
-2
0
0
0
0
0
0
0
0
0
0
0
42
-21
-50
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-56
-104
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
21
7
4
-51
-15
25
0
0
0
2
-8
0
0
0
0
0
-4
-15
30
-16
-77
54
-41
0
0
0
12
-9
-4
-6
0
0
0
2
-13
99
41
92
34
49
102
187
42
-96
8
-5
0
0
0
0
0
21
6
-32
14
99
-90
126
159
111
-81
24
0
0
0
0
0
0
-46
77
47
-24
-114
-58
1
164
-7
50
10
0
2
0
0
0
0
-42
33
51
4
33
48
-29
38
-28
39
-16
0
0
0
0
0
0
19
-14
2
-30
-5
-8
-15
-26
-58
-114
-15
0
0
0
0
0
0
0
40
-5
-8
50
0
-27
-46
29
-53
0
3
0
0
0
0
0
0
0
0
0
0
6
-1
-33
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-1
-1
0
0
0
0
0
2
0
0
3
12
2
0
0
0
-31
-14
-1
7
0
0
0
0
4
0
3
-7
-4
0
-13
-5
29
-15
17
-1
0
0
0
0
0
-3
-8
18
3
10
8
32
97
148
-59
-1
-3
0
0
0
0
0
-2
102
-15
18
-24
7
79
-52
117
-52
-5
-1
0
0
0
0
0
0
-10
2
-9
-8
14
52
30
142
-42
3
0
0
0
0
0
0
0
14
2
3
9
-8
130
30
80
-11
5
0
0
0
0
0
0
-1
-1
0
0
0
-4
-5
91
96
34
2
0
0
0
0
0
0
0
0
0
0
0
0
2
104
13
-1
0
0
0
0
0
0
-17
17
-8
-49
-6
-51
-2
0
0
0
0
0
0
0
0
0
0
12
-20
-5
-25
87
27
8
0
0
0
0
0
0
0
0
0
0
23
-3
23
-23
-71
-4
-10
3
0
1
0
0
0
0
0
0
0
65
-23
0
-23
25
31
33
8
0
0
0
0
0
0
0
0
0
57
-8
2
22
26
7
0
49
-12
2
0
0
0
0
0
0
0
30
20
-14
18
49
123
-5
4
48
13
0
0
0
0
0
0
0
-75
12
3
10
-13
75
62
-10
-2
42
-4
0
0
0
0
0
0
-20
-52
-28
25
-31
34
49
-8
31
21
7
0
0
0
0
0
0
0
13
-6
5
-22
4
4
0
0
0
0
0
0
0
0
0
0
7
-3
-10
-2
-12
-7
42
0
0
0
50
1
-2
0
0
0
0
-22
-10
23
33
13
102
121
0
0
132
-31
-9
0
0
-2
0
0
-50
4
5
-4
54
-21
99
50
163
21
-9
56
0
0
-8
0
0
3
18
9
17
3
-31
87
4
182
91
20
-4
0
0
0
0
0
-34
21
-9
-14
-14
-36
51
-97
55
-13
-27
-14
-2
0
0
0
0
-47
1
-24
-30
31
13
36
73
-76
-15
0
0
0
0
0
0
0
-31
1
24
-40
8
98
-26
-8
-103
-23
-34
1
0
0
0
0
0
-4
-40
-26
8
-14
-15
0
6
-42
-29
-14
0
0
0
0
0
0
0
13
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
22
30
19
29
55
101
0
0
54
-24
-22
0
0
0
0
0
-3
-87
8
-20
27
16
19
56
13
-14
31
34
0
0
0
0
0
-87
-12
13
3
5
-1
-24
-38
-7
80
36
8
0
0
0
0
0
7
6
6
13
-12
-20
-38
13
75
51
-1
-9
0
0
0
0
0
45
-28
16
-20
-7
-14
2
-90
4
-28
-4
-6
-1
0
0
0
0
-49
8
0
-1
-1
3
-32
21
-16
-38
22
3
0
0
0
0
0
-40
-11
-9
-7
7
-19
-42
-17
-53
0
12
0
0
0
0
0
0
-25
-45
-5
0
25
-46
17
-69
-121
-64
0
0
0
0
0
0
0
-3
-10
66
48
2
-20
30
17
-8
5
6
0
0
0
0
0
0
14
44
114
83
92
119
-46
0
0
0
0
0
0
0
0
0
0
-22
15
29
26
92
-13
-59
-7
0
0
0
0
0
0
0
0
0
-6
-4
-11
27
20
11
5
-13
42
0
0
0
0
0
0
0
0
-33
-29
-7
6
51
43
25
-25
1
0
1
0
0
0
0
0
0
-32
-15
23
17
14
17
24
-24
-2
0
0
0
0
0
0
0
0
-16
0
-10
-60
-31
60
66
-22
-16
-3
-1
0
0
0
0
0
0
2
-2
-17
-10
-21
96
-13
25
-8
10
0
0
0
0
0
0
0
17
5
11
-10
62
-75
84
2
-7
0
0
0
0
0
0
0
0
5
13
-16
21
23
22
-15
45
5
0
0
0
0
0
0
0
0
-52
25
33
36
64
86
124
3
0
0
0
0
0
0
0
0
0
-20
9
-45
22
48
62
0
-42
62
-7
-1
0
0
0
0
0
0
-31
32
8
26
-3
58
41
-76
0
0
0
0
0
0
0
0
0
-3
48
0
-13
5
-25
-23
22
-21
-5
-2
0
0
0
0
0
0
6
18
6
-22
6
-41
24
-26
66
0
0
0
0
0
0
0
0
8
5
22
-10
-17
-10
-45
-49
-53
2
0
0
0
0
0
0
0
-8
-16
-15
-44
36
23
-139
-64
-72
0
0
0
0
0
0
0
0
33
66
8
51
-6
-4
-25
-6
8
0
0
0
0
0
0
0
0
0
2
-32
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-24
19
16
10
36
72
0
0
112
18
45
2
0
0
0
0
-60
-1
7
0
64
48
173
0
138
0
51
107
3
0
0
0
0
26
-1
-26
5
55
-47
1
63
162
15
-19
5
1
0
0
0
0
64
-3
-27
-4
24
6
133
-54
173
-77
-98
37
2
0
0
0
0
46
5
10
-23
49
-16
-42
23
35
53
-52
0
0
1
0
0
0
-84
-13
7
-20
40
-14
3
-61
-74
-101
-7
-17
0
0
0
0
0
5
12
-26
69
88
-36
-45
42
-57
-94
-3
0
0
0
0
0
0
-4
0
-110
-56
14
-13
-27
0
14
-13
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
8
0
0
0
0
0
0
0
3
-5
16
8
61
-37
-87
-2
0
78
12
1
-7
0
0
0
0
-27
-7
29
-11
13
55
58
0
72
0
11
5
0
0
0
0
0
-10
6
14
-6
-20
-33
81
58
141
55
16
19
-2
0
0
0
0
34
4
-37
-44
12
-31
88
45
57
164
26
4
-3
0
0
0
0
-91
-2
21
26
16
9
13
-42
89
201
0
-1
1
0
0
0
0
31
-82
-2
-68
56
-48
20
-1
5
-110
-10
0
0
0
0
0
0
60
-8
-46
-43
-14
45
10
-9
-31
-28
-2
0
0
0
0
0
0
0
-40
14
-40
-30
7
9
-9
-2
-12
0
0
0
0
0
0
0
0
1
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
-80
9
-17
6
0
0
0
0
0
0
0
0
0
0
0
-5
13
-30
-10
-5
0
1
0
0
0
-5
0
0
0
0
0
0
1
29
-5
3
-27
-1
-4
0
-1
31
-2
0
0
0
0
0
0
0
-1
-10
20
20
-3
-1
0
21
51
0
0
0
0
0
0
0
-1
36
-66
6
8
-2
0
-23
65
53
0
0
0
0
0
0
0
-8
-58
-26
12
-13
0
-1
-3
59
76
2
0
0
0
0
0
0
-1
-22
-1
-1
8
-1
0
-6
-28
93
1
0
0
0
0
0
0
-1
-12
-24
0
-2
0
0
-2
58
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-5
2
0
0
0
0
0
35
2
0
0
0
0
0
0
0
-25
26
-29
17
-4
-6
95
117
13
11
0
0
0
0
0
0
-10
20
-43
-43
82
24
-6
1
37
-40
3
0
0
0
0
0
0
32
17
57
53
-5
-30
20
-4
1
15
1
0
0
0
0
0
0
-78
-24
-33
26
-43
0
0
-3
0
0
0
0
0
0
0
0
0
-41
92
20
40
40
-64
0
6
0
0
0
0
0
0
0
0
0
-50
1
70
40
60
-6
2
0
0
0
0
0
0
0
0
0
0
-5
57
38
-80
-19
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-2
0
-1
0
0
1
-4
-18
20
-13
0
0
0
0
0
0
0
0
-1
-55
-43
3
0
0
0
-6
0
0
0
0
0
0
0
0
-3
-2
0
-25
-8
0
0
0
-1
0
0
0
0
0
0
0
0
1
23
-39
-24
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
44
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
9
31
57
2
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-72
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
2
-3
0
9
1
-2
-25
0
4
0
0
0
0
0
0
8
-22
13
15
-4
-2
1
-9
16
-19
0
0
0
0
0
0
0
-3
13
-75
4
-19
4
-6
0
3
0
0
0
0
0
0
0
0
0
7
-1
-25
-41
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
59
76
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-25
-7
41
-3
0
0
0
0
0
0
0
-4
72
-8
19
-8
-2
-1
3
25
0
0
0
0
0
0
0
0
6
7
37
-25
-19
0
0
0
0
0
0
0
0
0
0
0
0
-54
32
5
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
-25
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-2
0
56
-2
0
0
0
0
0
0
0
-7
-14
0
-34
-42
-5
-4
-57
150
28
0
0
0
0
0
0
-1
-5
-13
-17
60
43
-131
-83
-54
-54
1
-1
0
0
0
0
0
-57
18
-3
25
28
96
-51
58
40
-30
0
0
0
0
0
0
0
18
42
41
-1
18
61
11
-49
47
6
0
0
0
0
0
0
0
9
-10
50
-47
-33
-14
49
0
1
-1
0
0
0
0
0
0
0
-6
31
-19
81
29
-3
-41
8
-9
-8
0
0
0
0
0
0
0
0
-13
-9
37
-4
8
0
5
0
-3
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
3
-2
0
0
0
0
0
0
0
0
-7
-1
0
1
0
0
6
0
0
0
0
0
0
0
0
0
0
13
7
-2
0
-1
0
2
1
0
0
0
0
0
0
0
0
0
44
-51
27
-3
2
-4
0
0
0
0
0
0
0
0
0
0
-5
24
-1
23
-2
-6
0
0
0
0
0
0
0
0
0
0
0
1
34
1
13
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
-31
-52
0
101
-24
28
-6
8
0
0
0
0
0
7
-8
25
28
-74
-71
-84
54
-13
24
-25
20
-4
0
0
2
3
-47
-3
61
50
85
-55
-98
-75
-94
49
-5
-7
9
0
0
-2
0
33
-81
-40
62
87
-27
47
75
-40
-15
3
0
0
0
0
-9
22
-74
1
-4
66
97
37
15
52
13
-49
0
0
-3
0
0
-17
8
20
81
37
55
17
58
-27
-26
18
0
0
0
0
0
0
0
-13
1
-47
100
23
-54
48
-1
39
0
0
0
0
0
0
0
0
0
2
-2
-27
-49
-12
45
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-26
-20
-42
-58
33
0
-56
-133
-94
-68
-32
27
0
0
0
1
66
80
11
27
-101
-80
-46
-90
-152
-6
-39
76
-48
5
0
0
110
136
71
72
-40
-63
16
-10
-47
-55
-57
-41
-50
6
1
0
0
15
150
38
59
6
-18
-20
8
12
11
-128
-96
-48
9
0
0
0
46
52
19
24
-14
-12
-4
23
-53
28
-17
-18
-63
-1
0
0
0
35
22
53
6
9
-3
2
-4
19
1
5
-8
54
-5
0
0
0
22
30
37
9
10
-6
-7
-38
11
-4
69
92
-39
0
0
0
0
60
17
-18
-54
-32
4
4
14
45
8
-5
-35
-2
-1
0
0
0
0
-6
-53
50
37
51
12
-19
55
-26
-47
-53
24
0
0
0
0
0
0
0
-1
2
9
102
0
-44
-48
19
4
0
0
0
0
0
0
0
9
-7
25
31
10
2
-32
25
27
7
-7
0
0
0
0
0
0
-13
9
66
70
15
84
30
-21
-9
0
-3
-2
0
0
0
0
7
7
39
-41
-16
-20
-22
12
-18
5
3
0
0
0
0
0
0
1
42
60
-23
126
-23
37
10
3
-8
0
-1
0
0
0
0
0
0
-14
-3
-47
89
-66
-37
49
0
0
0
0
0
0
0
0
0
0
13
-8
24
-31
-22
29
-2
-3
0
0
0
0
0
0
0
0
-15
0
-24
-50
-25
-16
-20
9
-9
0
0
0
0
0
0
0
1
0
0
2
-24
-2
-66
2
0
-2
0
0
0
0
0
0
0
0
0
-2
45
-5
-66
-73
0
-56
47
24
47
3
0
1
0
0
0
-5
23
129
16
23
4
-54
68
-25
126
71
-50
6
9
0
0
0
-5
90
-74
72
-3
57
1
-21
-9
56
66
23
6
1
0
0
0
1
22
59
-35
18
67
49
57
18
32
-1
-11
-1
4
0
0
0
-8
89
37
-44
96
-12
85
19
20
28
-4
0
0
0
0
0
0
0
9
75
65
46
50
70
73
-52
0
49
0
0
0
0
0
0
0
5
56
-5
-2
80
-3
54
-30
-83
-29
-1
0
0
0
0
0
0
-2
-24
-25
98
45
48
9
-92
15
0
0
0
0
0
0
0
0
-5
0
-1
36
-18
24
-1
0
0
0
0
0
0
0
-4
0
0
0
0
-8
-32
102
0
-47
9
-27
28
18
0
0
0
8
-1
25
-2
48
4
-177
56
32
-51
41
41
-18
-11
8
0
0
-2
27
41
-75
-9
47
-47
-53
-47
-37
9
59
34
3
0
0
0
0
73
73
65
44
-79
29
57
14
24
-11
34
8
0
0
0
0
-13
-5
-59
-30
-25
57
78
88
33
31
-33
2
0
-5
0
0
0
0
6
17
27
83
30
105
90
14
14
0
0
-2
0
-2
0
0
0
-1
12
5
46
75
27
13
-10
1
5
0
3
0
0
0
0
0
4
-5
-7
124
-9
42
56
46
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
-10
0
-6
0
32
-90
-3
0
5
-1
0
0
4
2
0
-64
45
-44
-46
-27
-31
23
-40
49
5
-1
2
0
0
-3
-1
-10
-42
64
61
-57
-56
-38
-1
48
-13
-5
0
0
0
0
0
-56
-24
42
63
11
-56
42
90
94
-4
-8
0
0
0
0
0
2
28
109
-93
3
-5
-9
81
82
77
8
0
0
0
0
0
0
0
10
31
94
112
-59
5
63
12
86
14
0
0
0
0
0
0
0
0
-6
15
5
77
-40
-75
-3
-41
1
0
0
0
0
0
0
0
-7
2
3
31
60
-47
3
-66
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
-21
-7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
69
0
0
0
0
0
0
0
0
0
0
-1
0
16
0
76
4
49
-1
0
0
0
0
0
0
0
0
2
0
0
-3
-6
9
-86
4
-5
0
0
0
0
0
0
0
0
0
2
2
3
17
139
-46
-2
3
0
0
0
0
0
0
0
42
-2
0
-8
12
-5
-6
-67
0
0
0
0
0
0
0
0
-4
-4
8
-3
-2
4
-1
-18
-4
-3
0
0
0
0
0
0
0
1
5
9
-1
-1
0
-2
1
-79
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
25
11
-15
5
2
0
0
0
0
0
0
0
0
43
0
0
121
113
1
-42
13
-25
5
0
0
0
0
0
0
8
131
71
76
25
-24
53
96
5
-71
0
0
0
0
0
0
0
-10
-72
25
64
-7
13
-19
61
-73
-20
-1
0
0
0
0
0
0
23
50
72
47
20
-38
-17
-48
5
-4
0
0
0
0
0
0
0
-31
95
-28
-13
52
-68
-8
-14
-48
0
0
0
0
0
0
0
0
13
-55
26
-67
42
-20
14
-2
8
0
0
0
0
0
0
0
0
4
-79
-21
-26
43
-89
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
2
0
0
0
0
0
0
0
0
0
0
41
85
62
1
-11
-12
-1
-2
-1
0
0
0
0
0
0
0
0
-16
22
27
2
14
-5
0
0
0
0
0
0
0
0
0
0
0
31
89
-51
63
-4
4
0
0
0
0
0
0
0
0
0
0
0
-14
-66
-35
-24
-75
2
0
0
0
0
0
0
0
0
0
0
0
-22
18
7
57
-71
-1
0
0
0
0
0
0
0
0
0
0
0
4
-106
-5
41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
24
124
15
6
0
0
0
0
0
0
0
0
0
-25
0
0
9
-7
-35
8
-6
-6
0
0
0
0
0
0
0
0
6
-39
30
57
66
12
-3
-47
2
0
0
0
0
0
0
0
9
48
10
110
24
-9
-5
13
0
0
0
0
0
0
0
0
0
-13
0
-35
5
-6
-60
5
0
0
0
0
0
0
0
0
0
0
0
-97
94
-1
-49
-8
-2
-1
0
0
0
0
0
0
0
0
0
0
7
-72
-34
-14
0
-3
-1
0
0
0
0
0
0
0
0
0
0
2
-31
-5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
25
8
-6
-24
-1
0
0
0
0
0
0
0
0
3
148
50
36
69
37
1
-2
0
0
0
0
0
0
0
0
0
2
-53
-54
-73
-82
43
-7
-19
-1
5
0
0
0
0
0
0
0
-1
-8
102
81
43
7
2
0
0
0
0
0
0
0
0
0
0
-5
-20
-7
-73
-42
5
0
0
0
0
0
0
0
0
0
0
0
-4
7
3
-23
42
-9
1
-1
0
0
0
0
0
0
0
0
0
0
-22
52
-6
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
49
5
0
2
0
0
0
0
0
0
-2
-7
-4
5
0
0
0
93
-11
-15
-4
0
0
0
0
0
-1
-7
84
12
64
171
62
156
-13
-13
3
17
0
0
0
0
0
4
-42
-94
36
51
51
73
34
66
-6
41
-6
0
0
0
0
0
-23
32
45
44
25
-15
35
-14
47
-66
-4
-15
5
0
0
0
17
-43
-20
107
46
4
79
-39
29
5
15
1
-1
0
0
0
0
0
2
25
-77
58
-26
-12
-16
-86
-93
0
-1
4
0
0
0
0
0
0
9
16
19
12
52
42
99
-39
3
-2
0
0
0
0
0
0
0
0
0
10
23
19
-76
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
6
-1
5
0
0
0
0
0
0
0
1
-4
52
77
6
17
2
0
-1
0
0
0
0
1
0
0
0
-3
6
43
61
54
-9
-8
0
2
0
0
0
0
2
27
48
-4
2
-18
-13
-77
-27
-19
0
-5
0
0
0
0
0
0
12
14
-86
12
27
-40
40
66
-41
0
0
0
0
0
0
0
0
-17
-4
0
0
-20
-86
-5
-89
-2
0
0
0
0
0
0
0
4
0
0
-2
0
7
-78
28
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
36
38
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
20
-6
71
32
2
19
0
0
0
0
0
0
0
0
0
0
0
-32
-50
-47
47
-27
-31
14
0
0
0
0
0
0
0
0
0
0
-43
22
58
-127
-22
24
-6
5
-6
-1
1
0
0
0
0
0
0
5
-24
31
27
-19
-44
9
3
25
-1
0
0
-5
0
0
0
0
5
46
12
98
-9
10
41
30
7
46
-2
-5
10
-5
0
0
0
-2
-51
59
22
15
27
27
-19
-58
23
-59
75
42
9
1
0
0
0
24
20
102
49
-19
18
52
-39
-59
17
-2
-66
-7
-1
0
0
0
0
0
0
9
0
70
-58
7
27
-12
0
0
0
0
0
0
4
12
-67
4
-16
14
1
0
0
0
142
-10
-13
4
0
0
0
-97
-122
-70
-63
-20
46
21
0
0
210
154
-90
102
-25
-2
1
0
-14
2
-67
-9
13
-11
116
150
26
143
28
34
8
-1
-28
0
0
-88
10
-21
-9
-11
25
31
-6
56
71
51
-11
0
-1
3
0
0
-68
-27
-61
-5
-9
-11
103
39
23
-61
-47
5
19
0
0
0
0
-39
64
4
13
39
106
7
-114
14
8
-79
80
-1
0
0
0
0
8
14
94
-12
-18
-92
2
-13
-106
-9
-60
-8
0
0
0
0
0
0
-39
25
43
-8
16
-54
14
-3
-19
0
-5
0
0
0
0
0
0
0
0
0
0
2
-1
0
-5
8
0
7
0
0
0
0
0
0
-12
73
-117
5
158
191
0
0
-44
-22
17
0
-5
0
0
0
-32
1
-87
-39
-46
32
213
69
-9
-134
5
-1
-43
0
0
0
0
32
2
-10
13
-59
39
25
80
2
90
-30
-102
58
-1
0
0
0
55
-65
21
33
6
-30
43
5
50
25
-84
-22
8
5
6
0
0
14
45
-34
-13
15
-27
-3
67
-39
70
-34
15
5
-1
0
0
0
48
37
22
4
-17
-5
-41
-28
-100
25
44
-26
33
0
0
0
0
-21
119
-14
1
8
-95
-22
-11
13
-2
-30
-85
-49
5
0
0
0
-12
54
-10
20
-47
-11
-57
41
-52
-34
30
9
-2
0
0
0
0
0
8
-16
62
-40
-62
-139
-61
-57
-39
22
1
0
0
0
0
0
-59
72
24
30
32
0
-5
0
0
-1
2
0
0
0
0
0
0
146
106
11
220
105
110
12
16
-26
2
1
0
0
0
0
0
0
-9
29
-65
42
-53
-9
-62
-27
-3
-2
0
-1
0
0
0
0
0
72
-87
-32
-26
-1
-38
75
54
3
-9
0
-2
0
0
0
0
0
-42
-52
-68
-16
29
71
-36
-29
-9
2
0
0
0
0
0
0
0
-38
-40
-90
-24
14
-44
-47
-52
-4
0
0
0
0
0
-1
0
0
39
-49
-77
-91
5
-92
-8
-72
-23
0
0
0
0
-4
0
0
0
0
37
-31
49
-65
25
-43
-45
-42
-1
9
0
0
0
0
0
0
-18
-23
-6
1
2
8
-10
33
-1
0
-1
0
0
0
0
0
0
-36
41
-16
2
-31
23
95
6
0
1
-2
2
0
0
0
0
0
23
10
67
-1
13
241
0
-47
5
-24
4
-13
-15
0
0
0
0
-42
-95
52
33
-40
-15
169
8
41
-37
-2
0
0
0
0
0
0
22
-50
43
66
4
75
60
78
-22
-4
0
0
0
0
0
0
0
-43
-9
0
28
-60
-2
-64
92
90
-3
5
0
0
0
0
0
0
-112
-32
-28
2
-3
75
-9
-75
-3
-1
30
0
0
0
0
0
0
-73
16
24
54
23
13
-72
-8
9
9
4
0
0
0
0
0
0
2
37
16
88
5
-19
-49
-41
-1
0
0
0
-4
0
0
0
0
0
0
-3
-5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
3
-20
40
119
35
0
0
0
160
-21
-11
13
31
0
0
0
-5
-24
34
-41
-31
-25
47
0
41
0
-4
75
-48
-4
4
0
0
-41
-43
-17
-47
-40
-80
92
35
99
-15
53
-18
49
1
0
0
0
-26
7
44
63
-41
-11
0
-11
43
66
10
-1
-8
2
0
0
0
-9
76
-49
-25
37
-10
-16
64
118
68
-22
-27
14
0
0
0
0
-29
-128
57
-10
6
-43
-42
-48
37
-22
10
31
-8
-1
0
0
0
1
-27
-4
54
12
34
-65
-13
-14
-106
8
19
59
0
0
0
0
0
-5
-4
-5
-31
-32
-16
-109
1
-9
-32
10
7
0
0
0
0
0
0
0
0
-1
0
-1
-1
16
0
0
0
0
0
0
0
0
0
-6
-3
18
-4
0
5
0
0
2
24
2
0
0
0
0
0
0
7
-22
-19
98
30
33
0
-6
0
31
14
5
0
0
0
0
-3
52
-12
16
98
58
87
59
61
-6
79
79
2
1
-3
0
0
25
-18
-42
46
9
48
86
39
89
39
18
90
25
-1
0
0
0
74
22
50
61
84
32
59
-22
72
-51
7
31
8
3
0
0
0
6
-41
40
-5
13
-35
22
-3
-55
2
25
0
1
0
0
0
0
-1
16
58
48
-43
-19
-1
-66
-17
-55
-3
-1
0
-2
0
0
0
0
-133
13
-91
-75
41
-58
53
-50
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
5
5
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
6
-1
9
0
0
0
0
16
13
25
0
0
0
0
0
0
30
12
20
-2
-21
-14
2
134
-19
-6
1
0
0
0
0
0
0
61
69
-13
-19
-51
6
-29
23
-51
31
-2
0
0
0
0
0
0
-78
-13
-26
96
53
-46
-20
13
28
-1
-1
-2
0
0
0
0
3
77
-81
-18
-109
-46
-5
-69
-88
22
9
0
0
0
0
0
0
7
40
-96
1
-47
39
33
-12
57
-4
-1
0
0
0
0
0
0
-3
28
43
5
-25
-12
129
-13
-47
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-27
-23
-17
-7
5
0
17
0
0
0
0
0
0
0
0
67
-7
34
18
4
1
0
20
28
0
0
0
0
0
0
0
0
-29
-53
3
-34
-8
5
0
0
0
0
0
0
0
0
0
0
0
6
0
30
-5
-7
0
0
0
0
0
0
0
0
0
0
0
1
5
44
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
-9
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
43
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-12
-8
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
-15
-5
0
-4
1
-6
-7
0
0
0
0
0
0
0
-1
1
0
41
-6
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
5
-53
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-2
-1
0
9
0
0
0
0
0
0
0
0
0
8
6
33
7
14
-1
0
0
2
0
0
0
0
0
0
0
0
0
-5
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
6
15
39
-11
-94
0
-19
-19
7
0
0
0
0
0
0
35
14
64
28
-48
-97
-28
-4
-32
1
-5
4
0
0
0
0
-1
29
-3
59
47
36
-53
-28
41
-92
-5
10
0
0
0
0
0
0
53
-5
5
25
10
96
31
-9
46
13
0
0
0
0
0
0
8
5
13
3
6
-42
-112
-5
49
14
5
7
0
0
0
0
0
0
-8
8
17
-16
-24
-70
-42
-1
2
0
0
0
0
0
0
0
-1
-3
-2
-15
24
-12
-7
-47
-14
5
0
0
0
0
0
0
0
7
9
5
-5
0
0
5
-14
-58
3
0
0
0
0
0
0
0
3
-4
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-3
3
0
10
8
0
0
0
0
0
0
0
0
0
-2
-2
0
6
0
0
-3
5
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
-19
36
12
0
33
-11
53
-29
-1
-2
0
0
0
32
66
24
42
64
4
-19
5
66
15
-20
-41
14
90
0
0
-4
19
-31
85
58
119
-71
-12
-27
37
23
-3
-6
-18
59
0
0
33
123
96
42
-43
14
90
76
60
80
47
-41
66
49
-8
0
0
0
-10
30
-32
13
-25
-42
95
97
39
-75
18
42
0
-2
0
0
0
0
-41
23
10
-19
102
23
-27
-77
-98
3
-2
16
1
1
0
0
0
-8
0
13
5
8
-124
-68
-46
25
-1
0
0
-1
0
0
0
0
0
0
-2
-3
-15
-24
8
-8
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
42
5
27
-9
63
0
-17
80
83
-38
-27
60
0
0
0
-3
13
-20
38
50
-47
0
52
5
-38
-50
35
4
121
16
0
0
-60
-31
4
50
-55
-40
-27
-63
-39
-69
75
-25
21
-42
42
0
0
1
-60
-5
-14
-14
35
38
-69
-35
-57
-27
-19
-127
4
-21
0
0
-48
-135
-40
-102
57
74
-20
-81
-86
-50
22
9
-23
-3
1
0
0
-5
-88
-118
56
36
4
-13
-49
-59
21
7
-39
-1
5
13
0
0
-3
-5
-14
43
12
16
-9
-23
-87
33
78
27
-21
-8
0
0
0
3
0
31
42
-43
-6
-3
-73
38
33
-125
55
9
76
0
0
0
0
1
0
32
-44
-24
-6
47
-35
-31
42
-34
67
1
0
0
0
0
0
-5
1
47
-190
39
0
80
-6
-20
102
-41
2
-40
3
0
0
-10
-17
21
110
3
93
-7
-6
19
22
52
50
26
-35
-8
0
0
0
1
-41
184
30
-27
-81
1
-60
58
-31
-6
35
-8
-1
0
0
7
-4
57
48
73
-9
53
48
1
-24
54
31
-17
22
-1
0
0
0
0
31
-31
-75
31
14
-14
60
29
-7
5
20
0
-1
0
0
0
0
0
-14
18
-94
15
-31
44
17
-22
-41
-12
60
0
0
0
0
0
1
31
141
-14
-29
-17
-4
43
-13
32
1
90
-14
0
0
0
0
-5
47
-59
38
25
10
20
19
-44
24
3
67
2
0
0
0
0
8
-13
-22
14
2
55
1
-10
-61
32
-30
-20
-50
0
0
0
-8
47
27
-3
138
0
33
-4
53
35
43
13
45
-1
0
0
-1
-30
42
104
21
-23
0
47
40
88
23
5
-3
27
1
0
0
0
64
21
-41
-20
-24
-55
-27
74
103
34
-14
18
1
0
0
0
0
4
46
-13
-13
56
34
62
17
25
22
15
-4
-4
0
0
0
-2
2
-42
-110
-5
-40
25
59
11
-22
-15
13
27
-2
0
0
0
0
-4
-42
97
102
-25
-22
-38
23
72
-49
-58
-23
-12
0
0
0
0
7
-13
66
-4
18
-67
31
37
-4
104
18
55
2
-1
0
0
0
0
22
-15
43
-8
-31
9
110
127
2
-62
13
41
0
0
0
0
0
0
6
-13
42
2
-4
0
0
0
0
0
0
0
0
1
7
-1
66
-5
-118
89
0
62
-4
-22
-1
-11
0
0
0
-2
100
42
27
96
1
-66
-25
15
46
-68
-40
31
-29
-32
0
0
19
54
41
20
67
11
22
-42
-4
7
32
30
-28
-3
14
0
0
12
44
91
50
24
-8
67
36
33
59
-18
54
-53
25
8
2
0
0
20
5
18
57
13
58
23
15
-96
10
1
13
-3
2
0
0
0
6
-3
37
29
117
-53
19
3
-23
49
-3
0
0
0
0
0
0
0
5
-15
-5
-1
51
96
-23
8
68
-5
-5
0
0
-1
0
0
0
12
0
-51
1
49
-64
-7
-51
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-3
0
0
9
49
0
-88
-43
0
-3
14
-6
0
2
0
0
0
3
-4
8
44
28
-4
-39
-113
-15
-42
-5
-15
-20
0
0
0
0
0
20
-6
42
39
22
-11
-101
46
-1
30
54
5
3
0
0
0
8
-23
31
0
-56
31
-3
76
-7
65
134
78
0
0
0
0
0
0
4
-6
7
-27
43
44
-30
70
40
151
10
0
0
0
0
0
0
0
-15
50
-53
22
-6
-45
21
81
69
2
3
0
0
0
0
0
4
4
4
89
-26
-57
52
-39
-41
-7
0
0
0
0
0
0
0
0
0
8
4
4
11
11
-25
-37
-8
0
0
0
0
0
0
0
0
0
0
0
0
-19
-39
-5
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
23
0
20
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
120
105
-30
0
0
0
0
0
0
0
0
0
9
0
2
-5
54
-26
-52
0
0
0
0
0
0
0
0
1
3
0
0
1
6
-33
101
-22
0
0
0
0
0
0
0
0
0
5
0
0
0
1
39
-47
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-13
9
2
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-43
97
38
88
-6
0
0
0
0
0
0
0
0
50
0
0
93
-18
8
9
-80
-40
-9
0
0
0
0
0
0
0
0
204
220
172
31
-20
-98
53
-26
25
0
0
0
0
0
0
8
37
57
260
223
5
-30
42
12
0
-8
0
0
0
0
0
0
2
36
68
155
75
-30
-67
-5
52
22
0
0
0
0
0
0
0
0
39
17
-32
-53
-37
33
31
40
-29
-4
0
0
0
0
0
0
0
-69
-71
-45
-16
-5
-30
-88
-16
-22
5
0
0
0
0
0
0
0
-23
-95
-32
-15
-2
-10
31
-3
4
0
0
0
0
0
0
0
0
7
-26
23
-48
-8
-1
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
30
22
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
111
-5
14
3
49
3
0
0
0
0
0
0
0
0
2
173
179
148
-28
-63
-14
-3
-8
0
0
0
0
0
0
0
0
-27
106
174
12
130
-27
-5
-5
0
0
0
0
0
0
0
0
0
95
-45
58
29
-92
-1
0
0
-2
0
0
0
0
0
0
0
0
5
93
-37
-5
-21
-6
5
0
0
0
0
0
0
0
0
0
0
-4
-41
-26
-18
3
29
-1
0
0
0
0
0
0
0
0
0
0
0
35
64
-91
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
99
-48
0
0
1
0
0
0
0
0
0
0
0
13
0
0
25
-28
31
41
10
-9
-2
0
0
0
0
0
0
0
12
49
157
91
-35
-30
-5
-22
-1
2
0
0
0
0
0
0
0
-25
86
185
124
-28
75
18
-24
0
0
0
0
0
0
0
0
0
72
0
58
95
20
14
-8
4
-2
-1
0
0
0
0
0
0
0
32
-110
-66
23
-44
10
10
0
2
0
0
0
0
0
0
0
0
-42
-21
48
15
31
8
-2
0
0
0
0
0
0
0
0
0
0
5
-5
28
-21
-8
4
2
0
3
0
0
0
0
0
0
0
0
2
-5
52
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
82
-25
47
2
0
0
0
0
0
0
0
0
-4
26
0
0
93
40
5
13
-3
0
0
0
0
0
0
0
0
0
21
90
112
64
-2
-18
-2
0
-3
0
0
0
0
0
0
0
2
-71
-39
169
49
-13
0
3
0
-8
0
0
0
0
0
0
0
0
17
-29
-1
47
-25
-44
4
17
-2
0
0
0
0
0
0
0
0
-1
-70
-22
-5
13
-7
1
0
0
0
0
0
0
0
0
0
0
-4
-75
-129
111
-11
13
0
0
0
0
0
0
0
0
0
0
0
0
3
-67
-40
-32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
3
5
2
0
-4
0
0
0
13
13
10
0
0
-2
0
0
4
0
-30
-3
-15
17
0
0
0
72
-60
-25
-42
0
1
0
0
0
-3
16
31
-16
-112
151
134
51
-55
4
-57
5
-41
0
0
0
4
-1
-41
68
-47
89
117
209
144
54
8
-10
-43
-5
0
0
0
8
7
2
5
-46
20
-66
133
63
-6
-9
-15
6
4
-2
0
0
0
0
-2
5
52
-51
-9
-5
17
-66
-37
7
-24
-4
-4
0
0
0
0
0
20
8
-53
-7
0
-59
19
58
-53
-36
-43
-7
0
0
0
0
0
0
69
-37
-69
-21
-31
55
-45
-61
1
-1
0
0
0
0
0
0
0
0
-42
3
-6
36
-48
25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
5
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-71
10
0
-4
0
-9
0
0
0
0
0
0
0
2
21
-24
6
-34
32
-1
-2
-2
0
0
0
0
0
0
0
0
0
21
77
135
45
-37
-7
-1
-4
0
0
0
0
0
0
0
0
29
137
68
131
5
-3
-2
1
0
0
0
0
0
0
0
0
10
-37
41
-31
140
-78
19
0
-6
0
0
0
0
0
0
0
0
8
-15
11
123
54
10
44
-8
-2
0
0
0
0
0
0
0
0
0
1
79
63
161
-90
7
0
0
0
0
0
0
0
0
0
0
0
0
4
29
-13
-88
-1
0
0
0
0
0
-22
-3
-46
-21
42
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-36
4
3
34
1
1
0
0
0
0
0
0
0
0
0
0
-2
-38
-8
20
9
2
-2
0
0
0
0
0
0
0
0
0
0
-5
61
-29
80
61
-4
0
0
0
0
0
0
0
0
0
0
0
56
-29
2
35
72
-42
-16
-27
3
3
0
10
-41
0
0
0
0
1
110
46
-5
-15
-19
-13
-15
-13
-13
-10
27
9
-5
6
0
0
0
10
-97
-51
7
45
17
20
51
-55
19
7
20
-23
-14
0
0
0
0
45
21
-16
-8
-17
-22
-7
-27
-32
54
58
-14
0
0
0
0
0
0
2
0
0
0
6
8
-2
0
0
0
-3
0
0
0
-48
-41
-63
-32
-66
-1
7
0
0
0
29
28
-31
-5
-30
0
0
-77
-91
-60
-54
-61
-46
-43
0
0
255
71
85
23
14
8
-13
0
-26
-72
-47
-67
57
59
109
127
232
175
17
-46
46
28
7
0
0
-68
-54
11
6
-32
-3
-66
127
267
80
-75
7
22
3
-1
0
0
26
34
-21
51
43
73
4
-127
126
-83
22
-32
47
-30
0
0
0
1
76
16
102
37
24
33
-74
-74
-51
15
87
39
3
-5
-1
0
0
-31
4
27
93
24
-13
-44
-61
-58
-63
16
-5
5
-3
0
0
0
0
-2
-13
-7
-2
10
-12
17
-66
-1
-6
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
3
-55
28
14
93
55
0
0
60
-39
5
-13
-7
0
0
0
-1
49
81
-35
-23
19
65
58
69
-13
-15
66
15
25
0
0
0
-1
-34
-41
39
15
18
-35
76
69
-29
65
129
37
-4
1
0
0
-3
-67
-55
-33
-17
-12
7
32
98
74
-48
59
-50
0
-2
0
0
63
-57
-17
36
10
77
-37
-116
-99
-40
73
-54
48
3
0
0
0
-7
-7
-21
-57
13
-7
40
-6
-39
-3
-45
65
-7
0
0
0
0
-1
-38
61
6
-1
20
-16
-54
-2
-44
47
14
-22
0
0
0
0
0
5
-14
78
7
-2
-23
2
-23
5
2
0
0
0
0
0
0
0
0
-39
8
39
-50
61
-41
-6
-17
1
0
0
0
0
0
0
91
36
-1
10
8
55
-124
0
0
0
0
0
0
0
0
0
0
6
14
59
-4
-8
42
70
33
22
-1
0
0
3
0
0
0
0
40
48
-122
-13
10
23
-62
5
8
0
-8
3
0
0
0
0
0
-10
5
-53
16
77
-20
-24
25
-4
1
0
0
0
0
0
0
0
-11
28
6
8
-58
-21
7
41
-8
-4
0
0
0
0
1
0
0
-28
-42
-32
21
16
42
9
17
19
-1
-2
0
-2
6
0
0
0
13
116
-20
-26
-4
-63
-24
-2
17
-3
-1
0
0
2
0
0
0
-41
-74
9
6
-41
-27
-11
-2
3
0
0
0
0
0
0
0
0
8
-108
30
-22
43
1
4
-8
0
0
0
0
0
0
0
0
0
-2
-38
3
51
4
108
31
26
0
0
15
4
0
0
0
0
0
27
-81
98
-21
49
-35
0
45
-5
-6
-4
-5
0
0
0
0
0
-47
-45
33
-111
-22
56
-28
-69
23
0
0
-2
-2
0
0
0
0
3
-33
2
49
17
39
59
29
18
0
5
-3
0
0
0
0
0
17
87
-43
86
-47
-3
-30
63
-27
-5
0
-10
0
0
0
0
0
53
33
64
34
26
18
-26
-41
-18
-1
-3
-1
0
0
0
0
0
8
27
93
22
44
71
2
-19
-123
5
-7
0
0
0
0
0
0
48
-47
-28
38
-21
84
5
-44
-13
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-42
-33
-29
23
53
185
0
0
17
57
25
5
16
-2
0
0
35
-74
-79
-4
19
-60
28
0
164
0
49
76
-15
-50
-5
5
0
23
-5
28
47
-10
3
76
29
161
150
-85
46
43
-14
2
-1
0
21
7
2
36
-20
-9
52
2
231
56
-85
40
24
10
0
0
0
2
-9
59
-3
33
84
4
29
63
-35
-22
-27
55
49
-4
0
0
0
-72
85
3
61
-21
11
17
8
38
-42
83
69
-13
0
0
0
3
-7
33
60
39
-83
5
39
-45
-102
28
-43
11
3
0
0
0
0
0
33
-5
-15
-21
-31
-8
-19
6
-27
-2
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-20
0
0
0
0
0
0
0
0
-3
23
5
-32
-9
25
3
0
84
-80
-7
-3
-1
3
0
0
0
29
-7
-84
-155
-12
72
0
59
0
-19
-32
1
-1
0
1
0
1
7
52
-1
16
31
3
126
126
140
-49
-58
-28
0
4
0
0
0
31
25
-27
55
50
-4
80
105
103
-10
-52
-14
2
0
3
0
0
-2
0
-45
-58
-100
131
-50
32
-28
-19
0
53
5
-2
0
0
-3
41
11
-28
64
-48
-32
-5
-12
52
-64
-2
2
7
-2
0
0
-3
0
-52
-24
-32
12
-105
-57
72
14
8
2
0
-2
0
0
0
0
-3
0
-20
13
13
-15
-24
-14
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-12
0
0
0
0
0
0
0
0
0
1
-16
10
-5
7
0
0
0
0
5
5
-2
0
0
0
0
0
-2
20
-10
17
-12
13
7
0
28
-33
-1
1
0
0
0
0
0
0
21
-8
7
-5
8
0
15
85
-7
-1
-2
0
0
0
0
0
-3
2
-10
-13
4
5
-6
141
187
-97
0
-1
0
0
0
0
0
0
6
-2
-10
-1
-2
2
53
109
-5
-12
0
4
0
0
0
0
0
-1
2
-1
14
-4
59
112
120
-25
6
-1
-2
0
0
0
0
0
0
0
5
-14
-5
61
-23
9
2
1
-5
0
0
0
0
0
0
2
4
5
0
0
55
31
11
4
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
-49
0
0
0
0
0
0
0
0
2
0
-1
6
15
-42
0
0
101
0
0
0
0
0
0
0
0
0
0
0
0
23
-78
-3
79
94
-1
0
0
0
0
0
0
0
0
-1
-1
5
-39
7
8
110
89
6
0
0
0
0
0
0
0
0
0
4
1
28
-39
97
6
50
-31
0
0
0
0
0
0
0
0
0
5
-4
-8
-137
-1
65
-63
69
0
0
0
0
0
0
0
0
0
0
5
-22
-42
-5
-31
-60
-31
0
0
0
0
0
0
0
0
0
0
-3
6
83
31
37
35
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-33
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
2
-13
-16
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
6
-10
-43
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
8
21
153
-11
42
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
34
-24
-24
0
0
0
0
0
0
0
0
0
0
0
0
3
-28
0
65
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-125
-33
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-14
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-8
25
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
4
-6
-58
-6
94
93
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
7
-41
-52
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-22
51
53
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-17
-46
62
178
3
0
0
0
0
0
0
0
0
0
0
-1
1
-74
-27
-116
-83
0
0
0
0
0
0
0
0
0
0
0
0
6
35
8
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
10
-23
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
23
59
0
0
0
0
0
0
0
0
0
0
0
-1
2
27
8
38
-9
0
0
0
0
0
0
0
0
0
0
0
6
-5
-42
-34
30
-50
0
0
0
0
0
0
0
0
0
0
0
0
-24
-35
-118
-79
3
0
0
0
0
0
0
0
0
0
0
0
0
3
13
23
7
5
0
0
0
0
0
0
0
0
0
0
0
-4
24
-14
48
-7
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-32
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
81
-7
35
-14
-9
0
0
0
0
0
0
-2
-1
25
0
0
0
117
-19
-35
24
8
-10
0
0
0
0
0
-2
-6
-2
5
-52
-4
-40
-18
3
-51
-69
0
0
0
0
0
0
0
10
12
20
11
-26
94
-120
7
-104
119
1
0
0
0
0
0
0
3
3
32
-37
78
31
-18
14
-24
3
-1
0
0
0
0
0
0
0
7
-77
-49
144
-97
44
78
-32
-15
0
0
0
0
0
0
0
0
0
-4
7
29
23
-21
43
-42
8
0
0
0
0
0
0
0
0
2
20
16
-2
-7
-37
-2
0
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
-3
-47
0
0
0
25
-1
2
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
-61
-7
-8
3
0
2
0
0
0
0
0
0
8
0
70
44
0
-39
0
0
0
0
0
0
0
0
0
0
0
-2
0
-31
17
9
-24
1
-5
0
-4
0
0
0
0
0
0
0
0
0
-22
5
72
31
0
-5
-8
-9
2
0
0
0
0
0
0
0
0
13
46
30
2
12
0
-8
-1
0
0
0
0
0
0
0
0
0
-50
-17
31
0
-3
0
1
3
0
0
0
0
0
0
0
0
0
2
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
23
-47
-75
-71
-4
41
0
0
0
0
0
15
-43
-45
0
0
13
3
-12
17
17
-48
22
0
0
0
0
-1
0
-5
-7
69
2
62
116
26
28
34
-66
-72
0
0
0
0
0
0
24
19
-34
-3
53
75
60
1
45
47
-19
0
0
0
-1
0
0
-5
32
38
-28
95
35
114
38
27
32
46
0
0
0
0
0
-5
0
14
62
46
-29
16
23
79
16
-65
60
0
0
0
0
0
1
0
-8
12
12
2
20
-32
3
32
-17
13
0
0
0
0
0
0
22
-1
-48
-15
38
62
-9
49
96
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
-8
-1
0
0
47
10
-16
-3
-23
-27
4
0
0
0
1
-1
-16
-72
-7
69
-22
-25
-15
-31
-3
-16
68
8
0
0
0
0
4
-26
-28
27
39
32
-27
-21
-56
-8
-4
-3
31
0
0
0
0
1
-15
-9
45
-24
-92
-23
-25
-36
-36
-14
14
111
0
0
0
0
-9
-4
37
-46
1
-71
-32
-2
-9
-8
-4
-3
55
0
0
0
0
0
5
-33
66
-48
-48
-15
-35
-27
-11
5
1
129
0
0
0
0
0
13
59
12
-49
68
-53
-34
-45
-6
-22
4
-14
0
0
0
0
0
18
16
33
16
-6
18
-68
-33
-13
-2
12
17
0
0
0
0
0
0
0
7
5
23
-48
5
-50
-75
-82
-4
0
0
0
0
0
0
0
0
0
0
0
-51
-69
-50
19
-13
-31
0
0
0
0
0
0
0
0
1
55
-19
74
41
44
9
102
-34
-5
0
0
0
0
0
0
3
0
17
82
-92
58
80
-5
-25
0
0
0
0
0
0
0
0
-2
-3
9
27
-10
14
-48
-11
56
45
1
0
0
0
0
0
0
0
-7
-15
-22
70
-14
9
-42
-53
-16
-3
0
0
0
0
0
0
0
0
0
50
-38
-31
-27
11
87
87
-32
0
0
0
0
0
0
0
-1
34
14
8
-93
24
-9
120
4
2
0
0
0
0
0
0
0
1
-1
66
42
2
29
93
80
-25
0
0
0
0
0
0
0
0
0
2
0
16
22
13
15
73
105
0
0
0
0
0
0
0
0
0
0
21
-24
70
2
24
12
40
125
0
0
0
0
0
0
0
-2
13
22
0
4
52
-40
37
-18
70
0
0
0
0
-4
0
-4
7
52
15
13
-42
1
-20
48
36
57
0
0
0
0
0
-1
0
1
30
-18
-13
1
-13
24
44
51
-21
0
0
0
0
0
0
2
5
-2
-23
85
3
29
48
-6
50
30
0
0
0
0
0
0
12
9
43
-5
-35
-25
62
51
1
53
58
0
0
0
0
-1
0
-2
6
68
-64
-9
-22
15
8
76
25
5
0
0
0
0
0
0
0
0
-42
98
-14
-8
39
21
36
86
50
0
0
0
0
0
0
0
0
-8
15
-1
-6
12
-1
18
0
0
0
0
0
0
0
0
12
3
0
0
46
78
88
-37
-60
-23
-24
0
0
0
0
-1
-15
8
0
72
0
42
19
48
-33
-36
-56
-28
0
0
0
0
-4
-7
56
-32
-2
-85
60
52
21
30
11
-28
-13
0
0
0
0
0
-2
16
100
106
-65
13
21
12
61
17
34
32
0
0
0
0
2
-2
54
21
38
31
-61
42
20
44
51
51
54
0
0
0
0
0
1
18
56
95
6
19
28
-7
44
30
66
-39
0
0
0
0
0
0
13
108
-33
-30
34
-9
40
-18
-25
53
-8
0
0
0
0
0
-8
0
41
42
-62
-18
61
53
-5
-9
-93
0
0
0
0
0
0
0
0
0
0
1
0
1
-20
-10
-5
0
0
0
0
0
0
0
0
-1
0
0
15
49
54
88
9
-19
7
-30
0
0
0
0
0
0
15
0
24
0
70
-1
13
25
0
-14
-3
0
0
0
0
0
-5
55
-5
0
22
4
46
28
-20
45
22
5
0
0
0
0
4
-5
66
93
-15
18
77
85
17
-12
-26
22
0
0
0
0
0
0
-2
41
91
14
38
31
15
-29
-26
67
8
-35
0
0
0
0
0
1
-3
22
73
50
-31
32
1
-46
-35
-22
-5
0
0
0
0
0
0
-2
12
48
113
44
21
44
22
3
38
8
0
0
0
0
0
0
0
0
2
6
-41
34
-93
66
3
103
0
0
0
0
0
0
0
0
0
0
0
0
0
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
10
-20
-24
26
0
0
0
0
0
0
10
-6
0
0
0
41
-67
-42
-58
-110
-18
-5
0
0
0
0
0
0
0
8
0
1
14
-63
34
21
-55
-29
0
0
0
0
0
0
0
-5
-4
7
0
-17
2
7
10
-10
-50
2
0
0
0
0
0
0
0
32
-6
-2
-6
47
-58
29
-37
28
3
0
0
0
0
0
0
0
-2
15
-1
4
33
20
-67
92
24
-1
0
0
0
0
0
0
0
2
-2
0
21
5
47
36
-16
-27
-1
0
0
0
0
0
0
0
0
0
0
-5
1
-3
3
1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
92
65
170
-54
-6
11
24
0
0
0
0
0
0
0
63
-5
7
72
7
9
37
61
-3
48
0
0
0
0
0
0
1
-2
-10
41
-19
33
30
8
13
-101
-5
0
0
0
0
0
0
0
0
3
0
-30
-35
24
56
18
-10
-27
0
0
0
0
0
0
0
0
0
0
0
-20
84
102
-4
56
46
0
0
0
0
0
0
0
0
0
0
5
4
3
19
32
-12
27
0
0
0
0
0
0
0
0
0
-3
-7
4
-30
-23
79
7
39
0
0
0
0
0
0
0
0
0
0
0
11
3
-26
34
-5
14
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-94
-46
46
0
0
0
0
0
0
0
0
0
0
-1
-6
12
-53
-57
-27
-2
0
0
0
0
0
0
0
0
1
0
2
21
-72
-72
32
-42
-4
0
0
0
0
0
0
0
0
0
0
0
0
-17
-15
28
-49
6
0
0
0
0
0
0
0
0
0
0
0
0
13
26
13
-81
0
0
0
0
0
0
0
0
0
0
0
0
3
38
-14
-34
50
4
0
0
0
0
0
0
0
0
0
0
0
0
-32
60
-84
43
78
0
0
0
0
0
0
0
0
0
0
0
-9
32
98
61
5
39
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
13
-23
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-13
3
0
0
0
0
0
0
0
0
0
0
0
3
31
53
2
38
0
0
0
0
0
0
0
0
0
-18
3
16
20
16
-16
-10
32
-8
0
0
0
0
0
0
0
-3
-3
2
-1
-41
35
146
41
-51
-3
0
0
0
0
0
0
0
0
0
0
-6
-2
74
-5
-14
9
7
0
0
0
0
0
0
0
0
0
0
-16
6
50
2
23
80
8
0
0
0
0
0
0
0
0
0
0
0
-2
-13
66
47
8
-6
0
0
0
0
0
0
0
0
0
0
0
-1
60
53
-24
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-22
57
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
19
32
-9
66
-20
0
0
0
0
0
0
0
0
0
-28
8
32
78
66
-15
51
65
-8
0
0
0
0
0
0
0
0
-1
-1
-6
116
0
37
28
63
0
0
0
0
0
0
0
0
0
0
0
-1
25
7
58
45
74
-1
0
0
0
0
0
0
0
0
0
0
-2
-20
-91
65
135
79
2
0
0
0
0
0
0
0
0
0
0
0
-24
53
65
51
-29
-3
0
0
0
0
0
0
0
0
0
0
-2
-1
7
49
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
-37
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
51
58
-59
28
21
54
-13
19
0
0
0
0
0
0
0
6
9
17
-45
-73
50
12
7
-15
31
0
0
0
0
0
0
0
-8
-41
28
33
84
67
139
139
-40
35
0
0
0
0
0
0
0
3
22
-22
8
-39
120
42
50
-12
49
0
0
0
0
0
0
-2
-4
89
20
6
77
-28
16
4
75
11
0
0
0
0
0
0
0
5
67
-32
56
-6
57
154
50
87
11
0
0
0
0
0
0
0
46
9
5
-44
113
100
92
-17
60
18
0
0
0
0
0
0
0
0
0
-43
15
-11
88
64
26
59
72
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-1
25
15
3
0
0
0
0
0
0
0
0
0
-1
-4
5
-8
-18
73
13
-1
0
0
0
0
0
0
0
0
-3
2
22
-23
-9
-17
180
22
64
0
0
0
0
0
0
0
-3
-5
-3
-1
19
-41
-19
-34
5
-8
0
0
0
0
0
0
0
5
-10
16
0
58
15
-29
60
2
20
0
0
0
0
0
0
0
0
1
-24
15
-48
40
21
-20
26
-25
0
0
0
0
0
0
0
0
0
5
-25
-20
66
-34
-63
6
-41
0
0
0
0
0
0
0
0
-3
-27
6
-8
53
-83
-27
-29
-15
0
0
0
0
0
0
0
0
8
0
1
0
44
-47
4
13
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-73
-26
0
46
93
70
105
-2
35
8
-4
0
0
0
11
59
28
-15
48
28
26
19
70
102
33
52
3
8
0
0
-1
0
60
-5
-67
-26
12
23
14
60
168
138
29
-52
6
0
0
0
-6
7
52
11
-5
-27
8
20
13
11
2
67
-29
25
0
0
0
0
0
53
-63
-31
10
6
14
-58
5
-5
94
-46
1
0
0
0
0
0
6
-5
-23
35
-24
-54
-40
101
60
49
-5
0
0
0
0
0
0
0
-16
-91
-14
-47
-104
65
87
12
63
-25
0
0
0
0
0
0
0
0
-42
4
19
-91
23
-5
67
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-35
-40
-27
0
-44
-51
-8
13
54
53
-5
0
0
0
0
-6
-15
-110
18
-70
-5
7
-9
18
-5
-11
9
17
0
0
0
0
0
9
26
-5
-27
11
-32
-8
23
81
101
-21
-42
0
0
0
-1
2
-15
5
-23
16
68
4
-19
28
82
81
57
101
0
0
0
0
-1
8
-21
-65
61
24
-3
-5
5
31
52
63
80
0
0
0
0
-41
5
-24
66
-50
2
-44
10
6
5
82
32
54
0
0
0
0
0
-15
-56
-34
6
17
-13
1
5
18
59
13
-46
0
0
0
0
-6
23
43
-58
8
-9
-17
-3
5
37
81
48
-53
0
0
0
0
0
-16
-27
71
30
-11
16
82
12
-72
-6
-7
2
0
0
0
0
7
57
-14
2
-3
0
5
-16
26
-23
92
0
0
0
0
0
0
0
37
-73
36
-14
-28
4
69
-13
25
41
0
0
0
0
0
0
0
-9
41
11
-23
14
2
58
-7
46
-57
0
0
0
0
0
0
0
3
-62
39
-29
82
70
85
-17
-14
-84
-3
0
0
0
0
0
2
0
33
29
-26
-17
43
63
91
80
-3
0
0
0
0
0
4
2
-25
-21
29
7
40
-16
16
31
-22
37
-2
0
0
0
-1
3
13
5
-10
4
8
-1
-31
0
73
87
110
-1
0
0
0
1
9
52
-10
2
-6
15
-46
-63
-4
-35
79
28
0
0
0
0
1
1
7
99
-52
-39
-52
-34
-38
5
27
-103
-28
5
0
0
0
0
0
2
53
67
31
-43
0
-5
52
-27
20
31
15
0
0
0
0
0
32
60
-87
12
99
-14
14
32
-4
-1
33
55
0
0
0
0
0
25
2
-19
-2
36
31
-22
9
8
80
81
-43
0
0
0
0
0
-22
-5
-13
-27
-3
0
68
41
49
55
43
-14
0
0
0
0
-3
8
-4
-26
3
4
1
21
-16
53
54
85
0
0
0
0
17
13
-73
25
15
6
5
-20
-13
-7
24
56
35
-2
0
0
0
-5
11
-34
19
-40
-7
-17
7
-10
-16
48
36
12
8
0
0
0
0
-41
21
-48
-42
2
-9
-19
118
-10
21
86
43
0
0
0
0
0
0
0
0
0
0
-14
13
9
56
1
0
0
0
0
0
0
0
0
0
0
-15
-22
-30
0
29
68
-7
40
56
58
41
-10
0
0
0
0
-6
-25
-44
-50
68
53
39
23
124
57
38
-5
-31
0
0
0
-1
13
-46
-21
-39
-3
45
75
119
116
54
83
27
13
0
0
0
0
-4
7
5
-74
12
23
24
24
91
-18
19
43
-2
0
0
0
2
0
8
-12
57
-19
20
36
17
88
131
9
12
20
0
0
0
0
0
2
8
-45
-28
-31
26
22
40
-12
116
49
7
0
0
0
0
0
0
-15
-88
-3
-14
-11
66
47
-2
127
80
5
0
0
0
0
0
0
-9
17
24
-38
-13
1
129
-70
33
-2
0
0
0
0
0
1
0
0
-2
0
-27
-1
0
0
0
15
-3
0
0
0
0
0
0
-1
42
31
0
41
-35
-59
65
-75
-48
20
-3
0
0
0
0
0
0
49
-56
30
-21
-100
39
66
9
80
8
-6
0
0
0
0
1
0
6
-34
-27
21
72
27
85
30
82
6
19
0
0
0
0
0
0
60
-93
132
87
64
4
3
118
170
64
-10
0
0
0
0
0
-23
-62
-135
-29
-34
15
53
83
96
60
76
49
0
0
0
0
1
2
31
12
9
-13
16
69
97
-25
44
39
32
0
0
0
0
0
-41
-16
25
-46
-13
56
79
108
85
16
74
1
0
0
0
0
0
0
0
-48
-6
-21
-52
-4
64
8
41
1
0
0
0
0
0
0
0
0
0
6
0
-20
0
2
-1
5
0
0
0
0
0
0
0
0
0
0
0
20
7
-39
0
-3
1
0
-1
0
0
0
0
0
0
-1
41
55
22
53
149
32
14
41
23
-19
0
0
0
0
0
3
0
29
1
-9
76
8
4
31
41
26
6
0
0
0
0
0
0
-8
-25
37
-24
-16
43
43
1
64
31
13
0
0
0
0
0
0
5
41
-44
-71
18
-2
-25
-3
-5
61
-14
0
0
0
0
0
0
2
-40
-31
-50
-21
-67
-5
2
5
-78
-57
0
0
0
0
0
0
3
14
0
27
-8
41
29
-7
-3
41
0
0
0
0
0
0
0
32
-31
-56
52
35
-24
-3
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
37
103
0
0
0
16
0
0
0
0
0
0
0
0
0
10
57
-29
31
-19
0
0
17
0
0
0
0
0
0
0
0
0
0
-2
-28
-36
-57
-17
39
102
-5
0
0
0
0
0
0
0
0
2
-19
-5
-86
-21
76
109
15
3
0
0
0
0
0
0
0
0
-1
0
63
38
-2
5
70
53
16
0
0
0
0
0
0
0
0
0
-22
29
-60
40
-16
3
-19
-5
0
0
0
0
0
0
0
0
0
1
1
-85
5
-13
42
-52
0
0
0
0
0
0
0
0
0
0
0
50
-63
11
-3
-7
44
0
0
0
0
0
0
0
0
0
0
0
-5
42
27
-24
48
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
34
0
0
4
0
0
0
0
0
0
0
0
0
0
0
7
-28
29
16
55
1
0
0
0
0
0
0
0
0
0
0
1
-22
0
97
-125
-4
25
0
0
0
0
0
0
0
0
0
0
-1
0
-9
26
79
69
25
0
0
0
0
0
0
0
0
0
0
0
-6
-19
-42
-29
-75
14
0
0
0
0
0
0
0
0
0
0
0
0
-6
-46
19
-58
2
0
0
0
0
0
0
0
0
0
0
0
3
3
5
27
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-34
-39
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
13
5
75
0
0
49
0
0
0
0
0
0
0
0
0
-1
2
15
-101
30
-125
26
48
-15
0
0
0
0
0
0
0
0
0
-1
0
11
10
108
-13
-5
4
0
0
0
0
0
0
0
0
0
0
0
53
-16
75
74
-15
-3
0
0
0
0
0
0
0
0
0
0
22
-1
-57
28
31
-12
-1
0
0
0
0
0
0
0
0
0
0
-2
52
49
-8
-46
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-10
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-6
4
-9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
16
2
-49
0
0
32
30
0
0
0
0
0
0
0
0
0
0
-1
2
40
67
48
-17
1
0
0
0
0
0
0
0
0
0
0
1
26
56
70
99
-27
13
0
0
0
0
0
0
0
0
0
0
0
7
8
-12
59
3
-13
0
0
0
0
0
0
0
0
0
0
1
-13
89
63
-30
-2
-3
0
0
0
0
0
0
0
0
0
0
-9
-28
-6
22
-8
-28
10
0
0
0
0
0
0
0
0
0
0
0
1
-37
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
42
3
-14
1
7
-14
0
0
0
0
0
0
-21
38
0
0
0
0
-69
-57
-26
116
46
0
0
0
0
0
0
5
37
8
70
45
7
85
-46
-74
7
102
-1
0
0
0
0
-1
-1
46
57
43
16
66
-43
30
17
-12
9
0
0
0
0
0
0
-8
16
68
-26
62
24
91
-28
-5
42
5
0
0
0
0
0
0
0
-29
19
29
16
5
-80
30
6
0
-5
0
0
0
0
0
0
-16
28
5
62
44
37
-5
-43
0
0
1
0
0
0
0
0
0
-2
-29
-7
-33
-75
-14
-1
5
0
-15
0
0
0
0
0
0
0
0
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
29
-21
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
101
7
14
0
0
-3
-9
-4
-9
0
0
0
0
0
0
0
-1
28
68
-49
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-44
-66
122
-1
9
1
0
0
0
0
0
0
0
0
0
0
-4
-103
-12
8
4
0
0
3
-2
0
0
0
0
0
0
0
0
-1
-9
-78
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
38
0
0
0
55
120
-63
94
3
-24
33
0
0
0
0
-9
17
16
148
0
0
145
72
12
34
16
49
32
0
0
0
-2
-4
-31
8
79
69
70
147
56
79
42
80
22
2
0
0
0
0
0
4
-89
13
73
100
40
-9
22
108
30
56
77
0
0
0
-4
2
3
-25
77
65
-3
163
61
30
21
56
23
-11
0
0
0
0
-1
-9
19
29
-10
58
0
102
-15
3
20
15
-33
0
0
0
0
0
0
-4
42
-31
51
-58
10
-3
-18
17
40
-5
0
0
0
0
0
0
0
-17
23
14
7
-1
1
-7
15
-21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
14
12
6
82
0
0
-36
30
32
44
5
-84
-70
0
0
0
1
-13
10
-79
35
-14
2
-35
39
18
41
-31
-70
7
0
0
0
0
-6
47
34
73
-8
-50
34
22
-6
-38
18
-19
-8
0
0
0
0
-3
-6
-57
-61
4
9
31
23
-26
-25
8
-42
-27
0
0
0
0
0
-20
101
-30
-33
-60
-6
-12
-7
23
-50
-97
-101
0
0
0
0
4
5
8
-87
-56
-54
-46
2
-7
4
-61
-29
-82
0
0
0
0
5
0
-42
56
-9
-49
7
17
-25
32
9
-13
5
0
0
0
0
0
0
69
39
13
-17
58
11
-40
60
93
-10
39
0
0
0
0
0
0
-1
0
0
5
-8
5
44
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
39
11
4
-4
-65
0
0
0
0
0
0
0
-1
8
5
105
118
26
-88
-18
24
69
0
0
0
0
0
0
0
-7
20
40
99
13
30
-20
38
25
30
0
0
0
0
0
0
1
55
57
-42
34
-19
77
-39
13
-24
46
0
0
0
0
0
0
1
0
9
-43
36
-36
74
56
-13
-3
-13
0
0
0
0
0
0
0
4
43
22
-24
44
56
2
9
-32
-1
0
0
0
0
0
0
0
1
6
-5
9
25
-49
33
-26
10
54
0
0
0
0
0
0
0
1
10
60
41
3
-19
15
53
10
18
0
0
0
0
0
0
0
1
-55
13
3
25
7
45
50
27
-30
0
0
0
0
0
0
0
0
0
-28
12
22
30
-14
-5
-5
108
0
0
0
0
0
-2
0
3
5
70
0
43
12
-4
-64
-17
-16
0
0
0
0
0
0
0
1
2
166
-56
51
16
46
17
-56
10
0
0
0
0
0
0
0
-5
20
67
48
-27
85
-7
53
-37
13
0
0
0
0
0
0
0
0
41
-26
86
-48
118
12
9
-58
42
0
0
0
0
0
0
6
3
-1
4
-43
100
-90
1
41
-14
-18
0
0
0
0
0
0
0
0
1
23
101
120
-25
-56
21
-14
35
0
0
0
0
0
0
0
0
49
11
62
60
10
104
-49
-26
50
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
0
-40
50
50
0
0
32
69
57
-13
18
-4
26
0
0
0
0
-16
-16
5
0
27
0
154
52
79
27
-17
29
-22
0
0
1
-1
-1
-18
104
-11
2
77
105
68
43
10
47
50
-57
0
0
0
-1
-3
-56
-15
34
18
101
114
30
4
19
41
-6
-13
0
0
0
0
0
-14
-33
76
-9
109
3
8
32
84
7
-12
36
0
0
0
0
-15
-3
-48
167
73
72
1
21
-46
78
88
42
25
0
0
0
0
0
0
13
10
129
119
32
53
-25
26
-90
60
50
0
0
0
0
0
0
0
67
48
41
-35
1
9
-13
33
8
8
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
-2
2
1
-24
0
-1
-57
121
-74
-56
37
-73
13
0
0
0
0
-1
8
17
0
1
0
-25
-88
20
-21
-75
-9
-23
0
0
0
0
0
16
103
-20
89
-10
28
26
71
-25
26
24
30
0
0
0
0
-1
2
24
102
8
9
41
68
19
47
67
7
-15
0
0
0
0
0
0
-4
139
120
104
119
-18
-5
-44
59
-69
63
0
0
0
0
0
0
9
107
78
83
103
-2
-43
-69
25
-48
-2
0
0
0
-1
0
0
1
68
79
34
29
17
-39
-85
-11
-102
13
0
0
0
0
0
0
0
1
3
6
-10
13
48
44
-33
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
3
0
0
0
0
0
0
0
0
0
0
2
2
1
-8
-7
-2
-10
0
0
0
0
0
0
0
0
0
-1
3
54
19
41
-6
-24
-5
0
0
0
0
0
0
-3
8
24
3
-46
42
11
25
8
-13
1
0
0
0
0
0
0
-7
70
8
-3
-25
-34
-80
-4
-15
46
-10
0
0
0
0
0
0
9
14
13
-8
13
1
-3
0
-2
-2
8
0
0
0
0
0
0
0
-1
35
0
-4
17
1
0
-8
-5
0
0
0
0
0
0
0
0
0
1
-2
4
1
-15
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
25
-54
-19
-1
30
54
55
0
0
0
0
0
0
0
2
27
61
-41
-35
23
-12
57
47
32
0
0
0
0
0
0
0
0
2
2
-2
-63
26
23
-47
90
-63
0
0
0
0
0
0
0
0
0
49
-2
-2
51
22
25
56
43
0
0
0
0
0
0
0
0
0
-3
4
59
23
14
95
31
70
0
0
0
0
0
0
0
0
0
-1
5
-15
14
-44
1
-38
-19
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-19
29
-1
122
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
69
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
31
-111
-17
0
0
0
0
0
0
0
0
0
0
7
-2
-18
-3
44
-91
-6
0
0
0
0
0
0
0
0
0
0
-5
0
6
-6
94
-8
-17
0
0
0
0
0
0
0
0
0
0
0
-1
3
86
16
154
8
0
0
0
0
0
0
0
0
0
0
0
8
6
-17
68
22
17
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
-29
-7
19
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
25
36
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
9
0
0
0
0
0
0
0
0
0
0
1
0
-8
94
-33
-17
63
0
0
0
0
0
0
0
0
0
-1
-3
0
-14
46
127
-130
60
0
0
0
0
0
0
0
0
0
0
0
0
-13
143
-12
58
50
0
0
0
0
0
0
0
0
0
0
-2
0
0
28
-40
83
82
0
0
0
0
0
0
0
0
0
0
-2
0
6
14
-56
15
34
0
0
0
0
0
0
0
0
0
0
0
0
0
13
61
37
42
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
2
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
9
-2
-22
97
-36
4
0
0
0
0
0
0
0
0
0
2
-1
12
39
18
41
23
43
0
0
0
0
0
0
0
0
0
1
0
22
-25
18
62
54
-36
0
0
0
0
0
0
0
0
0
0
8
-4
13
29
57
70
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
66
16
82
22
0
0
0
0
0
0
0
0
0
0
0
4
-6
-41
-43
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
37
-15
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-6
0
13
10
8
-16
30
42
-31
62
0
0
0
0
0
0
-2
31
-49
44
25
25
-36
4
60
-122
8
0
0
0
0
0
0
1
-2
7
72
-80
20
-10
-4
56
97
15
0
0
0
0
0
0
-5
111
26
50
35
-33
-20
50
-12
3
-14
0
0
0
0
0
0
-2
-24
12
-3
9
128
-44
-54
96
13
-35
0
0
0
0
0
0
6
-13
-49
-9
-93
-23
4
25
116
39
-9
0
0
0
0
0
0
0
23
-14
-25
-49
-24
69
54
22
74
8
0
0
0
0
0
0
0
0
75
-5
1
-13
-2
-32
-16
-29
-4
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-41
13
0
0
0
0
0
0
0
0
0
-21
-7
-3
1
61
-27
-92
-2
0
0
0
0
0
0
0
-3
0
-31
2
-10
-3
5
108
44
-7
0
0
0
0
0
0
0
1
0
-6
17
-9
9
-24
98
41
-41
0
0
0
0
0
0
0
-2
3
28
67
-3
-16
42
28
21
68
0
0
0
0
0
0
0
-1
1
1
8
0
-17
-43
52
-22
-44
0
0
0
0
0
0
0
1
5
0
-16
-4
31
41
-57
44
50
0
0
0
0
0
0
0
0
0
6
-6
-7
6
5
38
109
28
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
120
53
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-53
145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
-39
-13
4
0
43
73
25
-7
76
49
26
22
0
0
18
61
-29
-37
-46
-8
-6
25
48
42
21
54
-30
-49
87
0
0
-2
-1
56
34
-19
-14
-2
3
-8
75
-41
-31
-1
131
-72
0
0
-1
-21
-24
47
16
-40
29
8
53
69
62
-25
145
22
42
0
0
0
1
-3
-77
-27
-21
26
-48
2
23
72
-4
61
56
52
0
0
0
0
-1
-4
-22
-39
-46
8
-14
69
82
9
-49
-13
-42
0
0
0
0
0
3
-24
-114
-84
12
-47
-75
11
-1
45
47
0
0
0
0
0
0
0
-1
-19
-67
1
5
26
-5
0
0
-51
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
-4
-43
-76
-34
-8
0
3
7
26
-21
11
-32
7
0
0
0
-1
17
-9
54
33
-27
-14
16
1
22
70
-14
40
4
0
0
0
0
-24
-6
-44
16
17
-7
-5
24
15
15
11
-80
31
0
0
0
0
-13
-5
-29
-48
-45
23
6
10
-18
-3
32
-19
63
0
0
0
-1
7
-44
14
-11
-36
-1
-20
5
22
25
16
-50
0
0
0
0
3
-8
-31
-51
-35
-38
-25
-13
-14
-22
-18
88
20
13
0
0
0
0
0
5
-12
-10
-56
26
-21
-42
-12
-11
-21
-48
9
0
0
0
0
0
-8
35
-55
78
4
-4
2
16
-58
5
-1
3
0
0
0
0
0
0
9
42
5
24
17
30
-29
-21
6
0
0
0
0
0
19
16
14
26
-66
19
0
33
84
-93
44
-14
1
0
0
0
5
-16
-2
15
-2
-18
22
69
-13
4
44
43
-15
0
0
0
0
0
-2
10
7
-34
-3
43
42
-12
44
-4
-45
25
-2
0
0
0
0
-5
20
61
38
-15
7
-69
26
-10
62
-58
0
0
0
0
0
0
1
-7
-23
-57
-22
-11
-39
34
50
-8
17
14
0
0
0
0
1
-5
-7
7
-11
-14
19
-11
-60
-13
-66
-42
14
0
0
0
0
0
1
66
-26
-11
6
-4
-9
-66
23
58
14
-5
0
0
0
0
15
-10
-15
34
53
18
-7
-36
-46
-7
-19
-33
-14
0
0
0
0
-3
14
-10
39
1
18
-2
-6
-28
-13
21
13
0
0
0
0
0
0
4
8
-61
90
50
11
0
3
50
46
59
-14
0
0
0
0
1
-3
-50
20
67
-2
46
-18
39
-26
57
85
-41
0
0
0
0
0
1
-24
17
-72
29
-16
70
-58
12
43
-14
19
0
0
0
0
0
1
0
-2
-6
-13
7
65
37
3
-31
13
9
0
0
0
0
0
-1
23
121
-14
-49
12
-30
21
65
57
19
-25
0
0
0
0
0
0
-19
6
-22
11
-40
12
0
-35
-33
54
1
0
0
0
0
0
-1
5
6
5
-57
-20
-3
-41
-17
-56
-14
8
0
0
0
0
0
0
5
-51
-51
3
-24
-30
-58
14
-43
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
70
-7
0
0
0
0
0
0
0
0
0
9
-20
42
0
0
-5
23
27
89
-123
39
-57
27
0
0
0
-8
-7
-5
-37
30
-4
27
3
51
49
83
-47
108
-39
0
0
-1
0
-3
-46
0
16
-12
-3
43
85
50
24
39
-15
-22
0
0
-1
-5
-37
-58
7
-23
43
-34
3
8
99
71
34
63
-4
0
0
0
0
4
41
23
-44
-26
14
24
-24
50
52
91
119
-2
0
0
0
0
0
-35
-64
29
-1
-33
-2
8
22
25
1
-42
77
0
0
0
0
0
0
-19
-12
-31
15
60
105
-40
-14
5
12
-51
0
0
0
0
0
0
7
-16
-37
-34
-17
-14
-11
-9
2
4
5
0
0
0
0
0
0
0
0
0
-4
0
0
-2
3
-3
-1
1
0
0
0
0
-1
18
-44
59
0
-42
2
-8
-24
-16
51
6
49
0
0
0
0
25
-47
8
22
-13
26
-9
72
-49
-76
42
59
24
0
0
0
0
16
-8
-21
-1
4
-11
-10
-24
57
-25
-25
-42
111
0
0
0
0
21
-21
49
4
26
67
65
21
-133
-12
58
43
83
0
0
0
0
2
-37
98
-21
54
-6
-38
-88
53
1
51
8
-16
0
0
0
0
-6
-6
-93
-33
3
-23
-16
-49
43
-30
-46
-39
72
0
0
0
0
1
13
17
-31
26
37
3
-40
-85
6
-3
-35
-2
0
0
0
0
0
0
56
28
-53
101
32
8
0
131
0
-17
0
0
0
0
0
0
0
0
30
43
-5
3
-3
6
0
0
0
0
0
0
0
0
0
0
2
-12
0
6
-5
-4
0
0
0
42
0
0
0
0
0
0
0
-29
-7
-4
-28
-75
-27
2
17
-8
69
0
0
0
0
0
0
0
-3
31
3
-14
4
3
-2
14
-3
-7
0
0
0
0
0
0
0
0
-13
9
25
18
8
0
2
18
8
-6
0
0
0
0
0
0
0
33
-48
-30
-30
-38
-3
0
42
106
19
0
0
0
0
0
0
-5
-81
61
-42
21
-44
-3
0
-5
-10
-5
0
0
0
0
0
0
-1
-19
4
-14
2
-1
-2
-2
-3
91
-1
0
0
0
0
0
0
0
-15
-32
8
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
1
-1
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
2
-8
-6
6
102
33
0
0
58
0
0
0
0
0
0
0
0
1
-6
2
32
40
30
22
63
-31
0
0
0
0
0
0
0
0
2
-42
0
15
8
-40
-29
-21
54
-2
0
0
0
0
0
0
0
0
2
-1
0
91
-14
21
-4
-13
5
0
0
0
0
0
0
0
0
0
-4
14
25
-31
5
-43
-91
0
0
0
0
0
0
0
0
0
-2
7
59
19
-25
-80
-47
36
8
0
0
0
0
0
0
0
0
8
-8
1
-42
39
15
-99
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
-39
20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
60
-41
10
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-70
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-24
79
31
0
0
0
0
0
0
0
0
0
0
0
0
1
108
27
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-27
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
7
-42
-32
-59
59
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-29
21
27
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-105
13
5
-1
0
0
0
0
0
0
0
0
0
3
0
1
-41
4
39
78
0
0
0
0
0
0
0
0
0
0
0
-2
5
3
24
82
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
-3
-9
5
0
0
27
0
0
0
0
0
0
0
0
0
0
0
2
0
24
-6
4
-3
-1
0
0
0
0
0
0
0
0
0
0
1
-3
-35
-13
-14
69
-2
0
0
0
0
0
0
0
0
0
0
0
3
-3
25
42
23
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
-26
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-21
-23
2
-21
-24
0
0
0
0
-8
-1
0
-5
0
0
0
19
31
-67
-56
-66
5
-1
0
0
0
-1
3
0
12
-48
42
35
15
-6
-56
-3
103
7
0
0
0
0
0
0
0
22
32
56
-154
5
4
-63
-21
-28
2
0
0
0
1
0
0
13
-17
82
-40
58
46
-18
10
70
92
-5
0
0
0
0
0
-1
0
6
-49
-20
-106
-33
47
57
-8
2
0
0
0
0
0
0
0
-4
-1
36
-100
58
67
-51
55
-3
5
0
0
0
0
0
0
0
0
4
0
-49
43
17
12
15
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
-5
-6
0
-7
-4
1
0
0
0
0
0
0
0
0
0
0
18
-24
-3
4
-8
-2
-1
0
0
0
0
0
0
0
0
0
2
34
5
7
10
3
-1
0
0
0
0
0
0
0
0
0
0
0
13
-5
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-71
35
-10
13
-66
-26
-61
0
0
0
0
0
-7
-77
-2
0
0
-38
3
-84
47
-46
-27
-134
0
0
0
0
0
0
-3
32
-65
-13
29
-41
0
-2
50
-48
-32
0
0
5
0
0
0
6
53
8
97
88
92
139
39
12
121
38
0
0
0
0
-5
-1
6
15
18
28
50
34
49
11
81
-1
-44
0
0
0
0
0
1
1
9
6
49
67
5
90
73
-59
19
-3
0
0
0
1
1
0
-73
-19
5
17
11
-2
-76
-169
-45
-59
18
0
0
0
0
-1
-2
-1
40
-22
6
7
-6
13
10
49
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-15
2
-1
0
0
-12
-57
-13
-32
8
68
35
0
0
3
0
-15
63
-4
-35
43
-26
2
-21
-14
-29
42
-38
28
0
0
0
2
-7
6
-21
8
-22
48
-62
25
-10
-7
21
105
65
0
0
0
18
-4
58
-41
35
-13
-22
-71
-14
3
-2
3
36
-60
0
0
0
5
5
-29
23
31
8
11
-2
-23
-31
39
40
115
61
0
0
0
0
25
-110
-7
-9
93
-6
-66
-19
16
22
67
-78
-4
0
0
0
-3
-10
-43
19
138
62
-15
40
16
-24
13
35
16
123
0
0
0
-2
2
-13
73
-45
-84
-3
-3
-54
-31
18
4
-6
2
0
0
0
0
0
18
-51
14
-14
-16
54
-26
21
-4
-11
8
0
0
0
0
0
0
0
0
0
0
0
1
22
-132
-3
13
-97
-3
0
0
0
0
0
0
0
10
0
3
30
107
14
-29
-59
-88
8
0
0
0
0
-2
0
0
1
1
-10
-17
82
-25
-31
24
14
7
0
0
0
0
-1
2
0
0
-18
30
-41
-23
41
-24
10
-13
3
0
0
0
0
0
0
0
-2
3
-12
43
40
-18
36
52
45
12
0
0
0
0
0
0
-3
3
-1
27
101
17
18
-9
53
58
3
0
0
0
0
0
0
0
2
2
5
-40
-45
18
22
35
-20
6
0
0
0
0
0
0
2
-2
16
8
-81
-51
60
-59
-48
10
0
0
0
0
0
0
0
0
-6
0
5
3
3
1
-8
4
4
2
0
0
0
0
0
0
0
0
0
-4
-22
-27
-71
-136
31
-75
-18
0
0
0
0
2
1
0
1
-45
0
0
8
107
-27
16
8
92
0
0
0
0
0
1
0
17
40
-45
-4
26
-49
71
-26
-15
32
0
0
0
0
2
0
-1
42
51
-9
33
10
114
58
44
7
22
0
0
0
0
0
0
1
-5
3
-6
26
76
35
28
103
72
-43
0
0
0
0
0
1
0
4
-18
96
7
78
9
5
-49
72
1
0
0
0
0
0
0
0
-5
-20
100
19
29
71
-48
-10
61
-33
0
0
0
0
0
0
7
0
-2
10
4
58
39
6
67
-1
73
0
0
0
0
0
0
0
0
0
0
0
-1
2
13
51
0
0
0
0
0
0
0
0
0
0
0
0
-17
62
102
23
69
63
-8
0
0
0
0
-7
8
-1
0
12
0
-64
51
106
28
-13
46
26
0
0
0
7
3
-6
23
22
-3
20
76
12
-36
-2
-5
26
-51
0
0
0
0
0
4
44
-41
5
28
2
6
15
-12
27
-4
-9
0
0
0
0
-1
0
2
94
120
-21
146
83
72
22
12
18
-6
0
0
0
0
1
8
2
19
-31
-6
104
6
-9
75
-45
119
0
0
0
0
0
1
1
18
25
5
58
-28
-24
14
-44
-7
86
3
0
0
0
0
0
0
-1
-32
-2
-8
63
67
-2
8
-15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-20
0
0
0
0
0
0
0
0
0
0
0
-12
-20
-22
12
153
-49
48
-4
0
0
0
0
0
1
2
0
-2
0
6
-1
-26
-9
-7
12
8
0
0
0
0
0
0
0
-5
20
34
104
81
-22
116
55
-9
-7
0
0
0
0
0
0
-4
-9
23
4
8
41
10
-25
-50
-14
32
0
0
0
0
0
0
-6
22
59
-17
77
-44
-30
-77
-34
-19
0
0
0
0
0
0
-1
5
-6
25
49
-80
32
102
-19
10
-18
-1
0
0
0
0
0
0
0
-8
35
69
-15
3
51
39
8
60
1
0
0
0
0
0
0
0
0
6
0
-1
63
-19
-68
-32
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
-19
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
2
2
-9
0
0
0
0
0
0
0
1
3
0
0
3
4
7
20
13
4
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-16
-52
4
0
0
0
0
0
0
0
0
30
-1
-1
0
-3
6
-3
-3
-16
0
0
0
0
0
0
0
0
5
-41
0
1
3
10
-15
-22
3
0
0
0
0
0
0
0
0
8
25
-5
4
0
-13
-25
-53
17
0
0
0
0
0
0
0
0
2
30
0
3
-4
-3
-1
2
1
0
0
0
0
0
0
0
0
0
-1
1
0
0
-7
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-30
6
-1
70
112
-39
-21
0
0
0
0
0
0
0
-17
78
-63
-65
0
27
0
40
70
-13
0
0
0
0
0
0
-3
13
-31
-19
27
-7
-36
64
-34
92
-8
0
0
0
0
0
0
0
-7
13
-28
53
-28
37
-56
-17
15
-94
0
0
0
0
0
0
0
0
-1
-2
8
53
12
4
21
-2
-56
0
0
0
0
0
0
0
0
-1
1
-3
-13
56
26
41
74
2
0
0
0
0
0
0
0
0
0
3
-28
76
9
-82
91
-84
-49
0
0
0
0
0
0
0
0
0
0
0
12
-17
-41
-43
-65
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-41
-80
46
0
0
0
0
0
0
0
0
0
0
5
2
-8
-98
-13
30
0
0
0
0
0
0
0
0
-2
9
-1
-16
-32
75
-10
5
-71
-2
0
0
0
0
0
0
0
0
-1
0
0
4
20
23
59
20
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
-29
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
66
69
-33
-88
-24
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-63
-58
-43
32
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-77
162
49
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
25
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-19
-1
0
0
0
0
0
0
0
0
0
7
2
18
53
13
-14
51
-2
0
0
0
0
0
0
0
-4
-22
-6
-11
-98
92
-80
5
-44
0
0
0
0
0
0
0
0
-2
2
-41
0
-31
9
-94
-6
12
-7
0
0
0
0
0
0
0
0
-1
0
0
6
-50
44
25
57
2
0
0
0
0
0
0
0
0
0
0
0
8
54
-105
81
23
35
0
0
0
0
0
0
0
0
0
0
-3
0
-80
47
-15
114
-5
0
0
0
0
0
0
0
0
0
0
0
0
19
73
53
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
-48
-3
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
5
25
42
29
18
-49
-2
-1
0
0
0
0
0
0
-4
10
22
-3
-40
-6
49
50
8
-94
-4
0
0
0
0
0
0
0
-23
-1
-3
-25
-16
122
43
98
42
2
0
0
0
0
0
0
0
9
-1
0
-7
-8
-92
88
21
-10
-7
0
0
0
0
0
0
0
0
0
0
0
-8
29
94
59
22
19
0
0
0
0
0
0
0
0
0
0
0
49
0
-25
-23
41
0
0
0
0
0
0
0
0
0
0
0
0
1
-73
51
7
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
31
8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
41
75
-53
119
27
111
8
0
0
0
0
0
0
-5
9
-11
-7
79
31
6
-33
128
20
54
0
0
0
0
0
0
0
9
1
77
2
14
8
-29
-50
193
77
0
0
0
0
0
0
0
2
22
120
-63
28
-22
45
-3
-30
26
0
0
0
0
0
0
-2
13
-30
-61
37
-13
-37
-6
23
41
5
0
0
0
0
0
0
-3
1
7
-11
32
30
60
-9
-7
11
-7
0
0
0
0
0
0
0
0
-17
9
-23
-23
-64
34
18
-49
-69
0
0
0
0
0
0
0
0
0
0
-5
-15
-5
-18
-68
-94
25
0
0
0
0
0
0
0
0
0
0
6
-2
5
5
-27
-5
-2
0
0
0
0
0
0
0
0
0
-3
-13
8
-13
23
27
-9
0
0
0
0
0
0
0
0
0
0
-1
46
21
75
45
23
35
-43
0
0
0
0
0
0
0
0
-1
-2
0
-6
17
2
-3
-48
24
0
0
0
0
0
0
0
-5
1
28
25
4
2
-19
-34
24
-5
0
0
0
0
0
0
0
8
10
10
5
-2
-7
-6
41
33
98
0
0
0
0
0
0
0
-1
13
0
-4
16
-2
-87
-76
59
1
0
0
0
0
0
0
0
-7
-3
-4
8
6
23
-82
-7
-50
-2
0
0
0
0
0
0
0
0
8
13
0
1
39
18
99
-11
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
9
5
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-31
0
7
67
112
-36
-58
-5
-14
-23
0
0
0
-8
29
56
-66
-11
30
15
-50
-20
20
-13
152
-22
13
0
0
0
14
2
30
-52
10
-30
-17
2
57
67
-12
-55
-44
-25
0
0
0
0
-1
-60
-67
-48
-57
36
-41
-27
-20
-32
86
58
8
0
0
0
0
0
-13
21
-41
-1
59
-94
-37
-8
47
45
-45
8
0
0
0
0
0
3
-8
78
-10
5
9
-44
86
-35
-39
11
33
0
0
0
0
5
-6
-7
-2
-29
11
49
21
-20
-66
12
31
-1
0
0
0
0
0
0
5
91
0
10
49
-5
-13
7
-48
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-24
44
22
-12
0
-18
-21
-47
2
-67
-43
47
0
0
0
-7
31
-28
4
-58
-42
31
-58
-61
9
46
-17
95
66
0
0
-3
0
-16
31
-89
30
9
59
18
-14
13
45
-3
130
-50
0
0
0
0
-18
-32
-19
28
-40
-10
-38
2
-25
29
48
35
30
0
0
0
0
39
-54
-73
21
7
41
21
-3
27
5
24
-38
-13
0
0
0
0
-3
-3
-64
33
-34
17
-3
5
18
-4
23
-61
91
0
0
0
0
2
1
7
56
-75
35
-51
-35
-34
5
42
-36
42
0
0
0
0
0
0
-12
-43
-64
18
70
-36
19
-26
-66
18
-6
0
0
0
0
0
0
-9
9
25
24
63
-67
-13
12
73
0
0
0
0
0
0
0
0
0
0
0
0
-55
22
-49
50
-8
15
0
0
0
0
-2
0
5
-5
-3
-86
-31
41
36
-1
44
26
33
0
0
0
0
0
-2
0
-5
52
73
-19
-32
19
-44
-17
59
-23
0
0
0
0
0
0
0
-5
13
-100
31
70
10
-5
-16
25
1
0
0
0
0
0
0
-2
-6
9
-5
-48
-47
35
-75
94
1
-2
0
0
0
0
0
0
0
0
-42
-28
44
-49
24
-45
-12
-42
0
0
0
0
0
0
0
0
-1
47
-17
49
-44
-79
-23
58
-39
-6
0
0
0
0
0
0
0
-2
14
-24
45
-11
51
-61
-36
-20
-7
0
0
0
0
0
0
0
0
64
-38
56
2
-3
-1
-3
8
0
0
0
0
0
0
0
0
-4
8
0
0
58
-65
-39
-22
-108
-16
0
0
0
-1
6
-14
65
20
77
-26
-66
-46
-43
11
84
142
14
0
0
0
0
0
-1
-12
-112
33
-15
94
-1
-21
53
59
103
17
0
0
0
0
0
-1
4
-31
31
23
80
43
31
-3
68
78
69
0
0
0
0
0
-2
2
19
10
39
-38
-30
-23
35
30
5
31
0
0
0
0
0
-1
-5
-46
58
9
-95
30
22
-81
32
-3
-19
0
0
0
0
0
-4
24
-42
-30
-17
-27
-38
87
-65
34
48
1
0
0
0
0
0
0
1
-28
9
-87
18
-24
-33
-34
-16
-58
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
1
0
0
0
0
0
0
0
0
-9
-5
0
11
-22
102
38
29
28
46
2
0
0
-1
0
0
77
26
66
6
32
9
36
5
21
24
-4
20
0
0
0
17
8
-15
176
25
-75
61
44
17
19
-33
38
41
-33
0
0
0
0
-1
-37
11
50
15
20
43
66
25
4
70
10
-75
0
0
0
0
18
-6
-17
-174
-50
22
24
29
-28
-37
119
-28
29
0
0
0
0
1
0
-31
-12
-71
-14
-16
21
-39
18
25
48
-2
0
0
0
0
0
0
-4
89
-79
-141
-8
5
-94
-50
-15
-23
25
0
0
0
0
0
0
-5
-5
-8
21
-5
4
2
58
-8
-51
-1
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
-3
7
0
0
0
0
0
0
0
0
0
0
41
-3
-30
-75
-16
85
16
-6
0
0
0
0
0
-6
-27
8
62
45
-77
108
57
24
100
81
-23
0
0
0
0
0
3
7
-17
93
-57
123
-19
36
5
-50
-16
8
0
0
0
0
0
0
4
55
38
51
48
78
31
40
113
-110
-16
0
0
0
0
0
-5
-19
1
59
73
15
127
66
44
47
55
-9
0
0
0
0
0
0
-4
26
-20
27
49
22
43
-6
53
70
-37
0
0
0
0
0
0
6
-35
33
-5
34
27
76
16
93
55
25
0
0
0
0
0
0
0
9
-46
-26
-42
-68
23
6
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
5
5
-1
-1
0
0
0
0
0
0
0
0
0
15
-2
5
-2
-6
-15
1
0
0
0
0
0
0
-4
-1
-32
-7
61
15
22
-27
31
44
78
1
0
0
0
0
0
0
-4
-8
-2
-16
83
-75
-25
-22
9
3
24
0
0
0
0
0
0
0
12
66
26
68
15
61
-8
3
0
-8
0
0
0
0
0
0
0
-4
0
-2
59
-48
-6
-35
-29
15
9
0
0
0
0
0
0
-1
94
-7
3
-56
-5
58
-44
-46
6
-18
0
0
0
0
0
0
4
-33
21
16
-24
-31
11
33
-44
-77
8
0
0
0
0
0
0
7
3
7
-3
-4
0
13
-21
-5
31
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-4
23
9
0
0
0
0
0
0
0
0
0
0
0
3
-4
59
-28
135
41
0
0
0
0
0
0
0
0
0
0
0
-3
-8
46
-18
-51
36
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-45
43
-37
0
0
0
0
0
0
0
0
0
0
0
0
1
-103
-25
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
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
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
5
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
-54
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
8
8
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
25
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
59
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
4
4
-20
41
54
7
0
0
0
0
-1
-3
-17
0
0
0
5
88
-59
-77
-65
27
-34
0
0
0
0
0
-2
5
5
18
9
116
-72
-75
61
48
-101
27
0
0
0
0
9
0
13
104
-51
30
55
-112
27
10
13
-17
0
0
0
0
0
0
0
1
-30
23
35
82
-1
59
28
-29
-48
-5
0
0
0
0
0
0
0
-5
-23
38
3
-45
-57
-1
59
0
0
0
0
0
0
0
0
0
8
9
5
-25
-54
-15
-1
-32
5
4
0
0
0
0
0
0
1
121
7
-13
0
1
2
2
22
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
-5
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
1
-6
1
3
-4
-7
0
1
0
-5
0
0
0
0
0
0
0
0
0
-3
0
3
2
-1
0
-3
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-80
113
-49
13
26
2
89
0
0
0
0
0
-1
8
-14
0
0
121
111
63
26
14
19
23
0
0
0
0
0
-2
-1
116
249
30
-9
163
98
5
34
50
-10
0
0
0
4
0
-5
46
56
167
66
60
54
-12
63
28
36
50
0
0
0
0
0
-2
-2
-30
25
64
102
46
61
-9
12
12
28
0
0
0
0
1
0
-19
-34
25
-80
51
-9
10
74
-3
-23
8
0
0
0
0
0
1
0
31
60
-45
-1
-57
-67
26
-49
5
22
0
0
0
0
0
0
0
-12
-36
-7
-12
-67
31
43
-37
-51
-4
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-8
1
0
0
0
0
0
-2
0
56
0
0
47
55
43
-41
33
-126
-8
0
0
0
0
0
0
54
-48
7
121
46
37
39
4
-25
-59
-11
0
0
0
0
0
-13
-20
75
15
-22
11
-20
42
-10
9
-56
-64
0
0
0
0
18
-17
54
-73
40
85
-5
-22
23
-7
-5
-78
-9
0
0
0
0
0
-27
-2
1
-63
-4
-6
24
-47
-7
-27
-47
-76
0
0
0
0
6
-1
14
22
-36
-11
-83
-55
76
10
16
-103
15
0
0
0
0
3
-42
-5
55
-34
-25
-20
7
41
25
-28
7
-30
0
0
0
0
0
-7
49
-39
1
-64
-67
20
20
26
14
23
-145
0
0
0
0
0
0
0
0
0
5
-52
48
-4
-29
-11
32
0
0
0
0
0
0
0
0
0
0
0
69
74
36
-9
-45
11
-15
0
0
0
0
0
0
0
0
-19
53
-30
4
-13
-41
-26
30
12
0
0
0
0
0
0
0
0
-6
-26
49
-41
22
-30
-37
-1
-5
0
0
0
0
0
0
0
0
3
16
11
22
17
18
65
-21
22
0
0
0
0
0
0
0
3
-14
20
19
-10
-21
-41
58
33
56
0
0
0
0
0
0
0
0
23
-30
-50
31
29
53
-2
47
66
0
0
0
0
0
0
0
0
9
7
8
-19
43
67
-15
-2
62
0
0
0
0
0
0
0
5
-54
-49
53
-31
38
55
-11
-8
49
0
0
0
0
0
0
0
0
-39
32
-14
14
107
11
-62
17
32
0
0
0
0
0
0
0
0
0
31
12
63
5
30
42
48
-15
0
0
0
0
0
0
0
1
0
36
0
-18
80
21
55
2
-29
0
0
0
0
0
0
0
0
-9
69
37
67
6
-18
38
-21
75
0
0
0
0
0
0
0
1
1
-15
42
80
114
53
38
24
15
0
0
0
0
0
0
-6
-5
3
73
19
-57
146
15
59
22
86
0
0
0
0
0
0
-4
1
2
-36
36
62
63
58
-1
0
39
0
0
0
0
0
0
0
2
24
-31
92
50
28
-48
61
22
53
0
0
0
0
0
0
0
0
32
-41
-10
64
35
-9
-4
-108
15
0
0
0
0
0
0
0
0
0
0
0
0
-7
-35
-22
-2
0
0
0
0
0
4
1
0
-2
0
0
27
70
-39
17
-8
2
33
0
0
0
0
0
0
8
0
109
0
58
36
51
61
31
-32
74
0
0
0
0
0
3
20
172
11
150
-91
92
53
4
56
9
1
0
0
0
0
0
0
33
-8
174
31
102
5
71
43
23
25
-35
0
0
0
0
0
-1
1
-23
19
67
-56
40
5
72
22
-2
0
0
0
0
0
0
0
8
92
49
76
31
42
-5
-12
72
38
28
0
0
0
0
0
0
-8
42
-121
14
13
-13
171
-25
42
-37
-8
0
0
0
0
0
0
0
-3
0
-1
23
-16
14
-4
-79
-4
-14
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
13
0
0
0
0
0
0
0
0
-1
0
0
61
79
-11
44
-16
30
5
0
0
0
0
0
2
0
0
0
0
29
39
59
-23
13
80
-3
0
0
0
0
0
0
4
37
-13
60
53
22
84
3
51
64
18
0
0
0
0
0
0
7
-1
19
-38
125
-23
-44
-17
-14
60
14
0
0
0
0
0
0
0
-67
5
-20
10
-14
-32
29
54
89
57
0
0
0
0
0
0
0
-5
12
-6
139
14
-59
2
-22
-1
24
0
0
0
0
0
0
0
0
4
2
-4
-1
-67
-47
-3
-77
9
0
0
0
0
0
0
0
0
0
0
8
23
-5
-55
-16
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
-31
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-73
-14
-8
0
0
0
0
0
0
0
0
0
1
0
2
18
-73
0
5
67
0
0
0
0
0
0
0
0
0
0
12
7
4
50
-59
76
-14
0
0
0
0
0
0
0
3
0
-5
2
0
12
48
9
79
6
0
0
0
0
0
0
0
0
4
6
0
0
4
-18
49
61
31
0
0
0
0
0
0
0
0
0
1
0
0
2
-22
17
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-7
-66
-31
0
64
-54
-69
44
0
0
0
0
0
0
3
1
74
64
28
-5
66
11
51
55
-84
0
0
0
0
0
0
-1
-19
-47
34
88
47
-25
44
-33
83
57
0
0
0
0
0
0
0
-2
8
-3
-5
57
7
53
8
69
98
0
0
0
0
0
0
0
0
-29
46
19
-67
73
32
1
83
142
0
0
0
0
0
0
0
0
73
6
-44
14
28
33
-41
52
-7
0
0
0
0
0
0
0
0
0
0
-16
-41
23
3
19
7
41
0
0
0
0
0
0
0
0
0
0
-5
-1
-42
4
84
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
14
-78
22
0
0
0
0
0
0
0
0
0
1
21
-16
-9
-98
-24
32
21
0
0
0
0
0
0
0
0
-2
-6
23
96
-23
51
-10
-5
65
0
0
0
0
0
0
0
0
0
61
29
-1
51
73
48
106
75
0
0
0
0
0
0
0
0
0
0
-8
-18
-4
13
62
143
112
0
0
0
0
0
0
0
0
0
0
0
-12
18
-18
41
-4
163
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-64
-22
-6
-44
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-14
13
34
49
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-6
-70
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
29
2
0
0
0
0
0
0
0
0
0
39
-15
-33
5
-88
-15
40
12
0
0
0
0
0
0
0
-1
-12
-25
1
43
84
-60
58
18
-5
0
0
0
0
0
0
0
-1
-3
-1
4
14
8
-76
-10
61
159
0
0
0
0
0
0
0
0
-1
-1
0
6
-39
0
-9
-1
137
0
0
0
0
0
0
0
0
0
-4
0
1
-7
-68
35
81
55
0
0
0
0
0
0
0
0
0
0
-1
0
50
49
-27
58
-54
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
10
13
-46
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
30
28
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-4
0
0
0
0
0
0
0
0
0
3
2
-3
5
34
-108
-42
9
0
0
0
0
0
0
0
0
1
-5
30
34
35
-21
60
-1
11
0
0
0
0
0
0
0
0
-1
-46
-1
8
25
-57
75
94
46
0
0
0
0
0
0
0
0
0
-1
-6
-22
14
-23
45
47
-49
0
0
0
0
0
0
0
0
0
0
0
8
42
-52
1
73
-50
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-9
-41
-36
-1
0
0
0
0
0
0
0
0
0
0
0
-6
4
-68
-51
-47
28
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
7
0
0
0
0
0
0
0
7
0
38
-20
-24
66
16
53
18
31
0
0
0
0
0
0
0
0
2
55
16
14
-62
-40
-25
12
58
0
0
0
0
0
0
0
4
-3
58
-55
-104
86
-17
23
42
-1
0
0
0
0
0
0
0
1
-28
-75
-67
30
29
-10
24
72
53
0
0
0
0
0
0
0
13
8
25
-24
99
12
5
7
-54
73
0
0
0
0
0
0
0
1
9
2
17
-47
18
55
24
8
29
0
0
0
0
0
0
0
0
-2
1
-9
-51
-19
-39
9
14
57
0
0
0
0
0
0
0
0
-2
0
0
23
-37
-88
-5
-37
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
-66
0
0
0
0
0
0
0
0
0
5
22
3
-11
45
50
-69
41
0
0
0
0
0
0
0
0
0
5
-14
14
-14
50
-59
26
67
0
0
0
0
0
0
0
0
0
-10
5
-6
47
53
-60
-7
15
0
0
0
0
0
0
0
0
0
-1
6
5
17
-22
70
-4
57
0
0
0
0
0
0
0
0
0
0
8
-4
-5
-24
-69
52
80
0
0
0
0
0
0
0
3
0
5
2
8
-5
26
55
50
-13
0
0
0
0
0
0
0
0
0
0
0
-3
5
-40
4
28
54
0
0
0
0
0
0
0
0
0
0
-1
0
4
18
-37
74
79
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-27
-1
-29
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-29
-43
0
25
85
10
-64
-11
54
118
13
0
0
0
-5
-2
-27
-2
-83
-31
99
80
28
48
21
45
-4
32
0
0
0
0
2
10
10
-29
24
-25
81
61
82
24
155
-7
-60
0
0
0
1
3
32
-58
-76
-47
-17
27
-28
-57
-21
59
-19
59
0
0
0
0
0
3
-15
52
-56
8
52
-13
51
8
83
-19
40
0
0
0
0
0
0
2
4
48
-34
48
58
-58
7
-69
-102
-19
0
0
0
0
0
2
1
0
33
-14
-12
-42
-33
21
-32
-45
-8
0
0
0
0
0
0
0
7
-2
-16
-10
-10
-20
41
20
-13
41
0
0
0
0
0
0
0
0
4
3
0
0
0
0
4
-1
-1
0
0
0
-1
6
-101
-151
-73
0
77
-51
59
30
53
-31
76
0
0
0
0
-31
-19
4
71
-84
-50
3
-2
27
78
94
5
97
0
0
0
0
4
-1
34
-45
-73
-54
2
3
3
13
77
-2
173
0
0
0
0
0
0
-36
14
-31
3
23
-6
17
19
25
47
41
0
0
0
0
0
2
-12
51
20
28
-64
-61
1
-5
17
72
72
0
0
0
0
0
0
0
-51
55
5
22
-3
-65
47
1
46
-61
0
0
0
0
0
0
-1
47
-14
-36
-42
-23
14
73
-14
40
-13
0
0
0
0
0
-2
-1
23
-32
15
7
-56
-32
-65
63
-41
-44
0
0
0
0
0
0
0
4
22
-43
32
-78
-28
9
-1
5
0
0
0
0
0
-1
0
-5
12
-73
0
29
-102
109
-20
-9
35
-3
0
0
0
0
0
5
-32
29
-31
-8
135
-43
55
-94
1
9
0
0
0
0
0
-1
0
19
35
-60
31
67
-17
17
15
-13
-43
5
0
0
0
0
0
0
6
35
57
-42
71
-14
-9
76
2
4
0
0
0
0
0
0
0
-3
50
-97
2
16
-26
-22
41
0
-12
1
0
0
0
0
-2
0
37
87
49
63
-16
7
10
7
-1
2
0
0
0
0
0
0
2
-12
16
-42
-70
9
-32
45
-31
-2
-12
1
0
0
0
0
0
1
6
-38
-37
-107
-75
2
-7
-4
0
0
0
0
0
0
0
0
0
8
-66
-51
23
74
-2
-2
14
0
0
0
0
0
0
0
0
0
18
-58
11
0
29
-39
102
26
35
-2
0
0
0
0
0
0
0
-34
-8
-22
68
54
9
-116
1
41
-4
0
0
0
0
0
0
0
23
49
-14
52
-84
103
-11
29
69
13
0
0
0
0
0
0
0
2
-6
27
89
5
-19
18
-94
38
1
0
0
0
0
0
0
2
-8
-11
-42
-85
118
-32
-95
51
-25
-25
0
0
0
0
0
0
1
-15
5
17
30
-26
-47
-41
-5
-33
-10
0
0
0
0
0
0
0
-1
-6
-63
-2
82
-14
-74
-5
19
0
0
0
0
0
0
0
0
0
4
-12
79
17
-12
-25
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-24
75
0
-6
67
58
22
-28
36
54
5
0
0
0
0
0
17
48
75
0
-30
56
-31
-10
46
57
29
63
0
0
0
7
8
10
-50
31
-33
-14
50
-49
8
20
16
-3
-19
0
0
0
0
0
0
30
44
12
36
59
54
27
-14
112
-32
83
0
0
0
0
0
-3
4
42
0
-39
123
-56
-47
-7
35
-21
-16
0
0
0
0
0
-3
4
19
11
-5
39
-4
24
5
29
116
45
0
0
0
0
0
0
1
7
3
8
-29
-43
26
6
-14
84
-42
0
0
0
0
0
0
0
-6
-1
41
2
-27
-16
10
0
-7
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
7
0
-35
4
0
9
-89
-27
6
53
0
0
0
0
0
0
12
12
-70
22
-74
-39
22
93
54
65
112
0
0
0
0
0
0
12
-23
61
-1
1
-21
104
9
46
53
21
0
0
0
0
0
0
0
4
-50
-19
-65
-15
-85
-5
25
49
9
0
0
0
0
0
0
4
53
-16
-29
68
25
-56
-17
-61
-16
35
0
0
0
0
0
0
1
-1
2
-78
-98
-25
5
22
-4
-70
63
0
0
0
0
0
0
0
0
-21
9
2
-28
-48
102
-51
-112
-66
0
0
0
0
0
0
0
0
97
-2
-8
-22
-10
-22
-42
-47
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
-7
0
0
0
0
0
0
0
0
0
9
6
0
-7
-3
58
-58
8
0
0
0
0
0
0
1
0
3
19
7
-41
17
-5
29
49
70
0
0
0
0
0
0
0
-8
-3
-5
-25
0
5
48
46
85
3
0
0
0
0
0
0
0
1
1
-14
-9
-7
-5
58
81
105
138
0
0
0
0
0
0
0
-1
6
-10
42
41
-1
5
18
-97
-63
0
0
0
0
0
0
0
-1
0
-13
1
-15
4
-4
26
27
95
0
0
0
0
0
0
0
-1
3
6
-3
8
-8
-8
2
-38
-48
0
0
0
0
0
0
0
0
-1
0
0
6
-2
9
0
95
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
16
-50
-24
4
6
-11
6
0
-1
0
0
0
0
0
0
0
32
-20
13
-78
-64
30
-6
-3
45
9
0
0
0
0
0
0
0
59
1
119
18
29
25
0
3
7
1
0
0
0
0
0
0
0
-7
60
0
-53
42
42
-1
-1
0
0
0
0
0
0
0
0
0
-41
50
-67
-21
2
27
3
0
0
0
0
0
0
0
0
0
0
-18
-14
-11
-35
-26
-5
-4
0
0
0
0
0
0
0
0
0
0
-24
61
-15
-43
-28
-14
0
0
0
0
0
0
0
0
0
0
0
3
82
12
67
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
5
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
-31
1
-8
-5
1
0
0
0
0
0
0
0
0
0
0
6
-33
-8
-34
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-10
44
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
16
-33
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
42
47
48
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-62
27
-15
4
0
0
0
0
0
0
0
0
0
0
0
-5
25
-9
12
-40
0
-1
5
2
0
0
0
0
0
0
0
0
-14
13
-171
41
63
9
4
-3
2
1
0
0
0
0
0
0
0
1
21
114
-9
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
18
3
-24
-59
0
-1
0
0
0
0
0
0
0
0
0
0
-9
-41
55
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
81
16
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
12
-58
-33
-2
2
-6
0
0
0
0
0
0
0
0
0
20
38
2
13
-6
-37
20
-10
-16
0
0
0
0
0
0
0
0
5
13
-31
72
-2
5
3
-3
0
0
0
0
0
0
0
0
0
-1
-2
-85
-76
0
-12
0
0
0
0
0
0
0
0
0
0
0
4
-6
75
92
-45
-7
0
0
0
0
0
0
0
0
0
0
0
1
2
8
-22
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-48
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-17
-5
60
54
13
-107
-60
0
-1
0
0
0
0
0
0
0
-25
-49
27
72
65
30
-38
18
-54
0
0
0
0
0
0
0
0
-1
-6
-13
15
-19
-82
-48
-3
-5
-5
0
0
0
0
0
0
0
24
13
-25
17
94
54
19
19
41
0
0
0
0
0
0
0
0
-7
-9
-26
9
-22
59
24
-1
1
-8
0
0
0
0
0
0
0
6
-53
-17
60
27
-31
18
31
1
0
0
0
0
0
0
0
0
19
7
41
-20
34
-30
73
-15
2
0
0
0
0
0
0
0
0
-16
5
-4
-27
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
21
-9
-5
-6
0
-2
0
-2
0
0
0
0
0
0
0
0
-14
49
14
18
-2
3
0
-6
-3
0
0
0
0
0
0
0
0
-2
-21
-8
6
5
-1
3
1
0
-7
0
0
0
0
0
0
0
0
7
31
1
6
-5
1
8
1
-1
0
0
0
0
0
0
0
-1
23
-1
23
-1
-4
2
-1
0
-13
0
0
0
0
0
0
0
0
-49
-9
0
-4
-2
0
0
-1
-1
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-18
-36
-38
52
-18
19
0
43
-7
0
0
0
0
0
0
6
49
99
47
35
48
-23
39
-47
13
-104
-8
28
0
0
0
0
-4
24
69
-18
92
-19
-68
-22
18
-78
13
22
0
-1
0
0
0
3
50
12
11
-6
11
104
26
62
22
-27
-30
4
-1
0
0
0
-41
33
6
-2
4
77
112
49
-31
32
-46
10
0
0
0
0
0
0
43
0
-74
-24
44
92
-5
102
28
4
0
0
0
0
0
0
0
22
-72
5
53
43
0
35
16
8
0
0
0
0
0
0
0
0
0
-3
6
2
4
-10
25
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
13
29
-22
-9
-84
-18
0
-76
-80
-5
22
4
0
0
0
0
22
46
-69
-22
34
-49
-10
35
54
-45
23
-19
80
-6
0
0
0
47
-31
-65
-11
22
-56
34
42
6
12
-53
-13
45
-1
0
0
0
18
30
13
38
25
19
7
23
-31
74
-16
7
5
2
0
0
0
-14
-12
81
4
-29
1
-34
-22
-11
-4
31
-21
-4
6
0
0
0
101
-3
67
-27
32
-6
-28
-69
-45
-26
49
-13
1
0
0
0
0
-8
4
72
-18
-5
-29
34
-75
-77
-22
-19
10
3
0
0
0
0
7
49
5
44
4
24
-61
-66
43
11
0
0
0
0
0
0
0
0
1
7
-17
-5
-45
-67
29
7
-1
0
0
-3
0
0
0
0
0
17
17
23
-3
14
18
0
-49
5
-1
0
0
0
0
0
0
0
-21
-41
-75
71
-70
65
90
43
2
-16
0
0
0
0
0
0
0
0
-77
61
-43
-19
4
-25
-23
-44
2
0
0
0
0
0
0
0
13
-108
-13
49
74
8
22
24
-7
-3
1
0
0
0
0
0
3
0
-14
45
106
112
70
-29
14
8
0
0
0
0
0
0
0
0
3
15
-3
129
58
-13
-1
-7
-3
1
0
0
0
0
0
0
0
1
70
49
23
55
27
-41
-2
-1
0
0
0
0
0
0
0
23
0
-8
43
11
-5
65
-25
-23
0
0
0
0
0
0
0
0
0
0
3
-5
42
-45
145
-8
1
0
0
0
0
0
0
0
0
0
-71
-13
4
-4
-69
14
0
29
-33
-5
25
3
0
0
0
0
0
25
-58
-21
101
-56
68
-42
-2
-37
-41
-35
1
0
0
0
0
0
35
-3
30
45
-55
38
30
-3
8
30
27
1
0
0
0
0
0
-2
40
15
66
19
9
72
37
-15
6
-23
-5
0
0
0
0
0
-18
29
81
29
40
72
99
38
-44
42
8
0
3
0
0
0
0
-16
-51
-49
-66
24
46
20
68
-44
29
-22
-1
0
0
0
0
0
-4
-6
24
41
0
-20
76
80
-36
62
48
-1
0
0
0
0
0
1
-5
118
7
-73
91
31
110
-41
-3
-3
0
0
0
0
0
0
0
0
0
-3
13
-3
0
0
0
0
0
0
0
0
0
10
23
16
71
51
44
-172
12
0
28
99
8
0
0
0
0
0
54
-35
-43
31
-91
-34
-43
-48
-8
89
-11
-9
28
1
0
0
0
-47
47
71
16
2
27
-42
46
-10
6
81
-1
0
0
0
0
0
24
23
19
19
39
61
50
31
21
94
71
31
0
0
0
0
0
-20
5
37
-16
3
-49
108
23
56
7
25
-12
0
0
0
0
0
1
14
87
89
-9
74
71
0
-41
8
8
-1
0
0
0
0
0
10
8
7
-31
0
59
66
73
-85
-2
3
-4
0
0
0
0
0
-4
1
-8
-73
4
12
31
-27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
41
15
-21
37
94
-32
-22
0
31
10
0
0
0
0
0
0
25
50
85
30
-21
-14
27
25
7
51
-1
8
0
0
0
0
0
-27
42
11
97
24
-97
-69
30
-22
-41
25
7
0
0
0
0
0
18
2
-22
33
109
14
-57
97
46
74
-19
-1
0
0
0
0
0
0
-46
52
42
2
-76
-1
57
-9
-15
-24
0
0
0
0
0
0
17
1
42
21
-6
-25
-10
111
69
0
-9
0
0
0
0
0
0
-8
-8
27
8
16
51
50
-2
-7
37
0
0
0
0
0
0
0
0
-1
3
51
3
-39
1
-13
-6
-4
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
24
30
29
0
0
0
0
0
0
0
0
0
5
0
1
-1
-3
13
-45
143
6
-25
2
0
0
0
0
0
0
0
3
0
-8
19
-29
22
17
12
10
0
0
0
0
0
0
0
0
1
-1
8
-8
-33
24
-41
29
-13
-3
0
0
0
0
0
0
0
10
-10
16
49
27
-57
-24
-60
-13
0
0
0
0
0
0
0
0
6
-9
-12
-6
42
-42
6
-17
3
-6
0
0
0
0
0
0
0
6
-1
-1
8
-27
-27
-30
10
0
-1
0
0
0
0
0
0
0
5
0
3
1
1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
37
90
0
0
118
41
13
-7
-1
-5
0
0
0
0
0
0
0
0
46
141
94
-22
58
-25
-3
-4
0
0
0
0
0
0
0
0
14
-25
92
68
-3
-40
70
-1
0
0
0
0
0
0
0
0
0
-2
-42
28
22
48
16
21
-3
0
0
0
0
0
0
0
0
0
-37
12
-89
-105
77
-19
45
-3
4
0
0
0
0
0
0
0
0
-24
19
8
-52
20
-9
2
-1
0
0
0
0
0
0
0
0
0
-6
-70
-79
-43
14
2
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-4
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-18
0
0
0
-8
49
7
0
0
0
0
0
0
0
0
0
2
111
27
39
30
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-18
66
-5
27
-67
-2
0
0
0
0
0
0
0
0
0
0
0
-52
-41
9
65
1
0
0
0
0
0
0
0
0
0
0
0
0
15
39
-33
24
2
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-59
-66
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-13
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
92
0
0
110
102
4
0
0
0
0
0
0
0
0
0
0
17
18
109
102
40
44
10
5
0
0
0
0
0
0
0
0
0
0
15
54
72
-40
-13
-1
-1
0
0
0
0
0
0
0
0
0
-1
59
14
-6
25
9
0
0
0
0
0
0
0
0
0
0
0
1
-32
-69
70
20
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
18
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-59
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
31
24
0
0
9
-5
-9
0
0
0
0
0
0
0
0
0
0
5
131
81
53
14
23
0
1
0
0
0
0
0
0
0
0
-1
5
35
44
66
-4
-16
4
2
0
0
0
0
0
0
0
0
0
42
-66
-23
-33
54
5
0
0
0
0
0
0
0
0
0
0
0
9
-67
-9
14
-44
0
0
0
0
0
0
0
0
0
0
0
0
6
0
15
-13
97
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-13
34
126
112
0
0
0
90
-2
0
0
0
0
0
0
8
-20
-13
-20
190
49
0
0
0
92
64
-3
0
0
0
0
0
-3
-31
-43
43
141
146
146
107
-18
34
0
-1
0
0
0
0
0
1
-2
-46
30
1
-10
45
-28
73
-35
-1
-1
0
0
0
0
0
0
2
31
59
-21
-65
-5
12
-28
1
0
0
0
0
0
0
0
-7
-19
-33
-9
-5
-42
-41
4
16
-37
7
0
0
0
0
0
0
-1
17
24
-8
-10
-28
1
-7
-27
2
-2
-2
0
0
0
0
0
0
0
-24
12
55
-17
-26
10
-49
-2
5
0
0
0
0
0
0
0
0
0
-3
-2
-5
5
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
25
0
0
0
29
20
10
-2
0
0
0
0
0
0
-2
-3
3
42
2
44
55
-22
0
-3
-2
-2
0
0
0
-2
1
-9
-3
-8
39
17
-44
-95
-33
-5
-1
0
0
0
0
0
0
-3
-23
-49
29
-12
7
-43
18
-26
-5
0
0
0
0
0
0
-4
7
-8
-4
2
-83
-46
-6
24
-4
0
0
0
0
0
0
0
0
23
-32
-12
23
-23
-38
44
-76
15
0
0
0
0
0
0
0
0
-3
-2
-4
1
-9
-12
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
31
6
5
-21
59
0
0
0
0
0
0
0
0
0
0
0
-41
-29
28
8
-81
8
23
0
0
0
0
0
0
0
0
0
0
16
21
56
0
37
64
-5
-1
0
0
0
0
0
0
0
0
0
-66
117
-12
53
-5
34
-48
13
-5
0
0
0
0
0
0
0
0
60
-23
7
85
-47
-22
15
-17
-20
-5
0
0
0
0
0
0
0
5
20
-10
-44
24
39
-66
-31
42
-3
-5
0
0
0
0
0
0
41
-31
11
-14
-46
2
-6
22
-25
0
-5
10
0
0
0
0
0
1
-6
-28
11
-24
13
44
39
-31
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-46
-24
-18
-40
33
164
177
0
0
0
0
1
0
0
0
0
0
18
38
55
-5
61
17
111
0
0
55
18
-21
12
0
0
0
0
-13
-19
-24
66
18
-54
66
143
74
-23
-28
25
0
2
0
0
0
-59
-111
-21
6
73
117
99
16
41
-109
-26
6
0
0
0
0
0
-48
24
3
5
44
34
59
41
-5
67
8
-5
20
-1
0
0
0
85
12
-44
22
44
-32
-9
38
-51
-42
43
-30
0
0
0
0
0
21
27
49
-6
35
-30
53
-49
-43
94
-7
4
0
0
0
0
0
0
10
5
5
-5
-23
-27
1
0
-3
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-87
13
-15
11
-2
217
0
0
5
0
0
5
0
0
0
0
-16
-68
-3
-16
-32
94
92
124
43
106
-70
44
0
0
0
0
0
-45
73
2
2
8
48
4
-11
17
19
25
-66
-4
0
0
0
0
6
-37
-5
0
18
-32
-34
37
66
14
17
-34
2
0
0
0
0
3
-113
39
12
41
-35
-11
-18
-24
13
-87
7
2
0
0
0
0
-85
-34
-57
-34
-32
22
21
1
15
-29
4
74
1
0
0
0
0
24
-29
-79
-44
29
48
-74
-127
-75
54
48
-19
0
0
0
0
0
0
-4
7
-12
-13
-14
-14
-69
-77
-7
9
9
0
0
0
0
0
0
0
-90
31
24
-61
24
7
-4
0
1
0
0
0
0
0
0
3
149
102
146
170
200
119
0
0
0
0
0
0
0
0
0
0
176
4
58
89
112
110
-25
5
-41
0
0
0
0
0
0
0
0
17
-13
0
40
-15
-22
-22
-27
19
-2
0
0
0
0
0
0
0
9
-73
-34
-17
35
64
24
-66
-19
0
2
0
0
0
0
0
0
-20
-9
-14
-92
28
16
36
37
-8
2
0
2
0
0
0
0
0
-38
7
-64
-2
-51
-18
-29
-7
-2
0
0
0
0
0
0
0
0
-103
5
-23
-25
-65
-49
-12
-17
19
-12
0
0
0
0
0
0
0
-25
6
-27
59
53
-13
-28
6
-35
0
0
0
0
0
0
0
0
26
-32
19
0
-21
-31
-3
14
0
0
0
0
0
0
0
0
0
-75
-3
-23
6
15
76
164
95
0
-1
0
0
0
0
0
0
0
-5
-51
14
22
88
206
0
30
32
5
0
-4
0
0
0
0
0
37
-12
-3
64
41
121
17
50
-43
-5
0
0
0
0
0
0
0
-44
-43
-36
-11
-67
28
43
3
-18
10
-5
0
0
0
0
0
0
-16
-13
-70
43
-8
33
-3
-23
53
1
-4
0
0
0
0
0
0
-30
26
-21
-26
-7
3
-21
-23
49
-1
0
0
0
0
0
0
0
-69
-16
-13
60
35
-54
-49
-67
-24
0
0
0
0
0
0
0
0
30
-22
-6
83
-42
-11
-48
-7
0
0
0
0
0
0
0
0
0
0
0
-12
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-41
-30
6
-19
-22
17
173
0
0
51
1
0
0
0
0
0
0
-20
-46
49
-72
-25
101
124
0
231
0
61
-31
5
-6
0
0
0
4
-13
-67
-18
7
17
179
95
112
61
146
-35
0
0
0
0
0
50
-27
-78
-26
33
66
19
-1
27
-41
8
-33
-1
0
0
0
0
-3
103
-47
46
24
45
-56
14
10
-8
-17
0
0
0
0
0
0
-20
-14
-4
99
49
-19
-25
-94
-61
64
9
1
0
0
0
0
0
3
-21
-44
-54
-12
35
7
25
-70
-42
1
1
0
0
0
0
0
-1
6
26
-16
-22
-103
22
-13
-2
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-9
-76
70
62
114
249
193
0
0
0
0
0
0
0
0
0
13
-20
-20
-20
-22
5
128
0
7
0
18
-2
0
0
0
0
0
41
13
19
-41
-64
52
0
-23
115
32
33
0
0
0
0
0
0
63
-4
-40
-51
-5
55
41
21
13
38
-12
7
9
0
0
0
0
-34
7
31
-9
76
66
2
-93
5
30
25
0
0
0
0
0
0
13
22
1
-30
13
15
-31
-81
-53
-25
0
0
0
0
0
0
0
2
-5
37
-89
-35
-62
45
-17
1
4
1
0
0
0
0
0
0
30
16
8
84
-43
24
-5
-17
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
52
5
61
84
32
0
0
0
0
0
0
0
0
0
0
0
3
32
68
67
49
70
49
8
0
42
9
0
0
0
0
0
0
-1
24
-7
31
13
-5
8
56
84
-29
0
0
0
0
0
0
0
8
-8
-25
56
-22
-5
19
31
49
-19
-8
0
0
0
0
0
0
-3
-4
-22
-71
2
-33
5
0
-49
-29
2
0
0
0
0
0
0
-50
-74
-42
-8
-42
-33
-12
-27
6
7
3
0
0
0
0
0
0
-4
-54
-18
-40
-49
-37
-35
22
15
-11
2
0
0
0
0
0
0
0
22
15
-21
-1
-8
3
-4
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
28
-75
34
-30
-7
-45
12
0
0
0
0
0
0
0
0
0
-9
10
2
-18
-23
13
-30
69
9
3
0
0
0
0
0
0
0
-24
8
66
-46
33
8
23
-8
-17
0
0
0
0
0
0
0
0
97
-14
5
53
-1
-5
3
0
1
0
0
0
0
0
0
0
0
34
26
36
-120
70
-9
0
0
0
0
0
0
0
0
0
0
0
7
65
19
21
-27
-5
0
0
0
0
0
0
0
0
0
0
0
-23
-102
22
-4
-7
15
0
0
0
0
0
0
0
0
0
0
0
-8
24
5
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
48
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-15
21
-30
1
0
0
0
0
0
0
0
0
0
0
0
5
137
-22
16
-23
4
0
0
0
0
0
0
0
0
0
0
0
6
33
-19
5
9
1
-1
0
0
0
0
0
0
0
0
0
0
-25
75
88
-27
-15
0
0
0
0
0
0
0
0
0
0
0
0
-13
-5
-30
14
-4
4
0
0
0
0
0
0
0
0
0
0
0
14
-5
22
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-29
-38
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
-15
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-32
-14
-3
-40
-4
1
0
0
0
0
0
0
0
0
0
-22
49
17
6
-4
3
-15
5
3
0
0
0
0
0
0
0
0
33
-39
-17
32
-9
-28
-2
0
0
0
0
0
0
0
0
0
0
-25
-39
6
139
10
-1
0
0
0
0
0
0
0
0
0
0
0
-42
72
22
76
17
0
0
0
0
0
0
0
0
0
0
0
0
-6
43
43
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-66
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-3
13
8
-10
-12
2
0
0
0
0
0
0
0
0
0
-8
32
58
17
1
-16
1
13
1
0
0
0
0
0
0
0
0
26
45
36
-43
66
-20
0
-2
0
0
0
0
0
0
0
0
0
-3
3
62
56
31
-13
0
0
0
0
0
0
0
0
0
0
0
0
41
-3
14
8
13
2
0
0
0
0
0
0
0
0
0
0
-1
13
5
-33
-25
1
0
0
0
0
0
0
0
0
0
0
0
-2
8
8
-1
-7
-4
0
0
0
0
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-60
43
29
54
25
-7
-49
0
5
1
0
0
0
0
0
0
-49
25
19
1
28
-9
49
-68
51
-5
0
0
0
0
0
0
0
-3
122
-29
43
4
74
0
43
3
4
0
0
0
0
0
0
0
-8
36
85
55
-76
-7
25
-9
6
7
-1
0
0
0
0
0
0
23
11
53
85
-3
-19
-2
0
-1
2
0
0
0
0
0
0
0
-1
52
6
34
18
-4
4
-2
1
-3
0
0
0
0
0
0
0
-2
28
-31
3
6
2
-1
0
-3
5
0
0
0
0
0
0
0
-5
-8
2
20
-2
0
0
0
-27
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-20
5
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-43
-14
1
-13
-1
0
-1
5
0
0
0
0
0
0
0
0
1
76
25
8
-1
0
0
0
1
0
0
0
0
0
0
0
0
43
50
-55
51
0
1
-14
0
0
0
0
0
0
0
0
0
0
-29
-23
43
33
-23
-1
0
0
3
-3
0
0
0
0
0
0
0
0
58
-21
-13
-3
1
2
0
0
0
0
0
0
0
0
0
0
16
-60
76
-5
2
-4
0
0
0
0
0
0
0
0
0
0
0
-30
-21
8
-19
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
142
31
52
-4
41
15
-13
0
29
47
93
8
0
0
0
0
69
27
9
86
45
-18
-18
33
-33
164
39
74
3
0
0
0
0
33
28
48
129
42
111
-13
-35
-34
89
-40
-18
6
-5
0
0
0
-30
7
-14
69
37
-32
61
59
127
43
2
46
-9
-17
0
0
0
15
10
-22
-11
85
36
47
-79
84
2
-22
25
-3
0
0
0
0
3
-39
31
92
23
-4
41
-4
-66
-9
-2
0
0
0
0
0
0
9
42
-46
28
-15
-24
6
24
79
-46
-7
0
0
0
0
0
0
22
-4
-23
0
1
-2
0
5
-25
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-40
5
-8
72
-5
25
-32
0
-93
-81
32
-23
0
0
0
0
0
-48
-67
-41
74
24
-16
4
-18
-22
49
-7
4
2
33
0
0
0
-88
-71
-30
66
24
11
-44
-192
-60
-60
132
29
0
0
0
0
0
-125
-34
3
-14
-21
40
-14
-59
-46
27
49
-9
12
0
0
0
0
-39
27
-124
-58
-31
36
-90
0
-88
9
33
-21
21
0
0
0
0
-1
-9
-8
85
9
28
22
8
16
-8
89
-20
0
5
0
0
0
-35
22
-17
-20
48
27
-5
-45
33
10
-37
-4
0
0
0
0
0
-32
-43
24
4
-89
-52
-30
-15
13
-46
5
-2
0
0
0
0
0
0
1
-15
12
-10
-63
21
38
67
-21
0
0
0
0
0
0
0
-12
-41
-14
81
17
-62
64
0
4
81
43
14
-13
32
14
0
0
21
30
-26
123
29
14
5
-10
25
13
61
7
-2
-4
3
3
0
31
-42
85
74
-25
20
-85
-88
-19
-40
10
-56
38
8
-3
0
0
5
46
46
-92
-15
-25
-30
-59
92
-17
-1
-20
13
0
0
0
0
-3
16
19
17
-8
30
43
-19
-33
3
-49
-5
2
-2
0
0
0
-2
-31
21
31
17
-19
34
26
0
44
57
-43
4
0
0
0
0
0
-24
23
33
3
3
19
7
-32
-22
-13
-52
1
-4
-4
0
0
0
0
0
16
-24
-16
-2
63
7
-52
40
21
-5
-8
-2
3
0
0
0
3
42
8
22
23
-53
2
4
-6
-6
12
-6
2
0
0
0
24
42
51
38
13
79
0
13
-11
27
23
0
0
0
0
0
0
4
47
160
46
7
65
-18
92
1
73
13
-11
2
0
0
0
0
-25
69
31
75
0
-74
-7
8
23
-44
-9
0
0
0
0
0
0
0
17
32
10
-9
-78
1
25
-13
21
-25
0
1
0
0
0
0
3
4
41
13
35
6
43
4
-84
-54
-4
1
0
0
0
0
0
1
9
63
-49
17
-8
-51
43
-24
-2
-5
2
-2
0
0
0
0
0
15
17
-9
16
-1
-66
-13
-65
-20
-21
3
-1
0
0
0
0
-1
0
26
-18
25
-18
-93
-79
-32
21
-5
2
0
0
0
0
0
0
0
0
0
18
1
0
0
0
0
0
0
0
0
0
31
31
58
84
88
3
122
67
0
4
61
55
-22
0
0
0
0
2
13
82
10
6
58
-25
-88
-17
102
6
-5
1
2
0
0
0
12
50
113
74
28
5
-20
-15
-12
-45
-40
-12
34
1
2
0
0
106
89
1
12
119
-1
67
91
130
13
-18
-65
5
-2
0
0
0
25
35
85
76
-13
27
-21
51
107
58
-46
7
-1
0
0
0
0
25
0
37
33
27
-35
-84
7
84
46
-18
-3
0
0
0
0
0
1
-43
80
44
71
16
-24
-27
-33
14
-1
1
0
0
0
0
0
0
39
-41
13
1
-32
-3
-13
15
13
2
0
0
0
0
0
0
0
7
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
57
-61
9
57
-6
22
9
104
0
-60
33
1
0
0
0
0
0
44
49
115
89
67
44
30
-91
-65
-14
-3
1
1
0
0
0
0
19
139
127
54
-48
55
-7
-52
-73
89
5
-2
0
0
0
0
0
5
13
79
23
-27
73
40
94
-7
3
-2
-4
0
0
0
0
0
5
28
95
22
-30
-35
43
-16
10
6
27
0
1
0
0
0
0
-31
0
66
-5
49
-3
48
-8
14
-5
-1
-4
0
0
0
0
0
4
2
19
-25
5
9
51
-24
-48
0
0
3
0
0
0
0
0
0
5
2
2
2
-20
7
-13
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
5
0
7
-2
-8
0
9
4
0
10
0
0
0
0
0
0
0
10
-7
25
0
17
0
7
0
-55
-49
8
0
0
0
0
0
0
-1
10
7
-33
31
-32
-5
3
-8
-17
-8
0
0
0
0
0
0
6
17
-13
10
33
-6
-25
0
-1
0
0
0
0
0
0
0
0
-2
12
12
17
8
-7
6
2
-17
0
0
0
0
0
0
0
0
0
3
4
-1
4
-6
9
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
8
-3
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-13
58
0
0
0
0
0
0
0
0
0
0
0
3
0
0
36
-55
13
27
-4
-3
0
0
0
0
0
0
0
1
15
162
245
17
33
-65
-1
2
1
0
0
0
0
0
0
0
0
-48
16
219
93
5
9
7
0
0
0
0
0
0
0
0
0
-4
-12
-3
56
99
-23
-42
-3
-1
0
0
0
0
0
0
0
0
-4
-32
76
33
-85
23
5
3
0
0
0
0
0
0
0
0
0
2
-13
53
-31
16
-47
30
0
0
0
0
0
0
0
0
0
0
0
0
-28
-56
2
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
43
11
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-42
-6
-1
0
0
0
0
0
0
0
0
0
0
0
137
142
9
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
15
98
-116
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
27
16
-10
1
0
0
0
0
0
0
0
0
0
0
0
4
2
-16
47
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
-42
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
27
-6
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
21
69
-16
0
0
0
0
0
0
0
0
0
0
0
13
128
93
90
-46
58
0
2
0
0
0
0
0
0
0
0
0
4
-17
62
61
-22
5
7
0
0
0
0
0
0
0
0
0
0
3
-10
66
-67
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
45
69
6
0
0
0
0
0
0
0
0
0
0
0
0
1
6
9
5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
18
-2
2
0
0
0
0
0
0
0
0
0
-5
2
0
0
13
17
0
4
0
0
0
0
0
0
0
0
0
0
59
125
134
-24
-29
2
1
0
0
0
0
0
0
0
0
0
3
-1
31
159
-55
-10
5
0
0
0
0
0
0
0
0
0
0
6
-23
-49
-5
-19
23
-2
0
0
0
0
0
0
0
0
0
0
0
25
-19
-95
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-6
-70
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
25
-17
-4
7
-22
41
0
0
0
9
-7
0
0
0
0
0
-4
-44
-11
13
-34
33
-13
0
0
0
35
-40
-6
-6
0
0
0
4
-41
68
60
-20
42
24
120
99
118
-25
13
-5
0
0
0
0
0
44
8
19
-3
6
-17
75
181
164
-41
41
0
0
0
0
0
0
-42
47
24
-8
-47
-27
21
169
9
18
15
0
2
0
0
0
0
-10
52
8
15
2
25
-24
-5
-2
32
-16
0
0
0
0
0
0
30
10
-8
-7
-25
0
-34
-59
-74
-84
-15
0
0
0
0
0
0
0
21
-2
-7
48
0
-7
-62
-30
-49
0
3
0
0
0
0
0
0
0
0
0
0
6
-1
-3
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-1
-1
0
0
0
0
0
2
0
0
3
13
2
0
0
0
-10
-5
-1
7
0
0
0
0
4
0
3
-7
-3
0
-12
43
-7
-22
13
-1
0
0
0
0
0
-2
-8
20
5
-15
8
30
-4
137
-76
-1
-3
0
0
0
0
0
-2
39
-1
10
-16
7
111
94
121
-19
-5
-1
0
0
0
0
0
0
-9
1
-8
-10
10
31
42
152
-62
3
0
0
0
0
0
0
0
14
2
3
7
-8
126
30
16
-44
5
0
0
0
0
0
0
-1
-1
0
0
0
-4
32
97
81
13
2
0
0
0
0
0
0
0
0
0
0
0
0
2
92
-5
-5
0
0
0
0
0
0
73
42
30
-86
-13
-51
-4
0
0
0
0
0
0
0
0
0
0
-153
-15
22
18
43
64
4
0
0
0
0
0
0
0
0
0
0
-31
-17
64
6
98
-32
34
17
0
1
0
0
0
0
0
0
0
-71
30
-47
-49
39
49
1
-1
0
5
0
0
0
0
0
0
0
37
-9
-7
0
-22
-14
-1
25
-2
-23
0
0
0
0
0
0
0
27
-106
-28
4
-54
43
-19
29
3
-2
0
0
0
0
0
0
0
-53
-110
-3
-7
88
111
75
-48
21
-24
-4
0
0
0
0
0
0
-6
-36
51
39
0
22
-3
-5
8
13
7
0
0
0
0
0
0
0
30
-2
-20
-22
4
4
0
0
0
0
0
0
0
0
0
0
-62
9
19
32
115
34
63
0
0
0
41
30
-1
0
0
0
0
-21
-14
-40
7
10
77
83
0
0
162
-32
-8
1
0
-2
0
0
0
22
40
-4
-38
35
31
86
239
-39
-5
72
0
0
-8
0
0
-29
-58
66
-79
0
65
46
25
130
63
35
8
0
0
0
0
0
-30
66
65
0
-4
-73
-50
-81
-16
-18
-21
-21
-2
0
0
0
0
-20
40
-20
-60
-15
31
4
25
-24
10
0
0
0
0
0
0
0
-10
-52
34
-56
79
56
-76
3
-7
-3
-22
1
0
0
0
0
0
0
17
35
34
-30
-15
0
3
-39
-6
-12
0
0
0
0
0
0
0
8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
31
14
-31
31
51
75
0
0
70
-59
-27
0
0
0
0
0
18
12
24
6
18
3
-13
72
59
3
44
27
0
0
0
0
0
-38
26
-6
33
23
-11
13
5
-17
122
46
28
0
0
0
0
0
-9
11
13
9
12
-2
5
36
19
52
24
-14
0
0
0
0
0
1
-62
17
36
-58
-72
35
-66
57
-60
-2
-14
-1
0
0
0
0
-9
-42
-98
-48
-44
64
11
22
88
-39
-18
0
0
0
0
0
0
-13
23
8
-48
-121
-37
-1
35
-81
11
15
0
0
0
0
0
0
-17
84
-10
7
-8
36
-27
-51
-55
-80
0
0
0
0
0
0
0
-3
-10
20
-31
67
38
17
-17
2
-28
6
0
0
0
0
0
0
49
13
-19
67
60
75
6
0
0
0
0
0
0
0
0
0
0
-17
12
-43
47
61
71
-5
-2
0
0
0
0
0
0
0
0
0
-11
-19
-30
33
-2
59
58
-31
-13
0
0
0
0
0
0
0
0
-20
-14
-5
36
-6
37
17
-27
0
0
1
0
0
0
0
0
0
7
3
-64
-12
15
-11
4
-31
-2
0
0
0
0
0
0
0
0
-2
13
9
-53
20
1
66
-21
-14
-3
-1
0
0
0
0
0
0
-44
-14
21
-22
36
123
49
29
-8
10
0
0
0
0
0
0
0
42
-13
22
68
11
-71
64
24
-6
0
0
0
0
0
0
0
0
33
-28
10
-22
-9
-35
-18
52
18
0
0
0
0
0
0
0
0
34
12
45
19
-7
34
94
32
0
0
0
0
0
0
0
0
0
-32
-28
50
89
90
66
0
-47
66
-6
-1
0
0
0
0
0
0
-40
41
-92
24
107
-34
87
-53
0
0
0
0
0
0
0
0
0
-24
-17
20
-18
27
53
4
-13
-31
-2
-2
0
0
0
0
0
0
15
-27
55
-65
-21
-18
1
5
76
0
0
0
0
0
0
0
0
-23
-14
34
-3
31
-13
4
-55
-11
2
0
0
0
0
0
0
0
-27
38
7
-42
59
102
-82
-24
-60
0
0
0
0
0
0
0
0
-62
2
48
-62
-61
-17
-16
21
-4
0
0
0
0
0
0
0
0
0
3
-54
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-51
-1
44
55
116
121
0
0
-4
34
30
2
0
0
0
0
-12
-19
-15
55
30
-8
88
0
164
0
20
84
2
0
0
0
0
35
21
-1
23
93
20
38
29
141
21
-49
1
1
0
0
0
0
48
-3
-16
50
-1
-65
39
-49
142
3
-96
41
2
0
0
0
0
58
-2
6
41
-20
-8
22
43
-31
9
-52
0
0
1
0
0
0
-47
66
33
-51
-4
35
-14
-53
31
-79
7
-10
0
0
0
0
0
8
6
-31
-125
45
-50
-22
27
-49
-49
-2
0
0
0
0
0
0
-4
2
-123
-47
30
-12
-24
1
-23
7
6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
8
0
0
0
0
0
0
0
-9
-86
-1
48
-11
-66
-52
8
0
66
22
1
-7
0
0
0
0
15
37
4
42
7
-10
60
0
96
0
23
5
0
0
0
0
0
-20
-42
14
-54
47
70
-8
49
191
82
62
-14
-2
0
0
0
0
-63
-81
-20
19
62
6
114
106
113
93
26
6
-3
0
0
0
0
-58
-2
15
-60
-12
-4
-19
-35
134
28
-1
-1
1
0
0
0
0
9
-7
22
11
-43
-51
-9
2
27
-27
-13
0
0
0
0
0
0
19
20
-53
-27
6
47
-6
-10
-19
-25
-2
0
0
0
0
0
0
0
-35
-26
-1
-43
4
8
-9
2
-14
0
0
0
0
0
0
0
0
-9
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-43
8
-18
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
-39
2
1
-3
0
0
0
-27
0
0
0
0
0
0
0
25
2
3
-30
0
-4
0
-4
29
-2
0
0
0
0
0
0
0
-14
7
9
2
-3
-1
0
21
57
0
0
0
0
0
0
0
-1
42
-57
7
20
-2
0
-18
30
13
0
0
0
0
0
0
0
-6
0
-29
10
-7
0
-1
-3
20
87
1
0
0
0
0
0
0
-1
0
-2
-1
8
-2
0
-6
-24
92
1
0
0
0
0
0
0
-1
-8
-20
0
-3
0
0
-2
43
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-8
2
0
0
0
0
0
11
2
0
0
0
0
0
0
0
-13
22
-69
30
25
-61
-40
19
6
17
0
0
0
0
0
0
-16
13
-41
-23
87
-9
-15
15
30
9
3
0
0
0
0
0
0
13
-18
86
44
84
-37
29
1
1
6
1
0
0
0
0
0
0
-31
-11
-1
-53
-3
-3
0
-3
0
0
0
0
0
0
0
0
0
-30
10
50
7
32
-25
0
6
0
0
0
0
0
0
0
0
0
-45
-6
46
25
41
-7
2
0
0
0
0
0
0
0
0
0
0
47
66
17
-93
-7
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
1
-5
-5
10
10
0
0
0
0
0
0
0
0
-6
-9
-40
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
-8
-15
-26
-7
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-2
27
7
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
43
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
31
19
14
2
0
0
0
0
0
0
0
0
0
0
0
0
4
24
-49
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
7
-3
0
9
1
40
34
-3
4
0
0
0
0
0
0
4
-17
23
22
-5
-4
1
-17
-3
-12
0
0
0
0
0
0
0
-3
6
-28
-43
-49
3
-6
0
3
0
0
0
0
0
0
0
0
0
6
-47
91
-8
-6
0
0
0
0
0
0
0
0
0
0
0
1
-3
22
27
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
19
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
26
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-28
-20
-20
-3
0
0
0
0
0
0
0
-4
72
4
-1
-9
-2
-1
2
0
0
0
0
0
0
0
0
0
8
-13
-8
-28
-19
0
0
0
0
0
0
0
0
0
0
0
0
-41
42
36
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-14
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
0
94
-5
0
0
0
0
0
0
0
-6
-23
-24
-25
-34
-49
26
-57
145
0
0
0
0
0
0
0
-1
-5
-8
-13
-44
-4
-94
-41
-22
-72
1
-1
0
0
0
0
0
-57
-31
20
49
31
-13
24
71
48
-25
0
0
0
0
0
0
0
13
47
49
-42
97
39
23
-24
37
6
0
0
0
0
0
0
0
15
30
29
37
-44
-5
43
-17
4
-1
0
0
0
0
0
0
0
-6
-7
-3
-7
5
-33
13
0
-9
-1
0
0
0
0
0
0
0
0
-17
-6
8
4
8
0
4
0
-3
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
-1
-2
0
0
0
0
0
0
0
0
-6
-1
0
1
0
0
6
0
0
0
0
0
0
0
0
0
0
13
7
-2
0
-1
0
2
1
0
0
0
0
0
0
0
0
0
24
-42
22
-3
1
-4
0
0
0
0
0
0
0
0
0
0
-4
5
-2
14
-2
-6
0
0
0
0
0
0
0
0
0
0
0
1
25
0
16
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-8
39
0
-24
-14
59
-5
8
0
0
0
0
0
5
-5
19
43
-2
7
-51
191
50
30
-5
41
-4
0
0
2
2
-70
31
59
13
-63
26
-116
-52
1
25
4
-7
4
0
0
-2
2
23
-50
-40
2
-57
122
74
33
-57
-56
9
0
0
0
0
-8
19
-95
-2
46
65
62
61
22
78
-31
-68
0
0
-3
0
0
-27
-4
14
95
-26
39
9
42
-129
5
15
0
0
0
0
0
0
0
-18
-2
-46
43
76
2
26
5
26
0
0
0
0
0
0
0
0
0
2
-2
-45
-45
-7
31
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-25
5
22
-29
-35
0
-47
-107
-111
-112
14
-13
0
0
0
1
49
-14
3
16
0
-6
-36
-2
-56
-49
46
37
-40
5
0
0
77
31
15
52
-32
-17
5
6
24
-6
-9
-61
-53
8
1
0
0
9
104
5
29
20
6
-28
-25
2
4
-47
-4
-32
9
0
0
0
31
-33
36
-7
35
-24
-14
2
-48
-3
9
15
-43
-1
0
0
0
54
23
-4
50
-65
40
24
-34
13
-40
-2
-52
56
-8
0
0
0
17
72
-48
60
13
-71
-41
-15
-56
44
66
56
-22
0
0
0
0
49
54
-31
-5
-44
21
7
34
-8
-47
7
22
-1
-12
0
0
0
0
-7
9
-2
-3
27
48
-23
-28
0
-22
-21
-5
0
0
0
0
0
0
0
-1
2
6
54
0
-55
30
15
6
0
0
0
0
0
0
0
9
-7
6
49
71
-19
6
-17
24
18
5
0
0
0
0
0
0
-12
5
51
21
72
45
5
25
-20
0
-3
-2
0
0
0
0
7
4
59
55
22
41
-41
36
-34
21
3
0
0
0
0
0
0
1
31
83
8
74
-76
11
-8
-14
-8
0
-1
0
0
0
0
0
0
-15
-10
53
-12
-12
-5
44
2
0
0
0
0
0
0
0
0
0
-2
-43
24
-72
-11
21
-19
-4
0
0
0
0
0
0
0
0
-16
0
-19
-41
-13
-22
0
8
-9
0
0
0
0
0
0
0
1
0
0
-4
-22
5
-42
1
0
-2
0
0
0
0
0
0
0
0
0
-2
24
5
-25
-13
0
10
24
-16
0
-6
0
1
0
0
0
-5
42
139
33
-50
82
-48
49
1
126
52
26
13
0
0
0
0
-6
118
74
14
3
110
70
37
2
46
110
25
-6
1
0
0
0
1
-11
85
59
1
-11
96
83
-58
5
15
6
-1
4
0
0
0
-10
51
159
-39
-59
4
12
67
65
-21
-15
1
0
0
0
0
0
0
49
-24
26
11
24
29
-44
-68
80
51
0
0
0
0
0
0
0
0
15
2
-100
-22
-5
25
1
-57
-27
-1
0
0
0
0
0
0
-2
-24
15
11
75
72
-39
-76
19
0
0
0
0
0
0
0
0
-1
0
-1
58
-53
23
-1
0
0
0
0
0
0
0
-4
0
0
0
-6
-18
-16
50
0
-53
-1
-60
17
31
0
0
0
13
-1
14
-3
6
-14
-131
-5
34
34
56
93
-44
-3
10
0
0
-2
35
45
-80
-5
-60
-29
-12
30
0
-26
52
15
3
0
0
0
-6
54
8
8
-10
36
70
30
7
-44
64
30
-14
0
0
0
0
-5
23
19
8
16
-27
42
56
93
59
-6
3
-2
-3
0
0
0
0
15
11
-7
57
12
159
116
102
19
0
0
-2
0
-2
0
0
0
0
20
-31
34
68
-5
-4
86
0
5
0
3
0
0
0
0
0
4
-3
4
109
-3
37
50
32
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-16
21
-14
0
-1
-28
0
0
5
-1
0
0
4
2
0
-31
8
-28
41
-83
64
-22
-11
84
5
-1
2
0
0
-3
-1
-18
-13
-25
30
-10
-31
30
26
23
-61
-5
0
0
0
0
0
-64
-17
31
144
26
-22
7
112
7
0
-11
0
0
0
0
0
4
29
92
-67
54
-51
-5
127
-16
85
8
0
0
0
0
0
0
0
24
16
31
95
-50
12
20
-5
49
7
0
0
0
0
0
0
0
0
-6
0
-6
35
-51
16
40
14
1
0
0
0
0
0
0
0
-7
2
22
35
15
-45
-15
-68
-4
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
-6
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
20
0
0
0
0
0
0
0
0
0
0
-1
0
16
-1
42
4
49
-1
0
0
0
0
0
0
0
0
2
0
0
-5
-1
-13
-69
5
-5
0
0
0
0
0
0
0
1
0
2
2
2
22
69
-25
-1
3
0
0
0
0
0
0
0
42
-2
0
-8
8
1
-6
-7
0
0
0
0
0
0
0
0
-4
-4
8
-3
-2
3
-1
-23
-3
-3
0
0
0
0
0
0
0
1
5
8
-1
-1
-1
-3
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
31
-41
17
4
2
0
0
0
0
0
0
0
0
50
0
0
136
55
66
-31
3
17
5
0
0
0
0
0
0
8
35
-29
11
93
-17
81
30
-15
-19
0
0
0
0
0
0
0
-5
71
-2
43
-17
115
21
20
3
1
-1
0
0
0
0
0
0
19
-24
-73
-94
59
-60
-4
-17
-3
-4
0
0
0
0
0
0
0
-25
25
-8
-43
42
5
-2
2
-3
0
0
0
0
0
0
0
0
16
24
4
6
39
-12
5
-3
0
0
0
0
0
0
0
0
0
4
-46
-20
-28
35
-31
6
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
0
0
0
0
0
0
0
0
0
0
26
156
23
23
-4
-8
-1
-2
-1
0
0
0
0
0
0
0
0
-21
50
76
45
76
-5
0
0
0
0
0
0
0
0
0
0
0
43
2
-97
-55
-27
1
0
0
0
0
0
0
0
0
0
0
0
-22
-72
-22
5
-65
1
0
0
0
0
0
0
0
0
0
0
0
-13
4
-8
68
-43
-1
0
0
0
0
0
0
0
0
0
0
0
5
-48
4
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
39
58
3
6
0
0
0
0
0
0
0
0
0
-25
0
0
-16
78
-10
22
-8
-6
0
0
0
0
0
0
0
0
-6
36
125
140
56
14
-29
-33
2
0
0
0
0
0
0
0
9
28
6
-69
17
-50
5
-9
0
0
0
0
0
0
0
0
0
-13
-38
16
-21
-34
-42
6
0
0
0
0
0
0
0
0
0
0
0
-30
25
-11
-18
-12
-2
-1
0
0
0
0
0
0
0
0
0
0
-2
-14
44
-14
0
-3
-1
0
0
0
0
0
0
0
0
0
0
7
-1
-5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
25
6
5
5
-1
0
0
0
0
0
0
0
0
3
64
-32
110
42
32
8
-2
0
0
0
0
0
0
0
0
0
1
23
6
44
31
31
-5
2
-1
5
0
0
0
0
0
0
0
-4
-53
24
77
30
9
2
0
0
0
0
0
0
0
0
0
0
-7
-57
-17
12
-29
6
0
0
0
0
0
0
0
0
0
0
0
-4
8
26
-31
24
-9
1
-1
0
0
0
0
0
0
0
0
0
0
-31
42
-4
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
51
-22
0
2
0
0
0
0
0
0
0
-7
-4
6
0
0
0
112
12
0
-5
0
0
0
0
0
0
-7
42
14
20
133
115
179
20
15
3
4
0
0
0
0
0
13
-41
-69
16
4
-22
116
64
17
-3
24
-6
0
0
0
0
0
-8
2
14
-16
0
-49
16
-3
61
-24
0
-3
5
0
0
0
8
-22
6
-21
9
4
143
-13
-36
-5
22
1
-1
0
0
0
0
0
1
29
-25
65
-25
-34
-27
18
-25
0
8
4
0
0
0
0
0
0
14
-1
13
47
27
35
105
-28
1
-2
0
0
0
0
0
0
0
0
0
6
8
23
-39
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
6
-1
5
0
0
0
0
0
0
0
1
0
47
118
29
39
1
0
-1
0
0
0
0
1
0
0
0
-5
13
8
44
16
-20
-8
0
2
0
0
0
0
2
20
46
-4
1
-22
-20
-43
-10
-8
4
-5
0
0
0
0
0
0
10
1
-35
31
13
-31
-38
72
-27
0
0
0
0
0
0
0
0
-9
-2
1
0
-10
-58
18
-33
-3
0
0
0
0
0
0
0
4
0
0
-2
0
0
-52
22
14
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
5
-9
51
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
45
-29
78
-24
34
42
0
0
0
0
0
0
0
0
0
0
0
-43
-89
-7
-3
-22
-112
72
-5
0
0
0
0
0
0
0
0
0
41
34
37
-51
51
40
-69
22
8
-1
1
0
0
0
0
0
0
0
44
33
-31
-48
-40
-10
22
78
-18
0
0
0
0
0
0
0
2
120
67
-50
91
-60
6
-31
10
12
-25
8
-2
-3
0
0
0
-2
-17
106
90
-26
45
68
8
-78
56
-13
41
-2
0
1
0
0
0
20
16
122
-33
-50
-12
78
-70
-13
50
-27
-25
3
-1
0
0
0
0
0
0
8
-5
22
-17
-5
-2
0
0
0
0
0
0
0
5
-35
-48
3
-10
9
1
0
0
0
138
-4
-1
4
0
0
0
-75
-29
-87
-19
80
29
38
0
0
224
24
-12
67
-34
-2
1
0
74
0
5
-39
13
-36
123
181
-17
49
144
37
5
-1
-30
0
0
-43
-83
22
-57
-20
63
-44
17
77
42
-25
13
0
-1
3
0
0
-21
13
-74
-23
27
25
77
25
50
-16
-3
12
16
0
0
0
0
28
15
-42
75
58
18
-1
-46
34
-82
-33
41
-1
0
0
0
0
9
6
71
50
-5
-23
32
-44
-70
-11
-27
-7
0
0
0
0
0
0
-10
20
18
-2
19
-37
-7
18
-18
0
-3
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
8
0
7
0
0
0
0
0
0
-8
-22
12
-23
88
98
0
0
-36
-11
16
0
-5
0
0
0
-25
14
-54
134
25
39
84
36
58
-71
7
-66
-14
-2
0
0
0
-75
7
-30
64
29
11
55
26
34
9
-65
-63
41
-1
0
0
0
-3
2
-35
-8
73
76
-49
41
29
6
-90
9
-10
4
6
0
0
-49
-39
67
16
-42
43
-8
14
47
55
-63
-11
-31
-1
0
0
0
-6
-30
-9
28
-9
-7
11
12
-22
-59
45
25
8
0
0
0
0
-50
-20
-6
-5
-12
-73
-135
29
1
-9
23
-66
-33
5
0
0
0
25
52
160
-13
-63
-15
6
15
-32
-102
-45
6
-2
0
0
0
0
0
8
-25
-42
63
6
-107
-73
-42
-4
-45
2
0
0
0
0
0
-41
69
21
22
37
0
-5
0
0
-1
2
0
0
0
0
0
0
71
41
19
158
90
102
24
16
-51
5
1
0
0
0
0
0
0
3
13
-4
32
10
1
-72
-34
-39
-5
0
-1
0
0
0
0
0
24
7
-67
-30
-2
5
18
32
-19
-7
0
-2
0
0
0
0
0
-34
-72
-98
-79
66
52
-44
-6
-21
2
0
0
0
0
0
0
0
-20
-42
-9
-37
43
-70
-8
-57
-4
0
0
0
0
0
-1
0
0
19
11
-71
-50
-15
-41
-5
-57
-18
0
0
0
0
-4
0
0
0
0
34
-37
-3
-47
-24
-34
1
-25
-1
8
0
0
0
0
0
0
-9
-17
-5
3
0
7
-8
5
-1
0
-1
0
0
0
0
0
0
-5
6
-32
22
-28
72
48
6
0
1
-2
0
0
0
0
0
0
3
-11
-13
-1
-68
82
0
18
-49
-58
-1
-17
29
0
0
0
0
-48
19
68
31
9
22
60
4
-52
-49
-2
0
0
0
0
0
0
6
5
1
94
25
-32
-39
74
-49
-6
0
0
0
0
0
0
0
1
-47
-31
41
-23
-5
-35
-3
74
-8
4
0
0
0
0
0
0
7
17
-23
27
49
-115
-27
-74
-3
-1
25
0
0
0
0
0
0
-62
-2
-17
5
27
20
15
-23
13
4
12
0
0
0
0
0
0
-3
-57
-40
29
97
14
-27
-41
-1
0
0
0
-4
0
0
0
0
0
0
-1
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
37
41
42
29
0
0
0
196
41
-13
4
28
0
0
0
-4
-38
-21
-48
5
21
49
0
53
0
22
65
-58
-16
5
0
0
-95
-42
3
-1
52
-10
158
3
62
-22
44
-12
31
2
0
0
0
-21
49
49
52
37
-26
88
52
108
-12
-58
5
-10
2
0
0
0
-4
-25
18
-32
74
-38
66
50
21
49
-75
-6
12
0
0
0
0
-20
-37
-24
76
-7
-120
33
-46
-47
4
-64
5
-10
-1
0
0
0
-1
-42
-10
73
-32
-47
83
-83
-57
-75
2
20
5
0
0
0
0
0
1
-7
-17
-47
-71
-17
-54
-10
-13
7
4
7
0
0
0
0
0
0
0
0
-1
0
-1
-1
13
0
0
0
0
0
0
0
0
0
-6
-3
5
0
0
5
0
0
2
45
3
0
0
0
0
0
0
6
-20
-34
45
14
31
0
34
0
5
8
20
0
0
0
0
-3
19
-32
22
11
12
23
60
112
-6
31
76
16
1
-3
0
0
5
-7
14
55
2
81
17
-11
33
-49
-7
55
47
-1
0
0
0
32
29
43
-30
24
35
91
-32
-17
-17
-18
31
8
3
0
0
0
2
33
30
-29
-11
-32
46
26
4
-23
10
0
1
0
0
0
0
-1
-5
8
13
-7
-53
-36
-95
-23
-30
-3
-1
0
-2
0
0
0
0
-39
-4
-26
-55
40
-58
42
-46
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
5
2
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
6
-1
9
0
0
-1
0
18
12
30
0
0
0
0
0
0
33
12
19
-10
-16
-7
1
50
-8
-7
1
0
0
0
0
0
0
32
5
-15
-22
-49
-33
-42
-13
-49
20
-2
0
0
0
0
0
0
-64
0
-18
70
18
-46
-11
57
-93
3
-1
-2
0
0
0
0
3
2
-36
-12
-67
-16
-39
-59
-44
-30
10
0
0
0
0
0
0
7
8
-41
-1
-25
5
-5
-4
-85
22
-1
0
0
0
0
0
0
-6
33
34
8
-16
-6
54
-6
-49
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-21
-25
-13
-3
17
0
7
0
0
0
0
0
0
0
0
41
1
30
17
6
2
-10
29
14
0
0
0
0
0
0
0
0
-31
-67
8
-7
-8
5
0
0
0
0
0
0
0
0
0
0
0
27
-21
35
-5
-7
0
0
0
0
0
0
0
0
0
0
0
1
3
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-37
-5
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
25
20
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
-15
-4
0
-4
1
27
-7
0
0
0
0
0
0
0
-1
1
0
29
-6
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
1
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
1
10
1
-2
-1
0
9
0
0
0
0
0
0
0
0
0
8
8
35
7
13
-1
0
0
2
0
0
0
0
0
0
0
0
0
-4
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
7
24
24
-21
-32
0
-8
-22
7
0
0
0
0
0
0
16
16
59
66
6
-75
7
-32
37
-7
-5
4
0
0
0
0
-1
22
-5
25
3
27
-48
-78
61
-52
-5
10
0
0
0
0
0
0
37
9
5
22
8
-10
25
-1
8
23
0
0
0
0
0
0
9
3
16
8
-13
-46
-44
6
29
6
5
7
0
0
0
0
0
0
-5
15
9
8
-22
-53
-29
30
2
0
0
0
0
0
0
0
-1
-5
-9
-8
16
-8
-2
-43
-8
5
0
0
0
0
0
0
0
7
8
5
-5
0
0
5
-14
-69
3
0
0
0
0
0
0
0
3
-4
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-3
3
0
10
10
0
0
0
0
0
0
0
0
0
-2
-2
0
6
0
0
-3
5
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
0
-2
-55
-18
66
0
35
-41
-17
2
5
-2
0
0
0
41
48
18
18
22
-126
-19
11
123
-22
4
-22
44
41
0
0
-4
39
-49
73
31
31
-25
-49
10
86
-15
1
33
77
10
0
0
17
120
75
19
-13
27
0
93
197
40
-4
-29
9
6
17
0
0
0
-13
23
-39
3
-14
-44
-47
81
-27
5
33
34
0
-2
0
0
0
0
-39
24
10
-18
27
-92
-30
5
-37
-2
-3
23
1
1
0
0
0
-7
0
3
5
20
-52
-49
-84
49
-1
0
0
-1
0
0
0
0
0
0
-2
-3
-13
-21
9
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-28
-4
-7
47
0
-2
20
81
28
8
42
0
0
0
-2
-12
49
14
113
-28
28
34
58
64
53
-74
-11
59
-49
0
0
-49
-23
-58
49
34
-28
-109
-50
-35
-41
4
-17
49
-24
8
0
0
4
-56
-56
-13
-142
73
10
26
-47
-24
49
52
-48
5
1
0
0
-41
-152
-27
54
14
-49
16
3
-71
14
43
15
-111
-20
2
0
0
-8
-67
-5
41
-1
-27
31
-33
-81
-67
-63
0
54
-9
10
0
0
-3
-17
54
171
-95
-20
-4
-29
-51
-4
49
18
-7
12
0
0
0
3
1
35
26
-45
-3
-21
-53
-17
30
-44
66
11
-7
0
0
0
0
1
0
74
7
-23
-32
2
12
14
68
2
-14
1
0
0
0
0
0
-5
0
10
-34
42
0
-7
2
-4
103
-36
-17
24
-6
0
0
-10
-24
0
60
36
26
29
86
-25
70
55
17
29
-1
-12
0
0
0
-1
-68
148
19
21
-18
38
-2
32
22
-31
40
-17
-8
0
0
7
-4
45
52
98
-72
50
-8
-17
15
-40
-26
32
27
-1
0
0
0
0
34
-34
-18
-50
-1
15
0
49
-13
-30
37
0
-1
0
0
0
0
-6
-21
53
-4
38
-17
-21
-20
-16
-89
6
30
0
0
0
0
0
6
32
83
78
-66
-13
-2
39
22
58
8
61
-16
0
0
0
0
-16
41
-46
-57
6
10
30
-5
-41
-6
26
21
55
0
0
0
0
3
-13
-94
-6
-61
52
42
23
-16
71
5
2
5
0
0
0
-9
41
122
16
74
0
22
64
76
43
12
-19
14
-1
0
0
-1
-57
58
37
23
15
-41
58
28
18
45
67
21
44
1
0
0
0
39
-31
-119
-21
-29
-39
-4
8
28
8
-11
14
1
0
0
0
0
8
-10
-45
-30
95
-25
57
48
-43
21
-7
-3
-4
0
0
0
-2
16
20
26
64
-48
27
19
20
-26
-53
43
7
-2
0
0
0
0
-4
-69
-7
61
-124
-74
57
-17
30
22
10
-37
-29
0
0
0
0
8
-10
4
-10
-22
24
-38
-52
-17
5
32
19
-12
5
0
0
0
0
42
-5
-55
-37
-54
24
-9
72
41
24
-12
5
0
0
0
0
0
0
6
-4
49
-12
-5
0
0
0
0
0
0
0
0
1
5
-1
24
69
-90
3
0
16
-29
41
72
-33
0
0
0
-2
42
39
27
47
31
-47
-55
16
55
-38
-25
-3
4
-15
0
0
18
49
49
-4
63
27
-24
-61
33
68
-44
7
-43
-31
20
0
0
13
32
55
75
-18
4
0
109
98
-42
-15
71
-15
27
8
2
0
0
23
0
41
22
31
-14
64
-10
30
16
27
0
-3
2
0
0
0
6
-3
32
-3
66
5
-25
-33
82
-61
-13
0
0
0
0
0
0
0
5
4
-9
7
-14
-58
-4
-5
53
-7
-4
0
0
-1
0
0
0
8
0
-56
1
42
-27
-23
-59
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-3
0
0
9
18
10
-24
44
0
-47
5
-20
0
2
0
0
0
3
-6
8
24
46
49
-83
-64
74
38
34
19
-15
0
0
0
0
0
29
-5
27
-25
-31
-55
-11
0
45
31
52
5
3
0
0
0
8
-24
25
12
-25
-22
29
117
23
62
61
75
0
0
0
0
0
0
4
-6
9
-22
93
51
90
57
71
87
15
0
0
0
0
0
0
0
-5
34
-29
-31
-10
-5
7
73
87
2
2
0
0
0
0
0
4
4
4
37
5
-44
-1
-76
-42
-6
0
0
0
0
0
0
0
0
0
8
4
9
3
-13
15
-51
-9
0
0
0
0
0
0
0
0
0
0
0
0
-17
-35
-8
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
31
0
45
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
47
111
-31
0
0
0
0
0
0
0
0
0
9
0
2
-4
41
-35
-19
-5
0
0
0
0
0
0
0
1
3
0
0
1
6
-35
30
-4
0
0
0
0
0
0
0
0
0
5
0
0
0
1
13
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-17
9
1
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-53
76
-7
57
2
0
0
0
0
0
0
0
0
48
0
0
49
-64
-16
-8
-22
-27
14
0
0
0
0
0
0
0
38
237
151
77
-33
-102
-42
39
-34
0
0
0
0
0
0
0
8
0
129
215
35
-111
-29
13
1
29
0
0
0
0
0
0
0
2
61
144
-51
-6
-2
-7
-16
52
-23
0
0
0
0
0
0
0
0
13
-20
-5
22
-21
45
7
-10
-4
-4
0
0
0
0
0
0
0
-43
-42
-72
-5
-29
-72
-68
8
-14
5
0
0
0
0
0
0
0
-13
2
8
22
7
-15
6
-3
4
0
0
0
0
0
0
0
0
4
-25
-45
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
59
33
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
71
30
2
-3
-8
3
0
0
0
0
0
0
0
0
33
138
204
103
-28
-47
-3
-3
-8
0
0
0
0
0
0
0
0
17
32
49
-43
21
-13
-6
-5
0
0
0
0
0
0
0
0
0
67
-27
-31
54
-53
4
0
0
-2
0
0
0
0
0
0
0
0
17
46
-2
-5
-33
-8
2
0
0
0
0
0
0
0
0
0
0
-3
-13
-22
54
-3
19
-1
0
0
0
0
0
0
0
0
0
0
0
30
-43
72
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
79
-46
-4
0
1
0
0
0
0
0
0
0
0
14
0
0
61
46
33
8
-8
3
-2
0
0
0
0
0
0
0
2
86
105
76
-25
-56
19
-4
-1
2
0
0
0
0
0
0
0
-66
-4
102
-6
-19
47
26
4
0
0
0
0
0
0
0
0
0
34
-89
-61
21
-19
18
-8
-18
-2
-1
0
0
0
0
0
0
0
54
-84
-10
17
-23
7
2
0
2
0
0
0
0
0
0
0
0
-35
-41
-49
-41
12
15
-2
0
0
0
0
0
0
0
0
0
0
4
-8
-8
15
-3
5
2
0
3
0
0
0
0
0
0
0
0
2
-5
12
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
65
-29
49
2
0
0
0
0
0
0
0
0
-4
49
0
0
77
19
35
9
-3
0
0
0
0
0
0
0
0
0
48
47
78
48
-39
-39
-2
0
-3
0
0
0
0
0
0
0
2
-56
51
120
53
7
1
7
0
-8
0
0
0
0
0
0
0
0
15
-30
-6
-32
-31
-44
4
5
-2
0
0
0
0
0
0
0
0
-4
29
-44
7
66
-6
1
0
0
0
0
0
0
0
0
0
0
-10
-55
-34
98
-23
12
0
0
0
0
0
0
0
0
0
0
0
0
5
-71
-27
-27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
3
6
-1
0
-3
0
0
0
-25
5
8
0
0
-2
0
0
4
0
-10
-15
-30
2
0
0
0
38
-5
-23
-27
0
1
0
0
0
-3
8
19
1
-85
231
138
75
-22
75
-8
36
-6
0
0
0
4
-1
-22
12
-24
58
91
261
83
17
-39
-35
-6
-6
0
0
0
8
7
-2
3
16
2
-60
102
37
27
-31
22
15
5
-2
0
0
0
0
-1
5
-5
-17
-66
-33
14
-50
-13
-20
-31
-4
-4
0
0
0
0
0
15
-13
-20
-30
23
-43
-6
54
-10
-12
-29
-7
0
0
0
0
0
0
31
-6
-73
-68
-74
-5
-30
-10
-1
-2
0
0
0
0
0
0
0
0
-25
19
-68
33
-41
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-58
-12
-8
-4
0
-9
0
0
0
0
0
0
0
5
17
-61
18
-5
32
-1
-1
-2
0
0
0
0
0
0
0
0
0
8
100
44
94
-55
-7
5
-4
0
0
0
0
0
0
0
0
25
93
195
84
-26
12
-2
1
0
0
0
0
0
0
0
0
8
-6
22
140
106
-127
40
0
-6
0
0
0
0
0
0
0
0
8
3
-31
46
129
-50
52
-7
-2
0
0
0
0
0
0
0
0
0
0
56
50
77
-112
6
0
0
0
0
0
0
0
0
0
0
0
0
4
47
-10
-50
-1
0
0
0
0
0
-50
54
37
31
48
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-53
5
14
58
0
1
0
0
0
0
0
0
0
0
0
0
46
-28
47
11
-53
-16
-2
0
0
0
0
0
0
0
0
0
0
-28
-5
7
87
50
-13
25
0
0
0
0
0
0
0
0
0
0
29
13
10
0
18
-32
-4
-32
8
-6
0
3
1
0
0
0
0
0
52
59
-10
17
-65
-33
-5
37
5
-5
3
4
6
0
0
0
0
-6
-29
-50
-23
41
6
-33
41
-62
13
-10
4
-5
-9
0
0
0
0
32
17
-18
-8
-5
9
-39
20
-15
12
23
3
0
0
0
0
0
0
2
0
0
0
6
4
-5
0
0
0
-3
0
0
0
-1
19
-15
-5
-35
-14
-4
0
0
0
12
-40
-2
-28
-9
0
0
-46
-76
-9
-83
16
-67
-53
0
0
142
22
10
-54
3
-7
-5
0
-15
-65
-25
23
-119
-15
47
245
284
121
-14
-38
45
33
17
0
0
-49
9
33
57
31
-17
58
94
247
-24
33
46
50
3
-1
0
0
22
14
45
-22
72
-15
-26
-69
74
-85
27
-28
29
-3
0
0
0
1
24
-39
11
20
12
25
-30
-76
-29
11
48
10
10
-4
-1
0
0
-4
-2
12
74
32
-31
-44
-52
-50
-53
-12
-12
22
-3
0
0
0
0
-2
-8
-4
-2
10
-13
-8
-70
-2
-6
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
-28
1
42
60
33
0
0
18
-60
-47
-17
-12
0
0
0
-1
54
-89
-47
-71
65
47
132
98
-50
98
30
45
16
0
0
0
-1
-23
13
-27
93
54
-40
-27
23
-1
58
49
-23
-2
1
0
0
-13
22
-52
3
-68
5
79
-1
40
65
-39
16
13
0
-2
0
0
17
-4
-46
4
-48
-75
-13
-33
-80
-48
109
-6
50
3
0
0
0
-7
10
-100
71
20
30
-27
62
43
44
56
25
-39
0
0
0
0
-1
-28
43
31
-15
9
24
-23
-16
23
-23
41
1
0
0
0
0
0
5
66
1
-8
86
-47
16
-28
-9
8
-16
0
0
0
0
0
0
0
-53
-74
49
-72
57
-27
-2
-26
1
0
0
0
0
0
0
95
47
-46
14
54
65
-92
0
0
0
0
0
0
0
0
0
0
-5
-83
4
-9
1
42
75
25
25
-1
0
0
3
0
0
0
0
-2
-34
39
2
-12
33
-47
69
19
0
-7
3
0
0
0
0
0
-30
27
-26
-18
15
-6
-7
4
-5
1
0
0
1
0
0
0
0
22
-8
-8
-8
-5
-5
9
42
-8
-4
0
0
0
0
1
0
0
-25
-35
-27
8
-8
45
30
16
20
-1
-2
0
-2
6
0
0
0
11
43
28
-11
4
-44
-15
-6
13
-3
-1
0
0
2
0
0
0
-25
83
-50
-43
42
-5
-44
-2
0
0
0
0
0
0
0
0
0
24
9
-2
-28
13
4
3
-7
0
0
0
0
0
0
0
0
0
5
74
57
-49
18
64
-41
64
0
1
-10
4
0
0
0
0
0
-83
14
0
32
-43
49
0
58
21
5
-13
-17
0
0
0
0
0
-16
-17
-45
-79
136
22
19
-45
7
0
0
-2
-2
0
0
0
0
-9
-95
-33
22
27
76
30
61
5
-2
25
-3
0
0
0
0
0
31
84
16
13
-10
96
-1
77
-24
-5
0
25
0
0
0
0
0
-33
75
19
-13
44
-7
-2
-24
-28
-1
-2
-1
0
0
0
0
0
-5
-23
77
18
1
56
-48
-35
-41
3
-8
0
0
0
0
0
0
19
-43
-52
-5
14
84
-10
9
-7
0
0
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-81
40
5
3
23
145
0
0
15
-9
28
-22
22
-2
0
0
7
4
-4
52
20
44
116
0
205
0
30
-33
-27
-37
-5
5
0
-31
35
-9
58
45
10
134
85
262
173
-22
44
16
-13
5
-1
0
24
13
15
-30
18
-48
86
-12
153
58
-13
-63
-40
-14
0
0
0
2
-31
32
31
-39
-33
-6
-31
13
-88
10
41
-5
4
-4
0
0
0
-68
64
15
-39
-75
5
16
-22
-33
17
13
25
-7
0
0
0
3
-9
44
48
26
-52
4
20
-112
-69
-27
7
-15
-6
0
0
0
0
0
27
-5
-12
-21
-18
-13
-15
24
-20
-1
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-20
0
0
0
0
0
0
0
0
-3
12
-1
-16
1
27
5
0
7
-76
-9
-3
-1
3
0
0
0
13
6
-42
-139
-54
81
0
75
0
16
12
-1
-1
0
1
0
1
23
67
-50
5
55
-26
159
263
135
-32
-34
-37
0
4
0
0
0
-5
-4
-41
59
120
39
38
56
29
13
41
6
2
0
3
0
0
-2
-17
-15
52
5
19
-47
-65
-6
-73
-9
48
-5
-2
0
0
-3
17
9
-56
105
-55
-18
42
-10
-18
-71
-2
2
7
-2
0
0
-3
0
-31
-33
-73
-25
-49
-64
11
15
10
2
2
-2
0
0
0
0
-2
0
-5
19
8
-15
-19
-12
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-12
0
0
0
0
0
0
0
0
0
1
-12
8
-4
7
0
0
0
0
-7
17
-2
0
0
0
0
0
0
24
-8
14
-6
13
8
0
-5
-29
-41
1
0
0
0
0
0
0
15
-14
7
-6
8
-1
32
111
-14
-1
-2
0
0
0
0
0
5
0
4
-12
1
8
-6
155
139
-75
0
-1
0
0
0
0
0
0
6
-2
-10
-4
-2
14
67
96
-45
-9
0
4
0
0
0
0
0
-1
2
-1
9
-4
49
73
74
-49
4
-1
-2
0
0
0
0
0
0
0
5
-14
-5
51
23
86
-19
1
-5
0
0
0
0
0
0
2
4
5
0
0
60
78
8
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
5
0
0
0
0
0
0
0
0
2
0
-1
3
47
3
0
0
7
0
0
0
0
0
0
0
0
0
0
0
3
4
75
-31
38
108
0
0
0
0
0
0
0
0
0
-1
-1
5
-31
-48
90
55
55
8
0
0
0
0
0
0
0
0
0
4
1
16
61
-55
-40
46
12
0
0
0
0
0
0
0
0
0
5
-5
-13
19
7
59
-57
41
0
0
0
0
0
0
0
0
0
0
2
-5
-17
-2
35
-45
0
0
0
0
0
0
0
0
0
0
0
-3
6
49
38
2
34
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
2
-13
-16
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-1
8
23
-22
-20
12
0
0
0
0
0
0
0
0
0
0
0
0
8
32
123
0
23
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
26
-13
-16
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-20
52
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-53
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-22
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-6
43
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
4
-9
-17
-55
139
103
0
0
0
0
0
0
0
0
0
0
0
-1
0
-41
-33
43
-41
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-33
-22
36
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-42
75
90
3
0
0
0
0
0
0
0
0
0
0
-1
1
-60
-17
-42
-25
0
0
0
0
0
0
0
0
0
0
0
0
6
3
7
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
14
-24
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
50
0
0
0
0
0
0
0
0
0
0
0
-1
-19
22
-6
47
-2
0
0
0
0
0
0
0
0
0
0
0
6
-13
-25
61
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
-27
5
-62
3
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-5
-10
1
0
0
0
0
0
0
0
0
0
0
0
-4
27
-22
-14
-13
-2
0
0
0
0
0
0
0
0
0
0
0
-1
10
1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
97
17
10
-10
-6
0
0
0
0
0
0
-2
-2
24
0
0
0
-5
66
-66
43
2
-10
0
0
0
0
0
-2
-7
-2
17
6
33
-12
21
24
-14
-53
0
0
0
0
0
0
0
10
15
-15
11
69
37
-52
-21
-11
57
1
0
0
0
0
0
0
3
-2
7
-49
34
47
26
49
27
-2
-1
0
0
0
0
0
0
0
8
-45
-50
29
-84
-73
6
-19
-12
0
0
0
0
0
0
0
0
0
9
-2
24
30
13
35
-34
6
0
0
0
0
0
0
0
0
2
13
13
-30
3
1
-4
0
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
-3
0
0
0
0
25
-1
2
0
0
0
0
0
0
0
0
0
-8
-43
0
0
0
-59
-7
-8
3
0
2
0
0
0
0
0
0
8
0
91
34
0
-32
0
0
0
0
0
0
0
0
0
0
0
-2
0
-64
7
27
-23
1
-5
0
-4
0
0
0
0
0
0
0
0
0
-18
-7
4
30
0
-5
-8
-9
2
0
0
0
0
0
0
0
0
25
51
16
2
12
0
-8
-1
0
0
0
0
0
0
0
0
0
8
-14
-6
0
-3
0
1
3
0
0
0
0
0
0
0
0
0
2
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
-31
25
-30
-7
-45
-8
0
0
0
0
0
18
-7
13
0
0
32
20
4
-4
-55
-67
-51
0
0
0
0
-1
0
-10
-56
13
27
4
59
50
-4
7
40
-28
0
0
0
0
0
0
25
41
31
51
86
70
44
-52
-15
57
17
0
0
0
-1
0
0
-8
-13
43
8
47
-1
62
68
33
53
21
0
0
0
0
0
-5
0
6
-14
-74
-62
37
67
63
-27
9
30
0
0
0
0
0
1
0
3
25
0
10
7
29
119
48
-13
12
0
0
0
0
0
0
22
-1
-46
-13
34
23
-8
27
28
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
-8
3
0
0
41
14
14
-84
-22
-12
4
0
0
0
2
-1
-12
-43
-74
-11
60
4
53
27
-47
2
-9
29
0
0
0
0
4
10
-22
13
33
-11
0
-10
42
-43
-112
17
34
0
0
0
0
1
-12
22
81
-42
22
-23
-52
-13
10
-59
35
85
0
0
0
0
-9
-3
80
-64
-36
-7
-20
-28
8
-12
14
-61
-4
0
0
0
0
0
8
21
55
23
-62
-81
-45
-5
-9
51
6
79
0
0
0
0
0
15
66
-29
-28
-66
-5
-38
-31
-6
12
40
-18
0
0
0
0
0
1
46
-22
92
-95
-22
0
3
7
67
-58
7
0
0
0
0
0
0
0
7
4
-5
-51
-43
5
-129
-90
-4
0
0
0
0
0
0
0
0
0
0
0
-22
-39
0
39
-43
-50
0
0
0
0
0
0
0
0
1
25
17
59
-75
-53
8
52
-44
-5
0
0
0
0
0
0
3
0
41
59
-31
12
-39
21
18
-31
-1
0
0
0
0
0
0
-1
-3
9
-9
-2
-2
-45
-23
72
45
1
0
0
0
0
0
0
0
-7
-14
5
50
58
66
-58
-47
2
-4
0
0
0
0
0
0
0
0
-1
41
9
34
-4
-10
56
60
-27
0
0
0
0
0
0
0
-1
31
80
39
-75
4
-4
37
25
2
0
0
0
0
0
0
0
1
0
22
-9
0
-49
115
48
-9
0
0
0
0
0
0
0
0
0
3
0
19
-7
28
10
81
111
0
0
0
0
0
0
0
0
0
0
15
-22
17
55
11
23
-49
56
0
0
0
0
0
0
0
-16
48
54
0
37
120
-6
17
-44
66
0
0
0
0
-4
0
-4
6
58
65
-8
-16
29
-28
44
-24
88
0
0
0
0
0
-1
0
4
73
-1
-32
-34
-6
-4
95
-35
51
0
0
0
0
0
0
2
8
19
33
79
26
19
14
44
-7
36
0
0
0
0
0
0
16
-4
51
27
63
25
20
15
46
10
40
0
0
0
0
-1
0
-2
9
31
-75
-10
66
-22
-119
60
44
-70
0
0
0
0
0
0
0
0
-2
50
-25
17
0
-90
24
24
134
0
0
0
0
0
0
0
0
-8
16
-2
-5
-6
-12
-9
0
0
0
0
0
0
0
0
13
3
0
0
12
42
51
-74
-10
23
-22
0
0
0
0
-1
-26
18
0
-5
0
9
81
47
66
24
-2
-7
0
0
0
0
-4
-10
4
-24
4
-13
36
41
-27
142
28
-56
-31
0
0
0
0
0
-2
-5
63
85
40
36
94
-2
84
61
44
35
0
0
0
0
2
-2
13
0
48
48
-22
-76
-25
2
4
-4
64
0
0
0
0
0
1
10
51
58
-5
-39
15
-6
51
38
26
-41
0
0
0
0
0
0
19
37
-99
-36
79
-25
-22
0
-61
57
-8
0
0
0
0
0
-8
0
49
10
-52
14
86
-55
17
9
-35
0
0
0
0
0
0
0
0
0
0
1
3
1
-17
-10
-3
0
0
0
0
0
0
0
0
-1
0
0
18
58
-3
26
-33
-5
16
-30
0
0
0
0
0
2
15
0
41
0
40
-27
-4
-41
-27
-22
-4
0
0
0
0
0
-5
23
-9
25
-62
-53
45
14
5
-9
26
-3
0
0
0
0
4
-5
50
-12
-37
9
71
-4
-16
-7
35
49
-1
0
0
0
0
0
-2
37
65
18
15
24
-33
-9
-65
15
24
-12
0
0
0
0
0
1
-1
8
48
-17
51
-8
46
85
16
24
-5
0
0
0
0
0
0
-2
5
6
31
-20
15
37
-20
25
28
8
0
0
0
0
0
0
0
0
2
6
-25
13
-57
32
9
59
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-3
-19
-29
27
0
0
0
0
0
0
10
-6
0
0
0
41
-42
-29
-90
-92
30
-2
0
0
0
0
0
0
0
8
0
1
9
-51
8
24
-20
-8
0
0
0
0
0
0
0
-5
-5
8
0
-12
10
15
-5
13
-18
2
0
0
0
0
0
0
0
32
-4
-2
0
35
-44
-5
16
13
3
0
0
0
0
0
0
0
-2
14
-1
-1
14
-14
-42
46
24
-1
0
0
0
0
0
0
0
2
-2
0
22
-1
25
18
9
0
-1
0
0
0
0
0
0
0
0
0
0
-5
1
-3
0
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
41
47
85
-42
5
39
31
0
0
0
0
0
0
0
22
5
32
-6
21
26
54
27
18
53
0
0
0
0
0
0
1
-8
4
30
-62
12
-48
-9
65
-10
-21
0
0
0
0
0
0
0
0
3
23
-23
-49
65
6
74
-49
31
0
0
0
0
0
0
0
0
0
0
0
-23
32
86
-15
-12
26
0
0
0
0
0
0
0
0
0
0
6
-74
2
-13
-32
-34
70
0
0
0
0
0
0
0
0
0
-3
-5
43
56
59
36
30
-32
0
0
0
0
0
0
0
0
0
0
-1
2
21
-19
-34
-78
-44
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
-19
31
14
0
0
0
0
0
0
0
0
0
0
-1
-6
8
-42
-41
-34
-2
0
0
0
0
0
0
0
0
1
0
-4
-1
-25
-62
152
-22
8
0
0
0
0
0
0
0
0
0
0
0
0
-29
50
26
-100
14
0
0
0
0
0
0
0
0
0
0
0
0
8
-53
-43
-23
-4
0
0
0
0
0
0
0
0
0
0
0
3
32
35
31
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-47
14
-39
52
16
0
0
0
0
0
0
0
0
0
0
0
-9
31
24
79
-31
32
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
57
-33
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
-8
-4
0
0
0
0
0
0
0
0
0
0
0
3
24
62
19
34
0
0
0
0
0
0
0
0
0
5
3
16
27
26
70
35
4
-8
0
0
0
0
0
0
0
-3
-3
2
-1
-34
-13
104
118
31
-3
0
0
0
0
0
0
0
0
0
0
-6
-15
52
60
56
-50
5
0
0
0
0
0
0
0
0
0
0
-16
5
19
-32
34
60
6
0
0
0
0
0
0
0
0
0
0
0
-2
-30
94
6
-2
-7
0
0
0
0
0
0
0
0
0
0
0
-1
34
30
-9
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-40
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
21
5
-11
10
-12
0
0
0
0
0
0
0
0
0
-19
8
0
43
95
-12
21
84
-8
0
0
0
0
0
0
0
0
-1
-1
-6
49
66
-21
37
2
0
0
0
0
0
0
0
0
0
0
0
-1
7
-21
-7
-55
75
-1
0
0
0
0
0
0
0
0
0
0
-2
-15
-54
75
-2
55
3
0
0
0
0
0
0
0
0
0
0
0
-24
10
-2
-31
-16
-3
0
0
0
0
0
0
0
0
0
0
-2
-1
8
59
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-13
-93
52
-5
76
-18
25
0
0
0
0
0
0
0
4
76
-7
-90
-37
67
-2
-6
25
12
0
0
0
0
0
0
0
-19
-54
-15
-11
-5
73
46
49
-37
35
0
0
0
0
0
0
0
1
27
-34
47
-80
92
-30
82
-55
-48
0
0
0
0
0
0
-2
-4
37
53
75
56
69
56
73
-17
17
0
0
0
0
0
0
0
-1
58
8
-22
-68
46
63
-2
71
19
0
0
0
0
0
0
0
45
-15
-41
-73
-7
31
52
3
-43
1
0
0
0
0
0
0
0
0
0
-41
41
-10
37
-31
31
41
32
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-1
32
13
0
0
0
0
0
0
0
0
0
0
-1
-5
5
-13
-14
72
12
-1
0
0
0
0
0
0
0
0
-3
-7
1
19
-8
-12
30
-24
51
0
0
0
0
0
0
0
-3
-6
0
-7
3
-30
-5
13
-1
-8
0
0
0
0
0
0
0
0
-7
8
-14
39
-15
-7
58
23
22
0
0
0
0
0
0
0
0
2
-17
2
-30
60
-58
-65
30
-24
0
0
0
0
0
0
0
0
4
5
-9
-1
42
11
-110
5
-25
0
0
0
0
0
0
0
0
-2
-19
5
-19
52
-63
-15
-75
-18
0
0
0
0
0
0
0
0
8
0
0
0
33
-24
-6
53
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-8
-66
12
0
21
-7
1
69
23
24
2
-4
0
0
0
4
5
24
5
33
54
7
42
74
-29
49
33
6
8
0
0
-1
-2
-47
24
60
9
-46
22
61
12
90
159
44
-106
5
0
0
0
-6
14
34
5
24
46
6
74
39
47
115
-37
14
27
0
0
0
0
0
2
-63
-2
23
-18
38
-29
50
-61
94
-58
1
0
0
0
0
0
0
-3
-27
-56
46
67
-13
82
12
23
-1
0
0
0
0
0
0
0
-9
-84
-26
-20
-15
-3
71
4
12
-24
0
0
0
0
0
0
0
0
-35
-31
4
-27
0
-41
39
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-4
-75
-41
0
-9
-51
-26
37
23
-19
-2
0
0
0
0
-8
-73
-120
2
20
49
-26
0
13
44
28
-72
18
0
0
0
0
0
-25
18
22
19
1
-19
-15
38
80
76
-25
15
0
0
0
-1
16
6
5
20
28
-65
-16
-22
-25
7
49
-37
19
0
0
0
0
-3
21
-22
-25
-46
17
0
-44
26
0
50
81
75
0
0
0
0
-20
18
-39
114
-18
-102
14
6
-1
36
137
48
50
0
0
0
0
0
-20
-31
8
22
-10
-9
-16
-48
-3
76
-23
1
0
0
0
0
-3
18
-2
-51
-5
-2
-17
-47
-11
10
80
63
-25
0
0
0
0
0
-5
-11
22
14
-19
21
14
-6
-4
-18
0
2
0
0
0
0
7
42
-29
-32
-87
0
11
-23
71
-5
55
0
0
0
0
0
0
0
-16
-52
11
29
10
91
27
21
-7
47
0
0
0
0
0
0
0
7
71
-20
68
43
-7
47
-58
19
9
0
0
0
0
0
0
0
4
-59
9
12
105
63
63
-68
103
-49
-3
0
0
0
0
0
5
-4
24
63
-66
83
27
26
44
9
33
0
0
0
0
0
5
23
-7
-13
17
14
-2
-56
111
-12
49
18
-1
0
0
0
0
-2
2
26
6
-17
-36
2
-87
14
28
26
55
-1
0
0
0
6
-21
31
9
-29
-41
-18
-62
-23
25
-7
17
2
0
0
0
0
3
12
-15
-2
-62
11
-75
-49
36
31
-37
-49
-37
5
0
0
0
0
0
0
3
88
26
-10
0
-39
72
-4
103
-1
10
0
0
0
0
-4
41
43
-31
26
-40
-5
-47
-7
36
-8
28
42
0
0
0
0
0
44
37
-8
30
-4
-4
-19
38
23
107
69
-34
0
0
0
0
0
-37
12
-54
-16
3
13
-13
5
18
73
15
-17
0
0
0
0
9
23
-32
-87
5
24
-31
10
74
36
40
42
3
0
0
0
-7
-13
-39
30
-74
28
-6
49
44
54
-7
-3
45
-2
0
0
0
-5
12
-40
-5
-26
1
-16
-22
-13
-80
33
-8
-38
7
0
0
0
1
-16
-5
-38
-66
12
30
-29
-79
31
-52
21
8
0
0
0
0
0
0
0
0
0
0
-14
10
14
51
1
0
0
0
0
0
0
0
0
0
0
5
-5
-66
0
31
-28
60
17
2
66
41
-7
0
0
0
0
4
-48
-100
71
36
80
76
7
32
61
9
48
-15
0
0
0
-1
10
-23
-22
8
81
24
52
48
-12
-6
89
-22
8
0
0
0
0
-4
12
5
-13
-71
21
-22
3
57
-1
-68
24
30
0
0
0
2
0
13
16
-14
7
33
-15
27
33
90
-15
-12
-1
0
0
0
0
0
3
-6
-52
76
41
-5
109
-146
18
83
9
7
0
0
0
0
0
-1
4
-37
-35
20
25
5
-13
5
92
48
5
0
0
0
0
0
0
-8
-4
-7
9
-65
5
29
-75
42
2
0
0
0
0
0
1
0
0
-2
0
-27
-1
0
0
0
15
-3
0
0
0
0
0
0
-1
10
18
0
73
75
47
6
-47
-46
14
-3
0
0
0
0
0
0
28
-61
29
30
-31
15
95
11
49
-49
-23
0
0
0
0
1
-3
-16
-8
0
64
178
36
13
109
14
-6
4
0
0
0
0
0
0
75
-23
33
74
43
15
31
58
51
46
-10
0
0
0
0
0
-20
-49
-49
-58
-25
-57
-11
2
68
34
4
39
0
0
0
0
1
2
-2
46
-33
-39
-43
29
4
39
35
9
25
0
0
0
0
0
-26
-2
90
-12
22
21
44
27
48
-7
19
1
0
0
0
0
0
0
0
-37
-42
-101
-84
51
92
33
21
3
0
0
0
0
0
0
0
0
0
8
0
-23
0
2
-1
5
0
0
0
0
0
0
0
0
0
0
0
17
10
-24
0
-3
1
2
-1
0
0
0
0
0
0
-3
8
48
28
25
90
27
19
33
68
-19
0
0
0
0
0
3
-1
8
14
6
28
9
5
42
31
8
6
0
0
0
0
0
0
-12
-24
44
-33
-2
17
45
4
61
57
10
0
0
0
0
0
0
5
8
-49
-51
2
5
-15
0
22
69
-15
0
0
0
0
0
0
1
-2
1
-44
-14
-54
0
-1
-13
-41
-51
0
0
0
0
0
0
3
-14
-9
-27
-3
25
47
-5
-10
19
0
0
0
0
0
0
0
33
-13
-22
44
42
-23
-3
0
1
0
-1
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-41
-12
59
0
0
0
27
0
0
0
0
0
0
0
0
0
-10
37
5
43
45
0
0
13
0
0
0
0
0
0
0
0
0
0
-30
21
6
66
53
-30
83
-1
0
0
0
0
0
0
0
0
2
-21
16
-86
77
-13
35
8
13
0
0
0
0
0
0
0
0
-1
5
-13
-3
-81
-80
15
5
25
0
0
0
0
0
0
0
0
0
-24
54
-47
-42
-75
24
-10
1
0
0
0
0
0
0
0
0
0
1
24
-65
37
72
-1
12
0
0
0
0
0
0
0
0
0
0
0
55
-92
24
33
-32
27
0
0
0
0
0
0
0
0
0
0
0
-5
37
27
0
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
41
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
-43
54
-31
-17
2
0
0
0
0
0
0
0
0
0
0
1
-23
-18
36
-95
19
29
0
0
0
0
0
0
0
0
0
0
-1
0
-7
17
50
7
25
0
0
0
0
0
0
0
0
0
0
0
-6
1
-13
35
-37
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
-42
13
-30
2
0
0
0
0
0
0
0
0
0
0
0
3
4
-23
8
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
23
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
-15
-32
41
0
0
41
0
0
0
0
0
0
0
0
0
-1
1
13
-102
-20
0
-4
13
-14
0
0
0
0
0
0
0
0
0
-1
1
-26
20
72
-6
1
4
0
0
0
0
0
0
0
0
0
0
0
50
22
58
39
2
-3
0
0
0
0
0
0
0
0
0
0
20
0
-15
31
-13
-6
-1
0
0
0
0
0
0
0
0
0
0
-2
41
54
10
-14
-10
-7
0
0
0
0
0
0
0
0
0
0
0
-16
15
25
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-6
2
-6
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
13
-12
-26
0
0
70
44
0
0
0
0
0
0
0
0
0
0
-1
-20
67
31
4
-12
1
0
0
0
0
0
0
0
0
0
0
1
26
-23
58
29
14
8
0
0
0
0
0
0
0
0
0
0
0
7
31
43
-51
1
-18
0
0
0
0
0
0
0
0
0
0
1
-3
41
27
13
18
-3
0
0
0
0
0
0
0
0
0
0
-9
-21
-26
-5
-7
-20
10
0
0
0
0
0
0
0
0
0
0
0
1
-25
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
0
0
42
-5
7
-1
2
-15
0
0
0
0
0
0
-23
48
0
0
0
5
-5
4
19
45
19
0
0
0
0
0
0
4
22
63
21
40
-19
32
0
-72
43
86
-1
0
0
0
0
-1
-1
57
-3
90
-27
39
29
43
13
-6
-6
0
0
0
0
0
0
-8
17
37
-44
15
-46
39
13
-12
32
4
0
0
0
0
0
0
0
-22
25
31
50
-21
-57
14
7
0
-2
0
0
0
0
0
0
-16
22
10
47
21
22
-8
-33
0
0
1
0
0
0
0
0
0
-2
-27
-6
-9
-42
-12
-1
0
0
-15
0
0
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-41
69
-25
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
46
14
8
-1
0
-3
-9
-4
-9
0
0
0
0
0
0
0
-2
28
17
-51
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-49
-76
84
-2
8
1
0
0
0
0
0
0
0
0
0
0
-4
-64
-6
42
4
0
0
3
-2
0
0
0
0
0
0
0
0
-1
-10
-27
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
44
0
0
0
27
93
57
90
103
31
55
0
0
0
0
-28
0
-14
-4
0
0
75
111
84
61
75
-10
85
0
0
0
-2
-3
-48
20
5
55
67
97
17
85
41
35
64
81
0
0
0
0
0
3
-78
-12
-25
157
42
52
-7
5
19
35
87
0
0
0
-4
2
14
-35
25
73
-30
2
29
-1
35
-71
75
28
0
0
0
0
-1
-2
13
-14
7
19
49
2
-41
-56
41
137
-9
0
0
0
0
0
0
-1
67
-33
23
-56
-3
-2
5
-2
72
-30
0
0
0
0
0
0
-2
-17
24
10
2
-2
1
-16
-3
-25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
13
13
18
23
0
0
-41
49
39
24
22
-72
-109
0
0
0
1
0
42
2
-1
-70
31
58
53
-14
-61
-36
-64
26
0
0
0
0
2
41
57
73
-50
4
-39
15
5
50
-37
-30
-66
0
0
0
0
-4
-29
-1
-22
-95
-93
-9
15
43
54
15
-145
-8
0
0
0
0
0
16
21
-6
-78
-35
32
47
-8
34
-7
-52
-22
0
0
0
0
7
8
-16
-32
-109
4
-49
-35
94
94
24
-65
-27
0
0
0
0
5
0
-47
53
-76
-116
-45
24
36
18
-43
-52
-14
0
0
0
0
0
0
42
-16
-26
-27
48
26
-9
-30
-14
-15
35
0
0
0
0
0
0
-1
0
0
-12
-24
49
-14
41
40
0
0
0
0
0
0
0
0
0
0
0
0
-48
89
94
26
75
0
18
0
0
0
0
0
0
0
-1
8
9
17
10
60
29
-49
1
-15
0
0
0
0
0
0
0
-8
13
59
30
51
56
18
-109
-65
-6
0
0
0
0
0
0
1
18
41
21
-57
-46
5
-44
84
-1
-44
0
0
0
0
0
0
1
0
8
-55
27
2
8
-36
-29
23
58
0
0
0
0
0
0
0
3
19
48
-42
19
-11
-15
-4
-9
21
0
0
0
0
0
0
0
1
5
28
5
64
-67
-67
-34
-26
35
0
0
0
0
0
0
0
1
9
46
22
-26
-13
-21
14
37
45
0
0
0
0
0
0
0
1
-24
23
20
34
68
9
-13
26
73
0
0
0
0
0
0
0
0
0
-73
38
22
-53
35
29
-68
31
0
0
0
0
0
-2
0
5
5
102
0
101
69
22
-10
-16
48
0
0
0
0
0
0
0
1
-7
184
78
40
-13
56
34
-54
7
0
0
0
0
0
0
0
-5
15
53
29
-3
14
-40
4
-1
-45
0
0
0
0
0
0
0
-1
48
-2
6
-25
21
4
-29
14
-42
0
0
0
0
0
0
6
3
-15
32
-32
151
-44
34
16
11
-33
0
0
0
0
0
0
0
0
-15
2
100
-18
-82
66
-42
-6
-41
0
0
0
0
0
0
0
0
31
0
48
27
-35
-1
6
-91
-19
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
0
-21
-7
49
0
0
0
72
-24
24
-59
14
-13
0
0
0
0
-5
1
104
0
8
0
42
36
-20
-55
47
9
17
0
0
1
-1
-15
-29
73
103
57
74
175
45
8
108
84
35
-28
0
0
0
-1
-3
-42
9
3
59
64
75
61
20
6
54
31
4
0
0
0
0
0
-15
-54
13
29
111
143
16
-3
77
-17
-2
-1
0
0
0
0
-10
-5
-10
9
-14
72
40
13
-29
26
43
-63
17
0
0
0
0
0
0
5
56
63
49
-33
48
-24
-26
145
51
47
0
0
0
0
0
0
0
31
42
41
-24
22
-3
-10
17
9
7
0
0
0
0
0
0
0
0
0
0
-2
5
-1
0
0
0
0
0
0
0
0
-2
2
7
-24
0
10
-14
63
-27
-42
-29
-55
-11
0
0
0
0
-1
10
5
0
1
0
-35
-4
-13
-6
-71
-17
54
0
0
0
0
0
13
117
93
129
86
5
56
33
33
-27
43
-7
0
0
0
0
-1
2
31
8
37
42
-32
69
102
30
22
-41
-4
0
0
0
0
0
0
1
115
96
6
41
72
-21
4
100
7
57
0
0
0
0
0
0
8
79
24
64
-12
1
-1
-137
31
-28
-25
0
0
0
-1
0
0
1
58
52
37
17
27
8
-73
-7
-45
12
0
0
0
0
0
0
0
1
1
6
-10
-3
18
25
-15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-1
3
0
0
0
0
0
0
0
0
0
0
2
4
1
-8
-6
-2
-10
0
0
0
0
0
0
0
0
0
-1
1
49
-18
33
-5
-24
-5
0
0
0
0
0
0
-3
7
18
4
-27
15
9
25
8
-12
1
0
0
0
0
0
0
-7
66
-7
-3
-1
-14
-33
-4
-13
49
-10
0
0
0
0
0
0
9
14
-2
-8
-4
1
-2
0
-2
-2
8
0
0
0
0
0
0
0
-1
33
0
0
7
-2
0
-8
-5
0
0
0
0
0
0
0
0
0
1
-2
1
1
-7
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
40
-10
-30
-16
31
87
47
0
0
0
0
0
0
0
2
0
25
-24
12
-19
28
-6
-10
-15
0
0
0
0
0
0
0
0
2
-8
-2
-97
48
-40
-110
-30
-5
0
0
0
0
0
0
0
0
0
3
-2
-8
45
-2
-78
-17
95
0
0
0
0
0
0
0
0
0
-3
4
35
60
32
62
77
4
0
0
0
0
0
0
0
0
0
-1
5
3
33
-28
0
5
11
0
0
0
0
0
0
0
0
0
0
0
-2
24
-15
6
-74
138
0
0
0
0
0
0
0
0
0
0
0
0
-2
35
47
11
43
0
0
0
0
0
0
0
0
0
0
0
0
0
2
59
-139
-40
0
0
0
0
0
0
0
0
0
0
7
-2
-10
1
39
-73
-4
0
0
0
0
0
0
0
0
0
0
-5
0
5
5
26
-15
-18
0
0
0
0
0
0
0
0
0
0
0
-1
3
107
10
-1
16
0
0
0
0
0
0
0
0
0
0
0
8
6
-16
42
22
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
4
41
15
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
25
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
9
0
0
0
0
0
0
0
0
0
0
1
0
-6
90
-50
-12
53
0
0
0
0
0
0
0
0
0
-1
-3
0
-14
31
7
-59
68
0
0
0
0
0
0
0
0
0
0
0
0
-22
57
-18
90
52
0
0
0
0
0
0
0
0
0
0
-2
0
0
41
-34
20
17
0
0
0
0
0
0
0
0
0
0
-2
0
6
22
-13
-54
39
0
0
0
0
0
0
0
0
0
0
0
0
1
1
36
5
34
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
16
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
9
-2
-21
14
-66
4
0
0
0
0
0
0
0
0
0
22
-1
16
9
16
-32
-68
20
0
0
0
0
0
0
0
0
0
1
1
22
-25
-13
55
94
-57
0
0
0
0
0
0
0
0
0
0
8
-1
-10
-29
33
49
13
0
0
0
0
0
0
0
0
0
0
0
0
-18
42
27
49
12
0
0
0
0
0
0
0
0
0
0
0
4
5
-37
-13
17
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-25
37
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
2
0
-52
-28
32
-11
2
-54
20
13
0
0
0
0
0
0
-15
14
-58
11
51
-22
-47
81
52
-13
-9
0
0
0
0
0
0
1
32
-13
38
-23
21
-59
66
15
93
95
0
0
0
0
0
0
-3
6
51
77
67
-117
12
30
39
-10
0
0
0
0
0
0
0
-2
-6
63
12
13
146
-52
-43
-4
52
-42
0
0
0
0
0
0
1
-17
21
-5
-6
-8
-37
42
35
8
-4
0
0
0
0
0
0
0
41
-7
-14
-23
-16
35
75
-14
15
25
0
0
0
0
0
0
0
0
34
-2
0
-16
0
-5
30
30
25
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-34
21
0
0
0
0
0
0
0
0
0
-14
12
-3
1
31
-41
-112
-1
0
0
0
0
0
0
0
-3
0
-16
-1
-4
-19
23
88
-20
26
0
0
0
0
0
0
0
-2
0
-21
29
-14
6
-42
109
-17
-15
0
0
0
0
0
0
0
-2
3
22
42
6
-19
57
-20
-29
62
0
0
0
0
0
0
0
-1
1
1
8
0
-16
-37
49
116
-56
0
0
0
0
0
0
0
1
3
0
-17
-5
15
57
-15
45
66
0
0
0
0
0
0
0
0
0
6
-5
-12
5
-8
51
47
54
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
76
102
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
91
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-12
-27
-39
-25
0
86
85
-74
-14
127
90
-60
2
0
0
-6
47
-46
-43
-35
-15
7
87
28
48
23
41
-3
21
7
0
0
-2
5
-20
-63
-59
-49
69
18
41
60
-14
-51
53
15
-53
0
0
-1
-24
13
30
-73
-91
48
20
15
-7
-19
38
18
43
63
0
0
0
1
-3
-67
19
41
23
20
6
-44
34
-20
21
2
29
0
0
0
0
-1
-5
-62
41
-73
53
13
33
43
46
-79
8
-31
0
0
0
0
0
3
-17
-76
-61
-88
-25
-25
2
10
66
32
0
0
0
0
0
0
0
-1
-16
-49
-13
7
34
-5
0
-1
-35
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
4
-33
-64
-48
-24
0
15
10
-2
51
8
-31
8
0
0
0
-1
25
-22
-23
-59
-76
35
-15
32
58
88
68
62
4
0
0
0
0
-19
18
-2
-93
3
-27
20
-22
32
64
6
-14
69
0
0
0
0
-13
-30
-26
-14
-77
-118
20
11
57
10
117
-62
45
0
0
0
0
13
-32
29
-55
-18
-32
-41
21
27
-13
20
-48
1
0
0
0
3
-3
22
-95
-22
-62
9
-52
1
-51
-59
53
55
10
0
0
0
0
0
5
-24
30
-38
-61
-8
-21
25
23
-5
13
-2
0
0
0
0
0
-7
55
-21
-2
-10
-57
18
4
-18
-18
12
-7
0
0
0
0
0
0
21
-17
-70
119
66
-55
-24
17
14
0
0
0
0
0
-8
36
13
6
-29
31
0
60
23
-31
34
-15
1
0
0
0
5
1
-15
30
36
54
-4
-16
-39
-62
-41
-7
-14
0
0
0
0
0
-21
-26
6
-14
-14
5
-50
-61
34
30
-55
13
-2
0
0
0
0
-8
9
58
-37
-3
-30
-27
-5
60
-9
-97
-2
0
0
0
0
0
-18
-19
13
20
5
-94
-16
-6
55
13
23
10
0
0
0
0
1
-6
-9
30
16
-22
-43
13
-35
-9
-7
-29
13
0
0
0
0
0
4
26
-9
-6
-1
-45
-8
40
18
4
41
-6
0
0
0
0
13
7
-30
41
51
8
27
-18
-112
-46
36
-42
-9
0
0
0
0
-3
8
1
50
43
31
43
2
13
-15
10
7
0
0
0
0
0
0
20
-23
-14
-6
30
-7
0
23
44
67
94
-22
0
0
0
0
1
0
-5
27
63
27
33
-42
25
62
45
3
-17
0
0
0
0
0
1
-21
22
-31
26
36
28
45
5
-6
134
2
0
0
0
0
0
5
-8
11
-14
-65
-7
-36
52
15
-16
31
62
0
0
0
0
0
-2
-1
5
-50
-89
-20
3
-24
-31
8
45
-8
0
0
0
0
0
0
-26
3
21
-16
15
-25
-5
-54
1
42
3
0
0
0
0
0
-1
25
-6
40
-23
-34
11
-37
-12
-44
57
8
0
0
0
0
0
0
11
-30
-42
-6
15
-8
-76
-13
0
46
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
24
-7
0
0
0
0
0
0
0
0
0
9
44
-23
43
0
76
67
90
21
-18
-4
62
9
0
0
0
-7
-5
76
-75
-24
-25
72
16
90
45
48
-31
40
3
0
0
-1
0
-5
-42
-24
4
32
64
73
49
-46
35
105
-137
-25
0
0
-1
0
-29
-24
-42
-41
3
-64
-55
88
-13
-9
70
118
11
0
0
0
0
-16
29
-25
-58
11
42
-79
-73
16
27
68
51
24
0
0
0
0
0
-43
-7
-51
-55
52
8
41
-17
44
-5
15
67
0
0
0
0
0
0
-25
-44
-105
13
11
-12
-47
-33
13
1
-39
0
0
0
0
0
0
6
-10
-18
-21
-3
-29
-9
-9
2
44
5
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
-3
1
1
0
0
0
0
0
14
-59
-21
0
69
-17
47
-9
-28
42
85
61
0
0
0
0
34
20
32
-95
-30
98
31
-3
-55
-47
65
36
-13
0
0
0
0
17
1
3
7
-66
76
-29
-32
41
18
-48
-50
69
0
0
0
0
10
29
-55
69
61
-1
44
11
-27
23
58
-58
110
0
0
0
0
2
-44
17
25
100
58
-21
-70
2
-11
109
11
-45
0
0
0
0
4
-4
-65
42
-6
-89
-36
-106
-4
-28
-49
94
49
0
0
0
0
1
17
4
-13
39
-53
-45
-35
-1
4
-1
-31
-3
0
0
0
0
0
0
16
-6
-25
-21
-41
53
0
42
0
-15
0
0
0
0
0
0
0
-1
27
5
-9
8
-3
6
0
0
0
0
0
0
0
0
0
0
1
-13
0
5
-5
-4
0
0
0
33
0
0
0
0
0
0
0
-25
10
28
-43
-58
-24
0
18
-7
39
0
0
0
0
0
0
0
-1
42
17
-30
13
2
-2
14
-3
-12
1
0
0
0
0
0
0
0
-12
25
17
16
6
0
2
34
-15
-6
0
0
0
0
0
0
0
15
-27
-17
-23
-31
-3
0
41
92
13
0
0
0
0
0
0
-8
-77
54
-31
19
-42
-3
0
5
2
-5
0
0
0
0
0
0
-1
-7
9
-12
1
-1
-2
-2
12
57
-1
0
0
0
0
0
0
0
-14
-29
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
-1
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
2
-7
-6
8
67
10
0
0
49
0
0
0
0
0
0
0
0
1
-6
-3
15
43
7
-36
50
-27
0
0
0
0
0
0
0
0
2
-2
0
6
15
-3
-15
-68
88
-2
0
0
0
0
0
0
0
0
0
0
2
64
-51
-27
-33
8
4
0
0
0
0
0
0
0
0
0
2
9
54
4
-12
-66
-8
0
0
0
0
0
0
0
0
0
-6
8
41
49
-55
-42
1
6
0
0
0
0
0
0
0
0
0
8
-8
1
-16
-14
-13
-34
-34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
5
31
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
39
-26
12
0
0
0
0
0
0
0
0
0
0
0
0
0
11
9
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
34
30
0
0
0
0
0
0
0
0
0
0
0
0
0
38
8
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
8
-52
-55
-104
93
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-44
11
35
0
0
0
0
0
0
0
0
0
0
0
0
0
5
12
41
18
-1
0
0
0
0
0
0
0
0
0
3
0
2
-34
-21
7
46
0
0
0
0
0
0
0
0
0
0
0
-2
5
3
0
49
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
-3
-9
5
0
0
27
0
0
0
0
0
0
0
0
0
0
0
2
0
14
-6
27
-3
-1
0
0
0
0
0
0
0
0
0
0
1
-3
-30
3
-13
34
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
23
19
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-69
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
-1
-2
-17
-24
0
0
0
0
-8
-1
3
-1
0
0
0
8
12
-26
-66
-32
6
-1
0
0
0
-1
3
0
8
-84
24
14
5
-43
5
13
68
7
0
0
0
0
0
0
0
20
-33
-23
-43
49
27
-4
-7
-30
-1
0
0
0
1
0
0
5
-17
30
64
-3
-31
-31
-18
44
87
-5
0
0
0
0
0
-1
0
31
-59
-8
22
-76
25
37
21
0
0
0
0
0
0
0
0
-4
-1
40
-68
-24
2
-59
54
-5
5
0
0
0
0
0
0
0
0
4
1
-41
5
7
9
16
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
-6
-6
0
-7
-4
1
0
0
0
0
0
0
0
0
0
0
21
-23
-3
4
-8
-2
-1
0
0
0
0
0
0
0
0
0
2
25
23
3
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
8
-4
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-77
21
-14
101
-39
-6
-77
0
0
0
0
0
-5
-81
-36
0
0
-34
31
-98
40
20
67
-107
0
0
0
0
0
-3
-41
13
-7
3
16
79
64
22
26
41
0
0
0
5
0
0
8
6
19
5
57
19
-30
6
-69
111
-61
38
0
0
0
0
-5
-1
10
-6
73
33
70
37
-14
2
42
53
-33
0
0
0
0
0
1
0
-5
47
96
83
26
51
46
-2
-49
-24
0
0
0
1
1
0
1
-27
14
4
52
31
-10
15
-119
-21
16
0
0
0
0
-1
-2
-4
35
-20
-3
7
-8
2
-30
17
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-5
2
-1
0
0
9
-5
5
-40
59
70
41
0
0
3
0
-9
105
-10
21
-23
28
-60
-32
-7
5
80
5
30
0
0
0
2
-11
35
-44
96
-7
-69
17
-49
-54
15
18
15
79
0
0
0
0
13
26
34
70
-7
31
1
8
2
68
-11
84
-86
0
0
0
2
22
-14
7
-58
-53
37
20
16
-20
-54
62
-40
74
0
0
0
0
1
-24
17
-31
25
-11
18
54
-37
6
-22
-1
-1
0
0
0
-3
-58
-37
-21
49
135
7
-13
-38
-20
-37
-12
-26
91
0
0
0
-2
2
-17
55
-55
-22
-40
91
-23
-14
2
-20
-57
4
0
0
0
0
0
-1
2
-27
-8
30
8
-4
-36
-6
15
-5
0
0
0
0
0
0
0
0
0
0
0
32
41
-75
64
-11
-57
-4
0
0
0
0
0
0
0
-13
1
-21
4
1
-78
-15
41
-40
8
0
0
0
0
-2
0
0
1
3
7
9
-1
37
-63
2
56
7
0
0
0
0
-1
2
0
0
-10
35
-35
-18
53
0
32
36
1
0
0
0
0
0
0
0
-2
1
-8
37
9
5
58
-34
44
12
0
0
0
0
0
0
-3
3
-8
32
48
-16
14
13
-39
31
3
0
0
0
0
0
0
0
2
2
5
36
6
24
-19
-3
31
7
0
0
0
0
0
0
2
-2
15
7
-20
-29
4
-42
-48
2
0
0
0
0
0
0
0
0
-6
0
5
4
0
4
-8
9
10
2
0
0
0
0
0
0
0
0
0
-9
40
83
-58
-13
52
22
-22
0
0
0
0
2
1
0
2
-61
38
0
36
38
15
43
135
81
0
0
0
0
0
1
0
3
-6
-2
15
136
5
37
40
-83
48
0
0
0
0
2
0
-1
-25
5
63
44
32
116
21
-11
-10
23
0
0
0
0
0
0
1
-4
3
-62
47
53
67
106
34
64
-2
0
0
0
0
0
1
0
4
-12
78
-20
6
-87
-17
-21
19
35
0
0
0
0
0
0
0
1
5
11
5
-4
25
-74
51
48
-15
0
0
0
0
0
0
7
0
-2
7
10
15
69
-44
-6
-67
7
0
0
0
0
0
0
0
0
0
0
0
-4
-3
48
13
-1
0
0
0
0
0
0
0
0
0
0
0
-47
-22
18
-5
16
-22
-19
0
0
0
0
-8
7
-8
0
-16
0
-80
14
56
77
1
52
-26
0
0
0
7
3
6
18
47
-16
88
-51
39
39
25
67
35
-42
0
0
0
0
0
4
26
-10
8
37
44
66
59
63
-25
34
-41
0
0
0
0
-1
0
8
32
61
34
-17
50
27
29
6
46
16
0
0
0
0
1
13
3
37
18
-37
95
41
4
-42
34
104
0
0
0
0
0
1
1
41
25
-12
21
-27
-12
91
-73
36
41
7
0
0
0
0
0
0
0
-31
-1
-6
33
64
-7
-15
32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-16
0
0
0
0
0
0
0
0
0
0
0
-10
-29
15
0
103
51
73
-5
0
0
0
0
0
1
4
0
-1
0
-1
-38
28
-25
-18
-8
5
0
0
0
0
0
0
0
-4
24
22
46
45
3
78
59
-4
-12
0
0
0
0
0
0
-4
-12
17
64
42
-73
-18
28
40
-61
46
0
0
0
0
0
0
-6
9
49
-48
67
64
-67
-65
-85
8
-7
0
0
0
0
0
-1
5
-7
7
54
33
90
55
-94
-44
21
0
0
0
0
0
0
0
0
0
27
48
4
-24
46
10
76
37
1
0
0
0
0
0
0
0
0
6
0
-1
27
41
-66
-46
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
-8
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
2
2
-9
0
0
0
0
0
0
0
1
3
0
0
4
5
7
23
2
2
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-17
-24
12
0
0
0
0
0
0
0
0
32
-1
-1
0
-3
3
2
-14
-19
0
0
0
0
0
0
0
0
5
-39
0
1
0
8
-19
-12
3
0
0
0
0
0
0
0
0
8
24
-5
6
0
-12
15
-1
8
0
0
0
0
0
0
0
0
0
25
0
3
-4
-3
-1
-1
1
0
0
0
0
0
0
0
0
0
-1
1
0
0
-7
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-20
25
-46
44
97
-54
-40
0
0
0
0
0
0
1
2
-23
42
-69
-56
-35
65
16
4
25
0
0
0
0
0
0
-3
-11
-41
41
16
22
-64
14
-5
66
-5
0
0
0
0
0
0
0
-9
3
5
37
-46
32
-9
24
-26
-12
0
0
0
0
0
0
0
0
-1
-2
6
29
5
-10
-25
84
42
0
0
0
0
0
0
0
0
-1
1
12
-2
78
-66
75
-47
74
0
0
0
0
0
0
0
0
0
3
1
74
21
-21
44
-31
-16
0
0
0
0
0
0
0
0
0
0
0
12
-33
26
-96
-58
55
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-25
69
0
0
0
0
0
0
0
0
0
0
-3
11
-4
-61
-49
50
0
0
0
0
0
0
0
0
0
-5
-4
-25
-48
-6
95
23
-83
-9
0
0
0
0
0
0
0
0
-1
0
0
4
25
-23
25
24
8
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
-14
-39
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
47
58
-62
-24
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-18
-49
-73
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-27
-14
93
37
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-13
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-2
0
0
0
0
0
0
0
0
0
9
0
17
20
8
-21
27
-1
0
0
0
0
0
0
0
49
-4
-3
-15
-31
61
50
9
10
1
0
0
0
0
0
0
0
2
-7
0
-1
7
4
-26
33
61
-7
0
0
0
0
0
0
0
0
-1
0
0
-2
-28
32
-2
45
3
0
0
0
0
0
0
0
0
0
0
0
-21
71
-57
29
87
34
0
0
0
0
0
0
0
0
0
0
-3
0
-10
-121
21
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
31
48
45
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
20
-12
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
5
-3
47
9
-11
-5
4
-1
0
0
0
0
0
0
-4
4
14
37
41
27
2
48
95
-48
-1
0
0
0
0
0
0
0
3
-1
-3
10
-14
84
8
-4
25
9
0
0
0
0
0
0
0
9
-1
0
-7
-17
-22
63
58
108
-6
0
0
0
0
0
0
0
0
0
0
0
-8
53
65
-7
-10
16
0
0
0
0
0
0
0
0
0
0
0
63
-22
44
-25
45
0
0
0
0
0
0
0
0
0
0
0
0
1
-70
22
19
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-54
-10
-39
6
-49
72
19
0
0
0
0
0
0
-1
-3
16
-8
113
130
-13
-43
74
19
61
0
0
0
0
0
0
0
8
-4
50
-3
57
74
-62
-49
124
41
0
0
0
0
0
0
0
2
9
65
-22
11
-30
6
28
-47
24
0
0
0
0
0
0
-2
5
-31
-53
34
35
45
23
-8
129
27
0
0
0
0
0
0
-3
1
12
-43
56
-19
-34
18
91
23
-6
0
0
0
0
0
0
0
0
-7
8
36
67
-10
6
-2
-22
-76
0
0
0
0
0
0
0
0
0
0
-3
31
-6
-7
-6
-43
21
0
0
0
0
0
0
0
0
0
0
6
-2
5
13
-4
-5
-4
0
0
0
0
0
0
0
0
0
-3
-14
7
-12
16
29
-10
0
0
0
0
0
0
0
0
0
0
-1
23
27
46
70
-34
10
-32
0
0
0
0
0
0
0
0
-1
-3
0
-6
17
53
45
-14
18
0
0
0
0
0
0
0
-5
1
23
19
1
6
-18
7
31
-1
0
0
0
0
0
0
0
8
3
7
7
-3
-10
-17
-9
-7
31
0
0
0
0
0
0
0
-1
3
0
-4
8
-2
-41
5
4
1
0
0
0
0
0
0
0
-7
-1
-4
5
31
39
-33
-28
-53
7
0
0
0
0
0
0
0
0
8
13
0
2
39
12
51
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
7
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-17
0
37
108
78
23
-21
-41
9
-23
0
0
0
-5
-4
-26
-26
-15
74
116
16
-33
-41
47
-16
-13
15
0
0
0
13
-4
22
9
113
53
66
-3
15
58
-3
-23
-19
-7
0
0
0
0
-1
-15
-91
52
74
-12
-25
-3
11
30
74
66
17
0
0
0
0
0
-16
20
-8
13
18
-14
-36
62
19
88
-21
13
0
0
0
0
0
2
-10
86
-11
13
5
-1
26
-9
-29
-1
30
0
0
0
0
5
-6
-7
80
-121
20
-2
31
-29
-60
23
50
-1
0
0
0
0
0
0
4
64
2
8
22
-5
-1
21
-31
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-51
41
16
-6
0
-62
-45
-13
-30
-127
10
56
0
0
0
1
-9
31
0
28
10
-5
-75
-81
-3
0
-32
95
28
0
0
-3
0
5
-28
-50
42
-50
55
-8
65
-22
57
91
47
-26
0
0
0
0
-1
-6
-51
-7
15
81
-45
-37
-37
-37
-92
-2
59
0
0
0
0
5
-31
-22
-9
39
70
-74
-63
46
1
-50
-19
79
0
0
0
0
-3
-7
-41
40
-32
-57
-75
-25
3
-36
0
24
44
0
0
0
0
2
-7
1
37
-74
36
19
-57
63
-13
87
87
25
0
0
0
0
0
0
-16
45
-72
-5
-18
-53
-20
-107
-35
8
-17
0
0
0
0
0
0
-9
9
13
25
34
-70
-36
52
56
0
0
0
0
0
0
0
0
0
0
0
0
3
102
-34
21
0
16
0
0
0
0
-2
0
1
8
-25
10
60
-71
-14
4
50
6
24
0
0
0
0
0
-2
0
-5
48
-12
31
-27
-30
106
-33
30
-29
0
0
0
0
0
0
0
-4
8
-113
-30
41
21
20
-20
4
1
0
0
0
0
0
0
-2
-6
9
5
-12
23
-19
-32
10
-6
-2
0
0
0
0
0
0
0
0
-39
-33
1
-43
10
-21
4
-42
0
0
0
0
0
0
0
0
-1
20
46
5
-2
13
-47
41
-31
-6
0
0
0
0
0
0
0
-2
-28
-22
30
8
31
-39
-84
-19
-7
0
0
0
0
0
0
0
0
32
-120
31
2
-3
-1
-3
8
0
0
0
0
0
0
0
0
1
8
0
0
56
-9
-41
48
-64
-16
0
0
0
-1
3
-2
22
6
-4
-36
75
5
14
-5
93
-7
8
0
0
0
0
0
-1
-8
-72
2
13
109
91
50
37
64
-47
25
0
0
0
0
0
-1
-12
-20
-5
65
25
7
-16
5
4
42
51
0
0
0
0
0
-2
1
-25
30
-110
-10
31
-66
-107
-31
-28
14
0
0
0
0
0
-1
2
-15
27
1
-3
5
53
-35
48
-9
-8
0
0
0
0
0
-4
70
-64
-20
-18
-31
-37
-25
-18
-10
-2
1
0
0
0
0
0
0
33
6
-22
-35
-14
-8
-25
-39
-12
-37
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
1
0
0
0
0
0
0
0
0
-9
4
0
-95
-53
48
36
-31
40
22
13
0
0
-1
0
0
45
43
-41
57
60
-26
36
30
-66
101
-4
33
0
0
0
17
-3
-2
121
53
23
109
-2
41
-38
-50
-17
61
2
0
0
0
0
-1
-31
-8
-16
-40
-35
59
-4
16
-35
28
-10
-26
0
0
0
0
18
-8
-31
-110
11
51
78
121
122
71
8
-15
-35
0
0
0
0
1
0
-28
5
-45
-5
-62
55
101
-33
65
-53
5
0
0
0
0
0
0
-5
42
-15
-45
26
-39
-83
-66
-22
-16
27
0
0
0
0
0
0
-5
-5
-3
8
3
25
19
42
-2
-6
-1
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
-3
7
0
0
0
0
0
0
0
0
0
0
9
28
14
-13
-11
76
30
-6
0
0
0
0
0
-5
-25
4
6
55
-86
112
62
-58
50
50
-23
0
0
0
0
0
3
9
-13
14
24
9
-40
-18
9
-57
-73
18
0
0
0
0
0
0
6
26
-31
22
115
-7
-9
-65
147
-96
-38
0
0
0
0
0
-6
-21
-7
15
76
10
-3
57
75
73
89
20
0
0
0
0
0
0
-4
43
-50
-1
-1
-37
43
36
19
26
-34
0
0
0
0
0
0
6
-8
-7
3
14
-48
-2
-4
55
6
10
0
0
0
0
0
0
0
-2
-16
-47
-13
-57
-4
66
8
17
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
5
2
-1
-1
0
0
0
0
0
0
0
0
0
15
-2
0
-1
-5
-9
2
3
0
0
0
0
0
-4
-1
-31
-5
34
58
16
-20
-20
72
6
1
0
0
0
0
0
0
-4
-6
-15
-15
49
-75
-16
-21
22
5
31
0
0
0
0
0
0
-3
-1
1
-1
42
24
37
-10
40
11
-6
0
0
0
0
0
0
0
-8
-8
-10
42
-35
-8
-37
31
-42
-28
0
0
0
0
0
0
-3
-2
22
-13
-12
-2
58
-46
4
-15
-21
0
0
0
0
0
0
3
-43
2
22
-16
-31
-21
24
-65
-66
2
0
0
0
0
0
0
7
1
3
-7
-4
-1
14
-13
-3
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-13
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-56
8
29
8
0
0
0
0
0
0
0
0
0
0
0
3
-2
25
-112
105
27
0
0
0
0
0
0
0
0
0
0
0
-3
-8
33
-46
-47
26
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
9
66
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-19
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
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
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
5
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
-24
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
8
13
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
30
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
-8
-2
1
37
49
4
0
0
0
0
-1
-3
-16
0
0
0
-7
64
-31
-33
6
19
-30
0
0
0
0
0
-2
5
-8
15
17
68
-14
39
-17
-57
-102
29
0
0
0
0
9
0
13
77
-7
-11
17
-73
-32
-1
17
5
0
0
0
0
0
0
0
1
-1
16
7
27
-15
28
37
9
-33
-5
0
0
0
0
0
0
0
4
-16
-5
5
-43
-13
-16
74
-39
0
0
0
0
0
0
0
0
17
4
27
-30
18
-13
0
-24
4
4
0
0
0
0
0
0
1
50
6
-13
0
1
2
2
3
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
-5
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
1
-6
1
3
-4
-7
0
1
0
-5
0
0
0
0
0
0
0
0
0
-3
0
3
2
-1
0
-3
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-68
59
28
-13
53
27
45
0
0
0
0
0
-1
6
-23
0
0
92
83
-18
69
64
12
49
0
0
0
0
0
-1
-4
81
185
49
61
17
49
44
69
52
92
0
0
0
4
0
-5
-28
31
78
77
26
-5
17
113
10
54
136
0
0
0
0
0
-2
0
-54
-22
-36
39
-107
-71
117
43
-3
17
0
0
0
0
1
0
-9
-11
5
-98
-63
-44
-9
51
3
48
-7
0
0
0
0
0
1
0
2
30
-59
-19
3
8
35
1
-13
-5
0
0
0
0
0
0
0
-7
-14
-5
-12
-39
49
40
-40
-43
-4
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-8
1
0
0
0
0
0
-2
8
34
0
0
91
-10
13
17
5
-56
61
0
0
0
0
0
0
-3
-74
-11
37
-6
0
42
5
7
-27
1
0
0
0
0
0
8
-20
-22
-20
-24
19
32
15
-24
11
37
1
0
0
0
0
9
-44
15
-19
-68
-24
22
23
-9
7
59
-47
-5
0
0
0
0
0
15
41
-15
-12
-30
-16
30
34
-28
-20
-38
-59
0
0
0
0
2
0
-7
31
-51
-104
27
26
71
-22
-8
-13
-104
0
0
0
0
3
3
-4
7
-37
-88
-40
7
77
44
41
-93
-2
0
0
0
0
0
-7
15
1
-6
-47
-55
-27
4
-40
-13
-52
-140
0
0
0
0
0
0
0
0
6
81
-21
46
-61
53
53
20
0
0
0
0
0
0
0
0
0
0
0
55
42
55
16
59
-18
76
0
0
0
0
0
0
0
0
-19
3
-12
51
49
-2
-32
-13
-25
0
0
0
0
0
0
0
0
-7
-70
1
-33
58
30
45
35
-4
0
0
0
0
0
0
0
0
3
44
-30
-7
54
13
3
76
45
0
0
0
0
0
0
0
0
-20
10
35
13
-18
7
-13
18
35
0
0
0
0
0
0
0
0
49
-11
-40
-76
-21
51
34
-5
70
0
0
0
0
0
0
0
0
27
-3
-19
-6
-15
-15
20
-12
15
0
0
0
0
0
0
0
5
-72
-45
41
-47
13
0
63
13
13
0
0
0
0
0
0
0
0
1
40
-22
28
21
-67
-24
19
24
0
0
0
0
0
0
0
0
0
47
77
67
-2
22
45
22
31
0
0
0
0
0
0
0
1
0
75
0
21
-7
-43
8
-13
-3
0
0
0
0
0
0
0
0
-5
65
120
-48
13
41
-16
-32
44
0
0
0
0
0
0
0
1
4
53
47
67
128
-6
58
-26
25
0
0
0
0
0
0
-6
-5
42
69
-111
-16
77
-50
14
-2
69
0
0
0
0
0
0
-4
1
-2
-38
50
-36
-15
16
20
25
50
0
0
0
0
0
0
0
2
6
10
31
4
36
2
-34
20
33
0
0
0
0
0
0
0
0
59
41
7
-17
-15
28
-39
11
-56
0
0
0
0
0
0
0
0
0
0
0
0
-8
-31
7
-2
0
0
0
0
0
4
1
-1
-2
0
0
-7
21
-10
-27
30
13
-7
0
0
0
0
0
0
6
0
97
0
40
35
44
1
49
27
50
0
0
0
0
0
3
17
149
72
28
-38
78
69
19
39
-26
0
0
0
0
0
0
0
14
-15
34
-46
23
-43
58
72
29
-4
-16
0
0
0
0
0
-1
-1
-23
22
60
23
28
11
-8
38
4
35
0
0
0
0
0
0
8
2
40
49
-18
124
68
-61
-17
4
9
0
0
0
0
0
0
-8
30
-94
19
28
8
122
39
-17
29
34
0
0
0
0
0
0
0
-3
0
0
2
-24
-32
28
-57
24
-3
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
13
0
0
0
0
0
0
0
0
-1
0
0
66
65
27
43
0
0
-22
0
0
0
0
0
2
0
0
0
0
77
8
124
50
-3
61
49
0
0
0
0
0
0
4
41
-13
43
23
-18
27
-60
-47
113
29
0
0
0
0
0
0
7
5
20
-23
100
-9
-5
17
69
20
-26
0
0
0
0
0
0
0
-46
-2
14
-63
12
-33
49
70
-3
40
0
0
0
0
0
0
0
-5
12
-12
73
42
15
41
91
14
23
0
0
0
0
0
0
0
0
4
2
-7
21
-49
-41
-34
-32
13
0
0
0
0
0
0
0
0
0
0
8
17
-20
20
-10
48
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
2
-30
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-52
-15
-8
0
0
0
0
0
0
0
0
0
1
0
2
18
-41
-20
6
21
0
0
0
0
0
0
0
0
0
0
12
7
5
35
-49
-6
-14
0
0
0
0
0
0
0
3
0
-5
2
0
13
49
28
89
8
0
0
0
0
0
0
0
0
4
6
0
0
4
-13
14
69
31
0
0
0
0
0
0
0
0
0
1
0
0
2
-33
16
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
13
1
-74
33
-26
-10
-52
2
0
0
0
0
0
0
4
37
63
8
20
9
42
42
5
-112
0
0
0
0
0
0
0
0
-49
-8
33
72
56
-41
21
-10
-72
-41
0
0
0
0
0
0
0
-2
-16
-48
1
76
49
-27
132
40
72
0
0
0
0
0
0
0
0
-32
13
13
-87
85
16
72
-2
71
0
0
0
0
0
0
0
0
3
5
-3
-5
30
109
22
-126
-101
0
0
0
0
0
0
0
0
0
0
21
-41
-10
34
-3
-11
17
0
0
0
0
0
0
0
0
0
0
-5
-1
14
31
48
29
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-30
38
5
0
0
0
0
0
0
0
0
0
1
-10
-4
-6
-91
-2
114
3
0
0
0
0
0
0
0
0
-2
3
14
32
-31
7
56
-42
-38
0
0
0
0
0
0
0
0
0
2
10
-1
48
19
111
108
75
0
0
0
0
0
0
0
0
0
0
-8
-18
-6
-5
-18
-70
25
0
0
0
0
0
0
0
0
0
0
0
-13
9
-5
47
31
110
0
0
0
0
0
0
0
0
0
0
0
-1
-8
14
-38
125
-17
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-16
-4
41
49
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-34
-42
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
30
1
0
0
0
0
0
0
0
0
0
22
-8
-5
-24
-46
-28
11
9
0
0
0
0
0
0
0
2
2
-18
27
13
8
-68
25
-7
23
0
0
0
0
0
0
0
0
0
9
7
19
26
-13
60
3
207
0
0
0
0
0
0
0
0
-1
-1
-3
34
-3
14
52
49
16
0
0
0
0
0
0
0
0
0
0
0
-7
13
-127
8
42
14
0
0
0
0
0
0
0
0
0
0
-1
0
15
31
-72
-52
-52
0
0
0
0
0
0
0
0
0
0
0
0
-13
58
-25
-31
-45
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
-14
41
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-1
0
0
0
0
0
0
0
0
0
3
2
-3
29
66
-49
-36
9
0
0
0
0
0
0
0
0
1
30
-8
16
41
-40
59
21
20
0
0
0
0
0
0
0
0
-1
-1
0
30
-4
57
74
-5
-58
0
0
0
0
0
0
0
0
0
-1
-6
-22
-1
-102
94
11
-10
0
0
0
0
0
0
0
0
0
0
0
8
69
-14
-66
-20
-13
0
0
0
0
0
0
0
0
0
0
0
5
-19
31
-76
40
4
0
0
0
0
0
0
0
0
0
0
0
-6
6
-73
-13
27
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
3
0
0
0
0
0
0
0
7
0
65
59
-27
70
-26
-20
15
-9
0
0
0
0
0
0
0
0
1
30
42
28
-76
98
166
-137
40
0
0
0
0
0
0
0
1
2
57
-41
-92
82
62
34
44
14
0
0
0
0
0
0
0
1
-2
-15
-74
47
34
-5
-34
13
-73
0
0
0
0
0
0
0
13
8
6
-1
89
-23
5
-45
10
49
0
0
0
0
0
0
0
1
2
2
7
-59
-24
41
41
9
41
0
0
0
0
0
0
0
0
-2
1
-9
-49
-15
59
29
20
11
0
0
0
0
0
0
0
0
-2
0
0
25
-39
-66
-6
-61
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-39
5
-50
0
0
0
0
0
0
0
0
0
5
-5
9
3
25
56
-68
22
0
0
0
0
0
0
0
0
0
1
-8
-3
5
66
-12
41
60
0
0
0
0
0
0
0
0
0
1
5
-10
47
1
-22
48
-23
0
0
0
0
0
0
0
0
0
-1
-2
17
28
41
41
51
58
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-14
7
-30
25
0
0
0
0
0
0
0
3
0
5
2
7
-16
49
26
8
27
0
0
0
0
0
0
0
0
0
0
0
-3
5
-48
7
32
41
0
0
0
0
0
0
0
0
0
0
-1
0
4
-5
-16
-23
67
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-32
5
2
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-39
1
0
77
85
14
-54
46
24
-44
22
0
0
0
-5
-2
-15
-80
-43
-40
136
-23
-83
46
-26
51
58
52
0
0
0
0
2
17
-13
-12
-12
22
74
84
48
17
120
-8
-30
0
0
0
1
3
31
-22
-91
-4
-47
-92
-10
-76
-8
89
57
84
0
0
0
0
0
3
-10
73
-37
-50
26
19
89
-7
60
54
-1
0
0
0
0
0
0
23
8
58
-20
59
32
-41
27
-71
-47
-41
0
0
0
0
0
2
1
0
37
15
-3
-54
-49
-17
-95
-18
-13
0
0
0
0
0
0
0
7
-2
-8
-10
-8
-22
37
-21
-6
-1
0
0
0
0
0
0
0
0
4
3
0
0
0
0
5
0
-1
0
0
0
-1
5
-21
-91
-50
0
22
17
84
135
48
-1
15
0
0
0
0
-18
10
32
96
-10
-42
59
24
4
-16
58
55
103
0
0
0
0
4
0
-5
-11
-98
44
-109
-103
47
-61
4
67
74
0
0
0
0
0
0
-38
-41
-59
-51
53
22
-19
0
-2
-10
-22
0
0
0
0
0
2
-15
19
9
56
-81
34
-56
23
-62
48
22
0
0
0
0
0
0
0
-12
82
-51
22
-54
-16
-31
22
42
-102
0
0
0
0
0
0
-19
50
13
-59
49
6
2
-19
58
68
12
0
0
0
0
0
-2
-7
17
8
-52
41
61
-59
3
120
-56
-14
0
0
0
0
0
0
0
4
9
-37
-96
-53
-10
2
-1
6
0
0
0
0
0
-1
0
-37
-1
-123
0
21
-44
40
-9
-7
35
-3
0
0
0
0
0
5
-33
-11
37
-14
-24
-29
75
-85
9
25
0
0
0
0
0
-1
0
49
25
14
86
94
-47
9
23
-5
-43
5
0
0
0
0
0
0
4
7
84
-32
44
-1
-43
-17
-2
-3
0
0
0
0
0
0
0
-5
9
-1
34
4
0
-7
30
3
-3
1
0
0
0
0
-2
0
31
22
-26
5
20
8
6
24
-2
2
0
0
0
0
0
0
2
-12
34
-8
-147
10
-31
48
-27
1
-8
1
0
0
0
0
0
1
5
-17
69
-69
-16
2
-18
-6
0
0
0
0
0
0
0
0
0
4
-26
-76
21
30
-1
-2
12
0
0
0
0
0
0
0
0
0
15
-31
-50
0
-35
122
49
-14
23
-2
0
0
0
0
0
0
0
-9
48
-16
51
-18
75
-66
96
71
4
0
0
0
0
0
0
0
16
16
-22
-48
-34
51
43
-16
102
13
0
0
0
0
0
0
0
3
-15
52
74
11
-5
-2
-58
50
9
0
0
0
0
0
0
2
-8
-8
4
-111
59
-10
-23
31
-16
-23
0
0
0
0
0
0
1
-17
34
8
-66
-16
-4
3
19
-30
-4
0
0
0
0
0
0
0
-2
26
-77
4
69
-43
-4
-5
19
0
0
0
0
0
0
0
0
0
-2
-28
53
4
-31
-31
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-4
-24
19
0
31
-33
112
47
-11
19
-76
-31
0
0
0
0
0
15
20
-36
-24
79
69
87
48
-75
-55
73
10
0
0
0
7
8
8
-96
-5
33
4
45
18
-18
69
-53
16
-8
0
0
0
0
0
0
37
35
33
1
95
28
-90
22
54
34
-52
0
0
0
0
0
-3
5
22
30
-76
75
-32
27
11
78
-34
-16
0
0
0
0
0
-3
4
34
24
-5
43
5
42
10
2
35
12
0
0
0
0
0
0
1
9
0
28
4
-38
49
6
75
-34
-37
0
0
0
0
0
0
0
-5
-1
28
2
-27
-16
6
-9
-31
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
-5
0
0
0
0
0
0
0
0
9
0
-16
15
-13
-6
-30
-48
-21
105
0
0
0
0
0
0
8
22
-17
7
12
53
1
67
14
49
125
0
0
0
0
0
0
2
-4
0
32
24
-65
62
39
-19
103
0
0
0
0
0
0
0
0
-7
-37
18
-13
13
-37
49
-21
-45
29
0
0
0
0
0
0
0
22
19
-26
42
71
17
-32
-7
108
74
0
0
0
0
0
0
1
-1
2
-44
-93
2
-23
-31
-43
-138
120
0
0
0
0
0
0
0
0
-30
13
15
-22
-41
74
-6
-83
-49
0
0
0
0
0
0
0
0
95
-18
-7
-17
-10
-18
-41
-39
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-7
0
0
0
0
0
0
0
0
0
13
13
0
-8
3
74
-57
13
0
0
0
0
0
0
1
0
3
5
8
-42
6
-30
53
-1
15
0
0
0
0
0
0
0
-5
-3
-3
-24
0
-1
86
6
-2
20
0
0
0
0
0
0
0
1
1
-17
12
-1
-5
56
70
0
96
0
0
0
0
0
0
0
0
3
0
43
24
0
-24
-23
55
-27
0
0
0
0
0
0
0
-1
0
-5
1
-7
2
-13
24
47
61
0
0
0
0
0
0
0
-1
3
-8
-3
6
-8
-9
-16
82
-4
0
0
0
0
0
0
0
0
-1
0
0
6
-4
10
-10
17
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
8
6
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-9
-35
6
1
8
5
2
0
0
0
0
0
0
0
0
0
-2
-14
-2
-7
4
-4
0
1
0
0
0
0
0
0
0
0
-3
7
13
-52
-6
19
0
0
0
0
0
0
0
0
0
0
0
-1
13
-19
-8
-10
1
0
0
0
0
0
0
0
0
0
0
0
2
13
5
2
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
4
14
5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
22
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
4
-9
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
17
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
8
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
5
-9
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-7
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-5
-3
7
7
0
0
0
0
0
0
0
0
0
0
2
2
8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-23
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-5
-9
-6
-12
0
0
0
0
0
0
0
0
0
0
0
7
5
-8
3
-8
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
1
-22
-7
1
0
13
0
0
0
0
0
0
0
0
-2
8
23
-21
-42
21
12
-18
7
-1
-4
-3
0
0
0
0
-1
1
-13
-17
15
-9
-16
-67
66
19
2
-15
0
0
0
0
0
0
-2
25
7
-14
-25
19
29
5
-16
-7
-1
3
0
0
0
0
-8
0
15
1
-5
12
10
-13
-7
-4
1
-1
0
0
0
0
0
0
0
6
-8
-2
-27
24
-6
-6
-1
1
0
0
0
0
0
0
0
1
2
2
3
2
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-75
31
-5
-27
0
-25
-3
-1
0
1
0
0
0
0
-3
21
-6
-32
49
31
61
92
-22
-11
8
4
-1
0
0
0
0
2
9
31
24
23
21
43
-2
37
5
-2
-4
0
0
0
0
0
2
3
56
18
18
22
-17
12
-2
3
-9
4
3
0
0
0
0
-1
-5
13
34
-28
-9
-29
31
-9
-13
11
-1
0
0
0
0
0
7
12
-42
27
20
-16
-22
-48
11
13
1
-1
0
0
0
0
0
0
16
17
-112
-52
25
-49
-40
-13
-1
9
-1
0
0
0
0
0
0
2
-6
12
-56
10
26
7
7
-17
0
0
0
0
0
0
0
0
0
0
-3
-27
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
7
-12
8
0
5
1
-1
0
0
0
0
0
0
0
0
-6
6
14
20
-10
-5
6
-4
-3
0
0
0
0
0
0
0
0
1
8
-8
19
1
-25
5
-6
0
0
0
0
0
0
0
0
0
0
3
-8
-8
19
-8
-1
-1
0
1
0
0
0
0
0
0
0
0
1
18
8
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-18
13
0
3
1
4
-2
0
0
0
0
0
0
0
0
0
0
7
7
2
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
8
8
4
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
18
0
-21
0
27
-1
8
0
0
0
0
0
0
0
0
-17
-5
33
-15
0
14
-13
22
-5
7
1
0
0
0
0
0
3
6
-3
-23
-18
12
-4
28
8
6
6
0
0
0
0
0
0
3
10
-17
22
25
-6
-35
0
-12
-16
3
0
0
0
0
0
0
0
0
5
-13
17
15
5
-6
-7
-4
1
0
0
0
0
0
0
0
0
-6
23
-5
-41
-7
-5
-5
0
0
0
0
0
0
0
0
0
-3
-5
32
-4
21
25
-5
13
12
0
0
0
0
0
0
0
0
1
17
2
-5
23
-4
-49
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-5
4
19
-83
-11
0
4
1
2
0
0
0
0
0
-1
9
10
-12
-13
25
-23
23
31
7
-3
10
-1
0
0
0
0
-1
0
9
4
24
-16
-25
-44
-1
34
5
0
0
0
0
0
0
0
-27
-15
-18
3
-44
21
43
15
4
12
2
0
0
0
0
0
0
0
13
-8
23
-9
33
19
-12
-16
1
-1
0
0
0
0
0
0
-1
-4
9
-9
-1
-24
14
-6
0
3
0
0
0
0
0
0
0
0
4
0
9
10
-7
-13
-1
-1
0
0
0
0
0
0
0
0
0
0
8
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
8
42
10
0
-5
0
0
0
0
0
0
0
1
2
7
-13
-31
-13
-6
8
10
3
-2
0
0
0
0
0
0
-1
2
-5
3
1
-14
8
32
5
-9
2
1
0
0
0
0
0
0
0
-2
-8
8
-41
7
-16
-7
-7
-1
0
0
0
0
0
0
0
0
-2
-5
-1
-5
7
-4
-2
-1
-3
0
0
0
0
0
0
0
0
-1
-6
-3
-5
-1
10
-2
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
16
9
-8
0
0
0
0
0
0
0
0
0
0
0
7
47
3
-10
21
-4
0
-1
0
0
0
0
0
0
0
0
-2
-41
45
-20
69
24
-5
0
0
0
0
0
0
0
0
0
0
0
5
-47
24
9
15
7
0
0
0
0
0
0
0
0
0
0
0
25
-13
-13
6
8
0
0
0
0
0
0
0
0
0
0
0
0
23
-24
17
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
22
22
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-5
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-7
20
1
0
0
0
0
0
0
0
0
0
0
0
1
15
1
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
23
21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
-12
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
8
-8
1
1
0
0
0
0
0
0
0
0
0
0
0
2
8
-2
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-19
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
13
0
0
0
2
0
0
0
0
0
0
0
0
2
0
-3
15
24
0
0
0
18
1
0
0
0
0
0
0
0
0
3
4
5
-2
27
16
4
0
0
0
0
0
0
0
0
0
0
0
4
6
-3
-5
-6
7
-7
2
0
0
0
0
0
0
0
0
0
-4
48
29
23
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
12
-2
16
-1
-20
6
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-12
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
-1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
5
-1
0
0
0
0
0
0
0
0
0
2
3
-35
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
24
-24
-8
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-2
12
4
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
6
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
30
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
-16
16
24
21
0
0
0
0
0
0
0
0
0
0
0
27
-70
4
-16
-38
5
6
0
0
0
0
0
0
0
0
0
0
17
-12
16
14
18
5
4
-1
0
0
0
0
0
0
0
0
0
3
13
-3
0
22
-1
5
-6
0
0
0
0
0
0
0
0
0
1
-22
17
25
-9
3
-31
-12
5
-1
0
0
0
0
0
0
0
6
-5
10
-24
-2
2
-10
3
1
0
0
0
0
0
0
0
0
2
-43
2
-14
24
-23
6
-2
0
0
0
0
0
0
0
0
0
0
7
-3
8
4
25
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
25
17
-9
39
1
0
0
0
0
0
0
0
0
0
0
13
41
-33
-18
-6
-67
-9
0
0
14
-6
-10
3
0
0
0
0
-9
41
-41
23
27
-25
3
-12
28
18
-5
-2
0
0
0
0
0
19
-27
-8
31
-10
78
-29
9
-8
-15
2
1
0
0
0
0
0
1
2
10
-29
-36
64
9
-25
-6
1
5
0
0
0
0
0
0
2
-6
-12
-12
39
29
8
-5
-2
1
0
0
0
0
0
0
0
-2
1
21
-3
-15
-13
30
-1
-8
0
0
0
0
0
0
0
0
0
0
2
-4
-7
-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
-6
-24
4
5
-56
-22
-9
0
0
0
0
0
0
0
0
0
0
1
-8
-18
0
32
36
11
30
14
41
5
1
-2
0
0
0
0
-1
33
-6
-23
18
55
12
-30
8
5
5
-1
0
0
0
0
0
-7
30
-54
89
73
-29
22
30
-31
23
7
1
0
0
0
0
0
0
-21
-23
48
44
35
-77
-2
41
8
-19
3
0
0
0
0
0
-1
13
-37
22
43
-49
7
15
-18
9
5
0
0
0
0
0
0
0
-66
-24
27
-29
-7
-11
8
-24
9
-3
0
0
0
0
0
0
0
7
10
20
-60
-4
-41
12
-13
-5
0
0
0
0
0
0
0
0
0
-47
-43
12
-4
16
-1
-3
0
0
0
0
0
0
0
0
-42
-20
-8
33
17
2
32
0
0
0
0
0
0
0
0
0
0
22
42
46
35
30
-7
-9
10
-7
0
0
0
0
0
0
0
0
-14
19
-1
9
-1
19
-9
12
-1
0
0
0
0
0
0
0
0
-37
8
27
34
-6
-14
-3
-6
3
0
0
0
0
0
0
0
0
7
19
-22
2
-5
4
-7
1
1
2
0
0
0
0
0
0
0
0
0
-20
-5
-7
-25
-1
0
0
2
0
0
0
0
0
0
0
-16
-27
2
25
8
0
0
0
0
0
0
0
0
0
0
0
0
-28
-22
-2
-6
3
0
1
0
0
0
0
0
0
0
0
0
0
-54
-6
-7
3
-6
-2
0
0
0
0
0
0
0
0
0
0
0
-4
26
-51
-19
-8
33
2
25
0
-1
0
0
0
0
0
0
0
-40
31
-18
-3
-37
-4
0
-14
13
1
0
-1
0
0
0
0
0
-17
51
-15
22
-32
-5
55
-22
-23
1
0
0
0
0
0
0
0
-48
10
5
3
6
51
0
-12
18
2
0
0
0
0
0
0
0
41
22
0
34
25
-18
4
2
0
0
-1
0
0
0
0
0
0
10
-3
1
10
-33
72
-17
-14
6
1
0
0
0
0
0
0
0
25
19
22
-33
1
7
5
4
0
0
0
0
0
0
0
0
0
19
-29
15
-12
-7
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-8
13
-31
-46
54
0
0
-1
0
-1
0
0
0
0
0
-2
-3
7
4
-8
-28
32
0
10
0
-14
-8
0
0
0
0
0
0
15
-21
-22
-11
-7
66
5
9
-8
37
-4
0
0
0
0
0
2
1
-25
-1
56
41
5
-25
8
-8
-2
-1
-1
0
0
0
0
0
6
-8
-3
42
42
11
-7
-7
4
-2
0
0
0
0
0
0
0
0
-9
10
-12
-3
-14
-13
14
6
-1
0
0
0
0
0
0
0
-5
25
-35
-6
-13
-4
8
-5
1
0
0
0
0
0
0
0
0
1
0
7
2
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-7
1
-3
-6
51
7
0
0
1
0
0
0
0
0
0
-4
-7
5
6
-23
-1
-19
0
-16
0
7
-1
0
0
0
0
0
0
8
0
2
-24
-5
-5
-1
-4
-1
-3
-1
0
0
0
0
0
-1
-19
1
-3
8
-10
17
3
0
0
-4
0
6
0
0
0
0
-1
1
3
-8
-20
25
14
0
4
2
1
0
0
0
0
0
0
0
-4
-2
14
24
-2
-22
8
-5
0
0
0
0
0
0
0
0
0
-2
-7
-8
2
-10
17
-2
0
0
0
0
0
0
0
0
0
0
8
0
16
3
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
0
-1
2
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-1
-1
2
-7
-1
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
2
4
0
0
0
0
0
0
0
-1
2
0
0
-3
-3
0
0
-3
-1
0
0
0
0
0
0
0
0
6
3
10
0
6
0
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
18
2
0
-2
0
0
0
0
0
0
0
0
0
0
1
48
-2
-1
-27
2
4
1
-2
0
0
0
0
0
0
0
0
4
-2
-30
-31
-1
2
-1
0
0
0
0
0
0
0
0
0
0
2
15
-25
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
6
-40
-3
4
8
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-25
-22
-18
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
-30
49
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
1
2
1
0
1
0
0
0
0
0
0
0
0
0
0
-15
4
-15
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
-13
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-25
-4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-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
3
1
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
8
-5
-6
0
1
0
1
0
0
0
0
0
0
0
0
2
7
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-2
0
-1
0
4
0
0
0
0
0
0
0
0
0
-3
4
24
-4
-19
5
3
6
-4
1
0
0
0
0
0
0
0
-1
0
-9
4
-6
-8
-2
0
-1
0
0
0
0
0
0
0
0
0
-5
6
10
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
2
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
17
-7
-2
2
16
0
9
29
10
0
0
0
0
0
0
13
4
-13
-6
-1
-4
-10
5
119
14
-27
8
0
0
0
0
0
13
4
12
-2
-9
-5
33
47
65
-28
-8
-15
0
0
0
0
1
8
19
8
8
0
-9
1
30
1
2
-2
1
1
0
0
0
0
-9
-30
-6
0
-4
-1
-16
3
-9
-25
0
0
0
0
0
0
0
0
-4
16
-2
0
-3
-3
8
2
5
0
0
0
0
0
0
0
1
16
6
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
-31
-2
57
-64
98
-11
0
6
0
0
-3
0
0
0
0
0
5
-26
-17
18
-29
-29
-43
-69
-3
15
10
12
2
0
0
0
0
-31
-58
-33
21
20
52
-1
-106
60
41
43
34
0
0
0
0
0
-31
-6
7
48
10
19
-20
-9
-14
40
0
3
0
0
0
0
0
-9
21
15
19
26
3
-5
22
13
18
8
0
0
0
0
0
0
-39
7
-41
29
52
-20
-6
-9
14
28
7
-1
0
0
0
0
0
10
13
-5
1
-22
-21
-6
4
2
-6
0
1
0
0
0
0
0
0
-5
7
27
23
-38
22
-18
-17
-2
0
0
0
0
0
0
0
0
0
0
-2
-56
-12
-13
20
5
-2
0
0
0
0
0
0
0
0
0
1
-1
2
-2
14
0
1
28
13
0
-1
0
0
0
0
1
-8
2
-1
-4
-5
8
20
5
1
2
-3
-2
3
0
0
0
0
0
3
0
2
1
-17
-33
52
11
24
-5
0
0
-1
0
0
0
0
8
-9
-5
7
-3
-12
41
-16
35
-5
-3
1
0
0
0
0
0
0
1
-1
0
0
-5
-5
-3
3
7
2
-2
0
0
0
0
-1
0
0
-2
0
7
3
-23
-30
7
-13
-1
1
0
0
0
0
0
0
1
0
0
-2
15
-26
-26
9
3
2
0
0
0
0
0
0
0
-3
3
1
4
15
-17
-29
9
1
5
0
0
0
0
0
0
-1
0
0
0
51
18
-50
6
4
-1
0
0
0
0
0
0
0
1
-4
-2
17
-3
0
-48
34
-24
0
0
0
0
0
0
0
0
18
8
-13
-30
28
-14
-30
-24
47
17
1
0
0
0
0
0
0
22
13
-7
9
-14
79
49
-33
-19
-1
2
0
0
0
0
0
0
-13
-8
7
-8
6
22
-20
-22
-5
-7
0
0
0
0
0
0
0
1
3
-5
-4
8
-8
9
-5
6
-3
0
0
0
0
0
0
0
0
2
-8
3
4
-30
-17
24
-5
2
1
0
0
0
0
0
0
0
1
10
1
0
-13
20
-5
6
-4
0
0
0
0
0
0
0
0
-2
0
5
23
68
46
-24
-6
-1
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
8
9
10
22
2
2
33
0
18
32
-17
0
0
0
0
0
1
-31
19
1
-1
13
-51
22
26
63
-3
7
0
2
0
0
0
5
-33
41
-6
-5
4
5
57
44
-68
-10
8
-6
0
0
0
0
6
6
-18
-5
9
-31
4
-5
17
-6
-10
3
0
0
0
0
0
-1
14
5
13
8
-10
-9
-21
15
12
-3
0
0
0
0
0
0
1
-6
-25
-3
-22
0
-29
-8
4
3
-6
0
0
0
0
0
0
0
1
3
0
0
2
8
-1
-8
6
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
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
-3
0
0
0
1
1
-8
0
1
4
0
0
0
0
0
0
1
9
7
5
8
-16
10
13
-30
26
-3
1
0
0
0
0
0
1
6
4
0
-5
0
-2
13
20
19
2
-1
0
0
0
0
0
2
-2
6
-1
-24
7
18
-17
8
4
3
1
0
0
0
0
0
-5
3
2
5
1
1
19
-2
-5
-6
-2
0
0
0
0
0
0
0
0
0
-1
0
-1
6
6
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
5
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-22
8
-10
0
0
0
0
0
0
0
0
0
0
0
4
7
-5
-25
-4
-13
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-14
13
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
53
-29
16
-5
2
1
0
0
0
0
0
0
0
0
0
0
0
34
31
-5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
37
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
-24
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
45
-28
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
25
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
4
1
0
-2
0
0
0
-2
0
0
0
0
0
0
0
1
-4
-4
-1
-3
-2
0
0
0
5
7
0
-1
0
0
0
0
0
-1
0
-2
0
1
13
-55
61
-8
0
0
0
0
0
0
0
-2
0
0
1
7
7
9
5
8
4
2
0
0
0
0
0
0
0
0
-2
1
4
3
-17
5
10
-5
-1
0
0
0
0
0
0
0
-1
0
0
0
8
-2
-22
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
-5
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-25
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
-2
20
-27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
20
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
-6
23
31
-57
10
-25
1
0
0
0
0
0
0
0
0
0
0
23
-64
37
2
21
10
5
0
0
0
0
0
0
0
0
0
0
-8
-22
-13
10
20
-13
-5
6
0
1
0
0
0
0
0
0
0
-10
-15
76
-6
3
-25
16
2
0
0
0
0
0
0
0
0
0
-10
5
-16
2
2
0
12
-5
-1
0
0
0
0
0
0
0
0
-13
29
57
-30
8
7
7
4
0
-2
0
0
0
0
0
0
0
-9
10
-32
-23
8
2
5
-1
0
0
0
0
0
0
0
0
0
1
-7
-4
-6
7
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-48
-9
1
2
0
0
0
0
0
0
0
0
0
0
0
1
64
2
33
22
22
5
0
0
0
3
-3
4
0
0
0
0
15
0
-51
25
-2
-8
-17
0
0
-32
1
-16
0
0
0
0
0
-8
-44
-17
16
-9
-7
-8
43
22
-6
13
8
0
0
0
0
0
-13
-28
55
6
-8
19
-4
3
16
19
-4
-2
0
0
0
0
0
-4
-15
34
0
14
6
23
-1
-5
-21
-5
0
0
0
0
0
0
0
-17
-18
-17
0
18
-16
13
1
-5
0
0
0
0
0
0
0
0
-8
19
-12
22
-7
-1
1
-1
-2
0
0
0
0
0
0
0
0
0
9
-15
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-27
-20
-6
-6
0
0
-13
-4
0
0
0
0
0
0
-6
3
-33
-30
10
6
-22
64
14
1
13
8
0
0
0
0
0
-12
39
-28
-42
28
32
-9
-20
-20
35
7
2
0
0
0
0
0
-10
-13
-18
36
13
0
10
5
-13
-13
-10
1
0
0
0
0
0
-8
-9
13
-8
0
2
-5
42
23
-28
0
1
0
0
0
0
0
5
0
-47
-31
26
-6
30
2
-24
-13
0
0
0
0
0
0
0
-2
25
13
90
-48
-12
31
12
12
0
2
0
0
0
0
0
0
0
7
-49
-2
-15
-22
-44
8
1
-8
-1
0
0
0
0
0
0
0
0
32
5
43
7
8
7
0
-3
0
0
0
0
0
0
0
16
-21
-13
35
-8
12
12
0
0
0
0
0
0
0
0
0
0
-62
-12
-4
10
-19
12
-12
2
0
0
0
0
0
0
0
0
0
-19
-10
-42
48
5
17
-8
1
0
0
0
0
0
0
0
0
0
5
16
-25
-28
19
17
-5
0
0
0
2
0
0
0
0
0
0
14
3
-24
19
4
5
4
3
5
0
0
0
0
0
0
0
0
-6
30
19
-30
8
-13
-4
0
-2
-1
0
0
0
0
0
0
0
-43
-51
-34
24
-1
-8
-5
2
0
1
0
0
0
0
0
0
0
-3
-70
14
54
-3
-9
6
1
-1
0
0
0
0
0
0
0
0
37
6
2
26
-8
0
0
0
0
0
0
0
0
0
0
0
0
5
-45
34
12
18
12
17
-5
0
0
1
0
0
0
0
0
0
49
38
17
-7
-64
-46
0
25
16
0
-1
0
0
0
0
0
0
25
49
-30
37
-15
-2
8
-20
0
0
0
0
0
0
0
0
0
28
-7
41
2
49
12
23
-5
0
0
0
0
0
0
0
0
0
0
-32
4
-10
10
22
-8
8
4
0
0
0
0
0
0
0
0
-5
-5
32
2
-9
7
3
1
0
0
0
0
0
0
0
0
0
-31
24
7
-43
-3
8
-7
6
0
0
0
0
0
0
0
0
0
-42
3
-13
-4
-5
7
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
8
-5
14
12
17
0
0
-7
-4
2
0
0
0
0
0
-3
22
44
31
58
2
16
0
22
0
-12
2
0
0
0
0
0
-4
-21
18
46
-29
-9
-3
5
48
56
-23
5
-1
0
0
0
0
-6
-19
-3
34
-25
-5
15
24
-32
-18
-13
4
-1
0
-1
0
0
1
-8
8
0
-23
24
-8
24
-10
20
-1
0
0
0
0
0
0
1
-5
25
-10
-29
-20
-4
0
6
-7
3
0
0
0
0
0
0
0
-7
8
-34
5
6
4
-13
-4
-7
0
0
0
0
0
0
0
0
2
-8
0
-5
1
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
5
-7
-10
0
0
-1
0
5
0
0
0
0
0
0
0
-1
-22
22
3
-3
-9
-4
0
4
0
9
0
0
0
0
0
0
0
-28
-16
-4
39
27
8
-1
7
28
-8
0
0
0
0
0
0
-10
-13
-5
22
48
-13
10
10
10
-8
-6
-1
0
0
0
0
0
-20
13
-14
-5
13
3
-3
-1
0
25
-1
0
0
0
0
0
0
0
-8
-4
13
8
5
-2
-1
12
-5
-3
0
0
0
0
0
0
0
-1
-14
13
-6
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-1
-8
0
-7
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-8
-5
0
25
10
0
0
0
0
0
0
0
0
0
-10
-31
-8
9
-22
-4
0
0
0
0
0
0
0
0
0
0
0
24
43
2
7
-3
0
0
0
0
0
0
0
0
0
0
0
9
-19
21
-8
30
-1
0
0
0
0
0
0
0
0
0
0
0
-1
15
5
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
31
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
8
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
8
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-35
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
-2
6
-1
-7
-9
16
27
2
0
0
0
0
0
0
0
0
-1
-4
-13
-19
6
2
-1
6
-2
0
0
0
0
0
0
0
-2
-25
-24
-5
7
1
6
-1
-3
0
0
0
0
0
0
0
0
0
-2
0
15
32
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-3
7
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
44
0
-54
5
2
0
0
0
0
0
0
0
1
0
0
0
10
42
43
41
10
0
1
0
0
0
0
0
0
-3
9
-1
-10
-16
15
-67
-63
-8
-10
-4
0
0
0
0
0
-5
-3
-20
-20
-13
-38
14
4
2
1
0
2
0
0
0
0
0
-1
-8
42
1
-8
-2
0
0
-1
-13
-2
0
0
0
0
0
0
0
0
7
-8
5
2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
9
7
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-2
6
31
6
23
0
76
-29
-9
-12
3
0
0
0
0
0
0
0
1
16
-6
30
-9
22
-31
-8
8
7
0
0
0
0
2
-5
-5
-6
-6
-13
107
-24
7
-34
23
-48
-3
0
0
0
0
-2
5
-15
-42
1
53
-43
-26
8
0
-10
-7
-2
0
0
0
0
2
-6
18
0
-28
16
66
1
-8
-17
-5
5
3
0
0
0
0
1
4
-1
-34
-17
-34
79
-1
-7
3
0
2
0
0
0
0
0
0
0
-17
18
-47
75
21
-14
-35
14
-9
2
-1
0
0
0
0
0
-1
22
5
22
59
41
-13
-2
20
0
1
0
0
0
0
0
0
0
0
4
28
-30
22
-6
-12
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-23
6
-1
1
0
0
0
0
0
0
0
0
0
-5
-7
27
5
22
4
-2
0
0
0
0
0
0
0
0
0
9
2
-13
58
8
-8
0
0
0
0
0
0
0
0
0
3
0
8
49
-24
0
-3
7
-8
14
1
0
0
0
0
0
0
0
1
6
6
5
2
-8
5
4
0
0
0
0
0
0
0
0
0
2
-1
-3
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
5
-4
-3
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
2
0
-16
7
5
4
2
0
0
0
0
0
0
15
18
2
-31
33
-41
97
3
8
-8
20
-3
0
0
0
0
0
27
-13
8
49
28
19
35
4
22
10
4
0
0
0
0
0
0
16
0
-20
59
15
7
7
-21
-13
-3
1
-1
0
0
0
0
0
0
25
-20
-4
19
31
6
-1
0
-1
0
0
0
0
0
0
0
-4
8
-13
33
8
9
-56
-1
0
17
0
0
0
0
0
0
0
0
-1
10
-17
-8
5
16
9
-3
0
1
0
0
0
0
0
0
0
1
-1
6
3
-48
-2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
5
0
2
15
5
0
0
0
0
0
-1
0
0
1
6
2
17
-9
-45
32
-37
3
-1
1
0
0
0
0
-2
6
3
21
-49
-20
-11
92
24
16
7
0
1
0
0
0
-1
-3
-20
5
-16
58
-45
49
46
-44
-2
1
0
0
0
0
0
1
-1
4
-17
5
-66
3
1
9
3
6
0
0
0
0
0
0
0
2
-13
-6
-7
-20
-6
25
3
5
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-2
9
0
0
0
0
0
0
0
0
0
0
1
1
2
-4
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-7
0
-9
2
1
0
0
0
0
0
0
0
0
-1
-3
-1
5
-7
3
22
3
0
0
0
0
0
0
0
0
0
4
6
-4
2
-41
38
30
8
1
0
0
0
0
0
0
-1
0
4
7
-4
16
-1
14
-22
-4
-3
0
0
0
0
0
0
0
0
1
21
-5
-9
5
-2
2
1
0
0
0
0
0
0
0
0
0
1
-1
-18
-14
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
2
-2
6
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
3
0
0
2
-1
10
4
0
-1
0
0
0
0
0
0
0
1
0
24
15
5
-26
-5
-1
0
0
0
0
0
0
0
0
0
0
17
22
14
19
6
-4
1
0
0
0
0
0
0
0
0
0
-1
23
-53
-51
-6
3
1
0
0
0
0
0
0
0
0
0
0
0
8
8
-8
5
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
6
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
52
16
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
13
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
8
1
-1
0
0
0
0
0
0
0
0
0
-3
-5
31
20
-8
0
0
1
0
0
0
0
0
0
0
0
0
-3
-3
-33
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
8
16
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
8
28
81
23
3
0
0
0
0
0
0
0
0
0
0
0
0
9
19
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-14
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
42
23
-3
0
0
0
0
0
0
0
0
-1
-2
-8
5
47
27
-3
0
0
0
0
0
0
0
0
0
1
4
-9
-25
10
-4
20
3
-2
2
0
0
0
0
0
0
0
0
-3
-29
-13
-23
-13
-4
3
1
0
0
0
0
0
0
0
0
0
1
-13
-20
18
-13
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-9
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
16
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
-1
2
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
24
-10
-6
6
0
0
0
0
0
0
0
0
0
0
0
3
31
20
-41
-25
-15
16
-1
2
0
0
0
0
0
0
0
0
8
0
6
-1
5
3
-18
1
7
0
0
0
0
0
0
0
0
-2
-1
15
5
5
-27
-1
10
5
0
0
0
0
0
0
0
0
0
-2
-7
15
-5
-16
-15
0
2
0
0
0
0
0
0
0
0
2
8
-10
12
18
-4
8
5
-1
0
1
0
0
0
0
0
0
0
3
-3
-19
-1
-16
-4
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
-2
-1
1
0
0
0
0
6
12
13
13
-9
-13
0
0
35
-16
9
-3
-6
0
0
0
-1
-25
37
-53
37
11
21
55
-29
-5
18
14
0
0
0
0
0
-1
2
-16
-4
30
-3
41
56
-14
-8
-6
-15
0
0
1
0
0
0
-5
-18
-28
17
-32
20
-27
-14
-6
-3
1
0
0
0
0
0
0
5
12
8
24
-4
3
-6
0
-7
1
0
0
0
0
0
0
0
2
9
-5
-20
3
-8
-4
-2
-3
0
0
0
0
0
0
0
0
0
0
6
-9
0
2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
25
-8
-3
0
0
-9
-2
1
1
0
0
0
0
-1
-4
19
4
25
17
56
-16
51
-19
0
-1
5
0
0
0
0
2
-21
40
0
-28
-42
48
52
-31
31
2
2
-3
0
0
0
0
-16
-20
58
-1
-5
68
74
5
-5
17
-2
2
1
0
0
0
0
9
-7
-26
-58
-102
85
-2
60
46
-1
0
0
-1
0
0
0
0
3
-30
-23
-11
-56
0
-23
-19
12
-10
-4
-3
0
0
0
0
0
-15
-4
-15
-25
-17
-22
-50
30
-16
2
9
-1
0
0
0
0
0
0
8
2
66
-74
18
-8
-13
-9
0
0
0
0
0
0
0
0
0
0
2
-13
42
0
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
2
6
-2
1
6
6
-4
0
0
0
0
0
0
0
2
-12
10
13
14
12
-1
-13
-1
0
0
0
0
0
0
0
0
4
-7
-6
-2
-2
10
-5
7
-6
-6
0
0
0
0
0
0
0
3
6
-5
10
24
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
-13
-1
-1
-5
1
-1
0
0
0
0
0
0
0
0
0
-5
2
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-7
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-5
0
0
1
0
0
0
2
0
0
0
0
0
0
0
-27
0
-8
7
-17
31
0
3
-7
-7
-1
0
0
0
0
0
0
41
10
32
6
28
9
-70
-30
-8
-8
-1
0
0
0
0
0
0
8
13
-32
18
1
5
-53
16
-24
-2
-1
0
0
0
0
0
0
6
-2
-5
-1
-33
28
3
-4
-5
0
0
0
0
0
0
0
0
5
27
-59
-20
13
-19
-13
-8
-1
0
0
0
0
0
0
0
0
7
-31
-7
-21
0
6
-7
0
0
0
0
0
0
0
0
0
0
16
-4
-7
14
-2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
33
7
4
0
0
0
0
0
0
8
7
-12
6
10
6
0
15
0
6
7
0
3
0
0
0
-7
0
15
-13
45
14
-6
2
42
28
43
3
3
2
0
0
0
1
19
-5
9
1
-60
3
-14
-32
7
-26
25
-6
0
0
0
0
-2
-13
2
-31
27
-33
-4
-8
-21
0
-8
0
0
0
0
0
0
0
-2
-6
8
1
-8
-7
20
-16
9
4
-1
0
0
0
0
0
0
1
12
-6
-19
-25
1
0
-2
-1
1
0
1
0
0
0
0
0
0
0
0
0
-15
-4
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-6
-6
3
0
12
0
0
6
2
0
0
0
0
0
-4
0
-1
-15
15
12
-31
-2
14
-8
8
0
0
0
0
0
0
6
20
0
30
55
14
37
8
-8
-2
8
0
0
0
0
0
4
0
12
-8
-17
-14
9
-41
-3
-19
-2
5
0
0
0
0
0
0
13
-7
6
-10
-2
8
-3
4
-3
1
0
0
0
0
0
0
0
0
5
-2
-16
-10
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-8
-1
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
1
-3
-6
6
-1
-12
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
7
-4
-1
0
0
0
0
0
0
0
-1
0
0
1
-2
5
-2
-8
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-5
19
-13
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
18
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
4
-1
0
0
0
0
0
0
0
0
1
3
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
0
-6
0
1
0
0
0
0
0
0
-4
0
2
0
4
12
23
9
22
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
8
8
1
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-2
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
-5
-5
0
-9
7
19
-1
-1
0
0
0
0
0
-3
-1
1
0
-44
42
-5
74
-62
6
1
13
0
0
0
0
4
1
0
0
1
3
-1
31
42
-43
28
4
-1
0
0
0
0
1
-1
0
2
1
0
15
51
-6
-10
13
9
-5
0
0
0
0
-1
0
-4
-3
2
8
-42
27
-13
-15
-8
-1
0
0
0
0
0
0
0
0
0
-1
-1
-15
-18
-9
-14
-2
2
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
14
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-49
-33
30
0
44
-17
20
14
-13
-1
0
0
0
0
0
-8
7
37
30
8
71
32
49
10
22
12
4
0
0
0
-2
-3
-13
3
57
-3
-44
106
-25
40
53
-14
-8
-3
0
0
0
0
-3
-8
-6
-13
-3
14
22
87
-13
34
52
6
1
0
0
0
1
-5
-6
29
11
-32
30
-86
22
57
-12
0
-12
0
0
0
0
0
0
-2
9
5
-5
-22
-61
-39
-17
3
-2
1
0
0
0
0
0
0
-7
8
-67
34
-23
50
10
-4
-14
-7
0
-1
0
0
0
0
0
0
13
-15
53
17
-1
37
-7
5
0
0
2
0
0
0
0
0
0
1
33
5
60
-39
-42
-2
2
0
0
0
0
0
0
0
0
0
0
0
-2
-23
0
2
10
31
23
-3
-1
0
0
0
0
0
0
0
8
21
-21
1
-2
-17
36
-16
-16
-3
0
1
0
0
0
0
-14
-6
-4
44
-4
-42
0
19
13
-28
1
1
0
0
0
0
0
0
0
41
-13
32
56
16
-19
-10
-10
1
3
0
0
0
0
0
0
1
-7
16
25
-74
-17
7
-29
13
-1
1
0
0
0
0
0
1
0
1
3
-27
-5
-5
-31
-28
-41
1
0
0
0
0
0
0
0
3
0
-5
-50
-36
54
-4
2
-10
-2
1
0
0
0
0
0
0
2
-4
14
-58
41
-13
-13
-17
-18
-3
0
0
0
0
0
0
0
-2
-3
-14
-1
47
31
-6
26
1
3
0
0
0
0
0
-1
3
29
-27
-39
0
-2
11
-5
-5
1
0
0
0
0
0
0
0
0
22
13
30
35
92
-53
43
27
7
0
0
0
0
0
0
1
-6
-6
42
-5
-22
26
4
-3
-25
-16
0
0
0
0
0
0
0
0
-14
-15
-25
5
51
-2
8
6
4
-1
0
0
0
0
0
0
0
6
22
-3
12
8
-35
6
-27
-5
0
0
0
0
0
0
0
-4
-2
-13
-22
6
13
-13
15
20
8
0
0
0
0
0
0
0
0
22
0
3
-30
-20
5
12
-12
2
1
0
0
0
0
0
0
1
0
-12
-10
-15
-16
-8
5
8
0
0
0
0
0
0
0
0
0
0
13
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-42
96
-57
0
-59
37
2
2
-2
0
0
0
-1
-2
0
0
1
1
-41
10
10
68
18
5
-1
2
-2
0
0
0
3
3
4
4
8
-17
28
60
43
-7
-7
-14
0
-1
0
0
0
-3
2
1
-5
10
35
19
-7
-41
11
1
-5
-1
0
0
0
0
1
-1
0
-1
1
-5
49
-12
16
-13
-16
-2
-3
0
0
0
0
0
0
1
1
1
30
20
13
16
-41
6
0
0
0
0
0
0
0
0
0
0
1
1
-24
8
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
7
0
6
16
4
0
0
0
0
0
0
0
0
0
0
6
-25
41
-13
14
-8
-4
-8
0
0
0
0
0
0
0
1
-1
-1
-24
-5
-9
-3
-13
-3
0
0
0
0
0
0
-2
0
0
0
-3
-7
15
-9
-2
1
0
0
0
0
0
0
0
0
0
0
-3
2
-17
3
25
4
0
-2
0
0
0
0
0
0
0
0
0
0
4
6
-1
-1
-13
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-14
-8
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
6
-7
1
0
0
0
0
0
0
0
0
0
14
0
0
-13
-17
-7
-6
3
-2
0
0
0
0
0
0
0
0
-7
-15
48
-144
8
-12
-15
-1
0
0
0
0
0
0
0
0
0
10
2
38
-33
-31
-4
9
1
0
0
0
0
0
0
0
0
0
-3
-3
45
-14
26
4
7
0
0
0
0
0
0
0
0
0
0
2
-22
20
8
7
13
0
0
0
0
0
0
0
0
0
0
0
-7
0
23
19
-8
-5
0
0
1
0
0
0
0
0
0
0
0
-3
29
5
-31
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
5
31
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-5
2
0
0
0
0
0
0
0
0
0
0
0
4
-9
25
-2
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
-21
-12
-12
1
0
0
0
0
0
0
0
0
0
0
0
-25
-4
24
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
7
20
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
27
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
10
18
10
-1
0
0
0
0
0
0
0
0
0
0
3
7
10
3
22
-18
0
0
0
0
0
0
0
0
0
0
0
-5
5
-30
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-25
-14
-34
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
25
0
0
5
-1
-8
0
0
0
0
0
0
0
0
0
0
0
-8
-8
32
-16
-12
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
-14
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
1
18
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
14
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
15
3
0
0
0
0
0
0
0
0
0
1
0
5
0
0
0
5
7
0
0
0
0
0
0
0
0
0
0
-1
-3
9
-22
52
18
10
0
-1
0
0
0
0
0
0
0
0
0
-5
25
24
13
-8
-34
6
0
0
0
0
0
0
0
0
0
1
-5
5
-19
16
-1
0
0
2
0
0
0
0
0
0
0
0
2
-3
-4
30
17
-25
-1
-1
0
0
0
0
0
0
0
0
0
0
-2
-5
10
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-2
5
8
-35
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-21
1
0
0
0
0
0
0
0
0
0
0
0
-3
-13
0
16
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-18
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
24
25
10
-16
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
17
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
27
6
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
14
2
32
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
0
1
1
-2
6
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
8
1
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
1
-4
-2
-5
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
2
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
-1
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
5
47
0
0
0
54
-5
7
-2
0
0
0
2
0
14
-9
2
-14
-5
0
0
20
-14
-35
-4
0
1
0
0
0
-8
12
10
0
-4
10
90
63
-49
-7
-18
1
-1
4
0
0
0
12
39
-2
12
-3
16
26
-34
-51
25
-7
1
3
0
0
0
0
0
-1
0
5
-1
-1
3
8
12
-3
-3
3
6
0
0
0
0
0
-3
-3
-1
-3
0
1
-10
9
-21
-1
-3
0
0
0
0
0
2
-1
1
0
6
1
4
0
5
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
49
-28
-21
-19
0
0
8
-7
-1
0
0
0
0
0
0
-4
-8
12
-49
-10
-22
-5
35
-49
-2
-21
0
0
0
0
0
0
8
30
3
42
1
16
-34
-21
-13
14
-1
0
0
0
0
0
-1
3
-16
-15
17
-14
48
-11
9
10
9
4
0
1
0
0
0
0
0
-3
-13
-14
-15
53
-5
-12
-6
3
2
2
2
0
0
0
0
0
-2
37
-17
33
-9
-14
28
6
13
7
-2
0
0
0
0
0
0
-1
8
23
10
-28
43
30
2
5
0
0
0
0
0
0
0
0
19
-13
5
6
-8
-25
15
-6
2
0
0
0
0
0
0
0
0
-12
1
8
0
6
-5
3
-2
0
0
0
0
0
0
0
2
7
5
0
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
2
-5
5
2
0
1
0
0
0
0
0
0
0
-8
6
0
1
1
0
-44
0
0
0
0
0
0
0
0
0
0
4
-8
-6
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
1
3
1
0
0
0
0
0
0
0
0
-1
-4
-1
-1
1
0
0
-1
0
0
-1
0
0
0
0
0
0
0
3
7
1
0
-2
4
-3
1
-1
0
0
0
0
0
0
0
-1
16
-8
-3
0
1
-8
0
0
0
0
0
0
0
0
0
0
2
5
-12
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
1
12
0
-6
-1
-24
-19
44
0
6
3
5
0
0
0
0
0
3
16
-22
1
-3
23
0
-6
-3
-2
1
-14
0
0
0
0
0
0
0
-42
-2
21
21
-12
-9
0
1
0
0
0
0
0
0
0
0
-2
0
-1
-13
41
-5
0
1
-1
0
0
0
0
0
0
0
1
-5
-1
-3
0
20
9
6
-4
0
0
0
0
0
0
0
0
0
1
-1
-17
0
-4
-10
-1
0
0
0
0
0
0
0
0
0
-1
-4
0
0
-2
1
0
-2
0
0
0
0
0
0
0
0
0
0
-8
-2
-3
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
3
-3
2
-7
0
0
41
-3
17
2
0
0
0
0
0
-2
6
6
-19
22
43
0
42
0
-27
-8
6
-5
0
0
0
0
0
2
14
8
0
-14
42
61
35
15
-25
6
-1
0
0
0
1
-3
-5
2
22
-5
-13
-15
-48
-13
-32
-3
-1
2
0
0
0
0
0
1
-17
-31
0
8
2
-31
-14
-10
2
-2
1
0
0
0
0
0
3
8
-17
-1
-7
10
3
-4
-1
0
-1
0
0
0
0
0
0
0
3
6
3
0
0
3
-15
1
1
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
2
0
0
-30
24
5
0
0
0
0
0
0
0
0
0
-16
0
6
0
1
0
-8
23
-1
0
0
0
0
0
0
2
0
1
3
5
21
12
41
56
13
-2
0
0
0
0
0
0
0
0
1
-4
12
-3
12
-7
-3
13
-1
0
0
0
0
0
0
0
0
2
4
-14
16
-5
-6
8
6
0
0
0
0
0
0
0
0
0
1
-4
-8
4
2
-1
2
1
0
0
0
0
0
0
0
0
0
-1
0
-2
-4
-1
0
2
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-13
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
34
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
35
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
7
7
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
2
-35
-5
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
-19
-31
37
0
0
0
0
0
0
0
0
0
0
0
0
2
27
-14
5
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
20
22
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-10
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-5
16
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-20
14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
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
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-9
6
-3
0
0
0
0
0
0
0
0
0
-3
0
-14
0
-20
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
8
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
15
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-10
-8
17
-2
-22
-1
0
0
0
0
0
0
12
-3
0
0
-9
-27
-45
-13
21
-4
2
0
0
0
0
0
0
-1
-13
-21
-5
-3
-5
-20
-30
7
-13
8
0
0
0
0
0
0
1
-16
14
-13
19
15
5
-5
13
21
-3
0
0
0
0
0
0
0
-15
15
-18
-8
-9
-7
25
25
12
0
0
0
0
0
0
0
0
0
-7
-4
-4
0
9
7
3
-1
0
0
0
0
0
0
1
0
0
3
-3
-22
-16
13
17
22
1
0
0
0
0
0
0
0
0
0
2
0
3
12
0
-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
-1
-2
0
0
1
-42
5
-101
6
-5
0
0
0
0
0
0
0
24
-28
31
40
23
-34
35
-50
-22
-23
2
0
0
0
0
0
1
-9
-1
49
5
57
30
-16
-13
11
3
0
0
0
0
0
0
-1
-1
36
46
5
-13
29
-35
37
-17
5
-1
0
0
0
0
0
0
10
-13
10
45
33
94
46
-1
-7
-32
0
0
0
0
0
0
0
1
-12
-5
5
30
-36
57
10
-13
-12
1
0
0
0
0
0
0
8
7
-26
-35
15
-20
58
-58
13
22
0
0
0
0
0
0
0
4
0
3
-13
-43
-26
-17
71
23
1
0
0
0
0
0
0
0
-1
2
1
-13
-1
0
-15
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
25
13
7
-9
8
-5
0
0
0
0
0
0
0
0
1
-1
8
2
4
31
-2
-42
-20
0
0
0
0
0
0
0
1
0
-1
0
15
23
-7
-8
4
-4
0
0
0
0
0
0
0
-1
0
0
3
8
0
-7
-1
4
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
17
-12
-6
0
0
0
0
0
0
0
0
0
1
-2
0
0
8
2
-3
2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
5
2
8
0
0
0
0
0
0
0
0
0
0
-1
0
-18
8
0
-13
-3
4
0
0
0
0
0
0
0
0
0
0
0
6
0
3
0
-7
2
0
0
0
0
0
0
0
0
0
0
-2
-10
10
6
7
7
16
-14
0
0
0
0
0
0
0
0
-9
5
0
44
56
-16
4
-2
-33
0
0
0
0
0
0
0
2
5
24
-3
-1
-13
-42
-30
0
-3
0
0
0
0
0
-1
0
4
-2
7
-31
-59
16
-15
10
4
29
0
0
0
0
0
0
0
3
0
-7
9
30
9
-5
-17
-31
18
0
0
0
0
0
0
0
-2
6
-21
-4
-8
2
33
9
5
49
0
0
0
0
0
0
0
0
-3
-24
9
67
-16
-47
-2
18
-5
0
0
0
0
0
0
0
0
1
-8
9
-18
-17
-10
18
4
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-13
-18
14
-13
0
0
0
0
0
0
5
-7
0
-18
0
35
-8
31
-22
9
-8
1
0
0
0
0
0
0
-10
-16
-3
-22
31
22
-26
89
30
-6
2
0
0
0
0
0
0
1
13
10
6
53
45
-9
43
3
-4
0
0
0
0
0
0
0
-1
6
7
3
-2
-19
-9
-46
5
-22
0
0
0
0
0
0
0
0
0
8
13
-31
5
-6
-12
6
-5
0
0
0
0
0
0
0
0
0
-2
-8
32
-5
-15
-56
-10
1
0
0
0
0
0
0
-1
0
2
-2
7
-8
-17
9
6
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
4
8
0
3
0
0
0
0
0
0
1
0
-1
0
29
-2
15
8
25
-4
0
0
0
0
0
0
0
-1
-16
0
-10
-12
-30
3
-7
-24
-1
0
0
0
0
0
0
0
4
-6
-3
1
-17
23
0
-19
5
10
0
0
0
0
0
0
0
1
2
15
-2
3
-6
-13
-30
0
2
0
0
0
0
0
0
0
0
1
1
-9
-16
-5
-24
34
4
0
-1
0
0
0
0
0
0
1
0
0
-2
-1
4
-14
19
-3
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-23
12
17
0
1
0
0
0
0
0
0
0
0
1
5
-4
0
-7
1
5
12
3
0
0
0
0
0
0
0
0
0
0
-1
1
0
13
15
31
3
0
0
0
0
0
0
0
0
0
0
2
-7
15
-31
33
5
7
0
0
0
0
0
0
0
0
0
0
0
-10
21
-32
-8
25
-7
0
0
0
0
0
0
0
0
0
0
1
-8
24
2
-4
25
1
0
0
0
0
0
0
0
0
0
0
-2
-8
18
8
-21
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-33
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-12
21
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
13
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
19
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
39
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
-14
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
-20
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
27
23
-6
-4
6
0
0
0
0
0
0
0
0
8
-8
-5
-1
20
0
-8
22
-2
0
0
0
0
0
0
0
0
-2
-1
2
-9
-3
12
48
-14
2
0
0
0
0
0
0
0
0
2
5
16
-4
21
35
7
-14
-1
0
0
0
0
0
0
0
0
0
-3
3
-6
16
9
22
-1
1
0
0
0
0
0
0
0
0
0
1
16
6
-6
24
-3
-5
0
0
0
0
0
0
0
0
0
3
0
-2
-16
6
4
-5
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
12
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
5
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
5
-20
-9
10
-2
5
5
0
0
0
0
0
4
5
-13
-13
120
57
-13
16
-15
31
-5
-19
0
0
0
0
0
-8
-9
12
34
-15
-14
36
5
-4
7
-13
7
1
0
0
0
0
0
-4
-8
-10
26
-9
13
-7
8
31
-6
0
0
0
0
0
0
0
0
-7
-3
25
-22
-17
6
-5
-5
0
1
2
0
0
0
0
0
0
17
-13
-23
3
-3
-8
-5
-3
0
1
0
0
0
0
0
0
0
-2
8
8
-5
-4
7
-6
-16
-1
0
0
0
0
0
0
0
0
0
0
-2
4
1
-1
-3
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-6
21
-18
-17
-4
-7
0
0
0
0
0
0
-1
3
-28
22
1
-7
43
-19
-2
-2
7
-1
0
0
0
0
0
-3
-9
-16
-37
-4
35
94
-31
-28
-3
-15
1
0
0
0
0
0
0
-9
-4
-22
9
-9
-26
41
61
35
4
0
0
0
0
0
0
1
8
-6
-24
5
6
-2
16
52
3
15
-3
0
0
0
0
0
1
5
48
-7
11
-55
47
-93
4
46
9
0
0
0
0
0
0
-1
-25
-8
8
-43
-29
79
-16
-6
56
-22
0
0
0
0
0
0
0
9
5
-6
17
-43
23
22
-53
24
-5
0
0
0
0
0
0
-1
1
-14
21
-20
-10
-7
-2
-5
-1
0
0
0
0
0
0
0
0
1
-2
-4
0
6
-12
44
1
5
0
0
0
0
0
0
0
-6
-33
-18
6
23
56
-25
-9
-25
0
0
0
0
0
0
0
0
2
5
8
-5
5
23
8
7
-6
-1
0
0
0
0
0
0
0
3
-2
-3
4
53
20
-18
-2
2
0
0
0
0
0
0
0
2
0
25
-18
-23
39
4
-1
-3
-14
3
0
0
0
0
0
0
0
-1
4
16
-39
36
-6
3
-2
20
-1
0
0
0
0
0
0
-6
3
-12
9
22
17
5
6
-10
-15
0
0
0
0
0
0
0
2
5
-13
-16
-70
15
8
2
19
7
1
0
0
0
0
0
0
0
7
-12
43
-53
-1
-9
-6
-2
1
0
0
0
0
0
0
0
-1
1
-12
30
-4
0
-5
-16
-3
-5
3
1
0
0
0
0
0
0
16
13
-18
-23
-33
-49
-20
13
-1
54
1
0
0
0
0
0
3
-8
10
33
6
-2
-31
5
35
9
8
0
0
0
0
0
-1
6
-4
-9
-35
-18
31
-1
52
19
0
5
3
0
0
0
0
0
19
14
-12
18
11
-23
10
-8
20
9
-12
0
0
0
0
0
0
2
-4
-21
30
50
-49
39
42
-58
42
0
0
0
0
0
0
0
-12
7
-8
-14
16
3
22
25
0
-8
-1
-1
0
0
0
0
-2
0
-9
10
5
-63
-14
-14
-6
-30
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-10
0
4
4
-8
-30
-5
5
-1
0
0
0
0
0
0
0
-30
42
77
31
-24
-2
-5
5
-7
-14
-3
0
0
0
0
-1
1
19
-21
9
-19
37
12
-23
1
-8
-8
4
0
0
0
0
0
0
2
13
-9
18
-8
-22
-14
8
9
-6
1
0
0
0
0
0
0
12
1
-31
-4
-9
34
31
-3
1
-2
-1
0
0
0
0
0
0
-3
-17
14
-5
-10
39
-54
8
-2
-5
4
0
0
0
0
0
0
0
1
3
-17
-1
10
4
10
0
0
0
0
0
0
0
0
0
0
0
-5
0
-22
3
2
3
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
2
-2
-1
0
3
0
0
0
0
0
0
0
-1
1
-3
6
8
-6
9
6
13
-5
0
0
0
0
0
0
0
-4
-4
7
19
0
39
25
19
3
-3
-1
0
0
0
0
0
0
5
5
-5
13
-20
3
22
-2
-4
0
-1
0
0
0
0
0
-3
-3
-10
-12
-42
20
-41
-23
-6
-8
1
5
0
0
0
0
0
0
8
0
-9
-6
-4
-8
-2
6
2
0
0
0
0
0
0
0
0
2
-13
4
8
1
6
6
1
0
0
0
0
0
0
0
0
0
0
0
9
-14
-3
1
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
7
-2
-2
4
0
8
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
4
0
0
1
0
0
0
0
0
0
0
0
1
8
0
-4
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
1
-8
5
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
-12
-8
2
-21
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-17
-12
-52
34
13
0
0
0
0
0
0
0
0
0
-1
0
-1
8
13
21
-24
-7
0
0
0
0
0
0
0
0
0
0
0
-3
9
1
-10
-8
-1
0
0
0
0
0
0
0
0
0
0
0
4
6
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
1
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
7
-8
-4
-41
-2
0
0
0
0
0
0
0
0
0
0
3
0
-3
15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
15
20
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
14
13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-3
-4
0
5
2
0
0
0
0
0
0
0
1
1
8
5
-16
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
7
8
-1
1
1
0
-1
0
0
0
0
0
0
0
0
1
1
4
-7
0
-1
1
-2
-1
1
0
0
0
0
0
0
0
0
5
1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
6
-13
45
39
-8
15
-5
0
0
0
0
2
3
6
-4
0
0
-49
-3
-5
51
-24
32
57
0
0
0
0
0
-4
8
15
32
69
18
-25
19
-40
13
42
14
0
0
0
0
0
1
-14
-9
-5
22
3
13
8
13
-9
15
-8
0
0
0
0
0
1
0
12
-8
-25
-12
-2
-4
14
28
35
23
0
0
0
0
0
0
0
0
3
12
-5
8
-31
-20
-18
54
5
0
0
0
0
0
0
0
1
-1
0
-1
-15
1
32
-44
3
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
21
18
0
0
-34
-9
25
-24
-5
18
-8
0
0
0
0
0
6
5
1
-92
18
59
-7
-8
39
4
-3
-8
0
0
0
0
-1
4
8
15
-27
-34
-53
-49
-11
-49
20
-24
-45
0
0
0
0
0
-23
7
11
-13
-21
-5
-13
53
70
-9
-68
5
0
0
0
0
0
7
3
-8
-17
22
61
70
32
13
10
68
1
0
0
0
0
0
2
-5
-13
-84
32
-49
-10
80
50
3
-28
-4
0
0
0
0
0
0
0
29
5
-32
25
20
39
-46
13
0
8
0
0
0
0
0
0
0
2
-7
7
7
23
-32
12
-21
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-15
17
8
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
21
12
28
-40
36
0
0
0
0
0
0
0
0
0
6
-1
8
-22
-26
-53
36
22
0
0
0
0
0
0
0
0
0
5
12
-13
4
23
8
-29
-31
0
0
0
0
0
0
0
0
0
10
-7
-10
14
-7
31
-7
22
0
0
0
0
0
0
0
0
0
-3
-4
-9
9
-16
-16
-30
-69
0
0
0
0
0
0
0
-2
0
0
1
5
5
-15
10
-8
8
0
0
0
0
0
0
0
0
0
1
1
-16
-5
-19
25
32
5
0
0
0
0
0
0
0
0
0
1
-2
1
14
-48
-33
47
9
0
0
0
0
0
0
0
0
0
0
0
-1
2
42
2
5
15
0
0
0
0
0
0
0
0
0
-13
6
-6
6
3
3
13
-35
0
0
0
0
0
0
-2
0
5
5
0
-47
14
24
79
-27
41
0
0
0
0
0
0
0
-1
-1
22
31
21
-11
-51
26
13
59
0
0
0
0
0
0
0
0
1
13
24
-20
-3
8
-16
27
-67
0
0
0
0
0
0
0
0
6
5
-6
6
8
-19
-4
-27
24
0
0
0
0
0
0
0
0
1
6
0
4
29
37
41
-77
-40
0
0
0
0
0
0
0
0
0
0
-2
5
-72
-2
-24
-21
9
0
0
0
0
0
0
0
0
0
2
1
23
1
2
-2
-35
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-6
0
0
-5
-20
46
-7
-10
31
9
0
0
0
0
0
25
23
0
-16
0
-15
14
-23
-12
-11
31
-1
0
0
0
-2
16
7
9
37
-16
-10
30
0
14
18
47
-41
-7
0
0
0
0
0
-4
-7
22
31
41
-3
14
-25
13
3
-14
-3
0
0
0
0
0
-1
-8
-8
-19
-7
25
-3
-23
-6
5
47
6
0
0
0
0
0
-1
-3
0
-17
-4
8
-5
-18
9
8
-42
-5
0
0
0
0
0
0
0
4
-1
0
-6
-12
0
-10
16
16
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
7
-12
10
8
9
-2
0
0
0
0
0
2
0
0
2
0
10
-8
13
0
32
2
0
0
0
0
0
0
3
3
9
5
4
13
1
18
30
-14
0
0
0
0
0
0
-1
0
0
3
7
9
-17
24
25
-12
15
-7
4
0
0
0
0
0
0
1
1
-3
-1
-7
4
7
4
14
2
5
0
0
0
0
0
0
-1
0
0
0
1
-13
0
-1
14
0
-3
0
0
0
0
0
0
-1
0
0
0
-2
0
2
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
1
0
-2
-4
0
0
0
0
0
0
0
0
0
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-4
4
-10
-2
8
0
0
0
0
0
0
0
0
0
-1
0
5
-8
-27
-35
34
-7
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-59
-7
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
19
-9
7
6
4
0
0
0
0
0
0
0
0
0
0
0
-4
2
-5
28
-15
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-15
-14
27
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
5
12
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
39
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
8
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
9
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
9
5
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
8
8
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
3
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
2
-13
-12
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-10
8
-12
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
20
25
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
8
2
-2
-6
-4
7
0
0
0
0
0
0
-1
0
0
4
3
5
-1
6
-13
-1
2
0
0
0
0
0
0
0
2
3
0
-3
6
0
10
44
-10
-7
0
0
0
0
0
0
0
0
0
0
0
-4
-5
4
-32
-13
-12
0
0
0
0
0
0
0
0
-1
0
1
4
-10
-4
-23
8
2
0
0
0
0
0
0
0
0
4
0
0
-2
7
16
-7
0
2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
-5
-2
15
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
8
-7
5
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-42
17
0
54
-10
-2
5
8
-1
-25
-2
0
0
0
0
-8
-35
-34
20
46
13
11
1
-19
5
71
-20
-4
0
0
0
0
-12
-6
-41
4
123
60
-8
-24
8
-17
-1
37
-3
0
0
0
-1
7
1
-24
0
-10
-5
8
0
8
-4
-3
-5
12
0
0
0
0
0
3
-10
9
5
0
1
-9
4
-15
2
-23
0
0
0
0
0
0
0
-5
12
-9
8
-8
-2
-3
-14
-12
-7
1
0
0
0
0
0
0
2
2
-17
-8
-3
1
-1
-1
23
1
1
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-28
-16
0
64
-22
-29
46
-5
0
0
0
0
0
0
-2
-2
-7
-14
11
-1
18
53
-31
51
-9
7
0
0
0
0
0
0
-6
9
-42
6
36
-30
25
30
-49
-15
-2
-5
0
0
0
0
0
-15
-9
16
-69
-9
31
77
22
4
-3
-6
2
0
0
0
0
0
-1
14
-16
53
-75
27
-8
43
13
8
9
1
0
0
0
0
0
-5
-12
24
-20
-22
-88
9
-1
-7
-19
17
0
0
0
0
0
0
0
-6
-1
16
-31
11
-1
48
-31
-4
4
0
0
0
0
0
0
0
3
-5
31
7
114
-72
5
14
5
0
2
0
0
0
0
0
0
0
4
-34
-8
-50
-53
9
-2
0
0
0
0
0
0
0
1
-4
13
35
40
0
-21
10
-3
4
1
0
0
0
0
0
0
-4
-9
31
60
-39
-5
-25
-10
4
0
-1
0
0
0
0
0
0
5
-10
-27
-9
-21
-16
7
1
-3
0
0
0
0
0
0
0
-1
-4
-5
18
17
-48
-20
-20
8
0
-4
0
0
0
0
0
0
1
5
10
-23
31
-1
26
-3
12
0
0
0
0
0
0
0
0
-1
-2
20
2
-13
-17
-10
-19
5
0
1
0
0
0
0
0
0
1
-4
-20
-34
29
10
-28
-3
-1
0
0
1
0
0
0
0
0
0
-9
-1
12
-40
7
-45
35
-5
-2
0
0
0
0
0
0
0
0
0
23
13
-2
37
-45
27
0
0
0
0
0
0
0
0
0
2
-2
7
-3
14
26
0
-10
17
33
23
-1
0
0
0
0
0
-1
10
-5
-29
25
31
18
53
6
-8
-20
0
0
0
0
0
0
1
-4
3
13
16
48
-4
5
-9
3
39
-6
0
0
0
0
0
0
1
-15
3
-42
15
-19
-5
5
-12
-10
3
0
0
0
0
0
-1
-1
-5
-23
-8
-5
16
3
-5
-6
4
0
0
0
0
0
0
0
-3
-5
3
-13
5
-31
25
-10
2
0
0
0
0
0
0
0
0
0
8
-9
1
-4
1
-3
-1
12
8
3
0
0
0
0
0
0
2
-7
-4
4
24
16
-9
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
3
25
3
0
111
48
9
2
0
-13
5
0
0
0
0
0
2
2
-7
-19
-50
67
-62
32
-5
-4
-35
-25
-8
0
0
0
0
-2
8
22
29
-27
34
25
15
-6
8
6
-25
3
0
0
0
0
0
4
-14
-13
-19
-34
-21
4
-9
8
18
13
4
0
0
0
0
0
-1
-13
-24
-8
-6
34
-13
-12
30
5
-9
9
0
0
0
0
0
-1
1
6
-7
-19
5
54
-21
-2
12
0
1
0
0
0
0
0
0
2
2
-13
-2
29
0
-2
8
0
-4
-3
0
0
0
0
0
0
0
3
-2
0
0
0
0
-6
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-8
2
0
1
-2
1
0
-2
-3
0
0
0
0
0
0
0
-1
-19
-9
-1
33
9
-8
13
-5
-1
23
-2
0
0
0
0
0
-7
-6
-5
-7
5
-3
-29
12
8
7
-8
-8
0
0
0
0
0
3
-25
6
9
-21
19
42
4
2
3
-13
16
0
0
0
0
0
0
-2
2
1
-5
-16
5
-2
1
5
5
-8
0
0
0
0
0
1
5
-9
-2
-2
-6
-2
1
-1
-3
8
0
0
0
0
0
0
0
0
19
9
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
1
-2
1
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
19
52
-21
0
0
0
0
0
0
0
0
0
0
1
-2
10
5
19
4
-2
0
0
0
0
0
0
0
0
0
0
0
1
9
1
18
0
18
0
0
0
0
0
0
0
0
0
0
0
-1
20
-4
-5
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-22
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
7
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
-1
-1
0
-1
-3
0
0
0
0
0
0
0
0
-1
0
0
0
3
-9
-2
-12
-1
0
0
0
0
0
0
0
0
0
-4
24
-1
0
-5
24
0
1
0
0
0
0
0
0
0
0
0
-13
-5
20
-8
0
1
1
-1
0
0
0
0
0
0
0
0
0
-6
14
-12
16
-8
-7
0
1
0
0
0
0
0
0
0
0
2
-13
0
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-2
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-5
17
-23
-17
1
0
0
0
0
0
0
-1
-7
0
0
-9
-41
10
-49
0
-4
7
0
0
0
0
0
0
-4
-8
13
1
-15
48
-41
-8
-8
-12
8
0
0
0
0
0
0
0
-2
-6
24
16
8
-42
-33
44
-13
14
0
0
0
0
-1
0
0
-1
2
-7
5
0
43
48
13
-3
-4
0
0
0
0
0
0
0
0
-5
25
33
-18
-42
5
27
-13
0
0
0
0
0
0
0
0
0
3
0
5
3
19
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-14
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-8
62
77
9
-23
1
0
0
0
0
0
-2
19
6
29
-36
-38
14
89
86
48
-12
4
0
0
0
0
0
4
6
23
-15
-44
-22
0
49
-13
21
-1
13
0
0
0
0
0
-3
-6
13
-4
-112
-21
37
-16
-20
11
6
-16
0
0
0
0
0
0
8
-10
-47
-3
13
10
26
22
-6
-31
10
0
0
0
0
0
-1
1
-9
4
6
7
-22
34
22
-16
20
3
0
0
0
0
0
0
-4
-5
-3
5
-58
-23
-74
42
-13
1
-1
0
0
0
0
0
0
1
10
-10
-28
59
49
1
1
78
1
0
0
0
0
0
0
0
0
-1
2
-17
3
41
5
-12
-41
0
0
0
0
0
0
0
0
0
0
0
0
8
9
-5
22
0
6
0
0
0
0
0
0
0
0
0
-2
-6
-13
-2
-25
-10
24
5
0
0
0
0
0
0
0
0
0
0
8
-8
35
-13
-20
-13
7
1
0
0
0
0
0
0
0
0
0
2
3
8
23
-14
18
7
0
0
0
0
0
0
0
0
-1
0
0
5
7
4
-3
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
-6
3
0
0
0
0
0
0
0
0
0
-1
0
1
-2
20
-1
4
6
1
0
0
0
0
0
0
0
0
0
5
9
-5
-3
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
-8
16
-25
-14
36
28
3
0
0
0
0
0
0
0
0
-29
1
0
18
5
46
51
-26
-13
0
0
0
0
0
0
0
1
-4
15
71
14
71
8
3
23
10
0
0
0
0
0
0
0
0
-5
8
-3
17
25
-13
23
35
48
0
0
0
0
0
0
0
0
-1
-9
2
-31
14
15
-13
18
13
0
0
0
0
0
0
0
0
1
-3
8
-5
-6
1
-6
-39
31
0
0
0
0
0
0
0
0
1
0
3
-5
-22
-1
-2
-5
-8
0
0
0
0
0
0
0
0
-1
0
0
3
6
-8
-9
-17
-13
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
-3
5
-14
5
0
0
0
0
0
1
-1
-1
0
-10
0
6
39
51
-6
3
-1
1
0
0
0
0
1
0
5
1
-21
20
1
4
26
39
28
30
-7
0
0
0
0
0
0
-2
5
21
-5
-18
-32
-13
-16
-41
63
1
0
0
0
0
0
0
3
-5
13
13
-16
3
5
10
19
10
0
0
0
0
0
0
0
0
0
-12
2
19
16
3
-51
-22
-16
0
0
0
0
0
0
0
0
1
-4
-1
5
10
4
-7
25
-2
0
0
0
0
0
0
0
0
0
0
-1
4
-4
3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
13
-4
14
0
0
0
0
0
0
0
0
0
-1
0
-16
-25
23
5
19
1
-1
0
0
0
0
0
0
-1
0
-3
-16
20
5
-1
-39
8
17
6
0
0
0
0
0
0
0
0
0
1
-2
9
-6
49
17
-12
0
0
0
0
0
0
0
0
-3
-2
7
-13
66
20
8
-9
7
0
0
0
0
0
0
0
0
0
1
0
0
-6
42
-41
16
-25
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
2
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
-14
-2
2
-7
-4
0
0
0
0
0
0
0
0
0
13
5
-3
41
37
25
0
-4
0
0
0
0
0
0
0
0
0
1
0
-1
-61
5
-1
-21
-16
0
0
0
0
0
0
0
0
0
0
0
2
24
24
35
-31
12
0
0
0
0
0
0
0
0
0
0
2
5
-7
-1
30
-22
5
0
0
0
0
0
0
0
0
0
0
0
13
-25
-14
-4
-4
4
0
0
0
0
0
0
0
0
0
0
-1
5
1
-23
21
6
2
0
0
0
0
0
0
0
0
0
0
0
1
4
-27
-18
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
51
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-10
-8
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-9
-14
0
0
0
0
0
0
0
0
0
-1
0
0
1
10
47
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-13
35
10
-1
0
0
0
0
0
0
0
0
0
0
0
-1
14
27
-41
-13
1
0
0
0
0
0
0
0
0
0
0
0
-2
8
-10
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-5
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
2
4
-12
27
-2
44
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
5
7
0
0
0
0
0
0
0
0
0
0
0
-1
-1
9
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-13
-2
-2
-3
-32
2
-1
0
0
0
0
0
0
0
0
0
-1
12
18
-9
-24
-3
0
2
0
0
0
0
0
0
0
0
0
-3
5
-1
8
-44
-4
25
1
0
0
0
0
0
0
0
0
0
0
6
19
-9
4
-17
4
-1
0
0
0
0
0
0
0
0
0
0
-5
-2
8
10
-31
16
2
0
0
0
0
0
0
0
0
1
0
3
8
-17
-13
-4
-16
0
0
0
0
0
0
0
0
0
0
0
32
0
4
7
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
3
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
28
10
14
-15
10
-3
-6
0
0
0
0
0
8
-4
-6
84
40
-44
-21
14
18
-32
5
4
0
0
0
0
0
1
5
-12
44
2
-29
-13
-15
9
-21
-18
2
0
0
0
0
0
-1
-12
12
1
8
28
-35
3
19
15
22
0
0
0
0
0
0
-2
-2
14
-13
-27
39
5
-6
7
13
-14
-4
0
0
0
0
0
0
0
20
-31
2
10
6
8
19
22
-13
0
0
0
0
0
0
0
0
-1
-1
0
-8
-1
0
-16
-8
3
0
0
0
0
0
0
0
0
0
0
-3
0
-1
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
-1
0
0
47
15
19
21
3
-5
3
0
0
0
0
-1
-5
12
-3
8
-34
6
-12
-12
13
-12
-5
0
0
0
0
0
0
3
3
31
10
49
13
-51
3
-13
71
-15
2
0
0
0
0
0
1
-21
-5
10
12
46
24
50
-8
-13
4
8
0
0
0
0
0
-1
1
-41
10
24
-11
-39
-49
52
20
-17
15
0
0
0
0
-1
0
2
-5
3
-9
-14
20
19
-45
17
25
1
0
0
0
0
0
0
0
-12
-11
54
-26
7
20
7
26
6
5
0
0
0
0
0
0
0
-13
-39
5
29
-28
9
-24
-5
7
-1
0
0
0
0
0
0
0
-2
1
15
14
5
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
4
1
1
3
0
0
0
0
0
0
0
3
1
5
13
0
14
-8
5
-14
-1
0
0
0
0
0
0
0
0
9
-2
8
10
-10
12
-17
-1
-6
0
0
0
0
0
0
0
1
2
-10
9
-7
-2
8
-9
0
0
0
0
0
0
0
0
0
0
1
-31
9
6
-4
3
0
1
0
0
0
0
0
0
0
0
0
1
1
8
0
3
-1
-6
0
0
0
0
0
0
0
0
0
0
5
-12
10
1
1
0
1
0
0
0
0
0
0
0
0
0
0
-4
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-24
-8
-8
-2
-1
0
0
0
0
0
0
-1
0
-23
4
31
52
24
14
-2
-8
-1
0
0
0
0
0
0
-2
-16
10
9
9
-8
-1
14
-56
-6
-2
0
0
0
0
0
0
0
5
0
13
-31
0
5
-41
-7
-5
1
0
0
0
0
0
0
1
0
-10
0
-6
33
2
3
-39
-7
-6
0
0
0
0
0
1
-2
2
6
-18
76
-73
-13
-5
-8
-2
0
0
0
0
0
0
0
2
-15
-3
-5
45
-16
-6
-21
14
-1
0
0
0
0
0
0
0
0
10
-20
15
-44
6
-6
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-27
-30
18
0
-17
-2
13
0
0
0
0
0
0
0
-18
11
7
-1
-2
-24
-32
11
20
-10
0
0
0
0
0
1
0
6
35
-42
-1
35
-26
-10
33
8
-3
0
0
0
0
0
0
1
-2
-23
-25
18
-23
25
-3
-2
14
32
0
0
0
0
4
1
4
-1
17
35
21
14
41
-25
-17
4
13
0
0
0
0
0
0
2
0
8
-9
-13
29
7
0
28
-17
2
0
0
0
0
0
0
0
0
6
7
-5
-3
5
-2
-8
-8
0
0
0
0
0
0
0
0
-1
-1
0
3
-1
1
-12
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
5
-8
-3
-7
5
0
0
0
0
0
0
2
-1
0
7
13
20
6
3
-2
5
37
0
0
0
0
0
0
0
1
-1
5
-13
13
-4
41
-7
-6
-30
-12
0
0
0
0
0
0
0
-5
0
15
39
-42
-8
-6
27
-14
6
0
0
0
0
0
0
-2
20
16
10
-21
17
5
-5
-8
8
1
0
0
0
0
0
0
1
0
3
-1
-17
-26
32
-7
-2
-8
0
0
0
0
0
0
0
0
1
-3
5
-25
3
1
-1
0
4
4
0
0
0
0
0
0
0
-1
2
-2
0
-8
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
2
4
1
-3
-2
0
0
-5
0
0
0
0
0
0
0
0
-1
3
3
0
0
-1
-2
-1
6
0
0
0
0
0
0
0
0
0
-4
0
0
5
-6
8
27
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-3
5
-12
-2
0
0
0
0
0
0
0
0
0
-4
0
0
6
-1
8
0
0
0
0
0
0
0
0
2
1
-3
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
1
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
7
1
0
0
0
0
0
0
0
-1
0
0
0
-1
6
0
9
10
2
-1
0
0
0
0
0
0
0
-2
-1
1
-1
1
8
-3
6
-12
0
0
0
0
0
0
0
0
1
0
-7
0
-1
4
0
0
5
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-5
25
-5
59
39
-8
-31
0
0
0
0
0
0
1
3
0
0
-19
-36
28
-1
55
35
13
0
0
0
0
0
0
0
3
1
-23
3
-15
-57
68
5
-23
65
0
0
0
0
0
-1
-1
0
0
-6
9
-8
3
-7
26
32
36
0
0
0
0
0
0
2
0
-2
-5
-8
-22
0
-13
-2
28
-10
0
0
0
0
0
0
0
-2
1
-3
0
-3
7
-12
26
5
-2
0
0
0
0
0
0
0
0
2
-3
-2
-20
49
-78
-17
25
6
0
0
0
0
0
0
0
0
0
0
-1
-2
8
1
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
42
70
84
-9
39
-1
-6
0
0
0
0
0
0
0
-3
-13
-16
14
-7
13
1
32
-16
22
0
0
0
0
0
0
0
-2
9
-5
12
42
6
25
38
25
29
0
0
0
0
0
-1
0
2
-35
-17
4
24
34
3
22
-77
-26
0
0
0
0
0
0
2
4
-8
7
17
-59
37
21
-98
-72
51
0
0
0
0
0
0
0
-1
-5
-47
-16
9
41
22
11
22
-32
0
0
0
0
0
0
0
0
-8
-6
-14
34
25
54
46
31
13
0
0
0
0
0
0
0
0
5
5
-4
19
20
2
10
8
-2
0
0
0
0
0
0
0
0
1
8
7
-21
-4
49
22
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-19
57
4
34
59
0
0
0
0
0
0
0
0
0
10
18
-1
8
5
-15
-68
2
0
0
0
0
0
0
0
0
0
-5
-4
-2
-11
16
6
5
27
0
0
0
0
0
0
0
0
0
-10
-2
10
-6
-38
24
-26
36
0
0
0
0
0
0
0
0
0
7
2
16
-40
6
3
-7
-33
0
0
0
0
0
0
0
0
0
3
4
-9
0
-42
67
-53
44
0
0
0
0
0
0
0
0
0
-4
0
-23
-26
4
-17
-3
21
0
0
0
0
0
0
0
0
0
-5
-2
-8
-8
-5
31
48
-17
0
0
0
0
0
0
0
0
3
4
-2
-56
-1
-41
35
5
-11
0
0
0
0
0
0
0
0
0
1
8
23
-76
10
12
12
-2
0
0
0
0
0
0
0
0
0
12
0
-11
-9
-34
61
-9
5
0
0
0
0
0
0
0
-1
2
14
29
7
-8
70
40
1
-34
0
0
0
0
0
0
0
0
0
5
47
-49
46
-37
49
9
4
0
0
0
0
0
0
0
-1
3
10
-68
49
23
-46
-38
-41
35
0
0
0
0
0
0
0
0
1
7
16
-2
-4
-6
13
-20
-44
0
0
0
0
0
0
0
0
1
-4
43
17
-4
-5
-45
-49
-18
0
0
0
0
0
0
0
0
0
-5
16
13
-37
40
-46
10
24
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
-45
-3
58
-23
-41
0
0
0
0
0
0
1
0
5
0
20
87
-18
-3
58
9
31
0
0
0
0
0
0
0
-3
18
-54
8
-19
-11
5
103
4
-12
0
0
0
0
0
0
0
1
2
1
18
29
0
5
-58
-33
-6
0
0
0
0
0
0
0
0
4
1
9
19
2
13
-8
26
-21
0
0
0
0
0
0
0
-2
1
-9
-10
-9
22
-25
-8
69
0
0
0
0
0
0
0
0
0
-1
7
18
5
33
3
-17
16
2
0
0
0
0
0
0
0
1
0
0
8
2
4
2
-5
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-3
-25
-4
3
2
0
0
0
0
0
0
0
0
0
0
10
-8
3
-13
-13
-20
-8
0
0
0
0
0
0
0
0
0
1
6
3
0
7
-5
22
-9
0
0
0
0
0
0
0
0
0
-1
16
33
10
-18
25
3
13
0
0
0
0
0
0
0
0
0
-2
0
-8
-25
0
19
-23
0
0
0
0
0
0
0
0
0
0
0
4
6
-8
4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
3
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-20
5
-46
-29
1
6
0
0
0
0
0
0
0
0
0
-8
-13
-3
2
-6
-7
-75
13
0
0
0
0
0
0
0
0
1
0
9
12
-8
-37
25
-16
3
0
0
0
0
0
0
0
0
0
0
-5
-5
51
-45
-30
9
-41
0
0
0
0
0
0
0
0
0
0
8
-29
-17
39
58
7
-4
0
0
0
0
0
0
0
0
0
0
0
12
0
25
5
7
-31
0
0
0
0
0
0
0
0
0
0
0
-3
-9
17
7
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
7
25
20
14
18
0
0
0
0
0
0
0
0
0
0
0
0
3
3
13
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-5
8
5
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-12
-22
30
3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-5
20
-12
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
31
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
25
-3
7
-3
0
0
0
0
0
0
0
0
0
-1
0
-7
-27
-46
-8
-18
20
0
0
0
0
0
0
0
0
0
0
0
16
-3
-1
42
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-19
-10
-12
-10
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
-15
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
9
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
30
8
3
1
0
0
0
0
0
0
0
0
0
1
3
0
8
2
-21
2
-5
0
0
0
0
0
0
0
0
0
0
-2
8
6
19
-3
-41
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-25
4
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
6
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
3
-2
-1
32
-15
0
0
0
0
0
0
0
0
0
0
8
8
19
14
40
-43
-10
0
0
0
0
0
0
0
0
0
0
0
-19
-9
68
-4
-3
-5
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
-9
-3
15
19
0
0
0
0
0
0
0
0
0
0
2
8
-13
-20
4
4
24
0
0
0
0
0
0
0
0
0
-1
2
-1
-5
17
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
10
1
-3
3
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
-19
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-9
-8
0
0
0
0
0
0
0
0
0
0
0
-2
1
6
27
-3
-12
0
0
0
0
0
0
0
0
0
0
0
-1
-1
14
-15
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
7
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
2
-30
33
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-16
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
39
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
10
-9
5
2
-9
7
-9
-5
0
0
0
0
-1
2
0
37
26
8
-7
-3
29
3
-22
64
-7
0
0
0
0
0
-1
-3
4
0
24
25
2
-8
7
12
-46
18
0
0
0
0
0
0
0
10
2
9
8
2
19
-9
-25
31
-15
0
0
0
0
0
0
0
3
0
4
-2
52
19
12
15
0
-15
0
0
0
0
0
0
1
0
-1
1
1
-3
8
-8
-37
15
0
0
0
0
0
0
0
0
-3
7
1
0
-1
-4
5
2
13
-3
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
-6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
4
0
-41
26
-45
49
-5
33
-4
0
0
0
0
0
3
0
1
-5
30
58
-51
22
-22
37
53
16
0
0
0
0
0
0
0
-14
4
15
-15
-2
57
6
-15
13
8
0
0
0
0
0
0
0
2
1
-46
29
54
41
-31
-32
-5
-8
0
0
0
0
0
0
0
0
-7
-12
3
31
-14
-18
-23
21
5
0
0
0
0
0
0
0
-4
19
-13
-3
-6
-2
22
-18
-25
-6
0
0
0
0
0
0
1
1
-1
3
27
5
-37
-56
-19
-7
4
0
0
0
0
0
0
0
0
-5
-8
18
13
-50
23
4
8
3
0
0
0
0
0
0
0
0
-1
17
-21
-22
8
-3
0
0
0
0
0
0
0
0
0
-1
0
-8
0
-24
1
-3
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
-1
8
14
2
1
-1
0
0
0
0
0
0
0
0
-7
0
-7
-2
-16
0
-9
6
0
0
0
0
0
0
0
0
1
-1
9
0
2
4
0
-5
-2
0
0
0
0
0
0
0
0
0
0
1
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
7
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
7
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
1
4
17
-3
0
0
0
0
0
0
0
0
0
0
1
5
4
-20
-10
-31
21
22
-1
0
0
0
0
0
0
0
0
3
-1
-6
5
1
-8
0
13
0
0
0
0
0
0
0
0
0
-1
3
0
-12
19
0
-23
-13
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-1
7
-8
-3
0
0
0
0
0
0
0
0
0
-1
3
-7
4
-5
5
16
-2
0
0
0
0
0
0
0
0
0
-2
-3
-7
0
-7
2
1
0
0
0
0
0
0
0
0
0
0
-4
-8
-4
-2
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
-4
3
-3
8
21
-20
10
0
0
0
0
0
0
-1
-8
-6
-2
-13
14
-29
-28
0
69
-8
0
0
0
0
0
0
-1
-6
-5
35
13
-5
1
-5
-5
4
18
0
0
0
0
0
0
0
0
5
30
30
5
31
-7
-71
4
-35
0
0
0
0
0
-1
0
0
7
-4
-12
-8
-13
18
-1
-19
15
0
0
0
0
0
0
0
0
0
-1
-23
-24
1
22
-16
-3
32
0
0
0
0
0
0
0
0
-1
-3
2
1
2
-7
3
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
4
0
1
0
-7
-3
4
18
0
0
0
0
0
0
0
0
0
-3
8
-2
24
4
-6
-8
-10
0
0
0
0
0
0
0
0
0
1
-4
-8
-25
-17
14
17
8
0
0
0
0
0
0
0
0
0
0
-2
8
14
-1
17
8
-6
0
0
0
0
0
0
0
0
0
-3
-2
5
20
5
0
10
16
0
0
0
0
0
0
0
0
0
0
2
-1
5
10
-8
-13
19
0
0
0
0
0
0
0
0
0
0
1
-4
7
0
1
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
-12
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
-5
10
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-10
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
19
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-61
-13
-16
-8
0
0
0
0
0
0
0
0
0
0
0
-19
-24
46
-22
-8
8
0
1
1
0
0
0
0
0
0
0
0
-3
-86
-1
-27
-7
1
0
0
0
0
0
0
0
0
0
0
0
26
45
-82
-16
-1
-5
0
0
0
0
0
0
0
0
0
0
0
56
-10
1
141
41
-1
0
0
0
0
0
0
0
0
0
0
0
-95
-3
-46
-8
-19
4
0
0
0
0
0
0
0
0
0
0
0
30
58
47
-30
-24
-3
0
0
0
0
0
0
0
0
0
0
0
-87
-116
-22
-43
-12
0
0
0
0
0
0
0
0
0
0
0
0
21
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-81
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-12
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
23
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
-3
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-45
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
55
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
13
44
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-42
62
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
31
-125
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-30
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
10
4
1
0
0
0
0
0
0
0
0
0
0
0
0
3
24
-47
-33
18
12
-1
0
0
0
0
0
0
0
0
0
0
-1
5
0
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-34
4
37
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-50
-5
44
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
-13
-10
2
14
-4
0
0
0
0
0
0
0
0
0
0
0
-39
42
-25
46
6
-14
-2
0
0
0
0
0
0
0
0
0
-5
-21
-2
42
-22
5
46
4
9
0
0
0
0
0
0
0
0
-12
-34
16
-13
12
14
0
-18
0
0
0
0
0
0
0
0
0
7
-25
-22
-7
-12
0
-6
0
0
0
0
0
0
0
0
0
0
-9
-42
7
15
4
0
0
0
0
0
0
0
0
0
0
0
0
-15
23
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-14
2
0
1
3
-2
0
0
0
0
0
0
0
0
0
-7
-4
30
-1
0
25
5
7
0
0
0
0
0
0
0
0
0
-1
-5
42
-9
0
-4
14
-2
-15
0
0
0
0
0
0
0
0
18
10
-6
71
0
3
0
2
-14
5
0
0
0
0
0
0
0
-23
50
6
-59
-1
0
-22
22
-3
0
0
0
0
0
0
0
0
9
-25
50
-93
-14
3
14
5
0
0
0
0
0
0
0
0
0
-5
17
-8
42
-44
-6
1
5
0
0
0
0
0
0
0
0
0
-8
21
-5
17
0
1
0
0
0
0
0
0
0
0
0
0
0
-17
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
29
5
43
66
-31
0
-13
-14
0
0
0
0
0
0
0
-19
-8
-12
-30
90
-20
-9
-12
19
19
0
0
0
0
0
0
-7
10
-14
-2
50
81
73
57
41
31
-26
25
0
0
0
0
0
-14
-17
-34
17
12
30
66
136
-21
58
8
-2
0
0
0
0
0
2
13
7
-13
87
109
150
113
97
36
0
1
0
0
0
0
0
-9
-6
-20
16
-10
-8
88
122
33
-4
1
0
0
0
0
0
0
1
3
13
0
46
53
-16
41
-8
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
-19
23
-24
-12
0
-33
-1
0
0
0
0
0
0
0
43
-98
-14
-57
-15
-10
-25
22
24
28
0
-3
0
0
0
0
0
39
8
17
-16
-16
1
-3
35
139
20
0
-2
1
0
0
0
0
28
-71
-45
8
-18
-40
-2
-6
23
-2
3
0
1
0
0
0
0
99
-18
-83
-17
-5
-12
-33
65
87
41
7
2
0
0
0
0
0
-7
-26
58
-37
-15
22
-4
61
59
8
0
0
1
0
0
0
0
-2
40
-83
-40
13
-4
-19
-22
-30
1
1
-1
0
0
0
0
0
46
13
24
11
23
17
58
-41
-8
-1
1
-1
0
0
0
0
0
0
13
-9
-2
-57
96
7
25
0
0
0
0
0
0
0
0
0
0
9
-3
-32
-6
12
16
0
1
-5
1
0
0
0
0
0
0
3
15
-20
6
5
-17
-50
42
-13
5
0
0
0
0
0
0
0
0
-21
15
41
51
8
5
-13
30
1
2
0
0
0
0
0
0
4
0
9
-26
77
-5
45
-28
43
0
0
0
0
0
0
0
0
0
8
49
13
44
12
15
112
-6
0
0
0
0
0
0
0
0
0
-1
75
25
24
102
-102
18
8
0
0
0
0
0
0
0
0
0
-3
-51
33
16
103
-22
21
0
0
0
0
0
0
0
0
0
0
0
-4
-4
46
64
81
54
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-9
44
0
8
0
0
0
0
0
0
0
0
0
7
41
-44
87
38
20
0
42
1
-2
0
0
0
0
0
0
0
36
-2
-60
31
-36
5
26
75
4
-5
0
0
0
0
0
0
0
-81
-9
72
59
-40
18
-42
63
22
1
0
0
0
0
0
0
0
16
125
152
23
9
103
24
95
32
0
0
0
0
0
0
0
0
19
66
-39
-28
6
22
65
17
0
0
0
0
0
0
0
0
0
-3
14
45
-25
31
23
64
35
0
0
0
0
0
0
0
0
0
5
-31
-10
39
36
183
7
-56
0
0
0
0
0
0
0
0
0
0
5
33
-12
-6
103
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
30
-43
-8
76
35
57
4
17
0
50
2
0
0
0
0
0
0
-13
0
-35
-125
-49
30
0
1
-25
142
83
0
0
0
0
0
0
-1
27
-27
58
44
-6
19
-8
38
27
-25
-1
0
0
0
0
0
-30
19
-18
69
-34
1
5
-6
86
41
15
0
0
0
0
0
0
1
7
-54
-18
46
-6
28
13
131
15
0
0
0
0
0
0
0
0
-22
29
93
4
-30
25
36
-34
0
0
0
0
0
0
0
0
0
-31
-31
66
26
-74
-30
50
0
0
0
0
0
0
0
0
0
0
-16
1
-8
0
9
-3
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
-6
12
-40
14
130
0
3
0
0
0
0
0
0
0
0
25
24
27
59
32
36
-1
-82
56
-13
0
0
0
0
0
0
0
-6
33
29
44
74
0
13
-37
-3
0
0
0
0
0
0
0
0
0
8
39
8
8
7
-64
41
-2
0
0
0
0
0
0
0
0
3
5
0
-24
-67
-21
33
-32
0
0
0
0
0
0
0
0
0
3
17
-58
-4
-13
22
58
1
0
0
0
0
0
0
0
0
0
-2
19
5
-9
0
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
4
7
-3
22
72
0
13
2
0
0
0
0
0
0
1
4
3
8
62
30
75
1
-19
79
-4
0
0
0
0
0
0
1
0
3
55
99
21
77
23
12
23
-42
1
0
0
0
0
0
-3
4
3
157
81
18
112
36
40
-19
1
0
0
0
0
0
0
1
-14
-3
75
39
106
45
86
-39
-116
-31
0
0
0
0
0
0
0
-13
22
52
39
25
35
64
-70
-15
5
0
0
0
0
0
0
0
3
16
0
95
68
-59
31
46
-33
8
0
0
0
0
0
0
0
-15
0
15
-35
-30
-5
14
32
-3
0
0
0
0
0
0
0
0
0
0
0
0
-23
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
41
23
-30
16
0
0
0
0
0
0
0
0
0
0
0
59
54
30
97
55
-5
0
0
0
0
0
0
0
0
0
0
0
7
103
53
40
-7
-8
0
0
0
0
0
0
0
0
0
0
0
9
88
32
-27
34
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
26
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
44
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
1
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-19
9
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
42
43
-19
-2
0
0
0
0
0
0
0
0
0
0
0
1
25
-42
50
13
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
58
27
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
19
97
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
13
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
10
19
42
22
-5
0
0
0
0
0
0
0
0
0
0
0
3
52
58
93
-34
33
0
0
0
0
0
0
0
0
0
0
0
1
0
35
64
-43
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
27
-15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
29
18
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-37
4
5
29
0
0
0
-2
0
0
0
0
0
0
0
0
5
46
12
89
-32
20
-7
-42
0
0
0
0
0
0
0
0
-2
6
18
-34
58
18
46
42
8
0
0
0
0
0
0
0
0
0
-2
9
47
27
118
-10
-13
-1
0
0
0
0
0
0
0
0
0
0
-12
-32
48
2
-7
-5
-13
0
0
0
0
0
0
0
0
0
0
0
-25
1
-5
-16
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-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
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
3
2
-1
0
0
0
0
2
-2
0
0
0
0
0
0
0
-33
-7
-13
24
39
-2
-14
4
0
-1
0
0
0
0
0
0
44
1
-2
13
45
10
41
-6
-43
-9
0
0
0
0
0
0
0
0
5
-31
48
-14
42
-15
-13
31
0
0
0
0
0
0
0
0
50
-17
64
-18
25
8
-39
-47
1
0
0
0
0
0
0
0
1
6
66
0
-9
-42
49
1
-16
1
0
0
0
0
0
0
0
0
5
1
1
5
-6
3
27
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
2
-3
12
10
-32
0
0
0
0
0
0
0
0
0
0
0
0
41
12
3
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
8
0
21
49
-10
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
24
-15
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
30
-67
19
-2
0
0
0
0
0
0
0
0
0
0
0
-26
-11
-22
-1
-58
-6
0
0
0
0
0
0
0
0
0
0
0
59
11
5
32
9
17
7
0
0
0
0
0
0
0
0
0
0
0
11
-78
-93
-31
2
0
4
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-2
-29
-50
6
58
42
0
0
0
2
0
0
0
0
0
0
-32
-35
-37
-34
-5
50
86
0
0
-20
-1
0
0
0
0
0
0
-11
-16
-7
-19
15
-38
-37
35
-5
-24
-2
0
0
0
0
0
0
-20
-3
-35
-66
-2
174
27
34
54
-20
-4
0
0
0
0
0
0
34
-11
-30
-36
5
6
110
28
22
5
0
0
0
0
0
0
0
-49
-46
-51
-28
-8
-18
-3
-25
42
0
0
0
0
0
0
0
0
-125
-26
40
-72
-27
0
-25
-16
2
1
0
0
0
0
0
0
0
0
-37
-26
-4
-15
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
33
-1
10
10
38
-21
0
0
-1
0
0
0
0
0
0
0
-71
-71
-7
2
-8
36
31
-97
-20
-4
-1
0
0
0
0
0
0
-12
-30
2
-2
-8
18
72
-5
-39
2
-1
0
0
0
0
0
0
-20
-76
-3
-14
7
52
-19
58
-49
-9
5
1
0
0
0
0
0
41
-41
-19
-47
-14
-7
27
-11
-72
7
2
0
0
0
0
0
0
-44
-23
-44
-17
2
-20
27
21
182
9
0
0
0
0
0
0
0
-45
16
-30
-14
-2
-13
17
38
-13
-5
0
0
1
0
0
0
0
-2
-3
-35
0
1
1
-1
-29
-8
-2
0
-3
0
0
0
0
0
0
0
0
-71
33
-43
4
29
0
0
0
0
0
0
0
0
0
29
79
-83
23
-164
2
-58
0
0
0
0
0
0
0
0
0
0
43
10
6
-46
4
30
-24
1
0
0
0
0
0
0
0
0
0
14
2
-36
-55
10
24
54
-1
0
0
0
0
0
0
0
0
0
32
-2
15
-19
5
-14
-13
-7
0
0
0
0
0
0
0
0
0
2
18
66
60
22
-15
34
1
0
0
0
0
0
0
0
0
0
-6
5
-5
-20
-50
-41
14
-2
0
0
0
0
0
0
0
0
0
-6
-21
-17
-63
51
-25
3
-6
0
0
0
0
0
0
0
0
0
-47
-6
-8
-55
8
58
-14
0
0
0
0
0
0
0
0
0
0
-14
-47
89
-29
35
19
1
1
0
0
0
0
0
0
0
0
0
49
8
10
20
-9
-4
-43
2
0
0
0
0
0
0
0
0
0
23
-58
11
0
4
66
0
-24
1
0
0
0
0
0
0
0
0
-34
-25
21
2
34
54
-89
-20
0
0
0
0
0
0
0
0
0
18
-14
-14
-16
-33
-21
64
-53
13
0
0
0
0
0
0
0
0
52
12
-14
11
9
23
140
29
-1
0
0
0
0
0
0
0
0
-7
27
-61
6
-25
-22
78
59
0
0
0
0
0
0
0
0
0
-41
4
-37
-67
54
5
9
-6
0
0
0
0
0
0
0
0
0
-1
72
22
37
-24
16
0
0
0
0
0
0
0
0
0
0
0
0
0
88
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
7
3
-4
27
28
0
0
6
-2
0
0
0
0
0
0
45
5
-3
1
12
-15
46
0
-25
0
-5
0
0
0
0
0
0
-21
20
14
14
16
31
59
35
-34
11
-4
-3
0
0
0
0
0
8
13
1
1
12
59
96
77
-9
-15
1
0
0
0
0
0
0
1
-5
6
12
29
-16
83
47
-10
4
0
0
0
0
0
0
0
-15
-8
0
2
25
-40
102
-60
6
8
-2
0
0
0
0
0
0
-92
-27
-10
-17
-58
-8
10
20
-13
0
0
0
0
0
0
0
0
0
-24
-1
23
27
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-48
-14
43
-6
-33
0
0
0
0
0
0
0
0
0
0
17
-28
-43
-24
20
18
-19
0
-6
0
-3
0
0
0
0
0
0
0
-44
-87
36
41
34
45
41
-16
52
0
0
0
0
0
0
0
3
18
-29
-13
15
30
44
-13
31
5
4
0
0
0
0
0
0
-12
69
-40
45
-26
100
64
4
37
-3
0
0
0
0
0
0
0
0
59
-13
-5
31
85
20
15
-1
-3
0
0
0
0
0
0
0
5
72
-3
42
77
68
8
0
-3
0
0
0
0
0
0
0
0
0
52
92
15
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
10
-12
-12
31
8
-3
0
0
0
0
0
0
0
0
0
0
11
5
6
-8
-46
-13
-91
-1
0
-1
1
0
0
0
0
0
0
5
27
27
-14
-32
25
63
2
0
-25
0
0
0
0
0
0
0
55
37
42
-2
38
-31
-51
1
19
3
0
0
0
0
0
0
0
31
21
16
-5
-10
20
90
0
6
27
0
0
0
0
0
0
0
8
17
3
-30
-43
18
83
18
-22
-23
0
0
0
0
0
0
0
30
22
2
-23
-4
21
0
-3
-13
0
0
0
0
0
0
0
0
-18
-5
-5
24
-57
31
0
0
-1
0
0
0
0
0
0
0
0
28
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
66
-45
4
-1
0
0
0
0
0
0
0
0
0
0
0
-44
-71
26
-26
-9
1
-1
0
-1
-1
0
0
0
0
0
0
0
34
10
-45
-56
-4
1
0
0
0
3
0
0
0
0
0
0
0
6
41
50
69
56
0
-2
0
0
0
0
0
0
0
0
0
0
2
30
42
-4
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-46
-101
-61
-75
-6
7
0
0
0
0
0
0
0
0
0
0
0
2
12
-55
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
122
-51
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
-48
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-15
-9
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
22
-74
44
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
66
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
34
-49
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
5
40
1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-16
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-13
80
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
18
-68
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
-3
-9
12
10
0
0
0
0
0
0
0
0
0
-16
5
10
31
-2
46
67
2
-2
0
0
0
0
0
0
0
0
6
0
-1
27
23
-6
-8
5
0
0
0
0
0
0
0
0
0
0
2
-13
-6
24
48
22
9
0
0
0
0
0
0
0
0
0
0
2
-13
25
-13
-8
13
2
0
0
0
0
0
0
0
0
0
0
7
0
-6
-30
5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
-5
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
2
-5
-7
-23
-8
-2
-8
1
0
0
0
0
0
0
0
0
0
-6
-27
2
5
5
-25
-20
-1
2
0
0
0
0
0
0
0
0
14
-2
0
-6
12
-19
-16
1
3
0
0
0
0
0
0
0
0
-12
24
17
-5
14
-13
7
-6
5
0
0
0
0
0
0
0
0
41
-19
-13
2
2
1
-14
-9
0
0
0
0
0
0
0
0
0
1
-6
-15
27
5
2
-21
-93
-19
5
0
0
0
0
0
0
0
0
-1
-1
7
5
-6
5
0
2
1
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-17
40
31
-40
-33
0
17
9
-1
0
0
0
0
0
12
13
0
41
55
50
-43
-27
-82
-48
-1
-1
0
0
0
0
0
0
25
50
51
22
43
26
78
-77
66
2
0
0
0
0
0
0
0
15
-7
56
31
0
56
33
-1
-66
22
0
0
0
0
0
0
0
-8
8
47
-138
69
39
38
81
126
0
0
0
0
0
0
0
0
1
4
14
0
-6
-20
99
77
-9
7
0
0
0
0
0
0
0
0
3
0
-91
-1
23
99
43
-8
0
0
0
0
0
0
0
0
0
0
0
0
12
1
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
-37
-15
-11
-17
-30
0
12
-1
0
0
0
0
0
0
0
-75
79
62
-30
8
-10
-1
19
-61
3
0
0
0
0
0
0
0
75
34
-32
-13
-5
1
-8
-53
102
-3
7
0
0
0
0
0
0
-42
60
18
38
-4
-11
-15
-111
-32
-17
1
1
0
0
0
0
0
13
22
-46
22
-18
8
-21
11
-19
-7
22
-1
-1
0
0
0
0
-48
80
-68
-30
-7
-24
-22
22
120
0
-2
0
0
0
0
0
0
1
-45
18
-38
-20
2
-14
29
44
0
1
0
0
0
0
0
0
7
-10
-93
-75
-44
-38
-7
-12
88
8
0
0
0
0
0
0
0
0
0
2
-58
-53
-7
-3
-26
46
0
0
0
0
0
0
0
0
0
9
-4
29
-35
-4
52
0
30
-1
0
0
1
0
0
0
0
0
3
54
22
-37
-3
-24
-66
-13
-24
1
-2
0
0
0
0
0
0
-10
0
4
9
0
66
-30
39
5
27
1
0
0
0
0
0
0
-29
72
34
36
86
88
148
66
-5
3
0
0
0
0
0
0
0
25
6
103
51
8
49
-14
53
-5
1
0
0
0
0
0
0
0
0
48
85
20
25
89
6
0
38
-8
0
0
0
0
0
0
0
1
1
-23
-30
10
-1
-19
-23
21
-5
0
0
0
0
0
0
0
0
-9
-14
79
-87
51
36
19
28
7
0
0
0
0
0
0
0
0
0
-67
51
44
33
-69
23
23
-5
-1
0
0
0
0
0
0
3
10
108
-13
-31
-20
0
28
-22
5
0
0
0
0
0
0
0
8
10
-85
42
-11
-22
-51
-33
-27
1
-1
0
0
0
0
0
0
13
-15
-49
-16
8
15
19
-23
3
-4
0
0
0
0
0
0
0
14
-36
-48
3
14
11
19
-2
8
0
0
0
0
0
0
0
0
22
76
6
24
-6
22
-7
-62
-8
0
0
0
0
0
0
0
0
7
24
-84
131
27
5
23
40
22
-1
0
0
0
0
0
0
0
0
1
49
41
-24
35
68
-3
-56
1
0
0
0
0
0
0
0
0
7
16
53
-6
111
73
-31
1
-1
0
0
0
0
0
0
0
0
0
2
0
62
-13
5
0
0
0
0
0
0
0
0
0
-19
-9
-57
-93
-10
-40
-44
0
-49
16
0
0
0
0
0
0
-5
-24
-57
-31
24
-8
-21
24
-23
49
-32
-2
0
0
0
0
0
-8
41
-15
-28
-36
-10
4
-7
15
16
0
-2
0
0
0
0
0
2
15
-7
-59
87
39
23
-5
21
0
-2
0
0
0
0
0
0
-2
-7
1
-49
90
14
36
62
-72
1
0
0
0
0
0
0
0
0
-4
-2
8
33
7
13
26
37
41
2
0
0
0
0
0
0
0
0
0
-29
-72
41
-18
48
39
-3
0
0
0
0
0
0
0
0
0
0
-65
-1
44
5
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
17
125
-24
14
70
0
-40
0
0
0
0
0
0
0
5
2
-4
12
3
22
-42
-14
52
8
0
0
0
0
0
0
0
0
0
2
8
92
42
-6
18
1
1
0
0
0
0
0
0
0
0
0
-6
-10
-19
-21
-6
13
43
0
0
0
0
0
0
0
0
0
-3
0
-50
-20
-93
46
-43
-10
2
0
0
0
0
0
0
0
0
-10
0
59
-32
-18
12
-42
-42
-17
0
0
0
0
0
0
0
0
0
0
-9
-46
-65
56
-10
-111
-1
0
0
0
0
0
0
0
0
0
0
-5
-75
-150
13
-29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
17
46
51
18
0
-24
-4
0
0
0
0
0
0
-6
-1
-5
0
74
20
111
47
76
15
2
0
0
0
0
0
0
0
-1
3
24
156
70
59
102
-38
-19
1
0
0
0
0
0
0
0
42
2
82
116
13
138
-41
90
-43
-7
0
0
0
0
0
0
-2
-14
8
75
5
67
36
-42
32
-7
1
0
0
0
0
0
0
0
0
-1
-8
38
32
-5
40
-36
16
9
0
0
0
0
0
0
3
-3
0
0
47
-5
-14
79
-23
19
-12
3
0
0
0
0
0
0
0
0
-22
8
-62
-105
-24
-102
71
5
0
0
0
0
0
0
0
0
0
0
0
0
-23
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
-16
57
-33
6
0
1
0
0
0
0
0
0
0
0
0
0
9
63
11
157
-13
-4
0
0
0
0
0
0
0
0
0
0
0
1
54
15
81
22
0
-1
0
0
0
0
0
0
0
0
0
0
6
32
63
12
18
-1
-1
0
0
0
0
0
0
0
0
0
0
0
5
-11
182
-36
9
2
0
0
0
0
0
0
0
0
0
0
-1
-21
-5
-37
5
42
0
0
0
0
0
0
0
0
0
0
0
0
-34
-9
-46
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
10
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
8
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
12
-20
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
9
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
27
-45
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
72
-5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
63
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
31
38
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
46
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
48
-8
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
12
-8
50
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
7
58
-2
0
0
0
0
0
0
0
0
0
0
0
0
23
31
49
-10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-60
-47
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-33
14
31
2
1
0
0
0
0
0
0
0
0
0
0
0
-6
18
-57
-24
-2
-23
0
0
0
0
0
0
0
0
0
0
0
0
-16
14
-13
19
-16
25
6
3
0
0
0
0
0
0
0
0
0
-10
-20
-56
-41
-7
-2
19
-17
0
0
0
0
0
0
0
0
0
18
-1
-31
-5
-70
-9
76
-4
-1
1
0
0
0
0
0
0
-1
0
4
-6
-5
-16
12
27
-4
2
0
0
0
0
0
0
0
0
0
-4
-19
15
-39
-25
-49
-46
-3
0
0
0
0
0
0
0
0
0
0
0
48
-5
-42
13
-31
-7
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-17
-4
0
0
0
0
0
0
0
0
0
-2
0
-3
0
-4
0
0
0
0
-1
0
0
0
0
0
0
5
12
-1
19
-7
27
0
0
0
0
0
0
0
0
0
0
0
-25
23
-1
-1
-31
6
15
0
0
0
0
0
0
0
0
0
0
37
8
-44
63
-2
8
12
22
-1
1
0
0
0
0
0
0
0
-6
-13
-31
-72
-8
3
97
-3
38
0
0
0
0
0
0
0
0
33
6
-5
68
0
34
-22
84
93
-8
0
0
0
0
0
0
0
0
24
0
-15
14
-4
-58
-44
-46
8
0
0
0
0
0
0
0
0
0
0
0
-6
-13
-31
-34
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
17
-1
0
0
0
0
0
0
8
-2
14
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-11
4
22
48
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
12
25
-11
20
-2
0
0
0
0
0
0
0
0
0
0
0
-3
19
-21
-5
-21
0
0
0
0
0
0
0
0
0
0
0
0
26
-5
52
-43
-9
-1
0
0
0
0
0
0
0
0
0
0
0
23
6
23
27
-42
6
0
0
0
0
0
0
0
0
0
0
0
43
-50
-17
-44
-26
3
-1
0
0
0
0
0
0
0
0
0
0
0
-31
-6
-55
10
-15
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-36
-14
-34
23
53
99
0
0
0
-1
0
0
0
0
0
0
-43
-20
-2
-29
29
71
-91
0
0
3
2
1
0
0
0
0
0
8
-28
-23
11
5
54
38
76
3
-2
0
0
0
0
0
0
0
-48
-37
1
8
23
56
77
89
-21
1
8
0
0
0
0
0
0
29
-32
-36
27
21
-13
92
44
9
1
-1
0
0
0
0
0
0
-42
-59
-24
-2
13
36
5
-18
-2
13
0
0
0
0
0
0
0
6
22
11
22
42
-32
54
-8
-5
-1
0
0
0
0
0
0
0
0
4
0
-9
19
-52
-25
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
16
23
-4
-14
-3
-4
1
0
0
0
1
0
0
0
0
0
0
-46
14
20
-5
5
29
-2
124
8
1
3
0
0
0
0
0
0
-33
-50
-13
11
4
7
-13
55
49
-1
0
0
0
0
0
0
0
-52
-41
-5
3
22
16
23
38
-71
2
-2
0
0
0
0
0
0
-85
-59
3
9
11
1
43
-21
-43
-10
0
0
0
0
0
0
0
24
-10
-2
-2
-45
3
16
-43
47
-17
0
0
-3
0
0
0
0
30
61
-3
-2
-3
-3
54
52
49
-21
0
1
0
0
0
0
0
0
27
-13
-19
-5
24
49
6
18
-4
0
0
0
0
0
0
0
0
0
4
-43
10
79
3
7
0
0
0
0
0
0
0
0
0
-10
85
-43
-32
-23
120
83
0
0
0
0
0
0
0
0
0
0
13
32
-4
1
-24
-37
-64
1
8
0
0
0
0
0
0
0
0
25
-28
-59
46
44
-14
83
24
8
0
0
0
0
0
0
0
0
-3
62
-106
6
50
54
69
-6
-2
0
0
0
0
0
0
0
0
23
26
-13
11
-13
1
-42
0
0
0
0
0
0
0
0
0
0
0
-19
2
14
-108
22
-33
24
1
0
0
0
0
0
0
0
0
0
-1
-22
-99
-8
12
1
-1
-7
0
0
0
0
0
0
0
0
0
0
22
-47
37
-53
25
-17
1
0
0
0
0
0
0
0
0
0
8
-43
2
-44
8
1
0
0
0
0
0
0
0
0
0
0
19
-28
10
-18
53
93
39
-49
0
-2
0
0
0
0
0
0
0
-62
-31
6
-13
45
74
0
25
-5
0
0
0
0
0
0
0
0
-40
-98
11
-9
16
39
51
-8
1
0
0
0
0
0
0
0
0
-76
-55
-6
-7
15
68
35
-8
-5
0
0
0
0
0
0
0
0
-16
-4
-13
12
-22
38
-25
21
0
0
0
0
0
0
0
0
0
-13
31
-47
4
3
24
-96
-92
-1
0
0
0
0
0
0
0
0
25
-41
-12
-39
-44
41
-7
-13
0
-5
0
0
0
0
0
0
0
-66
5
28
-104
28
53
-13
14
0
0
0
0
0
0
0
0
0
0
0
-102
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
3
0
-9
-19
27
90
0
0
-7
1
0
0
0
0
0
0
19
6
29
10
12
38
47
0
-8
0
9
0
0
0
0
0
0
-7
-24
25
38
-1
35
16
67
-4
-4
0
0
0
0
0
0
0
0
-8
20
22
21
43
59
108
27
0
0
0
0
0
0
0
0
-15
7
-5
27
17
-8
114
49
7
24
0
0
0
0
0
0
0
3
-10
-31
4
7
27
-25
28
-73
5
0
0
0
0
0
0
0
-6
-40
16
64
2
-13
66
59
-44
10
1
0
0
0
0
0
0
0
-4
-3
32
25
40
-9
-37
0
-3
0
0
0
0
0
0
0
0
0
0
0
12
0
-6
0
0
0
0
0
0
0
0
0
0
0
12
6
13
25
0
-32
-1
0
-5
0
0
0
0
0
0
0
29
-5
-54
-6
-6
-54
-20
0
1
0
0
0
0
0
0
0
0
7
-23
-42
45
-47
-29
-41
2
-8
0
0
0
0
0
0
0
0
-4
-31
-41
-27
-8
-66
9
42
3
0
0
0
0
0
0
0
0
-10
-12
-8
16
-7
-95
-3
-10
-8
22
0
0
0
0
0
0
0
0
-42
75
-49
-75
-49
-5
0
-4
15
2
0
0
0
0
0
0
0
0
-27
59
9
-42
-42
0
-8
-27
0
0
0
0
0
0
0
0
0
0
-4
-15
-5
0
6
0
0
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
43
38
-72
-6
44
-125
0
0
0
0
0
0
0
0
0
0
-9
-5
-2
6
-10
3
40
5
0
0
0
0
0
0
0
0
0
29
-3
-2
55
21
-20
55
6
1
-4
0
0
0
0
0
0
0
0
34
16
6
29
69
-65
0
41
0
3
0
0
0
0
0
0
17
-15
8
10
31
-3
-7
-22
-14
-10
1
0
0
0
0
0
0
55
-34
3
13
-10
110
33
-31
22
8
0
0
0
0
0
0
0
6
5
2
-41
25
-74
26
-14
118
49
0
0
0
0
0
0
0
0
-32
22
-72
-89
33
16
20
17
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-50
-12
6
-1
-2
-1
0
-2
0
0
0
0
0
0
0
1
33
25
13
17
-2
0
0
1
-1
0
0
0
0
0
0
0
5
3
17
-48
19
1
0
0
0
0
0
0
0
0
0
0
0
1
-10
24
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-13
-26
-66
72
13
0
0
0
0
0
0
0
0
0
0
0
0
8
51
-7
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
29
-60
-19
-71
-24
0
0
0
0
0
0
0
0
0
0
0
0
8
72
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-21
17
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
2
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-55
15
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
21
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
-35
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
74
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-14
2
4
0
0
0
-3
0
0
0
0
0
0
0
-2
-5
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
42
8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
21
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-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
-8
0
0
5
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
4
3
-7
0
0
0
0
0
0
0
0
0
-2
1
1
0
0
-1
7
2
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
3
2
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
-1
-9
-10
0
0
2
1
0
0
0
0
0
0
0
0
0
-9
-30
17
4
1
-4
5
0
-17
0
0
0
0
0
0
0
0
0
14
12
-3
0
0
5
3
-7
-7
0
0
0
0
0
0
0
4
-31
17
0
0
-3
-6
1
-16
-3
0
0
0
0
0
0
0
-29
9
45
8
-3
1
0
5
-25
0
0
0
0
0
0
0
0
18
3
6
66
0
0
4
0
0
0
0
0
0
0
0
0
0
-41
-14
-5
-9
-7
-24
3
-2
0
0
0
0
0
0
0
0
0
1
57
-3
-42
14
0
0
0
0
0
0
0
0
0
0
0
0
-23
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
20
25
-62
-70
7
0
10
9
2
0
1
0
0
0
4
-7
17
0
22
9
52
76
-12
40
47
-3
1
0
0
0
0
0
7
-39
17
-5
-16
-30
12
-10
9
58
-3
4
1
0
0
0
0
-3
19
16
-15
69
119
-78
-46
-17
41
10
3
-3
0
0
0
0
0
17
-16
-8
80
49
14
63
111
-3
-1
0
0
0
0
0
0
12
-1
-9
73
111
93
85
24
5
1
0
0
0
0
0
0
0
-16
8
4
16
43
13
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
22
67
-11
33
17
0
24
-42
13
0
1
0
0
0
0
33
29
1
-42
-54
50
-5
41
19
6
-4
-17
-4
0
0
0
0
-18
-70
111
-57
50
33
11
-40
-38
-54
1
6
0
0
0
0
0
0
62
-49
-57
30
69
-52
5
61
-54
-1
46
1
0
0
0
0
-41
21
-38
-27
-1
-4
-33
24
46
-1
25
14
0
0
0
0
0
-5
-104
65
22
10
5
22
-6
-12
8
-12
0
2
1
0
0
0
13
-31
-36
123
-15
23
15
-10
-14
-16
-4
12
0
0
0
0
0
9
-80
-5
-47
26
-26
10
59
15
-1
-6
-4
0
0
0
0
0
0
-5
-5
-43
29
7
-12
34
15
0
0
2
0
0
0
0
0
0
0
0
-5
-18
-96
-50
0
-17
-8
0
0
0
0
0
0
0
0
0
7
-47
-22
-58
17
5
-44
7
1
0
2
0
0
0
0
0
-2
9
28
18
71
-67
-50
-8
8
0
0
0
0
0
0
0
0
-1
37
75
-13
-3
-37
69
60
-10
0
0
0
0
0
0
0
0
1
-1
23
-103
-21
37
-12
11
17
0
0
0
0
0
0
0
0
0
0
8
14
13
-34
166
-19
0
0
0
0
0
0
0
0
0
0
3
-18
16
29
-35
-2
-2
0
0
0
0
0
0
0
0
0
0
0
50
58
56
70
-27
9
0
0
0
0
0
0
0
0
0
0
0
-3
33
73
-5
-33
-1
0
0
0
0
0
0
0
0
0
0
-4
27
-9
-79
77
0
-16
8
0
0
0
0
0
0
0
0
0
-5
14
27
0
34
-108
-3
41
0
8
0
0
0
0
0
0
-2
13
25
-48
62
43
12
24
16
-1
0
0
-1
0
0
0
0
0
11
-46
102
-22
43
-28
120
9
-1
0
-1
0
0
0
0
0
2
5
63
118
-31
41
112
23
-1
3
0
-1
0
0
0
0
0
0
2
-3
-80
15
47
-62
-25
5
0
0
0
0
0
0
0
0
3
-3
7
7
109
-20
6
128
-35
0
1
0
0
0
0
0
0
0
0
102
-66
25
-4
57
2
-1
0
0
0
0
0
0
0
0
0
0
1
0
74
0
-2
0
0
0
0
0
0
0
0
0
0
22
22
-1
47
130
114
0
-35
-6
0
0
0
0
0
0
0
1
53
20
-40
-29
-5
4
17
-15
24
5
0
0
0
0
0
-1
-20
18
0
-84
-20
69
15
21
-1
-15
0
0
2
0
0
0
0
8
0
21
101
-27
60
-16
76
141
-5
-2
2
0
0
0
0
0
4
5
22
10
74
58
-3
-97
-24
0
1
0
0
0
0
0
0
-1
0
42
-83
-37
-5
83
34
0
0
0
0
0
0
0
0
-2
-1
-6
-20
106
58
100
16
0
2
0
0
0
0
0
0
0
0
0
0
2
0
16
4
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
16
-2
0
0
0
0
0
0
0
0
0
0
0
2
-5
12
-47
-16
-15
-15
0
0
0
0
0
0
0
0
0
0
0
-2
3
8
6
16
12
-4
0
0
0
0
0
0
0
0
0
-3
0
0
29
-13
69
4
-13
0
0
0
0
0
0
0
0
0
0
9
9
-3
57
13
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-30
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-13
5
0
-7
-1
0
0
0
0
0
0
0
0
0
1
9
41
70
-17
-31
84
-7
0
0
0
0
0
0
0
-1
0
13
5
45
79
-58
52
14
-6
-2
0
0
0
0
0
0
0
0
-5
55
111
22
42
71
-1
19
1
0
0
0
0
0
0
-12
-2
7
67
17
29
62
-28
-25
-6
0
0
0
0
0
0
0
1
0
13
10
25
48
40
24
18
21
0
0
0
0
0
0
0
4
-30
-25
77
-20
-8
40
71
-44
2
1
0
0
0
0
0
0
0
0
2
-58
-19
18
58
8
15
-2
0
0
0
0
0
0
0
0
0
0
-3
-12
5
-14
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
19
-4
5
-1
-1
0
0
0
0
0
0
0
0
0
5
49
-29
55
23
-17
0
-3
-3
0
0
0
0
0
0
0
0
2
26
53
58
-12
-5
-16
-8
0
0
0
0
0
0
0
0
0
131
51
18
-23
-4
-2
-2
-8
0
0
0
0
0
0
0
0
4
61
60
57
18
9
2
-1
-3
0
0
0
0
0
0
0
0
-1
60
29
32
50
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-20
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-36
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
32
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
8
-13
-8
3
1
0
-6
0
0
0
0
0
0
0
0
0
13
107
-11
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
6
84
23
23
2
-4
-2
0
2
0
0
0
0
0
0
0
0
-6
33
10
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
57
16
12
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
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
3
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-10
13
-43
20
0
0
0
0
0
0
0
0
0
0
0
0
6
9
63
-10
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
42
-5
0
0
0
0
0
0
0
0
0
0
0
0
-8
43
-59
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
25
-1
-8
1
0
0
0
-1
0
0
0
0
0
0
0
0
-1
1
-13
-1
0
1
2
-12
0
0
0
0
0
0
0
0
0
5
-8
0
4
8
8
-19
4
0
0
0
0
0
0
0
0
0
-13
0
0
12
13
21
-10
14
0
-5
0
0
0
0
0
0
0
6
1
0
-1
34
10
15
2
0
0
0
1
0
0
0
0
0
0
0
4
3
-8
13
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
-1
0
4
0
0
6
4
10
5
2
0
0
-2
0
0
0
0
0
2
-1
3
24
10
3
15
-14
2
0
0
0
1
0
0
-5
0
-16
-12
-2
49
-8
48
-17
-3
-1
0
0
0
0
0
0
0
-10
-6
-22
-16
1
6
51
78
15
0
0
0
0
0
0
0
-3
10
-1
-9
48
44
-9
0
-39
0
0
0
0
0
0
0
0
5
0
0
-3
-1
-43
30
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
3
24
16
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
8
-35
-29
0
0
0
0
0
0
0
0
0
0
0
0
29
-53
71
-11
9
0
0
0
0
0
0
0
0
0
0
0
0
136
-3
17
55
-7
0
0
0
0
0
0
0
0
0
0
0
0
-49
5
41
34
-16
-1
0
0
0
0
0
0
0
0
0
0
0
16
58
-9
-25
-46
-7
17
2
0
0
0
-1
-1
0
0
0
0
1
-53
41
24
-37
26
21
9
1
4
-2
0
-1
0
0
0
0
0
7
-10
50
-15
8
-2
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
31
10
97
48
-26
-29
-14
0
0
0
-9
1
0
0
0
0
0
-29
28
-44
-5
36
50
33
0
0
15
-18
9
-1
0
0
0
0
55
7
-2
-72
-5
102
120
16
32
42
12
3
0
0
0
0
0
-8
7
66
10
73
96
43
41
-66
-1
-3
4
-1
0
0
0
0
22
27
16
-37
60
49
45
107
24
14
-6
-9
-1
-2
0
0
0
-10
24
-36
-29
42
-19
21
-19
20
31
-3
3
-4
2
0
0
0
0
30
-18
4
-26
-43
16
7
8
-4
-6
-2
0
0
0
0
0
0
-3
-1
15
8
24
17
1
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-35
9
31
-14
31
58
0
0
4
1
0
0
0
0
0
0
-20
49
-4
24
44
41
76
-42
34
-13
-2
4
2
0
0
0
0
-10
71
5
30
-19
146
-40
30
8
5
-7
-3
-1
0
0
0
0
16
-69
41
32
0
-2
-31
74
24
-44
5
-25
-2
1
-1
0
0
69
-62
25
-28
17
-12
32
180
99
22
21
-10
2
0
0
0
0
8
17
-11
-39
-30
36
49
-12
-57
-23
43
6
4
0
0
0
0
30
47
-29
-21
-17
-63
15
42
-36
-19
-12
6
-3
0
0
0
0
0
-7
-50
-9
-33
-4
12
-29
-44
-9
4
0
0
0
0
0
0
0
0
-15
-23
7
-86
-1
-11
-8
4
-1
-2
0
0
0
0
0
-53
-19
-175
23
16
5
-5
0
0
0
0
0
0
0
0
0
0
4
-40
39
-110
99
-5
27
0
-3
0
0
0
0
0
0
0
0
32
-32
-36
64
79
9
9
14
1
0
0
0
0
0
0
0
0
-24
-61
-13
-82
-14
8
8
24
-1
0
0
0
0
0
0
0
0
-27
56
-49
63
1
49
44
-1
3
2
0
0
0
0
0
0
0
-68
22
-4
-31
-57
-14
7
-20
-10
0
-1
0
0
0
0
0
0
-2
7
-8
-11
-14
49
-30
-8
-6
0
0
0
0
0
0
0
0
10
56
16
-52
41
29
-19
-5
-1
0
1
1
0
0
0
0
0
-31
21
55
54
-15
4
-2
0
0
0
0
0
0
0
0
0
0
-45
-11
64
33
4
37
-49
34
0
0
0
0
0
0
0
0
0
-38
19
126
8
-54
123
0
5
2
0
0
0
0
0
0
0
0
50
39
-62
-20
57
-43
57
-43
0
0
0
0
0
0
0
0
0
-75
11
-75
39
-94
-89
106
16
-3
0
0
0
0
0
0
0
0
-18
27
47
-102
-9
2
-52
1
0
0
-1
-1
0
0
0
0
0
-35
81
-13
12
5
15
20
80
3
0
0
0
0
0
0
0
0
-48
-59
-9
-31
-11
58
51
-29
-4
0
-1
0
0
0
0
0
0
-17
-5
-9
-73
-20
-25
-1
-7
17
3
0
0
0
0
0
0
0
0
0
80
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-38
48
61
-14
-20
-12
0
0
7
-13
0
0
0
0
0
0
4
-12
43
4
34
28
-30
0
15
0
4
1
0
0
0
0
0
-53
11
33
30
93
59
-15
54
-8
-117
-8
-2
0
0
0
0
0
2
-23
36
11
-1
72
59
-8
59
-33
5
-1
0
0
0
0
0
8
6
33
-44
48
48
-43
72
-41
-41
1
0
-1
1
0
0
0
-1
-9
36
-33
-52
-5
-9
-40
19
-10
-23
-2
0
0
0
0
0
0
17
1
-94
-35
89
-32
63
3
-10
-3
0
0
0
0
0
0
0
0
2
41
7
13
31
-2
1
0
-3
0
0
0
0
0
0
0
0
-2
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
31
-18
3
1
0
0
0
0
0
0
0
0
0
0
1
-14
-19
42
18
-12
0
0
-2
0
14
0
0
0
0
0
0
7
1
63
25
33
10
2
0
-25
-27
-2
0
0
0
0
0
0
0
-19
47
2
5
-35
14
9
-30
7
0
0
0
0
0
0
0
0
46
-15
77
17
16
-20
9
16
-10
0
0
0
0
0
0
0
0
17
32
28
110
59
-5
-4
-7
-4
0
0
0
0
0
0
0
0
4
10
-53
79
-18
1
-7
-19
0
0
0
0
0
0
0
0
0
0
6
58
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-59
8
27
-74
4
3
0
0
0
0
0
0
0
0
0
0
-5
-13
-25
-57
31
20
0
0
0
-13
-15
0
0
0
0
0
0
22
22
45
17
58
-18
1
0
0
-9
0
0
0
0
0
0
0
44
-18
-60
54
-78
15
3
-5
-25
-14
8
0
0
0
0
0
0
13
-50
44
-18
22
17
-8
-7
-55
-23
0
0
0
0
0
0
0
34
5
-20
24
-33
3
-12
49
57
21
0
0
0
0
0
0
0
7
-4
-4
63
-2
37
-18
-13
28
17
0
0
0
0
0
0
0
-4
12
-32
-5
23
10
4
0
4
0
0
0
0
0
0
0
0
4
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-87
41
31
-12
-27
0
0
-8
0
0
0
0
0
0
0
0
-4
-55
-43
9
8
1
0
-2
-2
0
0
0
0
0
0
0
0
6
29
83
5
-7
0
0
-4
1
0
0
0
0
0
0
0
0
3
-10
42
49
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
7
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
-48
8
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
1
19
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
-2
31
2
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-17
8
0
4
1
2
-2
1
0
0
0
0
0
0
0
0
2
-35
18
3
-1
-2
-2
4
0
0
0
0
0
0
0
0
2
2
23
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
3
-3
2
-8
0
0
0
0
0
0
0
0
0
0
-4
0
0
-8
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-12
25
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
2
3
-4
-7
12
-3
0
-2
0
0
0
0
0
0
0
0
0
-5
0
-4
0
12
-3
-14
0
6
0
0
0
0
0
0
0
0
0
5
0
3
1
-15
-8
-5
0
0
0
0
0
0
0
0
0
-7
-4
2
4
25
6
-6
-1
0
0
0
0
0
0
0
0
-2
0
1
-1
-10
6
-5
1
6
-16
0
0
0
0
0
0
0
0
0
0
-8
-3
0
-7
-3
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
2
-6
-8
20
1
0
2
20
0
0
0
0
0
0
0
8
7
-13
117
77
10
-70
-7
49
16
-17
0
0
0
0
0
0
8
-8
14
-6
74
35
-43
-12
-37
-4
19
3
-1
0
0
0
0
-3
12
20
75
174
75
72
-8
1
-8
0
0
0
0
0
0
0
0
23
-16
75
99
46
-54
-14
-13
-6
0
0
0
0
0
0
0
0
0
-8
5
9
-58
49
68
-5
1
-3
0
0
0
0
0
0
0
0
0
0
13
49
17
42
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
15
42
-11
8
22
0
-49
10
1
1
0
0
0
0
0
12
-9
50
60
-12
-12
-13
-41
-9
14
-1
-1
3
1
0
0
0
0
144
5
-64
-25
4
5
-4
3
58
8
-7
0
0
0
0
0
-5
19
-67
-28
17
1
18
18
-58
12
14
4
6
1
0
0
0
0
-18
-12
25
13
27
0
-28
72
55
-3
2
-1
0
0
0
0
0
9
41
29
78
38
2
-18
-21
7
9
2
-2
-4
0
0
0
-6
-4
49
6
55
36
45
16
-39
-14
-2
0
1
0
0
0
0
0
0
9
31
42
24
-40
58
12
-2
0
2
0
0
0
0
0
0
0
0
-46
25
41
-6
1
8
0
0
0
0
0
0
0
0
0
0
0
4
21
-64
-22
0
-44
-9
-5
1
0
-1
-1
0
0
0
6
20
0
-1
71
41
-27
-17
30
15
-1
-3
0
-1
-1
0
0
2
-24
-30
-4
8
23
96
42
8
-14
4
0
0
0
0
0
0
1
31
47
25
22
84
24
-41
29
-4
0
0
0
0
0
0
0
0
9
-2
21
47
8
67
106
17
3
0
0
0
1
0
0
0
0
1
1
31
112
143
32
-22
47
-10
0
0
0
0
0
0
0
0
0
-3
-4
40
-8
-51
-45
-30
-34
1
-2
-1
-1
0
0
0
0
0
-1
22
7
69
-55
-59
-9
28
-9
0
0
-1
0
0
0
0
0
0
-2
8
89
-33
-60
40
-38
-8
0
8
0
0
0
0
0
19
52
60
-57
-5
0
85
-1
7
-2
0
0
0
0
0
0
-1
-31
-34
-50
-54
-9
-21
-27
20
-5
3
0
0
0
0
0
0
-5
-9
24
-21
-41
-8
22
21
12
1
0
1
0
0
0
0
0
-3
13
45
-67
4
-10
90
13
12
1
0
0
0
0
0
0
0
-6
1
33
2
82
64
-19
-51
31
8
1
0
0
0
0
0
0
0
2
-1
79
62
14
-19
-27
-26
-22
1
2
0
0
0
0
0
0
0
13
224
35
41
-13
11
61
24
0
-1
0
0
0
0
0
0
0
-4
8
2
-11
-45
-34
13
-4
2
2
-2
-1
0
0
0
0
0
0
0
67
-8
1
0
0
0
0
0
0
0
0
0
0
-2
-1
66
6
102
55
0
27
-8
-2
0
0
0
0
0
0
15
1
50
24
82
74
46
-26
-10
5
0
0
0
0
0
0
0
-25
4
-2
53
-8
27
106
44
7
5
1
3
0
0
0
0
0
0
-4
27
111
-10
-45
72
155
-2
-2
0
0
0
0
0
0
0
-1
7
0
97
45
36
104
49
5
0
-1
0
0
0
0
0
0
0
0
-1
65
63
-8
81
17
-31
-2
0
0
0
0
0
0
0
0
0
0
1
-66
-129
-44
-47
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
30
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
54
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
23
3
-24
42
-13
0
0
0
0
0
0
0
0
0
2
-9
41
30
18
2
17
-2
0
0
0
0
0
0
0
0
0
0
-7
13
20
34
84
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
10
13
-24
0
0
0
0
0
0
0
0
0
0
0
14
-1
33
13
-76
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
23
-5
26
0
-22
-7
0
0
0
0
0
0
0
0
-4
1
31
-7
5
111
37
3
0
0
1
0
0
0
0
0
-1
-3
-1
-5
72
99
60
59
24
1
4
0
0
0
0
0
0
0
0
9
34
162
61
-82
56
-46
-3
-2
0
0
0
0
0
0
1
0
6
111
34
114
139
-77
-27
-22
0
0
0
0
0
0
0
0
0
8
21
43
91
-35
22
58
0
-1
-1
0
0
0
0
0
0
0
0
-1
61
101
-69
-31
1
6
0
0
0
0
0
0
0
0
0
0
1
-19
-33
57
-91
20
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-37
-66
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
20
30
22
23
-4
0
0
-1
0
0
0
0
0
0
0
0
0
62
-9
-19
25
-2
2
0
0
-3
0
0
0
0
0
0
0
4
0
116
-23
23
0
9
-4
8
-3
0
0
0
0
0
0
0
-3
70
76
-62
-2
-7
-6
-2
-1
0
0
0
0
0
0
0
0
-5
16
-7
-31
-32
41
0
3
3
-1
0
0
0
0
0
0
0
0
-9
49
-47
77
-13
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
-36
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-18
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-71
31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
9
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-58
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
43
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
62
7
6
-1
0
0
2
0
0
0
0
0
0
0
0
2
-22
-1
5
13
8
0
-4
0
0
0
0
0
0
0
0
0
8
5
43
-1
-19
-2
0
-1
0
0
0
0
0
0
0
0
0
0
20
-24
39
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
48
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
14
69
-25
1
0
0
-3
0
0
0
0
0
0
0
0
0
-2
2
21
31
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
32
-60
17
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
12
-1
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
39
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
7
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
14
32
-42
4
41
0
4
0
0
0
0
0
0
0
0
0
0
0
31
5
-6
20
7
3
-1
3
0
0
0
0
0
0
0
0
0
7
-5
-5
-59
24
-15
7
0
4
0
8
0
0
0
0
0
0
0
2
-28
-34
-29
-34
-17
-1
3
2
0
0
0
0
0
0
0
0
0
1
-12
-8
2
-59
2
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-1
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
20
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
7
52
0
9
1
2
0
0
9
6
0
0
0
0
0
0
-1
9
-19
0
-1
-3
8
-7
0
0
0
0
0
0
0
0
0
0
-7
-45
13
59
38
24
-4
0
0
0
-1
0
0
0
0
0
0
0
48
-4
-66
-81
-62
-16
-8
0
0
-1
4
0
0
0
0
0
0
6
47
-44
-36
19
-49
6
-1
-1
0
-2
0
0
0
0
0
0
0
-1
-12
35
-11
31
19
1
0
0
0
0
0
0
0
0
0
0
0
0
41
-44
13
-3
1
0
0
0
0
0
58
27
23
4
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
36
-23
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
73
37
15
4
0
0
0
0
0
0
0
0
0
0
0
0
-13
44
-31
9
17
0
0
0
0
0
0
0
0
0
0
0
0
-12
-4
45
-5
16
1
0
0
0
0
0
0
0
0
0
0
0
0
38
11
9
-8
-3
4
0
1
0
0
0
-1
0
0
0
0
0
3
20
3
0
4
0
0
2
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
52
21
-80
46
37
1
0
0
0
0
0
0
0
0
0
0
-26
-40
29
-12
-70
-7
-18
0
0
1
1
4
1
0
0
0
0
13
-47
-42
-17
60
17
17
49
39
14
-1
0
0
0
0
0
0
62
-23
-16
57
-36
-54
-30
30
-5
0
1
1
0
0
0
0
0
42
-25
61
-34
3
-15
3
13
-39
-12
3
-4
-2
0
0
0
0
0
-4
-2
70
36
-42
-35
-20
13
1
0
-4
-1
0
0
0
0
0
0
-3
-67
70
2
-6
-31
-22
-19
0
-1
0
0
-1
0
0
0
0
0
1
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
1
16
6
7
0
0
7
-2
0
0
0
0
0
0
-10
42
31
13
17
-5
-14
32
-12
2
-3
0
0
0
0
0
0
-35
47
21
19
-8
7
20
-46
31
-8
0
-2
-4
0
0
0
0
-5
41
41
-17
16
51
133
21
117
-5
-50
15
0
0
0
0
0
4
-75
77
-41
2
32
43
38
47
-25
-8
-16
0
0
0
0
0
0
6
41
-41
-32
44
50
-18
59
3
17
-3
-1
0
0
0
0
0
-1
33
11
27
-55
38
-132
63
-16
-8
0
0
0
0
0
0
0
0
100
43
-41
5
-23
-21
-46
0
0
0
0
0
0
0
0
0
0
20
81
22
-23
0
0
0
0
0
0
0
0
0
0
0
-5
116
38
-5
66
51
-30
0
0
0
0
0
0
0
0
0
0
1
17
20
50
66
-83
51
42
5
0
0
0
0
0
0
0
0
-1
0
59
40
7
-34
66
18
2
0
0
0
0
0
0
0
0
6
-29
13
-8
41
11
24
13
43
1
0
0
0
0
0
0
0
0
-2
16
-4
-64
75
-5
3
-16
0
0
0
0
0
0
0
0
0
4
-1
25
-2
44
43
-42
-9
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
23
8
21
4
0
0
1
0
0
0
0
0
0
0
7
0
-20
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
6
79
82
-69
-30
-4
0
0
0
0
0
0
0
0
0
-30
90
78
55
9
3
0
20
0
0
0
0
0
0
0
0
0
46
-19
-9
1
-27
77
33
16
-2
0
0
0
0
0
0
0
0
38
-60
-41
22
0
31
-12
12
-2
0
-6
0
0
0
0
0
0
0
0
12
95
-82
67
-35
-43
10
0
0
0
-1
0
0
0
0
4
-1
5
37
-9
-20
13
93
0
0
0
0
0
0
0
0
0
0
72
21
-1
-10
8
-27
-4
0
0
0
0
0
1
0
0
0
-3
0
0
6
-12
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
14
35
-93
73
83
0
0
-9
1
-1
0
0
0
0
0
8
-12
0
-31
43
87
49
0
28
0
0
-3
0
0
0
0
0
-9
27
15
49
-13
40
-32
-49
16
-3
7
1
0
0
0
0
0
87
20
71
31
-38
49
42
32
-1
20
0
-4
0
0
0
0
0
0
-20
56
6
39
-22
4
9
-27
-25
15
1
-1
0
0
0
0
0
20
23
-42
10
-20
66
100
-49
10
0
-1
0
0
0
0
0
0
0
-4
39
-32
70
55
-68
-59
-30
-3
0
-1
0
0
0
0
0
0
0
0
-9
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-15
12
0
1
0
0
0
0
0
0
0
0
0
0
0
-25
-41
-58
-45
23
-24
0
0
0
0
0
0
0
0
0
0
-4
8
-3
23
-84
9
-34
-1
4
0
0
0
0
0
0
0
0
0
-10
-8
-49
3
-86
5
35
20
-2
0
0
0
0
0
0
0
0
0
15
-14
-45
-53
-30
31
24
15
0
0
0
0
0
0
0
0
0
-2
18
2
-32
-4
-34
-13
12
0
0
0
0
0
0
0
0
0
0
0
27
-4
-10
34
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-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
-3
5
52
-9
20
-1
0
0
0
0
0
0
0
0
0
0
0
1
91
107
-40
-45
58
1
0
0
0
0
0
0
0
0
0
0
-13
-44
50
-75
46
85
-3
4
3
0
0
0
0
0
0
0
0
-6
76
81
70
58
25
-12
-2
32
-1
0
0
0
0
0
0
0
0
17
5
67
5
5
43
9
-3
29
0
1
0
0
0
0
0
0
-16
79
-13
-29
1
-2
-52
10
74
6
0
0
0
0
0
0
0
0
9
24
80
49
3
-30
-8
34
4
0
0
0
0
0
0
0
-2
-4
2
-6
-30
-2
-43
47
-41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
4
0
-57
-25
59
-27
0
0
0
0
0
0
0
0
0
0
0
0
-37
11
30
22
-36
13
0
0
0
0
0
0
0
0
0
0
0
-42
-16
23
-61
23
6
0
0
0
0
0
0
0
0
0
0
0
-35
-2
-27
-19
15
-2
0
0
0
0
0
0
0
0
0
0
0
21
41
56
9
-142
0
0
0
0
0
0
0
0
0
0
0
0
29
-56
-59
-97
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-151
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
-54
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
47
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-29
-12
18
0
0
0
0
0
0
0
0
0
0
0
0
3
5
51
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
16
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-17
-45
7
2
0
0
0
0
0
0
0
0
0
0
0
-1
-37
1
-8
-8
0
0
0
0
0
0
0
0
0
0
0
7
-4
13
-75
-48
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-32
26
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
31
8
16
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-8
-117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-13
60
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
81
66
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
14
-6
17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-17
13
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
4
0
0
0
0
0
0
0
0
0
0
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
-1
-16
-16
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
5
77
-4
0
0
0
0
0
0
0
0
22
-25
-44
0
3
0
18
7
8
0
0
0
0
0
0
0
0
3
-69
-7
22
23
6
-7
-2
0
0
0
0
0
0
0
0
-3
0
-25
8
20
5
-8
7
3
0
0
0
0
0
0
0
0
0
7
-23
-29
-12
14
-5
0
0
0
0
0
0
0
0
0
0
0
1
-64
-22
-9
-17
0
-5
0
0
0
0
0
0
0
0
0
0
-10
-86
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
1
5
-24
6
-2
1
0
0
0
0
0
0
-1
0
-4
35
42
-1
20
-9
2
-19
1
0
0
0
0
0
0
-3
8
-23
8
30
-49
7
4
8
0
0
0
0
0
0
0
0
0
-7
-93
50
31
1
-16
6
-1
4
0
0
0
0
0
0
0
0
-10
-45
-65
-36
-17
-16
17
7
0
0
0
0
0
0
0
0
0
-6
41
58
-8
-39
1
2
7
1
0
0
0
0
0
0
0
0
0
-20
1
5
-4
0
-5
0
0
0
0
0
0
0
0
0
0
-3
-1
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
77
5
-41
58
8
0
0
0
0
0
0
2
0
0
0
26
114
-19
3
-16
37
61
0
0
0
0
0
0
-4
16
-20
13
68
112
37
62
35
-1
-27
0
0
0
0
0
0
0
-17
4
53
34
30
30
1
-24
43
24
0
0
0
0
0
0
-3
-4
2
61
85
-1
57
47
56
36
29
0
0
0
0
0
0
1
-18
10
-42
27
7
18
47
-29
20
4
0
0
0
0
0
0
0
-13
13
-4
-2
30
13
16
51
90
0
0
0
0
0
0
0
-2
-6
0
0
-2
25
-5
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
3
0
0
-4
7
-17
-27
-56
31
7
0
0
0
0
0
0
0
2
-57
14
-45
-20
-13
-6
-12
30
6
0
0
0
0
0
0
0
23
-97
-62
-32
-21
-3
-8
-13
-11
7
0
0
0
0
0
0
1
20
-16
46
46
-33
-27
-6
-17
84
5
0
0
0
0
0
-1
29
-42
22
-21
3
-50
-15
-43
-6
21
45
0
0
0
0
0
-2
-8
6
19
-75
-61
-50
-6
-4
21
-15
12
0
0
0
0
0
0
0
-4
-81
-66
-34
-59
-108
6
-74
49
0
0
0
0
0
0
0
0
1
6
16
17
12
-31
-36
13
13
0
0
0
0
0
0
0
0
0
0
0
42
-13
29
118
-56
0
0
0
0
0
0
0
0
0
0
0
0
-5
65
-114
-69
35
91
-33
0
0
0
0
0
0
0
0
49
-25
-29
49
64
0
31
8
-3
0
0
0
0
0
0
0
0
-24
-21
-15
102
2
-15
-49
75
8
0
0
0
0
0
0
0
0
-8
12
20
83
50
12
6
63
8
0
0
0
0
0
0
0
0
0
-4
67
44
48
-23
18
31
-8
0
0
0
0
0
0
0
0
0
-3
-27
-9
3
41
-8
-29
0
0
0
0
0
0
0
0
0
-3
0
-17
-21
-21
-39
14
29
0
0
0
0
0
0
0
0
0
0
-3
-2
10
-8
-77
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
43
0
0
0
0
0
0
0
0
1
0
76
12
-39
75
33
-5
36
-18
0
0
0
0
0
0
0
0
13
129
0
-26
13
8
-31
-43
68
0
0
0
0
0
0
0
0
3
9
43
-35
-36
-13
1
-83
12
0
0
0
0
0
0
0
0
3
-26
34
-11
-75
30
-18
39
69
0
0
0
0
0
0
0
0
8
-1
-6
50
-130
11
-9
45
112
0
0
0
0
0
0
0
0
0
-50
-62
-64
69
15
28
58
-31
0
0
0
0
0
0
0
0
0
-44
-5
19
28
51
27
6
0
0
0
0
0
0
0
0
0
0
0
8
-4
14
31
-2
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
8
6
0
0
-49
16
-14
-26
-11
-72
-8
0
0
0
0
-2
-5
-6
0
-56
0
73
8
6
5
-42
16
3
0
0
0
0
0
0
-1
-12
59
79
-32
14
-2
-13
-17
-18
-28
0
0
0
0
0
0
0
12
-12
-31
14
32
-41
1
27
28
-35
0
0
0
0
0
0
-5
-51
9
19
54
34
16
-5
14
-13
-3
0
0
0
0
0
0
-1
14
34
-101
35
71
-28
92
-43
97
0
0
0
0
0
0
0
0
1
-19
1
55
-32
101
17
-16
0
0
0
0
0
0
0
0
0
-14
1
-4
1
-9
-32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-46
-103
37
-57
2
6
0
0
0
0
0
0
0
0
-2
0
-2
-27
14
3
13
-2
4
0
0
0
0
0
0
-4
2
22
12
8
38
11
7
-20
5
-2
0
0
0
0
0
0
0
2
8
146
99
49
40
-11
-42
-7
-2
0
0
0
0
0
0
0
-9
0
-5
-18
-32
-15
104
61
8
-49
0
0
0
0
0
0
0
2
-5
-44
0
-86
47
10
36
25
0
0
0
0
0
0
0
0
0
-8
5
2
-10
58
2
59
0
0
0
0
0
0
0
0
0
16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
-26
128
-17
23
15
0
0
0
0
0
0
0
0
0
0
27
65
141
119
76
62
21
0
0
0
0
0
0
0
2
-2
-1
107
179
106
126
9
-90
9
0
0
0
0
0
0
-1
27
1
0
112
116
-15
40
-49
50
60
0
0
0
0
0
0
0
0
-9
4
41
-62
-4
16
46
34
-2
0
0
0
0
0
0
0
22
-8
-1
2
27
128
91
24
-29
25
0
0
0
0
0
0
0
3
49
-1
14
95
55
119
10
-66
0
0
0
0
0
0
0
0
0
5
1
0
28
-47
-108
76
-16
7
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
24
47
76
57
-28
1
0
0
0
0
0
0
0
-1
-1
-5
6
49
41
9
93
155
4
0
0
0
0
0
0
0
0
0
0
3
-2
44
42
-80
100
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
85
58
-1
0
0
0
0
0
0
0
0
0
0
0
1
57
-12
84
-31
10
0
0
0
0
0
0
0
0
0
0
0
-1
15
-13
-3
130
3
0
0
0
0
0
0
0
0
0
0
0
0
28
30
23
39
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-13
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
2
-8
3
-13
91
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
5
3
15
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
32
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-84
126
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
67
4
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-68
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
55
-74
-15
1
-2
0
0
0
0
0
0
0
0
0
0
0
-4
56
156
44
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
35
1
8
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
91
102
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
69
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-3
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
28
8
30
-25
25
-9
0
0
0
0
0
0
0
0
0
32
-34
32
59
-16
-38
5
-24
1
0
0
0
0
0
0
0
0
-6
42
5
59
13
17
2
-2
0
0
0
0
0
0
0
0
0
-2
0
-48
-22
37
-8
-8
6
0
0
0
0
0
0
0
0
0
23
-4
-37
12
5
14
4
-8
0
0
0
0
0
0
0
0
0
5
20
0
-31
0
44
28
6
-2
0
0
0
0
0
0
0
0
7
2
3
-1
3
24
-6
-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
-1
1
22
-1
-3
25
24
0
0
0
0
0
0
0
0
0
0
40
-27
0
-4
0
-10
2
1
0
0
0
0
0
0
0
0
-24
7
-8
5
-10
44
0
18
0
0
0
0
0
0
0
-2
-7
-12
-23
-5
-10
-8
2
-31
-25
0
0
0
0
0
0
0
0
77
86
14
-35
-54
58
-12
14
-17
6
0
0
0
0
0
0
0
-18
47
-51
12
32
34
64
5
18
8
0
0
0
0
0
0
0
1
-7
8
-23
-17
8
25
54
-13
-1
0
0
0
0
0
0
0
-2
0
4
0
0
27
-5
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
21
0
2
-15
37
11
-16
-14
7
0
0
0
0
0
0
-7
-68
22
-19
-46
-17
-25
66
50
4
5
0
0
0
0
0
0
-56
-49
-34
-19
-30
14
-4
-4
74
67
-6
0
0
0
0
0
0
-3
0
-3
5
-30
9
-10
-4
26
-37
6
3
0
0
0
0
0
-2
-68
-11
30
23
-9
-44
13
1
48
-3
0
0
0
0
0
0
0
8
-22
-25
-17
63
2
-41
46
-2
0
0
0
0
0
0
0
0
-1
2
-12
-32
24
13
7
2
1
0
0
0
0
0
0
0
0
0
-1
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-16
0
-21
-36
-18
-12
-44
69
12
0
0
0
0
0
-3
-1
-67
-8
-57
-7
5
-6
-18
-10
90
-23
0
0
0
0
0
0
8
-1
59
-11
0
-7
14
12
-49
-87
8
0
0
0
0
0
0
6
28
-51
-10
-14
-9
1
24
6
55
29
0
0
0
0
0
0
8
66
-42
-27
8
9
8
40
93
55
-6
0
0
0
0
0
3
1
-1
-37
5
-33
26
-7
7
50
25
7
0
0
0
0
0
0
-1
-9
108
8
-45
5
-21
43
101
41
0
0
0
0
0
0
0
0
0
-41
-17
-7
0
-52
30
-33
-20
0
0
0
0
0
0
0
0
0
-5
-22
-35
15
-47
10
0
0
0
0
0
0
0
0
0
0
2
-21
0
-53
-17
44
4
6
0
0
0
0
0
0
0
19
-27
7
0
-5
21
16
88
-31
9
12
0
0
0
0
0
1
-38
-49
33
4
-2
-25
-83
-51
44
-20
2
0
0
0
0
0
0
-3
24
23
-4
3
3
-24
-56
44
-22
-4
0
0
0
0
0
0
3
15
-7
13
2
36
-60
-7
-5
1
0
0
0
0
0
0
0
7
31
-28
-1
2
-24
-44
-42
31
25
0
0
0
0
0
0
-6
7
-15
-8
10
-1
-71
-73
-14
-98
0
0
0
0
0
0
-2
-1
3
30
12
-2
-23
-31
-40
6
38
0
0
0
0
0
0
0
-1
-2
26
4
40
0
9
-65
-3
5
0
0
0
0
0
0
0
0
0
-25
-19
-33
0
-12
-16
67
-2
60
0
0
0
0
0
0
0
0
-3
-17
23
16
-13
-22
29
-2
-80
23
0
0
0
0
0
0
0
-3
-5
21
-25
-34
-1
-85
-56
-41
3
0
0
0
0
0
0
2
5
-18
25
-4
-11
15
-26
-13
16
6
0
0
0
0
0
0
0
-12
27
43
-17
-20
10
124
73
14
10
0
0
0
0
0
0
0
-6
-2
12
-16
31
1
75
-86
0
22
0
0
0
0
0
0
0
-5
-66
20
-23
37
-26
16
4
6
0
0
0
0
0
0
0
0
-1
-41
4
-7
-45
5
-5
-44
-1
0
0
0
0
0
0
0
0
0
0
0
2
-8
-22
0
0
0
0
0
0
0
0
0
0
0
-37
-19
-21
0
-4
5
46
53
108
-6
-17
0
0
0
0
0
0
-14
-7
-7
-2
-5
-7
-2
83
100
-22
-99
8
0
0
0
1
0
-13
1
-40
-4
-9
4
33
33
78
61
28
23
0
0
0
0
0
-1
-4
-35
-16
-10
28
27
21
34
77
-17
-5
0
0
0
0
0
0
1
-100
-46
-10
10
-17
59
4
96
1
-3
0
0
0
0
0
-2
3
-99
-112
-38
-5
20
5
-36
3
0
0
0
0
0
0
0
-1
2
-18
-115
-71
-94
-55
141
50
-19
-4
0
0
0
0
0
0
0
0
-8
2
-32
-3
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-21
0
5
-51
5
-41
-4
-4
1
3
0
0
0
0
0
0
-13
0
-67
-29
35
18
0
13
9
-23
1
0
0
0
0
0
0
0
1
-77
59
-133
67
32
8
-3
6
-2
0
0
0
0
0
0
0
-67
79
17
14
-75
49
42
0
-2
0
0
0
0
0
0
0
0
-49
2
23
-13
69
26
-24
0
0
0
0
0
0
0
0
0
23
27
16
-7
68
108
-4
-23
2
0
0
0
0
0
0
0
0
0
13
41
70
13
34
-12
2
0
0
0
0
0
0
0
0
0
0
1
5
24
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
3
-1
-16
0
-14
-43
-28
-12
3
-13
-14
0
0
0
0
0
0
-5
-18
0
-30
-27
-3
-23
36
-43
0
-8
-1
0
0
0
0
0
-5
-20
-14
-16
-30
-35
10
-36
13
3
25
0
0
0
0
0
0
-1
-21
-59
-57
6
24
4
-54
8
8
7
0
0
0
0
0
0
1
35
-6
-10
3
17
9
81
5
16
7
5
0
0
0
0
0
-5
-53
40
-1
15
5
9
14
47
-15
-4
0
0
0
0
0
0
5
8
32
1
-13
-61
43
2
6
5
-1
0
0
0
0
0
0
0
-1
-1
24
3
16
65
2
4
0
0
0
0
0
0
0
0
0
1
0
-8
-2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
2
-14
0
0
34
0
0
0
0
0
0
0
0
0
0
0
-1
-4
31
14
-9
-23
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
-59
89
6
-3
0
0
0
0
0
0
0
0
0
0
0
-4
47
-30
50
41
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-91
14
-43
48
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-67
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-86
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-3
33
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-31
8
81
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
5
112
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
35
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
-23
5
-19
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
16
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-102
-8
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
-3
1
0
0
0
0
0
0
0
0
0
-5
3
25
5
14
10
-16
0
0
0
0
0
0
0
0
0
0
5
4
12
-17
-42
-66
9
-1
0
0
0
0
0
0
0
0
0
3
22
12
-46
21
26
0
-1
0
0
0
0
0
0
0
0
0
3
0
-71
3
-40
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-7
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
-5
0
0
0
0
0
0
0
0
0
3
17
49
5
17
-31
-19
3
-12
0
0
0
0
0
0
0
0
1
15
15
2
13
17
67
-32
5
1
0
0
0
0
0
0
0
0
5
34
-16
24
-8
13
-10
6
1
0
0
0
0
0
0
0
0
-6
-33
37
3
-15
-16
-27
-25
-2
0
0
0
0
0
0
0
0
1
3
-24
4
-1
-20
-7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
53
-3
-12
19
91
0
0
0
0
0
0
41
10
0
0
31
124
84
30
14
13
40
0
0
0
0
0
0
0
6
90
-56
16
118
91
53
20
68
57
0
0
0
0
0
0
0
-22
31
-23
8
33
40
42
-29
-44
19
0
0
0
0
0
0
0
1
-31
-12
64
51
54
46
70
109
16
0
0
0
0
0
0
0
-4
1
16
24
28
71
57
100
-54
5
0
0
0
0
0
0
0
0
3
3
12
25
-80
-12
51
-103
1
0
0
0
0
0
0
0
0
0
0
4
-17
-48
43
-6
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-34
-30
-4
-16
-21
27
-1
0
0
0
0
0
0
0
-31
-56
62
-56
-2
-14
-11
-17
-60
43
0
0
0
0
0
0
-1
14
44
-31
-34
0
1
4
16
-67
-27
0
0
0
0
0
0
10
0
-92
6
12
-29
16
8
-11
-23
23
0
0
0
0
0
1
0
-15
-36
-49
-59
-15
3
43
-17
116
12
0
0
0
0
0
0
-1
-2
22
77
-33
-17
20
0
2
16
8
0
0
0
0
0
0
0
-58
-63
34
-67
6
12
-6
-2
-8
-7
0
0
0
0
0
0
0
0
7
66
7
-51
7
5
-5
9
0
0
0
0
0
0
0
0
0
0
-25
52
35
-56
-7
-11
0
0
0
0
0
0
0
0
0
1
0
0
18
47
20
64
57
43
53
0
0
0
0
0
0
0
0
1
8
1
-85
21
-47
75
12
22
0
0
0
0
0
0
0
0
13
-18
63
-6
74
68
29
-59
-22
0
0
0
0
0
0
0
0
0
41
74
89
33
25
114
27
25
0
0
0
0
0
0
0
-2
-2
0
65
33
31
138
101
38
-5
0
0
0
0
0
0
0
0
-1
-5
8
32
56
78
60
12
36
0
0
0
0
0
0
0
0
0
0
72
-4
35
81
-45
4
12
0
0
0
0
0
0
0
0
0
0
5
74
132
42
94
-21
-10
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-12
22
-29
34
0
0
0
0
0
0
0
0
0
18
29
51
44
-4
-2
-4
1
0
0
0
0
0
0
0
0
-5
48
0
50
37
-15
-1
46
-69
0
0
0
0
0
0
0
0
24
23
-13
-29
-35
58
3
73
54
0
0
0
0
0
0
0
1
-21
-22
-11
77
142
35
20
-16
62
0
0
0
0
0
0
0
-1
-5
0
-120
-44
42
69
12
-64
-9
0
0
0
0
0
0
0
0
0
66
-30
-32
11
20
46
-14
-21
0
0
0
0
0
0
0
0
1
6
61
-9
-25
66
48
-6
-42
0
0
0
0
0
0
0
0
0
1
0
85
139
-18
8
4
59
0
0
0
0
0
0
0
0
0
0
0
0
1
32
-13
0
0
0
0
0
0
0
-2
0
1
0
0
62
54
-21
-10
10
31
48
0
0
0
0
0
0
8
0
16
0
72
21
27
13
12
-33
-26
0
0
0
0
0
0
-6
9
-30
27
-98
23
45
53
7
29
2
0
0
0
0
0
0
0
13
20
-31
4
15
25
26
29
30
-5
0
0
0
0
0
0
0
-10
-12
-12
-3
29
19
-32
25
-3
75
0
0
0
0
0
0
0
0
-4
65
-115
3
17
5
-3
15
0
0
0
0
0
0
0
0
0
-3
-3
83
-47
-4
-1
-50
-9
10
0
0
0
0
0
0
0
0
0
0
4
50
-66
19
-49
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
23
14
-5
0
0
0
0
0
0
0
0
0
0
-1
-19
43
92
-14
-3
-22
0
0
0
0
0
0
0
0
0
2
0
-113
88
-109
-30
-23
29
0
0
0
0
0
0
0
0
0
-2
-10
-20
24
-27
-14
-35
-77
-1
0
0
0
0
0
0
0
0
-3
9
54
-39
20
-12
15
-50
-7
0
0
0
0
0
0
0
0
0
-5
-11
41
-21
-43
5
-24
-3
0
0
0
0
0
0
0
0
0
-2
-4
19
-8
33
-77
-5
0
0
0
0
0
0
0
0
0
0
-8
-36
4
134
22
38
8
0
0
0
0
0
0
0
0
0
0
0
0
9
1
63
29
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
173
102
101
-32
-11
31
0
0
0
0
0
0
0
0
0
0
29
105
101
-91
-57
-26
27
0
0
0
0
0
0
0
4
0
-1
0
74
84
-23
61
-132
-8
0
0
0
0
0
0
0
25
-4
3
64
71
101
72
40
-33
-17
0
0
0
0
0
0
0
-6
60
2
11
42
-12
-10
-4
178
42
0
0
0
0
0
0
0
8
-4
-2
23
85
37
82
55
47
-7
0
0
0
0
0
0
0
0
3
0
-53
-27
28
23
68
44
8
0
0
0
0
0
0
0
0
0
0
0
16
49
-122
12
133
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
6
-43
98
-31
0
0
0
0
0
0
0
0
-1
1
0
-3
-31
-84
113
75
0
6
0
0
0
0
0
0
0
0
0
0
0
-13
34
14
73
67
-18
0
0
0
0
0
0
0
0
-1
0
-2
10
18
91
-49
-102
-1
0
0
0
0
0
0
0
0
0
0
0
-3
55
17
8
-5
-12
0
0
0
0
0
0
0
0
0
0
0
26
-8
52
21
42
-22
0
0
0
0
0
0
0
0
0
0
0
1
25
113
-45
-50
51
0
0
0
0
0
0
0
0
0
0
0
0
-3
138
-67
23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-52
2
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
47
59
-1
-4
0
0
0
0
0
0
0
0
0
0
0
6
3
-10
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
71
68
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
41
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-76
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-19
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
2
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
23
-21
11
5
0
0
0
0
0
0
0
0
0
0
0
2
14
32
66
24
3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
8
43
-50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-12
-56
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-9
-128
28
-27
0
0
0
0
0
0
0
0
0
0
0
14
3
-24
17
43
-24
2
0
0
0
0
0
0
0
0
0
0
0
1
28
-71
-31
-3
24
0
0
0
0
0
0
0
0
0
0
0
0
-8
30
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
-13
-10
95
156
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-71
56
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
9
56
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-3
0
0
0
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
-4
31
23
2
-9
0
0
0
0
0
0
0
0
0
0
-8
7
-118
20
-32
5
-42
-16
0
0
0
0
0
0
0
0
0
-74
-12
0
7
67
41
2
9
-22
0
0
0
0
0
0
0
0
-28
-47
48
1
13
-4
-48
-13
-3
0
0
0
0
0
0
0
0
4
-9
-78
-4
-41
-23
5
-49
-1
0
0
0
0
0
0
0
0
-3
18
-3
49
21
-57
21
-10
23
0
0
0
0
0
0
0
0
0
20
15
-5
13
-9
100
-25
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-8
-46
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
1
5
0
0
0
0
0
0
0
0
0
-8
8
7
20
13
-8
0
-6
0
0
0
0
0
0
1
-1
4
0
-5
-17
-2
83
4
27
3
0
0
0
0
0
0
0
-9
39
39
27
-4
58
-27
16
-22
-8
0
0
0
0
0
0
0
-30
5
-34
-48
2
46
-34
5
8
-2
0
0
0
0
0
0
0
0
57
31
-31
-42
-34
-21
30
39
66
0
0
0
0
0
0
0
-2
0
-18
32
-14
-43
-8
-23
43
-13
0
0
0
0
0
0
0
0
4
-1
33
-17
5
36
14
45
21
0
0
0
0
0
0
0
0
0
0
0
-10
3
-64
-31
-9
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-23
14
0
-24
-71
-40
-29
-49
17
2
0
0
0
0
0
0
15
-75
-37
-4
-9
-28
-22
65
33
-9
8
0
0
0
0
0
1
-8
-15
-5
-24
-36
-17
66
41
-33
27
-13
0
0
0
0
0
0
-2
-1
-14
-9
-37
2
18
36
56
23
-14
-4
0
0
0
0
0
-3
-1
-77
10
-21
-11
-27
27
47
61
-4
0
0
0
0
0
0
0
-1
-34
-22
-44
-42
-15
-75
47
42
33
0
0
0
0
0
0
0
0
63
-152
-4
-84
-39
-7
5
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
-27
0
-12
-6
5
-4
-84
9
60
0
0
0
0
0
1
7
35
-28
-13
-16
-12
-2
37
10
147
-7
0
0
0
0
0
0
6
-21
-20
4
4
-3
18
24
55
-51
5
0
0
0
0
0
0
2
-42
-138
-44
-2
14
6
42
5
15
-7
0
0
0
0
0
0
0
-2
-56
-2
6
14
24
24
12
43
16
0
0
0
0
0
0
-1
-1
-56
-6
3
6
28
11
57
23
-86
0
0
0
0
0
0
0
1
-50
50
-10
13
-18
11
52
18
-14
0
0
0
0
0
1
0
12
-32
-14
-4
-19
-22
-5
7
66
-73
0
0
0
0
0
0
0
0
3
-38
-28
-25
-39
-25
23
94
0
0
0
0
0
0
5
20
9
-7
0
-44
-28
41
-16
1
-2
0
0
0
0
0
0
0
0
10
-83
5
14
-56
-53
54
9
-2
0
0
0
0
0
0
0
0
8
29
24
-10
-42
84
-16
23
8
0
0
0
0
0
0
0
0
-9
42
47
-5
36
73
30
7
6
0
0
0
0
0
0
0
0
0
-52
19
-18
-16
7
11
-13
-1
0
0
0
0
0
0
0
0
0
-18
31
-83
68
-27
-93
-30
0
0
0
0
0
0
0
0
0
0
0
-31
-59
-41
-45
37
-2
14
0
0
0
0
0
0
0
0
0
1
13
-3
36
-3
-55
-22
0
0
0
0
0
0
0
0
0
0
0
5
-2
-103
10
-19
-1
0
0
0
0
0
0
0
0
-22
-2
-20
0
-9
-34
15
86
44
-1
0
0
0
0
0
0
-3
5
10
-55
-54
18
-15
56
-120
-18
-3
0
0
0
0
0
0
0
1
9
-22
-7
8
27
-12
-21
33
-3
0
0
0
0
0
0
0
0
2
-78
6
3
12
-12
-33
35
22
0
0
0
0
0
0
0
0
-12
-9
-67
7
0
33
43
-2
42
0
0
0
0
0
0
0
0
-9
32
-22
-7
30
-27
27
-125
-4
0
0
0
0
0
0
0
-2
-11
-21
-41
7
15
18
3
-22
-1
0
0
0
0
0
0
0
0
-2
12
-97
-61
-46
-29
-21
99
0
0
0
0
0
0
0
0
0
0
0
1
-1
-62
0
-1
0
-1
0
0
0
0
0
0
0
-1
-38
15
0
-16
-25
2
0
-12
48
3
0
0
0
0
0
0
12
-70
5
-3
-20
18
-13
29
-16
12
44
0
0
0
0
0
0
13
49
3
2
0
7
58
38
31
17
-39
2
0
0
0
0
0
0
8
5
18
-10
34
30
7
-62
27
72
9
0
0
0
0
0
0
0
-13
-7
16
18
23
8
-11
44
19
9
0
0
0
0
0
1
2
-2
-28
-30
-5
11
11
0
-18
-39
-2
0
0
0
0
0
-2
0
-16
-19
8
-4
-1
15
67
8
-1
0
0
0
0
0
0
0
0
0
0
34
31
-28
-8
39
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
7
-1
0
0
0
0
0
0
0
0
13
0
-3
-54
37
39
0
31
-1
0
0
0
0
0
0
0
0
-41
-43
-27
52
9
112
-14
2
-2
-1
0
0
0
0
0
0
1
44
-73
-82
65
5
56
-8
23
-2
-1
0
0
0
0
0
0
8
-55
-28
8
-53
4
8
-14
9
-6
0
0
0
0
0
0
0
0
-4
12
-66
70
-45
33
-32
-2
13
0
0
0
0
0
0
0
0
-15
43
-65
-15
-26
-34
-4
-1
-6
0
0
0
0
0
0
0
0
0
19
21
-34
-7
-26
-2
1
0
8
0
0
0
0
0
0
0
0
0
1
-5
-26
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
-9
-41
0
-58
68
83
-49
14
10
3
0
0
0
0
0
0
-8
-44
7
-15
-21
-73
24
-30
46
4
0
-4
0
0
0
0
0
8
47
-7
-9
29
-12
88
20
21
19
37
-3
0
0
0
0
0
2
46
-8
-28
5
-15
32
-5
-5
25
-19
0
0
0
0
0
0
6
-18
0
-6
0
8
2
-13
-15
-5
64
-1
0
0
0
0
0
-4
29
-15
-8
7
-9
-32
-5
-16
-8
35
0
0
0
0
0
0
0
-5
-7
-8
-14
-8
4
23
22
31
-31
-4
0
0
0
0
0
0
-3
-7
29
59
-40
3
49
55
3
33
4
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-42
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
53
-23
-27
0
0
0
0
0
0
0
0
0
-1
0
-1
-15
77
-49
60
-48
0
0
0
0
0
0
0
0
0
0
0
0
-7
-20
-25
0
-58
0
0
0
0
0
0
0
0
0
-5
0
0
5
8
42
10
16
0
0
0
0
0
0
0
0
0
0
0
0
7
-36
63
8
-49
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-6
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
27
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-23
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
12
16
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
52
73
-31
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
22
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-42
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-10
-3
1
0
0
0
0
0
0
0
0
0
-1
0
0
-3
14
72
-3
-2
0
0
0
0
0
0
0
0
0
0
-2
-4
10
25
1
41
1
0
0
0
0
0
0
0
0
0
-2
-2
0
-5
-62
4
7
-1
0
0
0
0
0
0
0
0
0
1
0
1
6
-42
-30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
7
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
6
4
0
0
0
0
0
0
0
0
0
-1
-9
-6
4
5
0
1
2
0
0
0
0
0
0
0
0
0
-4
22
-12
12
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
3
1
-5
5
0
0
2
0
0
0
0
0
0
0
0
4
3
-8
16
-2
8
6
4
-12
1
0
0
0
0
0
0
0
1
-33
-58
-22
-16
-25
-7
-2
-2
0
0
0
0
0
0
0
0
-8
3
116
-19
32
1
-5
0
3
0
0
0
0
0
0
0
0
0
43
-11
-12
-2
-8
13
-2
0
0
0
0
0
0
0
0
0
3
-29
-27
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-2
6
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
8
6
-102
-44
-4
-46
67
0
0
0
0
0
1
-1
0
0
0
-17
-7
44
13
60
-52
21
0
0
0
0
0
1
-1
3
39
-16
59
66
-7
109
28
118
-27
0
0
0
0
-1
-1
5
-6
8
-5
3
-45
37
62
10
68
85
0
0
0
0
1
-22
9
-4
24
-13
74
32
59
51
13
72
33
0
0
0
0
6
-14
-5
12
29
30
16
144
1
41
52
13
0
0
0
0
-2
0
-5
-4
31
0
3
2
35
29
-30
10
5
0
0
0
0
0
0
0
0
0
0
1
-8
16
0
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
6
0
0
21
-60
55
13
-54
35
4
0
0
0
0
0
-1
6
0
24
-35
-67
3
-14
26
-36
24
0
0
0
0
0
1
0
0
-53
46
78
29
-4
18
56
33
-41
-3
0
0
0
0
1
5
18
49
139
-35
48
-71
-22
26
6
-82
-7
0
0
0
0
-1
1
-30
-18
59
-55
-46
-18
28
14
92
-10
66
0
0
0
0
-2
2
-1
20
-56
62
18
10
35
84
17
-27
2
0
0
0
0
2
3
-4
29
80
47
86
24
29
29
49
-38
-35
0
0
0
0
0
0
0
4
-31
-13
-5
23
-15
-21
42
-9
0
0
0
0
0
0
0
0
0
0
0
-2
45
-22
104
-15
0
0
0
0
0
0
0
0
0
0
0
0
20
-41
18
-74
1
7
-20
0
0
0
0
0
0
0
0
1
4
-5
65
-13
-70
-76
8
16
0
0
0
0
0
0
0
0
8
-9
60
47
-68
-3
-62
50
-1
0
0
0
0
0
0
0
0
0
4
-49
6
-2
34
168
-23
8
0
0
0
0
0
0
0
6
6
31
-6
64
103
22
-35
-72
3
0
0
0
0
0
1
0
0
0
8
10
5
22
21
-25
33
0
0
0
0
0
0
0
0
0
0
-1
2
47
11
38
12
23
0
0
0
0
0
0
0
0
0
0
0
5
17
58
-33
56
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-5
-26
14
0
0
0
0
0
0
0
0
0
0
-7
66
63
69
-34
-5
12
30
0
0
0
0
0
0
0
0
-10
-15
0
10
13
1
33
-12
-24
0
0
0
0
0
0
0
-2
-6
42
-12
-16
75
43
51
-98
-13
0
0
0
0
0
0
-1
0
-16
-51
119
37
-3
-36
48
-24
-49
0
0
0
0
0
1
-1
-4
1
8
-71
12
16
51
27
7
57
0
0
0
0
0
0
0
1
0
39
1
-83
98
17
58
39
22
0
0
0
0
0
0
0
-1
0
0
25
45
2
145
26
34
0
0
0
0
0
0
0
0
0
0
5
0
42
89
52
25
34
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
5
24
113
23
15
9
-1
0
0
0
0
0
-3
1
0
10
0
-13
8
101
70
-8
8
-7
0
0
0
0
0
-1
0
39
2
5
-70
68
-3
162
16
23
-31
0
0
0
0
0
0
0
7
32
102
20
95
42
31
-4
38
-42
0
0
0
0
0
-4
17
47
24
-4
-16
-39
61
5
15
-35
1
0
0
0
0
0
-5
-12
5
-20
-8
55
-22
27
1
40
-1
0
0
0
0
0
0
0
0
6
15
9
12
50
-73
-32
15
0
0
0
0
0
0
0
0
0
-2
5
-2
-1
-1
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
28
1
-1
0
0
0
0
0
0
0
0
0
0
0
-8
1
-129
-56
53
9
0
0
0
0
0
0
0
0
0
0
-3
-1
33
13
-5
43
37
0
0
0
0
0
0
0
0
1
5
-6
2
19
-16
49
-1
-10
-1
0
0
0
0
0
0
0
0
-2
-1
6
5
71
41
1
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
2
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
31
-4
91
32
0
0
0
0
0
0
0
0
0
0
49
3
-60
35
31
23
33
0
0
0
0
0
0
0
1
0
2
-49
10
84
141
75
79
55
0
0
0
0
0
0
0
-2
7
-5
22
81
73
145
25
45
69
0
0
0
0
0
0
0
-14
3
-3
-1
-19
-42
90
99
23
28
0
0
0
0
0
0
-3
16
-6
2
-15
50
50
6
47
37
-19
0
0
0
0
0
0
0
0
1
3
-31
-22
41
52
-23
22
4
0
0
0
0
0
0
0
0
0
0
1
-8
-19
-56
27
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-21
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
42
3
-33
-18
74
13
3
0
0
0
0
0
0
2
3
35
6
-8
66
-46
53
50
-21
0
0
0
0
0
0
0
0
6
-3
2
-5
-6
-22
25
38
26
0
0
0
0
0
0
0
1
-1
-1
1
1
0
35
32
89
21
48
0
0
0
0
0
0
0
0
-1
-2
2
-2
10
118
-16
49
17
0
0
0
0
0
0
0
0
0
0
0
0
-25
119
-32
26
1
0
0
0
0
0
0
0
0
0
0
0
-1
31
-24
98
53
16
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-33
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
-39
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
21
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
-21
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
44
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-12
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
19
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
20
14
-16
-5
0
0
0
0
0
0
0
0
0
-3
-2
8
5
-1
12
-7
-7
0
0
0
0
0
0
0
0
0
1
0
1
0
-5
46
84
4
0
0
0
0
0
0
0
0
0
-1
0
-2
0
41
109
6
23
5
0
0
0
0
0
0
0
0
0
0
0
0
8
21
65
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
107
-10
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
21
-23
-8
3
0
0
0
0
0
0
0
0
-1
0
-1
0
34
-67
-4
33
0
0
0
0
0
0
0
0
-1
0
2
1
1
5
-9
17
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
31
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
8
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
17
-7
8
0
0
0
0
0
0
0
0
0
-6
33
13
-1
1
5
-7
0
0
0
0
0
0
0
0
0
0
0
-12
-24
-10
-9
-6
-1
17
0
0
0
0
0
0
0
0
-1
0
-19
-10
2
8
12
-1
-1
0
0
0
0
0
0
0
0
0
-3
25
-3
1
-4
-1
25
4
0
0
0
0
0
0
0
0
0
8
0
-2
-7
16
-1
1
2
0
0
0
0
0
0
0
0
0
0
-1
0
-3
6
-1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
6
-5
-17
22
-4
0
0
0
0
0
0
0
0
0
0
9
-1
8
24
7
-1
-1
0
0
0
0
0
0
0
0
0
-6
3
-8
44
-3
8
13
-2
5
0
0
0
0
0
0
0
3
28
-29
5
-1
-5
34
0
-9
0
0
0
0
0
0
0
0
-5
5
8
-8
-12
-18
8
23
60
-5
0
0
0
0
0
0
0
0
5
-3
4
6
-4
-14
139
-15
5
0
0
0
0
0
0
0
0
13
-4
0
27
25
5
72
30
32
0
0
0
0
0
0
0
0
0
0
-3
-2
-27
46
-8
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
42
0
87
-4
33
-25
5
-2
6
-1
0
0
0
0
2
1
8
0
-23
-66
-11
82
6
13
20
-24
0
0
0
0
0
0
-7
0
-99
-57
-13
-17
23
-35
-4
24
14
-8
0
0
0
0
-1
4
10
53
30
70
22
-35
20
19
7
-39
33
0
0
0
0
0
-5
-1
-19
-42
-13
46
-31
62
33
-8
-6
0
0
0
0
0
2
-3
2
-49
22
-102
-32
25
-5
5
12
-1
0
0
0
0
0
0
0
-3
-1
-23
30
-7
5
7
-3
3
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
0
57
19
9
-12
-5
-8
18
0
0
0
0
0
-5
-31
-48
0
-59
8
-46
28
41
78
41
-3
0
0
0
0
-1
1
5
8
19
10
-3
-25
13
59
128
-40
23
0
0
0
0
-1
0
-2
11
-1
55
-9
7
-2
21
54
97
-37
0
0
0
0
0
0
42
-53
9
20
-31
4
-13
45
18
27
103
0
0
0
0
2
-17
20
-25
-6
-6
14
42
121
96
-31
91
-2
0
0
0
0
0
0
-2
-1
2
79
8
28
-8
46
0
10
-59
0
0
0
0
0
0
-3
14
-26
58
-1
30
-42
24
-65
-52
-2
0
0
0
0
0
0
0
0
0
5
-61
72
75
-21
-3
0
0
0
0
0
0
0
0
0
-29
25
0
61
106
67
15
59
0
0
0
0
0
0
0
1
-5
-9
0
-16
106
-26
48
100
-17
8
-2
0
0
0
0
0
0
14
0
8
-22
-3
6
30
53
-24
-3
0
0
0
0
0
0
-1
0
31
-1
-62
-58
-64
-60
14
-5
0
1
0
0
0
0
0
0
-13
31
-14
2
5
-4
52
-8
-3
14
0
0
0
0
0
0
-5
-52
12
28
-11
1
0
-27
-1
-19
0
0
0
0
0
0
-1
-10
9
-22
-38
14
-30
-49
-43
-14
0
0
0
0
0
0
0
3
-4
-7
-22
-1
48
74
-55
-1
19
0
0
-4
0
0
0
-1
0
5
-3
34
-83
-113
-89
52
7
-4
0
0
0
0
0
0
0
0
0
3
10
24
0
-13
-16
-67
92
54
0
0
0
0
0
0
0
1
-8
12
0
8
-26
0
-56
-28
75
0
0
0
0
0
0
0
0
5
0
-24
41
48
30
-13
-59
48
0
0
0
0
0
0
0
0
2
-29
-12
-59
-19
52
9
48
29
-1
0
0
0
0
0
0
0
6
-5
-28
0
-29
29
-69
57
-32
-3
0
0
0
0
0
0
-2
2
52
-25
41
-25
41
94
-43
0
-2
0
0
0
0
0
9
3
4
32
14
-7
-13
-16
0
33
1
-2
0
0
0
0
0
0
0
0
-4
-9
-16
-2
5
-27
-23
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
22
-53
0
48
-6
44
4
-50
1
6
-4
0
0
0
0
0
-5
9
0
-10
8
30
-10
4
65
-3
5
0
0
0
0
0
0
0
5
-44
-31
-48
69
28
114
65
19
37
0
0
0
0
0
0
1
-21
7
28
62
69
64
8
10
50
-9
-19
0
0
0
0
0
4
14
-14
22
-39
-20
116
-40
-10
-2
34
-8
0
0
0
0
3
-1
-1
57
17
-19
-53
13
-11
22
-1
14
0
0
0
0
0
-1
-1
12
-2
23
-44
21
-20
-13
8
24
0
0
0
0
0
0
0
0
0
0
-7
-6
-3
8
0
-7
-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
-4
0
-1
27
2
10
-1
2
-8
2
0
0
0
0
0
0
2
0
-80
41
4
93
-3
12
-4
-33
0
0
0
0
0
0
0
0
1
-43
112
17
-32
16
42
8
2
1
0
0
0
0
0
0
-1
-25
3
-34
-47
22
41
-25
-3
9
6
0
0
0
0
0
0
0
17
69
48
19
-35
-25
-1
10
0
2
0
0
0
0
0
0
0
16
1
27
-25
-29
19
12
-7
-1
0
0
0
0
0
0
0
0
-13
-46
0
57
14
23
1
0
-6
0
0
0
0
0
0
0
0
0
-1
-7
0
1
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
8
24
45
42
6
-58
9
0
0
0
0
0
0
0
57
0
-23
44
-5
54
-9
5
22
34
-8
0
0
0
0
0
0
0
-58
40
89
22
64
5
46
-24
24
-4
0
0
0
0
0
0
1
33
9
-14
41
81
-24
4
-3
32
-1
0
0
0
0
0
0
-25
24
54
-28
-15
7
41
3
41
-89
42
0
0
0
0
0
0
44
35
-52
7
27
48
77
-1
25
35
-3
0
0
0
0
0
0
-38
7
9
27
-56
-37
-42
1
25
3
-4
0
0
0
0
0
0
-26
-88
23
-65
-34
-14
-9
5
7
3
0
0
0
0
0
0
0
0
-1
-5
9
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-39
-23
3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
90
20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
49
-35
48
8
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
66
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
25
10
-32
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
24
43
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
7
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
5
2
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
-1
2
-7
0
0
0
0
0
0
0
0
0
6
-6
0
6
3
9
-3
9
0
0
0
0
0
0
0
0
0
-2
1
13
9
-13
-8
-23
-5
0
0
0
0
0
0
0
0
0
0
-4
-3
2
-13
25
3
0
4
0
0
0
0
0
0
0
0
0
0
0
-12
-4
-6
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
15
104
-47
-50
10
19
0
0
0
0
0
0
-1
2
0
0
37
45
61
43
4
-72
-53
0
0
0
0
0
0
0
9
23
41
31
128
0
57
102
-24
-41
0
0
0
0
0
0
0
1
8
35
48
139
39
102
30
25
26
0
0
0
0
0
0
0
-1
3
-8
27
77
29
-24
-45
51
3
0
0
0
0
0
0
0
0
0
-35
34
-3
81
-15
109
3
-5
0
0
0
0
0
0
0
0
0
-3
-5
5
3
49
45
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
35
-66
15
-13
36
50
2
0
0
0
0
0
0
3
-14
14
-9
-33
1
30
41
-45
-2
15
0
0
0
0
0
0
0
-15
-50
46
79
3
9
35
3
21
-13
0
0
0
0
1
-4
3
-9
30
58
58
34
-13
10
-23
18
6
0
0
0
0
0
3
0
6
53
-88
-19
43
12
14
28
61
-19
0
0
0
0
0
1
0
0
5
-31
54
-14
40
34
40
146
42
0
0
0
0
0
0
0
1
-10
-4
-35
19
41
-15
-32
-66
9
0
0
0
0
0
0
0
0
-1
4
13
-14
60
-14
13
-73
18
0
0
0
0
0
0
0
0
0
0
2
14
-13
84
27
0
0
0
0
0
0
0
-1
0
0
0
0
-2
-49
-20
53
-60
-1
-10
0
0
0
0
0
0
0
0
2
-2
8
30
-62
-19
45
4
-50
0
0
0
0
0
0
-1
0
0
-8
16
12
97
31
29
42
17
0
0
0
0
0
0
0
0
2
2
-24
86
75
-53
-1
-2
64
0
0
0
0
0
0
0
0
0
0
-1
24
104
-8
-29
-40
-2
0
0
0
0
0
0
0
0
0
0
6
-13
29
53
42
15
63
0
0
0
0
0
0
0
0
0
0
-7
8
53
61
8
14
76
0
0
0
0
0
0
0
0
0
0
0
8
18
13
34
-26
-10
0
0
0
0
0
0
0
0
0
0
0
-2
-8
69
-16
-10
63
0
0
0
0
0
0
0
0
0
-32
-79
-106
14
-72
-54
109
6
0
0
0
0
0
0
0
0
0
41
0
-13
11
11
-32
13
13
0
0
0
0
0
0
0
0
1
3
65
-22
-36
66
58
32
-24
0
0
0
0
0
0
0
0
-7
-1
29
17
22
94
-29
19
72
0
0
0
0
0
0
0
0
2
-6
-42
42
31
27
-17
7
-14
0
0
0
0
0
0
0
0
-4
-7
42
12
0
60
27
29
-2
0
0
0
0
0
0
0
0
-1
0
-5
109
24
-73
-22
36
28
0
0
0
0
0
0
0
0
0
0
3
-2
0
34
17
-8
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
1
1
0
0
2
78
81
2
-1
18
5
0
0
0
0
0
0
1
0
2
0
-5
104
50
83
84
-23
87
0
0
0
0
0
0
-5
-1
17
13
22
111
78
50
7
52
36
0
0
0
0
0
0
-1
4
8
51
-170
78
92
8
41
81
-9
0
0
0
0
0
0
0
0
-2
23
171
90
65
69
9
103
10
0
0
0
0
0
0
0
1
0
0
16
-11
74
36
-21
-8
0
0
0
0
0
0
0
0
0
1
1
-24
-41
-2
34
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-44
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
10
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
20
-153
-40
5
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-26
-48
45
6
-1
0
0
0
0
0
0
0
0
0
6
1
50
34
54
-51
-19
0
0
0
0
0
0
0
0
0
0
-1
-14
8
-52
-5
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
-14
37
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
41
21
7
13
-27
0
0
0
0
0
0
0
0
0
0
39
-73
-18
57
-13
-8
70
0
0
0
0
0
0
0
-2
0
0
-22
90
77
91
40
-52
66
0
0
0
0
0
0
0
0
0
3
50
8
44
-33
20
-54
-13
0
0
0
0
0
0
0
-1
2
-3
29
22
58
69
-27
-17
14
0
0
0
0
0
0
0
0
1
0
21
75
76
60
-61
85
22
0
0
0
0
0
0
0
0
0
0
-5
13
16
104
-13
66
-8
0
0
0
0
0
0
0
0
0
0
8
-3
-13
-32
-25
26
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
4
-1
19
97
-23
-43
-2
0
0
0
0
0
0
0
7
-14
0
21
35
-8
94
23
51
-13
0
0
0
0
0
0
0
-3
1
-1
1
20
28
124
-91
11
-8
0
0
0
0
0
0
0
-1
-7
-2
-2
10
13
31
76
-14
-18
0
0
0
0
0
0
0
0
-3
-1
-1
-4
121
-18
31
-29
9
0
0
0
0
0
0
0
0
0
-1
0
-3
-34
31
15
41
-6
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
8
-14
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-18
17
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-38
25
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
38
41
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-49
-31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-41
10
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
22
-50
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
12
1
0
0
0
0
0
0
0
0
-3
-2
0
4
-4
45
41
24
-33
1
0
0
0
0
0
0
0
0
-1
5
-1
0
3
9
-30
12
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
24
41
13
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-6
-50
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-26
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
45
-19
50
-19
0
0
0
0
0
0
0
0
0
1
0
4
1
-1
11
45
24
14
0
0
0
0
0
0
0
0
-1
0
0
0
-8
-86
5
12
7
0
0
0
0
0
0
0
0
0
0
0
8
29
14
-21
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
-39
15
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-16
-1
-5
-6
0
0
0
0
0
0
0
0
0
6
17
-9
10
20
24
13
8
6
0
0
0
0
0
0
0
0
0
-8
31
-24
8
3
13
14
2
1
0
0
0
0
0
0
0
0
10
27
18
4
-16
6
7
4
-1
0
0
0
0
0
0
0
0
0
5
2
19
8
27
-1
-16
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-4
-66
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
57
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
1
0
14
0
3
-15
3
-1
0
0
0
0
0
0
0
0
-10
0
-25
3
-8
-18
-44
-21
17
0
0
0
0
0
0
0
-1
16
31
-21
9
2
17
13
22
-13
0
0
0
0
0
0
0
0
4
-8
-2
48
7
-5
41
47
-7
0
0
0
0
0
0
0
0
1
-8
-8
-3
49
-41
-22
-28
-42
0
0
0
0
0
0
0
0
0
0
-31
1
-75
37
-26
12
10
0
0
0
0
0
0
0
0
0
0
0
-6
4
-2
-20
30
17
0
0
0
0
0
0
0
0
0
0
0
3
-5
-73
80
-45
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
66
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-8
0
-34
-39
31
38
25
17
-6
0
0
0
0
0
0
-3
-25
115
-15
-12
-8
-19
112
19
59
-18
0
0
0
0
0
4
-2
-21
35
13
14
55
18
-7
31
17
9
0
0
0
0
0
0
2
22
60
11
30
74
59
4
41
-22
-23
-3
0
0
0
0
0
0
5
-19
-25
-25
-14
-7
9
25
-13
-1
2
0
0
0
0
0
0
0
1
-25
51
68
19
4
-2
-8
-25
5
0
0
0
0
0
0
0
0
0
0
18
-12
-3
-8
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
60
-8
0
47
14
12
145
89
33
56
0
0
0
0
0
0
-1
0
20
14
0
-13
13
31
51
-23
-71
0
0
0
0
0
0
-2
-9
-20
-30
-16
-36
-1
39
34
-1
5
0
0
0
0
0
0
0
6
-93
-41
-55
13
-29
53
42
85
2
0
0
0
0
0
0
0
-6
-78
35
78
-21
51
10
111
43
7
0
0
0
0
0
0
0
3
21
-86
0
-2
7
20
-22
48
-9
0
0
0
0
0
0
0
0
-1
-15
111
68
-1
53
31
18
-24
0
0
0
0
0
0
0
0
-4
12
24
-60
35
-30
136
-84
-41
0
0
0
0
0
0
0
0
0
0
0
-67
-72
22
5
0
0
0
0
0
0
1
1
-1
-2
-37
0
46
1
6
3
9
15
0
0
0
0
0
0
0
0
-43
43
-49
63
45
4
155
59
22
0
0
0
0
0
0
0
0
8
43
12
-21
74
-24
49
-23
10
-1
0
0
0
0
0
0
0
0
56
-22
77
-51
44
72
32
21
0
0
0
0
0
0
0
0
0
30
10
16
-22
-27
-33
-20
-1
0
0
0
0
0
0
0
0
0
4
0
4
-6
48
14
-48
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
14
53
1
-10
0
0
0
0
0
0
0
0
0
0
-3
12
-9
5
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
37
-26
0
58
77
-37
-2
49
13
0
0
0
0
0
0
0
7
-15
-40
29
45
-70
-84
-26
19
-10
0
0
0
0
0
0
0
0
-2
66
14
-9
21
55
-100
90
-7
0
0
0
0
0
0
0
0
-1
-30
-26
-25
24
8
-23
0
10
0
0
0
0
0
0
0
0
0
-1
32
35
85
-25
-48
-19
0
0
0
0
0
0
0
0
0
0
50
-31
23
38
-86
-51
-5
-4
0
0
0
0
0
0
0
0
0
1
-3
2
-18
0
4
-3
2
0
0
0
0
0
0
0
0
0
13
0
-17
-2
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
0
0
0
0
0
0
0
1
-23
22
0
33
-8
27
56
66
-9
-45
7
0
0
0
0
-4
5
8
-40
-17
3
43
-6
125
-15
-49
-35
13
0
0
0
0
0
0
8
25
-12
1
36
89
13
-18
-36
-24
-8
0
0
0
0
0
0
4
23
-55
40
18
49
128
117
2
-22
-19
0
0
0
0
0
0
0
-1
20
-5
-23
110
-22
-25
-24
-106
-1
0
0
0
0
0
0
0
0
31
-13
6
1
-22
13
-33
-18
1
0
0
0
0
0
0
0
0
5
-4
-21
28
15
-31
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-63
21
-5
27
-2
-1
-3
0
0
0
0
0
0
0
-4
-43
-31
23
56
13
-3
-25
1
-25
0
0
0
0
0
0
0
0
6
-1
5
13
42
46
-8
-5
-19
0
0
0
0
0
0
0
0
13
-16
-67
15
1
0
7
-10
14
-1
0
0
0
0
0
0
0
1
10
-15
-20
6
-54
8
-5
-6
2
0
0
0
0
0
0
0
0
8
-7
-5
-29
-9
-19
8
14
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-45
19
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
58
13
5
-1
-3
8
-1
3
0
0
0
0
0
0
16
-8
33
2
-35
-8
-19
13
8
50
-5
0
0
0
0
0
0
7
-31
-30
6
-46
57
-25
-8
42
-5
8
0
0
0
0
0
0
0
35
53
46
58
-38
-5
3
-22
-14
32
0
0
0
0
0
0
1
81
13
115
20
10
-41
29
18
5
19
0
0
0
0
0
0
0
2
38
39
3
-7
36
13
25
-6
52
0
0
0
0
0
0
0
4
36
35
-34
31
13
-4
-42
-25
43
0
0
0
0
0
0
0
0
0
0
-4
-1
-4
-39
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
12
-60
96
-44
-7
5
25
0
-15
0
0
0
0
0
0
0
-31
79
74
-2
9
32
13
21
-3
0
0
0
0
0
0
0
0
-79
-41
-22
-66
-28
42
5
-1
0
1
0
0
0
0
0
0
0
28
52
30
-5
-41
-25
0
0
-1
0
0
0
0
0
0
0
0
47
-66
-77
-58
101
9
-1
0
0
0
0
0
0
0
0
0
0
50
32
-58
-13
44
-12
2
0
0
0
0
0
0
0
0
0
0
-2
-37
44
41
43
7
0
0
0
0
0
0
0
0
0
0
0
-2
-43
-10
-24
-25
-5
0
0
0
0
0
0
0
0
0
0
0
-8
-16
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-31
55
3
0
0
-1
0
0
0
0
0
0
0
0
0
4
-74
75
-43
34
-2
2
0
0
0
0
0
0
0
0
0
0
-8
-7
3
64
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-41
-18
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-30
8
9
0
0
0
0
0
0
0
0
0
0
0
0
4
16
3
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-73
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-53
-26
-25
5
0
-1
0
0
0
0
0
0
0
0
0
1
19
-84
52
-5
-4
0
0
0
2
0
0
0
0
0
0
0
-3
49
14
66
-8
-2
0
0
0
0
0
0
0
0
0
0
0
5
42
-109
54
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-23
81
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
-98
90
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
20
-76
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-17
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-60
-29
32
0
-1
-5
0
0
0
0
0
0
0
0
0
-33
-19
-16
-73
25
19
0
-3
-1
0
0
0
0
0
0
0
0
6
19
26
50
-1
-3
0
0
0
0
0
0
0
0
0
0
0
2
-75
31
22
59
-5
0
0
0
0
0
0
0
0
0
0
0
1
-3
-150
28
37
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-44
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
20
2
2
5
-1
-2
0
0
0
0
0
0
0
0
0
3
-1
64
-52
34
55
71
13
2
0
0
0
0
0
0
0
0
-4
-5
-75
13
-25
-1
155
-7
4
0
0
0
0
0
0
0
0
-10
-8
-18
24
15
49
14
15
0
0
0
0
0
0
0
0
0
-13
-13
-70
-119
22
0
0
0
-4
0
0
0
0
0
0
0
0
-8
-59
14
-43
19
3
0
1
0
0
0
0
0
0
0
0
0
-13
-15
-74
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-69
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-31
8
19
1
-31
-12
0
0
0
0
0
0
0
0
0
-24
-43
-21
-42
20
31
18
-15
-8
3
0
0
0
0
0
0
0
-5
27
52
-49
-33
32
96
32
-19
-3
0
0
0
0
0
0
0
31
-18
17
154
-22
33
-23
-5
8
3
0
0
0
0
0
0
0
-58
100
6
-44
17
-12
-49
-9
1
0
0
0
0
0
0
0
0
-25
-46
-36
-138
-5
42
6
3
-8
0
0
0
0
0
0
0
0
-16
-64
-42
22
-31
-27
1
5
0
0
0
0
0
0
0
0
0
-14
-86
41
66
-2
0
-2
0
1
0
0
0
0
0
0
0
0
-70
-49
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
-66
58
18
41
0
3
0
-58
-35
-25
0
0
0
0
0
-3
-92
-33
49
17
85
-25
37
32
54
47
-58
-5
0
-1
0
0
-22
-68
-43
10
65
41
54
65
46
22
2
26
21
0
0
0
0
12
-135
41
-9
14
3
110
76
118
40
26
-1
0
7
0
0
0
-1
1
-60
26
13
140
71
137
110
25
24
9
3
0
0
0
0
2
-9
39
-23
22
-75
94
31
15
-32
10
0
0
0
0
0
0
-1
2
4
27
43
-24
-31
66
0
-1
0
0
0
0
0
0
0
-2
35
0
-24
3
4
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-65
-85
-60
-11
-67
-24
0
-146
-4
-5
-5
-4
0
0
0
0
-56
0
-38
-51
12
-107
14
-31
64
-5
-15
43
7
0
0
0
0
-25
-66
17
-6
-26
-37
-48
-80
17
-46
48
-15
-38
0
0
0
0
-82
-67
-105
-57
-6
3
-8
5
65
28
11
20
-22
0
0
0
0
7
-129
-32
-6
-36
-65
21
46
66
-19
-15
34
2
0
0
0
0
-13
-27
-80
-3
-49
3
48
15
50
4
25
17
7
0
0
0
0
-5
-53
-53
-39
15
3
15
36
-64
17
-39
31
2
0
0
0
0
26
43
63
73
-30
-22
-33
-39
-15
-31
-8
15
0
0
0
0
0
0
7
18
-9
22
66
68
-42
1
28
33
5
0
0
0
0
0
0
10
20
-68
-77
-22
20
0
8
-21
6
0
0
0
0
0
0
3
13
-22
0
102
-129
-10
8
139
22
-3
1
0
0
0
0
0
1
-89
26
-7
-34
24
-57
7
68
16
5
0
0
0
0
0
0
3
-1
-11
64
97
39
-12
98
108
0
0
1
0
0
0
0
0
0
-9
-24
78
103
-4
94
114
62
16
5
0
0
0
0
0
0
0
-10
50
45
48
102
19
-4
18
0
0
0
0
0
0
0
0
0
-2
-86
-32
8
-28
42
10
8
0
0
0
0
0
0
0
0
0
0
-7
-21
25
5
94
-41
8
1
3
0
0
0
0
0
0
0
0
0
1
-1
13
-9
0
10
0
0
0
0
0
0
0
0
0
3
51
6
-75
-33
-20
0
8
-16
-17
-1
0
0
0
0
0
0
-118
12
80
25
-82
3
-4
165
-23
-41
15
0
-1
0
0
0
0
-13
106
-12
3
48
-75
54
21
91
8
0
0
0
0
0
0
0
71
44
15
69
98
47
108
-19
54
-2
1
0
0
0
0
0
0
5
16
83
44
19
54
67
19
3
0
0
0
0
0
0
0
0
-3
-39
-27
-61
-23
80
-13
69
0
2
0
0
0
0
0
0
0
-9
-35
-59
46
107
8
-42
78
-1
0
0
0
0
0
0
0
0
0
0
5
14
-9
95
-5
0
0
0
0
0
0
0
0
0
0
-12
0
2
0
-9
0
0
0
0
0
0
0
0
0
0
43
-104
10
18
-23
-4
-37
19
0
-96
49
8
1
0
0
0
0
-1
40
6
9
-40
47
47
-10
33
105
7
37
1
0
1
0
0
80
73
25
20
-13
90
27
17
67
58
-23
1
0
2
0
0
0
-55
-7
-119
-2
-19
159
70
22
76
26
-31
0
0
0
0
0
0
44
-5
-119
-4
-34
76
63
105
-2
-107
0
-1
0
0
0
0
0
-3
-111
-13
67
20
56
-7
120
-50
-8
2
0
0
0
0
0
0
2
-57
-26
-59
30
-35
42
58
1
0
-4
0
0
0
0
0
0
0
-14
4
-42
-30
25
-1
13
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-3
-4
0
-16
-9
59
0
14
-1
0
0
0
0
0
0
0
13
13
-4
51
117
6
28
42
50
0
0
0
0
0
0
0
0
-8
20
5
73
72
-32
-2
-14
37
0
0
0
0
0
0
0
0
-7
23
9
113
63
58
43
-28
25
0
0
0
0
0
0
0
1
3
-10
-50
135
33
-5
20
-16
0
0
0
0
0
0
0
0
0
2
9
-102
4
-5
3
12
0
0
0
0
0
0
0
0
0
0
-6
-1
4
-22
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
17
3
16
38
13
39
0
13
-66
2
0
0
0
0
0
4
41
7
18
4
-46
52
28
23
126
43
22
5
0
0
0
0
6
27
-5
-13
8
130
66
8
10
-13
49
4
-7
0
0
0
0
-1
15
-7
7
113
110
49
43
-8
70
-28
0
0
0
0
0
0
0
-1
3
-5
106
118
8
-29
-23
53
-42
5
0
0
0
0
0
0
-4
20
43
-11
66
-48
17
52
-27
49
-1
0
0
0
0
0
0
10
43
-4
-25
-32
-5
39
12
39
15
0
0
0
0
0
0
4
13
-6
-33
-21
-26
15
9
-41
6
-4
0
0
0
0
0
0
0
0
0
0
0
5
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
1
195
0
0
58
-65
9
3
0
0
0
0
0
0
0
0
0
0
77
136
39
15
15
0
4
-2
0
0
0
0
0
0
0
0
61
159
138
4
-31
-23
-3
0
0
0
0
0
0
0
0
0
0
2
116
-1
-32
-132
-10
-1
-2
0
0
0
0
0
0
0
0
0
19
-84
-71
-36
88
2
0
0
1
0
0
0
0
0
0
0
0
1
-55
52
-38
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
121
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
-27
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
4
-18
-3
-4
0
0
0
0
0
0
0
0
0
0
45
-42
24
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
-78
99
39
-60
-1
1
0
0
0
0
0
0
0
0
0
0
0
-10
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
5
161
0
0
42
-14
5
0
0
0
0
0
0
0
0
0
0
0
73
146
157
-27
23
-1
0
0
0
0
0
0
0
0
0
0
2
-6
78
127
30
-7
-1
0
0
0
0
0
0
0
0
0
0
-5
29
134
33
-49
0
-3
0
0
0
0
0
0
0
0
0
0
0
13
46
-22
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
62
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
59
162
0
0
-42
-4
0
0
0
0
0
0
0
0
0
0
0
25
161
98
143
-13
12
0
0
0
0
0
0
0
0
0
0
2
140
11
24
-10
139
-3
0
0
0
0
0
0
0
0
0
0
0
61
41
-8
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
115
-25
-22
-54
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-84
-31
6
0
0
0
5
2
0
0
0
0
0
0
0
8
-85
-8
-1
77
0
0
0
15
-3
0
0
0
0
0
0
0
29
-54
248
127
63
93
-66
-157
-6
1
0
0
0
0
0
0
-15
6
18
67
203
153
75
0
-3
-6
0
0
0
0
0
0
0
-1
4
39
155
20
128
114
-17
-6
0
0
0
0
0
0
0
0
0
0
-16
-4
187
-59
-56
-72
-16
0
0
0
0
0
0
0
0
0
0
0
0
31
-41
-41
-14
-4
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-3
-1
-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
3
2
0
2
0
0
0
0
13
-2
0
0
0
0
0
0
10
25
-4
1
-14
36
0
0
0
-25
19
-16
0
0
0
0
0
-19
-10
-27
-7
109
160
-22
70
-69
-43
10
-1
0
0
0
0
0
-86
-8
26
118
87
18
140
-5
-38
17
5
0
0
0
0
0
0
4
-9
-41
174
86
74
-29
-60
67
17
-7
1
0
0
0
0
0
17
-8
130
-50
175
58
-2
-56
-66
0
0
0
0
0
0
0
-2
-7
68
-8
0
3
75
68
-19
6
0
0
0
0
0
0
0
0
25
-7
-1
1
8
-3
-9
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
60
6
14
-40
-79
-49
0
0
0
0
0
0
0
0
0
0
0
-13
4
4
-2
20
24
8
0
0
0
0
0
0
0
0
0
0
-60
-34
17
-30
15
-25
0
3
0
0
0
0
0
0
0
0
0
5
-57
-26
56
-69
34
7
13
-1
-1
0
0
0
0
0
0
0
1
-62
-15
-20
-55
43
12
-17
-7
1
0
0
0
0
0
0
0
65
-7
-63
47
-11
-12
23
-25
45
0
0
0
0
0
0
0
0
37
-29
-49
3
-21
21
66
70
0
0
0
0
0
0
0
0
0
0
26
45
-5
77
30
42
5
6
0
0
0
0
0
0
0
0
2
1
-13
-35
1
-3
-3
0
0
0
0
0
0
0
0
0
0
-12
9
-28
0
53
22
18
0
0
0
-30
-7
0
0
0
0
0
-40
11
12
-11
28
110
196
0
0
19
66
12
1
0
0
0
0
26
-9
-3
-3
56
103
151
101
57
63
-45
-1
0
0
0
0
0
0
37
-3
-35
74
155
82
134
111
-52
-38
0
0
0
0
0
0
-24
25
-17
55
-3
-61
73
22
62
-2
3
0
-1
0
0
0
0
-24
18
-20
-1
17
46
5
-157
32
7
-8
0
0
-1
0
0
0
8
3
25
-6
-25
-49
-62
-123
21
17
0
0
0
0
0
0
0
0
64
-23
23
12
5
8
-2
2
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-13
-10
14
-15
5
34
48
0
0
-78
-9
17
0
0
0
0
0
33
-31
-20
-22
1
29
64
7
73
-41
-55
0
5
0
0
0
0
25
32
-17
0
-2
34
99
41
77
-73
-15
25
1
0
0
0
0
-42
11
-44
-17
-43
14
114
142
17
-17
32
25
0
0
0
0
0
-8
21
-8
-15
-26
-17
10
-49
-2
12
124
40
-1
0
0
0
0
-23
14
-27
-23
-39
-42
-70
10
-1
-30
8
-47
0
0
0
0
0
19
-21
15
-17
21
-39
-35
-39
32
32
-58
-31
-5
0
0
0
0
0
-45
-52
31
2
-32
34
-32
-66
4
-3
-5
0
0
0
0
0
0
0
22
31
42
-20
-3
24
-19
-1
0
0
0
0
0
0
0
-24
-26
27
-32
24
-11
-63
0
0
1
0
0
0
0
0
0
0
-78
-3
1
40
-13
42
66
21
-10
0
3
0
0
0
0
0
0
-24
-14
4
7
24
-71
90
62
-21
0
0
0
0
0
0
0
0
-20
-6
31
-40
21
95
19
-17
8
0
-1
0
0
0
0
0
0
36
-5
45
-42
35
-55
18
1
-19
1
0
0
0
0
0
0
0
-3
-7
3
-32
-75
-27
74
-24
5
0
0
0
0
0
0
0
0
22
-2
-14
48
-27
5
-43
10
5
-1
0
0
0
0
0
0
0
7
20
-22
24
29
65
10
0
56
0
-2
0
0
0
0
0
0
27
25
-5
0
-4
14
7
2
0
0
0
0
0
0
0
0
0
37
-31
-2
6
18
-7
30
2
0
-3
0
0
0
0
0
0
0
-13
30
-30
9
49
80
0
-39
-41
5
0
0
0
0
0
0
0
77
-27
-37
-3
13
94
-36
-7
-13
17
1
0
0
0
0
0
0
-31
-15
31
-36
-49
69
61
114
63
1
0
0
0
0
0
0
0
-19
-28
-8
-6
-42
136
102
66
-24
-2
0
0
0
0
0
0
0
-7
8
-97
-40
7
-34
-59
-26
12
-2
0
0
0
0
0
0
0
34
-30
-11
-50
41
1
-43
21
2
-3
0
0
0
0
0
0
0
-17
0
72
-67
-74
22
33
3
1
0
0
0
0
0
0
0
0
0
0
-90
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
55
8
3
23
76
23
59
0
0
49
-16
6
0
0
0
0
0
-48
22
-4
24
39
154
121
0
69
0
-33
-15
-1
1
0
0
0
-56
-12
25
18
68
163
191
90
140
48
-57
85
-7
0
0
0
0
93
12
-25
57
27
161
159
61
83
78
-31
-4
-1
0
0
0
0
12
60
21
-21
64
-24
24
-21
-3
-13
0
0
-4
0
0
0
0
23
15
-14
-18
16
16
-25
-41
-46
14
1
0
0
0
0
0
0
-43
-13
30
-23
-52
-43
-76
25
-28
-2
0
0
0
0
0
0
0
0
-14
93
26
94
-25
-24
5
0
-6
0
0
0
0
0
0
0
0
2
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-71
-22
-23
9
-19
6
0
-5
-1
0
0
0
0
0
0
26
-47
-25
-27
-10
-37
-46
0
76
0
6
6
0
0
0
0
0
2
1
-116
-7
67
56
141
70
-78
75
-9
7
0
0
0
0
0
14
9
85
80
207
132
154
27
-26
-13
7
0
0
0
0
0
0
-16
24
16
91
66
109
113
-8
11
-5
0
-3
0
0
0
0
0
-6
212
88
157
127
101
-65
8
-3
-8
-3
0
0
0
0
0
0
33
7
114
76
108
-29
-7
0
-10
0
0
0
0
0
0
0
0
0
109
255
94
31
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
49
10
-75
40
-3
-33
0
0
0
-1
0
0
0
0
0
0
41
-13
21
15
-2
82
25
124
0
-18
-25
-7
0
0
0
0
0
-28
23
-32
12
55
146
142
41
63
-92
1
0
0
0
0
0
0
83
-20
-28
-7
8
120
49
93
3
42
0
0
0
0
0
0
0
15
-51
-5
13
55
52
94
-7
-19
87
-1
0
0
0
0
0
0
8
-44
-28
-22
29
75
53
167
52
6
0
0
0
0
0
0
0
-86
0
-14
29
-13
-14
-8
8
-56
-1
0
0
0
0
0
0
0
48
6
-3
14
-40
-29
0
0
8
0
0
0
0
0
0
0
0
6
29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-7
-90
-9
18
-15
0
-5
0
0
0
0
0
0
0
0
0
-107
-26
-54
-15
57
10
48
14
-52
4
0
0
0
0
0
0
0
-46
-14
25
4
-75
-1
2
0
3
5
0
0
0
0
0
0
0
18
35
54
5
100
-10
-1
0
0
0
0
0
0
0
0
0
0
55
-22
5
-10
101
-6
0
1
0
0
0
0
0
0
0
0
0
-6
116
-23
6
24
38
2
0
0
0
0
0
0
0
0
0
0
0
-7
9
-86
12
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-41
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-3
5
6
0
0
0
0
0
0
0
0
0
0
0
0
7
-48
-9
42
-3
-6
0
0
0
0
0
0
0
0
0
0
5
20
24
-23
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
31
24
54
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-30
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-47
62
-9
3
0
0
0
0
0
0
0
0
0
0
0
-7
-14
145
-50
48
-4
-5
0
-1
-7
0
0
0
0
0
0
0
-10
59
27
3
28
16
1
0
0
0
0
0
0
0
0
0
0
-3
-22
40
-27
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
-37
84
46
31
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
50
71
-48
-5
8
0
0
0
0
0
0
0
0
0
0
-4
15
19
-9
39
-6
-23
4
3
1
0
0
0
0
0
0
0
2
-2
25
-26
-40
22
-2
0
0
0
0
0
0
0
0
0
0
-5
43
109
68
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-42
35
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
3
8
33
-2
16
-3
-1
0
0
0
0
0
0
0
0
0
-7
-21
30
1
-24
32
41
0
-1
0
0
0
0
0
0
0
0
4
4
-42
58
1
35
66
-5
0
0
0
0
0
0
0
0
0
-2
-15
-59
-1
-18
59
-8
0
0
0
0
0
0
0
0
0
0
-1
10
-37
8
30
47
44
8
-1
0
0
0
0
0
0
0
0
0
7
-2
-41
-2
45
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-8
-14
5
-12
-7
0
0
0
0
0
0
0
0
0
-13
-66
93
47
-10
-42
-35
-12
7
0
0
0
0
0
0
0
0
31
75
-2
3
50
31
28
15
15
-1
0
0
0
0
0
0
0
-25
86
29
17
-8
-37
-23
-14
-9
0
0
0
0
0
0
0
0
80
29
45
44
13
-12
13
-35
3
0
0
0
0
0
0
0
0
-10
31
24
-39
-19
-25
-6
-32
-16
6
0
0
0
0
0
0
0
1
0
-14
4
-2
-2
-13
1
1
1
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
16
172
37
-39
53
0
95
38
14
4
0
0
0
0
31
29
137
5
83
83
7
-28
-65
48
16
25
-25
0
0
0
0
-1
34
53
52
77
80
3
57
60
74
41
32
-8
-2
0
0
0
-4
61
50
-17
-42
117
50
107
44
-19
32
-7
-5
0
0
0
0
0
-39
103
97
3
142
43
75
37
-26
0
1
0
0
0
0
0
0
18
17
16
2
-47
57
-56
35
-5
-1
0
0
0
0
0
0
0
0
1
20
-100
28
-22
-11
4
-50
-3
2
0
0
0
0
0
0
0
0
0
-4
34
2
-47
13
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
31
-101
-4
9
3
-63
-12
0
-68
-102
5
16
-13
0
0
0
0
-42
-37
-77
-45
-7
-64
6
-38
-73
-48
8
-11
-2
13
0
0
0
76
-27
47
-11
15
-40
-22
-12
-67
-42
-18
-10
5
0
0
0
0
70
91
-68
33
45
5
-3
-28
-16
-93
66
43
-31
-3
0
0
0
35
18
17
39
6
1
15
51
-21
-83
59
91
20
1
0
0
0
-45
-115
30
-25
66
24
5
4
15
-17
-12
-8
32
20
0
0
0
1
13
-42
11
1
15
-9
36
-3
-18
-43
-2
-9
0
0
0
0
3
1
34
23
12
12
7
-22
1
-23
-24
1
3
2
0
0
0
0
0
2
95
4
1
-2
-15
62
-41
0
0
-1
0
0
0
0
0
9
-1
56
75
-125
-32
0
48
-94
37
8
13
-8
-3
0
0
0
6
-2
90
7
-108
20
-36
-43
-19
-1
-18
1
3
0
0
0
-7
13
17
-20
22
18
-18
-23
41
32
7
25
-12
0
3
0
0
0
-13
68
21
4
60
13
57
103
37
-33
9
-7
0
0
0
0
0
32
25
31
40
5
-8
-15
41
-54
5
16
-2
0
0
0
0
0
1
72
12
77
52
49
-1
-9
-3
23
-32
-2
7
-3
0
0
0
1
-2
-21
-38
7
76
-28
-8
8
-5
54
-25
4
0
0
0
0
0
-6
13
18
5
7
33
17
-12
31
8
-9
-8
2
6
0
0
0
0
30
-9
6
-52
0
-5
-35
-18
1
-14
3
-18
0
0
0
15
28
68
90
-61
42
0
57
-64
43
7
3
0
0
0
0
0
49
69
-14
-10
-33
48
-39
-14
-54
-5
-22
-1
0
0
0
0
0
7
-94
-18
58
45
41
-5
23
76
41
1
-4
0
0
0
0
0
33
-15
27
107
65
108
-29
45
23
35
0
0
0
0
0
0
0
27
88
24
103
35
14
4
14
26
-15
0
-4
0
0
0
0
0
6
15
37
26
67
56
-6
-42
32
-41
-2
0
-7
0
0
0
0
3
-10
20
77
34
20
112
-25
-76
26
-31
-22
0
0
0
0
0
0
4
55
63
70
15
13
-29
-21
-6
0
8
0
0
0
0
0
0
0
1
-3
43
-17
-9
0
0
0
0
0
0
0
0
-2
49
-79
-9
49
7
3
43
0
10
-94
-14
-1
0
0
0
0
-5
28
-31
-8
-13
58
4
-15
-30
85
-26
41
-1
3
0
0
0
57
25
82
22
44
76
52
43
51
18
50
5
0
1
0
0
0
0
58
44
-30
5
12
18
51
34
13
-75
0
1
0
0
0
0
5
-73
-20
22
-5
74
99
30
62
-17
-4
4
0
0
0
0
0
-1
-1
-23
92
17
139
2
37
53
90
-1
0
0
0
0
0
0
0
2
8
19
-109
-2
23
-62
44
-20
4
0
-1
0
0
0
0
0
0
0
1
9
44
-45
5
-49
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
-1
0
0
0
0
0
0
0
0
2
-7
18
-2
-86
-47
-94
0
-13
0
0
0
0
0
0
0
3
6
-4
31
-1
87
108
-50
-33
1
1
0
0
0
0
0
0
0
-8
14
57
-16
34
-51
-4
89
30
0
0
0
0
0
0
0
0
8
-10
-49
55
76
42
11
-23
0
-1
0
0
0
0
0
0
0
0
5
-7
1
111
40
-1
55
4
0
0
0
0
0
0
0
0
-4
0
-45
28
-156
-61
-45
-17
-69
0
0
0
0
0
0
0
0
0
0
-5
-56
24
-61
-50
-23
-2
0
0
0
0
0
0
0
0
0
0
13
-4
-52
18
-41
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
1
-2
7
2
42
11
96
0
14
-8
0
0
0
0
0
0
-1
3
-8
74
66
-17
46
9
-1
57
5
8
0
0
0
0
0
-2
20
-9
-7
61
44
51
128
-9
-70
-15
1
-2
0
0
0
0
-1
45
8
-31
61
34
-41
7
3
-40
-8
0
-1
0
0
0
0
-3
-41
8
17
40
-34
-51
63
-72
23
-49
0
3
0
0
0
0
-1
-7
-1
3
53
4
17
-3
12
-97
-78
4
2
0
0
0
0
1
-5
0
0
2
10
42
-51
-6
13
-8
3
0
0
0
0
0
0
0
0
-5
2
-64
-42
-67
-84
-12
-19
1
0
0
0
0
0
0
0
0
0
0
0
-14
-97
23
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-9
-2
0
1
0
0
0
0
0
0
0
0
2
102
0
0
20
-43
-22
1
0
0
0
0
0
0
0
0
0
-43
-16
77
31
10
5
6
5
2
0
0
0
0
0
0
0
0
8
-36
22
61
-31
49
0
0
8
0
0
0
0
0
0
0
0
6
9
45
-4
-64
6
-4
1
0
0
0
0
0
0
0
0
0
-22
-30
-26
106
62
-9
0
0
0
0
0
0
0
0
0
0
0
5
-95
-101
-45
50
59
4
-1
0
0
0
0
0
0
0
0
0
4
-31
42
4
-57
49
1
0
0
0
0
0
0
0
0
0
0
0
-18
-7
11
-85
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
9
-53
20
26
10
1
-6
0
0
0
0
0
0
0
0
0
0
0
9
39
4
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
10
74
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
-24
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
62
5
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
115
-18
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
1
105
0
0
6
-20
-2
0
-1
0
0
0
0
0
0
0
0
3
-9
94
15
66
-20
-1
0
0
0
0
0
0
0
0
0
0
4
-63
-14
22
22
-19
0
-3
0
0
0
0
0
0
0
0
0
-3
-62
-38
-21
-100
1
-2
0
0
0
0
0
0
0
0
0
0
0
-15
25
-128
18
0
0
-2
0
0
0
0
0
0
0
0
0
0
46
-56
-62
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-42
-3
33
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-35
50
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-10
-52
0
0
-24
6
6
0
0
0
0
0
0
0
0
0
2
-5
27
79
75
-45
8
0
0
0
0
0
0
0
0
0
0
0
-53
-15
140
44
1
-8
0
0
0
0
0
0
0
0
0
0
0
-32
-48
7
60
-7
5
0
0
0
0
0
0
0
0
0
0
0
-49
-24
-77
-58
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
-60
-17
-38
-49
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
66
-15
49
-20
0
0
0
1
0
0
0
0
0
0
0
-7
63
-104
-49
-142
-80
0
0
0
13
1
0
0
0
0
0
0
-1
80
41
-50
-68
-62
-64
5
84
-9
5
-3
0
0
0
0
0
-2
-17
-56
-11
-29
-5
54
-12
46
-14
2
0
0
0
0
0
0
0
31
19
-32
-66
-147
-149
-3
5
0
3
0
7
0
0
0
0
0
0
16
-3
4
37
13
-42
6
-7
0
0
0
0
0
0
0
0
0
-5
-44
-25
4
2
-75
-75
-6
-3
0
0
0
0
0
0
0
0
0
0
17
-1
-49
-30
-62
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-72
-27
-1
0
0
0
0
0
0
0
0
7
14
-3
1
-6
0
0
0
0
-35
-1
6
0
0
0
0
14
15
2
-1
5
25
0
0
0
63
43
4
3
0
0
0
0
-28
53
-5
-71
-56
-7
32
57
89
37
-21
18
0
0
0
0
0
18
13
58
72
73
42
-119
58
-18
-44
-7
0
0
0
0
0
0
2
27
-15
-59
-5
-98
-36
-56
-96
-23
-7
0
0
0
0
0
0
67
0
-20
-68
-68
-4
12
52
102
-8
0
0
0
0
0
0
0
0
-3
-3
22
-37
50
-61
-99
13
-58
2
-1
0
0
0
0
0
0
0
-1
0
10
3
-41
-20
19
-45
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
-61
-4
-8
-1
0
0
0
0
0
12
-30
25
59
13
-33
1
0
0
0
0
0
0
0
0
0
0
-9
11
-11
18
71
31
0
0
0
0
0
0
0
0
0
0
0
90
34
35
47
53
-54
-22
-3
0
0
0
0
0
0
0
0
0
23
36
2
-4
36
-9
7
5
-1
1
0
0
0
0
0
0
0
31
40
-38
58
-62
0
-23
31
2
1
0
0
0
0
0
0
0
-15
9
58
22
5
-7
124
17
15
43
1
0
0
0
0
0
0
50
-21
44
36
5
-59
-60
28
-9
2
4
0
0
0
0
0
0
0
-13
-30
27
-47
-44
-25
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
-1
1
3
1
0
0
0
0
0
0
0
0
0
0
22
0
-34
66
122
27
103
0
0
0
47
-31
0
0
0
0
0
12
-36
-24
25
-35
89
-29
0
0
68
-30
14
-2
5
0
0
0
-47
-11
31
19
-11
57
29
-37
147
-21
-22
-2
4
0
0
0
0
71
35
49
29
-39
35
-1
106
-33
22
-2
2
0
0
0
0
0
94
19
31
-20
-16
-11
-73
-7
-5
-29
6
8
-3
0
0
0
0
32
-11
57
26
-13
-129
-5
-29
-26
2
1
8
0
0
0
0
0
8
-1
72
12
-49
-104
14
-53
-114
-18
-1
-1
0
0
0
0
0
0
5
6
-30
-2
-110
-46
-32
-4
-4
0
0
0
0
0
0
0
0
0
-3
0
0
-18
0
1
0
0
0
0
0
0
0
0
0
1
-33
-17
-28
21
36
-3
0
0
-13
-8
-7
0
0
0
0
0
-3
-11
0
-15
-10
42
2
22
13
31
-1
-7
0
0
0
0
0
-14
56
21
-3
-25
-16
3
34
76
-33
-13
22
-2
0
0
0
0
62
-14
19
-9
-2
23
-6
-58
10
33
-58
12
0
0
0
0
0
35
28
-41
-24
-27
-38
-54
21
-50
-34
-57
-3
1
0
0
0
0
5
-1
-25
1
-45
-58
-10
-67
15
-31
89
-37
-4
0
0
0
0
-25
26
-21
23
-6
-27
-37
-100
-77
29
97
45
0
0
0
0
0
0
21
-5
3
-15
-23
50
-55
0
14
0
0
0
0
0
0
0
0
0
39
37
-44
78
38
4
-1
0
6
0
0
0
0
0
0
24
5
-27
75
-76
86
153
0
0
-2
0
0
0
0
0
0
0
14
5
22
30
-14
-22
-1
7
60
-2
0
1
0
0
0
0
0
-38
82
-11
15
87
27
5
97
8
0
0
0
0
0
0
0
0
110
95
58
-7
12
32
83
-33
4
8
-1
0
0
0
0
0
0
80
40
-39
26
-76
7
-19
31
-6
-5
0
0
0
0
0
0
0
0
-42
-41
-12
-8
-64
-78
-27
-4
0
0
0
0
0
0
0
0
0
-1
-38
122
23
39
-17
-1
0
0
0
0
0
0
0
0
0
0
0
13
91
-33
-49
23
-12
4
0
0
0
0
0
0
0
0
0
4
-7
-19
5
3
6
4
-3
0
0
0
0
0
0
0
0
3
51
31
-10
64
66
4
-36
0
3
0
0
0
0
0
0
0
22
-33
3
15
9
33
0
14
-64
2
-2
0
0
0
0
0
0
-13
0
-12
28
18
53
-50
25
0
-12
0
4
0
0
0
0
0
-31
-36
-15
-32
-7
-10
45
3
-19
0
0
0
0
0
0
0
0
-34
48
-41
41
-7
-41
65
-5
32
10
3
9
0
0
0
0
0
-41
-35
21
10
-19
-17
7
-48
-5
0
0
0
0
0
0
0
0
54
37
-1
-46
35
-14
-5
19
2
-5
0
0
0
0
0
0
0
29
34
-3
-32
36
26
37
13
0
0
0
0
0
0
0
0
0
0
0
80
6
5
8
-2
0
0
0
0
0
0
0
0
0
0
-70
-21
10
14
134
112
63
0
0
-3
-6
9
2
0
0
0
0
-28
-4
29
13
0
93
0
0
82
0
78
-21
-4
0
0
0
0
24
20
4
-1
44
13
-10
76
60
156
43
-1
0
0
0
0
0
26
34
23
52
-36
52
32
23
75
-46
49
-2
-7
0
0
0
0
46
15
18
-4
-19
31
-21
-25
-47
72
2
0
0
0
0
0
0
7
27
32
-11
6
1
-121
-43
-89
13
-5
0
0
0
0
0
0
-5
20
33
3
38
-40
23
-50
-22
-16
60
0
0
0
0
0
0
0
-1
-5
-22
23
-6
-8
-66
-4
-37
0
0
0
0
0
0
0
0
0
19
2
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
-42
-34
-86
-24
-52
-7
14
0
-72
0
-1
0
0
0
0
0
34
57
-9
-63
-42
-63
-55
0
6
0
-10
0
0
0
0
0
0
28
-44
-80
19
5
-3
-115
22
31
-5
0
-3
0
0
0
0
0
-10
74
-5
34
-73
-7
-88
15
41
5
-3
0
0
0
0
0
0
32
-41
19
-96
-59
-42
-19
-69
-18
9
0
0
0
0
0
0
0
0
-92
-29
-51
-67
-101
-10
-43
-9
10
4
0
0
0
0
0
0
0
0
5
55
-5
-21
-60
9
-7
-6
0
0
0
0
0
0
0
0
0
0
6
-9
-19
0
18
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-49
5
5
39
13
-84
0
0
0
-1
0
0
0
0
0
0
-11
36
-2
-66
-48
113
3
5
0
0
45
5
0
0
0
0
0
-1
-4
2
75
-21
33
76
44
57
-9
0
-1
0
0
0
0
0
20
-64
71
47
35
121
71
-18
70
-50
14
0
0
0
0
0
0
-21
-47
-40
-8
-22
-68
7
-123
-79
23
2
3
0
0
0
0
0
-35
20
8
-1
-68
5
49
69
21
26
1
0
0
0
0
0
0
16
-22
36
-13
-19
-58
-1
-55
63
35
0
0
0
0
0
0
0
-6
-56
10
82
-15
-3
-16
-49
29
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-147
23
50
154
-36
55
0
129
7
0
0
0
0
0
0
16
20
24
87
23
-3
80
0
4
38
-34
0
0
0
0
0
0
-9
-17
-4
24
34
4
0
1
0
-31
0
0
0
0
0
0
0
-2
49
5
24
-33
0
-1
0
0
-48
0
0
0
0
0
0
0
-21
39
74
40
22
35
1
-1
0
0
0
0
0
0
0
0
0
-10
-56
-91
-36
-31
13
1
0
0
0
0
0
0
0
0
0
0
21
70
8
-58
-105
8
0
0
0
0
0
0
0
0
0
0
0
-42
30
-22
16
-25
0
0
0
0
0
0
0
0
0
0
0
0
-66
-5
-70
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
2
0
5
6
0
-6
0
-2
0
0
0
0
0
0
0
2
41
-53
59
8
2
0
0
0
0
0
0
0
0
0
0
0
-6
14
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-8
-43
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
31
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-2
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
28
-51
8
-2
2
19
0
-19
0
0
0
0
0
0
0
0
-72
-32
19
8
0
1
0
1
7
0
0
0
0
0
0
0
1
-30
50
-22
-6
0
0
0
0
3
0
0
0
0
0
0
0
12
-22
4
-52
-45
0
1
0
0
0
0
0
0
0
0
0
0
-6
6
11
33
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
27
-51
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
-9
-58
21
0
3
-14
0
-14
0
0
0
0
0
0
0
-2
-33
-55
45
-30
14
-6
0
6
0
0
0
0
0
0
0
0
5
-9
-73
18
-10
-4
0
-2
0
-5
0
0
0
0
0
0
0
0
-19
-62
40
20
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-9
45
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
-25
38
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-1
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
8
2
4
4
0
0
0
0
0
0
0
0
0
0
-29
-8
-8
1
9
-2
4
1
0
0
0
0
0
0
0
0
0
-8
8
5
-2
-6
5
7
0
2
0
0
0
0
0
0
0
0
13
1
-6
1
-7
0
-2
-5
-1
0
0
0
0
0
0
0
0
-4
4
-5
-6
-2
-9
2
0
0
0
0
0
0
0
0
0
0
-6
2
-7
-18
5
4
0
0
0
0
0
0
0
0
0
0
0
-5
7
-4
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
45
18
-1
6
-94
-59
0
0
0
0
0
0
0
0
0
-7
-29
82
-6
12
-31
-18
10
-61
22
0
0
0
0
0
0
0
-46
0
44
-23
6
1
1
4
-43
-22
0
0
0
0
0
0
0
13
-13
81
5
6
-20
4
1
-34
-5
0
0
0
0
0
0
0
-87
41
-14
-26
7
2
15
9
-14
-5
0
0
0
0
0
0
0
9
-2
17
44
-18
-44
14
0
0
1
0
0
0
0
0
0
0
-4
-41
30
-9
-45
-29
2
-3
0
0
0
0
0
0
0
0
0
-8
49
27
-60
34
-1
0
-2
0
0
0
0
0
0
0
0
0
-45
20
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
31
94
113
7
1
-30
0
41
-28
-16
-38
-3
0
0
0
0
47
25
-47
112
53
-12
-18
11
-15
-3
-44
42
1
0
0
0
-1
9
60
56
13
62
-14
-4
-16
-51
-41
18
-15
-13
0
0
0
-1
66
91
47
-48
41
70
76
79
90
46
49
-35
-21
0
0
0
0
32
12
26
-5
7
54
49
42
46
-37
42
-3
-1
0
0
0
-8
0
-17
-32
130
14
43
-23
102
41
20
0
0
-8
0
0
0
0
-4
13
-24
4
55
1
-15
51
0
1
2
0
0
0
0
0
0
0
1
1
-1
-80
3
8
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
57
26
-33
-38
20
0
-63
-93
124
52
19
0
0
0
0
-3
22
-6
19
-35
-37
46
32
12
6
9
-10
-32
17
3
0
0
-80
1
40
52
-17
-47
-62
-42
24
-23
-4
45
31
7
0
0
0
-9
13
-7
21
11
15
67
-16
79
13
54
83
31
24
0
0
0
-32
-50
52
39
-5
-18
46
36
-4
-25
-24
72
-11
0
0
0
0
-65
-40
62
22
39
30
44
-92
30
19
-20
69
25
1
0
0
0
-6
-67
-5
-19
2
5
-9
10
20
32
-73
-25
5
-2
0
0
0
8
-33
-44
1
-21
-21
13
26
25
56
-43
-9
9
4
0
0
0
0
-8
-3
36
-25
-22
-42
-6
38
16
70
7
-2
0
0
0
0
0
4
10
-42
28
-95
-1
0
55
44
8
-8
0
0
0
0
0
0
-1
63
32
-12
4
-60
-2
63
-59
-12
-1
2
0
0
0
0
0
1
25
87
13
42
19
-55
-1
26
18
4
0
0
0
0
0
0
-19
41
119
54
7
14
128
141
69
8
0
0
1
0
0
0
0
0
12
72
-20
-28
89
51
198
57
5
0
0
-2
0
0
0
0
0
0
52
88
42
-3
66
71
-8
-5
15
0
0
0
0
0
0
0
35
76
98
-120
5
-36
-38
-8
-1
0
0
0
0
0
0
0
0
0
136
5
53
3
21
-45
4
0
-1
0
0
0
0
0
0
0
0
41
-6
78
51
-39
10
-4
0
0
0
0
0
0
0
0
1
123
149
54
-114
166
0
35
-19
-30
3
-1
0
0
0
0
0
3
142
30
-14
-60
-99
29
19
27
-22
13
-10
0
1
0
0
0
25
3
-54
50
-46
-103
46
102
32
-16
2
2
0
0
0
0
0
3
14
43
35
50
131
123
88
74
-15
-22
4
0
0
0
0
0
-92
-31
43
79
22
-4
80
77
13
2
3
-1
0
0
0
0
0
1
23
51
-91
2
77
-18
2
32
-1
-5
0
0
0
0
0
0
2
-24
112
-76
13
19
76
38
-27
1
4
0
0
0
0
0
0
0
8
139
5
-115
-58
68
57
-28
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
-4
33
62
5
58
96
-23
-82
0
-9
-53
8
-1
0
0
0
0
-3
46
65
-13
42
61
-43
11
31
69
40
53
-18
0
0
0
0
-2
-33
30
23
-52
58
-11
-11
38
-15
54
-41
2
-3
0
0
0
0
37
-28
57
123
127
50
56
117
94
-28
-6
0
0
-1
0
0
0
44
5
37
9
28
19
22
-30
31
7
-3
0
0
0
0
0
4
13
-8
42
-36
-58
3
110
-1
5
0
0
0
0
0
0
0
8
-6
-4
-43
101
82
-40
-2
0
17
-6
1
5
0
0
0
0
0
0
-8
24
-73
7
-25
31
-1
0
0
0
0
0
0
0
0
0
0
2
0
-2
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
43
-22
-46
0
6
0
0
0
0
0
0
0
0
0
3
0
25
-19
17
-111
-11
-19
4
0
0
0
0
0
0
0
0
1
-2
-14
-4
-5
25
75
-3
1
0
0
0
0
0
0
0
0
-17
-4
0
41
-25
49
-2
-3
0
0
0
0
0
0
0
0
0
0
-1
-5
-7
-2
2
-2
1
0
0
0
0
0
0
0
0
0
3
0
4
-85
-14
18
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
42
1
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
4
-14
-8
53
0
-61
0
6
0
0
0
0
0
0
2
17
9
60
18
-68
47
-100
107
-19
1
0
5
0
0
0
0
1
5
36
25
25
11
14
11
-79
-50
0
0
-5
0
0
0
0
23
-20
1
104
53
36
53
55
46
22
-5
0
0
0
0
0
0
-22
-25
8
2
31
8
-25
-16
34
30
15
-5
0
0
0
0
0
-7
1
24
-57
-37
10
26
73
-45
33
0
-1
0
0
0
0
0
7
-40
13
-9
-57
34
-78
84
-31
-1
3
0
0
0
0
0
0
1
0
4
-111
24
-30
10
24
28
0
5
0
0
0
0
0
0
0
0
0
-4
6
5
-5
-4
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
29
-14
0
8
0
0
0
0
0
0
0
0
0
98
0
0
187
41
4
-28
-25
3
0
0
0
0
0
0
0
3
51
160
119
87
38
-41
16
-2
3
0
0
0
0
0
0
0
0
-53
70
74
61
-30
31
-34
-37
-24
0
0
0
0
0
0
0
-3
108
41
42
-13
-66
2
5
-7
0
0
0
0
0
0
0
0
-6
21
55
23
-64
69
42
-30
-48
0
0
0
0
0
0
0
0
2
-3
-45
50
31
7
25
6
0
0
0
0
0
0
0
0
0
1
6
-88
-37
-45
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
22
-16
82
-1
3
0
0
0
0
0
0
0
0
0
0
0
31
-53
13
17
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-119
24
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
64
0
0
60
-13
19
1
-3
0
0
0
0
0
0
0
0
0
104
6
-38
13
66
1
0
-6
0
0
0
0
0
0
0
0
0
61
0
-92
101
-17
-4
0
10
0
-2
0
0
0
0
0
0
9
-5
31
-41
-33
-25
7
-19
0
1
0
0
0
0
0
0
0
1
6
-29
31
33
-7
3
0
-2
0
0
0
0
0
0
0
0
0
10
18
-5
7
-2
0
-1
0
0
0
0
0
0
0
0
0
0
6
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
39
0
0
82
28
-6
0
0
0
0
0
0
0
0
0
0
0
8
14
77
-70
-46
6
0
0
0
0
0
0
0
0
0
0
-4
48
31
33
-29
-2
0
0
0
0
0
0
0
0
0
0
0
41
72
-19
-132
58
0
0
0
0
0
0
0
0
0
0
0
0
-3
-61
103
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
68
-69
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
18
-2
-17
0
0
0
-1
5
0
0
0
0
0
0
0
-9
4
-21
0
14
0
0
0
-9
0
0
0
0
0
0
0
0
2
1
30
3
-15
30
0
-83
0
-5
0
0
0
0
0
0
0
1
30
-5
16
122
52
24
40
4
0
0
0
0
0
0
0
3
-6
-1
-1
85
50
37
-5
97
5
-7
0
-2
2
0
0
0
0
0
5
21
-30
-26
13
42
66
3
0
0
6
0
0
0
0
0
0
4
8
25
-76
30
49
-11
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
2
2
0
1
0
0
0
0
-1
12
2
0
-3
2
0
0
0
-58
-30
84
-3
-8
0
0
0
0
12
-4
6
-34
16
58
3
63
67
74
12
3
-6
0
0
0
0
-4
4
0
-6
118
127
-51
12
-50
8
-1
0
0
0
0
0
-1
-2
-15
8
-42
27
96
-1
4
-60
-4
8
0
0
-1
0
0
3
25
-30
-5
-128
37
-9
1
-34
8
1
0
0
0
0
0
0
-5
5
41
-8
117
41
14
-35
55
0
0
0
0
0
0
0
0
-2
0
0
-7
1
-35
5
27
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
-1
-2
0
0
0
0
0
0
0
-2
77
22
55
-56
3
-1
0
0
0
0
0
0
0
0
0
0
-24
-16
77
-40
-15
20
-3
0
0
0
0
0
0
0
0
0
0
-12
136
63
27
-7
32
0
0
0
1
0
0
0
0
0
0
0
5
-6
18
65
3
-25
17
-4
10
-1
-1
0
0
0
0
0
0
8
56
113
-98
-13
92
-12
-31
14
-4
2
-1
1
0
0
0
0
-8
-26
-67
-67
-50
-18
14
34
-20
-18
-12
9
-3
0
0
0
0
31
-71
123
77
-137
91
46
84
19
79
-13
-31
-1
-1
0
0
0
0
44
5
-77
-102
41
-46
79
-80
66
13
0
-5
0
0
0
0
0
0
6
-20
9
0
-6
0
2
-1
0
0
0
0
0
0
0
-68
-15
12
-67
46
-4
-27
0
0
0
-51
7
0
0
0
0
0
-9
66
58
0
110
49
197
0
0
39
57
-29
-27
1
1
0
0
2
-25
1
46
-18
125
187
119
25
25
-6
-25
0
0
0
0
0
14
-16
-62
-40
11
138
139
33
-45
39
-30
84
-8
0
0
0
0
53
-58
-22
13
-25
19
17
74
-1
104
37
-46
9
-4
0
0
0
-2
12
-27
-57
-1
52
57
-55
-15
53
62
-2
-7
8
0
0
0
-1
-31
-54
18
68
-114
90
-38
-92
-85
18
29
-1
2
0
0
0
0
-12
-45
19
-18
31
48
-5
18
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-61
-56
-12
1
73
128
0
0
-8
49
-44
-1
1
0
0
0
-25
-69
-32
-35
-3
27
69
-21
83
28
-20
31
-41
-1
0
0
0
-55
81
6
5
5
14
17
18
40
-51
-9
-16
0
0
0
0
0
52
-8
-16
7
1
53
43
23
54
-8
23
2
-15
3
-1
0
0
-21
33
-5
3
11
-23
42
14
10
66
72
-46
-5
-1
0
0
0
-33
-7
52
-12
-19
-18
-42
31
0
-32
45
110
-6
1
0
0
0
51
24
-38
-4
13
-33
-36
-40
-101
67
-82
-14
-22
0
0
0
0
10
-37
8
-2
-12
-21
25
-38
72
-2
-23
16
-1
0
0
0
0
0
-6
-23
-48
-24
68
27
-38
-41
-47
-47
-2
0
0
0
0
0
-41
-47
-91
9
43
50
-15
0
0
0
0
0
0
0
0
0
0
8
29
38
72
118
7
58
43
-3
0
0
0
0
0
0
0
0
-18
-15
16
79
16
1
-13
-21
100
0
0
0
0
0
0
0
0
2
-18
-99
15
-87
15
7
-5
-53
0
0
0
0
0
0
0
0
-22
56
-52
27
-41
14
84
-52
-10
-4
0
0
0
0
0
0
0
-44
-78
-33
-74
-25
-35
-22
-52
-20
3
-5
0
0
0
0
0
0
-26
-64
53
53
95
39
-17
-68
-24
-20
0
0
0
0
0
0
0
30
17
-3
-23
81
7
-7
-62
-31
-28
1
2
0
0
0
0
0
0
-17
-57
38
14
7
-41
-12
52
0
3
0
0
0
0
0
0
5
18
23
45
35
144
-31
67
0
6
0
0
0
0
0
0
0
-83
65
-41
-8
72
53
0
85
8
23
0
0
0
0
0
0
0
20
-65
15
91
51
23
116
-18
4
9
-2
-1
0
0
0
0
0
-59
63
55
6
37
-61
57
30
30
3
-1
0
0
0
0
0
0
41
-20
1
-12
57
69
-49
-49
-8
-9
3
0
1
0
0
0
0
-69
-21
-13
-13
-41
16
98
-22
9
-4
-25
0
0
0
0
0
0
-83
-24
10
-140
-75
-2
42
-2
-41
-9
-1
0
0
0
0
0
0
120
24
-67
-116
-36
-102
-53
-3
91
5
0
0
0
0
0
0
0
0
0
-20
-22
-14
0
0
0
0
0
0
0
0
0
0
0
0
-37
24
6
64
51
21
97
0
0
135
22
-6
-19
0
0
0
0
-43
29
4
50
71
-2
80
0
151
0
17
-37
13
0
0
0
0
-17
-48
-23
-1
-3
146
153
132
55
4
-6
-5
2
0
0
0
0
-92
14
8
-4
-42
10
13
-58
-72
-84
70
-15
0
0
0
0
0
-31
-49
51
8
-7
80
22
6
-76
-50
-9
-3
-3
2
0
0
0
1
-109
-31
-64
-50
-4
-16
59
99
-82
-79
22
0
0
0
0
0
-1
-28
26
-35
-51
52
-23
24
-29
-67
-86
-13
-2
0
0
0
0
0
2
9
51
60
115
60
27
21
2
11
0
0
0
0
0
0
0
0
-12
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
7
-101
-5
-12
8
0
23
-12
3
0
0
0
0
0
17
-30
15
-112
-61
9
5
0
-21
0
25
0
3
0
0
0
0
7
14
18
-61
13
28
8
18
-21
-33
-3
8
0
0
0
0
0
0
-48
13
15
65
104
98
97
-14
-53
-13
-8
0
0
0
0
0
-1
-33
93
44
101
181
5
-15
-50
-31
0
0
0
0
0
0
0
0
63
192
110
144
12
40
-25
-7
-13
-3
0
0
0
0
0
0
0
12
136
52
119
-27
31
-28
-20
5
0
0
0
0
0
0
0
0
0
6
146
-24
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
-47
86
16
42
13
41
33
0
0
0
1
1
2
0
0
0
0
-48
74
-7
30
-9
71
87
1
0
28
39
0
-1
0
0
0
0
25
-44
20
-12
43
-48
6
15
4
-19
-15
-1
0
3
0
0
0
10
35
69
70
-39
44
17
8
7
-54
31
0
0
1
0
0
0
-3
-69
7
0
53
18
-42
-38
53
-30
0
0
0
0
0
0
0
24
-100
51
-9
-26
-99
-134
11
-18
107
-1
0
0
0
0
0
0
23
-57
43
-46
7
57
-24
-51
47
-48
-2
0
0
0
0
0
0
-5
102
-22
54
48
41
15
0
42
0
0
0
0
0
0
0
0
0
16
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
49
-9
-13
12
3
1
0
-9
0
0
0
0
0
0
0
0
60
-129
160
23
-42
46
-66
12
35
-5
0
0
0
0
0
0
-7
-11
-56
44
-2
99
-49
-30
8
-40
49
0
0
0
0
0
0
-2
16
-95
49
-130
-5
0
0
-4
5
0
0
0
0
0
0
0
0
13
62
55
23
-1
7
0
0
0
0
0
0
0
0
0
0
0
17
-31
-15
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
31
-14
-12
5
2
18
12
0
0
0
0
0
0
0
0
0
31
19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-60
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
3
7
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
114
-67
21
49
-14
-3
-20
22
0
0
0
0
0
0
0
0
46
23
-41
0
-15
-1
-2
2
56
0
0
0
0
0
0
0
0
-13
60
52
13
23
0
0
2
0
0
0
0
0
0
0
0
0
0
43
89
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-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
-8
8
0
3
2
0
0
0
0
0
0
0
0
0
0
0
-7
20
7
25
-18
8
-17
-59
-41
3
0
0
0
0
0
0
0
0
-4
-36
79
7
1
-1
-3
6
0
0
0
0
0
0
0
0
21
-16
19
107
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-1
4
-1
0
0
0
0
0
0
0
0
0
0
2
8
24
-20
-15
-71
-47
10
4
0
0
0
0
0
0
0
0
0
0
-9
-37
73
-16
-6
0
0
1
0
0
0
0
0
0
0
0
0
1
-8
51
35
-5
0
0
0
0
0
0
0
0
0
0
-4
6
6
-5
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
43
9
-17
0
0
1
0
0
0
0
0
0
4
22
35
5
18
71
-10
-19
10
0
0
0
0
0
0
0
0
3
-37
-1
42
4
18
-52
-64
-14
5
0
0
0
0
0
0
0
0
17
54
-17
42
-13
0
-23
-5
0
0
0
0
0
0
0
0
0
-1
8
-14
14
34
-8
-16
-3
1
0
0
0
0
0
0
0
0
2
-1
-5
-22
5
6
-5
6
-22
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-2
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
19
10
-8
-14
-13
0
-24
16
56
2
0
0
0
0
-4
33
44
-75
66
53
30
-64
-15
49
59
62
36
6
0
0
0
0
87
32
22
-3
13
39
79
-30
14
26
26
-18
-6
0
0
0
0
-12
50
129
95
53
127
150
81
74
-54
-5
-27
4
-1
0
0
2
0
-13
-55
-3
145
109
86
84
-164
-8
-1
4
0
0
0
0
0
0
-8
13
-14
-67
-7
25
-57
-13
20
6
0
0
0
0
0
0
0
-1
-6
0
4
17
24
49
-13
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-3
60
-1
-41
31
0
49
42
16
-25
-5
0
0
0
0
0
11
85
26
12
-52
29
-30
52
-75
28
-22
50
-49
0
0
0
0
48
64
17
32
14
-1
-22
13
-117
-15
-86
-53
-1
0
0
0
-3
-9
11
24
25
46
-37
-25
17
-13
38
-13
58
6
0
0
0
-6
29
-22
53
-6
-8
22
-12
-75
-3
-67
-21
133
-30
0
0
0
0
38
-70
21
-11
30
-40
-67
86
2
29
43
96
-61
0
0
0
-8
-23
-54
-56
-10
15
-9
-90
-20
-53
-34
-16
-15
-5
0
0
0
0
0
13
-6
46
22
8
-49
-81
-42
-16
-4
0
0
0
0
0
0
0
0
-1
133
-12
-87
57
-65
-32
60
9
0
0
0
0
0
0
0
14
66
-3
-59
38
0
-111
-93
-28
-67
114
-18
-65
0
0
0
3
-41
-93
-6
95
84
17
-19
-28
111
-5
-2
-13
0
-12
0
0
3
49
46
87
-30
39
2
16
9
40
16
19
22
11
0
0
0
10
21
68
176
118
56
20
0
82
-9
-43
16
-4
0
0
0
0
0
-8
-51
18
43
-57
35
-44
14
-5
-31
-8
0
5
0
0
0
0
2
8
13
33
-23
29
-10
-62
89
12
-31
-6
0
0
0
0
0
0
-8
-8
-99
-24
-16
-14
47
-42
12
-94
-10
-24
3
0
0
0
0
-5
29
-13
64
-56
-19
-17
43
25
19
41
20
-72
0
0
0
0
0
-6
19
-73
-9
-10
-16
-66
15
24
135
50
15
0
0
0
32
-46
75
-12
33
0
-1
-27
2
8
48
-2
0
0
0
0
7
-12
59
80
-61
-2
14
-35
28
73
44
-24
5
-1
0
0
0
3
45
49
16
21
-25
5
72
-13
-40
23
28
-1
0
0
0
0
10
63
69
36
53
97
79
64
54
41
17
8
0
0
0
0
0
-1
18
-13
-8
25
32
38
-17
102
-19
20
-1
-2
0
0
0
0
0
8
68
87
9
66
22
-1
21
-63
49
13
-20
24
0
0
0
0
0
8
31
-48
26
-44
-9
-63
-32
9
73
-1
0
0
0
0
0
0
48
21
33
53
6
-53
-10
-31
-23
12
-71
-12
0
0
0
0
0
0
0
35
-35
8
0
0
0
0
0
0
0
0
0
-19
-67
41
-15
-14
-26
-19
0
-22
-15
-23
0
1
0
0
0
-3
46
59
76
26
-33
-65
-37
-106
5
-51
-46
-6
0
0
0
0
-6
45
75
115
12
-12
64
-15
106
39
-10
21
30
-3
0
0
0
0
-4
5
87
46
118
-22
124
14
34
72
-16
1
-16
6
0
0
0
2
21
30
138
-11
28
48
73
-11
13
-12
0
0
0
0
0
0
0
9
21
18
44
106
108
38
-24
-90
-2
0
0
4
0
0
0
0
0
0
0
-66
-69
-12
-58
19
-1
0
0
0
0
0
0
0
0
0
5
0
3
2
-31
5
8
0
4
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
-54
0
-2
0
0
0
0
0
0
0
0
0
-1
-5
-10
-10
22
114
26
-2
0
0
0
0
0
0
0
0
0
4
-13
96
42
10
-7
-25
-4
-2
0
0
0
0
0
0
0
0
-5
3
42
34
82
111
1
0
0
0
0
0
0
0
0
0
0
0
7
69
25
15
4
-7
3
0
1
0
0
0
0
0
0
0
0
15
2
60
8
74
12
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
0
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
0
0
59
51
-59
0
-24
-47
1
0
0
0
0
0
-2
0
-9
56
11
168
-18
-48
14
-60
-42
5
19
1
0
0
0
0
-6
-9
10
37
100
-41
12
4
-35
18
9
1
0
0
0
0
0
0
0
15
47
112
102
133
83
-66
26
-3
-6
0
0
0
0
0
0
0
13
121
28
31
-22
-64
-87
47
0
0
0
0
0
0
0
0
0
3
-26
-75
-59
35
-42
89
4
-6
-1
0
0
0
0
0
0
0
0
-13
46
44
-37
-72
-9
76
-8
0
3
0
0
0
0
0
0
0
0
-22
-86
5
-57
-59
20
-5
1
0
0
0
0
0
0
0
0
0
-3
-5
-10
-160
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-8
-5
-19
-47
0
0
0
0
0
0
0
0
0
-11
0
0
-2
88
67
56
12
-5
0
0
0
0
0
0
0
-5
26
65
18
13
54
93
59
-61
61
0
0
0
0
0
0
0
9
64
70
32
-13
-7
-13
-61
-49
9
0
0
0
0
0
0
0
0
2
4
42
2
-44
18
-5
-2
-67
0
0
0
0
0
0
0
-7
113
40
1
47
56
-8
7
6
-22
0
0
0
0
0
0
0
-4
-49
79
-42
-28
29
-75
-2
-12
10
1
0
0
0
0
0
0
0
-50
-42
-10
38
-32
-51
18
-2
1
0
0
0
0
0
0
0
0
-9
4
73
-20
-61
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
4
-1
0
1
0
0
0
0
0
0
0
0
0
-7
21
-24
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-31
-22
31
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
3
-33
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
12
19
-32
-1
3
0
0
-1
0
0
0
0
0
0
0
0
-1
-94
-13
4
-2
-5
0
-2
0
0
0
0
0
0
0
0
0
0
121
16
11
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
93
0
0
-18
5
-1
0
0
0
0
0
0
0
0
0
0
0
56
7
51
47
1
-7
4
0
0
0
0
0
0
0
0
0
0
84
179
94
9
0
-2
0
8
-1
0
0
0
0
0
0
0
3
-33
-79
-3
53
42
-5
-4
-3
-1
0
0
0
0
0
0
0
3
-29
60
17
-89
-27
2
-22
2
1
0
0
0
0
0
0
0
0
11
-53
15
120
-51
2
2
-1
4
0
0
0
0
0
0
0
0
0
1
54
60
1
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
19
5
0
0
0
0
0
0
0
0
0
0
0
0
4
25
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
-1
-12
0
0
4
-3
-4
-2
0
0
0
0
0
0
0
0
0
0
-58
79
109
7
1
0
1
0
0
0
0
0
0
0
0
0
-12
-40
49
-135
66
16
0
7
0
0
0
0
0
0
0
0
0
-2
22
106
-31
49
-4
2
-3
0
0
0
0
0
0
0
0
0
0
-81
-34
26
4
6
0
6
-3
0
0
0
0
0
0
0
0
0
58
-83
99
-37
9
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-3
-47
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-7
53
12
-5
0
0
0
-12
1
0
0
0
0
0
0
-6
21
57
14
5
-31
0
0
0
0
2
0
0
0
0
0
0
-5
-5
23
14
0
66
-72
79
6
1
0
3
0
0
0
0
0
0
-4
43
-5
-43
43
-13
-14
75
59
-5
-6
1
0
0
0
0
0
0
9
-6
-33
-77
22
-27
56
-2
51
-3
9
0
0
0
0
0
0
0
3
-24
-57
23
-53
60
21
3
2
6
2
0
0
0
0
0
0
-1
9
28
-35
-33
-25
-13
16
0
0
0
0
0
0
0
0
0
0
0
7
43
-39
-83
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
28
-1
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
7
53
3
0
2
0
0
0
0
0
4
6
3
39
0
0
0
45
72
34
8
0
0
0
0
-1
0
8
114
19
26
-5
51
42
1
15
4
-1
0
-1
0
0
0
0
31
-13
31
85
90
86
-26
-7
6
-8
-4
0
0
0
0
0
0
8
-27
27
-6
-52
22
-32
-13
18
-1
0
0
0
0
0
0
0
0
-36
-9
-78
-153
-4
71
-58
6
-1
-5
-6
0
0
0
0
0
0
12
50
102
41
-41
17
-13
-10
-31
1
-8
-6
0
0
0
0
0
0
3
-5
-97
36
-51
14
5
0
-2
0
0
0
0
0
0
0
0
0
-5
72
13
-18
55
7
-4
0
0
0
0
54
-95
64
-1
-80
-4
1
0
0
0
0
0
0
0
0
0
0
21
20
64
45
19
16
2
0
0
0
0
0
0
0
0
0
0
48
50
41
61
46
48
-6
-1
0
0
0
0
0
0
0
0
0
14
-57
-9
12
64
-9
-5
-2
2
0
0
-1
0
0
0
0
0
-35
4
34
-20
80
56
21
-5
-8
0
0
0
12
-3
0
0
0
0
3
7
39
-17
27
78
50
13
-27
17
-6
-3
-8
0
0
0
0
-7
98
-34
-8
-36
59
-1
13
18
-22
1
-1
5
0
0
0
0
1
3
-8
0
0
1
31
-2
9
-9
31
98
-17
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
44
0
-94
-66
67
2
104
0
0
0
19
-17
-9
18
0
0
0
25
8
15
7
50
-60
-31
0
0
27
71
-42
31
5
0
0
0
31
32
45
50
17
61
-29
3
86
227
106
56
10
-5
-2
0
0
-120
62
14
-10
57
-9
81
55
44
27
-38
5
-2
-1
-6
1
0
2
-67
17
18
59
-49
45
121
-23
-100
6
-18
5
0
0
-1
0
0
16
-51
55
30
-24
-4
-59
-54
-19
0
10
-3
1
-2
0
0
0
0
-8
-28
29
1
9
-73
-71
12
-27
-6
-2
0
-2
0
0
0
0
0
-5
2
0
-1
9
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
31
-9
24
5
91
0
0
60
1
-25
9
0
0
0
0
9
-26
-21
33
0
-20
12
64
91
-54
-77
36
-2
0
0
0
0
36
31
-38
12
16
49
6
-36
28
-77
-60
-9
-16
1
0
0
0
3
48
-48
10
18
32
-8
52
-54
-95
-68
-16
9
-2
0
0
0
34
-12
22
12
-12
-33
-15
33
-97
-33
30
2
-30
2
0
0
0
0
13
-23
47
-4
22
42
-18
-67
-13
-16
18
1
0
0
0
0
0
0
-36
97
1
-13
-48
58
19
-1
-84
-31
-48
0
0
0
0
0
0
49
72
26
11
-29
8
-63
-15
13
0
0
0
0
0
0
0
0
13
31
43
-26
-2
-12
0
0
0
0
0
0
0
0
0
25
18
53
-8
-72
-18
-19
0
0
4
0
0
0
0
0
0
0
-4
20
105
22
-72
94
97
93
8
0
0
0
0
0
0
0
0
-20
-51
-30
-46
52
51
-25
-39
-10
0
0
0
0
0
0
0
0
2
27
28
80
-53
-22
98
1
24
0
0
-3
0
0
0
0
0
0
17
33
59
-64
17
-45
-56
-22
-5
0
2
0
0
0
0
0
0
2
-1
-10
-7
44
-3
-42
-49
1
0
7
0
0
0
0
0
0
0
1
0
-9
-8
-15
-34
-3
1
0
0
1
1
0
0
0
0
0
0
5
0
-13
-43
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
34
9
-12
43
-25
72
15
17
0
0
0
0
0
0
0
0
0
-49
48
26
20
25
35
0
-32
-14
1
0
0
0
1
0
0
0
82
-46
13
26
14
32
15
68
-32
-7
0
-1
0
0
0
0
0
33
-29
41
-17
42
77
5
-151
-22
-9
-8
-1
-2
0
0
0
0
6
9
-12
-20
-25
18
-49
-22
15
-5
0
6
0
0
0
0
0
-8
-13
6
30
50
48
-50
-77
0
4
-2
0
0
0
0
0
0
0
-8
42
-25
-5
-20
-49
-22
5
-13
0
0
0
0
0
0
0
13
0
1
-5
-20
0
-4
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
76
61
-21
-95
49
95
0
0
25
-49
-3
-8
-2
0
0
0
-9
3
46
12
14
-1
128
0
158
0
-3
-6
-5
0
0
0
0
58
56
33
57
23
-5
-13
21
171
113
20
-5
-8
0
0
0
0
72
84
7
43
52
7
28
97
48
48
42
-7
2
2
0
0
0
-1
5
-42
-20
13
28
32
-73
-71
-32
51
22
1
0
-1
0
0
0
-8
12
60
46
137
30
-105
-52
68
-16
-4
0
0
0
0
0
0
0
-5
3
-13
116
6
-76
-109
-47
-1
0
0
-1
0
0
0
0
0
0
0
-21
-1
24
-8
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-43
-2
-52
-43
7
5
0
-5
-2
3
-1
0
0
0
0
0
-5
54
-83
-131
-45
-42
0
-19
0
0
1
1
0
0
0
0
0
-3
6
-22
-115
39
-23
-16
10
-1
0
0
0
0
0
0
0
0
-25
15
-7
5
-20
-63
-4
-4
-31
10
-6
4
0
0
0
0
0
1
26
-17
-10
-30
-82
-14
47
54
44
1
0
0
0
0
0
0
0
-3
-11
-55
1
-94
-76
-33
47
-1
0
3
0
0
0
0
0
0
0
0
24
18
-8
58
-16
18
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-4
1
-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
-17
5
-10
15
-28
0
0
0
0
-3
-13
-7
0
0
0
0
12
38
-8
80
-10
82
122
-1
0
-3
5
5
0
0
0
0
0
-44
6
-5
23
-54
6
43
8
26
22
0
0
0
0
0
0
0
-1
-115
55
59
53
153
-93
-52
72
20
-8
10
0
0
0
0
0
0
20
49
128
130
30
84
-5
-31
14
5
5
0
0
0
0
0
0
6
66
-2
-19
68
-9
-24
-45
-2
31
1
0
0
0
0
0
0
5
1
10
-12
8
-5
-56
-23
36
4
0
0
0
0
0
0
0
0
-1
-1
-2
-24
-1
-10
0
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
3
42
-12
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
-45
-8
-116
15
57
-20
0
0
0
0
0
0
0
0
0
0
0
1
-12
-31
-10
0
9
35
0
0
0
0
0
0
0
0
0
0
-13
-44
16
24
48
71
0
0
0
0
0
0
0
0
0
0
2
6
104
-1
-2
-44
13
-1
0
0
0
0
0
0
0
0
0
0
-1
75
-15
-110
-3
30
0
0
0
0
0
0
0
0
0
0
0
-13
9
-44
7
-18
-7
5
0
0
0
0
0
0
0
0
0
0
0
29
-23
-49
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-6
25
7
-84
-29
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-78
44
41
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-8
16
47
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
17
-126
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
-8
104
6
0
0
0
0
0
0
0
0
0
0
0
-3
1
-90
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
71
0
0
0
0
0
0
0
0
0
0
-6
0
24
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
7
0
77
31
-105
-62
2
0
0
0
0
0
0
0
0
0
-1
0
1
19
-77
-48
25
0
0
0
0
0
0
0
0
0
0
0
8
-32
21
-65
49
48
0
0
0
0
0
0
0
0
0
0
0
0
4
92
-47
9
-19
0
0
0
0
0
0
0
0
0
0
0
-1
0
33
-58
-9
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-42
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
57
2
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-48
42
-40
-17
0
0
0
0
0
0
0
0
0
0
0
5
46
12
69
92
3
0
0
0
0
0
0
0
0
0
0
0
19
-48
-52
-59
-2
27
0
0
0
0
0
0
0
0
0
0
0
3
20
-15
6
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
-68
48
-25
26
1
0
0
0
0
0
0
0
0
0
0
0
0
-98
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
-4
-3
-14
0
0
0
0
0
0
0
0
-2
-1
0
0
0
27
13
13
-2
-7
0
0
0
0
0
0
0
-5
25
9
-59
-37
2
29
107
6
0
0
0
0
0
0
0
0
-9
37
-78
-80
59
-5
-2
-1
8
1
0
0
0
0
0
0
0
-5
0
-52
-86
14
27
5
3
13
0
0
0
0
0
0
0
-1
7
7
-52
-17
-88
21
-3
0
1
0
0
0
0
0
0
0
0
0
0
-84
-84
-51
-100
0
-10
0
0
0
0
0
0
0
0
0
0
-12
-122
-13
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
20
-77
0
0
0
42
-6
-31
22
-2
0
0
0
0
0
-3
1
-9
-18
-25
41
108
84
27
-22
16
-35
-3
0
0
0
0
0
0
-3
-21
-40
-11
23
-87
5
22
-13
-31
-1
-4
0
0
0
0
0
-2
-30
-18
-7
64
15
-79
23
14
-25
0
6
0
0
0
0
0
-8
-21
-37
2
-85
-43
-57
69
18
-1
0
0
0
0
0
0
2
2
-46
29
43
-24
-16
-5
4
3
1
0
0
0
0
0
0
0
-1
-21
-13
93
86
-1
-8
-8
0
0
0
0
0
0
0
0
0
0
0
-4
24
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
57
58
30
73
81
29
49
0
0
0
0
6
-20
89
2
0
0
144
65
68
81
62
11
-32
0
0
0
0
-2
4
-37
-74
-36
11
164
158
57
33
-3
53
36
0
0
0
3
0
1
-17
33
50
54
93
39
35
64
49
43
114
0
0
0
0
0
5
-49
46
-41
125
2
3
13
-1
86
45
140
0
0
0
0
0
-7
9
-5
-36
8
-33
-8
3
7
35
99
1
0
0
0
0
0
0
4
-46
2
-24
-13
76
-40
46
30
-13
0
0
0
0
0
0
-2
-2
-5
-42
-5
35
37
-31
-53
1
0
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
-40
0
0
-67
-13
-8
-4
-4
-19
67
0
0
0
0
0
-15
-43
-68
8
-15
-50
-11
-12
-25
-25
57
39
0
0
0
0
1
3
-2
-1
-8
-13
-19
14
-25
-12
-15
52
92
0
0
0
0
-39
7
-71
14
38
-28
36
-13
-18
8
-18
-6
-13
0
0
0
1
0
2
42
-25
-47
-28
-18
0
-19
3
32
43
31
0
0
0
0
-1
9
-60
50
-28
-5
-22
-83
-23
-45
32
40
12
0
0
0
0
0
-2
-8
8
42
61
-102
-1
-26
1
-22
23
0
0
0
0
0
0
1
0
28
-58
42
-13
-50
9
-20
12
3
0
0
0
0
0
0
0
0
0
0
15
-5
4
-94
-32
26
0
0
0
0
0
0
0
0
0
0
0
0
-7
149
64
17
-19
-94
9
0
0
0
0
0
0
0
0
30
49
35
12
21
-33
-39
66
42
0
0
0
0
0
0
0
-2
-42
75
149
21
4
-101
-45
109
66
0
0
0
0
0
0
1
8
-79
-32
65
-12
28
-50
-49
28
13
0
0
0
0
0
0
0
8
5
3
-4
110
-64
44
-2
44
-10
0
0
0
0
0
0
0
0
1
-48
-103
30
-15
-18
-46
-47
0
0
0
0
0
0
0
0
0
-7
15
-100
2
-15
6
45
29
0
0
0
0
0
0
0
0
0
-1
23
6
-59
-27
-76
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
3
2
10
1
0
0
0
0
0
0
0
0
13
0
79
48
16
88
-55
16
35
-70
0
0
0
0
0
0
6
7
42
41
0
20
26
29
42
-46
65
0
0
0
0
0
0
0
5
58
65
10
103
61
30
24
-3
-3
0
0
0
0
0
0
-1
-1
-20
57
-18
19
-64
3
25
-13
-13
0
0
0
0
0
0
-3
8
56
-30
90
58
69
14
5
54
77
0
0
0
0
0
0
0
0
25
8
-84
66
13
-26
-9
102
-7
0
0
0
0
0
0
0
-43
0
-104
-58
15
82
-44
91
-11
0
0
0
0
0
0
0
0
0
2
-25
50
49
74
-1
2
5
6
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
0
0
0
63
81
0
0
73
57
81
67
-4
71
0
0
0
0
0
0
-45
22
0
-147
0
84
91
67
29
28
32
-6
0
0
-4
0
1
-15
-16
52
29
55
14
88
19
81
80
57
-51
0
0
0
0
-2
2
-2
-13
50
-61
9
74
70
64
-144
-17
200
0
0
0
-6
0
13
-5
-34
19
87
-31
-5
22
93
-24
-18
-3
0
0
0
0
1
3
-8
-72
41
13
-83
5
29
-20
48
100
0
0
0
0
0
0
-5
-13
-2
-27
-13
59
-20
-92
4
-67
0
0
0
0
0
0
0
0
3
-42
-1
5
-17
-9
-17
56
-3
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
41
-21
-48
-54
76
9
3
0
0
0
0
0
0
4
0
-33
0
-56
-24
-53
-6
-34
37
5
0
0
0
0
0
0
21
39
-35
-17
63
92
18
72
40
75
-1
0
0
0
0
0
1
2
8
66
24
100
-64
6
-10
-21
-3
0
0
0
0
0
-2
0
4
-3
10
-5
30
-44
93
5
59
2
2
0
0
0
0
0
0
0
4
-8
-43
-31
28
-22
31
6
1
0
0
0
0
0
0
0
0
0
0
8
0
-18
12
-5
5
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
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
13
65
-50
10
-125
-1
13
0
0
0
0
0
2
3
0
0
2
-144
58
48
1
-22
-33
-9
0
0
0
0
0
0
0
-49
5
23
96
59
-1
50
-38
88
15
0
0
0
0
0
0
0
8
-32
-15
27
109
4
112
29
-19
-6
0
0
0
0
0
-5
-3
-24
23
13
41
21
-47
30
56
0
0
0
0
0
0
0
0
0
23
13
-6
23
36
5
12
91
-1
-3
0
0
0
0
0
0
0
23
93
1
-49
24
-17
-40
0
-21
-2
0
0
0
0
0
0
0
1
39
0
2
-30
6
-65
36
80
6
0
0
0
0
0
0
0
0
0
0
1
-2
-4
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
51
49
-13
-2
73
-9
-4
0
0
0
0
0
0
-1
2
-40
17
84
-33
17
21
17
56
3
0
0
0
0
0
0
0
0
0
-2
5
-74
-8
102
28
10
3
0
0
0
0
0
0
0
0
0
0
23
39
128
60
1
31
-17
0
0
0
0
0
0
0
0
0
0
0
-1
54
-3
76
51
93
0
0
0
0
0
0
0
0
0
0
-1
-22
56
-33
17
27
-8
0
0
0
0
0
0
0
0
0
0
5
-22
10
-97
18
70
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
-2
-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
-5
3
23
84
2
-13
-1
0
0
0
0
0
0
0
0
0
0
0
1
31
22
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
6
50
-20
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
112
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
-2
8
-25
41
-64
4
-6
6
0
0
0
0
0
0
0
0
3
0
0
-9
-4
5
5
64
0
0
0
0
0
0
0
0
-1
0
0
-2
-4
41
-40
19
50
-12
0
0
0
0
0
0
0
0
0
0
-2
13
77
210
49
91
5
0
0
0
0
0
0
0
0
0
0
2
3
-41
39
43
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
69
-28
102
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-31
13
21
55
4
0
0
0
0
0
0
0
0
0
-1
2
5
-76
63
125
48
-34
0
0
0
0
0
0
0
0
0
8
0
0
20
62
13
61
72
-9
0
0
0
0
0
0
0
0
0
0
3
-13
-4
140
135
-20
0
0
0
0
0
0
0
0
0
0
0
0
20
31
27
5
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-18
73
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-15
141
49
-118
15
-20
-42
0
0
0
0
0
0
0
1
0
20
26
18
-53
-60
-66
9
-72
4
0
0
0
0
0
0
0
0
-13
-2
25
3
28
23
70
-2
-5
0
0
0
0
0
0
0
-1
-5
41
-30
41
45
-17
-8
-6
2
0
0
0
0
0
0
0
1
26
-11
-13
19
53
20
-15
-39
0
0
0
0
0
0
0
0
8
-13
8
5
-2
-27
57
-16
16
-2
0
0
0
0
0
0
0
0
8
1
5
0
-5
18
-25
0
0
0
0
0
0
0
0
0
0
0
23
3
0
0
-3
0
0
0
0
0
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
89
37
-23
41
-18
48
-2
0
0
0
0
0
0
-6
0
-9
116
-40
-4
-48
69
-34
34
6
0
0
0
0
0
0
0
-1
-23
-30
-23
-49
-18
52
-43
1
10
0
0
0
0
0
0
-1
-3
-6
43
73
5
50
129
14
-38
0
0
0
0
0
0
0
-5
-1
-4
-14
3
20
55
31
69
-83
13
0
0
0
0
0
0
0
-7
8
46
1
63
-77
0
51
-97
4
0
0
0
0
0
0
0
13
-66
18
-10
49
10
27
-1
13
13
0
0
0
0
0
0
2
1
4
-1
0
1
12
16
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
93
3
0
34
-30
12
48
-24
-40
15
-2
0
0
-8
3
53
-8
29
-13
2
12
-47
37
45
146
74
-40
-8
0
0
0
0
0
-70
46
-24
-27
22
-3
43
104
111
32
-12
-44
0
0
0
0
3
-13
-59
14
-7
-29
-60
109
69
66
105
42
-3
0
0
0
1
-3
-13
-46
121
-14
49
-31
97
47
-25
82
91
0
0
0
0
0
0
0
29
-2
14
-53
-59
-12
-14
-56
-69
0
0
0
0
0
0
0
0
-9
-7
22
-6
106
-63
-43
-5
-16
0
0
0
0
0
0
0
3
0
-8
-3
41
-2
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-49
-22
-37
0
-17
-44
-10
27
102
-110
-19
0
0
0
0
-5
50
-16
-39
-9
15
-9
-14
-13
31
40
16
41
0
0
0
0
-7
-23
60
-3
12
-8
-12
-2
16
37
41
5
67
0
0
0
0
-1
35
16
-7
16
18
23
-7
23
54
70
-66
50
0
0
0
0
-23
-9
-45
4
-20
19
-54
-30
-25
30
-37
11
-50
0
0
0
-1
-5
-49
3
0
27
51
-22
19
-32
11
86
46
-4
0
0
0
0
-1
15
-10
-4
32
-2
-24
14
-22
46
68
-61
5
0
0
0
0
0
0
48
-42
38
49
-3
-34
-60
-11
70
-31
-3
0
0
0
0
0
0
0
-3
2
39
-46
34
29
-57
0
0
0
0
0
0
0
0
-5
-46
-20
15
0
66
38
16
-77
-9
-2
0
0
0
0
3
9
-2
52
8
-2
11
81
6
89
127
-39
-1
0
0
0
0
0
25
-4
6
-47
-2
50
70
8
-57
-19
133
0
0
0
0
0
-1
31
5
40
12
7
-16
21
-27
38
49
32
-6
0
0
0
0
0
8
72
-26
-18
5
-3
48
-35
62
24
-6
0
0
0
0
-1
3
-13
50
13
-17
-37
-40
-49
-41
-5
-19
-21
0
0
0
0
-1
0
22
14
16
-23
6
-30
-38
18
2
-124
0
0
0
0
0
1
18
-13
-15
59
-4
13
-5
-7
-27
-30
102
1
0
0
0
0
0
-1
34
31
-22
-16
0
9
-8
12
-2
4
0
0
0
0
0
0
0
0
4
-17
-4
17
0
-25
-12
14
-51
102
1
0
0
0
0
0
0
0
22
8
46
-1
-20
-16
-2
45
14
5
0
0
0
0
0
0
-8
5
3
35
39
27
30
26
66
30
5
0
0
0
0
0
-1
-4
-14
-28
43
21
-48
12
62
10
67
8
0
0
0
0
0
1
-5
-56
13
19
-19
15
-6
-64
29
77
8
0
0
0
0
0
0
-32
16
-48
6
-13
-1
-39
-40
-22
25
24
0
0
0
0
0
0
-25
27
5
7
13
-61
26
29
-92
-21
0
0
0
0
0
0
0
-3
-31
42
-38
93
-6
18
-17
-103
-6
0
0
0
0
0
0
0
0
0
0
0
13
5
-31
0
-3
0
0
0
0
0
0
0
0
3
-44
5
60
0
22
49
40
31
118
-93
29
1
0
0
0
0
48
-26
38
-37
39
-17
10
-10
99
18
7
62
11
0
0
0
3
-5
56
21
23
-11
17
-3
46
99
79
81
50
106
0
0
0
0
1
-24
-45
-29
30
20
-39
26
36
133
122
20
32
0
0
0
2
-2
20
114
47
87
-23
-39
58
161
91
45
-42
17
0
0
0
0
-7
16
-19
-54
-43
-48
-53
-29
33
-38
-27
-5
0
0
0
0
0
0
-5
16
4
-14
-47
-99
-60
-16
74
-30
1
0
0
0
0
0
0
0
-3
-8
0
-56
-15
-27
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-41
0
-53
-29
2
-40
-18
-8
48
28
0
0
0
0
0
0
-1
-5
2
-117
-57
119
57
12
21
-77
-31
0
0
0
0
0
3
-5
-25
-79
-27
9
52
-96
-5
79
75
-41
0
0
0
0
0
0
-7
6
31
-24
50
60
122
7
106
8
0
0
0
0
0
0
0
-6
-31
-12
120
9
-23
128
43
5
3
0
0
0
0
0
0
0
21
-25
74
-48
48
32
22
9
21
0
0
0
0
0
0
0
0
-2
68
51
7
10
22
-47
9
0
0
0
0
0
0
0
0
0
1
-3
85
147
16
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
1
0
0
0
0
0
0
0
0
0
0
0
-32
-23
88
0
-30
-26
62
28
102
-33
-52
3
0
0
0
0
-7
-32
23
-13
-45
52
13
133
25
83
50
48
-1
0
0
0
0
-2
-13
2
31
7
-21
20
38
36
40
-4
56
1
0
0
0
0
-5
2
-39
-38
10
41
6
48
55
5
34
87
10
0
0
0
0
0
27
8
-8
-48
-29
77
22
21
134
45
-8
30
0
0
0
0
0
25
-17
-46
-35
-33
74
-10
-1
50
-42
50
3
0
0
0
0
-3
83
83
0
-39
67
-36
-12
22
86
-25
-1
0
0
0
0
0
-2
6
13
13
-6
13
46
22
0
2
0
0
0
0
0
0
0
0
3
3
13
1
2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-2
8
20
-65
0
0
75
0
0
0
0
0
0
0
0
0
0
0
-13
-18
-18
32
63
172
0
0
0
0
0
0
0
0
0
0
0
-1
-32
-27
-22
104
60
13
0
0
0
0
0
0
0
0
0
0
-1
6
5
-22
56
75
2
0
0
0
0
0
0
0
0
0
0
0
0
13
-76
37
-7
43
0
0
0
0
0
0
0
0
0
0
0
-1
-8
3
-87
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
-34
23
0
0
0
0
0
0
0
0
0
0
0
-3
1
6
21
55
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
16
17
3
-99
32
0
0
0
0
0
0
0
0
0
0
0
-1
8
30
24
-15
112
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
1
42
71
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
49
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
-1
1
32
0
0
-43
-5
0
0
0
0
0
0
0
0
0
0
0
-1
-13
43
164
83
34
0
0
0
0
0
0
0
0
0
0
0
-3
-55
13
78
51
-56
3
0
0
0
0
0
0
0
0
0
0
0
16
2
-2
-78
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-27
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
5
0
4
0
0
0
0
0
0
0
0
-8
0
0
0
52
25
-9
-7
0
0
0
0
0
0
0
0
0
0
5
16
64
40
60
34
5
0
0
0
0
0
0
0
0
0
-1
-3
-15
41
19
70
11
-19
-3
3
0
0
0
0
0
0
0
0
8
-5
60
-40
14
23
-1
4
0
0
0
0
0
0
0
0
0
7
0
-47
2
58
-1
-10
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
2
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-3
0
0
0
0
-3
3
0
0
0
0
0
0
0
1
4
-43
-2
0
0
0
32
12
5
-1
1
0
0
0
0
0
0
0
-1
23
54
89
80
79
-77
-59
0
-5
0
0
0
0
0
0
0
-2
-15
33
73
77
59
-10
59
-55
24
2
0
0
0
0
0
0
0
0
87
67
-13
-24
-15
-27
32
-5
1
0
0
0
0
0
0
0
0
-8
21
5
32
-5
-42
-7
-29
4
0
0
0
0
0
0
0
0
2
7
-23
5
-8
0
-25
10
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-5
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
29
0
0
0
13
74
43
35
38
49
81
0
0
0
0
3
-2
39
-9
0
0
-54
29
25
30
63
41
85
0
0
0
0
0
0
0
111
98
21
151
88
20
52
47
26
63
0
0
0
0
0
1
5
-91
93
37
165
105
63
8
76
88
42
0
0
0
0
3
0
7
34
-25
-63
-45
19
4
-18
-12
-52
-13
0
0
0
0
0
0
1
-17
-14
32
36
35
53
-31
38
120
22
0
0
0
0
0
0
0
0
-4
19
147
61
-57
-15
-23
5
0
0
0
0
0
0
0
0
0
-1
9
1
5
-50
47
17
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
12
0
0
30
22
-25
-11
4
-43
15
0
0
0
0
4
15
-16
-72
-17
-4
16
20
3
-8
4
16
125
0
0
0
0
0
-40
42
-114
-31
-34
-38
-5
-15
12
15
33
28
0
0
0
0
0
-2
-64
3
17
-81
-71
-1
6
-4
4
-45
98
0
0
0
0
0
14
48
-40
-83
-95
-30
-23
8
-28
-7
60
87
0
0
0
0
0
-1
-14
17
23
8
-63
-24
-25
-35
-23
21
14
0
0
0
0
0
3
4
-42
27
26
6
34
21
-15
-5
30
-5
0
0
0
0
0
0
-7
-2
18
75
-67
37
12
1
-17
18
0
0
0
0
0
0
0
0
2
-5
-49
47
17
20
-45
-11
0
0
0
0
0
0
0
0
0
-6
0
0
75
-20
2
83
114
-4
87
0
0
0
0
0
0
0
3
-21
63
91
32
38
35
18
-12
-47
0
0
0
0
0
0
-3
-5
-15
-15
-7
-27
-20
-18
13
54
-21
0
0
0
0
0
0
0
0
15
80
-39
21
-23
54
-1
-28
-18
0
0
0
0
0
0
0
-18
4
0
26
67
72
41
-27
49
24
0
0
0
0
0
0
0
0
-24
46
-21
85
-6
-8
-43
47
-33
0
0
0
0
0
0
0
0
0
3
-14
45
42
-19
71
0
4
0
0
0
0
0
0
0
0
0
0
67
-28
77
30
11
23
96
0
0
0
0
0
0
0
0
-1
-3
9
8
74
-17
10
69
50
0
0
0
0
0
-1
0
2
0
74
-1
31
74
-4
68
71
-14
0
0
0
0
0
0
-3
16
-19
-5
0
56
74
41
30
-29
29
0
0
0
0
0
0
6
-10
38
72
10
-6
3
14
36
-62
62
0
0
0
0
0
0
-2
-5
-87
33
58
17
36
1
29
-3
26
0
0
0
0
0
0
0
1
-84
11
-129
22
43
-48
11
63
2
0
0
0
0
0
0
-2
0
-6
-43
-36
-30
-16
20
21
120
62
0
0
0
0
0
0
0
0
5
15
5
57
18
18
58
23
-75
0
0
0
0
0
0
0
-1
8
0
0
8
57
25
11
40
26
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-21
0
0
0
0
0
0
0
1
2
3
0
0
131
73
101
31
9
120
-23
0
0
0
3
-2
-5
64
0
47
0
106
84
81
9
-6
37
24
0
0
0
-1
-4
-3
8
10
23
73
21
82
69
-9
41
36
-21
0
0
0
0
0
0
-5
-15
110
107
0
-24
23
30
20
55
-56
0
0
0
0
0
-1
1
-28
-6
5
35
22
49
0
-26
31
81
0
0
0
0
0
0
0
-13
-24
15
21
4
-65
-12
34
34
2
0
0
0
0
-1
0
-5
0
2
-52
51
-50
-9
40
-13
-32
76
0
0
0
0
0
0
0
0
-2
-2
2
86
-81
38
-11
19
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
55
18
-3
0
0
0
0
0
0
0
-1
-1
0
-6
46
44
-14
85
30
-1
6
0
0
0
0
0
0
-3
0
-3
0
-23
-16
30
-90
-2
-14
0
0
0
0
0
0
0
0
0
-4
-12
21
-83
25
87
70
16
0
0
0
0
0
0
0
0
-1
-7
20
-2
89
41
35
-33
44
-4
0
0
0
0
0
0
0
0
4
-2
31
-22
-22
-94
-36
-78
-3
0
0
0
0
0
0
0
0
0
-1
65
24
7
-122
-7
-47
0
0
0
0
0
0
0
0
0
0
-2
-25
-8
-51
-74
69
18
0
0
0
0
0
0
0
0
0
0
0
0
-31
-3
39
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
-5
0
0
0
-1
211
25
73
32
60
-5
0
0
0
0
0
-6
4
10
0
-1
37
94
-23
40
67
41
5
0
0
0
0
0
0
0
-13
3
-5
117
29
-65
36
-7
69
-2
0
0
0
0
0
-1
0
41
18
-42
-47
-17
-66
78
-36
12
-14
0
0
0
0
0
0
0
27
77
25
14
7
-16
53
-29
11
35
0
0
0
0
0
0
0
41
-1
7
68
-44
-66
-39
-47
-39
41
0
0
0
0
0
0
-1
0
0
2
41
51
-36
-43
-40
47
47
0
0
0
0
0
0
0
0
0
0
0
-9
91
23
-80
-24
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-69
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
74
39
36
74
-42
6
-2
0
0
0
0
0
0
0
0
20
25
1
-12
-61
47
30
12
-60
-5
0
0
0
0
0
0
0
0
-2
-8
1
0
-14
-5
40
83
-27
0
0
0
0
0
0
0
0
-3
0
-8
-52
48
36
45
42
-21
0
0
0
0
0
0
0
0
0
8
-3
-3
-13
-56
-18
-23
-41
0
0
0
0
0
0
0
0
0
-1
-6
61
-10
9
27
12
5
0
0
0
0
0
0
0
0
0
0
0
-1
59
11
-28
-34
49
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-22
-23
-16
-40
0
0
0
0
0
0
0
0
0
0
0
0
5
-29
83
-13
37
0
0
0
0
0
0
0
0
0
3
0
0
-6
17
7
13
0
0
0
0
0
0
0
0
0
0
0
29
-8
48
51
19
7
0
0
0
0
0
0
0
0
0
0
0
1
-2
58
52
-13
20
0
0
0
0
0
0
0
0
0
0
0
0
17
34
-85
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
6
14
-66
46
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-79
-75
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-69
-57
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
39
-7
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
12
7
-26
76
-20
0
0
0
0
0
0
0
0
0
-5
0
-7
1
60
11
14
-65
0
0
0
0
0
0
0
0
0
2
-3
12
19
44
6
115
13
-23
0
0
0
0
0
0
0
0
0
0
-6
10
19
52
94
-5
-3
0
0
0
0
0
0
0
0
0
1
-10
-2
6
76
106
-22
-8
0
0
0
0
0
0
0
0
0
0
0
-2
23
0
-34
-42
3
0
0
0
0
0
0
0
0
0
0
0
0
23
-60
5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
0
0
0
0
23
-46
-31
-13
-9
41
0
0
0
0
0
0
0
0
0
-1
1
46
-4
23
13
-5
93
4
0
0
0
0
0
0
0
0
-1
22
4
6
61
48
-15
-49
2
0
0
0
0
0
0
0
0
0
0
3
1
-17
43
-14
-9
1
0
0
0
0
0
0
0
0
0
0
0
-5
33
93
43
-19
0
0
0
0
0
0
0
0
0
0
0
0
5
-82
-15
29
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-115
-13
-26
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
54
-18
-13
82
-43
-17
-10
1
0
0
0
0
0
0
0
3
-19
17
-88
-20
11
25
-10
-147
-2
0
0
0
0
0
0
0
0
-79
-28
55
35
39
4
51
-19
-71
0
0
0
0
0
0
0
0
-31
-22
121
-18
93
-40
-27
-65
-18
0
0
0
0
0
0
0
0
-10
-7
38
70
-69
-81
-58
-84
11
0
0
0
0
0
0
0
0
-5
-6
1
86
-2
-11
-22
-45
42
0
0
0
0
0
0
0
0
0
29
-32
13
3
-50
66
-24
19
0
0
0
0
0
0
0
0
0
0
-1
-3
1
-38
-13
-31
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
18
0
-28
0
0
0
0
0
0
0
1
0
6
7
55
126
77
-94
-8
-8
0
0
0
0
0
0
5
0
-12
-42
-24
-15
1
13
-22
77
53
0
0
0
0
0
0
0
-6
42
6
93
50
111
-22
-31
-7
-32
0
0
0
0
0
0
6
-22
2
-21
65
102
-13
-137
-64
44
-56
0
0
0
0
0
0
0
-17
66
7
-30
-48
-62
-38
-33
-7
103
0
0
0
0
0
0
0
1
-2
1
45
31
24
-39
-71
20
33
0
0
0
0
0
0
0
1
5
-2
-81
91
-76
48
81
-99
14
0
0
0
0
0
0
0
0
4
0
0
0
-74
-94
-37
-51
-48
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
89
-44
36
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-53
-40
37
0
27
13
73
26
44
-61
2
-9
0
0
1
5
84
17
4
-8
23
6
18
4
50
104
4
-56
-7
0
0
0
-1
49
18
-19
-45
-4
-15
43
53
76
-41
-14
36
-6
0
0
0
-1
2
-39
-27
47
-12
59
93
37
-17
84
87
-97
5
0
0
0
0
-8
-12
40
40
-4
-38
13
67
47
-4
91
24
0
0
0
0
0
0
0
-24
-20
-56
52
15
52
1
-16
-4
113
3
0
0
0
0
0
0
0
-24
-19
19
-92
14
2
-45
1
20
-4
0
0
0
0
0
0
0
-2
-1
1
8
-20
42
-9
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-10
-32
-21
0
3
0
35
2
16
123
80
0
0
0
-1
0
7
56
-17
-103
-28
-21
-12
6
19
38
23
-37
0
0
0
0
0
13
-95
4
-59
-13
-32
-25
-8
36
72
35
30
0
0
0
-1
-1
2
44
-34
-18
-36
21
-11
7
27
56
-9
-30
0
0
0
-1
-2
15
1
-2
-42
37
22
-20
-18
44
20
-50
38
0
0
0
0
1
-8
-58
16
87
-49
41
-7
-14
-44
70
12
6
0
0
0
0
-1
-3
19
-15
-56
-70
19
0
24
-2
33
20
70
0
0
0
0
0
0
-5
-20
-50
84
46
-14
1
-19
44
125
31
0
0
0
0
0
-1
0
-33
-58
-37
8
-76
30
-51
31
-20
0
0
0
-1
0
0
-1
-45
30
-38
0
49
36
-12
58
-35
-3
0
0
0
0
0
0
0
3
-10
-42
41
-27
65
29
-5
155
8
0
0
0
0
0
0
0
1
60
-31
-55
49
-38
52
30
77
28
4
0
0
0
0
0
0
0
31
-24
-4
-20
-22
139
-11
19
15
0
0
0
0
0
0
0
0
0
-32
-110
-45
-4
26
54
-30
-3
0
0
0
0
0
0
0
0
1
-72
3
36
-93
51
75
36
1
0
0
0
0
0
0
0
0
-3
-2
-20
-54
38
1
-15
3
13
0
0
0
0
0
0
-1
0
0
1
24
-29
12
46
30
9
0
0
0
0
0
0
0
0
0
0
0
-2
41
10
55
-5
-1
0
0
0
0
0
0
0
0
15
-30
-42
0
3
28
-6
-69
-33
5
0
0
0
0
0
0
2
65
30
-1
11
8
29
0
-2
-109
-14
0
0
0
0
0
0
0
23
-15
40
25
-5
-21
38
74
95
-3
0
0
0
0
0
0
0
-23
99
59
48
2
-14
87
8
16
46
0
0
0
0
0
0
0
4
77
-21
45
-18
28
5
32
12
48
0
0
0
0
0
0
5
7
-1
53
9
-3
19
26
-99
58
1
0
0
0
0
0
0
0
-54
-77
-38
40
18
6
47
17
1
-2
0
0
0
0
0
0
0
2
-4
-40
56
71
-54
-40
-17
69
2
0
0
0
0
0
0
0
0
0
4
0
-5
31
1
-9
0
-1
0
0
0
0
0
0
0
-57
18
-19
0
42
33
48
5
10
47
-25
1
0
0
0
1
-8
-76
-33
5
44
-4
23
30
95
-3
113
-12
-14
0
0
0
-1
-43
-21
55
36
21
24
1
5
68
113
68
3
-1
0
0
0
3
-1
-5
36
-5
-18
83
18
1
60
64
27
75
86
0
0
0
0
4
1
-2
16
48
6
43
25
54
18
43
2
53
0
0
0
0
0
1
-44
-19
-2
-47
5
15
-30
98
10
-93
24
0
0
0
0
0
3
2
26
9
-19
27
-49
15
49
1
5
-1
0
0
0
0
0
0
0
0
1
2
41
17
-45
-58
-24
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
44
0
-21
25
66
83
-16
37
-37
-2
0
0
0
0
0
0
15
41
44
81
42
69
8
-30
21
50
-9
0
0
0
0
0
0
4
46
-68
53
35
-63
55
33
5
-15
4
0
0
0
0
0
0
13
13
-19
22
-94
-117
-106
-18
65
5
4
0
0
0
0
0
0
0
-15
-88
5
-45
0
-31
-37
-30
7
2
0
0
0
0
0
0
0
-23
-19
-96
-50
-11
40
-99
18
-96
0
0
0
0
0
0
0
0
0
-3
-8
25
-45
-21
13
5
0
2
0
0
0
0
0
0
0
0
0
-13
-3
5
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
19
25
-68
0
-24
89
39
-68
4
-92
5
-3
0
0
0
0
0
-9
37
-70
42
75
-22
5
23
94
23
-40
-31
0
0
0
0
0
9
46
11
-34
-39
64
64
-51
-28
35
61
6
0
0
0
0
0
4
31
-24
-30
6
-38
40
61
77
-8
69
2
0
0
0
2
-3
13
9
9
-51
48
27
1
-13
-17
-17
33
24
0
0
0
0
-3
17
-31
27
-16
-5
-41
4
15
18
-19
120
5
0
0
0
0
0
5
-31
14
28
46
31
-9
15
-43
-37
-85
23
0
0
0
0
0
3
5
13
-47
-110
-46
29
0
31
3
3
4
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
-8
18
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-41
2
-1
-130
-49
-24
0
0
0
0
0
0
0
0
0
0
0
-12
-13
-11
-38
38
43
-1
0
0
0
0
0
0
0
0
-1
3
9
-38
104
60
76
85
-1
0
0
0
0
0
0
0
7
-2
21
34
60
-35
-104
-13
-5
-2
0
0
0
0
0
0
0
-1
0
49
34
2
-24
31
-80
6
-4
0
0
0
0
0
0
0
2
6
7
-33
106
-33
19
13
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-44
25
-33
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
89
-92
-49
0
0
0
0
0
0
0
0
0
0
0
0
5
32
-10
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
13
25
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
119
38
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-4
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
20
-53
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
48
79
9
-27
-6
0
0
0
0
0
0
0
0
0
0
-4
-9
0
11
6
2
0
0
0
0
0
0
0
0
0
0
8
1
-7
-41
17
-98
-16
0
0
0
0
0
0
0
0
0
0
1
0
-2
2
52
-77
22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
23
8
0
0
0
0
0
0
0
0
0
-2
-3
0
13
-52
-27
-25
14
0
0
0
0
0
0
0
0
0
2
0
0
-41
49
21
-13
5
0
0
0
0
0
0
0
0
0
0
-4
-37
2
-32
-73
103
12
0
0
0
0
0
0
0
0
0
0
0
2
-41
6
-30
74
-2
0
0
0
0
0
0
0
0
0
1
-1
10
22
-75
-97
20
0
0
0
0
0
0
0
0
0
0
0
1
0
32
-35
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
1
0
0
0
0
0
0
0
0
-3
0
0
0
-2
-5
-1
0
0
0
0
0
0
0
0
0
-3
-3
-42
-8
66
4
2
3
0
1
0
0
0
0
0
0
0
0
-4
24
13
9
5
0
35
7
0
0
0
0
0
0
0
0
0
-2
-7
5
-47
16
9
-1
0
0
0
0
0
0
0
0
1
0
-5
15
33
-53
34
-12
-4
0
6
0
0
0
0
0
0
3
0
0
-6
-1
-27
-1
-1
0
0
0
0
0
0
0
0
0
0
2
-3
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
-1
-1
0
1
0
0
0
0
0
-2
-4
0
-8
0
0
0
-1
3
2
2
0
0
0
0
0
0
0
0
1
-7
-59
61
104
55
-10
-3
2
30
0
0
0
0
0
-2
0
-1
5
-62
-64
3
-69
42
0
10
-13
-1
0
0
0
0
0
0
6
-15
-47
2
-89
-19
-47
-45
-2
-7
0
0
0
0
0
0
0
0
35
22
101
-7
6
-41
-37
1
7
1
0
0
0
0
2
0
0
-1
-8
93
3
-22
18
48
-1
0
0
0
0
0
0
-1
0
-3
18
-102
50
-35
1
2
0
0
0
0
0
0
0
0
0
0
-9
-8
0
-18
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
43
51
20
31
-14
-30
21
0
0
0
0
0
6
-2
0
0
0
84
25
41
82
19
-2
-18
0
0
0
0
0
6
-10
56
148
42
-8
1
58
59
73
25
12
0
0
0
0
-1
-2
-19
111
-87
74
108
-65
-39
14
62
70
58
0
0
0
1
-5
-120
27
-24
60
42
-40
60
115
-6
58
16
44
0
0
0
0
31
-121
-43
37
107
-14
4
2
69
-13
-3
47
8
0
0
0
-4
2
-22
-26
-7
-34
27
-35
79
-2
-31
-15
186
-1
0
0
0
0
-6
-13
-1
10
3
4
-38
-7
6
-16
8
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
5
0
51
0
0
77
17
7
4
-29
88
22
0
0
0
0
0
-1
27
0
106
22
28
9
7
3
0
46
41
0
0
0
0
5
-71
7
-23
-39
-38
38
23
15
45
7
3
3
0
0
0
0
1
-45
-23
4
-52
53
-32
9
33
31
12
14
105
0
0
0
0
-12
8
-107
29
102
3
49
-15
7
-3
-40
5
41
0
0
0
-1
-8
-32
53
13
16
-41
-111
-60
-35
-57
24
69
18
0
0
0
1
34
18
13
89
18
-28
44
-48
-6
-3
9
26
-54
0
0
0
0
0
15
-5
29
49
23
-13
12
-17
33
-28
-1
0
0
0
0
0
0
0
1
-1
-2
13
102
26
-3
2
-28
0
0
0
0
0
0
0
0
0
0
0
0
75
-3
32
91
-5
19
50
0
0
0
0
0
0
0
0
-5
29
8
79
68
17
-34
51
76
0
0
0
0
0
0
0
10
96
39
81
-58
77
12
27
24
-49
0
0
0
0
0
2
-6
8
13
117
1
51
59
-17
17
13
22
0
0
0
0
0
-7
0
30
-5
59
23
22
-25
82
-59
-93
-2
0
0
0
0
0
1
-20
0
24
5
16
23
60
-78
8
92
0
0
0
0
0
0
4
0
-1
-9
-45
54
6
-92
27
-23
-67
0
0
0
0
0
0
0
0
0
3
-14
49
52
114
0
101
2
0
0
0
0
0
0
0
0
0
0
0
8
-23
-34
58
30
-19
0
0
0
0
0
0
0
0
-2
0
43
50
68
2
-15
59
-39
42
0
0
0
0
0
0
1
0
4
22
0
46
0
38
74
11
10
0
0
0
0
0
0
-1
37
-6
29
41
87
-50
78
118
38
54
0
0
0
0
-1
0
11
-35
-13
44
-17
-29
21
37
48
64
71
0
0
0
0
0
29
2
-31
5
-68
-82
62
34
104
78
2
76
0
0
0
0
0
0
8
7
-7
56
21
-24
-63
66
140
57
-57
0
0
0
0
0
2
0
-9
0
6
8
-16
125
74
-1
15
2
0
0
0
0
0
0
-2
0
0
67
-17
8
3
37
15
17
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
4
12
8
0
0
64
78
-52
16
-7
34
5
0
0
0
0
4
2
-16
0
3
0
44
38
-49
-5
35
62
39
0
0
0
0
5
24
4
59
115
56
67
101
43
60
60
95
34
0
0
0
0
10
0
48
-14
-52
79
-71
37
-7
66
40
68
15
0
0
0
0
0
8
-93
13
-58
-22
4
79
33
25
58
100
5
0
0
0
1
45
-17
-110
37
11
-3
85
74
47
55
121
20
0
0
0
0
0
0
0
-23
-1
56
53
-56
84
-27
-41
88
9
0
0
0
0
0
1
0
-2
-22
-2
34
-8
-31
41
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
1
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
32
-130
-53
67
16
-1
0
0
0
0
0
0
0
5
3
-3
6
18
-41
20
58
15
-2
0
0
0
0
0
0
-1
4
4
-5
-41
64
-65
72
-14
5
-5
0
0
0
0
0
0
0
0
0
-2
41
8
25
15
44
8
0
0
0
0
0
0
0
0
0
-2
-3
2
-48
-1
18
-3
0
0
0
0
0
0
0
0
0
0
1
-24
0
1
12
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
-29
24
-75
-12
41
0
0
0
0
0
0
0
0
0
-13
-93
12
35
-31
44
101
15
0
0
0
0
0
0
0
7
17
55
21
28
78
18
23
0
-5
0
0
0
0
0
0
-3
15
-32
-52
18
44
-51
50
-11
22
126
0
0
0
0
0
0
0
-53
20
13
-4
38
-69
99
-9
30
106
0
0
0
0
0
0
-7
-17
30
34
-73
13
51
-39
42
66
9
0
0
0
0
0
0
0
6
-12
41
-78
-41
-20
-32
-36
55
-3
0
0
0
0
0
0
0
0
4
-1
2
-50
-59
46
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
59
147
13
51
47
126
-52
-13
0
0
0
0
0
0
33
20
-2
131
-49
20
-17
21
21
19
0
0
0
0
0
0
0
0
3
-66
41
-58
120
26
84
122
-44
-6
0
0
0
0
0
0
8
-5
-22
18
20
5
-36
33
5
-43
-24
0
0
0
0
0
0
0
6
-1
-4
8
-22
149
5
7
31
-7
0
0
0
0
0
0
0
0
-2
-2
3
9
1
70
-31
-5
8
0
0
0
0
0
0
0
0
0
0
0
-5
75
-47
-147
43
8
0
0
0
0
0
0
0
0
0
0
0
2
-17
-29
-15
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-10
-23
42
-40
20
0
0
0
0
0
0
0
0
0
-2
37
0
-2
-6
30
122
39
0
0
0
0
0
0
0
0
0
1
0
-1
1
18
38
-66
90
-8
0
0
0
0
0
0
0
0
0
0
0
-1
7
102
4
13
3
0
0
0
0
0
0
0
0
0
0
0
0
-25
49
40
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
10
-29
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-34
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-8
17
26
-2
56
7
60
0
0
0
0
0
0
0
0
0
-28
58
0
-8
-28
-16
-60
-120
4
0
0
0
0
0
0
0
20
-8
-20
5
5
-42
34
125
-126
3
0
0
0
0
0
0
0
0
-3
-1
6
0
7
19
60
77
13
0
0
0
0
0
0
0
0
0
0
0
7
42
50
13
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
24
53
-9
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-14
-5
118
32
-7
1
0
0
0
0
0
0
-2
0
-17
18
-18
56
-80
-51
-34
71
-3
0
0
0
0
0
0
0
1
1
0
2
9
-10
29
48
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
92
49
51
17
0
0
0
0
0
0
0
0
0
0
0
0
1
35
59
-22
-55
1
0
0
0
0
0
0
0
0
0
0
0
-6
-9
21
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-15
-55
-5
76
-59
13
1
0
0
0
0
0
0
0
0
66
19
92
24
35
49
77
10
4
0
0
0
0
0
0
0
5
-2
-54
107
-14
7
-58
50
-13
-1
0
0
0
0
0
0
0
8
-1
-20
77
49
56
-3
9
10
0
0
0
0
0
0
0
0
0
-13
59
3
6
-44
31
161
53
0
0
0
0
0
0
0
0
0
-2
0
0
-42
34
95
60
-21
0
0
0
0
0
0
0
0
-1
0
0
0
-16
75
-6
-3
0
1
0
0
0
0
0
0
0
0
-6
-2
2
2
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-22
47
97
-58
93
4
-3
0
0
0
0
0
0
0
0
-66
25
1
143
133
83
-44
-1
-14
0
0
0
0
0
0
0
0
29
50
-41
68
-87
29
30
80
18
0
0
0
0
0
0
0
12
1
-9
121
-5
-10
85
56
-29
-48
0
0
0
0
0
0
0
-6
18
28
-68
-13
15
12
22
31
42
0
0
0
0
0
0
0
0
37
9
-69
115
-22
-71
17
-33
-13
0
0
0
0
0
0
1
4
14
-5
10
25
32
-20
-3
7
30
0
0
0
0
0
0
0
0
0
0
-2
-5
3
36
20
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
67
28
0
57
26
22
77
-19
-16
-26
9
0
0
0
0
-25
-44
8
-20
-30
26
60
-5
-13
9
24
3
23
0
0
0
0
21
6
-5
10
-28
28
20
104
109
76
63
49
-19
0
0
0
0
-2
10
-56
-23
-72
74
-75
-62
31
-4
24
14
76
0
0
0
0
7
-5
5
-30
52
10
29
53
-2
4
55
-59
-7
0
0
0
0
0
-8
70
-17
-29
-24
-56
26
-32
49
-13
-4
0
0
0
0
0
0
0
-12
-5
-75
59
94
-39
-13
5
-3
0
0
0
0
0
0
0
-1
0
6
24
4
-6
-23
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
5
0
0
0
0
0
0
0
0
0
0
-10
-43
22
-5
0
-39
-26
60
42
-72
45
-105
0
0
0
0
-8
53
-88
-51
51
7
-24
22
15
39
44
2
72
0
0
0
0
9
25
24
35
102
-22
-29
1
14
40
45
38
110
0
0
0
0
12
42
28
-18
28
-50
13
4
21
56
82
-11
-9
0
0
0
-13
-7
16
42
50
4
-18
-27
1
56
60
-21
-48
-6
0
0
0
25
49
23
20
8
22
-14
26
14
0
46
18
21
-10
0
0
0
0
12
32
78
-30
-13
16
29
5
-47
15
-17
-52
-4
0
0
0
0
-3
-16
-13
15
23
78
46
24
17
-56
1
-31
-4
0
0
0
0
0
-1
16
8
-61
54
43
-20
93
76
-29
0
0
0
0
0
0
0
0
-13
52
39
0
10
-9
3
-41
-66
24
0
0
0
0
3
-8
-10
-5
20
0
4
31
71
-9
93
-65
25
-1
0
0
0
0
16
-9
-40
-2
7
50
5
128
26
18
-10
-2
3
0
0
0
0
2
-27
5
18
-32
-3
34
34
55
1
-12
2
1
0
0
0
0
-3
0
-17
-22
7
52
-68
-29
54
9
-4
8
0
0
0
1
0
0
-20
-79
-63
-54
-4
-44
84
-128
-16
35
0
0
0
0
-4
0
-22
-28
-21
-29
-35
-19
-46
6
8
-17
10
-18
0
0
0
0
-18
-27
-49
27
-64
-25
59
-50
-10
24
9
0
0
1
0
0
9
41
-13
8
-33
-26
36
-22
-92
49
-10
-9
0
0
0
0
0
0
0
0
2
5
119
20
0
73
48
48
-23
-24
1
0
0
0
0
0
0
-31
-87
24
0
4
24
84
-17
69
-18
-45
0
0
0
0
0
2
0
39
13
-4
72
1
43
4
4
-25
-8
0
0
0
0
0
2
5
1
-69
-33
31
5
27
-60
-75
79
-4
0
0
0
0
0
-2
0
-24
-43
-30
28
-42
37
-64
124
-39
-3
0
0
0
0
0
0
-14
-8
-40
8
-11
8
62
-49
23
18
-1
0
0
0
0
0
-12
-4
10
-27
-20
1
-103
52
33
5
1
-3
0
0
0
0
-1
0
-1
-57
-21
-24
-33
72
-51
-13
-50
2
0
0
0
0
0
0
0
0
0
0
0
-23
-4
-35
2
0
0
0
0
0
0
0
0
0
0
2
31
63
0
48
-1
30
90
35
-18
30
-32
0
0
0
0
-6
-25
45
6
40
10
130
54
41
-45
-57
-49
-32
0
0
0
0
-2
49
52
-5
8
39
8
18
66
86
8
116
-1
0
0
0
0
7
-3
51
83
-58
7
-27
142
21
-13
34
53
1
0
0
0
-2
0
5
-9
26
-23
-11
24
-93
-39
26
-106
33
25
0
0
0
0
2
15
-22
-5
85
-17
88
5
6
8
-10
-6
0
0
0
0
-3
-6
-3
41
-31
-18
-80
-63
-31
-21
-33
68
-4
0
0
0
0
0
0
0
0
-6
16
-9
-14
0
-24
-17
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
-8
-45
35
-12
-24
-34
5
0
0
0
0
0
0
-3
0
-58
32
-37
89
-5
-51
-7
55
3
0
0
0
0
0
0
0
-64
-25
35
-5
2
24
4
47
-32
25
0
0
0
0
0
0
0
-41
42
-35
0
2
-28
49
-60
-16
-26
0
0
0
0
0
0
-1
52
155
90
57
72
-57
24
0
3
0
0
0
0
0
0
-2
1
-10
-9
10
34
42
28
37
-12
-5
0
0
0
0
0
0
0
0
2
17
30
40
78
-10
0
-2
-5
0
0
0
0
0
0
0
0
0
-5
55
5
-5
-33
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
23
46
0
67
-25
125
53
8
20
25
37
0
0
0
0
0
-2
41
0
38
86
-24
58
11
21
-2
80
66
0
0
0
0
0
0
0
-69
21
13
67
19
14
10
-62
23
99
0
0
0
0
0
0
4
-73
-6
60
13
69
-53
8
11
13
-55
0
0
0
0
0
-15
-62
13
102
-5
-118
105
-26
35
-48
-80
55
0
0
0
0
0
25
77
-52
0
-39
12
67
140
-15
98
89
-13
0
0
0
0
-2
-45
48
5
-7
7
32
-3
52
-5
11
-9
-1
0
0
0
0
1
1
-21
4
14
53
-46
22
-8
-46
2
1
0
0
0
0
0
0
0
0
1
0
23
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
2
-1
-32
0
0
29
0
0
0
0
0
0
0
0
0
-3
0
1
14
-42
-24
42
15
1
0
0
0
0
0
0
0
0
0
3
0
-2
85
221
12
64
0
0
0
0
0
0
0
0
0
0
-1
0
8
13
38
-30
5
7
0
0
0
0
0
0
0
0
0
0
0
-2
23
-28
-5
36
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
77
-28
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
3
-42
19
218
49
0
0
0
0
0
0
0
0
0
0
0
0
0
29
60
4
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
80
42
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
25
-8
0
0
0
0
0
0
0
0
0
0
0
-4
-8
99
31
10
8
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
112
29
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-39
-51
17
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
8
0
-35
3
0
0
0
0
0
0
0
0
0
1
1
-6
2
39
-49
0
-6
0
0
0
0
0
0
0
0
0
0
0
14
32
24
0
-4
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
-4
8
-13
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
3
5
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-5
24
2
-8
1
1
0
0
0
0
0
0
-3
12
-23
-2
17
-2
4
-19
13
-13
1
3
0
0
0
0
0
0
-1
-4
27
-1
75
-24
10
-13
-6
3
0
0
0
0
0
0
0
0
2
1
19
5
-66
-1
-18
-8
-7
0
0
0
0
0
0
0
0
1
6
-5
3
-51
5
6
12
12
0
0
0
0
0
0
0
0
0
0
3
5
-5
-23
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
-7
98
29
58
16
48
-11
0
0
0
-1
0
0
25
55
0
0
29
72
79
44
54
-44
36
0
0
0
0
0
0
-31
15
118
75
249
63
22
44
29
80
40
0
0
0
0
0
-1
0
-2
-34
125
138
124
12
51
23
84
173
0
0
0
0
0
0
-1
2
-90
34
116
-8
77
-26
-8
-2
-34
0
0
0
0
0
0
0
-5
36
-91
-9
146
-7
4
-17
54
-2
0
0
0
0
0
0
0
-2
-7
-9
-27
45
15
11
27
31
-4
0
0
0
0
0
0
0
0
0
0
0
-4
1
31
-7
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-1
-19
0
0
-11
40
24
-19
58
58
-10
0
0
0
1
3
0
-26
-24
5
56
80
28
12
-9
-38
62
89
0
0
0
0
-1
3
24
-3
-81
79
42
-2
-14
19
-39
-58
59
0
0
0
0
2
25
-12
-36
-33
33
-21
13
-1
6
21
67
42
0
0
0
0
0
31
19
108
-15
-34
-28
36
-15
-16
-16
39
25
0
0
0
0
0
3
3
45
24
67
1
-30
-20
-57
-63
-5
-2
0
0
0
0
0
2
-5
-6
-83
-22
65
-59
-36
-17
-45
-86
76
0
0
0
0
0
0
7
-1
-5
44
-21
-21
-6
50
-74
-15
24
0
0
0
0
0
0
1
0
-4
0
3
44
39
-21
67
4
0
0
0
0
0
0
-1
0
0
0
0
120
16
-55
2
98
67
-39
0
0
0
0
0
0
0
0
24
1
51
100
41
-7
-15
3
84
0
0
0
0
0
0
-1
-1
3
-17
0
93
33
-27
-4
-33
24
0
0
0
0
0
0
0
0
2
37
-58
8
58
-46
21
-63
25
0
0
0
0
0
0
1
0
-39
-10
57
-119
76
84
14
-2
-59
0
0
0
0
0
0
0
0
4
6
-25
55
90
30
65
0
113
0
0
0
0
0
0
0
-1
0
5
-25
-19
35
-13
2
-65
-2
0
0
0
0
0
0
0
0
0
3
0
102
45
-56
5
4
70
0
0
0
0
0
0
0
0
0
-1
-2
-8
-39
27
-93
25
47
0
0
0
0
0
0
0
3
0
66
20
51
-43
61
40
-43
55
0
0
0
0
0
0
0
-4
44
102
0
25
47
66
-83
44
-26
0
0
0
0
0
0
0
0
25
45
12
-7
31
50
52
-15
-6
0
0
0
0
0
0
-8
0
-22
-55
7
14
56
-71
46
6
41
0
0
0
0
0
0
0
0
30
-18
67
52
38
-9
13
0
-3
0
0
0
0
0
0
0
0
-4
-3
68
0
5
-68
35
-14
-44
0
0
0
0
0
0
0
0
-3
4
-28
44
23
-25
-26
-11
-95
0
0
0
0
0
0
0
0
0
0
10
-7
75
-66
-5
87
27
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
67
0
0
0
0
0
0
0
7
27
-8
0
0
36
43
12
78
16
5
15
0
0
0
3
-2
-8
-13
0
66
0
24
119
59
2
57
27
41
0
0
0
0
-2
4
-55
-11
52
-24
120
41
24
44
2
-32
-93
0
0
0
0
0
1
-3
14
77
159
-77
87
86
56
-51
15
-2
0
0
0
0
0
0
-2
-4
-1
6
87
-25
65
22
-10
-49
-50
0
0
0
0
0
0
1
6
-54
66
49
4
20
-15
64
44
-1
0
0
0
0
0
0
1
-2
-7
-2
-109
-55
19
-10
8
21
-12
0
0
0
0
0
0
0
0
0
0
0
-3
7
-6
41
5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-3
1
22
-4
0
0
0
0
0
0
0
0
0
0
0
-8
42
-35
63
5
-21
0
0
0
0
0
0
0
0
0
-3
0
3
-56
28
26
-21
8
-1
0
0
0
0
0
0
0
0
0
8
-41
87
49
73
-42
4
0
0
0
0
0
0
0
0
0
0
-3
6
52
35
66
-4
13
-2
0
0
0
0
0
0
0
0
0
2
-1
8
-31
22
-21
1
0
0
0
0
0
0
0
0
0
0
0
5
1
-3
-2
14
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
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
-2
114
8
112
-65
-13
50
0
0
0
0
0
0
-1
2
0
3
75
-62
122
13
-22
15
-33
0
0
0
0
0
0
0
-2
0
8
41
22
7
34
-24
-35
92
0
0
0
0
0
0
4
-2
-7
-13
125
96
-7
-34
8
6
-19
0
0
0
0
0
0
0
2
23
-9
100
41
-5
-19
-11
-60
89
0
0
0
0
0
0
0
-1
0
0
76
6
92
117
-19
-31
93
0
0
0
0
0
0
0
0
0
12
14
-66
33
95
-7
-63
-34
0
0
0
0
0
0
0
0
0
4
-2
-2
-4
-22
-11
-43
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-23
0
67
-42
31
47
-3
7
2
33
0
0
0
0
0
0
-17
4
-83
0
-6
75
-55
84
46
62
15
0
0
0
0
0
0
0
-7
-11
86
57
62
69
99
-43
22
-58
0
0
0
0
0
0
0
-13
-65
43
-80
-46
28
36
-146
94
13
0
0
0
0
0
0
0
22
49
3
-5
-44
61
52
1
13
96
0
0
0
0
0
0
0
0
1
0
-1
15
-45
45
-110
25
-25
0
0
0
0
0
0
0
0
0
-2
0
-1
-57
-11
51
-13
28
0
0
0
0
0
0
0
0
0
0
0
-5
-12
3
-12
-19
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
22
-15
0
0
0
0
0
0
0
0
0
0
0
30
19
59
-94
-5
0
0
0
0
0
0
0
0
2
5
0
-47
22
59
-50
-41
-37
4
0
0
0
0
0
0
0
0
0
-1
0
7
0
37
59
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
16
-16
-55
2
0
0
0
0
0
0
0
0
0
0
0
-2
35
-32
4
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
83
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
25
33
-60
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
3
22
17
-30
18
-30
2
0
0
0
0
0
0
0
0
-7
5
0
-6
0
80
106
-7
19
3
0
0
0
0
0
0
0
1
-65
0
-2
-21
-38
-28
-58
108
2
0
0
0
0
0
0
0
0
-4
0
-6
9
64
76
71
8
4
0
0
0
0
0
0
0
0
0
0
0
5
54
46
52
78
3
0
0
0
0
0
0
0
0
0
0
0
-1
5
31
-8
5
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
33
-68
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
75
50
57
-19
0
0
0
0
0
0
0
0
0
0
0
80
-51
39
30
48
-104
49
0
0
0
0
0
0
0
0
0
0
0
5
-19
-31
-93
40
12
0
0
0
0
0
0
0
0
0
0
2
4
84
-75
4
-47
9
0
0
0
0
0
0
0
0
0
0
0
0
-24
6
36
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
14
-53
8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-4
-12
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-3
0
22
41
-81
28
-12
-5
24
0
0
0
0
0
0
0
-3
29
76
-49
1
39
50
5
49
28
-7
0
0
0
0
0
0
0
-59
75
-8
9
72
-23
-11
43
9
0
0
0
0
0
0
0
0
-2
-13
80
23
-34
8
23
-81
-36
2
0
0
0
0
0
0
0
0
-2
-5
-4
111
55
35
17
-17
19
0
0
0
0
0
0
0
0
0
-1
-6
-13
66
87
-51
20
3
0
0
0
0
0
0
0
0
0
0
0
0
-16
6
-10
-36
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
59
-52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-13
0
0
0
0
0
0
0
1
0
9
-5
-45
18
13
-31
-5
31
0
0
0
0
0
0
0
0
49
5
-28
112
-34
-25
25
42
33
0
0
0
0
0
0
0
-4
9
103
-8
84
198
13
18
5
-59
0
0
0
0
0
0
0
0
1
-43
-5
130
3
29
10
16
3
0
0
0
0
0
0
0
0
4
5
-61
-9
72
27
-104
5
19
0
0
0
0
0
0
0
0
0
0
9
3
-162
35
-35
-104
150
0
0
0
0
0
0
0
0
0
0
0
-5
-22
-55
-16
-48
-7
0
0
0
0
0
0
0
0
0
0
0
8
-5
-65
-53
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
2
35
-13
58
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-104
-4
28
0
21
36
103
39
-23
-31
-83
45
0
0
0
2
1
6
-35
4
54
60
57
119
27
-50
22
19
-13
0
0
0
0
7
-4
-3
9
11
0
12
41
135
27
37
-77
-1
0
0
0
0
0
3
8
0
2
24
-15
103
93
14
-3
-20
-1
0
0
0
0
0
6
-1
-1
-61
-32
65
106
-32
80
-67
-11
3
0
0
0
0
0
0
0
-3
26
-14
22
14
-62
-74
-4
-22
8
0
0
0
0
0
0
0
-2
0
32
10
7
-28
31
-74
60
-5
0
0
0
0
0
0
0
0
0
0
0
-1
5
8
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
-24
44
27
-38
0
-45
-26
81
16
76
-36
-49
0
0
0
0
-7
-39
0
-28
-48
13
-26
-10
-14
13
48
35
42
0
0
0
0
0
0
-39
-58
-51
-49
-1
-32
-14
57
104
-12
-35
0
0
0
0
0
12
-31
57
-76
63
16
-36
-3
44
23
70
6
0
0
0
0
0
4
3
69
42
74
-99
13
-62
13
11
25
-77
0
0
0
0
0
-1
0
14
-13
-68
-23
-111
-17
-42
63
-48
-18
0
0
0
0
0
0
5
-2
-54
-62
-80
0
-18
-8
43
51
-56
0
0
0
0
0
1
0
8
-19
4
-34
21
-30
36
-81
-36
-102
0
0
0
0
0
0
0
0
0
12
15
-68
-31
7
0
0
0
0
0
0
-1
8
17
70
-43
30
0
149
-20
22
108
-29
31
0
0
0
0
0
0
0
11
-22
-13
16
15
60
103
83
159
13
3
0
0
0
0
0
0
0
17
87
-25
-80
130
45
80
11
-31
-2
0
0
0
0
0
0
-4
0
-18
10
14
-60
-13
34
82
-43
0
0
0
0
0
0
0
0
-1
-8
-3
26
-55
-15
-72
-47
19
1
0
0
0
0
0
0
0
0
0
0
-1
-8
-4
8
-42
-1
0
0
0
0
0
0
0
0
0
0
0
12
0
1
18
-1
-58
0
0
0
0
0
0
0
0
0
0
18
1
8
-20
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-14
-30
50
32
0
20
73
-48
71
23
47
0
0
0
0
0
0
1
47
-33
29
113
42
21
81
-7
-12
-42
0
0
0
0
0
0
2
-4
3
38
-11
-38
-31
18
98
5
-34
0
0
0
0
0
0
0
0
-2
-29
11
-58
4
54
52
58
42
0
0
0
0
0
0
0
0
-5
-1
25
70
4
-1
-2
40
9
0
0
0
0
0
0
0
0
0
2
-67
-75
10
-56
-43
1
-7
0
0
0
0
0
0
0
0
0
-52
0
-13
26
-79
-56
-3
1
0
0
0
0
0
0
0
0
0
1
-2
-24
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
50
4
-17
0
37
-3
78
109
93
-37
-60
28
0
0
0
0
1
111
-22
20
23
62
45
3
-20
22
-61
-23
70
0
0
0
0
0
21
-76
2
34
26
27
20
13
53
65
-38
-46
0
0
0
0
0
1
-1
5
-44
39
34
-20
35
-17
61
-44
-67
0
0
0
0
0
0
0
-49
93
12
-21
-43
6
35
-44
-65
41
0
0
0
0
0
0
0
-3
14
63
2
5
0
-55
-50
85
-1
0
0
0
0
0
0
0
0
5
-5
-1
8
-50
-66
-38
-42
-1
0
0
0
0
0
0
0
0
0
-1
-1
-3
-1
-2
16
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
0
0
0
0
0
0
-2
-38
0
9
-41
-29
49
-25
-19
-19
0
0
0
0
0
0
0
17
-17
-29
-9
66
-10
22
-41
-20
15
2
0
0
0
0
0
0
0
0
14
31
84
-16
110
-19
2
-48
-17
0
0
0
0
0
0
4
-15
-51
109
15
-21
-22
7
-1
-33
10
0
0
0
0
0
0
0
4
0
1
-48
-2
-3
-3
-34
75
6
0
0
0
0
0
0
0
0
2
-27
8
-23
19
-76
3
40
1
0
0
0
0
0
0
0
0
0
-1
-6
19
-30
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
67
8
-32
38
-43
-17
-14
53
0
0
0
0
0
0
50
-10
127
147
35
65
126
-31
118
41
23
0
0
0
0
0
0
24
-57
13
0
75
99
-58
19
-51
25
3
0
0
0
0
0
0
-1
-23
-56
27
100
138
2
21
-47
57
6
0
0
0
0
0
0
-1
90
56
90
40
-40
47
23
-4
-12
-53
0
0
0
0
0
0
0
-16
105
29
2
26
-32
-49
-2
46
107
0
0
0
0
0
0
0
5
-4
56
-92
27
34
-37
-13
-75
62
0
0
0
0
0
0
0
0
-4
0
-1
-2
-4
-31
11
-64
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-14
41
50
-28
10
10
24
0
-13
0
0
0
0
0
0
0
-13
25
-89
1
9
4
6
25
-17
0
0
0
0
0
0
0
0
-24
45
-62
-19
-8
25
3
-1
0
1
0
0
0
0
0
0
0
-29
-105
23
51
-52
-22
1
0
-1
0
0
0
0
0
0
0
0
9
-85
-123
-6
77
3
-1
0
0
0
0
0
0
0
0
0
0
5
25
22
118
25
-12
2
0
0
0
0
0
0
0
0
0
0
-3
-17
-5
4
13
6
0
0
0
0
0
0
0
0
0
0
0
-5
-20
-4
-32
0
-5
0
0
0
0
0
0
0
0
0
0
0
-34
6
-22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-32
52
3
0
0
-1
0
0
0
0
0
0
0
0
0
3
-79
36
-5
27
-2
2
0
0
0
0
0
0
0
0
0
0
-13
2
9
42
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-17
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
12
9
0
0
0
0
0
0
0
0
0
0
0
0
4
13
5
-12
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-20
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-48
-60
-24
8
0
-1
0
0
0
0
0
0
0
0
0
1
64
-77
-21
-8
-6
0
0
0
2
0
0
0
0
0
0
0
-3
43
31
12
-24
-2
0
0
0
0
0
0
0
0
0
0
0
4
5
-100
-12
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
6
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
13
-44
46
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
-56
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-43
-31
12
0
-1
40
0
0
0
0
0
0
0
0
0
-37
7
-13
-42
31
15
0
-3
-1
0
0
0
0
0
0
0
0
2
1
15
54
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-63
20
-43
46
-1
0
0
0
0
0
0
0
0
0
0
0
1
8
-60
16
-14
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-24
2
-4
4
-3
0
-2
0
0
0
0
0
0
0
0
0
3
-13
42
-23
29
41
43
7
2
0
0
0
0
0
0
0
0
-1
-1
-76
-15
-24
-2
58
-3
4
0
0
0
0
0
0
0
0
-10
22
-14
22
9
32
14
15
0
0
0
0
0
0
0
0
0
-10
-5
-19
-104
20
0
0
0
-4
0
0
0
0
0
0
0
0
-8
-42
30
-49
19
3
0
1
0
0
0
0
0
0
0
0
0
-14
-42
-76
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-58
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-30
19
19
1
-41
13
0
0
0
0
0
0
0
0
0
-30
-56
-31
-43
32
25
42
-15
6
3
0
0
0
0
0
0
0
-2
42
-18
-45
-32
18
76
46
-9
-3
0
0
0
0
0
0
0
19
-24
30
118
-20
25
-23
-7
7
3
0
0
0
0
0
0
0
-37
11
-43
24
10
-12
-46
-8
1
0
0
0
0
0
0
0
0
-35
-32
-4
-41
10
29
8
3
-8
0
0
0
0
0
0
0
0
-24
5
1
6
-23
-25
1
5
0
0
0
0
0
0
0
0
0
-10
-161
25
43
3
0
-1
0
1
0
0
0
0
0
0
0
0
-13
-52
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-41
75
-58
23
21
17
0
45
14
-50
0
0
0
0
0
-1
-31
-5
2
12
38
-31
7
63
160
44
-41
5
0
-1
0
0
-8
-24
4
-5
-13
19
67
-61
-56
-41
28
5
-4
0
0
0
0
4
-70
31
-28
-4
26
84
84
19
42
-3
-1
2
7
0
0
0
-1
13
54
-3
-79
-11
-23
56
66
66
16
9
-2
0
0
0
0
3
19
29
-46
39
-95
35
21
-10
-23
10
0
0
0
0
0
0
-1
1
13
15
37
-90
-72
10
0
-1
0
0
0
0
0
0
0
-2
24
-1
-22
3
4
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-26
7
14
93
-72
26
0
-33
13
-21
-21
-4
0
0
0
0
-110
-12
53
-15
44
-43
2
63
114
99
66
53
6
0
0
0
0
-52
-58
93
5
-41
-107
-15
-35
-49
-24
18
-20
-10
0
0
0
0
-56
-25
16
99
-47
-29
-47
83
10
35
24
36
-18
0
0
0
0
-7
50
-143
28
-37
62
16
69
-3
-17
-18
39
18
0
0
0
0
19
36
-63
4
30
39
1
-10
-23
-1
20
28
10
0
0
0
0
-7
4
60
72
-16
-24
12
-11
3
25
-32
14
10
0
0
0
0
43
3
60
93
23
-41
-68
-99
25
-8
13
24
0
0
0
0
0
0
6
2
-14
48
-22
35
-38
1
24
1
-4
0
0
0
0
0
0
5
13
-53
20
-139
-50
0
-6
-46
48
0
0
0
0
0
0
3
5
-25
55
-48
64
40
45
174
-22
-3
1
0
0
0
0
0
1
-59
66
-66
-3
-51
-85
7
41
25
5
0
0
0
0
0
0
3
-6
-59
74
78
-29
-35
96
23
0
0
1
0
0
0
0
0
0
-9
-1
28
66
-31
137
65
59
18
5
0
0
0
0
0
0
0
-8
64
50
70
54
-10
0
16
0
0
0
0
0
0
0
0
0
-2
-74
17
-1
-39
-4
4
23
0
0
0
0
0
0
0
0
0
0
-7
13
-5
13
41
-7
8
1
3
0
0
0
0
0
0
0
0
0
0
-1
8
-6
0
10
0
0
0
0
0
0
0
0
0
8
-6
15
-94
-83
68
0
33
-1
-16
-1
0
0
0
0
0
0
-66
65
41
87
-54
-14
-11
72
-7
6
23
0
-1
0
0
0
0
17
37
3
27
1
27
40
1
44
15
0
0
0
0
0
0
0
45
13
24
56
1
83
29
-46
42
-2
1
0
0
0
0
0
0
1
-10
10
5
-63
18
34
62
-13
0
0
0
0
0
0
0
0
-6
40
-86
-71
-21
16
-31
46
1
2
0
0
0
0
0
0
0
-6
-24
20
-21
-22
9
-42
13
-1
0
0
0
0
0
0
0
0
0
-8
8
84
8
50
-7
0
0
0
0
0
0
0
0
0
0
-9
0
2
-1
-9
0
0
0
0
0
0
0
0
0
0
16
-60
-20
6
-97
-31
-25
26
0
43
56
8
1
0
0
0
0
8
35
30
-6
-13
-15
20
5
23
145
9
34
1
0
1
0
0
92
13
73
-3
49
56
81
54
-42
28
43
2
0
2
0
0
0
-18
-17
-13
-17
-56
29
94
3
106
-45
-28
-4
0
0
0
0
0
49
39
-74
33
26
88
83
96
57
-52
0
-1
0
0
0
0
0
-3
-69
18
30
53
9
27
20
-5
-7
2
0
0
0
0
0
0
4
-29
-8
-57
55
-34
57
24
-2
0
-4
0
0
0
0
0
0
0
-31
4
7
-33
-2
-1
12
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
-4
-24
-17
13
45
0
18
-1
0
0
0
0
0
0
0
12
8
-7
-18
3
13
-27
41
33
0
0
0
0
0
0
0
0
-8
20
-2
33
66
-17
30
26
35
0
0
0
0
0
0
0
0
-7
20
-20
83
8
31
42
-37
4
0
0
0
0
0
0
0
1
3
-8
-46
100
33
-1
25
1
0
0
0
0
0
0
0
0
0
2
8
-45
2
-4
1
42
0
0
0
0
0
0
0
0
0
0
-6
-1
4
-18
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
3
12
2
-34
-42
0
29
-57
5
0
0
0
0
0
4
39
7
7
3
-53
57
118
67
93
26
24
5
0
0
0
0
6
34
-5
-5
8
48
178
2
24
-61
53
4
-7
0
0
0
0
-1
7
-8
2
66
119
13
58
-46
24
-2
0
0
0
0
0
0
0
-20
-1
23
100
-5
-13
-19
20
84
-22
5
0
0
0
0
0
0
19
8
43
7
44
-97
-13
78
-24
37
-1
0
0
0
0
0
0
10
17
-3
-34
14
31
8
14
2
18
0
0
0
0
0
0
4
13
-6
-33
-17
5
-30
24
-15
5
-4
0
0
0
0
0
0
0
0
0
0
0
5
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
2
169
0
0
67
-78
-6
4
0
0
0
0
0
0
0
0
0
0
109
183
163
-78
25
-5
4
-2
0
0
0
0
0
0
0
0
42
90
111
49
-28
11
-3
0
0
0
0
0
0
0
0
0
0
1
-44
45
-71
-59
6
0
-2
0
0
0
0
0
0
0
0
0
3
-83
39
14
-14
1
0
0
1
0
0
0
0
0
0
0
0
1
-49
57
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
64
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
-31
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
-5
-18
-3
-4
0
0
0
0
0
0
0
0
0
0
39
-11
-16
-21
8
0
0
0
0
0
0
0
0
0
0
0
0
-22
110
46
-53
-1
1
0
0
0
0
0
0
0
0
0
0
0
-13
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
8
5
0
0
0
0
0
0
0
0
0
0
5
144
0
0
0
-63
-3
0
0
0
0
0
0
0
0
0
0
0
87
164
-4
-23
41
-1
0
0
0
0
0
0
0
0
0
0
2
-55
93
67
-1
-15
-1
0
0
0
0
0
0
0
0
0
0
-5
-17
-26
-59
-44
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
3
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
30
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
100
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
42
132
0
0
-24
-1
0
0
0
0
0
0
0
0
0
0
0
13
40
128
39
-26
8
0
0
0
0
0
0
0
0
0
0
2
100
20
5
-83
67
-3
0
0
0
0
0
0
0
0
0
0
0
37
18
42
-75
1
0
0
0
0
0
0
0
0
0
0
0
0
49
-31
-21
-35
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-57
-19
8
0
0
0
8
2
0
0
0
0
0
0
0
8
-34
-17
-30
90
0
0
0
15
-3
0
0
0
0
0
0
0
23
-37
114
45
78
127
24
-15
-6
1
0
0
0
0
0
0
0
4
21
48
94
28
40
48
-49
-5
0
0
0
0
0
0
0
-1
-10
17
101
45
90
101
-69
-4
0
0
0
0
0
0
0
0
0
0
-10
5
75
-25
-8
-48
-12
0
0
0
0
0
0
0
0
0
0
0
20
-9
-45
-29
-16
-4
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-3
-1
-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
3
2
0
0
0
0
0
0
17
-9
0
0
0
0
0
0
12
16
-2
-1
-15
58
0
0
0
21
49
-32
0
0
0
0
0
-17
-5
-13
-14
56
117
17
53
-19
-74
21
-1
0
0
0
0
0
-50
-7
4
47
161
9
64
-51
-8
9
5
0
0
0
0
0
0
5
-31
-13
93
91
41
62
-9
19
4
-7
1
0
0
0
0
0
14
4
42
-29
90
-29
15
28
-53
0
0
0
0
0
0
0
-2
-5
20
-8
-22
-43
45
30
13
8
0
0
0
0
0
0
0
0
14
-5
-2
1
6
-2
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
16
-9
5
-34
-14
-8
0
0
0
0
0
0
0
0
0
0
0
96
-16
5
-8
36
47
44
0
0
0
0
0
0
0
0
0
0
-60
-30
-73
-15
24
12
-15
9
0
0
0
0
0
0
0
0
0
-15
107
-59
-3
-60
37
27
21
5
0
0
0
0
0
0
0
0
27
-28
55
-9
33
125
0
-3
15
18
0
0
0
0
0
0
0
34
4
-6
-43
24
-11
-4
-48
15
0
0
0
0
0
0
0
0
0
4
-65
75
-7
2
44
21
0
0
0
0
0
0
0
0
0
0
77
-11
15
18
-3
22
6
6
0
0
0
0
0
0
0
0
2
1
-24
-25
1
-3
-3
0
0
0
0
0
0
0
0
0
0
56
89
10
67
33
28
60
0
0
0
-19
-12
0
0
0
0
0
11
57
-54
7
-36
-3
131
0
0
90
17
10
1
0
0
0
0
-51
62
34
24
-67
16
195
64
-22
-9
-40
1
0
0
0
0
0
3
37
-3
-7
78
75
71
126
33
-27
-40
0
0
0
0
0
0
84
-27
2
61
-16
-31
23
13
16
-13
3
0
-1
0
0
0
0
-23
47
129
-59
20
-35
20
-93
11
10
-8
0
0
-1
0
0
0
2
-12
-57
30
1
-49
-51
-50
-1
37
0
0
0
0
0
0
0
0
8
-14
25
-2
-3
8
-2
2
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-46
-54
-15
-34
13
76
0
0
-90
-4
25
0
0
0
0
0
-34
46
-77
-28
42
-42
58
44
79
11
-14
5
5
0
0
0
0
-36
0
-65
-2
-4
7
-42
-14
115
-5
14
19
1
0
0
0
0
-22
-10
27
-42
-14
29
39
30
-11
-22
40
2
0
0
0
0
0
-14
-61
-57
-11
-11
22
-28
32
-51
22
1
-9
-1
0
0
0
0
60
32
14
-3
27
18
22
60
32
51
-28
8
0
0
0
0
0
3
-23
-37
-47
-35
-23
-15
24
59
5
-63
-31
-5
0
0
0
0
0
-84
29
19
76
4
-43
14
-59
2
-3
-5
0
0
0
0
0
0
0
-36
-14
19
-12
-6
13
-19
-1
0
0
0
0
0
0
0
-34
38
-41
-32
11
-7
-21
0
0
1
0
0
0
0
0
0
0
-49
13
-38
-17
-75
12
-11
30
29
0
3
0
0
0
0
0
0
-38
23
23
-8
-27
-106
40
29
-18
0
0
0
0
0
0
0
0
44
-4
-48
68
-45
5
7
-66
4
-1
-1
0
0
0
0
0
0
-85
2
74
12
5
-101
-39
43
-41
1
0
0
0
0
0
0
0
-22
12
-23
14
-15
-15
58
-27
-4
0
0
0
0
0
0
0
0
36
-15
-31
33
-75
66
-37
2
3
-1
0
0
0
0
0
0
0
48
-5
81
45
8
44
28
0
0
0
-2
0
0
0
0
0
0
56
44
31
22
2
5
7
2
0
0
0
0
0
0
0
0
0
13
146
-84
-81
45
56
81
-49
0
-3
0
0
0
0
0
0
0
-30
-10
-32
-22
17
117
0
-17
-4
5
0
0
0
0
0
0
0
62
-9
-89
-17
-13
93
36
-5
-8
21
5
0
0
0
0
0
0
8
54
-31
11
36
152
-15
27
32
3
0
0
0
0
0
0
0
-46
-28
31
65
-23
37
47
-13
-5
-2
0
0
0
0
0
0
0
-97
43
-58
12
-73
-70
49
11
13
-2
0
0
0
0
0
0
0
73
40
85
-14
-31
-19
-16
7
3
2
0
0
0
0
0
0
0
-114
-5
41
-65
-53
17
5
3
1
0
0
0
0
0
0
0
0
0
0
-48
25
0
0
0
0
0
0
0
0
0
0
0
0
0
15
2
17
21
-57
35
102
0
0
-17
-36
-7
0
0
0
0
0
13
66
28
47
82
-45
130
0
160
0
12
-11
-1
1
0
0
0
-59
22
41
29
16
151
280
142
81
73
-57
124
-7
0
0
0
0
-13
-6
23
39
76
-39
-23
120
58
61
-31
-4
-1
0
0
0
0
-2
-49
46
6
-23
65
-41
-57
54
-47
8
0
-4
0
0
0
0
13
31
47
-28
39
19
-45
54
-34
61
1
0
0
0
0
0
0
-22
20
-19
12
-1
-28
-53
-49
8
-2
0
0
0
0
0
0
0
0
-38
33
34
13
-1
-8
6
0
-6
0
0
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-49
-15
-39
-5
-24
-6
0
-3
-3
0
0
0
0
0
0
4
-9
-37
-42
11
35
15
0
64
0
13
9
0
0
0
0
0
0
-21
-60
10
47
89
86
108
-53
23
-20
6
0
0
0
0
0
8
7
102
35
118
91
179
120
-28
-19
7
0
0
0
0
0
0
-14
30
37
108
89
-15
32
-31
-8
-4
0
-3
0
0
0
0
0
-6
74
75
81
57
-8
-8
1
-4
-8
-3
0
0
0
0
0
0
25
45
103
118
48
-30
6
0
-9
0
0
0
0
0
0
0
0
0
54
133
68
-44
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
39
-3
27
48
6
-8
0
0
0
-1
0
0
0
0
0
0
5
-1
7
-4
-6
33
-13
110
0
-47
-16
-7
0
0
0
0
0
27
10
51
-2
6
58
114
74
92
-97
1
0
0
0
0
0
0
31
-96
19
74
-32
46
16
127
-21
14
0
0
0
0
0
0
0
-82
-50
-9
-12
19
59
45
-41
-108
5
-1
0
0
0
0
0
0
57
87
-65
-27
-41
99
29
51
11
8
0
0
0
0
0
0
0
-25
-58
-32
63
31
-48
-8
17
10
0
0
0
0
0
0
0
0
43
5
-15
58
-25
-10
0
0
8
0
0
0
0
0
0
0
0
5
18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-25
41
-13
-6
-18
1
1
0
0
0
0
0
0
0
0
0
-31
-31
-28
93
21
-27
92
29
-44
-13
0
0
0
0
0
0
0
-20
-64
0
-52
-23
-15
-5
-3
3
5
0
0
0
0
0
0
0
0
-42
80
41
31
-18
-1
0
0
0
0
0
0
0
0
0
0
10
-31
-61
44
37
-6
0
1
0
0
0
0
0
0
0
0
0
-5
79
-26
28
19
14
2
0
0
0
0
0
0
0
0
0
0
0
-10
-13
-43
16
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
7
6
0
0
0
0
0
0
0
0
0
0
0
0
-23
-5
-2
41
-3
-6
0
0
0
0
0
0
0
0
0
0
5
27
30
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
31
23
33
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-35
13
-8
3
0
0
0
0
0
0
0
0
0
0
0
-12
-57
98
35
76
-5
-22
0
0
-4
0
0
0
0
0
0
0
-8
41
61
61
47
16
1
0
0
0
0
0
0
0
0
0
0
-2
7
62
-72
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
-29
54
119
17
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
43
17
-19
0
2
0
0
0
0
0
0
0
0
0
0
-4
31
-23
-117
20
-33
-21
5
3
1
0
0
0
0
0
0
0
1
-8
-2
71
-48
13
-2
0
0
0
0
0
0
0
0
0
0
-5
42
51
37
-19
9
0
0
0
0
0
0
0
0
0
0
0
0
-7
12
1
16
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
15
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
3
8
33
-2
0
-1
1
0
0
0
0
0
0
0
0
0
-7
-24
24
13
15
7
21
0
-1
0
0
0
0
0
0
0
0
4
5
-35
33
-9
23
42
-9
0
0
0
0
0
0
0
0
0
-2
-15
-39
-18
-4
44
-13
0
0
0
0
0
0
0
0
0
0
-1
9
-27
8
22
48
25
8
-1
0
0
0
0
0
0
0
0
0
7
-2
-30
-2
49
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
-6
-14
7
-22
-15
0
0
0
0
0
0
0
0
0
-14
-55
66
47
-14
-30
-28
-7
7
0
0
0
0
0
0
0
0
24
47
25
30
37
15
24
9
15
-1
0
0
0
0
0
0
0
-27
59
22
-7
-8
-7
-16
-4
-9
0
0
0
0
0
0
0
0
71
16
-1
-19
7
-16
18
-29
2
0
0
0
0
0
0
0
0
-10
6
27
-29
-16
-20
7
-12
-15
6
0
0
0
0
0
0
0
1
-1
-13
6
-2
-2
-7
1
2
1
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-55
35
95
56
-23
168
0
39
10
45
6
0
0
0
0
37
25
11
31
70
29
-40
79
-11
81
-24
38
-14
1
0
0
0
14
-13
-27
34
36
7
100
41
-15
-14
74
-14
-32
-3
0
0
0
-3
44
31
72
47
91
50
-51
-7
8
-8
-7
-5
0
0
0
0
0
-42
99
73
31
108
11
104
34
-51
-5
0
0
0
0
0
0
0
17
18
-23
14
-15
29
-13
-22
-97
-1
0
0
0
0
0
0
0
0
1
16
-27
41
-48
-6
-122
-35
-3
2
0
0
0
0
0
0
0
0
0
-4
37
4
-32
12
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-21
-25
72
2
-49
-23
-35
0
-47
-96
4
2
5
0
0
0
0
-27
8
-15
16
21
-55
-42
-41
-48
-88
-52
73
47
32
0
0
0
11
25
24
37
19
-6
-12
-59
-72
-85
-26
5
32
-2
0
0
0
31
18
-48
-93
-4
-4
-7
-20
-5
-72
51
31
18
-3
0
0
0
7
-19
26
29
-36
29
53
6
31
-23
58
113
-8
-1
0
0
0
43
-98
-49
2
-37
13
-2
-42
32
-25
-19
10
6
-5
0
0
0
1
-66
-49
24
54
98
8
-31
10
-16
-22
2
-14
0
0
0
0
3
1
25
33
-14
29
3
-81
107
-37
-22
1
3
2
0
0
0
0
0
2
15
-41
-27
20
-10
45
-62
-2
0
-1
0
0
0
0
0
3
-8
25
12
12
-16
0
15
-42
13
8
20
-8
-3
0
0
0
1
21
-11
1
-5
-24
-63
4
13
11
73
29
31
0
0
0
-8
3
59
23
5
-50
55
-1
-79
-5
-14
-30
-29
0
3
0
0
0
-20
42
28
32
51
40
27
13
12
26
35
-26
0
0
0
0
0
20
4
64
-22
-13
-13
38
35
-15
11
7
-8
0
8
0
0
0
1
59
24
10
10
-38
80
-9
-51
5
-63
-7
5
3
0
0
0
1
-2
-39
-34
-51
41
-21
-18
61
-10
52
-18
4
0
0
0
0
0
-6
19
-31
40
26
-72
-2
3
-14
33
-13
2
13
-6
0
0
0
0
24
-6
-20
-40
-39
1
-46
-17
1
28
3
10
0
0
0
14
61
5
107
-13
67
0
33
-70
68
5
3
0
0
0
0
0
44
-1
53
80
-81
45
-20
-44
29
-3
-26
-1
0
0
0
0
0
61
-16
50
-41
46
20
-26
60
82
64
-5
-3
0
0
0
0
0
41
126
44
-7
-11
-20
-7
101
-29
28
14
0
0
0
0
0
0
12
31
22
130
-55
44
-8
-17
-6
-27
0
-4
0
0
0
0
0
3
-19
132
-39
5
105
33
-38
-62
-51
-16
66
-22
0
0
0
0
3
-13
-44
17
-29
18
-6
-27
-5
59
-41
-12
0
0
0
0
0
0
4
4
29
45
-67
23
-4
-18
6
1
8
0
0
0
0
0
0
0
1
-5
-49
1
3
0
0
0
0
0
0
0
0
-2
41
-48
5
26
-102
-71
105
0
10
7
-8
-1
0
0
0
0
-2
74
-23
81
25
37
-14
-13
34
15
-10
30
-1
3
0
0
0
46
57
18
-42
19
52
101
-29
-55
47
31
18
0
1
0
0
0
-3
8
7
16
1
121
-34
14
-75
18
-68
0
1
0
0
0
0
1
-66
-24
17
-9
35
15
-23
-5
12
-1
0
0
0
0
0
0
-1
3
-22
70
-41
59
-38
108
10
106
-15
0
0
0
0
0
0
0
2
8
32
21
2
-68
-29
89
14
5
0
-1
0
0
0
0
0
0
0
-3
8
-12
-21
7
-8
-3
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-7
16
7
-35
-22
-95
0
10
0
0
0
0
0
0
0
3
3
-6
8
56
52
66
-16
-12
45
1
0
0
0
0
0
0
0
-8
14
44
-6
21
-57
33
76
21
0
0
0
0
0
0
0
0
7
-10
-52
41
42
44
12
-4
0
-1
0
0
0
0
0
0
0
0
5
29
-7
80
-55
33
19
7
0
0
0
0
0
0
0
0
-4
0
-33
6
-104
-48
-70
27
-49
0
0
0
0
0
0
0
0
0
0
1
-6
25
-91
-30
30
-2
0
0
0
0
0
0
0
0
0
0
-29
-4
-17
17
5
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
1
-2
7
5
13
1
41
0
6
5
0
0
0
0
0
0
-1
5
-13
49
77
36
-41
31
45
5
-2
13
0
0
0
0
0
-3
42
-8
7
-5
8
2
26
5
-41
14
2
-2
0
0
0
0
-1
54
3
-13
27
-18
-5
-19
-39
11
-21
0
-1
0
0
0
0
-3
-42
9
9
50
-27
35
-64
-2
-16
-42
0
3
0
0
0
0
-1
-3
-1
23
30
-9
-95
31
-113
-11
-85
4
2
0
0
0
0
1
-5
0
0
25
-18
38
-55
-58
-41
-25
1
0
0
0
0
0
0
0
0
-5
2
-24
-30
-69
-71
-78
-31
1
0
0
0
0
0
0
0
0
0
0
0
-14
-72
9
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-32
-2
0
1
0
0
0
0
0
0
0
0
2
-21
0
0
-5
-41
-15
3
0
0
0
0
0
0
0
0
0
-44
-31
37
116
42
0
1
5
2
0
0
0
0
0
0
0
0
8
-23
13
24
-47
8
0
0
2
0
0
0
0
0
0
0
0
8
9
0
-83
-55
16
-6
1
0
0
0
0
0
0
0
0
0
1
-53
-15
-17
-65
-5
0
0
0
0
0
0
0
0
0
0
0
5
-50
12
-123
5
49
13
-1
0
0
0
0
0
0
0
0
0
4
-1
10
-12
-16
9
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-4
-49
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
9
2
-22
-26
5
1
-6
0
0
0
0
0
0
0
0
0
0
0
-31
40
9
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
22
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-43
-32
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
19
12
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
99
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
1
83
0
0
14
-20
-2
0
-1
0
0
0
0
0
0
0
0
3
-42
57
6
91
-20
-1
0
0
0
0
0
0
0
0
0
0
4
-1
48
-53
1
-18
0
-3
0
0
0
0
0
0
0
0
0
-3
-1
-5
-8
-51
1
-2
0
0
0
0
0
0
0
0
0
0
0
-9
-87
-51
31
0
0
-2
0
0
0
0
0
0
0
0
0
0
-10
-28
-19
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
-6
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-37
35
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
16
80
0
0
-25
5
6
0
0
0
0
0
0
0
0
0
2
-9
-1
57
67
0
8
0
0
0
0
0
0
0
0
0
0
0
-20
-35
24
103
5
-8
0
0
0
0
0
0
0
0
0
0
0
-25
-41
-44
41
2
6
0
0
0
0
0
0
0
0
0
0
0
-31
-3
-26
-39
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
-19
13
-24
-49
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
73
7
10
-37
0
0
0
1
0
0
0
0
0
0
0
-6
48
-45
-49
-83
-65
0
0
0
16
2
0
0
0
0
0
0
-1
56
9
-22
-25
-19
-31
56
43
-9
5
-3
0
0
0
0
0
0
-20
-56
-2
-8
12
-47
-42
68
-15
2
0
0
0
0
0
0
0
14
18
-9
-70
-57
-118
-37
-18
0
3
0
7
0
0
0
0
0
0
39
0
-74
36
57
6
-27
-6
0
0
0
0
0
0
0
0
0
-5
-15
-21
21
27
-75
-37
-6
-3
0
0
0
0
0
0
0
0
0
0
5
-1
-9
-33
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-47
-14
-1
0
0
0
0
0
0
0
0
7
0
-3
1
-6
0
0
0
4
-50
-1
6
0
0
0
0
10
12
-8
-8
5
29
0
0
0
88
44
-1
3
0
0
0
0
-17
29
-5
-42
-49
18
111
85
63
45
-16
20
0
0
0
0
0
16
8
20
-23
-3
4
-4
67
41
-45
-7
0
0
0
0
0
0
2
13
-1
-20
27
24
-5
-22
-80
-20
-7
0
0
0
0
0
0
25
-1
9
-41
-34
-58
-8
-4
-8
12
0
0
0
0
0
0
0
0
0
-3
29
-13
-19
-90
50
10
-33
2
-1
0
0
0
0
0
0
0
-1
0
13
12
-26
-28
-38
-68
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-21
-24
7
-4
-1
0
0
0
0
0
0
-5
29
-33
59
-49
1
0
0
0
0
0
0
0
0
0
0
21
-37
84
-15
73
31
-15
0
0
0
0
0
0
0
0
0
0
-51
-30
27
5
-34
-54
-70
-2
0
0
0
0
0
0
0
0
0
29
68
21
-31
5
-17
20
14
0
1
0
0
0
0
0
0
0
58
19
22
41
-43
-30
-2
46
7
1
0
0
0
0
0
0
0
12
-97
-27
50
37
22
128
21
6
16
1
0
0
0
0
0
0
39
-28
36
42
19
-31
-51
12
4
2
4
0
0
0
0
0
0
0
-8
-23
38
-43
-29
-25
7
-2
-1
0
0
0
0
0
0
0
0
0
-2
-1
2
3
1
0
0
0
0
0
0
0
0
0
0
68
-39
78
65
86
101
130
0
0
0
-3
-42
0
0
0
0
0
17
-64
2
31
-26
43
40
0
0
102
-25
59
-2
5
0
0
0
67
9
35
67
-84
58
28
-14
72
14
-6
-2
4
0
0
0
0
-39
10
-5
-3
-6
-23
-4
57
-27
33
0
2
0
0
0
0
0
59
47
65
3
-50
29
2
-97
17
-5
5
12
-3
0
0
0
0
15
-50
3
-15
31
-20
-2
-62
-18
55
1
8
0
0
0
0
0
5
-3
-23
59
-40
-102
-53
-49
-43
-25
-1
0
0
0
0
0
0
0
-2
6
-19
2
-93
-41
-25
-4
-2
0
0
0
0
0
0
0
0
0
-3
0
0
-15
0
1
0
0
0
0
0
0
0
0
0
-2
-37
-77
-71
19
-28
94
0
0
7
8
-6
0
0
0
0
0
-51
54
-52
-42
-11
31
-24
91
78
41
11
-2
5
0
0
0
0
-43
-5
-57
17
-17
-19
-60
-43
55
15
-63
22
-2
0
0
0
0
3
-62
-22
3
-29
-39
33
28
63
32
-19
15
0
0
0
0
0
35
38
-53
45
2
-41
-28
-28
28
-66
10
-56
1
0
0
0
0
-9
-62
-79
-67
-4
61
0
-37
-53
-25
71
-16
-1
0
0
0
0
-25
-19
10
32
-13
-5
-68
-36
-75
34
41
37
0
0
0
0
0
0
9
-17
10
76
109
39
-3
-21
29
-4
0
0
0
0
0
0
0
0
46
4
-1
30
50
3
-1
0
6
0
0
0
0
0
0
-32
103
2
78
-11
5
61
0
0
-2
0
0
0
0
0
0
0
14
91
20
-49
-18
69
-24
7
45
-2
0
1
0
0
0
0
0
75
54
-15
-27
-68
-98
-9
83
7
0
0
0
0
0
0
0
0
32
50
-5
24
93
-3
64
-31
5
6
-1
0
0
0
0
0
0
31
44
48
31
-47
-41
-13
27
-6
-5
0
0
0
0
0
0
0
0
-25
23
-13
-5
-48
-39
-3
6
0
0
0
0
0
0
0
0
0
-1
1
-4
27
25
1
0
-1
0
0
0
0
0
0
0
0
0
0
15
96
16
-42
7
-13
4
0
0
0
0
0
0
0
0
0
10
-7
-17
0
1
-7
7
-3
0
0
0
0
0
0
0
0
29
-78
-1
-55
23
13
-58
89
0
18
0
0
0
0
0
0
0
19
-43
-51
-29
-49
93
0
38
-50
4
-3
0
0
0
0
0
0
-8
24
-33
-18
19
38
-119
4
42
-14
0
4
0
0
0
0
0
-31
-22
-61
-27
-40
83
-93
-5
-51
0
1
0
0
0
0
0
0
-29
40
-7
69
19
-66
46
-21
42
10
3
9
0
0
0
0
0
-31
-6
-45
51
40
64
32
24
-5
0
0
0
0
0
0
0
0
43
-8
55
9
49
-30
-49
13
2
-4
0
0
0
0
0
0
0
20
41
5
5
44
-5
29
13
0
0
0
0
0
0
0
0
0
0
0
49
6
1
8
-2
0
0
0
0
0
0
0
0
0
0
-39
23
5
32
139
19
12
0
0
23
-2
-1
5
0
0
0
0
4
50
29
-28
30
-7
-29
0
118
0
120
24
-5
0
0
0
0
48
14
18
25
45
-37
37
-42
40
69
43
-1
0
0
0
0
0
-56
23
-9
46
-2
-14
66
-33
15
-76
27
-2
-8
0
0
0
0
-50
-49
-36
-5
41
-41
-48
0
-52
45
2
1
0
0
0
0
0
-2
54
103
0
4
-60
-23
-44
-31
-12
-5
0
0
0
0
0
0
-3
-3
-2
30
1
-46
35
-5
-36
-23
101
0
0
0
0
0
0
0
-1
20
-13
33
-1
0
-41
-3
-31
0
0
0
0
0
0
0
0
0
19
2
-13
0
8
0
0
0
0
0
0
0
0
0
0
0
-37
-1
-49
-8
-48
23
-9
0
-60
0
-1
0
0
0
0
0
31
-24
-23
-158
-41
-40
2
0
20
0
-10
0
0
0
0
0
0
19
-49
-102
-3
28
-41
-72
-20
41
18
0
-3
0
0
0
0
0
-9
16
3
23
12
-43
-21
21
8
9
-3
0
0
0
0
0
0
24
-5
-20
-87
-8
-30
-81
-20
-12
6
0
0
0
0
0
0
0
0
-56
-14
16
-84
9
-13
-97
-8
-23
4
0
0
0
0
0
0
0
0
2
21
41
-4
12
17
-7
-4
0
0
0
0
0
0
0
0
0
0
-2
7
-23
0
13
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-43
141
-28
33
-8
-39
0
0
0
-1
0
0
0
0
0
0
-7
-19
21
4
10
97
62
88
0
14
43
5
0
0
0
0
0
2
89
36
-80
51
57
33
15
75
3
0
-1
0
0
0
0
0
20
-3
43
11
64
47
-27
-23
127
-63
14
0
0
0
0
0
0
8
-49
28
-18
19
-34
13
-80
-34
-36
2
3
0
0
0
0
0
-24
8
41
1
-50
-24
73
2
13
14
1
0
0
0
0
0
0
25
-33
15
-14
12
-37
-30
-11
-31
-67
0
0
0
0
0
0
0
-6
-3
5
18
1
17
-14
-48
-31
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-29
31
53
137
-31
84
0
76
-3
0
0
0
0
0
0
16
20
-14
41
43
3
57
0
-6
25
-4
0
0
0
0
0
0
-7
41
-28
57
49
4
0
1
0
-6
0
0
0
0
0
0
0
-3
-22
28
32
-50
0
-1
0
0
-1
0
0
0
0
0
0
0
42
52
50
-5
19
42
1
-1
0
0
0
0
0
0
0
0
0
-39
-47
-22
-14
-10
6
1
0
0
0
0
0
0
0
0
0
0
-45
30
-19
-30
-12
8
0
0
0
0
0
0
0
0
0
0
0
-50
12
-8
-18
-21
0
0
0
0
0
0
0
0
0
0
0
0
-48
-14
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-22
-1
0
6
0
2
0
-5
0
0
0
0
0
0
0
2
9
-61
40
13
2
0
0
0
0
0
0
0
0
0
0
0
-6
12
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
28
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-39
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
10
30
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-3
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
50
-31
7
-2
2
5
0
6
0
0
0
0
0
0
0
0
-41
15
-12
8
0
1
0
1
7
0
0
0
0
0
0
0
1
-10
23
0
-13
0
0
0
0
3
0
0
0
0
0
0
0
6
-13
-17
-32
-43
0
1
0
0
0
0
0
0
0
0
0
0
-6
6
3
21
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
24
12
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-41
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
-1
-15
20
-10
-4
-28
0
-24
0
0
0
0
0
0
0
-2
-23
1
13
-35
13
-6
0
5
0
0
0
0
0
0
0
0
6
-4
-72
24
-16
-4
0
-2
0
-3
0
0
0
0
0
0
0
0
-19
-42
22
19
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
42
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-31
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-1
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
8
2
4
2
0
0
0
0
0
0
0
0
0
0
-23
-6
-7
1
6
-2
9
1
0
0
0
0
0
0
0
0
0
-8
5
4
-2
-6
5
7
0
2
0
0
0
0
0
0
0
0
13
1
-5
1
-7
0
-2
-5
-1
0
0
0
0
0
0
0
0
-4
5
-3
-6
-2
-9
2
0
0
0
0
0
0
0
0
0
0
-6
2
-7
-16
5
4
0
0
0
0
0
0
0
0
0
0
0
-5
7
-4
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
24
24
1
9
-59
-78
0
0
0
0
0
0
0
0
0
-8
2
58
-5
-12
-5
-18
5
-41
24
0
0
0
0
0
0
0
-49
1
12
-23
8
1
2
0
-39
-19
0
0
0
0
0
0
0
10
-25
93
-14
7
-20
3
1
-10
-3
0
0
0
0
0
0
0
-48
43
-33
-10
7
2
20
9
-12
-4
0
0
0
0
0
0
0
14
-38
-4
57
-6
-45
10
0
0
1
0
0
0
0
0
0
0
13
15
52
-41
-25
-19
1
-3
0
0
0
0
0
0
0
0
0
15
45
-1
-5
30
-1
0
-2
0
0
0
0
0
0
0
0
0
-35
30
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
54
76
69
-4
-67
12
0
14
-75
4
-31
-3
0
0
0
0
16
17
-10
73
-30
1
13
23
117
-8
-57
63
1
0
0
0
-1
25
-17
-5
-17
25
69
-56
-22
2
-3
69
1
-9
0
0
0
-1
28
92
33
7
-4
86
66
16
94
-13
5
13
5
0
0
0
0
5
22
51
1
-73
43
71
116
21
-42
7
-3
-1
0
0
0
-8
-5
-9
-27
47
-120
76
49
81
49
20
0
0
-8
0
0
0
0
0
6
-7
-8
10
-54
5
12
0
-5
2
0
0
0
0
0
0
0
1
1
-1
-76
6
8
-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
0
0
48
25
58
45
-13
43
0
-10
-63
75
76
15
0
0
0
0
1
45
21
17
113
-86
62
76
56
-42
6
-7
-34
15
3
0
0
-34
51
5
5
26
-83
-95
-36
-21
9
35
6
-13
-10
0
0
0
-4
-18
12
91
-4
35
33
65
16
41
89
30
30
5
0
0
0
-41
-36
-27
-87
56
33
45
60
19
-50
22
28
35
0
0
0
0
-25
58
-13
19
31
27
-41
67
-13
13
-9
79
30
1
0
0
0
18
-26
9
-9
-34
-20
-1
21
46
-52
-33
-25
-12
-2
0
0
0
8
3
37
-25
-27
9
38
-32
38
87
14
0
-2
4
0
0
0
0
-8
0
145
78
24
-69
-72
23
35
59
-4
0
0
0
0
0
0
4
8
-20
31
-9
57
0
121
-9
-32
-9
0
0
0
0
0
0
1
72
49
5
-19
-50
67
80
-88
-2
-1
2
0
0
0
0
0
1
35
30
-24
8
-117
24
5
49
4
5
1
0
0
0
0
0
-18
12
44
34
-30
25
60
136
26
10
0
0
1
0
0
0
0
0
10
8
31
-58
46
56
77
34
7
0
0
-2
0
0
0
0
0
0
5
32
87
50
38
33
-8
-3
15
0
0
0
0
0
0
0
31
36
63
-5
60
-83
-62
-4
-1
0
0
0
0
0
0
0
0
0
110
6
-22
-41
16
-55
6
0
-1
0
0
0
0
0
0
0
0
-3
-1
50
-74
5
22
-4
0
0
0
0
0
0
0
0
1
80
-15
3
-6
174
0
39
-58
-30
40
-1
0
0
0
0
0
2
38
16
99
-117
0
39
9
13
-34
-37
5
0
1
0
0
0
18
-34
-21
44
-100
-57
-91
27
-47
-16
2
2
0
0
0
0
0
4
-20
96
88
84
18
47
80
30
-29
-8
0
0
0
0
0
0
-93
20
-13
88
11
6
-20
68
14
-3
3
-1
0
0
0
0
0
1
22
-130
1
24
53
-6
23
13
-1
-5
0
0
0
0
0
0
2
-18
75
25
-58
41
30
-13
-19
1
4
0
0
0
0
0
0
0
8
58
29
-68
27
56
33
-2
-1
0
0
0
0
0
0
0
0
0
0
-2
8
1
-2
0
0
0
0
0
0
0
0
-4
27
21
31
29
4
-63
5
0
17
-27
3
-1
0
0
0
0
-3
30
74
-25
17
27
-19
-23
38
78
53
2
-17
0
0
0
0
-2
-34
-4
47
37
-23
8
3
-8
38
56
-5
2
-3
0
0
0
0
45
-7
6
97
13
4
180
148
21
-17
-5
0
0
-1
0
0
0
37
-16
10
-19
9
58
-41
-11
6
8
-3
0
0
0
0
0
4
8
-8
43
-7
-18
51
22
41
5
0
0
0
0
0
0
0
1
-7
-15
-15
44
-5
-5
-6
0
17
-6
1
5
0
0
0
0
0
0
-7
31
28
25
-42
25
-1
0
0
0
0
0
0
0
0
0
0
2
0
-2
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
12
37
10
-47
0
8
0
0
0
0
0
0
0
0
0
3
-1
24
-13
10
-33
-3
-18
4
0
0
0
0
0
0
0
0
0
-2
-7
0
14
25
25
2
1
0
0
0
0
0
0
0
0
-17
-4
0
37
-20
24
-2
-3
0
0
0
0
0
0
0
0
0
0
-1
-5
-7
-9
4
-2
1
0
0
0
0
0
0
0
0
0
3
0
4
-68
-19
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
33
1
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
12
-24
14
102
0
-48
0
3
0
0
0
0
0
0
2
15
4
44
-17
-44
-10
32
144
-48
1
0
5
0
0
0
0
3
5
12
9
52
-26
34
-8
42
-26
3
0
-5
0
0
0
0
24
-18
-6
25
45
-30
58
-8
-17
-33
-4
0
0
0
0
0
0
-22
-23
8
7
129
-30
6
-54
19
13
20
-5
0
0
0
0
0
-12
2
18
-50
-35
1
5
105
-63
-17
0
-1
0
0
0
0
0
4
-37
5
-31
13
59
-77
-2
2
-1
3
0
0
0
0
0
0
1
0
3
-16
17
-5
47
-60
42
0
5
0
0
0
0
0
0
0
0
0
-3
4
8
5
8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
24
-16
0
8
0
0
0
0
0
0
0
0
0
59
0
0
164
86
0
-3
0
3
0
0
0
0
0
0
0
3
45
134
87
76
47
-66
-5
-3
10
0
0
0
0
0
0
0
0
55
39
54
18
20
42
-13
-5
13
0
0
0
0
0
0
0
-2
2
100
-30
12
-9
-13
-5
-8
0
0
0
0
0
0
0
0
-4
20
-12
-52
-10
-2
-20
20
-9
0
0
0
0
0
0
0
0
2
-39
48
58
-33
49
0
6
0
0
0
0
0
0
0
0
0
1
-6
-31
-41
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-17
50
25
-2
3
0
0
0
0
0
0
0
0
0
0
0
25
-14
102
-16
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-59
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
90
0
0
79
-31
19
1
-3
0
0
0
0
0
0
0
0
0
49
3
42
78
93
2
0
-6
0
0
0
0
0
0
0
0
0
79
-6
-16
83
-6
-2
0
6
0
-2
0
0
0
0
0
0
9
13
48
-41
-52
-5
2
-6
0
1
0
0
0
0
0
0
0
1
-6
-13
51
69
-3
3
0
-2
0
0
0
0
0
0
0
0
0
-8
14
-25
6
-2
0
-1
0
0
0
0
0
0
0
0
0
0
6
17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
9
0
0
97
60
-6
0
0
0
0
0
0
0
0
0
0
0
13
35
137
10
-25
10
0
0
0
0
0
0
0
0
0
0
-5
20
51
104
-35
-3
0
0
0
0
0
0
0
0
0
0
0
16
19
-18
-71
25
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
33
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
15
-5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
20
-3
-25
0
0
0
0
5
0
0
0
0
0
0
0
-8
10
-16
13
15
0
0
0
-11
0
0
0
0
0
0
0
0
2
1
22
5
-13
21
-19
-29
2
-6
0
0
0
0
0
0
0
1
42
-5
14
66
66
74
-6
-9
0
0
0
0
0
0
0
3
-3
0
-2
39
127
-40
-28
51
3
-7
0
-2
2
0
0
0
0
0
5
6
5
-4
-26
10
3
3
0
0
6
0
0
0
0
0
0
4
0
-16
-13
39
19
-8
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
4
5
0
1
0
0
0
0
-1
12
1
0
-3
2
0
0
0
-6
-67
93
12
-13
-1
0
0
0
4
-2
7
-32
14
32
-13
54
66
94
-9
3
-6
0
0
0
0
-8
4
0
-5
55
8
5
80
-20
8
0
0
0
0
0
0
-1
-2
-10
12
-57
-23
108
-37
56
-39
-1
-2
0
0
-1
0
0
3
12
-13
8
-72
14
-78
-125
-90
12
0
0
0
0
0
0
0
-5
6
25
-8
56
9
24
17
56
0
0
0
0
0
0
0
0
-2
0
0
3
0
-18
25
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
-1
-2
0
0
0
0
0
0
0
-13
10
5
35
-49
33
-1
0
0
0
0
0
0
0
0
0
0
17
32
33
100
-1
58
-2
0
0
0
0
0
0
0
0
0
0
-4
11
-30
42
-30
68
0
0
0
1
0
0
0
0
0
0
0
24
-60
-13
51
44
-42
16
-14
43
-1
-1
0
0
0
0
0
0
6
59
29
-97
10
22
-62
-7
3
1
2
-1
1
0
0
0
0
-10
-56
10
23
-32
-4
-41
-13
-22
-1
-40
-2
-3
0
0
0
0
31
-5
-41
-14
-16
49
22
46
53
14
-1
0
-1
-1
0
0
0
0
32
35
-95
-4
39
-47
30
-41
7
2
0
-5
0
0
0
0
0
0
4
-17
5
0
-6
0
2
-1
0
0
0
0
0
0
0
-45
-54
-56
-2
17
76
26
0
0
0
-47
1
0
0
0
0
0
36
59
-83
-28
18
-3
179
0
0
8
99
-13
-6
0
1
0
0
-13
-44
-5
101
33
130
105
155
7
-48
15
-35
0
0
0
0
0
-16
24
26
92
-118
30
109
11
29
48
-59
37
-2
0
0
0
0
-1
83
80
-19
-45
-16
31
42
3
45
9
-14
27
-4
0
0
0
-17
-75
16
-36
13
38
24
51
12
39
45
-22
-16
8
0
0
0
0
-48
-4
-59
12
37
58
-26
-59
-28
11
54
-1
2
0
0
0
0
-10
-47
9
-66
8
59
-8
58
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-32
-39
-21
-40
-16
3
0
0
1
32
-51
-1
1
0
0
0
20
5
-24
-10
23
44
70
2
-13
84
-5
-3
0
-1
0
0
0
31
-51
5
-23
47
21
5
-58
8
-39
-22
-12
0
0
0
0
0
71
53
-51
5
3
31
48
-5
4
-32
-42
15
2
3
-1
0
0
-10
52
-5
-27
10
42
-15
39
-33
7
33
50
0
-1
0
0
0
-13
-38
-35
17
24
16
49
15
37
-44
13
78
-2
0
0
0
0
-4
-49
57
-35
-5
-15
-15
5
-52
12
-76
17
3
0
0
0
0
10
-31
-60
49
-21
41
3
-33
83
38
-43
10
-1
0
0
0
0
0
-6
26
2
-62
39
-22
-49
14
-7
-34
-14
0
0
0
0
0
35
13
0
23
16
93
31
0
0
0
0
0
0
0
0
0
0
32
2
-20
35
92
-21
62
41
7
0
0
0
0
0
0
0
0
7
-23
-4
73
-31
40
5
-6
98
0
0
0
0
0
0
0
0
-31
14
-31
79
2
12
31
28
-43
0
0
0
0
0
0
0
0
-31
-13
-2
39
-43
75
19
-61
-14
-1
0
0
0
0
0
0
0
-10
-36
20
-31
-5
-1
-54
-86
-17
3
-5
0
0
0
0
0
0
48
19
8
31
49
40
-17
-47
-13
-19
0
0
0
0
0
0
0
8
32
17
31
-76
82
-22
5
-35
13
1
2
0
0
0
0
0
-55
40
-147
35
-30
9
-5
-45
8
0
3
0
0
0
0
0
0
50
-22
15
36
39
54
-6
135
0
-4
0
0
0
0
0
0
0
-22
-15
-79
-16
-23
88
0
69
23
-17
-2
0
0
0
0
0
0
-31
-20
-2
55
49
48
24
-49
34
-21
-1
-1
0
0
0
0
0
5
22
-11
-6
-26
-74
10
96
2
6
-5
0
0
0
0
0
0
48
-73
-29
9
-3
8
-28
-22
-44
-8
3
0
1
0
0
0
0
-55
-44
-108
7
-17
3
63
-4
20
-1
-25
0
0
0
0
0
0
-36
-75
76
5
-42
-25
-5
-19
-40
-22
-1
0
0
0
0
0
0
37
-63
-71
20
-46
-83
-52
-3
59
4
0
0
0
0
0
0
0
0
0
-58
30
-23
0
0
0
0
0
0
0
0
0
0
0
0
-37
-29
59
-13
57
39
63
0
0
92
119
-32
-14
0
0
0
0
-4
6
21
46
95
-9
134
0
-8
0
24
-40
14
0
0
0
0
-9
-42
6
101
-24
74
115
55
9
100
3
-24
2
0
0
0
0
-42
65
28
-39
90
71
19
-70
-79
-37
27
-18
-1
0
0
0
0
-8
1
28
15
43
78
-38
32
-25
-5
7
41
-3
2
0
0
0
1
-21
-61
-83
3
84
100
67
18
-122
-57
-7
0
0
0
0
0
-1
-16
70
80
81
-112
-8
0
9
-5
-74
2
-2
0
0
0
0
0
3
-69
-75
15
27
18
35
15
2
14
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-21
-5
-44
-50
-10
8
0
25
-13
3
0
0
0
0
0
12
13
3
-49
49
22
8
0
-30
0
-5
0
3
0
0
0
0
6
6
41
-75
-9
2
8
21
-35
-45
-75
5
0
0
0
0
0
0
-38
50
12
44
54
85
110
7
-11
-18
-8
0
0
0
0
0
-1
-58
3
23
108
190
65
-13
-46
-24
0
0
0
0
0
0
0
0
19
114
94
74
66
36
-24
-6
-10
-3
0
0
0
0
0
0
0
10
46
5
92
67
-9
-18
-14
5
0
0
0
0
0
0
0
0
0
4
103
7
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
-68
82
-57
-29
20
27
42
0
0
0
1
1
2
0
0
0
0
3
-8
31
17
-16
76
100
1
0
41
20
0
-1
0
0
0
0
12
-17
-10
-69
-42
29
4
17
8
-66
-15
-1
0
3
0
0
0
8
39
94
32
-42
14
15
-4
27
-40
35
0
0
1
0
0
0
5
-83
-68
-16
34
50
25
-40
94
-13
0
0
0
0
0
0
0
10
-30
8
-4
15
-120
-91
48
-3
66
-1
0
0
0
0
0
0
13
-67
45
23
-34
26
57
-5
-7
-42
-2
0
0
0
0
0
0
-5
61
10
24
-30
51
13
1
42
0
0
0
0
0
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-20
30
-33
8
-19
3
0
-9
0
0
0
0
0
0
0
0
35
-95
161
-30
-8
-2
15
53
42
0
0
0
0
0
0
0
-7
-67
-46
13
-25
32
-46
-29
-17
-5
20
0
0
0
0
0
0
0
45
-43
48
-71
-8
0
0
-4
5
0
0
0
0
0
0
0
0
15
-22
41
-20
-1
7
0
0
0
0
0
0
0
0
0
0
0
17
-63
-8
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
24
-9
-8
-9
2
6
2
0
0
0
0
0
0
0
0
0
18
19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-66
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-10
6
6
0
0
0
0
0
0
0
0
0
0
0
0
19
60
-58
6
26
-26
5
20
5
0
0
0
0
0
0
0
0
76
28
-31
-21
-17
-1
-2
2
-6
0
0
0
0
0
0
0
0
-5
5
-58
12
0
0
0
2
0
0
0
0
0
0
0
0
0
0
41
41
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
-8
-5
0
3
2
0
0
0
0
0
0
0
0
0
0
0
-7
29
54
-20
-31
41
-30
-34
2
3
0
0
0
0
0
0
0
0
19
-13
27
42
-3
-6
-3
5
0
0
0
0
0
0
0
0
22
-4
20
168
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
1
0
0
3
-1
3
-1
0
0
0
0
0
0
0
0
0
0
2
8
7
-7
-12
-49
-47
12
4
0
0
0
0
0
0
0
0
0
0
-15
5
17
-18
-6
0
0
1
0
0
0
0
0
0
0
0
0
-1
-6
59
30
-5
0
0
0
0
0
0
0
0
0
0
-4
6
6
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
0
45
10
-12
0
0
1
0
0
0
0
0
0
4
17
22
-7
6
54
-30
18
6
0
0
0
0
0
0
0
0
3
-35
-1
66
-1
-15
-54
-35
-10
5
0
0
0
0
0
0
0
0
14
59
-13
20
-22
0
-22
-5
0
0
0
0
0
0
0
0
0
-1
12
-19
7
33
-6
-13
0
1
0
0
0
0
0
0
0
0
2
-1
-5
-22
4
4
-3
8
-22
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-6
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
37
30
63
-57
22
0
17
-66
64
0
0
0
0
0
-7
16
74
-24
4
21
-1
81
30
-16
-6
39
14
3
0
0
0
0
73
44
51
39
37
60
75
-16
9
27
35
16
-6
0
0
0
0
7
41
106
-53
-4
118
84
58
-20
10
-43
-15
5
-1
0
0
2
0
-15
-47
-42
97
5
163
-11
-65
-31
-10
4
0
0
0
0
0
0
-8
20
-8
-23
-13
39
-13
-16
15
7
0
0
0
0
0
0
0
-1
-6
0
5
12
17
18
-7
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-19
-37
32
-62
45
0
22
54
-52
-114
1
0
0
0
0
0
5
-36
-38
-6
11
25
-6
10
-93
-6
52
66
1
0
0
0
0
-2
-28
71
18
21
63
-40
-25
-55
48
3
-26
-1
0
0
0
-2
-6
-57
-107
30
17
40
18
25
21
-41
56
9
6
0
0
0
-6
79
-24
-57
-16
-42
-33
-66
-69
-54
-43
54
93
23
0
0
0
0
-1
7
-3
-11
-8
-39
-9
-11
17
-40
88
26
3
0
0
0
-8
-20
-8
41
102
-41
18
-57
41
23
28
-22
-4
3
0
0
0
0
0
14
8
-33
65
-78
50
-23
-58
-37
1
0
0
0
0
0
0
0
0
-4
27
-8
-36
-7
-36
-44
43
-7
0
0
0
0
0
0
0
13
30
49
-26
-50
0
-2
-109
11
-124
90
-13
-16
0
0
0
2
-85
-106
12
-84
-12
131
-27
-81
46
-24
51
-17
0
-8
0
0
2
6
79
17
-9
24
-7
6
40
-30
8
50
25
20
0
0
0
9
72
5
175
68
33
-7
30
57
15
-49
21
-7
0
0
0
0
0
-5
-56
6
57
38
-31
-36
32
-14
-11
5
-5
15
0
0
0
0
2
8
-19
72
-74
43
-14
-42
62
5
-46
-4
0
0
0
0
0
0
-6
-8
-16
-48
4
-50
-37
46
-2
-41
16
3
3
0
0
0
0
-2
25
-6
-1
13
19
-20
29
-1
66
5
4
-13
0
0
0
0
0
-6
21
40
-13
12
-12
44
15
6
120
16
13
0
0
0
84
-23
13
82
74
0
-59
-26
30
48
74
-2
0
0
0
0
7
46
2
82
-3
54
16
54
-7
65
56
-44
5
-1
0
0
0
6
77
76
27
-52
66
90
39
-17
-59
66
60
0
0
0
0
0
5
85
42
72
83
20
73
-43
13
-12
4
20
0
0
0
0
0
-1
31
56
-4
-6
-12
-49
34
82
39
-30
-4
1
0
0
0
0
0
6
27
-1
70
-23
-15
66
38
-66
21
-3
-30
1
0
0
0
0
0
-13
-24
-20
-16
33
-45
-3
-73
-21
120
-23
0
0
0
0
0
0
13
14
30
-62
-37
14
-7
8
4
13
-20
-12
0
0
0
0
0
0
0
42
-42
6
0
0
0
0
0
0
0
0
0
-19
-59
25
-29
-33
-42
18
0
-49
5
-44
0
1
0
0
0
-3
7
-5
41
46
29
-66
-17
-10
40
-23
-15
-5
0
0
0
0
-5
42
20
39
99
-4
64
65
33
25
7
16
25
-3
0
0
0
0
-14
-5
73
-13
105
121
55
45
46
41
-12
1
-16
6
0
0
0
2
10
2
60
45
-6
4
22
8
-3
-8
0
0
0
0
0
0
0
9
8
15
-40
44
-46
68
-42
-52
-2
0
0
4
0
0
0
0
0
0
0
-49
-30
-25
-9
20
-1
0
0
0
0
0
0
0
0
0
5
0
3
2
-19
8
13
0
4
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-15
-35
0
-2
0
0
0
0
0
0
0
0
0
-1
-5
-3
18
12
58
33
-3
0
0
0
0
0
0
0
0
0
4
-6
59
32
14
-2
-29
-4
-2
0
0
0
0
0
0
0
0
-5
3
42
32
52
59
-1
0
0
0
0
0
0
0
0
0
0
0
7
69
25
30
-9
-9
3
0
1
0
0
0
0
0
0
0
0
15
2
35
8
71
12
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
0
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
0
0
42
41
1
0
-54
-34
-2
0
0
0
0
0
-2
0
-9
49
48
71
-42
-44
50
-59
-28
0
17
1
0
0
0
0
-6
-9
7
15
144
31
-85
-40
-33
3
9
-8
0
0
0
0
0
0
1
9
4
-1
-1
146
5
-47
47
-3
-6
0
0
0
0
0
0
0
8
70
-4
-13
-2
-57
16
8
0
0
0
0
0
0
0
0
0
3
16
-6
-55
-129
-69
-91
-13
-25
5
0
0
0
0
0
0
0
0
13
10
73
28
64
-23
63
-30
0
3
0
0
0
0
0
0
0
0
-13
-39
13
10
-2
-17
-4
1
0
0
0
0
0
0
0
0
0
-3
-5
3
-51
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
5
-6
8
-35
0
0
0
0
0
0
0
0
0
28
0
0
5
67
-13
44
-4
-5
0
0
0
0
0
0
0
-5
-29
-82
96
20
45
85
21
-5
5
0
0
0
0
0
0
0
9
29
56
58
23
-8
-9
-9
-2
-5
0
0
0
0
0
0
0
0
74
-15
66
44
0
32
-5
-19
-33
0
0
0
0
0
0
0
-6
-66
-17
-59
19
60
0
22
43
-25
0
0
0
0
0
0
0
-4
-39
-5
-101
24
74
-45
15
-5
-2
1
0
0
0
0
0
0
0
-13
-35
-26
40
-6
-4
16
-2
1
0
0
0
0
0
0
0
0
-9
2
40
-7
-29
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
41
0
0
0
4
-6
0
1
0
0
0
0
0
0
0
0
0
-34
35
43
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
1
-9
17
-1
-1
0
0
0
0
0
0
0
0
0
0
0
9
-22
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-15
57
-5
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
-31
-42
4
-2
-5
0
-2
0
0
0
0
0
0
0
0
0
0
34
-7
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
84
0
0
-15
6
-7
0
0
0
0
0
0
0
0
0
0
0
96
89
6
34
1
5
4
0
0
0
0
0
0
0
0
0
0
32
22
-62
-10
30
-2
0
8
-1
0
0
0
0
0
0
0
3
-23
-55
49
21
23
-1
-4
-3
-1
0
0
0
0
0
0
0
3
-14
-47
6
-30
-20
0
-4
2
1
0
0
0
0
0
0
0
0
-3
19
-8
93
-42
1
2
-1
4
0
0
0
0
0
0
0
0
0
5
3
59
-2
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
13
4
0
0
0
0
0
0
0
0
0
0
0
0
4
31
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
-1
-65
0
0
5
-3
-4
-2
0
0
0
0
0
0
0
0
0
0
-22
54
86
8
1
0
1
0
0
0
0
0
0
0
0
0
-9
-47
4
-81
9
15
0
7
0
0
0
0
0
0
0
0
0
-2
-33
104
-58
35
-4
2
-3
0
0
0
0
0
0
0
0
0
0
-35
5
23
5
7
0
6
-3
0
0
0
0
0
0
0
0
0
33
-53
42
-7
9
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-3
-31
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-8
14
10
-5
0
0
0
-12
1
0
0
0
0
0
0
-6
1
49
-7
-20
-50
0
0
0
0
2
0
0
0
0
0
0
-5
4
23
10
-19
31
-17
25
10
1
0
3
0
0
0
0
0
0
-4
-2
-5
-14
4
-32
9
67
31
-5
-6
1
0
0
0
0
0
0
8
-5
-27
-55
-18
12
88
-8
15
0
9
0
0
0
0
0
0
0
-1
-20
1
42
-9
43
5
3
2
6
2
0
0
0
0
0
0
-1
-5
19
-16
-7
49
-8
16
0
0
0
0
0
0
0
0
0
0
0
7
-5
-13
-18
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
14
-1
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
7
33
7
0
2
0
0
0
0
0
2
3
3
41
0
0
0
41
52
4
7
0
0
0
0
-1
0
7
59
18
45
19
58
44
1
5
2
-1
0
-1
0
0
0
0
6
27
30
10
128
86
-91
8
4
-8
-4
0
0
0
0
0
0
-6
-13
9
28
-86
129
-57
2
29
-1
0
0
0
0
0
0
0
0
-34
7
-47
-65
65
65
-37
31
-1
-5
-1
0
0
0
0
0
0
12
42
78
-2
4
-23
-44
-2
-6
1
-8
0
0
0
0
0
0
0
3
1
25
-12
-71
-41
-14
0
-2
0
0
0
0
0
0
0
0
0
-3
59
29
18
31
7
-4
0
0
0
0
37
49
-32
-19
-73
-5
1
0
0
0
0
0
0
0
0
0
0
-6
18
-22
77
49
31
18
0
0
0
0
0
0
0
0
0
0
48
38
122
-20
28
52
5
-2
0
0
0
0
0
0
0
0
0
-12
-108
106
-38
46
26
8
-5
2
0
0
-1
0
0
0
0
0
-24
-3
5
15
75
8
65
6
-17
-31
0
0
0
-3
0
0
0
0
-8
28
5
-5
49
72
72
-20
31
30
0
-3
1
0
0
0
0
-5
59
-37
-2
-5
76
-43
-1
19
5
60
-22
0
0
0
0
0
1
3
-8
0
0
1
24
-9
-17
12
0
22
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
30
24
45
4
-22
155
0
0
0
17
-2
-8
13
0
0
0
-29
47
-33
-35
77
-56
-4
0
0
58
90
36
26
6
0
0
0
25
-46
-54
50
53
3
-25
82
31
194
75
49
10
-4
-2
0
0
-41
-59
47
-60
89
-54
-14
-58
14
-9
-22
5
-2
-1
-6
1
0
1
12
92
64
23
-31
43
67
82
-87
5
-10
6
0
0
-1
0
0
-4
-80
48
-107
-122
39
-48
-51
-5
-3
-13
-4
1
-2
0
0
0
0
-7
-8
-32
-7
-2
-59
-35
-41
-3
-6
-2
0
-2
0
0
0
0
0
-5
2
0
-1
8
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-31
-19
105
48
0
0
47
12
-12
23
0
0
0
0
9
64
-13
41
31
-18
20
-15
43
-49
-57
9
3
0
0
0
0
22
34
32
-57
-27
-89
-14
-53
-13
-58
-49
-44
-7
1
0
0
0
-3
9
-1
16
-66
15
7
-89
5
-27
-2
-4
-13
-2
0
0
0
24
-15
-38
-22
18
18
44
-45
-43
-27
1
11
-27
2
0
0
0
0
34
-1
-2
-3
-34
-53
-51
-123
-31
75
-15
-44
0
0
0
0
0
0
-23
-11
10
-36
30
-32
1
52
-50
-15
5
0
0
0
0
0
0
5
106
-14
92
-3
-36
-55
-1
10
0
0
0
0
0
0
0
0
72
18
9
-23
-3
-9
0
0
0
0
0
0
0
0
0
-16
-38
61
41
-28
-1
13
0
0
4
0
0
0
0
0
0
0
-4
-60
49
-22
125
51
-4
30
14
0
0
0
0
0
0
0
0
-8
-15
-21
-13
13
26
-28
-31
-14
0
0
0
0
0
0
0
0
4
15
-13
70
-22
-25
28
3
22
0
0
-3
0
0
0
0
0
0
14
-8
8
-20
16
-60
-48
-16
-5
0
2
0
0
0
0
0
0
2
-1
6
-5
-20
13
-39
-47
1
0
7
0
0
0
0
0
0
0
1
0
-7
-13
-5
-24
5
1
0
0
1
1
0
0
0
0
0
0
3
0
0
-27
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
69
-35
70
101
-2
74
20
0
0
0
0
0
0
0
0
0
44
-48
2
3
42
25
0
-38
-15
1
0
-6
0
1
0
0
0
57
-28
-2
94
2
126
17
-1
-30
-14
0
-1
0
0
0
0
0
46
-43
21
66
-4
-17
-72
-60
5
-7
15
-1
-2
0
0
0
0
5
9
11
-1
-37
24
-76
-21
7
-5
0
-5
0
0
0
0
0
-3
-12
4
-42
49
86
-18
-73
0
4
-2
0
0
0
0
0
0
0
16
29
-19
14
13
-34
-25
5
-10
0
0
0
0
0
0
0
3
0
1
-4
-17
0
-3
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
38
5
-141
70
-12
77
0
0
59
-53
12
-12
-2
0
0
0
-10
9
68
-7
29
49
32
0
198
0
30
-10
-12
0
0
0
0
32
31
-25
-32
19
12
54
-49
242
143
-37
-1
-5
0
0
0
0
60
22
-49
-66
109
-82
37
10
53
69
31
-2
2
2
0
0
0
-1
24
-19
115
-54
-87
-48
-54
4
-47
32
10
1
0
-1
0
0
0
-9
32
40
-54
114
-41
-75
-18
24
-12
-4
0
0
0
0
0
0
0
-6
-1
5
37
-70
-29
-55
27
2
0
0
-1
0
0
0
0
0
0
0
-27
-1
19
-6
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
5
-75
-30
7
5
0
-5
-1
3
-1
0
0
0
0
0
-17
35
1
-75
-68
-40
0
-3
0
0
1
1
0
0
0
0
0
-13
-28
-41
-46
-48
-50
-68
19
-2
0
0
0
0
0
0
0
0
-8
15
-1
-5
1
-17
-3
7
-31
9
-6
4
0
0
0
0
0
0
8
-13
-4
-5
-50
-13
41
-14
55
1
0
0
0
0
0
0
0
-3
-16
-25
-6
-55
-43
-24
15
-1
0
3
0
0
0
0
0
0
0
0
22
16
-2
51
-8
24
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-4
3
-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
-18
17
-49
-16
0
0
0
0
0
0
-13
-7
0
0
0
0
6
29
8
22
58
-1
69
9
0
-3
30
5
0
0
0
0
0
-29
57
-63
42
-16
58
24
3
60
25
0
0
0
0
0
0
0
-1
-74
34
25
36
114
-76
-48
27
4
-3
10
0
0
0
0
0
0
-1
30
71
54
55
16
-1
-110
-38
5
5
0
0
0
0
0
0
-2
35
1
-10
47
-5
-27
-52
-99
25
1
0
0
0
0
0
0
5
2
2
2
0
-31
-17
-33
-44
0
0
0
0
0
0
0
0
0
-1
-1
-2
-10
-1
6
-102
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
3
8
-10
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
-75
-6
-58
49
46
21
0
0
0
0
0
0
0
0
0
0
0
1
31
-22
63
-5
30
34
0
0
0
0
0
0
0
0
0
0
-22
-43
22
22
36
90
0
0
0
0
0
0
0
0
0
0
2
5
64
19
-18
-3
-52
-1
0
0
0
0
0
0
0
0
0
0
-1
21
-43
-34
70
95
0
0
0
0
0
0
0
0
0
0
0
-15
9
-12
-25
-41
-7
5
0
0
0
0
0
0
0
0
0
0
0
-10
-31
-46
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
-7
27
24
-76
3
-29
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-9
42
33
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
10
13
35
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
13
-74
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
7
49
4
0
0
0
0
0
0
0
0
0
0
0
-3
1
-81
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-5
0
17
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
7
0
76
80
-4
-12
2
0
0
0
0
0
0
0
0
0
-1
0
-24
-39
19
-10
-6
0
0
0
0
0
0
0
0
0
0
0
8
-42
5
32
-5
23
0
0
0
0
0
0
0
0
0
0
0
0
-3
31
2
-14
-30
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-41
-52
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
75
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
25
22
-16
-9
0
0
0
0
0
0
0
0
0
0
0
5
5
-6
10
41
6
0
0
0
0
0
0
0
0
0
0
0
13
-46
-13
-33
1
15
0
0
0
0
0
0
0
0
0
0
0
3
24
-32
-10
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
-47
25
-19
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-69
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
-4
-3
-12
0
0
0
0
0
0
0
0
-2
-1
0
0
0
35
5
5
23
-7
0
0
0
0
0
0
0
-5
27
25
-30
-32
3
29
43
3
0
0
0
0
0
0
0
0
-9
25
0
-13
6
17
0
-1
8
1
0
0
0
0
0
0
0
-5
0
-69
-54
22
14
-3
3
13
0
0
0
0
0
0
0
-1
7
7
-30
-19
-32
9
-5
0
1
0
0
0
0
0
0
0
0
0
0
-75
-74
-52
-94
0
-10
0
0
0
0
0
0
0
0
0
0
-12
-95
-13
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
18
-94
0
0
0
41
-7
-30
22
-2
0
0
0
0
0
-3
1
-9
-18
-56
44
51
67
19
-24
14
-35
-2
0
0
0
0
0
0
-3
-14
-30
-31
1
-66
5
32
-12
-32
-1
-4
0
0
0
0
0
-2
-31
-45
-31
58
21
-93
19
10
-27
0
6
0
0
0
0
0
-8
-19
15
44
-22
-52
-49
75
14
-1
0
0
0
0
0
0
2
2
-46
-69
-74
-15
-59
-7
4
0
1
0
0
0
0
0
0
0
-1
-25
16
110
50
-1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-4
73
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
82
68
60
-22
-6
-35
13
0
0
0
0
16
-14
129
3
0
0
51
127
77
39
-30
8
6
0
0
0
0
-2
13
-44
-2
76
45
79
80
-39
30
73
18
-1
0
0
0
3
0
1
-14
74
-14
94
38
14
73
-11
57
118
127
0
0
0
0
0
7
-45
13
-37
-39
-54
23
-2
51
22
71
49
0
0
0
0
0
-7
9
28
23
14
-11
-24
-120
-15
-9
47
-1
0
0
0
0
0
0
2
-34
-9
15
-22
97
-40
-18
59
-43
0
0
0
0
0
0
-2
-1
-5
-39
-6
39
37
-30
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-8
0
0
99
11
1
18
41
-36
72
0
0
0
0
0
-14
-17
-80
41
-5
40
51
21
15
27
54
37
0
0
0
0
1
-43
-8
-5
-38
-13
-22
8
21
48
-24
-45
85
0
0
0
0
-8
8
-49
-56
5
-68
-21
20
-70
33
-56
37
-13
0
0
0
1
0
-3
30
-21
22
23
17
18
-12
-6
-76
18
47
0
0
0
0
-1
-20
-8
-1
-67
-37
20
-62
6
-76
1
17
9
0
0
0
0
0
-2
-4
30
11
59
-6
-40
9
-21
-110
9
0
0
0
0
0
0
1
1
22
-31
33
-39
24
-13
-17
-23
4
0
0
0
0
0
0
0
0
0
0
6
-71
32
-60
-38
40
0
0
0
0
0
0
0
0
0
0
0
0
-30
175
90
67
-62
-27
-5
0
0
0
0
0
0
0
0
8
-2
5
81
31
42
8
81
39
0
0
0
0
0
0
0
-2
-5
38
-1
-4
63
-108
-19
33
34
0
0
0
0
0
0
1
8
-55
-50
31
23
14
-98
-2
-58
5
0
0
0
0
0
0
0
8
4
17
66
42
-22
10
-38
5
-10
0
0
0
0
0
0
0
0
1
-51
18
30
8
-27
-41
-19
0
0
0
0
0
0
0
0
0
-7
13
-57
16
-4
-3
76
33
0
0
0
0
0
0
0
0
0
-1
22
8
11
-43
24
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-2
2
14
0
0
0
0
0
0
0
0
0
5
0
138
96
11
13
-60
-4
-22
-60
0
0
0
0
0
0
7
7
-31
8
0
6
48
24
-98
-8
27
0
0
0
0
0
0
0
7
31
38
-3
29
16
1
-58
22
-8
0
0
0
0
0
0
1
-4
27
7
42
7
72
12
-47
-13
-24
0
0
0
0
0
0
-3
8
17
-66
6
56
41
-55
5
66
23
0
0
0
0
0
0
0
0
8
27
-42
-42
38
23
-15
61
-22
0
0
0
0
0
0
0
-43
0
-67
4
-49
-6
-76
21
-1
0
0
0
0
0
0
0
0
0
2
-24
51
8
47
-8
2
5
12
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
0
0
0
41
61
0
0
130
96
30
80
-99
21
-2
0
0
0
0
1
-27
31
0
-81
0
44
106
-35
73
113
8
-4
0
0
-4
0
1
-4
-17
15
9
72
118
53
69
32
51
-29
-12
0
0
0
0
-2
2
19
16
35
55
19
42
45
79
68
-14
158
0
0
0
-6
0
12
-14
-10
-16
-49
34
19
58
52
4
-9
-4
0
0
0
0
1
1
-22
0
51
-54
-97
-77
-29
7
9
23
0
0
0
0
0
0
-6
-9
25
-5
-24
53
-96
20
14
-5
0
0
0
0
0
0
0
0
3
-38
-1
8
-18
-41
1
10
-3
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
45
3
-25
-45
34
13
3
0
0
0
0
0
0
4
0
-32
0
-13
2
-47
-28
-16
42
5
0
0
0
0
0
0
-14
24
-25
-13
43
37
20
34
128
44
-1
0
0
0
0
0
1
2
8
32
5
69
-27
5
-24
-20
4
0
0
0
0
0
-2
0
4
-3
12
2
14
-17
81
-4
21
2
2
0
0
0
0
0
0
0
4
-8
-3
-20
-31
-7
20
2
2
0
0
0
0
0
0
0
0
0
0
8
0
-15
6
-3
30
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
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
19
26
-53
-40
-52
-66
-15
0
0
0
0
0
2
4
0
0
2
-128
4
14
-81
50
41
-18
0
0
0
0
0
0
0
-56
5
25
31
45
-11
41
39
51
-30
0
0
0
0
0
0
-1
-5
-33
-15
7
73
1
77
12
-55
-19
0
0
0
0
0
-5
-3
25
39
9
45
49
-36
-38
-11
53
-19
0
0
0
0
0
0
0
33
12
-5
21
-26
-3
0
24
85
-6
0
0
0
0
0
0
0
14
52
1
-7
29
-13
-15
8
12
-2
0
0
0
0
0
0
0
1
41
0
2
-5
8
-51
27
35
6
0
0
0
0
0
0
0
0
0
0
1
-2
-4
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
23
14
-49
-49
50
44
-4
0
0
0
0
0
0
-1
2
12
-4
33
-8
33
-35
79
-91
3
0
0
0
0
0
0
0
0
0
-2
18
-42
-14
-4
68
-42
2
0
0
0
0
0
0
0
0
0
0
25
60
91
125
-16
61
5
0
0
0
0
0
0
0
0
0
0
-2
-17
-27
-20
7
-13
70
0
0
0
0
0
0
0
0
0
0
-1
-18
-1
-67
39
23
-3
0
0
0
0
0
0
0
0
0
0
5
-22
28
-107
75
50
0
0
0
0
0
0
0
0
0
0
0
0
0
1
34
-11
-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
-5
-1
0
72
-5
-8
-1
0
0
0
0
0
0
0
0
0
0
0
1
31
-7
20
15
0
0
0
0
0
0
0
0
0
0
0
0
1
6
3
-4
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
75
21
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-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
-2
8
-20
1
-50
13
-8
6
0
0
0
0
0
0
0
0
3
0
0
-3
-13
26
-12
29
0
0
0
0
0
0
0
0
-1
0
0
-2
-3
82
-34
-51
53
-13
0
0
0
0
0
0
0
0
0
0
-2
14
19
154
-47
50
6
0
0
0
0
0
0
0
0
0
0
2
3
-43
104
-56
17
0
0
0
0
0
0
0
0
0
0
0
0
-2
31
9
96
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
20
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-27
40
50
39
-14
0
0
0
0
0
0
0
0
0
-1
1
5
-44
99
3
21
-32
0
0
0
0
0
0
0
0
0
8
0
-2
22
95
54
31
49
-9
0
0
0
0
0
0
0
0
0
0
3
8
-42
105
6
-20
0
0
0
0
0
0
0
0
0
0
0
0
22
46
43
38
-10
0
0
0
0
0
0
0
0
0
0
0
-2
0
24
73
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
39
31
-60
24
-29
-8
0
0
0
0
0
0
0
1
0
41
21
-13
-20
-27
18
-32
-40
3
0
0
0
0
0
0
0
0
-12
-14
72
2
-20
7
7
-9
-5
0
0
0
0
0
0
0
-1
-2
7
14
42
-20
66
-18
-7
2
0
0
0
0
0
0
0
1
13
-8
-17
19
73
-44
17
-31
0
0
0
0
0
0
0
0
8
-7
6
0
18
-31
33
-4
20
-2
0
0
0
0
0
0
0
0
5
3
3
7
-3
6
-24
0
0
0
0
0
0
0
0
0
0
0
23
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
49
19
-2
7
-13
4
-2
0
0
0
0
0
0
-6
0
-21
64
-41
32
-43
121
22
13
12
0
0
0
0
0
0
0
-2
-24
-21
-5
-10
-1
50
-60
-9
18
0
0
0
0
0
0
-1
-2
-2
13
24
6
57
177
67
-44
0
0
0
0
0
0
0
-5
-2
-2
-33
1
-51
24
6
110
-60
9
0
0
0
0
0
0
0
5
-8
32
0
33
-48
61
17
-71
-1
0
0
0
0
0
0
0
8
-20
13
-5
37
-13
12
-35
28
4
0
0
0
0
0
0
2
1
3
-2
0
0
7
13
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-36
32
-10
0
-32
19
-32
87
74
-6
-6
-2
0
0
-8
3
67
-29
-49
18
22
50
75
1
101
17
-10
53
-8
0
0
0
0
-2
-28
46
-17
-1
43
48
-2
104
123
9
-23
-63
0
0
0
0
4
-5
-17
23
-70
-82
38
57
79
112
140
42
-17
0
0
0
1
-3
-5
-1
46
39
-35
-22
89
28
12
14
62
0
0
0
0
0
0
0
31
-99
43
-84
-64
-72
85
-65
-78
2
0
0
0
0
0
0
0
-9
6
-5
-37
39
-107
-23
13
-21
0
0
0
0
0
0
0
3
0
-8
-9
31
-2
1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-41
111
13
0
50
-24
15
-47
47
-13
-9
0
0
0
0
-5
44
9
-19
22
19
-14
1
-35
35
33
-41
63
0
0
0
0
-7
-44
3
8
-1
6
18
-7
-50
-72
79
76
67
0
0
0
0
4
36
71
-10
18
58
-90
-81
24
17
75
-64
44
0
0
0
0
-18
-18
14
-13
-96
-50
67
24
-28
-5
-3
11
-45
0
0
0
-1
-12
-64
18
58
-35
20
10
-22
43
65
-18
7
3
0
0
0
0
-1
7
-15
15
-39
31
30
27
-34
6
63
-47
-1
0
0
0
0
0
0
9
54
49
17
9
-42
-19
-110
31
-42
0
0
0
0
0
0
0
0
-5
1
13
36
-4
16
10
0
0
0
0
0
0
0
0
-5
-51
-45
75
0
104
-75
46
-27
34
-3
0
0
0
0
0
15
6
-22
-74
-2
59
51
7
50
111
-41
-4
0
0
0
0
0
17
28
-8
-58
-46
65
65
-31
-11
-89
40
0
0
0
0
0
-1
10
27
3
0
-15
21
81
-60
48
44
21
-4
0
0
0
0
-4
8
129
12
-3
-7
-14
-58
-44
48
-20
9
0
0
0
0
1
-9
-17
51
2
38
-62
-35
13
-81
5
-49
-27
0
0
0
0
-1
0
41
71
11
-17
29
-29
-77
15
5
-98
0
0
0
0
0
1
-2
-10
-78
9
12
-25
-39
-17
-13
-5
71
1
0
0
0
0
0
-1
45
66
-21
5
-27
-26
7
-64
-1
5
0
0
0
0
0
0
0
0
4
-4
19
-28
0
15
57
59
29
76
1
0
0
0
0
0
0
-9
10
-11
-7
-42
52
85
3
-56
-20
-7
0
0
0
0
0
-17
-12
9
50
26
-2
-15
-66
-8
41
78
3
0
0
0
0
0
-1
-5
-31
-2
-8
-59
-5
-58
12
-4
80
1
0
0
0
0
0
1
-5
-36
-35
-57
-7
38
23
-28
-52
68
10
0
0
0
0
0
0
-18
-44
-6
-10
-71
-83
-19
-31
-66
-41
20
0
0
0
0
0
0
-5
26
-20
-5
-16
-68
-31
-54
-49
-16
0
0
0
0
0
0
0
-4
-31
58
-31
8
12
-9
-10
-49
-3
0
0
0
0
0
0
0
0
0
0
0
12
-8
-14
0
-3
0
0
0
0
0
0
0
0
3
-3
17
-43
0
87
70
-5
21
9
-110
87
1
0
0
0
0
51
-56
-67
-48
52
9
29
11
82
20
-31
70
31
0
0
0
3
-5
73
22
-57
2
37
22
99
16
155
-26
98
65
0
0
0
0
-2
-25
-15
-86
-9
53
19
68
-19
71
14
5
47
0
0
0
2
-2
24
104
-84
-39
35
31
-13
66
111
-25
-20
24
0
0
0
0
-7
13
8
-30
-8
-90
4
35
-58
5
-1
-3
0
0
0
0
0
0
-5
9
26
-2
-22
-28
-43
-27
23
-16
1
0
0
0
0
0
0
0
-3
-7
-2
-64
-15
-23
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-27
0
-46
10
33
-25
-22
-8
45
29
0
0
0
0
0
0
-1
-5
31
-79
41
-17
-24
15
53
-49
-39
0
0
0
0
0
4
-5
-33
-11
-41
32
12
49
49
14
59
-26
0
0
0
0
0
0
-8
49
-41
-133
-52
84
156
-100
83
8
0
0
0
0
0
0
0
-6
-13
13
50
127
50
-2
52
1
3
0
0
0
0
0
0
0
12
-44
40
63
41
-10
34
-20
19
0
0
0
0
0
0
0
0
-2
48
44
-2
41
8
-55
8
0
0
0
0
0
0
0
0
0
1
-8
22
119
8
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
2
1
0
0
0
0
0
0
0
0
0
0
0
-32
-25
30
0
42
31
15
8
75
-23
-34
3
0
0
0
0
-7
-17
85
-14
-48
60
26
120
31
36
20
18
-1
0
0
0
0
-2
-12
-31
110
69
-50
47
25
68
54
2
-26
1
0
0
0
0
-5
6
-53
32
29
3
76
-60
48
-47
22
77
12
0
0
0
0
0
49
5
-35
-19
-56
38
-17
-12
74
55
28
-18
0
0
0
0
0
7
-12
-9
-70
-132
62
22
13
27
-50
41
3
0
0
0
0
-4
5
35
-22
-19
-9
-15
16
-18
69
1
-1
0
0
0
0
0
-2
7
5
14
-72
-56
18
13
0
0
0
0
0
0
0
0
0
0
3
3
8
8
2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
0
0
0
54
0
0
0
0
0
0
0
0
0
0
-2
5
15
-6
0
0
57
0
0
0
0
0
0
0
0
0
0
0
-13
-26
-57
-41
-22
124
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-38
41
113
40
8
0
0
0
0
0
0
0
0
0
0
-1
1
-38
-32
-3
46
2
0
0
0
0
0
0
0
0
0
0
0
0
1
7
40
14
-27
0
0
0
0
0
0
0
0
0
0
0
-1
-17
7
5
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
22
51
-74
38
0
0
0
0
0
0
0
0
0
0
0
-3
1
9
1
51
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
9
-23
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
23
83
1
-101
10
0
0
0
0
0
0
0
0
0
0
0
-1
8
-4
72
3
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
5
56
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
8
0
0
0
0
0
0
0
0
0
0
-1
1
34
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-23
39
117
75
25
0
0
0
0
0
0
0
0
0
0
0
-3
-45
-1
-66
33
-17
3
0
0
0
0
0
0
0
0
0
0
0
13
0
-9
-41
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-13
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
8
0
4
0
0
0
0
0
0
0
0
-8
0
0
0
71
16
24
-7
0
0
0
0
0
0
0
0
0
0
7
25
24
13
23
3
5
0
0
0
0
0
0
0
0
0
-1
-2
-21
34
17
50
-8
-15
-3
3
0
0
0
0
0
0
0
0
8
-3
39
14
20
-29
-1
4
0
0
0
0
0
0
0
0
0
7
0
-12
0
66
-1
-8
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
2
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
1
-4
0
0
0
0
-3
3
0
0
0
0
0
0
0
1
4
-44
-5
0
0
0
29
12
3
0
0
0
0
0
0
0
0
0
-1
27
-2
62
86
81
-74
-49
0
-5
0
0
0
0
0
0
0
-2
-10
15
36
99
19
-9
25
-23
25
2
0
0
0
0
0
0
0
0
39
42
-29
-25
-17
24
32
-7
1
0
0
0
0
0
0
0
0
-1
20
-32
24
-8
-33
-13
-24
4
0
0
0
0
0
0
0
0
2
6
-16
4
-6
6
-25
13
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-5
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
25
0
0
0
23
21
55
42
-6
-26
18
0
0
0
0
3
-1
35
16
0
0
112
24
-8
-16
-7
22
55
0
0
0
0
0
0
4
79
-54
-27
159
125
-112
-34
18
56
38
0
0
0
0
0
0
-4
-89
48
15
33
27
-24
-38
32
54
-7
0
0
0
0
3
0
7
42
13
-35
29
76
60
-4
-11
21
68
0
0
0
0
0
0
1
-13
7
2
-27
-57
47
-12
35
33
23
0
0
0
0
0
0
0
0
-4
16
86
41
-1
32
14
-21
-1
0
0
0
0
0
0
0
0
-1
8
1
13
-25
43
26
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-49
0
0
27
-21
21
22
101
-43
33
0
0
0
0
5
-26
-32
-78
3
-48
16
-12
25
-4
-90
39
79
0
0
0
0
0
-16
48
-6
-52
-14
6
-10
7
42
1
1
93
0
0
0
0
0
-3
-10
20
23
-35
-18
26
9
-41
-38
-35
69
0
0
0
0
0
18
25
-21
-94
-69
-16
-6
-39
10
1
128
53
0
0
0
0
0
-1
-13
13
-5
-85
27
25
-3
-3
-8
-33
-4
0
0
0
0
0
3
5
-17
-40
10
-38
-11
-25
-24
42
14
1
0
0
0
0
0
0
-7
-2
22
69
14
-40
39
-21
-132
29
0
0
0
0
0
0
0
0
2
-10
26
52
64
40
-59
14
0
0
0
0
0
0
0
0
0
-6
0
0
52
-17
13
-86
82
5
14
0
0
0
0
0
0
0
4
-27
46
39
-42
-6
-52
12
6
77
0
0
0
0
0
0
-3
-5
12
-58
-14
-2
52
-39
12
-68
-22
0
0
0
0
0
0
0
0
35
11
-2
-19
-54
12
-17
-43
46
0
0
0
0
0
0
0
-8
7
13
24
35
68
-31
-54
12
-16
0
0
0
0
0
0
0
0
-21
33
5
39
-57
-60
-54
-39
-34
0
0
0
0
0
0
0
0
0
6
-37
9
9
-9
59
43
1
0
0
0
0
0
0
0
0
0
0
34
26
41
16
17
7
61
0
0
0
0
0
0
0
0
-1
-3
15
3
127
43
23
-62
44
0
0
0
0
0
-1
0
2
0
75
52
-12
8
25
55
-37
-10
0
0
0
0
0
0
-3
18
1
-77
0
-31
70
-28
87
8
35
0
0
0
0
0
0
6
-25
-6
50
67
-16
94
29
75
-35
31
0
0
0
0
0
0
-1
-5
-49
99
-26
67
47
-6
32
20
-59
0
0
0
0
0
0
0
-5
-93
57
-37
34
64
-54
36
36
26
0
0
0
0
0
0
-2
0
-5
-49
23
-28
-11
83
7
-6
77
0
0
0
0
0
0
0
0
6
-5
19
26
6
40
173
-14
41
0
0
0
0
0
0
0
-1
8
0
0
-3
49
40
30
-24
84
0
0
0
0
0
0
0
0
0
0
0
0
-5
-20
-42
0
0
0
0
0
0
0
1
0
-27
0
0
86
93
17
-13
4
63
-121
0
0
0
3
-2
-2
46
0
9
0
67
77
90
-51
64
74
4
0
0
0
-1
-4
-3
40
12
52
114
128
45
45
9
5
-17
-31
0
0
0
0
0
0
12
-41
93
-12
-24
69
-49
94
1
-13
9
0
0
0
0
0
-1
1
-41
-22
-26
22
22
-34
-20
101
-13
-5
0
0
0
0
0
0
0
-9
-21
-16
14
-92
-52
67
-67
40
2
0
0
0
0
-1
0
3
0
1
-52
-24
40
-88
48
-5
-4
66
0
0
0
0
0
0
0
0
-2
-2
0
43
46
94
26
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
10
24
-3
0
0
0
0
0
0
0
-1
-1
0
-6
44
34
-44
24
86
-1
7
0
0
0
0
0
0
-3
0
-3
0
19
0
34
5
-13
7
0
0
0
0
0
0
0
0
0
-1
-25
16
-75
18
31
55
-8
0
0
0
0
0
0
0
0
-1
-7
23
-44
77
26
31
-30
49
0
0
0
0
0
0
0
0
0
4
2
30
-20
-24
-76
30
-24
-3
0
0
0
0
0
0
0
0
0
-1
43
-15
-41
-108
13
-14
0
0
0
0
0
0
0
0
0
0
-2
-41
-13
-54
-53
96
18
0
0
0
0
0
0
0
0
0
0
0
0
-32
-2
17
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
-5
0
0
0
-1
66
23
56
-9
-14
-4
0
0
0
0
0
-6
4
10
0
-1
39
54
22
-27
14
-51
-47
0
0
0
0
0
0
0
-7
4
-13
87
-11
15
-11
-33
-7
-30
0
0
0
0
0
-1
0
44
25
-41
-58
-41
-26
-7
-11
-52
-17
0
0
0
0
0
0
0
30
75
24
-9
57
6
56
-17
-34
-6
0
0
0
0
0
0
0
30
3
8
49
-12
12
-89
16
59
21
0
0
0
0
0
0
-1
0
6
2
27
19
-12
-72
-121
14
32
0
0
0
0
0
0
0
0
0
0
0
-16
69
41
-18
-37
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-58
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
39
33
23
59
46
-70
-13
0
0
0
0
0
0
0
0
10
2
1
-74
-23
-49
97
45
-34
-4
0
0
0
0
0
0
0
0
-2
-12
1
-8
-3
75
63
-9
-27
0
0
0
0
0
0
0
0
-3
0
-9
-77
5
-45
-2
23
1
0
0
0
0
0
0
0
0
0
8
-4
19
-116
6
16
56
-32
0
0
0
0
0
0
0
0
0
-1
-6
82
-24
-23
-36
-5
5
0
0
0
0
0
0
0
0
0
0
0
9
46
-40
-25
51
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-66
24
-32
-68
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
36
0
74
0
0
0
0
0
0
0
0
0
3
0
0
0
48
13
16
0
0
0
0
0
0
0
0
0
0
0
-42
2
32
-8
16
-16
0
0
0
0
0
0
0
0
0
0
0
1
-2
50
46
55
16
0
0
0
0
0
0
0
0
0
0
0
0
17
34
-42
-34
-18
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-107
48
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-37
-49
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-54
-59
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
0
44
-23
0
0
0
0
0
0
0
0
0
-5
0
5
-25
-4
13
-21
-21
0
0
0
0
0
0
0
0
0
2
-3
-3
-6
-4
123
-22
3
-17
0
0
0
0
0
0
0
0
0
0
-5
-22
-11
50
13
-5
-4
0
0
0
0
0
0
0
0
0
1
-10
0
13
7
35
-7
-7
0
0
0
0
0
0
0
0
0
0
0
-2
-5
19
8
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
8
-22
-50
21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-33
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
15
-8
-21
-23
-52
-3
0
0
0
0
0
0
0
0
0
-1
1
41
49
13
-3
32
28
-1
0
0
0
0
0
0
0
0
-1
5
5
6
9
-17
35
-47
10
0
0
0
0
0
0
0
0
0
0
3
0
25
-58
5
-9
1
0
0
0
0
0
0
0
0
0
0
0
-12
13
18
58
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-24
1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-42
-18
-23
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
-4
-1
0
18
-44
3
33
67
12
-10
0
0
0
0
0
0
0
0
3
5
24
-56
-7
32
43
-42
-107
-3
0
0
0
0
0
0
0
-2
22
-25
-29
41
62
16
68
-21
-64
0
0
0
0
0
0
0
0
-3
-5
3
-23
92
77
-53
9
-8
0
0
0
0
0
0
0
0
-17
-31
143
33
-49
-18
-110
-64
23
0
0
0
0
0
0
0
0
-6
-10
-8
42
-9
43
-50
5
8
0
0
0
0
0
0
0
0
0
25
-25
6
-8
-59
19
-29
12
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
-12
-6
42
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
21
1
-6
0
0
0
0
0
0
0
1
0
64
33
43
72
61
-68
-22
-8
0
0
0
0
0
0
5
1
-24
-20
-73
-41
-34
41
11
57
37
0
0
0
0
0
0
0
-5
25
4
90
81
28
42
14
51
-22
0
0
0
0
0
0
6
-3
0
-42
51
66
-3
-179
-5
-24
-11
0
0
0
0
0
0
0
-13
48
-8
-8
11
-66
-92
10
10
9
0
0
0
0
0
0
0
0
-2
23
7
2
-10
23
29
-50
33
0
0
0
0
0
0
0
1
5
-2
-51
100
-33
88
-83
-60
42
0
0
0
0
0
0
0
0
4
0
-2
2
-74
-20
5
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
43
8
-37
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-42
82
76
0
9
39
68
30
62
-71
-33
-9
0
0
1
5
10
-27
23
16
-29
-6
80
43
69
44
42
-8
-7
0
0
0
-1
34
9
31
81
-6
44
11
-88
14
13
40
40
-6
0
0
0
-1
2
-5
-43
-41
-68
-37
38
50
60
50
105
-48
-4
0
0
0
0
-3
-16
49
41
-62
-25
-4
78
14
-24
50
22
-1
0
0
0
0
0
0
-18
-4
5
17
17
-1
-8
32
2
89
3
0
0
0
0
0
0
0
-24
-9
-8
-29
41
-24
-44
-19
97
-4
0
0
0
0
0
0
0
-2
-1
2
12
-17
17
-33
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-100
-68
16
0
-32
21
-56
14
22
50
24
0
0
0
-1
0
25
13
-26
-55
22
14
-20
-21
65
56
18
-33
0
0
0
0
0
19
-57
30
-13
-19
-24
-57
-59
-6
-12
-32
5
0
0
0
-1
-1
4
46
58
-63
43
-21
-18
50
19
32
-41
-25
0
0
0
-1
-2
41
-16
9
-101
-7
0
-13
-79
-47
-55
-31
8
0
0
0
0
0
-27
-66
-25
-60
76
-22
-21
64
17
79
7
20
0
0
0
0
-1
-3
-7
-28
-37
-43
-55
-31
-18
-17
32
28
13
0
0
0
0
0
-1
-5
-11
-41
60
36
-45
-8
0
41
73
46
0
0
0
0
0
-1
0
-44
-41
-7
-38
-76
-30
-5
16
-35
0
0
0
-1
0
0
1
-16
-41
66
0
59
-42
-20
71
-31
-4
0
0
0
0
0
0
0
1
66
94
-17
3
-20
-20
23
-3
24
0
0
0
0
0
0
0
0
62
-5
56
7
30
13
74
16
21
4
0
0
0
0
0
0
0
27
-19
-45
15
-6
72
83
21
14
0
0
0
0
0
0
0
0
0
-9
-74
-24
15
-51
20
-10
-3
0
0
0
0
0
0
0
0
1
-59
-5
18
-118
39
-32
41
1
0
0
0
0
0
0
0
0
-3
-2
-35
-7
5
53
30
1
13
0
0
0
0
0
0
-1
0
0
1
5
-49
16
17
29
5
0
0
0
0
0
0
0
0
0
0
0
-2
19
-5
25
-16
-1
0
0
0
0
0
0
0
1
26
-49
34
0
172
51
72
-26
102
-2
0
0
0
0
0
0
21
13
62
64
86
48
-58
-14
84
-31
-20
0
0
0
0
0
0
0
66
8
-24
67
14
-19
42
54
19
-13
0
0
0
0
0
0
0
-22
61
107
56
52
49
-13
-29
-43
45
0
0
0
0
0
0
0
5
10
5
41
-31
27
-12
122
-87
25
0
0
0
0
0
0
5
0
33
53
-48
-16
8
40
-37
31
1
0
0
0
0
0
0
0
-30
-75
-18
61
-49
15
55
25
8
-2
0
0
0
0
0
0
0
2
-10
-15
69
76
-29
-14
5
49
2
0
0
0
0
0
0
0
0
0
4
0
-5
31
1
-9
0
-1
0
0
0
0
0
0
0
-71
-40
11
0
31
42
42
-4
79
-8
-23
-8
0
0
0
1
-1
-60
-60
32
-3
38
42
21
71
40
14
-93
-21
0
0
0
-1
4
-93
49
-19
13
75
110
36
35
141
49
100
8
0
0
0
3
-1
29
74
25
-53
-35
106
2
112
98
-53
109
111
0
0
0
0
4
2
-30
-41
120
-47
-25
23
57
-5
-13
-40
13
0
0
0
0
0
1
-29
-7
-63
12
81
6
-79
-10
0
-58
22
0
0
0
0
0
3
2
24
-20
24
-53
28
-11
-38
-8
18
-1
0
0
0
0
0
0
0
0
0
5
33
60
0
-49
-16
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-49
27
30
42
-10
35
-18
-2
0
0
0
0
0
0
7
-45
-12
46
-6
49
30
-55
6
49
-10
0
0
0
0
0
0
0
-5
23
56
13
-58
103
3
-15
-15
3
0
0
0
0
0
0
12
44
-37
44
-59
-6
-33
29
70
4
4
0
0
0
0
0
0
0
-13
-28
33
-120
-29
22
-12
-22
-13
0
0
0
0
0
0
0
0
-15
-9
-66
2
31
49
-92
18
-75
0
0
0
0
0
0
0
0
0
-41
-18
16
-50
36
14
5
0
2
0
0
0
0
0
0
0
0
0
-42
-3
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
17
29
8
0
3
41
56
-13
1
-43
-39
-4
0
0
0
0
0
-31
86
41
3
-47
36
54
11
61
41
15
-32
0
0
0
0
0
2
22
9
31
13
47
59
-9
-18
16
-4
5
0
0
0
0
0
3
93
22
-63
-1
-22
52
-8
57
-39
16
4
0
0
0
2
-3
20
24
65
31
6
28
55
51
31
-56
20
25
0
0
0
0
-3
23
3
19
17
-29
-47
18
-40
-4
1
19
5
0
0
0
0
0
5
-29
11
-36
24
-5
8
-59
-31
-6
-87
9
0
0
0
0
0
3
6
8
-48
17
-28
3
-5
-11
5
-13
4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
-8
1
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
-8
2
-34
22
-30
-93
0
0
0
0
0
0
0
0
0
0
0
0
-87
34
-2
24
75
-5
0
0
0
0
0
0
0
0
-1
0
-57
-48
17
80
24
45
0
0
0
0
0
0
0
0
3
-2
-6
16
41
1
14
-24
39
-2
0
0
0
0
0
0
0
-1
11
21
5
-54
24
5
27
52
-1
0
0
0
0
0
0
0
2
3
0
-46
30
1
24
73
5
-2
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-28
-16
-49
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
54
-57
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
28
-8
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
71
29
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-21
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
43
-75
-30
0
0
0
0
0
0
0
0
0
0
0
0
25
20
44
106
24
-6
0
0
0
0
0
0
0
0
0
0
-4
-8
-23
1
32
24
0
0
0
0
0
0
0
0
0
0
1
1
0
4
-47
-111
-9
0
0
0
0
0
0
0
0
0
0
1
0
-3
-7
-23
-10
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
29
8
0
0
0
0
0
0
0
0
0
-2
-3
0
25
-49
8
-8
13
0
0
0
0
0
0
0
0
0
2
0
0
-45
18
65
13
13
0
0
0
0
0
0
0
0
0
0
1
-33
6
-36
-13
73
12
0
0
0
0
0
0
0
0
0
0
0
16
-46
41
8
71
-3
0
0
0
0
0
0
0
0
0
1
-1
8
-19
-8
-1
9
0
0
0
0
0
0
0
0
0
0
0
1
0
25
-52
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
1
0
0
0
0
0
0
0
0
-3
0
0
0
-2
-5
-1
0
0
0
0
0
0
0
0
0
-3
-3
-42
-5
72
4
2
2
0
1
0
0
0
0
0
0
0
0
-2
25
7
2
0
0
33
7
0
0
0
0
0
0
0
0
0
-2
-7
16
-2
5
8
-1
0
0
0
0
0
0
0
0
1
0
-5
12
-4
-43
41
-12
-4
0
6
0
0
0
0
0
0
3
0
0
-7
4
-25
-1
-1
0
0
0
0
0
0
0
0
0
0
2
-3
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
-1
-1
0
1
0
0
0
0
0
-2
-4
0
7
0
0
0
-1
3
2
2
0
0
0
0
0
0
0
0
0
-7
-15
8
93
57
-13
1
1
25
0
0
0
0
0
-2
0
-1
2
-57
-46
6
-31
42
0
6
-8
0
0
0
0
0
0
0
6
-25
-22
-2
-3
-4
-47
-47
-1
-6
3
0
0
0
0
0
0
1
42
-14
66
-7
2
-44
-25
1
7
1
0
0
0
0
2
0
0
-5
61
110
-8
-13
22
48
-1
0
0
0
0
0
0
-1
0
-3
14
-64
22
-5
3
1
0
0
0
0
0
0
0
0
0
0
-9
-8
0
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
70
66
6
72
-92
1
85
0
0
0
0
0
8
-32
0
0
0
128
17
9
60
46
-17
53
0
0
0
0
0
6
-10
136
193
23
15
33
-16
13
-13
-19
19
0
0
0
0
-1
-4
-29
18
-68
51
19
-49
30
94
108
123
10
0
0
0
1
-2
-84
5
-4
94
-14
33
3
9
15
35
66
49
0
0
0
0
17
-65
4
41
44
-22
-10
13
49
-54
67
74
8
0
0
0
0
5
-19
-64
-51
10
-27
-78
65
-10
42
2
137
-1
0
0
0
0
-6
-13
-1
10
-2
5
-25
-10
17
-3
14
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
52
0
0
21
73
54
55
23
7
13
0
0
0
0
0
-8
10
0
114
68
34
-27
17
19
-21
-71
49
0
0
0
0
9
-48
19
41
-22
79
60
-6
18
7
-33
-37
-5
0
0
0
0
1
-22
15
109
-95
-13
-1
-41
-55
-41
-10
51
146
0
0
0
0
-4
-13
-25
72
2
-93
22
44
-20
39
20
-29
15
0
0
0
-1
-4
-9
2
-75
90
40
-6
10
28
21
84
87
25
0
0
0
1
16
90
49
45
-23
104
-61
60
-55
-50
-30
29
-20
0
0
0
0
0
9
-5
46
54
24
107
118
15
-57
-45
-14
0
0
0
0
0
0
0
1
-1
-1
17
59
-26
29
78
22
0
0
0
0
0
0
0
0
0
0
0
0
27
28
-3
50
5
62
-4
0
0
0
0
0
0
0
0
13
1
11
65
56
-10
40
-22
95
0
0
0
0
0
0
0
19
56
16
10
36
-68
6
-3
7
5
0
0
0
0
0
2
-5
-2
13
105
-39
64
111
41
-39
2
25
0
0
0
0
0
-5
0
13
-5
46
80
9
-53
5
27
-41
-9
0
0
0
0
0
1
-20
0
-49
-27
10
3
-38
-12
13
28
0
0
0
0
0
0
4
0
3
-10
-49
52
-29
-19
21
-13
-41
0
0
0
0
0
0
0
0
0
3
-24
3
4
79
49
9
-1
0
0
0
0
0
0
0
0
0
0
0
10
-25
-32
53
-9
-21
0
0
0
0
0
0
0
0
-6
0
-41
25
61
39
24
7
37
19
0
0
0
0
0
0
1
0
-12
50
0
100
25
-73
46
-45
-32
0
0
0
0
0
0
-1
67
-30
-40
-5
-23
-13
14
31
-11
25
0
0
0
0
-1
0
9
-39
-49
19
44
0
6
40
13
3
57
0
0
0
0
0
-5
-8
-11
49
-58
7
-44
55
43
100
17
52
0
0
0
0
0
0
-3
6
-8
-10
-46
157
4
-92
39
24
-25
0
0
0
0
0
2
0
-8
0
31
-75
-53
114
57
-4
53
0
0
0
0
0
0
0
-2
0
0
42
-13
-26
21
-49
18
7
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
4
10
14
0
0
66
41
-73
26
-13
-10
5
0
0
0
0
4
2
-39
0
-42
0
107
4
-5
-10
53
32
29
0
0
0
0
5
5
4
-11
51
72
17
111
55
28
8
48
30
0
0
0
0
10
0
34
-17
-27
-48
17
101
5
8
59
5
-6
0
0
0
0
0
24
-17
26
-40
-27
0
33
-53
-4
48
49
5
0
0
0
1
17
5
-52
-13
2
35
-31
1
-55
9
48
31
0
0
0
0
0
-1
-4
-29
7
30
93
7
-2
29
29
28
6
0
0
0
0
0
1
0
-2
-3
4
17
-21
-19
30
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
0
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
31
-25
-10
48
18
-1
0
0
0
0
0
0
0
5
3
3
6
9
-31
-4
7
9
-2
0
0
0
0
0
0
-1
4
4
0
-5
64
-23
68
-9
-1
-5
0
0
0
0
0
0
0
0
0
-3
35
7
19
5
43
8
0
0
0
0
0
0
0
0
0
-2
-3
2
-41
0
23
-3
0
0
0
0
0
0
0
0
0
0
1
-24
0
1
12
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-61
-28
-85
10
38
0
0
0
0
0
0
0
0
0
-10
-43
80
-4
-6
-76
13
-27
0
0
0
0
0
0
0
5
18
58
15
58
35
28
-4
54
-25
0
0
0
0
0
0
-3
2
-9
-57
-18
-13
-72
62
-3
22
68
0
0
0
0
0
0
0
-42
44
29
-2
-47
-17
68
10
48
55
0
0
0
0
0
0
-7
-14
-5
-5
-112
-21
-42
-32
-3
-44
3
0
0
0
0
0
0
0
6
33
41
-13
-50
-47
-52
45
33
3
0
0
0
0
0
0
0
0
4
-1
2
-17
-49
91
-46
7
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-7
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
42
85
73
181
-14
13
-26
1
0
0
0
0
0
0
8
0
0
64
11
22
70
81
-16
66
1
0
0
0
0
0
0
0
17
-21
47
52
131
108
34
-54
-6
-1
0
0
0
0
0
0
8
-2
-1
41
20
17
-65
73
17
-26
-29
0
0
0
0
0
0
0
6
-1
-4
8
-25
35
-26
-60
-75
-30
0
0
0
0
0
0
0
0
-2
-2
3
2
-13
-31
31
12
7
0
0
0
0
0
0
0
0
0
0
0
-5
-3
33
-94
10
8
0
0
0
0
0
0
0
0
0
0
0
2
-10
-17
28
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-19
89
-8
13
0
0
0
0
0
0
0
0
0
-2
-2
0
-1
8
48
4
24
0
0
0
0
0
0
0
0
0
1
0
-1
1
16
8
-48
47
-8
0
0
0
0
0
0
0
0
0
0
0
-1
8
47
14
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-31
27
37
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
10
-46
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-4
11
63
-8
15
2
46
0
0
0
0
0
0
0
0
0
-19
24
-8
15
-24
31
-6
-41
4
0
0
0
0
0
0
0
34
-12
9
19
-2
-23
24
20
-54
3
0
0
0
0
0
0
0
0
-3
-1
1
2
-7
13
48
24
13
0
0
0
0
0
0
0
0
0
0
0
7
23
88
17
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
29
73
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-14
-3
74
60
-7
1
0
0
0
0
0
0
-2
0
-40
21
-20
79
-81
28
-22
85
-3
0
0
0
0
0
0
0
0
1
0
1
-10
27
27
-45
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
63
24
14
17
0
0
0
0
0
0
0
0
0
0
0
0
1
1
28
19
-53
1
0
0
0
0
0
0
0
0
0
0
0
-6
-13
18
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
-23
-1
54
-35
-3
1
0
0
0
0
0
0
0
0
34
44
16
-23
-5
13
101
17
4
0
0
0
0
0
0
0
1
15
-15
42
27
-21
-49
35
12
-1
0
0
0
0
0
0
0
3
-1
17
5
-5
13
28
26
0
0
0
0
0
0
0
0
0
0
-3
20
15
-5
30
45
76
8
0
0
0
0
0
0
0
0
0
-5
0
-2
-6
41
2
0
-14
0
0
0
0
0
0
0
0
-1
0
0
0
-21
86
-1
13
0
1
0
0
0
0
0
0
0
0
-6
-2
2
2
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-8
110
-29
6
-56
-4
0
0
0
0
0
0
0
0
-30
69
2
93
93
8
-33
22
-34
0
0
0
0
0
0
0
-1
13
14
-10
91
-49
27
40
63
3
0
0
0
0
0
0
0
2
1
10
51
-25
-29
82
11
-57
-34
0
0
0
0
0
0
0
-6
18
23
-37
-21
-23
10
-35
-8
-8
0
0
0
0
0
0
0
0
14
17
-69
59
-33
-14
-23
-7
-66
0
0
0
0
0
0
1
4
17
-4
7
41
15
-15
66
18
21
0
0
0
0
0
0
0
0
0
0
-2
-2
1
42
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
62
23
0
7
17
-74
102
17
6
-43
13
0
0
0
0
6
-32
-47
-5
173
81
39
45
63
27
0
43
27
0
0
0
0
-5
-14
-3
-43
97
43
84
-20
66
58
-13
70
-25
0
0
0
0
-2
10
-39
-39
62
99
52
-30
-3
-28
-1
75
23
0
0
0
0
7
-5
-43
31
-20
-37
-25
28
40
0
13
-30
-7
0
0
0
0
0
-9
41
-22
5
5
-31
77
-2
-16
4
-5
0
0
0
0
0
0
0
-9
-2
-49
29
52
41
-18
9
-1
0
0
0
0
0
0
0
-1
0
1
18
4
-5
-12
24
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
5
0
0
0
0
0
0
0
0
0
0
1
19
2
48
0
75
-6
65
-7
-9
97
-54
0
0
0
0
1
17
-60
-5
35
74
-55
13
40
-9
34
21
26
0
0
0
0
-5
45
-49
41
-17
-32
-29
-18
60
7
-19
6
63
0
0
0
0
1
-8
-13
-38
14
20
-3
-54
0
-37
-58
90
-34
0
0
0
-13
-5
-11
15
67
-63
-11
-14
25
-13
11
-40
16
21
0
0
0
13
8
13
-48
74
-15
32
-49
35
-19
-4
-49
22
-8
0
0
0
0
-46
12
59
53
37
29
-6
1
-55
-40
-6
5
5
0
0
0
0
-3
0
-16
-63
61
-9
-10
-13
32
14
-12
-41
-6
0
0
0
0
0
-12
6
17
-76
95
94
67
35
55
-9
0
0
0
0
0
0
0
0
-10
35
55
0
35
2
20
51
-42
31
0
0
0
0
3
-27
13
-4
26
0
-59
-97
138
-24
-49
-29
13
-1
0
0
0
0
5
-23
-88
1
13
63
47
36
126
-17
-34
-6
3
0
0
0
0
-23
-46
-2
-83
52
50
42
58
29
35
-22
2
1
0
0
0
0
-2
0
0
-1
-15
-42
-32
-25
-13
21
-2
8
0
0
0
1
14
0
25
-42
-19
-60
-62
-46
84
-100
-56
35
0
0
0
0
-4
0
-55
-75
-29
19
-32
-11
1
3
19
-31
10
-19
0
0
0
0
-3
-19
-72
15
21
47
21
13
110
-68
5
0
0
1
0
0
32
13
18
-19
-5
-47
42
41
29
14
3
-6
0
0
0
0
0
0
0
0
2
17
91
-58
0
65
104
-13
10
-13
1
0
0
0
0
0
0
-16
-37
30
0
-24
59
61
62
94
-84
-41
0
0
0
0
0
2
0
8
9
-1
-15
-84
111
-30
65
11
-2
0
0
0
0
0
2
1
1
2
-5
40
33
-1
102
-4
1
-4
0
0
0
0
0
-2
0
-11
-28
-43
13
21
-49
-12
-30
-4
-3
0
0
0
0
0
0
29
-22
-35
36
-17
-5
-15
-106
39
-4
-1
0
0
0
0
0
9
-4
-39
-4
-9
21
-6
68
-9
11
-2
-3
0
0
0
0
-1
0
-6
-42
-23
-58
25
112
-47
3
-5
3
0
0
0
0
0
0
0
0
0
0
0
-31
-1
-35
2
0
0
0
0
0
0
0
0
0
0
0
52
37
0
-65
55
-60
97
-10
-11
-6
-29
0
0
0
0
-6
25
97
0
82
165
36
108
-88
50
61
-49
-25
0
0
0
0
-2
12
22
0
57
3
-19
49
74
88
43
49
-23
0
0
0
0
0
2
79
95
-43
22
-11
-55
5
46
57
11
21
0
0
0
-2
0
-24
-17
45
-72
-23
26
-54
-22
97
-50
5
2
0
0
0
0
2
10
-8
28
79
-45
-57
41
59
21
5
10
0
0
0
0
-3
-6
-3
19
-40
-46
-57
-25
-20
44
-27
32
-4
0
0
0
0
0
0
0
0
-5
4
-18
-12
9
-22
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
32
-32
52
-6
-24
-17
5
0
0
0
0
0
0
-3
0
-42
-52
-13
89
7
-10
-1
47
2
0
0
0
0
0
0
0
-6
-13
-10
60
42
-79
-11
37
-67
27
0
0
0
0
0
0
0
-31
22
5
117
-51
-11
44
-54
-23
-30
0
0
0
0
0
0
-1
4
45
66
7
64
-85
39
7
8
0
0
0
0
0
0
-2
1
-23
-2
2
43
124
50
49
-8
-5
0
0
0
0
0
0
0
0
-13
56
1
13
34
-29
2
-2
-5
0
0
0
0
0
0
0
0
0
-4
38
6
-6
-29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
15
28
0
47
9
91
0
-20
10
15
35
0
0
0
0
0
-2
5
0
51
102
-75
-3
13
13
-53
13
36
0
0
0
0
0
0
0
-91
44
-8
50
-23
21
50
-28
12
59
0
0
0
0
0
0
7
-78
39
36
13
48
-49
44
-3
1
-42
0
0
0
0
0
-16
-41
-16
-5
-64
-57
3
-6
49
-95
71
14
0
0
0
0
0
24
37
-76
54
31
41
0
77
-4
97
53
-10
0
0
0
0
-2
-18
21
1
-28
-34
49
-43
77
-8
10
-16
-1
0
0
0
0
1
1
-65
28
121
20
-47
30
-4
-9
1
1
0
0
0
0
0
0
0
0
-3
-4
8
-7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
2
2
-32
0
0
33
0
0
0
0
0
0
0
0
0
-3
0
1
13
-37
1
66
45
1
0
0
0
0
0
0
0
0
0
3
0
1
44
72
-55
118
0
0
0
0
0
0
0
0
0
0
-1
0
8
34
7
-17
-12
8
0
0
0
0
0
0
0
0
0
0
0
-2
23
-15
-20
29
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
81
-21
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
3
-28
-16
177
31
0
0
0
0
0
0
0
0
0
0
0
0
0
16
34
108
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
48
28
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
18
-8
0
0
0
0
0
0
0
0
0
0
0
-4
-8
64
30
10
9
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
26
29
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-37
9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
7
0
-31
3
0
0
0
0
0
0
0
0
0
1
1
-6
0
32
-14
0
-6
0
0
0
0
0
0
0
0
0
0
0
14
32
24
-3
-3
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
-5
8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
3
5
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
-5
32
1
-8
1
1
0
0
0
0
0
0
-3
12
-32
5
29
-3
0
-22
13
-18
1
3
0
0
0
0
0
0
-1
5
10
-5
60
-27
22
-14
-8
3
0
0
0
0
0
0
0
0
5
1
24
1
-27
-1
4
-5
-3
0
0
0
0
0
0
0
0
1
6
-5
3
-46
3
4
12
10
0
0
0
0
0
0
0
0
0
0
3
5
-5
-19
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
4
48
-45
6
47
61
32
0
0
0
-1
0
0
7
37
0
0
49
-9
35
29
43
-88
76
0
0
0
0
0
-3
-13
-47
0
60
197
95
-45
32
4
41
14
0
0
0
0
0
-1
0
44
78
74
183
100
-36
-33
-1
17
65
0
0
0
0
0
0
-1
1
-68
-19
46
-1
-26
77
-20
-31
-1
0
0
0
0
0
0
0
-5
-2
-33
0
68
-35
26
-41
66
-8
0
0
0
0
0
0
0
-2
-6
-6
49
26
-127
-19
1
61
-5
0
0
0
0
0
0
0
0
0
0
0
-4
1
29
-8
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
8
-27
0
0
-46
-2
-85
8
97
21
-13
0
0
0
1
3
0
-41
-36
18
42
-64
7
1
-20
34
54
69
0
0
0
0
-1
4
26
29
-5
13
-14
14
-1
-21
-31
82
56
0
0
0
0
2
-10
30
-28
-111
-47
-17
-36
21
8
34
7
77
0
0
0
0
0
-5
18
70
-58
-15
15
-58
-24
-30
-39
-27
42
0
0
0
0
0
3
-15
13
-34
58
-5
-112
55
-18
29
-22
-1
0
0
0
0
0
-8
9
-16
-20
43
-2
49
-17
0
44
-33
47
0
0
0
0
0
0
7
-5
-1
28
-13
-43
-2
-14
-119
-13
24
0
0
0
0
0
0
1
0
-4
0
1
17
17
26
44
5
0
0
0
0
0
0
-1
0
0
0
0
113
30
-28
-24
26
52
-6
0
0
0
0
0
0
0
0
22
-16
39
-58
66
-23
28
-6
32
0
0
0
0
0
0
-1
-1
4
-32
-10
-51
110
-49
55
-5
98
0
0
0
0
0
0
0
0
1
37
48
17
-13
13
96
-6
32
0
0
0
0
0
0
1
0
-27
-9
47
-82
-15
37
-13
-71
-15
0
0
0
0
0
0
0
0
2
4
-24
49
62
-12
71
13
61
0
0
0
0
0
0
0
-1
0
5
-23
-16
50
18
14
-47
-38
0
0
0
0
0
0
0
0
0
4
0
43
82
57
10
41
37
0
0
0
0
0
0
0
0
0
5
15
41
-34
-25
-53
16
23
0
0
0
0
0
0
0
3
0
97
122
93
34
63
71
4
20
0
0
0
0
0
0
0
5
27
139
0
50
-25
36
-13
51
-25
0
0
0
0
0
0
0
-2
63
56
-16
2
-15
22
-14
39
44
0
0
0
0
0
0
-10
0
54
-3
29
102
33
24
28
10
14
0
0
0
0
0
0
0
0
30
23
5
-3
76
-31
-65
2
-31
0
0
0
0
0
0
0
0
-7
-16
5
-1
-6
-70
3
52
30
0
0
0
0
0
0
0
0
-3
4
-8
-39
70
80
-46
-28
-24
0
0
0
0
0
0
0
0
0
0
8
18
24
-23
70
6
61
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
43
0
0
0
0
0
0
0
5
34
-8
0
0
-6
81
-15
46
-56
-30
-7
0
0
0
3
-2
-7
-10
0
89
0
-3
-1
72
36
55
89
44
0
0
0
0
-2
4
-67
-58
84
-78
7
84
52
103
-45
-17
-7
0
0
0
0
0
1
0
1
46
89
32
91
58
60
49
-13
-17
0
0
0
0
0
0
-2
-4
15
13
57
-62
5
97
-27
-75
-10
0
0
0
0
0
0
1
7
-58
52
18
75
13
163
49
21
-6
0
0
0
0
0
0
1
0
-7
-2
-51
-11
-5
-51
-29
-8
-13
0
0
0
0
0
0
0
0
0
0
0
-3
-7
3
35
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-9
0
16
-4
0
0
0
0
0
0
0
0
0
0
0
-10
30
5
44
2
-20
0
0
0
0
0
0
0
0
0
-3
0
4
27
-5
21
-13
8
-1
0
0
0
0
0
0
0
0
0
8
-34
76
16
15
-10
5
0
0
0
0
0
0
0
0
0
0
-3
5
43
37
29
1
8
-2
0
0
0
0
0
0
0
0
0
2
-1
5
-31
46
-14
1
0
0
0
0
0
0
0
0
0
0
0
5
1
-3
-2
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
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
-10
51
41
11
4
78
37
0
0
0
0
0
0
-1
2
0
3
17
5
87
-26
-22
-1
23
0
0
0
0
0
0
0
-2
0
9
33
5
-32
22
-22
-77
52
0
0
0
0
0
0
4
-2
-7
-20
93
41
-52
-23
15
47
9
0
0
0
0
0
0
0
5
24
-9
84
-7
50
-27
-58
91
47
0
0
0
0
0
0
0
-1
0
0
42
3
46
9
-49
-87
30
0
0
0
0
0
0
0
0
0
12
8
-30
31
100
-24
-74
-25
0
0
0
0
0
0
0
0
0
4
-2
-2
-5
-19
16
-32
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
51
-16
9
50
-88
43
45
19
0
0
0
0
0
0
-4
9
-18
2
-30
50
-22
-105
122
-31
4
0
0
0
0
0
0
0
12
1
42
43
28
61
49
-11
43
-55
0
0
0
0
0
0
0
-3
0
44
-46
-17
54
-39
-94
-21
84
0
0
0
0
0
0
0
0
4
1
7
-44
40
87
12
13
73
0
0
0
0
0
0
0
0
1
0
-1
5
-26
-18
-48
55
-26
0
0
0
0
0
0
0
0
0
-2
0
-4
-7
-66
-71
-22
42
0
0
0
0
0
0
0
0
0
0
0
-5
-8
5
19
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
31
14
0
0
0
0
0
0
0
0
0
0
0
15
-2
66
-68
-4
0
0
0
0
0
0
0
0
-2
-5
0
-31
19
37
8
-23
-13
4
0
0
0
0
0
0
0
0
0
-1
0
2
10
45
48
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
6
47
-37
0
0
0
0
0
0
0
0
0
0
0
0
-2
53
-5
17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-29
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
45
-27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
-6
40
30
30
-5
-18
2
0
0
0
0
0
0
0
0
-4
13
0
22
14
30
40
-77
-39
3
0
0
0
0
0
0
0
1
-2
1
-1
-25
-13
-41
-1
69
2
0
0
0
0
0
0
0
0
-4
0
-6
0
93
15
24
-18
4
0
0
0
0
0
0
0
0
0
0
0
6
59
47
72
44
3
0
0
0
0
0
0
0
0
0
0
0
-1
8
-31
-21
18
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-31
38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
63
9
53
-15
0
0
0
0
0
0
0
0
0
0
0
46
-36
-25
27
47
-64
42
0
0
0
0
0
0
0
0
0
0
0
18
-10
-36
-42
32
9
0
0
0
0
0
0
0
0
0
0
2
4
58
-54
9
-57
21
0
0
0
0
0
0
0
0
0
0
0
0
-17
55
99
124
8
0
0
0
0
0
0
0
0
0
0
0
0
7
-58
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-5
-13
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-3
0
63
42
-47
23
-10
-3
25
0
0
0
0
0
0
0
-3
29
58
0
-30
44
42
-8
50
45
-7
0
0
0
0
0
0
0
-1
25
-25
-45
1
-42
24
4
-3
3
0
0
0
0
0
0
0
-2
2
73
29
12
1
24
-68
-26
2
0
0
0
0
0
0
0
0
-2
-2
-3
95
44
31
54
9
20
0
0
0
0
0
0
0
0
0
-1
-6
-13
46
45
-34
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
-19
14
48
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
13
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
1
0
5
-5
-15
34
10
-48
3
30
0
0
0
0
0
0
0
0
47
1
-3
84
68
-19
-29
-53
34
0
0
0
0
0
0
0
-4
6
19
66
61
76
6
-48
-47
-57
0
0
0
0
0
0
0
0
2
-18
26
51
-5
-31
40
32
29
0
0
0
0
0
0
0
0
4
-12
-39
-8
40
16
-46
85
76
0
0
0
0
0
0
0
0
0
0
-1
8
-20
31
11
85
54
0
0
0
0
0
0
0
0
0
0
0
-4
-29
8
54
-12
-32
0
0
0
0
0
0
0
0
0
0
0
8
-2
53
-24
-45
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
4
43
-58
30
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-66
-74
5
0
37
49
73
22
-30
48
-76
49
0
0
0
2
2
-16
-59
-44
35
94
43
136
-37
-67
25
26
-12
0
0
0
0
7
3
-48
-57
99
15
-1
95
111
-29
-2
-122
0
0
0
0
0
0
3
-47
-45
2
11
-1
-34
-26
-24
45
-80
5
0
0
0
0
0
6
-3
9
-8
22
-26
30
30
86
7
53
8
0
0
0
0
0
0
0
16
16
-52
-30
-49
-22
-25
12
-21
5
0
0
0
0
0
0
0
-2
0
12
7
2
-33
23
-76
16
-6
0
0
0
0
0
0
0
0
0
0
0
-1
5
8
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
6
-13
-33
-128
-11
0
32
23
27
2
-41
-51
-17
0
0
0
0
-7
8
14
-39
-60
-64
-8
-25
27
29
10
-46
27
0
0
0
0
0
0
-47
5
1
-6
-79
-39
-22
-74
42
-6
-73
0
0
0
0
0
10
-50
49
21
-91
-89
-5
24
-13
24
19
49
0
0
0
0
0
5
3
45
30
90
-92
22
-1
-3
-99
52
-92
0
0
0
0
0
-1
0
13
-22
-36
52
-50
-49
-28
57
-27
-16
0
0
0
0
0
0
14
-2
-32
-56
-93
-78
-23
-24
5
5
5
0
0
0
0
0
1
0
0
-33
7
-78
13
-6
8
-21
-35
-76
0
0
0
0
0
0
0
0
0
42
13
-13
-19
-34
0
0
0
0
0
0
-1
32
27
33
49
58
0
32
32
8
77
-25
29
0
0
0
0
0
0
0
5
29
-92
66
7
-34
36
-23
116
-3
3
0
0
0
0
0
0
0
22
15
43
13
13
-30
18
-19
-41
-2
0
0
0
0
0
0
-4
0
77
66
-2
-25
57
59
-14
-23
0
0
0
0
0
0
0
0
-1
-8
-6
7
-21
-30
-94
-35
23
1
0
0
0
0
0
0
0
0
0
0
1
-12
8
-16
-34
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
-4
-1
-54
0
0
0
0
0
0
0
0
0
0
10
0
6
21
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
-9
31
-51
0
-42
-30
67
-5
0
31
0
0
0
0
0
0
1
24
-11
-6
28
23
19
34
58
32
-42
0
0
0
0
0
0
2
-4
41
83
9
-33
-3
36
-32
68
-18
0
0
0
0
0
0
0
0
-5
-23
59
4
-45
13
27
54
43
0
0
0
0
0
0
0
0
-5
9
-5
-19
-57
-1
32
2
8
0
0
0
0
0
0
0
0
1
-5
-20
-60
-32
-34
-80
-50
-7
0
0
0
0
0
0
0
0
0
-30
-21
-20
-3
24
-18
-3
1
0
0
0
0
0
0
0
0
0
3
-2
-8
0
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
10
-13
-49
0
62
25
23
-30
-5
-54
-90
35
0
0
0
0
0
100
14
81
139
56
84
87
-14
22
40
43
49
0
0
0
0
0
9
-10
-51
-11
84
76
51
-63
-26
-49
34
-48
0
0
0
0
0
0
0
32
-35
-15
-80
25
-26
-74
21
-70
-43
0
0
0
0
0
0
0
-41
75
16
16
-39
3
41
-50
-47
69
0
0
0
0
0
0
0
-1
-24
50
6
-72
-6
-70
-8
72
-4
0
0
0
0
0
0
0
0
5
-5
6
-18
-10
-44
-25
-20
-1
0
0
0
0
0
0
0
0
0
-1
-1
-3
-1
-2
13
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
-2
-31
0
16
-23
-31
18
-25
-25
-19
0
0
0
0
0
0
0
0
1
-39
-27
-9
19
41
10
-16
42
4
0
0
0
0
0
0
-5
6
71
10
43
16
132
-16
27
-47
-23
0
0
0
0
0
0
4
-12
-41
112
30
-44
22
-1
6
-32
12
0
0
0
0
0
0
0
4
0
-7
12
-41
13
5
-6
32
-5
0
0
0
0
0
0
0
0
2
-20
7
8
18
-53
39
-5
0
0
0
0
0
0
0
0
0
0
-1
-5
10
-6
-3
15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
30
0
15
-30
-37
19
-20
-41
30
53
0
0
0
0
0
0
41
8
31
44
5
88
45
5
84
-7
19
0
0
0
0
0
0
25
-8
22
24
83
117
-49
5
-81
-9
7
0
0
0
0
0
0
-1
-30
-32
102
61
114
-17
54
5
22
-23
0
0
0
0
0
0
-1
19
-5
41
61
-25
13
-18
-10
-2
-13
0
0
0
0
0
0
0
-13
53
19
45
18
-58
-7
23
-58
74
0
0
0
0
0
0
0
2
12
31
10
-4
29
-31
-77
1
33
0
0
0
0
0
0
0
0
-4
0
0
-2
-5
13
-25
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
9
2
7
2
-1
0
0
0
0
0
0
0
0
0
0
8
8
-18
-6
-4
0
0
2
0
0
0
0
0
0
0
0
1
23
-47
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
20
6
-7
-2
0
0
0
0
0
0
0
0
0
0
0
2
-22
-49
37
3
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
2
5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-35
-8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
4
-2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-1
1
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
4
0
-2
8
0
0
0
0
0
0
0
0
0
-1
-3
-7
1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
-6
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
1
5
-6
0
10
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
14
-9
-25
-25
61
0
9
9
-2
0
0
0
0
0
0
-3
-34
-27
-19
-24
8
50
97
129
13
0
0
0
1
0
0
0
3
-1
-24
0
-51
13
-37
-111
18
9
6
0
0
0
0
0
0
20
-2
10
9
-3
28
-6
-25
-15
3
1
0
0
0
0
0
-1
2
0
-16
-7
-7
13
-6
-5
9
0
0
0
0
0
0
0
0
2
-19
-30
-2
-17
23
10
-2
1
0
0
0
0
0
0
0
0
-1
1
2
-7
-25
-2
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
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
-23
7
41
-9
-13
0
25
-3
2
0
0
0
0
0
0
-2
-25
22
-3
-70
61
-106
42
-53
43
58
17
2
0
0
0
0
-6
-7
-26
-41
-76
-55
5
84
66
20
16
-3
-1
0
0
0
0
-13
1
54
97
-25
50
-7
25
-27
22
5
2
0
0
0
0
0
2
-5
-3
-75
-12
62
22
11
1
13
-14
-1
0
0
0
0
0
0
16
-13
131
67
43
17
-40
-1
9
16
0
0
0
0
0
0
0
12
26
-77
11
-90
-7
14
16
13
-2
0
0
0
0
0
0
0
-3
5
92
32
-25
-41
-6
5
-3
0
0
0
0
0
0
0
0
0
-1
-1
-9
9
-18
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-7
-20
0
-4
-27
-5
0
0
0
0
0
0
0
-1
0
10
-24
8
-29
-13
12
0
-3
0
0
0
0
0
0
0
0
7
-9
12
-20
5
17
5
0
-1
1
0
0
0
0
0
0
1
0
3
5
5
-4
-1
-17
0
0
0
0
0
0
0
0
0
0
-1
1
0
-8
6
8
0
0
2
0
0
0
0
0
0
0
0
2
1
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-13
-10
-23
0
46
12
16
-1
0
0
0
0
0
0
-1
4
-29
6
-26
32
67
47
-43
6
-2
0
0
0
0
0
0
1
7
44
-9
-18
-49
5
-13
0
1
0
0
0
0
0
0
0
4
-7
-2
23
-51
-9
-13
2
2
0
0
0
0
0
0
0
0
-7
1
-41
8
9
13
5
3
0
0
0
0
0
0
0
0
0
0
-1
25
-32
-19
1
3
7
0
1
0
0
0
0
0
0
0
0
0
12
0
1
8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
42
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-19
-20
-2
-9
48
0
47
-2
0
0
0
0
0
0
0
6
1
17
1
-3
-42
-13
40
69
-4
0
0
0
0
0
0
8
2
16
-10
13
5
18
29
-5
-39
39
1
0
0
0
0
0
-5
-8
23
-7
-24
-10
-17
0
-30
-1
-2
0
0
0
0
0
0
0
3
-4
8
41
8
8
-6
7
3
0
0
0
0
0
0
0
0
0
7
-3
-7
5
8
24
0
4
1
0
0
0
0
0
0
3
-1
3
1
-14
10
-2
12
0
1
-1
0
0
0
0
0
0
0
0
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
-1
-1
3
-1
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
0
2
0
0
0
0
0
0
0
0
0
0
1
2
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
-7
0
-1
-2
-1
0
0
0
0
0
0
-1
0
0
-1
9
0
10
-3
20
-13
3
0
0
0
0
0
0
1
0
-1
-1
-3
2
4
1
1
0
-1
0
0
0
0
0
0
0
0
-5
-1
-4
14
-22
25
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
-4
-1
7
18
-1
4
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-10
-9
1
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
10
38
-15
21
-4
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-42
18
13
7
0
0
0
0
0
0
0
0
0
0
0
0
2
30
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
9
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
17
-23
-2
2
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
10
5
-8
1
0
0
0
0
0
0
0
0
0
0
0
-7
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
5
-4
-9
7
-25
-2
0
0
0
0
0
0
0
0
0
0
0
1
1
-25
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
3
42
-5
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
33
1
5
-4
-1
0
0
0
0
0
0
0
0
0
0
4
7
42
28
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
-3
1
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
-20
1
0
0
0
0
0
0
0
1
1
0
0
8
16
4
-44
2
4
0
0
0
0
0
0
0
0
0
0
0
8
19
8
-23
0
0
0
0
0
0
0
0
0
0
0
-1
4
-9
20
-8
13
0
0
0
0
0
0
0
0
0
0
0
-2
23
-3
22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
13
20
5
-14
0
0
0
0
0
0
0
0
0
0
0
-5
-6
25
-25
34
37
20
0
0
0
0
0
0
0
0
0
0
-17
-23
20
-3
-31
-9
-2
6
0
0
0
0
0
0
0
0
0
25
9
-19
16
7
-1
-31
23
1
0
0
0
0
0
0
0
0
42
-15
-21
12
14
-18
6
14
1
-1
0
0
0
0
0
0
0
22
-15
17
6
-15
-8
12
2
2
0
0
0
0
0
0
0
0
7
0
37
8
0
15
-3
2
0
0
0
0
0
0
0
0
0
-1
7
-31
8
0
6
-1
0
2
0
0
0
0
0
0
0
0
0
0
-1
8
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
19
12
32
-16
0
42
0
0
0
-4
2
0
0
0
0
0
-4
1
-50
100
35
-7
-9
0
0
67
10
3
0
0
0
0
0
14
37
20
26
-14
22
12
22
18
6
-9
-1
0
0
0
0
0
-7
-31
-42
-8
-9
8
-4
-21
71
0
8
0
0
0
0
0
0
3
-35
-5
-4
22
1
-8
4
-12
-7
0
0
0
0
0
0
0
1
16
-5
-34
-6
24
-4
8
7
-2
0
0
0
0
0
0
0
0
9
-8
8
42
22
0
-3
-5
0
0
0
0
0
0
0
0
0
0
-2
1
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
31
-66
30
30
-6
0
0
-30
-5
2
0
0
0
0
0
-2
-2
-44
-65
-3
8
50
-20
34
18
21
-1
0
0
0
0
0
7
-13
-47
-5
46
-5
-51
-49
-28
22
8
-1
0
0
0
0
0
-5
-14
16
3
31
-14
-23
5
-18
41
20
0
0
0
0
0
0
-4
-14
64
-74
-7
85
3
3
5
3
4
0
0
0
0
0
0
4
8
4
-60
-27
4
39
13
1
5
1
0
0
0
0
0
0
8
-15
-45
-11
12
57
-36
17
-37
8
0
0
0
0
0
0
0
0
-22
36
16
-27
29
45
14
4
1
0
0
0
0
0
0
0
0
0
-60
-41
17
13
-3
-3
1
0
0
0
0
0
0
0
0
15
4
4
-25
8
-7
-5
0
0
-1
0
0
0
0
0
0
0
8
22
-17
-22
-30
8
22
8
-1
0
0
0
0
0
0
0
0
-3
2
-13
-20
20
13
-4
-5
0
0
0
0
0
0
0
0
0
29
29
-37
12
6
5
-14
-10
7
0
0
0
0
0
0
0
0
17
9
0
3
13
-21
-12
4
-7
-1
0
0
0
0
0
0
0
-45
29
-36
10
-13
-6
1
-3
5
0
0
0
0
0
0
0
0
-12
19
-6
-14
-38
25
0
1
0
0
0
0
0
0
0
0
0
29
-29
17
41
-17
22
-1
0
0
0
0
0
0
0
0
0
0
-26
40
18
29
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
-32
33
27
-2
44
-69
0
0
0
0
0
0
0
0
0
-7
3
-41
-5
55
-13
0
18
-2
5
0
0
0
0
0
0
0
7
-7
-11
-14
-17
13
58
12
-12
1
0
0
0
0
0
0
0
0
7
13
-4
-12
43
24
-23
-8
0
0
0
0
0
0
0
0
-16
-9
5
39
-2
-8
19
-8
0
0
0
0
0
0
0
0
0
-5
-12
-43
16
3
0
8
0
-1
0
0
0
0
0
0
0
0
29
5
50
-3
-13
-5
12
2
-1
0
0
0
0
0
0
0
0
39
-12
5
1
14
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-11
4
-13
-5
6
0
0
-3
-7
0
0
0
0
0
0
8
25
-13
-21
-17
-49
21
0
4
0
10
3
0
0
0
0
0
-4
-28
5
56
-42
-7
19
34
41
-26
-14
22
-1
0
0
0
0
-10
-42
-4
-22
-8
-49
-27
30
30
-12
24
0
0
0
0
0
0
-3
-20
-12
1
-8
-8
-9
17
30
-3
6
0
0
0
0
0
0
3
8
31
21
53
2
1
1
0
0
0
1
0
0
0
0
0
0
-4
-16
0
-8
2
12
0
4
0
0
0
0
0
0
0
0
0
-6
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
-2
-10
5
8
0
-23
0
1
2
0
0
0
0
0
0
0
-1
-1
2
-3
-1
5
8
-34
-2
0
0
0
0
0
0
0
0
0
1
14
-10
68
17
-2
4
0
0
0
0
0
0
0
-1
-1
2
-1
-8
1
-1
6
0
0
0
0
0
0
0
0
0
0
-1
5
0
14
10
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-20
-86
13
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
34
-1
5
10
10
6
0
32
3
0
0
0
0
0
0
0
-4
-16
6
-13
0
-2
10
0
-8
-1
0
0
0
0
0
0
0
3
1
20
17
0
1
4
1
19
0
0
0
0
0
0
0
0
-23
2
8
15
3
-1
-13
-32
-3
0
0
0
0
0
0
0
0
8
-13
-2
-7
-1
5
-8
14
0
0
0
0
0
0
0
0
0
-24
-20
18
3
-9
5
0
14
-1
0
0
0
0
0
0
0
0
5
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-5
-8
1
0
-1
0
0
0
0
0
0
0
0
0
1
-9
9
9
4
7
9
0
-1
0
0
0
0
0
0
0
0
-1
-13
9
17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-34
8
9
-5
1
0
0
0
0
0
0
0
0
0
0
0
-5
44
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
20
0
8
0
1
1
0
0
0
0
0
0
0
0
0
-2
0
31
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
-9
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-8
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
-6
-8
1
-3
4
-4
1
2
0
0
0
0
0
0
0
0
0
4
14
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
16
24
4
-24
106
0
-29
-22
8
0
0
0
0
0
-1
-23
-5
-37
25
4
33
61
8
18
-28
1
-8
0
0
0
0
-1
0
4
-7
5
13
60
-7
-33
-49
34
3
3
-2
0
0
0
3
3
-6
10
13
25
-4
-16
-3
-17
-12
-1
-1
0
0
0
0
0
0
1
-3
-10
1
-8
-13
5
-24
-1
0
0
0
0
0
0
0
0
0
-14
-2
0
2
-15
0
-12
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-3
-19
5
-2
2
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-30
-17
91
59
0
-11
-31
-10
0
0
0
0
0
0
0
-25
75
-19
-13
23
-13
71
-18
-13
-50
14
-1
0
0
0
0
-1
7
-41
-41
28
63
-24
24
-45
-9
3
0
-2
0
0
0
0
16
-22
-58
2
-72
8
-46
21
13
15
17
2
-6
0
0
0
0
0
-3
13
-22
21
-46
-2
42
10
3
-14
5
4
0
0
0
0
0
0
-22
-7
15
-13
-7
-24
22
5
10
5
-2
0
0
0
0
0
7
-8
13
-42
13
-43
8
-24
13
3
-1
2
0
0
0
0
0
0
0
31
-20
29
-20
10
41
-5
7
0
0
0
0
0
0
0
0
0
8
-25
13
-3
55
-5
-4
0
0
0
0
0
0
0
0
-1
0
-3
6
19
-27
0
32
-26
9
0
0
0
0
0
0
0
0
3
14
-7
12
-41
41
11
19
-5
1
0
0
0
0
0
0
0
2
2
13
-12
-22
22
1
-4
-28
5
-4
0
0
0
0
0
0
4
0
10
0
-8
-22
19
-6
3
-11
-2
0
0
0
0
0
0
0
-2
2
-5
2
-17
26
-9
7
2
-1
0
-1
0
0
0
0
0
0
-1
4
-4
48
-16
14
-25
-14
0
0
0
0
0
0
0
0
-2
-2
1
5
-5
27
3
-28
15
-5
1
0
0
0
0
0
0
0
-22
-1
-10
41
38
-2
9
4
0
-1
0
0
0
0
0
0
0
0
2
-8
-31
-4
-2
9
-2
0
0
0
0
0
0
1
-2
-2
12
-5
-12
0
-8
5
-4
0
0
0
0
0
0
0
2
8
10
-9
-16
-5
-29
-1
84
-3
6
0
0
0
0
0
0
0
-2
19
-3
-14
-8
-35
17
-4
20
1
0
0
0
0
0
0
-1
5
28
6
-14
-5
7
20
-6
6
3
0
1
0
0
0
0
0
0
25
6
-8
-29
24
34
8
0
0
0
0
0
0
0
0
0
5
13
-25
-21
24
-1
-12
-10
-3
0
0
0
0
0
0
0
0
3
-3
-8
10
0
0
-25
7
5
-1
0
0
0
0
0
0
0
0
2
0
2
-12
5
4
-6
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-1
0
0
0
0
0
0
0
0
0
-4
1
14
-2
7
-30
-31
0
-18
-9
-1
0
0
0
0
0
-3
35
16
24
10
-3
-88
24
31
12
-10
23
0
0
0
0
0
7
7
-6
-33
1
34
4
-49
-7
-24
3
4
1
-1
0
0
0
0
0
1
1
0
25
-13
-13
-25
6
-13
0
2
0
0
0
0
0
-1
-3
-6
-2
-14
-32
-2
18
-5
7
-1
0
-2
0
0
0
0
-1
3
2
0
-4
-16
33
-10
0
-8
0
0
0
0
0
0
0
0
0
-1
0
-6
-12
-7
24
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-6
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-13
8
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
-2
-4
2
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
1
2
0
16
0
3
8
5
0
0
0
0
0
0
2
0
3
-3
1
8
4
5
-12
0
1
0
0
0
0
0
0
1
0
0
1
2
6
-2
19
-10
0
0
0
0
0
0
0
0
0
-2
0
0
-4
6
-23
-7
-12
4
0
0
0
0
0
0
0
0
-1
0
0
-6
2
-16
2
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
9
-18
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
8
-17
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
18
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
-13
10
2
-1
0
0
0
0
0
0
0
0
0
0
-15
3
32
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-5
46
-12
4
0
0
0
0
0
0
0
0
0
0
0
1
-4
-15
-27
7
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-20
-37
-17
-1
-1
0
0
0
0
0
0
0
0
0
0
0
7
9
0
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
19
3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-30
-37
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
25
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
22
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
-8
-21
30
-2
0
1
0
0
0
0
0
0
0
0
0
4
-2
-1
-7
-18
14
-2
0
0
0
0
0
0
0
0
0
1
0
-1
1
-4
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
5
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
1
7
0
0
0
1
8
0
-1
0
0
0
0
0
0
0
0
-1
7
15
7
5
0
5
1
-1
0
0
0
0
0
0
0
-1
0
-12
7
-17
-12
-3
0
0
0
0
0
0
0
0
0
0
1
0
-7
-4
28
-39
-3
-1
0
0
0
0
0
0
0
0
0
0
0
3
-8
5
-2
7
2
0
0
0
0
0
0
0
0
0
0
0
-4
-1
31
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
5
1
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
0
0
-5
-6
-46
20
-12
-13
1
0
0
0
0
0
0
0
0
0
0
-7
-55
3
14
8
-31
14
0
0
0
0
0
0
0
0
0
0
-6
14
-1
3
-8
-8
-8
-3
0
0
0
0
0
0
0
0
0
18
-8
-8
-19
30
-2
19
1
0
1
0
0
0
0
0
0
0
8
13
3
8
9
-8
6
7
0
1
0
0
0
0
0
0
0
1
-22
12
-13
2
0
17
-2
0
0
0
0
0
0
0
0
0
0
-16
-4
24
-8
3
-4
-1
1
0
0
0
0
0
0
0
0
0
2
-4
8
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
10
-8
-49
-7
5
16
0
0
0
-9
2
0
0
0
0
0
-1
3
-13
-30
6
22
-1
0
0
33
7
5
-1
1
0
0
0
-5
-8
15
5
-31
-41
15
18
24
29
0
0
2
0
0
0
0
9
-48
-45
0
-30
-15
-8
44
-9
6
8
0
0
0
0
0
0
-3
-37
-4
-5
-23
6
-1
0
-24
5
-1
0
0
0
0
0
0
0
-12
-8
8
22
-8
0
-3
-4
1
4
3
0
0
0
0
0
0
5
1
5
1
8
8
-12
-8
0
0
0
0
0
0
0
0
0
0
0
24
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-68
13
-21
-30
55
0
0
-25
1
0
0
0
0
0
0
-20
5
17
65
-48
12
31
54
-6
0
9
2
0
0
0
0
0
2
-10
-43
-7
-41
85
107
43
12
15
-5
3
-1
0
0
0
0
-6
-49
7
-18
-45
-14
-59
-7
9
31
18
0
0
0
0
0
0
-1
-3
35
8
-26
-10
48
6
48
-35
2
3
0
0
0
0
0
0
-8
3
-30
-18
-22
43
-43
5
-10
5
1
-1
0
0
0
0
0
0
-13
-43
-75
11
23
-5
2
20
9
0
0
0
0
0
0
0
0
-10
26
10
-22
0
14
2
7
0
0
0
0
0
0
0
0
0
-8
15
-5
-45
1
1
1
0
0
0
0
0
0
0
0
-27
25
13
-5
14
-1
14
0
0
0
0
0
0
0
0
0
0
-1
-17
28
14
-25
24
25
-5
3
-1
0
0
0
0
0
0
0
16
1
-2
-5
24
-42
4
4
-1
0
0
0
0
0
0
0
0
0
-17
-4
8
10
4
-5
-2
1
0
0
0
0
0
0
0
0
0
0
13
2
-6
6
3
0
-1
0
0
0
0
0
0
0
0
0
0
5
-3
-8
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
5
35
12
-3
5
-47
16
24
0
2
0
0
0
0
0
0
0
42
-51
-46
-22
-48
6
0
13
6
0
-2
0
0
0
0
0
0
14
0
27
-28
7
31
35
16
9
4
0
0
0
0
0
0
0
6
-22
-29
-7
9
13
-15
13
0
1
1
0
0
0
0
0
0
-19
-8
-8
0
-22
6
4
-18
-1
1
0
0
0
0
0
0
0
0
-4
-21
25
-3
5
-9
8
0
0
0
0
0
0
0
0
0
-1
-14
-8
5
13
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
6
28
-33
-26
49
0
0
2
1
9
0
0
0
0
0
9
-28
38
-28
16
-28
41
0
40
0
-6
8
-1
0
0
0
0
19
-43
-55
-11
-1
71
-4
16
-5
-19
1
0
0
0
0
0
0
-10
-46
19
7
17
-40
30
-29
24
-32
-14
0
-2
0
0
0
0
3
-23
37
14
-47
-3
4
-49
4
8
3
2
0
0
0
0
0
0
-5
-7
-23
5
-52
5
-4
-8
-7
-1
0
0
0
0
0
0
0
0
25
6
18
-8
20
8
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-5
6
3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
-1
0
0
0
0
0
0
0
-1
0
0
-16
-10
9
-6
0
2
0
-6
0
0
0
0
0
0
0
-2
0
-8
9
1
-16
-4
8
-5
0
-4
0
0
0
0
0
0
-2
-2
4
-7
-22
2
5
3
-1
0
0
0
0
0
0
0
0
0
2
-2
22
-9
-33
2
1
-1
0
0
0
0
0
0
0
0
0
2
4
-2
19
0
-7
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
2
8
2
0
0
0
0
0
0
0
0
0
0
0
14
-6
2
10
6
7
42
0
0
6
0
0
0
0
0
0
0
-8
8
-3
-10
-5
3
10
9
10
0
0
0
0
0
0
0
0
9
-4
-6
13
-6
-8
0
10
-3
-1
0
0
0
0
0
0
1
-5
22
0
1
2
1
1
8
9
-1
1
0
0
0
0
0
0
-6
1
-6
-3
7
0
-17
-16
4
0
0
0
0
0
0
0
0
0
1
-4
-5
-2
-3
0
-32
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
6
2
-8
-2
-1
0
-1
0
0
0
0
0
0
0
0
8
7
5
0
9
0
0
0
1
0
0
0
0
0
0
0
0
7
1
-8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
45
1
1
0
0
0
0
0
0
0
0
0
0
0
1
2
-24
-25
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
8
12
1
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
-4
-2
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
1
0
0
0
1
0
0
0
0
0
0
0
0
0
6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-23
28
-21
-43
0
8
-13
3
0
0
0
0
0
0
7
9
5
4
31
17
14
18
49
8
8
0
0
0
0
0
0
15
6
-2
9
-5
25
-49
7
-11
25
-3
0
0
0
0
0
0
3
-4
2
9
10
6
-16
-42
-22
-23
-5
1
0
0
0
0
0
0
-2
8
-2
-5
24
32
19
-13
-5
0
0
0
0
0
0
0
0
0
-2
5
1
-7
33
8
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-16
40
-57
70
0
31
8
16
9
1
0
0
0
0
0
2
8
-25
84
-41
18
10
36
-5
17
-6
0
0
0
0
0
0
-3
-17
14
-41
49
-33
5
-61
-13
6
5
-4
0
0
0
0
0
5
33
11
-23
69
62
7
32
43
43
-2
-1
0
0
0
0
0
-9
-41
5
-51
31
-31
-30
21
-21
6
3
0
0
0
0
0
0
0
-34
-53
-50
29
19
13
21
-12
1
0
-1
0
0
0
0
0
0
41
-18
-8
8
25
50
8
1
-5
0
0
0
0
0
0
0
9
8
-40
6
21
102
-22
-3
10
0
1
0
0
0
0
0
0
0
0
4
46
31
5
-31
13
-1
0
0
0
0
0
0
0
0
0
-2
-2
8
-14
-4
0
49
-20
-25
0
0
0
0
0
0
0
0
-2
30
-7
-7
-48
8
44
2
0
0
0
0
0
0
0
0
0
3
-13
-12
6
-25
-21
-5
3
-1
0
0
0
0
0
0
0
-6
0
27
8
0
-5
-12
25
-3
0
0
0
0
0
0
0
0
0
1
0
4
0
4
-5
0
-2
1
0
0
0
0
0
0
0
0
0
17
5
-8
-3
15
4
0
0
1
0
0
0
0
0
0
0
0
8
7
8
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
-25
-3
-25
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-8
1
0
0
0
0
0
0
0
0
0
0
0
1
13
22
42
4
0
22
-31
52
5
0
0
0
0
0
0
0
14
-21
-4
-31
-23
37
-28
6
-14
-3
1
0
0
0
0
0
0
-42
10
8
-30
7
-6
-8
-8
1
0
0
0
0
0
0
0
0
2
12
0
31
41
-5
-3
0
1
0
0
0
0
0
0
0
-4
7
8
-6
-8
35
-20
-9
0
0
0
0
0
0
0
0
0
0
1
-3
37
9
-32
-19
-2
0
0
0
0
0
0
0
0
0
0
2
14
19
5
-8
8
-2
0
0
0
0
0
0
0
0
0
0
-2
5
10
0
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-4
3
-54
-8
26
0
-15
15
-3
0
0
0
0
0
-4
0
-14
8
-8
7
23
22
93
47
-7
-5
-1
0
0
0
0
0
-2
-6
-6
19
8
19
29
45
-21
1
0
-1
0
0
0
0
0
0
21
-7
1
-13
16
-27
9
10
0
0
0
0
0
0
0
0
0
-4
3
-13
7
-3
18
-2
0
0
-1
0
0
0
0
0
0
7
0
1
33
10
-5
8
6
0
0
0
0
0
0
0
0
0
0
0
8
0
-25
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
12
1
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
17
0
7
-5
-1
0
0
0
0
0
0
0
0
-1
0
-24
-1
-5
18
67
-7
0
0
0
0
0
0
0
1
0
0
2
1
0
5
27
17
8
0
0
0
0
0
0
0
0
0
0
-3
0
-13
13
9
-2
-9
0
0
0
0
0
0
0
0
0
0
0
-4
-16
-1
-14
-23
0
0
0
0
0
0
0
0
0
0
0
-10
-4
-5
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-2
13
0
-1
0
0
0
0
0
0
0
0
0
0
17
39
4
12
-8
7
0
0
0
0
0
0
0
0
0
0
0
-3
44
17
-12
5
-1
0
0
0
0
0
0
0
0
0
0
0
-4
31
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-10
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
21
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
28
39
1
6
0
0
0
0
0
0
0
0
0
0
0
-7
31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
-1
-2
1
-7
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
-8
0
1
0
0
0
0
0
0
0
0
0
-3
15
10
9
-18
-2
0
0
0
0
0
0
0
0
0
4
1
0
0
20
27
0
0
0
0
0
0
0
0
0
0
0
1
8
0
-1
-37
-12
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-4
27
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
34
8
-30
-5
-1
0
0
0
0
0
0
0
0
0
0
-12
9
-37
20
3
16
-4
0
0
0
0
0
0
0
0
0
0
-2
-4
-22
58
1
7
0
0
0
0
0
0
0
0
0
0
0
4
2
-8
13
-7
-1
9
-1
10
-1
0
0
0
0
0
0
0
0
41
-4
-16
-1
-21
8
0
2
0
0
0
0
0
0
0
0
-1
-23
-9
-4
18
20
-28
-8
0
0
-1
0
0
0
0
0
0
0
22
-6
-20
6
-8
6
-3
1
1
0
0
0
0
0
0
0
0
0
5
19
-8
2
4
-4
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
3
-24
-6
9
15
0
0
0
7
-2
0
0
0
0
0
1
-8
-21
8
24
-4
16
0
0
43
25
3
-2
0
0
0
0
2
32
-2
25
27
17
31
6
-13
-25
-4
-7
0
0
0
0
0
2
-12
5
-2
21
8
-4
-43
9
-3
3
0
0
0
0
0
0
0
13
35
-7
10
-13
-21
-20
-27
12
1
1
0
0
0
0
0
0
-25
0
21
6
-15
27
2
-8
8
-12
0
0
0
0
0
0
0
3
1
19
-18
24
-25
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-13
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-49
24
9
-12
0
0
0
25
7
1
0
0
0
0
0
0
4
-5
-17
-1
0
10
8
-14
17
6
2
0
0
0
0
0
0
-15
-13
1
52
-21
-29
20
-46
8
-1
0
0
0
0
0
0
0
0
-34
31
-7
-13
-40
-34
59
-29
-5
0
0
0
0
0
0
0
-8
15
29
-29
-59
-3
51
40
0
4
1
0
0
0
0
0
-1
-5
-13
4
122
-101
-55
37
21
5
-5
0
0
0
0
0
0
0
-16
-16
-21
37
-54
16
9
-8
0
-8
-2
0
0
0
0
0
0
0
-4
70
35
1
-13
-24
-6
-4
0
0
0
0
0
0
0
0
0
49
10
-57
0
21
-29
4
0
0
0
0
0
0
0
0
-15
-13
-4
-29
20
27
25
0
0
0
0
0
0
0
0
0
0
-25
-61
-2
15
17
25
0
0
4
0
0
0
0
0
0
0
0
25
-14
32
31
-33
25
0
0
9
0
0
0
0
0
0
0
0
-2
-13
-18
10
12
2
25
2
-3
0
0
0
0
0
0
0
0
-6
-23
-10
-14
0
5
-7
-1
-6
0
0
0
0
0
0
0
0
5
24
20
0
-1
-19
-6
1
0
0
0
0
0
0
0
0
0
9
-31
-9
2
-5
24
-1
0
0
0
0
0
0
0
0
0
0
21
19
51
6
-60
13
1
7
0
4
0
0
0
0
0
0
0
1
-8
-22
-31
-12
12
1
0
0
0
0
0
0
0
0
0
0
4
12
24
0
44
-13
-7
4
0
-1
0
0
0
0
0
0
0
-15
-6
4
-13
19
-6
0
5
5
6
-1
0
0
0
0
0
0
2
12
-1
-7
-2
-29
-9
-3
1
1
0
0
0
0
0
0
0
5
-12
-33
0
22
-1
-3
4
-14
-2
0
0
0
0
0
0
0
-1
-13
24
-4
6
27
-8
24
1
0
0
0
0
0
0
0
0
-8
-22
-3
41
-6
-16
2
-6
-1
0
0
0
0
0
0
0
0
2
3
34
57
-13
6
-4
-8
-1
0
0
0
0
0
0
0
0
24
0
-13
-4
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
13
-31
1
-4
3
0
0
6
14
-7
0
0
0
0
0
-1
10
-10
0
49
6
44
0
22
0
42
-5
0
0
0
0
0
1
-2
-7
69
-4
-31
-8
13
10
-1
-23
3
0
0
0
0
0
-1
-3
20
2
-5
-16
2
-3
-9
14
-19
0
0
0
0
0
0
0
-6
3
8
16
8
1
-10
-31
0
0
4
0
0
0
0
0
0
8
-8
-8
20
69
16
-9
-1
-1
0
0
0
0
0
0
0
0
-3
5
28
44
-8
23
-3
0
1
0
0
0
0
0
0
0
0
0
0
-8
25
-3
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
1
0
2
-4
0
0
0
0
0
0
0
0
0
0
1
8
1
0
0
0
-3
-2
0
0
0
0
0
0
-1
2
-14
1
-1
0
5
-3
21
-4
-1
0
0
0
0
0
0
0
2
-1
-14
7
10
7
3
-16
-1
0
0
0
0
0
0
0
-3
0
3
19
51
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
5
4
18
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
-1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-6
1
-5
1
0
0
0
1
1
0
0
0
0
0
0
-5
14
-7
-8
2
0
0
0
-8
-12
1
-1
0
0
0
0
0
-13
8
8
5
-3
0
1
-3
-21
-1
0
0
0
0
0
0
0
-1
5
2
-2
0
0
-4
16
-5
-1
0
0
0
0
0
0
0
-5
-6
9
0
0
3
17
3
3
0
0
0
0
0
0
0
0
4
3
0
14
-14
5
19
-18
-12
0
0
0
0
0
0
0
0
2
3
-2
-4
0
8
-2
16
2
0
0
0
0
0
0
0
0
0
-2
16
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
-3
-12
25
-12
-4
19
4
0
1
0
0
0
0
0
0
0
-2
-3
-8
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
2
3
5
1
0
0
0
1
0
0
0
0
0
0
0
0
0
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-1
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
7
2
66
0
30
-25
20
0
0
0
0
0
-2
1
-7
5
-8
9
-5
84
6
10
-1
4
-3
0
0
0
0
0
8
-3
18
-2
-5
31
14
-41
-14
17
7
4
0
0
0
0
0
-3
9
0
-16
-12
5
-42
-16
-17
5
0
-1
0
0
0
0
0
0
0
8
-1
13
3
-8
-16
4
-1
3
0
0
0
0
0
0
0
0
4
0
0
2
-12
-7
13
-1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
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
-10
-25
61
58
-60
0
5
5
3
-8
-1
0
0
0
0
0
2
17
-6
-73
-3
62
-7
51
-10
31
35
4
-2
0
0
0
0
3
0
-31
35
106
121
51
2
-23
7
-4
7
0
0
0
0
0
-1
-24
-49
-11
0
22
-8
46
-22
-6
-9
4
0
0
0
0
0
-8
-9
-53
23
-32
-5
-22
44
26
2
1
7
2
0
0
0
0
0
0
-17
-32
-16
13
-13
13
-29
-25
-4
-1
0
0
0
0
0
0
-2
12
-4
-4
-30
6
8
5
13
-1
-1
0
0
0
0
0
0
0
-5
-17
12
-8
28
-5
-4
-2
0
0
0
0
0
0
0
0
0
0
-8
25
45
2
-9
0
0
0
0
0
0
0
0
0
0
2
1
3
0
8
0
-7
34
16
-22
0
-1
0
0
0
0
-2
0
5
-5
6
-21
-23
-14
18
22
5
1
0
0
0
0
0
0
-6
-9
-3
-24
2
31
-1
0
9
-4
0
0
0
0
0
0
1
-2
-5
-1
15
-23
5
49
-13
-1
-5
-28
0
0
0
0
0
0
-2
3
2
1
-2
-23
-22
25
-1
-6
-8
0
0
0
0
0
0
0
0
1
-2
-3
21
-45
33
-29
6
1
13
0
0
0
0
0
0
0
0
0
-5
-13
13
-24
8
-9
14
0
-1
0
0
0
0
0
0
0
1
2
15
22
5
-7
16
7
0
0
-1
0
0
0
0
0
0
1
23
-10
28
-19
13
2
0
1
-1
0
0
0
0
5
-2
-23
17
48
0
13
-14
20
8
3
0
0
0
0
0
0
-12
5
-42
65
-12
66
6
14
8
-8
-6
1
0
0
0
0
0
24
-1
42
-17
-24
21
3
-4
-32
13
7
0
0
0
0
0
0
10
-1
32
1
-25
-31
-50
-16
0
0
1
0
0
0
0
0
0
1
12
-8
-5
-18
-55
23
-4
5
0
0
1
0
0
0
0
0
4
-1
-1
-1
-12
-2
14
25
8
18
0
0
0
0
0
0
0
0
0
-4
49
0
-24
-10
-21
-26
-2
6
0
0
0
0
0
0
0
0
0
0
-4
-6
13
5
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
2
-4
-7
-28
-13
0
12
3
-3
0
0
0
0
0
0
-8
2
-9
-10
29
47
-40
0
22
-3
0
-8
0
0
0
0
0
7
-1
2
-4
-16
15
68
-40
3
-6
1
-1
-1
0
0
0
0
0
-24
0
14
32
5
-16
5
-8
1
0
0
0
0
0
0
0
0
-2
4
-8
-3
1
6
2
-1
5
0
0
0
0
0
0
0
0
1
0
0
4
-3
-6
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-3
-17
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
-21
0
-13
1
-3
0
0
0
0
0
0
0
0
0
0
-2
-10
19
32
10
9
-1
-2
0
0
0
0
0
0
0
0
0
-3
-8
5
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-17
5
-4
0
1
0
0
0
0
0
0
0
0
1
-1
5
-10
-16
19
3
1
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-24
-12
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
10
4
0
0
0
0
0
0
0
0
0
0
0
0
2
19
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
-25
0
0
-1
5
-4
0
0
0
0
0
0
0
0
0
0
0
13
-13
37
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
12
2
-34
26
6
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
-13
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
5
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-42
13
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
25
14
-6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
14
-25
9
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
3
-2
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-15
10
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
-1
1
7
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-2
10
13
0
1
0
0
0
0
0
0
0
0
0
0
0
4
24
16
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-14
-5
2
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-10
2
-5
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
25
6
19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-6
1
0
0
0
0
0
0
-22
72
14
32
34
-3
1
0
0
0
0
0
0
0
0
0
0
1
-8
47
-18
-2
1
3
0
0
0
0
0
0
0
0
0
0
-1
-7
-9
-14
4
4
-7
-2
0
0
0
0
0
0
0
0
0
0
-4
0
5
-1
6
-6
-3
3
0
0
0
0
0
0
0
0
0
-1
-2
-8
1
-6
-5
-1
4
1
0
0
0
0
0
0
0
0
0
0
-6
-3
-1
2
0
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
22
-13
22
0
1
13
0
0
0
-1
-2
1
0
0
0
0
-4
-18
6
-5
25
4
75
0
0
4
-3
7
-1
0
0
0
0
-1
-1
-6
-22
4
-25
16
-64
-15
0
5
-4
-1
0
0
0
0
2
-5
-8
-23
25
-33
17
-12
4
-8
-8
1
0
0
0
0
0
0
1
-1
5
-22
2
-7
5
4
-7
4
0
1
0
0
0
0
0
0
-4
1
-10
0
0
-1
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-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
-24
32
8
41
16
0
0
3
-2
-1
0
0
0
0
0
0
-3
-79
23
17
-15
61
70
-5
-3
-3
1
0
0
0
0
0
0
-10
39
10
-64
-20
-31
-84
-3
-6
2
0
-1
0
0
0
0
0
3
-15
-41
47
-32
11
-57
-8
-8
3
1
-1
0
0
0
0
0
2
-15
33
42
-21
42
17
4
-3
16
-3
0
0
0
0
0
0
0
-1
-29
-22
32
-18
12
0
-8
6
-1
0
0
0
0
0
0
0
-8
-21
74
13
30
-8
-3
12
-1
0
0
0
0
0
0
0
0
-3
41
1
2
-5
-5
0
2
3
0
0
0
0
0
0
0
0
0
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
20
1
-3
-6
12
3
1
0
0
0
0
0
0
0
0
0
0
0
-10
0
20
6
-35
-24
-21
0
0
0
0
0
0
0
0
0
6
-2
4
1
9
5
-19
2
0
0
0
0
0
0
0
0
0
0
-1
1
9
-2
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
5
5
-17
8
9
0
0
0
0
0
0
0
0
0
21
-42
-24
-50
-46
50
0
35
3
2
0
0
0
0
0
0
0
0
0
10
-22
-10
-35
21
-19
-5
1
0
0
0
0
0
0
0
0
0
0
3
-19
43
-1
-6
1
-3
0
0
0
0
0
0
0
0
0
5
2
-19
-22
19
1
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-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
-7
-15
-23
25
3
-18
0
0
10
-13
3
-4
0
0
0
0
0
22
13
1
-14
43
-46
0
16
0
-1
15
-6
0
0
0
0
0
-9
35
20
47
28
8
-9
31
19
16
-4
0
0
0
0
0
0
1
17
13
25
-32
-5
-16
18
25
8
0
0
0
0
0
0
0
0
-13
5
-8
-25
-24
1
-13
-6
-4
-2
2
0
0
0
0
0
0
1
-18
1
-8
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
-1
0
2
-1
0
0
0
0
0
0
0
-1
-3
2
-6
-8
-8
0
-4
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
-16
-8
9
0
0
0
0
0
0
0
0
0
0
1
4
1
5
7
3
6
0
0
0
1
0
0
0
0
0
0
0
0
7
-10
-6
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
10
-1
6
-4
-16
1
0
0
0
0
0
0
0
0
0
0
-1
4
0
2
1
1
3
0
3
0
0
0
0
0
0
0
0
0
0
3
0
4
1
-3
-16
2
2
-1
0
0
0
0
0
0
0
0
-1
0
2
0
3
-3
2
-1
0
0
0
0
0
0
0
0
1
1
0
0
2
2
25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-37
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
-2
16
-19
23
7
0
0
0
0
0
0
0
0
0
0
0
0
5
9
44
-32
39
0
0
0
0
0
0
0
0
0
0
0
-2
3
-9
42
-13
8
0
0
0
0
0
0
0
0
0
0
0
3
3
14
-24
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
-25
-7
7
33
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
27
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
7
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
1
3
0
0
0
0
0
0
0
0
0
-3
4
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-39
-8
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-24
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
-5
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
4
5
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
12
-13
-10
-12
-19
-5
2
0
0
0
0
0
-2
16
1
0
0
-9
-13
-3
-43
-9
47
19
0
0
0
0
0
0
0
-18
-5
-18
-46
13
-1
-2
46
-5
-64
0
0
0
0
0
0
-3
17
-25
42
-23
-12
-44
31
-51
-41
6
0
0
0
0
0
-2
0
0
1
-8
0
13
13
14
-34
10
0
0
0
0
0
0
0
0
5
-10
6
12
-12
-20
-10
-41
10
0
0
0
0
0
0
0
0
0
1
-3
-6
8
12
27
-8
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-10
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
0
0
68
2
-79
-82
-31
-5
3
0
0
0
0
0
0
-4
-10
10
-25
-49
26
18
42
17
2
2
0
0
0
0
0
-1
-1
-12
-22
-53
66
25
21
7
-25
24
2
0
0
0
0
0
0
9
-43
-25
-49
-16
121
9
-23
25
-7
1
0
0
0
0
0
5
-4
-12
-10
81
8
67
24
33
17
-24
0
0
0
0
0
0
0
3
-1
-13
5
-5
26
130
-5
9
2
0
0
0
0
0
0
0
-3
3
-20
34
6
-29
-9
-6
-7
0
0
0
0
0
0
0
0
0
5
8
-2
-16
22
-54
52
-22
0
0
0
0
0
0
0
0
0
0
0
-4
-18
8
8
-23
27
0
0
0
0
0
0
0
0
0
0
0
0
3
24
3
28
14
-24
6
0
0
0
0
0
0
0
0
8
8
21
-5
-18
20
13
8
1
0
0
0
0
0
0
0
0
5
2
-32
-35
8
-35
-14
-6
0
0
0
0
0
0
0
-1
0
-8
2
-3
42
5
-27
-2
-13
-3
0
0
0
0
0
0
0
0
2
4
29
-1
5
-9
7
-4
0
0
0
0
0
0
0
0
0
1
-1
13
-4
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-19
28
12
66
-29
12
-1
0
0
0
0
0
0
2
1
-2
1
0
42
43
-10
-27
9
-23
0
0
0
0
0
0
0
6
8
-10
50
5
7
10
34
8
0
0
0
0
0
0
0
0
0
1
-5
28
-9
-6
-25
-2
-4
1
0
0
0
0
0
0
0
0
-2
2
-7
28
-2
-25
-16
-1
0
0
0
0
0
0
0
0
0
0
1
2
-10
15
2
-6
5
0
0
0
0
0
0
0
0
-1
0
1
-7
-23
-27
-33
-8
0
0
0
0
0
0
0
0
0
0
2
-2
3
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
-10
1
5
-17
14
30
0
0
0
0
0
-1
2
14
0
15
0
25
-34
-12
0
43
-19
-1
0
0
0
0
0
4
4
-7
35
26
45
-12
1
9
-47
-25
0
0
0
0
0
-1
1
-2
-25
1
9
16
49
-22
-30
60
-13
0
0
0
0
0
0
1
-1
3
2
-14
-21
-4
2
-49
-37
1
0
0
0
0
0
0
1
-3
0
5
-1
-34
1
-7
2
-13
1
0
0
0
0
0
0
0
-2
-2
10
1
-7
-2
34
-18
3
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
1
0
5
1
1
0
1
0
0
0
0
0
0
-9
-5
-1
0
5
0
0
0
3
2
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-10
8
1
0
0
0
0
0
0
0
0
0
0
-1
-7
-9
-12
9
1
0
0
0
0
0
0
0
0
0
0
0
-3
-23
33
18
-15
8
0
0
0
0
0
0
0
0
-1
-3
-3
-2
-4
9
37
-2
0
0
0
0
0
0
0
0
-1
0
0
1
0
-9
-7
3
0
14
0
0
0
0
0
0
0
0
1
1
-2
0
0
1
12
5
0
0
0
0
0
0
0
0
0
0
-6
0
-1
1
-7
-2
-8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-4
7
-9
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
4
4
4
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
-28
33
0
-1
0
0
0
0
0
0
0
0
0
0
0
13
-5
-5
-17
23
2
0
0
0
0
0
0
0
0
0
0
0
-5
19
-19
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
3
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
8
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
-8
-3
-3
-1
0
0
0
0
0
0
0
0
0
-1
0
0
7
6
42
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
2
-13
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-5
15
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-6
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-10
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
1
0
0
0
0
0
0
0
0
0
0
-1
4
2
-12
-10
-8
-31
-4
0
0
0
0
0
0
0
0
0
0
0
2
8
-6
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
32
7
3
0
0
0
0
0
0
0
0
0
0
0
0
10
39
16
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
3
-4
-1
0
0
0
0
0
0
0
0
-1
-2
-5
0
4
-10
-21
-4
-8
0
0
0
0
0
0
0
0
0
1
1
4
-17
4
-25
-8
-2
0
0
0
0
0
0
0
0
0
2
0
-2
6
14
-19
-4
1
0
0
0
0
0
0
0
0
0
-6
0
3
6
7
33
3
0
0
0
0
0
0
0
0
0
-1
0
3
9
0
8
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
2
5
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
8
0
-40
4
13
14
17
-14
0
-3
0
0
0
2
-4
7
-13
14
-22
54
31
-8
6
14
13
-2
2
0
0
0
0
1
0
16
14
13
16
-2
14
-21
13
22
19
-8
0
0
0
0
0
0
6
-25
0
-41
6
7
22
13
102
17
-1
0
0
0
0
0
2
-13
7
6
-21
-24
16
43
-5
16
7
0
0
0
0
0
0
0
-2
4
8
-24
8
-5
4
-32
-13
0
0
0
0
0
0
0
0
0
0
-5
2
-19
-13
1
4
-1
0
0
0
0
0
0
0
0
0
0
1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
62
0
-30
11
60
-6
29
3
0
0
0
0
0
-2
-4
2
22
-4
91
9
5
29
-12
27
7
4
0
0
0
0
-1
-2
-8
6
-4
31
-14
9
6
-39
15
5
1
0
0
0
0
-1
-1
6
-5
-22
-26
-22
-5
20
24
-21
-2
4
0
0
0
0
0
0
10
-25
-54
-94
22
53
-65
42
-1
2
0
0
0
0
0
0
-7
-3
-32
-9
12
-3
-92
1
-14
-9
-2
0
0
0
0
0
0
0
-2
28
15
8
0
2
33
-17
-17
-4
0
0
0
0
0
0
0
0
12
10
18
37
-50
41
-5
6
0
0
0
0
0
0
0
0
0
-8
9
-50
26
27
-4
-9
0
0
0
0
0
0
0
0
-1
-3
0
-13
0
-14
-25
-1
14
7
-1
0
0
0
0
0
1
-3
-19
-5
0
58
-14
0
-10
8
0
0
0
0
0
0
0
0
14
-1
39
-7
50
15
-8
4
-8
0
0
0
0
0
0
0
13
16
-9
13
-6
-6
5
-7
2
4
6
-2
0
0
0
0
0
-10
10
3
21
-15
-17
-2
-6
1
4
0
0
0
0
0
0
1
-1
2
-14
-1
25
35
1
-12
0
-1
0
0
0
0
0
0
0
31
13
-2
11
-4
31
-17
-5
0
0
0
0
0
0
0
0
0
-8
-16
6
-11
-23
15
-17
0
2
0
0
0
0
0
0
0
0
0
-3
20
19
15
3
7
-1
0
0
0
0
0
0
0
0
0
0
0
16
1
-35
0
12
-10
20
31
0
0
0
0
0
0
0
0
-2
-2
13
-19
-28
37
-17
59
10
-24
0
0
0
0
0
0
0
0
-12
2
-60
-49
-17
-44
18
4
24
0
0
0
0
0
0
-1
-1
-2
2
1
-5
31
-43
-25
10
8
0
0
0
0
0
0
0
0
8
-2
-4
24
1
-34
-18
30
22
-2
0
0
0
0
0
0
-1
-2
-8
-8
-25
3
-12
8
-20
2
0
0
0
0
0
0
0
-1
24
2
20
3
-30
-20
8
-1
0
0
0
0
0
0
0
0
0
-2
20
-3
16
-14
-8
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-2
2
0
16
6
12
30
3
19
12
0
0
0
0
0
0
-13
-49
-2
-36
-27
21
30
51
5
-37
25
5
0
0
0
0
0
1
-1
-41
-3
31
41
-17
-41
-9
-41
4
0
0
0
0
0
-2
0
14
-47
13
0
17
-30
6
41
39
-16
1
0
0
0
0
-1
-2
-6
-25
6
-14
-3
7
-31
4
12
-5
0
0
0
0
0
-1
1
0
0
19
23
-2
25
-8
1
12
0
0
0
0
0
0
0
0
0
-7
-8
2
5
-2
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
2
0
0
1
0
-1
0
0
0
0
0
0
1
0
-3
1
6
-5
-22
3
0
6
0
0
0
0
0
0
0
0
1
1
-4
9
-6
3
1
-10
3
0
0
0
0
0
0
0
0
2
2
-4
0
13
14
-13
2
1
0
0
0
0
0
0
0
0
0
7
2
7
8
10
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
1
12
-14
4
0
0
0
0
0
0
0
0
0
0
3
7
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
4
0
2
7
3
0
0
2
-2
0
0
0
0
0
-4
0
-6
-2
-6
-4
-3
8
0
6
-17
-2
0
0
0
0
0
0
2
0
-17
-15
-25
-6
12
-8
4
13
2
0
0
0
0
0
0
1
2
8
6
-6
25
9
-4
-2
3
-3
1
0
0
0
0
0
-1
-8
25
-8
5
0
14
1
0
17
7
0
0
0
0
0
0
5
1
-33
2
0
10
5
0
-2
6
0
0
0
0
0
0
1
0
9
-21
-63
-3
-14
5
0
0
0
0
0
0
0
0
0
0
0
4
-7
-37
17
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
2
-59
15
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
15
23
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-10
-4
49
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
12
4
20
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
-7
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
6
0
4
0
1
-1
0
0
0
0
0
0
0
0
0
0
-1
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
-3
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
17
16
5
19
-12
-13
3
0
0
0
0
2
-2
4
-31
0
0
32
47
28
75
2
22
2
0
0
0
0
0
0
0
-24
-70
28
7
42
-13
-20
9
-25
8
0
0
0
0
0
0
0
-7
44
-49
-29
4
-41
-42
3
-4
-2
0
0
0
0
0
0
0
-1
6
-12
8
2
6
5
-37
33
2
0
0
0
0
0
0
0
-1
0
-3
-1
4
18
23
58
4
1
0
0
0
0
0
0
0
0
0
2
0
-1
-9
28
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
5
-32
-13
2
61
-4
1
0
0
0
0
0
0
-5
37
46
16
13
-8
0
-68
2
5
0
0
0
0
0
0
0
8
3
24
-46
-12
-49
75
-41
8
-4
13
0
0
0
0
0
1
0
-39
16
-48
21
5
-31
35
3
8
3
0
0
0
0
0
3
1
-2
28
-7
-54
-2
49
-26
-6
43
1
0
0
0
0
0
0
0
2
-3
-32
-13
56
2
-14
-6
-24
0
0
0
0
0
0
0
0
-1
-2
15
-6
-8
13
45
-4
-5
0
0
0
0
0
0
0
0
0
-2
-7
-4
-9
57
2
-17
-1
0
0
0
0
0
0
0
0
0
0
1
-13
11
-10
-7
-22
0
0
0
0
0
0
0
0
0
0
0
0
10
-10
31
-35
-13
14
0
0
0
0
0
0
0
0
0
-4
8
2
-5
18
-17
-34
34
-22
0
0
0
0
0
0
0
0
-5
-42
5
-5
-9
-43
2
13
-7
0
0
0
0
0
0
0
0
0
2
-16
-6
1
-1
-8
-28
19
0
0
0
0
0
0
0
0
-3
1
13
1
-5
-8
-1
-21
16
0
0
0
0
0
0
0
0
-3
5
-7
9
7
-15
19
27
-31
0
0
0
0
0
0
0
0
0
0
-3
13
14
-4
9
17
9
0
0
0
0
0
0
0
0
0
3
-2
-24
-21
-13
51
49
17
0
0
0
0
0
0
0
0
0
0
1
1
10
-2
31
-41
42
0
0
0
0
0
0
0
-1
0
-3
13
5
-37
-48
4
16
2
0
0
0
0
0
0
-2
5
14
-9
0
-7
-34
-15
20
-21
49
0
0
0
0
0
0
5
-7
0
24
-7
5
-8
43
-20
5
0
0
0
0
0
0
0
2
1
3
-3
-14
16
30
-8
4
-18
2
0
0
0
0
0
0
0
0
2
3
-9
24
9
44
3
13
-16
0
0
0
0
0
0
0
0
0
3
13
-4
-4
21
-19
-1
27
0
0
0
0
0
0
0
0
0
-1
-3
5
-7
0
-33
9
17
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
33
-17
28
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
0
0
2
9
-7
0
0
17
-5
-30
24
-28
-4
-8
0
0
0
0
0
0
0
0
-19
0
22
9
20
14
14
52
-8
0
0
0
-1
0
0
14
1
31
41
59
-37
-2
-25
48
-48
-1
0
0
0
0
0
0
4
2
-4
3
-5
0
-13
21
16
-2
0
0
0
0
0
0
0
0
0
-7
-17
-19
-24
-9
13
22
-4
0
0
0
0
0
0
0
0
0
-1
7
1
-2
12
24
25
-16
0
0
0
0
0
0
0
0
0
0
0
-6
1
-25
16
-22
-4
0
0
0
0
0
0
0
0
0
0
0
1
2
8
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-8
-6
8
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
24
-1
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-30
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
19
6
0
0
0
0
0
0
0
0
0
3
0
0
7
-5
16
4
4
-37
6
0
0
0
0
0
0
0
0
0
2
5
-19
-6
-14
-22
-19
-2
0
0
0
0
0
0
0
0
2
0
-3
-7
0
-6
19
7
2
0
0
0
0
0
0
0
1
0
0
-1
2
-7
5
-13
4
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
12
-5
-1
0
0
0
0
0
0
0
0
0
0
2
-1
0
-8
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-13
7
5
3
0
0
0
0
0
0
0
0
0
0
0
1
-13
-16
5
-14
-6
0
0
0
0
0
0
0
0
0
-1
0
1
-8
-17
12
31
1
-7
0
0
0
0
0
0
0
0
0
0
-1
-2
21
-32
9
34
1
0
0
0
0
0
0
0
0
0
0
0
7
-1
9
4
6
0
0
0
0
0
0
0
0
0
0
0
-3
2
-8
-1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
4
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-12
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
25
4
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-24
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
19
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-13
3
0
0
0
0
0
0
0
0
0
4
1
2
2
1
33
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-1
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
4
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
2
3
12
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
1
18
-1
-3
2
0
0
0
0
0
0
0
0
0
0
2
9
7
-1
15
-1
0
0
0
0
0
0
0
0
0
0
2
1
0
-8
2
0
5
0
0
0
0
0
0
0
0
0
0
0
6
-7
-14
-12
-13
9
4
0
0
0
0
0
0
0
0
0
0
-1
12
-5
-9
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
8
-3
-4
0
0
0
0
0
0
0
0
0
0
0
-4
4
-8
-2
-6
-8
2
0
0
0
0
0
0
0
0
-1
1
0
-18
-2
24
23
22
1
0
0
0
0
0
0
0
0
0
-1
3
5
-14
1
-9
5
1
0
0
0
0
0
0
0
0
0
1
0
0
-22
-32
9
-20
2
0
0
0
0
0
0
0
0
0
0
0
5
3
17
-9
14
-9
0
0
0
0
0
0
0
0
0
0
0
2
2
1
-24
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
29
25
0
-54
27
3
17
6
-5
-6
-1
0
0
0
1
7
-35
-5
8
2
42
22
14
2
28
14
-10
2
0
0
0
-1
1
-1
-8
40
-31
-19
23
19
-9
-4
10
5
0
0
0
0
0
1
0
2
-8
8
-17
-14
-45
43
-2
12
-1
-1
0
0
0
0
-2
-1
3
-7
-13
-3
-22
4
-17
-9
4
2
0
0
0
0
0
0
0
-1
12
-4
-13
8
5
42
-13
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-13
2
10
0
0
0
0
0
0
0
0
1
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-25
-15
0
32
45
-2
49
5
0
-1
0
0
0
0
0
2
6
6
-2
-5
-25
92
-35
13
13
3
-5
0
0
0
0
0
0
-5
-9
-13
34
-12
-16
-8
34
6
4
-3
0
0
0
-1
0
0
-4
43
-25
-17
21
-22
-32
6
-59
-8
0
0
0
0
0
0
-3
8
29
-73
-10
72
39
-66
-15
0
1
7
0
0
0
0
1
1
-10
-13
-4
5
19
-13
-8
25
-25
5
-6
0
0
0
0
0
0
0
9
-16
-7
13
5
-28
6
23
8
1
0
0
0
0
0
0
0
-4
-5
-7
37
-10
5
13
6
1
0
0
0
0
0
0
0
0
0
4
1
-50
27
-25
5
0
0
0
0
0
0
0
0
5
-10
-19
-22
0
-8
-20
4
1
2
0
0
0
0
0
0
0
0
0
7
-6
30
4
-9
-1
5
-3
1
0
0
0
0
0
0
0
0
-1
-12
1
7
-13
8
7
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-4
-16
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
5
-10
1
8
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
1
13
-24
73
0
68
8
32
8
7
1
0
0
0
0
0
0
-2
-14
-13
22
24
30
15
22
47
9
2
0
0
0
0
0
0
-1
5
-1
15
17
-31
6
23
25
-31
0
0
0
0
0
0
0
0
-6
-7
-19
-9
12
18
-6
10
-10
0
0
0
0
0
0
0
0
0
-1
-6
6
-5
5
-20
-2
5
0
0
0
0
0
0
0
0
0
17
19
-13
-14
-18
13
-3
0
0
0
0
0
0
0
0
0
0
1
-21
-10
33
19
-4
5
0
0
0
0
0
0
0
0
0
0
-2
-2
6
-6
-2
15
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
2
-7
8
0
-15
-5
-2
-24
47
-31
10
2
0
0
0
-2
-2
2
-9
49
-27
4
15
-10
-51
-6
-30
-32
7
0
0
0
0
2
0
3
13
-8
80
37
-8
-9
-26
13
42
2
0
0
0
0
0
3
-6
-5
-12
-67
24
-25
2
-5
7
34
8
0
0
0
0
0
0
-6
3
5
-2
33
20
25
7
-23
-10
-2
0
0
0
0
0
0
0
-2
-16
-1
-9
-37
-18
3
29
-4
0
0
0
0
0
0
0
1
0
1
-9
-4
12
-6
-10
-5
3
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
2
0
-8
3
-1
2
0
0
0
-1
0
0
0
0
0
0
1
-3
8
-2
-3
-10
13
-4
-1
2
-1
0
0
0
0
0
0
0
-10
0
17
-14
-1
20
10
0
0
1
0
0
0
0
0
0
0
0
4
-23
2
0
-5
5
0
1
0
0
0
0
0
0
0
0
0
0
2
2
5
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-4
1
1
0
0
0
-4
0
0
0
0
0
0
1
7
5
4
-10
-7
-2
12
0
-12
0
0
0
0
0
0
0
0
1
6
-24
10
5
-10
-5
0
8
-4
0
0
0
0
0
0
-2
8
1
2
6
16
20
1
19
-7
-1
1
0
0
0
0
0
0
4
-3
-19
-27
-7
12
-2
8
-1
8
0
0
0
0
0
0
1
0
0
12
4
4
-3
0
1
-3
0
0
0
0
0
0
0
0
0
-4
-6
8
2
0
0
-5
6
-4
1
0
0
0
0
0
-1
0
1
-5
1
0
-4
-2
0
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
-5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
37
27
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
16
-8
-8
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-4
1
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-15
-13
10
14
0
0
0
0
0
0
0
0
0
0
0
-1
-1
37
-4
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
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
1
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-8
8
7
0
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
5
-1
3
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
2
-1
3
0
0
0
0
0
0
0
0
0
0
0
6
4
-2
0
3
1
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-16
-13
-24
-14
12
0
0
0
0
0
1
-8
0
0
0
54
34
4
-20
-24
1
8
0
0
0
0
0
0
0
8
22
26
24
-1
-43
-32
-4
-23
-23
0
0
0
0
0
0
0
-8
-2
9
-17
15
50
16
-17
8
8
0
0
0
0
0
-1
0
0
14
-9
39
-21
0
-5
-59
0
1
0
0
0
0
0
0
1
4
5
-1
-39
-9
-34
5
8
8
0
0
0
0
0
0
0
0
0
-4
19
6
-7
24
-6
30
5
0
0
0
0
0
0
0
0
0
-1
0
0
-4
2
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
70
43
87
-14
7
0
0
0
0
0
0
0
2
-1
22
-18
-23
40
82
-51
-9
-4
1
0
0
0
0
0
2
0
15
19
57
21
99
2
14
-31
0
-1
0
0
0
0
0
0
22
7
-18
-40
51
2
-17
-23
-5
13
5
0
0
0
0
0
0
-14
-9
21
39
-26
32
17
25
56
5
0
0
0
0
0
0
0
-7
-8
9
17
-25
67
-19
45
-60
-1
2
0
0
0
0
0
0
1
-6
10
43
-25
26
-31
3
-11
3
0
0
0
0
0
0
0
0
-4
2
-16
5
35
6
66
-25
0
0
0
0
0
0
0
0
0
0
0
-7
4
46
32
22
4
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
0
-43
-1
-15
-9
0
0
0
0
0
0
0
0
-5
4
20
-1
41
-8
-29
-5
9
0
0
0
0
0
0
0
-1
-3
2
6
28
-8
-16
-39
-8
0
0
0
0
0
0
0
0
0
-1
9
5
5
17
-6
-10
-1
0
0
0
0
0
0
0
0
0
0
0
30
-3
-25
29
13
4
0
0
0
0
0
0
0
0
0
0
-4
-8
-2
0
8
1
0
0
0
0
0
0
0
0
0
0
7
0
13
-10
-2
-7
-15
0
0
0
0
0
0
0
0
0
0
0
-2
0
-37
12
8
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
7
0
-1
0
0
0
0
0
0
0
0
-1
0
-13
-18
24
10
-28
5
-34
8
0
0
0
0
0
0
0
0
-5
-5
0
0
56
25
-4
41
-2
0
0
0
0
0
0
0
-8
-12
-13
-25
-7
69
49
-27
-6
5
0
0
0
0
0
0
0
0
-16
16
2
-18
-1
14
-9
0
-6
0
0
0
0
0
0
0
-1
17
-7
-13
-19
26
-1
31
-5
0
0
0
0
0
0
0
0
0
0
1
-1
8
14
-3
8
3
0
0
0
0
0
0
0
0
0
0
12
5
6
12
30
-6
-2
0
0
0
0
0
0
0
0
0
0
-2
-3
-15
8
-13
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
5
-14
7
48
-3
7
0
0
0
0
0
1
0
-1
0
9
0
35
20
-37
-14
-14
34
8
0
0
0
0
1
0
0
-56
29
10
-1
3
-22
13
24
23
3
0
0
0
0
0
0
1
-8
31
-21
17
-12
34
-19
16
-9
0
0
0
0
0
0
-1
2
8
-9
-10
1
-42
6
24
8
17
0
0
0
0
0
0
0
4
0
-3
7
-8
-5
5
-37
-7
1
0
0
0
0
0
0
0
-2
0
1
5
5
13
10
27
0
-1
0
0
0
0
0
0
0
0
0
4
1
2
0
4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
2
-1
-10
8
0
0
0
0
0
0
0
0
0
0
-2
4
6
-9
13
13
-2
0
0
0
0
0
0
0
0
1
0
9
1
-41
-1
14
18
0
0
0
0
0
0
0
0
1
-4
-3
1
2
-25
-13
1
5
0
0
0
0
0
0
0
0
0
1
0
1
0
8
2
-4
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-8
-2
-2
0
0
0
0
0
0
0
0
0
1
0
2
1
-3
-16
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
8
16
0
-25
0
0
0
0
0
0
0
0
0
0
1
5
2
5
-5
16
22
-25
-1
0
0
0
0
0
0
0
0
0
-2
2
3
10
20
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
19
-34
6
1
0
0
0
0
0
0
0
0
0
0
1
4
-15
10
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
24
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
8
-8
4
0
0
0
0
0
0
0
0
0
3
1
1
8
-3
19
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-37
17
-5
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
3
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-5
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
2
7
-24
9
0
0
0
0
0
0
0
0
0
0
0
1
4
-8
-27
1
13
-1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-2
-27
7
0
0
0
0
0
0
0
0
0
0
3
1
-1
19
6
-1
10
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-3
1
-8
0
0
0
0
0
0
0
0
0
0
0
3
-8
1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
19
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
0
4
-30
1
2
-3
-9
-5
1
0
0
0
0
0
-6
1
0
22
17
-5
-5
32
-9
19
9
2
0
0
0
0
0
0
0
15
32
8
13
-8
15
7
-32
34
-1
0
0
0
0
0
0
-9
-1
-15
3
31
13
5
-43
-5
17
-2
0
0
0
0
0
0
0
19
-14
-18
-23
-6
-7
-3
-16
-8
0
0
0
0
0
0
0
0
0
5
18
-5
-18
0
-5
-1
0
0
0
0
0
0
0
0
0
0
-8
3
13
-12
1
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
1
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
42
0
49
-24
0
-6
-6
19
-1
0
0
0
0
0
3
-8
-8
0
13
-78
-50
8
-32
-17
-9
-6
0
0
0
0
0
-1
9
0
20
27
-48
93
61
31
-25
14
17
0
0
0
0
0
2
0
-42
-10
5
-13
68
-47
-30
-25
9
-1
0
0
0
0
0
1
-15
-6
13
-43
34
66
79
-34
-39
7
0
0
0
0
0
0
-5
13
-10
-35
26
32
-22
-25
31
35
4
0
0
0
0
0
0
-2
9
10
45
-71
28
19
24
-29
17
2
0
0
0
0
0
0
0
2
-5
33
16
71
-13
-74
22
2
0
0
0
0
0
0
0
0
2
-1
-25
-17
1
-71
-9
0
1
0
0
0
0
0
0
0
0
-1
4
-51
0
-10
-10
23
8
0
0
0
0
0
0
0
1
-17
-4
-51
0
-14
-15
0
12
-6
-3
0
0
0
0
0
0
0
-3
9
0
3
-31
-3
-7
25
5
13
-1
0
0
0
0
0
0
-5
0
-1
75
28
3
-5
-16
9
-6
0
0
0
0
0
0
-1
0
1
-12
23
3
13
0
-13
-1
0
0
0
0
0
0
0
0
1
21
-14
-6
0
-8
6
3
1
4
0
0
0
0
0
0
2
-25
-16
10
-48
22
-8
2
4
0
0
0
0
0
0
0
0
-3
-4
16
9
8
-28
-8
6
-1
0
0
0
0
0
0
0
0
0
1
-2
12
22
12
22
-3
0
0
0
0
0
0
0
0
0
0
0
-3
3
-34
0
-2
1
-41
-14
1
0
0
0
0
0
0
0
0
-17
5
0
18
0
63
49
-33
-7
0
0
0
0
0
0
0
0
7
0
18
-24
-24
55
1
1
13
0
0
0
0
0
0
0
0
0
8
-8
17
31
-39
-8
1
-13
0
0
0
0
0
0
0
0
4
-6
16
7
-23
-4
16
-12
10
0
0
0
0
0
0
0
0
1
-17
5
17
-14
43
-19
-17
0
0
0
0
0
0
0
0
-1
-22
-23
25
32
5
-13
-1
-4
0
0
0
0
0
0
0
0
1
0
-8
-6
24
29
-15
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
-9
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
0
-7
72
-13
-7
-4
-10
-3
-1
0
0
0
0
0
1
-1
-2
37
42
-5
-10
-25
47
41
-19
-1
0
0
0
0
0
0
0
0
52
14
-47
13
10
-10
-3
4
19
0
0
0
0
0
0
2
5
6
9
-32
24
-20
-4
20
5
0
0
0
0
0
0
0
-1
-5
14
-1
13
-23
7
31
-17
-9
0
0
0
0
0
0
1
1
-3
9
-14
19
-1
23
-8
4
4
0
0
0
0
0
0
0
1
2
8
-6
4
0
42
1
0
0
0
0
0
0
0
0
0
1
-2
5
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
1
0
0
2
0
0
0
0
0
0
0
0
0
-4
-1
2
14
6
-6
6
-1
-2
0
0
0
0
0
0
0
-2
-10
5
-6
17
-4
-3
9
-17
8
0
0
0
0
0
0
0
0
1
2
6
-5
0
-2
4
0
-1
0
0
0
0
0
0
0
-4
1
2
2
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
49
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
-8
0
-1
0
0
0
0
0
0
0
0
6
8
0
4
-7
-16
-5
-19
-2
0
0
0
0
0
0
0
-8
6
0
23
17
9
24
0
-12
4
0
0
0
0
0
0
0
-2
-6
0
-6
5
-4
-3
27
-2
4
0
0
0
0
0
-1
4
-2
-2
-4
-19
6
-4
12
-1
0
0
0
0
0
0
0
0
9
2
-16
7
8
-4
-4
4
3
0
0
0
0
0
0
0
0
4
-1
15
-7
-8
-1
0
1
0
0
0
0
0
0
0
0
0
-1
31
29
18
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-29
-9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
23
1
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
1
1
-1
-8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
4
-5
66
35
-8
0
0
0
0
0
-1
-5
-6
0
0
27
10
-22
36
24
-28
-5
0
0
0
0
0
0
2
-17
-13
-25
27
1
28
33
23
50
-4
0
0
0
0
0
0
-1
13
24
41
7
-24
52
48
-55
-1
-8
0
0
0
0
0
0
0
4
0
-5
42
3
-19
7
42
8
3
0
0
0
0
0
0
0
-2
-1
-8
-9
-1
20
5
14
-14
5
0
0
0
0
0
0
0
0
0
0
5
5
-17
-17
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
24
0
0
-41
-48
-26
-95
-14
8
-2
0
0
0
0
0
0
-5
3
42
-20
16
11
5
73
36
25
3
0
0
0
0
0
1
2
3
-56
-3
-92
-18
-41
28
48
-4
8
0
0
0
0
0
0
1
-20
6
27
-35
-5
91
-32
17
8
-13
0
0
0
0
0
0
0
0
8
-2
-49
-31
55
48
-29
0
22
0
0
0
0
0
0
0
-1
-13
5
-4
-41
47
5
-16
-5
6
0
0
0
0
0
0
0
0
5
25
-19
44
5
59
3
31
-1
0
0
0
0
0
0
0
0
0
9
-8
0
-24
9
13
6
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
28
-20
0
0
0
0
0
0
0
0
0
0
0
0
12
9
9
4
37
13
-6
0
0
0
0
0
0
0
0
2
0
-29
39
37
15
-19
-15
-49
0
0
0
0
0
0
0
0
0
-1
-29
-24
21
-22
5
-48
91
0
0
0
0
0
0
0
0
0
0
-1
8
-10
15
-8
58
17
0
0
0
0
0
0
0
0
0
0
0
-23
9
-10
-43
22
10
0
0
0
0
0
0
0
0
0
0
-3
12
8
23
18
8
10
0
0
0
0
0
0
0
0
0
1
0
-5
5
4
10
-5
-30
0
0
0
0
0
0
0
0
0
0
-1
6
-17
-32
-59
16
-44
0
0
0
0
0
0
0
0
0
0
-2
-2
-25
-3
43
19
9
0
0
0
0
0
0
0
2
0
7
-14
21
46
-16
9
-11
8
0
0
0
0
0
0
0
0
2
41
0
-54
-6
17
40
9
-3
0
0
0
0
0
0
0
0
6
7
6
-41
-15
-14
-28
24
8
0
0
0
0
0
0
-2
0
16
-25
13
15
10
37
19
-16
-15
0
0
0
0
0
0
0
0
0
5
-5
0
13
-5
-16
-52
1
0
0
0
0
0
0
0
0
0
-1
-2
0
-1
-21
15
37
-6
0
0
0
0
0
0
0
0
0
0
0
6
10
9
23
21
1
0
0
0
0
0
0
0
0
0
0
0
1
2
4
16
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
0
25
22
-31
-33
-43
-4
7
0
0
0
0
0
0
0
0
6
0
-11
-14
8
-2
-24
-2
5
0
0
0
0
0
1
1
8
3
-24
8
63
3
24
8
8
2
0
0
0
0
0
0
0
-2
0
-1
5
13
14
37
6
17
-3
0
0
0
0
0
0
0
0
0
-1
-25
10
-22
0
-13
-17
0
0
0
0
0
0
0
0
0
-2
16
-2
7
20
-17
5
-17
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-24
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
9
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-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
-2
-2
-27
-16
1
22
0
0
0
0
0
0
0
0
0
0
0
-20
16
0
34
-27
0
8
0
0
0
0
0
0
0
0
0
3
1
5
-18
8
9
-19
-6
0
0
0
0
0
0
0
0
0
0
7
-1
-4
-6
13
7
-5
0
0
0
0
0
0
0
0
0
0
0
2
4
-7
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-6
13
4
3
0
0
0
0
0
0
0
0
0
3
0
2
0
5
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
14
-22
8
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-17
-7
4
-23
-4
-6
0
0
0
0
0
0
0
0
0
3
2
10
8
-39
19
33
-1
0
0
0
0
0
0
0
0
0
0
0
-2
4
8
13
0
34
0
0
0
0
0
0
0
0
0
0
0
12
12
9
-10
-20
5
0
0
0
0
0
0
0
0
0
0
0
5
-9
-23
-25
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
-17
6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
1
12
1
2
1
0
0
0
0
0
0
0
0
0
0
0
2
-5
4
6
14
1
0
0
0
0
0
0
0
0
0
0
-1
0
2
3
5
12
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
-5
7
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
9
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-16
5
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
1
4
1
0
0
0
0
0
0
0
0
2
0
0
8
5
24
-8
-3
2
-2
0
0
0
0
0
0
0
0
0
0
-8
4
-3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-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
-1
0
0
-1
-4
2
6
0
0
0
0
0
0
0
0
0
-1
0
8
8
27
2
-4
14
0
0
0
0
0
0
0
0
0
0
0
12
3
22
-17
3
-31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-6
-8
1
0
0
0
0
0
0
0
0
0
0
1
3
-1
22
17
1
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
15
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
8
32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
25
-5
-24
3
-14
2
-5
-2
0
0
0
0
0
12
-23
20
0
109
9
76
-8
-12
9
8
0
0
0
0
0
0
0
-7
-2
-9
-20
2
-5
-8
5
52
-35
-1
0
0
0
0
0
-1
-16
0
-33
-8
3
-1
-24
6
-2
-16
1
0
0
0
0
0
0
0
0
0
0
-12
-7
-15
-35
12
-4
-1
0
0
0
0
0
0
0
0
0
-2
-4
-1
3
-15
44
-9
-2
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-2
3
0
45
66
34
-10
8
-5
0
0
0
0
0
0
-3
1
13
-59
2
19
-25
22
-5
7
-18
5
0
0
0
0
0
0
0
-3
22
19
31
-80
-40
50
-3
0
-13
0
0
0
0
0
-1
6
-7
-4
-17
-15
37
9
-18
-47
8
3
0
0
0
0
0
-1
1
3
-4
-5
-8
-42
7
-15
-13
13
2
0
0
0
0
0
0
0
0
13
8
25
10
-6
-4
-5
-24
0
0
0
0
0
0
0
0
0
-1
-4
17
-13
9
5
19
-14
0
0
0
0
0
0
0
0
0
1
-22
-8
24
25
8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
0
0
0
0
0
0
0
0
-1
0
42
53
0
16
-5
-4
-6
-2
0
0
0
0
0
0
0
0
-1
1
-23
-13
8
15
2
-8
-6
-4
0
0
0
0
0
0
0
0
0
13
22
-2
0
-2
-7
3
0
0
0
0
0
0
0
0
0
0
2
8
1
1
3
8
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
5
-29
0
6
-2
5
-7
6
-3
0
0
0
0
0
0
0
0
-1
17
-37
-51
1
-8
51
31
0
0
0
0
0
0
0
0
-1
8
-7
42
-6
15
-7
-12
3
3
0
0
0
0
0
0
0
0
0
0
-3
10
1
-26
-16
4
0
0
0
0
0
0
0
0
0
0
0
4
2
-14
2
-19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
0
21
28
3
-39
1
-3
-8
0
0
0
0
0
0
0
6
0
68
43
46
-3
-5
24
34
8
1
0
0
0
0
0
3
4
-10
100
5
109
53
6
-14
2
9
-30
0
0
0
0
0
0
0
-12
6
-25
-3
-7
-31
-52
-23
14
6
0
0
0
0
0
0
0
-1
0
-5
25
7
-7
7
-24
-42
-3
0
0
0
0
0
0
0
0
0
-5
0
-12
7
-13
14
5
-2
0
0
0
0
0
0
0
0
0
0
-3
-3
7
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
1
0
0
0
0
0
0
0
0
0
-6
-17
-3
-5
1
5
-1
1
0
0
0
0
0
0
0
0
0
3
2
-17
1
12
-1
8
-2
1
0
0
0
0
0
0
0
0
-3
5
0
-25
-8
-4
14
-1
0
0
0
0
0
0
0
0
0
0
-1
2
-1
17
-2
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
-17
0
4
-1
0
0
0
0
0
0
0
4
2
-2
6
-1
-4
-3
-19
-2
4
0
0
0
0
0
0
0
0
1
3
0
0
-3
0
-12
-14
3
0
0
0
0
0
0
0
0
0
-1
-1
23
6
7
23
4
-1
0
0
0
0
0
0
0
0
0
0
0
7
-7
-8
-5
-5
-5
0
0
0
0
0
0
0
0
2
0
0
-1
0
-7
-8
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
4
-3
29
1
0
12
0
0
0
0
0
0
-1
0
0
-10
0
0
0
0
0
0
0
0
0
18
0
0
-10
0
-78
-134
-41
-24
-6
12
0
0
3
13
0
-196
-22
46
-19
1
0
7
41
-9
-2
0
-65
-117
-23
33
0
0
-8
50
18
-60
0
-67
-12
22
0
19
-19
27
17
-6
-28
0
-113
33
0
-12
39
109
22
3
-48
-12
0
-5
0
8
-2
9
7
16
64
-3
-14
-8
0
0
-1
0
1
14
-18
-2
1
49
0
0
0
30
0
-2
-24
0
0
-14
0
11
173
0
-40
-109
-43
-45
-24
-34
0
115
120
-2
0
-105
-41
-71
-12
-26
0
-85
73
35
-34
0
-52
-33
-33
-21
0
-57
-6
-2
-62
-99
0
25
-46
-3
0
-77
3
45
4
4
-16
0
-80
8
0
34
14
30
6
-10
-58
-50
0
9
0
16
14
23
-17
14
20
-16
-19
-2
0
0
22
48
-35
10
13
-10
-20
81
0
0
0
0
-1
43
-4
6
0
-15
0
-22
6
0
-69
-30
-17
-28
0
-3
0
-12
-11
31
0
-26
-34
-18
-9
5
0
-34
-55
32
-15
0
-4
-42
-119
-31
0
15
5
-9
-35
-59
0
-74
-16
-2
0
32
9
38
3
-5
-4
0
-13
2
0
-76
-6
17
10
-8
-34
-33
0
37
0
-37
41
77
49
60
3
34
0
-1
0
0
19
19
3
11
-29
-8
-25
30
0
0
0
-1
10
35
13
6
8
9
0
-86
11
0
-20
-49
65
58
-20
12
0
-75
30
58
0
-30
-7
-101
-4
5
0
85
-54
34
13
0
23
14
-14
-10
0
-62
-68
73
-54
-26
0
-42
46
-2
0
-20
-94
45
-12
-19
-9
0
-18
-7
0
-41
-82
-32
-35
-36
-60
-48
0
52
0
-24
50
56
30
94
60
17
39
-16
0
0
-19
65
-106
-4
21
72
41
5
0
4
0
-2
7
-38
107
8
15
40
0
39
98
0
-5
52
-8
68
2
4
0
49
1
46
0
6
-29
16
-8
24
0
58
0
50
10
0
17
-20
-44
8
0
-8
-53
-16
-48
-64
0
-12
-40
9
0
-81
-35
11
-2
-13
-5
0
-17
-5
0
-5
-48
4
-15
-47
-62
-133
0
56
0
-3
17
-19
-2
3
-39
46
90
86
0
0
-7
-18
44
-20
95
-56
30
25
0
0
0
3
4
-10
-7
-7
0
46
0
104
40
0
1
37
-8
-5
74
18
0
72
-20
-21
0
-38
15
-43
47
9
0
1
-29
56
9
0
29
-38
-9
9
0
16
25
0
-37
-43
0
64
-34
19
0
-57
33
27
-3
-32
-12
0
-57
9
0
-104
47
13
-13
-50
-17
-61
0
42
0
66
-32
-49
18
-13
29
1
-49
55
0
0
-17
-30
41
26
-16
31
13
19
0
10
0
-3
-1
-31
19
-6
-1
47
0
35
-81
0
44
82
-8
6
-9
9
0
-99
-103
-21
0
-14
12
65
-41
-10
0
-77
0
19
-1
0
11
-82
-66
2
0
-13
38
-39
-76
-72
0
75
-13
-13
0
-58
-19
12
2
-46
-17
0
7
16
0
33
-72
3
-21
-22
-1
66
0
22
0
0
-1
-14
14
41
109
-5
33
-39
0
0
10
-39
25
13
33
6
-3
2
0
0
0
0
5
1
-19
-7
0
57
0
-41
-94
0
-6
10
-21
-10
0
-23
0
-25
-5
-29
0
32
-63
-5
0
-22
0
-4
-58
-9
0
0
70
-11
10
44
0
9
10
-14
-9
9
0
-8
0
-28
0
17
49
5
4
-10
-12
0
-6
-12
0
-21
-5
-67
4
12
5
5
0
25
0
0
0
0
-9
0
10
0
0
10
0
0
0
0
-1
15
53
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-19
5
-2
0
-42
0
0
0
5
0
5
-45
4
0
-39
0
5
0
-23
44
0
2
0
0
-18
0
0
0
-5
42
-47
0
0
0
-2
0
0
0
27
-22
7
-11
0
0
39
0
0
0
-2
-18
53
-34
0
0
33
0
0
0
0
34
22
11
14
2
17
0
0
0
0
0
9
1
0
0
31
0
0
0
0
0
-16
34
2
0
-53
0
0
0
0
-3
-14
24
0
0
66
0
0
0
7
0
-71
-14
-1
0
46
0
0
0
-5
-21
0
65
0
0
-76
0
0
0
-2
5
-61
0
0
0
-23
0
0
0
6
48
33
-12
0
0
77
0
0
0
3
5
0
18
0
0
15
0
0
-3
27
42
-35
2
6
1
-41
0
0
0
9
4
5
3
0
0
-23
0
6
0
-14
-12
-28
-12
5
0
59
0
0
17
0
-14
-42
44
4
-23
29
0
3
4
-21
0
22
14
3
-6
117
0
-5
8
-58
46
0
-24
3
2
109
0
0
-3
39
30
41
0
4
0
22
0
2
-8
31
26
-49
42
0
0
36
0
0
3
60
5
-5
-70
-6
0
7
0
-9
18
56
-8
-61
33
41
4
-11
0
0
2
20
42
-8
20
-7
10
89
0
-23
0
18
-73
-9
-47
29
3
13
0
-7
43
0
-61
38
-63
13
-20
-49
0
-1
13
40
0
-20
47
25
-6
6
0
5
17
-7
27
0
16
-4
-15
77
0
0
-13
16
-42
18
0
-13
-4
6
0
5
-11
34
66
94
-35
0
-7
27
0
-1
6
-20
40
-27
7
-17
0
-20
0
-23
91
68
-33
-77
-42
-26
-24
41
0
0
0
116
49
36
-12
-6
25
48
0
-9
0
5
25
74
31
-37
33
35
0
12
-3
0
-13
-52
-20
-25
69
28
0
24
-34
-58
0
73
-5
9
42
30
0
8
-14
60
-26
0
-62
13
81
-8
0
0
-41
-16
18
-32
0
1
6
-1
0
-23
18
2
-8
-9
-36
0
20
4
0
-7
-2
-28
51
34
3
-2
0
36
0
20
100
-6
61
-42
42
-26
-6
44
0
0
-5
38
53
29
9
74
73
21
0
-81
0
-5
-1
36
70
-5
16
89
0
13
-6
0
30
16
37
31
20
7
0
-5
15
-62
0
60
25
5
139
57
0
44
-14
-27
50
0
33
41
5
-28
0
17
86
-9
-29
-44
0
-28
9
0
0
13
-8
-24
-70
-35
-11
0
-25
40
0
4
-4
-6
-26
-20
-10
10
0
43
0
62
-62
-95
18
26
54
38
59
35
0
0
2
-80
-38
4
43
60
-62
48
0
-5
0
-35
-15
93
59
66
10
71
0
20
-32
0
13
-10
-40
-5
-44
63
0
10
34
7
0
23
-19
4
-28
26
0
14
14
-4
-38
0
42
23
-26
40
0
1
5
-31
-52
2
0
-24
-52
-7
0
-3
35
20
-46
19
20
0
8
17
0
5
14
24
-56
-74
18
-1
0
23
0
-22
-96
-40
-75
55
39
-17
21
-12
0
0
16
-4
-41
65
35
-57
-44
31
0
-21
0
28
65
-63
-64
-46
-23
36
0
13
22
0
-48
-110
38
-14
51
92
0
-1
-8
57
0
-80
-35
21
-15
23
0
-5
5
66
-1
0
50
-31
-12
23
0
-46
-23
1
5
93
0
15
107
76
0
28
-13
2
-29
-6
35
0
-1
-6
0
0
0
-5
21
72
6
0
0
19
0
-12
-58
-65
-26
70
26
7
3
42
0
0
20
-64
-18
34
41
-47
-7
9
0
73
0
6
-8
16
13
9
-20
-27
0
0
0
0
67
60
40
-7
-1
-13
0
0
0
-2
0
46
70
-20
0
39
0
0
-5
1
33
0
5
-48
0
8
0
3
0
1
20
13
0
7
2
26
0
0
0
0
8
29
-41
0
0
17
0
0
1
0
1
16
50
0
0
27
0
0
0
-3
26
-2
-31
3
0
42
0
0
0
-3
20
5
58
0
0
-78
0
0
0
0
-12
-20
-18
0
0
2
0
0
0
0
2
32
0
0
0
-6
0
0
0
0
0
-4
-29
0
0
21
0
0
0
0
0
0
-7
0
0
18
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
-2
10
0
0
7
0
0
0
0
0
0
3
0
0
64
0
-1
0
-3
-13
33
-22
-30
-3
25
0
0
0
7
-29
21
35
-2
0
3
0
0
0
0
2
-30
7
0
0
20
0
-3
14
0
46
-11
5
-22
0
-1
0
7
-5
50
0
10
39
-6
0
-14
0
6
55
111
16
0
-9
17
0
-32
0
19
14
-63
-75
-81
0
1
0
36
0
22
76
-8
1
9
-65
0
0
-14
0
64
18
57
-52
-31
-19
0
0
-14
0
-3
41
24
49
95
51
-59
59
92
0
0
10
-19
-9
-33
8
13
-21
-21
0
0
0
1
5
-5
-6
-4
7
0
0
-24
-155
0
3
-41
3
-13
-3
-3
0
-10
47
4
0
-39
30
4
-42
15
0
0
61
91
23
0
-2
-102
-41
2
0
52
66
22
-36
-70
0
-22
20
27
0
37
-15
33
1
-10
-7
0
-14
3
0
17
-5
-10
2
-30
-38
18
0
142
0
20
22
-22
-13
22
5
1
-58
22
0
0
-9
31
5
13
-16
-31
4
32
0
0
0
12
14
12
2
-1
-18
10
0
-53
22
0
-20
4
-9
-13
5
-19
0
41
51
-55
0
-58
-25
-44
-10
7
0
38
14
28
6
0
0
-42
-22
-33
0
22
20
-44
5
-41
0
-136
-34
26
0
-27
-6
33
-18
-35
-36
0
-103
8
0
-19
-45
12
-22
-56
-43
-66
0
58
0
3
11
-13
66
26
20
-47
21
-13
0
0
-8
66
29
32
7
14
25
55
0
4
0
-1
-3
16
46
10
8
29
0
13
1
0
-80
-36
-74
12
-47
14
0
-10
-22
7
0
-14
-13
28
38
9
0
-66
-91
7
-8
0
-27
-29
-29
-5
0
-83
-17
-5
12
-87
0
-101
-55
18
0
-32
19
-2
4
-10
-21
0
-61
17
0
-56
-3
13
7
5
-50
5
0
48
0
-18
103
77
-10
10
-15
6
44
-8
0
0
25
4
-59
49
-6
-35
17
-35
0
0
0
2
25
7
-19
8
14
1
0
-31
-32
0
-64
17
-55
31
-3
-11
0
-50
-44
-2
0
-1
-68
-94
-26
6
0
-52
-30
14
12
0
-66
-68
-86
-10
0
-82
-110
13
4
-18
0
0
11
-9
0
-133
-41
6
0
-5
-15
0
-53
-4
0
-156
-57
2
-20
-10
-42
-15
0
-14
0
53
4
25
76
31
28
90
5
109
0
0
-24
37
-13
-32
151
-26
11
85
0
2
0
-2
3
4
-49
6
-6
-1
0
95
4
0
-30
-28
-56
22
-15
-8
0
-22
-92
18
0
-111
-92
26
-30
-11
0
10
32
-6
-1
0
-33
22
4
-14
0
45
-43
-11
-27
-37
0
-53
-39
-9
0
-32
6
-5
2
-4
11
0
-11
-15
0
-17
-19
-17
-3
-16
-15
-58
0
19
0
2
-6
1
7
-25
85
92
26
-54
0
0
29
4
52
2
43
49
-2
35
0
0
0
-2
-8
-29
61
-6
0
-8
0
20
68
0
-54
-84
26
8
27
-36
0
7
-3
8
0
-94
-79
6
36
12
0
-31
-27
17
19
0
-13
-57
-13
-27
0
52
-104
47
-8
-24
0
64
-14
-3
0
-31
-4
39
-5
-5
16
0
-57
-1
0
-77
-5
-27
-2
-3
-22
9
0
-16
0
0
-9
5
-59
-10
-5
10
-2
72
0
0
-2
-55
-17
11
73
20
-2
51
0
0
0
0
10
18
22
0
0
-8
0
-11
154
0
-7
-69
-30
-42
1
-9
0
26
93
61
0
-46
-49
4
0
24
0
35
-47
-6
8
0
-25
-2
-10
-10
0
-43
66
5
-43
-35
0
119
3
-8
0
35
8
16
-9
20
30
0
22
-14
0
-69
-14
-4
14
12
-7
-30
0
86
0
0
0
0
-4
-35
9
0
0
25
0
0
0
0
0
31
-9
0
0
-1
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
1
2
0
0
63
0
0
5
0
0
-4
-14
0
0
42
0
3
8
0
11
0
38
0
0
106
0
0
-1
-24
-72
10
0
0
0
56
0
0
-55
14
-17
34
38
0
0
-34
0
4
-4
-3
-32
-8
17
0
0
52
0
0
-8
17
52
3
-10
31
0
-27
0
0
0
32
-67
67
36
10
-7
94
0
-2
0
5
85
115
-6
0
1
-43
0
0
0
0
-20
-73
-52
-2
0
-95
0
-1
1
44
0
-54
-24
12
0
40
0
-1
2
18
13
0
4
5
0
-90
0
0
0
-9
-24
46
0
0
1
-44
0
0
0
0
10
42
-4
0
0
-20
0
0
0
2
8
10
-1
0
0
88
0
15
57
5
35
41
-4
-14
51
41
0
0
0
16
-6
23
66
9
-5
38
0
-2
0
19
-1
66
29
18
-5
46
0
5
24
0
-18
51
-10
3
7
60
0
-3
-34
21
0
-33
-5
-25
-57
39
0
-3
-48
-87
104
0
62
-18
-17
-6
0
-3
-4
16
-72
45
0
7
-24
-84
0
1
-4
53
4
-48
6
0
6
41
0
0
13
43
-53
-5
-8
0
0
6
0
1
-5
-31
-21
-11
45
10
38
61
0
0
7
-4
-22
64
25
13
-27
15
0
-18
0
4
111
70
4
44
41
4
0
13
-5
0
6
-152
19
5
-5
63
0
4
-21
-11
0
5
-5
-1
-9
22
0
9
5
8
-54
0
15
-50
24
66
0
4
-7
-12
23
-27
0
-20
25
88
0
-3
7
29
-76
68
47
0
-14
-22
0
-1
8
3
18
23
42
-19
0
-6
0
-10
53
-94
6
16
-2
41
13
85
0
0
15
15
47
11
50
17
-1
-31
0
-41
0
9
19
-32
-20
-3
-3
51
0
16
-30
0
-73
-48
-13
-15
-58
75
0
-2
-41
-16
0
40
32
84
13
33
0
-6
42
7
0
0
41
2
47
94
0
-8
7
57
-15
-11
0
5
-75
-22
0
-8
61
25
54
-79
-73
0
15
47
0
14
-3
-24
62
-23
-10
3
0
33
0
-4
22
49
-4
7
102
9
-1
34
0
0
-13
-57
-15
25
100
12
55
50
0
-25
0
-41
14
57
-2
-9
24
22
0
-5
41
0
12
-15
69
35
44
48
0
6
9
-18
0
4
-27
24
-5
-11
0
-4
-4
-9
8
0
18
21
84
61
0
-4
25
-59
69
-53
0
-25
-1
63
0
3
7
3
63
-30
44
0
-28
28
0
6
5
16
9
-4
-31
7
0
19
0
-24
-132
53
40
18
13
-14
-17
-43
0
0
23
-5
-11
-4
-65
16
49
51
0
-21
0
21
-46
-98
72
-3
0
86
0
24
19
0
70
14
2
0
6
33
0
15
41
-42
0
31
-33
-41
69
101
0
25
19
15
31
0
-15
13
-115
7
0
16
-2
44
68
4
0
13
66
37
0
79
8
-41
13
41
-17
0
-5
7
0
17
-25
-34
-35
18
-5
7
0
61
0
31
59
-84
-76
53
40
66
-32
10
0
0
16
-33
158
-46
-41
13
-32
6
0
108
0
-20
-74
5
48
-5
-14
-13
0
-4
-20
0
27
-10
14
0
35
49
0
6
4
42
0
33
50
8
-5
37
0
8
-1
-3
-18
0
38
-9
33
27
0
-41
0
-1
-18
26
0
-4
44
132
0
3
-5
-23
-28
48
-35
0
0
49
0
-4
5
-9
8
0
13
0
0
67
0
-23
-53
57
-17
-22
20
-58
31
122
0
0
-2
30
-49
13
94
-52
-25
60
0
41
0
-4
-101
-2
-22
-3
-5
59
0
8
-2
0
-3
27
71
-6
7
-14
0
0
-2
13
0
-4
-17
-9
0
62
0
0
0
12
-12
0
42
-3
0
9
0
0
0
0
-1
21
0
0
0
20
0
8
-1
-2
-22
-37
14
0
0
40
0
0
0
0
-1
-2
28
0
0
-11
0
0
0
-20
-39
51
51
0
0
122
0
0
0
-5
10
26
-29
0
0
-10
0
0
0
0
-16
-35
44
0
0
77
0
0
0
0
0
52
-26
0
0
17
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
-8
0
0
6
0
0
0
0
0
-1
0
0
0
50
0
0
0
0
0
0
-8
0
0
18
0
0
0
0
0
-3
0
0
0
102
0
0
0
0
-7
21
53
-22
2
-6
0
0
5
0
0
-2
6
-3
0
-1
0
0
0
-2
2
6
-5
0
0
-94
0
0
70
0
-61
-60
75
-2
-9
-16
0
0
45
94
0
-46
-13
-7
-6
5
0
5
105
127
-24
0
-1
9
-8
36
0
1
5
94
42
-24
0
-17
-9
7
0
18
12
71
2
-42
-10
0
-42
3
0
-4
-44
44
7
-24
-66
81
0
11
0
39
90
65
155
39
100
65
27
40
0
0
-3
28
67
56
-100
11
31
59
0
-1
0
58
5
19
24
0
-17
-39
0
-48
190
0
-104
-24
-46
-91
29
-9
0
52
40
114
0
-59
-6
27
26
8
0
52
-37
141
15
0
-24
-45
21
14
0
-57
44
44
-6
-37
0
-55
-107
-7
0
-13
95
59
10
-43
-42
0
-49
-1
0
-37
37
56
14
-30
-28
-89
0
46
0
-31
37
28
-101
38
63
-4
-40
6
0
0
14
72
-22
-33
30
7
-18
165
0
0
0
38
8
87
59
28
9
7
0
-51
-17
0
-108
-40
-42
92
-21
9
0
-33
7
15
0
-112
44
-56
66
-5
0
29
46
29
-39
0
-6
-18
-39
41
0
25
-3
58
-54
-26
0
-53
10
-7
0
83
8
2
-7
-20
-8
0
-22
-21
0
-22
31
14
-45
-21
-56
-34
0
38
0
32
36
67
31
-4
80
44
-15
42
0
0
69
-28
-11
6
73
-71
-58
66
0
1
0
-5
8
99
52
69
8
62
0
21
-6
0
84
77
5
-29
14
1
0
-24
-7
-5
0
2
1
61
-61
-10
0
50
-53
14
-26
0
26
57
45
-2
0
2
75
-51
-2
11
0
-42
46
-14
0
-37
-16
15
-41
-38
-32
0
-4
-10
0
-12
13
-37
-52
10
2
-46
0
45
0
-43
29
90
67
35
32
69
12
14
0
0
-34
7
-98
-16
12
96
7
-67
0
20
0
-14
17
-49
65
-52
19
32
0
18
-22
0
62
85
72
115
-40
-8
0
47
-51
-1
0
-26
-7
-63
-47
-11
0
-123
-53
-48
-13
0
58
40
-27
-1
0
34
4
-41
-47
-42
0
43
-20
-3
0
-45
-61
-13
-46
2
18
0
44
4
0
16
-37
-87
-29
29
44
42
0
13
0
37
-76
-41
21
20
15
-23
16
28
0
0
-85
-33
13
39
37
1
9
-83
0
0
0
16
-7
-113
-98
-46
-6
50
0
33
-41
0
12
-41
-1
-63
45
-2
0
-23
-102
0
0
42
-102
24
-22
12
0
-60
31
-35
36
0
64
-92
9
15
0
-4
-17
-85
3
74
0
-87
66
-27
0
-80
-65
-86
-26
56
16
0
1
12
0
-28
-71
-92
-47
24
47
-59
0
-23
0
13
-54
-121
23
-8
5
17
10
19
0
0
7
-64
-28
47
24
36
24
-87
0
5
0
-2
-7
-41
-57
8
6
27
0
-12
-52
0
-12
-38
17
-25
15
24
0
-77
31
-68
0
-17
39
-52
49
41
0
-55
-102
-45
22
0
3
-56
-31
11
0
-10
-130
-39
-7
76
0
104
39
-11
0
-104
-124
-90
-23
19
-7
0
-18
-37
0
-32
41
15
-5
5
-8
-9
0
-6
0
-1
-4
-40
-109
23
-136
24
92
36
0
0
55
-19
-10
-16
5
43
9
-47
0
0
0
0
-2
-71
-73
-5
0
44
0
-27
-45
0
13
-21
-20
0
0
63
0
-5
-16
-26
0
21
12
-8
0
38
0
-21
-13
-62
63
0
72
37
7
-114
0
-42
-25
-74
-13
23
0
23
0
-69
0
-43
-88
-123
-9
45
37
0
-27
12
0
15
-14
-11
37
27
-9
-101
0
-43
0
0
0
0
-6
-1
-19
0
0
3
0
0
0
0
14
11
36
-2
0
-4
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
-27
2
-6
0
-53
0
0
0
-10
0
4
-14
5
0
4
0
2
0
-22
84
0
-43
0
0
-41
0
0
0
-5
83
14
0
0
0
-39
0
0
0
-41
-24
32
2
0
0
137
0
0
0
-1
13
-28
-31
0
0
1
0
3
13
1
48
33
31
63
26
65
0
0
6
-6
3
59
37
76
0
-41
0
0
0
-8
-5
20
0
0
-6
-66
0
0
0
0
-4
50
-53
43
-4
182
0
1
0
51
0
58
38
-4
0
152
0
0
0
53
1
0
29
0
-5
-4
0
0
0
-49
-31
43
0
3
0
73
0
0
0
29
0
-42
-4
0
0
61
0
0
0
16
-7
-32
9
0
0
2
0
-8
-8
93
14
-43
68
-1
111
12
0
0
0
29
54
103
22
-8
-25
-13
0
-5
0
42
-59
-72
-107
-49
-41
51
0
-1
57
0
-33
-48
83
8
-7
55
0
-2
41
58
0
-80
24
38
-6
67
0
-2
48
94
23
0
5
17
-23
74
0
0
3
33
43
-44
0
14
19
6
0
0
43
25
21
22
-26
0
-2
12
0
-1
13
14
-39
57
52
-13
0
9
0
-36
-27
12
-58
-1
-47
38
-47
52
0
0
23
21
13
4
29
-39
-25
43
0
52
0
49
-79
33
-4
-35
-41
51
0
-29
19
0
-47
8
19
-42
-17
54
0
3
41
-45
0
47
7
60
5
48
0
21
-17
90
-21
0
24
79
-15
-59
0
9
23
52
40
61
0
6
18
41
0
5
3
-30
-48
11
14
0
76
84
0
42
1
4
8
25
-110
10
0
28
0
-57
94
-26
-34
-3
16
53
-13
31
0
0
-41
81
-3
-45
13
76
-58
48
0
-1
0
-21
-44
54
70
24
103
53
0
6
16
0
-30
-50
-7
72
51
74
0
38
-105
23
0
28
35
38
88
25
0
63
7
-20
62
0
65
2
79
44
0
6
12
-28
47
-7
0
-59
20
93
0
-19
-1
36
-82
6
33
0
-20
101
0
-19
-14
30
-73
-125
-45
-22
0
54
0
-21
-34
35
2
20
17
38
-24
23
0
0
-39
-14
56
51
31
-6
45
17
0
-39
0
-34
36
44
10
0
46
107
0
61
-2
0
35
13
33
-49
16
46
0
-69
43
60
0
-4
32
-18
9
39
0
5
9
-25
10
0
-42
0
114
33
0
-28
49
-49
4
6
0
66
9
29
0
12
-31
-24
-49
-50
26
0
-55
-4
0
69
4
-54
-29
-25
-8
-9
0
28
0
36
34
-13
2
26
15
-50
38
10
0
0
-57
48
36
27
1
-51
71
27
0
-1
0
-88
0
6
-9
16
68
49
0
-84
-27
0
-79
42
12
-46
-78
26
0
17
18
-30
0
76
58
-31
-43
-5
0
-5
6
-57
-51
0
28
-4
-18
-5
0
7
1
37
-91
17
0
-81
-98
32
0
-2
2
42
144
51
-46
0
40
40
0
-13
13
6
18
41
51
-1
0
-12
0
49
-91
-5
54
-6
16
-83
-114
21
0
0
-11
-55
12
-2
29
-59
5
-34
0
-28
0
-14
-16
-17
-31
22
1
23
0
-13
46
0
-31
-35
10
-52
1
-16
0
-13
-18
-3
0
-82
48
22
43
12
0
0
1
-43
80
0
0
19
-20
-38
0
-34
-5
5
-48
20
0
8
-22
44
0
-10
-2
-36
56
40
50
0
1
85
0
-2
8
-18
83
40
5
0
0
-25
0
-11
-147
45
13
16
8
-84
-31
-12
0
0
24
-127
-32
69
31
-42
46
-10
0
4
0
-6
-55
48
-12
7
-21
-54
0
0
-1
0
94
25
31
26
2
-37
0
0
1
-54
0
-73
-76
-28
-8
16
0
0
-3
0
26
0
-14
-58
-4
22
0
3
0
-1
23
-18
0
4
9
21
0
0
0
-1
-43
89
-31
0
0
-50
0
0
-2
-2
5
-14
31
0
0
-9
0
0
0
-124
36
32
15
10
0
-72
0
0
0
-15
-41
-7
24
1
0
-98
0
0
0
0
13
-80
-13
0
0
-23
0
0
0
0
21
14
2
3
0
-37
0
0
0
0
0
-15
-109
-1
0
17
0
0
0
0
-1
0
-8
0
0
62
0
0
0
0
0
-3
0
0
0
19
0
0
0
0
0
-12
18
0
0
-20
0
0
0
0
0
2
-5
0
0
77
0
-5
-50
-117
18
62
20
25
6
42
0
0
14
41
89
76
6
-10
-8
-36
0
0
0
-1
96
-13
3
-12
0
2
0
-1
77
0
-51
123
-11
-6
4
70
0
-1
-59
-2
0
20
20
-20
-2
-29
0
87
13
-15
43
0
-1
24
0
-99
0
52
9
-86
-23
-47
0
1
0
4
0
50
19
-6
32
12
28
0
1
-37
0
24
-25
39
-9
12
-47
0
0
88
0
0
-23
27
31
-1
88
44
44
31
0
0
44
21
-49
82
54
74
-42
-61
0
1
0
28
86
-29
7
-40
-3
-2
0
4
26
0
-33
-50
-11
12
0
37
0
-5
20
119
0
-18
41
-35
-47
39
0
-29
91
22
83
0
-22
-23
-63
-60
0
37
43
2
-57
-64
0
-69
71
-8
0
-71
47
-24
18
-14
-19
0
-34
-9
0
8
-47
-9
-20
-36
-17
67
0
20
0
-56
49
58
-30
82
38
31
27
48
0
0
27
-22
-44
18
-6
-42
-1
-45
0
0
0
58
4
-35
-45
-71
-23
11
0
99
-38
0
65
-88
32
-42
67
-29
0
85
30
-14
0
-65
-24
-4
-59
33
0
28
68
48
21
0
54
-34
30
-10
0
-87
-106
52
-35
0
0
-58
-30
2
0
-89
-54
-6
-29
4
0
0
-49
-1
0
-10
-9
0
0
-17
-33
-58
0
-6
0
31
128
-17
49
3
49
21
46
45
0
0
-58
53
58
10
-22
93
3
44
0
17
0
-57
-14
-30
41
42
42
-18
0
-2
65
0
-68
14
-14
15
-52
-3
0
-72
26
-19
0
13
12
81
-5
17
0
5
-140
-26
40
0
65
34
-12
42
0
-43
4
54
48
65
0
-2
-84
-25
0
-41
4
-6
-47
-37
6
0
12
5
0
-13
27
-18
-1
13
13
-19
0
16
0
74
87
52
-44
3
-22
-27
119
-14
0
0
-73
6
-86
-25
69
-72
59
13
0
12
0
50
8
11
-30
47
31
10
0
71
5
0
36
-53
113
15
-59
4
0
5
-26
0
0
-50
-13
35
17
-4
0
-41
17
0
5
0
16
56
40
19
0
-82
-9
30
20
19
0
-90
34
-11
0
-44
-1
-13
-15
-22
10
0
12
0
0
-50
-41
19
25
5
-59
-8
0
17
0
26
-62
5
132
-18
10
54
-40
46
0
0
-31
21
40
-11
31
-71
91
32
0
-5
0
4
-58
-75
-31
19
-2
16
0
-49
-19
0
-12
-29
90
-14
22
17
0
16
-63
-18
0
-23
-42
-52
26
8
0
-81
24
15
17
0
-3
-34
1
20
0
23
-13
29
51
31
0
37
-27
-12
0
-44
3
33
0
-18
-4
0
33
12
0
-47
-44
37
9
7
35
-65
0
51
0
3
-25
58
91
27
-10
11
9
34
0
0
67
-56
-44
-34
16
32
7
10
0
-3
0
-8
-25
-34
60
8
1
-8
0
-97
-39
0
14
13
-3
-52
3
-6
0
-53
-33
36
0
-21
-74
-39
16
4
0
-89
-39
16
-23
0
-13
-9
30
26
0
-33
-10
9
-46
-11
0
51
58
-4
0
-34
-6
24
-16
-11
-15
0
-43
10
0
-84
21
57
-32
23
9
-60
0
27
0
0
-7
-18
-27
8
7
-22
13
22
0
0
5
-31
-75
40
5
93
-3
18
0
0
0
0
30
97
-48
8
0
30
0
-59
60
0
-27
-3
-76
4
0
-26
0
40
46
-32
0
-86
-14
-9
0
-24
0
-34
-20
44
16
0
3
-42
-24
-6
0
8
9
-57
-48
-39
0
64
9
-6
0
103
-42
12
-20
-46
35
0
-35
2
0
-10
-30
-25
11
11
23
-24
0
-7
0
0
0
0
-6
17
-1
1
0
-49
0
0
-1
0
43
-68
45
0
0
53
0
0
0
0
0
0
-6
0
0
4
0
-1
0
0
0
10
7
0
0
-29
0
0
0
-9
0
8
-20
0
0
33
0
2
0
-51
-26
0
13
0
0
-14
0
0
-1
-34
1
36
0
0
0
37
0
0
-69
97
-37
-12
32
0
0
35
0
6
3
2
21
-53
51
0
0
68
0
6
-48
77
32
22
15
11
-14
3
0
0
-22
32
-5
61
90
75
-76
15
0
-5
0
-14
50
60
7
-6
-4
34
0
0
-7
0
48
1
27
61
8
47
0
-24
37
58
0
47
9
117
-3
-25
0
-1
-7
4
81
0
8
32
6
-89
0
2
-1
-4
-75
1
0
8
5
-53
0
0
0
21
35
-25
-14
0
0
26
0
0
2
5
7
-8
-2
0
0
17
0
7
31
0
37
-3
16
-50
56
12
0
0
13
-15
48
65
50
-49
5
44
0
15
0
-20
52
19
55
-49
2
37
0
60
51
0
14
32
10
10
16
47
0
15
-45
47
0
8
15
-17
70
21
0
5
-9
12
82
0
39
-12
38
33
0
-31
7
-36
-51
43
0
-108
-23
4
0
-2
8
11
66
41
15
0
-5
51
0
-1
-3
51
15
69
-4
37
0
39
0
8
-69
28
17
26
14
40
19
41
0
0
49
0
35
74
14
3
-8
50
0
-74
0
18
-12
21
3
126
25
25
0
-24
91
0
-85
-16
21
52
-18
91
0
-15
-53
77
0
6
-6
-52
-10
103
0
7
-48
45
-4
0
86
-62
10
24
0
22
4
12
16
-34
0
-22
-15
55
0
14
-22
41
5
48
105
0
3
14
0
18
8
9
-66
-69
-23
-9
0
-2
0
-56
-9
2
3
39
39
69
-8
24
0
0
-41
-38
80
37
76
43
42
21
0
22
0
-25
-97
58
22
-44
28
-31
0
12
36
0
-30
-34
17
35
-59
79
0
22
-69
29
0
10
51
94
-89
39
0
8
10
99
43
0
104
-35
69
30
0
-7
0
9
113
-1
0
34
-74
12
0
0
5
-63
0
-11
3
0
22
33
0
47
21
-54
77
54
-54
-8
0
25
0
-69
14
8
14
11
8
3
-17
37
0
0
-78
49
4
18
16
20
15
46
0
-57
0
-43
2
3
0
-34
29
44
0
-16
-29
0
-15
5
-36
-72
5
58
0
-1
47
-4
0
-29
38
-78
15
86
0
-23
22
-32
13
0
68
150
59
58
0
-1
60
96
72
-35
0
3
5
29
0
-3
13
-56
-20
-14
22
0
12
-14
0
49
-4
-31
33
-10
20
-31
0
3
0
3
-23
-50
-9
6
-17
52
-16
20
0
0
7
-14
0
-15
26
-51
7
4
0
66
0
-49
-24
0
7
43
62
5
0
-30
-50
0
24
-19
-23
-11
41
32
0
-27
43
-48
0
-13
-47
-37
-41
4
0
15
69
20
33
0
-85
-5
-67
62
0
7
5
-5
-26
12
0
0
104
102
0
25
7
47
58
-19
-84
0
26
21
0
-1
7
-75
9
22
39
31
0
5
0
67
-6
-77
14
31
6
15
-57
52
0
0
31
-75
29
69
24
90
58
29
0
-8
0
34
-55
24
-6
34
-16
3
0
-8
-25
0
-2
-46
-42
-13
13
35
0
21
12
-17
0
-38
-46
-59
132
64
0
0
-3
-11
-46
0
-10
-41
-30
71
0
-13
0
-19
-77
40
0
28
-23
44
0
-7
17
1
4
-63
1
0
2
23
0
-12
-13
66
-31
-8
2
-1
0
-17
0
-58
15
2
26
-6
3
-33
86
14
0
0
-2
7
16
-15
-32
-15
-26
33
0
13
0
9
8
-2
13
-30
-4
69
0
-5
-4
0
-6
39
26
8
-16
67
0
0
-7
-52
0
-7
-60
-5
-3
-50
0
0
0
-8
-21
0
-46
-6
0
-8
0
0
0
-2
6
14
0
-8
0
90
0
-1
-3
-32
-33
21
11
0
-8
84
0
0
0
-3
-1
-4
16
0
0
28
0
0
0
17
-15
9
10
-3
0
21
0
0
0
-24
46
-11
-21
0
0
14
0
0
0
0
-41
18
-56
0
0
75
0
0
0
0
-2
-5
15
0
0
-46
0
0
0
0
0
3
-10
0
0
-2
0
0
0
0
0
0
-27
0
0
83
0
0
0
0
0
-10
0
0
0
6
0
0
0
0
0
0
17
0
0
10
0
0
0
0
0
-7
15
0
0
33
0
0
0
0
5
26
51
9
-11
1
0
0
5
0
0
-2
70
-3
0
78
0
0
0
-2
2
5
-6
0
0
37
0
0
31
0
-68
77
-84
0
-9
4
0
0
15
61
0
-19
27
-4
-3
78
0
2
27
39
-50
0
28
-4
-9
46
0
1
21
26
-18
-36
0
31
0
-14
0
23
-29
90
-20
-34
35
0
-33
37
0
-5
0
130
-42
-31
-2
-32
0
32
0
39
89
58
50
37
26
49
60
8
0
0
-32
14
129
55
-65
-5
37
6
0
-1
0
13
6
64
34
-1
-13
6
0
-43
69
0
10
-102
56
-26
21
27
0
8
75
10
0
-11
4
31
-17
58
0
53
57
91
-64
0
-3
17
-31
27
0
-44
41
71
-67
-38
0
-33
-84
-11
0
-19
11
128
-57
64
68
0
38
25
0
-25
32
72
-40
54
-43
-5
0
21
0
-33
76
29
40
125
9
23
-40
16
0
0
29
126
-27
63
-47
-8
-37
-21
0
0
0
128
58
100
81
12
29
5
0
-13
-28
0
-31
89
28
75
9
31
0
-6
-74
-26
0
11
-6
-19
21
40
0
9
-43
72
7
0
32
-60
65
52
0
1
-35
-70
-25
48
0
-30
-35
18
0
-10
17
32
23
40
33
0
22
12
0
-47
11
-28
-20
-6
-1
18
0
63
0
0
-20
13
39
32
56
38
53
41
0
0
78
-33
25
-13
-5
-48
36
-33
0
1
0
-14
2
24
38
79
5
55
0
34
-27
0
129
-43
101
-69
-16
-25
0
-25
-65
-1
0
7
-5
63
-17
47
0
21
-50
-105
-23
0
54
35
5
39
0
17
0
-57
-17
-93
0
-10
5
2
0
9
13
6
37
18
10
0
18
-31
0
55
-5
-19
7
28
28
-2
0
46
0
16
-8
75
-10
3
-5
17
8
27
0
0
-51
7
-74
-36
26
19
49
-25
0
19
0
-12
10
-34
-31
-47
-6
-44
0
29
-41
0
-6
-63
65
49
-28
-52
0
-6
22
-69
0
-12
25
-103
-8
-57
0
-58
-22
-31
92
0
-55
1
-47
19
0
49
31
-33
-33
-41
0
-32
67
-3
0
5
10
-53
27
58
-29
0
-58
-34
0
-13
-42
-94
51
15
31
-10
0
-3
0
10
-95
-57
-2
-69
44
35
-31
21
0
0
-66
-79
-86
-41
14
66
24
-23
0
0
0
13
-3
-114
-26
-37
-5
-27
0
33
-35
0
-20
37
-49
-63
29
-13
0
-29
-27
51
0
-38
-77
31
-20
10
0
-23
41
-6
48
0
13
2
4
-46
0
10
-32
5
8
62
0
-80
-12
25
0
-52
-19
-78
-35
44
12
0
-5
-11
0
-53
-28
-74
27
-2
94
-6
0
-78
0
-6
-66
-98
-13
-5
-6
-35
26
2
0
0
19
-45
-36
30
50
-43
-66
37
0
3
0
-2
-19
-33
-81
5
6
14
0
-41
-20
0
-16
-21
-25
-1
-18
-1
0
-14
34
-51
0
-27
31
-24
42
-33
0
-42
-46
-74
-93
0
-52
-9
-30
-57
0
-7
-41
28
62
97
0
42
43
-76
0
40
-8
-89
-44
30
-3
0
7
-24
0
28
11
-88
26
-22
-21
-8
0
-39
0
-1
-4
-27
-54
-59
-130
-8
39
30
0
0
10
15
22
-60
-1
84
-6
13
0
0
0
0
-2
-49
-43
-7
0
-1
0
-20
-19
0
12
26
-105
-1
0
21
0
-5
-4
17
0
-2
35
-8
0
-31
0
-25
-17
-72
66
0
56
-10
7
-48
0
-7
-46
-36
22
45
0
20
0
-33
0
-37
-67
-116
11
42
-1
0
-1
-19
0
8
-19
-35
-23
102
13
-44
0
-54
0
0
0
0
-7
5
-59
0
0
42
0
0
0
0
20
-9
-16
-2
0
-4
0
0
0
0
0
-2
0
0
0
-13
0
0
0
0
0
-19
12
-6
0
-41
0
0
0
-5
0
2
-24
5
0
-13
0
2
0
2
8
0
-31
0
0
-22
0
0
0
-5
53
36
0
0
0
10
0
0
0
-17
0
-24
31
0
0
94
0
0
0
-1
33
-22
-83
0
0
23
0
1
14
-18
52
-54
3
28
49
61
0
0
5
-7
3
30
50
52
5
52
0
0
0
-7
18
22
-36
-3
-20
16
0
0
0
0
13
-52
-53
28
-7
84
0
1
0
30
0
139
31
-6
0
141
0
0
0
37
-14
0
73
0
-5
86
0
0
0
-43
-15
12
0
3
0
68
0
0
0
4
9
-43
-19
0
0
59
0
0
0
9
13
6
-5
0
0
7
0
-10
30
-11
18
79
76
-33
25
17
0
0
0
13
93
4
5
4
-20
10
0
-24
0
76
0
-11
39
-5
-42
57
0
0
33
0
-12
109
146
23
-22
95
0
-2
33
38
0
-13
21
8
47
100
0
-1
48
56
55
0
22
5
-22
52
0
0
-5
53
-28
-87
0
22
19
48
0
-1
43
44
-20
12
-30
0
-4
4
0
-1
15
32
-9
-26
38
-2
0
8
0
-17
-20
18
-8
-35
29
-31
-69
31
0
0
69
-37
62
14
76
12
-72
42
0
50
0
52
58
70
4
-50
-3
37
0
-13
19
0
-41
36
35
32
48
107
0
2
9
-54
0
18
90
31
-35
-17
0
-5
-37
70
-5
0
5
97
-13
8
0
8
0
55
47
36
0
5
18
-49
0
-1
9
-18
-75
143
-6
0
25
25
0
24
1
-4
-8
51
-101
-25
0
34
0
-17
8
-3
18
19
32
-40
39
1
0
0
2
36
-18
39
44
41
33
17
0
21
0
-7
93
37
78
108
41
97
0
4
-3
0
-51
15
-78
-45
28
-22
0
30
-66
56
0
6
-17
-13
31
79
0
81
29
-18
6
0
-27
37
34
1
0
5
2
-36
25
61
0
-46
45
54
0
-10
-18
31
-37
7
81
0
-8
-4
0
-1
-7
-6
-26
-39
20
-17
0
27
0
14
-120
28
72
4
8
2
-6
24
0
0
-31
74
-37
-2
46
-47
65
50
0
0
0
-60
-52
33
21
7
7
59
0
20
12
0
24
-32
15
-70
25
-39
0
-46
8
-5
0
-32
-20
71
9
49
0
-22
5
-44
-24
0
23
-17
55
44
0
-29
31
-9
-60
81
0
41
10
89
0
13
-21
-46
9
-27
5
0
18
-38
0
-2
-9
-9
8
-43
-15
-1
0
-6
0
-5
29
-26
44
-15
32
4
48
-29
0
0
-66
52
-16
-34
16
-67
-7
-32
0
47
0
-74
-47
-24
0
-8
-20
34
0
-59
-9
0
-8
-20
12
-3
-45
20
0
18
10
-41
0
-4
24
1
-49
19
0
-5
-12
2
-53
0
4
-14
-15
81
0
8
7
22
-33
23
0
-57
-23
70
0
-2
2
18
7
13
-44
0
35
47
0
-8
1
10
45
7
-15
-1
0
43
0
41
-37
-13
26
58
2
30
-46
3
0
0
-58
-76
-106
78
-109
-50
0
-2
0
-85
0
-27
-94
-6
-65
-36
76
30
0
39
0
0
46
-60
2
29
-56
40
0
16
6
-23
0
22
42
14
14
-56
0
0
1
-84
77
0
-16
-34
16
-101
0
-13
1
-3
-21
-47
0
-3
-16
-8
0
9
-2
-10
56
-30
41
0
0
107
0
-2
8
-25
14
25
15
0
0
-39
0
-6
-66
146
-7
-27
-17
20
-48
-21
0
0
22
-80
135
-44
31
47
51
-63
0
-42
0
46
-37
23
-32
5
-10
-86
0
0
-1
0
31
-31
49
-22
2
-80
0
0
0
-43
0
-55
-15
-31
-2
-23
0
0
-3
0
-5
0
-34
-24
-3
-38
0
3
0
0
16
-6
0
-2
9
-24
0
0
0
0
-29
52
4
0
0
9
0
0
-2
-2
5
14
13
0
0
19
0
0
0
-113
-41
29
-17
17
0
-15
0
0
0
-15
-48
-33
-40
3
0
-40
0
0
0
0
71
-75
-31
0
0
-12
0
0
0
0
14
-58
0
3
0
-46
0
0
0
0
0
-8
-78
-1
0
23
0
0
0
0
-1
0
10
0
0
38
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
-12
20
0
0
-5
0
0
0
0
0
2
-3
0
0
72
0
-3
-52
-24
45
61
15
14
-55
47
0
0
-5
-3
11
-49
37
23
-16
48
0
0
0
-4
132
-19
20
-13
0
37
0
-1
23
0
-25
1
64
0
4
-13
0
0
-60
84
0
-27
23
-10
-2
132
0
55
-22
19
-3
0
42
-8
0
5
0
41
-29
-41
18
-49
0
1
0
50
0
6
-9
4
-13
15
-33
0
1
-24
0
-5
44
-65
-7
-56
-41
0
0
31
0
-2
11
11
-43
20
45
41
46
45
0
0
-17
73
-22
13
10
10
71
78
0
1
0
34
51
8
69
-31
7
-4
0
-33
-5
0
-33
-34
-46
4
12
2
0
6
58
93
0
-58
-22
-150
-18
55
0
-41
45
80
5
0
-47
46
16
-6
0
-48
-29
-53
-30
27
0
-7
98
-7
0
-54
26
50
-75
-1
47
0
40
10
0
92
-50
12
25
-9
38
-48
0
23
0
-42
26
-6
-5
-10
18
60
58
-22
0
0
67
-34
70
70
-26
-2
22
-15
0
0
0
6
-13
-21
-57
-54
-25
-48
0
139
-27
0
-24
93
27
-13
19
30
0
29
-3
36
0
47
22
50
-28
46
0
-20
-5
37
-11
0
28
-23
4
38
0
1
-67
15
80
-44
0
-25
-30
-7
0
-29
22
-9
-35
17
23
0
-8
-8
0
-22
-106
-3
-6
45
104
-13
0
58
0
-2
1
86
47
15
-16
-15
7
34
0
0
19
44
-19
11
-13
-12
-58
7
0
16
0
-7
-5
-52
-31
53
42
10
0
-20
13
0
-25
-44
58
12
-54
44
0
-95
-19
-61
0
-55
51
68
-7
-44
0
-13
75
-39
55
0
5
0
-3
-5
0
-4
5
19
-40
118
0
-27
-33
14
0
64
-20
50
58
43
15
0
20
-58
0
-5
-50
40
1
26
57
36
0
18
0
49
32
-8
24
69
1
-23
24
0
0
0
-86
-7
0
37
-57
-97
27
8
0
9
0
40
-24
27
-50
9
30
28
0
45
-11
0
47
-23
26
-49
10
-41
0
-16
20
-20
0
-27
-15
-4
-25
-16
0
56
-46
-49
-18
0
85
0
53
24
0
-15
-52
13
31
10
0
-58
-60
4
0
57
-44
-19
32
-13
-8
0
-39
48
0
-26
-13
-2
-40
-27
-70
35
0
17
0
42
-34
-42
-9
-39
51
-56
-17
18
0
0
-57
29
-27
-11
53
-9
35
-13
0
0
0
5
-59
-76
68
18
1
41
0
-48
26
0
-23
67
65
-34
5
20
0
13
10
-2
0
17
-28
-14
52
16
0
-45
-12
8
46
0
73
-28
-23
43
0
48
2
63
-63
25
0
63
-16
-5
0
-60
3
-21
-36
-14
63
0
-5
40
0
22
-3
-54
-14
22
8
3
0
19
0
1
-24
14
8
11
5
46
11
49
0
0
52
-25
-23
47
5
49
-38
57
0
-2
0
-8
-25
8
63
8
1
-1
0
-55
-5
0
110
-28
-78
-37
-35
19
0
-32
-9
-190
0
57
25
-24
6
-43
0
-77
-37
-51
-59
0
-102
41
-7
-7
0
-53
51
66
-46
-27
0
58
53
-20
0
19
54
2
-16
-29
41
0
24
21
0
-92
65
-58
6
23
-23
-43
0
16
0
0
-8
-31
-38
-25
-30
-23
22
7
0
0
2
-25
-96
-46
8
58
-3
-21
0
0
0
0
27
47
-48
8
0
11
0
-28
-5
0
-20
-10
-62
2
0
-10
0
42
-1
76
0
-47
-44
4
0
58
0
-27
-14
-28
23
0
-52
-14
-19
-64
0
24
31
-133
2
5
0
-18
5
-55
0
-52
-48
-7
-19
-16
67
0
-70
3
0
-13
0
32
53
-15
-5
-20
0
-76
0
0
0
0
-6
47
-7
1
0
-25
0
0
-1
0
43
-42
42
0
0
13
0
0
0
0
0
0
-4
0
0
21
0
-1
0
0
0
14
4
0
0
-59
0
0
0
-3
0
-5
-18
0
0
-5
0
2
0
-91
-6
0
23
0
0
-1
0
0
-1
-14
-31
-29
0
0
0
37
0
0
-52
20
1
15
2
0
0
23
0
6
0
9
-9
9
-57
0
0
29
0
7
-60
-45
60
-8
11
-14
-41
67
0
0
-21
23
96
47
75
63
-70
-38
0
-10
0
0
23
5
-20
31
0
13
0
0
-12
0
99
-42
-12
134
9
84
0
22
43
27
0
40
4
72
-3
65
0
-4
6
37
17
0
13
46
13
-27
0
2
-1
4
-18
-57
0
8
5
-28
0
0
0
7
5
-32
-6
0
0
31
0
0
2
5
25
-23
2
0
0
60
0
-7
-58
-1
6
17
4
-29
1
56
0
0
-19
63
23
25
-6
-16
12
28
0
-10
0
-76
-28
46
7
-7
-27
33
0
50
87
0
-49
-32
48
-18
-50
65
0
-1
-50
21
0
21
93
30
104
174
0
13
13
64
3
0
14
-14
11
48
0
-16
17
-24
-44
-2
0
-46
21
2
0
-6
10
37
47
13
-2
0
-6
59
0
0
2
17
54
-41
4
22
0
43
0
16
41
-6
40
47
64
90
-33
21
0
0
97
-13
28
79
25
-17
-13
26
0
-100
0
-2
69
-26
60
123
-13
44
0
-19
58
0
39
39
67
-55
12
59
0
-6
-29
-9
0
-14
-46
-36
-4
75
0
0
-21
-8
6
0
58
3
35
82
0
17
-2
-43
40
28
0
2
0
59
0
14
-5
5
23
25
-49
0
21
-26
0
15
7
49
5
-8
-32
-19
0
50
0
-74
-40
6
17
48
47
-56
57
13
0
0
5
12
28
24
-41
-103
43
59
0
75
0
-34
-76
31
33
-28
18
66
0
-5
-16
0
-37
56
80
25
-18
23
0
10
-43
10
0
-53
6
119
-1
64
0
-3
-3
28
21
0
128
-43
-59
35
0
-8
-9
-2
102
29
0
28
5
108
0
0
-4
-84
-3
48
8
0
15
83
0
27
3
-30
5
7
-59
6
0
4
0
-9
-3
-32
7
97
-5
-22
51
58
0
0
-3
-8
-6
56
26
47
52
27
0
2
0
20
-55
62
55
2
68
74
0
-3
-35
0
47
-59
-59
-57
84
58
0
2
27
-5
0
5
-8
-118
-66
-7
0
-8
17
-15
-58
0
24
58
10
149
0
0
30
77
-46
-12
0
-50
-20
38
0
-2
-13
2
-28
38
14
0
37
-5
0
35
3
-26
51
41
-8
-25
0
-2
0
49
40
-29
-17
-85
32
-16
-22
7
0
0
-20
-51
-37
56
17
57
94
8
0
-2
0
-25
-32
104
-6
-16
17
-13
0
-25
-17
0
9
19
-26
16
-4
70
0
-15
37
-46
0
11
30
-43
-72
3
0
7
21
-7
24
0
-57
-24
10
80
0
5
8
-9
-41
18
0
9
24
-28
0
-3
5
-2
18
-13
-32
0
-9
28
0
-5
-8
-16
-1
34
8
25
0
-15
0
49
-22
49
26
32
-19
63
-46
8
0
0
-8
-32
38
8
-1
41
-49
27
0
-9
0
87
71
48
72
8
-5
63
0
4
-17
0
-7
-58
-53
-5
-4
-32
0
19
9
25
0
-49
-84
-42
74
33
0
0
-4
-42
-5
0
-45
30
-18
-51
0
-8
0
3
-46
13
0
-2
-12
-4
0
-5
5
37
9
-55
49
0
3
-40
0
-8
-2
19
-16
-8
8
0
0
-8
0
-72
9
42
-30
-40
-22
41
71
15
0
0
-2
-32
-11
-17
42
2
-25
30
0
-11
0
16
102
-46
10
-23
-2
76
0
5
-7
0
-8
-101
26
9
-18
15
0
0
-7
-32
0
35
23
-2
0
-20
0
0
0
-4
-22
0
2
-6
0
-55
0
0
0
-1
6
30
0
-8
0
30
0
2
-3
-7
-22
7
-8
0
-8
79
0
0
0
-3
-1
1
-6
0
0
4
0
0
0
23
29
32
-18
-3
0
-5
0
0
0
-25
15
-11
35
0
0
-13
0
0
0
0
-25
28
-55
0
0
49
0
0
0
0
-2
80
22
0
0
-47
0
0
0
0
0
4
-13
0
0
-54
0
0
0
0
0
0
-25
0
0
34
0
0
0
0
0
-8
0
0
0
49
0
0
0
0
0
0
20
0
0
19
0
0
0
0
0
-7
8
0
0
5
0
0
0
0
0
12
5
2
-2
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
-1
0
0
6
0
0
-1
0
0
3
-13
1
0
13
0
0
0
-20
0
-2
32
5
0
15
0
0
-1
-17
50
0
12
0
0
25
0
1
0
-23
39
11
0
23
-5
-4
0
-2
3
-13
-22
-22
-34
0
-22
60
0
0
3
47
-25
13
1
-16
0
-62
0
1
1
4
28
51
6
-18
32
-22
0
0
4
-1
9
-7
-29
1
-1
-12
0
0
0
-5
0
8
21
4
-1
94
0
-1
8
0
-8
-3
-6
5
-5
8
0
2
7
-21
0
2
6
-8
8
19
0
-10
2
57
-47
0
-49
16
-6
-17
0
0
-12
-5
5
34
0
-2
-5
48
0
10
-42
17
-49
-46
47
0
2
-17
0
-39
-3
1
14
-2
5
5
0
-4
0
0
8
7
3
13
-25
-12
4
50
0
0
-6
47
21
50
41
3
-8
-22
0
0
0
25
9
13
3
-5
2
-23
0
3
-7
0
-9
8
-1
-8
4
35
0
3
-5
5
0
-8
-31
-6
-1
28
0
-4
-10
-12
2
0
13
19
7
-13
0
3
-4
-5
-46
-12
0
-3
-8
5
0
22
49
-57
41
61
34
0
25
23
0
4
0
-19
-22
39
4
22
0
14
0
1
-2
-6
41
-9
25
-4
9
-31
0
0
-17
-1
55
43
31
1
15
-10
0
0
0
0
-5
-50
14
2
-1
-30
0
0
14
0
12
-22
16
-22
-3
18
0
-1
0
25
0
13
10
8
-6
16
0
0
-8
-41
-13
0
59
-19
-2
-9
0
-1
-1
-10
4
25
0
2
4
44
0
-3
-19
54
42
10
-32
0
8
42
0
1
6
7
20
-6
-27
-22
0
-5
0
16
-8
-1
-44
49
12
2
-15
41
0
0
8
-1
-21
13
34
-34
17
51
0
1
0
0
4
-1
-33
9
-4
19
0
0
-1
0
-2
-15
-24
2
1
-19
0
0
-2
-4
0
-25
-13
-8
0
22
0
0
-4
-1
42
0
-20
0
0
13
0
2
-1
8
-9
9
0
-6
-3
-31
0
0
1
7
38
15
2
0
-22
3
0
-14
0
4
47
-31
-58
3
0
21
0
-1
-1
-8
-31
-102
20
41
-17
-21
0
0
0
4
-47
-31
-32
-7
16
5
0
0
0
0
-1
12
0
-4
0
7
0
-5
1
0
-4
17
0
0
-2
5
0
0
-3
15
0
5
-17
0
-4
-23
0
0
-2
8
48
0
3
-5
-1
-78
0
0
1
24
-22
-6
0
4
1
42
0
4
2
6
23
-70
-4
0
7
14
0
3
0
-5
-4
8
-10
-1
0
11
0
-1
0
3
-3
-15
-50
5
-25
-11
0
0
0
-6
-2
-30
-60
2
-24
30
0
0
0
-1
0
0
22
-1
0
-16
0
-3
-8
0
0
1
0
8
1
-38
0
1
0
3
0
5
3
4
0
35
0
0
0
-15
-84
0
28
0
0
-4
0
0
-3
16
-17
-41
0
0
0
16
0
0
25
-19
27
78
50
0
0
-24
0
0
-16
-4
-20
28
25
0
0
-1
0
0
0
0
9
-5
-4
1
4
24
0
0
-1
0
-8
-13
4
4
0
-29
0
0
0
0
0
0
6
0
0
-10
0
2
0
0
2
3
-7
0
0
29
0
0
-1
1
0
0
10
0
0
-1
0
0
3
-2
-6
0
-8
0
0
50
0
0
0
0
0
-8
0
0
0
31
0
2
-2
1
-57
-11
10
0
0
-53
0
1
0
2
43
-15
8
1
0
-2
0
0
0
0
0
-12
-3
0
0
2
0
0
0
0
1
1
8
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
3
0
-19
0
0
1
0
0
0
0
7
-12
0
0
0
-7
0
0
0
0
0
-15
-55
0
0
-1
0
0
0
0
0
-6
0
0
0
56
0
0
3
2
-8
14
13
0
-9
-7
0
0
0
-1
0
-2
-14
5
-2
23
0
0
0
2
-5
12
68
-1
-3
24
0
0
0
0
3
4
18
0
-1
-20
0
0
0
0
0
20
-22
0
0
35
0
0
0
0
-8
0
8
0
0
8
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
0
0
18
0
0
13
-23
23
34
-23
18
1
99
0
0
2
-8
-5
-11
10
-10
2
47
0
0
0
6
-3
13
59
-8
-8
45
0
0
-7
0
24
6
-7
-14
-5
51
0
-2
0
3
0
20
-5
7
1
58
0
0
0
-4
12
0
-5
-2
-1
23
0
0
1
3
-1
1
0
0
0
-41
0
0
0
0
7
1
0
0
0
33
0
0
0
2
1
1
2
0
0
-4
0
2
27
31
-103
35
41
-30
1
-14
0
0
-1
-31
50
-14
51
-4
31
42
0
10
0
15
16
-18
-13
8
5
24
0
-1
-8
0
-13
6
41
18
17
44
0
0
0
-1
0
-42
13
5
-7
17
0
0
-2
13
17
0
24
0
8
11
0
0
2
-1
-4
-6
0
3
-2
-9
0
-1
0
-1
3
16
0
0
0
-14
0
-1
0
-1
-1
3
-3
0
0
-3
0
2
-17
-19
-80
-3
18
19
-8
33
0
0
19
17
-49
27
54
37
-15
1
0
19
0
5
10
-69
-29
10
12
-45
0
-1
10
0
-3
39
31
19
2
-8
0
0
0
15
0
25
-29
-4
1
26
0
-1
0
-3
8
0
-30
15
1
8
0
0
0
0
7
0
0
-1
0
-23
0
0
0
0
0
3
6
0
-2
17
0
0
0
0
-1
6
-2
0
0
14
0
6
-8
7
93
27
-77
31
42
-55
0
0
1
48
-32
-44
12
21
-28
-14
0
3
0
-7
26
30
-92
-6
-12
22
0
0
0
0
24
-3
-56
-10
-9
17
0
0
0
3
0
-14
13
-8
0
8
0
0
0
1
3
0
5
-22
0
8
0
0
0
0
-5
14
0
-6
1
43
0
0
0
0
-1
1
0
0
0
-41
0
0
0
0
-1
-1
-1
0
0
-39
0
4
-33
-19
66
-13
-64
6
-3
-19
0
0
0
34
-9
5
-32
-18
-10
-7
0
-4
0
12
-16
60
-5
-20
-3
1
0
0
0
0
8
-20
-10
0
-2
-5
0
0
0
7
0
7
-27
5
-4
-23
0
0
0
-6
-1
0
-5
-6
3
2
0
0
0
0
-1
-6
0
0
-2
2
0
0
0
0
0
6
-6
0
0
-13
0
0
0
0
-1
1
2
0
0
17
0
7
14
-44
57
-48
24
-5
-7
-2
0
0
0
-14
-33
44
-23
-1
13
-23
0
-20
0
-2
-41
43
24
6
0
5
0
0
0
0
-12
-22
-35
-1
-1
5
0
0
0
0
0
-19
0
0
1
-22
0
0
0
0
-5
0
-3
-2
-2
-26
0
1
-1
0
0
-5
0
2
0
19
0
0
0
0
0
-12
4
0
0
-9
0
0
0
0
0
0
0
0
0
-56
0
0
1
9
16
22
5
22
-22
-8
0
0
0
-1
55
-6
-41
7
13
-41
0
1
0
0
-9
-41
49
4
0
-15
0
0
0
0
2
-8
4
0
0
3
0
0
0
0
0
0
20
0
0
-8
0
0
0
0
0
0
-8
0
0
5
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
-1
-1
0
0
24
0
0
0
0
0
0
1
0
0
4
0
0
0
-2
1
-23
5
-2
0
-23
0
0
0
0
0
43
0
0
0
19
0
0
0
0
0
-30
-50
0
0
0
0
0
0
0
0
-8
2
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
-2
-3
31
20
52
3
0
-40
0
0
-6
13
-28
25
52
16
-2
5
0
0
0
9
5
-4
25
-3
0
-9
0
0
-4
0
5
-34
0
0
1
14
0
0
0
-5
0
14
-2
0
0
53
0
0
-1
-1
10
0
4
-1
0
-28
0
1
0
6
0
-2
0
0
0
-30
0
0
8
-31
-49
36
-15
0
0
76
0
0
1
-1
26
3
-4
0
0
-8
0
3
-5
29
-31
16
20
21
-19
-3
0
0
-8
19
4
-29
8
-39
17
30
0
0
0
-8
5
-4
14
3
0
43
0
0
-5
0
-6
41
2
-5
-4
29
0
2
-2
3
0
1
-33
-14
0
-6
0
3
9
5
-11
0
2
0
31
-16
0
-7
2
7
5
-9
0
13
8
-5
0
-10
-27
-12
49
1
-37
0
15
-50
0
4
8
-24
16
34
72
1
0
105
0
0
2
-30
-26
17
-9
16
9
30
0
0
1
15
49
15
-31
-2
-7
-17
0
0
0
-4
2
0
-22
10
3
32
0
0
2
0
0
-22
-4
9
-1
49
0
0
-1
-25
0
-1
6
4
4
13
0
-1
-5
6
-16
0
85
0
-9
54
0
2
1
9
-9
12
0
4
-22
-22
0
5
0
-14
21
-25
8
0
12
7
0
-22
-8
22
-56
31
-18
-25
0
80
0
-2
2
29
37
-31
-6
0
25
24
0
0
16
-1
-14
-26
-19
-9
-2
7
0
0
0
-2
9
4
-29
6
-2
-10
0
2
13
0
3
-12
-2
-3
7
49
0
0
-7
-3
0
-15
6
2
-6
11
0
-6
22
-5
9
0
-25
17
-5
2
0
-1
-9
-4
31
33
0
5
0
94
0
9
31
5
49
-4
19
0
-5
-17
0
-6
-6
7
31
44
-41
18
0
-22
0
-7
-1
-8
-51
2
-49
-33
2
35
0
0
-7
3
30
53
-21
-12
8
37
0
1
0
4
-13
-5
22
-6
0
66
0
0
5
0
2
-12
-23
-8
0
-69
0
0
5
32
0
-15
28
5
-5
-27
0
4
-17
8
38
0
13
-3
0
-1
0
-1
-12
-13
-34
43
0
0
-1
17
0
6
31
44
16
49
-40
0
-5
-11
0
-5
24
-5
5
-50
-14
-3
0
-27
0
20
-1
-8
19
15
48
-7
-12
-23
0
0
2
10
-1
-14
-51
5
1
14
0
0
0
1
-7
-8
28
0
1
9
0
0
-4
0
-8
13
7
0
0
-37
0
0
5
1
0
1
2
-5
0
24
0
-9
-3
26
-42
0
5
2
-1
43
0
8
1
21
-64
-10
0
7
0
29
0
-13
20
-31
-31
-48
56
0
1
11
0
16
-2
-5
13
-24
-8
-4
0
-103
0
0
0
-1
16
-48
-26
20
-12
20
0
0
-3
-20
-13
4
-6
7
0
-13
0
0
0
-2
0
2
1
0
0
-24
0
0
1
0
10
-8
-8
6
0
-5
0
0
4
-8
0
24
-5
2
0
38
0
-2
-2
-24
-6
0
-9
2
0
6
0
0
-5
0
15
17
0
2
0
-1
0
32
16
13
31
33
-15
0
-6
41
0
-3
-32
-5
-2
-16
-18
-1
0
-14
0
0
0
0
-1
-8
-43
0
1
-22
0
0
0
2
-8
-5
17
0
-1
-31
0
0
0
0
0
2
0
0
0
6
0
1
0
0
0
1
0
0
0
44
0
0
-1
14
0
3
-1
3
0
5
0
0
-8
-25
36
0
-31
0
0
-85
0
0
4
-31
18
-15
0
0
0
25
0
1
-46
15
-65
-44
96
0
-2
-13
0
0
1
16
-2
23
-20
1
0
-8
0
0
0
0
0
2
2
0
0
-8
0
0
0
0
0
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
16
0
0
0
13
0
0
0
-2
0
0
0
0
0
-8
0
0
0
0
-4
0
-10
0
0
-8
0
0
0
0
2
-41
0
0
0
21
0
0
0
-2
9
14
-42
0
0
-8
0
0
0
0
8
-15
2
0
0
47
0
-4
4
-14
27
3
18
-19
-2
1
0
0
-2
3
20
8
27
15
1
48
0
0
0
0
47
7
-22
-7
-4
-24
0
0
0
0
13
-51
-10
12
0
52
0
1
0
5
0
45
-49
0
-1
8
0
0
0
0
0
0
2
2
0
-51
0
0
0
1
0
-6
0
0
0
21
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
43
0
6
-44
-10
-9
94
-82
21
3
121
0
0
1
3
65
-6
28
-10
29
5
0
-2
0
-16
-22
-56
-8
13
-9
54
0
0
3
0
3
31
25
-9
-23
28
0
0
0
4
0
13
-18
-9
7
21
0
1
0
2
-2
0
2
-13
-6
29
0
0
1
-2
-1
-5
0
12
-3
-15
0
0
0
-1
0
-2
4
0
1
30
0
0
0
0
-2
1
-6
0
0
26
0
5
9
21
-85
-15
-36
7
-13
32
0
0
27
-42
-11
70
49
24
-13
-9
0
-16
0
0
-9
32
16
15
-2
29
0
0
-1
0
25
-3
43
14
12
10
0
0
0
13
0
14
-17
9
-2
17
0
-2
0
0
-1
0
-12
-7
1
-8
0
0
0
1
-1
0
0
-2
-3
-33
0
0
0
0
7
13
-5
0
0
23
0
0
0
1
0
16
2
0
0
-15
0
-2
2
-16
22
-49
35
11
24
44
0
0
6
58
-34
26
-61
-19
23
16
0
8
0
-3
24
18
24
-15
0
-55
0
-5
4
0
-8
34
-19
17
12
65
0
0
0
-7
0
-45
16
5
2
11
0
0
0
-13
10
0
5
-2
-1
57
0
0
0
0
0
1
0
1
0
16
0
0
0
-3
1
1
1
0
0
-4
0
0
0
1
1
4
0
0
0
3
0
-5
22
13
83
9
-6
55
5
-15
0
0
13
-4
14
22
-17
23
-22
52
0
6
0
0
-29
-19
38
-9
8
26
0
-1
-3
0
-5
-31
-6
-32
-7
51
0
-1
0
17
0
7
-8
-6
-5
23
0
0
-1
3
-3
0
-2
-2
0
20
0
0
-1
0
0
-3
0
-6
0
41
0
0
0
0
0
0
0
0
0
-17
0
0
0
-2
1
2
-1
0
0
-12
0
17
-28
6
31
-11
68
-44
-4
-31
0
0
-3
-14
-69
-16
-59
15
12
5
0
-3
0
42
10
97
-14
-4
-8
16
0
-1
4
0
-32
6
-31
16
-3
-40
0
0
0
-7
0
-16
1
-6
0
8
0
0
0
1
6
0
2
-1
2
26
0
0
0
0
0
0
0
1
0
-15
0
0
0
0
0
4
0
0
0
-33
0
0
0
0
-3
-2
0
0
0
-22
0
8
18
-5
43
-49
-15
13
-9
23
0
0
-4
12
0
-40
7
3
-23
31
0
-5
0
20
-5
1
-3
3
1
67
0
1
1
0
19
-2
3
-6
0
-6
0
0
0
0
0
-12
25
1
0
-11
0
0
0
-2
0
0
-8
0
0
-49
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
-1
0
0
0
-32
0
-3
3
-42
-11
21
13
21
0
-11
0
0
0
1
19
-10
41
-3
0
-6
0
8
0
-1
-27
-43
9
0
0
-33
0
0
0
0
0
25
-42
0
0
-42
0
0
0
0
0
0
8
0
0
5
0
0
0
0
0
0
2
0
0
29
0
0
0
0
0
0
0
1
0
-26
0
0
0
0
3
1
0
0
0
19
0
0
0
0
0
0
-1
0
0
-39
0
0
0
-6
-24
54
3
0
0
-14
0
0
0
2
-9
-15
14
0
0
-23
0
0
0
0
-2
-8
-14
0
0
-3
0
0
0
0
0
-4
1
0
0
3
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
4
-1
2
41
1
1
4
19
0
27
0
0
0
0
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
146
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
2
0
49
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
102
0
-9
0
3
1
90
0
0
0
0
0
0
0
0
0
0
0
22
-3
0
0
0
3
1
0
0
0
0
0
14
-53
-21
9
-5
77
-2
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
-56
-1
0
8
0
-4
0
-1
-5
14
3
-54
-1
-1
0
12
0
0
0
0
0
0
0
0
0
0
0
5
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
23
8
-30
129
87
22
51
91
96
128
-35
0
0
0
0
0
0
0
0
0
0
3
4
9
0
0
0
143
-4
-13
-3
-6
38
32
97
13
0
0
52
56
107
23
-23
0
-78
10
-14
31
24
-43
0
78
0
-76
-2
-24
-32
70
0
-13
0
0
0
0
15
0
30
207
63
-22
-11
155
121
10
12
0
0
0
3
0
16
-2
3
-3
0
-19
-38
-41
-20
25
0
80
0
0
0
0
125
24
151
169
35
178
144
184
148
102
43
0
-10
0
0
-32
15
20
0
-34
0
-16
18
58
-46
8
0
66
0
0
0
0
20
3
42
-4
1
51
-27
113
183
0
43
0
0
0
7
3
30
54
0
12
0
4
87
-7
171
41
0
-4
0
0
0
0
0
1
-48
5
15
58
51
32
22
1
70
0
0
0
0
0
1
17
0
0
0
0
24
43
-2
-3
0
50
0
0
0
0
0
0
-49
35
84
42
-15
119
92
-7
-70
0
0
0
0
0
0
0
0
0
0
2
2
8
-8
0
0
-31
-25
-30
-82
9
23
128
23
14
0
88
10
14
45
20
-14
0
-33
5
4
-19
-18
0
-18
-18
0
-159
-30
-44
-20
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
4
-33
36
-2
13
0
-9
-43
0
-3
0
0
-3
61
25
-4
10
0
0
0
3
8
-4
0
-32
0
0
0
0
0
0
0
-1
-1
0
1
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
55
3
1
0
-4
2
1
-11
0
-19
0
0
-1
18
0
0
-2
0
0
0
0
8
0
0
-2
0
0
0
0
0
0
0
39
-96
0
52
-8
2
0
16
0
41
0
17
2
-12
2
1
0
0
0
1
-1
-3
0
0
29
0
0
0
0
-2
-30
0
-60
29
50
12
-95
65
14
8
0
64
0
-22
43
-31
-21
9
-29
0
-22
23
21
2
8
0
-8
0
0
0
0
-1
0
0
24
-8
3
-76
97
24
15
-42
0
-2
0
-1
0
0
0
0
3
0
84
0
-5
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
-42
0
2
0
-44
0
11
0
-2
-4
42
6
0
-25
0
38
-46
-50
-16
23
0
-18
-25
-8
-18
14
60
20
0
165
-66
115
-13
104
111
70
-31
0
5
0
0
-76
2
5
8
-9
0
19
-72
-10
-43
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
36
9
0
122
-41
96
29
215
147
138
-21
0
1
0
-1
1
-110
-28
-20
-56
0
26
33
-34
25
-60
0
0
2
6
0
59
57
116
-18
4
-27
135
-30
67
-24
-19
-16
0
20
0
1
47
-58
-7
-22
-44
0
-84
-14
7
-94
-83
0
-34
-6
13
1
0
-3
1
0
177
4
311
-2
-33
129
171
3
0
66
-1
93
-24
-1
37
1
-20
0
19
-18
1
0
-19
0
26
-3
0
0
3
10
84
68
-62
-7
84
4
-111
-5
40
1
0
49
-4
-16
46
-9
-6
-5
-31
0
-28
-105
-15
25
-20
0
-42
-15
0
0
0
-39
1
0
-76
-72
79
9
-134
13
1
-38
0
74
0
0
-5
-37
0
0
53
0
48
-55
52
20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-7
1
0
-124
-43
59
29
33
3
1
66
-17
-2
13
0
0
0
0
0
0
0
0
1
0
-1
-35
5
-1
0
0
0
0
0
0
0
-2
1
0
0
1
0
-1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
4
26
0
-7
1
9
0
14
0
0
0
0
0
0
0
0
1
0
3
12
-7
0
0
0
0
-1
0
0
0
-4
0
4
0
58
0
-54
0
2
4
43
0
0
0
0
0
0
0
0
0
0
0
-8
-18
0
0
0
0
0
0
-1
0
0
0
118
111
71
2
51
57
-15
8
-30
0
0
0
0
0
0
0
0
0
0
-4
-27
66
5
0
0
-43
-5
0
6
1
2
0
66
-5
55
1
-45
45
-13
0
80
0
0
0
0
0
0
0
0
0
0
0
2
-49
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
3
0
12
112
27
113
123
37
63
111
94
61
158
-29
0
3
-8
0
0
-2
0
0
6
0
6
-41
17
-5
0
0
50
0
3
-8
9
23
129
117
61
0
75
8
32
63
12
-24
0
-11
1
-20
156
4
58
-23
-57
0
1
-32
-21
3
-14
0
4
0
0
5
0
64
-3
42
145
9
-9
23
106
92
76
21
0
6
0
3
2
82
-13
-7
-21
0
-31
-58
-69
-53
-51
0
30
0
0
0
0
135
45
124
160
1
176
-1
128
114
109
-23
0
11
0
-3
-76
-62
-55
1
41
0
-33
-23
-91
-28
-39
0
44
0
0
1
0
150
-8
159
118
-1
5
12
159
154
14
20
0
-19
0
7
-5
-45
24
0
-74
0
-25
93
17
-49
-28
0
34
-2
0
0
0
1
5
164
52
77
66
21
50
31
36
-3
0
-1
0
0
-2
3
1
0
0
0
-1
82
-50
-1
-7
0
19
0
0
0
0
9
-1
80
98
35
110
70
88
50
-4
21
0
0
0
-2
0
0
0
0
0
0
1
4
45
-35
0
0
-63
-18
-98
-47
-18
44
75
21
1
0
36
-12
5
10
25
-11
0
-13
-4
20
-19
-10
-2
11
-30
0
-62
-6
0
11
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
-26
-28
166
-35
-7
0
-5
-41
0
-8
0
-4
-2
11
-11
-41
43
0
0
0
3
32
39
0
-24
0
0
0
0
0
0
0
0
-1
7
7
10
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
23
-25
-1
0
-10
0
0
-20
0
-11
0
0
7
54
-22
-13
-3
0
0
7
1
0
-4
0
33
0
0
0
0
0
0
0
-11
-55
0
40
24
8
-2
30
0
49
0
-20
1
-2
-1
48
0
0
0
-2
-16
-7
0
0
-13
0
0
0
0
-7
-37
0
-63
-59
148
31
35
-85
13
-2
0
-9
-17
75
65
76
-1
93
53
0
-5
-53
-35
-13
13
0
-22
0
0
0
0
-9
0
0
63
-52
99
-30
-6
-42
-30
5
0
-4
1
12
0
-5
0
-3
-79
0
51
74
63
-102
4
0
3
0
0
0
0
0
0
0
0
0
0
-7
0
-5
0
-15
0
-16
-3
-36
-7
21
9
0
-8
0
-8
-2
25
-5
46
0
-31
28
5
-31
-34
99
24
0
71
-13
311
-29
128
-96
-60
-18
0
26
6
1
-66
-36
18
71
-10
0
-26
9
11
21
-117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
8
4
-7
14
49
0
63
0
157
0
106
26
68
-10
0
-31
0
-1
3
-165
6
-9
8
0
69
-77
-77
41
14
0
0
-8
-5
4
18
24
72
-107
19
10
197
24
36
-36
53
-2
0
13
63
-2
-29
-56
36
-43
-76
0
4
5
-44
15
-101
0
-10
23
-14
7
-2
24
94
0
37
22
201
-15
115
-4
84
1
0
-37
32
-29
38
-72
-6
-20
-24
0
50
29
-20
0
17
0
-3
-14
0
20
3
147
113
8
47
-46
348
9
42
47
85
14
0
15
-23
-9
-54
60
23
-8
-82
0
-13
-22
-32
25
-25
0
6
-44
0
-4
0
-48
4
0
-47
-15
145
-29
-35
-27
4
0
0
66
1
-5
-2
-95
-2
-10
33
0
-22
-34
10
66
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
1
0
-147
-28
29
24
40
3
0
67
-20
7
19
0
0
0
0
0
0
0
0
1
0
-1
-42
-8
-1
0
0
0
0
0
0
0
-2
1
0
0
-8
0
-1
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
4
3
0
-7
0
9
1
-82
0
0
0
0
0
0
0
0
1
0
3
17
-5
0
0
0
0
-1
0
0
0
-8
0
4
0
-18
0
-61
0
2
4
14
0
0
0
0
0
0
0
0
0
0
0
-8
-21
0
0
0
0
0
0
-1
0
0
0
138
98
-7
4
-3
-17
-12
14
-52
0
0
0
0
0
0
0
0
0
0
-4
-19
62
5
0
0
16
-5
0
6
1
2
0
86
18
-26
1
14
56
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
2
-42
-18
0
0
0
0
0
0
0
0
0
0
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
-2
3
0
12
42
22
137
64
-1
33
-24
-61
-45
65
-56
0
3
-8
0
0
-2
0
0
6
0
6
-58
30
-5
0
0
31
-2
3
-8
10
16
82
21
-50
0
-27
-11
1
-17
78
21
0
52
25
40
117
22
7
-47
15
0
48
21
31
13
51
0
-16
0
0
5
0
43
-2
92
4
-4
-31
15
-40
34
25
6
0
6
0
3
2
-4
5
-8
14
0
-25
-64
24
-42
-49
0
-60
0
0
0
0
61
33
80
-59
-45
16
-27
-40
11
-15
-47
0
13
0
-3
-49
35
-45
0
87
0
-25
-24
-61
-41
-21
0
-33
0
0
1
0
79
-6
248
40
-33
23
0
72
-1
43
-64
0
-20
0
6
-9
-108
47
-1
-70
0
-27
-13
-135
-84
-7
0
-74
-2
0
0
0
1
5
115
46
-71
53
18
50
30
-9
-40
0
-1
0
0
-2
3
-3
0
0
0
-1
-12
-57
-1
-7
0
19
0
0
0
0
9
-1
160
63
22
120
45
5
-4
-4
9
0
0
0
-2
0
0
0
0
0
0
1
0
4
-16
0
0
-29
-35
-57
-61
12
40
51
28
8
0
17
-7
17
10
15
1
0
-18
-22
16
-17
4
-2
-21
6
0
-26
8
3
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
3
-35
73
-27
15
0
-5
-10
0
0
0
-22
-2
7
4
-13
8
0
0
0
21
32
-5
0
-14
0
0
0
0
0
0
0
0
8
7
7
10
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
-54
-1
1
0
-4
0
0
-38
0
12
0
0
5
43
-22
5
-3
0
0
7
0
-1
-2
0
-3
0
0
0
0
0
0
0
-9
22
0
-12
30
8
-2
18
0
27
0
-17
1
1
-2
5
0
0
0
-2
-16
-6
0
0
-43
0
0
0
0
-7
-33
0
-99
16
53
12
64
-5
2
4
0
-58
12
-18
10
48
45
33
-13
0
-13
31
50
-6
20
0
4
0
0
0
0
-9
0
0
61
31
98
-40
18
-2
-14
13
0
-4
1
4
0
5
0
-3
-75
0
27
118
23
-93
4
0
5
0
0
0
0
0
0
0
0
0
0
13
0
51
0
-4
0
33
-27
4
72
13
-22
0
2
0
31
-6
20
38
30
0
12
-9
44
-16
-64
80
-12
0
-11
20
164
-51
92
-174
13
-14
0
-15
0
-23
-22
-54
-15
42
5
0
-74
-10
-24
23
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
6
1
-5
13
42
0
67
13
48
-20
-8
55
-82
-30
0
-25
0
0
6
6
-3
67
29
0
42
-9
-87
-4
5
0
0
-21
-6
9
-42
-41
-46
-204
11
55
92
-67
-22
7
3
3
0
-83
39
-52
-26
6
12
71
-54
0
-11
-49
-15
59
-7
0
3
46
-13
7
-1
72
123
0
-34
50
12
-22
-75
-49
92
-2
0
-95
-27
-77
4
-20
43
30
-70
0
21
-3
22
10
59
0
-30
-14
0
19
2
41
50
-37
-58
99
162
-15
-67
28
75
11
0
-19
-23
50
-72
-26
6
14
-34
0
-25
6
23
26
-29
0
2
-14
0
-4
0
-27
4
0
5
-5
59
-17
56
-101
0
49
0
75
1
3
-5
-66
-1
-13
-88
0
-27
73
-83
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
10
0
0
0
5
0
-26
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
1
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-42
0
3
-1
0
-1
-44
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-3
0
1
7
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
-1
0
0
0
0
0
-12
-7
-31
7
-26
18
15
-7
-66
0
0
-3
0
0
0
0
0
0
0
0
3
6
0
0
0
6
0
0
0
0
17
2
-2
-45
0
-48
5
-70
-65
4
37
0
6
0
30
9
38
35
-12
30
0
-25
48
-22
-6
18
0
-24
0
0
0
0
0
0
-5
42
7
-2
-4
-8
3
2
18
0
-1
0
-1
0
-4
10
-1
5
0
0
-9
0
-10
-1
0
-76
0
0
0
0
4
0
50
-122
14
4
-25
-10
-10
-37
-11
0
-1
0
0
5
8
-2
0
34
0
8
4
-25
1
1
0
-12
2
0
0
0
0
-1
9
-51
29
-5
-46
-20
-31
0
-11
0
0
0
0
0
1
-1
1
-24
0
8
-9
-31
-20
-7
0
-22
0
0
0
0
0
0
6
3
-41
2
8
-3
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
-10
-10
0
0
0
-37
0
0
0
0
0
0
8
-8
-4
0
8
4
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-32
57
7
-17
20
4
4
48
0
-21
4
32
158
16
14
0
-31
39
23
-48
4
-13
31
-19
0
-26
-5
14
-4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
6
-10
-3
0
0
0
0
13
0
1
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
1
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
-49
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
42
0
-11
5
5
0
-30
0
-8
1
4
0
8
7
2
-5
0
-2
-3
2
2
-1
0
10
0
0
0
0
0
0
0
1
4
0
-5
6
-1
0
29
0
0
0
0
0
2
0
0
-2
0
-2
17
0
7
4
0
1
0
0
0
0
0
0
0
0
0
0
-27
0
22
0
22
0
19
0
8
7
-24
-8
0
30
0
12
-12
-45
9
7
0
-12
-31
16
0
2
-5
1
0
-35
36
17
-59
1
-28
8
14
0
5
0
7
-9
-1
-6
21
-35
0
13
31
13
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
22
-2
-20
-41
-31
-3
-18
53
0
-1
0
0
0
12
-14
23
15
0
12
33
9
-6
5
0
0
1
0
0
-5
63
-20
-11
-22
-10
6
-62
-13
7
11
11
0
-17
2
-10
8
-4
-6
34
4
0
6
-31
-24
59
27
0
-9
2
-2
0
0
-3
1
0
-41
-17
21
72
-66
13
-2
39
0
-1
4
-13
0
-18
25
-28
2
0
-46
-30
9
-41
-6
0
-9
0
0
0
0
-10
-9
-14
49
42
9
-19
16
10
22
0
0
1
-4
1
8
-6
-19
-4
5
0
-17
-23
15
-24
-8
0
15
1
0
0
0
0
0
0
1
4
0
-7
10
-4
0
6
0
7
0
-2
-1
-3
0
0
-15
0
1
13
9
3
0
-19
-52
-4
-47
18
-10
-70
-26
19
-75
-81
-61
-49
-35
-46
-7
-17
15
-75
-29
-51
-62
-34
-18
-8
-18
-69
13
37
47
17
58
-65
-11
-14
-17
0
0
0
0
0
2
26
0
0
0
31
31
-29
-29
5
18
1
0
0
0
0
0
2
66
0
0
-37
-33
47
92
5
10
4
-2
0
0
0
0
5
85
32
69
-24
50
34
-16
39
-13
-3
-2
0
0
0
0
0
37
-31
43
22
-17
-51
-43
-3
-5
-13
51
22
0
0
0
0
0
-27
-5
8
-28
35
6
-47
5
-9
8
-18
6
0
0
0
0
0
-10
-19
-3
-1
-61
15
31
30
14
16
-20
2
0
0
0
0
0
6
-99
-50
-39
32
11
23
-46
13
3
5
0
0
0
0
0
0
0
-84
-96
24
7
-24
5
58
-3
0
-2
0
0
0
0
0
0
0
0
-7
-8
53
-18
-5
14
-2
3
0
0
0
0
0
0
0
0
2
16
0
0
0
66
10
53
5
3
0
0
0
0
0
0
0
5
-57
0
0
26
96
17
0
23
0
2
0
0
0
0
0
-1
17
-44
57
60
68
-57
18
6
14
-1
0
0
0
0
0
0
0
16
13
75
54
-15
-65
-58
-6
-6
0
0
0
0
0
0
0
0
14
60
11
-47
-11
-59
2
2
1
-1
0
0
0
0
0
0
0
-27
-76
8
-39
-13
-10
-1
1
-6
0
1
0
0
0
0
0
0
-8
-8
-8
-51
1
-11
32
3
1
-1
0
0
0
0
0
0
0
-5
-45
-20
13
58
-12
-10
0
-5
0
1
0
0
0
0
0
0
0
30
-2
51
18
-1
-4
0
0
0
0
0
0
0
0
0
0
-49
-89
0
0
0
4
0
19
-13
2
2
0
0
0
0
0
1
15
70
0
0
13
64
-6
8
-15
5
6
0
0
0
0
0
-5
-32
-16
51
13
44
-3
12
1
-27
29
0
0
0
0
0
0
1
-16
-73
66
51
10
26
15
-12
-2
0
7
0
0
0
0
0
-3
46
1
97
63
-26
25
13
-3
5
-1
0
0
0
0
0
0
0
-31
56
51
-15
-1
-45
21
18
-3
0
0
0
0
0
0
0
0
-7
-104
24
-90
10
9
17
8
0
-1
13
0
0
0
0
0
0
0
-31
74
5
41
-22
3
0
1
0
0
0
0
0
0
0
0
8
-63
-18
-43
-17
8
9
-3
1
0
6
0
0
0
0
0
0
63
21
0
0
0
25
3
4
0
-2
0
0
0
0
0
0
9
-17
-37
0
0
-10
38
-26
25
24
0
0
0
0
0
0
0
41
108
5
25
58
70
-31
42
19
3
-2
0
0
0
0
0
0
33
-92
-70
38
30
21
-36
13
2
-1
2
0
0
0
0
0
0
-49
-32
14
-7
-75
-18
-20
-5
-3
-3
8
0
0
0
0
0
0
21
67
-55
-16
-13
-16
-18
14
6
1
0
0
0
0
0
0
0
0
38
-22
7
-52
-27
8
-34
-2
2
0
0
0
0
0
0
0
0
34
50
-25
-61
-52
-10
13
8
-2
0
0
0
0
0
0
0
0
0
0
9
-33
42
-34
8
-2
0
0
0
0
7
-9
23
89
51
4
63
0
0
0
-22
22
13
42
14
-1
0
5
-46
35
22
30
-16
4
0
0
0
-64
45
-25
19
14
-6
-1
-54
50
92
-33
31
-13
20
11
-5
0
-26
47
15
-24
26
-1
1
15
-25
-18
16
-28
-28
-5
-25
55
-21
23
87
34
13
-21
4
-1
-21
-8
58
39
-2
-13
-20
-45
-31
37
-10
51
-7
-12
17
8
0
-15
-99
0
29
8
-14
17
-29
-18
-14
-3
-34
-20
32
13
0
-1
43
2
6
41
16
-49
-17
45
2
10
27
56
-13
-5
-1
0
0
5
39
5
19
-67
99
-54
51
-54
-18
40
17
-8
-12
14
5
3
-3
70
-27
-22
15
-22
33
32
3
22
-1
-16
4
8
0
-1
0
-13
66
26
-30
2
18
28
0
0
0
-7
5
-23
-13
5
5
-10
15
64
30
49
30
-48
-32
0
0
0
28
-16
-8
10
6
-13
-8
15
-6
43
59
6
7
5
-37
90
-3
56
16
-42
-35
36
26
0
-52
30
22
11
2
-23
2
30
37
-1
-27
3
-26
-36
59
27
6
-56
2
86
42
-8
34
-62
-59
5
-29
11
20
-5
-5
-4
23
0
-5
3
127
15
7
59
-37
12
4
1
14
8
3
-2
42
1
3
-51
-20
6
28
-28
25
74
-47
-12
29
-41
16
-12
-5
-5
1
-1
8
18
-1
-60
51
6
82
-22
16
0
28
-31
49
23
15
-25
1
15
10
25
-7
29
22
-14
15
84
23
-45
16
9
31
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-14
9
10
6
-1
-97
0
0
0
5
-23
17
13
13
-4
0
-13
-13
-10
16
25
-53
-11
0
0
-32
-24
6
5
-15
1
-2
0
0
-2
5
8
24
-12
8
4
-10
-53
-15
8
-32
0
8
0
0
-5
1
-1
7
-8
4
33
10
-2
99
5
-6
-2
-10
0
-1
0
-15
6
-6
2
1
-13
-64
16
18
-29
-22
-10
-1
18
4
0
0
9
1
-7
-39
4
3
80
-13
12
34
18
35
-13
-2
5
-2
0
31
-1
15
-68
8
-17
-26
2
-82
-5
-22
-1
-3
1
-3
0
0
-22
13
-34
0
21
-34
-17
-99
-59
14
29
34
-6
10
29
1
0
0
-6
-14
8
-23
-23
-4
-9
-16
-42
2
-2
0
0
0
0
1
-69
13
-5
-4
4
14
72
0
0
-66
-17
-54
-13
-13
-2
0
0
-22
-28
-8
-9
6
6
26
42
-18
-18
34
-19
-60
-22
5
-1
0
5
-3
-8
0
-6
-8
55
61
61
20
-69
39
13
6
-4
0
0
-64
-33
-3
-8
-4
-2
-22
-64
-106
-63
-45
41
-5
-8
0
0
0
47
-19
-8
0
-14
-20
10
-48
-69
-115
21
-4
36
29
-1
0
0
-37
28
10
5
-10
-20
7
-63
-41
-93
58
-4
6
-7
0
0
0
-33
12
8
1
-14
-28
-25
-1
-25
-60
-1
-7
41
0
0
0
0
31
-1
22
-14
-17
-59
-71
-87
-92
-17
76
-42
7
-1
0
0
0
28
-98
54
4
-65
-82
-69
-25
9
-36
11
7
2
0
0
0
0
-2
-10
53
-61
14
-141
-21
0
0
-3
9
10
0
1
0
0
0
9
2
-5
19
-62
-36
-67
-114
-77
-2
5
-1
-2
0
0
0
0
-10
3
-2
42
-2
-13
-93
28
-57
-20
6
-3
-3
0
0
0
0
-2
-4
32
34
-29
23
30
-93
-45
32
0
2
6
0
0
0
0
4
19
5
-30
-5
-44
-18
-72
-61
-16
0
-1
1
0
0
0
0
5
1
-17
14
45
-29
-37
-72
-24
-2
9
-4
0
3
0
0
0
3
-2
15
-35
-8
34
30
19
-83
-14
-8
1
14
0
0
0
0
7
0
4
-22
1
15
16
64
47
-4
8
-1
0
6
0
0
0
-2
-1
-17
9
0
72
-4
17
76
2
0
-2
8
0
0
0
0
13
-17
-1
2
13
1
-58
-38
0
-7
0
0
0
0
0
0
0
-28
-12
4
-14
-1
-14
0
-77
9
-2
-4
-10
-8
10
0
0
0
-4
-11
21
14
30
-28
23
-9
81
-17
-7
-17
0
0
0
0
0
0
-7
-52
-10
25
20
44
-43
-22
-16
0
0
-3
0
0
0
0
-2
-2
15
-15
48
-13
-31
-69
-27
-7
-17
0
6
0
0
0
0
-4
-4
-9
-14
-18
38
-34
-92
-35
2
-1
-6
0
0
0
0
0
-29
-11
-15
-21
19
1
-40
-65
-14
-5
-2
4
0
0
0
0
0
-18
-11
-12
17
-37
-49
-55
-31
-63
-10
4
10
5
0
0
0
0
-12
-7
44
-34
-42
-27
8
-2
12
3
-2
0
0
0
0
0
0
-10
1
-6
-9
11
22
-32
0
0
-52
22
8
-8
2
-3
-1
0
-13
-1
-13
0
30
-17
-18
0
39
0
5
19
7
5
-1
23
0
-21
-12
-4
-6
-7
-20
20
19
74
91
24
25
-25
-1
12
-1
0
-54
0
-7
-16
-2
6
52
104
-16
-10
-58
14
-15
1
0
0
0
-24
-28
-7
-10
-18
8
-12
45
-20
-59
2
-29
5
-17
0
0
0
-31
-15
-8
-26
-9
-1
13
4
-20
13
-32
-5
-29
10
0
0
1
-7
2
-5
-31
-29
-26
36
77
-41
-32
-25
-3
0
-9
0
0
0
0
-71
-7
9
-32
34
-2
-13
-80
-30
25
-29
-13
-7
0
0
0
0
-2
-31
63
-16
-5
-13
-30
3
-5
1
0
-4
-2
0
0
0
46
-16
12
-58
7
-37
0
-59
0
33
-56
-24
0
0
0
0
0
-12
-5
-23
14
0
-17
29
0
-109
0
-63
39
1
-1
0
1
0
-6
-16
1
1
17
0
23
-55
1
-24
-47
4
-6
8
0
2
0
-2
-13
-14
-1
7
-16
36
-16
7
-7
19
-16
-1
1
0
0
0
2
-14
-10
30
-31
-32
48
47
-37
-75
20
-13
-16
1
0
0
0
-63
-22
-5
1
-36
-27
-59
29
42
-43
40
8
-5
-3
0
0
0
45
-9
-4
3
-17
24
17
52
-15
48
-40
12
2
-1
0
0
0
-69
1
-13
18
-25
-17
-3
37
88
67
-12
4
0
1
0
0
0
-9
-69
-40
-8
18
-140
-13
63
106
-1
0
0
0
0
0
0
0
-8
-4
0
-15
13
29
70
0
0
0
-4
-10
8
-2
1
0
0
0
-7
0
0
18
24
22
-71
0
16
10
10
27
1
25
-1
0
-12
-2
-4
1
17
3
14
-55
-5
0
48
-3
0
4
0
2
0
-1
-2
1
2
25
4
3
-65
-48
2
48
17
14
0
-1
0
0
27
-7
-7
5
5
14
-4
16
63
-9
-31
-13
0
0
-2
0
0
-7
-3
1
3
5
-5
-17
25
2
25
-8
-1
0
1
0
0
0
-6
13
0
18
10
30
18
81
15
56
50
12
1
0
0
4
0
2
12
19
-10
84
80
-4
0
10
46
-17
-8
2
-1
0
0
0
-47
5
95
-20
11
40
-29
33
-65
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-2
83
8
2
7
110
-32
0
0
0
0
0
0
-2
0
0
0
-48
-47
-2
-2
64
-110
-57
0
0
0
0
0
0
-2
33
-28
13
-12
100
42
-19
53
-73
-14
0
0
0
0
0
0
0
-22
-13
32
47
-32
43
56
10
-12
-49
0
0
0
0
0
0
0
-3
10
-8
-4
74
36
63
1
-68
-1
0
0
0
0
0
0
0
21
17
16
45
-9
34
-5
-6
66
-30
0
0
0
0
0
0
0
-1
-8
5
17
-93
-57
29
22
7
37
0
0
0
0
0
0
0
0
1
3
6
-12
-11
35
47
9
10
0
0
0
0
0
0
0
0
0
-2
2
-1
24
-21
91
-28
19
0
0
0
0
0
0
0
0
0
0
-4
35
27
-45
-112
-61
65
0
0
0
0
0
0
1
0
0
0
-29
-25
93
70
-43
94
3
0
0
0
0
0
0
0
3
-2
-16
-7
36
6
26
-16
-99
-34
0
0
0
0
0
0
0
0
0
3
0
46
-39
2
4
28
-38
0
0
0
0
0
0
0
1
0
1
0
42
23
46
96
98
53
0
0
0
0
0
0
0
0
0
1
1
30
61
32
-31
-32
4
0
0
0
0
0
0
0
0
0
0
-2
0
-8
76
31
8
67
0
0
0
0
0
0
0
0
1
2
0
-3
-42
47
26
59
49
0
0
0
0
0
0
0
0
0
3
0
0
-3
-13
16
45
10
0
0
0
0
0
0
1
0
0
0
33
76
-4
52
0
49
-53
0
0
0
0
0
0
0
0
0
0
18
74
-17
-45
17
-37
30
0
0
0
0
0
0
-2
15
6
9
-30
43
41
-14
4
-20
-22
0
0
0
0
0
0
1
8
5
-5
24
1
-22
25
-14
-9
-80
0
0
0
0
0
0
0
0
-1
-1
-5
31
50
78
-2
21
-76
0
0
0
0
0
0
0
0
0
0
-2
16
-30
6
28
41
5
0
0
0
0
0
0
0
0
-2
2
7
0
61
41
29
3
24
0
0
0
0
0
0
0
0
0
0
0
-1
79
30
43
29
-30
0
0
0
0
0
0
0
0
0
0
0
1
-1
-51
-86
-6
-4
0
0
0
0
0
0
0
0
0
0
18
109
27
62
25
12
-23
0
0
0
0
0
0
-1
0
0
0
6
98
50
-33
4
-9
60
0
0
0
0
0
0
-2
1
-3
-24
1
45
-6
16
44
-40
-28
0
0
0
0
0
0
0
-1
2
0
-8
47
53
3
24
60
13
0
0
0
0
0
0
-3
5
0
0
47
31
-22
-13
-64
5
7
0
0
0
0
0
0
0
0
2
0
-1
53
9
15
-28
40
64
0
0
0
0
0
0
0
0
2
0
-1
-24
5
7
38
48
40
0
0
0
0
0
0
0
0
0
0
0
0
31
-37
-10
-58
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-41
-54
0
0
0
0
0
10
8
0
0
0
-10
-22
-16
43
-6
-36
57
0
0
0
2
3
-29
32
0
0
0
-48
20
-8
12
25
-26
70
0
0
0
0
-1
28
-51
-22
59
13
50
54
14
-38
-8
52
34
0
0
0
0
0
-3
51
14
45
-2
5
8
34
24
-37
-6
-37
0
0
0
0
0
13
6
29
16
-28
1
-17
-11
-15
0
14
16
0
0
0
0
0
-16
-21
-21
-23
46
42
-30
11
-10
26
-42
41
0
0
0
0
1
-1
18
104
81
28
6
-25
123
7
34
-20
-34
0
0
0
0
0
1
20
-19
-41
1
8
-32
1
-9
-5
7
18
0
0
0
0
0
0
0
7
16
2
13
13
-45
31
35
74
9
0
0
0
0
1
5
21
0
0
0
130
-2
54
2
3
58
-22
0
2
0
3
0
-19
20
0
0
0
-18
52
21
-6
28
18
47
0
0
0
1
1
12
-7
14
5
115
7
33
-102
-2
94
-17
4
0
0
3
0
1
2
-9
47
28
15
9
7
-4
70
-7
6
11
0
0
0
0
0
5
6
-41
-3
-1
54
66
-41
7
20
-49
-61
0
0
0
0
0
17
6
58
-12
-5
-35
-58
5
-25
-23
-6
-3
0
0
0
0
0
-1
23
-15
-21
13
39
36
59
32
15
-9
-1
0
0
0
0
0
-1
0
-12
-28
-3
102
76
42
38
28
42
-26
0
0
0
0
0
0
0
-9
37
71
-4
20
-54
25
3
46
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-15
-58
31
-23
0
0
0
19
-25
-38
32
18
-51
-17
0
10
13
-12
-25
-29
9
0
0
0
-2
-22
16
-29
-64
-12
-78
0
2
47
-11
-7
21
5
-6
-1
2
4
-13
2
-35
-57
8
61
1
-1
-22
34
-15
29
12
-4
-14
9
6
1
-7
-17
-71
0
23
0
-12
-3
-9
-4
-42
-19
-9
7
-7
16
9
15
10
-46
-8
-50
4
-7
0
0
0
13
-34
-4
-2
-13
2
-30
56
-20
48
-40
1
0
0
0
-1
0
9
-5
-108
-40
4
-76
-87
-80
26
-102
-43
-37
0
0
0
0
0
-4
-8
-51
-53
87
-95
58
33
-66
-2
27
5
0
0
0
0
0
0
7
-1
-5
-3
0
-10
-12
3
-8
-35
6
0
-3
-34
31
9
0
-14
0
0
0
0
-5
-13
-40
-7
-87
0
-3
-2
-44
-23
57
-17
21
0
0
0
-5
-11
-13
-37
-76
-40
0
1
-24
-59
10
-21
87
16
-35
-11
-3
1
-7
-11
-12
-37
-65
0
0
31
-24
-48
-4
-101
20
-37
-18
5
-1
-11
-4
-64
-24
-70
0
0
-1
11
-58
-42
-110
-69
-49
-10
0
0
8
-5
-23
-30
-68
0
1
-31
-23
-31
39
-11
13
-113
-2
4
8
9
-5
-10
21
-22
0
0
-8
15
-15
42
33
6
-102
-11
10
2
11
12
-14
-92
4
0
0
0
49
35
42
21
-24
-31
51
39
-4
25
0
-27
38
-31
0
0
0
2
13
-42
12
-8
-27
1
38
38
48
42
23
-180
-31
0
-8
-18
84
-25
-10
76
-3
0
0
0
11
8
84
-56
17
-33
0
1
0
-31
5
33
22
2
0
0
0
-5
2
-61
6
-99
-49
0
-4
-7
9
-13
24
2
4
4
0
-50
-52
-42
77
16
-76
-59
0
0
-5
-14
-1
19
1
7
0
-3
-52
-109
-45
-58
-20
-19
6
0
3
6
-7
6
6
-62
4
-3
-2
-37
-37
8
-8
5
-10
13
0
-3
9
3
-8
-13
-24
11
0
-1
-24
1
-57
4
29
-49
-17
0
-7
2
-4
34
-25
-1
-1
-1
-2
38
-50
-32
8
-13
-68
-31
0
8
7
8
-17
-10
-23
1
-2
-7
-21
-23
4
2
-23
-52
-5
0
6
31
-9
-14
-9
7
-4
2
-13
-20
-46
-19
-25
-65
-24
-2
0
0
-9
-23
-22
49
-105
1
0
0
0
-29
5
-32
-11
-90
0
0
-3
-17
32
-17
-8
-13
-6
0
0
0
-23
-14
25
-69
-57
0
0
0
-3
-13
39
-23
-33
6
2
4
14
6
-35
6
-25
-114
0
0
0
-4
-3
1
-13
-48
6
-2
-11
-23
-12
-6
-15
39
-90
0
0
0
6
8
-7
-25
-9
2
-21
-20
-4
-5
-6
12
-103
-91
0
0
-2
9
9
-5
-6
-7
4
-11
-9
-16
-5
13
-6
-105
-9
0
0
-33
13
-10
10
24
-9
-7
-12
-21
28
6
-16
-31
-83
-89
0
0
6
-21
7
-1
-9
-26
31
-16
-5
-5
65
71
18
-60
-56
0
0
0
0
0
0
-1
-1
-1
-2
-17
-13
-8
-49
-45
-84
-69
0
0
0
1
0
-24
3
-40
-54
0
0
0
-1
-9
4
16
4
-125
-81
0
0
-25
-8
-18
-5
-10
0
0
0
13
-8
-17
-21
-6
-101
-112
0
8
-13
-15
-4
-69
-17
-14
-5
-8
17
16
19
-25
-74
-14
-66
0
0
-8
0
-46
-12
93
-20
-1
2
-12
5
-10
-3
-38
-42
29
0
0
7
-13
14
5
-43
-24
-12
-7
-25
-12
4
66
0
65
-4
0
0
2
-4
-16
-13
-19
-59
-30
9
-18
-2
-20
-33
22
-9
-91
0
0
6
0
16
-8
-33
-102
-3
-30
0
3
17
-22
14
-55
-24
0
0
-1
-13
7
0
13
-24
-110
-66
68
-44
-63
-127
-98
70
21
0
0
0
0
0
0
0
-2
-15
-4
-15
7
-51
-66
-42
-1
0
0
1
0
0
0
71
-6
0
0
0
-3
-1
11
-7
7
7
-35
0
0
0
0
-14
-84
32
0
0
0
-6
-8
23
33
2
-33
-6
0
0
0
0
0
0
74
-48
-10
-7
18
42
29
13
-11
-22
-41
0
0
-5
0
6
-14
24
-9
1
-6
1
2
-18
35
-6
3
-6
0
0
3
-22
-16
-7
-32
7
2
-14
-10
-15
12
0
12
-24
15
1
0
0
0
2
-5
3
-4
-15
-4
30
5
6
41
-12
-46
-98
0
0
0
0
0
-41
39
-28
-16
-69
-15
24
22
64
3
-7
-50
0
0
0
0
0
-1
-8
22
-22
-14
-70
26
4
62
23
33
50
0
0
0
0
0
0
8
-14
-64
-4
22
12
-47
16
33
-7
1
0
0
-1
-6
-15
-58
20
0
0
0
19
-39
-27
2
59
1
-27
0
-1
0
-5
-6
21
-12
0
0
0
-2
-38
-30
-39
7
43
67
0
0
-7
4
-35
-37
33
1
1
-5
-12
14
-10
-12
-45
-5
10
0
-1
0
-5
-14
-46
50
3
-14
-3
-4
-2
-21
6
73
13
39
0
0
0
4
-3
-72
9
-2
-9
-1
8
11
16
-41
4
6
111
0
0
2
-8
-5
22
7
-7
-4
1
4
14
-5
21
4
29
-42
0
-2
0
29
11
9
30
-4
5
6
9
10
5
7
39
46
4
0
0
-3
17
-2
-15
-19
14
5
1
15
-3
-29
-19
-72
-27
-5
0
0
0
0
0
-7
-14
-25
-34
59
48
7
-100
-11
14
-33
-25
0
0
0
0
0
66
125
0
0
0
13
-13
8
-18
-42
29
13
0
0
0
0
0
-31
46
0
0
17
18
25
14
79
66
52
89
0
0
0
0
52
32
54
68
26
62
22
-7
-12
46
-71
-46
-6
0
0
0
0
41
-6
25
38
7
9
-34
-11
-120
28
68
100
8
0
0
0
0
-51
-37
13
-1
-25
-26
10
-12
10
85
-100
16
0
0
0
0
0
-47
-62
-53
-10
-23
25
-62
-34
57
-51
-35
-20
1
0
0
0
0
14
-57
-60
-50
-44
29
28
3
-34
46
-44
-71
0
0
0
0
0
0
-93
-20
-28
-16
12
35
5
41
-48
34
16
0
0
0
0
0
0
-15
-57
-103
-87
70
3
-40
3
39
14
0
0
0
0
0
0
0
15
46
0
0
0
-3
-56
3
-17
-3
-3
0
0
0
0
0
5
31
27
0
0
19
33
51
40
36
0
100
0
0
0
0
0
3
30
52
56
37
15
2
10
10
1
16
8
0
0
0
0
0
0
14
28
81
-14
0
-40
25
-22
-26
-13
-20
0
0
0
0
0
0
-53
-4
-48
12
28
-22
-9
-7
-41
-11
36
0
0
0
0
0
0
-55
-29
-22
1
-67
-105
-74
25
-26
-4
3
0
0
0
0
0
0
35
2
-58
-14
-19
54
60
50
-4
3
-43
0
0
0
0
0
0
-6
35
-5
-8
35
2
-26
-46
68
-14
31
0
0
0
0
0
0
0
7
-27
34
20
1
-22
16
-25
27
2
0
0
0
0
0
0
-5
-30
0
0
0
4
27
-18
23
-128
28
0
0
0
0
0
2
31
45
0
0
-26
29
78
68
-78
32
-7
1
0
0
0
0
-4
-76
30
64
18
43
42
37
-5
-44
17
-42
1
0
0
0
0
4
41
-9
47
4
28
29
35
-23
48
-55
-8
-1
0
0
0
0
-12
43
-1
-16
-5
-24
3
-13
13
35
17
-5
-2
0
0
0
0
0
-4
-40
-53
9
-83
-47
32
50
0
-25
5
0
0
0
0
0
0
-52
19
-59
-17
-12
26
-13
56
42
46
61
-1
0
0
0
0
0
2
-36
41
-20
-14
-12
-12
-24
-19
-1
-1
-1
0
0
0
0
0
6
-139
-51
-15
34
-59
31
0
5
-3
3
0
0
0
0
0
1
-3
39
0
0
0
-31
-32
-3
-14
5
0
0
0
0
0
0
49
35
6
0
0
-8
36
20
48
-22
0
0
0
0
0
0
0
49
-54
17
47
-6
28
46
58
-7
26
-12
-4
0
0
0
0
0
27
19
12
-11
27
-67
-7
61
31
10
46
-8
0
0
0
0
0
-77
4
47
11
1
-21
-47
-9
1
11
34
0
0
0
0
0
0
15
-2
3
-42
12
64
-48
-10
7
-59
-3
-1
0
0
0
0
0
0
-3
-21
-17
-11
8
-16
-8
-15
25
-12
-5
0
0
0
0
0
0
13
-29
-67
-64
0
38
14
10
-41
-23
0
0
0
0
0
0
0
-11
-16
-9
-16
99
-49
-44
-4
0
0
0
0
-25
-15
27
-66
-3
1
-58
0
0
0
-42
8
41
13
71
1
-5
13
-72
5
11
18
-49
-9
0
0
0
31
42
-22
58
-3
-22
-15
-1
-27
-13
-36
-24
14
-4
-6
18
0
11
22
31
-5
92
13
9
-61
-5
6
10
-51
-6
23
53
57
37
24
-1
9
45
16
6
-3
-24
54
-37
25
23
17
36
30
-14
-18
44
56
6
-3
60
24
44
-1
-15
72
77
68
42
60
27
26
31
17
0
46
-75
131
45
-42
-37
-48
-124
23
32
-4
17
-12
-14
23
47
-37
-73
6
27
3
7
-9
29
50
-3
-49
1
20
-5
27
-12
17
15
-50
-33
48
26
20
7
3
-49
-63
2
-75
59
-81
9
-23
29
-56
-59
55
-6
-22
3
28
60
15
129
-33
-15
-19
0
0
0
-3
-28
6
-6
23
74
7
46
25
42
75
61
-91
-53
0
0
0
17
-51
32
36
42
-31
9
-18
-45
42
40
38
-29
-2
-63
8
-6
15
31
-17
66
104
57
-44
-30
5
-89
34
-37
-3
-22
-8
-51
-11
14
-56
28
-112
58
68
-31
-60
37
16
29
11
11
30
13
34
4
-35
23
-81
-64
2
9
-46
6
61
-35
-9
18
-24
42
19
0
14
-15
-23
-33
50
78
-30
-6
-29
28
-45
-4
58
-4
-12
18
28
20
10
9
-60
6
22
-41
7
62
-6
-46
-51
-60
94
23
31
42
6
21
58
-4
66
71
-3
31
4
24
20
-5
-62
-40
1
46
-7
47
-67
33
31
4
49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-27
-13
-31
45
26
21
0
0
0
8
5
86
-2
87
-14
0
-33
-30
-14
-21
-3
24
15
0
0
-58
-9
74
-13
49
-7
-9
0
-26
-36
-22
-25
3
11
-30
48
26
35
-52
-59
-103
5
-12
-15
-5
-25
-19
-23
-20
-18
19
54
28
55
-33
-30
-63
-28
-20
-41
-55
16
-32
-40
-21
-16
-13
-10
39
39
-7
24
-20
-80
-2
146
103
7
2
-31
-42
-19
-28
-5
-23
-66
-42
-26
-81
-27
40
24
-38
-8
37
0
136
-22
-14
39
-4
-32
-51
-67
-84
-21
11
49
-54
-41
15
-6
1
-50
-17
-34
19
25
-30
-41
-65
3
74
-19
35
-28
24
89
25
0
-21
-48
-57
-56
-54
-89
-80
-3
-87
14
12
-54
-8
-8
4
0
1
-126
-92
6
1
9
31
81
0
0
-20
69
-29
26
-102
-20
0
0
-136
-91
3
-3
1
11
85
51
39
45
-5
-105
-115
-84
19
-4
0
-96
-41
-12
-13
-1
0
36
49
72
43
-42
18
8
12
4
-3
0
-44
-36
-7
-3
-9
-1
-10
-5
-19
-63
-43
1
12
-100
-45
2
0
-56
-33
-15
1
-6
-9
-24
9
-13
-18
-69
-61
94
77
-19
0
0
-68
-89
-29
-14
7
-19
-20
-31
-22
-33
-136
-45
-64
-114
-43
0
0
-102
-57
-11
2
3
-13
-40
10
-28
-15
16
-87
-30
31
1
0
0
-46
31
-28
9
14
4
-26
-51
-91
23
54
-16
-44
-19
0
0
0
-14
73
9
4
17
22
6
14
93
18
-18
87
-4
0
0
0
0
24
22
32
3
-22
-78
-10
0
0
62
58
-15
7
31
0
0
0
-7
4
3
-23
-14
-18
-37
-26
-63
19
32
-91
-12
-27
0
0
0
-6
-9
-3
0
-45
-21
-12
16
16
13
26
-6
-25
-1
0
0
0
-16
-22
3
-9
-24
25
5
-14
-121
64
-53
37
-59
16
0
0
0
-14
-17
-8
4
41
34
-28
-10
-26
-17
4
-45
16
7
0
0
0
-4
-3
1
-21
22
42
29
0
37
-22
-41
-54
-16
27
0
0
0
-16
-5
3
34
1
38
-8
6
-8
-27
-50
51
98
-6
0
0
0
-12
-6
7
13
32
31
15
8
54
66
31
-30
-29
25
0
0
0
-29
-9
16
22
31
37
59
24
111
-8
-6
24
102
-3
0
0
0
-40
-24
11
45
20
-2
34
3
0
-6
28
-95
8
-5
1
0
0
-19
-29
-5
26
26
36
0
-24
13
-78
60
-28
-78
-8
0
0
0
-21
-2
-16
-1
16
23
51
80
40
-9
-77
-61
-34
-45
0
0
0
-40
-17
4
3
16
-1
50
24
-30
-4
53
-20
-32
2
0
0
0
-27
-22
-14
31
-20
27
-67
-27
5
3
-9
-102
-13
33
0
0
0
-25
-8
-8
17
-47
-5
-9
38
-17
13
30
-6
-96
-3
0
0
0
-74
-23
-16
12
-23
-7
-54
-108
-50
-70
-24
-4
1
-15
0
0
0
-57
-16
-28
16
22
-22
33
-26
-60
-74
8
28
0
0
0
0
0
-41
-33
-45
-23
-68
-27
-48
-30
10
-9
-1
0
0
1
0
0
0
11
-37
-21
-39
4
16
39
0
0
14
76
-87
4
-98
8
8
4
-3
-50
-38
-21
-5
36
71
0
-23
0
-43
5
13
72
27
82
0
11
-36
-35
-31
8
9
27
40
40
39
-13
-57
9
-94
37
-14
1
-11
-36
-46
-20
-30
1
43
46
11
13
-7
-23
-84
-15
-6
-42
3
-34
-27
-47
-23
-3
-9
27
-25
-22
-64
20
-128
21
-69
5
15
0
-67
-39
-16
-20
-35
-25
-26
2
-56
-46
-23
-71
-84
-79
-31
-1
6
-75
-16
-34
15
-26
33
-22
-55
33
-109
-81
-69
-115
2
-5
20
0
15
39
54
-40
-61
-52
-14
-42
-21
-53
101
-15
-26
0
-3
0
0
4
-124
-51
-69
-61
23
-98
-84
-56
-88
-8
-31
-28
-7
0
0
0
-71
4
8
-8
9
-2
-26
-76
0
34
-12
45
-19
20
-4
0
0
-78
16
4
19
-4
-27
-34
0
-95
0
-18
-11
-63
-7
49
2
0
-13
25
14
-14
-14
-13
-1
25
16
12
-8
48
-49
-9
30
1
0
-16
-7
-4
-8
-6
-32
-18
24
48
-6
-16
-1
-8
-43
10
-4
0
-32
-45
-43
-1
-40
8
4
8
20
15
-27
66
16
-33
27
11
-1
-11
-28
26
-6
-18
6
32
8
75
13
-29
41
3
-31
3
12
0
-30
-39
-17
18
-3
3
-7
27
24
-56
-102
-1
-8
-49
-19
0
0
-21
-51
25
8
-6
-17
4
2
-77
-23
-18
-14
2
-8
0
0
0
5
-11
-14
25
10
-41
-8
58
10
-45
13
0
0
0
0
0
0
30
2
7
8
-16
-9
26
0
0
0
-54
-67
39
-10
35
16
18
4
15
12
-6
-26
-66
-58
-48
0
-16
50
89
134
-21
22
32
-47
31
3
-5
-17
20
-10
-21
-3
24
22
128
40
-15
-53
-49
7
-4
11
-4
-18
2
-30
7
-16
-75
-27
13
27
6
7
21
10
6
-10
-17
0
-31
-6
11
21
11
32
-40
-2
-40
-7
-5
-5
-4
-1
0
-40
-30
-22
-42
-72
-34
-21
0
-3
-8
-19
-1
-24
15
-1
0
6
-18
-28
-21
1
7
-26
25
6
18
30
-25
16
28
0
-3
43
0
30
-34
-7
-11
-46
7
2
3
34
99
-45
-4
28
-5
0
0
0
52
-110
27
20
36
-43
-13
-19
9
-32
-8
0
0
-1
-1
0
0
0
0
0
0
0
2
-3
0
0
0
66
64
32
13
20
74
-42
0
0
0
0
0
7
-23
0
0
0
39
68
-1
10
-10
31
17
0
0
0
0
0
3
25
100
-11
10
-53
99
-46
8
-33
-1
65
0
0
0
0
0
0
-88
-29
76
-48
45
26
34
10
0
7
-2
0
0
0
0
0
0
-22
92
3
-27
50
-60
7
2
32
25
7
0
0
0
0
0
0
-36
129
19
5
-68
23
-16
-9
3
-6
-20
0
0
0
0
0
0
-4
-66
17
61
-40
-72
-69
-38
-6
3
33
0
0
0
0
0
0
5
33
-19
-103
-4
15
15
-54
-39
16
-7
0
0
0
0
0
0
0
1
2
2
4
-46
35
-68
-15
-17
28
0
0
0
0
0
0
-20
0
0
0
11
0
-25
-43
95
2
39
0
0
0
0
0
0
9
0
0
0
-46
27
39
3
50
9
-25
0
0
0
0
0
0
23
12
-31
-50
-41
-21
40
-19
-3
6
-11
0
0
0
0
0
0
-1
17
-25
72
12
-55
-48
39
2
-43
-7
0
0
0
0
0
0
0
7
40
59
-41
32
-46
-4
-39
16
-3
0
0
0
0
0
0
0
-3
-4
43
26
2
55
100
-21
31
43
0
0
0
0
0
0
0
0
13
31
-16
-40
-4
24
36
-17
41
0
0
0
0
0
0
0
0
1
27
8
-35
1
-66
67
23
20
0
0
0
0
0
0
0
0
-2
-3
0
-14
0
-66
-24
15
0
0
0
0
0
0
0
3
0
0
0
120
83
5
-1
6
-27
-29
0
0
0
0
0
0
-4
0
0
0
-50
-3
53
67
-15
17
23
0
0
0
0
0
0
31
23
-35
-48
7
1
23
29
50
55
-25
0
0
0
0
0
0
-18
-70
67
-48
13
-104
-19
-35
52
-39
-88
0
0
0
0
0
0
-29
-33
5
-33
-5
20
55
-24
-3
-25
-52
0
0
0
0
0
0
1
-54
9
-16
72
39
46
-47
52
1
30
0
0
0
0
0
0
3
20
-29
30
27
-36
-80
15
-26
40
70
0
0
0
0
0
0
0
0
3
-3
-17
-6
39
66
66
-15
-15
0
0
0
0
0
0
0
0
0
0
7
-10
15
-49
-57
-13
52
0
0
0
0
0
-2
44
0
0
0
-30
79
5
-5
-9
1
59
0
0
0
0
0
3
-39
0
0
0
73
-3
15
14
69
-1
-42
0
0
0
0
0
0
-29
23
-100
23
-33
-6
34
-41
11
-7
24
0
0
0
0
0
1
8
49
12
11
-50
-12
42
13
-14
14
43
0
0
0
0
0
0
-51
-1
15
-58
75
-24
8
76
-62
5
71
0
0
0
0
0
0
2
5
-7
20
28
8
20
33
18
-15
38
0
0
0
0
0
0
1
0
2
-9
-4
-62
47
11
19
33
0
0
0
0
0
0
0
0
2
-7
-3
7
-22
5
12
29
51
49
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-55
28
49
0
0
1
6
-8
43
27
0
0
0
11
-9
39
11
40
15
9
0
0
0
3
2
39
6
0
0
0
11
-6
31
11
7
5
-31
0
0
0
-6
-38
17
-22
83
-8
60
-38
0
1
37
1
20
9
0
0
-1
10
-32
-73
21
7
-44
-25
-28
-15
44
43
36
5
21
0
0
8
30
-4
-2
11
42
18
-28
-1
-22
15
24
0
-14
5
0
0
2
4
0
34
-57
-19
18
-3
14
44
90
0
38
24
1
0
0
0
3
2
-14
54
119
-20
-64
12
3
-25
34
-15
-14
56
0
0
0
0
0
-7
24
-28
20
15
-49
-34
-11
-24
47
-30
66
0
0
0
0
0
-22
10
42
13
-5
-37
-20
-64
43
32
-38
40
0
3
4
-5
85
-90
-6
0
0
0
-3
-26
13
22
28
-7
-53
0
23
-29
-22
-41
21
11
0
0
0
41
-14
-50
20
20
13
-16
0
-3
10
21
59
-52
15
61
-5
-46
21
-7
-25
-3
-9
6
-11
0
-1
22
7
-11
8
33
68
18
-16
-40
28
10
-13
2
3
25
0
0
0
-54
-27
-17
22
94
58
19
10
9
-47
17
5
5
-48
0
0
0
-1
24
-6
30
67
-37
-9
20
-25
17
21
25
23
-2
0
0
0
22
19
-10
33
24
0
24
-32
-9
-2
46
26
9
-6
0
0
0
-2
-5
-12
33
6
1
9
19
4
-26
-58
27
18
48
0
0
0
0
3
-4
79
-1
2
52
6
3
6
29
16
72
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-34
50
-100
-54
-17
0
0
0
-6
-17
67
-49
30
-30
-83
-4
32
-29
-90
-52
-16
21
0
0
0
-5
-19
1
4
-8
-2
-17
0
-91
29
-69
-34
35
-13
27
7
-12
-17
-20
-23
-3
-54
32
83
-20
-93
-66
-50
39
-43
13
-9
-1
-12
-16
-5
-3
46
-32
26
-22
-7
-59
0
-63
-88
-34
-36
-14
-18
-26
-32
-22
-33
-20
20
-21
-31
118
-48
-26
-15
-25
-56
-78
-13
-5
3
-44
-16
18
7
-32
-44
-30
-6
19
-17
-6
-7
-86
20
-36
18
-86
9
23
31
87
7
-7
17
0
0
6
-8
-14
-68
-92
-81
-69
-29
-62
-163
-43
-64
-51
-22
-66
0
0
0
-2
-2
0
21
-41
-42
-7
1
-51
-46
48
-37
-8
-53
4
1
-64
14
24
-16
22
0
0
0
13
-13
-7
-27
8
-36
0
-66
-127
-22
-42
7
-10
-40
0
0
0
30
-12
-11
-6
-4
-23
0
-24
-72
-42
-39
-10
-15
52
9
19
21
25
-3
-6
13
-5
6
0
-1
-55
-99
-25
24
4
-24
-14
13
-4
-10
-7
-5
34
2
45
0
-1
-34
-34
-22
-3
-103
-25
-13
-12
-20
-8
-15
-14
6
-40
-10
0
5
-20
-17
33
8
-34
1
-33
-44
-3
-5
-9
-14
24
-15
-27
0
0
7
22
38
62
13
-23
-2
-29
-8
-8
-15
-21
-1
7
57
0
0
14
69
46
141
15
52
2
1
6
11
11
-10
6
-14
22
0
0
0
97
114
-96
39
6
-1
43
18
25
17
36
23
24
-92
0
13
3
5
-30
-17
17
3
0
0
0
37
-20
5
-8
-58
-15
0
-19
-2
9
-23
14
14
0
0
0
0
20
-52
7
7
-36
-34
0
-9
-50
27
-14
2
13
-4
0
1
21
21
14
-3
-73
-101
-66
0
-9
-2
14
-15
-3
-5
-5
-4
-8
48
13
-25
-48
-67
-66
-27
0
109
-23
-20
-48
-39
-2
-6
-12
-10
-52
-66
-3
-61
33
-98
-5
0
24
58
-30
-23
-35
-38
-11
-16
-8
-73
3
-46
30
-11
-79
-6
0
-15
-46
33
-25
-10
-22
-9
-5
-6
-1
-27
43
0
2
-81
-35
0
29
25
23
-48
-19
-9
-6
1
-22
10
-13
41
-32
-59
-50
-19
0
3
73
-34
1
-15
-9
1
5
-2
-9
-33
43
-5
20
-42
-17
0
55
0
-44
-17
51
-2
3
0
0
0
-14
11
18
30
-48
0
0
-17
44
40
31
49
47
10
0
0
0
16
7
12
14
-15
0
0
-10
-56
-31
15
7
47
6
3
-11
-44
-8
20
6
25
-107
0
0
-29
-4
-10
20
-21
-9
9
-21
-27
-33
7
7
9
24
-19
0
0
-17
-10
47
-60
-120
-55
3
-11
-40
-11
-3
5
4
-12
-29
0
0
24
-30
0
5
-20
-4
-17
-28
-28
1
46
3
-3
-92
1
0
0
-19
-9
-43
-9
-60
-30
-22
-22
-33
-25
16
-23
6
-44
-56
0
0
9
-35
-35
19
11
-5
-14
-43
-6
14
13
-57
40
-114
-47
0
0
0
0
0
4
-7
-13
2
-90
-55
-1
-12
-61
-5
-73
-16
0
0
0
-8
52
-79
-39
-45
47
0
0
0
7
-11
6
43
1
7
8
0
-22
-47
5
20
3
-3
0
0
0
8
-10
-10
18
-3
5
-105
-2
87
-49
-50
37
-56
-9
17
-30
12
-14
-18
-14
12
-28
4
-18
0
-37
-43
0
-91
-24
14
-35
-19
-9
-32
-32
30
13
25
-22
5
0
-20
-37
-93
-42
-16
-2
-8
-11
-17
2
-10
8
11
38
-47
-93
0
0
3
-73
-90
-115
103
-22
-10
-34
-34
52
23
-73
3
-40
-92
0
-25
-47
5
29
-13
12
-55
-61
-36
40
-28
-19
-24
40
-23
10
0
-5
24
-4
7
-52
-18
-102
-67
-14
30
16
-94
-28
-68
28
34
0
1
9
0
-6
-4
-13
-15
-8
-33
-78
42
18
-74
-75
-123
-53
0
3
0
4
-3
-19
0
0
0
0
-38
-25
-14
-14
-40
17
14
-1
-2
0
-71
-28
-62
38
0
0
0
-33
18
-18
-8
-3
5
2
1
0
-4
-1
-96
24
0
14
2
-28
15
-35
0
39
27
-7
-5
0
-1
5
35
42
15
-19
5
-16
17
4
-32
-13
-17
-46
-7
-33
-1
-3
3
12
12
-27
33
-40
-9
-11
-13
-15
-5
-11
40
-18
-34
6
-3
6
-13
19
31
-13
-36
-38
-37
1
-1
44
-71
-7
2
-27
0
-1
-6
17
-9
-58
61
24
-27
-28
4
2
31
6
-31
-74
53
0
0
1
0
15
-43
27
-76
-44
12
-7
-1
-24
-76
-24
-115
-9
0
0
0
0
0
-4
-27
-49
-13
5
104
-10
51
33
53
-1
-67
-1
-3
-7
-34
28
-22
0
0
0
0
-77
-14
8
-24
5
48
-1
-1
32
3
-37
-50
-21
16
0
0
0
-91
-14
-10
-14
34
-23
2
-9
76
-42
-32
-75
-59
-11
-8
-42
-51
-30
-8
-42
27
67
29
36
-8
11
4
-11
5
-9
6
-16
-6
11
-35
-17
47
-42
55
-2
39
0
-5
-10
-27
-43
-46
7
-22
4
7
-13
20
-35
-26
-2
16
-24
0
-32
41
-38
10
-2
36
2
7
11
1
4
23
6
-22
-19
-7
0
-33
-65
-70
-21
22
-3
13
6
-9
38
0
-5
-1
13
-19
-7
0
-11
-18
-5
54
-31
-26
9
-11
-10
-15
22
16
-3
8
-17
2
0
0
-1
-8
31
-39
16
16
-13
35
-12
-28
-39
52
21
-58
-17
0
0
0
0
0
29
124
0
0
0
-4
-6
-6
27
-86
14
39
0
0
0
0
0
25
10
0
0
23
64
0
-37
5
-15
72
-8
0
0
0
0
25
25
31
45
53
25
-12
4
48
37
56
-20
-1
0
0
0
0
41
7
-35
-9
53
15
-27
-17
26
-9
-15
50
-1
0
0
0
0
-49
-35
-65
-14
34
-26
11
-56
59
7
-13
51
-1
0
0
0
0
-49
75
-25
-10
1
-9
25
-34
-6
-13
37
33
-1
0
0
0
0
9
-119
-51
9
-5
11
-3
4
48
14
-62
13
0
0
0
0
0
0
-5
-25
15
-7
-56
-39
48
31
-30
15
10
0
0
0
0
0
0
-15
-4
-37
-29
-44
-15
-41
26
-8
-9
0
0
0
0
0
0
0
12
-1
0
0
0
0
3
42
-21
22
-3
0
0
0
0
0
5
13
16
0
0
15
-31
68
34
-5
-23
16
0
0
0
0
0
3
6
-21
33
0
-17
18
-10
-13
-17
4
-6
0
0
0
0
0
0
4
-3
45
12
26
58
-38
24
26
-25
-16
0
0
0
0
0
0
-98
-58
-42
120
29
-32
14
-3
-27
40
-25
0
0
0
0
0
0
-5
-43
7
-18
-20
-13
-6
-8
5
5
-6
0
0
0
0
0
0
2
-47
26
21
-26
65
-29
-14
-46
10
-17
0
0
0
0
0
0
-6
-42
15
4
41
-19
-60
-49
28
-5
17
0
0
0
0
0
0
0
-39
-57
2
44
14
-13
-3
-8
-5
2
0
0
0
0
0
0
5
10
0
0
0
88
39
19
-37
-49
23
0
0
0
0
0
2
-14
-5
0
0
-2
-26
-1
66
-24
46
44
1
0
0
0
0
-4
53
35
30
-3
22
27
46
60
-10
29
3
1
0
0
0
0
4
-38
-40
39
29
-76
48
18
7
23
-4
-4
-1
0
0
0
0
-12
55
-39
-4
-4
59
-3
19
48
21
-9
-5
-2
0
0
0
0
0
-5
-6
-21
-27
-31
-56
7
55
-4
-16
-2
0
0
0
0
0
0
-25
16
-99
-17
-57
49
-14
-3
-5
6
14
-1
0
0
0
0
0
2
-31
-31
-49
-62
-77
0
-17
36
3
-1
-1
0
0
0
0
0
6
-66
-55
-28
41
-24
37
2
4
-3
3
0
0
0
0
0
0
126
35
0
0
0
-1
25
16
-36
28
0
0
0
0
0
0
34
62
3
0
0
-19
19
50
-12
-31
-15
0
0
0
0
0
0
63
92
35
72
54
54
-42
7
82
-19
-5
-4
0
0
0
0
0
-18
22
26
-2
77
34
4
44
12
33
-2
-1
0
0
0
0
0
-61
-29
12
46
-14
42
-52
55
23
17
14
0
0
0
0
0
0
-1
-27
-23
-23
-49
39
-54
-7
-8
-32
-23
-1
0
0
0
0
0
0
7
-14
-38
-14
-41
-2
75
-45
17
-15
-5
0
0
0
0
0
0
-3
-71
65
16
49
13
-15
-14
12
-8
0
0
0
0
0
0
0
-12
-13
-12
5
20
13
-2
-7
0
0
0
0
2
43
73
0
11
-11
-29
0
0
0
35
31
50
50
55
5
-7
-97
42
48
-40
-18
-35
-48
0
0
0
2
32
-58
40
34
35
2
31
-1
41
22
102
-51
-27
-15
10
-38
-23
-10
23
-42
13
41
14
-59
-59
28
4
-28
0
-27
-33
-2
16
18
-54
-54
36
28
31
-3
17
31
-49
-61
1
-8
-4
18
37
-7
-17
49
-39
78
-31
-21
-13
14
-28
-31
38
49
1
-31
39
5
24
-14
-16
52
-16
123
33
-13
0
-75
-75
27
-25
-8
58
3
-41
-29
31
-1
-33
-27
-9
-29
-2
5
13
-21
-42
46
40
-34
15
26
-36
-3
-4
-59
-10
6
39
29
-15
-14
-34
-45
-45
-168
0
-13
5
-31
3
-54
-92
12
7
-35
3
69
43
69
50
-145
-49
3
0
0
0
-36
14
43
5
50
83
27
-10
-74
60
5
58
-32
-49
0
0
0
-6
11
39
70
13
-13
54
-42
13
-6
-58
25
-18
-36
-67
-31
-9
12
14
-21
100
44
31
14
-52
-57
-15
21
23
74
-7
-7
-78
20
-20
38
34
-46
-39
29
-8
-39
29
-18
-6
13
20
42
-2
-27
1
-41
-19
-14
-36
18
-1
-33
71
45
-3
34
-65
-5
53
-8
0
22
-29
8
-20
93
28
-6
-18
-25
-20
-50
14
-25
-95
-1
55
18
16
-1
0
-15
83
11
-24
28
46
-26
-46
-8
-95
29
70
-9
14
72
55
14
-30
-22
75
35
13
-2
9
3
21
-59
-40
-40
33
-8
12
-14
-3
-1
24
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
-3
32
-10
0
80
0
0
0
44
-39
-5
41
76
-13
0
-50
-23
-15
-11
46
21
-3
0
0
-56
13
3
-27
22
-17
3
0
-63
-14
-19
38
2
35
26
89
44
6
4
-32
-13
32
39
14
-3
-66
2
35
-3
60
32
54
24
35
35
-15
-56
-66
-28
-25
-16
18
-68
50
-16
32
5
37
21
39
-9
-64
1
-15
-47
67
18
17
2
-88
-1
-35
24
-10
-4
43
-92
-62
-55
-28
16
-29
-93
-31
22
0
-4
-2
-37
7
3
-6
50
96
38
-28
-51
29
1
5
-10
-14
1
-33
-44
2
-5
-13
29
30
-3
-72
9
-49
-39
2
12
65
-2
0
-21
-53
-76
-47
1
-27
-75
-9
-67
4
-3
-41
-31
-6
-5
0
1
-83
0
-10
-12
19
3
62
0
0
25
93
23
23
-37
-30
0
0
-47
-46
-9
13
10
-9
71
42
49
54
22
-8
-56
-43
18
-10
0
-74
-31
16
-14
6
1
19
26
45
30
7
-84
46
-72
-3
7
0
-58
-17
-13
-16
-1
-17
-11
5
2
16
-20
22
12
-106
-29
2
0
-74
-48
-2
-1
-3
-17
-19
-1
15
-1
57
-35
-47
35
7
0
0
-72
15
-28
-29
-19
-9
-5
-16
-16
21
4
-49
-9
-78
-39
0
0
-20
-4
-16
-12
-19
-23
11
-34
-36
-47
-13
-30
-14
10
6
0
0
-14
-14
-9
-8
4
-1
-4
24
15
1
-61
98
-65
-44
0
0
0
-72
-36
44
9
-26
-15
36
10
24
-27
32
56
7
0
0
0
0
-14
11
16
-14
-27
-36
-19
0
0
47
-22
-17
6
-15
0
0
0
-2
-1
3
20
-12
-18
28
-18
-52
8
62
-41
-1
-6
0
0
0
-17
-11
4
-12
-12
-29
62
26
23
3
70
-7
-10
-1
0
0
0
-15
-10
2
-3
0
7
86
16
-33
-36
22
26
-12
19
0
0
0
-23
-13
-13
6
11
-21
1
41
-32
33
-1
-64
-3
8
0
0
0
13
2
-18
22
30
28
-20
51
33
12
-73
-24
-12
27
0
0
0
-2
-7
6
-11
5
42
26
-91
52
-4
-30
22
-22
-6
0
0
0
-6
-4
-1
13
17
-13
12
2
-10
32
41
33
4
18
0
0
0
24
-2
8
-4
7
6
48
-2
-18
19
-65
0
110
-3
0
0
0
25
-10
17
-17
37
39
37
-29
0
-23
5
-59
-10
-26
1
0
0
-8
-10
-17
-1
38
54
0
0
10
7
59
31
-85
10
0
0
0
-13
-15
-14
42
9
44
36
36
39
38
-34
-6
-1
-28
0
0
0
-21
-7
30
41
3
15
10
0
7
40
12
-12
-15
-23
0
0
0
-21
-22
12
1
60
6
36
-6
-49
-17
-24
-64
1
34
0
0
0
-8
3
-23
42
25
23
-10
42
-70
-35
8
1
-90
-29
0
0
0
-18
3
31
-34
45
-15
-11
-6
-36
-64
-19
10
2
-34
0
0
0
-74
-13
6
67
3
63
71
-4
-23
-52
3
-19
-18
0
0
0
0
-41
-41
-22
7
-19
-79
-37
-31
17
-6
1
0
0
1
0
0
0
-17
-12
-15
29
50
55
52
0
0
-8
28
-44
-21
-164
-19
12
5
49
14
16
1
26
11
16
0
-96
0
36
-19
34
14
43
58
1
-51
-1
-20
-52
7
25
23
49
41
79
31
-9
22
-49
12
-33
2
-17
5
5
-1
62
-26
-27
-12
-9
-34
-20
5
-111
8
24
-28
3
-15
27
-17
-6
3
43
-10
0
-50
13
-41
-91
-12
-15
52
12
0
43
0
40
-31
5
-39
-8
-57
6
-55
-89
-77
-41
-65
-2
1
6
-92
-58
-65
-19
-8
-2
33
-16
-62
-47
-94
-32
-74
-9
-3
6
0
47
31
65
-19
55
56
-71
-18
-7
26
37
-19
-50
3
-3
0
0
4
-45
37
-74
-28
22
-50
-66
-22
-66
-33
-42
-13
-7
0
0
0
-34
48
-16
-10
29
-22
-15
-54
0
29
22
-1
33
-4
-4
0
0
44
-11
3
-23
54
-3
-70
0
-18
0
36
-6
-99
-22
33
2
0
-34
18
49
57
-3
9
-46
-3
2
14
-13
96
-21
4
13
-1
0
11
31
-75
56
14
-8
8
-7
-21
46
-16
-43
-67
-17
30
-3
0
11
73
7
23
29
-27
19
11
-50
88
-43
81
28
-20
-11
-5
-1
-72
33
-10
-56
32
-64
-10
31
-18
33
-5
-3
-34
-6
-4
15
0
6
-7
-6
5
-36
-13
-72
-21
56
-50
-92
-39
-27
-21
-2
0
0
-1
8
0
-27
-2
-34
14
-11
-45
-13
-18
-14
2
-8
0
0
0
22
-49
-21
21
-53
-20
-33
12
18
-50
13
0
0
0
0
0
0
-23
35
33
25
29
-57
-82
0
0
0
5
48
11
-16
41
-5
-9
13
4
14
7
-8
-60
-89
-114
0
-74
11
83
51
0
-31
-5
-4
-21
7
-27
-3
28
18
-38
0
13
36
36
26
-15
-67
0
32
-9
-12
11
-14
3
-37
48
55
18
-44
7
63
-15
66
-2
-12
16
-8
44
0
22
-4
-30
-76
5
51
43
32
-50
14
38
-5
-4
-1
0
7
-24
-5
-9
28
-24
11
29
14
-45
41
-43
49
29
-1
0
6
-73
6
-10
2
36
73
56
8
26
-3
-4
-10
-12
0
-3
23
0
-19
-36
13
-50
-4
-30
-111
4
28
67
-25
14
5
-3
0
0
0
-6
-104
51
-14
3
-69
-2
-69
-27
-26
-19
0
0
-1
-1
0
0
0
0
0
0
0
2
-11
0
0
0
66
27
-11
-3
42
52
21
0
0
0
0
0
6
-5
0
0
0
122
9
70
-5
41
-31
-4
0
0
0
0
0
3
-66
28
13
9
-40
-5
44
-21
7
-14
-4
0
0
0
0
0
0
-20
14
45
-54
50
1
-2
59
42
43
-54
0
0
0
0
0
0
8
75
9
-16
72
-4
63
50
25
4
29
0
0
0
0
0
0
-70
50
49
-41
-10
-17
-33
6
24
63
-5
0
0
0
0
0
0
9
-25
56
27
-27
18
-20
-34
9
-26
-4
0
0
0
0
0
0
5
-5
-30
-7
-60
58
-13
-56
58
-2
13
0
0
0
0
0
0
0
1
5
2
8
-104
-23
-51
24
42
4
0
0
0
0
0
0
0
0
0
0
21
70
-12
-1
51
-57
-23
0
0
0
0
0
0
0
0
0
0
-1
33
-1
1
22
18
103
0
0
0
0
0
0
5
-10
-16
-17
11
-68
-9
-71
30
8
-6
0
0
0
0
0
0
-1
2
-6
25
-6
-14
61
-10
19
53
75
0
0
0
0
0
0
0
0
1
69
-58
-8
-13
-12
-37
-94
58
0
0
0
0
0
0
0
-8
-7
13
13
-16
-30
63
48
-30
11
0
0
0
0
0
0
0
0
12
49
-5
-22
-30
11
59
57
-38
0
0
0
0
0
0
0
0
-2
6
5
-41
19
-89
3
4
15
0
0
0
0
0
0
0
0
-2
-3
0
-14
-13
-60
-9
-14
1
0
0
0
0
0
0
-16
0
0
0
76
-22
37
6
13
38
-24
0
0
0
0
0
0
4
0
0
0
16
-9
33
26
41
7
9
0
0
0
0
0
0
-34
13
-29
-19
-139
-21
5
33
-16
53
-6
0
0
0
0
0
0
-5
-7
-2
-86
54
-67
-36
9
58
10
-64
0
0
0
0
0
0
-19
-2
31
-60
-1
-13
10
52
43
-4
-23
0
0
0
0
0
0
1
-24
6
5
67
55
101
-19
-7
34
55
0
0
0
0
0
0
3
-8
-42
-2
22
-57
-7
-16
-31
11
45
0
0
0
0
0
0
0
0
12
15
-30
0
-22
4
103
100
-2
0
0
0
0
0
0
0
0
0
0
7
-15
29
-40
6
-68
11
0
0
0
0
0
-2
-10
0
0
0
90
-6
96
27
-24
-11
4
0
0
0
0
0
3
-14
0
0
0
138
-54
28
-8
2
35
11
0
0
0
0
0
0
7
2
-69
-13
91
36
63
6
-3
-17
148
0
0
0
0
0
1
7
44
0
15
-99
-36
-2
25
2
-29
55
0
0
0
0
0
0
-13
-8
35
-51
12
-82
-79
53
49
-28
63
0
0
0
0
0
0
0
5
-8
21
15
-1
66
-45
32
-80
56
0
0
0
0
0
0
1
0
2
-6
-28
49
68
18
62
-18
-49
0
0
0
0
0
0
0
2
-7
-3
-2
-14
-13
-28
64
81
31
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
23
-59
75
0
0
1
6
-18
22
4
0
0
0
15
53
39
-15
14
-51
29
0
0
0
3
4
22
-53
0
0
0
-4
-2
-12
36
-8
-12
-32
0
0
0
-6
-20
-23
86
20
-30
16
34
1
-2
-13
29
-12
-49
0
0
-1
0
3
-123
17
-25
69
1
24
21
-5
-5
10
-1
20
0
0
-2
-13
4
-20
-32
12
52
-74
-63
-62
-2
-16
43
-67
-16
0
0
2
4
23
42
-15
14
-44
2
-11
46
50
4
27
64
-23
0
0
0
4
2
-22
2
-57
23
-82
60
23
7
30
-25
26
40
0
0
0
0
0
-6
-21
39
-23
-17
-12
-57
-43
-12
10
-76
87
0
0
0
0
0
-22
8
43
-5
-9
-44
22
-44
20
-10
-6
27
0
3
4
-8
47
-74
-5
0
0
0
13
-22
-14
57
32
-18
-17
0
29
-5
19
44
6
-17
0
0
0
-31
-50
6
-42
41
23
-24
0
-3
-9
-2
22
37
31
-30
40
-9
7
-6
-37
20
-14
-15
-22
0
-2
-1
5
29
46
10
12
-13
22
-1
-21
-61
-4
-10
12
-23
0
0
1
-19
-13
-4
41
105
-4
68
-36
-37
2
29
11
-8
7
0
0
0
3
3
7
-38
78
11
-64
47
25
-5
17
-13
27
46
0
0
0
0
21
29
-4
9
-12
26
63
-65
-18
-24
2
9
22
0
0
0
-2
-3
13
12
-32
-33
123
75
-39
22
-23
9
-15
92
0
0
0
0
3
-4
45
22
-29
42
18
-7
30
-23
11
28
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
32
6
-18
-31
34
0
0
0
-1
39
-53
-40
6
17
-69
-2
68
-29
-72
-69
16
-6
0
0
0
-10
20
16
-18
10
1
7
1
-64
-69
0
-41
-7
-3
9
-12
-8
38
-49
48
14
44
24
47
-4
-97
-43
-33
51
-93
-25
-37
49
-20
-31
-25
-15
48
13
42
-46
-7
-52
25
-80
-60
10
-94
-55
38
28
-17
-8
-14
18
72
-5
41
28
-27
-54
-7
-24
-13
-59
1
4
-16
-27
55
-21
32
5
78
-24
-6
17
-8
-16
30
-45
-13
-17
40
-86
-52
-35
39
-45
-11
-32
-7
0
0
6
-8
-14
-106
-87
-48
-40
-68
-36
-26
-22
28
41
-18
-34
0
0
0
-2
-2
0
17
-37
-30
13
-1
-41
-18
41
-43
-33
-95
2
-40
-52
41
0
-44
10
0
0
0
9
0
-21
3
-30
39
0
-20
-68
-58
17
-24
18
18
0
0
0
16
-1
14
-37
-7
-14
0
-6
-46
-13
47
28
31
11
24
8
15
3
-15
8
9
26
-53
0
1
-13
-93
44
-128
-42
-5
-10
-9
-2
-4
-6
15
15
21
-23
0
-1
-41
-35
47
-15
6
-10
2
1
-9
-7
0
-6
7
25
-36
0
4
85
-47
54
-32
-33
-7
-10
-8
6
-1
-4
-6
-32
51
31
0
0
13
92
37
-44
-11
-51
-12
-10
4
16
-11
8
13
-63
30
0
0
14
-2
-9
71
5
-10
-18
25
19
-17
-4
19
-1
-31
22
0
0
0
22
90
5
51
23
-10
24
9
17
27
-31
13
-58
-15
0
13
-5
34
-41
-2
18
3
0
0
0
-27
38
20
-46
-54
-9
0
19
-24
-12
-18
2
20
-2
0
0
0
40
-20
-19
45
45
-10
0
-27
-55
22
-13
-9
14
3
-5
1
71
48
34
14
3
22
9
0
17
15
-26
-21
-6
12
-11
-1
-5
27
26
57
1
23
-108
-25
0
43
16
-39
-36
-34
-12
-11
10
-20
-48
-18
63
-24
25
-118
-7
0
-5
44
-34
9
-24
-22
-18
6
-13
18
42
-8
52
-71
-57
-20
0
44
13
-5
-46
-22
-4
-11
-2
3
-65
-3
1
-86
12
-50
-35
0
22
-48
35
-23
-7
-10
-3
0
-21
-37
-15
10
-73
6
-61
-18
0
22
0
-76
-24
-21
-11
-10
1
-2
-42
53
2
-22
-14
-15
-16
0
26
-32
-30
14
5
31
3
0
0
0
44
11
3
-5
49
0
0
-10
24
-9
0
22
38
11
0
0
0
18
8
21
-8
-2
0
0
-4
5
-22
9
-6
48
19
23
-16
-21
-11
38
29
27
-49
0
0
-40
10
23
41
-32
-3
4
-21
-2
-1
24
11
-21
-51
-5
0
0
6
-18
-5
-52
-19
-6
-7
18
-9
15
1
-2
-44
-40
36
0
0
11
-65
46
-36
-28
-28
-16
10
-7
18
23
-18
39
6
-32
0
0
15
5
-47
-30
-50
-1
-23
-5
-2
-9
-2
-35
-39
50
-28
0
0
-19
-14
-23
-56
-16
-1
-5
-10
-43
-36
0
85
-37
-26
-41
0
0
0
0
0
3
-5
-2
23
-24
-12
-17
59
9
26
-29
7
0
0
0
-8
38
-58
-45
-52
-48
0
0
0
15
21
21
32
36
-52
19
0
-40
16
36
24
-27
13
0
0
0
38
15
10
8
47
38
36
0
-8
-32
-4
14
-2
14
18
-17
13
28
56
30
30
61
-10
25
0
-43
-61
20
-23
15
-85
-19
32
-27
30
43
-34
57
47
20
19
0
-19
4
-102
-18
-24
9
-55
-17
39
20
1
-16
-20
63
24
-11
0
0
-34
-29
-82
-129
14
-13
38
47
-4
4
-30
43
-17
19
-50
0
-27
-50
-34
56
-48
-4
13
-1
28
-16
4
-46
2
40
-28
13
0
-3
20
42
5
-25
-9
-13
-61
-55
-6
-118
-105
15
-63
-124
-53
0
1
9
0
-6
-5
-8
-12
-5
-24
-55
13
37
-66
8
-95
-46
0
3
0
-10
-37
-23
45
0
0
0
9
0
-69
0
54
-92
-49
-1
-1
0
-57
4
-12
53
0
0
0
40
-8
56
-40
-3
-5
44
1
0
-4
-32
-30
59
43
-48
0
-29
45
55
-39
-12
14
-21
47
0
-1
-10
42
19
-38
11
4
-20
25
65
-15
8
-49
31
9
5
-1
-3
0
40
30
-34
49
-83
-29
60
9
40
-13
-42
41
-117
-16
6
-3
5
1
-15
32
62
-12
-36
59
-68
40
8
-56
31
36
-80
0
-1
-8
26
-3
-73
-22
-38
-10
-21
-46
66
32
-40
-23
-30
-8
0
0
1
-1
18
-44
5
-26
12
-49
44
6
-22
-76
-31
-41
-30
0
0
0
0
0
-1
-55
-56
-24
43
31
-5
50
27
0
16
-29
-1
-7
-12
-51
48
-36
-13
0
0
0
27
-36
49
14
14
-22
-37
7
55
-22
-48
-15
17
31
0
0
0
-49
13
48
14
-23
9
36
-3
43
-45
-56
-42
11
-46
-24
-71
-28
10
25
15
10
17
13
-28
7
11
-32
-45
-63
56
-5
18
-13
28
-13
-36
52
-22
4
5
17
20
-26
-15
-50
20
-58
-4
-7
20
10
-34
58
-5
-21
5
-18
6
0
-29
29
42
20
-102
17
6
-3
27
-13
-38
-65
46
-40
9
30
0
-7
-25
-14
-40
11
21
28
25
21
20
-60
49
-20
-9
13
3
0
-2
6
20
-7
-12
-16
18
41
-6
47
5
13
-23
84
19
-73
0
0
-1
3
-1
11
35
-26
-58
-42
33
80
18
15
-1
42
-57
0
0
0
0
0
-9
53
0
0
0
26
-16
7
8
9
1
0
0
0
0
0
0
-13
-68
0
0
-80
-28
11
16
-12
2
13
0
0
0
0
0
0
-7
-11
-57
46
5
11
28
43
9
5
6
0
0
0
0
0
0
0
-43
-31
19
-45
8
12
44
-14
-42
0
0
0
0
0
0
-1
10
-24
31
50
76
29
-12
-20
-19
7
-1
0
0
0
0
0
-2
-5
-3
-20
93
31
-28
10
31
-5
0
0
0
0
0
0
0
0
-23
47
31
10
43
-9
-7
-17
-16
1
0
0
0
0
0
0
0
0
2
7
3
-11
-7
0
-28
0
1
0
0
0
0
0
0
0
0
-3
17
-43
-54
1
5
-1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
4
8
-5
1
0
-2
0
0
0
0
0
0
0
-15
0
0
17
-28
41
-5
2
-1
0
0
0
0
0
0
0
4
-24
-72
41
-55
-1
24
13
-1
1
0
0
0
0
0
0
0
2
-1
-16
9
13
35
9
12
1
0
-1
0
0
0
0
0
0
-1
8
1
60
14
-22
26
0
-2
0
0
0
0
0
0
0
0
-2
5
0
-49
6
14
44
2
2
-3
-1
0
0
0
0
0
0
1
-24
13
-13
-31
-24
-3
3
-2
1
0
0
0
0
0
0
0
0
13
-41
-63
-45
20
-7
-9
0
5
3
0
0
0
0
0
0
0
1
-5
3
19
0
2
0
0
0
0
0
0
0
0
0
0
2
41
0
0
0
16
9
45
-16
-3
0
0
0
0
0
0
0
0
30
0
0
-70
31
5
18
33
12
-1
0
0
0
0
0
0
-22
10
-11
-58
44
28
51
-1
-2
10
2
0
0
0
0
0
0
-6
-48
11
18
45
37
42
12
-5
0
0
0
0
0
0
0
0
3
-24
-19
42
26
26
-4
13
4
0
0
0
0
0
0
0
0
0
-42
-8
1
7
-14
4
-5
4
0
0
0
0
0
0
0
0
0
-15
-13
-26
11
-15
13
-4
0
0
0
0
0
0
0
0
0
0
-1
-6
-31
-7
-17
5
1
0
0
0
0
0
0
0
0
0
0
-1
9
-42
-5
-12
-1
-1
0
0
0
0
0
0
0
0
0
21
16
0
0
0
59
12
5
-6
2
0
0
0
0
0
0
0
19
4
0
0
-4
-2
-10
-9
7
-3
0
0
0
0
0
0
0
-4
68
82
53
10
-5
-8
5
-19
0
0
0
0
0
0
0
0
-17
40
-45
28
48
-5
-14
8
4
0
0
0
0
0
0
0
0
-30
7
-34
-7
-2
-24
32
20
-2
-1
0
0
0
0
0
0
0
4
-44
45
-23
43
-15
-6
-5
5
0
0
0
0
0
0
0
0
1
-22
0
-23
-25
15
7
-1
2
0
0
0
0
0
0
0
0
1
-7
33
5
-41
1
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
-3
0
-2
0
0
0
0
0
8
8
4
15
-9
6
0
0
0
16
-25
-5
-2
-1
0
0
-5
8
-5
-48
98
-17
3
0
0
0
-57
-30
5
7
-6
0
0
5
18
-18
9
54
-61
4
-48
2
-14
8
41
15
8
-14
0
0
15
-7
8
-14
-32
-13
-29
-58
2
-2
24
33
15
9
4
-1
0
-5
-1
23
-20
10
24
-30
54
92
33
23
-15
2
-2
3
0
0
0
-8
-14
8
15
-22
0
-99
1
8
14
8
25
-19
-4
8
0
0
4
39
-13
10
-32
-5
14
-4
-13
-61
-10
11
-5
0
-2
0
0
-3
-16
-24
8
0
-59
-25
17
3
28
12
-2
-2
0
1
-1
2
1
4
2
0
-15
-1
7
11
4
17
14
6
1
0
0
0
-9
-7
9
-9
-8
2
38
0
0
0
-56
41
-5
14
13
5
1
10
3
25
-2
25
41
11
0
0
0
2
55
-19
40
-25
-5
3
-24
-27
-42
7
9
41
42
-31
32
12
17
-24
45
-11
-9
6
1
-6
5
-13
30
22
14
44
-12
-42
-8
5
41
-41
-9
-12
0
0
0
-41
15
-13
-31
19
-26
-40
29
-42
17
40
42
-9
-2
-4
0
3
-1
-16
-21
-10
-15
66
34
-68
47
-75
-10
29
-6
-1
0
0
-7
-8
-31
5
32
-24
-35
31
-26
-4
-48
7
10
2
1
1
1
2
18
-8
-2
-8
2
5
-15
11
23
-23
-13
7
1
2
0
0
0
-2
0
0
1
7
-27
14
33
27
-3
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-63
5
-60
5
2
74
0
0
0
14
29
-37
2
1
-14
0
-14
18
36
19
-9
-4
88
0
0
4
-44
49
-9
13
0
8
0
-33
-17
33
-13
5
26
33
72
-24
-63
-26
41
47
4
1
-1
0
-15
-8
-64
79
23
-41
-1
-15
-43
95
-28
-7
18
1
-2
-3
0
-11
16
29
28
-58
-31
-43
27
37
34
-41
6
-14
-14
7
0
0
-25
21
22
30
16
-26
1
32
-33
-25
24
25
-3
-15
1
4
0
-41
-10
58
-13
7
-75
-20
5
29
-8
10
3
-9
0
0
0
0
-10
-6
-18
-12
-3
24
0
-24
-39
-12
-13
15
-4
5
0
0
0
0
-5
5
-9
2
7
-29
-4
-6
12
4
-6
-3
0
0
0
0
-5
15
-38
-50
-14
73
24
0
0
-9
-8
-25
17
34
-1
0
0
-18
-78
-68
-31
-2
3
76
-37
44
78
49
38
-52
-10
0
0
0
40
-57
-68
-27
-42
-9
49
13
76
-3
-10
-9
9
-5
0
0
0
-17
-52
-53
16
24
-20
15
31
3
-24
4
-4
7
-7
0
0
0
-22
9
75
3
1
-42
-9
23
-9
42
5
17
-22
2
0
0
0
27
-111
-39
6
20
-40
-33
9
61
33
-32
12
4
1
0
0
0
-5
53
-19
-66
-20
13
50
18
28
-31
-47
16
-18
-3
0
0
0
1
50
-20
22
18
-18
41
9
117
35
-48
31
-8
0
0
0
0
-21
-13
53
-4
-41
-132
-35
13
-15
-12
5
1
0
0
0
0
0
-34
1
25
40
93
12
-23
0
0
-8
3
-4
0
1
0
0
0
50
2
-5
23
38
-14
10
-28
34
-7
17
-10
-1
0
0
0
0
-32
0
24
9
9
-7
32
-40
-3
-20
22
-2
0
0
0
0
0
20
-4
7
-9
9
14
-11
-25
29
2
7
1
1
1
0
0
0
2
0
0
-1
10
-4
-8
57
-6
2
6
-1
-1
0
0
0
0
9
5
3
9
9
30
6
-9
23
-7
-5
1
1
0
0
0
0
-13
-22
-3
-14
13
-25
19
-49
-1
-7
-5
-2
-1
0
0
0
0
-10
1
-41
-26
27
34
41
-32
-3
-3
0
-1
0
0
0
0
0
-12
-7
3
-40
2
-7
-58
17
-25
2
0
0
2
0
0
0
0
-45
-14
-44
31
-24
42
-1
-41
0
57
13
-8
4
0
0
0
0
-4
34
30
-21
59
48
0
19
-2
-2
-8
22
7
-4
0
0
0
-2
-52
5
9
28
20
-64
3
17
17
34
9
-1
0
0
0
0
9
47
24
48
-71
11
65
-22
2
-7
-21
1
1
-2
0
0
0
8
5
26
22
14
27
-3
49
8
-14
-8
-6
-1
1
0
0
0
-5
-30
-13
22
-27
40
21
-34
-5
9
-5
-3
-6
0
0
0
0
23
-63
35
10
-9
-10
45
-15
-44
-1
0
-3
0
0
0
0
0
-42
63
-10
72
15
22
-20
-25
10
-7
0
0
0
0
0
0
0
0
0
-32
5
-5
9
-9
-1
1
0
0
0
0
0
0
0
0
-4
4
-67
39
57
91
76
0
0
-55
11
2
24
-49
-2
4
0
9
24
63
72
75
67
-6
0
-93
0
44
-7
-10
2
-13
-7
3
-21
-10
-33
55
-49
11
-29
3
-74
52
0
16
1
9
-18
-25
-1
16
-58
57
25
-15
31
-64
21
-25
-18
-17
-50
-23
13
-25
-1
0
0
1
2
41
-15
-40
-62
5
-28
5
2
4
2
4
2
0
0
-13
7
-45
-54
31
-22
49
25
-24
-39
-22
-12
13
2
0
0
0
-2
-29
-110
-18
-52
-35
-39
38
8
59
-13
25
-18
3
-1
0
0
10
-4
42
34
-10
-5
-13
-70
9
-5
-17
0
-7
6
0
0
0
2
-10
13
-19
5
3
20
-13
0
-4
1
-8
2
0
0
0
0
4
-6
15
-15
21
72
-25
-17
0
0
-39
8
24
0
1
0
0
-9
-11
-22
-42
58
10
22
0
21
0
29
21
-38
-9
0
0
0
13
-34
-12
-1
-16
-15
20
53
33
-14
32
43
-16
18
3
0
0
4
2
21
49
-41
-49
26
-35
-82
-20
5
-21
-19
-13
3
0
0
-12
41
4
14
48
15
-10
-9
-27
-46
20
44
-7
-12
1
0
0
-13
7
47
7
3
-73
-60
15
-8
-41
-17
-4
-2
-3
0
1
0
4
2
-1
53
22
-6
-9
-20
-13
-32
-9
-1
0
0
0
0
0
7
3
13
41
-42
14
-32
23
-20
-1
3
0
0
0
0
0
0
-1
1
9
5
-6
-1
1
0
1
-7
7
0
0
0
0
0
0
-13
46
112
45
-18
-13
-76
0
0
0
26
49
5
-9
1
0
0
-37
23
-14
-20
3
-41
5
-30
0
17
5
-10
14
28
-6
-1
1
-14
-50
11
-14
56
-21
-15
20
-60
28
16
14
-15
-3
2
0
0
-34
48
9
-2
80
36
60
14
-41
59
22
2
8
-2
0
0
0
3
19
22
23
3
-37
-45
41
4
6
26
25
1
0
0
0
0
30
-2
21
-2
-20
58
2
-41
31
-44
2
-4
16
3
0
0
0
3
-14
53
-7
3
1
5
35
-29
-18
19
-19
1
0
-5
0
0
-16
41
-3
-9
6
25
25
-13
8
1
-24
13
-2
0
0
0
0
2
-20
-6
-2
2
1
-1
-3
-13
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
22
69
21
4
39
11
35
0
0
0
0
0
0
-2
0
0
0
40
-4
14
31
6
-49
22
0
0
0
0
0
0
0
-13
-10
41
-8
41
10
-19
-56
15
-44
0
0
0
0
0
0
0
-9
10
0
-19
-4
34
-18
-40
22
5
0
0
0
0
0
0
0
0
-7
18
17
-10
4
-42
-35
-8
31
0
0
0
0
0
0
0
1
3
-32
9
-22
0
-13
34
-12
16
0
0
0
0
0
0
0
0
2
-5
-9
0
0
-18
12
-41
15
0
0
0
0
0
0
0
0
0
0
-13
1
-36
-14
13
73
-2
0
0
0
0
0
0
0
0
0
-1
0
-18
-6
8
7
-18
-35
0
0
0
0
0
0
0
0
0
0
-7
-12
-5
-4
22
-6
-35
0
0
0
0
0
0
0
0
0
0
22
7
45
-31
-15
-22
19
0
0
0
0
0
0
0
0
-1
-4
14
-46
-5
-22
-23
35
-8
0
0
0
0
0
0
0
0
1
2
19
-14
16
17
17
-49
64
0
0
0
0
0
0
0
0
1
-1
5
-18
5
-28
-58
18
-3
0
0
0
0
0
0
0
-1
0
-3
-8
21
-5
77
40
-44
-15
0
0
0
0
0
0
0
0
0
0
-8
-6
0
-59
-10
10
25
0
0
0
0
0
0
0
0
0
0
0
-5
-8
17
-32
20
-8
0
0
0
0
0
0
0
0
0
0
0
-4
6
-4
12
35
-33
0
0
0
0
0
0
1
0
0
0
-13
-21
-21
-18
50
17
17
0
0
0
0
0
0
0
0
0
0
-44
-13
-29
4
82
-31
43
0
0
0
0
0
0
0
1
-2
5
-42
-35
8
40
-35
35
9
0
0
0
0
0
0
0
0
-1
9
-4
7
22
46
18
21
-7
0
0
0
0
0
0
0
0
3
1
4
5
62
-68
-4
-35
28
0
0
0
0
0
0
0
0
0
2
15
27
6
-30
73
65
3
0
0
0
0
0
0
0
0
1
0
0
-4
-19
-24
-5
5
-15
0
0
0
0
0
0
0
0
-1
1
0
-8
-3
-6
25
14
-9
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-6
-19
-8
-1
0
0
0
0
0
0
0
0
0
0
31
-25
44
-1
-48
6
-13
0
0
0
0
0
0
2
0
0
0
-13
63
-19
-46
15
60
15
0
0
0
0
0
0
0
17
-19
-3
4
21
-8
148
17
49
47
0
0
0
0
0
0
0
0
2
5
-33
-16
41
-31
11
-66
-4
0
0
0
0
0
0
0
0
-1
-4
-3
-50
9
48
9
3
42
0
0
0
0
0
0
0
0
1
1
10
-26
-25
-1
-27
-25
5
0
0
0
0
0
0
0
0
0
-2
-15
42
-8
47
16
-9
-13
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-1
8
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
5
0
0
0
0
-2
2
0
0
0
0
59
-41
44
23
20
-13
-13
0
0
0
-1
-13
9
11
0
0
0
-36
49
47
3
-48
101
5
0
0
0
0
1
-8
13
16
-42
26
43
-30
-30
-25
-11
-25
-29
0
0
0
0
1
-2
13
-13
-11
-39
28
42
-12
-21
-56
-12
43
0
0
1
1
0
-20
25
-36
13
37
-17
-13
-3
-4
44
-25
6
0
0
0
1
0
15
32
18
26
11
91
-62
-35
-18
48
61
7
0
0
0
2
0
0
8
-17
-33
-11
37
-51
-29
10
13
15
-4
0
0
0
0
0
0
1
33
1
-4
-11
11
-42
-15
31
-22
23
0
0
0
0
0
0
0
0
0
0
-2
12
-14
16
-4
7
-8
0
0
0
0
0
-2
9
0
0
0
1
-7
52
55
7
16
2
0
0
0
-1
1
-1
-1
0
0
0
-2
11
55
2
-6
42
-15
0
0
0
0
13
2
0
16
-5
11
-17
17
10
78
-22
-2
-7
0
0
0
0
-1
-4
22
5
29
4
-26
0
-45
4
-15
-1
30
0
0
0
-1
3
2
-24
-26
20
-5
53
-56
4
-50
-2
-33
41
0
0
0
3
-6
-20
-24
14
-28
8
35
-48
8
41
0
6
-43
0
0
0
0
0
5
-9
22
-44
-22
42
33
-4
2
-28
-2
22
0
0
0
0
-2
-1
4
-15
-19
-3
5
2
-3
70
-13
9
-8
0
0
0
0
3
-2
1
-1
-2
8
1
10
18
6
1
-40
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-20
1
-5
-2
0
0
0
-24
33
55
58
-13
58
-14
0
7
-19
-51
-8
37
-20
0
0
0
-47
-11
9
-76
-95
-17
29
0
-2
-33
-9
16
-33
8
-48
-9
55
6
-19
75
41
30
-35
-17
0
-6
21
38
15
-32
-34
-47
68
22
19
-26
-43
-13
24
-49
6
0
3
9
-2
1
-9
-29
-56
-8
-60
-25
-19
-25
50
23
22
-13
1
-2
0
-5
-10
-10
-52
1
11
-27
86
50
-58
67
-13
0
-8
0
0
0
-5
-2
-44
-21
3
49
9
-30
-12
-3
22
-9
-14
13
0
0
1
-2
0
0
8
-9
7
20
9
33
7
8
-5
17
-13
0
0
0
0
0
0
-2
3
1
2
0
-16
-8
-5
-12
-4
0
0
-4
25
-3
47
5
-6
0
0
0
10
-40
-29
-7
-42
4
0
0
-5
-64
-13
-11
-48
22
0
0
0
-13
11
-61
0
14
81
0
1
-1
10
29
36
-21
-3
-20
-41
24
18
6
5
33
4
-13
0
1
-1
-5
0
8
-16
5
-20
-37
4
-44
14
9
23
-53
-68
0
0
-3
-28
27
-32
60
-50
42
29
-4
-49
43
-14
-67
-34
-8
0
0
6
-5
-41
4
-19
61
-17
-22
-40
-27
49
-15
-45
16
-2
0
0
1
7
-44
-15
-4
-20
-26
-21
7
-17
-27
6
8
4
-48
0
0
5
-2
-37
20
48
-3
-12
24
25
5
46
-11
-16
-16
9
0
0
0
0
-1
-22
31
-43
-3
76
-22
24
11
-10
-7
-2
3
0
-4
-40
14
-26
5
10
5
0
0
0
47
14
-37
-1
4
1
0
3
1
12
-7
25
7
-5
0
0
0
21
82
18
19
8
13
0
12
-16
-29
8
0
-6
-1
-11
-5
-20
42
-41
27
82
-42
5
0
6
31
-10
-23
-21
-8
-15
10
23
28
-50
-13
95
-30
-3
0
0
-9
-4
10
-8
-6
-4
10
-41
-36
-41
87
19
56
-28
-17
0
0
4
12
-18
15
4
-2
0
-8
6
41
-52
18
-92
-10
-10
0
0
18
60
-24
-13
11
29
-3
5
-4
30
30
-8
-33
27
-8
0
0
-2
-9
-14
38
22
-5
-3
23
-26
-36
7
31
-93
-4
-2
0
0
9
-27
-22
13
-13
-31
-5
-24
25
1
-7
-47
-3
0
4
0
0
-1
12
0
11
28
12
-2
0
0
0
4
35
-9
-16
-4
0
0
2
-16
-13
-48
29
21
2
0
0
0
41
10
13
15
22
0
0
8
5
9
-14
20
-2
7
-6
-4
7
-1
-77
59
25
83
0
0
-5
3
-6
9
27
5
50
-37
-5
-26
-15
27
-26
13
13
0
0
-2
0
39
34
11
-22
5
-48
7
-58
-10
-81
-20
-12
20
0
0
8
10
43
-47
3
-22
5
-60
45
-50
66
-1
-105
-1
18
0
0
0
2
-4
15
-32
36
19
-53
27
13
-21
0
-29
20
-5
0
0
1
-15
23
-69
6
-27
-5
-22
49
15
-3
-21
-34
7
0
0
0
0
0
0
1
0
0
-1
-4
29
13
30
42
8
5
-1
0
0
0
0
-1
-30
-34
-40
-13
0
0
0
13
-13
72
6
20
-6
-44
0
-2
-5
-3
51
-5
43
0
0
0
65
47
52
-5
21
-1
18
0
-5
7
-22
13
-25
-27
34
45
2
-2
45
-5
13
-54
-62
-78
0
0
-14
8
-13
31
24
-85
57
-56
103
23
45
-30
15
17
-17
0
0
5
2
-40
23
2
35
-52
-3
16
-5
21
-21
-15
3
-70
0
0
-4
-7
0
-19
-5
50
-16
-1
87
-15
-3
-37
-78
19
19
1
0
3
-5
-10
3
-23
17
-49
65
4
-13
-19
-10
-49
5
-24
0
0
4
9
-8
1
-8
-14
-1
-38
-19
-39
-13
-8
-30
9
-4
0
0
0
0
0
-1
0
-3
-6
-8
-8
-17
-10
-2
-5
-12
-1
0
0
0
-1
-18
-13
27
0
0
0
-17
-11
19
-27
55
-9
-26
0
0
0
-7
4
-19
73
0
0
0
78
-13
-32
-40
-3
-66
29
1
0
-1
-3
-1
40
-7
20
10
-39
68
30
-39
-68
-9
-10
8
0
0
0
5
20
41
2
-5
-41
-2
37
8
28
7
36
-38
2
0
0
0
7
2
-20
-28
-23
42
-36
41
-35
45
-12
13
-59
-25
0
0
0
1
3
-5
-41
13
22
7
0
16
31
-17
-7
-44
5
0
0
0
-7
-5
0
-17
-1
61
-53
9
22
-29
-15
45
-2
-19
0
0
0
-1
0
-5
-2
14
-7
-16
19
-29
-4
-35
-10
24
-5
0
0
0
0
0
0
-7
-7
-9
16
-4
-8
10
4
0
3
0
0
0
1
5
-2
30
-22
0
0
0
1
49
32
-5
33
1
42
0
1
-19
-17
8
38
48
0
0
0
-25
29
-11
20
8
85
57
0
0
1
2
-25
-32
-25
34
14
55
13
-42
87
40
-8
59
-49
0
-1
-3
-22
-28
-41
42
51
14
17
-41
-7
51
-5
8
-49
14
0
1
-4
-33
-1
4
-18
3
70
-33
22
5
12
5
-4
-55
-42
0
0
-3
42
-5
2
0
-2
26
-13
25
-41
-5
32
-84
23
43
0
0
7
-22
-8
-17
-38
0
29
83
93
-92
-15
-37
-8
10
-29
0
0
0
8
12
-23
-5
-56
67
-47
10
1
8
16
5
-30
-25
0
0
0
0
-1
12
31
-13
-49
-3
-1
45
16
1
-2
13
0
0
0
70
-4
10
-94
-101
-113
0
15
0
-29
-10
7
-11
-102
0
0
56
41
37
51
-137
-188
0
22
0
43
-10
-10
-11
-128
0
0
-30
-7
-6
-53
-189
-189
0
-88
0
-73
-75
-103
-142
-113
0
0
41
-83
-57
-182
-360
-278
0
-103
0
-24
10
-70
-237
-212
0
0
44
-27
31
10
-186
-210
0
-30
0
-33
-17
-7
-110
-226
0
0
82
103
109
75
-139
-368
0
-13
0
38
-3
2
-60
-179
0
0
51
-42
-21
-56
-216
-277
0
-107
0
-27
-52
-122
-213
-247
0
0
58
-53
2
-82
-428
-521
0
-85
0
-4
-8
-33
-255
-326
0
0
5
-15
22
-8
-67
-166
0
-21
0
-16
-5
-8
-40
-87
0
0
66
84
115
41
-141
-229
0
-2
0
56
29
16
-27
-87
0
0
15
26
34
-18
-75
-118
0
-38
0
-6
1
-44
-72
-88
0
0
6
3
26
-51
-164
-202
0
16
0
2
12
38
-14
-68
0
0
-22
-52
-59
-1
53
72
0
19
0
22
15
10
83
163
0
0
-26
3
99
-42
11
24
0
-45
0
75
47
39
-14
-37
0
0
21
1
-45
26
129
90
0
53
0
-33
13
66
155
221
0
0
-3
25
22
-57
-10
-28
0
19
0
29
60
19
41
102
0
0
0
0
0
0
0
0
23
-13
14
46
90
23
-1
4
0
0
48
-10
17
10
24
-13
50
-8
0
0
0
-35
-7
8
0
0
0
0
0
0
0
-4
104
11
-16
-31
27
66
-3
8
0
0
-100
14
11
-17
-10
15
0
48
26
0
0
18
0
2
0
0
0
0
0
0
-1
15
-57
45
117
58
12
-47
-8
18
0
0
59
12
-14
-13
-33
21
0
66
9
-4
-5
-15
0
2
0
0
0
0
0
0
8
1
-22
21
-12
13
93
66
13
-5
0
0
-1
0
0
20
-27
-7
0
-29
54
-16
-22
31
-3
0
0
0
-2
0
0
0
7
-41
-8
-19
-8
52
19
-5
-3
0
0
0
0
0
0
0
-4
1
0
-23
50
-25
33
5
3
0
0
0
21
0
-1
6
-14
-33
12
42
-29
5
95
6
-5
0
0
0
0
0
0
0
0
1
0
5
111
1
-4
-20
-2
0
0
0
22
-23
-92
-22
48
-23
-2
4
-4
5
12
34
7
-3
0
0
0
0
0
0
0
0
0
7
21
43
-13
-10
-2
-1
0
0
-58
-4
-76
3
63
-9
-7
28
30
1
0
24
0
-9
0
0
0
0
0
0
0
1
0
1
22
7
1
-7
0
-9
0
0
64
27
-39
1
23
1
0
3
0
0
0
27
2
14
0
0
0
0
0
0
0
0
0
-21
-42
-1
-63
-3
0
0
0
0
0
0
0
0
0
-1
56
-8
26
61
-10
22
12
23
0
0
-14
-6
3
-18
23
9
0
-8
0
0
0
-45
12
13
0
0
0
0
0
0
1
1
50
52
44
56
49
37
-6
-9
0
0
19
19
0
17
3
13
36
-20
14
-3
0
-7
8
8
0
0
0
0
0
0
8
-9
-19
6
99
-16
75
80
7
-4
0
0
-34
23
38
-29
75
31
0
46
49
-6
-29
-24
-13
0
0
0
1
0
0
0
13
-1
-8
-41
46
-14
10
6
42
-2
0
0
-10
0
13
36
-8
-12
0
25
78
-5
5
139
12
2
0
0
10
0
0
0
-61
7
-8
-50
33
-25
14
-56
-5
5
0
0
0
0
0
0
-11
-8
0
33
120
-33
18
-22
-3
2
0
0
23
-1
10
-31
-16
-39
-6
4
-26
41
43
-28
19
-1
0
0
0
0
0
0
-1
0
0
9
28
-35
0
-16
-8
1
0
0
-22
46
25
27
-13
-14
-3
40
48
-8
-43
41
-5
1
0
0
0
0
0
0
0
2
0
32
2
-23
-56
-15
2
-2
0
0
6
-42
57
29
26
31
0
34
45
16
0
29
-5
1
0
0
0
0
0
0
0
-1
0
-52
-41
14
-41
-36
-6
5
0
0
6
-35
-25
6
-42
55
7
45
0
0
0
29
6
16
0
0
0
0
0
0
0
5
0
-45
-48
14
3
-5
-2
-4
0
0
0
0
0
0
1
-2
13
73
31
10
27
1
-3
-15
0
0
12
28
32
-8
53
17
0
-7
0
0
0
-9
-12
-23
0
0
0
0
0
0
-3
0
37
-19
18
7
37
67
-3
22
0
0
-9
8
0
-13
-49
-20
0
7
12
17
0
-44
-1
13
0
0
0
0
0
0
0
-6
-8
-59
53
40
65
20
3
-8
0
0
-2
-30
16
30
19
5
19
-23
13
13
22
57
10
0
0
0
0
0
0
0
-17
-1
23
-20
27
40
0
40
22
2
0
0
25
-2
-8
5
19
44
0
-5
99
13
-25
-4
-16
-2
0
0
0
0
0
0
5
22
-26
50
13
17
24
28
15
21
0
0
0
0
0
0
10
-12
0
31
8
20
10
31
-20
-2
0
0
-5
0
6
-20
34
-38
4
3
12
71
48
48
-22
7
0
0
0
0
0
0
-4
-3
0
44
50
-34
-53
8
-1
13
0
0
-1
-25
15
19
-9
14
0
-14
4
10
12
5
-13
2
0
0
0
0
0
0
-5
2
0
40
10
-37
-6
-43
-2
0
0
0
67
5
34
4
16
14
3
4
13
4
0
61
-5
7
0
0
0
0
0
0
1
1
0
-13
-10
-50
-16
12
-23
-7
0
0
65
12
31
4
-9
7
2
28
0
0
0
13
19
15
0
0
0
0
0
0
0
-1
0
-25
-10
4
-1
-8
6
7
0
0
0
0
0
0
1
10
-3
45
11
12
40
25
-8
-22
0
0
17
-8
4
-4
57
17
0
12
0
0
0
-32
-6
25
0
0
0
0
0
0
3
-8
46
-3
67
7
12
37
51
24
0
0
65
42
20
-2
-9
-63
0
17
17
-10
0
-43
22
22
0
0
0
0
0
0
-2
-6
-45
11
48
20
37
-57
-56
13
0
0
73
-34
72
12
15
26
0
-39
3
-12
-13
-31
31
-3
0
0
0
0
0
0
-5
15
5
70
32
42
37
8
-8
-10
0
0
-12
0
-11
-5
-56
60
5
15
123
-19
27
0
24
-2
0
0
4
0
0
0
25
-5
5
-17
44
40
-7
51
-3
-8
0
0
2
0
0
0
19
1
0
44
8
12
-3
-20
-30
-9
0
0
-25
1
29
-22
6
-1
0
14
-18
-31
1
-27
13
-5
0
0
0
0
0
0
-2
-10
0
25
4
-28
-15
-6
12
22
0
0
18
52
-20
25
-12
-16
-4
-16
-43
4
9
17
-13
3
0
0
0
0
0
0
12
0
0
-51
-14
-13
-73
-66
2
-12
0
0
-8
-33
57
2
12
5
6
1
44
5
0
27
-4
-12
0
0
0
0
0
0
4
1
0
-17
-31
12
-37
30
-39
-33
0
0
14
3
-8
-3
-17
21
-12
-16
0
0
0
17
-6
13
0
0
0
0
0
0
0
0
0
-20
-17
-13
-46
9
-35
-7
0
0
0
0
0
0
-5
-9
-19
-52
23
-11
20
26
13
7
0
0
-26
15
-9
8
69
22
0
15
0
0
0
-17
24
9
0
0
0
0
0
0
8
3
23
27
-78
88
12
-11
40
54
0
0
-24
4
95
16
12
-3
0
8
13
-2
0
-12
-22
10
0
0
0
0
0
0
-2
-2
-13
57
21
-2
-44
54
24
57
0
0
5
-23
-12
72
42
0
0
16
73
-10
43
18
34
10
0
0
0
0
0
0
-8
17
-4
25
29
30
42
14
22
-6
0
0
-24
-1
-31
-29
24
15
0
24
10
22
16
-2
-2
-2
0
0
0
0
0
0
-3
41
0
-23
-6
15
21
6
-6
10
0
0
1
0
0
0
-30
5
2
13
50
-21
3
31
4
12
0
0
29
1
-16
2
72
-25
-5
-3
-9
10
6
-41
-17
-6
0
0
0
0
0
0
26
-2
0
38
5
14
-13
-13
29
-13
0
0
-22
30
4
57
54
-4
26
-48
-6
2
3
22
2
6
0
0
0
0
0
0
-3
-8
0
15
13
-27
26
1
8
31
0
0
59
5
-16
21
-29
31
8
13
-32
8
0
26
14
-22
0
0
0
0
0
0
-12
-8
0
-24
-49
2
20
17
-60
34
0
0
10
5
15
-2
-82
-7
8
14
0
0
0
-67
8
-27
0
0
0
0
0
0
2
0
0
-6
-1
34
-13
-6
-49
-51
0
0
0
0
0
0
39
17
-22
-48
-24
-8
7
-63
2
-1
0
0
-11
-93
-35
5
47
0
0
-26
0
0
0
-48
-20
21
0
0
0
0
0
0
-28
-45
14
6
16
65
-31
-28
-19
14
0
0
4
6
13
35
65
-15
0
41
19
-44
0
80
31
-13
0
0
0
0
0
0
-9
-27
-7
31
-2
70
49
6
34
-43
0
0
73
52
43
-41
-8
-5
0
-8
-17
-41
-27
-3
29
-41
0
0
0
0
0
0
53
61
0
50
36
-12
30
89
89
-17
0
0
5
-39
23
0
-66
8
0
-17
26
20
-44
9
-21
-34
0
0
-1
0
0
-7
-5
-27
4
-23
44
24
1
14
33
3
0
0
24
0
0
4
-23
-1
0
-17
19
61
64
75
-93
-3
0
0
56
5
25
40
-2
-13
-5
-7
-41
1
-59
-32
9
4
0
0
0
0
0
0
-23
-5
5
53
13
-6
19
40
-18
39
0
0
23
27
24
-23
-6
41
-23
30
-31
41
50
-26
-7
29
0
0
0
0
0
0
-15
-39
0
7
19
-23
-13
-21
-14
0
0
0
-13
58
-20
20
-5
15
8
31
-56
19
0
27
-71
-6
0
0
0
0
0
0
17
62
0
-1
-18
-23
-26
-63
15
-3
0
0
48
54
-73
-44
-16
-13
22
-21
0
0
0
-15
7
13
0
0
0
0
0
0
-7
12
0
25
-56
0
-7
-93
-26
-6
0
0
0
0
0
0
-13
31
-6
2
47
-8
-6
-9
24
6
0
0
-67
-57
5
11
-12
17
0
41
0
0
0
-1
19
40
0
0
0
0
0
0
29
30
-1
1
-9
28
40
3
-13
25
0
0
36
1
-32
60
13
11
0
-53
-52
-50
0
18
30
-13
0
0
0
0
0
0
-28
85
0
14
-8
15
4
-4
5
10
0
0
48
8
27
92
13
-28
0
27
48
-23
25
66
74
-34
0
0
0
0
0
0
13
-9
4
-13
-11
-20
49
19
21
-12
0
0
4
94
111
7
11
-19
0
7
34
22
16
9
-9
2
0
0
19
0
14
18
46
33
16
-15
17
-17
11
8
34
44
0
0
-11
13
1
-15
14
22
0
-29
-5
44
-33
4
-5
-14
0
0
-72
-28
-43
36
39
-16
45
-31
-32
-6
4
-12
59
18
0
0
-6
0
0
0
21
-36
0
12
-4
-12
8
5
-24
11
0
0
-23
-12
-24
0
18
-16
8
54
-59
24
67
-71
-13
-33
0
0
0
0
0
0
19
-14
0
-1
-10
-49
-13
-6
-37
-5
0
0
36
58
23
-65
-44
11
21
-20
-8
42
0
-19
-51
76
0
0
0
0
0
0
-2
-43
0
-4
-33
-54
25
-20
-8
-6
0
0
14
32
4
64
10
-15
57
10
0
0
0
10
-2
-46
0
0
0
0
0
0
53
-40
0
-13
-63
1
-5
-29
-8
-4
0
0
0
0
0
0
35
-2
0
3
32
1
-1
9
21
13
0
0
-52
-17
-30
-23
-22
-15
0
-38
0
0
0
-4
-15
2
0
0
0
0
0
0
45
43
0
-1
13
14
30
3
1
-1
0
0
-18
-49
-75
-37
-15
-13
0
-38
12
-32
0
-10
-17
-9
0
0
0
0
0
0
48
-3
2
1
2
13
-2
1
4
12
0
0
13
-7
-27
-19
-22
-5
0
-44
5
-48
-72
-13
-6
40
0
0
-32
0
0
-43
11
-20
-12
-7
2
8
-11
-6
6
6
0
0
60
27
-46
27
-14
-36
0
-37
37
7
-16
-2
-9
-15
0
0
-1
124
21
-30
15
5
-21
-29
1
27
2
-6
12
17
0
0
-33
43
72
8
-5
-27
0
56
3
18
9
33
9
-12
0
0
-78
102
-70
3
-1
59
-45
12
-20
6
29
4
31
10
0
0
-9
5
20
-10
5
-7
0
26
0
25
61
6
-1
2
0
0
-38
-20
11
1
11
22
-31
-18
-12
5
62
9
-14
72
0
0
13
0
0
0
-7
-27
0
1
-1
3
3
0
-1
12
0
0
-5
9
-7
-16
6
9
-50
-51
8
17
0
4
9
11
0
0
0
0
0
0
6
-17
0
0
26
-3
18
-2
-4
-2
0
0
45
48
53
54
23
20
-104
54
0
0
0
34
-9
-7
0
0
0
0
0
0
-60
-28
0
-3
35
0
1
-11
-12
1
0
0
0
0
0
0
44
30
0
6
-22
0
0
13
15
7
0
0
-33
-31
-48
-50
-15
-30
0
-65
0
0
0
-13
44
6
0
0
0
0
0
0
39
-17
0
0
-44
4
-8
5
5
4
0
0
-1
-15
25
-38
10
25
0
-33
45
-24
0
-13
60
16
0
0
0
0
0
0
-11
30
8
-6
0
-15
-5
-2
2
-20
0
0
3
-17
-1
-48
-19
-6
0
66
51
3
-133
29
34
13
0
0
2
0
0
-10
-28
30
24
-20
0
-18
-54
-9
-6
-21
0
0
32
-42
5
9
32
-2
0
18
27
14
25
6
-21
5
0
0
-94
-22
-85
-38
-10
31
21
-42
-13
-31
-8
-53
-12
-2
0
0
26
-12
4
61
-5
26
0
-8
2
-21
-3
11
-6
-4
0
0
-23
-46
-9
-15
10
45
3
-11
-66
3
-7
3
-15
2
0
0
0
0
0
18
11
49
0
3
-1
-62
-40
7
-4
3
0
0
-8
20
19
-6
14
-7
-13
40
-16
12
31
17
-44
-68
0
0
0
0
0
0
4
57
0
-1
-3
-10
0
1
-4
-5
0
0
6
-9
30
53
-6
-32
-56
35
-8
39
0
11
-14
-6
0
0
0
0
0
0
-7
-12
0
0
-16
-16
7
-2
-1
1
0
0
22
66
138
70
33
-3
-23
68
0
0
0
76
28
-38
0
0
0
0
0
0
26
-5
0
-1
-34
-1
0
-8
-9
-8
0
0
0
0
0
0
23
78
75
-34
40
17
69
-7
-34
-3
0
0
104
-17
41
-51
-22
-26
25
23
0
0
0
16
-11
98
0
0
0
0
0
0
58
-47
105
9
17
1
31
-62
2
83
0
0
40
65
-2
79
45
17
0
105
14
-6
0
51
42
-18
0
0
0
0
0
0
116
98
-14
-53
54
101
28
3
-40
23
0
0
41
29
20
89
14
15
0
17
105
47
-44
46
85
16
0
0
0
0
0
0
6
-38
-31
-38
29
96
75
20
-79
-30
0
0
12
0
54
-9
-27
-16
0
5
169
61
-78
44
27
6
0
0
-3
0
0
0
38
11
-39
12
24
64
69
41
16
52
0
0
0
0
0
0
-61
7
0
-31
118
-10
70
-33
46
36
0
0
100
0
5
-55
-21
-73
-30
-23
25
28
148
34
57
-19
0
0
0
0
0
0
-36
-14
0
11
23
-1
9
-27
-59
20
0
0
28
-50
-41
26
37
-40
13
47
111
39
164
124
-6
-51
0
0
0
0
0
0
81
92
0
10
-2
52
-55
12
-46
-16
0
0
43
5
-63
23
76
10
-11
70
20
15
0
45
18
36
0
0
0
0
0
0
-1
-30
0
-68
-112
18
-17
-130
-91
-101
0
0
59
-13
17
31
54
17
0
147
0
0
0
116
87
9
0
0
0
0
0
0
0
15
0
-9
-114
-39
-81
-103
-31
-53
0
0
0
0
0
0
24
7
75
-13
47
88
-13
98
58
16
0
0
-14
7
79
-52
56
53
0
-31
0
0
0
-22
103
66
0
0
0
0
0
0
16
-19
79
-17
42
104
-7
8
-24
-55
0
0
27
36
5
60
17
42
11
38
60
8
0
9
46
40
0
0
0
0
0
0
191
-99
7
25
39
1
23
-2
52
-2
0
0
52
-11
55
15
77
11
0
36
105
24
-51
21
-83
6
0
0
0
0
0
0
39
42
-52
-13
28
-17
29
-9
11
-27
0
0
59
23
18
16
12
4
0
60
95
23
81
81
-23
-1
0
0
32
0
-1
-3
-51
-39
-5
-29
0
16
100
8
-23
29
0
0
14
0
0
-1
-26
-41
0
53
69
-6
15
43
-32
-17
0
0
10
-4
2
-86
-39
8
10
-49
20
60
121
8
58
52
0
0
0
0
0
0
-32
7
0
14
27
-24
46
15
-75
17
0
0
31
-22
35
21
80
-12
-23
77
132
-31
23
32
-3
68
0
0
0
0
0
0
-52
1
0
-20
-10
3
-49
-1
-18
-65
0
0
93
7
111
20
4
67
0
24
71
52
0
130
-72
42
0
0
0
0
0
0
-5
25
0
-18
-64
-39
-7
-42
-15
-30
0
0
97
-43
25
44
-33
6
11
61
0
0
0
33
44
-2
0
0
0
0
0
0
-15
-36
0
-159
-87
-37
-67
-90
-28
13
0
0
0
0
0
0
48
-42
11
25
-15
11
21
10
-5
-43
0
0
18
16
-47
-31
42
30
0
6
0
0
0
-13
85
21
0
0
0
0
0
0
-20
-3
37
7
43
3
41
11
-36
-22
0
0
54
31
-5
11
6
2
0
5
59
43
0
35
-2
40
0
0
0
0
0
0
20
-65
-6
-31
48
15
45
-22
6
-13
0
0
27
-50
11
54
1
30
16
-8
3
-35
52
55
-12
35
0
0
-8
0
0
0
-9
-79
-69
27
31
42
-33
-18
62
20
0
0
-20
3
-12
39
26
-13
0
-21
55
9
-22
17
37
-25
0
0
-61
0
2
1
61
-42
-65
-16
2
12
52
23
-21
-2
0
0
10
0
0
0
6
-25
0
88
57
12
9
-9
-31
-13
0
0
-13
11
43
-35
-12
12
8
21
71
6
77
42
-41
32
0
0
0
0
0
0
-24
50
0
61
44
-29
-43
-6
-96
18
0
0
19
-35
20
32
19
-13
0
5
78
56
41
59
-5
13
0
0
0
0
0
0
43
36
0
-5
-5
-85
-18
-12
-11
-140
0
0
80
14
22
-21
-17
54
23
66
26
20
0
67
11
41
0
0
0
0
0
0
-5
5
0
-45
-68
14
8
-66
-57
-24
0
0
22
-21
-17
2
-15
25
-14
83
0
0
0
95
39
66
0
0
0
0
0
0
12
-62
0
-84
-36
-5
-48
-72
-12
-21
0
0
0
0
0
0
-49
-61
-20
-16
-11
14
6
5
-28
-66
0
0
20
22
-2
-41
40
64
0
21
0
0
0
-43
-44
103
0
0
0
0
0
0
-36
20
24
-2
61
56
18
17
116
-33
0
0
55
48
23
25
29
17
0
26
57
-71
0
13
55
18
0
0
0
0
0
0
-21
-117
6
15
47
-12
18
10
-58
-4
0
0
13
42
7
-12
-30
69
0
47
-1
45
42
35
102
-31
0
0
0
0
0
0
-22
13
-6
18
11
38
63
-28
-6
-13
0
0
45
8
-5
13
-57
-11
9
-16
46
-47
-2
20
22
-60
0
0
10
0
-5
-8
15
-20
-9
-7
7
20
30
4
18
65
0
0
-8
0
0
-3
-31
-20
0
19
4
10
-19
-1
-36
34
0
0
-11
-54
48
-29
31
-9
0
-10
31
3
44
7
118
52
0
0
0
0
0
0
-38
-53
0
36
17
-1
-18
15
-27
30
0
0
11
37
14
74
-24
3
-8
1
-8
49
87
112
-65
50
0
0
0
0
0
0
-2
-83
0
-29
-3
-41
-16
-46
-24
-37
0
0
35
18
72
49
-31
-32
-10
119
17
50
0
26
-16
-8
0
0
0
0
0
0
-29
1
0
-36
-64
-9
47
-40
-58
-31
0
0
12
1
40
3
-6
-4
30
53
0
0
0
91
26
28
0
0
0
0
0
0
30
11
0
-94
-49
-17
-20
-57
-55
-14
0
0
0
0
0
0
-6
-38
5
-5
-13
-14
1
35
23
-3
0
0
10
38
-22
27
102
48
0
4
0
0
0
14
-15
15
0
0
0
0
0
0
89
-2
0
-18
-52
132
9
-42
33
58
0
0
22
-17
72
43
2
-15
0
0
-12
-6
0
46
-32
-47
0
0
0
0
0
0
45
86
-23
-22
17
47
-3
-20
17
47
0
0
21
-17
6
-19
25
-23
0
54
70
13
36
41
-28
-55
0
0
0
0
0
0
-36
71
-15
48
23
23
35
-22
3
4
0
0
-21
-70
36
-23
2
-7
0
-8
21
-6
-30
-13
-6
7
0
0
-23
0
49
-4
4
-11
0
62
21
-19
37
41
35
55
0
0
-59
0
-1
24
-10
-39
6
19
19
-54
-10
38
4
41
0
0
-50
-17
-82
47
-60
-4
9
5
19
45
79
50
-23
31
0
0
0
0
0
0
-53
59
0
20
10
4
-20
-2
5
-4
0
0
14
28
28
48
9
-1
65
8
29
55
88
19
-47
5
0
0
0
0
0
0
2
-5
0
-4
-3
23
-12
-21
21
-22
0
0
22
32
-4
59
29
3
5
35
7
83
0
18
-14
-52
0
0
0
0
0
0
-86
-13
0
-8
-37
0
11
-56
-53
-14
0
0
49
48
40
32
14
4
39
20
0
0
0
24
-22
-32
0
0
0
0
0
0
-30
4
0
15
-90
-9
-35
-43
4
-29
0
0
0
0
0
0
23
-1
-2
5
12
5
-6
7
9
-15
0
0
-19
-87
44
-23
-36
-11
0
-4
0
0
0
-29
4
9
0
0
0
0
0
0
-45
26
-4
9
5
32
-15
-14
14
5
0
0
-34
18
19
45
3
-1
0
11
-21
-78
0
4
0
13
0
0
0
0
0
0
-12
51
6
13
-6
48
21
31
8
11
0
0
34
13
3
3
-28
3
0
34
13
-23
-68
26
-3
-21
0
0
0
0
0
0
38
18
0
-11
28
17
36
-10
5
2
0
0
45
14
52
12
-23
-26
0
65
9
9
-33
-26
-26
-8
0
0
19
1
21
16
-25
51
15
31
10
29
14
30
46
-32
0
0
10
-2
-22
-8
21
-77
0
12
27
-5
11
-2
-15
-14
0
0
-10
0
-2
11
-1
-14
6
53
37
22
24
10
11
-17
0
0
4
0
0
0
-34
-42
5
6
9
-9
-4
13
-2
-21
0
0
32
57
47
8
-4
26
69
40
86
58
72
-6
-29
-30
0
0
0
0
0
0
9
-51
0
-21
-3
-1
-25
-18
-17
0
0
0
6
56
-21
0
12
13
52
43
66
155
0
-19
-40
38
0
0
0
0
0
0
32
-3
0
-10
-35
-31
28
-18
0
-17
0
0
43
58
4
7
-9
6
31
58
0
0
0
30
-7
21
0
0
0
0
0
0
-20
-5
0
-31
-44
-6
-22
-27
24
6
0
0
0
0
0
0
71
77
-3
8
25
-7
-5
2
22
7
0
0
-33
-37
-86
1
-25
-14
0
26
0
0
0
-19
7
-2
0
0
0
0
0
0
27
80
-3
-6
6
14
-2
-1
47
12
0
0
-2
5
-16
-20
-17
-1
0
2
-17
-69
0
-6
-3
-17
0
0
0
0
0
0
35
58
0
6
-14
12
-10
-1
47
36
0
0
7
14
9
3
-8
-14
0
-7
-15
-23
-42
-11
53
-70
0
0
4
0
0
0
-2
52
-6
6
-7
-18
8
13
20
-2
0
0
-2
44
-12
22
9
-8
0
14
3
-36
-14
-3
-8
24
0
0
16
17
-25
53
42
17
23
5
8
-7
3
9
-4
23
0
0
31
15
32
22
-17
-8
0
-3
-2
25
-11
6
-27
-28
0
0
-7
-3
5
23
17
14
-6
19
-7
14
20
32
32
0
0
0
27
0
0
-3
2
-50
0
-14
-5
-5
8
-4
-14
-14
0
0
3
24
3
16
0
-8
6
2
11
113
66
5
33
-6
0
0
0
0
0
0
-51
35
-1
-14
-7
-17
-12
-14
-6
-12
0
0
27
6
7
5
-19
19
-6
9
15
-7
0
34
-21
0
0
0
0
0
0
0
-30
-38
0
-15
-38
-17
-3
-19
-15
-8
0
0
6
16
14
-41
-6
-2
14
-2
0
0
0
-12
-26
-16
0
0
0
0
0
0
-18
37
0
-15
-52
-4
-15
-34
-8
-5
0
0
0
0
0
0
67
51
0
-2
3
-2
2
10
32
23
0
0
-42
7
-44
4
-21
0
0
-67
0
0
0
-25
5
16
0
0
0
0
0
0
66
6
0
-5
6
0
34
0
26
7
0
0
-25
-40
-19
-40
-27
-21
0
-79
-15
-4
0
-42
-33
-12
0
0
0
0
0
0
15
58
5
-1
1
4
5
-1
28
13
0
0
-8
2
-9
-10
-18
-20
0
-38
6
-28
-27
-30
-3
-7
0
0
22
0
13
-45
25
37
5
12
2
3
-15
3
13
19
0
0
-63
-20
-24
-20
-18
-22
0
-50
18
15
2
-23
-13
-10
0
0
11
7
46
-17
23
50
0
1
2
5
-19
3
20
24
0
0
-51
19
-66
-52
1
-8
0
2
-6
30
16
2
8
-21
0
0
-11
43
16
-4
19
28
-24
11
-15
-3
-16
-1
27
35
0
0
-20
3
1
-17
15
-14
0
0
-3
17
26
0
6
-5
0
0
-17
-2
-11
-7
19
-6
-37
-10
-7
-26
19
-4
12
20
0
0
14
0
0
0
-28
-35
0
1
0
6
-5
-1
-7
-7
0
0
-12
-2
-13
12
32
12
-78
-7
0
-25
0
-5
44
-13
0
0
0
0
0
0
-9
-26
0
2
25
-7
16
-2
-7
-4
0
0
24
13
10
24
22
3
-103
-26
0
0
0
11
11
-16
0
0
0
0
0
0
-6
24
0
0
44
-2
2
2
-18
-11
0
0
0
0
0
0
29
54
0
3
-26
-2
2
22
43
22
0
0
-47
-37
-35
5
-34
-9
0
-31
0
0
0
-29
-2
9
0
0
0
0
0
0
14
2
0
-3
-26
-11
32
10
15
7
0
0
-36
-23
-15
-28
-13
13
0
-59
-6
-101
0
-29
8
41
0
0
0
0
0
0
6
53
7
6
-1
-11
17
1
3
11
0
0
-31
2
-23
-23
-28
-18
0
-32
29
-51
-31
-15
-3
52
0
0
44
0
0
-37
-2
16
2
7
-3
-19
-50
3
-6
20
0
0
-1
-6
14
35
26
30
0
-21
-4
-4
16
-23
-11
-40
0
0
50
-13
-60
-25
4
81
-5
-33
-8
-7
1
-29
-12
28
0
0
16
8
-19
50
27
17
0
-59
-13
-12
13
-25
-22
-31
0
0
0
14
29
3
27
66
20
-16
-48
-40
-40
6
-12
4
0
0
49
0
0
76
33
-9
0
-46
-6
-6
-11
-16
-20
-32
0
0
-45
-22
-22
-22
31
43
-11
-7
-27
-45
1
-26
9
100
0
0
0
0
0
0
-9
-13
0
-18
0
-31
-8
-6
-20
-21
0
0
-22
14
15
-34
14
-22
-76
-51
-2
7
0
6
33
-12
0
0
0
0
0
0
-18
-36
0
2
-5
-10
-9
-2
-36
-9
0
0
24
9
7
31
28
-25
-75
14
0
0
0
22
-17
-24
0
0
0
0
0
0
33
-5
0
-3
4
0
-1
-12
-23
-44
0
0
0
0
0
0
-24
7
44
-89
101
-10
37
-70
11
-42
0
0
81
-27
-51
-5
35
4
17
133
0
0
0
53
48
60
0
0
0
0
0
0
23
-48
25
-9
24
-38
-1
-58
31
-21
0
0
17
39
46
23
63
28
0
70
28
44
0
-24
18
16
0
0
0
0
0
0
-53
36
39
-65
-8
50
-9
-34
-50
-51
0
0
55
70
15
-21
51
24
0
-46
123
-11
-19
45
86
4
0
0
0
0
0
0
-5
-88
-42
-36
-13
89
5
19
-38
23
0
0
28
0
18
32
-30
-44
0
120
213
120
16
30
13
15
0
0
8
0
0
0
31
-77
-35
-59
47
-31
64
140
-2
2
0
0
0
0
0
0
-40
1
0
-8
52
45
3
56
5
18
0
0
14
0
-12
-36
-20
-7
-12
-49
-4
58
125
76
-32
34
0
0
0
0
0
0
-46
62
0
23
3
6
37
60
-59
30
0
0
33
-12
44
-23
-51
-7
-7
121
136
31
114
117
-44
4
0
0
0
0
0
0
27
12
0
50
34
-67
-21
-54
16
-52
0
0
131
49
-7
45
16
43
0
47
106
13
0
-2
-4
45
0
0
0
0
0
0
-1
-14
0
-111
-76
-13
-24
-8
-64
-49
0
0
112
-13
15
48
74
52
0
74
0
0
0
41
-4
2
0
0
0
0
0
0
0
-5
0
5
-130
-57
-85
-104
13
-36
0
0
0
0
0
0
16
-73
45
7
48
44
-7
65
-4
-13
0
0
42
23
36
12
78
57
0
75
0
0
0
19
49
40
0
0
0
0
0
0
-68
58
43
2
41
66
40
-35
41
-107
0
0
59
30
77
-43
-7
-10
8
-3
33
26
0
27
78
-25
0
0
0
0
0
0
17
-84
15
-36
11
-28
21
-19
-2
45
0
0
47
13
14
15
48
-10
0
12
84
-25
83
95
-53
5
0
0
-56
0
0
0
3
69
7
40
22
38
-5
-53
24
46
0
0
11
22
-18
53
15
17
0
83
80
-77
23
67
-25
-4
0
0
55
0
-3
-3
-28
-50
-8
36
27
-21
12
-19
94
-4
0
0
8
0
0
-1
71
106
0
51
-11
38
14
103
-67
4
0
0
8
-12
39
-35
57
-2
-12
-38
43
-13
28
20
49
6
0
0
0
0
0
0
-15
-12
0
70
26
12
-28
-13
-15
50
0
0
54
57
-40
49
-17
-22
0
32
79
-10
31
76
-78
13
0
0
0
0
0
0
-17
-50
0
3
10
41
22
-30
13
-25
0
0
70
51
0
61
10
24
0
14
55
27
0
98
-104
23
0
0
0
0
0
0
9
27
0
-31
-66
-83
-5
-4
-38
-46
0
0
-12
5
70
33
11
38
0
28
0
0
0
13
60
-19
0
0
0
0
0
0
7
-1
0
-84
-8
-31
-65
-80
-37
28
0
0
0
0
0
0
59
-37
10
-10
-20
-7
-1
-43
-10
-113
0
0
4
-7
-55
23
6
14
0
44
0
0
0
-57
52
44
0
0
0
0
0
0
-24
31
16
15
23
26
28
-7
-72
-7
0
0
63
39
15
-10
14
24
0
60
59
8
0
83
50
-24
0
0
0
0
0
0
-25
-61
-8
3
23
28
6
-11
16
40
0
0
54
-31
10
16
-7
-5
9
-9
-3
1
-15
-19
-52
48
0
0
-27
0
0
0
-12
-67
-9
-4
26
-49
16
11
46
-25
0
0
-8
-3
-48
5
67
-43
0
5
56
-23
-41
-16
-7
-2
0
0
-33
0
-8
2
39
10
-4
18
23
-13
40
14
-32
-20
0
0
-7
0
0
0
-47
-6
0
59
28
-44
2
51
12
-6
0
0
14
6
66
-39
-11
4
5
34
34
-97
141
75
48
97
0
0
0
0
0
0
-27
10
0
36
23
31
35
24
-22
-45
0
0
16
8
-5
20
-42
-29
0
24
79
49
46
-5
-54
-44
0
0
0
0
0
0
5
15
0
-42
-11
-31
14
25
-54
-140
0
0
17
-31
27
-71
2
11
0
5
84
11
0
2
38
-22
0
0
0
0
0
0
31
-21
0
-45
-28
-2
-18
-39
-5
-30
0
0
11
-1
-33
-1
40
35
7
37
0
0
0
71
62
29
0
0
0
0
0
0
12
-2
0
-72
-35
-14
-9
-66
-25
-5
0
0
0
0
0
0
-14
-89
-2
-44
-14
18
-8
-5
-22
-83
0
0
29
17
19
-70
44
39
0
22
0
0
0
0
28
35
0
0
0
0
0
0
-84
-32
-9
1
30
-11
38
-17
-4
9
0
0
4
9
17
62
31
-17
0
37
54
-3
0
4
-14
-29
0
0
0
0
0
0
-78
-5
26
8
18
-11
20
43
-2
-13
0
0
30
29
-32
34
-21
54
0
20
30
57
61
-21
3
46
0
0
0
0
0
0
-35
-48
11
-12
8
24
11
-15
19
-17
0
0
18
-18
36
41
5
21
7
-3
50
15
-45
-39
-31
-40
0
0
-13
0
-34
-7
1
-27
-9
4
23
6
18
-14
31
51
0
0
1
0
0
-3
-66
-30
0
33
18
-43
11
9
-56
-66
0
0
-61
-20
-40
31
-23
-11
0
18
20
45
41
-37
88
76
0
0
0
0
0
0
-16
-65
0
7
22
2
21
1
-39
-30
0
0
4
6
30
26
0
29
-5
25
30
75
82
55
-79
-25
0
0
0
0
0
0
-47
-65
0
-8
-8
20
1
-17
-7
-22
0
0
33
26
45
24
-35
4
12
-15
67
32
0
8
-20
54
0
0
0
0
0
0
11
11
0
-12
6
-21
-4
-5
19
-35
0
0
3
5
23
64
30
9
12
74
0
0
0
83
55
36
0
0
0
0
0
0
26
3
0
-95
-73
-23
-24
-50
5
-1
0
0
0
0
0
0
-27
-103
4
-4
-1
11
-4
61
-20
-12
0
0
-18
2
-55
40
30
42
0
-24
0
0
0
58
6
45
0
0
0
0
0
0
-6
55
-5
-7
3
5
5
-34
16
-16
0
0
23
10
21
42
59
8
0
81
-16
10
0
1
25
-20
0
0
0
0
0
0
-10
66
-7
-2
6
25
40
-12
-4
-58
0
0
13
28
24
-17
35
-53
0
40
4
-49
-30
1
-1
-41
0
0
0
0
0
0
-61
-34
6
21
11
6
-17
-17
24
43
0
0
0
-32
31
13
-10
-25
0
-21
9
-39
13
-3
-7
46
0
0
55
0
57
-16
2
15
0
-6
10
9
22
6
12
-4
0
0
16
0
-1
12
-10
11
2
43
7
-9
-16
40
-31
-5
0
0
-41
61
23
49
-26
-13
9
28
20
18
61
76
39
31
0
0
0
0
0
0
-40
71
0
4
15
-5
2
-3
-18
3
0
0
12
6
40
30
-31
9
4
63
23
88
58
6
46
-20
0
0
0
0
0
0
-50
-20
0
-4
-11
-4
-11
-32
-26
-34
0
0
32
65
20
54
15
29
8
46
91
85
0
24
-28
-31
0
0
0
0
0
0
-39
17
0
-21
-10
-33
21
-41
-13
-4
0
0
36
41
-6
27
17
27
35
60
0
0
0
36
-17
-20
0
0
0
0
0
0
-33
36
0
-31
-34
-14
-15
-46
11
-2
0
0
0
0
0
0
0
-20
-3
-2
26
4
-21
17
-7
-19
0
0
-24
22
-53
-27
-34
-9
0
-73
0
0
0
-6
19
-17
0
0
0
0
0
0
-49
-19
5
12
5
45
13
-1
18
9
0
0
-29
-19
-18
-69
-9
6
0
2
-28
-93
0
-7
55
29
0
0
0
0
0
0
21
-25
6
13
-4
32
31
9
22
-30
0
0
5
7
0
42
-15
-17
0
-9
21
-9
-7
3
-46
-18
0
0
0
0
0
0
-30
18
0
1
17
26
10
-17
-4
-4
0
0
-49
-8
78
-58
-23
13
0
7
1
6
-5
23
15
-41
0
0
-1
1
3
0
7
22
-6
22
26
19
15
2
38
-13
0
0
-29
-3
5
-12
-7
-51
0
36
15
-20
-5
2
-16
12
0
0
-45
-68
-11
-30
22
7
-11
32
24
0
60
19
7
-14
0
0
4
0
0
0
-13
-81
5
-10
15
-5
9
3
-7
-76
0
0
12
14
-6
49
12
20
9
31
34
21
67
65
10
-31
0
0
0
0
0
0
-32
-17
0
-24
-2
-39
2
-18
-30
-58
0
0
18
34
44
10
19
25
-7
19
37
85
0
-15
-12
65
0
0
0
0
0
0
18
-90
0
-24
3
-34
-16
-22
-5
-17
0
0
7
-30
-9
71
-4
9
42
46
0
0
0
54
3
18
0
0
0
0
0
0
-25
-34
0
-19
-31
5
-21
3
22
20
0
0
0
0
0
0
61
108
1
12
13
-4
2
20
41
13
0
0
-33
-30
-50
-42
-10
0
0
-18
0
0
0
-41
0
-3
0
0
0
0
0
0
35
-3
-5
-2
4
12
1
4
37
1
0
0
2
-5
6
4
-46
-10
0
-33
-28
-86
0
-16
-23
6
0
0
0
0
0
0
20
29
0
3
-18
10
3
1
24
35
0
0
-25
-4
-7
-9
9
-15
0
-32
5
-27
-55
1
-3
13
0
0
1
0
0
0
36
22
-6
13
-9
4
10
22
29
11
0
0
52
-24
-28
-23
4
12
0
-20
13
-5
-7
9
1
-36
0
0
-7
-6
-51
0
-22
33
7
-14
0
8
-9
1
39
11
0
0
2
32
35
10
33
-13
0
-9
-11
12
-31
-1
6
-18
0
0
35
-21
-8
30
4
10
-25
13
-7
13
20
5
27
-31
0
0
-7
0
0
0
-4
-27
0
-10
-7
7
-11
-18
-18
-11
0
0
25
-6
-1
4
12
-9
8
26
21
72
19
6
-13
-67
0
0
0
0
0
0
25
8
-3
-15
-5
-24
-28
-14
3
-12
0
0
21
14
39
42
3
16
-14
17
4
49
0
56
-3
11
0
0
0
0
0
0
-11
2
0
-16
-20
2
6
-14
-7
-22
0
0
16
26
17
-26
7
6
-39
-9
0
0
0
18
-29
1
0
0
0
0
0
0
-49
2
0
-23
-26
-3
-11
-24
-29
-10
0
0
0
0
0
0
63
122
2
7
8
2
3
19
48
32
0
0
-41
-26
-33
-33
-22
-14
0
-41
0
0
0
-13
-10
-5
0
0
0
0
0
0
93
41
0
6
20
11
9
11
38
10
0
0
-44
-49
-35
-44
-34
-25
0
-48
-27
-137
0
-44
-55
-18
0
0
0
0
0
0
25
28
6
8
1
32
6
9
28
26
0
0
-21
-6
-8
-33
-27
-5
0
-37
-2
-34
-63
-18
4
-1
0
0
41
0
13
-5
45
25
-4
19
0
-3
10
12
32
13
0
0
-44
-4
-25
-11
-22
-14
0
-54
-1
14
-4
-32
4
-27
0
0
14
-4
24
-13
19
13
5
20
3
-4
-17
27
-11
26
0
0
30
22
-57
-34
19
-12
0
-21
1
3
8
-17
7
-2
0
0
36
43
-22
8
18
19
9
26
-3
13
11
11
13
31
0
0
62
3
4
-33
2
-2
0
-18
1
4
-1
-5
-1
-1
0
0
11
13
8
-1
22
18
-16
1
2
8
37
16
12
45
0
0
14
0
0
0
0
-53
0
0
0
-15
-11
-2
8
-9
0
0
4
-3
3
-14
37
6
-42
33
15
20
0
7
31
-4
0
0
0
0
0
0
-47
-35
-1
3
11
-9
15
-5
-11
7
0
0
32
10
16
11
18
-1
-22
44
0
0
0
-28
-2
2
0
0
0
0
0
0
19
-34
0
4
24
-3
1
-18
-13
-7
0
0
0
0
0
0
-11
63
0
11
-13
-1
2
21
-14
21
0
0
-45
-39
-1
-32
-37
-8
0
-79
0
0
0
-16
-10
-2
0
0
0
0
0
0
57
65
-2
2
8
-4
33
23
6
21
0
0
-40
-28
-29
2
-23
8
0
-61
-38
-46
0
-35
-6
14
0
0
0
0
0
0
73
22
1
6
-3
18
25
-8
31
36
0
0
-26
4
9
-10
-9
-22
0
-9
-7
-7
-56
0
23
-34
0
0
4
0
0
8
22
68
3
17
-4
-34
-21
2
-3
-2
0
0
-1
38
-23
2
13
-2
0
-28
-1
6
10
-49
-11
4
0
0
27
-12
-17
55
30
72
-4
4
-4
-6
21
-15
6
25
0
0
-58
-6
-34
46
-8
-21
0
-62
-13
5
7
-45
-42
-20
0
0
14
14
39
-4
21
45
2
-4
-16
-27
-77
-9
-43
-28
0
0
15
0
0
6
59
7
0
-60
-7
-38
-23
-28
-11
-13
0
0
-33
-24
-18
-23
21
29
-10
-23
-48
-59
4
-35
45
134
0
0
0
0
0
0
2
55
0
-16
0
2
-22
-19
-19
36
0
0
-11
-1
7
0
35
-17
-46
-45
-39
5
0
-28
69
-12
0
0
0
0
0
0
11
-1
0
4
-43
-11
21
-7
-18
-5
0
0
15
25
66
77
-2
-31
-44
0
0
0
0
-19
-6
-29
0
0
0
0
0
0
19
-11
-1
-12
-20
-1
-6
-4
6
-43
0
0
0
0
0
0
0
-1
-28
-16
4
6
18
0
-1
-5
0
0
13
-1
5
4
39
3
17
39
0
0
0
-7
13
-5
0
0
0
0
0
0
-1
-5
-6
-27
23
-32
-1
-47
-1
17
0
0
46
2
14
34
-3
-13
0
-3
19
0
0
29
2
-2
0
0
0
0
0
0
-84
-26
8
12
41
-3
-6
-51
-44
-1
0
0
45
1
-5
-22
5
1
0
9
14
-1
16
9
0
0
0
0
0
0
0
0
-1
9
40
-6
0
-11
5
17
22
8
0
0
1
0
0
0
0
-1
0
24
35
-6
25
12
10
0
0
0
0
0
0
0
-13
-19
0
2
40
0
-13
-22
12
0
0
0
0
0
0
0
-4
2
0
31
23
-14
-18
37
-2
0
0
0
0
0
1
1
10
4
0
5
25
1
7
16
-4
1
0
0
0
0
0
0
2
-1
0
13
-24
-3
-4
-7
-5
-2
0
0
-43
0
-12
5
12
-4
1
-10
8
0
0
22
1
1
0
0
0
0
0
0
0
0
0
0
16
-14
11
-24
0
-1
0
0
-13
4
8
0
1
17
0
9
7
0
0
10
0
0
0
0
0
0
0
0
0
0
0
-48
-10
-16
-1
-12
0
7
0
0
17
3
4
1
20
14
0
-4
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
5
-4
6
20
0
0
0
0
0
0
0
0
0
-1
-5
-6
16
-6
-9
-2
-18
-6
-23
0
0
57
4
-12
18
31
17
0
16
0
0
0
-4
5
4
0
0
0
0
0
0
-10
-6
5
-13
-2
-14
-2
-3
-13
-5
0
0
5
16
20
10
7
15
5
29
-19
3
0
7
0
-5
0
0
0
0
0
0
-22
-29
5
5
-7
-9
-38
15
-12
6
0
0
59
31
9
24
-15
-9
0
1
25
0
9
45
16
0
0
0
0
0
0
0
-13
-22
-2
-20
-1
-8
5
2
-20
12
0
0
-2
0
0
2
8
-8
0
2
23
5
-11
19
-25
0
0
0
0
0
0
0
-11
25
-13
14
-5
-8
-43
-40
34
-19
0
0
0
0
0
0
3
6
0
4
21
18
-9
-13
5
4
0
0
2
0
-1
-8
19
3
-3
-3
-3
-7
9
-7
7
-10
0
0
0
0
0
0
2
0
0
-1
16
-4
-30
-42
9
-10
0
0
27
9
9
5
-20
8
1
5
0
-2
9
6
-1
1
0
0
0
0
0
0
0
0
0
0
10
-2
-18
-50
4
0
0
0
-11
9
0
19
5
32
0
-30
31
0
0
13
5
0
0
0
0
0
0
0
1
0
0
-50
-30
-34
15
-31
-4
-5
0
0
-11
-19
8
-7
19
20
0
6
0
0
0
13
3
5
0
0
0
0
0
0
0
0
0
-24
-21
36
25
-1
-1
5
0
0
0
0
0
0
0
-3
-24
-31
45
-9
-9
-32
-9
-1
0
0
33
14
-8
29
8
-6
0
-20
0
0
0
-17
24
-5
0
0
0
0
0
0
2
0
-39
-21
17
14
10
26
-37
-65
0
0
10
12
60
-3
40
8
0
-16
-40
0
0
-11
5
36
0
0
0
0
0
0
1
-13
76
42
-27
1
22
-21
-8
22
0
0
48
28
7
0
-2
22
4
-6
-2
0
-11
3
1
6
0
0
0
0
0
0
-13
-13
4
15
-11
-29
-41
-12
4
7
0
0
-7
0
0
-5
1
-5
0
41
6
-6
-5
-6
-24
7
0
0
-1
0
0
0
-10
-20
10
14
47
-10
-26
17
-8
-13
0
0
-1
0
0
0
44
2
0
8
8
-4
-27
-10
-34
1
0
0
20
1
-10
2
-1
28
-7
17
-18
-9
22
21
36
17
0
0
0
0
0
0
-14
-2
0
2
-12
5
7
-5
-2
-5
0
0
-23
13
-17
4
-49
34
0
-22
13
1
-1
41
-46
-27
0
0
0
0
0
0
7
0
0
-48
5
8
-4
9
-1
-25
0
0
22
-9
-12
-28
-30
-17
-1
3
20
0
0
-47
-2
-13
0
0
0
0
0
0
2
0
0
28
30
-11
-43
12
-16
-4
0
0
13
-13
-17
-13
10
-13
-1
-11
0
0
0
75
12
49
0
0
0
0
0
0
0
0
0
-9
15
-13
3
4
-4
3
0
0
0
0
0
0
3
-13
-4
-82
4
-2
-12
-66
-6
-59
0
0
13
-24
42
13
23
-25
0
43
0
0
0
20
-4
-4
0
0
0
0
0
0
-9
3
-24
-13
57
-40
40
-7
0
5
0
0
-36
-1
-4
-13
49
13
0
19
2
4
0
62
23
10
0
0
0
0
0
0
-12
19
16
4
9
49
22
10
-39
-70
0
0
-1
-19
16
22
-20
-43
0
-6
51
6
-22
4
-10
7
0
0
0
0
0
0
-8
-50
66
-72
28
-21
13
21
9
1
0
0
-6
0
-22
-12
-22
-5
1
95
14
15
-7
-59
-39
37
0
0
0
0
0
0
-56
-11
-22
16
40
-13
56
-22
-4
6
0
0
0
0
0
-2
-31
-22
0
18
37
50
22
39
-22
-8
0
0
-4
-2
11
-41
-23
6
0
-22
-44
5
11
5
13
24
0
0
0
0
0
0
25
-19
0
30
-14
46
23
53
-30
-16
0
0
-5
34
-24
9
27
-41
7
-13
4
10
23
12
-58
-22
0
0
0
0
0
0
-12
-5
0
25
16
6
-4
-46
35
13
0
0
7
-31
-49
-37
5
-7
3
-38
34
5
0
1
13
33
0
0
0
0
0
0
1
-3
0
-36
-5
-24
-12
0
-21
3
0
0
-38
17
-1
2
44
13
0
23
0
0
0
-7
9
7
0
0
0
0
0
0
0
-3
0
19
-60
-11
-17
-49
10
-13
0
0
0
0
0
0
-5
-9
21
-26
18
3
13
11
18
21
0
0
-37
-19
-71
-20
5
7
0
-11
0
0
0
-5
35
20
0
0
0
0
0
0
-5
-31
-22
-7
-26
22
48
11
12
-11
0
0
11
29
0
8
-18
-13
0
0
-38
1
0
33
47
-1
0
0
0
0
0
0
24
-15
20
2
-17
31
33
-28
20
1
0
0
17
26
13
-2
63
42
0
-15
3
-18
-22
-48
-7
6
0
0
0
0
0
0
-33
-30
37
-18
18
32
11
9
40
-30
0
0
3
-3
-3
-49
2
2
0
29
-2
31
-11
25
-13
16
0
0
0
0
0
0
-40
-39
0
8
20
-19
5
-42
-31
23
0
0
0
0
0
1
-9
-14
1
-20
-13
-44
-13
6
10
10
0
0
-10
8
27
0
-17
13
22
-37
5
6
5
50
-4
31
0
0
0
0
0
0
-7
9
0
50
-2
-28
14
-4
5
1
0
0
-21
-30
25
44
3
47
-10
18
-47
14
48
-15
-66
-31
0
0
0
0
0
0
-18
5
0
-13
11
2
-25
11
-51
-46
0
0
-4
-11
-14
42
-24
50
13
52
-32
12
0
21
-40
40
0
0
0
0
0
0
1
-5
0
-33
1
-14
27
-5
-1
10
0
0
-4
14
22
13
19
-18
0
34
0
0
0
-12
56
29
0
0
0
0
0
0
-8
-9
0
7
13
7
17
-26
-19
-11
0
0
0
0
0
0
0
9
18
53
-8
12
6
24
-25
-7
0
0
10
37
-35
-19
-18
28
0
17
0
0
0
-11
16
-13
0
0
0
0
0
0
20
-31
6
4
34
12
-33
10
-21
19
0
0
-41
-39
-8
-5
-26
-40
0
36
-41
2
0
-30
-13
21
0
0
0
0
0
0
10
18
27
2
4
-7
21
-4
-21
17
0
0
-6
13
42
-10
-1
-4
0
21
-12
5
-23
0
-22
20
0
0
0
0
0
0
-36
-28
0
-23
19
-70
-13
-36
-15
-37
0
0
-23
2
-24
-10
-3
-4
0
-54
2
-29
-19
-20
24
-41
0
0
4
0
0
-12
-7
-42
-37
-6
-6
13
27
8
40
23
0
0
1
0
0
6
-22
-41
0
17
9
0
16
-13
-47
7
0
0
-10
-7
-12
10
-8
12
-66
44
-10
-10
11
-45
-2
8
0
0
0
0
0
0
-16
-22
4
-16
7
-31
10
-5
13
-44
0
0
3
6
-10
47
-12
13
-4
7
44
13
8
76
39
-18
0
0
0
0
0
0
-4
-33
0
-26
12
-22
-10
-2
-7
21
0
0
-5
31
15
-20
32
37
2
7
-16
9
0
20
-48
-6
0
0
0
0
0
0
-3
-10
0
-15
-7
-78
-21
-5
-14
-12
0
0
14
-19
-10
9
-3
4
-39
5
0
0
0
-24
-40
-12
0
0
0
0
0
0
13
-16
0
-20
-43
11
23
55
-8
-6
0
0
0
0
0
0
17
47
-5
30
18
-2
-17
16
-19
20
0
0
-20
-66
54
21
-9
-11
0
-52
0
0
0
38
-16
-8
0
0
0
0
0
0
31
10
3
13
28
14
9
15
2
-2
0
0
1
-3
-21
-5
-18
-28
0
22
17
-43
0
-45
-21
-1
0
0
0
0
0
0
31
28
0
-10
-24
-21
-20
20
29
26
0
0
9
4
-28
-19
-2
-1
0
-22
-58
-21
-32
-23
9
-13
0
0
0
0
0
0
25
40
-27
46
-14
63
-24
30
2
19
0
0
7
-5
-28
9
4
10
0
-53
5
18
-3
-40
8
-13
0
0
-1
0
-2
5
7
47
-21
-1
-1
5
29
-15
30
40
0
0
5
0
0
1
24
60
0
-24
-21
-47
-12
-1
-2
-5
0
0
-7
20
58
7
66
57
-14
-5
-15
-9
5
-8
-8
12
0
0
1
0
0
0
-15
-16
0
-14
-14
6
-2
-45
-15
54
0
0
-40
-23
-2
8
-8
-10
-75
44
15
1
-10
3
30
9
0
0
0
0
0
0
20
17
-4
-35
3
15
-14
23
22
-57
0
0
1
60
35
11
2
18
-6
12
16
29
0
14
16
-18
0
0
0
0
0
0
19
8
0
3
-31
-1
-18
-23
50
-40
0
0
28
49
12
-4
-24
8
-8
31
0
0
0
24
-6
14
0
0
0
0
0
0
25
9
0
-44
-17
-16
-5
-51
-12
17
0
0
0
0
0
0
-15
-18
3
33
-50
6
5
31
5
16
0
0
-65
-28
-54
-12
-7
-4
0
-65
0
0
0
-40
-28
2
0
0
0
0
0
0
49
-18
0
9
-41
15
24
20
35
4
0
0
-37
-71
-72
-62
-15
-29
0
-87
-30
-87
0
-66
-4
-11
0
0
0
0
0
0
0
-44
-1
-10
10
-5
-8
20
39
-9
0
0
3
-29
0
-31
-30
-24
0
11
-33
58
-54
-6
50
-1
0
0
0
0
0
0
13
42
-6
39
8
-74
52
-40
26
14
0
0
24
-2
-19
-34
-46
11
0
-56
-22
-50
-5
10
40
-1
0
0
-13
-1
2
-2
42
43
21
-35
-13
2
-29
11
-73
26
0
0
31
0
-39
13
41
-31
0
-13
14
-15
-34
8
-32
-19
0
0
13
1
5
33
14
2
25
-8
14
78
-13
4
11
-27
0
0
2
0
0
0
-22
-2
0
-3
13
51
13
6
-55
-37
0
0
-10
-15
38
4
-10
-24
39
40
25
-4
28
-11
-18
16
0
0
0
0
0
0
38
-13
0
9
-2
-52
-10
-39
-7
-51
0
0
-2
30
-3
1
39
-1
-5
60
22
45
0
29
22
-5
0
0
0
0
0
0
-41
44
2
5
17
5
20
-9
-58
5
0
0
39
9
-22
17
21
-7
6
34
0
0
0
6
-41
9
0
0
0
0
0
0
0
24
0
-19
-6
-2
-18
-21
-1
25
0
0
0
0
0
0
-4
61
0
41
20
11
15
37
27
17
0
0
-49
-29
27
-33
-61
-15
0
-85
0
0
0
-35
7
-7
0
0
0
0
0
0
-23
93
-3
15
-32
21
5
7
13
42
0
0
-14
-3
-31
9
28
7
0
-27
-58
-5
0
-2
-20
-45
0
0
0
0
0
0
-23
2
6
28
-7
2
32
-1
25
94
0
0
-28
-45
-44
-22
-19
-8
0
6
49
-66
-49
-31
48
9
0
0
0
0
0
0
25
70
-19
-21
-15
26
30
52
-54
13
0
0
6
-12
24
64
32
-47
0
-75
-30
0
34
-10
-46
-66
0
0
-10
1
2
-9
3
22
-18
69
-6
31
25
-6
36
-48
0
0
-6
-1
-1
1
15
23
0
-48
-23
17
-4
-5
60
9
0
0
17
5
4
31
-9
-70
4
43
-2
-37
-47
0
0
-20
0
0
0
0
0
0
36
41
0
24
-18
-23
-68
14
44
30
0
0
28
-8
-39
-29
75
-2
24
-40
-62
8
51
-10
-5
92
0
0
0
0
0
0
43
58
0
-28
-14
-15
-28
4
-37
72
0
0
34
-12
26
-7
-43
-32
6
-69
-28
9
0
-23
27
-13
0
0
0
0
0
0
2
-13
0
-32
-16
-14
-7
-17
58
-11
0
0
8
-1
67
5
-13
-9
28
3
0
0
0
-33
26
-38
0
0
0
0
0
0
-46
-36
-4
-17
-21
-3
-5
3
12
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
-51
-2
-13
23
-29
-77
49
-176
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-55
0
18
69
55
0
23
18
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-119
-7
5
0
-23
1
0
1
172
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-32
2
1
0
3
0
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-13
5
66
0
-9
-1
56
0
0
0
0
0
0
2
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
-9
8
-1
9
-10
5
0
0
84
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-14
-147
-15
-22
-94
6
-12
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
119
-72
-152
-108
19
-62
-133
-2
150
-35
0
-18
48
27
70
34
-52
0
25
0
0
0
50
84
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-41
-13
1
0
0
-9
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-4
-2
47
2
0
0
-37
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
48
-2
-12
0
1
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-13
79
-40
0
0
45
-21
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-4
0
0
0
44
0
0
19
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
29
3
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
56
40
-10
-19
-32
-53
20
-34
34
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
17
12
-43
-35
0
-142
76
-47
66
52
121
0
-39
9
-42
13
-10
-54
0
8
0
0
0
41
17
8
0
0
0
0
0
0
0
0
94
44
72
1
0
25
1
3
65
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
146
90
62
130
8
-21
160
60
226
0
0
0
0
-22
-12
3
0
0
0
0
0
-1
5
-1
0
0
0
0
0
0
-14
0
31
-63
-25
80
-1
48
0
1
-33
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-18
-68
-30
-20
0
-3
0
-173
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
51
9
10
0
63
19
0
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
164
24
-4
-91
10
2
25
82
53
98
0
63
57
62
79
55
62
-5
22
0
-33
0
-4
96
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
47
18
-1
9
0
0
-127
0
10
0
0
-1
31
8
-2
0
0
0
0
4
-3
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
45
-1
0
0
-1
2
0
-6
0
-2
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
-1
0
-20
0
0
10
0
6
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-20
3
-16
6
0
-14
-13
0
7
0
0
0
1
-1
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
1
2
-22
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
26
-49
22
-9
-5
49
10
-62
0
6
0
0
0
-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
1
0
0
31
129
13
-2
95
1
-90
-93
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
1
47
13
5
74
4
-26
-22
-53
-113
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
0
0
10
-18
48
0
-37
130
31
-24
0
-13
0
-7
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
41
104
1
0
1
-27
0
-12
-43
0
0
0
0
-1
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
-75
0
-19
17
0
1
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
136
62
10
134
188
53
-1
34
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
121
25
123
84
0
-105
65
70
96
-43
28
0
-60
-5
31
-42
-100
-31
0
-3
0
-10
-67
-37
93
-5
0
0
0
0
0
0
6
0
2
125
75
0
-5
59
1
-2
-65
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
6
186
129
7
15
207
2
3
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
22
-27
-49
23
27
15
0
33
0
0
0
6
0
-1
0
0
-3
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
2
69
-8
0
62
-6
0
24
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
78
-35
0
58
-57
-5
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
-47
-3
61
-10
52
53
46
78
83
22
0
-68
-16
25
42
-53
-1
49
20
0
-146
-70
43
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-13
0
0
0
0
0
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
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-23
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
37
8
-1
0
7
0
4
0
8
1
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
0
-51
14
-1
0
-3
0
38
0
-11
2
0
4
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
-6
-2
0
-14
0
0
0
0
0
0
0
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
0
-1
0
-1
0
1
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
-1
0
0
47
-85
0
-19
39
31
3
-64
0
-20
0
4
-1
14
0
0
1
0
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
0
32
-128
-14
-55
177
51
10
-46
0
0
0
0
0
1
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-32
0
-29
46
27
29
49
2
-50
-42
-37
0
23
0
-2
-18
46
0
0
2
0
0
-2
20
0
0
0
0
0
0
0
0
-4
1
0
174
-111
-14
71
75
71
-19
-31
0
-7
0
9
9
29
13
-1
-25
0
-1
-16
-59
41
3
0
0
0
0
0
0
0
-2
5
-77
-132
53
27
-37
8
39
22
0
21
-1
-16
56
0
4
0
19
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
5
-50
-4
-5
-32
-25
0
-17
0
75
0
0
0
4
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
0
-5
2
0
-123
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
1
-1
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-2
-10
-2
-2
19
55
32
-32
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-65
-49
41
-10
0
83
-88
42
9
-24
-83
0
-2
-1
8
59
23
26
1
30
0
-54
-60
85
-77
-73
0
0
0
0
0
0
-2
0
0
20
109
-25
9
71
4
-1
-84
0
0
0
0
0
25
0
0
0
0
0
6
-7
1
0
0
0
0
0
0
0
-21
0
-1
18
69
-20
63
12
-36
-1
-52
0
0
0
0
4
16
1
0
-1
0
-13
-3
57
-66
-1
0
0
0
0
0
0
6
1
-1
77
52
-2
-69
-25
85
-12
-19
0
0
0
0
2
-1
2
0
0
0
-1
-2
-15
32
0
0
0
0
0
0
0
0
0
0
-20
108
-1
5
-17
1
69
-23
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
8
49
0
-1
45
-17
0
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
8
22
-83
-20
45
0
99
42
67
27
1
-2
0
-45
-42
-47
-46
-11
-39
-35
-65
0
17
-45
-15
12
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
32
1
18
26
-9
32
2
24
0
-1
0
0
0
0
-13
0
-37
0
3
31
13
-1
0
0
0
0
0
0
0
0
0
0
1
21
-4
-4
7
27
0
-15
0
0
0
0
0
0
0
0
-1
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
2
0
1
0
0
0
8
0
0
-7
0
0
-1
12
0
0
0
0
0
0
0
0
17
0
0
-17
18
9
41
-59
-42
73
-15
0
1
0
0
3
2
0
3
-14
0
51
35
-22
-28
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
12
-98
-5
38
-16
52
21
-116
0
0
0
0
0
-33
0
0
43
0
4
58
-13
27
5
0
0
0
0
0
0
58
5
-6
60
-46
-12
-2
52
-5
-80
-7
0
-19
-1
-5
50
-58
-30
-2
79
0
-61
50
52
-22
-40
0
0
0
0
0
0
-97
-9
0
44
-34
37
6
-68
-3
50
-27
0
25
0
6
-6
69
19
24
129
0
56
-32
30
2
69
0
0
0
0
0
0
83
-42
-4
-123
-84
-34
60
29
-36
-17
-12
0
6
0
-5
-27
40
46
-1
72
0
-3
12
-9
34
-8
0
0
0
0
0
0
0
0
0
2
-36
12
80
-112
17
0
-51
0
-2
0
0
0
-5
0
0
-4
0
-2
-20
48
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-12
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
2
-22
-8
0
-6
52
0
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
0
0
0
-3
0
-22
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
-13
2
2
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-8
0
-17
0
66
-79
-26
84
79
-40
0
0
0
0
0
99
25
0
27
0
26
208
12
-38
180
0
0
0
0
0
0
-4
0
0
-1
143
0
22
-5
8
1
-54
0
0
0
0
0
-8
0
0
-1
0
-3
8
8
-24
0
0
0
0
0
0
0
1
1
0
-6
-11
17
-22
41
-8
16
-77
0
0
0
0
0
0
0
0
0
0
0
14
1
-3
-2
0
0
0
0
0
0
0
0
0
8
132
1
5
-24
67
4
78
0
0
0
0
0
0
0
0
0
0
0
89
13
2
0
0
0
0
0
0
0
0
0
0
0
149
0
-31
0
0
0
264
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
59
0
-41
5
-10
0
-132
0
0
0
0
0
0
0
0
0
0
1
2
2
-1
0
0
0
-68
-4
16
63
-35
-35
-5
0
10
21
-56
17
1
6
-11
0
-11
0
-31
-44
9
12
7
-41
0
-60
-22
-25
-11
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
87
49
102
-66
24
-1
-6
0
0
0
0
0
-3
0
0
23
0
-5
-42
59
0
3
0
0
0
0
0
0
-1
0
0
8
-4
0
-55
8
-29
0
8
0
0
0
0
0
2
0
0
-2
0
4
20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
3
0
5
0
0
0
0
0
17
-8
0
10
0
25
-26
-4
10
5
0
0
0
0
0
0
8
-4
0
7
-38
79
8
18
110
-70
4
0
0
0
0
0
88
-16
0
-29
0
-51
-18
39
47
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-2
0
111
-66
47
81
-54
1
102
5
0
0
0
0
0
-17
-21
-3
-61
0
55
17
-25
-85
-53
0
0
0
0
0
0
30
66
20
-93
-117
118
-98
-82
-63
7
-14
0
0
0
0
0
-11
-10
0
-7
0
-8
-36
35
-42
-27
0
0
0
0
0
0
-15
-19
0
9
36
70
-7
-29
-25
62
2
0
8
0
0
0
-24
23
-24
-44
0
-161
-24
19
-16
-23
0
0
0
0
0
0
-84
12
0
-86
22
5
-40
-122
-9
13
8
0
0
0
0
0
-43
-11
1
76
0
5
-40
-3
73
19
0
0
0
0
0
0
-13
0
0
-58
50
59
-17
45
24
-5
-20
0
0
0
0
0
-7
0
0
16
0
76
14
-33
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-43
1
0
2
12
-9
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
2
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
24
0
7
6
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
50
0
0
-4
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-4
6
0
0
-7
0
3
0
2
0
-17
-132
0
0
0
0
0
0
0
0
3
0
-33
-15
-54
-1
5
0
0
0
0
0
0
0
0
0
0
-128
0
0
0
0
0
272
0
0
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
-2
0
0
135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
44
-71
-25
-85
-90
0
-95
105
7
-83
-26
-107
-80
-140
0
0
0
0
0
11
-62
-50
-17
0
-29
-75
-61
-57
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
6
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-39
0
0
0
0
0
-1
0
0
-5
0
-3
7
13
-3
0
0
0
0
0
0
0
0
0
0
24
29
9
3
9
2
29
-149
0
0
0
0
0
-31
23
-10
-1
0
1
-47
-62
-10
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-4
-66
0
-1
16
1
39
-42
0
0
0
0
0
-4
0
0
-30
0
-2
0
25
17
0
0
0
0
0
0
24
-17
12
0
-5
-50
-80
32
97
23
112
-14
0
0
0
0
0
-20
16
0
-107
0
-3
8
-49
-32
4
0
0
0
0
0
0
2
2
0
2
33
0
13
-5
-25
7
-92
0
0
0
0
0
-6
-3
-12
-15
0
66
53
-22
-13
-4
0
0
0
0
0
0
3
3
0
-2
35
8
22
18
0
2
-29
0
0
0
0
0
0
0
0
-49
0
-4
0
-59
-1
3
0
0
0
0
0
0
0
0
0
0
-9
0
4
1
0
0
-49
0
0
0
0
0
0
0
0
38
0
3
0
4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
5
0
0
43
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
3
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
1
0
0
0
-27
0
-4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-17
-72
-131
-68
-61
-8
-81
132
-13
32
4
-128
-77
-140
0
0
0
0
0
-7
60
-31
-82
0
-1
-84
-127
-83
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-51
0
0
0
0
0
0
1
0
-30
0
13
-17
-31
-3
0
0
0
-22
-8
-13
8
-2
0
0
-7
4
-55
-24
69
0
0
-45
0
0
0
0
0
-27
19
-6
61
0
10
-55
-20
-21
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
-2
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
37
0
-7
-5
-20
-3
0
0
0
1
0
0
0
1
0
0
-4
32
0
-1
4
0
0
-45
0
0
0
0
0
0
0
0
-7
0
0
0
-42
9
2
0
0
-4
4
0
0
0
2
0
-2
13
0
-1
0
0
0
-70
0
0
0
0
0
-4
-2
-6
-61
0
42
5
23
31
-2
0
0
-3
0
0
1
3
48
0
0
1
0
0
-7
0
0
-44
0
0
0
0
0
0
0
0
-67
0
0
-13
8
0
0
0
0
-15
0
0
0
0
1
0
0
16
-3
0
-1
0
0
-36
0
0
0
0
0
0
0
0
-6
0
-1
22
-7
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
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
0
-9
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
14
0
54
-60
-42
83
19
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
52
51
0
45
-27
37
-7
9
9
0
4
0
0
0
1
22
0
1
0
0
0
-33
1
0
0
0
0
0
0
0
0
0
-76
-7
36
0
52
-13
0
2
93
0
0
0
0
0
0
-17
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
-5
-28
2
35
-3
3
1
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-87
31
-7
-8
0
-9
-1
41
0
0
0
0
0
0
7
0
-4
0
0
0
1
4
-3
0
0
0
0
0
0
0
0
-35
-3
0
3
-34
10
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
-44
-12
10
78
8
-5
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-30
-33
-130
-91
-74
7
-105
99
52
-51
0
-68
10
39
-11
12
-21
-6
-28
0
0
0
6
2
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-47
57
16
0
0
-4
-81
0
0
0
0
0
-3
-9
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-31
1
0
0
-27
0
0
0
0
0
0
3
0
8
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-22
-17
18
44
0
43
36
0
-1
0
0
0
-20
21
0
-3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
47
47
-9
-17
0
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-4
4
-53
19
-2
115
-99
0
0
0
0
0
7
-2
0
-15
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
42
-8
-1
0
58
0
0
19
-48
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
59
0
4
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
74
3
0
0
16
0
0
-136
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
4
-5
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
82
5
64
5
34
91
25
-49
116
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
48
10
79
42
0
-91
141
103
132
57
-17
0
-74
5
-67
52
-104
-68
0
5
0
0
0
-33
3
-49
0
0
0
0
0
0
0
0
165
24
67
9
0
-25
8
-10
154
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
-2
84
35
-8
56
42
93
79
-31
75
0
7
0
0
-41
-14
-29
0
10
0
0
0
-32
0
-16
0
0
0
0
0
0
0
0
67
-3
9
9
10
107
-1
-38
103
0
1
0
3
-6
-4
-10
0
1
0
0
0
14
0
6
0
0
0
0
0
0
0
0
106
-33
49
-45
0
-41
0
6
4
0
-1
0
0
-1
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
33
34
-15
17
0
44
5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
53
61
-7
-63
-20
15
15
171
64
13
0
24
40
31
5
133
46
38
34
0
-71
0
49
13
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
58
43
-15
-3
0
0
-94
0
40
0
-9
-2
5
-4
-57
28
0
0
0
13
3
6
0
0
0
0
0
0
0
0
0
0
13
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-41
-1
0
0
1
0
-8
0
15
0
0
6
4
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-32
33
-2
-14
-22
0
0
-95
0
37
0
-3
0
0
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
29
-8
3
16
48
0
16
-96
0
-19
0
-33
2
3
41
1
-13
0
0
0
-32
0
-3
0
0
0
0
0
0
0
0
0
25
-5
5
0
0
5
-6
-21
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-27
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
-77
-24
106
-31
-54
58
-59
-19
0
30
0
8
-2
-54
-1
-5
-2
0
2
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
31
75
-13
11
5
-27
-76
0
-1
0
0
0
0
0
0
-4
0
0
0
-10
-13
0
0
0
0
0
0
0
0
2
55
-7
-14
67
2
-73
-48
-6
-101
0
-1
0
0
-5
16
10
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
-8
-3
0
79
57
43
-2
119
93
-21
-9
0
-13
0
-34
-5
-16
-2
12
-41
0
0
0
3
-10
9
0
0
0
0
0
0
0
0
35
11
8
0
2
-14
0
32
-49
0
-5
0
0
-8
0
0
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
0
4
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
17
37
0
27
-13
0
1
-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
-1
76
0
8
13
0
0
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
3
-3
-16
153
32
13
79
70
49
62
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
188
66
98
119
0
20
50
110
20
33
-14
0
22
12
44
-30
-14
-66
-9
-90
0
20
-67
31
-11
-22
0
0
0
0
0
0
5
0
-16
69
79
0
80
124
4
9
29
0
-2
0
0
2
5
-1
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
8
0
15
181
81
13
-89
51
-2
1
-34
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
24
1
59
159
71
10
90
63
95
42
19
0
0
0
2
-1
7
1
0
1
0
12
-2
-27
-8
-1
0
0
0
0
0
0
0
0
56
143
-28
1
11
49
0
5
19
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
12
49
32
4
10
43
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
45
-46
80
-21
-8
32
46
52
32
-12
0
14
-41
-14
-33
-7
29
-17
12
0
-201
-96
-9
76
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
16
0
0
0
0
0
6
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-45
0
84
8
0
0
97
0
0
0
-5
1
-2
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
22
0
-2
-66
-8
0
11
0
2
1
110
-29
3
4
-1
-6
0
0
9
32
0
0
0
0
0
0
0
0
0
0
0
0
12
0
12
-9
-4
0
11
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
23
0
-11
5
-15
22
-17
0
0
-5
0
-5
-1
-31
1
0
0
0
0
0
0
0
-1
-7
0
64
-82
0
32
-3
-37
-1
-6
0
-20
1
-38
-27
16
-4
30
35
0
1
4
51
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
80
1
-31
-79
131
51
26
-6
0
-1
0
-2
0
-3
2
0
3
0
0
2
-22
-4
0
0
0
0
0
0
0
12
-3
-62
41
-56
-22
51
-28
-59
0
-10
0
23
5
-30
26
-5
16
4
-26
0
8
-19
-35
29
0
0
0
0
0
0
0
-9
3
0
31
-17
-5
-4
21
41
-16
-19
0
-19
-2
43
33
42
8
-6
-31
0
8
11
-13
-13
13
0
0
0
0
0
0
0
0
34
-66
-63
42
31
-21
15
13
-13
0
-5
-1
-27
42
78
24
0
-8
0
0
-4
-40
8
0
0
0
0
0
0
0
0
0
0
-32
28
-3
-79
19
33
0
-75
0
42
0
-1
0
1
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
15
3
1
-20
0
-2
-29
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-2
-30
-7
-41
7
18
8
-27
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
-84
-13
-46
-23
0
-28
-94
-63
-45
-138
17
0
16
-1
5
5
79
118
-8
-12
0
21
-39
35
68
31
0
0
0
0
0
0
24
0
35
-35
7
3
-11
70
20
0
-47
0
-1
0
0
0
13
0
-5
7
0
15
65
-13
-14
0
0
0
0
0
0
0
-1
0
46
159
-2
109
20
-13
54
87
-33
0
7
0
0
-4
-49
-1
0
-9
0
5
-47
9
-34
8
0
0
0
0
0
0
18
-3
78
-25
-19
8
-84
13
71
-30
-114
0
0
0
0
2
-3
2
0
-8
0
-5
9
-42
-50
-1
0
0
0
0
0
0
0
0
0
-6
46
4
12
17
3
36
20
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
-3
8
30
0
3
-16
8
0
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
15
-61
-57
47
0
49
39
33
24
12
-6
0
-32
-17
9
49
-5
28
-18
-17
0
-28
26
13
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-70
-6
51
66
66
-53
0
33
0
-4
0
0
-3
36
-5
-17
-13
0
31
-56
31
22
-4
0
0
0
0
0
0
0
0
0
-3
6
19
-27
16
-16
0
-6
0
0
0
0
0
2
0
0
-8
0
0
5
34
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
0
-12
0
-12
0
-1
-12
37
26
0
8
0
28
-10
28
4
-1
0
0
0
0
0
0
60
0
0
-84
46
18
-67
-16
-21
-9
-50
0
25
0
-2
24
-55
-32
6
-4
0
19
-17
9
-2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
16
8
-10
96
4
39
-13
-55
0
0
0
0
4
-13
3
-2
73
0
25
10
-89
32
5
0
0
0
0
0
0
4
57
-5
-14
15
35
44
30
20
-7
8
0
-5
-3
-5
-27
24
-15
-5
21
0
-41
3
-34
-8
-120
0
0
0
0
0
0
-87
-21
0
-10
56
77
-43
4
22
-60
-22
0
72
0
-8
-13
-49
47
43
79
0
-43
-13
10
31
58
0
0
0
0
0
0
8
-64
-49
-29
-16
81
15
24
69
-28
13
0
38
-4
-9
1
49
45
21
-22
0
-14
11
-16
93
-10
0
0
0
0
0
0
0
0
0
13
-23
-5
-8
45
20
0
-17
0
-1
0
0
-1
-5
0
0
-4
0
-1
-63
71
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
3
0
3
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
46
0
5
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
2
1
-19
2
-60
-8
0
-2
74
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
-12
0
-1
0
-5
0
-72
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
2
90
1
-35
12
-5
-3
-7
0
0
0
0
0
0
0
0
0
0
0
13
23
0
0
0
0
0
0
0
0
-30
-62
-126
-98
0
86
7
-153
16
20
-5
0
0
0
0
0
58
102
-7
41
0
14
111
-52
37
49
0
0
0
0
0
0
-4
-2
4
-3
3
-34
-54
1
-22
1
-59
0
0
0
0
0
-9
0
-2
-35
0
-13
6
16
-15
-12
0
0
0
0
0
0
1
2
-3
-31
71
29
-69
52
18
14
-17
0
0
0
0
0
5
3
0
34
0
1
31
-28
7
1
0
0
0
0
0
0
0
0
-19
-4
33
-9
12
12
14
6
-15
0
0
0
0
0
0
0
0
8
0
-30
50
35
8
-13
0
0
0
0
0
0
0
0
0
5
74
-1
29
-15
1
0
12
0
0
0
0
0
0
0
0
0
0
0
51
-20
0
0
0
0
0
0
0
0
0
0
0
2
-23
0
-30
-13
-3
0
-37
0
0
0
0
0
0
0
0
0
0
0
-1
7
-2
0
0
0
-7
-20
-85
-45
-14
-35
-42
72
21
47
-12
31
-15
18
13
0
-17
14
-58
-7
23
13
6
-26
0
17
5
-2
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-48
-31
-2
-59
17
-29
-1
26
0
0
0
0
0
-8
-15
0
22
0
-4
48
70
21
-7
0
0
0
0
0
0
-2
0
0
4
-74
15
-28
3
-6
0
26
0
0
0
0
0
0
0
0
-1
0
-4
51
-55
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-26
0
1
0
0
0
0
0
1
-16
0
-11
0
-38
-5
-24
26
12
0
0
0
0
0
0
120
13
0
52
-5
139
28
-42
-22
-116
-15
0
0
0
0
0
62
9
41
-57
0
-76
-42
-39
-104
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
0
72
-62
34
21
-33
-40
147
17
0
0
0
0
0
-58
45
68
-73
0
49
-29
75
-99
1
0
0
0
0
0
0
-58
-52
-5
26
-65
155
-23
-33
-87
11
13
0
0
0
0
3
-113
-52
-8
36
0
0
-30
77
70
-20
0
0
0
0
0
0
18
-14
0
52
-37
139
11
1
-1
-18
3
0
2
0
0
0
14
-21
-34
-36
0
31
1
-22
5
-27
0
0
0
0
0
0
19
55
-58
70
58
68
-39
45
-39
-27
27
0
0
0
0
0
-1
-33
3
-11
0
57
21
-3
0
-32
0
0
0
0
0
0
-13
0
0
32
-19
117
110
-50
-57
1
-4
0
0
0
0
0
-2
-1
0
-35
0
64
-33
8
-32
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
2
2
-53
2
5
24
-24
-8
32
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
-13
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
43
0
-7
-2
2
-1
32
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
0
0
6
0
1
0
-33
0
0
-3
3
6
-62
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-6
10
0
-2
-1
0
-1
-35
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
8
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
26
0
0
-5
0
0
-122
0
0
0
0
0
0
0
0
7
0
0
0
13
2
0
0
0
0
0
0
1
-3
0
-4
-17
0
-9
-3
-97
-1
48
-22
0
0
0
0
0
13
0
0
-8
0
-32
-29
23
-8
6
0
0
0
0
0
0
0
0
0
0
-25
0
-13
0
0
0
97
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
-1
0
-1
-57
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
-41
0
0
-9
0
0
4
0
0
0
0
0
0
0
0
0
0
-8
2
-12
0
1
0
0
0
0
0
0
0
0
0
0
-8
-1
-6
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
97
91
17
-80
-91
32
-30
74
-20
-73
1
-65
-32
-43
0
0
0
0
0
-25
-26
29
-36
0
45
-41
-49
9
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
-1
0
0
-47
0
0
0
0
0
0
0
0
13
0
0
-7
-31
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
10
0
0
0
0
0
-11
-1
0
12
0
9
25
8
-17
28
0
0
0
0
0
0
-7
0
0
93
-49
6
-7
98
-24
29
-18
0
0
0
0
0
19
44
24
-26
0
-7
12
-45
-1
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-13
-64
0
2
5
-1
-7
0
0
0
0
0
0
0
0
0
-12
0
-9
0
56
48
0
0
0
-1
-1
0
22
45
48
-2
-112
27
-75
-5
-13
-61
27
3
0
0
0
0
0
-17
12
-9
19
0
13
32
37
-24
51
0
0
0
0
0
0
16
8
0
-10
-6
3
-9
-9
-33
44
-43
0
0
0
0
0
30
13
-47
84
0
13
72
34
64
-32
0
0
0
0
0
0
22
42
0
19
-46
8
14
13
0
47
-48
0
0
0
0
0
0
-4
-2
-52
0
3
8
-36
2
4
0
0
0
0
0
0
0
0
0
0
15
0
-1
0
0
0
-9
0
0
0
0
0
0
0
0
23
0
3
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
1
0
1
-32
-1
0
49
0
1
0
4
0
-33
0
0
0
0
0
0
0
0
0
0
0
-30
-13
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
1
0
2
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
1
1
0
0
0
6
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
10
6
0
0
0
22
0
0
0
0
0
-122
0
0
0
0
0
0
0
0
-1
0
0
1
4
0
0
0
0
1
0
-2
0
-17
2
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
3
0
-1
-2
-11
0
3
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
-8
6
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-44
-23
-117
-136
-95
-34
-127
105
-17
-32
-113
-118
-156
-41
0
0
0
0
0
-78
-1
2
-40
0
-45
-3
-5
-78
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-47
0
0
0
0
0
0
5
0
4
0
-9
-43
9
-16
0
0
0
27
10
-14
-19
-23
-9
0
21
-15
-80
11
51
8
0
9
0
0
0
0
0
80
-30
-21
32
0
58
52
12
67
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
1
0
-2
-9
-2
0
-3
-32
0
0
-4
0
0
-10
0
0
0
0
0
0
0
-5
10
0
12
-16
-84
-9
0
0
0
5
0
5
2
-4
-17
0
-8
28
-4
1
-13
0
0
66
0
0
0
0
0
3
0
-1
-50
0
0
22
-58
-6
5
0
0
27
-14
15
-1
2
-8
0
-42
-30
5
16
-1
4
0
-8
0
0
0
0
0
-5
0
25
32
0
60
-27
11
18
1
0
0
-14
0
0
0
8
10
0
-12
0
0
0
-4
0
0
39
0
0
0
0
0
0
0
1
9
0
0
-31
61
0
0
0
0
-41
0
-4
0
0
5
0
0
14
-3
-30
0
0
0
-7
0
0
0
0
0
0
0
2
41
0
-2
68
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
19
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
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
0
3
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-56
46
9
-5
-117
-10
40
106
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
68
0
22
34
-13
0
8
-4
0
4
0
0
0
0
21
0
1
0
0
0
-35
1
0
0
0
0
0
0
0
0
0
-14
-8
39
0
27
-13
0
2
56
0
0
0
0
0
0
-13
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
-5
15
3
29
-3
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-85
36
-12
-4
0
-7
-1
65
0
0
0
0
0
0
7
0
-4
0
0
0
1
4
-2
0
0
0
0
0
0
0
0
-5
-3
0
3
-13
10
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
21
-29
13
35
2
7
-5
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-15
37
-117
-29
-151
6
-49
22
-33
-54
0
-71
-57
-13
-66
-2
-43
20
-29
0
0
0
-23
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
10
19
0
0
-4
15
0
0
0
0
0
0
-14
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
-77
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-16
1
0
0
18
0
0
0
0
0
0
3
0
8
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-30
-4
10
26
0
27
8
0
-1
0
0
0
-24
37
0
-3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
27
41
-2
-17
0
1
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-33
-5
16
-2
43
9
0
0
0
0
0
7
-2
0
-15
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
37
-7
-1
0
1
0
0
4
-46
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
10
0
7
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
43
3
0
0
16
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
4
-5
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
43
76
48
-3
5
98
1
12
109
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
51
10
145
11
0
-116
101
-18
-15
44
-18
0
-87
-13
-16
33
-42
-10
0
-66
0
0
0
-41
25
-13
0
0
0
0
0
0
0
0
58
48
24
8
0
-57
8
-20
62
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
-4
39
-17
-15
-84
35
38
41
-74
18
0
6
0
0
-31
-1
-27
0
12
0
0
0
-23
0
-17
0
0
0
0
0
0
2
0
47
79
44
12
8
85
-8
-41
123
0
1
0
3
-6
-4
-3
0
1
0
0
0
14
0
5
0
0
0
0
0
0
0
0
66
30
-1
-31
0
-14
0
8
-40
0
-1
0
0
-1
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
13
31
-15
17
0
25
3
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-8
39
-2
-16
-9
10
-11
25
-29
-7
0
7
9
23
-5
13
18
-12
36
0
-56
0
-9
-64
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
39
-15
19
0
0
-51
0
26
0
-12
-2
27
-16
-10
5
0
0
0
19
9
1
0
0
0
0
0
0
0
0
0
0
14
0
0
9
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-6
0
0
2
1
0
33
0
2
0
0
6
4
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-22
25
-2
-14
1
0
0
-52
0
12
0
-3
0
-1
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-31
-5
3
16
49
0
22
-21
0
10
0
-22
2
3
16
1
-16
0
0
0
-30
0
-3
0
0
0
0
0
0
0
0
0
23
-5
5
0
0
2
-4
-32
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-13
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
-54
-10
102
-14
-9
-22
-42
-37
0
14
0
13
-2
-31
-5
-5
-2
0
2
0
10
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-42
51
-3
-15
8
-16
-46
0
-1
0
0
0
0
0
0
4
0
0
0
-10
-8
0
0
0
0
0
0
0
0
2
-28
101
-49
59
-6
7
-30
-12
-93
0
0
0
0
-3
17
4
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
-8
-3
0
-65
44
53
7
-11
-4
-61
-12
0
-13
0
-20
-5
-17
3
12
-15
0
0
0
9
-13
13
0
0
0
0
0
0
0
0
50
-34
7
0
2
-19
0
19
-54
0
-4
0
0
-8
0
0
0
-1
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
0
55
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
34
0
10
-17
0
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
31
0
8
14
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
19
76
-75
14
20
-45
17
45
-146
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
9
55
7
-74
0
-6
-74
2
42
40
-15
0
110
21
47
41
-2
-30
-16
-67
0
40
-5
36
12
-18
0
0
0
0
0
0
5
0
18
5
-50
0
26
47
4
9
-12
0
-2
0
0
2
13
-5
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
8
0
41
45
-46
9
-4
-95
0
1
54
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
25
1
63
37
-67
-5
59
3
66
59
-41
0
0
0
2
-1
-10
1
0
1
0
13
-2
-25
-8
-1
0
0
0
0
0
0
0
0
42
28
-41
1
4
68
0
0
-25
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
8
-7
5
32
-4
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-87
-16
22
-12
38
29
-3
36
-82
3
0
-7
-11
14
35
9
47
-21
-20
0
-105
2
-31
-67
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-29
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-55
0
0
0
0
0
6
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
0
19
8
0
0
62
0
0
0
-6
1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-63
-44
0
0
-1
0
8
1
24
3
6
4
-1
-7
0
0
18
17
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-9
-4
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-20
0
16
-3
-15
14
22
-28
0
1
0
-5
-1
5
1
0
0
0
0
0
0
0
-1
-7
0
64
-10
0
-5
34
-13
2
-26
0
-31
1
-30
-28
17
-4
-6
32
0
-1
5
22
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
0
69
-62
-30
-48
13
12
-17
60
0
-1
0
-2
0
-1
2
0
9
0
0
2
-10
-2
0
0
0
0
0
0
0
5
1
-50
6
10
-35
-7
-60
-60
-7
8
0
-42
5
-45
44
-28
42
4
-34
0
5
-27
-41
24
0
0
0
0
0
0
0
-6
3
0
69
11
-8
-59
-29
64
58
-30
0
-35
-1
-4
44
18
-2
-9
27
0
14
8
66
-3
10
0
0
0
0
0
0
0
0
68
-63
14
23
44
-43
22
28
-12
0
-49
-1
-17
12
-35
25
0
-22
0
0
-4
-1
7
0
0
0
0
0
0
0
0
0
0
-25
22
-3
-22
42
17
0
-10
0
27
0
5
0
1
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-28
3
1
-8
0
-2
-52
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
-16
0
0
0
1
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
-40
-7
-48
-13
-18
6
-64
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
46
18
-46
-25
0
74
69
36
-14
32
17
0
9
-1
8
-24
47
32
12
100
0
-44
23
79
-1
89
0
0
0
0
0
0
24
0
63
-31
10
2
6
23
12
7
16
0
1
0
0
0
-6
0
-7
5
0
24
72
-13
-12
0
0
0
0
0
0
0
31
0
16
4
-29
48
-30
32
-42
55
-13
0
3
0
0
-4
-1
-2
0
-7
0
8
-25
-19
-44
8
0
0
0
0
0
0
8
-3
97
-42
-53
8
-106
10
-1
0
-112
0
0
0
0
2
-9
2
0
-9
0
-5
15
-42
-43
0
0
0
0
0
0
0
0
0
-13
8
-32
4
6
-13
3
16
20
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
-3
8
-10
0
3
-15
8
0
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-59
5
-30
32
0
15
-28
0
37
102
7
0
40
63
-14
43
21
37
-15
9
0
63
-34
18
12
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-42
35
49
24
55
-25
0
-27
0
-4
0
0
-3
3
-1
-18
10
0
63
25
44
17
-4
0
0
0
0
0
0
0
0
0
-1
16
19
4
16
-20
0
-3
0
0
0
0
0
2
0
0
-8
0
0
14
12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
37
0
-7
0
-4
0
-2
57
8
-1
0
-10
0
31
19
65
-16
-1
0
0
0
0
0
0
10
0
0
-33
53
6
0
-31
8
1
-37
0
24
0
-1
29
12
-31
0
-10
0
18
2
-126
-34
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
1
0
12
4
3
44
-19
35
-54
-24
0
0
0
0
4
20
3
0
31
0
-7
51
-66
28
3
0
0
0
0
0
0
-77
2
-3
-26
42
-2
-1
18
-39
79
-5
0
-8
-3
-22
-22
40
-4
28
10
0
-31
-24
99
44
-41
0
0
0
0
0
0
-31
-14
0
5
89
4
-11
-22
-8
-28
0
0
-4
0
-20
-17
-39
23
42
-92
0
-52
-20
57
83
0
0
0
0
0
0
0
-35
10
-75
-36
57
63
14
-26
-25
-43
9
0
34
-4
-13
-14
13
15
25
14
0
-28
68
-41
44
-24
0
0
0
0
0
0
0
0
0
6
18
-2
19
41
-66
0
21
0
-1
0
0
-1
-2
0
0
-5
0
-1
-39
41
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
3
0
3
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
25
0
4
0
0
-1
-56
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
2
1
-17
2
-58
-8
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
-13
0
-1
0
-5
0
-53
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
2
21
1
-12
13
-4
-3
-83
0
0
0
0
0
0
0
0
0
0
0
12
30
0
0
0
0
0
0
0
0
-28
-60
-100
-22
0
3
-57
22
-47
-11
67
0
0
0
0
0
26
12
-31
15
0
42
48
6
51
22
0
0
0
0
0
0
0
-2
4
-1
66
-30
-52
-38
-13
-2
-34
0
0
0
0
0
-17
0
-2
-33
0
2
-41
68
-8
-12
0
0
0
0
0
0
3
2
16
-43
2
91
-110
-62
37
-7
-17
0
0
0
0
0
5
3
0
41
0
-5
8
13
3
1
0
0
0
0
0
0
0
0
1
5
7
-8
48
15
9
2
-55
0
0
0
0
0
0
0
0
8
0
-23
-22
2
-2
-13
0
0
0
0
0
0
0
0
0
5
-5
-1
16
-9
1
0
9
0
0
0
0
0
0
0
0
0
0
0
-3
-24
0
0
0
0
0
0
0
0
0
0
0
2
-18
0
-15
-8
-3
0
-41
0
0
0
0
0
0
0
0
0
0
0
-1
7
-2
0
0
0
18
-13
-44
-38
25
-9
-29
1
12
85
-27
33
54
42
9
0
-49
-2
-16
-13
46
15
-8
-43
0
21
35
9
32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-14
-31
-9
39
5
24
-1
26
0
0
0
0
0
-8
0
0
3
0
-32
-16
46
16
-8
0
0
0
0
0
0
-2
0
0
4
-28
15
-5
1
-12
0
13
0
0
0
0
0
0
0
0
-1
0
7
59
-37
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-6
0
2
0
0
0
0
0
-27
16
0
-28
0
4
-7
-20
-2
25
0
0
0
0
0
0
55
10
0
17
94
31
-48
8
-50
-32
-35
0
0
0
0
0
-2
-19
47
-25
0
-32
-53
-21
-20
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-6
0
-30
66
-42
1
22
-5
35
-39
0
0
0
0
0
-25
24
67
-1
0
34
1
53
-24
9
0
0
0
0
0
0
-10
-65
-80
-48
63
66
-151
-13
39
-78
16
0
0
0
0
3
-26
-41
9
49
0
-29
-11
26
5
18
0
0
0
0
0
0
49
-14
0
74
99
50
18
42
23
-31
-20
0
2
0
0
0
-20
26
-76
-65
0
-15
-9
-145
-50
25
0
0
0
0
0
0
39
14
-111
65
67
54
-7
5
-15
5
-3
0
0
0
0
0
31
-23
23
-58
0
34
-46
-16
-8
-12
0
0
0
0
0
0
-6
0
0
34
21
54
19
-14
-34
1
-7
0
0
0
0
0
-10
-1
0
-76
0
45
42
-93
-7
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
-44
0
-4
2
3
2
5
23
-24
-1
-7
0
0
0
0
0
0
0
0
1
0
0
-8
1
0
0
0
0
0
0
0
0
-1
0
0
0
-14
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
7
0
-7
-2
2
0
-57
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
0
0
6
0
1
0
-24
0
0
-3
3
6
-75
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
-2
-1
0
-1
-107
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
8
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
1
11
0
0
-3
0
0
24
0
0
0
0
0
0
0
0
7
0
0
0
15
2
0
0
0
0
0
0
1
-3
0
-4
-10
0
-25
-3
-97
-1
3
25
0
0
0
0
0
10
0
0
-3
0
20
-31
88
-15
6
0
0
0
0
0
0
0
0
0
0
50
0
-12
0
0
0
-60
0
0
0
0
0
0
0
0
1
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
-1
0
-1
-25
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
-28
0
0
-9
0
0
-76
0
0
0
0
0
0
0
0
0
0
-8
2
-10
0
1
0
0
0
0
0
0
0
0
0
0
-7
-1
-6
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
38
-10
51
20
-57
11
35
24
16
20
-61
-67
1
-33
0
0
0
0
0
4
-1
8
-38
0
-31
9
34
-15
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
-1
0
0
63
0
0
0
0
0
0
0
0
14
0
0
-7
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
7
0
0
0
0
0
-17
4
0
9
0
13
-23
-25
29
2
0
0
0
0
0
0
-2
0
0
48
-32
-22
-30
35
-22
15
9
0
0
0
0
0
3
49
-54
9
0
-47
-14
45
30
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-7
-21
0
4
8
-1
-22
-20
0
0
0
0
0
0
0
0
3
0
-8
0
4
42
0
0
0
-1
-1
0
-2
-2
37
-16
-68
34
8
105
-32
21
-19
12
0
0
0
0
0
-3
-16
15
45
0
13
-2
-68
-3
10
0
0
0
0
0
0
9
9
0
-15
-39
5
-5
-13
-32
32
-15
0
0
0
0
0
23
-2
-31
27
0
-4
69
9
13
-4
0
0
0
0
0
0
13
41
0
5
5
8
-50
7
0
49
66
0
0
0
0
0
0
-4
-2
-19
0
3
5
-16
2
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-1
0
3
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-8
1
0
1
-13
-1
0
11
0
1
0
4
0
-57
0
0
0
0
0
0
0
0
0
0
0
-31
-19
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
1
1
0
0
0
6
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
10
6
0
0
0
30
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
-1
0
0
1
5
0
0
0
0
1
0
-2
0
-17
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
3
0
-1
-2
-42
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
-8
27
0
0
0
0
0
-141
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
11
9
-24
-81
-60
36
-6
45
-30
-66
-48
0
-139
-60
0
0
0
0
0
-49
-67
11
4
0
-28
13
-43
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
5
0
26
0
0
13
-31
-6
0
0
0
-8
43
-6
-39
-3
-12
0
-66
-44
-51
74
-12
8
0
59
0
0
0
0
0
64
7
41
-19
0
25
19
55
-27
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
-2
-9
-2
0
-3
-34
0
0
-4
0
0
-26
0
0
0
0
0
0
0
-5
-25
0
-1
-18
-46
-7
0
0
0
7
0
7
-6
-1
-19
0
3
-15
-4
1
-20
0
0
64
0
0
0
0
0
3
0
-1
-68
0
0
20
21
-8
5
0
0
45
-13
13
-1
2
-6
0
-59
-33
0
25
-23
4
0
15
0
0
0
0
0
-5
7
25
111
0
43
-70
-23
53
2
0
0
-14
0
0
0
5
7
0
-12
0
0
0
-5
0
0
-50
0
0
0
0
0
0
0
1
49
0
0
-31
56
0
0
0
0
-14
0
-4
0
0
5
0
0
-10
-3
-25
0
0
0
-18
0
0
0
0
0
0
0
2
-5
0
-3
82
39
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-15
9
1
0
1
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
0
3
3
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-5
0
1
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
4
1
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
-51
0
-47
-17
-15
-34
-58
58
0
-42
-24
-12
-8
-8
-4
0
7
0
0
0
4
15
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
3
1
-7
1
0
0
4
0
0
0
0
0
-3
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-9
-2
19
-2
0
-1
52
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-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
0
0
0
7
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
24
-25
5
1
8
4
-5
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-65
0
-54
-24
-57
-6
-1
-8
0
-9
0
10
0
23
37
0
-19
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-9
0
0
0
1
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-54
16
19
-1
-32
0
-6
-66
0
0
0
0
3
0
-1
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-56
6
10
0
0
1
-8
0
38
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
4
-1
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
4
-33
43
-76
-6
11
-3
-53
26
0
-23
66
-39
-25
-8
0
-6
-9
0
-5
0
14
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
-31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-40
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
2
0
-8
-6
3
-27
0
-2
0
3
-1
-7
-5
0
0
0
0
0
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
20
6
3
0
8
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
-33
13
6
0
-1
0
-6
-46
0
0
0
0
-1
-1
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-9
5
23
0
-18
24
2
-22
0
0
0
-4
0
0
1
0
5
0
0
0
1
1
1
0
0
0
0
0
0
0
0
23
13
0
0
2
2
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-27
0
-31
4
0
0
-108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-16
-31
0
-17
-16
-48
-20
-4
40
0
42
-1
11
-11
28
0
-5
-5
0
7
-2
-34
-9
-1
0
0
0
0
0
0
0
0
0
17
1
-1
-5
-2
0
0
-17
0
-1
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
19
-2
-28
0
-2
-8
0
0
22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-58
-38
0
-14
-14
8
0
-45
0
0
0
0
0
5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
5
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
13
8
-20
-10
42
46
74
-9
-34
0
2
-8
92
31
11
-7
7
18
0
-7
-4
-48
-41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
0
0
0
-4
0
3
1
3
-2
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
13
0
14
0
1
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-5
5
-7
0
-75
0
0
0
4
0
6
0
0
-2
0
0
4
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-41
-3
-12
-9
0
0
75
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
14
2
-26
0
8
34
30
2
-44
0
-13
1
-4
12
5
-6
0
-1
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
-8
-27
-1
11
-9
7
0
-14
0
3
0
-2
1
0
-1
0
1
0
1
1
21
2
0
0
0
0
0
0
0
0
0
14
2
-1
0
-21
-1
0
0
-2
0
-2
0
-3
4
-1
0
0
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-17
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-16
0
2
0
4
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-17
18
0
20
31
6
-13
1
-29
0
-3
0
2
-3
-21
0
2
70
0
-54
46
16
14
25
0
0
0
0
0
0
0
0
7
1
-2
2
-4
-10
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-12
-14
41
-22
-2
22
-18
-20
0
0
0
0
0
0
-4
2
0
0
0
6
-2
-13
-2
0
0
0
0
0
0
0
0
0
42
-6
1
0
-6
4
-10
0
-49
0
0
0
0
0
0
0
0
-1
0
-5
4
-21
-2
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
-1
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
13
5
5
0
20
16
-41
66
16
-3
0
10
2
-16
-41
5
44
-8
-58
0
35
-6
-9
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
0
-27
0
0
0
5
0
0
0
0
0
1
0
1
1
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
18
0
-6
0
0
0
0
4
2
0
0
1
0
-2
-5
-2
-1
0
0
0
0
0
0
0
-1
0
0
-4
18
0
-7
-13
0
0
1
0
-1
0
0
-2
1
0
-5
0
0
-6
6
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-8
-10
0
-2
-25
0
0
0
0
1
1
0
-2
19
0
3
-1
0
-3
1
0
0
0
0
0
0
5
0
-10
-3
-38
-12
7
-16
-13
41
-48
0
0
0
0
-3
-16
-8
0
20
0
1
8
14
28
-2
0
0
0
0
0
0
0
0
0
7
3
0
11
-6
-8
-4
14
0
-1
0
0
0
5
-1
1
-1
0
-10
-24
34
7
-1
0
0
0
0
0
0
0
0
-21
23
8
0
3
13
-4
8
34
0
1
0
0
2
-5
-4
0
-8
0
-3
-25
-4
0
-3
0
0
0
0
0
0
0
0
0
0
-7
0
-5
0
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
2
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
21
0
2
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
2
0
18
12
0
0
-10
45
-8
0
80
0
0
0
0
0
-4
-3
-1
-14
0
10
12
3
-6
0
0
0
0
0
0
0
0
0
1
0
45
-3
8
0
0
0
76
0
0
0
0
0
1
0
-1
-4
0
-1
-4
15
-6
-2
0
0
0
0
0
0
0
0
4
-19
29
3
-17
1
12
0
55
0
0
0
0
0
0
2
0
2
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
-5
0
29
0
-12
0
-1
1
18
0
0
0
0
0
-1
0
0
0
0
2
-16
0
-6
0
0
0
0
0
0
0
0
0
0
-1
1
-1
8
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-6
35
-33
9
24
17
-44
11
83
96
28
0
-8
0
0
-2
15
-8
33
-30
0
-17
-10
13
42
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
10
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-14
0
15
0
0
0
0
0
-5
-6
0
13
0
8
-18
-43
-2
8
0
0
0
0
0
0
-3
1
0
-1
27
-1
-43
1
1
0
47
0
0
0
0
0
2
-2
21
23
0
22
-1
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
2
-3
-5
8
0
0
0
0
0
1
-4
4
-16
0
12
23
-9
0
0
0
0
0
0
0
0
39
-2
-16
23
30
10
-46
-15
-8
-10
-66
0
0
0
0
0
7
8
8
-1
0
9
-16
-9
8
9
0
0
0
0
0
0
-1
0
0
23
41
4
-7
17
-8
0
43
0
0
0
0
0
-19
3
-17
-22
0
-23
2
-44
-14
0
0
0
0
0
0
0
-2
0
-32
3
17
3
42
-6
17
6
-40
0
0
0
0
0
1
0
0
7
0
-1
11
0
-6
3
0
0
0
0
0
0
0
0
0
0
-3
0
-10
0
-4
0
28
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
8
0
0
0
4
0
31
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-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
-2
0
-1
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
35
0
0
0
0
0
0
0
0
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-12
0
0
0
0
0
0
0
0
9
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
3
-16
-1
3
20
26
-37
5
7
11
-30
5
-40
0
0
0
0
0
2
-39
-7
17
0
-14
-21
24
-41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
-2
0
0
0
0
0
-1
0
0
2
0
-4
-3
11
9
0
0
0
0
0
0
0
2
0
0
0
25
0
-12
-1
0
0
21
0
0
0
0
0
0
-2
-13
6
0
-8
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
8
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
-1
-14
-14
-5
-10
-17
-2
23
84
0
0
0
0
0
1
0
1
-8
0
0
-7
-6
3
0
0
0
0
0
0
0
0
0
0
-13
-9
-1
9
-1
-1
1
-22
0
0
0
0
0
0
0
0
4
0
-7
1
15
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-3
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
12
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
28
1
5
-20
-30
5
17
5
6
-8
13
2
-14
-86
0
0
0
0
0
17
-20
-25
10
0
-1
-1
-6
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
6
-10
6
0
0
0
-31
15
0
1
0
0
0
-1
-9
0
12
-6
0
0
42
0
0
0
0
0
-1
1
21
-49
0
20
3
-13
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
4
9
0
0
0
0
1
0
0
-1
0
0
0
2
3
0
0
0
0
0
41
0
0
0
0
0
0
0
1
-4
0
0
-2
3
0
0
0
0
1
-2
0
0
0
0
0
-4
0
0
1
0
0
0
-15
0
0
0
0
0
0
0
-1
27
0
-1
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-18
-44
-7
15
28
-4
3
16
19
-7
3
7
7
7
17
-4
6
-5
-18
-3
-4
-9
-9
-3
0
8
-2
-3
-10
7
30
2
-8
7
9
-14
-10
-19
-18
10
-4
11
6
18
53
12
-33
-35
-44
36
-38
-15
4
0
15
-9
-12
-21
-8
4
1
0
-10
-7
-14
-24
-10
-7
1
5
-4
-6
5
15
-38
13
6
15
17
3
2
3
-1
5
3
23
3
6
7
-40
-3
-29
12
20
-11
-10
3
2
3
-1
-15
5
-1
0
-1
-18
-5
1
-6
-3
7
-4
-1
5
-6
5
-4
5
-6
-8
14
-3
7
2
9
1
-1
2
2
15
14
8
17
39
30
-25
-10
-12
2
12
-33
-23
-30
0
14
-27
-7
-6
-9
5
-25
-2
-9
-3
-7
-12
-4
0
-4
2
8
-1
-4
13
-16
11
3
8
6
5
7
1
2
6
9
23
10
19
-1
-17
2
-21
8
17
12
-9
-2
6
5
1
3
-4
1
10
3
-8
-3
-3
2
-4
17
3
-1
-20
-2
-1
-2
3
-7
-1
14
-1
2
7
8
12
-3
3
7
14
14
4
26
17
1
-15
-10
14
-2
-6
-28
-25
-26
5
10
-25
-3
-1
0
16
-6
-6
-11
-7
-14
-8
2
-1
11
5
4
3
1
1
3
5
3
1
19
1
5
1
4
4
-7
9
15
8
-1
-18
-11
-7
8
51
-1
-12
1
4
-33
-6
21
-18
10
25
1
7
-19
11
-5
24
2
-10
17
0
-15
-35
-3
-1
-5
17
0
6
-5
-19
10
10
-7
22
16
9
21
3
-33
0
5
-52
15
-39
11
36
-39
22
-1
-16
30
-61
-20
17
39
6
25
21
-8
-34
0
10
-17
6
24
29
-13
-2
-12
4
-8
22
8
-8
-1
11
-5
-8
-3
34
3
10
20
14
-18
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-5
-1
0
3
0
-34
14
1
10
-27
5
0
23
-24
-22
2
-10
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
-40
0
0
0
1
0
6
0
0
3
18
7
17
26
74
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
4
0
0
-4
-20
0
2
2
0
0
0
-9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
4
2
0
0
7
-3
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
-45
7
-23
1
-41
6
6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
23
0
-4
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
29
51
-34
21
69
0
-2
0
17
1
-20
5
27
-29
0
-1
-18
27
13
-1
-15
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
1
0
-1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
22
0
2
0
0
0
0
0
0
-44
-9
3
0
-102
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
22
-2
0
-7
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
53
-3
8
27
32
0
-2
0
0
0
0
0
71
-9
0
-1
-21
33
6
19
-16
-23
0
-15
0
0
0
0
0
0
0
0
-87
1
32
-8
-7
0
-8
0
-1
0
0
0
-44
-6
0
7
-21
30
20
15
10
-22
0
-10
0
0
0
0
0
0
0
0
1
0
0
9
1
0
-7
0
0
0
0
0
-8
-5
0
10
-30
-21
-19
16
-7
8
0
19
0
0
0
0
0
0
0
0
-28
-2
0
20
-19
0
0
0
0
0
0
0
22
48
0
-4
-10
-10
-47
15
9
16
0
-2
0
0
0
0
0
0
0
0
60
24
0
6
1
0
2
0
0
0
0
0
-15
-3
0
-7
-30
-29
52
0
6
-24
0
-32
0
0
0
0
0
0
0
0
64
-2
0
31
0
0
-1
0
0
0
0
0
0
0
0
-6
-77
-22
-35
-1
-25
-27
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-24
-24
13
-62
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-14
-1
-2
0
4
2
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
33
0
0
0
0
0
-7
0
0
144
-42
66
-54
-10
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
2
-9
24
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
9
8
13
-28
42
0
-2
0
22
0
22
16
70
59
0
-1
-44
-5
-4
-1
13
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-28
0
3
0
0
0
0
0
0
6
11
-1
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
1
0
0
0
-19
0
0
0
0
0
0
0
0
-14
42
20
18
22
-3
13
0
35
0
0
0
0
0
0
0
0
-7
0
0
-2
0
0
-35
0
-1
0
0
0
-1
0
0
1
6
-1
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
27
0
0
6
-3
0
-4
0
0
0
0
0
-14
0
0
9
-25
14
9
-7
31
10
0
-29
0
0
0
0
0
0
0
0
-3
1
0
46
-58
0
0
0
0
0
0
0
-29
-4
0
-3
0
13
1
1
2
-41
0
6
0
0
0
0
0
0
0
0
-3
0
0
-10
0
0
4
0
0
0
0
0
0
0
0
76
38
5
58
7
-12
44
0
-19
0
0
0
0
0
0
0
0
0
0
0
-13
17
0
8
0
0
0
0
0
-1
0
0
-1
-46
-35
9
15
1
-67
0
2
0
0
0
0
0
0
0
0
-7
2
1
45
-2
0
6
0
0
0
0
0
-20
-19
0
1
-50
-53
12
-29
-5
-40
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
-11
0
0
0
0
0
0
0
0
-36
-16
-26
-4
4
1
-45
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-15
23
-1
13
-42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
37
-8
2
0
0
0
-20
42
-4
1
0
0
-7
6
0
25
-5
3
0
15
2
0
16
-41
-60
6
-66
-12
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-2
-4
0
-1
0
0
0
6
-1
0
1
0
0
0
5
0
1
0
0
0
0
-5
0
34
-57
-2
-7
43
-52
-7
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
13
7
-19
-52
-4
3
-1
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-44
10
164
35
31
-50
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
47
-1
-1
-5
0
0
2
0
0
-16
-57
48
0
0
0
0
-49
15
8
-3
0
0
-49
-3
0
2
6
16
-15
-28
-24
0
-10
-10
-1
-6
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-16
0
1
0
0
0
0
0
0
4
15
0
2
-7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
24
-5
0
0
0
0
0
0
1
7
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
28
-19
-4
3
0
41
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-2
0
0
0
0
0
0
-45
12
-50
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
54
-14
4
0
0
0
-3
10
0
0
0
0
-6
10
0
0
0
0
0
0
0
0
-80
-65
-11
3
4
-44
24
0
0
-53
21
-3
-49
0
0
0
14
-28
3
1
0
0
-41
0
0
0
0
0
0
17
26
0
-7
-54
8
3
-2
9
13
0
21
3
0
0
1
0
0
0
4
2
0
0
0
0
0
5
0
0
0
0
0
0
0
0
17
-14
17
2
-23
-1
-64
0
-22
-26
-20
-14
0
0
0
0
37
7
0
0
0
0
23
-9
0
0
0
0
0
2
0
0
38
-23
3
-42
-17
-37
-7
0
0
59
-21
5
0
0
0
0
-1
7
0
0
0
0
-16
-3
0
0
0
0
0
-8
-23
0
-7
-69
2
0
13
-43
-3
0
0
-5
-5
-5
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-65
-33
-2
-31
-13
0
30
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
-34
27
-13
15
27
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-65
49
-25
-4
0
-11
0
20
17
-41
-9
-15
10
0
12
21
3
3
19
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
21
6
19
-62
-14
0
-25
0
-21
0
2
-3
-8
0
0
68
-18
-81
-86
-13
37
17
0
130
0
0
0
0
0
0
0
0
-15
0
-1
0
0
0
11
0
-4
0
0
0
2
0
0
25
-43
-3
-12
40
-1
2
0
15
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
-26
0
0
0
0
0
0
0
0
32
3
-3
9
-35
8
1
0
-6
0
0
0
0
0
0
0
0
-13
0
-5
-1
0
0
-4
0
0
0
0
0
-13
0
0
6
59
-25
-19
89
-48
-17
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
12
-10
-14
45
-50
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-7
40
4
-30
59
0
-1
0
-15
-18
11
-6
-86
-56
0
1
10
2
-11
16
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
67
0
0
-3
0
0
-24
0
1
-1
-5
8
28
0
0
2
-16
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
51
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
49
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-46
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
27
4
-1
0
0
0
63
0
12
0
0
0
0
0
0
13
-1
-12
13
-68
0
2
0
-3
0
0
0
0
0
0
0
0
45
0
-2
0
0
0
49
0
0
0
0
0
0
0
0
0
-27
2
-14
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
97
-79
5
5
22
0
3
0
1
0
0
1
-3
-13
0
0
42
15
18
22
13
34
0
-26
0
0
0
0
0
0
0
0
-16
68
-4
-37
52
0
-1
0
2
0
1
0
1
-92
0
37
5
22
17
19
-8
99
0
64
0
0
0
0
0
0
0
0
22
4
5
-19
-51
0
-5
0
0
0
0
0
60
-14
0
19
-4
7
-5
49
67
48
0
-8
0
0
0
0
0
0
0
0
-64
-6
20
-35
23
0
2
0
0
0
0
0
5
11
0
27
5
17
-4
-1
-47
-26
0
8
0
0
0
0
0
0
0
0
-29
79
-17
60
21
0
-3
0
-5
0
0
0
-21
22
0
26
24
29
17
15
-3
72
0
85
0
0
0
0
0
0
0
0
-25
-4
4
39
0
0
-26
0
0
0
0
0
10
0
0
3
45
74
66
23
-13
-1
0
-59
0
0
0
0
0
0
0
0
2
0
0
-44
0
0
18
0
0
0
0
0
0
0
0
25
9
8
13
-32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
-30
0
0
-4
0
21
16
3
-13
29
5
0
18
3
-8
0
35
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
6
-3
-52
10
0
10
0
0
0
0
0
-9
-7
0
16
-7
5
-11
0
-84
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
0
0
0
0
0
0
0
0
3
0
4
0
0
0
86
0
0
0
0
0
0
0
0
-47
-5
-10
-33
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-4
56
36
-55
62
0
-5
0
33
19
-5
37
-35
27
0
-4
-15
2
-9
9
-51
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-12
0
42
0
0
0
0
0
0
13
-16
0
42
-52
49
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
41
0
-2
0
0
0
0
0
0
-37
-36
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-2
0
0
-24
0
0
0
0
0
0
0
0
-18
-7
9
0
-5
-2
0
0
21
0
0
0
0
0
0
0
0
56
0
-6
-23
0
0
-3
0
-10
0
0
0
0
0
0
44
21
45
5
83
-5
-62
0
-25
0
0
0
0
0
0
0
0
-49
0
0
-8
0
0
-47
0
-9
0
2
0
-3
0
0
19
9
5
38
142
-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
5
0
0
0
0
0
0
0
0
67
0
2
-59
-31
0
12
0
0
0
0
0
-56
0
0
9
-8
-45
17
17
31
56
0
8
0
0
0
0
0
0
0
0
21
-6
6
-34
-116
0
-6
0
0
0
0
0
60
-29
0
34
0
-12
7
10
4
-29
0
-1
0
0
0
0
0
0
0
0
11
0
0
-16
-86
0
20
0
0
0
0
0
4
0
0
17
-8
15
-13
26
55
58
0
2
0
0
0
0
0
0
0
0
9
-1
0
-52
37
0
17
0
0
0
0
0
-9
0
0
10
-2
-10
35
7
24
-59
0
11
0
0
0
0
0
0
0
0
-6
5
-8
96
31
0
8
0
0
0
0
0
175
94
0
54
25
-39
9
7
24
12
0
6
0
0
0
0
0
0
0
0
15
0
1
40
-2
0
-22
0
0
0
0
0
0
0
0
22
-5
-22
-6
-25
20
16
0
14
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
12
0
0
0
0
0
0
0
0
-5
46
-34
-20
-62
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
36
-30
41
0
0
0
-51
0
94
21
0
0
-46
2
0
17
15
28
61
-24
-53
0
11
-28
4
10
28
-10
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
12
16
-9
10
0
0
0
-64
75
3
16
0
0
-43
-2
0
1
0
0
0
26
-22
0
-29
-34
-42
14
-35
-5
-87
0
-25
-4
0
0
0
0
0
0
4
30
-1
2
0
0
-1
7
0
-19
0
0
0
0
4
0
-43
7
-52
-153
-7
8
43
0
-18
-4
-3
3
-5
0
0
0
6
68
0
-2
0
0
27
2
0
-2
0
0
0
7
0
0
-43
8
42
31
-18
-201
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
5
-16
0
3
0
0
0
-30
0
6
0
0
0
0
0
0
28
0
5
-5
-48
-8
3
0
-4
37
48
61
18
0
0
0
12
8
8
-55
0
0
-9
0
0
21
17
30
18
-63
-40
0
6
2
-3
-2
-4
15
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
6
-36
-5
7
0
0
-2
30
0
-4
0
1
0
0
-8
0
7
-50
-22
-31
24
0
7
0
34
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
-35
0
0
-4
0
0
0
8
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
22
1
-2
-10
0
0
0
-3
0
0
0
0
0
0
0
-8
-2
0
1
0
0
0
-14
0
0
0
0
0
0
0
0
-1
-39
3
0
0
1
0
0
-19
-8
0
0
0
0
0
0
-3
5
0
9
0
0
0
15
0
-8
0
0
0
0
0
0
94
-6
-8
-4
54
0
-22
0
-12
2
0
0
0
0
0
0
-2
5
0
1
0
0
0
6
0
-5
0
0
0
0
0
0
-48
56
30
-42
6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
46
-22
-12
0
0
0
37
13
0
6
0
0
-41
-9
0
0
0
0
0
-1
-15
0
26
15
6
2
-19
-1
19
0
12
-62
-70
-68
-19
0
0
0
-33
19
-15
-37
0
0
22
-2
0
0
0
0
0
3
53
0
11
3
11
10
6
-23
-1
0
11
-71
-25
-6
-1
0
0
0
-71
-3
0
0
0
0
1
12
0
0
0
0
0
8
0
0
31
-19
12
9
-2
59
5
0
33
-89
-14
-61
-6
0
0
0
-27
47
2
0
0
0
-49
1
0
0
0
0
0
13
16
0
-8
-32
9
13
-26
-36
25
0
-5
-47
-90
-12
-51
0
0
0
20
-51
0
1
0
0
-77
4
0
0
0
0
0
-44
11
0
11
18
9
6
-20
42
-7
0
-3
-17
-3
-10
0
0
0
0
-4
137
0
3
0
0
0
-3
0
0
0
0
0
0
2
0
4
4
4
58
26
2
33
0
-19
-2
0
2
0
0
0
0
-6
-21
0
-1
0
0
0
-45
0
0
0
0
0
0
0
0
-38
70
-36
8
16
32
-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
-8
-54
31
-24
-13
0
-7
0
-6
14
50
15
-14
-18
0
12
22
59
18
21
58
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
23
5
12
-72
-21
0
-7
0
25
0
1
-5
-31
3
0
-2
9
-38
-35
7
13
-17
0
63
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-28
0
-4
0
0
0
3
0
0
93
-43
-3
-10
85
-1
2
0
97
0
0
0
0
0
0
0
0
14
0
-1
0
0
0
-39
0
0
0
0
0
1
0
0
-4
-9
-3
5
-12
9
1
0
17
0
0
0
0
0
0
0
0
-27
0
-8
-1
0
0
-1
0
0
0
0
0
-23
0
0
-54
59
25
-56
59
-10
3
0
-22
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
11
-24
-9
19
-50
-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
-24
0
0
0
0
0
0
0
0
19
-32
-10
-2
-6
0
-1
0
-32
2
-37
-32
-1
77
0
-1
7
13
4
-4
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
54
0
0
-3
0
0
2
0
17
-1
-3
-13
-1
0
0
-3
16
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
15
0
0
0
0
0
19
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-91
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
45
4
-1
0
0
0
-16
0
8
0
0
0
0
0
0
34
16
-9
8
-34
0
2
0
7
0
0
0
0
0
0
0
0
25
0
-2
0
0
0
22
0
0
0
0
0
0
0
0
-12
6
0
-19
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
-38
0
0
0
0
0
0
0
0
64
-36
-13
-3
5
0
1
0
1
0
0
1
-33
-8
0
9
99
-46
17
49
7
16
0
9
0
0
0
0
0
0
0
0
42
46
5
40
32
0
10
0
-3
0
1
4
16
-111
0
54
10
-12
-8
25
2
22
0
81
0
0
0
0
0
0
0
0
-24
4
5
-16
-88
0
5
0
0
0
0
0
70
-18
0
41
31
16
8
72
11
13
0
-14
0
0
0
0
0
0
0
0
-45
-6
14
-83
4
0
-5
0
0
0
0
0
-1
10
0
19
17
2
32
-6
-3
38
0
-14
0
0
0
0
0
0
0
0
26
34
-3
26
28
0
-11
0
0
0
0
0
-9
15
0
29
45
-4
9
84
-40
-5
0
-6
0
0
0
0
0
0
0
0
-64
-4
4
-35
0
0
1
0
0
0
0
0
7
0
0
100
-24
-27
5
69
-20
39
0
47
0
0
0
0
0
0
0
0
2
0
0
-46
0
0
-32
0
0
0
0
0
0
0
0
-10
65
-22
-12
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
4
0
-41
0
0
-18
0
30
-33
14
45
-23
-37
0
57
5
1
0
43
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
6
5
-26
10
0
-10
0
0
0
0
0
-6
-7
0
6
13
17
-7
20
-150
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
3
0
4
0
0
0
10
0
0
0
0
0
0
0
0
-37
51
-8
-34
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-13
-67
-13
16
29
0
0
0
-5
12
17
-30
-21
-13
0
-6
-4
14
-17
7
-34
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
3
-2
0
5
0
13
0
0
0
-20
0
0
60
33
0
-9
-70
30
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
31
0
-2
0
0
0
0
0
0
-33
4
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-2
0
0
-15
0
0
0
0
0
0
0
0
-6
72
9
0
-5
-2
0
0
14
0
0
0
0
0
0
0
0
56
0
-8
-29
0
0
35
0
-3
0
0
0
0
0
0
41
13
41
-26
-7
-6
-30
0
-51
0
0
0
0
0
0
0
0
-9
0
0
-8
0
0
-44
0
17
0
2
0
-3
0
0
47
-22
-12
43
140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
17
0
2
-58
-66
0
-3
0
0
0
0
0
-4
0
0
-26
2
12
25
9
51
-2
0
11
0
0
0
0
0
0
0
0
53
8
6
-30
-55
0
-6
0
0
0
0
0
83
-12
0
25
0
-8
2
35
1
-5
0
2
0
0
0
0
0
0
0
0
47
0
0
25
-59
0
-33
0
0
0
0
0
4
0
0
55
31
-1
49
28
45
55
0
29
0
0
0
0
0
0
0
0
21
-1
0
-19
-11
0
4
0
0
0
0
0
-6
0
0
34
-6
-7
-5
14
5
-6
0
-3
0
0
0
0
0
0
0
0
43
5
0
-13
75
0
0
0
0
0
0
0
93
49
0
58
20
-5
15
-19
47
30
0
-1
0
0
0
0
0
0
0
0
18
0
2
13
-2
0
-7
0
0
0
0
0
0
0
0
29
38
3
12
16
20
-18
0
4
0
0
0
0
0
0
0
0
-3
0
0
5
0
0
-8
0
0
0
0
0
0
0
0
-16
30
-25
-5
9
-18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-84
16
-71
-25
0
0
0
-17
7
91
-16
0
0
-4
-3
0
14
45
-20
46
-94
-8
0
40
23
45
5
6
19
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-19
33
-31
44
0
0
0
-10
79
2
3
0
0
-6
-17
0
1
0
0
0
8
-4
0
-29
-21
-14
-27
7
-86
-59
0
-58
-4
0
0
0
0
0
0
3
54
-1
9
0
0
-1
-23
0
-9
0
0
0
0
4
0
-49
14
-31
45
-61
6
17
0
31
-8
-3
3
-5
0
0
0
8
-24
0
-3
0
0
34
-9
0
-2
0
0
0
9
0
0
5
-20
89
-15
-29
-159
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
-34
0
0
0
0
0
0
0
5
0
0
3
0
0
0
-44
0
6
0
0
0
0
0
0
-18
23
12
35
-87
-8
3
0
-2
-10
34
40
-11
0
0
0
32
26
21
16
0
0
-13
1
0
31
6
-6
6
-1
-73
0
15
-6
1
7
9
40
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
6
60
-24
32
0
0
-2
26
0
1
0
1
0
1
-2
0
6
24
-32
-10
-20
0
7
0
65
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
39
1
-2
-6
0
0
0
13
0
0
0
0
0
0
0
-8
-21
0
1
0
0
0
54
0
0
0
0
0
0
0
0
-1
11
3
0
0
1
0
0
-77
-8
0
0
0
0
0
0
-3
-14
0
16
0
0
0
13
0
-8
0
0
0
0
0
0
90
19
-28
15
38
0
-8
0
28
2
0
0
0
0
0
0
-2
44
0
1
0
0
0
12
0
5
0
0
0
0
0
0
-34
113
-21
-34
59
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-32
21
-23
-8
0
0
0
-4
-3
1
6
0
0
-30
-8
0
0
0
0
0
-1
-8
0
13
-30
7
26
13
26
-7
0
10
-34
-79
5
-10
0
0
0
-15
-33
-25
-59
0
0
30
-3
0
0
0
0
0
47
-10
0
17
5
-7
12
17
-39
11
0
-5
-51
-25
0
-2
0
0
0
-114
44
0
0
0
0
2
16
0
0
0
0
0
8
0
0
17
13
-17
-11
55
1
-31
0
-1
-5
-14
-61
-13
0
0
0
-76
64
2
0
0
0
-1
-7
0
0
0
0
0
7
23
0
-24
-14
7
36
-30
-26
38
0
-2
-2
-72
-48
-48
0
0
0
14
-15
0
2
0
0
-74
5
0
0
0
0
0
-27
21
0
-7
20
8
-62
53
49
5
0
-9
-25
-3
-10
0
0
0
0
-8
125
0
3
0
0
0
4
0
0
0
0
0
0
2
0
21
-2
-4
66
41
2
-43
0
1
0
2
1
0
0
0
0
-15
-23
0
-1
0
0
0
11
0
0
0
0
0
0
0
0
8
31
-24
1
2
8
-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
-46
14
-5
14
14
0
2
0
20
2
3
3
-28
-7
0
1
-7
-61
48
-49
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-31
-2
7
-12
-5
0
-4
0
5
0
1
0
-17
0
0
46
-1
11
19
2
12
2
0
-20
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
5
-10
0
-12
-5
1
0
0
7
0
0
0
0
0
0
0
0
26
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-3
-48
-1
-2
-5
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
6
0
0
0
-31
0
0
0
0
0
-2
0
0
-28
-17
8
9
-26
6
-5
0
-13
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
9
-5
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-5
16
-44
-13
-5
0
10
0
-4
1
9
9
41
54
0
5
-15
-42
-26
16
26
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
1
0
0
0
0
0
0
0
0
-2
0
-1
-1
0
0
29
0
0
0
0
-1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
26
-2
-2
-25
-8
0
27
0
0
0
0
0
1
0
0
12
-40
31
-12
-47
-24
-14
0
34
0
0
0
0
0
0
0
0
-14
-13
12
-19
18
0
58
0
0
0
0
0
-10
0
0
54
0
41
31
35
5
-17
0
30
0
0
0
0
0
0
0
0
13
0
0
-1
-5
0
1
0
0
0
0
0
-6
0
0
30
-24
-27
-15
27
16
-6
0
-49
0
0
0
0
0
0
0
0
11
0
0
2
-30
0
-11
0
0
0
0
0
0
-1
0
26
71
22
26
-10
-31
-4
0
33
0
0
0
0
0
0
0
0
33
13
-2
7
4
0
-4
0
0
0
0
0
12
0
0
44
15
-59
13
14
-15
-7
0
13
0
0
0
0
0
0
0
0
-2
0
1
-2
0
0
-64
0
0
0
0
0
0
0
0
45
-11
-16
-6
31
0
1
0
46
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-31
0
0
0
0
0
0
0
0
-7
-9
-6
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-5
0
0
-5
0
3
0
1
0
0
0
0
-1
1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
1
-5
4
3
0
-7
0
0
0
0
0
1
0
0
31
-27
14
4
38
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-15
22
1
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-41
-16
-37
51
-10
0
-4
0
12
5
5
2
-13
1
0
54
22
6
6
3
-5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-11
0
1
0
0
0
0
0
0
8
19
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
0
0
14
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
33
-24
14
6
10
0
0
0
13
0
0
0
0
0
0
0
0
10
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
0
-17
-3
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
25
0
0
0
0
0
0
0
0
0
0
0
-23
-8
0
11
0
0
0
0
0
1
0
0
10
30
6
-6
23
7
0
0
-24
0
0
0
0
0
0
0
0
-9
-1
-6
-41
22
0
8
0
0
0
0
0
-5
1
0
-24
0
-5
-23
44
9
10
0
-3
0
0
0
0
0
0
0
0
2
0
0
17
1
0
-18
0
0
0
0
0
0
0
0
15
12
1
-13
-9
5
-1
0
32
0
0
0
0
0
0
0
0
9
-1
0
-8
-7
0
-20
0
0
0
0
0
1
0
0
-12
-12
-55
8
41
-13
7
0
-31
0
0
0
0
0
0
0
0
38
0
-4
-29
7
0
61
0
0
0
0
0
0
0
0
-40
-45
-1
61
-37
-3
2
0
4
0
0
0
0
0
0
0
0
0
0
1
10
0
0
-27
0
0
0
0
0
0
0
0
8
9
-19
-7
29
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
31
7
0
-8
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-17
-9
-34
-41
0
0
0
-29
8
9
-20
0
0
30
20
0
27
1
-3
0
19
1
0
-8
24
14
-1
18
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-12
24
-12
21
0
0
0
22
-28
5
2
0
0
-15
15
0
-1
0
0
0
-4
0
0
-15
11
3
-60
45
3
20
0
0
-2
0
0
0
0
0
0
8
10
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-9
6
-16
56
-18
0
-4
0
4
-6
0
1
0
0
0
0
3
-31
0
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
-6
49
-29
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
2
0
0
0
-23
0
0
0
0
0
0
0
0
-19
-2
-4
10
-6
-1
0
0
-8
4
-6
-9
4
0
0
0
3
-54
1
-27
0
0
-40
13
0
20
0
-2
-1
-33
-4
0
57
-6
-17
25
41
15
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
1
-2
0
-3
0
0
0
4
0
0
0
0
0
0
0
0
-1
25
0
-1
-7
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-8
-1
0
1
0
0
0
4
0
0
0
0
0
0
0
0
-2
-14
13
1
-7
0
0
0
-40
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
43
0
0
0
0
0
0
0
0
2
20
5
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-32
0
-3
0
0
0
0
8
12
0
-1
0
0
9
1
0
0
0
0
0
0
0
0
4
-48
-13
0
-13
3
9
0
12
13
-31
71
9
0
0
0
18
31
-8
-22
0
0
-12
-14
0
0
0
0
0
16
2
0
-12
-15
26
-10
-24
16
20
0
-25
10
0
0
-2
0
0
0
-10
-2
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
-23
11
8
28
5
-4
0
31
25
8
-9
0
0
0
0
1
0
0
0
0
0
-23
4
0
0
0
0
0
0
0
0
7
2
-9
42
-9
2
8
0
8
14
-4
5
-4
0
0
0
2
59
0
-1
0
0
-2
13
0
0
0
0
0
0
0
0
42
-11
5
-20
3
6
3
0
41
0
0
0
0
0
0
0
-6
0
0
2
0
0
0
22
0
0
0
0
0
0
0
0
-7
-9
8
0
4
0
-7
0
-35
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
10
19
25
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
-7
25
-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
16
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
6
9
2
-18
7
0
10
0
-4
0
3
0
5
-7
0
-69
28
5
-45
-44
-33
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
-1
0
-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
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
24
0
0
2
-1
0
-4
0
0
0
0
0
0
0
0
41
0
18
-45
-18
-3
5
0
6
0
0
0
0
0
0
0
0
-2
0
0
-7
0
0
-16
0
0
0
0
0
0
0
0
10
-2
-10
-8
0
1
27
0
-58
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-4
0
0
0
0
0
0
0
0
0
0
-42
12
0
-2
0
0
-50
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
-1
4
2
2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
37
-8
2
0
0
0
-13
42
0
4
0
0
-7
7
0
37
-8
-1
10
3
9
0
22
-41
-60
6
-59
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
3
2
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
24
0
35
-5
0
-16
0
-1
-6
0
0
-6
25
0
-15
-13
8
-50
48
-59
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-69
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-13
1
-37
34
0
5
0
0
0
0
0
-8
1
0
-35
-23
0
95
38
-20
27
0
0
0
0
0
0
0
0
0
0
-35
-28
-8
0
0
0
-71
0
0
0
0
0
0
0
0
7
-9
-5
-22
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-32
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
20
0
0
0
0
0
0
0
0
-3
20
-26
-1
-27
-10
-1
0
0
0
0
0
0
0
0
0
0
-3
30
1
-27
-3
0
2
0
0
0
0
0
3
-1
0
-21
13
6
-53
-43
-17
-32
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
5
-43
23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-76
3
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-2
0
0
-2
-8
0
-55
41
-13
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-36
1
2
3
16
0
24
0
0
0
0
1
-5
11
0
-20
-57
-66
-4
-18
11
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
2
20
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
18
0
0
0
0
0
0
0
0
43
-3
3
-13
25
31
76
0
-34
0
0
0
0
0
0
0
0
-41
0
0
41
-48
0
-28
0
0
0
0
0
11
0
0
-103
0
-50
1
-32
-1
-24
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
5
33
0
91
-3
0
1
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
20
-10
5
-30
42
10
2
0
11
0
0
0
0
0
0
0
0
3
2
0
4
1
0
23
0
0
0
0
0
-17
0
0
40
-20
-18
4
-57
-6
-92
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
-8
3
0
-3
-8
0
-5
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
32
0
-7
-1
2
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-43
-72
-17
-31
8
-28
34
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
9
8
-15
-27
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-25
24
169
0
-52
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-20
-28
-46
1
-14
0
0
0
-98
-45
4
3
0
0
-99
6
0
-47
0
20
0
-14
-16
0
-12
-16
-1
-94
-25
11
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
44
16
-18
1
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-2
0
0
0
0
0
0
-1
31
-49
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
27
1
0
0
0
0
0
9
0
0
0
0
1
14
0
0
0
0
0
0
2
0
-27
-17
-4
-39
15
-4
-2
0
18
-50
71
4
1
0
0
0
8
-3
2
0
0
0
-8
2
0
0
0
0
0
-67
32
0
16
-61
8
11
23
5
40
0
9
1
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-41
-29
5
-47
-66
-26
-23
0
21
-8
-7
-10
0
0
0
0
3
0
0
0
0
0
18
-20
0
0
0
0
0
1
0
0
41
-43
3
-48
-42
-44
-32
0
-20
8
11
-5
0
0
0
0
-5
7
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-6
-23
1
-3
-56
4
26
0
1
-1
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-23
6
-1
2
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-2
-4
-7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
-10
-57
0
0
27
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
4
0
18
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
-2
-24
-39
32
0
0
0
13
0
0
0
44
-27
0
49
16
3
0
-10
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
7
31
0
22
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
4
0
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
-29
-15
0
0
0
0
0
0
0
59
5
0
-92
-15
116
3
-12
-10
-34
0
0
0
0
0
0
0
0
0
0
19
0
-6
8
0
0
-51
0
0
0
0
0
0
0
0
13
4
32
-59
7
-47
22
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-105
0
0
0
0
0
0
0
0
-7
1
-3
20
12
-19
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
14
0
0
0
0
0
0
0
0
10
-14
-1
-13
15
-48
9
0
0
0
0
0
0
0
0
0
0
-25
-1
0
-5
8
0
20
0
0
0
0
0
-25
0
0
23
-11
56
20
7
1
10
0
0
0
0
0
0
0
0
0
0
41
0
0
-7
0
0
14
0
0
0
0
0
0
0
0
52
-26
-21
-5
21
-2
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-22
42
12
-7
57
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
41
-22
0
4
-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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-8
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
5
0
0
-27
-20
0
3
0
15
0
1
0
40
49
0
-13
12
-48
9
0
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
1
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
13
0
0
0
0
0
0
0
0
-33
12
0
24
16
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
-4
7
0
-10
0
0
0
0
0
0
0
0
14
-13
10
65
-10
-5
-16
0
-50
0
0
0
0
0
0
0
0
-31
0
0
-10
4
0
-1
0
0
0
0
0
-1
4
0
-16
0
-24
-71
4
-25
-13
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
32
2
0
-12
-2
0
-1
0
69
0
0
0
0
0
0
0
0
0
0
0
-22
8
0
8
0
0
0
0
0
-1
0
0
-6
-8
-17
-11
1
16
-29
0
2
0
0
0
0
0
0
0
0
-1
0
0
34
5
0
0
0
0
0
0
0
0
-1
0
-67
0
-12
6
16
-7
94
0
-39
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-9
0
0
0
0
0
0
0
0
-27
-4
0
13
4
0
8
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-10
0
0
0
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
11
0
0
0
0
0
0
0
0
12
-16
13
9
61
-5
-48
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
9
-2
0
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-37
-3
0
32
14
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-7
-3
0
0
2
0
0
0
-1
16
5
16
19
0
0
0
14
11
5
0
0
0
25
2
0
59
0
0
-3
-2
28
0
7
-9
-22
-3
28
22
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-8
5
0
4
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-3
0
33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-6
5
0
0
0
-5
-1
0
0
0
0
-4
25
0
0
0
0
0
0
-4
0
-11
-15
2
3
33
-35
14
0
-15
-56
-41
-6
-25
0
0
0
45
21
-1
0
0
0
13
-14
0
0
0
0
0
9
-29
0
6
-21
-13
1
-33
30
-26
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
53
-12
5
26
-13
25
-13
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
43
0
0
0
0
0
0
0
0
71
10
-2
50
-2
-1
3
0
1
43
-13
5
0
0
0
0
-8
4
0
0
0
0
-4
14
0
0
0
0
0
0
0
0
-28
-55
-9
0
48
-37
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-23
-18
-1
-10
-9
0
45
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-21
7
-1
7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
26
-24
0
8
25
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
36
1
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-4
7
53
41
0
0
0
0
0
0
0
-28
16
0
-4
-37
-10
11
-2
-3
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
44
-2
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
20
2
0
-2
0
0
0
0
0
-8
1
0
3
-32
7
64
5
-61
8
0
0
0
0
0
0
0
0
0
0
15
0
3
-1
0
0
-4
0
0
0
0
0
1
0
0
-15
-124
2
40
-57
-21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
0
0
-74
0
0
0
17
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
-16
8
-2
-3
-19
1
2
0
0
0
0
0
0
0
0
0
0
-31
0
-1
3
0
0
-49
0
0
0
0
0
8
-1
0
-25
12
1
50
-13
-69
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-46
12
-1
13
-40
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-25
0
0
-19
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
20
0
0
0
0
0
0
0
0
34
18
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
27
0
0
16
14
0
-14
0
0
0
0
0
0
14
0
1
-30
-6
-8
-10
-1
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
13
1
0
0
-4
-4
-1
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
1
0
0
-1
-1
0
15
0
0
0
0
0
-3
0
0
8
-19
0
1
-6
1
-27
0
42
0
0
0
0
0
0
0
0
1
0
0
-4
13
0
-1
0
0
0
0
0
-5
0
0
-1
0
-16
-20
-78
-13
12
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-25
3
0
0
6
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-31
3
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
5
10
-1
-27
-24
-24
-20
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
58
0
0
0
0
0
0
0
0
28
-2
0
-1
14
0
-9
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-8
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
94
0
0
0
0
0
0
0
0
5
5
5
-21
18
2
26
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
19
3
0
0
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
7
-1
0
0
52
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
3
0
-6
-28
-8
13
-16
0
0
0
25
57
0
-2
0
0
6
-1
0
0
0
0
0
8
-9
0
-43
4
-67
-42
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
10
0
-1
-1
24
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
-8
0
0
0
0
1
-21
0
0
0
0
0
0
0
0
3
-25
-14
-40
-33
23
25
0
36
3
-1
-1
-10
0
0
0
-25
-73
0
0
0
0
-23
4
0
0
0
0
0
-1
-6
0
-31
-24
-145
13
-4
-72
29
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
24
14
0
-5
45
0
0
0
-49
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-59
16
-22
-37
20
7
24
0
-26
6
0
1
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-13
25
67
0
8
12
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
49
-7
6
-13
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
0
0
55
20
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-23
6
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
25
-2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
1
0
-2
44
0
7
0
0
0
0
0
39
-7
0
-7
39
8
-8
4
28
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
2
0
-20
0
0
0
0
0
0
0
0
1
10
21
27
-112
9
27
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
59
0
0
0
0
0
0
0
0
16
-23
3
-1
37
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
35
4
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
-18
-6
0
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
14
0
0
0
0
0
0
0
0
1
-27
-3
18
12
-29
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
5
-20
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
21
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
52
-27
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
2
0
0
9
0
0
0
0
0
-2
-1
0
-33
-31
-48
9
10
-48
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-3
-1
0
0
-2
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-47
0
0
0
0
0
0
0
0
39
8
1
24
-3
8
5
0
28
0
0
0
0
0
0
0
0
7
0
0
4
6
0
-2
0
0
0
0
0
-2
0
0
-21
0
-21
36
-144
8
-30
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
27
-15
0
70
10
21
13
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-5
-1
0
-1
39
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
35
24
0
8
-4
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
12
-3
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-2
0
8
0
0
0
12
-10
-1
0
0
0
20
15
0
0
0
0
0
0
-8
0
-24
-6
-25
-20
-71
-50
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-37
-7
-24
-17
-17
12
0
0
22
26
0
-1
0
0
0
0
-5
2
0
0
0
0
-6
26
0
0
0
0
0
0
0
0
-38
5
-47
-16
-123
-77
-39
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
-9
0
0
0
2
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-7
-3
0
-1
6
0
0
0
-4
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-22
1
30
-41
-4
-7
-19
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-42
0
0
-1
2
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-8
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-14
-1
-2
0
4
2
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
65
0
9
1
2
0
-22
1
0
2
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
-16
-2
0
-1
-6
1
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
22
0
-4
0
-2
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
47
0
8
-3
18
4
0
-3
0
14
3
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
10
-2
-1
-4
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
3
0
0
0
0
0
25
0
8
11
15
-8
14
-1
0
3
-31
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
9
0
-8
1
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-14
-16
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
2
0
0
0
4
3
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-1
12
2
-2
0
0
0
11
0
-14
0
0
0
-2
-1
0
1
13
3
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-18
0
0
0
0
-1
0
0
0
-3
2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
3
1
0
0
64
0
5
0
0
0
2
0
0
-3
13
-3
1
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
26
0
0
0
0
0
0
0
0
-2
51
-5
4
20
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
27
-3
1
0
0
0
-2
0
0
0
0
0
2
1
0
1
-21
4
9
-26
0
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
1
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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-3
-5
0
10
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
-27
0
0
0
0
0
5
1
0
-6
-5
-1
-19
28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
77
0
0
0
0
0
0
0
0
-4
30
0
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
18
0
0
0
0
0
1
1
0
-19
2
3
1
8
8
-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
-13
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
0
0
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
13
0
0
0
0
0
0
0
0
2
12
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
22
38
0
3
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
1
0
0
0
0
0
50
0
0
0
0
0
0
0
0
4
-14
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
2
-8
-6
-3
0
0
0
31
0
0
0
0
0
0
-1
0
-11
36
9
-10
6
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
-19
0
0
6
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
16
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
1
-4
0
0
0
-2
0
0
0
0
0
0
0
0
11
-11
25
-6
-31
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
3
-8
0
-1
28
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-5
12
-14
6
0
0
23
0
0
0
0
0
13
9
0
19
-43
-8
13
-8
-72
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
1
0
3
0
0
0
-53
0
0
0
0
0
0
0
0
-3
-22
0
0
-49
-2
0
0
-36
0
0
0
0
0
0
0
0
-23
0
2
-6
0
0
-4
0
0
0
0
0
1
0
0
3
26
17
16
1
-8
19
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
1
-10
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
14
0
0
-1
3
0
0
25
0
0
0
0
0
0
0
0
-20
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
-6
3
1
3
-7
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-8
-22
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
1
-1
1
0
-19
0
0
0
0
0
0
1
0
-19
5
5
31
25
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
4
10
0
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
0
0
23
0
0
0
0
0
0
0
0
18
0
-9
-70
-41
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
25
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
15
-26
0
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
16
-4
0
25
8
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
5
10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
16
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-44
-45
5
23
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
41
32
4
-13
21
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-3
0
-15
-3
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-12
-5
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
1
0
-4
1
0
0
0
-24
-5
-17
-1
6
0
0
0
8
4
1
1
0
0
0
10
0
0
0
0
0
-8
-1
0
28
17
-44
-11
66
-41
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-2
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-19
31
4
30
-3
0
-3
0
35
-4
-2
-3
0
0
0
0
-2
-13
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
9
-10
-24
-39
-32
-8
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
2
9
0
-10
-10
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
26
15
6
0
6
0
0
0
5
-1
0
0
0
0
0
0
-1
1
0
0
0
0
0
72
0
0
0
0
0
0
0
0
-24
12
-3
13
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
6
0
-1
-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
-5
0
0
-1
0
0
-15
0
0
0
0
0
0
0
0
21
-14
-18
41
14
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
43
22
0
6
10
10
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-23
-1
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-8
3
-19
4
-3
0
-1
0
0
0
0
0
-50
0
0
-15
29
-2
5
-8
11
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-7
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
0
0
0
1
0
0
-24
19
4
31
-3
-6
3
0
10
0
0
0
0
0
0
0
0
-41
0
9
0
0
0
-5
0
0
0
0
0
-13
0
0
2
-9
-12
19
0
49
2
0
25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-86
0
0
0
0
0
0
0
0
-9
-2
0
0
-54
12
0
0
8
0
0
0
0
0
0
0
0
3
-2
0
-2
0
0
20
0
0
0
0
0
3
0
0
-12
24
-25
-19
60
43
-8
0
-70
0
0
0
0
0
0
0
0
26
0
0
0
0
0
5
0
0
0
0
0
-3
0
0
36
12
-8
-21
6
-47
-1
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
3
0
0
0
0
0
0
0
0
15
-16
0
12
36
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
-10
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
19
0
0
0
0
0
-6
0
0
10
-6
3
0
-18
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
8
0
0
0
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
-1
2
0
-24
1
0
-3
0
0
0
0
0
4
4
0
0
-39
8
-14
24
3
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
30
-1
0
0
25
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-10
0
0
0
0
0
-3
0
0
50
-5
12
-27
-10
79
30
0
0
0
0
0
0
0
0
0
0
13
-1
0
9
-8
0
-1
0
0
0
0
0
36
0
0
13
0
-46
-3
3
-5
-25
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
11
0
0
0
0
0
0
0
0
60
-3
-1
4
10
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-44
7
1
4
31
30
-2
0
0
0
0
0
0
0
0
0
0
-12
2
0
2
0
0
5
0
0
0
0
0
3
-1
0
56
13
-3
1
19
44
-8
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-3
0
0
-4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-1
0
0
0
0
6
-1
0
0
0
2
1
0
0
0
0
0
-3
0
0
46
-6
-27
-41
-12
3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-25
-21
-5
28
-3
-27
-2
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-18
3
2
0
5
0
-1
0
-22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-29
9
-21
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
50
0
0
0
1
0
2
0
-1
38
0
24
-8
0
0
0
-11
-17
8
0
0
0
3
-5
0
0
0
0
0
9
3
0
9
-9
26
27
-5
36
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
29
0
-6
0
-8
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-1
0
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-2
0
1
0
0
0
0
0
6
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
11
14
-23
-39
-26
-23
21
0
2
-49
8
-29
-2
0
0
0
23
-28
-2
0
0
0
-5
-4
0
0
0
0
0
-6
20
0
10
-24
28
-42
1
-28
-15
0
14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
7
2
3
-7
-12
-5
-2
0
-41
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
31
0
0
0
0
0
0
0
0
66
-2
4
1
4
0
8
0
-5
18
4
5
0
0
0
0
7
-10
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-24
-1
30
60
-22
-16
-25
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
3
0
0
0
0
0
0
0
0
14
-20
1
-8
-21
1
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
43
-1
-3
0
75
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
-4
-1
0
3
0
0
0
0
0
33
-3
0
8
-53
-15
57
3
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-33
-52
1
3
-12
29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-10
2
-3
0
-24
-6
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
13
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
40
24
0
-12
17
0
-2
0
0
0
0
0
61
-7
0
2
-77
12
9
1
-3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
3
0
4
0
-60
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
14
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
24
-17
0
21
13
0
7
0
0
0
0
0
62
0
0
3
20
38
-9
19
50
-3
0
-27
0
0
0
0
0
0
0
0
-8
-3
0
1
0
0
-89
0
0
0
0
0
-14
0
0
-28
-86
23
-53
5
-17
-48
0
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-1
0
0
0
0
0
1
-1
0
6
19
-14
18
22
39
-28
0
12
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
66
-18
-4
0
-43
0
0
0
103
0
0
0
0
0
0
0
0
42
23
0
10
-2
0
2
0
0
0
0
0
9
-2
0
-21
-27
-64
21
2
25
9
0
8
0
0
0
0
0
0
0
0
29
0
0
17
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-29
-49
-2
-3
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-6
5
-21
0
11
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
0
0
143
-1
17
-50
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-9
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
0
-1
0
0
0
0
0
57
48
0
-2
-51
-1
-5
-2
-15
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
43
0
0
0
0
0
0
0
0
-44
0
13
28
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
-1
1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
3
0
0
0
0
0
0
0
0
7
-30
-1
7
1
-18
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-32
0
1
0
0
0
0
0
-52
-1
0
-3
0
14
1
1
23
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-14
0
0
0
0
0
0
0
0
-5
13
8
67
8
-9
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
12
0
9
0
0
0
0
0
-1
0
0
24
-17
-56
12
3
-1
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-2
0
7
0
0
0
0
0
-12
0
0
1
-31
-59
11
-44
-4
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-8
0
0
0
0
0
0
0
0
-19
-3
-34
9
4
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-18
0
0
18
-7
30
0
0
0
0
0
0
0
0
0
0
0
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
37
-15
1
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-28
-8
-13
6
-69
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
-13
-32
-3
-27
6
-23
-5
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
143
0
0
0
0
0
0
0
0
25
0
-34
-14
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
-18
-1
182
31
16
-44
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-15
-58
26
6
0
0
0
-42
0
0
0
0
0
-49
-3
0
0
0
0
0
-59
8
0
-42
-68
-1
-8
0
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
2
-1
-13
6
15
0
39
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
-6
0
-50
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
5
49
-15
5
0
0
0
-4
0
0
0
0
0
-6
19
0
0
0
0
0
0
4
0
-76
-62
-10
3
9
-8
23
0
-14
8
6
29
-42
0
0
0
-13
0
0
0
0
0
-31
0
0
0
0
0
0
25
8
0
-11
-22
9
3
0
13
31
0
31
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-41
-10
42
12
16
-60
0
-21
-20
-14
-14
0
0
0
0
24
0
0
0
0
0
22
-7
0
0
0
0
0
1
-1
0
-26
-17
1
-41
-20
-16
-5
0
10
41
-37
-1
1
0
0
0
-15
0
0
0
0
0
-12
-4
0
0
0
0
0
-2
-6
0
23
-68
2
-3
3
14
-2
0
22
-4
-5
-2
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-32
9
-1
-18
17
0
33
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-42
8
-6
15
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
31
10
-10
-1
-46
-49
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
5
0
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
3
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
32
43
0
0
0
0
0
0
0
19
3
0
-1
-111
35
-10
-39
-14
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
-4
0
0
0
0
0
0
0
0
-1
-58
46
5
-49
-68
-45
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
0
0
0
0
0
0
0
0
19
4
52
7
-31
3
1
0
13
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
2
0
0
0
0
0
0
0
0
-1
-22
-11
-42
40
-22
33
0
18
0
0
0
0
0
0
0
0
0
0
0
28
-23
0
0
0
0
0
0
0
29
14
0
-8
-50
30
-15
-38
-10
18
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
33
-47
61
-5
-33
-6
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
-31
-29
21
20
-6
0
-47
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
-14
0
41
-55
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
-50
5
0
0
3
0
0
-13
41
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
2
-1
-4
0
0
19
0
0
0
0
0
0
0
0
0
81
-25
-8
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-18
105
20
-40
-40
0
-8
0
41
49
-4
49
10
15
0
-65
-15
2
32
20
-6
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
-20
-1
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
5
6
43
-7
0
0
0
0
16
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
23
3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
35
0
0
0
0
0
0
0
0
0
-120
-32
-2
2
3
0
0
65
0
0
0
0
0
0
0
0
31
0
-8
13
-19
0
-1
0
0
0
0
0
-1
1
0
51
0
-16
36
38
-13
13
0
-1
0
0
0
0
0
0
0
0
-3
0
0
-15
-26
0
4
0
0
0
0
0
0
0
0
52
-42
-50
-31
-21
4
50
0
73
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
3
0
0
0
0
0
0
0
0
3
-15
-18
8
0
-4
0
0
-25
0
0
0
0
0
0
0
0
-5
0
0
-3
-1
0
-22
0
0
0
0
0
0
0
0
-17
5
45
-34
-17
-5
31
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-2
2
27
1
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
36
-30
41
0
0
0
-17
-32
53
12
0
0
-53
-3
0
18
-35
-4
30
-28
-24
0
32
-28
0
10
29
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-17
8
0
0
0
-40
0
1
0
0
0
0
0
0
0
-77
-115
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-56
-4
0
19
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
16
-12
4
1
0
-4
0
10
-1
8
-4
-45
-32
0
-86
9
-6
-36
-94
26
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-13
0
0
0
0
-8
0
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
0
0
0
0
83
0
0
0
0
0
0
0
0
0
1
-20
0
8
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-52
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
9
-20
9
0
5
0
0
0
0
0
7
7
0
-62
-9
-5
-18
-10
34
-30
0
0
0
0
0
0
0
0
0
0
20
6
-36
7
2
0
4
0
0
0
0
0
-13
-3
0
33
17
6
4
-34
-13
6
0
0
0
0
0
0
0
0
0
0
52
0
0
8
0
0
17
0
0
0
0
0
0
0
0
1
-82
32
5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
3
5
3
30
8
0
-3
0
0
0
0
0
0
0
0
8
14
3
-6
21
-13
-7
0
0
0
0
0
0
0
0
0
0
-71
-50
-31
4
-10
0
5
0
0
0
0
0
-10
0
0
49
40
0
-25
-7
-85
-76
0
0
0
0
0
0
0
0
0
0
35
0
0
2
0
0
-17
0
0
0
0
0
0
0
0
-2
20
36
29
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
51
13
-4
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
56
-17
6
-1
9
4
0
-13
-31
0
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
1
1
0
11
0
0
0
0
0
-4
0
0
-2
-43
-2
6
76
-30
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-12
8
0
-45
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
39
-10
-33
19
48
0
18
0
13
-28
22
-31
29
12
0
40
-7
6
-11
71
-22
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
1
0
0
0
0
0
118
0
0
0
0
0
0
0
0
-1
-30
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-5
43
1
40
-31
0
-2
0
55
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-30
0
-3
0
0
0
0
0
0
0
-5
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-10
0
0
-19
0
0
32
0
0
0
0
0
0
0
0
-8
-4
-2
17
52
-35
9
0
-16
0
0
0
0
0
0
0
0
-41
-8
2
38
-106
0
-25
0
0
0
0
0
3
1
0
-7
0
-15
6
37
66
-66
0
31
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-22
55
2
22
-8
13
13
0
34
0
0
0
0
0
0
0
0
1
0
0
2
-7
0
-13
0
0
0
0
0
0
0
0
62
17
6
-33
60
-6
-8
0
-8
0
0
0
0
0
0
0
0
-45
5
0
45
-14
0
-1
0
0
0
0
0
8
0
0
-25
-10
-21
5
-34
22
-15
0
64
0
0
0
0
0
0
0
0
3
0
0
1
0
0
17
0
0
0
0
0
0
0
0
31
-60
-3
76
-42
0
25
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
31
0
-2
-9
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
1
0
0
0
0
0
27
0
-8
24
16
5
3
1
0
-3
-7
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
-10
-31
4
0
0
0
-46
-4
3
44
0
0
-17
-13
0
0
0
0
0
2
0
0
-43
-15
-90
-8
-13
-65
-12
0
-13
-3
0
0
0
0
0
0
1
2
-1
4
0
0
0
-42
0
-8
0
0
0
0
0
0
-46
-25
-37
-48
-63
2
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-97
16
25
-21
-35
-93
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
31
8
1
1
0
0
0
-19
5
6
9
-32
0
0
0
-43
-6
-1
-33
0
0
-7
-1
0
49
-36
0
-3
-40
49
0
9
7
-3
32
5
-33
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
11
0
0
0
0
0
0
0
0
3
-35
-2
1
51
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
119
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
31
0
0
0
0
0
0
0
0
97
18
-21
10
25
0
0
0
32
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
32
0
-14
0
0
0
0
0
0
-1
93
32
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-11
45
-8
0
0
0
0
2
24
0
0
0
0
6
30
0
0
0
0
0
0
2
0
13
32
10
78
-5
-12
71
0
-31
-9
49
18
17
0
0
0
-98
-45
-3
-9
0
0
14
-5
0
0
0
0
0
18
25
0
23
1
3
9
8
-16
21
0
-3
-10
-5
-1
-2
0
0
0
-5
-9
0
0
0
0
5
25
0
0
0
0
0
5
0
0
31
-56
21
-17
-13
1
41
0
27
-96
-16
-14
0
0
0
0
-83
0
0
0
0
0
58
12
0
0
0
0
0
1
1
0
-43
-8
6
-23
52
8
38
0
-6
24
-65
-21
1
0
0
0
-45
5
0
0
0
0
-45
-3
0
0
0
0
0
-4
-1
0
51
20
7
0
15
88
15
0
-13
-1
5
-7
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
16
46
18
-7
-6
0
-19
0
32
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
-3
-33
-33
0
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
10
5
0
0
-23
0
1
0
0
0
-2
0
0
-23
-71
-5
2
45
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
23
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
-1
0
-66
0
0
0
0
0
0
0
0
1
4
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
-16
0
0
0
0
0
0
0
0
44
68
0
-34
87
43
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
-12
0
61
-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
37
17
30
5
-12
0
-2
0
-5
-1
13
-37
-62
-11
0
-13
-13
-7
-3
-4
6
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-49
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
15
0
0
0
0
0
0
0
0
4
26
0
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
1
0
14
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-72
6
-17
-54
0
1
0
0
0
0
0
40
-15
0
-6
10
-57
19
50
5
53
0
0
0
0
0
0
0
0
0
0
42
-3
-24
10
7
0
32
0
0
0
0
0
-1
-3
0
6
1
74
4
-1
-5
-80
0
0
0
0
0
0
0
0
0
0
-7
0
1
-7
0
0
21
0
0
0
0
0
0
0
0
13
-23
-6
-28
122
40
-8
0
0
0
0
0
0
0
0
0
0
-12
0
4
-2
0
0
-1
0
0
0
0
0
0
0
0
8
96
-2
16
-23
-9
43
0
0
0
0
0
0
0
0
0
0
30
29
-8
67
18
0
-12
0
0
0
0
0
-30
4
0
-27
4
1
34
-7
5
5
0
0
0
0
0
0
0
0
0
0
24
0
0
-42
0
0
-23
0
0
0
0
0
0
0
0
-107
-75
24
-45
-15
-7
-13
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
-34
0
0
0
0
0
0
0
0
-3
-4
8
-10
68
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-35
0
17
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
-5
-73
-1
2
-39
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
13
0
0
0
0
0
0
0
0
16
13
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-80
-10
23
-65
27
0
3
0
7
0
-6
6
-64
-63
0
8
22
-12
20
-11
17
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
-8
0
0
0
0
0
0
0
0
-1
26
0
2
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
16
0
0
1
0
0
0
14
0
0
0
0
0
0
0
0
-3
0
0
-18
0
0
64
0
0
0
0
0
0
0
0
-26
-12
-2
3
52
0
-4
0
-20
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
60
0
0
0
0
0
0
0
0
-23
-6
0
1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
30
0
0
-19
23
0
24
0
0
0
0
0
0
0
0
-27
28
-5
13
64
-40
4
0
-2
0
0
0
0
0
0
0
0
-8
0
-3
-46
-50
0
-13
0
0
0
0
0
25
-2
0
21
0
42
38
-23
-44
21
0
8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
40
0
0
0
0
0
0
0
0
44
-17
-2
1
22
1
-1
0
-38
0
0
0
0
0
0
0
0
2
0
0
-69
-5
0
17
0
0
0
0
0
-5
0
0
-63
-26
-16
9
13
15
20
0
5
0
0
0
0
0
0
0
0
35
0
0
51
63
0
14
0
0
0
0
0
20
0
0
45
11
-10
78
-7
30
-9
0
-12
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
0
0
0
0
0
0
84
14
-1
-105
-28
-2
-47
0
48
0
0
0
0
0
0
0
0
0
0
0
4
0
0
35
0
0
0
0
0
0
0
0
-25
1
0
0
-3
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
-3
2
0
-1
0
0
0
6
0
12
1
0
-2
0
0
0
9
-16
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-6
1
-12
0
0
0
-52
20
-7
-6
0
0
44
-18
0
-1
0
0
0
0
-2
0
-38
-34
45
1
20
-18
-18
0
43
0
0
0
0
0
0
0
0
4
0
0
0
0
0
38
0
0
0
0
0
0
0
0
13
7
-1
-61
20
2
8
0
0
0
-2
0
-4
0
0
0
0
-8
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
34
-18
5
62
18
3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
13
-1
19
-41
-7
0
0
-3
62
95
-3
-3
0
0
0
15
-5
-21
17
0
0
3
2
0
38
47
-2
0
40
-30
0
-8
-4
-8
-2
-2
7
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-45
0
3
0
0
0
-14
0
0
0
0
0
0
0
0
-7
27
0
-23
-30
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-66
-7
0
0
0
0
0
0
3
6
0
4
0
0
0
28
0
0
0
0
0
0
0
0
63
-41
0
28
15
0
-8
0
27
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-27
0
-21
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-5
-48
-52
4
0
0
0
-46
3
0
1
0
0
-61
-12
0
0
0
0
0
0
-9
0
16
2
-26
1
-14
-11
-32
0
-22
-53
11
-43
11
0
0
0
29
66
-2
-9
0
0
24
6
0
0
0
0
0
4
-15
0
14
35
-3
5
39
-9
23
0
-36
3
0
0
1
0
0
0
-18
3
0
0
0
0
0
10
0
0
0
0
0
0
0
0
1
-59
2
15
7
9
10
0
6
12
5
0
1
0
0
0
5
16
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-6
-39
5
17
-94
-8
-38
0
-6
-108
-30
17
-19
0
0
0
-2
47
0
0
0
0
-10
2
0
0
0
0
0
0
0
0
-12
-34
75
3
-14
63
2
0
-22
-5
0
0
0
0
0
0
-3
54
0
2
0
0
0
-14
0
0
0
0
0
0
0
0
68
-13
-1
28
40
0
45
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
-32
5
0
-18
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
13
8
0
0
-26
0
-2
0
0
0
-1
0
0
10
-63
0
-7
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
1
-1
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
80
0
0
0
0
0
0
0
0
1
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
8
47
0
-28
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
-49
-8
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-6
10
14
141
0
-1
0
-11
0
19
18
0
10
0
1
-9
-101
6
-24
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-35
9
0
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
-1
4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-5
0
-22
41
0
3
0
0
0
0
0
31
4
0
15
26
84
7
-12
26
84
0
0
0
0
0
0
0
0
0
0
29
-1
1
-43
13
0
12
0
0
0
0
0
8
-5
0
-28
17
63
30
-22
37
23
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-7
0
0
10
0
0
0
0
0
0
0
0
27
16
0
25
3
-41
1
0
0
0
0
0
0
0
0
0
0
-49
-1
0
-2
0
0
-15
0
0
0
0
0
0
0
0
8
-46
-5
35
22
37
31
0
0
0
0
0
0
0
0
0
0
-33
2
19
-47
17
0
7
0
0
0
0
0
-10
0
0
-4
-44
25
28
22
21
-23
0
0
0
0
0
0
0
0
0
0
2
0
0
6
0
0
-75
0
0
0
0
0
0
0
0
47
50
25
-19
51
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
0
0
9
0
0
0
0
0
0
0
0
7
68
1
-42
32
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
-26
0
0
0
0
0
1
0
0
-11
-8
2
-22
11
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
-13
-3
0
0
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
-2
0
0
0
0
0
0
0
0
-4
-17
35
59
53
0
-11
0
-10
0
0
0
-21
29
0
-11
-9
33
-11
-6
24
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
13
-5
0
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
2
0
0
0
0
0
14
0
0
0
0
0
0
0
0
61
30
0
0
49
1
-1
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
34
13
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
5
0
-1
-2
-38
0
-25
0
0
0
0
0
-1
0
0
-6
-18
-21
31
-63
-4
37
0
12
0
0
0
0
0
0
0
0
41
0
0
-17
9
0
3
0
0
0
0
0
5
1
0
15
0
9
43
18
-14
-22
0
-84
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-28
0
0
0
0
0
0
0
0
-18
5
0
0
8
0
0
0
12
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
-13
0
0
0
0
0
0
0
0
21
-80
0
5
-11
37
5
0
-2
0
0
0
0
0
0
0
0
25
0
0
-17
-1
0
16
0
0
0
0
0
7
0
0
-30
15
-18
117
43
-11
10
0
-28
0
0
0
0
0
0
0
0
-4
0
0
-6
0
0
24
0
0
0
0
0
0
0
0
-56
23
0
-10
34
5
5
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
46
-3
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-12
0
20
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
-3
0
2
9
0
0
0
6
19
0
-9
0
0
-1
-2
0
0
0
0
0
1
0
0
2
93
50
-37
17
82
-46
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
34
-13
0
-24
22
0
8
0
0
-1
0
0
0
0
0
0
0
10
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
19
45
-1
-5
-6
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
6
-5
0
-4
2
0
3
0
-2
-43
-7
21
72
0
0
0
82
-14
23
-34
0
0
-66
3
0
-41
0
20
3
-55
18
0
-9
-46
-27
4
24
46
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-15
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-4
-8
1
-9
4
0
0
0
31
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-5
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
2
14
-6
0
0
0
3
-16
0
0
0
0
-15
27
0
0
0
0
0
0
9
0
-2
-9
58
41
19
56
-41
0
10
30
-29
-10
-30
0
0
0
-10
16
7
3
0
0
-12
6
0
0
0
0
0
-27
-2
0
16
-7
-12
9
-5
50
-6
0
94
2
0
0
0
0
0
0
2
-2
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
23
51
-3
-6
29
-2
-4
0
25
-23
0
-17
0
0
0
0
33
-6
0
0
0
0
-49
-1
0
0
0
0
0
0
-3
0
-2
-1
53
-4
-20
8
33
0
-8
48
6
1
-4
0
0
0
-30
-85
0
-1
0
0
5
5
0
0
0
0
0
0
0
0
30
-13
87
31
10
-140
-5
0
30
0
0
0
0
0
0
0
5
8
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-82
20
8
27
-4
1
-25
0
-2
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
27
82
4
-4
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-6
0
0
66
0
0
0
0
0
0
0
0
-34
14
0
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-1
22
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
0
0
0
0
0
0
0
0
69
-19
1
0
-24
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
35
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-9
-5
10
-4
0
-6
0
7
0
0
0
66
13
0
-1
-16
27
24
-8
-13
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
126
1
2
-9
20
0
1
0
0
0
0
0
12
0
0
-13
-61
-53
43
16
43
-36
0
0
0
0
0
0
0
0
0
0
91
0
17
-35
-16
0
12
0
0
0
0
0
13
0
0
-34
-4
5
-1
67
-13
13
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
54
40
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
-25
2
0
-21
1
0
0
0
0
0
0
0
0
0
0
0
27
3
-2
-15
0
0
8
0
0
0
0
0
0
0
0
54
73
13
-49
-4
-50
24
0
0
0
0
0
0
0
0
0
0
-16
0
0
-2
0
0
39
0
0
0
0
0
0
0
0
-24
-18
3
-3
15
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-2
-30
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
93
0
0
0
0
0
0
0
0
53
-54
0
-5
-13
-9
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
8
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
98
0
-2
-66
-37
0
-3
0
0
0
0
0
0
0
0
56
-11
-8
-33
-25
-27
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-21
-35
0
0
-2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
-2
0
0
-25
0
0
5
0
0
0
0
0
0
0
0
81
73
31
-2
-30
44
27
0
-16
0
0
0
0
0
0
0
0
30
0
0
-55
8
0
6
0
0
0
0
0
-2
0
0
-22
0
6
4
64
4
7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
1
0
0
41
0
0
0
0
0
0
0
0
9
49
0
1
14
0
-2
0
23
0
0
0
0
0
0
0
0
4
0
0
-7
0
0
-2
0
0
0
0
0
0
0
0
16
1
-30
-21
25
-21
-12
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-2
-7
0
21
7
3
7
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
134
2
1
1
0
0
0
0
6
33
0
-2
0
0
-1
8
0
0
0
0
0
0
0
0
84
-37
-2
22
13
5
13
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
-13
7
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
20
-46
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
-6
-62
-48
18
-19
0
0
0
36
32
8
8
0
0
16
-4
0
-11
0
0
0
7
-45
0
-22
-11
-5
29
-80
23
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-27
15
0
0
1
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
8
0
-4
0
0
0
0
0
0
0
1
0
0
-3
-18
0
0
0
0
0
0
0
0
-7
26
-64
-39
29
5
14
0
-21
-60
-96
-9
-5
0
0
0
26
-12
-1
0
0
0
-47
14
0
0
0
0
0
0
31
0
-22
-52
66
29
3
-66
-34
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-10
35
0
0
7
3
0
0
-32
-1
0
0
0
0
0
0
1
-2
0
0
0
0
0
73
0
0
0
0
0
0
0
0
7
-29
4
0
30
1
0
0
8
-34
0
1
0
0
0
0
69
3
0
0
0
0
12
18
0
0
0
0
0
0
0
0
15
1
21
1
-8
-5
-23
0
-10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-5
-23
5
5
-5
1
15
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
0
0
-13
10
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
4
0
0
0
18
0
32
0
0
0
29
5
0
-15
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-26
-16
17
-1
0
0
23
0
8
0
0
1
-1
-26
0
-7
0
0
0
-15
31
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
-30
0
0
-4
0
21
16
3
-13
29
5
0
18
3
-8
0
35
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-49
15
-6
0
0
0
15
4
0
5
-4
12
28
-10
-18
0
30
46
1
0
47
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
2
0
-1
0
0
14
0
-8
-26
-25
-62
-24
21
0
21
12
0
0
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
11
12
2
4
0
0
-4
0
49
0
-10
22
-22
0
0
3
-34
-1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
46
-23
-51
-1
0
1
0
31
18
13
11
-25
11
0
46
-65
25
-12
-78
-8
-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
-18
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
-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
16
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-28
0
-11
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
65
0
1
0
0
0
11
0
-9
23
-17
8
16
14
0
-2
-12
-4
-42
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
145
0
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
45
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-83
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
18
6
-29
0
0
2
8
0
21
12
9
17
-43
-23
0
49
-14
0
5
-29
9
-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
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
37
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-4
0
16
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-58
0
0
2
0
0
-9
0
3
8
-5
-3
32
-12
0
27
3
-14
3
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
17
0
0
0
1
0
0
0
0
0
9
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-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
2
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
21
1
0
-9
1
0
15
0
7
0
-2
3
-53
1
0
3
10
14
1
-16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
49
0
0
-3
0
0
-5
0
1
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-14
31
-4
-8
0
-5
0
4
0
0
10
31
2
0
-52
-24
21
0
-44
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-10
-27
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
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
-41
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
0
0
0
0
0
-5
0
1
0
0
2
10
1
0
21
75
-13
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
1
16
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
25
20
32
19
0
0
0
21
0
34
0
-22
12
-41
9
0
-38
-1
-27
9
65
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
21
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-4
-8
0
0
4
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
-3
0
0
0
-25
0
-5
0
0
-2
-33
1
0
3
6
21
-25
33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-13
0
1
0
-1
0
-4
0
-6
0
0
-1
1
0
0
-32
83
0
0
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
45
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
12
-14
-13
-91
32
0
3
0
13
0
8
5
5
10
0
17
-19
13
39
13
-61
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
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
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
1
-4
0
0
58
0
0
0
0
0
0
0
0
-8
-25
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
1
0
0
0
0
17
0
0
0
0
0
0
0
0
3
21
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
-6
-2
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
9
21
5
18
0
-14
0
0
0
0
0
-13
-1
0
32
23
1
63
-39
-56
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
5
0
0
0
0
0
0
0
0
-28
-11
0
-10
-36
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
22
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
16
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
73
0
0
0
0
0
0
0
0
-2
-31
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
-48
0
6
0
0
0
15
0
0
0
0
0
0
-1
0
19
12
3
8
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-6
44
1
2
0
0
-5
2
0
0
0
0
0
2
-1
0
-3
39
4
-7
5
3
0
0
-2
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
0
0
22
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
-62
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
66
2
-35
17
0
0
-10
-3
0
0
0
0
0
-10
-50
0
-37
23
5
-35
34
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
4
-37
0
-3
0
0
0
11
0
0
0
0
0
1
0
0
-11
-17
-1
19
13
0
6
0
49
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
-43
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-19
0
0
0
0
0
0
0
0
1
5
0
6
-4
0
0
0
-41
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-13
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
14
0
3
0
0
0
-18
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-3
6
0
-7
0
0
0
28
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
23
0
0
0
0
0
0
0
0
2
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
39
3
12
-5
0
0
-12
0
0
0
0
0
26
-5
0
-20
7
-44
-20
33
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
25
1
-13
-8
0
0
13
0
0
0
0
0
0
0
0
5
-11
25
9
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-40
0
0
0
0
0
0
0
0
0
-35
0
0
-7
0
0
0
12
0
0
0
0
0
0
0
0
2
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
39
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
32
-5
-10
-38
53
0
-6
0
0
0
0
0
13
26
0
-29
16
-28
21
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
12
1
0
0
0
0
16
0
0
0
0
0
0
0
0
0
53
0
3
-2
-3
0
0
70
0
0
0
0
0
0
0
0
54
-3
17
-59
0
0
-12
0
0
0
0
0
-9
0
0
45
29
31
-8
-102
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
19
0
0
0
0
0
0
0
0
1
48
2
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-5
0
0
-2
-3
0
35
0
0
0
0
0
1
0
0
20
32
5
4
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
18
0
0
0
0
0
1
0
0
75
-1
0
-3
-41
-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
82
0
0
0
0
0
0
0
0
0
16
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
19
-19
52
10
0
-16
0
0
0
0
0
32
14
0
26
-12
49
12
59
66
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
47
0
0
0
0
0
0
0
0
-4
37
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
-1
8
-3
0
8
8
0
0
0
0
0
0
0
0
0
0
0
16
0
-32
6
0
0
27
0
0
0
0
0
0
0
0
-110
0
49
52
21
2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-4
28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-1
-10
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
66
0
0
0
0
0
0
0
0
7
28
2
-20
-45
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-9
4
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
1
0
0
0
49
3
3
-6
0
0
0
-11
0
0
0
0
0
0
0
0
35
-17
28
33
1
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
1
0
0
0
-24
27
1
26
0
0
-24
23
0
0
0
0
0
2
0
0
57
-16
-4
10
7
19
-8
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
-27
-1
1
3
0
0
0
11
0
0
0
0
0
0
0
0
18
0
0
0
0
0
48
0
0
0
0
0
0
0
0
5
-14
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
2
0
0
0
12
0
0
0
0
0
0
0
0
0
-33
0
1
0
0
0
0
-32
-47
3
12
4
0
0
0
15
-47
-37
-47
0
0
8
-1
0
0
0
0
0
0
-3
0
33
15
7
24
-5
72
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
-18
0
0
-1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
42
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
-33
0
0
0
0
0
0
0
0
0
-19
0
1
14
0
0
0
48
0
0
0
0
0
0
0
17
51
0
-5
0
0
0
-19
0
0
0
0
0
0
0
0
-8
-42
-27
-28
127
0
17
0
99
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
2
-8
0
0
-1
0
0
0
-18
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-22
0
0
1
0
0
0
12
0
0
0
0
0
0
0
0
2
0
0
0
0
0
32
0
0
0
0
0
0
0
0
26
-19
0
-2
1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-51
0
0
0
0
0
0
0
0
-3
-7
0
0
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-24
-38
-40
0
0
12
0
0
0
0
0
-1
8
0
86
-20
9
-84
-17
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-7
0
18
-6
0
0
-1
0
0
0
0
0
0
0
0
49
-13
5
-24
5
0
3
0
19
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
31
0
0
0
0
0
0
0
0
2
-5
0
1
-13
0
0
0
-2
0
0
0
0
0
0
0
0
-9
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
6
-10
-5
2
9
5
0
0
-2
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-10
0
0
0
0
0
0
0
0
-14
-31
-2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-41
15
-16
64
25
0
2
0
0
0
0
0
14
-44
0
15
10
-30
-31
14
-87
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
-45
2
0
1
0
0
16
0
0
0
0
0
0
0
0
-31
5
-3
-1
-32
-26
0
0
0
0
0
0
0
0
0
0
0
19
44
-34
-22
-16
0
-6
0
0
0
0
0
41
0
0
-27
0
2
-26
17
19
-40
0
-60
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
18
0
0
0
0
0
0
0
0
25
0
0
0
28
2
0
0
-3
0
0
0
0
0
0
0
0
14
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
-52
0
0
2
3
0
0
-5
0
0
0
0
0
0
0
0
-49
16
-8
-5
0
0
44
0
0
0
0
0
9
0
0
-19
-32
-18
-7
0
-3
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
4
0
0
9
0
0
0
0
0
0
0
0
5
12
0
0
9
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-19
0
8
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
14
0
0
0
0
0
0
0
0
-46
-8
5
26
-32
-8
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
1
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-2
-26
0
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-34
7
-54
7
0
2
0
0
0
0
0
-4
-14
0
-4
1
-57
29
34
-33
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-31
0
0
0
0
0
0
0
0
-48
1
0
-17
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
0
0
-13
0
0
0
0
0
0
0
0
-32
-11
0
67
1
22
2
0
0
0
0
0
0
0
0
0
0
21
-2
0
-27
3
0
9
0
0
0
0
0
1
1
0
7
0
31
37
-3
10
-54
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
47
0
0
0
0
0
0
0
0
-4
-38
0
-44
-1
1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
-16
0
0
0
0
0
0
0
0
-22
-5
5
23
-20
0
1
0
0
0
0
0
0
0
0
0
0
31
0
2
0
0
0
-37
0
0
0
0
0
0
0
0
14
-24
-7
22
-9
78
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
29
26
-1
-50
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
-1
12
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
-8
0
0
0
0
28
53
2
4
0
0
2
-10
0
0
0
0
0
0
-3
0
-13
-26
93
70
-30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-4
4
20
2
0
0
0
-16
14
0
-5
0
0
0
21
0
0
0
0
0
-2
-1
0
95
34
61
54
56
-23
-13
0
57
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
13
-10
0
15
4
-1
0
0
-42
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-111
-64
-8
-8
-24
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
-6
4
0
-6
-4
0
0
0
-7
7
12
-93
3
0
0
0
-39
28
17
9
0
0
-64
1
0
0
0
0
0
-66
-9
0
-23
-9
-44
21
6
29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
39
-8
0
-13
-1
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
3
0
1
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
8
3
0
-1
0
0
0
0
5
1
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
-15
15
-3
29
-88
0
-8
0
1
18
-67
28
-5
0
0
0
-47
-49
-2
2
0
0
-10
19
0
0
0
0
0
-5
0
0
58
-28
-19
5
-77
-1
25
0
25
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-72
-5
0
-19
41
-2
0
0
-3
17
4
-5
0
0
0
0
10
-21
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-72
1
13
0
-34
-6
0
0
31
8
3
-8
0
0
0
0
31
10
0
0
0
0
-7
-19
0
0
0
0
0
0
0
0
-37
-33
12
83
-11
-23
1
0
-37
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-93
0
0
0
0
0
0
0
0
-19
51
1
30
7
0
-3
0
18
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-9
-2
-1
-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
-16
45
5
-30
-2
0
-6
0
0
0
0
0
22
17
0
5
-8
-42
9
12
37
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
-34
0
0
0
0
0
0
0
0
-27
22
2
-5
-74
17
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
2
7
0
2
9
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
3
-31
0
1
-23
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-39
24
1
9
74
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
4
-3
0
0
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
-9
0
0
0
0
0
0
0
0
-12
18
22
-6
-4
0
-2
0
0
0
0
0
7
-10
0
0
-8
32
-12
18
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-2
66
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
37
8
-1
75
-17
0
48
0
0
0
0
0
0
0
0
22
20
-30
62
3
49
15
0
-14
0
0
0
0
0
0
0
0
-20
2
49
-32
25
0
-4
0
0
0
0
0
-4
-43
0
15
-4
7
-7
12
-39
54
0
24
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
29
0
0
0
0
0
6
0
0
59
-23
-5
13
8
-3
0
0
37
0
0
0
0
0
0
0
0
0
-5
4
9
-1
0
-3
0
0
0
0
0
-1
0
0
26
-18
71
39
13
4
8
0
11
0
0
0
0
0
0
0
0
-9
-1
0
-9
-2
0
23
0
0
0
0
0
0
0
0
-2
-1
30
26
-41
18
49
0
47
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
-12
0
0
0
0
0
0
0
0
-12
-8
6
1
5
0
2
0
-16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-9
28
0
-2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
1
0
0
1
0
0
0
0
0
-5
-2
0
-31
7
-8
-46
-12
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-11
1
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
13
0
12
42
0
-7
0
0
0
0
0
-9
5
0
2
10
-9
-40
-4
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
-11
9
5
30
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-2
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
17
0
0
11
0
0
0
0
0
-1
0
0
11
12
0
-34
25
-38
54
0
0
0
0
0
0
0
0
0
0
-19
-7
0
76
-29
0
2
0
0
0
0
0
18
0
0
11
0
33
70
8
-11
32
0
0
0
0
0
0
0
0
0
0
-22
0
0
8
0
0
21
0
0
0
0
0
0
0
0
9
9
0
45
22
42
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
-34
0
0
0
0
0
0
0
0
57
25
5
15
61
9
-24
0
0
0
0
0
0
0
0
0
0
-60
4
0
58
-1
0
-4
0
0
0
0
0
23
5
0
10
8
50
70
5
37
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
-39
0
0
0
0
0
0
0
0
-32
-17
-8
28
7
14
37
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
44
0
0
0
0
0
0
0
0
-26
28
0
0
21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
14
-19
-38
0
0
0
18
-66
-13
0
0
0
-15
-1
0
0
0
0
0
-16
-1
0
-18
43
-80
8
8
38
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
3
5
-12
2
0
0
0
21
-7
0
0
0
0
3
-14
0
0
0
0
0
0
0
0
-59
-8
-49
13
-66
-27
-38
0
76
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
23
0
-10
-16
1
25
0
-16
-1
0
0
0
0
0
0
0
2
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-20
24
-20
9
4
-42
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
-3
0
-37
-7
3
0
-1
45
25
50
30
0
0
0
29
-49
31
0
0
0
12
-4
0
0
0
0
0
57
37
0
0
-15
38
-24
10
24
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-3
-2
18
0
13
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-15
0
1
8
14
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
2
34
-7
0
0
0
9
24
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
47
47
25
48
20
27
26
0
-11
-40
37
-58
54
0
0
0
55
7
-5
0
0
0
31
0
0
0
0
0
0
21
-21
0
-5
36
-3
10
-6
27
-47
0
-17
0
0
1
0
0
0
0
2
7
0
0
0
0
-1
-9
0
0
0
0
0
5
0
0
37
47
-7
-23
-17
22
-17
0
-40
1
0
0
1
0
0
0
-1
4
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
30
-9
-4
9
14
-1
31
0
-1
-6
22
84
2
0
0
0
-26
21
0
0
0
0
18
10
0
0
0
0
0
0
1
0
19
-3
-7
-17
12
14
8
0
-10
0
0
-3
0
0
0
0
2
64
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
27
24
8
32
35
1
37
0
-2
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
13
3
6
4
47
6
-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
-67
-75
0
46
-25
0
-7
0
0
0
0
0
0
-60
0
14
61
30
8
-4
-41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-5
-78
-68
-29
2
7
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-26
1
-1
2
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-2
0
0
84
41
7
-3
-24
-45
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
0
0
5
-7
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
32
0
65
15
0
-5
0
0
0
0
0
-6
6
0
5
16
16
-4
13
40
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
25
2
-5
0
-42
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
49
10
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
-31
0
-18
54
0
5
0
0
0
0
0
7
6
0
14
51
17
18
21
-26
4
0
68
0
0
0
0
0
0
0
0
-27
-5
0
86
0
0
11
0
0
0
0
0
-20
0
0
5
15
4
23
65
-7
3
0
65
0
0
0
0
0
0
0
0
6
0
0
33
0
0
15
0
0
0
0
0
5
-1
0
6
127
37
-47
-24
-46
-9
0
-31
0
0
0
0
0
0
0
0
-14
0
0
3
0
0
-28
0
0
0
0
0
0
0
0
-44
32
-35
-8
-76
-13
0
0
-40
0
0
0
0
0
0
0
0
16
-13
0
85
-13
0
0
0
0
0
0
0
-2
4
0
-2
44
50
22
-1
-10
-29
0
16
0
0
0
0
0
0
0
0
8
0
0
22
0
0
-14
0
0
0
0
0
0
0
0
4
19
30
36
-8
-3
-42
0
37
0
0
0
0
0
0
0
0
4
0
0
-8
0
0
23
0
0
0
0
0
0
0
0
-55
8
-48
8
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
47
-17
15
-1
65
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
4
0
-7
-52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-6
-23
0
-4
-47
3
-14
3
14
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
8
0
21
25
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-6
0
0
0
0
0
0
0
0
9
5
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
-4
0
7
0
0
0
0
0
0
0
0
6
4
23
20
-27
-23
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-47
0
-8
0
0
0
0
0
30
-6
0
27
0
-11
6
23
-35
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-52
0
-16
0
0
0
0
0
0
0
0
-10
-9
27
-12
36
5
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
37
0
8
0
0
0
0
0
-2
0
0
-28
-43
-7
-3
-8
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
22
14
0
6
0
0
0
0
0
65
8
0
-2
9
-74
3
98
-33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
6
0
0
0
0
0
0
0
0
7
-16
48
26
-65
-1
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-56
0
0
0
0
0
0
0
0
5
0
1
-4
-24
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
15
7
62
0
0
0
-108
0
0
0
0
0
-24
-13
0
0
0
0
0
-10
2
0
-32
-94
-49
10
86
46
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-3
-23
0
0
0
0
0
-2
0
0
0
0
0
4
-56
0
0
0
0
0
0
0
0
-91
-45
-35
-77
-63
-7
-40
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
-49
0
-57
-97
-24
0
0
0
16
2
0
1
0
0
0
0
0
0
0
0
0
0
8
25
0
0
0
0
0
0
0
0
64
18
68
13
24
-70
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
8
0
1
5
0
0
0
0
-7
23
10
45
-13
0
0
0
-61
0
0
0
0
0
46
0
0
0
0
0
0
24
7
0
-6
-38
-1
-1
-25
-27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-25
-7
-22
-6
17
0
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
3
-2
8
-68
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
70
-4
-33
0
0
0
0
19
0
0
0
0
0
-27
13
0
0
0
0
0
0
1
0
8
-17
8
-6
-13
-38
45
0
9
-6
-32
-26
-42
0
0
0
-101
0
0
0
0
0
-14
-3
0
0
0
0
0
-4
51
0
7
-6
15
13
10
-13
-5
0
-45
-31
-18
0
1
0
0
0
-34
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
40
-16
41
38
16
21
43
0
50
-87
-19
-41
0
0
0
0
-32
0
0
0
0
0
-21
4
0
0
0
0
0
5
22
0
50
11
7
-13
-5
34
12
0
-2
-27
-78
-57
-32
0
0
0
-27
0
0
0
0
0
-47
-12
0
0
0
0
0
-9
1
0
-23
54
7
2
-17
-4
-22
0
-134
-12
-2
-8
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
56
-31
11
-54
-40
0
-46
0
8
1
0
0
0
0
0
0
12
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
-27
10
-17
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
0
-36
0
0
0
0
0
3
0
0
5
36
28
-2
37
49
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
28
0
-11
-35
14
3
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
-1
0
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
-1
0
0
0
0
0
-50
42
0
-7
-12
-19
-6
23
-34
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
7
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
-9
0
0
0
0
0
0
0
0
6
-81
82
13
27
42
11
0
-58
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
37
0
0
0
0
0
0
0
0
36
22
-20
41
52
21
38
0
33
0
0
0
0
0
0
0
0
0
0
0
-41
-32
0
-15
0
0
0
0
0
6
0
0
27
-25
-10
35
21
39
21
0
-6
0
0
0
0
0
0
0
0
0
0
0
-3
30
0
1
0
0
0
0
0
-6
3
0
4
47
-39
10
63
21
-9
0
19
0
0
0
0
0
0
0
0
0
0
0
-15
-6
0
-16
0
0
0
0
0
0
0
0
-9
22
41
-28
6
-13
31
0
17
0
0
0
0
0
0
0
0
0
0
0
5
0
0
19
0
0
0
0
0
0
0
0
0
4
0
27
29
0
22
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
119
-2
18
-53
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-22
0
16
2
0
0
-2
0
0
8
-31
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-1
-4
0
0
-2
0
0
0
0
0
0
0
0
-3
50
7
1
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
48
30
-12
-40
-62
0
-25
0
3
33
0
-25
29
25
0
-8
-16
2
-13
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
4
-1
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
5
6
28
-7
0
0
0
0
5
0
0
0
0
0
0
0
0
23
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
1
-6
2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-11
0
0
0
0
0
0
0
0
0
-74
32
-2
2
3
0
0
31
0
0
0
0
0
0
0
0
66
0
-8
33
-2
0
1
0
0
0
0
0
-1
1
0
60
0
-32
20
76
37
22
0
2
0
0
0
0
0
0
0
0
10
0
0
-33
-19
0
1
0
0
0
0
0
0
0
0
31
12
-41
13
-5
19
8
0
44
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
37
0
0
0
0
0
0
0
0
3
-20
6
0
0
-3
0
0
30
0
0
0
0
0
0
0
0
2
0
0
-4
-1
0
-14
0
0
0
0
0
0
0
0
-18
-18
-28
16
-9
-4
19
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
-2
0
8
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-16
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-85
16
-71
-25
0
0
0
13
-25
66
-23
0
0
-12
-5
0
25
-10
-37
15
-102
13
0
27
14
39
5
11
23
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-9
0
0
0
-69
0
1
0
0
0
0
0
0
0
-120
-92
-8
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
1
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-42
-1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
17
44
0
19
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
13
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-17
43
-1
0
-1
0
23
4
-2
-5
-13
6
0
-15
-11
-34
-35
47
-33
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
4
0
0
0
0
-38
0
2
0
0
0
7
0
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
0
0
0
0
0
0
0
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
23
0
0
0
0
0
0
0
0
0
12
13
0
12
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
-46
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
-54
44
12
-54
5
0
-5
0
0
0
0
0
5
7
0
-32
34
-22
-42
-17
43
-5
0
0
0
0
0
0
0
0
0
0
22
26
-49
-3
-2
0
28
0
0
0
0
0
-13
-3
0
66
58
-35
56
-27
24
0
0
0
0
0
0
0
0
0
0
0
49
0
0
8
0
0
52
0
0
0
0
0
0
0
0
-4
-51
13
5
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-20
5
3
22
7
0
3
0
0
0
0
0
0
0
0
7
12
-13
4
22
-27
-7
0
0
0
0
0
0
0
0
0
0
-14
-25
-53
1
-13
0
0
0
0
0
0
0
8
0
0
3
20
-7
45
-42
-52
-17
0
0
0
0
0
0
0
0
0
0
49
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
-2
-32
-2
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
26
-19
-4
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
15
0
-8
-14
3
-1
1
-1
0
30
-4
0
0
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
1
1
0
-3
0
0
0
0
0
-4
0
0
12
-5
-2
49
80
-47
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-12
15
0
-55
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-23
-8
-39
55
56
0
6
0
-1
-13
3
5
20
12
0
-19
4
55
-13
55
51
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
-14
0
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
58
0
0
0
0
0
0
0
0
3
22
1
-6
-100
0
-2
0
41
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-34
0
-3
0
0
0
0
0
0
0
30
0
39
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-12
0
0
-48
0
0
12
0
0
0
0
0
0
0
0
9
50
-2
29
-9
-28
-4
0
37
0
0
0
0
0
0
0
0
-45
-5
2
-48
-34
0
-17
0
0
0
0
0
-13
1
0
-48
0
70
0
28
-50
-27
0
-14
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
-52
0
0
0
0
0
0
0
0
-12
54
2
-6
10
13
16
0
63
0
0
0
0
0
0
0
0
4
0
0
3
-7
0
-72
0
0
0
0
0
0
0
0
33
-13
5
-37
17
-17
-3
0
-34
0
0
0
0
0
0
0
0
9
5
0
76
-13
0
-7
0
0
0
0
0
9
0
0
13
41
-9
20
22
-9
3
0
62
0
0
0
0
0
0
0
0
2
0
0
1
0
0
51
0
0
0
0
0
0
0
0
21
-51
-3
22
-41
0
20
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-5
27
0
5
-9
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
3
0
0
0
0
21
9
0
-24
6
29
-8
-5
1
0
-10
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
14
-8
-31
5
0
0
0
-52
13
4
31
0
0
-28
-11
0
0
0
0
0
-21
-1
0
-88
37
-34
10
-65
-93
-70
0
-15
-3
0
0
0
0
0
0
2
39
-1
4
0
0
0
-18
0
-3
0
0
0
0
0
0
-72
-30
-19
10
-98
2
-1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
37
0
0
0
0
0
0
0
0
5
37
71
-8
-3
-92
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-15
32
9
1
1
0
0
0
-8
-67
11
27
-68
0
0
0
21
43
2
-23
0
0
-36
5
0
37
-23
-5
10
-69
43
0
-3
-6
-3
30
21
27
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-13
-2
1
28
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
53
0
0
0
0
0
0
0
-8
-9
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
76
20
-22
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
63
0
-1
0
0
0
0
0
0
-1
49
-41
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
5
-8
0
0
0
0
2
8
0
0
0
0
6
5
0
0
0
0
0
0
2
0
10
31
11
70
19
-7
45
0
-19
-51
35
41
23
0
0
0
-67
17
-7
-10
0
0
19
-5
0
0
0
0
0
9
19
0
20
-6
-7
-2
42
-29
42
0
-6
-19
-5
2
-2
0
0
0
-8
9
0
0
0
0
5
31
0
0
0
0
0
5
0
0
18
-8
25
11
11
-22
11
0
45
-33
-30
2
0
0
0
0
-101
0
0
0
0
0
52
-11
0
0
0
0
0
1
0
0
-110
-6
8
0
10
16
56
0
-5
57
-84
27
1
0
0
0
-49
-6
0
0
0
0
-52
-3
0
0
0
0
0
-4
-1
0
-16
-29
8
-49
16
66
-38
0
22
-1
5
-4
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
27
67
7
-3
-4
0
-16
0
16
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-14
-34
-7
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
28
2
1
0
-18
0
1
0
0
0
-2
0
0
-14
19
-5
-4
57
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
22
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
11
-3
0
0
-1
0
-26
0
0
0
0
0
0
0
0
1
-4
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
0
0
0
-43
0
0
0
0
0
0
0
0
25
66
0
-87
58
34
-6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
-34
0
21
-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
71
0
44
12
-25
0
1
0
0
0
23
-18
-28
12
0
3
0
-33
-4
-47
10
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
-2
-2
0
0
16
0
0
0
0
0
0
0
0
8
-5
0
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
-48
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-14
3
-73
0
-17
0
0
0
0
0
47
-25
0
90
-8
-50
21
13
81
-11
0
0
0
0
0
0
0
0
0
0
4
7
-5
50
9
0
44
0
0
0
0
0
6
-4
0
9
22
112
49
119
-2
32
0
0
0
0
0
0
0
0
0
0
-11
0
1
-7
0
0
33
0
0
0
0
0
0
0
0
-14
-14
-7
21
63
14
-8
0
0
0
0
0
0
0
0
0
0
-3
0
5
-2
0
0
-29
0
0
0
0
0
0
0
0
-27
3
-3
43
-93
28
31
0
0
0
0
0
0
0
0
0
0
10
31
-34
63
19
0
-24
0
0
0
0
0
-30
4
0
7
11
30
-4
60
8
-80
0
0
0
0
0
0
0
0
0
0
-2
0
0
-37
0
0
-16
0
0
0
0
0
0
0
0
-72
6
-8
31
55
-7
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
-23
0
0
0
0
0
0
0
0
-37
-31
10
47
23
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
6
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
2
0
0
0
14
0
0
0
0
0
0
0
0
13
9
-1
-52
-18
-22
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
7
14
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-35
-14
0
71
-20
0
4
0
5
0
11
22
-32
-58
0
1
-27
19
-12
9
-34
-102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
68
0
0
0
0
0
0
0
0
20
9
0
-9
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
-2
0
0
1
0
0
0
-53
0
0
0
0
0
0
0
0
-3
0
0
-21
0
0
72
0
0
0
0
0
0
0
0
-26
-23
-2
8
70
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
75
0
0
0
0
0
0
0
0
-12
-17
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-1
0
0
20
-15
0
37
0
0
0
0
0
0
0
0
-41
16
-4
-22
50
53
-3
0
73
0
0
0
0
0
0
0
0
-5
0
-4
-1
-51
0
-1
0
0
0
0
0
20
-3
0
23
0
58
5
-17
-23
-48
0
34
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-22
0
0
0
0
0
0
0
0
46
-30
-2
41
4
1
-1
0
-74
0
0
0
0
0
0
0
0
2
0
0
-18
-35
0
9
0
0
0
0
0
-5
0
0
25
4
-9
-13
33
-13
-14
0
-12
0
0
0
0
0
0
0
0
-16
0
0
-73
80
0
6
0
0
0
0
0
6
0
0
46
-102
20
-15
-41
44
31
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
14
58
0
-41
31
-2
-31
0
36
0
0
0
0
0
0
0
0
0
0
0
4
0
0
30
0
0
0
0
0
0
0
0
5
1
0
0
41
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
-1
0
0
0
28
0
-5
1
0
4
0
0
0
-6
-19
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-6
4
-8
0
0
0
13
4
-7
1
0
0
58
-7
0
-1
0
0
0
0
-2
0
5
-56
44
-55
24
-29
-4
0
22
0
0
0
0
0
0
0
0
3
0
0
0
0
0
71
0
0
0
0
0
0
0
0
7
20
-1
-12
38
2
8
0
0
0
-2
0
-4
0
0
0
0
-30
0
1
0
0
0
2
0
0
0
0
0
0
0
0
47
-61
42
-31
7
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-8
20
-1
39
-31
-7
0
0
-6
48
73
-22
41
0
0
0
28
-8
-11
18
0
0
-49
4
0
8
31
-2
14
43
-23
0
-10
-1
4
13
36
-27
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
0
3
0
0
0
-23
0
0
0
0
0
0
0
0
0
-1
0
-15
-37
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
14
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-41
-7
0
0
0
0
0
0
3
0
0
4
0
0
0
45
0
0
0
0
0
0
0
0
17
-6
0
3
-12
0
-8
0
44
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
17
13
0
-13
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-68
-24
-46
5
0
0
0
-100
-1
0
1
0
0
-47
-9
0
0
0
0
0
0
-9
0
-33
-1
-11
20
-24
21
-10
0
7
12
-8
-7
1
0
0
0
-70
-40
-1
-12
0
0
73
1
0
0
0
0
0
10
-23
0
19
-10
27
16
7
-10
39
0
30
4
0
0
1
0
0
0
-25
1
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-21
-49
-1
16
-15
24
20
0
-69
21
5
0
1
0
0
0
15
25
0
0
0
0
1
-19
0
0
0
0
0
0
0
0
20
-86
8
-45
-78
-9
-15
0
-19
-79
-18
-14
-22
0
0
0
44
42
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
-2
-7
-8
-11
15
52
58
0
-9
-6
0
0
0
0
0
0
-3
56
0
2
0
0
0
53
0
0
0
0
0
0
0
0
53
2
-1
22
63
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
3
-12
0
-22
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
-7
8
0
0
37
0
-2
0
0
0
0
0
0
-24
-86
0
26
-27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
-11
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
1
-13
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
14
0
-1
0
0
0
0
0
0
-50
45
0
-8
-3
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
0
0
-39
-12
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
15
0
-24
87
0
-2
0
-50
0
-7
10
-46
10
0
24
-19
-95
1
-12
84
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-3
-39
0
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-5
-1
40
28
0
7
0
0
0
0
0
1
4
0
-29
-28
71
-7
29
36
89
0
0
0
0
0
0
0
0
0
0
59
-1
5
-28
14
0
22
0
0
0
0
0
25
-4
0
3
-23
44
-30
-67
-51
31
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-7
0
0
41
0
0
0
0
0
0
0
0
73
43
0
30
-79
-20
1
0
0
0
0
0
0
0
0
0
0
-46
-1
0
-4
0
0
35
0
0
0
0
0
0
0
0
26
5
-5
24
49
3
29
0
0
0
0
0
0
0
0
0
0
-25
0
27
-66
18
0
35
0
0
0
0
0
-10
0
0
56
35
63
-1
39
55
-18
0
0
0
0
0
0
0
0
0
0
-8
0
0
6
0
0
-70
0
0
0
0
0
0
0
0
42
-1
25
-28
49
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-7
0
0
-4
0
0
0
0
0
0
0
0
22
33
1
-34
38
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
10
0
-5
0
0
0
0
0
0
0
19
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
4
0
0
-17
0
0
0
0
0
1
0
0
10
-93
2
-12
28
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
5
5
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-15
-16
54
-23
36
0
8
0
4
0
0
0
-38
-4
0
-4
-2
-10
-23
12
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
-4
7
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
3
0
0
0
0
0
12
0
0
0
0
0
0
0
0
23
49
0
0
17
1
-1
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
30
-33
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
6
0
-1
-30
-33
0
-13
0
0
0
0
0
-1
0
0
33
-67
-17
16
-10
-52
-4
0
-21
0
0
0
0
0
0
0
0
12
0
3
23
-4
0
-5
0
0
0
0
0
42
0
0
-19
0
-20
23
32
16
55
0
19
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-70
0
0
0
0
0
0
0
0
7
68
0
0
8
0
0
0
-8
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
27
0
0
0
0
0
0
0
0
9
-27
0
3
25
35
4
0
11
0
0
0
0
0
0
0
0
24
0
0
-5
-5
0
2
0
0
0
0
0
7
0
0
-69
36
-7
43
16
2
7
0
-53
0
0
0
0
0
0
0
0
-4
0
0
-5
0
0
-31
0
0
0
0
0
0
0
0
-26
18
0
-9
30
5
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
26
-5
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
-12
0
35
0
0
0
0
0
0
3
29
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
-20
1
-8
12
0
0
0
41
40
0
-14
0
0
-4
-6
0
0
0
0
0
1
0
0
62
-24
41
-25
27
35
23
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
40
-23
0
9
-1
0
8
0
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
1
-26
0
0
0
0
0
0
0
0
-29
-5
-1
-3
-24
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
-5
0
-4
1
0
3
0
-6
32
-49
1
64
0
0
0
11
-3
24
1
0
0
-24
5
0
-24
0
-11
-13
9
-43
0
47
4
-32
21
-18
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
57
0
0
0
0
0
0
0
0
-1
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
32
0
0
0
0
0
0
0
0
4
3
1
-9
55
0
0
0
22
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-4
44
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
2
18
-6
0
0
0
5
-9
0
0
0
0
-18
7
0
0
0
0
0
0
9
0
5
-16
68
39
-10
31
-37
0
14
-26
-50
7
-62
0
0
0
34
-7
6
3
0
0
-11
2
0
0
0
0
0
-20
-21
0
9
-2
-19
-26
-42
43
-50
0
17
2
0
0
0
0
0
0
2
-2
0
0
0
0
0
14
0
0
0
0
0
0
0
0
2
17
-3
-29
14
-2
-4
0
3
-7
0
-21
0
0
0
0
20
-5
0
0
0
0
-49
13
0
0
0
0
0
0
-3
0
26
-28
25
66
-6
-10
9
0
9
39
6
-22
-4
0
0
0
-80
-43
0
-1
0
0
7
-32
0
0
0
0
0
0
0
0
-11
41
58
15
-23
-55
-7
0
-44
0
0
0
0
0
0
0
5
8
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-43
-46
8
22
-13
1
-20
0
-5
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
29
66
0
3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-6
0
0
36
0
0
0
0
0
0
0
0
1
41
0
3
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
-1
22
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
45
-37
1
0
-15
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
27
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-23
57
-95
0
-6
0
19
0
0
0
24
37
0
-14
-10
62
-5
15
-136
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
1
2
-48
20
0
19
0
0
0
0
0
0
0
0
16
-56
-42
30
29
14
-17
0
0
0
0
0
0
0
0
0
0
92
0
15
-34
-17
0
-5
0
0
0
0
0
14
0
0
76
-31
-9
-20
23
-5
-8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
12
30
0
-1
-32
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-96
0
0
0
0
0
0
0
0
12
-4
0
0
41
1
0
0
0
0
0
0
0
0
0
0
0
6
3
-2
-25
0
0
7
0
0
0
0
0
0
0
0
23
8
27
-67
42
-68
31
0
0
0
0
0
0
0
0
0
0
-16
0
0
-2
0
0
31
0
0
0
0
0
0
0
0
4
-5
3
-5
13
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-24
-14
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
51
0
0
0
0
0
0
0
0
-34
-16
0
-5
-36
-8
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
8
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
22
0
-13
-50
-49
0
9
0
-2
0
0
0
-11
0
0
16
-9
8
-6
-19
20
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-16
-43
0
0
-2
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
-2
0
0
-15
0
0
-14
0
0
0
0
0
0
0
0
-27
45
16
-32
-30
8
27
0
-31
0
0
0
0
0
0
0
0
40
0
0
-37
8
0
12
0
0
0
0
0
3
0
0
32
0
39
-30
38
-9
17
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
9
-26
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-61
0
0
0
0
0
0
0
0
9
25
0
1
9
0
-2
0
5
0
0
0
0
0
0
0
0
4
0
0
-8
0
0
11
0
0
0
0
0
0
0
0
-3
34
5
-16
4
1
-15
0
31
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
17
5
0
18
9
3
4
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
2
1
1
0
0
0
0
1
34
0
-3
0
0
-1
4
0
0
0
0
0
0
0
0
-12
-35
-3
-4
74
0
-1
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-5
7
0
0
-1
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
6
-27
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-124
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
-1
-2
0
0
-3
0
0
0
-11
-39
-39
88
-31
0
0
0
-38
-38
6
-4
0
0
21
8
0
17
0
0
0
-8
-30
0
-14
-20
-26
13
-47
52
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-25
31
0
0
1
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-2
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
9
0
-4
0
0
0
0
-4
0
0
1
0
0
4
-5
0
0
0
0
0
0
0
0
-8
-11
-28
-43
26
-3
1
0
-36
-27
-66
-26
1
0
0
0
47
-7
-1
0
0
0
-86
13
0
0
0
0
0
0
34
0
24
-11
31
-34
21
-41
-9
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
6
45
0
0
5
3
0
0
-19
-1
0
0
0
0
0
0
1
-2
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
4
33
5
0
47
1
0
0
22
-24
0
-5
0
0
0
0
63
1
0
0
0
0
12
15
0
0
0
0
0
0
0
0
40
-5
7
-41
53
-15
-20
0
-102
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-17
-15
5
4
-5
1
17
0
109
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-9
10
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
4
0
0
0
-45
0
-13
0
0
0
1
1
0
24
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-25
-11
-3
-1
0
0
-38
0
-25
0
0
1
-2
-14
0
17
0
0
0
31
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
4
0
-41
0
0
-18
0
30
-33
14
45
-23
-37
0
57
5
1
0
43
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-37
14
-4
0
0
0
0
-28
0
4
20
4
0
9
-2
0
41
103
17
0
-13
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
-1
0
0
-21
0
50
-20
11
-27
-7
6
0
-14
-5
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
21
12
2
-15
0
0
-16
0
1
23
61
-35
-31
25
0
33
-17
-1
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
37
-24
-71
-1
0
-18
0
35
9
30
-9
-26
2
0
1
-45
-5
39
1
1
-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
13
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-60
0
16
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
51
0
0
0
0
0
-4
0
2
12
-15
13
9
-1
0
57
2
-4
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
60
0
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
11
0
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-27
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
10
10
5
-8
0
0
8
9
0
27
2
-6
26
-59
-53
0
-15
38
0
44
37
-7
-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
-8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
47
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
1
0
10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-4
0
0
-11
0
-8
29
28
-19
42
-7
0
5
-5
3
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
8
0
10
0
1
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
11
1
-52
-55
-27
0
6
0
9
5
-56
44
-3
-5
0
-18
27
10
1
-31
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
63
0
0
-3
0
0
13
0
5
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-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
-1
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-31
40
1
-9
0
-11
0
-32
0
0
-8
22
2
0
10
-14
25
8
-10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
18
0
0
0
0
0
0
0
0
12
-13
0
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
-7
0
2
0
0
2
-5
1
0
45
82
-16
-1
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
-83
0
0
0
0
0
0
0
0
1
20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
39
34
17
0
0
-23
-3
0
18
0
-4
1
1
-8
0
-10
-77
-1
-14
28
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
40
0
0
0
0
0
61
0
0
0
0
0
0
0
0
-4
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
16
13
0
0
-10
0
-6
0
0
14
-32
2
0
24
-63
-25
-21
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
-5
-15
-1
0
3
0
5
0
0
-1
2
0
0
-21
60
0
0
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
40
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
-24
-21
-32
-46
44
0
1
0
-13
0
-20
-24
-22
5
0
33
-12
66
28
83
-86
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
1
-4
0
0
25
0
0
0
0
0
0
0
0
-7
37
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-52
1
0
0
0
0
-23
0
0
0
0
0
0
0
0
3
10
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
-20
-2
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-2
3
11
-5
0
-17
0
0
0
0
0
34
-13
0
-1
-20
-22
53
-17
-23
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
-12
0
0
0
0
0
0
0
0
-17
16
0
-8
-27
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-3
14
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
21
22
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
-28
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
-2
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-46
0
5
0
0
0
27
0
0
0
0
0
0
-1
0
47
19
-32
-18
-31
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
0
0
0
0
0
0
0
5
16
1
-1
0
0
1
-3
0
0
0
0
0
2
-1
0
-22
12
-17
2
13
3
0
0
-7
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-23
0
0
0
0
0
0
0
0
0
-13
0
2
0
0
0
0
30
0
0
0
0
0
0
0
0
-37
0
-1
0
0
0
-52
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-2
0
0
0
0
0
0
34
9
12
-41
0
0
-24
1
0
0
0
0
0
-14
-18
0
-66
7
36
23
-8
-32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
4
5
0
3
0
0
0
-11
0
0
0
0
0
1
0
0
-9
46
-1
10
-7
0
6
0
-8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
-36
0
0
0
0
0
0
0
0
-6
0
2
0
0
0
53
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-39
0
0
0
0
0
0
0
0
1
29
0
6
-4
0
0
0
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
6
0
3
0
0
0
-26
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
42
0
0
0
0
0
0
0
-3
8
0
-7
0
0
0
11
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
4
9
-2
0
0
31
0
0
0
0
0
22
-5
0
-4
-17
-3
-63
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
0
0
0
0
0
0
0
0
28
1
4
-18
0
0
-14
0
0
0
0
0
-1
0
0
5
22
35
31
-39
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-26
0
0
0
0
0
0
0
0
0
-41
0
0
-7
0
0
0
28
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
1
1
0
1
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-17
-19
5
-24
118
0
-18
0
0
0
0
0
30
51
0
-46
26
18
39
-6
-6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
19
1
0
0
0
0
23
0
0
0
0
0
0
0
0
0
19
0
3
-2
-3
0
0
74
0
0
0
0
0
0
0
0
27
25
-1
-55
0
0
22
0
0
0
0
0
-9
0
0
-17
-56
45
-34
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
41
0
0
0
0
0
0
0
0
1
7
2
0
0
0
0
0
24
0
0
0
0
0
0
0
0
9
0
0
-2
-3
0
9
0
0
0
0
0
1
0
0
24
64
5
5
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-16
0
0
0
0
0
1
0
0
78
25
0
-3
-59
-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
78
0
0
0
0
0
0
0
0
0
37
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-105
-13
-24
48
5
0
-1
0
0
0
0
0
-8
8
0
-10
-7
27
11
25
66
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-2
8
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
-10
-3
0
9
8
0
0
0
0
0
0
0
0
0
0
0
20
0
-31
1
0
0
9
0
0
0
0
0
0
0
0
-103
0
-8
45
81
-3
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-4
31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
-2
19
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
9
65
2
-22
-42
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-9
-16
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
1
0
0
0
34
16
5
-5
0
0
0
3
0
0
0
0
0
0
0
0
-1
-6
38
5
5
-30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
1
0
0
0
1
32
1
23
0
0
-49
28
0
0
0
0
0
2
0
0
47
-39
-31
6
5
21
-6
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
-34
-1
1
3
0
0
0
35
0
0
0
0
0
0
0
0
19
0
0
0
0
0
54
0
0
0
0
0
0
0
0
5
-75
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
2
0
0
0
15
0
0
0
0
0
0
0
0
0
-37
0
1
0
0
0
0
-22
-13
3
42
8
0
0
0
27
-53
-57
-6
0
0
-4
7
0
0
0
0
0
40
-10
0
-41
0
37
16
-7
4
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-15
0
0
3
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
-79
0
0
0
0
0
0
0
0
-1
58
0
1
-4
0
0
0
50
0
0
0
0
0
0
0
39
44
0
-13
0
0
0
-6
0
0
0
0
0
0
0
0
2
-4
-50
-31
43
0
13
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
2
30
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
-19
0
0
6
0
0
0
38
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
15
-21
0
-2
20
0
0
0
13
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-49
0
0
0
0
0
0
0
0
-3
-37
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-5
-68
-66
0
0
2
0
0
0
0
0
-1
7
0
-10
-11
-24
-63
15
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
12
0
14
-5
0
0
-43
0
0
0
0
0
0
0
0
5
-24
8
-25
20
1
3
0
19
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
15
0
1
-13
0
0
0
5
0
0
0
0
0
0
0
0
-14
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
5
74
-5
2
19
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
28
0
0
0
0
0
0
0
0
-8
-47
-2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
27
-29
18
38
8
0
0
0
0
0
0
0
33
-59
0
13
-1
-63
-48
16
13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-36
2
-1
2
0
0
1
0
0
0
0
0
0
0
0
-39
-2
-7
-1
30
-30
0
0
-28
0
0
0
0
0
0
0
0
0
33
-58
12
-9
0
-3
0
0
0
0
0
-19
-8
0
47
7
-8
-15
21
12
-48
0
-24
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
13
26
0
0
-13
2
0
0
-22
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
-129
0
0
-2
3
0
0
32
0
0
0
0
0
0
0
0
-3
14
-8
-15
0
0
36
0
0
0
0
0
9
0
0
-44
-33
-25
-30
-13
-8
0
0
-17
0
0
0
0
0
0
0
0
-7
0
0
4
0
0
-9
0
0
0
0
0
0
0
0
5
0
0
0
25
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
4
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-4
0
0
-24
0
0
0
0
0
0
0
0
-3
6
5
-19
9
-29
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
1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
-6
0
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-37
9
-33
0
0
0
0
0
0
0
0
-8
-17
0
-18
2
-84
-17
-24
-59
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-35
0
0
0
0
0
0
0
0
-4
-27
0
-8
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
2
0
0
-78
0
0
0
0
0
0
0
0
-40
-28
0
23
15
25
2
0
0
0
0
0
0
0
0
0
0
17
1
0
-25
-1
0
-4
0
0
0
0
0
13
1
0
-19
0
64
22
5
17
-23
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
-54
0
0
0
0
0
0
0
0
-5
4
0
3
-1
1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
-13
0
0
0
0
0
0
0
0
-3
-7
5
29
-75
2
1
0
0
0
0
0
0
0
0
0
0
35
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
-24
-20
1
20
22
43
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
9
-2
-1
-28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
-1
25
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-47
12
0
0
0
24
2
2
4
0
0
2
-5
0
0
0
0
0
0
-3
0
-41
-10
5
84
18
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129
-11
3
-4
2
0
0
0
-22
13
0
-5
0
0
0
32
0
0
0
0
0
-4
-1
0
30
23
42
5
66
-54
16
0
-28
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
24
0
35
6
-1
0
0
-32
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-76
-21
-7
4
-61
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-106
0
0
0
0
0
0
0
0
-6
9
0
-6
-4
0
0
0
8
15
-48
-40
-16
0
0
0
-35
-5
0
60
0
0
-74
6
0
0
0
0
0
-48
1
0
18
-13
-24
-37
-13
88
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
31
-4
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
0
1
-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
-47
3
0
-1
0
0
0
0
8
6
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
-30
-5
-4
-31
0
-8
0
-15
-22
-17
41
-6
0
0
0
-31
-110
-3
3
0
0
-14
14
0
0
0
0
0
0
0
0
-5
-48
8
41
-33
-2
-5
0
26
1
0
0
-2
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-39
-48
0
-49
49
-2
0
0
-10
18
4
-5
0
0
0
0
4
-19
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-69
-26
12
9
-13
-7
0
0
-69
-3
3
-7
0
0
0
0
35
17
0
0
0
0
-7
-22
0
0
0
0
0
0
0
0
17
-49
13
36
-49
-31
1
0
-31
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-20
17
1
24
6
0
-3
0
29
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-2
-2
2
-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
-18
22
4
-48
-3
0
-11
0
0
0
0
0
8
3
0
-10
5
5
-22
27
3
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
30
0
0
0
0
0
0
0
0
-69
21
2
-8
-30
21
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
8
0
2
9
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
26
0
0
0
0
0
0
0
0
3
-53
0
1
-21
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
-34
21
1
13
65
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
4
-3
0
0
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
-12
0
0
0
0
0
0
0
0
20
12
27
55
-47
0
4
0
0
0
0
0
42
0
0
-5
-3
43
23
-5
-71
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-2
41
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
10
6
-1
49
-15
0
33
0
0
0
0
0
0
0
0
57
36
-41
31
49
29
18
0
-10
0
0
0
0
0
0
0
0
13
1
72
-25
5
0
-6
0
0
0
0
0
38
-38
0
2
-3
-4
0
-3
-2
8
0
45
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
55
0
0
0
0
0
6
0
0
49
-24
7
18
5
-14
0
0
-42
0
0
0
0
0
0
0
0
-19
-5
4
-26
-1
0
-29
0
0
0
0
0
-2
0
0
2
-32
40
41
54
-23
13
0
14
0
0
0
0
0
0
0
0
31
0
1
-13
-2
0
26
0
0
0
0
0
0
0
0
23
-14
33
-1
17
23
20
0
52
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
38
0
0
0
0
0
0
0
0
-10
-49
0
-13
52
0
2
0
25
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-8
71
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
19
0
0
0
0
0
-5
-2
0
-20
-6
-8
-42
-12
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
-13
1
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
21
37
0
-4
0
0
0
0
0
-82
8
0
-3
7
-35
32
-2
21
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
-17
16
1
-31
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
15
4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
55
0
0
-17
0
0
0
0
0
-1
0
0
-19
9
-10
25
31
-40
9
0
0
0
0
0
0
0
0
0
0
-26
-10
0
54
-47
0
-1
0
0
0
0
0
-5
-3
0
2
0
27
3
10
-13
48
0
0
0
0
0
0
0
0
0
0
-13
0
0
14
0
0
-1
0
0
0
0
0
0
0
0
4
13
-2
30
16
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
7
0
0
0
0
0
0
0
0
116
-23
0
5
39
17
-4
0
0
0
0
0
0
0
0
0
0
-16
4
0
46
-1
0
9
0
0
0
0
0
4
5
0
14
-25
14
87
27
31
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-3
29
-7
-15
-9
13
10
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
-34
0
0
0
0
0
0
0
0
-4
2
0
0
34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
49
-11
-80
0
0
0
56
-14
-13
0
0
0
18
-4
0
0
0
0
0
-36
0
0
-32
57
-7
-2
11
41
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
23
9
0
0
0
36
5
0
0
0
0
3
-33
0
0
0
0
0
0
0
0
-23
24
50
-45
-63
-63
-3
0
84
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
7
34
-1
-8
-77
1
9
0
-19
-1
0
0
0
0
0
0
0
2
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
-38
14
18
9
37
-46
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
5
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-4
1
-3
0
-41
-7
3
0
-7
-25
30
35
63
0
0
0
-15
-11
31
0
0
0
41
-5
0
0
0
0
0
45
25
0
3
6
4
22
3
17
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-12
-2
-5
0
5
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
-25
0
1
8
17
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
2
45
-6
0
0
0
-5
-9
0
0
0
0
4
8
0
0
0
0
0
0
0
0
-4
5
-10
76
11
31
61
0
-6
-11
28
-38
13
0
0
0
-51
4
-4
0
0
0
-2
-1
0
0
0
0
0
-46
-2
0
5
17
-2
1
13
-14
-58
0
-24
3
0
2
0
0
0
0
-4
5
0
0
0
0
-1
-14
0
0
0
0
0
5
0
0
-17
27
-8
13
35
3
-16
0
55
1
0
0
1
0
0
0
0
5
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
-2
4
50
0
30
-2
5
0
32
46
8
72
2
0
0
0
16
6
0
0
0
0
-22
5
0
0
0
0
0
0
1
0
-7
-4
-21
-52
20
46
5
0
-24
2
0
-3
0
0
0
0
0
60
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
13
24
13
31
32
1
15
0
-54
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
4
5
4
10
4
-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
-44
-83
0
67
-33
0
-7
0
0
0
0
0
-36
-31
0
46
58
5
56
-20
27
-138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
48
0
0
0
0
0
0
0
0
43
11
-86
-18
41
13
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
25
1
-1
2
12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-2
0
0
7
42
27
-3
-52
-12
4
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
20
-7
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
18
21
0
52
-40
0
0
0
0
0
0
0
-18
42
0
-3
38
-8
-10
-3
52
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
22
2
-5
0
-19
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
24
10
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
-34
0
-42
23
0
-7
0
0
0
0
0
4
5
0
5
27
23
-23
5
-26
19
0
13
0
0
0
0
0
0
0
0
-3
-5
0
92
0
0
47
0
0
0
0
0
-14
0
0
62
65
-57
-1
77
-43
0
0
25
0
0
0
0
0
0
0
0
-29
0
0
20
0
0
15
0
0
0
0
0
3
-1
0
18
13
36
-48
28
-35
4
0
17
0
0
0
0
0
0
0
0
-14
0
0
3
0
0
-14
0
0
0
0
0
0
0
0
-67
56
3
-9
30
-10
0
0
-92
0
0
0
0
0
0
0
0
-9
-13
0
79
-9
0
-5
0
0
0
0
0
14
1
0
22
-2
54
-11
12
6
-26
0
-50
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
74
51
-41
41
-27
-4
3
0
46
0
0
0
0
0
0
0
0
4
0
0
-8
0
0
-31
0
0
0
0
0
0
0
0
-30
5
-42
7
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
0
0
0
0
0
-59
-19
15
35
84
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
4
0
-5
-59
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-11
0
1
0
0
0
0
0
37
-33
0
-3
0
27
-17
23
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
16
0
-23
-33
42
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-27
0
0
0
0
0
0
0
0
8
5
0
41
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-128
-41
0
24
0
0
0
0
0
0
0
0
15
26
47
18
-48
5
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
10
0
-5
0
0
0
0
0
61
-7
0
31
0
-12
1
1
-44
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-46
0
-24
0
0
0
0
0
0
0
0
34
0
0
-5
32
24
47
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-10
0
-6
0
0
0
0
0
-2
0
0
-60
13
10
-29
32
-13
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
49
0
2
0
0
0
0
0
42
-2
0
16
-31
-5
14
1
-8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-25
0
0
0
0
0
0
0
0
15
-6
31
33
-41
-1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
45
0
0
0
0
0
0
0
0
-42
0
1
0
-3
-12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-38
-12
17
0
0
0
-115
0
0
0
0
0
50
-23
0
0
0
0
0
-13
2
0
-5
-82
-4
7
53
47
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-160
-3
-23
0
0
0
0
0
-4
0
0
0
0
0
3
-40
0
0
0
0
0
0
0
0
-98
-74
-20
-56
-49
-2
-90
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-46
0
-14
-59
-29
0
1
0
27
2
0
1
0
0
0
0
0
0
0
0
0
0
8
33
0
0
0
0
0
0
0
0
74
4
98
-96
41
-68
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
17
0
0
9
0
0
0
0
-5
41
0
-13
-27
0
0
0
45
0
0
0
0
0
44
-1
0
0
0
0
0
-18
1
0
-12
13
-2
15
23
-24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-5
-8
-27
-15
35
0
-6
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-3
-2
-40
-66
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-16
-6
-22
0
0
0
0
-15
0
0
0
0
0
-23
-1
0
0
0
0
0
0
1
0
31
2
16
10
-15
-31
-36
0
22
-1
-73
1
-7
0
0
0
13
0
0
0
0
0
26
-4
0
0
0
0
0
53
-6
0
15
21
-3
9
-36
-19
49
0
-34
-30
-20
0
1
0
0
0
-43
0
0
0
0
0
4
17
0
0
0
0
0
0
0
0
60
33
34
28
-14
4
-6
0
-48
-12
-35
-37
0
0
0
0
-67
0
0
0
0
0
5
8
0
0
0
0
0
5
21
0
47
20
7
-5
-28
38
23
0
-30
-38
-78
-76
-37
0
0
0
-75
0
0
0
0
0
-5
-23
0
0
0
0
0
-7
4
0
-93
-3
8
-2
25
22
-45
0
-24
-10
-3
-6
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
72
-8
4
-5
-25
0
-37
0
6
2
0
0
0
0
0
0
12
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-13
-4
-12
-33
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-15
0
0
0
0
0
1
0
0
-3
80
34
14
2
43
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
41
0
2
-49
17
3
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
30
3
0
-5
0
0
0
0
0
-44
14
0
12
-32
5
-27
-14
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
-47
-1
0
-15
0
0
0
0
0
0
0
0
31
-39
-1
12
-21
25
-41
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-48
0
0
0
0
0
0
0
0
82
9
6
9
34
9
31
0
-16
0
0
0
0
0
0
0
0
0
0
0
-28
-41
0
-15
0
0
0
0
0
4
0
0
33
72
13
21
-1
31
8
0
-9
0
0
0
0
0
0
0
0
0
0
0
-61
-7
0
-6
0
0
0
0
0
7
3
0
46
70
-30
35
-17
76
48
0
17
0
0
0
0
0
0
0
0
0
0
0
-15
-5
0
-12
0
0
0
0
0
0
0
0
-8
69
31
27
80
-20
5
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
37
0
0
0
0
0
0
0
0
42
24
17
8
36
0
16
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
45
-2
-5
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
-22
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
11
-5
-13
17
-4
0
-6
0
0
0
0
0
0
0
0
-2
25
11
-41
-45
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
2
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-22
0
-6
-7
0
0
30
0
0
0
0
0
0
0
0
-8
0
-4
0
13
-12
4
0
-2
0
0
0
0
0
0
0
0
4
0
0
5
0
0
-29
0
0
0
0
0
0
0
0
2
12
1
3
3
0
-2
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
28
0
0
0
0
0
0
0
0
1
-16
-29
3
0
0
0
0
56
0
0
0
0
0
0
0
0
8
0
0
1
0
0
23
0
0
0
0
0
0
0
0
-4
-21
-15
-6
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
-1
-30
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-17
-9
-34
-41
0
0
0
-21
2
12
-22
0
0
23
5
0
6
1
0
-1
9
-8
0
-7
40
18
-1
2
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-2
0
0
0
16
0
0
0
0
0
0
0
0
0
-58
13
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-5
34
0
-3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
-9
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-19
11
9
4
0
25
0
4
0
-1
0
-8
-12
0
2
-8
-40
-17
49
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
1
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
6
0
0
-31
0
0
0
0
0
0
0
0
3
-8
25
10
-2
-22
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
3
0
0
5
0
0
0
0
0
0
0
0
13
10
-3
14
-5
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
-22
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
21
0
0
0
0
0
0
0
0
0
52
8
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
22
-2
-8
3
0
0
-34
0
0
0
0
0
2
0
0
4
71
-20
3
-5
14
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
3
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
-22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-34
0
0
0
0
0
0
0
0
-9
-6
0
18
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-4
3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-25
0
3
16
5
0
-12
0
0
0
-1
-2
4
1
0
-36
12
-1
15
-58
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
2
-8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-5
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
9
30
0
-5
14
0
9
0
1
0
0
0
0
0
0
0
0
22
0
0
-16
31
0
-20
0
0
0
0
0
-1
1
0
65
0
5
-25
-37
7
20
0
-23
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-20
0
0
0
0
0
0
0
0
-2
-6
0
-8
0
0
0
0
-8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-9
8
0
14
3
-2
0
0
8
0
0
0
0
0
0
0
0
26
0
0
10
-4
0
34
0
0
0
0
0
0
0
0
-3
6
0
58
32
-2
14
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
3
-7
0
-7
1
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
8
-2
-3
2
0
0
0
-21
-5
1
5
0
0
-2
-18
0
0
0
0
0
0
0
0
-2
44
-2
-9
26
-2
4
0
7
-2
0
0
0
0
0
0
2
-3
0
1
0
0
0
-40
0
0
0
0
0
0
0
0
-9
10
-13
19
-12
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
25
6
49
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
-14
18
30
-22
0
0
0
30
30
7
26
0
0
4
11
0
0
0
1
0
-20
6
0
-14
13
-15
-1
-9
-19
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
-9
10
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-2
0
0
0
0
0
0
4
0
0
0
0
0
9
0
0
0
0
0
0
0
0
10
-1
-20
4
3
0
5
0
-32
4
-25
67
8
0
0
0
17
5
-3
-5
0
0
16
-26
0
0
0
0
0
18
-1
0
22
-49
42
-94
-7
34
14
0
-21
1
0
0
-2
0
0
0
-5
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
25
-16
20
27
16
3
-4
0
6
4
5
0
0
0
0
0
-16
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
-34
39
-10
1
-1
3
8
0
21
-14
0
8
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
8
-53
11
0
-2
0
3
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
1
3
12
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
8
1
0
0
24
0
0
0
0
0
0
0
0
-2
61
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-1
0
-25
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
5
2
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-6
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
9
-2
-43
-5
0
10
0
0
0
-1
1
-3
2
0
43
-50
2
-23
41
-12
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
-1
-14
-3
0
88
0
0
0
0
0
0
0
0
20
59
19
12
-4
24
-1
0
0
0
0
0
0
0
0
0
0
26
3
5
-7
4
0
18
0
0
0
0
0
0
2
0
-21
-6
22
42
34
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-49
0
0
0
0
0
0
0
0
-1
2
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
-28
0
0
0
0
0
0
0
0
-7
-1
0
10
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-3
2
3
3
0
0
9
0
0
0
0
0
0
0
0
13
-37
9
22
13
6
-13
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
0
0
13
0
0
0
0
0
0
0
0
-1
13
0
-17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-27
0
0
0
0
0
0
0
0
0
-4
0
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
48
-5
0
-17
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
3
0
1
-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
1
0
0
0
0
0
0
0
0
36
0
-10
48
42
0
22
0
1
0
0
-2
-1
0
0
-19
-13
-2
-24
73
-27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
0
1
-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
5
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-3
-3
0
1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
3
0
0
-8
-4
0
-23
0
0
0
0
0
0
0
0
27
9
-1
-8
2
6
0
0
9
0
0
0
0
0
0
0
0
22
0
-2
-8
0
0
-9
0
0
0
0
0
-1
0
0
16
0
-16
-16
13
21
-9
0
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
0
21
0
0
0
0
0
0
0
0
6
-1
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
-15
-9
0
-23
0
0
0
0
0
0
0
0
6
5
-4
-1
49
-19
0
0
-16
0
0
0
0
0
0
0
0
-6
0
0
-20
-2
0
-8
0
0
0
0
0
0
0
0
-3
-68
7
-9
-17
6
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
13
0
-9
8
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
6
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-5
4
2
0
0
0
0
18
-8
1
-6
0
0
9
1
0
0
0
0
0
0
0
0
-31
-31
0
-43
-48
0
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-3
-5
0
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-23
-5
0
-33
-26
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
14
-1
3
-1
0
0
0
-7
-17
-15
-22
31
0
0
0
-5
-57
0
-43
0
0
-14
27
0
0
0
-1
0
-10
0
0
22
-22
5
-5
9
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-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
-1
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-2
7
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-16
-3
0
0
0
0
0
-3
1
0
0
0
0
5
21
0
0
0
0
0
0
0
0
31
-10
-3
-5
0
8
8
0
31
12
-6
-13
-3
0
0
0
5
28
0
-2
0
0
-20
-13
0
0
0
0
0
0
1
0
-7
13
-9
48
-13
-10
-3
0
30
0
0
0
0
0
0
0
3
1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-3
-5
0
-13
0
1
0
0
-53
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
43
0
0
0
0
0
0
0
0
12
-39
1
32
0
0
0
0
-14
24
-4
-3
-1
0
0
0
-7
4
0
0
0
0
-3
-48
0
0
0
0
0
0
0
0
29
17
-10
-11
17
-1
7
0
29
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
5
0
-4
5
0
-2
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
4
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
2
0
0
60
0
-1
0
0
0
-1
0
0
29
-47
0
33
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-22
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
-2
0
0
-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
39
0
-17
72
1
0
-22
0
-3
0
1
1
0
0
0
38
-21
13
-11
-1
-39
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
-3
-4
0
-8
0
0
0
0
0
1
0
0
-14
-11
6
-7
23
13
1
0
0
0
0
0
0
0
0
0
0
-17
0
-9
-4
8
0
49
0
0
0
0
0
4
0
0
-13
-11
8
-7
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
16
0
0
0
0
0
0
0
0
-5
13
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
0
0
43
0
0
0
0
0
0
0
0
2
-3
0
7
13
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
3
-1
0
0
-9
0
0
0
0
0
1
0
0
-32
1
5
4
18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
41
0
0
0
0
0
0
0
0
4
-15
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-9
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
0
0
49
0
0
0
0
0
0
0
0
8
-32
1
-8
32
-7
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
10
0
0
0
0
0
0
0
0
-3
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-26
0
8
-42
-23
0
-8
0
-1
0
0
0
-8
0
0
95
10
-19
4
42
9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
-3
0
0
5
-2
0
-17
0
0
0
0
0
0
0
0
-22
6
1
0
7
-2
3
0
-18
0
0
0
0
0
0
0
0
-16
0
6
12
1
0
-4
0
0
0
0
0
1
0
0
-31
0
5
-23
13
12
-12
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
-3
-8
0
0
-4
0
0
0
-29
0
0
0
0
0
0
0
0
13
0
0
3
0
0
-24
0
0
0
0
0
0
0
0
-9
9
0
5
-35
-1
-5
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
18
0
0
3
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
-1
-3
7
0
0
0
5
6
0
-1
0
0
-1
2
0
0
0
0
0
0
0
0
6
-47
20
5
52
-5
9
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
3
-9
0
2
-2
0
2
0
0
-1
0
0
0
0
0
0
0
-8
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-20
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
27
50
-7
-13
9
0
0
0
-25
-23
6
-4
0
0
4
-7
0
1
0
0
-1
2
2
0
33
20
21
-31
-1
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
-3
0
0
0
0
4
3
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
1
-27
5
8
-2
0
0
0
-4
-17
-1
31
1
0
0
0
-5
-5
-3
0
0
0
4
32
0
0
0
0
0
0
0
0
1
13
-13
4
-7
4
5
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-10
-2
0
0
15
0
0
0
-5
3
1
-1
0
0
0
0
-1
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
32
-15
-4
4
-13
-3
-2
0
-42
6
1
3
0
0
0
0
0
39
0
0
0
0
2
3
0
0
0
0
0
0
0
0
3
12
6
8
-7
1
-9
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
6
0
4
-4
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-3
0
0
-23
0
0
0
0
0
0
0
0
1
12
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
-11
-3
0
18
0
0
0
0
1
8
9
0
-12
11
51
-41
-25
-42
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
2
0
-42
0
0
0
0
0
0
0
0
5
-7
2
-5
15
4
1
0
0
0
0
0
0
0
0
0
0
26
0
-7
-12
-1
0
44
0
0
0
0
0
0
0
0
15
3
7
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
15
0
0
0
0
0
0
0
0
5
19
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
18
0
0
0
0
0
0
0
0
-2
-23
-4
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-22
10
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-11
0
-10
10
-18
0
-12
0
0
0
0
0
-1
0
0
9
-24
-3
29
-44
14
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
1
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
-1
0
0
-9
0
0
37
0
0
0
0
0
0
0
0
-1
-10
0
0
-8
1
1
0
4
0
0
0
0
0
0
0
0
1
0
0
-10
0
0
12
0
0
0
0
0
0
0
0
-41
0
14
-3
20
-15
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
8
0
5
-5
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
4
0
0
2
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
5
0
-1
0
0
1
28
0
0
0
0
0
0
0
0
18
28
-1
-9
12
1
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
1
-2
0
0
-3
0
0
0
-11
-8
-10
6
-8
0
0
0
9
-9
1
-4
0
0
-8
7
0
1
0
0
0
1
-1
0
29
-18
-34
-1
48
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
0
0
-9
-8
-1
2
-4
0
1
0
-22
3
-3
-6
4
0
0
0
-2
0
0
0
0
0
-5
-31
0
0
0
0
0
0
1
0
-8
28
-9
-7
-6
-2
8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
4
16
0
0
5
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
41
0
0
0
0
0
0
0
0
-2
0
0
-7
-3
0
1
0
4
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
45
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-5
0
0
-5
0
3
0
1
0
0
0
0
-1
1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
3
-1
0
0
0
0
-1
0
10
1
-4
0
0
0
0
9
-2
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
1
0
-7
0
0
16
0
-4
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-10
5
-1
0
-5
0
13
4
0
-2
0
0
0
2
2
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
0
0
0
0
0
-10
0
1
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
6
-9
1
-13
0
0
0
-6
0
21
0
0
0
0
0
0
14
-7
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-8
0
0
0
3
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
7
0
-8
1
1
0
-2
0
13
0
2
1
2
2
0
-14
3
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-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
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
4
4
1
0
-12
0
0
0
0
-1
0
0
0
4
-1
8
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
14
0
0
0
0
0
0
0
0
1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
10
-19
9
-18
0
0
1
7
0
0
0
0
-1
0
0
0
24
-42
1
12
-16
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
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-22
0
0
-6
0
0
15
0
0
0
0
0
1
0
0
0
-20
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-15
-4
0
0
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
2
-5
-31
5
21
0
5
0
0
0
0
2
0
2
0
10
34
4
-17
13
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
0
-2
0
0
-24
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
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
-14
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
-19
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
2
31
3
0
-23
0
0
0
0
0
-1
0
0
-13
13
6
20
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
14
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
1
-20
0
1
0
0
0
11
0
0
0
0
0
0
0
0
1
-42
1
9
10
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
7
6
-1
10
0
0
-12
-2
0
0
0
0
0
-1
0
0
-4
7
-3
31
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
-2
5
0
0
-3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-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
-1
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
-19
-1
0
10
0
0
0
0
0
-1
0
0
6
-2
-4
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
1
-2
0
0
0
-8
0
0
0
0
0
-2
0
0
2
-34
0
15
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
13
1
9
-1
19
0
-11
0
0
0
0
0
12
0
0
-22
3
-13
-3
-27
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
8
0
1
-2
0
0
0
9
0
0
0
0
0
0
0
0
2
1
1
-10
0
0
75
0
0
0
0
0
0
0
0
3
-44
3
1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-1
0
-43
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
-60
0
0
0
0
0
0
0
0
12
17
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
18
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
4
-5
-8
5
0
14
0
0
0
0
0
-1
0
0
5
-6
-22
5
6
4
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
-8
0
-10
-4
6
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
-13
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-10
12
14
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
1
0
0
0
-6
22
0
6
0
0
-1
14
0
0
0
0
0
0
0
0
13
26
-6
8
-8
8
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
-8
0
0
-1
0
0
0
-19
0
0
0
0
0
0
0
0
3
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
10
-1
0
2
3
0
0
0
9
-5
-4
-28
0
0
5
-3
0
0
0
0
0
-2
1
0
0
2
13
-19
6
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-29
0
0
0
0
0
0
0
0
0
30
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
2
-4
0
-8
0
0
0
-9
0
0
0
0
0
0
0
0
0
-14
6
-1
-8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
-3
0
0
-20
0
0
0
0
0
-1
1
0
-29
-8
-12
-5
22
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-5
0
3
-1
0
0
-69
0
0
0
0
0
0
0
0
1
9
0
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
-1
-24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-53
0
8
-26
9
0
-2
0
0
0
0
0
1
-6
0
-4
-34
-12
-20
28
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
13
0
-1
0
0
0
22
0
0
0
0
0
0
0
0
-1
-14
1
0
-13
0
0
0
-7
0
0
0
0
0
0
0
0
-13
4
-19
45
-2
0
-4
0
0
0
0
0
-1
0
0
13
7
-4
-1
16
7
-6
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-16
0
0
-13
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
0
13
0
0
0
0
0
0
0
0
17
2
-2
-2
0
0
7
0
0
0
0
0
0
0
0
13
35
-3
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-8
6
0
-16
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-5
-4
-4
0
-23
0
0
0
0
0
-5
0
0
-11
15
-28
2
-31
-35
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
-5
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
1
13
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
-1
0
0
-1
0
0
0
0
0
2
0
0
-24
0
2
-49
1
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-14
-18
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
24
0
0
0
0
0
0
0
0
7
-43
-1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
-2
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
4
-2
0
0
0
0
5
1
0
0
0
0
4
0
0
0
0
0
0
1
0
-23
38
-8
-46
-12
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
0
7
2
0
0
0
3
5
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
-1
2
3
-24
41
-8
0
0
-9
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
-3
0
18
-3
0
0
0
17
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
-7
10
-3
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
18
-10
-14
-12
0
0
0
0
-10
-7
-3
22
0
0
-32
9
0
0
0
0
0
-6
-1
0
18
-5
1
-60
-19
-43
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
3
2
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
2
-25
-2
0
0
0
0
0
-17
-7
-9
4
0
0
0
0
7
-1
-1
0
0
0
-1
-13
0
0
0
0
0
-1
0
0
-13
-19
15
-20
-13
8
4
0
-8
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
-5
0
-2
6
0
0
0
-32
2
2
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
8
-17
0
-8
4
3
0
0
-1
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
-13
1
14
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-5
1
-5
0
0
0
0
-8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
1
0
0
12
0
0
0
0
0
0
0
0
21
2
-8
-14
9
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
6
19
0
4
13
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-1
-3
0
0
-1
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-3
7
0
2
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
41
0
-22
5
-14
0
1
0
0
0
0
0
39
2
0
-5
-24
42
25
-34
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
1
1
0
8
0
0
-3
0
0
0
0
0
0
0
0
8
7
-5
-7
-4
-1
0
0
32
0
0
0
0
0
0
0
0
20
-3
18
-41
0
0
-20
0
0
0
0
0
-2
0
0
33
32
7
11
2
13
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
31
0
0
0
0
0
0
0
0
0
-1
0
0
1
-5
0
0
-12
0
0
0
0
0
0
0
0
9
0
0
4
-1
0
-10
0
0
0
0
0
0
0
0
13
13
-2
14
-10
-13
0
0
35
0
0
0
0
0
0
0
0
2
0
0
-1
-1
0
29
0
0
0
0
0
0
0
0
5
-9
-12
13
-8
-1
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
-9
0
9
8
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
73
0
0
0
0
0
0
0
0
33
-36
1
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-16
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
17
12
0
-1
0
0
0
0
0
1
0
0
25
-2
-5
2
5
28
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
15
-1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
5
0
0
-52
0
0
0
0
0
0
0
0
12
2
0
-7
-5
-5
2
0
0
0
0
0
0
0
0
0
0
2
-1
0
-19
-5
0
-4
0
0
0
0
0
-17
0
0
18
0
30
-27
-3
22
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
5
-4
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
2
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
1
-1
0
39
0
0
0
0
0
0
0
0
-1
11
10
0
-7
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
9
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
18
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-19
-27
0
0
0
6
28
0
0
0
0
27
-7
0
0
0
0
0
3
0
0
25
-31
31
16
3
18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
-1
0
7
0
0
0
8
4
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-15
20
8
-16
-13
0
22
0
30
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
2
-1
0
-13
0
2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-7
0
5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-10
-4
-20
6
17
0
0
0
-55
-15
2
0
0
0
10
8
0
0
0
0
0
9
-2
0
7
-2
-6
34
-13
35
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-3
0
0
0
0
1
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
19
-19
4
6
3
10
2
0
-7
3
0
52
12
0
0
0
-1
28
-3
0
0
0
5
-5
0
0
0
0
0
0
1
0
38
-45
33
-25
-4
-13
-3
0
-14
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
-13
-3
-2
0
8
0
-1
0
66
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
8
12
15
0
16
0
0
0
9
6
0
4
0
0
0
0
7
7
0
0
0
0
0
29
0
0
0
0
0
0
0
0
13
-12
-5
-20
1
-1
-6
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
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
32
-2
0
27
-3
0
-11
0
0
0
0
0
-1
0
0
-33
-31
-33
23
-63
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
6
-1
5
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-6
0
3
0
-12
5
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-8
8
0
18
-13
0
6
0
0
0
0
0
-7
5
0
14
-19
-61
-14
3
16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
12
1
0
-25
1
0
-13
0
0
0
0
0
0
0
0
-23
-27
33
-6
-40
-10
-12
0
-14
0
0
0
0
0
0
0
0
5
0
0
4
0
0
20
0
0
0
0
0
0
0
0
8
-10
8
12
10
-17
-1
0
-3
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
17
0
0
0
0
0
0
0
0
30
-20
-5
-6
21
7
5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-3
16
6
0
12
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
15
1
0
27
0
0
0
0
0
3
0
0
-5
-29
-5
0
31
3
-5
0
-19
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-34
0
0
0
0
0
0
0
0
31
-6
-1
-4
0
0
-1
0
20
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
24
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-66
0
0
0
0
0
0
0
0
-22
-1
19
5
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
0
3
0
0
0
0
0
3
0
0
-6
-2
16
-3
8
-9
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-6
0
41
0
0
0
0
0
0
0
0
7
0
2
-8
13
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
27
0
4
0
0
0
0
0
0
0
0
-19
0
-5
-15
18
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-12
0
0
0
0
0
0
0
0
13
0
0
-9
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
0
21
0
0
0
0
0
0
0
0
-5
6
-49
13
29
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-3
0
24
0
0
0
0
0
0
0
0
-42
-10
-15
41
-33
5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
4
6
-28
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
-10
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-13
8
0
0
0
-38
0
0
0
0
0
13
-4
0
0
0
0
0
1
2
0
-42
17
-11
13
-9
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
0
-3
-8
1
-32
10
-8
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-12
20
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
2
0
49
-32
13
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-24
23
30
-5
-18
0
0
0
26
0
0
0
0
0
7
-7
0
0
0
0
0
-10
3
0
-22
50
-12
20
67
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
21
-3
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
2
0
0
0
0
0
-1
0
0
0
0
0
9
27
0
0
0
0
0
0
0
0
9
8
-16
-1
-4
0
2
0
24
29
-15
17
7
0
0
0
24
0
0
0
0
0
-8
17
0
0
0
0
0
12
0
0
-39
40
10
23
-18
16
13
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
17
-8
20
5
0
3
-1
0
-13
8
0
-2
0
0
0
0
-9
0
0
0
0
0
-9
-30
0
0
0
0
0
0
0
0
-3
-15
-19
43
-25
-2
1
0
-1
5
2
1
-1
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
14
3
12
-19
-3
0
3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-4
4
6
7
-1
0
-2
0
-33
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
6
-1
23
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-3
0
0
0
0
0
-3
0
0
-17
-2
5
60
24
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
3
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-3
0
-3
-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
13
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
-9
0
0
0
0
0
0
16
0
19
2
-8
-14
62
22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
30
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-4
0
0
0
0
0
0
0
0
31
-8
-21
7
4
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
-4
12
18
18
1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
9
3
0
10
0
0
0
0
0
0
0
0
-1
30
-14
8
12
17
-14
0
-40
0
0
0
0
0
0
0
0
0
0
0
-10
-27
0
-5
0
0
0
0
0
0
0
0
5
36
4
14
-5
-6
-2
0
-24
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-9
0
0
0
0
0
0
0
0
7
-9
-16
16
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-4
1
-6
-6
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
5
-9
1
0
-8
8
5
0
0
-22
9
8
0
3
9
-34
-28
-15
5
-5
20
68
17
18
-41
-30
-18
5
-18
-10
-62
-43
-4
22
0
0
0
0
0
-6
13
-1
0
0
5
3
-16
-2
0
-2
-5
-9
0
0
17
-17
13
4
0
-9
20
-66
-14
-13
43
4
27
49
54
24
-29
-62
-18
-18
-88
-45
7
-24
-57
1
-5
-1
0
0
-3
-8
5
0
0
0
11
6
1
0
9
-5
1
0
0
3
14
-8
-19
0
3
-14
7
23
-28
7
11
-59
14
44
-24
-38
-15
-29
-27
-9
2
6
3
-3
-1
-3
0
0
0
-3
-2
-2
0
0
3
-2
1
0
0
17
-2
8
1
0
-8
4
-25
3
-2
4
45
13
47
2
-36
-54
5
-13
45
-10
1
14
4
13
0
0
0
0
0
-19
-17
2
0
0
-2
15
5
0
0
-3
13
5
0
0
-14
22
-8
2
0
-1
-10
2
28
0
-35
-26
-25
-29
3
51
4
3
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
9
-8
-1
0
-3
-5
-5
-5
0
-9
14
2
3
8
-79
-4
-20
-48
15
-10
100
29
-59
48
24
-57
-40
21
-98
-75
19
-70
-28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
18
3
8
0
0
-22
-25
5
0
0
29
-15
0
1
0
-15
0
20
23
-2
-29
-3
-39
3
-9
-5
1
7
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
25
0
0
30
8
13
0
0
-13
5
-6
-6
-2
-41
14
-30
-40
-9
11
48
32
58
-13
-35
19
-46
2
-16
12
-6
-45
-71
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
1
0
0
0
-23
-16
1
0
0
-6
-7
1
0
0
5
-9
-5
0
0
-8
55
-3
4
-2
-8
21
-13
5
-3
2
-3
-3
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
41
-5
-2
0
0
4
22
-6
0
0
-36
50
-13
5
0
-19
0
27
-41
0
12
-9
-2
-7
0
59
-44
-140
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-49
47
0
0
0
7
6
0
0
0
0
20
-5
0
0
3
-3
23
-1
0
1
-7
-4
-11
0
-41
-1
12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
-5
-5
0
0
0
-2
-21
-3
0
0
35
-52
-5
0
0
-10
-8
-72
0
0
-27
22
15
0
0
34
-9
0
0
0
0
0
0
0
0
-9
0
0
0
0
-14
0
0
0
0
2
-3
0
0
0
4
-25
1
0
0
5
1
13
0
0
-45
15
32
0
0
1
10
6
0
0
-40
-28
-44
0
0
0
0
0
0
0
-5
0
0
0
0
5
0
0
0
0
-38
6
0
0
0
20
9
3
0
0
-1
-9
-54
0
0
-12
-15
97
0
0
-4
2
-24
0
0
-35
-2
-1
0
0
1
0
0
0
0
-5
0
0
0
0
5
1
0
0
0
-8
-1
0
0
0
-5
10
2
0
0
-38
-67
-29
0
0
-4
-1
-15
0
0
14
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
39
0
0
0
0
-7
1
0
0
0
6
-2
3
0
0
38
59
-34
0
0
-2
-36
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
32
2
0
10
15
23
1
0
16
-30
8
0
-2
-6
2
39
8
-5
6
-2
14
14
16
-68
-2
-4
3
29
-11
-1
3
6
-15
0
0
0
0
0
50
9
-25
0
0
12
27
-14
1
0
-8
4
18
-1
0
-21
-5
-23
-6
-3
-87
-15
49
-6
-9
20
2
10
9
6
-13
-2
-1
1
-12
-7
14
0
3
-5
-3
59
5
0
0
15
26
5
0
0
5
-23
6
0
0
3
-18
-35
1
0
0
-4
48
6
10
-27
-30
8
-54
23
-3
-1
-8
-12
-4
-27
-4
-9
-5
-21
-9
-29
2
11
-8
-13
17
2
0
0
6
-24
-1
0
0
-30
34
-2
1
0
20
-21
-4
0
0
-15
-14
29
-14
-1
-26
-45
30
-12
-3
-40
-16
9
31
-28
-4
-3
5
-2
3
0
0
0
0
0
10
17
0
0
0
-13
25
-3
0
0
-20
-17
-2
0
0
-15
-48
35
-2
0
1
23
-13
-1
5
50
-49
-28
19
9
9
-7
2
11
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
26
0
0
81
-22
14
0
0
9
18
-15
5
-9
-28
-23
-4
-58
-6
49
-7
23
8
-18
-28
2
-3
-2
-10
-18
-8
-36
-4
-4
0
0
0
0
0
9
-1
8
2
0
7
7
7
2
0
2
5
7
0
0
28
11
-12
2
0
17
2
32
-22
-8
-51
-11
82
-10
27
-25
-6
-26
-20
24
-37
18
-16
2
-39
1
25
-1
0
0
-5
2
-3
0
0
0
0
0
-4
0
-16
-8
8
0
0
6
18
-20
6
5
2
5
-40
11
6
-34
-48
-13
49
37
-14
-29
-54
6
3
-25
23
1
-6
0
-1
0
-1
0
0
14
1
1
0
0
8
-5
-5
3
0
-38
9
7
3
0
4
15
7
-1
2
-10
-7
-44
-19
-12
15
-42
-42
-7
8
-3
-21
-6
3
23
0
0
0
0
0
25
-27
0
0
0
-2
21
25
0
0
-5
22
5
1
0
-2
-30
-7
4
0
25
22
-42
-5
8
-56
21
39
-59
48
8
4
-17
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
3
2
3
0
-8
11
-49
-1
0
-1
22
18
-1
14
12
-31
3
-58
17
-48
6
0
-1
16
19
3
3
-5
-6
-10
-44
-30
-14
-14
0
0
0
0
0
22
-8
12
0
0
-3
9
-2
-1
0
-21
23
-4
-1
0
-21
-11
17
7
3
12
-8
-9
8
-24
0
-6
23
-22
-30
2
6
-46
12
-38
-35
-18
-10
-42
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
13
-1
-2
0
0
3
-13
-3
-1
0
-7
-49
-7
0
0
-8
19
-19
15
0
0
32
-41
-17
4
-5
7
-14
19
-26
7
-4
1
1
5
0
0
0
0
0
10
20
0
0
0
-15
-8
-4
0
0
-23
-15
-5
1
0
11
-35
-3
-1
0
61
-37
12
2
-4
-30
24
8
-9
6
5
-4
-1
-8
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-19
-3
0
0
-30
1
14
0
0
-14
49
-16
-4
0
45
17
18
-47
0
11
-5
-38
18
0
2
1
1
7
0
18
5
-21
6
0
0
0
0
0
0
3
-5
0
0
0
0
16
0
0
0
12
-4
-1
0
0
-59
-9
8
-1
0
-14
-15
9
-8
0
72
12
-6
4
0
-9
-8
13
4
0
-31
-3
-6
16
0
-3
0
-2
0
0
17
-2
0
0
0
8
-25
0
0
0
8
33
-3
0
0
-31
-10
-16
-1
0
-16
-8
-32
-18
0
47
-4
31
4
0
4
3
-9
9
0
-74
-9
-1
4
0
-3
0
0
0
0
-8
2
0
0
0
-9
6
0
0
0
-26
41
3
0
0
22
24
6
2
0
11
53
4
-24
0
-4
-7
-8
-94
0
-9
2
-1
3
0
0
0
0
0
0
56
0
0
0
0
17
9
0
0
0
21
-6
-6
0
0
-43
5
8
0
0
51
28
24
4
0
13
-4
-13
-15
0
-81
1
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-12
0
0
0
-14
-1
0
0
0
-40
0
-1
0
0
0
4
-29
0
0
-13
9
23
0
0
5
-2
17
0
0
-2
-14
-18
0
0
0
0
0
0
0
20
0
0
0
0
5
-2
0
0
0
35
6
0
0
0
23
4
-12
0
0
7
8
-9
0
0
-3
4
7
0
0
-13
-4
6
0
0
3
-3
-13
0
0
-6
1
0
0
0
-15
0
0
0
0
-23
2
0
0
0
4
1
0
0
0
11
9
2
0
0
18
6
1
0
0
27
19
45
0
0
2
0
-4
0
0
-66
1
1
0
0
-2
0
0
0
0
-2
0
0
0
0
-43
2
0
0
0
-13
-1
0
0
0
25
50
1
0
0
47
24
-27
0
0
3
-8
7
0
0
-32
-15
11
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
35
0
0
0
0
22
-6
0
0
0
5
20
-7
0
0
-3
-42
-10
0
0
-31
10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
13
-18
0
0
-9
-20
-9
0
0
38
7
8
0
0
-17
-13
-16
14
-4
5
-12
13
10
56
0
7
11
-1
10
-1
-55
7
24
-7
0
0
0
0
0
-10
-15
8
0
0
-6
3
7
0
0
20
-41
13
0
0
45
22
13
8
-1
-11
31
-46
-17
-19
14
19
6
-3
-17
2
0
13
10
-25
-1
7
-1
2
11
-2
-5
-1
0
0
-23
-31
17
0
0
5
27
-7
0
0
-52
-30
46
0
0
47
-21
-3
7
-3
-73
15
45
-13
-25
16
-10
22
18
-17
-11
1
-1
3
-11
9
-88
-2
18
1
45
0
0
0
0
-5
0
18
0
0
26
-33
-14
0
0
42
7
-20
-1
0
66
-7
21
-12
0
-46
-13
-1
-7
24
-53
10
1
-4
-50
1
-9
2
1
7
0
0
0
0
0
12
-18
0
0
0
25
-13
-15
0
0
3
5
-23
0
0
-11
12
-7
0
0
-32
-5
-14
0
2
-2
14
2
-36
13
3
-14
1
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-5
-13
0
0
17
-3
14
7
0
13
-39
16
17
0
16
-32
-48
10
-4
0
-31
-4
-20
23
-25
21
8
1
14
38
16
2
1
2
0
0
0
0
0
-51
-28
16
-5
0
21
-7
17
9
0
-4
-25
-17
-7
0
-11
-5
5
1
10
-30
14
-55
34
26
1
16
0
10
-3
23
-1
3
-1
-7
-3
-55
0
-2
-1
64
-19
-4
0
0
52
28
9
-12
0
-13
7
-7
3
0
-3
14
-22
1
0
-32
-26
14
43
-10
-8
11
30
-20
-16
-20
2
2
15
-15
4
-6
0
-2
8
10
5
-10
-1
-1
12
4
0
0
0
2
12
-13
0
0
26
-5
5
7
0
22
-13
9
2
0
-71
49
-41
-1
8
8
-41
-9
38
34
-14
-3
7
-3
-3
-12
1
4
0
4
0
0
0
0
0
-14
29
0
0
0
-42
-12
-23
0
0
42
20
-8
0
0
-13
15
-4
0
0
-2
-79
16
-7
0
-26
-36
15
-5
-8
-13
1
-18
18
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-15
-1
0
-24
-23
23
3
0
-5
38
-29
-2
0
12
8
58
-35
-10
-4
7
-8
-16
13
-48
-9
15
2
-4
-1
20
-4
2
0
0
0
0
0
0
4
47
7
-11
0
25
4
-6
-5
0
13
-18
16
1
0
13
-1
9
8
8
9
-39
27
-12
-2
-24
4
10
-8
33
-8
7
-3
-4
14
13
-7
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
-5
0
0
-35
-7
-11
0
0
-3
6
5
-1
0
15
24
-22
8
-1
12
-2
13
3
4
15
-14
-10
-25
25
5
-8
0
3
-16
-5
4
-1
-2
1
0
0
0
0
0
-5
-5
0
0
0
42
-29
20
0
0
-5
2
-9
0
0
-4
-5
5
6
0
-24
2
11
16
1
18
33
-19
-13
13
6
-45
0
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
-6
0
0
-44
14
-15
0
0
23
8
3
0
0
22
-64
-7
37
0
-43
45
54
29
0
3
-2
-20
6
0
7
25
1
5
0
0
0
0
0
0
24
44
-29
0
0
11
-11
3
0
0
-31
15
13
0
0
6
9
13
7
0
-8
16
26
-20
0
-4
15
41
-20
0
3
28
-2
5
0
4
1
11
1
0
12
-6
0
0
0
-12
-15
-8
0
0
12
18
-5
0
0
-22
41
10
1
0
0
-36
20
5
0
21
2
-26
-35
0
1
16
-19
8
0
0
-2
1
3
0
-27
6
2
-5
0
26
-3
-1
0
0
-9
1
-2
0
0
-3
19
5
0
0
9
-12
0
0
0
20
-4
54
-3
0
6
13
-30
-14
0
-5
5
-5
10
0
29
5
2
-14
0
0
0
0
0
0
-18
-1
0
0
0
17
7
0
0
0
-4
14
-2
0
0
17
3
2
0
0
25
7
-4
-2
0
-31
35
-11
25
0
27
17
-10
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
3
6
0
0
0
8
12
-1
0
0
-30
45
13
0
0
-26
84
-4
0
0
-14
-1
6
0
0
2
-4
3
0
0
0
0
0
0
0
-14
0
0
0
0
1
1
0
0
0
-29
-2
0
0
0
-22
2
-1
0
0
-31
19
-4
0
0
44
0
32
0
0
0
5
12
0
0
17
-5
1
0
0
0
0
0
0
0
29
0
0
0
0
-5
0
0
0
0
22
0
0
0
0
-6
-13
0
0
0
-78
-23
7
0
0
3
54
-31
0
0
6
2
-9
0
0
-47
1
-1
0
0
0
0
0
0
0
-9
0
0
0
0
9
0
0
0
0
4
0
0
0
0
-25
0
0
0
0
-18
-12
-11
0
0
7
17
-26
0
0
-4
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
1
0
0
0
2
1
0
0
0
21
-6
-2
0
0
-12
-9
-16
0
0
0
49
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
1
0
-12
25
16
-16
-9
7
-14
47
-5
16
30
23
-23
-14
-48
11
-76
-59
60
-15
1
0
-98
-58
98
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
-1
8
1
0
0
-7
25
5
0
4
21
-24
6
-17
17
19
-13
26
-8
6
-102
-18
-28
-1
-29
0
-44
-3
16
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
1
-7
0
0
1
4
-7
0
0
6
5
16
17
-4
-8
-1
5
-3
-24
-39
-19
-27
-14
48
-27
-98
-5
55
34
0
0
0
0
0
-1
0
-4
0
0
3
7
-1
0
0
0
7
-1
1
0
-2
-10
-4
6
0
5
-8
19
-8
0
-15
37
-37
12
18
4
-75
-8
-7
57
0
0
0
0
0
0
2
-1
0
0
0
1
0
0
0
7
7
8
0
0
10
9
6
1
0
-6
39
2
-7
3
-17
14
5
24
-9
33
-5
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-3
-5
2
-20
-25
-33
7
9
-18
59
20
-29
6
27
22
0
16
-25
-1
-10
-25
-20
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
0
1
-8
0
0
0
-3
-5
0
0
0
-2
5
1
-1
0
-24
8
-7
35
-12
-4
-30
35
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-3
-1
-15
-32
5
-4
1
14
-45
68
-42
-9
-25
52
-208
23
26
0
2
-8
-2
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
-1
3
0
0
0
0
4
-1
0
0
0
-1
-8
0
0
-12
-5
2
9
-5
3
17
3
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
14
-3
0
5
-20
19
-50
0
5
34
45
-5
0
-26
23
-73
-41
0
-52
15
-22
-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
2
0
0
0
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
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
-4
0
0
0
-22
-39
8
1
0
-12
24
44
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
8
3
2
0
0
-13
-13
4
0
0
10
11
-13
0
0
-79
-10
-18
0
0
-28
-36
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-7
-1
0
0
0
18
3
-8
0
0
-6
-15
29
0
0
11
-80
-76
0
0
-66
24
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-2
-8
0
0
50
5
1
0
0
-53
-69
14
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
7
-19
-2
0
0
-18
13
2
0
0
-13
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
22
-14
0
0
-41
12
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
-6
0
0
7
18
-31
-2
-1
1
-8
-9
43
0
-30
-27
24
-1
-27
12
2
8
32
6
-20
-25
-33
-9
-17
18
2
-29
-47
56
0
0
0
0
0
-3
0
6
0
0
2
6
-2
0
0
-5
-1
-3
-6
0
-17
-5
-15
-13
0
-41
-7
-13
6
-12
22
-10
53
30
-2
-26
-16
-31
-35
-13
-5
19
-24
-27
4
-1
0
0
0
0
-1
3
-2
0
0
6
5
-2
0
0
-5
4
8
-2
0
-5
12
-6
-4
5
0
17
-1
42
-8
9
-13
-5
13
-8
-58
-48
-57
-18
22
-9
1
-10
24
48
-1
1
-2
0
0
-3
-5
22
1
0
-22
16
8
0
0
2
10
-1
1
0
15
27
-8
-4
5
10
-42
-1
-16
-22
10
41
7
59
-42
-81
-26
-16
-26
17
0
0
0
0
0
-3
3
-1
0
0
40
-7
-24
0
0
2
-25
5
-3
0
-13
25
32
3
0
-1
3
16
10
1
-32
6
-8
32
-12
17
20
24
3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
1
-5
-8
-1
0
-4
-4
14
-18
-5
10
-33
32
-8
-4
-1
12
-4
-31
-20
-78
-26
-37
31
33
-61
-50
-56
8
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
-5
2
12
-2
-5
-1
-12
-8
-4
1
0
-13
-25
-8
-31
0
-1
6
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
-3
-4
1
4
-2
-13
-6
-4
-14
-43
1
-17
34
0
0
-15
42
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
12
7
-2
-1
-3
-17
-22
12
-5
-8
-26
-50
-34
-18
0
0
0
0
0
1
1
0
1
0
-13
-2
19
0
0
-19
33
2
-1
0
-8
7
-6
6
0
4
10
-5
-24
-7
29
-14
11
-19
-2
-9
-13
-10
-8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
0
0
0
-27
8
10
10
30
-15
24
-33
-4
-13
-6
25
-29
13
-19
17
-74
16
-61
-64
-5
19
-112
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
-23
7
3
5
42
0
3
6
-6
10
-44
-20
-42
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
18
-24
0
4
0
0
5
0
-9
0
0
0
0
0
0
-3
-2
0
0
0
-15
8
13
0
0
6
-15
7
0
0
1
-18
-14
1
0
-5
9
25
-5
1
-18
-22
26
-8
-8
-12
15
-9
27
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
13
-1
25
5
0
-32
-7
15
10
0
40
8
-39
24
0
-14
15
-7
-11
0
10
-87
-24
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-14
-6
8
2
0
-3
0
12
7
0
-30
-61
-46
41
0
0
48
-4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-9
-31
4
0
0
-17
15
-23
1
0
-45
46
-66
-19
0
3
38
34
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
0
0
-1
-3
5
0
0
28
-30
-13
16
0
5
44
59
-18
0
0
0
0
0
0
1
0
0
0
0
4
-13
0
0
0
-14
-1
0
0
0
27
-1
-1
0
0
21
13
-1
2
0
-28
-5
-5
-17
0
-27
-3
-41
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
4
-31
3
0
0
3
24
-3
0
0
4
2
12
0
0
20
15
-4
0
0
-75
-128
63
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
5
1
0
0
0
22
9
0
0
0
6
18
-1
0
0
-56
31
15
0
0
-25
-39
-27
0
0
-32
19
-51
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
6
0
0
0
0
12
-1
0
0
0
-36
-29
3
0
0
6
-11
-16
0
0
3
35
-75
0
0
-85
-4
8
0
0
0
0
0
0
0
7
0
0
0
0
5
1
0
0
0
12
-4
0
0
0
8
4
1
0
0
-7
-25
25
0
0
-2
-8
10
0
0
-53
84
-15
0
0
0
0
0
0
0
1
0
0
0
0
-27
0
0
0
0
25
0
0
0
0
0
3
0
0
0
-6
5
7
0
0
6
-47
-2
0
0
40
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
9
14
0
0
35
-21
-5
0
0
-5
40
-22
-2
0
-23
-12
6
-42
-25
-19
2
8
28
-1
-17
-13
-11
7
-4
-77
-10
-6
18
-27
0
0
0
0
0
-5
8
-5
0
0
-19
29
0
0
0
0
27
-8
0
0
18
-1
16
-2
-2
36
-57
7
-1
21
48
-26
11
13
-32
-64
-8
-4
-36
-17
-15
5
-22
-23
22
-2
-2
0
0
0
0
-2
0
0
0
-16
6
5
0
0
-6
-7
4
3
0
4
22
-4
-8
1
-2
-82
36
-73
-3
47
19
-27
-9
13
-33
9
-36
32
20
15
21
10
73
-59
-7
-5
0
0
0
20
22
-37
0
0
-12
18
12
0
0
2
-10
0
1
0
-13
-3
0
25
1
-31
15
-58
21
21
52
-47
19
29
60
8
20
9
-21
-45
0
0
0
0
0
11
0
-1
0
0
-2
-8
20
0
0
-8
25
4
-1
0
48
-11
-5
-2
0
13
-33
11
8
-8
10
12
-74
-32
-8
9
-21
0
-29
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
4
0
0
-24
15
-12
-2
0
-16
-4
8
-9
-3
31
-63
17
9
-4
15
7
5
28
7
-29
-23
-12
-6
-6
-91
-35
-26
10
-16
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-1
8
-2
0
-4
-19
23
0
6
4
38
28
24
-39
47
-76
44
-14
-31
-44
-31
-53
-37
42
-66
-9
-33
-3
-7
0
0
0
0
0
0
0
0
0
0
0
7
-1
2
0
2
3
-2
0
0
-4
5
7
0
0
-2
-75
-3
17
-9
-24
29
34
6
4
-3
-27
4
2
-66
59
44
0
37
13
-1
0
0
0
0
0
-1
-1
0
0
0
1
0
-1
0
-2
5
3
0
0
1
-22
-3
3
0
-21
-5
29
-49
7
23
13
22
37
-13
75
-37
-44
48
8
0
0
0
0
0
-11
-5
0
0
0
3
-14
2
0
0
4
-14
14
0
0
2
41
-8
0
0
-9
-8
15
8
-2
22
-40
-14
-7
-13
-13
26
39
6
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-3
0
0
-5
-4
0
0
0
-35
-30
-6
-1
4
-21
16
13
17
-22
-44
17
1
-28
2
14
1
-6
-12
-9
-63
-13
-22
18
1
0
0
0
0
0
-1
0
1
0
0
-1
0
0
0
0
1
4
2
0
0
-7
4
-1
0
-2
30
-88
8
-23
22
67
1
-33
-50
0
-45
-45
-15
-45
14
-116
-35
-55
127
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
3
-2
-1
0
0
0
7
5
0
0
-4
5
8
2
3
-16
-12
-30
1
-14
13
12
23
43
31
52
-12
-9
-10
6
0
0
0
0
0
7
-5
1
0
0
2
-13
-7
0
0
7
-3
-7
1
0
-3
10
6
7
0
6
42
5
-24
3
-43
-5
-10
10
5
48
8
-12
16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
-8
0
0
0
-7
-10
-9
0
0
-13
1
-2
8
0
-2
-2
28
22
0
-2
-1
-6
-2
0
-39
-9
-33
-7
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
-4
2
0
0
0
-40
-3
3
3
0
8
-21
-6
-34
0
1
56
-16
-10
0
-45
-2
-36
-15
0
-1
-15
45
9
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
12
-12
0
0
0
-8
8
8
0
0
-31
6
28
-7
0
0
-12
0
24
0
-24
2
27
7
0
-55
19
-50
2
0
1
0
0
0
0
1
1
0
0
0
-10
0
0
0
0
23
5
0
0
0
-24
8
-13
-4
0
-22
-13
-8
31
0
22
-12
19
-11
0
-66
-6
13
-6
0
0
0
0
0
0
-13
0
0
0
0
-3
1
0
0
0
-3
3
0
0
0
-5
5
-3
0
0
-7
1
-6
0
0
-12
-33
79
1
0
32
13
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
18
0
0
0
0
-1
31
1
0
0
-3
24
24
0
0
7
16
19
0
0
5
-5
2
0
0
-23
-2
-8
0
0
0
0
0
0
0
-1
0
0
0
0
5
0
0
0
0
4
0
0
0
0
-20
-3
0
0
0
8
-25
-7
0
0
28
6
-61
0
0
-59
-1
-5
0
0
14
-22
21
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
-10
-1
0
0
0
16
14
-8
0
0
32
9
16
0
0
22
1
29
0
0
-1
24
27
0
0
-35
13
-62
0
0
0
0
0
0
0
-4
0
0
0
0
-7
0
0
0
0
11
5
-1
0
0
-20
-20
4
0
0
17
-2
-11
0
0
-2
10
50
0
0
-9
-15
7
0
0
0
0
0
0
0
-1
0
0
0
0
30
0
0
0
0
-2
0
0
0
0
-25
-2
0
0
0
30
-10
2
0
0
-41
-28
52
0
0
13
55
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
-56
-5
7
0
0
0
34
6
0
0
-58
31
8
-8
6
31
7
-1
43
33
-41
6
9
1
25
-10
-11
1
23
-10
0
0
0
0
0
5
0
2
0
0
-15
-2
0
0
0
-7
-8
0
0
0
6
-55
-12
-1
0
-59
20
-10
4
17
-20
9
-3
38
-17
-30
8
-7
1
-13
71
32
36
-16
19
-3
-5
0
0
0
33
1
1
0
0
2
10
2
0
0
25
-27
2
0
0
-20
5
13
3
0
39
12
-59
-20
-7
12
6
28
31
18
70
21
-6
3
1
-23
-26
40
1
-35
6
0
0
0
0
-21
-7
20
0
0
0
-15
1
0
0
-10
2
5
0
0
4
-5
-1
0
0
-3
8
48
-33
2
8
-19
-18
-29
13
-1
88
9
77
10
0
0
0
0
0
7
-1
1
0
0
-41
0
0
0
0
3
-6
-7
0
0
0
17
0
0
0
-8
19
4
3
0
-25
-1
-23
3
-5
-15
53
28
-10
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
0
-16
-2
6
0
0
50
-16
-7
8
0
12
-50
11
-27
-10
-11
-12
23
9
47
18
16
5
-3
-3
-41
-29
9
2
10
0
0
0
0
0
7
0
-3
0
0
-16
4
3
2
0
1
7
0
1
0
-20
-8
12
-5
-4
44
59
-21
-71
-2
44
-16
64
9
12
-39
-38
-63
-44
8
-103
-26
26
5
9
1
0
0
0
0
-3
-1
-5
0
0
7
-9
0
1
0
-20
0
3
7
0
18
29
-16
8
1
12
-3
6
29
2
47
-37
-19
-4
-33
36
23
66
4
49
-73
17
-35
19
17
4
-2
0
0
0
-8
1
2
0
0
-14
17
1
0
0
5
-10
-4
-3
0
0
6
-8
-5
2
13
-26
21
27
-1
31
11
7
40
22
-110
17
4
-5
11
0
0
0
0
0
-2
2
0
0
0
13
-9
-5
0
0
0
-6
0
-1
0
10
-5
3
0
0
-1
7
19
8
0
-23
43
-42
25
-3
8
7
19
18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
5
0
0
6
18
6
2
-1
30
-50
-49
14
0
23
22
-1
24
41
22
-2
1
9
8
-52
-25
9
51
6
0
0
0
0
0
3
1
1
0
0
4
-1
-3
0
0
4
-1
-9
0
0
4
-22
3
18
-2
-84
6
-11
-12
-18
17
13
-7
7
-27
-27
-31
1
53
-22
-81
30
3
-8
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-6
0
7
0
0
-9
1
4
0
0
-10
-6
23
0
0
2
16
17
1
0
0
-21
-10
14
-34
9
61
-1
14
-30
8
9
-13
-2
13
0
0
0
0
0
0
4
0
0
0
-1
-2
0
0
0
8
-1
0
0
0
-2
-12
1
1
0
-2
6
-4
6
0
6
-27
-27
30
16
-3
58
13
-15
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
8
0
0
0
-2
18
-5
-1
0
26
48
-7
0
0
-24
-4
15
60
0
5
-4
-1
1
0
1
3
8
15
0
0
0
0
0
0
1
2
0
0
0
2
1
0
0
0
-10
-30
0
0
0
46
-5
-5
-9
0
-29
-1
-4
26
0
27
-18
-48
12
0
-8
-3
-17
-59
0
-73
-10
32
42
0
0
0
0
0
0
13
-3
0
0
0
-10
6
0
0
0
8
-5
0
0
0
1
-2
-10
0
0
-5
-12
-43
5
0
-20
44
47
55
0
11
11
-27
19
0
-83
-72
24
-9
0
-6
0
0
0
0
21
-12
0
0
0
-3
7
1
0
0
-22
5
-1
0
0
-20
-13
5
4
0
-78
-5
3
-34
0
29
21
38
42
0
55
-64
-14
47
0
0
0
0
0
0
1
0
0
0
0
3
-2
0
0
0
0
-1
0
0
0
0
-4
0
0
0
-2
1
-4
0
0
12
4
-25
20
0
-1
17
14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
-2
0
0
0
-8
-41
-2
0
0
29
14
-7
0
0
10
0
8
0
0
-6
33
15
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
5
0
0
0
0
2
-4
0
0
0
-6
-9
-26
0
0
-19
-25
3
0
0
6
-6
40
0
0
16
-45
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
2
8
3
0
0
5
20
31
0
0
37
-35
-21
0
0
0
4
8
0
0
0
25
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-1
0
0
0
-36
-6
14
0
0
33
72
4
0
0
-74
-26
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
13
10
-1
0
0
0
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
1
0
0
0
0
3
30
-5
-5
0
-15
46
-9
21
-17
-61
19
17
12
22
-4
5
22
45
-6
0
0
0
0
0
-1
0
0
0
0
-2
-2
0
0
0
0
0
1
0
0
0
20
0
0
0
0
-25
-11
-5
5
31
31
52
-13
0
-1
33
-1
50
13
-42
-65
32
-8
9
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
9
-4
-1
0
-1
13
17
-9
0
13
27
57
13
2
-5
9
30
23
20
-24
-1
-5
0
23
0
2
0
0
0
-3
0
0
0
0
10
0
0
0
0
-3
0
-2
0
0
0
-4
-4
-2
0
11
-66
-9
2
1
-1
-49
43
2
15
43
266
-36
13
-79
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
1
27
2
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
-27
2
0
0
-5
21
-13
-17
0
71
-48
57
21
9
-45
55
6
-11
-7
4
-23
40
-1
25
0
0
0
0
0
1
-1
0
0
0
3
-3
1
0
0
-8
14
-18
0
0
-8
18
-24
2
-1
-79
-16
11
15
-21
-7
57
-16
9
23
52
-7
21
-25
95
-12
14
-9
49
-23
-1
0
0
0
0
-2
4
0
0
0
6
-2
1
0
0
6
7
0
0
0
-4
-35
17
-2
-3
-32
17
45
-5
-8
7
-1
0
13
7
-6
5
-10
0
5
9
-22
77
-1
-51
6
1
0
0
0
0
7
0
0
0
-20
-8
0
0
0
15
8
0
0
0
2
8
34
0
0
-33
23
-3
6
-5
-8
26
1
-8
-1
44
-12
15
-2
16
0
0
0
0
0
2
-5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
-1
0
0
4
1
-3
-6
0
13
-4
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
-1
0
0
0
0
0
0
4
0
0
0
-2
8
-8
0
13
-18
82
3
27
-25
-1
-2
-3
57
15
88
0
38
-25
0
0
0
0
0
0
1
0
0
0
-2
5
-1
0
0
2
10
6
0
0
0
12
19
0
-1
-10
-35
-19
37
4
-5
46
-20
27
19
-53
39
-2
37
-36
-4
-96
49
-10
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
1
0
4
0
0
0
-5
2
0
0
0
-5
-23
0
0
1
-2
17
0
0
-12
8
13
5
-1
2
-40
33
45
48
0
42
-63
9
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
1
-12
0
0
0
-8
-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
1
0
0
0
0
-1
0
0
0
0
1
0
2
0
13
-23
-33
10
0
39
18
-34
-12
0
-8
4
11
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-1
0
0
1
8
4
0
0
11
16
6
12
0
24
12
-32
50
0
-13
28
9
-7
0
76
-33
16
-9
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
42
12
7
0
0
-7
27
7
0
0
-42
-12
63
-76
0
242
-25
51
-22
0
0
12
-53
67
0
2
0
0
0
0
-4
5
0
0
0
4
0
0
0
0
-3
-1
0
0
0
4
-2
-2
-2
0
33
-41
44
7
0
-8
18
42
-22
0
0
-1
11
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
-8
0
0
18
0
1
0
0
4
-51
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
-7
-9
1
0
0
-12
-30
-46
0
0
-4
-18
24
0
0
0
30
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
-14
-3
0
0
0
24
-24
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
0
0
0
8
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-1
0
0
22
-8
3
0
0
10
-4
-4
0
0
-4
19
-39
-6
-17
-1
-2
-1
-40
-1
0
-19
2
-13
-6
-126
43
-13
10
0
0
0
0
0
0
0
5
0
0
0
5
-6
4
0
0
-15
4
-2
0
0
-20
13
9
-1
0
18
-18
9
13
-2
-11
-5
-50
-51
-37
-13
10
-7
0
-91
0
-32
0
1
-1
-1
-1
0
0
0
3
0
1
0
0
-3
2
0
0
0
26
-9
12
0
0
7
-61
5
-7
-5
0
30
-16
-26
46
72
5
0
-13
5
-40
-5
-17
-5
-4
-46
41
-6
-4
-20
-7
-1
0
0
0
24
-4
0
0
0
24
-17
0
0
0
-29
13
3
0
0
5
-25
2
-7
7
-15
-17
-28
-39
3
-3
27
-5
-1
-7
-55
-7
3
-4
0
0
0
0
0
0
13
3
0
0
0
27
2
-1
0
0
5
-22
0
0
0
21
-24
5
0
0
25
-29
9
-10
-1
-61
-27
28
28
-5
13
-5
-6
18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
0
0
5
-8
-3
0
0
14
50
-12
3
0
-36
31
5
51
5
43
22
-8
-24
-12
-20
-12
-35
-1
-47
-7
-58
-3
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
3
0
0
0
-20
-1
0
0
0
-3
0
27
0
0
4
8
8
19
0
38
-18
-59
-17
-7
-4
-9
3
4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-5
-3
0
0
3
-8
0
0
0
26
-31
-5
4
0
-7
30
27
-32
8
-17
-31
-29
-28
37
-29
12
7
-13
-32
12
-35
-25
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
25
0
0
0
4
0
2
0
0
10
-18
2
9
0
8
-59
9
-3
-1
9
-29
13
29
2
-20
4
-3
-14
-23
-13
2
-3
-5
13
-10
-1
-13
-1
-14
9
-7
-25
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
2
0
0
-25
-2
0
0
0
-2
25
-2
-2
0
7
27
7
-1
0
20
-16
-4
-1
-2
-34
0
10
16
-29
5
0
22
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
7
0
0
0
-7
-4
0
0
0
-23
1
1
0
0
-13
10
-9
-6
0
26
-20
23
35
0
19
10
4
-12
0
-129
-18
-94
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
3
-1
0
0
0
-4
-5
0
0
0
7
8
3
0
0
-32
-11
-2
0
0
-21
-16
-16
22
0
0
3
4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
12
-5
0
0
0
7
18
18
0
0
108
-4
16
0
0
11
3
-11
0
0
-107
-7
-28
0
0
0
0
0
0
0
8
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
5
8
0
0
11
-43
15
0
0
41
27
-4
0
0
-52
5
-22
0
0
-55
-3
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
12
20
1
0
0
21
-19
-14
0
0
37
3
25
0
0
8
-7
8
0
0
1
5
30
0
0
0
0
0
0
0
6
0
0
0
0
6
0
0
0
0
13
0
0
0
0
-2
-7
-2
0
0
-43
51
-25
0
0
7
13
16
0
0
5
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-9
0
0
0
0
-19
0
0
0
0
2
12
-7
0
0
-5
5
-5
0
0
4
7
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
2
0
0
2
-20
-4
0
0
21
2
1
0
0
66
-61
-52
0
-3
44
9
-4
3
-4
-12
8
7
11
-1
3
15
4
-9
0
0
0
0
0
0
-23
9
0
0
0
2
7
-3
0
0
2
1
4
0
0
5
-13
-5
5
0
-19
-83
12
-48
2
-6
15
-3
-2
12
5
2
0
0
-1
8
-11
4
-1
-2
8
0
0
0
0
-4
25
-2
0
0
16
-20
-3
0
0
13
16
-35
0
0
-14
-7
-24
3
0
43
12
-13
21
-4
6
12
-9
4
34
11
-7
4
-1
-8
22
23
-5
13
-15
-13
16
0
0
0
32
45
1
0
0
-19
-28
-2
0
0
-2
6
-8
0
0
-31
7
34
13
-5
-19
-46
17
-69
32
0
3
-4
-30
0
-11
10
-15
4
5
0
0
0
0
0
-14
5
0
0
0
-4
15
0
0
0
43
-46
2
0
0
-22
25
-6
0
0
38
13
4
9
-4
28
-31
-20
5
13
1
12
24
-17
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-6
-1
0
0
-10
-19
7
0
0
9
38
-15
-13
0
6
-33
-33
25
-9
-90
15
-33
48
0
9
7
2
2
15
13
-46
4
3
3
0
0
0
0
0
59
-4
5
0
0
-12
-2
2
0
0
1
2
34
0
0
13
-21
25
-4
-1
-10
-53
34
-9
-21
49
5
-34
20
4
-4
-28
-1
1
15
-3
15
-58
-2
-2
5
-3
0
0
0
-9
-1
-1
0
0
25
4
1
0
0
3
3
-4
0
0
2
8
8
5
-1
29
-5
-26
3
3
-5
-44
17
13
-8
17
3
1
-17
1
-3
-28
-19
-29
0
3
-2
2
0
0
0
-14
0
0
0
1
-14
-3
-1
0
0
6
-9
0
0
17
-21
42
-6
-1
-56
-3
58
-23
-6
4
7
-31
22
-42
-4
-12
7
-41
5
0
0
0
0
0
7
-2
0
0
0
22
18
-10
0
0
-16
-1
-18
0
0
31
-15
24
0
0
1
-8
14
6
4
50
10
13
23
-32
-20
-5
-5
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
22
1
1
0
-7
-17
-19
0
0
0
-27
22
5
0
13
13
6
-16
-22
9
-5
4
14
22
13
18
5
6
7
-15
11
1
3
-3
0
0
0
0
0
-13
0
-1
0
0
-2
1
3
0
0
-7
-6
-9
0
0
7
24
24
-8
3
23
-3
16
9
-3
-4
1
-17
-26
14
-23
-3
1
1
-20
5
13
2
38
-13
63
-8
-2
-1
0
22
15
-13
-1
0
-28
29
52
-24
0
12
37
1
4
0
-1
16
-16
7
-4
18
-4
14
19
8
18
6
-12
-4
11
-4
-2
1
-2
1
-2
-1
-3
8
-3
24
-1
0
0
0
-15
31
-1
0
0
-13
8
3
2
0
8
10
-6
5
0
3
-32
2
15
1
-32
23
-33
6
3
16
-5
-5
-10
51
7
0
3
-1
-5
0
0
0
0
0
3
21
-1
0
0
-8
18
-30
0
0
42
29
11
4
0
-8
43
-6
-2
0
4
23
-20
8
9
-13
-50
23
-4
-15
-24
1
6
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
0
0
0
17
8
2
0
0
14
-5
-1
0
0
-15
-13
-2
4
0
14
9
35
-5
0
3
6
2
6
0
11
3
6
-6
0
0
0
0
0
0
6
-2
0
0
0
1
-1
0
0
0
8
34
-1
0
0
-22
3
-9
-4
0
-21
-14
-4
9
0
14
6
7
5
0
19
1
-14
-19
0
-60
-38
2
32
0
8
0
0
0
0
0
4
0
0
0
-13
-17
0
0
0
-17
-13
0
0
0
11
36
10
-9
0
-11
-14
-15
-23
0
33
4
41
14
0
-5
13
-1
32
0
11
0
-3
-1
0
1
0
0
0
0
-3
-1
0
0
0
3
-1
0
0
0
1
7
0
0
0
-30
-6
14
8
0
-21
-31
23
21
0
-4
19
-13
40
0
0
3
-25
-4
0
0
0
0
0
0
-1
-2
0
0
0
-4
-9
0
0
0
3
-5
0
0
0
-64
-58
0
0
0
44
28
-13
-1
0
4
28
-13
2
0
6
12
-47
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
18
7
0
0
0
-8
-33
-6
0
0
-14
-24
-7
0
0
1
25
12
0
0
-3
1
-2
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
1
0
0
0
0
8
-4
0
0
0
44
-2
5
0
0
1
-39
12
0
0
8
-7
-2
0
0
-34
1
-4
0
0
0
0
0
0
0
4
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
-5
-10
-1
0
0
-11
40
-14
0
0
15
-16
19
0
0
36
-1
-16
0
0
-3
10
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
6
-18
-6
0
0
22
-10
22
0
0
28
40
31
0
0
-4
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
-41
17
7
0
0
-6
9
18
0
0
7
9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-30
-7
0
0
0
-67
-7
3
0
-1
16
-5
-11
-37
-3
9
8
7
10
-49
3
-13
-3
-3
7
0
0
0
0
0
0
-3
0
0
0
15
-10
0
0
0
25
1
-5
0
0
-10
-1
0
0
0
12
-59
-32
-1
0
-1
-1
-4
7
46
-18
0
7
1
10
16
-2
-8
0
9
9
0
0
0
0
4
1
0
0
0
-19
-13
-2
0
0
-4
43
-1
0
0
-18
-1
-7
1
0
-92
39
-17
-5
2
-14
-6
5
-34
-40
28
-4
7
0
-3
16
-44
-7
16
-4
-4
-2
0
0
0
-13
-7
0
0
0
-25
-5
0
0
0
-5
8
1
0
0
11
8
-13
-1
-2
43
81
-119
11
-12
22
-1
-3
-35
-22
12
10
12
6
-8
0
0
0
0
0
-12
-8
0
0
0
-1
-1
0
0
0
-5
-5
0
0
0
-6
-13
-7
0
0
-13
19
5
-10
0
-39
1
-1
-34
2
-17
18
-12
4
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-24
8
0
0
0
-14
-15
-4
0
0
-5
20
20
-12
1
-58
9
10
20
-4
-3
3
9
1
-8
8
12
3
0
1
0
0
0
0
0
-41
14
-1
0
0
-10
22
-13
1
0
-18
2
2
0
0
11
27
-7
6
-4
-49
-9
18
-16
22
-2
1
-4
-5
41
5
0
1
0
8
7
14
0
0
-5
-15
8
0
0
0
-3
-32
0
0
0
-16
1
3
0
0
13
0
0
5
-1
58
9
-29
-3
6
-61
19
42
5
18
11
-5
-2
-2
43
9
3
3
2
-1
24
-9
9
8
1
19
17
-5
0
0
-4
-8
-7
0
0
-28
13
4
0
0
-26
-15
7
0
0
70
-55
5
23
-4
-51
39
6
-48
-5
-84
10
-1
26
15
20
-3
-24
-41
30
0
0
0
0
0
0
-48
0
0
0
-23
-6
0
0
0
4
5
0
0
0
-16
-21
-15
0
0
34
85
4
-1
-3
-22
0
-20
35
10
49
7
49
-16
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
15
27
0
0
4
-11
-8
1
0
-2
-31
34
51
8
30
86
9
30
-32
49
1
10
7
55
12
18
3
-3
0
0
0
0
0
0
8
-15
-8
0
0
5
-5
8
0
0
-15
0
-5
-3
0
-1
22
-13
16
0
0
-7
-18
24
-4
-13
4
-12
26
5
9
-2
1
0
6
12
-6
1
-6
3
0
0
-7
0
0
-17
-13
37
-8
0
45
0
-10
12
0
-18
15
7
2
1
-9
2
13
-16
8
-11
-27
-4
-4
9
2
-22
2
2
-8
9
1
-1
0
29
-25
46
7
38
-2
-25
20
0
0
0
31
-5
-1
0
0
-17
3
-4
0
0
1
2
41
-5
0
-14
34
6
-7
1
-26
23
30
20
-38
19
-2
14
1
35
-4
0
-1
3
-27
0
0
0
0
0
1
-29
0
0
0
-3
6
-1
0
0
1
-1
3
0
0
4
-2
-12
0
0
-10
-2
45
1
-1
19
-1
13
2
16
-15
10
16
23
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
7
5
2
0
0
10
9
-5
0
0
13
0
-3
-48
0
-6
33
-19
-5
0
49
-1
-1
-7
0
0
0
0
0
0
-1
-1
0
0
0
-4
1
0
0
0
-5
-10
-2
0
0
10
-22
-8
2
0
3
12
-32
-17
0
-3
-18
-37
11
0
-1
-10
1
-12
0
18
2
6
-4
0
-5
0
0
0
0
6
5
0
0
0
5
17
-2
0
0
5
-16
2
0
0
-12
4
2
14
0
-9
28
57
31
0
1
5
-18
3
0
23
-4
1
3
0
6
4
-7
2
0
-8
0
0
0
0
29
-5
0
0
0
31
-2
0
0
0
11
-2
3
0
0
14
8
2
-3
0
-5
9
-50
23
0
-1
-15
25
-18
0
-16
-8
0
15
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
56
-14
0
0
0
-24
-16
5
0
0
-22
31
9
12
0
-28
-16
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-62
39
5
0
0
-32
21
-2
0
0
3
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
16
3
0
0
19
7
-6
0
0
3
2
8
0
0
59
3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
2
0
0
0
8
17
-13
0
0
-5
22
6
0
0
-42
-12
15
0
0
-51
-114
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
14
8
0
0
0
17
15
-8
0
0
34
-6
13
0
0
-39
-21
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
14
-7
3
0
0
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
14
-3
0
0
7
39
28
10
5
-40
-58
23
64
32
-4
1
-111
-95
-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
0
0
-7
-5
0
0
1
-5
-5
19
-6
1
-17
4
-12
-13
-17
0
-7
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-3
4
1
-1
0
6
-6
8
3
-2
-44
-31
-17
0
0
0
-33
-24
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
-2
5
0
0
0
-2
20
-8
-13
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
-10
-1
0
0
2
-8
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-47
-16
10
-2
-66
-18
-63
-11
16
-7
0
-4
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
-31
-36
-18
-5
-24
-25
11
-2
5
-1
-16
3
-8
-107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
-57
16
-6
-1
0
-13
18
37
-37
0
-8
-35
-24
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-19
-8
-3
0
0
-18
-89
9
0
0
51
-38
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-14
13
1
0
0
-31
-15
23
0
0
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
5
12
3
0
0
0
-4
0
0
0
1
-41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-8
-26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-25
-6
4
-6
6
-41
-8
10
22
-13
-24
-23
-11
4
-14
5
-28
-25
-80
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
2
1
0
0
-47
42
-24
-15
0
19
12
-36
67
5
-28
-64
54
-36
8
76
-39
-102
-104
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
13
16
1
0
0
-17
-17
-7
27
3
-9
24
18
26
-9
-8
7
5
-137
-9
9
-53
-43
15
-59
-1
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
42
-9
-15
0
0
0
-5
2
-4
0
30
-19
25
9
7
-49
-25
-13
39
0
19
-44
-30
-77
-9
0
0
0
0
0
0
-1
0
0
0
3
-1
0
0
0
1
-13
0
0
0
-20
6
-8
0
0
-1
-8
0
-6
0
-2
2
3
4
-13
-5
-8
-25
-3
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-13
-42
-8
-5
-27
-21
19
-50
10
31
-45
-48
5
-24
26
-12
-4
-4
-6
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-10
6
0
-13
-44
-19
22
24
-25
-37
61
-46
-33
16
23
-49
-25
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
1
-1
0
0
1
8
2
-15
0
13
24
-7
-16
-8
-3
0
-20
-29
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
4
0
-1
0
0
-31
-31
-3
-2
-5
49
3
-6
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
8
0
0
0
5
-1
-1
0
0
-13
13
13
1
0
-6
-8
-16
-14
0
6
-41
-54
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
-27
-52
-37
37
-2
-23
2
-9
-26
5
-80
-20
2
-50
-37
-8
1
-77
-7
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-22
0
0
27
-41
22
-63
5
-13
-47
9
28
35
5
2
13
-14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
-7
2
0
-1
9
2
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-2
4
1
0
8
-19
5
0
0
-7
8
-22
16
-10
18
-25
25
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
10
1
0
-3
0
57
-66
-30
-5
0
-62
11
-13
-3
0
-51
-105
-34
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
-10
3
-31
-3
0
-38
-71
-6
-9
0
0
-14
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
5
3
-2
0
0
-61
-37
4
0
0
46
-14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-2
0
0
0
8
-3
1
0
-1
-53
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
-4
-4
-5
0
0
-2
12
-8
-1
0
3
-26
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
-22
-4
0
0
59
5
-4
0
0
-2
24
-1
0
0
24
-89
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
-10
29
5
0
0
-58
20
16
0
0
-36
-60
-77
0
0
56
-22
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-5
-13
-6
0
0
-7
-22
-40
0
0
-28
-88
-85
0
0
5
9
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
2
0
0
0
-10
-24
-1
0
0
-1
-18
-31
0
0
11
-10
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
0
0
0
-2
9
3
0
0
24
-18
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
-27
8
1
2
0
22
-32
-31
-7
1
42
-7
82
31
-10
2
1
-1
2
15
-19
-28
32
6
15
0
0
0
0
0
2
0
0
0
0
3
0
0
0
0
-23
9
-5
0
0
5
20
-7
2
0
-16
-31
30
28
0
53
4
11
-27
-10
-49
13
-1
0
19
8
36
26
5
37
1
0
0
0
0
2
-1
0
0
0
-4
-2
0
0
0
-1
19
1
0
0
4
23
8
7
0
35
47
-10
-4
-18
-5
13
15
-23
-44
-132
-36
-5
-30
36
9
-81
16
-19
-20
-1
-4
0
0
0
-14
0
-1
0
0
8
0
0
0
0
-31
6
24
0
0
12
38
-1
-1
0
6
-12
-28
6
-66
-14
1
69
23
36
-38
12
-69
7
6
0
0
0
0
0
8
0
0
0
0
-2
3
0
0
0
-8
34
0
0
0
20
-48
-4
0
0
-19
18
-1
-13
0
21
-40
12
1
2
6
-17
-11
28
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
-1
2
-2
0
0
3
28
4
0
0
7
58
-25
35
0
3
-60
-1
5
13
-88
3
2
-33
1
60
-86
-23
-19
-34
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
-3
3
0
0
-2
3
-9
-3
0
-29
2
-33
13
8
-19
20
-32
-5
-50
20
-9
-10
-1
4
58
5
82
-91
7
0
2
0
0
0
1
0
0
0
0
0
-1
0
0
0
-8
-8
-5
0
0
-18
-7
0
-4
2
-5
8
-37
-5
1
-30
-20
5
18
-29
4
32
30
-3
-141
14
-84
-56
-69
29
0
0
0
0
0
0
2
0
0
0
1
-3
1
0
0
14
-4
-9
0
0
-9
-3
-5
-13
0
-4
13
-10
-6
-7
-5
11
5
28
-44
-19
-22
-6
20
19
0
0
0
0
0
-8
-2
0
0
0
2
-2
-6
0
0
0
-3
1
0
0
-4
8
-4
0
0
8
-45
-3
-6
-1
-32
-5
9
-7
-9
53
-2
-13
13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
0
-1
0
0
-5
10
-19
0
0
1
-29
7
1
9
19
17
37
1
-40
-14
8
-3
4
7
-13
-20
-85
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
-9
-14
-2
-1
-59
0
-25
0
-5
-17
-5
53
33
-21
81
25
-77
-2
-14
86
67
-1
-50
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
5
4
0
0
4
4
0
0
0
3
6
-7
0
0
-5
-6
2
1
0
-13
-71
27
-22
6
-9
46
14
-37
-47
7
1
-121
11
30
0
0
0
0
0
1
-3
0
0
0
1
9
5
0
0
-4
-4
7
0
0
9
-12
-5
1
0
1
-21
-5
2
2
-4
3
-61
-41
-8
33
20
25
17
-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
1
-3
0
0
0
-4
-1
-8
0
0
2
-57
-10
9
0
22
31
7
8
0
-2
1
-10
7
0
-18
6
-35
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
10
15
0
0
0
11
-48
-28
-43
0
-27
-32
98
-12
0
-81
11
-45
42
0
29
23
-12
-22
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
-4
-1
0
0
13
-9
4
0
0
3
-15
-25
7
0
-46
-25
-3
8
0
-79
36
-29
-65
0
69
-31
4
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
-1
2
-33
3
0
10
-15
-20
-17
0
-1
-6
40
-15
0
3
-7
-42
-18
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
-7
9
0
0
0
14
-8
-1
0
0
12
-9
-26
-17
0
0
-34
24
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-5
17
12
0
0
-35
-4
-38
0
0
16
28
6
0
0
3
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-57
23
-16
0
0
36
-19
-15
0
0
-15
9
22
0
0
25
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
13
8
-12
0
0
-14
49
-3
0
0
42
-8
-77
0
0
-5
-27
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
3
-8
0
0
0
-4
-5
-9
0
0
20
8
-41
0
0
-31
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-12
-3
-1
0
0
-10
-3
-3
0
0
51
-21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
1
-13
-2
0
0
-6
36
-51
36
20
51
13
21
3
73
-20
80
31
71
5
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
-2
0
0
0
0
9
0
0
0
-37
23
25
-7
0
-24
9
-2
-7
-12
51
20
12
23
6
-4
22
123
-44
21
0
0
0
0
0
1
0
0
0
0
6
3
0
0
0
0
-1
0
0
0
-7
14
1
0
0
-24
13
14
5
0
31
18
13
30
-2
122
-17
-9
7
4
-49
60
-12
-13
29
2
2
0
0
0
2
-2
0
0
0
4
-1
0
0
0
0
1
0
0
0
1
4
6
-1
0
-9
4
-4
-35
1
18
32
-23
0
13
-12
-17
-18
83
-41
0
0
0
0
0
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
-1
-1
0
0
16
21
-1
-1
-6
3
0
28
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
-5
-1
1
37
1
4
-28
-15
90
-8
-31
13
0
-41
-14
68
68
42
-13
8
0
0
0
0
0
0
1
0
0
0
-1
-1
0
0
0
9
5
3
0
0
-4
27
3
2
0
42
11
-7
8
5
28
-2
25
46
-1
-5
-12
17
-1
8
19
-48
-31
4
2
0
0
0
0
0
-1
1
0
0
0
-5
-2
0
0
0
8
-5
20
0
0
8
4
18
-7
1
21
-41
-60
-24
2
-33
32
30
-15
8
-11
-17
-3
24
-37
27
42
28
-10
-13
0
0
0
0
0
24
2
-1
0
0
5
2
0
0
0
-4
13
3
0
0
-2
4
7
1
0
29
-110
-12
35
12
-1
7
17
-10
19
-15
56
15
-3
-61
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
21
0
0
0
-1
-14
5
-14
5
3
24
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
-5
18
-5
14
1
22
7
1
88
-21
47
0
16
-9
34
6
-9
6
-20
26
0
0
0
0
0
3
0
0
0
0
-4
-1
0
0
0
1
-8
-6
0
0
-4
1
-8
10
1
5
72
43
-59
14
-60
42
33
32
11
4
3
-14
16
11
60
25
24
-39
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
4
-5
5
0
0
0
-3
0
-1
0
2
7
-28
0
0
3
-1
-13
-8
0
-16
-4
5
7
-9
-17
38
-10
3
-15
-49
-42
20
28
10
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
-2
0
0
-5
-13
-3
2
20
1
25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
5
-9
-4
0
-16
106
66
-13
0
-13
-24
58
-18
0
62
-7
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
-9
4
0
0
-30
-22
-41
-5
0
7
-9
4
-52
0
-13
13
-1
20
0
2
14
9
11
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
6
-3
0
0
0
4
8
-2
-1
0
16
64
10
-25
0
8
-7
-19
11
0
131
14
-23
18
0
16
-63
-23
-85
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-4
0
0
0
0
20
0
1
0
0
13
-13
69
0
0
67
-14
-17
13
0
-29
8
-8
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
0
0
-16
0
-1
0
0
4
-2
1
-1
0
0
-12
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-10
1
0
0
64
31
46
0
0
9
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
5
0
0
42
24
8
0
0
16
1
21
0
0
-58
-12
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-7
0
0
0
-1
-22
-13
0
0
2
5
-23
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
-3
-8
25
0
0
1
89
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
-41
41
0
8
16
65
-3
-9
14
46
73
-66
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-9
-3
0
0
-34
-5
58
47
5
19
-18
17
2
-1
8
7
-8
-52
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
2
0
-47
3
48
2
31
-48
7
-55
20
0
4
-3
13
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-69
1
1
0
0
-1
-12
2
-3
0
15
55
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
1
40
17
-20
0
4
18
-11
7
13
31
32
55
27
15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
-7
1
0
0
0
6
0
0
0
51
-46
24
24
-8
-90
26
30
-20
0
-30
20
-9
33
9
22
-30
-17
-4
-22
0
0
0
0
0
-3
1
0
0
0
2
-3
0
0
0
0
1
-1
0
0
1
1
3
-1
0
2
-15
-48
-6
-4
54
11
17
-29
-7
-61
4
23
-4
42
4
-74
4
2
21
3
-1
0
0
0
3
15
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
7
4
1
1
20
-21
-12
5
1
16
-64
49
-22
16
-5
14
-33
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
41
26
-5
-5
-17
43
24
-7
24
14
-6
-25
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
-2
0
-2
0
3
-9
31
8
7
7
-5
5
26
5
-29
0
15
28
-6
42
3
3
-43
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
1
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
-1
0
1
0
8
-25
20
-4
16
1
31
2
3
1
0
1
-98
14
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
4
0
49
-39
-52
6
0
2
52
3
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-19
-41
13
5
0
-58
24
46
8
0
5
-4
1
8
0
5
33
-51
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-3
-1
0
30
13
-5
3
0
21
-4
6
12
0
-1
52
-47
-10
0
0
-9
2
9
0
0
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
2
-9
-3
0
0
0
23
-9
0
0
0
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
35
0
0
14
-7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
31
0
0
0
9
-6
0
0
0
0
0
0
0
0
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
1
-1
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
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
1
0
0
0
1
7
0
0
8
14
-3
-7
1
-14
59
27
42
5
-19
9
-8
-32
-18
-5
-32
23
-1
-11
14
6
-2
17
5
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
-4
-7
0
0
-8
0
-3
9
-3
15
2
-11
-27
8
-40
41
-26
13
85
25
7
6
-12
0
12
-24
4
4
-131
-2
-1
0
0
0
0
0
-1
0
0
0
4
0
0
0
1
-6
38
0
0
0
-25
-5
0
0
8
-48
14
17
8
-1
58
30
-23
-6
42
12
-45
76
13
-58
27
-13
11
-28
0
-1
0
0
0
0
0
0
0
0
-6
0
0
1
0
-2
8
1
0
0
4
10
-3
-4
0
-15
20
-6
16
10
34
-62
30
46
-4
-42
-9
-27
-13
-46
0
0
0
0
0
0
1
0
0
0
-9
2
2
0
0
-8
22
0
0
0
9
7
-2
0
0
-1
9
8
-9
0
14
-29
13
-16
13
-33
-14
6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
-17
0
3
0
1
21
-5
31
18
-42
56
-89
-7
-43
-6
-9
-27
-66
-7
41
-101
35
-8
68
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
5
8
1
0
0
-5
8
2
0
0
-8
10
1
1
0
5
-4
12
-6
-7
-4
5
-3
53
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-7
4
5
0
-23
34
-13
19
25
-42
-51
42
35
2
6
-7
-30
-8
-43
-2
-43
20
-47
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
27
0
0
0
0
1
-5
0
0
0
-20
7
3
0
0
9
-17
1
1
0
-12
-56
8
-23
1
-21
17
-46
23
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
-3
0
0
0
0
5
8
1
-1
0
21
22
-14
-2
0
54
43
85
2
0
-27
-20
5
7
0
5
-22
19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
4
0
0
0
3
16
-2
2
0
7
-48
8
-8
0
5
49
-58
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
-2
0
0
0
0
-6
-4
-1
0
0
-57
-29
-5
0
0
12
38
70
0
0
-40
52
-31
0
0
-50
-96
-20
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
-7
0
0
0
0
1
-3
1
0
0
-14
-41
22
0
0
25
47
-38
0
0
-81
-7
-93
0
0
-38
-74
84
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
-9
-1
0
0
0
8
3
-4
0
0
8
-25
14
0
0
21
2
-17
0
0
-102
15
-21
0
0
-51
-27
49
0
0
0
0
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
6
1
0
0
0
-8
-7
-17
0
0
4
-23
-28
0
0
-20
30
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
5
1
0
0
0
-24
24
-5
0
0
-17
-31
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
-9
1
-10
0
0
47
1
-41
-35
-16
-49
35
20
39
5
13
-11
20
6
43
-18
31
29
-21
-22
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
3
-3
0
0
-4
-1
8
-3
5
15
18
-43
13
-4
-38
-25
136
-31
12
-6
5
37
-10
-29
82
8
-98
88
-51
0
0
0
0
0
1
1
0
0
0
2
2
0
0
0
5
17
5
0
0
1
2
-13
0
0
-4
-28
-8
2
8
-51
-42
-9
51
4
-7
74
29
12
20
-11
25
7
14
-75
0
0
0
0
0
0
-5
0
0
0
2
1
0
0
0
0
-4
-2
0
0
1
2
1
-1
0
-8
-55
0
-5
-1
13
-42
25
-15
14
-57
180
77
67
-68
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
1
1
0
0
0
-3
0
-4
0
0
0
-2
1
0
0
-19
-13
-2
4
1
-10
32
30
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
-1
3
1
0
0
1
15
8
3
0
13
5
24
-3
2
-29
-12
-7
109
44
51
-31
-40
-83
16
-44
2
51
-19
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
12
7
-17
1
12
-4
16
-4
3
48
18
3
-41
-6
-5
-54
-28
14
21
-8
2
0
110
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
8
0
1
-2
1
2
-12
-14
0
2
5
0
-2
-3
-1
-3
59
-21
48
5
0
-1
50
-19
2
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
1
-3
0
0
0
0
2
0
0
9
-1
9
-1
1
23
22
-6
-44
7
-1
-20
20
41
-19
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
-2
0
0
0
-4
0
0
0
1
-2
2
0
0
-6
24
3
-24
0
49
-46
25
27
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
3
0
0
-64
-12
-6
28
-15
55
25
0
-14
18
-39
0
13
-17
53
-82
-9
40
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-6
-4
-23
-5
-3
5
9
-16
55
-12
-24
18
4
-6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
0
-2
0
0
0
0
-1
4
0
0
0
-1
4
0
0
0
4
-17
16
-2
-2
2
52
-16
6
3
0
0
0
0
0
5
-2
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
4
0
0
-2
6
0
0
0
-1
4
-8
7
1
-19
29
-10
-24
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
13
0
-1
1
0
-3
57
5
1
0
56
38
-23
-47
0
28
-1
24
-56
0
5
-15
58
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-7
16
-3
0
0
-31
26
10
-12
0
-15
5
18
11
0
68
-17
-24
3
0
-25
-22
41
1
0
0
0
0
0
0
-1
0
0
0
0
2
1
0
0
0
-2
-1
0
0
0
-8
1
1
0
0
24
-8
-6
0
0
31
-9
-25
-7
0
-29
-42
5
18
0
-50
107
9
39
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
-3
0
0
0
0
0
-2
0
0
-12
8
-1
-1
0
-31
29
17
0
0
-22
5
-42
41
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-1
-1
0
0
0
-3
0
0
0
0
-2
-8
-2
0
0
-3
-31
-6
0
0
24
16
25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
-10
8
0
0
0
43
-1
1
0
0
32
-15
-12
0
0
45
26
8
0
0
-68
19
57
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
-6
-1
0
0
0
2
8
-1
0
0
-13
-22
-2
0
0
-56
88
7
0
0
-12
-77
88
0
0
73
105
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
23
0
0
0
0
16
-3
-1
0
0
-34
10
4
0
0
34
5
2
0
0
99
33
-9
0
0
-80
60
83
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
-8
9
-3
0
0
17
-8
14
0
0
-12
28
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-5
-3
0
0
-31
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
8
0
0
0
-13
8
17
1
0
27
7
51
59
9
-18
33
-5
-30
-1
42
-47
38
40
102
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
-1
0
-1
0
3
-26
-4
-3
0
-24
37
-31
49
-1
58
91
75
-17
-5
102
10
146
86
2
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
4
2
0
0
0
0
2
-1
0
0
0
24
-7
2
0
4
-33
-58
-2
10
-32
94
72
48
0
15
0
12
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-1
0
0
0
0
-7
3
0
-1
1
66
-12
-2
0
4
-5
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
13
-7
6
0
55
17
-7
48
2
-43
-20
87
-76
-23
33
12
28
94
27
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
19
-13
-6
-2
0
-10
-8
-79
-5
4
44
-41
-44
-1
0
-56
90
28
2
-7
8
-1
257
71
0
0
0
0
0
0
1
0
0
0
0
-4
-1
1
0
0
0
-12
0
0
0
-12
14
6
-3
0
-8
-9
34
18
-17
13
13
-7
-50
10
26
9
67
133
-67
0
0
-39
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
-1
0
0
0
-10
-7
0
1
-24
50
34
-28
5
25
-4
6
-7
13
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
20
8
7
0
-5
13
27
13
5
-27
31
64
-19
12
21
3
41
72
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-7
-5
0
15
21
-15
1
-2
14
13
76
4
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
-3
2
0
0
0
0
1
1
2
0
0
-2
-2
2
-2
3
50
0
25
-9
0
-7
-24
0
2
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
-3
0
0
0
-9
-19
8
0
0
21
-16
-4
6
0
175
142
17
12
0
-24
-58
118
-27
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
21
7
0
0
0
25
8
-2
0
0
26
5
15
-1
0
19
43
1
13
0
-34
130
66
4
0
12
-75
79
6
0
3
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-9
0
0
0
0
-8
-4
-6
0
0
-5
-11
-2
1
0
-1
75
27
0
0
26
-55
56
49
0
0
3
15
0
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
2
-5
0
0
0
-3
0
0
0
0
0
7
3
0
0
10
10
4
7
0
-41
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
-7
0
0
0
-8
9
-8
0
0
39
146
23
0
0
-14
-10
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
15
22
-8
0
0
-22
40
24
0
0
-12
-40
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
-31
12
4
0
0
25
22
31
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
3
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-1
-9
0
-9
-1
54
4
2
24
7
10
-23
8
47
-45
-30
3
-9
0
5
-12
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
-1
-4
-5
0
1
-23
5
0
0
2
1
-20
-8
-1
0
-18
-13
10
24
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-2
0
2
0
0
-1
2
-9
-1
0
-9
-1
-16
22
0
3
-12
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
-2
0
0
-7
-2
-8
7
1
9
-20
-19
-8
-8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
17
8
0
0
-9
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-1
-2
-5
-29
-42
14
4
9
18
16
37
14
-6
-33
-2
-94
-1
-5
0
-1
4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-12
0
0
0
2
10
-3
-13
48
-45
-47
-13
7
-32
-5
36
13
9
0
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
1
-3
0
-17
-13
5
4
0
29
-49
-13
7
0
14
58
42
-13
0
0
-3
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
-22
7
-5
0
0
-7
-42
6
0
0
42
23
-10
0
0
-9
45
-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
-1
0
0
13
-2
0
0
0
14
-14
-2
0
0
-48
-2
-24
0
0
-2
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
-19
0
0
0
-8
30
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
-1
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
4
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
-1
-1
3
0
0
-4
-48
31
-5
-1
3
-7
-4
-72
11
11
-42
22
-15
57
-30
0
20
26
-82
-14
-4
34
20
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
-5
-5
5
5
0
-1
46
-4
-31
-10
13
-85
24
-28
43
-25
28
-27
40
-14
-13
8
13
47
-46
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-3
-25
1
0
0
2
-1
4
0
-20
4
8
-27
-5
-4
27
44
20
8
-7
-71
-16
26
1
18
18
-47
-61
20
0
1
0
0
0
0
1
-2
0
0
2
5
3
-1
0
-6
1
10
0
0
-4
1
-4
-2
0
-8
20
3
20
3
21
-20
5
-2
22
-84
25
2
12
-11
0
0
0
0
0
-2
0
0
0
0
-1
-3
-8
0
0
6
3
-1
0
0
-27
16
-8
1
0
-2
-12
3
4
0
-8
0
7
-5
-7
9
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
5
7
2
-51
63
30
-74
-18
5
-5
7
-20
42
-68
-56
-30
42
-42
-57
16
0
49
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
-27
-14
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-8
0
0
0
1
-1
-1
0
0
-4
-1
-1
0
0
2
-1
-5
-2
0
-14
-31
8
2
6
17
-48
6
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-6
-9
8
-9
-21
-8
-8
92
-87
-71
15
5
-75
-11
57
-38
-49
-10
20
-3
-16
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
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
3
6
0
0
-5
-9
-1
0
0
8
-29
-3
3
-3
-10
24
-11
31
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-42
-1
-1
0
1
-53
-25
13
0
15
7
-17
58
0
-21
-16
-5
-6
0
-86
-1
104
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
7
45
17
0
0
-1
-14
-2
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
4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
2
0
0
0
0
1
0
0
0
0
-3
1
0
0
0
-13
28
10
1
0
-27
10
45
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
19
0
0
0
29
-40
-19
0
0
1
1
49
0
0
-40
13
-13
0
0
-29
-28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-12
6
0
0
0
-4
15
9
0
0
6
13
10
0
0
-5
-21
-59
0
0
-89
33
32
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
-13
0
0
0
15
24
-3
0
0
-30
-66
-10
0
0
-85
33
18
0
0
7
11
-26
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
-1
-1
0
0
0
-60
10
-9
0
0
8
50
1
0
0
-27
-5
39
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-33
-35
1
0
0
-48
40
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
15
6
-6
3
0
-38
25
-42
53
12
-23
3
0
25
-42
28
-6
30
-41
5
-56
-47
10
-88
40
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
1
2
3
0
0
2
12
-5
-5
1
8
-38
26
-10
-5
-9
-5
-9
-73
-21
-19
-16
3
-32
-13
-4
37
60
50
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-8
0
0
-1
-4
8
-1
0
-3
-73
-1
-23
-5
24
35
-11
46
-7
-22
69
-9
-25
25
-24
-50
2
-2
-10
0
1
0
0
0
2
4
1
0
0
1
-2
0
0
0
0
7
0
-1
0
-2
5
0
2
0
17
-6
-17
-9
-2
0
-9
20
1
6
-87
44
-31
5
-10
0
0
0
0
0
0
1
0
0
0
-1
1
2
0
0
2
-1
0
0
0
0
-7
-2
0
0
0
0
-1
1
0
-5
-13
-2
8
0
-39
4
19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-1
4
0
-2
-2
-21
-6
-24
-2
-76
-29
-28
30
-31
-31
1
-53
-47
13
-39
-46
44
135
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-13
14
-1
-50
-13
-12
-15
22
-1
39
-21
9
3
10
-5
97
6
7
0
0
17
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
4
-2
-1
-6
3
-2
-5
8
3
-1
5
16
13
5
2
0
-6
-7
8
-39
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
-25
35
13
-21
5
-8
-29
5
23
-27
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-1
0
0
0
0
1
-5
-3
0
0
0
0
-7
2
0
-5
-22
1
19
0
16
-35
8
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
0
12
0
-2
-3
-7
-48
14
-8
29
6
12
6
9
-58
-55
20
-61
-43
-5
-25
7
43
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
-1
0
7
18
0
-3
-4
6
-11
-3
31
16
-8
3
6
-2
-1
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
7
0
0
0
2
-74
20
4
4
-1
-31
-36
9
7
0
0
0
0
0
3
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
-16
21
7
-1
2
-31
3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
0
0
0
-45
30
-10
-8
0
-2
-10
75
-42
0
46
-3
-5
-4
0
-70
-31
-31
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
13
2
0
0
0
58
23
-4
7
0
-17
12
52
22
0
-45
-138
-2
-16
0
-8
-37
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
8
-1
0
0
22
-9
-15
0
0
1
22
-8
2
0
-95
-73
-11
5
0
16
25
21
16
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-7
-15
5
5
0
42
-30
19
-3
0
-50
39
-60
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
1
0
0
0
0
-2
0
0
0
0
-3
19
8
-5
0
18
-12
-25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
0
0
26
31
-35
0
0
14
-3
2
0
0
-16
0
9
0
0
-26
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
5
0
0
0
0
-25
-23
12
0
0
41
-22
26
0
0
-35
13
3
0
0
-95
68
-92
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
56
-51
0
0
0
-61
49
13
0
0
-165
-46
18
0
0
59
-41
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
28
-16
9
0
0
-12
-3
16
0
0
-92
58
-39
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-8
-1
2
0
0
27
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
25
6
-42
-3
0
24
3
-30
14
-9
-78
13
102
-18
-22
79
5
11
17
42
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
10
0
0
0
25
13
-3
-1
0
-1
12
-22
1
9
-14
-29
115
28
-68
-17
-1
-41
59
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
4
-3
0
-14
-6
13
-10
1
-14
-109
36
13
-2
-25
0
-6
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
1
3
0
-10
53
-23
1
-1
3
14
-31
0
-16
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
1
39
-39
1
0
-18
6
23
56
-6
32
13
-16
-28
-31
-44
-50
25
-4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
3
-1
1
-9
-27
-1
-23
-8
-13
-48
26
40
1
17
65
16
22
-9
0
2
51
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
-41
-4
0
-13
-2
13
-4
-23
13
13
9
-66
5
5
-22
0
-5
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
-1
-4
2
-4
2
34
4
0
3
-66
-3
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
6
0
-1
0
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
-1
-14
-4
14
42
-10
8
1
39
-62
69
-21
23
-76
-7
-33
56
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
13
1
6
-1
-4
-43
42
13
-1
14
-34
-32
18
31
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-6
0
0
1
-3
-3
6
0
0
0
9
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
-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
-7
-1
-2
0
0
34
18
-51
1
0
57
17
34
-64
0
26
-42
61
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
25
-1
1
0
0
13
-7
-7
6
0
-22
52
22
-13
0
-66
-84
16
5
0
-6
8
-88
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
7
5
0
0
0
53
-1
-9
-3
0
48
-26
23
-3
0
-155
116
28
1
0
0
-1
4
-1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-8
-2
0
0
-17
-27
1
2
0
1
8
-22
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
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
4
0
0
93
-2
1
0
0
62
-17
44
0
0
-97
17
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-1
0
0
12
13
1
0
0
-70
-41
64
0
0
-5
31
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
3
0
0
0
-1
48
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
71
42
-14
0
10
-56
67
-40
-4
57
2
18
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
31
22
0
0
-47
8
36
-8
31
2
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
2
82
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
7
8
0
0
86
-45
-44
-5
-17
-9
31
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
6
3
-13
-1
6
42
-15
-13
8
-32
-61
64
52
12
-1
2
66
-41
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
4
-1
0
-6
-7
-5
1
1
-1
-18
31
-7
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
0
0
0
7
0
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
3
1
0
0
-52
55
-7
-14
-17
0
-25
81
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-3
1
0
-23
-16
39
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
-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
19
8
-7
1
0
2
-25
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
0
0
0
5
25
-24
-1
0
-55
1
68
-3
0
-2
-20
2
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-2
2
20
1
0
6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-6
0
0
-6
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
88
-5
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-17
57
31
-21
63
-5
9
1
66
-31
-24
52
-21
-62
-33
18
-10
22
-12
2
18
-13
22
-27
0
3
-2
2
-97
-53
-7
2
-10
0
0
0
0
0
18
67
-8
12
-10
-23
40
-52
-4
-21
-33
67
10
-53
7
49
26
20
17
24
-12
-4
-40
-13
-16
25
-23
-6
19
4
29
-29
-19
-3
-3
-74
-56
6
-6
12
6
35
5
2
0
-9
-49
2
13
6
-53
33
2
-9
-13
-4
-4
-40
-9
43
1
-12
14
-22
92
18
13
-43
-20
-4
46
-28
-1
28
12
-83
-90
-24
-10
1
-8
23
6
-8
-16
-45
-28
5
1
2
4
-50
-40
23
30
45
-6
-8
47
-10
32
-14
-6
49
-30
23
-22
47
-19
46
-71
22
18
48
12
-25
-9
-1
12
12
25
3
-3
-3
-9
0
0
0
0
0
14
-45
-6
0
1
-42
41
-59
34
40
-20
-9
-5
16
-8
-42
-1
-19
32
12
-72
2
-3
-3
37
-55
-25
15
-50
10
22
1
-3
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-30
-19
35
41
45
-12
32
-9
-18
-81
14
65
-69
-3
-54
40
-23
59
-6
-5
-2
14
-8
-11
-47
-43
-40
3
13
-69
-12
-56
69
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-16
35
23
2
34
-12
-4
11
1
43
-63
43
-56
28
21
5
-25
-49
-20
4
-25
22
-58
-32
0
-24
13
15
-38
-7
7
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
7
-3
28
-6
6
24
41
0
-8
-55
64
-11
-9
-25
-66
-30
26
-42
47
-48
-8
-10
39
-2
9
2
-20
19
30
42
-70
-26
-95
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-49
-15
3
3
22
-38
21
5
11
-18
-12
5
-1
5
2
11
9
-20
17
-25
12
-41
7
-22
11
-12
-15
-6
0
-5
-6
7
6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-5
9
22
0
-3
4
10
26
0
30
77
-30
52
0
-71
-27
-36
36
0
-7
-2
-5
-37
0
4
22
12
28
0
30
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-15
1
-1
0
-29
1
-42
6
0
11
53
-41
-8
0
11
16
-14
4
0
15
-15
-10
53
0
-23
20
17
7
0
-16
-15
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
-22
0
0
34
-28
22
0
0
-42
23
24
0
0
45
5
12
0
0
-8
-4
22
0
0
12
15
8
0
0
25
6
-19
0
0
0
0
0
0
0
-48
-75
15
0
0
24
2
-4
0
0
28
17
-11
0
0
-39
-27
26
0
0
10
-5
49
0
0
26
-6
-5
0
0
21
-6
-8
0
0
-11
-1
-10
0
0
0
23
-8
0
0
-14
22
-12
0
0
-30
50
-1
0
0
-26
-14
-5
0
0
-12
22
43
0
0
-43
21
-26
0
0
35
6
-4
0
0
-6
4
-20
0
0
19
-9
4
0
0
-27
7
-1
0
0
-40
-6
3
0
0
-19
-29
5
0
0
-29
0
15
0
0
-62
73
9
0
0
-44
-38
-14
0
0
-17
-7
-10
0
0
18
-2
10
0
0
0
0
0
0
0
-10
-29
0
0
0
46
-66
-6
0
0
6
5
21
0
0
-29
2
18
0
0
-55
38
40
0
0
23
-4
-8
0
0
2
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
-26
18
-17
-35
2
-16
35
15
2
17
25
0
2
7
8
-25
-33
9
20
-1
0
1
-44
9
13
11
1
18
-64
13
3
-1
-3
0
0
0
0
0
-31
2
5
-81
46
6
-17
39
18
44
-43
-23
-37
20
-6
-76
-40
-18
34
69
-94
-2
-21
-14
-6
13
6
-8
-3
33
-17
3
2
0
11
21
-3
12
-14
-31
18
42
3
0
-1
-3
11
5
-17
9
-32
5
7
-18
9
11
18
-58
19
-23
-42
-24
28
58
-11
-102
-4
22
3
12
20
2
24
-7
20
-5
-14
2
-5
-2
16
3
0
-4
1
27
7
-25
-8
-2
-14
-37
22
14
-25
-27
-12
28
24
13
14
14
-8
-9
-38
4
-36
49
-15
-38
56
-34
-23
11
2
-12
15
2
11
-18
21
20
-1
16
15
0
0
0
0
0
-14
-1
21
-7
0
-15
61
7
12
-12
33
-27
8
-12
-13
17
-20
-16
32
12
-23
-9
9
-14
29
-40
-6
-13
-29
-14
16
13
4
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
17
26
46
-45
-35
3
-22
13
-1
32
5
1
70
-13
12
-45
-2
-55
-1
25
-10
-1
-22
19
17
7
-5
7
12
-3
31
6
6
-8
0
0
0
0
0
22
-17
31
17
10
-5
-4
-71
46
1
1
5
3
-29
-3
39
-17
11
-21
-50
-31
24
-30
-26
4
22
16
-25
5
45
-23
-93
-17
0
-14
-33
2
-19
-5
-45
-21
50
-50
-36
1
-18
-38
2
-16
-25
-33
27
6
-7
31
78
13
5
-25
-15
53
16
37
-53
31
41
11
15
-7
14
-3
42
-20
0
24
-15
-27
-10
-11
-12
-23
-5
-2
1
-10
-44
-19
-64
-1
0
-29
7
58
28
7
69
64
-18
30
-23
-35
17
44
-19
6
32
-21
-36
3
-9
-5
-16
-1
-22
-16
-12
2
-13
12
17
-14
-5
-4
-7
-7
0
0
0
0
0
44
5
18
-24
0
17
-30
43
75
8
-2
15
-46
25
-19
-14
17
9
13
-5
69
66
-7
35
42
50
-16
-31
-32
-2
-16
13
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-20
-7
-5
19
-1
-1
-2
-36
21
-47
52
14
69
33
-21
-16
-5
-15
-14
7
9
1
-6
14
26
7
2
11
-13
14
5
-31
-9
10
0
0
0
0
0
-25
-13
39
-4
-5
15
24
-21
18
15
-20
25
1
-17
-8
-14
12
-14
23
5
24
3
-37
5
-27
-6
-13
7
3
-2
0
-2
3
0
12
21
12
-36
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
31
-15
-1
-3
-6
-48
-19
48
9
22
13
-18
-40
5
4
30
-27
3
-14
11
19
26
77
21
-7
-9
-40
-16
5
-11
9
-20
-35
-13
3
-1
6
4
4
0
0
0
0
0
-54
23
69
18
0
2
-9
-43
12
7
21
-2
-5
-2
-6
8
6
-42
5
9
29
-3
12
-29
-13
-49
3
13
-3
-4
50
-8
5
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-7
20
-18
0
-1
-46
21
2
0
-2
16
-52
-5
0
33
6
1
-57
0
-24
0
-1
-1
0
1
5
10
12
0
20
17
24
14
0
0
0
0
0
0
4
10
-2
-18
0
-20
65
27
-8
0
-30
-23
75
0
0
30
-49
57
29
0
27
18
40
7
0
2
35
-12
13
0
-16
6
-2
-10
0
-15
3
13
10
0
-5
-10
5
0
0
-57
24
12
10
0
-58
-20
-15
-5
0
-67
-28
-13
31
0
-29
4
-18
19
0
-4
33
11
1
0
6
-15
3
23
0
-11
3
-2
-20
0
39
-24
-19
-4
0
-28
49
15
-2
0
-68
-48
19
-4
0
-84
-13
-33
5
0
19
-22
-7
-5
0
-8
17
34
89
0
-11
-9
-22
8
0
-7
1
-6
-39
0
-3
-4
-2
9
0
0
0
0
0
0
-31
-2
-9
0
0
-6
-33
31
-3
0
23
5
-12
4
0
7
-34
6
6
0
12
53
-59
13
0
6
-1
7
9
0
44
2
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-22
20
0
0
6
10
-25
0
0
13
14
53
0
0
-23
41
-41
0
0
25
23
47
0
0
1
3
8
0
0
-2
37
-17
0
0
0
0
0
0
0
21
36
-25
0
0
-4
-31
24
0
0
33
-58
-2
0
0
36
44
-15
0
0
15
-1
-41
0
0
-6
4
-4
0
0
6
7
12
0
0
0
5
-4
0
0
-15
6
3
0
0
5
21
31
0
0
-3
4
1
0
0
-30
-18
2
0
0
-29
4
-2
0
0
1
8
7
0
0
-4
11
33
0
0
3
14
15
0
0
8
8
9
0
0
31
23
0
0
0
-2
6
-21
0
0
2
29
0
0
0
45
3
-13
0
0
-12
4
5
0
0
-2
13
-18
0
0
-3
-3
8
0
0
3
10
14
0
0
0
0
0
0
0
14
14
0
0
0
-20
22
-2
0
0
46
-8
-5
0
0
-39
1
-4
0
0
28
-12
-62
0
0
2
-10
12
0
0
-1
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
-47
-16
-25
3
3
-32
-23
-5
-13
-40
10
7
9
25
-13
-23
10
24
-36
-12
8
-2
9
17
12
17
24
-5
16
20
21
-1
9
-12
0
0
0
0
0
41
-68
-43
30
13
9
-26
3
20
-6
4
-24
44
-4
5
-12
-31
-20
-13
32
39
-32
-32
22
13
20
5
4
-3
-30
-5
22
12
15
5
59
12
1
-7
-26
-7
-48
52
-4
0
-20
-80
-13
-36
16
10
1
-27
24
1
-12
-23
-45
-8
29
40
-91
-1
-44
45
-15
-7
-20
8
-62
8
39
-2
4
9
13
4
11
13
-22
42
-47
4
25
-13
40
-20
-23
-1
0
-31
78
-31
53
-3
78
20
-24
-16
0
-4
-39
6
13
13
88
-6
48
-92
-30
13
-49
6
32
-10
16
3
-7
-10
-5
15
42
6
31
5
0
0
0
0
0
-11
-42
-16
0
0
49
-8
-1
0
0
41
34
-6
7
0
-15
-46
-22
-28
-1
58
20
-31
-65
32
-13
12
17
-11
-19
16
-17
3
46
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
12
-15
-31
3
23
-28
29
36
17
18
23
-32
89
24
5
11
-41
-82
19
-2
35
21
4
-24
10
20
21
16
9
66
16
18
5
2
0
0
0
0
0
14
35
14
-17
-35
3
-10
26
-20
-34
5
-12
-7
-23
52
-5
10
13
-22
19
-3
10
-30
21
29
4
16
11
17
-2
41
2
10
-4
6
-1
15
4
10
2
38
29
-11
10
9
48
0
-17
5
28
-8
-31
38
11
-18
-21
35
-13
15
7
-1
-36
-25
30
-25
-23
1
21
7
-6
14
-5
8
14
6
8
-5
-4
0
10
7
0
8
1
2
19
6
-41
-10
-8
31
12
-76
-41
20
1
-2
10
70
9
22
-48
27
4
9
-38
29
-9
19
36
5
2
16
9
16
-1
11
1
7
-19
-4
0
11
7
28
0
0
0
0
0
5
48
-9
8
0
25
-46
-81
-29
20
-31
4
32
61
0
42
-38
-12
-69
9
0
-6
9
-26
-16
34
24
-1
23
1
-47
1
3
15
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
19
21
7
-24
31
18
-2
10
62
21
70
-17
6
-7
36
39
-40
-46
39
16
19
4
-6
3
-4
11
14
10
46
25
1
22
-8
0
0
0
0
0
16
-13
-2
-7
1
24
-7
-10
5
1
-7
8
-3
58
4
21
-2
23
7
66
-3
6
68
0
21
6
11
21
7
5
-3
13
-3
9
4
16
1
2
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-15
-24
28
6
-5
8
16
-1
34
-19
-17
45
7
-14
-10
3
-13
7
22
26
14
9
-46
-28
23
8
1
-18
14
-3
-2
-1
0
-16
1
-1
1
14
9
0
0
0
0
0
57
44
-27
1
0
-6
-58
13
6
-6
-3
10
-58
44
2
15
-16
67
-27
1
-7
46
33
31
-59
-40
-2
57
7
10
53
5
-7
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
71
-15
2
0
-7
18
-47
3
0
26
63
15
45
0
21
57
-3
-5
0
24
6
20
59
0
-19
5
27
21
0
59
34
-3
-4
0
0
0
0
0
0
20
22
-14
5
0
30
18
28
-25
0
4
-7
29
-13
0
-1
24
20
36
0
-2
2
3
-13
0
-17
5
33
-11
0
2
41
6
23
0
-1
2
11
-2
0
57
4
-25
-7
0
-3
-24
-33
-5
0
38
-7
-1
19
0
4
43
5
-26
0
-7
-49
12
88
0
-10
-9
26
-3
0
-9
7
9
6
0
0
20
-1
10
0
-1
-21
4
-1
0
46
11
15
1
0
16
48
-9
0
0
-9
25
6
39
0
-29
7
63
-7
0
-6
8
58
-20
0
10
10
0
15
0
-3
3
-1
9
0
18
13
6
8
0
0
0
0
0
0
1
-9
-5
0
0
24
7
-12
0
0
-4
24
-4
0
0
-39
0
16
-8
0
17
80
60
8
0
-40
-58
-40
21
0
20
-13
-2
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
2
0
0
17
52
17
0
0
77
-1
-11
0
0
-73
48
35
0
0
21
32
-7
0
0
-4
-12
4
0
0
-1
0
-6
0
0
0
0
0
0
0
33
16
13
0
0
16
53
2
0
0
-19
11
13
0
0
69
-16
32
0
0
-30
-19
56
0
0
-3
7
12
0
0
9
27
-17
0
0
24
-2
15
0
0
-5
-7
0
0
0
93
-19
-1
0
0
-47
24
0
0
0
113
33
1
0
0
12
-18
51
0
0
29
29
-50
0
0
1
-23
-26
0
0
-2
-3
23
0
0
10
74
-5
0
0
-22
-5
0
0
0
13
-29
0
0
0
53
-16
-2
0
0
-43
0
13
0
0
-1
26
-1
0
0
16
44
20
0
0
1
3
-7
0
0
5
73
-4
0
0
0
0
0
0
0
3
-2
0
0
0
-12
-32
0
0
0
-29
22
1
0
0
43
17
-2
0
0
33
41
-24
0
0
-1
-25
-16
0
0
3
14
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-3
-25
0
-54
-71
63
-10
-16
-46
38
12
-13
-29
36
-34
-35
-26
15
10
27
-33
5
-38
-39
3
63
4
-20
-67
-24
-21
23
68
0
0
0
0
0
-4
0
-6
-5
0
-5
-2
9
-30
1
29
-34
33
-15
0
-13
5
74
4
6
13
-5
-22
3
-39
42
-11
-23
41
-22
-64
-53
0
8
2
-161
-56
65
3
13
-2
0
-1
0
0
2
-25
-4
75
0
-17
-8
44
44
-2
-17
38
26
29
-22
12
114
-7
24
-43
28
2
14
-53
-18
-1
-19
9
-46
72
-97
-47
-43
-8
10
-67
2
16
50
-6
-41
25
1
37
-2
-1
-37
2
96
-3
21
-41
18
-22
-6
10
64
82
45
-19
-16
5
-27
62
80
0
82
-37
-11
-41
1
12
-6
6
48
-38
-44
17
-43
17
0
0
0
0
0
-9
37
-57
3
0
-9
16
0
-2
12
-13
-28
17
69
0
-5
-22
-22
-19
2
36
-45
39
16
-7
-51
-7
41
36
-49
13
7
15
-33
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
-5
0
-25
-23
-36
-38
25
-34
-64
-13
27
2
39
-68
7
-4
-10
0
13
3
-7
9
-42
-49
21
47
-24
-102
-23
-67
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-8
0
1
2
-6
8
8
0
0
1
3
0
0
0
-5
-13
0
0
-1
0
-4
-24
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
3
-5
-2
0
0
-5
10
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-2
2
0
0
-1
-3
-13
5
-1
1
-42
-8
56
-9
-8
7
-5
-16
-2
1
0
0
0
0
0
-65
48
-20
-2
-2
22
-2
47
20
-3
23
-70
10
-38
-3
-83
15
-9
36
8
1
50
64
-28
16
18
33
-12
-9
-58
-19
-69
-7
7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
-22
-8
-15
-9
-9
-55
-4
37
42
3
-31
-22
1
-7
28
84
1
-5
-11
-14
-49
-73
13
58
19
-73
-3
-14
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
0
0
-4
2
-32
0
0
-16
-5
7
-3
0
-1
0
4
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
43
-13
-1
-1
1
31
5
-28
15
0
14
-46
-7
0
-5
-28
18
19
-34
5
-33
38
2
-13
14
-23
-53
2
14
23
5
91
-11
-30
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
-41
9
-4
-3
0
51
5
-15
1
0
-91
-6
15
28
0
-1
-4
28
-31
0
-26
-92
10
15
0
-41
5
11
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-12
-1
0
0
0
3
1
0
0
-4
0
2
0
-1
0
1
-4
0
0
0
-3
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
0
1
0
0
0
0
0
-3
0
0
0
-19
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
1
0
0
0
0
0
5
0
0
0
0
5
0
0
0
2
4
-3
0
0
0
0
0
0
2
1
0
0
0
-25
-45
71
36
0
20
34
5
-1
0
18
-59
28
5
0
-73
-46
-59
31
0
26
42
-22
-15
0
51
67
-19
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-65
-6
0
0
0
-7
26
-27
0
0
-43
-3
23
0
0
-30
-12
22
0
0
51
-20
-26
0
0
-22
33
47
0
0
0
0
0
0
0
0
-1
-2
0
0
-60
-24
-4
0
0
-69
-76
-9
0
0
-52
10
10
0
0
-25
1
-69
0
0
-3
-12
-27
0
0
21
17
56
0
0
-9
29
13
0
0
0
0
0
0
0
5
-2
0
0
0
-20
-18
0
0
0
-22
4
2
0
0
-28
33
36
0
0
-2
-57
6
0
0
14
51
0
0
0
-7
27
-13
0
0
23
-3
-49
0
0
-3
5
-1
0
0
-7
6
34
0
0
9
15
-8
0
0
-43
-33
14
0
0
-10
43
-26
0
0
-58
25
-45
0
0
11
-38
20
0
0
27
-24
-6
0
0
0
0
0
0
0
1
0
0
0
0
-10
28
-1
0
0
-24
-26
-2
0
0
42
-26
-4
0
0
-32
-50
13
0
0
-30
30
-4
0
0
29
-2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
14
-1
15
-8
-43
11
-7
-22
-71
-19
3
64
-8
-22
-70
-11
3
25
-7
-32
-14
-1
18
2
-26
4
15
38
10
-16
18
-8
-28
-24
0
0
0
0
0
-67
18
34
7
-15
28
9
2
-31
0
40
-18
-16
42
-42
-41
-2
-13
7
5
8
-8
-6
42
7
8
7
-1
17
-30
-52
-32
-32
-17
16
-96
-51
-20
-18
-5
-29
6
-22
55
-4
-65
20
49
30
8
-52
71
-22
4
-5
1
43
0
17
18
-1
-17
-4
-10
21
-66
-9
21
-50
-7
-5
-28
7
-4
6
-69
-71
-51
20
-18
-24
13
18
-7
15
-49
-11
32
5
-1
24
62
-38
-25
-1
-55
84
25
-24
-30
20
4
-7
-31
5
-12
94
-29
38
27
7
-78
4
10
26
2
-23
10
23
-24
-34
-5
-2
1
10
0
0
0
0
0
-48
10
17
-6
-3
123
0
24
28
-63
-8
36
-37
-22
39
-21
42
15
-24
32
-34
46
-17
61
-13
-15
-2
-11
21
17
29
-18
14
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-33
-47
-26
6
-30
-16
-54
19
-59
-14
-22
-6
-34
-5
-25
-31
-12
-31
0
-38
10
-5
-3
-2
-48
-77
8
3
-12
-136
-39
-39
15
-41
0
0
0
0
0
0
0
0
0
0
4
2
-3
-3
0
-7
-13
-20
-50
10
-59
-43
-14
46
-20
-35
-40
57
18
-13
1
69
-6
20
8
-98
-95
-98
-39
15
20
-48
-24
-36
-10
0
-2
0
0
0
-1
0
0
0
-2
1
13
1
22
0
4
-7
19
24
-10
21
40
-28
-12
33
28
5
-1
-82
-15
-60
12
-8
5
-59
-115
-80
20
-55
-28
-73
-8
-60
29
-1
6
0
0
-3
0
3
-2
-6
-5
0
-13
6
-28
2
0
26
42
-37
-4
-2
47
61
31
-51
3
-70
6
14
35
-12
-42
-15
-55
21
-6
-94
-139
-23
-73
-13
0
0
0
0
0
-65
13
-21
22
-2
77
-7
49
-5
22
19
36
-100
63
25
83
-33
51
10
-23
-19
-12
21
14
42
-72
11
25
4
41
12
-17
3
-13
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-47
26
-30
15
-69
-74
35
-49
-16
-7
-132
-21
-6
31
-18
2
-12
-7
-43
14
0
10
39
18
-25
23
-39
19
8
-106
38
11
-122
10
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
-1
-42
-17
-6
-13
8
-33
-73
-13
9
-9
-13
41
-53
10
-24
54
4
70
-69
37
72
-87
-89
-20
-38
-14
-4
-18
-33
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
2
0
0
-2
7
-4
-2
0
0
10
-12
-14
0
5
-21
2
18
-4
17
6
-21
-36
-4
-5
5
-4
-1
-4
-7
-33
-28
-41
31
0
0
0
0
0
73
25
-14
-20
-7
-24
12
6
34
26
-37
18
36
4
4
18
-7
-8
1
-21
6
9
5
45
15
-22
-28
-9
-42
-1
-9
27
3
6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-31
-5
8
0
48
-13
-16
-42
0
-57
4
82
-24
0
-31
-23
-8
-24
0
5
-9
-2
2
0
-6
21
-4
29
0
4
-64
-42
-35
0
0
0
0
0
0
0
0
0
0
0
-4
1
-19
-4
0
-12
-2
4
3
0
-27
35
15
-6
0
-6
-34
-25
-58
0
-7
-60
4
-34
0
-55
-85
49
25
0
47
20
-82
-2
0
0
0
-3
0
0
-4
2
0
-1
0
2
1
8
8
0
-81
24
-5
5
0
-8
-5
-29
-5
0
13
-76
-24
13
0
26
55
-10
18
0
9
56
-46
-36
0
10
-17
43
-56
0
-4
0
3
1
0
-1
-7
6
8
0
6
7
-8
-3
0
-41
10
-5
-3
0
-69
-14
-42
19
0
-44
-16
-13
-32
0
9
-32
42
-22
0
70
30
32
-5
0
0
0
0
0
0
55
-19
5
-2
0
-18
50
79
-53
0
3
-53
1
30
0
-31
76
-31
-22
0
13
-5
2
57
0
-19
-24
38
-8
0
-20
1
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
23
37
0
0
40
6
25
0
0
-4
-48
-61
0
0
-3
-45
-7
0
0
-9
12
-20
0
0
-20
-5
1
0
0
17
21
-21
0
0
0
0
0
0
0
1
19
-13
0
0
-17
-55
15
0
0
7
39
6
0
0
10
-28
-48
0
0
-20
1
33
0
0
-23
17
4
0
0
-17
-11
-2
0
0
5
-9
-7
0
0
-1
1
-2
0
0
-32
6
-10
0
0
33
20
-20
0
0
22
-7
23
0
0
38
-12
-31
0
0
-52
-4
11
0
0
63
-7
44
0
0
-1
-12
-9
0
0
-23
1
-21
0
0
-2
20
0
0
0
1
64
-22
0
0
-11
5
-29
0
0
-55
6
-42
0
0
17
-28
61
0
0
58
10
24
0
0
-2
15
6
0
0
-25
-17
-6
0
0
0
0
0
0
0
-14
66
-6
0
0
-31
52
2
0
0
23
50
15
0
0
-45
-14
8
0
0
47
16
59
0
0
29
-35
-14
0
0
-8
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-2
37
-9
-2
47
-15
20
-14
14
-35
25
-30
-4
-2
-15
-19
12
-2
-77
-9
5
4
-3
-2
-14
7
3
5
1
-46
-18
6
-34
-11
0
0
0
0
0
28
-27
77
-13
11
-14
80
-49
5
10
-26
34
51
-41
-10
-36
-7
-13
0
4
4
-23
-3
-6
-11
46
5
25
20
-19
-17
-7
-13
23
-11
-29
-1
-6
3
-1
-3
94
-26
19
-1
-6
58
140
-83
-10
58
0
26
-13
3
38
4
-13
-23
-15
3
1
-10
-33
22
14
-29
36
2
-76
-4
-1
-1
2
12
-4
-10
-5
-14
20
-35
13
1
29
-2
-36
-50
9
6
2
25
39
-60
-11
23
-8
22
49
26
-12
-24
-79
10
6
32
-27
-4
-2
47
-13
-43
-32
4
0
29
0
-9
12
-3
35
0
7
-3
2
-5
0
0
0
0
0
10
-36
-28
-7
-1
25
-56
-12
-9
-25
61
49
-39
-30
-12
10
-5
62
60
-9
16
38
14
14
-26
10
-7
-21
1
-4
-19
5
-6
-10
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-13
-18
-22
-3
-17
-39
-52
-19
-71
-42
52
17
104
-22
41
-49
-8
-29
-31
24
0
-9
-10
32
-39
-1
-6
18
-16
-81
-51
-18
-8
-12
0
0
0
0
0
-21
68
24
22
-8
-76
12
17
-9
-7
-40
15
67
33
-23
13
3
29
6
10
-54
44
-3
-5
14
16
-11
-6
-9
-26
-16
-146
-76
-14
-2
-26
-119
-46
-16
-10
-3
-72
14
4
-5
-30
8
4
5
-1
-77
87
-59
12
-10
-4
18
-16
10
-5
-80
77
8
-21
-16
21
-41
-23
-6
32
-55
-62
11
5
16
-44
-66
-21
12
12
7
73
5
26
13
-75
15
-12
-21
1
-18
-95
-9
43
9
-28
0
-23
-58
-3
-9
51
17
-24
-22
13
0
19
-27
-12
-43
23
-5
17
17
2
-6
-41
19
24
-11
-23
3
4
18
0
0
0
0
0
28
-15
26
-9
0
-25
55
-22
13
-3
88
-4
12
-22
13
36
21
18
38
-16
-6
-58
14
37
-2
-32
42
-9
-5
-40
23
-20
13
-9
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
133
-41
-23
8
-16
8
-23
45
0
12
-130
-7
-28
46
-4
-10
-5
-13
-11
19
-1
6
24
16
29
10
-16
-17
7
-125
-52
-32
-37
-19
0
0
0
0
0
-18
20
24
-31
4
-56
-4
-16
5
-3
-26
41
-81
-53
-17
-46
-27
-23
26
-21
50
-57
-33
-14
-3
-46
22
1
-12
-15
23
-46
-61
-33
-18
-57
-52
-6
25
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-7
-14
-10
-3
79
18
-42
5
0
-50
41
24
4
8
91
13
-47
29
-9
-74
38
-3
59
-18
-64
-96
-29
66
-7
-13
-13
0
-12
46
-6
-7
-10
-22
-10
0
0
0
0
0
22
36
13
-1
0
-9
16
51
-5
15
8
42
-24
-5
-9
-6
-48
33
-11
-25
-2
9
36
27
38
34
12
-17
7
-4
12
-13
-4
14
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
69
-7
-6
0
-15
-8
-14
6
0
-29
-3
-62
-24
0
-42
-17
62
-32
0
-3
-5
-14
8
0
-5
7
-1
-1
0
2
1
19
0
0
0
0
0
0
0
-25
-52
1
-2
0
3
-6
-48
-6
0
-40
-18
-81
26
0
-14
-50
-5
-53
0
-24
-30
-15
-60
0
-13
12
-52
3
0
-63
-20
13
36
0
14
5
5
3
0
32
9
1
1
0
21
5
28
-13
0
40
-2
-34
-29
0
-20
-13
-26
-8
0
12
47
-11
-8
0
-40
1
-19
5
0
31
-19
-5
-2
0
-25
1
12
-1
0
-5
16
18
-36
0
47
-18
-13
5
0
-34
-8
24
-12
0
-6
-35
30
-16
0
96
-2
-31
-29
0
-31
11
-22
-2
0
-46
-6
-26
23
0
-19
3
-3
36
0
-22
7
12
-8
0
0
0
0
0
0
-17
35
-1
-1
0
67
-52
18
-12
0
-23
-12
15
-42
0
-16
-43
24
-54
0
29
29
-6
-13
0
-28
2
54
42
0
34
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
4
0
0
39
0
-14
0
0
16
44
-7
0
0
-5
-6
-22
0
0
-5
-19
-1
0
0
4
6
23
0
0
16
-26
-4
0
0
0
0
0
0
0
11
0
15
0
0
-49
79
5
0
0
-8
8
-23
0
0
24
13
-6
0
0
5
-1
13
0
0
6
-10
-33
0
0
-5
-23
-12
0
0
-7
5
1
0
0
-1
0
0
0
0
-13
-14
7
0
0
-8
5
-8
0
0
37
-28
-42
0
0
-16
-4
0
0
0
-16
1
63
0
0
8
-19
41
0
0
46
-1
-14
0
0
32
78
-8
0
0
-4
62
0
0
0
5
8
4
0
0
-2
-13
-3
0
0
13
46
-32
0
0
45
-8
-4
0
0
-47
-5
13
0
0
-8
11
4
0
0
-10
-7
2
0
0
0
0
0
0
0
67
19
1
0
0
89
-7
-1
0
0
-3
53
21
0
0
-14
-32
-56
0
0
17
14
-13
0
0
-27
3
72
0
0
58
9
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
-1
0
-112
-17
14
62
5
-65
-9
5
-8
-5
-23
27
3
-24
-10
42
-7
-6
28
8
72
8
-1
12
6
13
37
37
-22
-19
0
0
0
0
0
-6
53
66
-7
0
4
18
70
3
0
64
12
13
-49
-10
-24
-35
8
0
20
-32
-3
-5
-41
5
-11
1
15
-6
-3
11
12
-10
39
-10
23
5
-2
2
67
13
-39
0
0
0
154
-24
-54
-5
4
7
88
-58
-8
0
103
-94
34
7
10
-41
-17
88
-38
-44
50
-17
-17
-39
13
-15
32
-7
40
-65
-9
9
6
14
72
22
-65
31
76
38
17
-26
-23
-15
0
-24
-87
77
-5
-3
-55
31
143
-9
1
-40
-53
9
-22
-16
42
-1
-30
67
22
21
6
-43
32
38
17
3
15
17
26
-3
42
-18
-33
24
0
0
0
0
0
92
17
-16
0
0
-74
16
7
0
0
54
-33
-41
-23
-1
-18
73
-36
29
1
66
23
67
0
-48
-45
-20
8
0
8
-4
31
20
12
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-115
63
22
-13
1
-51
65
2
-5
28
74
-7
-37
34
30
35
-37
-10
-36
4
48
-37
-26
19
-7
-1
23
19
24
-10
27
15
16
-4
-24
0
0
0
0
0
7
-69
-22
-13
3
-9
22
-33
9
39
-49
24
8
-24
4
-36
6
1
21
14
-13
-11
-17
11
-63
13
19
4
-23
-26
-49
-64
-8
-6
-13
14
-2
-19
-15
-30
32
33
36
4
1
13
-36
-22
21
0
60
-61
57
-32
12
-27
40
11
-32
-14
-26
3
34
2
23
-42
-47
7
-13
55
24
-20
0
-6
9
8
3
-14
7
-12
-126
13
12
4
-1
45
-38
8
18
-4
66
1
-33
36
-8
-37
14
64
-45
-31
-23
-33
-40
12
23
-6
-3
-25
-20
21
-29
9
-12
-4
18
30
-1
-8
-26
31
22
5
8
-4
-14
0
0
0
0
0
50
-13
-14
-1
0
4
-3
34
-22
-2
50
-69
-20
-56
-1
7
-82
-56
-17
9
-38
46
45
4
15
-145
74
-56
14
41
24
53
15
49
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
32
-13
3
0
40
-121
-7
11
25
-25
44
-13
6
-19
95
-4
-36
4
-54
1
-8
8
-2
28
77
7
-24
20
13
16
-15
12
25
-29
0
0
0
0
0
29
-8
-29
0
1
-5
-24
48
-62
-2
13
-40
16
-29
-2
-29
-66
-27
45
29
-22
-40
-38
-12
-29
-63
-18
-4
12
-60
-8
-51
10
-11
5
-110
15
-16
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
60
16
-3
1
-39
21
65
25
-1
-24
51
-59
13
1
-57
-31
-4
-11
-27
-27
1
34
14
-13
-13
-79
20
-19
13
38
-15
-29
12
12
-91
21
13
16
-5
0
0
0
0
0
-22
-11
42
0
1
-1
12
26
-13
0
-4
18
15
-22
0
-39
17
-9
-17
8
49
8
-31
43
-1
3
-10
-44
-3
16
-6
62
17
55
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-13
0
0
0
8
3
22
0
0
3
-26
5
-25
0
8
13
-48
24
0
-3
-18
-4
23
0
2
1
-7
-18
0
60
27
0
16
0
0
0
0
0
0
24
-6
29
8
0
30
-47
-45
14
0
-85
-45
60
59
0
30
-13
-29
-7
0
-13
-19
-18
10
0
9
8
-11
-32
0
-10
4
-16
-5
0
-11
20
1
7
0
-30
-7
-26
0
0
26
-1
-40
-22
0
-41
42
-14
7
0
30
-63
92
-47
0
2
5
-1
-18
0
-8
10
-46
-5
0
-7
-12
14
38
0
-6
3
-4
21
0
-41
-30
28
16
0
4
-16
22
0
0
34
-11
-17
-36
0
20
-2
1
-5
0
-4
-39
7
-3
0
-38
2
-36
11
0
-18
-14
-41
9
0
-14
12
23
8
0
-23
18
-9
-28
0
0
0
0
0
0
8
-22
-5
0
0
5
16
13
-3
0
28
-5
-5
-1
0
-22
13
22
-5
0
-11
-22
55
-23
0
0
7
-23
24
0
-12
-26
24
-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
-4
0
0
-6
-13
-1
0
0
71
30
17
0
0
-33
-26
-21
0
0
8
-53
-15
0
0
-32
15
-18
0
0
10
44
40
0
0
0
0
0
0
0
-21
2
0
0
0
34
2
-3
0
0
22
-5
9
0
0
6
-15
-6
0
0
4
-80
-72
0
0
33
-11
1
0
0
14
-35
2
0
0
-64
25
13
0
0
0
0
0
0
0
36
-2
0
0
0
-25
-20
2
0
0
-69
-17
-5
0
0
41
50
-22
0
0
-47
28
29
0
0
21
27
45
0
0
-69
0
45
0
0
0
17
-16
0
0
13
-5
0
0
0
2
1
0
0
0
-14
-18
0
0
0
40
47
8
0
0
0
12
-27
0
0
-65
-39
-22
0
0
67
14
38
0
0
-41
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
0
0
0
-10
10
-2
0
0
-21
-1
-39
0
0
-9
69
23
0
0
1
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
18
-2
-1
0
114
-2
-34
1
0
27
-32
-14
-29
-2
24
19
16
46
-6
117
2
30
12
18
18
93
7
-40
10
0
0
0
0
0
-6
0
0
0
0
5
-15
0
0
0
0
-103
31
0
-1
-27
12
8
5
1
45
-3
7
-55
11
13
4
-5
75
13
-5
46
22
-21
-25
129
51
10
-35
78
0
0
0
0
0
33
-6
0
0
0
42
-54
0
0
0
5
-41
-1
0
0
-27
97
-61
32
0
-25
44
-16
-12
0
14
94
20
-31
1
51
15
58
-30
-59
75
-29
-22
2
4
-2
47
0
0
0
-22
-1
-1
0
0
8
-20
0
0
0
32
17
-74
0
-1
0
-44
6
-6
0
13
-72
21
-29
60
-12
-3
58
-1
-12
-89
101
1
6
-69
0
0
0
0
0
31
-1
0
0
0
49
0
0
0
0
0
2
0
0
0
0
1
-2
0
0
13
-15
9
1
2
-6
25
51
17
0
8
3
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
0
0
1
-1
-20
0
0
3
-51
55
-7
5
-14
-16
69
-74
-30
-14
46
-2
49
-16
-47
35
11
23
12
115
53
62
-10
37
0
0
0
0
0
-42
23
-5
0
0
-4
-8
-2
-1
-2
-13
91
-57
15
-24
-23
11
-48
47
-3
7
-26
24
-43
-57
-4
-40
-42
-25
-14
46
5
31
12
14
3
24
9
-12
21
-31
-48
0
0
0
49
32
19
-5
-3
80
-48
-33
14
-2
-4
-12
-38
23
4
-3
-47
101
27
45
-48
33
-3
-15
45
21
9
23
26
-3
30
23
-8
-14
2
53
-7
53
36
-3
44
59
6
-5
0
22
75
19
-40
0
-59
-50
30
-2
-1
13
-57
22
-13
-13
-3
3
-22
62
-56
18
5
-69
-21
-5
44
60
23
0
6
87
5
1
-1
22
0
0
0
0
0
31
-21
0
0
0
27
0
0
0
0
0
9
0
1
0
0
0
8
1
0
0
-12
-6
-8
0
4
6
35
16
-20
-2
36
-14
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-18
7
-1
0
1
7
41
25
23
6
5
32
-63
7
4
2
56
1
-33
-58
-10
7
6
-8
78
23
8
43
12
0
0
0
0
0
0
11
2
0
0
33
36
-70
6
2
89
-32
62
-5
-8
7
43
26
-26
-31
-39
-37
-28
42
38
-20
-22
-36
-25
54
-51
-10
14
10
-1
-44
6
-10
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-37
13
-5
0
28
-8
5
-24
-1
1
-26
11
2
0
-15
-30
-5
13
34
-43
-62
29
-7
48
-64
58
-8
43
2
-21
-26
85
36
-8
0
91
-83
1
-48
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-5
-10
1
0
4
-5
7
36
0
0
0
-2
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-2
0
0
0
-4
25
1
0
-4
-9
13
-2
0
40
-75
62
-15
0
6
30
15
-14
0
-20
103
9
12
0
0
0
0
0
0
0
0
-3
0
0
-5
-12
-2
5
0
32
-11
-38
-49
0
-1
24
10
9
0
-24
1
13
-25
0
34
-16
-10
44
0
24
14
12
-13
0
59
9
0
-4
0
0
4
0
0
0
-35
2
1
9
0
-6
19
25
0
0
18
15
15
8
0
16
6
19
-23
0
-58
-41
3
-5
0
17
-12
5
-29
0
52
-45
1
-29
0
0
41
-51
53
0
-45
8
11
0
0
-43
62
-78
-2
0
45
-1
-30
0
0
-5
35
-52
18
0
9
-22
-29
-25
0
17
-60
35
-51
0
-2
-53
56
-23
0
0
1
24
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-15
0
30
0
0
-4
0
-4
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
28
22
-41
0
0
32
37
0
0
0
4
8
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-22
0
-17
0
0
-22
-26
6
0
0
51
13
-26
0
0
-41
44
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
9
-1
0
0
44
8
-45
0
0
0
-6
41
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
50
0
-3
0
0
0
52
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-6
5
-1
77
-17
42
9
5
65
-60
-45
25
23
35
-29
65
-76
-39
-19
5
7
-6
-21
-31
3
2
-19
14
39
-37
-15
12
-34
0
0
0
0
0
-62
-69
48
8
-3
100
-20
-19
-3
-3
56
-12
-40
-39
6
-45
105
-3
3
-5
-11
-45
-22
13
-38
3
3
5
25
-34
-60
-9
-1
-7
61
-6
40
10
21
-5
46
-52
-5
0
0
21
28
15
-1
0
68
-68
-19
17
0
25
21
-29
-37
-19
-70
36
-31
-11
-50
13
-1
-28
8
13
-41
2
-16
-12
19
7
-12
7
2
12
24
-9
24
50
27
-29
-10
7
0
1
56
64
-65
-20
-4
39
-49
-20
-5
1
2
-54
-58
31
-21
50
4
-21
3
6
-15
-2
43
-24
-29
16
8
7
-13
-5
19
3
24
12
49
0
0
0
0
0
58
25
-8
0
0
82
33
-23
0
-1
33
-14
10
-11
0
-44
-50
78
-9
-38
-37
12
11
14
29
-11
-1
-4
27
-49
12
-11
22
-12
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
5
3
-86
8
36
24
84
18
20
40
17
-11
-25
-11
-43
-24
-26
76
27
-10
-8
25
-1
23
24
-8
-9
1
6
-36
-20
-7
24
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
27
-27
0
0
-23
100
-13
3
1
-56
-9
64
0
2
-28
1
62
-44
1
8
27
-7
-30
-27
2
-34
9
-33
-8
19
22
6
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-1
46
-8
59
-62
-20
-6
-15
-25
50
-12
-9
-3
28
38
8
-35
32
11
-6
4
14
9
-7
7
8
-20
8
-81
14
-49
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
47
-41
20
-23
7
-30
-30
5
43
-6
14
17
-27
-8
-4
-14
7
-30
21
33
-10
-16
40
17
-32
18
5
-15
-4
-5
-6
-40
-14
-4
-10
-1
-4
10
2
-1
-9
8
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
18
-30
6
0
-24
46
-44
-8
-3
-41
2
34
26
-4
64
47
-56
6
-12
27
-25
-14
25
-17
43
-2
-4
-1
-28
-2
7
51
-10
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
53
11
5
0
-16
2
-57
20
0
-28
72
-49
23
0
9
-15
0
-23
0
18
2
6
2
0
4
-12
8
2
0
-8
-24
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
1
0
0
-41
17
-11
-5
0
-20
4
9
1
0
2
25
7
-39
0
-10
-5
-10
-1
0
3
-1
-22
39
0
-6
4
10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
30
-2
0
0
-50
-7
-3
0
0
52
38
-5
0
0
66
-12
-50
0
0
-11
8
25
0
0
-1
25
-13
0
0
0
-16
29
0
0
0
0
0
0
0
42
3
0
0
0
-5
-42
1
0
0
25
43
-3
0
0
11
24
12
0
0
8
-24
50
0
0
-22
25
-13
0
0
-4
-10
2
0
0
-11
-3
40
0
0
12
0
0
0
0
41
4
0
0
0
28
-7
0
0
0
1
-22
31
0
0
77
25
-12
0
0
26
-46
-12
0
0
1
0
15
0
0
25
-12
-14
0
0
-1
-2
-2
0
0
-23
3
0
0
0
-2
0
0
0
0
3
-10
-1
0
0
70
19
-7
0
0
-37
38
-17
0
0
42
6
-57
0
0
20
-2
16
0
0
5
1
49
0
0
0
0
0
0
0
-1
0
0
0
0
20
-20
0
0
0
-6
23
0
0
0
-9
8
4
0
0
-71
20
-41
0
0
0
12
21
0
0
-1
-4
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-31
-6
5
0
-22
-2
-78
9
-1
12
47
-27
17
-41
58
-5
-72
-32
-19
22
-5
-16
15
-2
14
5
18
0
-1
13
36
15
33
22
0
0
0
0
0
83
72
-74
7
0
30
8
-9
0
3
-15
57
-89
15
12
21
28
3
26
-30
38
-6
8
-6
50
8
8
7
-7
19
12
6
12
-8
-9
29
26
0
42
19
30
-14
-24
1
0
36
43
-23
-6
0
47
10
-52
6
0
-69
16
15
-20
8
62
0
-25
19
-39
-14
-4
-49
8
54
11
-3
6
7
-37
31
21
29
3
-23
30
0
-2
40
22
-20
23
55
0
-1
26
-72
11
0
0
-12
21
-6
3
0
6
-1
46
-23
14
-6
-7
9
8
-11
-48
18
-14
-33
-5
34
0
4
23
-4
-22
12
22
21
-20
0
0
0
0
0
-51
4
1
0
0
35
-22
-7
-1
0
-29
6
-2
33
-1
-12
-23
-68
-17
14
47
49
-17
35
-21
39
-9
-4
12
51
14
-14
-2
31
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-13
-27
13
0
32
-47
27
18
22
73
87
17
-37
23
-16
-12
-31
-28
-50
-23
-10
26
1
15
13
15
20
2
18
42
23
14
36
10
0
0
0
0
0
23
-120
7
-31
12
-30
-6
84
7
0
35
14
43
-3
17
-20
3
77
9
13
13
38
42
18
-8
24
7
9
3
1
-12
-43
-18
8
-31
-12
-8
26
39
13
6
-15
-47
13
1
-51
92
-13
28
0
62
-16
56
-5
-12
17
-18
-11
-1
20
15
-27
-12
50
45
11
21
15
-45
-47
4
-15
-21
7
37
-7
-8
6
4
4
3
-8
-5
21
-9
8
-22
19
4
0
-29
13
74
6
0
-12
-1
-13
-3
-1
-4
-78
78
4
-25
22
-8
72
-13
-84
27
-9
-46
-36
24
36
-7
-11
-8
-2
-17
39
-5
40
27
0
0
0
0
0
4
10
9
0
0
51
-6
-2
-8
1
16
-6
28
-85
0
-55
2
-20
28
-1
-11
-34
21
24
63
-23
40
22
-15
-51
2
-28
7
30
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
17
3
0
102
-24
17
25
-3
14
2
41
30
23
38
6
-28
-13
-7
50
12
24
-5
9
9
12
10
0
6
0
20
4
0
3
0
0
0
0
0
42
-19
9
-2
0
-2
86
-7
-27
0
33
13
-28
-8
-40
26
25
-30
-4
7
33
5
13
3
31
15
4
6
0
-29
22
-27
-42
9
31
-4
0
7
-2
-23
51
-51
32
-46
-3
12
36
-4
-71
19
-12
27
19
-10
-4
8
16
-40
31
-27
-38
36
-6
-5
-5
14
-3
-19
6
6
-16
1
-1
-7
4
5
3
3
16
12
-1
0
-4
6
-11
59
-17
-2
-3
1
49
39
-46
-19
0
-44
-16
-2
48
1
48
-24
2
-5
8
-8
-4
16
53
31
22
40
-41
16
-45
18
-5
-6
26
5
-5
2
40
-4
47
0
0
0
0
0
-43
25
11
16
0
102
-51
-5
-28
7
104
-5
2
19
-1
25
20
-2
-29
-9
16
20
24
-40
37
13
19
18
-12
-17
-6
11
-5
10
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-28
3
-2
0
3
34
65
1
0
-51
-71
121
26
0
119
11
-17
22
0
11
14
9
-3
0
5
2
-13
10
0
29
20
23
23
0
0
0
0
0
0
20
-23
4
18
0
9
30
-30
2
0
11
32
-23
-19
0
25
-75
-17
4
0
-28
-23
-7
2
0
15
-4
-2
35
0
29
4
2
5
0
-41
-32
-2
11
0
40
25
8
-1
0
32
6
28
-8
0
15
0
31
8
0
1
-8
-13
9
0
-43
66
21
-45
0
-16
-7
-6
-24
0
48
5
14
6
0
17
-26
3
9
0
-4
3
19
-2
0
43
-3
0
0
0
-70
-9
0
2
0
63
-5
14
0
0
56
55
-21
9
0
-22
22
-37
-24
0
59
-5
32
12
0
-23
-13
-10
-13
0
1
6
39
2
0
0
0
0
0
0
-48
-24
5
0
0
-16
-7
0
1
0
-11
22
83
1
0
33
-13
-27
8
0
28
-49
-1
-34
0
-45
-13
-48
14
0
7
2
4
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
18
8
0
0
0
24
10
20
0
0
-30
1
-28
0
0
12
15
12
0
0
3
27
-18
0
0
-12
5
28
0
0
0
0
0
0
0
-27
-2
0
0
0
14
18
0
0
0
33
4
-8
0
0
24
-1
-39
0
0
5
6
-79
0
0
7
-15
43
0
0
-11
-13
30
0
0
4
19
10
0
0
18
0
0
0
0
-40
6
0
0
0
60
13
0
0
0
-23
23
-5
0
0
-27
60
-21
0
0
0
-31
11
0
0
0
-4
9
0
0
6
-29
11
0
0
-27
28
12
0
0
2
0
0
0
0
8
-13
0
0
0
26
6
-1
0
0
-53
-30
8
0
0
66
-41
-54
0
0
9
-8
7
0
0
17
-8
6
0
0
-8
12
2
0
0
0
0
0
0
0
-13
-7
0
0
0
-14
6
0
0
0
-27
-22
0
0
0
32
24
5
0
0
-2
1
36
0
0
-32
-21
-92
0
0
3
5
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-13
0
1
0
51
2
-36
-1
0
16
-81
28
13
2
-58
29
-42
12
-17
26
-42
31
-3
46
-3
5
28
-34
24
46
56
2
18
0
0
0
0
0
0
-38
40
-3
0
0
16
-77
8
0
0
16
41
-48
1
-1
77
-23
-25
-1
2
-43
-62
-9
56
17
7
-9
-42
-6
22
34
10
14
9
4
25
22
13
54
13
7
-6
0
0
0
-9
-54
-28
0
0
20
-1
-31
0
0
-41
37
-3
1
0
47
-22
-5
-35
12
-50
-9
31
13
42
49
-7
-9
-3
-28
24
25
4
-1
21
-3
78
-40
44
40
-5
13
4
0
0
32
50
0
0
0
-12
-19
0
0
0
-46
-67
-64
10
2
-49
3
-36
6
44
4
-20
-24
-67
-37
44
7
17
-31
24
-41
28
14
21
-32
0
0
0
0
0
12
-34
0
0
0
-5
-49
0
0
0
0
-20
-3
0
0
25
-42
16
0
0
-4
-9
21
1
-1
-21
41
-67
-58
14
-34
55
-21
25
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-41
1
-2
0
51
11
-4
-7
1
-13
-22
-60
-25
8
9
42
-29
21
59
-42
12
-43
0
9
53
11
11
7
8
55
25
23
28
-8
0
0
0
0
0
-7
15
-56
-9
-1
41
50
-14
11
0
-23
0
1
-5
40
28
-57
29
-50
22
-50
26
-14
-23
7
1
0
-1
4
-37
19
6
14
2
9
11
13
27
22
9
-14
-32
22
12
1
18
1
-3
-15
7
34
23
-23
-27
5
34
-19
-12
34
-2
30
-45
-42
-22
-68
-30
-2
-9
2
22
5
5
-4
-17
10
8
7
31
11
22
5
33
12
20
2
14
51
4
40
0
51
4
-33
9
7
26
1
34
-66
1
8
3
-7
-39
33
-39
2
8
30
89
-16
15
9
-16
-66
17
0
-1
-4
30
-16
10
13
36
-25
0
0
0
0
0
-10
-18
-1
0
0
-35
-33
7
0
0
-4
7
33
2
0
-10
-55
12
22
-1
78
19
19
39
-13
5
-17
0
-23
12
33
20
17
35
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-40
-1
-1
0
-22
21
41
5
0
44
39
-33
65
10
-41
8
-12
53
-9
-8
38
58
-25
-2
-5
12
5
7
10
23
24
20
16
21
0
0
0
0
0
-38
-21
42
-13
-1
-46
-14
64
16
1
-100
11
21
48
77
-47
7
15
21
11
-31
16
32
-20
-23
17
8
-11
-7
13
6
1
12
5
-7
-15
10
3
32
36
-25
-2
-22
12
1
8
16
6
42
-25
5
8
-5
25
11
-24
13
32
-7
20
-28
-18
13
-6
18
55
-14
25
2
19
4
-14
3
12
3
-2
4
-1
3
18
50
-15
7
-4
-34
-14
19
-6
-7
-1
31
-48
40
-30
-44
60
-40
59
-8
0
-3
-6
46
26
-15
22
6
-6
15
20
50
-8
18
-16
11
-47
-29
12
13
20
-4
10
-4
-12
-18
0
0
0
0
0
92
-23
-12
0
0
8
52
12
10
0
16
-20
18
-12
0
-22
26
19
-6
-3
-64
24
45
31
-20
-11
-6
5
22
-1
39
17
-5
-33
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
22
-35
-5
1
0
51
22
58
4
0
-24
2
-24
1
0
41
-17
9
-1
0
-1
7
27
-27
0
-10
17
6
33
0
0
0
0
0
0
-53
6
31
8
0
-88
-13
15
0
0
-13
38
-18
25
0
-53
24
16
37
0
23
-31
11
-23
0
6
12
-13
-19
0
-3
9
0
7
0
-21
-49
-4
42
0
-16
-6
27
0
0
30
3
27
-5
0
1
53
16
0
0
-4
-47
10
42
0
32
45
-5
3
0
17
-19
19
-1
0
1
18
25
-9
0
5
-6
-2
33
0
16
7
1
9
0
-41
-34
-3
0
0
19
32
-41
0
0
-13
-30
9
2
0
19
42
-32
35
0
7
-25
41
-5
0
-6
8
-20
2
0
23
2
31
-29
0
-24
-8
12
26
0
0
0
0
0
0
19
29
8
0
0
8
-8
0
0
0
40
-9
-32
0
0
54
-44
-5
3
0
-7
-10
45
-16
0
-42
-31
-58
-12
0
-46
-8
-22
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
-1
0
0
0
-5
9
0
0
30
49
-12
0
0
-14
40
-46
0
0
3
-28
-10
0
0
0
0
0
0
0
0
0
0
0
0
19
3
0
0
0
-5
0
0
0
0
1
1
2
0
0
41
3
15
0
0
16
57
25
0
0
4
8
-1
0
0
1
-25
-29
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
6
26
0
0
0
44
19
-52
0
0
7
-12
-23
0
0
28
-59
35
0
0
2
-26
55
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
34
9
0
0
0
17
67
-26
0
0
-4
-3
-20
0
0
17
-6
5
0
0
-88
-35
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-10
1
0
0
0
5
-18
-13
0
0
42
16
1
0
0
-35
-3
-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
-2
-1
2
0
-27
37
23
-27
3
27
8
11
8
6
15
-84
-11
15
-32
-21
9
-51
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-2
0
3
1
6
-2
0
30
-24
42
-17
8
39
49
22
13
-13
-33
-89
-77
-43
-38
-191
-27
-26
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
5
-42
43
-7
-1
12
-2
50
-37
-21
-119
-93
-17
88
51
-52
-102
-50
8
4
-42
29
-59
-60
-48
0
0
0
0
0
0
0
0
0
0
-5
-3
0
-2
0
-1
0
-7
0
0
-7
-5
43
8
-3
41
-55
47
-54
-15
23
32
-7
-3
2
-72
7
-57
39
-12
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-6
9
0
-1
0
-37
-12
12
-2
2
5
-41
-17
39
1
22
9
-42
1
10
22
11
-6
0
-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
-2
-1
-2
-1
6
1
-13
-75
4
21
1
27
-27
9
-73
-59
-5
16
-15
-136
-45
-57
61
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-2
0
0
-6
1
0
5
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
-6
-1
-3
0
0
0
1
-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
2
0
0
0
0
0
0
0
0
-1
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
4
4
-6
-2
-4
-13
23
9
19
-23
1
-31
13
3
8
19
45
-13
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-1
0
0
-31
-54
-18
-14
24
-27
-29
43
-8
-17
-23
-15
54
-43
-6
-67
-45
-66
28
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
2
3
0
0
0
-8
20
-10
0
-5
-33
-24
0
0
2
13
-6
8
0
3
-23
-27
5
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
-2
0
-3
-1
0
-9
-34
16
-5
0
-41
37
-5
-43
0
-11
-85
-26
39
0
-29
-49
20
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-2
7
0
-4
-3
23
-2
0
20
-14
-1
-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
-4
0
0
0
0
-24
17
-16
0
0
-33
41
-12
0
0
-27
-45
14
0
0
-19
-23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
13
-23
-8
0
0
-20
-25
-4
0
0
-25
54
41
0
0
42
-26
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
-1
-42
10
0
0
-1
73
42
0
0
0
-1
-44
0
0
6
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
-24
8
12
0
0
6
-41
2
0
0
12
5
-2
0
0
12
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
1
-39
3
0
0
1
18
0
0
0
13
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
8
-2
0
-2
0
29
-28
-41
-8
3
31
-18
31
-31
22
70
14
-3
-5
4
-29
-8
12
4
2
-100
-25
-15
13
57
0
0
0
0
0
0
0
0
0
0
-4
16
2
0
-1
-9
-16
-37
-1
-1
50
-12
41
41
-47
-92
78
-17
-56
-10
-1
5
28
38
31
-143
-36
-18
2
17
-21
-44
-28
5
-45
6
-1
0
0
0
6
4
1
1
0
-7
-6
-3
-3
0
-53
-43
65
7
-1
-1
51
12
5
15
42
39
-32
-18
43
-84
-66
30
50
-14
-68
-21
-94
-50
5
16
-9
-25
-61
-38
-2
3
0
0
0
2
-8
5
0
0
6
-1
2
-7
0
-4
26
52
-9
-5
67
64
-76
-5
-17
-55
-1
-8
7
0
-41
-3
18
-1
19
-65
-80
-63
-25
7
0
0
0
0
0
22
-8
0
0
0
-84
-15
28
9
0
-16
-23
9
25
0
45
-26
-22
5
-5
-44
-5
47
-98
-45
-3
16
-53
16
0
-44
-54
7
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
27
-4
1
69
-5
-4
-1
-1
-23
-3
-44
-31
-44
13
-31
-13
-60
-6
26
-16
-47
-10
19
-60
-17
-13
45
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-2
15
-2
-2
0
-66
-122
-26
-28
-8
-44
-60
13
7
24
-42
-6
-19
29
-92
65
0
-103
-89
-50
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
0
-1
1
-1
0
0
-42
41
-3
22
0
-18
-48
-41
14
17
-32
3
27
30
26
26
-46
-97
-147
-117
22
16
-79
-127
-109
1
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
-4
3
-18
4
0
-27
4
9
8
0
-116
-76
17
-2
13
-41
-86
-54
-10
-32
8
-35
3
-76
-9
0
0
0
0
0
27
-18
0
1
0
-43
-2
44
-1
0
-16
21
-23
-7
0
-56
-13
-46
-14
0
29
58
32
37
49
13
-36
-9
-29
5
21
-32
-10
-56
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
-17
12
-3
2
-2
-12
-59
24
5
-7
9
-59
-96
-20
32
-38
6
14
11
-36
-15
-11
-2
-1
-11
-22
-4
-17
-63
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
-3
1
-30
-7
0
-59
46
-52
7
-13
45
-90
21
-16
49
-26
-34
-14
-57
-75
55
-59
-47
-84
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
0
-1
6
4
0
0
-1
0
1
0
1
-5
21
-23
5
3
-29
-44
15
25
-56
-41
-18
-55
-52
6
44
-58
-1
-109
-1
0
0
0
0
0
-4
-42
-2
0
0
-27
-5
23
1
-1
2
-19
-24
-13
4
3
-46
-4
44
12
31
-30
23
28
-26
-42
-7
-80
-32
23
30
-37
10
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
3
0
2
25
-15
6
0
79
22
-69
-56
0
1
33
-14
-45
0
-59
14
-5
17
0
63
-43
-15
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
17
5
-39
53
0
26
14
8
-5
0
-114
-74
-68
-142
0
0
-15
-45
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
-10
2
0
-42
6
-1
7
0
-35
-5
-13
-9
0
4
-33
-50
-73
0
0
10
-107
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
-2
0
-1
1
33
1
0
-34
23
-40
-14
0
-2
19
25
2
0
37
-51
-121
-4
0
0
0
0
0
0
-4
0
0
0
0
-4
-1
-1
-2
0
-39
-14
44
0
0
19
45
16
6
0
-56
-1
-44
32
0
-1
33
-10
-12
0
36
-6
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-1
0
0
0
0
-8
2
-3
0
0
-112
-19
-21
0
0
16
0
29
0
0
37
13
8
0
0
12
16
16
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-13
-3
1
0
0
8
-6
6
0
0
39
-21
-51
0
0
9
-11
48
0
0
-11
-13
4
0
0
50
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
17
-8
-17
0
0
-16
24
19
0
0
-9
-39
-69
0
0
21
-34
8
0
0
-61
69
4
0
0
-3
20
70
0
0
0
0
0
0
0
0
2
0
0
0
-3
-7
3
0
0
38
-8
-3
0
0
55
-5
20
0
0
-37
-31
-50
0
0
-15
0
57
0
0
-5
17
-65
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
24
2
0
0
0
58
-28
-16
0
0
35
-2
10
0
0
-86
6
14
0
0
13
-8
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
18
-21
-32
0
3
-16
-2
29
-22
3
-19
-14
-58
-2
-49
39
25
20
49
49
35
5
7
-9
4
-14
-46
-6
8
-16
0
0
0
0
0
20
-4
-1
0
0
-7
-8
-5
0
0
9
-52
6
8
0
139
-22
26
-21
-19
68
21
-26
-12
-63
-19
19
22
8
42
-32
3
-9
18
23
49
38
-28
22
15
3
-8
0
0
0
-17
8
6
-1
0
-9
42
41
-3
0
23
9
76
6
-2
5
7
57
43
-4
35
-7
-77
-36
-19
6
12
30
14
19
20
-1
-12
29
52
-9
1
27
85
52
74
-17
1
0
0
49
60
-9
-3
-1
16
8
-22
0
0
-114
31
2
7
28
-3
39
63
14
-31
-14
21
-40
31
-46
14
-3
28
6
79
3
-27
25
1
20
0
0
0
0
0
55
8
-3
0
0
33
-6
49
-2
0
-13
28
-18
-3
0
92
-63
19
-30
3
-41
102
7
-2
26
13
-61
51
-14
24
-43
-26
11
69
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
0
0
23
-32
-7
1
9
4
15
3
-41
42
-80
48
-35
102
-114
24
20
1
-19
2
-11
13
9
-2
22
59
8
0
-5
-1
0
0
0
0
0
50
-1
-1
1
0
0
54
-25
-27
1
-31
-70
2
27
-7
5
-24
5
47
42
-24
1
-13
8
-7
36
9
-6
31
-20
-63
-97
-4
-2
-19
33
8
-46
-53
-28
-9
32
-1
0
0
119
-21
67
0
0
-84
16
19
1
1
-33
23
30
-37
4
-7
27
42
-59
-1
-7
-39
-13
37
13
-7
-31
-9
40
-16
58
-13
-30
-33
-59
20
-60
-16
8
66
-57
-29
-2
0
0
0
13
0
-12
-1
38
-69
22
28
-1
68
-19
-109
5
6
-44
-64
83
-15
-2
1
-22
73
30
-29
-41
-3
1
-7
4
24
24
-75
-49
-23
0
0
0
0
0
57
-11
0
6
0
19
1
7
5
0
-55
39
-7
42
-1
-9
39
-6
-10
3
35
-48
50
-56
-46
3
-28
-9
17
20
-9
-15
-14
7
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
0
0
11
40
4
25
0
37
3
5
30
40
14
12
-62
-54
55
-8
42
-21
-24
57
-43
-11
26
-18
30
-16
44
-20
39
-1
0
0
0
0
0
13
-9
0
0
0
16
-10
12
3
-3
-62
-29
26
-19
-7
-55
-46
-25
93
5
-57
23
-23
22
-20
-11
4
4
24
42
6
-6
-35
17
4
78
27
11
-8
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-49
-8
3
0
-46
16
49
-17
1
32
29
-32
13
0
5
20
30
8
-6
6
-8
-24
-28
57
-26
-13
13
-16
-44
4
26
-24
-46
-15
28
9
-39
-13
12
0
0
0
0
0
-50
90
6
5
0
-4
18
-31
5
-1
-27
10
77
-11
2
-4
-6
-42
50
5
47
-40
-17
76
-5
39
58
20
-48
-22
-39
-25
-18
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
41
23
-9
1
0
26
-31
-42
-1
0
-61
-29
57
31
0
-9
15
-18
26
0
5
13
-18
6
0
-16
15
19
5
0
0
0
0
0
0
-9
5
-1
-1
0
-13
-1
-7
0
0
86
38
13
-24
0
59
-45
32
-30
0
31
39
-52
-52
0
-13
-30
21
78
0
-77
-20
-46
-27
0
23
-13
-6
-19
0
-18
0
0
0
0
-8
-18
-16
-4
0
92
-42
-32
1
0
-11
21
19
-30
0
89
-82
12
-23
0
-50
-20
-3
-20
0
-16
-5
-49
-6
0
-2
15
8
-64
0
-24
-3
9
-10
0
-1
0
-1
0
0
8
10
4
-1
0
49
-5
-42
1
0
-24
-15
12
-4
0
78
-25
-37
6
0
-49
-77
57
0
0
70
-12
-24
45
0
8
-7
71
-111
0
0
0
0
0
0
1
31
1
0
0
-5
28
-2
0
0
29
29
-57
1
0
-59
22
42
9
0
34
-14
5
11
0
31
-1
6
-52
0
-18
-11
50
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
27
-8
0
0
10
17
50
0
0
-38
-12
-2
0
0
40
16
-10
0
0
29
11
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
3
1
0
0
10
41
0
0
0
-2
50
-15
0
0
9
0
-32
0
0
-4
14
14
0
0
48
-4
46
0
0
0
0
0
0
0
-3
0
0
0
0
-3
-19
0
0
0
-54
-17
-3
0
0
22
21
-16
0
0
13
7
31
0
0
-53
16
42
0
0
84
34
3
0
0
64
15
5
0
0
0
0
0
0
0
37
0
0
0
0
3
15
-1
0
0
48
5
0
0
0
3
-39
22
0
0
2
11
-40
0
0
38
0
18
0
0
-59
-31
13
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
0
0
-41
4
0
0
0
49
-28
-2
0
0
-30
5
16
0
0
-41
25
-20
0
0
30
38
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
0
-2
0
2
0
0
12
-5
-3
1
0
-23
11
-14
-17
0
-104
27
7
3
16
41
2
-6
7
-49
69
16
11
26
34
0
0
0
0
0
16
0
0
0
0
42
-17
0
0
0
4
-3
8
0
1
-1
23
-5
0
0
-55
-10
3
-34
-8
21
33
-35
-27
41
-14
21
8
12
-1
70
10
46
38
12
0
0
0
0
0
14
0
0
0
0
11
-31
0
0
0
-13
-13
0
-1
0
4
59
16
-18
0
-46
23
-74
-34
1
15
46
-38
-51
29
64
36
41
-13
-5
0
-83
60
86
-53
53
-15
0
0
0
70
-29
7
0
0
5
35
0
0
0
6
-35
-12
-2
0
-50
-2
3
21
-1
-49
39
-11
-41
-16
22
1
6
8
47
15
2
17
32
-27
0
0
0
0
0
-6
-8
0
0
0
38
0
0
0
0
-34
8
1
0
0
-25
-13
16
0
0
44
-43
2
-14
3
23
10
-14
43
-4
29
21
-6
2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
48
2
-2
0
41
43
9
-9
1
-22
-70
18
29
1
30
4
16
43
17
-28
19
-11
8
29
105
67
-3
0
2
0
0
0
0
0
1
4
0
0
0
-58
-37
4
-3
0
-18
17
56
49
-10
-1
51
-40
12
-5
94
0
38
-23
30
-18
18
1
7
-1
39
-21
28
-15
18
37
-18
-2
15
-23
17
-4
1
0
0
-15
1
-31
0
0
36
23
12
28
-2
-30
-41
60
28
0
12
24
9
-28
29
-7
-49
19
-43
-5
-9
29
-15
-19
23
27
17
26
27
17
-5
-33
10
20
24
-46
86
13
0
0
39
-6
19
-5
1
5
-51
-20
0
0
-18
28
-5
14
-33
9
28
-35
-12
49
8
-32
-58
5
-47
68
-6
-3
82
21
-44
25
22
2
-6
0
0
0
0
0
-13
23
0
0
0
0
0
4
0
0
5
32
-6
-1
0
5
59
8
-9
-1
-8
5
-30
50
0
38
-68
-8
-41
23
-9
-14
22
11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
3
-4
0
21
24
-39
16
-3
-20
23
-75
55
8
-59
46
47
31
5
-42
0
35
-18
31
67
27
22
26
-9
0
0
0
0
0
10
23
0
0
0
10
50
31
-9
1
93
-41
5
-33
-14
13
50
-23
24
0
-39
-19
-2
-18
18
-3
29
17
38
61
-26
13
24
29
17
27
67
1
40
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-21
14
-10
0
-37
13
52
18
3
-22
-32
-10
-57
0
-42
-9
-30
-21
1
0
-43
26
21
-3
-9
22
-61
28
-34
62
36
21
-8
32
-17
-6
13
-6
8
0
0
0
0
0
0
-14
-1
0
0
0
4
-12
0
0
-2
0
8
-3
0
0
35
-7
-6
0
1
31
14
-64
-3
4
16
29
-19
18
6
-21
-3
103
8
0
0
0
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
0
0
0
-8
3
1
1
0
20
-13
10
-61
0
-22
15
-1
-11
0
12
-3
-75
60
0
37
18
30
55
0
0
0
0
0
0
-1
0
0
0
0
-1
3
0
-1
0
42
-59
-15
-13
0
-106
32
14
-13
0
-30
-40
-29
3
0
-10
19
43
27
0
-9
23
6
6
0
149
-9
-14
-1
0
1
0
0
0
0
7
-26
-3
17
0
-24
-20
-5
0
0
-4
-47
-33
19
0
-23
8
-17
41
0
6
73
-40
-61
0
28
18
42
28
0
-39
63
16
-31
0
11
-71
10
81
0
1
-22
0
0
0
-8
-58
8
0
0
-15
27
53
-3
0
-19
-41
41
-5
0
102
77
-59
-45
0
41
15
54
4
0
5
23
-24
52
0
-77
-122
-31
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-17
-1
-1
0
0
-67
57
81
0
0
49
-10
-23
-13
0
-4
64
66
8
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-7
0
0
89
27
-30
0
0
-64
27
-16
0
0
6
20
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
-1
0
0
27
47
9
0
0
-15
18
72
0
0
-7
30
7
0
0
-63
40
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
0
0
0
8
-13
5
0
0
-21
20
-11
0
0
0
-14
40
0
0
0
47
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
30
10
0
0
0
-12
-6
-50
0
0
-6
17
41
0
0
3
-75
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
22
0
-20
0
0
0
-4
-1
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
7
-29
5
13
0
-14
3
30
-28
-3
62
68
13
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
4
0
0
0
-1
-41
14
12
0
8
23
17
32
3
65
20
-6
-5
-29
66
7
-4
-30
15
0
0
0
0
0
10
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
3
0
0
21
-1
-19
-3
20
55
35
79
18
0
28
-4
3
0
0
8
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
6
3
0
0
-37
35
0
0
4
5
20
7
-7
0
46
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
2
2
0
0
-4
41
15
-38
-14
8
-3
17
-71
51
125
-7
-41
101
-3
0
0
0
0
0
0
0
0
0
0
23
15
0
0
0
55
-50
-21
-2
0
34
5
48
-5
-2
12
-50
29
11
-49
-23
30
52
46
6
40
37
9
31
19
12
-21
20
23
31
-24
-1
0
0
0
-41
-58
28
0
0
-5
18
0
0
0
-36
31
-10
5
-8
14
-28
-58
-3
7
-9
6
-51
23
-10
-13
0
93
30
20
27
25
3
17
-29
111
30
21
-7
68
81
-63
0
0
0
3
-4
-24
0
0
-4
13
4
0
0
-57
-4
-4
-6
0
22
14
45
-8
3
-91
35
5
35
10
22
58
52
31
34
-14
75
-69
1
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
1
-5
0
0
0
1
0
0
0
0
0
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
-1
-1
0
0
0
-2
-3
1
0
6
3
69
-34
6
0
-31
-6
16
-36
67
85
46
25
68
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
-7
-7
-2
0
0
3
36
-2
0
33
16
46
-39
-60
3
11
1
65
8
-27
-4
24
51
44
82
26
42
32
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
8
0
0
3
-18
-45
0
0
0
15
0
0
0
0
-6
-12
2
0
7
15
32
1
-1
-47
-84
8
-53
49
66
75
-21
29
-23
0
-9
-14
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
19
0
0
0
-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
-1
0
0
-6
-2
-31
25
0
52
-79
-56
60
0
18
68
73
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
0
0
-6
-4
0
0
-62
-4
24
-3
0
-40
25
72
50
0
32
29
16
-48
0
-15
27
85
86
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
1
0
0
0
-1
59
-3
8
0
-26
-40
5
-7
0
-6
-19
31
-6
0
11
-13
65
23
0
0
-29
15
36
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
4
4
1
0
5
-13
4
1
0
-38
21
-34
-1
0
3
21
59
-51
0
0
-6
9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
-26
7
66
0
0
0
19
-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
-1
-5
0
0
0
14
-47
4
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-12
0
0
0
-23
0
0
0
0
0
0
0
0
0
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
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
36
27
-13
-4
32
11
-19
3
1
5
-26
49
-45
2
5
-6
38
-23
28
5
7
35
20
3
-56
-40
-36
28
30
-50
-33
-16
-29
13
0
0
0
0
0
-41
-9
10
-8
-1
-49
44
-61
22
-1
-60
-64
-6
59
37
-10
55
37
13
-22
-28
18
-56
-16
-30
43
-23
-15
34
58
-59
-99
0
-8
21
-85
40
-37
8
-57
-9
-31
12
-12
0
39
0
-3
-4
1
-4
15
-13
16
3
35
-17
-19
19
-19
-35
74
29
26
18
-30
17
16
49
-47
43
-27
39
35
56
-94
-134
-24
-32
20
-93
5
-21
19
-20
29
5
-17
1
-1
7
0
-23
4
1
-23
56
-53
-5
13
37
37
-31
9
-8
30
40
19
-16
-33
-68
-7
-2
-15
52
14
17
16
66
39
-143
-53
12
-6
-34
0
0
0
0
0
6
-19
-4
0
1
-4
-2
4
9
41
-43
-15
47
-2
-1
-20
20
-14
8
20
117
-17
5
38
-16
-82
-30
27
-47
17
-27
-5
-30
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-2
0
24
-12
-93
-19
-10
58
3
20
-27
36
-23
5
-57
63
14
-5
50
54
34
26
49
4
-43
-37
-48
-41
-19
-47
-22
-111
-43
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-8
1
-1
0
43
0
-62
-18
-7
-6
4
13
2
0
2
-12
10
3
17
-56
-59
2
44
17
-7
30
-46
-55
30
-15
-54
-25
15
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
-34
-49
-8
-42
28
-12
-5
2
-70
15
-32
47
-8
-74
-11
-20
18
-5
-13
-34
-20
7
52
-14
-19
1
-11
29
-32
-68
-92
-64
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
15
1
0
-1
37
25
4
-4
-4
11
-19
-20
10
0
-121
7
74
30
-13
91
-14
-16
-72
31
-105
-49
53
-22
3
-12
5
-17
17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-74
-50
2
0
9
-25
6
25
0
59
61
-4
-43
0
14
47
-30
23
0
17
50
31
10
0
-59
3
15
13
0
33
-38
-67
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
-7
0
0
41
3
15
2
0
5
-20
5
9
0
-9
62
-40
-34
0
44
89
13
-1
0
-22
-49
-15
-4
0
-54
7
28
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
25
3
0
0
-51
-4
6
0
0
-52
-40
0
0
0
7
-14
6
0
0
12
12
0
0
0
-5
0
30
0
0
-7
7
-34
0
0
0
0
0
0
0
17
0
-5
0
0
75
0
5
0
0
-15
32
-16
0
0
16
19
-70
0
0
39
9
45
0
0
-1
43
7
0
0
-11
-4
-30
0
0
-72
21
6
0
0
-5
8
0
0
0
-30
1
-6
0
0
27
-12
0
0
0
21
3
-22
0
0
-57
-10
-18
0
0
-31
7
6
0
0
-1
-41
35
0
0
18
11
19
0
0
-59
25
5
0
0
6
-3
-2
0
0
-6
-8
3
0
0
-5
-15
15
0
0
23
-61
5
0
0
33
-6
47
0
0
-45
4
27
0
0
-17
-23
12
0
0
-17
32
-5
0
0
0
0
0
0
0
-29
25
-3
0
0
-12
32
-19
0
0
51
16
2
0
0
-9
8
9
0
0
3
-31
-28
0
0
62
23
0
0
0
-7
-33
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
25
-6
-8
1
15
10
33
5
0
-29
11
-22
30
9
75
-25
-43
-2
7
-12
34
65
-13
9
13
-19
-19
9
25
-77
140
33
3
53
0
0
0
0
0
31
5
3
-2
0
-40
32
1
0
1
46
-51
22
-59
8
-7
-3
14
2
5
-32
-8
-40
15
33
-38
-3
24
31
31
-65
-23
-44
-59
-14
28
73
31
55
31
-13
-37
-2
0
0
21
-13
15
2
0
-12
30
91
-8
-3
38
19
-15
5
2
31
34
-24
35
-1
-16
27
28
9
4
-74
-15
39
7
65
73
-27
-58
27
-44
-22
-28
19
-5
39
20
8
0
0
0
44
8
-1
0
0
-7
11
-45
-8
0
44
31
28
-33
-1
-75
1
-15
29
8
-4
13
15
44
-23
26
-42
64
-48
-13
-69
12
-28
-53
-93
0
0
0
0
0
2
50
0
0
0
3
38
47
4
0
42
-57
20
-8
0
-1
-4
2
1
0
-23
-50
-12
-25
-6
2
-52
-43
-1
-4
30
46
2
32
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
55
-4
-1
2
1
-17
32
-34
-15
6
8
57
15
-57
-58
12
10
58
12
36
10
56
11
36
-111
-16
-86
-48
-25
-49
22
-66
-1
-14
0
0
0
0
0
-6
1
-4
0
0
3
-25
0
1
1
-44
75
-2
21
-22
14
59
-6
-31
17
-8
-31
69
-17
-3
31
-60
0
-12
72
-32
-84
-110
18
-43
-55
42
13
53
-35
4
0
0
0
0
0
4
5
0
0
-15
25
14
9
0
4
-44
-3
48
10
0
41
43
-9
7
-3
-40
-42
-5
22
-30
13
39
8
-24
10
12
-32
66
-8
12
22
49
-68
-57
0
0
2
0
0
-7
0
-5
-2
0
-5
12
-14
-7
-1
-3
1
36
24
5
6
104
42
-16
-8
27
-29
-4
13
-11
31
-27
-30
40
-8
25
-119
-11
-38
-64
0
0
0
0
0
25
7
-1
0
0
-39
45
-10
5
1
9
21
30
0
0
37
-68
-26
0
1
-17
-26
-5
13
-6
-53
21
14
-77
0
65
-78
-10
34
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-2
0
10
-3
13
-19
-51
-5
0
66
-43
47
-42
20
-40
-19
53
83
-53
-7
-24
31
25
-32
-40
-3
12
-13
-35
-62
21
-37
-45
50
0
0
0
0
0
0
1
-1
0
0
-2
0
0
0
0
-19
-16
-14
1
-5
-41
46
40
-31
4
21
-23
-66
-1
36
7
49
-8
72
-6
-47
-73
50
14
3
0
-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
44
-3
0
0
0
-36
-9
-1
8
0
16
26
-5
-31
-10
-3
8
32
-9
0
45
4
-4
-27
8
-47
23
-25
9
2
-50
-2
25
40
34
-43
36
30
-38
-4
0
0
0
0
0
25
5
-3
0
0
-10
-2
32
-1
0
-28
-12
-2
1
0
-10
-14
42
-1
1
18
-37
38
-3
8
9
-12
-77
3
-10
5
-2
-47
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
10
14
2
0
49
41
24
-6
0
39
-27
8
35
0
14
-21
-25
15
0
39
56
3
-24
0
11
-60
14
-48
0
-87
-54
30
75
0
0
0
0
0
0
0
4
5
0
0
-1
-20
1
0
0
-93
31
2
-7
0
-1
59
-28
-6
0
-57
22
14
-6
0
-5
3
-13
55
0
-35
-26
14
13
0
-11
8
80
-12
0
-5
1
-3
0
0
-1
0
0
0
0
-36
-10
12
0
0
50
4
5
-8
0
67
-55
71
-5
0
-24
-77
60
28
0
66
55
25
-31
0
-24
-34
-61
-24
0
-76
80
-74
21
0
0
-2
0
0
0
-3
24
1
0
0
-1
46
5
0
0
-34
-9
16
3
0
-5
-28
-47
5
0
-34
11
10
-12
0
9
16
56
12
0
-3
-30
-67
10
0
0
0
0
0
0
-6
0
1
0
0
-21
32
0
0
0
28
-27
13
0
0
-19
-7
8
1
0
30
-42
-22
0
0
-11
-24
22
19
0
3
15
42
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
0
0
0
-18
-20
-6
0
0
23
-3
8
0
0
64
65
-17
0
0
35
-3
4
0
0
6
-39
46
0
0
-77
-18
48
0
0
0
0
0
0
0
-51
5
1
0
0
-9
8
0
0
0
-15
31
0
0
0
5
7
41
0
0
33
-3
-7
0
0
38
46
31
0
0
-75
37
-36
0
0
67
-89
-45
0
0
8
-4
0
0
0
3
0
0
0
0
-39
-15
0
0
0
2
-5
24
0
0
94
-25
-10
0
0
-78
-57
33
0
0
86
-36
15
0
0
-29
-20
-31
0
0
-19
115
14
0
0
0
0
0
0
0
-23
13
0
0
0
23
0
0
0
0
-54
-2
-6
0
0
19
-19
12
0
0
-67
-41
-4
0
0
20
77
22
0
0
27
-42
-43
0
0
0
0
0
0
0
13
-1
0
0
0
16
-1
0
0
0
5
-5
2
0
0
6
4
-3
0
0
1
-2
8
0
0
24
25
-45
0
0
-40
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
0
0
-11
2
2
0
0
5
-6
18
-5
0
-8
61
9
1
-10
76
57
47
13
-33
11
-47
34
-53
29
-22
17
8
44
72
0
0
0
0
0
53
0
0
0
0
19
4
0
-4
0
-19
17
6
1
0
-20
-4
-8
-2
-9
-9
11
44
-37
-7
-31
-24
39
58
21
73
-5
8
148
-11
132
33
-42
-43
26
1
5
0
0
0
5
0
0
0
0
-18
-20
2
0
0
-19
-14
42
1
0
3
29
2
3
2
4
42
-109
-31
-2
-94
-45
49
14
-5
20
44
24
55
4
82
32
-66
-1
6
0
4
0
0
0
4
-37
0
0
0
25
0
0
0
0
24
-22
1
-1
0
-5
-2
0
1
0
-36
13
0
5
-2
-5
49
6
-34
-3
31
-13
22
-5
-2
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
1
-1
0
0
0
0
4
0
0
0
6
1
0
0
0
0
-59
2
1
0
-8
-4
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
-1
0
-23
14
4
-19
76
-2
-13
6
13
27
20
-1
69
22
-56
46
-2
-54
-5
-13
57
90
-42
42
0
0
0
0
0
56
52
1
2
1
5
-37
19
-3
0
31
38
6
6
-2
23
24
-94
49
-18
37
8
-41
19
14
-17
-13
-32
-35
21
-16
-23
-6
31
-15
-41
6
144
51
58
15
-11
0
0
0
5
0
4
0
0
-10
8
11
-8
0
18
31
-3
-59
-1
12
48
32
-9
41
-3
-49
-73
31
-12
72
15
-2
8
22
-69
1
67
39
-66
1
18
-36
41
-10
1
3
2
0
0
-25
4
39
-2
0
-2
-9
1
26
0
-5
6
-9
-8
-5
13
-13
-84
7
0
-7
-37
-42
21
-1
-6
66
102
-66
29
48
-128
44
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
9
0
-3
0
0
0
7
-4
0
0
0
0
-13
3
0
0
-15
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-7
-9
25
-1
0
41
-21
17
0
2
43
-23
-3
12
-51
38
36
-11
13
22
-30
47
-21
-35
59
-51
-46
75
41
76
0
0
0
0
0
0
1
-2
0
0
2
0
0
0
0
-22
0
2
0
0
-5
-16
33
6
0
6
-60
-22
-41
-24
13
3
-85
87
30
17
41
67
-80
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
23
24
0
-5
0
-22
2
-1
8
3
-38
22
-8
15
1
-14
37
5
-5
-1
-38
-28
-5
6
-4
50
-17
36
90
-6
5
-35
-56
-16
3
0
0
0
0
0
-4
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
2
-2
0
0
6
8
1
0
0
-4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
-3
-7
0
0
0
8
-4
0
0
0
-53
-26
-9
30
0
-24
84
19
22
0
92
-16
45
-61
0
21
-29
-10
12
0
0
0
0
0
0
-25
-21
0
0
0
11
7
8
0
0
36
16
-6
0
0
20
41
9
-9
0
12
-14
39
3
0
44
14
-14
39
0
-34
43
-74
-33
0
4
-33
58
0
0
16
0
0
0
0
-10
8
0
0
0
25
1
0
0
0
-14
8
33
-3
0
2
-20
1
-23
0
-19
45
-21
-19
0
2
62
7
-5
0
22
-53
13
122
0
-5
-3
37
-10
0
-2
0
0
0
0
4
-12
-1
0
0
41
-33
1
0
0
-20
16
-9
-2
0
7
-2
49
-13
0
-49
31
-16
-13
0
102
24
-22
49
0
-29
-48
-32
13
0
0
0
0
0
0
1
0
0
0
0
-3
1
0
0
0
8
0
-2
0
0
1
0
0
2
0
-30
0
0
0
0
-2
-23
-4
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-23
8
0
0
0
14
-23
0
0
0
-13
66
-31
0
0
46
11
47
0
0
17
9
-17
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
40
-2
0
0
0
4
17
8
0
0
0
-18
-41
0
0
69
35
1
0
0
-53
44
8
0
0
-5
-20
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
-5
-5
1
0
0
-12
8
0
0
0
1
39
23
0
0
49
-85
36
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-2
0
-2
0
0
-4
2
-1
0
0
1
7
-1
0
0
-5
-47
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-6
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
18
-17
-50
13
-55
-25
-40
53
11
-23
-7
-9
-40
31
43
19
-20
36
85
-56
-92
-52
34
-104
-34
34
71
-48
-1
0
0
0
0
0
0
0
0
-1
0
1
2
10
51
0
15
-25
41
-14
7
89
-66
-27
9
35
-35
24
13
-1
2
0
32
-1
-31
2
-93
-46
38
-18
-24
-147
1
57
51
-33
0
0
0
0
0
0
0
-5
17
0
-1
2
-15
-10
7
-7
-1
-31
15
1
10
-5
-9
23
-1
24
-48
32
-22
-9
8
119
21
-52
-15
-62
-35
63
-50
7
-47
-83
-31
54
8
0
0
-3
0
0
5
2
-13
-32
4
0
48
8
4
4
5
-22
91
-32
0
48
42
-14
-9
0
-66
-45
-14
-22
-19
-24
49
-64
41
-8
-13
-76
-9
-25
-7
0
0
0
0
0
0
5
-10
-10
0
-49
-13
16
-7
-2
18
29
5
-1
2
29
-13
0
1
0
-7
-41
32
69
0
-67
5
28
31
-2
-30
-7
-44
-1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-3
-27
-4
1
42
-41
33
-12
-110
-4
10
31
39
37
25
24
56
19
-53
-73
8
-78
-64
-31
-70
-56
-19
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
5
-8
15
-1
0
-1
41
0
0
0
0
12
-22
0
0
5
41
-28
-2
1
33
-74
-23
6
3
-25
-9
43
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-34
0
30
49
-50
31
-35
-23
-27
29
29
-13
49
-11
-9
7
44
-93
-74
52
-4
-31
0
-50
-128
-4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-1
0
-1
0
-2
-3
0
0
2
10
21
8
-4
0
-36
42
15
3
8
7
-33
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
-8
1
0
33
-14
44
-11
0
-9
22
69
-32
0
-5
27
7
7
0
50
-35
-26
-55
0
33
-61
-26
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
8
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
3
1
1
0
8
-13
1
-2
0
0
0
-4
2
0
-1
1
15
-8
0
4
31
-1
3
0
-9
-6
21
-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
-5
3
-5
0
0
-6
-10
26
0
0
2
90
7
0
0
-60
-30
-10
0
0
44
49
40
0
0
-35
-21
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-74
4
11
0
0
-29
-4
1
0
0
-59
-71
-25
0
0
69
-2
41
0
0
-24
5
-33
0
0
5
72
-8
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
33
0
0
13
4
-15
0
0
-8
-1
5
0
0
5
1
1
0
0
53
-25
-10
0
0
-43
60
-49
0
0
0
-23
7
0
0
0
0
3
0
0
29
0
-5
0
0
2
0
1
0
0
-10
19
-3
0
0
-1
0
2
0
0
32
-5
6
0
0
12
16
19
0
0
-70
46
-18
0
0
0
0
0
0
0
4
1
-1
0
0
-4
1
-3
0
0
1
-1
-1
0
0
0
0
0
0
0
-4
2
0
0
0
-25
-35
-6
0
0
10
27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
34
5
2
-75
-19
82
35
3
62
81
48
17
-44
6
-21
5
4
-21
0
4
-12
14
48
-55
-41
-28
-22
27
-136
-100
40
-27
38
0
0
0
0
0
-13
-8
-24
2
0
12
21
53
-35
5
-41
27
16
32
-85
50
-11
10
47
-16
92
2
-80
13
-4
-33
19
-31
-40
49
-97
-85
-2
-28
-9
-178
0
-17
31
-4
8
7
8
-1
0
-16
5
-23
-4
0
-41
-10
13
-50
-33
1
-2
27
-38
19
102
15
-4
18
18
-11
-26
-1
27
-28
-7
0
19
0
-5
-78
-73
-1
-65
-20
-115
28
-35
44
31
13
-28
-20
-3
-1
-60
-35
45
-4
-7
53
-34
59
11
13
32
54
30
-12
9
-29
7
39
27
-66
78
-36
14
62
-18
-52
6
-21
28
-24
-83
-41
-70
14
55
0
0
0
0
0
-58
-22
50
47
-2
-50
-8
-4
60
7
-8
40
-23
-19
0
-21
30
-6
-8
-31
-9
-22
8
-4
43
-38
42
53
-26
-15
-53
-91
-35
6
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-10
-4
0
7
-76
18
-34
10
22
-14
-25
-31
5
-65
31
65
-2
23
58
7
0
50
18
-97
-77
-97
25
12
-201
-6
-54
-18
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-39
8
0
2
-13
49
31
0
8
33
-35
-32
7
-23
-51
-5
21
-6
-39
-59
5
-18
3
0
2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
5
8
6
0
0
-5
-39
10
0
1
7
-8
0
0
13
-12
-9
39
-1
-102
-37
31
-8
6
0
-8
14
0
0
0
0
0
0
0
0
1
2
0
0
0
3
0
0
0
4
2
-1
1
0
0
-1
-3
0
0
0
-19
17
13
0
1
12
16
-10
0
-13
-41
-25
-1
0
0
0
0
0
0
25
21
-8
-2
0
22
-32
25
-13
1
-4
28
11
18
4
-20
32
29
-42
16
9
28
-15
11
-47
-51
-31
-17
62
32
12
-75
-24
-22
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
-45
-3
-49
3
13
49
50
-32
-26
-117
-49
-36
-15
-4
0
67
-39
11
-41
-1
-52
-57
3
20
69
-82
26
-58
-57
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
0
1
42
-20
-7
-4
-37
13
-14
20
17
-3
-1
35
18
-8
-3
-4
0
4
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-1
0
0
0
-1
0
0
0
-8
2
0
0
0
-19
0
0
0
0
0
0
0
-32
19
0
3
0
22
6
18
-31
-5
-17
37
-2
-8
0
-1
-50
1
19
-10
-36
-34
-76
27
27
-46
-27
26
-5
-24
21
7
-14
-1
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
-1
0
-60
2
-43
-11
0
58
-33
19
-16
0
-5
21
2
7
0
35
6
1
4
0
-46
-14
-9
10
0
-69
4
24
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-10
-14
20
0
29
-20
11
-8
0
9
-4
-5
-7
0
22
-31
86
4
0
-1
8
13
5
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
30
0
-1
0
0
3
9
-2
0
0
-4
0
2
8
0
-2
-2
2
1
0
4
50
-7
-2
0
0
-3
17
-3
0
0
0
0
0
0
3
0
0
-1
0
-6
0
0
0
0
-1
1
-2
0
0
0
-1
0
0
0
3
-2
-7
0
0
-2
3
-22
0
0
2
5
1
0
0
0
0
0
0
0
9
0
4
0
0
26
0
-60
-20
0
8
-19
12
-5
0
47
-115
5
13
0
-18
-41
-14
11
0
-54
30
23
-46
0
-59
69
45
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-45
0
0
0
-72
-26
-20
0
0
-30
-6
-31
0
0
2
-19
13
0
0
-10
30
5
0
0
-18
8
25
0
0
-27
26
13
0
0
0
0
0
0
0
-13
4
-1
0
0
-15
-33
1
0
0
-19
-32
-19
0
0
-20
47
17
0
0
-10
-35
24
0
0
-8
-30
25
0
0
45
9
15
0
0
-28
84
-31
0
0
8
2
0
0
0
13
4
71
0
0
16
8
5
0
0
-36
-18
24
0
0
-65
-11
-12
0
0
-8
7
-20
0
0
-53
6
-89
0
0
31
-14
60
0
0
-14
-23
-46
0
0
10
-1
-3
0
0
-29
1
49
0
0
-18
-5
24
0
0
-59
-18
4
0
0
-44
-38
12
0
0
-2
-13
-18
0
0
-32
16
52
0
0
39
55
-33
0
0
0
0
0
0
0
41
-35
1
0
0
-31
-13
42
0
0
9
-23
-7
0
0
47
5
5
0
0
-39
76
32
0
0
-126
-12
-46
0
0
1
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
7
2
-1
0
-2
-3
47
30
-19
20
-5
77
-27
31
-3
39
-16
46
-55
31
27
-4
-40
16
-30
-41
-28
-32
25
-63
-70
6
47
46
0
0
0
0
0
15
-29
18
0
0
-27
41
27
21
0
-44
66
-57
31
-18
-36
155
-34
-39
7
-29
42
-17
3
-19
31
-32
0
-25
22
8
-88
-10
8
31
-7
-60
-11
29
22
-2
64
2
0
0
-35
6
5
4
0
-19
23
7
-7
0
-1
-57
10
24
-25
-6
18
8
-5
-4
-16
-49
17
-51
-64
33
-90
-77
58
2
-62
-14
24
-5
6
10
7
-30
6
6
-43
-4
0
-1
0
30
14
5
-9
2
-41
-14
13
-13
1
-34
24
8
-17
0
33
-75
30
25
5
76
-18
-69
-120
-14
-12
34
12
0
8
-129
1
12
85
13
0
0
0
0
0
-45
19
17
7
0
50
22
55
-5
-3
-3
-17
13
-10
0
47
-67
-46
-16
-3
-19
70
-14
6
-24
-41
11
-42
31
59
-72
-27
-1
17
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
0
-4
0
-25
-5
-5
21
-13
-63
-37
64
-8
17
22
-47
-20
25
-65
-39
12
2
46
2
5
-30
-38
-40
3
-77
-16
-24
-14
75
0
0
0
0
0
0
0
-2
0
0
1
0
-1
1
0
-25
-43
31
-9
6
26
64
-7
-4
-1
14
7
2
36
-16
3
-20
-77
-40
33
-146
-113
74
-11
12
-64
7
-19
13
-20
15
0
0
0
0
-2
1
-4
0
0
-2
13
-14
24
1
7
9
41
-2
4
-5
58
-14
69
-49
33
-69
5
-2
-11
-30
24
-29
52
10
-93
-35
45
-77
-27
-4
5
-63
-73
29
0
0
0
0
0
0
-8
25
5
-2
-2
58
34
3
3
-59
16
23
-5
2
77
-59
2
34
-3
56
-38
-42
7
10
-31
45
-52
-23
20
-53
-91
-21
-7
-59
0
0
0
0
0
32
-3
-1
0
0
-22
37
-2
0
2
18
-5
21
7
2
41
-15
-55
2
-1
17
14
6
17
-3
-3
23
-2
4
-90
-34
-86
-10
-24
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-8
-3
3
0
-24
-5
-71
20
11
-5
40
19
-38
-17
6
-33
-40
23
-57
15
4
-7
-8
-29
-71
-38
53
-8
-12
-84
-64
-108
-64
57
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
41
-1
28
1
1
44
-12
19
-50
-22
26
-2
1
-6
-32
-23
6
-66
50
14
-3
4
3
-5
-15
-5
59
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
0
-5
18
-10
-4
0
7
12
13
5
-2
29
22
11
-6
1
-1
45
8
13
-14
-12
-31
48
44
-58
7
-61
6
-9
42
-69
-100
-31
37
-16
0
0
0
0
0
5
21
-1
0
0
13
0
2
-3
0
23
-17
0
-4
1
1
-3
-69
-16
-1
-24
87
-18
33
17
5
-65
14
21
-3
-33
-66
1
50
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-2
0
10
4
-17
7
0
0
21
53
-19
0
43
-49
-10
29
0
16
41
11
84
0
-61
-3
26
-88
0
-85
-75
-4
6
0
0
0
0
0
0
0
-3
0
0
0
0
1
2
-2
0
75
-17
-19
22
0
18
62
-31
42
0
-29
24
2
-5
0
-8
-11
-1
-17
0
-19
-27
40
-25
0
-5
-17
27
31
0
-12
-1
0
0
0
0
4
-4
0
0
-5
5
-15
-2
0
5
1
-23
-17
0
9
55
0
-9
0
24
-13
-75
-4
0
-4
5
10
-5
0
-65
-57
13
44
0
43
51
65
11
0
-18
-1
-2
-2
0
59
-15
1
3
0
7
4
-8
-2
0
-41
2
25
-5
0
16
-30
14
17
0
-86
-27
-13
5
0
-45
13
41
18
0
28
92
-69
-5
0
0
0
0
0
0
-9
1
0
0
0
27
-23
0
0
0
-42
4
4
-5
0
1
5
5
7
0
5
13
-39
0
0
2
-45
-17
-19
0
76
14
29
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
2
0
0
-18
-8
-23
0
0
-4
21
5
0
0
1
-6
-69
0
0
41
-22
21
0
0
-60
18
86
0
0
32
5
-11
0
0
0
0
0
0
0
-4
5
0
0
0
2
3
6
0
0
-21
-16
15
0
0
39
-55
16
0
0
-28
-54
-52
0
0
0
25
-35
0
0
4
-9
-14
0
0
22
8
-9
0
0
0
0
0
0
0
-3
-3
2
0
0
-5
-22
0
0
0
-5
23
5
0
0
-35
33
10
0
0
24
-101
7
0
0
-13
29
30
0
0
-46
-30
-13
0
0
30
7
16
0
0
-1
0
1
0
0
-24
0
0
0
0
53
-2
1
0
0
50
-41
7
0
0
-21
-5
-3
0
0
-24
17
51
0
0
-4
40
10
0
0
-126
3
-34
0
0
0
0
0
0
0
3
0
0
0
0
9
5
-3
0
0
0
0
1
0
0
6
2
0
0
0
5
-42
3
0
0
-9
-45
2
0
0
43
-5
47
0
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
-2
2
-3
0
50
95
28
-1
-1
18
-5
-7
-6
14
108
-41
3
90
-4
-39
3
-27
-28
-34
-115
34
78
15
-2
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
13
25
-22
-4
1
-60
40
-36
0
0
42
-3
15
-94
0
-26
-7
-23
-15
-9
-6
-34
37
-8
-65
-1
0
-15
128
102
0
0
0
0
0
-1
3
0
0
0
-4
1
0
0
0
-8
14
-11
-6
0
37
-5
-4
15
0
-49
-45
14
-6
0
20
-49
-24
59
-4
-40
64
40
-1
-35
2
1
0
0
0
4
-5
0
0
0
-8
4
0
0
0
2
-1
3
-1
0
-8
-1
-1
-2
0
3
-18
1
2
0
-14
27
-61
8
-7
22
21
-16
-5
1
41
-51
48
0
-9
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
-1
-1
0
0
0
0
1
0
0
0
3
-1
0
-2
0
9
-69
6
0
0
-9
20
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
-1
-37
1
0
13
-2
-3
-21
-18
-1
-69
1
48
27
-20
6
29
-42
-46
35
25
8
-30
30
-6
72
0
0
0
0
0
0
0
0
0
0
8
0
3
-1
0
25
4
16
2
-3
7
-25
-5
84
-24
-80
5
-43
31
-6
4
2
5
-49
39
3
-65
30
56
-50
-97
21
20
15
86
-1
1
0
0
0
2
0
-2
0
0
-3
-13
4
-4
0
35
-41
-49
-15
-5
31
-13
-10
23
-24
-88
-35
-30
-11
-44
-20
53
-4
-6
3
4
70
-2
32
-22
0
-57
0
-20
9
0
0
-4
0
0
3
1
31
0
0
-1
14
0
2
0
-1
30
-23
2
1
-52
-17
-26
14
-6
34
28
5
-52
1
-57
22
68
-14
13
44
-195
-69
33
-2
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
2
-3
0
0
0
1
3
0
0
-2
6
-3
-1
3
-2
-2
8
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
-2
-2
-9
-5
4
-8
-39
46
-17
-8
90
0
100
-41
-7
-40
-27
37
11
0
-104
67
-47
54
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
0
13
31
6
3
-8
3
-32
3
3
27
-14
-51
-16
40
-25
35
-29
-85
-4
75
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
1
0
0
0
1
0
0
5
-15
5
-10
0
0
-8
25
-7
-4
-1
5
-13
8
13
8
-12
-23
66
0
0
13
8
-13
6
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-17
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
27
-21
15
5
0
26
24
-30
16
0
49
16
51
10
0
26
6
-56
-108
0
-43
-4
-10
62
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
43
-9
-9
-8
0
44
-34
-5
5
0
39
16
-27
32
0
-17
-31
-12
42
0
-133
24
80
14
0
-23
10
-62
-14
0
-1
0
0
0
0
0
-6
0
0
0
21
-3
-2
0
0
41
0
-4
-1
0
17
-5
13
12
0
-23
68
-32
30
0
21
5
0
13
0
-131
-81
-13
-53
0
-5
-1
8
3
0
0
0
0
0
0
-30
1
0
1
0
-13
0
0
0
0
21
-7
-8
8
0
0
-3
37
0
0
10
-99
-4
-25
0
-5
26
-4
2
0
4
42
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-1
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
1
0
0
-15
15
4
0
0
40
-45
26
0
0
5
39
-31
0
0
50
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
32
0
0
0
0
16
5
0
0
0
-43
5
30
0
0
3
3
13
0
0
-23
24
-53
0
0
-17
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
0
0
0
-8
-13
0
0
0
9
23
10
0
0
6
0
-5
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
1
0
0
0
0
0
-4
0
0
0
2
4
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
22
36
73
-56
3
48
20
-14
-28
-5
-58
1
-67
3
50
0
0
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
4
-4
0
-29
-10
10
-4
0
-79
23
-74
-8
18
25
-18
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
0
0
0
31
-1
8
0
0
7
10
39
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
8
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
7
-20
16
-8
-3
-5
52
-57
-12
-25
-23
51
1
-63
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
15
-18
25
-24
0
12
29
-37
-54
17
24
53
-28
-44
-14
58
-51
18
60
51
-48
-11
19
40
24
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
2
0
0
-1
-1
16
-7
-5
16
-10
-24
-13
1
69
-52
-16
7
-5
27
12
10
-9
8
0
0
-1
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
3
0
0
0
4
0
0
0
0
-4
0
0
0
-58
10
-1
0
23
16
7
-1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-1
3
-5
29
-25
30
0
-17
58
-44
-51
-156
-2
-35
111
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-15
-6
0
-8
-2
-22
4
-17
-25
-4
13
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
-7
0
0
4
0
-23
1
0
0
-3
5
-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
-5
0
0
0
0
-15
0
2
-3
0
54
-1
4
4
0
3
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
21
-8
0
-1
0
17
-11
-15
-15
0
95
7
-12
-8
0
-132
22
30
20
0
-18
-3
49
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
-7
5
3
-6
0
34
-20
4
-1
0
-5
26
10
4
0
-1
-8
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-1
0
-2
0
0
5
-6
1
0
0
-1
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
-3
49
0
0
0
0
1
0
0
0
-28
-7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
72
-8
32
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
27
-39
11
-2
13
33
-41
21
-60
-14
-54
-56
42
26
-23
-1
16
7
55
-14
-20
25
2
-24
-13
0
8
6
30
-64
97
-23
-6
-4
0
0
0
0
0
-19
33
0
-29
6
1
54
-9
36
-34
6
26
-14
-53
32
17
-9
-48
5
9
-22
-32
5
-3
59
-6
-30
-1
29
-3
-17
17
-1
-20
-4
-125
57
16
-3
7
38
-4
37
-65
-7
-63
-71
-49
31
-2
-13
10
-22
49
-27
-2
18
-56
12
-11
-8
13
30
56
56
7
-5
-22
-32
23
54
-7
17
10
23
-92
-34
-8
-34
13
-7
-1
-8
-3
-20
-27
-10
-5
1
1
-9
-98
18
33
7
57
-13
-6
15
-7
15
17
8
53
-35
13
-31
73
4
47
-14
-2
-38
16
12
30
-13
5
7
9
-10
8
6
-5
-32
0
0
0
0
0
61
-27
-13
33
0
35
-46
-10
-9
40
-39
-9
-44
22
-10
9
-72
12
-25
38
-16
-14
-26
-4
-3
-51
-23
24
-39
-3
12
4
1
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-47
-21
-8
52
1
-25
-69
39
-6
-19
28
14
-58
-11
20
5
23
-8
-34
5
-11
8
-7
-17
-1
-18
40
2
33
5
12
-28
44
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-6
25
5
2
35
-58
-19
-19
4
20
42
30
1
48
22
-41
24
-23
-8
101
-41
1
-37
23
-26
-26
-13
-6
-38
-6
2
5
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
48
-25
-15
-51
-19
-13
7
-4
-44
-35
14
-10
-22
6
-49
-14
-16
-11
62
-47
-5
22
23
16
36
-5
-16
-15
17
11
-48
-28
49
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-37
5
10
3
33
-31
45
-84
31
4
-27
-42
13
15
-6
10
50
-38
11
62
-9
-36
-5
3
47
21
-37
-39
20
-17
-12
-3
16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
-49
13
0
-25
5
19
-20
0
-22
13
-7
76
0
-23
-14
-13
24
0
-6
-6
-4
-11
0
-11
-25
2
25
0
27
58
-1
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-34
-10
-1
0
-54
26
-63
50
0
13
-68
-31
-24
0
27
39
-3
7
0
12
31
-49
42
0
-7
-4
-9
52
0
17
-20
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-24
-18
0
0
-1
11
-29
0
0
-74
57
14
0
0
66
-31
56
0
0
17
9
23
0
0
2
-9
25
0
0
-1
9
15
0
0
0
0
0
0
0
-49
-23
17
0
0
-8
-68
10
0
0
79
-12
-41
0
0
-69
-20
-5
0
0
-22
-11
24
0
0
9
24
8
0
0
-17
3
-21
0
0
20
-29
2
0
0
6
20
-15
0
0
11
95
17
0
0
-38
20
2
0
0
11
-31
-20
0
0
0
-14
71
0
0
-37
-7
14
0
0
23
22
-6
0
0
29
-2
-9
0
0
-15
-5
24
0
0
-31
7
-1
0
0
-9
12
42
0
0
-3
-19
4
0
0
0
-22
11
0
0
-104
23
35
0
0
5
15
14
0
0
5
3
-9
0
0
13
-6
-7
0
0
0
0
0
0
0
-39
-24
0
0
0
21
-9
-8
0
0
13
29
32
0
0
-36
1
65
0
0
-42
22
18
0
0
22
-16
5
0
0
2
-11
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
5
-64
13
-12
-12
8
13
33
58
-1
6
-68
29
13
1
-14
-27
-9
-36
20
9
2
9
-17
-11
18
19
3
22
-22
58
26
-6
-2
0
0
0
0
0
73
1
-16
-58
30
10
-25
-25
11
-3
-12
5
-2
51
-13
-53
-15
8
72
34
27
-5
35
3
-1
-6
-4
3
7
23
-34
12
6
15
-15
38
17
-20
-15
16
9
27
-32
23
11
-22
-44
8
-31
49
23
31
-1
-56
-16
27
-8
-39
-10
21
-16
7
-4
22
-70
-36
-25
17
-19
-7
18
37
11
-10
-7
3
5
13
17
30
58
12
19
3
-5
-18
9
-39
-16
19
48
-9
19
14
-41
51
-28
21
21
9
-5
-3
-64
13
-40
-58
3
12
-21
17
19
-33
-1
7
-4
-5
22
5
31
-23
22
8
24
2
21
0
0
0
0
0
-36
-35
-4
-33
0
-57
56
30
-4
-23
64
-28
55
-3
-15
-26
-5
5
21
4
-46
32
3
-7
20
-12
-5
-11
16
-36
18
-14
2
-5
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
60
12
42
-63
-40
14
17
-30
45
49
-18
-17
54
-17
3
30
-25
-7
40
10
6
0
5
24
-4
5
7
15
-11
59
31
-11
19
0
0
0
0
0
0
24
11
16
-43
18
22
-52
-85
24
-13
-3
6
-1
-39
-15
5
10
16
-15
-25
-42
2
-22
19
32
60
17
15
21
-26
-10
-58
-12
-22
32
-63
-38
28
14
22
-30
20
-41
-77
-6
-76
-9
-21
-6
-2
10
23
-13
-18
10
55
14
-4
-48
25
2
-15
27
7
46
49
16
10
24
42
-7
1
24
22
14
-41
-38
-33
7
-55
-55
-30
-7
-7
3
-31
-39
-42
-8
0
12
-57
33
13
-22
48
14
-33
52
-23
4
-5
6
-23
-5
50
28
-8
-8
12
-6
-21
12
48
-7
-20
-39
-3
12
-8
-24
-17
6
0
-1
0
0
0
0
0
54
29
-24
6
0
47
-65
32
31
6
27
-2
-41
-23
0
-18
-9
34
-12
-58
22
3
20
29
47
-57
8
-31
1
18
-11
8
9
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-46
-2
-33
80
1
11
35
-15
12
-65
26
7
46
43
36
6
37
3
-30
2
-13
-10
30
-2
5
15
8
-2
8
11
11
0
10
-35
0
0
0
0
0
-100
41
3
-15
-16
38
-17
-42
2
19
-55
-2
-36
-5
5
13
17
-24
-4
-6
-43
-32
-20
8
44
-7
5
19
-5
20
17
-10
8
14
-31
22
29
-26
-43
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-33
-3
-5
-20
25
23
28
3
-2
5
-11
-15
18
-28
4
-7
40
-22
-13
36
-5
59
5
-16
-2
3
-11
-14
-3
-8
7
-18
-4
1
0
-4
16
21
0
0
0
0
0
-4
2
68
-21
0
-52
40
-41
16
3
25
5
-21
14
-22
-37
-10
16
22
27
7
33
12
-33
-13
-19
-10
6
2
25
32
-12
-1
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-5
6
-1
0
9
-27
-23
72
0
36
13
-10
21
0
14
2
-21
-28
0
-24
-4
-10
-1
0
1
25
24
-1
0
37
17
14
-1
0
0
0
0
0
0
7
5
-14
-21
0
-11
34
6
3
0
-38
11
49
-25
0
-13
-2
-15
57
0
-8
12
49
-6
0
27
22
20
29
0
-5
7
-48
8
0
13
-21
7
15
0
-4
1
39
8
0
-34
35
34
-5
0
-32
58
7
4
0
-30
-6
24
5
0
-4
23
-57
-23
0
-5
7
44
11
0
-5
5
-11
33
0
3
1
-1
-2
0
3
-10
-15
-11
0
-20
22
20
-2
0
-8
-2
-18
7
0
-43
37
31
-12
0
14
-74
-58
23
0
11
-4
34
49
0
-13
-1
42
17
0
20
1
-14
-6
0
16
-2
6
4
0
0
0
0
0
0
-6
-1
-8
0
0
-41
-26
7
45
0
41
12
27
-27
0
-9
27
-14
41
0
4
-19
-28
-31
0
10
22
-21
-23
0
34
-7
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
52
57
0
0
6
-13
-15
0
0
51
-25
110
0
0
-18
44
-5
0
0
38
-1
29
0
0
3
10
-3
0
0
16
-12
-14
0
0
0
0
0
0
0
27
14
-32
0
0
12
-42
43
0
0
-21
-63
13
0
0
-49
39
27
0
0
17
-18
-56
0
0
5
29
27
0
0
15
11
23
0
0
2
29
-12
0
0
7
-18
-17
0
0
10
-9
24
0
0
5
-14
28
0
0
-26
2
16
0
0
21
-7
-66
0
0
-2
8
-20
0
0
16
14
10
0
0
-1
32
23
0
0
-11
-30
15
0
0
38
-20
6
0
0
-10
26
31
0
0
23
7
-4
0
0
50
62
-38
0
0
-12
4
34
0
0
23
-21
-3
0
0
-4
-9
10
0
0
30
25
23
0
0
0
0
0
0
0
18
33
0
0
0
17
-13
-6
0
0
4
-24
-33
0
0
-49
15
5
0
0
26
-5
-66
0
0
-2
50
23
0
0
29
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
5
-24
-15
3
8
-64
12
34
-7
29
-13
33
6
25
-6
40
11
57
23
-2
39
34
-23
32
39
1
12
16
-13
7
31
-16
-5
-6
0
0
0
0
0
39
50
-43
-18
6
40
-41
-29
7
16
0
-32
-13
8
13
-68
-7
7
-17
85
25
-50
-15
-23
-20
30
15
-9
8
-54
20
15
19
32
12
55
34
-11
24
3
-24
-83
11
5
0
40
-21
11
31
-11
15
32
-53
35
1
14
-14
-62
-17
56
-15
-24
-24
-41
54
-12
-14
8
20
-74
-1
14
0
13
39
15
2
9
-3
58
30
5
6
51
-10
38
16
10
3
0
16
103
-13
0
9
2
5
31
-42
0
5
-52
21
9
2
-3
12
-59
-6
-5
-8
-18
6
-7
21
30
6
-13
25
30
10
37
-6
33
36
0
0
0
0
0
-11
-64
-5
0
0
-12
65
30
-4
0
37
-20
-20
10
0
-49
-23
-38
-14
-1
20
-19
57
-56
28
31
5
6
36
-6
23
-17
-4
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-14
-5
-14
7
33
-46
32
22
-13
-20
20
-94
92
13
-20
-21
44
-8
32
15
56
7
-14
60
30
31
4
48
-7
93
12
12
2
18
0
0
0
0
0
37
21
1
0
-25
33
26
33
-32
-46
-7
-15
-33
-53
22
-22
10
-9
-12
59
16
-3
-12
-14
3
14
40
7
23
24
7
1
29
20
-3
55
41
13
17
-3
62
48
-24
-13
20
55
22
-7
-31
4
5
-39
20
-8
-1
-20
2
0
36
23
-30
-5
-59
22
9
-6
-1
46
17
27
37
3
19
3
28
-5
15
8
18
35
25
1
10
0
-31
-35
-43
-53
19
-6
-18
9
-20
4
5
21
-8
1
23
-22
56
-41
33
1
13
21
-1
1
4
-5
26
-15
12
-33
33
-2
5
4
5
3
13
6
7
15
14
0
0
0
0
0
86
-31
-28
-4
0
57
30
-56
10
8
-79
29
13
8
0
45
23
2
12
5
-41
84
-59
-48
-2
-3
-17
-11
-8
7
-13
-11
21
29
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
19
30
15
-30
8
28
22
-2
-7
86
79
86
-47
-103
-53
24
6
16
20
-1
43
36
5
-18
-22
-10
-15
11
42
59
83
-12
9
-32
0
0
0
0
0
55
-14
5
11
-25
39
-12
15
11
13
22
-5
-19
28
-24
4
-16
24
-7
29
32
18
30
-8
27
-10
21
26
4
20
21
17
1
15
9
38
2
8
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-4
-40
40
5
8
-21
11
-50
42
-30
-10
61
62
-24
-12
-6
1
-2
28
-1
-1
11
-8
3
13
2
-14
0
11
-2
1
0
13
5
40
-9
7
-10
4
0
0
0
0
0
12
77
-27
1
0
21
-59
-10
58
-16
-69
-22
-57
31
2
13
6
26
-45
30
-27
68
33
7
-90
-1
-44
40
21
14
59
-7
-5
-16
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
71
-17
-5
0
23
39
38
28
0
20
17
23
9
0
26
59
-17
-82
0
-69
19
-14
41
0
-5
4
30
-9
0
57
37
18
19
0
0
0
0
0
0
-25
39
-6
17
0
0
41
30
-39
0
15
-13
14
-5
0
65
-7
32
6
0
7
-14
11
-8
0
-24
8
3
27
0
9
49
21
18
0
-4
2
13
5
0
-39
14
-15
-29
0
26
-11
21
16
0
27
-49
21
9
0
-25
1
-32
-67
0
30
-51
43
58
0
-18
-1
-12
12
0
-3
9
5
46
0
-2
23
33
14
0
63
6
-2
-4
0
16
54
53
-6
0
25
12
-13
31
0
-29
-11
-17
45
0
-23
58
93
-33
0
-14
25
16
-28
0
13
-1
19
-8
0
-1
-11
8
35
0
20
-2
15
22
0
0
0
0
0
0
-2
-3
-3
0
0
18
7
33
-4
0
-41
48
5
0
0
-16
-20
-21
-2
0
24
47
6
37
0
7
-8
42
3
0
-19
7
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
30
2
0
0
67
79
-1
0
0
26
-4
10
0
0
46
-96
-37
0
0
4
-10
-29
0
0
-31
14
2
0
0
3
18
33
0
0
0
0
0
0
0
47
12
-20
0
0
13
54
2
0
0
78
48
3
0
0
-4
6
25
0
0
-30
-23
42
0
0
-18
2
-13
0
0
13
32
39
0
0
11
22
-64
0
0
5
-7
0
0
0
70
-23
-6
0
0
-28
29
0
0
0
19
10
-7
0
0
-48
16
41
0
0
56
6
-75
0
0
11
12
40
0
0
-4
1
57
0
0
30
68
-8
0
0
-13
-10
0
0
0
20
1
0
0
0
25
-10
-2
0
0
-52
-30
18
0
0
41
13
-7
0
0
-21
51
13
0
0
20
27
49
0
0
23
15
13
0
0
0
0
0
0
0
3
5
0
0
0
-29
-11
0
0
0
-8
13
1
0
0
81
-7
-2
0
0
10
-11
-45
0
0
-4
-43
11
0
0
-4
14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
4
-83
3
-78
-42
2
-27
-50
-44
40
4
-18
-6
-95
-41
-30
0
-11
-11
19
-18
35
24
3
44
-69
22
-5
-9
-75
40
-8
41
0
0
0
0
0
-4
0
-18
16
0
18
-13
-4
7
15
14
-38
32
-4
-13
-45
-48
50
4
25
10
4
-33
-13
7
-17
32
-14
7
11
-71
-21
-26
44
8
-106
-40
-13
-25
-29
-2
0
-1
0
0
5
-49
22
22
0
17
7
35
4
7
-42
70
52
63
-33
-21
94
-31
23
-69
-4
-48
33
-24
22
-5
22
20
15
18
-35
-52
-39
-19
-13
-94
-16
57
-21
-14
-23
-29
28
-8
-2
-52
-1
-2
63
22
73
-22
26
-7
-8
-8
-37
35
16
-38
32
39
45
6
46
-21
-29
-26
3
18
-48
-12
12
-20
61
7
0
-31
-17
-13
0
0
0
0
0
10
28
-67
12
-5
-14
10
18
-48
5
-32
-50
-19
54
-15
-18
15
24
21
-1
69
-31
-25
69
-25
-85
-19
-7
-24
-58
-24
-20
21
-19
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
6
-6
0
-25
-20
11
-38
10
-7
-116
-75
47
43
-47
24
6
24
-81
1
0
-48
11
2
33
-75
-7
12
-7
-104
26
-3
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
-8
1
-13
3
1
2
-7
23
9
0
0
1
3
0
0
0
-5
-12
0
1
-1
2
-3
-20
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
5
-5
-1
0
-5
-23
17
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-2
2
4
0
-1
-3
-18
5
3
1
-37
-8
73
-18
-8
7
0
-31
-5
1
0
0
0
0
0
-18
-31
1
-4
-2
38
-7
-3
19
7
-6
-27
-10
-47
-8
25
-19
-38
46
-13
9
57
34
3
-3
-7
6
-71
-2
-74
-5
-22
14
5
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
-19
-3
-13
-40
-20
-58
-55
58
36
-21
-4
-17
-14
7
9
56
35
-19
5
-26
-46
-75
0
49
24
-58
9
-59
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-1
0
0
-5
2
-15
0
0
-14
-5
7
-3
0
-1
0
6
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
-25
-1
-2
1
18
-5
-10
17
0
18
-44
5
10
-18
-23
-77
39
-54
12
-55
-59
31
35
-9
23
-17
-18
-46
9
-22
67
10
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
-69
4
-9
-37
0
4
6
-8
5
0
-70
13
-20
60
0
2
22
-5
-25
0
41
-37
-32
28
0
3
-106
109
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-25
-1
0
0
2
5
2
0
0
-6
0
3
0
-1
0
1
-4
0
0
0
-3
0
0
0
3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
0
1
0
0
0
0
0
-3
0
0
0
-15
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
1
0
0
0
0
0
5
0
0
0
1
3
0
0
0
2
4
-3
0
0
0
0
0
0
-11
-13
-15
0
0
-41
-26
66
-16
0
23
28
-1
-16
0
14
24
16
28
0
-6
-62
-44
37
0
42
3
-8
23
0
-25
27
-23
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
-8
-45
46
0
0
8
27
-19
0
0
26
39
15
0
0
-78
30
-14
0
0
17
-26
14
0
0
15
9
-43
0
0
0
0
0
0
0
0
-1
7
0
0
-61
-39
-4
0
0
-55
-83
-10
0
0
14
15
-30
0
0
-49
8
19
0
0
54
-49
31
0
0
-15
21
-12
0
0
15
64
44
0
0
0
0
0
0
0
-5
0
0
0
0
-25
-26
-25
0
0
-43
-12
-22
0
0
2
-17
26
0
0
-8
5
18
0
0
23
13
-22
0
0
-36
-16
19
0
0
17
-2
17
0
0
1
-12
-8
0
0
-45
26
20
0
0
-48
37
-23
0
0
-27
-60
52
0
0
-5
38
-69
0
0
18
10
-21
0
0
23
-11
21
0
0
5
-12
7
0
0
0
0
0
0
0
-5
18
-5
0
0
8
51
-22
0
0
5
7
-20
0
0
4
-66
-18
0
0
-31
-11
30
0
0
5
-12
27
0
0
47
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-11
-8
72
5
-41
-32
-22
-20
-26
-65
-46
52
-31
-43
-16
11
-25
-35
-10
4
-16
-15
-6
3
9
6
9
17
-10
-62
-32
-15
-10
14
0
0
0
0
0
-84
45
52
-10
9
-44
12
40
-15
-5
57
53
4
51
-118
55
5
14
-52
-33
-31
5
6
-2
33
-1
-1
-5
3
14
-18
-15
-8
3
15
-72
-8
-5
12
-29
-64
-3
4
38
-25
-13
-1
3
60
2
-37
50
-37
-6
19
18
-30
0
17
51
-10
6
-20
-45
41
-19
20
-31
-43
-2
4
-6
32
-17
49
-49
-45
-6
-2
-20
-16
4
11
3
1
24
6
36
-33
-2
12
50
-47
-12
2
-10
77
5
4
-37
92
-16
-23
3
-11
-22
-5
-4
21
9
37
-38
12
16
-25
-48
12
17
-1
14
-5
-2
-31
11
21
0
0
0
0
0
-43
-31
51
4
-38
18
-15
8
55
-48
64
25
-22
-56
19
6
17
21
40
38
-43
46
21
-17
13
-10
-5
5
13
5
-5
-14
10
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-28
-74
-5
-3
-59
-22
-4
10
-57
-7
-45
38
19
23
-63
-16
3
13
-26
-36
-15
-15
3
-26
-6
10
-4
-2
0
-111
-5
-16
2
27
0
0
0
0
0
0
0
0
0
0
4
5
-19
14
-1
-59
8
-22
-20
-18
-66
-29
-34
-17
-24
-6
43
65
-36
-46
16
31
24
30
-6
-68
-70
-66
25
-58
64
-143
-93
-57
20
0
-2
0
0
0
-1
0
0
0
-2
1
2
0
22
0
15
-29
14
51
-18
19
30
-33
-28
42
-14
-53
18
-14
-99
-24
-32
-67
-5
-11
-91
-58
8
-27
-22
-78
53
12
-50
23
6
0
0
-2
0
-16
-3
-7
-6
0
-34
19
-17
4
-1
22
49
-13
1
-19
40
43
8
-81
-22
-89
-13
8
35
-13
6
-65
9
26
38
-69
-44
-25
0
-17
0
0
0
0
0
-66
28
3
27
-6
-8
-6
25
74
14
50
16
-83
50
34
73
15
18
-9
-37
1
-13
27
-29
4
-33
-16
-5
15
15
21
-5
3
-15
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-16
19
-11
3
-72
-75
66
-12
-53
-86
-53
-20
44
33
-37
18
-37
20
39
67
-32
-13
2
-13
51
9
-10
6
7
-40
4
-25
-40
-39
0
0
0
0
0
0
0
0
0
0
0
4
1
6
-1
-55
-31
-17
-10
13
-45
-26
8
30
-25
-67
50
-75
17
-13
45
-36
25
-46
66
66
-142
-85
-24
-18
-29
-29
-15
-58
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
3
0
0
-2
8
-8
-5
0
0
-3
-12
-41
0
5
-7
20
26
-8
17
6
-39
-84
2
-30
-5
17
15
38
-13
-12
-48
-13
-3
0
0
0
0
0
-1
6
-33
-28
3
10
-4
58
-49
17
-58
-3
135
3
6
53
-3
-43
35
-54
-28
-5
-29
76
-11
-30
6
0
17
-6
34
18
9
-25
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-31
12
-2
0
-28
-27
-33
-4
0
-46
43
42
-29
0
-21
-38
-3
-17
0
-13
5
-5
6
0
-23
-23
3
6
0
-16
-4
1
-20
0
0
0
0
0
0
0
0
0
0
0
1
4
-25
-8
0
-27
9
33
-25
0
-3
30
62
-16
0
-44
13
-82
-3
0
-12
-6
13
-42
0
32
-51
-12
-80
0
36
-26
-69
21
0
0
0
-3
0
0
-25
2
0
-2
0
-5
1
-28
-16
0
-113
45
-7
-5
0
-32
12
-41
-4
0
57
-91
23
39
0
112
62
-31
-10
0
-19
-38
-53
6
0
10
-68
55
-16
0
-4
0
3
1
0
0
-4
-37
5
0
38
8
-46
-25
0
-22
23
-11
-19
0
-75
-23
-18
1
0
-138
-4
-32
-20
0
-19
-59
17
18
0
170
6
2
-49
0
0
0
0
0
0
36
-19
1
-5
0
-8
-6
8
-46
0
-24
-25
4
61
0
-9
25
9
-48
0
-28
-12
33
9
0
5
3
-12
-32
0
33
15
18
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
27
0
0
30
-23
42
0
0
-26
10
-33
0
0
-13
2
-3
0
0
-15
-6
1
0
0
10
0
-1
0
0
26
36
-35
0
0
0
0
0
0
0
-6
4
-38
0
0
-13
28
10
0
0
-40
7
-59
0
0
24
-30
30
0
0
-23
-19
24
0
0
26
34
-31
0
0
-78
-18
11
0
0
-1
6
6
0
0
-16
0
17
0
0
-10
-2
-16
0
0
-29
24
-40
0
0
18
-3
26
0
0
14
4
-2
0
0
2
31
-23
0
0
-46
-15
-2
0
0
5
-18
-38
0
0
58
-10
-13
0
0
-5
15
-7
0
0
-20
70
-23
0
0
-10
5
-20
0
0
49
4
-31
0
0
-4
-11
-23
0
0
-61
-6
47
0
0
13
-6
-2
0
0
35
-27
-6
0
0
0
0
0
0
0
17
66
-1
0
0
16
-13
-5
0
0
-14
27
-4
0
0
-33
-21
4
0
0
18
-37
37
0
0
11
-23
10
0
0
17
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
12
40
-1
-41
-30
51
-84
0
45
-49
43
-20
-25
50
2
27
10
-73
0
-11
-4
-8
8
6
26
-9
11
13
-18
-8
21
-1
37
0
0
0
0
0
64
-29
77
15
-28
-5
15
-22
9
6
-75
-73
64
-41
32
13
20
-42
12
4
9
9
14
-3
-54
13
19
20
14
-25
-27
0
-4
2
33
27
14
-19
0
7
11
58
-67
17
3
40
-25
70
-58
-43
-1
-26
33
10
-44
61
1
-41
1
9
28
3
13
-22
42
-13
0
-37
27
-15
-8
23
-1
-1
-19
19
-9
-2
9
-11
36
36
28
-19
49
29
-61
19
41
0
-32
-31
-4
-16
20
-1
70
6
5
-7
-15
-58
58
-27
30
-6
-5
-12
29
28
-27
-7
46
-51
4
-13
-6
-16
15
-23
-11
9
-41
12
1
0
0
0
0
0
34
-2
19
18
-15
15
-37
-33
50
17
18
-4
-17
-7
-13
-92
-37
17
32
-23
5
22
40
-31
-13
-27
-7
20
-10
24
21
30
-24
-7
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-56
-17
28
-10
-20
-67
1
12
-49
-7
-19
54
33
-28
8
33
6
-40
-27
-5
3
-3
1
21
8
-10
17
-10
10
5
-12
-14
20
-4
0
0
0
0
0
-47
-4
33
48
-18
-86
-15
19
54
17
-64
10
81
-25
25
34
-32
-30
73
-22
-11
-13
24
2
-15
-40
2
-8
-5
7
-72
-83
-6
-14
-25
-10
-18
-54
-28
7
-31
-66
32
-22
-5
-33
-37
28
13
-14
-112
29
-63
29
3
-29
-1
33
-43
-13
-7
49
18
-13
-14
41
-25
-31
-25
3
-38
15
-20
16
18
-1
-16
-12
-28
-5
-42
-12
8
4
11
-131
48
-2
-53
-8
-76
-101
5
40
15
-6
-3
33
-77
5
-2
49
-58
11
-16
30
-4
36
-30
-44
-14
-15
-19
4
-18
-7
6
-16
6
-1
-57
-20
-6
-7
24
0
0
0
0
0
8
-17
34
-48
-13
-5
-23
13
-5
-14
53
34
24
-40
7
29
-59
-9
41
-4
10
-6
-9
-38
20
14
-6
4
23
-14
-14
21
-1
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
40
12
6
5
-41
-16
-15
7
48
16
-102
19
-1
39
9
1
-29
-14
-47
13
14
-9
26
-13
-1
4
14
3
-25
9
-33
17
-11
30
0
0
0
0
0
-50
-22
5
-44
0
-49
-31
5
-40
-17
-29
-31
-38
-44
6
17
-30
-43
-3
12
14
8
-10
-18
-89
-20
-31
-24
34
-26
3
-36
-16
-16
-18
-75
7
-19
-28
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
14
-17
-23
-4
54
-16
-27
-6
-5
-49
15
-17
6
-19
51
-31
-10
-27
-7
19
-16
-13
24
-29
-79
-23
-2
35
-24
-9
2
11
14
15
-35
-13
-7
3
-25
0
0
0
0
0
-15
9
40
-18
3
28
3
-15
-13
-19
22
32
-40
3
-46
-2
-39
-23
-5
-31
30
-7
46
24
40
-1
18
-14
5
-39
76
5
3
-6
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
14
43
-8
0
5
-56
40
45
0
-18
28
-14
-25
0
-36
-24
1
-18
0
15
-4
-4
-18
0
-3
12
7
-8
0
-33
25
-3
24
0
0
0
0
0
0
-31
-48
7
13
0
4
-16
-61
-11
0
-75
-19
-70
69
0
-13
3
-18
-22
0
-24
-28
-5
-38
0
59
0
18
-28
0
-41
-51
-1
5
0
-57
16
-10
-41
0
-22
-3
17
1
0
10
24
9
-30
0
7
-58
20
-28
0
12
-31
28
17
0
45
16
0
5
0
-30
11
-81
39
0
-54
-3
24
-39
0
-15
-9
-30
-9
0
44
-29
20
5
0
81
-28
-23
8
0
-59
3
22
-27
0
-4
-18
48
2
0
44
-24
-22
-50
0
-65
8
-12
-25
0
0
-41
-6
-12
0
-22
12
-2
-5
0
-19
9
-22
4
0
0
0
0
0
0
32
57
-6
6
0
8
-4
42
-22
0
-10
-7
12
-38
0
6
-50
39
-14
0
22
13
-23
11
0
-6
-14
7
34
0
-56
33
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-13
-21
0
0
17
13
6
0
0
32
41
-24
0
0
-4
-20
-47
0
0
0
14
2
0
0
-4
-30
19
0
0
0
0
-32
0
0
0
0
0
0
0
13
16
19
0
0
7
47
-10
0
0
32
-19
17
0
0
29
69
-36
0
0
-10
15
-12
0
0
1
-10
-5
0
0
1
-24
-29
0
0
-12
21
27
0
0
-1
7
2
0
0
0
-14
-5
0
0
20
23
-7
0
0
57
-28
-48
0
0
12
-47
-4
0
0
-8
12
-6
0
0
18
42
-8
0
0
34
-2
39
0
0
-102
29
-41
0
0
-23
47
0
0
0
29
23
5
0
0
-34
-76
-1
0
0
-16
3
-76
0
0
51
-29
7
0
0
-27
0
-18
0
0
0
-3
50
0
0
23
-31
16
0
0
0
0
0
0
0
9
-4
6
0
0
60
10
0
0
0
13
57
41
0
0
49
-17
-49
0
0
0
77
-25
0
0
-28
6
18
0
0
-33
-28
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
42
0
-1
0
-56
-26
-4
50
6
-70
-94
61
3
-20
2
5
12
-29
-21
44
43
-25
35
23
13
14
54
-52
31
32
67
-13
-10
-36
0
0
0
0
0
-31
-19
9
10
0
-16
19
36
-25
0
2
-31
-10
-61
-31
-42
19
-44
31
43
7
-77
1
23
52
19
36
-15
-27
29
1
4
26
-72
-12
89
-15
2
53
-8
-25
1
0
0
0
15
1
5
-9
7
49
33
-15
8
0
60
-83
3
-21
-1
8
-23
40
-57
-68
-102
-73
-6
29
7
-17
-14
20
19
-22
42
30
-6
6
-16
33
30
-9
33
43
50
-14
-7
-12
0
-35
-48
15
24
-3
-117
-11
53
33
1
-97
-6
9
-45
-6
-49
8
9
-32
22
33
-16
-84
62
42
38
20
-12
-5
-10
115
-10
46
-49
-42
0
0
0
0
0
17
75
-5
0
0
3
1
5
0
0
17
-8
-47
-16
-1
7
66
-39
2
1
-23
47
108
-2
-24
26
-34
-49
37
-34
-10
-63
38
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
53
10
-8
1
-50
27
-12
-22
-6
-58
6
-17
17
31
5
11
-36
22
-7
31
-52
-13
24
45
46
41
-31
-27
-8
100
11
75
-17
-6
0
0
0
0
0
-46
-20
-38
-33
3
-3
-15
15
9
17
-44
-36
35
20
-48
-53
23
-35
11
-10
-37
0
-27
-1
-43
2
-21
2
4
-19
-34
-25
5
3
27
26
12
-8
2
-14
-37
8
45
5
2
10
-27
44
21
25
36
-47
42
-65
-19
-48
19
16
-23
-44
48
-23
19
-24
-21
-31
13
-5
13
19
-16
50
-6
-12
-7
13
19
-2
-22
-3
-15
-17
6
-3
6
59
22
29
5
-29
116
1
-16
47
-4
-32
22
7
-10
-17
-45
-29
4
73
19
-69
-22
6
-28
57
-11
-1
-16
4
2
20
28
-11
-3
22
19
4
-14
-10
-6
0
0
0
0
0
-11
3
-14
28
0
7
-42
64
-15
8
64
-31
-4
-15
-1
-31
-69
-65
-29
41
-26
55
-18
26
7
-40
5
-8
-6
16
11
58
49
26
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
-17
1
0
23
-58
-36
36
30
84
-29
-13
21
5
66
-18
-27
-24
-51
-11
28
17
14
18
-4
12
-46
-22
29
59
49
32
-12
-16
0
0
0
0
0
-10
39
-38
-11
1
-67
-3
3
13
-8
-31
5
23
-55
41
-23
-59
-24
30
23
-25
-8
8
1
-66
-20
42
-2
1
-36
-28
-54
16
0
19
-3
27
-16
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
47
-31
5
-20
-25
43
12
17
3
9
-67
9
-5
-48
-12
20
-34
-85
7
17
-16
-2
-36
24
1
-7
14
-21
-1
-9
-3
9
34
-31
-23
23
-6
-14
0
0
0
0
0
-3
9
-6
1
1
32
4
19
-9
0
5
0
28
-26
0
-29
9
24
-42
-8
18
8
-20
-2
-22
3
-43
-49
16
15
-6
87
27
18
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
-1
0
0
4
49
28
-7
0
14
67
-48
-45
0
49
-19
57
-27
0
-20
45
-36
35
0
18
-2
5
-3
0
3
15
24
-49
0
0
0
0
0
0
16
-6
58
8
0
26
-68
-10
3
0
-76
-43
28
29
0
-20
30
-57
-47
0
-9
-24
-4
-24
0
9
10
-26
-47
0
0
20
-3
14
0
-4
-18
16
7
0
26
-4
-72
-30
0
81
12
-49
-49
0
-45
-9
23
-8
0
6
-3
47
-14
0
-13
-10
32
15
0
1
23
-32
-45
0
-35
-30
24
-13
0
2
-19
-17
26
0
-24
58
12
13
0
-30
-24
-16
5
0
30
-39
-26
5
0
50
-20
-24
-4
0
-13
-32
-23
-18
0
15
5
-23
13
0
-25
35
3
26
0
5
2
22
-9
0
-46
52
1
-10
0
0
0
0
0
0
2
7
7
0
0
5
16
-8
-5
0
24
4
23
-1
0
-5
6
49
-13
0
3
-12
7
1
0
-27
-15
-4
18
0
-12
-38
-20
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-26
-23
-1
0
0
139
-7
19
0
0
-1
-4
-18
0
0
-9
-6
-8
0
0
-62
7
33
0
0
26
-30
-5
0
0
0
0
0
0
0
1
2
0
0
0
51
-21
-3
0
0
41
-23
31
0
0
-5
-26
-31
0
0
-17
-3
-41
0
0
15
-38
19
0
0
26
-8
25
0
0
-42
2
8
0
0
0
0
0
0
0
4
-1
0
0
0
13
19
2
0
0
-46
-2
-5
0
0
-26
4
-21
0
0
-20
-28
-5
0
0
53
-28
-2
0
0
-44
16
10
0
0
0
12
6
0
0
2
-3
0
0
0
3
1
0
0
0
15
-13
0
0
0
-10
1
5
0
0
59
42
-25
0
0
12
-4
-38
0
0
-92
-12
25
0
0
-2
-4
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
5
0
0
0
-13
10
-1
0
0
1
-14
-16
0
0
8
54
-30
0
0
1
35
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-2
-1
0
66
19
-41
1
0
47
-48
5
-46
-2
-23
43
50
16
8
60
13
-92
16
4
18
-17
11
2
-60
0
0
0
0
0
0
0
0
0
0
-6
-8
0
0
0
8
-60
6
0
-1
-7
2
4
5
1
-20
65
-52
-24
-16
83
37
29
6
10
24
34
13
-29
-24
84
15
57
-57
76
0
0
0
0
0
27
1
0
0
0
28
-8
0
0
0
-4
9
-1
0
0
-31
46
-86
42
0
-24
-3
6
-49
0
50
58
-3
-42
18
-4
26
23
-32
-41
68
-5
-32
2
-1
5
13
0
0
0
21
-1
-1
0
0
8
13
0
0
0
16
31
-25
0
-1
0
5
14
15
0
37
-26
-18
-28
25
57
-16
37
-25
5
-89
49
16
0
-56
0
0
0
0
0
21
-1
0
0
0
5
0
0
0
0
0
2
0
0
0
0
1
-2
0
0
20
-17
4
1
1
-4
-5
39
20
0
2
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-5
-2
0
0
12
-5
33
-22
5
22
14
-25
-66
-22
-41
-43
-4
7
-13
83
26
14
-3
16
115
17
58
117
-28
0
0
0
0
0
-27
15
16
0
0
-41
-37
5
17
-14
-37
22
18
15
-23
2
-24
5
28
-9
-20
-44
-46
-16
24
32
-21
-74
7
11
40
21
2
-11
-41
20
71
6
-6
30
-11
-22
0
0
0
92
-12
-12
4
-14
31
2
-26
5
-2
32
-22
-64
24
-4
-2
-48
102
22
21
-76
31
-3
15
22
-2
-7
-3
7
24
115
28
14
-41
0
24
-38
52
-21
11
48
28
8
14
19
16
73
-29
9
16
-23
-48
12
24
-3
-43
-107
-27
-42
-19
-45
-18
-45
56
-30
55
28
-11
-18
11
37
64
0
13
-16
26
15
66
-40
-1
0
0
0
0
0
-9
27
0
0
0
13
0
0
0
0
0
3
0
1
0
0
0
4
1
0
0
-11
-6
-8
0
4
-15
4
23
-21
-2
-2
-7
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
-12
0
5
-4
16
14
45
5
-30
11
-44
7
-20
11
-2
59
-21
-58
-9
22
-16
-52
125
21
4
-8
54
0
0
0
0
0
0
1
2
0
0
5
-5
-61
3
2
111
-47
-36
31
-39
-13
24
47
3
-68
16
27
0
-47
31
12
8
-56
-46
62
-1
15
20
-23
23
-66
-46
51
49
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
29
7
1
0
11
31
-15
19
-1
1
-3
6
-28
0
-24
7
-23
-23
54
-41
-27
15
-32
57
8
-21
10
30
-17
33
-20
43
29
-65
0
101
-46
-6
-45
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-5
0
1
0
4
-5
4
33
0
0
0
1
-8
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
-1
-2
-2
0
0
0
-4
27
1
0
4
-7
23
1
0
26
2
113
37
0
-20
-31
-59
-10
0
72
75
-22
12
0
0
0
0
0
0
0
0
-3
0
0
-6
-19
31
-4
0
-4
46
-2
-51
0
-17
28
29
4
0
-60
-11
11
30
0
-1
6
23
-38
0
44
-58
-10
-58
0
68
-1
17
-16
0
0
4
0
0
0
-43
-10
-13
9
0
7
28
-1
8
0
3
8
28
8
0
-58
-24
-68
-47
0
-85
-44
-56
-20
0
9
15
23
-10
0
17
-26
8
-44
0
0
48
-42
87
0
5
19
-15
0
0
-41
49
0
-2
0
42
2
-17
0
0
-34
54
-29
4
0
43
-61
53
-20
0
38
-82
-13
-9
0
-81
-30
55
-25
0
0
7
-20
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-22
0
27
0
0
-4
0
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-13
-22
0
0
-26
66
-13
0
0
61
56
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-17
8
-12
0
0
-17
-28
10
0
0
15
10
-47
0
0
-13
42
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-5
-1
0
0
2
9
-4
0
0
0
42
14
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-32
0
-24
0
0
5
33
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-40
13
0
-1
67
-4
-22
28
5
91
31
-20
54
-13
-47
-8
35
10
-16
39
16
-13
-8
4
-33
21
-3
10
0
-35
-41
23
12
40
0
0
0
0
0
-63
-82
35
58
5
110
-23
4
1
-3
58
31
-46
-48
0
3
-14
59
-17
-38
-24
-72
-65
-17
14
-1
-16
8
27
-14
-8
-6
-12
20
37
-27
103
57
55
14
1
-5
-29
5
0
39
49
14
-6
-2
15
-54
-8
22
0
17
30
-60
3
-40
-81
39
2
-5
-23
-3
-52
26
7
-5
31
15
-31
3
3
-19
27
3
24
2
71
-7
13
-22
39
2
-49
-2
0
1
28
55
-15
13
-4
18
-66
-35
0
0
7
-7
-51
-19
-19
4
6
-14
-22
66
-14
2
6
33
-30
59
8
11
-5
-20
-15
20
-9
23
43
0
0
0
0
0
-8
3
3
0
0
36
1
-9
-3
0
23
-43
14
-6
4
7
-64
24
-25
-48
25
-89
4
13
-1
-12
-11
-30
3
11
54
17
30
-22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-30
-32
-78
8
-7
41
13
23
9
43
-8
6
24
3
-43
-9
38
31
31
-42
-15
18
43
-5
-11
3
-5
14
3
25
29
2
49
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
21
-14
0
0
14
91
-11
-6
1
19
24
19
22
-5
-28
6
6
-31
44
-1
43
31
33
-56
-20
-12
-14
-40
18
24
38
19
9
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
2
69
29
-13
81
-8
-14
-3
-43
-7
32
6
-16
-24
-11
-15
-8
8
4
25
-14
-13
-2
45
-3
10
5
-3
-9
17
-13
7
3
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-6
-47
9
-45
8
-65
12
11
-7
1
0
1
-8
-5
-27
-6
12
12
24
-15
12
-4
24
-14
-1
-5
1
-6
-16
-26
-5
-34
3
0
28
-2
-18
-18
1
3
-5
10
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
13
-33
50
0
-23
39
3
41
-5
-10
26
-4
13
-5
49
68
-31
-7
9
-38
-17
13
-5
13
-52
3
20
-34
0
10
-4
22
4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
86
40
25
0
-11
-21
-49
51
0
-14
0
-45
13
0
0
16
3
-58
0
40
3
27
-20
0
9
9
25
-15
0
13
-15
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
2
0
0
-5
1
-9
-7
0
-16
32
-32
1
0
58
-11
12
-50
0
-5
-21
-9
-34
0
-2
6
3
-15
0
-9
-2
-9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
11
-2
0
0
-12
-13
15
0
0
16
13
-28
0
0
-8
19
-80
0
0
-52
13
44
0
0
42
-6
1
0
0
20
10
32
0
0
0
0
0
0
0
67
-9
18
0
0
-13
-21
1
0
0
16
43
-3
0
0
33
27
-34
0
0
78
-1
8
0
0
1
19
2
0
0
-18
-21
-18
0
0
-31
4
52
0
0
-6
-7
0
0
0
13
5
0
0
0
-17
7
0
0
0
17
-24
79
0
0
-15
-13
2
0
0
3
8
-3
0
0
1
-3
-10
0
0
-30
-20
-45
0
0
1
4
42
0
0
7
23
0
0
0
-6
0
0
0
0
-42
42
3
0
0
-4
14
-20
0
0
44
6
-49
0
0
25
17
-47
0
0
-24
-14
6
0
0
4
4
41
0
0
0
0
0
0
0
-1
0
0
0
0
7
10
1
0
0
8
-8
0
0
0
51
5
4
0
0
-15
7
39
0
0
15
-62
-29
0
0
-1
9
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-6
13
-25
0
-23
21
-23
15
-1
14
36
35
24
-4
6
-5
-30
-55
-31
10
12
17
14
-4
4
9
1
11
-11
32
-27
19
29
40
0
0
0
0
0
56
130
0
-17
0
23
31
-19
-1
3
-49
24
-25
10
16
17
69
-16
55
-25
-25
55
-31
32
42
-2
-33
3
12
-2
-28
10
-1
-6
-1
74
37
36
13
9
-31
2
5
1
0
55
32
-41
-24
-2
38
30
-11
-17
0
-18
18
38
-44
5
77
35
36
29
-53
-32
-15
-4
4
37
16
-23
-4
-13
-34
26
30
-10
8
-4
50
0
19
16
-41
-6
11
14
0
-1
38
-42
8
0
0
20
8
5
-7
0
-21
-9
41
-34
65
12
-23
-34
8
-37
-121
-17
31
-13
47
20
-1
12
44
-32
42
33
-4
-15
-65
0
0
0
0
0
42
5
-9
0
0
-36
8
14
-1
0
-5
26
-32
23
-1
22
-48
28
-31
33
57
-17
-50
21
8
18
57
-14
-43
-22
-49
-14
-28
60
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
24
19
16
0
52
-23
-13
52
18
85
-41
56
-126
-10
-39
-24
67
-5
-4
36
8
-10
21
53
-14
8
-7
-18
-19
30
37
25
57
-5
0
0
0
0
0
7
-26
4
-30
11
10
-2
49
56
-1
46
-4
45
-15
27
4
21
83
33
-42
-4
36
-22
39
-25
-34
7
17
1
9
24
-33
-31
-17
37
14
-24
41
28
44
-43
-23
-20
49
1
19
25
-13
-9
0
-9
-36
56
4
-60
-37
-18
-6
9
12
-3
-18
-16
50
-6
19
-6
-18
-15
-15
-10
-19
9
13
6
-17
11
24
-2
37
42
45
15
11
20
18
-6
5
-1
0
85
33
15
-42
13
-19
22
3
-8
-1
-33
-46
75
-14
-49
10
11
-12
-3
-70
-68
-50
13
0
23
14
10
-15
14
46
-4
40
33
19
4
0
0
0
0
0
37
37
25
1
0
44
22
10
-12
1
15
-35
28
-71
-5
-23
5
-24
-9
16
-25
-1
-40
21
33
85
17
-2
7
26
21
6
29
-15
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-31
-23
22
0
29
55
13
-22
-9
2
74
38
16
5
55
64
-44
9
-5
12
19
2
-41
41
11
11
6
11
13
5
16
8
10
1
0
0
0
0
0
16
-52
53
3
0
23
19
-11
-5
-19
36
20
-32
-52
-23
-14
-37
-2
23
-7
0
28
12
-6
40
3
-7
7
-5
-38
-45
-15
3
5
4
27
48
-9
-19
26
-45
38
108
-58
-6
-34
62
-13
4
1
0
33
-49
62
-48
41
-2
9
-49
-52
2
16
5
-13
-1
-2
1
-16
-4
12
-2
2
-2
-1
-1
5
5
16
15
13
1
8
-5
-8
-4
-30
28
14
-25
1
13
21
-50
18
0
-26
-17
-36
43
0
36
32
-6
-15
13
52
-56
13
41
17
28
11
11
-27
19
-5
28
8
20
-10
0
5
31
-8
-4
0
0
0
0
0
19
-13
3
0
0
-50
-23
-7
-1
25
43
36
-13
27
-2
-3
1
27
-5
20
-33
20
18
-34
26
24
12
28
-8
-53
5
20
1
13
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-36
10
-2
0
-7
24
15
-15
0
42
-27
84
49
0
17
23
-47
-23
0
34
18
35
-7
0
5
7
-16
-4
0
2
-2
0
19
0
0
0
0
0
0
53
-20
-10
-47
0
-8
32
-13
17
0
-26
16
-31
-15
0
24
-27
-24
-29
0
17
-31
-7
17
0
5
5
11
-14
0
-30
4
-6
13
0
-28
0
-7
36
0
-6
9
-17
-2
0
-36
-22
16
20
0
32
0
29
40
0
94
23
-7
5
0
19
-12
-11
-78
0
-20
15
7
-9
0
-2
6
9
21
0
1
-23
1
-19
0
-16
1
51
19
0
-24
-3
0
0
0
-15
-11
3
23
0
25
-41
20
-3
0
72
-28
-28
2
0
35
17
-26
10
0
50
-10
-28
-59
0
17
-9
-20
-6
0
0
5
52
-7
0
0
0
0
0
0
-33
-34
5
0
0
16
-4
0
-19
0
-49
-18
73
1
0
-49
3
-32
23
0
-8
1
0
-4
0
-78
-53
2
1
0
14
-5
9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
47
7
0
0
0
-8
25
31
0
0
37
22
-46
0
0
6
-31
20
0
0
5
13
-45
0
0
8
0
9
0
0
0
0
0
0
0
-29
-4
-2
0
0
-1
55
0
0
0
44
27
-9
0
0
5
20
-77
0
0
2
10
-15
0
0
15
13
25
0
0
2
-3
24
0
0
-10
-40
21
0
0
42
0
0
0
0
4
6
0
0
0
17
-5
0
0
0
7
53
-7
0
0
-42
74
-27
0
0
30
-45
-2
0
0
18
10
12
0
0
-78
-8
14
0
0
-6
7
47
0
0
0
0
0
0
0
7
-5
0
0
0
3
13
-1
0
0
4
-14
6
0
0
30
16
-92
0
0
9
29
11
0
0
10
-8
-27
0
0
-16
29
-4
0
0
0
0
0
0
0
-3
-7
0
0
0
-3
16
0
0
0
-5
-14
0
0
0
-1
13
17
0
0
-5
9
-4
0
0
-59
-8
-36
0
0
4
20
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
1
0
38
32
-76
-1
0
-51
-10
14
10
2
25
21
-9
-5
-19
38
13
46
28
21
-14
-23
-13
-18
12
40
4
13
41
-19
0
0
0
0
0
-30
-9
-3
0
0
3
-13
5
0
0
-24
1
-22
1
-1
38
41
-31
-4
2
8
-81
-25
31
23
-15
36
4
-4
45
19
-4
33
29
-21
103
58
15
21
43
58
3
0
0
0
-25
-22
-8
0
0
37
10
8
0
0
-17
-1
-13
1
0
38
-76
88
-44
-17
-12
-43
-75
23
2
11
-18
9
36
-33
55
28
-9
-26
30
-4
37
-34
-8
47
41
-18
0
0
0
45
5
12
0
0
14
-18
0
0
0
-15
-28
-38
9
2
-39
-7
21
2
12
-25
-13
-11
-6
-27
32
-52
-17
-58
24
-37
36
13
66
-5
0
0
0
0
0
35
-48
0
0
0
43
-1
0
0
0
-14
4
2
0
0
-30
1
-27
-13
0
30
29
-17
8
-7
15
10
-28
-51
2
-20
-10
34
22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
1
-2
0
161
-7
13
-5
1
12
42
-69
-3
21
-29
-27
1
51
52
-24
63
36
-3
-4
20
5
-23
12
-19
25
44
-3
22
15
0
0
0
0
0
-3
-27
-4
4
-1
33
16
-48
15
0
-12
-95
-28
-37
88
-64
-111
-2
-44
23
-27
-50
10
-70
38
23
-8
-13
-27
-9
24
5
27
21
0
49
42
24
41
-24
47
-25
17
11
1
-20
119
-45
-3
5
34
37
-18
7
13
50
-29
39
-18
-4
6
-34
29
-12
-59
-12
-21
-46
-10
34
32
10
-11
-14
12
19
9
26
13
-11
15
12
26
28
52
58
38
-4
22
0
79
23
-17
-16
3
25
-12
39
-56
1
-9
-5
20
-42
62
-40
11
-16
-10
56
48
-26
-8
8
0
40
7
-1
-15
-17
-17
56
16
41
-54
0
0
0
0
0
17
-6
0
0
0
-1
5
-1
0
0
-4
-12
-15
5
0
-4
-35
54
29
-6
44
14
41
27
-24
19
4
16
-49
2
-39
-3
-46
23
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
-1
-1
0
42
10
-14
-2
0
15
47
20
-31
3
-48
-46
91
-67
-3
113
12
12
1
31
5
13
-5
-1
-16
9
7
20
26
13
0
0
0
0
0
-32
-2
40
5
-1
-52
-8
41
10
9
-76
-14
23
59
29
29
26
-4
16
28
63
-47
44
-20
-51
18
18
6
-20
-10
16
4
-9
2
5
4
42
22
30
44
14
-49
-49
49
7
11
14
17
-7
28
9
-8
17
7
26
-28
23
-48
60
45
22
-2
-6
-3
7
-32
13
14
21
13
9
-14
6
4
3
-34
9
29
6
4
109
-25
-8
9
-57
14
-27
-4
32
-16
-18
10
92
42
14
9
-30
41
-4
0
0
-22
32
47
-8
-1
6
16
-37
5
19
-19
4
-23
46
22
34
3
-2
-32
-38
16
7
13
8
0
0
0
0
0
46
5
7
0
0
10
-9
15
6
0
-22
13
-13
23
0
-23
5
48
-18
-3
9
-23
60
-9
-32
-56
2
-5
15
-1
42
67
-57
-80
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
42
-18
-44
1
0
23
6
22
27
0
-3
19
-76
-6
0
51
3
22
24
0
5
-38
-16
-25
0
-32
50
14
67
0
0
0
0
0
0
-36
25
28
8
0
-25
16
-19
8
0
6
-3
13
47
0
-26
32
49
-9
0
79
-10
-13
-16
0
2
-4
19
15
0
-12
16
-9
17
0
-7
-4
-35
-20
0
0
0
13
0
0
34
-30
19
-31
0
15
17
55
0
0
-6
-32
18
42
0
-13
70
-30
-40
0
15
19
19
7
0
2
2
19
-5
0
-10
-36
9
54
0
16
39
-93
-23
0
5
-12
-9
0
0
-23
26
37
0
0
23
-4
15
2
0
-71
68
-73
-5
0
2
-28
71
41
0
-19
-4
-31
36
0
13
-7
11
-13
0
6
5
-19
-14
0
0
0
0
0
0
3
6
8
0
0
8
-5
0
0
0
17
-6
-4
0
0
22
-69
6
5
0
-11
2
29
-29
0
-55
-19
-41
1
0
-21
71
-6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
-1
0
0
0
-5
14
0
0
53
-25
-26
0
0
34
27
16
0
0
-9
8
20
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
-5
0
0
0
0
2
1
2
0
0
28
-12
46
0
0
18
19
26
0
0
-22
40
-20
0
0
-5
-75
-77
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
17
14
0
0
0
5
-12
-4
0
0
4
-47
-3
0
0
-34
-91
-57
0
0
-3
36
32
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
-11
39
-13
0
0
-6
-13
-57
0
0
55
5
5
0
0
-73
-23
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-23
1
0
0
0
-37
5
9
0
0
13
25
-1
0
0
-17
-19
-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
-2
-2
2
0
-37
-9
47
30
1
-11
42
31
-27
8
0
-18
-13
-2
3
-11
40
-26
-28
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-2
0
0
0
10
-2
0
22
-6
-12
-22
14
31
33
3
24
-22
-74
-49
-8
31
30
-91
-21
-2
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
19
-31
-12
-33
-1
4
26
69
-40
-22
-87
-26
-28
84
41
-18
-61
-34
-23
-6
-95
-3
-28
-41
-43
0
0
0
0
0
0
0
0
0
0
-5
-3
0
-2
0
4
-7
-6
3
0
-11
-59
49
60
-3
27
46
4
-7
-18
-24
13
-20
-36
23
-71
-13
-22
-31
34
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-6
7
0
-1
0
-22
13
5
-2
-10
-2
-49
-12
57
1
15
26
-61
4
9
-26
32
1
-3
-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
-2
-2
-2
-1
9
-24
-8
-93
3
-1
46
-47
8
8
-13
-43
26
5
-12
-126
-41
32
52
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-2
0
0
-6
3
-2
8
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
-6
-1
-3
0
0
0
4
-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
2
0
0
0
0
0
0
0
0
-1
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
-2
22
6
13
-4
-46
25
27
41
-22
-1
-38
19
4
8
15
31
-6
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
-30
-93
-5
-14
28
17
-3
27
-10
-31
3
19
-6
7
-18
-67
10
-59
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
2
3
0
0
0
-19
24
-18
0
-3
-23
8
3
0
2
-5
-22
19
0
43
20
-24
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
-24
-33
43
-5
0
9
60
8
-50
0
25
-112
6
50
0
-31
56
-66
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-31
2
9
0
-7
2
22
-3
0
17
2
4
-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
-3
0
0
0
0
-20
-5
-16
0
0
8
-20
-28
0
0
-38
-23
-6
0
0
-10
88
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-36
-16
0
0
-2
-13
-13
0
0
-49
-23
54
0
0
42
26
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
0
0
-1
-21
14
0
0
-4
3
43
0
0
0
-3
-20
0
0
6
65
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
0
0
0
-27
12
14
0
0
12
-43
2
0
0
21
3
-21
0
0
26
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
2
-41
5
0
0
1
27
0
0
0
3
-58
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
5
-16
-3
4
0
60
4
-15
10
3
-40
5
36
-22
-21
60
24
-15
11
22
-7
1
17
-33
38
-47
-77
22
24
94
0
0
0
0
0
0
0
0
0
0
-4
17
2
0
-1
-4
6
-6
-2
-1
53
-17
54
28
-57
36
16
-54
-67
17
-28
21
29
9
11
17
-14
-18
-24
13
-75
-25
-1
85
23
6
-1
0
0
0
-3
4
1
1
0
-28
-4
-3
-3
0
-52
-3
32
19
-5
40
5
-16
30
41
65
57
-39
-20
-6
-12
26
-5
-8
-77
-14
-46
-4
-11
18
-71
-3
60
61
55
-21
3
0
0
0
43
14
5
0
0
-11
18
2
-3
0
-62
15
14
-31
-13
20
13
-42
18
-2
-27
-12
13
-30
11
32
-8
25
-4
9
-100
-72
-8
90
24
0
0
0
0
0
-28
-17
0
0
0
-2
-5
-7
11
0
-36
15
-5
-4
0
74
-11
-58
-24
-21
-101
23
47
-17
-38
15
-9
-16
25
-13
18
-8
22
-33
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-28
-10
35
-52
0
46
10
-5
14
-3
27
-25
-23
-32
5
50
-23
1
-28
-48
8
3
25
47
-2
-38
-6
-22
45
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-9
13
-1
-1
0
-102
-53
3
-73
6
-41
-63
11
10
11
-70
-111
-28
63
-73
22
-35
-75
-40
-20
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
0
-1
1
-1
0
0
-20
55
-26
41
0
-3
-50
-49
-26
31
-65
-61
23
65
11
6
-88
-36
-137
-22
-20
1
-76
-23
-167
1
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
0
11
-25
4
0
-17
-4
-68
60
0
-144
5
14
2
12
-5
-79
-12
-7
-41
21
-73
-15
-55
-13
0
0
0
0
0
2
-13
0
1
0
-29
-28
25
6
0
-29
-7
-9
-46
1
-36
33
-27
-44
11
-32
4
58
13
79
17
4
22
43
-42
14
9
1
-40
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
1
8
-25
2
-2
-20
-94
9
-17
-4
-30
-39
-66
2
25
-34
91
-1
48
-21
-2
5
1
23
-36
-67
-14
-59
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
-1
14
-27
-8
0
-137
49
-75
15
-3
46
-42
-33
9
68
16
-119
6
-34
-117
-46
-70
-24
-48
-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
1
1
-3
0
0
-1
6
4
0
0
-1
0
1
0
1
-5
20
-42
14
3
-27
1
31
41
-52
-66
-103
21
-54
21
49
-46
13
-107
-10
0
0
0
0
0
-15
1
-2
0
0
-6
-5
2
3
-1
3
-10
-13
-17
20
-35
-20
-2
66
-13
22
31
-29
37
-50
-50
-35
-41
12
39
3
-10
38
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
6
-2
4
0
5
-2
-66
13
0
30
6
-38
-28
0
-5
-4
-12
-11
0
-49
7
-25
-39
0
-20
4
32
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
13
18
-3
70
0
19
26
12
21
0
-33
-68
-33
-58
0
-2
-68
-27
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
9
-5
2
0
-49
-5
-5
5
0
-32
-40
19
4
0
4
-20
-84
-56
0
0
7
-42
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
-2
2
60
0
0
-31
-43
-48
-1
0
-1
15
42
7
0
37
-64
-104
17
0
0
0
0
0
0
-4
0
0
0
0
-4
0
-1
-2
0
-15
-25
65
0
0
58
-42
-13
4
0
-8
48
-60
13
0
22
-26
-5
-26
0
11
19
35
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-1
0
0
0
0
-21
5
-6
0
0
-34
0
-16
0
0
-19
-25
52
0
0
57
-11
5
0
0
-45
29
34
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-41
-4
1
0
0
11
-19
-2
0
0
24
23
-16
0
0
-41
-18
-4
0
0
-22
-34
19
0
0
82
-17
55
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
16
-27
-28
0
0
-48
42
21
0
0
12
-16
-104
0
0
1
15
50
0
0
-33
-23
28
0
0
20
-3
49
0
0
0
0
0
0
0
0
2
0
0
0
-5
-20
3
0
0
12
-11
13
0
0
33
4
13
0
0
17
-24
-46
0
0
2
33
27
0
0
7
-7
-72
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
31
-46
0
0
0
29
-26
-66
0
0
27
40
37
0
0
-77
22
-3
0
0
2
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
43
-26
-39
-4
3
-56
26
40
-9
4
-58
84
-71
16
-34
51
17
-6
-22
35
-2
-9
6
25
-44
23
-27
-1
-46
40
0
0
0
0
0
-31
-4
-1
0
0
-11
-13
-5
0
0
51
39
5
-8
0
117
-76
39
-5
-28
0
2
46
-105
-76
-25
12
-1
-16
9
9
-6
-2
39
46
-3
-19
60
112
-5
37
-8
0
0
0
31
1
-9
-1
0
-30
31
12
-5
0
-64
-5
89
-5
-5
-11
4
-37
-11
23
0
11
-7
-89
-12
43
-27
-32
36
31
4
-1
47
-10
-18
-4
61
32
121
39
-40
4
1
0
0
15
12
-23
-3
-1
-33
13
-16
-1
0
-49
-44
2
48
18
53
47
44
8
-63
2
-6
-16
-8
-56
24
27
22
-14
12
13
-18
34
-18
74
0
0
0
0
0
26
28
-2
0
0
72
28
6
-2
0
-26
8
2
22
0
52
-3
-60
42
2
-30
87
-24
-20
26
-23
-5
50
31
-46
2
-66
19
10
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
5
0
0
0
-4
12
-20
3
10
-85
30
-14
-10
31
-2
-89
-72
29
-60
38
41
12
22
-22
-16
16
30
-6
5
23
-25
-12
6
4
0
0
0
0
0
41
2
-1
1
0
-14
71
-72
-32
1
-79
-68
-1
59
-20
26
17
56
-28
76
16
-52
29
52
53
24
13
-23
32
63
-3
-100
6
16
-49
-39
-22
-78
-37
-13
3
37
4
0
0
152
-28
5
-2
0
5
24
22
-2
1
-28
49
3
-43
9
-34
37
75
-75
10
-13
13
-5
60
-33
18
-26
-18
-3
26
-61
-66
-100
-7
2
-22
-32
16
-15
8
-32
-3
-2
7
0
-48
-5
49
-23
19
57
-46
11
10
0
-3
13
-9
14
-6
-28
5
98
32
26
1
10
-51
-1
45
-30
-13
-14
0
-30
29
-44
-48
11
-58
0
0
0
0
0
30
11
8
-18
0
-18
23
-1
20
0
-20
-47
-13
19
-15
-76
21
23
12
5
-7
38
8
-21
19
0
-50
27
33
2
42
10
-14
-18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
-29
33
17
42
0
44
-72
42
85
57
55
-49
-47
-22
9
17
-31
17
-26
20
-31
34
-7
3
-47
-1
29
-8
3
-23
0
0
0
0
0
19
-13
2
0
0
21
29
-24
4
-5
-28
-36
39
-7
33
-47
-10
-66
80
21
-28
5
-3
50
-12
0
-5
14
32
74
-35
-20
-13
34
10
37
-16
2
-19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-43
-33
-1
0
-76
15
49
-40
1
-8
37
-44
14
2
54
-57
2
7
-37
26
45
-26
10
68
-19
-6
47
-16
-47
35
-77
-30
5
65
13
9
-20
-63
-50
0
0
0
0
0
-4
49
13
16
0
-15
31
-42
-14
1
3
5
47
-27
2
-34
7
-26
38
24
31
-62
10
23
68
48
13
0
-12
-13
-40
-48
46
33
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
38
7
-8
-10
0
26
27
-41
-24
0
-70
4
58
1
0
-37
28
-40
-10
0
6
6
9
19
0
91
-17
41
59
0
0
0
0
0
0
-7
5
-1
-1
0
-10
1
-8
0
0
115
69
10
-35
0
85
-83
-24
-24
0
-3
-32
-27
-43
0
-36
-8
9
34
0
-187
-15
-67
8
0
52
-17
29
-7
0
14
0
0
0
0
0
-13
-16
-2
0
33
-70
-73
-8
0
-5
-47
35
-43
0
19
-28
27
22
0
14
-4
-11
-65
0
-38
1
-51
1
0
50
12
2
18
0
-9
13
39
29
0
9
0
3
0
0
34
-2
-8
-1
0
9
13
-35
-10
0
-5
-99
5
-12
0
-1
-6
-21
-11
0
2
11
50
47
0
11
21
37
2
0
-4
-10
-3
-2
0
0
0
0
0
0
-18
2
1
0
0
1
-11
-2
0
0
-5
39
-30
1
0
-74
-15
54
-10
0
40
2
37
35
0
22
-54
-5
-21
0
-9
19
-5
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
34
-13
0
0
-5
-27
12
0
0
31
13
-19
0
0
-17
16
-10
0
0
2
14
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-3
1
0
0
12
68
9
0
0
2
19
5
0
0
-23
34
4
0
0
4
-9
-14
0
0
24
16
76
0
0
0
0
0
0
0
-3
0
0
0
0
-3
-15
0
0
0
-48
-21
-22
0
0
81
31
-35
0
0
-15
-3
-3
0
0
-30
21
-19
0
0
76
-11
118
0
0
-67
20
-49
0
0
0
0
0
0
0
2
0
0
0
0
12
49
-1
0
0
77
2
0
0
0
-22
-62
13
0
0
-51
-20
19
0
0
-10
5
19
0
0
-34
-15
36
0
0
0
0
0
0
0
0
0
0
0
0
-1
-29
0
0
0
-45
4
0
0
0
30
-33
0
0
0
57
18
5
0
0
-70
38
19
0
0
-21
18
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
-2
0
2
0
0
37
-4
-30
1
0
-34
-39
-8
-27
0
-29
-13
68
45
1
-1
-20
11
49
22
65
25
-1
-23
-2
0
0
0
0
0
5
0
0
0
0
4
-9
0
0
0
26
5
13
0
1
-14
-22
-5
0
0
-33
-10
-31
-28
-8
5
-32
-6
75
53
-6
37
33
-32
-27
66
33
-13
26
-49
0
0
0
0
0
-41
0
0
0
0
-7
-10
0
0
0
3
7
0
-1
0
-12
-13
16
-22
0
-5
1
-41
-24
0
-7
74
-7
23
37
3
13
-38
4
22
41
-78
31
53
-24
-9
-9
0
0
0
-6
0
3
0
0
-9
-9
0
0
0
8
19
-16
-2
0
-50
7
-7
8
-1
43
-36
49
-71
17
17
9
-8
31
5
-12
56
18
45
-59
0
0
0
0
0
-33
-8
0
0
0
-15
0
0
0
0
-9
4
1
0
0
-20
7
33
-3
0
20
-19
-29
-14
-3
-1
12
-15
43
-1
40
38
28
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
43
1
-2
0
42
16
-3
-16
1
29
-50
-15
-6
-2
15
33
13
31
55
42
8
-29
-76
53
-17
35
41
107
-50
0
0
0
0
0
-15
-10
-1
0
0
-51
-25
2
-8
0
-13
48
41
26
-34
81
47
-24
22
-35
-8
66
19
-24
85
35
25
9
22
27
20
-14
13
6
-12
35
50
27
48
41
-40
-11
1
0
0
-25
-56
20
0
0
3
5
-6
42
5
-46
21
6
40
-8
30
-27
13
-10
4
7
24
16
-17
-16
-11
-27
2
12
3
96
13
-29
9
10
33
55
24
28
6
-26
28
12
1
0
51
24
1
16
1
-26
-39
16
-26
0
-29
-23
52
22
-20
52
53
-12
-18
79
33
45
-13
-18
-92
84
21
-6
14
2
-9
15
-28
31
30
0
0
0
0
0
-2
14
0
0
0
-4
-1
4
0
0
5
-8
0
-1
0
-15
21
39
-13
-1
-22
-67
-45
52
0
34
-5
-68
-71
13
-20
12
28
53
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-4
0
18
8
14
-6
4
-23
-31
-69
68
4
-51
44
84
-6
21
-25
15
19
38
7
31
47
3
-46
9
0
0
0
0
0
5
7
0
0
0
31
32
-20
-39
1
88
-27
27
-14
-49
-40
164
-44
21
25
51
-52
-18
75
-10
-3
45
-13
12
51
-42
33
54
4
-16
-1
22
9
3
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
5
33
-8
0
9
44
1
-3
-19
54
-32
26
-64
0
-37
-46
14
15
19
23
-45
10
29
0
1
-3
-43
44
13
-31
19
11
-18
15
-47
-24
-33
50
-12
0
0
0
0
0
0
-2
5
0
0
0
8
21
0
0
-2
0
-4
-3
0
0
1
-8
-2
0
-2
13
14
-44
-3
4
-8
38
-38
5
6
38
-65
69
13
0
0
0
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
0
0
0
-8
3
-4
1
0
0
-45
34
-75
0
60
-17
-64
3
0
-28
-50
76
39
0
-51
33
12
74
0
0
0
0
0
0
-1
0
0
0
0
-1
3
0
-1
0
37
-18
-25
20
0
-57
21
12
-56
0
-13
15
-22
-51
0
-68
-19
20
37
0
-6
76
30
-35
0
100
13
-31
37
0
1
0
-1
0
0
-13
5
28
34
0
-32
52
5
0
0
-26
-49
-18
22
0
21
22
-45
35
0
-12
2
28
-42
0
32
22
60
-34
0
-13
30
1
-8
0
-28
-52
-14
19
0
0
-12
1
0
0
20
-19
-24
0
0
-17
25
54
-3
0
-8
-42
83
-4
0
49
-18
-122
-50
0
-41
-54
-42
30
0
88
64
-16
48
0
-9
-49
-34
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-17
-1
-1
0
0
-27
42
67
0
0
44
-13
-5
-17
0
-2
45
19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-7
0
0
74
-9
-16
0
0
-12
9
-42
0
0
-16
-3
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
-1
0
0
21
50
12
0
0
25
1
29
0
0
39
-7
-4
0
0
-30
50
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-1
0
0
0
10
-22
5
0
0
-38
42
0
0
0
0
-33
-6
0
0
0
43
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-14
7
0
0
0
5
-6
-91
0
0
-7
17
35
0
0
3
-68
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
1
3
0
0
0
-2
-1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
15
-15
25
-1
0
13
-39
-18
-10
-5
68
88
-48
29
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
4
0
0
0
1
-49
18
9
0
-1
37
-43
31
2
7
49
45
32
-84
79
-32
-4
-17
8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
2
0
0
52
-28
-35
3
-12
18
40
48
12
0
58
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
6
3
0
0
-10
23
0
0
5
2
-29
5
-5
0
22
-22
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
2
2
0
0
19
17
24
2
-5
1
35
-17
-12
-19
71
10
35
10
48
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
43
-39
-34
15
0
49
29
26
-8
-2
-109
62
-69
12
-51
16
56
42
30
9
37
33
67
-2
-24
86
51
42
60
21
0
-1
0
0
0
-7
-36
27
0
0
-3
63
0
0
0
-4
-38
24
-25
-8
-22
-13
-31
-36
-12
13
-50
24
-5
-34
-50
-7
54
77
27
32
51
67
11
7
-13
91
-120
41
43
31
-26
0
0
0
40
-26
-8
0
0
-11
41
-5
0
0
11
-22
-47
-5
0
-33
-22
28
-5
1
-66
24
57
53
-1
-16
48
35
-4
21
-22
86
-62
-3
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-5
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-2
-3
1
0
5
4
21
-45
0
-3
-35
22
49
-39
42
61
45
-29
22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
-5
-13
14
0
0
4
5
-35
0
49
13
-22
-49
-28
4
14
-7
76
66
14
32
32
-8
34
25
-57
97
34
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
12
0
0
3
0
-3
0
0
0
-2
0
0
0
0
-3
-3
-1
0
7
3
31
16
-3
-110
-1
9
-39
32
14
61
-7
16
-12
0
-3
22
-19
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
16
0
0
0
-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
-1
0
0
-5
-3
-6
6
0
28
6
-13
-7
0
19
16
18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
1
0
0
-6
-4
0
0
-37
3
52
-63
0
-66
3
-18
-42
0
34
69
29
11
0
-9
-46
38
106
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
1
-1
0
0
1
47
86
14
0
-21
-1
-98
-5
0
15
-63
38
13
0
33
27
-93
-15
0
0
-15
23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
4
1
0
6
-15
5
2
0
-34
-41
-29
-8
0
2
-7
56
-10
0
0
0
-52
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
-31
1
30
0
0
-27
-15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
40
27
-33
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
9
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
46
57
-32
-7
-40
-31
38
16
19
6
26
50
-16
-6
25
18
-61
-36
13
-17
3
25
50
55
-33
-11
-7
12
13
12
11
-40
15
-27
0
0
0
0
0
-71
6
-5
-8
-4
-10
2
-75
32
-3
-45
-40
0
26
36
6
20
22
39
16
-86
35
-5
54
3
42
9
-22
34
7
-124
-38
20
-37
-16
-40
5
-14
1
5
-13
-9
24
7
0
14
10
29
-46
1
-38
-3
-18
41
2
-30
23
-12
58
-20
-1
32
34
-2
-1
-37
12
2
8
31
18
-25
1
30
-24
-53
-56
-13
-70
20
-2
30
-30
20
10
73
5
7
-5
-1
-18
15
-15
-25
1
22
42
-43
-6
4
-17
26
-4
8
-9
32
-9
16
-19
-45
-24
14
-19
42
6
17
36
15
-7
61
-83
-50
49
10
-32
0
0
0
0
0
-13
-26
10
-5
1
31
-31
-18
-29
22
-51
60
-28
40
1
-5
-27
48
-13
12
11
52
-11
80
-14
-12
-65
13
-34
-3
-20
9
-23
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
13
35
7
-8
-58
9
-4
34
-7
-51
25
58
-2
-60
38
7
9
-42
50
56
-5
65
9
45
-48
-26
-40
-3
-6
-97
-28
-49
-32
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-2
0
-1
0
86
-5
-28
-7
-4
-68
-13
27
28
-1
13
-7
54
13
-5
-39
-111
-19
50
13
-43
-2
12
-28
52
-25
-36
-21
1
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-22
-41
-41
-14
-92
3
-38
13
15
-59
6
-18
14
8
7
-24
13
71
-59
-12
19
-27
31
23
-47
-33
25
-33
-17
-34
-35
-72
-75
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
1
5
-1
4
31
4
-23
-1
-4
23
13
20
1
-46
-2
-11
84
-39
53
5
-43
-72
12
-51
-18
45
-2
-50
-17
-23
-14
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-57
-55
-5
0
-20
-35
-1
31
0
19
-4
-17
-42
0
-1
19
2
74
0
30
27
31
5
0
-77
50
-17
-25
0
-45
-21
18
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
23
-13
-2
0
42
-40
10
2
0
29
-30
-1
20
0
4
40
-92
-56
0
62
0
58
-23
0
-81
-64
6
4
0
-26
26
-14
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
29
-2
0
0
-57
-32
26
0
0
-25
-76
10
0
0
52
-23
38
0
0
-1
31
-11
0
0
9
12
1
0
0
39
40
-41
0
0
0
0
0
0
0
11
24
-3
0
0
50
-28
-1
0
0
-42
64
9
0
0
21
-12
-4
0
0
48
8
6
0
0
30
-9
-28
0
0
-30
-6
24
0
0
-36
-18
-15
0
0
-13
13
0
0
0
-31
7
5
0
0
23
-24
-1
0
0
50
5
-10
0
0
-58
22
2
0
0
-56
5
7
0
0
-14
-22
39
0
0
29
8
8
0
0
-1
3
-42
0
0
6
-7
-1
0
0
22
-22
3
0
0
33
2
17
0
0
9
-36
10
0
0
34
4
56
0
0
-84
-15
10
0
0
-16
40
20
0
0
3
15
-15
0
0
0
0
0
0
0
-10
21
-3
0
0
5
-2
22
0
0
54
1
-22
0
0
-33
46
26
0
0
-43
-67
-47
0
0
49
-4
9
0
0
-16
-16
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
1
4
-8
1
32
-2
6
10
0
-20
1
-22
37
16
64
-30
-58
-24
10
-34
29
46
39
-47
-38
3
-32
-5
-40
-67
13
54
22
34
0
0
0
0
0
38
7
3
-2
0
5
-5
6
0
1
15
-26
23
-82
13
-17
78
16
22
-20
-21
-22
-33
-37
13
-2
11
57
4
44
-50
-25
-67
78
-53
63
-72
8
47
-9
8
4
-2
0
0
-39
-34
32
2
0
19
4
30
-4
-3
19
-75
73
-54
-8
-18
59
-27
0
-5
-12
55
-72
46
-34
68
-4
2
-10
81
3
-5
30
-22
-73
-62
-20
45
60
-2
-48
7
0
0
0
56
-4
0
0
0
-5
1
-50
-9
0
42
-5
27
-24
-1
-31
16
-33
9
-2
30
-69
1
46
-38
30
12
6
-45
31
-84
-3
-46
17
-22
0
0
0
0
0
2
10
0
0
0
-27
1
5
10
0
6
-51
5
-12
0
-20
24
34
1
0
-30
-5
-11
-4
-5
45
-23
-65
-5
-8
44
-5
22
27
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
23
-7
-1
2
-1
-29
39
-19
-15
35
45
72
-21
-67
-57
47
5
3
49
85
65
33
-8
21
-63
-64
-48
-61
29
-30
2
-66
64
-26
0
0
0
0
0
-20
-4
28
0
0
3
8
0
0
1
-56
86
41
13
-20
13
-36
-28
-31
43
-27
-34
-18
-20
-94
43
-52
-51
21
70
-7
-56
-78
12
30
-88
30
10
-2
-42
-7
-2
0
0
0
0
4
5
0
0
3
24
9
28
-9
13
-41
36
125
28
-25
10
33
-39
11
30
-53
-5
-19
-6
-49
14
-8
-2
-47
23
26
-49
-78
-24
13
16
15
-44
-44
0
0
2
0
0
-13
0
-31
-6
0
-22
29
-45
18
-1
0
-39
49
8
27
-38
40
53
-10
-3
46
-25
-21
13
-23
17
-25
54
66
15
-11
-81
-42
-89
-54
0
0
0
0
0
-27
7
-1
0
0
-48
33
-5
-11
1
-18
-6
8
0
0
8
-29
-22
3
1
-7
-17
70
30
-8
-48
49
-10
-48
-42
69
-67
-27
-17
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-6
-22
41
-3
-11
13
-5
-24
-2
54
-22
-1
-15
17
-66
23
-22
-5
-7
-1
50
29
-23
-10
4
-56
0
26
24
-107
55
31
-6
14
0
0
0
0
0
0
-14
-1
0
0
-2
0
0
0
0
-8
22
6
-5
-5
-7
-6
21
-27
32
28
-11
-13
13
26
25
68
-20
24
-32
-41
-106
52
-14
27
0
-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
29
-2
0
0
0
46
-40
4
22
0
26
2
18
-37
-23
-34
-1
28
21
3
7
-4
7
-18
2
8
13
-35
26
-1
-44
50
-25
41
44
-31
-7
-19
-36
-9
0
0
0
0
0
-21
-9
-3
0
0
-39
0
12
13
0
5
-16
-1
-13
0
-7
4
22
-2
1
-16
15
29
-22
7
8
-67
-29
13
-12
24
-31
-15
52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
6
28
2
0
49
4
90
-7
0
22
-10
-30
20
0
-22
-14
20
23
0
3
56
18
31
0
18
-93
-41
5
0
7
-38
-15
13
0
0
0
0
0
0
50
-1
-5
0
0
15
-19
-15
0
0
-64
25
-7
-21
0
1
81
-23
-7
0
32
43
47
9
0
3
-15
-8
-13
0
-72
-21
13
30
0
21
2
85
-1
0
4
3
-3
0
0
-7
0
0
0
0
-4
-6
-16
0
0
-29
-6
44
-49
0
28
-54
34
38
0
-49
-10
29
-5
0
31
102
93
-39
0
85
1
-39
-3
0
-46
-26
-41
26
0
0
-2
0
0
0
-6
35
1
0
0
17
35
8
0
0
0
-11
-1
16
0
44
-45
-47
-15
0
-19
-2
56
-6
0
0
25
-13
6
0
-17
-37
-33
19
0
0
0
0
0
0
-17
0
1
0
0
-22
5
0
0
0
49
-23
12
0
0
-26
20
0
-2
0
25
4
-19
1
0
-8
-22
31
19
0
-5
64
41
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
0
0
0
-51
8
-6
0
0
31
-11
5
0
0
16
52
2
0
0
17
34
1
0
0
14
-6
23
0
0
-10
27
-21
0
0
0
0
0
0
0
-21
9
1
0
0
-19
14
0
0
0
38
27
0
0
0
12
8
19
0
0
41
-16
-18
0
0
5
34
28
0
0
45
33
-61
0
0
-30
-17
42
0
0
-2
-8
0
0
0
20
0
0
0
0
-19
-5
0
0
0
-63
1
44
0
0
86
-12
10
0
0
-38
-79
39
0
0
15
4
9
0
0
41
5
-43
0
0
35
69
-50
0
0
0
0
0
0
0
-6
-21
0
0
0
8
-2
0
0
0
-28
22
-12
0
0
10
-13
41
0
0
-30
-8
-22
0
0
41
88
41
0
0
-12
-28
-42
0
0
0
0
0
0
0
1
-1
0
0
0
-18
-1
0
0
0
5
-8
2
0
0
-8
3
-3
0
0
2
7
10
0
0
-24
-13
-23
0
0
24
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
0
0
-2
2
5
0
0
31
-52
42
-3
0
-38
-2
33
5
-25
73
-3
22
5
-22
-31
85
-41
-5
25
-31
13
26
47
21
0
0
0
0
0
15
0
0
0
0
-1
4
0
-4
0
-42
30
8
1
0
-3
32
23
-8
-5
-5
-37
58
9
10
29
-6
22
30
15
-9
-31
60
16
19
110
3
-38
3
-2
1
5
0
0
0
-2
0
0
0
0
-10
-13
0
0
0
2
-9
14
2
0
5
-4
-7
7
2
9
22
-39
-18
-2
-57
-14
83
20
9
53
-13
-5
-6
5
91
29
-71
-1
6
0
4
0
0
0
4
-21
0
0
0
0
0
0
0
0
24
2
1
-1
0
-3
0
0
1
0
-40
9
9
4
-1
-8
-5
-4
-29
-1
92
4
16
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
1
-1
0
0
0
0
4
0
0
0
7
1
0
0
0
0
-51
2
1
0
-6
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-12
0
-1
-19
-28
52
3
-24
62
19
-36
1
9
14
98
27
63
-2
1
-54
35
20
43
7
78
-25
-61
13
0
0
0
0
0
53
13
1
2
1
-27
-59
15
-7
0
22
-15
-4
-4
0
15
50
-53
27
-11
31
44
-74
-4
13
28
6
15
-15
-47
19
-26
8
38
13
-55
-10
126
8
0
5
-34
0
0
0
4
0
4
0
0
-8
1
-27
-19
0
-6
-11
22
-54
27
-5
6
24
-6
44
-53
-40
-41
-4
22
30
43
6
36
55
-6
33
61
11
-46
1
16
-66
42
-15
1
3
2
0
0
-19
13
29
-2
0
-5
-13
-5
83
0
13
41
-51
-37
-5
22
41
-57
22
0
-15
-6
-22
-1
-5
6
0
33
-1
19
34
-121
91
-25
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
9
0
-3
0
0
0
7
-4
0
0
0
5
9
3
0
0
-16
2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-7
-13
27
1
0
41
-24
5
-8
2
25
-22
40
-11
-48
60
28
-58
51
27
-32
23
-77
-54
42
-125
-10
111
69
13
0
0
0
0
0
0
1
-2
0
0
2
0
0
0
0
-83
0
21
0
0
-7
-5
62
-19
0
54
-62
31
-26
-27
24
-9
-51
50
27
-13
66
35
-43
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
16
19
0
-19
0
5
4
-13
-5
3
-15
13
1
16
1
-13
45
-4
-33
0
-12
-28
30
-18
-10
39
-10
25
73
0
4
-37
11
-24
1
0
0
0
0
0
-4
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
2
-2
0
0
6
8
-7
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-3
-6
0
0
0
-22
-5
3
0
0
-14
-30
-1
40
0
-3
16
5
-4
0
9
-3
88
-39
0
88
0
49
-22
0
0
0
0
0
0
-12
-20
0
0
0
19
-5
10
0
0
-23
3
-26
5
0
-10
66
41
50
0
13
14
-1
-13
0
80
35
19
13
0
-19
-53
-10
-48
0
3
-27
90
-10
0
9
0
0
0
0
18
11
0
0
0
13
0
7
0
0
-19
39
20
-6
0
-23
41
-6
-7
0
37
15
32
-16
0
29
-5
6
8
0
-22
-67
-25
87
0
-5
-8
30
-10
0
-2
0
0
0
0
-16
7
-1
0
0
17
-49
1
0
0
-10
42
-7
-2
0
-44
21
1
-18
0
-5
9
-20
-16
0
44
-3
-6
10
0
11
-22
-1
21
0
0
0
0
0
0
1
0
0
0
0
-3
1
0
0
0
0
0
-2
0
0
1
0
0
2
0
-28
0
0
0
0
-2
-23
-4
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
14
-5
0
0
0
-16
-20
-1
0
0
-3
56
-7
0
0
-52
-47
57
0
0
32
47
-35
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
17
-2
0
0
0
9
14
8
0
0
8
-18
-42
0
0
76
-13
1
0
0
-9
-19
11
0
0
6
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
-32
-5
1
0
0
5
-28
0
0
0
-13
29
20
0
0
44
-35
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-2
-1
-2
0
0
-4
2
-1
0
0
1
5
-1
0
0
-4
-46
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-6
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
43
-12
-42
20
-23
-11
-62
12
24
22
-25
44
-27
13
-39
18
11
39
68
-37
-21
-45
-50
-40
-84
-28
7
48
5
0
0
0
0
0
0
0
0
-1
0
-5
8
6
7
0
-2
-94
2
-23
21
47
-29
-27
13
53
25
19
-13
21
9
49
-17
19
-52
-16
-88
-13
4
5
-44
-202
3
-13
32
9
0
0
0
0
0
0
0
-5
18
0
-14
-10
-11
-21
14
23
-30
-77
-29
1
6
-48
8
0
-1
75
-33
8
-49
-9
-31
49
4
3
-17
-118
68
-5
43
-12
-95
-18
-16
57
5
0
0
-3
-5
0
-19
-5
-5
-26
2
5
38
-17
25
7
-8
-57
28
-12
0
71
22
-22
-18
0
-18
-66
-24
-33
-31
-45
132
8
59
1
-66
-36
50
-30
5
0
0
0
0
0
32
-16
6
-5
0
-13
8
-4
-10
-2
-5
26
7
-40
2
6
-32
-25
0
0
31
-79
17
-5
0
-53
-15
2
48
34
13
28
10
-6
31
0
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
42
-49
-50
-4
30
78
-24
29
-27
-47
-19
2
6
5
30
-26
23
30
31
-104
-133
15
2
-13
-48
-108
-62
-43
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
-2
0
0
4
-2
21
3
0
-1
15
0
0
0
0
-6
1
0
0
7
33
-54
-1
1
27
-19
-14
-10
-1
7
-47
25
31
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
13
-9
-49
0
107
41
-40
31
-47
-30
-48
77
-7
-52
-26
3
12
32
20
-135
-22
12
-9
-14
-4
-86
-87
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
19
0
-2
0
-1
0
-1
0
-2
-3
0
0
2
10
6
7
-2
0
-16
40
18
4
8
15
-78
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
-24
-3
0
48
-93
47
4
0
-29
22
10
-50
0
31
83
-29
13
0
24
18
-56
4
0
33
1
-15
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
5
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-2
3
1
1
0
8
8
0
-2
0
0
0
-5
2
0
-1
-2
17
-9
0
1
41
-15
3
0
-13
1
9
-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
-12
49
10
0
0
7
-30
29
0
0
-4
-7
-59
0
0
-28
-18
13
0
0
16
67
60
0
0
55
15
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-15
0
0
-57
-9
47
0
0
-13
-43
-3
0
0
-19
-94
-39
0
0
43
55
66
0
0
47
14
-35
0
0
-6
36
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
46
0
0
25
-1
2
0
0
-9
-1
12
0
0
5
-2
1
0
0
28
-41
3
0
0
-37
42
-80
0
0
0
-42
7
0
0
0
0
3
0
0
24
0
-3
0
0
-8
-22
-18
0
0
-15
73
-5
0
0
-2
-2
1
0
0
34
-20
20
0
0
-48
-21
-11
0
0
-72
9
-22
0
0
0
0
0
0
0
-5
1
-7
0
0
-6
1
-3
0
0
1
-8
-1
0
0
0
0
0
0
0
-4
3
7
0
0
-5
-32
-12
0
0
-2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
34
34
1
-96
41
7
78
12
82
22
-9
33
-63
-22
-34
14
-18
-20
-6
-33
-15
-40
35
-78
-3
39
-36
-29
-112
13
-34
50
71
0
0
0
0
0
28
4
-5
-5
0
17
-18
61
-9
21
-54
57
-7
2
-36
27
-12
12
14
-70
-34
3
-79
-13
-23
29
20
-9
-53
58
-89
-46
-47
-40
2
-186
-87
25
33
55
29
-21
5
-19
0
-18
25
6
-24
6
-38
-20
4
-20
-30
14
4
18
-21
41
120
62
16
14
32
22
-9
-42
10
-74
-34
-44
-25
-3
37
-87
-68
-45
-28
-42
-79
-14
73
13
21
-3
-18
5
4
0
-76
-29
42
-41
9
5
-35
-8
3
26
42
66
13
-45
21
1
58
-13
49
-26
7
-23
5
-34
4
-43
-15
0
22
-49
-75
-75
35
50
38
0
0
0
0
0
2
-5
-10
14
-2
-78
34
41
37
1
-45
14
19
3
31
15
-69
-4
-30
-19
-15
-48
-19
71
66
17
12
1
-18
-44
-6
10
-16
-28
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-5
-15
-13
0
7
-45
80
-26
41
10
-32
-84
-58
-6
-18
-40
11
84
-5
13
13
22
-3
52
-68
-60
-24
46
-31
-225
2
-37
-111
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-48
-67
17
-5
63
-6
31
42
0
-29
54
-15
-84
8
-42
-49
45
1
-7
-63
-42
-10
-3
3
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
7
8
-5
15
0
0
17
-37
13
0
1
15
-5
-4
1
25
-16
-8
28
-1
-74
-71
36
-14
6
0
-6
20
0
0
0
0
0
0
0
0
1
2
0
0
0
3
0
9
0
4
-2
-17
1
0
0
-13
-4
0
0
0
-35
22
10
0
43
5
-5
-16
0
-12
-42
-22
-1
0
0
0
0
0
0
-34
28
-1
-4
1
-9
-3
17
-13
-1
-20
44
-16
18
6
1
31
3
-74
8
42
14
25
7
-70
0
-6
21
52
53
-3
-57
-47
20
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
1
0
-61
-13
-40
-11
15
3
83
-23
-17
-102
-61
14
22
-26
-40
-9
-3
62
38
25
-4
-94
17
-31
48
-48
-82
-134
-31
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
13
0
0
1
37
-24
-1
0
-23
-6
-22
-8
4
-2
2
7
2
-9
-3
-5
-1
4
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-1
0
0
0
-1
0
0
-3
-10
2
0
0
0
-18
0
0
0
0
0
0
0
-1
-6
-9
6
0
21
-7
-4
35
-37
15
21
-27
-15
-1
-30
13
-49
5
-5
4
7
-67
-46
47
-36
-31
36
-30
-54
-20
-29
12
44
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
8
-1
0
-60
-3
-83
-56
0
52
-24
15
36
0
-5
-5
6
-21
0
11
-9
17
-22
0
-112
-17
5
-4
0
-68
11
-58
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-47
-38
29
0
6
-41
27
0
0
-12
13
4
4
0
4
26
52
-9
0
-1
9
13
5
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
20
-16
1
0
0
-1
8
-2
2
0
-4
0
-4
8
0
-2
-2
1
1
0
4
50
5
-2
0
0
-3
19
-3
0
0
0
0
0
0
16
0
0
-1
0
-20
0
0
0
0
-1
3
-2
0
0
0
-1
0
0
0
3
-2
-6
0
0
-5
8
-32
0
0
2
5
1
0
0
0
0
0
0
0
-24
-8
-3
9
0
22
26
-41
2
0
38
-50
17
-40
0
47
-68
-27
13
0
-34
-49
-16
24
0
-110
83
-8
-73
0
-7
29
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-72
-18
0
0
-58
-48
-57
0
0
-22
-28
-4
0
0
-9
86
21
0
0
28
26
24
0
0
-50
-20
8
0
0
-2
21
-8
0
0
0
0
0
0
0
-19
-1
-1
0
0
-12
-41
-19
0
0
-15
-13
-50
0
0
10
-49
10
0
0
-64
42
38
0
0
-16
-5
-42
0
0
-3
4
46
0
0
13
1
-31
0
0
-8
-17
0
0
0
3
31
21
0
0
14
28
-12
0
0
-33
-61
3
0
0
37
-24
-51
0
0
-54
7
16
0
0
21
-34
13
0
0
71
0
12
0
0
-113
72
-22
0
0
27
43
-5
0
0
-12
-5
-21
0
0
16
-32
13
0
0
-89
-67
17
0
0
-67
-1
5
0
0
48
-28
3
0
0
-8
-16
5
0
0
8
63
-85
0
0
0
0
0
0
0
47
-25
5
0
0
-31
-22
10
0
0
4
-2
10
0
0
51
-6
-20
0
0
-31
83
-23
0
0
-12
-41
-34
0
0
29
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-9
-8
0
18
-11
31
-41
-16
-8
64
-63
5
-3
41
-48
19
0
-5
10
16
-6
43
17
-76
-16
-3
25
7
-73
14
6
-50
38
0
0
0
0
0
5
-15
1
-7
0
-14
35
20
42
-7
-40
62
-57
44
-32
32
46
-28
-58
40
-27
11
-41
0
-21
30
-16
34
-43
50
-26
-64
24
29
-40
11
42
-56
-19
4
22
8
2
0
0
-12
19
-10
45
0
15
-32
-25
19
9
5
-27
-13
-11
-49
-46
-17
-3
50
31
-59
69
-1
-27
-40
5
-30
12
-20
-13
-46
-29
-35
-41
-44
-11
8
-30
60
18
-10
5
-1
-2
0
48
-8
0
27
2
-12
-47
16
-5
-5
-12
-1
-10
13
-5
7
-59
63
25
13
28
5
-40
-46
-28
-3
24
-33
-1
32
-55
42
29
29
-18
0
0
0
0
0
1
-5
30
20
0
51
-5
27
-24
-3
56
-5
20
-13
0
41
5
-79
-16
-3
25
29
-3
35
-53
-91
-44
-26
-40
69
-25
-8
17
-31
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
0
-4
0
-34
-28
-47
24
-25
9
23
17
-11
40
22
-4
-35
40
-37
17
4
13
-20
28
-122
-28
5
31
23
18
-21
-38
-26
-51
0
0
0
0
0
0
0
-2
10
0
1
0
-1
4
0
-21
6
-2
-12
52
3
17
-3
20
19
40
-39
6
70
-104
12
-52
51
-40
-11
-118
21
-48
-27
9
-66
0
-42
-22
-13
8
0
0
0
0
-7
-7
-29
0
0
-11
-5
-10
15
5
50
13
-26
-21
5
-10
63
2
82
-32
45
-77
47
10
-11
-37
-6
25
31
10
-66
-37
36
-49
-27
30
61
-68
-55
31
0
0
0
2
0
-1
-21
39
5
-2
-42
61
0
-3
7
-47
18
-7
-32
3
93
-39
31
25
-29
4
-31
-100
15
-35
27
-2
32
26
15
-59
-90
-49
7
22
0
0
0
0
0
-14
-25
-1
0
0
-13
9
-41
-23
2
32
23
41
13
2
35
-49
-78
6
-1
37
2
3
12
-1
-48
2
50
-13
-69
-51
-61
-1
-1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-3
3
0
-3
-17
-73
35
20
-76
57
11
-24
14
39
-13
9
17
-75
21
-68
10
49
1
-56
-24
-47
10
82
-127
3
-36
-26
-15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
41
18
20
2
1
59
-32
80
-42
-13
2
-15
-11
-11
5
-48
-1
-9
70
-39
10
-4
-70
13
-26
-5
28
-33
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-2
0
0
-10
16
-17
8
0
45
-6
57
23
5
18
5
-60
-11
-6
-9
35
27
-33
-10
-6
-9
13
57
-58
-8
-10
-6
-13
48
-75
-56
9
19
-16
0
0
0
0
0
5
17
-1
0
0
22
0
-4
-3
0
5
-2
0
-4
1
3
-4
-49
-24
-1
-32
48
-29
33
24
-5
-37
58
-5
13
-43
-9
-2
41
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-2
0
4
27
-33
23
0
-5
22
13
-46
0
-2
17
-17
29
0
45
55
-1
67
0
-63
-62
-31
-64
0
-71
-65
41
-2
0
0
0
0
0
0
9
-7
0
0
0
-3
0
-5
-2
0
42
-26
8
25
0
2
-2
-2
5
0
12
-23
17
-7
0
-28
-13
-50
20
0
-96
2
-55
-11
0
-12
26
26
33
0
10
-1
0
0
0
0
4
-4
0
0
-9
9
-65
-15
0
-10
-44
-32
-10
0
-6
-28
-10
8
0
-3
12
4
-38
0
-9
30
57
-18
0
2
-1
-12
48
0
-35
13
-5
-24
0
14
-1
24
-2
0
25
-2
24
-26
0
-13
-5
-22
-3
0
-7
23
2
6
0
-39
-22
41
34
0
-55
21
-39
17
0
-34
-47
10
-5
0
66
58
-8
-29
0
0
0
0
0
0
-13
1
2
0
0
39
3
0
0
0
-76
5
5
-5
0
1
18
5
8
0
16
-4
-5
0
0
41
-41
2
-3
0
42
-3
28
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
-8
-20
-38
0
0
22
21
-23
0
0
-50
-21
-1
0
0
33
-1
-20
0
0
-44
-58
-5
0
0
-31
8
40
0
0
0
0
0
0
0
-4
39
0
0
0
-2
-4
6
0
0
9
-41
9
0
0
-24
-51
34
0
0
49
24
-54
0
0
-58
6
-3
0
0
-8
1
-28
0
0
29
31
18
0
0
0
0
0
0
0
0
-3
2
0
0
-9
-50
6
0
0
85
-1
-22
0
0
-55
20
13
0
0
-35
-49
4
0
0
-33
57
48
0
0
43
-22
20
0
0
-12
57
-12
0
0
-1
0
1
0
0
-40
-31
0
0
0
54
5
-4
0
0
41
-27
5
0
0
1
-10
-4
0
0
-22
-23
32
0
0
-18
31
14
0
0
-70
14
-48
0
0
0
0
0
0
0
-14
-2
0
0
0
-4
5
-3
0
0
0
0
1
0
0
4
2
0
0
0
-7
-30
3
0
0
44
24
-9
0
0
-5
-66
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
2
-3
0
17
102
-13
-8
-4
-18
-14
14
-51
13
109
1
27
68
-24
-17
-49
-28
8
-64
-131
66
51
-11
13
0
0
0
0
0
-3
0
0
0
0
8
0
0
0
0
14
7
-30
-3
1
-36
5
-15
0
0
21
-26
9
-86
7
49
-27
-31
-9
-31
-12
-10
25
-26
-26
-35
34
1
108
79
0
0
0
0
0
-1
3
0
0
0
8
1
0
0
0
-13
15
-5
-5
0
39
-13
-2
17
0
-39
-28
-31
-1
0
27
-9
-36
64
8
29
13
92
-44
-31
29
3
-3
0
0
-1
-5
0
0
0
-8
4
0
0
0
2
-1
3
-1
0
-8
-1
-1
-2
0
1
-16
-3
4
0
-50
43
-30
7
-10
22
13
31
-2
1
41
-56
32
0
-7
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
-1
-1
0
0
0
0
1
0
0
0
3
-1
0
-2
0
9
-49
5
0
0
-9
8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
1
-1
-47
50
-8
25
-1
-1
-5
57
-11
-79
-9
-20
18
8
12
50
-34
-15
18
22
-13
-4
-13
-8
18
0
0
0
0
0
-5
0
0
0
0
-10
0
-4
0
0
71
24
17
22
-28
-57
2
60
53
-20
-10
-34
30
28
9
50
-1
-24
-86
13
-79
-10
-93
27
-14
-143
26
13
35
93
0
1
0
0
0
2
0
-2
0
0
-5
-41
24
-12
0
13
-23
-37
-21
1
21
-23
-40
36
-32
-66
-13
-6
-39
-25
-13
54
-25
-9
18
-75
100
33
58
14
0
-66
17
-15
9
0
0
-4
0
0
3
1
24
0
0
-1
-1
-4
-5
0
-1
13
-64
4
1
-59
25
-21
16
-7
22
30
35
-54
-1
-50
13
49
-14
42
31
-91
-63
31
-2
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
2
-3
0
0
0
1
3
1
0
-2
0
0
-1
3
-2
-2
8
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
-2
-3
-41
-2
6
-5
-73
30
19
-16
48
-8
22
-103
46
-65
-9
38
33
-5
-81
109
-101
40
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-5
4
0
5
-1
13
-7
-7
-21
-25
-5
-23
21
75
-16
3
23
-12
3
-34
-45
-53
43
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
1
0
0
0
1
0
0
36
7
13
-13
0
-1
7
12
12
-4
-1
5
-14
-1
-8
6
2
-29
23
1
0
13
-5
-21
6
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-17
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
7
-31
37
2
0
13
39
-2
19
0
30
6
107
15
0
-50
-13
-39
-55
0
-42
58
-9
31
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
9
-45
23
-28
0
11
-88
-25
6
0
13
23
-60
42
0
-20
-35
-50
82
0
-39
32
62
-39
0
-6
48
1
-49
0
-1
0
0
0
0
0
-6
0
0
0
48
-1
-6
0
0
54
5
-25
-9
0
21
-40
17
31
0
-56
25
12
48
0
11
-21
-12
15
0
-73
-66
-15
-76
0
-5
-1
16
3
0
0
0
0
0
0
-13
1
0
1
0
3
0
-1
0
0
20
-8
-13
14
0
-5
-2
39
1
0
44
-89
-11
-37
0
-20
46
15
33
0
4
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-2
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
8
1
0
0
-25
17
4
0
0
-3
-43
20
0
0
50
81
-58
0
0
-9
23
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
0
0
0
0
16
5
0
0
0
-30
11
25
0
0
15
-6
14
0
0
-10
-30
-20
0
0
-5
13
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
-8
-5
0
0
0
22
19
10
0
0
6
-26
-3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
1
0
0
0
0
2
-5
-2
0
0
2
4
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
0
30
-17
80
-59
3
58
-26
-41
-23
-5
-43
8
-46
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-4
0
-24
2
10
-4
0
-26
-23
-71
-7
-7
31
-8
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
0
0
0
31
0
8
0
0
7
4
25
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
-4
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
7
-35
6
-24
-4
-8
-9
19
29
-23
-10
93
-31
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
6
-50
43
-30
0
13
50
-6
-25
13
17
43
-34
-39
-26
8
-74
-60
29
21
-50
3
-6
64
22
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
2
0
0
-10
0
-8
-4
-5
-5
-8
6
-15
1
95
13
-31
5
-3
13
-37
35
-3
29
0
0
-1
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
3
0
0
0
4
0
0
0
0
-5
0
0
0
-21
4
0
0
16
18
-29
-3
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-2
-1
2
-7
37
-19
35
0
50
29
-39
-49
-83
-2
-4
50
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-8
-6
0
-15
-39
15
4
-17
-3
18
31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
-7
0
0
4
0
-22
0
0
0
-3
4
-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
-5
0
0
0
0
-7
0
5
-3
0
34
-1
3
4
0
4
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-21
0
0
19
-8
-1
-1
0
16
-6
-17
-8
0
85
-22
-5
-8
0
6
7
56
8
0
-13
-5
41
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
-6
1
3
-7
0
60
-17
6
-1
0
5
20
22
4
0
0
-8
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-1
0
-2
0
0
5
-6
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
48
0
0
0
0
1
0
0
0
-8
-7
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
0
0
0
0
0
0
0
0
2
0
0
0
15
-8
39
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
12
-20
21
-2
-20
-24
14
-6
-28
-3
-12
-12
-7
-4
0
3
42
19
18
50
84
1
-12
-2
-13
-35
-16
31
-75
45
25
18
-60
0
0
0
0
0
-22
7
-18
6
4
-3
0
21
-2
1
0
-22
7
-42
23
-3
-16
-24
-4
24
-5
-31
2
-5
-44
-32
-10
-10
39
4
13
12
-41
4
21
56
-1
25
-8
-31
0
4
-2
-2
6
0
-1
5
3
2
-20
-5
8
-9
-1
-9
21
-51
-20
8
-6
26
5
48
38
-11
-30
24
18
16
11
-42
4
-31
5
-46
-18
-20
-41
-17
48
28
6
-17
-20
0
1
5
1
0
0
-1
4
1
0
16
5
-12
1
-3
-33
-25
5
16
-9
-6
13
12
-26
6
5
-33
12
-21
-24
31
-66
-28
6
20
-31
17
17
-22
-42
0
0
0
0
0
1
0
-1
-1
0
-6
12
9
-7
-1
2
4
-6
1
-2
1
-7
7
-41
4
-9
49
-19
-12
-9
-21
-48
-17
16
5
15
7
5
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
-5
-31
25
-24
7
29
18
-6
31
4
6
-38
-2
17
7
5
20
22
-7
4
50
12
29
-17
42
13
-19
-36
-4
-9
-9
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-18
3
4
2
-1
0
-1
8
8
9
-15
-14
-4
-10
-4
-18
-22
19
9
-22
21
-13
18
2
32
-4
-50
14
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
24
18
-31
-8
-4
-7
0
-7
-9
-2
-42
31
-1
24
-31
9
-1
15
-19
25
-18
52
22
38
-31
26
-6
-23
-25
-5
20
50
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-1
0
-28
1
9
-31
0
6
-13
6
30
0
8
-11
0
-50
3
-3
-14
-1
1
9
-28
19
19
-24
6
18
-4
5
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-2
0
25
-20
8
-28
0
-13
-10
58
25
0
8
-9
11
3
0
-24
5
20
-2
0
-23
18
-61
-19
0
5
34
15
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
1
12
3
3
0
6
-25
1
-12
0
-27
-6
31
-10
0
-25
39
-8
9
0
29
-28
-55
24
0
11
6
-6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
-10
0
0
-1
19
-5
0
0
25
38
0
0
0
-52
2
12
0
0
26
-12
-2
0
0
21
-40
-3
0
0
-49
59
-20
0
0
0
0
0
0
0
8
-13
14
0
0
-16
-13
-5
0
0
28
13
-1
0
0
8
25
-5
0
0
9
-7
-5
0
0
39
5
23
0
0
-22
12
-5
0
0
21
-11
11
0
0
-2
-5
-12
0
0
-7
12
18
0
0
-5
3
4
0
0
-5
22
-8
0
0
-10
-12
3
0
0
29
-21
12
0
0
21
16
-5
0
0
0
-2
20
0
0
-5
40
34
0
0
-2
-6
0
0
0
-2
10
0
0
0
8
-22
-1
0
0
8
33
-13
0
0
5
10
9
0
0
-4
-25
13
0
0
32
13
21
0
0
-13
-5
2
0
0
0
0
0
0
0
0
-4
0
0
0
-3
3
2
0
0
-16
6
25
0
0
-15
4
9
0
0
64
16
-18
0
0
22
-5
-8
0
0
-11
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
6
-16
-47
4
21
23
19
30
10
-6
1
-27
41
13
-46
11
22
34
-41
34
28
-36
16
22
-61
5
75
-43
-25
44
8
30
22
-20
0
0
0
0
0
24
4
0
-26
-5
10
-4
-5
-31
8
-5
-19
3
-13
0
-23
5
6
-3
-16
19
-5
16
2
28
-9
13
-32
42
-1
-29
46
49
37
-16
10
-6
53
23
7
-3
4
1
5
-1
9
-13
-7
-5
0
12
5
-13
-15
-3
20
-15
34
-18
-1
7
25
22
-28
-8
-16
21
22
-31
-25
6
-31
-10
12
2
-69
23
9
19
7
-8
8
-5
-1
58
2
4
-2
0
0
1
-2
-7
-1
3
0
-5
25
0
1
24
6
-27
-25
-18
35
-26
-18
6
19
-6
11
-16
-21
49
-14
-19
10
24
-7
8
10
17
26
-64
0
0
0
0
0
0
-1
0
0
-1
13
2
3
-5
1
23
22
-6
-4
-4
-3
-16
26
35
-16
-23
-43
-3
-40
8
-10
-5
-17
-11
-14
23
11
60
-31
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
16
13
-41
-22
5
-16
17
30
-14
2
6
-45
8
10
-19
10
-22
4
-18
7
28
42
10
-4
-23
-31
3
13
-16
16
44
-6
-37
29
0
0
0
0
0
-13
0
-8
-6
6
-6
-6
3
-13
14
-35
5
-6
-22
16
7
-25
8
10
-14
39
-16
31
33
2
5
60
13
-6
-3
-28
6
-29
-50
2
-28
-45
-41
59
-49
0
-4
-7
-7
1
7
-12
-7
-4
1
-13
17
-5
28
13
-6
15
-1
-10
13
-20
3
35
4
19
7
9
17
-13
-40
-50
41
-9
22
-16
11
-13
-22
-42
-40
-13
-43
6
-3
9
2
-6
0
0
0
2
-5
8
1
-4
-9
5
2
10
-12
-2
14
-23
-23
-13
50
11
-13
-13
9
-21
40
-15
24
18
13
-1
8
-12
-36
0
-52
-1
-12
-17
0
0
0
0
0
0
0
0
1
0
-31
-15
9
-2
1
1
-13
-24
-4
7
-10
31
-20
6
-13
31
-18
-22
11
0
-41
31
-19
-9
-8
14
26
46
-26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
0
-54
43
-22
-5
9
30
6
-10
8
15
10
25
4
3
14
-23
-21
2
-2
-19
14
20
5
-3
-8
-8
45
-25
-23
13
54
-15
0
0
0
0
0
-24
12
-9
-9
-8
-19
17
4
-32
19
-42
28
-11
-4
10
37
-31
-13
20
0
-48
-28
-5
1
22
-13
30
25
1
31
-22
-29
26
42
-49
94
3
-31
-55
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
-1
0
-4
-7
19
5
-3
-9
-20
-8
13
-9
-19
-31
-23
-5
-18
-1
-23
30
-10
-9
-22
-5
-6
1
1
-6
-19
22
10
-3
22
7
-14
-5
-2
0
0
0
0
0
0
-3
1
-7
1
7
1
-7
23
1
1
7
-11
-13
8
-19
-65
12
1
-2
11
45
-15
-14
-6
7
-25
10
12
4
5
0
13
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
-22
12
0
0
8
-10
48
0
23
4
31
28
0
-15
-2
-49
26
0
3
-47
28
5
0
17
28
9
-39
0
6
61
-17
5
0
0
0
0
0
0
-16
6
-5
7
0
9
28
-2
-5
0
-8
26
8
-9
0
1
8
9
8
0
-41
-19
-4
-18
0
53
5
39
21
0
10
-31
-5
13
0
30
-20
-12
-9
0
-14
4
5
2
0
-12
14
16
3
0
-18
8
-8
-8
0
-25
-16
50
22
0
31
-14
3
-6
0
8
30
3
22
0
-32
15
-24
26
0
25
-6
0
4
0
-13
1
-29
-22
0
-8
0
-3
-1
0
-31
13
-4
0
0
-10
12
20
-5
0
-16
21
10
18
0
-20
55
-32
-5
0
-64
-21
43
-5
0
25
1
26
14
0
43
-1
-21
9
0
0
0
0
0
0
0
0
0
0
0
-8
2
-1
2
0
22
-1
-16
-1
0
-36
12
-5
-5
0
-22
11
25
10
0
7
5
-21
-13
0
17
-27
21
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
18
0
0
-1
21
-10
0
0
-14
13
10
0
0
20
-1
12
0
0
-3
-49
25
0
0
2
2
-22
0
0
-8
13
-24
0
0
0
0
0
0
0
-5
-1
4
0
0
-6
13
5
0
0
-15
-13
8
0
0
-2
27
0
0
0
5
-18
8
0
0
13
16
-12
0
0
28
16
-9
0
0
-16
-37
7
0
0
-1
0
0
0
0
25
19
-1
0
0
9
-1
0
0
0
2
-10
0
0
0
-5
2
-16
0
0
22
-41
-8
0
0
17
48
56
0
0
-5
21
8
0
0
11
31
-5
0
0
2
1
0
0
0
-3
-4
1
0
0
-2
-12
-2
0
0
-12
12
1
0
0
-4
-13
14
0
0
10
4
-22
0
0
4
33
-22
0
0
-9
-16
32
0
0
0
0
0
0
0
-2
-1
0
0
0
-1
-6
0
0
0
-1
4
-8
0
0
-8
32
-5
0
0
21
22
5
0
0
16
-11
6
0
0
-3
-30
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-1
3
-1
16
-21
24
18
3
-6
16
9
-1
0
7
-19
-4
13
5
-5
73
-1
-17
24
2
-66
1
48
-39
105
63
-3
-5
9
0
0
0
0
0
4
-1
0
0
0
4
3
-2
2
-1
-7
14
0
5
5
-9
6
23
-10
3
-47
-14
53
22
-7
7
37
1
-28
-29
-1
-26
-13
44
-3
67
18
48
-7
41
-1
0
0
0
0
0
3
1
-1
0
3
17
-3
0
0
9
8
7
0
-2
1
2
9
-15
17
-2
-12
-1
43
-3
-19
-34
8
23
6
18
0
-3
-6
-23
5
-26
42
5
9
-2
1
0
0
0
0
1
-1
0
0
2
2
0
4
0
-1
-4
3
3
-2
6
31
-12
2
-5
-45
-13
-3
43
-36
-22
12
12
3
-12
20
-71
22
-44
69
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
-1
2
0
-2
-2
21
-19
20
-1
-10
-35
1
-4
-20
16
29
-17
4
-8
19
-18
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
2
37
-3
10
-4
-2
22
-4
-21
18
-43
-2
-6
-23
-6
56
16
9
11
51
27
-20
0
53
10
-10
39
2
52
36
6
-27
-1
0
0
0
0
0
34
-15
11
-11
-8
51
23
0
-4
4
-19
-1
-1
6
5
-41
-22
4
5
43
5
-6
-9
-9
10
10
36
40
12
-7
-10
-34
18
-40
2
51
0
5
-20
-13
4
5
-6
8
-3
-6
21
-7
-2
-5
9
-7
-4
-9
12
0
-19
2
8
26
53
-43
16
-32
25
-13
-16
-39
-18
1
58
-29
23
-12
10
-24
41
52
39
25
31
10
-31
26
-42
-1
7
5
8
0
2
5
0
-22
0
26
13
4
-3
16
40
2
7
-3
21
18
13
-26
-53
-1
37
-9
34
-5
-30
-76
-19
-4
37
29
-32
10
-18
10
4
0
0
0
0
0
-2
1
1
0
0
0
-1
0
0
0
0
5
1
6
0
-16
0
-2
13
-12
34
-1
-17
-22
8
-49
21
-6
-29
-29
-10
13
13
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-12
-4
-4
0
10
-5
33
16
-5
41
41
-20
4
18
-9
-5
-5
9
12
-41
13
21
-5
-13
-31
45
-30
-2
-9
53
20
-5
-6
10
0
0
0
0
0
36
-24
20
19
-7
19
4
16
-18
18
23
-27
7
31
-18
-25
7
17
-14
50
33
-15
-5
70
-26
6
24
-10
4
-4
20
26
-12
-14
-18
-45
-5
-8
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-2
5
-7
-7
0
-2
-18
19
-1
13
-8
-5
9
-3
1
26
10
-19
20
25
17
-31
27
22
-33
-39
18
25
0
2
6
6
-42
-26
-18
2
-1
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-1
-7
-3
0
0
-8
25
-5
5
3
-26
8
22
-21
-13
13
-20
-21
-19
-3
14
10
1
26
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
15
0
0
1
5
8
9
0
43
37
-9
-5
0
-9
3
7
-48
0
3
-42
27
-20
0
-16
2
-12
22
0
19
42
31
-5
0
0
0
0
0
0
0
20
22
5
0
-9
16
0
-1
0
-5
5
20
-9
0
20
-16
13
42
0
-33
23
0
-8
0
1
-5
-10
12
0
5
57
7
-21
0
9
33
0
3
0
-6
15
-2
-3
0
2
11
-4
9
0
-6
-10
-2
6
0
-16
28
-5
-26
0
36
4
31
-41
0
-13
-49
-3
-16
0
25
5
-31
13
0
-5
15
22
27
0
12
57
-11
17
0
9
9
10
-1
0
12
2
2
19
0
5
-5
-29
2
0
-22
-3
3
2
0
4
-26
10
5
0
5
-9
-10
5
0
14
21
40
-29
0
-85
57
-22
-46
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
7
-5
0
46
-8
-1
1
0
13
-1
5
-12
0
-10
-6
8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
-5
-7
0
0
-12
12
-9
0
0
6
-51
-17
0
0
9
-17
-20
0
0
-31
13
9
0
0
29
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
4
20
0
0
0
-2
-8
4
0
0
-16
1
19
0
0
-20
-33
-4
0
0
40
-4
-2
0
0
-15
24
53
0
0
-41
-3
13
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
-1
0
0
-7
-7
0
0
0
-22
3
4
0
0
-38
-13
-8
0
0
30
8
-1
0
0
38
42
-13
0
0
0
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-10
-6
2
0
0
-18
41
-3
0
0
3
-6
-12
0
0
5
20
1
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
18
-4
-1
0
0
22
4
-1
0
0
8
1
-4
0
0
0
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-2
-4
0
11
-23
33
-37
-18
13
0
-27
8
-9
-43
-2
-17
15
-24
3
34
-20
37
29
-8
28
-18
-27
-14
-11
-25
53
-24
6
0
0
0
0
0
-2
0
-1
0
0
-2
-13
5
6
2
-25
-5
5
3
21
4
20
10
-9
17
-1
-5
-7
18
10
2
14
5
12
5
-24
41
-33
-58
-16
-47
-7
24
-5
31
0
0
0
0
0
0
-6
0
-27
0
2
-7
7
-21
2
13
5
-45
16
-8
-7
7
-9
5
-8
8
-30
-30
-9
25
0
-5
31
79
-32
3
-47
-14
23
2
-8
29
-5
-14
8
-3
0
-1
-1
-2
-6
2
15
-19
0
14
0
14
5
-3
-19
-19
-1
-22
-4
-8
-28
18
16
5
-33
1
-18
-19
6
-18
18
-1
-1
-33
-11
-58
14
67
16
0
0
0
0
0
-4
-1
0
0
5
4
-4
1
-4
2
-2
-5
-20
35
1
-11
36
-22
12
12
49
-39
24
25
-22
-58
-7
17
-23
-13
-18
-22
16
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-29
13
-13
-22
0
15
-66
-35
12
-7
4
25
13
-13
-15
-22
25
-41
21
-1
-16
-3
22
-28
-17
-19
27
13
22
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-3
-2
1
0
1
1
-3
2
0
0
0
2
0
0
0
2
-1
-2
0
0
-2
1
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
-1
0
0
-1
0
0
0
-3
0
0
-1
4
-1
-1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-1
0
0
0
0
-2
2
7
-1
0
9
-13
8
-8
-2
3
-3
0
-1
1
0
0
0
0
0
2
-1
1
0
-1
1
-2
-10
-4
-1
14
5
-13
-13
-1
0
3
-4
5
20
13
-9
27
-13
5
3
-22
5
8
-26
-20
10
-29
2
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
1
-17
-4
-14
-6
-69
-57
-17
4
2
-15
26
-5
-16
-13
27
40
20
-5
25
-28
48
-26
0
-5
5
-37
15
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-1
-2
1
0
0
-7
3
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
-5
0
0
0
-19
-4
15
-3
-2
-25
29
5
4
-16
-28
10
-14
12
-6
42
6
-31
-13
-10
9
-51
22
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-28
-28
5
-5
0
-3
7
-13
-3
0
-31
-31
-62
14
0
13
44
11
15
0
32
-1
27
-10
0
-3
-31
-4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-12
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-4
0
0
-1
0
0
0
0
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-1
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
1
-2
0
-10
-4
-4
0
0
8
0
-20
1
0
-7
5
-1
1
0
-8
-22
10
15
0
15
13
-28
-13
0
4
6
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-19
-17
-9
0
0
9
-26
-40
0
0
13
22
31
0
0
-26
-20
-17
0
0
-22
-33
7
0
0
22
-58
41
0
0
0
0
0
0
0
0
-1
-1
0
0
0
8
0
0
0
-22
-25
-10
0
0
-9
5
9
0
0
14
-11
8
0
0
7
16
5
0
0
-5
-2
16
0
0
13
-30
-25
0
0
0
0
0
0
0
1
3
0
0
0
-1
-9
5
0
0
-2
-5
-4
0
0
-5
-15
-8
0
0
0
10
9
0
0
6
-3
14
0
0
-14
0
-13
0
0
-2
5
16
0
0
0
0
-3
0
0
1
4
-5
0
0
-5
23
-2
0
0
-17
-6
32
0
0
-7
-5
5
0
0
5
42
-6
0
0
-23
-4
33
0
0
-1
-15
-30
0
0
0
0
0
0
0
0
1
-7
0
0
2
-2
-1
0
0
1
5
-4
0
0
-14
-42
-10
0
0
9
-2
12
0
0
9
-18
-8
0
0
-7
45
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-8
15
2
-29
-26
-30
-13
-37
26
-3
47
-5
-2
-50
-21
5
-8
-16
-10
-12
9
53
-14
-27
28
-30
-17
44
14
25
-31
-37
46
0
0
0
0
0
3
8
18
-24
4
-13
-3
-26
20
2
40
43
-8
15
-59
-5
9
16
-30
-20
-60
-32
-25
4
-5
-63
38
43
27
25
-7
-5
-26
-51
-16
28
1
6
-4
18
0
-8
-13
-5
1
-1
17
-33
13
2
-6
-3
-27
24
-5
-6
-49
13
-7
-8
2
43
-30
-55
-22
3
-30
-36
5
-22
-16
35
22
2
27
15
13
-6
2
-19
24
-8
-15
6
32
16
-8
7
-3
2
-7
11
7
-5
-20
-3
22
-8
9
5
10
-1
1
42
16
-47
31
-36
6
0
12
-37
-4
13
13
15
9
27
6
25
10
-7
-42
-16
-22
0
0
0
0
0
6
9
8
14
-9
-23
-7
-9
10
-4
8
29
6
-14
12
-53
-5
20
-12
-16
-2
35
-11
-45
9
3
-22
26
-58
-7
9
-1
10
9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-32
-13
7
-2
-25
5
15
-48
-3
-15
-39
19
13
-3
-14
-28
28
14
-57
34
-16
-34
7
14
-31
23
10
-42
-5
26
101
-35
10
33
0
0
0
0
0
0
0
0
0
0
2
-7
-25
-1
-1
-8
-42
-7
-13
-2
-7
-20
5
-2
-17
-25
-15
-7
8
-31
-2
13
24
-53
-3
22
62
6
22
-24
-8
-54
-80
-20
18
0
0
0
0
0
0
0
0
0
-1
3
-5
-2
5
0
10
-2
-16
18
-9
27
20
22
5
3
-13
-31
-14
18
-21
-39
-4
4
-14
-5
-30
23
-76
46
5
-14
-21
7
-44
34
0
0
0
0
0
0
-2
0
0
0
0
-6
-7
2
0
7
-22
-5
-8
1
-14
-15
-11
-3
-2
-38
22
-4
22
-29
-24
-12
4
51
40
13
13
10
-27
32
0
0
0
0
0
-6
1
6
8
0
-19
5
9
-6
-4
-9
-16
-8
36
13
-3
-23
3
-25
-23
-85
46
-5
5
13
-31
-1
0
-10
13
45
20
-24
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
-8
6
-5
-6
-16
3
-17
-5
7
45
-5
16
-10
-26
2
17
-31
-6
62
-34
-7
13
-41
26
-29
9
-16
30
-50
22
-43
107
-42
0
0
0
0
0
0
0
0
0
0
0
1
5
-2
0
-15
-6
-12
-28
12
0
-11
-10
3
-12
-29
-17
16
6
-14
-13
-19
8
28
-3
-14
-10
15
-33
6
-16
8
-12
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
6
3
-31
0
2
-10
-4
7
1
4
-6
-8
-20
-5
-59
-5
42
20
0
-2
-2
-10
-22
2
0
0
0
0
0
-2
13
-1
-5
-5
6
-14
6
-21
0
-24
-15
5
-31
6
-7
22
-23
-6
4
25
-49
-22
41
-5
3
-53
-52
29
6
-3
43
21
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-15
14
0
-6
-8
0
-2
0
-2
23
2
-2
0
-12
-30
14
0
0
-19
1
-1
11
0
-14
39
16
-26
0
6
-15
-49
-33
0
0
0
0
0
0
0
0
0
0
0
-2
1
-9
-2
0
-11
20
-26
-3
0
-5
-2
23
-8
0
-41
22
-10
32
0
-7
14
-16
-12
0
39
-19
19
-62
0
-14
-48
33
22
0
0
0
-2
0
0
-3
1
-2
-1
0
-1
0
-30
-3
0
-7
-13
9
8
0
-9
35
2
-14
0
13
12
3
-2
0
-6
22
25
0
0
28
-43
7
-3
0
0
-5
15
-27
0
0
0
1
0
0
-2
1
-23
0
0
2
0
-5
-3
0
-1
27
-6
-7
0
-16
26
6
-9
0
-58
7
12
8
0
-1
-17
31
4
0
13
-28
-32
-32
0
0
0
0
0
0
10
2
-8
-3
0
15
2
5
-2
0
-17
-18
26
2
0
-3
2
9
-15
0
-35
-9
-18
-7
0
-41
-36
28
-39
0
31
37
-11
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
27
0
11
0
0
-13
26
-3
0
0
-29
23
-21
0
0
-16
-4
-25
0
0
-11
-13
50
0
0
-14
-9
-5
0
0
0
0
0
0
0
0
-16
-10
0
0
18
-8
-2
0
0
-55
-9
5
0
0
3
-7
13
0
0
-14
-21
4
0
0
-3
44
-13
0
0
36
25
-19
0
0
22
-7
29
0
0
0
0
5
0
0
-13
-28
-4
0
0
1
26
-5
0
0
45
-20
13
0
0
-26
28
13
0
0
-18
93
2
0
0
-31
1
-41
0
0
-26
-13
-29
0
0
8
-6
32
0
0
8
8
3
0
0
-25
21
-5
0
0
-22
-13
-14
0
0
7
-1
8
0
0
-28
-2
-26
0
0
-9
0
9
0
0
28
13
0
0
0
-41
13
10
0
0
0
0
0
0
0
-1
2
0
0
0
32
0
-2
0
0
-26
-13
7
0
0
13
0
-19
0
0
-1
16
-14
0
0
-13
-4
12
0
0
21
43
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
7
53
0
-32
-34
-22
-11
-4
23
20
-25
-1
1
22
6
25
-102
-2
-13
5
-19
8
48
-27
-16
18
16
-33
94
0
25
-2
-23
0
0
0
0
0
-9
0
4
-9
1
8
20
-13
-2
1
-32
-25
-14
6
19
11
-43
3
14
24
11
41
-10
22
-21
26
-38
13
-38
-7
-22
22
4
6
-22
6
39
2
19
-7
0
-1
-1
-4
0
14
-1
-7
16
-2
6
-10
-6
21
-2
13
43
-15
9
0
41
-1
-31
6
8
23
41
-58
-35
-14
16
58
42
34
25
22
0
48
-47
-13
-10
17
-3
13
-6
-1
-5
3
8
0
3
-17
-6
-9
2
14
-39
-4
17
-5
-28
-2
28
-41
7
-16
-27
7
-3
22
-19
-14
19
-1
-42
43
91
-9
-27
-34
72
21
-41
30
3
0
0
0
0
0
-3
-2
2
0
0
4
10
0
4
5
-13
-4
26
-5
12
4
-55
14
0
-1
-3
14
-13
-31
40
-19
-7
-19
20
0
4
-31
21
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
-8
-18
-3
-9
-45
30
-10
-17
-39
-6
-29
0
6
13
11
-2
-23
-61
-17
-27
15
-20
17
-21
-18
41
-10
47
-20
67
0
48
20
0
0
0
0
0
-19
7
-1
7
4
-35
-7
29
-10
-13
-36
7
-12
1
1
-2
5
-11
12
-18
-23
-50
10
-44
-9
-1
-31
5
10
-2
-31
-15
51
-27
4
-5
13
24
21
32
1
-5
-2
-8
-4
-18
-17
9
-5
2
-28
2
-5
6
-4
-11
-18
8
-14
5
20
9
-31
-16
-19
27
9
-41
-11
-16
24
6
-9
-21
-8
13
-34
20
6
29
-10
-36
-11
38
-37
-3
2
-20
-10
-4
-40
7
9
22
14
-9
-8
48
-5
-4
-47
46
-26
36
12
7
-8
28
-6
33
18
-21
-5
0
12
-13
24
24
-52
8
-1
-43
14
7
-22
0
0
0
0
0
0
-12
1
-5
0
-6
-12
-5
8
2
23
18
19
-4
1
-4
-33
-26
-17
15
22
4
-4
-47
-19
10
-31
4
46
-10
-40
35
-6
28
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
1
21
2
-7
3
30
-8
1
51
-46
23
-32
2
13
68
-29
-7
5
-13
42
-24
-4
12
-49
-23
-15
7
-49
22
-15
98
-49
37
0
0
0
0
0
-8
-12
-10
-13
2
-2
-23
-17
-27
-7
31
-42
32
-14
22
-4
-14
-5
8
-16
22
46
-13
-73
-48
76
-39
-1
21
6
-27
-13
16
-18
-13
-91
-15
25
13
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-3
-9
-7
-8
-5
-18
8
2
-3
-6
3
13
-5
1
7
-41
-5
5
22
-24
9
-25
-14
-22
4
-42
24
-5
-5
10
-22
-27
45
16
10
-26
10
-9
0
0
0
0
0
0
-8
-2
2
0
-8
4
5
-6
-1
-2
10
3
-10
-5
8
7
-19
-3
-6
-3
31
-30
-3
18
-16
7
-65
12
-7
22
5
34
9
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-6
-4
0
3
20
5
-25
0
-34
-6
-10
0
0
-33
-6
9
-40
0
75
28
6
-34
0
-18
-18
9
49
0
-51
2
12
-5
0
0
0
0
0
0
0
-12
-13
1
0
-9
-8
-21
-3
0
-6
-23
7
48
0
-34
31
-27
-24
0
-19
11
5
0
0
12
10
13
-13
0
23
-49
-25
11
0
-23
3
2
-8
0
0
0
4
0
0
-4
-22
10
-14
0
-8
-20
-4
1
0
27
5
12
-24
0
-43
-11
10
26
0
-13
-6
-60
13
0
-3
32
1
-4
0
33
-13
-21
-27
0
23
15
33
29
0
5
-6
-14
5
0
6
-32
13
-30
0
1
-1
7
-3
0
28
-42
-13
-18
0
-50
-30
4
20
0
1
-25
-44
-9
0
-5
5
-6
-9
0
-34
-39
21
6
0
0
0
0
0
0
1
0
1
0
0
1
1
-12
-1
0
-4
5
-6
-13
0
45
-31
-11
-11
0
-27
-16
-19
25
0
-14
-4
36
-2
0
12
18
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-4
0
0
-7
13
6
0
0
5
-25
22
0
0
8
-8
-5
0
0
-4
42
13
0
0
22
-13
-34
0
0
16
54
-2
0
0
0
0
0
0
0
0
7
0
0
0
-10
-9
-5
0
0
13
-3
-3
0
0
13
16
7
0
0
-3
-72
3
0
0
-2
17
-4
0
0
5
14
-25
0
0
14
23
33
0
0
0
0
5
0
0
0
5
0
0
0
-7
-8
-7
0
0
-18
26
-41
0
0
19
-26
7
0
0
4
13
-38
0
0
-25
-29
-8
0
0
-13
-13
-4
0
0
-8
-17
-8
0
0
-1
3
0
0
0
2
29
-1
0
0
6
-5
-2
0
0
3
-13
-48
0
0
-25
5
17
0
0
-5
-13
-19
0
0
-22
-32
1
0
0
-4
12
15
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
-4
7
-2
0
0
4
-9
7
0
0
-15
-9
20
0
0
-13
-1
-19
0
0
1
12
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
8
-43
9
0
-16
-41
3
2
1
-1
22
-3
-3
-2
34
-45
-32
19
-5
-14
-36
49
-11
-31
19
39
-10
0
41
0
0
0
0
0
-2
1
0
0
0
-3
2
12
-8
0
-18
-14
18
-22
-3
-9
15
3
5
5
38
3
-14
0
1
53
29
-39
-2
7
38
-8
41
-66
-7
13
79
-30
-12
13
0
0
0
0
0
-7
-3
0
-2
0
-2
4
-2
0
0
6
-19
-9
3
0
-23
-33
-1
7
5
-34
-49
-13
9
18
46
10
13
27
-13
90
9
-6
-8
-1
56
0
10
-18
-7
1
0
0
0
0
-2
0
0
-3
0
-2
0
3
-4
1
16
-35
-7
-15
1
-20
10
5
-12
1
-7
13
-54
-2
-7
33
-4
2
22
5
22
-31
45
7
-14
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-2
1
-2
-1
0
0
1
4
-2
-5
0
-11
17
-5
18
0
22
-3
2
-2
-3
8
25
-8
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
-5
-8
4
-8
-7
-4
15
14
15
9
-33
29
-6
-4
23
20
-48
-10
16
9
-5
81
-65
6
-18
31
-46
22
13
9
0
0
0
0
0
-3
12
-1
-3
2
9
-5
13
-41
0
16
-31
13
-3
-26
79
-9
32
-13
30
8
68
-44
13
-3
-15
-66
24
23
31
-4
-24
-54
-26
17
-18
3
12
33
-52
-1
1
0
0
1
12
7
3
17
0
-5
17
-1
-40
-1
5
-23
-22
-34
-20
-19
-6
-11
-15
-5
-27
-77
-24
-43
5
-11
23
-8
23
8
27
40
58
-65
-29
-22
22
-47
41
-9
-3
-9
29
-8
-7
24
-9
-2
-11
-4
4
-27
-40
-4
1
-20
-3
-3
21
-26
13
0
-4
-8
10
-17
-11
16
-47
-3
33
6
16
47
-22
-22
-6
36
21
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
3
1
-13
0
0
0
25
-2
-7
-31
8
-13
30
20
12
-10
-11
4
-18
-15
-13
45
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-7
0
-30
2
2
6
20
-29
31
-25
-3
-64
-5
-40
-5
-2
31
9
10
32
-7
15
31
-24
13
15
29
25
-2
-43
0
0
0
0
0
0
3
-1
0
0
2
-10
-2
23
8
-11
7
26
5
-22
-4
-3
21
-10
-14
-31
-5
-9
-13
-8
-21
6
9
-5
1
16
0
3
6
-14
-3
7
25
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-2
2
1
-5
-9
8
0
12
8
-9
-7
-6
-9
-23
1
4
-3
-16
5
-34
55
9
-8
-23
2
17
10
13
47
-34
-1
-19
-14
-12
43
-70
16
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
-3
0
-5
8
-3
-22
2
18
-7
-25
12
-13
14
-12
1
26
-34
-1
-6
-5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
-7
29
-7
0
-3
-4
8
-3
0
23
1
-13
-10
0
7
31
-11
-16
0
-1
15
-35
-29
0
-9
5
31
-26
0
0
0
0
0
0
0
0
4
1
0
3
-15
-2
16
0
-5
12
-1
8
0
-3
-36
-22
-32
0
24
-7
-40
-32
0
-22
-5
-1
42
0
-26
-3
47
-9
0
5
29
23
12
0
0
0
0
0
0
16
7
-23
-5
0
5
4
16
18
0
-10
32
-13
-31
0
10
-9
-13
41
0
5
5
41
-3
0
15
-16
4
3
0
3
23
-31
-9
0
-8
9
17
42
0
-15
-3
-5
5
0
-2
5
-3
-3
0
1
-9
6
10
0
14
-13
-26
-18
0
6
10
15
-14
0
20
32
25
14
0
-28
24
-39
5
0
-24
-45
21
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
-4
0
0
0
9
-31
-1
-15
0
0
-1
-8
-8
0
0
-3
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
2
0
0
4
6
5
0
0
0
17
5
0
0
42
31
20
0
0
6
-8
-1
0
0
2
16
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-1
0
0
1
-3
1
0
0
-12
-5
-2
0
0
-39
9
-23
0
0
-12
-7
-6
0
0
58
-23
7
0
0
1
44
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-14
20
-4
0
0
-4
1
-27
0
0
3
2
4
0
0
13
-43
-5
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
8
0
0
9
22
-2
0
0
9
13
4
0
0
-5
-13
0
0
0
-1
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
2
1
0
0
-1
-4
-9
0
0
-2
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
4
1
0
0
-8
3
-7
0
-18
21
41
-7
8
9
21
-17
-5
0
16
-12
-16
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
3
0
9
-12
17
-6
-5
2
-19
0
-5
0
51
40
-51
-9
-6
21
21
2
-20
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
-4
-3
0
5
6
9
1
9
-31
6
-9
8
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
42
0
-7
0
-9
14
-5
-5
9
0
-3
-12
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
2
0
0
0
0
0
-1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
-3
1
-4
-12
-31
0
0
18
24
-8
-25
-8
9
9
-19
-10
5
2
14
51
21
-8
0
0
0
0
0
1
0
0
0
0
-6
-4
-3
8
-1
-1
9
34
-1
-4
28
23
3
9
3
-17
-53
23
21
-6
25
13
-91
0
8
-34
51
-43
-33
-37
31
13
54
-24
31
0
-2
0
0
0
6
0
0
0
-2
-7
-4
-6
8
0
4
-14
10
-14
-8
-32
18
10
1
5
-57
8
30
41
-18
-9
40
-29
-3
15
36
11
-33
-24
5
8
17
49
13
0
0
0
-1
1
0
5
-2
0
0
0
0
-2
0
1
0
13
-20
-1
3
-7
-41
-24
3
39
13
13
-18
-11
5
-10
26
31
31
6
-14
-2
57
32
-31
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
2
0
0
0
-3
1
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
-6
-9
5
-1
6
-2
1
-3
-4
10
-3
22
0
7
0
9
23
-6
16
-14
24
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
3
6
-16
1
5
-2
-4
16
-2
13
-6
-1
-47
31
-25
-17
6
6
-30
22
-16
3
30
21
-43
48
4
80
3
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
2
0
0
-1
2
-1
-17
-14
7
-1
21
16
8
4
12
6
-4
38
-8
-9
-13
10
0
8
-4
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
2
0
1
0
0
2
0
-1
-7
27
4
0
12
42
-24
-10
0
7
-8
-50
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
8
1
0
2
6
-3
-23
0
6
5
3
6
0
-8
-22
-15
10
0
14
-9
-3
-13
0
8
-7
-3
-1
0
-16
5
11
-46
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
-5
7
0
-3
10
-34
2
0
-8
1
-8
-5
0
2
-6
49
1
0
-18
-25
-37
19
0
0
0
-42
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
-4
18
5
9
0
15
-1
0
1
0
-18
3
7
-23
0
-31
13
5
-5
0
0
0
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
0
-8
-16
0
0
0
13
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-14
4
0
0
-12
1
-24
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-6
4
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
16
2
-3
-1
-9
31
5
10
-3
-6
7
-14
20
-8
-2
-32
-60
31
-22
-2
5
53
-25
20
5
-30
-4
-7
-34
-3
50
-15
21
-20
0
0
0
0
0
0
2
0
10
1
0
3
-5
-6
-2
22
5
-11
-12
1
-15
-18
13
22
0
-7
1
-25
2
-8
31
-40
-13
-47
1
-34
8
-27
17
-13
22
15
-5
31
17
0
0
1
0
0
1
1
0
0
0
-9
-10
-4
-1
0
-35
-8
2
17
-5
-49
-25
-4
39
8
19
-41
-8
-2
8
24
-7
12
31
6
9
83
4
-25
-15
-30
10
-6
-35
-23
0
1
0
0
0
1
0
0
-2
-3
0
5
-2
-6
0
6
2
0
-5
-32
-8
-8
-5
5
37
-49
17
-13
28
-14
-4
-16
48
7
44
-10
-11
-20
-30
3
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
-5
-17
8
-7
0
8
4
-27
-21
9
2
-11
2
48
-3
-3
10
5
-12
5
-14
8
-10
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
-4
-8
3
-17
-2
-26
15
9
-16
15
23
20
9
-29
16
9
-43
-14
20
37
-8
53
6
0
13
-22
-48
-5
14
-8
33
44
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
2
0
-4
0
2
-4
-7
8
1
20
9
9
-4
5
-1
14
-22
16
10
4
-14
-5
-13
3
4
-13
-17
-5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
17
21
-2
35
-13
23
-8
-28
-9
7
24
27
6
44
-75
-24
-1
-29
19
44
-18
-48
22
-13
-14
30
-13
3
11
-4
-1
11
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
-5
1
-13
-48
-19
-5
5
-10
-27
-5
-16
-13
9
-11
-28
-27
-5
21
-29
2
13
9
-11
31
-2
-17
-14
-3
-14
-4
-5
-5
13
37
-6
-20
-19
-2
29
20
-7
20
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
-1
-1
0
-1
0
10
-1
5
-2
-12
-7
25
-18
-31
-21
12
-15
14
29
7
-2
18
-3
-7
7
-12
4
-17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-4
1
0
6
-28
18
5
0
9
-2
-32
-46
0
16
-19
-21
22
0
-13
30
20
3
0
-13
-1
-17
-61
0
4
13
-21
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-4
-1
5
1
0
39
-13
-12
-31
0
2
43
-8
-19
0
-44
7
12
-34
0
-9
2
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-1
0
0
0
0
-2
-3
-2
0
0
3
37
-4
0
0
7
21
9
0
0
57
-4
36
0
0
-41
-42
0
0
0
0
0
0
0
0
9
1
0
0
0
2
-2
1
0
0
8
-5
-3
0
0
3
0
-35
0
0
21
-1
-5
0
0
59
-21
23
0
0
7
-13
10
0
0
-43
42
-16
0
0
2
0
0
0
0
0
0
0
0
0
1
3
0
0
0
-9
-5
34
0
0
7
22
10
0
0
27
-20
-16
0
0
-4
-13
-26
0
0
-14
48
-27
0
0
9
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
-7
20
-2
0
0
24
-7
17
0
0
5
-19
-16
0
0
-43
-6
-3
0
0
-6
-19
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
10
0
0
0
13
-12
6
0
0
-24
-12
16
0
0
-14
2
-6
0
0
-2
-19
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
8
-5
-12
-2
0
-8
5
49
-7
5
-41
24
14
-3
5
42
-44
-16
-51
-18
-39
13
-36
8
8
105
-74
13
2
9
0
0
0
0
0
0
-1
-1
3
0
6
7
0
0
1
-2
-10
-12
27
1
13
20
-8
15
7
-9
-6
-2
-26
13
-8
-9
31
34
8
25
-14
-41
-65
-49
-6
9
9
13
-8
0
0
0
0
0
0
0
-1
1
0
3
-2
3
1
0
25
8
14
6
3
7
-11
5
2
8
-75
31
9
0
-9
-2
78
-45
-32
18
21
65
-13
-6
26
18
-6
-13
-12
-9
0
0
-1
0
0
-1
-1
0
0
0
1
6
1
1
0
4
10
2
5
37
1
-43
3
11
-16
50
-5
8
-49
0
-21
12
-14
7
6
51
19
-36
-19
5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
-3
-1
-13
9
-9
7
2
27
2
-10
4
15
-5
13
15
1
-25
28
-16
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
0
8
9
13
14
2
-2
-32
37
-31
-3
5
4
-13
-27
13
11
-21
-38
2
-1
13
-18
11
15
-9
18
12
1
36
-21
0
0
0
0
0
-4
-2
0
0
-1
0
-1
-4
9
-3
-5
-41
-6
2
-2
34
26
13
-32
-13
-13
12
-45
0
-10
-7
-4
21
-12
-31
-12
8
-31
34
-14
63
-6
22
-9
44
0
0
-1
0
0
5
0
1
-5
0
19
5
0
-25
-8
-8
-23
8
-12
-14
4
-32
-41
5
-5
32
3
19
22
18
-9
20
18
-26
-5
33
11
2
31
-26
7
26
17
21
49
0
1
0
1
0
-1
0
0
1
0
1
1
4
5
0
4
-3
-4
-4
0
7
13
14
-1
-10
-31
-54
-22
16
13
67
9
7
-4
15
28
26
48
-4
-16
0
0
0
0
0
0
1
0
0
0
2
2
0
0
0
-1
2
4
0
-2
-7
-18
23
17
-8
-31
23
5
-8
13
41
-31
-49
28
9
17
-19
6
-20
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-4
0
9
0
13
14
-33
5
2
-9
36
11
-3
6
-5
2
7
16
-7
37
5
5
0
1
-5
10
-24
2
-26
-41
23
6
-50
44
0
0
0
0
0
-15
-1
2
-1
1
-1
-3
-8
3
0
49
5
-1
-25
-34
53
31
-4
34
12
-17
-12
-1
-3
0
-19
45
-11
5
-48
-51
6
-24
-26
30
70
-5
-54
1
-1
-5
27
15
-28
8
28
18
-9
-22
23
37
32
-2
-5
-29
5
27
30
-17
-31
-32
4
-24
25
19
-13
16
18
-20
-7
11
-6
6
-1
-13
26
-21
4
21
-33
-22
-49
25
-43
32
-2
1
1
0
0
0
16
5
2
0
-1
0
-3
6
1
-7
7
7
11
31
32
-9
-8
-20
28
-31
-6
4
-33
4
27
16
-3
-7
44
-24
5
9
13
-23
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
2
-5
0
-13
0
-1
-24
-4
6
0
-14
31
28
-12
-11
-5
8
-31
27
-12
1
14
23
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
7
-1
0
4
9
-16
-1
0
18
-16
14
15
0
-5
-23
-25
0
0
40
12
13
32
0
12
33
27
6
0
-13
-51
10
-22
0
0
0
0
0
0
0
-3
-1
0
0
2
0
5
1
0
2
6
-12
-2
0
5
15
12
-5
0
6
-2
-5
-27
0
20
27
29
-30
0
-8
-30
-2
5
0
9
23
-42
22
0
0
0
1
0
0
-1
0
4
0
0
0
-4
-3
0
0
31
-19
2
9
0
19
21
-5
-3
0
6
-2
-8
-49
0
14
-11
-17
-13
0
-42
42
30
-12
0
-10
-10
18
30
0
0
0
0
0
0
0
0
2
1
0
1
-7
0
0
0
-6
-14
13
-1
0
58
32
13
-1
0
-13
2
-30
-37
0
39
8
-25
0
0
-5
-14
44
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-5
0
0
-44
2
-13
12
0
4
2
18
-27
0
8
-7
9
7
0
0
-4
37
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
-6
0
0
0
-6
1
5
0
0
-1
-3
-13
0
0
40
-7
17
0
0
-1
16
-7
0
0
27
28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
3
8
-1
0
0
2
-2
-6
0
0
-49
9
-4
0
0
5
-21
-3
0
0
28
22
-29
0
0
5
36
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-5
-3
0
0
8
-4
3
0
0
-2
4
17
0
0
5
15
-3
0
0
-28
-13
-5
0
0
49
-30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-18
0
0
0
23
18
-15
0
0
0
-1
-10
0
0
-9
24
6
0
0
-5
31
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
5
-5
0
0
-37
24
5
0
0
-20
1
-13
0
0
24
46
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-5
-6
2
1
0
8
-9
-6
-5
1
0
-17
17
21
-5
95
24
-58
13
25
-52
-2
-3
17
21
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
3
0
1
0
0
0
10
-1
0
0
9
-21
-19
8
1
15
39
52
13
-12
-25
23
0
16
37
-18
3
-8
20
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
-25
12
-12
3
5
-50
-5
5
4
-14
2
44
8
-2
15
19
6
-3
3
25
-16
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
0
4
0
4
-20
-7
10
2
-10
-8
-15
15
9
-2
-22
2
45
9
-41
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
1
7
2
-1
9
-13
3
8
1
-1
13
-18
-8
0
-3
-30
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
7
-4
-5
0
0
3
31
2
10
4
-8
4
9
17
3
6
47
-10
13
-21
-24
0
-6
21
23
3
37
43
-14
-15
0
0
0
0
0
0
0
0
0
0
4
-8
0
20
0
18
5
5
7
31
-5
-13
-8
13
8
-37
8
34
5
-24
-5
-17
-50
-8
0
18
-2
15
27
-6
21
40
66
-4
13
0
0
-1
0
0
0
-1
0
0
0
29
-8
5
8
1
7
-17
9
9
-15
-18
46
3
-7
5
15
8
-52
-13
9
16
12
-33
36
-21
-19
-4
32
8
18
69
6
11
0
1
0
-2
0
0
0
-1
0
-1
0
2
0
-12
-1
-2
0
13
-13
18
0
5
8
7
-15
-21
9
-11
-11
-19
-13
-20
51
-12
7
7
0
-7
92
-32
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-3
13
2
-1
-7
7
1
-6
2
3
30
-1
-15
2
-2
-18
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-4
-12
0
0
8
12
10
-12
-2
-6
2
8
-31
8
18
13
-5
18
5
19
-66
23
29
14
26
5
-5
6
-19
0
0
0
0
0
2
1
0
0
0
-1
8
-1
29
0
-23
-5
-19
5
13
25
-3
-3
0
-18
8
-22
-1
35
-23
-4
22
-13
-4
9
25
5
-44
7
14
5
9
57
9
-20
0
-4
1
16
-6
5
8
23
7
0
-2
-5
-8
13
18
5
-8
4
39
5
63
-15
-7
-30
20
16
-37
-48
31
-1
-16
18
17
19
-18
-123
63
77
-21
17
4
-6
-7
10
-24
0
-1
0
0
0
1
-1
0
-1
-1
0
-2
0
-13
1
-1
-24
26
-4
-1
4
-42
5
0
4
-31
50
-13
57
-23
34
39
42
-42
-2
-19
-5
10
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-5
0
24
-14
-10
21
3
-6
-8
5
-7
3
13
30
-12
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
1
0
6
-8
-12
-12
0
-17
-5
-5
8
0
11
-36
19
48
0
-10
26
-27
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-14
-7
18
5
0
-5
-5
-3
-6
0
-23
-6
-8
-41
0
15
-16
-5
1
0
-38
3
-41
31
0
-14
43
-18
8
0
0
0
0
0
0
0
0
2
0
0
3
-1
1
0
0
-8
0
-12
8
0
-30
2
-21
8
0
-6
-4
-61
13
0
-2
3
-1
-19
0
-10
25
-18
-28
0
23
1
41
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-12
23
-18
-1
0
5
-41
45
10
0
-17
-8
-34
-23
0
-13
3
17
-13
0
-3
16
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-1
0
-4
0
13
0
0
-8
-4
-9
0
0
-6
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
2
0
0
3
-2
3
0
0
-29
2
-5
0
0
-15
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
10
0
0
-15
-41
4
0
0
-35
12
-24
0
0
-16
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
0
0
0
-13
-10
17
0
0
21
-10
-10
0
0
-12
8
-2
0
0
-1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-6
3
0
0
0
3
-10
5
0
0
-17
-6
5
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
2
-5
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
2
0
-13
-19
16
-2
0
16
15
1
-16
-2
-8
2
4
3
22
8
-42
20
21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
-13
6
8
-31
0
-14
30
2
-4
-13
-1
-11
21
-21
13
-25
-1
35
15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
-1
0
-2
-1
-5
-17
19
-7
-5
-41
-20
7
22
0
-5
16
-16
23
6
-48
3
-8
22
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
0
0
-28
10
0
1
5
57
-7
21
-2
4
4
3
7
10
-28
-42
18
-7
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
5
0
1
0
2
1
-13
9
0
8
-2
1
20
2
-9
0
6
-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
-1
5
4
5
-10
0
-25
1
7
-5
4
8
-31
16
-1
-5
6
-17
22
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
-2
-2
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-8
0
3
3
-10
5
-5
3
-8
3
2
4
20
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
3
1
-2
4
4
-10
20
-3
-7
-2
13
-1
8
5
-7
-1
22
-10
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
1
0
0
0
5
0
6
1
0
7
3
-4
2
4
13
0
-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
-1
1
-5
-1
0
2
-12
0
-1
0
8
-23
5
-6
0
6
-6
-29
35
0
5
-29
23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
-3
7
3
0
-1
1
8
-2
0
14
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
-2
2
-3
0
0
-1
9
9
0
0
1
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-5
-5
0
0
-6
24
-8
0
0
-8
5
6
0
0
0
13
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
-5
-5
0
0
0
2
1
0
0
0
0
1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
3
6
0
0
4
-45
3
0
0
7
0
-3
0
0
7
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
14
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
2
0
0
8
6
15
-6
2
-14
11
10
-24
-6
-6
37
-16
50
-12
-14
-27
-37
33
-11
29
-26
-22
9
35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
8
1
1
12
-10
21
0
-14
30
-25
-2
3
-8
-48
17
5
-2
24
-19
12
22
1
-9
39
7
8
5
-2
0
0
0
0
0
0
-2
1
0
0
2
-2
0
-1
0
-10
3
-2
-2
-1
-1
-1
4
-15
-15
-9
25
-8
-5
11
68
10
2
-13
-9
-13
0
9
19
-6
-35
5
56
49
18
0
0
0
0
0
0
-1
0
0
0
1
0
1
-5
0
-21
26
5
-10
1
-21
27
-12
-9
-4
1
-7
0
-33
2
18
24
0
13
-22
35
-8
-41
9
13
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
9
-2
-6
-8
1
58
-11
-17
-8
17
-28
-17
10
17
-13
5
-15
9
-4
9
23
42
1
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
1
-1
-2
-7
18
14
0
24
-26
-25
-34
23
36
32
20
-1
-26
-31
-3
-43
5
27
34
-62
-27
-36
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-20
6
0
0
0
-15
8
15
-32
0
-33
-2
0
18
3
-17
-94
5
23
13
-66
-64
-12
34
9
0
0
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
10
-1
6
0
-13
5
-5
-2
-6
-27
-5
8
32
-2
-67
-128
-4
12
20
-85
24
42
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
1
-1
-9
2
-1
-32
-5
2
-22
3
-9
8
13
-8
2
-13
-11
34
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
-2
4
0
2
-5
-4
6
-3
-35
-13
-10
-24
21
14
41
27
-21
-14
10
49
11
18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
-17
-6
-1
-25
4
-46
-11
-5
-34
21
15
-6
8
43
-7
-9
37
-12
-4
-49
3
3
11
29
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
5
4
0
0
1
-44
-17
5
13
3
-14
9
-17
-3
10
-3
-84
33
-1
18
-25
-43
2
-6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
1
0
-3
-13
9
1
-13
-8
-20
5
13
0
17
-28
3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
3
-1
2
1
-4
-11
-6
26
4
18
5
16
19
-10
-34
-3
17
-22
7
-4
13
-15
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
12
-2
2
0
-7
-3
-16
2
0
-26
5
13
-21
0
-9
-12
36
-7
0
-46
10
-10
35
0
75
18
2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
-1
0
0
0
6
5
12
0
10
-5
-5
2
0
-1
41
4
-3
0
0
-35
16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-29
-2
25
-1
0
0
6
2
14
0
0
6
-21
-5
0
0
24
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
8
1
0
-1
-13
6
13
0
0
-7
0
-1
0
7
0
-1
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
18
-1
0
-5
7
-1
14
0
27
5
-1
7
0
14
11
-20
5
0
-8
-34
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
20
-5
7
0
0
-25
0
13
0
0
12
-9
-1
0
0
13
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
0
-5
0
5
0
0
-7
-15
12
0
0
25
19
19
0
0
8
-53
-23
0
0
31
46
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-12
0
0
0
-2
1
0
0
-5
5
-45
0
0
-36
-10
7
0
0
2
-44
21
0
0
1
-51
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
2
0
0
20
8
-18
0
0
9
4
-18
0
0
3
11
8
0
0
7
-39
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
-2
0
0
-8
-21
-16
0
0
-10
8
-2
0
0
-5
-18
-4
0
0
-21
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
5
2
21
41
16
-3
0
-16
-27
-31
15
-7
9
-29
-13
-14
2
-23
-1
31
-13
10
47
-4
62
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
10
10
0
0
10
5
3
-31
-3
8
-34
5
-23
-4
22
0
-4
-4
3
18
23
24
-28
32
42
-12
47
5
-21
0
0
0
0
0
0
0
-1
0
0
1
-1
0
-2
0
-6
6
5
2
-1
15
0
8
7
-6
-2
-44
25
-22
-4
27
28
-46
19
-5
3
17
28
-23
1
18
30
7
35
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
6
-18
22
-6
4
-4
13
-8
-8
-21
-22
14
18
5
9
-4
20
-9
14
38
54
5
-13
-15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
2
-1
0
-9
5
-22
21
-3
3
5
29
6
4
-12
3
30
-5
-24
1
17
-1
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-8
-4
5
7
-1
8
3
9
-16
-70
3
9
12
25
50
9
25
-14
1
-22
13
13
8
0
9
14
-7
24
0
0
0
0
0
-1
0
0
0
0
-2
14
-3
-7
1
6
-17
-5
13
-4
-7
-5
-2
1
0
-14
-37
25
-10
37
63
48
28
23
-7
-47
-63
50
-12
-2
-102
3
-87
1
-21
0
0
1
0
0
8
-2
-3
2
0
-8
-12
-1
-1
0
39
4
17
-4
-5
11
-13
13
38
-5
-5
2
-13
0
24
-3
-6
10
-28
78
-84
-14
-9
39
6
-27
-57
27
-31
-31
0
0
0
0
0
2
-3
1
-1
0
1
5
-5
-5
-1
21
-32
47
8
-5
17
-4
24
51
16
-35
-20
-44
-16
-6
-37
43
-31
-5
2
13
-14
-10
10
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-4
0
-3
-1
-3
7
-5
-8
0
22
18
16
11
2
-15
-58
14
3
-19
29
17
12
-15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
24
9
21
42
-3
31
18
-49
10
-8
48
24
5
-32
-6
-28
-31
4
-1
1
-22
-20
9
-16
13
0
0
0
0
0
0
0
0
1
0
3
4
1
-3
-4
-44
-7
-25
-5
29
-42
-9
0
-17
13
-51
33
-10
40
-6
26
-39
20
11
17
-50
4
28
12
-4
20
11
13
-13
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-2
0
-4
0
1
4
-1
9
0
3
-28
-20
7
4
-33
49
-20
43
1
4
-6
6
-28
-41
15
-35
1
32
-13
0
11
-32
-26
16
0
0
0
0
0
0
0
1
0
0
1
0
0
-2
0
0
1
0
0
-1
1
4
-4
-4
5
13
-33
27
-4
10
6
-18
-8
-17
2
-49
-25
15
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
1
0
1
-6
14
-6
0
-16
32
15
-8
0
-13
40
-31
9
0
38
-42
-22
-28
0
-17
2
46
62
0
0
0
0
0
0
0
0
-1
-1
0
-2
0
-2
1
0
10
43
1
-17
0
-14
21
-16
-1
0
25
-51
-13
-2
0
-39
26
-7
14
0
-42
43
-20
24
0
8
22
91
-9
0
0
0
0
0
0
0
0
-1
-1
0
1
-5
-8
0
0
-3
-18
5
-39
0
15
-47
-45
8
0
16
-23
-46
-22
0
-67
45
56
43
0
60
-22
-15
-5
0
24
9
-5
49
0
0
0
-3
0
0
0
0
1
0
0
0
1
-5
1
0
-6
-14
-8
2
0
-6
-5
-46
1
0
14
-8
41
17
0
9
5
25
-15
0
-10
39
-19
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
6
22
17
4
0
18
-4
-14
7
0
-18
-42
-10
6
0
-15
13
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
2
-8
0
0
31
-3
-10
0
0
3
27
5
0
0
-46
-5
-46
0
0
5
-13
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
5
8
0
0
32
-12
6
0
0
-44
14
9
0
0
-56
-17
-10
0
0
26
-20
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
-6
19
0
0
0
5
-8
6
0
0
-11
5
1
0
0
-6
-25
-6
0
0
-8
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
-1
0
0
-10
12
-4
0
0
-16
-27
9
0
0
12
6
-19
0
0
13
-58
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-11
0
-2
0
0
11
-19
12
0
0
-16
-3
8
0
0
-9
-18
-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
2
0
0
1
0
-1
14
6
-2
0
-23
17
27
-1
0
28
43
-50
-8
-1
27
1
43
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
-5
-15
8
-16
0
29
-10
3
8
2
20
40
-22
3
-30
8
-5
-30
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
-3
3
-1
0
21
8
1
-7
0
-42
7
16
1
24
8
-18
-8
-7
0
5
30
-8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-1
2
0
-28
-5
6
-3
4
-7
-23
6
8
0
-2
48
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-1
0
0
20
-4
-1
-3
0
0
-4
-2
0
0
-7
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
4
-3
1
0
-1
-16
-8
4
0
-6
-18
-6
2
4
26
66
30
-27
-17
-13
-6
-16
66
-35
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-15
-1
14
7
-2
-5
9
-19
15
-5
-11
-13
-30
-34
-28
-1
-20
8
10
22
-19
-17
-42
71
-13
71
47
68
-19
-6
0
0
0
0
0
6
-2
0
0
0
6
10
0
7
-1
-5
1
-5
0
1
-5
-31
-5
0
6
-21
-43
-7
10
-9
59
-11
38
18
-13
21
10
-32
-17
-10
41
69
48
-9
-6
0
0
1
0
0
-2
0
0
0
-1
1
2
6
0
0
-19
2
7
0
-8
-41
24
-2
23
-2
70
1
5
-4
8
5
-17
22
16
-6
3
36
-31
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-17
2
-3
0
-1
-10
0
-1
-1
-2
12
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
1
0
-10
1
0
0
-8
0
6
0
1
-16
4
-3
10
-9
32
-43
19
-8
51
48
-13
-20
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
-5
0
-18
-6
-31
16
-21
-39
-13
54
-7
14
-44
-19
18
1
9
21
14
7
43
12
1
-7
-40
-19
-34
39
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
0
0
0
-1
2
7
-7
7
5
-4
-15
8
1
19
-14
45
-29
25
-41
-12
15
29
-37
-3
-3
-9
27
-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
-5
-1
5
1
0
0
0
3
-2
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
4
0
12
-3
0
21
18
-1
1
0
-21
-58
-3
6
0
12
13
29
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
-34
-9
-3
0
-9
-12
10
-9
0
50
25
15
17
0
-1
2
12
-18
0
-5
-5
15
-9
0
-36
-17
-45
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
15
6
0
-19
-2
25
18
0
6
-5
49
5
0
7
-15
-4
-23
0
12
7
-23
-1
0
16
-40
-17
-25
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
-7
-12
8
0
0
-7
-1
-44
-9
0
-16
-52
-44
25
0
22
-13
-5
5
0
-6
39
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-2
1
0
0
0
0
3
-3
0
0
-2
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
15
-16
0
0
0
24
-2
12
0
0
-59
20
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
3
0
0
0
-9
12
-2
0
0
-7
-33
15
0
0
-3
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
1
0
0
0
6
3
-12
0
0
0
-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
2
0
0
0
0
3
-1
-12
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
3
-33
3
0
0
0
-23
-18
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
1
0
-12
5
31
1
0
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
13
0
0
0
7
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
-5
-1
-12
0
1
17
4
0
-9
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
-3
1
0
2
-5
0
1
0
-3
-30
7
5
0
-13
20
0
-6
-1
46
39
46
20
-9
93
13
-8
-14
-3
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
1
-1
-1
-1
-7
0
15
9
0
8
17
20
-9
3
26
17
19
28
8
37
31
-34
-19
-8
2
-37
3
3
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
-1
-3
0
0
-19
5
2
0
-13
35
8
-3
2
3
1
10
4
3
-17
15
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
-2
0
0
12
1
5
0
-24
-5
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
0
0
0
0
1
0
8
-7
-24
-24
7
-19
7
-16
16
-13
2
31
8
-16
-5
16
-8
43
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
1
0
0
-2
-20
-6
-43
-18
-1
-4
19
0
3
-1
0
1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-1
0
0
0
-16
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-1
0
0
5
3
1
-8
0
-2
-12
-1
8
0
-2
9
-49
-49
0
-1
3
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
19
-3
0
13
6
-13
-3
0
9
-22
-3
0
0
2
-1
-20
-16
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
3
-4
-10
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
15
2
-5
-4
-4
-22
-2
1
-10
-5
-10
4
3
-9
-15
31
-18
-16
21
-8
-19
1
28
-23
-20
-8
31
-17
24
2
-5
-37
-41
56
0
0
0
0
0
4
5
0
-5
0
4
-8
-16
3
-1
-13
7
-15
-1
-3
34
29
-14
15
-14
-27
-47
7
25
21
32
74
43
1
9
-18
1
-13
-20
-15
-49
-57
-24
-4
41
2
-2
0
0
0
-1
5
2
-2
1
-1
10
-1
4
2
5
0
-6
34
27
20
-31
-5
5
-3
0
-38
-44
-31
-16
-21
66
22
-47
16
-9
14
21
-15
-43
7
-26
-5
64
-10
-1
0
2
0
-2
-2
5
-1
-1
0
-20
1
-6
1
13
-8
-6
-6
-15
-12
31
10
4
1
-12
31
17
-74
-26
-17
-38
30
23
46
9
-66
-8
67
-28
5
0
0
0
0
0
0
-3
0
1
0
16
2
-1
-5
0
4
-5
-3
6
0
3
-34
-3
-5
-5
-26
38
-10
5
10
-16
-13
-7
-40
22
6
-7
30
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
18
5
-5
6
-14
-4
-6
-8
-14
15
8
3
-6
-16
-8
-58
-25
32
30
10
3
8
9
23
-44
38
-13
-13
-14
-2
1
-5
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-1
0
2
-5
-1
3
1
-18
-4
4
7
0
8
8
-1
18
-7
24
-51
13
24
19
1
16
-15
-13
6
-26
17
10
26
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
-12
-5
-27
27
-24
13
8
-44
-40
-22
25
-2
30
14
-25
22
11
-5
-5
40
-3
-20
-5
16
-22
-59
15
-66
10
19
32
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
7
0
0
-6
-1
4
8
2
-6
0
4
-4
-39
61
-6
-1
-2
5
-20
12
5
19
24
-24
-30
-56
-5
-27
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
2
-2
0
-17
-33
5
12
0
-25
16
9
-14
0
-41
8
5
22
0
17
-16
-3
8
0
-45
-2
-2
-9
0
20
-20
28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-1
0
-4
-4
9
0
0
5
-15
3
2
0
-13
-18
-15
-6
0
-16
-24
-3
-5
0
-3
6
-24
5
0
20
29
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
48
2
0
0
-5
0
29
0
0
-4
-3
16
0
0
-5
-25
-6
0
0
-21
56
-7
0
0
-5
-8
-33
0
0
17
16
62
0
0
0
0
0
0
0
-4
4
0
0
0
0
-20
5
0
0
19
37
-1
0
0
-25
-14
18
0
0
-26
56
-22
0
0
-41
11
-9
0
0
-33
5
-17
0
0
93
5
7
0
0
7
0
0
0
0
-1
-3
0
0
0
-3
31
-1
0
0
3
-8
14
0
0
14
-9
-1
0
0
-25
-8
36
0
0
4
-25
-8
0
0
40
-7
32
0
0
-9
50
-29
0
0
0
0
0
0
0
14
-16
1
0
0
4
17
8
0
0
7
-21
8
0
0
5
8
-22
0
0
-34
42
22
0
0
30
9
-9
0
0
34
-19
-34
0
0
0
0
0
0
0
0
-7
-1
0
0
-1
-1
12
0
0
4
12
0
0
0
-13
31
0
0
0
-35
-31
6
0
0
-21
4
22
0
0
23
-30
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
4
4
1
6
0
-17
-14
2
7
28
-22
-7
1
-2
-13
7
-7
-4
29
-4
14
5
16
5
-13
-33
20
-10
32
-25
0
0
0
0
0
0
-2
1
0
0
0
2
0
2
1
9
3
-9
-5
4
10
23
4
-2
9
10
8
-10
-23
-3
-32
-30
-4
-1
0
-26
38
-13
22
-4
49
45
5
2
-42
0
0
-1
0
0
-1
-1
0
2
0
2
1
0
-5
0
-4
-31
30
-19
3
-24
14
20
4
-1
-15
29
-15
24
-8
39
-13
-14
33
2
21
-9
-48
-2
-1
57
-35
22
-25
-25
0
-2
0
0
0
0
0
0
0
0
0
0
-4
-1
0
1
1
-7
-2
-1
-12
5
-19
1
3
-14
-43
19
13
1
34
56
-13
-6
-17
10
37
-22
9
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-1
0
-2
2
2
0
0
1
1
-6
-10
-1
7
-1
-24
4
3
17
-19
5
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
-8
0
7
-1
-10
19
19
4
-27
3
-13
22
-12
5
10
15
22
69
17
-12
54
-66
-7
-2
16
-60
-19
8
-19
0
0
0
0
0
0
-2
-1
0
0
1
-1
1
2
0
-21
14
36
-1
-20
-7
21
-15
8
7
-46
5
-10
-6
-8
35
-8
-9
30
25
49
-15
19
-42
-4
8
8
6
8
-5
1
0
0
0
0
0
1
0
0
0
-6
-2
2
-1
-3
0
-1
-17
38
13
-9
18
23
-3
-6
0
-35
24
-31
4
5
-8
6
7
0
-15
28
7
-29
-8
0
12
-1
17
3
0
0
0
0
0
-2
0
-3
0
0
0
2
-6
8
0
-1
-6
5
2
5
4
16
-1
-18
3
9
-14
9
0
-9
-18
-29
14
13
10
15
0
-3
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
0
0
0
-5
7
-3
0
-3
-12
-3
6
-1
10
1
-1
-2
-7
-8
25
-20
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
4
-24
9
0
-3
17
21
-8
0
-20
-43
13
-13
-18
20
-49
45
14
19
-12
48
-93
41
-17
6
14
23
-13
21
-24
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
11
0
-2
-8
-13
-8
17
0
-48
3
33
-12
2
59
26
-3
-9
4
8
-16
-10
17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
3
3
1
0
0
-2
14
-1
-9
-3
-22
-21
8
14
-8
8
-13
10
-10
0
5
0
6
-3
-20
-7
19
-8
15
6
-2
13
-9
-18
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
-2
-3
-4
1
-1
-2
1
0
3
3
-1
-13
-8
7
-1
43
-5
17
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
1
0
6
2
-1
-1
0
2
13
0
24
0
-15
4
-5
14
0
-13
7
0
-4
0
48
-29
8
8
0
30
18
-23
-20
0
0
0
0
0
0
13
-1
1
0
0
-2
-3
0
0
0
14
-23
-2
-6
0
11
-15
28
-7
0
56
-12
-9
1
0
5
20
2
-5
0
-28
22
-4
6
0
3
-27
-4
0
0
5
1
-2
0
0
0
1
0
0
0
3
-3
14
0
0
-14
-18
-11
-9
0
-24
37
-16
3
0
-17
-31
27
1
0
3
36
-4
-5
0
37
-14
0
8
0
-6
-7
-19
0
0
0
0
0
0
0
-1
-1
1
0
0
5
-3
6
1
0
2
-13
-2
1
0
-7
-11
21
0
0
5
20
13
1
0
1
5
6
26
0
11
-27
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
-3
0
0
2
8
-2
1
0
9
5
14
0
0
-8
-3
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
-3
-2
-4
0
0
14
-8
4
0
0
-25
-15
2
0
0
-7
22
-3
0
0
2
19
12
0
0
17
7
-21
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
4
9
-1
0
0
-20
-9
2
0
0
19
7
1
0
0
-5
-1
17
0
0
-5
-44
-8
0
0
8
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
0
0
0
-9
-1
1
0
0
-5
4
-5
0
0
13
-13
0
0
0
-9
8
20
0
0
42
10
7
0
0
-5
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
-5
-2
0
0
-3
-10
7
0
0
-8
7
-5
0
0
-5
5
6
0
0
-8
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
4
-2
0
0
1
2
2
0
0
-8
-3
-8
0
0
2
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
12
-16
4
-3
0
17
-33
-4
-17
0
-1
-8
15
1
-4
-2
57
-3
2
9
-48
5
30
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
1
0
-1
0
-2
-4
0
-9
-10
2
17
-6
25
3
8
0
2
-9
44
7
1
-12
53
-9
8
18
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
-1
0
2
0
0
-6
0
0
1
2
0
-1
-8
-1
-2
-10
0
0
2
3
35
8
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
-3
2
2
0
0
-9
20
-3
0
0
-2
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
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
-1
4
0
5
-1
0
-19
1
-2
-5
-2
-22
10
22
7
-7
13
-1
23
-25
-1
8
6
-5
31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-16
21
-1
-8
21
-9
11
3
29
1
9
12
-21
-40
37
9
-6
-12
1
18
23
4
25
-30
8
24
18
-5
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
-8
6
13
-6
-3
-8
-5
15
-10
7
-21
-5
-7
8
0
29
-15
31
27
10
27
43
20
-6
-6
0
0
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
-3
-7
0
-1
-1
13
-15
8
0
-12
20
-5
-10
0
-4
-8
8
-8
-1
-3
8
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
-8
0
-1
0
-8
0
-17
7
-4
5
-13
-4
6
-5
12
-11
4
-9
20
13
0
-18
22
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
-5
0
8
6
8
-43
-5
1
-12
31
29
2
7
4
1
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
3
0
2
2
-3
4
8
-3
0
-6
-8
-5
-1
-1
-3
7
5
8
4
4
9
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
-4
-1
6
-1
0
13
-18
25
-2
0
-33
-4
-4
16
0
25
4
19
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-2
-19
-25
0
0
13
19
1
42
0
19
-4
-5
-4
0
-22
-19
21
0
0
13
-5
-8
-7
0
2
4
8
5
0
0
1
0
0
0
-1
0
0
0
0
2
1
-1
0
0
-13
36
5
-3
0
-17
-13
13
-18
0
3
10
10
-8
0
0
-16
-10
6
0
6
32
20
4
0
-1
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
2
0
2
-1
0
8
2
-1
4
0
3
1
2
2
0
8
4
5
-6
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
0
0
-2
5
-4
0
0
-13
-22
1
0
0
7
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
4
-13
0
0
0
2
0
-1
0
0
37
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
2
-2
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-2
0
-1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
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
-17
8
-10
-8
13
9
-51
-13
5
24
20
22
21
-15
9
-39
5
7
2
19
3
6
-8
-20
-9
-43
-49
11
48
-3
0
0
0
0
0
-1
0
0
0
0
-1
-9
-2
-13
0
-13
-32
-2
-1
-2
4
1
-19
28
-4
14
27
-8
-9
5
22
-10
5
4
6
13
4
-19
22
-13
-58
-11
-22
16
37
0
0
0
0
0
0
0
0
1
0
0
-1
0
5
3
7
-5
-15
-31
1
-12
-15
8
15
-1
7
15
0
2
-1
-17
-10
-23
-1
-1
-26
23
-5
31
4
-68
-31
-3
-8
2
0
0
0
0
0
0
1
-1
0
8
1
1
1
-3
2
-1
-4
-16
14
0
12
6
0
3
0
-7
-5
17
-3
4
50
-5
8
-4
-3
-66
7
41
-7
6
0
0
0
0
0
0
0
-1
0
0
0
-2
1
0
-2
3
-2
0
-3
-1
-1
-5
-2
1
0
10
-23
-2
3
0
-7
9
-4
5
12
23
12
16
-2
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
-5
14
-13
-4
-3
10
-6
-5
18
1
-33
-19
-15
-8
-6
8
-19
48
-9
0
13
-9
-23
9
-6
-28
-17
5
9
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
1
-4
-4
2
0
-8
2
-2
-8
-2
1
9
5
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-19
0
48
-12
-26
-9
-7
-8
-31
8
16
-4
-25
-19
12
5
-3
-23
5
-33
-6
-13
10
-10
-3
-31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
3
6
-5
-1
0
-10
12
2
-2
0
6
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-29
-3
0
-7
-41
-12
-17
0
-31
43
-24
-12
0
2
7
-5
-5
0
12
-24
4
3
0
-6
-10
25
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
-1
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
2
-2
0
0
4
-6
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
13
0
0
-22
-22
5
0
0
-6
-18
-19
0
0
4
-1
31
0
0
3
27
0
0
0
6
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
-33
-16
-8
0
0
-30
10
-8
0
0
8
14
5
0
0
3
-42
3
0
0
6
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
-8
2
9
0
0
0
0
8
0
0
1
-2
1
0
0
3
6
6
0
0
1
-18
-1
0
0
0
3
0
0
0
0
0
2
0
0
0
0
-2
0
0
7
-4
0
0
0
0
12
-1
0
0
0
1
1
0
0
2
-12
-4
0
0
-4
-5
-7
0
0
-2
2
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-8
-2
0
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
3
27
0
-13
40
11
-2
8
-13
6
3
2
-26
41
-31
-33
-6
13
-23
-9
12
-17
4
-30
13
8
-13
-70
-13
-1
-16
39
4
0
0
0
0
0
7
0
0
-8
0
13
1
8
-26
-1
-22
20
-15
2
-31
-15
-40
-32
25
-2
-53
69
-22
-21
-4
14
-13
26
8
-7
-40
-63
-3
5
34
-76
-29
-12
34
7
1
-1
-1
0
0
-14
-2
1
-13
-5
8
1
-3
-1
-33
-60
-16
33
4
21
6
13
0
-3
9
13
0
-1
-31
-5
-14
-12
2
10
-8
-32
-8
-25
-5
42
-36
2
21
58
41
-1
-1
0
2
1
-3
16
-4
13
-3
-30
11
-17
-24
14
22
-5
17
-5
22
4
13
19
5
-12
-14
-36
21
-31
-2
-8
-11
39
9
5
-67
-8
-63
19
-24
0
0
0
0
0
1
-3
0
0
0
-14
-3
5
6
0
-27
3
3
0
0
-6
-23
21
-20
6
-5
4
13
5
-2
-8
-43
-3
12
-7
-19
57
-26
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-2
0
0
1
3
-5
7
17
4
-19
9
5
35
-54
2
21
-2
-55
-20
32
-2
3
23
50
9
5
-31
-8
-38
-8
-24
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-22
2
0
-7
-30
-9
2
0
10
0
-8
-3
0
-3
-9
13
-8
0
-10
1
5
3
1
0
2
-1
-4
0
0
0
0
0
0
2
0
0
0
0
0
1
-1
0
0
2
3
2
4
0
-3
-1
-8
1
0
0
-9
12
0
0
16
-5
0
4
0
-14
27
5
-4
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
0
0
-5
-1
0
0
0
-7
8
5
0
8
5
0
1
0
1
-5
3
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
6
0
1
5
-4
-8
1
0
-20
-12
-8
0
40
20
8
18
-27
-13
-50
-23
-11
-13
11
-5
-5
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
-47
-21
-10
-17
-5
-49
40
-2
7
-11
12
21
4
-1
-4
-31
-14
-23
18
0
14
-41
-4
22
-20
47
-31
-79
-11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-15
0
0
-2
20
-3
12
0
-3
-45
-18
9
5
0
-14
25
5
-2
0
2
0
0
1
0
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
1
0
0
0
0
-1
1
0
0
0
0
-2
0
0
-2
-3
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
-4
1
4
-1
0
5
-13
-2
-1
-7
13
10
-1
-1
-1
5
19
0
-6
1
-7
31
5
-18
-48
0
-24
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-1
0
0
-21
6
-42
7
0
-40
15
13
5
0
47
16
7
-16
0
-1
33
27
12
0
10
5
-16
-35
0
-23
13
-13
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-41
7
1
0
8
-4
9
-4
0
-8
1
-3
21
0
6
8
7
2
0
0
-3
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
-1
0
0
-5
13
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-6
0
0
0
1
0
0
0
0
0
0
0
0
-1
-1
0
5
0
25
0
-10
0
0
-8
12
18
-3
0
1
1
-27
-4
0
-12
-1
-15
-29
0
-7
23
6
10
0
-19
-1
29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-9
-1
0
0
-8
-13
-9
0
0
-25
26
23
0
0
-5
-42
-10
0
0
-1
36
1
0
0
-31
-6
-30
0
0
-3
-9
13
0
0
0
0
0
0
0
-16
8
-1
0
0
-1
-22
5
0
0
-23
0
-5
0
0
24
21
-16
0
0
-4
18
9
0
0
-23
1
3
0
0
2
0
-8
0
0
16
22
37
0
0
0
1
0
0
0
-3
6
-3
0
0
-13
-23
20
0
0
-9
-3
-1
0
0
-5
-1
-35
0
0
-34
18
-22
0
0
32
44
27
0
0
-10
-23
-7
0
0
-25
-13
9
0
0
0
0
-2
0
0
4
-9
-2
0
0
-5
3
22
0
0
13
-41
-11
0
0
-2
9
15
0
0
13
-48
3
0
0
13
6
-22
0
0
-8
22
-9
0
0
0
0
0
0
0
4
16
-6
0
0
-15
-5
-1
0
0
4
8
-1
0
0
5
-15
8
0
0
-8
16
-5
0
0
5
4
-3
0
0
12
-26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
15
-6
5
18
-8
-16
8
2
-8
17
21
-27
-23
-31
-21
36
-26
7
28
-1
-53
45
9
21
17
-66
59
-14
-14
14
0
0
0
0
0
0
-1
-2
0
0
-2
-1
0
24
0
23
-5
7
3
-7
-26
-40
17
16
3
-28
-2
-25
0
-7
-6
7
41
15
-3
-32
3
55
22
4
78
-18
-49
-29
-31
0
0
0
0
0
0
0
0
3
0
1
1
1
-8
1
13
-11
-6
1
-2
8
8
-9
12
1
5
2
15
-5
2
5
-22
-7
3
6
-26
-25
-22
20
-3
-5
13
4
-8
4
0
0
-1
-1
0
0
-2
0
0
0
1
0
4
15
-1
-13
7
7
4
-1
2
22
-9
15
-1
-5
-48
-25
-3
8
-13
19
-9
-17
6
-77
75
15
-1
9
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
-6
0
0
0
0
3
-2
-5
-1
0
-3
0
6
-8
-20
-9
-9
-8
16
17
-13
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-8
-17
1
-17
41
9
-3
-1
25
26
17
-50
-9
-8
61
5
-33
5
-9
-92
6
6
-8
32
-25
14
1
-38
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
19
13
-5
31
2
0
-25
-3
-12
-12
4
-18
-4
-14
14
5
23
10
-8
-10
24
-30
-13
-6
2
12
-16
-24
8
0
0
0
0
0
-2
0
-3
0
0
9
-6
1
17
0
-7
14
-10
-2
14
-15
10
-44
16
-9
4
15
16
10
1
-49
14
-4
10
6
6
-28
6
-4
-9
-3
25
2
-58
19
0
0
0
0
0
0
-1
4
0
-1
-4
8
4
-24
0
-2
14
10
-21
4
-2
9
-2
4
-8
-3
-11
-21
31
-13
14
-13
13
2
8
-59
-4
-39
12
13
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
1
0
1
0
0
0
5
-7
-1
0
1
-8
8
-10
1
-13
21
5
-10
-14
-39
3
-14
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
2
-1
1
3
-22
12
3
-30
10
25
-13
5
-10
-8
1
16
-43
3
7
21
35
-13
-32
-42
-7
5
4
-69
-20
4
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
4
3
1
-8
-11
-8
2
4
59
-7
-41
-7
15
-25
18
22
5
-2
0
2
-18
-24
-1
0
-17
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
-1
-2
0
-3
-2
7
5
-2
2
13
-16
-4
-1
-1
3
8
-28
-7
0
5
-5
-4
-13
2
28
-28
14
12
-1
-2
8
-17
-25
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
2
1
0
0
2
-10
0
0
0
-5
6
-1
3
-9
13
4
1
0
1
13
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
7
-1
-1
0
27
-11
7
9
0
-9
-9
24
1
0
20
13
-12
14
0
-56
-21
-8
-7
0
9
-25
7
-35
0
0
0
0
0
0
-3
-1
0
0
0
-1
0
2
-1
0
-3
-3
3
-6
0
-1
-31
47
28
0
-36
-8
-24
-22
0
-30
54
-3
0
0
18
18
-30
-5
0
15
-14
5
-1
0
8
0
0
0
0
0
0
-2
0
0
-11
-5
11
-2
0
-6
-27
3
22
0
4
-13
-5
-10
0
-56
-5
2
-3
0
-18
32
30
-16
0
16
-29
5
7
0
0
-18
23
-4
0
0
0
0
-4
0
0
-2
1
0
0
0
0
-10
-1
0
1
0
-18
0
0
-21
-25
44
7
0
7
13
-50
-4
0
2
-32
28
18
0
13
7
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
2
0
4
-2
-5
0
0
3
0
-10
2
0
1
-10
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-1
-27
0
0
8
15
1
0
0
10
16
20
0
0
7
5
8
0
0
-29
-19
-24
0
0
22
13
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
3
0
0
14
-26
13
0
0
0
-30
12
0
0
4
28
-10
0
0
-8
27
-5
0
0
-41
-1
-24
0
0
-25
15
-1
0
0
0
0
0
0
0
0
-1
2
0
0
2
-14
0
0
0
-5
13
3
0
0
-16
-20
9
0
0
-23
-25
5
0
0
-1
3
-8
0
0
8
0
2
0
0
-2
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-3
0
0
-8
-5
4
0
0
25
-15
-4
0
0
-8
0
0
0
0
-8
4
6
0
0
-1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
1
0
0
0
1
0
0
0
0
3
0
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
2
25
-6
4
0
-3
-37
1
0
0
24
43
7
-12
-2
-25
21
14
-8
0
-30
6
-2
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
0
1
-10
-9
-1
0
4
4
6
2
0
22
12
1
-19
0
-51
-15
10
23
19
-13
-2
1
-5
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
-2
0
0
0
0
-4
0
-1
3
7
3
0
-4
5
5
4
2
4
-31
31
2
-3
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-3
0
0
0
-5
-3
6
0
-8
2
4
-1
1
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
8
-2
3
0
0
0
27
-14
-5
-7
19
1
18
4
-24
-13
-23
7
-5
1
-16
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
0
-42
1
0
8
13
7
9
12
9
-41
1
-3
12
3
5
22
-9
6
5
31
-48
-28
-2
-8
-1
13
14
-7
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-3
0
-2
-6
-1
16
-3
-4
-5
-6
10
-6
5
-9
12
-17
-1
5
7
16
20
6
9
-26
-18
20
-5
0
0
-17
-2
0
0
0
-1
0
0
0
1
-1
0
0
0
0
0
-1
0
0
-1
7
0
1
-7
3
2
0
1
12
2
-3
-8
-5
31
22
-33
2
-5
1
8
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
-1
0
0
0
-2
0
0
0
0
0
-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
-1
0
0
0
-4
3
2
12
-25
7
-5
1
15
37
0
-25
8
8
-10
-8
8
1
2
8
0
13
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-2
0
17
0
-8
3
7
-8
7
-2
-8
3
8
-5
-3
-9
-14
-10
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-2
0
0
1
2
0
8
0
0
2
10
0
-3
1
12
-12
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-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
-1
0
0
-2
5
0
0
7
4
-1
8
0
27
15
6
-1
0
20
6
-3
-2
0
6
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
6
14
-5
0
-22
5
-9
4
0
22
-29
0
-14
0
19
-12
-27
7
0
-39
5
1
-2
0
-2
10
-30
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-13
0
0
5
9
-5
-4
0
12
0
25
0
0
-22
-4
-5
-1
0
13
-2
5
7
0
-2
-10
-14
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-3
-1
3
0
3
2
2
-1
0
4
2
-7
1
0
1
8
-5
0
0
0
1
-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
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
2
-2
0
0
-3
-18
-1
0
0
3
16
0
0
0
5
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-9
2
1
0
0
8
3
0
0
0
-2
1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
2
0
0
0
7
0
0
0
0
0
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
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
2
0
1
-1
1
0
0
-30
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
-17
7
6
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
-1
0
0
-5
-1
0
0
0
0
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
8
-4
0
-5
31
8
8
0
8
-19
-2
2
0
-4
-13
2
3
0
0
1
1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-2
0
3
0
0
0
21
0
3
-1
6
19
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
-5
-1
1
0
-4
5
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
5
0
-2
0
-13
0
9
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
-1
1
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
-27
-2
0
0
0
-12
-3
0
0
0
20
0
3
0
0
1
-6
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
-1
-2
1
-1
0
5
0
1
0
0
-7
-1
8
1
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-120
-160
-113
71
-38
8
-18
28
-88
-12
-35
-42
-6
-3
0
83
10
49
18
-59
6
12
2
-2
-28
7
-5
32
0
0
0
-1
-36
-126
-59
20
-2
11
-36
-53
-43
-27
-66
-73
3
-11
0
52
31
6
4
2
-29
-3
-27
-8
66
-32
-29
1
-16
0
0
-54
2
0
-31
-44
-29
-6
-65
-5
-7
-12
-80
-3
64
1
0
-1
-27
2
29
-22
74
-4
-29
1
-23
5
-41
123
1
0
0
-3
25
-24
21
-66
4
14
49
66
10
68
-43
-3
64
-20
0
-6
-55
-7
43
15
-3
30
-52
5
-74
17
-17
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-7
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-160
-24
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
7
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-6
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-25
54
0
0
0
0
0
0
0
0
0
0
0
0
0
23
41
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-36
-16
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-22
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-52
19
44
0
0
0
0
0
0
0
0
0
0
0
0
0
27
4
-98
-12
-4
3
-2
0
0
0
0
0
0
0
0
0
-1
-4
70
-58
41
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
-1
5
-19
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
9
-71
13
0
2
0
0
0
0
0
0
0
0
0
0
0
-18
16
-3
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
48
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-27
-8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
26
-22
-19
1
1
0
0
0
0
0
0
0
0
0
0
-2
-15
-10
-7
-52
-20
0
0
0
0
0
0
0
0
0
-1
0
7
4
14
-11
-8
-20
0
0
0
0
0
0
0
0
0
0
-1
0
0
-7
-32
-43
8
1
0
0
0
0
0
0
0
0
0
0
-5
-1
42
-13
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-42
25
-8
0
0
0
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
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-9
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
-75
23
-14
-25
0
0
0
0
0
0
0
0
0
0
0
-6
-96
-46
-71
7
11
0
0
0
0
0
0
0
0
0
0
0
-5
-24
9
4
6
-76
8
19
0
0
0
0
0
0
0
0
1
15
11
1
53
-31
12
-43
-5
0
0
0
0
0
0
0
0
0
0
127
40
-36
58
-23
-66
0
0
0
0
0
0
0
0
0
0
-4
28
12
90
-19
-115
-31
0
0
0
0
0
0
0
0
0
0
0
-9
92
-2
201
-17
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-38
-35
-51
26
0
0
0
0
0
0
0
0
0
0
0
-1
-152
-43
4
63
-75
0
0
0
0
0
0
0
0
0
0
0
0
-70
-63
25
-33
-60
-1
1
1
0
0
0
0
0
0
0
0
-1
13
-38
85
-16
68
-24
12
0
0
0
0
0
0
0
0
0
0
-15
43
-49
-117
-97
85
12
-1
0
0
0
0
0
0
0
0
0
42
-46
60
-43
-57
59
-23
0
0
0
0
0
0
0
0
0
0
2
-123
-8
-66
-7
127
0
0
0
0
0
0
0
0
0
0
0
-49
-5
-75
19
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
2
31
16
0
-37
0
0
0
0
0
0
0
0
0
0
0
-8
4
21
18
-27
18
0
0
0
0
0
0
0
0
0
0
0
6
-1
-15
48
-9
-56
-9
0
0
0
0
0
0
0
0
0
0
4
-8
20
-13
-57
-8
-3
1
0
0
0
0
0
0
0
0
-1
0
0
30
8
-16
-8
-8
0
0
0
0
0
0
0
0
0
0
0
5
-3
-30
-8
-4
0
0
0
0
0
0
0
0
0
0
-2
0
1
22
18
8
-1
-2
0
0
0
0
0
0
0
0
0
0
-3
-1
3
9
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
76
-23
-116
-28
-27
-23
0
0
0
0
0
0
0
0
0
0
59
80
-20
-5
2
-60
0
0
0
0
0
0
0
0
0
0
0
126
90
-17
-33
58
25
72
-54
-4
0
0
0
0
0
0
0
0
60
59
3
7
43
35
83
-16
-3
0
0
0
0
0
0
0
0
31
37
15
-56
-29
47
29
-19
0
0
0
0
0
0
0
0
0
36
100
47
8
7
2
-13
1
0
0
0
0
0
0
0
0
0
-59
76
50
52
110
58
-9
3
0
0
0
0
0
0
0
0
0
35
2
0
-29
-22
-21
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-43
13
-90
50
0
0
0
0
0
0
0
0
0
0
0
-1
19
-79
-34
-1
131
0
0
0
0
0
0
0
0
0
0
0
6
20
8
35
130
125
-34
27
5
0
0
0
0
0
0
0
0
0
9
-55
25
49
-39
-173
45
0
0
0
0
0
0
0
0
0
0
7
-64
-45
112
-86
-256
0
0
0
0
0
0
0
0
0
0
0
20
42
-34
60
-125
-35
-71
0
0
0
0
0
0
0
0
0
0
-1
16
-2
-5
25
-257
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
31
33
82
66
0
0
0
0
0
0
0
0
0
0
0
-4
-27
-18
-44
-120
21
0
0
0
0
0
0
0
0
0
0
0
5
16
23
-49
25
55
0
0
0
0
0
0
0
0
0
0
0
0
16
-47
-26
6
36
0
0
0
0
0
0
0
0
0
0
0
1
12
-29
68
-28
79
-5
-1
0
0
0
0
0
0
0
0
0
8
1
-67
-80
41
41
-7
0
0
0
0
0
0
0
0
0
0
0
5
-22
2
31
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-28
-1
-63
-4
-16
59
0
0
0
0
0
0
0
0
0
0
15
19
-16
41
-39
3
24
0
0
0
0
0
0
0
0
0
0
-1
-4
123
49
-13
-17
-50
-2
-1
0
0
0
0
0
0
0
0
0
74
15
18
68
27
116
2
-49
0
0
0
0
0
0
0
0
0
21
-15
5
-13
41
9
-23
-8
0
0
0
0
0
0
0
0
9
7
-7
-32
-52
-56
5
10
-14
1
0
0
0
0
0
0
0
8
-2
-55
-17
-40
-1
-7
-90
27
0
0
0
0
0
0
0
0
-5
1
18
-14
34
-42
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
54
-34
-15
-21
-26
-21
-75
0
0
0
-8
0
0
0
1
0
0
46
28
7
-2
-11
-10
-2
0
0
0
-4
12
0
0
0
0
0
38
51
-3
-3
17
-15
-22
-92
-90
26
-3
2
0
0
0
0
0
-43
40
16
4
8
-18
-35
-45
-31
52
-7
0
-8
0
0
-1
0
11
1
-4
12
4
17
-31
-12
-67
-14
-4
-12
-4
1
0
0
0
38
34
12
-28
-9
-8
-17
-14
3
-57
1
3
-2
0
0
1
0
39
106
62
-18
19
-11
-7
-27
28
7
10
0
0
0
0
0
0
11
19
45
87
6
57
-51
-79
74
23
-1
0
0
0
0
0
0
-5
-6
5
23
55
-110
22
6
-22
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
39
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
66
20
16
-2
0
0
0
0
0
0
0
0
0
0
0
2
1
-8
61
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
4
66
-19
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-20
51
-26
56
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
-34
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-14
-49
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
61
-30
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-16
23
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-7
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-56
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
31
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-26
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
-7
-4
26
19
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-3
-14
9
7
-2
0
0
0
0
0
0
0
0
0
3
0
0
4
12
5
37
0
3
0
0
0
0
0
0
0
0
0
-1
2
-41
13
-56
-1
0
0
0
0
0
0
0
0
0
0
0
24
6
-7
-13
1
-6
0
-8
0
0
0
0
0
0
0
0
0
-6
-13
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
15
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
-15
-9
-4
0
0
0
0
0
0
0
0
0
0
6
27
0
6
7
-2
-4
0
0
0
0
0
0
0
0
0
0
-33
-6
34
-5
-18
3
-1
0
0
0
0
0
0
0
0
0
0
0
30
23
25
-3
18
-6
-1
0
0
0
0
0
0
0
0
0
23
-20
-26
2
-4
0
-8
0
0
0
0
0
0
0
0
0
0
3
-5
4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
13
27
-37
0
0
0
-1
0
0
0
0
0
0
0
1
15
22
44
66
43
0
0
0
8
3
0
0
0
0
0
0
0
-12
4
-41
-54
-3
-14
-3
30
-3
0
0
0
0
0
0
0
0
-6
31
18
-8
-8
-118
15
9
0
0
0
0
0
0
0
0
1
-3
-24
25
-18
1
6
-12
-14
-5
0
0
0
0
0
0
0
0
-1
2
-7
-47
51
13
1
-19
0
0
0
0
0
0
0
0
0
0
4
0
1
-1
38
-34
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-99
-54
11
-19
0
0
0
10
0
0
0
0
0
0
0
-1
-2
26
-17
-20
14
0
0
0
0
0
0
0
0
0
0
0
0
-21
-35
33
-2
-18
10
12
8
0
0
0
0
0
0
0
0
0
-15
-20
2
30
9
-1
-132
8
0
0
0
0
0
0
0
0
1
130
-61
-54
13
-7
6
-45
-12
4
0
0
0
0
0
0
0
7
-78
-6
-18
6
-4
13
-32
12
0
-2
0
0
0
0
0
0
0
-3
2
-26
-12
20
20
15
4
1
0
0
0
0
0
0
0
0
80
-19
-4
10
20
-34
17
8
0
0
0
0
0
0
0
0
0
0
18
-41
10
-39
-41
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
39
41
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
11
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
10
12
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-7
-5
22
0
0
0
0
0
0
0
0
0
0
0
5
-1
-5
-4
43
5
0
0
0
0
0
0
0
0
0
0
0
0
49
-3
59
-59
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-59
5
0
0
0
0
0
0
0
0
0
0
0
3
77
-129
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
47
10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
-121
-39
61
-20
0
0
0
0
0
0
0
0
0
0
0
9
-21
59
-21
31
43
0
0
0
0
0
0
0
0
0
0
0
20
-23
-86
13
6
6
0
0
0
0
0
0
0
0
0
0
0
0
-11
55
-13
24
0
0
0
0
0
0
0
0
0
0
0
0
12
-23
27
-2
-22
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-9
7
3
0
34
0
0
0
0
0
0
0
0
0
0
0
-2
1
48
59
-10
1
0
0
0
3
0
0
0
0
0
0
0
2
2
-7
-10
20
-4
-37
-48
6
0
0
0
0
0
0
0
0
0
-3
-18
6
-13
15
-44
-3
7
0
0
0
0
0
0
0
0
-5
0
-40
-83
4
43
17
22
3
0
0
0
0
0
0
0
0
0
-6
1
66
-70
15
-17
-30
-1
0
0
0
0
0
0
0
0
0
-4
28
0
-36
77
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
64
9
45
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
9
70
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-8
-27
13
0
0
0
0
0
0
0
0
0
0
0
4
-8
-31
23
-5
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
37
-27
23
-1
8
0
0
0
0
0
0
0
0
0
0
-1
0
-19
15
2
-3
6
0
0
0
0
0
0
0
0
0
0
0
5
0
16
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-28
-8
0
0
0
0
0
0
0
0
0
0
0
3
0
14
-72
-1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
10
-45
6
-4
9
2
0
0
0
0
0
0
0
0
4
10
4
-33
52
-66
40
26
-28
0
0
0
0
0
0
0
0
4
0
1
49
40
-10
-83
-95
-7
0
0
0
0
0
0
0
0
-4
0
1
57
-21
8
-19
-40
34
3
0
0
0
0
0
0
0
-10
0
-1
-1
37
20
32
2
-7
0
0
0
0
0
0
0
0
0
-10
0
1
-1
97
-39
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-41
40
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-58
-26
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-21
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
55
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-64
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-42
17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-33
53
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-78
-47
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
62
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-1
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
39
-32
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
-76
54
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-29
22
-91
-104
42
-6
0
0
0
0
0
0
0
0
0
-1
14
29
-42
3
34
-44
-4
-3
0
0
0
0
0
0
0
0
0
-1
8
-44
54
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
41
8
-32
16
-2
2
0
0
0
0
0
0
0
0
0
0
0
-9
5
2
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-24
-5
0
0
0
-5
0
0
0
0
0
0
0
0
0
8
-13
46
24
0
0
0
1
0
0
0
0
0
0
0
0
0
8
-9
-7
47
34
15
-76
1
0
0
0
0
0
0
0
0
0
-8
8
13
-12
-2
-96
14
2
0
0
0
0
0
0
0
-1
0
17
-17
72
-10
7
-41
2
0
0
0
0
0
0
0
0
0
1
0
36
12
41
29
3
1
0
0
0
0
0
0
0
0
0
0
-1
1
-10
-22
-49
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
-21
-6
-25
12
0
0
0
0
0
0
0
0
0
0
-22
-81
-12
-23
-49
-2
8
0
0
0
0
0
0
0
0
0
0
7
34
-7
-9
42
5
-2
0
0
0
0
0
0
0
0
0
0
0
-30
39
-27
29
-27
2
2
0
0
0
0
0
0
0
0
0
0
32
48
-3
-28
-15
-1
2
0
0
0
0
0
0
0
0
0
0
15
-1
7
9
4
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-18
53
8
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
31
2
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-41
-39
-27
-33
-102
0
0
0
-2
0
0
0
0
0
0
-1
-17
40
11
-3
-1
1
0
0
0
0
-8
0
0
0
0
0
-2
10
-68
-36
-9
-38
49
74
108
-2
0
0
0
0
0
0
0
-6
24
-8
50
2
11
-26
-14
-13
-2
0
0
0
0
0
0
0
0
-14
37
-11
72
21
42
14
3
0
0
0
0
0
0
0
0
0
-5
5
-19
-9
-53
2
-27
0
0
0
0
0
0
0
0
0
0
0
-4
51
8
51
-7
-5
1
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
-1
-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
-12
5
-16
-66
-146
0
0
0
-4
-4
0
0
0
0
0
0
-2
-98
58
-46
-76
-202
0
0
0
0
0
0
0
0
0
0
0
0
-90
-22
6
-37
68
49
8
1
0
0
0
0
0
0
0
0
-13
71
-67
24
50
22
7
19
0
0
0
0
0
0
0
0
0
-1
51
-130
-36
163
93
12
-18
-3
0
0
0
0
0
0
0
0
0
38
-17
18
8
56
-21
3
0
0
0
0
0
0
0
0
0
0
12
-112
-76
97
5
-30
0
0
0
0
0
0
0
0
0
0
0
-10
2
-67
13
20
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
1
0
0
0
0
0
0
0
0
0
0
-1
-4
-8
8
-23
-64
-57
0
0
0
0
0
0
0
0
0
0
0
-1
5
55
3
28
79
0
0
0
0
0
0
0
0
0
0
-1
-7
-3
30
0
-32
-121
-31
0
0
0
0
0
0
0
0
0
0
-1
-2
42
22
-50
-54
2
0
0
0
0
0
0
0
0
0
-2
0
-1
25
24
14
31
-13
0
0
0
0
0
0
0
0
0
0
0
2
1
-8
-13
19
0
0
0
0
0
0
0
0
0
0
-1
0
1
7
2
-9
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
97
-29
67
-7
-59
84
0
0
0
0
0
0
0
0
0
0
23
5
-8
16
9
27
0
0
0
0
0
0
0
0
0
0
0
-66
56
48
14
14
20
24
-48
-45
0
0
0
0
0
0
0
0
111
48
40
-7
31
-87
22
27
-5
0
0
0
0
0
0
0
0
58
-39
125
46
-25
-38
130
-51
5
-5
0
0
0
0
0
0
0
40
-44
-13
38
37
-41
106
-28
0
0
0
0
0
0
0
0
0
28
44
57
33
51
-22
18
39
0
0
0
0
0
0
0
0
0
8
-21
-5
-7
-18
3
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-16
30
-12
-10
0
0
0
5
0
0
0
0
0
0
0
1
-58
-28
-60
-68
-42
0
0
0
-6
0
0
0
0
0
0
0
5
59
-26
-22
-34
-12
12
47
-15
0
0
0
0
0
0
0
0
-1
21
-93
65
-94
-39
-115
-9
-5
0
0
0
0
0
0
0
0
0
14
79
42
185
22
-116
0
0
0
0
0
0
0
0
0
0
0
22
4
7
-9
39
8
-43
0
0
0
0
0
0
0
0
0
0
1
-51
28
8
7
-74
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-55
74
-89
-22
0
0
0
0
0
0
0
0
0
0
0
-6
-6
-1
-23
-2
26
0
0
0
0
0
0
0
0
0
0
5
1
27
8
-69
-43
-13
-1
-3
0
0
0
0
0
0
0
0
0
0
0
25
59
-11
76
6
0
0
0
0
0
0
0
0
0
0
0
1
41
1
-35
-23
-1
0
0
0
0
0
0
0
0
0
0
8
0
33
0
-20
34
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
31
-5
45
-29
12
0
0
0
0
0
0
0
0
0
0
5
-44
-53
-3
-62
61
-51
0
0
0
-1
0
0
0
0
0
0
-4
-67
-22
-37
35
76
36
2
-6
-2
0
0
0
0
0
0
0
0
99
34
8
89
-2
-4
3
-50
10
0
0
0
0
0
0
0
0
-61
1
-58
64
22
16
-28
-35
0
0
0
0
0
0
0
0
3
-43
-56
24
52
50
36
17
-39
0
0
0
0
0
0
0
0
1
2
-3
63
59
10
43
-51
31
0
0
0
0
0
0
0
0
-1
0
5
-6
102
-10
-25
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
51
44
91
7
-7
-21
-127
0
0
0
-49
-18
6
0
3
0
0
-42
22
23
26
13
-24
-32
0
0
0
-75
7
-29
-1
-3
-1
0
-14
18
26
11
4
-5
-32
-68
4
27
-75
-22
-13
-20
0
1
0
42
4
-4
-12
10
23
-8
35
10
48
14
-41
-39
-2
0
0
0
-6
32
3
-14
-6
-2
1
17
-14
-10
-34
-50
34
0
-2
-1
0
21
77
45
-48
12
3
39
9
-1
-36
3
34
-81
16
-3
6
0
31
47
58
17
3
20
15
-36
-42
6
-60
44
-21
-5
3
0
0
18
27
30
47
30
67
-55
-49
-2
76
-13
4
-9
0
0
0
0
8
29
-24
-23
-11
23
-47
-21
5
-46
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
13
-4
-16
-29
13
0
0
0
0
0
0
0
0
0
0
0
35
-16
13
10
2
25
0
0
0
0
0
0
0
0
0
0
0
-6
64
40
24
-7
0
0
1
0
0
0
0
0
0
0
0
4
2
-22
-28
71
5
0
0
0
0
0
0
0
0
0
0
0
-8
-4
56
-41
123
58
0
0
0
0
0
0
0
0
0
0
0
8
10
18
4
87
0
1
0
0
0
0
0
0
0
0
0
0
-1
-72
-55
-91
8
-3
0
0
0
0
0
0
0
0
0
0
0
-3
93
-37
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
65
-28
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
6
34
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
38
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
58
-21
59
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
38
42
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
41
-52
-1
9
7
0
0
0
0
0
0
0
0
0
0
4
-5
-61
-16
-31
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
7
49
-42
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
67
57
29
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-67
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
24
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
10
-32
41
-16
16
0
0
0
0
0
0
0
0
0
0
-1
-4
26
14
32
72
102
0
0
0
0
0
0
0
0
0
0
-5
-1
42
-51
-47
-26
5
8
0
0
0
0
0
0
0
0
0
12
0
8
-91
5
8
-20
8
0
0
0
0
0
0
0
0
0
-2
3
-40
52
44
43
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-15
13
-5
0
-2
0
0
0
0
0
0
0
0
0
7
-4
8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
3
-1
-3
10
0
0
0
0
0
0
0
0
0
0
0
-1
43
-25
53
-44
53
0
0
0
0
0
0
0
0
0
0
0
-18
2
-9
-17
-5
-5
19
0
0
0
0
0
0
0
0
0
-1
-10
39
5
-1
31
18
-8
0
0
0
0
0
0
0
0
0
0
14
-21
42
-5
-4
-4
-20
1
0
0
0
0
0
0
0
0
45
5
49
13
-5
-18
41
4
1
0
0
0
0
0
0
0
0
0
7
5
18
-8
-7
5
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-23
8
-53
0
0
0
6
-2
-1
0
0
0
0
0
17
60
-13
75
15
-29
0
0
0
-5
8
0
0
0
0
0
6
14
-23
43
-46
7
-29
25
-28
-61
10
1
0
0
0
0
0
0
-8
-23
57
64
-62
25
20
60
-13
5
0
0
0
0
0
0
0
7
-32
-27
-10
-177
32
15
47
-13
-2
3
0
0
0
0
0
0
-3
37
72
32
-58
30
46
31
60
4
0
0
0
0
0
0
0
0
0
-62
8
12
-5
-18
9
-2
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
56
9
43
15
0
0
0
72
4
0
0
0
0
0
0
0
29
24
55
53
0
0
0
0
-21
-45
0
0
0
0
0
0
-2
6
36
105
24
4
14
-58
-43
9
24
0
0
0
0
0
0
-1
-9
-15
41
52
11
40
30
21
-6
15
0
1
0
0
0
0
1
4
-39
38
9
18
25
-28
6
-18
-3
0
0
0
0
0
0
10
-142
-12
2
29
39
28
-116
59
39
34
0
0
0
0
0
0
0
-1
18
-9
2
22
-19
-22
18
61
-4
8
0
0
0
0
0
0
-27
24
20
-9
-56
-26
13
4
0
-1
0
0
0
0
0
0
0
0
16
-41
-42
-58
8
-25
7
4
0
0
0
0
0
0
0
0
0
0
-3
63
84
0
0
0
4
0
0
0
0
0
0
0
0
0
-4
-25
-81
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
-5
39
-23
28
16
18
0
0
0
0
0
0
0
0
0
0
1
-8
22
-4
-4
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-1
22
-8
25
26
0
0
0
0
0
0
0
0
0
0
0
-3
16
6
-16
7
-3
0
0
0
0
0
0
0
0
0
0
0
-8
5
-6
-31
8
1
0
0
0
0
0
0
0
0
0
0
0
8
-36
20
-3
-15
-14
14
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-58
22
0
0
0
0
0
0
0
0
0
0
0
14
121
74
50
0
0
0
1
0
0
0
0
0
0
0
0
-2
-58
-115
58
-45
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
96
26
-18
9
-70
16
-3
0
0
0
0
0
0
0
0
2
0
40
-136
63
6
31
2
0
0
0
0
0
0
0
0
0
0
5
-13
69
-13
-16
0
1
0
0
0
0
0
0
0
0
0
0
15
56
-27
-30
-96
2
0
0
0
0
0
0
0
0
0
0
0
21
-15
80
-10
-76
7
0
0
0
0
0
0
0
0
0
0
0
0
59
-5
13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-14
-15
27
29
66
-1
0
0
0
16
0
0
0
0
0
0
6
-4
-29
105
-10
-8
22
0
0
0
26
0
0
0
0
0
0
8
22
46
-22
72
38
25
30
9
50
-1
0
0
0
0
0
0
0
4
-42
33
-15
6
-38
13
31
27
0
0
0
0
0
0
0
0
0
-12
-60
-29
-7
-44
-12
80
17
1
0
0
0
0
0
0
0
13
-13
28
45
14
8
94
67
3
0
0
0
0
0
0
0
0
0
-8
16
19
52
-55
64
13
0
0
0
0
0
0
0
0
0
0
2
0
4
0
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
27
-9
-5
0
0
0
0
0
0
0
0
0
0
1
0
-16
-32
-34
110
39
0
0
0
0
0
0
0
0
0
0
0
-9
1
22
33
-34
42
42
5
4
0
0
0
0
0
0
0
0
0
20
-9
-34
50
54
7
-3
0
0
0
0
0
0
0
0
0
0
9
-8
41
38
-75
0
-10
0
0
0
0
0
0
0
0
0
0
8
-2
-59
9
3
-2
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-2
-1
-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
-1
0
43
108
-23
0
0
0
0
0
0
0
0
0
0
1
9
-2
31
23
8
-65
0
0
0
-2
0
0
0
0
0
0
0
-3
-2
-12
55
0
18
8
24
0
0
0
0
0
0
0
0
-4
24
17
66
-20
-6
-45
-51
33
34
0
0
0
0
0
0
0
0
8
4
1
2
16
-59
25
0
-1
-5
0
0
0
0
0
0
0
-6
-4
0
-62
-10
7
-45
-16
-3
3
0
0
0
0
0
0
0
-1
0
-8
-2
-11
28
14
21
4
0
0
0
0
0
0
0
0
0
-3
0
9
-19
58
66
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
47
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-13
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-39
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
69
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-43
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-20
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-13
5
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-6
-50
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
54
-34
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
-41
41
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
22
-19
-75
37
-6
0
0
0
0
0
0
0
0
0
-1
15
29
-63
-18
81
-44
-3
-3
0
0
0
0
0
0
0
0
0
-1
1
25
-14
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
42
8
-8
8
-2
2
0
0
0
0
0
0
0
0
0
0
0
-5
5
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-32
19
0
0
0
-5
0
0
0
0
0
0
0
0
0
5
-17
10
8
0
0
0
4
0
0
0
0
0
0
0
0
0
7
-16
-17
5
41
0
-57
4
0
0
0
0
0
0
0
0
0
-9
-7
-10
-23
8
-1
20
4
0
0
0
0
0
0
0
-1
0
18
4
27
0
-7
-42
1
0
0
0
0
0
0
0
0
0
1
0
19
6
25
18
-15
1
0
0
0
0
0
0
0
0
0
0
-1
1
-5
-10
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
24
8
-13
-40
13
0
0
0
0
0
0
0
0
0
0
-14
-20
6
-78
-24
18
37
0
0
0
0
0
0
0
0
0
0
3
49
-16
-21
36
7
-3
0
0
0
0
0
0
0
0
0
0
0
-30
19
31
24
-32
5
2
0
0
0
0
0
0
0
0
0
0
41
58
26
-48
-15
-1
2
0
0
0
0
0
0
0
0
0
0
18
22
-30
19
3
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-13
40
7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-1
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-29
-14
3
50
-37
0
0
0
-2
0
0
0
0
0
0
-1
-25
34
-30
-25
46
-31
0
0
0
0
-8
0
0
0
0
0
-2
16
20
-48
-44
-67
70
50
77
0
0
0
0
0
0
0
0
-6
27
15
72
-8
-15
26
13
-45
3
0
0
0
0
0
0
0
0
-9
35
2
31
-3
17
1
3
0
0
0
0
0
0
0
0
0
-5
31
-57
-86
-32
24
-19
0
0
0
0
0
0
0
0
0
0
0
-3
1
6
39
-6
4
1
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
-1
-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
-44
-18
-71
-59
-97
0
0
0
-4
-4
0
0
0
0
0
0
-2
-68
77
21
-30
-185
0
0
0
0
0
0
0
0
0
0
0
0
-37
-48
5
-55
11
33
8
1
0
0
0
0
0
0
0
0
-13
47
8
26
14
33
49
20
0
0
0
0
0
0
0
0
0
-1
25
-57
30
-22
31
-9
-12
-3
0
0
0
0
0
0
0
0
0
8
35
17
2
33
-42
3
0
0
0
0
0
0
0
0
0
0
8
-51
-64
69
16
-32
0
0
0
0
0
0
0
0
0
0
0
-8
13
30
20
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
0
0
0
0
0
0
0
0
0
0
0
-4
-8
25
-23
-7
-26
0
0
0
0
0
0
0
0
0
0
0
-2
2
12
-20
35
59
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
41
30
10
-68
-27
0
0
0
0
0
0
0
0
0
0
-1
-3
43
2
-25
-21
2
0
0
0
0
0
0
0
0
0
-2
0
-1
25
22
-1
25
-14
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-12
14
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
2
-8
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
109
9
66
36
9
30
0
0
0
0
0
0
0
0
0
0
29
73
-5
77
14
-14
0
0
0
0
0
0
0
0
0
0
0
-37
-41
46
87
-22
30
41
-54
-45
0
0
0
0
0
0
0
0
-33
-39
16
-51
34
-78
4
53
-13
0
0
0
0
0
0
0
0
14
-84
3
25
-22
-16
90
-19
5
-5
0
0
0
0
0
0
0
26
11
-32
-40
59
19
56
-21
0
0
0
0
0
0
0
0
0
24
101
-10
6
70
9
5
16
0
0
0
0
0
0
0
0
0
30
-10
0
-1
-37
-6
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
4
-20
28
-87
0
0
0
14
0
0
0
0
0
0
0
1
-42
20
5
-18
-32
0
0
0
-12
0
0
0
0
0
0
0
5
56
8
-44
-41
-74
-10
44
-24
-3
0
0
0
0
0
0
0
-1
34
-52
6
-76
-5
-19
-75
-5
0
0
0
0
0
0
0
0
0
0
43
45
72
7
-66
1
0
0
0
0
0
0
0
0
0
0
23
16
-29
-7
49
16
-39
0
0
0
0
0
0
0
0
0
0
1
-67
8
-25
2
-24
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-16
50
-75
-5
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-4
20
3
30
0
0
0
0
0
0
0
0
0
0
5
1
23
67
19
-5
3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
77
15
-81
24
6
0
0
0
0
0
0
0
0
0
0
0
1
-20
13
7
-33
-1
0
0
0
0
0
0
0
0
0
0
8
0
13
-43
-30
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
24
-13
12
-76
26
82
0
0
0
0
0
0
0
0
0
0
6
-57
-20
35
-10
39
-57
0
0
0
-1
0
0
0
0
0
0
-3
-45
-15
-68
50
63
28
-24
-5
-2
0
0
0
0
0
0
0
0
42
20
-22
104
25
25
22
-25
14
0
0
0
0
0
0
0
0
-2
-4
-17
49
28
2
5
-29
0
0
0
0
0
0
0
0
3
0
-31
17
-12
44
-44
-30
-28
0
0
0
0
0
0
0
0
1
2
-3
20
20
-43
30
-5
28
0
0
0
0
0
0
0
0
-1
0
4
-6
8
1
-27
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
-4
13
-14
31
21
22
22
0
0
0
-24
-44
6
0
3
0
0
-70
-56
11
-14
9
-12
48
0
0
0
-2
38
-31
-1
-4
-1
0
-10
30
37
-15
52
-40
62
68
45
32
9
-36
-53
6
0
1
0
28
-50
44
52
35
42
68
71
82
35
2
-2
6
-1
0
0
0
41
13
-18
27
22
22
-28
-21
-15
61
-39
-37
32
0
-2
-1
0
-27
2
-52
6
12
21
-9
26
24
-63
-37
21
-33
32
-3
6
0
-37
25
83
52
-78
7
-29
-18
-51
-6
-50
66
5
-5
3
0
0
1
-14
-96
25
77
38
-12
-61
32
11
-13
-13
-8
0
0
0
0
14
0
-6
4
0
60
-14
-22
10
-59
51
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
22
-66
48
-20
16
0
0
0
0
0
0
0
0
0
0
0
30
-29
41
11
44
29
0
0
0
0
0
0
0
0
0
0
0
18
120
-80
22
-8
4
0
1
0
0
0
0
0
0
0
0
4
-8
20
-52
32
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-32
45
-4
47
45
0
0
0
0
0
0
0
0
0
0
0
8
-1
11
27
68
0
1
0
0
0
0
0
0
0
0
0
0
-1
-49
-70
-94
13
-3
0
0
0
0
0
0
0
0
0
0
0
-3
70
-47
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
41
28
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-39
37
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
8
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
81
-9
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
44
29
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-10
-17
2
7
0
0
0
0
0
0
0
0
0
0
4
-5
-61
-17
18
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
21
43
-28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-22
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-65
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
22
25
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
10
1
29
6
18
0
0
0
0
0
0
0
0
0
0
-1
3
29
-39
7
13
28
0
0
0
0
0
0
0
0
0
0
-5
-1
37
23
-46
-43
6
14
0
0
0
0
0
0
0
0
0
8
0
17
-103
-34
-8
-27
2
0
0
0
0
0
0
0
0
0
-2
1
0
23
22
50
-8
0
0
0
0
0
0
0
0
0
0
0
1
2
12
-16
13
-6
0
-2
0
0
0
0
0
0
0
0
0
5
-3
7
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
2
-2
17
14
0
0
0
0
0
0
0
0
0
0
0
0
48
-29
84
-47
19
0
0
0
0
0
0
0
0
0
0
0
-19
7
9
-36
-2
-7
19
0
0
0
0
0
0
0
0
0
-1
13
-16
5
-2
31
6
-8
0
0
0
0
0
0
0
0
0
0
37
23
-3
-2
47
12
-23
0
0
0
0
0
0
0
0
0
33
1
23
-5
-55
-23
23
-1
1
0
0
0
0
0
0
0
0
0
4
7
5
-16
4
0
-5
0
0
0
0
0
0
0
0
0
0
-2
4
2
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-32
-23
-27
0
0
0
2
-2
-1
0
0
0
0
0
13
49
-25
-7
28
-43
0
0
0
-33
9
0
0
0
0
0
6
3
-13
2
-17
8
13
-14
85
-25
19
1
0
0
0
0
0
0
-9
3
-4
7
-13
22
14
75
-21
3
0
0
0
0
0
0
0
7
-19
49
-41
-1
4
-73
-5
-33
0
3
0
0
0
0
0
0
-2
8
66
-19
-43
59
22
71
29
4
0
0
0
0
0
0
0
0
0
-60
17
22
-1
19
8
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-8
31
-51
18
0
0
0
60
4
0
0
0
0
0
0
0
-8
-24
16
34
9
0
0
0
-15
-42
0
0
0
0
0
0
-2
11
-14
-75
25
2
24
-53
-71
-1
28
0
0
0
0
0
0
-1
-5
-28
-9
-11
46
40
54
-92
-9
59
0
1
0
0
0
0
1
-19
-104
52
1
40
28
30
-8
26
-2
0
0
0
0
0
0
10
-43
52
-60
5
84
57
18
6
37
13
0
0
0
0
0
0
0
2
92
94
8
-41
-76
-109
59
83
-4
9
0
0
0
0
0
0
-9
15
34
62
-61
-18
22
5
0
-1
0
0
0
0
0
0
0
0
27
-20
-5
-44
-6
-67
7
4
0
0
0
0
0
0
0
0
0
0
-3
42
90
0
0
0
4
0
0
0
0
0
0
0
0
0
-4
-27
-74
9
0
0
0
-1
0
0
0
0
0
0
0
0
0
-7
2
22
-41
42
29
22
0
0
0
0
0
0
0
0
0
0
1
-5
8
-6
-4
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-1
10
-8
32
17
0
0
0
0
0
0
0
0
0
0
0
-3
15
4
-17
5
-1
0
0
0
0
0
0
0
0
0
0
0
-8
8
-4
-20
5
-2
0
0
0
0
0
0
0
0
0
0
0
8
-6
21
-25
-22
-30
16
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
22
0
0
0
0
0
0
0
0
0
0
0
13
67
35
-9
0
0
0
1
0
0
0
0
0
0
0
0
-2
-42
64
67
-19
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
47
69
5
40
-81
16
-3
0
0
0
0
0
0
0
0
2
13
10
-31
17
6
18
0
0
0
0
0
0
0
0
0
0
0
2
-69
35
-3
-5
0
1
0
0
0
0
0
0
0
0
0
0
6
40
-5
-35
-45
2
0
0
0
0
0
0
0
0
0
0
0
19
-8
71
-14
-33
7
0
0
0
0
0
0
0
0
0
0
0
0
-10
-12
13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-15
-41
58
8
16
45
0
0
0
5
0
0
0
0
0
0
6
-2
1
8
-27
49
32
0
0
0
31
0
0
0
0
0
0
8
10
42
3
63
-21
18
17
-30
46
-1
0
0
0
0
0
0
0
4
-35
29
-90
5
52
-71
28
29
0
0
0
0
0
0
0
0
10
-13
31
30
-21
-13
12
-15
2
1
0
0
0
0
0
0
0
19
-6
49
-35
17
9
36
27
5
0
0
0
0
0
0
0
0
0
-8
3
18
-10
-54
46
4
0
0
0
0
0
0
0
0
0
0
2
0
4
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
9
17
-3
0
0
0
0
0
0
0
0
0
0
1
0
-16
-19
-31
61
4
0
0
0
0
0
0
0
0
0
0
0
-9
1
30
18
9
7
33
6
4
0
0
0
0
0
0
0
0
0
10
-23
-31
88
28
12
-2
0
0
0
0
0
0
0
0
0
0
6
-13
14
-6
-46
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
-49
22
16
-4
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
41
91
-15
0
0
0
0
0
0
0
0
0
0
1
8
-2
41
8
5
-8
0
0
0
-2
0
0
0
0
0
0
0
-3
-2
-7
35
56
7
14
20
0
0
0
0
0
0
0
0
-2
14
10
48
0
3
-5
-49
44
10
0
0
0
0
0
0
0
0
8
-2
1
-20
42
-75
75
-5
-1
-2
0
0
0
0
0
0
0
-6
-4
0
-55
-8
6
-37
2
-20
3
0
0
0
0
0
0
0
-1
0
-8
-1
-1
7
1
41
0
0
0
0
0
0
0
0
0
0
-3
0
5
-19
-9
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
20
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
9
-20
-8
2
0
0
0
0
0
0
0
0
0
0
1
-5
-19
0
-2
4
17
0
0
0
0
0
0
0
0
0
0
-1
-1
14
3
8
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
1
-13
-6
0
2
0
0
0
0
0
0
0
0
0
0
1
17
8
-7
3
0
2
0
0
0
0
0
0
0
0
0
0
-1
3
-5
2
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
14
14
0
0
0
0
0
0
0
0
0
0
-1
0
1
3
21
-6
-49
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
-8
-3
6
1
-4
0
0
0
0
0
0
0
0
0
0
-2
31
7
0
-1
2
-2
4
0
0
0
0
0
0
0
0
0
0
5
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
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
3
9
0
0
0
0
0
0
0
0
0
0
0
0
2
13
14
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
-7
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
4
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
-15
-12
25
8
-2
0
0
0
0
0
0
0
0
0
0
10
31
0
17
55
-33
0
0
0
0
0
0
0
0
0
0
0
0
1
19
17
-39
0
-52
17
-1
0
0
0
0
0
0
0
0
-1
2
-2
2
13
16
24
6
0
0
0
0
0
0
0
0
0
-9
0
-25
-13
-5
2
0
5
0
0
0
0
0
0
0
0
0
0
-3
-2
18
15
15
-1
-3
0
0
0
0
0
0
0
0
0
0
10
0
10
20
-1
-1
3
0
0
0
0
0
0
0
0
0
2
-2
0
2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
-8
-35
20
-6
-2
0
0
0
0
0
0
0
0
0
-4
-2
-2
-4
-7
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
7
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
5
0
0
-1
0
0
0
0
0
0
0
0
0
3
-1
1
2
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
41
-1
-8
27
38
43
0
0
0
-12
-25
1
0
0
0
0
19
-31
-8
76
-25
-24
31
0
0
0
9
-2
-1
0
0
0
0
5
50
-12
-37
82
25
81
58
-19
8
13
-1
0
-1
0
1
0
-25
32
30
5
-22
17
-50
4
-15
-5
17
9
-4
0
0
0
0
-37
-46
5
8
-31
6
-30
-19
-22
-29
15
-5
1
0
0
0
0
-27
0
-22
29
-9
49
11
5
-41
-37
-20
0
1
0
0
0
0
-8
16
-1
11
-30
-3
-24
39
9
-43
-1
2
-3
0
0
0
0
0
-42
-5
3
11
-3
10
-24
33
-5
-6
-1
-1
0
0
0
0
1
0
3
8
-16
-7
7
-39
0
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-8
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
59
25
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
1
7
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-2
-8
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
-9
6
19
0
0
0
0
0
0
0
0
0
0
0
-1
3
24
10
-14
-1
0
-2
-24
0
0
0
0
0
0
0
0
-1
5
-5
-12
2
4
-13
6
-2
-1
0
0
0
0
0
0
0
0
-1
14
9
-8
7
-5
0
2
0
0
0
0
0
0
0
0
0
0
5
-12
-1
4
0
3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
-13
-21
0
0
0
4
0
0
0
0
0
0
0
0
-6
-12
-8
-43
17
0
0
0
2
0
0
0
0
0
0
0
0
7
5
-15
-33
9
-3
9
-3
5
5
0
0
0
0
0
0
0
-6
25
3
5
-2
17
-4
-49
5
-2
0
0
0
0
0
0
0
0
-19
-48
53
31
25
45
16
-6
0
0
0
0
0
0
0
0
-3
-2
13
-24
-35
7
12
9
7
1
0
0
0
0
0
0
0
0
9
8
42
-23
-18
1
10
5
0
0
0
0
0
0
0
0
0
-1
-17
1
11
48
-16
-2
1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-5
-2
0
1
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
-7
5
4
0
1
0
0
0
0
0
0
0
0
0
0
1
-6
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
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
1
-14
-29
0
0
0
0
0
0
0
0
0
0
0
2
-5
-12
1
-14
-12
0
0
0
0
0
0
0
0
0
0
2
0
0
6
-3
-7
-17
14
-13
15
0
0
0
0
0
0
0
0
1
1
0
-3
6
-13
-2
4
1
0
0
0
0
0
0
0
0
0
3
12
14
7
5
-1
-1
0
1
0
0
0
0
0
0
0
0
0
12
0
-5
-2
-4
3
0
0
0
0
0
0
0
0
0
1
0
0
4
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
30
85
20
8
-53
69
0
0
108
30
-17
-32
-35
-34
78
0
0
59
29
0
-28
-43
-8
14
0
0
8
32
5
-31
-25
-14
-68
0
0
62
-7
-13
-35
-127
-58
-56
0
0
-23
-20
-1
1
-22
-38
-17
0
0
-23
24
8
5
7
-1
9
0
0
25
-5
48
8
26
33
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
8
-50
-69
-87
0
-59
-6
-5
33
-43
-138
80
0
0
0
0
0
0
-41
0
0
0
0
0
0
-4
5
-2
0
0
-96
0
6
10
-51
64
0
16
-15
0
0
-166
12
64
0
0
-12
0
0
0
-38
0
0
-1
-67
-3
-1
-30
60
-13
0
0
-6
-3
0
0
-17
-5
-31
77
-36
-14
16
20
38
-95
0
0
0
0
0
0
2
0
0
-17
-12
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
6
63
85
-24
-3
-53
13
84
62
71
2
0
0
-106
-87
-57
-56
-22
-43
-4
-16
0
-63
35
28
48
50
0
0
-5
5
3
2
-69
-31
-3
-24
-131
-54
89
-17
-178
173
0
0
-18
-2
-2
-36
88
102
-12
36
-77
-63
-1
122
131
73
0
0
5
6
12
-17
42
64
21
47
-59
-42
87
54
89
73
0
0
131
0
-30
-70
118
31
12
22
-38
-26
21
86
53
34
0
0
0
0
0
0
11
0
5
74
154
-4
-67
65
100
0
0
0
0
0
0
0
0
0
0
0
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
-7
-50
-89
57
50
2
35
8
-35
-19
5
9
-42
0
0
1
0
0
0
-25
1
0
-24
0
0
0
-13
1
-2
0
0
-11
-14
1
24
12
69
-1
35
12
0
0
-101
-124
3
0
0
-5
0
-2
8
-85
-23
-12
-1
-58
-16
6
4
-40
-93
0
0
-24
-2
-2
0
-84
-27
-42
-13
-6
-17
7
43
51
-69
0
0
0
0
0
0
0
0
-2
-5
31
0
1
-1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-2
13
93
18
-30
95
-24
-22
-4
105
77
86
0
0
-59
23
-18
-77
-50
-70
-1
-14
0
-99
-72
-65
-47
-9
0
0
-9
7
1
2
-58
-4
139
-72
-74
-3
-53
16
-49
-148
0
0
-23
-3
-8
-125
67
83
-24
-46
-63
-142
-37
43
15
29
0
0
34
-7
45
74
59
5
8
47
-58
15
-34
67
7
58
0
0
123
0
-27
2
73
123
41
109
-31
-49
55
126
35
59
0
0
0
0
0
0
66
0
80
70
84
4
33
107
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-3
9
-69
42
97
5
98
23
-76
-54
-15
8
-69
0
0
3
0
0
0
-19
1
0
-23
0
0
2
-9
1
-2
0
0
31
-14
1
32
11
48
-1
17
8
0
0
-29
-86
5
0
0
-10
0
-2
7
-86
-18
-13
14
12
-12
6
13
4
-34
0
0
-16
-2
-2
0
-51
-25
-42
-5
16
-17
47
15
41
-4
0
0
0
0
0
0
0
0
-2
-5
18
0
1
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-2
29
57
44
-15
109
-1
60
98
-33
28
21
0
0
-7
-13
-51
-147
7
-75
-1
-13
0
91
13
-31
-37
-17
0
0
-9
7
1
2
29
0
71
-93
34
6
-101
-6
-8
-121
0
0
3
-3
-8
-72
-44
-26
-15
11
-42
-80
-31
-61
-82
6
0
0
51
-7
42
49
-25
15
110
25
-51
34
33
50
63
49
0
0
75
0
-8
-1
48
68
32
41
11
-17
24
17
5
7
0
0
0
0
0
0
48
0
74
49
49
4
42
57
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-1
-1
16
0
1
-1
-2
-6
1
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-6
1
22
-72
-13
2
-3
-13
-28
-4
0
0
6
0
3
-7
74
41
-27
-25
0
79
20
-50
17
60
0
0
0
0
0
0
1
0
8
-14
37
0
3
-4
3
0
0
0
0
0
0
0
27
5
34
31
31
-6
-8
-6
-24
10
0
0
8
0
2
0
2
-1
61
-35
-45
-5
43
5
-5
-8
0
0
1
0
0
0
6
3
25
6
-15
2
9
-39
1
-8
0
0
0
0
0
0
1
0
10
-2
0
0
0
2
0
0
9
1
3
4
-3
-1
-4
-13
-2
6
-2
-1
-2
0
4
4
12
14
17
9
2
-3
1
-8
-7
-4
2
2
4
3
4
1
6
0
-2
-10
11
6
2
-3
-3
-1
-5
0
-14
-1
3
1
2
0
1
6
7
1
10
-1
-12
-19
11
-15
7
9
40
2
-21
-27
-8
15
19
6
39
22
21
16
10
11
-18
38
22
17
22
20
21
6
7
10
6
18
9
3
-1
0
11
9
6
2
5
-1
-7
-11
-4
-29
-21
-2
1
4
-4
-2
-5
-1
12
18
-2
-7
4
-18
-32
1
64
39
-3
-28
20
18
19
13
9
1
2
-3
-4
8
-5
0
-5
-19
11
3
4
8
4
17
11
-7
-9
4
-2
6
7
3
5
-19
18
9
7
8
11
14
-16
1
-12
8
7
9
-7
6
33
22
18
2
-4
17
2
18
11
3
4
8
6
11
2
19
-5
-2
7
18
38
-16
1
6
4
15
-4
1
5
4
-11
-6
-2
1
-4
7
2
5
12
8
0
5
14
10
-1
-8
4
9
16
8
-2
17
-4
-9
8
11
5
6
3
3
11
-2
4
8
9
10
5
6
4
11
0
7
9
6
11
0
-2
3
-3
1
6
-10
7
-3
10
9
10
-11
2
7
7
-7
2
-7
3
7
8
-4
6
11
3
1
3
8
1
9
3
5
2
3
7
13
-2
3
2
10
-3
1
4
-2
-14
-13
2
3
2
-6
-14
19
14
6
-1
6
-15
6
13
6
10
1
6
-2
0
-3
3
5
-5
21
0
-2
2
-4
12
-1
6
12
7
2
8
4
9
-1
7
0
-1
5
6
0
-4
5
1
-8
-9
1
12
-17
1
24
-12
12
-13
43
-3
-33
26
8
9
-22
-3
9
-1
27
0
5
-3
8
2
4
-13
8
-3
19
-16
-22
6
0
-4
-16
7
30
3
-29
-8
2
2
5
10
-13
40
14
-49
21
-12
-23
-6
-57
23
23
-20
22
-5
-6
-4
-32
-14
6
8
0
-8
5
16
-38
10
7
-9
39
-15
21
-11
-11
4
-18
-26
36
1
10
8
-3
14
-13
5
16
5
22
22
18
-7
-6
-18
-31
-14
-14
-23
-4
-7
20
7
-9
-34
14
23
25
-7
5
7
-2
-35
-7
4
22
-47
5
8
5
3
-51
8
4
-2
-17
-14
7
2
9
-43
-7
-5
27
-13
-19
2
-2
6
-24
-4
4
-25
26
-28
17
-2
4
-52
-47
19
-4
-16
-69
-19
0
-4
-6
5
13
0
-1
-31
-21
-4
12
-21
9
-1
10
-8
-41
-24
-23
28
24
13
21
35
42
-12
-8
11
0
33
58
4
1
36
-7
-12
-3
-2
-49
66
20
36
18
-19
-13
3
-4
-1
23
30
-4
36
-1
-2
6
4
18
50
26
11
16
42
12
2
3
30
4
13
24
9
7
8
3
6
64
45
20
-3
-5
-3
15
0
8
-22
25
20
29
-16
-5
-3
2
-5
14
-7
49
7
17
-32
19
1
-60
-8
-2
-9
-14
7
1
9
14
10
2
5
29
18
26
-4
-1
7
4
2
33
-4
23
9
6
-2
2
9
-6
23
-4
6
-12
-10
5
0
2
-48
-51
-11
-23
-30
-6
-6
3
3
-22
-25
14
22
-12
-5
2
0
0
-33
-6
-3
26
-1
-26
-8
-1
7
5
-27
-4
-34
18
-20
0
7
-1
-11
7
-24
-4
-17
-26
-14
12
7
5
5
7
-4
-9
-13
-5
-4
-4
-9
35
-1
8
-12
-4
-11
-3
3
0
32
4
4
1
10
-6
0
0
20
20
-1
1
-2
3
1
2
7
81
6
5
3
11
-4
3
0
2
6
18
34
30
6
-12
2
1
5
15
29
-10
21
19
2
3
2
-2
29
31
7
22
-7
-30
-5
2
17
-16
27
-23
-1
-23
-6
-8
-18
-10
-13
3
-25
-8
7
2
3
7
2
6
-12
6
-2
3
6
-3
1
-3
4
13
-24
-15
7
5
4
0
7
32
29
20
-14
-11
1
5
-1
5
-34
-24
-23
-20
-25
-4
1
2
4
-39
-33
58
3
5
0
8
3
3
-15
29
-34
-7
15
2
-2
2
16
48
-12
26
-12
-18
-49
2
-1
-4
6
24
-64
2
-39
-8
-19
30
-1
-10
15
-5
8
-16
-3
-7
-4
-5
48
-20
11
-29
-11
11
-11
5
0
32
21
3
-11
-2
5
-10
3
3
16
17
15
2
6
13
-1
-4
-1
27
-12
-5
-25
3
1
-5
4
-2
-21
38
31
6
14
5
-6
0
4
-7
26
-12
8
3
-2
8
3
20
49
14
4
14
-5
-11
-1
-5
-4
-18
-22
-23
0
38
9
-4
5
9
-25
17
-3
18
9
-5
-9
13
-8
0
-46
13
-5
1
7
-2
4
19
-29
-24
39
6
22
17
-15
-18
20
-27
-6
-2
-6
41
-6
4
-22
-3
4
8
-16
5
-26
25
20
-13
17
-13
25
31
6
15
11
-19
-2
25
-2
-4
-30
11
18
-19
17
-3
-9
39
-3
-10
46
20
4
-2
-12
19
-7
1
-19
29
13
13
38
13
-5
9
-5
-31
-2
6
-16
-4
-6
21
55
3
-1
4
-17
-5
-12
4
-36
17
-25
11
4
-17
2
-5
14
-32
-5
-8
11
-6
15
-3
-8
4
-28
13
-5
-4
-6
2
-1
-7
1
9
5
-22
-38
-4
15
6
17
-8
-9
-4
6
-41
6
1
16
-9
31
-29
-9
7
49
-24
28
3
8
23
-15
-9
17
9
11
24
-31
-6
-7
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
66
18
32
0
0
0
0
0
0
1
-8
28
0
0
0
0
0
0
2
-13
-28
0
0
0
0
0
0
-79
50
-120
0
0
-2
-5
113
-76
12
1
18
0
0
4
-15
35
-76
-10
25
-8
0
0
-172
5
10
-2
-7
0
1
0
0
-150
-23
24
49
94
30
11
0
0
49
36
79
-114
93
-49
38
0
0
-49
-124
4
-69
126
-16
-175
0
0
-31
-39
75
19
33
41
0
0
0
-40
13
-11
-37
20
14
54
0
0
-80
-42
34
20
0
-8
-35
0
0
-10
19
51
-48
-4
1
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-9
8
0
0
0
0
0
0
-5
-56
-31
0
0
0
0
0
0
-3
-70
12
0
0
0
0
0
-1
-46
-15
-27
0
0
4
-84
-5
80
-4
-15
34
0
0
24
-4
81
-17
-58
26
4
0
0
-6
31
13
2
-9
-1
-9
0
0
-130
-4
1
84
27
-3
24
0
0
-3
33
54
15
-47
-170
3
0
0
-69
-95
-13
40
-16
88
-80
0
0
16
27
-26
-8
-2
25
0
0
0
-86
-25
-44
49
-8
24
2
0
0
-50
20
-24
23
-20
3
2
0
0
-9
48
30
-35
-44
14
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-27
-58
-52
0
0
0
0
0
0
-5
-8
13
0
0
0
0
0
0
1
-128
92
0
0
0
0
0
-1
18
-51
36
0
0
0
-43
-20
33
-5
57
13
0
0
24
-12
3
13
-25
30
-16
0
0
19
-3
-6
4
-8
-26
-59
0
0
29
7
14
72
11
-13
40
0
0
-27
-29
14
68
-34
-64
-29
0
0
50
-95
-1
121
5
102
-48
0
0
8
38
-7
23
3
29
0
0
0
-51
20
5
-13
-49
41
54
0
0
68
-4
-24
64
19
30
-28
0
0
-93
-37
0
85
-5
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
-44
0
0
0
0
0
0
0
13
-14
0
0
0
0
0
0
0
-31
-19
0
0
0
0
0
0
32
-19
-58
0
0
0
34
1
47
-12
7
-50
0
0
4
-5
8
-14
19
-5
-53
0
0
51
-7
-3
2
8
5
-20
0
0
-34
74
-5
28
-59
-2
11
0
0
-10
-15
27
21
66
16
49
0
0
-4
10
-16
55
42
25
22
0
0
8
23
36
40
-51
0
0
0
0
-60
79
32
7
-3
-2
45
0
0
25
4
-37
1
-28
-5
10
0
0
-14
-7
42
-4
51
0
8
9
-43
5
34
-3
1
5
-34
11
-18
-3
-23
-41
-40
-22
6
-17
-12
-24
2
9
0
0
0
0
-12
0
0
0
0
-49
0
0
0
0
-12
1
1
0
0
4
3
-7
14
0
-18
-46
3
-37
-4
15
49
-35
33
30
-4
-43
10
33
-57
7
-6
-15
7
-1
20
-20
3
-4
3
28
-1
0
0
-1
29
-36
-6
-14
-14
-16
3
-7
-30
-14
-18
-17
5
18
-10
4
19
-64
-30
-72
-28
-13
5
19
-18
-7
24
20
7
-4
12
-26
-3
-3
13
-23
3
-7
-12
-8
16
-1
0
0
-1
-16
-66
16
-25
-9
-18
32
14
-42
7
-6
-31
-4
-59
22
-10
26
-18
-19
-6
-25
-66
7
-38
-29
-3
-9
16
23
-3
15
-1
-29
4
-2
-4
2
0
0
-4
-13
0
0
0
-1
-16
-15
-2
2
-19
28
-5
-12
25
-10
-46
21
-21
20
14
7
-41
0
-40
-17
21
-48
-29
-50
11
-4
31
-11
7
18
4
8
50
-39
25
0
-2
60
36
3
2
0
0
0
0
0
0
0
0
0
0
0
-5
40
-67
76
-48
-21
0
0
0
0
0
0
0
0
0
0
0
-14
-29
-48
-4
53
4
-6
0
-117
0
0
0
0
0
0
0
0
-4
56
-15
76
88
83
6
1
-7
0
0
0
0
0
0
0
0
2
5
-21
-6
-13
4
22
0
14
0
0
0
0
0
0
0
0
-51
14
42
0
-4
-58
-1
-8
7
0
0
0
0
0
0
0
0
0
6
67
4
30
4
-6
2
1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
64
46
-2
23
-26
0
0
0
0
0
0
0
0
0
0
27
43
5
13
47
12
-51
0
3
0
0
0
0
0
0
0
0
-26
21
27
59
1
72
-34
-15
-5
40
0
0
0
0
0
0
0
64
0
2
14
31
-38
-58
-61
104
74
0
0
0
0
0
0
0
17
49
27
0
56
32
-24
13
-125
59
0
0
0
0
0
0
0
-9
55
-5
-6
1
-14
-12
-3
-110
23
0
0
0
0
0
0
0
5
-19
8
-12
-16
22
13
-5
6
16
0
0
0
0
0
0
0
0
-158
31
-21
-31
-18
0
0
-19
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
77
-3
53
-88
-4
0
0
1
0
0
0
0
0
0
22
70
16
17
16
21
-64
0
-3
0
7
0
0
0
0
0
0
3
-15
5
3
4
24
-48
-10
48
15
-25
0
0
0
0
0
0
-13
8
3
18
-5
-21
78
-42
-34
45
4
0
0
0
0
0
0
-33
27
10
-4
-7
30
19
-64
-50
-34
-2
0
0
0
0
0
0
-7
26
5
-1
-4
-3
12
-88
-65
65
12
0
0
0
0
0
0
0
-34
9
27
0
-5
22
-21
-32
94
0
0
0
0
0
0
0
0
-8
-53
41
85
38
-1
-7
13
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-19
24
0
76
-51
-71
5
0
0
1
0
0
0
0
0
0
17
-3
79
34
35
-20
9
0
3
0
0
0
0
0
0
0
0
25
-30
11
29
53
-10
-66
-16
-21
-10
55
0
0
0
0
0
0
31
-13
-2
25
14
-40
53
32
-32
-68
-3
0
0
0
0
0
0
88
54
4
53
61
-23
-7
-28
42
36
1
0
0
0
0
0
0
1
10
61
15
-7
76
-20
38
-13
-35
-64
0
0
0
0
0
0
0
-39
37
37
10
-48
-52
8
-43
0
0
0
0
0
0
0
0
0
0
1
-15
-8
24
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-37
27
0
13
-78
-2
0
1
0
0
0
0
0
0
0
14
69
35
48
64
98
43
0
0
0
0
0
0
0
0
0
0
-13
17
28
15
62
32
5
-13
5
66
1
0
0
0
0
0
0
41
-36
-16
3
15
23
-38
41
-51
114
3
0
0
0
0
0
0
-8
-7
3
29
-49
46
74
9
-63
84
0
0
0
0
0
0
0
0
21
-13
39
30
-42
-15
-7
-27
38
0
0
0
0
0
0
0
0
-15
7
-12
-13
41
23
-54
12
3
0
0
0
0
0
0
0
0
13
12
-27
-8
4
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-59
67
5
0
1
-10
0
0
0
0
0
0
0
0
0
0
11
18
-57
5
-10
23
0
0
0
0
0
0
0
0
0
0
0
-6
-9
-35
-79
7
-20
-5
1
-5
-2
0
0
0
0
0
0
0
83
25
-56
22
16
-12
6
-5
25
1
0
0
0
0
0
0
-29
-29
-61
-66
5
21
48
5
12
56
3
0
0
0
0
0
0
0
21
-8
-24
19
35
-45
0
1
5
0
0
0
0
0
0
0
0
1
-2
19
-28
0
-3
-13
-7
0
0
0
0
0
0
0
0
0
0
5
-14
-24
0
0
0
0
0
0
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
-12
-73
3
1
0
0
0
0
0
0
0
0
0
0
0
0
8
8
-21
-60
6
-3
0
0
0
0
0
0
0
0
0
0
0
-19
-23
-11
74
-46
-1
0
-3
-19
1
0
0
0
0
0
0
0
-7
15
-1
53
-25
-8
-1
0
0
0
0
0
0
0
0
0
0
0
57
13
-45
-1
10
18
0
-10
0
0
0
0
0
0
0
0
-24
10
28
91
-18
0
0
0
5
0
0
0
0
0
0
0
0
-1
-2
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
93
-24
-9
-27
-8
0
0
0
0
0
0
0
0
0
0
0
122
60
-10
-11
119
-66
-7
0
-16
0
0
0
0
0
0
0
0
39
-4
24
42
20
101
10
1
-92
0
0
0
0
0
0
0
0
51
13
42
7
73
-10
-71
50
122
0
0
0
0
0
0
0
0
-27
22
47
6
41
1
-98
-19
88
0
0
0
0
0
0
0
0
13
65
-4
59
33
77
2
-6
13
0
0
0
0
0
0
0
0
-36
20
-2
-19
-46
0
-4
1
23
0
0
0
0
0
0
0
0
0
-39
-1
28
0
-35
8
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-6
3
-20
14
-3
5
0
0
0
0
0
0
0
0
0
0
-8
4
28
1
13
-43
-20
0
7
0
0
0
0
0
0
0
0
-13
13
14
16
17
26
-22
40
19
56
0
0
0
0
0
0
0
-8
-2
16
-28
37
-69
-21
10
-74
40
0
0
0
0
0
0
0
8
38
24
1
37
5
-39
-54
28
-65
0
0
0
0
0
0
0
26
13
18
74
13
36
25
11
32
16
0
0
0
0
0
0
0
15
-30
17
-7
-47
77
135
-41
-16
-24
0
0
0
0
0
0
0
0
18
22
-27
-29
-2
23
0
-2
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
30
24
17
47
41
32
-2
0
5
4
0
0
0
0
0
0
25
2
-8
46
5
15
-11
0
3
0
8
0
0
0
0
0
0
33
34
7
5
-17
45
29
-27
-6
45
23
0
0
0
0
0
0
30
1
3
17
-13
14
47
-112
-8
31
0
0
0
0
0
0
0
-9
28
-9
16
-42
120
30
-89
6
28
1
0
0
0
0
0
0
0
22
13
1
5
-20
-5
-24
-62
155
0
0
0
0
0
0
0
-9
-53
-4
-8
47
91
-14
-63
9
-35
0
0
0
0
0
0
0
0
3
22
-1
40
-17
22
34
1
-4
0
0
0
0
0
0
0
0
0
0
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
23
105
16
42
2
24
-61
3
0
0
-2
0
0
0
0
0
0
7
-19
20
82
111
-22
37
0
34
0
0
0
0
0
0
0
0
-107
6
19
-14
-13
50
-25
36
67
-19
12
-2
0
0
0
0
0
-4
-30
22
28
13
98
-9
-23
4
-97
13
0
0
0
0
0
0
8
18
-22
26
-23
13
-10
73
42
28
-8
0
0
0
0
0
0
0
-4
29
2
58
46
-2
-49
-113
31
-3
0
0
0
0
0
0
-12
-78
-13
66
9
96
-13
-63
-57
35
0
0
0
0
0
0
0
0
-23
-31
18
0
9
26
-1
1
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
43
30
-11
-6
60
5
3
0
0
0
0
0
0
0
0
0
92
-13
18
11
29
8
60
0
0
0
-2
-1
0
0
0
0
0
-13
-11
-22
-38
49
13
-49
14
-10
-47
1
0
0
0
0
0
0
-58
5
29
-5
12
-91
24
66
-57
64
6
0
0
0
0
0
0
29
2
-13
-19
2
-5
-26
-26
-60
13
0
0
0
0
0
0
0
2
5
13
-18
0
96
18
-22
-139
34
-2
0
0
0
0
0
0
0
35
-29
127
21
36
9
-9
8
5
0
0
0
0
0
0
0
0
0
-45
84
-7
-8
2
0
-2
20
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
2
3
50
-16
17
-2
0
0
0
0
0
0
0
0
0
74
-38
55
48
109
-50
33
0
-27
0
-10
0
0
0
0
0
0
8
-18
53
41
44
24
-6
-4
25
-5
1
0
0
0
0
0
0
56
23
57
39
-52
-25
-19
66
-75
-30
-8
0
0
0
0
0
0
-9
46
27
-53
-13
15
-47
47
-124
-13
5
0
0
0
0
0
0
0
66
-2
10
-3
-4
-20
-19
3
0
0
0
0
0
0
0
0
0
-18
-20
0
67
-3
7
5
2
2
0
0
0
0
0
0
0
0
0
6
-1
17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-30
-49
114
24
16
1
0
0
1
0
0
0
0
0
0
0
-6
-10
26
-5
-46
-8
0
0
0
2
0
0
0
0
0
0
0
2
-79
41
-10
104
-75
0
-1
-13
8
0
0
0
0
0
0
0
-15
28
44
93
-107
0
1
25
7
-1
0
0
0
0
0
0
0
10
17
2
58
53
17
6
0
-6
-3
0
0
0
0
0
0
0
62
-99
-50
-30
-22
0
-1
2
8
0
0
0
0
0
0
0
0
0
3
47
4
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
4
0
0
0
0
0
0
0
0
0
0
0
-2
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-20
-44
23
41
56
0
0
0
0
0
0
0
0
0
0
0
-21
18
20
41
-42
-55
8
0
6
0
0
0
0
0
0
0
0
35
20
47
32
-10
71
4
7
24
0
0
0
0
0
0
0
0
41
28
47
61
17
4
-43
43
-32
0
0
0
0
0
0
0
0
17
34
62
10
-69
23
8
-21
49
0
0
0
0
0
0
0
0
-13
56
46
-44
67
-85
42
2
19
0
0
0
0
0
0
0
0
-9
48
-19
-1
-16
0
0
0
-10
0
0
0
0
0
0
0
0
0
-32
0
6
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
1
4
-1
63
113
7
0
1
0
0
0
0
0
0
0
-14
-3
13
6
18
4
-158
0
16
0
0
0
0
0
0
0
0
10
2
16
40
35
42
23
-14
57
62
0
0
0
0
0
0
0
-6
6
14
36
-36
-11
-33
-112
96
-37
0
0
0
0
0
0
0
-14
21
7
-23
3
4
-23
4
-5
25
0
0
0
0
0
0
0
-28
19
12
2
39
20
58
-15
12
-60
0
0
0
0
0
0
0
3
-15
-4
1
-55
20
45
53
5
23
0
0
0
0
0
0
0
0
-29
-58
-47
-28
-17
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-1
-15
-18
51
44
-5
0
2
0
0
0
0
0
0
0
6
-5
12
1
-5
28
-1
0
-1
0
0
0
0
0
0
0
0
-12
-10
17
61
27
65
-28
34
56
-38
4
0
0
0
0
0
0
-17
13
-16
34
14
46
0
-74
-49
-55
2
0
0
0
0
0
0
-42
31
14
16
-62
29
2
-10
-48
-39
-1
0
0
0
0
0
0
0
1
25
-57
50
105
109
-36
47
97
0
0
0
0
0
0
0
0
23
-20
23
-31
27
85
-61
-4
-2
0
0
0
0
0
0
0
0
21
16
31
15
93
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
130
36
56
8
-57
-32
4
0
0
0
0
0
0
0
0
0
-33
22
55
34
8
9
-59
0
-10
0
-6
0
0
0
0
0
0
-18
31
44
38
47
96
-72
14
-22
29
1
0
0
0
0
0
0
0
10
-3
30
73
16
-12
-7
36
41
-15
-1
0
0
0
0
0
22
6
-2
16
-64
42
53
28
-18
-95
24
0
0
0
0
0
0
-7
-11
5
-14
133
42
-85
20
-78
-25
5
0
0
0
0
0
0
-4
21
0
104
6
3
8
-16
-2
0
0
0
0
0
0
0
0
0
0
-8
-9
21
6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
13
16
52
21
-27
3
0
0
0
0
0
0
0
0
0
-7
7
24
23
22
-25
-123
0
1
0
0
0
0
0
0
0
0
41
58
20
21
7
58
9
91
-16
-42
1
0
0
0
0
0
0
36
35
3
16
42
-37
11
-1
-32
61
0
2
0
0
0
0
0
35
32
-12
-2
-71
-5
-64
10
-31
-8
0
0
0
0
0
0
0
1
77
33
17
-32
14
-61
-58
-34
-63
0
0
0
0
0
0
0
0
13
21
13
-9
122
-16
76
2
16
0
0
0
0
0
0
0
0
17
5
47
17
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
72
-13
66
53
49
1
0
0
-1
0
0
0
0
0
0
0
58
-8
1
44
-50
114
20
0
0
0
0
0
0
0
0
0
0
4
-9
-51
58
66
23
66
-9
-120
67
-6
0
0
0
0
0
0
-17
-23
16
32
-23
-4
-8
-4
-51
48
5
0
0
0
0
0
0
43
16
-23
-13
20
6
42
-5
-42
-63
0
0
0
0
0
0
0
0
5
40
-54
33
19
18
6
-2
8
-1
0
0
0
0
0
0
0
1
-41
72
23
6
1
-1
-5
10
0
0
0
0
0
0
0
0
3
3
-15
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-28
-39
-50
38
0
0
0
0
0
0
0
0
0
0
0
0
49
17
-52
-21
7
-2
0
0
0
-1
0
0
0
0
0
0
0
77
17
9
1
63
1
-22
-1
-8
-8
4
0
0
0
0
0
0
2
37
45
-5
5
69
-33
0
-16
0
0
0
0
0
0
0
0
-20
6
-27
-34
102
31
-1
-53
4
0
0
0
0
0
0
0
0
0
58
27
-10
-17
-4
1
0
2
0
0
0
0
0
0
0
0
0
-3
20
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
5
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
4
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-16
6
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-12
10
13
4
8
-1
0
0
0
0
0
0
0
0
0
0
-6
3
10
2
1
20
-3
0
0
0
0
0
0
0
0
0
0
0
8
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
27
41
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
31
7
0
22
0
0
0
0
0
0
0
0
0
0
0
-8
52
-2
14
-3
-4
-1
-6
0
0
0
0
0
0
0
0
0
0
9
7
5
-14
5
0
0
0
0
0
0
0
0
0
0
0
1
50
19
-42
-2
1
0
-2
1
0
0
0
0
0
0
0
0
-5
0
-10
8
-7
4
-1
0
1
0
0
0
0
0
0
0
0
0
5
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
74
14
28
27
24
0
0
0
0
0
0
0
0
0
0
0
12
-33
-8
23
-12
-32
0
0
-10
0
0
0
0
0
0
0
0
-31
36
18
43
63
14
0
0
8
0
0
0
0
0
0
0
0
13
72
-42
28
44
41
-13
21
-9
0
0
0
0
0
0
0
0
57
-59
11
34
-31
-8
4
-13
46
0
0
0
0
0
0
0
0
7
52
45
4
-4
-15
14
-8
42
0
0
0
0
0
0
0
0
0
-5
20
-7
13
-2
8
0
6
0
0
0
0
0
0
0
0
0
-7
-6
-66
0
3
-5
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-12
64
-16
16
36
5
-6
0
0
0
0
0
0
0
0
0
0
6
-18
-11
-7
13
29
-8
0
59
0
0
0
0
0
0
0
0
-2
-2
17
30
1
15
-3
-35
163
-42
0
0
0
0
0
0
0
0
6
25
-20
-32
14
-41
-21
-12
27
0
0
0
0
0
0
0
78
31
7
-4
-18
-41
11
-9
69
13
0
0
0
0
0
0
0
50
21
10
0
37
12
19
5
-82
63
0
0
0
0
0
0
0
10
22
13
58
41
73
56
-18
-34
5
0
0
0
0
0
0
0
0
14
93
-26
10
52
-2
-8
-1
-3
0
0
0
0
0
0
0
0
-20
-106
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
1
0
10
-13
14
-15
90
1
0
3
0
0
0
0
0
0
0
3
25
-24
-8
14
44
52
0
3
0
-1
0
0
0
0
0
0
32
-16
-4
4
15
42
-67
25
34
29
0
0
0
0
0
0
0
43
14
-1
14
24
-55
-20
-83
19
31
-3
0
0
0
0
0
0
-19
93
17
-1
25
94
46
-32
24
22
0
0
0
0
0
0
0
0
-6
0
6
45
22
59
-59
-107
-23
-3
0
0
0
0
0
0
-31
13
14
64
-28
68
15
-124
-25
-1
0
0
0
0
0
0
0
0
-10
-13
-44
22
-22
14
-9
1
0
0
0
0
0
0
0
0
0
0
-4
-10
-1
1
0
0
0
0
0
0
0
0
0
0
0
31
-7
11
19
5
-30
0
2
0
0
0
0
0
0
0
0
0
-34
-9
7
50
45
-58
49
0
2
0
7
0
0
0
0
0
0
-13
41
5
17
75
-10
-41
22
13
46
-32
0
0
0
0
0
0
-28
18
51
27
-30
44
22
-68
-26
31
-3
2
0
0
0
0
0
46
33
22
-8
61
-47
-83
41
46
-13
-9
0
0
0
0
0
0
2
110
21
-23
56
-45
20
-13
-1
-10
0
0
0
0
0
0
0
1
-39
58
9
55
59
22
-4
-31
1
0
0
0
0
0
0
0
0
-7
-9
27
44
5
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
-19
-19
-64
-81
-28
0
0
-1
0
0
0
0
0
0
0
-8
33
68
-30
3
21
-13
0
0
0
0
0
0
0
0
0
0
-30
11
24
30
7
19
-35
4
24
19
-1
0
0
0
0
0
0
-28
9
0
33
24
-17
-14
-68
-98
-52
7
0
0
0
0
0
0
-5
6
19
-4
36
-6
20
-22
-117
-41
-1
0
0
0
0
0
0
0
63
-3
24
30
-1
-59
-57
51
-32
0
0
0
0
0
0
0
0
13
-11
-9
30
-36
2
-20
-16
8
0
0
0
0
0
0
0
0
-10
12
43
-47
7
0
-1
1
-5
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
32
76
-22
54
9
5
0
0
0
0
0
0
0
0
0
0
5
-17
-60
52
-10
30
-19
0
-8
0
0
0
0
0
0
0
0
14
-47
40
29
78
50
-42
25
24
-1
-1
0
0
0
0
0
0
-5
9
16
79
-28
-10
37
-71
-127
-14
0
0
0
0
0
0
0
-7
12
3
6
51
57
-52
-39
2
25
-3
0
0
0
0
0
0
0
41
-17
22
67
7
-13
-56
-15
4
-8
0
0
0
0
0
0
0
-2
28
16
100
69
2
0
8
0
0
0
0
0
0
0
0
0
0
1
92
-13
10
-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
-5
-2
-93
35
23
3
0
0
0
0
0
0
0
0
0
0
0
42
-98
-63
30
146
12
0
0
0
0
0
0
0
0
0
0
0
-92
16
-27
-35
96
40
3
0
6
3
0
0
0
0
0
0
0
5
-7
149
21
-8
2
-4
0
-25
0
0
0
0
0
0
0
0
-4
15
-16
108
76
-72
2
-3
-9
0
0
0
0
0
0
0
0
23
110
51
-10
6
-1
-3
0
0
1
0
0
0
0
0
0
0
0
24
18
20
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-4
-49
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
8
2
6
0
-2
-2
0
-1
0
0
0
0
0
0
0
0
-1
-1
9
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-17
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
30
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
35
-8
-8
2
-1
0
0
0
0
0
0
0
0
0
0
7
3
25
-14
-29
-34
-17
0
0
0
0
0
0
0
0
0
0
-1
33
0
4
-70
6
7
-17
1
-8
0
0
0
0
0
0
0
-8
49
1
60
-20
84
6
0
0
0
0
0
0
0
0
0
0
14
-10
10
-8
-27
10
3
3
-14
0
0
0
0
0
0
0
0
0
-6
-41
-55
-7
7
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
24
1
-5
-8
-3
0
0
2
0
0
0
0
0
0
0
0
21
20
-85
-49
24
-2
0
1
0
0
0
0
0
0
0
0
0
12
-34
76
34
39
-72
2
0
-41
0
0
0
0
0
0
0
0
24
-6
25
-37
13
79
-7
-8
0
0
0
0
0
0
0
0
0
-7
85
-45
-6
-9
-3
4
4
0
0
0
0
0
0
0
0
0
5
23
19
23
-13
-41
1
0
0
0
0
0
0
0
0
0
0
5
-13
-17
-5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
5
-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
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-42
32
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-24
103
-58
24
24
-10
0
0
-8
0
0
0
0
0
0
0
0
28
22
-18
54
31
6
2
-1
-14
0
0
0
0
0
0
0
0
-8
-26
-19
20
22
-22
1
3
-22
0
0
0
0
0
0
0
0
0
-6
-15
-42
51
5
20
-3
5
0
0
0
0
0
0
0
0
-27
-27
60
60
-14
-2
28
-10
2
0
0
0
0
0
0
0
0
0
-8
30
1
13
0
0
-2
-7
0
0
0
0
0
0
0
0
0
56
2
43
0
-5
-2
-5
0
0
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
83
26
-12
-35
8
7
111
0
0
0
0
0
0
0
0
0
0
-4
16
-34
5
37
79
-24
0
1
0
0
0
0
0
0
0
0
-17
-30
-17
36
21
48
16
3
22
12
0
0
0
0
0
0
0
7
-19
14
-39
33
13
-33
-30
-6
5
0
0
0
0
0
0
0
7
0
-4
4
55
16
-76
-28
24
93
0
0
0
0
0
0
0
-16
72
11
-5
52
38
26
-50
27
-48
0
0
0
0
0
0
0
22
-5
25
14
-2
-5
35
-102
-61
-22
0
0
0
0
0
0
0
0
62
15
40
16
37
-3
-4
-1
8
0
0
0
0
0
0
0
0
3
-73
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
-15
30
-15
-62
74
0
0
-2
0
0
0
0
0
0
0
8
2
21
-1
7
59
26
0
0
0
-6
0
0
0
0
0
0
10
-25
7
25
-7
45
-51
16
40
87
1
0
0
0
0
0
0
24
39
-28
59
-10
3
-3
-65
5
82
1
0
0
0
0
0
0
-96
-27
0
-5
-1
-4
2
23
12
4
-4
0
0
0
0
0
0
0
29
34
-5
11
-4
50
-30
25
43
5
0
0
0
0
0
0
0
-23
29
15
-20
-98
-20
-55
-16
-16
0
0
0
0
0
0
0
0
14
-8
67
22
55
23
-20
-1
-4
0
0
0
0
0
0
0
0
0
8
22
0
-22
0
0
0
0
0
0
0
0
0
0
0
1
-9
43
44
2
-6
14
0
0
0
0
0
0
0
0
0
0
-6
13
50
60
-30
-59
20
0
0
0
2
0
0
0
0
0
0
-34
-7
-22
-17
79
-70
40
-12
-60
11
4
0
0
0
0
0
0
67
4
-2
28
-51
18
-31
25
-38
13
1
0
0
0
0
0
0
29
8
84
0
69
27
0
-31
-4
-14
1
0
0
0
0
0
0
0
1
68
21
3
-34
5
-71
75
-6
-4
0
0
0
0
0
0
7
37
-19
11
14
18
11
30
-14
-7
0
0
0
0
0
0
0
0
33
10
65
7
-13
72
-1
0
0
0
0
0
0
0
0
0
2
-8
-6
0
-15
0
2
0
0
0
0
0
0
0
0
0
0
0
-52
34
-31
-10
15
60
1
0
-2
0
0
0
0
0
0
0
3
-12
16
33
5
-59
-33
0
0
0
0
0
0
0
0
0
0
3
-20
22
-35
70
-82
-40
31
2
-32
2
0
0
0
0
0
0
14
2
12
9
42
128
-124
3
-42
88
-1
0
0
0
0
0
0
-77
0
-11
55
3
-16
-18
-70
-13
35
0
0
0
0
0
0
0
0
132
28
-20
26
-62
-117
-40
19
8
0
0
0
0
0
0
0
0
5
-5
5
74
-74
-93
-20
-4
4
0
0
0
0
0
0
0
0
13
5
11
19
20
0
12
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
25
-34
10
-4
-4
0
0
0
0
0
0
0
0
0
-3
-44
-25
-14
17
-3
-13
0
0
0
1
0
0
0
0
0
0
15
-43
19
-31
-38
18
17
-3
13
2
0
0
0
0
0
0
0
-5
24
-38
-5
-23
96
58
8
6
9
0
0
0
0
0
0
0
30
-45
-44
70
60
-1
-49
0
-19
17
0
0
0
0
0
0
0
0
22
13
-4
-5
-9
-4
-6
-23
-31
0
0
0
0
0
0
0
0
10
97
-55
-67
10
24
2
9
2
0
0
0
0
0
0
0
0
5
6
13
50
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
-48
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
81
47
48
45
8
0
0
0
0
0
0
0
0
0
0
0
-5
32
104
68
-7
15
0
-7
4
0
0
0
0
0
0
0
0
24
-38
42
45
-6
-12
-2
-1
-45
0
0
0
0
0
0
0
0
49
42
108
-88
-39
0
4
-27
-7
0
0
0
0
0
0
0
0
-20
18
-62
54
13
-7
-4
0
-3
0
0
0
0
0
0
0
0
0
31
25
-5
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
29
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
14
12
7
-4
-1
-3
0
0
0
0
0
0
0
0
0
6
8
14
-6
-4
2
0
0
-2
0
0
0
0
0
0
0
0
5
-39
-17
-41
5
32
-5
0
0
-1
0
0
0
0
0
0
0
0
2
-9
-7
-18
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
7
12
-96
7
-20
0
0
0
0
0
0
0
0
0
0
0
13
-32
34
10
35
-6
1
0
0
0
0
0
0
0
0
0
0
-15
-26
-97
-13
29
-5
-2
0
8
-27
0
0
0
0
0
0
0
-7
-8
3
10
-13
-13
-8
4
-5
-1
0
0
0
0
0
0
0
27
8
30
67
45
61
29
-5
0
-10
0
0
0
0
0
0
0
0
-23
47
41
-33
-14
4
1
0
4
0
0
0
0
0
0
0
-3
1
15
14
-14
-1
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
35
-18
-25
-13
6
0
0
3
0
0
0
0
0
0
0
0
-58
42
-9
48
1
-16
0
0
0
0
0
0
0
0
0
0
0
17
-15
56
-5
-14
-20
0
-8
-30
0
0
0
0
0
0
0
0
2
45
-49
-65
2
-8
0
-4
-7
0
0
0
0
0
0
0
0
-12
-37
48
4
27
11
25
-5
0
0
0
0
0
0
0
0
0
-14
72
-23
-2
50
23
8
0
23
0
0
0
0
0
0
0
0
-2
33
34
8
18
31
-8
44
0
0
0
0
0
0
0
0
0
-4
-10
5
0
3
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
13
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
37
-1
-17
-5
18
4
0
0
0
0
0
0
0
0
0
0
30
-18
-4
-16
-73
4
0
-6
3
0
0
0
0
0
0
0
0
-4
12
2
30
5
25
5
0
-74
0
0
0
0
0
0
0
0
-33
-13
76
-15
-63
0
1
12
4
0
0
0
0
0
0
0
0
0
67
6
41
-17
-20
0
32
-66
0
0
0
0
0
0
0
0
8
-19
27
-16
20
6
18
-2
3
0
0
0
0
0
0
0
0
0
25
-2
32
0
22
-5
3
0
0
0
0
0
0
0
0
0
0
0
64
0
3
0
0
0
6
0
0
0
0
0
0
0
0
20
4
-5
-36
63
69
45
2
0
0
0
0
0
0
0
0
0
-20
12
15
4
40
124
22
0
0
0
0
0
0
0
0
0
0
9
27
-5
11
25
19
48
-8
8
-4
0
0
0
0
0
0
0
2
31
-11
44
-5
43
-75
19
145
35
0
0
0
0
0
0
0
-28
71
18
81
35
110
0
18
-9
-21
0
0
0
0
0
0
0
-34
0
35
27
97
11
7
6
13
1
0
0
0
0
0
0
0
17
-5
16
29
6
1
-9
-7
-23
4
0
0
0
0
0
0
0
0
50
70
-3
-6
-24
19
45
5
0
0
0
0
0
0
0
0
8
7
-5
-3
43
2
0
0
0
0
0
0
0
0
0
0
0
-46
6
14
-15
24
-6
-13
16
0
0
0
0
0
0
0
0
0
0
12
5
-4
31
85
-6
0
1
0
0
0
0
0
0
0
0
-39
-7
16
9
11
-34
-8
25
10
-33
3
0
0
0
0
0
0
1
-5
-21
63
-23
1
-36
-69
-5
17
0
0
0
0
0
0
0
-3
18
-12
-13
-14
26
-12
7
30
62
-8
0
0
0
0
0
0
-5
84
0
-5
3
53
-41
55
68
-24
0
0
0
0
0
0
0
-7
16
59
32
-2
17
0
-56
-8
49
0
0
0
0
0
0
0
0
-58
22
-40
48
121
-12
0
0
-3
0
0
0
0
0
0
0
0
0
4
-4
13
-15
0
0
0
0
0
0
0
0
0
0
0
-32
12
35
27
29
35
0
1
0
0
0
0
0
0
0
0
0
0
15
37
-9
72
7
73
0
0
0
2
0
0
0
0
0
0
-42
-6
-2
14
-25
42
-24
-8
0
-35
2
0
0
0
0
0
0
25
38
-13
66
-42
-14
17
-4
44
5
-1
0
0
0
0
0
0
24
12
3
-4
27
-18
-47
-128
-13
-102
3
0
0
0
0
0
0
41
-9
83
0
-7
46
-3
-76
22
-5
1
0
0
0
0
0
0
1
-18
10
57
1
-31
11
-73
21
-3
0
0
0
0
0
0
0
0
9
-17
-35
66
2
1
-7
0
3
0
0
0
0
0
0
0
0
0
15
0
8
0
0
0
0
0
0
0
0
0
0
0
0
13
2
4
-12
52
4
-2
0
0
0
0
0
0
0
0
0
0
0
75
2
-1
-1
8
104
0
0
0
0
0
0
0
0
0
0
12
21
-33
-6
2
44
51
1
-8
13
0
0
0
0
0
0
0
0
-3
-36
-16
83
9
98
42
-13
-50
0
0
0
0
0
0
0
49
-21
5
13
-18
25
93
-45
-51
-35
0
0
0
0
0
0
0
0
20
34
16
0
78
-1
-8
-61
-9
0
0
0
0
0
0
0
0
28
5
-36
22
26
-17
-15
63
28
0
0
0
0
0
0
0
0
38
13
-40
-49
49
3
1
0
-4
0
0
0
0
0
0
0
0
0
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-53
10
-63
-23
22
-9
0
0
0
0
0
0
0
0
0
0
0
122
19
19
-66
-9
-18
0
0
0
3
0
0
0
0
0
0
9
-93
23
-29
-45
-56
13
0
0
6
-1
0
0
0
0
0
0
-3
4
-62
37
-29
11
31
-2
5
1
1
0
0
0
0
0
0
-7
16
-35
-3
33
19
19
16
-4
37
-1
0
0
0
0
0
0
0
31
-63
64
66
0
58
-30
3
-34
0
0
0
0
0
0
0
-8
1
5
7
63
-3
8
42
-24
-7
0
0
0
0
0
0
0
0
9
-6
-61
17
-46
-13
0
-2
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
44
-18
-32
-19
-3
0
0
0
0
0
0
0
0
0
0
0
68
38
-71
80
-26
3
0
0
0
0
0
0
0
0
0
0
0
31
-2
0
-83
-20
33
0
0
0
0
0
0
0
0
0
0
0
-6
-68
56
69
33
7
3
0
-22
0
0
0
0
0
0
0
0
5
-4
14
22
10
-13
3
-6
-10
0
0
0
0
0
0
0
0
5
-24
14
11
-26
0
6
0
-47
0
0
0
0
0
0
0
0
0
61
-92
-17
-10
-44
0
-14
0
0
0
0
0
0
0
0
0
1
16
59
1
-29
0
0
0
-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
-3
10
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-9
-51
-10
2
0
0
0
0
0
0
0
0
0
0
0
2
3
-35
6
0
7
1
0
0
0
0
0
0
0
0
0
0
0
1
-23
-2
-16
-6
3
-2
0
0
0
0
0
0
0
0
0
-2
1
5
-23
-2
-27
2
0
-25
0
0
0
0
0
0
0
0
0
-3
6
-4
10
-19
8
0
-4
0
0
0
0
0
0
0
0
0
0
-1
8
7
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-76
15
12
19
2
0
0
0
0
0
0
0
0
0
0
0
-13
15
42
-31
-8
10
0
0
0
0
0
0
0
0
0
0
-7
22
-65
-8
-17
17
7
0
4
-19
0
0
0
0
0
0
0
0
-83
-18
58
-19
34
-31
-19
-6
10
0
0
0
0
0
0
0
-2
-42
-40
-60
-58
-16
-31
15
0
8
0
0
0
0
0
0
0
-2
-4
17
-5
42
74
24
-1
0
-6
0
0
0
0
0
0
0
0
-10
10
14
22
-16
-5
15
3
0
0
0
0
0
0
0
0
0
-5
3
-1
-23
-41
-3
0
8
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
4
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
63
-71
-8
-83
12
-2
0
0
0
0
0
0
0
0
0
0
0
4
-85
-27
13
-3
4
2
0
16
0
0
0
0
0
0
0
0
-10
3
23
8
-29
3
-17
0
1
0
0
0
0
0
0
0
0
-31
7
-14
-46
32
-8
3
12
-8
0
0
0
0
0
0
0
0
41
-5
-43
123
78
58
-2
6
0
0
0
0
0
0
0
0
0
0
-22
17
-57
2
-66
0
7
0
0
0
0
0
0
0
0
0
-1
14
-8
13
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
1
117
5
0
0
0
0
0
0
0
0
0
0
0
0
14
-15
-8
5
2
2
0
0
0
0
0
0
0
0
0
0
0
4
-30
25
30
-4
16
0
0
3
0
0
0
0
0
0
0
0
72
22
49
70
57
3
0
-5
1
0
0
0
0
0
0
0
0
0
-38
-49
18
20
4
-4
1
2
0
0
0
0
0
0
0
0
0
0
41
0
8
-9
0
0
-1
0
0
0
0
0
0
0
0
0
42
-2
31
0
-5
1
-3
0
0
0
0
0
0
0
0
0
0
0
-13
2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-109
51
22
17
18
52
0
0
0
0
0
0
0
0
0
0
21
27
8
30
-42
20
25
0
0
0
0
0
0
0
0
0
0
27
88
21
5
2
46
20
-1
0
60
0
0
0
0
0
0
0
-3
5
35
15
-4
46
-5
18
23
-39
0
0
0
0
0
0
0
5
-17
28
-10
30
-45
-2
-64
-59
17
0
0
0
0
0
0
0
-15
13
30
9
-42
34
-76
58
-53
12
0
0
0
0
0
0
0
5
0
5
22
-38
6
64
-3
38
15
0
0
0
0
0
0
0
0
88
-10
29
-23
75
10
-7
52
4
0
0
0
0
0
0
0
0
-3
19
5
63
0
0
0
0
0
0
0
0
0
0
0
0
0
43
11
-32
35
28
-66
-3
0
0
0
0
0
0
0
0
0
0
44
3
-12
32
24
33
0
1
0
0
0
0
0
0
0
0
-2
13
22
49
17
-19
49
-10
2
51
-12
0
0
0
0
0
0
0
4
13
10
27
-2
12
6
-38
63
0
0
0
0
0
0
0
-1
22
-7
90
28
66
8
7
-36
35
0
0
0
0
0
0
0
0
2
64
11
37
11
-1
16
26
58
0
0
0
0
0
0
0
-31
42
0
-33
-10
-49
-1
52
46
0
0
0
0
0
0
0
0
0
-43
1
28
56
-106
6
-4
5
-15
0
0
0
0
0
0
0
0
0
-6
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
46
13
24
27
-8
1
0
0
0
0
0
0
0
0
0
0
-10
-28
-36
6
65
-28
0
2
0
3
0
0
0
0
0
0
45
22
22
57
-19
15
-5
-3
-3
-12
-7
0
0
0
0
0
0
-3
-15
31
20
34
-61
-7
49
-1
-7
2
0
0
0
0
0
0
6
10
29
-35
-53
21
33
-100
18
-45
10
0
0
0
0
0
0
-4
22
6
-57
17
1
26
-23
-42
46
29
0
0
0
0
0
0
-15
48
0
0
-67
-24
-42
4
-23
12
0
0
0
0
0
0
0
-1
47
-13
-46
-2
66
13
1
-1
0
0
0
0
0
0
0
0
0
0
-24
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
13
15
-41
-12
5
14
0
0
0
0
0
0
0
0
0
0
-3
24
-66
1
-21
2
0
0
0
0
0
0
0
0
0
0
0
-23
-37
0
48
2
53
-43
0
-3
-28
0
0
0
0
0
0
0
0
27
-32
13
9
13
-32
-9
7
47
0
0
0
0
0
0
0
25
16
-20
52
4
31
-26
10
-22
23
0
0
0
0
0
0
0
0
-1
7
13
-17
-24
14
31
-62
-15
0
0
0
0
0
0
0
4
44
-10
46
0
22
-4
50
21
-3
0
0
0
0
0
0
0
0
41
95
-16
69
-38
15
0
-29
-81
0
0
0
0
0
0
0
0
0
-20
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-25
10
12
18
0
0
0
0
0
0
0
0
0
0
4
-44
-115
-9
22
3
9
0
0
0
0
0
0
0
0
0
0
-29
15
-48
25
-53
-42
-19
0
0
4
0
0
0
0
0
0
0
-6
19
-24
-56
-42
-38
10
6
-8
-33
0
0
0
0
0
0
0
8
-13
-54
19
5
19
97
-25
0
-24
2
0
0
0
0
0
0
1
40
2
-133
6
-6
27
-23
-7
-17
-1
0
0
0
0
0
0
0
2
20
67
-49
0
93
10
-35
-25
0
0
0
0
0
0
0
0
33
-2
6
2
-41
-9
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
1
-34
-6
-4
0
0
0
0
0
0
0
0
0
0
0
9
67
-25
67
91
0
0
0
0
0
0
0
0
0
0
0
0
9
8
40
1
7
42
0
0
-6
0
0
0
0
0
0
0
0
-78
10
-22
52
41
3
0
0
1
0
0
0
0
0
0
0
0
4
-93
3
-46
-4
41
-18
0
0
0
0
0
0
0
0
0
0
-31
18
29
26
-89
15
22
2
-43
0
0
0
0
0
0
0
0
-1
8
-7
-75
4
0
2
-124
-41
0
0
0
0
0
0
0
0
0
20
-130
-50
-3
0
0
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-42
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
33
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
33
1
-25
7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
13
3
12
-16
3
0
-4
0
0
0
0
0
0
0
0
0
3
-5
13
-8
-33
0
0
-1
-3
0
0
0
0
0
0
0
0
0
-22
0
22
0
-1
0
-13
0
0
0
0
0
0
0
0
0
1
0
-25
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
4
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
-40
1
-6
-8
-19
0
0
0
0
0
0
0
0
0
0
0
-6
-14
-65
-22
-65
0
7
2
1
-37
0
0
0
0
0
0
0
0
-120
-23
-75
-73
-31
-24
2
6
-1
0
0
0
0
0
0
0
-3
-4
-18
23
28
2
-34
1
2
-2
0
0
0
0
0
0
0
0
-28
0
20
-14
-63
-5
1
-7
13
0
0
0
0
0
0
0
0
1
15
8
-79
8
-128
0
0
0
0
0
0
0
0
0
0
0
35
-10
18
-17
-25
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-3
6
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
36
-18
4
0
0
2
0
0
0
0
0
0
0
0
-3
8
-5
16
-16
0
-2
0
0
0
0
0
0
0
0
0
0
0
23
6
0
-7
-44
-6
0
-25
0
0
0
0
0
0
0
0
0
-10
9
-9
-9
-63
0
-7
-4
0
0
0
0
0
0
0
0
1
-58
13
39
-7
80
-6
-1
0
0
0
0
0
0
0
0
0
0
1
5
3
5
0
1
0
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
0
0
1
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
34
1
1
0
0
0
0
0
0
0
0
0
0
0
9
0
-7
3
-4
10
0
0
0
0
0
0
0
0
0
0
0
-6
46
2
0
-1
22
0
0
-7
0
0
0
0
0
0
0
0
-59
17
-4
-15
-2
-41
-8
0
5
0
0
0
0
0
0
0
0
2
28
10
32
1
-15
-27
-8
14
0
0
0
0
0
0
0
0
14
4
5
-34
13
0
-12
-16
32
0
0
0
0
0
0
0
0
0
1
1
-20
-8
34
0
8
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
22
12
20
-1
0
0
0
0
0
0
0
0
0
0
0
1
12
37
37
4
-48
0
0
0
0
0
0
0
0
0
0
0
66
2
-21
-24
56
13
-2
2
-2
0
0
0
0
0
0
0
0
6
47
-18
9
-82
11
23
1
58
-6
0
0
0
0
0
0
0
18
-8
49
21
96
5
-40
41
81
-2
0
0
0
0
0
0
0
2
13
13
16
24
26
-8
13
95
-16
0
0
0
0
0
0
0
-41
42
18
41
63
-31
43
39
-3
0
0
0
0
0
0
0
0
2
0
5
53
13
39
-7
31
-16
-7
0
0
0
0
0
0
0
0
-48
25
-16
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-3
-12
-25
0
0
0
0
0
0
0
0
0
0
0
0
29
-33
23
-75
13
5
0
0
0
0
0
0
0
0
0
0
33
7
67
-64
5
25
16
0
0
-16
0
0
0
0
0
0
0
0
35
-47
19
-33
58
52
14
0
-2
0
0
0
0
0
0
0
47
21
33
38
18
-46
-32
25
6
0
0
0
0
0
0
0
0
0
51
-5
75
3
93
-77
-8
-18
18
0
0
0
0
0
0
0
-12
-5
39
28
27
24
52
-7
-27
17
0
0
0
0
0
0
0
0
-41
0
22
43
29
-69
-24
7
3
0
0
0
0
0
0
0
0
-4
2
4
17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
45
0
-23
0
0
0
0
0
0
0
0
0
0
0
2
-1
-22
-4
41
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-24
-17
-16
8
0
2
0
0
0
0
0
0
0
0
0
0
-28
36
-9
56
-7
0
0
4
0
0
0
0
0
0
0
0
56
-16
-45
6
-42
1
48
-4
4
0
0
0
0
0
0
0
0
0
29
3
13
50
21
20
3
9
0
0
0
0
0
0
0
0
22
-1
-3
-5
31
1
-7
-41
-3
0
0
0
0
0
0
0
0
0
-19
-9
0
-42
-1
-19
7
0
2
0
0
0
0
0
0
0
0
0
-29
9
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
26
0
-20
-10
-5
0
0
0
0
0
0
0
0
0
0
0
47
-9
13
8
-3
0
0
0
0
0
0
0
0
0
0
0
5
-8
16
-102
-18
-5
3
0
0
0
0
0
0
0
0
0
0
0
13
-100
-11
-12
-12
9
2
0
0
0
0
0
0
0
0
0
41
-4
-3
50
-2
29
-55
17
7
-7
0
0
0
0
0
0
0
0
-3
25
-9
60
14
-6
-2
4
-3
0
0
0
0
0
0
0
-4
-10
18
8
-35
-7
13
-10
-1
-22
0
0
0
0
0
0
0
0
14
12
23
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
71
-8
-18
13
4
0
0
0
0
0
0
0
0
0
0
0
-71
0
-39
-16
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
74
-2
41
7
16
-7
0
0
0
0
0
0
0
0
0
0
-8
0
-41
-42
-35
5
23
-5
-1
2
0
0
0
0
0
0
0
0
-9
2
-34
2
12
9
-1
4
0
0
0
0
0
0
0
0
3
0
-13
7
-16
0
1
0
-5
0
0
0
0
0
0
0
0
0
-2
-4
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-4
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-25
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
22
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
27
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
14
3
1
0
0
0
0
0
0
0
0
0
0
0
3
9
-26
0
-41
-20
3
0
-6
0
0
0
0
0
0
0
0
0
8
6
29
4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-13
8
0
0
0
1
0
0
0
0
0
0
0
0
3
0
-5
-1
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
154
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
44
-12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
42
-6
-17
1
0
-2
0
0
0
0
0
0
0
0
58
0
22
0
2
3
-4
0
0
0
0
0
0
0
0
0
0
0
33
0
48
1
10
8
0
0
0
0
0
0
0
0
0
0
0
0
95
0
-25
0
1
0
-14
0
0
0
0
0
0
0
0
0
7
0
-24
0
-2
0
-22
0
0
0
0
0
0
0
0
0
0
0
-4
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
72
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-8
0
-27
0
0
-1
0
0
0
0
0
0
0
0
2
0
-61
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
29
3
1
29
7
0
0
0
0
0
0
0
0
0
1
57
-86
55
7
15
-68
41
41
0
0
0
0
0
0
0
0
1
-21
2
-26
16
12
39
-26
-8
0
0
0
0
0
0
0
0
-3
0
5
-1
50
20
-8
-5
67
0
0
0
0
0
0
0
0
1
2
-1
47
-22
-31
12
-20
72
0
0
0
0
0
0
0
0
0
0
0
-14
-4
85
-46
32
-1
0
0
0
0
0
0
0
0
0
-3
-6
-33
9
-44
-21
28
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-18
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
-27
-14
-39
-95
-17
-22
0
-1
0
0
0
0
0
0
0
29
10
44
24
-56
-24
-13
-3
16
-128
0
0
0
0
0
0
0
-37
1
52
80
-4
-50
14
-23
-13
-35
0
0
0
0
0
0
0
-29
-41
75
-56
39
-7
17
1
-19
42
0
0
0
0
0
0
0
-22
-15
-85
2
11
-83
-8
38
-4
-29
0
0
0
0
0
0
0
0
-8
42
44
24
2
45
-14
33
2
0
0
0
0
0
0
0
0
37
46
54
2
50
49
-16
13
-19
0
0
0
0
0
0
0
0
25
0
-13
13
-82
-30
-14
52
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
15
0
31
-26
-103
-95
-65
0
-17
8
0
0
0
0
0
0
-18
40
-56
130
-41
-75
-2
-51
-31
6
1
0
0
0
0
0
0
6
-12
13
-27
137
-114
-61
-21
-3
-56
1
0
0
0
0
0
0
0
-18
-43
85
-111
-12
-10
1
14
-17
-30
0
0
0
0
0
0
0
69
0
-5
33
-49
27
11
-3
19
0
0
0
0
0
0
0
0
-17
9
-23
60
31
16
52
25
-6
-45
0
0
0
0
0
0
0
-26
8
17
-33
76
15
-23
42
40
0
0
0
0
0
0
0
0
-42
-18
-55
-8
-39
-54
-24
22
97
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-54
-12
-23
58
0
-43
2
0
0
0
0
0
0
25
-30
141
-28
103
-10
-6
-40
3
1
19
0
0
0
0
0
0
4
42
-22
3
-26
40
13
77
24
27
-7
0
0
0
0
0
0
-39
40
29
-23
5
13
87
19
-3
-43
9
0
0
0
0
0
0
-22
61
-48
-1
76
20
-13
96
-38
14
1
0
0
0
0
0
0
0
-3
0
-2
4
-35
-5
-9
-23
29
-1
-2
0
0
0
0
0
0
2
-1
0
27
-18
25
-4
10
56
-1
0
0
0
0
0
0
0
0
2
0
5
-49
-41
24
-32
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-11
-5
-20
0
-19
-2
-1
0
0
0
0
0
-4
-56
-75
122
4
23
-20
-33
-44
-45
13
0
0
0
0
0
0
-2
12
45
44
-20
37
-15
-52
9
-86
-19
1
0
0
0
0
0
0
-52
56
54
-59
-25
-23
51
-28
24
2
0
0
0
0
0
0
0
75
-25
-14
22
-22
-33
-14
66
-42
-1
0
0
0
0
0
0
0
5
-23
6
-5
-16
-49
27
-59
-10
-7
0
0
0
0
0
0
0
-7
24
1
24
31
0
-76
-58
-13
0
0
0
0
0
0
0
0
0
3
0
1
17
-66
-39
30
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-5
0
48
-73
0
-24
9
0
0
0
0
0
0
0
-7
-64
58
49
99
2
36
-19
29
-22
0
0
0
0
0
0
0
-2
-43
13
-90
10
-5
85
-21
-44
-2
0
0
0
0
0
0
4
4
46
-5
-3
-53
-32
31
-40
17
45
0
0
0
0
0
0
1
30
-8
1
-53
52
27
-70
41
56
-14
0
0
0
0
0
0
0
-4
0
-8
6
88
47
29
31
-61
6
0
0
0
0
0
0
0
0
3
-1
18
-49
-6
72
-13
-2
0
0
0
0
0
0
0
0
0
0
0
4
-37
-2
44
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-5
0
0
0
0
0
0
0
0
100
27
7
0
0
-23
-1
-59
-33
1
0
0
0
0
0
0
0
37
0
48
0
-27
46
68
-93
-10
3
0
0
0
0
0
0
0
0
6
0
18
66
-134
65
-74
-12
0
0
0
0
0
0
0
0
8
-1
0
-2
1
-14
-10
22
-68
2
0
0
0
0
0
0
0
9
1
-1
0
-8
-90
-13
-7
24
3
0
0
0
0
0
0
0
0
13
0
3
-12
9
-145
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-26
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
119
-109
49
-56
-20
-33
46
0
0
0
0
0
0
0
0
0
-1
-93
-56
62
-70
-14
-65
10
39
0
0
0
0
0
0
0
0
-13
-8
30
49
80
24
-3
-22
34
0
0
0
0
0
0
0
0
-20
-13
1
29
97
-31
-48
37
31
0
0
0
0
0
0
0
0
-8
-3
16
-12
61
8
-43
1
41
0
0
0
0
0
0
0
0
-1
61
2
10
-16
6
42
-31
-3
0
0
0
0
0
0
0
0
-10
-25
6
-8
-58
18
58
-7
-36
0
0
0
0
0
0
0
0
0
8
0
1
0
3
41
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
12
0
0
0
0
0
0
0
0
0
0
-44
202
-44
-28
-42
-12
-26
0
-8
0
0
0
0
0
0
0
-42
8
-18
-76
46
-39
-25
5
-6
-72
0
0
0
0
0
0
0
-37
1
86
-104
-41
-7
0
-33
21
-47
0
0
0
0
0
0
0
30
42
-86
-41
-8
26
-7
7
-10
-14
0
0
0
0
0
0
0
-41
45
-52
13
19
-40
11
23
24
43
0
0
0
0
0
0
0
-17
32
-20
11
29
6
15
4
-61
17
0
0
0
0
0
0
0
45
-8
34
-74
-58
11
31
20
21
-14
0
0
0
0
0
0
0
-1
2
0
-50
16
-26
-5
40
52
103
0
0
0
0
0
0
0
0
0
-2
0
28
0
-40
2
6
0
0
0
0
0
0
0
0
22
53
28
138
-38
28
-17
-43
0
-1
10
0
0
0
0
0
0
72
-58
-6
-94
-104
-43
-35
-6
-8
-32
46
0
0
0
0
0
0
17
-94
-42
55
-49
-6
-63
-16
1
-17
5
0
0
0
0
0
0
1
-77
59
-143
-32
-43
10
-3
-19
-3
-9
0
0
0
0
0
0
-2
9
-16
34
-69
-19
-16
0
-15
-46
-14
0
0
0
0
0
0
0
40
20
110
-29
-55
13
-23
7
-5
1
0
0
0
0
0
0
0
3
7
-2
-14
-56
17
-27
-1
62
-2
0
0
0
0
0
0
0
5
0
-1
8
35
-54
-42
41
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-3
1
0
0
0
0
0
0
0
4
-145
96
12
-2
-29
8
10
0
-44
-36
0
0
0
0
0
0
-50
152
-32
32
12
37
-19
22
-14
-60
-22
0
0
0
0
0
0
139
-37
35
-63
8
-21
9
-12
44
-36
35
-3
0
0
0
0
0
22
4
-77
-10
-80
-34
6
37
-1
-13
31
0
0
0
0
0
0
49
-86
66
-41
39
-78
19
-21
38
-21
24
-5
0
0
0
0
0
2
0
-14
-16
-61
25
-11
-11
14
88
24
0
0
0
0
0
0
-1
5
-9
-1
23
0
16
0
-109
-42
5
0
0
0
0
0
0
3
-1
4
-8
-24
-96
-71
-19
-48
-8
0
0
0
0
0
0
0
0
0
0
0
0
-4
-43
-23
0
0
0
0
0
0
0
0
0
53
-97
-60
63
-31
59
-33
-35
0
14
-4
0
0
0
0
0
0
28
38
41
-10
-131
57
-30
-3
5
-102
19
-2
0
0
0
0
0
14
-17
-62
87
-90
25
-50
8
31
-28
16
0
0
0
0
0
0
10
-17
49
-6
-18
64
-1
55
35
-42
13
-3
0
0
0
0
0
20
17
0
12
-5
67
-8
-16
-25
6
1
13
0
0
0
0
0
-3
9
43
79
6
-31
-38
4
-44
-7
-6
0
0
0
0
0
0
0
-4
-5
1
-47
-4
-53
-43
-15
27
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
3
-14
17
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-3
0
0
0
0
0
0
0
0
16
12
6
21
9
31
-10
-18
0
-41
-16
0
0
0
0
0
0
-2
-1
35
-5
18
43
-54
18
-6
52
20
0
0
0
0
0
0
4
-12
33
44
-78
1
-33
-8
24
50
6
-1
0
0
0
0
0
16
-25
-30
86
-40
20
65
24
23
21
9
-1
0
0
0
0
0
3
-24
59
33
-2
7
-7
-23
15
27
8
4
-1
0
0
0
0
0
42
50
6
-34
-81
0
-66
21
-19
13
1
0
0
0
0
0
-4
0
0
2
8
-35
34
-20
-11
-5
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-16
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-4
23
-4
20
-3
0
-23
-4
0
0
0
0
0
0
0
-2
-10
-5
18
-48
22
-28
43
12
13
0
0
0
0
0
0
0
71
-1
-34
-37
22
47
83
-26
70
-25
0
0
0
0
0
0
0
2
0
-9
8
-36
-53
-4
-13
13
1
0
0
0
0
0
0
0
3
0
-1
9
12
5
20
-14
-46
-4
-2
0
0
0
0
0
0
0
-8
0
-2
35
-40
-71
-46
-31
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-41
51
19
-25
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-14
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-1
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
-1
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
27
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-13
-3
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
8
-3
0
15
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
6
-3
0
0
0
0
0
0
0
0
-1
0
0
0
-1
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
79
-1
0
16
38
29
20
0
0
0
0
0
0
0
0
0
9
-92
-62
0
-11
25
-49
26
52
0
0
0
0
0
0
0
0
7
-23
14
-50
122
-47
11
6
-52
0
0
0
0
0
0
0
0
-4
13
5
-72
5
-55
-27
56
-3
0
0
0
0
0
0
0
0
6
-7
9
73
35
25
-13
-39
21
0
0
0
0
0
0
0
0
-3
9
6
-59
-33
28
-30
-8
0
0
0
0
0
0
0
0
0
0
-16
0
0
2
66
14
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
49
57
20
-30
30
6
0
84
0
0
0
0
0
0
0
3
-28
85
42
-1
10
6
18
32
-17
0
0
0
0
0
0
0
-92
-19
11
85
17
30
26
15
7
-22
0
0
0
0
0
0
0
28
114
102
4
2
-21
21
20
4
-43
0
0
0
0
0
0
0
-5
-21
48
-10
11
49
-17
46
17
-40
0
0
0
0
0
0
0
37
72
-99
-29
-36
32
21
4
41
19
0
0
0
0
0
0
0
19
0
-74
-7
48
48
24
22
17
-12
0
0
0
0
0
0
0
0
0
-5
9
-69
27
17
13
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
9
3
-12
-10
-40
-25
3
0
5
-3
0
0
0
0
0
0
-68
30
11
92
17
24
-7
9
16
4
-18
0
0
0
0
0
0
-3
-5
6
-45
-8
-45
5
-20
-9
-18
-1
0
0
0
0
0
0
-24
23
27
58
11
20
-3
7
-17
-22
0
0
0
0
0
0
0
-1
-31
97
-11
56
-60
1
-10
17
17
5
0
0
0
0
0
0
0
-14
-55
-21
83
-91
-3
17
0
-40
2
0
0
0
0
0
0
0
-43
-8
35
-63
-81
82
5
-20
-24
0
0
0
0
0
0
0
0
-1
-4
0
13
-54
-75
100
42
17
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
2
0
0
0
0
0
0
0
0
0
-54
35
50
-5
-54
89
5
16
0
-23
5
0
0
0
0
0
0
0
-31
98
59
-13
-35
2
6
42
-58
-2
1
0
0
0
0
0
17
-18
19
46
-14
-5
16
13
10
-44
-21
0
0
0
0
0
0
27
-52
103
-71
3
-90
-23
-4
-12
-7
-43
0
0
0
0
0
0
-48
58
8
5
-61
28
-7
6
-51
68
-15
1
0
0
0
0
0
0
49
3
7
-25
-29
-73
-10
6
48
-12
0
0
0
0
0
0
0
-9
20
1
-40
35
-10
5
11
22
-2
0
0
0
0
0
0
0
0
0
0
5
-90
-13
-49
2
24
0
0
0
0
0
0
0
0
0
0
0
6
-4
1
0
0
0
0
0
0
0
0
0
0
-6
-109
3
161
-16
25
0
5
0
-6
17
18
0
0
0
0
0
-12
-93
38
8
-16
44
-8
-26
23
-97
-29
-8
0
0
0
0
0
2
32
1
-75
-2
-21
-32
-22
13
-59
6
0
0
0
0
0
0
8
-65
29
100
7
-5
-23
-4
-38
-72
-9
4
0
0
0
0
0
13
-92
53
-64
-45
-32
-26
-37
-40
-18
-20
0
0
0
0
0
0
1
-40
61
59
-5
-11
-70
62
-49
-21
3
0
0
0
0
0
0
0
0
4
42
0
-12
-45
-32
51
35
2
0
0
0
0
0
0
0
0
0
0
0
-5
2
-9
5
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
4
-16
39
35
22
-54
27
-32
0
-79
21
0
0
0
0
0
0
24
54
23
-5
-50
8
83
31
50
-44
-24
0
0
0
0
0
0
-2
10
19
13
-34
77
64
18
29
3
-7
0
0
0
0
0
0
-8
130
70
49
102
76
62
29
-10
7
-2
0
0
0
0
0
0
-25
-6
33
35
23
27
-24
-50
-5
-14
-8
0
0
0
0
0
0
0
-1
8
3
27
-103
-5
23
3
-51
-1
0
0
0
0
0
0
0
0
1
-2
-4
-8
52
35
-19
24
-2
0
0
0
0
0
0
0
0
1
0
0
-14
0
40
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-1
-67
45
6
0
-3
6
2
0
0
0
0
0
0
2
0
-2
-23
78
105
13
-3
-40
17
0
0
0
0
0
0
0
3
-1
13
-23
45
69
-48
23
16
2
0
0
0
0
0
0
0
-19
42
-20
-54
44
8
-15
-69
34
-4
0
0
0
0
0
0
0
1
2
0
-5
-44
-30
-12
-48
32
4
0
0
0
0
0
0
0
0
4
0
12
-9
22
20
-70
0
-2
0
0
0
0
0
0
0
0
-4
3
0
0
-34
34
8
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
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
5
3
0
-1
-3
0
0
0
0
0
0
0
0
-1
5
0
8
-1
4
-2
-5
-1
0
0
0
0
0
0
0
0
0
0
-4
0
17
2
14
14
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
7
0
1
2
0
0
0
0
0
0
0
0
0
0
1
0
0
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
8
-7
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
-1
10
-31
31
-6
-48
0
0
0
0
0
0
0
0
0
-1
2
0
-1
42
6
-38
-5
0
0
0
0
0
0
0
0
0
-1
-1
3
-10
8
14
-4
-22
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-6
24
5
30
0
8
0
0
0
0
0
0
0
0
-1
2
-6
-3
-24
-8
4
4
77
0
0
0
0
0
0
0
0
-25
6
-8
52
-9
11
-1
55
-8
0
0
0
0
0
0
0
0
-6
3
-5
-1
-25
0
-45
-20
9
0
0
0
0
0
0
0
0
4
-3
-1
-9
8
-1
-1
19
12
0
0
0
0
0
0
0
0
-3
4
8
0
-5
0
33
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-4
-7
-75
-29
-9
0
0
0
0
0
0
0
0
0
1
-8
22
-49
66
8
-74
12
-13
0
0
0
0
0
0
0
0
-1
25
-1
84
-13
-59
-25
63
-36
0
0
0
0
0
0
0
0
0
0
3
8
-8
71
-76
1
-20
0
0
0
0
0
0
0
0
0
5
-1
-17
13
66
26
75
-2
0
0
0
0
0
0
0
0
0
-3
8
-7
24
-6
12
57
-2
0
0
0
0
0
0
0
0
0
0
4
80
16
127
-29
-8
5
0
0
0
0
0
0
0
0
0
0
0
10
0
-48
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-22
-5
9
-93
-13
22
5
9
0
45
0
0
0
0
0
0
0
-42
61
24
13
-52
3
21
35
25
-40
0
0
0
0
0
0
0
73
127
78
-6
0
-46
6
-12
10
-2
0
0
0
0
0
0
0
5
13
46
34
-69
9
-23
11
-12
63
0
0
0
0
0
0
0
18
70
-15
-64
-50
41
11
5
80
-26
0
0
0
0
0
0
0
-21
3
32
13
-35
24
-74
17
26
13
0
0
0
0
0
0
0
21
24
97
43
26
-61
39
-17
-10
5
0
0
0
0
0
0
0
0
2
-10
0
-12
36
46
50
-18
-4
0
0
0
0
0
0
0
0
0
0
-6
9
-1
0
6
0
0
0
0
0
0
0
0
0
0
-122
27
113
-25
5
8
7
0
-42
8
0
0
0
0
0
0
41
-38
30
15
-2
-17
20
10
17
-42
12
0
0
0
0
0
0
-14
83
34
-18
-108
46
20
9
-13
-27
-1
0
0
0
0
0
0
0
90
3
-9
-117
-129
-36
-32
-3
-14
-5
0
0
0
0
0
0
57
7
-12
-102
31
21
-22
-14
-33
65
0
0
0
0
0
0
0
-4
109
75
4
83
-9
17
-8
-47
35
-4
0
0
0
0
0
0
0
-41
34
67
-56
11
73
-16
0
35
-2
0
0
0
0
0
0
0
-21
0
-5
1
-1
14
-41
81
75
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
9
4
0
0
0
0
0
0
0
0
31
7
3
31
-42
12
99
79
0
-4
13
0
0
0
0
0
0
-44
-5
-56
19
-63
42
-6
42
35
-10
1
0
0
0
0
0
0
-49
-18
96
-46
-74
9
17
-5
-23
-18
9
0
0
0
0
0
0
25
10
-9
-5
-107
-30
-51
3
-29
-36
-15
0
0
0
0
0
0
52
84
19
-16
-107
-45
-3
-1
-43
-27
1
0
0
0
0
0
0
2
57
102
-16
-30
48
-41
48
56
57
13
-1
0
0
0
0
0
0
16
-42
3
57
-16
130
30
21
-30
0
0
0
0
0
0
0
0
2
-5
3
10
25
-51
58
-60
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-1
-4
0
0
0
0
0
0
0
0
16
35
7
-69
-19
-37
23
0
33
6
-4
0
0
0
0
0
20
-53
-31
-32
-29
15
28
3
48
11
5
0
0
0
0
0
0
-5
59
-43
70
14
-27
17
-1
-18
-58
0
0
0
0
0
0
0
-2
-7
-54
-22
-23
-31
-22
-49
-20
-30
-6
2
0
0
0
0
0
-5
-101
-31
-50
-81
-23
-17
21
-66
-69
0
-2
0
0
0
0
0
0
-41
90
-17
-25
11
102
37
-11
65
0
0
0
0
0
0
0
0
5
-1
-7
-22
-23
16
94
-63
0
0
0
0
0
0
0
0
0
-1
0
-2
0
53
9
-49
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-67
-22
8
-44
0
31
-29
0
0
0
0
0
0
8
27
-29
29
-67
68
92
20
52
-13
72
0
0
0
0
0
0
0
-18
-28
22
47
29
39
32
31
-54
16
0
0
0
0
0
0
0
-6
0
-16
39
-10
-29
-15
-49
6
8
0
0
0
0
0
0
46
15
14
-2
-32
-6
8
9
-25
-18
9
-8
0
0
0
0
0
0
2
12
12
-63
6
-50
88
24
80
3
0
0
0
0
0
0
0
1
-8
-4
-23
-33
22
-3
-24
10
2
0
0
0
0
0
0
0
0
8
0
0
8
-10
-27
31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-30
-4
17
0
52
7
0
0
0
0
0
0
0
-8
0
-2
-8
17
24
37
-18
49
63
2
0
0
0
0
0
0
-8
1
-8
-50
32
-115
91
34
-40
13
0
0
0
0
0
0
0
4
0
-10
-1
-6
3
-32
16
22
5
0
0
0
0
0
0
0
-1
-4
-6
16
4
-112
74
6
-44
0
0
0
0
0
0
0
0
-10
-1
-1
-3
69
-9
66
2
-3
-2
0
0
0
0
0
0
0
0
0
0
-17
2
-26
-4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
-12
0
42
0
0
0
0
0
0
0
0
1
0
0
0
34
-31
69
-23
1
20
0
0
0
0
0
0
0
0
0
-1
9
13
1
9
6
18
0
0
0
0
0
0
0
-1
1
0
0
-1
-45
0
6
-48
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-12
2
-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
-8
8
1
6
-25
-6
-9
-45
0
-8
0
0
0
0
0
0
0
-5
-25
-13
17
-5
-14
0
26
-31
-13
0
0
0
0
0
0
0
0
-1
-5
1
-23
-42
97
-5
16
-1
0
0
0
0
0
0
0
-43
4
0
2
10
-78
-45
39
-3
-58
0
0
0
0
0
0
0
1
-14
-3
5
6
13
39
-5
53
0
0
0
0
0
0
0
0
0
0
-1
8
14
-34
0
-5
-1
0
0
0
0
0
0
0
0
0
5
-4
1
3
0
24
-4
-3
0
0
0
0
0
0
0
0
0
3
0
-3
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
-3
12
-49
-75
0
3
0
0
0
0
0
0
0
0
-56
-3
-9
-44
-31
-45
16
49
-6
0
0
0
0
0
0
0
0
-19
1
-20
12
-57
29
37
60
-8
0
0
0
0
0
0
0
0
9
-5
-3
-31
6
-140
56
22
0
0
0
0
0
0
0
0
0
10
0
-8
1
-32
-48
4
0
-7
0
0
0
0
0
0
0
0
-4
-8
1
7
-2
2
18
15
-3
0
0
0
0
0
0
0
0
0
9
-3
-6
1
0
8
39
5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
-1
-4
-4
5
-3
1
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
1
12
-2
1
0
0
0
0
0
0
0
0
1
0
0
0
-1
6
4
5
0
0
0
0
0
0
0
0
0
2
0
0
-1
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
41
-59
28
47
0
0
0
0
0
0
0
0
0
0
-7
5
7
-52
18
-49
35
25
0
0
0
0
0
0
0
0
0
1
0
-69
-86
-58
-24
-15
-45
0
0
0
0
0
0
0
0
0
44
0
-19
43
-30
116
-36
-17
0
0
0
0
0
0
0
0
0
0
0
-15
30
10
7
-55
-3
0
0
0
0
0
0
0
0
-1
-5
-73
17
51
54
-29
-15
-1
0
0
0
0
0
0
0
0
0
28
0
2
44
-30
3
1
50
0
0
0
0
0
0
0
0
0
-2
-1
-5
0
53
-19
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
31
2
0
0
0
0
0
0
0
0
0
-8
-16
-120
7
-10
99
-3
-22
0
31
0
0
0
0
0
0
0
31
5
-42
30
-46
18
38
27
-4
70
0
0
0
0
0
0
0
26
25
40
9
57
28
11
-28
-1
-30
0
0
0
0
0
0
0
-7
38
26
-112
-21
3
4
-23
6
37
0
0
0
0
0
0
0
-10
0
7
28
6
5
-27
40
-22
-11
0
0
0
0
0
0
0
49
-31
58
7
46
20
-20
-2
-11
55
0
0
0
0
0
0
0
-9
0
25
-18
-95
3
14
-36
-4
-1
0
0
0
0
0
0
0
0
0
1
12
18
29
-23
6
-30
-9
0
0
0
0
0
0
0
0
0
0
0
-7
0
61
-5
-14
0
0
0
0
0
0
0
0
0
-25
-18
-145
50
-15
21
-9
0
-27
0
0
0
0
0
0
0
0
-31
-7
24
-35
42
-11
5
28
-23
115
0
0
0
0
0
0
0
25
23
30
51
-2
1
-17
33
11
-2
0
0
0
0
0
0
-7
47
-15
-95
68
-4
13
5
-60
-18
-31
0
0
0
0
0
0
0
33
0
-20
-49
-48
-2
-25
-4
-38
0
0
0
0
0
0
0
10
107
-47
2
-17
50
3
-11
0
64
2
0
0
0
0
0
0
3
47
-18
7
32
-52
15
-32
-38
-64
0
0
0
0
0
0
0
0
-15
22
-17
3
93
7
1
-15
6
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-1
-4
-39
32
21
46
0
14
7
0
0
0
0
0
0
-5
-4
20
25
-41
-34
18
11
24
-69
74
0
0
0
0
0
0
-1
61
30
-27
-62
-103
23
-5
-47
43
9
0
0
0
0
0
0
22
-32
41
28
-36
76
75
13
25
26
2
0
0
0
0
0
0
-9
5
-1
0
-15
-6
16
-22
-14
-45
-3
0
0
0
0
0
0
-7
27
-52
-3
-49
-17
16
-9
-23
-31
6
0
0
0
0
0
0
-2
66
108
0
31
23
78
90
-4
-1
9
0
0
0
0
0
0
2
-5
0
13
-35
-58
17
-65
74
15
0
0
0
0
0
0
0
0
0
0
0
-8
0
-73
-1
-18
1
0
0
0
0
0
0
0
0
8
2
-7
-13
-22
-4
-7
0
-2
-2
0
0
0
0
0
0
0
48
81
-12
-70
61
26
11
8
-15
33
6
0
0
0
0
0
1
16
-32
3
-31
-52
103
-18
28
12
12
0
0
0
0
0
0
0
-85
21
-4
-65
-85
18
78
-32
-85
-2
0
0
0
0
0
0
0
20
-5
-3
0
14
-12
19
-41
-58
1
2
0
0
0
0
0
-7
-9
-19
43
-20
-18
72
6
3
-46
-23
0
0
0
0
0
0
9
38
94
-51
-10
-51
95
-24
-15
-5
0
0
0
0
0
0
0
0
-3
-6
-5
-2
49
91
77
28
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
2
0
2
2
-41
-16
-68
-43
0
13
3
0
0
0
0
0
0
0
-2
-13
13
56
-53
-75
-48
8
-48
-3
0
0
0
0
0
0
0
21
-3
29
6
-55
-14
-11
58
52
-7
0
0
0
0
0
0
-4
31
-24
25
-70
109
21
7
77
-54
-20
0
0
0
0
0
0
0
-27
8
-1
-35
0
-4
-3
-9
-31
0
0
0
0
0
0
0
5
8
-32
-61
-6
-2
7
12
22
-60
2
0
0
0
0
0
0
6
4
12
34
19
-6
98
-6
32
1
0
0
0
0
0
0
0
0
-5
0
-42
0
-53
14
69
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
-6
-17
0
-2
49
-53
-114
0
31
-5
0
0
0
0
0
0
0
-6
-2
0
9
-1
37
40
24
-7
-4
0
0
0
0
0
0
0
68
5
0
10
61
-71
13
55
-86
-1
0
0
0
0
0
0
0
6
-13
-1
-60
-30
35
-5
-2
-112
-3
0
0
0
0
0
0
0
0
0
-5
-2
2
0
46
16
-16
1
-4
0
0
0
0
0
0
1
3
3
8
-7
-86
56
55
10
-2
0
0
0
0
0
0
0
0
-17
2
0
-5
41
-2
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
-27
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
13
23
-3
0
-8
0
0
0
0
0
0
0
0
2
0
8
2
9
37
-42
-7
5
0
0
0
0
0
0
0
-2
0
-2
6
8
2
-15
51
-5
10
0
0
0
0
0
0
0
3
0
1
-32
-5
-24
2
-35
1
-4
0
0
0
0
0
0
0
1
0
0
1
7
-7
5
0
-20
-5
0
0
0
0
0
0
0
-1
2
-1
-5
1
-9
2
-48
1
0
8
0
0
0
0
0
0
0
0
7
0
31
1
-8
7
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-43
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-16
13
25
12
-61
-90
-7
0
-5
0
0
0
0
0
0
0
-7
-1
-4
50
-23
52
7
6
22
-16
1
0
0
0
0
0
0
1
-13
1
-6
1
-3
27
69
-25
2
0
0
0
0
0
0
0
24
5
-5
-5
-63
-36
-83
-20
13
0
0
0
0
0
0
0
0
-6
3
2
-22
31
-74
-61
-55
0
-5
0
0
0
0
0
0
0
0
-10
-7
-3
-10
26
9
23
18
7
0
0
0
0
0
0
0
2
-3
0
0
33
-17
23
6
-6
-2
0
0
0
0
0
0
0
0
-5
-1
5
-6
5
-1
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-2
6
-8
7
-31
9
0
-6
0
0
0
0
0
0
0
0
30
-5
-18
-48
53
97
20
22
-66
0
0
0
0
0
0
0
0
-16
8
-19
66
31
146
12
-70
-5
0
0
0
0
0
0
0
0
10
12
-18
16
25
116
53
-2
-47
0
0
0
0
0
0
0
0
4
0
44
-24
31
20
58
55
0
0
0
0
0
0
0
0
0
-41
10
1
-75
32
17
-139
0
-26
0
0
0
0
0
0
0
0
8
17
-5
12
6
-51
0
41
1
0
0
0
0
0
0
0
0
0
0
0
0
-46
-10
16
42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
22
0
-41
0
0
0
0
0
0
0
0
-3
-1
0
0
1
-4
0
12
2
0
0
0
0
0
0
0
0
0
0
0
-1
9
-12
-14
0
-2
0
0
0
0
0
0
0
0
0
0
1
1
1
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
-5
-27
31
29
0
0
0
0
0
0
0
0
0
0
3
-1
-4
12
17
25
-4
-5
0
0
0
0
0
0
0
0
0
-5
0
-1
47
-8
10
-58
-28
0
0
0
0
0
0
0
0
0
-2
-2
-17
-9
-11
-25
-23
2
0
0
0
0
0
0
0
0
0
-9
-22
25
-5
15
26
19
25
0
0
0
0
0
0
0
0
0
8
4
7
-14
-53
-22
-1
0
0
0
0
0
0
0
0
0
0
16
12
-6
-49
-14
0
0
19
0
0
0
0
0
0
0
0
0
-44
-3
10
0
-9
-4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-15
-9
-1
0
0
0
0
0
0
0
0
1
0
27
90
55
27
44
-32
0
-26
0
0
0
0
0
0
0
-34
29
-44
-54
-77
10
-37
-5
1
15
0
0
0
0
0
0
0
-13
5
-5
-12
62
-14
10
24
-33
13
0
0
0
0
0
0
0
-13
-3
-57
99
-5
-45
10
9
20
34
0
0
0
0
0
0
0
74
118
-20
-9
22
-17
-2
29
3
56
0
0
0
0
0
0
0
0
0
-16
5
-66
-12
-40
-9
-9
-12
0
0
0
0
0
0
0
-1
-3
-48
-38
-21
35
15
-105
47
-4
0
0
0
0
0
0
0
-2
8
35
-86
7
-12
-28
-17
-1
13
0
0
0
0
0
0
0
0
0
0
0
69
-1
-36
-3
0
0
0
0
0
0
0
0
0
0
8
4
-2
-15
-32
19
48
0
-39
-6
0
0
0
0
0
0
0
-50
31
-8
-66
13
29
24
45
-14
-22
0
0
0
0
0
0
0
18
10
2
-42
77
21
0
-1
-5
-6
0
0
0
0
0
0
2
47
-2
-1
84
-37
1
22
16
-27
13
0
0
0
0
0
0
34
15
-29
26
-45
-46
-11
2
-70
0
-1
0
0
0
0
0
0
0
-5
0
16
78
-62
0
-8
-7
-120
0
0
0
0
0
0
0
-1
111
1
19
-33
-32
-1
2
-24
-5
0
0
0
0
0
0
0
0
2
0
-63
-16
-21
52
-27
-60
28
0
0
0
0
0
0
0
0
0
0
0
5
0
-30
19
0
0
0
0
0
0
0
0
0
0
-6
0
-32
-15
-94
-10
43
0
15
-3
0
0
0
0
0
0
0
-5
3
41
-57
25
25
-2
34
21
35
0
0
0
0
0
0
4
4
8
-1
-35
-10
15
-3
-10
25
31
0
0
0
0
0
0
-24
8
32
-49
41
31
19
22
33
0
19
0
0
0
0
0
0
-9
-50
25
40
-58
-1
53
73
-16
51
-2
0
0
0
0
0
0
-4
1
20
0
-51
-102
-93
24
-16
-13
6
0
0
0
0
0
0
0
14
80
-10
-119
-72
12
-35
19
-35
0
0
0
0
0
0
0
0
-3
5
16
10
22
-66
25
-29
-9
0
0
0
0
0
0
0
0
0
0
0
8
-24
18
-5
0
0
0
0
0
0
0
0
0
1
-3
9
-25
42
28
-29
36
0
26
8
0
0
0
0
0
0
0
12
-19
10
10
38
45
-4
22
23
27
0
0
0
0
0
0
0
-57
2
15
-71
-122
31
75
39
37
0
0
0
0
0
0
0
12
29
53
-100
-5
-7
1
-5
27
-33
0
0
0
0
0
0
0
-5
-63
24
-15
36
-86
39
32
-35
-19
0
0
0
0
0
0
0
0
-13
49
0
0
-17
-25
-20
-24
-113
5
0
0
0
0
0
0
0
0
-55
-17
-29
92
21
19
-18
-43
0
0
0
0
0
0
0
0
-8
33
-7
0
-44
25
10
-92
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-6
-25
1
-59
37
0
15
0
0
0
0
0
0
0
0
42
-1
-24
3
-27
-115
5
-40
51
52
0
0
0
0
0
0
2
5
19
-3
-7
11
32
-15
-5
11
13
0
0
0
0
0
0
-2
-1
1
6
40
50
25
58
-60
-8
45
0
0
0
0
0
0
4
-77
-6
-3
-43
-10
6
34
9
23
2
0
0
0
0
0
0
0
0
6
0
1
0
1
-22
17
41
-5
0
0
0
0
0
0
0
1
17
24
-15
-8
-13
-36
13
19
0
0
0
0
0
0
0
0
0
-3
0
2
-30
23
13
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-6
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-31
-46
-45
0
45
-4
0
0
0
0
0
0
0
-5
-1
-1
16
4
-49
-14
-115
45
1
0
0
0
0
0
0
0
-8
-1
0
4
-42
68
-11
35
13
2
0
0
0
0
0
0
0
-52
2
0
-25
64
-37
15
26
-51
-4
0
0
0
0
0
0
0
-27
-1
5
3
-1
16
-27
-49
-68
0
0
0
0
0
0
0
0
2
0
-7
-23
-25
0
-27
-4
42
1
0
0
0
0
0
0
0
0
42
20
-5
-3
66
3
19
-13
0
0
0
0
0
0
0
0
0
0
1
0
1
-10
-29
-7
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
2
-2
-24
5
0
-7
0
0
0
0
0
0
0
0
-5
0
0
0
-1
20
-9
17
-9
-48
0
0
0
0
0
0
0
-1
0
0
0
8
-1
-16
-69
-8
0
0
0
0
0
0
0
0
0
0
0
12
1
10
47
-46
0
0
0
0
0
0
0
0
0
0
6
0
-10
1
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
-2
0
22
7
-3
0
0
0
0
0
0
0
0
0
1
-3
25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-13
0
25
-34
-1
-52
0
-3
-1
0
0
0
0
0
0
2
-19
-8
1
34
12
-6
-14
-44
-60
2
0
0
0
0
0
0
-2
16
-1
7
-13
3
-13
-204
-93
-23
0
0
0
0
0
0
0
24
-41
2
9
-4
-16
92
-120
-49
-93
0
0
0
0
0
0
0
-12
34
-23
-19
29
-3
6
1
37
0
0
0
0
0
0
0
0
14
-33
-37
-48
-24
-61
13
-14
0
-10
0
0
0
0
0
0
0
4
-8
-8
13
25
-2
-44
5
-3
0
0
0
0
0
0
0
0
0
5
-1
-8
20
-8
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
-2
0
0
0
0
0
0
0
0
0
0
2
5
6
-1
-2
-25
13
0
32
-5
0
0
0
0
0
0
0
-6
13
8
-35
7
-14
-29
-2
2
-3
0
0
0
0
0
0
0
-42
1
-9
-75
-2
44
-41
5
34
0
0
0
0
0
0
0
0
19
-2
-48
-3
-43
-64
23
40
-59
0
0
0
0
0
0
0
0
-19
-2
76
-8
-17
15
50
2
-20
0
0
0
0
0
0
0
0
-24
-7
-3
-13
-67
-66
-12
28
0
1
0
0
0
0
0
0
0
0
17
5
-42
-6
24
-48
2
-1
0
0
0
0
0
0
0
0
3
0
0
1
-3
5
42
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
-4
2
0
1
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-71
-16
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
37
-12
-2
0
0
0
0
0
0
0
0
6
0
0
1
7
24
8
54
-4
0
0
0
0
0
0
0
0
0
0
1
0
1
-19
-7
-4
-6
0
0
0
0
0
0
0
0
0
5
-64
-3
-13
41
-14
39
0
0
0
0
0
0
0
0
0
0
8
0
0
-9
-17
76
-21
-9
0
0
0
0
0
0
0
0
0
0
45
-21
3
59
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
24
0
0
0
0
0
0
0
0
0
0
0
-1
-51
-2
-55
-36
17
58
0
21
0
0
0
0
0
0
0
-2
0
-8
-42
23
27
8
-12
36
33
0
0
0
0
0
0
0
7
1
12
9
-14
-44
27
-33
11
-34
0
0
0
0
0
0
0
-9
0
-6
97
-25
22
14
10
-32
15
0
0
0
0
0
0
0
-10
-2
-58
-11
-22
0
-26
15
11
54
0
0
0
0
0
0
0
-8
-23
4
9
13
6
-2
0
1
-50
0
0
0
0
0
0
0
1
0
-3
130
-85
-57
5
5
-7
9
0
0
0
0
0
0
0
-5
0
-24
-64
-2
75
-60
11
-75
-23
0
0
0
0
0
0
0
0
0
0
0
10
0
30
1
-3
0
0
0
0
0
0
0
0
0
4
24
0
9
-68
70
13
0
39
0
0
0
0
0
0
0
0
13
-6
9
-93
41
-63
57
47
-9
34
0
0
0
0
0
0
0
47
-3
74
66
-71
34
12
2
-30
0
0
0
0
0
0
0
0
-1
5
116
-65
-14
-18
-4
-5
11
32
0
0
0
0
0
0
-7
-27
6
79
53
45
-1
-11
-7
-11
0
0
0
0
0
0
0
0
3
-8
68
-55
-13
17
22
-38
-10
-6
0
0
0
0
0
0
0
5
0
-96
7
26
-25
-7
13
-41
0
0
0
0
0
0
0
0
120
-7
2
-67
-13
-50
7
0
19
0
0
0
0
0
0
0
0
0
0
0
2
3
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-4
-76
-43
33
-5
0
4
0
0
0
0
0
0
0
0
0
0
-39
-30
-18
33
28
51
-18
-43
0
0
0
0
0
0
4
27
12
7
-38
-104
-31
77
-5
-59
0
0
0
0
0
0
0
-4
4
3
-24
-78
21
-15
-21
-65
33
30
0
0
0
0
0
0
3
72
-27
-1
11
-126
30
-20
-16
-23
-1
0
0
0
0
0
0
-29
-39
51
-59
-49
23
70
57
13
-22
-80
0
0
0
0
0
0
6
7
-1
0
-40
-20
4
25
-63
-6
-6
0
0
0
0
0
0
1
2
-14
6
1
-103
12
-63
-13
9
0
0
0
0
0
0
0
0
0
2
0
-49
0
-7
5
16
0
0
0
0
0
0
0
0
0
0
-20
-5
4
-20
69
13
0
-22
0
0
0
0
0
0
0
1
-8
6
-1
-78
-11
-43
17
-6
58
106
0
0
0
0
0
0
0
-22
8
-3
6
-44
18
-27
101
-100
-2
0
0
0
0
0
0
7
25
31
56
-5
-10
-28
101
-75
16
-14
0
0
0
0
0
0
0
-31
132
-8
-45
-37
80
-36
-10
-66
0
0
0
0
0
0
0
0
-5
-48
-53
5
32
-38
22
-42
38
-5
0
0
0
0
0
0
0
0
-3
1
0
-21
-47
-109
-26
14
0
0
0
0
0
0
0
0
-8
31
-2
0
44
-31
-50
-85
25
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
1
-110
-34
0
-9
0
0
0
0
0
0
0
0
0
0
-8
-5
-49
-104
88
-16
-26
27
0
0
0
0
0
0
0
9
0
-7
-3
-6
-3
-50
-30
25
4
0
0
0
0
0
0
-1
0
-4
-8
49
1
-30
46
55
32
20
0
0
0
0
0
0
0
-15
10
5
54
-13
8
22
24
5
0
0
0
0
0
0
0
0
5
-50
-26
-12
-19
-2
67
-39
-111
9
0
0
0
0
0
0
0
0
-3
8
-6
0
51
-114
81
0
-2
0
0
0
0
0
0
16
0
5
19
0
72
3
54
-4
-9
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-6
0
-76
6
0
-3
0
0
0
0
0
0
0
0
-2
0
0
-72
10
8
-72
-4
-14
13
0
0
0
0
0
0
0
5
0
0
68
4
41
2
-12
6
0
0
0
0
0
0
0
0
13
0
6
22
57
-44
-90
55
64
1
0
0
0
0
0
0
0
-15
31
-25
28
-8
-34
-80
104
0
0
0
0
0
0
0
0
0
-14
12
12
-45
-25
6
13
31
16
0
0
0
0
0
0
0
0
0
10
-1
-6
-1
0
37
46
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
10
6
9
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
0
1
0
0
0
0
0
0
0
0
0
-10
-1
0
-8
-1
-41
2
7
6
0
0
0
0
0
0
-2
0
0
0
-12
-2
38
-5
-47
0
0
0
0
0
0
0
0
5
0
0
4
-2
-42
8
-41
-9
-15
0
0
0
0
0
0
0
1
0
2
5
20
-6
23
-48
14
0
0
0
0
0
0
0
0
0
0
0
-1
-2
42
0
8
0
-1
0
0
0
0
0
0
0
0
0
1
0
-68
-1
10
0
-79
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
2
4
-49
-31
0
-41
0
0
0
0
0
0
0
0
-7
5
1
18
17
101
-8
-148
-9
0
0
0
0
0
0
0
0
-14
-9
-1
1
19
-50
-64
50
-2
0
0
0
0
0
0
0
-3
-8
-5
-13
2
7
21
-129
-76
-82
0
0
0
0
0
0
0
-6
3
10
13
-31
-27
49
-38
-110
-7
0
0
0
0
0
0
0
-4
13
13
5
85
36
109
-5
-28
0
0
0
0
0
0
0
0
-7
-25
1
20
-62
-42
-36
-16
0
25
0
0
0
0
0
0
0
0
-8
0
-17
-8
19
31
0
13
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
-4
0
22
0
6
0
0
0
0
0
0
0
0
3
-7
0
0
20
-2
63
-50
-13
-10
0
0
0
0
0
0
0
13
0
13
-19
-2
-17
2
49
-2
0
0
0
0
0
0
0
0
-27
0
8
14
8
-3
-70
-19
59
0
0
0
0
0
0
0
0
-1
0
-25
-42
-9
-49
2
-16
-12
0
0
0
0
0
0
0
0
9
0
0
0
43
-42
-9
0
2
0
0
0
0
0
0
0
0
0
-1
-1
1
-4
-83
7
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-84
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
9
0
53
-5
-2
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
-74
5
-45
0
0
0
0
0
0
0
0
0
0
0
-3
4
-13
1
27
-1
0
0
0
0
0
0
0
0
-2
-10
2
-2
-60
10
-1
2
62
0
0
0
0
0
0
0
0
0
-25
3
27
-3
-4
-3
-12
-1
0
0
0
0
0
0
0
0
0
12
6
-30
-58
-7
41
1
22
0
0
0
0
0
0
0
0
0
-8
0
28
-1
13
-1
42
-1
0
0
0
0
0
0
0
0
0
7
0
0
-8
8
10
16
0
0
0
0
0
0
0
0
0
0
0
-9
0
-16
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-32
83
0
29
-5
-13
0
0
0
0
0
0
0
-12
0
-3
-16
6
-63
16
20
-20
-1
0
0
0
0
0
0
0
17
0
0
51
-27
34
-17
-26
11
-24
0
0
0
0
0
0
0
-42
6
96
-14
42
-9
-41
-31
20
8
0
0
0
0
0
0
0
-3
0
96
17
6
-5
-52
41
19
0
0
0
0
0
0
0
0
-19
-1
-30
34
-8
-31
29
30
-26
0
0
0
0
0
0
0
0
0
0
0
-44
-10
3
4
9
-6
0
0
0
0
0
0
0
0
23
0
0
0
-79
-31
53
35
31
0
0
0
0
0
0
0
0
0
0
0
4
-5
-4
39
19
0
-2
0
0
0
0
0
0
0
0
-1
6
0
-43
59
13
93
84
73
0
0
0
0
0
0
0
0
45
0
0
-7
-12
44
6
65
-35
0
0
0
0
0
0
0
8
0
0
13
8
-60
41
20
-27
40
0
0
0
0
0
0
0
1
-17
0
15
-24
39
-67
-48
53
-28
0
0
0
0
0
0
0
-4
-192
0
-36
-10
-27
6
17
10
104
0
0
0
0
0
0
0
-14
52
4
-2
-31
-63
70
-19
64
-5
0
0
0
0
0
0
0
0
3
0
-28
32
5
-1
-48
-15
-16
0
0
0
0
0
0
0
0
0
0
0
0
14
-9
31
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-21
8
0
-41
0
0
0
0
0
0
0
0
0
0
-15
0
-13
-35
-30
-33
10
10
0
0
0
0
0
0
0
0
0
0
-10
-1
1
-64
67
-8
-5
0
0
0
0
0
0
30
0
-17
-14
-3
-47
27
100
-43
22
0
0
0
0
0
0
0
10
42
-6
-2
-13
13
117
-18
22
4
16
0
0
0
0
0
0
-16
-2
50
14
31
62
84
24
13
50
4
0
0
0
0
0
0
32
6
-23
0
-84
-41
13
-1
-8
-2
4
0
0
0
0
0
0
0
-2
0
0
-14
36
0
-61
4
-29
0
0
0
0
0
0
0
0
0
0
0
-24
-5
-73
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-2
0
0
-12
0
0
0
0
0
0
0
0
0
-3
0
-9
-13
-4
10
13
0
0
0
0
0
0
0
0
5
0
0
1
3
-16
-22
36
-5
0
-1
0
0
0
0
0
0
-1
2
48
-10
76
13
-3
-9
50
0
0
0
0
0
0
0
0
5
-4
14
4
19
-6
-5
-18
43
-2
0
0
0
0
0
0
0
1
61
6
-1
3
10
-5
5
-93
0
0
0
0
0
0
0
0
1
1
-37
-4
17
-6
-43
4
-9
0
0
0
0
0
0
0
0
0
0
-9
0
15
-2
46
-7
0
1
0
0
0
0
0
0
0
1
0
0
0
0
-8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
2
1
-26
0
8
1
8
2
0
0
0
0
0
0
0
0
0
0
35
0
-36
-1
5
0
0
0
0
0
0
0
0
-24
0
0
-3
0
34
0
34
1
15
0
0
0
0
0
0
0
0
-12
4
0
17
-15
-60
-8
-9
-1
1
0
0
0
0
0
0
0
-3
2
-18
0
2
1
0
5
5
0
0
0
0
0
0
0
7
-13
0
17
-10
-5
17
6
-27
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
-48
-33
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-5
24
0
0
0
0
0
0
0
0
0
-3
0
0
4
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
58
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
2
1
0
0
0
0
0
0
0
0
-1
0
1
0
0
3
4
-1
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
4
5
9
0
-33
-1
-1
0
0
0
0
0
0
0
0
2
0
0
-1
0
-65
49
-35
0
0
0
0
0
0
0
0
0
0
0
2
0
5
9
-111
1
-22
0
0
0
0
0
0
0
0
-15
3
0
14
-3
66
0
-13
1
0
0
0
0
0
0
0
0
1
-2
-9
5
16
0
46
0
4
0
0
0
0
0
0
0
0
-2
0
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-17
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-2
-8
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
5
-43
-42
1
2
0
0
0
0
0
0
0
0
0
-1
0
0
6
31
-25
0
0
0
0
0
0
0
0
0
-2
0
0
5
-1
0
-1
-23
0
0
0
0
0
0
0
0
0
-8
5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
27
0
0
0
0
0
0
0
0
0
0
8
0
0
16
0
-58
0
17
0
0
0
0
0
0
0
0
0
10
0
-1
0
-28
0
-6
0
111
0
0
0
0
0
0
0
0
-5
0
6
-56
0
-15
0
5
0
0
0
0
0
0
0
0
0
-24
0
0
-2
-44
0
77
0
8
0
0
0
0
0
0
0
0
5
0
2
9
0
15
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
42
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-1
17
-3
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
79
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-29
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-31
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-17
-6
3
1
0
0
0
0
0
0
0
0
0
0
0
8
8
0
13
17
-4
0
0
22
0
0
0
0
0
0
0
0
-1
-9
-6
0
-12
0
-1
0
8
0
0
0
0
0
0
0
0
0
13
1
-1
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
24
51
-16
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-21
31
18
1
0
0
0
0
0
0
0
0
0
0
0
-35
-8
2
59
8
-1
0
0
-15
0
0
0
0
0
0
0
0
45
4
18
3
-19
-3
-10
16
41
0
0
0
0
0
0
0
-1
0
113
-3
-32
-4
-42
-5
10
17
0
0
0
0
0
0
0
0
9
2
19
-5
8
0
-2
0
3
0
0
0
0
0
0
0
0
0
-8
-1
5
0
0
0
0
-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
-1
0
6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
32
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
24
9
3
-9
2
8
3
3
0
0
0
0
0
0
0
0
-1
21
17
-41
18
0
0
0
-4
0
0
0
0
0
0
0
0
5
0
-12
-2
-5
1
-1
-5
18
0
0
0
0
0
0
0
0
1
9
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
110
-1
13
-7
22
0
0
0
0
0
0
0
0
0
0
0
25
-1
2
-42
5
3
-1
0
0
0
2
0
0
0
0
0
0
0
77
-10
15
3
-2
0
-1
0
0
0
0
0
0
0
0
0
-8
-47
12
5
-3
32
0
0
0
0
0
0
0
0
0
0
0
0
34
19
2
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-43
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-10
7
-19
0
0
0
0
0
0
0
0
0
0
0
0
-31
-40
13
18
-1
54
0
0
-3
0
0
-1
0
0
0
0
0
-8
35
90
76
99
-1
21
-1
-4
-6
0
0
0
0
0
0
0
0
-63
34
16
-20
19
-9
42
0
4
0
0
0
0
0
0
0
0
-4
15
-6
8
3
0
6
0
-1
0
0
0
0
0
0
0
0
0
-2
-3
0
2
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
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
18
7
2
-2
-40
0
0
0
0
0
0
0
0
0
0
0
0
46
20
-24
-15
-30
34
-4
0
0
0
0
0
0
0
0
0
0
14
60
-18
-52
3
-13
2
17
3
-22
0
0
0
0
0
0
0
-23
-76
20
-16
61
60
-28
-14
49
-2
0
0
0
0
0
0
0
-12
-28
26
47
71
7
-4
3
23
-1
0
0
0
0
0
0
0
0
50
-56
4
33
17
-16
-42
2
2
0
0
0
0
0
0
0
0
-1
28
25
0
-10
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
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
8
58
-39
-21
0
0
0
0
0
0
0
0
0
0
0
7
43
7
-41
22
-26
-8
0
0
0
0
0
0
0
0
0
0
-1
14
-32
-32
-90
3
50
20
-19
39
-1
0
0
0
0
0
0
1
-72
-32
-7
-81
23
5
20
60
49
0
0
0
0
0
0
0
0
-94
-16
15
-24
97
47
-8
28
-42
0
0
0
0
0
0
0
0
-28
1
-36
-43
56
-16
-28
1
8
0
0
0
0
0
0
0
0
0
-47
-20
-45
9
6
0
-18
-5
0
0
0
0
0
0
0
0
0
-6
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
8
36
58
-3
-6
2
0
0
0
0
0
0
0
0
0
0
-7
60
-7
-22
8
-70
-25
0
2
0
0
0
0
0
0
0
0
4
-102
-5
33
27
-85
22
0
50
4
2
0
0
0
0
0
0
-69
4
-20
-24
-37
-24
42
22
21
0
0
0
0
0
0
0
0
5
-90
15
-32
53
8
-53
-8
37
-4
0
0
0
0
0
0
0
0
-17
12
14
8
1
-1
-1
-2
-2
0
0
0
0
0
0
0
0
0
-25
-16
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-37
-15
-6
-5
1
0
0
0
-1
0
0
0
0
0
0
0
66
-34
-31
-11
-4
7
0
0
0
5
0
0
0
0
0
0
0
4
-32
-78
42
-67
-8
-9
4
0
1
0
0
0
0
0
0
0
-11
-60
-34
-76
31
45
16
8
-2
20
0
0
0
0
0
0
0
0
-69
-16
-2
92
-37
-5
10
0
1
0
0
0
0
0
0
0
-14
-39
48
-22
13
42
1
-2
0
0
0
0
0
0
0
0
0
-10
8
-23
-24
0
43
17
-31
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
12
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-49
3
-1
3
0
-1
7
0
3
0
0
0
0
0
0
0
-2
2
13
25
10
-5
-1
-13
0
-1
0
0
0
0
0
0
0
1
20
-9
19
4
-7
-5
-8
0
0
0
0
0
0
0
0
0
2
0
-46
-4
15
-2
-5
-2
0
0
0
0
0
0
0
0
0
0
1
-3
-46
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
19
-1
0
0
0
0
0
0
0
0
0
0
0
-6
33
22
19
-20
-22
-1
0
0
0
0
0
0
0
0
0
0
6
31
11
-17
-21
-16
2
1
-25
0
0
0
0
0
0
0
0
-4
8
25
35
-17
5
-20
-2
-15
0
0
0
0
0
0
0
0
3
-14
-26
0
1
-7
-4
1
-18
0
0
0
0
0
0
0
0
0
5
0
1
2
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
35
46
25
4
0
0
0
0
0
0
0
0
0
0
0
-3
32
82
45
-41
-12
0
-2
0
0
0
0
0
0
0
0
0
-38
-6
6
13
-22
7
8
-1
-8
0
0
0
0
0
0
0
-5
54
74
-47
-38
0
-16
24
-12
16
0
0
0
0
0
0
0
8
37
-49
-31
24
17
-7
-10
8
17
0
0
0
0
0
0
0
0
3
27
25
45
-13
-1
3
0
8
0
0
0
0
0
0
0
0
0
-16
-2
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-17
3
2
-2
0
0
0
0
0
0
0
0
0
0
24
-4
-34
9
-20
0
0
0
0
1
0
0
0
0
0
0
0
-8
8
5
70
18
-16
0
1
1
6
0
0
0
0
0
0
0
0
-59
7
5
7
-3
4
-4
-7
3
0
0
0
0
0
0
0
7
42
5
-42
-16
8
0
12
6
1
0
0
0
0
0
0
0
20
-15
-23
-30
0
3
6
7
-1
-4
0
0
0
0
0
0
0
0
-8
0
0
2
-1
9
16
0
0
0
0
0
0
0
0
0
0
-1
3
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
-3
-16
-1
0
1
0
0
0
0
0
0
0
0
0
0
-21
-33
-121
-56
5
2
-2
0
0
0
0
0
0
0
0
0
0
0
54
-22
-22
19
18
-4
0
0
0
0
0
0
0
0
0
0
-6
-4
17
-26
-8
-8
2
1
5
0
0
0
0
0
0
0
0
-9
77
-29
20
2
24
16
-6
0
0
1
0
0
0
0
0
0
0
23
13
8
8
4
-3
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
5
-26
-35
-12
4
0
0
0
0
0
0
0
0
0
0
-7
46
45
18
2
-26
5
0
-2
0
0
0
0
0
0
0
0
-13
75
-2
-23
-1
33
-5
1
9
6
0
0
0
0
0
0
0
15
5
-18
5
-5
52
70
31
6
2
0
0
0
0
0
0
0
-20
2
76
-2
-46
16
-24
-47
-35
-7
0
0
0
0
0
0
0
0
17
-9
-41
35
3
-20
-23
0
5
0
0
0
0
0
0
0
2
0
-13
25
3
6
-1
0
1
-2
0
0
0
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-8
-47
-43
11
-4
0
0
0
0
0
0
0
0
0
0
0
23
9
16
-23
61
50
14
0
2
0
0
0
0
0
0
0
0
5
5
-37
40
-23
63
-20
-27
-44
4
0
0
0
0
0
0
0
-51
-46
36
-108
65
0
14
16
25
-6
0
0
0
0
0
0
0
33
-1
19
50
40
58
-107
-4
4
4
0
0
0
0
0
0
0
0
3
0
30
16
3
8
13
8
-2
0
0
0
0
0
0
0
-1
0
59
27
37
7
8
3
-8
0
0
0
0
0
0
0
0
0
4
1
-5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
8
41
7
84
21
10
-7
0
0
0
0
0
0
0
0
0
0
-1
41
25
9
3
15
0
0
1
0
-1
0
0
0
0
0
0
31
2
21
-58
22
-32
97
-4
57
-8
5
0
0
0
0
0
0
-23
7
-68
14
-32
110
9
104
-42
-46
0
0
0
0
0
0
0
12
27
42
-16
13
7
-15
-49
-17
18
0
0
0
0
0
0
0
0
22
-7
0
62
-2
27
-10
-46
-12
0
0
0
0
0
0
0
0
0
76
-46
25
-41
13
14
-2
19
0
0
0
0
0
0
0
0
0
-1
8
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
0
0
0
0
0
9
107
-3
28
-7
50
67
0
0
0
0
0
0
0
0
0
0
52
13
14
13
49
29
41
0
0
0
-4
0
0
0
0
0
0
-19
32
12
-13
23
90
57
-13
-8
-30
2
0
0
0
0
0
0
49
16
42
20
68
-29
-21
-169
139
1
0
0
0
0
0
0
0
15
9
27
-43
-76
41
83
-13
43
18
0
0
0
0
0
0
0
1
73
25
47
78
-4
87
25
77
-9
-1
0
0
0
0
0
0
-3
6
-79
10
31
4
2
1
37
0
0
0
0
0
0
0
0
0
-1
0
7
0
-3
0
0
0
0
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
27
10
-35
-55
-19
-93
0
0
0
1
0
0
0
0
0
0
-50
-8
-1
21
-40
120
22
0
0
0
-1
0
0
0
0
0
0
-42
15
8
-93
-10
91
23
-22
17
54
4
0
0
0
0
0
0
74
-52
8
-35
20
91
18
-102
8
-163
-6
0
0
0
0
0
0
5
-34
5
36
5
-112
28
77
-55
66
-3
0
0
0
0
0
0
0
-40
22
-63
21
24
63
49
9
-88
0
0
0
0
0
0
0
2
-2
-72
32
-75
-49
-69
-1
-41
5
0
0
0
0
0
0
0
0
0
6
-25
5
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-26
8
-67
5
-6
2
0
-2
-1
0
0
0
0
0
0
0
-48
10
-11
-31
9
33
0
4
0
32
0
0
0
0
0
0
0
13
14
32
-6
28
-4
66
-9
-30
-27
0
0
0
0
0
0
0
-42
-46
-73
18
-46
-39
-109
-22
56
2
0
0
0
0
0
0
0
-55
-53
5
9
-21
25
-5
40
-10
-2
0
0
0
0
0
0
0
43
28
-65
17
-13
-4
49
55
-47
2
0
0
0
0
0
0
0
-6
-164
33
89
-4
20
28
-31
0
0
0
0
0
0
0
0
0
0
16
-15
2
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
52
-9
-2
-1
0
0
0
0
0
0
0
0
0
0
0
4
29
44
-61
3
0
0
0
0
-2
0
0
0
0
0
0
0
28
55
-34
35
-27
1
6
6
0
-1
0
0
0
0
0
0
0
-45
6
30
6
-25
-1
-7
-20
0
0
0
0
0
0
0
0
0
-4
-17
-4
41
26
-15
3
24
0
0
0
0
0
0
0
0
0
-1
13
-9
7
2
-20
0
4
0
0
0
0
0
0
0
0
0
-1
14
-14
-57
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
-1
0
1
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
-1
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-1
2
0
0
0
0
0
0
0
0
0
0
0
12
0
3
-24
-17
2
3
0
0
0
0
0
0
0
0
0
0
0
-35
-25
27
-5
8
0
0
4
0
0
0
0
0
0
0
0
13
12
-21
-41
25
-8
-1
0
-3
0
0
0
0
0
0
0
0
-1
26
-2
-1
-8
-2
0
-2
1
0
0
0
0
0
0
0
0
0
3
-1
-1
2
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-1
-24
-2
-8
0
0
0
0
0
0
0
0
0
0
0
-6
13
-49
-42
41
-1
0
0
0
0
0
0
0
0
0
0
0
-30
-132
-18
45
-1
-14
2
1
15
0
0
0
0
0
0
0
-25
-14
21
71
-24
74
2
-2
6
9
0
0
0
0
0
0
0
4
-5
31
-12
-7
-4
13
14
37
24
0
0
0
0
0
0
0
0
2
47
6
66
0
-27
6
-3
2
0
0
0
0
0
0
0
0
0
-20
-3
3
1
-6
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-16
2
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-73
4
-43
-7
-20
0
-1
0
0
0
0
0
0
0
0
0
17
-1
8
-45
17
-8
3
1
19
2
0
0
0
0
0
0
1
1
30
3
-50
13
7
-10
-2
-2
0
0
0
0
0
0
0
0
4
2
2
-2
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
5
-12
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
16
70
-23
0
1
0
0
0
0
0
0
0
0
0
0
-1
43
6
23
-47
-30
10
0
0
0
0
0
0
0
0
0
0
-6
73
21
32
27
30
0
0
6
0
-6
0
0
0
0
0
0
15
34
22
49
-32
10
74
-31
-5
0
0
0
0
0
0
0
0
-5
18
-25
0
16
4
-3
-19
14
0
0
0
0
0
0
0
0
0
-10
8
5
7
8
0
7
5
0
0
0
0
0
0
0
0
0
0
-25
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
100
-5
5
22
14
0
0
0
0
0
0
0
0
0
0
0
-25
-20
-13
-21
-30
-35
7
0
-1
0
0
0
0
0
0
0
0
-43
81
0
-26
-103
-22
12
0
-3
18
0
0
0
0
0
0
0
5
40
39
-8
4
-10
-2
9
17
1
0
0
0
0
0
0
0
-30
45
-49
45
83
76
35
-1
-16
6
0
0
0
0
0
0
0
0
-3
-50
5
10
-46
-1
-10
-5
2
0
0
0
0
0
0
0
0
12
57
10
17
-8
2
5
17
0
0
0
0
0
0
0
0
0
-13
0
-3
-6
0
-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
81
5
-41
14
36
69
24
0
0
0
0
0
0
0
0
0
0
-6
23
-17
-9
-12
91
-10
0
4
0
0
0
0
0
0
0
0
21
-62
16
17
67
31
9
0
-90
6
0
0
0
0
0
0
0
-100
28
42
83
-19
65
-43
103
-32
-48
0
0
0
0
0
0
0
3
-47
11
-43
46
-9
-20
13
21
20
0
0
0
0
0
0
0
0
55
-22
9
-18
49
20
-77
4
13
0
0
0
0
0
0
0
-22
0
52
4
-22
0
-6
4
-28
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
50
8
15
-78
75
19
0
0
0
0
0
0
0
0
0
0
31
-16
50
-41
34
30
10
0
0
0
-5
0
0
0
0
0
0
-13
25
-42
20
6
62
-21
25
9
107
0
0
0
0
0
0
0
2
5
45
20
69
70
26
-40
5
-101
0
0
0
0
0
0
0
-30
32
-16
49
-68
100
-31
44
-98
29
0
0
0
0
0
0
0
0
30
16
-121
-67
3
51
7
-42
-13
0
0
0
0
0
0
0
0
-8
30
-6
82
12
13
-6
2
-29
0
0
0
0
0
0
0
0
16
6
-59
-12
3
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
51
3
3
23
13
-14
1
0
0
0
0
0
0
0
0
0
0
14
-6
-9
13
20
-76
0
-3
0
-3
0
0
0
0
0
0
22
-22
12
-23
78
38
-4
-31
27
4
0
0
0
0
0
0
0
24
24
14
57
59
-81
-19
-28
-17
-49
0
0
0
0
0
0
0
28
-33
15
32
-30
12
-21
46
-32
-42
-1
0
0
0
0
0
0
31
5
36
40
-42
-45
-42
3
-47
-57
0
0
0
0
0
0
0
51
42
-30
-10
1
-46
-42
1
49
2
0
0
0
0
0
0
0
0
56
-4
11
6
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-1
0
0
0
4
0
0
0
0
0
0
0
0
8
48
-38
12
28
44
7
-1
0
0
0
0
0
0
0
0
0
25
-9
12
-3
27
-18
-48
0
-2
0
1
0
0
0
0
0
0
-34
1
14
17
-14
67
69
14
19
-58
0
0
0
0
0
0
0
40
2
5
-45
40
13
4
-19
-39
-30
0
0
0
0
0
0
0
-65
-1
-24
-7
-19
-59
-48
14
-31
-128
3
0
0
0
0
0
0
2
-32
17
-34
21
-23
2
-43
95
-45
0
0
0
0
0
0
0
0
50
-111
-41
-3
42
-24
0
1
58
0
0
0
0
0
0
0
0
1
26
27
-58
101
1
7
5
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-11
-5
21
-5
144
-3
0
0
7
0
0
0
0
0
0
0
22
-7
3
52
-33
78
0
0
0
-3
0
0
0
0
0
0
0
52
-7
-31
-17
-27
22
76
-12
-8
18
0
0
0
0
0
0
0
-1
32
-13
-27
14
82
20
-118
-66
-19
0
0
0
0
0
0
0
69
-8
21
-39
-50
45
-46
84
-8
-31
0
0
0
0
0
0
0
-19
28
-14
-10
26
5
63
141
41
-18
0
0
0
0
0
0
0
-47
-28
15
-38
-11
30
35
120
0
0
0
0
0
0
0
0
0
0
75
-1
-22
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-49
31
0
-4
0
0
0
0
0
0
0
0
0
0
0
6
5
23
-3
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
43
20
47
-16
-25
0
2
0
-3
0
0
0
0
0
0
0
14
-21
-59
0
24
-31
1
-25
0
-1
0
0
0
0
0
0
0
-2
35
-18
121
-5
-44
2
-7
0
0
0
0
0
0
0
0
0
0
23
-21
-8
1
9
2
0
0
1
0
0
0
0
0
0
0
0
55
6
1
-6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
49
4
7
0
0
0
0
0
0
0
0
0
0
0
0
5
41
-10
114
0
3
0
0
1
0
0
0
0
0
0
0
0
-8
3
-31
22
-20
0
0
0
10
0
0
0
0
0
0
0
0
0
-91
0
20
1
-3
-1
-2
31
0
0
0
0
0
0
0
0
-4
0
-42
5
17
2
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-25
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
4
0
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
38
-32
28
42
-5
0
0
0
0
0
0
0
0
0
0
0
-13
-66
5
-110
28
-21
0
2
0
0
0
0
0
0
0
0
2
61
6
-50
-20
22
30
-2
23
1
0
0
0
0
0
0
0
0
14
-44
30
12
45
59
20
-6
2
0
0
0
0
0
0
0
0
22
3
19
22
26
61
51
9
75
0
0
0
0
0
0
0
0
-15
-75
-22
4
-23
-58
-7
13
8
0
0
0
0
0
0
0
0
0
-48
-53
-3
48
2
6
1
1
0
0
0
0
0
0
0
0
0
2
-1
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
19
4
-1
-5
0
0
0
0
0
0
0
0
0
0
0
3
-13
83
-15
-25
1
0
0
0
-1
0
0
0
0
0
0
0
0
-21
-1
-8
2
-6
2
-2
0
-8
0
0
0
0
0
0
0
25
1
-31
35
-4
-14
-1
-6
24
0
0
0
0
0
0
0
0
0
28
0
28
-22
7
-7
2
0
0
0
0
0
0
0
0
0
0
43
-17
-3
-12
1
3
-1
2
0
0
0
0
0
0
0
0
0
5
-3
25
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
56
-88
43
2
0
-1
0
0
0
0
0
0
0
0
0
16
32
-42
-60
125
15
-2
0
0
0
0
0
0
0
0
0
0
-19
81
1
-108
-66
-14
2
-3
4
0
0
0
0
0
0
0
0
-59
-19
-72
4
16
25
12
-5
23
0
0
0
0
0
0
0
0
25
-46
8
18
43
-3
31
10
-29
0
0
0
0
0
0
0
0
0
13
5
6
21
0
8
3
0
0
0
0
0
0
0
0
0
0
0
22
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
-4
-23
1
16
16
0
0
0
0
0
0
0
0
0
0
22
28
16
-39
-4
92
-24
0
2
0
0
0
0
0
0
0
0
-16
-7
22
9
71
-30
-13
8
19
8
0
0
0
0
0
0
0
-6
50
-57
-16
8
67
16
-31
-16
24
0
0
0
0
0
0
0
30
-25
-22
-24
-2
-19
-50
-26
41
14
0
0
0
0
0
0
0
-10
6
-5
84
8
-48
0
-24
7
2
0
0
0
0
0
0
0
2
0
6
12
-19
1
18
-1
-6
-1
0
0
0
0
0
0
0
0
-5
1
-18
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
38
6
-4
36
31
20
0
0
0
0
0
0
0
0
0
0
36
-2
44
-23
50
29
51
0
8
0
0
0
0
0
0
0
0
-84
22
20
-19
54
31
-61
26
23
-48
1
0
0
0
0
0
0
85
-9
15
-22
57
14
-4
-26
50
25
0
0
0
0
0
0
0
106
67
-6
14
0
104
61
11
-109
3
0
0
0
0
0
0
0
0
-1
52
-101
15
-36
-31
-1
7
6
0
0
0
0
0
0
0
-13
41
-56
7
-84
30
-22
-35
-28
0
0
0
0
0
0
0
0
0
5
-67
-19
-4
9
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
16
18
-65
-3
94
9
0
0
-1
0
0
0
0
0
0
0
8
14
0
5
65
106
61
0
-3
0
-8
0
0
0
0
0
0
80
-52
24
37
29
124
40
-50
80
92
14
0
0
0
0
0
0
24
13
33
61
6
12
-5
40
-57
126
0
0
0
0
0
0
0
22
6
14
23
8
43
10
-46
-10
-41
0
0
0
0
0
0
0
3
35
-42
-65
-82
42
-17
-74
-65
59
0
0
0
0
0
0
0
3
-23
-46
-59
56
3
34
-9
-13
3
0
0
0
0
0
0
0
0
-17
-4
-2
-3
9
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
57
-12
13
-1
40
-73
6
0
0
1
0
0
0
0
0
0
75
-3
42
3
33
-5
7
0
34
0
0
0
0
0
0
0
0
-2
18
-12
51
14
58
-9
-103
-51
106
1
1
0
0
0
0
0
3
7
50
22
96
64
-69
25
5
8
0
0
0
0
0
0
0
21
10
-12
51
-30
-2
73
23
-86
29
0
0
0
0
0
0
0
46
-17
51
-23
124
38
235
-74
55
0
0
0
0
0
0
0
0
5
31
-15
41
-43
33
45
1
-25
-13
0
0
0
0
0
0
0
0
-48
3
-58
4
-117
52
-1
-14
6
0
0
0
0
0
0
0
0
-25
-10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
58
2
-13
11
-17
32
1
0
0
0
0
0
0
0
0
0
-13
7
1
6
15
63
-39
0
-3
0
0
0
0
0
0
0
0
-3
-7
22
4
4
58
6
-27
-77
-4
0
-2
0
0
0
0
0
49
40
10
38
3
51
0
-30
-2
48
0
0
0
0
0
0
0
-35
19
23
19
60
12
46
37
10
-46
1
0
0
0
0
0
0
-1
9
25
-21
-9
-30
66
85
2
-45
0
0
0
0
0
0
0
20
7
-46
37
-21
62
36
-101
-22
41
0
0
0
0
0
0
0
0
36
-7
-83
-94
0
16
10
0
-8
0
0
0
0
0
0
0
0
0
-44
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-25
-46
-50
27
52
23
0
0
0
0
0
0
0
0
0
0
31
16
-25
19
-28
76
0
-7
0
0
0
0
0
0
0
0
0
48
25
58
16
84
22
10
16
-10
-5
0
0
0
0
0
0
0
13
63
6
75
40
40
1
21
4
15
0
0
0
0
0
0
0
-46
6
36
8
6
-58
12
-84
-55
-5
0
0
0
0
0
0
0
30
-38
-33
-10
26
-77
20
28
-26
-66
0
0
0
0
0
0
0
92
-62
22
29
-30
61
-52
66
-50
0
0
0
0
0
0
0
0
0
-107
-83
-5
64
2
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
14
-12
0
-6
0
0
0
0
0
0
0
0
0
0
0
42
28
-43
42
47
0
0
0
0
-1
0
0
0
0
0
0
0
1
26
-7
49
1
-2
0
3
-1
3
0
0
0
0
0
0
0
43
13
-46
-27
-12
9
0
4
0
0
0
0
0
0
0
0
0
-1
15
-1
-35
67
8
4
-4
-2
0
0
0
0
0
0
0
0
-13
5
24
13
18
-21
1
-1
2
0
0
0
0
0
0
0
0
0
2
0
-5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
3
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
5
7
4
16
-20
8
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-9
-8
-15
-2
0
0
-6
0
0
0
0
0
0
0
0
0
14
3
-21
5
13
-1
2
-4
0
0
0
0
0
0
0
0
0
0
15
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-14
5
2
0
0
0
0
0
0
0
0
0
0
0
-2
59
37
56
28
0
39
0
0
0
0
0
0
0
0
0
0
3
36
14
-2
-22
93
4
0
1
49
0
0
0
0
0
0
0
0
8
-3
-14
-98
-10
5
67
6
39
0
0
0
0
0
0
0
0
0
-46
-58
11
-14
24
-51
-21
21
0
0
0
0
0
0
0
0
-18
7
4
-6
50
-12
5
-18
-31
0
0
0
0
0
0
0
0
0
-49
-13
49
7
-65
20
-1
-14
0
0
0
0
0
0
0
0
0
-43
-2
8
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-43
4
6
0
0
0
0
0
0
0
0
0
0
0
0
13
62
49
-3
42
-1
0
0
0
0
0
0
0
0
0
0
0
23
-86
25
-20
-10
9
0
4
14
-3
0
0
0
0
0
0
0
-1
22
2
-92
-20
12
0
0
0
0
0
0
0
0
0
0
0
1
0
-34
-12
77
25
14
0
-2
-1
0
0
0
0
0
0
0
0
26
0
-1
-31
5
0
0
2
0
0
0
0
0
0
0
0
0
-18
54
0
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
25
-7
-16
5
0
0
0
0
0
0
0
0
0
0
0
-42
103
-58
75
79
9
-9
0
-1
0
-2
0
0
0
0
0
0
47
-7
-4
-14
31
-39
-3
-6
-29
0
0
0
0
0
0
0
0
-1
-10
-52
-30
-5
-24
0
-9
-25
0
0
0
0
0
0
0
0
17
31
-7
0
-33
0
6
-9
-6
0
0
0
0
0
0
0
0
0
71
-24
-5
-3
-8
6
-4
7
0
0
0
0
0
0
0
0
-2
0
12
1
-42
0
3
0
0
0
0
0
0
0
0
0
0
0
32
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
81
24
9
2
-3
-16
0
0
0
0
0
0
0
0
0
0
-55
19
42
-24
70
94
5
0
1
0
0
0
0
0
0
0
0
91
21
33
12
0
13
-4
2
45
8
0
0
0
0
0
0
0
71
-6
59
9
45
106
-20
46
-13
19
0
0
0
0
0
0
0
15
32
-14
53
0
75
9
-42
1
-4
0
0
0
0
0
0
0
-5
28
-2
-69
23
-27
-11
-58
-90
2
0
0
0
0
0
0
0
4
22
-8
-29
35
-18
-7
-3
31
1
0
0
0
0
0
0
0
0
0
9
-8
-10
58
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-90
-3
15
0
129
21
0
0
0
0
0
0
0
0
0
0
-57
31
-40
20
-32
40
31
0
-20
0
0
0
0
0
0
0
0
12
-46
46
18
13
32
-89
-53
110
-71
8
0
0
0
0
0
0
-33
11
-13
29
143
-53
99
69
76
0
0
0
0
0
0
0
0
32
4
-14
35
9
0
59
-50
3
0
0
0
0
0
0
0
0
6
47
23
-67
-82
160
-119
-80
-67
5
0
0
0
0
0
0
0
-37
9
9
-67
-5
-36
50
-261
-80
-5
0
0
0
0
0
0
0
0
-46
0
-19
14
-13
-2
16
0
0
0
0
0
0
0
0
0
-1
0
-24
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
-51
17
15
83
-48
0
0
0
0
0
0
0
0
0
0
-44
-26
24
-24
63
-2
-43
0
-1
0
0
0
0
0
0
0
0
52
-18
-16
23
-80
65
54
4
39
19
0
0
0
0
0
0
0
6
-26
23
23
36
32
16
-71
42
176
0
0
0
0
0
0
0
13
1
-7
50
59
22
0
-15
14
81
0
0
0
0
0
0
0
-15
-3
34
-43
85
69
-47
-33
-46
55
0
0
0
0
0
0
0
-2
33
-8
15
-66
63
-135
36
-86
8
0
0
0
0
0
0
0
0
0
-20
-132
35
2
0
0
-8
-6
0
0
0
0
0
0
0
0
0
4
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
11
-25
36
5
14
3
0
0
0
0
0
0
0
0
0
-20
24
-14
23
16
79
5
0
23
0
-3
0
0
0
0
0
0
57
-12
36
-1
54
-18
46
-17
74
-59
8
0
0
0
0
0
0
3
20
0
37
22
-33
4
-1
42
-27
-10
0
0
0
0
0
0
16
30
28
49
53
42
-18
0
61
-3
0
0
0
0
0
0
0
-14
21
28
13
-23
57
-102
26
-23
-35
0
0
0
0
0
0
0
-63
-70
30
13
54
-45
88
5
-25
-3
0
0
0
0
0
0
0
0
25
18
31
-9
114
3
0
-13
-5
0
0
0
0
0
0
0
0
0
18
-2
-84
0
0
0
0
0
0
0
0
0
0
0
0
-49
43
-14
5
-15
40
61
-9
0
1
0
0
0
0
0
0
0
14
-25
17
-11
35
-34
59
0
0
0
0
0
0
0
0
0
0
-19
27
-19
46
-8
-57
-23
-6
-29
68
-1
0
0
0
0
0
0
75
-15
21
-1
55
-4
5
-102
-37
-69
0
0
0
0
0
0
0
43
13
6
51
55
-11
44
46
0
-85
0
0
0
0
0
0
0
-1
11
17
3
10
-44
49
16
28
-17
0
0
0
0
0
0
0
8
51
-51
27
25
-15
61
67
-59
-7
0
0
0
0
0
0
0
0
15
50
-36
24
40
22
-6
-1
-16
0
0
0
0
0
0
0
0
1
-2
49
-6
24
0
0
0
0
0
0
0
0
0
0
0
0
2
25
-60
23
58
36
1
0
0
2
0
0
0
0
0
0
0
22
-15
9
-25
35
101
0
0
0
42
0
0
0
0
0
0
0
-2
15
-3
-22
8
20
-28
91
-68
24
0
0
0
0
0
0
0
73
52
3
99
22
5
130
41
48
13
0
0
0
0
0
0
0
-57
-10
18
-33
43
-43
-93
-15
0
8
0
0
0
0
0
0
0
5
34
9
58
-15
77
81
142
73
3
0
0
0
0
0
0
0
2
-80
22
19
68
-23
-21
103
4
0
0
0
0
0
0
0
0
-7
67
3
-12
-22
-5
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
15
-27
-3
1
0
0
0
0
0
0
0
0
0
0
0
-41
31
121
-14
15
0
0
0
-2
2
0
0
0
0
0
0
0
1
-49
-6
43
-10
23
1
0
0
-1
0
0
0
0
0
0
0
50
3
46
-31
-1
9
1
5
0
0
0
0
0
0
0
0
0
-1
-55
-9
99
0
3
0
0
0
0
0
0
0
0
0
0
0
6
0
18
-6
-8
-7
5
0
0
0
0
0
0
0
0
0
0
0
9
14
0
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
25
8
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
5
-30
0
1
3
0
0
0
0
0
0
0
0
0
0
0
-4
-62
-3
-9
33
5
0
0
-19
0
0
0
0
0
0
0
0
33
0
23
-52
10
-3
-8
0
-8
0
0
0
0
0
0
0
0
0
26
-38
49
8
-3
0
0
-3
0
0
0
0
0
0
0
0
3
0
47
25
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
32
0
6
-1
-8
0
-4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
43
5
51
-4
0
0
0
0
0
0
0
0
0
0
0
0
160
5
16
147
-22
-4
0
0
0
0
0
0
0
0
0
0
0
-14
22
-1
-49
-30
24
-3
0
3
0
0
0
0
0
0
0
0
47
59
-20
27
74
-6
29
-5
1
0
0
0
0
0
0
0
0
-9
3
-16
18
47
25
13
29
5
0
0
0
0
0
0
0
0
0
-19
75
62
53
20
1
4
-16
0
0
0
0
0
0
0
0
-2
1
8
50
5
-2
1
-9
-5
0
0
0
0
0
0
0
0
0
-3
-19
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
37
25
-24
-1
0
0
0
0
0
0
0
0
0
0
0
39
119
15
53
4
6
0
0
0
0
0
0
0
0
0
0
0
50
40
48
26
-41
19
0
0
-12
0
0
0
0
0
0
0
0
46
22
14
-34
-20
-69
-8
-3
1
-2
0
0
0
0
0
0
0
1
-20
0
-13
61
8
-1
-29
5
0
0
0
0
0
0
0
0
0
0
42
13
60
44
-2
1
32
0
0
0
0
0
0
0
0
-6
-7
0
25
14
-2
1
1
39
0
0
0
0
0
0
0
0
0
0
-4
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
-40
35
-10
0
0
0
0
0
-2
0
0
0
0
0
0
1
12
-3
1
4
-13
1
0
0
0
0
0
0
0
0
0
0
25
-1
-41
28
16
20
3
4
6
0
2
0
0
0
0
0
0
21
-18
21
138
42
-59
-10
1
-95
0
0
0
0
0
0
0
0
4
-86
3
47
-2
44
-7
16
-49
0
0
0
0
0
0
0
0
0
-19
-123
0
-59
2
9
0
0
0
0
0
0
0
0
0
0
-5
-15
-2
-14
0
6
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
46
30
25
0
4
1
0
0
0
0
0
0
0
0
0
0
85
9
-4
23
44
-28
0
0
0
0
0
0
0
0
0
0
34
-65
-19
3
96
22
0
22
-25
-48
0
0
0
0
0
0
0
12
3
-39
-4
34
-16
66
-9
-24
83
0
0
0
0
0
0
0
61
20
62
-55
44
54
115
-8
41
-22
0
0
0
0
0
0
0
0
-24
-20
108
0
14
-2
2
-7
0
0
0
0
0
0
0
0
1
111
-1
-19
-130
8
25
-37
-19
-1
0
0
0
0
0
0
0
0
-44
0
-46
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
75
-3
-33
-9
-5
-22
-1
0
0
0
0
0
0
0
0
0
73
10
63
28
-29
74
3
0
30
0
0
0
0
0
0
0
0
8
-99
30
-5
37
175
71
55
-34
-5
0
0
0
0
0
0
0
72
-27
-52
44
62
-31
42
-59
-40
48
0
0
0
0
0
0
0
-3
42
32
34
107
71
98
-42
136
37
0
0
0
0
0
0
0
3
47
-22
100
9
0
9
4
3
0
0
0
0
0
0
0
0
37
92
34
32
-34
-26
-10
34
-84
0
0
0
0
0
0
0
0
0
-94
46
-67
21
-31
-8
-9
0
0
0
0
0
0
0
0
0
0
10
-3
1
7
0
0
0
0
0
0
0
0
0
0
0
0
13
-59
49
-1
-3
-12
94
-3
0
0
0
0
0
0
0
0
0
12
3
-15
29
58
83
-18
0
3
0
0
0
0
0
0
0
0
-8
-12
-6
7
33
93
1
-25
33
-26
0
0
0
0
0
0
0
8
11
32
-26
-10
-16
63
73
-100
31
0
0
0
0
0
0
0
-20
4
11
-8
1
119
-66
3
-63
204
0
0
0
0
0
0
0
0
-8
27
55
46
132
0
15
-111
-41
0
0
0
0
0
0
0
32
-6
-22
0
8
29
-90
-111
-112
34
0
0
0
0
0
0
0
0
-4
70
48
-39
64
-9
-34
-29
-1
0
0
0
0
0
0
0
0
0
87
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
12
86
-34
48
2
21
-43
1
0
0
0
0
0
0
0
0
0
90
4
76
-18
59
5
-66
0
9
0
15
0
0
0
0
0
0
-24
42
-7
72
27
37
44
26
-11
49
15
0
0
0
0
0
0
13
-4
42
11
50
-77
-55
-12
67
-63
5
0
0
0
0
0
0
4
14
9
23
28
-11
-10
9
38
58
6
0
0
0
0
0
0
8
31
51
37
75
55
9
0
-43
0
0
0
0
0
0
0
0
16
33
8
89
19
-57
-15
-22
-31
7
0
0
0
0
0
0
0
-12
-4
13
40
74
63
100
12
-10
-4
0
0
0
0
0
0
0
0
0
-29
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
75
13
24
-36
34
-69
13
0
0
8
0
0
0
0
0
0
0
9
-2
-1
19
-16
55
-46
0
-83
0
-4
0
0
0
0
0
0
9
-41
9
-11
33
-14
25
-45
9
198
-1
0
0
0
0
0
0
5
3
7
45
26
10
-58
9
-2
14
-1
0
0
0
0
0
0
58
-13
7
1
38
-2
8
-28
68
70
0
0
0
0
0
0
0
-20
41
21
24
60
121
1
-33
0
3
0
0
0
0
0
0
0
29
-57
7
21
17
10
71
33
23
-186
0
0
0
0
0
0
0
0
0
42
10
42
46
-14
10
0
37
0
0
0
0
0
0
0
0
8
-24
-5
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-31
10
-146
95
94
-6
0
0
1
0
0
0
0
0
0
0
-11
3
-5
-7
-75
50
0
-4
0
-34
0
0
0
0
0
0
0
-17
-36
15
-14
-5
-63
-14
-31
41
-27
0
0
0
0
0
0
0
-38
-7
10
2
-40
10
-27
58
-10
16
0
0
0
0
0
0
0
26
-5
-43
-71
-3
-25
68
-42
110
-13
0
0
0
0
0
0
0
-65
-45
2
3
63
8
-8
-28
0
3
0
0
0
0
0
0
0
26
-4
34
38
26
-82
133
22
4
0
0
0
0
0
0
0
0
0
10
-35
45
-49
5
7
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-29
-1
-2
-3
0
2
1
0
0
0
0
0
0
0
0
-6
4
20
-21
-20
0
-1
0
-1
-22
0
0
0
0
0
0
0
-8
66
-31
75
7
-7
6
0
-5
7
0
0
0
0
0
0
0
17
-1
-3
-10
-28
-2
0
-17
0
-6
0
0
0
0
0
0
0
-4
36
70
37
-5
10
0
2
-3
1
0
0
0
0
0
0
0
-47
2
-32
41
-57
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
-4
52
7
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-20
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
37
1
3
0
2
0
0
10
0
0
0
0
0
0
0
0
29
0
0
3
-5
-4
0
8
8
0
0
0
0
0
0
0
0
-2
0
-32
7
2
-8
5
0
3
0
0
0
0
0
0
0
0
0
0
-50
0
-8
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
-12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
-5
32
24
-3
0
0
0
0
0
0
0
0
0
0
-5
-4
48
-12
-47
0
9
0
0
9
0
0
0
0
0
0
0
0
-25
39
34
-4
-93
6
22
-7
8
0
0
0
0
0
0
0
5
3
99
1
7
-13
-3
34
-3
25
0
0
0
0
0
0
0
0
0
0
-37
2
-25
8
0
-8
-13
0
0
0
0
0
0
0
1
0
50
5
75
5
-27
6
8
0
0
0
0
0
0
0
0
0
0
0
60
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
17
75
0
-2
0
0
0
0
0
0
0
0
0
0
0
78
50
14
24
12
0
0
0
0
0
0
0
0
0
0
0
0
-5
-25
50
111
8
-1
0
0
2
0
0
0
0
0
0
0
0
35
-31
85
-2
8
-2
-1
-1
-1
0
0
0
0
0
0
0
0
-6
13
20
-34
10
49
10
0
1
0
0
0
0
0
0
0
0
0
22
0
-31
1
-52
0
-1
-2
0
0
0
0
0
0
0
0
13
0
22
112
9
-9
0
12
0
0
0
0
0
0
0
0
0
0
-7
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
-20
69
1
-8
-1
2
3
0
0
0
0
0
0
0
0
0
0
-29
1
-50
-6
-7
-4
-1
0
0
0
0
0
0
0
0
0
0
0
66
4
8
0
10
-4
0
-4
0
0
0
0
0
0
0
0
7
0
-41
-22
-75
-1
-3
-6
32
0
0
0
0
0
0
0
0
-1
103
0
20
0
-47
0
5
-1
3
0
0
0
0
0
0
0
6
31
5
0
6
0
-3
-1
1
0
0
0
0
0
0
0
0
0
25
0
9
0
-3
0
0
-16
0
0
0
0
0
0
0
0
0
0
-5
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
15
5
2
-1
0
0
0
0
0
0
0
0
0
0
0
109
9
28
3
43
-3
0
0
0
0
0
0
0
0
0
0
0
-22
2
-17
41
-33
13
0
-8
-9
0
0
0
0
0
0
0
0
7
38
56
40
29
25
-8
1
-24
0
0
0
0
0
0
0
-53
-4
7
84
51
16
-92
-12
31
-53
0
0
0
0
0
0
0
0
-5
-78
-32
55
-13
31
-29
-26
20
0
0
0
0
0
0
0
-25
6
2
-74
0
-1
4
-3
-2
0
0
0
0
0
0
0
0
0
109
22
3
-14
-3
0
7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
85
-5
32
12
4
0
0
0
0
0
0
0
0
0
0
-5
19
39
69
18
44
21
0
0
0
0
0
0
0
0
0
0
-6
62
17
46
66
24
-10
1
-3
16
4
0
0
0
0
0
0
-95
0
5
42
26
91
-7
7
-92
23
0
0
0
0
0
0
0
25
2
31
-33
21
106
-2
-51
-21
22
0
0
0
0
0
0
0
-22
33
42
83
-24
-65
27
32
25
-6
-6
0
0
0
0
0
0
64
21
42
82
94
0
-1
-4
-4
0
0
0
0
0
0
0
0
0
106
74
-86
18
7
0
4
-1
-1
0
0
0
0
0
0
0
-4
0
-11
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
41
35
-13
27
33
-36
0
0
0
0
0
0
0
0
0
0
-2
-30
76
24
22
38
13
0
1
0
0
0
0
0
0
0
0
8
-48
3
37
25
17
-9
-6
4
-7
0
0
0
0
0
0
0
5
26
1
-30
71
-29
76
-50
0
-43
0
0
0
0
0
0
0
4
-30
18
-2
-2
61
26
22
-183
24
0
0
0
0
0
0
0
-3
-42
8
-3
59
133
58
196
77
4
1
0
0
0
0
0
0
0
41
56
91
26
-34
0
1
4
0
0
0
0
0
0
0
0
0
43
127
37
86
-84
1
-2
25
-5
0
0
0
0
0
0
0
0
0
-13
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
30
-10
8
42
-33
-1
0
0
0
0
0
0
0
0
0
-41
21
17
35
28
7
-48
0
-1
0
1
0
0
0
0
0
0
-23
-58
13
-78
31
114
66
2
41
-73
5
0
0
0
0
0
0
-35
24
39
-13
-50
126
-13
-1
-44
-33
0
0
0
0
0
0
0
14
32
11
34
74
28
64
3
-20
-61
13
0
0
0
0
0
0
73
6
53
17
-4
-67
-11
6
-44
-14
0
0
0
0
0
0
0
15
52
-10
115
153
87
165
0
-56
-3
0
0
0
0
0
0
0
0
-41
23
45
32
56
44
-8
0
15
0
0
0
0
0
0
0
0
2
27
16
67
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-24
32
-9
-33
63
3
0
1
-1
0
0
0
0
0
0
42
-10
-4
-22
56
41
104
0
0
0
2
0
0
0
0
0
0
93
16
12
-7
-12
92
-33
-29
-7
57
0
-2
0
0
0
0
0
-59
-6
-12
-5
66
-32
-6
-92
130
133
-4
0
0
0
0
0
0
-34
5
5
12
8
-21
5
30
-33
38
0
0
0
0
0
0
0
13
26
20
10
29
0
19
-87
-22
21
4
0
0
0
0
0
0
9
67
21
48
70
83
65
36
0
13
0
0
0
0
0
0
0
0
-85
17
18
59
13
66
-72
4
-155
0
0
0
0
0
0
0
0
0
-19
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
20
41
19
8
98
6
0
0
-1
0
0
0
0
0
0
0
4
43
-9
-45
-4
-10
0
0
0
34
0
0
0
0
0
0
0
-30
21
-43
-14
40
-1
5
13
13
24
0
0
0
0
0
0
0
-40
-41
35
-49
14
56
98
-36
-10
15
0
0
0
0
0
0
0
-43
-16
-4
-40
-31
-15
-70
-4
24
47
0
0
0
0
0
0
0
28
34
-14
16
72
-25
28
35
77
-27
0
0
0
0
0
0
0
17
17
29
84
52
25
-5
16
0
0
0
0
0
0
0
0
0
1
-56
5
36
48
75
-22
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
28
0
-6
0
0
1
0
0
0
0
0
0
0
0
7
1
-18
-42
4
0
0
0
3
-2
0
0
0
0
0
0
0
0
23
-10
17
5
7
0
0
0
5
0
0
0
0
0
0
0
-6
25
23
-9
39
2
0
3
6
0
0
0
0
0
0
0
0
0
-120
-121
66
31
8
-2
0
0
24
0
0
0
0
0
0
0
8
-2
1
23
45
-10
3
-8
0
-7
0
0
0
0
0
0
0
-2
-2
5
99
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-7
0
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
8
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-19
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-1
59
-18
3
-5
0
1
0
0
0
0
0
0
0
0
13
0
17
7
-9
-7
-3
1
0
0
0
0
0
0
0
0
0
0
10
-2
0
1
10
2
0
-6
0
0
0
0
0
0
0
0
0
0
12
-6
41
0
1
6
0
-3
0
0
0
0
0
0
0
0
0
2
-13
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
76
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-19
34
15
-2
0
0
0
2
0
0
0
0
0
0
0
0
-2
-1
5
-1
30
2
0
0
2
0
0
0
0
0
0
0
0
0
8
-13
-35
6
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-49
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
4
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-4
0
8
1
3
-1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
-1
4
20
0
0
0
0
0
0
0
0
0
0
0
0
26
4
-35
1
-67
0
0
18
0
0
0
0
0
0
0
0
13
13
-86
-1
-42
1
1
0
9
0
0
0
0
0
0
0
0
0
-31
0
-67
0
-9
-2
-10
-20
0
0
0
0
0
0
0
0
-3
-9
3
0
-3
0
0
0
-34
0
0
0
0
0
0
0
0
0
24
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-45
-1
-38
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-15
-11
1
-2
0
0
3
0
0
0
0
0
0
0
0
-47
-1
32
-2
20
-1
0
-7
-13
0
0
0
0
0
0
0
-20
0
-34
1
-49
-93
-33
0
0
0
0
0
0
0
0
0
0
-2
-44
3
13
-5
18
22
0
0
0
0
0
0
0
0
0
0
-8
-19
22
-4
21
5
46
-8
1
0
0
0
0
0
0
0
0
0
8
-51
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
8
10
6
-7
0
0
0
0
0
0
0
0
0
0
0
81
3
0
9
42
-6
0
0
0
0
0
0
0
0
0
0
43
0
22
2
-8
39
2
0
0
-10
0
0
0
0
0
0
0
-12
13
-4
0
-1
35
1
4
-24
-3
0
0
0
0
0
0
0
2
-57
-44
-3
-1
-35
-17
-32
-25
0
0
0
0
0
0
0
0
0
49
11
-30
5
-40
10
-79
6
0
0
0
0
0
0
0
0
81
29
-5
-78
86
3
43
19
5
0
0
0
0
0
0
0
0
0
70
25
27
-17
0
0
-8
0
0
0
0
0
0
0
0
0
-5
0
70
-25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
13
-71
0
8
0
0
0
0
0
0
0
0
0
0
0
22
-6
5
-2
7
0
0
0
0
0
0
0
0
0
0
0
16
-2
4
-7
32
7
2
0
0
-22
0
0
0
0
0
0
0
0
47
-41
9
13
-16
19
-8
-9
-52
0
0
0
0
0
0
0
-34
43
-46
-43
-102
-30
50
-18
15
3
0
0
0
0
0
0
0
0
-70
0
39
54
4
1
84
-86
-15
0
0
0
0
0
0
0
0
5
-54
48
19
8
2
32
-18
-5
0
0
0
0
0
0
0
0
-7
40
71
24
102
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-7
43
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-3
12
-136
8
9
0
0
0
0
0
0
0
0
0
0
27
-43
123
-21
52
46
-2
0
0
0
0
0
0
0
0
0
0
-9
38
-68
73
28
58
-4
2
14
4
0
0
0
0
0
0
0
-23
31
44
-50
-28
86
-30
0
81
1
0
0
0
0
0
0
0
-20
-31
5
-14
39
-13
-88
1
145
-24
1
0
0
0
0
0
0
-42
16
20
13
-55
-5
3
0
43
-50
0
0
0
0
0
0
0
11
12
11
-1
39
12
64
0
97
5
0
0
0
0
0
0
0
2
30
5
69
90
-27
-14
0
0
0
0
0
0
0
0
0
0
9
20
80
22
-3
6
0
0
-19
0
0
0
0
0
0
0
0
0
3
9
21
4
12
-8
-7
0
0
0
0
0
0
0
0
0
0
11
-11
38
-23
40
-8
0
0
0
0
0
0
0
0
0
0
-24
-24
-13
-72
56
55
5
5
2
-42
0
0
0
0
0
0
0
-1
-19
-87
-6
-17
65
4
-6
-4
13
0
0
0
0
0
0
0
-9
10
9
-73
-24
-2
83
-48
13
-130
0
0
0
0
0
0
0
1
3
-29
-38
39
-117
31
54
0
52
0
0
0
0
0
0
0
-6
-60
-44
14
-12
39
-92
-78
9
-3
0
0
0
0
0
0
0
0
6
8
139
15
5
2
2
0
4
0
0
0
0
0
0
0
0
7
12
9
71
25
0
-17
0
0
0
0
0
0
0
0
0
0
0
-17
-9
5
-20
16
0
0
0
0
0
0
0
0
0
0
0
-80
-24
-47
67
-23
16
0
0
0
1
0
0
0
0
0
0
0
-32
-14
20
-57
141
-7
-5
0
1
-10
0
0
0
0
0
0
0
-8
38
-7
21
2
-15
0
6
0
-13
0
0
0
0
0
0
0
19
2
-46
-19
27
-27
40
-32
-5
24
0
0
0
0
0
0
0
-6
-4
22
-54
62
-51
-27
-65
-2
-19
0
0
0
0
0
0
0
5
-68
20
-9
42
-47
91
20
0
1
0
0
0
0
0
0
0
0
8
-77
-50
-39
-22
-1
-3
0
0
0
0
0
0
0
0
0
0
0
4
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
2
-7
3
0
0
-1
0
0
0
0
0
0
0
0
-2
-5
0
-3
4
-1
0
0
0
0
0
0
0
0
0
0
0
9
-18
-7
9
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
-4
4
-1
8
-2
0
0
0
0
0
0
0
0
0
0
0
3
18
-13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
-7
0
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
24
2
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
-9
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
29
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-1
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
-160
0
2
0
0
0
0
0
0
0
0
0
0
0
-12
0
38
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
79
0
-6
1
0
0
0
0
0
0
0
0
0
0
-58
0
22
0
76
-14
12
0
0
0
0
0
0
0
0
0
0
0
-44
0
-21
3
47
-17
0
-42
0
0
0
0
0
0
0
0
1
0
-18
0
-6
39
0
0
3
0
0
0
0
0
0
0
0
0
-43
0
6
0
-7
-17
0
-8
0
0
0
0
0
0
0
0
0
0
39
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-8
-2
0
3
0
0
0
0
0
0
0
0
0
0
-6
-1
-5
53
0
6
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
-15
17
-1
3
0
0
3
0
0
0
0
0
0
0
0
20
22
8
-2
65
-4
0
0
0
0
0
0
0
0
0
0
0
49
-103
2
-23
3
19
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-70
-25
-5
1
0
0
-41
0
0
0
0
0
0
0
0
-24
43
6
14
-7
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-24
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-9
-5
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
4
0
-29
35
-50
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
16
-13
31
-1
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
-24
-1
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
25
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
13
0
-1
0
0
0
0
0
0
0
0
2
0
0
10
0
-7
-3
9
-1
0
0
0
0
0
0
0
0
0
0
3
0
1
8
4
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-8
-5
-3
-1
0
0
0
0
0
0
0
-2
0
0
0
0
-25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-5
-8
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-4
17
-7
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
7
-17
-38
1
3
0
0
0
0
0
0
0
0
0
0
20
0
7
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
43
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
0
93
42
0
0
-19
0
0
0
0
0
0
0
0
0
0
8
-14
-25
53
-34
42
6
-1
0
0
0
0
0
0
0
0
-3
5
-3
53
25
109
-7
3
0
0
0
0
0
0
0
0
0
0
1
0
31
8
13
-76
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
28
-5
-31
-2
0
0
0
0
0
0
0
0
0
0
0
5
-6
2
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
20
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
25
40
0
-50
-27
0
16
0
0
0
0
0
0
0
-8
3
1
45
-7
3
-30
-46
-37
24
0
0
0
0
0
0
0
8
74
-17
29
-41
-76
74
59
-52
-28
0
0
0
0
0
0
0
-14
12
1
-4
-27
-27
-25
13
67
-78
0
0
0
0
0
0
0
3
0
4
1
-5
9
24
8
51
57
0
0
0
0
0
0
0
0
0
0
1
-2
44
19
19
-38
0
0
0
0
0
0
0
0
0
0
7
0
-5
0
29
-12
-28
5
0
0
0
0
0
0
0
0
0
0
0
0
25
-4
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
10
64
-32
0
-9
0
32
0
0
0
0
0
0
0
8
14
-3
0
24
15
-28
5
8
24
0
0
0
0
0
0
0
-1
102
3
3
2
31
-36
17
-100
-41
0
0
0
0
0
0
0
0
-6
44
-19
75
23
3
6
-26
31
0
0
0
0
0
0
0
0
-2
-4
-6
13
3
56
12
-32
11
-2
0
0
0
0
0
0
0
-12
6
0
-1
-9
46
-39
-14
-16
0
0
0
0
0
0
0
0
-20
0
0
0
-3
12
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
32
-19
-57
-52
0
0
5
0
0
0
0
0
0
0
7
-2
24
-10
-34
19
38
-23
-93
0
0
0
0
0
0
0
0
59
-3
10
-62
45
-23
12
-64
-37
13
0
0
0
0
0
0
0
19
-22
41
-3
-33
13
-69
-3
-42
-6
0
0
0
0
0
0
0
2
4
0
-14
-41
-14
42
21
35
0
-1
0
0
0
0
0
0
0
-2
0
0
-1
57
-13
-53
6
-2
5
0
0
0
0
0
0
0
0
0
-4
-3
0
-9
6
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
4
0
19
-5
-45
0
0
8
0
0
0
0
0
0
0
12
-8
0
-1
7
14
10
9
66
3
0
0
0
0
0
0
0
-6
12
0
-8
-7
-49
-49
-19
3
1
0
0
0
0
0
0
0
51
-2
0
21
22
-73
-54
-102
-70
8
0
0
0
0
0
0
0
41
8
7
15
21
-16
-42
-49
1
0
0
0
0
0
0
0
0
13
2
-5
-20
4
-3
-49
-9
9
0
0
0
0
0
0
0
0
-3
0
0
-5
10
-42
-2
-42
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
0
0
0
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
0
0
3
-16
-40
0
-33
0
-1
0
0
0
0
0
0
0
0
1
0
12
17
-5
-22
-8
23
0
0
0
0
0
0
0
0
3
0
0
0
-2
7
5
-21
-1
0
0
0
0
0
0
0
0
1
0
0
4
-4
-6
-23
-5
-7
0
0
0
0
0
0
0
0
5
0
0
9
6
-1
-32
-28
3
0
0
0
0
0
0
0
0
-1
0
0
0
4
1
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-14
-9
-1
-8
0
0
0
0
0
0
0
0
0
-1
0
0
-10
-1
-39
0
42
-12
0
0
0
0
0
0
0
0
1
0
0
-16
3
-8
-6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
0
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-12
19
-8
0
6
0
0
0
0
0
0
0
3
0
2
1
23
5
-12
-16
-25
-10
0
0
0
0
0
0
0
0
-1
-1
-4
15
34
63
-2
31
-8
0
0
0
0
0
0
0
1
-2
0
4
-3
24
-20
49
-39
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
13
-3
3
0
0
0
0
0
0
0
0
1
0
0
0
-7
-8
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-3
7
0
-3
0
0
0
0
0
0
0
0
2
0
0
9
35
2
18
10
-5
0
0
0
0
0
0
0
0
4
0
-3
-8
23
3
-43
27
-10
0
0
0
0
0
0
0
0
-2
0
0
-3
2
-23
-2
14
-5
0
0
0
0
0
0
0
0
4
0
0
-2
-1
15
12
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
30
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
-32
-5
-24
0
2
0
0
0
0
0
0
0
-17
0
0
-8
7
32
-22
66
-13
2
-1
0
0
0
0
0
0
0
0
0
-13
-1
41
30
-3
8
9
0
0
0
0
0
0
0
0
0
0
0
1
44
41
80
-7
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
-14
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
0
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
1
-20
5
51
12
0
-6
0
0
0
0
0
0
0
13
0
-1
32
-5
-10
39
-26
-15
8
2
0
0
0
0
0
0
-2
0
1
5
8
0
-4
43
25
17
0
0
0
0
0
0
0
0
0
9
3
-8
52
11
-11
-44
-13
0
0
0
0
0
0
0
-1
-16
0
-3
-20
10
47
-38
19
0
0
0
0
0
0
0
0
0
0
-1
-13
-2
-19
-1
35
-31
-14
0
0
0
0
0
0
0
0
0
0
3
-2
3
13
16
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
8
-44
40
49
-8
-1
0
-14
0
0
0
0
0
0
0
12
51
13
16
54
-38
-8
-18
-3
4
0
0
0
0
0
0
0
33
-14
15
-53
-41
-34
28
19
-10
-83
0
0
0
0
0
0
0
3
-9
-7
-26
31
-17
63
8
31
-9
0
0
0
0
0
0
0
8
1
8
-13
93
40
18
-59
14
-14
0
0
0
0
0
0
0
-2
-14
0
6
3
-22
30
-30
18
-19
0
0
0
0
0
0
0
0
-4
0
-5
-10
12
5
-30
-88
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
79
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-42
-3
3
12
150
30
-8
0
-82
-2
0
0
0
0
0
0
16
9
5
64
24
65
11
28
-40
-31
-2
0
0
0
0
0
0
17
93
-14
34
79
32
-43
-15
15
-23
0
0
0
0
0
0
0
4
66
-61
119
18
-25
21
4
32
-46
0
0
0
0
0
0
0
0
-23
22
45
-11
5
-14
-66
19
-10
-1
0
0
0
0
0
0
0
-2
0
9
1
49
-2
11
-50
19
0
0
0
0
0
0
0
0
-1
0
5
-41
1
21
-3
-15
1
0
0
0
0
0
0
0
0
2
0
0
0
87
16
69
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-24
66
56
25
-21
-4
19
0
28
2
0
0
0
0
0
0
14
-14
-67
44
-69
-22
-9
-27
-3
10
8
0
0
0
0
0
0
-88
4
1
58
27
-19
7
13
17
18
1
0
0
0
0
0
0
106
0
50
-31
-40
-4
-5
-14
47
-1
-3
0
0
0
0
0
0
-37
7
-8
44
-30
-45
-34
-79
-2
41
0
0
0
0
0
0
0
0
-6
7
-8
-51
-3
9
29
20
106
8
0
0
0
0
0
0
0
0
0
0
-44
21
-44
-5
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
50
7
31
-5
-34
-20
-13
0
22
4
-1
0
0
0
0
0
33
4
-41
31
7
8
-60
-3
-6
-3
6
0
0
0
0
0
0
-3
-35
-76
-15
-26
-26
-50
-1
-28
-90
-2
0
0
0
0
0
0
-2
25
31
-57
-12
51
-63
-2
-14
6
2
0
0
0
0
0
0
1
23
25
8
-27
44
-30
-14
8
20
0
0
0
0
0
0
0
0
18
41
43
-10
-3
-69
-23
20
28
1
0
0
0
0
0
0
10
-1
4
-8
6
-5
-9
50
-10
-8
0
0
0
0
0
0
0
0
0
-7
0
0
-2
5
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
28
15
113
-30
-47
36
0
-17
2
0
0
0
0
0
0
0
-6
-46
55
-50
-37
-24
-38
-45
-8
-13
0
0
0
0
0
0
0
55
27
-69
-38
-11
-49
-5
-58
-52
8
0
0
0
0
0
0
0
4
71
-30
70
-18
-19
-25
15
-93
-8
0
0
0
0
0
0
0
-66
28
-50
-13
7
-70
-24
-2
5
-3
0
0
0
0
0
0
0
-18
42
8
-116
9
-7
26
22
21
2
0
0
0
0
0
0
0
32
12
-8
-39
31
-5
-28
-139
5
0
0
0
0
0
0
0
0
0
0
-8
2
-66
1
-83
13
-4
0
0
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
2
0
6
-9
-49
0
10
-3
-1
0
0
0
0
0
0
0
0
-3
0
3
-16
-3
-17
-17
23
-1
0
0
0
0
0
0
0
0
6
1
2
16
-30
-5
-24
10
0
0
0
0
0
0
0
0
30
0
-2
10
-2
-14
-57
-21
41
0
0
0
0
0
0
0
0
-6
8
-1
-4
-1
31
79
67
1
0
0
0
0
0
0
0
0
-1
1
-8
24
0
16
12
15
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
1
-9
0
0
0
0
0
0
0
0
0
8
3
0
12
27
12
10
27
12
0
0
0
0
0
0
0
0
0
0
-2
2
0
-3
4
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
5
8
-10
0
-8
0
-1
0
0
0
0
0
0
0
0
19
0
1
-12
1
6
1
-7
0
0
0
0
0
0
0
0
0
0
0
2
-25
6
27
-19
-47
6
0
0
0
0
0
0
0
0
2
-1
3
2
24
16
-43
-9
-6
0
0
0
0
0
0
0
0
-5
0
0
3
9
-10
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
9
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
13
0
0
2
0
0
0
0
0
0
0
0
0
2
0
-15
5
12
-25
-5
-2
0
0
0
0
0
0
0
13
0
0
5
-8
20
8
-13
0
2
0
0
0
0
0
0
0
-1
0
1
-2
2
-16
-24
-14
0
0
0
0
0
0
0
0
0
-3
-1
0
5
0
4
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
-15
-7
31
0
-7
0
0
0
0
0
0
0
0
0
1
-5
110
8
9
-53
25
0
3
0
0
0
0
0
0
0
-2
0
2
9
-21
-7
39
-25
0
2
0
0
0
0
0
0
-23
0
-8
-25
5
-23
77
40
0
2
0
0
0
0
0
0
0
0
0
0
0
-39
6
59
-1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-24
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-7
0
0
-5
-23
-29
-26
0
-26
0
0
0
0
0
0
0
-1
5
-3
3
37
78
-2
59
10
17
0
0
0
0
0
0
0
0
-7
14
34
49
-18
-32
88
-48
13
0
0
0
0
0
0
0
-3
22
0
1
-17
-35
-5
-20
-1
5
0
0
0
0
0
0
0
0
4
1
4
0
125
38
61
-23
0
0
0
0
0
0
0
0
0
-3
0
3
0
49
-3
-40
4
5
0
0
0
0
0
0
0
0
0
-7
0
-8
0
9
49
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
-6
-5
26
-29
84
40
0
-8
0
0
0
0
0
0
0
9
34
31
101
22
-86
48
-51
-48
34
0
0
0
0
0
0
0
12
56
3
-30
28
-17
35
10
-30
-31
0
0
0
0
0
0
0
31
-87
-50
-7
66
-88
-119
-4
56
-13
0
0
0
0
0
0
0
-63
-1
-22
37
-46
-42
94
-25
8
-5
0
0
0
0
0
0
0
-1
16
19
-8
-4
-2
58
6
39
22
0
0
0
0
0
0
0
3
0
3
0
-13
-34
-10
-38
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-1
70
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
4
0
0
0
0
0
0
0
0
3
-19
-13
1
13
52
-42
5
0
-59
0
0
0
0
0
0
0
17
-40
-2
53
22
-21
-3
-8
-18
-45
0
0
0
0
0
0
0
0
-66
-2
1
-64
-71
47
-19
23
8
0
0
0
0
0
0
0
0
-32
-31
91
-87
-87
-61
-37
-5
2
0
0
0
0
0
0
0
-1
-16
-5
-80
-35
65
-71
6
8
-21
-1
0
0
0
0
0
0
0
-41
-21
25
32
-37
-6
6
29
13
0
0
0
0
0
0
0
0
0
43
13
13
-24
-105
-29
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
-10
-55
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
30
13
-1
-106
5
30
6
0
17
-7
0
0
0
0
0
0
-66
80
34
58
-4
4
5
11
30
-39
1
0
0
0
0
0
0
-31
18
61
-32
-25
-18
-3
-26
37
31
8
0
0
0
0
0
0
-9
22
-10
-55
6
28
12
2
-86
47
2
0
0
0
0
0
0
-14
-1
20
-42
61
21
33
-54
-21
-41
-9
0
0
0
0
0
0
-6
41
71
18
-22
8
-19
18
52
51
0
0
0
0
0
0
0
26
20
-4
-2
4
20
3
60
33
0
0
0
0
0
0
0
0
0
-8
-1
-22
-1
18
9
-46
7
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
15
0
3
0
0
0
0
0
0
0
0
-31
-26
97
-38
-26
49
2
26
0
32
0
0
0
0
0
0
0
-31
-66
-34
77
8
16
-5
9
-27
-49
44
0
0
0
0
0
0
-31
8
3
9
4
-2
-11
-3
-21
46
0
2
0
0
0
0
0
25
-86
-7
27
-54
20
-41
-5
-57
-14
0
0
0
0
0
0
0
3
8
-13
59
-41
-17
25
18
-6
9
0
0
0
0
0
0
0
-2
23
-32
36
-56
-33
38
-18
17
-31
0
0
0
0
0
0
0
3
-4
-8
-13
6
-62
-43
-70
26
31
0
0
0
0
0
0
0
0
-4
0
1
0
25
-43
-10
53
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-33
-8
5
94
-64
-5
7
0
-78
26
0
0
0
0
0
0
0
28
45
52
42
-44
17
67
-43
-41
4
0
0
0
0
0
0
0
-44
123
-69
36
-24
-40
-66
-43
1
-5
0
0
0
0
0
0
0
-58
15
-26
-23
-64
0
-10
-8
-34
-6
0
0
0
0
0
0
0
-7
-25
-7
-99
27
60
-16
3
19
41
0
0
0
0
0
0
0
60
-8
16
-5
56
-12
9
-3
-30
10
0
0
0
0
0
0
0
5
12
8
13
-62
30
3
-4
54
0
0
0
0
0
0
0
0
0
-12
0
0
-41
-18
3
-32
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-12
17
0
-74
-4
0
0
0
0
0
0
0
0
9
25
34
-6
1
13
-44
-31
-92
0
0
0
0
0
0
0
0
-9
0
0
-1
0
-18
-5
6
0
0
0
0
0
0
0
0
0
-1
-2
0
0
4
27
-2
-2
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
-21
55
25
2
3
0
0
0
0
0
0
0
-1
-4
8
19
-8
10
5
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
41
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
2
-22
-7
1
0
0
0
0
0
0
0
0
0
0
0
2
-8
5
-1
-8
-6
0
0
0
0
0
0
0
0
0
0
0
2
-5
24
6
-53
-7
0
0
0
0
0
0
0
0
0
0
0
0
25
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-8
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
47
-3
0
41
0
0
0
0
0
0
0
0
8
0
-3
57
-2
51
7
-80
-16
0
0
0
0
0
0
0
2
1
1
-2
-19
-42
8
-6
38
39
0
0
0
0
0
0
0
0
0
4
-22
-92
-8
80
-26
-33
-10
0
0
0
0
0
0
0
0
1
7
0
-2
43
19
27
61
2
0
0
0
0
0
0
0
0
-5
0
0
-16
-13
0
1
-13
-4
0
0
0
0
0
0
0
0
-1
-1
1
-7
0
-23
16
23
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
-8
-2
0
0
0
0
0
0
0
1
0
0
4
-25
-2
1
21
-31
1
0
0
0
0
0
0
0
0
0
2
-1
-2
23
43
-16
2
0
0
0
0
0
0
0
0
0
0
22
-1
-17
5
-16
-6
-35
0
0
0
0
0
0
0
0
0
1
-1
0
0
31
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
13
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-17
-25
-3
-44
0
0
0
0
0
0
0
0
0
6
0
1
-6
124
-12
4
18
-11
0
0
0
0
0
0
0
0
1
0
0
12
-45
-123
34
59
57
0
-3
0
0
0
0
0
0
-2
-1
0
0
-24
-84
-63
14
-15
-1
0
0
0
0
0
0
0
2
5
2
1
35
12
-59
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
4
-3
-2
-27
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-4
31
-22
19
0
0
13
0
0
0
0
0
0
0
73
2
6
5
-65
-6
62
-58
-47
14
0
0
0
0
0
0
0
-5
2
5
15
-66
-3
-35
29
-18
-16
0
0
0
0
0
0
0
-2
-17
-16
51
3
49
-67
-32
-43
-18
0
0
0
0
0
0
0
3
4
0
-9
-19
-58
-22
-37
39
0
0
0
0
0
0
0
0
3
2
58
19
39
-50
13
-37
44
-8
0
0
0
0
0
0
0
-4
0
0
0
-25
-3
-27
0
-27
0
0
0
0
0
0
0
0
0
-1
0
-1
0
42
23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
-28
0
-88
20
-51
0
-51
0
0
0
0
0
0
0
-5
-12
-89
57
-3
-23
-8
-70
-23
-2
-13
0
0
0
0
0
0
-18
2
31
16
-2
-41
11
-14
2
77
0
0
0
0
0
0
0
-59
18
-4
67
25
15
13
1
-20
-16
0
0
0
0
0
0
0
-6
-43
25
18
-40
30
44
33
12
15
0
0
0
0
0
0
0
2
-14
-12
32
19
49
-2
-11
-22
-13
3
0
0
0
0
0
0
-1
-8
-9
-7
10
14
-41
23
-47
-1
0
0
0
0
0
0
0
0
0
0
1
-7
34
49
15
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
-1
0
2
-1
68
-41
16
42
0
23
0
0
0
0
0
0
0
-8
-44
-3
5
-29
-12
-37
-40
63
-5
0
0
0
0
0
0
0
1
-22
-15
60
71
9
-51
-35
-21
11
0
0
0
0
0
0
0
-8
18
87
80
-33
-61
-36
-32
0
-4
0
0
0
0
0
0
0
-7
-12
91
2
47
-49
11
-46
-1
-37
0
0
0
0
0
0
0
1
69
81
12
2
28
-10
13
5
2
-1
0
0
0
0
0
0
5
-20
0
-13
9
57
-22
-5
17
-3
0
0
0
0
0
0
0
0
-2
0
-1
4
4
-14
29
42
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
14
7
45
-23
11
-24
11
25
0
25
0
0
0
0
0
0
0
-67
-57
49
33
-72
7
-6
-13
10
-56
-19
0
0
0
0
0
0
0
-4
-17
62
29
-15
-11
15
-1
0
0
0
0
0
0
0
0
-74
-13
13
40
-46
-36
-22
-2
-10
-16
-4
0
0
0
0
0
0
-20
-57
-56
-43
-1
-38
7
-32
-23
27
3
0
0
0
0
0
0
-23
123
21
-54
-30
46
20
28
41
-48
-5
0
0
0
0
0
0
68
10
59
-5
29
62
-1
13
7
4
0
0
0
0
0
0
0
0
5
7
20
0
-17
25
-8
42
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
5
0
0
0
0
0
0
0
0
-126
-31
-21
-16
53
11
7
10
0
-16
-1
0
0
0
0
0
0
18
-77
-8
-13
-24
-9
12
-6
6
-13
-29
1
0
0
0
0
0
-26
55
-1
17
-39
-25
3
11
-8
51
4
3
0
0
0
0
0
-9
-10
-10
-3
7
33
1
-16
-5
-20
0
0
0
0
0
0
0
-15
68
61
10
-40
-43
-4
18
4
-93
0
0
0
0
0
0
0
-6
-13
2
-83
-42
17
36
22
3
15
0
0
0
0
0
0
0
-48
-18
32
28
-43
-41
19
39
17
4
0
0
0
0
0
0
0
0
-3
-22
17
-6
-19
2
24
19
-10
0
0
0
0
0
0
0
0
0
0
0
0
10
13
0
0
0
0
0
0
0
0
0
0
0
-11
6
-43
-74
-112
75
4
0
27
5
0
0
0
0
0
0
0
53
123
18
-27
-30
-48
-1
11
5
39
0
0
0
0
0
0
0
53
132
55
32
-27
66
-23
15
-4
-8
0
0
0
0
0
0
0
-50
-40
21
-17
-65
-12
-49
-19
1
-9
0
0
0
0
0
0
0
-62
2
-76
13
-38
-28
46
20
-30
-5
0
0
0
0
0
0
0
-22
-47
-44
-58
-48
32
38
53
-13
-4
0
0
0
0
0
0
0
-16
42
17
-22
-84
44
-20
9
21
0
0
0
0
0
0
0
0
-2
3
2
0
-52
-6
3
-75
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
4
2
0
3
-4
50
0
12
22
-4
0
0
0
0
0
0
0
4
3
-2
0
15
16
-48
25
2
2
0
0
0
0
0
0
0
-18
0
1
8
3
39
-2
-7
-8
-1
0
0
0
0
0
0
0
-3
-1
8
2
30
-31
16
-25
3
0
0
0
0
0
0
0
0
51
0
6
1
-1
-17
47
93
-8
0
0
0
0
0
0
0
0
0
0
-3
3
0
-20
-23
16
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
-1
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
-1
-1
-22
0
0
0
0
0
0
0
0
0
0
0
-5
0
-27
-7
19
2
0
0
0
0
0
0
0
0
0
0
0
10
15
1
-2
18
1
0
0
0
0
0
0
0
0
0
0
0
1
7
-19
-5
7
1
0
0
0
0
0
0
0
0
-1
0
0
1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
14
-13
76
-25
0
-37
0
0
0
0
0
0
0
0
1
0
4
33
-18
51
-73
-29
47
0
0
0
0
0
0
0
0
12
3
12
41
-20
9
1
-22
7
0
0
0
0
0
0
0
0
8
-7
14
-7
103
29
8
-10
8
0
0
0
0
0
0
0
3
0
5
-10
-66
41
65
-16
48
13
0
0
0
0
0
0
0
0
0
-8
0
1
-19
39
8
-25
4
0
0
0
0
0
0
0
0
0
-7
3
37
-3
50
-5
9
8
0
0
0
0
0
0
0
0
0
0
-1
0
-39
12
-63
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
13
8
0
34
6
0
0
0
0
0
0
0
0
0
0
0
-8
-28
-1
25
-3
71
0
0
0
0
0
0
0
-5
1
0
6
-7
-12
22
-1
13
5
0
0
0
0
0
0
0
0
0
-1
-2
25
16
-12
-8
-19
2
0
0
0
0
0
0
0
3
0
1
-7
-27
-13
-3
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
6
5
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-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
20
-8
13
-1
6
-16
-94
-62
0
12
-1
0
0
0
0
0
0
-7
0
9
-5
-14
4
14
-16
60
-27
0
0
0
0
0
0
0
4
0
0
-15
-68
-21
19
6
5
0
-3
0
0
0
0
0
0
8
0
0
21
-22
-115
-30
-31
3
-1
0
0
0
0
0
0
0
14
0
0
0
1
-17
0
0
-48
0
0
0
0
0
0
0
0
0
-2
0
5
3
5
-4
31
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
1
109
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
0
-18
49
-4
33
39
0
0
0
0
0
0
0
0
0
-9
0
49
-4
34
31
9
17
-18
-59
0
0
0
0
0
0
0
13
-12
44
19
-23
-8
-11
-4
-14
19
0
0
0
0
0
0
0
0
-5
0
62
-7
-13
-8
4
-63
16
0
0
0
0
0
0
0
-4
87
12
27
0
31
-58
57
-18
6
0
0
0
0
0
0
0
0
25
-4
1
33
-20
21
-9
8
99
0
0
0
0
0
0
0
2
8
0
-1
-33
31
3
-5
75
0
0
0
0
0
0
0
0
0
-6
0
-1
0
-45
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
-86
-8
-26
-22
-7
-14
1
18
0
-5
0
0
0
0
0
0
0
-9
48
-50
51
-100
-49
5
4
12
61
1
0
0
0
0
0
0
-30
77
59
-31
-8
10
-8
12
-2
-12
3
0
0
0
0
0
0
27
-15
30
54
-15
18
-2
-7
-2
16
0
0
0
0
0
0
0
15
44
-3
15
-104
0
-45
-81
-13
2
-3
0
0
0
0
0
0
34
-26
50
79
-41
-1
15
13
63
-14
0
0
0
0
0
0
0
5
-7
7
-1
9
63
14
3
19
0
0
0
0
0
0
0
0
0
0
-8
-24
0
-19
14
-4
-1
6
0
0
0
0
0
0
0
0
0
0
0
4
0
8
8
-2
0
0
0
0
0
0
0
0
-27
5
-60
-56
-58
-75
14
-20
0
-34
0
0
0
0
0
0
0
54
-61
-79
-48
-77
-33
-27
10
9
-42
-4
0
0
0
0
0
0
-7
-59
-24
10
53
-20
-58
-39
-15
-40
0
0
0
0
0
0
0
-6
62
87
-8
6
12
-36
13
-48
17
0
0
0
0
0
0
0
-31
126
5
147
109
-63
0
-14
-15
-13
0
0
0
0
0
0
0
0
-41
-31
55
41
-31
-37
-15
8
-69
0
0
0
0
0
0
0
2
13
-18
-8
-49
-61
39
14
-6
15
0
0
0
0
0
0
0
0
0
-2
0
0
-23
14
-51
9
13
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
16
0
0
0
0
0
0
0
0
0
-42
-59
55
-39
-7
-26
11
4
0
47
-5
0
0
0
0
0
0
-71
8
24
28
-9
31
-10
17
12
-19
-32
0
0
0
0
0
0
11
-62
5
94
23
2
-1
9
-23
-3
23
0
0
0
0
0
0
76
2
-30
23
13
9
2
-21
-46
43
10
0
0
0
0
0
0
33
34
49
13
30
-19
-14
0
63
51
2
0
0
0
0
0
0
5
14
-46
-49
42
70
38
31
-18
62
1
0
0
0
0
0
0
-24
47
18
-45
-10
15
37
88
-6
3
1
0
0
0
0
0
0
0
-4
-6
25
2
7
-20
39
-36
31
0
0
0
0
0
0
0
0
0
0
0
-11
0
-5
-4
-20
0
0
0
0
0
0
0
0
6
44
14
22
-1
-45
13
-29
0
-28
1
0
0
0
0
0
0
33
-59
55
-20
-98
-33
-14
8
26
-17
16
0
0
0
0
0
0
18
-29
-2
88
-11
-18
10
-2
-1
52
0
-1
0
0
0
0
0
17
-93
41
-3
-7
-18
-23
3
25
-66
1
0
0
0
0
0
0
2
63
39
-16
-35
-17
-29
-1
0
-15
0
0
0
0
0
0
0
17
-85
6
3
-53
29
1
10
21
-45
-3
0
0
0
0
0
0
80
103
47
67
-50
1
53
54
23
-61
0
0
0
0
0
0
0
0
17
32
-72
0
13
23
8
6
37
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-26
35
-4
0
0
0
0
0
0
0
0
0
-3
-42
-28
-67
-37
30
4
0
-14
13
0
0
0
0
0
0
0
37
80
17
-70
13
30
54
-26
-1
-48
0
0
0
0
0
0
0
-5
-13
-34
25
14
-5
-35
0
2
7
0
0
0
0
0
0
0
45
-19
34
-41
-107
-5
30
-65
39
-33
0
0
0
0
0
0
0
47
56
38
52
-94
-25
-63
25
0
19
0
0
0
0
0
0
0
38
70
-60
22
-11
1
-8
3
-50
3
0
0
0
0
0
0
0
-8
-31
5
-106
-34
34
1
-18
-48
0
0
0
0
0
0
0
0
3
4
0
0
-11
36
25
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
2
0
0
19
0
84
0
-69
21
14
0
0
0
0
0
0
0
-3
-4
5
31
-16
-6
-34
-32
3
-5
0
0
0
0
0
0
0
1
-6
3
-6
-4
8
-33
-39
-7
0
0
0
0
0
0
0
0
-5
2
0
2
-4
-19
6
51
-73
2
0
0
0
0
0
0
0
0
0
-1
4
1
3
27
-24
0
0
0
0
0
0
0
0
0
0
-5
0
0
-8
-1
32
18
7
0
0
0
0
0
0
0
0
0
0
0
2
0
13
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
50
4
5
0
0
0
0
0
0
0
0
-4
0
0
-8
0
1
0
54
0
0
0
0
0
0
0
0
0
0
0
0
-6
24
3
37
1
7
0
0
0
0
0
0
0
0
0
0
2
0
-2
-31
0
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
16
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
7
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
4
-18
0
7
0
0
0
0
0
0
0
0
-15
0
0
-10
30
-41
65
-44
-5
0
0
0
0
0
0
0
0
0
1
2
4
0
-43
39
-7
0
0
0
0
0
0
0
0
1
-13
0
6
-15
33
-43
49
23
67
0
0
0
0
0
0
0
0
19
0
-8
59
-9
4
49
57
7
0
0
0
0
0
0
0
0
0
-5
24
-69
37
-31
20
25
-19
0
0
0
0
0
0
0
0
-4
-1
-1
31
-5
-7
-1
-41
0
0
0
0
0
0
0
0
0
0
0
0
1
-42
0
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
20
-10
0
42
0
0
0
0
0
0
0
0
0
0
0
-3
-1
24
19
39
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-6
32
49
45
-2
0
0
0
0
0
0
0
0
3
0
5
14
-1
8
-66
1
31
0
0
0
0
0
0
0
0
2
-3
-16
9
-24
-7
61
27
0
0
0
0
0
0
0
0
0
3
0
-1
22
16
-5
-47
5
0
0
0
0
0
0
0
0
0
-4
0
-6
-20
42
5
-1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
6
0
-12
-51
0
5
1
0
0
0
0
0
0
25
0
-10
-49
-2
-128
-70
21
-42
4
4
0
0
0
0
0
0
1
0
0
3
-3
17
18
-69
-41
13
0
0
0
0
0
0
0
-3
0
0
-22
2
-44
-8
-63
0
0
0
0
0
0
0
0
0
0
0
7
2
-6
41
30
19
-31
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
53
-1
-3
0
0
0
0
0
0
0
-2
-4
0
3
1
1
70
5
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-13
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
31
2
2
0
-54
-23
6
-18
0
-36
0
0
0
0
0
0
0
6
21
-1
27
-58
42
-61
-45
-25
-5
0
0
0
0
0
0
0
0
-10
0
-8
44
-58
-33
-56
-14
-51
0
0
0
0
0
0
0
-5
102
4
-13
-13
-57
-30
-19
29
-29
0
0
0
0
0
0
0
1
8
-2
-24
7
41
-61
-56
1
13
0
0
0
0
0
0
0
1
22
31
-18
0
51
52
-44
-27
-54
0
0
0
0
0
0
0
4
42
18
0
43
1
-94
41
-14
0
0
0
0
0
0
0
0
0
0
0
2
0
-14
8
-7
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-41
33
-59
-42
-13
-26
-3
25
0
8
0
0
0
0
0
0
0
76
-8
58
-55
-7
-20
8
-15
29
-6
-14
0
0
0
0
0
0
0
0
0
19
-57
14
-13
-1
-43
10
0
0
0
0
0
0
0
50
-30
0
-30
15
10
-40
-14
9
-29
0
0
0
0
0
0
0
24
-8
0
58
-44
-59
22
-29
-14
-8
0
0
0
0
0
0
0
1
16
49
23
31
0
-49
14
-4
-67
0
0
0
0
0
0
0
0
33
-1
-5
-13
7
25
3
50
-1
0
0
0
0
0
0
0
0
7
0
-6
0
69
1
-15
-8
-9
0
0
0
0
0
0
0
0
0
0
0
5
0
11
0
0
0
0
0
0
0
0
0
0
-18
33
-38
35
-37
6
-77
-6
0
20
21
0
0
0
0
0
0
-21
-59
102
-14
-32
8
-6
-6
-11
-31
50
0
0
0
0
0
0
1
-56
-10
2
-9
-30
8
-1
-8
-83
0
0
0
0
0
0
0
27
16
59
-73
43
28
8
9
-26
9
0
0
0
0
0
0
0
6
59
-15
75
43
-53
-32
-8
-22
59
0
0
0
0
0
0
0
7
44
125
29
1
-102
0
-25
-50
-17
0
0
0
0
0
0
0
-5
110
89
-2
-12
40
23
-5
-2
-49
0
0
0
0
0
0
0
0
-3
0
-8
2
5
-31
19
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
33
1
0
0
0
0
0
0
0
0
0
-110
30
103
42
-28
-9
-6
-18
0
38
34
0
0
0
0
0
0
-119
62
15
10
-32
-5
3
5
10
-46
73
0
0
0
0
0
0
-57
-27
45
-5
-37
1
3
-37
-7
-64
6
0
0
0
0
0
0
-51
-22
21
88
24
15
-33
-31
-51
0
-33
0
0
0
0
0
0
5
-13
47
-1
2
-16
1
-7
-51
-58
0
0
0
0
0
0
0
-71
-15
9
52
-110
16
-30
0
-31
41
37
0
0
0
0
0
0
-41
-26
-23
107
7
2
11
-44
20
-6
0
0
0
0
0
0
0
0
5
-8
21
59
15
22
3
42
-2
0
0
0
0
0
0
0
0
0
0
0
-24
0
-12
10
-7
0
0
0
0
0
0
0
0
-2
-24
11
115
-30
-3
0
-2
0
8
-4
0
0
0
0
0
0
-77
20
40
-38
-7
-23
-5
22
10
25
55
0
0
0
0
0
0
-8
-69
46
95
48
1
8
-13
21
8
21
0
0
0
0
0
0
42
-48
129
14
30
20
8
19
-51
3
0
0
0
0
0
0
0
54
-10
56
58
7
42
15
3
10
-53
-5
-3
0
0
0
0
0
25
-64
22
112
30
5
-13
5
0
-14
-1
0
0
0
0
0
0
50
26
35
98
-52
19
49
-28
4
-4
0
0
0
0
0
0
0
0
1
-3
-75
5
22
15
-15
-2
-27
0
0
0
0
0
0
0
0
0
0
0
-20
0
21
-1
0
0
0
0
0
0
0
0
0
0
-25
46
34
17
-15
42
30
0
8
32
0
0
0
0
0
0
0
-2
16
5
-99
6
-22
-21
3
28
-12
0
0
0
0
0
0
0
58
-73
-5
-29
-35
-104
-68
1
10
-9
0
0
0
0
0
0
0
-93
-38
39
-22
-23
60
22
-37
-6
12
0
0
0
0
0
0
0
-72
40
-21
23
11
-52
-22
23
-41
8
0
0
0
0
0
0
0
-49
35
-102
-40
14
-26
-50
-80
0
20
0
0
0
0
0
0
0
-5
-2
47
-78
-6
22
1
-8
-29
0
0
0
0
0
0
0
0
0
-1
-4
0
34
30
-24
68
36
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
-60
-7
0
0
0
0
0
0
0
0
13
7
17
8
-4
45
-41
5
42
-2
0
0
0
0
0
0
0
-1
0
0
-6
6
22
59
56
-5
-10
0
0
0
0
0
0
0
-2
0
5
0
25
-19
-32
-5
5
0
0
0
0
0
0
0
0
0
0
-6
8
-7
18
-49
-16
-6
9
0
0
0
0
0
0
0
-2
1
0
3
-7
-7
2
-5
0
3
0
0
0
0
0
0
0
0
0
0
1
4
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
2
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
-3
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
107
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
-20
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
-42
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-6
0
-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
3
0
0
0
48
-20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-50
0
39
-6
0
0
0
0
0
0
0
0
3
0
0
1
0
-13
-3
72
27
0
0
0
0
0
0
0
0
8
0
-1
0
-5
-10
64
-13
-34
0
0
0
0
0
0
0
0
0
0
3
-16
6
22
-5
-41
0
0
0
0
0
0
0
0
0
0
8
8
-7
-25
8
40
8
0
0
0
0
0
0
0
0
0
0
-10
-12
-37
-33
-15
-2
42
0
0
0
0
0
0
0
0
0
-2
0
3
-10
25
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
7
-4
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
3
-34
-9
-3
0
0
0
0
0
0
0
5
0
0
2
0
21
5
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
15
-8
-55
-2
-18
0
0
0
0
0
0
0
0
-1
-1
0
-6
-9
-55
-1
-9
8
0
0
0
0
0
0
0
0
5
0
0
-1
2
19
-6
-6
1
0
0
0
0
0
0
0
0
-1
0
0
112
-2
-26
-3
-52
1
0
0
0
0
0
0
0
0
0
0
0
0
56
24
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-22
-5
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
54
0
-9
25
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
24
50
9
1
0
0
0
0
0
0
0
0
0
0
0
10
-18
-24
-7
-3
-1
0
0
0
0
0
0
0
-1
0
0
0
-8
17
-14
-3
93
0
0
0
0
0
0
0
0
0
2
0
-8
0
10
47
79
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
55
-5
43
-2
0
0
0
0
0
0
0
0
0
0
32
0
-21
-8
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
15
41
-42
0
17
0
0
0
0
0
0
0
0
-13
0
-9
1
-52
-28
-25
58
-38
0
0
0
0
0
0
0
0
-7
1
-8
-37
8
42
66
-39
11
0
0
0
0
0
0
0
-13
4
0
-3
-4
-30
-95
25
-60
3
0
0
0
0
0
0
0
2
-33
0
13
-5
-26
-25
22
18
-3
0
0
0
0
0
0
0
0
-15
22
8
-5
-52
41
5
-51
54
0
0
0
0
0
0
0
0
66
15
5
0
10
78
-20
-9
1
0
0
0
0
0
0
0
0
1
0
0
0
-14
25
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
0
0
0
0
5
0
-4
-1
-30
41
-23
32
0
44
0
0
0
0
0
0
0
0
18
-1
-25
-12
-67
-38
-37
10
13
6
0
0
0
0
0
0
0
8
0
0
1
50
1
-22
50
45
0
0
0
0
0
0
0
2
25
-8
18
16
57
22
5
11
-51
5
0
0
0
0
0
0
-12
-58
-4
7
-7
-10
-11
56
14
-7
0
0
0
0
0
0
0
5
13
37
-21
-9
-33
-55
-11
15
-69
0
0
0
0
0
0
0
17
25
17
21
-56
0
-14
1
23
-4
0
0
0
0
0
0
0
0
-5
0
57
0
-12
-7
27
-21
0
0
0
0
0
0
0
0
0
0
0
0
16
0
51
17
3
0
0
0
0
0
0
0
0
8
4
19
38
-5
7
2
8
0
38
5
0
0
0
0
0
0
5
-84
-16
-50
-4
-21
-36
-4
-55
-13
-41
0
0
0
0
0
0
2
-38
13
32
-42
71
-37
-3
-12
71
0
0
0
0
0
0
0
33
3
-37
-16
51
46
21
23
4
-26
0
0
0
0
0
0
0
0
-82
-29
-39
2
11
-13
12
0
57
0
0
0
0
0
0
0
2
42
61
94
15
-22
-23
2
-60
-45
0
0
0
0
0
0
0
0
5
-7
-28
72
-10
0
-49
-48
-42
0
0
0
0
0
0
0
0
20
-9
-14
-25
3
24
-8
-40
15
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
0
0
0
0
0
0
0
0
0
-94
-5
-31
-33
13
-35
-5
-47
0
31
4
0
0
0
0
0
0
114
79
-84
116
-32
-49
-55
12
58
-39
30
0
0
0
0
0
0
-28
26
-31
16
-7
-74
23
-9
10
25
0
0
0
0
0
0
0
-35
33
-5
28
-18
6
17
35
-13
29
16
0
0
0
0
0
0
-13
20
12
51
51
-23
-3
-43
-3
69
-3
0
0
0
0
0
0
-35
65
28
14
-21
-11
-14
-28
19
31
-13
0
0
0
0
0
0
-13
-1
-1
5
33
18
-21
0
-31
-30
1
0
0
0
0
0
0
0
-5
-24
22
-50
-14
-72
-23
50
52
0
0
0
0
0
0
0
0
0
0
0
18
0
-76
10
-5
0
0
0
0
0
0
0
0
0
30
31
-5
-77
1
-12
-1
0
0
-7
0
0
0
0
0
0
5
-21
42
66
3
-25
3
-4
-12
25
-22
0
0
0
0
0
0
-8
-21
-77
28
-7
-20
-6
-12
4
-6
1
1
0
0
0
0
0
-7
48
48
87
-109
-23
-12
-10
29
1
-8
0
0
0
0
0
0
4
44
-53
11
-4
-24
15
-4
21
-18
0
0
0
0
0
0
0
0
-11
-35
-26
99
-9
37
12
-1
-8
-2
0
0
0
0
0
0
3
-7
-33
-40
57
-38
-12
-31
0
17
0
0
0
0
0
0
0
0
-43
0
6
66
-29
-13
-45
-62
-7
0
0
0
0
0
0
0
0
-3
0
0
0
-7
11
16
-4
0
0
0
0
0
0
0
0
0
-3
-9
-50
-7
-91
-40
42
0
9
2
0
0
0
0
0
0
0
1
-29
-8
-84
-12
-43
-12
-44
-29
34
0
0
0
0
0
0
0
42
105
47
137
-123
38
-14
-17
1
-37
0
0
0
0
0
0
0
54
7
22
25
-13
44
33
7
27
43
0
0
0
0
0
0
0
-133
-72
46
-82
28
34
-1
-16
8
-6
0
0
0
0
0
0
0
37
97
74
25
-12
-41
1
1
5
-36
0
0
0
0
0
0
0
-25
97
-13
14
-21
-24
-17
-14
0
-7
0
0
0
0
0
0
0
32
-20
-7
7
11
88
-37
27
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
8
0
-41
46
0
0
0
0
0
0
0
0
0
5
-2
2
-1
-2
-1
-2
-22
-5
0
0
0
0
0
0
0
0
2
-8
3
-3
-9
-32
20
13
0
0
0
0
0
0
0
0
0
4
4
0
-7
2
-13
17
58
-1
0
0
0
0
0
0
0
0
0
2
3
0
-13
-52
43
-14
-1
0
0
0
0
0
0
0
0
-1
0
0
-8
-16
0
24
4
1
0
0
0
0
0
0
0
0
-2
-3
3
0
-20
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
13
0
0
0
0
0
0
0
0
0
0
-6
0
0
32
0
3
0
17
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
7
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-22
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
2
-14
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
24
0
4
0
0
0
0
0
0
0
0
0
0
0
8
0
-12
-20
0
-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
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-58
-3
1
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-55
0
-55
4
0
0
0
0
0
0
0
0
0
0
0
0
-30
5
33
0
-62
0
0
0
0
0
0
0
0
0
0
-16
0
0
11
0
31
0
0
0
0
0
0
0
0
0
20
1
0
0
77
0
54
6
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
29
27
-30
-104
0
0
0
0
0
0
0
0
0
0
0
5
0
-19
62
55
8
0
0
0
0
0
0
0
0
0
-1
2
-2
8
7
23
-13
10
0
0
0
0
0
0
0
0
0
0
0
-16
-3
82
-5
-14
0
0
0
0
0
0
0
0
-2
-3
0
-6
0
1
0
-67
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
80
-10
-4
0
0
0
0
0
0
0
0
0
1
0
-19
0
-3
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
-1
28
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-1
-26
2
93
-2
45
0
0
0
0
0
0
0
0
2
3
0
-34
-1
10
-50
12
-16
0
0
0
0
0
0
0
-2
0
2
-63
0
-42
42
12
21
-27
0
0
0
0
0
0
0
-25
46
-2
0
59
-19
44
2
-57
-2
0
0
0
0
0
0
0
0
8
-21
61
9
-45
-20
-50
24
15
0
0
0
0
0
0
0
-27
-10
-19
6
-8
0
-5
-18
1
2
0
0
0
0
0
0
0
4
-1
5
15
1
0
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-27
4
0
0
0
0
0
0
0
0
0
0
5
-2
5
22
-68
-21
-25
-10
-30
0
0
0
0
0
0
0
0
-2
-8
-3
10
-9
-35
3
-25
-34
-2
0
0
0
0
0
0
1
-8
4
1
3
-19
25
29
-2
-5
0
0
0
0
0
0
0
0
35
-1
-18
94
4
10
-10
-9
-6
0
0
0
0
0
0
0
24
7
-6
95
0
-35
23
-11
-1
-22
0
0
0
0
0
0
0
-5
9
16
-4
7
5
44
8
-29
-2
0
0
0
0
0
0
0
0
-7
0
-22
-6
-30
0
6
25
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
46
2
0
0
0
0
0
0
0
0
0
0
-9
0
3
-42
-44
-53
-23
0
-30
0
0
0
0
0
0
0
-1
36
-16
-12
16
-11
5
4
-11
-42
13
0
0
0
0
0
0
4
-4
58
-12
-19
15
-7
41
4
-48
0
0
0
0
0
0
0
-14
0
-2
19
-61
-37
11
12
2
-56
0
0
0
0
0
0
0
33
-8
58
71
-74
-30
47
-101
8
-8
0
0
0
0
0
0
0
-8
35
-5
5
-42
20
-32
-12
-112
84
-1
0
0
0
0
0
0
-38
11
0
7
23
-9
13
16
-23
-3
0
0
0
0
0
0
0
13
37
-34
66
12
2
-2
0
-24
9
0
0
0
0
0
0
0
19
0
16
0
10
-19
-23
-8
10
0
0
0
0
0
0
0
0
0
1
-12
60
-53
0
-35
-5
0
-9
0
0
0
0
0
0
0
0
-92
-34
-2
-158
41
4
-43
14
8
2
0
0
0
0
0
0
0
21
-27
-53
-59
1
-33
-53
0
24
0
0
0
0
0
0
0
0
-86
50
-48
-56
5
-30
-11
7
26
0
0
0
0
0
0
0
-2
-33
-6
15
48
51
-6
66
-56
-11
4
0
0
0
0
0
0
49
-37
7
121
67
5
8
-9
9
-10
0
0
0
0
0
0
0
-29
-17
-10
28
44
17
-10
27
-18
25
0
0
0
0
0
0
0
0
0
24
-58
11
37
-4
-23
0
-9
0
0
0
0
0
0
0
0
-8
0
-1
8
-13
44
-1
24
0
0
0
0
0
0
0
0
0
0
4
8
37
-3
-33
-26
0
-13
0
0
0
0
0
0
0
0
-31
1
13
43
1
111
-50
13
19
12
0
0
0
0
0
0
0
53
-12
-7
47
-8
9
8
10
-31
-4
0
0
0
0
0
0
0
30
7
-3
-1
-31
-40
10
-15
-30
9
0
0
0
0
0
0
0
-5
0
0
-16
-49
50
-13
-26
-2
-2
0
0
0
0
0
0
0
-6
4
0
3
-28
32
29
-4
-14
10
0
0
0
0
0
0
0
-2
0
-5
-22
11
-14
12
-15
1
-5
0
0
0
0
0
0
0
-2
-4
0
2
-15
8
-50
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-25
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-5
-15
0
0
0
0
0
0
0
0
-4
0
0
-2
0
-3
0
-8
29
0
0
0
0
0
0
0
0
0
1
0
0
3
29
0
-16
14
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-8
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
17
0
22
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-25
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
46
0
15
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
0
0
-40
0
0
0
0
0
0
0
0
-2
0
4
23
-3
32
0
-13
0
0
0
0
0
0
0
0
0
-2
-8
0
8
20
0
-41
0
-5
0
0
0
0
0
0
0
0
1
-7
-3
-22
0
-51
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-22
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-10
-3
-24
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
-41
-34
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-7
36
5
-23
0
0
0
0
0
0
0
0
2
0
0
-7
5
-7
8
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
54
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
-1
0
-3
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-7
8
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
1
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
17
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
-16
0
0
-1
0
0
0
0
0
0
0
0
0
-2
4
4
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
-14
-3
-1
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
-12
1
-6
0
4
-1
0
0
0
0
0
0
0
0
0
1
-4
-3
2
10
0
0
0
-3
0
0
0
0
0
0
0
0
0
-14
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
4
0
0
0
-5
0
0
0
0
0
0
0
0
0
14
-2
-4
5
3
0
0
0
2
0
0
0
0
0
0
0
1
-1
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
24
-8
4
0
0
0
0
0
0
0
0
0
0
0
1
-19
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
-1
-49
-1
-8
2
8
0
0
0
0
0
0
0
0
0
0
0
0
-34
-22
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
42
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
10
13
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-8
-5
0
0
0
0
8
0
0
0
0
0
0
0
0
1
-12
6
4
1
0
0
0
-1
0
0
0
0
0
0
0
0
-3
1
0
-10
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
-3
4
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-1
-2
1
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
5
24
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
1
1
-10
0
0
0
0
0
0
0
0
0
0
0
13
1
0
2
9
-2
0
0
2
0
0
0
0
0
0
0
-16
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
0
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
1
-29
-1
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-35
-2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-4
7
1
0
5
0
0
0
0
0
0
0
0
0
0
2
-14
-9
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
6
2
1
0
0
0
0
0
0
0
0
0
0
0
3
-10
12
2
32
0
-13
0
0
0
0
0
0
0
0
0
0
0
12
-1
15
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
9
21
15
3
0
-1
25
0
0
0
0
0
0
0
0
0
0
0
1
-6
-19
6
2
0
5
0
0
0
0
0
0
0
0
0
0
-2
2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-15
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
1
-32
-18
0
-5
0
-6
-1
0
0
0
0
0
0
0
0
-20
-9
-37
-3
2
0
2
-1
0
0
0
0
0
0
0
0
0
2
5
4
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
10
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
3
-24
3
41
-4
0
0
0
0
0
0
0
0
0
0
0
0
-21
-24
-7
-29
4
0
1
2
1
0
0
0
0
0
0
0
13
-6
-41
0
18
-3
2
0
-1
0
0
0
0
0
0
0
0
3
49
-1
-9
-2
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-35
-1
8
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-5
4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
-13
-4
0
0
-4
0
0
0
0
0
0
0
0
3
-19
-30
4
-9
-1
0
2
-4
2
0
0
0
0
0
0
0
0
10
-12
19
0
3
0
0
-4
0
0
0
0
0
0
0
0
1
-1
-5
-25
-3
3
0
0
-1
0
0
0
0
0
0
0
0
0
-9
2
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
6
-5
15
2
-1
0
0
0
0
0
0
0
0
0
0
13
-27
8
-9
-2
8
33
0
0
2
0
0
0
0
0
0
0
-20
2
-21
-59
-22
-4
2
0
16
0
0
0
0
0
0
0
0
0
24
-13
-23
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
-12
1
1
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-7
-12
-2
0
0
0
-8
0
0
0
0
0
0
0
0
-14
-34
34
4
-3
2
0
0
0
0
0
0
0
0
0
0
0
8
-29
-27
47
10
7
-3
0
9
-2
0
0
0
0
0
0
0
-14
10
35
24
-12
2
12
1
5
-3
0
0
0
0
0
0
0
-2
28
45
5
8
0
5
0
0
0
0
0
0
0
0
0
0
0
-8
-27
9
-19
14
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
-2
-1
6
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
-2
-5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-24
3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
7
-6
0
-7
0
0
0
4
0
0
0
0
0
0
0
0
2
-19
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
4
2
1
9
-2
0
0
1
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
12
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
-1
19
2
-8
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
-5
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
-10
2
25
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
1
8
-12
1
0
0
0
0
0
0
0
0
0
0
-2
12
0
-4
6
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-1
-33
22
0
13
0
0
0
0
0
0
0
0
-5
0
-12
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-56
12
-5
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
12
-14
-17
-8
-2
0
3
0
0
0
0
0
0
0
0
-4
10
-3
0
1
12
0
23
1
0
0
0
0
0
0
0
0
-4
10
2
2
-7
12
-8
-2
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
2
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-20
23
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-31
61
24
5
0
0
0
0
0
0
0
0
0
0
0
-7
-4
35
-40
3
-25
1
0
1
0
0
0
0
0
0
0
0
1
24
-4
1
0
16
3
0
1
4
0
0
0
0
0
0
0
0
-1
-9
2
13
0
-1
-21
7
0
0
0
0
0
0
0
0
0
-2
1
2
3
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
-50
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-41
19
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
37
-37
-12
-10
-25
0
0
0
2
0
0
0
0
0
0
0
-1
-22
9
-8
24
0
2
0
4
0
0
0
0
0
0
0
0
1
2
-7
-6
-12
8
7
-1
0
0
0
0
0
0
0
0
0
0
-3
5
-9
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
41
23
-100
-24
18
0
0
0
0
0
0
0
0
0
0
0
19
-2
17
-43
18
-22
7
-2
1
-2
0
0
0
0
0
0
0
1
-50
23
-5
-58
5
-1
0
3
0
0
0
0
0
0
0
0
29
-25
19
-23
-20
-1
-5
-6
1
0
0
0
0
0
0
0
0
0
-10
2
13
8
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-41
-56
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
19
11
35
0
-10
0
0
0
0
-1
0
0
0
0
0
0
1
71
9
-17
51
-1
-8
0
3
-31
0
0
0
0
0
0
0
67
51
-32
-20
-54
3
12
0
-3
0
0
0
0
0
0
0
0
0
-1
-35
-16
-13
-33
7
2
0
-5
0
0
0
0
0
0
0
0
10
32
-16
7
4
-3
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-43
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
16
-15
-53
8
0
0
0
0
0
0
0
0
0
0
0
4
69
-59
-70
-43
4
2
0
0
0
0
0
0
0
0
0
0
-21
28
-32
-63
-44
4
0
-3
5
-14
-2
0
0
0
0
0
0
-59
15
12
-42
-42
-3
-18
24
0
6
1
0
0
0
0
0
0
-1
8
-20
-42
46
2
48
4
-2
-4
0
0
0
0
0
0
0
0
4
-14
41
-5
-32
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-15
-29
-4
-1
-8
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-28
-6
-35
18
-2
0
0
-14
0
0
0
0
0
0
0
0
53
-22
11
-73
-31
-2
0
0
0
-3
0
0
0
0
0
0
0
7
-31
5
-24
18
-22
-7
-1
13
23
0
0
0
0
0
0
0
24
20
-22
-17
-1
-12
-23
4
1
0
0
0
0
0
0
0
0
-5
0
8
12
-43
2
-16
4
22
0
0
0
0
0
0
0
0
9
-6
14
-28
18
-31
3
0
4
0
0
0
0
0
0
0
0
7
-7
-23
16
15
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
2
3
0
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
-6
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-6
1
2
0
0
0
6
0
0
0
0
0
0
0
0
1
25
5
-2
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
14
6
3
2
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-120
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
19
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
13
6
0
-17
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
48
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
16
-21
-9
0
0
0
0
0
0
0
0
0
0
0
-35
0
13
-21
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
9
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
31
-3
-9
-3
6
0
0
0
0
0
0
0
0
0
0
5
0
-36
-15
-43
3
0
0
0
-1
0
0
0
0
0
0
0
1
52
4
-4
14
4
0
0
0
10
0
0
0
0
0
0
0
-6
27
-1
0
22
-14
14
-20
7
0
0
0
0
0
0
0
0
0
0
0
-10
-13
-14
3
0
1
0
0
0
0
0
0
0
0
0
0
4
6
-42
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
20
19
-47
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
-7
-24
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
74
43
15
-75
8
-7
0
-4
3
0
0
0
0
0
0
0
8
-19
59
15
-31
-8
1
0
0
0
0
0
0
0
0
0
0
-3
-9
-40
13
0
-1
-18
1
-8
0
0
0
0
0
0
0
0
0
1
-2
-49
21
-1
-43
20
-6
-1
0
0
0
0
0
0
0
0
0
-2
-23
3
0
0
20
3
-1
0
0
0
0
0
0
0
0
0
-7
-10
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
5
1
-54
0
4
0
0
0
0
0
0
0
0
0
0
-3
5
-23
13
-21
-7
0
0
-3
0
0
0
0
0
0
0
0
-4
29
2
44
-9
-24
4
0
0
2
0
0
0
0
0
0
0
0
-17
68
-32
-28
23
5
6
-1
0
0
0
0
0
0
0
0
2
-7
-28
5
-37
0
-16
-2
0
0
0
0
0
0
0
0
0
0
-10
4
-68
-24
9
-5
0
0
0
0
0
0
0
0
0
0
0
-4
19
6
-14
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
2
-5
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
7
-21
30
21
27
0
0
0
0
0
0
0
0
0
0
0
2
-7
-34
21
1
-8
-3
1
-2
-3
0
0
0
0
0
0
0
0
59
-5
-63
5
1
-9
0
-2
0
0
0
0
0
0
0
0
-8
-25
5
-68
-17
10
0
-1
14
1
0
0
0
0
0
0
0
0
-1
-5
-43
-13
13
13
0
0
5
0
0
0
0
0
0
0
0
0
-41
-15
-32
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
-7
9
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-39
-19
-71
-4
0
0
0
0
0
0
0
0
0
0
0
1
-12
-24
-51
81
-25
0
0
0
0
0
0
0
0
0
0
0
-25
9
-95
28
-21
-8
-12
0
19
7
-1
0
0
0
0
0
0
0
-82
15
6
5
7
14
16
6
-1
0
0
0
0
0
0
0
-20
-8
-45
-21
-15
15
4
0
-23
-32
0
0
0
0
0
0
0
0
-22
-29
-52
-8
-19
-1
-31
-4
-30
0
0
0
0
0
0
0
1
1
-79
-13
-27
0
6
1
1
0
0
0
0
0
0
0
0
0
0
-1
6
-9
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
27
13
33
-6
6
0
0
0
0
0
0
0
0
0
0
0
-58
24
-13
-28
-5
-3
0
0
0
1
0
0
0
0
0
0
-37
-63
-39
-87
-49
46
-7
2
-22
-7
0
0
0
0
0
0
0
22
-24
-37
-5
-23
-39
45
-5
-22
-25
-1
0
0
0
0
0
0
5
-1
5
-32
-7
-55
-27
22
0
-59
0
0
0
0
0
0
0
0
0
-77
-19
32
-66
-52
-5
7
-1
0
0
0
0
0
0
0
1
-6
-33
-5
-18
-15
12
-1
-1
0
0
0
0
0
0
0
0
0
0
6
8
-1
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
19
56
45
-4
0
0
3
0
0
0
0
0
0
0
0
-11
-1
-42
-109
-74
-20
0
0
0
2
0
0
0
0
0
0
0
32
63
13
-17
-24
0
-4
6
-41
0
0
0
0
0
0
0
0
-59
-69
-12
-41
24
29
7
-13
31
0
0
0
0
0
0
0
0
-5
-26
-73
-68
4
-22
-17
16
0
-1
0
0
0
0
0
0
0
-29
42
1
-18
-56
7
-17
-30
12
0
0
0
0
0
0
0
0
1
8
-42
-83
13
6
19
8
0
0
0
0
0
0
0
0
0
0
2
22
-5
4
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-10
3
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
8
-50
7
0
0
0
0
-7
0
0
0
0
0
0
0
0
-3
4
-3
2
0
0
0
0
-12
0
0
0
0
0
0
0
0
8
23
5
1
16
0
0
0
-17
0
0
0
0
0
0
0
0
0
5
17
13
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-1
-48
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-20
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-22
-37
-3
-1
-4
0
0
0
3
0
0
0
0
0
0
0
0
-60
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-16
-8
-39
0
0
-8
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
0
-2
-2
0
0
0
0
0
0
0
0
0
-16
-1
-2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
78
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
26
8
-29
-7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
26
-2
-3
0
1
0
0
0
0
0
0
0
0
0
2
-18
-32
2
-21
0
0
-1
0
0
0
0
0
0
0
0
-8
8
5
-7
5
12
0
0
0
0
0
0
0
0
0
0
0
0
32
42
0
4
0
0
8
0
1
0
0
0
0
0
0
0
0
8
-31
15
1
-6
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-4
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
11
-8
1
0
0
0
0
0
0
0
0
0
0
0
-5
-7
5
5
35
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
34
6
-13
0
0
-1
-41
0
0
0
0
0
0
0
-2
-31
-24
2
68
-6
-1
-6
0
2
0
0
0
0
0
0
0
0
17
8
-29
0
13
6
0
-2
0
0
0
0
0
0
0
0
0
3
-23
8
41
-7
-3
-2
-2
0
0
0
0
0
0
0
0
0
-3
1
0
-3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
24
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
-32
42
-5
24
6
0
0
0
0
0
0
0
0
0
0
0
-2
-45
-26
14
-21
-7
0
0
1
-7
0
0
0
0
0
0
0
0
-14
-38
-15
39
19
-2
-2
1
0
0
0
0
0
0
0
0
-8
4
-3
66
13
20
42
-4
0
-8
0
0
0
0
0
0
0
0
-7
-61
14
-20
0
10
1
0
-6
0
0
0
0
0
0
0
-1
0
-1
39
-17
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
24
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-9
9
6
0
0
0
0
0
0
0
0
0
0
0
22
-54
10
24
13
25
-6
0
-3
3
0
0
0
0
0
0
0
-17
34
-49
-72
6
43
0
-6
-9
2
0
0
0
0
0
0
0
38
-16
-52
26
33
6
-8
2
3
0
0
0
0
0
0
0
0
0
10
-6
-44
18
-8
0
0
6
-30
0
0
0
0
0
0
0
-1
-16
-70
-12
14
4
5
0
0
9
0
0
0
0
0
0
0
0
8
4
-13
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
25
13
8
9
4
-8
1
0
0
0
0
0
0
0
0
0
0
12
32
52
-61
-47
8
0
0
0
0
0
0
0
0
0
0
-5
24
67
-8
-13
31
34
0
1
8
0
0
0
0
0
0
0
0
-49
-73
-3
-37
-19
-37
1
9
3
0
0
0
0
0
0
0
-31
-23
-76
27
-48
-25
25
13
3
14
0
0
0
0
0
0
0
-2
-29
13
24
-4
21
-50
0
23
13
0
0
0
0
0
0
0
1
-16
-33
22
-49
-2
6
1
2
-41
0
0
0
0
0
0
0
0
2
-17
12
-13
12
0
0
-8
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
29
25
-27
-7
32
0
0
0
0
0
0
0
0
0
0
-14
-44
25
-47
2
90
-1
0
0
0
0
0
0
0
0
0
0
-9
-58
-28
-101
-42
-25
14
0
42
-5
0
0
0
0
0
0
0
-25
-16
-14
12
-1
55
44
33
12
10
0
0
0
0
0
0
0
-32
47
65
9
2
-27
22
-117
-5
-5
0
0
0
0
0
0
0
1
-27
93
-13
-58
-22
-49
-6
0
17
0
0
0
0
0
0
0
0
-17
-119
25
-33
-6
-140
39
6
0
0
0
0
0
0
0
0
0
-5
-3
7
6
-73
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
43
15
17
-21
-22
0
0
8
1
0
0
0
0
0
0
0
24
69
-106
-5
10
39
0
9
0
0
0
0
0
0
0
0
0
-3
78
-5
102
28
60
-5
22
-58
-1
0
0
0
0
0
0
0
40
9
-31
-54
41
-16
-66
2
9
0
0
0
0
0
0
0
0
-15
139
7
18
9
20
41
-1
-33
0
0
0
0
0
0
0
0
5
9
5
-7
7
-2
-66
-17
0
0
0
0
0
0
0
0
0
-6
-8
-60
23
-59
-4
27
8
3
0
0
0
0
0
0
0
0
0
1
-18
-31
-4
-23
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-5
6
0
0
0
0
-19
0
0
0
0
0
0
0
0
2
-4
-21
4
6
0
0
0
4
0
0
0
0
0
0
0
0
7
-25
6
31
3
0
0
0
7
0
0
0
0
0
0
0
0
-19
9
8
25
4
-14
2
0
0
0
0
0
0
0
0
0
0
-2
1
4
-12
1
-8
1
0
1
0
0
0
0
0
0
0
0
0
0
5
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
18
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-21
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-8
-12
3
0
0
0
2
0
0
0
0
0
0
0
0
19
2
4
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
5
1
0
0
0
3
0
0
0
0
0
0
0
0
-16
1
-3
8
0
3
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-7
2
0
0
-3
0
0
0
0
0
0
0
0
-2
19
0
2
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
31
2
-13
-27
2
1
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-41
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
17
-33
1
1
-2
0
0
0
0
0
0
0
0
0
-24
2
-5
0
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
7
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-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
-42
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
26
-2
3
-3
0
0
0
0
0
0
0
0
0
0
-2
0
-50
-19
5
2
0
0
0
0
0
0
0
0
0
0
0
0
33
25
-86
5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
-20
9
-1
-2
8
0
0
0
0
0
0
0
0
0
0
-6
-9
9
8
-25
14
0
0
0
0
0
0
0
0
0
0
0
0
-75
6
-41
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
4
4
-14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
44
0
-24
0
3
0
0
0
0
0
0
0
0
0
0
0
75
-5
-21
-24
7
4
0
0
0
0
0
0
0
0
0
0
-16
-13
-4
54
-4
5
2
0
0
-1
0
0
0
0
0
0
0
0
71
6
-7
8
19
0
0
0
0
0
0
0
0
0
0
0
48
-2
-10
-42
5
-76
5
4
-3
5
0
0
0
0
0
0
0
0
66
29
-24
-28
-98
-43
3
2
-2
0
0
0
0
0
0
0
5
0
21
-23
-80
-9
0
0
-13
0
0
0
0
0
0
0
0
0
0
-1
14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-1
-69
-8
16
0
0
0
0
0
0
0
0
0
0
0
74
10
-55
13
-27
-2
0
0
0
0
0
0
0
0
0
0
6
-1
-46
69
63
-31
24
3
0
-37
0
0
0
0
0
0
0
1
-39
-22
-6
-6
-52
-20
0
13
3
0
0
0
0
0
0
0
-50
17
-12
-4
-6
-6
5
-45
0
30
0
0
0
0
0
0
0
-6
-6
5
-71
-58
-58
5
-1
-2
5
0
0
0
0
0
0
0
0
1
34
-42
4
-19
-22
0
-5
2
0
0
0
0
0
0
0
0
-3
4
-47
0
6
-8
0
0
-6
0
0
0
0
0
0
0
0
10
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-27
-2
103
5
-8
-1
0
0
0
0
0
0
0
0
0
0
23
31
52
2
-49
-5
0
0
0
0
0
0
0
0
0
0
41
-23
3
75
-34
55
-35
1
0
-5
0
0
0
0
0
0
0
13
30
4
-2
-6
28
23
19
-31
19
0
0
0
0
0
0
0
-53
20
-31
10
-82
-105
-79
13
-13
-3
0
0
0
0
0
0
0
-4
-149
-44
17
-5
-25
-69
3
-22
9
0
0
0
0
0
0
0
0
-13
-53
-7
18
-2
22
1
0
31
0
0
0
0
0
0
0
0
-10
29
-49
-35
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-16
19
10
-41
30
0
0
5
0
0
0
0
0
0
0
0
69
-16
-16
-31
14
-21
0
0
0
0
0
0
0
0
0
0
0
54
-58
-31
-66
-16
-1
-2
2
-4
2
0
0
0
0
0
0
0
-35
35
73
14
-20
-27
24
4
-49
-5
0
0
0
0
0
0
0
61
95
27
-21
-34
45
1
-37
32
0
0
0
0
0
0
0
0
-82
-93
-7
-109
16
-102
-24
-9
6
0
0
0
0
0
0
0
0
-25
16
8
58
-69
58
-2
-6
0
0
0
0
0
0
0
0
0
0
29
49
-27
-8
-7
1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-20
25
2
2
0
0
0
13
0
0
0
0
0
0
0
0
-9
69
2
-16
3
0
0
0
7
0
0
0
0
0
0
0
0
-35
-2
42
17
-18
0
-1
0
0
0
0
0
0
0
0
0
0
-8
-31
10
12
1
-9
-2
0
4
0
0
0
0
0
0
0
0
8
-1
-4
5
-3
0
5
-4
0
0
0
0
0
0
0
0
0
1
-6
1
25
7
-2
3
0
0
0
0
0
0
0
0
0
0
-3
0
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
41
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-1
-14
-4
-1
-4
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
9
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-58
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
-8
20
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
55
0
4
0
0
0
0
0
0
0
0
0
0
0
31
0
57
-10
13
2
-3
0
0
0
0
0
0
0
0
0
0
-3
-32
0
-30
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
73
1
12
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
23
-4
-14
-3
0
0
0
0
0
0
0
0
0
0
-13
4
-8
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-37
0
4
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
19
5
8
0
22
0
0
0
0
0
0
0
0
0
0
0
2
0
-47
-6
-5
-7
-13
0
0
-3
0
0
0
0
0
0
0
0
97
4
-33
-12
33
-4
-1
-4
0
0
0
0
0
0
0
0
29
-1
-6
-23
-5
-47
-49
-1
0
4
0
0
0
0
0
0
0
0
-19
0
47
13
5
16
0
0
-3
0
0
0
0
0
0
0
-3
1
-2
2
2
12
-33
4
-6
0
0
0
0
0
0
0
0
0
-8
1
8
20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
41
4
-5
8
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-18
0
-85
-8
-5
0
-2
0
0
0
0
0
0
0
0
-11
2
-31
31
-67
-24
-1
0
-1
-14
0
0
0
0
0
0
0
0
-36
12
-24
37
14
-9
5
-27
0
0
0
0
0
0
0
0
7
-5
-36
-22
-12
-69
-79
-41
-28
0
0
0
0
0
0
0
0
1
47
50
4
30
29
21
-43
32
-45
0
0
0
0
0
0
0
-6
17
-53
10
-48
-57
-5
-2
24
0
0
0
0
0
0
0
0
0
-21
5
17
-22
-36
-8
0
0
1
0
0
0
0
0
0
0
0
1
1
2
-13
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
94
-31
63
-4
0
0
0
0
0
0
0
0
0
0
0
0
68
-2
93
-33
27
-49
0
0
0
0
0
0
0
0
0
0
0
5
-20
-33
-38
-30
-23
0
0
-8
0
0
0
0
0
0
0
0
-4
44
-45
-23
49
-4
-1
10
-30
-2
0
0
0
0
0
0
0
-5
8
-57
-91
46
33
19
-6
-31
0
0
0
0
0
0
0
0
-34
-41
70
-19
-8
28
-47
24
-49
0
0
0
0
0
0
0
0
-3
-49
23
12
-22
-53
-18
-16
5
0
0
0
0
0
0
0
0
0
5
59
-6
-42
13
-31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-5
-8
2
0
0
0
-22
0
0
0
0
0
0
0
0
-2
48
9
14
0
7
0
0
-2
0
0
0
0
0
0
0
0
48
-1
-42
-12
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
55
0
-49
1
2
1
2
-12
0
0
0
0
0
0
0
0
1
5
28
0
5
-23
3
0
-1
0
0
0
0
0
0
0
0
0
-4
-1
5
-5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-1
0
6
-8
0
0
0
0
0
0
0
0
0
0
-2
2
13
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-5
0
9
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-5
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-12
-66
-1
0
0
0
0
0
0
0
0
0
0
0
5
-27
30
-57
29
10
-1
0
-3
0
0
0
0
0
0
0
0
-10
-3
58
10
-8
-31
41
-2
8
0
0
0
0
0
0
0
0
0
43
-6
-38
-3
-91
-8
-2
-5
0
0
0
0
0
0
0
0
-7
0
17
-9
-34
8
-5
0
-5
0
0
0
0
0
0
0
0
0
4
-3
25
-4
48
-19
2
0
0
0
0
0
0
0
0
0
-2
0
4
-12
-50
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-1
0
0
0
-13
0
0
0
0
0
0
0
0
0
9
-4
-5
-5
-4
0
0
-1
0
0
0
0
0
0
0
0
-5
0
7
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-57
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
78
2
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
-2
4
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
40
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
-1
0
-18
30
0
0
0
0
0
0
0
0
0
0
0
0
8
1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-18
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
4
9
0
-7
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
-6
-3
8
1
3
0
0
0
0
0
0
0
0
3
6
6
2
8
7
4
8
1
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
16
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
1
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-49
9
9
0
0
0
0
0
0
0
0
0
0
0
1
8
6
-6
8
-15
0
0
0
0
0
0
0
0
0
0
0
7
-1
49
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-21
1
2
0
0
0
0
0
0
0
0
0
0
0
-4
2
6
2
-3
23
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-20
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
6
-4
55
-32
5
0
0
0
0
0
0
0
0
-1
0
2
-1
-4
-14
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
13
-2
4
0
0
0
0
0
0
0
0
0
0
0
1
6
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
41
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
-12
-4
6
-8
-2
-7
0
0
0
0
0
0
0
0
0
0
3
-10
-8
-2
57
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-22
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
4
8
0
-116
-4
41
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
-8
-24
-2
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
39
12
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
14
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
15
0
33
-5
0
0
0
0
0
0
0
0
0
2
0
0
-8
1
-8
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-13
39
-13
-8
0
0
0
0
0
0
0
0
-1
0
0
-1
44
3
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
22
-30
0
0
-8
0
0
0
0
0
0
0
0
1
1
-7
-2
-15
15
5
27
3
0
0
0
0
0
0
0
0
-5
0
9
1
0
0
-2
-14
3
0
0
0
0
0
0
0
0
0
0
0
5
12
17
-2
-32
0
0
0
0
0
0
0
0
0
0
2
0
-2
-5
-8
-1
-3
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
10
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
1
5
1
30
1
4
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
27
6
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-8
28
-17
8
0
0
0
0
0
0
0
0
0
0
0
-1
17
24
-49
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
3
2
12
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-20
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
11
-5
46
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-5
33
-17
0
0
0
0
0
0
0
0
0
0
0
-1
5
8
1
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-3
2
-6
-31
0
-8
0
0
0
0
0
0
0
-2
0
0
-24
2
33
57
-42
48
-1
0
0
0
0
0
0
0
0
1
0
0
8
10
13
20
-32
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
-50
46
4
0
0
0
0
0
0
0
0
0
0
-8
0
-3
2
-22
-2
-20
5
0
0
0
0
0
0
0
0
0
0
2
0
-23
0
42
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-42
13
8
0
3
0
0
0
0
0
0
0
0
-41
3
-2
25
-25
-22
20
-59
-6
0
0
0
0
0
0
0
-3
0
-2
0
0
8
16
-42
-5
-2
0
0
0
0
0
0
0
0
0
-1
0
7
-5
-50
45
9
0
0
0
0
0
0
0
0
0
0
-3
-1
2
1
-1
-37
29
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
-10
-41
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
1
-22
27
-8
38
3
0
0
0
0
0
0
0
-1
-1
-14
2
-5
0
8
59
5
0
1
0
0
0
0
0
0
-3
0
1
0
-6
-46
10
17
-16
0
1
0
0
0
0
0
0
0
0
0
1
1
6
20
13
-13
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-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
5
0
0
0
0
50
21
-2
0
22
0
0
0
0
0
0
0
0
-1
0
6
0
24
-70
32
-45
41
-1
0
0
0
0
0
0
0
5
0
5
-7
-27
-3
6
48
1
0
0
0
0
0
0
0
-1
0
0
-3
-4
-7
-5
-32
-21
-3
0
0
0
0
0
0
0
3
-5
0
-1
-3
-20
13
-15
8
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-19
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
1
-8
27
24
-3
0
1
0
0
0
0
0
0
0
-1
0
0
-5
-2
3
-8
70
-76
10
0
0
0
0
0
0
0
1
0
0
0
-24
-25
9
-33
-25
-16
0
0
0
0
0
0
0
0
0
0
2
-20
48
-6
-44
12
4
0
0
0
0
0
0
0
1
0
5
2
-1
1
6
5
37
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
-2
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-8
76
4
-29
0
9
0
-2
0
0
0
0
0
2
12
7
5
1
-5
-7
39
120
1
-5
0
0
0
0
0
0
1
1
0
4
-8
4
48
-50
-3
-4
0
0
0
0
0
0
0
0
2
4
8
33
24
-42
-52
-32
4
0
0
0
0
0
0
0
0
0
-4
-8
-6
0
31
8
-53
-2
0
0
0
0
0
0
0
2
0
-4
-2
1
3
-5
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
7
-1
-1
43
8
12
8
0
-25
-3
0
0
0
0
0
0
0
-24
-1
-6
-16
-28
-42
-58
18
9
0
1
0
0
0
0
0
0
8
-1
-8
-7
3
-5
26
109
-6
-3
0
0
0
0
0
0
0
0
-8
-4
-5
16
-26
-9
-25
-8
0
0
0
0
0
0
0
0
-8
0
-1
7
-1
24
14
39
2
-1
0
0
0
0
0
0
0
5
1
0
2
12
0
17
31
8
0
0
0
0
0
0
0
0
0
1
0
-8
-1
-2
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
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
1
-2
1
1
2
24
0
14
-2
0
0
0
0
0
0
0
0
-4
-3
0
-4
-15
3
-42
42
-17
0
0
0
0
0
0
0
0
-10
0
-2
-2
-12
22
23
-13
-4
0
0
0
0
0
0
0
0
0
-1
-18
-9
-32
33
-12
-2
-4
0
0
0
0
0
0
0
0
0
0
4
-2
0
4
2
7
-3
0
0
0
0
0
0
0
0
0
0
0
3
-3
7
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
1
0
0
0
0
0
0
0
0
0
0
-1
0
2
-17
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
2
-18
0
-3
0
0
0
0
0
0
0
8
3
0
4
-42
-22
-9
-66
2
-2
0
0
0
0
0
0
0
0
1
0
2
-15
-4
120
14
7
4
0
0
0
0
0
0
0
0
0
0
5
-1
0
-31
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
3
0
1
0
0
0
0
0
0
0
0
0
0
7
-1
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
3
-18
-4
41
-43
8
0
0
0
0
0
0
0
0
0
0
0
-1
32
10
22
19
-4
0
0
0
0
0
0
0
0
0
0
0
-2
4
25
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
1
9
0
0
0
0
0
0
0
0
0
0
0
-1
-6
10
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
4
-12
25
13
0
-5
0
0
0
0
0
0
0
0
7
-1
5
-28
-33
-31
158
-17
4
0
0
0
0
0
0
0
0
1
0
0
8
58
16
39
-42
-5
0
0
0
0
0
0
0
0
-1
0
0
-2
45
12
-49
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
13
-21
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
-5
95
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-27
-44
15
0
12
0
0
0
0
0
0
0
0
-3
-1
-43
-43
8
78
2
61
-2
0
0
0
0
0
0
0
0
-9
0
-2
1
18
-63
-7
9
2
0
0
0
0
0
0
0
0
0
-2
-1
-1
-3
-8
-6
13
0
0
0
0
0
0
0
0
1
0
-1
1
1
0
104
-8
-17
-13
0
0
0
0
0
0
0
0
0
7
0
0
-35
6
30
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
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
-1
0
0
1
25
31
-27
-6
0
0
0
0
0
0
0
0
0
2
1
-1
-1
42
-48
18
11
19
7
1
0
0
0
0
0
0
0
-24
-9
-22
-2
-15
-8
15
-72
-3
2
0
0
0
0
0
0
0
1
-7
-1
-7
0
16
0
-5
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
-7
19
-13
14
-6
0
0
0
0
0
0
0
0
0
1
3
-1
25
-8
24
5
-1
0
0
0
0
0
0
0
0
0
3
15
-4
-8
-8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
2
-14
-57
-13
-8
0
13
1
0
0
0
0
0
0
0
-18
-8
-7
-13
-14
7
-4
-65
1
-2
0
0
0
0
0
0
1
-3
-1
6
3
-17
5
-18
169
10
0
0
0
0
0
0
0
1
17
1
-3
-16
-30
-101
-16
5
3
0
0
0
0
0
0
0
-1
0
0
-6
48
7
-22
-1
16
0
2
0
0
0
0
0
0
0
0
0
2
1
-3
-7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
-33
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-4
42
-3
2
0
5
1
0
0
0
0
0
0
-3
-4
-7
20
-13
-37
5
15
-83
-1
0
0
0
0
0
0
0
-2
-2
-4
-33
-5
68
-30
61
-14
-45
1
0
0
0
0
0
0
0
2
0
5
50
-13
-64
14
-52
-14
0
0
0
0
0
0
0
2
-6
0
15
-14
-8
-3
24
10
0
0
0
0
0
0
0
0
0
0
0
-1
8
3
13
70
-14
5
0
0
0
0
0
0
0
0
0
-5
-1
1
0
25
5
-18
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-8
-5
32
-39
88
-59
47
0
32
-4
0
0
0
0
0
0
5
39
0
-16
-48
11
-50
-56
-39
-35
-7
1
0
0
0
0
0
3
18
-17
-42
44
-31
-47
-30
79
-2
0
0
0
0
0
0
0
18
8
-18
-5
-51
12
-13
50
-44
21
0
0
0
0
0
0
0
6
-3
3
-8
-16
-60
94
-13
75
0
0
0
0
0
0
0
0
0
10
-5
0
-31
38
8
4
9
-1
0
0
0
0
0
0
0
0
0
8
0
-7
0
-33
9
-24
-1
0
0
0
0
0
0
0
0
0
0
1
0
10
4
8
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
-7
17
-4
49
-7
-9
50
0
-16
-33
0
0
0
0
0
0
0
-10
42
18
17
-16
-19
-26
66
-4
31
0
0
0
0
0
0
0
43
-5
-8
-57
-36
25
63
-15
34
-1
0
0
0
0
0
0
0
-1
10
-4
51
-28
109
-8
-78
-2
2
0
0
0
0
0
0
0
-9
-4
7
19
-5
25
-29
-25
-22
0
0
0
0
0
0
0
0
-3
-2
0
43
-2
-21
133
35
-24
-3
0
0
0
0
0
0
0
0
0
-7
5
-12
87
21
24
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
-17
-5
17
0
20
6
0
0
0
0
0
0
0
0
-7
0
0
-14
-5
-14
1
-9
27
0
0
0
0
0
0
0
0
-1
-2
-4
3
23
24
0
8
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
8
-9
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-4
2
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-30
0
-34
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-73
38
0
0
0
0
0
0
0
0
0
0
0
2
-4
-25
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
0
0
0
0
0
0
0
0
0
0
7
-2
0
24
-1
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
18
-31
14
4
33
-19
0
0
0
0
0
0
0
0
0
-1
-3
2
-54
-13
-22
29
-24
0
0
0
0
0
0
0
0
0
-3
0
22
53
33
-39
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
25
0
-14
0
0
0
0
0
0
0
0
0
0
1
0
-1
-10
4
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-18
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-13
29
16
59
4
32
0
0
0
0
0
0
0
2
-8
1
0
22
5
-14
13
4
14
0
0
0
0
0
0
0
8
0
0
0
5
-16
-5
14
-4
-1
0
0
0
0
0
0
0
0
-3
0
0
8
-3
-24
4
-10
0
0
0
0
0
0
0
0
0
-6
0
1
0
-67
67
-60
-8
0
0
0
0
0
0
0
0
0
0
0
-2
-35
2
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
1
50
28
0
-7
0
0
0
0
0
0
0
0
44
2
20
25
23
-56
23
-77
5
0
0
0
0
0
0
0
0
-3
1
-3
10
-26
-33
14
-66
0
0
0
0
0
0
0
0
0
5
5
0
4
1
-57
-31
16
24
0
0
0
0
0
0
0
0
0
-4
7
0
1
5
-30
-5
0
0
0
0
0
0
0
0
0
8
-50
0
2
0
-3
-46
0
-3
0
0
0
0
0
0
0
0
-1
-8
0
-13
-44
14
43
-10
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
15
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
2
30
-4
3
7
0
17
0
0
0
0
0
0
0
0
-25
0
-4
-30
0
-18
82
-8
27
-2
0
0
0
0
0
0
0
4
0
0
-7
54
-27
24
29
-1
0
0
0
0
0
0
0
23
0
-5
3
0
-37
-7
-14
-42
-20
0
0
0
0
0
0
0
0
-4
0
-1
-47
0
-6
-15
-60
-8
0
0
0
0
0
0
0
0
-15
-13
17
0
-51
0
52
-42
1
0
0
0
0
0
0
0
0
8
0
-5
-55
3
-3
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
22
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-16
29
2
-15
13
0
-29
0
0
0
0
0
0
0
-1
14
-1
-8
-8
-5
-23
-55
45
5
0
0
0
0
0
0
0
2
-7
0
1
13
-22
-52
-27
18
12
-3
0
0
0
0
0
0
3
-2
1
-19
8
0
50
7
35
8
0
0
0
0
0
0
0
0
0
-2
-2
-31
-42
0
-5
37
3
0
0
0
0
0
0
0
0
0
2
-8
6
-2
21
-4
13
0
0
0
0
0
0
0
0
0
4
2
-4
3
-31
21
-19
0
-1
0
0
0
0
0
0
0
0
-1
-4
0
1
-2
3
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
4
89
-21
-72
42
0
-21
-1
0
0
0
0
0
0
-1
-30
-10
4
95
15
-90
-15
-60
18
-2
0
0
0
0
0
0
0
-15
8
6
14
63
33
-144
5
-1
0
0
0
0
0
0
0
-22
-8
-13
34
3
-76
-13
-112
1
-69
0
0
0
0
0
0
0
0
1
-19
9
92
-30
-23
0
0
3
0
0
0
0
0
0
0
0
5
-7
-16
31
-129
-9
-72
0
-4
0
0
0
0
0
0
0
0
-5
20
29
58
13
-33
-69
-16
0
0
0
0
0
0
0
0
0
-1
-1
-3
22
102
-10
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
8
-3
83
14
88
42
0
-66
7
0
0
0
0
0
0
41
-12
-23
41
33
50
-9
-7
-14
20
-25
0
0
0
0
0
0
-7
-6
-2
-31
25
-41
15
-31
-35
-1
0
0
0
0
0
0
0
-3
55
-19
-10
-3
-18
-43
-26
-51
1
5
0
0
0
0
0
0
-8
-8
8
37
29
-42
5
88
0
-8
0
0
0
0
0
0
0
20
16
-19
-23
-16
17
2
-2
-51
0
-1
0
0
0
0
0
0
-2
-2
8
-12
-49
-20
-23
-1
84
1
0
0
0
0
0
0
0
0
-3
1
41
-1
-10
2
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-3
0
0
0
0
0
0
0
0
0
0
-18
-8
-3
10
26
-32
-117
0
-32
2
-1
0
0
0
0
0
0
63
13
8
89
-26
110
-71
24
-52
-2
0
0
0
0
0
0
0
-42
-8
-4
-67
44
-25
-23
-7
0
2
0
0
0
0
0
0
0
-34
1
7
-52
47
109
-162
41
-30
0
0
0
0
0
0
0
0
31
-2
-4
-70
-8
-57
60
122
0
0
0
0
0
0
0
0
0
70
-31
13
18
-19
6
91
1
42
0
0
0
0
0
0
0
0
-3
-7
10
-13
-10
-90
25
46
6
0
0
0
0
0
0
0
0
0
0
0
-1
-35
73
13
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
20
0
5
3
-2
0
0
0
0
0
0
0
-3
0
0
20
-21
7
21
18
-21
0
0
0
0
0
0
0
0
7
3
0
8
5
-9
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
-14
0
7
0
0
0
0
0
0
0
0
0
0
0
-8
14
-7
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
3
4
24
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
42
-13
13
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-42
23
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
8
31
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-37
-18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
8
-34
21
-1
0
0
0
0
0
0
0
0
4
0
0
2
0
-32
28
-42
0
0
0
0
0
0
0
0
-1
0
0
1
-1
24
3
30
22
3
0
0
0
0
0
0
0
0
0
0
0
0
-19
-45
13
4
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
-16
-1
-6
-9
-21
1
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-28
2
0
-1
0
0
0
0
0
0
0
7
1
0
8
2
-44
-29
16
-5
-6
0
0
0
0
0
0
0
0
-2
0
0
-14
-71
66
7
-2
1
0
0
0
0
0
0
0
2
1
-1
-1
-13
-32
-8
-63
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
-1
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
13
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
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
0
8
-8
-94
-31
0
0
1
0
0
0
0
0
0
0
0
0
-6
-60
-49
14
-55
-5
69
-10
0
0
0
0
0
0
0
32
3
3
12
-70
16
15
92
-4
1
0
0
0
0
0
0
1
2
12
6
15
-44
1
-23
-78
-2
0
0
0
0
0
0
0
1
1
7
0
-8
-9
-9
45
-33
-4
0
0
0
0
0
0
0
0
2
1
0
0
-14
37
-31
0
0
0
0
0
0
0
0
0
0
0
-1
0
-16
0
49
-9
-14
1
0
0
0
0
0
0
0
0
0
0
-8
0
4
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-24
4
-32
0
-24
0
0
0
0
0
0
0
0
0
4
1
-22
-50
-95
-100
70
-19
0
0
0
0
0
0
0
0
10
0
0
-8
-11
49
74
-8
37
0
0
0
0
0
0
0
-2
0
-2
-2
5
-31
37
-6
-2
-8
0
0
0
0
0
0
0
0
-8
-13
13
-1
12
0
41
-16
0
0
0
0
0
0
0
0
0
1
-43
2
2
0
-1
8
-2
-4
0
0
0
0
0
0
0
0
0
3
-1
0
31
0
-41
-5
0
0
0
0
0
0
0
0
0
0
6
0
0
3
3
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-3
3
-19
0
-73
2
0
0
0
0
0
0
0
25
0
0
39
-123
13
-100
-49
21
0
0
0
0
0
0
0
5
1
-2
0
35
-42
12
-90
-5
-1
0
0
0
0
0
0
0
0
12
-17
48
-1
-93
76
-13
49
13
0
0
0
0
0
0
0
-1
-13
-16
2
-53
-2
8
0
24
0
0
0
0
0
0
0
0
-2
4
-16
1
-14
-98
0
-34
1
16
0
0
0
0
0
0
0
-1
8
1
10
-112
8
79
0
-93
-5
0
0
0
0
0
0
0
0
-5
0
-28
-6
-23
8
-25
-2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-8
43
-80
16
0
-73
1
0
0
0
0
0
0
7
-5
0
-1
-3
31
44
-5
52
-56
-1
0
0
0
0
0
0
4
42
-1
5
16
-44
-6
-40
-62
-15
0
0
0
0
0
0
0
-19
-24
-1
-21
24
-45
-88
29
-32
22
0
0
0
0
0
0
0
1
-8
-9
-17
-31
-54
-17
-36
2
-8
0
0
0
0
0
0
0
0
50
0
0
-12
-84
-39
0
-58
20
0
0
0
0
0
0
0
0
-3
6
-4
91
15
1
-66
0
0
0
0
0
0
0
0
0
0
-1
0
5
-3
5
16
-52
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
10
0
-24
-4
-8
-33
-18
-26
0
-42
0
0
0
0
0
0
0
4
32
10
27
65
56
-81
102
-21
-22
8
0
0
0
0
0
0
1
-4
-31
-59
10
-14
22
-42
0
10
8
0
0
0
0
0
0
5
-34
-35
10
-43
-22
10
-129
-13
-43
0
0
0
0
0
0
0
42
-10
-7
-24
-34
42
-107
-10
29
0
0
0
0
0
0
0
0
1
10
-18
-38
-48
-78
15
59
0
19
0
0
0
0
0
0
0
-9
4
-54
8
-6
57
111
2
-33
0
0
0
0
0
0
0
0
-5
7
5
-18
4
-9
-20
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
15
0
0
0
0
0
0
0
0
0
0
10
15
8
22
77
-8
-1
0
-27
3
0
0
0
0
0
0
0
2
-7
-1
57
19
80
18
-58
38
-32
0
0
0
0
0
0
0
-72
22
15
-27
-37
52
35
-2
-117
-5
0
0
0
0
0
0
0
-5
29
20
-38
-47
-42
69
4
-5
-2
0
0
0
0
0
0
0
50
13
14
-14
-29
-41
-9
-20
-4
0
0
0
0
0
0
0
0
-32
-27
45
-30
-1
93
0
38
0
1
0
0
0
0
0
0
0
-10
-13
-25
-20
-2
-137
-16
4
-8
0
0
0
0
0
0
0
0
0
-8
-15
2
-32
-92
7
-6
-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
1
-5
12
1
0
4
3
0
0
0
0
0
0
0
0
12
4
9
32
17
0
-12
43
5
0
0
0
0
0
0
0
0
0
-1
0
-13
-3
-13
3
75
-5
0
0
0
0
0
0
0
0
-1
0
0
-7
-1
6
-17
30
-4
0
0
0
0
0
0
0
0
-7
0
0
0
2
-52
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
7
0
0
0
0
0
0
0
0
0
0
0
2
0
13
1
20
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-19
0
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
25
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
18
17
0
0
0
0
0
0
0
0
0
0
0
0
3
1
18
-12
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-5
2
2
5
17
-42
0
0
0
0
0
0
0
0
8
1
-2
0
-18
-51
-7
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
94
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
34
0
29
1
5
0
0
0
0
0
0
0
0
0
0
0
4
-7
46
-16
-31
0
0
0
0
0
0
0
0
0
0
-9
-2
4
-60
-7
-15
14
-24
0
0
0
0
0
0
0
0
0
0
0
-31
4
-64
2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-32
0
0
0
0
0
0
0
0
0
4
0
-10
0
-24
-17
32
0
0
0
0
0
0
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
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
3
-78
1
-1
0
0
0
0
0
0
0
0
-1
0
0
3
-29
-58
1
7
1
0
0
0
0
0
0
0
2
0
0
-1
0
64
1
50
-3
-1
0
0
0
0
0
0
0
0
-2
0
-18
-2
14
54
-3
-7
-1
0
0
0
0
0
0
0
0
-20
5
0
-1
0
-12
35
-45
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
-6
14
0
0
0
0
0
0
0
0
0
0
-16
0
0
15
22
-13
-69
-2
19
0
0
0
0
0
0
0
0
2
0
1
2
-1
8
1
-19
0
0
0
0
0
0
0
0
-7
0
1
-2
1
-26
29
-1
1
-54
0
0
0
0
0
0
0
0
-5
0
4
-17
-15
-24
17
33
0
0
0
0
0
0
0
0
0
1
-1
0
0
-81
0
-33
3
-3
0
0
0
0
0
0
0
0
0
4
0
8
0
43
4
7
0
0
0
0
0
0
0
0
0
-3
0
4
0
-6
0
0
0
0
0
0
0
0
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
2
-34
58
0
-15
0
0
0
0
0
0
0
0
14
0
-9
45
-1
25
23
-51
12
0
0
0
0
0
0
0
-1
2
0
-2
-30
-10
-86
-4
-49
-8
0
0
0
0
0
0
0
0
0
3
44
-25
-34
-87
-13
-3
1
0
0
0
0
0
0
0
0
7
0
49
-49
-18
48
0
6
0
0
0
0
0
0
0
0
-1
3
8
-42
17
1
-6
0
6
1
0
0
0
0
0
0
0
0
-16
-1
0
-6
-3
0
-14
10
0
0
0
0
0
0
0
0
0
5
3
-21
12
0
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
22
-5
-2
-51
0
-5
0
0
0
0
0
0
0
-1
10
8
1
-28
63
-19
-29
-4
13
1
0
0
0
0
0
0
-3
-4
0
-6
-24
-50
-73
-35
-32
5
0
0
0
0
0
0
0
17
-3
1
8
24
52
63
-3
78
-13
0
0
0
0
0
0
0
-5
0
-44
27
-4
25
18
23
-82
0
0
0
0
0
0
0
0
0
3
18
7
-13
33
1
-41
0
9
0
0
0
0
0
0
0
0
1
-17
12
-20
0
7
0
-45
0
0
0
0
0
0
0
0
0
4
-1
-5
-7
-130
8
62
0
5
0
0
0
0
0
0
0
0
0
0
0
3
0
-14
10
0
0
0
0
0
0
0
0
0
2
0
-15
14
2
-33
-9
-24
0
9
0
0
0
0
0
0
0
-29
20
-37
-5
48
56
-20
21
-55
-40
-3
0
0
0
0
0
0
0
-13
6
-27
-15
-58
-50
49
45
-31
3
0
0
0
0
0
0
0
-41
-13
22
-8
36
9
-55
8
122
-3
0
0
0
0
0
0
17
-13
-53
61
-10
-67
165
-26
-48
-20
0
0
0
0
0
0
0
-20
-3
-53
41
-17
71
32
0
3
0
0
0
0
0
0
0
0
2
3
-8
0
-19
-9
-44
-44
0
0
0
0
0
0
0
0
0
0
7
-2
18
-2
7
-41
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-4
2
-1
0
0
0
0
0
0
0
0
0
-7
10
-10
42
-13
31
10
0
-3
-2
0
0
0
0
0
0
0
11
39
-22
50
12
-93
84
61
62
-22
0
0
0
0
0
0
0
23
8
8
-22
43
110
29
-16
12
-20
0
0
0
0
0
0
0
-74
-15
4
-1
-19
3
11
-7
-16
2
0
0
0
0
0
0
0
20
-55
-12
44
14
-18
-41
-59
-18
0
0
0
0
0
0
0
0
107
71
-3
97
-45
-18
60
0
-31
0
0
0
0
0
0
0
0
-3
15
-15
9
49
10
71
74
0
0
0
0
0
0
0
0
0
0
22
-1
0
-2
36
57
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
25
-2
4
0
18
-16
0
0
0
0
0
0
0
0
-1
1
1
1
9
-1
-27
8
-15
0
0
0
0
0
0
0
0
-7
0
0
-4
3
5
44
3
25
0
0
0
0
0
0
0
0
-1
0
8
-2
9
25
-2
4
-9
0
0
0
0
0
0
0
0
1
-2
6
7
22
20
0
18
1
0
0
0
0
0
0
0
0
3
1
0
6
-8
-3
-13
0
8
0
0
0
0
0
0
0
0
0
0
3
-3
0
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-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
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-29
0
-12
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
44
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-27
0
0
0
0
0
0
0
0
0
0
3
0
0
5
2
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
3
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
23
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-27
-3
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
-2
84
1
-3
0
0
0
0
0
0
0
0
-8
0
0
3
-1
-42
-19
29
20
0
0
0
0
0
0
0
-4
0
0
-8
0
-5
3
-58
7
-2
0
0
0
0
0
0
0
0
0
4
0
8
10
49
-33
14
0
0
0
0
0
0
0
0
7
2
9
-3
-9
45
-3
5
7
0
0
0
0
0
0
0
0
0
7
1
0
30
0
-37
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-15
5
0
0
0
0
0
0
0
0
0
0
5
0
0
24
-57
6
-76
8
-9
0
0
0
0
0
0
0
2
4
0
0
-31
16
-76
23
-10
-3
0
0
0
0
0
0
0
-8
0
0
-12
3
-33
-2
-27
-1
-62
0
0
0
0
0
0
0
0
-8
4
-5
4
42
13
30
-15
0
0
0
0
0
0
0
0
0
9
-4
1
-9
34
-41
-5
-2
1
0
0
0
0
0
0
0
0
0
14
20
40
-13
0
8
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
-22
13
0
24
0
0
0
0
0
0
0
0
0
0
2
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-25
2
-7
0
32
0
0
0
0
0
0
0
0
-9
-2
25
1
91
-13
4
22
-55
2
0
0
0
0
0
0
5
24
-4
6
41
-14
-54
-26
27
-22
0
0
0
0
0
0
0
19
35
-5
-33
-19
-30
93
39
44
-78
-1
0
0
0
0
0
0
4
37
32
22
29
17
19
-21
-77
-7
0
0
0
0
0
0
0
24
-2
6
-51
-8
-71
-24
-11
22
1
0
0
0
0
0
0
0
6
-9
31
-25
37
9
-45
0
-158
0
0
0
0
0
0
0
0
19
-6
-6
6
-6
9
-21
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
-19
-61
0
0
-3
0
0
0
0
0
0
0
0
4
-17
0
10
-115
-38
8
112
-96
1
0
0
0
0
0
0
0
-50
-12
0
-23
62
-48
-97
-85
5
0
0
0
0
0
0
0
0
-72
-31
14
52
62
41
-11
-51
1
0
0
0
0
0
0
0
0
74
-15
9
-52
-81
63
-27
44
1
1
0
0
0
0
0
0
0
0
-26
-17
30
16
-46
-15
48
35
0
0
0
0
0
0
0
0
-8
-66
-44
79
-66
-37
17
-14
-9
0
0
0
0
0
0
0
0
0
-9
8
14
44
-85
-23
-20
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-4
-26
2
-52
0
0
0
0
0
0
0
0
-5
4
0
4
18
-2
5
18
-1
0
0
0
0
0
0
0
0
0
2
0
4
-5
6
-14
-12
-19
0
0
0
0
0
0
0
0
0
0
-1
19
-5
-7
-2
3
-1
0
0
0
0
0
0
0
0
-3
0
0
-2
9
18
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
43
3
0
0
0
0
0
0
0
0
14
-5
7
4
16
-24
-15
0
-2
0
0
0
0
0
0
0
0
3
-2
-2
-6
0
20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-64
-13
-22
5
0
0
0
0
0
0
0
0
2
0
0
-3
25
0
85
-8
-5
-1
0
0
0
0
0
0
0
10
0
0
31
0
28
35
11
-37
0
0
0
0
0
0
0
0
0
13
21
6
-51
15
27
4
-13
0
0
0
0
0
0
0
0
66
-14
-1
49
25
31
10
44
0
0
0
0
0
0
0
0
0
13
0
0
7
-9
0
-10
1
0
0
0
0
0
0
0
0
0
0
-7
-4
4
8
-31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
21
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
7
4
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
13
1
-84
5
0
0
0
0
0
0
0
0
2
0
-4
3
-1
10
-1
4
-2
0
0
0
0
0
0
0
0
0
0
-5
-1
0
2
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-8
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
20
13
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-31
-1
19
-6
0
0
0
7
0
0
0
0
0
0
0
0
8
1
-30
2
0
6
0
0
-7
0
0
0
0
0
0
0
0
0
42
-7
-10
-1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
2
-14
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-9
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
52
1
9
-1
22
-3
0
-1
0
0
0
0
0
0
0
0
-4
-5
34
-9
-58
15
13
0
0
-49
0
0
0
0
0
0
0
0
-5
32
60
8
47
-1
8
4
-8
0
0
0
0
0
0
0
0
-4
-21
-1
-22
-20
25
12
-24
-23
0
0
0
0
0
0
0
0
17
2
-39
46
-31
-10
1
-1
5
0
0
0
0
0
0
0
0
0
2
-12
8
-14
-24
-1
-8
0
0
0
0
0
0
0
0
0
0
2
1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
5
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-42
-3
3
0
0
0
0
0
0
0
0
0
0
0
-31
-24
7
-31
-15
-1
5
0
-1
-10
0
0
0
0
0
0
1
22
7
-14
52
-57
-8
-9
1
7
0
0
0
0
0
0
0
0
-8
43
33
42
43
2
-5
2
2
1
0
0
0
0
0
0
0
6
-37
23
-24
56
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-29
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
31
0
20
-4
0
0
0
0
0
0
0
0
0
0
0
2
-20
-20
33
-4
0
0
1
0
0
0
0
0
0
0
0
-7
-5
35
-13
-2
34
-3
1
-1
0
0
0
0
0
0
0
0
-7
5
63
-16
13
8
2
0
-2
4
0
0
0
0
0
0
0
-1
0
-20
12
-2
-4
2
12
-12
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
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
4
42
3
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-3
35
7
-1
0
1
-2
-8
0
0
0
0
0
0
0
3
9
-3
24
12
4
-2
0
-1
0
0
0
0
0
0
0
0
0
15
5
19
-3
1
-9
3
0
-1
0
0
0
0
0
0
0
0
-8
-4
-7
14
31
-2
5
0
-15
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-51
-1
-29
0
0
0
0
0
0
0
0
0
0
0
-8
8
9
-32
-50
-14
-3
0
0
3
0
0
0
0
0
0
0
3
-54
0
-8
-22
6
4
3
-1
6
0
0
0
0
0
0
0
0
1
-29
25
8
6
31
4
2
1
0
0
0
0
0
0
0
0
0
8
-8
-6
27
0
-15
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
2
-6
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-42
25
4
0
0
-16
0
0
0
0
0
0
0
0
-17
-41
-8
-14
1
-7
0
6
-3
-2
0
0
0
0
0
0
0
2
-7
8
3
16
16
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
-1
-1
0
0
0
0
0
0
0
0
0
0
7
-6
0
0
-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
4
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-10
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
-3
5
1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
10
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-13
31
7
-3
0
0
-1
0
0
0
0
0
0
0
0
-6
53
8
19
-2
-25
-1
0
10
0
0
0
0
0
0
0
0
-2
28
24
11
-25
0
8
0
-15
0
0
0
0
0
0
0
0
-17
-42
-19
-27
24
-25
-4
0
-33
0
0
0
0
0
0
0
0
0
2
0
-31
2
-4
-8
1
0
0
0
0
0
0
0
0
0
0
6
12
-7
3
1
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
-14
0
0
101
-1
-3
0
0
0
0
0
0
0
0
0
0
6
4
88
-99
-39
10
14
0
0
0
0
0
0
0
0
0
0
-4
-28
30
39
-76
44
13
1
-9
-4
0
0
0
0
0
0
0
0
39
33
91
-4
-60
-13
32
25
-9
0
0
0
0
0
0
0
1
78
16
5
-63
42
-7
4
-7
-14
0
0
0
0
0
0
0
-1
-5
-17
-24
-64
-14
2
2
5
7
0
0
0
0
0
0
0
0
5
-12
30
4
-21
2
13
-25
14
0
0
0
0
0
0
0
0
-5
-2
-1
-18
-8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
39
-6
0
0
0
0
0
0
0
0
0
0
0
-3
28
-68
9
-8
-18
0
0
1
0
2
0
0
0
0
0
0
-7
8
31
0
104
-24
7
1
3
-17
3
0
0
0
0
0
0
2
50
33
-41
17
22
5
-4
-2
-9
0
0
0
0
0
0
0
1
50
15
7
42
-10
-11
-33
10
-42
-8
0
0
0
0
0
0
0
15
15
13
14
-72
-8
5
-16
18
0
0
0
0
0
0
0
0
1
-17
-5
9
-3
19
9
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-24
0
-23
0
0
0
0
0
0
0
0
0
0
0
2
6
47
33
15
3
0
0
0
0
0
0
0
0
0
0
0
0
-14
13
-22
45
8
9
3
16
-1
6
0
0
0
0
0
0
1
-8
128
-21
8
25
10
14
-4
7
0
0
0
0
0
0
0
-3
31
-41
27
37
30
-16
2
25
2
-2
0
0
0
0
0
0
0
-22
-24
17
8
-8
-17
-1
-5
-1
0
0
0
0
0
0
0
0
0
2
-2
-3
-12
4
2
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-40
0
-16
0
-8
1
0
0
0
0
0
0
0
0
0
-1
10
-41
96
0
18
0
0
0
0
0
0
0
0
0
0
0
8
-17
-31
-8
-10
-3
8
1
6
2
1
0
0
0
0
0
0
-2
-7
-27
15
5
12
7
4
-5
2
3
0
0
0
0
0
0
-2
-31
66
13
1
42
-31
-29
1
27
0
0
0
0
0
0
0
0
10
-5
8
-9
8
-10
7
0
7
0
0
0
0
0
0
0
0
0
0
6
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
22
33
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-4
-33
-3
-45
2
3
0
0
0
0
0
0
0
0
0
0
7
32
-17
67
4
35
1
14
9
-9
0
1
0
0
0
0
0
1
32
-47
15
22
-51
-22
-3
-4
5
1
0
0
0
0
0
0
0
28
-35
24
47
19
-3
-7
-31
-2
0
0
0
0
0
0
0
0
-9
-50
-9
-2
8
9
-3
-2
0
0
0
0
0
0
0
0
0
0
5
-4
-14
0
1
-16
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-29
-6
8
1
0
0
0
0
0
0
0
0
0
0
0
0
42
9
-14
-2
13
14
0
0
0
0
1
0
0
0
0
0
0
3
2
23
-17
20
14
3
3
2
1
0
0
0
0
0
0
0
9
30
-9
3
49
5
1
-13
-8
0
0
0
0
0
0
0
0
-2
5
-43
-14
12
43
4
3
3
-2
0
0
0
0
0
0
0
6
4
2
-13
5
5
-6
0
-16
0
0
0
0
0
0
0
0
0
0
24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
-23
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
13
9
2
2
0
-1
-1
6
0
0
0
0
0
0
0
0
2
-21
-13
-1
4
-2
1
-2
1
1
0
0
0
0
0
0
0
0
28
5
9
-1
25
3
0
1
0
0
0
0
0
0
0
0
5
7
-8
0
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
-2
3
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-42
-25
-2
-7
2
0
0
0
0
0
0
0
0
0
0
0
16
-49
-16
-10
15
30
0
0
-1
0
0
0
0
0
0
0
0
-1
71
-15
-34
-13
-10
0
0
-6
0
0
0
0
0
0
0
0
4
41
60
7
-66
-9
23
0
12
0
0
0
0
0
0
0
0
-6
-91
8
9
6
-19
23
-1
57
0
0
0
0
0
0
0
0
0
25
13
-22
-5
-6
-12
-7
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
19
39
27
-42
10
25
-12
0
0
0
0
0
0
0
0
0
0
-2
27
24
34
-55
57
25
0
0
0
0
0
0
0
0
0
0
-8
-42
-19
-17
30
15
18
1
-31
5
0
0
0
0
0
0
0
0
-54
12
133
5
-41
-25
70
3
-8
0
0
0
0
0
0
0
2
20
-23
-1
-14
-49
41
16
0
-20
0
0
0
0
0
0
0
0
69
-58
-41
-56
6
-33
9
-1
8
0
0
0
0
0
0
0
0
0
8
-6
2
3
8
7
0
-7
0
0
0
0
0
0
0
0
0
0
4
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-12
-41
9
49
-1
2
0
0
0
0
0
0
0
0
0
-5
1
35
38
-32
-44
17
0
0
0
1
0
0
0
0
0
0
1
0
-3
1
-59
-22
23
-7
1
-30
-5
0
0
0
0
0
0
1
9
6
-9
14
54
9
8
-4
-5
-1
0
0
0
0
0
0
2
-5
19
25
34
-12
21
5
-6
-2
0
0
0
0
0
0
0
0
-2
27
-13
-21
-19
-8
-20
-1
-2
0
0
0
0
0
0
0
0
0
4
-5
15
-4
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
1
42
1
5
0
0
0
-1
0
0
0
0
0
0
0
69
31
84
48
-19
0
0
-2
0
0
0
0
0
0
0
0
0
-19
73
4
22
-6
5
0
1
-7
1
0
0
0
0
0
0
0
23
8
-83
41
50
-3
14
-6
2
0
0
0
0
0
0
0
0
5
10
-25
3
2
8
6
9
3
0
0
0
0
0
0
0
0
-16
-8
23
8
-8
-1
14
0
0
0
0
0
0
0
0
0
0
0
-25
-4
-9
0
-25
4
1
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
18
-58
-42
-8
5
6
0
0
0
0
0
0
0
0
0
0
0
4
-1
-62
5
3
9
2
-1
0
2
0
0
0
0
0
0
-1
41
42
0
18
-8
-7
8
1
0
0
0
0
0
0
0
0
4
-21
30
8
-32
-22
6
3
2
-4
0
0
0
0
0
0
0
0
0
-54
16
3
6
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
19
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
3
21
8
4
0
0
0
0
0
0
0
0
0
0
2
-25
-9
89
0
30
1
0
3
0
0
0
0
0
0
0
0
-1
0
-9
-21
26
0
22
1
8
-5
0
0
0
0
0
0
0
0
-7
-2
-28
-3
15
0
-3
-1
-19
0
0
0
0
0
0
0
0
13
20
17
-5
21
25
0
1
1
0
0
0
0
0
0
0
0
-5
13
8
13
-9
-6
1
-1
0
0
0
0
0
0
0
0
0
0
-14
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
18
34
-13
0
0
0
0
0
0
0
0
0
0
0
-2
37
3
-39
20
8
-1
0
-2
0
0
0
0
0
0
0
0
0
8
-44
33
7
69
-14
0
0
12
1
0
0
0
0
0
0
0
14
-3
18
-8
0
24
-2
0
4
0
0
0
0
0
0
0
-4
13
5
3
-32
-14
-4
-2
0
1
0
0
0
0
0
0
0
0
-1
16
-5
-4
-1
3
-3
0
-1
0
0
0
0
0
0
0
0
0
8
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
42
7
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
31
42
-6
-16
0
0
0
0
0
0
0
0
0
0
0
-1
-3
10
5
27
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-6
25
15
-1
-1
0
0
1
0
0
0
0
0
0
0
-3
-21
-41
-6
-7
-1
0
-15
-1
0
0
0
0
0
0
0
0
-3
2
25
-1
15
-13
0
0
6
0
0
0
0
0
0
0
0
0
3
1
-4
-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
-6
9
56
-2
1
0
0
0
0
0
0
0
0
0
0
0
3
16
46
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
4
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-8
-23
3
12
-6
-6
10
0
0
0
0
0
0
0
0
0
43
-7
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
19
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-4
-5
3
0
-1
0
0
0
0
0
0
0
0
0
-2
-4
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-22
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-89
-2
-5
25
28
-1
0
-5
0
0
0
0
0
0
0
0
-10
-12
55
21
-16
22
0
0
-2
0
0
0
0
0
0
0
0
3
-20
-59
-31
25
-14
5
8
25
0
0
0
0
0
0
0
0
6
-59
-180
15
-4
-52
7
0
9
0
0
0
0
0
0
0
0
-1
-7
0
31
-5
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-42
1
-27
0
0
0
2
0
0
0
0
0
0
0
0
0
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
56
10
-11
44
-19
0
0
0
0
0
0
0
0
0
0
42
-18
-60
-29
13
-60
-2
0
-2
0
0
0
0
0
0
0
0
-1
-15
31
25
3
9
11
3
-49
12
0
0
0
0
0
0
0
-1
12
-18
30
-46
50
79
-21
-20
19
0
0
0
0
0
0
0
0
42
1
-3
-98
66
-21
0
-1
7
0
0
0
0
0
0
0
0
49
-5
-31
118
15
-57
-13
16
-2
0
0
0
0
0
0
0
0
1
-32
-14
-31
37
8
1
-2
0
0
0
0
0
0
0
0
0
0
-3
19
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
38
-29
13
-37
9
0
0
0
0
0
0
0
0
0
0
-5
-37
18
-1
-14
-28
1
0
0
0
3
0
0
0
0
0
0
0
-2
63
42
-57
19
22
-4
4
8
4
0
0
0
0
0
0
0
85
12
-16
87
-49
7
-2
4
2
0
0
0
0
0
0
0
0
-5
24
13
-47
31
-7
-22
-4
7
0
0
0
0
0
0
0
0
6
0
2
-8
17
58
-43
4
-1
0
0
0
0
0
0
0
0
0
4
2
-5
-30
45
-2
0
0
0
0
0
0
0
0
0
0
0
3
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-25
34
23
20
0
0
0
-1
0
0
0
0
0
0
0
2
-24
10
37
-50
3
-8
0
0
0
0
0
0
0
0
0
0
0
-26
-1
49
20
-8
16
-8
0
19
2
0
0
0
0
0
0
2
20
-43
1
21
4
-4
2
0
-2
0
0
0
0
0
0
0
0
31
-7
21
9
-44
49
-5
2
-2
0
0
0
0
0
0
0
0
-6
-20
16
68
-1
-23
-20
1
0
0
0
0
0
0
0
0
0
0
7
-8
20
-93
0
2
1
0
0
0
0
0
0
0
0
0
0
-1
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
41
-13
37
1
0
0
0
0
0
0
0
0
0
0
0
16
-23
49
37
8
-3
0
0
0
0
0
0
0
0
0
0
0
-15
35
-5
-15
10
-33
0
2
-4
0
0
0
0
0
0
0
0
-6
-5
-74
0
-8
-4
0
-2
0
0
0
0
0
0
0
0
0
-4
-7
0
27
1
18
0
2
5
0
0
0
0
0
0
0
0
-13
0
30
-39
1
-8
0
-3
3
0
0
0
0
0
0
0
0
0
5
-33
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-59
3
3
2
0
0
0
0
0
0
0
0
0
0
0
-91
10
21
19
-5
3
0
0
0
0
0
0
0
0
0
0
0
14
26
32
-13
4
-7
-1
-3
8
-4
0
0
0
0
0
0
0
10
43
-1
49
0
-20
2
0
1
0
0
0
0
0
0
0
0
3
139
17
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
0
-4
-5
10
16
0
-7
0
0
0
0
0
0
0
0
0
-1
-29
10
-10
-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
-1
-22
8
35
6
6
0
0
0
0
0
0
0
0
0
0
0
9
4
-47
-23
-45
1
0
0
0
0
0
0
0
0
0
0
0
-6
16
-54
-81
-17
0
2
0
-4
0
0
0
0
0
0
0
0
24
37
-13
-8
12
0
-3
-1
1
0
0
0
0
0
0
0
0
1
-29
21
-10
0
6
-3
0
-1
0
0
0
0
0
0
0
0
1
-22
8
-2
43
8
0
-8
3
0
0
0
0
0
0
0
0
0
15
7
26
0
2
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
-1
-44
2
-12
0
0
0
0
0
0
0
0
0
0
-4
24
52
4
-25
-27
9
0
0
0
0
0
0
0
0
0
0
0
20
-19
-13
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
-8
-4
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-29
0
-8
13
34
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
14
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
6
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
14
3
8
-7
4
0
0
0
0
0
0
0
0
0
0
0
8
-18
-12
-25
1
-1
0
0
0
0
0
0
0
0
0
0
0
5
40
32
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
12
-13
7
4
-14
0
0
0
0
0
0
0
0
0
0
-2
2
4
-19
9
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
13
-6
8
2
0
2
0
0
0
0
0
0
0
0
0
-3
0
-38
6
7
-7
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
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
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
8
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
7
0
8
12
0
0
0
0
0
0
0
0
0
0
0
-5
24
-1
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-16
45
-12
5
0
0
0
0
0
0
0
0
0
0
0
-2
5
26
56
-40
42
3
0
0
0
0
0
0
0
0
0
0
38
-30
-26
-16
-20
31
1
-8
4
0
0
0
0
0
0
0
0
73
-36
25
30
-16
28
22
-3
13
0
0
0
0
0
0
0
0
0
-4
21
46
-8
-27
-2
0
-13
0
0
0
0
0
0
0
0
0
-1
-92
-60
-7
16
0
0
-15
0
0
0
0
0
0
0
0
0
-25
-14
17
4
1
1
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
0
-12
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-44
-8
-30
24
-42
0
0
0
0
0
0
0
0
0
0
3
-39
78
46
-19
58
-3
0
0
0
0
0
0
0
0
0
0
22
127
34
-16
-27
-29
-95
-15
-18
2
0
0
0
0
0
0
0
0
19
48
9
48
-13
10
0
8
-35
0
0
0
0
0
0
0
0
0
-121
-54
-2
-5
71
-3
0
-10
0
0
0
0
0
0
0
0
-43
-1
22
-5
2
-22
43
5
-12
0
0
0
0
0
0
0
0
1
-9
10
86
42
-54
-13
-4
0
0
0
0
0
0
0
0
0
1
-18
-3
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
57
45
-4
-6
0
0
0
0
0
0
0
0
0
0
0
-7
44
-18
56
79
-101
-12
0
2
0
0
0
0
0
0
0
0
0
40
95
23
-31
50
3
8
16
-6
3
0
0
0
0
0
0
-25
2
-16
-53
81
-25
43
18
0
12
5
0
0
0
0
0
0
-1
-5
0
-17
16
42
16
6
-12
-43
-1
0
0
0
0
0
0
0
0
22
7
67
-17
73
-37
22
0
0
0
0
0
0
0
0
0
3
23
-3
-32
-47
-27
18
-10
-2
0
0
0
0
0
0
0
0
1
1
-21
14
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
32
70
-1
-7
-8
9
0
0
1
0
0
0
0
0
0
0
0
41
-4
-44
2
24
-1
0
0
0
2
0
0
0
0
0
0
1
6
163
9
-27
37
7
-9
8
25
6
0
0
0
0
0
0
0
-27
6
56
6
24
2
10
8
23
0
0
0
0
0
0
0
-6
1
69
0
-41
1
-33
-1
1
0
0
0
0
0
0
0
0
0
24
0
-23
-8
92
-51
6
-16
2
0
0
0
0
0
0
0
0
0
23
31
-41
-1
-13
1
0
3
0
0
0
0
0
0
0
0
0
-1
2
-30
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-16
73
75
-4
1
-1
0
0
0
0
0
0
0
0
0
-1
-8
8
95
-1
-41
-2
0
-1
0
0
0
0
0
0
0
0
0
0
-31
-25
-43
34
2
0
0
1
0
0
0
0
0
0
0
0
14
23
-1
96
-1
1
1
2
7
-3
0
0
0
0
0
0
0
-8
13
38
0
0
16
1
0
-15
0
0
0
0
0
0
0
0
8
-17
0
-59
-3
5
6
-1
2
0
0
0
0
0
0
0
0
-3
0
-12
-9
23
6
2
8
0
0
0
0
0
0
0
0
0
-3
1
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
13
-52
32
3
-8
0
0
0
0
0
0
0
0
0
0
0
-24
-28
62
-78
-12
-4
0
0
0
0
0
0
0
0
0
0
0
-22
75
-22
-49
27
-15
0
-6
0
0
0
0
0
0
0
0
0
5
13
60
0
8
0
8
5
2
0
0
0
0
0
0
0
0
12
15
-8
-10
0
14
0
0
-5
0
0
0
0
0
0
0
0
4
9
38
0
68
2
12
-6
0
0
0
0
0
0
0
0
0
0
57
-13
9
-1
-12
0
-2
0
0
0
0
0
0
0
0
0
0
0
22
-4
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-33
-27
-83
42
9
0
0
0
0
0
0
0
0
0
0
0
-8
46
-25
-7
-23
17
0
0
0
0
0
0
0
0
0
0
-1
25
-14
-23
66
19
-9
1
2
-3
0
0
0
0
0
0
0
0
13
-58
-13
54
0
6
0
-7
0
0
0
0
0
0
0
0
0
-6
-15
31
-14
25
0
0
0
4
0
0
0
0
0
0
0
0
0
-10
-60
89
1
0
0
25
-9
0
0
0
0
0
0
0
0
0
9
59
0
48
1
-1
8
1
0
0
0
0
0
0
0
0
0
-7
0
-24
0
0
0
0
0
0
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
-46
7
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
33
26
-31
8
1
0
0
0
0
0
0
0
0
0
0
0
41
-12
-31
-3
-14
13
1
-1
2
0
0
0
0
0
0
0
0
31
-47
17
42
46
0
-1
0
0
-8
0
0
0
0
0
0
0
1
3
-13
2
5
0
0
0
15
0
0
0
0
0
0
0
0
0
-28
63
5
4
0
0
0
5
0
0
0
0
0
0
0
0
0
-19
-4
-13
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-6
17
1
0
0
0
0
0
0
0
0
0
0
0
-18
22
-23
6
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
41
45
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
10
75
-19
2
0
0
0
0
0
0
0
0
0
0
0
-2
24
0
49
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
-16
2
0
1
-9
3
0
0
0
0
0
0
0
0
0
0
0
1
7
-9
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-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
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
29
-27
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
31
-6
-5
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
23
31
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
8
2
8
-2
-10
0
0
0
0
0
0
0
0
0
0
4
-2
9
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
31
0
24
-4
0
0
0
0
0
0
0
0
0
0
0
32
66
10
5
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
-66
-12
1
-42
2
8
1
1
-13
0
0
0
0
0
0
0
0
16
18
1
50
50
12
25
-6
-49
0
0
0
0
0
0
0
0
-65
-1
-31
-28
56
51
-1
-24
-43
0
0
0
0
0
0
0
0
0
30
48
-70
14
-10
10
-8
6
0
0
0
0
0
0
0
0
2
0
66
5
-12
-1
0
2
-6
0
0
0
0
0
0
0
0
0
3
0
8
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-31
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
79
120
66
-42
-13
0
0
0
0
0
0
0
0
0
0
-2
21
-8
26
7
-14
0
0
22
0
0
0
0
0
0
0
0
-9
13
-24
92
80
22
43
22
-13
51
0
0
0
0
0
0
0
17
0
-66
49
-30
51
3
-59
45
31
0
0
0
0
0
0
0
0
-51
4
109
34
-26
44
13
-31
30
0
0
0
0
0
0
0
0
0
-35
41
16
-44
-2
5
-1
-19
0
0
0
0
0
0
0
0
-7
0
5
-27
32
-26
-7
-3
5
0
0
0
0
0
0
0
0
-2
4
-16
8
-9
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-6
41
16
3
1
0
0
0
0
0
0
0
0
0
0
-1
52
72
84
24
34
12
0
0
0
-1
0
0
0
0
0
0
-61
-62
41
-26
13
42
-17
6
-24
20
3
0
0
0
0
0
0
-1
-44
13
0
-66
66
-42
53
4
2
2
0
0
0
0
0
0
4
1
55
-19
121
-30
-75
-94
7
-10
1
0
0
0
0
0
0
0
-40
0
-79
-13
35
19
23
-37
-17
0
0
0
0
0
0
0
0
0
68
4
70
-76
-9
20
-29
-2
0
0
0
0
0
0
0
0
3
-69
85
-8
8
-1
-4
2
0
0
0
0
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
-23
41
8
46
0
0
0
0
0
0
0
0
0
0
0
-48
87
16
13
41
-10
0
0
0
4
0
0
0
0
0
0
-2
80
74
25
3
20
-48
-9
8
27
-14
0
0
0
0
0
0
2
4
21
32
36
64
-14
14
-2
-34
0
0
0
0
0
0
0
-2
-15
-2
50
0
-62
73
0
42
5
0
0
0
0
0
0
0
0
19
25
0
-21
-8
28
0
20
-3
0
0
0
0
0
0
0
0
-4
0
-87
5
47
50
-1
10
1
0
0
0
0
0
0
0
0
0
-2
-20
30
-2
-6
-1
-1
0
0
0
0
0
0
0
0
0
12
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-22
1
4
5
-10
0
0
0
0
0
0
0
0
0
0
0
22
101
-37
23
30
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
50
17
-8
23
0
0
-2
0
0
0
0
0
0
0
0
-25
-6
30
23
-2
3
5
0
-2
0
0
0
0
0
0
0
0
-4
-93
-2
-12
4
82
66
-17
-12
0
0
0
0
0
0
0
0
2
-58
24
0
56
17
8
4
2
0
0
0
0
0
0
0
0
4
-13
0
-24
0
8
-8
-5
0
0
0
0
0
0
0
0
0
-3
0
42
-7
13
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
28
-18
28
5
0
0
0
0
0
0
0
0
0
0
0
0
5
31
-5
-97
0
3
0
0
0
2
0
0
0
0
0
0
0
41
-14
98
0
45
-27
0
-1
3
0
0
0
0
0
0
0
0
3
-9
8
-18
29
30
0
2
-3
1
0
0
0
0
0
0
0
-3
-12
18
0
-20
-1
-3
0
15
0
0
0
0
0
0
0
0
-2
1
21
-1
0
3
0
32
0
0
0
0
0
0
0
0
0
0
53
-16
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
15
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-53
56
29
-5
0
0
0
0
0
0
0
0
0
0
0
0
8
33
-15
5
21
0
1
2
4
0
0
0
0
0
0
0
0
12
44
16
46
-52
-4
10
1
0
0
0
0
0
0
0
0
0
-16
50
-28
-72
0
-4
0
-6
0
0
0
0
0
0
0
0
0
-2
14
47
-32
17
0
0
0
0
0
0
0
0
0
0
0
0
0
11
16
-22
0
2
0
-6
5
0
0
0
0
0
0
0
0
0
8
8
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
0
22
3
3
0
0
0
0
0
0
0
0
0
0
0
17
49
-7
-10
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-21
4
-13
-1
0
0
3
0
0
0
0
0
0
0
0
21
-9
17
-27
20
32
-2
0
-5
0
0
0
0
0
0
0
0
15
-18
-52
-7
-1
-5
0
0
0
0
0
0
0
0
0
0
0
21
48
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
4
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-14
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
-12
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
-13
23
28
-6
-5
-4
0
0
-1
0
0
0
0
0
0
0
0
24
69
-18
49
8
0
1
0
0
0
0
0
0
0
0
0
0
-3
-8
-16
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
49
6
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
8
3
4
10
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
17
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
-1
64
-27
-43
17
4
0
0
-1
0
0
0
0
0
0
0
0
14
-33
-13
5
-18
-9
1
2
-10
0
0
0
0
0
0
0
0
0
-2
-17
-43
-3
20
-12
0
12
0
0
0
0
0
0
0
0
-5
2
-1
-60
-62
-8
-8
6
-29
0
0
0
0
0
0
0
0
0
7
3
79
0
23
0
2
-25
0
0
0
0
0
0
0
0
0
-1
-31
-6
48
-4
1
0
2
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-8
-30
22
41
63
0
0
0
0
0
0
0
0
0
0
0
30
47
10
7
-46
8
0
0
0
0
0
0
0
0
0
0
4
8
-46
4
66
-29
-17
-1
1
47
0
0
0
0
0
0
0
0
-3
-9
-7
-83
-35
-85
-70
-41
37
0
0
0
0
0
0
0
47
62
-31
-54
46
15
84
32
3
37
0
0
0
0
0
0
0
0
85
0
85
-5
47
-65
41
-49
-15
0
0
0
0
0
0
0
0
0
-94
23
30
-31
43
-16
35
-16
0
0
0
0
0
0
0
0
-18
1
74
3
0
0
-13
-7
2
0
0
0
0
0
0
0
0
-15
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
64
-3
-6
3
10
0
0
0
-3
0
0
0
0
0
0
-1
31
-34
-23
-30
-68
9
0
0
0
-9
0
0
0
0
0
0
0
8
8
45
-12
9
9
-4
0
-9
7
0
0
0
0
0
0
0
46
-6
83
24
5
4
-14
-19
-8
0
0
0
0
0
0
0
0
13
-7
-11
-20
-90
75
28
-4
53
-7
0
0
0
0
0
0
0
0
7
5
-41
-58
9
6
43
-18
0
0
0
0
0
0
0
-5
19
0
19
-30
42
2
-4
29
-2
0
0
0
0
0
0
0
4
0
39
0
6
6
-5
-3
0
0
0
0
0
0
0
0
0
0
8
-4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
42
48
-5
65
2
-7
0
0
0
0
0
0
0
0
0
0
0
21
14
95
60
13
-4
0
0
0
0
-2
0
0
0
0
0
0
21
-3
-42
63
-2
20
0
0
0
2
0
0
0
0
0
0
0
-43
-60
-43
-24
2
0
-2
6
25
0
0
0
0
0
0
0
0
-1
18
13
44
-20
-20
4
-9
-17
0
0
0
0
0
0
0
0
42
1
3
-3
-8
-9
-19
-14
27
0
0
0
0
0
0
0
0
0
71
0
-9
-4
3
2
2
0
0
0
0
0
0
0
0
0
0
0
-23
0
44
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-10
0
5
0
0
0
0
0
0
0
0
0
0
0
46
25
-22
-4
1
-6
0
0
0
0
0
0
0
0
0
0
5
2
-10
-47
23
7
-1
-2
0
-20
-1
0
0
0
0
0
0
0
14
34
98
24
-6
0
0
-5
0
0
0
0
0
0
0
0
-8
-8
-12
13
20
-31
23
-21
13
0
0
0
0
0
0
0
0
0
3
-3
-2
20
5
8
0
-9
-1
-2
0
0
0
0
0
0
0
0
0
-10
0
4
0
1
1
0
0
0
0
0
0
0
0
0
0
6
0
5
0
0
0
0
0
0
0
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
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-29
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-39
13
13
-42
0
-1
25
0
0
0
0
0
0
0
0
9
0
-49
-13
53
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-3
-19
1
4
0
0
0
0
0
0
0
0
0
0
0
14
-2
2
0
23
0
0
1
-8
0
0
0
0
0
0
0
0
0
1
0
8
0
1
0
9
0
0
0
0
0
0
0
0
0
0
5
49
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
18
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
57
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-2
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
13
5
-3
0
0
0
0
0
0
0
0
0
0
1
7
-1
-17
-15
8
-4
6
0
0
0
0
0
0
0
0
0
7
38
5
-4
0
1
0
0
14
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
8
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
61
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
43
-8
2
0
19
-1
0
2
0
0
0
0
0
0
0
0
0
2
-2
8
31
1
-3
3
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
5
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
-2
0
1
0
0
4
0
0
0
0
0
0
0
0
0
-7
-1
-5
1
4
2
0
0
0
0
0
0
0
0
0
0
0
9
16
28
4
0
22
0
-15
0
0
0
0
0
0
0
0
-2
0
-100
-3
-9
-1
0
13
0
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
60
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
-2
32
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
1
0
0
0
0
0
0
0
0
0
0
0
0
1
77
-1
21
1
1
0
0
0
0
0
0
0
0
0
0
0
4
-7
40
4
-53
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
8
73
-8
45
0
-1
-12
0
0
0
0
0
0
0
0
49
0
-7
-5
-9
-27
18
8
12
0
0
0
0
0
0
0
0
2
21
0
5
-3
1
15
13
-30
0
0
0
0
0
0
0
0
4
0
-22
-16
-17
-9
6
-15
8
0
0
0
0
0
0
0
0
0
8
0
-3
0
-29
1
23
0
0
0
0
0
0
0
0
0
0
0
-31
8
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
101
-7
138
3
-9
0
0
0
0
0
0
0
0
0
0
0
59
3
2
-13
-9
-42
0
1
0
0
0
0
0
0
0
0
4
-37
3
-41
76
53
-48
1
-1
66
0
0
0
0
0
0
0
0
79
66
-6
26
-25
4
-25
19
22
0
0
0
0
0
0
0
-42
47
-71
-35
-29
20
-25
13
42
-78
0
0
0
0
0
0
0
0
6
36
-43
-22
9
-85
27
27
12
0
0
0
0
0
0
0
0
-8
6
-42
48
6
-40
69
-21
-27
0
0
0
0
0
0
0
0
0
7
29
-3
-27
0
-8
1
0
0
0
0
0
0
0
0
0
-2
0
-7
4
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
2
12
-9
5
4
0
0
0
0
0
0
0
0
0
0
0
-47
-12
-40
40
-2
5
0
0
0
-25
0
0
0
0
0
0
22
-2
75
19
46
16
-66
1
-5
-42
-12
0
0
0
0
0
0
2
6
5
-55
-38
-11
-7
-18
2
-10
2
0
0
0
0
0
0
-29
5
8
21
-23
57
-35
-12
14
-25
6
0
0
0
0
0
0
0
51
-20
116
27
-35
-53
33
-2
44
0
0
0
0
0
0
0
0
0
36
0
22
43
53
33
-15
3
0
0
0
0
0
0
0
0
46
0
24
-5
4
2
0
0
2
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
33
13
28
-8
0
0
0
0
0
0
0
0
0
0
0
39
31
5
106
-7
-27
0
0
4
0
0
0
0
0
0
0
0
23
8
11
12
28
-8
3
4
8
0
0
0
0
0
0
0
0
0
60
-27
25
-50
6
-10
-2
5
0
0
0
0
0
0
0
0
-3
-8
-75
41
-3
-5
-9
-3
0
0
0
0
0
0
0
0
0
0
0
48
0
-9
-42
-1
4
-3
0
0
0
0
0
0
0
0
0
-4
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
18
1
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
-34
-10
45
0
-2
0
0
9
0
0
0
0
0
0
0
0
25
4
18
1
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
41
-5
-9
-8
3
0
0
0
0
0
0
0
0
0
0
-10
0
-27
2
-9
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-22
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
46
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-25
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
3
3
5
4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
43
5
59
0
-7
0
0
0
0
0
0
0
0
0
0
0
3
-12
18
6
69
-9
0
0
-2
0
0
0
0
0
0
0
0
0
30
8
81
-61
19
2
0
-4
0
0
0
0
0
0
0
0
49
8
-33
-25
-31
-24
-12
-9
2
0
0
0
0
0
0
0
0
1
5
21
5
-47
-38
1
1
-25
0
0
0
0
0
0
0
0
0
-47
44
-12
-5
-6
-7
-4
3
0
0
0
0
0
0
0
0
0
0
-9
-43
-1
-9
0
17
0
0
0
0
0
0
0
0
0
0
1
-26
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
9
4
0
0
0
0
0
0
0
0
0
0
0
0
21
1
96
5
-8
0
0
0
0
-4
0
0
0
0
0
0
0
0
-20
-9
-9
7
-3
-1
0
4
1
0
0
0
0
0
0
0
-9
-21
43
-8
-23
0
-27
0
-13
0
0
0
0
0
0
0
0
0
-16
-7
-80
-4
9
22
3
5
0
0
0
0
0
0
0
0
0
0
6
3
66
5
0
3
3
0
0
0
0
0
0
0
0
0
0
0
-8
2
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-27
0
-9
-1
0
0
0
0
0
0
0
0
0
0
17
0
21
7
12
5
-13
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-18
0
-5
-8
-13
-5
0
0
0
0
0
0
0
0
0
-5
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
0
0
1
1
-8
-15
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-1
5
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-5
7
-8
0
-3
0
0
0
0
0
0
0
0
-16
12
-1
1
19
4
-20
-6
31
0
0
0
0
0
0
0
0
17
0
3
0
3
-49
-55
16
0
0
0
0
0
0
0
0
0
2
0
1
-12
25
-4
5
-7
29
0
0
0
0
0
0
0
0
-8
0
0
0
-4
13
2
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-37
-2
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
9
2
0
10
0
0
0
0
0
0
0
0
0
3
-1
-5
0
37
-19
0
27
0
0
0
0
0
0
0
0
-4
0
1
-8
24
-18
-23
-19
5
0
0
0
0
0
0
0
0
-1
0
0
-2
20
24
25
-9
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
25
14
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
5
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
-19
-31
-37
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
-25
-12
1
0
0
0
0
0
0
0
0
1
0
0
0
-5
4
1
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-29
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
4
0
0
0
0
0
0
0
0
5
-8
0
-4
-1
17
1
4
0
-1
0
0
0
0
0
0
0
0
0
4
3
-7
2
8
-18
-1
0
0
0
0
0
0
0
0
-1
0
0
2
0
3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
5
8
0
-1
0
0
0
0
0
0
0
0
-1
1
3
0
4
-6
-10
-9
-2
0
0
0
0
0
0
0
0
0
8
-1
3
-8
-1
16
-9
3
0
0
0
0
0
0
0
0
0
0
6
0
-8
-1
-1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
0
-9
5
-39
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
5
10
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
-2
-1
-8
9
0
0
0
0
0
0
0
0
0
12
0
4
-12
5
7
3
-13
37
0
0
0
0
0
0
0
0
-4
0
0
5
-19
14
-49
30
6
0
0
0
0
0
0
0
0
-2
0
0
-1
-2
-1
-5
-42
-1
0
0
0
0
0
0
0
0
-2
0
0
0
15
-1
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-16
31
35
1
3
0
13
0
0
0
0
0
0
0
-1
3
-1
56
9
59
-15
-59
13
15
0
0
0
0
0
0
0
0
10
-6
0
-4
74
35
54
10
4
0
0
0
0
0
0
0
0
10
-1
-8
-14
3
6
-11
-2
18
0
0
0
0
0
0
0
0
39
0
4
4
-1
-4
-7
19
-2
0
0
0
0
0
0
0
0
-6
1
0
-3
-24
5
3
-5
12
0
0
0
0
0
0
0
0
0
0
1
-4
0
-10
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
2
-2
-16
16
-17
0
-12
5
0
0
0
0
0
0
2
17
0
39
27
69
56
-13
-8
23
0
0
0
0
0
0
0
0
0
-3
1
0
-31
50
71
14
-8
0
0
0
0
0
0
0
0
0
-4
-1
0
1
2
13
8
-5
-1
0
0
0
0
0
0
0
-8
0
0
0
-1
21
31
-31
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
2
-25
10
1
1
0
0
0
0
0
0
0
0
0
0
4
-6
3
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
71
7
-1
-4
0
-16
-2
0
0
0
0
0
0
0
-1
-8
0
-6
5
49
-22
-32
1
7
0
0
0
0
0
0
0
1
0
4
-3
31
-37
13
-18
-14
-1
0
0
0
0
0
0
0
0
-4
-3
-5
-2
8
-32
-35
3
0
0
0
0
0
0
0
0
-8
0
1
1
-4
3
-8
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
0
0
0
-4
-2
-6
0
-6
0
0
0
0
0
0
0
6
0
-4
-5
-1
13
-20
-16
12
16
-2
1
0
0
0
0
0
0
0
0
1
7
14
8
8
54
-1
0
0
0
0
0
0
0
0
-1
0
1
0
-2
1
34
-6
14
0
0
0
0
0
0
0
0
0
0
0
-2
-5
3
-6
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-4
10
7
8
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
-8
2
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
10
6
-17
0
3
-2
0
0
0
0
0
0
0
5
0
-5
8
-8
20
-15
72
8
-4
0
0
0
0
0
0
-2
-1
-17
39
-2
-12
-2
-47
6
-2
0
0
0
0
0
0
0
0
2
0
-1
0
-27
6
-23
10
8
0
0
0
0
0
0
0
0
1
1
2
0
0
10
3
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
1
6
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
-6
4
6
0
-10
0
0
0
0
0
0
0
0
0
3
-1
16
19
16
1
63
5
-1
0
0
0
0
0
0
0
1
5
-5
5
9
15
-18
-49
-2
0
0
0
0
0
0
0
0
2
0
2
0
-25
42
31
2
49
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-2
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
27
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-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
1
1
-2
0
-5
1
0
0
0
0
0
0
0
0
1
-8
-8
-3
-9
0
39
1
-4
0
0
0
0
0
0
0
1
0
0
0
0
7
-42
0
1
-1
0
0
0
0
0
0
0
0
2
0
-1
-1
-1
-1
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-30
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-2
6
1
0
0
-1
0
0
0
0
0
0
-1
0
0
2
-4
43
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
1
0
9
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
14
28
25
1
0
0
0
0
0
0
0
0
0
-2
0
-5
-17
30
-1
30
-43
-39
0
0
0
0
0
0
0
0
0
0
0
1
-5
10
53
3
-4
0
0
0
0
0
0
0
0
-3
0
2
1
0
0
-4
4
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-1
-8
-16
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
57
42
-29
13
0
-20
0
0
0
0
0
0
0
-8
10
-1
-7
-43
-13
36
-30
23
7
0
0
0
0
0
0
0
0
-2
-4
29
2
-37
1
23
-16
0
0
0
0
0
0
0
0
0
23
16
4
8
8
-6
41
17
9
0
0
0
0
0
0
0
0
6
0
4
-3
-8
-26
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-59
-12
6
4
0
0
0
0
0
0
0
0
0
0
0
-2
5
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
-1
-6
-4
27
37
0
-1
-1
0
0
0
0
0
0
0
-5
-1
-2
25
55
-28
29
-6
-3
-9
0
0
0
0
0
0
0
8
0
1
-19
-8
6
-23
-49
32
-3
0
0
0
0
0
0
-1
0
0
-3
-13
-53
12
-10
41
-7
-1
0
0
0
0
0
0
0
0
0
-1
0
0
6
13
5
4
0
0
0
0
0
0
0
0
0
0
1
0
20
-6
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
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
5
10
6
0
-8
-1
0
0
0
0
0
0
-2
0
9
4
-10
-19
-1
-5
12
-42
-2
0
0
0
0
0
0
0
0
-5
0
0
-12
-8
28
86
4
0
0
0
0
0
0
0
0
3
6
-2
16
-5
5
-7
13
-12
0
0
0
0
0
0
0
0
1
0
0
4
0
25
24
12
8
0
0
0
0
0
0
0
0
0
0
0
0
1
1
53
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
-1
3
0
-8
0
0
0
0
0
0
0
0
3
0
0
0
29
-14
-5
-32
-4
-1
0
0
0
0
0
0
0
-1
-4
-1
0
-6
23
25
43
-2
0
0
0
0
0
0
0
0
0
-1
0
2
-10
7
8
-4
-1
-1
0
0
0
0
0
0
0
-4
0
0
0
9
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-33
8
0
32
0
0
0
0
0
0
0
2
0
0
3
0
-8
-8
19
42
32
0
0
0
0
0
0
0
0
8
0
2
25
0
8
-25
76
-20
0
0
0
0
0
0
0
0
0
0
1
12
34
-14
9
3
-8
0
0
0
0
0
0
0
0
0
2
0
-1
-2
-12
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
2
0
0
0
0
0
0
0
0
0
-5
1
-1
-1
0
11
31
7
0
0
0
0
0
0
0
0
0
-25
-1
0
-5
-1
22
-9
-8
0
0
0
0
0
0
0
0
15
3
0
1
-9
49
6
9
7
0
0
0
0
0
0
0
0
6
-4
0
0
-1
8
-8
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
16
0
1
0
0
0
0
0
0
0
0
1
0
5
-16
4
5
-13
4
1
0
0
0
0
0
0
0
0
0
0
1
-27
-1
50
0
-23
-8
0
0
0
0
0
0
0
0
0
0
23
-3
15
17
-2
16
5
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
-19
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
1
0
0
0
0
0
0
0
0
0
3
2
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
25
0
25
0
0
0
0
0
0
0
0
0
0
-2
3
-8
-49
-6
12
0
0
0
0
0
0
0
0
0
0
0
0
2
0
31
54
0
0
0
0
0
0
0
0
0
0
0
0
-19
8
7
-1
-9
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
6
-12
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
0
2
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
44
50
-43
4
0
0
0
0
0
0
0
0
0
-1
2
-2
-2
71
47
-35
-14
-17
0
0
0
0
0
0
0
0
-2
-2
-1
-22
1
-10
21
21
-46
0
0
0
0
0
0
0
0
0
0
-12
5
2
-31
10
-45
0
0
0
0
0
0
0
0
0
-5
0
0
-7
22
-5
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
5
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
0
-1
5
69
7
0
-29
0
0
0
0
0
0
0
0
20
1
-18
25
25
65
78
-28
85
0
0
0
0
0
0
0
2
8
19
0
-2
-13
-13
48
36
-5
0
0
0
0
0
0
0
0
0
33
25
86
-1
35
1
-90
-5
0
0
0
0
0
0
0
-2
-25
-2
6
5
-1
43
92
15
0
0
0
0
0
0
0
0
0
-3
4
-10
0
3
10
-5
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-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
3
-5
48
-37
0
-20
0
0
0
0
0
0
0
0
15
6
0
-3
72
47
15
37
-8
3
0
0
0
0
0
0
0
3
0
5
-13
-20
13
76
53
-22
0
0
0
0
0
0
0
0
8
0
24
13
30
-12
203
-9
-6
2
0
0
0
0
0
0
0
0
-4
-4
-10
19
48
34
27
0
0
0
0
0
0
0
0
0
23
-3
-2
-1
0
-8
62
-12
0
0
0
0
0
0
0
0
0
0
0
0
9
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
-3
-55
8
0
-52
-3
0
0
0
0
0
0
0
-2
0
2
-27
31
22
66
72
-6
2
0
0
0
0
0
0
0
14
0
1
-10
-29
29
-13
-4
1
0
0
0
0
0
0
0
0
-3
8
0
3
17
23
16
25
13
1
0
0
0
0
0
0
0
0
0
0
-4
-5
63
25
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
43
-12
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-13
1
0
-5
-1
0
0
0
0
0
0
0
0
0
3
1
29
18
58
-11
5
-8
0
0
0
0
0
0
0
-4
1
-18
-3
-26
-59
27
72
33
0
0
0
0
0
0
0
0
0
-3
4
0
5
-23
-46
-8
25
0
0
0
0
0
0
0
0
-3
0
0
-8
0
0
-35
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-17
1
-3
1
0
0
0
0
0
0
0
0
0
0
1
8
0
0
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
25
0
0
0
0
0
0
0
0
0
0
-2
0
0
-7
12
-1
-3
-13
4
0
0
0
0
0
0
0
0
0
0
0
-4
1
-6
1
10
-2
0
0
0
0
0
0
0
0
0
-4
0
-4
0
-1
15
3
21
0
0
0
0
0
0
0
0
0
0
6
4
-12
-4
-7
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
2
8
0
1
5
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
5
-16
17
0
1
-2
0
0
0
0
0
0
0
0
0
4
-16
-4
-5
-9
37
-4
0
0
0
0
0
0
0
0
0
1
6
0
4
-38
-50
-38
9
0
0
0
0
0
0
0
0
0
-7
-1
-1
5
0
1
58
-9
0
0
0
0
0
0
0
0
0
-8
-3
2
2
-47
2
9
-2
0
0
0
0
0
0
0
0
3
6
0
0
5
-12
28
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
5
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
-10
1
4
0
14
0
0
0
0
0
0
0
0
4
-2
0
0
0
-3
34
-30
-5
0
0
0
0
0
0
0
0
-13
1
0
1
-35
-4
71
-4
-12
0
0
0
0
0
0
0
0
0
0
0
2
-35
-7
0
9
-33
0
0
0
0
0
0
0
0
0
0
2
-20
-5
-6
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-15
6
0
0
0
0
0
0
0
0
1
0
0
2
0
0
2
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
-8
-1
-1
0
0
0
0
0
0
0
0
-13
0
-2
0
0
-24
-14
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
2
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
5
-6
1
-9
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
16
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-1
6
0
-20
0
0
0
0
0
0
0
0
0
-3
-2
0
8
43
20
-10
23
-18
0
0
0
0
0
0
0
0
10
-1
56
-17
92
102
-5
8
12
0
0
0
0
0
0
0
0
7
0
-17
-1
-10
51
-34
-14
-1
0
0
0
0
0
0
0
0
0
-2
-3
14
13
0
-44
6
1
0
0
0
0
0
0
0
0
3
0
0
-14
10
-20
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
68
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
7
50
-58
0
1
0
0
0
0
0
0
0
2
-20
0
-5
9
74
-5
45
-19
11
0
0
0
0
0
0
0
-2
-27
-2
-31
55
-53
-2
-10
-9
-25
0
0
0
0
0
0
0
1
3
-8
13
-13
5
-20
-24
-14
83
0
0
0
0
0
0
0
4
0
6
50
-46
45
54
54
18
-20
0
0
0
0
0
0
0
0
-42
-6
15
-35
57
-14
46
4
0
0
0
0
0
0
0
0
0
1
-2
0
53
-10
50
-1
-8
0
0
0
0
0
0
0
0
0
0
-1
4
0
5
48
8
-1
8
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
0
-2
0
-2
21
-40
-42
0
25
-8
0
0
0
0
0
0
0
-2
-1
-3
-4
9
93
-31
80
1
15
0
0
0
0
0
0
0
-3
10
8
13
-8
52
53
-59
-10
-14
0
0
0
0
0
0
0
4
-8
24
-49
14
-7
19
112
125
5
0
0
0
0
0
0
1
2
0
-1
42
16
95
-14
-4
9
0
0
0
0
0
0
0
0
0
13
6
3
6
-22
42
9
0
0
0
0
0
0
0
0
0
0
0
2
3
21
-8
-3
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
11
-7
0
7
3
0
0
0
0
0
0
0
1
7
4
-17
34
24
-53
-13
51
9
0
0
0
0
0
0
0
0
0
0
4
-7
13
-5
114
25
6
0
0
0
0
0
0
0
-1
0
0
-13
1
4
54
-13
-27
0
0
0
0
0
0
0
1
6
19
0
26
8
22
-5
30
2
0
0
0
0
0
0
0
0
-1
0
2
-5
-8
15
29
5
16
0
0
0
0
0
0
0
0
0
0
0
-8
1
134
0
50
0
0
0
0
0
0
0
0
0
0
0
-8
0
-3
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
24
-42
0
8
0
0
0
0
0
0
0
0
0
0
0
1
-13
-30
-4
-11
-19
9
0
0
0
0
0
0
0
0
0
1
-2
-24
-16
8
30
18
0
0
0
0
0
0
0
0
0
0
0
-2
7
-9
8
-20
5
0
0
0
0
0
0
0
0
0
0
-2
0
-6
19
46
13
-1
0
0
0
0
0
0
0
0
0
1
0
1
14
-4
6
-1
42
0
0
0
0
0
0
0
0
0
0
0
42
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
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
-27
-1
0
-1
8
0
0
0
0
0
0
0
0
0
0
12
75
-5
46
3
2
-7
0
0
0
0
0
0
0
0
0
0
8
-12
13
13
-37
3
0
0
0
0
0
0
0
0
-9
0
0
-6
-17
-4
58
15
-19
0
0
0
0
0
0
0
-4
18
4
0
2
0
-4
-8
13
0
0
0
0
0
0
0
0
0
0
0
3
-1
16
-17
7
0
-8
0
0
0
0
0
0
0
0
0
0
0
6
-14
-12
-1
7
0
0
0
0
0
0
0
0
0
0
2
8
0
3
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
31
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-13
-60
95
26
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
42
-42
-19
6
0
0
0
0
0
0
0
0
0
1
0
-1
-43
1
13
-6
14
0
0
0
0
0
0
0
0
7
0
0
4
-3
0
0
17
0
0
0
0
0
0
0
0
0
5
7
13
8
9
-2
12
24
-3
0
0
0
0
0
0
0
0
0
0
0
-2
6
14
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
-18
0
4
0
0
0
0
0
0
0
0
0
0
8
-3
9
-42
-13
-56
0
0
0
0
0
0
0
0
0
0
1
0
1
17
8
37
5
0
0
0
0
0
0
0
0
0
0
0
0
8
-24
0
-6
25
33
0
0
0
0
0
0
0
0
3
0
0
0
0
32
0
-5
0
0
0
0
0
0
0
0
0
0
0
4
-4
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
19
-7
26
46
53
0
0
0
0
0
0
0
0
0
0
1
0
0
-10
-12
2
5
0
0
0
0
0
0
0
0
3
0
0
19
29
20
-6
4
20
0
0
0
0
0
0
0
0
3
0
-8
-6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
9
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
9
-9
14
41
25
0
0
0
0
0
0
0
0
0
-25
0
0
-7
20
-58
-16
18
78
0
0
0
0
0
0
0
0
4
0
0
-4
7
-27
58
5
9
0
0
0
0
0
0
0
0
5
0
5
41
-7
6
52
71
-13
0
0
0
0
0
0
0
0
-4
0
-1
25
-27
4
-50
0
17
0
0
0
0
0
0
0
0
0
2
1
83
-30
-2
-1
61
0
0
0
0
0
0
0
0
0
-7
8
3
0
41
1
50
19
27
0
0
0
0
0
0
0
0
0
0
0
7
3
13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-41
27
0
0
-43
0
0
0
0
0
0
0
-4
13
-5
5
-45
-35
105
24
-19
-39
0
0
0
0
0
0
0
6
75
-8
-14
34
46
10
70
11
93
0
0
0
0
0
0
0
-2
7
8
15
-27
13
13
17
-94
-3
0
0
0
0
0
0
0
2
16
42
34
42
55
32
10
2
13
0
0
0
0
0
0
0
0
0
-6
-46
50
15
40
46
-48
-20
0
0
0
0
0
0
0
1
0
5
-1
34
-4
45
4
-84
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-8
16
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
20
5
32
0
17
-6
0
0
0
0
0
0
1
-1
2
-4
-10
91
36
-23
-44
76
-47
0
0
0
0
0
0
0
-6
-2
-3
19
74
18
96
-3
-6
-3
0
0
0
0
0
0
-1
0
0
6
-20
46
-11
-23
20
6
1
0
0
0
0
0
0
0
-7
-13
23
-30
37
-48
21
57
72
0
0
0
0
0
0
0
8
-29
0
17
-41
20
51
-61
-2
80
0
0
0
0
0
0
0
0
2
-20
0
95
-41
32
46
59
-3
0
0
0
0
0
0
0
0
0
0
0
0
43
25
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
49
-33
8
0
6
0
-1
0
0
0
0
0
0
2
0
0
21
25
11
11
45
0
-46
0
0
0
0
0
0
0
5
0
-1
-27
-5
60
-58
-13
44
0
0
0
0
0
0
0
0
4
-3
3
17
25
66
37
16
-33
0
0
0
0
0
0
0
0
-13
1
-13
2
5
86
80
1
1
1
0
0
0
0
0
0
0
0
2
0
25
-18
57
-22
29
8
2
0
0
0
0
0
0
0
23
5
-4
33
-6
-22
22
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
15
0
-10
-1
0
0
0
0
0
0
0
0
0
0
-3
-53
-20
-41
-14
-13
-15
0
0
0
0
0
0
0
0
0
-1
6
-30
28
24
17
-9
0
0
0
0
0
0
0
0
0
0
0
-5
16
37
-26
-5
-5
0
0
0
0
0
0
0
0
0
0
4
-4
-43
24
4
-12
0
0
0
0
0
0
0
0
0
33
32
-7
0
51
-24
128
12
0
0
0
0
0
0
0
0
-2
0
0
0
7
1
16
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
14
-21
-1
68
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
25
45
-14
2
0
0
0
0
0
0
0
0
0
0
8
1
5
-19
13
-5
-7
0
0
0
0
0
0
0
2
8
5
5
-1
-1
16
5
54
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
-13
-13
6
-1
0
0
0
0
0
0
0
-1
0
-6
0
0
-6
13
0
-5
3
0
0
0
0
0
0
0
0
-10
-12
0
0
0
-3
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
2
-5
-12
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
-8
9
24
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-42
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
67
-3
-30
0
0
0
0
0
0
0
0
-6
-1
0
-3
0
31
1
58
0
0
0
0
0
0
0
0
0
0
19
0
0
4
0
8
-2
2
0
0
0
0
0
0
0
0
0
0
-1
3
0
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
42
45
4
0
0
0
0
0
0
0
0
0
0
0
3
30
-10
-2
-12
12
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-2
31
13
0
0
0
0
0
0
0
0
0
3
0
0
0
-17
-31
-10
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
4
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
-14
-2
0
0
0
0
0
0
0
0
0
0
0
-4
29
-12
-27
-2
0
0
0
0
0
0
0
0
-1
0
0
0
6
-24
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-2
-1
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
-2
17
0
0
0
0
0
0
0
0
0
0
23
0
0
2
14
-98
8
-8
-13
0
0
0
0
0
0
0
0
1
0
0
-1
-5
1
122
-20
14
0
0
0
0
0
0
0
0
-6
0
-3
25
1
-1
2
19
14
0
0
0
0
0
0
0
0
0
-8
1
-6
-8
-8
39
0
65
0
0
0
0
0
0
0
0
9
1
-6
3
8
12
-5
36
-3
0
0
0
0
0
0
0
0
0
0
-2
2
-37
0
-58
4
-6
0
0
0
0
0
0
0
0
0
-1
1
15
4
-3
-1
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
5
2
29
48
24
0
-8
0
0
0
0
0
0
0
0
-12
-1
-2
57
-82
80
-99
-29
52
0
0
0
0
0
0
0
0
20
2
-3
20
40
65
12
-106
-8
0
0
0
0
0
0
0
-3
-9
17
-9
12
30
-36
6
44
2
0
0
0
0
0
0
0
0
5
-24
8
-142
57
-32
-9
64
1
0
0
0
0
0
0
0
6
33
-22
8
-2
8
47
47
13
69
0
0
0
0
0
0
0
-3
0
25
27
51
42
64
-48
-41
-10
0
0
0
0
0
0
0
0
0
-13
17
1
100
-44
-3
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
0
0
0
0
4
-10
5
3
-9
110
0
12
6
0
0
0
0
0
0
-2
-3
-5
-2
-19
23
1
-74
-21
59
3
0
0
0
0
0
0
0
18
2
-1
2
-52
-17
-32
-37
46
-1
0
0
0
0
0
0
0
3
2
33
5
9
25
0
-6
-52
2
0
0
0
0
0
0
0
-3
0
20
1
52
-111
-5
4
9
0
0
0
0
0
0
0
-5
9
0
48
48
15
8
-1
39
20
-3
0
0
0
0
0
0
2
9
0
-22
2
-52
-11
-15
7
5
0
0
0
0
0
0
0
0
0
0
3
0
1
45
-39
9
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-37
-22
0
49
0
0
0
0
0
0
0
0
2
0
-1
31
-12
23
-47
42
-4
-10
0
0
0
0
0
0
0
0
0
-2
0
-42
-19
-24
40
0
0
0
0
0
0
0
0
0
-8
0
0
10
-22
-2
97
61
-13
0
0
0
0
0
0
0
0
4
0
45
24
4
31
-14
20
19
0
0
0
0
0
0
0
0
-2
5
19
7
11
75
-10
-2
5
0
0
0
0
0
0
0
0
-3
-17
0
-29
-1
-47
2
16
-3
0
0
0
0
0
0
0
0
5
0
0
0
-7
1
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
1
0
27
-1
0
0
0
0
0
0
0
0
0
0
0
8
25
-42
41
5
-18
0
0
0
0
0
0
0
0
0
0
5
-3
34
-4
31
-24
1
0
0
0
0
0
0
0
-4
0
0
-3
3
-10
94
-13
54
1
0
0
0
0
0
0
0
0
0
0
-3
-3
19
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
-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
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-9
-30
-20
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-1
-41
0
0
0
0
0
0
0
0
0
0
-2
0
0
17
4
26
8
-56
0
0
0
0
0
0
0
0
0
0
0
2
8
3
7
90
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
10
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
39
3
18
0
0
0
0
0
0
0
0
0
0
1
0
0
37
-7
-15
0
0
0
0
0
0
0
0
0
0
0
3
0
4
-2
28
2
5
0
0
0
0
0
0
0
0
34
-1
2
-4
6
-2
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
-4
-6
-22
-42
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
16
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-8
2
-1
0
0
0
0
0
0
0
0
1
0
0
-1
0
18
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
17
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
17
-4
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
30
0
-4
0
0
0
0
0
0
0
0
-9
0
0
0
-2
-8
0
8
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
-15
0
0
0
0
0
0
0
0
0
-8
0
0
-1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
6
25
0
0
0
0
0
0
0
0
-8
0
0
0
69
8
-49
-12
-20
0
0
0
0
0
0
0
0
1
-1
-1
23
-17
-56
10
-21
-3
0
0
0
0
0
0
0
0
17
-1
0
-5
-66
33
15
-3
-31
0
0
0
0
0
0
0
0
18
7
-5
-25
-7
-2
-7
17
-6
0
0
0
0
0
0
0
0
0
7
-29
-8
78
-8
-22
3
10
0
0
0
0
0
0
0
0
0
0
0
-79
6
41
-2
17
0
0
0
0
0
0
0
0
0
-3
-1
0
0
25
0
-6
0
3
0
0
0
0
0
0
0
0
0
0
-5
5
-12
-13
-72
24
0
1
0
0
0
0
0
0
0
0
25
3
3
26
28
-27
-33
27
-31
0
0
0
0
0
0
0
0
-49
0
0
52
-9
-5
-41
-89
9
0
0
0
0
0
0
0
0
2
0
-48
-5
-5
69
-23
4
-2
0
0
0
0
0
0
0
0
32
1
-14
-52
25
14
-32
-41
-42
0
0
0
0
0
0
0
2
-22
-24
28
21
53
-7
25
6
17
0
0
0
0
0
0
0
-2
1
19
30
53
43
-66
-7
66
0
0
0
0
0
0
0
0
0
0
3
17
-9
56
-35
15
-6
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
1
0
-18
0
0
0
0
0
0
0
0
0
-3
0
-4
10
35
-51
13
-5
-23
0
0
0
0
0
0
0
0
3
0
10
42
13
-16
-8
0
1
0
0
0
0
0
0
0
2
0
-1
32
-8
-24
94
65
55
-6
0
0
0
0
0
0
0
0
3
-7
18
5
-28
34
59
-5
8
0
0
0
0
0
0
0
14
27
31
42
-45
-8
-37
3
5
0
0
0
0
0
0
0
0
0
-2
0
49
-19
65
1
3
1
0
0
0
0
0
0
0
0
0
0
15
-3
31
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
30
0
0
0
0
0
0
0
0
0
-1
0
0
34
-7
-4
-27
6
7
0
0
0
0
0
0
0
0
0
0
-1
6
-45
-12
10
37
0
0
0
0
0
0
0
0
-3
0
0
0
4
10
-107
-21
-53
0
0
0
0
0
0
0
0
-3
0
-2
5
0
0
4
2
4
0
0
0
0
0
0
0
0
0
-2
0
5
-2
33
-8
7
7
0
0
0
0
0
0
0
0
0
2
14
-25
-10
25
-2
1
0
0
0
0
0
0
0
0
0
-2
-3
0
4
21
-6
1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
0
22
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
42
1
-141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
1
5
-1
0
0
0
0
0
0
0
0
0
1
-2
-7
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
2
18
6
0
0
0
0
0
0
0
0
0
-2
0
6
5
0
-9
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
7
7
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-44
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-63
23
-10
0
0
0
0
0
0
0
0
6
0
0
9
0
44
-13
8
-10
0
0
0
0
0
0
0
0
2
2
2
0
9
-7
13
7
-38
0
0
0
0
0
0
0
0
24
9
-22
15
-2
20
2
53
0
0
0
0
0
0
0
0
0
-5
0
0
5
22
25
-55
-6
6
0
0
0
0
0
0
0
0
0
0
25
42
-5
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
20
17
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-43
-22
2
1
0
0
0
0
0
0
0
0
0
0
-6
1
-6
4
23
20
2
0
0
0
0
0
0
0
-2
0
-1
0
0
4
-3
0
-9
0
0
0
0
0
0
0
0
0
0
2
-25
-2
31
-16
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-24
-9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
1
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
22
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-4
-4
-3
-17
-7
0
0
0
0
0
0
0
0
0
-8
0
24
8
2
0
-42
-17
0
0
0
0
0
0
0
0
0
0
0
-10
-20
-45
9
51
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-36
-47
-33
-9
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-59
-8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-30
-5
-16
11
0
0
0
0
0
0
0
0
0
0
0
66
-30
56
-76
32
72
0
0
0
0
0
0
0
0
0
0
0
-6
-8
-75
-28
-94
58
-34
-57
24
0
0
0
0
0
0
0
0
-44
-9
-122
-55
-15
-13
20
52
-6
0
0
0
0
0
0
0
0
-19
-26
-13
82
-55
52
-51
-31
1
0
0
0
0
0
0
0
0
-1
0
-5
71
23
-3
-88
-89
-61
0
0
0
0
0
0
0
0
0
0
22
14
19
-88
-66
-9
52
0
0
0
0
0
0
0
0
0
0
5
34
-6
75
60
-102
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-17
0
0
0
0
0
0
0
0
0
0
0
14
-62
42
17
0
0
0
0
0
0
0
0
0
0
0
-5
-44
-58
30
-24
-78
0
0
0
6
0
0
0
0
0
0
0
-39
9
-13
-18
87
40
-86
-6
51
7
0
0
0
0
0
0
0
-26
-26
19
-89
-43
-42
-11
-45
-47
10
0
0
0
0
0
0
0
-1
-67
-53
20
-17
22
22
-24
45
-42
0
0
0
0
0
0
0
-42
29
16
26
0
-29
-159
-47
-41
-2
0
0
0
0
0
0
0
0
-10
100
-3
29
-40
-34
66
-57
8
0
0
0
0
0
0
0
0
-3
-66
58
-6
57
-5
-54
-74
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
4
7
0
0
0
-1
0
0
0
0
0
0
0
0
-20
-1
32
10
-1
0
0
0
8
-1
0
0
0
0
0
0
0
-25
-2
0
-32
-4
-10
-63
49
10
0
0
0
0
0
0
0
-6
0
-67
51
49
-21
-3
4
10
-13
0
0
0
0
0
0
0
0
-1
-8
-6
-4
-31
13
-49
-15
-8
0
0
0
0
0
0
0
0
0
-14
-54
65
-27
-59
29
-41
27
0
0
0
0
0
0
0
0
0
-1
8
-27
-17
-120
2
-35
-7
0
0
0
0
0
0
0
0
0
4
14
8
-9
-75
15
-26
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
-13
0
-8
-23
0
0
0
0
0
0
0
0
0
0
0
-16
-40
22
-9
-48
2
0
0
0
-3
-2
0
0
0
0
0
0
0
-6
-12
-28
9
10
-54
24
-131
0
0
0
0
0
0
0
0
0
4
67
-41
-9
0
-59
-2
-60
0
0
0
0
0
0
0
0
0
25
0
-76
-52
26
3
-14
-106
-3
0
0
0
0
0
0
0
0
0
-4
52
-80
41
123
-49
-63
-2
0
0
0
0
0
0
0
0
5
-1
15
7
-25
-90
35
-77
-15
0
0
0
0
0
0
0
0
0
-8
-13
-4
2
-55
41
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
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
14
3
-2
9
0
0
0
3
0
0
0
0
0
0
0
0
4
1
1
0
0
14
-10
-16
1
0
0
0
0
0
0
0
0
0
0
22
-4
-17
-42
-13
50
2
0
0
0
0
0
0
0
0
0
-4
8
8
7
3
-5
-19
-3
0
0
0
0
0
0
0
0
0
1
0
5
-49
27
-6
-84
-2
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
41
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
5
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-17
8
-1
0
-1
-3
-3
0
0
0
0
0
0
0
0
0
0
-4
0
-2
9
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
-4
-8
-2
0
0
0
0
0
0
0
0
0
0
2
0
7
9
2
-10
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
34
13
7
2
0
0
0
0
0
0
0
0
0
0
0
2
-39
4
-24
25
6
0
0
0
0
0
0
0
0
0
0
0
0
64
-25
42
10
37
5
-83
0
0
0
0
0
0
0
0
0
2
-8
-35
-33
-86
13
-25
-66
0
0
0
0
0
0
0
0
0
0
12
-17
17
-33
-99
39
-64
0
0
0
0
0
0
0
0
0
0
0
0
31
-2
-30
-45
52
0
0
0
0
0
0
0
0
0
0
0
-5
-8
48
40
23
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-53
0
0
0
0
0
0
0
0
2
25
-78
55
-30
-107
17
0
0
0
0
0
0
0
0
0
0
-12
-3
-65
-61
-2
-99
5
0
0
0
0
0
0
0
0
0
0
5
23
60
-52
93
-38
12
54
43
24
0
0
0
0
0
0
0
0
29
15
6
28
-1
32
14
20
18
0
0
0
0
0
0
0
0
-5
31
-38
-28
115
-49
-69
-14
25
0
0
0
0
0
0
0
0
-5
-26
1
-19
-86
-71
-44
-57
-93
0
0
0
0
0
0
0
0
0
13
-1
39
89
47
-4
-78
23
0
0
0
0
0
0
0
0
0
0
0
13
7
-26
22
-21
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-80
-1
0
0
0
0
0
0
0
0
0
5
14
32
-58
8
0
0
0
6
0
0
0
0
0
0
0
-7
10
-14
-88
-75
-104
0
0
0
-4
0
0
0
0
0
0
0
0
35
-18
-61
-2
10
-58
-5
-133
-4
0
0
0
0
0
0
0
1
-8
-21
33
59
-14
100
-16
20
-5
0
0
0
0
0
0
0
-6
-30
50
-75
-65
-13
-102
20
3
2
0
0
0
0
0
0
0
-5
-34
-20
-60
21
-69
-23
-26
25
-37
0
0
0
0
0
0
0
0
-12
10
79
-60
-62
-78
-29
-39
8
0
0
0
0
0
0
0
0
0
5
53
-114
29
0
6
41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-4
-30
0
0
0
0
0
0
0
0
0
-3
-43
-50
3
45
0
0
0
4
0
0
0
0
0
0
0
1
-15
65
38
-53
-17
0
0
0
90
-1
0
0
0
0
0
0
-31
-42
49
-42
-31
26
48
-50
-15
-59
-2
0
0
0
0
0
0
-10
-7
-61
-3
-4
-30
-14
-73
47
-5
0
0
0
0
0
0
0
-5
15
9
-109
23
94
6
-89
-51
2
-4
0
0
0
0
0
0
0
30
-2
-7
-5
13
-52
-35
113
3
-3
0
0
0
0
0
0
0
0
5
6
-22
81
-84
-83
-66
25
0
0
0
0
0
0
0
0
0
0
1
4
2
-42
-63
-14
-9
0
0
0
0
0
0
0
0
0
0
0
-8
0
5
-13
10
1
0
0
0
0
0
0
0
0
5
8
26
13
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-49
76
-1
-31
0
0
0
-7
5
0
0
0
0
0
0
5
-7
15
82
74
65
-38
1
-13
-2
-4
0
0
0
0
0
0
0
24
6
51
5
54
-78
-48
-11
-1
-1
0
0
0
0
0
0
0
19
-85
29
-11
-38
-49
26
-21
5
-1
0
0
0
0
0
0
0
0
-2
-75
2
13
-82
74
-61
3
-1
0
0
0
0
0
0
0
0
0
4
24
67
38
-142
-29
-13
-3
0
0
0
0
0
0
0
0
0
0
0
1
-9
30
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-6
4
-31
0
0
0
-16
0
0
0
0
0
0
0
0
-7
-24
-10
-25
1
12
-59
23
-4
0
0
0
0
0
0
0
0
1
-2
32
-9
-84
0
-21
0
13
0
0
0
0
0
0
0
0
0
2
-13
-3
6
-40
10
-120
-7
0
0
0
0
0
0
0
0
0
-8
-18
1
24
-11
35
-50
0
0
0
0
0
0
0
0
0
0
1
-2
16
2
9
6
-49
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
0
-8
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
16
0
-9
-2
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-2
6
5
0
0
0
0
0
0
0
0
0
1
-1
7
10
-18
22
13
0
0
0
0
0
0
0
0
0
0
0
5
2
8
-3
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
19
2
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-31
-50
5
-7
-4
0
0
0
0
0
0
0
0
0
0
0
-1
19
35
-26
-7
-2
0
0
0
0
0
0
0
0
0
0
0
-2
66
-136
56
-13
-8
25
-84
0
0
0
0
0
0
0
0
0
0
2
-43
30
32
34
17
-186
0
0
0
0
0
0
0
0
0
-6
2
2
-7
-14
6
32
-130
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-18
-36
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
13
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-6
-44
-87
-18
64
49
-31
0
0
0
0
0
0
0
0
0
0
-1
-61
-34
-59
-50
-46
-52
0
0
0
0
0
0
0
0
0
0
0
0
60
75
-47
16
-64
-4
50
-15
0
0
0
0
0
0
0
-1
-6
46
9
-41
-46
-19
-42
-34
60
0
0
0
0
0
0
0
0
-31
-61
106
-7
87
-50
-92
-24
-4
0
0
0
0
0
0
0
-3
-2
-49
-1
18
51
69
-53
-24
-58
0
0
0
0
0
0
0
0
0
0
-42
-7
7
-40
7
92
63
0
0
0
0
0
0
0
0
0
0
1
-10
77
-13
-57
-72
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-7
0
0
0
0
0
0
0
0
-13
13
34
-31
-27
13
0
0
0
-2
0
0
0
0
0
0
0
7
-47
-21
-36
3
11
0
0
0
0
0
0
0
0
0
0
0
-2
-13
29
-12
-37
24
-7
-13
-23
1
0
0
0
0
0
0
0
-7
31
7
-18
13
-1
49
-4
-83
-24
0
0
0
0
0
0
0
-1
-25
-7
-75
-47
-50
-45
39
72
-4
0
0
0
0
0
0
0
0
3
42
-23
-76
21
-75
-28
-9
-1
0
0
0
0
0
0
0
0
0
-5
-7
2
-41
-61
-113
-110
25
0
0
0
0
0
0
0
0
0
-2
13
23
19
-27
-73
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
10
0
0
0
0
0
0
0
0
0
-20
-29
-83
5
19
0
0
0
3
-1
0
0
0
0
0
0
-8
-18
-34
-50
-38
-6
0
0
0
15
-9
0
0
0
0
0
0
8
-5
-9
-13
50
22
-49
22
-49
19
0
0
0
0
0
0
0
-6
42
33
24
19
-27
8
-98
-32
8
0
0
0
0
0
0
0
1
-25
-2
21
30
17
-32
32
-22
-13
0
0
0
0
0
0
0
0
-24
-31
-18
-78
-24
-13
-81
-42
-13
0
0
0
0
0
0
0
0
0
0
-3
-5
-8
-5
-100
-2
2
0
0
0
0
0
0
0
0
0
0
0
-5
2
-14
44
29
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
-6
-34
-26
-69
-24
0
0
0
0
4
0
0
0
0
0
0
0
5
-22
-92
29
-9
0
0
0
-1
2
0
0
0
0
0
0
2
6
-52
20
-9
6
37
-12
-19
-3
3
0
0
0
0
0
0
3
3
-34
19
31
-29
-13
20
-73
-3
0
0
0
0
0
0
0
0
1
-4
6
-38
-179
-5
17
-14
0
-1
0
0
0
0
0
0
0
0
-23
-14
-49
32
40
8
-27
0
8
0
0
0
0
0
0
0
0
-1
-7
0
8
111
-19
-30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
-2
3
0
1
0
0
0
3
0
0
0
0
0
0
0
0
-14
22
-1
-5
9
0
0
0
-9
1
0
0
0
0
0
0
0
0
-8
-1
8
-21
-25
-13
-47
-6
0
0
0
0
0
0
0
0
-5
-2
14
20
12
-4
-29
-13
-8
0
0
0
0
0
0
0
0
0
2
-7
-15
-70
-8
12
23
-4
0
0
0
0
0
0
0
0
0
-3
3
0
-20
-2
-7
-48
-23
1
0
0
0
0
0
0
0
0
0
0
0
-2
-27
-1
15
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
8
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
12
2
1
0
-10
-13
1
1
0
0
0
0
0
0
0
3
0
0
-1
3
5
-13
-5
-1
0
0
0
0
0
0
0
0
0
0
0
4
-2
43
3
12
-1
0
0
0
0
0
0
0
0
0
0
1
-9
3
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
-8
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
16
-4
1
0
0
0
0
0
0
0
0
-2
0
0
2
-8
6
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
23
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-4
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
-16
33
-18
2
13
0
0
0
0
0
0
0
0
0
0
0
7
-3
33
20
-16
-5
0
5
0
0
0
0
0
0
0
0
0
-2
0
34
42
-7
22
-21
-25
0
0
0
0
0
0
0
0
0
0
0
2
-3
22
-24
-2
-46
0
0
0
0
0
0
0
0
0
0
0
0
-13
20
29
-23
10
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-43
-41
-40
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
13
6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
1
39
13
8
-91
64
0
0
0
0
0
0
0
0
0
0
-4
21
19
-43
-60
-15
31
0
0
0
0
0
0
0
0
0
0
0
51
23
1
40
-75
-13
21
26
-8
0
0
0
0
0
0
0
0
-17
20
-20
-38
-13
-75
62
-2
-37
0
0
0
0
0
0
0
0
-54
35
-14
-105
10
-84
-22
-22
-3
0
0
0
0
0
0
0
0
0
28
-15
48
7
3
-64
-11
-10
0
0
0
0
0
0
0
0
0
12
-2
3
7
-43
-45
34
-45
0
0
0
0
0
0
0
0
0
0
0
0
-26
-83
-6
-54
-118
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
31
0
0
0
0
0
0
0
0
0
0
-51
-42
-44
-41
-18
0
0
0
0
0
0
0
0
0
0
0
-6
9
-35
-14
-22
13
0
0
0
-10
0
0
0
0
0
0
0
-7
22
33
-78
110
-93
-22
63
116
-7
0
0
0
0
0
0
0
0
0
6
-14
-15
-30
-43
75
23
25
0
0
0
0
0
0
0
0
-10
3
11
-12
-8
-143
25
79
6
0
0
0
0
0
0
0
4
2
-13
-42
-49
-33
17
-29
13
-7
0
0
0
0
0
0
0
0
1
2
-56
-14
-45
-15
6
-23
-7
0
0
0
0
0
0
0
0
0
0
1
-26
-31
-30
74
-25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
0
0
0
-5
3
31
-115
-63
-35
0
0
0
2
0
0
0
0
0
0
0
-22
1
111
-6
50
-34
0
0
0
20
2
0
0
0
0
0
-7
0
-34
-66
2
-37
22
-23
-83
28
3
0
0
0
0
0
0
2
12
0
0
-5
50
-1
26
-22
-65
-9
0
0
0
0
0
0
0
0
-1
3
-39
-37
-13
-70
39
17
3
-1
0
0
0
0
0
0
0
0
2
18
-30
27
-58
19
-3
-10
0
0
0
0
0
0
0
0
0
0
0
8
-4
59
88
-100
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
2
70
29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
9
1
-59
33
12
0
0
0
0
1
0
0
0
0
0
0
0
-60
-124
57
-40
56
0
0
0
-2
1
0
0
0
0
0
0
2
-7
-16
13
33
-29
25
28
31
-3
-6
0
0
0
0
0
0
1
-5
10
-10
19
-6
36
-42
30
0
1
0
0
0
0
0
0
0
1
5
-29
48
5
15
15
2
0
0
0
0
0
0
0
0
0
6
1
9
-46
-16
17
-5
0
-4
0
0
0
0
0
0
0
0
0
-7
0
0
75
4
16
29
1
0
0
0
0
0
0
0
0
0
0
0
6
6
25
-47
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-5
-32
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-23
-64
42
10
0
0
0
-24
0
0
0
0
0
0
0
0
14
3
27
45
5
-32
13
23
0
0
0
0
0
0
0
0
0
0
-10
0
0
-122
-55
43
-52
10
0
0
0
0
0
0
0
0
-3
0
-2
-22
-47
3
-58
-68
5
0
0
0
0
0
0
0
0
0
0
0
0
-29
35
27
-4
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-7
2
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
0
1
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
-2
0
-3
8
0
-3
0
0
0
0
0
0
0
1
0
5
0
0
-13
-48
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
9
-12
-3
0
0
0
0
0
0
0
0
0
0
-4
-7
0
-25
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-9
2
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-4
-1
4
1
0
0
0
0
0
0
0
0
0
-1
-4
2
-20
10
-1
1
7
0
0
0
0
0
0
0
0
0
0
1
-8
4
3
0
-94
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-16
-28
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-12
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-3
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
16
-1
-2
0
0
0
-1
0
0
0
0
0
0
0
0
1
-9
10
3
-4
1
-7
-9
0
0
0
0
0
0
0
0
0
-2
0
-29
-8
-31
-8
-23
-1
-3
0
0
0
0
0
0
0
0
3
0
5
0
-1
19
-8
87
0
0
0
0
0
0
0
0
0
0
-7
3
1
43
8
-48
43
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
5
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
16
-2
-9
-1
0
22
0
0
0
0
0
0
0
0
0
0
0
6
17
41
-53
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
19
-28
8
-69
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-13
-17
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-19
0
0
0
0
0
0
0
0
0
0
0
20
66
19
-25
0
0
0
0
0
0
0
0
0
0
0
-20
16
-12
-29
60
-8
0
0
0
0
0
0
0
0
0
0
0
-20
-7
6
43
-64
-41
-13
13
-63
0
0
0
0
0
0
0
0
7
-12
56
-61
-76
33
-54
-83
30
0
0
0
0
0
0
0
0
0
7
-19
68
14
25
2
-90
-99
0
0
0
0
0
0
0
0
0
-4
-130
5
-27
10
-34
126
-52
0
0
0
0
0
0
0
0
0
-12
-16
-2
6
-76
-85
-68
-72
0
0
0
0
0
0
0
0
0
-7
8
-8
-34
-3
92
9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
95
-3
0
0
0
0
0
0
0
0
6
-8
-10
-9
29
1
0
0
0
4
0
0
0
0
0
0
0
-9
15
-43
-5
75
5
0
0
0
9
0
0
0
0
0
0
0
-10
-67
30
-63
-5
-31
-9
-21
-25
2
0
0
0
0
0
0
0
0
-54
-4
25
5
-43
-67
30
44
-4
0
0
0
0
0
0
0
0
0
-93
-107
-43
44
76
-49
-48
0
0
0
0
0
0
0
0
1
42
6
13
-10
-24
-88
-112
-23
-2
0
0
0
0
0
0
0
1
0
13
-83
-5
-116
-41
18
25
20
0
0
0
0
0
0
0
0
0
0
-23
-42
-3
45
-64
-44
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-75
-17
0
0
0
0
0
0
0
0
0
-3
3
-60
42
5
0
0
0
3
0
0
0
0
0
0
0
0
10
31
25
8
4
0
0
0
14
0
0
0
0
0
0
0
0
7
4
-23
-51
43
2
19
-16
1
0
0
0
0
0
0
0
0
15
47
2
-36
-75
-10
-30
-87
-15
0
0
0
0
0
0
0
-14
0
0
18
-111
-104
-115
-29
-35
-9
0
0
0
0
0
0
0
-1
5
-3
30
-14
-94
-13
6
2
-42
8
0
0
0
0
0
0
0
0
0
5
-126
-77
-42
-31
-45
-15
0
0
0
0
0
0
0
0
0
0
-8
13
-5
20
31
84
101
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-20
-9
-3
0
0
0
0
0
0
0
0
1
13
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
31
-11
-53
-15
0
0
0
0
0
0
0
0
0
0
0
3
14
33
-24
25
25
39
-6
-86
3
-1
0
0
0
0
0
0
0
12
8
8
-42
-58
50
-42
76
-2
0
0
0
0
0
0
0
0
0
5
0
73
-63
-121
-32
-80
2
0
0
0
0
0
0
0
0
4
0
1
-31
94
-30
-42
61
0
0
0
0
0
0
0
0
0
0
0
5
27
-60
44
25
-45
-16
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
13
10
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-1
0
0
0
0
0
0
0
0
0
0
6
5
-3
2
0
0
0
-3
0
0
0
0
0
0
0
-9
0
29
5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
4
3
-4
14
-16
2
0
0
0
0
0
0
0
0
-3
4
0
-16
-7
-14
24
2
6
0
0
0
0
0
0
0
0
-12
1
0
0
41
-25
-58
27
-10
-1
0
0
0
0
0
0
0
1
0
-12
-14
14
-74
-32
-2
-12
0
0
0
0
0
0
0
0
0
-1
2
0
-34
-15
8
-91
-6
0
0
0
0
0
0
0
0
0
0
8
3
-5
16
3
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
10
-8
6
-1
-3
-4
14
0
-1
0
0
0
0
0
0
0
0
0
3
5
5
6
-7
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
56
-13
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-42
24
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
-3
-42
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
13
1
2
1
-7
-14
0
0
0
0
0
0
0
0
0
-1
-27
-5
-1
42
-30
8
-19
0
0
0
0
0
0
0
0
0
1
-2
2
13
-32
54
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
-57
-20
37
-14
1
0
0
0
0
0
0
0
0
0
0
0
7
8
-6
-24
-24
8
0
0
0
0
0
0
0
0
0
0
-2
0
3
3
1
-19
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
-4
4
-37
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
18
-5
-25
4
0
0
0
-2
0
0
0
0
0
0
0
0
7
-8
47
-14
-4
0
0
2
1
0
0
0
0
0
0
0
0
2
-2
-7
-41
5
-6
-33
-11
0
0
0
0
0
0
0
0
0
-6
-8
75
18
18
-27
25
0
-2
0
0
0
0
0
0
0
0
0
-1
-7
-26
-30
-55
23
-64
0
0
0
0
0
0
0
0
0
0
1
1
-14
13
-7
31
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
-3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-50
-6
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-1
2
-6
-30
19
-14
0
0
0
0
0
0
0
0
0
0
0
2
-3
-13
38
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-63
-56
-11
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
-34
-6
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
12
0
0
0
0
0
0
0
0
0
0
-15
16
-3
8
2
0
0
0
0
0
0
0
0
0
0
0
-9
-13
46
13
30
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-28
66
-13
9
-1
42
-61
0
0
0
0
0
0
0
0
-7
-42
-135
-67
-58
-51
-9
-34
9
0
0
0
0
0
0
0
0
0
-31
-8
-57
-27
-85
21
13
-13
0
0
0
0
0
0
0
0
0
6
-20
13
-86
29
-94
0
-59
0
0
0
0
0
0
0
0
-6
-2
-35
5
-125
20
-4
-85
28
0
0
0
0
0
0
0
0
0
-1
0
-23
-16
43
44
-23
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-19
2
0
0
0
0
0
0
0
0
0
24
-11
-25
-12
15
0
0
0
1
0
0
0
0
0
0
0
0
-5
-1
-10
-36
-13
0
0
0
-3
0
0
0
0
0
0
0
-9
-32
-16
41
-26
-79
-8
7
102
2
0
0
0
0
0
0
0
-30
-20
-25
-18
25
-60
-1
23
-133
0
0
0
0
0
0
0
0
5
9
-119
-11
-12
12
42
60
29
1
0
0
0
0
0
0
0
7
0
-21
-11
52
-43
-48
10
4
7
0
0
0
0
0
0
0
0
-10
-19
27
9
-6
40
-57
-47
-17
0
0
0
0
0
0
0
0
0
0
5
20
-3
-152
-30
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
41
31
0
0
0
0
0
0
0
0
0
-2
8
-16
-2
-4
0
0
0
22
0
0
0
0
0
0
0
0
4
-44
3
25
2
0
0
0
-3
0
0
0
0
0
0
0
-9
-5
9
20
2
-13
8
-13
21
0
0
0
0
0
0
0
0
0
-9
5
-37
18
-73
9
-33
-8
8
0
0
0
0
0
0
0
0
5
9
-24
1
-71
66
-24
-6
14
0
0
0
0
0
0
0
-3
-1
0
1
-85
13
-47
-21
-25
-23
-2
0
0
0
0
0
0
0
0
0
2
-9
18
78
-51
-16
-42
-4
0
0
0
0
0
0
0
0
0
0
-1
8
-57
21
-30
3
4
0
0
0
0
0
0
0
0
0
0
0
-1
-12
37
1
-8
0
0
0
0
0
0
0
0
-25
12
13
41
10
0
0
0
0
0
0
0
0
0
0
0
0
48
-3
10
64
23
0
0
0
1
0
0
0
0
0
0
0
-1
0
12
-143
-1
-3
-1
31
-59
0
2
0
0
0
0
0
0
0
0
23
24
8
59
7
-14
-14
1
0
0
0
0
0
0
0
0
5
-10
25
42
-56
111
7
-66
0
1
0
0
0
0
0
0
0
4
16
0
-8
49
-22
21
-44
0
-1
0
0
0
0
0
0
0
-6
-8
-6
27
31
-144
-48
-65
0
0
0
0
0
0
0
0
0
0
0
-8
0
-21
3
47
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
4
2
46
6
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
8
6
-7
18
-1
0
8
-1
0
0
0
0
0
0
0
0
0
0
-2
-5
-1
-5
20
14
0
0
0
0
0
0
0
0
0
-1
8
8
13
-23
-17
-104
-8
0
0
0
0
0
0
0
0
0
-6
-12
-5
0
30
-33
47
-41
-6
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-24
-2
-126
5
0
0
0
0
0
0
0
0
0
0
0
0
0
31
44
50
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
-4
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
-12
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
6
0
-14
1
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
7
-9
-8
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
2
-7
-96
16
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
1
-6
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-8
-1
0
-1
0
0
0
0
0
0
0
0
0
0
2
-1
-6
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
2
0
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
4
20
8
5
-3
0
0
0
0
0
0
0
0
0
0
0
-8
-30
43
5
-20
16
9
-4
1
0
0
0
0
0
0
0
0
4
0
-9
17
-37
9
-84
-10
-18
0
0
0
0
0
0
0
0
0
-8
-55
-55
0
-29
-90
48
-25
0
0
0
0
0
0
0
0
0
7
0
8
10
9
22
0
-51
0
0
0
0
0
0
0
0
0
0
-1
20
-2
-58
-22
-21
37
0
0
0
0
0
0
0
0
0
0
0
2
4
14
-19
-17
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
92
0
0
0
0
0
0
0
0
0
0
-20
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-11
-18
-9
-1
0
-1
0
0
0
0
0
0
0
0
0
8
16
-14
-7
-16
-12
-25
4
-4
0
0
0
0
0
0
0
0
0
-3
10
-1
-49
-12
-50
-27
0
0
0
0
0
0
0
0
0
0
0
-7
-6
57
-31
-5
0
8
0
0
0
0
0
0
0
0
0
0
1
0
6
-8
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
5
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-17
0
12
-34
-15
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-21
-38
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
32
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
8
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
32
0
0
0
0
0
0
0
0
0
0
0
-4
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
73
52
-35
5
23
0
0
0
0
0
0
0
0
0
0
0
-1
-30
44
50
-13
41
6
-17
46
0
0
0
0
0
0
0
0
6
10
0
11
-136
-20
60
121
42
0
0
0
0
0
0
0
0
0
58
34
55
1
-96
-34
-52
-163
0
0
0
0
0
0
0
0
-6
13
-5
-21
-10
-78
-66
20
44
0
0
0
0
0
0
0
0
0
8
4
-8
-53
-41
25
-23
-5
0
0
0
0
0
0
0
0
0
0
-1
0
2
-74
-6
12
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
-81
5
0
0
0
0
0
0
0
0
0
-10
-4
-35
-38
15
0
0
0
0
0
0
0
0
0
0
0
20
-14
-11
-68
54
17
0
0
0
0
0
0
0
0
0
0
0
0
11
-33
-7
-32
23
31
6
-21
1
0
0
0
0
0
0
0
3
4
34
-34
16
38
163
-51
-69
2
0
0
0
0
0
0
0
5
-32
-52
-43
-13
0
45
-71
-20
5
0
0
0
0
0
0
0
4
-78
22
-52
-73
-19
31
27
20
0
0
0
0
0
0
0
0
0
0
-41
42
-28
3
15
-44
-37
-17
0
0
0
0
0
0
0
0
3
2
-23
-1
19
38
11
33
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
0
0
-7
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
30
13
30
1
0
0
0
-12
0
0
0
0
0
0
0
0
0
-21
1
24
-35
0
1
6
-2
0
0
0
0
0
0
0
0
-8
35
-8
-31
-47
-8
4
-7
0
0
0
0
0
0
0
0
-5
8
8
-32
47
-95
-2
65
-41
-1
1
0
0
0
0
0
0
0
0
6
-33
-31
-39
11
-41
-78
-7
0
0
0
0
0
0
0
0
0
0
-54
-5
-73
-26
-50
34
-7
0
0
0
0
0
0
0
0
0
0
0
-22
-3
-32
-58
75
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
14
-23
0
0
0
0
0
0
0
0
0
-4
0
-21
0
14
0
0
0
-1
0
0
0
0
0
0
0
3
0
-72
-6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
72
-27
1
-6
-3
3
0
0
0
0
0
0
0
0
3
-1
-31
34
11
59
-53
-3
0
0
0
0
0
0
0
0
0
0
0
62
34
-19
-99
-43
44
-41
0
0
0
0
0
0
0
0
0
12
-22
-4
103
-78
-54
-31
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-77
93
-52
13
1
0
0
0
0
0
0
0
0
0
0
0
0
-25
6
-29
-107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-1
0
0
0
0
0
0
0
0
0
4
-8
1
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-3
-5
22
4
-15
0
0
0
0
0
0
0
0
0
-5
0
39
14
-33
-1
8
0
0
0
0
0
0
0
0
0
0
-2
-2
-8
1
-14
-45
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-28
-43
-30
-14
0
0
0
0
0
0
0
0
0
1
-1
6
-2
2
-5
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
0
0
0
0
0
0
0
0
0
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
15
19
14
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-30
-16
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
4
-5
-17
1
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-46
6
-2
8
1
0
0
0
0
0
0
0
0
0
-1
0
-23
4
-34
-2
30
32
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
23
73
0
2
0
0
0
0
0
0
0
0
0
0
0
0
7
2
7
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
-7
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-7
-32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
19
-25
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
-27
34
-6
0
0
5
0
0
0
0
0
0
0
0
0
0
16
45
-25
-39
-20
-6
-16
0
0
0
0
0
0
0
0
-3
-1
-5
5
-10
1
-2
5
-12
0
0
0
0
0
0
0
0
0
0
0
25
-37
-63
-7
70
-6
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
39
-60
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
16
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
8
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
1
-13
8
-25
-6
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
-2
-5
-7
0
0
0
0
0
0
0
0
0
0
-5
0
-2
21
25
-24
3
0
0
0
0
0
0
0
0
0
0
0
-8
4
7
30
32
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
38
5
2
-6
0
-1
0
0
0
0
0
0
0
0
0
0
8
-6
-2
67
-31
-22
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
37
7
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-27
-95
13
24
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
1
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
5
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-29
6
-4
0
0
0
0
0
0
0
0
0
0
0
2
-1
-16
-76
-31
7
-25
2
-1
0
0
0
0
0
0
0
0
0
-39
-52
-46
-22
22
67
36
-1
0
0
0
0
0
0
0
0
0
0
41
19
5
-50
-14
-59
3
0
0
0
0
0
0
0
0
0
0
-8
-1
44
48
-33
-46
3
0
0
0
0
0
0
0
0
0
-15
-9
0
-82
5
8
-79
-21
0
0
0
0
0
0
0
0
0
0
0
0
2
7
12
-27
14
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-55
1
10
0
0
-2
0
0
0
0
0
0
0
0
0
-23
-5
48
-31
80
-7
-7
-12
0
0
0
0
0
0
0
0
0
-17
2
25
-45
-30
-55
-49
-4
-3
0
0
0
0
0
0
0
0
-5
2
36
0
-39
-26
-23
-75
0
0
0
0
0
0
0
0
0
0
-7
-31
30
-16
14
-71
-60
-1
0
0
0
0
0
0
0
0
0
0
0
-8
15
-46
-17
45
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
-78
-6
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-5
25
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-58
-5
10
-4
0
7
2
0
0
0
0
0
0
0
0
0
0
-2
0
-10
3
-8
6
-5
0
0
0
0
0
0
0
0
0
0
0
13
15
110
81
-76
-34
0
0
0
0
0
0
0
0
0
0
6
-2
12
-125
-93
7
-35
1
0
0
0
0
0
0
0
0
0
0
-1
-5
-30
11
-93
-59
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-60
-6
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
-8
-25
1
13
0
0
0
0
0
0
0
0
0
0
1
-2
-12
3
5
-9
-9
0
0
0
0
0
0
0
0
0
-2
3
0
-5
11
-62
-13
25
0
0
0
0
0
0
0
0
0
0
5
0
-8
-16
42
6
-35
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-4
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
52
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-20
9
-15
-7
0
0
0
0
0
0
0
0
0
0
7
0
10
1
-16
-46
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
5
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
9
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-20
-2
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
4
1
-37
-17
2
-1
0
0
0
0
0
0
0
0
0
0
0
20
-8
-16
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-13
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
2
33
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
6
1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-31
-24
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-32
-33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
4
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
-24
8
5
0
0
0
0
0
0
0
0
0
0
2
76
63
-108
34
2
-47
0
0
0
0
0
0
0
0
0
0
6
52
-32
15
-1
-39
4
-16
0
0
0
0
0
0
0
0
0
9
6
0
-1
-5
18
9
0
0
0
0
0
0
0
0
0
0
1
13
0
-4
0
0
6
0
0
0
0
0
0
0
0
0
0
-8
-19
-2
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
34
-13
-3
31
0
0
0
0
0
0
0
0
0
38
-4
62
86
80
12
-45
-6
4
0
0
0
0
0
0
0
0
35
-32
36
51
45
-9
-8
6
-29
0
0
0
0
0
0
0
0
33
15
-81
16
46
14
50
36
-47
-1
0
0
0
0
0
0
0
43
-41
-12
27
-45
25
84
1
39
0
0
0
0
0
0
0
0
-18
4
83
14
3
-10
13
-16
-24
-9
0
0
0
0
0
0
0
-25
3
-1
-85
49
-7
14
0
-36
0
0
0
0
0
0
0
0
23
41
-9
30
2
-42
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
4
-167
-109
-97
0
-7
0
0
0
0
0
0
0
51
105
-3
74
-5
1
-42
-6
31
-6
0
0
0
0
0
0
0
3
182
71
-3
-60
57
-5
-9
35
-8
0
0
0
0
0
0
0
14
25
-72
-8
19
105
81
-69
-12
-24
0
0
0
0
0
0
0
-4
-61
15
-9
-26
-84
93
-69
-42
3
0
0
0
0
0
0
0
1
6
-37
-22
-60
96
-22
-13
11
3
0
0
0
0
0
0
0
0
10
-68
51
59
-20
-24
22
5
24
0
0
0
0
0
0
0
-2
56
19
-51
4
-22
-48
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-16
-118
-25
0
0
0
0
0
0
0
0
0
45
-50
129
-8
-31
76
-35
-3
-8
0
0
0
0
0
0
0
0
58
17
48
34
1
-12
-57
-24
-22
0
0
0
0
0
0
0
0
44
2
59
15
20
-38
-69
29
-4
1
0
0
0
0
0
0
0
66
17
-8
2
-32
-18
61
25
14
4
0
0
0
0
0
0
0
-31
59
18
-14
-7
-49
3
5
0
-1
0
0
0
0
0
0
0
6
24
29
8
-8
-5
-66
-1
-7
0
0
0
0
0
0
0
0
-8
-81
-24
-25
-1
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-75
1
0
0
52
-86
0
0
0
0
0
0
0
0
0
0
-2
20
-6
2
61
-11
-22
-16
0
0
0
0
0
0
0
0
21
78
130
11
-33
6
43
-4
13
1
0
0
0
0
0
0
0
1
-61
-23
45
21
-29
-30
-2
19
5
0
0
0
0
0
0
0
7
27
-13
-29
4
-24
5
-10
-14
10
0
0
0
0
0
0
0
8
-3
-7
22
-25
-14
-69
0
12
16
0
0
0
0
0
0
0
2
-5
5
-10
0
4
8
-13
-5
0
0
0
0
0
0
0
0
1
27
8
-6
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
8
112
110
71
45
0
4
10
2
0
0
0
0
0
0
0
0
-68
75
13
5
25
58
15
-9
8
0
0
0
0
0
0
0
0
0
49
15
-64
-8
-8
-13
-14
0
0
0
0
0
0
0
0
0
-2
3
31
-7
-13
24
42
14
-2
0
0
0
0
0
0
0
0
0
7
-5
0
5
-3
-1
10
-1
-2
0
0
0
0
0
0
0
8
-15
13
4
0
2
0
17
8
0
0
0
0
0
0
0
0
0
9
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
23
21
15
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-1
3
5
4
19
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-6
0
-5
-1
0
0
0
0
0
0
0
0
0
-8
0
1
3
5
-3
0
12
0
0
0
0
0
0
0
0
0
8
0
0
1
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
7
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-9
25
51
0
32
-2
0
0
0
0
0
0
0
0
0
13
4
105
159
73
39
-42
58
0
0
0
0
0
0
0
0
0
-2
75
81
-22
-75
68
-32
8
14
0
0
0
0
0
0
0
0
20
96
0
-3
-8
-6
-102
-1
0
0
0
0
0
0
0
0
0
-4
-12
-16
24
-14
-5
37
4
0
0
0
0
0
0
0
0
0
-32
-4
0
-37
-3
52
1
-1
0
0
0
0
0
0
0
0
0
-108
24
-14
1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
-31
18
44
18
-19
15
0
0
0
0
0
0
0
0
0
23
106
-32
7
-52
25
27
-30
-2
0
0
0
0
0
0
0
0
27
50
61
-84
52
-35
13
5
46
2
0
0
0
0
0
0
0
114
44
58
60
32
31
9
11
6
0
0
0
0
0
0
0
0
-6
-49
8
4
-29
-58
8
-103
-66
1
0
0
0
0
0
0
0
-36
5
-19
14
-4
57
14
56
21
0
0
0
0
0
0
0
0
26
-95
-55
49
31
34
0
-21
21
0
0
0
0
0
0
0
0
7
-74
-9
43
4
5
0
1
0
0
0
0
0
0
0
0
0
-7
-2
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
80
179
2
-1
43
1
-50
84
0
2
0
0
0
0
0
0
0
54
70
19
78
-97
-48
35
31
67
2
0
0
0
0
0
0
0
13
113
-102
-60
-93
160
-49
-36
-44
-7
0
0
0
0
0
0
0
43
88
127
5
-5
-45
47
-2
-1
-57
0
0
0
0
0
0
0
27
-13
-49
-6
43
7
-11
48
-12
-13
0
0
0
0
0
0
0
-13
-78
0
71
1
-40
28
-32
0
10
0
0
0
0
0
0
0
-49
105
1
-76
24
5
-21
-9
-34
0
0
0
0
0
0
0
0
0
15
-13
-75
49
35
-1
-48
-6
0
0
0
0
0
0
0
0
0
6
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
17
11
31
-4
92
22
17
50
0
-1
0
0
0
0
0
0
0
-5
10
122
-19
-18
32
25
62
16
0
-1
0
0
0
0
0
0
28
-73
174
-88
41
-36
48
-47
-20
-5
0
0
0
0
0
0
0
-13
-62
46
-21
-39
11
134
25
53
-2
0
0
0
0
0
0
0
15
-28
53
-20
-3
-96
-9
-52
-1
-1
0
0
0
0
0
0
0
-181
-5
53
28
-41
-9
-52
95
-10
0
0
0
0
0
0
0
0
-3
21
91
-30
8
-22
-31
9
-5
0
0
0
0
0
0
0
0
5
-33
-42
-10
-2
3
-5
-1
0
0
0
0
0
0
0
0
0
-7
0
-24
0
3
1
0
0
0
0
0
0
0
0
0
0
0
5
-17
7
-30
-4
-6
32
18
0
0
0
0
0
0
0
0
0
51
22
-5
125
77
54
26
-5
-32
0
0
0
0
0
0
0
0
41
-41
29
103
48
27
5
59
45
6
0
0
0
0
0
0
0
-33
24
-6
21
45
-37
-69
29
30
10
0
0
0
0
0
0
0
12
12
-61
6
-73
-76
-9
-42
81
-10
0
0
0
0
0
0
0
-13
94
49
7
-18
13
-31
-79
8
0
0
0
0
0
0
0
0
9
-50
33
-69
1
-6
-16
-1
6
-4
0
0
0
0
0
0
0
0
-41
12
18
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
-5
78
-45
-9
2
-58
31
0
2
0
0
0
0
0
0
0
17
55
54
43
50
18
55
59
-8
0
0
0
0
0
0
0
0
25
81
59
51
81
-60
38
16
16
0
0
0
0
0
0
0
0
96
26
45
-12
-66
49
-42
6
-28
0
0
0
0
0
0
0
0
111
-65
44
-20
17
5
-29
15
-5
1
0
0
0
0
0
0
0
10
22
67
32
12
25
25
-17
-1
0
0
0
0
0
0
0
0
-10
50
14
39
17
2
-9
-4
-2
0
0
0
0
0
0
0
0
0
8
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
4
33
25
0
-3
0
-8
0
0
0
0
0
0
0
0
42
-21
72
94
13
25
-3
7
0
0
0
0
0
0
0
0
0
24
19
-2
96
16
8
2
0
0
0
0
0
0
0
0
0
0
54
14
20
14
9
3
25
-1
0
0
0
0
0
0
0
0
0
25
4
47
0
12
4
15
5
0
0
0
0
0
0
0
0
0
22
-5
-42
6
6
-6
-1
0
-2
0
0
0
0
0
0
0
0
0
14
1
1
0
0
4
0
0
0
0
0
0
0
0
0
0
24
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
4
0
4
0
0
0
0
0
0
0
0
0
0
1
0
12
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
38
51
38
33
-30
0
-3
0
0
0
0
0
0
0
0
0
-3
62
59
-24
-44
63
-24
-4
5
0
0
0
0
0
0
0
0
-29
-18
31
2
7
17
15
31
-12
0
0
0
0
0
0
0
0
-18
27
65
-13
-25
18
19
1
12
0
0
0
0
0
0
0
0
-14
6
-9
69
-1
45
-1
0
0
0
0
0
0
0
0
0
0
-27
90
42
7
-4
-6
0
-2
0
0
0
0
0
0
0
0
0
-35
7
-31
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
41
39
93
91
32
41
19
0
0
0
0
0
0
0
0
0
59
35
13
41
-9
26
49
-44
51
0
0
0
0
0
0
0
0
-30
67
27
60
3
25
36
52
-68
2
0
0
0
0
0
0
0
17
-50
14
-22
87
59
66
11
-8
0
0
0
0
0
0
0
0
62
12
79
-116
3
25
-6
81
47
1
0
0
0
0
0
0
0
66
15
38
41
-63
128
53
42
5
0
0
0
0
0
0
0
0
86
-3
-56
5
-3
22
62
-42
10
0
0
0
0
0
0
0
0
18
34
-19
19
15
-1
0
0
0
0
0
0
0
0
0
0
0
-41
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
144
61
-26
-86
-70
-34
-47
0
1
0
0
0
0
0
0
0
-7
-12
33
57
-8
-49
11
-41
-7
0
0
0
0
0
0
0
0
-41
94
25
67
-9
20
-100
-93
-65
-3
0
0
0
0
0
0
0
68
24
-24
67
22
9
-95
-22
24
-3
0
0
0
0
0
0
0
14
30
54
-37
1
-47
27
-29
-12
9
0
0
0
0
0
0
0
39
74
-56
27
63
38
-61
-64
38
-10
0
0
0
0
0
0
0
2
22
-16
-1
-108
-27
-10
56
-35
0
0
0
0
0
0
0
0
1
57
75
10
-13
-2
3
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
-3
41
10
13
23
33
-8
0
0
0
0
0
0
0
0
0
-57
-1
17
141
74
27
14
-34
-3
0
0
0
0
0
0
0
0
47
52
1
13
-65
17
-49
79
-4
1
0
0
0
0
0
0
0
-2
-42
-36
6
-44
98
9
65
22
-1
0
0
0
0
0
0
0
-33
45
103
31
-18
34
47
-23
8
0
0
0
0
0
0
0
0
126
-10
25
-31
-110
49
47
-28
1
0
0
0
0
0
0
0
0
66
52
55
23
-31
-37
20
0
8
0
0
0
0
0
0
0
0
42
-37
11
-4
-5
0
0
-6
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
78
86
69
25
51
38
41
0
0
0
0
0
0
0
0
0
-177
-58
-51
62
29
19
-33
-61
49
-25
0
0
0
0
0
0
0
-13
-38
-18
-41
29
52
6
4
-8
1
0
0
0
0
0
0
0
-25
59
4
20
-14
-3
-47
63
3
0
0
0
0
0
0
0
0
102
31
11
-8
12
17
55
-45
0
-4
0
0
0
0
0
0
0
29
101
-10
19
5
15
-77
-22
6
0
0
0
0
0
0
0
0
-3
-49
-21
-7
-1
17
16
0
1
0
0
0
0
0
0
0
0
7
51
3
-13
0
0
10
0
0
0
0
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
17
-14
43
107
157
8
0
0
0
0
0
0
0
0
0
23
-39
-76
43
64
20
111
39
-19
0
0
0
0
0
0
0
0
-81
-7
15
-6
26
-8
-2
-57
1
0
0
0
0
0
0
0
0
-18
115
56
-1
71
-8
-32
32
-4
0
0
0
0
0
0
0
0
11
-65
44
-6
-84
-4
-49
0
24
0
0
0
0
0
0
0
0
-7
-59
7
-8
6
7
23
0
0
0
0
0
0
0
0
0
0
2
50
19
2
-21
0
0
2
0
0
0
0
0
0
0
0
0
0
-75
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
13
-1
-25
58
3
-3
0
0
0
0
0
0
0
0
0
0
18
51
-29
-30
24
-2
-4
-1
0
0
0
0
0
0
0
0
0
-15
-6
28
5
-5
1
6
-4
0
0
0
0
0
0
0
0
0
71
10
-1
21
2
1
0
-1
0
0
0
0
0
0
0
0
0
-115
22
-5
-1
-2
24
5
0
0
0
0
0
0
0
0
0
0
-66
-28
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-1
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
2
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
6
-1
0
1
0
0
0
0
0
0
0
0
0
1
-1
3
4
0
-4
19
0
-1
0
0
0
0
0
0
0
0
5
3
3
0
1
-5
0
-1
0
0
0
0
0
0
0
0
0
-6
-6
-2
-1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
-1
8
8
3
0
0
0
0
0
0
0
0
0
0
24
-3
23
10
-12
-19
8
-3
0
0
0
0
0
0
0
0
0
27
4
32
13
10
41
-23
1
0
0
0
0
0
0
0
0
0
-69
10
13
-4
-4
-16
2
-2
0
0
0
0
0
0
0
0
0
6
12
22
-2
0
-2
0
9
0
0
0
0
0
0
0
0
0
3
1
-19
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
16
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
-5
17
-5
58
1
4
0
0
0
0
0
0
0
0
0
-8
36
-12
8
60
-36
0
8
0
0
0
0
0
0
0
0
0
17
-4
24
-20
3
-13
4
9
2
0
0
0
0
0
0
0
0
-6
2
20
5
9
21
0
-1
0
0
0
0
0
0
0
0
0
0
20
56
-18
58
-17
4
3
0
0
0
0
0
0
0
0
0
25
37
16
-14
5
3
0
0
0
0
0
0
0
0
0
0
0
2
-58
68
-6
10
-13
0
0
0
0
0
0
0
0
0
0
0
8
23
28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-75
95
93
70
101
103
27
0
0
0
0
0
0
0
0
0
43
48
48
12
15
-14
40
44
-5
-1
0
0
0
0
0
0
0
52
-7
148
-1
-10
0
15
42
-42
-2
0
0
0
0
0
0
0
127
34
83
59
38
8
22
13
61
0
0
0
0
0
0
0
0
17
-27
75
76
18
-14
-30
53
65
0
0
0
0
0
0
0
0
48
-60
72
-10
43
-11
-4
-53
12
-4
0
0
0
0
0
0
0
-42
57
45
8
-36
-12
1
25
25
0
0
0
0
0
0
0
0
-11
-10
-46
24
-42
13
5
-5
0
0
0
0
0
0
0
0
0
24
-5
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-50
56
203
-28
-42
-13
-65
0
-1
0
0
0
0
0
0
0
-2
57
-17
-5
37
101
-13
-25
32
-3
0
0
0
0
0
0
0
11
75
18
10
-11
-36
-22
19
-29
-2
0
0
0
0
0
0
0
-7
93
-2
-15
-23
-56
-35
-8
14
0
0
0
0
0
0
0
0
-50
28
-4
43
48
-32
-29
-2
44
6
0
0
0
0
0
0
0
3
47
51
92
-49
-86
70
5
1
0
0
0
0
0
0
0
0
-5
58
92
-30
-19
-38
-5
1
24
0
0
0
0
0
0
0
0
-33
66
-67
-76
33
-2
0
1
0
0
0
0
0
0
0
0
0
-87
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
77
-18
61
47
139
19
0
0
0
0
0
0
0
0
0
-58
1
-31
41
69
110
-44
-22
-1
0
0
0
0
0
0
0
0
24
-40
35
-8
-11
-19
-6
50
-5
1
0
0
0
0
0
0
0
29
30
-4
-2
8
46
-50
43
-25
1
0
0
0
0
0
0
0
-164
-104
-108
19
-10
44
5
69
-7
-1
0
0
0
0
0
0
0
27
120
58
-14
-40
20
7
22
0
0
0
0
0
0
0
0
0
11
94
4
-7
5
1
0
0
-1
0
0
0
0
0
0
0
0
-6
66
4
6
12
3
0
0
-1
0
0
0
0
0
0
0
0
50
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
60
52
0
30
-6
-45
30
0
0
0
0
0
0
0
0
0
-12
-26
7
15
54
71
-23
58
-9
8
0
0
0
0
0
0
0
-8
40
-8
67
-18
139
33
-50
-50
-5
0
0
0
0
0
0
0
23
92
-22
-41
5
28
33
-53
-17
-27
0
0
0
0
0
0
0
15
108
12
49
24
13
68
-27
-2
2
0
0
0
0
0
0
0
6
40
5
96
-4
-36
4
27
1
0
0
0
0
0
0
0
0
15
31
19
34
-12
1
-24
0
3
0
0
0
0
0
0
0
0
-2
-19
47
-7
-5
-3
1
0
1
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
30
-16
49
63
6
0
0
0
0
0
0
0
0
0
-10
44
-6
-39
11
-22
-5
16
34
0
0
0
0
0
0
0
0
-3
-8
31
21
0
-6
-58
-18
20
6
0
0
0
0
0
0
0
-25
-34
-20
-29
-6
12
5
-5
-18
0
0
0
0
0
0
0
0
110
19
-45
-8
-42
8
1
13
42
0
0
0
0
0
0
0
0
-8
-7
8
24
75
1
-2
1
0
0
0
0
0
0
0
0
0
-7
-50
13
5
10
0
-4
6
0
0
0
0
0
0
0
0
0
1
-41
7
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-3
5
17
-19
23
0
0
0
0
0
0
0
0
0
0
17
-8
9
41
-3
49
-14
0
0
0
0
0
0
0
0
0
0
32
-24
34
-10
12
-3
-4
0
0
0
0
0
0
0
0
0
0
-46
2
-51
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
37
55
-60
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
65
-8
42
0
0
1
0
0
0
0
0
0
0
0
0
0
0
12
23
-2
2
0
1
0
-3
0
0
0
0
0
0
0
0
0
18
0
-2
0
0
0
-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
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
2
9
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
-4
6
-3
-4
0
0
0
0
0
0
0
0
0
0
0
1
4
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
10
1
-16
5
0
0
0
0
0
0
0
0
0
-4
-7
-29
-34
8
10
-35
14
-8
0
0
0
0
0
0
0
0
2
19
-15
19
-12
4
1
9
0
0
0
0
0
0
0
0
0
-35
-6
5
1
7
24
5
0
0
0
0
0
0
0
0
0
0
-43
2
-39
23
12
3
0
0
0
0
0
0
0
0
0
0
0
-10
-8
8
7
-19
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
10
-1
2
-3
0
0
0
0
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
49
-14
-4
7
42
0
0
0
0
0
0
0
0
0
0
-8
30
-5
51
-20
17
-2
8
0
0
0
0
0
0
0
0
0
-3
-8
-29
-20
45
9
18
0
0
0
0
0
0
0
0
0
0
10
8
-54
23
-14
-3
43
0
0
0
0
0
0
0
0
0
0
11
-64
9
-54
-37
-6
-8
0
0
0
0
0
0
0
0
0
0
-49
59
-9
-2
1
-2
1
2
0
0
0
0
0
0
0
0
0
28
1
4
2
0
1
-1
14
0
0
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-66
0
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
76
-12
3
-41
9
1
0
0
0
0
0
0
0
0
0
-3
31
-29
6
7
6
10
-7
0
0
0
0
0
0
0
0
0
-10
23
-35
5
12
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-13
-7
-7
0
0
0
0
0
0
0
0
0
0
-1
7
16
13
-7
0
-12
-5
0
0
0
0
0
0
0
0
0
3
42
13
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
20
3
16
-1
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-29
-3
49
77
5
-13
30
0
0
0
0
0
0
0
0
0
22
-17
-22
-39
42
91
-39
-66
-8
0
0
0
0
0
0
0
0
61
20
-30
93
37
31
-47
-3
-4
0
0
0
0
0
0
0
0
-10
-17
-25
-5
84
-9
28
-4
20
0
0
0
0
0
0
0
0
4
-6
0
43
15
52
15
-23
1
0
0
0
0
0
0
0
0
14
-7
0
74
26
-45
41
-44
-52
0
0
0
0
0
0
0
0
37
64
42
-13
-23
63
9
32
8
0
0
0
0
0
0
0
0
-10
-22
86
-29
-5
-49
1
-9
0
0
0
0
0
0
0
0
0
81
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-8
28
3
-59
58
-18
0
-1
0
0
0
0
0
0
0
0
-23
-83
61
48
32
42
63
-63
0
0
0
0
0
0
0
0
0
-93
58
-51
69
-111
30
-52
-25
2
0
0
0
0
0
0
0
23
-96
5
41
-54
35
10
-58
14
-7
0
0
0
0
0
0
0
0
-5
0
-2
8
28
4
-6
-26
2
0
0
0
0
0
0
0
-24
16
-15
39
22
-76
-23
64
-5
0
0
0
0
0
0
0
0
5
44
30
-23
-13
-18
-82
-8
25
0
0
0
0
0
0
0
0
19
4
-63
17
-1
39
-6
-10
-3
0
0
0
0
0
0
0
0
17
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
7
-3
-14
-29
45
1
0
0
0
0
0
0
0
0
0
-2
38
7
-22
-10
-11
58
95
-1
0
0
0
0
0
0
0
0
25
22
-34
36
35
29
-33
46
-1
0
0
0
0
0
0
0
0
21
62
10
-8
-1
27
7
7
-5
-1
0
0
0
0
0
0
0
-12
35
1
0
6
-25
17
-10
-8
0
0
0
0
0
0
0
0
-24
99
-11
-4
59
3
41
-8
-5
0
0
0
0
0
0
0
0
76
18
99
41
46
-1
-8
0
1
0
0
0
0
0
0
0
0
21
86
95
-48
1
-5
-2
0
-2
0
0
0
0
0
0
0
0
13
-8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-14
-16
-1
29
-61
29
0
2
0
0
0
0
0
0
0
2
-20
6
-23
-47
-43
-12
48
8
-9
0
0
0
0
0
0
0
-1
-44
-99
138
34
-43
-3
43
25
-4
0
0
0
0
0
0
0
10
-40
-20
-80
-3
6
79
45
-3
-1
0
0
0
0
0
0
0
-5
-78
17
-1
0
4
35
-8
-47
0
0
0
0
0
0
0
0
0
17
78
-92
4
5
19
-3
64
-1
0
0
0
0
0
0
0
-25
123
47
10
2
13
-5
8
2
0
0
0
0
0
0
0
0
-2
81
-22
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-12
42
-10
-30
13
8
0
0
0
0
0
0
0
0
0
0
-67
-15
-39
0
-67
27
-13
-39
0
0
0
0
0
0
0
0
6
8
-6
5
15
45
-9
3
7
-2
0
0
0
0
0
0
0
13
-29
81
120
-47
0
3
17
-7
0
0
0
0
0
0
0
0
-6
-44
6
22
-2
0
0
4
3
0
0
0
0
0
0
0
0
2
-23
-31
30
40
0
0
1
2
0
0
0
0
0
0
0
0
-15
119
-21
31
27
2
-5
0
0
0
0
0
0
0
0
0
0
-10
48
-14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-12
0
-25
2
-4
0
-1
0
0
0
0
0
0
0
0
-42
30
17
-14
-27
-59
22
-3
0
0
0
0
0
0
0
0
0
-5
3
25
3
59
66
4
7
0
0
0
0
0
0
0
0
0
-32
-19
-6
-29
-12
0
1
0
0
0
0
0
0
0
0
0
0
-12
27
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-8
40
19
-2
0
0
-1
0
0
0
0
0
0
0
0
0
68
5
-14
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
143
39
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-8
0
-5
-3
4
0
0
0
0
0
0
0
0
0
1
0
4
0
-16
-3
18
-1
2
0
0
0
0
0
0
0
0
0
-22
-2
9
-1
-31
-3
0
-1
0
0
0
0
0
0
0
0
3
-3
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-42
20
43
0
-12
-7
7
0
0
0
0
0
0
0
0
0
-8
-3
7
14
-5
-10
-26
-2
-1
0
0
0
0
0
0
0
0
45
2
-17
42
-22
52
19
-41
-15
0
0
0
0
0
0
0
0
-15
-49
21
37
-41
13
-34
1
0
0
0
0
0
0
0
0
0
5
-14
-67
-22
-25
-2
0
0
0
0
0
0
0
0
0
0
0
-12
-45
-29
-5
-7
25
-2
0
0
0
0
0
0
0
0
0
0
-31
-59
-31
-14
9
-3
0
0
-25
0
0
0
0
0
0
0
0
-5
-18
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-29
8
8
3
19
0
0
0
0
0
0
0
0
0
0
-71
0
-46
-94
14
-10
15
-29
0
0
0
0
0
0
0
0
0
5
2
17
-27
0
-13
14
14
0
0
0
0
0
0
0
0
0
24
-1
3
5
-31
-21
53
-2
0
0
0
0
0
0
0
0
0
-7
2
-15
8
-79
-91
3
0
0
0
0
0
0
0
0
0
0
-43
-33
-60
-33
50
-21
12
-2
0
0
0
0
0
0
0
0
0
-18
-98
-13
5
-4
1
0
-6
0
0
0
0
0
0
0
0
0
-64
24
16
1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-2
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
5
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-10
-3
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
-35
-5
-1
-6
19
0
5
0
0
0
0
0
0
0
0
0
2
-2
1
15
-3
0
3
0
0
0
0
0
0
0
0
0
0
-1
-2
7
-1
-20
3
0
-1
0
0
0
0
0
0
0
0
0
0
-14
68
-4
15
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-9
110
-2
8
0
-1
0
0
0
0
0
0
0
0
0
0
17
52
1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
59
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-8
-50
33
-54
89
34
0
0
0
0
0
0
0
0
0
-4
-5
-41
-57
-74
44
23
-47
-4
-4
0
0
0
0
0
0
0
51
-19
-14
57
-5
-2
98
-21
-5
0
0
0
0
0
0
0
0
48
9
80
42
25
-28
27
25
6
7
0
0
0
0
0
0
0
-15
2
-2
62
51
-65
-35
-1
-11
0
0
0
0
0
0
0
0
0
0
0
-52
-87
18
-42
-49
-49
0
0
0
0
0
0
0
0
9
-5
37
-42
-120
-16
9
-12
-5
0
0
0
0
0
0
0
0
-8
-14
-50
13
24
18
0
0
0
0
0
0
0
0
0
0
0
-15
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
54
35
13
-22
-7
10
18
0
0
0
0
0
0
0
0
0
-4
66
30
83
-30
17
55
65
-51
5
0
0
0
0
0
0
0
-6
-57
25
-14
9
17
37
-23
-3
4
0
0
0
0
0
0
0
0
-35
39
90
32
-41
6
-4
-46
-1
0
0
0
0
0
0
0
16
5
-1
-43
-15
23
50
-24
-16
-3
0
0
0
0
0
0
0
-3
4
0
-12
2
-43
-25
18
-35
0
0
0
0
0
0
0
0
5
178
-6
7
7
-12
31
10
-4
0
0
0
0
0
0
0
0
17
-39
16
31
2
-10
0
1
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-47
-25
-3
-5
30
4
0
0
0
0
0
0
0
0
0
3
17
42
48
-4
50
-52
9
0
0
0
0
0
0
0
0
0
20
-4
10
-64
38
74
23
36
6
2
0
0
0
0
0
0
0
5
34
-5
-6
-46
1
-26
13
-5
1
0
0
0
0
0
0
0
-17
-97
-22
-1
17
-25
5
18
7
0
0
0
0
0
0
0
0
-5
8
2
0
0
-4
42
-9
0
0
0
0
0
0
0
0
0
-30
-35
47
0
7
-22
30
0
1
0
0
0
0
0
0
0
0
24
15
-40
0
6
0
-4
0
2
0
0
0
0
0
0
0
0
-10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
3
-4
25
0
-30
-40
60
0
0
0
0
0
0
0
0
0
1
-91
15
-59
-69
-13
3
32
-4
0
0
0
0
0
0
0
0
24
16
-3
41
6
9
0
-11
20
-1
0
0
0
0
0
0
0
2
31
-18
63
-8
-50
-21
13
7
0
0
0
0
0
0
0
0
-1
66
-27
-1
-4
5
-123
-16
-5
0
0
0
0
0
0
0
0
-1
113
84
-2
0
2
13
12
-25
0
0
0
0
0
0
0
0
-41
14
34
1
9
6
-3
2
-8
0
0
0
0
0
0
0
0
16
-28
126
50
0
-1
0
6
0
0
0
0
0
0
0
0
0
-13
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-20
-12
-1
-50
-71
-14
0
0
0
0
0
0
0
0
0
5
35
42
-5
-12
-20
-109
-54
-1
0
0
0
0
0
0
0
0
0
-8
-47
-41
51
-13
17
-32
1
0
0
0
0
0
0
0
0
-7
-29
5
31
18
4
-58
-4
20
-4
0
0
0
0
0
0
0
1
63
-18
8
22
4
3
32
25
0
0
0
0
0
0
0
0
0
-47
-14
-19
4
0
0
-15
0
0
0
0
0
0
0
0
0
27
-19
3
3
7
-2
0
0
8
0
0
0
0
0
0
0
0
-18
12
-51
13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
4
-1
2
30
-14
0
0
0
0
0
0
0
0
0
0
-20
-7
6
-47
-41
28
-13
-3
0
0
0
0
0
0
0
0
0
-4
-2
-8
37
-12
83
0
8
0
0
0
0
0
0
0
0
0
-35
-25
33
12
-22
102
-8
-4
0
0
0
0
0
0
0
0
0
-15
65
1
-37
-10
0
0
-7
0
0
0
0
0
0
0
0
0
6
8
-39
6
0
0
0
4
0
0
0
0
0
0
0
0
7
61
-31
-12
30
3
0
0
-2
0
0
0
0
0
0
0
0
2
26
-50
8
0
-1
0
-12
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
-2
0
-14
0
0
0
0
0
0
0
0
0
0
1
1
3
3
0
-4
14
-7
2
0
0
0
0
0
0
0
0
-3
2
-10
-10
-19
12
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
5
2
5
3
3
0
0
0
0
0
0
0
0
0
0
-10
1
-5
-3
0
1
0
0
0
0
0
0
0
0
0
0
2
-1
-8
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
20
3
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
7
-1
-16
1
16
-9
0
0
0
0
0
0
0
0
0
7
12
49
-31
-24
-39
-30
-3
5
0
0
0
0
0
0
0
0
8
-33
2
46
-10
19
16
5
2
0
0
0
0
0
0
0
0
25
13
5
-41
-33
8
43
22
8
0
0
0
0
0
0
0
0
2
22
29
32
25
-13
22
0
0
0
0
0
0
0
0
0
0
-2
2
-13
-47
-56
-47
-3
0
0
0
0
0
0
0
0
0
0
18
-9
-20
-14
9
-10
0
0
0
0
0
0
0
0
0
0
0
70
-36
42
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
31
-24
-13
32
-8
-3
0
-2
0
0
0
0
0
0
0
0
44
-13
-3
-64
49
-37
-2
-5
0
0
0
0
0
0
0
0
0
22
14
43
-25
-23
33
1
27
1
0
0
0
0
0
0
0
0
99
-64
27
42
-30
64
-3
4
0
0
0
0
0
0
0
0
0
34
-12
7
13
32
-6
-13
0
0
0
0
0
0
0
0
0
0
-58
-47
-1
19
-5
-53
-18
0
0
0
0
0
0
0
0
0
0
-72
-71
-2
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
45
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-5
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-18
-9
-12
3
0
0
0
0
0
0
0
0
0
0
0
2
39
-19
-45
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
3
-8
4
0
0
0
0
0
0
0
0
0
0
0
31
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-13
-49
11
-1
58
0
0
0
0
0
0
0
0
0
0
2
-111
71
-24
-9
85
-28
5
15
0
0
0
0
0
0
0
0
-15
7
-59
-9
5
-78
11
-1
22
5
0
0
0
0
0
0
0
-6
-1
62
-44
50
13
15
64
-5
0
0
0
0
0
0
0
0
56
-14
110
57
-31
-31
52
42
45
0
0
0
0
0
0
0
0
-7
0
19
123
-6
-23
41
26
8
0
0
0
0
0
0
0
0
0
0
0
7
16
-2
72
1
0
0
0
0
0
0
0
0
0
9
0
5
-36
6
17
-4
2
0
0
0
0
0
0
0
0
0
13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-13
-18
-19
-5
24
10
0
0
0
0
0
0
0
0
0
0
35
-76
-18
-3
49
44
-2
3
0
0
0
0
0
0
0
0
0
-41
-28
47
-27
-18
27
-32
30
0
0
0
0
0
0
0
0
1
25
56
30
-2
-31
78
24
30
20
0
0
0
0
0
0
0
0
171
43
-21
30
-97
-85
36
9
9
0
0
0
0
0
0
0
2
33
4
35
-58
50
-37
21
12
5
0
0
0
0
0
0
0
0
0
0
0
3
45
3
-66
9
-1
0
0
0
0
0
0
0
18
-17
0
-41
-41
15
54
47
8
0
0
0
0
0
0
0
0
-1
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
8
-7
-5
0
20
5
0
0
0
0
0
0
0
0
0
3
3
-14
-12
-49
-37
-47
41
0
0
0
0
0
0
0
0
0
0
-7
13
0
32
9
-15
2
0
4
0
0
0
0
0
0
0
0
83
83
-60
36
5
27
-6
2
0
0
0
0
0
0
0
0
-5
19
66
1
14
-9
106
0
10
-2
0
0
0
0
0
0
0
-7
38
34
1
31
1
-41
0
8
8
0
0
0
0
0
0
0
-38
-5
5
0
-2
5
0
15
0
0
0
0
0
0
0
0
0
9
-43
40
1
0
2
0
7
0
0
0
0
0
0
0
0
0
45
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
0
-5
-18
-45
-31
-6
0
0
0
0
0
0
0
0
0
0
-36
-9
6
-75
-28
18
-6
-12
0
0
0
0
0
0
0
0
1
-14
33
-8
1
-18
-58
17
-8
-23
0
0
0
0
0
0
0
4
-49
73
42
-19
-11
42
-2
3
0
0
0
0
0
0
0
0
0
89
67
-20
-21
40
17
-42
-27
0
0
0
0
0
0
0
0
-9
4
-43
0
0
-3
-3
12
22
9
0
0
0
0
0
0
0
0
-36
-15
0
0
8
-4
1
-6
0
0
0
0
0
0
0
0
-4
33
110
10
0
2
25
8
0
0
0
0
0
0
0
0
0
6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
2
0
0
-30
2
0
0
0
0
0
0
0
0
0
0
-46
-12
13
-33
-6
-27
-3
-4
0
0
0
0
0
0
0
0
0
0
2
-6
-5
8
-40
-6
-8
0
0
0
0
0
0
0
0
-1
-5
8
16
-24
-9
-14
1
-7
0
0
0
0
0
0
0
0
0
28
-9
-68
84
-6
24
0
4
0
0
0
0
0
0
0
0
0
-86
31
39
-5
0
-3
-2
-19
0
0
0
0
0
0
0
0
8
49
16
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
-24
-67
-42
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
44
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
85
6
0
-32
0
4
-4
0
0
0
0
0
0
0
0
0
0
-1
0
4
12
3
7
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
34
42
-8
-49
12
0
0
0
0
0
0
0
0
0
0
-9
-54
8
-41
72
-1
-2
-3
-6
0
0
0
0
0
0
0
0
15
43
10
71
-5
0
-5
14
0
0
0
0
0
0
0
0
0
8
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
5
-8
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-9
6
0
0
0
0
0
0
0
0
0
-2
-3
0
-8
1
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
4
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
4
33
3
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-23
25
25
1
19
1
0
0
0
0
0
0
0
0
0
-5
-25
6
45
47
23
53
18
-6
0
0
0
0
0
0
0
0
0
-27
3
31
-41
-8
49
-7
-25
0
0
0
0
0
0
0
0
0
19
27
-18
-7
-12
-1
25
5
0
0
0
0
0
0
0
0
9
4
13
5
5
43
14
75
1
0
0
0
0
0
0
0
0
-5
-22
74
-5
-51
14
-8
0
0
0
0
0
0
0
0
0
0
15
51
-46
-54
21
-13
4
0
0
0
0
0
0
0
0
0
0
-46
41
19
10
2
0
0
0
0
0
0
0
0
0
0
0
0
49
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
2
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-26
8
6
-3
2
-19
9
2
0
0
0
0
0
0
0
0
0
-4
-8
-8
-2
12
42
-59
-3
-12
0
0
0
0
0
0
0
0
2
5
19
9
7
35
41
-6
0
0
0
0
0
0
0
0
0
-30
22
-18
13
-16
-7
0
3
0
0
0
0
0
0
0
0
0
31
7
1
-17
19
0
-9
0
0
0
0
0
0
0
0
0
0
-63
-6
24
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
29
67
-17
-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
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
0
13
0
0
0
0
0
0
0
0
0
0
0
7
-5
-2
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
32
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
-26
24
-109
19
0
0
0
0
0
0
0
0
0
0
0
0
2
34
3
39
-20
0
0
0
0
0
0
0
0
0
0
-13
-5
-3
-2
1
1
-3
-5
0
0
0
0
0
0
0
0
0
116
0
98
50
0
7
-2
2
-4
0
0
0
0
0
0
0
0
94
13
49
42
13
0
-5
-1
0
0
0
0
0
0
0
0
0
5
0
28
-65
-9
-9
23
-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
-2
5
8
2
-8
8
7
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-42
1
-24
18
0
0
0
0
0
0
0
0
0
0
-3
0
-8
42
-25
9
4
0
0
0
0
0
0
0
0
0
0
9
-19
-21
-20
139
-15
3
4
0
0
0
0
0
0
0
0
0
-1
-19
31
23
8
-13
-2
2
0
0
0
0
0
0
0
0
-2
-7
-5
-13
14
-13
15
9
-5
0
0
0
0
0
0
0
0
47
44
9
54
50
-5
-32
-16
0
0
0
0
0
0
0
0
0
1
-9
0
0
3
2
8
1
0
0
0
0
0
0
0
0
0
104
-2
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-49
17
1
0
0
0
0
0
0
0
0
0
0
0
1
8
-2
4
-8
2
6
0
0
0
0
0
0
0
0
0
0
-19
-4
65
9
7
1
-13
0
0
0
0
0
0
0
0
0
0
-36
41
14
-66
19
16
7
1
-1
0
0
0
0
0
0
0
14
-44
-47
0
-18
6
-15
3
-7
0
0
0
0
0
0
0
0
7
8
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
23
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
5
16
-3
0
0
0
0
0
0
0
0
0
0
-10
3
1
-9
-13
-34
3
0
0
0
0
0
0
0
0
0
-1
0
0
23
-4
8
3
4
0
0
0
0
0
0
0
0
0
0
-9
-8
92
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
13
30
76
0
7
1
-8
6
0
0
0
0
0
0
0
0
-4
-7
-21
-2
0
1
-3
0
0
0
0
0
0
0
0
0
0
6
-105
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-22
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
61
1
0
0
0
0
0
0
0
0
0
0
-2
1
1
-2
-3
2
0
0
0
0
0
0
0
0
0
0
-2
0
3
24
-7
1
6
0
-1
0
0
0
0
0
0
0
0
0
0
3
-10
8
1
6
0
0
0
0
0
0
0
0
0
0
-3
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-126
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-15
0
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
3
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-22
25
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-5
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
2
4
-6
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
14
-7
14
3
1
0
0
0
0
0
0
0
0
-3
1
1
2
-1
-13
14
-2
0
0
0
0
0
0
0
0
0
0
0
-20
-13
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
18
6
-8
9
-3
0
5
0
0
0
0
0
0
0
0
0
0
27
-8
-3
-24
0
0
0
0
0
0
0
0
0
0
0
0
9
22
-3
7
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-3
1
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
16
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-13
-25
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
-23
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-2
1
1
-8
0
0
0
0
0
0
0
0
0
0
-4
2
0
4
8
6
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
12
8
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-2
-8
8
0
0
0
0
0
0
0
0
0
0
0
3
-5
-6
-2
-19
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
-8
-3
24
-3
0
0
0
0
0
0
0
0
0
-1
0
3
0
7
-2
6
-1
0
0
0
0
0
0
0
0
0
0
1
-2
-3
1
8
8
1
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-24
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
25
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-1
-8
-3
2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-3
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
12
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-9
0
0
-1
-3
0
-1
0
0
0
0
0
0
0
4
-4
2
-5
-25
-2
8
5
0
0
0
0
0
0
0
0
2
0
1
1
-4
-5
34
0
1
0
0
0
0
0
0
0
0
0
0
0
9
1
0
-13
-5
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
14
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
0
0
-8
-5
-30
0
0
0
0
0
0
0
0
0
0
0
8
4
-25
-14
91
-31
4
1
0
0
0
0
0
0
0
-2
0
0
3
2
-41
9
51
-8
0
0
0
0
0
0
0
0
0
0
0
3
0
-36
-38
49
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
14
5
20
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-2
20
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-33
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
58
-68
8
31
30
-22
0
-3
0
0
0
0
0
0
0
-1
-5
25
40
-19
-49
8
-14
6
0
0
0
0
0
0
0
0
0
-3
6
-1
-21
8
6
50
0
1
0
0
0
0
0
0
0
0
0
-25
23
27
24
-42
-124
0
0
0
0
0
0
0
0
0
0
6
3
0
-4
13
-77
-131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
-120
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
2
32
-51
29
-35
0
0
0
1
0
0
0
0
0
0
0
0
-29
22
-100
-7
8
-3
3
1
0
0
0
0
0
0
0
0
0
-1
-61
-33
6
50
-2
-19
-1
-9
0
0
0
0
0
0
0
0
1
-4
-8
25
123
-28
-78
3
0
-2
0
0
0
0
0
0
0
0
0
3
2
-30
21
8
-42
0
0
0
0
0
0
0
0
0
0
0
10
0
4
-2
8
10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
29
-74
8
6
0
0
0
19
0
0
0
0
0
0
0
0
0
-8
-12
-18
56
-42
4
13
1
0
0
0
0
0
0
0
0
0
3
49
-24
-25
14
31
-5
-2
0
0
0
0
0
0
0
0
0
0
23
9
56
29
-9
8
0
0
0
0
0
0
0
0
0
0
0
-7
-64
97
48
14
35
8
0
0
0
0
0
0
0
0
0
0
0
18
55
75
58
39
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
16
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
2
16
0
0
0
0
0
0
0
0
0
0
0
0
4
29
6
-59
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
92
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
13
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-6
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
52
3
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-4
9
-6
-3
0
0
0
0
0
0
0
0
0
0
1
1
0
-9
9
-3
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
12
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-9
-10
-30
-17
13
0
0
0
0
0
0
0
0
0
1
0
-3
10
-10
0
-1
-5
0
0
0
0
0
0
0
0
0
-3
-1
0
42
-1
4
-41
-25
0
0
0
0
0
0
0
0
0
0
0
-1
4
-49
-7
51
2
0
0
0
0
0
0
0
0
0
0
0
8
1
0
-7
32
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
0
-25
8
0
0
0
0
0
0
0
0
0
-7
5
0
-14
-13
8
-8
-13
2
0
0
0
0
0
0
0
0
-2
0
-4
18
41
51
-4
9
0
0
0
0
0
0
0
0
0
0
0
1
6
21
14
-2
50
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
-14
3
-8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-8
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
-1
4
1
6
0
-2
0
0
0
0
0
0
0
0
0
7
-1
-10
6
0
-32
3
-2
0
0
0
0
0
0
0
1
0
0
3
4
-5
-1
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
120
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
1
-9
-1
3
-1
0
0
0
2
0
0
0
0
0
0
0
0
4
-5
1
-30
-39
-6
-37
-4
0
1
0
0
0
0
0
0
0
0
2
-9
11
23
-31
-31
59
1
0
0
0
0
0
0
0
0
-2
7
-7
53
-86
-42
-26
3
0
0
0
0
0
0
0
0
0
0
0
-1
12
9
-98
-84
25
1
0
0
0
0
0
0
0
0
0
0
0
1
7
-2
33
-76
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
17
-23
23
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
2
43
-14
16
42
0
0
0
0
0
0
0
0
0
0
0
-3
-5
38
-102
-2
-7
-11
-10
23
0
0
0
0
0
0
0
0
0
14
20
-25
7
13
82
14
20
1
0
0
0
0
0
0
0
-14
3
0
-8
29
58
70
5
24
-1
0
0
0
0
0
0
0
0
0
0
-8
4
11
65
104
-25
-3
0
0
0
0
0
0
0
0
0
0
0
1
-23
30
19
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
0
-16
8
-52
41
0
0
0
0
0
0
0
0
0
0
0
0
19
51
-6
-11
-62
3
0
0
0
1
0
0
0
0
0
0
0
2
-13
-43
-8
9
-9
-32
-17
-53
0
0
0
0
0
0
0
0
-15
-4
21
-5
39
-70
-160
58
-14
-7
0
0
0
0
0
0
0
0
0
60
22
103
110
-16
-38
29
2
-2
0
0
0
0
0
0
0
0
-7
-4
4
100
28
-55
9
-1
0
0
0
0
0
0
0
0
0
0
8
-6
42
-51
18
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
41
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
15
0
-8
27
-19
-35
0
0
0
0
0
0
0
0
0
0
6
1
5
-50
-2
-27
1
0
0
0
1
-2
0
0
0
0
0
0
-9
-22
18
-7
-93
9
-34
-4
5
0
0
0
0
0
0
0
0
-3
8
-71
11
33
-35
-6
14
38
-1
0
0
0
0
0
0
0
-17
13
5
-57
67
-10
19
-37
-46
-1
-1
0
0
0
0
0
0
-5
4
2
-1
21
45
-12
53
31
7
0
0
0
0
0
0
0
0
0
0
1
-5
-59
37
25
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
13
-2
-45
33
69
0
0
0
5
0
0
0
0
0
0
0
0
10
-17
0
-105
-13
0
0
0
-3
-6
0
0
0
0
0
0
37
-31
-10
-17
-3
46
-10
-42
5
-1
0
0
0
0
0
0
0
10
21
-17
2
22
-52
-59
-78
28
-1
0
0
0
0
0
0
0
1
12
45
-19
7
-92
-11
3
-88
-2
-1
0
0
0
0
0
0
-3
3
-42
17
-41
-63
-56
11
-8
-3
0
0
0
0
0
0
0
0
0
0
23
-21
-8
-25
25
-11
6
0
0
0
0
0
0
0
0
0
0
2
1
0
1
14
-34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-24
-23
-22
3
4
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-24
-53
67
-4
0
0
0
-22
-1
0
0
0
0
0
0
-6
-43
-57
28
75
-10
-43
16
-37
-36
0
0
0
0
0
0
0
-8
37
1
-3
-55
-78
-8
-38
-26
14
0
0
0
0
0
0
0
0
-24
14
31
-30
-89
-111
104
101
-3
0
0
0
0
0
0
0
4
1
16
-44
-32
-38
-19
85
110
-5
0
0
0
0
0
0
0
-3
0
0
-23
20
60
85
9
19
-34
0
0
0
0
0
0
0
0
0
0
0
-39
-1
88
8
15
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
17
-2
0
0
0
5
-10
0
0
0
0
0
0
0
0
0
-4
-6
0
8
25
22
0
-14
0
0
0
0
0
0
0
0
0
18
2
5
3
-21
-16
19
4
0
0
0
0
0
0
0
0
0
1
-1
16
8
46
85
-22
2
0
0
0
0
0
0
0
0
0
0
-1
10
0
-13
54
12
8
0
0
0
0
0
0
0
0
0
2
0
0
-8
32
-15
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
1
10
-31
0
0
0
0
0
0
0
0
0
0
3
1
-2
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
3
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-12
0
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-30
-19
8
-2
23
-2
20
0
0
0
0
0
0
0
0
0
1
0
6
31
8
-30
-18
-1
0
0
0
0
0
0
0
0
-1
-2
0
-4
-18
42
-24
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-25
8
3
0
0
0
0
0
0
0
0
0
0
0
3
-2
-3
12
12
-48
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
1
-1
1
0
3
0
0
0
0
0
0
0
0
0
0
4
3
8
14
14
35
-8
-4
0
0
0
0
0
0
0
0
6
0
0
-2
4
-24
-5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-3
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
2
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-30
-5
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
4
0
0
0
0
0
0
0
0
-1
1
0
1
14
-5
-4
-18
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-22
4
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-7
3
49
3
1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
2
0
-39
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
-25
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
2
27
-8
-5
-23
-7
-1
0
0
0
0
0
0
0
0
10
0
1
-2
38
91
-66
2
0
0
0
0
0
0
0
0
4
0
-13
5
-20
-31
63
1
30
0
0
0
0
0
0
0
0
0
0
0
-3
-5
44
-6
-48
66
0
0
0
0
0
0
0
0
0
0
4
-1
0
-3
-17
25
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
5
-26
-33
-41
3
106
0
0
0
-1
0
0
0
0
0
0
0
-12
-1
-33
-4
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
22
-32
75
2
2
-29
60
6
0
0
0
0
0
0
0
0
2
35
41
-27
-15
-67
68
84
-25
1
0
0
0
0
0
0
0
8
-5
-4
52
-31
-3
-49
100
-21
8
0
0
0
0
0
0
0
0
-2
19
-5
9
-4
9
9
20
0
0
0
0
0
0
0
0
0
-1
-2
4
-6
-16
-17
29
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-90
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-10
18
31
-32
7
0
0
0
0
0
0
0
0
0
0
0
-2
13
18
27
28
1
0
0
0
-2
0
0
0
0
0
0
0
0
4
-52
9
47
-6
42
-35
-13
0
0
0
0
0
0
0
0
1
-22
-9
-69
-38
44
-42
-14
-28
-5
0
0
0
0
0
0
0
0
-18
24
-50
3
79
31
-26
27
0
0
0
0
0
0
0
0
1
0
8
49
1
-12
51
-16
-33
1
0
0
0
0
0
0
0
0
0
1
-15
1
-2
19
-42
-16
0
0
0
0
0
0
0
0
0
0
0
-7
0
22
51
-26
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-8
13
32
20
13
77
0
0
0
0
0
0
0
0
0
0
2
7
12
-30
-84
43
-59
0
0
0
0
0
0
0
0
0
0
0
2
29
42
73
-15
-6
-4
45
-5
0
0
0
0
0
0
0
0
51
7
58
-29
-45
9
47
-25
15
-16
0
0
0
0
0
0
0
0
-48
-13
-45
-2
-62
-41
-139
-51
7
-1
0
0
0
0
0
0
0
-1
-8
52
42
8
63
-115
-9
-4
2
0
0
0
0
0
0
0
0
-1
-41
13
93
15
57
-42
-8
0
0
0
0
0
0
0
0
0
-4
-7
7
-21
49
-120
-11
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
33
0
0
0
0
0
0
0
0
0
0
4
13
-12
-42
-8
0
0
0
0
0
0
0
0
0
0
0
-20
-20
0
8
74
-25
0
0
0
2
0
0
0
0
0
0
0
-3
73
-13
36
15
49
70
13
-8
0
0
0
0
0
0
0
0
12
-41
-5
32
23
11
51
-9
44
-1
-1
0
0
0
0
0
0
-3
29
49
-56
-20
-46
-87
-69
-95
-1
2
0
0
0
0
0
0
0
-24
8
12
-122
-24
-30
-31
11
-2
0
0
0
0
0
0
0
0
-7
-17
30
47
-24
-52
27
62
7
0
0
0
0
0
0
0
0
0
-1
-12
-28
-57
5
19
-56
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
5
0
0
0
0
0
0
0
0
0
-22
-50
16
-19
53
0
0
0
34
0
0
0
0
0
0
0
-7
31
-23
-61
63
27
0
0
0
-1
1
0
0
0
0
0
0
0
30
18
0
56
94
-2
26
-10
-1
0
0
0
0
0
0
0
4
46
-53
43
14
-35
-92
-8
56
-37
0
0
0
0
0
0
0
-7
-42
46
63
-15
-70
73
-5
-42
42
0
0
0
0
0
0
0
-8
-2
-8
-33
-62
-4
-9
29
-20
3
0
0
0
0
0
0
0
0
0
16
-2
-64
-33
-130
48
-9
15
0
0
0
0
0
0
0
0
0
-5
-9
0
-26
44
53
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-7
-6
0
0
0
1
-2
0
0
0
0
0
0
0
0
1
1
8
2
-19
7
9
2
-2
0
0
0
0
0
0
0
0
0
3
-6
24
14
-12
24
0
-1
0
0
0
0
0
0
0
0
0
4
7
-2
-9
-14
24
6
-8
0
0
0
0
0
0
0
0
0
0
-2
-2
-7
0
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-42
15
31
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
1
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
-10
7
-1
3
0
0
0
0
0
0
0
0
0
0
4
6
0
-4
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-5
-1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
3
-13
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
-17
-9
26
-31
23
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-27
30
-20
25
14
8
0
0
0
0
0
0
0
0
0
0
-4
12
9
-25
23
43
-31
0
0
0
0
0
0
0
0
0
1
0
24
3
73
-43
50
31
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-25
85
-8
66
0
0
0
0
0
0
0
0
0
0
0
0
-5
-14
-35
-37
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-7
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
1
22
-9
-3
13
0
0
0
0
0
0
0
0
0
0
0
-2
-1
13
13
12
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
17
5
31
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-14
1
9
0
0
0
-2
1
0
0
0
0
0
0
0
3
10
3
0
4
18
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
3
12
25
0
0
0
0
0
0
0
0
0
0
1
0
-2
12
33
12
1
8
0
0
0
0
0
0
0
0
0
1
-3
0
0
-1
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
-2
5
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
31
24
8
-5
-2
0
0
0
0
0
0
0
0
0
0
0
5
-8
-27
-23
6
16
0
0
0
0
0
0
0
0
0
0
0
0
-72
-1
0
28
20
-50
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-10
1
-20
0
0
0
0
0
0
0
0
4
29
-7
0
27
-17
32
-80
-24
0
0
0
0
0
0
0
0
0
0
34
-8
13
-56
-19
-21
5
0
0
0
0
0
0
0
0
0
3
5
10
3
24
5
9
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-3
8
-83
-36
10
3
0
0
0
0
0
0
0
0
0
0
0
13
19
-66
120
3
13
0
0
0
0
0
0
0
0
0
0
0
1
-50
57
49
29
9
0
86
4
0
0
0
0
0
0
0
0
1
59
45
12
-2
41
89
-14
-7
-1
0
0
0
0
0
0
0
2
-10
40
-44
-3
-38
-93
42
-13
5
0
0
0
0
0
0
0
-1
0
-6
36
0
-17
23
-45
59
-1
0
0
0
0
0
0
0
0
0
-8
-2
-8
27
-46
-25
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
9
-92
1
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
-82
1
0
0
0
0
0
0
0
0
0
7
13
-54
64
21
0
0
0
0
0
0
0
0
0
0
0
15
-42
-20
26
-22
55
0
0
0
0
0
0
0
0
0
0
0
-9
51
-45
56
13
21
-17
52
7
5
0
0
0
0
0
0
0
6
14
-32
6
-72
25
-69
79
-18
1
0
0
0
0
0
0
0
-3
72
7
-10
-39
-54
-94
-2
23
8
1
0
0
0
0
0
0
-10
2
-10
-43
-37
10
-46
-36
-49
-3
0
0
0
0
0
0
0
2
6
-8
-22
4
63
-65
-90
10
0
0
0
0
0
0
0
0
0
0
0
8
8
0
-30
-64
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
3
-4
20
-10
-42
50
-73
0
0
0
0
0
0
0
0
0
0
1
8
-64
100
-44
14
-14
0
0
0
1
0
0
0
0
0
0
-16
64
26
28
7
13
-58
-34
-26
49
0
-1
0
0
0
0
0
0
-2
-25
-27
78
107
43
37
-47
20
7
0
0
0
0
0
0
0
-3
-9
-30
61
91
80
-93
-48
-82
17
1
0
0
0
0
0
0
0
8
-6
30
-77
-78
-43
-93
-48
12
0
0
0
0
0
0
0
0
0
7
-15
30
70
79
44
-83
-14
0
0
0
0
0
0
0
0
0
0
17
25
-35
32
112
-56
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-69
3
0
0
0
0
0
0
0
0
17
138
13
-36
-57
34
0
0
0
0
0
0
0
0
0
0
0
-6
6
-77
-39
9
15
0
0
0
-6
0
0
0
0
0
0
0
6
-3
19
-20
-45
-59
-47
22
-8
0
0
0
0
0
0
0
0
-22
50
-2
-28
66
-2
-57
-5
-79
0
0
0
0
0
0
0
0
-1
23
-21
-34
35
115
-21
-68
57
0
0
0
0
0
0
0
-3
0
-7
22
57
45
-20
-104
-24
-82
-5
0
0
0
0
0
0
0
0
5
15
85
18
-79
-145
23
-53
12
0
0
0
0
0
0
0
0
3
-7
-9
6
7
115
30
55
12
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-24
2
0
0
0
0
0
0
0
0
-5
-2
42
-43
65
13
0
0
0
-1
0
0
0
0
0
0
0
0
-10
20
53
30
31
0
0
0
-7
0
0
0
0
0
0
0
2
-49
-20
-27
63
-47
92
16
-18
1
1
0
0
0
0
0
0
10
-5
-20
7
-17
78
-65
-51
-61
-18
0
0
0
0
0
0
0
0
37
38
9
19
-5
-55
-60
9
18
-1
0
0
0
0
0
0
0
34
-74
81
72
57
12
-140
-61
23
0
0
0
0
0
0
0
0
2
-27
56
-60
-72
-52
-10
-53
-31
0
0
0
0
0
0
0
0
-1
0
5
-8
65
10
45
14
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
4
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
3
25
2
-1
14
-13
1
-3
0
0
0
0
0
0
0
0
0
-1
1
-12
-17
-13
0
3
0
0
0
0
0
0
0
0
0
0
-2
-3
18
16
-7
-19
-5
7
0
0
0
0
0
0
0
0
0
0
0
-1
4
10
-34
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-6
-39
-5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-3
0
13
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-31
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
57
7
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
22
0
0
0
0
0
0
0
0
0
2
-1
0
24
1
-10
0
0
0
0
0
0
0
0
0
0
0
5
64
24
-31
17
1
0
0
0
0
0
0
0
0
0
0
0
0
-75
-4
-134
15
11
0
-5
-45
0
0
0
0
0
0
0
0
0
0
9
42
-63
18
-17
23
-24
0
0
0
0
0
0
0
0
0
0
-4
-20
42
55
11
33
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-13
-5
35
120
52
0
0
0
0
0
0
0
0
0
1
0
-1
1
-3
-3
72
-2
0
0
0
0
0
0
0
0
0
0
-4
1
0
2
19
63
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-10
-2
-5
0
0
0
9
0
0
0
0
0
0
0
0
0
2
-6
19
19
-2
-12
-12
1
0
0
0
0
0
0
0
0
0
0
2
-8
5
-30
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-15
14
6
0
0
0
0
0
0
0
0
0
0
0
-2
6
10
-7
20
28
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
-27
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
4
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
-2
-1
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
-16
9
0
-5
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-2
-13
-38
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
2
-5
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
8
2
25
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
21
0
0
0
0
0
0
0
0
0
9
0
-5
-20
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
53
3
-49
-15
-59
0
0
0
0
0
0
0
0
0
0
0
0
8
21
-114
13
-5
-15
-26
5
0
0
0
0
0
0
0
0
2
0
-3
2
-23
-42
23
44
-59
0
0
0
0
0
0
0
0
-8
-4
0
0
0
-4
37
56
-10
0
0
0
0
0
0
0
0
-8
0
0
-6
-6
45
-19
-46
-48
0
0
0
0
0
0
0
0
0
0
8
4
-10
-25
-9
-29
-32
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-51
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
-29
2
-14
-46
7
0
0
0
0
0
0
0
0
0
0
0
1
-25
-56
66
-80
20
0
0
0
0
0
0
0
0
0
0
0
0
13
-105
-8
-63
-133
-24
-10
-46
0
0
0
0
0
0
0
0
-7
9
5
69
-21
-81
29
-14
-15
0
0
0
0
0
0
0
0
12
42
4
-7
0
0
6
9
-13
0
0
0
0
0
0
0
0
-2
-1
5
0
0
58
-42
-73
-80
0
0
0
0
0
0
0
0
0
0
0
3
-30
-48
-34
-77
58
2
0
0
0
0
0
0
0
0
0
-6
0
0
6
22
18
62
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-49
0
0
0
0
0
0
0
0
0
-8
0
-42
-18
-13
15
0
0
0
0
0
0
0
0
0
0
0
0
-24
-36
99
-19
48
0
0
0
2
0
0
0
0
0
0
0
0
-6
7
53
4
-48
-19
23
60
-4
0
0
0
0
0
0
0
0
-10
-59
-81
3
3
113
61
-41
0
0
0
0
0
0
0
0
5
0
0
5
2
0
5
76
22
0
0
0
0
0
0
0
0
24
-51
-5
-22
-81
12
57
-70
-55
1
0
0
0
0
0
0
0
-7
-3
-10
-16
-33
-80
-54
-173
-96
-6
0
0
0
0
0
0
0
0
0
0
-20
0
-5
25
-45
-78
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-75
20
0
0
0
0
0
0
0
0
-13
-62
-22
7
-32
20
0
0
0
-2
0
0
0
0
0
0
-8
32
-4
39
13
9
5
0
0
0
0
0
0
0
0
0
0
0
14
-51
6
26
-35
-29
12
-139
16
0
-1
0
0
0
0
0
25
0
52
-6
-66
46
-25
-7
-32
116
18
0
0
0
0
0
0
0
-7
-7
-33
85
13
8
0
-9
-53
-8
0
0
0
0
0
0
0
24
13
-38
21
17
48
-19
-78
-6
5
0
0
0
0
0
0
0
0
3
-2
67
30
53
-55
-5
-107
-41
0
0
0
0
0
0
0
0
0
0
0
-43
25
47
3
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
-71
0
0
0
0
0
0
0
0
0
-5
35
0
61
-2
-13
0
0
0
0
0
0
0
0
0
0
0
16
29
-29
16
-46
35
0
0
0
-4
0
0
0
0
0
0
0
12
-14
12
-15
98
6
-60
-14
-85
0
0
0
0
0
0
0
0
-35
-30
22
-41
13
-38
66
-6
-20
6
0
0
0
0
0
0
0
32
52
94
41
55
-84
-8
0
-1
1
0
0
0
0
0
0
0
3
58
-46
-37
30
81
-3
4
-7
4
0
0
0
0
0
0
0
0
-13
26
-69
6
44
38
-86
-139
0
0
0
0
0
0
0
0
0
0
45
32
-40
44
-37
-47
-51
4
0
0
0
0
0
0
0
0
0
0
0
2
-3
19
-69
-34
0
0
0
0
0
0
0
0
5
-30
0
-56
12
7
0
0
0
-22
0
0
0
0
0
0
0
1
42
-8
-5
70
52
0
0
0
-3
0
0
0
0
0
0
0
4
-93
32
41
53
24
-5
-76
14
-51
0
0
0
0
0
0
0
0
-51
61
-48
46
26
-70
-54
42
-8
0
0
0
0
0
0
0
0
-18
30
36
137
113
-58
0
0
-2
0
0
0
0
0
0
0
0
23
-67
35
50
-88
-75
-31
1
-2
0
0
0
0
0
0
0
0
-1
22
83
-48
17
27
-81
-62
0
0
0
0
0
0
0
0
3
0
4
6
64
24
21
-47
32
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
2
20
0
0
0
10
4
0
0
0
0
0
0
0
0
0
0
8
-2
2
7
-14
0
-10
0
0
0
0
0
0
0
0
0
5
-7
7
-2
-34
25
5
0
0
0
0
0
0
0
0
0
0
0
-8
1
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
-33
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-1
-4
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-7
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
17
-27
-8
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
-13
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
42
68
3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-9
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-44
0
0
0
0
0
0
0
0
0
1
5
-4
13
-3
2
0
0
0
0
0
0
0
0
0
0
0
6
10
-34
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-72
-24
8
34
1
6
0
0
0
0
0
0
0
0
0
0
-6
0
0
33
-13
-43
-25
0
0
0
0
0
0
0
0
0
0
-1
18
23
-12
41
33
-20
-49
0
0
0
0
0
0
0
0
0
0
-3
-4
-7
16
33
30
63
0
0
0
0
0
0
0
0
0
0
0
-5
-16
33
18
-58
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-9
-57
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
8
0
0
0
0
0
0
0
0
0
0
3
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
24
6
5
0
-5
-7
-2
0
0
0
0
0
0
0
0
0
4
-20
-4
-30
-19
-13
-16
-3
0
0
0
0
0
0
0
0
0
0
9
-30
-3
-7
-37
21
0
0
0
0
0
0
0
0
0
0
0
2
0
10
7
24
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
25
25
8
23
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
25
74
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
34
7
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-6
-3
4
-27
33
-2
2
0
0
0
0
0
0
0
0
0
-5
3
-6
29
13
-3
1
-1
0
0
0
0
0
0
0
-13
0
0
-1
-4
-16
-22
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-3
8
-19
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-10
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
7
8
3
30
0
0
0
0
0
0
0
0
0
0
0
-4
-13
26
31
5
6
0
0
0
0
0
0
0
0
0
0
0
0
3
10
55
-9
7
3
-80
-16
0
0
0
0
0
0
0
0
-12
0
48
-74
-92
-2
-128
8
26
0
0
0
0
0
0
0
0
9
6
5
0
-43
29
-24
-71
34
0
0
0
0
0
0
0
0
0
2
0
0
1
-20
74
22
43
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
-2
-5
-79
0
0
0
0
0
0
0
0
0
0
0
0
-12
2
-42
-24
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
4
49
79
25
1
0
0
0
0
0
0
0
0
0
0
20
-1
-5
-26
40
-17
59
0
0
0
0
0
0
0
0
0
0
-5
1
2
-131
-10
44
-42
20
31
44
0
0
0
0
0
0
0
0
12
18
16
13
4
-54
-37
-5
-6
0
0
0
0
0
0
0
0
-6
-13
-19
-4
-1
-19
-38
-87
76
0
0
0
0
0
0
0
0
-2
2
-1
-1
0
0
-34
42
-2
-1
0
0
0
0
0
0
0
0
-1
-27
0
-5
29
41
-48
98
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-45
-55
22
-47
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
0
0
-3
33
-41
-26
5
-3
0
0
0
0
0
0
0
0
0
0
0
-13
-20
-14
55
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-9
0
77
54
-17
22
-21
39
-29
0
0
0
0
0
0
0
0
2
-39
48
11
-33
49
30
135
94
0
0
0
0
0
0
0
0
-14
43
-28
69
6
-1
21
9
40
4
0
0
0
0
0
0
0
0
83
-28
-50
1
0
-4
4
-8
-4
0
0
0
0
0
0
0
0
0
-25
-24
-8
2
-50
-3
52
1
0
0
0
0
0
0
0
0
0
-2
0
-31
-5
-135
-74
-131
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
0
6
-1
52
-58
12
-48
5
0
0
0
0
0
0
0
0
0
0
1
-41
-19
-63
113
0
74
0
0
0
4
0
0
0
0
0
0
6
22
54
-41
12
-51
-14
65
-43
-5
-4
-1
0
0
0
0
0
0
41
-26
42
4
33
26
-19
-129
23
0
0
0
0
0
0
0
2
31
-69
64
14
-83
-22
25
-72
-81
0
0
0
0
0
0
0
1
10
-22
51
64
36
0
0
-2
-4
0
0
0
0
0
0
0
0
0
-6
-43
-2
21
-22
2
-5
-43
0
0
0
0
0
0
0
0
0
0
0
7
8
-10
-18
-50
-155
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
7
0
0
0
0
0
0
0
0
9
-53
15
32
77
7
0
0
0
0
0
0
0
0
0
0
-7
15
54
-89
8
14
-67
0
0
0
0
0
0
0
0
0
0
0
-16
10
31
30
11
5
-56
98
-8
-2
-3
0
0
0
0
0
0
-62
-1
-102
1
13
-58
-36
2
-114
-2
0
0
0
0
0
0
0
-20
5
69
-10
-79
-56
-70
24
-63
24
0
0
0
0
0
0
0
1
55
145
30
77
0
41
0
0
-2
0
0
0
0
0
0
0
0
5
-16
-21
27
-62
12
75
-129
-8
0
0
0
0
0
0
0
0
0
25
2
15
24
-102
0
-101
0
0
0
0
0
0
0
0
0
0
0
2
-7
-7
10
43
7
0
0
0
0
0
0
0
0
0
-3
-46
-49
31
-1
0
0
0
-20
0
0
0
0
0
0
0
0
-11
-86
-61
22
-14
0
0
0
12
0
0
0
0
0
0
0
2
49
-19
-47
52
46
15
5
74
1
0
0
0
0
0
0
0
-1
7
75
50
42
-69
-78
-83
-4
-38
0
0
0
0
0
0
0
-2
83
42
6
-1
-29
-43
-48
0
-5
0
0
0
0
0
0
0
0
-5
9
65
35
98
-81
-2
0
0
0
0
0
0
0
0
0
0
0
39
55
9
-127
-24
2
19
2
0
0
0
0
0
0
0
0
0
0
-21
-84
58
12
-51
-53
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
-16
3
0
0
0
0
0
0
0
0
0
2
-6
2
0
-8
-5
7
-10
0
0
0
0
0
0
0
0
0
-1
19
33
-3
4
-30
1
1
0
0
0
0
0
0
0
0
0
0
-2
7
3
-43
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-69
0
0
0
0
0
0
0
0
0
0
5
-8
6
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-7
-1
-9
-2
0
0
0
0
0
0
0
0
0
0
0
1
6
25
-30
7
14
4
0
9
0
0
0
0
0
0
0
0
0
0
42
-4
-6
-51
-10
-2
-8
0
0
0
0
0
0
0
0
0
-13
0
1
31
8
-8
-25
-27
0
0
0
0
0
0
0
0
0
0
0
-1
9
-7
-85
-31
-33
0
0
0
0
0
0
0
0
0
0
0
7
-5
55
-19
65
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
5
-22
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-49
4
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
7
58
1
0
0
8
0
0
0
0
0
0
0
0
0
0
19
-1
-5
-16
-25
10
7
0
0
0
0
0
0
0
0
0
0
-37
-1
-7
-1
-12
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
39
-14
-1
14
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
-7
66
13
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
15
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
17
-6
4
-6
-1
0
0
0
0
0
0
0
0
0
-1
-2
0
51
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
41
-5
5
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-5
6
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
17
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
25
31
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-8
42
7
0
0
10
0
0
0
0
0
0
0
0
0
0
16
71
-94
-75
-6
-32
-56
0
0
0
0
0
0
0
0
0
6
9
-25
-63
-86
-10
-32
-1
0
0
0
0
0
0
0
0
0
-8
-4
0
-9
137
75
-78
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
20
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
0
0
0
0
0
0
0
0
0
0
4
4
72
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
-45
29
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-54
-18
-34
33
0
-6
0
0
0
0
0
0
0
0
0
5
35
-32
43
-42
35
-13
-22
0
0
0
0
0
0
0
0
6
-29
12
-39
-9
-27
-57
-13
-47
0
0
0
0
0
0
0
0
0
0
3
8
0
66
-59
-139
11
0
0
0
0
0
0
0
0
0
8
-2
2
0
-1
16
9
-8
0
0
0
0
0
0
0
0
4
1
-3
0
3
-19
-81
-13
-25
-9
0
0
0
0
0
0
0
0
0
0
0
0
-19
-2
60
2
0
0
0
0
0
0
0
0
0
-6
28
3
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
58
17
107
-42
0
0
0
0
0
0
0
0
0
0
0
0
8
30
-26
-31
47
8
7
82
0
0
0
0
0
0
0
0
-2
-6
-80
-14
-93
37
-2
-39
198
0
0
0
0
0
0
0
0
-2
-84
-55
-47
60
-53
-96
-125
20
0
0
0
0
0
0
0
0
0
16
46
34
11
1
18
-122
11
0
0
0
0
0
0
0
0
0
-2
-46
-27
-6
0
0
47
4
0
0
0
0
0
0
0
0
0
0
0
-31
-2
0
-122
-42
-13
31
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-14
0
0
0
0
0
0
0
0
0
-19
14
44
55
-3
0
0
0
8
0
0
0
0
0
0
0
0
-34
-6
-10
112
24
0
0
0
30
-1
0
0
0
0
0
-4
5
-5
0
65
-63
45
-6
-28
-76
0
0
0
0
0
0
0
-3
0
-16
-62
-25
-9
-76
96
19
-3
-6
0
0
0
0
0
0
0
-10
86
16
-13
42
-64
-68
-28
-59
-25
0
0
0
0
0
0
0
2
-42
-56
-12
33
-80
17
32
-146
34
0
0
0
0
0
0
0
0
-1
31
7
-27
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
21
-8
-23
-24
0
-15
-56
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-74
0
-1
0
0
0
0
0
0
0
1
-66
-39
4
-54
-46
0
0
0
-2
0
0
0
0
0
0
0
9
-5
47
7
-17
6
0
0
0
2
0
0
0
0
0
0
0
5
27
-15
-11
-57
-49
14
14
12
-1
-1
0
0
0
0
0
0
-38
36
-31
-25
-12
28
-83
26
-129
3
0
0
0
0
0
0
0
-7
4
-6
-5
-28
15
82
-23
79
0
0
0
0
0
0
0
0
-10
-18
1
12
-24
15
-67
-5
-17
1
0
0
0
0
0
0
0
10
8
65
49
-12
-135
12
0
0
8
0
0
0
0
0
0
0
0
-2
-31
-50
9
-109
-12
0
-24
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-22
0
0
0
0
0
0
0
0
0
-55
5
-47
3
-5
0
0
0
-8
0
0
0
0
0
0
0
0
-8
30
-10
11
-28
0
0
0
4
0
0
0
0
0
0
0
0
13
-46
-16
-6
44
6
-25
6
28
0
0
0
0
0
0
0
44
13
-56
-32
129
5
1
-17
29
4
0
0
0
0
0
0
0
-1
-33
-83
-23
-29
-60
-35
-150
-14
-26
0
0
0
0
0
0
0
0
0
72
8
-86
-73
-4
-24
0
-13
0
0
0
0
0
0
0
0
0
43
38
-18
-69
-62
2
0
0
0
0
0
0
0
0
0
0
0
-51
82
25
7
-1
43
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
0
0
0
-1
-24
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
8
-56
0
0
0
0
0
0
0
0
0
0
8
-4
-5
0
2
-1
16
0
0
0
0
0
0
0
0
0
1
0
-7
8
-22
7
-2
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
-13
-61
0
-5
0
0
0
0
0
0
0
0
0
0
5
-17
9
22
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
15
-16
25
-7
2
0
0
0
0
0
0
0
0
0
0
1
0
5
-6
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
1
-16
9
-1
1
3
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
-2
9
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-5
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-8
-8
9
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
10
7
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-6
4
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-2
1
-3
0
0
0
0
0
0
0
0
0
-1
-5
1
22
-42
44
60
8
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-4
-50
39
-2
0
0
0
0
0
0
0
0
0
0
-3
0
8
-30
-19
-26
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-42
31
0
0
0
0
0
0
0
0
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-20
1
-4
0
0
0
-5
0
0
0
0
0
0
0
0
4
6
38
-21
-50
-4
-4
2
0
0
0
0
0
0
0
0
0
0
-7
1
-30
6
14
-12
-60
-14
0
0
0
0
0
0
0
0
0
0
1
-7
5
-41
-131
-74
10
0
0
0
0
0
0
0
0
0
2
5
-1
0
48
50
30
39
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-5
-35
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
42
13
2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-37
-8
12
-1
1
5
0
0
0
0
0
0
0
0
0
0
10
69
-33
3
-1
-6
-45
0
0
0
0
0
0
0
0
1
3
0
-67
8
51
-55
-66
5
0
0
0
0
0
0
0
0
0
0
-8
8
-41
-60
0
-6
58
0
0
0
0
0
0
0
0
0
0
-1
57
22
0
-5
-57
-43
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
-14
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
20
-1
0
0
0
0
0
0
0
0
0
0
-5
2
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
8
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-46
-51
33
46
6
13
0
0
0
0
0
0
0
0
0
7
0
-10
-50
46
5
16
9
15
1
0
0
0
0
0
0
0
-3
-29
18
-54
24
-108
42
2
-41
0
0
0
0
0
0
0
0
0
0
1
33
23
-57
2
-135
22
-5
0
0
0
0
0
0
0
0
-14
1
-53
22
12
-3
-6
-73
2
0
0
0
0
0
0
0
-6
0
-21
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-8
0
0
0
-3
0
0
-19
0
0
0
0
0
0
0
0
0
21
26
30
0
-16
0
0
0
0
0
0
0
0
0
0
0
8
-8
5
13
-4
-31
0
0
0
-3
0
0
0
0
0
0
0
-1
-25
-14
84
42
-4
-3
-1
-83
0
0
0
0
0
0
0
0
-25
-9
17
-27
-22
-27
91
-31
-41
0
0
0
0
0
0
0
0
0
2
23
45
-76
-30
-55
-13
8
0
0
0
0
0
0
0
0
0
-10
-42
-5
-111
83
-31
5
-128
-4
0
0
0
0
0
0
0
0
-5
32
-16
-25
-5
-63
-8
22
-2
0
0
0
0
0
0
0
0
2
6
13
-25
5
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-16
-4
12
0
0
0
-14
0
0
0
0
0
0
0
0
-1
2
1
-25
4
7
0
2
7
0
0
0
0
0
0
0
0
0
-1
0
7
-8
8
15
0
-17
0
0
0
0
0
0
0
0
0
6
-1
1
-8
-60
-35
1
12
0
0
0
0
0
0
0
0
0
2
-28
8
-170
9
-13
-13
35
0
0
0
0
0
0
0
0
0
0
-2
-20
18
-44
-6
0
-6
0
0
0
0
0
0
0
0
0
0
-2
-17
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
-3
-3
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-49
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-20
-3
-41
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-26
27
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-9
0
25
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
36
1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
26
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
-7
-4
-24
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
1
24
-29
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
-7
5
-32
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
-3
-12
-1
7
0
0
0
0
0
0
0
0
0
0
0
4
-8
42
-23
2
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
25
6
1
0
-8
0
0
0
0
0
0
0
0
4
1
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-42
24
3
6
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-3
10
-7
5
2
0
0
0
0
0
0
0
0
0
0
1
-1
1
1
0
8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-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
8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
12
1
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
-3
0
3
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-8
1
29
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
3
0
0
3
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
-5
-5
8
31
0
2
0
0
0
0
0
0
0
0
0
0
5
6
41
16
-5
0
-1
1
-1
0
0
0
0
0
0
0
0
4
-10
32
-1
0
1
-27
14
0
0
0
0
0
0
0
0
0
-68
43
-2
-35
-1
1
0
0
0
0
0
0
0
0
0
0
0
-14
21
-4
3
-6
-6
-7
0
0
0
0
0
0
0
0
0
0
1
6
6
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
5
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
49
17
42
48
29
7
0
16
0
0
0
0
0
0
0
0
0
23
19
-13
18
-43
-18
5
0
0
0
0
0
0
0
0
0
5
75
-47
42
-34
1
-8
-9
-6
0
0
0
0
0
0
0
0
-8
60
-3
13
-42
1
10
2
1
0
0
0
0
0
0
0
0
-2
-3
-5
5
-7
2
0
0
0
0
0
0
0
0
0
0
0
-3
-35
0
27
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
12
-14
5
9
0
0
0
0
0
0
0
0
0
0
5
-42
-20
41
-20
-23
3
7
0
0
0
0
0
0
0
0
0
17
3
-23
44
51
29
14
8
19
2
0
0
0
0
0
0
0
-4
13
61
14
0
30
-25
-20
0
0
0
0
0
0
0
0
0
-6
-30
1
24
39
-13
29
-1
0
0
0
0
0
0
0
0
0
6
5
37
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
6
18
5
34
-44
13
0
0
0
0
0
0
0
0
0
0
-21
8
138
-1
-1
-71
-15
-7
2
0
0
0
0
0
0
0
0
0
46
1
31
-9
34
31
4
0
0
0
0
0
0
0
0
0
47
0
-31
33
5
-24
23
2
0
0
0
0
0
0
0
0
0
16
21
13
-8
48
39
2
0
-1
0
0
0
0
0
0
0
0
43
18
113
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
86
-10
-46
54
0
0
4
0
0
0
0
0
0
0
0
0
0
-45
-2
-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
-4
6
0
-7
4
-1
0
0
0
0
0
0
0
0
0
0
0
13
5
17
13
3
-4
0
-1
0
0
0
0
0
0
0
0
0
5
1
16
19
5
3
2
0
0
0
0
0
0
0
0
0
0
0
2
-31
8
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-5
0
0
4
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
8
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
4
-6
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-20
-5
13
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
5
-39
-17
14
9
-14
-2
-1
0
0
0
0
0
0
0
0
0
0
50
19
-1
7
-6
-3
0
0
0
0
0
0
0
0
0
0
-1
31
2
-7
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
0
4
9
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
-1
5
72
-2
-2
-2
1
0
0
0
0
0
0
0
0
0
1
-13
29
5
-4
0
-2
-1
0
0
0
0
0
0
0
0
0
-1
2
3
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
12
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-8
0
-1
0
0
0
0
0
0
0
0
0
-8
2
1
0
2
0
5
0
0
0
0
0
0
0
0
0
0
2
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-2
-15
-9
19
0
0
0
0
0
0
0
0
0
0
-9
-16
2
42
0
19
6
-1
1
0
0
0
0
0
0
0
0
1
3
-2
5
-4
-18
6
-7
-1
0
0
0
0
0
0
0
0
24
6
6
-6
2
4
0
1
0
0
0
0
0
0
0
0
0
2
-7
-6
18
1
-7
0
0
0
0
0
0
0
0
0
0
0
2
0
-7
3
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-12
-3
8
-34
5
31
7
7
0
0
0
0
0
0
0
0
0
49
19
20
2
-4
25
-19
0
-5
0
0
0
0
0
0
0
0
-18
93
-45
2
43
8
7
2
0
0
0
0
0
0
0
0
0
50
142
-21
3
23
18
-23
-1
0
0
0
0
0
0
0
0
0
-31
2
-24
27
-6
-8
-10
2
0
0
0
0
0
0
0
0
0
49
-31
33
29
10
-2
31
-1
0
0
0
0
0
0
0
0
0
38
-32
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
49
-27
28
1
-18
0
0
0
0
0
0
0
0
0
0
-8
14
-28
17
-11
26
-9
17
0
0
0
0
0
0
0
0
0
-18
-23
0
-33
10
76
-25
6
-13
0
0
0
0
0
0
0
0
1
55
97
20
-29
-15
-21
39
0
0
0
0
0
0
0
0
0
1
59
65
57
34
-1
-1
-7
-3
0
0
0
0
0
0
0
0
29
14
48
13
-13
1
0
0
0
0
0
0
0
0
0
0
0
-4
-13
0
-13
-1
-7
-2
14
-2
0
0
0
0
0
0
0
0
0
49
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
23
36
34
-6
-4
13
-8
0
0
0
0
0
0
0
0
0
60
-41
-37
42
-16
-34
11
1
-9
0
0
0
0
0
0
0
0
2
110
4
-32
-43
-59
-50
-15
2
-1
0
0
0
0
0
0
0
22
-15
24
22
42
-8
-4
49
-8
0
0
0
0
0
0
0
0
-18
50
-5
0
5
29
-20
6
0
-3
0
0
0
0
0
0
0
61
-35
41
-8
-31
-5
1
-5
0
0
0
0
0
0
0
0
0
-47
9
39
3
2
-1
4
2
0
0
0
0
0
0
0
0
0
3
-9
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
69
29
5
-54
49
23
-5
0
0
0
0
0
0
0
0
0
-21
99
20
31
77
3
63
-27
1
0
0
0
0
0
0
0
0
11
1
90
58
9
89
-81
-58
4
2
0
0
0
0
0
0
0
-13
51
30
-9
5
19
-5
37
-8
-2
0
0
0
0
0
0
0
-31
13
-70
43
-10
37
22
57
8
0
0
0
0
0
0
0
0
-25
68
-8
34
-15
31
33
9
0
0
0
0
0
0
0
0
0
13
26
33
15
-5
13
0
0
0
0
0
0
0
0
0
0
0
1
58
32
74
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
15
-17
4
41
20
62
0
0
0
0
0
0
0
0
0
0
112
46
79
38
83
-25
21
-44
0
0
0
0
0
0
0
0
0
-30
17
-5
-27
73
-69
-75
-22
-7
0
0
0
0
0
0
0
0
119
9
66
6
35
-43
15
73
0
0
0
0
0
0
0
0
0
4
78
-46
-133
31
-1
25
54
0
0
0
0
0
0
0
0
0
14
-101
19
48
9
34
1
0
0
0
0
0
0
0
0
0
0
39
65
1
69
-14
0
1
0
0
0
0
0
0
0
0
0
0
-1
-5
8
-5
0
0
0
0
0
0
0
0
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
0
-2
-5
-22
0
3
0
0
0
0
0
0
0
0
0
19
54
120
76
-5
-29
0
-2
0
0
0
0
0
0
0
0
0
4
19
6
0
-4
15
-24
4
0
0
0
0
0
0
0
0
0
-32
22
-19
32
2
16
2
0
0
0
0
0
0
0
0
0
0
6
2
-24
0
5
0
0
0
0
0
0
0
0
0
0
0
0
5
1
5
0
-1
-8
-1
0
0
0
0
0
0
0
0
0
0
-23
-1
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
6
5
-2
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
12
-1
-4
1
2
3
-2
0
0
0
0
0
0
0
0
0
2
-10
10
-24
3
-4
34
1
0
0
0
0
0
0
0
0
0
3
0
-37
29
32
10
-9
-1
0
0
0
0
0
0
0
0
0
0
58
12
-2
-8
4
-7
1
5
0
0
0
0
0
0
0
0
0
-1
24
18
-3
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
13
3
0
0
0
7
4
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
34
-2
-8
1
0
0
0
0
0
0
0
0
0
0
0
-5
6
-2
0
9
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-7
-6
-3
2
0
0
0
0
0
0
0
0
0
0
0
5
-19
5
0
-6
1
0
0
0
0
0
0
0
0
0
0
-2
-16
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
0
0
0
0
0
0
0
0
0
0
0
2
-1
6
0
-1
-1
5
-1
0
0
0
0
0
0
0
0
0
5
0
22
-1
3
0
0
0
1
0
0
0
0
0
0
0
0
-3
3
-1
-1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
37
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
3
1
24
-1
2
0
0
0
0
0
0
0
0
0
7
-16
42
-19
-2
-19
9
0
0
0
0
0
0
0
0
0
0
-2
3
-8
5
-2
34
-8
0
0
0
0
0
0
0
0
0
0
-44
54
-6
-12
2
-1
-10
7
-3
0
0
0
0
0
0
0
0
-41
-3
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-24
-60
-24
55
56
22
4
0
0
0
0
0
0
0
0
0
0
-34
66
-70
-25
8
13
4
-1
0
0
0
0
0
0
0
0
-110
9
59
119
13
1
-70
0
0
0
0
0
0
0
0
0
0
7
4
49
8
-43
-19
-24
-2
3
0
0
0
0
0
0
0
0
71
6
-5
-10
35
8
8
2
0
0
0
0
0
0
0
0
0
-47
60
20
-13
1
-2
0
-7
0
0
0
0
0
0
0
0
0
0
25
5
21
0
-1
12
0
0
0
0
0
0
0
0
0
0
0
6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-28
-31
-22
-1
-3
-125
4
0
0
0
0
0
0
0
0
0
6
34
153
36
-2
-8
-16
-17
-19
-1
0
0
0
0
0
0
0
16
24
15
-29
-41
122
6
-21
-4
0
0
0
0
0
0
0
0
4
71
-32
-30
-34
-49
-7
4
7
-2
0
0
0
0
0
0
0
-3
29
13
-7
34
30
44
-4
0
0
0
0
0
0
0
0
0
-2
17
90
22
8
25
-4
9
0
0
0
0
0
0
0
0
0
1
9
83
4
2
-2
-3
0
0
0
0
0
0
0
0
0
0
4
108
6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
60
28
61
-13
-4
34
51
0
0
0
0
0
0
0
0
0
24
38
2
-26
-8
61
-22
24
-13
0
0
0
0
0
0
0
0
48
-7
-49
19
35
48
-13
-1
4
-1
0
0
0
0
0
0
0
47
51
30
-5
75
50
-5
-4
1
3
0
0
0
0
0
0
0
-5
-29
57
16
71
65
62
28
25
0
0
0
0
0
0
0
0
112
-14
24
27
103
25
8
-7
29
0
0
0
0
0
0
0
0
-70
-6
7
-5
-13
-3
-3
0
0
0
0
0
0
0
0
0
0
34
22
-13
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
148
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
67
-42
-16
-26
9
-13
-8
0
0
0
0
0
0
0
0
0
-34
35
120
114
-71
49
-3
13
-10
0
0
0
0
0
0
0
0
59
-26
-9
210
126
-60
2
-11
3
-3
0
0
0
0
0
0
0
-9
11
-13
54
15
-42
106
49
-48
0
0
0
0
0
0
0
0
-7
-20
-12
-32
-68
73
23
-17
48
0
0
0
0
0
0
0
0
14
-8
14
31
-15
-40
18
-13
3
5
0
0
0
0
0
0
0
-42
-8
-7
-28
-2
-14
-7
13
48
-1
0
0
0
0
0
0
0
-2
66
-31
-25
20
12
-4
8
0
0
0
0
0
0
0
0
0
42
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-21
9
-34
-27
-83
-49
0
4
0
0
0
0
0
0
0
0
90
46
39
-24
74
-54
72
19
0
2
0
0
0
0
0
0
0
40
111
53
-12
74
-68
-36
-3
-1
0
0
0
0
0
0
0
0
-45
31
88
26
-10
41
61
2
1
0
0
0
0
0
0
0
0
7
39
55
-149
-21
11
-49
57
1
0
0
0
0
0
0
0
0
-93
-40
25
-6
-4
24
42
-8
0
0
0
0
0
0
0
0
0
131
-45
-8
-5
20
9
6
0
2
0
0
0
0
0
0
0
0
-86
14
9
-1
0
13
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-3
-5
21
-9
3
0
0
0
0
0
0
0
0
0
0
0
-8
-15
-5
-1
-12
17
0
0
5
0
0
0
0
0
0
0
0
28
14
0
8
0
22
31
-3
0
0
0
0
0
0
0
0
0
-13
24
3
-19
8
-10
-9
4
0
0
0
0
0
0
0
0
0
1
52
31
8
-7
13
0
1
0
0
0
0
0
0
0
0
0
47
4
17
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-1
3
13
-41
0
0
0
0
0
0
0
0
0
4
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
-6
-1
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
-3
9
6
-13
-6
-18
-55
-7
0
0
0
0
0
0
0
0
0
6
0
-7
-25
-41
-21
-25
20
0
0
0
0
0
0
0
0
0
2
0
-6
24
9
16
32
4
0
0
0
0
0
0
0
0
0
0
-43
1
48
59
-14
1
0
-3
0
0
0
0
0
0
0
0
0
41
60
9
-3
14
-1
7
-1
0
0
0
0
0
0
0
0
0
5
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
16
1
4
4
-4
-7
8
0
0
0
0
0
0
0
0
0
0
6
-3
-8
22
1
-8
0
0
0
0
0
0
0
0
0
0
0
-9
0
-3
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
37
-1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
1
10
1
2
0
0
0
0
0
0
0
0
0
1
0
0
-54
3
0
3
0
-6
0
0
0
0
0
0
0
0
27
-29
42
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
23
-1
0
1
12
-2
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
0
0
-8
-3
1
0
0
0
0
0
0
0
0
0
4
-24
7
0
19
-47
4
3
0
0
0
0
0
0
0
0
0
-8
8
-6
15
-10
-16
4
-1
0
0
0
0
0
0
0
0
0
18
51
31
23
1
-6
0
0
-1
0
0
0
0
0
0
0
0
4
21
31
-5
9
0
22
0
0
0
0
0
0
0
0
0
0
4
-15
-1
12
2
8
0
0
0
0
0
0
0
0
0
0
0
-3
-3
3
8
2
0
0
0
0
0
0
0
0
0
0
0
0
6
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
49
37
5
12
13
10
0
0
0
0
0
0
0
0
0
74
43
66
5
-15
39
-42
2
-4
0
0
0
0
0
0
0
0
7
-21
-39
35
-42
8
-33
-1
25
0
0
0
0
0
0
0
0
7
-31
-23
-17
28
0
-14
7
0
0
0
0
0
0
0
0
0
-26
-22
23
2
-10
53
27
3
10
0
0
0
0
0
0
0
0
-61
8
-13
35
41
-21
0
0
0
0
0
0
0
0
0
0
0
16
38
-8
5
-1
0
-2
0
0
0
0
0
0
0
0
0
0
1
25
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
17
-6
-22
-64
-7
29
23
0
0
0
0
0
0
0
0
0
4
-16
5
-13
84
118
-77
49
1
0
0
0
0
0
0
0
0
10
88
32
-34
44
-39
-11
-12
-45
-8
0
0
0
0
0
0
0
8
40
-38
-59
-1
-32
2
5
-3
0
0
0
0
0
0
0
0
-15
-26
48
23
35
-19
16
23
0
0
0
0
0
0
0
0
0
5
58
51
89
40
54
-24
-1
0
0
0
0
0
0
0
0
0
39
-39
14
38
-34
9
7
0
0
0
0
0
0
0
0
0
0
16
84
99
-32
-1
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
2
99
-4
57
13
-26
44
0
0
0
0
0
0
0
0
0
123
27
-30
11
17
-13
102
-12
9
0
0
0
0
0
0
0
0
15
63
107
19
-13
-2
-31
39
-8
5
0
0
0
0
0
0
0
143
-23
112
-27
26
68
35
8
-1
0
0
0
0
0
0
0
0
-6
14
-46
90
1
-8
69
46
1
0
0
0
0
0
0
0
0
18
72
-18
74
-33
26
-24
0
-1
0
0
0
0
0
0
0
0
37
12
-65
-7
57
41
-4
0
-1
0
0
0
0
0
0
0
0
28
45
5
26
1
0
0
0
0
0
0
0
0
0
0
0
0
13
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
10
30
27
-46
76
37
15
0
0
0
0
0
0
0
0
0
0
-42
11
-22
-40
-36
15
36
-13
-6
0
0
0
0
0
0
0
-64
-20
-10
-78
73
107
-55
70
41
-2
0
0
0
0
0
0
0
-21
22
0
23
84
-49
-3
17
0
0
0
0
0
0
0
0
0
-34
-57
-13
-35
46
5
61
-31
-42
0
0
0
0
0
0
0
0
17
7
-59
41
-22
-20
91
121
-14
2
0
0
0
0
0
0
0
52
33
-6
-20
-21
71
-3
69
50
2
0
0
0
0
0
0
0
-14
-30
-35
4
-8
-5
-5
32
0
0
0
0
0
0
0
0
0
40
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
137
98
-12
74
-67
-13
0
0
0
0
0
0
0
0
0
0
-8
6
-16
85
-50
51
-36
-21
0
0
0
0
0
0
0
0
0
-22
116
30
3
-11
-34
-47
67
2
0
0
0
0
0
0
0
0
127
-14
34
0
-44
42
-13
-10
0
0
0
0
0
0
0
0
0
29
46
-21
-4
-49
123
16
38
-2
0
0
0
0
0
0
0
0
-1
7
31
0
20
18
28
0
0
0
0
0
0
0
0
0
0
15
22
62
56
9
-23
-2
-2
0
0
0
0
0
0
0
0
0
14
-30
-59
-4
6
0
-6
12
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
-31
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-12
51
4
-5
-7
0
0
0
0
0
0
0
0
0
0
0
31
0
3
-15
8
41
1
-1
0
0
0
0
0
0
0
0
0
-3
0
8
-4
15
-2
-3
0
0
0
0
0
0
0
0
0
0
0
31
57
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
54
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
3
0
-1
-4
0
8
2
0
0
0
0
0
0
0
0
0
0
-5
3
-6
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
2
0
-7
7
1
0
0
0
0
0
0
0
0
0
0
-10
-9
-25
14
59
2
19
-1
0
0
0
0
0
0
0
0
-1
16
0
-10
12
20
50
-3
-2
0
0
0
0
0
0
0
0
0
-20
0
-3
41
31
68
0
0
0
0
0
0
0
0
0
0
10
0
13
-59
-16
28
-8
-8
7
0
0
0
0
0
0
0
0
0
28
-13
9
53
54
-2
0
-1
0
0
0
0
0
0
0
0
1
18
-31
-33
-20
0
1
0
0
0
0
0
0
0
0
0
0
0
-66
20
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-3
-4
-6
1
0
0
0
0
0
0
0
0
0
9
0
3
2
2
10
-6
0
0
0
0
0
0
0
0
0
0
-4
-8
5
13
-8
-4
0
0
0
0
0
0
0
0
0
0
0
42
0
-6
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-19
41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
6
6
0
18
-2
-1
0
0
0
0
0
0
0
0
0
-1
4
-23
1
-4
5
13
2
0
0
0
0
0
0
0
0
0
-3
3
-1
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
-5
-2
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-12
-4
-14
-1
-5
1
0
0
0
0
0
0
0
0
0
22
8
-35
-27
-8
134
-3
0
0
0
0
0
0
0
0
0
0
-5
6
-14
-6
34
27
13
-41
4
0
0
0
0
0
0
0
0
-35
6
6
52
-25
-12
-15
3
0
0
0
0
0
0
0
0
0
-5
-16
8
-37
0
0
-7
0
0
0
0
0
0
0
0
0
0
-134
42
25
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
-16
-16
-21
-19
14
-7
0
0
0
0
0
0
0
0
0
-4
-48
-8
22
48
88
45
51
-4
0
0
0
0
0
0
0
0
8
21
46
25
-47
-12
13
41
-10
0
0
0
0
0
0
0
0
66
-118
-24
8
-59
-21
-9
13
3
0
0
0
0
0
0
0
0
-24
109
79
21
-51
0
-15
0
-4
0
0
0
0
0
0
0
0
-42
70
140
-42
-16
20
6
3
-1
0
0
0
0
0
0
0
0
17
62
-59
60
4
-1
5
0
0
0
0
0
0
0
0
0
0
2
122
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
34
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-31
-66
-2
-12
-13
-31
0
0
0
0
0
0
0
0
0
-17
46
-21
-10
36
50
35
24
91
0
0
0
0
0
0
0
0
9
54
-39
44
43
31
38
14
-24
2
0
0
0
0
0
0
0
-53
23
7
-13
12
41
-48
-14
5
0
0
0
0
0
0
0
0
2
33
35
67
68
13
0
-5
8
0
0
0
0
0
0
0
0
42
93
-32
46
-11
13
19
-1
-8
0
0
0
0
0
0
0
0
51
19
66
-27
30
-13
56
0
0
0
0
0
0
0
0
0
0
-3
50
-39
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
-49
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
41
-97
111
29
-39
9
93
0
0
0
0
0
0
0
0
0
-42
66
59
28
-17
29
-7
26
15
0
0
0
0
0
0
0
0
3
9
-40
-32
3
40
88
126
22
-2
0
0
0
0
0
0
0
62
-9
187
-77
60
71
71
-27
-14
0
0
0
0
0
0
0
0
-69
60
81
5
75
13
-67
0
0
0
0
0
0
0
0
0
0
-50
42
-17
66
23
74
-6
72
-5
0
0
0
0
0
0
0
0
1
34
48
51
-7
22
13
0
0
0
0
0
0
0
0
0
0
-35
-43
-81
22
4
-1
4
0
0
0
0
0
0
0
0
0
0
13
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-74
43
40
-50
55
32
-57
0
0
0
0
0
0
0
0
0
22
-17
-16
-5
8
-68
-6
-83
29
0
0
0
0
0
0
0
0
39
31
9
-28
4
51
5
-13
-38
49
0
0
0
0
0
0
0
-22
16
-77
36
27
-49
6
-44
39
-1
0
0
0
0
0
0
0
4
-1
-42
37
42
-40
53
9
0
-1
0
0
0
0
0
0
0
20
-51
-93
60
117
-45
81
-53
65
0
0
0
0
0
0
0
0
12
13
105
45
56
23
123
25
-10
0
0
0
0
0
0
0
0
-24
-94
-74
-27
-1
23
64
-3
6
0
0
0
0
0
0
0
0
-9
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
54
-30
62
106
67
-57
0
0
0
0
0
0
0
0
0
0
50
110
42
1
-21
-60
-69
32
-1
0
0
0
0
0
0
0
0
30
15
78
72
-44
-24
28
-17
-1
0
0
0
0
0
0
0
0
31
72
112
-60
76
15
36
56
0
0
0
0
0
0
0
0
0
-14
51
-24
40
64
64
-5
0
0
0
0
0
0
0
0
0
0
-6
49
11
-55
-27
61
62
-23
13
0
0
0
0
0
0
0
0
131
-78
49
48
13
42
51
37
0
0
0
0
0
0
0
0
0
4
55
-17
3
-4
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
20
-2
16
17
0
0
0
0
0
0
0
0
0
0
0
0
-15
-14
24
41
-42
-5
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-1
2
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
39
-27
-12
6
-5
-5
1
1
0
0
0
0
0
0
0
0
0
-22
16
15
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
1
13
-3
0
0
-3
1
0
0
0
0
0
0
0
0
0
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
12
-4
0
0
0
0
0
0
0
0
0
8
0
-2
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
7
30
22
15
0
4
2
0
0
0
0
0
0
0
0
0
0
0
27
7
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
13
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
1
-7
10
0
0
0
0
0
0
0
0
0
0
-4
3
0
-10
2
29
3
3
0
0
0
0
0
0
0
0
0
-5
0
0
34
16
-68
-7
0
0
0
0
0
0
0
0
0
5
-3
25
31
9
25
2
1
0
0
0
0
0
0
0
0
0
-4
24
-42
-13
-16
-5
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
4
29
-3
-16
4
0
0
0
0
0
0
0
0
0
0
0
-5
18
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
0
0
0
-2
0
1
3
0
7
7
3
0
0
0
0
0
0
0
0
0
2
-3
31
-12
2
-6
8
0
0
0
0
0
0
0
0
0
0
31
-8
42
8
8
5
-2
0
0
0
0
0
0
0
0
0
0
-34
0
-10
-2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
10
59
-4
-25
6
-2
0
0
0
0
0
0
0
0
0
0
0
-43
0
15
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-2
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
10
0
18
-10
-7
-2
0
0
0
0
0
0
0
0
0
1
-1
-8
0
-1
-6
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
1
7
-1
3
0
0
0
0
0
0
0
0
0
0
0
14
-1
-5
0
0
5
-6
0
0
0
0
0
0
0
0
0
0
-8
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
-10
-5
-19
-10
0
0
0
0
0
0
0
0
0
1
25
-6
-24
4
24
-41
51
18
0
0
0
0
0
0
0
0
0
0
1
41
-2
-25
44
0
0
-3
0
0
0
0
0
0
0
0
-8
-4
27
-24
31
31
-10
0
0
0
0
0
0
0
0
0
0
25
34
53
-29
-3
0
5
-1
0
0
0
0
0
0
0
0
12
-14
50
-12
0
-5
0
9
0
0
0
0
0
0
0
0
0
6
109
32
-2
-10
3
-3
0
0
0
0
0
0
0
0
0
0
8
47
-3
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
86
-12
75
-13
-3
39
3
0
0
0
0
0
0
0
0
0
36
26
13
57
94
-59
31
8
-2
0
0
0
0
0
0
0
0
51
31
98
-20
-1
67
55
-3
0
0
0
0
0
0
0
0
0
56
9
-24
-3
22
-21
-8
-1
-1
0
0
0
0
0
0
0
0
-1
18
6
30
55
-7
-13
-48
2
0
0
0
0
0
0
0
0
-26
25
76
40
-24
0
-2
9
4
0
0
0
0
0
0
0
0
-16
39
5
75
7
-4
6
-1
0
0
0
0
0
0
0
0
0
-5
40
-31
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
30
6
-71
-42
-26
-5
50
0
0
0
0
0
0
0
0
0
50
-4
-67
-22
-26
-12
60
51
27
0
0
0
0
0
0
0
0
16
59
29
-39
-50
23
-40
-52
-8
0
0
0
0
0
0
0
0
1
95
-35
-9
19
-38
-54
-20
-1
0
0
0
0
0
0
0
0
20
22
23
-51
93
-25
-1
73
32
0
0
0
0
0
0
0
0
2
-33
95
-84
-25
48
0
12
-2
0
0
0
0
0
0
0
0
15
-34
47
42
20
-13
-8
1
0
0
0
0
0
0
0
0
0
-2
-9
7
-49
-10
-3
9
-4
0
0
0
0
0
0
0
0
0
-32
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-57
17
-2
-5
80
-2
-41
0
0
0
0
0
0
0
0
0
31
21
19
30
90
43
-4
46
-5
0
0
0
0
0
0
0
0
-64
18
-50
44
20
4
1
18
83
0
0
0
0
0
0
0
0
93
2
32
16
10
55
14
93
59
0
0
0
0
0
0
0
0
-2
5
-32
108
46
112
25
-16
-9
0
0
0
0
0
0
0
0
22
134
-69
81
12
-28
7
0
19
0
0
0
0
0
0
0
0
-41
29
35
75
-53
-50
31
-3
0
0
0
0
0
0
0
0
0
22
-31
43
21
-8
-1
0
0
0
0
0
0
0
0
0
0
0
23
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
-41
21
14
109
58
-1
22
0
0
0
0
0
0
0
0
0
57
-75
41
83
39
-30
22
-36
46
-1
0
0
0
0
0
0
0
21
24
81
-41
24
116
6
65
43
49
0
0
0
0
0
0
0
-25
-74
63
-30
17
40
6
52
-42
-6
0
0
0
0
0
0
0
4
-4
48
41
79
28
-69
74
49
-1
0
0
0
0
0
0
0
-16
-36
5
-3
55
56
9
18
0
8
0
0
0
0
0
0
0
24
10
-49
24
-19
-75
14
52
-37
0
0
0
0
0
0
0
0
-25
-57
84
28
21
89
20
2
0
0
0
0
0
0
0
0
0
-66
-13
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
15
56
62
-45
1
-54
0
0
0
0
0
0
0
0
0
0
33
-44
32
64
-26
32
-99
7
-2
0
0
0
0
0
0
0
0
-14
-45
86
97
-5
-39
4
76
-1
0
0
0
0
0
0
0
0
23
-43
112
4
15
64
46
16
67
0
0
0
0
0
0
0
0
-39
-32
162
41
-25
88
-25
27
-18
0
0
0
0
0
0
0
0
130
-11
-14
32
26
-49
41
0
0
0
0
0
0
0
0
0
0
1
-5
68
19
16
-4
48
2
0
0
0
0
0
0
0
0
0
-28
-60
-1
25
-1
3
1
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
22
-8
16
0
0
0
0
0
0
0
0
0
0
0
-8
0
22
13
-39
-12
0
0
0
0
0
0
0
0
0
0
0
2
-42
8
-6
0
-12
-3
1
0
0
0
0
0
0
0
0
0
-1
-3
-3
0
1
-2
-2
0
0
0
0
0
0
0
0
0
0
2
3
3
-3
0
3
9
0
0
0
0
0
0
0
0
0
0
3
-6
-3
0
6
-22
0
0
0
0
0
0
0
0
0
0
0
-2
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
10
4
-1
1
0
6
3
8
0
0
0
0
0
0
0
0
0
-1
-1
0
0
7
17
15
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
21
6
-2
1
0
0
0
0
0
0
0
0
-1
0
-2
3
9
-8
2
0
0
0
0
0
0
0
0
0
0
-7
8
-4
18
6
15
2
0
0
0
0
0
0
0
0
0
0
7
0
-42
-7
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
40
10
32
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
20
-1
1
4
0
0
0
0
0
0
0
0
0
1
4
-14
37
2
-24
-2
0
0
0
0
0
0
0
0
0
0
-1
69
42
-6
2
-1
0
0
0
0
0
0
0
0
0
0
0
-6
25
68
-2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
16
0
0
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-13
0
8
0
0
0
0
0
0
0
0
0
0
0
1
-1
-12
0
8
1
0
0
0
0
0
0
0
0
0
0
-7
-1
-8
1
-2
-1
2
0
0
0
0
0
0
0
0
0
0
2
28
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
8
-14
0
0
0
0
0
0
0
0
0
0
-2
-26
-7
-42
3
-27
-4
-6
-8
0
0
0
0
0
0
0
0
0
0
5
1
-4
-13
51
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
0
-5
7
12
0
0
0
0
0
0
0
0
0
0
0
4
-12
2
-2
-8
1
6
0
0
0
0
0
0
0
0
0
13
17
-16
-12
0
12
-1
-1
0
0
0
0
0
0
0
0
0
-8
56
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-30
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
22
-20
-1
13
0
0
0
0
0
0
0
0
0
0
-14
31
-16
-17
4
3
-24
52
-1
0
0
0
0
0
0
0
0
7
-22
0
-7
-46
-4
10
-44
-4
0
0
0
0
0
0
0
0
0
13
9
19
-7
0
6
-2
3
0
0
0
0
0
0
0
0
2
22
57
-5
13
-4
-8
8
-6
0
0
0
0
0
0
0
0
0
74
60
6
-13
10
-1
-12
0
0
0
0
0
0
0
0
0
9
-50
5
66
6
0
0
0
2
0
0
0
0
0
0
0
0
42
103
-3
-22
0
0
0
6
0
0
0
0
0
0
0
0
0
105
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
45
-19
45
-56
9
47
0
0
0
0
0
0
0
0
0
-2
18
-24
-12
74
18
35
68
-25
0
0
0
0
0
0
0
0
8
119
27
-41
-59
54
-18
-2
2
8
0
0
0
0
0
0
0
0
58
13
93
13
-38
85
12
1
0
0
0
0
0
0
0
0
0
-31
25
74
-5
-38
-16
-30
34
0
0
0
0
0
0
0
0
7
111
13
66
13
0
5
-37
-1
17
0
0
0
0
0
0
0
12
72
-12
75
-4
-23
0
-19
-8
0
0
0
0
0
0
0
0
8
36
-23
26
-4
3
0
0
0
0
0
0
0
0
0
0
0
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-17
66
22
-37
27
-1
-2
0
0
0
0
0
0
0
0
0
-10
10
18
-25
-85
23
47
8
-18
0
0
0
0
0
0
0
0
7
43
32
14
8
30
84
87
-1
2
0
0
0
0
0
0
0
3
67
-22
-55
82
-56
41
44
-4
0
0
0
0
0
0
0
0
37
73
82
-68
4
-5
-9
13
67
0
0
0
0
0
0
0
0
-24
-1
-45
-41
-22
9
41
7
8
0
0
0
0
0
0
0
0
49
37
91
-66
31
13
8
0
0
0
0
0
0
0
0
0
0
11
24
4
117
7
5
0
1
0
0
0
0
0
0
0
0
0
91
14
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
32
14
94
63
-88
-10
-13
0
0
0
0
0
0
0
0
0
0
30
-46
-6
23
1
-7
53
30
55
0
0
0
0
0
0
0
5
10
8
20
-25
40
70
-17
69
-3
0
0
0
0
0
0
0
5
-46
1
-4
-29
-40
-11
5
39
-22
0
0
0
0
0
0
0
-2
91
49
0
92
-4
0
-24
-32
1
0
0
0
0
0
0
0
6
5
-43
60
9
-1
63
40
59
1
0
0
0
0
0
0
0
-17
26
-14
-24
14
119
22
-12
0
0
0
0
0
0
0
0
0
42
-56
13
5
-28
-31
-71
-15
5
0
0
0
0
0
0
0
0
-12
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
125
104
-70
-108
40
25
0
0
0
0
0
0
0
0
0
0
-10
45
59
-24
32
15
9
-22
-3
0
0
0
0
0
0
0
0
-47
-47
17
24
-14
-59
12
-8
-3
0
0
0
0
0
0
0
0
-43
7
-28
-77
62
-39
-46
-52
-10
0
0
0
0
0
0
0
0
60
-12
8
-59
-24
3
35
-13
6
0
0
0
0
0
0
0
0
29
-96
-2
49
68
9
-31
84
-5
0
0
0
0
0
0
0
0
18
-46
9
69
50
24
63
3
0
0
0
0
0
0
0
0
0
26
76
85
10
6
-3
13
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
2
21
-30
-2
0
0
0
0
0
0
0
0
0
0
0
-3
30
-21
-17
-59
3
-1
0
0
0
0
0
0
0
0
0
0
-2
-4
-1
25
7
0
3
1
0
0
0
0
0
0
0
0
0
-1
-5
7
-7
0
-9
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-4
0
0
0
0
0
0
0
0
0
0
-2
-2
6
-2
-3
1
-4
0
0
0
0
0
0
0
0
0
-13
-8
-7
6
25
2
0
0
0
0
0
0
0
0
0
0
0
24
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
1
0
-1
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
3
2
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-2
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
12
0
-3
0
0
0
0
0
0
0
0
0
0
0
31
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-18
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-26
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
4
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
5
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-19
-2
43
0
6
0
0
0
0
0
0
0
0
0
0
-4
5
-2
8
-9
-10
-1
0
0
0
0
0
0
0
0
0
2
0
0
10
-6
4
0
6
1
0
0
0
0
0
0
0
0
0
0
1
42
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-6
6
0
-1
0
0
0
0
0
0
0
0
0
0
34
18
25
-2
-8
-4
0
2
0
0
0
0
0
0
0
0
0
-77
41
19
28
1
0
0
0
0
0
0
0
0
0
0
0
0
-11
6
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
43
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
39
3
-2
-9
-2
19
4
-5
0
0
0
0
0
0
0
0
0
10
10
-8
-5
-9
28
15
3
0
0
0
0
0
0
0
0
0
-13
0
6
9
24
25
10
1
0
0
0
0
0
0
0
0
0
3
-13
12
-48
-18
0
0
0
0
0
0
0
0
0
0
0
0
-18
21
42
22
-3
-7
3
0
0
0
0
0
0
0
0
0
0
26
33
-9
-1
-6
0
3
0
0
0
0
0
0
0
0
0
22
-12
26
42
1
-1
0
0
0
0
0
0
0
0
0
0
0
44
59
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
-32
17
15
9
-8
-2
-3
5
0
0
0
0
0
0
0
0
0
29
80
54
6
87
-10
60
2
0
0
0
0
0
0
0
0
0
-5
-30
20
-6
-45
32
-23
0
3
0
0
0
0
0
0
0
0
-25
-46
6
-19
-31
54
15
45
-1
0
0
0
0
0
0
0
0
41
6
16
5
23
67
-47
-3
-1
0
0
0
0
0
0
0
0
12
-1
56
69
-14
-12
2
-2
0
0
0
0
0
0
0
0
0
-8
20
-89
29
68
24
-7
0
0
0
0
0
0
0
0
0
0
6
40
14
-11
2
8
0
0
0
0
0
0
0
0
0
0
0
0
8
-21
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
112
78
-24
12
-2
-47
-3
0
0
0
0
0
0
0
0
0
0
14
20
52
-18
-6
-52
-41
0
-2
0
0
0
0
0
0
0
0
91
12
11
-94
-29
-59
-2
-31
-4
0
0
0
0
0
0
0
-1
-95
9
-10
-40
115
-13
-71
2
-1
0
0
0
0
0
0
0
-2
91
49
74
19
12
13
49
25
0
0
0
0
0
0
0
0
-5
56
77
-5
73
18
65
125
-7
-1
0
0
0
0
0
0
0
7
16
34
5
25
-6
-48
12
-6
0
0
0
0
0
0
0
0
-8
146
-24
19
-42
59
-4
0
0
0
0
0
0
0
0
0
0
-13
27
17
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
68
6
22
31
-10
-8
1
0
0
0
0
0
0
0
0
0
0
5
54
5
16
36
14
-8
0
0
0
0
0
0
0
0
0
0
-14
38
6
27
17
13
-14
2
4
0
0
0
0
0
0
0
0
0
18
6
13
-39
2
-8
0
0
0
0
0
0
0
0
0
0
22
31
-9
6
25
-28
3
0
0
0
0
0
0
0
0
0
0
6
-24
-5
8
5
-1
-3
1
0
0
0
0
0
0
0
0
0
22
-2
33
-6
-5
8
-3
1
0
0
0
0
0
0
0
0
0
23
-30
-19
-6
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
37
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-19
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
-2
30
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
5
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
8
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
-14
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
5
2
0
2
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
19
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
2
0
-10
0
0
0
0
0
0
0
0
1
0
0
0
5
9
-4
-23
-2
0
0
0
0
0
0
0
0
0
-3
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-19
12
8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-2
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-25
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-1
2
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
3
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
-4
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
15
-1
0
8
-4
-1
0
0
0
0
0
0
0
0
0
3
0
0
-6
3
0
-19
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
9
0
-20
4
0
0
0
0
0
0
0
0
0
0
0
1
3
-4
-1
-4
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
3
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
-13
7
42
-4
-13
-1
0
0
0
0
0
0
0
0
0
0
0
-9
15
1
-10
4
1
-5
10
-3
-1
0
0
0
0
0
0
0
0
7
10
14
-1
-5
9
2
0
0
0
0
0
0
0
0
0
0
4
-10
5
2
7
2
-22
20
1
0
0
0
0
0
0
0
0
0
0
8
3
-3
-13
3
1
0
3
0
0
0
0
0
0
0
0
1
4
0
-22
3
41
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
8
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
-12
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
10
0
-12
-3
3
8
-25
0
0
0
0
0
0
0
0
0
-1
-4
6
-8
1
-16
-35
-4
-1
2
0
0
0
0
0
0
0
-5
2
5
-12
45
25
4
-1
1
0
0
0
0
0
0
0
0
0
-1
-1
-16
-12
-9
10
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
3
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-31
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-13
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
8
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
-24
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
-24
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
10
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
7
-4
6
1
25
-12
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-4
-9
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-34
-13
-41
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
-5
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-8
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-13
0
-4
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-6
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
-5
0
8
0
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-7
23
19
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-2
-21
13
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-68
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-4
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-13
8
0
0
0
0
0
0
0
0
0
0
7
-1
0
-8
0
2
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
-17
-18
0
0
0
0
0
0
0
0
0
0
1
-5
0
-1
5
3
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
26
6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
-5
3
1
-3
-8
-2
0
0
0
0
0
0
0
0
0
2
9
30
16
-3
-25
8
8
0
0
0
0
0
0
0
0
0
-4
0
-3
2
25
0
-12
4
0
0
0
0
0
0
0
0
0
0
-1
3
10
24
49
-3
13
0
0
0
0
0
0
0
0
0
0
0
2
0
4
33
-21
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
25
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
-2
4
-24
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
64
43
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-14
-50
-22
23
-8
4
16
0
0
0
0
0
0
0
0
0
16
31
-1
0
-27
-42
10
-13
0
0
0
0
0
0
0
0
0
-17
13
-34
43
13
43
-3
32
0
0
0
0
0
0
0
0
0
0
13
-2
-2
-9
-19
22
10
-1
0
0
0
0
0
0
0
0
0
0
2
4
18
-32
2
24
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-49
9
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-16
0
0
0
0
0
0
0
0
0
0
7
-1
50
8
-2
0
0
0
0
0
0
0
0
0
0
0
-9
21
66
-26
35
-4
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
-7
-1
37
-6
-8
-35
0
0
0
0
0
0
0
0
0
2
34
-23
14
-4
13
32
14
0
0
0
0
0
0
0
0
-1
8
-15
-8
11
-49
13
-7
9
1
0
0
0
0
0
0
0
0
0
0
-8
-42
35
-1
3
-51
-2
0
0
0
0
0
0
0
0
0
0
-22
1
12
33
-24
7
13
0
0
0
0
0
0
0
0
0
0
2
-3
1
-61
15
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
2
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
1
3
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
8
16
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-13
3
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
5
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-34
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
15
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
7
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
16
32
-13
29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
41
-13
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
4
0
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-44
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-8
0
25
0
0
2
0
1
0
0
0
0
0
0
0
0
0
-4
17
0
-2
-8
46
-8
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-33
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
53
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
14
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
5
-35
0
42
9
9
0
1
-1
0
0
0
0
0
0
0
0
1
-43
-27
1
-7
3
-5
0
0
0
0
0
0
0
0
0
0
1
9
-18
-8
0
-45
-13
-12
0
0
0
0
0
0
0
0
2
0
0
6
3
6
0
7
38
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
43
8
8
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-30
1
-9
7
4
0
0
-1
0
0
0
0
0
0
0
0
1
-2
6
1
-15
-19
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
28
24
24
-8
46
0
0
0
0
0
0
0
0
0
-1
-12
-6
-1
-35
0
-23
13
0
0
0
0
0
0
0
0
0
0
5
0
-17
-7
-19
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
5
-47
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-1
0
0
0
0
0
0
0
0
-8
-34
-5
5
4
-7
0
0
0
0
0
0
0
0
0
0
1
-34
-15
-24
-1
3
-5
0
0
0
4
0
0
0
0
0
0
0
1
-13
-64
-4
-2
12
-9
0
29
0
0
0
0
0
0
0
0
-2
-12
29
26
48
6
-58
-13
9
0
0
0
0
0
0
0
0
2
-18
19
-61
-29
8
17
-2
-22
0
0
0
0
0
0
0
0
0
6
0
-5
58
-52
23
0
-41
0
0
0
0
0
0
0
0
0
0
10
5
-5
47
-16
-47
18
1
0
0
0
0
0
0
0
0
0
0
4
18
-1
21
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-61
0
0
0
0
0
0
0
0
0
0
-2
8
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
33
-9
25
3
0
0
0
2
-1
0
0
0
0
0
0
0
3
-19
-64
17
-1
2
1
3
2
0
0
0
0
0
0
0
1
-8
-8
27
-22
-26
-14
35
-93
2
0
0
0
0
0
0
0
0
0
5
5
48
39
15
0
26
0
0
0
0
0
0
0
0
0
-1
-1
-12
-1
49
58
3
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-6
-5
-69
-1
-81
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-57
6
-35
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
2
4
-3
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
-6
-10
8
0
-8
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-5
13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
17
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-24
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
-8
0
-18
-19
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-17
41
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-19
-24
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-31
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
7
1
0
0
2
0
0
0
0
0
0
0
0
0
0
3
-4
17
-2
1
-6
-7
0
0
0
0
0
0
0
0
0
1
-5
0
1
-9
17
1
-22
0
0
0
0
0
0
0
0
0
0
0
1
-5
7
-20
9
-6
0
0
0
0
0
0
0
0
0
0
0
1
3
0
5
-44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
19
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-59
10
-1
0
0
0
0
0
0
0
0
0
0
0
1
8
21
-20
7
-5
3
0
0
0
0
0
0
0
0
0
0
-1
2
-51
-23
7
5
25
-12
-10
0
0
0
0
0
0
0
0
0
-1
13
22
-2
-14
-20
-61
-8
0
0
0
0
0
0
0
0
0
0
0
-2
24
45
-31
-5
23
0
0
0
0
0
0
0
0
0
0
1
-17
-24
14
0
75
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
16
12
-15
0
0
0
0
0
0
0
0
0
0
10
-1
-18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
7
3
-24
2
7
0
0
0
0
0
0
0
0
0
0
0
1
8
-57
-30
-5
0
8
4
3
0
0
0
0
0
0
0
0
8
-15
-5
46
-20
19
-43
-31
-10
0
0
0
0
0
0
0
0
2
-37
-23
49
14
-5
6
-25
25
0
0
0
0
0
0
0
0
0
-1
19
-31
25
9
-58
-46
15
0
0
0
0
0
0
0
0
0
0
1
-3
-21
-58
-31
0
12
0
0
0
0
0
0
0
0
0
0
0
2
0
-12
-20
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-31
0
0
0
0
0
0
0
0
0
0
39
-5
-54
1
-13
0
0
0
0
0
0
0
0
0
0
0
1
-35
-64
-15
87
-7
0
0
0
-5
0
0
0
0
0
0
0
3
77
54
-58
5
-9
-2
-2
10
0
0
0
0
0
0
0
0
0
27
-61
-13
51
21
-12
-36
63
0
0
0
0
0
0
0
0
1
-56
-5
0
43
-78
81
-38
-86
0
0
0
0
0
0
0
0
2
-7
8
7
-3
18
-43
-37
66
-2
0
0
0
0
0
0
0
0
0
-2
25
-3
10
90
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-5
27
14
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
2
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
-14
-42
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
6
-12
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
24
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-21
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
2
-6
-8
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
2
-5
20
-10
22
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
2
-32
8
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-29
-20
-1
-13
-42
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
0
41
18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
-14
0
-42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-23
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
41
-25
41
10
0
0
-1
-8
0
0
0
0
0
0
0
0
3
-5
-81
-8
10
0
5
-6
-16
0
0
0
0
0
0
0
0
0
-49
1
13
-70
3
7
-75
-6
0
0
0
0
0
0
0
0
0
0
17
41
-9
34
-4
-31
-19
0
0
0
0
0
0
0
0
0
0
2
16
2
39
10
41
-17
0
0
0
0
0
0
0
0
0
0
2
0
-29
-2
8
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
2
43
0
0
0
0
0
0
0
0
0
0
0
-1
59
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
20
-14
33
3
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-29
17
-25
1
1
10
0
0
0
0
0
0
0
0
0
0
23
54
-86
7
-17
-43
42
0
0
0
0
0
0
0
0
0
-1
-29
58
-74
19
74
-89
3
0
0
0
0
0
0
0
0
0
12
6
-7
-15
-99
-58
26
-49
0
0
0
0
0
0
0
0
0
3
-2
-41
19
-67
-47
51
-6
0
0
0
0
0
0
0
0
0
0
-2
-20
5
0
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
37
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-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
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
46
20
7
0
0
8
0
0
0
0
0
0
0
0
0
0
1
-13
5
-18
24
2
-14
0
0
0
0
0
0
0
0
0
0
0
-17
-10
-3
1
85
-22
0
0
0
0
0
0
0
0
0
0
0
0
23
29
-35
-47
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
-13
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
-8
1
7
0
1
0
0
0
0
0
0
0
0
0
-13
2
2
-1
4
8
3
0
0
0
0
0
0
0
0
0
0
2
1
-3
4
-2
-6
0
0
0
0
0
0
0
0
0
0
0
6
-1
-4
0
-2
6
1
-5
0
0
0
0
0
0
0
0
0
-5
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
6
2
-3
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
1
-2
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
4
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
3
-2
0
-3
0
1
0
3
0
0
0
0
0
0
0
0
0
-1
0
14
-1
-1
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-2
1
-8
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
-3
0
5
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
-3
2
10
1
0
-5
0
0
0
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
17
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
-5
1
1
0
0
0
0
0
0
0
0
0
7
1
4
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
16
2
19
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
16
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
31
-2
-8
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-8
49
-31
-8
-8
0
0
0
0
0
0
0
0
0
0
0
-17
-8
-6
2
0
-27
1
-1
0
0
0
0
0
0
0
0
0
2
-6
-5
-7
1
0
0
3
0
0
0
0
0
0
0
0
0
6
6
-13
4
-1
0
1
0
0
0
0
0
0
0
0
0
0
8
-3
-1
1
0
0
-2
-1
0
0
0
0
0
0
0
0
0
7
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
-5
0
-2
0
0
0
0
0
0
0
0
0
0
6
-6
10
13
8
-8
-2
0
0
0
0
0
0
0
0
0
0
2
-8
-1
19
-8
-15
-3
0
0
0
0
0
0
0
0
0
0
-6
1
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-1
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
5
-8
8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
7
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
1
0
1
0
0
0
0
0
0
0
0
0
0
4
4
0
-7
4
-2
3
-4
0
0
0
0
0
0
0
0
0
-6
0
-3
0
8
-2
-32
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
3
5
0
0
0
0
0
0
0
0
0
0
0
10
-14
0
2
13
-49
0
0
0
0
0
0
0
0
0
0
0
-7
3
-3
-1
-2
8
0
0
0
0
0
0
0
0
0
0
5
-5
1
1
8
0
0
-3
0
0
0
0
0
0
0
0
0
9
0
-1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
7
8
-12
-3
-2
-7
-4
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
-17
9
3
0
-2
6
0
0
0
0
0
0
0
0
0
0
-4
13
0
3
0
-9
10
1
0
0
0
0
0
0
0
0
0
-1
0
3
8
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
1
2
-7
-30
0
0
0
0
0
0
0
0
0
0
-5
9
-1
-10
13
1
-16
-8
-1
0
0
0
0
0
0
0
0
-2
-6
-4
16
-3
1
3
-27
0
0
0
0
0
0
0
0
0
0
5
-25
-1
1
0
-6
-1
4
0
0
0
0
0
0
0
0
1
-13
4
4
-6
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-6
-1
-49
8
5
0
0
0
0
0
0
0
0
0
4
34
41
-17
31
3
-32
0
1
0
0
0
0
0
0
0
0
0
-2
-14
-8
-6
3
0
0
0
0
0
0
0
0
0
0
0
3
-7
6
19
-14
0
0
0
1
0
0
0
0
0
0
0
0
0
25
-5
-13
-1
6
9
0
0
0
0
0
0
0
0
0
0
16
-2
25
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
29
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
0
-5
7
-25
0
0
0
0
0
0
0
0
0
-1
0
-14
8
-4
-39
-8
2
0
0
0
0
0
0
0
0
0
0
8
13
3
-7
2
-3
0
0
0
0
0
0
0
0
0
0
-14
59
10
0
12
0
0
2
-1
0
0
0
0
0
0
0
0
-8
-1
-10
3
3
0
-9
3
0
0
0
0
0
0
0
0
0
2
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
-6
-8
-8
-1
18
-19
0
0
0
0
0
0
0
0
0
-6
6
-56
-35
8
5
-52
-3
-9
0
0
0
0
0
0
0
0
-25
-15
4
7
16
3
35
5
0
0
0
0
0
0
0
0
0
39
1
10
-10
1
-8
-5
-1
0
0
0
0
0
0
0
0
0
-2
25
-16
3
-5
9
0
0
0
0
0
0
0
0
0
0
0
1
-8
-19
1
-2
3
0
2
0
0
0
0
0
0
0
0
0
1
0
12
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-12
-24
17
16
-2
0
0
0
0
0
0
0
0
0
0
-19
32
-18
-14
18
10
16
-6
6
0
0
0
0
0
0
0
0
3
-43
-8
17
7
1
-15
-7
0
0
0
0
0
0
0
0
0
-8
16
-7
-6
-2
-9
-8
0
0
0
0
0
0
0
0
0
0
-35
-15
-9
-2
-1
41
14
0
0
0
0
0
0
0
0
0
0
30
3
-8
-34
18
0
-8
1
0
0
0
0
0
0
0
0
0
8
6
-24
3
-1
0
0
9
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
4
-25
6
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
16
-14
-2
-1
-7
3
-1
0
0
0
0
0
0
0
0
7
7
3
6
6
24
12
0
0
0
0
0
0
0
0
0
0
-1
1
9
-5
14
-4
1
0
0
0
0
0
0
0
0
0
0
-2
-16
-2
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
0
5
1
0
0
0
1
0
0
0
0
0
0
0
0
0
8
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-17
10
-2
0
0
2
0
0
0
0
0
0
0
0
0
2
-2
10
8
-6
-5
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-1
-8
9
1
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
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
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-7
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
6
0
1
-4
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
1
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
-2
0
17
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-49
16
0
0
0
0
0
0
0
0
0
3
0
0
10
0
-4
0
7
1
0
0
0
0
0
0
0
0
8
3
-1
0
24
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
3
2
14
-6
-2
4
-1
0
0
0
0
0
0
0
0
0
-5
-4
-3
9
2
-10
-3
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-5
-1
30
0
0
0
0
0
0
0
0
0
0
0
0
5
-31
8
-57
0
102
-2
-3
0
0
0
0
0
0
0
0
-7
8
0
2
-4
-1
-18
22
0
0
0
0
0
0
0
0
0
-13
-9
3
0
2
-1
0
0
4
0
0
0
0
0
0
0
0
-8
-93
1
0
3
-2
4
-14
0
0
0
0
0
0
0
0
0
2
3
-2
3
17
0
0
1
0
0
0
0
0
0
0
0
0
0
-58
-3
2
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
-3
8
-17
0
0
0
0
0
0
0
0
0
0
-1
-1
32
5
-29
5
1
-5
1
0
0
0
0
0
0
0
0
2
-17
-6
-1
0
2
-16
34
0
0
0
0
0
0
0
0
0
-4
16
-10
2
0
-7
-13
10
1
0
0
0
0
0
0
0
0
-4
50
-18
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-16
-6
-2
6
-3
0
0
-1
6
0
0
0
0
0
0
0
0
-5
1
8
25
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
9
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
9
2
-7
0
-2
1
0
0
0
0
0
0
0
0
0
-4
15
6
-35
-5
-12
4
2
-3
0
0
0
0
0
0
0
0
-12
4
10
-2
0
0
0
13
4
0
0
0
0
0
0
0
0
3
8
58
9
5
0
1
-16
-7
0
0
0
0
0
0
0
0
-3
-60
-18
-12
0
0
4
-5
0
0
0
0
0
0
0
0
0
-29
-44
-1
1
-2
-2
4
0
0
0
0
0
0
0
0
0
0
2
15
0
4
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
16
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-49
3
0
18
-8
7
0
0
0
0
0
0
0
0
0
-7
75
2
29
30
-1
-13
27
1
0
0
0
0
0
0
0
0
43
29
6
-32
1
-4
-1
-5
8
0
0
0
0
0
0
0
0
42
-12
-2
-42
-13
0
1
0
-2
0
0
0
0
0
0
0
0
-8
7
20
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
6
58
-19
-6
-1
-1
1
0
0
0
0
0
0
0
0
0
0
-1
17
17
1
1
2
0
0
-1
0
0
0
0
0
0
0
0
2
17
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-18
-3
13
8
-7
16
0
-3
0
0
0
0
0
0
0
-1
-6
-21
43
-12
-24
16
-41
-1
0
0
0
0
0
0
0
0
-1
4
12
-19
-43
-38
1
2
0
8
0
0
0
0
0
0
0
-24
-4
-10
3
2
6
0
0
-1
0
0
0
0
0
0
0
0
15
41
6
20
13
5
-1
0
0
0
0
0
0
0
0
0
0
-7
4
-8
39
2
3
1
7
-1
0
0
0
0
0
0
0
0
-4
-28
41
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
59
-13
42
-15
20
1
-14
0
4
0
0
0
0
0
0
0
-8
-13
47
54
-2
-21
-11
-14
14
0
0
0
0
0
0
0
0
-33
-16
17
22
17
-29
-7
-49
0
0
0
0
0
0
0
0
0
44
52
-7
-27
3
13
33
0
2
0
0
0
0
0
0
0
0
-26
-20
-29
-13
-42
5
25
0
0
0
0
0
0
0
0
0
0
25
33
5
14
3
-4
-4
-1
1
0
0
0
0
0
0
0
0
-18
-3
46
10
-2
0
0
0
2
0
0
0
0
0
0
0
0
17
34
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
31
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-24
5
-33
64
50
-29
0
16
0
0
0
0
0
0
0
0
-117
1
7
27
-18
146
8
-33
-8
0
0
0
0
0
0
0
0
1
-24
81
5
-25
46
8
2
0
0
0
0
0
0
0
0
0
-57
-9
-52
25
-49
-11
13
-24
0
0
0
0
0
0
0
0
0
-21
-75
-43
-2
-31
-31
41
0
0
0
0
0
0
0
0
0
0
-9
-2
-1
23
29
-4
3
8
0
0
0
0
0
0
0
0
0
-5
-29
41
2
-8
1
0
8
0
0
0
0
0
0
0
0
0
-57
5
-17
3
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
-5
5
19
0
0
-1
0
0
0
0
0
0
0
0
5
0
7
-24
3
-1
0
6
3
0
0
0
0
0
0
0
0
-4
13
-9
-7
-1
-6
-8
4
0
0
0
0
0
0
0
0
0
12
4
3
-1
-2
1
2
0
0
0
0
0
0
0
0
0
0
43
-1
4
2
1
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
3
-4
-1
0
0
0
0
0
0
0
0
0
0
-7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-3
0
0
1
2
0
0
0
0
0
0
0
0
0
0
4
-2
-6
1
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-7
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
37
5
4
8
-2
-10
0
0
0
0
0
0
0
0
-10
-4
40
0
0
-8
0
-3
0
0
0
0
0
0
0
0
0
4
29
1
-3
0
0
7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
8
-18
15
0
-10
0
-4
0
0
0
0
0
0
0
0
0
5
6
10
-2
-1
10
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-3
4
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
35
-3
4
1
0
0
0
0
0
0
0
0
0
0
20
-3
0
0
-1
0
6
-6
0
0
0
0
0
0
0
0
3
-3
-5
-5
2
0
0
12
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
12
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-33
-22
9
-8
20
3
0
0
0
0
0
0
0
0
0
13
2
25
-14
-29
-10
27
-18
2
0
0
0
0
0
0
0
0
-21
0
0
0
0
-5
19
17
1
0
0
0
0
0
0
0
0
-2
-24
0
0
0
-4
0
0
14
0
0
0
0
0
0
0
0
-4
-29
0
0
1
-39
-3
7
0
0
0
0
0
0
0
0
0
6
16
-48
8
4
0
-14
-4
0
0
0
0
0
0
0
0
0
1
-21
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-4
1
4
8
5
0
0
0
0
0
0
0
0
0
0
13
-16
5
10
27
50
0
0
0
0
0
0
0
0
0
0
-1
3
-12
5
-8
9
-8
-18
1
0
0
0
0
0
0
0
0
3
-1
5
0
3
-1
-6
-10
12
0
0
0
0
0
0
0
0
0
-21
-46
0
0
1
4
0
6
0
0
0
0
0
0
0
0
-7
10
71
0
0
0
5
-3
7
0
0
0
0
0
0
0
0
-2
3
-5
50
-5
-2
0
-6
0
0
0
0
0
0
0
0
0
0
3
25
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-8
8
-25
-14
-3
8
0
0
0
0
0
0
0
0
0
-1
-3
-31
-12
-46
6
-16
-5
1
0
0
0
0
0
0
0
0
6
31
-5
-22
17
54
35
-2
46
-1
0
0
0
0
0
0
0
0
5
31
-51
0
0
-1
-6
15
0
0
0
0
0
0
0
0
-8
-27
39
-12
0
0
0
-2
-4
0
0
0
0
0
0
0
0
16
7
-45
-33
1
0
0
-12
2
-16
0
0
0
0
0
0
0
3
33
106
-5
2
18
0
0
0
0
0
0
0
0
0
0
0
-8
116
-7
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-4
10
-1
-20
2
-8
0
0
0
0
0
0
0
0
0
0
-25
10
-5
2
-13
-17
-4
12
0
0
0
0
0
0
0
0
7
-1
10
33
-5
-8
-12
52
-1
0
0
0
0
0
0
0
0
-6
-22
-3
-43
11
1
0
0
1
-1
0
0
0
0
0
0
0
14
16
16
-5
13
2
0
0
-8
0
0
0
0
0
0
0
0
2
31
84
41
-18
6
0
0
7
2
0
0
0
0
0
0
0
27
38
1
-14
-2
3
-2
-5
0
0
0
0
0
0
0
0
0
5
-9
13
0
-5
-6
-9
0
0
0
0
0
0
0
0
0
0
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
34
-42
6
-13
-20
25
0
0
0
0
0
0
0
0
0
9
8
-49
-24
-15
13
42
48
8
0
0
0
0
0
0
0
0
-16
18
21
27
-69
69
59
57
-3
-1
0
0
0
0
0
0
0
-6
-10
30
4
59
31
-4
-2
0
-2
0
0
0
0
0
0
0
-20
26
-14
46
4
-5
0
0
0
0
0
0
0
0
0
0
0
15
-26
-75
-28
-43
-30
3
0
0
-4
0
0
0
0
0
0
0
5
96
-5
10
13
15
0
10
-4
0
0
0
0
0
0
0
0
30
42
2
83
3
0
0
5
0
0
0
0
0
0
0
0
0
10
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
54
-13
41
-16
19
37
0
0
0
0
0
0
0
0
0
54
13
-49
61
-32
-25
-32
42
-30
-1
-1
0
0
0
0
0
0
42
-53
-9
-49
7
-9
44
41
0
1
0
0
0
0
0
0
0
5
26
13
-7
-59
25
39
-1
0
0
0
0
0
0
0
0
0
-58
35
-19
14
-5
-19
-9
0
0
0
0
0
0
0
0
0
0
37
-6
27
2
5
-20
-8
0
0
0
0
0
0
0
0
0
0
39
0
11
6
3
33
8
31
5
0
0
0
0
0
0
0
0
-14
-4
15
-95
-3
-3
3
0
0
0
0
0
0
0
0
0
0
66
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-42
-6
-50
-25
42
-1
0
-5
-5
0
0
0
0
0
0
0
68
-29
14
-27
42
49
6
15
2
0
0
0
0
0
0
0
0
-5
-21
25
-22
12
33
43
-24
-8
0
0
0
0
0
0
0
0
47
-42
22
-67
-46
-64
-18
-13
-1
0
0
0
0
0
0
0
0
-75
36
-25
-21
66
83
-24
0
0
0
0
0
0
0
0
0
0
-10
54
-63
23
19
42
2
0
0
0
0
0
0
0
0
0
0
4
10
-50
47
-20
56
-12
-13
0
0
0
0
0
0
0
0
0
78
-48
7
-10
-19
0
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-6
-6
17
0
1
-3
0
0
0
0
0
0
0
0
0
-6
39
-31
-3
-5
-3
0
-1
0
0
0
0
0
0
0
0
4
9
5
24
1
46
9
2
0
0
0
0
0
0
0
0
0
-3
14
0
-13
0
2
8
0
0
0
0
0
0
0
0
0
0
-25
-3
-7
1
-16
4
0
0
0
0
0
0
0
0
0
0
0
16
0
-19
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-15
-15
-2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
14
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
2
4
0
0
0
-3
2
-4
0
0
0
0
0
0
0
0
0
0
0
-1
3
-13
16
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-37
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
8
22
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-1
1
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-2
-8
0
0
0
0
0
0
0
0
0
-1
23
-7
6
0
2
-9
-8
0
0
0
0
0
0
0
0
0
-1
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
9
-19
0
0
0
0
0
0
0
0
0
0
3
-13
0
-15
3
2
0
0
2
0
0
0
0
0
0
0
0
-3
-1
-1
9
-4
0
-1
-41
0
0
0
0
0
0
0
0
0
2
0
2
-5
-27
0
-10
0
1
0
0
0
0
0
0
0
0
0
7
0
-8
0
5
-42
2
2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
-1
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-16
1
3
3
2
0
0
0
0
0
0
0
0
0
0
-8
-12
8
-43
-30
-14
10
0
0
0
0
0
0
0
0
0
7
-2
10
27
0
21
-32
5
0
0
0
0
0
0
0
0
0
3
-17
2
37
-23
10
1
29
4
0
0
0
0
0
0
0
0
0
-27
-32
0
0
6
-119
1
-6
0
0
0
0
0
0
0
0
1
24
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
-13
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
15
22
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
1
4
-4
18
-22
-14
0
0
0
0
0
0
0
0
0
0
-17
42
-29
25
-6
25
7
-1
0
0
0
0
0
0
0
0
1
19
-3
13
-30
4
11
-28
-2
0
0
0
0
0
0
0
0
0
-2
-29
2
49
-31
-26
-5
12
0
0
0
0
0
0
0
0
0
26
-13
-42
-2
0
0
8
-9
0
0
0
0
0
0
0
0
20
-25
-8
42
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-25
109
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-3
-1
-1
0
4
0
0
0
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
-9
10
5
25
27
1
0
0
0
0
0
0
0
0
0
-2
-55
-7
5
-15
-17
-25
30
5
0
0
0
0
0
0
0
0
-5
-27
-31
-2
14
-10
-14
24
-31
0
0
0
0
0
0
0
0
41
22
-3
-37
23
27
-25
9
0
0
0
0
0
0
0
0
0
-1
-12
-15
27
-42
0
0
0
3
0
0
0
0
0
0
0
0
33
4
-18
43
-37
-1
0
0
1
0
0
0
0
0
0
0
0
32
8
-39
-9
-23
0
0
0
2
0
0
0
0
0
0
0
0
-9
6
-3
13
-8
-4
0
-1
0
0
0
0
0
0
0
0
0
-30
4
3
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-20
17
12
16
32
45
12
0
0
0
0
0
0
0
0
0
2
-61
31
-25
-25
-45
17
-10
-50
0
0
0
0
0
0
0
0
16
31
9
24
-1
-32
68
62
-1
0
0
0
0
0
0
0
0
-18
7
-10
49
-20
-48
-4
23
-59
0
0
0
0
0
0
0
0
-1
-23
2
22
13
57
9
-5
-1
0
0
0
0
0
0
0
0
9
133
-14
63
61
18
0
0
0
0
0
0
0
0
0
0
0
-42
-14
-23
-15
20
20
-3
0
0
0
0
0
0
0
0
0
0
-10
-9
-20
-39
-5
0
-3
1
0
0
0
0
0
0
0
0
0
14
-30
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-42
-48
-12
35
13
46
-43
0
-10
0
0
0
0
0
0
0
-33
0
31
12
-47
70
-39
42
-18
5
0
0
0
0
0
0
0
18
47
4
49
42
41
58
-90
-34
-13
0
0
0
0
0
0
0
28
23
-20
13
22
10
-37
-24
-41
-1
0
0
0
0
0
0
0
-59
43
75
38
26
-23
6
-9
0
0
0
0
0
0
0
0
0
82
-36
-121
-104
65
-14
-90
0
0
0
0
0
0
0
0
0
0
25
-8
-6
-31
4
-21
-8
-1
0
0
0
0
0
0
0
0
0
-5
20
-13
-5
33
-8
0
3
4
0
0
0
0
0
0
0
0
-6
1
3
4
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
28
-13
-7
20
-41
-7
28
0
-1
0
0
0
0
0
0
0
0
11
4
-21
80
41
90
-8
66
1
0
0
0
0
0
0
0
0
-90
92
5
12
-66
53
54
16
-13
0
0
0
0
0
0
0
0
-31
-25
22
-8
2
-23
81
-58
9
0
0
0
0
0
0
0
0
-54
-141
43
-84
-37
148
70
3
0
0
0
0
0
0
0
0
0
-15
-26
-36
-57
-43
-48
-4
4
0
0
0
0
0
0
0
0
0
-40
-5
-36
42
-3
65
4
0
0
0
0
0
0
0
0
0
0
-93
-6
7
-13
2
12
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
7
6
4
-8
0
3
0
0
0
0
0
0
0
0
0
1
8
16
5
15
-5
21
4
-3
0
0
0
0
0
0
0
0
-2
0
9
-5
15
6
7
-4
0
0
0
0
0
0
0
0
0
21
-8
19
0
-4
-15
4
-1
0
0
0
0
0
0
0
0
0
5
-9
-8
15
-1
4
1
0
0
0
0
0
0
0
0
0
0
-5
0
33
-5
5
0
-2
0
0
0
0
0
0
0
0
0
0
-49
1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-5
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
-9
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-4
-1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
10
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
35
0
-2
0
0
0
0
0
0
0
0
0
0
0
7
-4
3
0
-6
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
4
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-1
4
3
-2
-1
0
0
0
0
0
0
0
0
0
-4
-5
3
8
0
28
1
-8
0
0
0
0
0
0
0
0
0
66
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
42
8
-1
3
13
-6
0
2
0
0
0
0
0
0
0
0
0
-8
0
-6
0
8
20
-6
0
0
0
0
0
0
0
0
0
0
0
7
-6
-13
-3
8
7
-2
0
0
0
0
0
0
0
0
0
42
0
1
-13
6
-5
7
-9
0
0
0
0
0
0
0
0
0
-23
-3
8
0
0
2
0
1
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-27
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-2
-2
0
3
7
0
0
0
0
0
0
0
0
0
-2
-84
8
-70
70
14
-53
0
0
0
0
0
0
0
0
0
0
15
0
0
1
-42
-8
-8
-3
-8
0
0
0
0
0
0
0
0
0
12
0
15
54
-29
-12
-39
7
-1
0
0
0
0
0
0
0
0
-13
5
-16
24
-8
-12
-3
8
0
0
0
0
0
0
0
0
1
-49
99
9
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-20
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-63
-8
28
0
0
0
-3
0
0
0
0
0
0
0
0
0
-12
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
5
-1
13
8
-24
0
0
0
0
0
0
0
0
0
0
44
27
-4
-49
-1
42
31
-8
0
0
0
0
0
0
0
0
1
-16
0
0
16
-27
-28
13
-8
0
0
0
0
0
0
0
0
-3
7
-7
-16
43
112
9
8
-12
0
0
0
0
0
0
0
0
0
42
6
9
-24
23
13
-89
-13
0
0
0
0
0
0
0
0
-3
63
-29
42
32
0
0
0
0
0
0
0
0
0
0
0
0
-28
5
-70
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
31
32
1
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-20
41
3
41
8
0
9
0
0
0
0
0
0
0
1
38
21
-17
-1
50
-23
6
14
0
0
0
0
0
0
0
0
-1
12
-7
29
0
13
43
-26
-10
-4
0
0
0
0
0
0
0
3
27
19
1
49
-7
13
-24
-3
0
0
0
0
0
0
0
0
0
69
84
-19
-10
-7
70
55
31
0
0
0
0
0
0
0
0
31
-71
33
80
5
-33
0
0
0
-1
0
0
0
0
0
0
0
12
-16
-7
-48
-8
-8
0
0
0
0
0
0
0
0
0
0
0
6
-22
42
42
1
6
0
0
0
0
0
0
0
0
0
0
0
-9
-4
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-5
24
-53
-6
60
47
13
0
14
0
0
0
0
0
0
0
8
14
8
20
-31
-21
40
-33
8
0
0
0
0
0
0
0
0
-3
-56
-10
35
-26
15
25
0
-55
-2
0
0
0
0
0
0
0
-7
-20
3
22
46
21
49
-69
13
3
0
0
0
0
0
0
0
7
47
-53
-50
-9
-36
-49
74
-7
8
0
0
0
0
0
0
0
-69
-46
42
-41
26
-11
-59
0
-1
0
0
0
0
0
0
0
0
33
-1
-18
-90
9
49
8
0
0
0
0
0
0
0
0
0
0
-132
-8
-6
12
-8
61
3
0
0
0
0
0
0
0
0
0
0
-46
2
8
-6
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
-12
25
-1
1
-30
-15
18
0
-1
0
0
0
0
0
0
0
0
16
11
49
18
-32
13
6
-49
-42
2
0
0
0
0
0
0
0
-20
19
-24
15
-68
107
73
82
-39
0
0
0
0
0
0
0
0
6
3
-43
62
32
31
13
-42
-2
0
0
0
0
0
0
0
0
-34
59
86
50
-5
-23
-7
-61
3
0
0
0
0
0
0
0
0
2
-32
4
10
5
-24
-23
1
0
0
0
0
0
0
0
0
0
-45
50
-2
-40
17
51
-6
0
0
0
0
0
0
0
0
0
0
-60
-59
-49
-8
-12
-26
-1
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
4
8
-1
2
0
-2
0
0
0
0
0
0
0
0
0
5
-8
16
10
8
0
-15
0
0
0
0
0
0
0
0
0
0
8
6
1
6
-7
13
8
-25
0
0
0
0
0
0
0
0
0
1
0
-13
-17
17
1
4
1
0
0
0
0
0
0
0
0
0
8
-4
-21
9
0
-9
1
-3
0
0
0
0
0
0
0
0
0
16
7
18
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-18
3
3
8
0
4
0
0
0
0
0
0
0
0
0
0
0
-31
16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
4
8
1
0
0
0
0
0
0
0
0
0
0
0
-5
2
-3
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
1
0
0
0
0
0
0
0
0
0
0
-5
0
18
1
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
-23
0
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-1
3
0
2
0
0
0
0
0
0
0
0
0
0
0
19
8
-2
14
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
16
-27
-12
1
0
0
0
0
0
0
0
0
0
2
-3
1
-3
55
-21
19
6
0
0
0
0
0
0
0
0
1
-2
8
1
-10
5
-20
1
0
0
0
0
0
0
0
0
0
0
-47
-43
33
5
3
-2
0
0
0
0
0
0
0
0
0
0
3
0
-13
-48
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-4
18
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
1
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
-9
-1
8
44
31
-25
10
2
0
0
0
0
0
0
0
0
-1
0
0
-6
-12
-5
-54
19
-32
-2
0
0
0
0
0
0
0
2
3
-4
6
7
-16
23
41
2
0
0
0
0
0
0
0
0
20
-5
-6
-24
-3
-14
71
-68
-3
0
0
0
0
0
0
0
0
2
-32
-7
-133
8
-3
6
0
9
0
0
0
0
0
0
0
0
3
-21
-8
-114
8
2
0
0
0
0
0
0
0
0
0
0
0
5
49
-31
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-6
24
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
-6
-10
-8
0
-51
-5
0
0
0
0
0
0
0
0
0
-1
-1
-57
-24
73
-6
-11
-44
16
3
0
0
0
0
0
0
0
-3
-22
-24
13
71
31
-5
-40
51
-1
0
0
0
0
0
0
0
1
-29
-25
-19
28
58
76
25
43
-7
0
0
0
0
0
0
0
-7
90
-54
67
18
-54
41
-6
8
0
0
0
0
0
0
0
0
-42
21
-63
52
117
-25
29
28
1
1
0
0
0
0
0
0
0
-18
-3
-62
10
-37
59
2
0
0
0
0
0
0
0
0
0
0
101
-57
-3
36
21
0
-4
0
0
0
0
0
0
0
0
0
0
-19
-33
-8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
48
22
35
16
4
-32
0
0
0
0
0
0
0
0
0
0
-25
-26
51
122
15
32
0
50
-3
-2
0
0
0
0
0
0
0
-15
-4
-17
-5
-107
41
-23
13
8
0
0
0
0
0
0
0
0
40
13
25
-27
25
-8
-26
-31
-3
0
0
0
0
0
0
0
0
-52
-15
47
6
-2
-24
25
-47
0
0
0
0
0
0
0
0
0
66
11
-100
11
61
63
-13
15
0
0
0
0
0
0
0
0
0
71
2
-139
45
48
42
9
0
0
0
0
0
0
0
0
0
0
-13
26
47
-18
31
8
-3
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
-7
-1
-6
0
0
-4
0
0
0
0
0
0
0
0
0
-6
9
-6
10
24
0
-10
-2
0
0
0
0
0
0
0
0
0
8
0
-1
-7
-19
-12
2
4
0
0
0
0
0
0
0
0
0
0
2
3
3
2
4
4
1
0
0
0
0
0
0
0
0
0
7
0
-9
14
4
1
3
-2
0
0
0
0
0
0
0
0
0
1
-3
13
-3
-4
9
0
0
0
0
0
0
0
0
0
0
0
-42
0
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-5
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-24
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
-4
1
3
3
-8
0
-2
0
0
0
0
0
0
0
0
0
0
8
13
-19
31
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
-35
6
10
0
0
0
0
0
0
0
0
0
-2
0
0
-27
-13
-6
-67
-2
4
0
0
0
0
0
0
0
0
-9
16
-2
16
26
91
54
-7
8
0
0
0
0
0
0
0
0
24
15
-38
-2
59
23
-6
1
0
0
0
0
0
0
0
0
0
-41
-5
-10
-38
-5
-5
0
2
0
0
0
0
0
0
0
0
0
-5
-32
-41
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-7
-12
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-56
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
3
9
-2
0
0
0
0
0
0
0
0
0
0
14
-3
0
0
2
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
3
-2
1
0
0
0
0
0
0
0
0
0
-4
0
6
-2
-3
-1
-1
-1
0
0
0
0
0
0
0
0
0
9
-1
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-23
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
19
1
3
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-5
0
4
0
0
0
0
0
0
0
0
0
-3
-5
-7
0
17
14
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-4
-32
23
-1
31
37
0
0
0
0
0
0
0
0
4
-6
2
8
-3
-19
-19
-5
-27
0
0
0
0
0
0
0
0
4
-6
0
20
17
-7
-41
27
17
0
0
0
0
0
0
0
0
0
0
1
-17
-30
4
2
39
-30
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
17
-53
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
8
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
93
1
3
0
0
0
-4
0
0
0
0
0
0
0
1
1
-8
-5
27
1
2
-2
-10
0
0
0
0
0
0
0
0
1
2
5
13
-6
22
-20
-14
5
1
0
0
0
0
0
0
0
0
0
10
-14
0
-8
-92
-43
31
0
0
0
0
0
0
0
0
0
0
-2
1
12
-15
-12
-48
13
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
-1
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
4
0
0
0
-2
5
0
0
0
0
0
0
0
6
-2
1
0
-1
1
-10
-1
0
-3
0
0
0
0
0
0
0
0
-8
1
2
-4
0
14
-15
0
0
0
0
0
0
0
0
0
0
0
0
17
-6
0
-30
1
-6
0
0
0
0
0
0
0
0
0
0
4
15
-7
11
-53
9
-1
0
0
0
0
0
0
0
0
0
0
-1
-10
2
-6
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
13
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
6
9
4
-7
-24
-8
8
0
0
0
0
0
0
0
0
0
0
0
-4
-1
8
-13
5
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
37
-7
8
-3
3
1
0
0
0
0
0
0
0
0
0
0
-17
-2
-8
-10
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-15
0
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
1
8
14
-7
13
3
10
0
0
0
0
0
0
0
0
0
-1
0
0
5
4
-25
3
3
0
0
0
0
0
0
0
0
0
0
-1
1
-83
-25
-6
-39
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
-8
-6
0
2
-2
0
0
0
0
0
0
0
0
0
-1
0
-1
25
-12
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
19
-2
23
-1
4
2
0
0
0
0
0
0
0
0
0
0
-2
-1
-31
3
-4
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
6
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
-1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
20
1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-8
-10
15
2
7
9
0
0
0
0
0
0
0
0
0
2
2
-9
-10
20
-49
8
18
0
0
0
0
0
0
0
0
0
-3
-1
0
-9
19
17
17
8
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-32
7
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-16
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
10
-13
44
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-7
93
28
-37
14
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
15
-4
-1
41
12
0
0
0
0
0
0
0
0
10
7
-30
-54
18
17
34
-6
23
0
0
0
0
0
0
0
0
1
-22
7
20
32
21
6
22
-8
0
0
0
0
0
0
0
0
0
-13
-22
42
-12
-17
-22
87
49
0
0
0
0
0
0
0
0
0
0
0
13
-15
-8
32
-43
50
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
29
-47
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-18
-37
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-8
13
-24
13
-5
0
0
0
-4
0
0
0
0
0
0
0
0
-24
-25
-29
-27
-20
4
-4
8
2
0
0
0
0
0
0
0
0
13
102
-3
-17
18
-14
-19
-5
8
0
0
0
0
0
0
0
0
19
-6
1
-69
15
-61
59
49
-1
0
0
0
0
0
0
0
0
0
0
5
-42
-10
-48
4
16
-5
0
0
0
0
0
0
0
0
0
0
-3
-13
-7
10
53
0
5
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-15
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
19
-4
1
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
35
-50
1
-10
-8
14
3
0
0
0
0
0
0
0
0
0
33
-46
-14
-32
-29
-31
-24
17
0
0
0
0
0
0
0
0
0
-10
25
3
23
-5
-24
-25
-3
0
0
0
0
0
0
0
0
0
-1
0
-20
-5
-7
-119
-66
22
2
0
0
0
0
0
0
0
0
0
0
5
-13
12
24
-32
-27
4
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-43
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-4
-2
0
0
0
1
-1
0
0
0
0
0
0
0
-3
0
-17
2
-2
7
-75
17
0
0
0
0
0
0
0
0
0
0
22
19
3
6
-22
13
-17
-4
0
-1
0
0
0
0
0
0
0
0
-8
-10
-19
37
1
16
4
0
0
0
0
0
0
0
0
0
0
-5
19
9
-45
60
27
7
0
0
0
0
0
0
0
0
0
0
0
1
0
-19
2
17
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-10
1
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
10
3
-8
0
0
0
6
1
0
0
0
0
0
0
0
0
-49
6
-2
-8
8
-6
-4
1
-14
0
0
0
0
0
0
0
0
5
0
-32
-22
18
2
13
10
0
0
0
0
0
0
0
0
0
1
31
-2
21
-7
-4
34
14
3
-2
-2
0
0
0
0
0
0
4
1
-1
11
-13
-61
-7
-25
8
0
0
0
0
0
0
0
0
0
3
12
19
49
-34
-19
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
43
-4
2
0
0
0
0
2
0
1
-1
0
0
0
0
0
0
20
13
0
4
-15
12
-7
2
5
-1
0
0
0
0
0
0
0
-3
-25
-3
-13
-39
-34
14
-1
0
0
0
0
0
0
0
0
0
1
3
-53
20
-5
-76
20
8
8
-1
3
0
0
0
0
0
0
0
0
6
-8
-12
13
4
2
-1
0
1
0
0
0
0
0
0
0
0
0
-5
-13
12
-18
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-21
3
-1
0
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
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
1
-2
-2
1
0
0
0
0
4
-4
0
2
0
0
0
0
0
0
-14
0
-2
0
0
0
-8
-3
2
0
0
0
0
0
0
0
0
0
4
1
-5
5
-2
5
27
0
-1
2
2
0
0
0
0
0
0
-3
-4
41
0
-18
1
-7
2
2
0
1
0
0
0
0
0
0
0
-6
-3
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
0
0
0
1
2
1
0
1
0
0
0
0
0
0
0
1
1
7
0
-1
0
0
0
2
1
0
0
0
0
0
0
0
-1
0
2
-9
0
-3
0
0
-1
1
0
0
0
0
0
0
0
0
-1
0
5
0
1
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
4
-3
0
-3
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
22
-13
16
7
0
0
0
0
0
0
0
0
0
0
0
-7
30
-3
-9
7
-19
29
-24
0
0
0
0
0
0
0
0
0
0
6
-12
0
9
-16
24
51
0
0
0
0
0
0
0
0
0
0
0
6
-10
7
3
27
-8
0
0
0
0
0
0
0
0
0
0
0
0
24
-7
-30
-4
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
18
-2
46
-7
-8
0
0
0
0
0
0
0
0
0
0
0
-20
-4
-48
-6
9
13
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-28
-42
-34
-8
-21
21
0
0
0
0
0
0
0
0
0
7
25
-20
-5
-18
-23
28
77
0
0
0
0
0
0
0
0
0
42
14
-90
30
-3
13
-15
1
0
0
0
0
0
0
0
0
1
-1
7
-34
-1
7
-42
12
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
27
25
93
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
-8
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
5
-4
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
35
1
24
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-25
16
0
10
-12
5
3
0
0
0
0
0
0
0
0
0
0
13
17
42
-3
-51
-37
-4
0
0
0
0
0
0
0
0
0
0
-4
-34
-22
15
34
-63
-4
0
0
0
0
0
0
0
0
0
0
3
4
-13
-20
-41
-8
8
0
0
0
0
0
0
0
0
0
0
0
5
-8
-3
8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
0
0
5
-20
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-19
0
1
25
-17
0
1
0
0
0
0
0
0
0
0
0
2
4
6
-13
-39
-19
3
0
0
0
0
0
0
0
0
-3
0
9
-18
-9
-38
-6
3
-3
1
0
0
0
0
0
0
0
0
0
1
-13
24
-10
-8
43
-1
-1
0
0
0
0
0
0
0
0
0
0
3
2
2
16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
19
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-2
1
-5
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
3
-4
10
-9
-19
7
0
0
0
0
0
0
0
0
0
-3
0
0
-4
27
3
14
-18
1
0
1
0
0
0
0
0
0
0
0
-5
-5
-10
-33
19
-1
0
-3
0
0
0
0
0
0
0
0
0
15
2
9
27
-1
50
5
1
0
0
0
0
0
0
0
0
0
0
2
-5
-17
-5
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
38
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
20
10
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
25
13
-1
1
-23
23
-2
0
0
0
0
0
0
0
0
0
31
0
-4
-1
-2
-7
-29
-4
-2
1
0
0
0
0
0
0
-37
10
0
8
-46
7
14
6
5
0
0
0
0
0
0
0
0
0
0
0
-9
13
-4
-14
-60
2
0
0
0
0
0
0
0
0
0
0
0
1
3
-75
-16
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
-2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
22
-2
0
0
0
0
0
0
0
0
5
-10
20
0
1
-3
-78
31
-2
0
-1
0
0
0
0
0
0
0
0
-3
27
5
3
6
46
1
0
0
0
0
0
0
0
0
0
0
1
4
-3
12
18
-35
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
2
-5
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
10
8
-1
1
0
0
0
9
0
-10
1
0
0
0
0
0
0
0
6
0
0
6
0
-29
0
2
2
0
0
0
0
0
0
0
6
0
-5
3
2
5
27
12
0
0
0
0
0
0
0
0
0
-1
7
0
-23
-8
-8
5
-8
-1
0
0
0
0
0
0
0
0
0
0
7
3
24
13
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
34
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-11
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
1
-6
-8
0
-2
3
0
0
0
0
0
0
0
0
0
17
8
10
-13
-33
18
0
-4
0
2
0
0
0
0
0
0
0
0
0
5
-12
5
-2
3
0
0
0
0
0
0
0
0
0
0
0
-4
4
-13
-3
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
2
1
2
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
5
-3
-3
3
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
15
-4
12
0
0
0
0
0
0
0
0
0
0
0
22
10
-38
-31
-25
25
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
7
-12
-8
23
-35
0
0
0
0
0
0
0
0
0
0
1
-33
-17
2
5
-60
-42
0
0
0
0
0
0
0
0
0
0
8
13
32
9
4
-6
24
0
0
0
0
0
0
0
0
0
0
0
5
9
-2
-9
2
54
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
8
2
18
15
-12
-15
0
0
0
0
0
0
0
0
0
0
0
23
-15
-58
43
-47
37
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-24
-5
-29
1
18
7
0
0
0
0
0
0
0
0
0
2
10
13
8
-5
-41
74
42
0
0
0
0
0
0
0
0
0
0
-4
41
8
-32
20
-15
17
0
0
0
0
0
0
0
0
0
-7
-1
6
-32
-34
29
43
56
0
0
0
0
0
0
0
0
0
0
1
0
6
37
-3
-23
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
-12
2
-24
-6
3
0
0
0
0
0
0
0
0
0
0
0
2
-15
-8
25
2
16
0
0
0
4
0
0
0
0
0
0
0
0
-7
-9
-13
-44
-18
-7
-25
-10
-1
0
0
0
0
0
0
0
0
0
0
-5
-16
16
-1
31
-10
-22
0
0
0
0
0
0
0
0
0
-1
-8
0
31
-17
-40
-23
0
0
0
0
0
0
0
0
0
0
5
0
-6
-31
-22
-80
-33
6
0
0
0
0
0
0
0
0
0
0
2
1
16
-12
15
-22
-2
0
0
0
0
0
0
0
0
0
0
1
-1
4
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-10
2
27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-79
-5
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-24
-3
-19
7
0
0
0
0
0
0
0
0
0
0
0
10
-6
-17
4
19
-37
9
0
0
0
0
0
0
0
0
0
0
4
8
-14
-23
-2
8
4
2
0
0
0
0
0
0
0
1
0
1
0
-15
-21
-19
-43
3
0
0
0
0
0
0
0
0
0
0
3
-1
-17
-23
-19
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-5
6
1
0
0
0
0
0
0
0
0
0
0
0
0
1
66
13
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-12
3
1
4
47
-22
1
0
0
0
0
0
0
0
0
9
0
0
0
24
1
-59
31
0
0
0
0
0
0
0
0
-3
-4
0
-3
2
-27
41
-19
12
2
0
0
0
0
0
0
0
0
0
0
0
8
-3
-29
-7
-1
3
0
0
0
0
0
0
0
0
0
0
7
1
8
13
-13
-42
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-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
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
15
8
33
0
0
0
0
0
0
0
0
0
5
0
12
0
0
13
1
2
-19
0
0
0
0
0
0
0
-2
-1
0
1
1
0
30
47
-15
2
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
-20
-43
0
0
0
0
0
0
0
0
0
0
-7
1
0
-32
29
1
-49
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-24
2
0
0
13
-9
0
0
0
0
0
0
0
0
0
0
4
2
-1
0
-5
41
8
-1
0
0
0
0
0
0
0
0
0
0
0
-6
1
-2
-25
-20
0
0
0
0
0
0
0
0
0
0
0
-1
-35
0
-42
10
2
-1
0
0
0
0
0
0
0
0
0
0
0
7
7
53
-1
24
0
1
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
23
5
0
1
0
0
0
2
0
0
0
0
0
0
0
0
2
9
-35
9
0
0
8
-5
-1
0
0
0
0
0
0
0
0
-10
0
-4
2
1
0
0
-1
2
0
0
0
0
0
0
0
0
0
3
6
12
-1
-1
3
-5
1
-1
0
0
0
0
0
0
0
0
1
9
1
5
24
5
-23
0
-2
0
0
0
0
0
0
0
0
0
0
-5
3
4
-15
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
49
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-2
-19
-1
-1
0
0
-2
0
0
0
0
0
0
0
5
6
4
-7
39
2
-3
7
4
0
0
0
0
0
0
0
0
0
-6
-13
8
8
-52
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-2
66
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
3
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-4
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-8
-6
12
3
0
0
0
0
0
0
0
0
0
0
0
41
-15
20
-9
41
-6
0
0
0
0
0
0
0
0
0
0
0
2
16
9
1
-8
-7
0
-20
0
0
0
0
0
0
0
0
0
3
-2
4
22
-6
-16
-48
93
0
0
0
0
0
0
0
0
0
0
0
9
13
14
24
-29
20
0
0
0
0
0
0
0
0
0
0
0
8
-17
18
77
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-15
22
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
0
0
0
0
0
0
0
0
0
0
8
9
-17
7
3
0
0
0
0
0
0
0
0
0
0
0
-8
16
24
-116
26
4
0
0
0
0
0
0
0
0
0
0
0
4
-19
-29
-80
65
-59
-10
-31
-8
0
0
0
0
0
0
0
0
0
0
63
-6
-87
37
-63
46
-31
0
0
0
0
0
0
0
0
0
0
-15
60
29
49
25
32
5
0
0
0
0
0
0
0
0
0
0
15
-49
65
3
-6
60
65
0
0
0
0
0
0
0
0
-6
1
4
-14
-19
-55
-27
-31
3
0
0
0
0
0
0
0
0
0
0
1
-6
20
-9
-25
9
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-2
0
0
0
0
0
0
0
0
1
5
-53
-16
-8
-2
0
0
0
3
0
0
0
0
0
0
0
-2
5
10
-43
-8
-33
0
0
0
-16
0
0
0
0
0
0
0
10
5
-10
-8
-74
-75
-9
-28
2
4
0
0
0
0
0
0
0
0
0
-1
-48
10
32
12
-51
-20
2
0
0
0
0
0
0
0
0
0
0
42
-6
-43
-3
9
52
2
0
0
0
0
0
0
0
0
0
0
-5
73
-61
-13
33
60
5
0
0
0
0
0
0
0
5
-2
1
-7
-25
22
21
31
-64
-6
0
0
0
0
0
0
0
0
0
0
-4
-1
-6
31
9
53
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
1
0
0
0
0
0
0
0
1
4
4
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-30
-19
25
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-6
18
-17
8
66
9
-60
3
-3
0
0
0
0
0
0
0
3
0
0
1
46
-12
0
-13
1
0
0
0
0
0
0
0
0
-2
0
0
0
12
-14
-2
-7
-52
0
0
0
0
0
0
0
0
0
0
0
0
-28
3
-37
-38
27
5
0
0
0
0
0
0
0
0
0
-1
0
0
8
35
-48
4
-4
0
0
0
0
0
0
0
0
0
0
2
0
-9
-14
20
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-4
-24
3
9
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-30
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
54
-5
-3
-30
8
9
1
0
0
0
0
0
0
0
0
6
0
0
2
-14
39
-9
9
-4
0
0
0
0
0
0
0
7
0
0
0
-1
41
68
27
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-14
0
8
-7
0
0
0
0
0
0
0
0
0
-4
-3
0
-2
47
-8
-34
5
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-13
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-10
6
8
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-38
-2
-3
-8
-13
1
0
0
0
0
0
0
0
0
0
0
76
-7
0
0
-16
23
8
0
0
0
0
0
0
0
0
0
0
12
-4
0
0
11
37
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
74
38
14
0
0
0
0
0
0
0
0
0
0
0
0
-12
-31
0
-64
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
4
6
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
5
0
-34
5
-23
14
-25
0
0
0
0
0
0
0
0
0
0
-16
-29
0
0
0
15
-3
0
0
0
0
0
0
0
0
0
0
-6
-2
5
0
-1
-6
-2
0
0
0
0
0
0
0
0
0
0
3
-1
0
-4
0
73
-26
3
0
0
0
0
0
0
0
0
0
7
0
17
-3
-33
24
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-10
-3
-10
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-34
24
0
-1
-13
49
0
0
0
0
0
0
0
0
0
0
0
38
19
-2
0
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
-6
12
0
-3
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
9
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
-19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
0
2
4
-8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
39
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-5
-10
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-25
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-8
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
12
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
2
0
-25
5
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-44
5
-33
3
18
-8
0
0
0
0
0
0
0
0
0
0
0
-8
2
-31
-5
-12
-5
-10
-29
0
0
0
0
0
0
0
0
0
-7
-5
-20
-48
2
-4
8
23
0
0
0
0
0
0
0
0
0
0
-17
-45
79
6
-26
8
13
0
0
0
0
0
0
0
0
0
0
0
-3
-8
18
27
2
-16
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
38
-3
8
0
0
0
0
0
0
0
0
0
0
0
-13
0
2
2
18
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
12
31
0
0
0
0
0
0
0
0
0
-1
23
48
12
-3
-8
0
0
0
0
0
0
0
0
0
0
0
66
65
-117
-22
40
3
0
0
0
0
0
0
0
0
0
0
0
12
-2
3
-52
69
-11
13
-59
-13
0
0
0
0
0
0
0
0
1
30
-15
-17
-17
-21
13
29
-31
0
0
0
0
0
0
0
0
0
0
-72
7
-31
-4
-43
45
13
0
0
0
0
0
0
0
0
0
0
-3
42
-25
-52
46
16
10
0
0
0
0
0
0
0
0
0
0
-4
-17
28
3
-3
-28
8
0
0
0
0
0
0
0
0
0
0
0
-1
-20
7
41
-11
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
34
-12
0
0
0
0
0
0
0
0
1
-10
-22
-2
-30
23
0
0
0
0
0
0
0
0
0
0
0
8
18
41
-9
2
-7
0
0
0
-4
0
0
0
0
0
0
0
-1
45
48
-56
9
2
25
5
-8
-12
0
0
0
0
0
0
0
-10
-10
-74
-7
5
-15
26
7
-1
0
0
0
0
0
0
0
0
0
1
0
-24
-17
-24
62
11
-41
-1
0
0
0
0
0
0
0
0
0
0
4
-6
66
14
29
-67
-4
0
0
0
0
0
0
0
0
0
0
8
-2
-14
74
15
-17
-27
0
0
0
0
0
0
0
0
0
1
0
-7
12
37
-3
98
5
0
0
0
0
0
0
0
0
0
0
0
0
-31
-10
-7
-8
3
0
0
0
0
0
0
0
0
-8
-12
-47
1
1
0
0
0
1
0
0
0
0
0
0
0
4
30
-30
-13
6
42
0
0
0
1
0
0
0
0
0
0
0
0
-5
-33
-59
0
-3
-3
-32
-9
2
0
0
0
0
0
0
0
0
0
-49
-9
-25
44
-51
10
-31
0
1
0
0
0
0
0
0
-1
0
3
0
-28
-41
51
-25
-52
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
-22
21
-23
-1
0
0
0
0
0
0
0
0
0
0
1
0
6
3
10
86
-14
1
0
0
0
0
0
0
0
0
0
-2
1
2
-7
1
-41
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
4
2
0
0
0
0
0
0
0
0
-4
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
1
29
-14
36
4
-18
0
-7
15
0
0
0
0
0
0
0
0
0
5
47
-42
52
3
-34
-7
8
0
0
0
0
0
0
0
0
-12
0
0
0
2
42
-54
-3
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-18
-48
23
-1
0
0
0
0
0
0
0
0
2
0
0
0
74
-60
11
-30
2
0
0
0
0
0
0
0
0
0
0
-1
0
5
-28
10
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-19
-9
25
0
-1
-10
0
0
0
0
0
0
0
0
-2
-8
-2
-5
24
0
3
-3
-13
0
1
0
0
0
0
0
0
6
6
-19
0
0
0
31
-89
-22
-1
1
0
0
0
0
0
0
0
0
0
0
0
2
-9
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
-51
0
1
0
0
0
0
0
0
0
0
0
4
0
0
-3
22
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-24
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-5
-8
0
4
0
0
0
0
0
0
0
0
0
0
0
-12
7
-6
0
-23
2
8
0
0
0
0
0
0
0
0
0
0
-8
25
0
0
-8
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-32
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-20
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-1
0
-8
1
6
0
0
0
0
0
0
0
0
0
0
0
1
9
1
-2
-8
-7
1
0
0
0
0
0
0
0
0
0
-2
-6
6
20
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
-7
5
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
49
-2
31
2
-8
0
0
0
0
0
0
0
0
0
0
1
-19
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-2
-7
-8
5
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
-22
58
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
-18
8
19
-1
1
-8
0
0
0
0
0
0
0
0
0
3
-25
0
5
-8
28
-17
8
0
0
0
0
0
0
0
0
0
1
3
20
5
4
35
-59
16
0
0
0
0
0
0
0
0
0
0
0
25
21
46
42
-2
85
0
0
0
0
0
0
0
0
0
0
4
0
-12
33
-43
-31
-48
0
0
0
0
0
0
0
0
0
0
-1
-6
-1
3
-29
-8
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
84
0
0
0
0
0
0
0
0
0
0
-15
-13
-43
-4
-7
0
0
0
0
0
0
0
0
0
0
0
9
-39
46
-11
-28
6
0
0
0
0
0
0
0
0
0
0
0
16
-56
-29
-143
-3
-63
56
-41
5
0
0
0
0
0
0
0
0
0
44
8
-45
-57
44
58
-29
-2
0
0
0
0
0
0
0
0
-1
61
-49
130
-86
44
85
-21
-23
0
0
0
0
0
0
0
0
0
0
-49
-58
37
43
-50
75
-22
0
0
0
0
0
0
0
0
0
0
17
-42
-41
121
45
-41
-25
0
0
0
0
0
0
0
0
0
0
0
24
34
-15
86
-36
102
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
18
-2
0
0
0
0
0
0
0
0
0
-28
13
41
9
-13
0
0
0
0
0
0
0
0
0
0
0
14
-17
44
4
59
-2
0
0
0
-22
0
0
0
0
0
0
0
0
-13
59
-76
40
22
-1
14
13
5
0
0
0
0
0
0
0
-1
-10
-9
-14
5
-13
-52
-20
-67
0
0
0
0
0
0
0
0
-8
-46
26
92
18
-13
8
-31
90
1
0
0
0
0
0
0
0
0
0
-2
15
-16
-9
-9
23
42
-8
0
0
0
0
0
0
0
0
0
0
9
7
56
48
-56
-26
-22
0
0
0
0
0
0
0
0
0
0
-4
3
-20
-42
-23
51
-32
0
0
0
0
0
0
0
0
0
0
0
0
2
5
1
1
0
0
0
0
0
0
0
0
0
-1
-8
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-8
-6
-33
30
0
0
0
-4
-1
0
0
0
0
0
0
-2
1
-16
-1
15
8
-3
0
-13
1
-4
0
0
0
0
0
0
-1
-4
30
-17
6
43
-8
16
-24
-1
0
0
0
0
0
0
0
10
-29
-23
-69
35
22
75
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
-90
40
-20
55
39
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
8
-25
-77
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-41
10
-80
43
0
0
0
0
0
0
0
0
0
0
0
0
13
7
2
5
1
0
0
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
12
35
25
7
-14
0
0
0
3
0
0
0
0
0
0
0
0
-3
-34
-4
7
5
0
0
-5
0
0
0
0
0
0
0
0
0
-5
4
0
6
-19
-1
4
8
0
0
0
0
0
0
0
0
-9
0
34
1
-17
-2
4
17
-3
0
0
0
0
0
0
0
0
8
1
0
0
0
-18
28
-8
-37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-27
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
8
-47
-2
-11
18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
-2
0
0
0
0
0
0
0
0
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
20
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
39
-13
0
18
-25
0
-3
0
0
0
0
0
0
0
0
0
0
0
21
22
-73
3
42
-9
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
9
-48
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
59
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
13
16
0
0
0
0
0
0
0
0
0
0
0
14
8
10
2
21
-14
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-8
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
-44
5
4
7
2
0
0
0
0
0
0
0
0
0
8
-2
6
0
5
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
12
22
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
-2
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-22
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-7
-7
25
0
-2
0
0
0
0
0
0
0
0
0
0
0
-16
-87
-8
-41
1
-6
17
0
0
0
0
0
0
0
0
0
3
-35
4
-21
26
0
-15
-21
0
0
0
0
0
0
0
0
0
-7
2
-9
-8
-56
-29
1
4
0
0
0
0
0
0
0
0
0
0
0
15
-18
-20
3
24
66
0
0
0
0
0
0
0
0
0
0
0
-8
7
18
-9
25
-50
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
41
20
125
0
0
0
0
0
0
0
0
0
0
25
-41
75
6
8
0
0
0
0
0
0
0
0
0
0
0
-9
-73
3
-42
66
12
0
0
0
0
0
0
0
0
0
0
0
-2
64
31
-38
8
-47
4
-3
8
0
0
0
0
0
0
0
0
-6
31
66
-47
13
16
41
8
4
0
0
0
0
0
0
0
0
0
29
1
-77
65
21
68
4
42
0
0
0
0
0
0
0
0
8
-20
-4
-4
28
12
-22
15
5
0
0
0
0
0
0
0
0
0
0
1
-10
18
-7
99
37
6
0
0
0
0
0
0
0
0
0
0
1
-29
-1
8
33
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
8
13
-8
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
-12
0
66
-5
5
4
0
0
0
-2
0
0
0
0
0
0
0
0
-6
3
49
-32
0
0
1
-15
-2
0
0
0
0
0
0
0
0
-7
-13
-59
35
2
-37
16
5
0
0
0
0
0
0
0
0
-3
7
18
-16
-39
-16
-56
-20
-20
0
0
0
0
0
0
0
0
0
6
-5
-2
-22
3
22
21
-18
8
0
0
0
0
0
0
0
0
0
0
10
-30
-1
58
70
-27
-2
0
0
0
0
0
0
0
0
0
0
1
10
-14
7
22
107
-64
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
-20
37
0
2
0
0
0
0
-1
0
0
0
0
0
0
-5
-8
23
-26
19
5
2
0
17
0
0
0
0
0
0
0
0
1
-3
-2
-22
8
-32
-18
5
-4
0
0
0
0
0
0
0
0
0
1
7
-46
14
10
25
-25
5
0
0
0
0
0
0
0
0
0
-12
-4
-35
49
-14
22
10
22
0
0
0
0
0
0
0
0
0
0
0
0
16
13
63
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-24
5
37
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
6
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-15
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-5
17
0
1
1
0
0
0
0
0
0
0
0
0
0
-2
-3
13
-47
0
-6
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-17
75
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
-2
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
51
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
3
-22
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-35
25
-18
-9
0
0
7
0
0
0
0
0
0
0
0
-4
13
-53
-24
59
-12
-10
-14
37
0
0
0
0
0
0
0
0
2
-5
18
22
-56
-3
5
9
-56
0
0
0
0
0
0
0
0
0
-2
8
6
-101
-66
4
14
21
0
0
0
0
0
0
0
0
0
0
0
1
17
20
74
-24
-36
0
0
0
0
0
0
0
0
0
0
0
3
-5
15
33
22
-48
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-52
-44
115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
12
-6
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
8
5
0
1
-8
0
0
0
0
0
0
0
0
0
8
-47
-32
-20
22
-7
-1
-2
0
0
0
0
0
0
0
0
0
-6
1
8
10
31
43
-20
0
0
0
0
0
0
0
0
0
0
0
-14
1
-4
-22
61
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
5
8
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
44
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
1
1
13
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
-2
-23
6
-1
-1
-1
0
0
0
0
0
0
0
0
0
4
0
-5
5
-22
12
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
13
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
4
-10
-5
0
-1
0
0
0
0
0
0
0
0
0
2
-8
2
25
-43
-5
4
0
0
0
0
0
0
0
0
0
0
2
-3
37
1
-12
10
1
6
0
0
0
0
0
0
0
0
0
0
12
-1
1
2
0
5
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
2
-3
-4
1
0
0
0
0
0
0
0
0
0
-2
0
-10
8
19
-16
1
0
0
0
0
0
0
0
0
0
0
0
-1
6
-8
-5
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
-9
0
-4
0
0
0
0
0
0
0
0
0
0
-1
1
-1
1
-4
4
0
0
0
0
0
0
0
0
0
0
-7
0
-4
0
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
4
2
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
1
-1
0
5
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
-8
0
1
10
4
-2
-2
1
0
0
0
0
0
0
0
0
2
-1
4
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
7
0
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
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
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
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
-7
-23
4
0
4
0
-1
0
0
0
0
0
0
0
0
0
2
-6
0
0
-10
1
0
-1
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
2
0
0
1
3
5
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
15
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
7
-3
2
1
0
0
0
0
0
0
0
0
0
0
-10
0
-6
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
16
16
-14
2
-7
-4
0
0
0
0
0
0
0
0
0
4
-10
37
14
32
6
10
5
2
0
0
0
0
0
0
0
0
-3
-3
-19
-5
8
30
-14
10
-1
0
0
0
0
0
0
0
0
-1
-8
0
24
2
-23
18
7
-8
0
0
0
0
0
0
0
0
0
3
0
-3
0
1
8
0
2
-1
0
0
0
0
0
0
0
0
0
1
13
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
0
-7
0
-1
4
0
0
0
0
0
0
0
0
0
0
16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
19
-31
44
-12
20
-1
0
0
0
0
0
0
0
0
0
0
23
2
-28
-8
-33
4
0
-3
0
0
0
0
0
0
0
0
5
-1
-22
-8
-21
50
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
5
5
-2
-4
2
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
1
-3
2
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
-1
7
-13
32
0
6
0
0
0
0
0
0
0
0
0
0
4
7
19
-5
-5
20
0
-1
0
0
0
0
0
0
0
0
0
-12
0
2
14
13
-4
0
-2
0
0
0
0
0
0
0
0
2
-1
0
-4
-10
2
0
0
-3
0
0
0
0
0
0
0
0
0
1
-1
1
0
4
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
4
27
0
12
-2
-6
2
0
0
0
0
0
0
0
0
0
-1
58
-1
1
0
2
-6
-2
-1
0
0
0
0
0
0
0
0
-1
3
0
3
14
-2
-7
1
-7
0
0
0
0
0
0
0
0
0
-1
0
1
0
-14
6
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
-1
6
-6
0
-2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
21
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
-22
-6
7
-8
-5
-25
16
4
0
0
0
0
0
0
0
0
5
13
1
16
4
-13
3
6
0
0
0
0
0
0
0
0
0
3
5
-3
0
-4
0
9
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
31
-6
-16
2
0
-1
0
0
0
0
0
0
0
0
9
8
-7
27
-5
-3
-2
-5
0
0
0
0
0
0
0
0
0
-3
-25
-4
8
0
-6
-3
1
-5
0
0
0
0
0
0
0
0
-2
3
-5
0
0
-13
-1
-2
0
0
0
0
0
0
0
0
0
1
9
0
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
8
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
-3
-1
0
-4
3
0
0
0
0
0
0
0
0
0
0
5
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
7
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
4
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
5
-1
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
5
2
-12
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
19
23
-1
-4
9
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-8
0
-8
0
0
0
0
0
0
0
0
0
0
0
5
0
3
0
10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
6
-10
10
13
2
0
0
0
0
0
0
0
0
0
-3
41
53
8
25
10
-19
-8
-5
0
0
0
0
0
0
0
0
2
0
-5
0
-6
-19
20
4
3
0
0
0
0
0
0
0
0
0
19
0
-3
2
14
-25
4
-5
0
0
0
0
0
0
0
0
0
-6
0
-12
-5
4
0
-7
0
0
0
0
0
0
0
0
0
0
0
1
2
2
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-22
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
10
48
-6
0
0
0
0
0
0
0
0
0
0
0
-5
-27
42
-32
5
13
1
0
0
0
0
0
0
0
0
0
1
3
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
19
0
-2
0
-1
3
0
0
0
0
0
0
0
0
0
0
14
2
-2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
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
-3
0
3
2
9
0
0
0
0
0
0
0
0
0
0
0
5
-5
2
-8
-34
-3
-2
0
0
0
0
0
0
0
0
0
0
13
-4
0
0
3
-5
-2
5
0
0
0
0
0
0
0
0
0
2
0
-2
-1
3
-5
0
0
0
0
0
0
0
0
0
0
0
1
5
-1
0
0
3
0
6
0
0
0
0
0
0
0
0
0
4
-5
-6
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
-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
4
1
0
0
0
0
0
0
0
0
0
-1
-3
1
1
-6
-8
-24
7
0
0
0
0
0
0
0
0
0
0
6
3
-1
0
5
5
4
0
0
0
0
0
0
0
0
0
0
-7
0
-1
2
-1
1
0
1
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
4
8
0
0
0
0
0
0
0
0
0
0
5
-2
6
17
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
17
0
0
0
0
0
0
0
0
0
0
0
9
2
4
13
3
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
-10
16
-10
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-2
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
2
1
-12
49
17
-8
4
1
8
-2
0
0
0
0
0
0
1
0
6
2
1
-6
1
1
5
0
0
0
0
0
0
0
0
0
0
6
-1
-2
-3
5
-2
0
0
0
0
0
0
0
0
0
0
2
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
8
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
-12
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-5
0
16
0
0
0
0
0
0
0
0
0
0
0
7
-1
2
4
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
1
7
-4
0
0
0
0
0
0
0
0
0
0
0
-6
17
-3
-3
-2
12
-8
18
0
0
0
0
0
0
0
0
0
0
-12
-23
0
8
6
5
0
0
0
0
0
0
0
0
0
0
1
-3
31
17
2
-8
0
0
0
0
0
0
0
0
0
0
0
19
1
-32
-1
3
4
0
0
0
0
0
0
0
0
0
0
0
-3
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
-13
-5
15
0
0
0
0
0
0
0
0
0
0
3
-9
-12
39
-1
-20
-20
3
0
0
0
0
0
0
0
0
2
0
22
-21
-18
-23
81
-35
0
0
0
0
0
0
0
0
0
-2
1
17
3
-25
6
-51
6
-2
0
0
0
0
0
0
0
0
0
-6
-2
-50
-4
4
8
-6
13
0
0
0
0
0
0
0
0
1
-15
-1
-8
-20
1
-2
0
1
0
0
0
0
0
0
0
0
0
-12
-2
43
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-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
3
0
-1
-1
23
-12
-25
0
0
0
0
0
0
0
0
0
2
-4
23
5
-3
-23
37
0
-2
0
0
0
0
0
0
0
0
1
6
25
3
-8
12
0
-8
6
0
0
0
0
0
0
0
0
-2
27
0
-16
-10
8
25
3
2
0
0
0
0
0
0
0
0
0
-15
-3
-15
20
0
3
0
0
0
0
0
0
0
0
0
0
0
7
-5
-45
3
2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
16
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
-3
0
-24
0
7
1
0
0
0
0
0
0
0
0
0
0
0
1
3
3
-12
-8
2
0
0
0
0
0
0
0
0
0
0
-13
-22
0
-1
-4
7
0
-4
0
0
0
0
0
0
0
0
0
1
1
-31
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
-1
9
-37
0
0
0
0
0
0
0
0
0
0
-6
-5
-1
22
2
-5
-1
-8
0
0
0
0
0
0
0
0
0
0
-5
-1
0
8
-19
-4
0
0
0
0
0
0
0
0
0
0
1
23
-4
4
6
2
0
0
0
0
0
0
0
0
0
0
0
3
-3
5
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
0
0
0
0
0
0
0
0
0
3
0
-5
0
2
0
13
2
10
0
0
0
0
0
0
0
0
0
-2
0
14
6
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-6
-6
37
-3
0
0
0
0
0
0
0
0
0
-1
-1
24
-1
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
-12
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
4
0
2
2
-15
25
3
0
0
0
0
0
0
0
0
0
0
-2
-1
0
24
2
-7
10
0
0
0
0
0
0
0
0
0
0
0
13
0
5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
7
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
-8
0
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
-8
0
-3
1
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-2
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
24
0
1
-3
17
-6
-12
-12
0
0
0
0
0
0
0
0
0
4
-2
6
-5
3
-12
-4
0
0
0
0
0
0
0
0
0
0
-6
0
-23
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
-3
2
-23
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
23
-2
8
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-17
8
25
0
0
0
0
0
0
0
0
0
0
42
0
0
-4
-33
-14
6
-3
4
0
0
0
0
0
0
0
0
47
-6
10
-22
42
-25
-5
-16
0
0
0
0
0
0
0
0
-5
4
0
-41
4
-25
-29
57
-3
0
0
0
0
0
0
0
0
-4
1
28
9
28
-7
-20
2
5
1
0
0
0
0
0
0
0
-2
50
7
51
-16
9
13
0
3
0
0
0
0
0
0
0
0
3
9
35
30
0
-1
6
0
0
0
0
0
0
0
0
0
0
2
-116
-14
58
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
17
-25
0
1
0
0
0
0
0
0
0
0
1
0
0
8
-1
7
16
0
0
0
0
0
0
0
0
0
0
6
6
-5
-29
-19
-14
-13
0
1
0
0
0
0
0
0
0
0
-1
12
-5
28
48
-21
-4
6
0
0
0
0
0
0
0
0
0
-24
0
-39
-5
8
-1
0
-1
0
0
0
0
0
0
0
0
1
1
2
3
10
5
0
0
0
0
0
0
0
0
0
0
0
1
-51
-15
49
2
2
0
0
0
0
0
0
0
0
0
0
0
0
31
-17
13
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-7
0
2
-10
-3
0
0
0
0
0
0
0
0
0
0
-1
-14
6
16
7
-39
6
0
0
0
0
0
0
0
0
-2
-2
5
-5
1
-7
-13
-1
-1
0
0
0
0
0
0
0
0
0
-22
-6
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
1
13
0
0
0
0
0
0
0
0
0
0
0
-2
1
63
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
20
-13
-4
0
0
0
0
0
0
0
0
0
0
-1
4
-7
13
-4
-5
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
-1
25
0
0
0
0
0
0
0
0
0
0
3
2
34
0
41
6
-8
1
0
0
0
0
0
0
0
0
0
-2
-14
1
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
-41
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
22
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
-1
-1
0
0
0
0
0
0
0
0
0
0
6
1
0
-2
0
2
0
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-1
13
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
41
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
1
0
0
0
0
0
0
0
0
0
0
1
-1
0
18
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
2
0
0
0
0
0
0
0
0
0
1
0
0
-3
9
2
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-4
0
-3
6
0
0
0
0
0
0
0
0
0
0
4
-3
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-5
6
1
13
4
-3
0
0
0
0
0
0
0
0
0
-18
-7
-1
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
10
-6
-16
-15
5
-4
1
0
0
0
0
0
0
0
0
0
0
0
2
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
10
-2
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
34
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-8
-67
-15
-32
0
0
0
0
0
0
0
0
0
0
9
-2
-13
43
23
-113
13
1
0
0
0
0
0
0
0
0
-1
25
27
12
-4
-86
18
53
-6
0
0
0
0
0
0
0
0
-1
59
8
-23
49
-22
63
34
18
-2
0
0
0
0
0
0
0
-3
-60
59
6
5
18
-13
1
-7
0
0
0
0
0
0
0
0
-3
0
-12
14
59
-7
-17
5
-8
0
0
0
0
0
0
0
0
0
86
-2
-2
9
31
-2
0
0
0
0
0
0
0
0
0
0
8
-32
-33
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-32
3
0
-1
0
0
0
0
0
0
0
1
-23
2
4
12
9
-20
-24
-2
0
0
0
0
0
0
0
0
0
-16
8
23
-12
-21
0
16
17
0
0
0
0
0
0
0
0
0
-9
-23
28
39
35
18
-25
-1
0
0
0
0
0
0
0
0
0
31
18
-43
-47
6
-8
-3
-8
0
0
0
0
0
0
0
0
0
2
0
28
-5
45
43
0
1
0
0
0
0
0
0
0
0
-8
13
22
35
-59
9
-3
-6
0
0
0
0
0
0
0
0
0
0
-71
18
-27
16
-8
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-27
62
0
-6
0
0
0
0
0
0
0
0
0
0
1
-4
-13
-10
-8
-6
0
0
0
0
0
0
0
0
0
4
0
-16
-9
-6
37
-30
0
0
0
0
0
0
0
0
0
-2
1
-7
-3
-24
0
-18
4
-1
0
0
0
0
0
0
0
0
0
-29
-8
28
0
-2
-6
-1
0
0
0
0
0
0
0
0
0
0
-28
-92
0
31
-1
-2
0
0
0
0
0
0
0
0
0
0
-7
-52
0
-6
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
18
29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
7
25
-8
0
0
0
0
0
0
0
0
0
3
0
-3
-5
-8
0
7
1
0
0
0
0
0
0
0
0
0
12
-3
-17
0
-2
4
0
-8
0
0
0
0
0
0
0
0
0
0
47
-13
0
1
-2
0
0
0
0
0
0
0
0
0
0
1
-5
13
-7
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
-4
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
2
-25
6
-4
0
0
0
0
0
0
0
0
0
0
1
0
-25
0
-2
4
-8
0
0
0
0
0
0
0
0
0
2
0
-19
24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
-8
4
2
0
0
0
0
0
0
0
0
0
1
2
8
-1
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
-10
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
45
22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
3
0
4
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
13
6
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-4
7
42
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
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
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
13
3
1
0
0
0
0
0
0
0
0
0
8
0
1
-2
1
-6
-25
6
0
0
0
0
0
0
0
0
0
7
0
0
0
-8
24
-2
0
0
0
0
0
0
0
0
0
0
-4
6
23
18
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-9
7
43
43
0
0
0
0
0
0
0
0
0
0
1
18
-8
-8
-50
-51
-52
24
0
0
0
0
0
0
0
0
0
-6
-3
-2
27
46
142
-54
-17
5
0
0
0
0
0
0
0
0
-1
-22
-42
-32
61
27
14
-12
0
0
0
0
0
0
0
0
0
87
-9
76
-8
-9
-22
-2
0
0
0
0
0
0
0
0
0
0
-11
-27
8
-9
-7
22
-14
-3
0
0
0
0
0
0
0
0
-3
0
38
-58
-72
-25
-4
2
0
0
0
0
0
0
0
0
0
1
38
20
-6
-14
1
0
2
0
0
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
1
-33
0
0
0
0
0
0
0
0
0
0
-6
4
2
13
-5
18
16
-21
0
0
0
0
0
0
0
0
-1
-1
-5
-7
-7
33
-13
60
15
0
0
0
0
0
0
0
0
0
-20
0
-3
-12
-5
-17
39
-10
0
0
0
0
0
0
0
0
0
-12
33
66
41
44
-47
-9
20
0
0
0
0
0
0
0
0
0
13
22
-16
31
-22
0
0
0
0
0
0
0
0
0
0
0
0
60
0
17
4
-2
-9
5
0
0
0
0
0
0
0
0
0
0
-5
14
35
18
-3
-4
-6
0
0
0
0
0
0
0
0
0
0
0
-4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
-6
-31
-17
-2
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
-3
8
1
0
0
0
0
0
0
0
0
0
17
9
50
-23
2
-3
-1
9
0
0
0
0
0
0
0
0
0
0
10
44
9
-2
19
-1
0
0
0
0
0
0
0
0
0
0
-9
17
7
-37
10
6
0
0
0
0
0
0
0
0
0
0
0
-48
-2
0
13
-5
0
1
0
0
0
0
0
0
0
0
0
0
89
0
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-12
-23
0
1
0
0
0
0
0
0
0
0
1
16
0
-1
-12
19
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
12
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
-8
6
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
27
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
2
1
0
0
0
0
0
0
0
0
0
5
0
0
-2
-4
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-1
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-5
9
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
3
41
10
-1
0
0
0
0
0
0
0
0
7
0
0
0
2
61
5
-5
0
0
0
0
0
0
0
0
0
16
1
16
6
15
-8
-1
0
0
0
0
0
0
0
0
0
0
-3
3
-7
-1
0
8
-1
0
0
0
0
0
0
0
0
0
0
-3
4
5
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-1
-22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
8
-13
3
0
0
0
0
0
0
0
0
0
0
2
5
-10
43
8
16
6
4
5
0
0
0
0
0
0
0
0
8
-3
-8
-2
-70
13
-30
-43
0
0
0
0
0
0
0
0
0
-52
-4
-7
4
70
-12
14
34
0
0
0
0
0
0
0
0
-1
-14
-22
-20
12
3
63
54
-4
-1
0
0
0
0
0
0
0
0
44
88
-39
65
5
8
-3
-6
0
0
0
0
0
0
0
0
1
-1
15
-72
-7
31
8
-1
0
0
0
0
0
0
0
0
0
3
0
-2
75
13
-6
12
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
1
17
0
0
0
0
0
0
0
0
0
0
5
3
0
-1
14
-42
0
5
5
0
0
0
0
0
0
0
0
0
-1
-2
2
45
6
-21
-9
0
0
0
0
0
0
0
0
0
0
10
16
28
6
39
0
0
0
0
0
0
0
0
0
0
0
-1
14
-32
-24
-9
2
0
0
0
0
0
0
0
0
0
0
0
-13
-4
42
-69
23
-5
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-42
-27
30
0
-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
19
-16
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
15
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-7
-19
5
0
0
0
0
0
0
0
0
0
0
-1
-1
2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
19
8
-10
-3
0
0
0
0
0
0
0
0
0
0
0
-5
15
6
4
1
4
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-4
-8
-1
0
0
0
0
0
0
0
0
1
0
0
4
-1
11
5
-2
0
0
0
0
0
0
0
0
0
1
-2
-24
7
2
4
-8
0
0
0
0
0
0
0
0
0
0
-1
23
-6
5
2
-6
0
0
0
0
0
0
0
0
0
0
0
8
-5
-11
15
18
-1
0
0
0
0
0
0
0
0
0
0
0
4
42
51
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-1
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
17
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-17
1
-3
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-68
-45
-5
0
0
0
0
0
0
0
0
0
0
0
-48
13
-7
-24
2
7
-8
0
-2
0
0
0
0
0
0
0
0
42
44
-18
-41
29
31
-1
-2
-102
0
0
0
0
0
0
0
0
3
11
46
49
35
-30
27
17
-6
0
0
0
0
0
0
0
0
-3
38
-48
-27
12
31
6
3
3
0
0
0
0
0
0
0
0
-33
33
-82
53
5
-9
76
0
0
0
0
0
0
0
0
0
0
0
49
-75
-10
39
4
0
0
7
0
0
0
0
0
0
0
0
0
6
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
35
6
4
-66
-83
-4
0
0
0
0
0
0
0
0
0
-16
52
6
1
-4
-34
-30
0
18
0
0
0
0
0
0
0
0
57
56
18
-3
-16
-39
-6
-47
-110
53
0
0
0
0
0
0
0
-6
12
-29
8
12
32
-84
-65
-122
-68
0
0
0
0
0
0
0
-98
4
-8
-54
-10
-8
21
33
-48
-48
0
0
0
0
0
0
0
3
-8
68
92
8
-48
32
-7
98
-165
0
0
0
0
0
0
0
-12
6
-55
-15
46
-23
-5
6
6
-2
0
0
0
0
0
0
0
0
-5
-41
-25
24
40
0
0
-30
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
4
29
-45
-118
-12
0
0
-2
0
0
0
0
0
0
4
-54
13
-46
-71
-114
-38
0
-33
0
-8
0
0
0
0
0
0
2
1
18
-57
-48
13
5
-47
-30
-39
-15
0
0
0
0
0
0
-12
-51
8
-13
30
22
-36
-106
-36
-32
1
0
0
0
0
0
0
-1
-40
-5
-31
15
-51
-16
48
-13
-32
13
0
0
0
0
0
0
-3
-44
77
-11
51
-15
74
-96
44
-10
24
0
0
0
0
0
0
0
-142
90
25
7
-13
-51
-65
-19
43
0
0
0
0
0
0
0
0
-49
31
42
33
15
-23
-2
9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
10
21
0
-21
-70
-75
15
0
0
-2
0
0
0
0
0
0
31
27
21
-38
-23
19
51
0
8
0
28
0
0
0
0
0
0
-15
-1
-70
-54
-22
-50
-58
-7
-131
-31
39
0
0
0
0
0
0
43
38
-27
-42
-19
-20
26
31
32
-109
68
0
0
0
0
0
0
10
-57
-5
56
27
-11
-38
31
35
-82
4
0
0
0
0
0
0
1
33
22
-40
-46
1
3
31
4
29
24
0
0
0
0
0
0
0
35
57
49
-4
55
-83
39
-15
2
0
0
0
0
0
0
0
0
0
13
9
-2
-19
31
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-76
-23
0
-85
-129
0
0
-7
0
0
0
0
0
0
0
2
32
4
5
-50
49
32
0
-8
0
-8
-1
0
0
0
0
0
0
22
8
-12
-54
-68
33
-29
-48
-58
31
-8
0
0
0
0
0
61
51
-3
50
-67
-50
-68
-54
-111
13
6
0
0
0
0
0
0
-25
87
-32
66
-115
23
-10
53
37
-30
-23
-1
0
0
0
0
0
-4
-4
5
2
-153
-24
-61
-31
33
23
0
-4
0
0
0
0
0
0
7
9
45
-66
5
2
32
-69
3
0
0
0
0
0
0
0
0
7
14
-56
13
27
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
-102
76
21
0
-82
-49
0
0
0
0
0
0
0
0
0
-2
-13
34
88
45
-8
2
0
0
0
6
0
0
0
0
0
0
0
63
-111
57
8
-38
-48
8
25
-77
13
0
0
0
0
0
0
0
41
-8
72
-20
-60
-13
1
4
-34
0
0
0
0
0
0
0
-32
32
29
46
-62
60
33
-18
5
56
6
0
0
0
0
0
0
0
-74
-117
12
-74
49
-39
1
2
-7
0
0
0
0
0
0
0
0
0
54
54
-15
-41
9
-29
-5
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
0
-12
1
0
-61
0
-8
2
0
0
0
0
0
0
0
8
-49
51
-55
69
5
0
0
0
5
-1
0
0
0
0
0
0
-13
74
-31
-6
-124
-6
0
-2
3
30
0
0
0
0
0
0
0
4
8
17
85
2
-74
8
0
-17
0
0
0
0
0
0
0
0
0
51
-17
-66
56
7
5
0
5
0
0
0
0
0
0
0
0
-17
13
63
-24
24
-13
0
-4
-21
0
0
0
0
0
0
0
0
0
-5
-3
16
0
-1
5
0
1
0
0
0
0
0
0
0
0
0
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
13
7
14
0
1
1
0
-20
0
0
0
0
0
0
0
0
0
2
-2
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
51
61
-14
-59
7
0
0
0
0
0
0
0
0
0
0
0
26
-41
41
64
68
9
3
0
19
0
0
0
0
0
0
0
0
25
14
73
-20
-80
5
-4
8
-38
0
0
0
0
0
0
0
0
72
76
7
-3
42
8
3
16
-12
0
0
0
0
0
0
0
0
-6
9
-45
16
22
53
14
-5
-65
0
0
0
0
0
0
0
0
30
-5
2
-15
20
-25
46
3
-26
0
0
0
0
0
0
0
0
-42
-12
-30
55
75
0
15
21
-25
0
0
0
0
0
0
0
0
0
1
2
21
0
5
7
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-31
87
-36
-63
-46
82
104
-5
0
-8
0
0
0
0
0
0
0
13
8
49
-38
-39
-11
-13
0
-35
0
0
0
0
0
0
0
0
-4
62
-6
49
-52
-46
30
2
1
67
0
0
0
0
0
0
0
16
-14
55
26
-57
17
7
-119
-26
-1
0
0
0
0
0
0
0
-3
-10
-9
13
50
64
-6
61
120
-74
0
0
0
0
0
0
0
40
20
-19
-35
-25
27
-20
58
10
21
0
0
0
0
0
0
0
-26
22
-3
-28
48
25
-3
-6
-13
5
0
0
0
0
0
0
0
0
-8
-14
-4
-5
-43
26
-1
3
0
0
0
0
0
0
0
0
0
0
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-28
36
31
-83
15
-123
-5
0
41
31
0
0
0
0
0
0
41
1
59
-11
-26
-74
-24
0
6
0
44
0
0
0
0
0
0
-59
-26
-24
28
-52
-52
-3
-42
5
7
28
0
0
0
0
0
0
86
-25
-4
-14
37
-20
59
-82
2
20
-41
0
0
0
0
0
0
42
-58
29
-2
-40
-45
-16
-50
52
-104
5
0
0
0
0
0
0
0
4
-62
23
37
1
-10
-23
-126
1
-2
0
0
0
0
0
0
-14
17
-45
20
-26
-23
-49
-13
71
-24
0
0
0
0
0
0
0
0
-30
-13
23
68
66
-5
-46
5
-9
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-56
-23
57
28
47
19
-155
-27
0
0
23
0
0
0
0
0
0
-98
-21
39
-46
-36
-71
-13
0
-25
0
17
0
0
0
0
0
0
-11
9
-3
-5
-50
-37
-41
-51
119
-78
62
5
0
0
0
0
0
7
-52
21
-31
24
15
18
-59
64
-71
8
2
0
0
0
0
0
34
19
-15
61
-40
-13
53
-6
-2
19
-45
0
0
0
0
0
0
-1
-33
-12
-14
77
89
68
5
41
72
-7
0
0
0
0
0
0
-9
-12
33
15
64
43
-53
24
-46
-13
5
-1
0
0
0
0
0
0
-2
8
26
0
39
-2
-1
-4
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
26
-25
-28
-65
4
-60
-20
0
2
8
0
0
0
0
0
0
26
-154
-3
47
9
-57
2
0
-26
0
-72
8
0
0
0
0
0
-6
5
-5
68
-88
58
-41
-64
5
-29
80
12
0
0
0
0
0
15
-3
-11
13
-28
-55
-28
-12
-41
-63
-2
-33
0
0
0
0
0
-22
39
-45
-50
-45
-34
-29
65
23
-19
4
0
0
0
0
0
0
0
122
-32
-84
-11
-33
-23
23
7
123
-19
-6
0
0
0
0
0
0
-31
49
52
12
27
-25
-4
4
29
0
6
0
0
0
0
0
0
-3
19
46
2
-23
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
43
7
-25
80
-11
1
2
0
6
1
0
0
0
0
0
0
1
4
-145
-12
8
-5
-16
0
-102
0
-98
0
0
0
0
0
0
30
13
25
91
33
-64
-58
50
113
-57
-4
1
0
0
0
0
0
20
8
40
-19
60
35
83
5
-47
-5
13
0
2
0
0
0
0
-18
-10
8
-21
-37
66
-19
-7
-40
37
37
-2
0
0
0
0
0
0
28
19
69
-1
-22
11
-20
25
35
0
0
0
0
0
0
0
0
-19
-44
44
-85
-17
-2
0
0
1
0
0
0
0
0
0
0
0
0
10
-27
-6
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
7
50
32
42
1
0
0
13
8
0
0
0
0
0
0
17
-47
20
8
-238
-59
0
-1
0
4
16
0
0
0
0
0
0
10
-9
16
-2
66
-132
-2
-41
-90
9
18
0
0
0
0
0
0
31
-37
88
13
-70
-11
3
27
-11
4
0
0
0
0
0
0
0
-34
-94
-8
-23
-7
-26
-3
-7
-43
-3
0
0
0
0
0
0
0
-15
-9
-10
102
-31
17
-8
-5
17
-8
0
0
0
0
0
0
0
0
-23
49
43
3
7
5
0
0
0
0
0
0
0
0
0
0
0
0
15
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-32
-4
-21
-4
0
0
0
0
0
0
0
0
0
0
0
-3
13
5
44
-1
0
-2
0
0
-6
0
0
0
0
0
0
0
14
-49
-16
39
-72
1
-25
3
0
0
0
0
0
0
0
0
-13
7
13
17
-42
0
-3
7
-6
-2
0
0
0
0
0
0
0
0
8
19
5
0
-13
0
1
-2
2
0
0
0
0
0
0
0
0
0
4
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
1
0
0
0
-5
2
0
0
0
0
0
0
0
3
8
-4
-45
25
8
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
6
-4
15
0
-9
0
0
0
0
0
0
0
0
0
4
-2
1
-13
1
0
3
0
3
-1
0
0
0
0
0
0
0
-3
-1
2
2
-16
2
-1
-3
-2
-2
0
0
0
0
0
0
0
0
0
6
-3
7
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
10
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
7
13
-34
0
-1
0
-1
1
0
0
0
0
0
0
0
1
8
-52
-44
-46
-18
-2
2
-30
10
0
0
0
0
0
0
0
-1
-13
4
-13
9
-31
9
0
1
0
0
0
0
0
0
0
0
1
-24
-2
3
-27
32
0
0
-1
3
0
0
0
0
0
0
0
0
1
-4
-24
-5
-2
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
2
3
0
0
0
0
0
0
0
-6
-5
-12
-10
0
1
0
2
3
0
0
0
0
0
0
0
0
0
0
-8
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
23
13
-65
24
34
0
0
0
0
0
0
0
0
0
0
0
18
-6
70
24
83
-7
-35
0
-24
0
0
0
0
0
0
0
0
-60
-23
69
42
-38
-24
33
-4
20
0
0
0
0
0
0
0
0
27
44
-2
67
91
36
-146
71
43
0
0
0
0
0
0
0
0
49
-34
15
-11
-22
102
17
-23
58
0
0
0
0
0
0
0
0
-10
157
26
24
79
-54
7
0
-16
0
0
0
0
0
0
0
0
0
-8
19
2
20
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
-33
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
45
-4
-15
-32
-41
5
-94
16
0
-2
0
0
0
0
0
0
0
-43
-22
14
19
31
-9
-79
0
100
0
0
0
0
0
0
0
0
9
51
71
-47
-72
13
-102
-75
145
-109
0
0
0
0
0
0
0
13
72
44
-48
-2
-72
39
22
-1
-26
0
0
0
0
0
0
0
50
-42
-38
-12
-49
-18
-46
-91
-4
-120
0
0
0
0
0
0
0
1
-33
-42
-55
18
-5
28
-32
95
-27
0
0
0
0
0
0
0
0
54
-41
-3
-127
-91
-13
-4
-46
-3
0
0
0
0
0
0
0
0
10
-59
15
-44
-8
5
3
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-60
13
16
-62
-74
-45
0
57
1
0
0
0
0
0
0
-62
34
56
-26
-2
-11
-79
0
18
0
60
0
0
0
0
0
0
-40
71
72
2
-40
27
-4
51
30
-88
35
0
0
0
0
0
0
-32
47
-8
16
36
-28
-32
-74
-22
29
-3
0
0
0
0
0
0
-53
16
7
-4
33
14
-75
-105
-66
1
-6
0
0
0
0
0
0
0
-5
17
-26
56
-64
23
-44
7
-81
2
0
0
0
0
0
0
0
-85
6
56
82
22
-46
-125
36
-7
0
0
0
0
0
0
0
0
12
39
-26
27
67
-18
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-9
10
-7
-15
34
-4
-5
0
-5
-10
0
0
0
0
0
0
25
-44
113
-43
38
40
-83
0
-8
0
22
1
0
0
0
0
0
-56
5
-4
28
-53
-7
72
28
66
37
-54
-3
0
0
0
0
0
-51
-8
-4
-23
-6
33
24
11
-21
-82
-70
-1
0
0
0
0
0
-11
-48
-5
-13
21
31
104
33
18
48
-29
0
0
0
0
0
0
-3
-102
-46
5
32
132
-44
-5
-34
50
0
0
0
0
0
0
0
0
34
59
-18
-42
79
23
-82
5
0
0
0
0
0
0
0
0
0
0
-16
20
-6
8
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
2
81
-95
-1
-22
7
-1
-3
0
4
-1
0
0
0
0
0
0
80
-8
-50
-35
-15
-87
-44
0
-10
0
13
-12
0
0
0
0
0
24
7
-47
-20
-16
15
-6
70
-84
-2
5
-33
0
0
0
0
0
-76
16
-24
-41
30
11
-55
43
56
37
0
-6
0
0
0
0
0
3
-84
23
-6
-55
-3
-58
-17
31
18
-8
-3
0
0
0
0
0
3
55
-111
10
-34
-16
-126
-13
-51
-72
0
0
0
0
0
0
0
0
16
-4
-12
15
4
-11
19
6
-2
0
0
0
0
0
0
0
0
0
-5
-42
8
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
50
-137
-81
-27
-74
14
-14
0
-3
17
0
0
0
0
0
0
5
-25
-39
54
-36
8
63
0
1
0
13
0
0
0
0
0
0
-63
73
-49
-72
-108
50
14
-24
51
52
6
1
0
0
0
0
0
118
77
22
25
-57
-76
-11
31
-75
28
9
1
0
0
0
0
0
-16
152
-63
41
-32
-10
-64
-59
-10
-26
2
2
-2
0
0
0
0
0
-15
43
24
-60
59
2
21
-2
13
-3
0
0
0
0
0
0
0
5
41
-54
1
2
-8
1
-4
13
0
0
0
0
0
0
0
0
3
0
34
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-106
-28
-50
0
-31
10
0
-1
-9
0
0
0
0
0
0
0
-37
15
-81
-1
-64
-49
0
7
0
-6
6
0
0
0
0
0
0
28
55
101
7
-42
7
-50
-21
8
-34
1
0
0
0
0
0
0
2
63
-46
30
41
88
31
32
-17
-3
0
-1
0
0
0
0
0
-25
-5
-95
-68
7
91
6
-49
8
0
1
0
0
0
0
0
0
-5
30
-47
22
-22
-21
24
0
-1
0
0
0
0
0
0
0
0
0
-5
25
-10
-10
3
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
-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
1
3
-6
8
-2
31
0
-1
0
1
-4
0
0
0
0
0
0
0
0
13
21
-11
-47
-5
0
2
0
2
0
0
0
0
0
0
1
2
42
14
19
-71
-41
2
-19
-7
-34
0
0
0
0
0
0
-10
1
-23
-64
-28
8
-72
16
15
2
0
5
0
0
0
0
0
0
0
5
-3
5
6
-1
2
-2
5
4
0
0
0
0
0
0
0
-1
-1
0
0
-13
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-9
9
37
7
-6
-1
8
0
0
0
1
0
0
0
0
0
0
-17
22
-1
5
123
-9
-10
0
-5
0
-1
0
0
0
0
0
0
1
-41
50
74
-17
-10
-6
-29
3
-22
3
0
0
0
0
0
0
41
25
12
-77
30
-7
34
-23
29
-7
-2
3
0
0
0
0
0
0
-31
0
19
32
3
4
-16
-5
-3
0
0
0
0
0
0
0
0
-9
1
-3
18
1
8
-2
2
0
0
0
0
0
0
0
0
0
-5
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-57
36
3
-45
-35
8
0
-95
3
0
0
0
0
0
0
0
59
-94
30
-31
19
-43
0
-1
0
1
0
2
0
0
0
0
0
-59
-7
7
1
36
75
32
-49
-29
12
0
3
0
0
0
0
0
-15
-84
-23
9
-69
-5
-41
8
6
-24
-2
0
0
0
0
0
0
-22
44
-13
-31
-50
-31
46
-24
24
0
0
0
0
0
0
0
0
-8
-17
0
50
-75
-1
1
4
-8
3
0
0
0
0
0
0
0
0
25
1
-59
4
10
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
7
1
-1
0
0
-2
0
0
0
0
0
0
0
0
4
0
-2
0
1
-17
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
104
-29
-65
12
0
0
0
0
0
0
0
0
0
0
0
21
93
-62
78
14
-94
13
0
-42
0
0
0
0
0
0
0
0
20
-5
-59
-58
-42
5
0
20
46
0
0
0
0
0
0
0
0
-49
84
-31
53
86
3
20
-6
7
0
0
0
0
0
0
0
0
7
-38
21
47
67
-54
13
-22
-23
0
0
0
0
0
0
0
0
5
-32
18
32
30
-66
45
0
1
0
0
0
0
0
0
0
0
-9
20
14
-8
-31
0
0
0
8
0
0
0
0
0
0
0
0
0
-28
8
20
0
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
54
15
1
-49
-20
-19
134
-6
0
-3
0
0
0
0
0
0
0
51
-75
80
34
-23
-75
-18
0
53
0
0
0
0
0
0
0
0
-100
62
40
20
-60
28
25
-23
95
71
0
0
0
0
0
0
0
78
70
59
24
-21
-21
-40
-84
-12
-40
0
0
0
0
0
0
0
-26
14
-33
25
-62
27
-48
-40
40
-58
0
0
0
0
0
0
0
45
-60
-61
-99
-38
-60
-28
21
-138
-7
0
0
0
0
0
0
0
0
21
-12
-22
-23
-21
-58
-28
-1
-7
0
0
0
0
0
0
0
0
41
-62
-145
-29
-1
-4
-5
-2
0
0
0
0
0
0
0
0
0
34
8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
61
30
-85
-28
77
2
0
5
-2
0
0
0
0
0
0
8
-100
68
62
-33
-106
7
0
-1
0
42
0
0
0
0
0
0
-17
13
-40
44
3
6
-94
-23
84
-7
28
0
0
0
0
0
0
-48
-17
1
-59
-45
126
17
-33
-85
90
1
0
0
0
0
0
0
-68
-44
13
40
19
-65
-12
-14
-92
23
-1
0
0
0
0
0
0
0
-73
-16
-89
-46
5
73
-41
-61
-12
1
0
0
0
0
0
0
-21
-49
25
-121
-83
-145
75
-2
7
-15
-1
0
0
0
0
0
0
0
-10
-102
-51
7
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
7
-42
-14
74
78
82
-110
5
0
1
6
1
0
0
0
0
0
-46
-50
-29
6
44
40
144
0
4
0
-43
0
0
0
0
0
0
-10
-46
22
15
44
44
-7
-99
35
44
-29
2
0
0
0
0
0
32
-32
83
77
-6
-57
-43
98
13
12
22
7
0
0
0
0
0
13
15
8
-11
66
-30
17
-61
48
-69
6
0
0
0
0
0
0
5
-1
-36
-68
-80
-51
14
-45
-75
-34
3
0
0
0
0
0
0
0
-8
-126
47
-3
58
-30
-15
3
0
-1
0
0
0
0
0
0
0
0
-6
-3
2
5
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
1
23
0
13
-34
7
0
-2
6
0
0
0
0
0
0
-4
6
-56
31
-37
-26
-3
0
27
0
23
0
0
0
0
0
0
-30
-18
-5
38
16
-21
11
74
-3
51
-2
-23
0
0
0
0
0
-8
-97
-63
56
-74
58
-16
-23
66
-101
24
0
0
0
0
0
0
-3
-92
17
-19
-84
19
-25
-95
-6
-22
-1
0
0
0
0
0
0
0
-38
-36
63
-26
12
-32
-72
-37
-27
-1
0
0
0
0
0
0
0
2
-99
-44
-175
5
-8
-31
29
1
0
0
0
0
0
0
0
0
-14
-29
-55
28
-7
-3
0
2
-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
4
71
69
44
-14
36
18
1
0
0
3
0
0
0
0
0
0
0
7
3
-82
63
-59
-44
0
6
0
-17
0
0
0
0
0
0
9
-3
50
-40
35
8
-26
72
19
-5
-24
0
0
0
0
0
0
-42
141
-7
22
-114
-3
30
-31
-97
15
3
-3
0
0
0
0
0
-2
52
-48
16
-58
-56
-38
-45
12
-33
-3
1
0
0
0
0
0
0
-35
-2
-60
10
13
85
-29
-42
-2
-7
0
0
0
0
0
0
0
6
-44
-11
-39
54
-13
42
1
0
7
0
0
0
0
0
0
0
-4
-18
45
-25
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-30
-16
-5
10
0
0
0
0
0
0
0
0
0
0
0
5
23
-5
-13
11
34
0
0
0
3
-1
0
0
0
0
0
0
-23
-30
-24
76
69
16
-25
16
-84
4
-7
0
0
0
0
0
0
-41
-72
20
59
-3
-1
-25
-5
-23
-2
0
0
0
0
0
0
0
0
59
-13
-2
51
21
-37
-1
-33
0
3
0
0
0
0
0
0
50
0
-15
-33
54
13
-4
1
3
4
0
0
0
0
0
0
0
0
4
-17
7
-17
-10
8
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
-8
2
0
-5
0
0
0
0
0
0
0
0
0
0
1
15
-7
-21
-27
8
43
0
0
0
-7
0
0
0
0
0
0
-13
-6
-73
4
-20
-30
-10
3
-13
10
0
0
1
0
0
0
0
0
-20
-19
-23
8
1
32
0
-14
0
1
-3
0
0
0
0
0
0
-6
-2
-44
0
-43
-7
7
2
0
-3
0
0
0
0
0
0
0
0
-4
0
26
-8
7
-5
0
0
0
0
0
0
0
0
0
0
3
0
-1
-8
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
-22
13
66
-55
27
-8
-19
0
0
0
2
0
0
0
0
0
0
15
-52
-45
61
-5
-98
-4
0
4
0
2
0
0
0
0
0
0
-43
-5
-29
11
-109
49
-20
-50
43
-40
-6
0
0
0
0
0
0
10
-25
-15
64
93
-10
23
4
2
-1
2
0
0
0
0
0
0
-38
23
19
18
-80
3
39
-8
-46
0
2
0
0
0
0
0
0
0
27
-104
-93
-5
-37
8
7
-4
0
0
0
0
0
0
0
0
0
-13
28
8
35
0
7
0
5
0
0
0
0
0
0
0
0
0
1
0
-18
0
-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
54
-75
-100
-10
34
12
-13
0
22
0
0
0
0
0
0
0
0
-8
-4
-2
25
-5
-47
0
1
0
0
-1
0
0
0
0
0
0
31
10
5
14
-10
8
-1
25
-46
-21
0
0
0
0
0
0
0
9
-27
29
-25
49
7
-99
-19
1
1
0
0
0
0
0
0
0
-5
69
-43
25
-9
-66
-3
1
55
0
0
0
0
0
0
0
0
28
-7
11
50
-55
-72
21
0
1
0
0
0
0
0
0
0
0
1
20
-31
-54
6
-86
-9
0
2
0
0
0
0
0
0
0
0
0
20
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
-2
0
3
0
0
12
0
0
0
0
0
0
0
0
0
2
-6
1
-9
0
0
0
12
-1
0
0
0
0
0
0
0
0
-1
-4
-13
-1
-1
0
0
10
0
0
0
0
0
0
0
0
0
14
-2
12
-1
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
-20
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-3
29
-14
1
0
0
0
0
0
0
0
0
0
0
0
-9
29
-66
5
4
-42
-5
0
-9
0
0
0
0
0
0
0
0
-17
-22
91
31
24
18
2
1
1
0
0
0
0
0
0
0
0
-11
79
6
18
1
-50
6
3
18
0
0
0
0
0
0
0
0
0
1
7
14
-3
0
8
-1
-121
0
0
0
0
0
0
0
0
-9
1
-18
-42
-2
13
-51
-57
-17
0
0
0
0
0
0
0
0
2
-6
65
17
-66
0
0
-24
1
0
0
0
0
0
0
0
0
0
-63
-3
20
0
7
-10
-5
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
56
13
-59
-64
41
53
0
0
-1
0
0
0
0
0
0
0
59
44
52
-9
-11
-36
36
0
-6
0
0
0
0
0
0
0
0
-55
24
-6
17
31
-39
91
27
66
-75
0
0
0
0
0
0
0
-31
-37
83
-10
-16
-153
-83
-8
13
-1
0
0
0
0
0
0
0
5
0
1
-53
-23
-46
-16
-30
5
-59
0
0
0
0
0
0
0
-16
-42
4
-48
121
10
35
45
-21
-30
0
0
0
0
0
0
0
5
-105
25
42
41
41
116
-45
-10
-34
0
0
0
0
0
0
0
0
13
56
-66
6
-18
-1
0
-2
2
0
0
0
0
0
0
0
0
1
-29
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-15
-24
42
-25
53
-13
29
-2
0
-14
0
0
0
0
0
0
0
0
-83
107
17
-27
-2
-35
0
20
0
-23
0
0
0
0
0
0
17
36
50
-24
36
-45
-3
45
-37
61
-15
0
0
0
0
0
0
13
-56
58
50
11
-25
-68
40
-44
-55
12
0
0
0
0
0
0
-16
-4
0
54
-80
-22
-16
-118
106
-55
2
0
0
0
0
0
0
0
-74
78
16
-13
-64
-128
-65
13
-8
8
0
0
0
0
0
0
0
-82
-75
-18
-44
47
45
9
-30
-6
0
0
0
0
0
0
0
0
-31
-12
42
-50
-9
9
-9
1
2
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
47
-73
12
-13
-76
50
-5
0
0
3
0
0
0
0
0
0
8
39
23
-61
22
19
81
0
-2
0
5
4
0
0
0
0
0
52
-13
-25
66
126
-5
48
-25
-23
47
-40
-3
0
0
0
0
0
3
-27
-60
94
5
70
-48
-14
15
48
8
-2
0
0
0
0
0
-81
-75
0
0
28
15
47
23
61
-90
-8
0
0
0
0
0
0
1
78
-48
33
82
80
41
9
-25
-56
3
0
0
0
0
0
0
0
-6
-87
-2
-13
58
42
-27
5
0
0
0
0
0
0
0
0
0
-9
8
-24
-74
20
2
-4
0
0
0
0
0
0
0
0
0
0
-13
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-22
114
8
-18
69
-7
0
-2
0
1
0
0
0
0
0
-4
-51
-121
-13
17
70
54
0
5
0
-7
2
0
0
0
0
0
1
-4
6
9
-30
103
18
15
-50
-14
20
-30
0
0
0
0
0
2
27
-100
1
15
-23
110
111
-42
13
-4
-1
0
0
0
0
0
6
-27
60
-31
1
62
-42
60
-17
40
0
0
0
0
0
0
0
0
-55
34
-17
-42
50
-5
38
5
-7
-4
1
0
0
0
0
0
0
-14
43
-7
-46
-15
11
-64
3
-4
0
0
0
0
0
0
0
0
1
0
-47
-28
13
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
8
0
0
0
0
0
0
0
0
0
-1
13
7
23
31
15
19
-1
0
0
0
0
0
0
0
0
0
2
-17
-27
11
60
52
-4
0
-1
0
9
-5
0
0
0
0
0
7
-105
73
-5
11
10
-52
-5
-2
-5
22
0
0
0
0
0
0
-14
77
112
-13
26
84
31
16
8
9
-3
0
0
0
0
0
0
-10
-45
-48
92
52
0
-23
2
-41
-41
32
0
0
0
0
0
0
0
-10
-109
31
-30
-14
7
-7
-5
-1
-1
0
0
0
0
0
0
0
8
-36
-134
17
-28
41
4
8
0
0
0
0
0
0
0
0
0
3
2
-23
17
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
22
83
7
-33
-31
-2
3
0
0
0
0
0
0
0
0
0
0
-14
-83
27
30
51
41
0
1
0
-13
-1
0
0
0
0
0
0
32
80
-62
-53
73
-5
3
-5
-8
0
-1
0
0
0
0
0
0
21
-22
-21
11
-50
46
14
-13
-50
1
2
0
0
0
0
0
0
3
27
22
-34
81
0
15
-1
49
0
-3
0
0
0
0
0
0
-10
-18
-41
-50
-5
-17
-7
0
-8
0
0
0
0
0
0
0
0
0
-56
9
-66
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
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
-7
-2
-32
12
-2
1
-12
0
0
0
0
0
0
0
0
0
0
1
-56
-20
94
-1
-70
-4
0
-3
0
5
0
0
0
0
0
0
-35
-25
-22
1
9
25
-9
-33
8
2
4
0
0
0
0
0
0
3
16
-9
122
-61
32
-8
1
-5
-7
-3
0
0
0
0
0
0
19
53
-2
1
13
47
5
0
-1
8
0
0
0
0
0
0
0
0
4
0
-46
-68
-54
-30
2
0
2
0
0
0
0
0
0
0
-2
0
-18
4
3
12
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
0
0
-3
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-84
-5
4
-15
-4
0
0
0
0
0
0
0
0
0
0
44
33
-41
-44
57
-56
30
0
1
0
0
1
0
0
0
0
0
-27
-63
-63
-145
14
-36
-2
5
-54
-121
0
0
0
0
0
0
0
-15
31
-80
74
-44
-11
-60
28
-7
-7
0
0
0
0
0
0
0
101
-17
-53
48
7
-13
27
4
0
-16
0
0
0
0
0
0
0
-8
-12
-120
-23
-46
-23
-26
43
-25
8
0
0
0
0
0
0
0
-5
8
91
66
5
-22
-59
2
0
-5
0
0
0
0
0
0
0
0
0
-10
1
5
20
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
19
56
-29
23
-3
0
-13
-3
0
0
0
0
0
0
0
-75
45
-34
20
-40
-69
0
7
0
1
0
0
0
0
0
0
0
4
-66
2
-67
-60
31
5
-20
-22
1
0
0
0
0
0
0
0
3
46
-73
21
43
-7
12
-14
-68
-2
0
0
0
0
0
0
0
-17
32
-5
63
-29
-82
-59
-30
0
-6
0
0
0
0
0
0
0
43
49
-28
-49
-62
-50
31
-20
60
0
0
0
0
0
0
0
0
22
1
22
-42
-13
18
5
2
0
0
0
0
0
0
0
0
0
-2
4
-31
-20
3
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
0
0
6
0
0
0
0
0
0
0
0
-8
-3
25
0
-4
0
0
0
-23
0
0
0
0
0
0
0
0
0
-13
-7
4
0
3
0
-1
1
0
0
0
0
0
0
0
0
2
0
0
-8
-9
0
-1
-3
3
0
0
0
0
0
0
0
0
0
2
-1
-1
6
8
-1
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
-8
-3
-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
-4
-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
-2
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
12
-13
-1
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
1
-3
-2
3
0
0
0
0
0
0
0
0
0
0
2
-17
-64
-8
36
9
0
-23
-6
0
0
0
0
0
0
0
0
0
9
1
40
-1
-16
-9
0
-86
0
0
0
0
0
0
0
0
47
9
-48
42
120
-12
14
4
-5
0
0
0
0
0
0
0
0
0
-5
-4
3
-3
8
4
37
-13
0
0
0
0
0
0
0
0
1
38
-91
13
3
2
0
0
9
0
0
0
0
0
0
0
0
0
-62
0
4
0
2
-9
4
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
29
-56
14
48
50
25
-1
0
-6
0
0
0
0
0
0
0
-22
-12
-10
36
57
-58
-47
0
-6
0
0
0
0
0
0
0
0
-13
-45
-13
6
98
12
1
-32
-33
-14
0
0
0
0
0
0
0
-61
-57
26
74
-27
46
49
13
69
-54
0
0
0
0
0
0
0
-41
50
8
48
-21
69
-93
81
13
-29
0
0
0
0
0
0
0
-1
0
-11
-66
-25
3
1
-62
1
7
0
0
0
0
0
0
0
-8
-12
-34
16
55
25
-48
50
-59
3
0
0
0
0
0
0
0
0
-85
4
53
57
-5
2
5
4
0
0
0
0
0
0
0
0
0
-2
18
3
5
0
0
0
0
0
0
0
0
0
0
0
0
58
-11
101
31
61
4
-31
48
0
0
1
0
0
0
0
0
0
-1
114
-54
99
26
84
10
0
0
0
20
0
0
0
0
0
0
-13
5
88
8
-11
71
49
73
-16
11
13
0
0
0
0
0
0
0
13
-1
71
2
-23
82
59
32
-102
6
0
0
0
0
0
0
25
13
165
-28
35
48
12
-3
-50
-65
-14
0
0
0
0
0
0
1
-64
0
10
9
-43
3
56
-51
-22
3
0
0
0
0
0
0
0
5
-21
-5
17
-8
81
-129
29
-1
0
0
0
0
0
0
0
0
-86
66
34
-68
-7
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
-28
-58
13
13
19
-30
16
-1
0
0
5
0
0
0
0
0
0
0
-10
25
-15
20
77
31
0
0
0
-1
0
0
0
0
0
0
-31
-15
48
119
91
137
40
-37
34
17
-42
-4
0
0
0
0
0
-50
35
-61
-98
16
75
3
-4
46
1
3
0
0
0
0
0
0
-16
5
23
30
-9
44
66
3
-7
-75
45
0
0
0
0
0
0
-31
35
-50
0
-14
-23
-16
-78
-33
13
-1
0
0
0
0
0
0
-14
-68
-16
17
-39
26
40
32
-52
0
0
0
0
0
0
0
0
0
-2
26
-39
6
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
17
-14
78
70
25
8
-13
0
0
3
0
0
0
0
0
0
0
3
-17
-14
25
47
49
0
8
0
-4
2
0
0
0
0
0
-4
20
27
-19
37
-75
36
7
-31
74
0
0
0
0
0
0
0
0
-65
68
12
-111
26
10
42
12
-96
5
0
0
0
0
0
0
-44
-49
-31
-13
-6
9
-48
29
7
68
2
-3
0
0
0
0
0
0
-29
-22
-61
0
14
42
-28
3
-34
0
0
0
0
0
0
0
0
-49
35
-30
50
69
3
-5
-52
-9
0
0
0
0
0
0
0
0
-15
12
-16
-23
10
-6
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-57
7
-35
13
-25
-4
0
0
1
0
0
0
0
0
0
0
79
86
-13
11
16
10
0
-2
0
6
0
0
0
0
0
0
-1
-6
43
8
20
21
-1
8
-24
-5
-5
0
0
0
0
0
0
0
41
23
-23
-74
124
82
3
5
-5
5
0
0
0
0
0
0
-3
28
-173
26
-38
13
6
38
-5
-33
1
0
0
0
0
0
0
1
-50
50
-13
-16
0
78
-24
-47
-5
0
0
0
0
0
0
0
1
-1
24
-31
10
28
5
9
23
-1
0
0
0
0
0
0
0
0
1
-3
22
23
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
38
-5
13
45
-1
0
0
1
0
0
0
0
0
0
0
51
-40
39
-20
-77
24
0
0
0
0
0
0
0
0
0
0
0
15
-50
-59
41
-20
133
6
1
-9
0
0
0
0
0
0
0
0
46
17
-56
-25
-9
-3
16
-1
-6
0
0
0
0
0
0
0
0
19
23
-22
-92
45
-15
17
-5
-4
0
0
0
0
0
0
0
0
81
-41
31
-13
80
0
0
1
-34
0
0
0
0
0
0
0
0
1
9
-44
-93
-19
-37
0
-4
0
0
0
0
0
0
0
0
0
0
2
-23
-10
-66
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
-8
-10
2
0
1
0
0
-1
0
0
0
0
0
0
0
-21
2
-25
10
-7
-7
0
1
0
0
0
0
0
0
0
0
9
-3
-62
-46
-4
-29
8
-3
-5
0
-7
0
0
0
0
0
0
-1
17
1
-44
3
-39
6
-18
0
0
0
0
0
0
0
0
0
12
3
41
-9
24
18
17
0
-77
0
0
0
0
0
0
0
0
0
16
4
-8
16
-2
-22
0
0
0
0
0
0
0
0
0
0
-4
0
0
6
12
3
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-111
-58
-23
18
18
0
0
0
0
0
0
0
0
0
0
-1
51
37
-17
49
-8
-5
0
1
0
0
0
0
0
0
0
0
13
-26
37
-20
-32
-2
-18
-25
-74
-1
0
0
0
0
0
0
0
-13
90
9
-31
15
-20
-68
-100
28
21
0
0
0
0
0
0
0
-28
-192
-50
25
-66
-4
26
-17
-25
-38
0
0
0
0
0
0
0
-24
58
13
-52
5
21
31
5
0
2
0
0
0
0
0
0
0
6
25
-41
-64
-49
32
-12
10
8
0
0
0
0
0
0
0
0
0
8
22
-67
-52
-32
6
3
3
0
0
0
0
0
0
0
0
0
-13
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
16
-8
23
-14
0
-2
0
9
0
0
0
0
0
0
0
0
59
-54
-76
-70
13
-7
0
-2
0
0
0
0
0
0
0
0
0
-54
9
-59
-89
2
68
-1
2
-48
1
0
0
0
0
0
0
0
71
-21
-33
182
24
33
-48
-6
-1
-2
0
0
0
0
0
0
0
0
-5
31
-96
107
-129
20
-24
-42
0
0
0
0
0
0
0
0
89
-4
-102
21
-6
44
-1
8
0
0
0
0
0
0
0
0
0
0
9
-27
-45
-47
-94
-7
3
-1
0
0
0
0
0
0
0
0
-5
22
-7
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
4
0
0
0
0
-16
0
0
0
0
0
0
0
0
-10
-6
0
6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
7
10
25
1
0
0
-1
0
0
0
0
0
0
0
0
-22
0
46
6
6
4
0
1
0
0
0
0
0
0
0
0
0
1
-25
-22
20
23
42
0
0
15
0
0
0
0
0
0
0
0
22
3
36
9
-49
8
-3
0
3
0
0
0
0
0
0
0
0
0
5
-30
-83
-10
-10
5
-1
3
0
0
0
0
0
0
0
0
0
0
42
0
17
2
0
0
-3
0
0
0
0
0
0
0
0
0
19
0
10
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-24
18
-54
30
60
0
0
0
0
0
0
0
0
0
0
3
134
24
-55
57
74
-1
0
-1
0
0
0
0
0
0
0
0
70
-15
47
20
82
66
-137
0
-6
46
0
0
0
0
0
0
0
27
-12
43
73
-65
-97
-24
-42
39
-79
0
0
0
0
0
0
0
-67
6
34
51
-22
66
-84
-59
-33
-42
0
0
0
0
0
0
0
-14
88
54
-50
29
-33
25
42
-18
-124
0
0
0
0
0
0
0
21
0
-3
34
-7
5
-43
-41
41
-120
0
0
0
0
0
0
0
0
75
23
25
-9
-12
2
4
-2
6
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
51
50
-80
77
32
-2
0
5
0
0
0
0
0
0
0
0
-68
-7
20
-11
-9
41
0
2
0
3
0
0
0
0
0
0
-25
5
28
9
-10
-40
-47
-5
12
26
-3
0
0
0
0
0
0
0
29
-53
-66
10
-50
51
-27
-104
83
-8
0
0
0
0
0
0
-7
22
-18
11
-3
-72
22
-25
-110
-24
28
0
0
0
0
0
0
0
-31
3
-61
-53
-70
-113
-79
66
-7
0
0
0
0
0
0
0
-16
-8
0
-25
23
13
-33
-79
-12
9
0
0
0
0
0
0
0
0
1
-49
18
47
-1
9
2
0
-16
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
18
-63
47
-16
19
2
0
0
-1
0
0
0
0
0
0
0
13
93
-8
-20
-26
-32
0
6
0
-8
0
0
0
0
0
0
-24
-18
29
48
-85
5
-17
-20
-2
2
-25
0
0
0
0
0
0
0
75
-3
126
70
-67
0
31
10
1
18
3
0
0
0
0
0
47
-4
-25
-2
37
110
23
-58
-13
24
1
0
0
0
0
0
0
8
28
27
-28
18
84
28
-4
43
17
-8
0
0
0
0
0
0
-13
-29
-44
0
55
23
36
16
-20
22
0
0
0
0
0
0
0
0
2
3
17
-4
-81
-9
2
0
0
0
0
0
0
0
0
0
0
0
44
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-49
33
-43
69
-6
5
0
0
0
0
0
0
0
0
0
-6
-62
-43
-30
-106
1
3
0
0
0
0
0
0
0
0
0
0
2
-50
-31
9
66
15
5
0
10
22
0
0
0
0
0
0
0
0
-31
-49
29
62
-64
36
10
-2
24
-8
0
0
0
0
0
0
-26
32
60
42
-19
21
26
-38
7
43
0
0
0
0
0
0
0
0
-87
-36
51
23
91
8
-58
-32
-102
3
-1
0
0
0
0
0
0
5
-56
21
0
-13
17
-9
50
-5
0
0
0
0
0
0
0
0
17
3
-81
-1
-9
16
0
-18
-4
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
38
38
-6
42
4
0
0
0
0
0
0
0
0
0
1
-68
76
-50
61
-13
32
0
-2
0
0
0
0
0
0
0
0
-4
16
58
78
57
22
-68
0
1
31
-2
0
0
0
0
0
0
-2
3
27
-12
-102
2
-4
31
-15
-34
0
0
0
0
0
0
0
15
-3
-10
-21
-84
-13
6
-2
0
9
-18
0
0
0
0
0
0
1
-20
-9
11
-29
3
-6
50
3
-67
-1
0
0
0
0
0
0
0
2
14
13
-89
0
-27
8
41
-13
0
0
0
0
0
0
0
0
-4
0
45
24
49
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-19
-7
-7
1
0
0
0
0
0
0
0
0
0
0
-12
51
-43
42
1
2
0
0
0
0
0
0
0
0
0
0
0
24
-29
26
-4
24
6
-1
0
-6
-1
0
0
0
0
0
0
0
-20
0
-64
5
19
29
25
0
0
0
0
0
0
0
0
0
0
2
-34
-26
64
50
14
3
6
-8
0
0
0
0
0
0
0
0
-61
8
56
-39
-11
-13
-18
1
7
0
0
0
0
0
0
0
0
0
21
-4
-67
-19
0
-41
-59
-13
0
0
0
0
0
0
0
0
0
3
-64
-50
25
0
0
-8
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-19
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-23
19
0
7
0
0
0
2
0
0
0
0
0
0
-17
0
-49
-18
-29
6
0
0
-1
-1
0
0
0
0
0
0
0
0
25
-7
-14
-4
-20
3
-3
-12
0
0
0
0
0
0
0
0
0
-13
26
-16
28
16
14
-1
-3
0
0
0
0
0
0
0
0
0
-48
-7
-72
10
15
-1
-4
-1
-6
0
0
0
0
0
0
0
0
0
-12
2
-8
0
-14
0
-5
0
0
0
0
0
0
0
0
0
8
0
-70
-2
-6
0
7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-97
9
-63
-7
24
-2
0
0
0
0
0
0
0
0
0
0
-49
29
2
-4
-22
7
0
0
0
0
0
0
0
0
0
0
-3
-59
-26
-75
-148
5
-2
24
-3
29
0
0
0
0
0
0
0
0
-9
-45
0
4
-68
-51
-20
10
41
0
0
0
0
0
0
0
27
-12
-109
-19
42
77
2
13
5
-53
0
0
0
0
0
0
0
0
-78
52
-92
-30
7
-4
5
3
49
0
0
0
0
0
0
0
0
3
5
21
2
2
-44
0
0
-18
0
0
0
0
0
0
0
0
-123
-31
128
-64
-13
-1
-20
-1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-16
-1
13
1
0
0
0
-7
0
0
0
0
0
0
0
-77
-20
12
-11
30
4
0
0
0
0
0
0
0
0
0
0
0
0
-31
-41
4
-18
-5
3
0
71
0
0
0
0
0
0
0
0
1
24
-25
18
-18
34
16
0
10
0
0
0
0
0
0
0
0
2
-62
50
5
1
-101
5
8
-24
0
0
0
0
0
0
0
0
3
-5
-57
42
17
-91
13
-1
-7
0
0
0
0
0
0
0
0
-41
-55
41
33
-39
108
-19
-8
0
-1
0
0
0
0
0
0
0
0
-9
0
16
-19
2
24
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
-7
3
49
0
-7
2
0
0
5
0
0
0
0
0
0
0
0
1
55
0
54
-1
0
0
0
-21
0
0
0
0
0
0
0
0
22
0
-7
-14
-61
-12
0
5
-1
0
0
0
0
0
0
0
0
0
87
4
88
0
44
-47
-9
1
0
0
0
0
0
0
0
0
0
2
-23
0
-30
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
-9
0
-9
0
3
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
24
45
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
29
14
2
-7
0
0
0
0
0
0
0
0
0
0
26
0
-18
-9
-112
8
0
6
52
4
0
0
0
0
0
0
0
-5
-38
12
37
-67
112
87
-8
70
-24
0
0
0
0
0
0
0
-18
2
107
81
-31
8
6
8
-1
12
0
0
0
0
0
0
0
0
18
-16
15
-7
-114
20
25
17
-9
0
0
0
0
0
0
0
-20
2
-4
43
-48
4
0
29
-73
0
0
0
0
0
0
0
0
0
0
1
-2
10
18
-24
-6
-1
-4
0
0
0
0
0
0
0
0
-24
14
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-5
23
-1
7
0
0
0
0
0
0
0
0
0
0
0
-94
-4
24
-11
28
12
0
0
0
0
0
0
0
0
0
0
41
-10
-29
-2
5
83
49
-3
2
-61
0
0
0
0
0
0
0
0
-59
31
45
22
-51
140
-41
-2
-17
0
0
0
0
0
0
0
3
-48
17
27
-45
39
75
-14
6
2
-1
0
0
0
0
0
0
0
-7
-66
-53
-86
-7
-43
10
-21
124
0
0
0
0
0
0
0
2
-1
13
-26
-65
-32
13
-41
-66
13
0
0
0
0
0
0
0
0
23
0
-17
27
15
-27
-18
0
-2
0
0
0
0
0
0
0
0
-3
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-2
-58
0
-19
0
0
0
3
0
0
0
0
0
0
0
-23
-1
49
-4
14
0
0
0
0
-1
0
0
0
0
0
0
26
7
68
28
29
20
3
-3
8
-14
0
0
0
0
0
0
0
0
74
7
-114
20
52
-42
-13
0
0
3
0
0
0
0
0
0
-15
1
71
13
-13
32
13
17
-1
3
0
0
0
0
0
0
0
0
13
26
-36
6
9
-24
-1
-6
0
0
0
0
0
0
0
0
1
0
-99
22
-22
13
-55
-8
-50
0
0
0
0
0
0
0
0
0
-31
-6
0
-24
20
-13
-25
0
-13
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
40
0
-17
-49
5
0
0
0
0
0
0
0
0
0
0
0
0
-16
42
-5
-4
5
0
0
0
7
0
0
0
0
0
0
2
0
114
17
-105
-1
49
2
4
-4
0
0
0
0
0
0
0
0
8
55
-10
3
23
34
6
0
0
0
0
0
0
0
0
0
1
1
4
67
-18
-1
49
17
9
3
0
0
0
0
0
0
0
0
7
7
-16
47
43
-4
-6
1
-9
0
0
0
0
0
0
0
-1
-1
-18
0
33
-14
-12
8
-18
-10
0
0
0
0
0
0
0
0
-2
4
-35
0
-16
1
2
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-42
-7
11
-7
17
0
0
0
0
0
0
0
0
0
0
0
-49
0
101
-18
6
-18
0
0
1
0
0
0
0
0
0
0
0
0
45
-1
26
-5
24
-5
-1
1
3
0
0
0
0
0
0
0
2
1
-33
-14
4
5
31
-5
1
2
0
0
0
0
0
0
0
0
7
3
-23
3
-7
5
-6
3
-3
0
0
0
0
0
0
0
-5
0
-67
0
5
-3
5
1
7
0
0
0
0
0
0
0
0
0
2
-5
-21
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
-13
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-25
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
12
0
0
1
0
0
0
0
0
0
0
0
-3
0
-2
3
13
14
4
0
0
0
0
0
0
0
0
0
0
-23
0
0
-28
-22
-47
0
0
0
0
0
0
0
0
0
0
0
0
2
-57
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
18
0
-46
0
0
0
0
0
0
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
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-34
2
-119
-1
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
13
-8
-7
-4
0
-83
0
0
0
0
0
0
0
0
28
-39
41
12
7
-27
-1
-25
-4
0
0
0
0
0
0
0
5
15
-43
1
-66
-155
-8
49
-6
-8
0
0
0
0
0
0
0
0
0
4
48
-8
21
-35
0
0
0
0
0
0
0
0
0
0
0
0
-75
8
-13
1
8
0
0
-5
0
0
0
0
0
0
0
0
9
0
41
4
-31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
17
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-22
3
0
-2
0
0
10
0
0
0
0
0
0
0
0
0
0
-2
13
9
-4
-2
0
0
1
0
0
0
0
0
0
0
0
4
32
-20
4
-7
5
0
-5
0
0
0
0
0
0
0
0
4
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-24
12
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-12
-9
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
29
4
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-1
-29
1
-13
2
0
-6
0
0
0
0
0
0
0
0
-50
1
9
0
18
-14
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-42
4
61
1
0
0
0
0
0
0
0
0
0
0
0
0
-23
-3
15
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
-30
0
10
0
-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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-1
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-24
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-25
0
-3
0
0
-7
0
0
0
0
0
0
0
0
0
0
-21
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
13
43
20
23
28
0
0
0
0
0
0
0
0
0
2
25
-58
-12
35
17
76
13
3
0
0
0
0
0
0
0
0
5
5
6
21
50
25
58
1
1
0
0
0
0
0
0
0
0
2
0
22
-9
10
-89
-33
23
-31
0
0
0
0
0
0
0
0
1
-1
-4
92
61
65
-41
-10
-51
0
0
0
0
0
0
0
0
0
5
0
-1
-31
53
36
17
-1
0
0
0
0
0
0
0
0
0
-8
-3
24
-11
-90
43
16
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-32
-11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
18
60
50
19
15
-53
0
-57
0
0
0
0
0
0
0
79
-15
14
-26
38
33
6
7
14
-42
0
0
0
0
0
0
0
-55
-7
96
91
14
7
-34
25
22
-26
0
0
0
0
0
0
0
22
-15
35
20
0
3
-33
20
-7
41
0
0
0
0
0
0
0
7
27
-34
-33
-20
106
-11
-7
-30
16
0
0
0
0
0
0
0
-8
-42
104
-31
-49
-11
12
-1
-49
-20
0
0
0
0
0
0
0
22
25
43
23
-55
-8
-24
-52
30
-5
0
0
0
0
0
0
0
0
10
-8
2
5
-58
-45
-33
47
56
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
2
0
0
0
0
0
0
0
0
0
-54
0
25
-25
15
13
-105
0
2
24
0
0
0
0
0
0
4
79
30
92
-1
16
-53
-30
39
-89
95
0
0
0
0
0
0
18
32
3
-12
-45
73
13
-35
-10
59
18
0
0
0
0
0
0
-3
113
73
44
66
22
52
4
6
53
31
0
0
0
0
0
0
0
-37
60
70
-17
21
26
-30
29
-56
0
0
0
0
0
0
0
0
56
0
-28
17
-70
-51
18
-64
-4
2
0
0
0
0
0
0
0
-43
13
-1
-30
18
-25
132
117
21
0
0
0
0
0
0
0
0
-90
-31
-76
-22
-14
-31
21
10
29
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-9
83
-75
-30
0
-1
-25
0
0
0
0
0
0
21
-130
62
-56
0
83
-14
-9
-13
-60
-41
1
0
0
0
0
0
5
5
108
15
19
142
48
74
-34
-13
-1
0
0
0
0
0
0
2
5
14
-59
27
7
80
17
13
78
102
0
0
0
0
0
0
74
64
-117
12
-106
19
-29
55
8
-24
20
0
0
0
0
0
0
0
-6
-6
-25
-7
-32
-22
36
-38
44
8
-2
0
0
0
0
0
0
1
-2
5
-29
31
-38
49
76
66
-1
0
0
0
0
0
0
0
-1
-2
-1
-13
42
-12
-53
-4
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
22
-47
31
0
-18
-5
-3
0
0
0
0
0
7
5
-13
6
21
62
-53
12
19
-42
87
3
0
0
0
0
0
-3
24
63
19
64
-59
96
69
-22
55
-26
21
0
0
0
0
0
0
68
-81
32
-38
-99
-28
41
46
2
26
0
0
0
0
0
0
-1
-25
-3
9
58
-31
-33
-13
45
-51
3
0
0
0
0
0
0
0
26
-27
7
-7
-128
-5
-22
-4
43
-6
0
0
0
0
0
0
0
-8
49
5
-41
14
-46
-71
-32
-49
0
0
0
0
0
0
0
0
-2
-4
6
-21
46
-4
-54
-44
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
-2
0
0
-8
0
29
-26
0
-59
3
0
0
0
0
0
0
-3
43
-19
36
173
-40
-37
14
37
-10
-19
-2
0
0
0
0
0
-3
-13
-48
0
21
-64
-80
19
59
57
-3
0
0
0
0
0
0
14
7
33
-3
78
-34
-31
-34
73
95
1
0
0
0
0
0
0
10
-28
-31
0
-13
-71
-54
-3
9
5
-17
0
0
0
0
0
0
0
-6
1
-14
18
45
-66
-75
-46
-11
43
0
0
0
0
0
0
0
0
-2
-2
-3
25
84
25
2
-9
0
0
0
0
0
0
0
0
-3
0
0
9
-8
-6
44
44
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-42
0
19
1
0
0
0
0
0
0
0
128
80
68
-25
0
64
0
6
31
5
0
0
0
0
0
0
0
64
-3
37
6
45
-26
31
33
-41
5
0
0
0
0
0
0
0
-8
0
-3
109
32
-137
-28
43
2
-20
0
0
0
0
0
0
0
-4
4
25
1
-23
55
-43
62
-23
2
0
0
0
0
0
0
0
13
0
0
0
-17
-33
-78
-7
19
3
0
0
0
0
0
0
0
0
3
-7
3
-8
27
-46
-49
4
0
0
0
0
0
0
0
0
0
0
-13
0
-4
14
-5
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
44
0
57
0
0
0
0
0
0
0
0
0
0
0
-6
-41
-4
13
-2
-1
0
0
0
0
0
0
0
0
0
4
0
1
0
-3
-2
4
2
-1
0
0
0
0
0
0
0
0
0
0
4
-16
-8
0
-5
2
3
0
0
0
0
0
0
0
0
3
1
0
1
3
-14
-23
-12
-4
0
0
0
0
0
0
0
0
0
-8
-2
0
0
6
4
-10
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
5
0
-13
-8
0
0
0
0
0
0
0
0
0
0
0
-6
3
5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
93
17
-33
19
-38
78
39
0
0
0
0
0
0
0
0
0
-6
-58
7
23
-73
22
31
-25
5
0
0
0
0
0
0
0
0
-19
45
-44
11
46
-17
-31
-60
30
0
0
0
0
0
0
0
0
10
77
-24
-24
81
80
-6
-21
2
0
0
0
0
0
0
0
0
13
22
26
83
-71
-40
-14
-43
21
0
0
0
0
0
0
0
0
30
41
10
-2
18
27
-3
-84
12
0
0
0
0
0
0
0
0
-3
-37
5
-17
-32
-34
5
23
42
0
0
0
0
0
0
0
0
0
1
0
-2
-2
9
48
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
79
-1
0
0
0
0
0
0
0
0
0
58
50
71
22
11
-39
28
51
0
-14
0
0
0
0
0
0
0
-16
-6
-27
90
19
37
-19
3
47
8
0
0
0
0
0
0
0
11
31
-16
-2
53
18
31
2
-26
-23
0
0
0
0
0
0
0
83
84
129
-22
6
36
25
22
56
-96
0
0
0
0
0
0
0
-155
71
-83
76
60
44
7
50
27
-5
0
0
0
0
0
0
0
33
20
-84
47
5
13
-42
50
-75
69
0
0
0
0
0
0
0
-84
9
-6
31
58
-63
-41
-14
70
19
0
0
0
0
0
0
0
3
0
0
-86
42
24
-65
3
-54
2
0
0
0
0
0
0
0
0
0
-2
0
45
0
47
-10
0
0
0
0
0
0
0
0
0
-49
57
17
58
72
30
-50
-68
0
-41
-10
0
0
0
0
0
0
52
-33
0
21
-16
-38
-5
33
-9
1
2
0
0
0
0
0
0
74
65
-53
-66
-6
-27
-18
-18
8
-73
20
0
0
0
0
0
0
66
-16
64
4
42
-53
-17
93
-39
-8
46
0
0
0
0
0
0
-19
-61
30
-21
16
58
-17
9
10
-26
-41
0
0
0
0
0
0
1
-22
46
-31
-28
-53
-22
23
4
-17
2
0
0
0
0
0
0
0
-3
87
-25
0
-42
-19
-46
36
21
-4
0
0
0
0
0
0
0
25
0
-12
13
94
-53
58
45
-57
0
0
0
0
0
0
0
0
0
0
1
0
-4
5
0
35
-1
0
0
0
0
0
0
0
-12
-52
103
24
-5
53
15
-109
0
50
-30
6
0
0
0
0
0
35
31
44
30
-16
50
-3
72
-2
-29
105
0
0
0
0
0
0
107
-94
62
-93
-53
34
14
-38
-12
-1
32
-18
0
0
0
0
0
42
61
23
-94
1
58
-70
-9
-45
-20
-50
0
0
0
0
0
0
31
103
54
-12
-75
9
33
-29
-2
36
27
1
0
0
0
0
0
1
-43
-7
37
-49
9
6
3
25
68
49
0
0
0
0
0
0
0
7
-13
-8
-60
50
-101
-4
10
13
25
0
0
0
0
0
0
1
-2
13
-3
8
-5
-1
69
-31
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
2
0
4
0
0
0
0
0
0
0
-5
-84
-26
16
-27
-11
50
54
0
-69
-27
-7
0
0
0
0
0
9
-6
111
43
37
-28
90
-6
-56
-63
-107
-21
0
0
0
0
0
20
-9
-4
24
-34
40
-75
30
-57
-28
75
-2
0
0
0
0
0
58
-21
12
89
-18
19
-29
20
42
-34
-24
35
0
0
0
0
0
6
-7
-30
-23
22
-79
26
-21
-13
63
1
38
2
0
0
0
0
-4
-8
60
76
31
-49
-15
5
-49
-18
-10
-2
0
0
0
0
0
0
-12
-5
4
-3
-67
-66
-21
49
33
-5
5
0
0
0
0
0
0
0
0
-7
0
21
39
-32
-39
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-6
0
0
0
0
0
0
0
0
-51
-31
-1
-40
-18
-24
6
20
0
24
-67
3
0
0
0
0
0
-49
-26
10
13
-90
76
-8
43
33
7
77
-2
0
0
0
0
0
14
48
49
-14
56
17
-9
58
-29
97
-43
0
0
0
0
0
0
-68
66
-49
182
-90
30
7
-6
40
26
-13
-5
0
0
0
0
0
1
-18
73
13
-41
58
47
47
11
-40
29
-1
-3
0
0
0
0
3
4
42
-22
3
-131
49
21
67
-105
75
2
0
0
0
0
0
-5
7
-1
8
7
-66
11
14
39
58
2
5
0
0
0
0
0
0
3
0
0
0
-7
19
-84
34
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
25
-13
-4
-41
-144
-76
12
0
-87
46
0
-1
0
0
0
0
0
-8
-58
-76
-49
-62
-9
-17
41
-41
22
-23
-1
0
0
0
0
0
11
50
8
45
-66
29
1
-67
131
-13
0
0
0
0
0
0
0
5
-37
-8
84
-52
15
-32
71
67
-5
-4
0
0
0
0
0
0
-25
23
-3
-22
41
-2
-34
-18
-35
-15
-3
0
0
0
0
0
0
6
-8
-19
5
72
32
-81
108
-43
1
0
0
0
0
0
0
0
0
0
-4
-18
4
19
-37
-12
-3
0
0
0
0
0
0
0
0
5
0
0
0
-9
-6
-34
9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
0
-1
15
1
25
0
21
0
2
0
0
0
0
0
0
0
-2
8
0
2
-5
-8
1
-23
3
-2
0
0
0
0
0
-4
0
-10
49
-23
-5
-33
5
-42
0
-2
1
0
0
0
0
0
0
4
1
0
3
0
8
-10
6
8
13
-1
0
0
0
0
0
-5
0
-3
0
-4
0
-21
-4
-17
-2
1
0
1
0
0
0
0
0
0
0
0
3
-10
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
0
-12
2
-49
0
-8
0
0
0
0
0
0
0
0
-4
-7
-12
8
13
10
-5
46
0
-2
0
-1
0
0
0
0
0
10
9
-7
-13
-18
-15
54
-5
-13
0
0
0
0
0
0
0
0
-2
0
-3
14
37
-5
-3
-8
5
1
0
0
0
0
0
0
0
0
-4
4
2
-5
-12
10
12
1
0
0
0
0
0
0
0
0
6
0
1
6
5
0
6
3
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
2
1
-6
1
-41
32
0
2
-8
0
0
0
0
0
0
0
0
10
-1
20
-13
0
50
4
10
-1
1
0
0
0
0
0
0
0
-14
-24
25
2
-41
-2
74
34
-4
0
0
0
0
0
0
0
0
-8
0
0
5
-23
15
6
0
7
0
0
0
0
0
0
0
0
9
0
5
8
-19
8
-19
7
-7
-2
0
0
0
0
0
0
0
0
4
0
1
0
-2
1
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
-12
5
0
-5
0
-1
0
0
0
0
0
0
0
0
9
0
1
5
-16
-5
-4
-4
0
0
0
0
0
0
0
0
0
-3
-1
4
13
-10
-23
-24
0
2
0
0
0
0
0
0
0
0
0
-2
0
3
-21
21
2
0
2
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
8
41
50
-53
-59
-6
0
0
0
0
0
0
0
0
0
-11
-13
6
53
54
-13
-5
37
51
0
0
0
0
0
0
0
0
30
9
13
9
-4
51
-10
-10
-30
0
0
0
0
0
0
0
0
-8
12
-10
35
8
77
50
2
4
0
0
0
0
0
0
0
0
5
-14
68
5
-30
121
-24
-6
-17
0
0
0
0
0
0
0
0
-2
-46
30
-71
-1
53
-56
-56
0
0
0
0
0
0
0
0
0
0
-1
0
0
34
80
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-6
27
13
29
42
-40
-22
0
-66
0
0
0
0
0
0
0
30
-14
44
-15
13
27
12
63
10
-93
0
0
0
0
0
0
0
-81
15
-25
27
-11
75
8
24
-7
4
0
0
0
0
0
0
0
-14
-50
45
-1
35
-34
30
-39
20
50
0
0
0
0
0
0
0
55
19
-19
-76
47
-16
5
-32
21
30
0
0
0
0
0
0
0
-62
121
9
-107
-96
24
-26
-42
-10
-1
0
0
0
0
0
0
0
22
0
-10
25
-24
-7
-24
89
-67
-21
0
0
0
0
0
0
0
0
0
-1
38
42
-39
0
-52
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
33
-2
52
26
61
14
38
0
27
-41
0
0
0
0
0
0
-144
-54
-60
18
-41
64
-42
-8
-32
-21
-56
0
0
0
0
0
0
-6
-21
-19
-9
50
-89
4
35
0
-7
10
0
0
0
0
0
0
-13
48
0
21
15
0
-57
30
21
28
6
0
0
0
0
0
0
16
-21
-29
-5
94
39
10
-27
-58
84
-7
0
0
0
0
0
0
0
-8
42
5
14
-5
-63
-13
-13
50
10
0
0
0
0
0
0
0
-9
5
22
70
11
-30
9
4
-43
0
0
0
0
0
0
0
0
6
-1
0
13
-16
-5
94
-8
-6
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
5
0
0
0
0
0
0
0
0
0
-22
83
65
-92
16
26
-57
54
0
6
12
0
0
0
0
0
0
58
2
47
94
-68
61
13
28
-14
-44
-23
0
0
0
0
0
0
12
-43
-15
10
-36
-42
-14
-12
-51
-35
38
0
0
0
0
0
0
-89
-19
32
66
-83
4
54
13
23
48
-40
0
0
0
0
0
0
-16
28
49
-36
50
1
-86
9
77
39
16
1
0
0
0
0
0
1
55
-23
21
100
4
51
-19
-7
-57
-8
3
0
0
0
0
0
0
31
44
4
10
-46
20
-57
85
26
29
0
0
0
0
0
0
0
-5
-1
-1
10
-96
-13
-5
41
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
-2
0
0
0
0
0
0
0
-6
-100
42
58
37
6
15
4
0
74
11
9
0
0
0
0
0
-22
-39
67
-37
-79
2
20
26
36
-25
-41
-41
0
0
0
0
0
8
51
-7
-36
-40
12
-8
65
15
2
78
0
0
0
0
0
0
-4
-45
46
1
-44
-102
4
79
3
30
35
23
0
0
0
0
0
37
-13
55
-14
-84
49
4
19
25
35
53
0
0
0
0
0
0
0
35
68
-12
-44
59
-20
-28
-91
7
-5
0
0
0
0
0
0
0
30
-5
97
10
-59
50
17
58
-4
8
0
0
0
0
0
0
0
-2
0
1
0
-25
-5
-18
10
5
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
19
-2
58
21
-5
-3
-39
13
0
-6
-17
-2
0
0
0
0
0
28
-13
20
-16
-74
0
-60
-83
-14
-33
-38
-12
0
0
0
0
0
-5
-49
-36
74
52
51
-56
-31
-37
9
10
-4
0
0
0
0
0
2
-88
-50
24
129
5
-29
77
-19
5
5
0
0
0
0
0
0
-5
-47
24
77
13
-31
-36
25
-8
-8
-15
2
0
0
0
0
0
1
-3
8
8
-75
-43
64
-75
-87
2
0
1
0
0
0
0
0
0
0
1
0
-4
9
-8
57
10
25
-8
-2
0
0
0
0
0
0
0
-14
5
0
-19
1
-120
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
12
-21
-41
-18
-51
0
44
39
6
0
0
0
0
0
-5
-31
8
27
30
-42
39
-5
-51
70
4
-13
-1
0
0
0
0
0
-44
69
25
-15
75
18
-27
58
-41
58
-3
0
0
0
0
0
0
-10
-28
-27
3
54
52
84
-89
-6
17
-13
-2
0
0
0
0
0
5
27
-2
8
-97
26
-8
-58
-44
8
9
0
0
0
0
0
0
7
6
2
49
-64
5
51
-52
2
0
0
0
0
0
0
0
0
0
3
-1
4
-1
1
7
-15
11
-3
0
0
0
0
0
0
0
0
0
3
0
0
-3
3
-12
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
7
0
5
4
33
-24
61
-16
0
24
-13
-1
0
0
0
0
0
20
-2
-5
13
9
7
-16
65
-75
5
-31
1
0
0
0
0
0
5
-9
-10
-16
-31
-16
-16
-5
66
87
10
-3
0
0
0
0
0
0
0
0
7
-77
-49
4
-53
0
5
13
0
0
0
0
0
0
1
19
0
0
47
1
-60
-20
-24
5
8
2
0
0
0
0
0
0
0
0
-12
-1
16
3
3
-8
8
-3
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-32
22
-13
-78
81
4
29
0
-17
0
0
0
0
0
0
0
-17
56
31
-50
113
-64
22
-41
-3
-2
-1
1
0
0
0
0
0
13
45
23
-84
13
-1
21
-67
23
-5
0
1
0
0
0
0
0
17
-14
-5
-32
-31
-19
11
-106
16
-21
0
0
0
0
0
0
0
3
0
1
-47
-23
-25
26
18
-42
-1
0
0
0
0
0
0
0
0
0
-1
4
-5
7
-20
-25
-37
0
0
0
0
0
0
0
0
4
0
3
0
-1
-7
13
-3
-1
0
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
15
-5
-6
12
-28
0
0
-46
3
0
0
0
0
0
0
0
5
6
-13
-95
-26
5
57
13
23
27
0
0
0
0
0
0
0
-24
-7
12
54
9
-26
-3
76
-9
-25
-4
0
0
0
0
0
0
-28
50
-2
-8
22
61
5
-71
-3
0
6
0
0
0
0
0
0
-37
4
-24
-6
-19
14
-7
8
13
1
0
0
0
0
0
0
0
-25
35
-6
-24
-60
-12
8
-25
-50
2
1
0
0
0
0
0
0
1
1
4
-18
-1
38
57
-61
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
-34
-34
2
-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
1
0
0
4
10
2
0
-4
6
0
0
0
0
0
0
0
0
3
1
1
14
-5
13
-46
-4
37
-2
0
0
0
0
0
0
0
0
0
0
7
4
-43
16
-5
0
0
0
0
0
0
0
0
0
-7
0
0
0
-1
1
1
-3
4
0
0
0
0
0
0
0
0
0
0
2
14
20
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
5
2
4
0
-2
0
0
0
0
0
0
0
0
-4
0
-1
4
0
-4
-10
2
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
-7
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
7
18
-25
46
25
-50
0
0
0
0
0
0
0
0
0
3
-3
-15
14
-15
109
-18
-33
-22
0
0
0
0
0
0
0
0
9
71
39
-158
7
50
78
25
21
0
0
0
0
0
0
0
0
0
0
10
-28
64
-48
-41
-27
71
0
0
0
0
0
0
0
0
0
6
-49
-13
29
23
78
-11
-20
0
0
0
0
0
0
0
0
0
-2
3
-52
18
9
3
30
-1
0
0
0
0
0
0
0
0
0
-1
0
2
63
25
18
-23
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
-44
-4
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
38
13
-88
29
-121
21
18
-28
0
-29
0
0
0
0
0
0
0
13
46
8
-13
3
40
15
35
-1
47
0
0
0
0
0
0
0
24
63
-18
4
-8
9
10
47
-12
-3
0
0
0
0
0
0
0
109
-2
11
-96
-25
-30
-21
-4
-39
-55
0
0
0
0
0
0
0
80
-4
51
-32
-18
7
-29
-19
-57
-46
0
0
0
0
0
0
0
-40
3
-59
-10
33
-51
-27
-67
28
-106
0
0
0
0
0
0
0
-41
-5
-26
49
-78
18
19
70
-25
30
0
0
0
0
0
0
0
1
-1
-5
9
-8
-6
-29
1
7
8
0
0
0
0
0
0
0
0
0
0
-3
18
-2
1
8
0
0
0
0
0
0
0
0
0
8
-42
-8
71
-43
4
16
1
0
15
5
0
0
0
0
0
0
30
-22
-23
96
-12
5
15
16
2
-54
24
0
0
0
0
0
0
-31
44
35
-23
17
17
-80
30
-9
-24
-1
0
0
0
0
0
0
0
36
-6
-16
-11
81
-38
-16
-75
-47
28
0
0
0
0
0
0
123
25
41
-9
-24
-62
11
30
51
1
0
0
0
0
0
0
0
-8
38
2
-58
15
4
-49
27
125
-8
-8
0
0
0
0
0
0
0
-19
-7
-10
70
21
-57
-15
-7
14
-8
0
0
0
0
0
0
0
-6
0
-10
-3
-3
-91
49
22
31
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-25
-8
0
0
0
0
0
0
0
0
2
15
-8
55
53
54
44
-74
0
49
20
0
0
0
0
0
0
-39
-68
13
89
0
-10
63
32
-6
13
-5
0
0
0
0
0
0
-5
-72
25
34
-91
-36
69
9
35
-34
58
2
0
0
0
0
0
-16
24
71
-3
14
-100
-50
26
-22
57
15
0
0
0
0
0
0
-79
31
41
-69
32
58
-1
-9
28
-21
5
0
0
0
0
0
0
4
31
99
-69
-35
-27
74
5
-106
34
-14
1
0
0
0
0
0
0
25
-9
8
36
9
-56
23
24
-34
-8
0
0
0
0
0
0
0
2
-1
0
2
-30
-10
26
5
25
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
0
10
7
0
0
0
0
0
0
0
0
25
-53
5
-15
-30
12
-52
0
151
35
-3
0
0
0
0
0
31
5
-85
-1
-21
-3
84
58
-42
-75
-55
-46
0
0
0
0
0
-10
-57
14
-72
32
-33
25
-89
-58
12
-16
1
0
0
0
0
0
-8
4
-64
-14
-20
42
-15
-57
21
48
-5
3
0
0
0
0
0
-6
34
4
-66
34
11
-5
22
-12
-25
1
-2
0
0
0
0
0
3
-71
31
-40
-35
-24
-36
3
-24
-68
4
0
0
0
0
0
0
0
-4
27
-31
23
-31
-69
41
160
-13
-1
0
0
0
0
0
0
0
-5
0
-2
0
75
30
-58
5
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-5
-52
87
11
133
20
0
72
-48
-2
0
0
0
0
0
16
43
-49
-32
11
-9
4
31
-34
-94
117
1
0
0
0
0
0
-1
-32
42
-77
4
57
63
62
16
33
23
-13
0
0
0
0
0
-3
6
-55
44
16
-47
12
104
15
5
33
-1
0
0
0
0
0
31
23
5
30
-53
-31
78
-30
75
3
42
-5
0
0
0
0
0
0
-5
6
5
-75
6
9
18
30
-17
-4
0
0
0
0
0
0
0
0
-3
31
42
18
-49
-34
-18
42
3
0
0
0
0
0
0
0
0
10
0
0
0
-6
22
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
3
6
1
13
-87
-57
0
-22
31
0
0
0
0
0
0
-5
-23
14
-39
-92
47
-43
-57
-96
-15
50
9
2
0
0
0
0
0
-20
15
-10
-58
30
-24
-97
27
-6
6
1
0
0
0
0
0
0
66
5
8
15
-31
14
-27
-74
5
3
0
0
0
0
0
0
0
-4
-13
-3
-33
6
-59
10
72
-35
1
0
0
0
0
0
0
0
-18
-2
-2
-2
58
18
35
1
-23
-4
0
0
0
0
0
0
0
0
0
-5
-55
-2
41
-8
-52
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
10
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
1
0
-3
-7
-1
51
30
44
0
59
2
0
0
0
0
0
0
-10
7
-8
18
21
31
-57
50
-120
4
64
0
-5
0
0
0
0
9
0
5
10
-11
10
-35
-3
-5
19
-8
0
0
0
0
0
0
4
-17
-2
-31
49
-58
30
24
-26
-43
-6
0
0
0
0
0
0
0
0
0
-2
5
5
0
16
-15
-2
0
-1
0
0
0
0
0
0
16
-2
5
-3
4
-6
0
-7
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
2
-5
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
49
15
43
-18
-10
8
14
0
-32
-3
0
0
0
0
0
0
14
10
-25
-26
-52
72
110
29
-14
-89
0
0
0
0
0
0
0
-41
85
-17
-45
-32
-61
-16
-66
44
-6
2
0
0
0
0
0
0
-93
10
35
32
12
-42
35
-60
-32
6
-3
0
0
0
0
0
0
-13
-84
-56
-46
-54
-17
109
-5
32
0
0
1
0
0
0
0
0
0
-2
9
76
1
-43
-17
-38
-5
0
0
0
0
0
0
0
0
0
-5
-7
7
25
7
11
-21
66
-8
0
0
0
0
0
0
0
0
8
-5
-5
0
-4
-6
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
13
8
78
13
13
41
0
-5
1
0
0
0
0
0
0
0
-42
2
-7
4
-73
-46
3
79
-44
13
0
0
0
0
0
0
0
-23
5
-33
-41
-58
-43
-2
27
20
-5
0
0
0
0
0
0
0
-23
-15
56
38
8
-28
-72
-122
2
12
0
0
0
0
0
0
0
34
-5
-5
-29
-57
-148
-7
-5
0
0
0
0
0
0
0
0
0
-67
-13
33
20
-76
-82
76
-25
5
2
0
0
0
0
0
0
0
-6
5
-2
-12
13
22
-40
38
-26
0
0
0
0
0
0
0
0
2
2
-3
0
-1
2
46
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
12
0
1
-3
0
0
0
0
0
0
0
0
3
0
-10
-15
1
-10
-16
62
-84
0
0
0
0
0
0
0
0
19
-1
-1
2
-2
-19
19
-1
3
0
0
0
0
0
0
0
0
5
0
-1
-2
8
49
9
-12
0
3
0
0
0
0
0
0
0
1
-7
0
-10
-3
-18
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
-5
5
2
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
5
0
0
0
4
1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
9
93
-60
41
-16
0
0
0
0
0
0
0
0
0
-2
-1
70
-4
50
37
75
37
-5
0
0
0
0
0
0
0
0
-1
-20
-13
-15
2
-74
-20
-19
5
0
0
0
0
0
0
0
0
0
49
0
56
13
-35
31
40
23
0
0
0
0
0
0
0
0
0
0
0
19
107
-24
-35
-16
18
0
0
0
0
0
0
0
0
0
9
-99
41
46
-34
2
-22
0
0
0
0
0
0
0
0
0
0
8
-1
-7
-14
-19
29
0
-3
0
0
0
0
0
0
0
0
0
0
0
-8
0
75
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
8
0
0
0
0
0
0
0
0
0
-11
-7
-94
11
-45
71
95
-74
0
46
0
0
0
0
0
0
0
-16
-1
-38
-102
4
70
13
60
-58
-12
0
0
0
0
0
0
0
-53
-3
58
-8
54
3
-28
51
-61
57
0
0
0
0
0
0
0
0
-42
-52
-61
-6
48
-77
-32
-11
50
0
0
0
0
0
0
0
-7
0
-105
-9
-54
-31
77
-87
5
47
0
0
0
0
0
0
0
75
-45
-47
19
24
3
30
-5
-51
27
0
0
0
0
0
0
0
55
0
-42
97
46
14
-80
85
41
0
0
0
0
0
0
0
0
0
0
-3
67
-1
90
-9
-21
68
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
16
4
0
0
0
0
0
0
0
0
0
0
11
-69
-1
-62
13
-52
0
-66
-3
0
0
0
0
0
0
6
-7
15
19
-144
4
92
68
4
39
-17
0
0
0
0
0
0
0
-42
68
14
21
-63
-93
-28
-78
-32
3
0
0
0
0
0
0
-13
16
-7
-20
52
-4
39
-3
15
-3
-2
0
0
0
0
0
0
0
93
0
2
-30
-46
-22
-72
-13
41
3
0
0
0
0
0
0
7
8
-45
17
157
43
14
-24
-16
120
-12
0
0
0
0
0
0
5
165
-2
101
37
-72
11
-105
40
25
0
0
0
0
0
0
0
0
-5
27
5
-8
39
-126
3
-49
-34
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
-5
0
0
0
0
0
0
0
0
-8
0
-15
-2
55
-22
10
85
0
83
20
0
0
0
0
0
0
6
-11
26
-27
3
-22
-2
-129
43
3
14
0
0
0
0
0
0
8
56
-1
-67
30
-30
-1
-73
40
54
50
0
0
0
0
0
0
22
-82
54
62
67
20
31
9
68
13
52
0
0
0
0
0
0
0
12
-28
0
-64
14
-22
54
-106
33
-13
0
0
0
0
0
0
-1
43
20
-41
-44
-23
58
-27
31
1
1
0
0
0
0
0
0
-5
33
18
1
-49
-54
13
-8
25
22
-10
0
0
0
0
0
0
1
-12
1
-5
-12
-57
10
73
120
19
0
0
0
0
0
0
0
0
0
0
0
-7
0
-30
5
0
4
0
0
0
0
0
0
0
0
-10
25
9
-76
-112
-57
-19
0
-66
2
-1
0
0
0
0
0
8
7
77
-18
-49
-2
-83
66
0
15
25
-24
0
0
0
0
0
8
16
-49
-63
-7
28
66
-49
-14
-46
-4
0
0
0
0
0
0
0
-15
47
-25
-21
40
-4
74
17
-34
15
-4
0
0
0
0
0
0
80
-9
-9
0
30
-6
-46
-31
48
-33
3
0
0
0
0
0
-7
-7
-35
-11
6
7
12
14
26
-72
-10
-1
0
0
0
0
0
9
-18
81
-20
-16
-27
-4
4
97
-1
0
0
0
0
0
0
0
0
2
-5
-4
0
-32
-51
-102
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
3
2
2
0
14
2
63
-43
0
46
5
0
0
0
0
0
0
2
-8
19
-49
-24
-15
58
-13
-41
-64
-50
0
0
0
0
0
0
3
40
-17
67
24
-7
-23
-19
-34
32
-27
0
0
0
0
0
0
-2
43
30
13
-60
26
54
7
17
32
-13
0
0
0
0
0
0
0
-6
13
-6
-9
0
-9
-18
-102
-32
6
2
0
0
0
0
0
2
37
-89
14
23
73
27
67
-25
5
5
-2
0
0
0
0
0
4
1
13
-2
7
0
10
68
8
0
0
0
0
0
0
0
0
0
-2
0
-43
0
16
23
-70
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
0
0
0
0
0
0
0
0
0
0
-5
-13
-1
-16
12
-41
-49
0
24
-14
0
0
0
0
0
0
0
-45
8
-13
-48
-60
28
8
-41
46
28
0
0
0
0
0
0
0
21
1
-4
56
70
25
21
45
16
0
0
0
0
0
0
0
0
34
6
13
-11
-33
21
24
-33
-41
-13
0
0
0
0
0
0
0
0
1
0
-16
29
0
40
-86
10
2
-8
0
0
0
0
0
0
4
-3
6
-10
-8
1
16
-15
2
-2
0
0
0
0
0
0
0
0
0
13
0
-16
44
-26
0
17
-4
0
0
0
0
0
0
0
0
0
0
0
3
7
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-1
-5
24
9
2
0
6
1
0
0
0
0
0
0
-8
-6
-10
17
41
50
74
-18
-66
12
-3
0
0
0
0
0
0
-37
3
-41
42
25
25
29
-31
-21
8
-7
0
0
0
0
0
0
-2
0
-5
21
40
-47
10
-59
-3
-20
-6
0
0
0
0
0
0
-7
-2
1
9
25
-37
-79
0
-23
0
-1
0
0
0
0
0
0
-7
-2
-6
-5
42
-25
-6
-118
2
-6
5
0
0
0
0
0
0
-8
0
7
0
5
25
-32
8
10
0
1
0
0
0
0
0
0
0
0
0
0
0
-64
-12
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-86
5
15
8
26
-50
-61
0
-7
2
0
0
0
0
0
0
8
-129
-50
150
-92
18
30
55
-110
-34
-7
0
0
0
0
0
0
-7
-68
-28
74
-99
-58
112
-6
-68
7
0
0
0
0
0
0
0
50
39
27
67
-142
73
-50
-34
4
0
0
0
0
0
0
0
0
-41
-17
27
-8
43
-95
-57
40
0
-31
8
0
0
0
0
0
0
1
-25
77
0
-69
-15
-31
6
5
3
0
0
0
0
0
0
0
8
9
-3
3
132
-23
46
5
18
-3
0
0
0
0
0
0
0
1
-6
-8
25
3
8
32
3
-19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-3
0
0
0
0
0
0
0
0
0
-24
21
-74
33
10
52
-16
0
111
0
0
0
0
0
0
0
0
71
-18
-104
-26
-77
58
22
8
35
-29
0
0
0
0
0
0
0
-24
-15
-24
89
67
-1
23
-11
17
0
0
0
0
0
0
0
0
25
43
-50
0
12
-68
-38
-15
-72
0
0
0
0
0
0
0
0
24
33
49
51
-12
-117
-24
-41
0
0
0
0
0
0
0
0
0
-134
7
-90
-151
-15
22
-92
0
46
0
0
0
0
0
0
0
0
1
64
-39
37
16
-44
7
72
2
0
0
0
0
0
0
0
0
0
1
0
3
-69
18
-57
53
10
0
0
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
0
0
2
0
0
0
-32
-6
0
0
0
0
0
0
0
0
-1
0
6
0
-9
0
27
8
-125
0
0
0
0
0
0
0
0
-1
-2
-2
-14
-9
-26
0
6
2
0
0
0
0
0
0
0
0
3
0
1
4
-5
-19
30
-2
-18
0
0
0
0
0
0
0
0
-8
0
5
30
5
-7
-15
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-2
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
16
10
2
-32
13
0
0
0
0
0
0
0
0
0
0
-2
-6
-27
-6
47
-17
-51
-1
0
0
0
0
0
0
0
0
-4
-47
-2
9
-58
1
-46
7
-22
0
0
0
0
0
0
0
0
0
4
-2
-26
17
49
-14
-22
0
0
0
0
0
0
0
0
0
5
-1
10
-17
26
29
-27
3
19
0
0
0
0
0
0
0
0
0
3
-5
17
-28
-13
45
8
1
0
0
0
0
0
0
0
0
-4
-2
2
-8
-6
13
-41
0
16
0
0
0
0
0
0
0
0
0
-12
0
-2
0
-46
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
4
0
0
0
0
0
0
0
0
0
4
-12
-14
59
-144
17
141
8
0
48
0
0
0
0
0
0
0
-40
1
-43
-69
-14
117
104
66
-2
-84
0
0
0
0
0
0
0
-48
17
68
22
-21
79
13
18
-53
-81
0
0
0
0
0
0
0
-2
-4
-45
-37
-56
-24
7
13
9
-6
0
0
0
0
0
0
0
79
-24
77
-48
12
-11
75
-40
66
8
0
0
0
0
0
0
0
-13
0
-49
88
-55
-50
47
20
-84
-6
0
0
0
0
0
0
0
16
-2
-43
-24
-28
-31
20
58
-28
4
0
0
0
0
0
0
0
-1
0
8
0
4
122
-53
-50
0
-27
0
0
0
0
0
0
0
0
0
0
0
48
0
-14
-1
0
0
0
0
0
0
0
0
0
0
14
7
-7
-13
3
76
32
0
75
-6
0
0
0
0
0
0
4
-76
1
22
39
-94
95
5
80
69
-22
0
0
0
0
0
0
0
11
0
2
27
24
28
-3
-5
-13
-5
0
0
0
0
0
0
-4
-97
-12
-44
-75
79
-27
-68
0
-71
3
0
0
0
0
0
0
20
-25
-29
-26
29
65
21
68
12
-2
12
0
0
0
0
0
0
0
-61
0
-67
-14
-98
-5
98
36
-35
0
0
0
0
0
0
0
0
43
-4
61
84
153
-92
-43
21
-9
4
0
0
0
0
0
0
0
1
0
-42
0
31
60
87
-4
20
0
0
0
0
0
0
0
0
0
0
0
4
0
-21
7
6
0
0
0
0
0
0
0
0
3
-12
-9
-54
-10
-8
56
-15
0
76
-3
2
0
0
0
0
0
42
16
40
163
85
50
-46
175
25
18
6
0
0
0
0
0
0
8
29
-7
-38
6
-34
31
109
1
-18
34
0
0
0
0
0
0
-9
25
30
-16
-65
49
-18
-36
31
9
1
0
0
0
0
0
0
-21
2
-57
49
24
42
37
-24
19
46
-3
1
0
0
0
0
0
7
1
15
0
14
81
-33
9
18
-15
8
0
0
0
0
0
0
0
53
-20
13
-24
-54
19
-53
3
-13
0
0
0
0
0
0
0
0
-1
1
-1
0
32
14
68
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-6
0
0
0
0
0
0
0
0
0
0
-14
24
-10
39
41
12
62
0
4
-40
0
0
0
0
0
0
0
-24
-7
22
68
-43
15
-12
27
-20
-39
0
0
0
0
0
0
-1
-7
-33
21
-55
-65
24
-7
58
-24
0
5
0
0
0
0
0
13
31
-14
1
-8
-45
-30
33
-25
72
0
0
0
0
0
0
0
-2
5
-24
-5
-72
-26
41
23
-118
9
1
-3
0
0
0
0
0
0
-1
8
-2
0
34
13
-34
42
9
20
0
0
0
0
0
0
0
0
-13
13
3
32
-41
24
-100
-27
7
0
0
0
0
0
0
0
0
8
0
0
35
30
-126
-11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-8
12
4
-57
23
41
69
0
-130
1
-4
0
0
0
0
0
0
57
1
-57
3
33
-178
12
12
-61
57
0
0
0
0
0
0
0
-15
23
18
50
-72
-89
62
-6
91
3
0
0
0
0
0
0
-1
3
20
2
111
14
56
16
12
6
13
0
0
0
0
0
0
35
-8
-7
86
-32
17
-51
24
-83
-13
-20
0
0
0
0
0
0
0
6
-8
0
13
0
63
-112
5
17
3
0
0
0
0
0
0
0
2
-1
-34
-4
15
33
14
-19
-2
1
0
0
0
0
0
0
0
0
13
0
13
16
-20
-14
-14
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
2
31
-10
23
-25
0
-18
-20
0
0
0
0
0
0
0
12
0
-4
-26
-2
-49
-5
24
-9
-14
0
0
0
0
0
0
0
-10
-2
2
-41
17
11
-121
0
53
-22
0
0
0
0
0
0
0
13
0
-25
14
-11
55
8
5
41
0
1
0
0
0
0
0
0
-24
2
-28
-10
-41
-67
-5
102
-14
0
-3
0
0
0
0
0
0
2
0
34
-5
-52
0
38
-57
23
1
0
0
0
0
0
0
0
0
16
-14
26
-1
-5
18
-64
-15
1
0
0
0
0
0
0
0
0
0
-1
0
-2
-24
6
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
35
-24
-4
5
0
-30
1
0
0
0
0
0
0
0
-2
-3
8
3
-35
-7
1
-20
5
-49
0
0
0
0
0
0
0
-5
0
19
0
-25
105
27
-45
46
8
0
0
0
0
0
0
37
0
8
-5
56
13
13
-19
7
0
0
0
0
0
0
0
0
-2
4
2
-13
20
17
0
-5
-1
0
-2
0
0
0
0
0
0
0
-1
-9
-16
24
1
-4
0
23
1
-2
0
0
0
0
0
0
0
8
0
9
-23
15
0
10
-4
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-42
-12
2
1
-14
-76
-50
0
-64
-1
0
0
0
0
0
0
1
-22
-14
-20
93
-84
50
-139
-73
-74
-9
0
0
0
0
0
0
23
-49
7
-7
-56
67
-52
-30
-109
21
0
0
0
0
0
0
0
-6
-95
-32
-205
45
28
75
-17
-49
26
0
0
0
0
0
0
0
-6
-61
-26
-23
68
-27
-36
-5
31
-2
0
0
0
0
0
0
0
-31
-199
-61
-3
-100
-104
-56
28
0
-34
0
0
0
0
0
0
0
-44
-1
-15
-1
33
-73
62
-6
15
0
0
0
0
0
0
0
0
0
1
-7
-26
5
-26
2
-52
0
0
0
0
0
0
0
0
0
0
2
0
0
-13
0
21
-7
0
0
0
0
0
0
0
0
0
0
32
-13
5
-1
5
62
76
0
49
-16
0
0
0
0
0
0
0
-45
29
7
-83
-42
100
32
-61
2
0
0
0
0
0
0
0
0
26
-3
-74
-148
-3
61
20
-15
-19
-5
0
0
0
0
0
0
0
13
31
-27
12
40
-21
120
8
-25
-1
0
0
0
0
0
0
0
-102
-41
149
-35
-69
89
-13
-8
-10
0
0
0
0
0
0
0
0
11
-8
-15
-40
-76
-36
-5
-13
0
-1
0
0
0
0
0
0
0
8
3
4
-25
-8
28
-94
0
0
0
0
0
0
0
0
0
0
13
2
0
-2
-20
-51
9
48
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
3
0
0
0
0
0
0
0
0
1
-4
0
-1
2
24
8
7
-42
0
0
0
0
0
0
0
0
0
-1
0
8
-2
0
-2
41
1
0
0
0
0
0
0
0
0
-1
0
7
3
-3
-10
0
-8
0
0
0
0
0
0
0
0
0
6
-7
-1
-4
6
3
-5
0
2
0
0
0
0
0
0
0
0
0
0
-2
2
-14
10
-52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
4
0
0
0
0
0
0
0
0
0
0
0
9
-1
-1
-9
60
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
50
9
-17
-21
1
0
0
0
0
0
0
0
0
-2
0
0
41
-16
-22
31
39
1
0
0
0
0
0
0
0
0
0
0
-4
1
-1
31
33
30
5
0
0
0
0
0
0
0
0
-1
4
5
81
15
10
-1
50
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
0
19
3
-27
0
0
0
0
0
0
0
0
0
-2
25
-3
1
15
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-56
-2
-41
46
50
87
0
9
0
0
0
0
0
0
0
5
-9
-6
-1
5
11
49
84
-67
-55
0
0
0
0
0
0
0
10
1
-33
-79
16
79
17
17
-51
2
0
0
0
0
0
0
0
23
3
-42
16
-66
-74
29
45
-61
113
0
0
0
0
0
0
0
8
-5
139
-16
113
-27
-8
32
-8
8
0
0
0
0
0
0
0
7
-2
84
-34
68
-59
26
-17
4
8
0
0
0
0
0
0
0
18
0
2
-5
-27
-49
34
-59
41
5
0
0
0
0
0
0
0
1
0
1
-55
8
-4
-30
-49
-12
6
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
-8
-4
0
0
0
0
0
0
0
0
0
-39
49
36
-13
-1
14
39
0
10
5
0
0
0
0
0
0
8
-10
-3
30
-127
143
-62
16
-9
-52
-4
0
0
0
0
0
0
0
-69
-9
-43
-25
28
61
33
-37
37
0
0
0
0
0
0
0
-1
-127
0
-46
28
-13
-16
-51
-2
-7
-1
0
0
0
0
0
0
-43
3
2
22
-35
-50
54
45
0
-92
0
0
0
0
0
0
0
-1
50
-18
16
-75
-49
27
57
1
-34
8
0
0
0
0
0
0
0
0
0
-7
13
18
-27
25
21
28
0
0
0
0
0
0
0
0
-5
-1
1
-2
45
-64
13
74
-66
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
4
-3
53
-13
12
13
0
116
0
0
0
0
0
0
0
0
19
3
2
-18
27
41
12
73
-36
-31
0
0
0
0
0
0
31
-27
3
5
-27
-73
75
44
-8
-3
-37
0
0
0
0
0
0
-15
42
53
-18
127
110
7
46
-50
-94
-21
0
0
0
0
0
0
2
93
60
-1
-70
58
37
-26
-5
42
-42
0
0
0
0
0
0
-5
23
-83
-25
-22
-52
44
12
-39
1
5
0
0
0
0
0
0
0
2
-4
0
50
40
-17
-47
59
24
-1
0
0
0
0
0
0
-3
-14
-17
-2
0
23
-42
6
-49
17
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
1
0
0
0
0
0
0
0
0
0
0
-24
-8
24
-43
55
-1
0
-79
-2
0
0
0
0
0
0
3
0
-16
-3
-56
44
-22
-69
-33
162
57
0
0
0
0
0
0
0
-40
22
0
8
-50
-20
-57
44
-45
5
0
0
0
0
0
0
8
10
57
10
-20
26
-29
-44
-6
-26
-34
0
0
0
0
0
0
0
-44
7
72
-28
-41
-22
67
45
-19
2
0
0
0
0
0
0
2
-71
25
1
-41
-35
-26
68
48
-53
30
6
0
0
0
0
0
0
0
-1
0
0
61
47
-45
-11
1
3
0
0
0
0
0
0
0
0
-3
-7
0
10
27
-27
-49
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-9
-82
-34
0
-2
3
0
0
0
0
0
0
0
-2
0
-8
7
-6
-41
-47
-42
-34
21
0
0
0
0
0
0
0
16
0
-6
118
-1
-16
36
67
20
0
-3
0
0
0
0
0
-10
0
-1
-16
32
38
5
-197
3
-38
-16
0
0
0
0
0
0
0
-5
5
0
89
-20
-63
-17
-29
102
0
0
0
0
0
0
0
4
3
50
31
-7
43
19
27
22
-8
13
0
0
0
0
0
0
0
-1
-2
7
3
0
19
7
-67
5
-3
0
0
0
0
0
0
2
0
0
21
0
30
-1
-18
4
-14
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
4
2
-1
-19
23
0
3
6
0
0
0
0
0
0
0
-7
24
-2
-28
51
9
90
-10
-5
-30
0
0
0
0
0
0
0
-49
3
0
55
-5
-64
-19
5
2
0
0
0
0
0
0
0
0
20
0
9
70
73
-36
20
21
1
-2
0
0
0
0
0
0
0
94
23
22
93
-5
98
-36
12
22
6
0
0
0
0
0
0
0
63
12
29
-7
-40
-20
60
-44
120
0
-7
0
0
0
0
0
0
0
10
0
0
0
0
56
-16
1
0
0
0
0
0
0
0
0
0
0
0
-14
4
20
5
15
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
1
-1
3
7
0
-1
0
0
0
0
0
0
0
0
0
-7
-6
-1
-26
-16
-6
5
4
1
0
0
0
0
0
0
-42
0
-1
0
-31
-8
-107
-20
-184
0
0
0
0
0
0
0
0
8
0
0
-3
-9
-38
42
-9
6
-28
0
0
0
0
0
0
0
13
1
23
18
31
-13
26
-13
42
0
0
0
0
0
0
0
0
0
0
-6
5
2
110
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
1
-101
-2
60
0
-43
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
6
0
8
20
24
32
3
-20
0
-19
0
0
0
0
0
0
0
0
32
0
1
9
45
23
-72
-59
-13
1
0
0
0
0
0
0
0
-50
0
-24
8
53
86
-16
61
37
-12
0
0
0
0
0
0
0
-91
50
-98
6
-4
4
-4
-58
-66
0
0
0
0
0
0
0
-4
-38
49
20
-4
-16
66
-5
-50
-5
0
0
0
0
0
0
0
6
-6
-7
15
33
66
84
-3
-25
0
0
0
0
0
0
0
0
-3
-49
27
15
-110
-25
4
-84
0
25
0
0
0
0
0
0
0
0
-15
0
-29
-32
76
71
1
-13
9
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-5
-3
9
0
-16
0
0
0
0
0
0
0
0
8
19
0
8
32
9
-1
73
5
23
0
0
0
0
0
0
0
21
14
9
31
-3
130
53
23
-48
0
0
0
0
0
0
0
0
-55
1
-27
-66
14
-8
6
9
47
0
0
0
0
0
0
0
0
38
-9
-37
-70
-5
84
17
23
-28
0
0
0
0
0
0
0
0
17
2
21
-43
62
-5
49
0
-8
0
0
0
0
0
0
0
0
0
10
0
70
4
5
25
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-76
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
-12
1
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
-3
7
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
9
-3
-4
0
0
0
0
0
0
0
0
0
-1
-1
-1
5
0
19
-8
0
-7
0
0
0
0
0
0
0
0
-7
-2
0
2
1
4
14
-5
5
0
0
0
0
0
0
0
0
0
0
0
-17
2
42
2
19
0
0
0
0
0
0
0
0
0
-22
-20
2
-8
-4
-14
-23
-1
-25
0
0
0
0
0
0
0
0
0
0
-5
-27
2
47
-1
-14
0
0
0
0
0
0
0
0
0
0
-9
8
16
14
-9
-92
3
3
0
0
0
0
0
0
0
0
0
-2
0
0
4
-8
0
1
-1
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
9
1
0
0
0
0
0
0
0
0
0
12
0
1
0
-7
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
-14
-3
-41
-42
18
-5
0
0
0
0
0
0
0
-129
0
3
-8
30
-15
65
24
26
0
0
0
0
0
0
0
0
25
-5
44
-49
5
87
1
16
-33
11
0
0
0
0
0
0
0
-13
3
76
-26
107
0
157
2
-50
-7
0
0
0
0
0
0
0
155
0
-87
-77
60
-27
-22
-68
-5
0
0
0
0
0
0
0
0
77
0
6
-25
-29
-6
-63
25
64
-1
0
0
0
0
0
0
0
0
0
0
3
-4
-104
5
21
-2
0
0
0
0
0
0
0
0
6
0
0
0
-14
-4
-65
1
32
0
0
0
0
0
0
0
0
0
0
6
8
-9
-1
9
9
0
-8
0
0
0
0
0
0
0
0
3
-2
-6
0
128
-22
-31
5
-5
0
0
0
0
0
0
0
-6
71
7
0
3
-2
-14
-22
36
9
0
0
0
0
0
0
0
-5
19
-2
22
33
-31
-13
-14
32
46
0
0
0
0
0
0
0
4
-33
0
2
-21
1
55
19
-47
-40
-9
0
0
0
0
0
0
3
29
1
-90
86
77
-36
48
48
68
0
0
0
0
0
0
0
-74
25
0
-24
-41
-9
-4
-73
-22
21
0
0
0
0
0
0
0
0
1
0
1
0
-7
-84
-18
-25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-24
4
6
0
20
0
0
0
0
0
0
0
0
0
-8
-2
14
-45
-20
-52
-17
7
-1
0
0
0
0
0
0
0
0
0
1
-60
6
-66
-22
-7
-27
-6
0
0
0
0
0
0
-41
-7
17
1
-30
105
16
41
82
7
2
0
0
0
0
0
0
20
8
-3
1
22
42
-10
-16
31
12
11
0
0
0
0
0
0
-12
-16
-9
-30
37
63
39
99
-3
18
13
0
0
0
0
0
0
13
-7
-37
0
-75
3
28
-1
-23
-4
-1
0
0
0
0
0
0
0
-1
0
0
-6
65
3
42
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
13
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-4
13
0
0
-8
0
0
0
0
0
0
0
0
0
-1
5
14
-20
-25
-4
-5
0
0
0
0
0
0
0
5
3
0
2
-7
7
-27
31
58
1
0
0
0
0
0
0
0
0
13
-4
16
-13
12
10
-11
45
-50
0
0
0
0
0
0
0
0
31
0
17
8
7
-8
-8
67
1
-1
0
0
0
0
0
0
-4
-7
48
11
-10
-16
39
9
-9
-9
0
8
0
0
0
0
0
0
1
0
-4
0
24
31
10
-2
-8
0
1
0
0
0
0
0
0
0
0
-5
0
113
48
14
-23
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
114
5
10
1
5
-7
0
0
0
0
0
0
0
0
0
0
33
0
13
3
75
0
0
0
0
0
0
0
0
-8
0
0
-5
3
68
-1
24
9
-1
-2
0
0
0
0
0
0
0
-13
1
0
-30
-4
2
-7
-15
0
-4
0
0
0
0
0
0
0
-1
3
-5
-18
-58
17
-1
-3
-2
0
0
0
0
0
0
0
39
1
0
30
-28
-3
8
-1
16
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-10
-41
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
26
-24
-19
-3
0
0
0
0
0
0
0
0
1
0
0
-1
0
-7
-4
-2
-2
0
0
0
0
0
0
0
0
-2
-9
0
0
6
-20
12
-17
0
0
0
0
0
0
0
0
0
-1
0
4
0
-6
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-41
-2
2
0
0
0
0
0
0
0
0
0
-7
0
8
0
-31
-6
26
0
-10
0
0
0
0
0
0
0
0
0
8
0
-1
0
-5
-4
20
1
3
0
0
0
0
0
0
0
-4
0
-13
0
-6
-3
12
0
0
0
0
0
0
0
0
0
0
1
0
34
7
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-15
0
0
0
0
0
0
0
0
0
0
0
-17
0
33
7
-8
-5
-18
-8
0
0
0
0
0
0
0
0
2
1
0
0
3
0
-30
-26
-56
-4
0
0
0
0
0
0
0
-1
0
0
21
8
-9
34
-10
12
-16
0
0
0
0
0
0
0
0
-48
4
-23
47
7
35
-6
-21
13
0
0
0
0
0
0
0
0
6
-4
-33
4
66
-2
63
-5
5
0
0
0
0
0
0
0
-2
-7
0
-27
4
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
5
8
0
5
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-13
8
0
3
0
-3
-31
-4
-22
0
0
0
0
0
0
0
0
-6
0
0
0
0
25
-43
28
1
23
0
0
0
0
0
0
0
-32
3
-4
30
18
-24
37
-48
-4
0
0
0
0
0
0
0
0
-6
0
6
25
-9
1
-7
7
3
0
0
0
0
0
0
0
0
-9
-4
-4
0
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
-2
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
3
2
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
44
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
22
0
-1
0
0
0
0
0
0
0
0
10
0
0
33
0
18
0
-23
0
0
0
0
0
0
0
0
0
-6
0
5
7
-13
1
19
0
-18
0
0
0
0
0
0
0
0
-2
0
34
-13
0
-57
0
-12
0
0
0
0
0
0
0
0
0
-4
0
0
0
-58
0
96
0
0
0
0
0
0
0
0
0
0
4
0
0
5
-1
-32
0
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-8
33
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
4
0
-5
0
0
0
0
0
0
0
0
0
0
1
39
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
8
5
0
0
0
0
0
0
0
0
0
0
0
0
6
7
13
0
-1
0
0
0
0
0
0
0
0
0
0
33
0
-2
1
-8
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
3
5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-6
-5
-9
-6
0
0
0
0
0
0
0
0
0
0
8
0
18
18
59
-5
8
0
2
0
0
0
0
0
0
0
0
49
50
0
63
54
-8
-13
-8
32
0
0
0
0
0
0
0
0
8
22
-75
2
43
-14
-1
0
-4
0
0
0
0
0
0
0
0
0
36
8
30
0
-10
9
0
18
0
0
0
0
0
0
0
0
-6
2
2
-8
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
28
6
42
-8
-8
0
0
0
0
0
0
0
0
0
0
0
-69
0
40
78
26
17
0
1
0
0
0
0
0
0
0
0
0
-4
-87
4
70
-9
-26
-19
-5
-24
0
0
0
0
0
0
0
-1
92
16
15
8
-36
-30
-19
43
68
0
0
0
0
0
0
0
-7
-4
4
-26
22
-31
-6
7
39
5
0
0
0
0
0
0
0
0
18
-7
15
-17
-23
0
-5
0
-5
0
0
0
0
0
0
0
0
0
-24
4
23
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
57
-50
9
3
0
-3
0
0
0
0
0
0
0
0
0
-44
0
103
1
59
0
0
0
-19
0
0
0
0
0
0
0
-3
-41
-5
5
-10
-42
-39
-17
62
32
0
0
0
0
0
0
0
25
18
44
-32
-58
-5
75
-1
-14
-9
0
0
0
0
0
0
1
-14
23
48
-130
5
-57
30
5
1
0
0
0
0
0
0
0
0
14
16
-24
42
56
20
0
0
56
0
0
0
0
0
0
0
0
4
1
-4
72
-1
-1
0
4
0
0
0
0
0
0
0
0
0
0
8
-31
4
0
0
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
-7
2
32
0
-8
0
0
0
0
0
-7
0
0
0
0
0
0
-7
27
-2
-47
-4
57
19
0
-3
0
5
0
0
0
0
0
0
-5
0
41
-31
73
0
2
5
-31
-4
42
5
0
0
0
0
0
0
19
20
43
30
17
1
7
-1
22
-13
-2
0
0
0
0
0
-1
-5
25
15
7
149
19
-2
3
0
0
0
0
0
0
0
0
0
-22
47
-2
-21
0
-2
13
0
0
2
0
0
0
0
0
0
0
0
2
0
4
5
2
-5
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-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
2
-27
-106
0
2
-1
0
0
0
0
0
0
0
0
0
0
4
24
18
-3
71
-2
-27
0
-1
0
0
2
0
0
0
0
0
51
-90
-12
-2
-15
36
2
2
-20
-15
4
2
0
0
0
0
0
4
-6
39
5
66
27
1
-5
-43
-2
0
2
0
0
0
0
0
-3
-1
18
-14
-31
19
-33
8
0
9
0
0
0
0
0
0
0
0
-6
17
23
24
-4
-7
1
0
-13
-6
0
0
0
0
0
0
0
0
-5
-6
6
5
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
22
69
10
-52
0
5
0
0
0
0
0
0
0
0
0
0
0
64
11
-16
14
-6
5
0
2
0
-1
0
0
0
0
0
0
36
67
-14
50
-62
-31
-101
-44
27
-72
-2
1
0
0
0
0
0
-22
-43
-58
-15
-1
13
15
-10
-21
2
0
0
1
0
0
0
0
31
-2
14
5
76
3
3
6
-2
-24
0
0
0
0
0
0
0
0
7
-85
135
45
-15
-5
-29
3
0
0
0
0
0
0
0
0
0
0
-10
46
-7
-39
0
0
9
-3
0
0
0
0
0
0
0
0
0
0
0
-1
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
-3
43
54
84
-76
45
0
1
0
4
0
0
0
0
0
0
0
5
45
15
-27
-34
-50
-34
0
3
0
0
0
0
0
0
0
0
1
-42
-7
-46
-31
-42
7
70
-44
31
-4
0
0
0
0
0
0
9
20
38
3
22
-65
4
-44
6
-5
3
0
-1
0
0
0
0
13
-4
-22
-69
-62
18
-40
-32
-5
-6
0
0
0
0
0
0
0
0
-48
-31
12
-132
92
30
13
5
31
0
0
0
0
0
0
0
0
0
-1
66
-3
-1
4
0
-27
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
-3
-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
3
-18
31
16
-6
-31
-10
0
0
0
4
0
0
0
0
0
0
30
52
-5
5
3
-70
5
0
0
0
3
0
0
0
0
0
0
56
-45
-17
-94
-76
-91
-13
17
7
8
18
0
0
0
0
0
0
-7
-164
-5
-45
-35
-8
58
48
-5
0
-1
0
0
0
0
0
0
-3
-19
-15
16
-31
-76
2
1
16
25
-1
0
0
0
0
0
0
-4
-135
23
9
50
7
-3
1
0
1
0
0
0
0
0
0
0
0
0
-30
-42
12
4
-6
2
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-39
-8
10
0
0
0
0
-1
0
0
0
0
0
0
0
-8
-67
45
-51
46
30
0
-7
0
-31
0
0
0
0
0
0
0
60
-23
-52
26
18
-12
-9
27
-2
26
-2
0
0
0
0
0
0
-19
-22
-30
-29
-49
-32
-43
-2
-2
97
0
0
0
0
0
0
0
1
42
22
74
-5
6
57
44
3
-13
0
0
0
0
0
0
0
9
29
24
45
-5
46
-79
-24
15
1
0
0
0
0
0
0
0
-16
-20
13
-16
6
42
14
-43
0
0
0
0
0
0
0
0
0
0
5
-78
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
23
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
31
7
-37
0
-6
0
2
10
0
0
0
0
0
0
0
-1
66
7
-63
10
-13
5
12
-4
5
0
0
0
0
0
0
0
0
0
-55
55
32
8
1
-30
8
-2
0
0
0
0
0
0
0
4
-7
-3
-29
15
-6
-5
17
3
-1
0
0
0
0
0
0
0
2
13
39
39
49
-12
-24
3
0
0
0
0
0
0
0
0
0
0
0
21
-86
2
10
0
-1
0
0
0
0
0
0
0
0
0
0
-5
28
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-12
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
4
23
-2
0
0
0
0
0
0
0
0
0
-5
0
-3
1
3
0
-4
0
0
0
0
0
0
0
0
0
0
1
-8
13
1
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
12
-15
48
-2
0
1
0
0
0
0
0
0
0
0
0
-2
94
-11
-4
26
-65
73
0
-5
0
0
0
0
0
0
0
0
17
-39
60
-6
-7
-49
8
8
-44
0
0
0
0
0
0
0
0
-10
89
-57
-51
-72
50
-26
-8
15
0
0
0
0
0
0
0
0
4
15
-56
-8
-8
-1
-5
1
8
0
0
0
0
0
0
0
0
0
96
-4
51
0
20
-2
-6
2
0
0
0
0
0
0
0
0
0
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
10
28
95
22
0
0
-4
0
0
0
0
0
0
0
-3
-51
37
-76
52
-99
-89
0
-19
0
0
0
0
0
0
0
0
19
-4
15
-55
-4
-17
13
40
6
12
0
0
0
0
0
0
0
-7
17
97
-14
71
57
31
-31
-64
24
0
0
0
0
0
0
0
8
22
-26
29
34
4
-12
13
75
61
0
0
0
0
0
0
0
0
-4
83
-2
-4
-27
43
10
5
25
0
0
0
0
0
0
0
0
0
-1
5
4
23
0
-6
0
1
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
-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
-72
-2
-42
-17
32
-8
0
-1
2
0
0
0
0
0
0
0
60
-12
-37
-14
93
7
0
-5
0
20
0
0
0
0
0
0
0
-39
21
-3
32
90
43
5
-27
-91
11
0
0
0
0
0
0
0
7
-60
-16
20
-63
-72
51
-24
0
28
0
0
0
0
0
0
0
59
-36
67
-14
-25
-14
2
80
47
8
0
0
0
0
0
0
0
77
-54
43
5
1
17
44
9
-12
5
0
0
0
0
0
0
0
1
10
-5
-5
9
-4
5
21
-4
-2
0
0
0
0
0
0
0
0
-4
17
4
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-79
5
52
-25
-1
0
0
0
0
0
0
0
0
0
10
-35
-29
-76
52
31
-42
0
0
0
10
0
0
0
0
0
0
-9
-70
-48
17
102
25
-50
20
37
-3
-41
-1
0
0
0
0
0
9
2
14
-46
31
-60
2
-7
78
-6
-3
-2
0
0
0
0
0
8
-95
5
30
-23
43
15
29
-2
-13
12
0
0
0
0
0
0
0
16
64
42
42
66
-29
4
7
1
0
-1
0
0
0
0
0
0
0
-5
2
4
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-59
31
-22
-44
1
16
-3
0
2
-4
1
0
0
0
0
0
20
56
10
67
13
60
13
0
6
0
-5
25
0
0
0
0
0
42
-77
-40
15
9
27
50
-20
-7
76
-2
0
3
0
0
0
0
-25
23
69
50
45
82
-73
47
-46
29
0
-2
0
0
0
0
0
-22
3
51
75
74
74
76
67
-41
31
1
-3
0
0
0
0
0
0
64
-75
-19
200
-52
-12
-20
1
-8
0
3
0
0
0
0
0
0
33
43
44
2
3
3
1
0
-3
0
0
0
0
0
0
0
0
0
-2
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-26
-13
-68
-15
20
-1
3
2
0
0
0
0
0
0
0
0
0
-49
62
21
-11
31
-67
74
0
46
0
0
0
0
0
0
0
0
-2
52
60
18
47
26
-36
-9
35
-2
22
0
0
0
0
0
0
6
75
-1
-115
131
-12
-28
77
58
12
-3
0
0
0
0
0
0
-4
56
-125
33
30
8
22
-76
44
1
0
0
0
0
0
0
0
0
22
6
-24
-1
69
-13
-21
3
4
0
0
0
0
0
0
0
-3
10
9
137
71
14
18
8
-6
0
0
0
0
0
0
0
0
0
22
4
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
38
-7
-50
-61
58
1
0
0
7
0
0
0
0
0
0
0
15
-55
-57
-94
-50
-41
13
0
0
0
6
-1
0
0
0
0
0
9
93
23
63
-2
9
25
-20
24
-64
31
9
0
0
0
0
0
-25
21
9
68
-36
29
-4
-19
-76
-13
6
0
-1
0
0
0
0
16
-18
66
3
62
45
-11
-126
-61
-18
8
0
0
0
0
0
0
0
-45
69
-74
-1
5
-18
2
17
-6
0
0
0
0
0
0
0
1
3
-77
77
13
-45
-19
50
33
25
-3
0
0
0
0
0
0
0
0
2
60
17
1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
34
-48
58
34
20
28
8
0
-1
0
0
0
0
0
0
0
118
72
59
7
35
-31
-7
0
-71
0
21
0
0
0
0
0
0
9
89
-33
16
-32
82
63
11
78
-5
40
0
0
0
0
0
0
6
-36
-45
75
57
3
-18
-36
78
13
3
-5
0
0
0
0
0
-29
-3
-35
31
-83
-31
50
-7
11
-68
1
1
0
0
0
0
0
3
-8
-41
-20
-55
-10
25
19
26
-33
-3
0
0
0
0
0
0
-4
17
-40
73
-22
-1
42
-4
35
0
0
0
0
0
0
0
0
0
-2
0
-20
-1
2
0
0
0
3
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
61
-126
7
-30
-91
-66
-1
0
0
0
0
0
0
0
0
0
-1
-4
52
-52
4
58
12
0
0
0
-17
0
0
0
0
0
0
-13
-6
-53
-47
0
46
11
25
38
44
-20
3
0
0
0
0
0
4
39
-74
54
3
-146
-55
-76
-22
-146
-22
2
0
0
0
0
0
0
19
-33
-22
2
-2
-24
4
-18
-27
-31
0
0
0
0
0
0
0
43
-28
-84
-3
14
29
0
25
-80
0
0
0
0
0
0
0
5
-9
-70
-1
-41
-4
-60
2
-38
2
0
0
0
0
0
0
0
0
5
13
16
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
26
69
-28
-29
38
79
-16
0
0
5
1
0
0
0
0
0
0
-33
73
-30
35
41
66
0
-46
0
59
0
0
0
0
0
0
0
85
16
35
53
3
35
40
-36
7
-94
3
0
0
0
0
0
0
-13
43
-11
-9
-56
-40
2
-104
-84
-32
0
0
0
0
0
0
0
-48
-5
63
-72
26
-71
53
70
-29
29
0
0
0
0
0
0
0
-73
-11
-26
-74
-114
8
97
-41
-4
4
0
0
0
0
0
0
0
-13
-30
3
10
-66
-99
41
-16
-1
2
0
0
0
0
0
0
0
1
15
-45
-1
-22
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
41
55
-16
-10
21
0
0
0
-1
0
0
0
0
0
0
0
-14
13
15
-88
58
0
0
0
-5
-3
0
0
0
0
0
0
0
54
102
16
73
-42
44
5
-29
4
-9
0
0
0
0
0
0
0
-33
23
-40
27
12
18
-80
-129
-9
5
0
0
0
0
0
0
0
-16
14
9
25
-13
-16
-25
-9
5
8
0
0
0
0
0
0
0
-3
27
31
18
2
-10
-1
2
0
0
0
0
0
0
0
0
0
0
31
-41
-48
23
-12
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
25
0
0
-7
0
0
0
0
0
0
0
0
0
0
-8
-5
16
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-20
1
-2
0
-15
-17
-2
6
0
0
0
0
0
0
0
2
32
-8
-8
2
-5
0
-32
3
1
0
0
0
0
0
0
0
0
1
4
-17
-15
-6
1
2
0
0
0
0
0
0
0
0
0
0
-3
8
-13
7
6
3
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-6
-12
-4
2
0
0
0
0
0
0
0
0
0
0
0
30
-6
42
41
-23
32
-2
0
-8
0
0
0
0
0
0
0
0
0
31
20
-7
23
-26
3
-34
97
0
0
0
0
0
0
0
0
9
72
-31
-18
60
-62
-13
-9
-13
0
0
0
0
0
0
0
0
9
103
3
30
1
-59
0
0
5
0
0
0
0
0
0
0
0
0
19
29
4
-18
8
2
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-74
-49
39
-25
66
2
0
-5
0
0
0
0
0
0
0
0
25
-67
6
-29
-10
-3
0
1
0
0
0
0
0
0
0
0
-9
-98
-92
-20
-46
59
3
21
-28
0
0
0
0
0
0
0
0
-46
19
5
-23
-44
32
-79
-41
24
56
0
0
0
0
0
0
0
2
-30
14
-76
3
6
-7
41
-9
87
0
0
0
0
0
0
0
0
32
108
-6
-2
-50
-18
9
1
-1
0
0
0
0
0
0
0
0
0
44
-16
-24
4
8
1
1
-5
0
0
0
0
0
0
0
0
-2
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
2
-8
49
-22
4
0
7
5
0
0
0
0
0
0
0
9
-16
14
-53
47
-49
0
-5
0
2
0
0
0
0
0
0
0
9
5
-61
111
19
-42
-72
1
31
-16
0
0
0
0
0
0
0
5
57
-19
-22
-8
60
-27
-6
-31
-13
0
0
0
0
0
0
0
2
25
-74
-93
22
7
-5
7
6
0
0
0
0
0
0
0
0
15
22
-41
-23
-77
58
12
0
-5
0
0
0
0
0
0
0
0
0
25
42
2
-7
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
2
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
1
89
46
63
-4
24
2
0
-1
-2
-1
0
0
0
0
0
1
-13
22
75
-7
99
12
0
3
0
-10
-1
0
0
0
0
0
-27
58
14
58
-13
33
-1
-10
-28
-17
-4
1
0
0
0
0
0
-8
21
29
5
38
-37
103
35
14
-2
5
1
0
0
0
0
0
47
-56
8
25
85
-7
6
-9
18
0
1
0
0
0
0
0
0
0
13
-16
31
7
5
0
-5
-15
0
0
0
0
0
0
0
0
0
0
-1
6
-3
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
60
-52
49
24
82
-17
5
0
-1
0
1
0
0
0
0
0
-16
109
82
-19
17
-40
-49
0
21
0
4
0
0
0
0
0
0
66
47
-5
-1
31
61
49
-7
-34
23
6
-2
0
0
0
0
0
99
-18
-31
58
21
29
-10
18
-64
-2
0
-8
0
0
0
0
0
-5
-48
6
-17
52
-11
-6
-37
-42
8
0
0
0
0
0
0
0
0
-66
-85
10
22
-13
-58
5
-2
3
5
0
0
0
0
0
0
0
2
-52
22
-30
-14
-19
1
9
0
0
0
0
0
0
0
0
0
-2
0
-4
-10
1
-3
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
3
-22
-55
50
43
-29
0
0
0
4
0
0
0
0
0
0
54
33
41
-51
-16
-26
64
0
0
0
4
1
0
0
0
0
0
-2
-31
52
54
-66
6
-5
-25
-3
92
27
-2
-1
0
0
0
0
-71
30
-19
58
-68
11
19
64
-46
-6
1
1
0
0
0
0
0
-3
-12
3
-8
84
1
12
-66
17
5
0
-7
0
0
0
0
0
0
-88
-84
-41
37
-5
-15
45
-4
-8
-4
0
0
0
0
0
0
-18
5
135
-27
13
6
-45
6
-27
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
30
10
65
-31
-23
75
0
0
-9
-2
0
0
0
0
0
0
-22
7
33
31
40
-13
-79
0
4
0
-5
-2
0
0
0
0
0
-1
134
17
1
8
8
30
46
51
20
0
10
0
0
0
0
0
23
29
72
17
-30
-56
92
-47
-19
25
1
0
0
0
0
0
0
-20
31
56
-17
-79
-98
-22
-2
-65
29
3
0
0
0
0
0
0
0
61
34
6
20
-38
62
-18
-41
-6
5
0
0
0
0
0
0
0
-47
-2
82
88
44
15
-1
12
-45
0
0
0
0
0
0
0
0
2
14
77
-15
0
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
6
0
0
0
0
0
0
0
0
-31
16
25
-44
-46
-5
-75
0
0
0
17
0
0
0
0
0
0
-29
22
-6
8
46
14
-5
0
-24
0
-30
0
0
0
0
0
0
-73
-38
-15
-47
5
13
-42
7
-10
21
-49
0
0
0
0
0
0
-75
32
36
-17
-39
-44
-33
62
-46
-44
-8
0
0
0
0
0
0
-6
59
63
5
-51
19
22
41
-16
-45
1
0
0
0
0
0
0
26
-11
40
-40
102
14
11
17
11
-36
0
0
0
0
0
0
0
-3
6
-74
58
-25
10
60
1
32
-25
0
0
0
0
0
0
0
0
13
-8
9
-2
53
-1
0
-1
0
0
0
0
0
0
0
0
0
24
7
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-38
74
24
114
-65
-114
147
5
0
54
0
-4
0
0
0
0
0
20
30
40
-62
-35
67
-29
0
-31
0
1
0
0
0
0
0
0
93
56
-24
-40
-67
-4
77
42
20
30
-30
-5
0
0
0
0
0
-60
45
13
51
-23
-23
71
-20
-27
-69
1
0
0
0
0
0
0
86
66
25
53
3
10
-73
18
43
-24
-1
0
0
0
0
0
0
2
-90
51
-6
41
-35
-104
-16
51
-50
2
0
0
0
0
0
0
1
8
14
-30
-83
32
-19
-66
-26
4
0
0
0
0
0
0
0
0
-103
45
-69
85
-11
2
6
1
-1
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
18
15
-15
-38
5
0
1
31
0
0
0
0
0
0
0
46
-14
22
-118
42
76
0
25
0
-76
-8
0
0
0
0
0
0
103
-8
44
-39
-31
74
-148
29
-138
31
0
0
0
0
0
0
0
-56
-42
28
-36
-46
-104
-43
-96
-78
-7
-1
0
0
0
0
0
0
54
-125
7
26
-3
25
57
20
41
25
0
0
0
0
0
0
0
-7
-48
51
-73
-42
39
56
-38
-40
-24
0
0
0
0
0
0
0
42
-19
34
39
-27
50
-13
-15
-6
0
0
0
0
0
0
0
0
0
-18
23
23
18
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
18
92
-110
-50
7
8
0
2
0
4
0
0
0
0
0
0
0
47
19
73
-15
-27
0
-3
0
-4
-14
0
0
0
0
0
0
0
35
34
-15
-12
-5
45
-5
35
0
-12
0
0
0
0
0
0
0
-9
45
2
-46
75
-49
-1
-68
-2
24
0
0
0
0
0
0
0
17
33
62
20
61
-35
0
-16
0
-4
0
0
0
0
0
0
0
3
157
52
-29
21
-31
3
0
0
4
0
0
0
0
0
0
0
0
-7
5
-2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-10
9
0
0
6
0
0
0
0
0
0
0
0
0
-1
33
4
30
0
2
0
-27
0
0
0
0
0
0
0
0
0
0
8
8
-23
8
5
-10
0
-1
0
0
0
0
0
0
0
0
0
8
-2
-5
35
8
-3
0
0
-1
0
0
0
0
0
0
0
0
8
10
-5
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
52
0
35
-1
0
0
0
0
0
0
0
0
0
0
0
18
74
-3
74
2
3
-1
0
2
0
0
0
0
0
0
0
0
-26
0
0
5
42
-50
13
3
-44
0
0
0
0
0
0
0
0
0
-30
-17
75
33
4
3
-2
48
0
0
0
0
0
0
0
0
-3
-1
-50
-7
72
8
-1
0
35
0
0
0
0
0
0
0
0
-2
10
5
-2
25
24
1
0
1
0
0
0
0
0
0
0
0
0
0
33
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
7
0
-13
0
0
0
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
-23
-50
-16
72
-68
2
0
1
0
0
0
0
0
0
0
-3
51
14
-51
-15
13
-17
0
5
0
0
0
0
0
0
0
0
-1
24
-12
-36
-7
-26
31
-8
113
-82
0
0
0
0
0
0
0
0
18
-77
49
7
80
-63
4
-50
36
0
0
0
0
0
0
0
0
-34
20
-44
-74
59
102
51
-9
152
0
0
0
0
0
0
0
0
-60
-69
-2
-60
-23
-189
-25
8
22
0
0
0
0
0
0
0
0
3
8
50
-24
84
-1
13
13
4
0
0
0
0
0
0
0
0
0
4
-3
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
49
42
-8
70
15
1
1
0
-2
0
0
0
0
0
0
0
0
62
43
97
-125
27
-48
0
0
0
-12
0
0
0
0
0
0
0
12
4
8
16
-2
-109
-31
-54
43
-16
0
0
0
0
0
0
0
29
20
-59
9
-25
-2
-19
-24
31
0
0
0
0
0
0
0
0
0
-5
3
50
-80
35
24
18
-5
2
0
0
0
0
0
0
0
-1
3
-3
-49
-60
-20
3
-1
13
-1
0
0
0
0
0
0
0
7
-10
-15
126
-1
2
0
0
-6
0
0
0
0
0
0
0
0
0
4
-20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
85
-176
-35
4
3
0
0
0
0
0
0
0
0
0
0
2
-5
8
41
-11
-52
-10
0
4
0
-21
-7
0
0
0
0
0
32
79
-65
-47
34
-19
17
16
-5
14
-12
1
0
0
0
0
0
-35
0
9
27
26
60
41
8
33
-16
0
1
0
0
0
0
0
1
105
6
20
75
-10
55
59
-20
2
-2
0
0
0
0
0
0
0
8
-10
-32
62
-3
48
9
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-10
3
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-18
91
28
69
58
56
-3
0
0
0
0
0
0
0
0
0
8
83
43
-21
-116
52
-86
0
16
0
0
0
0
0
0
0
0
14
-18
-15
-7
-114
47
-11
-12
23
30
-2
-7
0
0
0
0
0
-6
1
41
28
51
-68
-49
-76
6
-14
0
-2
0
0
0
0
0
10
-76
-31
-49
-31
-40
11
56
53
29
0
-1
0
0
0
0
0
2
-76
-7
-33
-14
-11
1
42
51
27
0
0
0
0
0
0
0
3
0
-2
-7
-72
0
61
-1
-1
-6
0
0
0
0
0
0
0
0
-1
3
21
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-49
4
-64
49
-5
-7
0
-2
0
0
0
0
0
0
0
50
10
-75
-34
92
26
-35
0
23
0
-8
-4
0
0
0
0
0
21
1
-21
76
58
-31
-26
-55
12
-59
-2
0
0
0
0
0
0
112
77
42
-5
47
27
30
-18
7
4
-1
0
0
0
0
0
0
90
32
-26
165
-5
33
-28
-90
10
68
0
0
0
0
0
0
0
3
-60
-22
6
-5
66
118
-15
-27
-29
0
0
0
0
0
0
0
2
-5
46
56
35
5
22
-5
5
0
0
0
0
0
0
0
0
0
1
-41
-6
-8
13
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-23
29
28
-38
13
44
5
0
-4
1
0
0
0
0
0
0
7
43
8
-6
-28
-110
80
0
-60
0
-21
0
0
0
0
0
0
48
8
28
14
65
82
-56
75
14
41
13
8
0
0
0
0
0
5
-73
37
-38
5
34
-58
31
-31
139
0
0
0
0
0
0
0
1
30
-32
15
-19
24
113
16
-28
19
0
0
0
0
0
0
0
4
83
-91
83
22
105
-31
-134
28
-11
0
0
0
0
0
0
0
0
-3
-26
49
47
-63
-24
-30
-102
-3
0
0
0
0
0
0
0
0
-9
3
-34
2
42
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
70
33
57
65
-81
89
44
16
0
-1
8
0
0
0
0
0
0
-27
52
121
-52
-22
-5
11
0
97
0
-13
0
0
0
0
0
0
12
67
47
-8
12
59
20
40
77
83
55
-4
0
0
0
0
0
-7
21
-33
-2
0
133
-13
-40
-52
4
0
0
0
0
0
0
0
52
-37
44
31
-47
58
76
2
-68
50
2
0
0
0
0
0
0
-31
23
78
-7
34
-7
-27
-3
-68
-9
0
0
0
0
0
0
0
7
58
-56
31
23
30
29
6
-51
-13
0
0
0
0
0
0
0
0
-46
5
23
108
-47
7
-1
-24
-9
0
0
0
0
0
0
0
0
-17
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
37
17
14
-52
87
13
-33
16
0
0
1
0
0
0
0
0
0
15
-12
70
1
39
18
-14
0
13
0
-12
0
0
0
0
0
0
-67
30
4
11
31
-61
-12
-23
-64
-99
25
-3
0
0
0
0
0
19
-23
8
23
-16
5
25
16
-37
41
0
0
0
0
0
0
0
-7
-29
-41
-8
4
27
-55
42
13
-12
6
0
0
0
0
0
0
-1
58
1
10
-24
6
-102
-13
13
-42
0
0
0
0
0
0
0
1
9
-84
-8
37
4
-14
-21
-22
58
0
0
0
0
0
0
0
0
-24
15
-21
-53
19
24
4
0
0
0
0
0
0
0
0
0
0
0
-7
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-40
10
-20
-113
119
103
0
-5
15
0
0
0
0
0
0
0
20
-5
69
-47
47
-26
0
2
0
35
0
0
0
0
0
0
0
-18
5
23
39
-40
55
-31
-3
16
36
-4
0
0
0
0
0
0
-13
39
-50
-28
-35
75
-26
62
-5
50
0
0
0
0
0
0
0
49
36
2
-51
6
13
155
-35
-48
5
0
0
0
0
0
0
0
76
-59
-4
52
40
126
11
60
-22
-23
0
0
0
0
0
0
0
13
-2
-45
-23
-8
-88
67
30
-13
0
0
0
0
0
0
0
0
3
-109
1
66
19
5
1
-5
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
21
87
49
27
0
4
2
2
0
0
0
0
0
0
0
42
53
15
107
20
0
0
0
12
-18
0
0
0
0
0
0
0
-19
7
10
-18
-52
-22
-3
8
-4
-21
0
0
0
0
0
0
0
16
25
-5
5
72
34
-2
13
0
-7
0
0
0
0
0
0
0
5
16
23
-20
111
58
-6
24
1
-1
0
0
0
0
0
0
0
-22
-13
-9
-85
-25
60
1
2
4
0
0
0
0
0
0
0
0
0
1
-8
-30
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
4
19
0
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
-8
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
3
24
0
-5
0
0
3
-5
0
0
0
0
0
0
0
0
-8
15
-13
-12
2
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
1
-2
0
3
0
4
0
0
0
0
0
0
0
0
0
-42
-2
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
21
70
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
7
-18
-109
-43
6
-13
0
0
0
0
0
0
0
0
0
0
16
11
-16
53
15
-1
-1
-4
0
0
0
0
0
0
0
0
0
25
-3
5
40
-45
-1
5
0
-16
0
0
0
0
0
0
0
0
0
51
39
-41
-93
24
2
1
-9
0
0
0
0
0
0
0
0
-1
0
-46
52
3
13
-1
0
0
0
0
0
0
0
0
0
0
0
2
3
16
8
-13
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-76
33
-47
30
34
0
0
25
0
0
0
0
0
0
0
-2
133
68
61
7
11
-1
0
4
0
0
0
0
0
0
0
0
0
-52
-45
24
-15
67
38
10
17
129
0
0
0
0
0
0
0
1
-3
3
-30
-52
-3
-109
98
-16
21
0
0
0
0
0
0
0
1
0
25
-85
-2
22
-78
-42
-53
24
0
0
0
0
0
0
0
0
-13
39
50
-65
-65
-44
41
-20
30
0
0
0
0
0
0
0
0
-3
-90
-44
58
-17
-15
17
10
-8
0
0
0
0
0
0
0
0
1
-40
133
5
22
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
102
44
-51
35
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
55
42
53
9
0
-1
0
-8
0
0
0
0
0
0
0
10
-49
34
-25
-53
-24
-2
37
76
-4
0
0
0
0
0
0
0
-2
87
-19
-38
-8
4
-43
-2
7
0
0
0
0
0
0
0
0
16
0
-14
-57
85
42
116
5
-4
-1
0
0
0
0
0
0
0
0
-36
6
0
38
5
1
-10
23
2
0
0
0
0
0
0
0
0
-22
87
1
35
-1
16
8
-9
0
0
0
0
0
0
0
0
6
1
49
8
-6
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
17
-22
26
86
64
3
0
0
0
-2
0
0
0
0
0
0
-45
-13
0
-20
-89
3
-6
0
0
0
-10
0
0
0
0
0
0
22
42
-42
24
65
-94
20
10
-49
-7
1
-1
0
0
0
0
0
-11
-49
14
66
29
-21
1
-32
-81
-6
0
0
0
0
0
0
0
0
84
38
0
76
46
21
-5
13
0
0
0
0
0
0
0
0
0
88
1
40
4
-2
3
33
6
-1
0
0
0
0
0
0
0
-1
0
-12
0
-14
0
3
0
0
0
0
0
0
0
0
0
0
0
20
0
0
12
0
0
1
0
0
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
60
25
27
65
-9
5
-2
0
0
-1
0
0
0
0
0
0
70
16
41
-34
47
-29
15
0
5
0
5
-1
0
0
0
0
0
-1
37
-3
11
13
46
-42
-6
61
51
0
-3
0
0
0
0
0
0
2
65
-21
70
85
-57
44
23
42
0
0
0
0
0
0
0
64
1
52
19
0
36
-4
-46
19
-31
0
0
0
0
0
0
0
-2
11
-42
-144
-5
-13
-21
21
-45
22
0
0
0
0
0
0
0
7
14
-23
15
-47
-51
-6
-8
7
1
0
0
0
0
0
0
0
0
0
0
37
9
10
0
0
0
-1
0
0
0
0
0
0
0
0
2
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
72
77
61
95
9
26
77
0
0
0
0
0
0
0
0
0
0
19
106
88
-15
99
9
-94
0
-66
0
-4
0
0
0
0
0
0
3
52
-50
1
76
-51
-41
-97
50
-129
5
0
0
0
0
0
0
112
18
0
74
-20
23
131
-20
82
-9
0
0
0
0
0
0
0
-28
22
44
5
35
0
98
-13
13
0
2
0
0
0
0
0
0
-5
46
1
30
-98
82
-59
42
46
0
0
0
0
0
0
0
0
-3
-3
-12
-13
1
53
-18
-45
17
0
0
0
0
0
0
0
0
0
-115
0
24
2
-1
0
4
0
0
0
0
0
0
0
0
0
-2
0
-12
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-55
-31
-26
-106
55
-53
-5
0
-5
1
0
0
0
0
0
0
65
29
75
-27
-24
-4
3
0
6
0
2
0
0
0
0
0
0
63
59
45
21
-3
-4
-50
0
35
-3
-1
0
0
0
0
0
0
23
7
28
-38
57
91
-64
38
73
-22
6
0
0
0
0
0
0
64
79
21
20
-26
76
0
15
9
8
0
0
0
0
0
0
0
-16
14
22
-2
20
27
-40
30
-47
61
0
0
0
0
0
0
0
-2
-2
14
-54
5
7
-31
-107
-84
1
0
0
0
0
0
0
0
0
-15
-34
1
5
-9
0
0
-7
0
0
0
0
0
0
0
0
0
-2
-9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
56
-68
50
68
84
-13
78
1
0
0
-9
0
0
0
0
0
0
-20
67
64
43
-2
50
90
0
96
0
-5
0
0
0
0
0
0
1
22
48
8
-67
18
155
-42
20
-69
-31
-2
0
0
0
0
0
18
-15
33
12
49
67
179
-70
78
22
-34
-2
0
0
0
0
0
49
1
102
15
90
-50
32
0
-109
-3
0
0
0
0
0
0
0
-55
24
57
-9
-12
-70
12
9
-3
-21
0
0
0
0
0
0
0
-39
-17
-40
3
11
-23
-73
0
-68
-3
0
0
0
0
0
0
0
0
-65
-13
-6
-6
10
0
0
2
-6
0
0
0
0
0
0
0
0
0
16
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
-16
91
4
-38
-67
-41
-66
28
0
-2
-4
0
0
0
0
0
0
60
-12
48
7
-29
16
22
0
-2
0
43
-6
0
0
0
0
0
-10
33
9
-6
-25
16
122
82
-84
-22
-1
-3
0
0
0
0
0
-42
-52
9
6
-24
25
-27
-39
-43
49
13
5
0
0
0
0
0
66
62
-11
84
30
96
74
73
0
75
-4
0
0
0
0
0
0
5
-17
-32
-95
4
-34
51
3
-38
-42
0
0
0
0
0
0
0
3
-45
66
-159
-25
50
53
-6
-1
-10
0
0
0
0
0
0
0
0
20
41
-74
1
20
9
-5
-1
12
0
0
0
0
0
0
0
0
0
-24
0
4
11
0
0
0
0
0
0
0
0
0
0
0
0
-85
-22
5
-69
-62
1
0
0
0
39
4
0
0
0
0
0
0
-16
-9
54
-23
-19
-21
0
30
0
99
5
0
0
0
0
0
0
39
22
40
13
-28
83
-11
98
-43
-1
-1
0
0
0
0
0
0
-28
47
1
5
-31
-9
-1
46
109
9
-8
0
0
0
0
0
0
27
-3
86
-40
53
7
-11
101
0
14
0
0
0
0
0
0
0
23
-75
-90
19
1
75
-83
20
27
-6
0
0
0
0
0
0
0
66
-5
4
-24
20
23
-54
109
1
2
0
0
0
0
0
0
0
0
-6
-10
15
44
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
41
24
-20
7
0
1
3
-7
0
0
0
0
0
0
0
-35
-31
37
13
-10
0
3
0
-13
0
0
0
0
0
0
0
0
3
17
81
83
-28
49
44
8
0
-21
0
0
0
0
0
0
0
-23
31
108
27
24
-6
-52
16
-27
-1
0
0
0
0
0
0
0
0
57
-10
-34
-13
2
0
-1
0
-3
0
0
0
0
0
0
0
-13
13
68
-7
30
-1
8
2
0
0
0
0
0
0
0
0
0
0
-8
11
-25
0
-7
7
0
0
0
0
0
0
0
0
0
0
0
8
5
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-25
2
0
0
-5
0
0
0
0
0
0
0
0
0
-2
-25
-3
-8
0
0
0
-8
1
1
0
0
0
0
0
0
0
0
3
12
-8
-8
-2
1
0
1
-2
0
0
0
0
0
0
0
0
-9
-20
7
-8
-1
5
0
0
-2
0
0
0
0
0
0
0
0
1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
3
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
33
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
81
-3
-16
0
-3
0
0
5
0
0
0
0
0
0
0
0
-8
-5
-71
12
-25
20
-1
0
1
0
0
0
0
0
0
0
0
-5
-51
-8
-33
49
-67
2
0
-24
0
0
0
0
0
0
0
0
54
0
-37
-42
5
-10
1
0
-5
0
0
0
0
0
0
0
0
0
110
2
-4
22
-91
-10
4
-4
0
0
0
0
0
0
0
0
0
0
130
32
4
-4
0
0
8
0
0
0
0
0
0
0
0
0
1
0
30
6
-21
0
-2
-1
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
27
72
-13
32
0
0
-8
0
0
0
0
0
0
0
0
0
2
-8
-13
-40
67
-20
-33
0
-1
0
0
0
0
0
0
0
0
0
50
-126
-76
19
-50
13
-10
-12
-3
0
0
0
0
0
0
0
0
52
28
-10
-155
54
52
-56
-12
-1
0
0
0
0
0
0
0
0
14
5
-140
1
23
32
15
-20
-17
0
0
0
0
0
0
0
-6
0
67
-14
33
-46
96
4
1
-28
0
0
0
0
0
0
0
0
-5
8
-16
148
74
-25
-8
2
0
0
0
0
0
0
0
0
0
-1
3
35
19
4
-2
0
0
2
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
22
-78
5
-72
-1
0
0
0
0
0
0
0
0
0
0
0
75
-21
12
123
-28
-37
0
0
0
14
0
0
0
0
0
0
0
50
84
-6
-24
1
18
7
75
28
41
0
0
0
0
0
0
0
-5
-10
-43
-32
5
-139
-41
-4
-60
-22
0
0
0
0
0
0
0
1
-11
0
30
-14
61
47
-37
37
0
0
0
0
0
0
0
0
-2
0
91
48
29
22
-2
2
32
-4
0
0
0
0
0
0
0
-1
46
0
59
49
-3
-16
0
21
0
0
0
0
0
0
0
0
0
0
33
0
-63
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-10
-31
-22
-1
4
2
0
-2
-6
0
0
0
0
0
0
4
-148
-13
22
67
-88
25
0
5
0
-41
0
0
0
0
0
0
-1
63
15
-32
57
5
2
19
49
23
-27
1
0
0
0
0
0
4
14
82
35
27
-72
-70
39
24
-1
2
0
0
0
0
0
0
41
-44
-7
-25
46
169
25
-20
-59
-4
0
0
0
0
0
0
0
0
-13
-18
0
23
17
12
1
0
0
0
6
0
0
0
0
0
-1
13
0
-3
0
-2
-21
3
1
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
67
-77
-42
-22
41
87
2
0
0
0
0
0
0
0
0
0
-2
3
28
43
19
28
-77
0
-2
0
0
-1
0
0
0
0
0
-18
-43
-45
25
37
9
46
72
-24
1
0
-1
0
0
0
0
0
8
22
-94
9
35
-24
-60
-110
19
-12
0
2
0
0
0
0
0
56
-4
-6
-15
88
59
-77
-1
5
-119
-3
0
0
0
0
0
0
0
12
30
-46
0
-95
16
0
0
-2
0
0
0
0
0
0
0
1
99
49
-3
-65
1
-5
-37
10
1
0
0
0
0
0
0
0
0
4
0
8
2
-16
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-60
25
-34
37
24
-49
-14
0
-2
0
0
0
0
0
0
0
21
-2
27
25
34
14
30
0
22
0
1
0
0
0
0
0
0
99
60
-115
76
52
65
-56
10
3
-60
3
0
0
0
0
0
0
47
41
10
-43
18
-11
-7
12
38
-1
-4
0
0
0
0
0
0
49
52
-5
52
77
48
-20
-74
34
-102
15
0
0
0
0
0
0
1
43
37
-18
2
0
5
3
2
5
3
0
0
0
0
0
0
21
87
55
80
-46
-6
-5
-1
-1
-2
0
0
0
0
0
0
0
0
-72
20
-27
-5
13
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
44
66
-58
-26
-17
-12
-20
0
0
3
0
0
0
0
0
0
29
26
18
22
-38
90
94
0
5
0
0
0
0
0
0
0
0
13
57
24
-57
-11
-50
7
-74
89
-74
0
3
0
0
0
0
0
-16
89
64
33
26
-31
-45
8
-12
8
1
3
0
0
0
0
0
58
11
-48
-14
-29
80
-44
-7
45
-80
0
0
0
0
0
0
0
0
-28
49
-80
-12
84
0
-2
25
-3
2
0
0
0
0
0
0
2
-18
-57
-3
43
0
41
-77
92
-15
0
0
0
0
0
0
0
0
-16
27
74
-2
50
-2
-5
-1
9
0
0
0
0
0
0
0
0
0
14
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-32
-41
87
-20
44
-13
14
-16
0
-12
1
0
0
0
0
0
0
120
65
39
-27
0
7
-36
0
46
0
6
-2
0
0
0
0
0
25
2
32
2
6
22
7
114
53
96
53
-2
0
0
0
0
0
-26
20
23
-4
70
24
46
8
35
-147
8
0
0
0
0
0
0
-28
74
67
9
31
66
134
91
13
72
32
0
0
0
0
0
0
20
33
51
57
-49
105
-44
0
-12
1
0
0
0
0
0
0
0
-32
-5
10
29
-19
33
48
8
-42
-9
0
0
0
0
0
0
0
0
-95
41
-57
24
-17
-21
2
-3
-4
0
0
0
0
0
0
0
0
0
42
51
0
0
0
0
0
0
0
0
0
0
0
0
0
71
66
-22
-36
15
-36
66
10
0
25
8
0
0
0
0
0
0
-7
-27
-72
20
13
-39
-23
0
-68
0
-13
-1
0
0
0
0
0
36
14
19
-56
-16
0
19
-23
116
15
-1
4
0
0
0
0
0
-43
37
34
-64
9
17
-97
1
39
-58
-14
0
0
0
0
0
0
38
0
25
50
-10
47
-22
29
86
37
-10
0
0
0
0
0
0
-16
-33
11
85
42
130
51
-30
0
-53
0
0
0
0
0
0
0
-9
19
54
-59
-4
69
-35
-49
2
-4
0
0
0
0
0
0
0
0
51
-27
-54
-81
-10
20
1
0
-43
0
0
0
0
0
0
0
0
29
-8
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-56
-12
16
23
11
28
0
1
82
0
0
0
0
0
0
0
15
42
3
69
11
-17
0
3
0
37
0
0
0
0
0
0
0
43
9
-41
54
139
-4
-31
-4
123
6
-1
0
0
0
0
0
0
13
5
-24
-29
46
-23
71
21
-14
24
0
0
0
0
0
0
0
-3
30
-7
-55
120
-22
-43
-83
89
25
0
0
0
0
0
0
0
-26
93
-36
-17
39
56
26
9
0
-7
0
0
0
0
0
0
0
-10
93
-30
-40
31
23
13
-25
-2
0
0
0
0
0
0
0
0
0
-16
-4
46
47
-4
0
-39
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
-51
41
-25
-15
0
5
13
0
0
0
0
0
0
0
0
-6
42
2
-2
25
0
5
0
-8
-29
0
0
0
0
0
0
0
-38
60
-39
28
19
-30
-24
-2
8
-29
0
0
0
0
0
0
0
15
-33
-21
2
-118
27
27
-48
1
-34
0
0
0
0
0
0
0
5
108
9
30
58
4
38
1
-4
-14
0
0
0
0
0
0
0
-30
5
105
28
-43
-14
0
2
0
1
0
0
0
0
0
0
0
0
-9
1
62
7
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-3
-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
3
0
-1
0
5
0
-1
2
0
-1
0
0
0
0
0
0
0
0
13
-9
13
0
-1
0
25
3
0
0
0
0
0
0
0
0
0
0
12
13
-6
46
-13
-6
-14
-4
0
0
0
0
0
0
0
0
-13
-12
-7
12
2
-6
1
0
0
0
0
0
0
0
0
0
0
0
2
5
1
2
-2
0
0
1
0
0
0
0
0
0
0
2
0
1
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-33
16
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
3
7
2
0
-8
15
0
0
0
0
0
0
0
0
-4
-2
0
-31
-55
23
2
4
5
0
0
0
0
0
0
0
0
12
0
-50
-3
-3
-26
-13
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
43
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
-5
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
2
-6
8
-8
0
0
0
0
0
0
0
0
0
0
4
1
-10
72
33
131
3
0
0
0
0
0
0
0
0
0
0
0
20
18
5
-141
7
8
0
-10
58
0
0
0
0
0
0
0
0
-6
17
-3
0
-58
111
-18
-5
14
0
0
0
0
0
0
0
5
20
3
-4
38
-42
69
75
3
27
0
0
0
0
0
0
0
0
-19
0
-37
52
-15
87
0
-5
-13
0
0
0
0
0
0
0
7
0
30
5
24
1
30
3
3
0
0
0
0
0
0
0
0
0
8
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
-30
119
1
-8
0
0
0
0
0
0
0
0
0
0
0
-47
52
42
89
98
4
0
2
0
-1
0
0
0
0
0
0
0
-27
119
74
-66
24
13
0
9
13
24
0
0
0
0
0
0
0
-33
-52
62
-56
-16
-78
13
-1
-1
-4
0
0
0
0
0
0
0
-3
35
51
-81
5
25
57
0
10
1
0
0
0
0
0
0
0
0
98
0
-62
10
-44
46
0
8
0
0
0
0
0
0
0
0
23
0
5
32
10
80
-7
4
0
0
0
0
0
0
0
0
0
0
10
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
-14
-4
1
-1
0
0
0
0
0
0
0
0
0
-12
34
3
51
-5
20
10
0
0
0
-8
0
0
0
0
0
0
-5
-1
102
2
-34
-4
-2
1
-5
0
7
0
0
0
0
0
0
0
-1
-14
26
3
10
-28
-4
-12
-1
0
0
0
0
0
0
0
-2
0
46
-20
-14
5
-20
31
-7
8
0
0
0
0
0
0
0
-2
19
0
0
0
-103
13
31
-5
1
0
0
0
0
0
0
0
2
8
40
0
-10
3
-25
-1
0
0
0
0
0
0
0
0
0
0
13
1
1
0
-6
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
1
73
3
6
1
1
0
0
0
0
0
0
0
0
0
0
0
-7
3
113
-88
15
-13
0
4
0
0
0
0
0
0
0
0
0
4
-6
26
-5
-25
79
0
-41
61
0
0
0
0
0
0
0
2
80
-31
-84
7
-95
0
-5
-22
9
0
0
0
0
0
0
0
-30
-52
34
13
-66
-31
-49
-55
78
-32
0
0
0
0
0
0
0
-3
27
-36
-19
13
49
-8
-5
-54
-97
0
0
0
0
0
0
0
0
17
-4
13
0
-5
-1
-7
-3
-3
0
0
0
0
0
0
0
0
-2
-7
-4
1
-6
0
13
0
0
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
3
-69
-21
45
20
8
4
0
0
0
0
0
0
0
0
0
10
35
-42
-96
11
13
2
0
0
0
0
0
0
0
0
0
0
38
30
-30
84
83
2
33
15
-39
-40
-5
0
0
0
0
0
0
-30
-15
-22
-27
-76
81
-13
5
-97
-17
0
0
0
0
0
0
0
16
5
-10
-92
-84
46
-23
-56
-48
59
-1
0
0
0
0
0
0
-17
-67
28
-81
-17
-23
36
5
43
-59
-8
0
0
0
0
0
0
-32
0
-60
51
-34
0
0
-2
0
0
0
0
0
0
0
0
0
0
29
33
-121
0
4
9
1
0
-5
0
0
0
0
0
0
0
-1
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-38
-69
59
-25
22
-37
12
0
0
0
0
0
0
0
0
0
-2
-23
75
13
70
31
90
0
-18
0
0
2
0
0
0
0
0
-6
-42
-25
39
17
10
-34
-86
18
-45
0
6
0
0
0
0
0
21
-31
-33
108
-4
-9
-14
-41
110
-55
0
0
0
0
0
0
0
-60
-29
-8
28
48
-7
104
0
-34
7
0
0
0
0
0
0
0
5
44
55
-38
-78
-1
78
40
46
-14
-2
0
0
0
0
0
0
0
21
20
56
-14
62
0
0
2
0
0
0
0
0
0
0
0
0
-7
54
-29
-49
-20
1
-3
4
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
42
58
23
29
7
28
5
0
0
1
0
0
0
0
0
0
48
-41
-33
-37
112
-48
-22
0
20
0
7
0
0
0
0
0
0
22
60
20
61
17
42
-8
-44
66
-98
39
-1
0
0
0
0
0
25
11
25
-41
84
29
58
25
31
5
-6
0
0
0
0
0
0
-60
-9
17
24
-82
33
85
-29
7
-42
24
0
0
0
0
0
0
-9
-7
-13
35
-45
97
49
5
-11
58
0
0
0
0
0
0
0
5
21
-31
13
64
29
-12
0
-29
0
0
0
0
0
0
0
0
0
22
50
-2
16
29
9
0
0
-5
0
0
0
0
0
0
0
0
5
13
3
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-74
54
79
-61
83
-29
4
0
1
-3
0
0
0
0
0
0
-2
-68
28
-36
-67
-30
35
0
-42
0
24
0
0
0
0
0
0
44
-19
5
64
2
-4
57
11
0
-7
-14
-1
0
0
0
0
0
-5
93
116
0
-15
-31
-63
69
-34
-13
-2
-1
0
0
0
0
0
-29
9
-11
5
15
-46
11
15
15
-15
29
0
0
0
0
0
0
8
-16
73
25
-8
-14
-7
-99
6
-2
1
0
0
0
0
0
0
0
-5
-106
27
-41
62
21
35
0
0
0
0
0
0
0
0
0
0
-20
-24
19
-1
-52
18
21
2
-68
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-48
91
-29
-16
141
-3
0
1
-14
-1
0
0
0
0
0
0
41
82
-1
-21
-8
12
0
24
0
72
3
0
0
0
0
0
0
-18
14
70
70
-23
17
62
41
76
29
0
0
0
0
0
0
0
70
36
-48
53
39
25
31
117
46
30
-1
0
0
0
0
0
0
-50
61
5
-58
-46
-16
-27
-11
1
5
0
0
0
0
0
0
0
27
61
38
54
36
-40
-10
2
83
-111
0
0
0
0
0
0
0
-9
51
4
49
-60
-3
29
59
0
-4
0
0
0
0
0
0
0
0
33
-32
-13
132
35
-10
6
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-18
0
-5
0
-3
-19
-3
0
0
0
0
0
0
0
4
9
-7
-74
-6
0
-6
0
6
-8
0
0
0
0
0
0
0
0
43
-10
10
-30
14
-6
-4
0
59
0
0
0
0
0
0
0
-5
69
-33
19
28
37
-8
5
7
41
0
0
0
0
0
0
0
0
32
-84
-4
41
15
-9
49
0
15
0
0
0
0
0
0
0
5
-13
-12
25
3
-16
-17
6
0
-8
0
0
0
0
0
0
0
-10
-13
-11
38
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
35
17
-7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
-3
2
3
1
5
4
-7
0
0
0
0
0
0
0
0
0
1
31
9
19
7
2
3
3
0
0
0
0
0
0
0
0
0
-1
-19
-19
28
-7
-3
7
0
0
0
0
0
0
0
0
0
0
0
1
-13
-8
4
-13
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
-3
-1
0
0
-3
0
0
0
0
0
0
0
0
0
-25
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-3
0
-52
-7
24
-3
-1
0
-2
0
0
0
0
0
0
0
0
-3
13
0
-23
0
27
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
10
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
23
5
2
0
0
0
0
0
0
0
0
0
0
0
8
0
80
-13
4
0
-1
0
0
-15
0
0
0
0
0
0
0
0
77
-12
9
-32
-4
-19
0
-6
-1
0
0
0
0
0
0
0
-13
0
25
74
-25
-21
1
-27
0
0
0
0
0
0
0
0
0
0
10
-7
0
-42
7
9
3
-8
0
0
0
0
0
0
0
0
0
0
8
-6
22
-3
12
-5
0
0
0
0
0
0
0
0
0
0
0
3
-28
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
103
12
13
-6
0
3
0
0
0
0
0
0
0
0
-1
0
-13
33
41
-10
8
0
0
18
0
0
0
0
0
0
0
0
0
-1
35
-2
33
7
0
0
6
0
0
0
0
0
0
0
0
0
-5
-29
18
27
27
0
3
-24
0
0
0
0
0
0
0
0
0
0
-35
3
17
1
0
0
8
0
0
0
0
0
0
0
0
0
1
0
6
0
5
2
0
0
0
0
0
0
0
0
0
0
-4
0
13
8
-4
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-6
-40
12
0
1
0
0
0
0
0
0
0
0
0
0
-74
6
-7
0
-73
0
0
-7
0
0
0
0
0
0
0
0
5
-16
14
-3
-44
-6
1
-14
-3
0
0
0
0
0
0
0
0
0
13
-6
-116
0
-9
-2
-19
-13
0
-3
0
0
0
0
0
0
0
0
2
-1
10
0
0
0
-21
0
0
0
0
0
0
0
0
0
54
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-2
101
-1
-21
0
0
0
0
0
0
0
0
0
0
0
0
2
14
35
30
4
-4
0
0
4
0
0
0
0
0
0
0
0
43
-8
8
-45
40
5
0
-42
-8
0
0
0
0
0
0
0
-27
-1
43
-41
-48
-36
-57
-2
0
-1
0
0
0
0
0
0
0
0
25
0
31
42
-84
31
0
-4
-13
0
0
0
0
0
0
0
-4
-1
-33
0
13
1
4
5
0
0
0
0
0
0
0
0
0
0
2
-18
17
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
35
-49
18
-5
-1
0
0
0
0
0
0
0
0
0
0
66
0
34
32
35
-31
0
0
0
0
0
0
0
0
0
0
-17
0
80
8
59
-5
4
0
10
-59
2
0
0
0
0
0
0
-1
-11
-10
30
23
-62
-18
-3
-12
-7
-12
0
0
0
0
0
0
19
-48
35
52
-51
-60
-61
-162
-94
-2
0
0
0
0
0
0
0
0
-1
-65
67
6
23
22
-7
-1
4
0
0
0
0
0
0
0
-12
4
4
0
23
2
3
9
20
0
0
0
0
0
0
0
0
0
-53
-5
-28
-20
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-43
45
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
42
4
2
31
-3
0
0
0
0
0
0
0
0
0
0
24
-14
122
-3
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
69
0
-15
5
9
0
5
-50
-2
0
0
0
0
0
0
1
13
5
11
-60
102
25
9
51
-146
-8
0
0
0
0
0
0
17
28
4
128
20
-44
3
66
70
-31
0
0
0
0
0
0
0
0
-41
46
-44
15
-139
7
13
-84
-8
0
0
0
0
0
0
0
-1
15
48
-107
25
-20
2
50
34
-25
0
0
0
0
0
0
0
0
-1
-78
103
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
66
44
30
72
18
37
4
0
0
0
0
0
0
0
0
0
3
-9
22
60
24
-30
13
0
0
0
0
0
0
0
0
0
0
3
-5
45
48
-36
38
22
1
45
-8
-4
0
0
0
0
0
0
-2
-79
25
-29
55
-57
-36
-29
15
-8
1
0
0
0
0
0
0
-16
56
117
-12
100
33
25
0
-46
-31
-19
0
0
0
0
0
0
26
-36
68
-50
-13
39
-12
0
-118
6
-1
0
0
0
0
0
0
-1
-15
15
33
-57
13
49
-13
48
13
0
0
0
0
0
0
0
0
22
-16
112
51
30
-2
0
0
0
0
0
0
0
0
0
0
15
-10
21
-8
32
49
0
0
-7
0
0
0
0
0
0
0
0
0
-15
-44
84
-55
1
88
-18
0
-1
0
0
0
0
0
0
0
0
-25
37
36
67
-140
-52
0
0
0
1
0
0
0
0
0
0
11
-8
-14
57
-5
-10
53
50
-1
-5
-3
0
0
0
0
0
0
0
-12
-28
26
-2
58
-46
12
5
-12
-3
0
0
0
0
0
0
-30
19
-8
56
-53
96
16
-42
2
33
0
0
0
0
0
0
0
0
29
17
15
19
-18
45
-77
1
5
0
0
0
0
0
0
0
0
-78
-78
23
-38
107
14
-8
3
13
1
0
0
0
0
0
0
0
34
-42
32
-8
-5
1
1
0
-1
0
0
0
0
0
0
0
0
2
32
31
54
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
-15
17
42
-25
49
-17
0
0
4
0
0
0
0
0
0
0
0
-48
12
31
17
82
0
0
0
25
0
0
0
0
0
0
0
-22
78
69
35
58
47
0
-25
13
-75
0
0
0
0
0
0
0
-14
71
-71
55
-9
24
37
26
-2
-56
0
0
0
0
0
0
0
22
-8
32
44
-15
20
84
-54
31
13
0
0
0
0
0
0
0
46
-23
38
-3
42
-6
-20
-71
-2
-11
0
0
0
0
0
0
0
-12
-56
-21
-22
65
-5
14
16
1
1
0
0
0
0
0
0
0
0
35
-17
7
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-48
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-10
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
31
7
0
0
0
0
-3
0
0
0
0
0
0
0
-3
1
33
24
-28
42
2
9
-6
-3
0
0
0
0
0
0
0
-2
-18
5
-55
27
-47
2
-6
-2
-4
0
0
0
0
0
0
0
8
9
-22
-29
-5
-8
-13
5
0
10
0
0
0
0
0
0
0
-5
47
66
31
-5
6
-9
-1
-2
0
0
0
0
0
0
0
0
0
-8
45
-8
10
-5
0
0
-1
2
0
0
0
0
0
0
0
0
0
31
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-17
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
-12
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-31
5
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
-13
-5
45
-3
-3
-5
0
0
0
0
0
0
0
0
0
0
2
0
-14
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
4
2
0
0
2
-1
0
0
0
0
0
0
0
0
-10
0
-14
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
7
2
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-55
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-5
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
60
0
-50
31
0
-7
0
0
0
0
0
0
0
0
15
0
56
0
98
-12
-63
0
0
0
0
0
0
0
0
0
0
0
7
-1
-4
-8
33
-81
0
-48
0
0
0
0
0
0
0
0
1
-3
-45
3
-42
29
0
0
-46
0
0
0
0
0
0
0
0
0
26
0
-18
0
-9
42
0
-3
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-26
0
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
0
17
0
0
0
-26
0
0
0
0
0
0
0
0
0
2
9
71
-4
-45
-2
0
-12
0
0
0
0
0
0
0
0
20
-5
-58
-6
22
8
-5
0
-4
0
0
0
0
0
0
0
0
0
-17
-1
71
-1
143
0
0
0
0
0
0
0
0
0
0
0
-8
-2
11
-18
-16
-32
0
0
-17
0
0
0
0
0
0
0
0
-8
12
3
61
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
-8
0
0
0
0
0
0
0
0
0
13
0
-1
0
-3
0
1
-29
0
0
0
0
0
0
0
0
-1
0
-4
-1
-15
2
0
0
0
0
0
0
0
0
0
0
0
-13
41
5
5
6
30
0
0
6
0
0
0
0
0
0
0
0
0
0
1
5
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-3
-6
-5
-16
0
0
0
0
0
0
0
0
0
0
1
7
0
29
6
40
-42
9
0
0
0
0
0
0
0
0
-4
0
0
2
45
49
3
-1
0
0
0
0
0
0
0
0
0
25
0
0
-3
-3
0
-1
0
8
0
0
0
0
0
0
0
0
-3
0
0
4
-1
10
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-14
-12
-27
-33
0
5
0
0
0
0
0
0
0
0
-1
13
-41
45
-35
-118
56
-66
-1
0
0
0
0
0
0
0
-2
-6
-5
-43
58
-4
17
-16
30
16
0
0
0
0
0
0
0
0
-19
-4
-3
-5
-5
4
-3
1
7
0
0
0
0
0
0
0
0
-2
0
7
-15
-9
54
17
15
0
0
0
0
0
0
0
0
0
-5
0
-2
0
35
9
27
43
-5
0
0
0
0
0
0
0
0
0
-1
0
-7
-5
96
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-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
-1
0
-2
7
30
8
84
0
7
-2
0
0
0
0
0
0
0
0
16
-1
-8
-12
-25
5
-11
-9
0
0
0
0
0
0
0
0
-2
-3
4
-1
9
37
5
85
-17
0
0
0
0
0
0
0
0
-1
-3
-4
24
31
7
22
8
8
-4
0
0
0
0
0
0
0
-29
0
0
7
0
-56
-76
1
2
0
0
0
0
0
0
0
0
0
0
0
-3
-12
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-8
-21
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
-14
0
1
0
-6
46
0
0
0
0
0
0
0
0
0
14
0
0
0
0
37
-13
62
17
-14
-7
0
0
0
0
0
0
0
0
5
3
17
47
58
-90
-43
41
0
0
0
0
0
0
0
0
0
0
10
-1
25
5
28
1
7
0
0
0
0
0
0
0
0
0
0
0
-9
18
2
9
-8
0
0
0
0
0
0
0
0
0
0
-1
0
0
17
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
26
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
40
23
13
0
2
2
0
0
0
0
0
0
0
3
0
5
6
37
53
15
-1
5
-3
0
0
0
0
0
0
0
1
1
33
13
-10
-54
85
21
2
0
-1
0
0
0
0
0
0
0
-4
8
10
102
-31
-29
6
-5
0
0
0
0
0
0
0
0
-3
0
0
2
-6
58
12
16
-2
0
0
0
0
0
0
0
0
0
0
2
6
23
-24
-22
33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-7
14
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
-10
20
15
0
3
4
0
18
0
0
0
0
0
0
0
-9
0
6
77
-48
-88
68
95
6
2
3
0
0
0
0
0
0
-5
94
0
34
-9
-47
-62
44
17
8
0
0
0
0
0
0
0
-7
22
5
1
-17
23
13
26
-20
9
-1
0
0
0
0
0
0
8
0
-3
0
24
-35
-17
4
108
29
0
0
0
0
0
0
0
0
1
1
-5
13
58
-3
-48
29
-1
0
0
0
0
0
0
0
7
0
5
0
14
12
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
-5
75
-16
0
-15
0
-16
0
0
0
0
0
0
0
3
60
-3
63
-58
-23
31
0
102
-82
0
0
0
0
0
0
0
14
-9
-13
9
5
23
42
87
13
3
5
0
0
0
0
0
0
0
-2
7
-4
37
58
120
22
56
53
0
0
0
0
0
0
0
0
10
15
0
80
66
16
-40
91
33
-3
0
0
0
0
0
0
0
4
9
10
-1
141
-15
-15
-49
2
0
0
0
0
0
0
0
0
0
0
-13
-22
-1
-5
-22
58
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-47
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
27
-52
-14
-70
15
0
0
3
4
0
0
0
0
0
0
-50
50
37
65
-74
77
1
11
-14
8
-2
-4
0
0
0
0
0
21
10
18
-42
21
40
67
50
6
5
-1
0
0
0
0
0
0
-48
-5
13
-34
-18
43
-70
-84
-38
20
-2
0
0
0
0
0
0
2
14
-2
-35
24
-24
94
-8
-24
0
-4
0
0
0
0
0
0
0
19
5
-1
39
78
-18
-46
17
-2
-1
0
0
0
0
0
0
0
0
0
-6
0
7
-13
8
-5
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
49
13
-7
34
-26
16
0
0
25
0
0
0
0
0
0
0
69
20
-4
29
-12
-15
48
-57
4
15
0
0
0
0
0
0
0
-7
10
-1
-17
-48
7
40
5
-16
9
0
0
0
0
0
0
0
12
-18
-30
41
31
-102
13
-66
1
0
1
0
0
0
0
0
0
14
-4
8
47
26
-76
-21
14
-18
0
0
0
0
0
0
0
0
69
0
-17
5
-20
-1
14
29
9
0
0
0
0
0
0
0
0
0
0
0
-32
48
-16
-15
-9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
6
0
0
17
13
-9
0
19
0
-1
0
0
0
0
0
0
0
-8
16
-7
38
47
-72
-29
-13
1
0
0
0
0
0
0
0
0
18
8
-3
4
-5
-37
10
-21
0
0
0
0
0
0
0
0
0
25
-2
9
6
-37
-9
46
-1
6
0
0
0
0
0
0
0
0
0
0
0
34
0
-1
-17
-10
5
-3
0
0
0
0
0
0
0
-4
0
-3
-4
-4
13
-24
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-9
-5
44
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
-2
-8
0
10
0
0
0
0
0
0
0
0
0
3
1
0
0
3
22
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
18
-8
-50
22
-13
-29
0
0
0
0
0
0
0
0
0
7
1
-2
-48
-58
20
6
54
-20
0
0
0
0
0
0
0
0
-18
0
0
-2
37
4
-2
-33
-5
0
0
0
0
0
0
0
0
-5
-9
0
-14
4
-24
73
-4
-3
0
0
0
0
0
0
0
0
-5
0
0
6
1
-4
-1
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-25
-30
-10
5
-17
-74
0
-20
0
0
0
0
0
0
0
20
3
8
-41
4
59
4
27
50
-25
0
0
0
0
0
0
0
1
-13
13
42
47
42
34
95
29
-40
0
0
0
0
0
0
0
7
-2
-1
1
4
23
-26
59
-46
5
0
0
0
0
0
0
0
0
73
0
0
-6
75
21
78
-9
15
0
0
0
0
0
0
0
0
17
0
8
2
17
64
32
25
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
31
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-8
0
8
1
5
-8
0
-27
-2
0
0
0
0
0
0
-1
-7
-10
-2
-38
50
70
36
-3
41
2
0
0
0
0
0
0
0
7
0
-24
9
78
58
-90
10
38
-1
0
0
0
0
0
0
0
-32
-6
31
-56
59
23
51
50
7
-1
0
0
0
0
0
0
0
-19
-2
10
48
-10
11
-12
11
27
3
0
0
0
0
0
0
0
-2
0
0
0
5
39
95
-9
30
0
0
0
0
0
0
0
0
0
0
0
-2
-2
30
8
55
-23
0
0
0
0
0
0
0
0
1
-2
0
0
0
24
5
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
19
-10
31
-49
-34
-35
0
27
-7
0
0
0
0
0
0
-31
2
2
-9
79
11
132
51
-54
23
-12
-3
0
0
0
0
0
-1
3
6
-26
-9
55
-15
12
-3
3
-1
0
0
0
0
0
0
0
0
0
9
-50
93
55
-59
-3
-1
0
0
0
0
0
0
0
0
3
1
3
-12
-4
12
-8
34
-7
7
0
0
0
0
0
0
0
0
0
-3
-1
-46
-18
16
5
2
22
0
0
0
0
0
0
0
0
0
0
-1
-3
9
-1
-3
-3
2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
13
4
27
-25
1
-43
-40
0
19
1
5
0
0
0
0
0
10
-14
-3
57
36
54
-59
5
-32
-13
5
0
0
0
0
0
0
14
13
-5
-47
8
37
0
26
-66
-29
0
0
0
0
0
0
0
-1
-5
10
41
-37
45
11
75
32
-3
0
0
0
0
0
0
0
0
-10
-5
-30
-67
21
35
-22
-56
-5
2
5
0
0
0
0
0
0
0
0
22
5
75
-13
13
61
-5
2
-4
0
0
0
0
0
0
0
0
3
-1
3
-132
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
22
0
0
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
-8
30
-37
33
14
47
24
0
6
0
1
0
0
0
0
0
22
52
-21
46
34
-16
0
-57
24
-30
-14
0
0
0
0
0
0
69
-50
-9
51
-2
43
-14
28
-15
-46
-1
0
0
0
0
0
0
54
-49
-1
-53
-33
-11
46
88
72
-9
0
0
0
0
0
0
0
1
56
10
-54
14
41
117
68
68
-6
1
0
0
0
0
0
0
0
-4
2
33
-21
-17
8
4
-8
-13
0
0
0
0
0
0
0
0
-4
0
0
-31
4
-4
-11
-6
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
27
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
43
-29
-9
71
-24
77
-39
-54
0
-21
-3
-3
0
0
0
0
0
0
6
35
25
84
23
-18
43
-8
-1
-3
0
0
0
0
0
0
42
-5
-4
61
-24
35
60
-9
13
-48
0
0
0
0
0
0
0
-16
-43
-30
49
-9
-56
-40
6
87
-42
0
0
0
0
0
0
0
-19
15
49
4
-67
-51
23
75
25
12
-8
0
0
0
0
0
0
2
-6
3
17
4
126
22
30
-31
-60
0
0
0
0
0
0
0
0
-1
-1
4
5
13
19
-34
31
-6
0
0
0
0
0
0
0
0
-1
0
0
0
-3
3
-50
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-49
41
49
75
42
-39
80
0
15
1
-2
0
0
0
0
0
-22
79
22
53
90
44
88
53
6
12
-2
0
0
0
0
0
0
-30
68
-3
87
-4
-15
64
23
-101
55
1
0
0
0
0
0
0
7
49
80
-67
20
70
-40
-75
51
-18
-25
0
0
0
0
0
0
59
3
-2
31
58
27
-18
8
12
-4
-7
0
0
0
0
0
0
-3
1
-5
89
35
-4
62
-48
58
38
-12
0
0
0
0
0
0
-15
-7
0
4
-108
4
23
2
-29
8
0
0
0
0
0
0
0
0
0
0
1
0
10
-6
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-18
20
9
15
-17
87
53
-38
0
-21
2
-5
0
0
0
0
0
110
20
9
-19
-57
21
-25
2
-62
-80
-3
0
0
0
0
0
0
23
24
-38
-40
7
-39
-5
-48
9
16
18
0
0
0
0
0
0
7
-18
-57
75
67
23
74
94
32
-17
8
0
0
0
0
0
0
1
-22
91
0
-56
18
33
-19
79
11
-1
0
0
0
0
0
0
21
-10
42
-19
0
-54
-131
50
-47
-32
1
0
0
0
0
0
0
-30
2
5
14
5
13
-51
-19
-45
29
0
0
0
0
0
0
0
0
-12
-17
0
-1
23
-29
95
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
41
-1
92
-65
-12
26
0
93
3
0
0
0
0
0
0
0
46
-9
-9
43
46
-10
8
27
-1
112
2
0
0
0
0
0
0
-17
9
-74
-10
14
-26
-9
-34
57
-13
0
0
0
0
0
0
0
13
-22
-22
-53
-51
-35
-12
79
43
5
0
0
0
0
0
0
0
59
-38
12
-17
77
99
-4
1
-47
18
0
0
0
0
0
0
0
17
8
-41
-3
24
50
9
-36
-6
23
0
0
0
0
0
0
0
26
56
-27
-105
1
29
-9
15
31
0
0
0
0
0
0
0
0
0
0
-14
0
-34
-9
55
-25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
9
-3
23
9
-49
0
-13
-1
-1
0
0
0
0
0
0
0
-6
27
13
22
-59
15
33
12
42
2
0
0
0
0
0
0
0
-13
-5
24
6
78
31
-23
-43
7
5
0
0
0
0
0
0
0
42
14
-6
93
49
17
22
66
25
0
0
0
0
0
0
0
0
5
5
3
-14
14
61
20
98
16
0
0
0
0
0
0
0
0
-4
3
-33
-17
-2
30
6
54
-14
-8
0
0
0
0
0
0
0
0
2
2
0
-23
3
-1
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-6
-1
0
-5
-1
0
0
0
0
0
0
0
0
0
-6
5
-1
-15
0
-3
-56
-54
0
0
0
0
0
0
0
0
0
2
-3
-3
-3
7
20
5
-3
9
0
0
0
0
0
0
0
0
-10
-1
0
-6
0
0
14
-16
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-17
39
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
0
31
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
22
1
-18
0
0
0
0
0
0
0
0
0
1
7
-4
44
-11
-14
-33
24
10
0
0
0
0
0
0
0
0
4
1
-3
56
-2
-3
21
-2
-5
0
0
0
0
0
0
0
0
0
4
2
-19
-13
-16
-18
5
3
0
0
0
0
0
0
0
0
0
5
0
-5
15
13
-16
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
67
-24
-126
-23
0
7
0
0
0
0
0
0
0
44
60
0
12
69
-28
92
127
22
-60
0
0
0
0
0
0
0
10
-8
-2
-19
-15
-30
54
1
89
42
0
0
0
0
0
0
0
-1
7
7
-23
-48
36
-60
31
-69
45
0
0
0
0
0
0
0
0
-24
17
0
-4
91
23
18
-7
2
0
0
0
0
0
0
0
0
-17
0
-3
-1
-73
-17
7
16
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
26
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
20
-4
4
-4
-76
-28
0
14
12
0
0
0
0
0
0
0
-3
-1
69
-33
-21
34
-11
30
-48
3
0
0
0
0
0
0
-7
-7
-3
21
-25
59
0
-79
2
46
-7
0
0
0
0
0
0
0
2
-1
-4
-5
57
-46
9
-4
18
0
0
0
0
0
0
0
0
-25
27
-2
7
-20
31
-13
56
5
0
0
0
0
0
0
0
0
0
6
2
9
25
-13
15
-13
19
1
0
0
0
0
0
0
0
0
0
0
0
0
12
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
42
-18
-33
-55
0
-25
-1
0
0
0
0
0
0
-2
1
20
-17
-16
59
5
5
-34
-12
51
7
0
0
0
0
0
0
0
-2
-3
20
-47
14
-52
-47
1
6
5
0
0
0
0
0
-3
1
-2
-31
24
72
-5
-11
-4
-5
0
0
0
0
0
0
0
0
0
-14
8
37
-18
-20
-8
41
0
-9
0
0
0
0
0
0
0
-4
-17
0
-5
-3
9
-2
-1
5
1
0
0
0
0
0
0
0
0
0
0
1
0
88
-6
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
9
-7
1
3
70
96
-103
-63
0
-51
0
0
0
0
0
0
0
-19
42
-8
13
39
-52
-27
-20
78
22
2
0
0
0
0
0
0
-1
-31
8
63
-13
-17
8
84
58
6
-1
0
0
0
0
0
0
9
35
-1
2
-49
57
-45
46
30
45
2
0
0
0
0
0
0
1
5
9
-16
-16
41
5
-17
92
0
3
-1
0
0
0
0
0
-2
-5
-1
12
19
86
68
-24
26
19
0
0
0
0
0
0
0
-2
-1
-8
0
-1
0
73
21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-31
12
3
-25
50
47
-6
0
-31
0
0
0
0
0
0
0
106
27
24
37
37
6
20
69
74
22
7
0
0
0
0
0
0
24
67
20
20
51
70
-16
-3
11
-39
-1
0
0
0
0
0
0
-14
-31
-26
-26
25
55
7
32
115
27
0
0
0
0
0
0
0
-4
-31
-8
22
31
17
-15
-21
-26
-7
0
0
0
0
0
0
0
-25
24
-8
5
-30
10
-51
50
-22
28
0
0
0
0
0
0
0
4
3
5
0
-33
-23
-32
-5
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-8
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
-12
-42
-12
87
31
-8
-36
7
0
-79
-1
0
0
0
0
0
0
49
-49
-17
22
9
-20
47
32
-19
49
6
0
0
0
0
0
0
-4
72
42
-39
97
35
97
-17
53
33
0
0
0
0
0
0
0
-17
-74
1
-30
50
28
13
-11
-19
57
0
0
0
0
0
0
0
-10
2
-33
19
-12
13
62
34
68
-26
0
0
0
0
0
0
0
-1
-55
-15
78
12
-25
35
39
-14
24
0
0
0
0
0
0
0
1
0
42
4
15
-3
33
42
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-54
3
33
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
24
-19
76
28
109
27
-14
42
0
-4
-7
-9
0
0
0
0
0
52
57
45
35
33
-22
53
35
-8
-25
13
0
0
0
0
0
0
11
59
-14
-73
7
52
35
23
4
-25
23
0
0
0
0
0
0
-6
-24
12
46
11
1
51
22
48
-10
2
0
0
0
0
0
0
-31
-61
57
74
-4
-84
1
34
-24
-19
-21
0
0
0
0
0
0
-20
37
119
11
-12
-63
-72
66
-24
124
1
0
0
0
0
0
0
16
18
0
-9
5
7
19
29
63
-2
0
0
0
0
0
0
0
0
1
0
-31
6
66
42
156
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
17
19
5
-32
68
-13
-20
46
0
-59
5
0
0
0
0
0
0
40
-70
-2
-61
-44
21
31
20
67
-14
97
0
0
0
0
0
0
-86
63
11
5
42
16
15
-52
-91
-39
-2
4
0
0
0
0
0
75
-66
61
33
-32
-11
52
-49
5
-78
-1
0
0
0
0
0
0
1
-9
62
-26
54
80
59
8
-100
24
1
0
0
0
0
0
0
1
17
-41
104
84
58
-27
-35
-14
7
0
0
0
0
0
0
0
-1
8
21
3
51
49
12
-2
-1
51
0
0
0
0
0
0
0
0
8
0
5
-1
-86
-44
-6
-78
47
0
0
0
0
0
0
0
0
0
0
0
12
0
-3
0
0
0
0
0
0
0
0
0
0
0
164
-70
-24
0
28
31
-104
0
-50
88
16
0
0
0
0
0
0
36
9
8
-41
-21
-106
-46
-40
-12
-44
-1
0
0
0
0
0
0
22
-24
-61
-24
-4
8
33
-20
-21
8
0
0
0
0
0
0
0
50
47
39
38
-19
13
34
-38
91
21
0
0
0
0
0
0
0
-48
75
-73
3
2
-29
12
-34
33
59
-1
0
0
0
0
0
0
24
49
-23
24
16
87
13
23
-16
75
0
0
0
0
0
0
0
16
0
7
-42
77
23
17
21
79
0
0
0
0
0
0
0
0
0
-5
-1
0
-28
-33
-55
24
-14
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
-10
9
-22
-25
0
7
-10
0
0
0
0
0
0
0
0
-35
-45
87
-51
-66
-51
35
-34
-6
5
0
0
0
0
0
0
0
-5
-1
-5
13
46
36
13
-29
2
-1
0
0
0
0
0
0
0
0
8
-20
-3
-14
7
-30
76
-36
0
0
0
0
0
0
0
0
5
6
-5
21
-1
-20
7
16
1
3
0
0
0
0
0
0
0
-1
-9
4
16
-5
9
77
42
-5
-1
0
0
0
0
0
0
0
0
0
0
2
12
-9
17
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
1
1
0
0
0
0
0
0
0
0
-3
0
-1
13
-7
3
3
-25
13
0
0
0
0
0
0
0
0
4
0
-7
14
18
-39
-17
-5
0
0
0
0
0
0
0
0
0
-10
-1
0
-1
0
-9
4
9
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
1
13
18
3
0
0
0
0
0
0
0
0
0
-34
0
0
-2
-5
-2
-44
-36
5
0
0
0
0
0
0
0
0
20
5
0
10
-7
56
-31
34
6
0
0
0
0
0
0
0
0
0
7
0
-31
10
47
-7
-6
-16
0
0
0
0
0
0
0
0
-5
0
0
0
44
8
0
5
0
0
0
0
0
0
0
0
0
0
0
6
55
-2
-15
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
6
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
6
1
1
112
-53
0
-22
0
0
0
0
0
0
0
0
15
0
8
61
-42
42
69
-19
2
0
0
0
0
0
0
0
8
-44
66
26
-5
24
27
-51
-27
-42
0
0
0
0
0
0
0
0
0
41
8
-47
41
-36
-19
-66
-22
0
0
0
0
0
0
0
0
-24
32
-1
-34
101
13
79
155
30
0
0
0
0
0
0
0
0
7
0
-2
-10
-14
11
-119
-10
-13
0
0
0
0
0
0
0
0
4
1
2
54
-1
-44
15
21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-3
-4
-6
0
0
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
0
-8
-2
-47
10
0
-69
-6
0
0
0
0
0
0
0
12
6
0
-46
5
68
-2
-9
51
20
0
0
0
0
0
0
0
17
0
0
-7
26
-13
139
-41
41
1
0
0
0
0
0
0
0
1
-1
8
-10
36
30
7
1
-19
-2
0
0
0
0
0
0
0
0
-3
-25
21
-15
-13
-22
-22
-5
-2
0
0
0
0
0
0
0
-1
-15
0
8
-3
3
10
-18
41
0
0
0
0
0
0
0
0
0
0
0
-4
0
-32
-1
10
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-10
-100
-43
-87
0
3
5
0
0
0
0
0
0
0
1
1
-31
5
29
-35
-53
74
10
-2
1
0
0
0
0
0
0
0
-2
-7
84
-40
23
6
47
-19
-34
0
0
0
0
0
0
2
8
-10
3
99
-34
-16
-55
-5
-2
-1
0
0
0
0
0
0
5
-3
0
0
-33
-6
34
-57
-7
0
0
0
0
0
0
0
0
0
0
-2
2
-6
79
-3
85
-5
7
0
0
0
0
0
0
0
0
-3
-1
6
-1
-4
-1
0
15
-5
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-18
53
-19
-141
10
0
7
0
0
0
0
0
0
0
70
-18
57
-69
18
-28
20
-10
40
46
0
0
0
0
0
0
0
10
-6
3
79
-92
-139
-30
-41
39
-27
6
0
0
0
0
0
0
-4
6
2
23
3
29
17
6
8
-21
0
0
0
0
0
0
0
0
-16
-1
13
13
10
52
-23
75
0
0
0
0
0
0
0
0
3
0
60
29
29
9
31
26
2
-1
0
0
0
0
0
0
0
-7
0
0
0
-12
0
-1
3
-31
0
0
0
0
0
0
0
0
0
-2
0
-8
0
31
8
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
-7
0
0
0
0
0
0
0
0
0
-1
49
-30
11
85
20
50
50
0
-11
0
0
0
0
0
0
0
-102
-9
-88
33
43
35
-19
39
46
-43
-3
0
0
0
0
0
0
-13
-20
93
1
-13
54
-29
-17
41
28
0
2
0
0
0
0
0
47
9
31
18
-10
-24
2
36
42
-40
-2
0
0
0
0
0
0
-7
-31
44
-5
-49
-4
1
23
-40
10
0
0
0
0
0
0
0
6
-18
-15
23
-3
-36
-41
21
41
-19
8
0
0
0
0
0
0
-5
-9
-5
-3
4
-41
84
23
114
-5
5
0
0
0
0
0
0
0
0
0
0
2
20
56
15
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
7
-14
60
25
21
-1
-7
25
0
15
-2
2
0
0
0
0
0
-1
11
-72
35
26
-73
89
105
63
-19
5
0
0
0
0
0
0
-1
-29
20
-32
4
-65
-17
-4
28
39
3
0
0
0
0
0
0
-7
-31
-65
-84
0
1
4
120
-28
15
1
0
0
0
0
0
0
63
-75
63
-43
10
13
-61
4
-44
75
-9
0
0
0
0
0
0
25
10
54
107
10
-63
-9
107
24
6
2
0
0
0
0
0
0
9
2
-23
-13
27
88
103
-1
46
-1
0
0
0
0
0
0
0
0
1
1
-7
2
-18
-49
5
28
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
61
107
-33
99
104
102
-59
32
0
126
0
-1
0
0
0
0
0
-4
-36
78
-93
24
-33
-24
91
-14
-41
51
0
0
0
0
0
0
87
-8
-51
94
-8
-22
44
-45
54
11
-5
0
0
0
0
0
0
66
12
89
-6
15
66
80
29
-61
-24
9
0
0
0
0
0
0
-4
-11
-107
84
79
41
54
-16
146
77
3
0
0
0
0
0
0
15
14
31
88
-51
27
94
29
86
1
-3
-2
0
0
0
0
0
66
8
23
68
-30
49
40
72
120
18
4
0
0
0
0
0
0
0
8
1
6
0
40
75
-8
15
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
9
0
4
0
0
0
0
0
0
0
0
2
-54
10
23
17
66
15
-41
0
-49
1
0
0
0
0
0
0
76
1
51
93
-75
22
43
10
28
73
-20
3
0
0
0
0
0
-57
23
1
-17
23
20
8
-49
-10
11
-20
0
0
0
0
0
0
-14
-8
-56
-10
41
28
-93
-39
-30
7
2
0
0
0
0
0
0
-34
-31
13
19
45
43
44
9
-12
-17
1
1
0
0
0
0
0
23
0
-20
-53
30
28
-12
-10
66
-96
-3
0
0
0
0
0
0
-8
-3
-24
-31
-33
22
17
29
-25
56
0
0
0
0
0
0
0
0
-9
5
-8
-6
-20
-35
-16
-32
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
2
2
0
0
0
0
0
0
0
0
0
-4
-37
-7
-87
-14
-3
49
0
4
-2
0
0
0
0
0
0
0
-66
-16
6
33
13
23
-48
2
23
-12
0
0
0
0
0
0
0
15
72
44
-30
-41
46
45
61
21
57
0
0
0
0
0
0
0
97
15
25
92
58
-26
92
-43
-3
43
0
0
0
0
0
0
0
-24
-3
-23
95
5
-44
24
-21
-31
-8
0
0
0
0
0
0
0
118
-32
5
9
83
12
43
9
-25
8
0
0
0
0
0
0
0
-1
20
0
23
-77
49
115
49
4
0
0
0
0
0
0
0
0
0
2
1
15
40
19
-22
7
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
0
0
34
5
-1
-31
41
50
0
35
4
-6
0
0
0
0
0
0
0
-5
19
0
-22
45
-3
35
-11
5
7
0
0
0
0
0
0
0
-9
6
-3
2
13
32
-1
11
-18
-1
0
0
0
0
0
0
0
4
8
21
-14
85
5
96
-21
39
0
0
0
0
0
0
0
0
30
0
-1
23
8
-38
-17
13
4
0
0
0
0
0
0
0
0
0
0
1
5
-5
46
37
28
-10
4
0
0
0
0
0
0
0
0
0
0
-1
0
14
-28
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-7
0
5
1
-18
0
0
0
0
0
0
0
0
-3
0
-2
3
0
0
15
-5
2
0
0
0
0
0
0
0
0
6
4
0
0
-1
-3
1
23
0
0
0
0
0
0
0
0
0
1
0
0
-3
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-19
5
-13
0
0
0
0
0
0
0
0
0
0
3
4
0
-5
-10
68
60
-9
0
0
0
0
0
0
0
0
-8
0
0
-12
8
-48
24
25
3
0
0
0
0
0
0
0
0
-5
0
0
33
47
43
9
5
2
0
0
0
0
0
0
0
0
0
0
0
-10
15
20
5
3
9
0
0
0
0
0
0
0
0
4
0
5
15
-5
100
32
-2
0
0
0
0
0
0
0
0
0
0
0
8
-1
-19
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-2
20
59
-93
-42
0
6
0
0
0
0
0
0
0
0
-27
-1
-13
67
-78
-31
43
22
41
0
0
0
0
0
0
0
0
-44
0
43
32
-1
41
74
25
-23
0
0
0
0
0
0
0
0
18
-16
51
59
71
-19
-5
5
-56
0
0
0
0
0
0
0
12
0
7
42
-21
105
17
106
8
-12
0
0
0
0
0
0
0
0
-8
7
43
-5
2
86
23
-56
5
0
0
0
0
0
0
0
0
-1
0
1
-72
-17
96
-7
-30
-5
0
0
0
0
0
0
0
0
0
0
0
0
-16
75
17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
20
20
0
27
10
0
0
0
0
0
0
0
10
10
4
6
17
0
32
20
-8
123
0
0
0
0
0
0
0
18
14
0
7
-3
-26
23
-47
51
7
0
0
0
0
0
0
0
-6
2
-4
-42
66
20
-35
20
-41
24
0
0
0
0
0
0
0
4
0
12
37
-49
97
-31
-19
2
0
0
0
0
0
0
0
0
0
-2
42
12
45
-25
61
24
24
0
0
0
0
0
0
0
0
0
0
0
-8
2
-3
53
-3
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
10
-5
37
92
-57
-2
0
46
-8
0
0
0
0
0
0
-5
1
15
59
-20
-89
-77
-11
-66
-22
-13
0
0
0
0
0
0
3
12
43
-8
-66
15
8
28
-31
-13
-6
-2
0
0
0
0
0
1
0
-1
9
22
-57
-95
-57
79
7
0
0
0
0
0
0
0
27
-3
8
0
-1
21
-72
-1
-31
4
0
0
0
0
0
0
0
-1
2
0
-9
45
-56
16
-26
3
-7
0
0
0
0
0
0
0
-2
0
0
4
-1
3
92
6
8
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-2
-1
-1
-8
-44
-58
-33
0
22
0
0
0
0
0
0
0
22
24
41
41
-18
56
-14
26
52
-35
0
0
0
0
0
0
0
7
-8
0
-43
54
-37
96
50
-29
-56
0
0
0
0
0
0
0
0
-8
0
-4
20
-26
66
49
-1
-13
4
0
0
0
0
0
0
-2
123
16
53
0
-28
-31
-83
-13
27
-5
0
0
0
0
0
0
0
-8
-34
0
-9
-51
92
32
-50
43
0
0
0
0
0
0
0
4
2
-1
0
18
24
-48
48
-19
0
0
0
0
0
0
0
0
0
-2
0
-4
0
9
-3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
3
0
0
0
0
0
0
0
0
-2
-5
-26
15
-16
56
48
-70
0
32
2
0
0
0
0
0
0
-32
-59
-71
66
-35
-94
-22
57
108
15
1
0
0
0
0
0
0
-60
4
0
-19
62
114
18
32
-18
64
1
0
0
0
0
0
0
6
3
29
43
-8
13
6
39
-105
-22
0
0
0
0
0
0
0
33
5
-13
42
1
0
-15
-65
13
-15
-4
0
0
0
0
0
0
16
24
69
80
-5
68
-49
-38
97
70
0
0
0
0
0
0
0
1
2
-6
24
73
62
3
4
119
0
8
0
0
0
0
0
0
0
0
-1
5
0
14
37
-12
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
44
13
0
0
0
0
0
0
0
0
0
-7
10
-63
-53
-33
-11
-4
93
0
83
-3
0
0
0
0
0
0
-54
-33
60
50
85
43
56
-16
50
-41
-5
0
0
0
0
0
0
21
55
-13
-53
-95
80
147
32
52
-122
-4
0
0
0
0
0
0
-35
29
59
-27
41
-50
39
30
20
2
10
0
0
0
0
0
0
-22
-3
35
78
111
-20
0
-27
33
-40
0
0
0
0
0
0
0
0
-20
100
4
105
72
14
52
-7
36
0
0
0
0
0
0
0
0
28
-4
95
2
22
75
-27
80
9
-2
0
0
0
0
0
0
0
0
-2
0
0
75
-18
52
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
63
0
9
0
0
0
0
0
0
0
31
-3
8
121
6
-61
-34
8
0
-14
-10
0
0
0
0
0
0
20
-13
0
-31
110
46
23
-28
44
-8
70
0
0
0
0
0
0
31
-14
-74
-11
14
25
76
17
13
-15
1
0
0
0
0
0
0
-91
-39
-18
27
-47
65
-1
-72
-6
90
-7
4
0
0
0
0
0
-23
29
37
-29
18
65
-18
0
4
-18
31
0
0
0
0
0
0
-13
-47
-35
-6
57
14
0
-57
-16
29
-2
0
0
0
0
0
0
-8
39
-9
-34
42
-4
-31
49
57
5
1
0
0
0
0
0
0
0
0
31
-7
0
-68
-29
-8
72
25
0
0
0
0
0
0
0
0
0
0
0
10
0
16
-2
-13
0
0
0
0
0
0
0
0
-22
-35
-16
-139
114
12
17
-12
0
0
1
0
0
0
0
0
0
23
101
48
-104
3
44
-4
-118
-55
-5
41
-5
0
0
0
0
0
43
8
-96
24
52
-1
-12
-6
-21
79
0
-6
0
0
0
0
0
76
-3
-21
43
66
127
36
4
-60
89
41
0
0
0
0
0
0
-4
-55
-31
44
45
-46
97
-30
0
36
0
0
0
0
0
0
0
9
-75
42
-13
63
13
1
89
-25
10
-8
0
0
0
0
0
0
46
-7
14
41
67
-14
-34
-13
-26
-13
3
0
0
0
0
0
0
0
-1
41
-3
10
-17
57
4
-44
70
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
15
2
0
0
0
0
0
0
0
0
0
50
-55
-46
44
46
-28
24
0
43
-4
0
0
0
0
0
0
0
-8
-15
4
11
-15
-36
-34
-1
-29
11
1
0
0
0
0
0
0
9
6
72
75
5
-51
12
-52
41
11
0
0
0
0
0
0
0
-22
8
-21
24
4
-54
-25
20
-121
3
1
0
0
0
0
0
0
111
16
95
35
75
16
64
-5
0
8
0
0
0
0
0
0
0
6
24
13
24
17
109
138
91
56
2
0
0
0
0
0
0
0
30
-12
5
-11
-18
66
56
33
8
-3
0
0
0
0
0
0
0
-2
1
0
0
50
-63
7
22
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
0
0
24
-4
0
25
-23
-10
0
-5
17
2
0
0
0
0
0
0
0
-1
-13
-7
116
12
47
-47
-58
-22
-15
0
0
0
0
0
0
0
35
0
44
14
53
-19
-27
37
-42
-1
0
0
0
0
0
0
0
-20
3
0
24
-31
-74
14
24
-23
2
0
0
0
0
0
0
0
0
23
0
18
47
86
-9
-31
0
-7
0
0
0
0
0
0
0
-1
-4
2
0
-14
65
-8
5
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-24
-1
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
24
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
-13
-6
0
0
0
0
0
0
0
0
3
5
0
-13
-7
9
1
6
-4
0
0
0
0
0
0
0
0
2
0
6
-1
-6
7
32
14
18
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
7
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
-8
-5
0
0
0
0
0
0
0
0
0
0
-1
0
24
4
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
-3
8
-1
0
0
0
0
0
0
0
0
0
-3
0
0
12
1
25
0
41
-13
0
0
0
0
0
0
0
0
-5
0
-1
1
-4
-3
4
10
0
0
0
0
0
0
0
0
0
8
-8
6
-24
-3
97
3
54
-1
0
0
0
0
0
0
0
0
7
0
-2
7
5
0
89
2
-18
0
0
0
0
0
0
0
0
0
0
55
33
22
-41
0
-6
18
0
0
0
0
0
0
0
0
0
6
0
3
144
9
8
9
1
0
0
0
0
0
0
0
0
0
0
0
104
0
20
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
1
-1
-6
3
-1
0
-1
0
0
0
0
0
0
0
0
26
0
1
-25
-11
-9
-5
-63
-35
0
0
0
0
0
0
0
0
0
6
12
1
-27
75
25
-95
46
0
0
0
0
0
0
0
3
-5
0
55
32
44
23
-3
15
-89
0
0
0
0
0
0
0
0
70
5
-28
142
24
109
43
68
7
0
0
0
0
0
0
0
-2
0
-6
-20
-28
-35
-140
-18
-5
8
0
0
0
0
0
0
0
0
-8
0
-16
143
-13
-59
-42
-31
0
0
0
0
0
0
0
0
0
-3
0
3
0
-28
-14
-4
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
13
-3
149
2
21
0
42
1
0
0
0
0
0
0
0
-2
-1
1
-75
5
84
47
-14
-17
-24
0
0
0
0
0
0
0
4
-2
3
30
-44
11
96
26
-27
-8
0
0
0
0
0
0
0
23
-1
17
-22
-59
-48
-52
27
-55
-6
0
0
0
0
0
0
0
5
6
0
0
-61
-11
7
13
-2
0
0
0
0
0
0
0
0
-3
0
0
-26
94
-3
-5
-59
8
0
0
0
0
0
0
0
0
-6
0
0
-28
8
42
-8
80
3
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
4
9
-7
5
78
0
8
0
0
0
0
0
0
0
29
-2
-2
-41
18
-8
-25
-51
54
9
23
0
0
0
0
0
0
0
0
0
8
-41
-9
-39
-51
18
17
8
0
0
0
0
0
0
3
0
-2
9
49
71
-73
-47
12
-3
0
0
0
0
0
0
0
-1
0
7
-53
83
50
-7
2
-8
0
0
0
0
0
0
0
0
2
0
1
0
7
124
18
-7
2
2
0
0
0
0
0
0
0
-2
-2
0
4
1
8
-13
19
-8
0
0
0
0
0
0
0
0
0
0
0
4
0
-5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
31
-6
48
1
31
96
8
-13
0
-49
0
0
0
0
0
0
0
-7
-23
-8
12
-87
13
-15
-13
-21
-24
1
0
0
0
0
0
0
0
-43
-2
-18
-154
-36
-21
29
93
-13
0
0
0
0
0
0
0
-1
7
-12
-44
-97
5
27
48
5
-79
0
0
0
0
0
0
0
6
8
-66
-9
4
10
83
-30
-30
39
0
0
0
0
0
0
0
8
22
6
-30
0
-63
57
26
-74
-20
2
0
0
0
0
0
0
3
13
2
0
-43
29
-13
41
39
0
0
0
0
0
0
0
0
0
0
0
-5
0
-28
1
39
10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-2
0
0
0
0
0
0
0
0
0
-2
-9
-38
-44
-5
7
11
47
0
64
0
0
0
0
0
0
0
43
-16
14
46
16
77
0
9
56
-44
23
0
0
0
0
0
0
18
-27
13
-28
17
1
59
38
6
-50
0
0
0
0
0
0
0
6
-5
0
9
-33
55
-6
55
-15
32
0
0
0
0
0
0
0
9
-58
9
2
-7
40
82
44
33
29
0
0
0
0
0
0
0
0
40
1
-20
19
0
-8
-8
64
77
-5
0
0
0
0
0
0
7
32
-4
-13
-31
-53
-14
-6
110
0
0
0
0
0
0
0
0
0
0
0
-6
0
-67
-15
-28
22
-5
0
0
0
0
0
0
0
0
0
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
-3
-60
-1
-13
-74
28
-70
-4
0
-58
8
0
0
0
0
0
0
-24
-50
-9
26
-88
7
-42
38
46
-9
13
-1
0
0
0
0
0
15
-12
40
-42
-26
149
66
60
20
-40
0
0
0
0
0
0
0
-31
19
18
1
-36
13
104
27
-26
-44
0
0
0
0
0
0
0
16
-77
-19
23
79
-76
92
102
11
51
-3
0
0
0
0
0
0
34
51
4
38
111
101
0
84
44
76
0
0
0
0
0
0
0
-2
6
86
-41
11
-33
-48
26
-10
-10
0
0
0
0
0
0
0
0
-1
7
0
-8
-28
-3
45
53
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
0
0
0
0
0
0
0
0
0
-13
12
41
-98
50
5
14
56
0
13
20
0
0
0
0
0
0
5
17
60
111
-2
52
-29
1
6
5
-13
0
0
0
0
0
0
94
33
9
93
50
30
47
27
58
1
-8
0
0
0
0
0
0
33
-92
22
21
19
35
57
43
85
-51
22
0
0
0
0
0
0
35
-3
35
0
34
94
73
-45
32
-40
0
0
0
0
0
0
0
-63
-9
93
-50
-15
30
39
0
5
79
-4
0
0
0
0
0
0
15
-29
58
-14
35
-9
42
-2
-7
-19
-1
0
0
0
0
0
0
0
-5
-2
10
25
-17
-37
21
-50
0
0
0
0
0
0
0
0
0
0
0
3
19
0
-28
0
5
0
0
0
0
0
0
0
0
31
106
-10
16
57
60
32
-52
0
-64
-43
0
0
0
0
0
0
-14
10
49
-55
-71
3
1
-12
4
-4
-42
0
0
0
0
0
0
-13
19
121
39
3
37
4
20
-7
-24
33
0
0
0
0
0
0
-16
19
3
60
57
4
39
-21
-47
36
3
2
0
0
0
0
0
20
25
14
46
-32
-24
24
-7
44
7
-4
1
0
0
0
0
0
24
-61
17
-65
84
-4
55
17
0
35
3
0
0
0
0
0
0
84
52
30
127
36
-16
-33
-31
-6
1
4
0
0
0
0
0
0
0
-5
14
21
-6
20
4
112
-9
17
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
-4
3
1
0
0
0
0
0
0
0
0
-43
-12
-43
-22
-51
-47
2
0
-29
-57
-2
0
0
0
0
0
0
-26
55
-12
40
-27
-6
-16
4
34
-4
0
0
0
0
0
0
0
34
13
1
30
84
46
31
-56
-40
-4
0
0
0
0
0
0
0
-5
8
86
6
32
66
-35
17
-32
-59
0
0
0
0
0
0
0
-1
73
-5
64
7
105
61
-31
-28
7
0
0
0
0
0
0
0
-10
-31
-42
-3
80
25
72
-21
0
-3
0
0
0
0
0
0
0
-13
-13
-95
-36
20
1
47
10
-51
0
0
0
0
0
0
0
0
0
-1
-6
0
-12
-12
67
70
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
20
16
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
26
35
0
-28
60
41
0
0
0
0
0
0
0
22
26
-12
32
-52
49
-28
-67
12
-5
0
0
0
0
0
0
0
8
13
1
15
-14
42
87
-3
-8
-44
0
0
0
0
0
0
0
-4
2
13
-8
69
37
-38
-15
-14
-6
0
0
0
0
0
0
0
-1
-5
-7
41
22
32
21
55
-3
3
0
0
0
0
0
0
0
-1
6
0
0
-5
-46
-11
-19
0
3
0
0
0
0
0
0
0
0
0
0
2
4
6
-21
-49
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-12
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
-1
0
-1
-8
1
-20
31
0
0
0
0
0
0
0
0
-3
0
0
0
3
-1
5
34
-2
2
0
0
0
0
0
0
0
0
-2
0
2
1
7
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
14
0
2
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
96
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
56
0
-3
0
0
0
0
0
0
0
0
1
0
0
7
-1
18
0
135
0
0
0
0
0
0
0
0
0
0
4
0
1
-37
-5
-17
4
0
0
0
0
0
0
0
0
0
0
0
-6
-32
0
75
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
-66
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-2
-4
-4
0
7
0
0
0
0
0
0
0
0
-13
0
0
0
46
-51
33
-8
-17
0
0
0
0
0
0
0
0
27
0
0
23
-24
-12
5
-7
24
0
0
0
0
0
0
0
0
8
0
-34
13
50
-15
71
-60
52
0
0
0
0
0
0
0
-7
-4
-25
-22
-53
-3
7
-7
2
1
0
0
0
0
0
0
0
1
0
7
-13
9
-66
51
37
7
0
0
0
0
0
0
0
0
0
0
-2
6
4
-6
40
20
5
0
0
0
0
0
0
0
0
0
-10
0
3
-4
2
21
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-30
-6
0
10
0
0
0
0
0
0
0
0
1
1
0
-8
-1
1
4
-76
24
-7
0
0
0
0
0
0
0
3
-3
-4
-1
-19
3
5
21
-6
3
0
0
0
0
0
0
0
-5
6
0
5
42
-31
-21
-25
-8
0
0
0
0
0
0
0
0
24
8
-25
-84
-44
-52
41
-5
12
0
0
0
0
0
0
0
0
-28
0
-3
4
58
70
-36
7
0
0
0
0
0
0
0
0
0
-2
0
0
-3
13
-89
-3
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
96
45
34
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
-9
0
0
0
0
0
0
0
0
0
9
0
-4
0
5
37
0
47
64
-8
-1
0
0
0
0
0
0
0
0
0
0
-9
1
62
14
50
0
-2
0
0
0
0
0
0
12
0
0
2
2
-9
-24
-21
-4
-2
1
0
0
0
0
0
0
0
0
-9
-3
8
42
5
39
-37
0
0
0
0
0
0
0
0
0
4
9
2
4
21
-16
-4
1
0
0
0
0
0
0
0
0
1
0
0
0
13
10
82
9
45
-2
0
0
0
0
0
0
0
0
0
0
34
0
44
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-19
-64
-22
0
24
0
0
0
0
0
0
0
0
118
0
-4
-17
2
-57
-66
27
-64
0
0
0
0
0
0
0
0
50
4
33
27
28
105
-3
-20
-36
0
0
0
0
0
0
0
-2
-22
0
-5
22
22
-74
-61
-10
-131
0
0
0
0
0
0
0
3
-31
-3
10
-31
-32
-63
-50
-78
0
0
0
0
0
0
0
0
0
-17
12
13
14
-23
39
102
-6
25
0
3
0
0
0
0
0
-3
30
-3
62
0
25
-16
6
8
9
0
0
0
0
0
0
0
0
-6
0
-2
0
99
35
-34
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
21
13
38
0
-22
0
0
0
0
0
0
0
1
-11
-8
-10
-15
-45
-41
49
-24
-60
22
0
0
0
0
0
0
1
-40
0
60
68
49
-13
-25
9
19
-1
0
0
0
0
0
0
-25
43
14
9
-45
5
66
85
42
24
-1
0
0
0
0
0
0
-5
-7
-9
13
67
59
24
-23
-28
-17
0
0
0
0
0
0
0
17
5
19
-59
-5
42
7
-33
73
-5
5
0
0
0
0
0
0
1
37
8
-7
23
0
-20
6
-2
-7
0
0
0
0
0
0
0
0
-2
0
109
0
8
-3
-75
-5
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-15
4
0
0
0
0
0
0
0
0
0
4
5
-2
-8
56
-83
4
19
0
-33
3
0
0
0
0
0
0
6
-29
5
5
-31
51
0
-22
-5
25
2
0
0
0
0
0
0
13
24
-13
6
-31
-53
115
-86
-13
-34
-1
0
0
0
0
0
0
43
41
41
-38
5
-25
56
-5
25
58
1
0
0
0
0
0
0
1
157
-23
-4
-72
-3
48
96
5
9
0
0
0
0
0
0
0
0
-24
81
68
31
19
-5
17
41
-5
0
0
0
0
0
0
0
0
9
-19
49
103
18
0
-2
36
56
0
0
0
0
0
0
0
0
2
4
-13
-4
-10
68
15
-10
60
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
0
0
0
0
0
0
0
0
0
-102
-15
17
-45
5
-8
-20
-4
0
-75
5
0
0
0
0
0
0
-58
-44
46
60
83
-17
27
-16
-102
53
-56
0
0
0
0
0
0
-7
52
-79
11
-2
54
23
-9
6
92
2
0
0
0
0
0
0
-7
-28
1
16
27
-5
-31
-5
-97
-46
-17
0
0
0
0
0
0
-7
-71
60
44
5
-23
99
53
1
-42
6
0
0
0
0
0
0
-23
45
40
110
21
4
-47
9
25
-61
-6
0
0
0
0
0
0
19
34
31
-11
105
8
-24
0
33
-25
1
0
0
0
0
0
0
0
-3
10
-41
41
-15
22
8
63
16
0
0
0
0
0
0
0
0
0
0
0
15
0
22
-1
7
0
0
0
0
0
0
0
0
0
53
106
78
-58
-68
-20
-83
0
-64
8
0
0
0
0
0
0
-5
139
-32
-57
46
27
-43
-5
-28
-11
-73
0
0
0
0
0
0
2
40
36
67
34
-22
23
11
15
25
-2
8
0
0
0
0
0
-13
43
-30
-13
9
66
1
83
67
96
-8
0
0
0
0
0
0
42
38
-11
29
5
-89
68
-5
67
41
0
0
0
0
0
0
0
0
26
6
19
-64
-7
1
43
-68
53
-2
0
0
0
0
0
0
4
-6
-56
-37
100
94
33
-22
0
4
0
1
0
0
0
0
0
0
6
-9
-5
89
50
38
-19
42
14
0
0
0
0
0
0
0
0
-5
0
0
0
-1
-26
51
0
2
0
0
0
0
0
0
0
0
10
-20
-30
-51
-3
-8
-12
0
-2
45
0
0
0
0
0
0
0
-25
31
-50
-9
-15
-72
-91
22
-3
60
0
0
0
0
0
0
0
-19
100
-3
-42
-80
-2
54
-30
33
-68
-3
0
0
0
0
0
0
2
33
77
-21
-28
52
-43
-13
-16
28
0
0
0
0
0
0
0
53
64
-20
2
39
-5
55
-44
76
45
0
0
0
0
0
0
0
37
63
105
-16
8
21
77
-26
-56
-6
0
0
0
0
0
0
0
37
-85
41
118
-9
3
-32
-23
0
1
0
0
0
0
0
0
0
23
-3
-6
6
8
32
50
11
110
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
5
0
0
0
0
0
0
0
0
0
0
1
8
19
3
-9
0
13
2
-7
0
0
0
0
0
0
0
21
-84
-16
8
-59
-18
-27
-23
-15
29
0
0
0
0
0
0
0
6
10
2
34
-14
-30
-78
-33
29
-2
0
0
0
0
0
0
0
2
58
13
4
12
97
37
63
25
-2
0
0
0
0
0
0
0
-14
4
2
43
32
66
8
33
-4
2
0
0
0
0
0
0
0
0
-4
0
1
-60
9
-7
10
8
-6
0
0
0
0
0
0
0
0
-2
-3
-31
3
-20
-39
10
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-13
28
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
13
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
6
2
32
14
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
-3
-24
0
0
0
0
0
0
0
0
1
-1
0
1
0
-1
-3
0
0
4
0
0
0
0
0
0
0
-1
0
0
0
4
0
-1
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-26
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
-2
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
9
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-2
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
6
5
4
0
0
0
0
0
0
0
0
0
8
-16
0
53
1
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
16
-6
33
-4
0
7
0
0
0
0
0
0
0
0
0
0
0
4
13
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
121
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-10
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
23
3
-44
15
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-5
5
-3
0
0
0
0
0
0
0
0
0
-3
-23
4
24
2
3
-6
2
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
19
0
4
0
0
0
0
0
0
0
0
0
0
0
-16
5
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
-3
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
2
14
42
0
0
0
0
0
0
0
0
0
0
6
0
-21
0
-106
-14
-1
2
0
0
0
0
0
0
0
0
0
2
-16
-12
22
1
-11
-5
0
0
0
0
0
0
0
0
1
0
0
0
-22
13
32
-2
28
8
0
0
0
0
0
0
0
0
0
9
0
0
39
-2
18
1
0
1
0
0
0
0
0
0
8
-1
0
0
15
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
28
-88
35
-24
12
0
0
0
0
0
0
0
0
1
-1
0
1
13
5
34
-10
25
0
0
0
0
0
0
0
0
-4
-2
3
-8
19
69
60
-1
8
0
0
0
0
0
0
0
0
0
0
0
2
19
65
-4
-10
0
0
0
0
0
0
0
0
-2
-4
-1
-8
3
-26
8
31
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-12
-2
46
7
-17
-3
0
0
0
0
0
0
0
0
0
0
-13
0
15
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
-13
-6
-14
92
16
-52
-1
-23
3
0
0
0
0
0
0
0
3
3
3
-56
-13
23
71
31
-8
0
0
0
0
0
0
0
-6
-3
1
-2
-1
-25
23
-18
-8
12
0
0
0
0
0
0
0
-12
15
-14
-2
-64
-4
-43
-1
-39
-1
0
0
0
0
0
0
0
-1
-13
-41
-8
-3
35
3
44
17
17
0
0
0
0
0
0
0
0
0
-2
-2
-19
0
-37
24
38
1
-2
0
0
0
0
0
0
0
4
0
19
8
0
-20
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
73
-37
0
3
0
0
0
0
0
0
0
0
5
-8
-1
-8
-17
-13
-103
-24
31
0
0
0
0
0
0
0
0
-44
-6
0
67
-13
52
-4
21
7
-5
0
0
0
0
0
0
1
8
1
11
-29
-90
-28
-39
55
42
0
0
0
0
0
0
0
-3
42
-6
-14
-67
-18
102
16
-45
0
0
0
0
0
0
0
0
42
13
56
116
0
-48
4
-54
-24
-8
0
0
0
0
0
0
0
-1
9
1
0
-6
18
6
11
-24
-2
0
0
0
0
0
0
0
0
-12
-2
-18
6
15
0
79
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
8
0
0
0
0
0
0
0
0
1
-2
1
-7
53
-1
-58
13
0
7
0
0
0
0
0
0
0
-8
5
-45
-4
90
59
-58
-101
60
6
-21
0
0
0
0
0
0
-10
-5
6
15
-83
83
141
-129
51
-85
-1
0
0
0
0
0
0
28
3
-6
94
-9
33
113
16
35
6
-1
0
0
0
0
0
0
0
27
34
17
7
26
37
-28
11
-45
0
0
0
0
0
0
0
61
128
-1
47
1
-42
37
-14
16
-43
0
0
0
0
0
0
0
-9
-53
43
14
29
81
6
8
-13
0
0
0
0
0
0
0
0
1
80
22
-23
19
27
41
0
15
-10
0
0
0
0
0
0
0
0
0
0
0
19
-3
-59
22
3
0
0
0
0
0
0
0
0
0
-35
-5
54
-27
-31
-99
14
0
8
0
0
0
0
0
0
0
0
9
-92
98
-69
-70
-26
9
70
-43
3
0
0
0
0
0
0
-6
110
-4
44
-27
-45
31
13
8
-86
0
0
0
0
0
0
0
0
31
-55
-7
-58
-3
22
8
60
-33
4
0
0
0
0
0
0
21
3
5
50
9
17
29
-50
59
-1
6
0
0
0
0
0
0
-8
-22
62
-25
53
-21
-51
-13
5
-32
0
0
0
0
0
0
0
-1
1
28
49
-116
48
25
-31
-5
-69
0
0
0
0
0
0
0
2
-1
46
30
-56
-70
69
-63
0
-31
-1
0
0
0
0
0
0
0
1
-2
0
2
-2
13
13
17
0
0
0
0
0
0
0
0
0
0
12
2
5
5
-20
54
0
4
20
0
0
0
0
0
0
0
-44
24
8
93
6
18
2
22
-59
1
0
0
0
0
0
0
0
59
34
-16
48
-31
3
24
-3
14
9
0
0
0
0
0
0
0
43
0
31
-58
-58
-22
94
34
-1
34
0
0
0
0
0
0
0
20
-15
-8
3
-58
81
7
44
-22
-6
0
0
0
0
0
0
0
20
73
-2
-1
31
113
4
22
-5
41
0
0
0
0
0
0
0
-16
-19
12
-41
50
5
14
19
2
4
0
0
0
0
0
0
0
-5
-2
0
10
-30
-4
-31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-42
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
-19
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
4
34
-8
-36
8
5
0
0
0
0
0
0
0
0
-4
4
0
31
3
-58
-8
-28
48
-1
0
0
0
0
0
0
0
-3
-7
-3
-16
41
1
-5
51
83
0
0
0
0
0
0
0
0
0
0
0
3
-43
13
69
-8
5
-14
0
0
0
0
0
0
0
-5
-1
0
1
-3
-13
5
0
5
-1
0
0
0
0
0
0
0
0
0
0
3
-5
-1
-3
-29
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-31
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
5
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
2
3
0
0
0
0
0
0
0
0
0
0
5
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
-20
-2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-45
0
15
0
0
0
0
0
0
0
0
0
0
0
76
-1
-7
0
40
2
0
0
0
0
0
0
0
0
2
0
2
-1
-5
0
38
0
1
0
-1
0
0
0
0
0
0
-1
0
-6
2
21
-42
0
4
0
0
0
0
0
0
0
0
0
-5
-4
0
10
2
0
16
-3
-19
0
0
0
0
0
0
0
0
0
0
0
5
0
45
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
4
0
0
0
0
0
0
0
0
0
0
5
-14
-5
-4
0
-19
0
0
0
0
0
0
0
0
0
-2
2
1
0
6
-13
-41
0
3
0
0
0
0
0
0
0
0
-1
0
-8
-10
-5
-13
-30
77
-3
0
0
0
0
0
0
0
0
0
0
7
9
5
0
54
5
-6
0
0
0
0
0
0
0
0
1
0
0
-31
-7
-10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-12
-1
0
28
0
0
0
0
0
0
0
0
0
0
0
0
4
24
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-5
7
-9
58
44
0
0
0
0
0
0
0
0
0
0
0
16
-8
-5
-15
-31
3
2
0
0
0
0
0
0
0
0
0
-1
-1
-1
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
23
4
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
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
3
0
0
-9
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-3
0
13
0
2
0
0
0
0
0
0
0
0
0
0
0
5
3
-8
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-8
6
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
5
-10
8
-5
0
-1
0
-3
0
0
0
0
0
0
0
33
-10
-34
-84
-1
0
-2
0
-18
7
0
0
0
0
0
0
0
-6
4
7
-32
7
7
-8
3
7
50
-1
0
0
0
0
0
0
-9
-23
54
69
3
-24
-8
0
-35
1
0
0
0
0
0
0
0
5
-42
1
-6
-13
50
-6
-1
1
-5
0
0
0
0
0
0
0
12
-6
-9
-6
-6
2
-6
-2
-6
0
0
0
0
0
0
0
0
1
14
2
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-4
2
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-19
-23
0
0
0
0
0
0
0
0
0
-14
-5
-41
0
0
8
4
-32
0
0
0
0
0
0
0
0
0
0
7
-12
4
0
0
1
-23
0
0
0
0
0
0
0
0
0
4
-4
3
1
4
0
-4
-5
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
3
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-4
22
2
0
-10
1
0
0
0
0
0
0
0
0
0
0
1
0
7
-4
0
0
-4
0
0
0
0
0
0
0
0
0
7
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
-2
-5
1
9
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
-2
-5
0
-2
-9
3
0
0
0
0
0
0
0
0
12
-4
4
0
-4
0
7
0
7
0
0
0
0
0
0
0
0
-18
-8
1
3
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
3
10
-22
0
0
2
0
0
0
0
0
0
0
0
0
0
-20
-6
4
-15
2
4
-13
-1
0
0
0
0
0
0
0
0
1
4
7
1
45
8
0
-1
-6
0
0
0
0
0
0
0
0
0
-8
4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
7
0
0
0
0
0
0
0
0
0
0
0
0
4
21
33
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
1
21
-14
8
-2
-2
-2
-4
0
0
0
0
0
0
0
0
-1
9
-16
13
-3
-23
-55
-1
-2
8
0
0
0
0
0
0
0
0
-6
-5
-1
6
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-4
4
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
-3
-9
2
8
7
0
5
0
0
0
0
0
0
0
0
0
0
25
41
31
-24
92
0
0
-6
0
0
0
0
0
0
0
0
13
-25
22
-30
-39
8
-8
-5
-13
-10
-3
0
0
0
0
0
0
2
-49
-1
-1
61
-5
2
0
14
0
0
0
0
0
0
0
0
-10
-23
-29
12
57
17
1
-1
-8
0
0
0
0
0
0
0
0
1
126
8
41
-13
-4
0
0
-1
1
0
0
0
0
0
0
0
-3
0
-4
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-34
-33
-21
-23
0
-21
-71
-2
3
0
0
0
0
0
0
14
-33
17
-9
1
0
-3
0
-54
7
1
0
0
0
0
0
0
-1
74
48
1
-76
-12
-50
-7
25
-23
0
0
0
0
0
0
0
-10
30
23
54
-46
-17
16
-8
21
-16
-1
1
0
0
0
0
0
-32
21
20
-4
20
-25
0
-3
1
0
0
0
0
0
0
0
0
-12
-43
27
41
-58
-18
-13
-21
2
1
0
0
0
0
0
0
0
0
-4
52
3
-1
2
0
0
-9
0
0
0
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
2
-6
0
0
-67
5
1
0
0
0
0
0
0
0
8
-22
-24
-17
0
0
0
-14
13
6
0
0
0
0
0
0
0
-10
-2
22
2
-22
16
7
20
42
-3
0
0
0
0
0
0
0
-8
-49
-6
48
13
4
-4
-13
21
13
2
0
0
0
0
0
0
-4
0
25
7
8
-13
14
-1
25
0
0
0
0
0
0
0
0
-2
4
-1
-9
5
18
8
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
-2
0
0
0
0
0
0
0
0
0
2
-4
-1
3
4
-1
0
-9
0
0
0
0
0
0
0
0
0
2
4
0
-4
2
-6
4
3
-7
1
0
0
0
0
0
0
0
1
0
-8
1
0
-1
-14
0
15
0
0
0
0
0
0
0
0
1
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
1
5
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
2
-2
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
42
14
2
-19
1
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-5
-7
2
-8
-1
-6
1
0
0
0
0
0
0
0
0
-21
8
-1
2
8
0
-1
0
0
0
0
0
0
0
0
0
-14
0
-5
6
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
5
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
15
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-9
2
0
1
-4
-3
0
0
0
0
0
0
0
0
-3
-7
1
-5
9
-4
8
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-41
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
-22
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
10
12
-5
-55
-14
1
2
-4
3
0
0
0
0
0
0
0
0
-1
-19
-1
6
13
-4
0
-4
-4
0
0
0
0
0
0
0
0
0
0
6
-31
15
-3
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
9
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-13
6
48
22
4
-9
0
3
0
0
0
0
0
0
0
0
0
2
-10
30
3
-4
4
6
9
0
0
0
0
0
0
0
0
0
-17
-3
7
-8
13
-2
-24
2
0
0
0
0
0
0
0
0
0
3
-8
-43
-8
-64
-31
0
3
-2
0
0
0
0
0
0
0
0
0
-6
10
13
3
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
24
1
34
-3
0
0
0
0
0
0
0
0
0
0
0
1
15
30
-69
16
14
-3
0
6
0
0
0
0
0
0
0
0
-10
-18
31
-5
-57
0
-4
2
-18
-5
0
0
0
0
0
0
0
2
17
-70
-52
-25
-25
-4
31
3
-5
-5
0
0
0
0
0
0
0
-30
22
-17
-124
4
18
0
0
0
0
0
0
0
0
0
0
0
0
3
25
13
3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
28
8
8
8
0
0
0
0
0
0
0
0
0
0
24
11
-20
96
49
-9
-13
0
-12
0
-1
0
0
0
0
0
0
-7
-22
-45
-12
-121
15
9
-2
42
-5
2
0
0
0
0
0
0
-13
-65
38
28
-62
-13
31
48
-24
-4
0
0
0
0
0
0
0
12
5
-12
-5
-96
25
0
3
-13
1
0
0
0
0
0
0
0
0
-8
57
-15
-5
-9
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
-10
11
7
-1
0
0
0
1
0
0
0
0
0
0
8
102
-72
10
-59
-24
-21
0
-24
0
14
0
0
0
0
0
0
-13
-51
-25
-44
-57
16
32
2
-7
-30
-6
0
0
0
0
0
0
-25
14
-14
10
57
32
47
-13
-10
-25
-3
-5
0
0
0
0
0
35
31
4
-60
-57
-31
-15
3
-2
-2
-8
0
0
0
0
0
0
-1
-21
-6
-30
13
10
2
1
0
0
0
0
0
0
0
0
0
-3
1
17
0
45
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
60
85
-44
-24
-18
4
0
0
0
0
0
0
0
0
0
-46
-2
9
-40
59
27
46
0
-12
0
1
0
0
0
0
0
0
14
-25
-37
-32
-21
63
-8
-47
-2
23
-10
0
0
0
0
0
0
-124
93
-10
-55
-6
-16
-96
13
53
-24
5
-6
0
0
0
0
0
34
-48
2
64
-13
6
-87
19
-7
-3
-1
0
0
0
0
0
0
-1
-17
-28
-35
83
9
6
3
1
0
0
0
0
0
0
0
0
0
0
-1
-42
-13
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
5
-7
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-46
-49
-83
8
14
-9
0
-95
-13
1
0
0
0
0
0
0
-50
-11
-41
-104
-18
-58
0
-8
0
-40
6
0
0
0
0
0
0
-4
-79
0
65
15
-32
-52
-12
5
-31
-17
0
0
0
0
0
0
-53
34
-64
45
9
-93
-46
17
37
-17
1
1
0
0
0
0
0
-13
-110
-5
17
-44
-74
-41
1
24
7
-6
-1
0
0
0
0
0
8
3
6
40
-18
28
-27
0
-1
-2
0
0
0
0
0
0
0
-7
8
41
-16
6
57
8
0
-7
-1
0
0
0
0
0
0
0
0
-6
32
3
-12
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
21
-42
7
0
0
0
-2
7
0
0
0
0
0
0
0
23
-15
-73
-72
-35
0
-7
0
20
4
0
0
0
0
0
0
0
-20
13
-64
9
-44
21
-4
-3
30
-25
1
0
0
0
0
0
0
12
54
48
-21
-7
29
-5
-4
-8
-48
-2
0
0
0
0
0
0
-14
40
8
7
66
21
3
14
-4
4
0
0
0
0
0
0
0
-2
13
49
-32
6
2
2
1
0
1
0
0
0
0
0
0
0
0
13
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
4
0
0
2
-3
0
0
0
0
0
0
0
0
-6
9
-7
3
0
-13
0
22
19
0
0
0
0
0
0
0
0
-1
7
-2
-16
-44
8
6
-18
6
-3
0
0
0
0
0
0
0
4
-12
-30
-4
13
9
14
0
-1
-5
-1
0
0
0
0
0
0
0
0
-8
-3
0
14
-2
4
-60
2
0
0
0
0
0
0
0
0
22
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
1
0
-2
-8
0
1
0
-1
0
0
0
0
0
0
0
0
-6
-5
-2
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
1
-3
3
-7
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
14
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
13
-8
2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
-4
4
0
0
0
0
0
0
0
0
0
0
10
25
-13
5
0
0
13
0
0
0
0
0
0
0
0
0
0
-2
-4
-2
0
-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
-2
2
7
2
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-10
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
6
-8
-22
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
-14
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-37
-17
-47
3
0
-5
0
0
0
0
0
0
0
0
-6
0
-25
0
-34
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
3
0
0
0
0
0
0
0
0
0
0
0
5
0
-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
-5
-8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
19
32
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-22
15
4
-31
-20
-13
0
8
12
0
0
0
0
0
0
0
-8
-22
-9
1
17
8
1
4
-1
5
0
0
0
0
0
0
0
-4
27
5
5
-24
75
-75
4
2
0
0
0
0
0
0
0
0
0
0
-2
23
-4
3
20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
4
-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
-108
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
-47
5
39
0
0
-1
0
0
0
0
0
0
0
0
-2
-2
58
-44
-76
-2
5
0
13
-8
0
0
0
0
0
0
0
3
-11
-74
-9
-4
-49
13
1
2
1
0
0
0
0
0
0
0
0
-7
-2
-7
4
7
-23
-12
-15
-13
0
0
0
0
0
0
0
0
-4
-1
37
-41
12
-3
-8
0
0
0
0
0
0
0
0
0
0
0
-10
0
9
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-58
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-38
15
81
-97
-4
0
0
0
0
0
0
0
0
0
0
4
31
-40
-59
-41
-10
-13
0
0
8
1
0
0
0
0
0
0
-1
15
-1
-58
79
0
-26
2
9
0
0
0
0
0
0
0
0
0
2
31
23
4
22
5
-4
-1
2
0
0
0
0
0
0
0
0
-2
-8
-33
17
47
6
0
0
0
0
0
0
0
0
0
0
0
0
-19
-50
-9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
1
-19
18
-24
-3
0
0
6
1
0
0
0
0
0
0
-31
-5
-43
13
-50
75
-8
0
0
0
0
0
0
0
0
0
0
49
5
3
-70
-29
-8
-9
1
35
-48
0
0
0
0
0
0
0
-10
-59
-13
-2
-72
16
-4
-25
3
28
0
0
0
0
0
0
0
5
28
42
-1
-29
-7
7
-15
31
0
0
0
0
0
0
0
0
0
-75
-12
-89
30
-21
3
0
0
18
0
0
0
0
0
0
0
0
0
-27
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-41
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-62
-37
-77
-9
-52
-39
2
0
0
0
0
0
0
0
0
0
-8
89
41
82
-27
-12
-45
0
8
0
4
0
0
0
0
0
0
2
-36
49
-88
-75
14
7
-9
21
-67
4
0
0
0
0
0
0
34
11
-49
-26
-155
-25
-52
0
-23
3
7
0
0
0
0
0
0
0
42
-93
-60
46
7
-2
13
3
58
0
0
0
0
0
0
0
-3
-18
52
-5
43
-57
-7
-1
0
-5
0
0
0
0
0
0
0
0
-7
20
5
-3
4
-5
0
2
0
0
0
0
0
0
0
0
0
-3
0
-5
6
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
25
-17
-77
30
-1
-7
0
0
-2
0
0
0
0
0
0
58
-40
-44
43
-57
-13
-34
0
-5
0
-24
-3
0
0
0
0
0
-134
6
53
-132
-49
45
-40
-28
-21
-13
25
0
0
0
0
0
0
-80
-68
30
31
-54
8
-7
60
-23
-22
-10
0
0
0
0
0
0
-6
41
-27
29
-8
-117
45
-16
21
-12
-2
0
0
0
0
0
0
0
13
-7
8
-13
-41
8
0
8
3
0
0
0
0
0
0
0
0
0
-53
-135
-40
-1
-31
0
-1
0
0
0
0
0
0
0
0
0
23
0
-24
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
61
-52
21
25
3
9
0
-90
-1
0
0
0
0
0
0
0
31
37
-19
-39
-50
-17
0
0
0
-40
8
0
0
0
0
0
0
4
-36
-73
-20
-4
-108
-1
-85
-30
74
-10
0
0
0
0
0
0
30
-53
-87
54
17
-9
-21
-32
-5
-42
-3
0
0
0
0
0
0
7
-7
-58
-26
-25
-55
28
40
33
8
-2
0
0
0
0
0
0
74
-67
-120
-47
77
-25
-23
13
6
0
0
0
0
0
0
0
0
-25
54
61
63
20
-34
3
1
0
0
0
0
0
0
0
0
0
5
-8
-5
-7
2
3
-1
0
-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
-25
6
0
10
1
0
0
30
0
0
0
0
0
0
0
0
31
19
46
-78
25
0
-1
0
12
0
0
0
0
0
0
0
0
31
57
-24
17
-41
-3
12
-22
-43
0
0
0
0
0
0
0
0
-2
63
-14
58
50
9
2
0
-12
-8
1
0
0
0
0
0
0
-13
7
1
-38
7
6
-2
3
-4
0
2
0
0
0
0
0
0
0
-18
-19
0
-1
7
3
0
2
1
0
0
0
0
0
0
0
0
1
0
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
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
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-15
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-2
7
-6
1
1
15
-4
-2
0
0
0
0
0
0
0
-2
-3
1
7
-20
1
1
1
0
-2
0
0
0
0
0
0
0
1
8
-6
0
-3
-5
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-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
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
-34
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
-15
3
0
0
0
5
0
0
0
0
0
0
0
0
2
0
7
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
3
0
0
1
0
0
0
0
0
0
0
0
0
0
2
13
-1
-6
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-128
-5
29
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-60
1
27
0
0
-10
-16
2
0
0
0
0
0
0
0
2
0
0
-8
13
-19
15
0
1
0
0
0
0
0
0
0
0
0
-28
0
-31
-34
5
-2
1
0
1
0
0
0
0
0
0
0
0
-2
-8
8
19
17
2
17
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-41
43
-1
-46
-2
3
0
0
0
0
0
0
0
0
0
0
3
0
-44
1
-33
10
-1
0
1
6
-1
0
0
0
0
0
0
1
21
2
-15
15
42
2
-1
0
3
0
0
0
0
0
0
0
-12
32
-4
0
69
-23
22
22
3
18
0
0
0
0
0
0
0
0
0
-1
-5
-13
-44
12
-2
0
-6
0
0
0
0
0
0
0
-1
0
9
-5
-41
3
-9
3
1
0
0
0
0
0
0
0
0
0
0
1
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
93
-8
5
7
0
0
0
0
0
0
0
0
0
0
0
-7
-12
18
27
-5
-2
13
0
-1
0
0
0
0
0
0
0
0
2
63
9
17
25
12
-6
0
-16
7
-1
0
0
0
0
0
0
4
18
23
7
-9
-50
-4
2
0
-12
0
0
0
0
0
0
0
0
-42
-124
20
0
-13
-68
2
12
0
0
0
0
0
0
0
0
0
4
5
-25
-23
0
8
7
-5
-1
0
0
0
0
0
0
0
0
0
-9
-8
5
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
-14
-8
0
0
0
0
2
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
-1
5
17
20
-69
0
0
0
0
0
0
0
0
0
0
0
0
-5
-23
-21
9
21
9
10
0
0
0
1
0
0
0
0
0
0
-2
-31
69
24
68
-68
-23
0
5
16
0
0
0
0
0
0
0
-1
34
63
-84
-40
28
3
34
-1
1
3
0
0
0
0
0
0
1
0
9
-67
-76
0
-9
0
-14
-3
0
0
0
0
0
0
0
0
-3
-4
-143
-66
29
-17
0
0
5
0
0
0
0
0
0
0
0
-1
34
4
-14
-21
1
0
2
-1
0
0
0
0
0
0
0
0
0
0
-6
0
3
2
-2
-3
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
76
-55
6
4
-25
0
0
0
0
0
0
0
0
0
0
-3
47
-34
44
17
-72
5
0
8
0
1
0
0
0
0
0
0
16
23
24
95
-21
56
-55
-6
-17
-27
0
-1
0
0
0
0
0
6
-42
-18
58
-34
33
-31
13
-2
0
-5
0
0
0
0
0
0
-39
-50
11
-8
-21
-46
0
-8
-15
0
0
0
0
0
0
0
0
3
58
-37
-40
-17
41
53
0
1
-5
0
0
0
0
0
0
0
5
0
-9
-51
-59
0
14
-8
0
-6
0
0
0
0
0
0
0
0
1
-24
5
8
17
6
1
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
-74
-110
-125
-18
-66
1
0
0
0
0
0
0
0
0
0
8
-63
21
-74
92
-121
-16
0
-4
0
0
0
0
0
0
0
0
-42
-5
-18
43
80
31
30
-5
-18
-42
-2
0
0
0
0
0
0
-3
-53
74
49
-62
18
15
9
28
-10
-1
0
0
0
0
0
0
-4
-5
-32
-11
-8
-25
-17
0
-111
4
4
4
0
0
0
0
0
1
-5
-42
-42
3
-18
29
-83
0
-102
0
0
0
0
0
0
0
2
6
-27
-50
-69
4
14
3
0
2
0
0
0
0
0
0
0
0
4
-1
-23
-58
10
-24
3
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
3
47
-23
3
64
-29
31
0
0
2
-1
0
0
0
0
0
0
-52
-31
31
32
11
-57
13
0
-13
0
16
-1
0
0
0
0
0
-95
16
-61
-7
-61
-46
-5
-109
25
-44
-17
0
0
0
0
0
0
24
-29
-77
-100
-10
-44
4
-8
-7
-67
-2
0
0
0
0
0
0
4
-20
-56
-11
-76
99
-32
-46
0
16
-1
1
0
0
0
0
0
5
-19
-26
-9
77
-42
49
45
42
0
4
0
0
0
0
0
0
2
-12
-147
-23
-102
-28
55
42
-5
0
0
0
0
0
0
0
0
0
0
16
64
-9
-2
1
1
2
-1
0
0
0
0
0
0
0
0
12
25
-1
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
-14
-47
-28
25
2
15
-4
0
16
0
0
0
0
0
0
0
0
-9
-63
22
-13
-46
-57
0
-6
0
-21
3
0
0
0
0
0
0
19
-18
143
0
18
-95
11
-75
-27
49
-1
0
0
0
0
0
0
2
21
-16
-18
-36
-16
4
-22
52
6
-5
0
0
0
0
0
0
-32
1
66
-60
-17
2
-3
44
0
8
-4
0
0
0
0
0
0
14
32
6
25
6
-3
-36
-6
-40
1
0
1
0
0
0
0
0
0
-50
2
-5
-100
72
-13
24
-2
0
0
0
0
0
0
0
0
0
10
58
-53
25
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
16
-25
35
-4
5
0
2
95
0
0
0
0
0
0
0
0
-16
6
-12
20
-70
0
0
0
-31
-1
0
0
0
0
0
0
0
12
39
15
1
66
20
-25
10
4
1
0
0
0
0
0
0
0
9
34
24
13
-27
22
-2
-7
4
3
0
0
0
0
0
0
0
3
17
11
66
5
-13
7
0
0
0
0
0
0
0
0
0
0
0
16
45
-42
6
4
-1
-7
-6
0
0
0
0
0
0
0
0
-3
-3
0
-12
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
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
0
0
6
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
6
-1
0
4
0
8
1
0
0
0
0
0
0
0
0
1
0
0
-1
13
1
-5
-1
-12
-2
0
0
0
0
0
0
0
0
0
-2
-42
3
2
0
1
0
0
0
0
0
0
0
0
0
0
6
-5
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
15
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-8
2
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
0
35
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-6
23
-68
6
6
0
0
0
0
0
0
0
0
0
0
0
-8
6
-20
14
0
-2
0
-3
1
0
0
0
0
0
0
0
0
-14
0
-2
6
1
1
-1
2
0
0
0
0
0
0
0
0
-2
9
1
-8
-58
-24
-13
0
0
-10
0
0
0
0
0
0
0
0
0
0
12
0
-18
0
0
-4
-5
0
0
0
0
0
0
0
0
0
34
-2
6
2
5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
12
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-30
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
1
-8
1
20
-3
-1
0
6
4
0
0
0
0
0
0
0
0
1
-1
18
13
-48
3
0
-4
1
0
0
0
0
0
0
0
-3
9
51
-13
2
-18
2
6
1
4
0
0
0
0
0
0
0
0
5
15
0
20
0
1
6
0
1
0
0
0
0
0
0
0
0
1
-35
-4
-37
-13
5
-6
-2
0
0
0
0
0
0
0
0
0
0
-2
-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
29
4
-21
-1
8
0
0
0
0
0
0
0
0
0
0
0
29
4
30
-13
7
-3
0
0
0
0
0
0
0
0
0
0
3
6
-22
-38
38
-1
23
0
3
24
0
0
0
0
0
0
0
0
-75
3
76
5
-7
9
0
-4
-23
0
0
0
0
0
0
0
-2
-61
-43
8
-23
-23
-52
-21
-5
-8
0
0
0
0
0
0
0
0
-33
19
-59
0
28
9
-4
-2
0
0
0
0
0
0
0
0
-2
15
-12
8
-23
-1
-3
-2
0
-7
0
0
0
0
0
0
0
0
0
2
1
4
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
31
-19
0
-9
0
0
0
0
0
0
0
0
0
0
0
11
69
102
30
12
1
0
0
0
0
0
0
0
0
0
0
-3
-1
-21
42
-31
45
4
0
8
-24
0
0
0
0
0
0
0
0
-13
-40
-16
-30
-3
-18
-51
9
5
0
0
0
0
0
0
0
-3
14
7
-37
15
70
24
-15
-4
3
0
0
0
0
0
0
0
0
-1
-110
-43
-66
0
2
35
0
-37
0
0
0
0
0
0
0
-2
-1
-5
42
-9
25
0
4
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
-15
-101
3
-9
0
0
0
0
0
0
0
0
0
0
-3
14
18
-7
-56
-41
0
0
0
0
0
0
0
0
0
0
0
-3
13
-42
59
-16
19
-5
3
21
0
0
0
0
0
0
0
0
-14
-22
-9
-76
-56
51
-12
-2
-42
29
1
0
0
0
0
0
0
16
-41
-78
27
11
58
-84
4
13
0
0
0
0
0
0
0
0
0
28
8
48
53
17
0
-1
7
-5
0
0
0
0
0
0
0
-15
-59
-31
-20
-21
-4
-10
1
2
3
0
0
0
0
0
0
0
0
5
7
-50
-2
3
5
-4
0
0
0
0
0
0
0
0
0
0
3
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
41
50
-16
30
30
-87
14
0
0
-4
0
0
0
0
0
0
13
0
51
7
-3
48
9
0
2
0
0
0
0
0
0
0
0
-31
2
36
-92
-3
72
-62
-23
-6
-19
0
0
0
0
0
0
0
1
-51
21
-56
-71
-30
-45
0
8
31
0
-1
0
0
0
0
0
-67
9
14
-42
-27
-40
78
-29
9
74
0
0
0
0
0
0
0
-2
-58
-57
24
-97
29
22
0
21
6
0
0
0
0
0
0
0
0
-24
-51
24
-56
8
-41
-5
4
-51
0
0
0
0
0
0
0
0
13
3
18
-8
-2
1
5
1
0
0
0
0
0
0
0
0
0
-8
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
54
-52
-2
-46
0
59
16
4
0
0
0
0
0
0
0
0
0
5
-36
-36
-13
15
-1
-9
0
-102
0
9
0
0
0
0
0
0
66
11
33
-101
12
33
10
-66
47
-97
-9
0
0
0
0
0
0
-12
50
23
5
-74
37
-42
-87
29
-79
2
0
0
0
0
0
0
-37
47
102
-6
34
-38
-97
-7
55
7
0
0
0
0
0
0
0
14
-11
90
39
-4
-116
-14
-3
0
32
0
0
0
0
0
0
0
1
6
-6
-99
-2
56
4
52
-29
-3
0
0
0
0
0
0
0
0
-3
-31
-94
77
-83
-8
1
1
0
0
0
0
0
0
0
0
0
0
0
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-7
-68
57
20
-78
0
0
59
5
0
0
0
0
0
0
0
-104
48
30
-30
-13
84
0
7
0
2
1
0
0
0
0
0
0
-41
54
57
-20
31
37
-5
-15
-39
-20
1
0
0
0
0
0
0
35
34
-17
-39
-28
65
-54
35
57
-9
0
0
0
0
0
0
0
-119
-16
-48
-31
-10
-57
77
-4
-90
0
0
0
0
0
0
0
0
-15
23
38
38
-23
-79
-23
-73
0
3
0
0
0
0
0
0
0
-27
-43
-107
33
-31
-27
7
10
-1
0
0
0
0
0
0
0
0
0
-4
-8
18
53
-51
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
-15
8
3
-17
0
0
59
0
0
0
0
0
0
0
0
9
-48
-25
28
71
0
-1
0
26
-1
0
0
0
0
0
0
0
20
1
8
65
56
-3
3
-16
19
-2
0
0
0
0
0
0
0
-25
23
26
84
-5
-58
-46
0
20
-8
0
0
0
0
0
0
0
32
68
49
-70
9
-1
0
0
3
0
-1
0
0
0
0
0
0
0
-14
6
-14
5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
6
-12
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-13
1
5
-1
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
6
0
1
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
1
14
-6
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-1
10
1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
2
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-27
-2
-33
0
0
-3
0
0
0
0
0
0
0
0
9
2
5
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
-24
13
-3
0
0
-12
0
0
0
0
0
0
0
0
2
-1
3
8
2
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
-14
-1
1
0
-6
5
0
0
0
0
0
0
0
0
-46
0
-3
2
-22
0
-5
0
0
0
0
0
0
0
0
0
0
0
18
3
2
1
0
-4
0
-5
0
0
0
0
0
0
0
0
8
0
-9
7
-19
-15
1
0
-8
0
0
0
0
0
0
0
0
0
-15
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
50
-29
4
2
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
13
3
2
0
0
-5
0
0
0
0
0
0
0
0
1
5
-55
8
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-46
42
-28
2
3
0
0
0
0
0
0
0
0
0
0
-12
8
-14
1
-22
2
0
2
0
0
0
0
0
0
0
0
0
3
5
13
0
0
9
1
-15
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-12
-3
-2
6
-13
0
0
0
0
0
0
0
0
0
0
1
10
-2
-10
-50
5
4
0
-7
-34
0
0
0
0
0
0
0
0
25
18
-139
6
-15
0
-1
-1
-1
0
0
0
0
0
0
0
0
-1
-12
-13
-14
-3
-5
9
-4
-15
0
0
0
0
0
0
0
0
-7
-10
-53
20
-14
5
0
1
22
0
0
0
0
0
0
0
0
0
-33
4
25
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
50
12
-69
0
2
0
0
0
0
0
0
0
0
0
0
0
84
92
-89
-96
42
-4
0
0
0
0
0
0
0
0
0
0
13
-8
32
67
-31
9
9
3
0
33
1
0
0
0
0
0
0
0
21
6
-25
8
-26
-2
0
0
2
0
0
0
0
0
0
0
9
-2
-46
3
-107
-52
30
10
-45
-1
0
0
0
0
0
0
0
0
74
-65
-53
-23
-42
3
-20
-1
-2
0
0
0
0
0
0
0
16
-1
-8
-45
50
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
4
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
59
-50
5
23
0
0
0
0
0
0
0
0
0
0
8
6
50
9
-36
-8
8
0
0
0
0
0
0
0
0
0
0
-4
3
71
-20
63
-49
10
18
4
-6
0
0
0
0
0
0
0
0
-47
22
50
-20
22
-41
1
-2
-4
0
0
0
0
0
0
0
15
-39
5
11
43
50
-45
-10
0
-37
0
0
0
0
0
0
0
-2
-56
-30
-85
-28
22
-7
12
-6
5
0
0
0
0
0
0
0
1
-2
50
-16
42
21
-60
0
-32
-8
0
0
0
0
0
0
0
0
6
2
24
-19
-10
4
4
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
0
0
0
-8
0
0
0
0
0
0
0
0
18
-31
49
-8
21
-33
-28
-6
0
0
-1
0
0
0
0
0
0
5
-42
-9
-50
40
-55
-55
0
0
0
-5
0
0
0
0
0
0
25
18
5
120
-53
60
-66
-19
27
-11
-2
0
0
0
0
0
0
54
33
42
0
-6
-40
1
17
24
-9
8
0
0
0
0
0
0
18
68
86
24
-39
-51
-107
-30
1
-54
0
0
0
0
0
0
0
4
53
-69
6
-14
70
-34
-121
-13
24
-3
0
0
0
0
0
0
1
-20
-8
3
-75
-11
22
-20
0
10
0
0
0
0
0
0
0
0
-25
-26
-37
-10
27
31
-25
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-48
13
31
-30
-49
3
0
41
-3
0
0
0
0
0
0
0
-5
70
-58
23
19
6
0
-13
0
4
1
0
0
0
0
0
0
27
-67
-2
-33
28
4
-28
-9
48
34
0
0
0
0
0
0
0
-59
21
-23
74
-61
14
-10
89
-67
-4
-1
0
0
0
0
0
0
-58
-34
67
15
43
-68
-51
24
-9
8
0
0
0
0
0
0
0
-25
-41
-8
14
-27
-5
6
-24
3
-2
0
0
0
0
0
0
0
-63
-55
85
7
53
30
1
23
0
0
0
0
0
0
0
0
0
3
-13
46
21
50
-1
-3
5
-35
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-7
-8
0
1
0
0
32
0
0
0
0
0
0
0
0
0
-5
24
26
0
0
-1
0
26
-1
0
0
0
0
0
0
0
-7
80
-35
38
-54
1
-1
0
52
0
0
0
0
0
0
0
0
-29
19
142
-2
0
8
-5
3
7
0
0
0
0
0
0
0
0
-3
49
15
87
84
-46
-8
0
10
0
0
0
0
0
0
0
0
49
0
31
3
41
-33
-14
-5
2
0
0
0
0
0
0
0
0
3
-9
7
66
46
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
19
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
-10
-3
0
0
0
2
-30
0
0
0
0
0
0
0
0
0
3
0
0
1
-10
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-20
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
-2
-6
-6
-3
0
0
0
0
0
0
0
0
0
0
2
0
-27
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
5
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-80
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-3
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
-8
1
-8
-30
25
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
15
5
4
0
0
0
0
0
0
0
0
0
0
0
-9
2
23
0
8
0
0
0
0
0
0
0
0
0
0
0
18
0
8
-8
27
0
4
0
0
3
0
0
0
0
0
0
0
-4
-63
0
-79
-5
-15
0
0
0
-3
0
0
0
0
0
0
0
-1
0
23
-50
30
1
13
0
1
0
0
0
0
0
0
0
0
0
-18
-6
-41
-15
-47
-10
-15
-1
0
0
0
0
0
0
0
0
-5
7
0
0
-24
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-52
-3
16
0
-7
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
30
-2
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
-93
-2
-6
16
42
1
0
0
0
0
0
0
0
0
0
0
5
1
24
-89
-75
-29
-4
-4
0
-12
0
0
0
0
0
0
0
-8
3
3
135
-33
-93
-8
2
-1
0
0
0
0
0
0
0
0
-3
-6
30
-67
77
-40
-35
0
0
25
0
0
0
0
0
0
0
0
-6
5
-27
34
7
9
0
1
1
0
0
0
0
0
0
0
-39
3
41
22
6
-6
-27
2
2
0
0
0
0
0
0
0
0
0
20
-5
18
44
-20
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
50
21
78
-8
10
0
0
0
6
0
0
0
0
0
0
-9
5
-38
-2
-132
13
-31
0
-12
0
0
0
0
0
0
0
0
4
-38
5
46
-100
15
-13
25
-23
-150
9
0
0
0
0
0
0
3
-35
13
14
51
79
-37
-43
-109
-5
5
0
0
0
0
0
0
-11
-9
92
48
32
-8
-120
-59
-83
-45
0
0
0
0
0
0
0
-7
25
59
-26
12
-15
-3
39
33
-15
0
0
0
0
0
0
0
18
79
-47
-28
-34
-24
36
3
-45
0
0
0
0
0
0
0
0
0
94
-5
41
-19
-52
-43
5
0
1
0
0
0
0
0
0
0
0
5
45
10
-74
0
0
-14
5
0
0
0
0
0
0
0
0
0
0
24
43
3
21
-5
5
0
12
2
0
0
0
0
0
0
0
34
-30
-58
-15
71
-101
0
-1
0
4
0
0
0
0
0
0
0
15
10
-49
-27
-74
13
5
0
-44
0
0
0
0
0
0
0
0
-4
-44
48
-60
122
27
-105
6
-64
-8
0
0
0
0
0
0
0
7
-57
-28
-48
79
-16
37
-23
15
-1
0
0
0
0
0
0
0
18
68
-34
-67
-94
-7
-58
22
1
0
0
0
0
0
0
0
0
-20
-61
43
9
-32
69
-45
-25
-4
0
0
0
0
0
0
0
0
-114
55
24
17
-20
35
-103
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
14
-91
-1
0
0
0
3
0
0
0
0
0
0
0
0
-22
-13
6
27
-8
0
-3
0
33
0
0
0
0
0
0
0
0
-5
63
16
26
-1
37
0
0
-31
0
0
0
0
0
0
0
0
46
-9
-44
-7
27
3
1
0
-4
0
0
0
0
0
0
0
0
1
74
-30
24
-13
-13
8
5
-55
0
0
0
0
0
0
0
0
16
8
46
18
5
-12
0
-4
2
0
0
0
0
0
0
0
0
-2
6
3
-4
1
-9
0
0
2
0
0
0
0
0
0
0
0
1
1
3
14
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-10
0
0
-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
8
1
0
0
0
0
-9
5
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
8
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-23
-8
12
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
19
0
13
-18
0
16
0
0
0
0
0
0
0
0
3
1
60
-8
21
13
6
0
0
0
0
0
0
0
0
0
0
0
-5
0
-89
8
15
8
0
-4
0
0
0
0
0
0
0
0
3
0
-7
0
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-34
-19
-7
8
0
0
0
0
0
0
0
0
0
0
0
-18
-2
35
-9
-118
-35
0
4
-6
0
0
0
0
0
0
0
0
-4
-12
1
-2
25
146
-8
0
-6
0
0
0
0
0
0
0
0
-57
23
61
38
-5
-87
-17
3
-1
0
0
0
0
0
0
0
0
0
18
9
37
-105
-88
-23
23
-25
0
0
0
0
0
0
0
0
0
0
-31
-7
-43
-3
3
0
1
0
0
0
0
0
0
0
0
0
-31
0
60
-31
5
-19
1
0
0
0
0
0
0
0
0
0
-12
1
16
-15
-83
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
4
-2
-14
0
0
0
-36
0
0
0
0
0
0
0
0
0
9
-10
3
-10
0
0
0
-7
0
0
0
0
0
0
0
0
-18
0
5
-22
-22
-1
0
3
3
0
0
0
0
0
0
0
0
0
-15
5
-44
8
-19
-2
0
0
0
0
0
0
0
0
0
0
-9
0
4
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
21
0
9
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-32
0
2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-1
-2
-8
0
0
4
0
0
0
0
0
0
0
0
-7
0
-2
0
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
-2
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
7
-6
0
-1
0
0
0
0
0
0
0
0
-5
0
-1
0
-7
7
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-2
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
2
18
0
0
0
0
0
0
0
0
0
0
0
-14
-4
6
1
8
0
3
0
0
0
0
0
0
0
0
0
-4
0
-3
0
-6
-4
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-39
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-31
49
0
0
0
0
0
0
0
0
0
0
0
0
9
3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-24
-4
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-3
0
28
0
-3
0
0
0
0
0
0
0
0
0
4
6
9
0
51
0
21
0
2
0
0
0
0
0
0
-8
0
0
-2
-7
25
2
-13
0
-1
0
0
0
0
0
0
0
0
0
1
1
-4
2
-3
38
0
0
0
0
0
0
0
0
0
8
-2
0
0
2
5
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-5
-2
80
19
0
-24
0
-4
0
0
0
0
0
0
0
25
-37
9
-61
6
53
75
-2
1
0
0
0
0
0
0
0
0
7
3
-5
62
48
13
42
-22
5
-13
0
0
0
0
0
0
0
19
0
19
-9
9
13
-5
-3
6
-3
0
0
0
0
0
0
0
10
7
6
-38
-17
15
42
-5
-10
0
0
0
0
0
0
0
0
-25
0
0
24
-20
-3
-63
10
-6
2
0
0
0
0
0
0
0
2
0
1
9
9
-10
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
9
0
-27
80
0
0
0
0
0
0
0
0
0
16
-1
-4
-25
-32
43
38
0
-3
0
0
0
0
0
0
0
0
-3
2
-14
17
8
-25
2
4
4
0
0
0
0
0
0
0
0
-3
0
-3
-2
14
-5
5
1
-1
0
0
0
0
0
0
0
0
-4
0
-5
-22
-17
-3
1
0
-7
0
0
0
0
0
0
0
0
-3
0
0
1
0
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-12
0
19
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
-2
0
0
0
0
0
0
0
0
0
0
-3
0
2
2
9
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-9
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-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
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-7
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
-1
0
0
-2
0
0
0
0
0
0
0
-3
2
0
0
17
-18
-54
-91
12
0
0
0
0
0
0
0
0
0
0
0
6
-5
33
1
10
-7
0
0
0
0
0
0
0
0
0
0
0
3
1
50
-9
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
12
0
-4
0
0
0
0
0
0
0
0
1
0
0
1
2
6
-4
12
0
0
0
0
0
0
0
0
0
0
0
-5
41
-47
18
-12
-9
-1
0
0
0
0
0
0
0
0
0
0
3
4
-9
-1
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
1
0
0
0
0
0
0
0
0
0
0
-9
0
-6
-48
5
-14
-5
-32
4
0
0
0
0
0
0
0
0
2
0
-2
-2
-51
-4
-31
-5
-1
0
0
0
0
0
0
0
0
0
4
4
-24
8
42
-2
1
0
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
12
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-63
1
0
0
0
0
0
0
0
0
0
0
-1
-2
7
0
11
41
-56
-70
0
1
0
0
0
0
0
0
1
0
-1
0
-1
-41
86
37
15
0
0
0
0
0
0
0
0
0
0
0
1
22
-34
-14
-21
-4
-4
0
0
0
0
0
0
0
0
-1
0
0
-8
-4
-91
-3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
6
0
24
0
4
0
0
0
0
0
0
0
0
1
0
4
37
-2
-23
-8
-30
12
0
0
0
0
0
0
0
5
8
14
-2
3
-4
-63
-79
25
-3
0
0
0
0
0
0
0
-8
-4
6
4
-8
7
27
-4
15
0
-2
0
0
0
0
0
0
-4
-2
3
-3
5
-8
23
24
-20
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
1
10
12
-25
0
27
-13
0
9
1
0
0
0
0
0
0
-24
-41
16
-41
34
14
-7
22
23
-5
-14
0
0
0
0
0
0
7
-2
8
5
13
-44
-57
3
-3
-1
0
0
0
0
0
0
0
7
-2
-7
43
-28
48
2
55
42
0
-4
0
0
0
0
0
0
-2
1
2
-6
-37
55
-15
23
-30
0
0
0
0
0
0
0
0
-6
0
0
3
5
-3
7
55
14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-29
10
31
117
-54
0
-41
78
0
-1
0
0
0
0
0
0
32
-3
75
-3
-10
76
5
50
-6
3
1
0
0
0
0
0
0
-35
-23
-6
-49
36
-21
-60
12
-39
-5
0
1
0
0
0
0
0
-8
-15
58
12
-17
43
20
-37
-32
-2
0
0
0
0
0
0
0
-10
49
-24
-31
44
-38
-76
-54
23
1
0
1
0
0
0
0
0
-4
7
4
4
13
-89
-53
27
6
-6
4
0
0
0
0
0
0
8
-4
-2
46
-49
22
22
-66
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-12
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-3
0
0
0
0
0
0
0
0
0
0
25
6
-22
-6
2
0
2
0
-1
0
0
0
0
0
0
0
0
7
13
10
5
22
23
4
20
2
-8
0
0
0
0
0
0
0
0
-5
-63
-53
59
30
5
-46
-5
0
0
0
0
0
0
0
0
-9
-18
-10
-35
-10
-50
-75
-32
-12
0
0
0
0
0
0
0
0
8
1
5
-10
18
-35
-9
-8
4
-1
0
0
0
0
0
0
0
13
0
-2
-20
0
8
-31
-4
-3
0
0
-1
0
0
0
0
0
-8
0
2
0
-6
34
-4
3
5
0
0
0
0
0
0
0
0
0
0
0
-5
2
-7
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-5
5
0
-31
18
1
0
0
0
0
0
0
0
0
0
0
-1
-1
20
3
9
-16
-4
0
0
0
0
0
0
0
0
0
-2
-1
0
-3
1
-34
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
12
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
3
-1
6
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
24
46
5
0
0
0
0
0
0
0
0
0
8
0
0
-42
-6
32
19
12
41
0
0
0
0
0
0
0
0
0
0
0
6
7
44
-20
1
-25
0
0
0
0
0
0
0
0
0
0
0
8
-52
2
-5
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-2
-25
29
13
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
61
10
-35
0
1
0
0
0
0
0
0
0
0
0
0
0
-55
-13
-81
-23
8
1
2
0
0
0
0
0
0
1
1
0
0
7
-23
-28
-21
2
0
0
0
0
0
0
0
0
0
0
1
-1
18
20
1
-19
5
0
0
0
0
0
0
0
0
1
-1
0
1
-29
5
5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
2
6
-8
-8
3
55
-24
0
-2
0
0
0
0
0
0
0
-2
2
-3
-4
7
7
-36
5
-19
-7
0
0
0
0
0
0
0
-4
0
-1
0
35
-17
32
66
5
0
0
0
0
0
0
0
0
1
0
0
-1
1
-8
-46
31
0
0
0
0
0
0
0
0
0
0
4
-3
1
-8
7
37
-13
-7
2
0
0
0
0
0
0
0
0
-3
0
2
0
-35
-7
67
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-1
-76
-1
-13
0
41
0
0
0
0
0
0
0
0
-6
2
-12
-9
14
41
-8
-54
5
0
0
0
0
0
0
0
-4
0
1
0
-1
0
-60
-20
19
-24
0
0
0
0
0
0
0
-3
-5
-2
-1
6
-30
-14
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
21
-4
-2
-1
72
0
0
0
0
0
0
0
0
0
0
8
0
-3
-28
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-8
-107
-61
4
0
12
0
0
0
0
0
0
0
-32
6
-2
-1
-14
-2
-28
-97
-14
6
0
0
0
0
0
0
0
-2
-2
-4
14
-6
0
-21
54
48
6
4
0
0
0
0
0
0
-2
4
-10
8
-2
-16
16
41
-9
1
-2
0
0
0
0
0
0
-3
-1
1
-7
20
4
48
5
-74
-1
1
0
0
0
0
0
0
4
0
0
1
5
-31
19
-23
0
7
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-14
-15
6
1
-53
-7
86
0
44
-1
0
0
0
0
0
0
8
-1
-23
9
56
51
-38
63
65
31
-6
0
0
0
0
0
0
-8
-43
-4
-51
-89
-30
-55
48
25
29
1
0
0
0
0
0
0
22
-7
1
-48
-82
-32
-53
-49
-23
3
0
0
0
0
0
0
0
-18
-25
-4
20
-41
60
97
-5
89
0
-3
0
0
0
0
0
0
0
0
3
10
-14
49
-1
66
1
24
1
0
0
0
0
0
0
0
0
1
0
-1
-12
46
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-72
-12
-25
-73
15
36
-58
0
-5
0
0
2
0
0
0
0
-17
-54
-4
-66
-21
82
-12
-42
7
56
-21
0
0
0
0
0
0
-35
-3
-68
-91
-18
-59
-6
-93
0
14
1
0
0
0
0
0
0
-33
6
13
62
-40
-23
-34
7
8
69
-1
0
0
0
0
0
0
15
1
70
-15
-31
110
58
18
-51
3
-2
0
0
0
0
0
0
0
-1
-4
42
-8
62
-24
-23
148
18
-7
0
0
0
0
0
0
0
0
-1
-1
-46
39
-41
-50
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-14
-5
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
18
-59
-30
-60
58
75
19
0
-3
1
-7
0
0
0
0
0
-43
58
-42
78
-53
63
-27
75
69
6
-66
-4
0
0
0
0
0
20
25
-52
13
44
-24
-31
-81
-102
-58
10
8
0
0
0
0
0
13
-84
-12
-48
-77
-79
-57
-93
42
23
-29
0
0
0
0
0
0
-31
13
-7
15
32
-23
49
25
-60
-10
-3
-4
1
0
0
0
0
12
-5
-24
7
30
69
-32
-59
-5
-4
2
0
0
0
0
0
0
-6
3
14
1
27
-8
9
21
-12
-2
-1
0
0
0
0
0
0
0
0
0
-1
-5
76
-21
-32
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
0
0
0
0
0
0
0
0
10
-39
-61
106
-5
-43
130
0
23
-33
-3
0
0
0
0
0
0
-74
-32
-43
49
0
-8
-14
66
1
-43
7
0
0
0
0
0
0
-28
-30
-33
-8
-35
-26
-67
-52
-45
-46
2
0
0
0
0
0
0
-48
8
-31
-47
17
25
-3
-50
-5
0
-1
0
0
0
0
0
0
-101
-42
-58
3
-41
-20
55
12
-38
35
0
1
0
0
0
0
0
34
-4
-8
-43
-71
119
-11
-8
76
-18
0
0
0
0
0
0
0
4
-2
-5
18
-31
2
-1
34
1
0
0
-1
0
0
0
0
0
0
0
0
0
5
27
34
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
38
-7
15
4
-23
61
0
50
-51
0
0
0
0
0
0
0
0
9
12
25
-53
-14
70
-24
59
9
1
1
0
0
0
0
0
0
-25
-10
-8
24
124
-5
15
3
-23
24
0
0
0
0
0
0
0
61
-5
-75
30
-43
69
24
10
-32
-3
4
0
0
0
0
0
0
-9
37
10
42
-55
40
-2
-24
2
-3
0
0
0
0
0
0
0
8
-4
14
86
-33
25
-2
-75
1
0
0
0
0
0
0
0
0
0
0
0
-5
-5
10
-51
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-3
19
0
-49
36
6
0
0
0
0
0
0
0
0
-2
19
9
31
22
-75
19
-42
30
0
-1
0
0
0
0
0
0
5
-3
-1
9
-82
-13
4
-31
0
1
0
0
0
0
0
0
0
-3
0
1
15
18
15
31
0
7
0
0
0
0
0
0
0
0
0
0
-1
13
3
-32
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
4
0
46
0
-5
0
0
0
0
0
0
0
0
0
0
3
2
3
-17
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-24
-3
2
0
0
0
0
0
0
0
0
0
0
1
6
0
7
-76
-43
-84
-13
13
0
0
0
0
0
0
0
0
0
-1
0
0
-41
-28
18
7
14
13
0
0
0
0
0
0
0
0
0
0
8
-5
0
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
2
31
-21
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
12
9
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-15
4
0
0
0
0
0
0
0
0
0
-7
0
-3
-1
5
-43
28
16
48
15
0
0
0
0
0
0
0
0
0
0
0
-42
-18
-66
17
-45
5
0
0
0
0
0
0
0
2
0
0
0
-7
2
13
1
-5
1
0
0
0
0
0
0
0
0
0
2
0
-19
23
-31
-37
-6
3
0
0
0
0
0
0
0
0
0
0
8
-22
10
-5
26
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
0
-9
2
26
49
87
0
-46
0
0
0
0
0
0
0
0
4
-2
2
-34
-83
9
71
4
16
-3
0
0
0
0
0
0
-4
1
0
-5
4
12
60
-18
1
-3
0
0
0
0
0
0
0
0
0
0
0
-7
12
26
-15
-7
0
0
0
0
0
0
0
0
0
0
4
-5
-1
13
31
42
-9
-3
0
0
0
0
0
0
0
0
0
-4
-2
-3
-9
-31
94
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
1
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-10
8
-8
30
29
13
0
-49
2
0
0
0
0
0
0
45
-4
3
-48
-67
-3
51
-39
-75
7
2
0
0
0
0
0
0
7
-16
-12
-1
-56
14
2
50
-1
-18
3
0
0
0
0
0
0
0
-1
22
-4
-1
18
32
-54
27
0
0
0
0
0
0
0
0
14
-2
1
1
27
0
34
-22
60
5
0
0
0
0
0
0
0
0
0
9
1
-1
16
1
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-20
1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
12
49
1
-9
-28
0
21
0
0
0
0
0
0
0
-51
13
2
-12
62
74
38
93
-10
-21
-29
2
0
0
0
0
0
14
-55
-31
42
1
-12
-25
90
28
-4
1
0
0
0
0
0
0
7
0
-16
-16
-53
0
-17
44
-42
4
0
0
0
0
0
0
0
-1
-31
6
-37
0
25
22
-21
10
-6
0
0
0
0
0
0
0
0
0
-8
5
-45
25
2
19
1
-1
0
0
0
0
0
0
0
0
0
1
4
-10
-9
-25
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
6
-2
-49
-42
-57
2
0
30
2
0
0
0
0
0
0
-18
-46
-72
-14
78
90
-128
-37
-96
25
-8
0
0
0
0
0
0
-32
-27
-16
56
24
-73
-11
43
-30
41
0
0
0
0
0
0
0
4
61
6
-30
-27
-13
1
35
-31
-73
1
0
0
0
0
0
0
14
-17
20
-14
63
-3
40
1
88
-5
3
0
0
0
0
0
0
0
3
-5
9
22
-44
0
-15
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-20
4
31
0
-31
3
0
0
0
0
0
0
0
0
-8
0
16
0
7
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-18
4
-73
-10
14
4
67
0
-2
34
0
0
0
0
0
0
-89
-61
13
-20
-86
-51
-3
-17
-58
13
24
0
0
0
0
0
0
-4
-56
44
-86
19
9
-31
-1
-69
-49
-17
0
0
0
0
0
0
8
-42
-24
-41
60
-23
-41
-4
-7
2
0
0
0
0
0
0
0
8
-62
-19
7
-8
-35
14
34
-4
9
0
-5
0
0
0
0
0
0
-18
-12
27
-60
35
14
-58
-75
3
-2
0
0
0
0
0
0
0
-33
1
6
-2
-6
41
35
47
5
0
0
0
0
0
0
0
0
0
0
0
0
5
6
-32
45
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-23
4
-22
38
-116
120
-15
13
0
48
-49
0
0
0
0
0
0
0
-39
19
-25
-132
47
144
-100
-36
-20
-42
-14
0
0
0
0
0
-15
-80
83
-6
60
0
49
3
23
-60
-29
0
0
0
0
0
0
48
32
-35
-77
18
21
-42
26
-49
-44
-3
0
0
0
0
0
0
30
8
30
-8
-1
-57
66
-13
-14
1
-5
0
0
0
0
0
0
-13
39
-3
56
24
-15
59
26
32
12
0
0
0
0
0
0
0
-2
-5
59
25
41
-14
-109
-7
-50
16
5
0
0
0
0
0
0
0
0
-1
6
-2
25
43
-19
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
-112
23
-19
13
6
84
33
0
-20
-24
8
0
0
0
0
0
0
7
75
-43
104
13
-87
-44
28
63
30
-13
0
0
0
0
0
0
-5
-5
-18
-23
-21
66
34
1
-51
-19
8
0
0
0
0
0
0
57
-1
-57
-47
7
-38
-4
23
-32
30
2
1
0
0
0
0
0
-26
-40
32
-8
-26
-3
77
25
-49
0
5
0
0
0
0
0
0
12
13
-52
-39
39
-28
144
29
-41
-8
-2
0
0
0
0
0
0
-7
-5
-4
102
-102
-13
-70
10
23
0
0
0
0
0
0
0
0
2
1
-2
0
-24
-51
33
9
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
1
0
0
0
0
0
0
0
0
0
-4
43
14
-13
0
12
0
-6
72
-4
0
0
0
0
0
0
0
19
6
-4
-89
-10
-7
27
5
49
-4
0
0
0
0
0
0
0
-6
9
-22
-52
19
-21
2
1
-36
1
-1
0
0
0
0
0
0
4
-4
-1
11
0
-22
-40
1
0
1
0
0
0
0
0
0
0
7
-4
0
10
-16
-74
52
-8
2
0
0
0
0
0
0
0
0
4
0
-8
18
20
10
20
18
-4
0
0
0
0
0
0
0
0
-1
0
0
-8
3
-23
-18
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
-5
0
-3
-8
-8
0
0
0
0
0
0
0
0
6
-2
2
6
-5
-14
7
-19
1
1
0
0
0
0
0
0
0
8
5
0
-34
9
28
13
1
-6
0
0
0
0
0
0
0
0
1
-5
0
4
-2
2
-8
-18
0
0
0
0
0
0
0
0
0
1
1
1
2
0
30
6
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
0
0
0
-2
0
1
-4
50
47
-22
16
0
0
0
0
0
0
0
0
0
-2
0
0
2
1
-23
-23
43
0
0
0
0
0
0
0
0
0
8
0
22
-27
0
0
54
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-5
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-2
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-8
1
0
0
0
0
0
0
0
0
0
0
-17
0
-3
-31
-29
39
6
62
-2
0
0
0
0
0
0
0
1
-1
-1
10
5
-21
57
9
42
-10
0
0
0
0
0
0
0
0
0
-3
0
-5
49
-15
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
27
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-44
22
0
-32
0
0
0
0
0
0
0
0
0
0
1
0
-2
-15
1
-56
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
-2
5
2
1
25
-7
-27
-15
0
0
0
0
0
0
0
0
0
0
-24
-2
-8
-28
-44
52
32
21
50
0
0
0
0
0
0
0
0
1
0
-5
30
24
-5
33
2
-9
0
0
0
0
0
0
0
16
0
0
2
6
8
-61
31
-13
8
0
0
0
0
0
0
0
0
-7
-1
0
13
8
-25
5
19
0
0
0
0
0
0
0
0
0
-4
0
0
0
-40
75
-20
2
0
0
0
0
0
0
0
0
3
0
0
-3
-61
2
13
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-74
84
1
0
-21
1
0
0
0
0
0
0
1
30
5
24
10
11
24
-5
53
-2
0
0
0
0
0
0
0
0
-24
8
10
41
112
-31
19
41
-7
0
0
0
0
0
0
0
-3
-2
2
0
-13
-3
-23
-159
24
0
0
0
0
0
0
0
0
0
-12
-41
7
0
-14
8
-2
30
0
0
0
0
0
0
0
0
0
3
-2
0
13
0
-6
19
41
-6
0
0
0
0
0
0
0
0
-8
0
1
-7
-31
60
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
29
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
10
4
0
-2
96
-27
0
0
0
0
0
0
0
0
0
-1
17
4
9
16
4
-78
-72
-6
26
-6
0
0
0
0
0
0
5
10
-25
-8
-16
-31
-24
-44
-37
1
0
0
0
0
0
0
0
17
-8
-21
-19
0
-49
-6
32
-58
-52
0
0
0
0
0
0
0
-2
2
0
4
-19
0
49
-21
35
-27
0
0
0
0
0
0
0
0
-39
-24
-33
0
-24
0
10
-70
3
0
0
0
0
0
0
0
0
0
-1
4
-71
5
4
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
4
45
-26
-89
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
13
-17
-23
103
-82
4
-77
0
-69
0
0
0
0
0
0
0
-13
48
-42
-102
-82
121
16
-9
19
25
0
-3
0
0
0
0
0
76
31
12
39
-25
11
-14
-18
34
-18
-12
0
0
0
0
0
0
31
-7
16
7
9
31
38
-13
-28
-24
0
0
0
0
0
0
0
1
-5
-3
41
-45
-13
0
21
10
3
0
0
0
0
0
0
0
0
8
-4
-6
35
0
31
-3
21
-4
0
0
0
0
0
0
0
0
7
7
-15
41
-12
-12
-79
1
0
0
0
0
0
0
0
0
0
2
-4
0
1
25
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
-7
-10
18
-2
26
35
-36
88
0
-81
-2
0
0
0
0
0
0
-49
-58
-50
13
108
42
-16
-72
-49
-18
-24
4
0
0
0
0
0
20
-17
-41
7
-39
84
9
-74
17
12
1
0
0
0
0
0
0
4
25
-55
11
47
-124
-8
51
-42
-82
0
0
0
0
0
0
0
-13
-29
-32
60
136
8
97
0
-9
13
0
0
0
0
0
0
0
-1
43
1
41
30
-84
-8
17
0
17
0
0
0
0
0
0
0
0
-6
10
75
50
-5
-31
-20
-49
0
0
0
0
0
0
0
0
0
-17
1
12
10
-3
31
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-2
45
-49
82
66
64
71
-127
0
-28
0
1
0
0
0
0
0
74
-71
-29
50
23
58
41
10
11
-6
-33
8
0
0
0
0
0
-22
9
-19
-10
-62
-28
31
-59
13
-85
0
1
0
0
0
0
0
-20
17
-42
16
-7
-45
13
-100
-7
1
23
-8
0
0
0
0
0
-3
24
7
-4
-7
30
-52
18
5
-44
0
0
0
0
0
0
0
47
51
10
-49
-88
-4
41
-7
-15
0
-3
0
0
0
0
0
0
-3
6
-14
-80
-71
-2
86
-5
-33
-55
0
0
0
0
0
0
0
0
-12
0
29
-8
-32
17
-5
-41
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-62
-8
0
0
0
0
0
0
0
0
0
0
-13
26
-28
-49
-29
4
1
0
39
51
-2
0
0
0
0
0
0
35
22
2
-72
-71
-9
33
11
-77
-13
0
0
0
0
0
0
0
-42
-37
-68
32
100
-52
85
10
34
-31
3
0
0
0
0
0
0
-56
3
9
-28
32
-60
41
47
18
3
0
0
0
0
0
0
0
7
-17
-104
-128
-28
-66
-41
72
0
6
0
0
0
0
0
0
0
31
-93
17
-52
5
-10
113
2
12
0
0
0
0
0
0
0
0
-5
-69
0
-3
-18
32
68
55
47
2
0
0
0
0
0
0
0
0
3
8
2
-25
65
-152
-64
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
9
0
3
1
9
-13
0
19
4
-16
0
0
0
0
0
0
0
-5
-8
-17
29
28
-3
29
20
-42
8
8
0
0
0
0
0
0
54
19
3
126
33
4
46
-6
24
2
0
0
0
0
0
0
0
7
10
6
9
-9
42
-66
-3
1
0
0
0
0
0
0
0
0
30
2
2
-16
15
5
-34
2
0
0
0
0
0
0
0
0
0
0
0
0
31
-13
25
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
17
25
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
-24
2
0
18
-8
-8
0
0
0
0
0
0
0
0
-5
-1
0
19
5
-18
14
5
14
0
0
0
0
0
0
0
0
12
-4
-3
3
0
-14
-3
8
-5
0
0
0
0
0
0
0
0
5
-2
4
-4
-14
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
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
-3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
-1
13
0
0
0
0
0
0
0
0
0
2
0
0
0
0
11
-13
9
0
0
0
0
0
0
0
0
0
0
0
1
4
20
6
-17
18
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-6
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-29
14
-14
-28
0
0
0
0
0
0
0
0
0
2
0
-4
-17
-3
-5
19
-75
0
0
0
0
0
0
0
0
-1
3
-2
-18
3
1
24
66
-5
1
0
0
0
0
0
0
0
0
0
-1
0
-4
-1
54
14
7
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
-13
-6
2
0
0
0
0
0
0
0
0
0
0
7
0
8
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
31
-2
0
-1
0
0
0
0
0
0
0
4
-10
0
6
-3
-61
-11
33
53
21
0
0
0
0
0
0
0
8
1
0
-4
-48
-62
16
104
-38
-31
0
0
0
0
0
0
0
1
6
0
3
-56
-23
1
30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
2
2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
-4
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-16
-38
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
42
-14
-6
12
0
-2
-6
0
0
0
0
0
0
0
-50
5
-7
-19
32
5
8
18
22
-3
0
0
0
0
0
0
0
13
15
17
14
24
24
-7
17
3
0
0
0
0
0
0
0
0
8
33
43
24
-26
31
151
-110
21
0
0
0
0
0
0
0
8
2
10
0
-26
-2
-76
29
7
-1
0
0
0
0
0
0
0
0
7
2
-6
0
41
24
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
-23
0
-42
-17
22
1
0
0
0
0
0
0
0
0
0
-1
-9
0
-8
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-4
-10
-18
-71
-100
-66
0
-69
0
0
0
0
0
0
0
-1
-5
14
13
-1
-8
-73
-36
20
-19
0
0
0
0
0
0
0
3
53
0
1
-42
17
-50
-3
2
47
0
0
0
0
0
0
0
-4
12
2
14
21
-84
-34
-2
-29
-9
2
0
0
0
0
0
0
0
-34
22
-31
-8
-8
0
5
-76
-3
0
0
0
0
0
0
0
0
6
-9
3
-21
0
16
5
-12
0
0
0
0
0
0
0
0
0
-2
4
-13
0
33
0
6
13
-1
0
0
0
0
0
0
0
0
0
5
0
0
21
-10
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
1
4
7
-7
25
-57
-7
0
-45
3
0
0
0
0
0
0
0
-14
0
8
75
3
17
-42
43
-23
1
0
0
0
0
0
0
25
-6
1
-21
25
10
-66
-42
-10
0
-1
0
0
0
0
0
0
25
-25
2
23
-21
50
-22
-13
15
42
-3
0
0
0
0
0
0
-18
-24
-5
-38
-63
1
-22
0
4
0
0
0
0
0
0
0
0
-2
-41
-24
-8
-53
-139
0
43
-7
-14
0
0
0
0
0
0
0
-7
7
9
0
-106
8
63
0
-50
-2
0
0
0
0
0
0
0
0
-4
-1
-94
-7
-46
3
19
0
17
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
54
31
-6
24
81
-45
0
0
29
7
0
0
0
0
0
0
4
-83
-50
-2
136
32
91
-26
117
-45
5
0
0
0
0
0
0
3
61
-22
59
-36
-49
-50
-18
-10
35
0
0
0
0
0
0
0
13
22
24
-78
57
-11
9
11
-11
5
0
0
0
0
0
0
0
-1
24
22
3
-78
13
-43
-63
3
-17
0
0
0
0
0
0
0
0
-41
-2
41
2
26
-24
0
25
-1
0
0
0
0
0
0
0
0
-6
5
-22
-5
8
0
-137
-2
-9
0
0
0
0
0
0
0
0
-1
-13
-22
13
18
29
-15
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
52
9
-51
-58
-28
-15
8
157
0
-11
-7
0
0
0
0
0
0
64
26
-48
70
52
-17
31
-32
86
-8
13
16
0
0
0
0
0
-10
16
-44
2
-28
135
93
59
-12
41
1
0
0
0
0
0
0
-91
-95
-67
-47
-48
30
-55
61
-38
-115
0
0
0
0
0
0
0
27
49
56
4
-71
0
-30
1
-20
0
0
0
0
0
0
0
0
-4
-22
-22
-66
-7
18
93
26
0
-5
0
0
0
0
0
0
0
-7
4
-74
-93
-48
-4
32
0
14
0
0
0
0
0
0
0
0
-13
2
13
-25
-8
-23
-43
46
22
-21
0
0
0
0
0
0
0
0
0
0
-12
3
-3
-42
0
-1
0
0
0
0
0
0
0
0
0
-79
0
109
-25
11
-61
11
0
45
-16
1
0
0
0
0
0
0
-19
42
59
4
-7
-47
19
-6
50
-27
-3
0
0
0
0
0
0
-39
-40
14
-136
-29
14
-90
45
-61
-27
0
0
0
0
0
0
0
-103
-66
86
-37
-28
-7
49
15
-81
5
0
0
0
0
0
0
0
69
13
62
66
45
7
-56
-20
12
0
0
0
0
0
0
0
0
12
-85
19
27
63
-12
-27
67
0
1
0
0
0
0
0
0
0
-35
-43
-45
-36
-100
-56
-10
-5
-7
0
0
0
0
0
0
0
0
2
-15
-17
19
-17
-112
14
-58
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
23
0
22
-5
50
12
0
8
-3
0
0
0
0
0
0
0
0
14
7
51
42
-1
-4
-2
18
10
0
0
0
0
0
0
0
0
-17
-8
6
-71
-19
-14
82
4
-4
0
0
0
0
0
0
0
0
10
12
0
21
-17
10
-66
-13
-3
0
0
0
0
0
0
0
0
-4
0
4
-22
-46
-13
-76
0
-4
0
0
0
0
0
0
0
0
-1
0
0
-2
-1
-35
5
-5
0
0
0
0
0
0
0
0
0
1
0
0
20
28
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
8
-23
-2
0
0
0
0
0
0
0
0
0
-1
0
-10
-7
-5
3
32
-5
-2
0
0
0
0
0
0
0
2
-5
0
-5
-3
1
7
0
0
0
0
0
0
0
0
0
0
-1
4
0
4
9
-1
-7
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
3
5
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-18
0
0
0
0
0
0
0
0
0
0
0
4
1
43
1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-45
-8
27
41
-6
0
0
0
0
0
0
0
0
0
0
0
8
0
9
-31
17
0
0
0
0
0
0
0
0
-4
0
0
-3
0
7
2
46
0
58
0
0
0
0
0
0
0
0
15
1
-2
3
-13
-93
-5
17
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-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
-5
0
-5
3
0
-1
0
0
0
0
0
0
0
0
1
2
0
0
-16
2
28
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-7
44
-31
25
6
0
0
0
0
0
0
0
0
0
-10
-6
14
-44
5
50
12
-14
0
0
0
0
0
0
0
0
-3
-1
0
-30
2
2
4
43
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
2
0
-6
0
-7
-37
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
14
-39
-8
0
0
0
0
0
0
0
0
0
0
-8
0
0
6
34
31
-40
-2
-2
-1
0
0
0
0
0
0
0
2
0
0
14
-12
57
8
-17
-16
0
0
0
0
0
0
0
3
1
-1
-5
0
9
-15
-13
22
0
0
0
0
0
0
0
0
-1
0
-7
-14
-31
7
45
4
1
1
0
0
0
0
0
0
0
0
0
-10
0
0
-2
4
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
3
-6
-13
-4
10
0
-1
0
0
0
0
0
0
0
0
-13
-1
0
27
-6
25
-4
-24
24
0
0
0
0
0
0
0
0
15
0
-1
-21
-12
16
23
-19
-3
0
0
0
0
0
0
0
-8
0
6
-1
1
-26
9
-2
1
-34
0
0
0
0
0
0
0
0
-8
-1
4
-52
35
-93
5
52
0
0
0
0
0
0
0
0
0
6
0
-5
0
-52
0
70
4
-1
0
0
0
0
0
0
0
0
0
1
0
26
0
-25
-5
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
-9
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
1
15
-66
31
0
7
0
0
0
0
0
0
0
0
7
-1
-15
69
-11
-18
14
11
43
1
0
0
0
0
0
0
-2
4
8
49
-67
-7
63
-38
-16
-12
0
0
0
0
0
0
0
-1
-1
7
84
-7
4
-18
12
-14
1
0
0
0
0
0
0
0
-1
22
10
74
-20
-50
19
15
0
0
0
0
0
0
0
0
0
-9
-10
-8
29
24
1
-13
0
28
-2
0
0
0
0
0
0
0
0
-17
0
0
-11
-6
0
-13
1
0
0
0
0
0
0
0
0
0
12
0
-12
2
0
-18
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
38
-12
57
-2
0
-5
-4
0
0
0
0
0
0
-13
29
10
66
54
47
26
76
-71
32
-5
0
0
0
0
0
0
-6
-40
5
-35
-47
-76
50
28
57
6
-1
0
0
0
0
0
0
42
74
9
61
84
89
-65
-84
24
-20
0
0
0
0
0
0
0
-9
-118
-30
42
2
-22
-43
-127
65
1
-1
0
0
0
0
0
0
0
48
78
55
-60
70
0
0
-1
-4
0
0
0
0
0
0
0
0
6
-13
3
-81
-28
15
0
-56
0
0
0
0
0
0
0
0
0
4
-1
1
-19
-103
2
5
0
14
0
0
0
0
0
0
0
0
0
0
6
4
0
15
10
0
0
0
0
0
0
0
0
0
-29
13
-44
14
43
50
-32
-92
0
-25
1
0
0
0
0
0
0
-58
-32
-72
20
82
-39
110
-45
43
-71
-18
0
0
0
0
0
0
8
-66
0
-24
2
43
8
124
58
-44
2
0
0
0
0
0
0
6
-102
-9
-9
-66
9
-4
16
13
16
-3
0
0
0
0
0
0
30
-3
-11
113
92
46
144
8
-72
-16
0
0
0
0
0
0
0
-49
-26
-97
26
-21
23
-54
-6
-37
0
-1
0
0
0
0
0
0
3
21
-24
-8
21
-83
-40
31
0
-14
0
0
0
0
0
0
0
0
-3
-3
30
-5
-32
-12
-2
33
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
5
2
0
0
0
0
0
0
0
0
0
29
3
-44
-85
11
15
5
0
-24
-25
0
0
0
0
0
0
0
47
42
40
38
-19
31
-47
-15
63
-74
2
0
0
0
0
0
0
68
-4
-3
-1
47
7
-41
16
13
-45
0
0
0
0
0
0
0
-29
53
12
-14
-9
-11
-9
10
52
19
0
0
0
0
0
0
0
101
-29
17
42
78
-4
71
69
-51
0
0
0
0
0
0
0
0
108
55
-16
65
-34
17
20
3
-127
0
0
0
0
0
0
0
0
-3
50
-15
44
5
50
49
82
0
0
0
0
0
0
0
0
0
1
3
-2
-2
-95
-32
32
2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-3
14
0
52
31
-22
0
105
-49
0
0
0
0
0
0
0
0
21
10
5
7
92
9
13
-6
5
0
0
0
0
0
0
0
0
11
-4
-2
78
5
50
35
54
14
0
0
0
0
0
0
0
0
17
3
55
26
46
41
60
75
24
0
0
0
0
0
0
0
0
17
-3
-5
-34
-29
6
-1
41
0
0
0
0
0
0
0
0
0
-5
-3
0
-24
55
-40
9
-1
4
0
0
0
0
0
0
0
0
0
0
3
-8
9
4
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
4
-16
5
0
0
0
0
0
0
0
0
2
0
0
1
2
8
-1
-1
13
0
0
0
0
0
0
0
0
0
0
-2
5
7
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
22
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
-1
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-30
0
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
28
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-23
0
0
0
0
0
0
0
0
0
0
2
0
0
24
2
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
46
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
7
17
-75
0
0
0
0
0
0
0
0
-4
0
3
0
0
-2
-4
31
8
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-21
-10
-2
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
9
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-6
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-49
-16
-23
0
-12
0
0
0
0
0
0
0
0
-3
0
0
9
-8
-89
-9
42
42
0
0
0
0
0
0
0
-6
-7
0
-6
-1
5
2
30
0
-16
0
0
0
0
0
0
0
0
1
5
-1
-57
66
-22
-15
49
0
0
0
0
0
0
0
0
8
3
23
-1
-8
39
-7
10
14
0
0
0
0
0
0
0
0
0
5
1
0
56
0
-35
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
2
5
-66
10
0
0
0
0
0
0
0
0
0
0
31
-1
-13
-12
-8
109
-21
-40
5
0
0
0
0
0
0
0
9
31
-1
49
-89
21
-25
35
-38
-8
0
0
0
0
0
0
0
54
9
0
27
-123
-31
47
-18
-56
12
0
0
0
0
0
0
0
0
-41
-3
-35
57
9
146
34
13
0
0
0
0
0
0
0
0
3
1
14
37
-144
79
5
24
-18
0
0
0
0
0
0
0
0
16
12
14
8
101
-32
-2
6
0
0
0
0
0
0
0
0
0
0
9
0
-13
-1
-71
33
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
3
-7
8
-22
-14
-20
-10
19
0
28
0
0
0
0
0
0
0
-1
-64
2
1
19
-15
-26
-54
80
13
7
0
0
0
0
0
0
111
13
28
-42
-55
33
59
84
42
-62
3
0
0
0
0
0
0
-26
-7
7
-58
-45
41
58
71
25
-24
-4
0
0
0
0
0
0
76
7
39
-25
-47
18
3
102
-7
-2
-5
0
0
0
0
0
0
-55
-80
48
-62
31
-53
-14
26
23
34
0
0
0
0
0
0
0
-9
-10
-42
20
9
-21
-1
0
5
0
0
0
0
0
0
0
0
14
-2
-4
41
-24
-20
-98
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
31
-5
0
0
0
0
0
0
0
0
0
0
0
1
5
58
-88
7
-25
101
0
-19
0
0
0
0
0
0
0
0
62
-15
-60
76
5
-34
66
25
50
-5
0
0
0
0
0
0
0
49
-17
-29
54
14
32
54
27
80
13
0
0
0
0
0
0
0
5
-52
74
3
43
84
27
-30
-60
-8
0
0
0
0
0
0
0
28
-13
-15
11
22
76
67
52
-4
1
0
0
0
0
0
0
0
-41
-94
-15
29
6
-23
39
54
25
0
0
0
0
0
0
0
0
-7
-46
-35
13
-33
-33
6
-3
-26
0
0
0
0
0
0
0
0
1
-4
6
-13
58
45
5
9
0
0
0
0
0
0
0
0
0
0
13
0
0
3
-19
6
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-2
0
34
0
-4
0
0
0
0
0
0
0
0
0
14
-2
0
37
-13
-9
12
2
-8
0
0
0
0
0
0
0
0
17
17
0
-5
58
10
19
22
5
0
0
0
0
0
0
0
0
45
1
5
41
-10
-18
11
-22
4
0
0
0
0
0
0
0
0
-9
0
3
72
48
-22
-19
-3
-4
0
0
0
0
0
0
0
0
-12
3
-2
-10
-7
33
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-24
0
-5
-10
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
-4
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-2
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
5
0
-2
0
0
0
0
0
0
0
0
0
0
-3
1
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-43
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
10
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
-1
-39
-15
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
-7
13
-71
13
0
0
0
0
0
0
0
0
13
-17
-2
6
9
-31
-35
0
-5
0
0
0
0
0
0
0
0
5
-8
-3
-30
0
53
6
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
-3
24
1
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
23
8
2
0
0
0
0
0
0
0
0
0
0
0
0
8
5
37
-25
-15
13
0
0
0
0
0
0
0
0
51
0
0
35
49
10
28
70
24
-6
0
0
0
0
0
0
0
58
5
0
110
3
77
113
-14
-118
0
0
0
0
0
0
0
0
20
25
82
96
-50
76
16
10
73
3
0
0
0
0
0
0
0
44
-50
-41
51
-13
-8
66
27
0
2
0
0
0
0
0
0
0
-47
-31
0
37
9
1
-12
-4
0
-3
0
0
0
0
0
0
0
15
-4
-12
28
31
-52
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
54
-1
49
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
60
0
0
0
0
0
0
0
0
0
0
-9
0
0
5
0
-90
-7
1
3
0
0
0
0
0
0
0
0
0
-6
0
9
-13
5
-9
4
-4
-2
0
0
0
0
0
0
0
0
0
0
19
9
20
0
-39
3
0
0
0
0
0
0
0
0
5
-1
-1
7
-32
-15
-14
22
-2
0
0
0
0
0
0
0
0
-5
0
-2
29
-15
8
2
48
0
0
0
0
0
0
0
0
0
0
0
1
8
-26
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
1
-5
27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
37
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
99
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
15
126
23
-1
0
0
-2
0
0
0
0
0
0
0
0
-10
-42
-14
49
40
12
0
-1
28
0
0
0
0
0
0
0
0
32
-16
-48
-31
22
26
-22
3
47
0
0
0
0
0
0
0
0
0
41
-14
37
1
37
13
-2
1
0
0
0
0
0
0
0
0
0
2
-5
-5
24
1
-18
0
0
0
0
0
0
0
0
0
0
1
0
8
0
-25
0
0
0
-2
0
0
0
0
0
0
0
0
0
-20
0
-13
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
16
-23
9
-24
2
0
-6
0
0
0
0
0
0
0
0
81
9
3
25
39
-27
0
-9
0
0
0
0
0
0
0
0
-16
-15
28
-75
1
-14
46
32
87
32
0
0
0
0
0
0
0
-1
17
49
-5
6
66
-59
15
30
-5
0
0
0
0
0
0
0
-1
74
-5
64
-30
-66
51
-50
-4
-12
0
0
0
0
0
0
0
0
31
-41
9
14
-80
-13
0
-5
7
0
0
0
0
0
0
0
0
0
9
5
-35
-34
30
-24
-17
2
0
0
0
0
0
0
0
0
0
8
0
25
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
0
3
44
-13
-22
1
0
-1
-3
0
0
0
0
0
0
-7
0
62
7
-45
77
23
0
0
0
-6
0
0
0
0
0
0
0
5
83
27
-132
-43
-7
59
20
-47
-58
0
0
0
0
0
0
4
24
86
40
43
-10
18
6
-8
1
-68
0
0
0
0
0
0
0
122
91
22
10
-7
6
86
6
-24
0
0
0
0
0
0
0
0
23
-32
38
16
68
18
5
-19
5
0
0
0
0
0
0
0
0
0
-8
-24
56
18
9
-72
22
0
-8
0
0
0
0
0
0
0
0
2
29
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
2
14
0
0
0
0
0
4
0
0
0
0
0
10
-52
-1
46
0
101
-23
0
0
0
-12
0
0
0
0
0
0
0
0
-57
-22
88
-25
-16
15
-6
14
-7
8
0
0
0
0
0
-3
-9
93
5
32
-15
-16
48
54
16
12
-3
0
0
0
0
0
-1
-3
-37
-18
36
-58
-38
1
70
-3
-5
-2
0
0
0
0
0
-2
0
43
74
2
-60
2
5
-44
-19
0
0
0
0
0
0
0
0
0
1
10
-56
5
8
1
1
0
-1
0
0
0
0
0
0
0
0
0
-2
16
-3
-2
0
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
-5
13
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
24
46
5
58
0
-22
0
2
0
-13
0
0
0
0
0
0
0
-5
-14
6
13
-7
-34
-19
7
16
-1
-2
0
0
0
0
0
-2
10
2
73
-15
61
0
7
-48
-13
-2
2
0
0
0
0
0
0
9
-5
41
8
53
-3
5
0
-14
-4
0
0
0
0
0
0
0
-7
0
-13
49
50
-16
4
2
-8
0
3
0
0
0
0
0
0
0
4
2
5
-19
2
2
0
0
0
0
0
0
0
0
0
0
0
0
19
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
-11
0
3
2
0
0
0
0
0
0
0
0
0
0
5
-1
-71
-2
-10
0
0
19
0
-8
0
0
0
0
0
0
-15
13
-18
-34
-145
-12
-9
-2
24
7
2
3
0
0
0
0
0
4
-83
1
4
-58
76
16
6
-3
44
13
0
0
0
0
0
0
0
1
15
23
-76
44
4
46
4
4
7
0
0
0
0
0
0
0
-2
13
-16
1
41
6
-22
0
4
0
0
0
0
0
0
0
0
0
8
0
10
0
15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
13
0
1
0
0
1
0
0
0
0
0
0
0
1
-25
44
23
0
-2
0
-12
0
-8
1
0
0
0
0
0
0
0
8
-31
-41
16
-22
-56
37
17
2
-3
0
0
0
0
0
0
-27
-58
-31
7
7
-25
9
2
-35
5
0
0
0
0
0
0
0
-4
0
8
-15
-5
8
23
9
0
12
0
0
0
0
0
0
0
10
1
2
5
31
-4
-9
-20
1
0
0
0
0
0
0
0
0
0
0
13
-9
0
0
-4
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
-5
0
0
0
0
-14
6
0
0
0
0
0
0
0
-17
33
-56
-2
-8
1
10
13
2
-1
0
0
0
0
0
0
-3
-9
-23
10
-4
1
5
-5
-8
16
0
-6
0
0
0
0
0
3
3
1
-3
21
46
2
-18
-3
3
0
0
0
0
0
0
0
0
0
-1
0
-18
1
3
1
0
5
0
0
0
0
0
0
0
0
0
7
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-17
9
-9
-22
0
0
0
0
0
0
0
0
0
0
0
8
43
-5
-20
26
-21
14
0
-7
0
0
0
0
0
0
0
0
56
73
7
-50
58
-36
-14
42
16
0
0
0
0
0
0
0
0
-6
48
87
27
5
78
25
1
-47
0
0
0
0
0
0
0
0
-8
-98
68
-70
-41
-131
33
1
-24
0
0
0
0
0
0
0
0
0
57
59
8
47
37
-6
4
2
0
0
0
0
0
0
0
0
-1
31
-21
15
8
4
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
-32
-5
-24
50
22
-20
1
0
12
0
0
0
0
0
0
0
16
95
-4
53
19
21
15
0
-31
0
0
0
0
0
0
0
0
-1
39
-45
-51
-6
-91
16
-99
-12
-2
0
0
0
0
0
0
0
-22
43
-16
51
43
-73
57
17
100
18
0
0
0
0
0
0
0
25
41
60
-27
-21
9
-60
-28
-11
-61
0
0
0
0
0
0
0
-9
40
37
19
-32
77
-38
65
27
-10
0
0
0
0
0
0
0
-6
3
-41
70
-72
31
31
-1
19
13
0
0
0
0
0
0
0
0
2
8
-3
-76
-12
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-31
5
-27
-5
-51
-18
0
1
17
0
0
0
0
0
0
-7
74
22
14
-16
75
-40
0
16
0
15
0
0
0
0
0
0
5
32
53
48
134
-13
47
92
14
25
-93
0
0
0
0
0
0
17
19
36
35
-53
23
28
113
57
15
27
0
0
0
0
0
0
15
-3
53
39
-4
32
33
2
14
-94
6
0
0
0
0
0
0
5
-39
-32
-58
-90
-48
-13
25
-14
-5
-12
0
0
0
0
0
0
-9
-13
39
-69
15
-76
41
-10
1
2
0
0
0
0
0
0
0
0
0
0
5
20
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
49
1
-15
-51
-8
0
0
8
0
0
0
0
0
0
1
-5
86
5
33
-1
12
0
-4
0
12
4
0
0
0
0
0
0
-12
-25
-84
-53
-20
-45
89
28
-5
19
0
0
0
0
0
0
1
23
46
1
8
-19
12
-13
-18
60
-5
-9
0
0
0
0
0
-5
2
66
43
36
43
-40
31
13
-12
-13
0
0
0
0
0
0
-1
31
21
61
57
-5
-30
19
50
-2
2
0
0
0
0
0
0
0
0
3
-26
-25
-20
26
5
-9
0
3
0
0
0
0
0
0
0
0
3
-2
5
1
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
76
2
18
0
-35
-4
0
-2
-1
-1
0
0
0
0
0
-39
19
-71
-24
-23
-2
50
0
1
0
31
-1
0
0
0
0
0
15
5
9
30
-32
31
32
-13
47
2
-28
-4
0
0
0
0
0
0
-13
-9
33
105
-75
-42
9
-42
67
-2
1
0
0
0
0
0
-4
-24
25
-53
31
55
39
-89
-6
43
-1
-1
0
0
0
0
0
0
2
31
40
30
43
-1
-1
2
15
-1
4
-2
0
0
0
0
0
0
-6
-14
33
-43
-8
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
27
2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-77
5
19
0
5
0
2
2
0
0
0
0
0
0
0
5
-28
-31
14
32
4
0
0
0
-8
1
0
0
0
0
0
1
-50
-54
30
-13
80
-59
61
-9
-11
41
-25
2
0
0
0
0
-5
-16
25
-3
3
-102
-77
19
43
24
-16
4
2
0
0
0
0
10
-21
-48
-3
-66
-2
80
-54
5
-7
-1
0
0
0
0
0
0
0
9
-13
20
92
60
22
-7
-13
5
0
3
2
0
0
0
0
0
0
6
13
9
-3
-4
-24
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
57
-5
-28
-1
8
0
0
0
3
0
0
0
0
0
0
0
1
-46
-47
-7
19
24
0
-3
0
-8
4
0
0
0
0
0
1
5
44
72
0
84
-31
5
1
49
10
3
-4
0
0
0
0
-1
-5
63
-43
31
-4
-17
-50
-3
55
1
0
6
0
0
0
0
-5
-1
-82
-109
10
-13
41
31
-24
-24
-24
-9
0
0
0
0
0
-4
18
-5
46
46
20
13
-19
-1
-22
-1
0
2
0
0
0
0
0
0
2
7
25
-50
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-7
0
0
0
0
1
6
0
0
0
0
0
0
0
0
20
12
-4
0
2
0
-1
0
21
2
0
0
0
0
0
0
-5
6
22
19
8
8
6
-29
-14
-9
0
0
0
0
0
0
0
5
-72
-43
-2
21
38
5
-9
13
3
0
0
0
0
0
0
0
18
62
59
30
66
93
-6
2
-22
0
2
0
0
0
0
0
0
0
4
9
0
7
8
-8
1
-6
0
0
0
0
0
0
0
0
0
2
0
-4
8
-6
3
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
3
1
-1
-1
5
0
0
0
0
0
0
0
0
-19
20
6
-42
1
-3
-4
5
0
0
0
0
0
0
0
0
0
12
-3
-3
-8
19
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
2
-1
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
15
2
0
-1
0
5
0
3
0
0
0
0
0
0
0
0
0
0
13
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
73
17
-16
0
0
0
0
0
0
0
0
0
0
0
50
-6
8
-5
29
115
2
0
9
0
0
0
0
0
0
0
0
2
-38
-68
-86
74
-5
25
25
-136
0
0
0
0
0
0
0
0
-41
-75
42
126
-64
56
-66
41
58
0
0
0
0
0
0
0
0
-43
-24
-71
-103
-31
-60
55
-3
63
0
0
0
0
0
0
0
0
3
85
48
-41
-106
46
-30
-7
1
0
0
0
0
0
0
0
0
-10
-1
13
39
8
6
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-3
-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
30
48
-46
-58
-29
14
19
16
0
6
0
0
0
0
0
0
0
-6
26
-113
-28
-22
48
36
0
16
0
0
0
0
0
0
0
0
14
41
36
-29
50
43
-41
-3
-84
-43
0
0
0
0
0
0
0
-4
-31
-24
-45
-126
-49
70
142
66
30
0
0
0
0
0
0
0
-13
-42
-6
-69
-25
13
30
45
95
66
0
0
0
0
0
0
0
0
159
-61
19
-63
83
-102
1
12
29
0
0
0
0
0
0
0
0
7
-9
-57
35
1
112
-16
-4
-12
0
0
0
0
0
0
0
0
0
32
22
8
9
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-46
-23
18
66
-29
-24
0
5
-48
0
0
0
0
0
0
-27
25
5
139
-23
-49
45
0
17
0
42
0
0
0
0
0
0
9
-4
49
-23
26
-20
-40
66
51
-60
-35
0
0
0
0
0
0
8
10
-82
47
-31
48
10
78
32
-23
25
0
0
0
0
0
0
0
46
-2
22
59
-3
32
6
27
5
-8
0
0
0
0
0
0
0
-101
17
52
46
-10
-31
5
19
-28
1
0
0
0
0
0
0
0
0
126
-80
9
25
-6
12
-5
0
0
0
0
0
0
0
0
0
0
1
-1
1
30
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
73
-1
5
-4
42
8
0
0
-31
0
0
0
0
0
0
0
26
55
-11
35
-12
24
0
-6
0
8
-4
0
0
0
0
0
-3
-20
31
36
-32
-13
32
70
15
75
26
-7
0
0
0
0
0
-6
-69
-41
-47
12
-12
-18
-10
-3
-2
15
-6
0
0
0
0
0
12
-8
-66
0
13
-52
112
18
-4
10
1
0
0
0
0
0
0
0
24
-134
77
-38
-51
5
80
12
3
3
0
0
0
0
0
0
0
-2
-75
-35
-5
-13
0
31
6
0
0
0
0
0
0
0
0
0
0
-35
0
2
-8
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
-13
-39
-66
41
-1
0
-2
3
0
0
0
0
0
0
4
5
88
-31
-41
118
19
0
-1
0
-8
-1
1
0
0
0
0
0
3
-25
12
14
29
19
20
20
-18
-3
-58
0
0
0
0
0
-2
22
52
-51
-44
-49
102
7
-7
7
8
-1
0
0
0
0
0
-4
-30
-5
56
-29
-35
42
10
20
5
-10
-3
0
0
0
0
0
0
14
-65
49
-22
79
49
-7
-6
1
-8
0
0
0
0
0
0
0
1
6
1
74
-1
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
-16
6
-15
63
0
0
3
0
2
0
0
0
0
0
-3
8
-53
-50
15
1
-49
0
6
0
-12
2
-5
0
0
0
0
-8
-1
112
31
44
5
49
19
17
-55
42
-1
-1
0
0
0
0
0
5
-31
-35
-25
-25
86
-2
10
-31
8
1
-1
0
0
0
0
0
-8
23
-75
37
46
56
-9
17
-1
0
0
0
0
0
0
0
0
4
6
15
61
49
4
4
-10
0
-2
-1
0
0
0
0
0
0
0
-31
-4
-1
1
-8
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
-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
8
5
49
-20
-14
31
0
0
-3
0
0
0
0
0
0
0
-4
19
2
54
37
-3
-6
0
-10
0
6
-5
1
0
0
0
0
0
8
17
-3
26
74
-1
-9
-10
40
2
-2
0
0
0
0
0
0
17
-7
72
-10
-23
19
7
6
-15
6
0
2
0
0
0
0
-6
5
-40
48
0
8
-55
-13
25
-8
-1
0
0
0
0
0
0
0
-1
33
-28
18
-5
21
-27
0
1
-2
0
0
0
0
0
0
0
0
33
-35
10
-20
1
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
7
29
-1
13
0
0
-2
0
0
0
0
0
0
0
0
-4
44
-15
-15
43
0
0
-1
0
35
-4
0
0
0
0
0
-4
-24
16
14
17
-1
-22
0
-5
-8
-7
0
0
-4
0
0
0
0
2
-2
4
-25
27
-8
-22
2
5
-7
0
2
0
0
0
0
0
-19
-15
-112
-39
-21
-26
-2
-81
-8
5
0
0
0
0
0
0
0
0
-6
0
2
31
-23
0
-1
3
2
0
0
0
0
0
0
0
0
8
3
5
-29
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
7
0
0
-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
7
-8
8
-10
2
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-9
-15
30
4
0
0
0
6
0
0
0
0
0
0
0
6
42
1
13
0
-1
-2
0
-2
0
-3
0
0
0
0
0
0
1
-1
3
-8
-31
51
1
2
-12
2
0
0
0
0
0
0
0
-1
9
5
-18
-5
34
0
-43
16
0
-1
0
0
0
0
0
0
0
5
-13
-3
18
-3
2
0
-1
5
0
0
0
0
0
0
0
0
0
-16
-6
-1
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
4
-5
0
0
0
1
0
0
0
0
0
0
0
0
13
5
1
4
25
0
0
0
0
2
0
0
0
0
0
0
-5
4
5
41
-1
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
9
2
15
20
4
0
-2
0
0
0
0
0
0
0
0
0
-2
19
-16
-30
8
5
0
-2
1
0
0
0
0
0
0
0
0
3
0
-9
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-33
-54
24
33
47
-3
1
0
0
0
0
0
0
0
0
0
46
-50
-52
-21
7
-42
-1
0
-6
0
0
0
0
0
0
0
0
-5
-39
29
-8
52
55
-6
23
45
0
0
0
0
0
0
0
0
-1
-37
-11
35
-35
12
16
-5
92
0
0
0
0
0
0
0
0
22
-12
110
68
-64
12
-25
0
27
0
0
0
0
0
0
0
0
-3
-24
20
-1
93
-98
-2
1
1
0
0
0
0
0
0
0
0
0
50
-13
-18
6
-15
0
0
5
0
0
0
0
0
0
0
0
0
-13
6
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-14
-10
-1
39
-7
-12
-2
0
-1
0
0
0
0
0
0
0
99
-60
-31
-75
-45
-20
-111
0
18
0
0
0
0
0
0
0
0
24
-1
58
-57
32
-92
-56
-59
10
-23
0
0
0
0
0
0
0
43
5
93
-3
63
25
5
-69
1
36
0
0
0
0
0
0
0
0
-16
23
-91
-41
-16
-58
-51
28
-3
0
0
0
0
0
0
0
4
19
-101
-67
37
50
-15
-17
-52
-45
0
0
0
0
0
0
0
0
5
48
27
-36
52
-5
5
-19
-5
0
0
0
0
0
0
0
0
0
-5
89
-8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
5
-64
5
-55
-91
88
-4
0
12
-3
0
0
0
0
0
0
0
-24
47
54
-53
16
72
0
12
0
40
0
0
0
0
0
0
45
30
-14
19
48
50
29
19
-123
33
-39
0
0
0
0
0
0
3
-1
55
-23
61
-162
90
48
19
47
-13
0
0
0
0
0
0
5
3
17
45
56
32
13
-23
5
145
-4
0
0
0
0
0
0
0
103
-14
9
-66
-21
57
-27
31
50
0
0
0
0
0
0
0
0
-8
-26
-17
71
-49
-1
-54
-5
4
0
0
0
0
0
0
0
-1
0
16
-56
3
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
22
-5
120
-34
1
0
-10
0
0
0
0
0
0
0
13
-24
-25
91
-16
-8
-41
0
-9
0
-7
-3
0
0
0
0
0
3
-4
9
79
61
-4
25
-50
-37
9
-13
5
0
0
0
0
0
2
3
-36
0
118
25
-72
27
-5
-29
12
0
0
0
0
0
0
0
5
-18
-27
29
-39
55
-118
27
34
22
-2
0
0
0
0
0
0
-16
-29
24
17
28
-84
14
-4
17
-3
0
0
0
0
0
0
0
14
-9
-81
48
-6
-3
3
5
0
0
0
0
0
0
0
0
0
2
4
16
7
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
92
-6
-68
-2
0
0
5
3
7
0
0
0
0
0
0
7
-30
-48
-15
-4
89
0
-8
0
-50
2
1
0
0
0
0
0
-102
13
1
-8
24
-100
49
16
9
-68
24
0
0
0
0
0
0
75
-29
-27
1
86
-50
-31
9
33
0
-1
0
0
0
0
0
0
66
54
0
-44
4
-56
1
31
-4
-33
0
0
0
0
0
0
0
-13
1
-30
-58
-4
-50
16
-13
8
0
0
0
0
0
0
0
0
0
29
-42
-34
25
15
0
3
0
0
0
0
0
0
0
0
0
0
9
6
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
14
-44
80
3
15
-8
0
0
0
0
0
0
0
0
0
0
13
-17
21
-56
76
8
0
-1
0
12
-8
6
0
0
0
0
0
42
-9
-17
9
-6
-20
45
-20
-25
8
6
0
0
0
0
0
0
78
-21
8
-18
0
-4
-1
-1
13
-5
0
0
0
0
0
0
0
2
36
24
-2
60
0
15
0
-4
0
0
0
0
0
0
0
0
-32
-7
-21
-7
-17
5
12
0
-1
0
0
0
0
0
0
0
0
0
0
24
-3
-1
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-107
32
33
8
-9
0
0
-2
-1
0
0
0
0
0
0
0
1
-3
11
-10
-73
43
0
0
0
3
1
0
0
0
0
0
0
4
-34
-82
-1
0
25
8
-6
-5
-20
0
0
0
0
0
0
-1
17
35
-16
-4
40
0
8
1
6
-3
1
0
0
0
0
0
0
4
-105
-2
-56
2
9
-1
0
-7
0
0
0
0
0
0
0
0
2
-7
-24
-1
111
-29
0
-41
-4
-2
0
0
0
0
0
0
0
0
-15
5
-4
0
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
5
-69
2
0
0
0
0
0
0
0
0
0
0
0
-6
-31
6
-26
-63
13
9
0
0
0
-1
2
0
0
0
0
0
0
18
-42
25
15
-53
6
5
-3
12
1
0
0
0
0
0
0
0
-2
-6
-17
-41
16
1
0
8
-7
0
0
3
0
0
0
0
0
-2
-3
-22
14
59
0
-5
0
12
0
0
0
0
0
0
0
0
0
4
-9
-78
-2
8
5
0
-3
0
0
0
0
0
0
0
0
-8
6
93
2
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
3
-46
-5
24
0
0
0
0
0
0
0
0
0
0
0
-2
-21
-49
51
5
-2
0
0
0
-1
0
0
0
0
0
0
0
-1
-25
-75
20
6
-6
0
-2
0
0
0
0
0
0
0
0
0
0
8
13
5
6
2
-4
0
0
0
0
0
0
0
0
0
0
0
8
37
-5
-10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
15
2
3
0
2
0
0
0
0
0
0
0
0
0
-1
-1
-5
1
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
39
1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-20
7
5
-1
1
0
-4
1
0
0
0
0
0
0
0
0
0
-1
9
-1
2
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
-8
0
-10
-6
-3
12
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-2
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-28
22
54
12
-17
2
0
0
0
0
0
0
0
0
0
0
31
5
6
62
3
61
-5
0
-18
0
0
0
0
0
0
0
0
17
-18
19
18
5
-50
65
0
72
0
0
0
0
0
0
0
0
73
-36
72
34
-19
61
-16
-8
4
0
0
0
0
0
0
0
0
0
-88
-6
142
-41
6
-6
0
-3
0
0
0
0
0
0
0
0
-1
0
12
-144
87
41
-12
-4
-37
0
0
0
0
0
0
0
0
-2
-5
-7
20
-39
2
-1
0
1
0
0
0
0
0
0
0
0
0
24
-3
37
-8
-16
-4
0
0
0
0
0
0
0
0
0
0
0
9
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
67
-60
70
8
7
-22
0
0
0
0
0
0
0
0
0
0
0
-99
-51
10
-62
89
29
0
-49
0
0
0
0
0
0
0
0
-44
25
-59
-59
-41
-70
-56
-74
2
-51
0
0
0
0
0
0
0
0
-39
42
2
58
-14
4
-46
59
-102
0
0
0
0
0
0
0
-3
0
-109
-22
-9
-9
-8
-47
-8
65
0
0
0
0
0
0
0
0
36
32
39
28
-1
-69
72
100
34
0
0
0
0
0
0
0
0
-2
24
-48
-7
62
-94
-8
16
1
0
0
0
0
0
0
0
0
-5
-42
92
-34
-21
0
3
1
0
0
0
0
0
0
0
0
0
-2
6
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-12
23
-94
72
29
23
-1
-4
0
6
2
0
0
0
0
0
0
4
-27
-9
35
7
-75
-19
0
35
0
41
0
0
0
0
0
0
0
-1
39
98
35
25
33
-9
22
-1
10
0
0
0
0
0
0
-38
8
-31
2
-10
-16
50
-41
-13
-17
22
0
0
0
0
0
0
1
50
0
84
19
30
-64
44
2
-46
0
0
0
0
0
0
0
0
0
-16
7
-5
-72
86
-23
25
8
2
0
0
0
0
0
0
0
-9
-7
45
31
4
-35
65
-2
16
0
0
0
0
0
0
0
0
-1
5
18
136
8
10
12
8
0
0
0
0
0
0
0
0
1
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
86
-127
-55
42
61
2
0
2
12
0
0
0
0
0
0
0
50
60
57
-1
22
-43
0
-19
0
59
1
0
0
0
0
0
0
-13
7
32
2
74
-79
69
-31
35
-47
-5
0
0
0
0
0
0
81
5
8
57
96
38
-68
5
84
-9
-8
0
0
0
0
0
-2
-2
15
0
-107
-6
-84
-14
44
18
0
0
0
0
0
0
0
0
49
0
-67
-1
-10
-84
23
-42
12
-3
0
0
0
0
0
0
0
0
64
-11
-67
-66
88
-1
-17
14
0
0
0
0
0
0
0
0
0
8
-5
-107
-20
-3
-5
-7
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
31
56
3
-5
-20
0
0
-3
0
0
0
0
0
0
-5
-47
-26
21
-23
-52
-1
0
-8
0
24
-2
0
0
0
0
0
0
-12
-16
111
-4
44
-5
-29
-19
-71
0
-2
0
0
0
0
0
0
30
-23
0
-26
6
91
-15
18
13
-13
0
0
0
0
0
0
0
-5
49
-15
0
-15
41
45
25
16
0
0
0
0
0
0
0
0
21
-47
1
-12
-3
49
22
1
3
0
0
0
0
0
0
0
0
-25
-6
35
-60
18
8
-5
19
2
0
0
0
0
0
0
0
0
-3
2
-5
-50
4
0
1
0
0
0
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
-51
-66
45
7
-14
-1
0
0
0
0
0
0
0
0
0
0
-1
-8
44
33
-41
5
0
-3
0
14
-4
-3
0
0
0
0
0
19
94
-37
65
57
-9
-9
-5
-5
0
2
0
0
0
0
0
0
93
3
-23
-2
-13
5
-22
20
9
2
3
0
0
0
0
0
0
52
32
-25
81
0
30
-22
14
-3
0
0
0
0
0
0
0
0
1
27
49
0
-3
1
17
-5
5
0
0
0
0
0
0
0
0
0
23
-2
7
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-21
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-48
13
-50
-2
21
3
0
0
1
0
0
0
0
0
0
0
-13
44
49
-13
-66
5
0
-1
0
4
0
0
0
0
0
0
-7
72
15
16
-7
-11
-9
4
43
-2
-8
2
-1
0
0
0
0
0
6
-40
2
19
0
30
0
-13
-29
-5
0
0
0
0
0
0
0
-8
-6
4
-26
-27
0
6
6
-2
0
0
0
0
0
0
0
0
0
1
-11
14
0
21
-2
24
-2
0
0
0
0
0
0
0
0
0
-3
9
-1
21
3
-1
1
0
0
0
0
0
0
0
0
0
0
5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
10
2
41
1
7
0
0
0
0
0
0
0
0
0
0
0
-2
45
-17
14
13
19
0
0
0
0
0
0
0
0
0
0
0
-28
31
28
31
-69
15
1
3
22
0
2
0
0
0
0
0
4
2
24
2
-6
33
2
-1
0
-4
-1
0
0
0
0
0
0
0
3
0
8
-20
-66
-4
0
-14
25
0
0
0
0
0
0
0
0
4
4
33
-15
14
0
-2
0
-2
0
0
0
0
0
0
0
0
0
-59
-8
2
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-12
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-3
1
2
10
0
0
0
0
0
0
0
0
0
0
0
-13
31
-18
71
19
2
0
0
0
0
0
0
0
0
0
0
0
6
10
-5
14
-23
0
-4
-5
-7
0
0
0
0
0
0
0
0
0
-16
-5
-49
29
-16
0
0
0
0
0
0
0
0
0
0
0
0
10
5
42
-6
-3
-4
0
0
0
0
0
0
0
0
0
0
0
5
-2
1
19
-9
4
0
0
1
0
0
0
0
0
0
0
0
-8
6
30
11
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
8
-52
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
6
17
-58
-21
-8
-10
0
-4
0
0
0
0
0
0
0
0
0
0
13
-3
5
26
6
8
0
-2
0
0
0
0
0
0
0
0
0
1
-2
1
-1
0
9
4
0
0
0
0
0
0
0
0
0
0
6
32
4
-15
13
-4
0
0
0
0
0
0
0
0
0
0
5
-6
0
1
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-27
52
29
25
-3
0
0
0
0
0
0
0
0
0
0
0
33
79
-5
8
25
18
5
0
5
0
0
0
0
0
0
0
0
-63
-23
34
-82
5
15
13
-33
-90
0
0
0
0
0
0
0
0
-32
-32
47
-9
111
-46
7
-31
-85
0
0
0
0
0
0
0
0
-30
0
23
-24
-58
-30
50
23
-71
0
0
0
0
0
0
0
0
0
1
134
16
27
1
8
-29
5
0
0
0
0
0
0
0
0
1
0
-29
-51
50
0
1
28
-8
0
0
0
0
0
0
0
0
0
22
-1
42
-3
17
-4
0
0
0
0
0
0
0
0
0
0
0
-13
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
64
29
-22
2
8
-24
0
0
-22
0
0
0
0
0
0
0
-2
28
-35
-42
81
-29
73
0
59
0
0
0
0
0
0
0
0
-42
-31
-3
-19
-13
-124
-21
101
-9
-73
0
0
0
0
0
0
0
6
56
38
-38
16
12
72
-110
49
114
0
0
0
0
0
0
0
0
54
8
6
-13
-18
25
69
10
53
0
0
0
0
0
0
0
0
0
-23
49
-31
-37
20
27
13
-53
0
0
0
0
0
0
0
0
-8
5
-26
-41
30
-25
0
35
29
0
0
0
0
0
0
0
-4
-13
58
-42
59
15
-10
17
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-11
-29
-13
4
12
-1
0
-4
13
0
0
0
0
0
0
-2
62
-17
20
-26
38
-10
0
-1
0
32
0
0
0
0
0
0
-66
-27
36
-12
31
42
-57
-18
58
-16
22
0
0
0
0
0
0
-2
-64
-51
-31
-41
29
-82
113
-12
93
13
0
0
0
0
0
0
-7
3
29
-2
90
33
-47
-92
27
15
7
0
0
0
0
0
0
0
-33
0
-9
9
-50
24
52
-13
23
-3
0
0
0
0
0
0
4
0
75
-20
-10
42
33
20
23
-5
0
0
0
0
0
0
0
0
0
-20
23
17
29
-9
0
6
0
0
0
0
0
0
0
0
0
-7
2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
49
18
37
-52
42
13
0
8
-2
-4
0
0
0
0
0
3
-37
12
45
-8
-2
-19
0
-30
0
-22
0
0
0
0
0
0
-8
21
59
3
-56
-11
-67
31
34
23
-32
3
0
0
0
0
0
6
-9
89
-10
84
75
-44
-47
5
-61
4
0
0
0
0
0
0
-5
-49
-2
1
25
36
18
36
-23
-43
-8
0
0
0
0
0
0
1
17
-22
0
-22
58
53
34
49
41
2
0
0
0
0
0
0
0
4
1
-6
3
59
48
17
4
1
0
0
0
0
0
0
0
0
0
30
-83
38
-6
-2
-8
0
0
0
0
0
0
0
0
0
0
7
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
29
65
-1
67
19
1
-8
0
0
1
0
0
0
0
0
0
0
-4
77
22
62
52
-25
0
1
0
-7
-1
0
0
0
0
0
0
-1
-90
45
9
54
20
5
33
8
-2
-27
0
0
0
0
0
1
6
5
41
30
28
-13
34
-13
24
7
0
0
0
0
0
0
0
2
-20
-1
-9
1
-1
1
-31
-66
-4
0
0
0
0
0
0
0
-17
-32
-58
0
80
6
10
5
-15
0
0
0
0
0
0
0
0
0
-47
0
9
4
81
-18
-5
1
0
0
0
0
0
0
0
0
-2
0
25
-16
4
0
20
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-20
83
8
3
0
0
0
-3
0
0
0
0
0
0
0
34
-26
21
-37
-42
35
0
2
0
1
5
0
0
0
0
0
0
-13
19
92
-29
-17
1
12
-2
21
12
1
0
0
0
0
0
0
19
-20
23
116
80
32
18
50
-1
10
-1
0
0
0
0
0
0
-14
-22
-5
5
30
0
-20
6
4
0
0
0
0
0
0
0
0
-7
0
2
-6
0
9
0
7
0
0
0
0
0
0
0
0
0
0
8
-1
0
1
3
0
-1
3
0
0
0
0
0
0
0
0
0
-3
-1
13
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
-61
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
23
13
4
11
-1
0
0
0
8
0
0
0
0
0
0
-3
5
15
17
-35
59
4
2
6
31
0
0
0
0
0
0
0
-1
-12
19
22
57
72
26
13
4
0
0
-7
0
0
0
0
0
0
-22
10
-64
32
0
13
0
7
0
4
0
0
0
0
0
0
0
-4
-5
25
1
6
0
-10
0
-1
0
0
0
0
0
0
0
0
0
-2
29
-17
0
4
0
-6
13
0
0
0
0
0
0
0
0
0
-12
7
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
16
-61
0
5
0
0
0
0
0
0
0
0
0
0
0
10
45
0
13
102
1
0
0
0
-3
0
0
0
0
0
0
0
-16
-17
8
-21
0
3
0
3
2
1
0
0
0
0
0
0
0
-5
16
-5
16
-13
34
-4
6
-2
-1
0
0
0
0
0
0
0
-7
-9
1
34
24
-3
-1
0
0
0
0
0
0
0
0
0
0
49
25
1
-2
1
0
0
4
0
0
0
0
0
0
0
0
0
1
2
-21
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-5
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
9
5
0
0
0
0
1
0
0
0
0
0
0
0
-2
-6
1
7
-6
24
0
0
0
0
0
0
0
0
0
0
0
-21
60
-17
-33
35
7
9
-4
12
0
0
0
0
0
0
0
0
4
-2
-42
13
42
-1
-17
0
3
0
0
0
0
0
0
0
0
5
-7
2
-28
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-4
0
0
0
0
0
5
0
0
0
0
0
0
0
1
1
16
4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-8
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-2
-2
0
0
1
14
0
0
0
0
0
0
0
0
0
0
46
0
17
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
5
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-11
14
5
48
0
0
0
0
0
0
0
0
0
0
0
14
84
49
40
-2
-15
9
0
-23
0
0
0
0
0
0
0
0
5
26
-67
-43
0
41
24
0
-41
0
0
0
0
0
0
0
0
-2
-95
-8
-23
-13
65
-12
4
13
0
0
0
0
0
0
0
0
22
-1
15
-27
-38
-98
4
7
-34
0
0
0
0
0
0
0
0
1
8
33
100
-42
102
-17
-6
-25
0
0
0
0
0
0
0
0
0
-9
83
16
-5
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
8
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-75
-53
-30
-35
50
0
0
0
0
0
0
0
0
0
0
0
-10
-98
-56
-32
-14
-84
0
24
0
0
0
0
0
0
0
0
55
21
60
-118
29
69
-64
67
41
-17
0
0
0
0
0
0
0
-12
-19
-12
-16
45
-33
-22
-141
-46
103
0
0
0
0
0
0
0
46
22
-5
1
-65
67
-156
-141
-43
-45
0
0
0
0
0
0
0
0
84
13
33
20
-15
49
-3
-69
-67
0
0
0
0
0
0
0
1
0
-71
0
31
-11
41
73
55
-3
0
0
0
0
0
0
0
0
38
3
30
-14
17
1
-5
-4
-3
0
0
0
0
0
0
0
0
-16
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-63
31
28
-5
28
-58
4
0
0
4
0
0
0
0
0
0
-13
30
13
136
120
-32
58
0
-4
0
1
0
0
0
0
0
0
-27
-45
37
74
12
-7
-96
14
-47
-31
-40
0
0
0
0
0
0
0
9
-22
49
-3
-94
49
18
39
-33
1
0
0
0
0
0
0
0
-2
76
-7
-67
3
4
18
4
66
-15
0
0
0
0
0
0
0
1
28
13
87
30
4
31
69
-25
-7
0
0
0
0
0
0
-2
24
0
49
-12
60
15
-5
24
25
0
0
0
0
0
0
0
7
0
24
1
80
-56
-17
-9
-2
0
0
0
0
0
0
0
0
0
44
-10
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
17
-29
-22
9
4
-32
-3
0
-2
13
0
0
0
0
0
0
0
-52
-43
34
-20
-50
-43
0
0
0
-47
3
0
0
0
0
0
0
-46
53
-25
71
-173
-37
8
6
13
-50
0
0
0
0
0
0
0
18
65
-76
7
-7
24
-58
49
18
-9
-3
0
0
0
0
0
0
-2
0
129
-77
24
-46
3
-77
41
17
0
0
0
0
0
0
0
58
2
18
0
11
-31
-72
-4
-41
-8
0
0
0
0
0
0
0
-2
-55
0
29
7
29
13
3
-20
0
0
0
0
0
0
0
0
-10
0
74
0
-12
32
-2
5
-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
-50
16
-26
-5
-3
0
0
0
3
0
0
0
0
0
0
0
-12
96
85
15
27
-41
0
13
0
1
-2
0
0
0
0
0
0
0
-50
-43
23
31
-13
-6
-1
-32
12
-1
0
0
0
0
0
0
0
42
9
29
-33
7
9
-8
1
0
4
0
0
0
0
0
0
-3
-5
16
41
-22
-20
24
-1
8
-1
0
0
0
0
0
0
0
14
-2
1
13
9
4
-13
9
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
9
0
-2
0
7
0
0
0
0
0
0
0
0
4
0
4
0
-2
0
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
84
2
6
0
3
0
0
0
0
0
0
0
0
0
0
0
-18
-5
-15
31
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-66
-51
32
-77
5
-17
42
3
0
0
0
0
0
0
0
26
3
46
-29
10
-31
-4
0
2
0
0
0
0
0
0
0
0
0
-7
4
-18
-13
-13
3
-1
-1
10
0
0
0
0
0
0
0
-15
0
-35
2
53
0
5
-1
-1
-1
0
0
0
0
0
0
0
0
1
0
-4
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
5
50
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
26
-2
-4
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-84
-31
24
1
0
1
0
30
0
0
0
0
0
0
0
0
-1
0
0
7
48
10
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
7
-2
3
0
0
3
0
0
0
0
0
0
5
-9
-1
5
0
13
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
34
12
-8
0
0
0
2
0
0
0
0
0
0
0
0
49
-2
-21
-19
6
0
8
20
0
0
0
0
0
0
0
0
45
-8
-2
-2
41
-4
0
-15
0
0
0
0
0
0
0
0
0
2
-37
-44
-26
1
-8
-1
0
-4
-1
0
0
0
0
0
0
0
0
4
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
-5
1
9
0
0
0
0
0
0
0
0
0
0
0
-2
3
24
-5
0
0
0
0
72
0
0
0
0
0
0
0
0
-14
0
-6
-21
25
-5
7
0
2
0
0
0
0
0
0
0
0
0
-5
-5
22
1
9
9
0
-9
0
0
0
0
0
0
0
0
0
-4
4
12
-35
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-5
-25
-1
0
0
8
0
0
0
0
0
0
0
0
0
1
0
-9
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
6
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
1
71
-1
26
17
-6
2
0
0
0
0
0
0
0
0
0
0
20
-1
-7
15
-52
0
-5
-2
-12
0
0
0
0
0
0
0
0
12
-86
3
-33
-50
-37
-74
-1
-8
0
0
0
0
0
0
0
0
117
-15
-73
-20
35
-148
-8
10
85
0
0
0
0
0
0
0
0
4
59
3
-45
-28
33
103
4
-3
0
0
0
0
0
0
0
0
1
0
6
0
18
-8
9
-22
44
0
0
0
0
0
0
0
0
0
-28
-14
-47
0
8
4
8
-17
0
0
0
0
0
0
0
0
0
0
-38
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
24
14
30
6
-110
-1
0
0
0
0
0
0
0
0
0
0
25
-79
-27
-17
-35
-41
0
-2
0
0
0
0
0
0
0
0
-13
-45
30
-119
35
-12
-51
-13
-7
27
0
0
0
0
0
0
0
-2
-46
-66
-48
-19
121
-98
-61
-44
-90
0
0
0
0
0
0
0
-18
33
46
-109
-146
42
-12
26
93
-22
0
0
0
0
0
0
0
0
-20
-118
18
4
17
-5
16
95
123
0
0
0
0
0
0
0
0
-4
-3
7
70
-36
35
147
-57
-17
0
0
0
0
0
0
0
0
0
0
23
11
-12
-1
-6
-2
2
0
0
0
0
0
0
0
0
-4
0
-9
-6
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-57
60
58
0
12
0
0
0
0
0
0
0
0
0
0
0
50
-13
-39
101
-2
7
0
0
0
-60
0
0
0
0
0
0
24
-5
-13
49
36
49
-73
7
-27
-25
-44
0
0
0
0
0
0
2
22
-1
-36
-13
40
55
54
8
-59
19
0
0
0
0
0
0
-13
-16
-25
15
34
22
-64
-45
2
20
41
0
0
0
0
0
0
0
5
30
0
49
46
-61
3
-12
121
22
0
0
0
0
0
0
0
0
-61
0
44
68
37
27
19
16
-4
0
0
0
0
0
0
0
44
0
-25
-15
-1
12
0
0
2
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
3
27
-1
6
19
0
0
8
0
0
0
0
0
0
0
4
-10
-33
12
67
42
0
0
0
-3
0
0
0
0
0
0
0
31
-43
-67
85
-2
-23
-10
-8
34
8
0
0
0
0
0
0
0
-74
-25
-12
-7
1
24
-4
58
46
-4
-5
0
0
0
0
0
0
-2
45
21
-8
-117
23
-2
16
5
-4
0
0
0
0
0
0
0
-3
-27
-13
95
-20
-13
-58
-1
-6
0
0
0
0
0
0
0
0
0
0
9
0
8
-30
-16
1
-3
0
0
0
0
0
0
0
0
0
18
0
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
4
1
0
0
0
0
-1
0
0
0
0
0
0
0
-7
4
3
-22
1
13
0
0
0
0
0
0
0
0
0
0
-3
0
-1
18
45
8
-22
0
0
8
-4
1
0
0
0
0
0
0
25
0
32
12
2
-17
-17
-4
-1
0
0
0
0
0
0
0
0
0
5
69
59
-3
-15
0
-8
8
0
0
0
0
0
0
0
0
-7
0
-12
8
-22
1
-8
0
1
12
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-45
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
8
-4
7
-3
0
0
2
0
0
0
0
0
0
0
0
0
5
-31
-32
-1
0
0
-4
-5
0
0
0
0
0
0
0
0
-2
0
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
-10
-3
-5
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
15
49
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-5
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
1
-3
-29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
95
-5
-24
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-26
-52
-2
2
38
-26
0
0
-5
0
0
0
0
0
0
0
0
1
-37
8
-30
7
5
2
0
-35
0
0
0
0
0
0
0
0
-73
7
-56
77
-69
-83
-106
-1
41
0
0
0
0
0
0
0
0
3
-45
15
42
-66
24
33
2
-43
0
0
0
0
0
0
0
0
0
-66
42
-30
-44
6
-5
14
-21
0
0
0
0
0
0
0
0
0
0
-43
-20
-5
54
3
14
0
0
0
0
0
0
0
0
0
0
3
-22
3
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-13
56
-2
5
0
0
0
0
0
0
0
0
0
0
67
1
14
69
6
-7
-1
0
-4
-74
0
0
0
0
0
0
0
0
139
-50
-15
-40
0
-7
-1
17
-19
0
0
0
0
0
0
0
-2
1
-27
6
-110
-12
-43
27
-8
0
0
0
0
0
0
0
0
0
-5
31
-92
-40
46
32
29
6
6
0
0
0
0
0
0
0
1
0
25
3
55
42
9
5
12
0
0
0
0
0
0
0
0
0
0
0
-30
13
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
85
0
8
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
29
13
0
-2
0
0
10
0
0
0
0
0
0
0
0
-22
5
25
-8
-3
4
-6
-3
-6
0
0
0
0
0
0
0
8
-8
-30
-2
48
26
-12
2
2
0
-5
0
0
0
0
0
0
0
-3
6
7
-32
-6
-16
-18
1
-8
-6
0
0
0
0
0
0
0
0
5
6
0
3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
7
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
1
0
0
0
2
0
0
0
0
0
0
0
0
1
-15
2
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
-6
-23
0
0
0
2
-1
0
-2
0
0
0
0
0
0
0
0
18
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
2
-15
-7
0
0
0
0
0
0
0
0
0
8
-8
7
-9
1
33
-48
-52
59
0
0
0
0
0
0
0
0
1
0
0
-13
0
27
-23
43
23
0
0
0
0
0
0
0
0
-6
-3
1
-3
-4
19
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-25
-7
-2
-19
0
-35
0
0
0
0
0
0
0
-10
5
46
17
-27
154
-8
-28
31
57
0
0
0
0
0
0
0
-1
33
-5
20
-32
-19
7
44
6
20
0
0
0
0
0
0
0
4
-12
0
63
-45
81
-62
86
24
56
0
0
0
0
0
0
0
0
-48
-2
6
-33
-29
-31
-37
80
-2
0
0
0
0
0
0
0
0
-17
2
0
4
-135
5
12
23
-8
0
0
0
0
0
0
0
0
1
-2
0
3
-4
-31
-8
5
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
5
-23
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
2
0
-3
-5
-6
13
59
0
17
-1
0
0
0
0
0
0
-2
-13
23
-84
2
33
59
8
-16
2
-2
0
0
0
0
0
0
1
-8
1
-14
-6
73
42
-37
-83
15
5
0
0
0
0
0
0
-2
-3
0
13
-69
50
36
4
41
-2
-7
0
0
0
0
0
0
2
1
-5
10
4
-19
5
-4
10
-24
-5
0
0
0
0
0
0
0
6
-19
0
-3
-5
6
-8
31
7
0
0
0
0
0
0
0
0
0
-1
0
14
13
-7
48
5
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
8
-7
0
-5
-2
29
-13
0
-31
0
0
0
0
0
0
0
0
2
1
5
19
-63
-22
-90
-7
-25
7
-6
0
0
0
0
0
0
-3
0
-2
-23
84
23
-35
-38
1
7
0
0
0
0
0
0
0
2
-5
8
0
-25
29
48
-14
-41
2
0
0
0
0
0
0
0
0
0
29
0
-7
13
-31
31
1
0
0
0
0
0
0
0
0
0
3
0
-7
8
11
-21
-1
-5
-7
0
0
0
0
0
0
0
0
0
-3
-1
8
-31
1
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-3
19
-2
0
48
0
0
0
0
0
0
0
2
6
-8
0
-8
-25
24
-46
60
4
1
0
0
0
0
0
0
0
7
16
1
13
29
41
58
-5
-7
0
0
0
0
0
0
0
0
-8
0
1
0
7
-26
44
-5
0
0
0
0
0
0
0
0
0
-1
-5
4
0
1
-31
-8
-8
-3
0
0
0
0
0
0
0
0
0
-3
0
12
2
7
-8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
-30
6
0
9
-2
0
0
0
0
0
0
-2
20
16
0
9
22
-2
-11
-55
-8
-3
0
0
0
0
0
0
-1
-1
-19
12
9
-15
-17
1
12
3
0
0
0
0
0
0
0
0
0
0
8
0
-23
-6
45
-3
-16
-4
0
0
0
0
0
0
0
-1
0
0
-5
-8
-1
-1
-8
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-17
3
10
0
2
-1
0
0
0
0
0
0
0
0
0
3
0
0
1
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
10
8
0
3
0
7
2
0
0
0
0
0
0
-5
0
0
7
49
3
23
89
-49
0
8
-2
0
0
0
0
0
0
2
0
0
-24
-19
-21
45
-9
4
0
-1
0
0
0
0
0
0
0
2
3
4
-8
-3
-46
14
8
0
4
0
0
0
0
0
0
0
0
16
-2
5
39
-2
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
-4
0
0
0
0
0
0
0
0
0
1
5
-6
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
5
6
0
0
0
-2
13
0
0
0
0
0
0
-2
-4
-1
-3
-1
-8
-5
-16
-13
0
-8
0
0
0
0
0
0
0
0
-2
1
2
17
17
7
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
33
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
5
-2
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-5
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-33
-4
-47
-44
78
34
0
0
0
0
0
0
0
0
0
81
-1
77
-19
-18
39
24
-7
24
0
0
0
0
0
0
0
0
55
5
-14
42
44
66
24
48
13
0
0
0
0
0
0
0
0
-5
1
0
14
6
9
-33
3
12
0
0
0
0
0
0
0
0
19
0
0
7
68
-18
78
-5
44
0
0
0
0
0
0
0
0
0
0
0
0
12
16
10
45
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
2
-58
22
28
61
25
0
-49
0
0
0
0
0
0
0
-27
29
-51
77
11
76
24
31
13
-85
0
0
0
0
0
0
0
-1
-29
-40
44
98
91
22
-41
-31
0
0
0
0
0
0
0
0
5
-15
-23
-8
5
-55
-53
1
21
-31
0
0
0
0
0
0
0
0
23
2
21
-59
-3
24
8
75
18
0
0
0
0
0
0
0
0
-70
6
0
23
13
-22
17
-5
41
0
0
0
0
0
0
0
0
-1
2
4
-43
-8
-135
-22
-25
2
0
0
0
0
0
0
0
0
-8
0
8
1
17
13
-48
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
23
13
-8
43
-50
34
16
-25
0
-26
-23
0
0
0
0
0
0
3
55
8
53
100
84
129
-22
1
-23
28
0
0
0
0
0
0
-10
-8
19
-48
42
-22
55
102
-7
5
-3
0
0
0
0
0
0
-7
-49
-23
-24
42
-18
18
11
26
8
29
0
0
0
0
0
0
-3
52
27
-8
12
-6
100
131
-3
-24
-10
0
0
0
0
0
0
0
4
9
0
-5
-13
10
2
-5
21
6
0
0
0
0
0
0
0
0
20
2
5
-13
51
-6
-13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-13
60
5
-34
-100
0
24
29
-3
0
0
0
0
0
0
-3
0
12
-55
28
41
-18
-33
-17
19
-1
0
0
0
0
0
10
-5
-5
47
87
-2
-62
-52
-45
16
-41
2
0
0
0
0
0
4
17
-14
13
-50
-31
42
-58
-13
9
4
0
0
0
0
0
0
0
-42
-2
6
-7
-15
-107
-18
12
52
-3
1
0
0
0
0
0
0
2
16
0
0
74
7
-59
-14
1
1
0
0
0
0
0
0
0
0
0
3
10
-2
22
4
-5
-8
0
0
0
0
0
0
0
0
0
0
1
0
-2
-35
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-12
-5
7
17
-9
13
43
0
-69
1
0
0
0
0
0
0
8
-13
15
-12
2
47
-12
31
51
68
-57
16
0
0
0
0
0
1
-19
-13
-2
29
-14
26
3
18
1
-1
0
0
0
0
0
0
0
-16
4
19
-13
7
-6
-87
30
24
2
0
0
0
0
0
0
0
0
7
0
1
-6
-49
3
59
-5
14
5
0
0
0
0
0
0
-2
-5
4
-1
3
-13
17
16
0
1
0
0
0
0
0
0
0
0
0
0
-1
50
-20
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
-6
1
12
6
32
-40
0
62
-2
0
0
0
0
0
0
0
-7
5
7
55
-30
-8
64
44
50
-14
3
1
0
0
0
0
-5
42
8
35
-31
13
-61
9
-94
-44
0
0
0
0
0
0
0
1
2
0
-3
0
-33
94
-28
56
75
16
1
0
0
0
0
0
0
0
1
-3
-4
-15
9
32
47
5
0
-2
3
0
0
0
0
0
0
4
3
0
3
56
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
8
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-2
-4
-24
43
5
35
15
0
33
0
0
0
0
0
0
0
-1
-3
-2
-24
97
-9
-32
68
32
-12
-20
-5
1
0
0
0
0
0
12
6
1
-20
-5
55
-24
-21
8
16
1
0
0
0
0
0
-1
4
-2
-4
-8
-28
-18
49
-15
-58
-13
1
0
0
0
0
0
-5
-2
-6
-1
5
18
29
-8
-5
10
-3
2
0
0
0
0
0
0
-1
2
0
0
-4
-67
7
25
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
6
-6
-7
7
-3
7
0
0
0
0
0
0
0
-1
0
0
0
-8
-7
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
31
16
0
0
2
0
0
0
0
0
0
-2
2
8
-8
-10
-37
-7
1
24
5
-13
0
-1
0
0
0
0
-4
0
7
1
-5
28
-17
-46
4
5
-4
-3
1
0
0
0
0
0
-3
5
4
-4
13
-10
1
-10
59
0
0
0
0
0
0
0
0
0
1
7
18
12
16
-1
-32
-2
0
0
0
0
0
0
0
0
0
19
0
-4
-7
4
14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
8
8
2
4
0
1
0
0
0
0
0
0
0
0
2
0
0
25
-13
5
28
3
-2
5
0
0
0
0
0
0
0
14
0
-5
4
-4
61
-20
-1
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
3
-3
22
8
1
0
0
0
0
0
0
0
0
12
0
12
4
0
34
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
6
5
-29
16
-43
-56
0
0
0
0
0
0
0
0
0
-39
13
44
-43
63
173
13
9
-95
0
0
0
0
0
0
0
0
-2
8
0
21
-14
-76
7
-26
-61
0
0
0
0
0
0
0
0
18
4
25
63
-24
71
-7
29
10
0
0
0
0
0
0
0
0
14
0
-1
-41
-4
-28
-16
8
6
0
0
0
0
0
0
0
0
0
0
0
-9
7
5
6
63
20
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-51
-30
31
58
18
35
2
0
-47
0
0
0
0
0
0
0
-5
26
48
46
-27
38
55
-82
-33
37
0
0
0
0
0
0
0
9
-15
-48
15
103
-116
-74
-27
-44
24
0
0
0
0
0
0
0
2
13
4
2
79
69
-81
6
-24
19
0
0
0
0
0
0
0
4
24
-12
19
40
-15
20
25
14
-8
0
0
0
0
0
0
0
0
0
24
0
-12
59
-34
-24
-23
-5
0
0
0
0
0
0
0
3
0
-25
0
1
-1
23
-45
-42
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
10
13
-56
51
41
52
0
39
-4
0
0
0
0
0
0
3
-47
-5
-3
-11
-13
47
30
32
35
39
0
0
0
0
0
0
-3
22
-6
-26
10
32
34
45
45
60
8
0
0
0
0
0
0
8
5
-13
-10
27
-25
54
44
-9
-39
-3
0
0
0
0
0
0
-5
0
5
23
-13
-52
-5
-3
7
53
2
0
0
0
0
0
0
0
1
0
3
-4
10
-47
40
19
-4
0
0
0
0
0
0
0
0
1
4
5
-19
-6
-16
-5
-6
8
0
0
0
0
0
0
0
0
-1
0
0
0
3
4
3
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
3
-10
40
5
-46
0
13
23
8
0
0
0
0
0
-13
16
35
17
-106
-11
-49
9
50
-82
-26
10
0
0
0
0
0
0
-43
33
-1
-8
-37
23
3
-23
-11
-5
3
0
0
0
0
0
-1
-5
75
-5
34
36
41
17
57
31
-2
0
0
0
0
0
0
-9
7
0
-24
37
-10
78
46
55
-39
0
0
0
0
0
0
0
0
6
3
-9
-1
3
41
-75
-3
21
-3
0
0
0
0
0
0
0
0
0
-1
2
0
20
-4
18
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
75
-2
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
-2
-1
1
0
-8
4
38
-5
0
45
-8
0
0
0
0
0
0
-2
32
-23
-9
91
59
15
53
13
35
-34
0
0
0
0
0
0
0
0
3
-30
0
41
-13
-79
87
1
1
0
0
0
0
0
0
-5
3
-5
3
-1
-13
33
-85
29
13
-17
0
0
0
0
0
0
-2
-7
-8
-2
10
80
46
-75
-4
13
3
0
0
0
0
0
0
0
0
-7
0
-1
1
5
6
-3
1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
-35
48
0
76
4
0
0
0
0
0
0
3
-6
4
-2
-4
-42
-47
9
31
3
-6
3
0
0
0
0
0
0
-5
-1
20
-2
-1
-37
54
81
-42
0
3
0
0
0
0
0
2
29
-2
6
22
41
-3
-30
-29
-5
-6
0
0
0
0
0
0
4
0
2
0
13
-42
-53
-31
0
3
1
0
0
0
0
0
0
0
0
0
-1
0
4
8
-42
2
-4
0
0
0
0
0
0
0
0
0
1
0
0
1
31
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
3
0
2
-5
-20
0
-9
7
-4
0
0
0
0
0
0
3
0
-2
-12
19
-53
94
28
-1
-1
0
0
0
0
0
0
0
0
-3
-15
4
-18
-4
13
-1
14
0
0
0
0
0
0
0
0
13
-1
-9
45
-48
31
-32
-84
5
0
0
0
0
0
0
0
0
2
-4
-4
-3
21
55
27
-2
2
0
0
0
0
0
0
0
0
0
-2
-1
1
1
-13
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
0
19
-13
0
-3
0
6
0
0
0
0
0
0
7
12
-1
-72
-5
-1
-26
56
4
2
0
0
0
0
0
0
0
0
0
1
-7
1
21
0
40
15
4
0
0
0
0
0
0
0
-1
-5
31
-3
6
27
10
51
-15
0
0
0
0
0
0
0
0
1
-5
-2
2
6
-2
2
21
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
1
8
0
2
1
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
1
0
30
0
0
0
0
0
0
0
0
0
2
-3
-13
-12
-34
-8
-24
0
1
0
0
0
0
0
0
0
-1
4
-1
15
17
69
49
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
14
10
-27
0
0
0
0
0
0
0
0
0
0
5
0
-1
7
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
4
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-13
4
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
3
0
-8
-2
-14
-22
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
5
8
8
0
0
0
0
0
0
0
0
0
0
5
-4
0
0
3
1
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
-2
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
10
2
13
-87
-13
-30
0
0
0
0
0
0
0
0
0
25
12
-7
-5
53
66
-41
33
-23
0
0
0
0
0
0
0
0
-17
-12
-3
-34
-25
-75
-35
54
-20
0
0
0
0
0
0
0
0
0
-1
41
57
15
29
51
2
2
0
0
0
0
0
0
0
0
-15
2
-5
10
22
-3
72
-14
7
0
0
0
0
0
0
0
0
-3
5
1
12
8
-70
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-32
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
-8
30
39
99
-30
0
-32
0
0
0
0
0
0
0
-25
18
60
1
-29
-35
-14
111
-38
35
0
0
0
0
0
0
0
52
75
101
34
12
-21
-7
40
-22
-36
0
0
0
0
0
0
0
0
-12
31
58
83
9
-146
44
84
93
0
0
0
0
0
0
0
-12
-13
-19
-22
-25
4
-25
-31
-49
-2
0
0
0
0
0
0
0
0
-8
10
-13
-25
64
-2
50
-55
-1
0
0
0
0
0
0
0
0
-4
1
-3
-1
-25
-31
5
-66
8
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
13
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
-4
13
-28
-61
-92
0
-54
-2
0
0
0
0
0
0
1
-33
21
-5
13
79
58
-52
95
-31
-22
0
0
0
0
0
0
-2
70
-3
14
-15
-112
13
68
34
50
1
0
0
0
0
0
0
8
-29
-2
28
86
-9
-3
-30
-16
-1
9
0
0
0
0
0
0
21
-7
-5
-5
26
-9
13
-41
76
0
0
0
0
0
0
0
0
0
-22
-9
-42
18
32
15
42
-30
5
0
0
0
0
0
0
0
0
12
6
0
-43
3
-44
-41
-41
-4
0
0
0
0
0
0
0
0
0
-1
0
0
-3
8
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
-1
3
44
41
-26
41
0
30
-14
0
0
0
0
0
0
0
-24
-24
-1
2
36
-5
28
68
46
24
-3
0
0
0
0
0
1
5
13
-2
-111
-24
48
-17
-61
-41
-7
-4
0
0
0
0
0
0
-16
79
0
34
113
29
70
-82
13
5
0
0
0
0
0
0
0
0
-2
-10
-9
45
-47
45
-38
-19
-1
0
0
0
0
0
0
0
2
0
-30
9
46
-28
-30
-23
14
0
0
0
0
0
0
0
0
3
0
0
0
-3
45
4
52
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
12
13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
6
-1
-4
21
136
-42
0
-48
-18
0
0
0
0
0
0
0
-3
3
8
0
47
-3
-40
-62
70
-25
-3
0
0
0
0
0
0
0
4
-20
-25
5
-5
7
62
52
-2
2
0
0
0
0
0
0
0
3
31
0
7
26
-32
-44
72
-1
0
0
0
0
0
0
1
-5
0
0
-13
14
35
-7
31
-3
0
0
0
0
0
0
0
0
0
0
-14
0
-25
13
23
4
-9
-6
0
0
0
0
0
0
0
0
1
6
4
3
17
1
9
2
0
0
0
0
0
0
0
0
0
0
0
1
-3
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
-49
25
0
-25
6
2
0
0
0
0
0
0
-8
0
0
-30
49
-24
6
-36
20
-4
0
0
0
0
0
0
0
0
0
-14
-15
-28
13
36
63
-12
1
0
0
0
0
0
0
0
0
-19
-1
-13
0
-41
50
-25
72
0
0
0
0
0
0
0
0
-3
-1
-45
10
42
0
39
-1
-10
0
0
0
0
0
0
0
0
0
-2
0
6
16
0
-3
5
2
1
0
0
0
0
0
0
0
0
-3
-5
1
-2
33
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
6
-25
46
0
-2
-2
0
0
0
0
0
0
0
-1
4
39
-3
50
-49
-23
-8
0
3
1
0
0
0
0
0
0
-1
-2
-2
-18
-19
-22
-5
39
39
0
0
0
0
0
0
0
0
0
5
-8
15
68
0
8
31
18
0
0
0
0
0
0
0
0
-2
-5
-4
-6
-4
-56
46
-9
-1
0
0
0
0
0
0
0
0
7
0
0
0
51
7
46
5
0
0
0
0
0
0
0
0
0
-5
-8
0
-6
1
3
0
-4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
3
-5
3
-5
0
46
0
0
0
0
0
0
0
0
-5
3
0
1
1
-7
28
21
-4
0
0
0
0
0
0
0
0
-7
5
-3
10
-2
23
41
-16
1
0
0
0
0
0
0
0
0
0
-1
-24
16
47
-34
0
4
-12
0
0
0
0
0
0
0
0
0
1
-9
-19
-1
18
-7
0
0
-2
0
0
0
0
0
0
0
-4
0
0
0
-6
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
-8
2
0
0
0
0
0
0
0
0
7
0
0
1
41
9
-17
19
0
0
0
0
0
0
0
0
0
0
0
23
-37
1
4
-4
-1
8
5
0
0
0
0
0
0
0
-14
0
0
-5
0
-42
7
1
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
14
-4
27
17
-1
0
0
0
0
0
0
0
0
5
0
0
0
-2
2
-22
3
-7
0
0
0
0
0
0
0
0
-4
1
0
-4
5
-1
0
43
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
-15
-23
-18
2
-50
0
0
0
0
0
0
0
0
0
24
-18
6
43
27
81
-23
-31
-61
0
0
0
0
0
0
0
0
5
-1
60
-36
-21
32
-1
22
21
0
0
0
0
0
0
0
0
7
1
26
68
-5
9
-76
26
-6
0
0
0
0
0
0
0
0
0
-3
-7
27
30
55
-98
-17
-10
0
0
0
0
0
0
0
0
3
0
3
-6
20
-59
-22
7
0
0
0
0
0
0
0
0
0
0
6
0
0
-46
6
92
0
1
0
0
0
0
0
0
0
0
0
0
6
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-35
-5
1
-48
146
-10
-20
0
13
0
0
0
0
0
0
0
25
-31
2
-15
-86
94
-61
51
-19
-69
0
0
0
0
0
0
0
-18
-9
-19
9
42
-24
-75
17
0
-66
0
0
0
0
0
0
0
44
-18
-49
22
59
67
75
17
-84
48
0
0
0
0
0
0
0
17
0
22
39
-34
49
58
-37
17
9
0
0
0
0
0
0
0
0
35
-52
-34
-50
5
17
59
-22
6
0
0
0
0
0
0
0
0
9
-2
0
77
-47
24
17
-50
0
0
0
0
0
0
0
0
0
1
-7
23
0
44
62
3
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
5
0
0
0
0
0
0
0
0
-3
-6
-6
5
-35
22
-4
-15
0
98
7
0
0
0
0
0
0
-1
2
-42
-6
49
-31
42
76
-13
40
58
0
0
0
0
0
0
1
-48
47
-42
61
89
8
-71
-56
5
5
0
0
0
0
0
0
35
50
54
96
-24
35
-41
-22
65
-13
18
0
0
0
0
0
0
0
-13
0
-36
-47
-37
49
-58
-58
-24
1
0
0
0
0
0
0
0
0
-9
-17
-87
-75
-10
-17
3
0
-8
0
0
0
0
0
0
0
-1
20
-19
21
110
1
43
-1
30
0
0
0
0
0
0
0
0
0
-4
0
0
8
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
-9
0
-19
45
4
91
51
0
-1
39
0
0
0
0
0
0
0
-32
53
10
21
-7
50
51
-18
49
52
-1
0
0
0
0
0
0
5
22
15
32
-13
31
62
-22
50
74
0
0
0
0
0
0
0
-3
-3
-10
-1
52
-26
5
-37
33
-20
-1
0
0
0
0
0
2
9
2
0
39
13
-22
12
32
1
8
0
0
0
0
0
0
0
5
-1
-1
-4
-8
-12
-13
38
14
0
0
0
0
0
0
0
0
0
-1
5
24
25
35
45
18
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-3
25
53
4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
0
0
0
3
0
2
-8
-24
37
0
-7
0
0
0
0
0
0
0
0
-4
-8
1
-13
-1
-22
-78
-140
-9
19
4
0
0
0
0
0
0
1
0
35
-16
-108
-15
-24
41
21
-6
0
0
0
0
0
0
0
0
2
2
-6
25
63
20
-7
41
0
1
0
0
0
0
0
1
0
2
61
0
-51
43
158
31
2
0
0
0
0
0
0
0
0
0
27
0
-10
54
-1
42
8
25
0
0
0
0
0
0
0
0
0
0
1
35
-1
-22
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
18
-8
4
0
-2
16
0
0
0
0
0
0
0
6
2
-15
15
26
31
80
8
6
-16
0
0
0
0
0
0
0
3
0
15
-49
-5
47
6
62
41
-2
4
0
0
0
0
0
0
4
0
-7
0
-42
-39
64
135
-58
-13
0
0
0
0
0
0
-6
32
6
0
23
0
0
-1
90
10
0
0
0
0
0
0
0
0
0
0
-17
-4
54
-12
39
7
-8
-6
0
0
0
0
0
0
0
0
0
0
23
11
-9
-1
18
0
-2
0
0
0
0
0
0
0
0
6
5
0
-1
0
16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-41
26
0
3
0
0
0
0
0
0
0
0
-3
0
0
13
8
-69
30
5
-2
16
0
0
0
0
0
0
0
0
-7
0
-36
41
-32
-26
-18
7
0
0
0
0
0
0
0
2
0
2
0
-31
7
12
-8
2
10
0
-1
0
0
0
0
0
0
8
-2
-1
34
-1
0
0
42
0
-2
0
0
0
0
0
0
0
20
24
-17
27
0
16
7
2
-8
2
0
0
0
0
0
0
0
0
0
-3
-4
0
20
-1
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
29
-18
13
58
-1
0
0
0
0
0
0
0
0
5
1
3
34
12
-15
-74
-25
-2
-1
0
0
0
0
0
0
0
0
0
8
32
-35
-3
-2
-8
0
0
0
0
0
0
0
0
0
2
0
0
0
1
6
0
-28
0
0
0
0
0
0
0
0
0
0
0
16
2
-2
-2
-14
0
-3
0
0
0
0
0
0
0
0
0
0
0
14
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
-12
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
43
-49
57
0
0
0
0
0
0
0
0
0
0
13
0
-4
-10
-12
10
5
1
0
0
0
0
0
0
0
14
0
-6
-8
55
99
10
0
-1
0
0
0
0
0
0
0
0
2
0
-5
-12
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
5
4
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
-2
-7
-1
2
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
8
-2
25
1
0
0
0
0
0
0
0
0
0
0
0
5
-1
-5
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-3
29
-5
-20
11
13
0
0
0
0
0
0
0
0
0
8
-1
0
-35
34
-31
24
-23
-4
0
0
0
0
0
0
0
0
50
2
-4
-4
-46
-13
-37
-60
62
0
0
0
0
0
0
0
0
-14
9
60
29
-19
-25
29
23
-21
0
0
0
0
0
0
0
0
-9
-14
-2
73
48
-5
-58
3
17
0
0
0
0
0
0
0
0
0
66
-2
89
36
1
8
59
0
0
0
0
0
0
0
0
0
-8
8
6
14
57
-9
-30
43
17
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-2
24
13
25
5
-51
9
-11
0
64
0
0
0
0
0
0
0
10
23
32
-13
-46
38
11
14
-53
4
0
0
0
0
0
0
0
2
45
-25
-4
48
13
-42
44
70
13
0
0
0
0
0
0
0
3
51
25
14
-1
47
-67
-21
-82
8
0
0
0
0
0
0
0
4
44
26
121
113
75
26
65
29
118
0
0
0
0
0
0
0
-1
0
-13
-58
14
67
4
-88
2
10
0
0
0
0
0
0
0
1
-9
-5
5
41
-26
62
24
-62
-1
0
0
0
0
0
0
0
0
-1
2
-13
-4
24
26
26
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
20
3
0
0
0
0
0
0
0
0
0
5
-5
-28
0
-23
-6
-24
44
0
28
-36
0
0
0
0
0
0
0
-6
44
6
-29
32
-49
3
108
23
31
0
0
0
0
0
0
-1
-8
5
-10
13
-2
39
88
55
111
34
0
0
0
0
0
0
8
60
-22
11
57
74
44
88
42
85
6
0
0
0
0
0
0
-4
-50
10
-13
67
70
3
-57
112
116
0
0
0
0
0
0
0
17
-94
0
15
-8
-76
125
-58
-29
51
0
0
0
0
0
0
0
-2
0
-35
39
-25
32
-75
39
89
1
0
0
0
0
0
0
0
0
0
-14
-3
0
32
41
50
7
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
-12
0
0
0
0
0
0
0
0
2
8
2
-1
18
52
2
29
0
45
10
1
0
0
0
0
0
2
27
-22
8
42
129
-16
26
30
-58
15
-4
0
0
0
0
0
0
0
8
1
47
21
-6
60
6
11
-27
0
0
0
0
0
0
2
76
-3
1
45
17
30
80
-34
-11
25
0
0
0
0
0
0
0
-15
1
-18
5
143
65
-30
46
23
6
0
0
0
0
0
0
0
44
8
0
58
-15
38
1
94
42
0
0
0
0
0
0
0
0
-43
1
54
-49
-13
-1
-8
-4
8
6
0
0
0
0
0
0
0
0
2
-5
0
-2
-8
-41
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
1
-6
-32
34
4
0
16
9
0
0
0
0
0
0
0
2
7
-29
-6
10
-29
-6
-30
-111
-2
0
0
0
0
0
0
0
1
0
7
25
0
78
-26
-18
0
6
0
0
0
0
0
0
0
-1
0
-3
1
14
38
32
-69
42
-2
0
0
0
0
0
0
0
0
4
17
-64
0
22
15
9
-6
0
-1
0
0
0
0
0
0
6
58
-25
0
55
1
23
-3
-5
0
0
0
0
0
0
0
-1
0
2
0
7
2
45
9
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-2
19
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-4
31
-36
0
-4
0
0
0
0
0
0
0
0
-1
0
-4
2
-4
51
-7
13
-2
20
0
0
0
0
0
0
0
0
-5
0
0
-1
41
-33
-6
-23
3
0
0
0
0
0
0
0
0
-1
49
19
25
10
45
-2
30
10
0
0
0
0
0
0
1
-6
4
4
-13
16
31
37
83
2
0
0
0
0
0
0
0
0
15
-4
1
1
0
-15
8
-2
0
0
0
0
0
0
0
0
-2
2
-14
2
0
-6
21
13
-8
2
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-1
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
-1
0
-20
0
0
0
0
0
0
0
0
-1
0
1
23
-18
93
-18
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
30
-29
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
5
-32
-4
-34
0
0
0
0
0
0
0
0
-3
-14
0
-5
0
120
10
46
4
0
0
0
0
0
0
0
0
0
5
0
-5
3
0
43
0
18
0
0
0
0
0
0
0
0
0
0
-1
0
3
14
4
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
2
0
-1
2
0
0
0
0
0
0
-3
0
-6
0
-9
0
0
42
-21
6
0
0
0
0
0
0
0
0
0
0
0
1
21
-7
-9
-13
5
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
4
-8
-7
5
3
0
0
0
0
0
0
0
8
0
7
0
-41
19
13
3
-2
0
0
0
0
0
0
0
0
2
1
0
0
-1
-1
0
5
0
-3
0
0
0
0
0
0
0
0
-3
0
3
-35
0
-2
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
2
0
13
-2
0
0
0
0
0
0
0
-1
0
0
0
24
15
-14
-4
-7
0
0
0
0
0
0
0
0
-2
0
1
0
5
-6
-5
-22
0
0
0
0
0
0
0
0
0
-1
0
4
-25
22
-3
44
-3
-20
0
0
0
0
0
0
0
0
0
0
0
-5
4
89
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
1
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
4
-42
-41
1
24
0
0
0
0
0
0
0
0
0
72
10
-6
-27
75
41
-2
52
86
0
0
0
0
0
0
0
0
-18
0
-3
9
-26
59
19
-77
60
0
0
0
0
0
0
0
0
-24
7
1
42
-52
57
13
87
31
0
0
0
0
0
0
0
0
-1
0
13
-47
15
-24
85
-2
82
0
0
0
0
0
0
0
0
20
4
-15
33
19
13
-28
-28
-2
0
0
0
0
0
0
0
0
0
0
24
4
44
63
-98
-5
2
0
0
0
0
0
0
0
0
0
0
-2
21
-8
-5
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
0
0
0
0
-11
2
6
135
82
69
89
0
-45
0
0
0
0
0
0
0
-1
-55
-31
-24
-54
12
-59
27
-5
54
0
0
0
0
0
0
0
0
11
-9
-26
16
5
3
23
-24
-5
0
0
0
0
0
0
0
8
62
26
76
18
-9
-30
23
54
-12
0
0
0
0
0
0
0
0
-31
-16
-76
-10
-23
-2
52
-3
-42
0
0
0
0
0
0
0
-2
23
-44
-55
-96
28
-93
-67
22
-34
0
0
0
0
0
0
0
13
0
8
10
-4
-55
21
-74
-43
9
0
0
0
0
0
0
0
0
1
9
-37
9
10
-33
-10
8
-6
0
0
0
0
0
0
0
2
0
0
0
4
-1
4
-4
0
0
0
0
0
0
0
0
0
0
-2
41
-2
13
10
70
24
0
91
-11
0
0
0
0
0
0
-1
-60
-22
-12
-1
32
-22
-34
-16
52
-17
0
0
0
0
0
0
-2
49
14
-4
108
61
-41
-39
-13
5
20
0
0
0
0
0
0
0
-24
-3
34
-44
22
-1
-78
103
-2
2
0
0
0
0
0
0
2
28
-5
76
-4
96
2
29
29
-68
-1
0
0
0
0
0
0
-3
-2
20
93
13
-47
-11
8
106
63
-13
0
0
0
0
0
0
14
46
0
-3
-61
29
31
23
63
-1
0
0
0
0
0
0
0
0
0
-4
14
-13
-18
38
-58
28
-35
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-1
0
0
0
0
0
0
0
0
0
0
-2
-4
3
-6
-15
41
67
0
52
3
-1
0
0
0
0
0
0
-10
-5
-5
15
-42
-40
79
-91
48
-25
1
0
0
0
0
0
0
-8
1
-9
4
5
57
24
-78
42
-19
0
0
0
0
0
0
0
-7
0
-2
66
83
-33
-3
67
-51
-9
0
0
0
0
0
0
0
5
-4
0
-76
53
50
-53
48
92
-1
0
0
0
0
0
0
1
-10
0
41
-30
108
89
-45
4
5
10
0
0
0
0
0
0
0
-6
64
0
51
-52
-81
44
41
-7
0
0
0
0
0
0
0
0
14
0
-5
0
80
-8
-60
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
5
6
-8
7
21
-32
0
66
13
0
0
0
0
0
0
0
0
0
2
-1
44
58
-7
18
48
25
-1
0
0
0
0
0
0
-2
0
5
3
-7
50
-2
-10
6
-1
0
0
0
0
0
0
0
-9
0
-2
-2
8
-35
17
-4
-1
1
0
0
0
0
0
0
0
-4
0
0
1
41
5
18
-4
2
-5
0
0
0
0
0
0
0
0
-3
0
-2
-39
-22
-20
7
15
0
3
0
0
0
0
0
0
0
0
0
0
-16
31
-8
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-2
0
-44
15
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-14
-15
-8
-47
-7
-2
0
0
0
0
0
0
0
0
0
12
-8
90
8
-39
-1
0
0
0
0
0
0
0
0
0
-2
0
0
10
1
105
29
-37
0
0
0
0
0
0
0
0
0
0
0
25
7
49
-5
-28
0
-5
0
0
0
0
0
0
0
0
0
0
8
-23
9
24
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-11
0
15
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
18
-3
25
0
0
0
0
0
0
0
0
0
0
1
0
0
43
-6
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
30
3
47
1
-9
0
0
0
0
0
0
0
0
8
0
1
-1
16
-31
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
7
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
7
2
0
0
-1
0
0
0
0
0
0
0
19
0
1
-1
-6
-7
-24
-18
-1
0
0
0
0
0
0
0
0
1
0
-1
-1
0
-13
2
6
8
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
7
1
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
12
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
-2
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
2
0
0
0
0
0
0
0
0
0
0
0
9
-6
12
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
8
2
-31
8
-8
0
0
0
0
0
0
0
0
2
0
9
-1
-8
-5
0
42
0
0
0
0
0
0
0
0
0
0
-3
0
-20
6
-1
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-24
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-12
-3
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
37
-3
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
1
0
0
0
0
0
0
0
0
0
5
0
5
3
14
-18
-9
16
81
0
0
0
0
0
0
0
0
-3
0
0
45
124
7
-57
46
6
0
0
0
0
0
0
0
0
90
-2
-1
-23
-53
-125
16
-12
-6
0
0
0
0
0
0
0
0
33
-2
5
-13
-27
63
-38
-4
31
0
0
0
0
0
0
0
0
22
6
-38
-54
-42
9
9
29
-3
0
0
0
0
0
0
0
0
0
10
30
22
41
15
-32
-21
83
0
0
0
0
0
0
0
0
0
0
-2
-65
-13
1
-21
4
0
0
0
0
0
0
0
0
0
-4
-3
0
0
13
0
-28
0
0
0
0
0
0
0
0
0
0
0
13
9
24
65
-38
112
-31
0
1
0
0
0
0
0
0
0
0
3
42
-41
79
-57
-11
-74
42
-2
0
0
0
0
0
0
0
0
-6
14
1
9
-97
-39
-72
23
11
0
0
0
0
0
0
0
-2
-37
-9
-8
-38
-68
-43
25
76
-42
0
0
0
0
0
0
0
-1
33
9
31
125
78
-49
46
-81
-68
0
0
0
0
0
0
0
0
-82
-13
105
69
10
3
-82
20
-43
0
0
0
0
0
0
0
-8
0
-12
63
12
-39
-38
-103
31
5
0
0
0
0
0
0
0
0
0
-2
34
19
-74
-6
-32
-29
16
0
0
0
0
0
0
0
0
0
0
3
-1
6
3
-18
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
2
-32
19
0
30
1
0
0
0
0
0
0
0
-22
10
-1
-8
-74
-23
-106
-13
-78
57
0
0
0
0
0
0
-8
-7
10
0
13
85
68
-29
-3
-40
-68
0
0
0
0
0
0
0
20
1
-13
17
-5
85
21
44
21
9
0
0
0
0
0
0
0
-6
-8
26
4
-57
-35
44
117
-1
22
0
0
0
0
0
0
0
12
13
16
46
-109
49
-90
41
-31
-3
0
0
0
0
0
0
0
0
-1
26
-10
-69
60
-15
53
29
0
0
0
0
0
0
0
0
37
0
20
-2
53
-22
-10
-17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
9
0
18
2
0
0
0
0
0
0
0
9
-12
8
0
35
14
-58
86
109
-34
3
0
0
0
0
0
0
-2
0
-1
55
37
-56
-4
-63
22
-6
1
0
0
0
0
0
0
-3
0
0
17
-5
-22
39
-77
90
-5
0
0
0
0
0
0
0
1
0
1
-53
-21
31
50
-51
-1
-2
0
0
0
0
0
0
0
-2
-1
-1
20
-31
68
-27
84
-4
0
0
0
0
0
0
0
0
0
19
16
-78
3
41
-22
-4
-37
15
0
0
0
0
0
0
0
-5
-1
0
1
-1
-2
-31
4
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
4
0
31
-1
0
0
0
0
0
0
0
0
0
0
0
44
1
-6
-1
-2
7
0
0
0
0
0
0
0
0
0
1
1
2
10
-1
-70
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-26
0
2
-1
0
0
0
0
0
0
0
3
0
2
-1
-16
23
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-13
58
4
60
10
2
0
0
0
0
0
0
0
0
1
0
7
-14
6
-37
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
14
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
28
3
-46
0
0
0
0
0
0
0
0
0
27
0
0
0
3
-5
20
7
-41
0
0
0
0
0
0
0
0
-9
0
0
-15
31
22
0
-60
3
0
0
0
0
0
0
0
0
6
4
9
35
85
10
-6
8
2
0
0
0
0
0
0
0
0
8
84
-56
22
-24
88
-12
52
0
0
0
0
0
0
0
0
0
-4
0
0
-1
67
48
-7
-9
19
0
0
0
0
0
0
0
0
0
0
35
24
1
2
3
-8
0
0
0
0
0
0
0
0
0
0
-1
6
0
42
13
31
0
1
0
0
0
0
0
0
0
0
0
0
0
0
12
5
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
-7
8
23
0
0
0
0
0
0
0
0
0
4
0
0
0
0
43
-66
20
13
0
0
0
0
0
0
0
0
-9
0
-8
5
-38
3
46
16
2
0
0
0
0
0
0
0
-5
0
-1
0
25
10
-2
0
-16
1
0
0
0
0
0
0
0
0
17
13
31
-8
69
-47
0
-4
0
0
0
0
0
0
0
0
0
0
2
13
5
18
4
-16
0
0
0
0
0
0
0
0
0
0
0
0
-10
-35
14
10
1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-19
9
8
4
0
0
0
0
0
0
0
0
-2
-5
0
0
-5
5
0
16
2
3
0
0
0
0
0
0
0
0
0
0
2
21
90
19
13
-20
0
0
0
0
0
0
0
0
-1
0
3
0
1
31
6
14
8
-5
0
0
0
0
0
0
0
0
0
-53
5
-2
5
-3
1
0
0
0
0
0
0
0
0
0
0
0
7
5
-35
-13
-4
18
0
1
0
0
0
0
0
0
0
0
0
15
-1
16
4
18
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
4
3
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
19
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
-3
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-13
13
4
-22
-23
0
0
0
0
0
0
0
0
0
0
0
0
3
-19
-47
-25
2
-63
15
0
0
0
0
0
0
0
0
0
-4
-12
67
-12
-4
-39
-34
-43
0
0
0
0
0
0
0
0
0
0
0
-17
-23
49
22
43
36
0
0
0
0
0
0
0
0
0
0
0
0
-23
-32
-12
37
-53
0
0
0
0
0
0
0
0
0
0
0
5
-3
17
-35
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
49
3
-53
-44
106
0
0
0
0
0
0
0
0
0
0
0
54
-54
27
-30
-50
-17
0
0
0
0
0
0
0
0
0
0
0
-2
22
-1
36
-92
-58
51
-144
-129
0
0
0
0
0
0
0
0
-72
-2
-82
-90
-32
-18
-45
2
-13
0
0
0
0
0
0
0
0
-5
51
24
82
34
20
-19
59
21
0
0
0
0
0
0
0
0
-9
-5
-18
-11
-79
-33
84
41
8
0
0
0
0
0
0
0
0
0
0
60
5
66
26
-66
-2
46
0
0
0
0
0
0
0
0
0
0
-18
-50
94
19
-27
32
21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-47
0
0
0
0
0
0
0
0
0
0
0
13
38
-55
34
0
0
0
-12
0
0
0
0
0
0
0
-25
-32
49
-52
12
22
0
0
0
41
0
0
0
0
0
0
0
-7
58
-29
-62
-11
-55
-36
2
28
20
0
0
0
0
0
0
0
46
-13
5
-85
-73
-21
8
-10
-120
-42
0
0
0
0
0
0
0
-5
106
-9
14
-74
-53
-49
-87
-106
-2
0
0
0
0
0
0
0
-34
-31
-71
54
-23
8
-48
-35
-16
-33
0
0
0
0
0
0
0
0
-13
62
-39
-18
-58
-32
28
-16
41
0
0
0
0
0
0
0
0
-5
-48
-28
-70
7
-50
-33
-10
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-60
21
1
0
0
0
17
0
0
0
0
0
0
0
1
-13
-36
49
-22
-36
0
0
0
26
-5
0
0
0
0
0
0
0
5
23
-9
13
-24
-71
-26
-43
114
-8
0
0
0
0
0
0
-8
-13
-23
-93
84
-56
-25
64
-21
-41
0
0
0
0
0
0
0
0
-42
-50
-30
-114
-116
40
-28
-40
38
1
0
0
0
0
0
0
0
0
6
-105
71
-97
-26
-23
-20
77
0
0
0
0
0
0
0
0
0
-5
-74
6
23
9
10
-11
-21
-2
0
0
0
0
0
0
0
0
1
5
5
21
27
-7
43
66
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-18
0
3
-54
0
0
0
-1
0
0
0
0
0
0
0
-24
-35
-2
-29
-98
3
0
0
0
-13
-13
0
0
0
0
0
0
0
-3
-47
-41
38
-17
-57
40
-94
-37
-3
0
0
0
0
0
0
0
5
-37
-67
13
49
-90
-68
-46
-1
0
0
0
0
0
0
0
0
11
-6
-96
30
-127
48
-82
5
15
1
0
0
0
0
0
0
0
0
-12
41
-33
-104
-3
35
69
-13
7
0
0
0
0
0
0
0
8
-2
5
-81
-52
-106
72
-60
-6
12
0
0
0
0
0
0
0
0
-2
3
-25
42
-34
93
-38
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-50
0
0
0
0
6
0
0
0
0
0
0
0
5
-47
-2
-17
25
0
0
0
5
-2
0
0
0
0
0
0
0
1
-18
-22
-7
-27
-16
-22
-14
34
-3
0
0
0
0
0
0
0
0
-7
41
-14
-63
-50
37
73
-5
0
0
0
0
0
0
0
0
0
-3
15
-4
97
-23
-142
-31
-20
-1
0
0
0
0
0
0
0
0
1
35
19
53
25
28
36
-13
0
0
0
0
0
0
0
0
0
0
0
15
3
13
22
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
31
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-2
-2
6
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-2
4
3
-5
-30
2
-76
0
0
0
0
0
0
0
0
0
0
0
0
-12
33
-15
14
-45
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
55
12
-69
-5
0
0
0
0
0
0
0
0
0
0
3
-1
12
21
-12
34
3
-1
0
0
0
0
0
0
0
0
0
-4
-7
-6
2
-2
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
30
64
15
-60
48
0
0
0
0
0
0
0
0
0
0
0
-7
-27
50
-63
73
73
0
0
0
0
0
0
0
0
0
0
0
-16
133
43
-40
27
-13
-36
-87
0
0
0
0
0
0
0
0
0
6
46
17
-51
26
-83
12
-37
0
0
0
0
0
0
0
0
0
-2
-14
15
12
-7
-97
-14
-19
0
0
0
0
0
0
0
0
0
0
-9
-13
41
35
26
-46
14
0
0
0
0
0
0
0
0
0
0
0
-3
-1
24
58
45
49
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
5
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
25
0
0
0
0
0
0
0
0
5
6
-19
-5
2
28
-33
0
0
0
0
0
0
0
0
0
0
5
-3
78
56
-23
-40
55
0
0
0
0
0
0
0
0
0
0
7
-70
5
-15
16
-15
-59
25
-18
-78
0
0
0
0
0
0
0
0
-14
-110
74
21
14
-80
-61
-77
-10
0
0
0
0
0
0
0
0
20
6
-36
49
-21
-1
-23
-19
24
0
0
0
0
0
0
0
-1
18
-9
44
-8
-41
-82
53
-24
-59
0
0
0
0
0
0
0
0
-1
-5
1
51
57
-14
-34
-6
-6
0
0
0
0
0
0
0
0
0
0
0
4
-54
-63
21
2
67
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
-34
-6
0
0
0
0
0
0
0
0
-3
-4
-6
-63
-126
-55
0
0
0
-31
0
0
0
0
0
0
0
-13
-13
-80
-58
-53
44
0
0
0
43
0
0
0
0
0
0
0
-26
27
6
40
4
-25
-69
30
-32
28
0
0
0
0
0
0
0
-1
69
-75
-22
-79
18
-45
27
-124
-50
0
0
0
0
0
0
0
5
-83
5
5
2
-53
-37
-11
-46
-11
0
0
0
0
0
0
0
-1
-29
-3
-68
-98
-45
-51
-47
25
-65
0
0
0
0
0
0
0
5
-5
-10
100
-66
-70
-11
-64
-48
22
0
0
0
0
0
0
0
0
0
-3
60
-138
-114
-91
-89
-18
15
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-29
19
-33
0
0
0
0
0
0
0
0
14
6
-6
-57
84
0
0
0
-15
-1
0
0
0
0
0
0
-3
53
94
-20
-16
-51
0
0
0
42
5
0
0
0
0
0
0
-13
-16
6
-64
-61
-23
-41
-38
-18
13
-3
0
0
0
0
0
0
-5
-44
102
-38
12
40
47
8
-10
-31
-2
0
0
0
0
0
0
-10
14
-50
-5
-41
53
-4
-42
-5
-45
10
0
0
0
0
0
0
0
9
21
-22
20
-120
-14
61
-7
-73
-4
0
0
0
0
0
0
0
0
14
-48
-21
34
-55
11
-57
19
18
0
0
0
0
0
0
0
0
0
-2
-41
-14
-17
-58
43
67
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
69
42
-12
0
0
0
0
0
0
0
0
16
30
46
-14
1
0
0
0
-49
3
0
0
0
0
0
-2
1
2
-11
-41
38
-120
0
0
0
6
-32
0
0
0
0
0
0
8
-16
53
43
-21
14
-73
5
-30
-92
-58
-2
0
0
0
0
0
0
8
-27
13
104
40
-66
16
-107
-31
-28
-13
0
0
0
0
0
0
10
-27
62
-45
4
-80
39
51
18
-60
-8
0
0
0
0
0
0
0
-2
-31
-6
-143
-23
-123
-102
17
1
0
0
0
0
0
0
0
0
0
2
-65
-6
-9
-27
26
-32
-6
0
0
0
0
0
0
0
0
0
-4
3
0
5
42
-54
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
4
0
0
0
0
0
0
0
0
16
42
-5
2
-9
0
0
0
28
-4
0
0
0
0
0
0
0
-13
-5
-14
-18
-70
0
0
0
-7
5
0
0
0
0
0
0
0
-9
39
20
-45
-5
-37
3
19
-6
-12
-2
0
0
0
0
0
0
3
5
46
-4
12
-27
-64
-106
-8
3
0
0
0
0
0
0
0
0
-14
-15
99
39
44
29
-62
8
0
0
0
0
0
0
0
0
-1
-6
-8
13
87
-14
70
-31
22
0
-4
0
0
0
0
0
0
0
1
4
8
38
-21
-5
4
-4
2
0
0
0
0
0
0
0
0
0
22
0
2
1
4
51
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
1
0
0
0
0
0
0
0
-6
13
-7
-17
1
0
0
0
15
-20
-3
0
0
0
0
0
0
0
2
-13
-5
-24
-41
-4
-80
6
-20
1
0
0
0
0
0
0
0
0
-13
3
-32
-8
9
96
-20
3
0
0
0
0
0
0
0
0
0
-2
3
-38
-39
22
-99
1
0
-3
0
0
0
0
0
0
0
0
6
-6
-8
-5
-13
13
8
-5
0
0
0
0
0
0
0
0
0
0
-5
0
28
6
-53
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
5
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
3
0
-1
-25
0
-12
1
1
-1
0
0
0
0
0
0
0
0
0
1
-2
1
1
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
-3
4
5
-1
-17
-2
0
1
0
0
0
0
0
0
0
0
0
0
3
6
-5
5
13
-7
1
0
0
0
0
0
0
0
0
0
-2
0
-19
-8
0
-27
4
1
0
0
0
0
0
0
0
0
0
-1
-3
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
-10
-4
-1
0
0
0
0
0
0
0
-3
0
7
0
-6
-6
2
12
12
0
0
0
0
0
0
0
0
0
0
0
0
-30
24
7
-1
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
25
-18
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
7
21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-12
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-6
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
3
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
3
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-75
-16
-5
-66
-18
0
0
0
0
0
0
0
0
0
0
0
-1
8
-8
-53
-1
-23
0
0
0
0
0
0
0
0
0
0
0
6
30
40
57
-57
-6
120
-100
0
0
0
0
0
0
0
0
0
2
0
-44
1
9
1
38
-61
0
0
0
0
0
0
0
0
0
-3
1
17
17
-53
48
7
-13
0
0
0
0
0
0
0
0
0
0
0
1
19
-22
77
-54
-76
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-51
89
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-61
0
0
0
0
0
0
0
0
2
-20
-7
21
29
-49
-29
0
0
0
0
0
0
0
0
0
0
0
-39
-45
-4
7
-18
-43
0
0
0
0
0
0
0
0
0
0
0
8
5
21
-31
-30
57
7
-70
-5
0
0
0
0
0
0
0
0
58
23
-5
-10
-6
-44
-81
-22
-43
0
0
0
0
0
0
0
0
-5
18
-7
-48
15
-32
-77
1
-50
0
0
0
0
0
0
0
-1
-2
-25
6
25
83
62
27
-39
-59
0
0
0
0
0
0
0
0
0
0
-8
40
13
-19
-2
-95
35
0
0
0
0
0
0
0
0
0
0
1
-8
25
-5
-41
41
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-49
-13
0
0
0
0
0
0
0
0
-3
8
-24
-56
78
50
0
0
0
-27
0
0
0
0
0
0
0
-2
-29
-20
-8
-2
-22
0
0
0
-17
0
0
0
0
0
0
0
13
31
-9
-56
17
55
42
9
-92
-34
0
0
0
0
0
0
0
-2
-31
-17
-48
-50
-36
-57
-102
-5
-6
0
0
0
0
0
0
0
1
-51
-41
56
-63
-39
-30
-5
-50
-25
0
0
0
0
0
0
0
0
-26
-30
1
-99
-37
15
-14
23
-42
0
0
0
0
0
0
0
0
0
2
-12
1
17
-82
-22
-64
2
0
0
0
0
0
0
0
0
0
6
-1
-1
-1
-94
36
-53
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
1
0
-9
-15
-57
12
-70
0
0
0
20
-2
0
0
0
0
0
0
-2
-12
-48
-76
39
-57
0
0
0
-5
-8
0
0
0
0
0
0
13
-2
-59
-23
2
67
-50
25
37
47
0
0
0
0
0
0
0
0
47
49
-45
38
-25
121
-31
-73
19
0
0
0
0
0
0
0
0
-13
-2
16
-62
84
59
-55
48
-23
10
0
0
0
0
0
0
0
0
-31
-41
93
-51
87
7
-30
8
0
0
0
0
0
0
0
0
0
0
-29
-8
27
-10
-53
-30
59
0
0
0
0
0
0
0
0
0
0
0
-13
0
-18
7
-20
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
0
0
0
0
0
0
0
0
0
-2
37
2
-14
-19
0
0
0
-1
3
0
0
0
0
0
0
0
-3
-73
61
-53
39
0
0
0
43
-33
0
0
0
0
0
0
6
42
-13
22
1
-55
-9
-19
-68
-13
13
4
0
0
0
0
0
2
-6
-26
25
14
21
53
29
20
-1
-24
-1
0
0
0
0
0
0
0
6
2
-26
-102
-76
49
-40
-6
-22
0
0
0
0
0
0
0
7
-7
-56
-113
41
97
-130
-21
32
29
0
0
0
0
0
0
0
0
-5
-5
0
-8
21
-24
73
-2
-2
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
-46
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
5
-1
-2
-3
0
0
0
22
0
0
0
0
0
0
0
0
-8
-45
-53
-13
4
0
0
0
7
23
2
0
0
0
0
0
0
0
-12
-16
24
31
8
2
-43
-31
-4
3
0
0
0
0
0
2
-14
0
-1
-5
-23
50
43
-40
10
-1
0
0
0
0
0
0
0
0
5
-23
13
47
-38
50
42
6
8
0
0
0
0
0
0
0
0
2
-4
0
-52
-3
-68
4
-25
-1
0
0
0
0
0
0
0
0
0
1
-1
-41
22
-6
42
-9
-8
0
0
0
0
0
0
0
0
0
0
-1
3
1
7
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
1
17
0
0
0
4
0
0
0
0
0
0
0
0
-1
1
-13
-24
5
0
0
0
1
-78
0
0
0
0
0
0
0
0
0
24
7
3
-29
5
-59
20
12
-1
-2
0
0
0
0
0
3
-8
-1
-5
15
-34
47
-13
3
-1
1
0
0
0
0
0
0
0
0
0
8
14
33
20
-4
17
-27
0
0
0
0
0
0
0
0
0
0
-3
9
-8
41
0
4
-1
0
0
0
0
0
0
0
0
0
0
7
0
3
3
-26
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
-32
-1
0
0
0
0
0
0
0
0
-1
-1
0
-6
-2
-48
-1
-6
-2
0
0
0
0
0
0
0
0
0
1
-4
3
-3
12
13
-8
-1
0
0
0
0
0
0
0
0
0
0
-1
0
18
7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
20
18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
8
0
0
0
-1
0
0
0
0
0
0
0
-4
-8
0
16
-56
-30
0
0
0
-12
-1
0
0
0
0
0
0
1
0
13
-41
-1
-45
-87
-35
-51
0
0
0
0
0
0
0
0
0
1
-6
-8
-17
-48
25
42
-3
-1
0
0
0
0
0
0
0
0
4
1
0
2
-26
2
52
0
1
3
0
0
0
0
0
0
0
0
0
0
2
34
28
45
25
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-6
16
0
0
0
0
3
-7
1
0
0
0
0
0
0
14
1
-19
32
8
0
0
0
-16
3
0
0
0
0
0
0
0
-5
-12
-3
29
56
-50
-7
6
6
-3
0
0
0
0
0
0
0
0
-5
1
-10
-8
-15
-37
28
-22
1
0
0
0
0
0
0
0
-2
0
7
-2
-68
33
51
57
7
-5
0
0
0
0
0
0
0
0
0
1
-3
-5
50
7
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
17
-85
-10
0
0
0
0
0
0
0
0
0
0
-8
0
0
3
2
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-5
5
0
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
-21
43
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-16
-22
27
0
0
0
0
0
0
0
0
0
0
0
5
-63
-5
-15
-55
-16
13
-3
0
0
0
0
0
0
0
0
0
0
1
28
-3
32
10
5
-67
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
-35
29
-75
0
0
0
0
0
0
0
0
0
0
0
0
13
-13
4
14
3
0
0
0
0
0
0
0
0
0
0
0
0
-24
-9
2
-50
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
49
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
1
-2
41
-22
4
60
0
0
0
0
0
0
0
0
0
0
1
19
-48
34
-16
9
-7
0
0
0
0
0
0
0
0
0
0
0
9
52
10
-70
-128
92
47
-96
-79
0
0
0
0
0
0
0
0
-2
53
35
-60
-20
-29
24
-30
-18
0
0
0
0
0
0
0
0
-6
74
21
-45
-130
-66
-61
-91
-19
0
0
0
0
0
0
0
0
0
-25
21
11
-9
40
18
-78
-41
0
0
0
0
0
0
0
0
0
15
-5
20
56
-17
98
5
74
0
0
0
0
0
0
0
0
0
0
0
2
6
15
-13
47
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
25
-5
0
0
0
0
0
0
0
0
0
-73
15
110
-60
-21
0
0
0
4
0
0
0
0
0
0
0
-7
0
-67
-73
-51
14
0
0
0
-25
0
0
0
0
0
0
0
-1
-21
-122
-82
68
25
-22
-6
-39
2
0
0
0
0
0
0
0
0
-2
-51
-6
-103
-83
-1
-10
-117
43
0
0
0
0
0
0
0
0
-25
-4
-67
-76
-65
-143
48
10
26
0
0
0
0
0
0
0
2
0
-13
-79
26
-51
-103
30
6
-5
0
0
0
0
0
0
0
0
0
0
-6
-69
-21
-67
-38
-18
-2
0
0
0
0
0
0
0
0
0
-2
0
-20
13
-6
-11
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
-5
0
0
0
0
0
0
0
0
0
0
21
-107
-21
34
0
0
0
22
0
0
0
0
0
0
0
-9
6
30
13
31
-57
0
0
0
-59
23
0
0
0
0
0
0
0
-7
51
76
-20
-45
-31
-83
21
25
0
0
0
0
0
0
1
16
-9
-7
23
82
-61
-34
-97
-72
-13
0
0
0
0
0
0
0
10
-11
14
-36
-55
-62
-90
21
-41
12
-1
0
0
0
0
0
0
0
0
-4
-45
16
-37
-22
47
-11
-46
0
0
0
0
0
0
0
1
0
0
0
5
12
58
32
-112
3
0
0
0
0
0
0
0
0
0
-6
0
-1
-6
1
27
-10
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
16
33
-43
49
22
0
0
0
-7
3
0
0
0
0
0
0
0
40
-36
-5
-44
45
0
0
0
75
21
0
0
0
0
0
0
1
-10
20
-65
51
-125
6
-29
43
8
-6
2
0
0
0
0
0
-4
-5
8
-1
-32
21
-21
-84
-9
33
2
1
0
0
0
0
0
0
-10
-29
22
-15
-40
-115
-49
-26
-10
0
4
0
0
0
0
0
0
0
1
-6
41
-10
-23
11
-19
5
-2
0
0
0
0
0
0
0
0
-4
2
-1
27
-31
-6
87
16
2
0
0
0
0
0
0
0
0
0
0
6
0
19
-79
-44
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-12
-51
1
0
0
0
0
-7
0
-6
0
0
0
0
0
-6
-3
-43
-5
17
-7
0
0
0
-66
5
-3
0
0
0
0
0
0
-6
-19
24
15
-4
-6
8
82
0
-7
1
0
0
0
0
0
0
0
-7
-7
0
11
21
2
-66
37
1
0
0
0
0
0
0
0
-3
-2
-3
10
-7
17
9
-42
-7
-4
0
0
0
0
0
0
0
0
0
0
0
-5
45
1
-52
-7
-1
1
0
0
0
0
0
0
0
0
-2
6
0
-7
-27
-8
-5
3
0
0
0
0
0
0
0
0
0
-5
0
-1
-2
1
-125
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
-13
0
0
0
-2
0
0
0
0
0
0
0
0
-1
4
0
21
2
0
0
0
5
22
0
0
0
0
0
0
0
0
0
21
0
-18
9
-61
13
-7
29
0
0
0
0
0
0
0
1
0
3
6
0
-52
-16
-24
14
3
0
0
0
0
0
0
0
0
0
7
-1
-20
-16
41
-22
3
0
-1
0
0
0
0
0
0
0
0
-5
0
5
20
0
27
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
2
0
0
0
0
0
0
2
-1
31
-1
1
0
0
0
5
0
0
0
0
0
0
0
0
0
1
1
6
0
-32
-10
-9
2
-2
6
0
0
0
0
0
0
0
0
0
16
-31
0
-26
10
-5
3
0
1
0
0
0
0
0
0
0
1
4
1
-4
15
-5
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
5
-16
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
-49
27
20
-24
0
0
0
0
0
0
0
0
0
0
0
14
0
23
56
14
-48
0
0
0
0
-1
0
0
0
0
0
0
7
-4
34
-13
-18
-58
-34
-71
-97
-3
0
0
0
0
0
0
0
0
-2
-38
-2
59
44
-135
32
-45
0
0
0
0
0
0
0
0
-1
5
6
-21
-1
82
35
3
55
3
0
0
0
0
0
0
0
0
8
2
-61
-13
12
-15
-37
-5
4
1
0
0
0
0
0
0
0
0
0
-6
0
-46
-1
-24
31
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
3
-5
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
3
-1
-9
-12
8
0
0
0
0
0
0
0
0
0
0
0
1
-3
-33
-7
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-56
-26
-32
22
-89
-95
2
0
0
0
0
0
0
0
0
-2
0
-29
-35
-19
19
-91
16
7
3
0
0
0
0
0
0
0
4
-7
9
55
-39
20
-20
97
1
1
0
0
0
0
0
0
0
0
2
14
-5
12
3
-62
81
2
0
0
0
0
0
0
0
0
0
-5
-7
0
3
-33
36
50
2
0
0
0
0
0
0
0
0
0
0
0
0
2
6
9
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
1
-3
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
4
-3
4
3
22
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-3
7
-8
0
-4
0
0
0
0
0
0
0
0
0
-1
0
-6
-37
1
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
3
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-2
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
13
14
-22
19
-33
9
0
0
0
0
0
0
0
0
0
-1
0
-13
-1
18
-52
-7
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
-38
-71
27
-22
0
0
0
0
0
0
0
0
0
0
0
0
9
-27
-22
-18
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-74
-9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-57
0
0
0
0
0
0
0
0
0
0
2
-23
-7
-41
-22
0
0
0
0
0
0
0
0
0
0
0
-8
-9
-39
-59
10
-22
0
0
0
0
0
0
0
0
0
0
0
0
133
-33
38
-106
97
-12
1
-23
0
0
0
0
0
0
0
0
-1
-1
-88
22
12
17
-7
-48
-34
0
0
0
0
0
0
0
0
0
-6
0
-135
-37
39
9
-2
-120
0
0
0
0
0
0
0
0
0
1
14
8
-65
-10
-105
30
24
0
0
0
0
0
0
0
0
0
-10
-2
-35
-47
-94
56
-30
42
0
0
0
0
0
0
0
0
0
0
-5
15
10
5
-59
-50
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
1
0
0
0
0
0
0
0
0
7
-4
43
-52
51
18
0
0
0
5
0
0
0
0
0
0
0
0
18
9
24
-13
19
0
0
0
32
0
0
0
0
0
0
0
-7
-31
8
-37
-32
60
75
-42
76
-28
0
0
0
0
0
0
0
0
12
-66
74
147
-60
-34
40
-46
3
0
0
0
0
0
0
0
0
0
5
-48
-80
1
-118
-26
30
13
0
0
0
0
0
0
0
0
12
-40
-5
-59
-40
-112
-3
-10
22
0
0
0
0
0
0
0
1
0
8
29
-20
-45
-51
-28
-66
15
0
0
0
0
0
0
0
0
0
0
-12
28
4
49
-20
-17
57
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-20
0
0
0
0
0
0
0
0
0
0
-9
-1
-30
24
0
0
0
9
4
0
0
0
0
0
0
4
-6
-63
9
67
71
0
0
0
-34
6
0
0
0
0
0
0
0
5
-11
-1
-59
3
0
31
15
-3
-4
0
0
0
0
0
0
0
19
-9
35
0
41
-39
-75
-73
41
1
0
0
0
0
0
0
1
-3
0
-4
-138
-27
-16
83
52
8
6
0
0
0
0
0
0
8
5
-7
21
41
46
-33
64
-89
2
8
0
0
0
0
0
0
0
3
0
5
-66
-27
60
31
35
-55
-5
0
0
0
0
0
0
0
0
0
-6
4
-2
-9
91
28
65
3
0
0
0
0
0
0
0
0
0
0
0
0
-30
-41
-24
9
0
0
0
0
0
0
0
0
0
2
16
12
8
0
0
0
-10
0
0
0
0
0
0
0
-5
7
42
-29
-30
-9
0
0
0
-37
-17
0
0
0
0
0
0
-14
0
-47
4
-10
9
23
7
-46
-6
-18
0
0
0
0
0
0
0
-13
23
12
-28
15
-24
-6
0
-50
8
1
0
0
0
0
0
0
-2
-1
0
12
-138
-82
-50
22
7
-7
-2
0
0
0
0
0
0
-4
0
2
-83
26
10
71
-79
5
-2
0
0
0
0
0
0
0
0
0
8
15
-80
47
3
22
8
-2
0
0
0
0
0
0
0
0
0
0
1
2
-8
5
30
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
5
0
16
0
0
0
-41
-1
0
0
0
0
0
0
-5
0
18
6
39
-3
0
0
0
27
-25
-3
0
0
0
0
0
0
-3
-10
26
13
5
7
-4
-60
-1
-8
-5
0
0
0
0
0
0
0
10
3
-3
44
-42
-19
5
19
1
3
0
0
0
0
0
0
-7
3
8
0
-32
7
-31
66
-27
-2
-2
0
0
0
0
0
0
0
0
-19
22
51
-63
57
-45
-13
0
0
0
0
0
0
0
0
0
0
1
7
21
-50
13
-73
-20
-2
0
0
0
0
0
0
0
0
0
6
0
-3
3
2
-57
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
7
5
0
0
0
0
0
0
-1
0
7
1
2
-3
-12
-31
23
0
-4
0
0
0
0
0
0
0
0
0
17
1
1
6
-23
-22
0
-6
0
0
0
0
0
0
0
0
0
-7
0
0
51
-64
-68
5
-3
0
0
0
0
0
0
0
0
0
-5
0
2
14
-23
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-2
5
-5
-37
50
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
9
5
0
0
0
1
-1
0
0
0
0
0
0
0
-2
0
-5
5
9
0
0
0
-3
3
0
0
0
0
0
0
0
0
-12
1
2
42
13
-75
-1
0
1
0
0
0
0
0
0
0
-5
0
0
-16
-19
-25
-16
2
-2
0
0
0
0
0
0
0
0
0
0
-12
-3
76
0
-14
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
35
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-16
0
5
-45
-42
5
-1
0
0
0
0
0
0
0
0
0
0
0
12
-55
10
-8
23
16
0
0
0
2
6
0
0
0
0
0
0
-6
37
-52
50
-71
20
-110
-48
-50
0
0
0
0
0
0
0
0
2
7
-8
-9
-22
-44
-98
-1
-106
-5
0
0
0
0
0
0
0
-6
8
1
27
93
-71
50
0
-43
4
0
0
0
0
0
0
0
0
0
-6
-30
60
129
107
74
3
0
-1
0
0
0
0
0
0
0
-5
0
-9
40
-26
-49
-45
-56
5
0
0
0
0
0
0
0
0
0
12
5
2
-83
8
-42
45
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
5
0
0
0
0
0
0
0
0
0
0
7
-6
-56
-19
-16
0
0
0
0
0
0
0
0
0
0
0
-13
-15
49
68
-15
-43
0
0
0
-6
1
1
0
0
0
0
0
0
-29
-46
-5
-66
-31
-27
-6
-22
0
0
0
0
0
0
0
0
0
9
15
77
11
-12
-97
-30
-37
-8
0
0
0
0
0
0
0
0
-4
22
-8
91
21
6
17
0
-6
0
0
0
0
0
0
0
0
5
4
-5
35
-59
-18
-9
13
0
-4
0
0
0
0
0
0
0
0
-9
0
-14
-13
84
-110
-9
6
0
0
0
0
0
0
0
0
0
0
0
-7
-5
41
-23
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
-5
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
23
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
25
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
12
9
10
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
31
-27
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
42
21
-15
-43
10
0
0
0
0
0
0
0
0
0
0
0
-35
8
-9
-54
-42
-47
0
0
0
0
0
0
0
0
0
0
0
2
1
17
99
51
10
0
0
0
0
0
0
0
0
0
0
0
0
3
-86
-12
-22
-99
0
0
0
0
0
0
0
0
0
0
-2
0
-1
24
8
5
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
21
0
0
0
0
0
0
0
0
0
0
2
5
-82
76
59
0
0
0
0
0
0
0
0
0
0
0
-4
17
-79
-75
54
22
0
0
0
0
0
0
0
0
0
0
0
0
-82
71
42
-26
75
-10
29
-113
0
0
0
0
0
0
0
0
-4
6
-61
-53
-19
-8
-11
-107
3
0
0
0
0
0
0
0
0
0
-12
50
-53
-54
-50
-64
-114
117
0
0
0
0
0
0
0
0
0
2
26
83
-10
-20
35
-87
-152
0
0
0
0
0
0
0
0
0
-7
-4
-24
-65
23
-67
-7
-28
0
0
0
0
0
0
0
0
0
0
0
-10
-5
64
14
39
76
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
23
4
0
0
0
0
0
0
0
0
0
21
5
23
-6
-5
0
0
0
1
0
0
0
0
0
0
0
0
38
42
-71
72
-68
0
0
0
2
0
0
0
0
0
0
0
0
-32
13
-94
-51
-9
-20
-12
-45
5
0
0
0
0
0
0
0
-14
-2
-25
19
-2
-33
49
-58
63
13
0
0
0
0
0
0
0
0
-5
-32
-93
-87
-44
70
-75
-93
-5
0
0
0
0
0
0
0
4
0
-20
31
20
-12
-51
-11
-109
-22
0
0
0
0
0
0
0
0
-5
-12
17
-149
-51
21
-86
-84
-17
0
0
0
0
0
0
0
0
0
0
-1
49
-8
-60
-71
-43
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
33
0
0
0
0
0
0
0
0
0
-1
6
-21
0
-3
0
0
0
-25
0
0
0
0
0
0
-1
-1
-9
2
59
31
16
0
0
0
4
-2
0
0
0
0
0
0
-5
-21
34
-5
54
-22
29
7
21
-7
0
0
0
0
0
0
0
0
-1
16
-7
5
-72
-21
24
-19
68
0
0
0
0
0
0
0
0
0
22
-17
-97
-100
-20
-77
-67
4
0
0
0
0
0
0
0
-1
2
0
-98
6
-64
-13
-8
-3
3
-22
0
0
0
0
0
0
0
0
-8
1
81
-39
-25
29
-100
20
-8
0
0
0
0
0
0
0
0
0
0
-6
8
-55
-8
-10
51
8
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-8
8
-10
0
0
0
0
0
0
0
0
-60
-1
16
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
-25
56
-16
0
0
0
17
-1
0
0
0
0
0
0
-2
0
-8
35
-52
35
-45
82
46
1
0
0
0
0
0
0
0
0
0
55
9
42
23
20
-21
-65
-8
0
-1
0
0
0
0
0
0
0
-12
-49
76
1
-48
-21
63
-4
10
0
0
0
0
0
0
0
0
23
0
45
-35
-21
-42
-71
-5
-7
0
0
0
0
0
0
0
-4
-1
-4
13
38
-75
-86
-24
-1
-1
0
0
0
0
0
0
0
0
0
0
0
4
5
-10
-36
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
0
0
0
0
0
1
-5
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
17
25
-7
-2
47
0
0
0
-11
0
2
0
0
0
0
0
0
0
1
17
12
9
23
12
18
-4
-5
0
0
0
0
0
0
0
0
1
-5
-51
-41
63
22
-4
-49
0
0
0
0
0
0
0
0
0
6
5
10
21
37
-76
-4
-1
1
0
0
0
0
0
0
0
-2
-3
0
0
51
-1
101
42
12
-1
-4
0
0
0
0
0
0
0
-1
0
0
-16
-23
-93
41
56
-2
0
0
0
0
0
0
0
0
0
0
0
0
43
6
72
-51
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
2
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
9
-8
-12
-7
0
0
0
-49
15
0
0
0
0
0
0
0
0
0
12
3
-6
0
-10
35
-1
8
-6
0
0
0
0
0
0
0
1
3
12
1
42
3
-5
-8
0
0
0
0
0
0
0
0
0
-2
0
-5
16
47
49
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
40
-48
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-4
15
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-57
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
4
6
-2
0
0
0
-1
-7
0
0
0
0
0
0
0
7
-70
6
-7
15
24
-30
0
0
0
0
0
0
0
0
0
0
0
2
-84
4
-27
-8
8
-17
-4
0
0
0
0
0
0
0
0
0
1
-2
-14
-41
7
72
-7
2
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
35
-24
0
0
2
0
0
0
0
0
0
0
0
0
0
-15
0
-2
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
0
0
35
8
-25
-15
-9
0
0
0
0
0
0
0
0
0
0
0
-30
-78
-1
62
-48
54
0
0
0
0
-1
0
0
0
0
0
0
-3
-32
109
28
-18
-5
-105
-7
40
0
0
0
0
0
0
0
0
-5
5
30
60
-52
66
-124
-94
75
1
0
0
0
0
0
0
0
-4
-102
-71
-24
26
56
-149
-75
-82
0
0
0
0
0
0
0
0
4
-2
31
26
-58
-134
-11
0
-87
0
0
0
0
0
0
0
0
1
0
-10
30
-14
-63
25
-41
46
0
-2
0
0
0
0
0
0
0
0
0
-6
-93
18
25
62
14
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
25
-7
0
0
0
0
0
0
0
0
0
-80
-10
-12
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
24
-5
-48
29
49
0
0
0
0
0
0
0
0
0
0
0
0
4
60
49
-23
2
-13
-32
-19
5
0
0
0
0
0
0
0
0
7
46
-7
-28
-46
-41
-21
-62
1
0
0
0
0
0
0
0
0
0
-1
47
-32
87
-13
-27
-49
-13
0
0
0
0
0
0
0
0
1
2
1
-67
118
14
22
0
58
0
0
0
0
0
0
0
0
0
4
0
-3
-7
25
54
-66
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-66
-17
21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
6
-14
-5
12
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
1
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-29
-5
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-8
0
-9
-66
-56
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
48
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
33
-6
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
13
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-25
0
0
0
0
0
0
0
0
0
0
-1
2
6
23
-6
0
0
0
0
0
0
0
0
0
0
0
-3
59
-6
7
5
70
0
0
0
0
0
0
0
0
0
0
0
-3
-21
62
-100
-40
-39
-25
-27
-12
0
0
0
0
0
0
0
0
0
13
-23
26
-3
-65
9
-4
-89
0
0
0
0
0
0
0
0
0
-20
9
-11
-51
-87
-63
-3
32
0
0
0
0
0
0
0
0
0
-13
-8
5
32
51
-59
-13
16
0
0
0
0
0
0
0
0
0
1
-6
22
-35
37
-38
-30
19
0
0
0
0
0
0
0
0
0
0
-4
0
8
-54
37
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-73
7
0
0
0
0
0
0
0
0
0
2
3
-15
-16
-2
0
0
0
-1
0
0
0
0
0
0
0
44
-71
-52
22
-66
66
0
0
0
-6
0
0
0
0
0
0
0
0
-18
-41
59
68
19
-13
33
-55
3
0
0
0
0
0
0
0
1
4
-10
19
-43
3
-27
3
-25
-4
0
0
0
0
0
0
0
0
-73
122
-62
-96
-15
36
4
-8
22
0
0
0
0
0
0
0
0
-24
55
21
-11
24
15
6
-169
-13
0
0
0
0
0
0
0
0
0
-13
-20
-13
-78
10
13
-10
18
0
0
0
0
0
0
0
0
-2
-5
1
-13
6
-47
4
-48
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
3
0
0
0
0
0
0
0
0
-4
-10
2
34
-2
0
0
0
-7
-2
0
0
0
0
0
0
0
-12
-12
-35
-22
-9
0
0
0
5
2
0
0
0
0
0
0
0
0
-66
-15
56
-24
4
33
-9
-8
0
0
0
0
0
0
0
0
-4
25
77
-23
18
95
65
-1
-14
0
0
0
0
0
0
0
0
2
-4
-103
61
-25
-27
-100
-20
-7
-2
0
0
0
0
0
0
0
-1
-3
-64
-22
-163
66
-77
-25
-14
0
0
0
0
0
0
0
0
0
0
-33
-2
-128
-49
-11
-54
-31
0
0
0
0
0
0
0
0
0
0
0
-8
-2
50
93
-78
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-12
1
0
0
0
0
0
0
0
0
52
0
31
-12
44
0
0
0
0
0
0
0
0
0
0
0
0
-19
-138
76
-9
3
0
0
0
16
0
0
0
0
0
0
0
0
1
-7
-34
-22
18
-69
5
-50
-3
-3
0
0
0
0
0
0
2
-3
5
-64
22
-23
-5
-13
-67
-1
2
0
0
0
0
0
0
0
1
8
48
52
-43
-23
41
-115
0
-5
0
0
0
0
0
0
0
-1
-21
-5
69
-46
-23
-33
4
0
0
0
0
0
0
0
0
0
0
0
0
15
12
39
62
-109
-44
-6
0
0
0
0
0
0
0
0
0
0
0
-5
-24
-108
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-46
2
0
0
0
0
0
0
0
0
0
3
1
15
-2
13
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
-17
-2
8
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-8
0
0
-9
-1
-12
-1
0
0
0
0
0
0
0
0
-4
-2
17
-1
18
42
5
-7
0
-6
0
0
0
0
0
0
0
-2
1
23
-9
-19
15
-1
15
-8
0
0
0
0
0
0
0
1
0
0
2
-6
-59
-16
-66
-46
16
0
0
0
0
0
0
0
0
0
0
4
0
-21
48
-22
-22
-6
5
0
0
0
0
0
0
0
0
0
0
-17
-1
16
-20
23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
1
1
0
0
0
0
0
0
0
0
7
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
30
8
-49
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
-29
-9
44
1
0
0
13
-1
0
0
0
0
0
0
0
0
6
-14
-5
2
12
-16
0
-1
1
0
0
0
0
0
0
0
0
0
0
-2
-20
35
-15
12
17
0
0
0
0
0
0
0
0
0
-7
-5
-21
16
-61
14
5
29
0
5
0
0
0
0
0
0
0
0
0
-10
13
0
18
-46
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
22
42
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
0
-4
-1
-8
0
-4
0
0
0
0
0
0
0
0
2
-2
4
-7
-8
13
10
0
0
1
0
0
0
0
0
0
0
-1
0
-13
0
-17
-8
13
1
0
0
0
0
0
0
0
0
0
0
1
0
2
-65
-39
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
0
39
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
15
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
14
0
0
0
0
0
0
0
0
0
0
-15
3
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
8
30
1
-2
-5
-30
0
0
0
0
0
0
0
0
0
0
0
3
-22
7
-1
-6
-20
-98
10
30
0
0
0
0
0
0
0
0
0
0
31
24
3
-115
-12
-59
-39
0
0
0
0
0
0
0
0
-12
7
13
11
54
-45
1
-99
-145
-9
0
0
0
0
0
0
0
0
0
8
21
75
-105
23
-95
56
0
0
0
0
0
0
0
0
0
0
-4
7
-17
68
-62
0
-53
-3
0
0
0
0
0
0
0
0
0
12
0
-13
-16
-53
45
60
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-81
18
0
0
0
0
0
0
0
0
0
-5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
31
-5
-15
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
-34
-8
9
-17
41
1
0
0
0
0
0
0
0
0
4
-25
8
-42
5
-47
-22
-31
33
0
0
0
0
0
0
0
0
0
-3
-59
13
-164
13
51
-45
-2
0
0
0
0
0
0
0
0
0
4
-16
-5
-8
-32
-22
-26
5
0
0
0
0
0
0
0
0
0
0
-3
8
42
28
40
0
-5
0
0
0
0
0
0
0
0
0
0
3
0
-6
-73
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
0
0
0
14
-10
0
0
0
0
0
0
0
0
0
0
0
35
3
1
-25
0
5
0
0
0
0
0
0
0
0
0
0
1
0
-1
3
-1
-31
1
0
0
0
0
0
0
0
0
0
0
0
-7
-3
9
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-17
-61
-3
41
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-12
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
3
-72
-2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-21
-40
-23
-39
-79
-9
0
0
0
0
0
0
0
0
0
-3
-13
21
-114
22
-54
14
1
0
0
0
0
0
0
0
0
0
-13
0
-31
-20
16
-14
15
-31
0
0
0
0
0
0
0
0
0
0
-5
49
-49
-5
47
-17
-50
0
0
0
0
0
0
0
0
0
0
2
-43
9
-40
44
-21
23
0
0
0
0
0
0
0
0
0
1
-1
0
-25
32
33
-27
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-46
52
22
0
0
0
0
0
0
0
0
0
-3
0
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-49
-27
2
14
0
0
0
0
0
0
0
0
0
0
0
0
-2
79
-43
-9
40
-25
19
-45
0
0
0
0
0
0
0
0
0
-1
-2
61
-97
55
-45
-74
-30
0
0
0
0
0
0
0
0
0
-5
5
25
-49
33
-31
20
1
-14
0
0
0
0
0
0
0
1
-1
-2
29
-147
-10
-36
-65
-17
4
0
0
0
0
0
0
0
0
0
0
-7
47
-112
-57
-110
-43
-4
0
0
0
0
0
0
0
0
0
0
0
-23
-22
57
4
-42
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-11
24
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-42
1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-93
10
66
0
25
13
-34
-1
0
0
0
0
0
0
0
0
5
-60
-66
8
-2
-10
13
-13
2
0
0
0
0
0
0
0
0
0
-2
0
58
20
10
-35
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-84
3
6
-6
-35
5
0
0
0
0
0
0
0
0
0
3
14
5
-44
-52
-39
-52
-3
0
0
0
0
0
0
0
0
0
0
9
10
5
52
-66
17
35
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
35
-2
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
3
-4
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
5
30
0
0
0
16
0
-1
0
0
0
0
0
0
0
0
10
-37
1
-17
0
16
11
2
0
0
0
0
0
0
0
0
0
0
0
13
-32
-45
-39
-29
6
0
0
0
0
0
0
0
0
-2
0
0
1
-61
-19
-42
-13
0
0
0
0
0
0
0
0
0
0
2
0
-5
13
-33
-103
-64
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
5
30
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-33
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
-31
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
-7
39
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
3
5
33
4
4
0
0
1
0
0
0
0
0
0
0
0
0
-1
-59
-9
-9
-8
-32
5
0
0
0
0
0
0
0
0
0
0
8
0
-15
-10
-31
-75
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-1
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-2
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
8
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-7
3
-24
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
22
0
2
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-55
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
1
-23
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-8
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
25
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-5
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
8
-5
-17
3
-7
-16
0
0
0
0
0
0
0
0
0
0
1
11
-42
39
-93
-31
-27
0
0
0
0
0
0
0
0
0
0
0
-9
-46
4
55
-18
-35
0
0
0
0
0
0
0
0
0
0
0
14
-15
-32
-9
19
-13
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
54
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-2
-2
-2
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
-22
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-45
-8
1
0
-1
0
0
0
0
0
0
0
0
0
-29
0
0
10
-51
-20
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
13
-23
25
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
1
0
15
-6
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-49
-62
-32
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-31
-45
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
173
-55
-33
8
0
0
0
0
0
0
0
0
0
0
2
54
-22
59
17
75
-42
0
0
0
0
0
0
0
0
0
0
49
75
23
61
23
-50
-24
1
0
0
0
0
0
0
0
0
0
5
42
17
43
52
-13
0
0
0
0
0
0
0
0
0
0
0
3
9
26
30
-7
-1
1
1
0
0
0
0
0
0
0
0
0
-5
-41
26
-45
-1
4
-3
0
0
0
0
0
0
0
0
0
0
-34
-19
34
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-32
-16
-99
53
0
0
0
0
0
0
0
0
0
57
-39
30
0
-5
-26
-69
-30
-15
0
0
0
0
0
0
0
0
28
-2
-15
1
34
5
-88
-16
-14
0
0
0
0
0
0
0
0
139
-125
22
39
-85
10
-32
41
-21
0
0
0
0
0
0
0
0
84
59
48
70
0
-58
-34
-33
48
0
0
0
0
0
0
0
0
-99
30
83
-55
-90
17
-25
6
-38
-3
0
0
0
0
0
0
0
-58
66
-9
2
31
-5
21
-1
-17
0
0
0
0
0
0
0
0
25
-71
-21
-36
5
71
0
-28
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
-2
41
-52
-40
-27
0
-8
0
0
0
0
0
0
0
-13
24
-29
35
27
11
-85
-48
-47
-12
0
0
0
0
0
0
0
2
-26
-31
58
-43
32
1
4
38
-5
0
0
0
0
0
0
0
98
-12
1
18
67
-49
82
-22
4
-9
0
0
0
0
0
0
0
-1
-79
21
-34
-28
0
74
-68
23
-22
0
0
0
0
0
0
0
5
-56
41
40
-70
116
-5
19
-9
-6
0
0
0
0
0
0
0
-10
-12
-41
-44
-71
72
-94
63
12
13
0
0
0
0
0
0
0
-2
10
46
-42
40
-7
-56
1
-34
0
0
0
0
0
0
0
0
0
4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
-5
-27
-14
-37
0
6
0
0
0
0
0
0
0
-31
-54
-4
35
44
5
-31
26
-10
2
0
0
0
0
0
0
0
16
61
58
-45
14
54
24
-51
-7
4
0
0
0
0
0
0
0
34
-38
66
-49
8
90
57
32
13
13
0
0
0
0
0
0
0
103
0
50
-62
-7
-83
18
22
102
32
0
0
0
0
0
0
0
5
47
-5
-6
45
-32
2
-24
5
-5
0
0
0
0
0
0
0
13
-8
37
-1
-47
5
-7
3
-17
0
0
0
0
0
0
0
0
-9
-110
6
-23
-41
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-59
-79
1
0
-1
71
49
0
0
0
0
0
0
0
0
0
-19
-50
62
-50
21
-9
-54
-53
37
0
0
0
0
0
0
0
0
10
-48
58
21
-31
13
51
53
-28
1
0
0
0
0
0
0
0
-56
21
-18
75
32
-65
-22
-15
-6
-1
0
0
0
0
0
0
0
-2
60
-93
-50
-3
-34
-39
45
-9
41
0
0
0
0
0
0
0
14
-61
27
-30
-51
-26
-95
3
4
14
0
0
0
0
0
0
0
-1
-106
-58
43
-24
21
-30
-20
-9
0
0
0
0
0
0
0
0
1
14
41
23
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-25
25
0
0
0
13
0
0
0
0
0
0
0
0
0
22
101
98
-27
25
0
-5
59
16
0
0
0
0
0
0
0
0
6
98
-14
30
126
33
35
7
18
-1
0
0
0
0
0
0
0
-1
41
80
-57
6
-31
12
-19
5
0
0
0
0
0
0
0
0
-9
41
-5
16
-8
52
-6
-2
-5
0
0
0
0
0
0
0
0
1
27
49
2
33
-18
0
-7
-2
-6
0
0
0
0
0
0
0
-7
-41
1
1
-3
2
0
2
1
0
0
0
0
0
0
0
0
0
19
-9
4
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
24
55
5
0
-4
0
-5
0
0
0
0
0
0
0
0
0
-2
41
-46
31
38
0
4
0
0
0
0
0
0
0
0
0
0
-3
12
-24
4
-4
-51
0
-2
0
0
0
0
0
0
0
0
0
-13
0
5
-5
1
-8
0
8
-4
0
0
0
0
0
0
0
0
-3
2
-5
42
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
-15
-5
4
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
1
2
0
0
0
0
0
0
0
0
0
0
0
7
4
5
1
-53
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
2
7
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
5
-31
-46
58
-10
-8
0
0
0
0
0
0
0
0
0
31
11
19
-1
59
95
-12
-42
0
0
0
0
0
0
0
0
0
-102
39
45
49
-42
129
-8
1
-5
0
0
0
0
0
0
0
0
30
22
-14
35
48
61
-53
3
0
0
0
0
0
0
0
0
0
-7
69
20
-10
33
54
6
8
0
0
0
0
0
0
0
0
0
19
47
97
-21
-43
76
1
-10
0
0
0
0
0
0
0
0
0
21
25
9
29
-4
0
0
-6
0
0
0
0
0
0
0
0
0
5
0
-27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-17
31
83
54
13
-3
-4
0
0
0
0
0
0
0
0
0
55
-6
90
-15
-60
9
-34
26
2
0
0
0
0
0
0
0
0
94
79
30
30
-17
-28
-16
-29
53
9
0
0
0
0
0
0
0
135
-19
5
-33
40
70
31
-25
-5
0
0
0
0
0
0
0
0
68
-27
16
-5
-12
23
-23
-19
-28
4
0
0
0
0
0
0
0
-69
35
130
2
6
-19
-24
13
2
0
0
0
0
0
0
0
0
29
59
7
-50
-80
-79
-1
7
-55
0
0
0
0
0
0
0
0
31
20
7
51
-14
-5
0
3
-2
0
0
0
0
0
0
0
0
4
4
-47
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
62
-6
9
-24
-72
-63
-61
0
2
0
0
0
0
0
0
0
52
40
9
60
71
5
-52
33
-54
-1
0
0
0
0
0
0
0
55
-66
-17
-52
-16
151
14
13
-56
-19
0
0
0
0
0
0
0
19
30
29
-10
69
-33
18
-51
-2
10
-1
0
0
0
0
0
0
39
-5
-14
70
-31
-46
-1
-115
-18
-28
0
0
0
0
0
0
0
-13
34
-100
-131
53
-78
56
10
74
28
0
0
0
0
0
0
0
39
-65
-40
84
82
68
30
-31
-10
0
0
0
0
0
0
0
0
0
-13
-36
18
13
85
-8
23
1
0
0
0
0
0
0
0
0
0
-24
-8
-9
1
0
5
0
0
0
0
0
0
0
0
0
0
4
-42
105
-7
101
-43
75
-10
0
-4
0
0
0
0
0
0
0
-5
31
100
-3
16
122
68
-45
-25
2
-3
0
0
0
0
0
0
-55
-32
10
-42
23
-42
9
-20
-41
5
0
0
0
0
0
0
0
0
-4
71
52
113
105
112
49
108
-2
0
0
0
0
0
0
0
38
-41
23
-6
-9
-38
71
3
49
3
0
0
0
0
0
0
0
-32
19
9
36
-26
50
-44
62
-6
2
0
0
0
0
0
0
0
45
8
-110
-68
40
71
-8
31
-2
0
0
0
0
0
0
0
0
-3
-13
-69
14
-9
5
5
-1
0
0
0
0
0
0
0
0
0
2
-8
-6
0
12
7
0
0
0
0
0
0
0
0
0
0
0
-6
23
115
112
0
-67
5
-76
0
0
0
0
0
0
0
0
0
1
5
-24
140
-36
-75
-24
-18
9
0
0
0
0
0
0
0
0
-9
10
-24
87
-22
-2
50
-146
48
-5
0
0
0
0
0
0
0
-22
-45
18
29
-64
69
-23
-3
13
56
0
0
0
0
0
0
0
-9
-69
-29
-2
-4
-23
-25
-4
-47
-17
4
0
0
0
0
0
0
-14
-29
22
-13
-20
-27
26
-60
-48
-5
0
0
0
0
0
0
0
-9
12
28
-62
-41
-32
16
2
59
-7
0
0
0
0
0
0
0
-3
-88
-16
10
0
-1
0
2
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
46
57
111
-99
-31
4
-121
-28
0
1
0
0
0
0
0
0
0
6
-15
23
2
165
-17
20
49
-31
-1
-1
0
0
0
0
0
0
-37
66
88
28
13
31
-4
11
33
-3
0
0
0
0
0
0
0
-34
-57
129
69
-12
38
-20
5
-9
0
0
0
0
0
0
0
0
64
80
43
-3
18
59
-56
43
1
16
0
0
0
0
0
0
0
23
68
125
66
50
25
5
-35
-3
0
0
0
0
0
0
0
0
31
-14
92
104
52
29
-72
-17
-6
0
0
0
0
0
0
0
0
0
-75
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
96
56
33
-42
-4
1
0
-1
0
0
0
0
0
0
0
0
-24
68
48
-9
-75
-16
13
8
0
0
0
0
0
0
0
0
0
37
-23
42
50
30
43
7
-6
-3
0
0
0
0
0
0
0
0
25
90
125
66
13
23
6
2
-13
0
0
0
0
0
0
0
0
86
-3
-3
-10
-3
14
14
-4
2
0
0
0
0
0
0
0
0
36
-4
-76
-51
27
-16
7
-5
-5
0
0
0
0
0
0
0
0
4
49
-16
3
1
-6
7
2
0
0
0
0
0
0
0
0
0
66
13
2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-1
-1
-8
1
0
0
1
0
0
0
0
0
0
0
-2
0
-22
-33
-39
-2
-1
0
1
0
0
0
0
0
0
0
0
0
-3
25
-8
1
-13
-9
1
0
-1
0
0
0
0
0
0
0
0
5
5
1
0
-3
3
0
-8
0
0
0
0
0
0
0
0
-4
0
17
9
0
-5
-2
-5
0
3
0
0
0
0
0
0
0
1
0
0
6
-1
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
-6
0
-2
10
0
0
0
0
0
0
0
0
0
0
27
17
-27
5
-13
41
0
-2
0
0
0
0
0
0
0
0
0
-1
-12
-5
-4
41
-17
4
1
0
0
0
0
0
0
0
0
0
-8
42
-3
20
-1
-2
1
0
0
0
0
0
0
0
0
0
0
14
1
-39
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
19
54
49
-30
0
-2
0
0
0
0
0
0
0
0
0
29
5
-14
112
133
8
26
-1
0
0
0
0
0
0
0
0
0
41
-16
83
-16
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
-5
6
-7
5
9
0
1
1
0
0
0
0
0
0
0
0
0
3
8
33
17
25
0
-6
0
0
0
0
0
0
0
0
0
0
1
2
-6
9
-8
-5
0
0
0
0
0
0
0
0
0
0
0
1
-7
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
-89
-31
-1
0
0
0
0
0
0
0
0
0
0
0
5
19
8
-33
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
65
107
31
-17
42
-2
2
0
0
0
0
0
0
0
0
0
18
64
22
-54
-94
-7
-22
13
0
0
0
0
0
0
0
0
0
-18
52
6
10
-20
0
13
8
-10
0
0
0
0
0
0
0
0
-5
102
-28
22
35
65
-13
22
0
0
0
0
0
0
0
0
0
-22
-6
-21
120
-6
24
5
0
2
0
0
0
0
0
0
0
0
32
12
52
51
2
-22
0
-2
0
0
0
0
0
0
0
0
0
-12
-4
-66
-13
-8
-2
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
47
73
-39
-3
46
-90
-31
0
0
0
0
0
0
0
0
0
85
2
39
-8
0
-66
59
19
-18
0
0
0
0
0
0
0
0
-20
71
64
48
-22
17
22
-49
54
21
0
0
0
0
0
0
0
-16
-33
-32
-25
-28
-56
-21
36
-18
0
0
0
0
0
0
0
0
-4
18
-87
-5
147
6
38
43
55
12
0
0
0
0
0
0
0
-48
-82
-34
-57
-23
-55
80
-82
-66
1
0
0
0
0
0
0
0
97
3
-58
7
58
58
-20
-66
-2
0
0
0
0
0
0
0
0
50
-53
39
-9
5
-9
0
-4
-2
0
0
0
0
0
0
0
0
-52
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-12
31
69
26
-34
-116
54
0
-12
0
0
0
0
0
0
0
-47
12
85
52
-71
15
-73
6
-73
0
-4
0
0
0
0
0
0
65
5
2
24
-8
-27
-13
-24
-71
-9
0
0
0
0
0
0
0
3
101
-76
50
15
30
-112
-30
69
20
0
0
0
0
0
0
0
44
31
-75
21
-1
-3
-55
117
8
8
0
0
0
0
0
0
0
-50
22
-2
83
40
19
31
-23
-14
-8
0
0
0
0
0
0
0
64
99
54
-60
26
-48
-10
-6
14
-3
0
0
0
0
0
0
0
0
76
27
-26
-44
-1
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-1
40
6
20
6
24
76
0
0
0
0
0
0
0
0
0
21
88
61
-24
-57
54
-18
-9
19
0
0
0
0
0
0
0
0
34
49
63
24
-42
86
47
79
46
2
0
0
0
0
0
0
0
19
-53
15
-50
-27
-42
51
108
21
-1
0
0
0
0
0
0
0
-7
-23
63
7
-24
26
45
-10
60
2
0
0
0
0
0
0
0
19
-83
-1
5
21
-5
3
8
4
0
0
0
0
0
0
0
0
-5
34
19
44
-17
-30
5
-5
10
0
0
0
0
0
0
0
0
23
-9
63
-5
-2
9
0
1
0
0
0
0
0
0
0
0
0
-33
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
23
88
-2
44
2
30
-29
0
0
0
0
0
0
0
0
0
-53
-25
40
-43
-43
26
-51
-21
-47
-7
2
0
0
0
0
0
0
13
10
54
-32
37
13
-12
-24
-43
31
0
0
0
0
0
0
0
112
-49
-25
-17
-26
62
64
46
58
-14
0
0
0
0
0
0
0
29
-104
26
-24
58
12
45
-72
14
-7
0
0
0
0
0
0
0
-10
10
71
62
10
-32
-90
-30
-2
-4
0
0
0
0
0
0
0
-6
-1
-42
-71
-20
25
18
0
0
0
0
0
0
0
0
0
0
22
-55
-29
-15
0
0
3
0
0
0
0
0
0
0
0
0
0
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-65
-7
-46
113
74
12
-40
0
-2
0
0
0
0
0
0
0
22
-110
102
-74
8
5
21
88
-6
0
0
0
0
0
0
0
0
-38
13
48
11
31
-14
-67
4
-12
2
0
0
0
0
0
0
0
-61
-77
70
-181
44
-42
-53
61
-16
6
0
0
0
0
0
0
0
32
-52
5
20
-2
24
18
7
-25
-1
0
0
0
0
0
0
0
-42
-19
121
-3
11
25
40
-5
0
0
0
0
0
0
0
0
0
23
5
5
-18
-1
-2
-4
2
7
0
0
0
0
0
0
0
0
0
-34
-8
31
0
0
0
5
0
0
0
0
0
0
0
0
0
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
-29
8
-48
-1
16
0
-13
0
0
0
0
0
0
0
-5
-1
56
11
-37
-48
-1
-58
42
0
4
0
0
0
0
0
0
0
-34
7
-15
42
-41
20
1
3
-1
0
0
0
0
0
0
0
0
79
-55
-26
-100
-57
4
5
7
6
0
0
0
0
0
0
0
0
-56
22
-29
12
-7
-25
8
4
0
0
0
0
0
0
0
0
3
-56
-16
-23
14
-5
3
4
0
0
0
0
0
0
0
0
0
0
50
-12
53
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-17
18
5
-42
18
0
-1
0
0
0
0
0
0
0
-3
-31
26
17
43
-10
-22
-8
0
0
0
0
0
0
0
0
0
-17
24
-49
16
-30
-3
2
6
0
0
0
0
0
0
0
0
0
-46
-2
-33
31
23
-17
-4
-3
3
0
0
0
0
0
0
0
0
1
-5
1
6
-12
8
12
0
0
0
0
0
0
0
0
0
0
2
-4
-15
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-7
4
-16
2
1
0
5
-2
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
25
69
-49
-27
57
13
-5
0
0
0
0
0
0
0
0
0
-25
0
28
27
-55
5
122
-13
3
0
0
0
0
0
0
0
0
-44
23
86
-45
-4
5
21
0
0
0
0
0
0
0
0
0
0
-57
-30
-4
11
78
-49
0
0
0
0
0
0
0
0
0
0
0
1
10
13
-7
-3
-5
0
0
-2
0
0
0
0
0
0
0
0
-53
17
0
5
-17
5
0
1
0
0
0
0
0
0
0
0
0
0
12
-1
-2
0
0
-4
-2
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-26
-14
-100
28
67
59
0
-2
0
0
0
0
0
0
0
0
-46
-73
36
-43
-14
1
19
25
0
0
0
0
0
0
0
0
0
28
0
60
76
32
-13
-30
3
0
0
0
0
0
0
0
0
0
-22
-32
-27
4
-28
11
34
-4
0
0
0
0
0
0
0
0
0
22
-41
12
-37
-16
-7
-1
4
0
0
0
0
0
0
0
0
0
120
24
-26
-8
-15
2
10
0
0
0
0
0
0
0
0
0
0
34
-13
-41
7
0
0
1
-1
0
0
0
0
0
0
0
0
0
49
-7
-18
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-16
2
2
0
-1
0
0
0
0
0
0
0
0
0
-24
3
-9
42
44
2
2
0
0
0
0
0
0
0
0
0
0
57
-8
-9
-29
34
2
12
0
0
0
0
0
0
0
0
0
0
4
-4
5
-9
-1
1
-3
0
0
0
0
0
0
0
0
0
0
-5
1
-5
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
-1
2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-17
0
0
0
0
0
0
0
0
0
0
2
1
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
-50
22
-8
50
-6
0
0
0
0
0
0
0
0
0
0
-9
8
5
5
-5
-32
39
39
0
0
0
0
0
0
0
0
0
10
-55
41
4
-45
-13
-4
19
6
0
0
0
0
0
0
0
0
9
7
8
8
17
25
0
-1
2
0
0
0
0
0
0
0
0
0
68
60
-38
-7
-17
-7
0
0
0
0
0
0
0
0
0
0
-13
92
-16
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-29
128
-20
12
-2
0
0
0
0
0
0
0
0
0
0
0
17
45
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
6
-58
44
-14
-91
-50
-65
0
0
0
0
0
0
0
0
0
31
-30
-21
-22
37
64
6
-41
-15
-3
0
0
0
0
0
0
0
66
-18
-33
-37
1
-9
62
-76
-42
-9
0
0
0
0
0
0
0
55
6
16
-26
24
41
-58
-3
17
0
0
0
0
0
0
0
0
-76
5
-4
-88
-21
120
42
5
1
0
0
0
0
0
0
0
0
73
-42
22
24
49
21
5
1
-60
-5
0
0
0
0
0
0
0
-35
-48
1
-62
-49
17
-75
-32
4
0
0
0
0
0
0
0
0
-20
91
10
20
-16
25
4
-3
0
0
0
0
0
0
0
0
0
-68
-16
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-27
53
-51
-56
63
39
-53
0
-2
0
0
0
0
0
0
0
17
84
39
-4
0
-7
-3
22
76
4
4
0
0
0
0
0
0
36
33
-56
-41
54
-18
124
0
46
0
0
0
0
0
0
0
0
-26
44
-40
-6
10
-58
30
-6
147
-1
0
0
0
0
0
0
0
37
-13
-54
-6
-32
-71
-53
-29
-63
5
0
0
0
0
0
0
0
10
33
41
39
102
-28
92
13
-31
0
0
0
0
0
0
0
0
58
-129
-3
-7
-10
-51
-42
9
5
0
0
0
0
0
0
0
0
-74
-7
-97
-8
45
24
1
-1
0
0
0
0
0
0
0
0
0
-71
-42
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
15
-17
7
27
83
21
0
4
0
0
0
0
0
0
0
49
-11
91
37
56
63
22
-62
5
-1
-2
0
0
0
0
0
0
-47
-57
47
-6
13
22
16
-13
-20
34
0
0
0
0
0
0
0
95
100
26
-5
18
1
17
-3
56
6
0
0
0
0
0
0
0
22
-23
-7
-19
-5
26
12
19
16
0
0
0
0
0
0
0
0
45
39
53
-47
-61
-42
28
12
2
-5
0
0
0
0
0
0
0
-22
-37
27
-51
60
4
-1
0
-2
0
0
0
0
0
0
0
0
-21
8
19
17
6
3
0
0
-3
0
0
0
0
0
0
0
0
22
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
77
75
12
75
-49
-28
24
0
0
0
0
0
0
0
0
0
27
-98
-45
53
58
122
-6
-1
-34
7
0
0
0
0
0
0
0
-20
-60
-13
-18
2
6
13
31
-4
-1
0
0
0
0
0
0
0
15
41
-23
30
30
-17
79
0
-106
-5
0
0
0
0
0
0
0
4
-2
-53
-9
3
3
-53
47
-3
16
0
0
0
0
0
0
0
25
36
-31
50
-69
33
17
-35
-17
2
0
0
0
0
0
0
0
54
10
11
30
21
4
-17
0
3
0
0
0
0
0
0
0
0
-2
-22
67
-92
0
-1
0
0
2
0
0
0
0
0
0
0
0
8
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-28
29
-14
17
15
26
61
0
0
0
0
0
0
0
0
0
-6
73
-70
-62
95
-32
-49
22
18
1
0
0
0
0
0
0
0
17
-76
-8
-18
-37
-17
-5
98
14
8
0
0
0
0
0
0
0
46
-28
-25
-23
-33
2
-1
8
-3
0
0
0
0
0
0
0
0
29
43
62
-55
-41
4
2
-9
-3
0
0
0
0
0
0
0
0
-4
-99
12
56
93
0
-24
5
3
0
0
0
0
0
0
0
0
-2
-19
80
35
31
3
-8
4
0
0
0
0
0
0
0
0
0
15
-47
-18
-1
-3
0
0
-2
0
0
0
0
0
0
0
0
0
1
5
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
0
-17
101
-49
0
8
0
0
0
0
0
0
0
0
0
0
2
2
5
80
27
86
20
9
0
0
0
0
0
0
0
0
0
27
-63
1
34
11
5
13
6
0
0
0
0
0
0
0
0
0
-40
-68
-9
-31
-4
2
0
-3
0
0
0
0
0
0
0
0
0
63
24
-92
17
-24
0
-1
-7
-1
0
0
0
0
0
0
0
0
53
-5
24
6
-19
5
3
0
0
0
0
0
0
0
0
0
0
-66
30
-1
4
1
5
0
-8
0
0
0
0
0
0
0
0
0
5
0
-1
0
1
0
-3
0
0
0
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
-1
-3
2
37
-18
-9
0
0
0
0
0
0
0
0
0
-24
19
3
46
-41
48
-16
25
-31
0
0
0
0
0
0
0
0
-5
-5
42
-49
14
-55
-31
0
-4
2
0
0
0
0
0
0
0
-32
2
-7
-39
-4
-8
-1
0
0
0
0
0
0
0
0
0
0
-22
-13
-4
-52
-3
19
-30
0
-4
0
0
0
0
0
0
0
0
13
0
-14
5
1
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
-24
-2
7
0
0
-3
-2
0
0
0
0
0
0
0
0
0
14
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-48
-80
-41
31
-4
32
16
0
0
0
0
0
0
0
0
0
-5
-1
-91
10
33
104
-91
47
-6
2
0
0
0
0
0
0
0
37
22
-5
-95
-94
65
-25
22
2
0
0
0
0
0
0
0
0
-5
-89
-13
-57
-11
18
56
-1
0
0
0
0
0
0
0
0
0
-43
18
-23
-33
69
42
42
-3
0
0
0
0
0
0
0
0
0
-54
-54
9
-20
-24
-1
-4
-3
1
-1
0
0
0
0
0
0
0
-22
34
33
20
22
-17
0
0
1
0
0
0
0
0
0
0
0
5
-31
-6
13
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-66
25
-95
57
122
86
0
0
0
0
0
0
0
0
0
0
13
11
-12
-35
-11
-2
-22
51
0
0
0
0
0
0
0
0
0
67
-60
-58
77
11
52
33
-15
0
0
0
0
0
0
0
0
0
-55
-47
-152
81
-5
-57
-11
0
0
0
0
0
0
0
0
0
0
-9
-103
-13
-113
-71
-45
-5
0
0
0
0
0
0
0
0
0
0
-92
34
4
63
33
-3
8
7
0
0
0
0
0
0
0
0
0
-103
7
89
-5
4
-2
-7
4
-5
0
0
0
0
0
0
0
0
-118
-9
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
8
3
19
16
13
3
-1
-3
0
0
0
0
0
0
0
0
0
4
1
-51
-4
-41
5
0
0
0
0
0
0
0
0
0
0
0
2
-6
-15
-32
-2
-8
-6
0
0
0
0
0
0
0
0
0
0
6
5
3
-5
4
0
-2
0
0
0
0
0
0
0
0
0
0
5
-4
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
36
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
2
-8
49
-32
42
1
0
0
0
0
0
0
0
0
0
5
26
31
29
42
2
-61
-10
0
0
0
0
0
0
0
0
0
-8
9
-138
41
7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-23
-1
-3
-3
0
0
0
0
0
0
0
0
0
-2
70
-59
45
-9
1
-4
-1
0
0
0
0
0
0
0
0
0
18
8
27
-58
-7
0
0
0
0
0
0
0
0
0
0
0
0
-26
17
-21
4
8
2
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
30
-41
-24
-5
26
-95
19
0
0
0
0
0
0
0
0
0
-66
51
-32
60
4
77
94
80
-4
0
0
0
0
0
0
0
0
-15
-23
-7
-58
-57
14
-16
10
2
0
0
0
0
0
0
0
0
-14
-18
51
-83
57
-47
27
20
23
0
0
0
0
0
0
0
0
-2
0
-2
92
-8
-84
16
-16
5
0
0
0
0
0
0
0
0
35
5
14
-124
-78
-31
-3
47
-10
0
0
0
0
0
0
0
0
-6
48
26
56
-7
70
-30
4
-6
0
0
0
0
0
0
0
0
59
-25
16
-23
4
-34
1
-5
0
0
0
0
0
0
0
0
0
-83
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
-66
-39
-140
-39
-3
39
0
0
0
0
0
0
0
0
0
5
-55
1
23
-5
94
-134
-10
-30
2
2
0
0
0
0
0
0
12
-17
-52
-19
28
27
80
-13
32
1
0
0
0
0
0
0
0
35
58
-31
25
-15
-22
-7
19
-40
0
0
0
0
0
0
0
0
0
13
0
-37
-48
-66
-19
-4
14
0
0
0
0
0
0
0
0
21
27
-7
6
-91
60
35
9
19
-2
0
0
0
0
0
0
0
5
34
20
23
-64
21
5
-29
-2
-7
0
0
0
0
0
0
0
72
19
14
-37
35
6
-2
-5
-4
0
0
0
0
0
0
0
0
26
-13
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-10
87
50
65
-39
30
44
0
0
0
0
0
0
0
0
0
13
13
6
1
26
9
11
67
-1
0
0
0
0
0
0
0
0
-24
38
-57
90
44
23
-8
-27
19
-2
0
0
0
0
0
0
0
37
-131
20
-8
-1
43
-46
0
38
2
0
0
0
0
0
0
0
-19
55
0
0
1
-18
56
15
-12
0
0
0
0
0
0
0
0
-55
-51
41
1
73
-53
55
-8
3
0
0
0
0
0
0
0
0
-3
7
39
2
53
-4
54
0
1
0
0
0
0
0
0
0
0
2
12
-29
6
-3
-2
0
0
2
0
0
0
0
0
0
0
0
57
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-49
-42
-7
59
-30
-3
0
3
0
0
0
0
0
0
0
5
28
68
-5
-85
-43
-46
-18
15
-4
0
0
0
0
0
0
0
24
-149
-70
-16
23
-40
33
25
55
-6
0
0
0
0
0
0
0
8
-25
28
-4
-3
-52
-4
1
5
-1
0
0
0
0
0
0
0
-1
42
-11
-2
0
5
4
-49
10
1
0
0
0
0
0
0
0
-12
109
74
16
3
0
-49
6
52
2
0
0
0
0
0
0
0
0
7
-6
103
1
-2
-1
-8
0
0
0
0
0
0
0
0
0
-2
56
-17
-14
0
3
0
0
0
0
0
0
0
0
0
0
0
5
22
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
23
5
30
-23
-19
-8
-18
0
0
0
0
0
0
0
0
0
-4
40
14
48
-2
5
107
-22
-20
1
0
0
0
0
0
0
0
18
55
-48
-12
93
-3
-12
16
2
-4
0
0
0
0
0
0
0
37
-75
-42
14
27
-2
6
4
-3
-3
0
0
0
0
0
0
0
-6
-66
-32
-30
0
0
0
8
3
0
0
0
0
0
0
0
0
5
164
-50
-39
56
0
0
0
3
0
0
0
0
0
0
0
0
-22
86
46
22
15
2
-2
0
-1
0
0
0
0
0
0
0
0
-4
5
-8
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
42
-21
-41
-10
-17
0
-3
0
0
0
0
0
0
0
0
-49
30
0
51
-34
-42
49
4
0
0
0
0
0
0
0
0
0
40
-54
64
-13
26
83
1
-2
-2
0
0
0
0
0
0
0
0
-55
51
-22
-13
17
0
2
0
4
0
0
0
0
0
0
0
0
-5
10
2
18
0
0
0
6
0
0
0
0
0
0
0
0
0
-50
19
112
13
6
0
0
0
0
0
0
0
0
0
0
0
0
23
-21
16
4
5
0
0
0
2
0
0
0
0
0
0
0
-9
41
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
43
0
-52
15
22
4
0
0
0
0
0
0
0
0
0
33
-43
-30
-40
-38
-8
10
6
-13
0
0
0
0
0
0
0
0
50
18
25
49
61
-45
-17
-9
9
-4
0
0
0
0
0
0
0
-23
-27
46
-52
-4
-16
0
1
-3
0
0
0
0
0
0
0
0
0
35
8
4
-25
3
0
0
0
0
0
0
0
0
0
0
0
29
1
5
57
-49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-5
-15
0
0
0
0
0
0
0
0
0
0
0
0
-30
-10
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-16
29
7
9
69
16
41
0
-1
0
0
0
0
0
0
0
-94
-72
-44
-37
-10
-32
-12
84
-43
-10
0
0
0
0
0
0
0
35
-18
-30
34
-17
99
49
-153
-47
4
0
0
0
0
0
0
0
-31
22
-11
-72
-75
-9
-38
-19
1
5
0
0
0
0
0
0
0
55
26
-26
-6
91
-93
-13
0
0
0
0
0
0
0
0
0
0
-23
23
74
77
-26
46
-19
0
0
0
0
0
0
0
0
0
0
-31
-121
-77
-18
30
-23
7
0
-8
0
0
0
0
0
0
0
0
-3
24
-28
0
0
0
0
0
19
0
0
0
0
0
0
0
0
56
7
-9
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
-87
-40
63
6
32
64
0
0
0
0
0
0
0
0
0
0
-131
-33
-7
-27
40
17
51
-5
-5
0
0
0
0
0
0
0
0
25
-54
54
-40
-102
41
99
59
1
0
0
0
0
0
0
0
0
-5
-12
-46
43
-87
-22
152
-9
0
0
0
0
0
0
0
0
0
-58
-5
-68
6
-176
-32
28
0
0
0
0
0
0
0
0
0
0
-10
-31
27
39
27
97
49
1
0
0
0
0
0
0
0
0
0
34
-45
-13
-59
-48
6
1
-3
-2
0
0
0
0
0
0
0
0
31
62
-60
-6
22
0
4
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
24
7
0
9
2
2
0
0
0
0
0
0
0
0
0
-17
4
13
8
0
-41
0
0
0
0
0
0
0
0
0
0
0
4
0
12
-3
-8
0
-2
0
0
0
0
0
0
0
0
0
0
2
3
7
5
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-3
-20
-1
0
0
17
0
0
0
0
0
0
0
0
0
0
-8
5
32
-34
-5
-19
2
10
0
0
0
0
0
0
0
0
0
-24
-15
44
-9
-2
0
7
0
0
0
0
0
0
0
0
0
0
-2
-8
25
3
-2
16
-1
0
0
0
0
0
0
0
0
0
0
0
-19
79
-28
34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
19
8
0
-1
0
0
0
0
0
0
0
0
0
0
4
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
63
-26
13
-4
-2
78
9
0
0
0
0
0
0
0
0
0
-119
-143
4
95
45
-115
-6
-24
-2
-4
0
0
0
0
0
0
0
-3
52
-43
57
42
-22
-16
-68
12
0
0
0
0
0
0
0
0
31
-27
-36
-48
-83
-55
-28
44
-10
0
0
0
0
0
0
0
0
16
0
-19
19
5
-55
-25
-32
-74
0
0
0
0
0
0
0
0
0
0
-1
40
-31
175
42
0
22
0
0
0
0
0
0
0
0
5
0
47
-86
-11
-77
42
-3
-6
0
0
0
0
0
0
0
0
10
-10
-5
-1
-93
15
0
0
0
0
0
0
0
0
0
0
0
-18
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
9
-22
13
13
0
1
0
0
0
0
0
0
0
0
0
-4
61
-37
17
-11
-13
91
10
-24
17
0
0
0
0
0
0
0
31
-12
23
-27
-10
-23
-33
-15
-4
0
0
0
0
0
0
0
0
-1
-11
80
-12
-66
28
35
-13
1
-1
0
0
0
0
0
0
0
0
35
0
22
16
-65
0
13
27
0
0
0
0
0
0
0
0
-13
17
0
5
47
45
9
37
-17
-2
0
0
0
0
0
0
0
-16
22
-4
2
-49
7
50
-5
-1
0
0
0
0
0
0
0
0
9
-6
5
-46
13
-10
0
3
0
0
0
0
0
0
0
0
0
21
-31
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-7
-34
85
5
49
-7
0
0
0
0
0
0
0
0
0
25
89
11
50
29
-24
-48
4
-1
0
-4
0
0
0
0
0
0
23
27
24
53
11
5
-13
-37
3
0
0
0
0
0
0
0
0
6
65
41
-45
46
87
-37
52
2
-3
0
0
0
0
0
0
0
26
74
-57
-1
27
48
-47
-4
-3
0
0
0
0
0
0
0
0
-2
44
0
0
-5
-3
102
-9
-13
0
0
0
0
0
0
0
0
-46
-89
120
0
6
-5
4
0
1
0
0
0
0
0
0
0
0
-35
-54
31
2
3
0
0
0
1
0
0
0
0
0
0
0
0
-21
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-46
80
2
-54
-43
3
11
0
0
0
0
0
0
0
0
0
0
-11
-31
-44
8
91
11
38
-1
0
0
0
0
0
0
0
0
49
57
1
-30
123
-27
-12
-41
24
-3
0
0
0
0
0
0
0
1
143
26
8
-4
-36
-6
17
0
-1
0
0
0
0
0
0
0
-1
19
-83
-25
-8
25
-76
-27
30
0
0
0
0
0
0
0
0
-14
-29
57
-1
0
24
0
3
-9
0
0
0
0
0
0
0
0
-25
4
-56
28
1
-4
-18
-7
-13
0
0
0
0
0
0
0
0
24
77
72
-12
0
-2
0
-4
0
0
0
0
0
0
0
0
0
-69
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-72
13
7
4
-58
-20
0
0
0
0
0
0
0
0
0
3
118
-9
-120
-3
-5
-14
-66
-5
0
5
0
0
0
0
0
0
16
-87
-14
48
60
-16
-66
-68
18
0
0
0
0
0
0
0
0
3
-49
18
26
31
4
74
1
42
-8
0
0
0
0
0
0
0
0
-77
85
52
-4
6
0
-4
2
-2
0
0
0
0
0
0
0
0
-67
27
1
1
0
0
5
0
0
0
0
0
0
0
0
0
48
-94
66
64
-20
-3
-1
5
0
0
0
0
0
0
0
0
0
2
42
-26
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-45
22
-9
-9
22
-12
0
0
0
0
0
0
0
0
0
0
-93
1
-16
-17
-59
-52
69
1
0
0
0
0
0
0
0
0
0
-10
44
-17
-23
9
23
-24
-24
0
0
0
0
0
0
0
0
0
1
-16
65
-42
33
73
-13
-1
0
0
0
0
0
0
0
0
0
-58
6
47
-80
29
0
4
-8
0
0
0
0
0
0
0
0
0
-4
23
-64
4
0
0
0
0
5
0
0
0
0
0
0
0
8
50
-53
31
-17
-14
1
0
5
0
0
0
0
0
0
0
0
1
-11
-35
-9
0
5
0
-3
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
0
-24
2
-1
-49
-1
0
0
0
0
0
0
0
0
0
-4
-6
-21
-7
24
41
27
-48
12
0
0
0
0
0
0
0
0
21
27
-38
-81
-35
70
-1
-5
62
1
0
0
0
0
0
0
0
-20
-3
-5
-25
43
19
49
-5
-2
0
0
0
0
0
0
0
0
-8
-31
-19
30
18
-2
-10
0
0
0
0
0
0
0
0
0
0
-5
-9
-13
-12
14
5
0
0
0
0
0
0
0
0
0
0
0
5
19
-17
4
4
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-53
-26
61
18
79
49
-55
0
-1
0
0
0
0
0
0
0
35
13
32
-41
-17
40
41
-56
-30
-2
0
0
0
0
0
0
0
-5
2
-13
68
-24
86
69
-34
-54
-6
0
0
0
0
0
0
0
31
-10
11
-30
-60
-37
66
-25
56
0
0
0
0
0
0
0
0
-41
67
102
41
3
43
37
0
0
0
0
0
0
0
0
0
0
2
24
-29
-78
-6
-58
-15
0
0
0
0
0
0
0
0
0
0
27
-60
-11
-70
-55
-39
3
-1
0
0
0
0
0
0
0
0
0
29
-31
-77
2
5
4
0
0
8
0
0
0
0
0
0
0
0
-40
-20
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
59
40
-20
-7
-29
-30
0
0
0
0
0
0
0
0
0
0
3
-47
-76
-46
76
-6
27
51
3
-2
0
0
0
0
0
0
0
-42
25
31
-52
96
77
56
21
0
0
0
0
0
0
0
0
0
68
-12
-64
-19
-36
67
-3
-41
0
0
0
0
0
0
0
0
0
71
41
-58
-64
60
-23
25
0
0
0
0
0
0
0
0
0
0
-84
-115
-1
8
-66
-160
-2
0
0
0
0
0
0
0
0
0
0
-7
25
-1
-13
-17
5
1
0
0
0
0
0
0
0
0
0
0
-25
49
-28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
5
7
0
0
0
0
0
0
0
0
0
0
0
0
-13
17
-14
0
-5
-1
0
2
0
0
0
0
0
0
0
0
0
-3
-7
8
5
-5
-2
0
-4
0
0
0
0
0
0
0
0
0
2
-2
28
-5
-5
-14
0
0
0
0
0
0
0
0
0
0
0
6
0
-10
66
10
1
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
2
5
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-8
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-7
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-5
1
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
1
-17
-22
-51
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-63
0
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
19
-50
-31
-38
-19
9
-8
0
0
0
0
0
0
0
0
0
-5
-106
-3
-58
-2
-8
66
5
-3
0
0
0
0
0
0
0
0
-41
-63
-85
-59
9
-79
-43
-31
-12
-1
0
0
0
0
0
0
0
-6
-16
-11
-59
6
8
-42
13
-3
0
0
0
0
0
0
0
0
42
-1
24
24
-27
0
27
-5
22
0
0
0
0
0
0
0
0
32
0
86
30
-1
-72
107
24
3
0
0
0
0
0
0
0
0
0
0
0
-2
-1
15
-6
0
0
0
0
0
0
0
0
0
0
9
0
0
122
1
-42
14
1
0
0
0
0
0
0
0
0
0
20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-67
0
-26
-68
118
-28
-6
0
0
0
0
0
0
0
0
0
0
-64
11
61
38
13
-50
31
15
0
0
0
0
0
0
0
0
-1
-6
-58
31
23
-92
-6
72
-2
0
0
0
0
0
0
0
0
-3
1
-9
-7
42
-16
71
-48
-10
-8
0
0
0
0
0
0
0
-2
50
-5
5
-57
-70
-75
-47
26
0
0
0
0
0
0
0
0
0
3
-1
41
-13
-13
-32
-69
14
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-17
7
25
-1
-3
0
0
0
0
0
0
0
37
4
0
-5
-12
12
14
-3
3
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-9
-2
0
-31
-54
25
0
0
0
0
0
0
0
0
0
12
-13
-54
-31
23
-29
-41
50
-1
0
0
0
0
0
0
0
0
13
29
-14
16
-141
31
14
-16
5
0
0
0
0
0
0
0
0
0
90
200
5
37
11
36
57
3
0
0
0
0
0
0
0
0
-3
11
99
-1
-46
-6
-34
-3
-6
1
0
0
0
0
0
0
0
7
41
-45
0
75
-17
-38
-5
33
0
0
0
0
0
0
0
0
-31
3
3
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
18
38
5
0
0
1
-3
6
0
0
0
0
0
0
0
0
0
-66
14
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-43
8
-56
41
-23
-3
0
0
0
0
0
0
0
0
0
0
25
-58
-24
-32
-61
-20
-57
-13
0
0
0
0
0
0
0
0
3
-58
-77
40
0
-162
40
-44
-1
-10
0
0
0
0
0
0
0
9
-101
-20
-40
-58
61
3
11
0
0
0
0
0
0
0
0
0
0
138
79
47
-35
2
-56
0
-3
0
0
0
0
0
0
0
0
0
5
11
-40
0
69
13
-1
21
2
0
0
0
0
0
0
0
2
-31
2
0
0
5
2
4
-4
0
0
0
0
0
0
0
0
-5
-3
-1
-9
0
-1
8
0
0
0
0
0
0
0
0
0
0
31
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
10
0
1
2
-35
6
0
0
0
0
0
0
0
0
0
-8
-72
-22
60
-6
-50
62
43
-5
0
0
0
0
0
0
0
0
0
0
34
-24
11
-13
-69
-30
-22
0
0
0
0
0
0
0
0
0
-19
-13
33
-21
6
20
-10
-6
0
0
0
0
0
0
0
0
2
-14
42
-3
37
-7
-5
-3
13
0
0
0
0
0
0
0
0
0
-5
-16
-25
10
0
1
-4
4
0
0
0
0
0
0
0
0
4
33
23
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-47
-9
-57
1
0
0
1
-2
0
0
0
0
0
0
0
0
46
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
2
-1
-6
8
-4
0
0
0
0
0
0
0
0
0
0
-8
-58
-3
-66
-13
8
13
0
0
0
0
0
0
0
0
0
0
28
4
17
53
-33
-53
12
0
0
0
0
0
0
0
0
0
0
66
-7
84
76
5
-8
-31
1
0
0
0
0
0
0
0
0
0
40
-17
-26
-58
-3
6
-9
0
-19
0
0
0
0
0
0
0
-22
-13
-27
13
41
1
0
-4
2
0
0
0
0
0
0
0
0
0
24
27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
3
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
12
5
3
15
-9
0
-19
-32
0
0
0
0
0
0
0
0
13
19
-8
14
3
64
15
10
-5
3
0
0
0
0
0
0
0
-5
8
5
-16
10
49
-7
0
0
0
0
0
0
0
0
0
0
-3
-2
5
4
30
5
0
0
1
0
0
0
0
0
0
0
0
0
13
15
4
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
-2
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
-72
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-34
-3
61
22
-45
-32
7
0
0
0
0
0
0
0
0
0
-48
-14
8
-3
56
73
49
-16
-93
0
0
0
0
0
0
0
0
8
-36
26
-45
-92
60
5
44
1
1
0
0
0
0
0
0
0
-2
-31
104
-27
100
-23
43
15
7
1
0
0
0
0
0
0
0
20
46
-36
39
17
130
16
15
3
0
0
0
0
0
0
0
0
-5
-106
-30
-12
-138
33
1
0
0
0
0
0
0
0
0
0
0
-5
-3
-7
63
2
-43
1
0
0
0
0
0
0
0
0
0
0
-25
-72
37
77
4
-1
-2
0
0
0
0
0
0
0
0
0
0
22
10
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
92
12
8
12
49
-44
0
2
0
0
0
0
0
0
0
0
-25
-44
-41
-17
-24
14
5
-1
0
0
0
0
0
0
0
0
0
1
11
-15
-32
90
4
-148
1
-6
0
0
0
0
0
0
0
0
-63
-15
48
-46
16
-13
30
6
0
0
0
0
0
0
0
0
0
-42
21
4
-50
-44
5
2
13
0
0
0
0
0
0
0
0
0
-2
49
46
18
29
19
-92
0
0
0
0
0
0
0
0
0
0
-128
-25
45
13
25
-3
2
0
0
0
0
0
0
0
0
0
0
-73
66
-34
2
5
1
2
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-27
4
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
2
8
-3
3
0
0
0
0
0
0
0
0
0
0
0
1
-6
-1
0
-1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
19
0
-3
10
0
0
0
0
0
0
0
0
0
0
20
9
-5
2
-21
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
13
-28
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
73
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
32
-20
13
-2
8
-13
0
0
0
0
0
0
0
0
0
0
0
-23
-2
-2
-2
20
-22
41
0
0
0
0
0
0
0
0
0
0
4
0
-5
5
-34
19
0
0
0
0
0
0
0
0
0
0
0
-71
-5
1
115
-3
6
-2
2
0
0
0
0
0
0
0
0
0
-29
-5
30
62
-13
13
3
-13
0
0
0
0
0
0
0
0
0
37
0
-1
-105
19
0
5
-1
0
0
0
0
0
0
0
0
0
-9
0
4
57
0
-24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
16
-15
9
40
0
0
0
0
0
0
0
0
0
0
-3
-52
28
21
-90
-90
-33
22
4
0
0
0
0
0
0
0
0
0
-78
-8
-53
34
21
32
9
0
0
0
0
0
0
0
0
0
4
65
12
29
-24
92
-14
1
0
0
0
0
0
0
0
0
0
0
-101
-32
-33
-15
54
-14
-1
6
0
0
0
0
0
0
0
0
0
-50
5
-15
-19
-4
51
20
0
0
0
0
0
0
0
0
0
9
10
3
-5
31
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
44
-12
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
33
-14
0
7
4
0
0
0
0
0
0
0
0
0
0
0
-10
-31
-1
-7
-3
-2
1
0
0
0
0
0
0
0
0
0
0
6
-8
-54
-26
9
-1
0
5
0
0
0
0
0
0
0
0
-2
-70
19
3
46
137
7
1
0
0
0
0
0
0
0
0
0
2
-74
28
6
-10
-8
13
29
0
0
0
0
0
0
0
0
0
-8
23
93
14
21
15
13
3
-2
-4
0
0
0
0
0
0
0
0
-58
7
0
-12
13
-6
-5
-3
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
52
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
2
1
3
-20
0
0
0
0
0
0
0
0
0
0
0
-18
0
-30
3
2
13
-14
0
0
0
0
0
0
0
0
0
0
-55
2
22
-38
-21
-7
1
0
0
0
0
0
0
0
0
0
2
-7
-12
27
14
-2
-1
1
0
0
0
0
0
0
0
0
0
0
-31
-5
120
-2
-3
-6
-1
0
0
0
0
0
0
0
0
0
0
30
22
-6
0
-2
1
-6
0
0
0
0
0
0
0
0
0
-3
-61
-61
-15
0
-4
3
0
0
0
0
0
0
0
0
0
0
5
3
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-1
1
-5
5
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-3
10
1
-2
0
0
0
0
0
0
0
0
0
0
0
6
-5
2
-1
40
0
0
0
0
0
0
0
0
0
0
-12
-2
10
-7
-8
-4
1
8
0
0
0
0
0
0
0
0
0
-2
2
-24
31
5
-4
-8
0
-2
0
0
0
0
0
0
0
0
0
2
31
-3
30
-5
16
0
0
0
0
0
0
0
0
0
0
2
0
-21
15
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
3
6
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
6
-17
0
10
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
6
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
3
1
0
0
0
0
0
0
0
0
0
-32
-2
0
1
13
24
0
1
0
0
0
0
0
0
0
0
0
7
-7
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-32
54
-18
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-30
6
2
0
0
0
1
0
0
0
0
0
0
0
0
-13
1
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
25
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-7
-1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
-60
-8
-21
-17
2
1
-3
-2
0
0
0
0
0
0
0
0
2
2
4
-4
14
-96
40
8
13
2
0
0
0
0
0
0
0
-5
-42
-6
-34
-18
20
0
-10
-3
-15
0
0
0
0
0
0
0
-2
-30
-58
1
28
11
-20
1
0
0
0
0
0
0
0
0
0
0
44
5
47
15
10
0
-3
0
0
0
0
0
0
0
0
0
0
28
-19
-7
15
-1
0
0
0
0
0
0
0
0
0
0
0
6
-2
6
-18
2
-1
0
0
0
0
0
0
0
0
0
0
0
-9
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-18
-2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-5
2
-34
-21
0
10
0
0
0
0
0
0
0
0
0
0
0
-8
0
5
-6
-8
-1
3
0
0
0
0
0
0
0
0
0
0
-8
-43
0
-7
3
16
-2
0
0
0
0
0
0
0
0
0
0
-18
58
-13
-6
5
5
0
0
0
0
0
0
0
0
0
0
0
-7
-13
-10
-3
1
0
2
0
0
0
0
0
0
0
0
0
0
-12
5
-17
24
-1
0
2
0
0
0
0
0
0
0
0
0
0
-44
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
-27
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
95
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-30
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
16
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
2
2
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
13
5
-27
29
0
0
0
0
0
0
0
0
0
0
0
3
-1
8
-8
7
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
42
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-16
38
20
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
97
-27
17
-26
-69
0
0
0
0
0
0
0
0
0
0
-15
-6
-49
41
80
5
37
0
0
0
0
0
0
0
0
0
0
1
-10
22
-2
16
91
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
22
-32
32
37
0
0
0
0
0
0
0
0
0
0
0
4
5
-7
-2
-58
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-8
0
0
0
-4
0
0
0
0
0
0
0
0
0
-6
-7
-37
33
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
2
17
-13
-47
-81
137
4
0
0
0
0
0
0
0
0
-4
-8
5
2
5
-20
44
69
6
0
0
0
0
0
0
0
0
0
0
0
-6
28
57
23
41
24
0
0
0
0
0
0
0
0
0
0
2
-7
-50
-49
42
-51
5
0
0
0
0
0
0
0
0
0
0
10
-12
-28
-2
49
27
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
-11
18
0
0
0
-8
18
0
0
0
0
0
0
0
0
-2
-6
-1
30
8
-10
24
-12
-3
0
0
0
0
0
0
0
0
4
-5
4
1
-18
-25
-9
44
-1
0
0
0
0
0
0
0
0
-2
-4
-2
-25
8
99
91
-4
-4
0
0
0
0
0
0
0
0
0
0
6
-23
14
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-123
4
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
5
5
0
-1
-27
0
0
0
-54
2
5
0
0
0
0
0
0
0
4
1
-16
-2
-18
-7
25
-9
-9
0
0
0
0
0
0
0
-3
-8
5
-10
-63
8
56
-2
5
-10
-1
0
0
0
0
0
1
0
0
5
-9
-16
5
-13
43
7
0
0
0
0
0
0
0
0
0
0
12
0
-19
28
-7
8
4
2
0
0
0
0
0
0
0
0
0
-1
0
-18
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-6
72
-9
0
31
0
0
0
1
0
-2
0
0
0
0
0
0
-6
3
30
5
73
31
31
-16
8
1
6
0
0
0
0
0
0
0
1
8
35
88
48
-92
29
22
0
-4
0
0
0
0
0
-2
1
0
1
5
15
4
-37
-5
-1
1
0
0
0
0
0
0
0
0
0
-3
-12
32
-115
70
5
4
-1
0
0
0
0
0
0
0
0
0
0
3
14
12
-12
75
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
5
17
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-8
22
40
95
-5
0
0
0
-4
-2
0
2
0
0
0
0
0
-8
5
-15
-126
20
-30
42
-94
0
1
0
0
0
0
0
0
0
-2
-10
-11
34
-13
-6
-33
-77
5
0
0
0
0
0
0
0
0
-1
2
39
-33
-49
139
41
-5
-7
2
0
0
0
0
0
0
0
0
0
5
-18
42
17
44
-1
-1
0
0
0
0
0
0
0
0
0
2
2
0
3
10
30
-42
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-41
-101
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-15
37
0
0
0
-2
1
0
0
0
0
0
0
6
58
-9
-6
53
91
0
0
0
-50
0
0
0
0
0
0
0
0
-14
-6
16
-3
88
-8
70
-35
-9
-2
1
0
0
0
0
0
0
-5
0
-56
0
-87
-22
-46
-43
-35
0
0
0
0
0
0
0
0
0
16
60
21
168
-43
26
32
0
-6
-4
0
0
0
0
0
0
0
-1
-5
9
-49
71
101
18
-30
2
0
0
0
0
0
0
0
0
0
-2
4
10
-8
2
56
9
0
0
0
0
0
0
0
0
0
0
0
13
0
1
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-13
-3
-8
0
0
0
-3
0
0
0
0
0
0
0
0
-35
3
-67
50
-3
0
0
0
38
2
0
0
0
0
0
0
0
0
24
-66
11
11
-27
102
-22
-5
0
0
0
0
0
0
0
0
-1
-4
-33
-67
-99
18
-31
-3
73
-4
0
0
0
0
0
0
0
0
-1
-22
-13
13
-74
0
14
4
0
0
0
0
0
0
0
0
0
-4
3
-41
-5
-50
54
79
10
0
0
0
0
0
0
0
0
0
0
7
15
52
-11
-13
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
3
54
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
-42
-3
0
0
0
3
10
0
0
0
0
0
0
0
0
0
0
-14
4
-25
49
-11
0
-18
0
0
0
0
0
0
0
0
0
-1
3
84
-45
-92
56
47
0
0
0
0
0
0
0
0
0
0
0
2
8
13
62
-45
2
6
0
0
0
0
0
0
0
0
0
0
0
-9
24
70
69
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
18
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-14
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-44
51
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
4
37
46
0
0
0
0
0
0
0
0
0
0
0
0
14
36
-60
-30
45
0
0
0
0
0
0
0
0
0
0
0
2
0
2
8
93
13
-32
11
0
0
0
0
0
0
0
0
0
0
3
-2
2
13
-49
10
-83
0
0
0
0
0
0
0
0
0
0
-2
0
13
-13
-13
17
25
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
21
48
120
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
42
-16
-53
0
0
0
0
0
0
0
0
0
0
0
0
-31
-71
65
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-2
-57
22
21
25
15
0
0
0
0
0
0
0
0
-2
8
-37
41
4
5
-28
-4
-8
0
0
0
0
0
0
0
0
5
-1
0
21
3
13
-16
-52
-1
0
0
0
0
0
0
0
0
0
0
0
-5
76
-82
78
51
-45
0
0
0
0
0
0
0
0
0
0
0
12
-1
31
-43
-13
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
19
-21
0
0
0
10
0
0
0
0
0
0
0
0
7
0
-7
31
-23
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
31
18
77
-34
-39
-22
8
0
0
0
0
0
0
0
0
-10
-5
-7
25
-7
24
85
-16
-9
0
0
0
0
0
0
0
0
-20
-15
73
74
23
6
-25
11
3
0
0
0
0
0
0
0
0
8
-2
14
-33
127
5
-93
-10
-25
0
0
0
0
0
0
0
0
0
-10
-8
0
12
-4
48
16
-18
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-22
-138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
5
0
0
5
41
0
0
0
8
0
0
0
0
0
0
0
-13
0
-3
-33
-25
-9
0
0
0
26
0
0
0
0
0
0
0
0
0
9
-5
3
-4
-1
-9
-41
-8
-34
0
0
0
0
0
0
0
0
22
8
-23
-37
-60
-19
0
-77
2
0
0
0
0
0
0
2
0
0
21
8
-53
72
-22
22
-27
-13
0
0
0
0
0
0
0
0
0
0
-3
68
57
42
-25
-1
1
0
0
0
0
0
0
0
0
0
0
-7
4
4
-16
52
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-8
0
-8
-5
0
0
0
-23
4
-4
0
0
0
0
0
-2
5
-30
-5
-2
-15
0
0
0
52
-13
-4
0
0
0
0
0
0
19
-9
19
5
15
-31
-70
-9
0
8
0
0
0
0
0
0
0
0
9
-53
-3
90
-28
-73
22
-14
-1
-1
0
0
0
0
0
0
-6
1
-13
53
-41
-23
-48
27
6
1
-2
0
0
0
0
0
0
0
0
30
19
52
-18
-36
20
8
7
0
0
0
0
0
0
0
0
0
0
0
16
14
-16
-59
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-31
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
-31
6
0
-41
0
0
0
-2
2
0
0
0
0
0
0
-1
49
-74
19
16
29
0
0
0
0
6
2
-1
0
0
0
0
-9
-9
76
56
-12
-18
-13
53
-69
0
5
-7
-1
0
0
0
0
1
-30
14
-24
41
-10
14
-14
-33
-33
5
0
0
0
0
0
0
-23
15
8
14
47
30
19
-6
-42
-12
3
0
-1
0
0
0
0
0
0
0
3
8
5
-80
62
-31
-9
0
-2
0
0
0
0
0
0
0
-2
0
-8
-25
83
-12
-53
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-34
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
0
-9
34
-3
12
3
0
0
0
-13
-2
0
0
0
0
0
0
21
-31
-22
-1
-38
-5
0
0
0
4
3
0
0
0
0
0
0
37
-68
-56
-49
65
-34
40
-23
92
24
0
0
0
0
0
0
0
-6
0
7
38
32
-58
35
-5
3
-10
-2
7
0
0
0
0
0
-1
-12
38
-16
16
4
-55
37
21
2
-4
0
0
0
0
0
0
0
2
57
-1
3
10
96
15
4
-1
6
0
0
0
0
0
0
0
0
0
-21
-22
-66
-39
1
13
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-63
-92
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
42
51
59
50
-3
104
0
0
0
2
-2
0
0
0
0
0
6
1
66
-22
24
-37
83
0
0
0
6
7
0
0
0
0
0
0
-5
-6
4
6
28
-30
17
84
94
18
-6
-1
0
0
0
0
0
-8
-6
-60
-29
-24
-13
40
-17
-46
-69
-6
-1
0
0
0
0
0
9
14
36
-13
132
56
70
-17
-105
-6
-3
0
0
0
0
0
0
-2
13
-3
-10
29
87
-44
-62
5
39
-4
2
0
0
0
0
0
0
0
1
20
-74
46
84
56
28
-2
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-4
-64
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
3
0
0
0
0
0
0
0
0
14
44
-13
-35
101
0
0
0
75
0
0
0
0
0
0
0
0
23
2
-10
-75
39
0
0
0
-25
32
0
0
0
0
0
0
15
63
-66
11
-64
69
-22
5
77
7
2
0
0
0
0
0
0
-14
2
-70
-27
39
67
-87
-2
-57
-29
0
1
0
0
0
0
0
0
-31
1
-67
-142
-41
8
-69
-140
-5
0
0
0
0
0
0
0
-17
6
-83
-14
21
8
-60
-1
2
-5
0
0
0
0
0
0
0
0
1
5
73
63
-16
-35
7
-16
15
0
0
0
0
0
0
0
0
0
-2
15
0
0
-1
29
-46
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-19
6
-35
71
5
0
0
0
41
-8
0
0
0
0
0
0
5
-15
30
-66
-13
-15
0
0
0
-35
-3
0
0
0
0
0
0
-6
111
-29
-50
-45
-9
8
2
-32
8
-1
0
0
0
0
0
0
-6
60
-32
-40
-34
-21
7
50
-3
-42
5
0
0
0
0
0
0
0
-10
32
5
5
-45
-24
28
46
33
1
0
-7
0
0
0
0
8
16
-27
-21
20
-6
-29
-17
43
14
0
0
0
0
0
0
0
-4
-3
1
-76
-14
11
49
-57
-49
-19
1
0
0
0
0
0
0
0
0
0
0
-54
-4
-6
-72
-23
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
14
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-23
69
-19
0
0
0
1
-41
0
0
0
0
0
0
0
0
-1
17
39
10
58
69
17
0
-29
1
0
0
0
0
0
0
0
-2
8
-2
17
10
31
26
-5
-5
0
0
0
0
0
0
0
0
-6
3
6
93
2
47
33
-32
16
-2
0
0
0
0
0
0
0
0
0
-1
13
-20
-31
34
32
3
0
0
0
0
0
0
0
0
0
5
-9
13
-4
31
-13
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-61
-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
-7
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
4
-25
4
2
0
0
0
0
0
0
0
0
0
0
0
8
-1
47
-69
11
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-6
-16
-32
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-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
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
4
22
-1
2
80
-11
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
2
-3
91
-94
0
0
0
0
0
0
0
0
0
0
-3
4
-6
23
7
56
158
0
0
0
0
0
0
0
0
0
-1
0
0
-2
74
-25
7
5
0
0
0
0
0
0
0
0
0
0
0
0
10
41
3
4
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-31
-2
-34
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
24
-53
-93
-5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
31
29
-46
-51
34
-1
0
0
0
0
0
0
0
0
1
7
19
140
60
-119
9
67
-123
0
0
0
0
0
0
0
0
3
-13
0
-35
0
-42
22
-13
-15
0
0
0
0
0
0
0
0
0
0
-7
0
-25
-69
-65
-40
104
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-19
27
0
-91
0
0
0
0
0
0
0
0
0
0
0
4
2
0
-1
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-8
-12
0
0
0
8
0
0
0
0
0
0
0
0
1
8
2
49
-22
0
0
0
-32
0
0
0
0
0
0
0
0
0
-5
9
-10
-35
22
7
-31
18
0
0
0
0
0
0
0
0
0
12
20
57
27
39
63
-50
-2
0
0
0
0
0
0
0
0
13
6
0
-27
41
59
-86
65
13
0
0
0
0
0
0
0
0
4
0
-5
0
-5
-42
-9
-9
-37
0
0
0
0
0
0
0
0
0
0
0
2
-2
-10
41
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
14
1
-55
0
0
0
-1
-5
0
0
0
0
0
0
0
0
-12
-11
-3
-40
0
0
0
51
-1
0
0
0
0
0
0
0
0
-1
5
-17
-15
22
9
-78
22
-18
0
0
0
0
0
0
-2
1
0
10
128
-10
-40
-10
-4
18
-2
0
0
0
0
0
0
0
0
0
-2
-6
13
20
74
-44
6
-8
0
0
0
0
0
0
0
0
3
0
-2
-17
-49
75
15
2
0
0
0
0
0
0
0
0
0
0
6
-3
-6
-9
-8
1
-5
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
-3
0
-20
-5
10
3
0
0
0
-1
4
0
0
0
0
0
0
17
-5
-25
3
-46
-50
0
0
0
42
0
0
0
0
0
0
0
5
1
0
3
0
-32
-13
-74
-15
-9
9
0
0
0
0
0
0
0
6
0
8
-57
18
108
-4
-47
3
0
-3
0
0
0
0
0
2
0
-14
24
-69
-39
28
-45
3
0
0
0
0
0
0
0
0
0
0
0
-14
0
-10
3
-35
59
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-25
3
33
-64
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-18
-29
32
38
0
0
0
-3
0
0
0
0
0
0
0
-3
-7
-108
11
5
0
0
0
0
15
-1
0
0
0
0
0
0
8
-5
-51
0
2
-65
43
-23
-26
-1
2
0
0
0
0
0
0
0
4
-31
-83
10
-23
54
47
27
8
-1
5
0
0
0
0
0
3
2
-4
70
12
-11
-14
73
60
6
0
0
-1
0
0
0
0
0
0
15
69
-8
-53
-56
5
52
-2
0
0
0
0
0
0
0
0
3
-4
5
-13
18
18
11
-12
1
1
0
0
0
0
0
0
0
0
-3
0
0
4
4
-41
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
63
0
0
0
0
0
0
0
0
0
0
-7
-19
-11
-17
10
0
0
0
5
-4
0
0
0
0
0
0
-1
72
-71
-42
14
12
0
0
0
36
0
0
0
0
0
0
0
0
9
21
-28
42
16
-44
-4
-26
-2
-7
0
0
0
0
0
0
2
-28
8
-14
-34
6
-29
6
112
-22
5
0
0
0
0
0
0
0
35
-48
-73
76
-1
22
-87
-52
0
2
0
0
0
0
0
0
1
2
3
24
-27
-8
26
-6
10
2
-6
0
0
0
0
0
0
0
0
0
18
9
-17
33
8
51
-1
4
0
0
0
0
0
0
0
0
0
-3
0
3
42
-43
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
-6
7
-59
8
56
1
0
0
0
19
0
0
0
0
0
0
-2
7
63
37
46
12
-21
0
0
0
39
0
0
0
0
0
0
0
9
-24
63
1
-3
6
-1
-39
-13
-5
0
0
0
0
0
0
0
43
31
93
31
-41
6
68
76
54
-77
0
0
1
0
0
0
0
0
-5
5
-134
49
39
-107
14
-75
-12
-2
0
0
0
0
0
0
0
-6
-29
68
81
-21
-63
-139
-86
4
8
0
0
0
0
0
0
-3
-3
-8
22
16
-5
42
-9
-51
-28
0
0
0
0
0
0
0
0
0
-6
-5
-6
-33
41
68
-65
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
131
0
0
0
0
0
0
0
0
0
0
-13
1
-36
-74
26
0
0
0
5
-1
0
0
0
0
0
0
-9
74
-54
-72
-42
43
0
0
0
41
-8
0
0
0
0
0
0
-19
9
42
-13
48
36
53
2
-1
10
0
0
0
0
0
0
0
39
45
-81
13
56
-93
73
-10
-6
24
-3
0
0
0
0
0
0
0
32
14
-41
81
-7
-20
-40
17
-6
8
0
0
0
0
0
0
0
-2
4
30
13
64
9
-54
-62
21
0
0
0
0
0
0
0
0
4
-2
22
-15
33
-3
99
-136
1
-3
0
0
0
0
0
0
0
0
0
-8
-20
-5
-35
49
-7
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-1
-2
-1
0
0
0
0
0
0
0
0
0
-1
-44
-34
5
1
0
0
0
18
1
0
0
0
0
0
0
-5
41
47
-2
3
54
0
0
0
12
2
0
0
0
0
0
0
2
13
-27
18
70
59
66
-21
-13
-1
8
0
0
0
0
0
0
3
57
-13
68
-102
-13
-27
72
30
9
0
0
0
0
0
0
0
-3
25
92
-87
-3
22
61
-78
20
-19
3
2
-1
0
0
0
0
-3
-7
-37
52
-53
14
-77
-113
1
80
0
0
0
0
0
0
0
0
0
6
-22
-40
56
4
-41
-82
-41
0
0
0
0
0
0
0
0
0
3
5
31
-18
37
10
-20
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
1
15
0
0
0
5
-27
0
0
0
0
0
0
0
0
0
-8
-91
-11
0
0
0
5
33
-4
0
0
0
0
0
0
0
-1
6
-1
32
-12
2
41
1
6
-1
0
0
0
0
0
0
0
4
5
-13
31
33
32
92
7
-50
-1
0
0
0
0
0
0
0
0
2
20
0
-41
13
78
-8
-14
0
0
0
0
0
0
0
0
0
0
13
-3
-17
0
49
37
-20
0
0
0
0
0
0
0
0
0
0
0
0
-22
8
43
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-14
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
-5
-3
4
0
0
0
0
0
0
0
0
0
0
0
-2
13
-24
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
5
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
3
-2
-5
-18
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
-13
-8
0
0
0
0
0
0
0
0
0
0
0
-22
-7
11
-9
-22
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
47
5
75
4
28
0
0
0
0
0
0
0
0
0
0
5
31
-42
-17
34
5
-52
0
0
0
0
0
0
0
0
0
0
3
6
-56
19
16
19
56
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
22
-8
-13
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-30
13
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
8
31
-30
13
39
0
0
0
0
0
0
0
0
0
0
0
5
-50
32
65
-28
17
0
0
0
0
0
0
0
0
0
0
0
0
-13
-120
-70
-11
-43
113
-41
46
0
0
0
0
0
0
0
0
0
0
-25
14
-17
-94
50
59
51
0
0
0
0
0
0
0
0
0
9
37
63
-59
11
-24
87
46
0
0
0
0
0
0
0
0
0
3
0
-54
-6
28
57
33
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-34
-52
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
-3
-2
4
4
5
0
0
0
29
0
0
0
0
0
0
0
16
-2
4
18
-58
-56
0
0
0
-87
0
0
0
0
0
0
0
0
14
5
22
3
-7
-1
-32
46
5
0
0
0
0
0
0
0
0
0
0
-7
29
32
-40
-6
-15
52
0
0
0
0
0
0
0
0
0
0
5
21
-50
-29
60
-29
43
0
0
0
0
0
0
0
0
0
0
2
-8
53
-46
30
5
44
0
0
0
0
0
0
0
0
0
0
0
16
-3
6
3
-10
35
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-10
93
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
4
-1
12
-7
0
0
0
-2
2
0
0
0
0
0
0
-1
-24
66
46
13
51
0
0
0
3
-2
0
0
0
0
0
0
0
2
8
5
-3
-28
33
-9
31
-4
5
0
0
0
0
0
0
1
0
0
0
2
-39
27
71
-5
42
8
0
0
0
0
0
0
0
1
-4
-5
63
78
49
13
-28
-2
5
0
0
0
0
0
0
0
0
4
-8
-5
1
-55
41
2
5
0
0
0
0
0
0
0
0
0
0
6
0
-1
-4
-29
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
-24
-18
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-5
0
0
0
0
0
0
0
0
0
0
1
6
66
2
16
0
0
0
0
2
0
0
0
0
0
0
3
-6
22
23
-99
-70
0
0
0
4
0
0
0
0
0
0
0
0
-8
8
6
13
-16
-58
48
4
10
-1
0
0
0
0
0
0
0
1
0
1
0
76
16
58
-50
-8
1
0
0
0
0
0
0
2
19
-4
0
-6
21
20
-13
-174
3
3
0
0
0
0
0
0
0
0
39
1
5
-64
31
31
2
0
0
0
0
0
0
0
0
0
8
3
9
-12
-55
16
-50
50
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
25
-109
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-45
0
0
0
0
0
0
0
0
0
0
10
5
77
-19
5
0
0
0
0
0
0
0
0
0
0
0
15
60
-10
-41
22
2
0
0
0
-22
0
0
0
0
0
0
0
2
2
-51
-18
84
91
93
-90
-5
0
2
0
0
0
0
0
0
1
23
-43
-2
-7
68
33
26
44
-6
0
0
0
0
0
0
0
14
-17
-23
5
-1
1
-85
-106
50
-6
0
0
0
0
0
0
0
0
-4
-2
10
13
-132
38
64
-29
0
0
0
0
0
0
0
0
0
0
-9
16
44
13
-62
-129
-118
1
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-1
69
-26
5
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-4
0
0
0
0
0
0
0
0
0
0
-11
17
-111
73
17
0
0
0
-13
0
0
0
0
0
0
0
2
-9
5
0
62
13
0
0
0
-21
-3
0
0
0
0
0
0
-5
28
-39
6
-12
10
20
40
19
16
-1
0
0
0
0
0
0
3
-19
12
6
-48
1
-44
-42
8
5
2
0
0
0
0
0
0
0
-26
1
-42
-60
-104
-10
-4
10
57
3
0
0
0
0
0
0
0
-9
-47
-1
7
42
-33
-53
-69
-8
0
0
0
0
0
0
0
-2
3
-1
-47
-34
-7
-20
-23
35
-5
0
0
0
0
0
0
0
0
0
0
20
42
3
52
-50
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
0
0
0
0
0
0
0
0
0
4
-54
23
6
13
-5
0
0
0
4
0
0
0
0
0
0
-12
-6
-20
53
31
6
-5
0
0
0
-4
1
0
0
0
0
0
0
27
46
26
-36
-5
-34
-1
51
62
12
-6
0
0
0
0
0
0
0
25
-33
-24
-31
37
50
-11
73
21
1
-1
0
0
0
0
0
8
-65
-25
63
-18
56
6
18
9
60
0
0
0
0
0
0
0
0
-14
4
11
-50
122
10
-19
-72
23
0
0
0
0
0
0
0
1
3
67
1
-92
-2
102
74
-52
-13
9
0
0
0
0
0
0
0
0
0
-51
31
28
-8
-93
36
25
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
41
7
0
0
0
0
0
0
0
0
24
26
-37
-33
-29
77
0
0
0
-15
1
0
0
0
0
0
0
-41
-12
9
-61
81
-38
0
0
0
21
0
0
0
0
0
0
0
5
89
8
70
8
13
101
0
21
-1
-8
0
0
0
0
0
-3
6
-3
7
62
14
97
-26
41
36
-2
0
0
0
0
0
0
0
25
31
-30
-26
-10
75
-33
-39
-35
33
-5
0
0
0
0
0
-1
0
-18
4
49
-99
-1
-61
-52
-105
-6
0
0
0
0
0
0
0
0
5
-56
51
27
28
-36
8
-60
10
0
0
0
0
0
0
0
-3
0
-6
-37
11
-4
-50
10
36
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
10
-5
-4
0
0
0
0
0
0
0
0
40
-16
5
22
126
0
0
0
-59
0
0
0
0
0
0
0
-4
-35
-12
-39
-39
-55
0
0
0
-25
3
0
0
0
0
0
0
3
-36
41
81
29
-120
49
-15
-92
-5
-42
0
0
0
0
0
0
10
-17
39
110
58
-11
-144
-78
-47
7
-1
0
0
0
0
0
0
0
-29
30
-32
35
42
-30
41
-6
36
-7
0
0
0
0
0
0
0
-16
-18
-75
-8
39
14
-97
4
25
0
0
0
0
0
0
0
0
5
12
-17
-22
-15
-2
-42
-48
-58
0
0
0
0
0
0
0
0
-1
0
3
-13
9
-53
-24
-29
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-6
-6
2
0
0
0
1
-12
0
0
0
0
0
0
0
0
-6
8
-39
12
0
0
0
-54
-44
0
0
0
0
0
0
0
0
0
-5
7
-20
17
43
-36
6
-13
-1
0
0
0
0
0
0
0
0
-1
-1
-18
12
-20
-12
6
0
0
0
0
0
0
0
0
0
0
0
3
35
42
-10
-72
-7
13
0
0
0
0
0
0
0
0
0
0
-1
3
45
-20
-60
2
-17
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-13
2
43
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-2
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
41
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
1
-1
9
0
0
0
0
0
0
0
0
0
0
0
6
0
-29
25
43
4
-5
-2
0
0
0
0
0
0
0
0
0
0
-8
-17
13
5
0
14
-23
0
0
0
0
0
0
0
0
0
0
0
0
-20
100
-25
42
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
113
9
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-27
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
-4
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
83
0
0
0
0
0
0
0
0
0
1
-20
2
-5
2
-14
0
0
0
0
0
0
0
0
0
0
0
19
34
-45
-27
-31
38
0
0
0
0
0
0
0
0
0
0
0
9
-49
-49
-74
85
42
15
-55
9
0
0
0
0
0
0
0
0
0
1
-19
-97
13
-79
13
90
34
0
0
0
0
0
0
0
0
0
0
-5
-54
-26
-30
-23
15
-44
0
0
0
0
0
0
0
0
0
0
-12
-43
39
-22
15
48
58
0
0
0
0
0
0
0
0
0
9
2
-8
-15
28
24
-22
65
0
0
0
0
0
0
0
0
0
0
0
0
-15
29
-77
61
26
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
-2
0
0
0
0
0
0
0
0
0
3
-4
29
5
-3
0
0
0
7
0
0
0
0
0
0
0
-2
21
-31
-95
53
16
0
0
0
44
0
0
0
0
0
0
0
0
3
-6
-17
58
-11
-4
-12
-49
2
0
0
0
0
0
0
0
0
0
0
-5
-22
41
-41
69
-41
-8
0
0
0
0
0
0
0
0
0
0
2
110
-67
31
70
-13
0
0
0
0
0
0
0
0
0
0
0
0
-27
51
-37
6
-16
0
0
0
0
0
0
0
0
0
0
1
-2
0
-21
-28
49
56
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-31
30
26
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
8
-28
8
-1
0
0
0
22
1
0
0
0
0
0
0
0
25
3
10
1
-3
0
0
0
-59
8
0
0
0
0
0
0
0
4
-16
-22
-21
-50
44
1
0
3
0
0
0
0
0
0
0
0
0
0
-1
95
8
1
48
13
3
0
0
0
0
0
0
0
2
0
0
0
-7
-82
-54
-26
9
2
0
0
0
0
0
0
0
0
0
0
-9
3
-27
-3
-49
15
-17
1
0
0
0
0
0
0
0
0
0
0
-5
8
0
29
5
-4
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
1
0
0
0
0
0
0
0
0
14
-2
-17
-43
0
42
0
0
0
18
0
0
0
0
0
0
0
-9
49
19
-5
-25
-41
0
0
0
-9
-3
0
0
0
0
0
0
0
-1
6
-131
3
-7
23
25
30
0
0
0
0
0
0
0
0
3
-8
-4
0
50
11
-68
26
2
23
0
0
0
0
0
0
0
-16
2
0
0
0
25
24
42
-66
0
0
0
0
0
0
0
0
0
0
0
-4
-4
8
-80
14
-27
0
0
0
0
0
0
0
0
0
0
-4
19
-7
-14
-66
61
27
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-41
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
-42
27
-41
-28
0
0
0
0
1
0
0
0
0
0
0
-1
-8
83
22
76
-102
0
0
0
-4
0
0
0
0
0
0
0
10
28
28
-49
-44
-103
-13
32
-20
0
6
0
0
0
0
0
0
-17
36
-45
51
-80
80
-27
3
-77
-2
0
0
0
0
0
0
0
7
24
-6
5
0
0
55
117
12
-2
0
0
0
0
0
0
0
0
0
18
1
-3
14
-6
-23
-26
-2
0
0
0
0
0
0
0
0
0
0
-7
-18
-69
-41
52
68
2
0
0
0
0
0
0
0
0
0
-4
0
-6
-22
75
26
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-68
-2
0
0
0
0
0
0
0
0
-4
-2
-31
55
31
20
0
0
0
0
0
0
0
0
0
0
0
0
-42
-59
18
5
18
0
0
0
27
0
0
0
0
0
0
0
5
13
23
-28
-10
-142
76
115
-10
-3
1
0
0
0
0
0
0
0
-10
28
71
38
50
76
-74
-36
-6
-1
0
0
0
0
0
0
0
9
-1
8
0
0
5
-51
84
0
0
0
0
0
0
0
0
5
1
0
87
-39
3
6
11
-37
5
0
0
0
0
0
0
0
-2
-5
-15
-18
4
-147
5
-22
164
-10
0
0
0
0
0
0
0
0
0
0
5
-2
2
-25
-20
-27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
38
0
0
0
0
0
0
0
3
0
-43
-62
-39
-22
36
0
0
0
-12
0
0
0
0
0
0
0
81
-41
-26
-42
-7
-84
0
0
0
-17
0
0
0
0
0
0
0
-46
99
-67
22
-5
32
53
-5
0
-3
1
0
0
0
0
0
1
13
93
-1
116
41
60
71
35
84
17
0
0
0
0
0
0
0
-74
-12
-13
-1
-5
-11
0
-51
111
-15
0
0
0
0
0
0
0
0
31
-24
-42
-21
73
-29
-78
-17
24
0
0
0
0
0
0
0
0
1
-1
39
40
-87
-74
-10
-44
-10
0
0
0
0
0
0
0
0
0
-5
0
-28
-8
99
-68
39
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-1
0
0
0
0
0
0
0
0
0
-10
13
-8
36
57
51
0
0
0
-6
0
0
0
0
0
0
0
-4
-10
12
41
32
-27
0
0
0
25
-6
0
0
0
0
0
0
27
-47
31
5
-11
8
-32
-40
-43
13
-1
0
0
0
0
0
0
-16
99
114
-24
57
-37
60
38
-42
-35
0
4
0
0
0
0
0
6
4
46
-1
3
23
3
0
0
-2
3
0
0
0
0
0
0
13
-8
-21
51
-18
-56
59
12
-146
-9
0
-4
0
0
0
0
0
0
15
-41
163
-16
65
-29
13
32
0
0
0
0
0
0
0
0
0
0
14
49
48
-4
36
38
40
13
0
0
0
0
0
0
0
0
0
0
0
-1
-5
8
-26
31
0
0
0
0
0
0
0
0
8
-24
8
20
45
13
0
0
0
49
-1
0
0
0
0
0
0
-5
-5
73
-10
-5
-8
0
0
0
13
3
0
0
0
0
0
0
4
49
26
-53
62
12
-33
-21
31
-98
2
0
0
0
0
0
0
0
-20
13
-13
-30
-20
1
-26
-51
22
-5
0
0
0
0
0
0
0
14
60
50
-66
14
35
-1
0
-19
0
0
0
0
0
0
0
0
14
33
-23
-57
-31
70
-58
0
-1
0
0
0
0
0
0
0
0
-3
-4
114
-84
-41
6
-121
-13
-20
0
0
0
0
0
0
0
17
0
6
1
92
0
6
105
-76
66
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-29
3
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
5
-3
0
0
0
0
0
0
0
1
0
2
26
32
0
0
0
43
-9
0
0
0
0
0
0
0
0
0
3
70
-12
12
33
-26
6
-39
0
0
0
0
0
0
0
0
0
1
-5
19
-28
-68
-1
-10
2
-2
0
0
0
0
0
0
0
0
6
-28
1
1
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
27
31
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
14
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
-10
-8
6
0
0
0
0
0
0
0
0
0
0
-8
1
4
13
3
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
0
5
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-18
1
0
5
-6
0
0
0
0
0
0
0
0
0
0
0
14
-8
-34
-15
-1
30
0
0
0
0
0
0
0
0
0
0
0
8
55
-30
-62
-42
47
0
0
0
0
0
0
0
0
0
0
0
-1
19
6
-17
79
49
0
0
0
0
0
0
0
0
0
0
0
0
25
59
26
0
56
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-1
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
0
0
0
0
0
0
0
0
-1
13
-16
-2
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
64
-34
-5
-45
-40
0
0
0
0
0
0
0
0
0
0
0
0
-33
-23
-17
110
64
1
5
39
0
0
0
0
0
0
0
0
-3
16
7
32
107
-57
-62
-52
1
0
0
0
0
0
0
0
0
0
0
9
41
-36
39
14
-68
-26
0
0
0
0
0
0
0
0
0
0
-2
30
58
107
68
12
31
0
0
0
0
0
0
0
0
0
0
7
-45
13
13
-95
65
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
32
9
-42
100
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
26
-7
0
0
0
0
0
0
0
0
-7
0
12
17
-12
2
0
0
0
14
0
0
0
0
0
0
0
0
-6
-21
-52
14
-19
0
0
0
20
0
0
0
0
0
0
0
-17
-8
-1
51
-5
-1
-2
33
-81
-10
0
0
0
0
0
0
0
0
5
55
-28
-5
-4
-77
-47
-60
-3
0
0
0
0
0
0
0
0
0
0
34
-31
-57
-23
-56
22
-2
0
0
0
0
0
0
0
0
0
0
3
4
8
48
-3
-43
2
0
0
0
0
0
0
0
0
0
0
0
0
45
18
-29
14
15
0
0
0
0
0
0
0
0
0
0
0
0
3
41
41
79
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
0
0
0
0
0
0
0
0
1
0
3
-1
-2
0
0
0
2
0
0
0
0
0
0
0
-3
-4
121
75
2
-31
0
0
0
-63
0
0
0
0
0
0
0
0
4
13
-14
3
-25
-2
-67
5
-4
0
0
0
0
0
0
0
0
-3
-3
2
2
64
4
29
2
-1
1
0
0
0
0
0
0
-2
0
0
0
-20
-16
-35
-92
-18
0
-3
0
0
0
0
0
0
0
0
0
0
7
-43
-3
21
6
-1
0
0
0
0
0
0
0
0
0
0
2
8
2
2
-21
0
25
0
0
0
0
0
0
0
0
0
0
0
-2
-2
27
-10
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
-19
-54
2
13
0
0
0
0
0
0
0
0
0
0
0
6
-14
-8
-62
55
34
0
0
0
8
-4
0
0
0
0
0
0
3
4
5
14
17
22
12
89
-17
0
0
0
0
0
0
0
0
-9
1
5
-84
-44
-97
-64
-52
-21
3
0
0
0
0
0
0
0
4
-15
-1
0
-63
-8
42
13
39
0
0
0
0
0
0
0
0
-4
-5
-1
0
0
-21
119
12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
55
2
-50
13
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-31
-30
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
0
0
0
4
-15
112
45
91
-5
0
0
0
0
0
0
0
0
0
0
5
6
-20
-55
-22
7
116
0
0
0
-7
0
0
0
0
0
0
0
-2
-7
72
49
-47
15
-94
-31
38
0
0
0
0
0
0
0
0
0
15
33
10
-18
10
-16
1
10
-1
0
0
0
0
0
0
0
-3
-1
10
25
3
53
-28
-27
13
0
0
0
0
0
0
0
0
-1
1
-5
-1
0
0
35
37
61
0
0
0
0
0
0
0
0
0
0
-25
0
2
10
-3
-13
12
2
0
0
0
0
0
0
0
0
0
0
0
-1
-32
-17
-63
-35
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-1
0
0
0
0
0
0
0
0
2
41
44
103
-54
88
0
0
0
-1
0
0
0
0
0
0
0
-16
-42
-29
-47
59
-82
0
0
0
6
0
0
0
0
0
0
0
14
5
-32
35
41
5
-15
30
-79
6
0
0
0
0
0
0
0
-7
-14
34
-41
39
100
-72
44
-39
2
0
0
0
0
0
0
0
-6
-66
-31
22
109
0
5
-145
6
4
0
0
0
0
0
0
0
0
9
-48
-46
0
0
-1
-60
-30
-2
0
0
0
0
0
0
0
0
0
2
32
1
2
-67
52
-27
6
0
0
0
0
0
0
0
0
0
-1
0
9
0
5
16
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
7
-4
8
31
32
13
-3
0
0
0
-14
0
0
0
0
0
0
-1
5
49
-97
-23
23
43
0
0
0
14
0
0
0
0
0
0
0
-55
-27
45
-31
-2
3
32
21
-12
-5
-1
0
0
0
0
0
0
29
73
5
-25
-47
-3
-12
-15
-40
-23
1
0
0
0
0
0
0
-24
6
-5
31
2
-59
16
-85
19
-7
0
0
0
0
0
0
3
5
3
-1
57
-26
3
0
0
-3
-2
0
0
0
0
0
0
0
0
-6
74
18
-40
5
5
6
-32
-20
0
0
0
0
0
0
0
0
0
0
4
8
-24
-33
75
27
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-3
0
0
0
0
0
0
0
0
1
-40
-12
73
-5
-5
0
0
0
1
0
0
0
0
0
0
-1
49
5
31
68
132
-54
0
0
0
-33
0
0
0
0
0
0
0
-9
6
53
36
77
172
-30
-13
58
-24
-3
0
0
0
0
0
0
29
-8
14
-50
36
-56
-59
6
-101
3
0
0
0
0
0
0
0
-13
-88
-39
-63
-94
-48
-39
-7
-74
5
0
0
0
0
0
0
0
0
13
-33
51
8
-98
5
0
0
-1
0
0
0
0
0
0
0
0
8
-26
-74
-19
57
18
3
4
-3
-2
0
0
0
0
0
0
0
0
20
1
-6
-8
73
-3
24
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
103
26
0
0
0
0
0
0
0
0
0
0
49
-41
-60
42
0
0
0
-22
0
0
0
0
0
0
0
0
30
50
49
-25
-54
0
0
0
-75
-9
0
0
0
0
0
0
0
0
-6
-44
77
57
2
38
-26
-49
-2
0
0
0
0
0
0
0
-16
11
12
59
-51
-21
-20
-29
-21
-2
0
0
0
0
0
0
0
31
4
35
58
39
-40
-50
0
46
0
0
0
0
0
0
0
0
-22
-16
-32
-43
113
-164
-7
0
0
0
0
0
0
0
0
0
0
0
3
41
51
44
55
-41
4
0
0
0
0
0
0
0
0
0
0
-1
-24
-79
112
46
-94
-72
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-6
0
0
0
25
5
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
4
-42
0
0
0
0
0
0
0
0
0
1
32
18
-2
-85
-71
42
9
0
0
0
0
0
0
0
0
0
-1
22
36
-21
5
-78
1
3
0
0
0
0
0
0
0
0
0
0
-4
48
24
16
5
0
9
0
0
0
0
0
0
0
0
0
0
-8
1
35
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
22
0
48
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
8
2
0
0
0
0
0
0
0
0
0
0
0
0
7
9
-1
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-25
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
3
-6
4
3
-1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-22
16
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-42
-10
42
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
22
2
9
0
0
0
0
0
0
0
0
0
0
0
0
28
2
-2
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-40
0
0
0
0
0
0
0
0
0
0
8
-7
-32
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
-2
15
-7
-29
-8
0
0
0
0
0
0
0
0
0
0
0
3
47
43
-107
-24
46
-5
54
31
0
0
0
0
0
0
0
0
0
0
7
-6
-5
-127
4
30
-23
0
0
0
0
0
0
0
0
0
-7
0
-79
-9
30
-83
-49
-67
0
0
0
0
0
0
0
0
0
0
0
-6
-31
-99
-70
1
-54
0
0
0
0
0
0
0
0
0
0
-7
31
-18
77
13
-34
-91
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
54
61
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
-6
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
2
1
33
20
6
0
0
0
0
-14
0
0
0
0
0
0
0
0
14
-64
45
-41
0
5
-18
76
-5
0
0
0
0
0
0
0
0
0
39
-51
-18
-67
-42
-27
29
0
0
0
0
0
0
0
0
0
5
-35
-8
-15
-3
-14
19
28
0
0
0
0
0
0
0
0
0
0
0
-3
-63
9
-6
50
23
-1
0
0
0
0
0
0
0
0
0
0
0
8
12
-8
141
24
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-42
41
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-27
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-2
-20
-1
-7
-4
1
0
0
0
0
0
0
0
0
0
0
7
-41
24
-2
-22
-9
-1
0
0
0
0
0
0
0
0
0
-2
-8
-12
-65
6
25
0
0
0
0
0
0
0
0
0
0
0
0
-7
32
-24
35
-49
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
8
7
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
35
2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
23
0
0
0
0
0
0
0
0
0
0
2
-4
9
-5
-7
0
0
0
0
4
0
0
0
0
0
0
0
0
-30
5
-27
-28
0
0
0
-12
5
0
0
0
0
0
0
0
-4
2
-10
87
-15
41
-16
-30
0
-1
0
0
0
0
0
0
0
0
5
35
-83
-46
-53
1
-50
0
0
0
0
0
0
0
0
0
4
-13
-43
-62
13
-51
-208
40
0
0
0
0
0
0
0
0
0
2
-2
0
22
46
-154
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
-17
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
31
0
0
0
0
0
0
0
0
0
8
17
77
-3
-7
0
0
0
3
0
0
0
0
0
0
0
0
-7
-12
65
-48
68
0
0
0
-18
0
0
0
0
0
0
0
0
3
41
-124
-8
-36
93
3
-69
0
0
0
0
0
0
0
0
0
5
59
-30
-85
-67
-67
-31
8
0
0
0
0
0
0
0
0
4
13
-4
-35
26
-42
-67
-50
-45
0
0
0
0
0
0
0
0
0
0
7
5
0
92
-33
-155
127
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
34
61
-35
0
0
0
0
0
0
0
0
2
2
3
0
2
0
-66
17
121
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
10
1
0
0
0
0
0
0
0
0
0
2
15
-18
-31
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-35
50
-102
20
0
0
0
3
-1
0
0
0
0
0
0
0
5
101
-26
84
-45
56
62
-52
0
0
0
0
0
0
0
0
0
18
-63
-8
18
-9
-20
30
-12
0
0
0
0
0
0
0
0
-1
-40
-87
-9
81
90
-66
13
31
0
0
0
0
0
0
0
0
0
5
39
14
-6
6
9
55
11
0
0
0
0
0
0
0
0
0
-3
-18
-3
-1
0
-1
-3
-12
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
6
75
100
13
0
0
0
0
0
0
0
0
0
0
0
0
0
13
8
-28
0
0
0
0
0
0
0
0
-2
42
-2
17
25
99
0
0
0
43
0
0
0
0
0
0
0
0
20
18
16
63
50
0
0
0
64
-1
0
0
0
0
0
-4
-2
10
-35
81
-8
25
-47
14
-43
3
-5
0
0
0
0
0
8
20
68
37
-70
-51
-45
75
12
32
7
0
0
0
0
0
0
0
-5
54
47
117
57
-27
-22
-27
4
-43
0
0
0
0
0
0
0
1
-31
-89
-2
32
-88
29
2
50
52
0
0
0
0
0
0
0
0
2
9
-9
-5
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
2
-21
-44
-25
0
56
-24
94
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-24
0
-2
0
0
0
0
0
0
0
4
-34
-129
65
71
58
0
0
0
-12
2
0
0
0
0
0
0
-1
-79
-57
27
-122
138
0
0
0
-37
-1
0
0
0
0
0
0
2
-20
-5
-79
-59
-14
34
-4
-82
-4
-7
0
0
0
0
0
0
16
34
35
29
-89
-26
-65
-85
-3
9
3
0
0
0
0
0
0
20
-74
-5
82
-35
-25
-103
17
-77
6
-2
0
0
0
0
0
0
3
-6
-62
2
55
42
-15
-2
-135
4
0
0
0
0
0
0
0
5
41
-52
35
33
-94
6
0
1
1
0
0
0
0
0
0
0
0
-1
44
-38
-32
-16
37
0
51
90
-1
0
0
0
0
0
0
0
0
0
1
0
0
4
5
32
0
0
0
0
0
0
0
0
0
0
-1
-92
-35
-8
0
0
0
-11
-3
0
0
0
0
0
0
-3
7
64
46
-77
-25
0
0
0
46
-2
-1
0
0
0
0
0
0
14
87
107
12
49
58
10
55
75
3
0
0
0
0
0
0
0
-6
-30
-14
-56
2
22
27
165
52
-1
0
0
0
0
0
0
0
-18
-146
-12
-72
-50
-16
-111
22
34
1
0
0
0
0
0
0
0
-2
69
3
-13
-49
-57
-82
0
-37
0
0
0
0
0
0
0
0
-3
20
53
65
7
-23
1
0
0
0
0
0
0
0
0
0
0
-1
-84
-57
-9
60
-33
42
4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
5
0
-6
-1
0
0
0
-5
-59
0
0
0
0
0
0
0
0
0
-9
0
-9
0
0
0
-49
-114
0
0
0
0
0
0
0
0
0
0
28
-12
-20
71
30
1
-29
0
0
0
0
0
0
0
0
0
2
0
-18
-2
-2
-14
43
0
2
0
0
0
0
0
0
0
2
0
4
49
-37
-20
-45
-1
2
0
0
0
0
0
0
0
0
0
0
4
6
-32
26
-24
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
2
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-34
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
47
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
2
-47
-12
0
1
0
0
0
0
0
0
0
0
0
0
3
0
-1
4
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
42
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-3
1
16
2
0
0
0
0
0
0
0
0
0
0
4
7
-9
38
13
60
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-11
-25
0
1
0
0
0
0
0
0
0
0
0
0
0
10
4
-49
10
-16
3
0
0
0
0
0
0
0
0
0
0
-4
1
3
2
5
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
50
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
4
-7
7
47
2
7
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
35
31
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
-28
29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
45
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
-3
-2
0
0
25
3
4
-4
0
0
0
0
0
0
0
0
0
-2
0
-31
-2
2
-8
0
5
0
0
0
0
0
0
0
0
0
8
42
-1
-26
9
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
84
15
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-68
-1
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
4
7
-8
0
0
0
0
0
0
0
0
0
0
0
-8
0
-26
-7
-12
5
9
3
0
0
0
0
0
0
0
0
0
-8
0
17
-71
-14
110
14
0
0
0
0
0
0
0
0
0
0
-2
0
5
5
-77
53
-3
0
0
0
0
0
0
0
0
0
0
0
0
37
-53
25
-32
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-19
16
0
0
0
0
0
0
0
0
0
2
0
-3
0
6
0
0
0
10
0
0
0
0
0
0
0
0
1
12
7
-4
42
0
0
0
2
0
0
0
0
0
0
0
0
-5
-13
-10
-1
-13
1
-41
14
0
0
0
0
0
0
0
0
2
2
30
30
-57
86
-4
25
-3
0
0
0
0
0
0
0
0
0
0
0
-73
63
-66
-40
-13
-24
2
0
0
0
0
0
0
0
0
0
9
6
29
-44
49
-4
22
-3
0
0
0
0
0
0
0
0
1
-4
-2
0
-35
-8
49
51
1
0
0
0
0
0
0
0
0
0
8
0
0
0
-5
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
5
3
0
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
2
-8
23
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
-42
45
-9
13
-32
17
0
0
0
0
0
0
0
0
0
0
3
18
101
20
50
-48
-137
5
0
0
0
0
0
0
0
5
1
2
-49
22
46
-71
-7
46
0
0
0
0
0
0
0
0
0
-1
-3
13
-5
-77
10
-2
16
0
0
0
0
0
0
0
0
0
0
5
40
33
0
19
31
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
-32
0
0
0
0
0
0
0
0
0
1
12
9
0
66
0
0
0
2
0
0
0
0
0
0
0
0
-1
4
6
-67
6
0
0
0
16
0
0
0
0
0
0
0
0
0
-6
35
42
44
-14
12
57
0
0
0
0
0
0
0
0
0
-5
1
-1
-4
-6
121
-43
1
0
0
0
0
0
0
0
0
-2
0
-1
1
-45
50
22
-50
-57
3
0
0
0
0
0
0
0
0
0
3
118
68
-32
66
-9
-8
-8
0
0
0
0
0
0
0
0
8
3
-92
-38
24
0
-29
-140
7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
5
23
-95
-30
-42
0
0
0
-23
5
0
0
0
0
0
0
8
-10
80
75
-7
-39
0
0
0
1
0
0
0
0
0
0
0
4
-9
1
20
39
-5
-32
-1
-65
7
0
0
0
0
0
0
0
-6
-8
-12
-105
-22
-33
51
-41
-26
1
-2
0
0
0
0
0
0
0
10
-14
-78
55
-30
22
-12
-30
7
0
0
0
0
0
0
0
0
12
-71
-102
-30
32
20
8
-59
-3
0
0
0
0
0
0
0
0
9
-27
-76
34
-48
-18
-1
15
6
0
0
0
0
0
0
0
0
0
1
16
-1
-14
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
4
2
0
0
0
-48
-9
0
0
0
0
0
0
0
4
0
-1
-5
-13
0
0
0
-29
-1
0
0
0
0
0
0
0
-5
5
2
-69
-37
102
17
-31
-74
3
0
0
0
0
0
0
0
0
-13
-13
34
4
92
79
29
5
-1
0
0
0
0
0
0
0
0
37
-15
-12
-5
5
1
9
69
0
0
0
0
0
0
0
0
0
8
-29
33
22
-95
-53
-7
32
0
0
0
0
0
0
0
0
0
-3
-1
19
40
83
103
0
-6
0
0
0
0
0
0
0
0
0
0
-1
-47
2
-20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-58
1
0
0
0
0
0
0
0
0
0
-2
-1
-2
-2
25
3
12
0
0
0
0
0
0
0
0
0
0
0
-13
-10
-5
11
2
1
0
0
0
0
0
0
0
0
0
0
0
8
8
-5
-1
-2
-84
0
0
0
0
0
0
0
0
0
0
8
4
4
-14
-50
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
5
8
-4
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
4
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
12
5
0
0
0
0
0
0
0
0
0
0
0
0
3
6
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-49
-5
-57
43
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-111
37
10
-21
0
0
0
0
0
0
0
0
0
0
0
0
7
27
-58
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
15
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
13
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
-16
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-10
21
0
61
0
0
0
0
0
0
0
0
0
0
0
2
2
3
-4
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
66
32
-23
0
-28
0
0
0
0
0
0
0
0
0
0
0
15
0
7
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
-1
1
25
8
3
5
0
0
0
0
0
0
0
0
0
0
0
0
-9
-29
-16
5
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-3
-56
0
-14
0
0
0
0
0
0
0
0
0
0
0
-6
0
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-19
0
3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
-21
60
-2
47
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-30
12
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
2
25
7
0
0
0
0
0
0
0
0
0
0
0
-74
-34
19
-103
-31
-20
1
0
0
0
0
0
0
0
0
0
-3
10
63
8
-13
-13
8
-1
-8
0
0
0
0
0
0
0
0
19
-38
37
5
4
5
0
0
-5
0
0
0
0
0
0
0
0
0
-6
2
-1
0
-6
20
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
25
0
-1
-3
6
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-14
-7
-2
3
2
0
0
0
0
0
0
0
0
0
0
-18
77
30
11
71
37
-2
-6
0
0
0
0
0
0
0
0
1
-32
78
-40
46
-5
4
29
0
0
0
0
0
0
0
0
0
0
-47
53
0
66
-2
31
2
0
-16
0
0
0
0
0
0
0
0
2
0
51
6
-5
2
-3
0
0
0
0
0
0
0
0
0
0
5
-5
0
-10
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
25
5
-2
-15
45
50
-4
0
3
0
0
0
0
0
0
0
0
-5
4
-2
2
-20
-23
1
3
8
0
0
0
0
0
0
0
0
9
-2
17
-21
-20
3
-5
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
-3
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
33
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
74
-18
-4
-53
15
76
-1
3
0
0
0
0
0
0
0
0
5
0
3
-2
8
-1
-2
32
0
0
0
0
0
0
0
0
0
-29
0
-3
3
14
-13
-2
0
-6
0
0
0
0
0
0
0
0
22
3
-1
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-7
7
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-13
-18
5
0
56
3
0
0
0
0
0
0
0
0
0
9
-33
50
35
-9
-17
8
-1
0
0
0
0
0
0
0
0
0
-3
54
91
-20
2
33
-42
25
0
0
0
0
0
0
0
0
0
-19
19
-7
10
-1
3
0
8
-2
1
0
0
0
0
0
0
0
-23
-40
-15
10
-6
-6
2
0
0
0
0
0
0
0
0
0
0
15
-43
2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
25
19
-5
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
5
63
21
-5
0
1
0
0
0
0
0
0
0
0
0
0
-29
-13
-48
39
5
0
0
7
0
0
0
0
0
0
0
0
-2
26
-21
38
62
-43
-29
-15
-2
0
0
0
0
0
0
0
0
23
19
-8
36
-55
26
9
13
-5
0
0
0
0
0
0
0
0
-7
-7
85
29
3
5
10
0
2
0
0
0
0
0
0
0
0
-3
-46
-35
6
3
51
0
0
0
0
0
0
0
0
0
0
0
-1
-16
8
27
12
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-5
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-20
110
42
-36
33
-15
0
0
0
0
0
0
0
0
0
0
54
-6
60
-6
74
-38
-18
-1
1
0
0
0
0
0
0
0
0
1
54
47
76
-16
48
32
-6
13
8
0
0
0
0
0
0
0
-12
-57
9
80
23
-49
-12
7
0
4
0
0
0
0
0
0
0
39
155
-49
126
4
42
11
6
0
0
0
0
0
0
0
0
0
37
110
59
-5
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-13
24
-9
-2
0
-5
6
0
-1
0
0
0
0
0
0
0
0
1
-39
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
61
-60
-22
-68
5
-62
0
0
0
0
0
0
0
0
0
0
5
-9
117
3
-4
18
-48
-25
5
0
0
0
0
0
0
0
0
5
76
3
-74
-9
-1
-29
4
0
0
0
0
0
0
0
0
0
19
12
-49
5
9
-28
12
19
0
-2
0
0
0
0
0
0
0
-45
8
9
-6
7
116
3
0
-6
0
0
0
0
0
0
0
0
5
-13
-116
-49
31
8
0
0
0
0
0
0
0
0
0
0
0
49
67
-38
12
12
-3
14
0
0
0
0
0
0
0
0
0
0
7
0
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
88
-19
-21
18
2
0
0
0
0
0
0
0
0
0
0
0
-13
21
66
5
-11
-25
2
-2
0
0
0
0
0
0
0
0
0
41
-35
-27
47
9
14
-1
2
0
0
0
0
0
0
0
0
0
-6
-17
23
6
22
3
2
0
0
0
0
0
0
0
0
0
0
-2
-17
46
-1
-13
-8
0
0
0
0
0
0
0
0
0
0
0
23
0
-24
-9
0
7
0
0
0
0
0
0
0
0
0
0
0
13
-14
0
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-8
-24
29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-3
-35
12
-1
0
7
-1
0
0
0
0
0
0
0
0
0
-9
-4
21
-15
16
-25
0
0
0
0
0
0
0
0
0
0
0
57
6
72
-8
-9
-7
0
0
0
0
0
0
0
0
0
0
0
-3
-6
6
8
-1
-2
0
0
0
0
0
0
0
0
0
0
0
8
-5
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-20
-35
-75
-7
0
1
0
0
0
0
0
0
0
0
0
31
-93
-11
45
-74
-45
-30
-7
0
0
0
0
0
0
0
0
0
5
97
59
-8
74
41
-18
2
5
1
0
0
0
0
0
0
0
0
-4
-34
-19
16
-4
92
-1
0
0
0
0
0
0
0
0
0
0
35
-35
-35
42
-3
25
1
0
0
0
0
0
0
0
0
0
20
-5
-3
-1
2
2
0
-4
1
0
0
0
0
0
0
0
0
-2
-47
-1
-2
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
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
-17
44
-11
9
23
7
-19
0
0
0
0
0
0
0
0
0
2
-8
37
4
56
-19
-30
10
7
0
0
0
0
0
0
0
0
0
-3
-9
74
-51
1
-8
-24
13
-9
0
0
0
0
0
0
0
-3
55
24
-47
-22
59
3
-8
0
-3
0
0
0
0
0
0
0
0
8
49
17
49
-7
2
-3
3
0
0
0
0
0
0
0
0
0
-5
2
-3
-2
0
6
-3
5
0
0
0
0
0
0
0
0
0
20
-2
2
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-8
31
-25
-8
0
8
0
0
0
0
0
0
0
0
0
-4
5
56
5
-25
5
-32
-30
0
0
0
0
0
0
0
0
0
-3
8
6
-12
1
-18
2
-4
-2
0
0
0
0
0
0
0
0
-2
-4
-49
15
-59
29
45
0
6
0
0
0
0
0
0
0
0
-1
-2
27
13
0
-2
0
0
-1
0
0
0
0
0
0
0
0
4
3
0
3
-12
-3
2
4
0
0
0
0
0
0
0
0
0
0
-2
-7
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
22
45
5
-8
40
127
13
0
0
0
0
0
0
0
0
0
-12
16
-45
-5
10
-19
141
-3
8
0
0
0
0
0
0
0
0
8
24
-49
86
8
-8
13
-33
5
0
0
0
0
0
0
0
0
65
-13
9
24
3
18
-2
2
0
0
0
0
0
0
0
0
0
1
-21
2
22
4
-8
1
0
-1
-2
0
0
0
0
0
0
0
-56
-3
-41
3
-3
3
1
0
2
0
0
0
0
0
0
0
0
7
-10
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
50
89
7
25
0
21
-21
0
0
0
0
0
0
0
0
0
111
5
74
-29
-46
29
16
0
-91
0
0
0
0
0
0
0
0
19
147
-13
40
42
-6
-2
-1
0
0
0
0
0
0
0
0
0
49
110
32
8
11
41
12
-2
0
0
0
0
0
0
0
0
0
9
-29
1
60
-15
-5
7
3
0
0
0
0
0
0
0
0
0
-22
17
36
20
-3
-1
-1
1
-3
0
0
0
0
0
0
0
0
-28
-74
23
-8
-8
1
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-2
0
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
30
7
127
31
41
68
9
9
0
0
0
0
0
0
0
0
0
-35
31
63
21
45
81
16
-5
-1
9
0
0
0
0
0
0
0
-58
-86
22
-14
-56
61
-75
9
-64
-1
0
0
0
0
0
0
0
15
69
2
-22
-7
-44
-19
-23
0
0
0
0
0
0
0
0
0
8
-2
-14
45
-9
74
0
3
17
0
0
0
0
0
0
0
0
41
-10
-5
-29
-16
25
-3
30
0
0
0
0
0
0
0
0
0
-4
-57
38
-26
-4
0
-1
4
-1
0
0
0
0
0
0
0
0
0
61
-16
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
153
-20
93
19
1
-32
8
-8
0
0
0
0
0
0
0
0
0
25
11
45
153
4
-27
41
-3
29
0
0
0
0
0
0
0
0
112
84
5
54
22
19
-5
17
27
1
0
0
0
0
0
0
0
23
-67
11
51
44
24
-3
8
-49
-7
0
0
0
0
0
0
0
-24
78
55
30
33
9
90
3
0
-6
0
0
0
0
0
0
0
-92
-75
8
-26
23
13
4
-5
2
0
0
0
0
0
0
0
0
50
26
-10
16
-15
-7
0
8
-1
0
0
0
0
0
0
0
0
3
3
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
81
86
86
-18
114
47
81
0
0
0
0
0
0
0
0
0
-59
-53
-54
29
56
12
-47
55
1
1
0
0
0
0
0
0
0
-13
-82
-40
-45
41
1
51
-14
57
25
0
0
0
0
0
0
0
34
7
16
-115
51
1
0
94
-5
8
0
0
0
0
0
0
0
-16
-13
-58
-75
-46
124
22
22
8
0
0
0
0
0
0
0
0
29
-57
40
29
52
24
8
0
4
-2
0
0
0
0
0
0
0
70
51
-23
-46
-31
3
-13
6
5
0
0
0
0
0
0
0
0
3
-107
72
98
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
25
-44
54
42
23
126
0
0
0
0
0
0
0
0
0
0
44
91
69
14
-54
39
-94
-21
0
0
0
0
0
0
0
0
0
-12
67
26
31
14
-67
63
86
6
0
0
0
0
0
0
0
0
-62
-40
-28
-5
15
0
-38
15
-1
0
0
0
0
0
0
0
0
44
52
-19
59
52
77
-41
66
1
0
0
0
0
0
0
0
0
46
7
-5
-40
71
48
-3
-1
0
0
0
0
0
0
0
0
0
-66
-1
4
6
-23
9
-2
-2
0
0
0
0
0
0
0
0
0
105
-7
-5
-49
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-49
43
-11
16
-41
0
5
0
0
0
0
0
0
0
0
0
48
41
9
90
-36
-51
-3
-2
0
0
0
0
0
0
0
0
0
45
25
-27
-15
-22
-16
35
5
0
0
0
0
0
0
0
0
0
6
84
-52
84
38
13
8
-1
0
0
0
0
0
0
0
0
0
28
-47
72
-13
4
1
-2
3
0
0
0
0
0
0
0
0
0
-5
60
6
-28
-45
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
12
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
76
27
16
-61
9
0
0
0
0
0
0
0
0
0
0
0
0
-20
-8
-8
16
0
-7
0
0
0
0
0
0
0
0
0
0
0
-24
-1
-7
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
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
-5
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
-2
3
-7
0
0
0
0
0
0
0
0
0
26
-11
34
0
0
24
3
-3
0
0
0
0
0
0
0
0
0
0
24
-5
1
9
10
0
-1
0
0
0
0
0
0
0
0
0
-18
76
0
-7
10
-3
3
-3
0
0
0
0
0
0
0
0
0
-7
2
-3
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-23
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
28
-35
2
28
32
13
-8
0
0
0
0
0
0
0
0
0
7
37
104
-36
-9
-31
52
54
-3
0
0
0
0
0
0
0
0
-35
13
-41
69
24
-6
-43
-8
1
0
0
0
0
0
0
0
0
-2
-58
8
-37
-1
-8
-23
-23
0
0
0
0
0
0
0
0
0
5
-41
43
39
-14
17
-15
1
2
0
0
0
0
0
0
0
0
0
-49
81
84
4
-12
-1
-1
1
0
0
0
0
0
0
0
0
0
87
6
3
-5
0
0
2
6
0
0
0
0
0
0
0
0
0
-21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
3
-41
15
-24
31
0
0
0
0
0
0
0
0
0
0
0
-15
-43
24
-5
26
-6
35
0
0
0
0
0
0
0
0
0
0
30
0
36
-6
3
8
48
5
-1
0
0
0
0
0
0
0
0
-23
54
-25
-79
34
-20
1
9
-1
0
0
0
0
0
0
0
0
-46
6
-19
4
1
1
-5
-5
0
0
0
0
0
0
0
0
0
-23
97
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
22
-6
0
0
0
-3
0
-10
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
25
8
17
1
4
-1
0
0
0
0
0
0
0
0
0
24
2
12
-15
-21
-10
64
-3
9
0
-1
0
0
0
0
0
0
27
-2
-15
1
-6
12
12
0
-1
-1
0
0
0
0
0
0
0
7
-8
5
-10
30
21
6
4
0
0
0
0
0
0
0
0
0
7
-14
7
-13
8
-14
-2
0
0
-2
0
0
0
0
0
0
0
-3
-6
-2
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-25
2
21
20
47
-1
5
0
0
0
0
0
0
0
0
0
45
-49
43
-9
31
-44
-43
-8
0
0
0
0
0
0
0
0
0
-6
5
28
-12
-4
25
-30
-1
5
0
0
0
0
0
0
0
0
-21
57
-5
-8
-21
-3
-25
7
-3
-2
0
0
0
0
0
0
0
-43
21
-5
15
-8
4
0
0
0
0
0
0
0
0
0
0
0
-9
8
-7
17
-1
-4
2
-2
4
0
0
0
0
0
0
0
0
-33
12
12
31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-2
-7
4
-57
48
-23
41
59
0
0
0
0
0
0
0
0
0
11
14
76
-15
-63
41
73
96
2
0
0
0
0
0
0
0
0
-50
50
48
17
-10
2
28
10
0
0
0
0
0
0
0
0
0
76
-59
2
118
-21
-40
-6
17
2
0
0
0
0
0
0
0
0
39
-53
-22
-92
13
24
15
0
0
0
0
0
0
0
0
0
0
-65
40
49
-8
16
-5
0
-8
0
0
0
0
0
0
0
0
0
67
16
19
20
1
-1
1
0
0
0
0
0
0
0
0
0
0
8
-9
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-40
13
-27
24
-30
-68
21
0
0
0
0
0
0
0
0
0
-27
-62
83
19
-47
15
-51
-41
-2
-1
0
0
0
0
0
0
0
-68
-33
54
-14
2
-37
2
52
-7
0
0
0
0
0
0
0
0
2
9
48
111
-32
-30
33
32
9
2
0
0
0
0
0
0
0
-9
-12
44
18
15
-70
75
8
1
1
0
0
0
0
0
0
0
14
8
19
-13
21
53
-13
-3
0
0
0
0
0
0
0
0
0
-25
13
86
-9
10
-7
3
0
0
0
0
0
0
0
0
0
0
-13
112
16
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
-53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
30
-6
29
-22
100
111
-30
0
0
0
0
0
0
0
0
0
-44
43
138
49
-13
-60
155
107
8
-9
0
0
0
0
0
0
0
61
-19
-22
69
144
24
-14
-1
-3
0
0
0
0
0
0
0
0
95
-5
84
85
41
17
-22
-32
-4
-1
0
0
0
0
0
0
0
100
-66
-24
-92
-28
5
-61
22
13
0
0
0
0
0
0
0
0
4
-35
50
45
35
-72
77
-2
-7
1
0
0
0
0
0
0
0
-35
7
40
50
-5
-13
-8
1
0
0
0
0
0
0
0
0
0
0
-32
22
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
103
23
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-16
71
11
-44
-38
-82
-26
0
0
0
0
0
0
0
0
0
87
-33
26
5
-6
89
32
37
-37
8
0
0
0
0
0
0
0
103
-29
33
-73
68
132
20
99
0
-4
0
0
0
0
0
0
0
4
40
29
-7
-20
53
28
-15
33
0
0
0
0
0
0
0
0
27
-8
-43
-5
31
108
-40
-10
5
-9
0
0
0
0
0
0
0
72
-20
77
2
-4
-40
-20
-20
2
1
0
0
0
0
0
0
0
-55
64
154
-52
-41
-6
-27
-10
-42
3
0
0
0
0
0
0
0
10
21
22
-22
-38
-8
-3
1
0
0
0
0
0
0
0
0
0
-3
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-32
28
-26
55
50
-56
0
7
0
0
0
0
0
0
0
0
98
49
-91
-49
146
-121
41
12
1
1
0
0
0
0
0
0
0
-14
-1
90
-33
21
-26
6
-18
-1
0
0
0
0
0
0
0
0
-23
-33
13
45
-1
73
-44
28
1
0
0
0
0
0
0
0
0
0
84
-13
128
-59
11
-54
30
15
0
0
0
0
0
0
0
0
-18
-30
-4
-5
20
94
43
3
-4
0
0
0
0
0
0
0
0
-83
-77
-14
99
-12
21
1
-1
3
0
0
0
0
0
0
0
0
13
13
22
3
0
7
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
135
-3
-29
48
-21
3
0
0
0
0
0
0
0
0
0
0
0
40
24
88
-3
50
82
5
0
2
0
0
0
0
0
0
0
0
93
59
15
53
28
66
10
-2
0
0
0
0
0
0
0
0
0
14
37
74
-52
31
-27
-4
5
0
0
0
0
0
0
0
0
0
-9
51
2
8
-24
1
0
0
0
0
0
0
0
0
0
0
0
-9
1
-50
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
41
5
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
5
-7
8
1
0
0
0
0
0
0
0
0
0
0
0
-3
13
-41
-1
16
-2
-1
0
0
0
0
0
0
0
0
0
0
4
0
37
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
-2
5
0
0
-2
0
0
0
0
0
0
0
0
0
8
4
5
-3
-2
-6
10
-25
0
0
0
0
0
0
0
0
0
15
28
-9
-6
42
-25
-3
2
0
0
0
0
0
0
0
0
0
0
8
15
-2
-4
-7
0
-3
0
0
0
0
0
0
0
0
0
-89
-23
6
-1
0
-3
-8
0
0
0
0
0
0
0
0
0
0
5
16
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-55
-3
-15
16
-43
-17
0
0
0
0
0
0
0
0
0
-4
-61
25
36
-26
-44
22
17
1
0
0
0
0
0
0
0
0
75
-22
-38
-8
-38
23
-95
108
0
0
0
0
0
0
0
0
0
3
-7
80
53
-66
-7
-4
41
-2
0
0
0
0
0
0
0
0
0
-128
-64
125
89
-50
1
-1
-8
-8
0
0
0
0
0
0
0
1
84
98
-7
67
47
0
-2
-1
0
0
0
0
0
0
0
0
2
86
10
-22
0
3
24
0
0
0
0
0
0
0
0
0
0
0
29
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
-20
24
-4
-9
-2
0
0
0
0
0
0
0
0
0
0
-35
-6
9
64
20
-48
16
-7
0
0
0
0
0
0
0
0
0
8
-55
-18
-7
-33
-16
9
-3
0
0
0
0
0
0
0
0
0
-83
-1
-32
74
6
-35
-1
0
-5
0
0
0
0
0
0
0
0
-6
-11
42
38
-22
-13
0
-5
0
0
0
0
0
0
0
0
0
42
-19
-1
18
43
2
-6
0
0
0
0
0
0
0
0
0
0
61
42
4
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
17
1
-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
2
59
9
13
-2
12
-2
0
0
0
0
0
0
0
0
0
-2
0
-13
-1
46
37
47
4
0
0
0
0
0
0
0
0
0
14
-2
-3
48
5
25
42
-8
-2
0
0
0
0
0
0
0
0
60
-32
7
0
13
-18
72
-1
-3
0
0
0
0
0
0
0
0
31
-6
-8
7
8
-5
2
-8
-1
0
0
0
0
0
0
0
0
1
1
-15
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
-5
0
8
-5
-1
0
0
0
0
0
0
0
0
0
6
-84
82
-22
1
-30
30
9
-2
0
0
0
0
0
0
0
0
5
-31
-17
31
-19
-12
-24
-4
0
0
0
0
0
0
0
0
0
5
91
57
-57
5
24
-6
1
0
0
0
0
0
0
0
0
0
-45
121
-6
-40
17
0
0
0
0
4
0
0
0
0
0
0
0
2
32
-1
-19
7
13
0
0
0
0
0
0
0
0
0
0
0
-5
-23
-4
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
4
9
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-3
49
-29
-75
-85
67
5
0
0
0
0
0
0
0
0
0
82
35
113
-48
40
31
2
-13
-21
0
0
0
0
0
0
0
0
-27
-15
40
-22
-58
66
-85
-10
1
0
0
0
0
0
0
0
0
21
15
17
-57
27
0
-7
10
9
0
0
0
0
0
0
0
0
4
-37
-43
5
101
24
25
5
24
-1
0
0
0
0
0
0
0
106
-13
-4
52
21
-18
0
0
0
0
0
0
0
0
0
0
0
-33
22
-21
-15
3
0
0
-4
0
0
0
0
0
0
0
0
0
27
82
-8
4
0
6
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
50
41
-76
-35
7
-9
-20
0
0
0
0
0
0
0
0
0
-21
19
-89
4
43
42
-21
-22
0
0
0
0
0
0
0
0
0
-4
65
130
38
-50
-27
49
-89
60
-1
0
0
0
0
0
0
0
75
84
-22
51
76
-15
2
-1
-5
0
0
0
0
0
0
0
0
31
8
33
-26
58
37
33
28
8
0
0
0
0
0
0
0
0
-9
5
22
-4
81
83
-49
-5
0
0
0
0
0
0
0
0
0
17
-1
-58
27
-16
20
4
-3
5
0
0
0
0
0
0
0
0
47
-6
96
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
-9
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
54
70
37
11
53
13
22
0
0
0
0
0
0
0
0
0
49
65
34
-11
-3
33
-49
12
42
0
0
0
0
0
0
0
0
2
71
49
-5
32
46
-29
85
5
3
0
0
0
0
0
0
0
35
84
32
80
19
64
-27
4
0
0
0
0
0
0
0
0
0
55
43
36
33
-54
-83
65
1
-6
0
0
0
0
0
0
0
0
-38
132
42
-15
-14
43
49
0
0
0
0
0
0
0
0
0
0
-6
-37
7
20
-1
28
-2
0
-8
0
0
0
0
0
0
0
0
44
-5
26
21
1
0
0
0
0
0
0
0
0
0
0
0
0
89
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-138
19
78
-31
25
53
-22
-30
0
0
0
0
0
0
0
0
0
28
17
5
65
6
40
30
80
-56
-4
0
0
0
0
0
0
0
1
28
70
-48
-30
21
31
-56
-20
-2
0
0
0
0
0
0
0
-19
-150
17
75
-15
46
34
-78
0
-1
0
0
0
0
0
0
0
-81
20
-75
38
19
-22
0
0
3
0
0
0
0
0
0
0
0
47
39
63
11
-13
49
-6
17
-5
0
0
0
0
0
0
0
0
49
16
45
49
-64
-44
5
-2
-9
1
0
0
0
0
0
0
0
6
-6
-1
-87
12
0
-5
3
2
0
0
0
0
0
0
0
0
16
-49
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
54
35
-43
50
-114
10
0
0
0
0
0
0
0
0
0
0
-17
68
68
48
-3
84
-10
0
0
0
0
0
0
0
0
0
0
24
92
13
16
-42
92
57
33
-1
0
0
0
0
0
0
0
0
50
71
26
18
19
28
12
14
0
0
0
0
0
0
0
0
0
-87
-17
-1
23
119
27
-49
-56
-8
0
0
0
0
0
0
0
0
10
-20
26
-62
76
58
3
-9
0
0
0
0
0
0
0
0
0
-66
104
6
-5
-57
-16
8
0
0
0
0
0
0
0
0
0
0
-17
-31
-58
-20
-3
-1
0
6
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
25
-49
-7
-23
-10
0
0
0
0
0
0
0
0
0
0
0
21
84
135
-5
26
-15
0
0
-2
0
0
0
0
0
0
0
0
-22
24
-17
-15
3
25
5
-1
0
0
0
0
0
0
0
0
0
-10
27
24
31
19
-5
-6
0
0
0
0
0
0
0
0
0
0
-14
5
119
-35
-30
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
29
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-2
3
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
-10
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
5
-8
4
0
5
-9
-8
0
0
0
0
0
0
0
0
0
0
8
12
-17
-6
-2
15
4
0
0
0
0
0
0
0
0
0
0
-10
18
19
-8
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
39
-18
-8
-2
0
-4
-1
0
0
0
0
0
0
0
0
0
-1
-5
-16
98
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
5
13
-37
42
58
0
0
0
0
0
0
0
0
0
-7
-4
-91
-84
67
85
-25
8
0
0
0
0
0
0
0
0
0
-3
-10
74
-76
-5
-21
-41
71
49
0
0
0
0
0
0
0
0
-1
106
8
19
50
25
131
9
-3
0
0
0
0
0
0
0
0
-1
0
-66
-20
-32
-28
101
-8
12
0
0
0
0
0
0
0
0
0
11
-47
-54
101
87
1
0
0
0
0
0
0
0
0
0
0
6
-39
-42
-14
50
-2
2
1
-1
0
0
0
0
0
0
0
0
0
-80
39
-48
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-7
9
-27
-4
-13
0
0
0
0
0
0
0
0
0
4
-12
12
-9
-6
-29
50
-22
-2
0
0
0
0
0
0
0
0
0
5
-31
18
1
28
-22
-4
0
0
0
0
0
0
0
0
0
0
-43
-10
-4
20
-6
-15
-3
0
0
0
0
0
0
0
0
0
0
-25
0
-1
128
-13
5
-2
0
0
0
0
0
0
0
0
0
0
-3
90
33
-21
10
0
0
7
0
0
0
0
0
0
0
0
0
-30
-18
-20
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-19
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
1
0
-1
5
6
0
0
0
0
0
0
0
0
0
0
18
-10
-46
89
-13
44
49
5
0
0
0
0
0
0
0
0
0
6
6
15
0
-26
6
12
-3
0
0
0
0
0
0
0
0
0
-7
9
15
-15
-42
-21
-3
-8
2
0
0
0
0
0
0
0
0
-7
-6
17
0
-1
-13
13
1
0
0
0
0
0
0
0
0
0
-3
0
1
8
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-17
-32
-8
10
10
0
0
0
0
0
0
0
0
0
0
20
2
-39
-59
6
76
-48
2
-3
0
0
0
0
0
0
0
0
3
23
-44
49
114
6
12
-7
12
0
0
0
0
0
0
0
0
-91
-8
29
98
-25
-4
-7
8
0
0
0
0
0
0
0
0
0
5
-15
18
-31
0
5
4
-2
0
0
0
0
0
0
0
0
0
-43
72
42
-52
21
0
-3
-1
-3
0
0
0
0
0
0
0
0
6
-52
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
30
-43
54
84
22
-1
6
0
0
0
0
0
0
0
0
0
79
58
94
107
8
11
-84
18
0
0
0
0
0
0
0
0
0
95
31
-52
41
-45
11
-24
-1
5
0
0
0
0
0
0
0
0
62
-5
62
-15
35
-21
-14
27
2
0
0
0
0
0
0
0
0
-66
99
31
50
-93
0
-5
0
1
0
0
0
0
0
0
0
0
-42
13
110
-80
-5
7
10
-7
0
0
0
0
0
0
0
0
0
35
63
-2
49
-2
1
-43
1
0
0
0
0
0
0
0
0
0
-1
141
-1
-12
-3
0
0
-2
0
0
0
0
0
0
0
0
0
24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
4
-52
-1
25
-73
34
0
0
0
0
0
0
0
0
0
49
-4
-80
37
88
83
-25
13
37
0
0
0
0
0
0
0
0
36
-18
15
-23
53
35
15
-64
20
0
0
0
0
0
0
0
0
-46
21
120
26
46
-31
13
-5
2
0
0
0
0
0
0
0
0
-5
-14
6
110
86
100
0
24
1
0
0
0
0
0
0
0
0
43
49
37
-60
14
19
-5
-2
-13
0
0
0
0
0
0
0
0
-3
-43
-51
74
-5
-12
32
2
0
0
0
0
0
0
0
0
0
-22
8
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
142
7
-22
48
68
72
-39
57
0
4
0
0
0
0
0
0
0
147
51
93
64
29
-33
49
-91
-13
0
0
0
0
0
0
0
0
-3
-26
137
-1
65
-9
16
135
58
-4
0
0
0
0
0
0
0
-17
18
65
112
-36
72
11
-16
-13
0
0
0
0
0
0
0
0
31
45
31
6
128
-22
41
0
0
0
0
0
0
0
0
0
0
101
66
82
23
-41
26
-6
5
0
-3
0
0
0
0
0
0
0
-20
30
50
-66
-53
24
7
0
0
0
0
0
0
0
0
0
0
-16
29
11
64
8
-1
0
0
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
33
19
1
15
70
0
-13
0
0
0
0
0
0
0
0
0
23
4
-11
-52
39
3
-76
25
27
0
0
0
0
0
0
0
0
26
-14
48
-40
13
-28
-40
-24
-5
23
0
0
0
0
0
0
0
-26
1
31
80
-32
26
-25
127
10
0
0
0
0
0
0
0
0
5
58
-11
136
47
94
-87
-52
0
1
0
0
0
0
0
0
0
94
38
-9
-17
30
-8
-20
44
33
0
0
0
0
0
0
0
0
16
52
41
-3
4
-6
-27
5
-3
0
0
0
0
0
0
0
0
7
79
-97
-97
4
9
31
0
7
0
0
0
0
0
0
0
0
43
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-5
14
-26
27
24
-19
0
0
0
0
0
0
0
0
0
0
-29
87
20
14
-52
48
14
-40
-1
1
0
0
0
0
0
0
0
-40
41
78
58
19
20
-7
-6
1
0
0
0
0
0
0
0
0
-22
17
33
125
77
48
77
-31
10
0
0
0
0
0
0
0
0
-153
55
26
76
49
18
-4
-3
0
0
0
0
0
0
0
0
0
56
-57
65
44
-73
15
101
15
12
0
0
0
0
0
0
0
0
9
-64
113
9
11
30
32
-7
0
0
0
0
0
0
0
0
0
14
-8
49
12
-3
0
7
5
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-9
13
-84
16
-1
0
0
0
0
0
0
0
0
0
0
0
9
35
14
22
-20
-20
-3
0
0
0
0
0
0
0
0
0
0
17
9
7
8
4
0
-25
0
0
0
0
0
0
0
0
0
0
61
14
-3
-7
-4
19
5
3
0
0
0
0
0
0
0
0
0
-59
36
42
1
9
-13
1
-5
0
0
0
0
0
0
0
0
0
-6
40
41
-8
0
0
-4
-1
0
0
0
0
0
0
0
0
0
6
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
31
-43
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
13
7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
0
3
4
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
19
2
-5
0
0
0
0
0
0
0
0
0
7
8
2
1
14
-31
23
-18
2
0
0
0
0
0
0
0
0
42
-4
-15
-1
3
-10
-3
-2
0
0
0
0
0
0
0
0
0
0
63
77
18
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
40
23
40
6
-1
0
0
0
0
0
0
0
0
0
0
0
20
-2
7
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
-27
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-8
16
9
59
34
0
0
0
0
0
0
0
0
0
0
-64
15
-10
7
9
24
19
3
0
0
0
0
0
0
0
0
-8
-35
-1
63
79
-13
8
-34
-3
0
0
0
0
0
0
0
0
42
14
91
64
-3
44
-22
-8
8
0
0
0
0
0
0
0
0
-4
31
-42
15
-14
-22
-26
-2
-2
0
0
0
0
0
0
0
0
-7
0
-77
-96
-1
34
4
0
4
0
0
0
0
0
0
0
0
-1
-1
56
-40
-25
1
0
0
-2
0
0
0
0
0
0
0
0
-5
-88
104
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
-1
0
0
-7
-4
0
0
0
0
0
0
0
0
0
0
-1
14
-2
-2
-10
-16
16
25
0
0
0
0
0
0
0
0
0
-29
-10
4
19
15
-3
27
7
1
0
0
0
0
0
0
0
12
-7
-12
112
-31
85
-75
70
-7
0
0
0
0
0
0
0
0
0
81
59
101
13
-8
5
1
0
0
0
0
0
0
0
0
0
0
36
0
80
-5
-4
9
0
0
0
0
0
0
0
0
0
0
0
-14
1
6
5
41
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
76
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-14
4
0
4
13
0
0
0
0
0
0
0
0
0
-18
0
51
9
89
-20
-3
-9
0
0
1
0
0
0
0
0
0
1
-9
-25
1
5
-6
-4
-3
3
-1
0
0
0
0
0
0
0
1
0
19
-1
-18
-33
41
-4
0
0
0
0
0
0
0
0
0
0
18
-3
-13
21
-8
7
4
0
0
0
0
0
0
0
0
0
0
-5
15
0
10
-7
-2
0
0
0
0
0
0
0
0
0
0
-31
-7
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
29
1
57
17
-13
0
0
0
0
0
0
0
0
0
0
15
17
-29
57
69
-19
-7
0
0
0
0
0
0
0
0
0
32
-34
-15
48
43
-55
-15
-13
0
-6
0
0
0
0
0
0
0
3
39
4
34
13
-50
-21
-30
2
-1
0
0
0
0
0
0
0
0
15
-31
83
92
-10
17
-2
3
0
0
0
0
0
0
0
0
10
-27
77
3
0
-22
-3
6
0
0
0
0
0
0
0
0
0
12
-36
28
0
10
1
7
0
0
0
0
0
0
0
0
0
0
6
7
0
-3
-3
1
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
-49
47
92
-19
-1
76
10
0
0
0
0
0
0
0
0
0
-28
77
6
72
22
50
-12
-38
-4
0
0
0
0
0
0
0
0
81
19
25
-39
75
87
-2
1
5
0
0
0
0
0
0
0
0
30
-58
-2
-38
4
-5
38
0
-7
0
0
0
0
0
0
0
0
-2
39
67
37
-45
5
20
-10
-2
0
0
0
0
0
0
0
0
-24
30
82
71
38
0
2
-2
4
0
0
0
0
0
0
0
0
-40
-78
5
53
5
-3
-1
-2
0
0
0
0
0
0
0
0
0
-9
-90
18
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
72
14
-5
34
-91
-10
37
0
0
0
0
0
0
0
0
0
32
-15
45
68
-32
41
26
83
0
0
0
0
0
0
0
0
0
86
11
60
-46
6
-40
-42
19
-5
0
0
0
0
0
0
0
0
5
79
28
85
-72
12
-7
-35
0
7
0
0
0
0
0
0
0
23
50
69
29
-32
-24
-24
32
12
0
0
0
0
0
0
0
0
5
93
50
-44
-4
42
0
0
8
0
0
0
0
0
0
0
0
-9
22
73
31
43
10
-28
1
5
0
0
0
0
0
0
0
0
-3
11
-3
-20
12
16
1
0
0
0
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
106
-33
89
62
-12
84
-18
0
0
0
0
0
0
0
0
0
7
13
132
-15
-36
102
-3
18
-3
0
0
0
0
0
0
0
0
55
35
51
-5
43
-59
10
43
-42
0
0
0
0
0
0
0
0
78
66
71
32
60
74
20
32
12
0
0
0
0
0
0
0
0
117
144
6
43
178
-57
-80
-10
-1
0
0
0
0
0
0
0
0
34
99
36
48
61
54
0
0
-7
0
0
0
0
0
0
0
0
2
25
62
57
69
-1
-27
1
0
1
0
0
0
0
0
0
0
21
-66
56
23
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
7
62
17
77
58
-41
-107
0
0
0
0
0
0
0
0
0
117
16
61
76
21
57
-68
-54
-13
0
0
0
0
0
0
0
0
2
-4
72
56
-8
103
-45
-5
-27
-3
0
0
0
0
0
0
0
12
-23
114
191
15
20
23
22
-27
-5
0
0
0
0
0
0
0
-18
5
90
91
-82
40
-13
-25
7
25
0
0
0
0
0
0
0
18
42
-32
43
92
6
-10
-4
0
9
0
0
0
0
0
0
0
49
17
90
-76
-23
-69
102
17
19
0
0
0
0
0
0
0
0
-41
56
-52
38
-6
18
14
-1
0
0
0
0
0
0
0
0
0
16
-4
9
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
41
36
-20
44
-32
33
0
0
0
0
0
0
0
0
0
0
61
121
41
53
50
-39
14
29
-2
0
0
0
0
0
0
0
0
-16
7
74
-24
14
23
51
72
38
0
0
0
0
0
0
0
0
7
38
10
51
-13
64
97
19
30
-1
0
0
0
0
0
0
0
32
-44
22
42
22
-11
-72
-7
5
-1
0
0
0
0
0
0
0
-23
19
31
7
-62
0
30
10
0
0
0
0
0
0
0
0
0
22
46
114
45
-5
-1
-5
-20
0
0
0
0
0
0
0
0
0
55
-12
60
4
4
1
-4
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
115
27
50
0
0
0
0
0
0
0
0
0
0
0
-25
-1
-34
48
-86
-52
1
0
0
0
0
0
0
0
0
0
0
-19
58
55
45
37
45
9
-7
0
0
0
0
0
0
0
0
0
-28
-35
-2
25
20
-6
-6
0
0
0
0
0
0
0
0
0
0
29
37
32
13
17
1
2
0
0
0
0
0
0
0
0
0
0
17
27
-17
-6
10
-13
-3
0
0
0
0
0
0
0
0
0
0
-6
18
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-33
51
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-25
50
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
6
19
25
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
12
4
0
0
0
0
0
0
0
0
0
0
0
14
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
23
58
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
39
-4
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8
46
5
10
-1
-18
-55
13
0
0
0
0
0
0
0
0
1
-23
15
3
37
16
45
-1
0
0
0
0
0
0
0
0
0
8
80
-8
43
51
-31
-3
21
-4
0
0
0
0
0
0
0
0
-4
-5
-5
-21
22
45
-11
5
0
0
0
0
0
0
0
0
0
-10
57
-30
-27
53
24
5
-1
0
0
0
0
0
0
0
0
0
8
0
-24
31
5
-9
-6
0
0
0
0
0
0
0
0
0
0
0
47
14
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
9
28
1
3
0
-40
17
7
0
0
0
0
0
0
0
0
0
33
-1
10
5
-2
81
13
7
0
0
0
0
0
0
0
0
0
34
-41
-52
88
-29
-14
-13
0
0
0
0
0
0
0
0
0
0
34
88
-14
27
-4
42
-5
-3
0
0
0
0
0
0
0
0
0
-14
22
41
-63
-13
0
1
0
0
0
0
0
0
0
0
0
0
-35
0
79
41
92
0
0
1
-1
0
0
0
0
0
0
0
0
-2
19
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
4
-25
5
0
0
23
0
0
0
0
0
0
0
0
0
0
8
0
8
0
2
0
4
1
0
0
0
0
0
0
0
0
0
0
9
-4
2
1
5
-2
6
0
0
0
0
0
0
0
0
0
0
0
3
-34
-42
-2
9
-1
0
0
0
0
0
0
0
0
0
0
-21
2
2
1
7
-9
2
0
0
0
0
0
0
0
0
0
1
72
30
0
23
5
4
0
0
0
0
0
0
0
0
0
0
2
12
0
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-18
8
9
15
0
0
0
0
0
0
0
0
0
0
-1
68
84
-29
3
-59
-19
-4
0
0
0
0
0
0
0
0
0
0
-1
22
-7
-4
-31
21
-1
1
-1
0
0
0
0
0
0
0
0
-6
0
-25
7
-1
-12
2
0
0
0
0
0
0
0
0
0
0
3
29
-1
-5
5
-2
3
2
0
0
0
0
0
0
0
0
0
39
-32
-7
-8
16
3
-5
1
0
0
0
0
0
0
0
0
-2
28
13
-51
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-22
-23
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
30
49
25
37
10
8
0
0
0
0
0
0
0
0
0
-60
-7
23
40
-40
-5
-66
49
0
0
0
0
0
0
0
0
0
31
-42
-28
29
-78
5
-7
2
-1
0
0
0
0
0
0
0
0
-10
-17
-53
4
-17
2
-5
14
0
0
0
0
0
0
0
0
0
3
53
16
-19
4
54
29
8
-6
0
0
0
0
0
0
0
0
8
13
19
36
13
33
3
-7
0
0
0
0
0
0
0
0
0
-29
-10
23
25
-14
0
0
0
2
0
0
0
0
0
0
0
0
102
-38
57
-25
-2
0
0
14
0
0
0
0
0
0
0
0
0
27
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
39
-22
34
-5
9
21
-2
0
0
0
0
0
0
0
0
0
-21
-38
6
26
72
-47
38
90
8
0
0
0
0
0
0
0
0
19
50
-40
-78
10
-7
111
-31
33
2
0
0
0
0
0
0
0
19
56
-23
7
-46
12
43
6
6
0
0
0
0
0
0
0
0
0
-80
-2
78
145
22
-35
28
7
0
0
0
0
0
0
0
0
5
-103
-16
-6
-32
43
13
-26
-17
27
0
0
0
0
0
0
0
7
37
30
57
3
-27
0
-13
-1
0
0
0
0
0
0
0
0
31
-106
-7
88
-1
-22
-1
0
-1
0
0
0
0
0
0
0
0
-8
5
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
35
73
14
49
65
-25
-9
-2
0
0
0
0
0
0
0
0
0
13
31
46
111
50
-97
67
50
-19
0
0
0
0
0
0
0
0
40
17
17
44
56
25
49
94
8
1
0
0
0
0
0
0
0
92
83
54
-43
53
-26
52
18
-2
0
0
0
0
0
0
0
0
4
48
111
48
43
108
-28
1
2
0
0
0
0
0
0
0
0
-21
-27
79
-6
-14
-26
-54
7
-4
0
0
0
0
0
0
0
0
-66
-2
43
72
59
10
36
0
0
0
0
0
0
0
0
0
0
15
5
10
27
23
2
1
-1
0
0
0
0
0
0
0
0
0
-10
24
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
4
50
-44
61
31
-22
0
0
0
0
0
0
0
0
0
12
-15
-11
-39
24
-22
13
133
-4
39
0
0
0
0
0
0
0
29
7
8
76
-24
11
-23
52
2
5
0
0
0
0
0
0
0
-3
-37
82
-5
130
50
0
32
60
-7
0
0
0
0
0
0
0
-3
-20
25
8
22
76
41
-99
-6
5
0
0
0
0
0
0
0
2
6
-30
191
30
-76
21
-10
-78
5
0
0
0
0
0
0
0
-9
34
57
53
-44
77
-4
-28
0
0
0
0
0
0
0
0
0
93
-28
-24
-5
4
-4
-48
-22
-3
0
0
0
0
0
0
0
0
-22
47
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
118
14
-5
9
29
33
0
0
0
0
0
0
0
0
0
0
59
5
22
92
-49
3
31
8
4
3
0
0
0
0
0
0
0
-77
-14
7
103
45
-30
14
-3
0
0
0
0
0
0
0
0
0
5
36
66
25
45
-5
-13
-91
-1
-1
0
0
0
0
0
0
0
36
-28
117
55
10
69
54
57
1
0
0
0
0
0
0
0
0
23
63
22
-46
52
-5
33
10
-6
0
0
0
0
0
0
0
0
53
54
19
6
-53
-26
27
5
0
0
0
0
0
0
0
0
0
-45
-5
-22
-5
-10
10
6
2
0
0
0
0
0
0
0
0
0
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-23
-87
-31
-13
0
0
0
0
0
0
0
0
0
0
0
-5
-16
55
13
-101
-9
0
0
0
0
0
0
0
0
0
0
0
-13
-43
-4
49
20
13
8
1
0
0
0
0
0
0
0
0
0
-12
-7
53
21
-8
5
1
14
0
0
0
0
0
0
0
0
0
-1
31
41
-30
12
-4
-8
-7
0
0
0
0
0
0
0
0
0
1
-3
-41
0
-7
3
4
1
0
0
0
0
0
0
0
0
0
-10
1
-1
7
20
1
0
0
0
0
0
0
0
0
0
0
0
-7
-42
13
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-1
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-4
15
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
27
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
8
-2
0
8
0
0
0
0
0
0
0
0
0
3
2
-3
0
5
0
-16
0
0
0
0
0
0
0
0
0
0
8
7
73
-5
-1
2
0
31
0
0
0
0
0
0
0
0
0
1
3
-10
-7
6
0
6
0
0
0
0
0
0
0
0
0
0
9
0
-1
9
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
1
10
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
3
-1
-1
-1
0
0
0
0
0
0
0
0
0
-7
-2
-7
31
0
1
-1
0
0
0
0
0
0
0
0
0
0
4
0
41
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
5
-5
3
0
0
0
0
0
0
0
0
0
0
0
4
-8
-1
24
5
-3
0
0
0
0
0
0
0
0
0
0
0
20
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-16
12
1
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-30
17
-8
0
2
0
3
0
0
0
0
0
0
0
0
-29
0
-14
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-51
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
1
0
31
-5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-7
4
0
0
0
0
0
0
0
0
0
0
0
1
4
-23
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-7
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
6
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
13
6
-5
5
84
-1
13
3
0
0
0
0
0
0
0
0
-1
16
-86
-28
-4
-51
-47
-3
0
0
0
0
0
0
0
0
0
2
2
44
12
13
5
0
5
4
0
0
0
0
0
0
0
0
0
-49
68
72
7
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
72
-10
0
0
-3
0
0
0
0
0
0
0
0
0
0
35
34
51
58
-2
-3
0
4
0
0
0
0
0
0
0
0
0
-16
-27
50
8
20
0
0
0
0
0
0
0
0
0
0
0
0
-49
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-2
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-3
96
18
-46
-9
0
-32
3
0
0
0
0
0
0
0
0
0
0
-13
41
-11
5
13
-3
-3
8
0
0
0
0
0
0
0
0
-3
-31
8
35
-2
-13
13
8
0
0
0
0
0
0
0
0
0
-1
-10
-5
-13
-52
-47
-3
0
0
0
0
0
0
0
0
0
0
0
45
1
98
34
-13
-5
0
0
0
0
0
0
0
0
0
0
1
14
59
-40
-4
-8
0
0
0
0
0
0
0
0
0
0
0
1
-22
47
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
45
5
1
4
8
0
0
0
0
0
0
0
0
0
0
0
0
105
-31
57
35
-8
-45
28
-4
0
0
0
0
0
0
0
0
0
57
104
18
58
33
11
-11
-26
0
0
0
0
0
0
0
0
0
24
44
-6
-5
27
-68
-53
-2
-2
0
0
0
0
0
0
0
0
3
19
-28
-18
4
47
-19
6
0
0
0
0
0
0
0
0
0
-18
-4
21
54
-40
35
1
-2
1
0
0
0
0
0
0
0
0
9
92
64
9
-45
94
16
-2
8
0
0
0
0
0
0
0
0
57
134
24
-57
43
107
-5
0
0
0
0
0
0
0
0
0
0
-11
-6
-42
59
-29
8
2
0
-1
0
0
0
0
0
0
0
0
-67
67
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
-13
-19
52
-56
-63
6
0
0
0
0
0
0
0
0
0
10
67
7
96
118
-52
-43
3
-5
1
0
0
0
0
0
0
0
2
25
-25
-15
70
69
37
6
-25
-4
0
0
0
0
0
0
0
-3
-16
-3
-22
-16
101
-51
-5
-102
-2
0
0
0
0
0
0
0
-2
58
85
-26
-70
-18
-84
131
-30
0
0
0
0
0
0
0
0
-10
41
-26
-52
83
-86
129
90
-3
-1
0
0
0
0
0
0
0
-8
87
-11
40
26
7
-1
5
-5
-4
0
0
0
0
0
0
0
-10
-50
-75
-8
-31
-18
4
-3
0
0
0
0
0
0
0
0
0
20
-19
11
-9
0
0
6
0
0
0
0
0
0
0
0
0
0
0
14
-5
116
71
10
-3
1
0
0
0
0
0
0
0
0
0
0
12
53
115
84
95
-77
-25
0
-1
0
0
0
0
0
0
0
0
22
122
55
33
-12
57
-41
-3
5
0
0
0
0
0
0
0
0
-54
81
-13
27
-35
2
33
-20
0
0
0
0
0
0
0
0
0
43
54
65
-24
-15
44
20
2
0
0
0
0
0
0
0
0
0
3
-32
29
74
16
24
-3
13
1
0
0
0
0
0
0
0
0
34
-53
-20
6
-51
42
-5
10
-4
0
0
0
0
0
0
0
0
42
59
5
1
-8
-3
0
0
0
0
0
0
0
0
0
0
0
7
-14
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
9
-30
1
31
-14
1
0
0
0
0
0
0
0
0
0
0
0
-7
65
37
-81
-59
1
-1
0
0
0
0
0
0
0
0
0
0
0
-16
43
-5
-31
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
86
-7
2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
1
-49
6
-20
32
-9
0
0
0
0
0
0
0
0
0
0
3
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
8
-8
-3
-8
0
5
0
0
0
0
0
0
0
0
0
0
2
-6
13
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
9
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
15
31
15
76
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-26
42
0
0
8
0
0
0
0
0
0
0
0
0
0
-28
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
13
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
13
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
35
5
49
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
21
0
8
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
-23
-16
-1
21
-8
-1
0
0
0
0
0
0
0
0
0
0
5
0
-2
-6
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
23
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
3
1
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
0
0
0
-29
0
-3
0
0
0
0
0
0
0
0
-3
5
1
13
-3
-18
-1
-15
0
0
0
0
0
0
0
0
0
0
-5
17
-1
13
5
-78
-3
-1
0
0
0
0
0
0
0
0
0
0
-1
23
6
49
2
0
1
0
0
0
0
0
0
0
0
0
1
2
24
-22
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
4
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-9
10
0
0
0
0
0
0
0
0
0
0
0
0
6
8
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-24
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
-17
-24
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
5
0
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
-4
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
5
-19
-4
-13
0
-5
0
0
0
0
0
0
0
0
-1
0
-3
9
0
-5
7
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-41
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
1
0
0
0
3
-3
1
0
0
0
0
0
0
0
13
-30
-24
20
0
0
0
17
-8
0
1
0
0
0
0
0
0
-2
-4
-15
0
-43
-42
7
-49
-5
9
0
0
0
0
0
0
0
1
6
8
22
9
-16
-2
15
5
-2
0
0
0
0
0
0
0
0
13
15
29
-39
35
32
12
1
0
0
0
0
0
0
0
0
0
1
0
27
-5
45
-13
15
8
3
0
0
0
0
0
0
0
0
4
-1
-1
6
-8
-5
30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-45
-6
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-40
-17
2
0
0
0
0
0
0
0
0
0
0
-2
4
8
28
30
-17
-29
1
0
0
0
0
0
0
0
0
-1
0
0
4
34
-5
-77
27
1
2
0
0
0
0
0
0
0
0
5
0
-16
5
6
25
-2
-1
0
0
0
0
0
0
0
0
0
0
-15
5
-51
4
10
3
3
0
0
0
0
0
0
0
0
0
2
0
0
-4
1
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
-1
1
1
0
0
0
0
0
0
0
0
0
0
5
-5
-30
-22
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
25
-10
-2
2
0
0
0
0
0
0
0
0
-2
0
0
-2
39
-14
17
-1
-3
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
21
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
3
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-46
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
22
5
-10
0
0
0
0
0
0
0
0
0
0
0
2
-3
-8
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
2
1
4
-8
0
0
0
0
0
0
0
0
0
0
0
-12
0
8
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
28
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
6
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
-63
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
12
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-57
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
8
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
0
6
-8
3
-1
0
0
0
0
0
0
0
0
0
0
9
0
2
-6
-31
-6
-59
5
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
-13
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
-8
0
0
0
-4
0
0
0
0
0
0
0
0
-8
13
13
-2
-9
0
0
0
0
-1
0
0
0
0
0
0
-8
0
6
3
-2
-2
4
-5
-3
0
0
0
0
0
0
0
0
0
3
1
3
0
18
5
31
9
2
0
0
0
0
0
0
0
0
0
0
0
-2
-5
5
4
12
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
23
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
2
0
1
-41
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
1
-3
-60
-17
-13
0
0
0
-6
0
0
0
0
0
0
0
0
0
5
2
16
-2
5
-59
-37
0
0
0
0
0
0
0
0
1
0
3
10
1
-39
-58
21
5
-1
0
0
0
0
0
0
0
0
0
-7
1
-5
-51
13
27
-4
1
0
0
0
0
0
0
0
0
0
-3
0
-1
-49
25
58
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-22
-22
27
-7
0
0
0
0
0
0
0
0
0
0
0
-9
2
-87
-67
-43
-57
0
0
0
35
-5
0
0
0
0
0
0
2
17
10
6
15
-28
-25
14
-76
-1
-1
0
0
0
0
0
0
4
-1
12
5
38
38
-44
-6
1
-8
0
0
0
0
0
0
0
5
-5
0
-12
35
2
-39
63
-45
0
0
0
0
0
0
0
0
0
0
-3
0
-55
-86
-17
-3
59
-22
-1
0
0
0
0
0
0
0
0
2
1
-6
10
15
-29
20
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
6
0
0
0
0
0
0
0
0
0
2
-21
8
-8
1
0
0
0
-2
0
0
0
0
0
0
0
1
8
-23
-138
49
-12
0
0
0
-15
-5
0
0
0
0
0
0
0
4
-13
32
-6
-27
-36
-22
-25
-8
-1
0
0
0
0
0
0
0
-3
6
-16
7
6
-40
-23
101
2
-25
0
2
0
0
0
0
0
0
-3
-39
37
6
-26
-42
-41
-43
0
0
0
0
0
0
0
0
0
0
8
-47
-34
31
51
66
18
-2
0
0
0
0
0
0
0
0
2
2
2
2
39
24
10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
-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
-6
0
0
0
0
0
0
42
-5
0
0
0
0
0
0
0
0
5
-25
-8
3
0
0
0
-23
-33
0
0
0
0
0
0
0
0
0
-4
8
-6
8
21
-22
0
5
-2
0
0
0
0
0
0
0
0
-1
0
4
59
-21
13
36
-7
0
-1
0
0
0
0
0
0
0
-1
3
1
8
-16
-6
44
-47
0
0
0
0
0
0
0
0
0
0
0
1
-33
-21
20
15
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-7
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
-1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
-3
-9
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
2
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-20
-2
-2
2
10
0
0
0
0
0
0
0
0
0
-1
0
1
-25
6
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
19
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
-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
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
1
5
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-15
9
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
14
-51
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
10
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-7
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-5
13
0
0
0
0
0
0
0
0
0
0
0
7
-1
-3
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
-42
58
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
5
-13
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
12
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
-3
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-1
12
37
43
-1
0
0
0
0
0
0
0
0
0
4
0
1
0
0
-6
-1
6
0
0
0
0
0
0
0
0
0
-1
1
-8
-17
32
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-13
31
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
3
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
8
-1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
-14
-33
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-59
-56
25
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-4
-13
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
6
1
1
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-12
5
0
0
0
-4
0
0
0
0
0
0
0
0
8
-17
55
0
1
3
-9
-22
0
0
0
0
0
0
0
0
0
0
4
3
-6
5
31
-49
-16
0
0
0
0
0
0
0
0
0
0
0
-4
-31
45
0
-28
10
0
0
0
0
0
0
0
0
0
0
0
-6
1
8
-56
-8
22
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-74
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-37
1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
-12
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
5
-58
-4
0
0
0
3
-7
0
0
0
0
0
0
-1
-8
-46
1
8
13
7
-59
-19
-12
0
0
0
0
0
0
0
0
-5
-8
8
-1
24
1
-40
-111
15
0
0
0
0
0
0
0
0
0
1
-1
-37
-41
12
42
98
3
0
0
0
0
0
0
0
0
0
-6
10
-18
-32
75
67
-28
1
0
0
0
0
0
0
0
0
0
0
0
2
0
46
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
16
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
49
-37
27
-93
0
0
0
1
0
0
0
0
0
0
0
33
25
58
24
-90
20
0
0
0
-5
5
0
0
0
0
0
0
-8
-32
17
35
45
24
-28
-100
1
-74
0
0
0
0
0
0
-1
-2
19
41
8
3
-48
-20
25
95
-1
7
0
0
0
0
0
0
0
4
-28
28
10
78
-30
76
-28
-55
9
0
0
0
0
0
0
0
33
15
-1
-9
34
0
-10
50
0
2
0
0
0
0
0
0
0
0
4
-15
0
56
-13
25
21
-13
0
0
0
0
0
0
0
0
0
2
-1
-1
7
-18
-13
-48
13
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
-1
15
32
31
25
9
0
0
0
0
0
0
0
0
0
0
0
-4
1
13
22
29
-63
0
0
0
-15
0
0
0
0
0
0
0
-8
-4
56
-60
16
-41
9
-69
-53
-10
-2
0
0
0
0
0
0
0
1
13
1
-43
-38
-79
-66
-25
-76
1
-5
0
0
0
0
0
8
13
2
12
-40
-17
16
31
64
-1
4
0
0
0
0
0
0
0
0
-19
-2
-15
18
6
6
75
49
0
0
0
0
0
0
0
0
0
-6
-15
3
8
29
-5
27
12
4
0
0
0
0
0
0
0
0
0
0
0
0
-31
-5
84
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-1
0
5
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
4
22
-2
0
0
0
-17
-4
-1
0
0
0
0
0
0
0
0
0
9
-14
14
6
69
20
9
0
0
0
0
0
0
0
3
0
0
-2
-8
-6
29
38
-22
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
-15
72
-29
-30
0
-1
0
0
0
0
0
0
0
0
0
0
0
-15
23
-13
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
1
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-13
1
5
-3
1
0
0
0
0
0
0
0
0
0
-1
-3
8
4
1
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-5
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
60
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-6
-12
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
-7
-12
0
8
-3
-6
-8
0
0
0
0
0
0
0
0
0
0
0
6
3
2
-34
-4
13
-8
0
0
0
0
0
0
0
0
0
0
0
-2
8
14
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
-15
-14
-26
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-94
-71
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
23
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
14
1
-3
-1
0
0
0
-1
0
0
0
0
0
0
0
1
-8
0
2
2
-4
2
-29
-10
1
0
0
0
0
0
0
0
0
0
2
1
-8
25
56
-26
-5
2
0
0
0
0
0
0
0
0
0
-4
0
2
-25
-75
-13
0
5
0
0
0
0
0
0
0
0
0
0
0
0
25
13
-30
19
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-3
6
-49
50
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-49
-49
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
-8
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-1
-5
0
13
-6
29
-10
0
0
0
0
0
0
0
0
0
0
-15
-2
-2
-1
15
-44
13
0
0
0
0
0
0
0
0
0
0
-6
-6
0
28
5
18
-53
5
0
0
0
0
0
0
0
0
0
0
0
-6
10
21
-19
-8
0
0
0
0
0
0
0
0
0
0
0
-14
-5
35
3
-19
56
5
0
0
0
0
0
0
0
0
0
0
0
1
-16
-43
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-47
1
1
-6
0
0
0
5
1
0
0
0
0
0
0
5
-13
0
-21
59
3
-5
3
32
-1
0
0
0
0
0
0
0
0
0
19
-6
0
-13
8
9
0
6
0
0
0
0
0
0
0
0
7
1
15
-45
0
-8
-7
-29
-8
0
0
0
0
0
0
0
0
0
1
2
-8
-29
-1
-82
-27
-5
0
0
0
0
0
0
0
0
0
2
-1
2
-5
-5
14
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-23
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-39
0
0
0
0
0
0
0
0
0
0
1
1
15
-3
-8
0
0
0
0
0
0
0
0
0
0
0
12
9
62
-42
-39
-12
0
0
0
21
4
0
0
0
0
0
0
0
-56
-22
91
59
95
9
-44
-50
0
0
0
0
0
0
0
0
0
-17
31
-6
-51
2
-50
-8
-6
3
-7
0
0
0
0
0
0
0
-7
0
-31
94
5
0
-3
38
-4
0
0
0
0
0
0
0
0
1
6
61
88
-65
-9
8
35
0
0
0
0
0
0
0
0
0
0
0
-23
-3
13
-23
-76
21
-2
0
0
0
0
0
0
0
0
0
0
0
5
12
-11
41
36
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-40
0
0
0
0
0
0
0
0
0
2
-25
13
-40
-2
9
0
0
0
9
0
0
0
0
0
0
1
2
22
32
26
22
-39
0
0
0
-2
0
0
0
0
0
0
0
10
12
20
-87
13
18
-40
-39
-34
0
0
0
0
0
0
0
0
-3
-13
-20
17
48
-148
-27
-100
-4
5
-13
0
0
0
0
0
0
0
-17
55
-116
25
0
-16
3
6
-7
0
0
0
0
0
0
0
2
17
-25
-18
-14
-12
13
114
-21
-5
5
0
0
0
0
0
0
0
-3
-1
9
-68
-24
110
12
-24
1
0
0
0
0
0
0
0
0
0
0
0
-2
24
-57
-52
-102
-18
0
0
0
0
0
0
0
0
0
0
0
0
-23
-12
6
-12
-2
0
0
0
0
0
0
0
0
-86
5
27
2
-44
0
0
0
3
0
0
0
0
0
0
0
-33
-24
84
-51
69
-86
0
0
0
-27
-2
0
0
0
0
0
0
-4
14
-67
-51
62
68
-53
-59
-31
6
-5
-4
0
0
0
0
0
0
37
3
-73
-57
-49
55
90
74
-15
-2
0
0
0
0
0
0
-9
8
10
4
-72
-125
17
11
42
-2
-5
0
0
0
0
0
0
0
-13
-12
-57
-87
8
43
47
48
0
0
0
0
0
0
0
0
-5
0
-1
-84
-59
54
-18
15
43
4
0
0
0
0
0
0
0
0
0
0
9
-29
3
-64
-27
27
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
-2
-8
21
-5
0
0
0
-22
13
0
0
0
0
0
0
0
2
-2
0
-2
-4
21
43
8
61
2
0
0
0
0
0
0
0
0
1
0
-8
0
1
63
15
2
10
1
0
0
0
0
0
0
0
0
-2
-2
-2
4
-8
15
-10
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-6
-13
14
22
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
-5
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
45
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-25
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
-23
10
-39
6
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
3
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-5
-1
7
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-6
-5
16
0
0
0
0
0
0
0
0
0
0
1
-3
-1
5
33
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-22
1
-4
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-5
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
3
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-1
0
-2
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-8
0
25
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-16
-8
-1
1
0
0
0
0
0
0
0
0
0
0
-3
-30
20
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
48
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-35
-47
7
3
6
2
-5
0
0
0
0
0
0
0
0
0
0
-7
-49
5
0
49
7
-91
1
0
0
0
0
0
0
0
0
0
0
0
39
26
-142
-34
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
-36
-21
-41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
5
-4
-13
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
11
-63
0
2
-10
-5
12
-2
0
0
0
0
0
0
0
0
-8
0
30
0
24
24
-13
-4
0
0
0
0
0
0
0
0
0
-3
13
0
-16
25
-27
13
-46
0
0
0
0
0
0
0
0
0
0
2
0
0
-15
-54
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-18
-72
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-2
0
0
0
0
0
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
-5
-7
6
4
0
0
0
0
1
0
0
0
0
0
0
0
-1
7
22
-13
8
-5
10
-21
20
2
0
0
0
0
0
0
0
0
0
-69
6
1
8
38
10
0
-3
0
0
0
0
0
0
0
0
1
-51
-25
-8
-79
1
-12
-15
0
0
0
0
0
0
0
0
0
1
5
-33
6
0
-39
-94
-49
0
0
0
0
0
0
0
0
3
0
0
3
0
1
-3
0
15
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-50
2
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
1
0
11
-18
-16
0
0
0
0
0
0
0
0
0
0
0
-4
20
-19
47
0
37
0
0
0
2
0
0
0
0
0
0
0
3
-42
9
39
-84
19
-12
3
-24
0
0
0
0
0
0
0
0
5
0
13
18
29
-71
-27
10
13
-3
-1
0
0
0
0
0
0
0
-1
-4
-35
20
79
-61
-43
2
0
0
0
0
0
0
0
0
0
0
3
23
42
-56
0
6
16
0
0
0
0
0
0
0
0
0
0
3
-1
-23
-16
13
66
66
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
-2
-89
-102
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-48
2
0
0
0
0
0
0
0
0
-24
-22
-6
-55
19
-5
0
0
0
-1
0
0
0
0
0
0
0
-132
7
-9
40
-33
-42
0
0
0
-25
0
0
0
0
0
0
0
-24
-80
7
-21
20
-87
-14
5
-16
-5
1
0
0
0
0
0
0
-5
10
101
41
-2
8
-155
37
6
-1
0
0
0
0
0
0
0
0
-2
80
-2
9
-60
-49
-7
9
-1
0
0
0
0
0
0
0
-5
28
-1
15
20
-70
51
0
-3
0
0
0
0
0
0
0
0
1
1
-7
-65
26
14
-13
102
54
8
0
0
0
0
0
0
0
0
0
0
-56
7
-27
27
49
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
9
-51
0
-15
0
0
0
0
0
0
0
6
1
31
-41
10
2
0
0
0
4
0
0
0
0
0
0
0
-14
-8
-21
-24
41
-21
0
0
0
12
-4
0
0
0
0
0
0
1
-1
-10
-108
-52
-97
47
-37
-96
4
1
0
0
0
0
0
0
3
18
-48
13
-14
42
-45
25
-63
2
0
0
0
0
0
0
0
2
0
59
16
-15
19
1
18
30
3
8
0
0
0
0
0
0
0
-5
-12
34
-102
59
36
22
0
5
1
0
0
0
0
0
0
0
3
-1
-39
-50
-13
-31
-58
19
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-41
93
25
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-28
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-9
4
0
0
0
0
0
0
0
0
0
-1
6
-5
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
13
8
-34
-19
8
18
6
0
0
0
0
0
0
0
0
0
-1
3
4
-69
-15
32
-13
4
0
0
0
0
0
0
0
0
0
-10
0
1
-3
38
50
-10
0
0
0
0
0
0
0
0
0
0
0
2
0
-23
-5
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
10
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-7
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
4
-4
2
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
5
-25
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
10
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
17
-21
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
8
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
2
3
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
8
5
-5
-5
1
1
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
6
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-58
-58
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
2
6
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-10
0
-46
-2
4
0
0
0
0
0
0
0
0
0
0
-10
-39
17
-14
-96
38
35
0
0
0
0
0
0
0
0
0
0
0
-3
3
-18
14
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
49
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-3
2
-25
4
4
-8
6
0
0
0
0
0
0
0
0
0
0
7
6
76
-54
-41
-1
-27
5
0
0
0
0
0
0
0
0
-6
2
-1
-2
-12
-64
1
-15
0
0
0
0
0
0
0
0
0
2
0
-20
-28
7
9
28
13
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
6
-62
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-21
-52
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
0
0
5
-5
3
1
0
0
0
0
0
0
0
0
0
0
0
-5
-2
23
-106
21
-59
0
0
0
0
0
0
0
0
0
0
0
5
-3
45
-84
60
-25
8
-13
-59
0
0
0
0
0
0
0
0
-8
2
-143
-26
100
-13
100
-81
-2
1
0
0
0
0
0
0
0
0
-23
37
-64
-93
107
95
-47
-24
5
0
0
0
0
0
0
0
1
0
8
25
52
64
-12
29
22
0
0
0
0
0
0
0
0
0
0
-4
-22
-67
-22
0
47
7
0
0
0
0
0
0
0
0
0
0
0
0
19
-46
-13
-56
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
31
0
0
0
0
0
0
0
0
0
0
10
10
-41
4
13
0
0
0
0
0
0
0
0
0
0
0
4
17
-11
-37
13
5
0
0
0
0
0
0
0
0
0
0
0
1
-36
-54
-119
-22
-15
63
-92
46
0
0
0
0
0
0
0
0
19
-79
-16
-28
19
-10
-76
-52
-87
6
0
0
0
0
0
0
0
-1
-46
-46
-41
52
33
14
-75
78
0
0
0
0
0
0
0
0
0
6
21
50
17
-28
25
-41
9
0
0
0
0
0
0
0
0
0
0
7
46
33
-33
-4
0
20
2
0
0
0
0
0
0
0
0
0
0
2
-8
-71
-31
20
-8
5
1
0
0
0
0
0
0
0
0
0
0
2
38
5
13
0
0
0
0
0
0
0
0
0
0
89
-76
-33
18
14
0
0
0
0
0
0
0
0
0
0
0
-27
-31
-64
-76
-21
47
0
0
0
22
1
0
0
0
0
0
0
8
73
3
14
80
-100
-83
-10
29
5
4
0
0
0
0
0
0
-8
23
24
-9
-106
-28
-30
-3
8
-3
0
0
0
0
0
0
0
5
-23
-23
-33
107
13
-39
31
-49
8
0
0
0
0
0
0
0
8
1
23
-109
-29
-48
-42
-1
-71
-14
1
0
0
0
0
0
0
0
0
-25
17
-21
-12
61
-30
0
-2
0
0
0
0
0
0
0
0
0
0
1
31
-20
3
-10
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
2
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
-4
8
0
1
0
0
0
38
-1
0
0
0
0
0
0
0
0
0
2
8
1
2
-4
-22
0
0
0
0
0
0
0
0
0
0
0
0
-28
41
27
-7
-6
5
0
0
0
0
0
0
0
0
0
0
-2
25
24
30
5
-4
-2
0
0
0
0
0
0
0
0
0
-3
2
3
3
-13
17
-16
1
0
0
0
0
0
0
0
0
0
0
0
4
-10
-8
24
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-4
-2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-8
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-8
-50
-32
-1
-2
5
0
0
0
0
0
0
0
0
0
0
0
-6
-29
0
-35
-4
0
0
0
0
0
0
0
0
0
0
0
-15
0
1
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-67
-4
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
14
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
92
8
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
27
-24
16
5
7
-4
0
4
0
0
0
0
0
0
0
0
0
6
-60
-3
-24
-4
5
-8
-8
0
0
0
0
0
0
0
0
0
9
-16
13
16
50
-39
-7
0
0
0
0
0
0
0
0
0
0
0
2
4
29
44
-30
27
-42
0
0
0
0
0
0
0
0
0
0
-4
-5
-2
-6
-8
58
-37
0
0
0
0
0
0
0
0
0
0
1
0
-4
-15
0
42
-68
2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
8
-1
0
0
0
0
0
0
0
0
-27
1
-1
-8
6
0
0
0
0
0
0
0
0
0
0
0
-15
-3
-4
-79
-57
-6
0
0
0
0
0
0
0
0
0
0
0
-14
28
-23
22
-3
-18
-5
33
-16
0
0
0
0
0
0
0
0
13
40
28
-17
-34
13
4
75
26
0
0
0
0
0
0
0
0
0
-16
68
-32
-93
-26
14
-32
5
-1
0
0
0
0
0
0
0
-3
1
41
2
38
22
33
20
-55
-1
0
0
0
0
0
0
0
0
5
-8
-16
-94
-19
-29
-60
-13
3
0
0
0
0
0
0
0
0
0
13
-1
59
18
31
0
-16
2
0
0
0
0
0
0
0
0
-1
0
0
-4
20
-2
-23
0
1
0
0
0
0
0
0
0
0
3
-5
24
-5
-5
0
0
0
0
0
0
0
0
0
0
0
-13
85
31
-40
63
-75
0
0
0
0
0
0
0
0
0
0
0
6
11
25
9
73
-28
-22
25
28
0
0
0
0
0
0
0
0
0
-3
76
-34
-55
-116
-47
-74
-114
0
0
0
0
0
0
0
0
0
8
-42
52
51
22
-43
-89
-120
-6
0
0
0
0
0
0
0
0
24
-21
-8
-81
-2
-65
87
-146
0
0
0
0
0
0
0
0
0
-5
12
-6
25
-3
-76
63
-27
0
0
0
0
0
0
0
0
0
0
0
-50
-29
17
43
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-135
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
-2
25
-4
0
0
0
0
0
0
0
0
0
2
10
0
-2
3
25
5
-10
0
0
0
0
0
0
0
0
0
0
0
2
2
9
44
-5
-23
0
0
0
0
0
0
0
0
0
0
0
7
0
-6
38
-24
2
0
0
0
0
0
0
0
0
0
0
2
0
-1
16
-5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
7
1
0
-6
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
6
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
46
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
4
0
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-31
17
13
-13
-1
7
97
0
0
0
0
0
0
0
0
0
-19
-35
-4
19
19
41
-42
-5
0
0
0
0
0
0
0
0
0
0
18
-34
-87
60
20
24
-79
-2
0
0
0
0
0
0
0
0
0
-4
-20
-25
-40
41
13
-43
-1
0
0
0
0
0
0
0
0
0
6
0
27
90
35
-41
-6
1
0
0
0
0
0
0
0
0
0
0
1
-1
-42
-38
27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-17
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-6
0
23
14
0
0
0
0
0
0
0
0
0
0
0
0
6
7
18
-43
8
3
0
0
0
0
0
0
0
0
0
0
-19
0
-15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
-4
4
-5
0
1
0
-2
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
1
4
0
0
7
0
0
0
0
0
0
0
0
0
0
1
4
5
-5
0
0
0
-10
0
0
0
0
0
0
0
0
0
-1
-20
12
4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-32
-8
0
8
1
-1
0
0
0
0
0
0
0
0
0
-3
13
7
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
9
51
56
-22
0
-67
0
0
0
0
0
0
0
0
0
-48
4
28
18
-30
114
76
-1
0
0
0
0
0
0
0
0
0
13
37
57
22
13
31
-2
-7
0
0
0
0
0
0
0
0
0
58
22
-11
-33
-34
7
13
-19
3
0
0
0
0
0
0
0
0
5
-13
0
49
28
9
1
-1
0
0
0
0
0
0
0
0
0
-6
-52
24
-15
-16
-6
0
0
0
0
0
0
0
0
0
0
0
63
15
-14
-4
2
1
-1
0
0
0
0
0
0
0
0
0
0
-35
5
4
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
12
-29
15
1
0
10
1
0
0
0
0
0
0
0
0
0
-24
-21
-3
34
12
-5
-25
0
0
0
0
0
0
0
0
0
0
43
12
-28
21
-93
23
-1
-10
0
0
0
0
0
0
0
0
0
0
-9
-24
25
15
0
-4
0
0
0
0
0
0
0
0
0
0
-13
3
43
5
-1
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
-23
-5
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-31
-2
0
-23
0
0
0
0
0
0
0
0
0
0
0
-4
41
-56
-15
1
5
-1
0
0
0
0
0
0
0
0
0
0
8
13
-2
25
-18
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
-33
-3
0
0
0
0
0
0
0
0
0
0
0
5
-1
-37
52
7
2
4
0
0
0
0
0
0
0
0
0
0
0
9
1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
14
1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
2
1
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
2
5
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
3
-12
0
0
0
0
0
0
0
0
0
5
-3
-2
-5
3
4
0
6
0
0
0
0
0
0
0
0
0
5
0
5
-5
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-42
-7
17
0
3
-30
0
0
0
0
0
0
0
0
0
0
-1
-14
-17
0
0
1
13
-5
0
0
0
0
0
0
0
0
0
0
-2
13
13
4
8
0
-2
0
0
0
0
0
0
0
0
0
-6
1
41
24
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-41
-7
0
0
-2
-8
0
0
0
0
0
0
0
0
0
-14
-17
35
27
1
-7
-1
0
0
0
0
0
0
0
0
0
0
4
-4
15
12
0
0
-3
8
1
0
0
0
0
0
0
0
0
18
5
-31
42
7
0
-4
0
3
0
0
0
0
0
0
0
0
0
41
2
-7
-2
3
1
0
0
0
0
0
0
0
0
0
0
-5
12
1
13
6
0
0
2
0
0
0
0
0
0
0
0
0
0
5
8
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
94
-9
-5
0
-1
0
0
0
0
0
0
0
0
0
0
-13
-41
76
-103
15
9
5
12
0
0
0
0
0
0
0
0
0
60
13
-5
18
-25
-19
-2
-6
46
0
0
0
0
0
0
0
0
111
14
37
-44
1
21
-12
-35
0
0
0
0
0
0
0
0
0
67
-21
13
-41
-27
-8
-13
-1
-14
0
0
0
0
0
0
0
0
-14
-57
-14
14
13
14
-2
0
0
0
0
0
0
0
0
0
0
5
-12
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
3
39
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
3
75
-9
64
64
0
0
0
0
0
0
0
0
0
0
0
26
-8
123
-143
74
22
-8
-42
-6
0
0
0
0
0
0
0
0
3
13
-50
-58
4
-5
-52
-30
-2
0
0
0
0
0
0
0
0
47
-14
8
-8
-9
51
-8
-53
-5
0
0
0
0
0
0
0
0
34
4
63
39
-31
0
10
-1
-8
0
0
0
0
0
0
0
0
84
19
-86
-9
-6
8
7
-7
0
0
0
0
0
0
0
0
0
49
31
-5
-9
-8
25
14
0
0
0
0
0
0
0
0
0
0
22
-4
13
0
0
1
2
0
0
0
0
0
0
0
0
0
0
-48
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-35
-33
61
30
0
-39
0
0
0
0
0
0
0
0
0
0
5
-17
-111
-6
8
76
-31
-1
0
0
0
0
0
0
0
0
0
-30
-61
25
-32
-54
-81
-44
-1
0
0
0
0
0
0
0
0
0
-69
5
-13
-59
63
-12
-25
-5
3
0
0
0
0
0
0
0
0
5
-49
7
-45
-7
25
-6
-4
-19
0
0
0
0
0
0
0
0
6
-5
5
0
0
-8
0
4
0
0
0
0
0
0
0
0
0
-25
-4
8
-2
-4
0
6
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-4
-21
0
11
-1
0
0
0
0
0
0
0
0
0
0
25
-33
14
49
127
28
2
0
0
0
0
0
0
0
0
0
0
4
-53
-19
-19
-43
-21
-18
-3
0
0
0
0
0
0
0
0
0
-10
3
2
-27
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-2
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
-1
0
6
8
0
0
0
0
0
0
0
0
0
0
0
-4
65
38
-58
-9
-14
3
-1
0
0
0
0
0
0
0
0
0
8
5
2
4
-43
-13
-48
0
0
0
0
0
0
0
0
0
0
0
-4
1
22
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
5
22
48
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
4
0
0
0
0
0
0
0
0
0
0
3
0
-8
49
1
-5
-6
1
0
0
0
0
0
0
0
0
0
-6
0
-3
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
18
8
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
13
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
-23
15
4
1
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
-8
5
8
-4
0
0
0
0
0
0
0
0
0
3
-1
0
-3
-15
-47
13
0
1
0
0
0
0
0
0
0
0
0
22
0
43
13
0
-2
0
0
0
0
0
0
0
0
0
0
8
4
0
-20
-6
8
0
0
0
0
0
0
0
0
0
0
0
-6
-1
3
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-27
1
16
5
39
-3
0
0
0
0
0
0
0
0
0
0
-16
-13
-4
49
41
-46
3
0
0
0
0
0
0
0
0
0
1
-15
-16
-3
-12
-6
0
0
0
0
0
0
0
0
0
0
0
-5
-9
4
1
9
8
0
-7
0
0
0
0
0
0
0
0
0
13
-1
10
-3
-12
0
2
0
0
0
0
0
0
0
0
0
0
0
-13
-8
-2
2
0
2
0
0
0
0
0
0
0
0
0
0
8
35
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
5
19
-2
-7
0
7
0
0
0
0
0
0
0
0
0
9
42
-47
-23
-13
-2
16
-5
0
0
0
0
0
0
0
0
0
3
51
0
22
7
1
8
5
0
0
0
0
0
0
0
0
0
-2
18
23
-1
-2
-8
19
0
-2
0
0
0
0
0
0
0
0
8
38
-1
70
-3
-14
2
0
0
0
0
0
0
0
0
0
0
17
0
5
31
0
3
0
2
4
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
46
-3
12
-2
-28
10
0
0
0
0
0
0
0
0
0
0
-13
43
57
16
4
29
-16
-46
-12
0
0
0
0
0
0
0
0
13
41
-39
51
-2
0
-24
-5
-1
0
0
0
0
0
0
0
0
-3
-1
9
71
0
0
-2
-9
4
0
0
0
0
0
0
0
0
9
45
47
64
-5
5
8
-2
0
0
0
0
0
0
0
0
0
-15
-18
14
14
-28
5
0
1
0
0
0
0
0
0
0
0
0
-2
5
67
32
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-43
-12
-35
-43
51
44
0
0
0
0
0
0
0
0
0
85
98
22
-5
18
0
40
1
-3
0
0
0
0
0
0
0
0
0
134
23
-54
-8
13
2
-3
0
0
0
0
0
0
0
0
0
19
-47
49
5
56
10
12
0
-10
0
0
0
0
0
0
0
0
16
-3
30
36
-3
43
23
0
0
0
0
0
0
0
0
0
0
-41
-47
-15
-4
-5
0
1
-8
1
0
0
0
0
0
0
0
0
64
78
1
4
5
2
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-49
-46
-94
-33
-15
-40
-66
0
0
0
0
0
0
0
0
0
3
-88
-13
-86
-27
-57
-27
-58
10
3
0
0
0
0
0
0
0
-25
5
-92
-32
56
40
-5
-6
-6
13
0
0
0
0
0
0
0
53
41
16
-52
35
11
-7
-5
-10
-1
0
0
0
0
0
0
0
-143
-62
-120
-62
25
6
42
18
0
0
0
0
0
0
0
0
0
101
67
93
38
7
-35
2
5
-4
0
0
0
0
0
0
0
0
70
41
-1
-13
-13
0
-4
-1
0
0
0
0
0
0
0
0
0
8
20
7
29
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
52
-83
21
-38
0
-34
-29
0
-7
0
0
0
0
0
0
0
-28
5
6
61
51
-49
112
15
-33
2
0
0
0
0
0
0
0
-119
-31
66
-40
24
13
11
51
-8
0
0
0
0
0
0
0
0
15
-83
-40
-65
14
-12
-2
-9
-2
0
0
0
0
0
0
0
0
-8
-2
11
55
-27
1
-18
-25
-8
3
0
0
0
0
0
0
0
69
-56
-7
58
-34
5
6
-20
-6
0
0
0
0
0
0
0
0
47
90
69
-9
0
-10
-3
17
3
0
0
0
0
0
0
0
0
19
3
10
-1
4
0
4
2
0
0
0
0
0
0
0
0
0
56
16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
6
-36
75
81
55
0
25
0
0
0
0
0
0
0
0
-5
82
-6
-52
-8
108
28
-31
-5
2
2
0
0
0
0
0
0
-106
-22
44
58
-2
-35
-131
-51
-3
0
0
0
0
0
0
0
0
-8
45
-110
84
-37
-53
5
0
0
0
0
0
0
0
0
0
0
17
46
-122
81
-71
165
51
17
-1
0
0
0
0
0
0
0
0
124
-14
7
-4
21
-18
6
28
0
0
0
0
0
0
0
0
0
-48
94
-68
-5
-17
-1
13
15
0
0
0
0
0
0
0
0
0
66
48
27
0
-3
1
-16
0
0
0
0
0
0
0
0
0
0
14
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
9
27
27
5
62
0
25
-1
0
0
0
0
0
0
0
0
-77
72
27
-9
41
67
26
2
-1
0
0
0
0
0
0
0
0
38
-12
-20
-62
-23
82
-27
-12
0
0
0
0
0
0
0
0
0
-46
78
6
-7
-14
55
34
6
0
0
0
0
0
0
0
0
0
-19
-75
11
-41
-50
-2
7
-10
0
0
0
0
0
0
0
0
0
-1
12
3
50
-33
-9
1
5
-4
0
0
0
0
0
0
0
0
31
-44
-5
-6
-4
-5
1
1
0
0
0
0
0
0
0
0
0
25
9
10
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-13
-83
37
58
0
-2
7
-1
0
0
0
0
0
0
0
0
-42
-46
55
13
-67
-76
-5
2
5
0
0
0
0
0
0
0
0
3
55
-50
17
-107
64
-17
0
0
0
0
0
0
0
0
0
0
-38
24
-33
-33
-18
30
-16
0
0
0
0
0
0
0
0
0
0
-7
-6
1
-1
1
-5
0
0
0
0
0
0
0
0
0
0
0
-31
-1
-4
0
0
0
2
0
1
0
0
0
0
0
0
0
0
25
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-60
109
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-21
6
-5
-11
25
10
0
0
0
0
0
0
0
0
0
0
-1
14
6
13
-19
-109
0
0
0
0
0
0
0
0
0
0
0
1
1
1
5
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
77
0
-33
2
0
0
0
0
0
0
0
0
0
0
0
-2
-44
24
7
-13
4
0
0
0
0
0
0
0
0
0
0
0
4
-1
-4
50
-26
-5
0
0
0
0
0
0
0
0
0
0
0
-2
7
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
1
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
3
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-6
5
3
1
0
5
-3
0
0
0
0
0
0
0
0
0
8
0
0
-16
2
-41
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
-29
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
5
0
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-10
0
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
76
-12
-62
27
57
56
-30
0
0
0
0
0
0
0
0
0
-10
0
1
0
8
-4
-70
-2
0
0
0
0
0
0
0
0
0
8
-10
0
2
0
-31
0
4
-3
0
0
0
0
0
0
0
0
5
7
-3
0
-7
-4
-31
0
-4
0
0
0
0
0
0
0
0
0
-2
8
84
-5
-4
9
3
0
0
0
0
0
0
0
0
0
0
-5
-2
44
-1
0
-4
7
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-23
0
-12
0
1
0
0
0
0
0
0
0
0
0
3
12
-49
52
-31
0
48
7
-2
0
0
0
0
0
0
0
0
-19
46
0
2
-3
-5
17
37
0
0
0
0
0
0
0
0
0
-14
-16
8
0
0
-6
0
0
2
0
0
0
0
0
0
0
0
-7
-72
-4
0
5
41
9
-8
0
0
0
0
0
0
0
0
0
-1
2
31
0
49
0
1
0
-1
0
0
0
0
0
0
0
0
0
-4
-21
-13
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
5
4
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-9
5
-31
9
-42
-9
13
-2
0
0
0
0
0
0
0
0
0
-96
-72
3
0
2
-35
55
1
0
0
0
0
0
0
0
0
26
-31
-9
5
0
-2
-7
1
-1
0
0
0
0
0
0
0
0
-21
-8
-78
-8
0
2
4
-8
0
0
0
0
0
0
0
0
0
-16
-18
-7
-10
5
-17
0
-1
-1
0
0
0
0
0
0
0
0
-5
25
61
-24
-3
-12
0
0
0
0
0
0
0
0
0
0
0
3
47
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-41
31
-7
-45
-45
-37
16
0
-1
0
0
0
0
0
0
0
-19
31
20
-25
57
98
110
-29
-1
0
0
0
0
0
0
0
0
14
-66
18
-42
4
-25
-5
13
12
0
0
0
0
0
0
0
0
-49
92
80
27
8
0
-1
-13
2
0
0
0
0
0
0
0
0
-24
-50
-49
-46
0
0
4
13
0
0
0
0
0
0
0
0
0
-59
-58
13
3
66
-3
6
0
0
1
0
0
0
0
0
0
0
1
-69
8
-30
-6
0
0
-1
0
0
0
0
0
0
0
0
0
-1
4
12
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-39
-50
1
11
41
42
26
0
0
0
0
0
0
0
0
0
64
-6
0
7
11
11
59
25
0
0
0
0
0
0
0
0
0
49
75
7
58
-127
-44
20
5
-10
0
0
0
0
0
0
0
0
10
-89
-93
-47
13
-2
-1
0
-3
0
0
0
0
0
0
0
0
3
24
95
-33
2
0
-2
0
1
0
0
0
0
0
0
0
0
55
-22
30
37
9
6
0
5
0
0
0
0
0
0
0
0
0
-14
15
33
2
18
7
0
1
-13
0
0
0
0
0
0
0
0
13
-35
29
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-41
-117
1
30
13
-28
39
0
-3
0
0
0
0
0
0
0
88
5
-15
-83
-33
-94
-78
2
27
0
3
0
0
0
0
0
0
-91
-112
105
-3
-10
100
60
13
0
12
0
0
0
0
0
0
0
-3
8
9
27
-56
-5
-2
0
-1
2
0
0
0
0
0
0
0
0
2
-30
-54
28
32
-5
0
0
12
0
0
0
0
0
0
0
-25
18
-72
63
3
-21
23
14
-9
0
0
0
0
0
0
0
0
13
1
65
0
-5
17
-8
-3
1
0
0
0
0
0
0
0
0
1
25
41
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
75
28
-2
-40
18
-59
73
0
4
0
0
0
0
0
0
0
25
-8
36
-32
57
12
-18
14
24
1
-4
0
0
0
0
0
0
-144
-56
53
-30
-76
-30
55
-145
-27
-1
0
0
0
0
0
0
0
-93
-3
85
3
-63
59
3
-35
2
0
0
0
0
0
0
0
0
92
-74
-46
-23
17
61
-20
0
-1
0
0
0
0
0
0
0
0
15
1
-92
11
47
-74
-1
-27
8
3
0
0
0
0
0
0
0
-41
-36
32
-27
-14
5
7
-9
5
0
0
0
0
0
0
0
0
37
122
63
54
7
3
0
0
7
0
0
0
0
0
0
0
0
-9
-7
72
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-43
7
-14
81
49
-38
0
-8
-1
0
0
0
0
0
0
0
11
-3
-30
34
46
-10
66
-94
71
-1
0
0
0
0
0
0
0
-6
23
6
13
-38
3
6
-3
8
0
0
0
0
0
0
0
0
43
-19
-5
34
29
13
26
-34
5
0
0
0
0
0
0
0
0
87
-105
74
-23
-7
-12
38
-2
0
0
0
0
0
0
0
0
0
32
-13
3
18
-23
-26
-1
53
5
0
0
0
0
0
0
0
0
-61
68
24
61
-43
7
1
37
-12
0
0
0
0
0
0
0
0
-49
-76
-86
-17
0
-2
4
0
0
0
0
0
0
0
0
0
0
1
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-17
6
-29
6
14
0
19
-1
0
0
0
0
0
0
0
0
19
-6
-27
-34
136
-55
24
-40
-2
0
0
0
0
0
0
0
0
-3
-21
6
-22
20
12
15
3
0
0
0
0
0
0
0
0
0
67
-11
32
-2
-11
25
35
1
0
0
0
0
0
0
0
0
0
44
17
15
45
-17
-8
-1
0
0
0
0
0
0
0
0
0
0
-10
-4
49
6
46
30
0
2
0
0
0
0
0
0
0
0
0
-13
41
-19
3
0
0
2
0
0
0
0
0
0
0
0
0
0
10
-17
-12
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
3
-23
-7
-63
0
2
2
-4
0
0
0
0
0
0
0
0
5
-37
35
3
0
-36
2
3
0
0
0
0
0
0
0
0
0
25
48
56
-74
27
-96
-22
0
0
0
0
0
0
0
0
0
0
-19
-31
-27
1
13
-10
-2
0
0
0
0
0
0
0
0
0
0
4
1
1
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
53
10
2
-17
2
0
0
0
0
0
0
0
0
0
0
0
-8
0
-10
12
2
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
-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
-2
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-21
0
-16
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-21
-12
17
-3
-7
5
-2
5
0
0
0
0
0
0
0
0
0
0
19
-25
-3
-29
11
-2
0
0
0
0
0
0
0
0
0
0
5
0
-1
-18
-8
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
96
-31
8
0
-2
-1
0
0
0
0
0
0
0
0
-1
3
7
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-2
-23
0
0
0
8
0
0
0
0
0
0
0
0
0
0
9
1
-69
28
0
-21
0
-8
0
0
0
0
0
0
0
0
0
0
-19
53
-4
8
31
-17
0
0
0
0
0
0
0
0
0
-5
0
0
0
-18
5
8
-1
-20
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
16
-13
6
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
-8
0
1
-5
0
0
0
0
0
0
0
0
5
13
-4
-3
0
0
2
9
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-17
5
-8
19
0
0
0
0
0
0
0
0
0
0
0
0
-45
13
-56
-3
14
16
15
0
0
0
0
0
0
0
0
0
13
1
-18
-30
24
3
-9
-30
10
0
0
0
0
0
0
0
0
-43
37
0
-6
0
-17
25
3
2
0
0
0
0
0
0
0
0
-10
-7
0
0
0
-1
-5
0
10
0
0
0
0
0
0
0
0
-31
-30
0
0
1
-1
8
8
0
0
0
0
0
0
0
0
0
55
1
-41
5
19
0
-24
-1
0
0
0
0
0
0
0
0
0
-4
-94
37
8
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-1
9
12
14
0
-9
0
0
0
0
0
0
0
0
0
0
8
-55
23
25
15
14
-17
0
0
0
0
0
0
0
0
0
4
49
-41
75
-70
28
-3
49
1
0
0
0
0
0
0
0
0
-3
-41
-19
2
6
-3
-6
0
21
0
0
0
0
0
0
0
0
0
-56
-35
1
0
0
3
0
8
0
0
0
0
0
0
0
0
-6
10
-17
0
0
0
51
-2
0
0
0
0
0
0
0
0
0
20
3
-5
50
-18
-4
0
-1
0
0
0
0
0
0
0
0
0
-16
-8
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-49
39
19
-25
31
83
32
0
0
0
0
0
0
0
0
0
0
-47
-112
27
-105
13
21
-19
7
0
0
0
0
0
0
0
0
5
21
-14
-17
23
134
43
-23
52
0
0
0
0
0
0
0
0
20
-46
67
-96
5
-4
-4
13
2
0
0
0
0
0
0
0
0
-13
-10
67
1
0
0
0
-8
-1
0
0
0
0
0
0
0
0
2
-6
133
12
2
0
0
18
0
-9
0
0
0
0
0
0
0
41
-66
80
-9
-10
16
0
0
0
0
0
0
0
0
0
0
0
-6
-68
-2
36
2
0
0
1
0
0
0
0
0
0
0
0
0
-32
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
42
6
-13
-4
38
25
-19
0
0
0
0
0
0
0
0
0
-5
3
74
54
32
68
-39
-13
27
0
0
0
0
0
0
0
0
-13
-23
67
16
45
89
-48
-10
-1
0
0
0
0
0
0
0
0
-9
-50
-11
-175
8
-4
0
0
0
-2
0
0
0
0
0
0
0
-25
-9
-13
55
33
1
0
0
-5
0
0
0
0
0
0
0
0
-28
-8
126
76
-63
1
0
0
-17
-2
0
0
0
0
0
0
0
25
-41
40
-40
-1
3
0
-24
0
0
0
0
0
0
0
0
0
-21
-166
39
0
-4
-4
-1
0
-1
0
0
0
0
0
0
0
0
-23
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-31
6
-11
20
-6
65
52
0
-2
0
0
0
0
0
0
0
30
30
27
17
33
130
-21
82
17
0
0
0
0
0
0
0
0
-47
-61
44
-22
40
157
-10
-37
45
-8
0
0
0
0
0
0
0
-79
23
55
-28
79
-54
4
1
0
-4
0
0
0
0
0
0
0
-13
-4
5
34
-8
66
0
0
0
0
0
0
0
0
0
0
0
35
-90
-25
-18
-122
-21
4
0
0
-2
0
0
0
0
0
0
0
-51
10
-132
-31
-53
73
-8
23
-7
0
0
0
0
0
0
0
0
32
-33
61
35
25
-25
0
17
0
0
0
0
0
0
0
0
0
104
3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-30
-17
-13
71
50
-57
66
0
-1
0
0
0
0
0
0
0
8
14
-26
5
-37
69
93
62
-27
21
-3
0
0
0
0
0
0
10
-34
30
-11
13
46
40
-27
-93
20
0
0
0
0
0
0
0
-43
-52
-23
-33
31
57
100
-43
-2
0
0
0
0
0
0
0
0
-38
8
-82
-103
38
-65
17
-1
0
0
0
0
0
0
0
0
0
58
-33
-59
-17
-91
140
-6
-1
0
0
0
0
0
0
0
0
0
36
13
-42
-8
-6
60
26
46
0
0
0
0
0
0
0
0
0
8
-42
-117
-47
8
-2
5
0
-4
5
0
0
0
0
0
0
0
-1
-16
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-12
20
38
12
37
-39
0
5
-9
0
0
0
0
0
0
0
-68
10
-16
-21
31
77
102
51
-5
2
0
0
0
0
0
0
0
6
-64
52
-28
1
8
-2
-111
-46
1
0
0
0
0
0
0
0
76
-44
4
55
12
-29
-23
-21
-1
0
0
0
0
0
0
0
0
-24
40
-124
58
47
-148
5
2
0
0
0
0
0
0
0
0
0
41
7
49
87
102
-36
-11
0
0
0
0
0
0
0
0
0
0
-16
-129
-2
14
-98
102
-24
48
2
0
0
0
0
0
0
0
0
-23
-56
17
-47
-12
1
1
3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-31
-14
-27
9
123
0
-4
-8
-8
0
0
0
0
0
0
0
43
-33
29
-20
28
-41
-29
1
1
0
0
0
0
0
0
0
0
33
85
-41
64
7
40
-3
8
-3
1
0
0
0
0
0
0
0
-50
47
34
22
9
6
1
0
0
0
0
0
0
0
0
0
0
-7
7
-31
24
-6
50
-7
0
0
0
0
0
0
0
0
0
0
64
-4
-110
-49
4
4
0
0
0
0
0
0
0
0
0
0
0
-46
-46
-3
-8
-2
-4
0
17
0
0
0
0
0
0
0
0
0
47
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
-15
4
17
0
-2
5
0
0
0
0
0
0
0
0
0
1
5
-55
4
-13
3
-1
0
0
0
0
0
0
0
0
0
0
-1
-5
5
-8
9
-37
1
0
0
0
0
0
0
0
0
0
0
0
2
7
-1
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
-3
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
6
-5
1
-1
3
0
0
0
0
0
0
0
0
0
0
13
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-5
-59
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-7
1
0
0
8
0
0
0
0
0
0
0
0
0
3
2
0
6
0
-5
3
-18
0
0
0
0
0
0
0
0
0
-1
-3
2
0
-95
31
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-37
-10
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
8
0
0
0
0
0
0
0
0
0
0
0
5
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
13
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
-1
-4
5
0
6
21
1
0
0
0
0
0
0
0
0
0
37
-3
3
-1
-47
8
-2
5
0
0
0
0
0
0
0
0
0
2
1
0
-17
20
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
-6
-3
-1
0
0
0
0
0
0
0
0
0
-1
-22
-3
17
0
1
-9
-8
0
0
0
0
0
0
0
0
0
9
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
18
4
0
7
-7
0
0
0
0
0
0
0
0
0
0
5
3
46
-71
46
17
6
0
4
0
0
0
0
0
0
0
0
-1
-10
-30
5
51
-3
-19
66
0
0
0
0
0
0
0
0
0
7
0
19
5
-23
0
15
1
1
0
0
0
0
0
0
0
0
0
17
0
-5
0
73
-13
6
2
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
21
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
-16
-20
3
-49
0
0
0
0
0
0
0
0
0
0
0
-2
-3
14
-31
-92
25
4
0
0
0
0
0
0
0
0
0
-42
19
100
-6
-18
-50
-32
5
0
0
0
0
0
0
0
0
0
3
-87
-28
38
-2
72
6
-16
0
0
0
0
0
0
0
0
0
-3
-26
89
-5
0
2
-57
-2
-4
0
0
0
0
0
0
0
0
3
-5
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
14
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
66
-41
0
-15
0
1
0
3
0
0
0
0
0
0
0
0
0
-17
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-4
-15
2
13
-35
-54
0
0
0
0
0
0
0
0
0
0
-48
-47
-41
-48
14
111
14
-8
0
0
0
0
0
0
0
0
5
134
-5
49
-43
11
12
-21
3
0
0
0
0
0
0
0
0
2
-68
-73
-7
93
74
-29
-8
-6
0
0
0
0
0
0
0
0
4
144
8
-103
-16
0
0
73
4
0
0
0
0
0
0
0
0
41
-31
34
57
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
-18
77
28
0
0
0
-4
0
0
0
0
0
0
0
0
0
4
6
-16
-7
2
0
9
0
0
0
0
0
0
0
0
0
0
12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
1
3
61
0
33
6
-59
0
0
0
0
0
0
0
0
0
41
-51
59
23
6
-59
17
71
47
0
0
0
0
0
0
0
0
5
65
4
-57
93
-13
84
-24
13
0
0
0
0
0
0
0
0
55
-63
-7
-4
44
13
42
85
0
0
0
0
0
0
0
0
0
33
48
13
12
44
1
0
0
0
0
0
0
0
0
0
0
0
17
26
24
67
-84
0
0
0
4
0
0
0
0
0
0
0
0
-15
1
82
85
-25
0
0
0
4
-2
0
0
0
0
0
0
0
36
-36
-40
5
-9
-6
-2
-8
0
0
0
0
0
0
0
0
0
5
5
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-22
65
13
58
79
20
-7
0
0
0
0
0
0
0
0
0
-12
-121
-49
-18
-38
14
60
66
-50
1
0
0
0
0
0
0
0
9
15
-31
16
-44
-43
59
129
-49
13
0
0
0
0
0
0
0
-47
155
51
-13
29
-60
54
23
-84
0
0
0
0
0
0
0
0
18
-57
40
40
41
-5
8
-7
-1
-2
0
0
0
0
0
0
0
91
-7
-99
-52
28
50
0
0
0
0
0
0
0
0
0
0
0
-61
32
-58
-11
6
13
-5
0
0
0
0
0
0
0
0
0
0
-39
-37
-5
-17
0
6
-2
0
0
0
0
0
0
0
0
0
0
27
-45
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-134
-102
-18
47
85
32
40
0
-4
0
0
0
0
0
0
0
20
-84
64
84
-34
59
42
4
11
28
0
0
0
0
0
0
0
-10
-9
-31
69
34
63
2
-18
-28
-20
5
0
0
0
0
0
0
43
-41
36
69
13
-77
-41
98
-23
-13
0
0
0
0
0
0
0
-28
1
61
-6
123
-28
-38
4
-1
0
0
0
0
0
0
0
0
-58
-13
-37
17
46
-11
-122
0
0
0
0
0
0
0
0
0
0
104
-36
-37
-3
-57
10
3
0
0
0
0
0
0
0
0
0
0
32
-53
-28
-30
-5
-60
-1
-8
3
0
0
0
0
0
0
0
0
2
-10
-72
16
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
5
-21
-39
-79
74
0
-8
-2
0
0
0
0
0
0
0
33
-7
-16
66
70
101
49
31
-8
1
0
0
0
0
0
0
0
35
55
-22
-9
-24
-45
37
7
21
-2
0
0
0
0
0
0
0
-26
12
27
-23
53
-74
59
-22
-4
0
0
0
0
0
0
0
0
-38
-105
-18
-22
-8
-26
-72
0
0
0
0
0
0
0
0
0
0
-64
14
-92
-43
-69
-101
13
2
0
0
0
0
0
0
0
0
0
-45
-75
-70
3
-9
93
49
1
0
0
0
0
0
0
0
0
0
-19
-26
-42
20
0
-8
4
-4
0
0
0
0
0
0
0
0
0
21
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
30
26
8
-10
35
0
9
0
0
0
0
0
0
0
0
0
7
-7
38
-13
52
1
-23
3
-1
0
0
0
0
0
0
0
0
42
84
-21
-1
42
140
-1
-38
0
0
0
0
0
0
0
0
0
-3
21
11
18
13
9
-6
5
-1
0
0
0
0
0
0
0
0
49
95
-31
-59
-32
31
4
0
0
0
0
0
0
0
0
0
0
17
2
13
14
5
-1
-6
0
0
0
0
0
0
0
0
0
0
-54
-18
-5
-13
5
1
0
0
0
0
0
0
0
0
0
0
0
50
0
-2
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
4
-58
0
0
0
0
0
0
0
0
0
0
0
0
-42
-13
-9
29
1
-2
0
6
0
0
0
0
0
0
0
0
0
9
-8
-1
-18
-15
0
2
0
0
0
0
0
0
0
0
0
0
0
1
-8
-2
2
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
-5
-13
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
1
-33
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-2
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
-5
0
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
2
-5
-2
0
-5
0
0
0
0
0
0
0
0
0
0
-27
1
-46
-17
6
4
0
0
0
0
0
0
0
0
0
0
0
-5
1
3
15
0
-2
0
1
0
0
0
0
0
0
0
0
0
2
0
8
0
-25
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-42
23
7
7
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
0
-7
3
0
0
0
0
0
0
0
0
0
0
-1
-7
2
-10
-12
0
-5
-2
-1
0
0
0
0
0
0
0
0
-6
1
8
43
-3
2
3
4
-5
0
0
0
0
0
0
0
0
0
85
0
0
0
-7
0
-4
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-10
-5
5
8
0
0
0
0
0
0
0
0
0
0
0
59
46
-6
6
-6
1
8
5
0
0
0
0
0
0
0
0
0
-5
16
-5
-15
23
-2
-8
0
0
0
0
0
0
0
0
0
-2
8
5
-25
-15
5
-17
2
0
0
0
0
0
0
0
0
0
0
-15
18
-15
72
31
-13
0
-8
0
0
0
0
0
0
0
0
0
-43
-2
6
0
0
-1
1
-3
0
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
77
-8
6
8
-6
-10
12
0
0
0
0
0
0
0
0
0
-3
-41
28
-48
49
-30
-8
-1
1
0
0
0
0
0
0
0
0
2
0
31
6
-48
-12
43
-15
-10
0
0
0
0
0
0
0
0
0
0
0
59
102
-8
-13
-34
3
1
0
0
0
0
0
0
0
0
-5
-6
5
94
10
-36
1
1
0
0
0
0
0
0
0
0
1
-93
-19
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
49
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-67
9
70
0
0
0
-4
0
0
0
0
0
0
0
0
0
-10
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-13
20
0
-10
-13
-28
0
0
0
0
0
0
0
0
0
-1
77
33
-66
-58
19
30
-29
-2
0
0
0
0
0
0
0
0
-15
-87
-54
-112
1
-7
-23
-68
-14
0
0
0
0
0
0
0
0
-8
-22
25
32
53
91
-49
-62
-41
-5
0
0
0
0
0
0
0
9
155
71
-31
50
32
18
-13
1
0
0
0
0
0
0
0
0
9
-1
57
-5
23
0
0
4
-3
0
0
0
0
0
0
0
0
-26
5
-49
-142
-6
0
0
0
0
0
0
0
0
0
0
0
0
29
2
-41
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-66
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
31
8
55
-61
38
98
38
38
0
5
0
0
0
0
0
0
0
39
-11
10
-22
-39
50
-49
-39
6
0
0
0
0
0
0
0
0
-41
1
0
2
-59
-59
11
97
14
-2
0
0
0
0
0
0
0
56
88
36
-2
87
120
45
-40
-31
0
0
0
0
0
0
0
0
-5
-31
64
-25
81
-13
86
76
-1
0
0
0
0
0
0
0
0
31
-31
40
55
-92
-13
1
0
0
-1
0
0
0
0
0
0
0
-28
-23
-74
-39
-57
-13
0
0
0
0
0
0
0
0
0
0
0
23
-20
4
14
23
17
0
0
0
0
0
0
0
0
0
0
0
3
-8
-26
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
114
-4
5
-80
-76
48
-16
43
0
7
0
0
0
0
0
0
0
-52
145
60
-8
-17
62
-52
-2
23
0
0
0
0
0
0
0
0
43
-65
26
5
40
81
176
18
39
-29
0
0
0
0
0
0
0
-24
-3
25
63
37
66
5
-24
36
-5
0
0
0
0
0
0
0
32
-32
90
-8
5
1
41
220
14
53
0
0
0
0
0
0
0
-46
65
53
20
9
17
-49
0
-1
0
0
0
0
0
0
0
0
41
-29
-5
-51
53
74
-1
0
0
0
0
0
0
0
0
0
0
-122
-72
-23
-23
30
49
3
0
0
0
0
0
0
0
0
0
0
-102
-16
75
-17
0
-10
0
2
0
0
0
0
0
0
0
0
0
0
30
89
36
35
-57
-23
-8
0
-6
6
0
0
0
0
0
0
0
4
-60
-15
-38
35
59
78
27
-79
2
0
0
0
0
0
0
0
44
-30
124
13
-121
11
61
102
17
4
0
0
0
0
0
0
0
-52
35
9
71
12
-43
88
30
-25
0
0
0
0
0
0
0
0
48
-21
-12
83
-69
53
-4
39
4
0
0
0
0
0
0
0
0
14
-123
-43
-5
-47
34
9
2
0
0
0
0
0
0
0
0
0
-43
-29
-13
49
21
52
-24
0
0
0
0
0
0
0
0
0
0
-53
-51
-2
45
-10
-14
8
0
0
0
0
0
0
0
0
0
0
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
9
31
4
5
8
0
-8
0
0
0
0
0
0
0
0
0
-55
-65
19
71
4
29
7
0
0
0
0
0
0
0
0
0
0
89
49
-31
-16
-29
25
14
-36
0
0
0
0
0
0
0
0
0
20
19
26
-10
28
-42
8
55
1
0
0
0
0
0
0
0
0
1
-23
-52
28
53
-12
1
5
0
0
0
0
0
0
0
0
0
66
15
20
-41
-10
1
-5
0
0
0
0
0
0
0
0
0
0
-7
-43
8
7
-1
10
-1
0
0
0
0
0
0
0
0
0
0
72
31
-42
2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
18
0
23
-30
1
9
-19
0
0
0
0
0
0
0
0
0
0
-58
14
-4
5
78
1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
2
5
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-14
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
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
1
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
60
-3
5
-3
1
0
0
0
0
0
0
0
0
0
0
10
1
0
-1
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
6
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-1
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
6
-5
-6
10
2
1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-43
-5
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
42
33
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-32
-1
-1
7
1
-1
0
0
0
0
0
0
0
0
0
-3
0
5
-2
-7
1
4
0
0
0
0
0
0
0
0
0
0
0
-3
1
49
2
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-1
-4
3
0
4
0
0
0
0
0
0
0
0
0
0
1
14
13
-4
24
17
5
-13
0
0
0
0
0
0
0
0
0
0
-1
21
44
57
19
-25
-4
12
0
0
0
0
0
0
0
0
-1
-9
-21
-22
30
84
-17
7
8
0
0
0
0
0
0
0
0
4
-5
-16
5
21
16
5
-2
1
0
0
0
0
0
0
0
0
0
-50
-7
-16
41
49
5
0
0
0
0
0
0
0
0
0
0
8
-6
-18
-27
30
0
0
0
5
0
0
0
0
0
0
0
0
-3
30
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-8
0
25
-2
-8
3
0
0
0
0
0
0
0
0
0
6
-4
31
24
20
10
-9
-58
5
0
0
0
0
0
0
0
0
-6
-8
-1
-20
1
5
-110
29
-26
-9
0
0
0
0
0
0
0
13
129
-42
-22
-31
-38
77
30
1
1
0
0
0
0
0
0
0
54
-62
37
-34
5
62
54
-9
-28
0
0
0
0
0
0
0
0
7
10
-121
-88
-57
10
-20
7
6
0
0
0
0
0
0
0
0
-1
-121
21
-30
7
13
0
0
0
0
0
0
0
0
0
0
0
15
-59
-23
-44
-1
0
0
0
0
0
0
0
0
0
0
0
0
93
-67
68
2
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-41
-34
1
-13
43
-12
-10
0
0
0
0
0
0
0
0
0
-32
-69
68
-16
28
30
-7
-75
-6
5
0
0
0
0
0
0
0
-41
-65
-11
82
109
78
-28
3
-20
22
0
0
0
0
0
0
0
-8
-59
17
0
58
67
7
13
25
-8
0
0
0
0
0
0
0
16
53
-24
18
25
60
-55
-46
13
0
0
0
0
0
0
0
0
-81
-32
-61
24
16
27
61
19
1
1
0
0
0
0
0
0
0
-24
-51
-53
72
12
18
-3
0
0
0
0
0
0
0
0
0
0
-65
-56
-12
67
64
-10
-3
0
0
0
0
0
0
0
0
0
0
93
-47
-49
48
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
27
125
-70
-9
91
72
-29
0
0
0
0
0
0
0
0
0
0
34
61
36
50
27
73
54
94
20
-1
0
0
0
0
0
0
0
-45
56
-53
-53
-7
51
108
29
70
0
0
0
0
0
0
0
0
26
-31
25
-33
91
53
40
23
4
0
0
0
0
0
0
0
0
61
48
-13
130
-14
-13
-30
95
0
0
0
0
0
0
0
0
0
-36
6
-20
-40
78
128
5
-8
0
0
0
0
0
0
0
0
0
-3
-117
-3
40
-4
-13
51
0
0
0
0
0
0
0
0
0
0
37
5
8
-38
12
-4
-8
0
0
0
0
0
0
0
0
0
0
-17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
-1
-5
-8
-49
0
-3
0
0
0
0
0
0
0
0
0
33
23
82
-18
-16
10
-25
-13
-1
0
0
0
0
0
0
0
0
-1
8
42
4
31
48
44
6
1
0
0
0
0
0
0
0
0
39
25
34
31
42
29
-1
1
0
0
0
0
0
0
0
0
0
9
47
-42
27
34
4
-2
0
0
0
0
0
0
0
0
0
0
1
12
20
43
5
21
0
0
0
0
0
0
0
0
0
0
0
-49
3
49
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
4
49
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-56
4
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-22
-5
-3
-3
-1
1
0
0
0
0
0
0
0
0
0
7
2
4
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-7
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
5
1
3
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
3
1
-16
5
5
2
-1
0
0
0
0
0
0
0
0
-1
0
5
-2
-1
25
0
0
0
0
0
0
0
0
0
0
0
-34
-32
-29
-7
-5
8
-7
0
0
0
0
0
0
0
0
0
0
7
69
-39
52
24
-18
0
0
0
0
0
0
0
0
0
0
0
-5
0
65
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-5
0
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
66
2
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
10
-1
-34
-12
-1
-33
5
29
1
0
0
0
0
0
0
0
0
57
5
33
-68
-21
80
15
57
9
0
0
0
0
0
0
0
0
-9
-2
74
36
95
105
32
96
4
0
0
0
0
0
0
0
0
109
95
24
-5
-31
61
-19
21
0
0
0
0
0
0
0
0
0
10
-29
8
-35
67
-46
19
13
0
0
0
0
0
0
0
0
0
-57
-86
15
-23
6
4
0
0
0
0
0
0
0
0
0
0
0
-86
66
-94
-1
-17
-6
0
0
0
0
0
0
0
0
0
0
0
-72
-14
-31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
6
0
-3
1
8
-1
0
0
0
0
0
0
0
0
0
0
31
-2
1
1
4
0
-4
-3
0
0
0
0
0
0
0
0
0
-14
-5
2
42
-31
-25
-5
8
-6
0
0
0
0
0
0
0
0
-41
13
5
41
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-26
-46
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
24
3
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
55
-5
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
9
-4
8
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
13
8
13
-3
0
0
0
0
0
0
0
0
0
0
-2
1
-5
-8
-1
-42
0
2
0
0
0
0
0
0
0
0
0
2
-1
11
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
8
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
50
17
-16
0
0
0
0
0
0
0
0
0
0
0
-6
2
19
-5
23
-49
12
-27
0
0
0
0
0
0
0
0
0
0
-7
-7
-10
94
27
43
-30
0
0
0
0
0
0
0
0
0
-3
-4
-46
-6
0
54
-41
8
0
0
0
0
0
0
0
0
0
0
0
0
32
-27
-24
-19
-30
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-1
-7
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-7
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-35
0
0
0
0
0
0
0
0
0
0
-2
-1
-10
-10
43
0
0
0
0
0
0
0
0
0
0
0
0
5
33
-152
-76
-49
0
0
0
0
0
0
0
0
0
0
0
-1
-103
-8
26
-57
-7
58
80
15
0
0
0
0
0
0
0
0
4
-13
-53
-7
63
-23
26
-41
0
0
0
0
0
0
0
0
0
4
-52
-1
-48
-31
-97
-40
61
-27
0
0
0
0
0
0
0
0
-2
3
25
16
-31
-6
-64
27
-27
0
0
0
0
0
0
0
0
0
-3
4
9
-15
-13
84
-152
-92
0
0
0
0
0
0
0
0
0
0
0
-10
1
1
45
-58
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
8
0
0
0
0
0
0
0
0
0
0
3
-7
-9
-10
0
0
0
14
0
0
0
0
0
0
0
0
0
1
56
47
-42
0
0
0
52
0
0
0
0
0
0
0
-3
0
-19
19
-34
13
-18
26
45
47
0
0
0
0
0
0
0
-6
31
25
-35
-49
56
-13
-46
43
-6
0
0
0
0
0
0
0
0
-1
81
37
-20
-73
-30
-57
62
0
0
0
0
0
0
0
0
0
-3
-2
-9
49
77
-32
22
-14
84
0
0
0
0
0
0
0
0
0
1
0
21
56
72
-24
62
12
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-16
-113
22
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-66
-30
0
0
0
0
0
0
-6
0
6
6
-16
-60
0
0
0
-17
25
0
0
0
0
0
0
0
6
-20
5
7
42
3
13
-66
-24
-16
0
0
0
0
0
0
0
-1
-25
-12
54
50
74
11
-22
15
10
0
0
0
0
0
0
0
0
0
0
-35
22
13
-26
-13
-16
-10
0
0
0
0
0
0
0
0
1
16
42
-27
108
-131
-34
-13
-2
0
0
0
0
0
0
0
0
0
-2
-102
30
-24
51
-120
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
25
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
5
0
5
0
0
0
-28
-8
0
0
0
0
0
0
0
0
-2
-5
-16
0
76
44
-42
-1
8
0
0
0
0
0
0
0
0
49
13
31
-88
-66
-48
61
33
-2
0
0
0
0
0
0
1
3
10
-13
-29
46
-10
-7
101
34
-3
-14
0
0
0
0
0
0
-1
2
0
10
86
52
-5
-5
-5
-2
3
0
0
0
0
0
0
0
0
0
-20
-17
-5
-35
8
0
-15
0
0
0
0
0
0
0
0
0
2
0
0
-31
-2
-15
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
0
-51
-4
6
0
0
0
0
13
0
0
0
0
0
0
0
1
-1
5
-30
-18
-42
2
-64
-89
9
1
5
0
0
0
0
0
0
0
8
9
6
15
-7
-24
-3
7
5
-3
0
0
0
0
0
0
-7
-4
8
8
29
-9
-27
31
-18
22
-2
0
0
0
0
0
0
0
0
-1
5
-62
-59
-1
8
33
8
0
0
0
0
0
0
0
0
0
-2
3
8
-21
-37
-31
-22
8
4
0
0
0
0
0
0
0
0
0
0
-1
7
59
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
9
-25
1
0
0
0
0
-8
27
-8
5
0
0
0
0
0
0
-1
-15
-23
-20
-69
-1
56
26
-15
6
-4
0
0
0
0
0
0
0
-14
-1
-10
118
-9
-14
50
3
-5
-3
0
0
0
0
0
0
-3
0
5
48
18
-31
-28
10
36
3
0
0
0
0
0
0
0
0
-1
-46
-1
-90
31
-33
16
7
-1
0
0
0
0
0
0
0
0
-2
0
0
-1
9
-20
18
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
6
0
2
3
0
0
0
-51
32
1
-2
0
0
0
0
0
0
0
0
-2
-3
0
-49
30
-48
-31
0
2
0
0
0
0
0
0
0
2
0
11
37
71
47
-48
5
2
0
3
0
0
0
0
0
0
0
1
22
-22
-49
45
22
23
3
-5
-1
0
0
0
0
0
0
0
0
-5
5
17
-10
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
44
34
-9
17
0
0
0
0
0
0
0
0
0
0
0
-24
-17
26
42
10
-73
0
0
0
0
0
0
0
0
0
0
0
3
61
-17
5
39
14
36
5
0
0
0
0
0
0
0
0
0
8
8
25
24
57
82
-16
41
0
0
0
0
0
0
0
0
0
7
3
-10
-8
42
104
42
77
0
0
0
0
0
0
0
0
0
-1
7
-14
48
-26
-87
-28
-5
0
0
0
0
0
0
0
0
0
0
0
-15
0
27
-25
-14
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
2
0
-84
-64
65
-55
0
0
0
0
0
0
0
0
0
0
0
-2
-91
43
-29
-37
-60
0
0
0
0
0
0
0
0
0
0
0
-16
-28
-10
49
-17
26
71
132
-10
0
0
0
0
0
0
0
0
29
4
-58
-114
16
-22
-30
-23
-19
0
0
0
0
0
0
0
0
-7
-36
2
49
-34
-18
4
93
16
0
0
0
0
0
0
0
0
1
8
36
-76
-26
11
-23
14
-64
0
0
0
0
0
0
0
0
0
0
5
-84
-38
-48
-18
-85
20
0
0
0
0
0
0
0
0
0
0
0
69
-17
4
21
-147
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-5
0
0
0
0
0
0
0
0
0
0
-1
20
-5
53
0
0
0
47
0
0
0
0
0
0
0
-1
-17
-11
-122
38
10
0
0
0
48
0
0
0
0
0
0
0
0
-21
-24
-57
-83
-77
25
23
-52
25
0
0
0
0
0
0
0
8
73
31
48
31
129
79
-16
-18
-4
0
0
0
0
0
0
0
-1
-7
-1
24
12
68
-10
41
40
-21
0
0
0
0
0
0
0
-8
0
10
57
-87
23
-66
1
16
-22
0
0
0
0
0
0
0
0
0
0
-13
-14
30
-77
142
-92
43
0
0
0
0
0
0
0
0
0
0
1
33
34
-25
-2
24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-45
3
0
0
0
15
-34
0
0
0
0
0
0
0
8
46
-92
31
-49
0
0
0
-3
14
0
0
0
0
0
0
-2
39
2
41
-50
-7
-9
-27
-3
63
-16
0
0
0
0
0
0
0
-27
3
-79
-87
-115
107
-5
-36
-30
-6
0
0
0
0
0
0
0
-2
-31
68
23
12
-102
-132
-9
40
-12
0
0
0
0
0
0
0
7
-2
8
-42
24
3
-47
-78
89
-1
0
0
0
0
0
0
0
0
0
13
8
42
-48
-6
74
-109
5
0
0
0
0
0
0
0
0
0
5
-1
0
9
8
-48
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
5
4
0
0
0
0
0
0
1
1
0
0
0
38
0
0
0
48
-13
2
0
0
0
0
0
0
-2
-4
5
-30
47
0
0
0
2
37
-1
0
0
0
0
0
-1
-2
0
-41
14
-21
-74
-20
-6
7
-5
5
0
0
0
0
0
0
5
-1
-29
93
-29
8
-24
-54
-22
6
-1
0
0
0
0
0
0
-5
7
-29
-41
31
80
-28
40
1
-25
5
0
0
0
0
0
0
0
1
-21
-19
48
32
68
-102
-28
2
0
0
0
0
0
0
0
0
0
8
6
-39
-54
66
89
-18
9
0
0
0
0
0
0
0
0
0
-2
-1
-1
-2
45
-90
5
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-6
60
0
0
-5
0
0
0
28
2
-12
-1
0
0
0
0
0
-12
-54
9
-5
-51
0
0
0
-56
-7
-37
2
0
0
0
0
0
-10
-51
32
-34
6
-109
56
-66
49
21
0
0
0
0
0
0
0
1
51
45
-142
-24
47
54
25
-5
37
6
-3
0
0
0
0
0
0
5
-31
60
-3
14
-77
-20
49
9
-10
-6
0
0
0
0
0
0
4
31
22
-4
-26
-57
-11
-98
23
-3
0
0
0
0
0
0
0
0
5
-9
30
75
-102
-49
30
30
3
0
0
0
0
0
0
0
0
0
-1
0
-2
-15
22
-13
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
1
-39
-44
0
0
0
0
0
50
-13
0
2
0
0
0
0
0
-7
21
-13
-48
14
0
0
0
47
-3
0
-6
0
0
0
0
0
0
32
90
2
23
61
27
10
4
54
-2
1
0
0
0
0
0
0
-14
-19
38
-16
-13
-63
60
58
-21
-10
1
0
0
0
0
0
0
1
-4
-5
-3
-42
16
5
-40
50
5
-8
0
0
0
0
0
0
0
6
31
75
-54
40
19
-41
-49
23
0
0
0
0
0
0
0
0
0
22
-14
-31
7
-80
-49
3
0
0
0
0
0
0
0
0
0
0
4
0
0
5
-20
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
7
0
0
0
0
-3
15
-5
-7
0
0
0
0
0
-3
0
-6
7
25
0
0
0
12
-78
0
10
-2
0
0
0
0
0
-6
5
-22
0
-6
12
-78
29
-24
18
3
0
0
0
0
0
0
0
-13
-8
-31
-25
-73
5
87
9
-28
3
0
0
0
0
0
0
0
-2
-5
53
6
-39
-1
-6
-32
7
-10
4
0
0
0
0
0
0
-5
-8
2
0
33
14
-3
3
-5
1
0
0
0
0
0
0
0
0
0
-2
0
-2
-4
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
7
0
0
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
4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
2
-22
3
0
0
0
0
0
0
0
2
1
13
0
0
-7
-13
4
58
1
1
0
0
0
0
0
0
0
2
1
43
14
-30
-30
-5
-2
9
5
0
0
0
0
0
0
0
-2
-8
-5
-23
-13
8
-10
-15
-3
-1
-1
0
0
0
0
0
0
0
-2
1
-7
-5
21
-2
-1
-5
-3
1
0
0
0
0
0
0
0
0
0
0
-2
1
-9
1
-8
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
8
0
0
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
-2
6
-12
15
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-25
0
13
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-2
0
0
0
0
0
0
0
0
0
0
1
3
-6
4
1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
25
66
98
-5
0
0
0
0
0
0
0
0
0
0
0
74
-51
-9
58
-1
41
0
0
0
0
0
0
0
0
0
0
0
22
42
59
26
-4
-127
20
-17
0
0
0
0
0
0
0
0
0
3
-1
-94
-72
20
-34
134
52
0
0
0
0
0
0
0
0
0
-8
9
-6
-36
20
31
42
85
0
0
0
0
0
0
0
0
0
0
0
19
27
-44
18
22
20
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
-13
18
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
30
0
0
0
0
0
0
0
0
0
-7
-51
37
-45
-21
-22
0
0
0
0
0
0
0
0
0
0
0
-15
-8
-51
-30
8
-42
0
0
0
0
0
0
0
0
0
0
0
0
58
-7
-32
-106
-35
-72
-46
46
0
0
0
0
0
0
0
0
0
16
92
-61
-28
1
-92
71
2
0
0
0
0
0
0
0
0
0
36
-42
-16
89
10
3
-11
24
0
0
0
0
0
0
0
0
6
-2
58
-29
-2
-31
-33
65
11
0
0
0
0
0
0
0
0
0
0
0
9
32
108
8
-21
55
0
0
0
0
0
0
0
0
0
-1
5
-7
-7
0
33
-66
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
0
0
0
0
0
0
0
5
55
-6
5
26
-10
0
0
0
-2
0
0
0
0
0
0
0
-8
-10
-35
21
-87
73
0
0
0
-23
0
0
0
0
0
0
0
0
5
-22
-42
53
8
-4
-74
-71
13
0
0
0
0
0
0
0
0
4
-3
49
58
95
6
-77
-71
13
0
0
0
0
0
0
0
2
-13
-13
25
-26
-2
-10
28
-44
-70
0
0
0
0
0
0
0
0
9
9
12
-35
47
-54
-44
-26
51
0
0
0
0
0
0
0
0
0
0
8
25
41
-1
38
52
15
0
0
0
0
0
0
0
0
0
-1
-8
0
25
-6
41
-14
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-42
84
-2
48
0
0
0
8
4
0
0
0
0
0
0
1
-9
2
43
-26
-91
0
0
0
48
-46
0
0
0
0
0
0
0
-2
1
-14
-47
-3
13
-27
-79
-10
7
0
0
0
0
0
0
0
0
2
-3
60
-49
43
-66
-82
-48
3
0
0
0
0
0
0
0
-72
5
19
-75
-5
-52
49
-57
-2
35
0
0
0
0
0
0
0
5
1
35
58
18
-59
67
3
73
-7
0
0
0
0
0
0
0
0
0
-14
-5
5
5
-5
-62
-39
2
0
0
0
0
0
0
0
0
0
2
-7
9
12
5
25
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-12
-8
-45
-4
0
0
0
-8
0
-1
0
0
0
0
0
0
49
17
-10
-23
-109
0
0
0
0
34
1
0
0
0
0
0
0
6
0
0
-19
48
-10
20
13
9
119
7
0
0
0
0
0
0
3
0
0
0
73
55
57
-77
-29
41
23
0
0
0
0
0
0
0
0
-12
-50
-69
-51
42
-32
32
0
0
0
0
0
0
0
0
0
1
8
-3
63
112
34
57
3
0
4
0
0
0
0
0
0
0
0
0
0
-1
-5
2
-5
49
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-26
-34
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
-1
6
24
1
-13
0
0
0
-18
1
0
0
0
0
0
0
0
-5
21
3
23
25
0
0
0
-58
-5
3
1
0
0
0
0
4
0
1
25
54
-8
-66
-46
-3
-38
9
-4
0
0
0
0
0
0
1
12
0
-13
31
5
5
50
42
-34
-6
0
0
0
0
0
0
-13
2
-5
-14
-37
2
-5
-32
-18
-16
0
0
0
0
0
0
0
0
0
-6
0
8
-99
-34
-40
24
0
-3
0
0
0
0
0
0
0
0
0
-2
41
-74
-56
-14
-2
-7
0
0
0
0
0
0
0
0
0
0
0
-3
10
-5
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
9
0
-4
1
0
0
0
12
-1
1
0
0
0
0
0
0
6
-9
37
-13
-2
0
0
0
15
5
0
0
0
0
0
0
4
0
2
9
3
-1
0
14
-4
70
13
2
-2
0
0
0
0
0
6
-29
-5
12
1
39
5
0
34
3
-5
6
-1
0
0
0
0
1
0
-25
84
26
-26
47
16
12
5
-15
-2
0
0
0
0
0
2
0
5
-3
7
58
-84
32
24
0
10
0
0
0
0
0
0
0
0
0
1
4
-28
5
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
2
2
0
0
0
-18
-1
8
0
0
0
0
0
0
0
-49
-10
-5
6
0
0
0
31
13
-73
-1
9
0
0
0
0
0
3
16
0
0
-3
-33
-93
-41
-9
3
0
1
0
0
0
0
-3
12
5
-5
1
1
13
48
70
-13
-51
0
-2
0
0
0
0
0
-3
-5
-7
-75
3
-10
24
25
2
0
-19
0
0
0
0
0
0
0
0
76
28
66
72
-50
2
2
-4
-3
0
0
0
0
0
0
0
0
1
-2
-8
39
27
-1
-2
-2
9
0
0
0
0
0
0
0
0
1
-3
-7
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
-2
0
0
0
0
0
-2
-2
0
0
0
0
0
0
8
-1
-47
1
-1
0
0
0
4
0
-3
1
7
0
0
0
0
-8
2
-5
2
3
3
0
-7
-4
-1
0
0
0
0
0
0
0
0
0
8
-21
21
-13
-14
3
-45
3
-10
1
-2
0
0
0
0
0
0
17
-8
59
-44
16
19
0
-31
0
5
1
0
0
0
0
0
0
0
-1
5
27
30
-97
1
0
-3
0
0
0
0
0
0
0
0
0
-3
6
-18
-12
-68
1
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-52
0
0
0
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
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
3
-1
-8
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
-3
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-2
14
5
4
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
-2
-25
0
-3
0
3
0
0
0
0
0
0
0
0
0
1
-6
8
6
-20
-6
0
-3
3
0
0
0
0
0
0
0
0
0
0
-6
-1
8
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
28
-37
2
-19
39
0
0
0
0
0
0
0
0
0
0
0
8
73
10
-57
10
138
0
0
0
0
0
0
0
0
0
0
0
-6
2
-23
-121
-18
3
15
-35
0
0
0
0
0
0
0
0
0
1
42
2
-45
-13
-91
-77
-11
0
0
0
0
0
0
0
0
0
0
7
9
8
31
29
27
50
0
0
0
0
0
0
0
0
0
0
0
-13
43
-28
8
28
-14
0
0
0
0
0
0
0
0
0
0
0
0
19
-3
18
-8
13
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
32
0
0
0
0
0
0
0
0
0
47
-11
66
-3
-76
-19
0
0
0
0
0
0
0
0
0
0
0
68
53
-75
-14
-73
-5
0
0
0
0
0
0
0
0
0
0
0
1
68
-52
-49
13
7
-23
11
73
0
0
0
0
0
0
0
0
0
20
57
-56
74
9
-6
42
89
0
0
0
0
0
0
0
0
0
0
-60
9
71
5
36
9
73
0
0
0
0
0
0
0
0
0
-16
-13
-55
-73
16
33
14
3
0
0
0
0
0
0
0
0
6
-8
3
6
31
58
79
59
-27
0
0
0
0
0
0
0
0
0
0
0
4
0
-22
-23
13
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
12
0
0
0
0
0
0
0
0
-5
-26
15
-84
-41
21
0
0
0
-7
0
0
0
0
0
0
0
9
83
57
-4
-8
-14
0
0
0
-13
0
0
0
0
0
0
0
0
-12
7
-62
-80
-55
-8
-9
-41
-50
0
0
0
0
0
0
0
0
0
1
-35
-101
13
38
88
-15
-57
0
0
0
0
0
0
0
0
0
-2
-18
30
30
-40
8
-14
-6
0
0
0
0
0
0
0
0
-1
-47
-1
-9
62
-16
31
61
21
0
0
0
0
0
0
0
3
0
3
13
25
44
3
16
-8
-20
0
0
0
0
0
0
0
0
0
-14
13
-9
5
-31
-43
-69
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
10
-1
-1
-49
-7
-7
0
0
0
-37
4
0
0
0
0
0
0
0
-45
-57
-42
23
-13
0
0
0
-75
2
0
0
0
0
0
0
0
-1
7
4
-21
8
-11
-53
1
-10
-1
0
0
0
0
0
0
0
0
0
2
-8
12
33
51
13
44
0
0
0
0
0
0
0
1
0
0
16
179
-26
-89
26
-38
-31
-2
0
0
0
0
0
0
0
2
-9
24
2
-1
-99
1
-83
13
5
0
0
0
0
0
0
0
0
0
25
-17
17
-63
-49
-75
15
4
0
0
0
0
0
0
0
0
0
-4
0
-3
41
-76
111
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
-18
16
21
-24
0
0
0
-18
0
0
0
0
0
0
0
0
-2
49
-41
-14
-29
0
0
0
1
5
0
0
0
0
0
0
0
-51
0
-23
8
-1
28
61
-12
13
-3
-3
0
0
0
0
0
0
8
1
0
-3
31
-1
-54
18
20
5
0
0
0
0
0
0
5
3
0
-7
17
4
-43
75
45
25
8
0
0
0
0
0
0
0
0
5
0
8
4
51
58
-7
-9
0
0
0
0
0
0
0
0
0
0
6
-62
-12
-9
41
-137
-33
3
0
0
0
0
0
0
0
0
0
1
0
-10
-21
-19
-34
6
-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
34
8
1
29
0
0
0
-15
6
-1
0
0
0
0
0
0
-2
-3
-25
7
-25
0
0
0
-47
41
0
0
0
0
0
0
0
0
-26
7
-2
0
-10
59
55
-1
-10
0
0
0
0
0
0
0
0
3
8
0
-33
-11
44
-4
-85
0
-3
0
0
0
0
0
0
-5
0
3
0
-1
31
-58
13
39
-15
0
0
0
0
0
0
0
0
0
-9
0
60
-7
-53
-31
16
2
0
0
0
0
0
0
0
0
-6
0
1
3
84
0
26
5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
25
2
-2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
61
6
5
0
0
0
0
0
0
0
0
0
0
0
0
3
38
-1
17
10
0
0
0
-7
-3
6
-1
0
0
0
0
0
5
15
1
0
-3
-2
72
15
9
25
-1
-1
0
0
0
0
0
0
13
0
1
0
-7
26
-29
0
-5
-2
1
0
0
0
0
0
0
0
34
-3
2
-9
29
-43
68
-41
-1
-2
0
0
0
0
0
0
0
-3
-85
0
-8
15
73
8
0
0
0
0
0
0
0
0
0
0
0
3
8
41
-17
6
4
2
0
0
0
0
0
0
0
0
0
0
0
0
18
3
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-8
25
0
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-11
-8
3
-15
0
0
0
74
2
-3
-4
0
0
0
0
-1
2
-16
-18
13
0
4
-1
62
-3
64
1
-2
0
0
0
0
0
-13
-1
0
0
29
1
2
-23
71
1
4
-8
4
0
0
0
0
0
1
5
-30
-2
0
4
0
6
11
-5
-2
-3
0
0
0
0
-3
0
17
0
-7
-5
-34
-12
2
0
-3
0
0
0
0
0
0
0
0
0
-10
-3
-9
-16
-41
5
1
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
2
0
0
0
0
0
0
0
0
5
39
-1
-1
-4
0
0
0
1
4
0
0
0
0
0
0
0
1
-9
29
-3
0
0
0
0
0
-4
0
-1
1
0
0
0
0
0
-7
-5
4
4
0
0
3
-2
0
0
0
0
0
0
0
-1
0
0
-5
-4
-32
-3
-2
0
-2
-1
0
4
2
0
0
0
0
2
-1
-4
-12
-22
6
-2
3
3
-8
0
0
0
0
0
0
0
0
5
-9
-1
14
-41
-22
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
-49
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
6
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-6
15
1
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
24
-60
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
14
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-19
12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-13
-94
-18
32
55
0
0
0
0
0
0
0
0
0
0
-2
57
61
30
-29
-10
-9
0
0
0
0
0
0
0
0
0
0
0
66
7
-25
-65
-16
62
39
-57
0
0
0
0
0
0
0
0
0
2
-98
14
56
-79
-22
36
82
0
0
0
0
0
0
0
0
0
0
-19
50
13
32
211
57
-37
0
0
0
0
0
0
0
0
0
0
0
-52
-64
43
75
-50
-7
0
0
0
0
0
0
0
0
0
0
0
1
16
-5
-13
49
139
0
0
0
0
0
0
0
0
0
0
-2
0
-1
15
5
-6
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
38
0
0
0
0
0
0
0
0
0
-14
69
8
-59
-26
-82
0
0
0
0
0
0
0
0
0
0
0
-48
30
-19
-43
-22
21
0
0
0
0
0
0
0
0
0
0
0
8
-104
-58
46
77
-32
-124
-34
-3
0
0
0
0
0
0
0
0
0
0
79
-1
-31
-139
40
-33
-22
0
0
0
0
0
0
0
0
0
8
-35
-45
28
-26
-50
30
23
0
0
0
0
0
0
0
0
0
-4
31
-21
44
1
-83
97
61
0
0
0
0
0
0
0
0
-6
8
2
-18
-64
7
-53
-11
-26
0
0
0
0
0
0
0
0
0
-1
-22
-24
58
-31
5
41
16
0
0
0
0
0
0
0
0
0
0
-1
0
0
-15
4
56
-18
0
0
0
0
0
0
0
0
6
4
-1
-37
93
34
0
0
0
-5
0
0
0
0
0
0
0
-20
-3
-25
23
-48
-42
0
0
0
-75
0
0
0
0
0
0
0
-2
31
46
55
-62
-154
63
-83
9
-7
0
0
0
0
0
0
0
0
0
-12
-73
25
-1
110
23
13
8
0
0
0
0
0
0
0
0
0
0
41
50
-21
56
4
-45
-30
0
0
0
0
0
0
0
0
0
0
-3
28
5
33
-28
42
-15
0
0
0
0
0
0
0
16
-6
3
-7
-45
-10
57
123
35
7
0
0
0
0
0
0
0
0
0
0
-4
42
-31
5
45
14
42
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
-11
-8
0
0
0
0
0
0
0
0
1
-5
-15
6
-58
46
0
0
0
-13
0
0
0
0
0
0
0
-2
-49
46
-26
21
-89
0
0
0
-49
-3
0
0
0
0
0
0
-1
-43
38
-69
50
-21
-53
105
-114
-77
-1
0
0
0
0
0
0
3
0
0
-1
-22
15
-6
5
-14
49
0
0
0
0
0
0
0
-4
0
0
0
5
13
-51
-44
25
-13
0
0
0
0
0
0
0
0
0
0
-3
-66
-66
-40
32
24
13
0
0
0
0
0
0
0
0
5
0
-5
10
-56
56
-24
17
-9
-1
0
0
0
0
0
0
0
0
0
5
-2
-5
-43
22
27
-5
-8
0
0
0
0
0
0
0
0
0
0
0
6
-1
-48
1
3
0
0
0
0
0
0
0
0
-5
-32
-42
21
46
0
0
0
-7
-5
0
0
0
0
0
0
0
-5
33
60
-18
9
0
0
0
-39
-9
-1
0
0
0
0
0
0
0
15
10
-38
-41
-66
15
60
3
12
0
0
0
0
0
0
0
8
0
-3
14
46
54
45
31
4
0
-4
0
0
0
0
0
2
0
0
0
-1
-6
21
-7
-24
14
-1
2
0
0
0
0
0
0
1
0
0
0
-25
-39
55
-20
31
-1
0
0
0
0
0
0
0
0
-3
-1
-16
-12
110
88
48
8
-1
0
0
0
0
0
0
0
0
0
0
10
-6
-1
-37
31
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
22
-49
1
-3
0
0
0
5
2
0
0
0
0
0
0
0
2
29
80
8
-6
0
0
0
-14
8
0
0
0
0
0
0
4
-8
-22
-63
-18
-49
-60
10
-76
-9
8
0
0
0
0
0
0
3
-3
7
0
1
0
38
46
62
-7
0
3
-1
0
0
0
0
0
0
3
-2
0
1
-12
-11
32
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
63
-59
10
-4
1
0
0
0
0
0
0
0
0
0
-9
-25
-8
1
-48
5
6
1
0
0
0
0
0
0
0
0
0
0
0
5
-39
0
94
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
-1
18
-17
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-5
21
2
41
0
0
0
-34
0
0
-9
0
0
0
0
0
-1
-64
-2
-3
9
-7
-16
-26
-1
-4
0
0
0
0
0
0
0
-2
42
-3
0
0
0
37
3
-6
0
1
0
0
0
0
0
0
0
-6
-5
10
0
-9
27
17
0
-4
1
0
0
0
0
0
0
0
2
-19
0
-2
0
12
-63
2
-3
0
0
0
0
0
0
0
0
2
0
27
0
-3
-2
5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-5
9
8
28
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
0
0
0
-4
-2
0
-4
-6
0
0
0
0
-1
0
0
0
0
0
0
1
-8
-46
0
-4
24
0
0
0
-3
0
0
1
-1
0
0
0
0
-3
-85
55
4
5
-27
66
-3
-1
1
1
0
0
0
0
0
0
0
35
0
-66
0
0
-15
22
-8
10
0
-1
-1
0
0
0
0
0
0
9
-2
0
0
0
-13
1
-4
-2
0
0
0
0
0
0
0
-2
-5
-46
0
-2
-2
-34
-3
8
8
0
0
0
0
0
0
0
0
0
0
-10
-12
6
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-4
-9
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
18
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
-1
18
-7
1
4
-14
-8
73
2
-1
0
0
0
0
0
0
0
0
-2
97
7
20
0
0
0
2
0
1
0
0
0
0
0
0
0
0
-16
-10
-1
-4
0
0
4
6
0
-1
0
0
0
0
0
0
0
-4
19
21
0
-1
0
1
3
0
0
0
0
0
0
0
0
3
0
-5
3
-42
-4
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
1
0
0
0
-1
0
0
0
0
0
0
0
0
2
-9
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-18
-4
0
2
-1
17
0
0
0
0
0
0
0
0
0
-9
8
4
-1
-8
44
-2
1
0
0
0
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
28
6
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
10
0
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
40
24
27
20
-20
0
0
0
0
0
0
0
0
0
0
2
-53
-39
50
8
25
12
0
0
0
0
0
0
0
0
0
0
0
16
-22
-61
-112
-42
37
-51
7
0
0
0
0
0
0
0
0
0
42
-32
9
23
-29
12
61
39
0
0
0
0
0
0
0
0
0
0
3
-70
10
-20
7
21
6
0
0
0
0
0
0
0
0
0
0
2
17
-7
30
69
26
15
0
0
0
0
0
0
0
0
0
0
0
9
-49
46
93
-19
-24
0
0
0
0
0
0
0
0
0
0
0
-10
8
-24
21
97
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
53
-21
0
0
0
0
0
0
0
0
0
6
-53
-50
-47
51
-72
0
0
0
0
0
0
0
0
0
0
0
106
-73
-144
-15
-62
72
0
0
0
0
0
0
0
0
0
0
0
27
-91
24
-62
-15
-11
-12
-106
32
0
0
0
0
0
0
0
0
4
-19
14
-22
-22
-70
39
-40
-78
0
0
0
0
0
0
0
0
0
0
-39
91
30
22
-35
44
-99
0
0
0
0
0
0
0
0
0
0
21
68
-21
-81
92
-27
4
0
0
0
0
0
0
0
0
0
0
-13
-49
64
53
22
16
-41
0
0
0
0
0
0
0
0
0
1
-1
9
-100
34
-28
-12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
37
-52
-43
0
0
0
0
0
0
0
0
-12
-16
-59
-174
14
-29
0
0
0
-19
0
0
0
0
0
0
0
-18
-30
6
92
-26
33
0
0
0
77
0
0
0
0
0
0
0
-8
56
10
26
-36
34
1
-13
118
23
0
0
0
0
0
0
0
-4
28
-55
-22
-40
35
41
62
38
20
0
0
0
0
0
0
0
0
2
3
44
27
25
-55
-39
-111
41
0
0
0
0
0
0
0
0
0
0
20
-50
87
4
-7
2
-34
0
0
0
0
0
0
0
0
0
0
-9
-68
-19
-76
-30
-57
-27
0
0
0
0
0
0
0
0
1
8
7
-37
94
24
-6
-19
29
0
0
0
0
0
0
0
0
0
0
-4
0
10
-41
41
-8
-2
0
0
0
0
0
0
0
0
3
-35
12
-12
1
0
0
0
20
-23
0
0
0
0
0
0
2
14
-111
-34
-40
94
0
0
0
32
2
0
0
0
0
0
0
-22
-41
-6
-85
-81
-25
-111
-52
2
-14
-31
0
0
0
0
0
0
0
-7
-109
25
21
-81
-22
6
-6
-18
-6
0
0
0
0
0
0
-1
0
-3
0
29
42
13
-61
-66
5
-5
0
0
0
0
0
0
0
0
0
0
49
118
19
-38
78
23
1
0
0
0
0
0
0
0
0
0
2
18
80
-52
95
48
-18
1
0
0
0
0
0
0
0
0
1
-5
2
76
-18
18
66
-52
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
9
8
0
0
0
0
0
0
0
0
-3
4
1
5
-2
0
0
0
3
0
0
0
0
0
0
0
0
49
31
-17
23
42
0
0
0
-2
-23
0
0
0
0
0
0
2
32
12
-51
102
-70
7
-34
-24
23
-1
-6
0
0
0
0
0
2
4
-17
-32
3
-29
-84
-6
-51
6
1
0
0
0
0
0
0
0
15
0
0
2
-50
34
-25
-25
-17
-6
0
0
0
0
0
0
0
0
0
0
-1
48
-7
-78
33
-14
0
0
0
0
0
0
0
0
0
0
0
2
63
14
-132
19
7
-5
0
0
0
0
0
0
0
0
0
-1
0
9
-100
-42
125
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
10
13
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-4
-49
37
19
15
0
0
0
-15
-3
0
0
0
0
0
0
0
-8
8
-9
-60
46
-1
-4
-57
0
-2
-1
0
0
0
0
0
0
-1
-2
40
3
5
12
-8
-30
2
8
-3
-1
0
0
0
0
2
0
-27
0
0
2
102
-14
-32
15
3
0
0
0
0
0
0
0
0
0
0
0
3
-81
-27
36
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
-59
-1
4
0
0
0
0
0
0
0
0
0
2
0
0
3
0
-46
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
18
-24
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
15
-32
-13
5
0
0
0
-3
-1
0
0
0
0
0
0
0
0
-8
0
-45
-2
17
-19
-3
0
0
0
0
0
0
0
0
0
0
-5
1
49
45
-64
1
26
3
-1
0
0
0
0
0
0
3
-1
-8
19
0
0
-3
5
-9
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-19
-8
-2
3
0
0
0
0
0
0
0
0
8
0
0
0
-23
-16
-6
0
0
0
0
0
0
0
0
0
3
0
0
0
-27
-1
6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
4
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
-1
-1
0
0
0
0
0
0
0
2
0
-12
12
1
0
0
0
2
0
0
0
0
0
0
0
0
0
-14
0
-1
-5
6
29
6
0
0
0
0
0
0
0
0
0
0
1
66
6
-63
-10
-50
0
1
0
-3
0
0
0
0
0
2
0
4
5
-25
0
4
0
-2
3
0
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
6
10
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-6
-8
0
0
0
2
0
0
0
0
0
0
0
0
8
4
-5
0
-22
14
8
-6
0
0
0
0
0
0
0
0
0
0
0
-45
47
5
74
8
-2
0
0
0
0
0
0
0
0
0
0
-2
-60
27
25
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
-1
0
0
1
-6
14
-6
0
0
0
0
0
0
0
0
0
0
1
0
-5
-3
2
-21
0
-2
0
0
0
0
0
0
0
0
0
3
0
-12
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-18
-5
-25
-8
0
0
0
0
0
0
0
0
0
0
-4
-40
-22
-43
54
28
9
0
0
0
0
0
0
0
0
0
0
0
16
-55
-36
23
22
18
56
9
0
0
0
0
0
0
0
0
0
-6
-80
-19
-25
-145
-3
49
28
0
0
0
0
0
0
0
0
0
2
0
33
30
109
12
-93
-24
0
0
0
0
0
0
0
0
0
0
5
47
-78
21
50
-26
4
0
0
0
0
0
0
0
0
0
0
4
1
-34
21
-25
-71
52
0
0
0
0
0
0
0
0
0
0
0
-12
0
20
-57
-10
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-32
0
0
0
0
0
0
0
0
0
-2
11
-80
24
22
-27
0
0
0
0
0
0
0
0
0
0
0
-5
-42
-75
-126
-59
93
0
0
0
0
0
0
0
0
0
0
0
-14
-97
-18
-102
-80
-32
39
-33
63
0
0
0
0
0
0
0
0
0
54
-1
36
-67
-4
74
4
14
0
0
0
0
0
0
0
0
0
1
-29
51
44
-8
-17
-60
42
0
0
0
0
0
0
0
0
0
0
92
-5
14
-21
-18
-7
27
0
0
0
0
0
0
0
0
0
0
30
-73
-180
14
-62
-23
-29
0
0
0
0
0
0
0
0
0
0
5
5
91
-60
-23
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-9
17
-12
0
0
0
0
0
0
0
0
-2
-29
-2
51
-20
-18
0
0
0
53
0
0
0
0
0
0
0
49
36
27
39
50
-26
0
0
0
3
0
0
0
0
0
0
0
-9
-53
69
-97
11
-75
-32
-41
8
15
0
0
0
0
0
0
0
-7
54
-25
-64
-13
36
-51
-7
-43
-4
0
0
0
0
0
0
0
-17
-13
-55
84
-76
0
-80
57
-21
10
0
0
0
0
0
0
0
0
0
-5
-8
47
-4
-20
-4
49
8
0
0
0
0
0
0
0
0
0
0
1
-12
84
43
-16
4
-20
0
0
0
0
0
0
0
0
0
0
-29
-46
-47
-82
163
33
-49
0
0
0
0
0
0
0
0
0
3
-3
0
37
16
-55
64
3
0
0
0
0
0
0
0
0
-1
-17
-55
12
-39
0
0
0
-10
-48
0
0
0
0
0
0
-4
-2
-90
2
-32
94
0
0
0
-50
-35
0
0
0
0
0
0
-3
2
-8
0
-24
-24
2
-22
6
15
-8
0
0
0
0
0
0
-1
-3
13
12
-32
21
2
0
-110
5
-2
0
0
0
0
0
0
4
-26
11
-66
6
29
-85
53
-23
27
0
0
0
0
0
0
0
0
0
2
0
-33
20
-28
-49
70
3
0
0
0
0
0
0
0
0
0
0
0
9
-55
-28
31
-101
23
15
0
0
0
0
0
0
0
0
0
0
-2
27
-23
56
-50
7
-7
0
0
0
0
0
0
0
0
0
0
0
2
25
-16
37
8
0
0
0
0
0
0
0
0
0
-4
-3
5
0
0
0
0
-6
0
0
0
0
0
0
0
0
10
45
44
-25
-48
0
0
0
-17
25
0
0
0
0
0
0
0
-1
0
-8
42
14
18
16
-10
12
0
0
0
0
0
0
0
0
-5
28
49
-26
-14
-20
27
-48
0
0
0
0
0
0
0
0
1
-1
8
-1
-41
-8
-19
-29
-78
-3
0
0
0
0
0
0
0
0
0
0
0
0
76
41
-2
-31
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
9
38
25
0
0
0
0
0
0
0
0
0
0
0
0
51
-8
13
-28
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-5
0
0
0
0
0
0
0
0
1
0
-6
-2
-2
0
0
0
-1
0
0
0
0
0
0
0
3
0
-16
4
-10
0
0
0
0
29
1
0
0
0
0
0
0
0
0
-3
-24
-20
41
-25
6
-12
-2
-1
-1
0
0
0
0
0
0
-1
41
44
28
-56
-127
10
-25
8
-1
0
0
0
0
0
0
0
-9
0
-12
-40
-159
-16
26
-31
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
55
11
84
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
116
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
14
2
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
0
-5
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
13
-1
-15
0
7
0
0
0
0
0
0
0
0
0
0
6
-7
-21
21
44
3
-6
-1
0
0
0
0
0
0
0
0
8
10
5
-23
12
-20
8
8
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
58
-18
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
1
3
0
0
0
0
0
0
0
0
-1
-5
0
-17
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
2
3
0
2
22
2
0
0
3
0
0
0
0
0
0
0
8
-4
-20
13
17
13
-6
6
1
2
0
0
0
0
0
0
5
-5
-1
-2
20
-13
-46
0
9
0
0
0
0
0
0
0
0
0
0
0
60
0
5
0
0
1
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-8
-6
-10
4
0
0
0
0
0
0
0
0
0
0
0
-6
1
5
18
5
-12
1
0
0
0
0
0
0
0
0
0
0
8
38
-3
4
-20
-31
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
5
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-12
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-7
-13
-42
-18
15
-29
0
0
0
0
0
0
0
0
0
0
-1
3
-97
-68
63
-24
-35
-27
82
0
0
0
0
0
0
0
0
0
-13
-39
-47
-29
27
-43
1
86
0
0
0
0
0
0
0
0
0
12
-49
39
-36
66
44
-67
26
0
0
0
0
0
0
0
0
0
-6
3
-29
39
29
-105
32
31
0
0
0
0
0
0
0
0
0
0
-7
25
5
7
0
19
63
0
0
0
0
0
0
0
0
0
0
2
-5
1
14
-26
59
-29
0
0
0
0
0
0
0
0
0
0
-9
0
0
2
31
32
61
0
0
0
0
0
0
0
0
0
0
-60
-78
46
1
69
0
0
0
0
0
0
0
0
0
0
0
-19
-102
-118
18
13
-62
0
0
0
0
0
0
0
0
0
0
0
-10
-124
-96
62
-17
46
4
-85
39
0
0
0
0
0
0
0
0
-8
-35
-41
-13
39
-19
7
6
-15
0
0
0
0
0
0
0
0
0
-102
-3
2
4
76
-3
-64
-43
0
0
0
0
0
0
0
0
1
-21
-29
0
-22
7
27
23
-18
0
0
0
0
0
0
0
0
0
0
3
5
74
37
-36
26
-13
0
0
0
0
0
0
0
0
0
0
1
-31
27
49
1
-31
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
8
-14
-48
0
0
0
0
0
0
0
0
0
0
1
15
-1
5
0
0
0
-5
0
0
0
0
0
0
0
-13
-2
26
-30
-10
31
0
0
0
1
0
0
0
0
0
0
0
-1
10
3
92
-13
40
-24
28
-86
-1
0
0
0
0
0
0
0
0
-10
-8
-75
-62
70
-44
40
42
20
0
0
0
0
0
0
0
-4
-10
-32
48
-80
16
42
-14
3
-7
0
0
0
0
0
0
0
1
3
-55
-33
8
-37
-85
64
19
-2
0
0
0
0
0
0
0
0
0
0
14
53
1
10
2
-53
66
0
0
0
0
0
0
0
0
0
0
0
41
-1
-3
65
-10
27
0
0
0
0
0
0
0
0
0
0
0
0
-22
7
93
24
-6
0
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
1
-5
0
0
0
0
0
0
-3
-2
13
50
-5
12
0
0
0
-7
-33
0
0
0
0
0
0
-1
0
66
30
-24
60
24
-48
29
-20
-6
0
0
0
0
0
0
1
-4
2
23
-46
-13
-107
67
-8
5
3
0
0
0
0
0
0
0
0
42
-40
-118
-52
6
-48
16
19
0
0
0
0
0
0
0
0
-2
-1
-33
32
33
-24
53
14
-9
0
0
0
0
0
0
0
0
0
0
0
33
-59
-72
1
-40
1
0
0
0
0
0
0
0
0
0
0
0
0
21
43
40
55
-53
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
41
8
6
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
-8
-2
0
0
0
0
0
0
0
2
4
-12
21
-5
-2
-6
13
3
0
0
0
0
0
0
0
0
-1
21
-15
-9
-9
-16
14
24
1
0
0
0
0
0
0
0
0
0
3
-4
-76
-7
9
34
32
-7
0
0
0
0
0
0
0
0
0
0
0
5
-67
53
42
-84
5
0
0
0
0
0
0
0
0
0
0
0
0
-42
-1
-41
0
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
1
-50
25
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
3
0
0
7
0
0
0
4
1
0
0
0
0
0
0
0
0
2
-8
0
0
-3
-2
-4
0
0
0
0
0
0
0
0
0
0
0
-16
25
8
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
8
19
9
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
27
2
-4
-77
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
-13
-1
7
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-2
7
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
-42
-6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
1
0
3
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-8
-24
-13
-2
27
0
0
0
0
0
0
0
0
0
0
0
2
-35
20
11
12
-1
7
25
0
0
0
0
0
0
0
0
2
28
-133
-92
-45
-107
92
-5
144
0
0
0
0
0
0
0
0
5
-1
31
18
-18
-14
15
-41
14
0
0
0
0
0
0
0
0
0
-5
15
34
-158
12
-40
-3
-31
0
0
0
0
0
0
0
0
0
0
0
13
44
42
-57
-27
11
0
0
0
0
0
0
0
0
0
0
0
13
1
26
52
40
34
0
0
0
0
0
0
0
0
0
0
4
0
0
0
58
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
-12
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-21
12
-31
-9
17
-8
15
-54
0
0
0
0
0
0
0
0
-3
-5
-52
-60
14
-21
8
-8
-66
0
0
0
0
0
0
0
0
-4
20
-9
1
-25
79
-101
-16
-4
0
0
0
0
0
0
0
0
0
-4
-2
-63
15
-58
112
-31
5
0
0
0
0
0
0
0
0
0
0
-12
10
25
-55
51
15
0
0
0
0
0
0
0
0
0
0
0
0
6
35
9
-1
-5
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
-3
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-19
-6
-6
0
-13
19
-3
-2
0
0
0
0
0
0
0
0
-3
-3
-5
10
58
-7
-3
-24
15
0
0
0
0
0
0
0
0
0
7
-5
8
9
-31
1
-74
0
0
0
0
0
0
0
0
0
1
0
-21
6
10
47
-47
1
0
0
0
0
0
0
0
0
0
0
1
0
-3
9
-4
42
8
4
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
12
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
13
-1
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
-1
-6
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
1
3
-6
-1
0
0
0
0
0
0
0
0
0
-4
0
0
4
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-2
3
9
0
3
0
0
0
0
0
0
0
0
0
25
-1
-41
-1
25
13
-5
0
0
0
0
0
0
0
0
0
0
6
-12
21
1
-1
0
3
0
0
0
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
-10
-5
-41
-9
-2
0
0
0
0
0
0
0
0
0
25
-8
13
50
-51
-29
-16
0
-3
0
0
0
0
0
0
0
0
1
-23
-25
-39
-54
30
8
4
0
0
0
0
0
0
0
0
0
0
2
-4
27
6
-5
-9
-21
5
0
0
0
0
0
0
0
0
0
22
-3
25
0
-2
-9
0
0
1
0
0
0
0
0
0
0
0
-17
-17
0
-10
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-7
-4
-21
0
0
-1
13
0
0
0
0
0
0
0
0
0
0
28
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
1
20
14
8
3
0
0
0
0
0
0
0
0
0
5
-13
-56
46
63
-41
-16
4
0
1
0
0
0
0
0
0
0
1
-2
-2
-75
166
22
-20
-5
0
0
0
0
0
0
0
0
0
1
7
0
-13
26
-7
23
-1
0
0
0
0
0
0
0
0
0
0
-2
-3
44
-2
-15
-6
1
-2
0
0
0
0
0
0
0
0
0
-3
1
-5
4
-9
2
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
68
7
0
-35
34
21
-2
0
0
0
0
0
0
0
0
0
0
-15
44
6
-31
-69
93
9
1
0
0
0
0
0
0
0
0
-3
-1
3
1
42
-31
2
-7
0
0
0
0
0
0
0
0
0
0
8
8
15
-39
-6
4
1
0
0
0
0
0
0
0
0
0
0
2
24
5
-2
-27
16
-1
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
-2
19
-1
0
0
0
0
0
0
0
0
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
-26
1
0
0
0
0
0
0
0
0
0
-12
4
-5
22
-16
84
50
4
1
0
0
0
0
0
0
0
0
0
-15
0
-5
2
-6
30
17
0
0
0
0
0
0
0
0
0
-5
0
-15
19
16
-1
4
0
4
-1
0
0
0
0
0
0
0
0
-1
4
0
2
-1
0
3
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
73
0
0
-43
-24
0
-1
0
0
0
0
0
0
0
-16
17
-9
73
15
33
41
62
67
0
0
0
0
0
0
0
0
0
-17
30
-5
-5
-25
70
-16
2
1
0
0
0
0
0
0
0
0
0
1
-3
-3
16
0
9
-5
0
0
0
0
0
0
0
0
0
1
1
-7
8
-2
2
-2
1
0
0
0
0
0
0
0
0
0
2
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
5
-1
0
-39
0
0
0
0
0
0
0
0
0
2
-37
9
10
73
5
61
-6
25
4
0
0
0
0
0
0
0
4
-2
-42
4
0
8
42
26
-9
8
0
0
0
0
0
0
0
0
8
-8
-1
-19
5
-25
25
0
9
0
0
0
0
0
0
0
0
-2
0
10
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
2
7
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
0
0
4
1
-32
-33
-22
-1
3
0
28
-4
0
0
0
0
0
0
0
0
0
18
-9
6
5
30
13
42
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
-3
6
0
0
0
0
0
0
0
0
0
0
-1
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
20
1
8
-2
-2
0
0
0
0
0
0
0
0
0
0
-8
47
-11
14
-60
1
-10
0
0
0
0
0
0
0
0
0
0
-51
-24
-32
8
0
6
-1
0
0
0
0
0
0
0
0
0
0
-46
-19
23
2
-2
-5
-5
0
0
0
0
0
0
0
0
0
0
2
3
-4
12
-9
-2
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
23
23
-13
8
-76
-1
5
0
0
0
0
0
0
0
0
0
60
-18
22
-1
27
45
14
49
-2
2
0
0
0
0
0
0
0
4
33
-12
-40
-31
-28
-43
3
-5
0
0
0
0
0
0
0
0
-6
-61
-20
121
-14
56
22
-12
-39
0
0
0
0
0
0
0
0
9
82
-55
65
30
-28
-14
7
10
-8
0
0
0
0
0
0
0
0
-27
42
42
1
-42
-1
-8
-6
0
0
0
0
0
0
0
0
0
-3
24
52
-25
-1
-2
8
0
0
0
0
0
0
0
0
0
0
-41
0
-18
0
0
1
1
0
0
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
9
72
-81
96
-160
23
13
0
0
0
0
0
0
0
0
0
-2
73
25
-110
108
-2
9
-4
-2
0
0
0
0
0
0
0
0
-47
-35
-39
-25
-57
142
41
12
53
-1
0
0
0
0
0
0
0
2
-80
24
18
-30
29
7
-20
21
-4
0
0
0
0
0
0
0
0
42
31
128
8
-3
45
16
-1
0
0
0
0
0
0
0
0
1
-8
15
13
-8
-18
-8
0
-5
0
0
0
0
0
0
0
0
0
0
34
-6
3
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
50
-23
31
28
70
-20
-66
0
1
0
0
0
0
0
0
0
0
43
30
20
48
4
28
-32
-4
0
1
0
0
0
0
0
0
-9
-23
35
76
40
-3
20
9
-13
0
0
0
0
0
0
0
0
22
-25
-5
-63
-55
-15
-5
-8
-6
4
0
0
0
0
0
0
0
0
-22
-46
41
22
42
14
0
-1
0
0
0
0
0
0
0
0
-7
-17
0
-5
-5
0
2
-3
-2
0
0
0
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
69
18
16
-83
30
80
0
1
0
0
0
0
0
0
0
-7
76
55
-32
0
31
12
9
61
0
0
0
0
0
0
0
0
22
-3
-13
1
105
-31
-49
0
-42
-1
0
0
0
0
0
0
0
-6
-4
32
19
-21
-13
42
0
-1
-1
0
0
0
0
0
0
0
23
13
-12
23
4
-7
-23
0
0
0
0
0
0
0
0
0
0
0
-13
-17
17
3
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
179
-15
57
31
-20
18
0
0
0
0
0
0
0
0
0
3
13
-44
54
27
-8
-29
76
-17
-2
0
0
0
0
0
0
0
-2
22
-12
-31
7
19
2
-62
-7
0
0
0
0
0
0
0
0
13
9
2
9
-41
-42
24
-5
-1
-2
0
0
0
0
0
0
0
3
18
5
25
-2
15
-3
0
0
0
0
0
0
0
0
0
0
0
-8
-1
1
0
-5
1
6
0
0
0
0
0
0
0
0
0
0
3
-22
17
4
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
42
16
49
-7
-58
15
0
1
0
0
0
0
0
0
0
0
-11
75
50
144
-22
41
-6
-15
-4
3
0
0
0
0
0
0
5
-6
87
13
40
-8
6
-11
-31
-2
0
-1
0
0
0
0
0
-3
-13
24
-24
-1
-15
-44
-31
-4
-1
2
0
0
0
0
0
0
-1
-25
31
-9
-20
-24
-18
-1
1
0
1
-1
0
0
0
0
0
0
1
0
12
-10
23
-2
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
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
42
-13
0
8
0
-2
-2
0
0
0
0
0
0
-2
-1
1
12
44
-13
37
-2
24
-14
0
0
0
0
0
0
0
5
-8
-34
8
-42
20
-6
-32
51
26
0
0
0
0
0
0
0
2
0
13
24
17
-1
5
0
0
-2
0
0
0
0
0
0
0
0
-9
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
7
6
2
13
-5
0
0
0
0
0
0
0
0
0
0
9
-3
-9
3
-6
1
-4
1
20
0
0
0
0
0
0
0
0
0
-6
3
4
13
0
17
-2
3
0
0
0
0
0
0
0
-1
0
0
1
5
14
-7
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-5
0
-4
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
3
5
-1
4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
14
-86
-14
0
25
0
0
0
0
0
0
0
0
0
0
0
-42
59
98
-6
-48
75
-41
-5
0
0
0
0
0
0
0
0
0
-2
-8
-7
6
0
-3
6
0
0
0
0
0
0
0
0
0
0
-30
1
13
-2
35
-8
-1
0
0
0
0
0
0
0
0
0
0
10
10
-5
1
2
-1
8
0
0
0
0
0
0
0
0
0
0
16
-8
15
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
62
-28
-66
10
49
-8
4
0
0
0
0
0
0
0
0
0
7
70
54
-66
-111
29
-72
-8
-54
0
0
0
0
0
0
0
0
5
23
139
-35
-6
9
-71
-18
59
0
0
0
0
0
0
0
0
-9
-27
-19
-49
7
28
-37
5
-6
0
0
0
0
0
0
0
0
-34
-58
-50
-30
-48
74
-1
-25
-1
2
0
0
0
0
0
0
0
18
10
-59
-20
37
-31
0
-8
0
0
0
0
0
0
0
0
0
-3
-49
-21
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-7
0
0
0
0
0
0
0
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
-5
-45
34
142
-75
-34
0
0
0
0
0
0
0
0
0
7
97
-120
-42
-43
123
-15
-7
-16
12
0
0
0
0
0
0
0
6
-4
12
-16
64
14
20
18
0
-1
0
0
0
0
0
0
0
12
56
23
-71
30
-2
-14
-9
5
-3
0
0
0
0
0
0
0
0
30
-31
9
4
43
-2
0
-8
0
0
0
0
0
0
0
0
-10
-25
22
27
5
-2
-2
9
-3
1
0
0
0
0
0
0
0
0
24
37
-13
13
0
1
0
-3
0
0
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-12
-14
48
-3
34
0
0
0
0
0
0
0
0
0
4
-74
-30
-20
-63
43
84
6
0
0
0
0
0
0
0
0
0
0
70
-51
-2
26
-1
7
6
7
2
0
0
0
0
0
0
0
0
53
1
-29
8
21
-15
-5
0
0
0
0
0
0
0
0
0
0
20
30
-21
-49
5
0
0
20
-2
0
0
0
0
0
0
0
0
24
-23
-13
9
31
1
0
0
0
0
0
0
0
0
0
0
-4
-6
-9
-3
-2
0
17
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-23
27
20
114
84
0
0
0
0
0
0
0
0
0
-3
-20
84
-12
-38
-5
-54
25
6
0
0
0
0
0
0
0
0
0
31
32
-20
0
75
8
41
-1
0
0
0
0
0
0
0
0
1
4
2
2
-23
-12
9
0
18
0
0
0
0
0
0
0
0
6
15
2
-32
-6
-9
0
2
1
0
0
0
0
0
0
0
0
0
0
25
0
1
1
7
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
-1
1
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
17
-51
-67
95
56
0
0
0
0
0
0
0
0
0
0
13
39
97
-37
-6
-42
60
6
0
0
0
0
0
0
0
0
2
0
-7
3
32
0
13
13
5
2
0
0
0
0
0
0
0
-1
-13
55
74
8
26
2
1
0
7
0
0
0
0
0
0
0
0
32
-5
-1
-12
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
16
17
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
-1
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-5
13
7
84
16
0
0
0
0
0
0
0
0
0
0
50
-17
80
100
-25
-7
-5
2
-1
0
0
0
0
0
0
0
4
12
-14
3
5
3
0
-2
7
-2
0
0
0
0
0
0
0
0
-5
75
-43
-17
3
4
0
3
0
0
0
0
0
0
0
0
1
48
-12
24
1
13
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
19
0
35
3
33
74
0
-3
0
0
0
0
0
0
0
8
13
1
-42
20
12
41
-3
39
8
-5
0
0
0
0
0
0
5
5
8
0
10
19
-3
1
-16
8
0
0
0
0
0
0
0
0
0
10
-7
-12
-12
2
3
0
0
0
0
0
0
0
0
0
1
-5
4
20
0
4
-1
0
0
0
-1
0
0
0
0
0
0
0
-2
-5
2
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-13
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
-1
0
-7
-6
0
0
0
0
0
0
0
0
0
0
0
2
-37
1
18
-31
12
1
0
2
0
0
0
0
0
0
0
0
-4
-1
14
0
6
0
3
0
-3
0
0
0
0
0
0
0
0
10
5
-45
8
8
1
-1
2
0
0
0
0
0
0
0
0
0
-1
0
-5
-12
-8
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
8
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
-7
14
32
4
3
0
0
0
0
0
0
0
0
0
0
14
-8
-31
10
-10
-73
-9
22
0
0
0
0
0
0
0
0
0
-7
-2
-25
-9
21
-14
-5
0
0
0
0
0
0
0
0
0
0
4
-25
74
20
-4
-10
-2
-5
0
0
0
0
0
0
0
0
0
5
44
-48
5
-8
7
-2
0
0
0
0
0
0
0
0
0
0
41
-39
-9
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
57
-1
-39
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-47
-64
0
-4
55
-74
151
0
0
0
0
0
0
0
0
0
3
47
-31
-43
158
-5
-49
-118
-46
0
0
0
0
0
0
0
0
4
47
49
-55
-77
-37
73
-27
21
1
0
0
0
0
0
0
0
0
-3
71
-79
-36
34
-79
20
17
0
0
0
0
0
0
0
0
6
-69
-29
-112
-48
-21
1
-10
20
0
0
0
0
0
0
0
0
-19
-112
-25
-21
-49
-43
-7
0
4
0
0
0
0
0
0
0
0
0
16
44
13
-9
6
-1
0
0
0
0
0
0
0
0
0
0
0
37
-2
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
-5
-12
2
31
54
-82
0
3
0
0
0
0
0
0
0
2
23
85
-68
-15
-52
90
137
-25
-8
0
0
0
0
0
0
0
0
77
2
-42
-39
-10
-12
35
-39
4
0
0
0
0
0
0
0
3
7
0
45
-11
102
31
51
10
0
0
0
0
0
0
0
0
3
-11
-31
-81
19
-55
47
24
4
0
0
0
0
0
0
0
0
-1
-27
28
-93
17
8
0
-12
0
0
0
0
0
0
0
0
0
-4
-41
56
17
33
6
0
0
0
0
0
0
0
0
0
0
0
0
9
14
-61
1
4
0
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
13
-33
13
-31
0
3
0
0
0
0
0
0
0
0
59
-17
-31
-27
-19
35
1
3
0
0
0
0
0
0
0
0
0
15
-4
41
28
-47
98
-42
-5
-1
0
0
0
0
0
0
0
0
75
-52
-3
23
27
-25
13
-7
4
0
0
0
0
0
0
0
0
54
5
24
6
-2
-37
3
0
0
0
0
0
0
0
0
0
0
13
5
42
-24
37
2
0
0
0
0
0
0
0
0
0
0
0
-42
6
7
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
39
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
0
-7
16
0
18
0
1
-1
0
0
0
0
0
0
0
3
2
-9
-8
18
76
-61
17
0
0
0
0
0
0
0
0
-4
9
28
-22
0
10
68
23
-7
0
0
0
0
0
0
0
0
0
-7
-18
-24
0
4
-9
-10
0
0
0
0
0
0
0
0
0
0
17
56
3
4
-8
9
8
4
0
0
0
0
0
0
0
0
0
0
-3
13
-9
37
1
0
0
0
0
0
0
0
0
0
0
0
-3
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-1
-1
-5
24
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
14
14
-12
3
5
0
0
0
0
0
0
0
0
2
1
-3
-27
10
5
16
7
0
0
0
0
0
0
0
0
0
6
0
3
-4
-2
0
8
1
19
0
0
0
0
0
0
0
0
0
-5
19
24
29
13
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
3
7
0
0
0
8
0
0
0
0
0
0
0
0
0
-10
-1
56
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-16
4
-8
18
46
3
79
-2
-1
0
0
0
0
0
0
0
0
9
-7
33
4
76
4
-2
0
0
0
0
0
0
0
0
0
0
8
-9
17
7
-33
0
0
-1
0
0
0
0
0
0
0
0
0
-9
-4
26
31
1
0
0
-1
0
0
0
0
0
0
0
0
0
14
-24
16
8
-2
0
0
0
0
0
0
0
0
0
0
0
3
-5
-2
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
13
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-3
3
0
0
0
0
0
0
0
0
0
0
-5
3
-5
19
-11
60
-2
-1
0
0
0
0
0
0
0
0
0
-20
-7
14
12
-23
14
13
-2
3
0
0
0
0
0
0
0
0
-4
13
8
3
-10
-6
0
0
0
0
0
0
0
0
0
0
0
9
27
27
-7
-1
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
-8
-5
-6
-8
1
0
0
0
0
0
0
0
0
0
0
-5
-3
-6
-20
-9
-2
-2
0
0
0
0
0
0
0
0
0
0
5
-6
18
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-1
-4
1
-2
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
8
4
5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-3
1
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
24
8
-43
-3
1
-3
0
0
0
0
0
0
0
0
0
41
18
15
69
28
29
-30
3
-2
0
0
0
0
0
0
0
0
47
8
-8
-58
-12
-22
4
0
0
0
0
0
0
0
0
0
0
11
31
3
-28
2
0
19
-7
0
0
0
0
0
0
0
0
0
-8
41
38
4
-3
-4
0
2
0
0
0
0
0
0
0
0
0
-9
-3
74
33
7
0
0
0
0
0
0
0
0
0
0
0
0
14
16
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-1
-16
-30
90
-11
13
0
0
0
0
0
0
0
0
0
-8
58
-6
-50
-86
-51
-16
-48
15
5
0
0
0
0
0
0
0
8
10
-14
7
38
42
25
30
10
-6
0
0
0
0
0
0
0
7
29
68
-10
18
56
55
90
-8
0
0
0
0
0
0
0
0
-13
10
49
40
76
-14
-54
-22
4
2
0
0
0
0
0
0
0
0
47
58
49
-64
-5
31
1
1
0
0
0
0
0
0
0
0
25
-81
-53
-34
64
5
31
1
0
0
0
0
0
0
0
0
0
3
-3
-22
24
0
-20
0
16
0
0
0
0
0
0
0
0
0
27
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
-10
-13
24
-41
-84
0
0
0
0
0
0
0
0
0
4
-27
118
16
71
-84
-103
71
49
0
0
0
0
0
0
0
0
0
31
5
-65
-70
20
52
110
25
1
0
0
0
0
0
0
0
72
19
-5
-15
77
121
-44
-34
25
0
0
0
0
0
0
0
0
9
-13
0
-44
48
-12
25
-6
0
0
0
0
0
0
0
0
0
-14
23
82
-46
11
75
20
-3
0
5
0
0
0
0
0
0
0
0
53
64
57
-4
12
21
0
1
0
0
0
0
0
0
0
0
2
-16
45
18
-3
0
0
-9
0
0
0
0
0
0
0
0
0
6
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
-15
-2
-41
-3
0
0
0
0
0
0
0
0
0
0
23
1
-36
-20
-32
-22
-43
-8
-4
0
0
0
0
0
0
0
-2
2
13
-10
-41
51
-13
-26
53
-2
0
0
0
0
0
0
0
6
9
9
33
-12
-34
17
-13
1
0
0
0
0
0
0
0
0
0
1
-43
0
-45
-13
-22
-3
-2
0
0
0
0
0
0
0
0
0
-7
-60
-55
29
70
2
-7
0
0
0
0
0
0
0
0
0
-4
31
74
-8
96
0
4
5
0
0
0
0
0
0
0
0
0
0
7
9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
4
75
-15
-28
0
-1
0
0
0
0
0
0
0
0
3
16
13
-12
4
24
-27
-30
0
3
0
0
0
0
0
0
4
2
-34
-46
-15
8
10
-66
2
-6
0
0
0
0
0
0
0
0
-1
-4
8
-6
8
5
-6
0
0
0
0
0
0
0
0
0
0
5
35
67
0
80
0
-2
0
3
0
0
0
0
0
0
0
0
-4
-32
6
-2
22
-2
1
5
-1
0
0
0
0
0
0
0
0
8
8
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
42
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
0
-6
0
-3
0
0
0
0
0
0
0
0
1
-4
2
-19
-32
69
-1
-9
0
0
0
0
0
0
0
0
-2
2
-22
12
27
-7
-59
-7
5
0
0
0
0
0
0
0
0
0
45
5
0
-2
1
16
-8
20
0
0
0
0
0
0
0
0
0
20
-1
-3
27
0
13
0
0
0
0
0
0
0
0
0
0
0
-9
25
-18
-4
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-38
3
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
16
3
17
0
9
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
2
0
0
0
0
0
0
0
0
0
2
0
9
4
-19
12
0
-5
0
0
0
0
0
0
0
9
7
0
4
13
41
-23
-8
-1
0
0
0
0
0
0
0
0
0
21
1
-1
22
-17
-3
0
15
0
0
0
0
0
0
0
0
0
-4
31
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-16
-16
0
-1
0
0
0
0
0
0
0
0
0
0
2
-20
-10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
4
20
3
6
0
0
0
0
0
0
0
0
0
3
0
-6
-19
12
23
-1
0
0
0
0
0
0
0
0
0
0
0
13
6
-34
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
5
0
-2
0
22
1
0
-2
0
0
0
0
0
0
0
0
4
1
-8
-2
-5
0
1
0
0
0
0
0
0
0
0
0
0
-2
-7
-12
-2
0
-3
15
0
0
0
0
0
0
0
0
0
0
4
0
2
16
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-3
-30
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
32
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
4
6
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-2
-8
4
-5
18
1
0
0
0
0
0
0
0
0
0
-10
27
-5
21
-8
75
-53
-32
0
0
0
0
0
0
0
0
0
54
-9
-29
59
0
31
-21
5
0
0
0
0
0
0
0
0
0
-15
-5
5
42
8
7
22
0
0
0
0
0
0
0
0
0
0
13
15
-31
32
3
8
-1
8
0
0
0
0
0
0
0
0
0
0
-68
16
9
-5
-3
-2
-1
0
0
0
0
0
0
0
0
0
-76
13
26
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
31
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
56
-7
-6
-12
-83
16
-56
0
0
0
0
0
0
0
0
0
6
85
-10
-116
46
17
-87
50
-17
0
0
0
0
0
0
0
0
4
44
-50
-15
29
-75
3
23
-17
-2
0
0
0
0
0
0
0
-4
110
-51
-17
49
-95
13
-8
55
-2
0
0
0
0
0
0
0
-1
-24
-18
-65
23
40
-49
-27
-18
0
0
0
0
0
0
0
0
6
0
-9
3
32
-68
5
8
-5
0
0
0
0
0
0
0
0
-1
-34
-14
-94
-3
60
0
0
-1
0
0
0
0
0
0
0
0
6
-20
-25
-3
1
4
0
0
0
0
0
0
0
0
0
0
0
-24
-9
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-1
-49
-5
0
83
0
-1
0
0
0
0
0
0
0
1
-71
50
13
-16
-31
15
32
-21
0
0
0
0
0
0
0
0
-10
-7
-23
28
-50
-22
30
23
34
0
0
0
0
0
0
0
0
0
12
-87
64
26
42
-10
-52
19
0
0
0
0
0
0
0
0
-6
-5
34
2
-37
-4
49
28
-3
-3
0
0
0
0
0
0
0
1
61
0
10
60
40
99
1
0
2
0
0
0
0
0
0
0
-41
-71
-66
-42
-85
10
-5
-3
0
0
0
0
0
0
0
0
0
-2
-78
23
-16
55
-2
0
0
0
0
0
0
0
0
0
0
0
1
12
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
47
-20
7
30
0
-8
0
0
0
0
0
0
0
0
24
32
5
-28
-31
-8
27
-5
0
-1
0
0
0
0
0
0
8
2
-21
-66
-56
6
34
55
0
0
0
0
0
0
0
0
0
-4
1
-27
26
9
-16
10
5
20
0
0
0
0
0
0
0
0
0
-22
-25
13
46
47
-41
5
2
0
0
0
0
0
0
0
0
0
-5
-30
0
18
-26
-3
0
0
-8
0
0
0
0
0
0
0
-12
30
-14
23
6
-7
-1
-3
0
0
0
0
0
0
0
0
0
0
-6
-31
-24
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
2
0
-4
-2
0
0
0
0
0
0
0
0
0
0
49
92
-3
-8
16
54
13
29
0
-1
0
0
0
0
0
0
-15
0
0
-12
91
1
54
27
5
0
0
0
0
0
0
0
0
-1
7
1
-15
45
32
-4
49
1
0
0
0
0
0
0
0
0
-3
61
-16
-9
35
-3
-5
-1
-2
0
0
0
0
0
0
0
0
0
-3
32
35
0
7
-5
0
2
0
0
0
0
0
0
0
0
0
-9
47
-10
14
1
0
0
0
0
0
0
0
0
0
0
0
-13
-20
0
30
-6
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
-4
0
0
3
0
0
0
0
0
0
0
0
6
0
-1
-3
9
-67
-9
0
0
0
0
0
0
0
0
0
6
-1
0
5
6
-25
119
-48
-8
0
0
0
0
0
0
0
0
0
1
5
-4
-9
2
31
6
-8
0
0
0
0
0
0
0
0
0
0
0
-5
91
-3
0
-1
0
-1
0
0
0
0
0
0
0
0
0
-6
14
-25
0
0
2
0
0
0
0
0
0
0
0
0
0
56
31
43
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-51
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-15
-8
0
2
0
0
0
0
0
0
0
0
2
-1
0
-4
-5
17
-13
1
0
0
0
0
0
0
0
0
5
-4
0
15
4
3
0
61
14
0
0
0
0
0
0
0
0
0
2
21
8
8
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
13
-10
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
16
3
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
17
39
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-1
7
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
-2
47
-4
1
0
0
0
0
0
0
0
0
3
0
0
5
0
5
16
10
1
-1
0
0
0
0
0
0
0
1
0
0
10
0
-2
-6
-1
0
0
0
0
0
0
0
0
0
0
-6
5
25
4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
5
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
-10
0
0
4
0
0
0
0
0
0
0
0
-7
-2
6
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-1
-6
0
0
0
0
0
0
0
0
0
1
0
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-13
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-16
10
-8
0
47
25
10
0
0
0
0
0
0
0
0
0
50
30
21
6
17
-30
-43
25
3
0
0
0
0
0
0
0
0
8
29
7
14
-31
13
-9
0
0
0
0
0
0
0
0
0
0
55
8
2
14
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
-42
41
-23
-36
-4
0
-4
0
0
0
0
0
0
0
0
0
0
-1
10
-49
9
-1
0
0
0
0
0
0
0
0
0
0
0
-66
30
-8
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-19
-13
19
42
-73
81
0
0
0
0
0
0
0
0
0
-7
13
38
5
-93
-30
-31
4
63
-5
0
0
0
0
0
0
0
-1
50
-74
8
-12
-26
-13
40
-41
12
0
0
0
0
0
0
0
0
-21
-108
2
10
-106
79
-74
0
0
0
0
0
0
0
0
0
6
-45
-12
-3
-65
-13
31
10
13
1
0
0
0
0
0
0
0
0
26
41
-56
38
-8
12
-34
6
0
0
0
0
0
0
0
0
-25
0
77
-27
-53
-2
21
0
-7
0
0
0
0
0
0
0
0
-3
-1
55
18
82
8
-1
0
0
0
0
0
0
0
0
0
0
62
31
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
2
-7
30
-8
4
48
0
2
0
0
0
0
0
0
0
0
-70
-4
10
67
-21
-27
-66
-8
-5
0
0
0
0
0
0
0
0
-7
-83
-26
-32
80
3
35
84
4
0
0
0
0
0
0
0
0
24
-64
1
-72
-39
25
70
-47
0
0
0
0
0
0
0
0
0
26
93
68
43
-3
-29
-2
13
8
0
0
0
0
0
0
0
0
36
-54
-27
96
-42
45
-2
2
0
0
0
0
0
0
0
0
-3
-30
0
-3
-62
-40
-8
-1
0
0
0
0
0
0
0
0
0
1
-31
-3
-13
105
-2
1
5
0
0
0
0
0
0
0
0
0
-1
-28
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
0
0
34
-25
-2
0
-1
0
0
0
0
0
0
0
1
-23
1
30
-25
24
-84
-39
-35
1
0
0
0
0
0
0
0
0
9
9
4
-27
-24
60
-5
4
2
0
0
0
0
0
0
0
0
-41
-14
93
-10
29
-70
31
0
0
0
0
0
0
0
0
0
0
-4
55
-10
-30
-8
87
45
0
0
0
0
0
0
0
0
0
0
-33
-5
31
51
38
-29
9
20
0
0
0
0
0
0
0
0
0
-55
-25
0
13
0
0
-3
-3
0
0
0
0
0
0
0
0
2
33
3
16
-1
-2
0
-3
-5
0
0
0
0
0
0
0
0
3
0
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
17
0
0
0
0
0
0
0
0
0
0
3
-1
10
-5
-14
-6
1
-2
1
0
0
0
0
0
0
0
0
-7
-6
0
-14
5
-19
41
0
4
0
0
0
0
0
0
0
0
3
10
-7
0
-19
30
-1
-4
0
0
0
0
0
0
0
0
0
0
23
2
12
-15
27
-4
0
0
0
0
0
0
0
0
0
0
1
-4
7
-8
-22
24
1
1
0
0
0
0
0
0
0
0
0
14
-3
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-2
0
0
0
0
0
0
0
0
0
0
-3
4
4
-8
-1
-49
0
4
0
0
0
0
0
0
0
0
0
0
0
3
0
70
20
-8
5
0
0
0
0
0
0
0
0
0
9
-1
9
-4
-25
24
-12
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
13
52
1
0
0
0
0
0
0
0
0
0
0
0
1
-4
-17
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
1
-1
-5
1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
16
6
0
-3
4
-2
1
0
0
0
0
0
0
0
0
0
0
-7
0
-3
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-7
-3
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
5
-5
10
-4
0
0
0
0
0
0
0
0
0
-5
2
0
-1
-12
20
3
6
-7
0
0
0
0
0
0
0
0
-32
5
1
8
15
111
-1
3
0
0
0
0
0
0
0
0
0
36
8
-2
45
64
-3
-2
0
8
0
0
0
0
0
0
0
0
-19
-34
-72
-30
-20
7
8
0
0
0
0
0
0
0
0
0
0
0
-17
48
-16
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
12
-2
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
64
2
-94
4
0
4
0
0
0
0
0
0
0
0
0
0
0
1
-9
21
32
-31
21
-43
-8
0
0
0
0
0
0
0
0
0
0
-83
-15
-39
94
41
44
-50
-17
49
0
0
0
0
0
0
0
-5
-56
32
30
45
-5
-42
-143
-53
9
0
0
0
0
0
0
0
-2
17
-5
56
-54
31
36
-4
84
0
0
0
0
0
0
0
0
-1
1
5
-24
10
23
23
1
-12
-1
0
0
0
0
0
0
0
0
7
-19
-6
-37
50
4
-5
0
-4
0
0
0
0
0
0
0
3
51
51
-109
15
0
-17
0
0
0
0
0
0
0
0
0
0
15
0
-6
25
-22
-10
-9
10
0
0
0
0
0
0
0
0
0
1
-18
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
0
3
0
-7
7
0
0
0
0
0
0
0
0
0
0
-15
2
49
37
-1
3
26
-2
0
0
0
0
0
0
0
0
0
17
16
24
12
-18
11
4
-4
1
0
0
0
0
0
0
0
0
12
58
-14
-105
39
45
-5
2
0
0
0
0
0
0
0
0
-2
-4
-55
78
95
7
100
-18
0
3
0
0
0
0
0
0
0
0
-47
10
46
-23
-25
-10
-1
-7
0
0
0
0
0
0
0
0
0
15
-5
78
28
37
2
-1
-5
0
0
0
0
0
0
0
0
3
41
0
-32
-13
15
0
-2
0
0
0
0
0
0
0
0
0
24
0
76
-14
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
9
-9
25
9
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-16
9
-18
-3
-5
0
0
0
0
0
0
0
0
16
0
-41
66
35
-31
-15
-2
0
0
0
0
0
0
0
0
0
1
24
2
-21
21
-5
8
8
0
0
0
0
0
0
0
0
0
7
1
-3
-31
-3
-32
-7
0
0
0
0
0
0
0
0
0
0
-12
12
41
4
49
14
1
0
0
0
0
0
0
0
0
0
0
-49
-5
0
16
12
4
0
0
0
0
0
0
0
0
0
0
3
-5
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
4
2
-5
0
0
0
0
0
0
0
0
0
0
0
-4
-1
3
-2
-12
0
0
0
0
0
0
0
0
0
0
0
1
-3
13
42
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
23
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
-1
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
35
0
24
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-8
13
-4
12
0
0
0
0
0
0
0
0
88
2
-5
2
-1
20
7
31
0
0
0
0
0
0
0
0
0
13
8
-20
42
7
13
-9
0
0
0
0
0
0
0
0
0
0
1
87
45
8
-8
10
0
0
0
0
0
0
0
0
0
0
0
30
-19
-42
-66
-43
-1
0
0
0
0
0
0
0
0
0
0
0
0
23
76
-7
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
-8
-1
1
0
29
-5
0
-1
0
0
0
0
0
0
0
0
12
1
-9
8
6
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
44
-31
-22
-3
0
0
0
0
0
0
0
0
0
0
0
4
0
15
32
41
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
5
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
-1
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-1
4
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
1
25
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
51
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-68
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-16
-22
9
19
-19
-8
0
-2
0
0
0
0
0
0
0
0
8
-18
10
17
-5
17
-3
0
14
0
0
0
0
0
0
0
0
10
2
-12
-9
13
-45
43
18
1
0
0
0
0
0
0
0
0
-7
60
-46
-23
31
21
4
4
-11
0
0
0
0
0
0
0
0
-13
-14
-30
24
-12
-2
84
0
0
0
0
0
0
0
0
0
0
0
23
-64
-22
10
4
0
0
7
0
0
0
0
0
0
0
0
0
6
-4
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
59
-8
49
-45
-29
-8
0
0
0
0
0
0
0
0
0
1
-26
34
-41
-8
-40
10
0
13
0
0
0
0
0
0
0
0
43
-23
73
-32
29
-20
-61
-24
-43
27
0
0
0
0
0
0
0
-42
49
52
52
-77
-2
-47
-6
-44
-58
0
0
0
0
0
0
0
-27
8
-42
27
50
-57
-20
-14
-29
-64
0
0
0
0
0
0
0
-5
-69
72
48
54
35
38
44
48
-127
0
0
0
0
0
0
0
-6
-17
-63
1
5
-15
-47
24
25
1
0
0
0
0
0
0
0
0
-7
-24
28
8
25
0
0
-20
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
-28
-36
-61
-17
0
0
-1
0
0
0
0
0
0
22
-80
7
-90
-18
-34
-45
0
-30
0
-17
0
0
0
0
0
0
2
28
85
-31
-10
-62
75
-45
-76
23
-28
0
0
0
0
0
0
-8
89
50
-11
73
12
12
-16
58
-13
3
0
0
0
0
0
0
8
5
60
-48
128
-90
-12
56
-10
-96
5
0
0
0
0
0
0
-3
-8
31
-4
-26
-38
0
-31
53
-77
25
0
0
0
0
0
0
0
-20
12
29
-10
10
-42
0
2
24
0
0
0
0
0
0
0
0
-17
2
69
6
6
-25
-1
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
7
-2
0
8
-14
-76
27
0
0
-1
0
0
0
0
0
0
27
66
-1
5
24
5
41
0
8
0
5
0
0
0
0
0
0
-12
13
-22
-48
12
-1
-67
-54
-82
-45
-19
0
0
0
0
0
0
31
58
2
-43
93
-7
-17
11
66
-41
45
0
0
0
0
0
0
-5
-3
29
22
5
-18
-30
3
6
-48
13
0
0
0
0
0
0
1
28
21
70
-51
-14
7
17
-41
35
2
0
0
0
0
0
0
0
23
24
-5
0
31
-42
10
-15
2
0
0
0
0
0
0
0
0
0
8
1
2
-14
24
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-32
5
0
-43
-117
0
0
-5
0
0
0
0
0
0
0
2
5
15
0
7
-4
28
0
-8
0
-8
-1
0
0
0
0
0
0
31
31
-43
-27
-60
71
-3
-24
-100
42
-8
0
0
0
0
0
27
53
35
39
-63
-5
-2
-79
-119
-54
3
0
0
0
0
0
0
-25
13
51
38
12
16
-57
47
30
-94
-19
-1
0
0
0
0
0
-4
8
48
-5
-76
2
-31
-42
-6
7
0
-4
0
0
0
0
0
0
7
41
39
8
-5
-23
32
-48
3
0
0
0
0
0
0
0
0
19
12
-30
-10
27
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-75
31
24
0
-59
-42
0
0
0
0
0
0
0
0
0
-2
16
8
62
12
-33
17
0
0
0
7
0
0
0
0
0
0
1
14
-18
47
-3
-35
-35
7
31
-51
2
0
0
0
0
0
0
0
-6
0
67
-14
-58
5
-18
8
-43
0
0
0
0
0
0
0
-25
23
8
33
-64
42
43
10
3
14
6
0
0
0
0
0
0
0
-83
-13
49
31
39
1
1
2
0
0
0
0
0
0
0
0
0
0
19
5
-15
-24
2
-25
-5
0
0
0
0
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
2
-9
1
0
-56
0
-8
2
0
0
0
0
0
0
0
7
-7
47
-10
50
5
0
0
0
6
-1
0
0
0
0
0
0
-12
72
-46
-37
-58
22
0
-2
1
31
0
0
0
0
0
0
0
0
-3
18
51
3
-60
12
0
-14
0
0
0
0
0
0
0
0
0
10
-25
-32
20
13
6
0
8
0
0
0
0
0
0
0
0
-16
45
30
-24
30
-6
0
-4
-25
0
0
0
0
0
0
0
0
0
-3
13
1
0
-1
5
0
1
0
0
0
0
0
0
0
0
0
2
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
13
7
14
0
1
1
0
-5
0
0
0
0
0
0
0
0
0
2
-2
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
-12
-5
-6
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
13
55
48
-31
24
0
0
0
0
0
0
0
0
0
0
0
6
-37
8
-37
-21
7
4
0
19
0
0
0
0
0
0
0
0
23
-8
54
47
-18
37
-5
48
31
0
0
0
0
0
0
0
0
52
13
-31
47
75
76
12
4
-71
0
0
0
0
0
0
0
0
50
64
1
20
22
58
51
-25
-159
0
0
0
0
0
0
0
0
25
-7
19
-79
49
-2
1
2
-6
0
0
0
0
0
0
0
0
-49
-7
1
32
35
0
8
16
-6
0
0
0
0
0
0
0
0
0
-1
0
17
0
3
7
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
51
16
-40
34
58
55
-4
0
-7
0
0
0
0
0
0
0
11
-28
7
0
-8
-9
-39
0
-6
0
0
0
0
0
0
0
0
-29
108
33
31
-42
37
55
-19
-41
58
0
0
0
0
0
0
0
18
29
66
26
9
71
3
-4
22
-57
0
0
0
0
0
0
0
-37
-15
76
30
-26
-3
-46
40
-20
-42
0
0
0
0
0
0
0
-1
-30
-94
48
-17
33
-25
-5
-20
71
0
0
0
0
0
0
0
-19
7
37
-20
44
7
0
4
-8
4
0
0
0
0
0
0
0
0
-2
-8
-8
19
-49
25
-6
3
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
-19
43
21
-72
-147
2
0
28
21
0
0
0
0
0
0
41
41
84
46
49
-31
8
0
28
0
42
0
0
0
0
0
0
-30
-23
-9
-27
-12
-31
-12
-44
83
14
13
0
0
0
0
0
0
48
-37
41
36
-51
31
25
-25
-31
64
-39
0
0
0
0
0
0
43
-13
75
51
-44
-25
-52
30
24
-16
17
0
0
0
0
0
0
0
-33
2
11
10
-19
8
84
-37
-60
-2
0
0
0
0
0
0
-9
14
92
18
53
-23
-113
-5
41
4
0
0
0
0
0
0
0
0
-13
-19
-35
47
33
9
-8
2
-8
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-21
-21
-32
-20
2
-2
-96
-9
0
0
27
0
0
0
0
0
0
-19
83
15
-3
-8
-10
9
0
12
0
-29
0
0
0
0
0
0
-9
41
33
59
35
51
27
-13
62
-13
59
-2
0
0
0
0
0
-15
8
32
4
4
-31
26
-2
48
74
24
2
0
0
0
0
0
8
-33
5
-15
53
-10
-33
59
30
2
-58
0
0
0
0
0
0
-1
-58
-42
-13
21
112
108
-15
29
14
-2
0
0
0
0
0
0
-8
0
16
17
67
51
-31
31
-25
0
4
-1
0
0
0
0
0
0
-2
4
2
0
8
2
-1
-4
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
7
-46
-7
-31
10
-18
-19
0
3
7
0
0
0
0
0
0
0
8
-47
14
-50
14
17
0
-17
0
-83
12
0
0
0
0
0
-12
22
-18
33
0
8
-93
-9
-17
26
75
2
0
0
0
0
0
8
-26
53
53
-3
7
-69
9
-16
-52
-1
-38
0
0
0
0
0
-5
-40
-44
-43
-41
-32
-14
7
2
-42
4
0
0
0
0
0
0
0
73
17
33
14
-85
-10
31
-1
42
-16
-6
0
0
0
0
0
0
-23
62
-32
21
5
7
9
-1
25
0
6
0
0
0
0
0
0
-3
15
44
2
-18
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
49
13
3
69
-4
32
-1
0
0
1
0
0
0
0
0
0
-17
21
-53
36
19
-14
-20
0
-59
0
-66
0
0
0
0
0
0
24
27
21
21
-44
-79
-59
49
43
-10
-41
1
0
0
0
0
0
-8
-20
-22
6
92
29
45
-25
25
25
9
0
2
0
0
0
0
-13
-8
11
27
4
-28
49
13
-20
-14
34
-2
0
0
0
0
0
0
-52
-8
-1
-10
-24
66
-17
25
25
0
0
0
0
0
0
0
0
-12
3
-28
-20
3
-1
0
0
1
0
0
0
0
0
0
0
0
0
8
-17
-12
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-64
36
15
31
2
0
0
16
8
0
0
0
0
0
0
-14
5
31
-60
-142
-67
0
-6
0
-16
9
0
0
0
0
0
0
0
5
8
-5
43
-121
13
-48
2
38
14
0
0
0
0
0
0
32
-35
35
-12
-58
-37
-21
14
-18
2
0
0
0
0
0
0
0
-4
-45
-8
16
-41
-31
-13
-8
-33
-3
0
0
0
0
0
0
0
-22
8
5
104
-33
-10
-13
-5
10
-8
0
0
0
0
0
0
0
0
-22
-8
25
3
5
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-30
-6
-18
-4
0
0
0
0
0
0
0
0
0
0
0
-3
16
5
5
0
0
-4
0
0
-6
0
0
0
0
0
0
0
13
-51
-3
44
-73
3
-43
3
0
0
0
0
0
0
0
0
-13
7
9
16
-35
0
-7
7
-10
-1
0
0
0
0
0
0
0
0
9
19
5
0
-13
0
1
-2
2
0
0
0
0
0
0
0
0
0
4
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-9
0
0
0
0
3
2
0
0
0
0
0
0
0
3
7
-8
-74
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
-3
16
0
-13
2
1
0
0
0
0
0
0
0
4
-5
1
-27
-2
0
0
0
3
-1
0
0
0
0
0
0
0
-3
-2
2
5
-17
21
-1
-5
-2
-2
0
0
0
0
0
0
0
0
0
6
-3
8
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
8
1
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
1
17
-37
0
-1
0
-1
1
0
0
0
0
0
0
0
1
7
-59
-59
-42
-19
-3
0
-45
15
0
0
0
0
0
0
0
-1
-13
4
-10
16
-45
9
0
2
0
0
0
0
0
0
0
0
1
-29
-3
3
-29
44
0
0
-1
3
0
0
0
0
0
0
0
0
1
-5
-31
-6
-9
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
2
3
0
0
0
0
0
0
0
-6
-5
-12
-10
0
1
0
2
5
0
0
0
0
0
0
0
0
0
0
-8
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
2
24
-12
15
0
0
0
0
0
0
0
0
0
0
0
-18
-27
76
31
26
-1
7
0
-27
0
0
0
0
0
0
0
0
-24
-54
-28
46
-2
-55
37
3
40
0
0
0
0
0
0
0
0
6
49
-28
49
22
43
-78
42
31
0
0
0
0
0
0
0
0
-24
-47
17
-72
39
69
19
-9
1
0
0
0
0
0
0
0
0
-5
52
33
-5
9
-25
4
0
-16
0
0
0
0
0
0
0
0
0
5
12
2
8
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
-29
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
46
38
42
-52
16
-34
-58
16
0
-2
0
0
0
0
0
0
0
-56
-40
-24
-18
-34
-57
-50
0
123
0
0
0
0
0
0
0
0
33
43
-20
4
9
-27
-37
26
12
-113
0
0
0
0
0
0
0
-23
13
16
-57
-28
-14
19
14
25
-91
0
0
0
0
0
0
0
87
5
13
-20
46
46
35
-66
-66
-31
0
0
0
0
0
0
0
-9
93
32
-1
5
18
19
-24
45
-23
0
0
0
0
0
0
0
0
17
50
1
-66
-46
-21
-8
-3
-1
0
0
0
0
0
0
0
0
-2
-15
24
-29
-9
5
3
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
45
-29
23
-24
-24
-29
0
45
1
0
0
0
0
0
0
-49
-9
-4
21
-70
-50
-35
0
-2
0
42
0
0
0
0
0
0
-13
84
46
-21
-24
-34
22
53
-57
-66
14
0
0
0
0
0
0
-10
34
-16
10
7
-51
-39
-114
-27
58
-7
0
0
0
0
0
0
-35
39
36
-20
-35
54
-64
12
92
-40
-7
0
0
0
0
0
0
0
29
-50
-3
70
5
-1
35
20
13
2
0
0
0
0
0
0
0
-56
31
-5
39
7
7
-89
13
-9
0
0
0
0
0
0
0
0
7
4
-2
7
43
-14
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
3
62
28
65
-1
18
-6
0
-1
7
0
0
0
0
0
0
48
-45
141
-25
53
-67
-38
0
-33
0
81
-2
0
0
0
0
0
-29
-33
-58
50
29
6
15
38
-18
-20
-30
-9
0
0
0
0
0
-12
-33
57
25
-30
-32
47
31
5
-92
-20
-1
0
0
0
0
0
-5
33
-14
17
16
39
42
44
2
29
-69
0
0
0
0
0
0
0
-25
2
-9
42
83
-56
13
-22
25
0
0
0
0
0
0
0
0
33
-2
5
-50
43
-3
-33
4
0
0
0
0
0
0
0
0
0
0
-8
24
-4
8
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
1
63
16
-41
59
-1
31
-4
0
4
-2
0
0
0
0
0
0
-5
-9
-24
-3
-53
-3
19
0
3
0
16
-13
0
0
0
0
0
23
-4
-18
45
50
42
-10
-3
-49
0
6
-8
0
0
0
0
0
-85
31
10
-33
-3
-13
-7
66
-41
7
-16
0
0
0
0
0
0
4
-40
23
-41
-16
22
-10
-30
-27
25
-8
-3
0
0
0
0
0
2
69
-34
-49
-2
-34
-69
9
1
-31
0
0
0
0
0
0
0
0
15
-4
4
37
0
25
14
2
-2
0
0
0
0
0
0
0
0
0
1
-56
-6
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-42
-49
13
-14
-13
-14
0
-5
17
0
0
0
0
0
0
23
1
22
32
6
15
51
0
1
0
10
0
0
0
0
0
0
-27
49
-8
0
-76
0
-9
75
22
76
9
1
0
0
0
0
0
90
89
-47
-30
-67
-71
-76
16
-29
1
8
1
0
0
0
0
0
13
35
-24
-47
23
41
-31
-6
-8
-24
2
2
-2
0
0
0
0
0
13
15
-42
-57
-25
14
6
-1
9
-3
0
0
0
0
0
0
0
5
31
15
16
2
-8
1
-4
13
0
0
0
0
0
0
0
0
3
0
30
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-31
15
-1
6
-24
9
0
-2
-10
0
0
0
0
0
0
0
-19
22
-36
66
-100
-28
0
7
0
-5
6
0
0
0
0
0
0
35
34
10
12
-34
5
-31
-5
-8
-37
1
0
0
0
0
0
0
2
50
-23
-4
-30
28
61
13
-4
-8
0
-1
0
0
0
0
0
-1
-13
-1
7
-6
16
9
-33
8
0
1
0
0
0
0
0
0
-2
15
-42
-8
-5
-14
24
0
3
0
0
0
0
0
0
0
0
0
-4
37
-10
-9
3
0
3
0
0
0
0
0
0
0
0
0
0
0
-7
-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
1
3
-4
13
-2
32
1
-5
0
1
-4
0
0
0
0
0
0
0
0
13
15
-9
-49
-3
0
2
0
2
0
0
0
0
0
0
1
2
42
5
2
-66
-44
2
-24
-6
-64
0
0
0
0
0
0
-10
1
-16
-68
-20
7
-92
12
17
2
0
5
0
0
0
0
0
0
-1
6
-1
3
5
0
1
-2
5
4
0
0
0
0
0
0
0
-1
-1
0
-2
-19
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-9
9
41
12
14
-1
8
0
0
0
1
0
0
0
0
0
0
-17
-15
34
23
72
-23
-13
0
-5
0
-1
0
0
0
0
0
0
1
-18
53
96
-51
7
-13
-37
4
-18
2
0
0
0
0
0
0
33
27
4
-53
33
5
42
-31
33
-8
-2
3
0
0
0
0
0
0
-3
19
28
49
23
4
-16
-5
-2
0
0
0
0
0
0
0
0
-7
1
-1
17
1
8
-2
2
0
0
0
0
0
0
0
0
0
-5
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-54
14
-40
-20
-41
8
0
-81
3
0
0
0
0
0
0
0
54
-14
-52
-31
58
-41
0
-1
0
1
0
2
0
0
0
0
0
-43
-24
2
-24
42
132
47
-43
-30
13
0
3
0
0
0
0
0
-9
-46
-139
43
-67
-47
-58
-17
15
-28
-2
0
0
0
0
0
0
-18
-16
-37
-49
-46
-22
57
-25
21
0
0
0
0
0
0
0
0
-15
-10
6
32
-70
8
1
4
-10
3
0
0
0
0
0
0
0
0
21
1
-38
4
9
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
1
2
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-2
7
1
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
-2
0
1
-17
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
49
2
-27
10
0
0
0
0
0
0
0
0
0
0
0
6
47
-41
33
-1
-41
13
0
-37
0
0
0
0
0
0
0
0
25
15
1
-44
10
-25
-5
20
-53
0
0
0
0
0
0
0
0
-3
41
6
58
31
-7
31
-1
13
0
0
0
0
0
0
0
0
-2
-31
-4
-25
25
-43
4
-29
-42
0
0
0
0
0
0
0
0
-2
8
22
5
43
-3
45
0
1
0
0
0
0
0
0
0
0
2
16
14
-13
-22
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
10
30
0
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
47
-4
17
13
-16
-28
83
-6
0
-3
0
0
0
0
0
0
0
-12
-25
14
23
-70
-72
-40
0
27
0
0
0
0
0
0
0
0
-59
-1
49
-33
14
-59
3
-59
-25
43
0
0
0
0
0
0
0
75
4
-58
-24
9
-4
49
-23
-66
-73
0
0
0
0
0
0
0
10
-12
-28
11
-56
-22
-87
9
-42
-54
0
0
0
0
0
0
0
18
21
-5
-71
-42
-8
31
6
-25
-44
0
0
0
0
0
0
0
0
6
-41
57
-52
30
-42
-12
10
-8
0
0
0
0
0
0
0
0
-1
-42
-64
-22
19
-4
-4
-2
0
0
0
0
0
0
0
0
0
31
8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
35
61
-1
3
-18
3
0
5
-2
0
0
0
0
0
0
8
-54
147
26
13
6
66
0
0
0
33
0
0
0
0
0
0
-1
-5
-41
66
22
32
-3
-59
31
-57
17
0
0
0
0
0
0
-37
-14
-43
-5
25
8
12
-6
-20
43
1
0
0
0
0
0
0
-66
4
-24
4
6
-63
-16
-11
-29
5
-1
0
0
0
0
0
0
0
25
-13
8
41
-63
-13
-17
-53
21
1
0
0
0
0
0
0
-13
-25
50
-76
-16
-100
58
-22
24
-3
-1
0
0
0
0
0
0
0
-20
-41
-29
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
3
1
49
41
13
16
-61
-5
0
1
6
1
0
0
0
0
0
-39
-71
-10
47
96
21
62
0
9
0
-55
0
0
0
0
0
0
-29
-63
29
25
11
10
30
-48
21
37
17
2
0
0
0
0
0
75
1
15
42
55
-23
5
75
-8
44
24
7
0
0
0
0
0
-19
-9
-76
30
21
-24
70
-12
19
3
1
0
0
0
0
0
0
4
-12
-13
-52
-70
-42
-14
-8
-24
-42
3
0
0
0
0
0
0
0
-6
-42
97
-6
30
-14
-13
5
0
-1
0
0
0
0
0
0
0
0
0
8
4
4
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-29
64
-10
33
-1
7
0
-3
7
0
0
0
0
0
0
0
-47
-21
40
-46
-9
0
0
37
0
23
0
0
0
0
0
0
-43
-20
26
-15
-31
-22
-32
-43
51
7
-13
-21
0
0
0
0
0
-15
-67
32
40
0
62
67
25
73
5
24
0
0
0
0
0
0
-3
-39
-52
-4
46
11
-42
-63
7
-48
-1
0
0
0
0
0
0
0
-94
-45
7
30
8
0
-42
-34
-7
-1
0
0
0
0
0
0
0
-1
-51
-49
-41
17
10
-8
39
1
0
0
0
0
0
0
0
0
-17
-25
-57
30
-2
-3
0
2
-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
4
42
77
18
21
50
18
1
0
0
3
0
0
0
0
0
0
1
30
2
-20
90
-20
-44
0
8
0
-13
0
0
0
0
0
0
25
-5
-13
-18
-13
-81
-8
20
7
28
-18
-4
0
0
0
0
0
-15
93
-12
-10
-93
-37
29
-13
-45
-46
-4
-3
0
0
0
0
0
-2
9
-39
-84
-49
-32
-30
-5
41
-44
-3
1
0
0
0
0
0
0
-25
-10
-46
5
53
41
-24
-23
0
-7
0
0
0
0
0
0
0
-7
-25
6
-29
37
-6
41
0
0
7
0
0
0
0
0
0
0
-4
-19
7
-13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
-1
-5
-20
9
0
0
0
0
0
0
0
0
0
0
0
20
9
65
17
22
20
0
0
0
2
0
0
0
0
0
0
0
-20
-8
1
41
45
1
-20
18
-68
4
-7
0
0
0
0
0
0
-25
2
-13
30
-15
0
2
-3
-5
-1
0
0
0
0
0
0
0
0
3
43
-19
19
55
-22
0
-7
0
3
0
0
0
0
0
0
35
-8
-5
-18
47
8
-4
1
7
4
0
0
0
0
0
0
0
0
2
-19
7
-8
-12
8
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-30
-7
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
15
-20
-31
-19
8
43
0
0
0
-10
0
0
0
0
0
0
-13
-1
-81
0
-18
7
-12
1
-8
10
1
0
1
0
0
0
0
0
-14
-23
-14
13
8
34
0
-16
0
1
-3
0
0
0
0
0
0
-6
-3
-25
-2
-34
-7
7
2
0
-3
0
0
0
0
0
0
0
0
-6
0
24
-8
7
-5
0
0
0
0
0
0
0
0
0
0
3
0
-1
-8
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
-25
10
27
-30
25
-12
-20
0
0
0
2
0
0
0
0
0
0
9
12
15
8
69
22
-18
0
5
0
1
0
0
0
0
0
0
-13
4
-38
17
-36
28
-55
-85
40
3
-6
0
0
0
0
0
0
22
-34
7
-26
18
-83
-21
12
2
9
2
0
0
0
0
0
0
-41
50
-33
-58
-31
-39
28
-13
-77
0
2
0
0
0
0
0
0
0
10
-57
32
15
-11
9
7
-5
0
0
0
0
0
0
0
0
0
-7
16
6
25
0
6
0
5
0
0
0
0
0
0
0
0
0
1
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-47
-75
-5
13
23
-12
0
20
0
0
0
0
0
0
0
0
-28
50
43
-3
-46
2
0
1
0
0
-1
0
0
0
0
0
0
41
105
-42
-35
7
1
-25
18
-16
1
0
0
0
0
0
0
0
8
45
53
-6
64
-40
-76
1
1
2
0
0
0
0
0
0
0
-1
-19
-28
10
11
-58
-6
9
76
0
0
0
0
0
0
0
0
-4
-13
-2
41
-47
-18
24
0
1
0
0
0
0
0
0
0
0
0
13
1
-17
6
-75
-13
0
2
0
0
0
0
0
0
0
0
0
13
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
-2
0
3
0
0
1
0
0
0
0
0
0
0
0
0
-4
-4
1
-9
0
0
0
5
-1
0
0
0
0
0
0
0
0
1
-3
-20
-1
-1
2
0
10
0
0
0
0
0
0
0
0
0
14
-1
23
-2
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
-22
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-14
7
-8
1
0
0
0
0
0
0
0
0
0
0
0
-16
13
-5
32
8
-19
-5
0
-8
0
0
0
0
0
0
0
0
-14
-7
24
-7
-31
12
2
1
-5
0
0
0
0
0
0
0
0
-4
70
-1
13
-13
-24
5
2
-23
0
0
0
0
0
0
0
0
0
0
3
24
21
5
4
0
-42
0
0
0
0
0
0
0
0
-10
-19
1
-15
-2
7
-37
-4
-9
0
0
0
0
0
0
0
0
2
-5
38
7
-13
0
0
-8
1
0
0
0
0
0
0
0
0
0
-30
-3
50
0
3
-10
-5
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
44
18
15
23
28
1
0
0
-1
0
0
0
0
0
0
0
59
73
2
-7
59
-5
-38
0
-5
0
0
0
0
0
0
0
0
23
75
6
-12
-31
-35
21
8
25
-47
0
0
0
0
0
0
0
2
-66
74
42
-30
-86
78
43
-13
31
0
0
0
0
0
0
0
9
0
-21
-62
15
42
-18
-37
49
-54
0
0
0
0
0
0
0
-19
-16
11
-45
-8
22
1
6
-29
22
0
0
0
0
0
0
0
4
-25
-13
-27
-4
-3
49
-43
-6
-34
0
0
0
0
0
0
0
0
18
34
-56
16
22
-1
0
-2
2
0
0
0
0
0
0
0
0
1
-25
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
116
-10
55
9
49
-2
0
-13
0
0
0
0
0
0
0
0
-35
-4
18
5
-26
52
0
24
0
-34
0
0
0
0
0
0
17
23
-1
22
-3
-89
-22
34
-32
-17
-16
0
0
0
0
0
0
13
-26
19
-25
34
11
-9
60
-31
-76
9
0
0
0
0
0
0
-1
-1
0
13
12
18
-16
-117
79
6
2
0
0
0
0
0
0
0
-50
41
25
20
49
-54
-53
-3
-81
8
0
0
0
0
0
0
0
-45
-46
43
-31
-15
30
1
-9
-5
0
0
0
0
0
0
0
0
-25
3
20
-49
-45
8
-8
1
2
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
44
-25
-6
-1
-18
-42
-5
0
0
4
0
0
0
0
0
0
8
23
25
22
2
41
47
0
-3
0
13
4
0
0
0
0
0
30
1
15
0
56
51
-14
-9
-28
69
-9
-3
0
0
0
0
0
15
70
-7
8
31
53
-37
-78
3
16
4
-2
0
0
0
0
0
-59
-42
-8
0
78
11
43
21
18
-7
-6
0
0
0
0
0
0
1
73
-45
49
37
26
32
-3
-29
-23
3
0
0
0
0
0
0
0
-1
-46
-24
-13
5
29
-7
0
0
0
0
0
0
0
0
0
0
0
5
-2
-31
15
2
-4
0
0
0
0
0
0
0
0
0
0
-13
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
43
4
-8
4
-13
0
-2
0
1
0
0
0
0
0
-4
10
-49
-3
81
-33
12
0
3
0
-8
2
0
0
0
0
0
1
13
7
39
-5
91
-16
-9
-4
5
9
-10
0
0
0
0
0
5
8
-51
-9
9
12
53
68
9
-19
-4
-1
0
0
0
0
0
2
-33
13
-5
1
-1
-75
54
-19
-7
0
0
0
0
0
0
0
0
-6
23
29
15
44
59
-21
9
-53
-4
1
0
0
0
0
0
0
-12
-8
19
-39
-31
13
-42
7
-1
0
0
0
0
0
0
0
0
1
-2
-21
-22
19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
8
0
0
0
0
0
0
0
0
0
-2
8
-7
-14
30
14
13
-1
0
0
0
0
0
0
0
0
0
2
63
-4
6
48
66
2
0
-2
0
10
-5
0
0
0
0
0
8
-33
41
-18
1
-9
-44
-13
19
-3
12
0
0
0
0
0
0
-10
15
51
8
49
17
5
19
17
8
-3
0
0
0
0
0
0
-8
-19
0
56
50
0
95
1
-5
-49
34
0
0
0
0
0
0
0
-8
-75
47
-10
-13
5
1
0
-23
-1
0
0
0
0
0
0
0
8
-43
-52
5
-31
29
4
8
0
0
0
0
0
0
0
0
0
3
2
13
13
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
8
53
12
25
6
-2
3
0
0
0
0
0
0
0
0
0
0
0
-22
46
-16
49
31
0
1
0
-16
-1
0
0
0
0
0
0
-6
81
-18
-46
14
-7
3
-5
-10
0
-1
0
0
0
0
0
0
12
-2
-5
-35
5
8
-5
-12
-43
1
2
0
0
0
0
0
0
-3
22
4
-18
50
0
16
34
45
0
-3
0
0
0
0
0
0
-8
-15
4
-35
-4
0
-7
0
-7
0
0
0
0
0
0
0
0
0
7
10
-43
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
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
-7
-2
-1
17
-1
1
-12
0
0
0
0
0
0
0
0
0
0
0
-9
-7
76
4
-69
-4
0
-3
0
5
0
0
0
0
0
0
-27
-25
14
7
4
33
-10
-32
8
2
4
0
0
0
0
0
0
6
7
-8
93
-57
-7
-15
1
-24
-7
-3
0
0
0
0
0
0
23
34
-3
8
8
30
8
0
-1
8
0
0
0
0
0
0
0
0
4
2
-25
-41
-35
-18
2
0
2
0
0
0
0
0
0
0
-2
0
-16
4
3
20
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
-3
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-50
23
-12
-5
-3
0
0
0
0
0
0
0
0
0
0
39
44
-97
-18
76
-17
48
0
0
0
-1
1
0
0
0
0
0
-13
-81
-25
31
-33
-22
-36
4
-62
-150
0
0
0
0
0
0
0
-42
49
-110
15
-38
41
-73
23
-9
-1
0
0
0
0
0
0
0
92
43
-3
46
-87
-84
-29
4
0
-12
0
0
0
0
0
0
0
-12
12
-63
-24
-68
-48
-22
25
-29
8
0
0
0
0
0
0
0
-1
8
49
75
-25
-19
-27
2
0
-3
0
0
0
0
0
0
0
0
0
-10
1
8
61
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-49
43
66
-15
22
-3
0
8
-3
0
0
0
0
0
0
0
33
9
51
36
22
-29
0
7
0
1
0
0
0
0
0
0
0
-17
-15
-4
-62
-40
28
5
-2
-50
1
0
0
0
0
0
0
0
-1
37
5
43
76
-9
-2
-16
-57
-2
0
0
0
0
0
0
0
-31
-26
-41
26
-52
-91
13
-25
0
-8
0
0
0
0
0
0
0
0
-44
35
-26
-61
39
17
-5
30
0
0
0
0
0
0
0
0
24
49
3
-69
-34
9
6
2
0
0
0
0
0
0
0
0
0
-2
0
-29
-16
3
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
0
0
0
0
15
0
0
0
0
0
0
0
0
-8
-3
15
0
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
-13
-7
3
0
3
0
-1
1
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
-1
-4
3
0
0
0
0
0
0
0
0
0
2
-1
-1
7
9
-1
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-12
-3
-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
-4
-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
-2
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-16
-1
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
10
5
17
-2
-9
3
0
0
0
0
0
0
0
0
0
0
7
-9
-43
-16
47
18
0
-23
-6
0
0
0
0
0
0
0
0
0
18
9
30
-2
6
-9
1
-35
0
0
0
0
0
0
0
0
17
-31
-34
23
72
-17
18
4
13
0
0
0
0
0
0
0
0
0
0
1
-21
-3
-23
4
33
-17
0
0
0
0
0
0
0
0
1
24
19
6
-4
2
0
0
7
0
0
0
0
0
0
0
0
0
10
0
2
0
0
-9
4
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
33
-3
-10
15
19
22
-1
0
-6
0
0
0
0
0
0
0
-16
-23
29
56
51
-83
-29
0
-6
0
0
0
0
0
0
0
0
-12
-14
13
5
81
-73
-29
-29
-22
4
0
0
0
0
0
0
0
-33
-5
-22
-10
73
-50
2
29
3
-14
0
0
0
0
0
0
0
-46
29
-18
44
-22
-42
-83
49
8
23
0
0
0
0
0
0
0
-1
0
-33
-67
-42
61
16
-16
-1
20
0
0
0
0
0
0
0
0
-10
5
5
86
-12
-10
5
-13
3
0
0
0
0
0
0
0
0
-68
6
54
44
-13
2
8
4
0
0
0
0
0
0
0
0
0
0
14
4
2
0
0
0
0
0
0
0
0
0
0
0
0
12
-31
32
-14
-12
47
-7
34
0
0
1
0
0
0
0
0
0
0
91
18
59
-3
-43
-13
0
0
0
19
0
0
0
0
0
0
-12
7
63
28
6
-31
93
12
-9
42
5
0
0
0
0
0
0
0
59
-13
22
3
-38
46
59
18
-69
8
0
0
0
0
0
0
24
16
122
1
-69
-17
26
8
-19
-9
-14
0
0
0
0
0
0
1
-17
0
15
-16
6
32
22
13
-5
3
0
0
0
0
0
0
0
3
-17
-15
42
10
39
-34
30
3
0
0
0
0
0
0
0
0
-32
42
-2
-75
-32
7
3
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
-13
-86
0
37
30
2
8
0
0
0
1
0
0
0
0
0
0
6
-37
-13
22
24
50
12
0
0
0
-10
0
0
0
0
0
0
-20
-10
24
60
15
92
16
-8
41
15
-53
-4
0
0
0
0
0
-42
25
-56
-91
-47
41
49
19
54
23
2
0
0
0
0
0
0
-16
5
3
31
11
42
-30
34
15
-13
42
0
0
0
0
0
0
-34
-44
22
0
7
42
7
-12
-9
14
-1
0
0
0
0
0
0
-12
-22
-19
10
-41
60
42
33
-42
0
0
0
0
0
0
0
0
0
-3
8
-1
3
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-96
22
59
15
29
28
0
0
3
0
0
0
0
0
0
0
3
1
9
7
76
42
0
3
0
-4
4
0
0
0
0
0
-3
4
-51
-29
48
-32
0
6
-34
45
0
0
0
0
0
0
0
0
-6
24
15
-81
-50
21
19
0
-48
5
0
0
0
0
0
0
-34
-2
5
18
48
1
72
41
-22
66
2
-3
0
0
0
0
0
0
-23
-30
-43
0
49
21
-18
-13
-3
0
0
0
0
0
0
0
0
-14
24
-46
53
59
45
5
-42
0
0
0
0
0
0
0
0
0
-7
43
-2
1
-9
-6
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-20
-35
13
-6
-5
0
0
1
0
0
0
0
0
0
0
63
28
58
24
3
-29
0
-2
0
0
0
0
0
0
0
0
-1
24
61
20
43
-8
-6
8
-24
-2
-4
0
0
0
0
0
0
0
27
9
-73
-11
123
84
-5
5
-3
6
0
0
0
0
0
0
5
23
-50
-1
24
19
31
-2
-5
-43
1
0
0
0
0
0
0
1
-50
24
-20
-21
0
21
8
-20
-2
0
0
0
0
0
0
0
1
-1
-25
3
-7
16
2
-7
13
-1
0
0
0
0
0
0
0
0
0
-2
2
-8
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-33
20
12
13
13
0
0
0
1
0
0
0
0
0
0
0
31
-37
36
-49
-23
15
0
0
0
0
0
0
0
0
0
0
0
4
-21
-24
46
1
133
-1
1
-6
0
0
0
0
0
0
0
0
24
20
-61
-10
-22
8
13
-1
-5
0
0
0
0
0
0
0
0
20
13
6
-33
8
-9
20
0
0
0
0
0
0
0
0
0
0
64
-12
31
7
70
0
0
1
-5
0
0
0
0
0
0
0
0
1
-42
-5
-56
-7
-13
0
-3
0
0
0
0
0
0
0
0
0
0
2
-14
-8
-31
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-8
-9
2
0
1
0
0
-1
0
0
0
0
0
0
0
-8
2
70
-2
-7
-7
0
1
0
0
0
0
0
0
0
0
-4
-2
-41
-23
-22
-50
8
-3
-5
0
-7
0
0
0
0
0
0
1
8
-17
-31
-4
-5
6
-17
0
0
0
0
0
0
0
0
0
13
3
21
-16
57
-34
13
0
-19
0
0
0
0
0
0
0
0
0
16
-10
18
9
-4
-20
0
6
0
0
0
0
0
0
0
0
-4
0
2
4
12
3
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-22
-1
14
-1
0
0
0
0
0
0
0
0
0
0
-1
94
1
-75
48
16
5
0
1
0
0
0
0
0
0
0
0
-3
27
50
7
25
-9
-22
-32
-72
-42
0
0
0
0
0
0
0
-8
54
-8
14
19
-28
-37
-120
-8
28
0
0
0
0
0
0
0
-7
-93
-39
27
0
9
-50
-9
-17
41
0
0
0
0
0
0
0
-24
26
38
-70
-48
-6
43
-1
0
8
0
0
0
0
0
0
0
6
-4
31
-22
-9
45
15
-15
8
0
0
0
0
0
0
0
0
0
9
24
-7
-23
12
6
3
3
-1
0
0
0
0
0
0
0
0
-16
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
35
-23
41
-6
0
-2
0
10
0
0
0
0
0
0
0
0
18
-36
14
11
-15
0
0
-2
0
0
0
0
0
0
0
0
0
-17
7
68
-13
-12
37
-3
2
-67
-3
0
0
0
0
0
0
0
54
37
17
133
15
14
-34
-7
-15
-2
0
0
0
0
0
0
0
-8
24
45
24
43
-49
-16
-43
-25
0
0
0
0
0
0
0
0
73
7
33
-80
-39
57
-3
8
0
0
0
0
0
0
0
0
0
0
12
-43
-36
-66
-9
-3
1
1
0
0
0
0
0
0
0
0
-2
15
-3
9
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
4
0
0
0
0
-14
0
0
0
0
0
0
0
0
-8
-19
0
6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
-22
23
1
0
0
-1
0
0
0
0
0
0
0
0
-19
0
17
-2
6
1
0
1
0
0
0
0
0
0
0
0
0
1
0
-10
-5
42
31
0
0
13
0
0
0
0
0
0
0
0
13
5
18
8
-42
8
-1
0
3
0
0
0
0
0
0
0
0
0
0
-9
-73
-9
-8
5
-1
8
0
0
0
0
0
0
0
0
0
0
24
0
7
2
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
-1
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
14
-3
24
42
0
0
0
0
0
0
0
0
0
0
-1
87
51
31
14
78
-26
0
-1
0
0
0
0
0
0
0
0
32
42
92
8
22
32
-110
0
-4
-14
0
0
0
0
0
0
0
10
2
21
52
25
-49
-35
-44
20
-25
0
0
0
0
0
0
0
25
3
-2
-6
-55
82
-21
17
-35
-13
0
0
0
0
0
0
0
-6
52
76
33
-8
-19
-5
17
0
-6
0
0
0
0
0
0
0
8
0
-1
22
25
-2
-44
5
12
-35
0
0
0
0
0
0
0
0
74
27
18
16
5
2
4
1
6
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-4
46
-35
42
51
-2
0
5
0
0
0
0
0
0
0
0
14
13
-49
3
28
28
0
2
0
3
0
0
0
0
0
0
-12
-29
-78
21
-49
14
9
1
12
29
-3
0
0
0
0
0
0
0
30
-8
13
-4
-13
-23
55
-41
32
-8
0
0
0
0
0
0
-7
23
4
61
-48
-27
75
10
-66
-14
13
0
0
0
0
0
0
0
-5
8
13
-3
59
-58
-66
35
-18
0
0
0
0
0
0
0
-6
-5
0
16
29
12
-67
-44
-34
-1
0
0
0
0
0
0
0
0
1
8
2
18
-14
3
3
0
-8
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
-35
-17
-33
14
2
0
0
-1
0
0
0
0
0
0
0
-5
35
21
-43
-13
-63
0
6
0
-4
0
0
0
0
0
0
-25
-3
2
-21
-24
47
-59
-24
-5
15
-58
0
0
0
0
0
0
0
33
-13
70
33
-42
25
-6
3
4
23
3
0
0
0
0
0
2
-3
-44
-6
58
7
97
15
1
12
0
0
0
0
0
0
0
7
20
29
-65
58
59
-4
-15
43
25
-7
0
0
0
0
0
0
6
-8
-54
0
24
24
24
24
0
23
0
0
0
0
0
0
0
0
1
5
-6
-5
-68
-7
2
0
0
0
0
0
0
0
0
0
0
0
22
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-28
16
-69
41
31
4
0
0
0
0
0
0
0
0
0
-6
-19
16
-50
-35
23
20
0
0
0
-1
0
0
0
0
0
0
-7
5
71
44
-7
5
-70
0
15
20
0
0
0
0
0
0
0
0
-42
-24
-5
22
-69
46
-8
-2
8
-8
0
0
0
0
0
0
-16
35
22
15
-11
-64
-18
0
14
44
0
0
0
0
0
0
0
0
6
1
7
8
27
2
-27
-33
-44
3
-1
0
0
0
0
0
0
4
-8
41
0
-8
27
-25
8
3
0
0
0
0
0
0
0
0
10
2
-31
25
7
8
0
-17
-2
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
13
49
-6
35
4
0
0
0
0
0
0
0
0
0
1
-25
39
-31
32
-2
19
0
-2
0
0
0
0
0
0
0
0
4
7
14
45
23
47
-52
0
1
31
-2
0
0
0
0
0
0
-2
0
8
33
-31
5
-6
25
-13
-33
0
0
0
0
0
0
0
6
0
-28
-7
-44
3
4
2
0
14
-23
0
0
0
0
0
0
1
-2
-13
-6
-17
-14
-21
49
4
2
-1
0
0
0
0
0
0
0
2
48
-13
-42
0
-3
8
33
-12
0
0
0
0
0
0
0
0
-4
2
8
16
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-49
-7
-3
1
0
0
0
0
0
0
0
0
0
0
9
45
-35
25
-17
2
0
0
0
0
0
0
0
0
0
0
0
8
6
20
-73
24
12
-1
0
-5
-1
0
0
0
0
0
0
0
-2
3
-35
-22
-9
29
27
0
0
0
0
0
0
0
0
0
0
2
-8
-25
18
5
-16
-10
6
-10
0
0
0
0
0
0
0
0
-12
-4
34
-29
7
4
-13
0
20
0
0
0
0
0
0
0
0
0
12
-3
-48
-20
0
-27
-22
-3
0
0
0
0
0
0
0
0
0
2
-15
-13
17
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
-2
1
4
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-5
12
0
8
0
0
0
2
0
0
0
0
0
0
-19
0
-49
1
-25
7
0
0
-1
-1
0
0
0
0
0
0
0
0
18
-2
-8
-4
-17
3
-3
-9
0
0
0
0
0
0
0
0
0
-8
17
-9
25
7
14
-1
-3
0
0
0
0
0
0
0
0
0
-19
-12
-72
13
8
-2
-4
-1
-6
0
0
0
0
0
0
0
0
0
-25
2
-14
0
-12
0
-5
0
0
0
0
0
0
0
0
0
8
0
-49
-2
-7
0
7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-8
9
-32
-10
24
-2
0
0
0
0
0
0
0
0
0
0
-5
24
-34
-18
-28
5
0
0
0
0
0
0
0
0
0
0
-4
-29
-31
-37
-63
10
-5
24
0
0
0
0
0
0
0
0
0
0
0
-25
-3
54
-13
25
1
10
31
0
0
0
0
0
0
0
29
-5
-45
-50
-23
47
-31
28
7
-28
0
0
0
0
0
0
0
0
-16
39
-50
8
7
13
14
3
4
0
0
0
0
0
0
0
0
5
41
-1
-49
8
-13
0
0
-18
0
0
0
0
0
0
0
0
-98
-27
69
8
24
-1
-19
-1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-8
-26
10
1
0
0
1
-7
0
0
0
0
0
0
0
-49
-24
57
-39
6
4
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
44
8
-13
3
0
-5
0
0
0
0
0
0
0
0
3
22
-46
3
27
30
24
0
9
0
0
0
0
0
0
0
0
2
-8
42
-4
-5
-39
18
8
-25
0
0
0
0
0
0
0
0
2
-1
-7
30
23
-102
10
1
-7
0
0
0
0
0
0
0
0
-41
-23
31
13
8
75
-19
-8
0
-1
0
0
0
0
0
0
0
0
-9
0
13
-16
2
22
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
10
1
4
0
0
0
0
0
0
0
0
0
0
0
-9
3
59
0
1
2
0
0
5
0
0
0
0
0
0
0
0
1
43
0
16
-1
8
0
0
-14
0
0
0
0
0
0
0
0
23
0
1
-14
-23
-10
0
5
0
0
0
0
0
0
0
0
0
0
93
4
45
0
42
-30
-9
1
0
0
0
0
0
0
0
0
0
2
-25
0
5
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
-6
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
8
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
42
0
60
1
-1
-7
0
0
0
0
0
0
0
0
0
0
14
0
46
2
1
4
0
6
49
-15
0
0
0
0
0
0
0
-5
14
7
-9
-24
91
72
-8
69
-24
0
0
0
0
0
0
0
-15
0
58
79
-126
27
-48
8
25
12
0
0
0
0
0
0
0
0
43
-4
37
15
9
-13
13
-8
-8
0
0
0
0
0
0
0
-24
2
62
25
-22
2
-1
3
-29
0
0
0
0
0
0
0
0
0
0
1
-41
7
10
-22
-7
-1
-4
0
0
0
0
0
0
0
0
-25
8
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-6
66
1
5
0
0
0
0
0
0
0
0
0
0
0
-75
1
4
-29
24
9
0
0
0
0
0
0
0
0
0
0
-3
1
10
-30
18
73
20
-3
2
-23
0
0
0
0
0
0
0
0
-41
24
31
47
55
53
-44
-4
-24
0
0
0
0
0
0
0
-4
12
22
41
-31
-2
20
1
6
6
-1
0
0
0
0
0
0
0
-23
-39
-26
-93
26
-29
13
-9
48
0
0
0
0
0
0
0
2
1
29
35
-38
-35
-18
-16
-10
13
0
0
0
0
0
0
0
0
8
0
7
9
23
-9
-8
0
0
0
0
0
0
0
0
0
0
-3
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-32
0
-19
0
0
0
3
0
0
0
0
0
0
0
-16
-1
22
-4
2
-2
0
0
0
-1
0
0
0
0
0
0
25
7
68
14
41
12
5
-3
8
-18
0
0
0
0
0
0
0
0
44
2
0
-13
21
-41
-13
0
0
3
0
0
0
0
0
0
-14
1
66
8
-9
-5
49
12
-1
3
0
0
0
0
0
0
0
0
-8
4
-17
7
0
-20
0
-4
0
0
0
0
0
0
0
0
-1
0
-2
20
-98
-1
-25
-10
-42
0
0
0
0
0
0
0
0
0
-7
-7
0
1
-3
0
-20
0
-9
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
54
0
0
-32
4
0
0
0
0
0
0
0
0
0
0
0
33
-18
37
-4
-7
3
0
0
0
7
0
0
0
0
0
0
2
0
-2
27
-6
5
43
2
4
-4
0
0
0
0
0
0
0
0
37
43
0
-2
-11
28
6
0
0
0
0
0
0
0
0
0
0
1
-4
39
3
25
41
16
9
3
0
0
0
0
0
0
0
0
-20
7
-27
34
37
-1
-6
5
-27
0
0
0
0
0
0
0
-1
2
-34
-14
2
-7
0
7
-7
-10
0
0
0
0
0
0
0
0
-6
0
15
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-7
21
-13
8
0
0
0
0
0
0
0
0
0
0
0
-49
0
27
-14
-17
-16
0
0
1
0
0
0
0
0
0
0
0
0
10
-1
6
-1
23
-5
-1
1
3
0
0
0
0
0
0
0
0
0
-30
-9
-9
4
-4
-5
0
2
0
0
0
0
0
0
0
0
0
3
-4
4
-14
4
-6
3
-1
0
0
0
0
0
0
0
-4
0
7
0
8
-3
1
1
7
0
0
0
0
0
0
0
0
0
2
-5
-10
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-10
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-20
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
1
0
-5
0
9
0
0
1
0
0
0
0
0
0
0
0
-6
0
-2
3
-16
13
4
0
0
0
0
0
0
0
0
0
0
-23
0
0
-29
-17
-34
0
0
0
0
0
0
0
0
0
0
0
0
2
12
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
-33
2
5
-1
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
48
-8
-7
-4
0
-104
0
0
0
0
0
0
0
0
22
-20
43
9
-2
-27
-1
-30
-5
0
0
0
0
0
0
0
3
1
6
0
-43
-92
-13
48
-6
-7
0
0
0
0
0
0
0
0
-2
-5
26
-13
20
-35
0
0
-3
0
0
0
0
0
0
0
0
0
-27
9
-24
0
-3
0
0
-6
0
0
0
0
0
0
0
0
8
0
8
12
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
30
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-22
4
0
-2
0
0
23
0
0
0
0
0
0
0
0
0
0
3
15
8
-2
-2
0
0
1
0
0
0
0
0
0
0
0
4
25
-10
5
-8
0
0
-5
0
0
0
0
0
0
0
0
4
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-24
12
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-12
-10
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
58
3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
-23
1
-9
2
0
-6
0
0
0
0
0
0
0
0
-42
1
12
0
30
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-5
50
-1
0
0
0
0
0
0
0
0
0
0
0
0
-35
-3
27
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
-18
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-1
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-24
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-13
0
-3
0
0
-7
0
0
0
0
0
0
0
0
0
0
-12
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
13
14
-29
41
0
0
0
0
0
0
0
0
0
-3
-12
-3
2
-13
34
69
-39
-40
0
0
0
0
0
0
0
0
5
-28
5
27
91
-7
22
23
-6
0
0
0
0
0
0
0
0
3
0
21
-10
-13
-45
-20
14
-32
0
0
0
0
0
0
0
0
1
-8
-4
42
-1
9
7
-6
-32
0
0
0
0
0
0
0
0
0
5
0
-9
3
42
19
23
-2
0
0
0
0
0
0
0
0
0
-8
-3
27
1
-12
34
9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-25
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
19
58
-3
2
17
24
0
-24
0
0
0
0
0
0
0
-48
6
9
10
3
32
74
-16
12
41
0
0
0
0
0
0
0
25
-15
11
-8
81
-32
99
-3
0
-8
0
0
0
0
0
0
0
-66
-35
0
26
-7
-8
-45
41
-47
-7
0
0
0
0
0
0
0
3
44
69
-61
-52
98
10
-20
9
-1
0
0
0
0
0
0
0
-8
3
61
6
-22
-38
19
-90
-25
7
0
0
0
0
0
0
0
22
19
-33
16
-83
-15
7
18
-7
-4
0
0
0
0
0
0
0
0
1
-7
1
8
-63
-48
2
57
13
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
2
0
0
0
0
0
0
0
0
0
-41
0
-13
-24
70
-12
-13
0
-16
17
0
0
0
0
0
0
-31
8
-7
71
-20
48
-45
-7
-79
10
-7
0
0
0
0
0
0
13
29
4
-31
-12
71
48
30
-69
0
10
0
0
0
0
0
0
-5
45
54
43
58
4
-11
51
14
42
25
0
0
0
0
0
0
0
54
54
53
-145
63
-98
-40
-63
-52
0
0
0
0
0
0
0
0
-1
2
-7
-19
78
-93
50
13
-29
-31
0
0
0
0
0
0
0
7
-25
4
-6
-27
-21
76
27
6
0
0
0
0
0
0
0
0
-23
-14
-19
-37
36
-50
34
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
59
3
-6
0
-16
-14
0
0
0
0
0
0
14
-53
9
-17
8
48
-22
70
-19
-58
-6
1
0
0
0
0
0
7
-21
4
5
49
66
29
20
1
16
7
0
0
0
0
0
0
-5
-6
31
-69
-26
-6
57
4
43
7
63
0
0
0
0
0
0
86
17
-76
9
18
-7
-103
54
-32
5
6
0
0
0
0
0
0
0
-6
-7
-17
10
-55
-49
8
-44
18
19
-2
0
0
0
0
0
0
2
0
4
8
35
-17
43
44
32
-1
0
0
0
0
0
0
0
-1
-4
-1
-15
17
-6
-18
-12
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
-120
-11
76
0
1
-6
-3
0
0
0
0
0
0
-41
14
5
-12
31
-63
7
-39
-50
54
-2
0
0
0
0
0
1
0
56
7
34
-85
7
-6
-79
41
0
21
0
0
0
0
0
0
71
-62
68
-34
21
-38
17
47
0
8
0
0
0
0
0
0
-1
-83
27
56
9
-77
30
41
27
8
2
0
0
0
0
0
0
0
-4
-18
5
15
-90
-31
-96
-1
24
-4
0
0
0
0
0
0
0
-8
32
5
-25
4
-16
-13
-57
-37
0
0
0
0
0
0
0
0
-2
-1
6
-20
25
8
27
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
-2
0
0
-6
0
50
13
0
-25
-3
0
0
0
0
0
0
-3
67
2
1
92
26
-40
56
-42
-25
2
-2
0
0
0
0
0
-3
-27
-25
45
42
-61
-48
-37
-47
52
-1
0
0
0
0
0
0
10
11
7
-13
63
-21
-18
-20
75
31
6
0
0
0
0
0
0
10
-24
-27
-1
-31
-32
13
41
-17
2
-16
0
0
0
0
0
0
0
-7
1
-14
16
19
-49
2
-29
-10
41
0
0
0
0
0
0
0
0
-2
-1
-2
0
22
-9
10
-16
0
0
0
0
0
0
0
0
-3
0
0
8
-20
-6
24
34
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
41
0
13
1
0
0
0
0
0
0
0
37
53
59
-27
0
41
0
48
32
3
0
0
0
0
0
0
0
43
-3
35
6
49
-31
-47
49
-6
5
0
0
0
0
0
0
0
-10
0
-3
96
-3
-35
13
-15
3
-19
0
0
0
0
0
0
0
-2
4
24
0
-24
-16
12
69
-25
2
0
0
0
0
0
0
0
10
0
0
0
6
-19
-80
-8
4
3
0
0
0
0
0
0
0
0
3
-7
3
-8
68
-15
-34
4
0
0
0
0
0
0
0
0
0
0
-13
0
-4
8
13
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
13
0
37
0
0
0
0
0
0
0
0
0
0
0
-6
-35
-4
13
30
-1
0
0
0
0
0
0
0
0
0
5
0
1
0
-3
-2
4
2
-1
0
0
0
0
0
0
0
0
0
0
4
-17
-8
0
-7
2
3
0
0
0
0
0
0
0
0
3
1
0
1
3
-14
-25
-10
-4
0
0
0
0
0
0
0
0
0
-8
-2
0
0
6
4
-10
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
5
0
-13
-8
0
0
0
0
0
0
0
0
0
0
0
-6
3
5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
124
6
6
9
10
-15
0
0
0
0
0
0
0
0
0
-2
-12
4
70
-41
74
19
-29
-16
0
0
0
0
0
0
0
0
-32
29
-29
-49
25
50
-22
48
5
0
0
0
0
0
0
0
0
-1
63
-17
-49
46
-51
50
-14
2
0
0
0
0
0
0
0
0
13
45
33
48
17
-50
13
-33
-41
0
0
0
0
0
0
0
0
20
16
7
10
39
-2
9
-4
5
0
0
0
0
0
0
0
0
-3
-24
6
-18
-22
-9
31
-10
22
0
0
0
0
0
0
0
0
0
1
0
8
0
-34
35
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
30
-1
0
0
0
0
0
0
0
0
0
67
77
-49
20
-14
26
75
-38
0
6
0
0
0
0
0
0
0
27
-6
-56
58
-41
71
5
37
15
9
0
0
0
0
0
0
0
96
32
-22
61
27
-49
-31
44
-26
-25
0
0
0
0
0
0
0
49
55
36
-8
-5
20
-1
9
41
-45
0
0
0
0
0
0
0
-120
57
5
41
-41
-22
105
31
-15
-44
0
0
0
0
0
0
0
-5
9
-13
84
-32
-5
24
25
-22
-13
0
0
0
0
0
0
0
-88
18
-18
-27
80
-58
-8
-76
-1
13
0
0
0
0
0
0
0
3
0
0
-42
34
8
-28
-9
-48
3
0
0
0
0
0
0
0
0
0
-2
0
9
0
24
0
0
0
0
0
0
0
0
0
0
12
65
19
-53
41
-11
-1
43
0
69
7
0
0
0
0
0
0
13
-77
1
22
-67
3
-20
92
-8
72
-6
0
0
0
0
0
0
0
-46
-18
7
53
17
50
12
-46
-38
-13
0
0
0
0
0
0
18
-6
83
-25
36
23
-98
-28
73
-44
15
0
0
0
0
0
0
-10
-1
-7
14
-5
27
26
-34
31
-8
-23
0
0
0
0
0
0
1
-15
-10
-13
-11
2
-37
67
-19
22
2
0
0
0
0
0
0
0
23
41
-12
57
30
-44
8
9
46
-4
0
0
0
0
0
0
0
-6
0
-8
24
46
-71
-63
-13
-25
0
0
0
0
0
0
0
0
0
0
1
0
-5
3
-1
9
-3
0
0
0
0
0
0
0
25
10
22
-2
-55
9
-27
-53
0
23
5
0
0
0
0
0
0
68
-32
56
31
39
-5
50
45
14
-44
10
0
0
0
0
0
0
21
10
79
-23
-42
-25
18
43
-27
-2
44
-16
0
0
0
0
0
-44
69
27
-43
-17
16
-40
27
16
-45
-8
0
0
0
0
0
0
3
66
21
-31
-48
29
28
-29
-45
15
10
2
0
0
0
0
0
-5
-41
-29
46
-45
63
-52
54
13
5
31
0
0
0
0
0
0
1
5
3
-4
-42
13
-56
3
23
17
24
0
0
0
0
0
0
1
-2
13
-3
12
17
4
13
-49
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
2
1
4
0
0
0
0
0
0
0
-7
-19
-54
21
-2
-7
-58
-83
0
-49
-86
-7
0
0
0
0
0
42
-46
41
12
-14
19
41
7
-54
-56
-70
-10
0
0
0
0
0
41
-8
-32
-26
14
30
-28
-30
-18
-6
4
-7
0
0
0
0
0
54
-5
41
60
-96
44
16
8
-25
-61
-52
5
0
0
0
0
0
5
47
7
30
98
-32
8
42
-20
14
0
24
2
0
0
0
0
-4
3
49
1
24
-63
41
-44
-13
-38
-8
-2
0
0
0
0
0
0
0
0
5
19
-54
-37
-3
7
-23
2
3
0
0
0
0
0
0
0
0
-7
0
34
12
-25
-14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-6
0
0
0
0
0
0
0
0
-59
8
-14
-46
-27
-2
29
27
0
-53
-61
3
0
0
0
0
0
-30
-22
17
-1
-9
3
39
26
17
1
13
-4
0
0
0
0
0
31
17
9
-15
63
57
4
12
-59
61
-12
-8
0
0
0
0
0
-59
26
-19
70
33
-4
30
2
-16
65
-9
-5
0
0
0
0
0
0
-4
34
9
-29
18
136
35
30
-50
24
0
-3
0
0
0
0
3
0
23
-40
2
-15
65
31
-4
-43
49
2
0
0
0
0
0
-5
7
-1
8
-5
-45
-42
10
22
10
2
5
0
0
0
0
0
0
3
0
0
0
9
25
-63
13
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
41
-20
-4
-30
-95
-49
3
0
-69
14
0
-1
0
0
0
0
0
-24
-53
-30
0
-18
47
31
-34
-50
-20
-20
-1
0
0
0
0
0
-17
39
47
83
3
8
-30
-37
14
24
0
0
0
0
0
0
0
-7
-25
1
44
-41
-4
-36
35
34
-5
-4
0
0
0
0
0
0
1
25
-4
-3
6
-26
-77
43
-25
-8
-4
0
0
0
0
0
0
8
-8
-19
-3
-4
-43
18
15
-12
1
0
0
0
0
0
0
0
0
0
-4
-18
-10
45
9
1
-4
0
0
0
0
0
0
0
0
5
0
0
0
-9
-8
-45
20
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
0
0
8
1
-16
0
20
-1
2
0
0
0
0
0
0
0
-2
10
-1
0
-31
-8
4
-23
4
-2
0
0
0
0
0
-4
0
-12
56
-22
-4
-35
1
-43
-14
-2
1
0
0
0
0
0
0
4
1
0
4
0
12
-5
22
5
13
-1
0
0
0
0
0
-5
0
-3
0
-4
8
-21
-5
-25
-2
1
0
1
0
0
0
0
0
0
0
0
3
-8
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
6
0
-13
-1
-50
0
-22
0
0
0
0
0
0
0
0
-7
-8
-13
8
8
8
-3
10
-2
-5
0
-1
0
0
0
0
0
10
10
-6
-8
-2
-32
30
-5
-9
0
0
0
0
0
0
0
0
3
0
-3
13
51
12
-3
-10
5
1
0
0
0
0
0
0
0
0
-4
4
2
0
-10
14
4
1
0
0
0
0
0
0
0
0
6
0
0
6
1
0
0
5
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
2
1
-6
-2
-18
41
0
2
-7
0
0
0
0
0
0
0
0
10
-1
34
-5
-43
43
10
-36
-1
1
0
0
0
0
0
0
0
-16
-25
25
-2
-54
-4
77
22
-15
0
0
0
0
0
0
0
0
1
0
0
-1
-41
-31
5
-19
7
0
0
0
0
0
0
0
0
9
0
4
8
-15
0
-7
7
-7
-2
0
0
0
0
0
0
0
0
4
0
1
0
-4
1
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-10
5
0
-13
0
-1
0
0
0
0
0
0
0
0
9
0
2
5
-18
-10
-4
-3
0
0
0
0
0
0
0
0
0
-3
-1
3
14
-8
-25
-22
0
2
0
0
0
0
0
0
0
0
0
-2
0
3
-19
23
2
0
2
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
22
5
-15
-81
65
0
0
0
0
0
0
0
0
0
0
16
18
4
47
49
39
-14
80
0
0
0
0
0
0
0
0
31
32
22
-18
8
-5
-18
-15
41
0
0
0
0
0
0
0
0
-7
0
-23
65
66
63
43
-47
1
0
0
0
0
0
0
0
0
4
-13
48
-48
-30
46
49
-22
-30
0
0
0
0
0
0
0
0
-2
-37
32
-46
-22
-28
-8
-19
0
0
0
0
0
0
0
0
0
0
-3
0
0
13
39
-7
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-52
-24
-23
58
-46
-42
0
-51
0
0
0
0
0
0
0
-22
37
-48
-41
75
5
16
-23
57
-53
0
0
0
0
0
0
0
18
24
-35
-33
41
58
-22
71
55
-13
0
0
0
0
0
0
0
12
-10
-50
-35
2
76
-47
-29
-13
8
0
0
0
0
0
0
0
4
3
-83
35
87
-37
72
13
10
23
0
0
0
0
0
0
0
-41
68
10
-46
-68
13
38
-25
-25
19
0
0
0
0
0
0
0
12
0
-8
8
-18
-17
-34
33
-39
-13
0
0
0
0
0
0
0
0
0
-1
27
18
-3
0
-12
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
10
-4
40
12
60
-24
-18
0
1
-35
0
0
0
0
0
0
-42
5
-50
-18
42
43
-12
43
-85
57
-39
0
0
0
0
0
0
1
20
-16
28
-86
-3
5
-14
41
-36
7
0
0
0
0
0
0
-17
38
-35
-60
3
-62
-22
50
-24
-18
8
0
0
0
0
0
0
16
-8
-25
-59
-26
-21
-16
-31
-1
47
-4
0
0
0
0
0
0
0
-15
31
1
52
31
-58
30
-47
34
10
0
0
0
0
0
0
0
-5
-3
49
76
29
18
10
54
-9
0
0
0
0
0
0
0
0
0
-1
0
8
-8
2
75
-31
-1
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
8
0
0
0
0
0
0
0
0
0
-5
49
-7
-27
118
-26
12
8
0
-58
13
0
0
0
0
0
0
-5
-9
8
2
7
42
78
23
11
-51
-29
0
0
0
0
0
0
-33
-5
53
7
-30
12
41
-31
-40
33
17
0
0
0
0
0
0
-52
-24
0
86
-81
12
19
50
15
30
7
0
0
0
0
0
0
-1
-49
69
-22
68
-19
-28
30
65
-17
-21
1
0
0
0
0
0
1
5
-10
5
8
50
59
1
-69
-24
-3
3
0
0
0
0
0
0
20
31
4
-16
-24
12
-25
22
-2
18
0
0
0
0
0
0
0
-5
-1
0
13
-22
-13
-32
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
-2
0
0
0
0
0
0
0
5
-47
52
27
45
24
47
-9
0
-23
14
1
0
0
0
0
0
-29
11
-42
-76
-104
-37
-22
-26
7
25
-11
-35
0
0
0
0
0
9
55
-8
-47
-31
43
-41
12
51
-4
35
0
0
0
0
0
0
0
-14
-9
5
-19
2
-4
52
20
40
-23
20
0
0
0
0
0
25
42
61
26
-42
6
2
51
25
2
19
0
0
0
0
0
0
0
10
41
-2
-1
-15
20
59
-42
23
-6
0
0
0
0
0
0
0
10
-7
67
4
-31
69
21
25
-3
6
0
0
0
0
0
0
0
-2
0
0
0
-9
3
10
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
15
2
14
30
-24
-17
20
8
0
12
7
-2
0
0
0
0
0
18
-9
49
13
-8
25
-15
15
50
-16
-20
-12
0
0
0
0
0
-5
-22
-15
41
48
35
8
14
39
-6
-4
-4
0
0
0
0
0
8
-39
-33
-29
53
0
28
58
-38
-8
1
0
0
0
0
0
0
-5
-42
30
43
1
-18
22
24
0
-12
-1
2
0
0
0
0
0
1
-3
5
1
-57
18
42
-74
-33
8
1
1
0
0
0
0
0
0
0
1
8
-4
8
-34
0
4
27
-6
-2
0
0
0
0
0
0
0
-13
5
0
-17
1
-45
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
10
-22
-34
-29
-42
0
-7
17
6
0
0
0
0
0
-5
-29
-15
20
29
-42
-31
-21
-58
68
4
-12
-1
0
0
0
0
0
-29
69
35
-33
28
-22
-24
59
31
46
-3
0
0
0
0
0
0
-8
-14
-25
-4
20
6
86
-27
-4
25
-6
-2
0
0
0
0
0
4
24
-2
9
-74
30
22
-42
-32
8
9
0
0
0
0
0
0
7
6
2
42
-58
0
27
-16
1
-5
0
0
0
0
0
0
0
0
3
-1
2
-1
17
-4
-23
-15
-3
0
0
0
0
0
0
0
0
0
3
0
0
-3
28
-25
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
8
0
7
3
41
-18
17
-13
0
24
-14
-1
0
0
0
0
0
13
-2
-5
5
8
12
-8
69
-92
-25
3
3
0
0
0
0
0
5
-9
-12
-21
-29
15
-19
-7
46
60
13
-3
0
0
0
0
0
0
0
0
14
-83
-52
4
-58
0
14
13
0
0
0
0
0
0
1
20
0
0
47
1
-63
-15
-27
5
8
2
0
0
0
0
0
0
0
0
-10
-1
17
3
-34
-9
13
-2
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-14
23
-12
-92
58
-4
14
0
-22
0
0
0
0
0
0
0
-4
71
13
-13
4
-44
-36
-31
-3
-2
-1
1
0
0
0
0
0
6
49
32
-101
5
-59
7
-38
24
0
0
1
0
0
0
0
0
12
-17
-5
-25
-29
-46
66
-45
6
-23
0
0
0
0
0
0
0
4
-3
1
-45
-20
-84
-5
31
13
-1
0
0
0
0
0
0
0
0
0
-1
6
5
0
-20
-32
-31
0
0
0
0
0
0
0
0
4
0
4
0
-1
-7
8
-3
-1
0
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
14
9
-1
44
23
9
0
-50
3
0
0
0
0
0
0
0
-22
-28
-58
-17
-22
-78
10
20
-8
31
0
0
0
0
0
0
0
57
-56
-13
-90
64
66
17
-37
5
-39
-4
0
0
0
0
0
0
14
35
-30
34
39
57
5
-61
41
0
6
0
0
0
0
0
0
-37
0
-24
-31
71
57
-12
-5
13
1
0
0
0
0
0
0
0
-25
39
-8
-32
-64
-13
11
-8
-83
3
1
0
0
0
0
0
0
1
1
5
-24
-1
52
61
-63
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
-37
-58
2
-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
1
0
0
5
9
6
0
-2
5
0
0
0
0
0
0
0
0
4
1
1
14
-5
15
-32
1
35
-2
0
0
0
0
0
0
0
0
0
0
5
3
-24
16
14
0
0
0
0
0
0
0
0
0
-7
0
0
0
-1
0
1
-3
4
0
0
0
0
0
0
0
0
0
0
2
14
22
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
5
3
4
0
-2
0
0
0
0
0
0
0
0
-4
0
-1
4
0
-4
-10
2
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
-7
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
5
25
-10
13
-35
-29
0
0
0
0
0
0
0
0
0
1
15
-13
-46
-29
37
32
5
-13
0
0
0
0
0
0
0
0
9
46
5
-157
16
16
48
5
49
0
0
0
0
0
0
0
0
0
0
10
-6
42
1
-20
41
72
0
0
0
0
0
0
0
0
0
5
-60
-5
5
42
14
-7
-3
0
0
0
0
0
0
0
0
0
-2
1
-25
17
41
-2
8
-1
0
0
0
0
0
0
0
0
0
-1
0
-7
43
-1
32
-9
-2
0
0
0
0
0
0
0
0
0
0
0
18
-1
1
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
-53
10
-53
33
3
-35
-17
-31
0
-41
0
0
0
0
0
0
0
56
13
37
-30
53
-57
26
-7
-72
18
0
0
0
0
0
0
0
1
-6
-91
-5
-9
50
-50
67
-92
6
0
0
0
0
0
0
0
48
12
-31
7
-78
-50
49
21
49
-15
0
0
0
0
0
0
0
43
-24
0
15
-49
-13
11
3
-119
19
0
0
0
0
0
0
0
5
-12
-52
15
-8
-11
-47
7
25
-66
0
0
0
0
0
0
0
-31
-3
-4
-8
-11
52
10
75
13
24
0
0
0
0
0
0
0
1
-1
-6
-19
-14
-5
-23
-12
13
-3
0
0
0
0
0
0
0
0
0
0
-3
8
0
1
6
0
0
0
0
0
0
0
0
0
8
-10
-13
9
2
1
26
-32
0
-12
2
0
0
0
0
0
0
15
-57
-39
46
-53
13
-16
75
-41
8
24
0
0
0
0
0
0
-27
9
-23
-18
4
-28
-38
37
1
34
-1
0
0
0
0
0
0
0
31
-2
24
28
28
-6
-39
30
34
18
0
0
0
0
0
0
79
49
1
32
-37
-53
41
-43
76
-3
0
0
0
0
0
0
0
-7
13
2
-29
15
-15
-41
-15
81
23
-6
0
0
0
0
0
0
0
-5
-8
14
13
17
-20
-43
44
3
-8
0
0
0
0
0
0
0
-7
0
-12
-3
-49
-55
-30
-21
-25
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-18
-5
0
0
0
0
0
0
0
0
23
27
22
25
27
76
3
-56
0
40
3
0
0
0
0
0
0
-32
-16
8
71
16
-54
47
38
7
12
-4
0
0
0
0
0
0
10
-48
6
55
-102
-9
66
3
30
-22
59
2
0
0
0
0
0
-5
24
89
-3
17
-2
-73
17
-54
40
25
0
0
0
0
0
0
-53
-18
44
-52
55
29
-18
-30
-13
-41
2
0
0
0
0
0
0
17
16
54
-42
-44
-2
15
5
-41
-9
-12
1
0
0
0
0
0
0
25
-9
2
4
32
-41
49
66
-18
-8
0
0
0
0
0
0
0
1
-1
0
2
-32
9
7
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
3
5
0
0
0
0
0
0
0
0
-5
-8
0
1
54
-65
-52
0
79
9
-3
0
0
0
0
0
30
24
3
45
48
49
20
-37
13
10
13
5
0
0
0
0
0
-10
-49
66
-66
-23
5
26
-15
-8
31
-3
1
0
0
0
0
0
-8
-16
-20
12
-10
74
7
-94
26
13
-6
3
0
0
0
0
0
-2
51
-25
-52
5
31
-36
60
52
-19
0
-2
0
0
0
0
0
3
-43
16
0
-16
-18
0
-26
-13
-39
4
0
0
0
0
0
0
0
1
15
-37
49
-32
2
13
66
-8
-1
0
0
0
0
0
0
0
-5
0
-1
0
18
20
-54
6
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-13
-43
64
-4
49
9
0
45
-24
-1
0
0
0
0
0
10
41
-44
-24
31
-62
10
44
-26
-52
10
0
0
0
0
0
0
0
-1
46
-12
0
-8
5
99
102
-5
19
-13
0
0
0
0
0
0
10
-41
31
81
-22
32
63
-1
67
4
-1
0
0
0
0
0
25
23
3
-14
-18
7
68
13
-3
-3
21
-5
0
0
0
0
0
0
-5
24
7
-49
-1
-39
24
-15
8
-3
0
0
0
0
0
0
0
0
-3
25
24
31
-19
6
-33
27
3
0
0
0
0
0
0
0
0
10
0
0
5
-3
19
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
3
6
-13
8
-19
-41
0
-24
24
0
0
0
0
0
0
-5
-18
9
-29
-66
72
-4
-74
25
-67
42
8
2
0
0
0
0
0
5
9
-9
3
18
41
-97
-17
-13
14
1
0
0
0
0
0
0
60
2
8
14
5
12
-66
-92
-24
3
0
0
0
0
0
0
0
-3
-13
2
-47
4
-49
-14
77
-42
0
0
0
0
0
0
0
0
-17
-2
-2
-2
37
4
22
1
-5
-4
0
0
0
0
0
0
0
0
0
-5
-49
-2
46
-6
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
1
0
-3
-6
-1
40
22
29
0
42
2
0
0
0
0
0
0
-10
7
10
17
27
13
-52
46
-41
4
24
0
-5
0
0
0
0
9
0
1
-3
0
41
-32
-8
-3
27
-14
0
0
0
0
0
0
4
-19
-2
-34
42
-5
16
0
-5
-43
-6
0
0
0
0
0
0
0
0
0
-6
6
10
0
17
-14
-2
0
-1
0
0
0
0
0
0
18
-2
5
0
4
-6
3
-7
0
-1
0
0
0
0
0
0
3
0
0
0
0
1
2
-2
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
31
10
31
-31
19
-41
31
0
-29
-3
0
0
0
0
0
0
-31
-11
-21
0
-16
140
36
56
-7
-143
0
0
0
0
0
0
0
-50
59
31
-5
-21
-44
-60
-72
-56
-5
2
0
0
0
0
0
0
-58
67
-6
89
12
0
-5
-21
-27
47
-3
0
0
0
0
0
0
-9
-15
-53
-55
-22
-25
28
2
13
0
0
1
0
0
0
0
0
0
3
18
5
-29
66
-16
-54
-5
0
0
0
0
0
0
0
0
0
-2
-7
4
3
7
9
-16
9
-8
0
0
0
0
0
0
0
0
8
-5
-5
0
-6
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
13
42
63
7
54
-36
0
-2
3
0
0
0
0
0
0
0
7
23
7
-12
46
-32
-32
-19
-30
16
0
0
0
0
0
0
0
-59
42
28
-19
-47
-90
-13
-17
7
-5
0
0
0
0
0
0
0
-28
-8
13
-22
-27
-30
-91
-8
2
15
0
0
0
0
0
0
0
51
-15
-5
-21
-41
4
-33
13
20
0
0
0
0
0
0
0
0
-42
-12
42
25
-33
9
74
-16
4
2
0
0
0
0
0
0
0
-6
9
-2
-25
14
25
-26
-13
-18
0
0
0
0
0
0
0
0
2
2
-3
0
-1
2
41
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
8
0
3
-14
0
0
0
0
0
0
0
0
5
0
-10
-13
12
-7
-15
30
-21
0
0
0
0
0
0
0
0
20
-1
-1
3
-1
-43
13
-1
4
0
0
0
0
0
0
0
0
5
0
0
-2
10
17
10
-12
0
3
0
0
0
0
0
0
0
1
-7
0
-12
-5
-23
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
-5
9
2
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
9
57
-48
6
-12
0
0
0
0
0
0
0
0
0
-2
-1
49
-15
34
77
22
-1
0
0
0
0
0
0
0
0
0
-1
-20
-8
-6
-14
-45
-5
1
2
0
0
0
0
0
0
0
0
0
31
0
7
3
2
4
18
10
0
0
0
0
0
0
0
0
0
0
0
8
25
-1
-34
-13
16
0
0
0
0
0
0
0
0
0
2
-31
25
-2
-49
3
-5
0
0
0
0
0
0
0
0
0
0
-3
-1
-7
25
14
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
45
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
2
0
0
0
0
0
0
0
0
0
-5
-5
-71
-25
10
38
15
-75
0
-30
0
0
0
0
0
0
0
-44
-8
6
10
23
52
-32
59
-28
3
0
0
0
0
0
0
0
-41
0
4
-63
22
46
-40
-7
13
25
0
0
0
0
0
0
0
73
-15
-44
-19
30
-20
-74
89
1
102
0
0
0
0
0
0
0
-1
0
-18
3
-42
-14
1
-31
5
22
0
0
0
0
0
0
0
43
-42
-68
20
-3
-61
16
91
-46
4
0
0
0
0
0
0
0
48
0
16
70
13
9
-6
21
8
0
0
0
0
0
0
0
0
0
0
-2
25
3
23
-18
-5
43
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
16
4
0
0
0
0
0
0
0
0
0
8
1
-58
-41
-41
31
-24
0
-12
-2
0
0
0
0
0
0
6
72
30
18
-88
16
1
30
-4
-54
-20
0
0
0
0
0
0
0
-45
59
-13
0
-19
-8
-3
34
-13
2
0
0
0
0
0
0
1
-23
3
-13
49
1
20
22
42
-46
-1
0
0
0
0
0
0
0
60
0
-4
-8
-37
-24
-22
14
10
3
0
0
0
0
0
0
4
0
-8
9
13
74
-44
33
17
66
-7
0
0
0
0
0
0
5
42
-2
80
57
-64
40
-57
85
-8
0
0
0
0
0
0
0
0
-3
22
9
-9
5
-6
-13
-45
-30
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
-3
0
0
0
0
0
0
0
0
-8
0
-22
-2
5
-19
-8
10
0
50
14
0
0
0
0
0
0
8
-32
41
-35
-16
76
20
-2
-4
42
-23
0
0
0
0
0
0
8
21
17
-42
27
48
-5
42
54
-5
15
0
0
0
0
0
0
31
-2
-61
32
29
12
41
-20
20
28
-4
0
0
0
0
0
0
0
13
-9
0
-24
-2
-49
-27
-41
17
-8
0
0
0
0
0
0
-3
29
-4
-12
8
-32
51
-4
-1
75
-5
0
0
0
0
0
0
-5
7
-2
1
-20
-9
-8
-12
21
0
1
0
0
0
0
0
0
1
-10
0
0
-5
-9
0
-23
61
10
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
5
-1
4
0
0
0
0
0
0
0
0
0
24
5
-46
-46
-43
47
0
-42
8
-1
0
0
0
0
0
8
9
51
25
-55
30
31
5
31
-7
-3
-2
0
0
0
0
0
8
2
-5
33
12
-18
59
-47
9
-20
-7
0
0
0
0
0
0
0
-18
32
-39
-14
27
0
-10
1
-13
2
-5
0
0
0
0
0
0
81
-9
2
0
33
-33
-30
18
33
-25
3
0
0
0
0
0
-7
20
49
19
7
12
12
61
32
-58
-9
-1
0
0
0
0
0
8
-41
42
37
1
-31
-2
-12
25
-1
0
0
0
0
0
0
0
0
2
-5
-2
0
-1
-42
-46
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
3
2
2
0
6
-5
31
31
0
41
8
0
0
0
0
0
0
2
-12
15
-46
-28
12
30
-9
-40
19
-49
0
0
0
0
0
0
3
24
-25
53
-4
4
24
-17
1
-7
-22
0
0
0
0
0
0
-2
42
2
-20
-32
13
39
0
-44
-7
3
0
0
0
0
0
0
0
-6
12
-6
-8
0
6
-12
-55
6
0
2
0
0
0
0
0
2
39
-69
5
20
10
19
3
8
6
3
-2
0
0
0
0
0
4
1
15
-2
-18
0
-15
25
-23
0
0
0
0
0
0
0
0
0
-2
0
-24
0
-2
23
-42
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-4
0
0
0
0
0
0
0
0
0
0
-1
-12
-1
-7
-19
31
1
0
5
-14
0
0
0
0
0
0
0
-48
8
-10
13
-9
21
31
-38
14
-5
0
0
0
0
0
0
0
12
3
0
51
-8
-5
-19
13
-1
0
0
0
0
0
0
0
0
30
6
-1
0
-30
22
13
-7
-30
-7
0
0
0
0
0
0
0
0
1
0
-12
25
0
43
-8
16
1
-8
0
0
0
0
0
0
1
-31
6
2
-7
-7
24
7
39
-2
0
0
0
0
0
0
0
0
0
10
0
-23
42
1
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
2
4
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-1
-8
51
-26
-18
0
5
1
0
0
0
0
0
0
-12
-5
-9
16
50
42
31
-9
-73
10
-3
0
0
0
0
0
0
-63
3
-41
56
7
19
48
-49
-11
7
-8
0
0
0
0
0
0
-3
0
-5
46
42
-69
9
-47
-3
-20
-7
0
0
0
0
0
0
-7
-2
1
19
24
-41
-60
0
3
3
0
0
0
0
0
0
0
-7
-3
-4
-7
33
-56
-6
-44
2
-6
5
0
0
0
0
0
0
-8
0
7
0
-17
27
-4
6
10
0
1
0
0
0
0
0
0
0
0
0
0
0
-59
-12
1
0
0
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
-2
7
-5
9
12
-55
-119
0
-22
2
0
0
0
0
0
0
5
-126
-79
43
17
39
-97
-21
-22
-54
-4
0
0
0
0
0
0
15
-30
-35
16
-66
-112
81
-31
-22
1
0
0
0
0
0
0
0
34
16
32
-5
58
91
44
-17
1
0
0
0
0
0
0
0
0
-57
33
27
19
42
-25
-23
31
0
-20
8
0
0
0
0
0
0
1
-25
34
49
-44
60
-30
12
-10
3
0
0
0
0
0
0
0
7
5
-3
0
41
-5
69
-17
6
-3
0
0
0
0
0
0
0
1
-6
-8
25
-5
8
81
16
-19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
-3
21
-70
8
4
6
39
0
73
0
0
0
0
0
0
0
0
48
-5
-64
-9
-14
33
4
3
17
-41
0
0
0
0
0
0
0
27
-34
-15
-59
17
-53
-7
-50
52
0
0
0
0
0
0
0
0
-31
31
6
19
23
-57
60
-8
-42
0
0
0
0
0
0
0
0
-11
55
-10
33
-14
-24
-5
-31
0
0
0
0
0
0
0
0
0
-59
4
-55
-42
-69
32
19
0
15
0
0
0
0
0
0
0
0
0
67
-6
-54
19
66
7
41
2
0
0
0
0
0
0
0
0
1
0
0
3
-21
8
15
3
-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
-8
0
0
1
0
0
0
-16
-7
0
0
0
0
0
0
0
0
-1
0
6
0
-8
0
18
8
-49
0
0
0
0
0
0
0
0
-1
-2
-2
-46
-12
-41
2
26
-1
0
0
0
0
0
0
0
0
3
0
1
0
-4
2
42
-2
-16
0
0
0
0
0
0
0
0
-8
0
5
24
5
-15
-12
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
8
5
-2
-16
5
0
0
0
0
0
0
0
0
0
0
-2
-6
-5
-10
56
-27
-41
-1
0
0
0
0
0
0
0
0
-4
-49
-2
9
-28
2
-12
1
1
0
0
0
0
0
0
0
0
0
4
-2
-19
14
44
-9
2
0
0
0
0
0
0
0
0
0
5
-1
0
-12
25
29
15
5
9
0
0
0
0
0
0
0
0
0
3
-7
-5
-33
13
22
-16
1
0
0
0
0
0
0
0
0
-4
-2
2
-6
20
3
27
0
14
0
0
0
0
0
0
0
0
0
-8
0
-18
0
8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
3
0
0
0
0
0
0
0
0
0
4
-9
-10
10
-101
-7
96
8
0
8
0
0
0
0
0
0
0
-23
-5
-2
-43
49
14
41
49
40
-53
0
0
0
0
0
0
0
-33
22
-41
-9
-13
12
-50
-13
4
-34
0
0
0
0
0
0
0
-16
-4
-23
-33
7
39
-33
-58
0
-8
0
0
0
0
0
0
0
85
-13
66
-42
-57
-34
9
-52
62
17
0
0
0
0
0
0
0
-10
0
-5
60
-29
90
54
19
-41
-4
0
0
0
0
0
0
0
23
-2
-8
10
6
-28
-4
-12
-22
4
0
0
0
0
0
0
0
-1
0
5
16
4
32
-8
23
0
-13
0
0
0
0
0
0
0
0
0
0
0
49
0
-9
-5
0
0
0
0
0
0
0
0
0
0
18
16
-5
14
-24
-2
8
0
53
-6
0
0
0
0
0
0
4
-34
-1
51
8
-6
39
15
70
75
-16
0
0
0
0
0
0
0
13
0
-1
56
-31
92
-29
-7
-37
-5
0
0
0
0
0
0
-3
-90
-14
-45
7
20
-31
23
-8
-9
3
0
0
0
0
0
0
-32
-34
-9
18
-8
14
5
-12
43
-13
10
0
0
0
0
0
0
0
-3
0
-42
-12
-23
-15
92
32
25
0
0
0
0
0
0
0
0
23
0
42
48
102
-50
-37
-5
-5
2
0
0
0
0
0
0
0
1
0
-19
-3
0
-12
-8
8
24
0
0
0
0
0
0
0
0
0
0
0
4
0
-20
8
6
0
0
0
0
0
0
0
0
3
-8
-10
-41
-19
70
-6
8
0
61
-3
2
0
0
0
0
0
48
10
41
95
27
32
3
79
66
5
6
0
0
0
0
0
0
3
22
-17
-20
49
-8
40
19
66
8
33
0
0
0
0
0
0
-24
20
9
-10
-58
66
22
10
41
-7
-2
0
0
0
0
0
0
-19
-8
-47
16
7
53
13
-13
16
22
-22
1
0
0
0
0
0
7
1
8
0
17
41
-12
-3
15
-7
8
0
0
0
0
0
0
0
12
-25
1
-1
-39
-29
-54
3
-25
0
0
0
0
0
0
0
0
-3
1
-1
0
23
7
37
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-6
0
0
0
0
0
0
0
0
0
0
-12
20
-10
-7
3
-16
43
0
-14
-10
0
0
0
0
0
0
0
-31
3
8
49
6
-24
11
77
0
1
0
0
0
0
0
0
-3
31
-41
25
4
-27
31
-10
49
48
0
5
0
0
0
0
0
8
47
-42
34
20
-8
-35
59
24
64
0
0
0
0
0
0
0
-2
34
-6
-8
-42
-5
-7
19
-56
33
-1
4
0
0
0
0
0
0
-1
6
-2
0
-34
42
-19
28
4
8
0
0
0
0
0
0
0
0
1
10
-19
31
-50
8
-37
20
7
0
0
0
0
0
0
0
0
8
0
0
50
30
31
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-5
12
7
-39
17
31
10
0
-67
1
-4
0
0
0
0
0
0
32
0
-55
6
25
-42
-31
-5
-12
35
0
0
0
0
0
0
0
-18
13
22
14
-49
-43
14
10
-8
20
0
0
0
0
0
0
-1
2
9
4
49
-43
37
31
29
-13
1
0
0
0
0
0
0
24
-18
-7
10
-49
20
-31
17
-22
-19
-7
0
0
0
0
0
0
0
6
-8
0
10
0
31
-64
-13
-24
0
0
0
0
0
0
0
0
2
0
21
-4
13
44
-8
-9
-23
1
0
0
0
0
0
0
0
0
13
0
4
0
-13
-14
-13
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
1
-3
2
17
-5
-2
-32
0
50
-4
0
0
0
0
0
0
0
21
0
-2
-6
-8
-19
-8
66
-19
-14
0
0
0
0
0
0
0
12
-2
0
12
37
19
-23
-79
14
-25
0
0
0
0
0
0
0
35
0
-22
3
-8
31
-10
15
25
0
1
0
0
0
0
0
0
-3
2
-4
46
-43
-43
-3
111
-6
0
-3
0
0
0
0
0
0
2
0
39
-4
7
0
-51
-13
-3
2
0
0
0
0
0
0
0
0
8
-9
-18
-1
-20
20
-3
-12
1
0
0
0
0
0
0
0
0
0
-1
0
0
-29
34
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
-2
0
42
-18
1
10
0
-42
1
0
0
0
0
0
0
1
-2
-3
4
3
23
-9
68
-66
-3
-8
0
0
0
0
0
0
0
-5
0
29
0
45
23
37
8
29
8
0
0
0
0
0
0
35
0
9
-13
48
8
20
-38
-8
0
0
0
0
0
0
0
0
-4
7
2
-5
15
12
0
-7
-1
0
-2
0
0
0
0
0
0
0
-1
-9
-16
24
8
-4
0
-17
1
-2
0
0
0
0
0
0
0
8
0
4
-13
14
0
2
-4
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-24
-24
2
-17
9
-59
32
0
-34
-1
0
0
0
0
0
0
-1
-2
1
-13
59
-138
23
-9
-49
-43
-14
0
0
0
0
0
0
9
-73
-10
-50
-44
59
-7
91
-2
14
0
0
0
0
0
0
0
58
-48
-25
-77
71
21
22
26
-22
47
0
0
0
0
0
0
0
-6
-27
7
-5
-24
47
-50
-3
-66
-2
0
0
0
0
0
0
0
-42
-42
-33
-33
-83
-22
-99
-4
0
-16
0
0
0
0
0
0
0
-42
-1
-22
1
-5
-26
19
-3
8
0
0
0
0
0
0
0
0
0
-1
-4
-12
6
-14
2
-46
0
0
0
0
0
0
0
0
0
0
2
0
0
-10
0
15
-7
0
0
0
0
0
0
0
0
0
0
17
-13
2
-1
20
5
3
0
47
-10
0
0
0
0
0
0
0
-18
30
13
-87
-31
49
31
27
9
2
0
0
0
0
0
0
0
25
-1
-99
8
60
10
-5
19
-19
-5
0
0
0
0
0
0
0
-31
51
5
-12
66
-32
54
48
2
-1
0
0
0
0
0
0
0
-96
-29
8
-13
1
42
18
-6
-8
0
0
0
0
0
0
0
0
12
-15
-8
-6
16
18
-14
-12
0
-1
0
0
0
0
0
0
0
8
2
4
-43
24
-63
-35
0
0
0
0
0
0
0
0
0
0
13
4
0
-2
-8
5
6
58
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
3
0
0
0
0
0
0
0
0
1
-4
0
-1
2
25
8
6
-32
0
0
0
0
0
0
0
0
0
-1
0
8
-2
-7
-2
-15
0
0
0
0
0
0
0
0
0
-1
0
7
3
-2
-10
0
-7
0
0
0
0
0
0
0
0
0
6
-7
-1
-2
6
2
-5
0
2
0
0
0
0
0
0
0
0
0
0
-2
2
-9
10
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
0
0
0
0
0
0
0
0
0
0
0
9
-1
-1
-8
34
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
43
9
-12
0
1
0
0
0
0
0
0
0
0
-2
0
0
35
-7
-21
33
6
1
0
0
0
0
0
0
0
0
0
0
-4
1
4
15
2
27
4
0
0
0
0
0
0
0
0
-1
4
-8
52
17
-14
-1
19
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
0
9
0
-6
0
0
0
0
0
0
0
0
0
-2
5
-3
1
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-14
13
14
34
30
0
0
0
0
0
0
0
0
0
29
-13
-20
30
8
86
34
88
-33
-54
0
0
0
0
0
0
0
17
1
-3
-49
-14
25
13
58
-31
5
0
0
0
0
0
0
0
41
3
-7
-8
-32
-41
25
13
-71
74
0
0
0
0
0
0
0
-8
-7
60
-23
50
-17
8
1
-34
16
0
0
0
0
0
0
0
7
-2
8
21
54
-94
13
-91
-15
46
0
0
0
0
0
0
0
5
0
2
-2
-16
8
67
-20
-43
10
0
0
0
0
0
0
0
1
0
1
-32
7
70
-42
-6
7
2
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
-8
-4
0
0
0
0
0
0
0
0
0
-2
48
39
35
-19
-39
5
0
-4
5
0
0
0
0
0
0
8
9
-7
-43
-87
68
-42
45
87
32
-3
0
0
0
0
0
0
0
-75
-12
-76
-28
100
47
-36
-40
33
0
0
0
0
0
0
0
-2
-6
0
-21
31
32
-13
-11
-9
-18
8
0
0
0
0
0
0
-37
-11
2
-25
-23
-35
9
49
53
-79
0
0
0
0
0
0
0
-2
31
-14
-10
-84
-15
60
9
-25
10
8
0
0
0
0
0
0
0
0
0
-4
4
15
14
7
31
18
0
0
0
0
0
0
0
0
-5
-1
1
-4
-12
-12
17
71
-32
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
4
-4
43
-10
42
-13
0
41
0
0
0
0
0
0
0
0
34
5
-13
-19
-86
13
7
59
5
-43
0
0
0
0
0
0
29
-32
9
5
-9
-33
17
2
41
24
-47
0
0
0
0
0
0
-4
50
23
-27
7
10
-9
-70
25
18
-21
0
0
0
0
0
0
2
66
-17
-1
5
61
13
-2
-33
30
-41
0
0
0
0
0
0
-5
64
-49
-13
-7
-76
2
-101
-64
38
13
0
0
0
0
0
0
0
2
-4
0
12
9
-20
-19
5
25
0
0
0
0
0
0
0
-3
-9
-16
-1
0
41
-12
16
-17
8
0
0
0
0
0
0
0
0
0
0
0
10
0
5
1
1
0
0
0
0
0
0
0
0
0
0
-16
-8
22
-19
-25
19
0
-64
-2
0
0
0
0
0
0
3
-4
-17
-3
-10
81
13
-73
-31
75
54
0
0
0
0
0
0
0
-17
23
0
-37
-5
-20
-42
75
-8
7
0
0
0
0
0
0
8
24
33
3
-17
2
28
-85
-15
-76
1
0
0
0
0
0
0
0
1
-30
48
-17
9
-48
4
74
-13
2
0
0
0
0
0
0
2
10
23
-8
-17
-10
-21
29
20
-50
19
6
0
0
0
0
0
0
0
-1
0
0
24
82
-6
1
-12
3
0
0
0
0
0
0
0
0
3
-7
0
8
27
-64
-5
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-25
-12
-18
0
-23
2
0
0
0
0
0
0
0
-2
0
-7
-1
3
-21
12
2
-22
24
0
0
0
0
0
0
0
20
0
-5
59
8
-6
20
66
9
0
-3
0
0
0
0
0
-5
0
-1
-4
23
6
-22
-87
-6
-50
-13
0
0
0
0
0
0
0
-9
6
0
14
-7
-28
3
-20
75
0
0
0
0
0
0
0
2
3
58
-17
0
16
9
-20
30
1
6
0
0
0
0
0
0
0
-1
-2
5
3
0
-31
13
-73
7
-2
0
0
0
0
0
0
2
0
0
18
0
27
-1
-7
0
-15
0
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
-2
4
-2
-1
-16
19
0
2
6
0
0
0
0
0
0
0
-7
24
-2
-25
28
-5
69
5
-4
-12
0
0
0
0
0
0
0
-59
3
0
58
-3
-72
-23
-11
-9
0
0
0
0
0
0
0
0
23
0
7
10
-6
-19
12
22
49
-2
0
0
0
0
0
0
0
56
5
-8
48
0
60
-16
-23
23
6
0
0
0
0
0
0
0
43
12
25
-13
-31
-7
49
-18
50
0
-7
0
0
0
0
0
0
0
10
0
0
0
0
48
-2
1
0
0
0
0
0
0
0
0
0
0
0
-16
4
9
5
6
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
5
1
-1
3
32
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-1
-31
-14
8
0
-6
1
0
0
0
0
0
0
-42
0
-1
0
-31
-5
-92
-7
-110
0
0
0
0
0
0
0
0
8
0
0
-3
-9
-79
41
-26
4
0
0
0
0
0
0
0
0
13
1
20
8
-6
-13
7
-8
5
0
0
0
0
0
0
0
0
0
0
-6
2
3
45
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
1
-47
-2
20
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
6
0
-5
22
19
32
78
-20
0
4
0
0
0
0
0
0
0
0
82
0
1
12
5
-26
-103
-21
-46
1
0
0
0
0
0
0
0
41
17
-31
1
81
-40
-11
41
42
-12
0
0
0
0
0
0
3
-31
51
-27
-40
-30
8
144
18
-35
0
0
0
0
0
0
0
-4
-61
28
42
-4
-57
46
10
-17
-6
0
0
0
0
0
0
0
6
-10
-13
-21
23
57
61
-1
-12
0
0
0
0
0
0
0
0
-1
-46
33
19
-93
-18
4
-57
0
22
0
0
0
0
0
0
0
0
-8
0
7
-30
41
9
2
1
9
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-5
18
7
0
-25
0
0
0
0
0
0
0
0
9
19
2
8
-10
22
43
73
-6
13
0
0
0
0
0
0
0
-23
14
10
-25
-5
31
25
15
-46
0
0
0
0
0
0
0
0
-22
1
-34
-34
0
-5
13
42
24
0
0
0
0
0
0
0
0
13
-9
-8
35
5
130
16
41
-16
0
0
0
0
0
0
0
0
1
2
22
-6
13
-4
5
0
-7
0
0
0
0
0
0
0
0
0
9
1
28
5
-47
25
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-42
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
-14
1
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
-3
1
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
9
-3
-4
0
0
0
0
0
0
0
0
0
-1
-1
-1
10
0
25
-8
0
-7
0
0
0
0
0
0
0
0
-7
-2
0
2
-6
4
-7
1
17
0
0
0
0
0
0
0
0
0
0
0
-30
2
5
2
43
0
0
0
0
0
0
0
0
0
-22
-20
2
-8
-9
-8
-7
-1
-6
0
0
0
0
0
0
0
0
0
0
-4
-22
2
1
-1
-5
0
0
0
0
0
0
0
0
0
0
-9
0
7
-17
-8
-24
3
2
0
0
0
0
0
0
0
0
0
-2
0
0
4
-7
0
1
-1
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
12
0
1
0
0
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-14
9
-30
-22
8
2
0
0
0
0
0
0
0
-111
0
3
1
5
-41
-9
5
41
0
0
0
0
0
0
0
0
-35
-5
17
-55
-5
57
2
55
-8
1
0
0
0
0
0
0
0
-15
3
21
-37
44
-17
99
8
-42
-7
0
0
0
0
0
0
0
51
0
-66
-42
26
-20
24
-39
-3
0
0
0
0
0
0
0
0
33
0
5
-6
-56
13
1
6
29
-1
0
0
0
0
0
0
0
0
0
0
5
-4
-29
-2
-33
4
0
0
0
0
0
0
0
0
6
0
0
0
25
2
-3
1
34
0
0
0
0
0
0
0
0
0
0
6
8
16
-1
37
5
0
-8
0
0
0
0
0
0
0
0
14
-2
-3
13
44
-41
13
-5
-41
0
0
0
0
0
0
0
-6
27
7
0
15
-12
-22
-8
41
-8
0
0
0
0
0
0
0
-10
10
-2
49
-10
58
-1
-15
16
28
0
0
0
0
0
0
0
4
-16
0
28
9
6
16
16
-13
-19
-9
0
0
0
0
0
0
3
-21
1
-57
50
40
14
36
29
25
0
0
0
0
0
0
0
-43
9
0
-24
-4
-10
-14
6
44
3
0
0
0
0
0
0
0
0
1
0
4
0
-5
-39
-4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
13
8
0
4
0
0
0
0
0
0
0
0
0
-8
-2
13
-4
-20
-27
-6
-2
-1
0
0
0
0
0
0
0
0
0
0
-35
-3
-24
-25
-4
-22
-9
0
0
0
0
0
0
-27
-7
43
2
-13
58
-6
41
64
13
2
0
0
0
0
0
0
15
13
-3
-3
-3
78
6
-39
-12
8
18
0
0
0
0
0
0
-12
-19
4
-8
17
10
-2
30
-8
25
9
0
0
0
0
0
0
1
-2
-41
0
-39
2
4
-17
13
-2
0
0
0
0
0
0
0
0
-1
0
0
-6
25
3
44
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-4
12
0
0
-8
0
0
0
0
0
0
0
0
0
-2
0
4
-20
-2
0
0
0
0
0
0
0
0
0
5
1
0
2
-15
7
-31
8
43
1
0
0
0
0
0
0
0
0
13
-3
0
-10
5
18
-2
25
4
0
0
0
0
0
0
0
0
29
0
10
16
0
-26
-14
19
8
-1
0
0
0
0
0
0
0
-7
22
3
-12
-25
32
-8
-3
-5
0
8
0
0
0
0
0
0
-1
0
-4
0
24
10
3
1
20
0
1
0
0
0
0
0
0
0
0
-5
0
9
24
15
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
49
5
1
1
3
-6
0
0
0
0
0
0
0
0
0
0
25
0
-25
1
19
0
0
0
0
0
0
0
0
-12
0
0
-6
1
49
-1
16
4
-1
-2
0
0
0
0
0
0
0
-13
0
0
-27
-3
-18
-7
-2
0
-4
0
0
0
0
0
0
0
-1
3
-8
-15
-20
13
5
7
-2
0
0
0
0
0
0
0
34
1
0
25
-25
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-23
-24
-2
0
0
0
0
0
0
0
0
1
0
0
-1
0
-7
6
-2
-2
0
0
0
0
0
0
0
0
-2
-9
0
0
3
-20
10
-6
0
0
0
0
0
0
0
0
0
-1
0
4
0
-5
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
35
-2
3
0
0
0
0
0
0
0
0
0
-7
0
8
0
-17
-6
1
0
-12
0
0
0
0
0
0
0
0
0
8
0
-1
0
-5
-4
13
1
3
0
0
0
0
0
0
0
-4
0
-13
0
-6
-3
12
0
0
0
0
0
0
0
0
0
0
1
0
20
5
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
9
0
0
0
0
0
0
0
0
0
0
0
-16
0
25
7
-52
0
-24
-4
0
0
0
0
0
0
0
0
2
-5
0
0
1
2
46
-31
-28
-4
0
0
0
0
0
0
0
-1
0
0
47
8
-22
32
-48
12
-17
0
0
0
0
0
0
0
0
-47
3
-15
39
8
-8
-7
-9
9
0
0
0
0
0
0
0
0
8
-4
-8
4
31
-2
9
-5
5
0
0
0
0
0
0
0
0
-7
0
-33
-1
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
5
5
0
5
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-14
8
0
3
0
1
-37
0
-20
0
0
0
0
0
0
0
0
-5
0
0
0
0
24
-33
57
1
23
0
0
0
0
0
0
0
-32
3
-4
31
16
-25
31
-25
-4
0
0
0
0
0
0
0
0
-6
0
-34
12
-9
0
-7
5
3
0
0
0
0
0
0
0
0
-7
-4
-4
0
-8
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
-7
-2
-2
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
3
2
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
-20
0
-1
0
0
0
0
0
0
0
0
10
0
0
10
0
-5
0
19
0
0
0
0
0
0
0
0
0
-6
0
3
3
49
1
14
0
-10
0
0
0
0
0
0
0
0
-4
0
27
-10
0
-47
0
-4
0
0
0
0
0
0
0
0
0
-4
0
0
0
-51
0
14
0
0
0
0
0
0
0
0
0
0
4
0
0
7
-1
-19
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-8
31
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
4
3
-2
0
0
0
0
0
0
0
0
0
0
1
41
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
6
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
22
0
-2
2
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-4
-10
-6
0
0
0
0
0
0
0
0
0
0
7
0
-3
12
41
21
8
0
2
0
0
0
0
0
0
0
0
45
43
0
51
46
-4
-18
-8
14
0
0
0
0
0
0
0
0
8
-1
-50
1
37
-12
0
0
5
0
0
0
0
0
0
0
0
0
41
2
20
0
-7
8
0
8
0
0
0
0
0
0
0
0
-6
-7
2
-8
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-22
8
1
-8
-8
0
0
0
0
0
0
0
0
0
0
0
-44
0
9
-9
-5
11
0
1
0
0
0
0
0
0
0
0
0
1
-84
1
-30
-39
8
-23
-22
7
0
0
0
0
0
0
0
-1
21
35
100
6
-45
-24
-16
43
66
0
0
0
0
0
0
0
-4
4
-31
-8
47
-14
51
8
43
41
0
0
0
0
0
0
0
0
45
6
9
-8
-16
0
-4
0
3
0
0
0
0
0
0
0
0
0
-2
4
20
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
2
-35
8
3
0
-3
0
0
0
0
0
0
0
0
0
-14
0
71
54
28
0
0
0
-20
0
0
0
0
0
0
0
-3
-69
-10
3
4
-24
-31
-18
21
28
0
0
0
0
0
0
0
24
29
14
0
-93
-31
85
9
5
-12
0
0
0
0
0
0
1
-14
9
22
-54
-33
-49
18
5
-71
0
0
0
0
0
0
0
0
15
23
-15
-8
18
22
0
0
34
0
0
0
0
0
0
0
0
4
1
-4
24
-1
-1
0
4
0
0
0
0
0
0
0
0
0
0
5
-30
4
0
0
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
-7
2
14
0
-8
0
0
0
0
0
-7
0
0
0
0
0
0
-5
1
-2
-25
-4
44
9
0
-3
0
4
0
0
0
0
0
0
-3
0
37
-33
52
0
10
8
-35
-5
30
6
0
0
0
0
0
0
-7
30
26
31
18
6
5
1
23
-15
-2
0
0
0
0
0
-1
-30
13
-16
5
101
34
-2
4
0
0
0
0
0
0
0
0
0
-25
43
2
-25
1
-2
15
0
0
2
0
0
0
0
0
0
0
0
2
0
7
5
2
-4
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-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
2
25
-33
0
2
-1
0
0
0
0
0
0
0
0
0
0
4
17
-13
-2
20
-2
-20
0
-1
0
0
2
0
0
0
0
0
12
-48
-18
20
7
20
2
2
-20
-19
3
5
0
0
0
0
0
4
-5
3
-7
42
-12
13
-5
-32
-2
-1
2
0
0
0
0
0
-3
4
24
0
-1
4
-20
5
0
9
0
0
0
0
0
0
0
0
-5
15
25
23
1
-2
1
0
-10
-6
0
0
0
0
0
0
0
0
-4
-7
5
5
5
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
59
3
23
0
5
0
0
0
0
0
0
0
0
0
0
1
23
48
42
3
-24
4
0
5
0
-1
0
0
0
0
0
0
22
42
-25
43
21
-31
-72
-46
14
-32
-2
1
0
0
0
0
0
-17
-6
-49
-24
28
-13
57
-3
-11
2
0
0
1
0
0
0
0
14
19
-1
15
47
14
-2
14
-8
-24
0
0
0
0
0
0
0
0
-5
-74
32
33
-9
-6
-27
3
0
0
0
0
0
0
0
0
0
0
2
41
-7
-7
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-3
22
13
25
5
35
0
1
0
4
0
0
0
0
0
0
0
4
21
24
-8
-18
31
-30
0
3
0
0
0
0
0
0
0
0
1
-35
20
-3
-8
-34
-37
18
-29
12
-4
0
0
0
0
0
0
8
32
1
8
3
-42
15
-68
-21
8
1
0
-1
0
0
0
0
13
14
14
-51
-28
-6
-10
19
8
-6
0
0
0
0
0
0
0
0
-43
-13
-9
-75
59
41
10
3
25
0
0
0
0
0
0
0
0
0
-2
17
-14
-1
4
0
-22
-3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-3
-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
2
-15
33
12
31
-24
-9
0
0
0
4
0
0
0
0
0
0
9
4
-2
1
75
-25
74
0
-8
0
4
0
0
0
0
0
0
42
-9
-43
-69
-66
-79
-20
14
79
0
20
0
0
0
0
0
0
-8
-120
-47
-27
11
-42
-11
43
-66
0
-1
0
0
0
0
0
0
-2
-24
5
13
25
-13
52
1
-33
33
-1
0
0
0
0
0
0
-4
-66
8
-8
8
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-24
-1
12
4
-6
2
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-22
-27
2
-2
0
0
0
-1
0
0
0
0
0
0
0
18
-44
30
-72
48
31
0
-6
0
-21
0
0
0
0
0
0
0
25
31
-20
-17
5
-33
-4
24
-2
-6
-2
0
0
0
0
0
0
-13
-8
18
-42
-5
-70
-64
-18
-1
66
0
0
0
0
0
0
0
1
10
30
22
-16
48
25
-8
3
-8
0
0
0
0
0
0
0
4
37
-7
39
32
43
-43
-24
18
1
0
0
0
0
0
0
0
-13
6
17
-8
8
19
8
-42
0
0
0
0
0
0
0
0
0
0
1
-75
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
9
0
-25
0
-6
0
4
5
0
0
0
0
0
0
0
-1
54
0
-66
9
-17
-2
-10
-4
1
0
0
0
0
0
0
0
0
1
-10
21
43
-5
1
-25
8
-2
0
0
0
0
0
0
0
4
-12
-2
-21
5
23
-3
25
3
-1
0
0
0
0
0
0
0
2
9
27
37
-5
-1
-24
3
0
0
0
0
0
0
0
0
0
0
0
37
-48
2
9
0
-1
0
0
0
0
0
0
0
0
0
0
-6
8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
5
23
-2
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
0
-4
0
0
0
0
0
0
0
0
0
0
1
-7
-1
1
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
16
-7
4
-1
0
1
0
0
0
0
0
0
0
0
0
6
57
21
-31
21
-46
73
0
-3
0
0
0
0
0
0
0
0
14
7
55
2
-25
-58
42
8
-18
0
0
0
0
0
0
0
0
-22
70
-44
-62
-73
31
4
-8
18
0
0
0
0
0
0
0
0
4
13
-103
-4
14
-1
-3
1
7
0
0
0
0
0
0
0
0
0
72
-2
42
-3
17
-2
-6
2
0
0
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-14
13
44
22
0
0
-4
0
0
0
0
0
0
0
-3
-32
14
-57
-17
-2
-18
0
-18
0
0
0
0
0
0
0
0
16
-5
-46
29
-22
-3
22
37
-63
-51
0
0
0
0
0
0
0
-6
8
94
4
84
-19
31
-59
-50
-10
0
0
0
0
0
0
0
8
2
-45
45
10
-3
28
-49
71
36
0
0
0
0
0
0
0
0
27
40
56
-37
-33
27
8
5
2
0
0
0
0
0
0
0
0
0
10
28
4
23
0
-6
0
1
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
-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
-52
-2
0
-21
-8
-8
0
-1
1
0
0
0
0
0
0
0
81
-8
-6
-10
70
51
0
-4
0
6
0
0
0
0
0
0
0
-30
-21
27
-32
66
21
-31
-50
-73
38
0
0
0
0
0
0
0
3
-69
7
-45
-60
-56
28
-25
-7
16
0
0
0
0
0
0
0
56
12
40
-60
-20
16
2
64
32
7
0
0
0
0
0
0
0
34
-34
-6
26
6
18
66
8
-9
5
0
0
0
0
0
0
0
1
42
-7
17
3
27
5
24
-4
-2
0
0
0
0
0
0
0
0
-3
17
1
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-31
5
41
-25
0
0
0
3
0
0
0
0
0
0
8
-29
9
-49
-18
46
-25
0
0
0
31
0
0
0
0
0
0
-9
-59
-41
-5
102
-34
-48
-2
60
-2
-6
5
0
0
0
0
0
5
-31
-5
-33
25
6
3
-28
92
-8
-2
-2
0
0
0
0
0
8
2
25
42
-9
23
5
34
-1
-12
13
0
0
0
0
0
0
0
1
37
25
29
69
-34
2
7
1
0
-1
0
0
0
0
0
0
0
5
-1
4
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-49
-16
-29
-14
1
22
-5
0
2
-5
1
0
0
0
0
0
25
29
9
13
31
32
12
0
5
0
-5
28
0
0
0
0
0
42
-69
-24
24
41
-5
52
-53
-42
-6
-2
-1
3
0
0
0
0
-30
9
24
7
-3
52
-90
-24
-41
39
0
-7
0
0
0
0
0
-23
18
59
42
50
50
39
56
-7
33
1
-3
0
0
0
0
0
0
59
-70
6
84
-9
-4
-18
1
-5
0
3
0
0
0
0
0
0
30
49
-1
2
3
4
1
0
-3
0
0
0
0
0
0
0
0
0
-3
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-39
-24
22
6
-48
-3
2
8
0
0
0
0
0
0
0
0
0
-20
60
-7
4
-5
-8
47
0
46
0
0
0
0
0
0
0
0
8
-21
43
-6
42
-66
-57
-18
31
87
21
0
0
0
0
0
0
10
32
45
-93
76
-19
-1
72
49
13
-5
0
0
0
0
0
0
-14
43
-18
-2
71
41
-7
-14
30
-5
0
0
0
0
0
0
0
0
1
-14
-21
-9
45
-35
-20
8
0
0
0
0
0
0
0
0
-3
10
21
73
42
8
8
8
-3
0
0
0
0
0
0
0
0
0
23
1
5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
12
-31
-48
55
-2
0
0
7
0
0
0
0
0
0
0
13
-30
-8
18
46
12
22
0
4
0
25
-1
0
0
0
0
0
2
35
93
-11
42
-30
42
-17
-22
-50
32
9
0
0
0
0
0
-1
14
-41
-27
8
-4
50
32
2
49
6
0
-1
0
0
0
0
10
-81
67
7
56
-4
1
-18
-49
-13
8
0
0
0
0
0
0
0
37
21
-7
28
-14
-51
49
-3
-24
0
0
0
0
0
0
0
1
1
-49
83
1
-25
-29
44
29
20
-3
0
0
0
0
0
0
0
0
2
68
13
1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
43
17
124
58
34
25
8
0
-1
0
0
0
0
0
0
0
69
24
10
-20
36
-23
-75
0
-41
0
14
0
0
0
0
0
0
-24
116
-58
53
24
104
-22
-14
57
0
22
0
0
0
0
0
0
5
17
-22
88
33
-27
1
17
-3
-68
-1
-5
0
0
0
0
0
-13
-16
-32
26
-30
17
36
13
-18
-53
7
1
0
0
0
0
0
3
50
-49
-40
-50
28
14
16
-20
5
-2
0
0
0
0
0
0
-2
14
6
41
24
5
16
-6
44
0
0
0
0
0
0
0
0
0
-2
0
-24
-1
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
41
-8
92
47
-43
-14
-1
0
0
-4
0
0
0
0
0
0
-6
-56
-27
-84
-49
-35
-34
0
0
0
-17
0
0
0
0
0
0
7
28
-20
-74
-123
20
64
71
33
-9
-41
3
0
0
0
0
0
-12
55
-84
22
-8
-66
-59
-29
22
-32
-20
2
0
0
0
0
0
1
19
4
-49
75
102
29
-25
-9
94
-30
0
0
0
0
0
0
0
49
2
15
-4
44
26
0
20
-73
0
0
0
0
0
0
0
5
-5
-4
4
22
-18
-32
2
-33
2
0
0
0
0
0
0
0
0
0
12
25
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
41
-37
28
-18
55
-24
0
0
5
1
0
0
0
0
0
0
-14
63
-3
-22
31
-5
0
-48
0
41
0
0
0
0
0
0
0
41
12
37
-13
-84
-5
-2
31
-14
-42
3
0
0
0
0
0
0
22
24
57
-68
-29
43
66
-61
-84
-50
0
0
0
0
0
0
0
5
-13
21
21
86
-56
89
16
-18
16
0
0
0
0
0
0
0
5
19
17
20
-75
0
45
-16
-1
4
0
0
0
0
0
0
0
-7
56
-36
-22
-52
-48
29
8
-1
2
0
0
0
0
0
0
0
0
8
-43
-1
-3
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
44
42
-31
3
5
0
0
0
-1
0
0
0
0
0
0
0
-17
-24
-34
5
39
0
-2
0
-5
-2
0
0
0
0
0
0
0
25
17
3
25
-105
14
-63
4
6
-6
0
0
0
0
0
0
0
4
-2
-55
45
17
-6
-75
-95
-9
12
0
0
0
0
0
0
0
-16
28
8
-4
39
13
-32
-4
5
7
0
0
0
0
0
0
0
-6
25
13
39
6
-5
0
2
0
0
0
0
0
0
0
0
0
0
16
-29
2
21
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
24
0
0
-7
0
0
0
0
0
0
0
0
0
0
-7
-5
8
0
1
0
2
0
0
0
0
0
0
0
0
0
0
-1
-5
3
4
-6
-17
-19
-3
6
0
0
0
0
0
0
0
2
22
-5
-8
0
-9
0
-20
3
1
0
0
0
0
0
0
0
0
1
-3
-18
-13
-6
1
2
0
0
0
0
0
0
0
0
0
0
-3
5
-15
8
6
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-6
-14
-4
2
0
0
0
0
0
0
0
0
0
0
0
49
-5
55
42
-30
27
-19
0
-21
0
0
0
0
0
0
0
0
0
8
-8
-23
27
-43
3
-31
76
0
0
0
0
0
0
0
0
13
42
8
-8
45
-49
-19
-12
-20
0
0
0
0
0
0
0
0
14
40
3
31
28
-61
0
0
2
0
0
0
0
0
0
0
0
0
10
35
2
-13
8
8
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-13
-49
6
-15
52
2
0
-6
0
0
0
0
0
0
0
0
-25
22
-16
-18
-1
20
0
3
0
0
0
0
0
0
0
0
-8
-9
-53
46
9
102
18
1
-93
-4
0
0
0
0
0
0
0
-42
-3
42
-101
-17
68
-72
-44
30
52
0
0
0
0
0
0
0
2
-47
-50
-90
-8
-26
56
13
-23
66
0
0
0
0
0
0
0
0
16
86
-14
43
-111
5
17
-5
3
0
0
0
0
0
0
0
0
0
38
0
-14
4
8
1
1
-5
0
0
0
0
0
0
0
0
-2
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
51
2
83
-29
4
0
8
5
0
0
0
0
0
0
0
9
12
5
41
-13
-53
0
-7
0
-16
0
0
0
0
0
0
0
28
-1
-53
103
25
-41
-87
-9
-15
-40
0
0
0
0
0
0
0
3
64
19
49
-23
-11
-43
-5
-57
-8
0
0
0
0
0
0
0
2
23
-52
-60
-31
-1
-9
13
10
0
0
0
0
0
0
0
0
15
68
-43
-24
-79
55
10
0
-5
0
0
0
0
0
0
0
0
0
25
10
2
-13
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
3
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
6
46
74
-4
23
1
0
-1
13
-1
0
0
0
0
0
0
-7
17
86
-33
52
-29
0
3
0
5
-1
0
0
0
0
0
-25
42
16
9
17
24
-29
-8
-42
-34
-10
1
0
0
0
0
0
-10
15
18
-25
30
9
65
41
13
-2
5
1
0
0
0
0
0
16
-34
16
9
37
-13
27
-13
6
0
1
0
0
0
0
0
0
0
25
-18
8
7
9
-1
-5
-2
0
0
0
0
0
0
0
0
0
0
19
6
-3
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
30
-34
21
38
42
-17
5
0
-1
0
1
0
0
0
0
0
-13
59
78
-49
35
-48
-16
0
20
0
5
0
0
0
0
0
0
24
59
52
29
83
61
24
-13
1
4
8
-2
0
0
0
0
0
71
-41
-28
18
54
19
13
13
-63
1
0
-8
0
0
0
0
0
2
-42
-7
-32
4
11
17
-72
-33
6
0
0
0
0
0
0
0
0
-42
-69
-42
3
9
-29
5
-2
3
5
0
0
0
0
0
0
0
1
-54
20
1
-14
-18
1
8
0
0
0
0
0
0
0
0
0
-2
3
-4
-8
1
-3
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-4
60
19
-5
-9
-42
0
0
0
5
0
0
0
0
0
0
39
-6
31
32
23
7
29
0
-7
0
5
1
0
0
0
0
0
50
-56
71
-31
-8
-48
-13
-54
27
73
27
-2
-1
0
0
0
0
-49
-31
-34
-19
-8
-4
2
55
-66
4
0
1
0
0
0
0
0
34
-10
-20
14
16
8
54
-4
12
9
0
-7
0
0
0
0
0
0
-42
-16
-18
37
13
-44
7
-7
-7
-4
0
0
0
0
0
0
-12
5
63
-1
41
6
-50
6
-16
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
16
41
-8
8
34
0
0
-12
-4
0
0
0
0
0
0
-5
-56
37
14
23
20
-50
0
-8
0
0
-2
0
0
0
0
0
-5
60
-8
52
53
-17
25
-5
41
33
0
10
0
0
0
0
0
-10
10
57
2
37
-56
43
1
-43
-7
1
0
0
0
0
0
0
-23
-19
2
-25
-113
26
30
-46
-57
-13
3
0
0
0
0
0
0
0
49
51
-1
63
43
29
5
15
-4
5
0
0
0
0
0
0
0
-19
-21
49
-13
25
9
-2
10
-23
0
0
0
0
0
0
0
0
0
12
16
-9
0
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
6
0
0
0
0
0
0
0
0
-13
41
39
-37
-27
40
-12
0
0
0
21
0
0
0
0
0
0
1
73
13
-45
-25
-2
34
0
-17
0
1
0
0
0
0
0
0
2
-33
16
30
48
6
-6
20
9
35
-19
0
0
0
0
0
0
-92
26
-4
19
29
-27
-5
31
13
-34
-6
0
0
0
0
0
0
-13
-1
22
-72
-26
-41
28
21
-29
-9
1
0
0
0
0
0
0
12
46
-17
-59
66
-25
21
10
-14
7
0
0
0
0
0
0
0
-29
34
-32
3
66
-8
67
1
42
-13
0
0
0
0
0
0
0
0
15
-3
28
-2
30
-1
0
-1
0
0
0
0
0
0
0
0
0
17
6
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-19
56
74
36
-49
-103
83
23
0
64
0
-4
0
0
0
0
0
49
18
-5
7
-25
-36
12
0
-30
0
-3
0
0
0
0
0
0
35
14
26
-18
-23
-78
-33
26
5
12
-31
-5
0
0
0
0
0
-25
-10
33
-10
-49
17
11
20
-5
-12
1
0
0
0
0
0
0
57
31
-2
9
-5
148
-78
20
72
-10
-1
0
0
0
0
0
0
2
-75
8
-43
-26
-34
-1
62
21
-41
2
0
0
0
0
0
0
1
-7
2
42
-67
34
-12
-27
22
17
0
0
0
0
0
0
0
0
-96
20
-5
83
-19
2
5
1
-1
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
8
-17
30
-43
14
0
1
40
0
0
0
0
0
0
0
84
-24
-44
31
-30
-34
0
21
0
-106
-8
0
0
0
0
0
0
37
-12
41
55
-55
106
-109
13
-101
8
-1
0
0
0
0
0
0
-71
11
57
-83
38
71
-68
-67
-58
-3
-1
0
0
0
0
0
0
89
-55
8
17
26
13
48
-17
34
6
0
0
0
0
0
0
0
-13
-64
6
-75
-60
76
63
-30
-13
-23
0
0
0
0
0
0
0
43
-106
5
20
-15
-5
-8
0
-6
0
0
0
0
0
0
0
0
0
-6
29
8
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
14
-73
-9
0
-2
0
2
0
4
0
0
0
0
0
0
0
2
40
42
-4
-17
0
2
0
4
-33
0
0
0
0
0
0
0
32
-31
-13
12
26
23
-2
-20
0
-13
0
0
0
0
0
0
0
-5
30
-3
-22
111
-21
1
-51
-2
-5
0
0
0
0
0
0
0
-6
21
20
12
25
-23
-1
-15
0
-12
0
0
0
0
0
0
0
3
60
24
2
18
-37
5
0
0
4
0
0
0
0
0
0
0
0
-1
4
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
9
0
0
8
0
0
0
0
0
0
0
0
0
0
41
-4
32
0
2
0
-25
0
0
0
0
0
0
0
0
0
0
8
8
0
5
9
-10
0
-1
0
0
0
0
0
0
0
0
0
7
-2
-6
42
6
-3
-1
0
-1
0
0
0
0
0
0
0
0
8
5
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
43
0
23
-1
0
0
0
0
0
0
0
0
0
0
0
23
51
-3
40
2
-4
-1
0
2
0
0
0
0
0
0
0
0
-20
0
8
-22
55
-39
13
3
-30
0
0
0
0
0
0
0
0
0
26
-9
40
29
-34
1
-2
44
0
0
0
0
0
0
0
0
4
-1
-49
-17
47
19
-1
0
35
0
0
0
0
0
0
0
0
-2
-6
5
2
24
8
1
0
1
0
0
0
0
0
0
0
0
0
0
25
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
7
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-50
0
17
46
-74
2
0
0
0
0
0
0
0
0
0
-4
45
22
-53
-17
-58
-16
0
3
0
0
0
0
0
0
0
0
-1
-20
-27
12
-44
-37
-34
2
54
-75
0
0
0
0
0
0
0
0
-7
-48
62
9
-28
0
-26
-42
36
0
0
0
0
0
0
0
0
-42
25
-29
-95
2
1
41
-8
64
0
0
0
0
0
0
0
0
-58
-42
12
-20
-65
-5
-24
8
45
0
0
0
0
0
0
0
0
3
9
67
-15
33
9
7
4
4
0
0
0
0
0
0
0
0
0
4
2
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
45
14
5
53
16
1
1
0
-2
0
0
0
0
0
0
0
0
69
-50
50
-50
19
-58
0
0
0
3
0
0
0
0
0
0
0
14
20
12
21
7
-17
-41
-68
-14
2
0
0
0
0
0
0
0
15
-8
-40
-9
-23
-10
6
-41
-38
1
0
0
0
0
0
0
0
0
7
3
-20
-18
39
7
19
-3
2
0
0
0
0
0
0
0
-1
-6
44
-44
-100
10
3
-1
10
-1
0
0
0
0
0
0
0
7
-30
0
66
-1
1
0
0
-6
0
0
0
0
0
0
0
0
0
4
-15
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
56
-31
-16
6
3
0
0
0
0
0
0
0
0
0
0
8
-14
-13
15
-4
-41
-14
0
4
0
-13
-7
0
0
0
0
0
37
32
-51
99
41
-27
32
7
-50
13
-24
1
0
0
0
0
0
-25
37
68
20
-41
46
40
-6
31
-15
0
1
0
0
0
0
0
-4
9
2
9
60
-29
85
43
-20
2
-2
0
0
0
0
0
0
0
12
49
-27
33
-3
41
7
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-10
3
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
53
-7
-13
49
5
-3
0
0
0
0
0
0
0
0
0
-25
85
26
22
-54
19
-66
0
17
0
0
0
0
0
0
0
0
-8
-46
-11
-43
-28
80
-57
-28
7
6
-2
-8
0
0
0
0
0
16
13
30
-59
33
-37
-27
-71
24
-13
0
-2
0
0
0
0
0
13
-54
-5
-32
13
5
40
5
-3
24
0
-1
0
0
0
0
0
2
46
-12
-44
-22
-7
0
41
43
22
0
0
0
0
0
0
0
2
0
10
3
-59
0
21
-1
-1
-6
0
0
0
0
0
0
0
0
0
1
12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
60
-14
-59
-98
47
5
-6
0
-2
0
0
0
0
0
0
0
-16
-55
23
26
40
24
-30
0
20
0
-8
-4
0
0
0
0
0
15
-16
77
-25
42
-40
6
-23
25
-23
-2
0
0
0
0
0
0
41
6
93
-11
76
4
48
-8
-3
3
-1
0
0
0
0
0
0
56
14
22
93
-89
16
-31
-31
-7
45
0
0
0
0
0
0
0
0
-5
-6
16
-38
48
45
-16
-43
-24
0
0
0
0
0
0
0
2
0
47
19
-23
-1
9
7
-2
0
0
0
0
0
0
0
0
0
1
-25
41
-8
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
25
41
22
-6
13
12
0
-4
1
0
0
0
0
0
0
-4
31
20
21
-17
-58
-3
0
-49
0
-19
0
0
0
0
0
0
18
46
-42
77
-44
4
-44
120
-50
32
8
8
0
0
0
0
0
3
49
-19
-26
23
24
-29
15
-24
41
0
0
0
0
0
0
0
17
41
-22
-14
31
-14
17
61
-25
24
0
0
0
0
0
0
0
4
-64
-20
59
7
46
-9
-26
45
-20
0
0
0
0
0
0
0
0
0
15
-7
-20
-31
3
-20
-13
-2
0
0
0
0
0
0
0
0
-5
2
-30
2
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
75
44
162
48
-79
54
39
12
0
-1
6
0
0
0
0
0
0
-5
120
23
-6
46
-25
25
0
67
0
-15
0
0
0
0
0
0
43
-16
49
-1
-38
-11
-13
66
84
62
31
-6
0
0
0
0
0
20
69
-15
71
60
27
26
-71
18
3
0
0
0
0
0
0
0
31
21
35
13
-20
62
22
-10
64
49
3
0
0
0
0
0
0
-5
49
14
-14
7
-42
-44
-4
-75
-4
0
0
0
0
0
0
0
9
33
2
-5
-6
13
-4
7
-19
-12
0
0
0
0
0
0
0
0
-7
0
27
50
-35
-4
-1
-24
-5
0
0
0
0
0
0
0
0
-14
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
31
42
55
-93
42
-9
10
23
0
-2
0
0
0
0
0
0
0
29
-92
15
89
-9
-32
0
0
-5
0
-15
0
0
0
0
0
0
-8
15
-6
59
-43
-36
-147
-8
-99
27
18
-4
0
0
0
0
0
16
-9
38
-91
128
-18
30
66
-61
-25
-1
0
0
0
0
0
0
22
-29
-85
-29
-27
13
28
68
13
41
7
0
0
0
0
0
0
-1
-61
-3
-20
60
-12
-61
26
8
-42
0
0
0
0
0
0
0
-8
8
-41
-49
39
-1
5
24
-12
49
0
0
0
0
0
0
0
0
-25
2
-5
-29
35
24
4
0
-5
0
0
0
0
0
0
0
0
0
-7
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-47
-9
-4
27
5
46
0
-5
16
0
0
0
0
0
0
0
9
70
49
26
77
-11
0
18
0
97
0
0
0
0
0
0
0
-39
30
15
-37
-78
-17
13
-31
42
5
-5
0
0
0
0
0
0
-1
37
-40
-43
-11
-53
8
24
-6
19
0
0
0
0
0
0
0
59
70
24
-5
-37
-7
10
9
10
2
0
0
0
0
0
0
0
-5
-25
-44
-11
-9
63
-8
67
-8
-25
0
0
0
0
0
0
0
0
41
-40
-17
-6
-48
7
19
10
0
0
0
0
0
0
0
0
0
-49
23
42
13
3
1
-5
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
15
41
-9
30
0
4
1
2
0
0
0
0
0
0
0
43
33
13
48
-7
0
0
0
12
-16
0
0
0
0
0
0
0
-13
-1
48
-5
-63
-31
-28
28
-4
-10
0
0
0
0
0
0
0
3
20
14
22
39
21
-3
9
0
-7
0
0
0
0
0
0
0
5
-9
-2
16
76
48
-8
22
1
-1
0
0
0
0
0
0
0
-7
-8
-5
-61
-6
5
1
2
4
0
0
0
0
0
0
0
0
0
9
-8
-32
-3
4
0
1
0
0
0
0
0
0
0
0
0
0
4
8
0
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
-6
-3
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
3
31
0
-3
0
0
3
-5
0
0
0
0
0
0
0
0
31
13
-14
-18
2
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-2
0
3
0
4
0
0
0
0
0
0
0
0
0
-42
-2
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
53
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
16
-8
-68
-16
6
-16
0
0
0
0
0
0
0
0
0
0
-12
5
-20
-5
41
-17
-1
-4
0
0
0
0
0
0
0
0
0
23
-3
24
41
-42
-20
2
0
-16
0
0
0
0
0
0
0
0
0
15
14
-42
-12
-4
2
1
-2
0
0
0
0
0
0
0
0
-1
0
-41
-3
2
29
-2
0
0
0
0
0
0
0
0
0
0
0
2
3
17
8
-13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-49
15
-17
25
26
-1
0
25
0
0
0
0
0
0
0
-2
124
45
10
20
-38
-41
0
4
0
0
0
0
0
0
0
0
1
-49
-63
12
-26
29
31
12
34
58
0
0
0
0
0
0
0
1
3
-1
-53
-74
3
-41
53
32
-37
0
0
0
0
0
0
0
1
0
35
-34
-58
26
23
30
-31
30
0
0
0
0
0
0
0
0
-12
30
42
-13
-42
-20
20
-21
8
0
0
0
0
0
0
0
0
-3
-29
-37
31
-42
7
8
13
-8
0
0
0
0
0
0
0
0
1
0
84
7
63
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
7
61
-9
42
0
0
0
0
0
0
0
0
0
0
0
0
31
12
44
65
27
-7
0
-1
0
-8
0
0
0
0
0
0
0
14
16
6
3
12
-47
9
43
78
32
0
0
0
0
0
0
0
-2
39
-19
-17
-25
-43
-54
-3
5
0
0
0
0
0
0
0
0
15
0
-8
-34
-18
4
69
4
-2
-2
0
0
0
0
0
0
0
0
-37
6
-22
19
27
0
-12
24
2
0
0
0
0
0
0
0
0
-10
27
-1
29
-1
16
9
-7
0
0
0
0
0
0
0
0
6
1
17
8
-6
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
9
-17
7
86
49
3
0
0
0
-2
0
0
0
0
0
0
-37
16
25
-72
-72
-6
-7
0
0
0
-13
0
0
0
0
0
0
18
-3
45
54
-9
-54
7
-8
-21
-6
15
-2
0
0
0
0
0
0
-42
15
13
-14
-11
5
-29
-100
-7
0
0
0
0
0
0
0
0
83
47
0
39
41
-14
-10
12
0
0
0
0
0
0
0
0
0
95
-1
-6
4
1
1
35
4
0
0
0
0
0
0
0
0
-1
0
-12
0
-12
0
-7
0
0
0
0
0
0
0
0
0
0
0
20
0
0
12
0
0
1
0
0
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
59
-28
-18
-13
-37
-15
-2
0
0
-1
0
0
0
0
0
0
6
32
41
41
48
8
10
0
5
0
5
-1
0
0
0
0
0
-8
-5
-6
67
13
17
-41
24
10
-6
0
-3
0
0
0
0
0
23
-1
59
-24
65
70
-31
6
34
27
0
0
0
0
0
0
0
23
-4
9
19
0
-9
-5
-43
15
-31
0
0
0
0
0
0
0
-2
-31
-73
-136
-8
-19
-31
16
8
22
0
0
0
0
0
0
0
6
3
-18
33
8
-16
-6
-5
7
2
0
0
0
0
0
0
0
0
0
0
37
5
12
0
0
0
-1
0
0
0
0
0
0
0
0
2
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
34
42
-25
0
-43
-41
67
0
0
0
0
0
0
0
0
0
0
9
-13
31
-39
76
25
-63
0
-59
0
-4
0
0
0
0
0
0
42
25
-2
0
20
-68
-25
-3
-2
-36
5
0
0
0
0
0
0
1
25
-19
-5
-22
-64
85
75
56
-10
0
0
0
0
0
0
0
-29
-12
-8
-16
27
0
73
-8
10
0
2
0
0
0
0
0
0
-3
7
22
21
-83
6
-13
-30
9
-2
0
0
0
0
0
0
0
0
-4
-61
-16
-31
23
-7
-3
5
0
0
0
0
0
0
0
0
0
-75
0
-31
1
-14
0
4
0
0
0
0
0
0
0
0
0
-2
0
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-69
13
37
-21
15
-13
-5
0
-5
1
0
0
0
0
0
0
-17
15
26
26
-76
-5
-19
0
7
0
2
0
0
0
0
0
0
49
109
21
-29
50
17
-19
93
13
-49
-1
0
0
0
0
0
0
33
75
25
5
-4
28
-13
71
54
-29
6
0
0
0
0
0
0
-8
37
-21
1
-9
-1
0
-1
3
-5
0
0
0
0
0
0
0
-9
12
16
76
-8
2
-23
-42
-1
24
0
0
0
0
0
0
0
-2
-6
21
-42
-29
-2
-14
-51
-15
1
0
0
0
0
0
0
0
0
-8
3
3
-17
4
0
0
-6
0
0
0
0
0
0
0
0
0
-2
-9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
19
-14
1
11
20
40
58
3
0
0
-9
0
0
0
0
0
0
26
8
-14
-5
-2
13
49
0
78
0
-6
0
0
0
0
0
0
8
-6
-28
81
33
57
104
28
70
-21
-34
-2
0
0
0
0
0
-5
5
43
17
14
-18
119
-41
98
15
1
-2
0
0
0
0
0
-5
2
35
30
-37
10
-10
0
-49
-3
0
0
0
0
0
0
0
-8
-5
23
8
15
59
14
13
32
-17
0
0
0
0
0
0
0
-25
10
-43
-27
-21
6
-39
0
-25
-3
0
0
0
0
0
0
0
0
-7
-6
-15
4
-8
0
0
0
-6
0
0
0
0
0
0
0
0
0
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-22
-8
31
23
70
-43
31
9
0
-5
-4
0
0
0
0
0
0
34
108
53
0
-4
26
-6
0
18
0
42
-6
0
0
0
0
0
-18
6
36
90
-22
38
13
85
49
-13
-1
-6
0
0
0
0
0
-49
-19
4
12
16
-102
27
-2
1
-39
13
5
0
0
0
0
0
-7
45
34
86
6
161
39
32
0
-31
-4
0
0
0
0
0
0
4
-22
30
52
59
-62
112
-8
-6
-56
0
0
0
0
0
0
0
0
-30
10
-42
-55
-4
-2
-72
-1
-8
0
0
0
0
0
0
0
0
-13
10
4
24
43
-6
-5
-1
17
0
0
0
0
0
0
0
0
0
-10
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
-24
-24
-8
-16
-29
24
5
0
0
31
4
0
0
0
0
0
0
49
31
-7
4
-14
-45
0
27
0
88
7
0
0
0
0
0
0
-28
-2
-51
49
34
-10
-5
23
-5
-10
-1
0
0
0
0
0
0
-48
-38
-5
-1
-55
-22
7
53
76
-40
-8
0
0
0
0
0
0
35
-50
4
-45
7
7
21
37
0
14
0
0
0
0
0
0
0
3
-22
-33
-42
33
15
-45
49
5
-6
0
0
0
0
0
0
0
64
-5
32
22
17
42
-27
14
1
2
0
0
0
0
0
0
0
0
-13
23
-16
50
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
4
54
-13
24
0
1
2
-6
0
0
0
0
0
0
0
-4
-44
-4
0
-47
0
3
0
-8
-2
0
0
0
0
0
0
0
3
49
22
23
-6
35
13
19
0
-3
0
0
0
0
0
0
0
-12
-18
63
62
-47
5
-70
19
-27
-9
0
0
0
0
0
0
0
0
5
-8
-21
1
1
0
-1
0
-3
0
0
0
0
0
0
0
-9
15
34
-25
13
0
8
2
0
0
0
0
0
0
0
0
0
0
-3
2
5
0
-7
7
0
0
0
0
0
0
0
0
0
0
0
7
4
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-25
2
0
0
-5
0
0
0
0
0
0
0
0
0
-2
-25
1
-8
0
0
0
-7
1
1
0
0
0
0
0
0
0
0
-8
6
-9
-22
-9
1
0
1
-2
0
0
0
0
0
0
0
0
0
-21
2
-7
-1
6
0
0
-2
0
0
0
0
0
0
0
0
1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
3
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
54
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-18
0
-3
0
0
5
0
0
0
0
0
0
0
0
-20
-3
-21
9
8
16
-1
0
1
0
0
0
0
0
0
0
0
-1
-43
-8
-3
42
-57
2
0
-24
0
0
0
0
0
0
0
0
41
0
9
-14
-5
-8
-13
0
-4
0
0
0
0
0
0
0
0
0
34
-7
-41
24
-3
-7
4
1
0
0
0
0
0
0
0
0
0
0
34
16
29
-4
0
0
2
0
0
0
0
0
0
0
0
0
-7
0
-7
7
-14
0
-2
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
1
-13
56
2
0
-8
0
0
0
0
0
0
0
0
0
2
-31
-4
7
8
-41
-34
0
0
0
0
0
0
0
0
0
0
0
27
-75
-15
24
8
-8
-12
-13
92
0
0
0
0
0
0
0
0
3
5
-18
-75
41
4
-17
-13
-23
0
0
0
0
0
0
0
0
25
5
-97
-7
-41
-13
-8
-2
-1
0
0
0
0
0
0
0
-6
0
59
-7
57
-49
24
4
3
-4
0
0
0
0
0
0
0
0
-4
8
23
66
49
-33
-8
-2
0
0
0
0
0
0
0
0
0
-1
8
35
-6
4
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
58
-58
35
-69
-1
0
0
0
0
0
0
0
0
0
0
0
45
15
-44
99
-5
-33
0
0
0
15
0
0
0
0
0
0
0
19
1
-8
-10
-1
-21
7
85
24
46
0
0
0
0
0
0
0
27
-31
-18
20
-9
-113
-55
-3
-56
-22
0
0
0
0
0
0
0
1
6
0
0
22
23
28
-33
3
0
0
0
0
0
0
0
0
-8
0
55
43
-28
41
24
1
10
-4
0
0
0
0
0
0
0
-1
15
0
66
50
5
-15
0
20
0
0
0
0
0
0
0
0
0
0
19
0
-54
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
23
-35
-23
-1
4
3
0
-2
-6
0
0
0
0
0
0
3
-83
-1
127
42
-57
31
0
5
0
-41
0
0
0
0
0
0
-1
13
-5
-21
-44
13
3
16
31
24
-32
1
0
0
0
0
0
8
-3
71
27
0
-50
-45
45
10
-1
5
0
0
0
0
0
0
41
-27
-6
-31
42
83
15
-25
-30
-4
0
0
0
0
0
0
0
0
13
23
0
34
15
12
1
0
0
0
6
0
0
0
0
0
-1
1
0
-9
0
-5
-17
3
1
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
42
-9
8
12
-3
47
2
0
0
0
0
0
0
0
0
0
-1
19
46
27
-41
111
-30
0
-2
0
0
-1
0
0
0
0
0
-25
-18
-18
-6
4
17
37
54
-13
31
0
-1
0
0
0
0
0
4
-41
-43
-17
52
43
-59
-34
4
-43
0
2
0
0
0
0
0
25
-10
-2
-7
-10
66
-51
29
-41
-58
-3
0
0
0
0
0
0
0
2
9
-27
0
-75
3
0
0
0
0
0
0
0
0
0
0
1
53
-14
-8
-30
-2
13
-39
14
1
0
0
0
0
0
0
0
0
4
0
-2
2
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
7
8
20
5
17
-42
-14
0
-2
0
0
0
0
0
0
0
8
-5
53
3
31
-26
63
0
24
0
1
0
0
0
0
0
0
43
70
18
22
25
-31
-66
-9
-4
-85
-1
0
0
0
0
0
0
16
81
31
-6
-21
74
41
-13
22
-29
-1
0
0
0
0
0
0
21
5
-53
14
44
69
-1
-49
-6
-75
16
0
0
0
0
0
0
1
-8
33
58
57
0
-5
3
2
5
3
0
0
0
0
0
0
16
50
59
85
2
0
-5
-3
5
-2
0
0
0
0
0
0
0
0
-45
15
-5
-5
3
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
68
16
-7
35
13
4
-19
0
0
3
0
0
0
0
0
0
22
31
-27
8
-4
21
37
0
1
0
0
0
0
0
0
0
0
6
-1
20
5
13
-42
30
-31
63
-31
0
3
0
0
0
0
0
-12
31
-64
26
47
33
-25
-42
10
24
1
3
0
0
0
0
0
42
2
47
33
47
66
-22
41
29
-101
0
0
0
0
0
0
0
0
-20
-4
32
-10
-8
0
-3
17
0
2
0
0
0
0
0
0
2
-19
-3
42
-23
12
16
-27
75
-10
0
0
0
0
0
0
0
0
16
23
5
-7
-5
-2
-4
-1
8
0
0
0
0
0
0
0
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-56
-56
25
63
-28
73
31
-17
0
-13
0
0
0
0
0
0
0
47
36
-8
55
-42
0
-24
0
9
0
5
-2
0
0
0
0
0
63
33
-31
23
30
-60
22
120
39
22
49
-2
0
0
0
0
0
7
31
26
78
21
-23
-91
2
60
-77
-3
0
0
0
0
0
0
39
18
-5
-23
-50
54
61
53
52
69
50
0
0
0
0
0
0
-3
30
68
144
-16
130
5
0
-7
1
0
0
0
0
0
0
0
-19
17
23
5
13
-10
4
2
-2
-8
0
0
0
0
0
0
0
0
-43
29
-25
41
-1
-7
2
-2
-2
0
0
0
0
0
0
0
0
0
8
44
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
-13
1
-43
-18
44
10
0
23
12
0
0
0
0
0
0
-5
0
8
-24
-15
-37
55
0
-12
0
-13
-2
0
0
0
0
0
21
107
28
-3
40
-51
75
-3
97
-1
10
3
0
0
0
0
0
-18
-33
27
-51
4
70
-56
24
45
-16
-8
0
0
0
0
0
0
-6
-4
-26
112
-2
16
70
52
29
-41
-22
0
0
0
0
0
0
-22
-3
-2
-51
-75
58
56
-34
0
-22
0
0
0
0
0
0
0
-1
23
35
-46
57
17
-14
1
0
-30
0
0
0
0
0
0
0
0
12
8
7
-31
-30
24
2
0
-24
0
0
0
0
0
0
0
0
29
-8
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
44
11
7
29
17
14
3
0
1
84
0
0
0
0
0
0
0
-19
37
-7
30
51
13
0
-13
0
49
0
0
0
0
0
0
0
3
-64
-23
73
43
-32
-37
-14
51
-31
-1
0
0
0
0
0
0
25
53
10
4
15
41
64
20
-14
42
0
0
0
0
0
0
0
3
34
-16
1
23
9
-43
-79
51
2
0
0
0
0
0
0
0
-12
33
12
-7
-20
19
22
3
0
-7
0
0
0
0
0
0
0
-2
10
16
-8
26
6
6
13
-2
0
0
0
0
0
0
0
0
0
3
-49
49
24
-4
0
-34
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
-42
49
-25
-6
0
5
1
0
0
0
0
0
0
0
0
-5
13
-35
5
43
0
6
0
0
-50
0
0
0
0
0
0
0
-41
52
-16
5
22
-44
-33
-6
10
-45
0
0
0
0
0
0
0
8
-9
-8
13
-44
22
17
-24
1
6
0
0
0
0
0
0
0
0
22
51
50
103
4
39
1
-4
-13
0
0
0
0
0
0
0
-5
2
44
21
-34
-16
0
2
0
1
0
0
0
0
0
0
0
0
-9
0
19
8
-4
-1
0
0
0
0
0
0
0
0
0
0
1
1
-5
-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
3
0
-1
0
5
0
-1
2
0
-1
0
0
0
0
0
0
0
0
12
-15
2
0
-1
0
20
3
0
0
0
0
0
0
0
0
0
1
1
13
4
42
-15
-6
-14
-4
0
0
0
0
0
0
0
0
-5
-12
1
12
2
-6
4
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
1
-2
0
0
1
0
0
0
0
0
0
0
2
0
1
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
16
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-35
1
3
4
1
0
-8
13
0
0
0
0
0
0
0
0
-10
-2
0
-24
-48
23
2
4
5
0
0
0
0
0
0
0
0
9
0
4
-31
-2
-23
-9
0
1
0
0
0
0
0
0
0
0
0
0
-34
0
22
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
30
0
0
8
-8
0
0
0
0
0
0
0
0
0
0
4
-8
-6
-10
-26
93
3
0
0
0
0
0
0
0
0
0
0
-1
20
93
-5
-64
7
3
0
-13
45
0
0
0
0
0
0
0
0
27
20
-12
-1
-44
109
-21
1
6
0
0
0
0
0
0
0
2
16
-27
-4
22
-6
8
44
-22
25
0
0
0
0
0
0
0
0
-19
0
11
24
5
56
0
-1
-10
0
0
0
0
0
0
0
7
0
-4
8
43
3
48
3
3
0
0
0
0
0
0
0
0
0
8
0
48
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
48
0
-2
0
0
0
0
0
0
0
0
0
0
0
-11
18
58
25
41
4
0
2
0
3
0
0
0
0
0
0
0
-20
34
49
4
12
9
0
14
13
25
0
0
0
0
0
0
0
-23
-44
10
-7
10
-54
20
-4
-4
-5
0
0
0
0
0
0
0
6
7
23
-42
47
-63
57
-5
1
1
0
0
0
0
0
0
0
0
58
0
-52
-79
12
31
0
13
0
0
0
0
0
0
0
0
13
0
28
24
8
42
-8
4
0
0
0
0
0
0
0
0
0
0
-2
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
-16
-4
1
-1
0
0
0
0
0
0
0
0
0
-5
90
0
16
-8
19
10
0
0
0
-8
0
0
0
0
0
0
-3
-1
20
3
-35
-8
0
1
-1
0
7
0
0
0
0
0
0
0
16
-12
-10
8
21
-17
-4
7
-1
0
0
0
0
0
0
0
-2
0
25
-4
14
5
-24
53
-12
5
0
0
0
0
0
0
0
-2
13
0
13
0
-42
4
24
-6
1
0
0
0
0
0
0
0
2
8
33
0
-7
3
-18
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
-3
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
66
-3
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
65
-85
5
-13
0
4
0
0
0
0
0
0
0
0
0
2
8
-3
-26
-26
51
0
-46
33
0
0
0
0
0
0
0
2
37
-51
-4
32
-52
8
2
-8
-8
0
0
0
0
0
0
0
-23
-25
-13
13
25
-18
15
-10
41
12
0
0
0
0
0
0
0
-3
32
-42
-8
27
41
16
7
-35
-91
0
0
0
0
0
0
0
0
15
41
-30
0
-4
-1
-5
-3
-3
0
0
0
0
0
0
0
0
-4
10
-1
-5
-6
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-58
38
57
15
8
4
0
0
0
0
0
0
0
0
0
6
-2
13
-22
-22
5
5
0
0
0
0
0
0
0
0
0
0
1
5
9
17
35
-9
47
17
-56
-79
-5
0
0
0
0
0
0
2
25
-3
-57
-31
92
20
5
-27
-14
0
0
0
0
0
0
0
-3
27
-13
-34
-55
5
-5
-34
1
75
-1
0
0
0
0
0
0
-20
-58
-20
-7
0
4
20
6
5
-51
-8
0
0
0
0
0
0
-15
-10
14
10
17
0
0
-2
0
0
0
0
0
0
0
0
0
0
27
18
-43
0
-5
9
1
0
-5
0
0
0
0
0
0
0
-1
0
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-25
49
32
-13
-25
13
0
0
0
0
0
0
0
0
0
-2
-26
56
-28
-3
-39
5
0
-22
0
0
2
0
0
0
0
0
0
-10
-20
16
-13
45
-13
-96
35
-28
1
6
0
0
0
0
0
-1
0
25
-17
-2
35
-1
7
20
-21
0
0
0
0
0
0
0
-34
-16
13
5
42
27
84
-20
-5
28
0
0
0
0
0
0
0
3
-33
73
-56
-20
37
25
14
37
14
-2
0
0
0
0
0
0
0
12
-39
12
15
86
0
0
2
0
0
0
0
0
0
0
0
0
-6
17
-16
-20
-22
1
-3
4
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
22
17
4
16
18
-12
5
0
0
1
0
0
0
0
0
0
14
-8
-21
1
42
-27
62
0
49
0
2
0
0
0
0
0
0
44
45
-37
8
-28
110
40
-30
51
-51
29
-1
0
0
0
0
0
10
15
31
101
77
-78
9
5
5
58
-7
0
0
0
0
0
0
-5
-22
-7
-37
34
6
80
-22
-11
17
25
0
0
0
0
0
0
-61
57
-22
68
-16
58
35
6
1
101
0
0
0
0
0
0
0
2
19
10
31
17
19
-7
0
-24
0
0
0
0
0
0
0
0
0
35
50
43
-5
4
8
0
0
-5
0
0
0
0
0
0
0
0
5
8
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
66
17
-15
77
-75
5
0
3
-3
0
0
0
0
0
0
2
-22
27
50
-1
33
-91
0
-55
0
22
0
0
0
0
0
0
8
45
-33
65
-40
-9
78
-4
15
-38
-18
-1
0
0
0
0
0
-13
69
27
2
-33
64
34
-49
-23
-48
-8
-1
0
0
0
0
0
-3
50
-5
132
-44
-39
-53
26
14
-108
23
0
0
0
0
0
0
9
8
6
-2
-40
18
37
-4
8
-7
1
0
0
0
0
0
0
0
30
-66
34
-43
26
-33
42
0
3
0
0
0
0
0
0
0
0
-2
-17
13
-42
-24
6
18
2
-57
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-59
15
-5
-8
92
0
0
1
-19
-1
0
0
0
0
0
0
17
30
66
41
-34
-23
0
20
0
37
3
0
0
0
0
0
0
-1
16
94
91
59
8
48
16
68
66
0
0
0
0
0
0
0
-17
48
25
49
5
2
46
70
52
1
-1
0
0
0
0
0
0
-25
-72
26
-66
2
4
17
-47
1
-13
0
0
0
0
0
0
0
-2
10
-8
-40
14
10
-8
3
49
-43
0
0
0
0
0
0
0
-23
43
-15
47
-68
4
6
30
0
-4
0
0
0
0
0
0
0
0
29
6
-9
57
25
-8
6
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-41
0
6
0
-3
-19
-3
0
0
0
0
0
0
0
4
2
-20
-20
11
0
-6
0
8
8
0
0
0
0
0
0
0
0
24
-34
33
-39
-8
-5
-10
0
40
0
0
0
0
0
0
0
-8
44
-7
15
17
32
6
5
7
49
0
0
0
0
0
0
0
0
14
-41
-7
-33
-8
-2
46
0
39
0
0
0
0
0
0
0
5
-4
-21
21
13
-31
-19
5
0
-8
0
0
0
0
0
0
0
-9
-10
-34
-15
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
10
-8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
1
-3
2
3
1
5
4
-7
0
0
0
0
0
0
0
0
0
1
27
10
20
7
2
16
3
0
0
0
0
0
0
0
0
0
-1
-6
-51
9
-13
-3
7
0
0
0
0
0
0
0
0
0
0
0
1
-8
-9
4
-13
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-7
0
-3
-1
0
0
-3
0
0
0
0
0
0
0
0
0
-30
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-12
-7
-4
-1
-1
0
-2
0
0
0
0
0
0
0
0
-3
9
0
-43
0
31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
16
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-69
5
2
0
0
0
0
0
0
0
0
0
0
0
10
0
40
-10
0
0
-1
0
0
-10
0
0
0
0
0
0
0
0
38
-8
9
-17
1
-19
0
-6
-1
0
0
0
0
0
0
0
-23
0
-4
67
-2
-24
2
13
0
0
0
0
0
0
0
0
0
0
8
0
0
-30
4
-5
3
-8
0
0
0
0
0
0
0
0
0
0
8
-6
14
-1
5
-5
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
39
12
8
-6
0
3
0
0
0
0
0
0
0
0
-1
1
1
21
53
-9
8
0
0
5
0
0
0
0
0
0
0
0
0
1
18
-4
8
7
0
0
6
0
0
0
0
0
0
0
0
0
1
-25
21
19
13
0
1
-29
0
0
0
0
0
0
0
0
0
0
1
3
21
1
0
0
8
0
0
0
0
0
0
0
0
0
1
0
4
0
5
2
0
0
0
0
0
0
0
0
0
0
-4
0
7
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-6
-42
12
0
1
0
0
0
0
0
0
0
0
0
0
-7
6
24
0
-30
0
0
-7
0
0
0
0
0
0
0
0
0
-16
25
-2
-15
-6
1
-14
-8
0
0
0
0
0
0
0
0
0
5
-5
-51
0
-8
-2
-17
-1
0
-3
0
0
0
0
0
0
0
0
2
-1
10
0
0
0
-22
0
0
0
0
0
0
0
0
0
22
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
44
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
20
76
3
-4
0
0
4
0
0
0
0
0
0
0
0
19
-9
-4
-9
-1
1
0
-29
-4
0
0
0
0
0
0
0
-14
0
47
-32
-10
5
-24
-2
0
-1
0
0
0
0
0
0
0
0
8
-2
9
22
-41
8
0
-2
-13
0
0
0
0
0
0
0
-4
-1
-42
0
-1
1
3
5
0
0
0
0
0
0
0
0
0
0
2
-12
13
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
-7
17
-5
-1
0
0
0
0
0
0
0
0
0
0
49
0
-3
21
59
-30
0
0
0
0
0
0
0
0
0
0
-14
0
31
7
-3
-3
4
0
10
-31
2
0
0
0
0
0
0
0
20
-8
4
5
-25
-14
2
5
-8
-12
0
0
0
0
0
0
-8
9
52
9
-16
-23
-13
-61
-81
0
0
0
0
0
0
0
0
0
0
-33
31
6
32
7
17
-6
4
0
0
0
0
0
0
0
-15
16
1
4
12
2
3
5
9
0
0
0
0
0
0
0
0
0
-66
-2
-24
-25
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-35
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
31
-12
2
13
-3
0
0
0
0
0
0
0
0
0
0
21
-12
98
-4
3
12
0
0
0
0
0
0
0
0
0
0
0
0
43
13
-28
5
13
0
5
-69
-2
0
0
0
0
0
0
1
-7
8
8
-43
1
-9
10
51
-64
-8
0
0
0
0
0
0
1
8
93
71
14
18
-58
59
25
-34
0
0
0
0
0
0
0
0
-57
76
49
27
-59
10
1
-23
4
0
0
0
0
0
0
0
-1
8
38
-51
9
-20
2
39
23
-24
0
0
0
0
0
0
0
0
-1
-14
48
23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-8
28
28
13
37
4
0
0
0
0
0
0
0
0
0
3
5
-4
12
35
-44
12
0
0
0
0
0
0
0
0
0
0
-6
1
-9
0
49
-6
8
1
7
-55
-2
0
0
0
0
0
0
-2
-7
8
54
23
47
-43
-31
13
-13
1
0
0
0
0
0
0
5
26
26
19
41
-19
-5
0
-42
-20
-17
0
0
0
0
0
0
16
54
31
-12
-17
-31
17
0
-48
20
-1
0
0
0
0
0
0
10
-8
1
41
-15
13
42
-5
-25
3
0
0
0
0
0
0
0
0
37
-22
70
4
-8
-1
0
0
0
0
0
0
0
0
0
0
3
-9
24
-8
14
48
0
0
-7
0
0
0
0
0
0
0
0
0
-9
-26
18
-54
6
25
-12
0
-1
0
0
0
0
0
0
0
0
-38
49
50
43
-89
-69
0
0
0
1
0
0
0
0
0
0
10
-5
-44
90
2
-56
109
38
-4
-5
-5
0
0
0
0
0
0
0
-26
-51
-30
-13
13
120
-5
-3
-95
-3
0
0
0
0
0
0
-9
21
7
49
33
72
-7
-41
2
49
0
0
0
0
0
0
0
0
-18
50
31
31
-21
-8
-22
1
67
0
0
0
0
0
0
0
0
-70
-26
-59
-80
99
-17
34
3
-3
1
0
0
0
0
0
0
0
5
-28
-60
-21
-1
1
1
0
-1
0
0
0
0
0
0
0
0
2
9
24
33
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
-14
-20
13
25
31
-16
0
0
4
0
0
0
0
0
0
0
-4
-14
57
-50
33
66
0
0
0
14
0
0
0
0
0
0
0
-18
37
49
19
2
7
-17
-25
6
-77
0
0
0
0
0
0
0
-10
58
15
37
-13
-17
57
-24
-2
-35
0
0
0
0
0
0
0
-4
-8
54
5
3
36
45
-73
30
12
0
0
0
0
0
0
0
34
-70
13
82
-24
-20
6
-20
-2
13
0
0
0
0
0
0
0
-8
-30
-30
-4
93
8
-9
16
1
2
0
0
0
0
0
0
0
0
37
-8
13
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-51
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-9
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
22
6
0
0
0
0
-3
0
0
0
0
0
0
0
-3
1
39
22
-25
34
4
14
-6
-3
0
0
0
0
0
0
0
0
-14
5
-15
24
-28
2
-8
-2
-4
0
0
0
0
0
0
0
10
4
-31
-34
21
-8
9
4
0
-3
0
0
0
0
0
0
0
-5
59
52
23
3
10
-8
-1
-2
0
0
0
0
0
0
0
0
0
12
43
13
13
-6
0
0
-1
2
0
0
0
0
0
0
0
0
0
10
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
-12
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
4
1
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
8
-1
-3
-4
0
0
0
0
0
0
0
0
0
0
2
0
-7
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
4
2
0
0
2
-1
0
0
0
0
0
0
0
0
-10
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-54
0
-25
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-49
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
44
0
-35
32
0
-6
0
0
0
0
0
0
0
0
13
0
25
0
30
-9
-44
0
0
0
0
0
0
0
0
0
0
0
8
-1
1
-13
37
-35
0
-23
0
0
0
0
0
0
0
0
1
-1
-31
5
-24
32
0
0
-41
0
0
0
0
0
0
0
0
0
19
0
3
0
0
42
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
25
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
10
0
0
0
-19
0
0
0
0
0
0
0
0
0
2
7
44
-6
-43
-3
0
-12
0
0
0
0
0
0
0
0
16
-5
-42
13
5
13
-2
0
-4
0
0
0
0
0
0
0
0
0
-12
-18
35
-2
139
0
0
0
0
0
0
0
0
0
0
0
-7
-2
8
-4
-24
-25
0
0
-17
0
0
0
0
0
0
0
0
-8
-2
0
54
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
-13
0
0
0
0
0
0
0
0
0
10
0
19
-6
-5
0
1
-25
0
0
0
0
0
0
0
0
0
0
-1
-1
-13
2
0
0
0
0
0
0
0
0
0
0
0
-8
13
4
8
6
5
0
0
6
0
0
0
0
0
0
0
0
0
0
1
5
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-3
-5
-4
-17
0
0
0
0
0
0
0
0
0
0
1
8
0
22
9
8
-66
18
0
0
0
0
0
0
0
0
-5
0
0
4
27
39
3
6
0
0
0
0
0
0
0
0
0
33
0
0
-3
-3
0
-1
0
6
0
0
0
0
0
0
0
0
-3
0
0
4
-1
12
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-19
-12
59
-19
0
5
0
0
0
0
0
0
0
1
-1
14
-29
28
-56
-38
-2
-3
-1
0
0
0
0
0
0
0
-2
-5
-5
-42
3
8
33
-6
47
14
0
0
0
0
0
0
0
0
-19
-4
-2
-6
-8
7
-5
1
3
0
0
0
0
0
0
0
0
0
0
7
-16
-10
41
20
16
0
0
0
0
0
0
0
0
0
-5
0
-2
0
9
8
28
43
-5
0
0
0
0
0
0
0
0
0
-1
0
-7
0
52
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-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
-1
0
-2
10
32
9
84
0
2
-2
0
0
0
0
0
0
0
2
15
0
-16
3
-31
8
-2
-20
1
0
0
0
0
0
0
0
-2
-3
4
12
8
21
-23
121
-19
0
0
0
0
0
0
0
0
-1
-3
-4
20
27
8
17
8
7
-4
0
0
0
0
0
0
0
-30
0
0
12
0
-16
-57
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
0
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
4
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
-14
0
1
0
-8
34
0
0
0
0
0
0
0
0
0
14
0
0
0
0
31
-3
83
22
-15
-7
0
0
0
0
0
0
0
0
5
2
9
31
35
-72
41
44
0
0
0
0
0
0
0
0
0
0
10
-1
12
3
14
0
9
0
0
0
0
0
0
0
0
0
0
0
-7
19
-2
9
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
20
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
41
37
8
0
0
2
0
0
0
0
0
0
0
3
0
0
-6
16
2
-13
-25
5
-3
0
0
0
0
0
0
0
1
1
24
0
31
-27
68
23
2
0
-1
0
0
0
0
0
0
0
-4
8
7
68
0
-4
7
-5
0
0
0
0
0
0
0
0
-3
0
0
-5
-8
6
1
1
-2
0
0
0
0
0
0
0
0
0
0
2
6
6
-13
-12
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-4
21
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
-8
12
-1
0
21
-2
0
5
0
0
0
0
0
0
0
-9
0
-1
34
-17
-109
6
52
33
-2
3
0
0
0
0
0
0
-9
19
2
24
-23
-13
-39
25
-10
6
0
0
0
0
0
0
0
-7
17
3
0
-13
12
32
8
-24
7
-1
0
0
0
0
0
0
5
0
-4
0
-25
-31
-7
7
66
0
0
0
0
0
0
0
0
0
1
3
-5
9
12
0
-21
29
-1
0
0
0
0
0
0
0
7
0
5
0
23
6
-13
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
-4
54
10
0
22
0
-17
0
0
0
0
0
0
0
3
42
-2
55
-51
-13
25
28
-7
-4
0
0
0
0
0
0
0
14
-32
-12
9
13
34
52
5
13
-8
5
0
0
0
0
0
0
0
-3
15
6
24
61
63
25
32
14
0
0
0
0
0
0
0
0
0
3
1
49
34
49
-24
72
19
-3
0
0
0
0
0
0
0
13
9
10
0
73
15
-43
-34
0
0
0
0
0
0
0
0
0
0
0
-13
-19
-1
9
-27
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-25
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
32
-59
-23
-8
13
0
0
-18
4
0
0
0
0
0
0
-18
35
49
5
10
145
14
-30
52
8
-2
-4
0
0
0
0
0
25
14
13
-37
-46
28
25
21
18
0
-1
0
0
0
0
0
0
-18
-5
25
23
-22
21
-95
-52
-42
14
-2
0
0
0
0
0
0
-13
13
-2
16
-4
0
5
-21
-54
0
-4
0
0
0
0
0
0
0
22
5
-1
15
69
-7
-15
16
0
-1
0
0
0
0
0
0
0
0
0
-6
0
5
-2
1
-5
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
52
13
18
-17
-7
-18
0
0
9
0
0
0
0
0
0
0
56
28
-5
-25
-2
1
40
-6
3
3
0
0
0
0
0
0
0
-9
8
-2
9
-31
14
25
4
1
5
0
0
0
0
0
0
0
-3
-16
-34
8
56
-13
-11
-5
19
1
1
0
0
0
0
0
0
21
3
8
55
-13
-48
-42
-6
-9
0
0
0
0
0
0
0
0
48
0
-25
3
8
-3
-6
10
5
0
0
0
0
0
0
0
0
0
0
0
-9
56
5
-10
-8
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
17
17
-14
0
6
0
-1
0
0
0
0
0
0
0
-9
16
-7
42
3
-45
8
-13
0
0
0
0
0
0
0
0
0
18
8
-3
3
-3
-19
7
-14
0
0
0
0
0
0
0
0
0
20
-2
9
4
-30
-21
41
2
8
0
0
0
0
0
0
0
0
0
0
0
37
5
1
4
-6
5
-3
0
0
0
0
0
0
0
-4
0
-3
-4
-6
12
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-9
-5
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
-2
-8
0
6
0
0
0
0
0
0
0
0
0
3
1
0
0
3
22
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
15
-7
-58
20
-1
-25
0
0
0
0
0
0
0
0
0
7
1
-3
8
-50
31
11
-12
5
0
0
0
0
0
0
0
0
-8
0
0
7
22
5
6
-6
0
0
0
0
0
0
0
0
0
-3
-9
0
-4
4
-42
42
-20
-3
0
0
0
0
0
0
0
0
-6
0
0
1
1
-12
-19
0
25
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-27
-27
-31
6
-13
-4
0
6
0
0
0
0
0
0
0
19
3
5
-30
-25
54
-24
93
27
-24
0
0
0
0
0
0
0
2
-10
24
55
52
25
-2
108
18
-18
0
0
0
0
0
0
0
7
-2
-1
1
36
-37
-24
5
-17
-3
0
0
0
0
0
0
0
0
75
0
0
-8
61
70
75
-4
14
0
0
0
0
0
0
0
0
18
0
8
0
8
61
-2
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
0
0
-12
26
59
0
-26
-1
0
0
0
0
0
0
-1
-22
-10
-3
-4
35
91
74
0
82
0
0
0
0
0
0
0
0
-40
4
-22
2
76
59
24
-25
71
-1
0
0
0
0
0
0
0
-25
-3
32
-30
64
31
-19
5
-18
-1
0
0
0
0
0
0
0
-6
-2
13
58
-16
2
-33
-8
30
3
0
0
0
0
0
0
0
-2
0
0
0
14
41
41
-7
30
0
0
0
0
0
0
0
0
0
0
0
-1
-1
19
6
48
-23
0
0
0
0
0
0
0
0
1
-2
0
0
0
35
5
23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
20
-10
41
49
-16
22
0
24
-6
0
0
0
0
0
0
-31
2
2
-9
75
-4
10
29
-47
14
-10
-3
0
0
0
0
0
-1
4
-4
-31
-24
8
-28
-41
-20
7
-1
0
0
0
0
0
0
0
0
0
2
-48
75
49
-45
-2
-1
0
0
0
0
0
0
0
0
3
0
0
-14
-5
16
0
34
-6
7
0
0
0
0
0
0
0
0
0
-3
-1
-31
-20
1
5
2
22
0
0
0
0
0
0
0
0
0
0
-1
-3
9
-1
-3
-3
2
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
9
4
27
-9
-22
-45
9
0
29
1
5
0
0
0
0
0
3
-24
-5
-8
14
-3
-46
14
-48
1
5
0
0
0
0
0
0
5
8
-5
-63
5
4
51
-18
-54
-42
0
0
0
0
0
0
0
2
-4
10
41
8
25
22
23
15
0
0
0
0
0
0
0
0
0
-10
-5
-30
-32
-12
-23
-25
-57
-4
2
5
0
0
0
0
0
0
0
0
21
7
64
-6
37
18
-5
2
-4
0
0
0
0
0
0
0
0
3
-1
3
-126
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
-25
-8
33
-3
13
5
-12
20
0
-8
0
1
0
0
0
0
0
75
41
-13
31
41
-49
-59
-24
-7
10
-12
0
0
0
0
0
0
49
13
-7
56
27
-30
82
67
-42
-17
-1
0
0
0
0
0
0
43
-24
-1
-7
-22
19
-27
31
45
-2
0
0
0
0
0
0
0
-3
41
23
-68
-35
45
6
39
42
-3
1
0
0
0
0
0
0
-1
-4
2
29
4
-30
-25
22
-15
7
0
0
0
0
0
0
0
0
-4
0
0
-30
4
-8
-24
35
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
24
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
41
-15
-6
63
44
-8
18
-14
0
-4
-3
-3
0
0
0
0
0
5
-11
48
51
124
-11
-19
-16
22
-10
-5
0
0
0
0
0
0
66
2
-5
46
-45
49
70
12
4
-32
0
0
0
0
0
0
0
-7
-39
-32
24
-45
41
-51
38
23
-57
0
0
0
0
0
0
0
-8
12
50
-35
-36
9
-6
75
-12
2
-8
0
0
0
0
0
0
2
-7
4
10
15
41
-2
19
-39
-43
0
0
0
0
0
0
0
0
-1
-1
5
6
0
-40
-20
-9
-8
0
0
0
0
0
0
0
0
-1
0
0
0
-12
3
-41
10
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
60
-49
4
7
28
7
-34
102
0
57
1
-2
0
0
0
0
0
43
91
-30
-81
48
-20
67
37
51
2
-4
0
0
0
0
0
0
9
114
-16
13
8
51
-4
52
10
49
3
0
0
0
0
0
0
-76
95
63
-2
60
19
-46
-65
37
2
-18
0
0
0
0
0
0
47
3
5
15
5
26
40
73
34
-12
-6
0
0
0
0
0
0
-3
-18
-5
71
73
-5
29
-29
49
-10
-8
0
0
0
0
0
0
-15
-7
0
4
-42
2
21
28
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-13
7
-5
-5
-43
43
-43
17
0
-75
0
-5
0
0
0
0
0
60
22
23
-1
8
26
56
26
-5
-43
3
0
0
0
0
0
0
39
78
-25
-80
1
37
22
-44
9
29
14
0
0
0
0
0
0
6
50
-20
52
41
23
84
21
-5
-10
8
0
0
0
0
0
0
2
1
85
45
-9
18
22
-39
-14
6
-1
0
0
0
0
0
0
18
13
45
-27
-60
-44
-36
18
-26
-1
1
0
0
0
0
0
0
20
2
8
14
7
-2
-58
-28
-39
25
0
0
0
0
0
0
0
0
-12
-17
0
-2
8
-34
60
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
19
1
29
-24
15
8
0
85
2
0
0
0
0
0
0
0
58
-1
25
133
51
-98
7
-28
7
58
2
0
0
0
0
0
0
43
-9
-84
-69
79
-49
-4
69
-14
-13
0
0
0
0
0
0
0
-70
-55
-41
1
20
-42
17
43
51
-5
0
0
0
0
0
0
0
43
-42
7
52
50
-2
-32
-6
16
14
0
0
0
0
0
0
0
17
14
-25
19
24
67
-1
-69
13
24
0
0
0
0
0
0
0
20
22
-22
-41
-5
-24
5
-15
31
0
0
0
0
0
0
0
0
0
0
-14
0
-2
-12
1
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
8
-3
25
9
-19
0
19
-2
-1
0
0
0
0
0
0
0
-1
24
2
13
-42
2
-11
-1
25
1
0
0
0
0
0
0
0
1
-3
32
28
55
61
7
-84
-13
6
0
0
0
0
0
0
0
27
13
-2
50
49
20
50
17
-28
0
0
0
0
0
0
0
0
18
6
-5
-13
5
30
3
42
-2
0
0
0
0
0
0
0
0
-3
3
-29
-22
-1
8
-7
14
-3
-8
0
0
0
0
0
0
0
0
2
2
0
-23
3
-1
-18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
-1
0
-5
-1
0
0
0
0
0
0
0
0
0
-8
5
0
-15
0
4
-9
-28
0
0
0
0
0
0
0
0
0
3
-3
-3
-5
7
21
6
-3
10
0
0
0
0
0
0
0
0
-10
-1
0
-6
0
0
12
-25
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-17
41
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
0
27
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
4
22
-7
-4
0
0
0
0
0
0
0
0
0
1
7
-4
41
20
-31
-58
13
-28
0
0
0
0
0
0
0
0
4
1
-3
28
7
-17
19
-12
-5
0
0
0
0
0
0
0
0
0
4
2
-15
-13
-14
-8
0
3
0
0
0
0
0
0
0
0
0
5
0
-1
16
13
-16
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
5
69
-42
-84
20
0
13
0
0
0
0
0
0
0
34
42
0
17
12
-29
-8
42
110
-27
0
0
0
0
0
0
0
13
-9
-2
-17
-57
-23
-14
15
100
33
0
0
0
0
0
0
0
-1
6
8
-5
12
-11
-15
-29
-22
0
0
0
0
0
0
0
0
0
-28
17
0
-8
39
-20
1
-21
1
0
0
0
0
0
0
0
0
-10
0
-3
-1
-42
-9
-28
7
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
19
-3
3
0
-15
-5
0
41
20
0
0
0
0
0
0
0
-4
-1
70
-33
5
27
-31
66
-31
8
0
0
0
0
0
0
-7
0
-3
20
-24
49
-27
-13
-20
20
-5
0
0
0
0
0
0
0
2
-1
-2
7
42
-44
14
8
31
-1
0
0
0
0
0
0
0
-25
27
-2
7
-23
31
-4
27
8
0
0
0
0
0
0
0
0
0
6
2
9
31
-13
-5
-12
13
1
0
0
0
0
0
0
0
0
0
0
0
0
9
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
22
-22
-43
0
-25
-1
0
0
0
0
0
0
-1
1
19
-8
-10
56
50
-10
-37
-12
55
7
0
0
0
0
0
0
0
-2
-3
13
-22
7
-46
-74
1
6
5
0
0
0
0
0
12
1
-1
-8
23
37
4
-44
8
5
0
0
0
0
0
0
0
0
0
-14
8
33
-24
-13
-12
24
0
-8
0
0
0
0
0
0
0
-4
-17
0
-4
1
9
-4
-1
5
1
0
0
0
0
0
0
0
0
0
0
1
0
54
-6
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
5
-7
1
4
54
70
-53
-44
0
-25
0
0
0
0
0
0
0
-19
49
-8
41
48
-42
-41
-41
66
6
2
0
0
0
0
0
0
-2
-32
8
56
-18
57
5
72
28
0
-1
0
0
0
0
0
0
-2
25
-1
-2
-12
76
3
26
5
47
2
0
0
0
0
0
0
3
2
9
-17
18
9
10
0
58
0
3
-1
0
0
0
0
0
-2
-5
-1
13
12
42
31
-18
12
16
0
0
0
0
0
0
0
-2
-1
-8
0
-1
0
25
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-25
12
-20
-33
42
10
47
0
-23
0
0
0
0
0
0
0
49
31
10
35
-20
93
42
16
71
10
7
0
0
0
0
0
0
-9
-3
31
97
48
-7
48
57
-55
-27
-2
0
0
0
0
0
0
-2
15
-22
-26
19
14
-35
42
41
42
0
0
0
0
0
0
0
20
-31
-8
-6
56
-3
9
42
31
3
0
0
0
0
0
0
0
-20
25
-8
5
-45
4
31
25
-20
13
0
0
0
0
0
0
0
4
3
5
0
-12
-24
17
-29
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
-25
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
-19
-30
-16
42
27
65
15
-49
0
-49
-1
0
0
0
0
0
0
42
13
-19
20
15
-50
49
59
47
58
0
0
0
0
0
0
0
-4
26
69
13
-24
48
42
-58
-6
23
0
0
0
0
0
0
0
-6
-19
32
-57
4
27
2
46
13
52
0
0
0
0
0
0
0
-14
8
-25
-18
-19
-6
38
5
48
-35
0
0
0
0
0
0
0
-1
-52
-16
35
-14
41
-1
6
14
17
0
0
0
0
0
0
0
1
0
25
2
5
-19
-4
13
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-33
3
25
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
56
-25
27
56
31
58
-13
24
0
2
-8
-9
0
0
0
0
0
41
15
-14
57
-30
-5
-37
-30
47
-8
8
0
0
0
0
0
0
69
13
-18
14
20
87
58
-1
90
-20
7
0
0
0
0
0
0
37
-24
18
49
64
8
1
0
23
-10
2
0
0
0
0
0
0
-37
-68
3
41
58
-63
73
76
13
-39
-16
0
0
0
0
0
0
-9
17
20
5
16
19
-29
34
-37
27
1
0
0
0
0
0
0
6
14
-1
-6
43
27
-5
-28
41
-2
0
0
0
0
0
0
0
0
0
0
-16
6
16
16
74
4
-1
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
42
23
-7
62
2
-10
-22
0
-41
4
0
0
0
0
0
0
41
10
6
-26
-79
24
30
-21
43
55
68
0
0
0
0
0
0
-51
50
-4
21
2
81
0
-46
-66
-7
-2
4
0
0
0
0
0
42
30
-25
26
-60
-71
0
-28
11
-8
-1
0
0
0
0
0
0
8
54
1
-4
26
68
35
-52
-45
21
1
0
0
0
0
0
0
1
-26
-24
43
81
141
-34
-40
-16
9
0
0
0
0
0
0
0
-1
6
2
8
33
8
-1
6
33
59
0
0
0
0
0
0
0
0
20
0
5
-1
4
-18
-32
-29
22
0
0
0
0
0
0
0
0
0
0
0
12
0
-3
0
0
0
0
0
0
0
0
0
0
0
110
-54
-21
-67
0
41
-75
0
-27
44
16
0
0
0
0
0
0
46
51
-5
-8
10
-38
25
52
-27
-32
-1
0
0
0
0
0
0
16
-30
7
-28
-51
10
41
-16
-29
1
0
0
0
0
0
0
0
1
4
31
-10
-2
29
48
8
31
8
0
0
0
0
0
0
0
23
75
-76
1
-5
-22
10
-59
53
39
-1
0
0
0
0
0
0
19
42
-16
-21
-10
22
21
48
-47
43
0
0
0
0
0
0
0
14
0
3
6
25
19
94
55
23
0
0
0
0
0
0
0
0
0
-5
-1
0
-9
-29
-37
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
-12
5
-19
-8
0
24
-25
0
0
0
0
0
0
0
0
-48
-39
60
-2
-47
-32
0
-33
-3
3
0
0
0
0
0
0
0
-21
7
-3
-13
31
11
5
-8
1
-1
0
0
0
0
0
0
0
3
10
-14
13
-18
7
-49
31
-33
0
0
0
0
0
0
0
0
3
6
-4
27
-3
-25
15
23
24
3
0
0
0
0
0
0
0
-1
-17
4
5
-6
7
43
15
-5
-1
0
0
0
0
0
0
0
0
0
0
2
10
3
3
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
1
1
0
0
0
0
0
0
0
0
-3
0
-1
13
-7
3
0
-25
16
0
0
0
0
0
0
0
0
4
0
-7
14
21
-75
-17
6
0
0
0
0
0
0
0
0
0
-10
-1
0
-1
0
-20
-2
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
10
-3
5
0
0
0
0
0
0
0
0
0
-42
0
0
-3
0
24
-42
-5
8
0
0
0
0
0
0
0
0
26
5
0
10
-7
31
39
29
31
0
0
0
0
0
0
0
0
0
7
0
30
29
13
-7
14
-12
0
0
0
0
0
0
0
0
-4
0
0
0
68
8
-5
5
0
0
0
0
0
0
0
0
0
0
0
6
61
-2
-5
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
-5
-41
116
-62
0
-41
0
0
0
0
0
0
0
0
4
0
7
66
-13
-33
-31
-9
59
0
0
0
0
0
0
0
24
-55
77
26
-18
18
40
-11
-41
-4
0
0
0
0
0
0
0
0
0
31
-1
22
69
0
-60
-66
-11
0
0
0
0
0
0
0
0
-25
13
0
-41
18
-2
75
58
43
0
0
0
0
0
0
0
0
10
0
-2
-10
-2
-22
-46
-9
-13
0
0
0
0
0
0
0
0
4
2
2
-13
-1
-30
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-8
-4
-6
0
0
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
0
-5
4
-42
-14
0
-56
-6
0
0
0
0
0
0
0
8
4
0
-34
-11
-13
4
33
47
27
0
0
0
0
0
0
0
15
0
-5
2
42
-5
113
-29
28
1
0
0
0
0
0
0
0
-2
-1
-13
16
54
22
0
-2
-4
-1
0
0
0
0
0
0
0
0
-3
-25
25
-25
34
-34
-24
-5
-2
0
0
0
0
0
0
0
-1
-15
0
9
-3
7
1
-16
31
0
0
0
0
0
0
0
0
0
0
0
-4
0
-21
-1
42
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
-89
5
-31
0
3
5
0
0
0
0
0
0
-3
1
1
-16
-37
-57
-31
-63
9
8
-2
1
0
0
0
0
0
0
0
-5
57
49
31
40
54
4
-17
-33
0
0
0
0
0
0
3
8
-13
3
42
-8
-3
-54
-5
-2
-1
0
0
0
0
0
0
3
-3
0
0
-48
-4
32
-67
-8
0
0
0
0
0
0
0
0
0
0
-2
2
-6
42
-3
58
-2
7
0
0
0
0
0
0
0
0
-3
-1
6
-1
-4
2
0
12
-5
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-12
20
-6
-83
-2
0
5
0
0
0
0
0
0
0
58
-24
57
-45
19
38
-49
66
22
31
0
0
0
0
0
0
0
9
-8
3
1
-51
-55
-45
31
19
-23
6
0
0
0
0
0
0
-4
-4
-2
29
3
16
-18
25
16
1
0
0
0
0
0
0
0
1
-9
-1
15
9
14
-25
14
92
0
0
0
0
0
0
0
0
3
0
58
30
21
30
12
-15
8
-1
0
0
0
0
0
0
0
-7
0
0
0
-12
-1
23
3
13
0
0
0
0
0
0
0
0
0
-2
0
-8
0
-3
8
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
-7
0
0
0
0
0
0
0
0
0
-8
44
-21
6
33
89
5
10
0
22
0
0
0
0
0
0
0
-63
-6
-53
49
79
13
-84
14
42
-25
-4
0
0
0
0
0
0
-24
-49
39
-23
-22
20
85
-26
49
9
0
2
0
0
0
0
0
34
39
35
-6
-50
-17
5
13
-1
-10
-2
0
0
0
0
0
0
1
-4
32
21
-22
-9
11
24
-33
0
0
0
0
0
0
0
0
4
-16
-14
3
8
28
-1
-25
31
-19
8
0
0
0
0
0
0
-5
-9
-5
-3
-8
-19
81
22
41
-5
5
0
0
0
0
0
0
0
0
0
0
2
19
34
4
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
7
7
18
31
42
-23
-56
-52
0
0
-2
2
0
0
0
0
0
1
58
-34
-14
32
-14
83
51
-70
55
5
0
0
0
0
0
0
-18
-44
60
-28
34
14
45
28
52
22
3
0
0
0
0
0
0
-9
-6
-32
-49
14
-5
-14
44
-27
-27
1
0
0
0
0
0
0
7
-59
25
-22
10
-42
-10
25
-4
42
-9
0
0
0
0
0
0
25
19
14
118
9
-43
28
28
0
10
2
0
0
0
0
0
0
7
1
-8
-14
7
29
25
-27
43
-1
0
0
0
0
0
0
0
0
1
1
-4
2
-5
-25
-26
14
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
27
31
-23
75
120
-15
-43
-17
0
50
0
-1
0
0
0
0
0
-75
42
13
-42
34
-29
11
13
-31
-8
13
0
0
0
0
0
0
28
-20
-59
44
49
44
54
-38
41
17
-5
0
0
0
0
0
0
13
-106
59
74
45
71
25
-13
-33
-23
6
0
0
0
0
0
0
35
8
-23
6
-9
117
7
-18
41
32
1
0
0
0
0
0
0
7
17
-10
15
4
20
50
46
35
1
-3
-2
0
0
0
0
0
7
10
15
45
44
14
57
32
42
8
4
0
0
0
0
0
0
0
7
1
5
0
42
30
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
0
4
0
0
0
0
0
0
0
0
32
-30
-8
12
-13
40
-29
-33
0
-23
1
0
0
0
0
0
0
49
75
-1
97
57
41
-25
-14
-46
41
-12
3
0
0
0
0
0
-80
31
5
-17
-11
49
23
-80
-41
-33
-22
0
0
0
0
0
0
-31
-9
-8
9
-39
16
-9
-4
-15
1
2
0
0
0
0
0
0
-10
-53
-13
42
46
75
13
16
60
3
1
1
0
0
0
0
0
22
5
-10
-2
49
-22
-34
-32
57
-23
-3
0
0
0
0
0
0
10
-5
-33
-8
-16
31
-4
-32
-63
52
0
0
0
0
0
0
0
0
-7
9
-8
-6
0
-12
44
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
2
1
0
0
0
0
0
0
0
0
0
-25
-41
-3
4
9
37
39
0
-26
6
0
0
0
0
0
0
0
12
25
-6
17
3
74
-12
2
-52
-41
0
0
0
0
0
0
0
4
32
-15
-8
-2
12
70
64
15
20
0
0
0
0
0
0
0
41
43
-49
16
13
15
47
-26
-5
22
0
0
0
0
0
0
0
21
20
-1
13
-7
-58
-8
29
-32
-5
0
0
0
0
0
0
0
46
3
-16
3
41
39
49
-66
4
-3
0
0
0
0
0
0
0
-3
32
24
44
-55
8
34
23
16
0
0
0
0
0
0
0
0
0
1
1
14
17
31
-32
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
0
0
36
4
-1
-42
24
18
0
17
-2
-6
0
0
0
0
0
0
0
13
8
0
-31
43
-13
2
-18
-20
2
0
0
0
0
0
0
0
-6
4
-1
12
21
4
15
2
-13
-1
0
0
0
0
0
0
0
5
9
24
-9
31
73
66
5
39
0
0
0
0
0
0
0
0
30
0
-1
21
6
-41
14
31
5
0
0
0
0
0
0
0
0
0
0
1
5
-7
30
69
29
-12
4
0
0
0
0
0
0
0
0
0
0
-1
0
8
-30
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-7
-5
5
-4
-15
0
0
0
0
0
0
0
0
-3
0
-2
3
0
0
9
0
3
0
0
0
0
0
0
0
0
5
4
0
-2
-2
-3
1
23
0
0
0
0
0
0
0
0
0
1
0
0
-3
6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
4
-5
0
0
0
0
0
0
0
0
0
0
3
4
0
-3
18
77
57
-21
0
0
0
0
0
0
0
0
-12
0
0
-12
4
-37
17
42
-7
0
0
0
0
0
0
0
0
-6
0
0
31
25
41
16
9
2
0
0
0
0
0
0
0
0
0
0
0
-18
28
9
6
2
8
0
0
0
0
0
0
0
0
4
0
5
2
-5
32
23
-2
0
0
0
0
0
0
0
0
0
0
0
8
-1
-8
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-2
8
41
-24
-58
0
27
0
0
0
0
0
0
0
0
-52
-1
-16
19
-24
-29
-21
98
27
0
0
0
0
0
0
0
0
-39
-1
25
-13
-13
33
22
-28
-5
0
0
0
0
0
0
0
0
14
-2
58
-19
-10
-21
-13
-24
-35
0
0
0
0
0
0
0
12
0
7
-12
-30
10
71
17
-14
-21
0
0
0
0
0
0
0
0
-2
44
9
63
-62
15
46
-54
0
0
0
0
0
0
0
0
0
-2
0
2
-77
-29
22
-7
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-12
31
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-17
10
0
-48
10
0
0
0
0
0
0
0
10
9
5
5
12
32
18
-21
9
25
0
0
0
0
0
0
0
13
13
0
-24
-21
-22
-16
-24
49
2
0
0
0
0
0
0
0
-5
1
-4
-35
54
16
-17
34
-35
25
0
0
0
0
0
0
0
2
0
2
39
-20
62
-5
-3
1
0
0
0
0
0
0
0
0
0
-2
39
8
23
-19
54
22
22
0
0
0
0
0
0
0
0
0
0
0
-8
2
-3
59
-4
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
12
-4
23
85
-52
33
0
27
-6
0
0
0
0
0
0
-4
1
12
15
-23
-51
-70
1
-9
-37
-12
0
0
0
0
0
0
3
12
56
8
-30
-8
-5
-1
5
-14
-6
-2
0
0
0
0
0
0
0
-1
22
-3
43
-59
32
54
5
0
0
0
0
0
0
0
23
-3
7
0
-1
25
-18
-4
-9
4
0
0
0
0
0
0
0
0
2
0
-9
32
-17
17
31
3
-7
0
0
0
0
0
0
0
-2
0
0
4
-1
3
25
8
8
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
-1
-9
-34
-61
-18
-8
0
41
0
0
0
0
0
0
0
20
23
17
32
-69
10
-5
1
5
-7
0
0
0
0
0
0
0
3
-4
-19
-5
58
5
73
13
-17
-53
0
0
0
0
0
0
0
0
-8
0
13
55
19
-29
19
18
3
4
0
0
0
0
0
0
-2
33
10
48
0
-42
-29
-41
10
39
-5
0
0
0
0
0
0
0
-6
-27
0
-27
-39
49
-12
-42
31
0
0
0
0
0
0
0
4
2
-2
0
-7
24
9
34
-20
0
0
0
0
0
0
0
0
0
-2
0
-4
0
9
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
3
0
0
0
0
0
0
0
0
10
0
-31
6
-16
37
-2
-28
0
42
2
0
0
0
0
0
0
-3
-35
4
48
-39
21
-58
11
10
-2
1
0
0
0
0
0
0
-22
-6
-5
7
60
59
41
58
76
59
1
0
0
0
0
0
0
0
-7
8
33
-18
-71
10
35
-94
-34
0
0
0
0
0
0
0
42
-25
-7
35
-8
0
35
-35
-7
-10
-4
0
0
0
0
0
0
14
-14
37
59
-2
-18
-23
-49
89
8
0
0
0
0
0
0
0
1
2
-7
20
60
17
0
29
13
0
8
0
0
0
0
0
0
0
0
-1
6
0
-8
41
26
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
20
12
0
0
0
0
0
0
0
0
0
-6
20
-20
-24
31
-1
42
67
0
19
-3
0
0
0
0
0
0
1
-47
55
34
53
-49
55
-12
28
3
3
0
0
0
0
0
0
6
42
-4
-19
-97
41
2
34
44
-14
-4
0
0
0
0
0
0
-20
-10
9
6
-5
-61
9
22
-13
19
10
0
0
0
0
0
0
-9
-55
27
14
16
18
0
-29
68
-2
0
0
0
0
0
0
0
0
-15
48
6
25
2
-5
45
33
9
0
0
0
0
0
0
0
0
19
-4
75
5
-25
0
-10
47
8
-2
0
0
0
0
0
0
0
0
-2
0
0
37
-22
3
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
43
0
9
0
0
0
0
0
0
0
45
5
13
65
32
36
-7
5
0
31
-6
0
0
0
0
0
0
-37
-41
-31
-34
60
-34
23
-8
3
5
18
0
0
0
0
0
0
50
-37
-76
-31
19
53
77
49
-28
-5
8
0
0
0
0
0
0
-125
35
-48
88
-14
27
-25
13
-1
45
1
4
0
0
0
0
0
-31
-13
-10
-12
30
-1
17
0
31
-42
25
0
0
0
0
0
0
-1
-41
-1
34
-19
-30
-25
-94
23
4
-3
0
0
0
0
0
0
-8
5
-14
-25
42
-6
-1
31
-1
2
1
0
0
0
0
0
0
0
0
25
-2
0
-25
-12
-2
6
14
0
0
0
0
0
0
0
0
0
0
0
8
0
7
-2
-4
0
0
0
0
0
0
0
0
4
49
-32
-100
-24
-27
-31
37
0
5
1
0
0
0
0
0
0
41
36
-2
9
-7
40
25
-38
-129
-13
-9
-5
0
0
0
0
0
-3
46
-59
-78
94
15
5
63
-17
20
0
-6
0
0
0
0
0
33
-12
-7
81
-23
-73
29
32
-36
115
31
0
0
0
0
0
0
-1
12
-28
34
-15
-24
-54
22
0
-1
0
0
0
0
0
0
0
6
61
15
-18
24
-45
-21
5
-1
42
-3
0
0
0
0
0
0
44
0
19
7
22
4
70
5
-11
-9
3
0
0
0
0
0
0
0
-1
33
10
12
16
50
21
-33
23
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-5
0
0
0
0
0
0
0
0
0
40
18
-15
9
8
-3
4
0
-9
-4
0
0
0
0
0
0
0
-16
-27
13
18
-45
-11
25
-27
-44
-1
1
0
0
0
0
0
0
-11
41
61
27
-28
-51
16
-68
-4
-1
0
0
0
0
0
0
0
-13
27
2
35
79
58
-8
44
-78
5
1
0
0
0
0
0
0
49
8
21
-41
71
-8
35
-6
0
-2
0
0
0
0
0
0
0
13
19
20
46
27
68
51
37
9
2
0
0
0
0
0
0
0
31
-23
2
-10
22
-22
75
-18
-4
-2
0
0
0
0
0
0
0
-2
-1
0
0
9
-37
-37
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
0
0
0
0
0
0
0
0
0
16
-3
0
12
-10
-9
0
10
1
4
0
0
0
0
0
0
0
0
-10
-5
50
3
25
-82
-21
-5
5
0
0
0
0
0
0
0
39
9
37
23
56
-16
-64
7
-41
-4
0
0
0
0
0
0
0
-7
4
0
14
-42
-46
5
35
-15
1
0
0
0
0
0
0
0
0
18
0
25
33
34
-14
10
0
-5
0
0
0
0
0
0
0
-1
-4
2
0
-13
17
-14
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-22
-19
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
-13
-6
0
0
0
0
0
0
0
0
3
4
0
-6
-9
2
1
7
-10
0
0
0
0
0
0
0
0
2
0
7
-1
-5
5
39
3
21
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
8
2
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
-8
-5
0
0
0
0
0
0
0
0
0
0
-1
0
24
4
0
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
-3
8
0
0
0
0
0
0
0
0
0
0
-3
0
0
6
1
3
0
5
-9
0
0
0
0
0
0
0
0
-6
0
-1
1
-4
-3
34
5
-3
0
0
0
0
0
0
0
0
16
-8
6
-24
-3
23
2
-17
-1
0
0
0
0
0
0
0
0
7
0
-2
-7
49
1
68
2
-2
0
0
0
0
0
0
0
0
0
0
52
-4
8
-13
0
-2
12
0
0
0
0
0
0
0
0
0
6
0
1
117
8
4
8
1
0
0
0
0
0
0
0
0
0
0
0
74
0
22
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
1
0
-1
-22
-2
0
0
0
0
0
0
0
0
0
0
23
0
1
6
-6
2
-70
5
-12
0
0
0
0
0
0
0
0
1
6
12
-13
-44
-1
9
2
12
0
0
0
0
0
0
0
3
-5
-1
56
8
54
74
-49
-31
-64
0
0
0
0
0
0
0
0
74
-6
-2
69
28
76
8
-22
7
0
0
0
0
0
0
0
-2
0
-6
3
-4
-16
-57
-49
-1
0
0
0
0
0
0
0
0
0
-8
0
-16
59
-6
-31
-42
-30
0
0
0
0
0
0
0
0
0
-3
0
0
0
-13
-13
-4
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
13
-3
110
-28
-12
0
39
1
0
0
0
0
0
0
0
-2
-1
1
-76
29
-11
33
-22
-31
-20
0
0
0
0
0
0
0
22
1
3
30
-37
-46
21
-41
6
-8
0
0
0
0
0
0
0
19
-1
20
5
-59
-60
-4
42
-43
-6
0
0
0
0
0
0
0
-2
7
0
30
-53
32
-29
24
-2
0
0
0
0
0
0
0
0
-3
0
0
-42
26
-1
6
-46
6
0
0
0
0
0
0
0
0
-6
0
0
-9
15
13
-6
37
3
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
-2
0
5
4
-5
79
23
0
8
0
0
0
0
0
0
0
18
-2
-2
-20
15
34
-41
3
5
13
31
0
0
0
0
0
0
0
0
-1
10
-25
21
-4
-33
9
13
6
0
0
0
0
0
0
2
0
-2
8
49
34
-18
-18
3
-3
0
0
0
0
0
0
0
-1
0
6
-51
22
11
-2
25
-16
0
0
0
0
0
0
0
0
2
0
1
0
6
20
8
0
2
4
0
0
0
0
0
0
0
-2
-2
0
4
0
6
-32
18
-8
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
25
-6
47
0
49
41
58
-11
0
-33
0
0
0
0
0
0
0
-7
-16
-8
25
-52
11
94
57
-3
-13
1
0
0
0
0
0
0
-3
-41
-2
-13
-124
-9
9
22
77
8
0
0
0
0
0
0
0
0
4
-12
-30
-49
42
8
43
-5
-49
0
0
0
0
0
0
0
6
-15
-49
-9
-3
-2
41
-31
-5
3
0
0
0
0
0
0
0
13
14
6
-7
0
-42
22
-5
-15
9
2
0
0
0
0
0
0
3
-1
1
0
-3
25
-8
24
53
0
0
0
0
0
0
0
0
0
0
0
-4
0
-24
1
59
12
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-2
0
0
0
0
0
0
0
0
0
-1
-7
-44
-17
3
-3
-23
49
0
42
0
0
0
0
0
0
0
9
-42
-46
80
29
-48
34
1
40
0
17
0
0
0
0
0
0
5
20
10
-37
68
-24
-18
10
-59
12
0
0
0
0
0
0
0
24
-24
0
4
-22
9
-14
34
-41
-16
0
0
0
0
0
0
0
9
-23
8
-14
-9
44
13
3
-41
25
0
0
0
0
0
0
0
15
16
3
-7
-34
0
-18
1
10
50
-5
0
0
0
0
0
0
1
41
-4
-12
-24
-42
8
9
97
0
0
0
0
0
0
0
0
0
0
0
-4
0
-9
-3
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
1
1
29
-32
-21
16
30
17
0
-33
6
0
0
0
0
0
0
-3
-54
-13
25
-31
15
-20
19
-66
-3
14
-1
0
0
0
0
0
8
2
31
-39
-85
11
48
-5
11
-8
0
0
0
0
0
0
0
-8
32
22
-31
-37
-28
34
22
5
2
0
0
0
0
0
0
0
14
-70
51
37
-4
-10
20
22
-31
-23
-3
0
0
0
0
0
0
25
41
1
43
75
-2
0
66
0
-6
0
0
0
0
0
0
0
-2
4
56
-42
28
-8
-28
42
44
-7
0
0
0
0
0
0
0
0
-1
7
0
-8
-41
-4
40
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
0
0
0
0
0
0
0
0
0
22
3
-25
-48
45
-31
2
0
0
27
-4
0
0
0
0
0
0
78
-49
-10
72
27
-5
53
-8
-46
12
-43
0
0
0
0
0
0
84
56
-37
-12
85
71
75
13
32
-4
2
0
0
0
0
0
0
4
-23
20
-44
8
-15
49
-25
-8
-5
0
0
0
0
0
0
0
29
44
20
-72
33
36
-33
-3
-27
-5
0
0
0
0
0
0
0
-59
-24
64
-5
12
2
34
0
-5
25
7
0
0
0
0
0
0
32
-9
45
-6
31
-17
25
-49
-5
-25
-1
0
0
0
0
0
0
0
-2
-2
9
9
0
-10
-5
6
0
0
0
0
0
0
0
0
0
0
0
3
7
0
-7
0
2
0
0
0
0
0
0
0
0
16
11
-14
-6
60
16
-25
-100
0
-43
6
0
0
0
0
0
0
33
-58
97
31
-114
-26
-76
-126
-18
-44
-53
0
0
0
0
0
0
-8
9
52
32
42
-23
-18
27
28
-15
29
0
0
0
0
0
0
26
80
-33
26
-49
41
64
43
25
-29
0
2
0
0
0
0
0
9
74
-41
27
-29
-3
16
23
32
46
-4
1
0
0
0
0
0
25
-49
12
-60
54
48
-9
-35
0
27
3
0
0
0
0
0
0
57
34
25
120
62
-13
-17
-41
-13
1
4
0
0
0
0
0
0
0
-5
18
-1
-6
45
-12
52
-18
31
0
0
0
0
0
0
0
0
0
0
0
-3
0
-7
-4
3
1
0
0
0
0
0
0
0
0
-59
-11
-3
-14
-29
-22
-9
0
1
13
-2
0
0
0
0
0
0
-51
18
8
19
0
16
17
-68
-18
-14
0
0
0
0
0
0
0
-28
14
0
17
53
97
90
-105
11
12
0
0
0
0
0
0
0
1
-5
44
28
52
29
-49
23
12
-45
0
0
0
0
0
0
0
-27
65
-7
43
-4
52
48
12
-34
19
0
0
0
0
0
0
0
24
-2
-15
-8
24
34
92
-1
0
-22
0
0
0
0
0
0
0
-5
-16
-71
8
10
-47
-5
17
-2
0
0
0
0
0
0
0
0
0
-1
-6
0
-19
-19
5
25
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
21
13
-1
0
0
0
0
0
0
0
0
0
0
0
1
-4
31
34
0
-17
56
31
0
0
0
0
0
0
0
24
12
-9
42
-13
38
-34
-41
4
-5
0
0
0
0
0
0
0
14
7
-1
16
-20
18
24
2
-2
-46
0
0
0
0
0
0
0
-2
2
10
-9
63
5
-16
-8
31
-5
0
0
0
0
0
0
0
-1
-5
-8
29
23
0
-30
31
-3
3
0
0
0
0
0
0
0
-1
6
0
-7
-5
-25
-4
-10
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
-21
-43
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-13
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-1
-2
-10
29
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
5
37
-2
2
0
0
0
0
0
0
0
0
-2
0
2
1
4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
14
0
2
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
47
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
51
0
-3
0
0
0
0
0
0
0
0
1
0
0
8
-1
31
0
10
0
0
0
0
0
0
0
0
0
0
4
0
1
-39
-6
-12
4
0
0
0
0
0
0
0
0
0
0
0
-4
-31
0
51
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
-37
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
68
-15
-20
39
-22
0
0
0
0
0
0
0
0
29
0
0
31
-13
-28
15
23
14
0
0
0
0
0
0
0
0
8
0
-34
16
39
-15
25
-55
-13
0
0
0
0
0
0
0
-7
-4
-27
-22
-28
-5
13
-3
-4
-1
0
0
0
0
0
0
0
1
0
7
0
-32
-43
43
6
3
0
0
0
0
0
0
0
0
0
0
-2
8
17
-8
13
5
8
0
0
0
0
0
0
0
0
0
-10
0
5
-4
6
32
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-37
-6
0
-4
0
0
0
0
0
0
0
0
1
1
0
-5
-1
27
30
-25
27
-7
0
0
0
0
0
0
0
4
-3
-4
-1
-14
-47
10
-1
-8
3
0
0
0
0
0
0
0
-5
6
0
14
66
-25
26
-12
-12
0
0
0
0
0
0
0
0
24
12
-5
-31
-67
27
24
-35
12
0
0
0
0
0
0
0
0
-4
0
0
49
43
44
-49
3
0
0
0
0
0
0
0
0
0
-2
0
0
5
13
-29
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
42
32
34
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-9
0
0
0
0
0
0
0
0
0
9
0
-4
0
5
10
-1
-14
73
-10
-1
0
0
0
0
0
0
0
0
0
0
-2
2
34
10
15
-1
-2
0
0
0
0
0
0
12
0
0
2
7
-8
1
13
-4
-2
1
0
0
0
0
0
0
0
0
-8
-3
9
32
14
32
-17
0
0
0
0
0
0
0
0
0
4
4
2
-1
16
-9
-25
2
0
0
0
0
0
0
0
0
1
0
0
0
9
10
25
9
32
-2
0
0
0
0
0
0
0
0
0
0
14
0
8
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-12
-63
-24
0
16
0
0
0
0
0
0
0
0
49
0
20
-17
-46
-19
-41
19
-21
0
0
0
0
0
0
0
0
43
4
41
-10
35
47
-31
23
-16
0
0
0
0
0
0
0
-2
-25
0
-4
16
-14
-27
-89
-29
-53
0
0
0
0
0
0
0
1
0
-3
17
7
-17
-20
-10
-68
0
0
0
0
0
0
0
0
0
-15
4
27
12
-30
17
10
-5
37
0
3
0
0
0
0
0
-3
17
-2
14
0
17
8
12
4
8
0
0
0
0
0
0
0
0
-5
0
-2
0
30
29
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
7
7
33
0
0
-41
0
0
0
0
0
0
0
1
0
-8
-2
-12
22
-5
42
-1
3
1
0
0
0
0
0
0
1
-30
0
37
2
18
-27
37
39
-13
-2
0
0
0
0
0
0
-24
31
15
-8
-21
47
25
31
6
-5
-1
0
0
0
0
0
0
6
-8
-9
2
33
18
-5
-2
22
-8
0
0
0
0
0
0
0
17
-5
16
-27
0
18
28
-41
23
2
5
0
0
0
0
0
0
1
31
-8
0
-9
0
5
-5
13
-3
0
0
0
0
0
0
0
0
-2
0
89
0
43
-2
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
16
0
6
4
0
0
0
0
0
0
0
0
0
2
0
10
-12
-12
-1
-7
31
0
-31
3
0
0
0
0
0
0
6
-20
2
20
-53
-6
-39
-39
-24
-9
9
0
0
0
0
0
0
17
2
-6
-8
8
25
-12
-32
5
-14
-1
0
0
0
0
0
0
30
31
15
-24
13
27
15
5
-21
43
1
0
0
0
0
0
0
1
131
-12
13
-5
107
49
39
6
-15
0
0
0
0
0
0
0
0
10
21
23
30
21
0
-25
-13
34
0
0
0
0
0
0
0
0
7
-6
12
29
-41
0
18
41
8
0
0
0
0
0
0
0
0
3
-2
-13
-5
-4
31
7
14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-7
-3
13
-10
-34
-13
41
51
0
-14
2
0
0
0
0
0
0
-125
-59
28
21
6
-10
29
12
-49
43
-33
0
0
0
0
0
0
22
0
-17
-23
-42
35
65
9
9
43
2
0
0
0
0
0
0
44
-41
57
-7
-13
-5
5
42
-20
17
-16
0
0
0
0
0
0
15
-45
13
5
10
13
-41
32
22
-25
5
0
0
0
0
0
0
-25
5
55
56
-17
-90
-6
-42
-28
-31
-5
0
0
0
0
0
0
17
25
25
-6
7
-28
-76
0
18
8
3
0
0
0
0
0
0
0
-3
-13
-32
8
5
19
9
5
-7
0
0
0
0
0
0
0
0
0
0
0
3
0
8
-1
9
0
0
0
0
0
0
0
0
0
30
31
15
21
-63
-3
11
0
-21
7
0
0
0
0
0
0
-7
63
-19
-38
23
87
-108
-45
-93
-14
9
0
0
0
0
0
0
5
-14
3
29
25
-158
47
55
-65
-3
2
8
0
0
0
0
0
-5
48
-13
14
46
99
37
-64
138
18
-8
0
0
0
0
0
0
39
-49
4
59
-12
-31
-5
-68
44
9
0
0
0
0
0
0
0
0
-56
-30
41
-51
5
-50
-9
-48
-16
-1
0
0
0
0
0
0
4
13
-32
-3
13
18
40
-71
0
31
0
1
0
0
0
0
0
0
14
7
-12
47
21
35
-17
22
8
0
0
0
0
0
0
0
0
-5
0
0
0
-1
-3
42
0
2
0
0
0
0
0
0
0
0
14
-23
-42
13
-5
-20
-32
0
-13
19
0
0
0
0
0
0
0
39
80
-3
50
-36
72
-13
28
25
81
0
0
0
0
0
0
0
13
8
-41
-22
-72
-4
-12
38
-13
-8
-3
0
0
0
0
0
0
25
28
15
-55
43
-16
-6
4
-7
9
0
0
0
0
0
0
0
27
49
-43
4
2
-59
-52
10
13
7
0
0
0
0
0
0
0
6
6
39
50
63
-5
94
49
-2
1
0
0
0
0
0
0
0
5
-48
23
59
43
27
19
-10
0
-1
0
0
0
0
0
0
0
17
-3
-4
5
-2
7
58
8
33
0
0
0
0
0
0
0
0
0
0
0
0
3
0
6
0
5
0
0
0
0
0
0
0
0
0
0
1
7
10
1
-42
0
-1
-30
-6
0
0
0
0
0
0
0
-9
-72
-16
-7
-28
-26
-8
-14
-17
33
0
0
0
0
0
0
0
3
8
2
0
-17
-3
-56
-15
30
-2
0
0
0
0
0
0
0
1
46
16
4
-9
52
-10
-13
-34
0
0
0
0
0
0
0
0
-14
3
2
73
30
20
-23
31
-26
1
0
0
0
0
0
0
0
0
-4
0
1
-54
21
-64
-6
6
-7
0
0
0
0
0
0
0
0
-2
-3
-22
3
-18
-54
22
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-5
3
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
5
2
31
17
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
-1
-5
-18
0
0
0
0
0
0
0
0
1
-1
0
1
0
-15
-1
0
0
4
0
0
0
0
0
0
0
-1
0
0
0
4
0
-4
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
-2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
9
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-29
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
6
-16
4
0
0
0
0
0
0
0
0
0
8
-16
0
3
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
9
-6
30
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
4
16
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
13
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-23
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
15
3
-42
15
0
0
0
0
0
0
0
0
0
0
0
0
2
8
3
5
-3
0
0
0
0
0
0
0
0
0
-3
-23
1
20
2
3
-6
2
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
19
0
4
0
0
0
0
0
0
0
0
0
0
0
-9
4
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
24
19
0
0
0
0
0
0
0
0
0
0
6
0
-8
0
-22
-13
-1
2
0
0
0
0
0
0
0
0
0
2
-12
-12
27
1
-8
-5
0
0
0
0
0
0
0
0
1
0
0
0
-31
13
4
-2
5
8
0
0
0
0
0
0
0
0
0
9
0
0
23
-2
6
1
0
1
0
0
0
0
0
0
7
-1
0
0
8
0
-32
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
-21
27
-7
6
0
0
0
0
0
0
0
0
1
-1
0
1
12
4
12
-17
10
0
0
0
0
0
0
0
0
-4
-2
3
-8
17
39
32
-5
-2
0
0
0
0
0
0
0
0
0
0
0
1
7
23
-1
2
0
0
0
0
0
0
0
0
-2
-4
-1
-8
3
-31
7
-8
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-23
0
13
-2
0
0
0
0
0
0
0
0
-1
0
-2
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
5
-6
0
0
0
0
0
0
0
0
0
0
0
-13
-6
-16
27
6
-43
0
8
3
0
0
0
0
0
0
0
3
3
3
-39
-13
-50
57
5
-7
0
0
0
0
0
0
0
-6
-3
1
-8
-1
-32
-14
-16
-8
5
0
0
0
0
0
0
0
-10
18
-16
-3
-32
-3
9
13
-37
-1
0
0
0
0
0
0
0
-1
-13
-24
5
-4
12
-2
-1
14
16
0
0
0
0
0
0
0
0
2
-2
-2
-4
0
14
18
8
1
-2
0
0
0
0
0
0
0
-4
0
-7
8
0
-19
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
49
-33
0
3
0
0
0
0
0
0
0
0
4
-6
-1
0
5
22
-45
-21
32
0
0
0
0
0
0
0
0
-18
-6
-1
-3
-8
-56
7
42
0
-5
0
0
0
0
0
0
1
7
1
8
-14
-41
22
-10
15
34
0
0
0
0
0
0
0
-3
23
-6
-6
-29
-17
14
29
-7
0
0
0
0
0
0
0
0
42
7
33
51
0
-18
8
24
-16
-6
0
0
0
0
0
0
0
-1
9
1
1
-8
8
-4
-14
-27
-2
0
0
0
0
0
0
0
0
-10
-2
-3
6
-5
0
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
8
0
0
0
0
0
0
0
0
1
-2
1
-2
71
-9
-7
13
0
-6
0
0
0
0
0
0
0
-8
-3
-39
-2
23
28
-14
8
7
2
-12
0
0
0
0
0
0
-14
7
27
67
-39
45
70
-41
-8
-49
-1
0
0
0
0
0
0
20
2
-1
24
5
40
63
41
0
8
-1
0
0
0
0
0
0
5
7
8
-5
58
-3
-7
-17
93
-34
0
0
0
0
0
0
0
3
72
2
42
1
-100
49
-39
13
-10
0
0
0
0
0
0
0
-1
-42
32
9
37
66
-7
-16
5
0
0
0
0
0
0
0
0
1
45
23
-6
24
20
43
0
-9
-8
0
0
0
0
0
0
0
0
1
0
0
-15
0
-10
-5
4
0
0
0
0
0
0
0
0
0
-37
-4
25
18
-6
-102
19
0
3
0
0
0
0
0
0
0
0
-33
-49
-17
-81
-7
-25
-4
33
-14
3
0
0
0
0
0
0
-6
25
32
30
69
-23
50
25
-51
-50
0
0
0
0
0
0
0
0
87
-21
9
-39
-73
42
-53
-18
42
4
0
0
0
0
0
0
17
-8
8
8
-41
-11
-23
3
31
-41
5
0
0
0
0
0
0
-23
-26
50
-2
26
-46
-57
26
7
8
0
0
0
0
0
0
0
-1
-3
17
3
-8
19
-43
-30
56
-39
0
0
0
0
0
0
0
2
0
24
42
13
-50
18
-41
0
-13
-1
0
0
0
0
0
0
0
1
-2
0
2
6
-14
8
-12
0
0
0
0
0
0
0
0
0
0
12
2
5
-6
-7
50
0
1
5
0
0
0
0
0
0
0
-21
25
7
93
8
4
25
-16
-42
-4
0
0
0
0
0
0
0
16
29
-10
18
-49
-42
-55
10
49
9
0
0
0
0
0
0
0
-30
5
14
-59
-75
6
0
0
3
39
0
0
0
0
0
0
0
20
-15
-8
-9
-17
84
-3
25
-25
-13
0
0
0
0
0
0
0
18
57
-1
-1
-43
10
-15
-31
-13
42
0
0
0
0
0
0
0
-15
-19
7
-23
42
2
8
54
3
-6
0
0
0
0
0
0
0
-5
-2
0
10
-17
-15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-31
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-20
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
2
10
2
-47
-1
14
0
0
0
0
0
0
0
0
-4
2
0
31
1
-54
8
-12
42
-1
0
0
0
0
0
0
0
-3
-7
-3
-13
20
12
-3
16
41
0
0
0
0
0
0
0
0
0
0
0
0
-56
8
49
-16
5
2
0
0
0
0
0
0
0
-3
-1
0
1
-4
5
20
-25
7
-1
0
0
0
0
0
0
0
0
0
0
3
-5
-6
-16
-32
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-42
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
5
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
2
3
0
0
0
0
0
0
0
0
0
0
5
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
13
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
64
-1
-2
0
-10
2
0
0
0
0
0
0
0
0
2
0
2
-1
-16
0
9
0
0
0
-1
0
0
0
0
0
0
-1
0
-6
-1
19
-49
0
3
0
0
0
0
0
0
0
0
0
-5
-4
0
7
-18
0
27
-3
-22
0
0
0
0
0
0
0
0
0
-1
0
4
0
-10
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
4
0
0
0
0
0
0
0
0
0
0
7
-12
-4
-16
0
-5
0
0
0
0
0
0
0
0
0
0
2
1
0
6
-8
-20
0
-3
0
0
0
0
0
0
0
0
5
0
-9
-13
-5
-7
-16
51
-1
0
0
0
0
0
0
0
0
0
0
7
9
6
0
31
0
8
0
0
0
0
0
0
0
0
1
0
0
-20
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
4
24
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-4
8
-8
42
6
0
0
0
0
0
0
0
0
0
0
0
16
-8
-5
-14
-12
3
2
0
0
0
0
0
0
0
0
0
-1
-1
-1
-3
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
2
2
0
21
4
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
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
3
0
0
-9
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-3
0
15
0
2
0
0
0
0
0
0
0
0
0
0
0
5
3
-8
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-5
6
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-2
-7
14
-5
0
-1
0
-3
0
0
0
0
0
0
0
32
37
-5
-77
8
0
-2
0
13
7
0
0
0
0
0
0
0
-5
5
-17
-43
-18
10
-9
4
-3
49
-1
0
0
0
0
0
0
-6
-13
49
57
4
-16
-8
0
-41
0
0
0
0
0
0
0
0
6
15
6
1
-13
77
-6
-1
1
-5
0
0
0
0
0
0
0
12
-6
-8
-5
-9
2
-6
-2
-6
0
0
0
0
0
0
0
0
1
10
2
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-4
2
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
9
-37
0
0
0
0
0
0
0
0
0
-12
-1
-33
-2
0
8
2
-30
0
0
0
0
0
0
0
0
0
0
5
-10
5
0
0
1
-57
0
0
0
0
0
0
0
0
0
5
-4
1
4
4
0
-4
-5
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
3
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-5
22
2
0
-10
1
0
0
0
0
0
0
0
0
0
0
1
-1
7
-4
0
0
-4
0
0
0
0
0
0
0
0
0
7
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-2
-5
0
9
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
-1
-3
0
-2
-9
3
0
0
0
0
0
0
0
0
2
-5
5
0
-2
0
7
0
7
0
0
0
0
0
0
0
0
-18
-8
5
3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
5
3
9
-16
0
0
2
0
0
0
0
0
0
0
0
0
0
-12
-6
4
-15
2
4
-8
-1
0
0
0
0
0
0
0
0
2
4
6
1
41
8
0
-1
-6
0
0
0
0
0
0
0
0
0
-5
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
0
0
0
0
0
0
0
0
0
0
0
0
4
22
35
7
0
1
0
0
0
0
0
0
0
0
0
0
0
1
24
-18
8
-2
-5
-2
-4
0
0
0
0
0
0
0
0
-1
8
-15
16
-2
-30
-58
-1
-2
8
0
0
0
0
0
0
0
0
-5
-5
-1
16
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-4
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
6
4
7
0
5
0
0
0
0
0
0
0
0
0
0
8
42
27
-10
80
0
0
-13
0
0
0
0
0
0
0
0
13
-16
39
-31
-32
-1
-15
-5
-18
-10
-3
0
0
0
0
0
0
1
-7
0
-16
59
51
2
0
14
0
0
0
0
0
0
0
0
-13
-1
-47
2
51
19
1
-2
-5
0
0
0
0
0
0
0
0
1
45
8
30
-13
-6
0
0
-1
1
0
0
0
0
0
0
0
-3
0
-3
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
5
-26
-49
-47
-42
0
-4
-57
-2
3
0
0
0
0
0
0
17
11
10
-24
-24
0
-1
0
-78
16
1
0
0
0
0
0
0
-31
117
45
20
-58
-34
-48
-27
18
-32
0
0
0
0
0
0
0
-12
84
1
48
-37
-50
8
7
0
19
-1
1
0
0
0
0
0
-59
-25
-2
-33
51
-80
-3
-3
1
0
0
0
0
0
0
0
0
-18
-41
35
22
-73
-31
-12
-18
2
1
0
0
0
0
0
0
0
0
-4
55
1
2
2
0
0
-10
0
0
0
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
4
-9
0
0
-58
4
1
0
0
0
0
0
0
0
8
-21
-21
-16
0
-27
0
-11
13
-1
0
0
0
0
0
0
0
-8
-3
19
-16
12
9
8
8
8
-4
0
0
0
0
0
0
0
-7
-30
-13
50
42
23
-6
-28
-9
25
2
0
0
0
0
0
0
-5
0
17
8
8
-15
15
-1
20
0
0
0
0
0
0
0
0
-2
-1
-2
-9
7
19
8
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
25
-5
0
0
0
0
0
0
0
0
0
2
-4
-1
3
4
-3
0
17
0
0
0
0
0
0
0
0
0
2
4
0
-4
2
-6
0
3
21
1
0
0
0
0
0
0
0
1
0
-8
1
0
-1
-14
0
-2
0
0
0
0
0
0
0
0
1
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
1
5
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
2
-2
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
35
24
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
2
-18
0
-6
2
-8
-1
-6
1
0
0
0
0
0
0
0
0
16
8
0
3
12
0
-1
0
0
0
0
0
0
0
0
0
-14
0
-1
0
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
5
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
14
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-8
2
0
1
-4
-3
0
0
0
0
0
0
0
0
-3
-5
-1
-4
8
-4
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-42
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
-17
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
9
10
-5
-57
-13
1
2
-4
3
0
0
0
0
0
0
0
0
-1
-18
-1
6
8
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
6
-25
15
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
7
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-10
14
37
20
3
-9
0
3
0
0
0
0
0
0
0
0
0
-1
-5
8
3
-7
5
6
10
0
0
0
0
0
0
0
0
0
-19
-5
7
3
13
-2
-24
2
0
0
0
0
0
0
0
0
0
3
-8
-25
-12
-52
8
0
0
-2
0
0
0
0
0
0
0
0
0
-4
10
15
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
23
1
23
-3
0
0
0
0
0
0
0
0
0
0
0
1
5
24
-23
7
12
-3
0
6
0
-1
0
0
0
0
0
0
-8
-23
-1
0
-19
0
10
2
-12
-5
0
0
0
0
0
0
0
2
-8
-59
-31
-31
-43
-4
33
3
-5
-5
0
0
0
0
0
0
0
-17
31
-13
-55
5
20
0
0
0
0
0
0
0
0
0
0
0
0
2
24
6
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
9
4
8
8
0
0
0
0
0
0
0
0
0
0
25
-9
-19
54
59
-14
-14
0
-12
0
-1
0
0
0
0
0
0
-7
-51
-3
-22
-96
17
9
-15
42
-1
4
0
0
0
0
0
0
8
-47
-2
59
-56
-17
34
42
-22
-6
0
0
0
0
0
0
0
10
-5
-6
-22
-66
35
13
5
-13
1
0
0
0
0
0
0
0
0
-8
34
-9
-5
-8
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
3
-6
8
-1
0
0
0
1
0
0
0
0
0
0
13
77
-99
-71
-95
-49
-79
0
-11
0
15
0
0
0
0
0
0
-15
-43
-5
-49
-51
-24
-3
2
-25
-27
-10
0
0
0
0
0
0
-30
4
-74
58
55
-9
13
-17
-9
-43
-3
-5
0
0
0
0
0
22
31
-5
-41
-5
-47
-51
5
-2
-2
-8
0
0
0
0
0
0
-1
-2
-13
4
12
-3
5
1
0
1
0
0
0
0
0
0
0
-3
1
16
0
45
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
96
82
-16
-50
-17
4
0
0
0
0
0
0
0
0
0
-37
7
37
-31
-29
47
36
0
-42
0
3
0
0
0
0
0
0
4
28
-64
-51
49
8
-6
-38
14
24
3
0
0
0
0
0
0
-85
44
-36
-10
-31
89
-106
14
24
-23
5
-6
0
0
0
0
0
30
-44
-1
42
22
44
-36
14
-7
-3
-1
0
0
0
0
0
0
-1
-10
-5
22
43
-4
21
2
1
0
0
0
0
0
0
0
0
0
0
0
-49
-14
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
2
6
-12
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-57
-41
-34
17
2
-13
0
-86
-30
1
0
0
0
0
0
0
-44
-40
-46
-48
2
-33
0
7
0
4
6
0
0
0
0
0
0
18
0
-4
58
45
-45
-3
-48
5
6
-16
0
0
0
0
0
0
-16
-51
14
-22
42
-56
-46
-8
33
-3
-5
1
0
0
0
0
0
-9
-54
-41
32
-79
-77
-106
-8
29
7
-7
-1
0
0
0
0
0
2
32
69
31
-157
2
-26
0
-5
-2
0
0
0
0
0
0
0
-5
14
27
50
30
72
8
0
-7
-1
0
0
0
0
0
0
0
0
-7
33
3
-13
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
22
-20
18
0
0
0
-9
7
0
0
0
0
0
0
0
8
-9
-22
-39
-16
0
-8
0
13
16
0
0
0
0
0
0
0
-16
2
-44
73
29
43
-5
13
20
-40
1
0
0
0
0
0
0
13
73
44
-5
40
48
22
-5
-39
-61
-3
0
0
0
0
0
0
-4
74
-36
21
49
10
3
16
-4
0
0
0
0
0
0
0
0
-2
15
45
-21
12
-5
2
1
0
1
0
0
0
0
0
0
0
0
16
3
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
3
0
0
3
-2
0
0
0
0
0
0
0
0
-6
10
-8
0
0
-14
0
33
5
0
0
0
0
0
0
0
0
-6
7
-4
-12
-45
2
4
-41
7
-14
0
0
0
0
0
0
0
4
-9
-37
-9
10
9
23
-3
3
-5
-1
0
0
0
0
0
0
0
-3
-8
-4
-3
14
-2
4
-59
2
0
0
0
0
0
0
0
0
24
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
1
0
-3
-8
0
1
0
-1
0
0
0
0
0
0
0
0
-6
-5
-2
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
1
-3
3
-7
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
13
-8
2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
7
-2
1
-4
4
0
0
0
0
0
0
0
0
0
0
-1
19
-5
2
0
0
13
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
-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
-3
2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-25
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
6
-10
5
8
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
4
-30
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-24
-15
-43
2
0
-5
0
0
0
0
0
0
0
0
-6
0
-17
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
3
0
0
0
0
0
0
0
0
0
0
0
5
0
-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
-5
-4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
16
25
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
6
-20
-15
-13
0
7
12
0
0
0
0
0
0
0
-8
-9
-6
1
20
16
1
4
-1
5
0
0
0
0
0
0
0
-4
22
4
3
-22
63
-71
0
4
0
0
0
0
0
0
0
0
0
0
-2
25
-2
4
19
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
4
-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
-27
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-49
28
22
0
0
-1
0
0
0
0
0
0
0
0
-2
-5
43
-15
-30
5
5
0
13
-5
0
0
0
0
0
0
0
3
-13
-76
-18
-4
-75
22
1
5
1
0
0
0
0
0
0
0
0
-6
-5
-18
8
7
-31
-8
-15
-12
0
0
0
0
0
0
0
0
-4
-1
37
-34
3
-3
-5
0
0
0
0
0
0
0
0
0
0
0
-9
0
10
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-47
7
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
32
-30
32
-51
-4
0
0
0
0
0
0
0
0
0
0
4
24
11
-45
-39
-20
-29
0
0
5
0
0
0
0
0
0
0
-1
8
-9
1
10
0
-4
2
9
0
0
0
0
0
0
0
0
0
-1
41
33
9
13
8
-1
-1
2
0
0
0
0
0
0
0
0
-1
-14
-41
15
47
-4
0
0
0
0
0
0
0
0
0
0
0
0
-20
-31
-9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-8
-9
5
-14
-3
0
0
6
1
0
0
0
0
0
0
-30
-19
-16
27
20
66
-8
0
0
0
0
0
0
0
0
0
0
42
29
37
-10
-21
-21
0
2
37
-49
-1
0
0
0
0
0
0
-3
-4
19
-7
-49
2
-4
-41
3
27
0
0
0
0
0
0
0
5
-7
14
5
-11
-8
15
-13
33
0
0
0
0
0
0
0
0
0
-42
-7
-69
43
-25
5
0
0
18
0
0
0
0
0
0
0
0
0
-15
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-38
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-38
4
-4
-17
-42
-42
2
0
0
0
0
0
0
0
0
0
-8
6
49
-18
-21
-41
-47
0
10
0
4
0
0
0
0
0
0
5
-45
34
-16
-87
-15
12
-25
3
-9
2
0
0
0
0
0
0
49
-46
-5
-25
-49
3
-21
0
-17
-6
8
0
0
0
0
0
0
0
67
-43
-41
-27
-32
36
1
0
43
0
0
0
0
0
0
0
-3
-29
25
-49
21
-59
-5
-1
0
-5
0
0
0
0
0
0
0
0
-6
23
13
-3
4
-4
0
2
0
0
0
0
0
0
0
0
0
-3
0
-2
2
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-29
-8
36
-13
19
3
-7
0
0
-2
0
0
0
0
0
0
22
-52
-5
27
-30
-20
-98
0
-22
0
-34
-3
0
0
0
0
0
-113
-84
69
-20
-25
14
-8
-24
-39
-46
15
0
0
0
0
0
0
-13
-68
56
22
9
34
1
25
-25
25
-14
0
0
0
0
0
0
-6
40
-40
9
93
-93
-26
-7
10
-9
-5
0
0
0
0
0
0
0
-32
18
-18
18
22
17
1
8
-5
0
0
0
0
0
0
0
0
0
-97
-94
-2
0
-92
0
-1
0
0
0
0
0
0
0
0
0
19
0
-70
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
43
-11
-17
-1
-19
10
0
-77
0
0
0
0
0
0
0
0
1
14
8
-38
-7
-14
0
-1
0
-60
10
0
0
0
0
0
0
-28
11
-12
0
13
-46
-6
-143
-39
37
-8
0
0
0
0
0
0
32
-70
14
23
39
-59
16
-41
-13
-13
-4
0
0
0
0
0
0
12
-22
-19
-2
-31
-26
18
32
29
7
-3
0
0
0
0
0
0
50
-44
-30
-46
27
4
-41
8
5
0
0
0
0
0
0
0
0
-33
-22
28
58
63
-19
1
1
0
0
0
0
0
0
0
0
0
5
-8
-8
10
2
3
-1
0
-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
-18
8
-5
14
0
0
0
31
0
0
0
0
0
0
0
0
27
41
13
-81
44
0
-1
0
32
1
0
0
0
0
0
0
0
28
-1
-54
25
-25
-5
18
-32
-56
-7
0
0
0
0
0
0
0
3
45
-21
66
40
18
4
0
-12
-19
0
0
0
0
0
0
0
-10
23
-7
-55
8
-7
-2
3
-4
0
2
0
0
0
0
0
0
0
-23
-25
0
4
6
3
0
2
1
0
0
0
0
0
0
0
0
1
-1
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
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
1
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
-5
-5
-10
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
5
-5
6
-8
1
1
15
-5
-2
0
0
0
0
0
0
0
-2
-3
1
5
-19
4
1
1
0
-7
0
0
0
0
0
0
0
1
5
-6
0
-3
-8
-1
-1
0
-1
0
0
0
0
0
0
0
0
-1
0
-2
0
-2
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-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
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-13
3
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
4
0
0
1
0
0
0
0
0
0
0
0
0
0
2
8
-1
-6
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-8
43
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
1
27
0
0
-10
-16
2
0
0
0
0
0
0
0
2
0
0
7
18
34
8
0
1
0
0
0
0
0
0
0
0
0
-23
0
0
-30
1
4
1
0
1
0
0
0
0
0
0
0
0
-2
0
8
14
16
2
16
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
4
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
-25
25
8
-42
-1
3
0
0
0
0
0
0
0
0
0
0
3
0
-46
2
-8
9
4
0
1
6
-1
0
0
0
0
0
0
1
8
3
-9
1
-2
2
-1
0
3
0
0
0
0
0
0
0
-8
20
-13
0
55
-8
20
17
6
12
0
0
0
0
0
0
0
0
0
-1
1
-16
-34
12
2
0
-6
0
0
0
0
0
0
0
-1
0
8
-7
-34
3
-7
3
1
0
0
0
0
0
0
0
0
0
0
1
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
35
-18
5
6
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-20
12
23
-2
8
0
-1
0
0
0
0
0
0
0
0
2
39
5
25
27
9
-6
0
-15
6
-1
0
0
0
0
0
0
4
-3
0
5
-20
-49
-12
2
0
-5
0
0
0
0
0
0
0
-3
-35
-95
5
0
4
-74
2
9
0
0
0
0
0
0
0
0
0
4
4
-14
-56
0
-4
-6
-4
1
0
0
0
0
0
0
0
0
0
-10
-9
4
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
-14
-5
0
0
0
0
2
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
-1
5
-5
3
-27
0
-1
0
0
0
0
0
0
0
0
0
0
-5
5
-3
29
17
4
8
0
0
0
1
0
0
0
0
0
0
-2
-25
12
-5
-3
-34
-18
0
5
16
0
0
0
0
0
0
0
-1
14
42
-49
-20
25
-6
31
-1
4
3
0
0
0
0
0
0
1
1
7
-29
-43
0
-29
0
8
-3
0
0
0
0
0
0
0
0
-4
-5
-10
-55
-18
-17
0
0
-1
0
0
0
0
0
0
0
0
-1
6
-4
-2
-24
2
0
2
-1
0
0
0
0
0
0
0
0
0
0
-6
3
3
3
-2
-3
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-42
67
-69
9
2
-25
0
0
0
0
0
0
0
0
0
0
-4
23
-28
18
8
-77
5
0
8
0
1
0
0
0
0
0
0
10
18
-44
75
-12
5
-41
-3
-15
-18
0
-1
0
0
0
0
0
6
-28
-7
27
-49
8
-57
17
-5
1
-5
0
0
0
0
0
0
-35
-21
-7
28
-47
-50
0
-10
-28
0
0
0
0
0
0
0
0
3
23
-37
-61
22
27
44
0
1
-3
0
0
0
0
0
0
0
4
0
8
-46
-43
1
8
-6
0
-12
0
0
0
0
0
0
0
0
1
-16
6
8
16
6
1
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
-49
-24
-14
-15
-69
1
0
0
0
0
0
0
0
0
0
8
-47
27
25
22
-154
-30
0
-4
0
0
0
0
0
0
0
0
-31
12
-41
-8
47
-5
31
-10
-50
-38
-2
0
0
0
0
0
0
-3
0
75
25
-120
-4
15
-7
31
19
-3
0
0
0
0
0
0
18
5
-16
5
-22
8
-62
0
-21
8
4
4
0
0
0
0
0
2
-28
-31
-50
-25
53
19
-57
0
-39
0
0
0
0
0
0
0
2
4
12
-14
24
4
13
9
-3
2
0
0
0
0
0
0
0
0
4
-1
-5
-27
6
-14
3
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
63
44
-44
40
31
0
0
2
-2
0
0
0
0
0
0
-25
-32
-9
35
49
-89
23
0
-16
0
3
-1
0
0
0
0
0
-37
1
-16
-68
-44
-51
34
-75
3
-76
-41
0
0
0
0
0
0
19
41
6
35
70
-1
-89
-5
-4
-48
-8
0
0
0
0
0
0
-22
7
-34
-29
-30
80
46
26
0
13
-1
1
0
0
0
0
0
5
-24
-13
-17
-93
-33
29
13
39
0
4
0
0
0
0
0
0
2
-10
-112
-25
-28
-8
49
33
-4
0
0
0
0
0
0
0
0
0
0
-4
57
-16
-2
0
1
2
0
0
0
0
0
0
0
0
0
10
27
-1
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
-50
-31
-98
-4
-31
7
-4
0
15
0
0
0
0
0
0
0
0
-41
26
20
74
28
35
0
-6
0
-38
3
0
0
0
0
0
0
-15
-75
49
50
108
-44
-63
-59
9
37
-1
0
0
0
0
0
0
41
10
-53
-89
-109
1
-5
-44
-15
10
-5
0
0
0
0
0
0
-7
50
69
-20
4
-9
-9
-6
0
8
-4
0
0
0
0
0
0
26
-24
48
77
21
49
-17
19
10
1
0
1
0
0
0
0
0
0
7
4
-6
-116
56
-3
20
-3
0
0
0
0
0
0
0
0
0
9
61
-29
24
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
16
-24
23
-4
6
0
2
101
0
0
0
0
0
0
0
0
-14
22
-4
12
-95
0
0
0
-18
1
0
0
0
0
0
0
0
8
19
-7
-34
46
18
-28
23
4
1
0
0
0
0
0
0
0
0
21
16
-7
-47
29
-2
-14
24
3
0
0
0
0
0
0
0
2
-1
-18
69
-5
-22
7
0
0
-5
0
0
0
0
0
0
0
0
16
33
-42
2
4
-1
-8
-6
0
0
0
0
0
0
0
0
-3
-3
0
-12
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
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
0
0
6
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
5
-1
0
4
0
8
2
0
0
0
0
0
0
0
0
1
0
0
-1
13
5
-5
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
-41
3
1
0
1
0
0
0
0
0
0
0
0
0
0
6
-5
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-8
2
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
14
0
27
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
30
-53
6
6
0
0
0
0
0
0
0
0
0
0
0
-8
3
-16
8
0
-2
0
-3
1
0
0
0
0
0
0
0
0
-15
0
-2
3
0
1
-1
2
0
0
0
0
0
0
0
0
0
10
0
-8
-7
-25
1
0
0
-10
0
0
0
0
0
0
0
0
0
0
8
0
-10
0
0
-4
-5
0
0
0
0
0
0
0
0
0
22
0
8
2
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
24
5
1
6
1
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
-2
-1
0
4
1
0
0
0
0
0
0
0
0
4
1
20
13
-31
3
0
-4
1
0
0
0
0
0
0
0
-3
13
17
-18
4
-37
-2
6
0
4
0
0
0
0
0
0
0
0
8
6
0
15
0
1
6
0
1
0
0
0
0
0
0
0
0
1
-25
13
-39
-13
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
4
-14
-1
8
0
0
0
0
0
0
0
0
0
0
0
24
16
61
1
7
-1
0
0
0
0
0
0
0
0
0
0
5
6
13
2
-5
0
20
0
7
19
0
0
0
0
0
0
0
0
-76
5
69
4
20
7
0
-1
-22
0
0
0
0
0
0
0
-2
-52
5
15
-68
-16
-21
-19
-1
-5
0
0
0
0
0
0
0
0
-23
8
-29
0
25
5
-3
-2
0
0
0
0
0
0
0
0
-2
15
-30
8
41
-1
-3
-1
-1
-2
0
0
0
0
0
0
0
0
1
2
1
4
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-42
25
-14
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
25
69
37
6
1
0
0
0
0
0
0
0
0
0
0
-3
23
-3
1
25
30
4
0
8
-20
0
0
0
0
0
0
0
0
-13
-27
-9
-14
7
-16
-49
8
5
0
0
0
0
0
0
0
-3
17
13
-50
-6
25
6
-16
-5
6
0
0
0
0
0
0
0
0
-2
-96
-21
-50
0
-9
39
0
-15
0
0
0
0
0
0
0
-2
-1
-3
39
-8
24
0
-7
0
0
0
0
0
0
0
0
0
0
1
3
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-46
2
-43
2
-9
0
0
0
0
0
0
0
0
0
0
-3
1
8
35
-72
-46
0
0
0
0
0
0
0
0
0
0
0
-22
25
-50
53
-16
23
1
2
24
-10
0
0
0
0
0
0
0
-9
-3
-25
21
-17
42
-5
-2
2
27
1
0
0
0
0
0
0
37
-17
-22
45
-31
33
-25
5
10
0
0
0
0
0
0
0
0
0
22
2
11
59
52
0
-1
6
-4
0
0
0
0
0
0
0
-7
-50
-41
-28
-26
7
-10
1
2
3
0
0
0
0
0
0
0
0
39
7
0
-2
3
5
-3
0
0
0
0
0
0
0
0
0
0
3
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
55
3
-8
33
-77
14
0
0
-4
0
0
0
0
0
0
9
5
-7
71
-24
6
8
0
2
0
0
0
0
0
0
0
0
0
-35
58
-48
8
39
-90
-21
22
-29
0
0
0
0
0
0
0
1
-8
44
1
-43
50
-37
1
-19
9
0
-1
0
0
0
0
0
21
16
21
10
-25
24
22
-19
9
42
0
0
0
0
0
0
0
-2
-8
-64
5
-38
9
15
0
-1
3
0
0
0
0
0
0
0
0
-19
21
43
-30
9
-1
-5
4
-52
0
0
0
0
0
0
0
0
8
8
17
-8
1
1
5
2
0
0
0
0
0
0
0
0
0
-8
1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
49
-2
-5
-49
30
1
9
5
0
0
0
0
0
0
0
0
0
-4
-58
-68
-7
22
-60
-2
0
-125
0
10
0
0
0
0
0
0
49
-20
-41
-20
19
41
7
-66
-3
-35
-4
0
0
0
0
0
0
49
50
-5
-28
-47
28
-34
-136
19
-25
2
0
0
0
0
0
0
-7
-33
36
20
-96
-23
-42
21
45
-22
0
0
0
0
0
0
0
16
31
-4
49
-51
-58
-21
-8
0
4
0
0
0
0
0
0
0
1
17
30
-42
-12
34
-13
-3
-23
-3
0
0
0
0
0
0
0
0
-3
-20
-23
29
-6
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
-14
10
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-93
50
32
-27
0
0
55
15
0
0
0
0
0
0
0
1
68
-64
-97
30
37
0
7
0
5
1
0
0
0
0
0
0
-55
65
96
54
-41
61
-20
-41
-1
-20
1
0
0
0
0
0
0
-5
-8
-29
-41
37
106
19
20
57
-6
0
0
0
0
0
0
0
-109
-58
5
-36
6
-64
-2
-1
-7
-1
0
0
0
0
0
0
0
-25
13
40
93
-121
12
-49
-70
0
5
0
0
0
0
0
0
0
-18
-45
-41
-43
-31
-38
-5
14
-3
0
0
0
0
0
0
0
0
0
-3
-9
-1
54
-46
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
12
-25
4
3
-18
0
0
58
0
0
0
0
0
0
0
0
5
-35
-18
36
49
0
-1
0
4
-1
0
0
0
0
0
0
0
14
45
-1
43
33
-3
4
-17
8
-2
0
0
0
0
0
0
0
-10
19
0
59
-14
-46
-37
0
24
-8
0
0
0
0
0
0
0
30
42
71
-66
-33
5
0
0
3
0
-1
0
0
0
0
0
0
0
-14
-4
16
13
-8
-1
0
0
0
0
0
0
0
0
0
0
0
6
-33
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-13
1
5
-2
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
6
-1
1
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
1
14
-6
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-1
-16
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
6
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
2
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
1
-22
-2
-33
0
0
-3
0
0
0
0
0
0
0
0
9
2
2
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-13
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
-1
3
8
2
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-19
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
1
0
-6
5
0
0
0
0
0
0
0
0
-12
0
-2
2
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
14
2
0
1
0
-4
0
-5
0
0
0
0
0
0
0
0
8
0
-8
7
-10
-13
-2
0
-8
0
0
0
0
0
0
0
0
0
5
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
30
-24
6
2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
3
2
0
0
-5
0
0
0
0
0
0
0
0
1
4
-10
8
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-33
37
-17
-2
3
0
0
0
0
0
0
0
0
0
0
-6
8
-14
3
-22
2
1
2
0
0
0
0
0
0
0
0
0
3
-10
8
0
0
9
1
-13
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
2
-2
4
-13
0
0
0
0
0
0
0
0
0
0
1
6
-27
-7
-10
6
4
0
-7
-33
0
0
0
0
0
0
0
0
22
14
-63
5
-9
0
2
-1
-1
0
0
0
0
0
0
0
0
0
10
-13
29
3
-8
0
-5
-13
0
0
0
0
0
0
0
0
-5
-7
-55
24
4
3
0
1
22
0
0
0
0
0
0
0
0
0
-29
4
25
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
25
5
-14
0
2
0
0
0
0
0
0
0
0
0
0
0
61
58
-81
-64
31
-5
0
0
0
0
0
0
0
0
0
0
35
-6
2
35
5
9
8
3
0
31
1
0
0
0
0
0
0
0
-8
0
-35
5
-9
-2
0
0
2
0
0
0
0
0
0
0
-6
-1
-14
0
-28
-14
29
10
-42
-1
0
0
0
0
0
0
0
0
69
-53
33
14
-25
6
-22
-1
-2
0
0
0
0
0
0
0
13
-1
-4
-17
43
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
1
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
41
-20
23
14
0
0
0
0
0
0
0
0
0
0
8
-1
52
30
-29
31
8
0
0
0
0
0
0
0
0
0
0
-3
8
5
-8
78
-31
-20
18
5
-5
0
0
0
0
0
0
0
0
-18
25
56
-4
16
-28
1
-3
-1
0
0
0
0
0
0
0
-25
13
-6
12
33
41
-55
-7
7
-44
0
0
0
0
0
0
0
-2
-27
-22
-75
7
14
-9
2
-5
1
0
0
0
0
0
0
0
1
-2
-8
7
25
41
-47
0
-9
-8
0
0
0
0
0
0
0
0
-1
1
48
-13
0
9
4
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
0
0
0
-8
0
0
0
0
0
0
0
0
6
-23
89
-4
-45
-25
-42
-4
0
0
-1
0
0
0
0
0
0
6
-21
65
51
35
-74
-31
0
2
0
-5
0
0
0
0
0
0
64
28
47
-16
24
38
-20
-24
-18
-13
-1
0
0
0
0
0
0
49
22
69
99
-68
-64
26
17
14
-86
8
0
0
0
0
0
0
11
49
53
6
-55
4
-95
-46
29
6
0
0
0
0
0
0
0
2
84
-26
-7
-51
48
17
-23
-10
10
-3
0
0
0
0
0
0
1
-8
50
-2
-56
24
42
-17
0
10
0
0
0
0
0
0
0
0
-24
9
-29
-31
-1
41
-24
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
58
42
-13
-30
-21
3
0
61
-3
0
0
0
0
0
0
0
53
57
-75
31
76
-6
0
-9
0
4
1
0
0
0
0
0
0
-8
41
-17
-50
76
3
-41
-9
-38
31
0
0
0
0
0
0
0
-6
-47
7
16
3
31
-55
83
-10
-4
-1
0
0
0
0
0
0
-7
22
-20
5
32
-55
-33
4
-31
8
0
0
0
0
0
0
0
93
-26
-56
-22
-5
6
-39
-10
17
-2
0
0
0
0
0
0
0
-60
-63
37
-6
-17
18
-1
8
0
0
0
0
0
0
0
0
0
3
29
20
-8
5
-2
-5
5
-13
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-13
0
1
0
0
15
0
0
0
0
0
0
0
0
0
2
35
-1
-1
0
-1
0
14
-1
0
0
0
0
0
0
0
-3
49
-35
-14
-49
1
8
0
31
0
0
0
0
0
0
0
0
-10
8
76
-55
5
7
-3
3
9
0
0
0
0
0
0
0
0
-1
41
13
-3
92
-28
-8
0
10
0
0
0
0
0
0
0
0
42
-1
5
-25
12
-33
7
-4
2
0
0
0
0
0
0
0
0
3
-7
-22
41
42
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
2
-44
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-20
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
-2
-7
-6
-3
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
5
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-76
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-3
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
-8
1
-8
-20
25
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
2
1
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
14
5
4
0
0
0
0
0
0
0
0
0
0
0
10
2
-16
0
8
0
0
0
0
0
0
0
0
0
0
0
17
0
8
-9
8
1
4
0
0
3
0
0
0
0
0
0
0
-4
-25
0
-35
-5
-10
0
0
0
-3
0
0
0
0
0
0
0
-1
0
-12
-42
-4
-3
14
0
1
0
0
0
0
0
0
0
0
0
-18
-5
-13
-14
5
-6
-12
-1
0
0
0
0
0
0
0
0
-5
7
2
0
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-18
-3
15
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
-2
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-75
4
-19
13
35
1
0
0
0
0
0
0
0
0
0
0
5
1
-21
-90
-84
-24
-5
-5
0
27
0
0
0
0
0
0
0
-8
-35
-2
50
-20
-16
1
2
-2
0
0
0
0
0
0
0
0
-18
-8
-5
-23
92
-42
23
0
0
25
0
0
0
0
0
0
0
0
-18
5
-102
-26
3
-5
0
1
0
0
0
0
0
0
0
0
-37
3
44
9
6
-21
-22
2
0
0
0
0
0
0
0
0
0
0
16
-4
5
43
-16
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
52
48
40
0
10
0
0
0
6
0
0
0
0
0
0
-5
5
-7
-23
-57
18
-25
0
-7
0
0
0
0
0
0
0
0
-34
-27
37
22
46
1
-34
31
-46
-76
9
0
0
0
0
0
0
0
-14
-20
47
20
-11
-64
-52
-49
-5
5
0
0
0
0
0
0
42
3
64
-45
-15
-14
12
-50
-25
-15
0
0
0
0
0
0
0
3
49
7
-72
-93
21
-61
31
49
-7
0
0
0
0
0
0
0
35
53
48
-25
-66
13
21
-1
-8
0
0
0
0
0
0
0
0
0
41
-12
34
9
-49
-33
5
0
1
0
0
0
0
0
0
0
0
1
34
4
-69
0
0
-14
5
0
0
0
0
0
0
0
0
0
0
55
-5
-42
39
-3
2
0
10
2
0
0
0
0
0
0
0
22
-15
-61
64
41
-25
0
-1
0
5
0
0
0
0
0
0
0
-28
-49
9
-1
-24
-26
5
0
-29
0
0
0
0
0
0
0
0
60
-48
53
-33
51
54
-58
-4
-27
-8
0
0
0
0
0
0
0
8
9
11
-70
90
-34
82
-31
1
-1
0
0
0
0
0
0
0
34
24
-59
-5
-78
-35
-45
24
7
0
0
0
0
0
0
0
0
-5
-56
67
13
-41
99
41
-15
0
0
0
0
0
0
0
0
0
-59
58
-2
-22
-5
14
-97
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
13
-76
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
-2
10
-8
-8
0
-3
0
30
0
0
0
0
0
0
0
0
-6
-6
21
22
-1
35
0
0
19
0
0
0
0
0
0
0
0
-4
-12
-25
-14
31
3
1
0
-4
0
0
0
0
0
0
0
0
1
29
-21
-15
-8
-13
4
6
-42
0
0
0
0
0
0
0
0
23
8
34
20
-13
4
0
-4
2
0
0
0
0
0
0
0
0
-2
6
5
-21
-6
-2
0
0
2
0
0
0
0
0
0
0
0
1
1
3
16
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-10
0
0
-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
8
1
0
0
0
0
-9
5
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-51
-8
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
30
0
13
-18
0
16
0
0
0
0
0
0
0
0
3
1
27
-8
22
0
6
0
0
0
0
0
0
0
0
0
0
0
-5
0
-75
8
8
6
0
-3
0
0
0
0
0
0
0
0
3
0
-8
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-25
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-37
-32
-6
8
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-20
6
-56
-43
0
4
-6
0
0
0
0
0
0
0
0
-8
-19
-13
41
23
30
-9
0
-16
0
0
0
0
0
0
0
0
-30
27
42
42
22
-94
0
3
1
0
0
0
0
0
0
0
0
0
-28
10
-28
-110
-42
-47
21
-20
0
0
0
0
0
0
0
0
0
0
-60
-60
20
-1
2
0
4
0
0
0
0
0
0
0
0
0
-30
0
44
-8
-5
4
2
0
0
0
0
0
0
0
0
0
-12
1
21
-8
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-6
-2
-13
0
0
0
-28
0
0
0
0
0
0
0
0
0
43
-10
0
-8
-1
0
0
-6
0
0
0
0
0
0
0
0
-8
0
16
-9
-12
-1
0
3
3
0
0
0
0
0
0
0
0
0
-9
13
29
6
-32
-2
0
0
0
0
0
0
0
0
0
0
-9
0
20
0
-31
3
0
0
0
0
0
0
0
0
0
0
0
0
20
0
1
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-31
0
1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-1
-2
-8
0
0
4
0
0
0
0
0
0
0
0
-5
0
-2
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
1
1
-8
0
0
-2
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
7
-6
0
-1
0
0
0
0
0
0
0
0
-5
0
-1
0
-1
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
2
12
0
0
0
0
0
0
0
0
0
0
0
-14
-4
7
1
5
0
3
0
0
0
0
0
0
0
0
0
-4
0
-3
0
-6
-4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
1
-42
43
0
0
0
0
0
0
0
0
0
0
0
0
9
3
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-22
-3
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-3
0
40
0
-3
0
0
0
0
0
0
0
0
0
4
6
5
0
56
0
12
0
2
0
0
0
0
0
0
-8
0
0
-3
-7
25
2
-13
0
-1
0
0
0
0
0
0
0
0
0
1
1
-4
2
-3
35
0
0
0
0
0
0
0
0
0
8
-2
0
0
2
5
-19
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
-3
42
105
6
0
-2
0
-5
0
0
0
0
0
0
0
41
-47
9
-36
-8
66
30
-2
-41
0
0
0
0
0
0
0
0
22
-2
0
5
70
1
10
16
6
-14
0
0
0
0
0
0
0
5
1
3
16
-16
-5
-7
60
13
-3
0
0
0
0
0
0
0
10
6
6
-62
-49
-13
-19
-5
-13
0
0
0
0
0
0
0
0
-31
0
2
24
-19
-9
-73
13
-6
2
0
0
0
0
0
0
0
2
0
1
9
8
-8
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
0
-5
32
0
0
0
0
0
0
0
0
0
17
-1
-1
-25
-28
8
33
0
-3
0
0
0
0
0
0
0
0
-3
2
-15
-13
13
-34
1
2
4
0
0
0
0
0
0
0
0
-4
0
-3
-2
24
0
17
2
-1
0
0
0
0
0
0
0
0
-5
0
-5
-24
-22
4
1
0
-7
0
0
0
0
0
0
0
0
-3
0
0
1
0
5
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-12
0
20
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
5
-2
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
6
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-13
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-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
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-7
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
0
-2
0
0
0
0
0
0
0
-3
2
0
0
2
-8
-44
-28
8
0
0
0
0
0
0
0
0
0
0
0
6
-4
20
2
12
-6
0
0
0
0
0
0
0
0
0
0
0
3
-2
42
-7
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
10
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
4
9
-4
-2
0
0
0
0
0
0
0
0
0
0
0
-5
39
-43
12
-8
-13
-1
0
0
0
0
0
0
0
0
0
0
3
4
-5
-2
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
20
0
0
0
0
0
0
0
0
0
0
-9
0
-6
-35
0
0
23
-8
4
0
0
0
0
0
0
0
0
2
0
-2
-2
-29
-4
-16
-3
0
0
0
0
0
0
0
0
0
0
4
0
-20
13
42
-1
1
0
0
0
0
0
0
0
0
0
-2
0
0
10
0
0
12
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-39
0
0
0
0
0
0
0
0
0
0
0
-1
-2
9
0
-1
19
8
-47
0
1
0
0
0
0
0
0
1
0
-1
0
0
-24
17
22
15
0
0
0
0
0
0
0
0
0
0
0
1
16
-8
-14
-8
-9
-5
0
0
0
0
0
0
0
0
-1
0
0
-7
-3
-43
-3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
19
0
8
0
5
0
0
0
0
0
0
0
0
1
0
4
17
-4
-40
-8
-5
13
0
0
0
0
0
0
0
5
8
14
3
3
-8
-34
-16
23
-3
0
0
0
0
0
0
0
-8
-4
6
5
-23
2
7
-8
10
0
-2
0
0
0
0
0
0
-4
-2
3
-1
5
-3
4
15
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
12
12
7
0
-65
-13
0
5
1
0
0
0
0
0
0
-6
-31
5
-21
31
78
-13
-26
41
-7
-8
0
0
0
0
0
0
-2
8
9
13
15
-32
-62
20
-4
-1
0
0
0
0
0
0
0
5
-2
-13
48
-24
-54
15
21
46
1
-4
0
0
0
0
0
0
-2
1
2
-6
-43
13
-6
20
-27
0
0
0
0
0
0
0
0
-5
0
0
4
10
-67
-2
34
9
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
27
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-14
14
10
13
21
0
-41
51
0
-1
0
0
0
0
0
0
49
-24
122
22
-34
62
-14
38
-13
-24
1
0
0
0
0
0
0
-53
-34
-23
-12
75
13
13
4
-49
-5
0
1
0
0
0
0
0
-23
3
90
4
-51
18
-24
-5
-56
-8
0
0
0
0
0
0
0
-8
47
-21
21
-35
-4
-118
-75
26
1
0
1
0
0
0
0
0
-27
8
15
32
16
-93
-91
-41
8
-5
5
0
0
0
0
0
0
8
-4
-2
48
-56
-26
29
-67
-7
0
0
0
0
0
0
0
0
0
-2
0
0
-3
7
-12
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-3
0
0
0
0
0
0
0
0
0
0
25
8
-25
-12
5
0
10
0
-2
0
0
0
0
0
0
0
0
6
13
9
-48
-24
-8
9
-26
2
-8
0
0
0
0
0
0
0
16
-5
-71
-3
62
65
32
-49
-8
0
0
0
0
0
0
0
0
-12
-32
19
-52
-25
-93
-40
-28
-12
0
0
0
0
0
0
0
0
5
-2
5
-24
17
-39
6
-8
8
-1
0
0
0
0
0
0
0
13
0
-2
-24
0
-17
-13
0
1
0
0
-1
0
0
0
0
0
-8
0
2
0
-6
59
8
3
5
0
0
0
0
0
0
0
0
0
0
0
-5
2
-7
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-5
5
0
-22
21
1
0
0
0
0
0
0
0
0
0
0
-1
-1
-17
-16
12
-13
-5
0
0
0
0
0
0
0
0
0
-2
-1
0
-3
-2
-45
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
13
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
3
-1
6
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
2
22
4
0
0
0
0
0
0
0
0
0
8
0
0
-16
-49
35
8
-42
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
31
-18
0
0
0
0
0
0
0
0
0
0
0
5
-57
52
-9
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-2
-6
24
16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
59
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
29
-24
-19
3
1
2
0
0
0
0
0
0
1
1
0
0
7
-16
-18
-16
3
0
0
0
0
0
0
0
0
0
0
1
-1
15
-7
3
-10
5
0
0
0
0
0
0
0
0
1
-1
0
1
-29
-7
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
2
6
-8
0
3
76
-5
0
-2
0
0
0
0
0
0
0
-2
2
-3
-4
8
-29
-41
13
-8
-7
0
0
0
0
0
0
0
-4
0
-1
0
24
-10
-4
49
15
0
0
0
0
0
0
0
0
1
0
0
-1
1
-8
-23
34
1
0
0
0
0
0
0
0
0
0
4
-3
2
-6
6
39
-10
-3
2
0
0
0
0
0
0
0
0
-3
0
2
0
-39
-7
49
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-6
-9
-5
-22
0
24
0
0
0
0
0
0
0
0
-4
2
-12
-18
24
-26
33
-41
3
0
0
0
0
0
0
0
-4
0
1
0
0
-13
-49
-19
-12
-13
0
0
0
0
0
0
0
-3
-5
-2
-2
6
-18
-25
14
10
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
12
-5
49
0
0
0
0
0
0
0
0
0
0
8
0
-3
-17
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-7
-91
3
5
0
15
0
0
0
0
0
0
0
-31
6
1
-3
-13
-14
-49
-117
-33
7
0
0
0
0
0
0
0
-2
-2
-4
15
-12
0
-51
22
-8
4
4
0
0
0
0
0
0
0
4
-10
6
2
-16
7
2
1
0
-2
0
0
0
0
0
0
-3
-1
1
-7
10
-14
27
1
-41
-1
1
0
0
0
0
0
0
4
0
0
-2
6
-24
24
-18
0
7
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-14
-15
-3
2
-40
42
86
0
27
-1
0
0
0
0
0
0
13
3
4
6
30
-28
32
137
19
34
-6
0
0
0
0
0
0
-6
-45
-2
-71
22
45
-37
8
-28
29
1
0
0
0
0
0
0
20
-5
1
-49
-9
8
-27
-14
-22
5
0
0
0
0
0
0
0
-18
-33
-4
-8
-41
87
83
14
87
0
-3
0
0
0
0
0
0
0
0
3
10
-1
28
-4
75
0
16
1
0
0
0
0
0
0
0
0
1
0
-4
-29
51
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-76
-8
-45
-40
17
-76
-61
0
-5
3
0
2
0
0
0
0
-34
-21
26
-48
-48
35
4
-102
66
38
-20
0
0
0
0
0
0
-40
9
-80
-81
-10
-27
-91
-90
21
-17
1
0
0
0
0
0
0
29
7
27
53
84
-40
-5
-5
8
47
-1
0
0
0
0
0
0
15
-4
97
5
-66
124
24
-17
-8
3
-2
0
0
0
0
0
0
0
9
-8
54
-6
93
34
-50
124
18
-7
0
0
0
0
0
0
0
0
-1
-1
-57
39
-74
-54
3
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-17
-8
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
19
-76
-31
-96
19
116
-33
0
9
3
-7
0
0
0
0
0
-83
81
-58
-20
-25
14
-63
127
7
-19
-50
-4
0
0
0
0
0
22
13
-38
57
-2
-8
-1
-81
-109
-84
15
13
0
0
0
0
0
8
-101
-17
-11
-20
-22
34
-39
96
43
-25
0
0
0
0
0
0
-31
12
-31
-22
-26
-33
67
45
-38
-33
-4
-4
1
0
0
0
0
9
-29
-33
7
9
18
-19
-13
19
-1
2
0
0
0
0
0
0
-7
3
10
1
27
-4
-28
22
1
-2
-1
0
0
0
0
0
0
0
0
0
-1
-4
120
-25
-42
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
0
0
0
0
0
0
0
0
47
-56
-61
107
-36
11
60
0
35
-51
-3
0
0
0
0
0
0
-49
-18
-36
22
12
-29
19
36
9
-62
32
0
0
0
0
0
0
-46
-45
75
72
-4
-9
-27
7
-55
-26
2
0
0
0
0
0
0
-44
17
-46
-18
-20
-82
47
-66
-8
5
-31
0
0
0
0
0
0
-77
-67
-65
1
-119
-21
65
-37
-45
41
0
1
0
0
0
0
0
50
6
-19
-67
8
26
35
73
69
-18
0
0
0
0
0
0
0
10
-13
-7
51
-42
-13
-38
27
1
0
0
-1
0
0
0
0
0
0
0
0
0
-5
33
49
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
61
-7
23
2
0
66
0
27
-53
0
0
0
0
0
0
0
0
-4
-7
49
-67
13
-7
47
75
54
-1
1
0
0
0
0
0
0
52
-20
-7
50
93
-46
22
14
-20
57
0
0
0
0
0
0
0
72
-3
-79
31
15
44
10
-1
-23
-3
5
0
0
0
0
0
0
-15
49
-2
30
23
74
33
1
6
-3
0
0
0
0
0
0
0
13
-3
14
88
-42
45
-13
-72
1
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-1
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-6
39
0
-32
45
6
0
0
0
0
0
0
0
0
1
19
3
41
22
-32
-6
-34
13
0
-1
0
0
0
0
0
0
5
-3
3
15
-23
-33
13
-42
0
1
0
0
0
0
0
0
0
-2
0
1
29
20
13
20
0
7
0
0
0
0
0
0
0
0
0
0
-1
28
3
-42
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
4
0
34
0
-1
0
0
0
0
0
0
0
0
0
0
3
2
3
-1
13
18
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
0
2
-12
0
0
0
0
0
0
0
0
0
1
6
0
7
-57
-17
-39
-14
8
0
0
0
0
0
0
0
0
0
-1
0
0
-41
-1
-7
-17
14
13
0
0
0
0
0
0
0
0
0
0
8
-5
0
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
2
24
-20
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
7
6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
-4
5
0
0
0
0
0
0
0
0
0
-7
0
-3
-1
4
-24
43
-37
26
6
0
0
0
0
0
0
0
0
0
0
0
-24
-3
-43
16
-52
-2
0
0
0
0
0
0
0
2
0
0
0
-6
2
9
3
-1
2
0
0
0
0
0
0
0
0
0
2
0
-15
15
-7
-6
-6
0
0
0
0
0
0
0
0
0
0
0
8
-22
9
4
8
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
0
-9
9
-8
55
47
0
-31
0
0
0
0
0
0
0
1
4
-4
2
-12
-12
47
24
15
14
-3
0
0
0
0
0
0
-3
1
0
-5
6
8
14
-4
12
2
0
0
0
0
0
0
0
0
1
0
0
-9
5
9
-4
-1
0
0
0
0
0
0
0
0
0
0
4
-5
-1
23
31
42
0
-2
0
0
0
0
0
0
0
0
0
-4
2
-2
-7
-30
49
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
1
-27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-10
3
-4
44
84
25
0
-42
2
0
0
0
0
0
0
43
-2
3
-33
-43
-6
29
-31
-49
8
2
0
0
0
0
0
0
5
-12
-10
-1
-29
9
-21
8
-47
5
3
0
0
0
0
0
0
0
-1
17
-5
-1
-5
17
-42
25
0
0
0
0
0
0
0
0
14
-2
1
1
27
0
-6
-6
43
5
0
0
0
0
0
0
0
0
0
9
0
1
9
1
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-31
1
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
12
34
-15
9
-40
0
29
0
0
0
0
0
0
0
-56
25
-1
-8
36
58
53
76
49
-22
-25
2
0
0
0
0
0
14
-59
-29
31
-1
0
-5
32
42
-1
1
0
0
0
0
0
0
7
0
-16
-8
-49
0
-32
12
-41
3
0
0
0
0
0
0
0
-1
-37
6
-29
0
5
13
7
8
-7
0
0
0
0
0
0
0
0
0
5
3
-33
21
3
14
-10
-1
0
0
0
0
0
0
0
0
0
1
4
-8
-13
-21
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
6
0
-37
33
23
12
0
27
5
0
0
0
0
0
0
-17
-45
-60
-10
29
47
-67
-25
-54
-2
-6
0
0
0
0
0
0
-53
-24
-17
79
-5
-5
47
13
-23
10
0
0
0
0
0
0
0
5
61
4
-21
1
-9
-10
12
-19
-55
1
0
0
0
0
0
0
13
-18
20
4
37
-2
0
0
63
0
3
0
0
0
0
0
0
0
3
-7
7
17
5
-8
-16
0
-1
0
0
0
0
0
0
0
0
-3
-1
0
-13
7
18
0
-31
3
0
0
0
0
0
0
0
0
-8
0
17
0
7
0
-3
-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
-31
-33
-3
-74
-17
18
49
14
0
-19
34
0
0
0
0
0
0
-68
-8
10
-27
-42
26
-125
-42
-54
13
32
0
0
0
0
0
0
58
-12
57
-49
-37
-78
36
-41
-53
-1
-15
0
0
0
0
0
0
17
-7
-15
-55
-15
-69
-8
-8
-5
24
0
0
0
0
0
0
0
8
-21
-12
-19
-44
-19
-13
-25
1
10
0
-5
0
0
0
0
0
0
-18
-13
32
-45
39
42
-73
-66
3
-2
0
0
0
0
0
0
0
-34
2
8
-1
-19
53
21
27
5
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-12
42
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
26
-34
51
-137
-12
51
-30
0
-32
-42
0
0
0
0
0
0
40
-57
46
18
-94
69
95
-3
-86
-7
-42
-15
0
0
0
0
0
-45
-50
42
-31
-23
42
-8
-96
51
-16
-30
0
0
0
0
0
0
45
-30
58
-42
-52
30
-37
6
-21
23
-3
0
0
0
0
0
0
21
42
13
7
-2
-13
-71
-6
-31
2
-8
0
0
0
0
0
0
-10
33
6
33
12
-42
44
22
8
21
0
0
0
0
0
0
0
-2
-5
58
42
49
-12
-31
35
1
2
5
0
0
0
0
0
0
0
0
-1
7
-2
21
43
-46
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
-75
4
-23
-11
-23
23
-25
0
-66
5
4
0
0
0
0
0
0
84
11
0
-16
10
69
15
-21
9
32
-14
0
0
0
0
0
0
-21
-21
9
-61
-2
-5
74
40
-49
-25
7
0
0
0
0
0
0
64
-12
-58
-46
-3
-92
45
-29
20
27
8
1
0
0
0
0
0
27
-33
45
16
-24
93
80
9
-71
0
6
0
0
0
0
0
0
18
19
-43
19
-21
-105
26
-16
-49
-8
-2
0
0
0
0
0
0
-8
-5
-4
12
-72
-7
-48
1
21
0
0
0
0
0
0
0
0
1
1
-1
0
-24
-58
-22
4
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
2
2
0
0
0
0
0
0
0
0
0
0
46
16
-23
11
54
0
-23
57
-2
0
0
0
0
0
0
0
-4
7
1
-61
70
53
-7
19
30
-5
0
0
0
0
0
0
0
-25
14
-25
-45
15
-10
-70
3
-30
1
-1
0
0
0
0
0
0
4
-3
-2
34
7
5
-53
-25
0
1
0
0
0
0
0
0
0
8
-4
3
30
-27
-62
76
-4
1
0
0
0
0
0
0
0
0
4
0
-8
12
19
18
23
22
-4
0
0
0
0
0
0
0
0
-1
0
0
-8
3
-20
-14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-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
2
0
0
5
-5
0
-8
-13
-7
0
0
0
0
0
0
0
0
7
-2
2
6
4
-31
6
13
3
1
0
0
0
0
0
0
0
8
5
0
-41
10
19
8
3
-5
0
0
0
0
0
0
0
0
2
-5
0
1
0
1
-9
-21
0
0
0
0
0
0
0
0
0
1
1
1
2
0
31
7
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
33
42
-39
8
0
0
0
0
0
0
0
0
0
-2
0
0
2
-4
0
-25
8
0
0
0
0
0
0
0
0
0
8
0
22
-24
-4
0
41
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-5
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-2
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
1
0
0
0
0
0
0
0
0
0
0
-16
0
-3
-24
-5
12
0
27
-1
0
0
0
0
0
0
0
1
-2
-1
16
5
-23
45
0
27
-5
0
0
0
0
0
0
0
0
0
-3
0
-8
23
-17
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
30
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
-23
43
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
-2
-13
0
-25
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
-2
6
2
1
21
-2
-20
-14
0
0
0
0
0
0
0
0
0
0
-23
-2
-7
-37
-10
19
-25
25
37
0
0
0
0
0
0
0
0
2
0
-2
9
15
16
14
-25
-1
0
0
0
0
0
0
0
16
0
0
2
6
3
-51
35
-10
10
0
0
0
0
0
0
0
0
-7
-1
0
14
8
-14
-3
25
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-30
70
7
0
0
0
0
0
0
0
0
0
3
0
0
-3
-25
2
10
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-28
23
5
0
-18
1
0
0
0
0
0
0
1
22
7
25
19
-57
17
-31
46
3
0
0
0
0
0
0
0
0
-13
8
8
13
16
-12
28
49
-4
0
0
0
0
0
0
0
-3
-1
3
0
0
-3
-13
-72
8
0
0
0
0
0
0
0
0
0
2
-39
7
0
3
6
6
25
0
0
0
0
0
0
0
0
0
3
-3
0
10
0
32
8
35
-5
0
0
0
0
0
0
0
0
-7
0
0
-5
-24
25
7
14
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
13
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
10
2
-12
-1
5
-31
0
0
0
0
0
0
0
0
0
-1
49
3
17
7
8
37
-72
33
0
-5
0
0
0
0
0
0
5
3
-29
-8
6
29
-44
-12
9
31
0
0
0
0
0
0
0
13
-3
-10
-24
0
27
-6
63
-34
-35
0
0
0
0
0
0
0
-2
1
0
4
-15
0
9
-6
50
-22
0
0
0
0
0
0
0
0
-33
-17
-15
0
-18
0
2
-43
3
0
0
0
0
0
0
0
0
0
0
4
-20
0
39
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
4
43
5
-47
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
7
-17
-16
49
-64
43
-28
0
-41
0
0
0
0
0
0
0
-10
49
-16
-80
3
40
26
-62
41
18
0
-3
0
0
0
0
0
44
34
10
31
44
25
37
-71
32
-31
-12
0
0
0
0
0
0
33
-6
4
30
-28
9
6
-10
-32
-20
0
0
0
0
0
0
0
3
-4
-2
10
-30
-6
0
1
5
3
0
0
0
0
0
0
0
0
7
0
2
35
0
13
-3
30
-2
0
0
0
0
0
0
0
-5
2
34
-14
42
-7
-60
-49
1
0
0
0
0
0
0
0
0
0
4
-4
0
1
10
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
-5
-17
27
7
-14
23
-27
-46
0
-50
-2
0
0
0
0
0
0
-20
-70
-59
-5
16
42
17
-68
37
25
-25
4
0
0
0
0
0
7
47
-49
23
-40
14
-42
-62
-12
13
1
0
0
0
0
0
0
18
-23
-58
20
53
-15
-9
4
-41
-22
0
0
0
0
0
0
0
-13
-45
-21
75
56
43
43
0
8
3
0
0
0
0
0
0
0
-1
49
0
-46
-21
-53
-8
-10
0
8
0
0
0
0
0
0
0
0
-6
6
87
60
-4
-37
-5
-41
0
0
0
0
0
0
0
0
0
-15
0
25
10
-25
20
-46
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-1
50
-59
74
9
22
76
-50
0
-1
0
1
0
0
0
0
0
31
-48
-30
-17
-18
60
61
11
80
-24
31
8
0
0
0
0
0
-53
-22
34
32
-68
27
53
-21
-39
-28
0
1
0
0
0
0
0
-25
20
-5
26
5
26
18
-69
-43
2
18
-8
0
0
0
0
0
-5
14
20
-55
-37
-13
-15
-26
3
-42
0
0
0
0
0
0
0
41
44
-3
-36
31
-79
-42
-7
-5
0
-3
0
0
0
0
0
0
-3
3
-8
-48
-34
-56
50
-31
-37
-42
0
0
0
0
0
0
0
0
-12
0
29
-7
-33
-10
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-59
-8
0
0
0
0
0
0
0
0
0
0
-57
30
-8
-6
23
-4
93
0
8
12
-2
0
0
0
0
0
0
-80
69
13
-80
-10
-58
48
2
-115
34
0
0
0
0
0
0
0
-1
-4
-85
72
-7
-18
35
28
13
-23
3
0
0
0
0
0
0
-21
-40
18
-77
21
-23
91
-33
-35
3
0
0
0
0
0
0
0
3
-23
-72
-101
-22
77
7
-22
0
6
0
0
0
0
0
0
0
-12
-2
25
-50
33
-30
57
2
1
0
0
0
0
0
0
0
0
2
-66
0
37
-3
116
25
15
20
2
0
0
0
0
0
0
0
0
3
25
2
13
-6
-46
-22
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
19
0
7
17
8
13
0
24
14
-16
0
0
0
0
0
0
0
1
-13
-17
14
54
-11
22
52
-67
8
8
0
0
0
0
0
0
41
32
-1
93
37
-2
39
-34
3
2
0
0
0
0
0
0
0
5
7
5
13
-10
88
-102
-4
3
0
0
0
0
0
0
0
0
24
2
2
-6
12
-7
-24
-5
0
0
0
0
0
0
0
0
0
0
0
0
42
-23
23
-23
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
13
15
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
-23
2
0
15
-5
-4
0
0
0
0
0
0
0
0
-5
-1
0
14
5
-20
18
5
14
0
0
0
0
0
0
0
0
5
-4
-3
3
0
-13
-3
8
-6
0
0
0
0
0
0
0
0
5
-2
4
-4
-10
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
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
-3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-8
-9
17
0
0
0
0
0
0
0
0
0
0
0
1
1
9
1
-1
17
0
0
0
0
0
0
0
0
0
0
0
-3
9
-7
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
-5
15
4
-24
0
0
0
0
0
0
0
0
0
4
0
-4
-17
-3
19
13
-8
0
0
0
0
0
0
0
0
-1
3
-2
-20
3
-6
22
14
-2
1
0
0
0
0
0
0
0
0
0
-1
0
-5
0
31
10
8
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
-3
-9
-4
2
0
0
0
0
0
0
0
0
0
0
7
0
5
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-8
0
0
-1
0
0
0
0
0
0
0
4
-8
0
6
-2
-41
-14
0
59
20
0
0
0
0
0
0
0
8
1
0
-4
-25
-44
3
75
-60
4
0
0
0
0
0
0
0
1
6
0
1
-31
-25
-7
43
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-6
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-3
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-6
-14
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
33
-12
29
23
0
-1
-6
0
0
0
0
0
0
0
-47
5
-7
-16
66
-4
41
4
19
-3
0
0
0
0
0
0
0
17
13
16
8
2
-18
-17
15
-1
0
0
0
0
0
0
0
0
9
31
35
17
-75
43
146
-49
17
0
0
0
0
0
0
0
8
1
7
0
-25
-2
-15
16
-5
0
0
0
0
0
0
0
0
0
5
1
-6
0
25
12
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
-14
0
-21
-17
9
1
0
0
0
0
0
0
0
0
0
-1
-1
0
-8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-4
7
-7
-23
23
-42
0
-58
0
0
0
0
0
0
0
0
-5
12
9
-23
15
-9
-2
-1
-16
0
0
0
0
0
0
0
3
49
0
1
-15
66
-13
-21
23
14
0
0
0
0
0
0
0
-4
14
6
16
17
-49
-50
-8
-25
39
2
0
0
0
0
0
0
0
-8
24
-29
-8
-25
0
-37
-57
-3
0
0
0
0
0
0
0
0
3
-9
1
-23
0
9
2
-6
0
0
0
0
0
0
0
0
0
0
5
-8
0
19
0
24
8
0
0
0
0
0
0
0
0
0
0
5
0
0
20
-8
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
5
1
4
6
-43
21
-20
-52
0
-34
3
0
0
0
0
0
0
0
-1
0
5
56
-46
5
-17
86
-48
2
0
0
0
0
0
0
27
-3
0
-27
37
37
-35
14
12
0
-1
0
0
0
0
0
0
27
-27
9
55
-21
35
-52
25
12
8
-2
0
0
0
0
0
0
-17
-20
-8
-51
-13
1
-33
0
-31
0
0
0
0
0
0
0
0
-2
-39
-24
-4
-33
-30
0
23
-7
-5
0
0
0
0
0
0
0
-7
7
8
-4
17
8
7
0
-60
-2
0
0
0
0
0
0
0
0
-4
0
-39
-7
-37
3
16
0
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
70
14
-8
31
31
36
-14
0
-1
7
0
0
0
0
0
0
-41
-41
-49
-5
67
-11
-41
-14
111
-21
34
0
0
0
0
0
0
1
-2
-17
47
-23
-5
-26
-23
-5
39
0
0
0
0
0
0
0
42
-29
-15
-54
18
-3
8
-35
41
5
0
0
0
0
0
0
0
3
-43
-27
-71
9
-10
-31
-9
3
-29
0
0
0
0
0
0
0
0
-20
6
24
-46
30
-24
0
22
3
0
0
0
0
0
0
0
0
-3
2
-18
-57
-17
0
-37
-2
-1
0
0
0
0
0
0
0
0
-1
-10
-27
13
17
0
-1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
35
1
-17
-75
-43
-41
-23
28
0
-15
-4
0
0
0
0
0
0
25
19
-29
31
24
-13
22
34
46
50
-5
16
0
0
0
0
0
-16
-21
22
80
13
97
47
-54
-22
-44
-5
0
0
0
0
0
0
-79
-93
11
-62
62
-73
17
31
-52
-74
0
0
0
0
0
0
0
-21
14
18
22
1
18
22
1
-35
0
0
0
0
0
0
0
0
-1
-7
59
-28
-5
-20
-23
13
0
-13
0
0
0
0
0
0
0
-7
5
-37
-80
-5
25
25
1
-6
0
0
0
0
0
0
0
0
-17
2
13
-51
-16
-1
-25
3
5
-19
0
0
0
0
0
0
0
0
0
0
-12
3
-3
-23
1
-1
0
0
0
0
0
0
0
0
0
-25
-8
61
35
-30
2
3
0
13
-31
1
0
0
0
0
0
0
-33
-12
-11
-26
-24
-22
-1
49
34
-15
-3
0
0
0
0
0
0
-39
-30
13
10
-7
14
-11
47
-61
-10
0
0
0
0
0
0
0
-55
-25
51
-125
-15
18
19
54
-37
-1
0
0
0
0
0
0
0
22
-4
31
-70
35
6
36
-19
15
0
0
0
0
0
0
0
0
52
-37
-10
-10
53
65
7
64
0
1
0
0
0
0
0
0
0
-30
-30
-31
0
-115
6
44
-5
-17
0
0
0
0
0
0
0
0
-5
-13
-16
31
-30
19
14
-50
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
23
0
21
-8
48
16
0
16
-7
0
0
0
0
0
0
0
0
-19
8
46
2
13
5
-4
-30
26
0
0
0
0
0
0
0
0
-1
-8
5
-43
19
19
93
-3
-3
0
0
0
0
0
0
0
0
7
12
0
23
-40
41
-13
-50
0
0
0
0
0
0
0
0
0
-5
0
4
-18
-28
9
-61
0
-4
0
0
0
0
0
0
0
0
-2
0
0
-1
-1
-47
6
-1
0
0
0
0
0
0
0
0
0
1
0
0
15
22
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
6
-13
-2
0
0
0
0
0
0
0
0
0
-1
0
-13
-7
-5
3
27
-2
-2
0
0
0
0
0
0
0
2
-5
0
-5
-2
1
-7
-1
0
0
0
0
0
0
0
0
0
-1
4
0
4
14
-1
-7
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
7
5
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
4
1
42
1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
5
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-16
0
25
22
-6
0
0
0
0
0
0
0
0
0
0
0
3
0
35
-24
12
0
0
0
0
0
0
0
0
-4
0
0
-3
-8
13
2
29
1
9
0
0
0
0
0
0
0
0
16
1
-2
3
-8
-13
-5
16
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-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
-5
0
-6
3
0
-1
0
0
0
0
0
0
0
0
1
2
0
0
1
2
48
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-7
15
-29
6
6
0
0
0
0
0
0
0
0
0
-10
-6
12
-19
5
33
13
-12
0
0
0
0
0
0
0
0
-2
-1
0
-9
2
2
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
0
-6
0
-7
-14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
-35
-6
0
0
0
0
0
0
0
0
0
0
-8
0
0
6
18
33
-42
-1
-2
-1
0
0
0
0
0
0
0
2
0
0
13
-3
-43
6
10
-12
0
0
0
0
0
0
0
3
1
-1
-5
0
3
-17
-10
13
0
0
0
0
0
0
0
0
-1
-1
-7
-13
-29
7
-9
4
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
-2
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
3
-6
-13
-1
14
0
-1
0
0
0
0
0
0
0
0
-17
-1
0
27
8
30
-23
-46
24
0
0
0
0
0
0
0
0
8
0
-1
-17
-10
34
19
-7
-3
0
0
0
0
0
0
0
-8
0
7
-1
2
-13
25
23
1
-12
0
0
0
0
0
0
0
0
-8
-2
0
8
5
-16
5
30
0
0
0
0
0
0
0
0
0
6
0
-25
0
9
0
49
4
-1
0
0
0
0
0
0
0
0
0
1
0
6
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
-10
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
4
-42
30
0
4
0
0
0
0
0
0
0
0
4
-1
-17
49
-95
-13
31
43
43
1
0
0
0
0
0
0
-1
10
8
55
-52
13
75
-52
-18
-41
0
0
0
0
0
0
0
-1
-2
6
75
1
25
9
9
14
1
0
0
0
0
0
0
0
0
13
-4
0
-25
-24
12
5
0
0
0
0
0
0
0
0
0
-8
6
-8
10
17
1
6
0
8
-2
0
0
0
0
0
0
0
0
-17
0
0
-1
-4
0
-10
1
0
0
0
0
0
0
0
0
0
12
0
-3
2
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
4
57
-16
-5
-18
0
-22
-4
0
0
0
0
0
0
-5
64
8
31
12
-1
8
75
-57
-4
-1
0
0
0
0
0
0
4
-22
5
-31
-13
-40
-13
18
76
9
-1
0
0
0
0
0
0
43
51
9
-20
31
40
-13
-58
8
-9
0
0
0
0
0
0
0
-9
-49
-7
-4
96
28
76
-79
12
1
-1
0
0
0
0
0
0
0
17
32
-6
-35
45
0
31
-1
-1
0
0
0
0
0
0
0
0
6
-16
4
-43
-27
-33
0
-26
0
0
0
0
0
0
0
0
0
4
-1
1
-24
-49
2
5
0
14
0
0
0
0
0
0
0
0
0
0
6
0
0
22
10
0
0
0
0
0
0
0
0
0
-30
13
-43
4
15
-64
9
-54
0
-18
1
0
0
0
0
0
0
-21
-64
2
-21
-58
76
49
61
31
-35
-20
0
0
0
0
0
0
28
-4
-54
-6
-24
15
37
66
50
11
6
0
0
0
0
0
0
48
-8
-43
3
-5
5
42
60
52
26
1
0
0
0
0
0
0
31
19
7
49
7
-12
63
17
-15
2
0
0
0
0
0
0
0
-35
-20
-51
-21
-3
-3
-16
-6
-46
0
-1
0
0
0
0
0
0
3
14
-5
-8
51
-37
30
20
0
-6
0
0
0
0
0
0
0
0
-2
-3
14
4
-58
17
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
1
5
2
0
0
0
0
0
0
0
0
0
74
31
31
-42
55
-31
-57
0
37
-33
0
0
0
0
0
0
0
9
13
66
-11
-50
63
-29
42
67
-42
2
0
0
0
0
0
0
17
1
-22
-44
38
14
34
65
22
-3
0
0
0
0
0
0
0
13
8
-84
-5
-18
6
52
26
48
14
0
0
0
0
0
0
0
-37
-29
-9
12
84
-31
9
55
-18
0
0
0
0
0
0
0
0
3
-9
2
-9
35
29
4
3
-69
0
0
0
0
0
0
0
0
-3
31
-14
-22
23
90
-15
13
0
0
0
0
0
0
0
0
0
-2
2
-2
13
-22
34
2
2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-3
14
0
6
18
-23
0
93
-13
0
0
0
0
0
0
0
0
41
6
2
13
49
-3
-55
19
41
0
0
0
0
0
0
0
0
19
-4
-2
25
10
7
6
18
15
0
0
0
0
0
0
0
0
8
3
52
-6
42
17
69
60
19
0
0
0
0
0
0
0
0
25
-3
1
-53
-33
-31
-1
25
0
0
0
0
0
0
0
0
0
-6
-2
0
-8
42
-31
43
-1
4
0
0
0
0
0
0
0
0
0
0
3
-7
9
3
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
6
-2
5
0
0
0
0
0
0
0
0
2
0
0
1
2
19
1
-3
8
0
0
0
0
0
0
0
0
0
0
-2
5
5
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
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
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-24
0
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
29
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-23
0
0
0
0
0
0
0
0
0
0
2
0
0
13
2
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
19
-35
0
0
0
0
0
0
0
0
-4
0
3
0
0
-2
-4
10
8
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-17
-33
-2
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
9
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-29
-16
-10
0
-12
0
0
0
0
0
0
0
0
-3
0
0
7
-6
-16
-9
32
34
0
0
0
0
0
0
0
-6
-6
0
-6
-1
-23
1
21
1
-15
0
0
0
0
0
0
0
0
1
5
0
-10
23
-44
-14
50
0
0
0
0
0
0
0
0
6
3
22
-1
-8
8
-6
16
14
0
0
0
0
0
0
0
0
0
5
1
0
14
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
8
-47
7
0
0
0
0
0
0
0
0
0
0
20
-1
-15
-13
4
59
-33
-54
-1
0
0
0
0
0
0
0
9
25
-1
49
-68
20
31
12
-116
8
0
0
0
0
0
0
0
57
8
0
23
-55
5
31
-1
-31
-7
0
0
0
0
0
0
0
-1
-18
-3
-30
5
-5
69
27
-5
0
0
0
0
0
0
0
0
-3
-5
-10
30
-107
51
2
15
-17
0
0
0
0
0
0
0
0
10
10
14
7
70
-43
-2
5
0
0
0
0
0
0
0
0
0
0
9
0
1
-1
-66
23
0
7
0
0
0
0
0
0
0
0
0
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
3
-7
7
-25
-17
-52
-71
42
0
12
0
0
0
0
0
0
0
-1
-18
6
10
-15
-4
-13
-54
26
9
7
0
0
0
0
0
0
95
11
31
24
-93
6
23
61
-14
-52
1
0
0
0
0
0
0
-20
-9
5
4
-9
29
-45
76
6
-6
-3
0
0
0
0
0
0
58
-41
26
18
14
47
-8
56
0
-1
-5
0
0
0
0
0
0
-43
10
56
-14
-65
-16
-1
68
23
25
0
0
0
0
0
0
0
-13
3
-39
47
-51
0
89
0
25
0
0
0
0
0
0
0
0
9
-2
-4
-29
-20
-40
-69
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
23
-5
0
0
0
0
0
0
0
0
0
0
0
3
-2
32
24
7
57
68
0
-14
0
0
0
0
0
0
0
0
14
-12
-51
-2
77
-3
36
-91
-2
-6
0
0
0
0
0
0
0
51
-13
-2
14
-43
56
6
75
50
17
0
0
0
0
0
0
0
64
-41
20
-60
18
22
-49
-42
-66
-8
0
0
0
0
0
0
0
-22
9
56
64
66
27
23
69
0
1
0
0
0
0
0
0
0
-57
-46
-7
-22
10
-7
42
49
-16
0
0
0
0
0
0
0
0
-7
-25
-9
-82
-8
34
4
-3
-13
0
0
0
0
0
0
0
0
1
-4
6
-13
46
54
48
25
0
0
0
0
0
0
0
0
0
0
13
0
0
3
-22
6
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-2
0
18
0
-6
0
0
0
0
0
0
0
0
0
15
-2
0
29
6
1
51
-25
-29
0
0
0
0
0
0
0
0
22
17
0
-4
49
22
31
10
3
0
0
0
0
0
0
0
0
56
1
7
39
-10
-4
1
-23
13
0
0
0
0
0
0
0
0
-4
0
5
7
56
8
-33
-2
-5
0
0
0
0
0
0
0
0
-12
3
-2
-14
34
28
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
-23
1
-6
-22
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
-4
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-8
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
5
0
-2
0
0
0
0
0
0
0
0
0
0
-3
1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-43
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-2
-24
-8
-2
0
0
0
0
0
0
0
0
-13
0
0
0
-3
8
15
-41
13
0
0
0
0
0
0
0
0
17
-17
-2
8
7
8
-22
0
-5
0
0
0
0
0
0
0
0
5
-7
0
-17
0
5
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
32
7
2
0
0
0
0
0
0
0
0
0
0
0
0
8
5
10
-30
-43
8
0
0
0
0
0
0
0
0
60
0
0
42
-12
14
45
53
46
-3
0
0
0
0
0
0
0
75
5
0
81
13
60
72
33
-98
0
0
0
0
0
0
0
0
-4
34
23
17
-55
0
1
0
19
3
0
0
0
0
0
0
0
14
-41
29
25
-5
-32
79
4
0
2
0
0
0
0
0
0
0
-30
-25
0
51
-20
-2
-6
5
0
-3
0
0
0
0
0
0
0
13
-4
-9
66
27
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
49
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
69
0
0
0
0
0
0
0
0
0
0
-9
0
0
5
0
-55
-5
23
3
0
0
0
0
0
0
0
0
0
-6
0
9
-9
1
-6
3
-3
-2
0
0
0
0
0
0
0
-1
0
0
19
10
6
-2
-34
3
0
0
0
0
0
0
0
0
5
-1
-5
9
-35
-21
-3
15
-2
0
0
0
0
0
0
0
0
0
0
-3
16
-15
10
0
13
0
0
0
0
0
0
0
0
0
0
0
1
5
-10
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
1
-5
41
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
83
-1
-2
0
0
0
0
0
0
0
0
0
0
0
5
-1
-9
77
-4
-8
0
0
-2
0
0
0
0
0
0
0
0
-10
-20
-12
21
10
17
0
-1
41
0
0
0
0
0
0
0
0
31
-9
1
8
41
18
-24
4
55
0
0
0
0
0
0
0
0
-1
30
-9
25
-2
8
3
-2
1
0
0
0
0
0
0
0
0
0
2
-8
-19
23
3
-15
0
0
0
0
0
0
0
0
0
0
1
0
9
7
-22
0
0
0
-2
0
0
0
0
0
0
0
0
0
-25
0
-6
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-20
-19
7
-19
2
0
-6
0
0
0
0
0
0
0
0
110
9
5
-49
-27
-71
0
-12
0
0
0
0
0
0
0
0
-16
9
-23
-66
30
8
92
33
101
48
0
0
0
0
0
0
0
-1
2
36
21
-6
-43
-36
-22
32
-49
0
0
0
0
0
0
0
-1
54
13
68
61
3
45
-18
-18
26
0
0
0
0
0
0
0
0
14
2
12
-43
4
6
-8
-2
-2
0
0
0
0
0
0
0
0
0
5
0
-36
-31
22
-25
-14
2
0
0
0
0
0
0
0
0
0
8
0
25
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
0
38
20
0
-22
1
0
-1
-3
0
0
0
0
0
0
-7
0
36
7
14
124
-8
0
0
0
-8
0
0
0
0
0
0
0
23
84
13
-26
75
-17
145
27
-35
-72
0
0
0
0
0
0
4
-10
48
51
-23
37
17
-6
8
-7
-86
0
0
0
0
0
0
0
74
49
36
31
-15
13
68
5
-21
-1
0
0
0
0
0
0
0
30
-13
-9
3
14
8
8
-22
13
0
0
0
0
0
0
0
0
0
-13
-20
42
21
9
-67
25
0
-8
0
0
0
0
0
0
0
0
2
41
-5
0
0
-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
45
0
-6
9
0
0
0
0
0
4
0
0
0
0
0
10
-50
-1
66
0
41
-25
0
0
0
-14
0
0
0
0
0
0
0
0
-67
-50
78
-24
-16
13
-1
19
-34
9
0
0
0
0
0
-3
-10
49
79
5
50
14
79
44
14
15
1
0
0
0
0
0
0
-10
-42
19
93
-32
-23
0
54
-5
-3
-2
0
0
0
0
0
-2
0
43
49
33
-10
2
2
-37
-19
0
0
0
0
0
0
0
0
0
1
25
-42
4
8
1
1
0
-1
0
0
0
0
0
0
0
0
0
-5
8
-3
-2
0
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
-5
10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
14
45
5
70
0
-17
0
1
0
-15
0
0
0
0
0
0
0
0
-4
5
35
-7
-35
-21
11
25
-3
-2
0
0
0
0
0
-2
8
13
46
-6
75
22
8
-48
-15
-2
2
0
0
0
0
0
0
25
12
37
28
92
-3
5
0
-10
-4
0
0
0
0
0
0
0
-7
2
14
39
13
-12
6
2
-8
0
3
0
0
0
0
0
0
0
4
2
7
-17
2
2
0
0
0
0
0
0
0
0
0
0
0
0
19
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-15
0
3
3
0
0
0
0
0
0
0
0
0
0
4
9
-25
-2
-19
0
0
19
0
-15
0
0
0
0
0
0
-15
5
-24
-24
-70
-8
-15
-2
31
-27
8
3
0
0
0
0
0
4
-34
1
-15
-72
80
-25
5
-2
15
5
0
0
0
0
0
0
0
2
20
20
-31
52
4
15
4
4
6
0
0
0
0
0
0
0
0
23
-7
1
-4
6
-22
0
4
0
0
0
0
0
0
0
0
0
0
0
8
0
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
9
0
1
0
0
2
0
0
0
0
0
0
0
1
-13
41
21
0
0
0
-12
0
-10
1
0
0
0
0
0
0
0
2
-47
-13
4
-27
-59
43
9
2
-2
0
0
0
0
0
0
-25
-42
-25
5
1
-9
19
2
-34
-1
0
0
0
0
0
0
0
2
12
4
-10
-6
10
20
9
0
12
0
0
0
0
0
0
0
4
0
2
6
12
-13
-6
-18
2
0
0
0
0
0
0
0
0
0
0
13
-9
0
0
-4
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-7
0
0
0
0
-21
6
0
0
0
0
0
0
0
-18
25
-66
-2
-13
2
2
5
-3
-1
0
0
0
0
0
0
-3
-9
-20
13
1
1
5
-4
-7
10
0
-6
0
0
0
0
0
3
2
3
-3
24
49
2
-12
-2
3
0
0
0
0
0
0
0
0
0
-1
0
-24
1
3
-3
0
5
0
0
0
0
0
0
0
0
0
7
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-3
18
8
-5
0
0
0
0
0
0
0
0
0
0
0
10
5
12
-6
33
-14
9
0
0
0
0
0
0
0
0
0
0
14
54
71
-15
31
22
18
70
-20
0
0
0
0
0
0
0
0
0
-45
71
12
9
18
-40
1
-73
0
0
0
0
0
0
0
0
-33
-25
66
-76
-62
-20
32
1
24
0
0
0
0
0
0
0
0
0
17
72
17
30
6
-9
4
2
0
0
0
0
0
0
0
0
-1
14
-19
13
5
4
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
-28
-4
-51
-49
-24
22
1
0
15
0
0
0
0
0
0
0
16
54
-23
41
50
-13
-1
0
-22
0
0
0
0
0
0
0
0
-2
49
-26
-69
55
-113
2
-81
-4
-21
0
0
0
0
0
0
0
-20
31
-50
26
-26
7
22
90
88
-14
0
0
0
0
0
0
0
33
11
48
-34
43
62
5
-74
1
5
0
0
0
0
0
0
0
-7
129
-17
-18
-25
90
-27
44
20
41
0
0
0
0
0
0
0
-6
2
1
53
-63
43
41
17
41
12
0
0
0
0
0
0
0
0
1
12
-14
-66
-12
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
11
5
-66
66
-55
-28
0
3
34
0
0
0
0
0
0
-6
5
57
-48
-16
65
-29
0
18
0
2
0
0
0
0
0
0
-3
18
25
117
16
5
44
79
43
61
-62
0
0
0
0
0
0
17
52
42
-31
-6
10
-10
135
61
52
8
0
0
0
0
0
0
0
-83
6
-83
-61
20
-11
-10
9
-33
14
0
0
0
0
0
0
5
20
-17
-30
-26
15
-5
52
-9
-10
-9
0
0
0
0
0
0
-9
-10
70
-68
11
-91
16
-15
2
3
0
0
0
0
0
0
0
0
0
0
6
27
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
21
1
42
-76
0
0
0
12
0
0
0
0
0
0
1
-5
23
25
46
29
17
0
-2
0
28
4
0
0
0
0
0
0
31
-39
-70
-16
-92
-67
13
-40
-22
10
7
0
0
0
0
0
1
41
-15
-95
18
-10
-39
-5
31
100
-4
15
0
0
0
0
0
-5
-24
50
3
-26
-33
-105
-21
7
-44
-9
-3
0
0
0
0
0
-1
-2
22
29
84
-91
-15
75
40
51
2
0
0
0
0
0
0
0
0
-1
-28
-17
-1
21
8
-8
0
2
0
0
0
0
0
0
0
0
0
-2
5
1
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
48
2
20
0
-29
-20
0
-2
5
7
0
0
0
0
0
-32
12
-19
-27
1
-13
42
0
1
0
60
-2
0
0
0
0
0
15
2
11
9
-79
54
5
-3
18
87
-80
-4
0
0
0
0
0
-1
-1
-20
9
91
-26
13
-21
-50
59
-4
1
-6
0
0
0
0
-1
15
-24
-43
-6
44
-6
-58
-9
30
-1
-1
0
0
0
0
0
0
10
-4
-30
32
51
-5
-2
-1
10
-4
4
-2
0
0
0
0
0
0
-5
-15
-7
-45
-7
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
27
2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-51
5
19
0
5
0
1
2
0
0
0
0
0
0
0
7
-4
-20
41
86
5
0
-5
0
-19
2
0
0
0
0
0
1
-41
-49
7
2
60
-59
42
-2
20
61
-31
2
0
0
0
0
-5
8
3
-17
79
-42
-29
-34
76
2
-17
4
2
0
0
0
0
10
6
-32
-31
-25
-5
61
-41
6
-20
0
0
0
0
0
0
0
0
4
1
7
53
41
-7
-10
-10
5
7
3
2
0
0
0
0
0
0
8
10
3
0
-4
-24
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
41
-27
-8
-1
6
0
0
0
17
0
0
0
0
0
0
0
4
-13
-30
-16
45
22
0
-3
0
-45
4
0
0
0
0
0
1
7
21
9
-1
91
-44
9
24
22
16
-10
-4
0
0
0
0
-1
-5
42
-16
31
19
-33
-14
22
53
9
0
6
0
0
0
0
-5
9
-75
-43
51
40
37
30
-13
-23
-25
-8
0
0
0
0
0
-4
42
1
40
54
18
13
-20
-1
-23
-1
0
2
0
0
0
0
0
0
0
22
25
-13
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-5
-1
0
0
0
2
6
0
0
0
0
0
0
0
0
8
-3
0
0
4
0
-1
0
26
3
0
0
0
0
0
0
-5
1
18
20
0
7
7
-30
-23
-3
0
0
0
0
0
0
0
1
-44
-34
2
18
30
4
-9
12
3
0
0
0
0
0
0
0
17
48
31
31
-10
93
-6
3
-19
-2
2
0
0
0
0
0
0
-1
4
13
0
12
8
3
1
-2
0
0
0
0
0
0
0
0
0
2
0
-4
9
-3
3
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
1
-1
-1
3
0
0
0
0
0
0
0
1
-13
21
6
-27
1
-6
-4
7
0
0
0
0
0
0
0
0
0
14
-3
-5
-5
21
0
2
0
2
0
0
0
0
0
0
0
0
0
0
3
2
-5
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-1
0
5
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-15
82
27
-28
0
0
0
0
0
0
0
0
0
0
0
9
20
-50
52
-4
19
-9
0
14
0
0
0
0
0
0
0
0
8
-22
-18
-18
67
22
37
37
-105
0
0
0
0
0
0
0
0
-29
-37
30
45
-40
76
-20
41
37
0
0
0
0
0
0
0
0
0
17
-34
-76
-18
-76
56
-4
42
0
0
0
0
0
0
0
0
3
87
31
7
-77
21
-32
-7
1
0
0
0
0
0
0
0
0
-10
-2
17
31
8
6
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-3
-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
27
27
5
-94
-102
17
5
17
0
6
0
0
0
0
0
0
0
-4
-6
-23
-24
35
-4
-63
0
34
0
0
0
0
0
0
0
0
6
83
68
27
-21
22
-67
23
27
-104
0
0
0
0
0
0
0
-2
33
-67
-17
-1
-40
4
17
22
-47
0
0
0
0
0
0
0
-25
14
-1
-66
-52
71
9
45
114
68
0
0
0
0
0
0
0
0
45
20
7
-84
-63
22
27
10
33
0
0
0
0
0
0
0
0
5
39
-69
6
-2
84
-22
-1
-7
0
0
0
0
0
0
0
0
0
25
30
18
13
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-37
-13
0
23
-5
3
0
5
-69
0
0
0
0
0
0
-25
21
4
50
17
52
21
0
29
0
44
0
0
0
0
0
0
10
-2
104
31
-9
16
-57
99
50
-31
-96
0
0
0
0
0
0
13
-5
-36
19
53
-37
22
99
39
-14
22
0
0
0
0
0
0
0
67
26
-5
27
13
-31
13
23
27
-8
0
0
0
0
0
0
0
-44
-21
-3
116
-16
-2
-3
24
-27
1
0
0
0
0
0
0
0
-1
102
14
-25
46
-5
13
-3
0
0
0
0
0
0
0
0
0
0
1
-1
1
41
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
40
37
64
-5
32
8
0
0
-34
0
0
0
0
0
0
0
31
9
-21
23
56
82
0
-9
0
-10
-4
0
0
0
0
0
-4
4
-53
17
50
18
-22
43
13
49
25
-4
0
0
0
0
0
-6
-14
-8
22
15
-31
-29
2
0
5
12
-5
0
0
0
0
0
10
0
13
38
37
-88
9
-8
17
5
1
0
0
0
0
0
0
0
1
-75
31
42
-46
5
93
10
6
3
0
0
0
0
0
0
0
-2
-3
-41
9
5
-4
25
6
0
0
0
0
0
0
0
0
0
0
-37
0
5
-8
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
13
1
-34
42
-1
0
-2
2
0
0
0
0
0
0
4
-3
49
-5
-8
87
5
0
-1
0
-6
-13
1
0
0
0
0
0
8
26
-4
12
-44
-1
-3
3
-21
15
-56
0
0
0
0
0
-2
-3
25
-43
-4
-44
69
-13
-1
7
12
-1
0
0
0
0
0
-4
-1
0
65
-3
7
31
14
18
2
-10
-6
0
0
0
0
0
0
15
24
66
5
9
4
-7
-5
0
-8
0
0
0
0
0
0
0
1
7
0
54
-1
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-16
-44
-10
72
0
0
3
0
2
0
0
0
0
0
-3
9
-29
4
-4
6
-33
0
6
0
-43
3
-5
0
0
0
0
-8
-1
56
-3
6
5
23
22
17
-59
43
-2
-1
0
0
0
0
0
-14
-17
-6
-28
-21
85
-18
6
-16
10
1
-1
0
0
0
0
0
-37
21
-81
22
5
-19
-2
16
-1
0
0
0
0
0
0
0
0
-7
8
-12
15
19
-1
4
-15
0
-2
-1
0
0
0
0
0
0
0
-25
-4
-2
1
-5
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
-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
4
-18
30
-25
-10
37
0
0
-3
0
0
0
0
0
0
0
-4
-6
-18
47
61
0
-3
0
-10
0
4
-5
1
0
0
0
0
0
0
2
-27
17
50
-1
-17
-12
17
2
-2
0
0
0
0
0
0
13
-35
33
-1
-9
-9
8
6
-16
8
0
2
0
0
0
0
-6
5
-19
34
-16
-13
-41
-13
32
-4
-1
0
0
0
0
0
0
0
-1
35
2
25
-25
22
-24
0
1
-2
0
0
0
0
0
0
0
0
27
-22
10
-18
1
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
25
-1
13
0
0
-2
0
0
0
0
0
0
0
0
8
-9
-1
17
-25
0
0
-1
0
41
-4
0
0
0
0
0
-4
-23
15
1
-9
4
-13
0
-5
-5
-2
0
0
-4
0
0
0
0
2
-4
3
-17
2
-6
-25
3
5
-8
0
2
0
0
0
0
0
-17
-8
-110
-5
-25
-21
-2
-56
-6
5
0
0
0
0
0
0
0
0
-4
12
3
33
-12
0
-1
3
2
0
0
0
0
0
0
0
0
8
2
8
-25
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
7
0
0
-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
6
-13
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-23
-14
-7
31
7
0
0
0
5
0
0
0
0
0
0
0
6
31
-6
8
7
-1
-2
0
-2
0
-3
0
0
0
0
0
0
0
3
1
-3
-14
21
1
2
-12
2
0
0
0
0
0
0
0
-2
8
8
14
2
35
2
-31
13
0
-1
0
0
0
0
0
0
0
8
-9
9
15
-3
0
0
-1
5
0
0
0
0
0
0
0
0
0
-16
-5
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
3
5
-4
0
0
0
1
0
0
0
0
0
0
0
0
7
2
0
4
24
0
0
0
0
2
0
0
0
0
0
0
-5
3
5
32
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
25
2
7
29
4
0
-2
0
0
0
0
0
0
0
0
0
-3
10
-10
-25
8
5
0
-2
1
0
0
0
0
0
0
0
0
3
0
-9
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-29
34
4
34
-3
1
0
0
0
0
0
0
0
0
0
40
-12
-71
8
45
13
-2
0
-14
0
0
0
0
0
0
0
0
29
-13
-19
45
5
85
-22
21
18
0
0
0
0
0
0
0
0
-1
49
11
0
-51
18
-5
-15
39
0
0
0
0
0
0
0
0
8
27
56
39
-45
41
-69
2
1
0
0
0
0
0
0
0
0
-3
-24
5
-5
43
-96
-5
1
1
0
0
0
0
0
0
0
0
0
35
-46
-16
-19
-14
0
0
5
0
0
0
0
0
0
0
0
0
-13
1
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
10
-79
-18
-14
-18
-49
-2
0
0
0
0
0
0
0
0
0
51
5
47
-21
37
-13
-36
0
-15
0
0
0
0
0
0
0
0
30
52
-13
-46
-43
56
-34
-20
66
6
0
0
0
0
0
0
0
43
12
76
13
24
-49
-92
-138
2
33
0
0
0
0
0
0
0
0
-20
29
-34
-102
48
-22
24
-16
13
0
0
0
0
0
0
0
4
9
-9
21
-82
41
-1
4
-46
-33
0
0
0
0
0
0
0
0
5
-42
-25
1
-10
46
5
-7
-6
0
0
0
0
0
0
0
0
0
-3
51
-9
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
5
-66
-19
62
-49
64
-13
0
20
-3
0
0
0
0
0
0
0
51
-2
-34
50
-61
38
0
9
0
-11
0
0
0
0
0
0
33
21
-24
8
37
78
-13
45
-76
-45
-41
0
0
0
0
0
0
3
-57
41
-17
52
-38
6
4
8
59
-3
0
0
0
0
0
0
10
2
31
37
58
46
44
-31
6
84
-4
0
0
0
0
0
0
0
76
36
61
-45
-35
-15
13
31
47
0
0
0
0
0
0
0
0
-13
-9
-42
2
-40
-16
-59
-5
3
0
0
0
0
0
0
0
-1
0
13
-43
0
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-28
23
55
116
-33
1
0
-10
3
0
0
0
0
0
0
8
-23
87
-23
25
-90
-4
0
-9
0
-17
-5
0
0
0
0
0
3
21
25
-22
33
30
-32
-73
-77
18
-13
6
0
0
0
0
0
1
-9
20
0
94
13
-4
35
-15
-28
-17
1
0
0
0
0
0
0
12
-22
-64
16
-7
-31
-4
22
22
24
-2
0
0
0
0
0
0
-16
-35
29
-34
50
33
34
-5
15
-5
0
0
0
0
0
0
0
12
25
-18
-31
-21
-3
5
0
0
0
0
0
0
0
0
0
0
0
5
17
9
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
70
-44
-60
-4
0
0
5
4
7
0
0
0
0
0
3
27
-9
-7
4
-31
76
0
-9
0
-52
2
1
0
0
0
0
0
-47
-38
-7
-57
9
20
72
34
18
-95
19
0
0
0
0
0
0
18
13
45
0
34
-16
3
9
43
-6
-1
0
0
0
0
0
0
27
15
0
-52
3
-55
33
30
-4
-33
0
0
0
0
0
0
0
-12
1
0
-19
-23
-49
12
-13
8
0
0
0
0
0
0
0
0
0
22
-44
-35
33
25
0
3
0
0
0
0
0
0
0
0
0
0
12
6
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
5
0
1
56
-5
22
-6
0
0
-1
0
0
0
0
0
0
0
5
-10
-7
17
8
-34
0
3
0
12
-13
6
0
0
0
0
0
-2
-7
5
-3
12
-8
52
-47
25
7
8
0
0
0
0
0
0
49
-32
13
0
0
-14
1
-1
8
-8
0
0
0
0
0
0
0
3
32
18
-3
21
0
7
0
-6
0
0
0
0
0
0
0
0
8
17
-20
8
16
-15
8
0
-1
0
0
0
0
0
0
0
0
0
0
39
3
2
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-89
33
1
2
-9
0
0
-2
-1
0
0
0
0
0
0
0
25
3
-7
5
-43
47
0
0
0
5
1
0
0
0
0
0
0
4
8
-48
34
-6
14
7
-14
-10
-12
0
0
0
0
0
0
-1
0
17
1
10
44
0
8
1
6
-3
1
0
0
0
0
0
0
3
-42
6
-73
2
8
-1
2
-6
0
0
0
0
0
0
0
0
2
-17
-21
-1
66
-3
0
-34
1
-2
0
0
0
0
0
0
0
0
-16
2
15
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
1
-46
2
0
0
0
0
0
0
0
0
0
0
0
-6
-43
20
10
-31
-6
-4
0
0
0
-1
2
0
0
0
0
0
0
17
-37
9
20
-29
6
5
-3
16
1
0
0
0
0
0
0
0
-2
-15
-9
-19
10
1
0
8
-8
0
0
3
0
0
0
0
0
0
4
-22
9
41
0
-3
0
27
0
0
0
0
0
0
0
0
0
3
-8
-86
2
7
1
0
-3
0
0
0
0
0
0
0
0
-7
6
48
3
-1
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
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
20
2
-34
-5
24
0
0
0
0
0
0
0
0
0
0
0
4
-5
-10
31
5
-3
0
0
0
-1
0
0
0
0
0
0
0
0
-10
-32
-3
5
-1
0
-2
0
0
0
0
0
0
0
0
0
0
5
9
8
7
2
-4
0
0
0
0
0
0
0
0
0
0
0
8
30
0
-8
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
4
31
2
3
0
2
0
0
0
0
0
0
0
0
0
-1
-1
-9
1
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-1
1
0
-4
1
0
0
0
0
0
0
0
0
0
0
8
-4
2
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
-8
0
-6
2
12
12
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
-6
3
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-56
63
13
38
-25
2
0
0
0
0
0
0
0
0
0
0
20
6
22
13
11
8
-13
0
-15
0
0
0
0
0
0
0
0
27
7
-5
14
41
-49
15
8
43
0
0
0
0
0
0
0
0
30
19
40
20
-40
23
-43
-7
-1
0
0
0
0
0
0
0
0
0
-13
-12
58
-54
14
-6
0
3
0
0
0
0
0
0
0
0
-1
0
50
-25
14
-31
-13
-4
-30
0
0
0
0
0
0
0
0
-2
-4
-5
41
3
1
-1
0
1
0
0
0
0
0
0
0
0
0
22
-2
37
-8
-5
-4
0
0
0
0
0
0
0
0
0
0
0
9
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
68
6
28
107
20
5
0
0
1
0
0
0
0
0
0
0
3
-11
-16
16
-38
74
5
0
-59
0
0
0
0
0
0
0
0
-91
-39
45
-7
17
-25
-32
-26
-46
22
0
0
0
0
0
0
0
0
-6
59
28
-84
-107
-34
10
-41
-14
0
0
0
0
0
0
0
0
0
-53
-40
-11
20
-37
-4
8
40
0
0
0
0
0
0
0
0
68
31
-30
21
73
11
8
24
31
0
0
0
0
0
0
0
0
-1
72
-24
4
77
-84
-25
25
14
0
0
0
0
0
0
0
0
-5
2
49
-34
-24
0
3
1
0
0
0
0
0
0
0
0
0
-2
6
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-10
-82
-59
101
0
-13
-2
-6
0
6
-1
0
0
0
0
0
0
4
-21
-17
-5
-27
40
-40
0
32
0
67
0
0
0
0
0
0
0
7
-55
-7
6
43
-28
-72
-30
-5
-9
0
0
0
0
0
0
-47
8
32
33
-14
-5
31
76
-14
-27
-1
0
0
0
0
0
0
1
50
0
66
23
49
-29
-1
0
-43
0
0
0
0
0
0
0
0
0
50
6
-10
-50
-26
24
22
7
2
0
0
0
0
0
0
0
-24
-49
-45
30
-42
-13
42
-2
15
0
0
0
0
0
0
0
0
-2
10
6
41
21
8
12
7
0
0
0
0
0
0
0
0
1
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
31
54
-42
5
32
37
2
0
2
10
0
0
0
0
0
0
0
71
102
44
-20
5
10
0
-19
0
61
5
0
0
0
0
0
0
-14
-37
6
19
12
-74
63
-10
65
-51
-12
0
0
0
0
0
0
55
6
26
17
48
31
-18
-3
81
-18
-6
0
0
0
0
0
-2
-2
-32
0
-60
-31
-48
33
58
-4
0
0
0
0
0
0
0
0
-6
0
-21
-1
-45
3
79
-43
8
-3
0
0
0
0
0
0
0
0
31
-8
-7
-66
89
5
-14
14
0
0
0
0
0
0
0
0
0
7
-9
-76
-24
-3
-5
-4
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
13
2
48
19
-3
-22
0
0
-3
0
0
0
0
0
0
-5
2
-1
-16
41
-87
-23
0
-8
0
22
-3
0
0
0
0
0
0
1
24
149
-6
-5
-18
-73
-18
-32
27
-3
0
0
0
0
0
0
37
13
0
19
2
154
-5
24
16
-14
0
0
0
0
0
0
0
-7
49
-25
0
-4
20
24
25
42
0
0
0
0
0
0
0
0
-8
9
1
41
-3
1
10
1
3
0
0
0
0
0
0
0
0
-22
-1
28
-66
-4
8
0
24
3
0
0
0
0
0
0
0
0
-3
0
-4
-43
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-28
13
10
-13
-1
0
0
0
0
0
0
0
0
0
0
7
-24
31
30
-39
0
0
-3
0
18
-4
-3
0
0
0
0
0
6
13
-24
49
-18
-9
-15
3
-35
0
1
0
0
0
0
0
0
43
9
1
-2
5
4
-15
17
-6
2
3
0
0
0
0
0
0
23
14
-19
84
0
-19
-20
16
0
0
0
0
0
0
0
0
0
-1
-13
31
0
35
1
1
-7
5
0
0
0
0
0
0
0
0
0
24
-2
8
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-48
-13
-24
-8
19
3
0
0
1
0
0
0
0
0
0
0
3
-4
19
-7
-68
4
0
-1
0
3
0
0
0
0
0
0
-8
9
14
-1
-23
31
-5
5
46
8
-4
2
-1
0
0
0
0
0
-6
-9
3
-19
0
25
0
-30
-30
-6
0
0
0
0
0
0
0
-1
-5
-3
-10
-25
0
5
6
-1
0
0
0
0
0
0
0
0
0
-4
39
-31
0
17
-2
25
-2
0
0
0
0
0
0
0
0
0
-1
49
0
15
3
-2
1
0
0
0
0
0
0
0
0
0
0
4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
5
19
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
24
27
4
-13
8
0
0
0
0
0
0
0
0
0
0
0
2
37
13
24
-45
17
1
3
29
0
2
0
0
0
0
0
0
10
17
-1
6
22
2
-1
0
-4
-1
0
0
0
0
0
0
0
0
0
19
-2
-24
-4
0
-12
24
0
0
0
0
0
0
0
0
4
-16
17
-30
33
0
-2
0
-2
0
0
0
0
0
0
0
0
0
-39
-8
-1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-14
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-3
-3
4
10
0
0
0
0
0
0
0
0
0
0
0
-14
24
16
21
18
2
0
0
0
0
0
0
0
0
0
0
0
5
6
-1
-1
-8
0
-5
-5
-5
0
0
0
0
0
0
0
0
0
-5
-4
-1
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
10
7
8
-7
-2
-4
0
0
0
0
0
0
0
0
0
0
0
8
0
1
5
-8
4
0
0
1
0
0
0
0
0
0
0
0
-2
5
31
7
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
9
-20
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
6
13
-35
-6
-13
-4
0
-4
0
0
0
0
0
0
0
0
0
0
8
-4
3
29
2
8
0
-2
0
0
0
0
0
0
0
0
0
1
-4
2
-1
0
9
4
0
0
0
0
0
0
0
0
0
0
2
29
4
-14
9
-4
0
0
0
0
0
0
0
0
0
0
5
-6
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
20
-12
38
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-53
69
-12
-22
2
0
30
0
0
0
0
0
0
0
0
-1
-18
-37
-45
51
45
15
-31
-77
0
0
0
0
0
0
0
0
-28
-2
70
-6
123
-20
10
-34
-40
0
0
0
0
0
0
0
0
-19
0
50
5
-10
-12
19
10
-68
0
0
0
0
0
0
0
0
0
-3
31
-11
27
49
12
-24
5
0
0
0
0
0
0
0
0
1
0
-31
-54
24
0
1
25
-6
0
0
0
0
0
0
0
0
0
31
-1
21
-2
10
-4
0
0
0
0
0
0
0
0
0
0
0
-12
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
17
13
-7
-4
-3
0
0
-28
0
0
0
0
0
0
0
-3
98
31
-32
-40
66
7
0
66
0
0
0
0
0
0
0
0
8
-5
-44
-100
-49
-142
-42
50
-6
-78
0
0
0
0
0
0
0
4
46
48
1
-40
28
-14
-72
31
33
0
0
0
0
0
0
0
0
49
8
-68
-22
-35
-5
14
46
67
0
0
0
0
0
0
0
0
0
7
-42
-21
58
7
17
6
42
0
0
0
0
0
0
0
0
-3
0
13
16
48
4
-1
3
8
0
0
0
0
0
0
0
-4
-8
29
-32
-17
19
-12
18
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
64
41
94
40
-43
-1
0
-4
-9
0
0
0
0
0
0
-2
38
-31
25
-32
83
20
0
-8
0
22
0
0
0
0
0
0
-31
3
43
29
-5
-42
-16
-50
104
-24
4
0
0
0
0
0
0
-2
-5
-8
-12
-10
-52
-76
6
-22
13
25
0
0
0
0
0
0
-12
3
-8
2
16
32
171
-18
31
-17
7
0
0
0
0
0
0
0
2
0
3
-21
-50
52
49
-23
18
-2
0
0
0
0
0
0
4
0
10
-24
26
58
45
8
-2
-5
0
0
0
0
0
0
0
0
3
-16
-23
20
16
-4
5
4
0
0
0
0
0
0
0
0
0
-7
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
39
24
72
11
-49
75
15
0
8
-5
-4
0
0
0
0
0
1
1
-62
6
-59
72
-43
0
-33
0
-41
0
0
0
0
0
0
-8
-24
31
19
-9
-23
-13
31
33
7
-6
1
0
0
0
0
0
6
-7
67
-29
34
-48
36
-19
25
-16
3
0
0
0
0
0
0
-3
-39
-2
31
22
31
-6
85
-15
13
-9
0
0
0
0
0
0
1
12
-35
0
-17
34
68
25
41
-7
2
0
0
0
0
0
0
0
-2
1
-18
2
5
-27
14
0
1
0
0
0
0
0
0
0
0
0
29
5
14
-6
-1
-8
0
0
0
0
0
0
0
0
0
0
7
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
17
95
-2
-6
18
0
-9
0
0
0
0
0
0
0
0
0
0
14
64
26
35
-2
-24
0
1
0
5
-1
0
0
0
0
0
0
-1
-74
61
92
57
-27
4
31
-27
3
-37
0
0
0
0
0
1
-35
4
29
0
50
-13
51
-10
22
15
1
0
0
0
0
0
0
1
24
-1
6
1
20
-5
-12
-72
-4
0
0
0
0
0
0
0
-2
-15
-18
0
83
-5
12
5
-5
0
0
0
0
0
0
0
0
0
-25
0
-13
4
34
-17
-7
1
0
0
0
0
0
0
0
0
-1
0
-8
-17
5
0
16
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
-6
5
5
3
0
0
0
-3
0
0
0
0
0
0
0
19
-56
5
-3
-41
33
0
2
0
1
5
0
0
0
0
0
0
4
13
-17
-18
-25
5
-9
-2
20
12
1
0
0
0
0
0
0
8
5
12
34
58
-14
22
39
-2
10
-1
0
0
0
0
0
0
-13
-9
4
5
27
0
-19
5
4
0
0
0
0
0
0
0
0
-6
0
-2
24
0
9
0
7
0
0
0
0
0
0
0
0
0
0
6
0
0
2
3
0
-1
2
0
0
0
0
0
0
0
0
0
-3
0
3
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
-19
0
-10
0
0
0
0
0
0
0
0
0
0
0
-18
43
6
5
-6
-1
0
0
0
10
0
0
0
0
0
0
-3
3
24
16
-9
13
2
1
6
29
0
0
0
0
0
0
0
-1
-12
6
-20
24
47
23
10
3
0
0
-7
0
0
0
0
0
0
-19
9
-12
9
0
5
0
8
0
4
0
0
0
0
0
0
0
-4
1
10
1
-10
0
-10
0
-1
0
0
0
0
0
0
0
0
0
-3
24
-19
0
4
0
-5
10
0
0
0
0
0
0
0
0
0
-9
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
14
-24
0
5
0
0
0
0
0
0
0
0
0
0
0
8
46
-5
6
42
2
0
0
0
-3
0
0
0
0
0
0
0
-12
-12
22
-8
6
2
0
3
2
1
0
0
0
0
0
0
0
-9
2
-8
37
-17
28
-4
5
-2
-1
0
0
0
0
0
0
0
0
-6
23
20
22
-3
-1
0
0
0
0
0
0
0
0
0
0
29
-3
1
-2
1
0
0
4
0
0
0
0
0
0
0
0
0
1
2
-10
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-5
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
8
5
0
0
0
0
1
0
0
0
0
0
0
0
-6
-16
2
0
0
25
0
0
0
0
0
0
0
0
0
0
0
-8
25
-17
-8
30
3
9
-4
0
0
0
0
0
0
0
0
0
6
3
-37
-69
50
-1
-10
0
3
0
0
0
0
0
0
0
0
8
-4
-7
-7
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
-4
0
0
0
0
0
5
0
0
0
0
0
0
0
1
1
15
7
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
-2
-2
0
0
1
14
0
0
0
0
0
0
0
0
0
0
8
0
14
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
7
5
-8
42
0
0
0
0
0
0
0
0
0
0
0
18
15
34
26
6
-9
7
0
-25
0
0
0
0
0
0
0
0
-14
47
-57
-36
13
33
13
0
-31
0
0
0
0
0
0
0
0
-1
-59
8
21
-35
-4
-20
4
41
0
0
0
0
0
0
0
0
25
0
22
14
-28
-5
6
7
-13
0
0
0
0
0
0
0
0
1
8
-8
25
-66
46
-18
-14
-12
0
0
0
0
0
0
0
0
0
9
45
-5
8
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-3
4
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
84
28
30
-22
-18
74
0
0
0
0
0
0
0
0
0
0
0
-13
-89
-16
-47
37
-64
0
22
0
0
0
0
0
0
0
0
43
-9
48
-76
-51
87
30
27
89
45
0
0
0
0
0
0
0
-13
8
1
-62
18
-8
-114
26
-6
94
0
0
0
0
0
0
0
17
16
-13
-57
-12
18
-67
-49
-7
-53
0
0
0
0
0
0
0
0
27
9
-65
-9
-7
77
-27
9
-61
0
0
0
0
0
0
0
1
0
-41
42
34
2
65
34
0
2
0
0
0
0
0
0
0
0
42
2
-6
-1
2
1
-3
-3
-1
0
0
0
0
0
0
0
0
-14
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-34
47
53
-84
14
-7
-2
0
0
4
0
0
0
0
0
0
-8
41
49
41
71
44
18
0
-4
0
21
0
0
0
0
0
0
-4
-39
34
58
8
71
-58
13
-76
-45
-29
0
0
0
0
0
0
0
42
12
-36
19
-47
36
-15
-31
22
1
0
0
0
0
0
0
0
2
23
-15
-50
55
-13
67
-14
37
-29
0
0
0
0
0
0
0
1
42
15
90
-42
45
16
18
-12
-7
0
0
0
0
0
0
-2
8
0
12
9
-1
-2
-8
22
30
0
0
0
0
0
0
0
7
0
15
1
58
-35
-10
-8
-2
0
0
0
0
0
0
0
0
0
42
-10
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-24
-7
-3
-31
-4
0
-2
-19
0
0
0
0
0
0
0
25
9
-10
56
-21
-47
0
0
0
-48
3
0
0
0
0
0
0
-15
-26
28
2
-46
25
8
10
-3
-67
1
0
0
0
0
0
0
58
-5
-13
73
5
32
-30
43
-10
-13
-2
0
0
0
0
0
0
-2
18
102
-93
35
-90
37
-14
62
17
0
0
0
0
0
0
0
45
2
-28
0
49
10
-46
6
-37
-8
0
0
0
0
0
0
0
-2
-79
0
15
13
4
13
3
-20
0
0
0
0
0
0
0
0
-8
0
23
0
-28
19
-4
2
-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
-25
16
-12
-5
-3
0
0
0
4
0
0
0
0
0
0
0
-31
70
20
34
32
-43
0
13
0
1
-2
0
0
0
0
0
0
0
-41
-32
3
30
-16
0
-1
-23
13
-1
0
0
0
0
0
0
0
-2
-2
41
-47
-31
13
-8
3
0
4
0
0
0
0
0
0
-3
-5
34
6
-7
-29
-5
0
8
-1
0
0
0
0
0
0
0
19
-2
1
-7
9
12
2
8
-1
2
0
0
0
0
0
0
0
0
0
-5
0
-3
9
0
-2
0
7
0
0
0
0
0
0
0
0
4
0
6
0
-2
0
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
56
2
2
0
3
0
0
0
0
0
0
0
0
0
0
0
-17
-4
-16
30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-9
-31
25
-51
5
-24
31
3
0
0
0
0
0
0
0
23
3
10
-22
22
-30
-3
0
2
0
0
0
0
0
0
0
0
-1
-10
3
-1
-13
-2
3
-1
-1
10
0
0
0
0
0
0
0
-24
0
-25
2
31
0
4
6
-4
-1
0
0
0
0
0
0
0
0
1
0
-12
0
0
0
10
0
0
0
0
0
0
0
0
0
0
3
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
16
-3
4
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-81
-8
22
2
0
1
0
18
0
0
0
0
0
0
0
0
-1
0
0
-31
41
9
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
8
-2
3
0
0
3
0
0
0
0
0
0
2
-12
0
6
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
30
12
-8
0
0
0
2
0
0
0
0
0
0
0
0
23
-2
-17
-16
6
0
8
17
0
0
0
0
0
0
0
0
9
-8
-1
-1
27
-4
0
-15
0
0
0
0
0
0
0
0
0
2
-7
-25
-51
1
-8
1
0
-4
-1
0
0
0
0
0
0
0
0
7
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-5
1
9
0
0
0
0
0
0
0
0
0
0
0
-2
2
22
-5
0
0
0
0
74
0
0
0
0
0
0
0
0
-12
-3
-3
-8
22
-7
7
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-2
1
12
9
0
-9
0
0
0
0
0
0
0
0
0
-4
1
6
-24
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-4
-31
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
6
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-33
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-7
8
30
-5
2
0
0
0
0
0
0
0
0
0
0
22
25
36
-12
43
-2
-5
-2
-13
0
0
0
0
0
0
0
0
16
-75
17
-31
-25
24
-86
-1
-45
0
0
0
0
0
0
0
0
59
-37
-98
10
-30
-80
-33
10
83
0
0
0
0
0
0
0
0
4
33
3
-59
-7
55
58
-3
32
0
0
0
0
0
0
0
0
1
0
-55
3
84
-5
9
-19
54
0
0
0
0
0
0
0
0
0
-56
-13
3
0
4
5
8
-22
0
0
0
0
0
0
0
0
0
0
-9
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-53
-7
-20
5
-48
-1
0
0
0
0
0
0
0
0
0
0
-34
28
-76
-48
13
-10
0
-2
0
0
0
0
0
0
0
0
-14
-22
-124
-46
-4
-24
-89
-9
-19
-60
0
0
0
0
0
0
0
-2
-40
-51
-31
-56
16
-48
-1
-19
-79
0
0
0
0
0
0
0
-12
48
-20
2
-14
-16
-4
-1
97
71
0
0
0
0
0
0
0
0
-5
-59
60
6
-22
40
-47
10
38
0
0
0
0
0
0
0
0
-1
-3
10
22
11
32
60
-23
1
0
0
0
0
0
0
0
0
0
-16
-29
41
-5
-1
-8
0
2
0
0
0
0
0
0
0
0
-4
0
-9
-4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-3
17
17
7
7
0
0
0
0
0
0
0
0
0
0
0
48
-5
-5
26
-8
1
0
0
0
-16
0
0
0
0
0
0
25
-6
33
-26
39
43
-31
10
-44
5
16
0
0
0
0
0
0
1
23
6
-24
-75
37
49
-42
4
-68
19
0
0
0
0
0
0
-8
-9
31
68
42
-28
-5
-21
2
-8
24
0
0
0
0
0
0
0
-35
16
-53
14
17
-48
-31
-29
111
27
0
0
0
0
0
0
0
0
-42
0
29
34
-23
32
23
13
-4
0
0
0
0
0
0
0
27
0
8
-12
-10
2
0
0
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-21
-1
5
20
0
0
8
0
0
0
0
0
0
0
-5
-9
-19
14
42
41
0
0
0
-2
0
0
0
0
0
0
0
17
44
-14
29
23
-6
-10
-8
42
9
0
0
0
0
0
0
0
-45
-2
-26
0
-24
16
-2
58
52
-5
-4
0
0
0
0
0
0
-2
-7
8
-42
-35
-5
15
-23
4
-4
0
0
0
0
0
0
0
-3
-29
8
73
-31
-3
-24
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-7
-35
-10
1
-3
0
0
0
0
0
0
0
0
0
-2
0
5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
2
1
0
0
0
0
-1
0
0
0
0
0
0
0
-9
4
-1
-31
1
13
0
0
0
0
0
0
0
0
0
0
-3
0
2
1
27
8
-15
0
0
0
-4
1
0
0
0
0
0
0
25
1
-16
16
-1
-19
-17
-3
-1
0
0
0
0
0
0
0
0
0
-5
44
25
15
-22
0
-6
12
0
0
0
0
0
0
0
0
-7
0
-7
8
-22
1
-7
0
0
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-17
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
8
-3
7
-3
0
0
2
0
0
0
0
0
0
0
0
0
5
-37
-35
-1
-1
0
-4
-5
0
0
0
0
0
0
0
0
0
0
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
-9
0
-6
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
14
49
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-5
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
1
-3
-25
8
0
0
0
0
0
0
0
0
0
0
0
0
23
8
7
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
103
-1
2
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-17
-49
-4
0
-17
-21
0
0
-5
0
0
0
0
0
0
0
0
1
-10
6
-10
2
-43
2
0
-5
0
0
0
0
0
0
0
0
2
16
-16
-6
-21
-23
-24
-1
22
0
0
0
0
0
0
0
0
3
-58
9
-39
33
54
25
2
-35
0
0
0
0
0
0
0
0
0
-51
25
-23
26
-5
-5
8
-2
0
0
0
0
0
0
0
0
0
0
-45
-15
-5
57
4
16
0
0
0
0
0
0
0
0
0
0
3
-7
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-27
-16
42
-2
5
0
0
0
0
0
0
0
0
0
0
25
1
-22
32
3
-7
-1
0
-3
-80
0
0
0
0
0
0
0
0
59
-30
5
-69
2
-3
-1
19
-6
0
0
0
0
0
0
0
4
6
-26
6
-60
-3
-39
30
-8
0
0
0
0
0
0
0
0
0
-12
39
-31
4
52
-6
19
5
6
0
0
0
0
0
0
0
1
0
-6
3
3
25
9
5
8
0
0
0
0
0
0
0
0
0
0
0
-43
15
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
1
17
34
-12
0
-2
0
0
12
0
0
0
0
0
0
0
0
-23
2
-5
-7
-8
16
-3
-3
-6
0
0
0
0
0
0
0
7
-5
-24
-2
44
20
-14
2
2
0
-5
0
0
0
0
0
0
0
-1
6
5
-14
-6
-15
-15
-5
-8
-6
0
0
0
0
0
0
0
0
5
6
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
7
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
1
0
0
0
2
0
0
0
0
0
0
0
0
-2
-16
2
0
0
0
-4
-9
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
-2
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
-6
-20
0
0
0
2
-1
0
-2
0
0
0
0
0
0
0
0
18
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
2
-15
-10
0
0
0
0
0
0
0
0
0
6
-8
8
-9
-3
16
-31
-38
-21
0
0
0
0
0
0
0
0
1
0
0
-10
0
16
-22
28
24
0
0
0
0
0
0
0
0
-7
-3
1
-4
-4
9
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-13
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-13
4
-5
20
0
-37
0
0
0
0
0
0
0
-19
12
8
34
-33
96
47
92
47
41
0
0
0
0
0
0
0
-2
17
-5
30
24
7
97
58
74
24
0
0
0
0
0
0
0
4
-2
0
72
-53
36
9
83
-17
19
0
0
0
0
0
0
0
0
-37
-2
6
-31
-47
-42
-33
37
-2
0
0
0
0
0
0
0
0
-20
1
0
3
-120
-1
45
24
-8
0
0
0
0
0
0
0
0
1
-2
0
12
-4
-5
-8
10
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
8
-21
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
-21
0
-3
-6
-30
-25
14
0
20
-1
0
0
0
0
0
0
-2
2
24
-76
1
-22
33
18
18
-9
2
0
0
0
0
0
0
1
2
-6
0
-2
69
80
-43
-75
60
5
0
0
0
0
0
0
-2
-3
0
9
-41
-3
1
5
22
8
-6
0
0
0
0
0
0
2
0
-5
13
5
-17
-15
3
-1
-24
-5
0
0
0
0
0
0
0
6
13
0
-3
1
8
-13
29
7
0
0
0
0
0
0
0
0
0
1
0
20
24
-1
49
5
17
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
6
-8
0
-5
-2
44
-9
0
-41
0
0
0
0
0
0
0
0
6
5
2
13
-36
4
-79
-20
8
6
-6
0
0
0
0
0
0
-4
0
-3
-27
28
5
16
18
-3
7
0
0
0
0
0
0
0
2
-5
10
0
-53
20
47
-17
-20
2
0
0
0
0
0
0
0
0
0
30
0
0
4
-28
20
1
0
0
0
0
0
0
0
0
0
3
0
-7
6
64
-43
-1
-3
-7
0
0
0
0
0
0
0
0
0
-3
-1
5
-32
1
2
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-2
8
-8
0
29
0
0
0
0
0
0
0
2
6
-8
0
-7
-24
65
-41
-30
5
10
0
0
0
0
0
0
0
7
13
3
8
11
7
73
-4
-1
0
0
0
0
0
0
0
0
-8
0
1
0
3
-19
13
-3
0
0
0
0
0
0
0
0
0
-1
-5
4
0
1
-25
-9
-8
-3
0
0
0
0
0
0
0
0
0
-3
0
12
2
7
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
19
21
0
10
-2
0
0
0
0
0
0
-2
15
14
2
8
17
26
-3
-55
-9
-3
0
0
0
0
0
0
-1
-1
-14
9
9
-23
-24
-8
48
2
0
0
0
0
0
0
0
0
0
0
8
0
-22
-6
18
3
-16
-4
0
0
0
0
0
0
0
-1
0
0
-5
-8
1
-2
-8
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-15
3
15
0
2
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
8
-2
0
16
0
7
1
0
0
0
0
0
0
-5
0
0
6
43
0
-2
94
-31
0
4
-2
0
0
0
0
0
0
3
0
0
-23
-15
-25
43
-6
4
0
-1
0
0
0
0
0
0
0
2
3
0
-3
2
-41
13
-1
0
4
0
0
0
0
0
0
0
0
16
-2
5
14
3
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
-4
0
0
0
0
0
0
0
0
0
1
5
-4
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
5
6
0
0
0
0
12
0
0
0
0
0
0
-2
-4
-1
-3
-2
-5
1
-5
-8
0
-9
0
0
0
0
0
0
0
0
-2
1
2
14
17
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
25
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
5
-2
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-5
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
-34
-4
-41
-56
54
16
0
0
0
0
0
0
0
0
0
97
-1
70
-7
-37
24
3
-57
20
0
0
0
0
0
0
0
0
42
10
-12
25
11
28
27
56
-6
0
0
0
0
0
0
0
0
-10
1
0
8
8
13
-24
4
10
0
0
0
0
0
0
0
0
30
0
0
8
67
-13
37
-5
19
0
0
0
0
0
0
0
0
0
0
0
2
13
15
10
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
-15
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-3
-16
-2
61
31
-17
0
-41
0
0
0
0
0
0
0
-29
42
-59
-3
-13
-27
64
10
-64
-94
0
0
0
0
0
0
0
4
-41
-3
91
52
5
-5
-53
-91
-1
0
0
0
0
0
0
0
4
-19
-23
-21
40
-77
-38
92
-22
-27
0
0
0
0
0
0
0
0
21
2
15
-89
-31
92
43
29
20
0
0
0
0
0
0
0
0
-81
6
0
53
24
-27
8
-12
31
0
0
0
0
0
0
0
0
-2
2
4
-41
-4
-40
-41
-27
2
0
0
0
0
0
0
0
0
-8
0
8
1
13
18
-23
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
22
31
-8
47
-60
3
22
13
0
-16
-20
0
0
0
0
0
0
3
26
8
59
137
32
-44
-9
15
-48
35
0
0
0
0
0
0
-9
14
2
-48
41
55
-1
19
38
-27
-4
0
0
0
0
0
0
-8
-46
-22
-24
34
-75
63
-25
20
-54
27
0
0
0
0
0
0
-3
32
27
-4
15
3
28
72
0
-31
-13
0
0
0
0
0
0
0
4
13
0
-5
-20
-6
-24
-14
17
6
0
0
0
0
0
0
0
0
25
3
15
-17
59
0
-13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-6
37
-13
-18
-49
0
32
19
-3
0
0
0
0
0
0
5
1
15
-31
77
53
47
-12
-17
-19
-1
0
0
0
0
0
8
-2
0
45
113
13
-64
12
-8
-11
-43
2
0
0
0
0
0
4
13
-15
16
-41
1
16
-38
-25
4
0
0
0
0
0
0
0
0
-34
-7
8
-8
-18
-68
-13
-31
35
-3
1
0
0
0
0
0
0
2
16
0
0
41
5
-24
19
1
1
0
0
0
0
0
0
0
0
0
8
10
-2
17
1
-6
-8
0
0
0
0
0
0
0
0
0
0
1
0
-2
-31
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-12
-10
7
15
0
17
22
0
-63
1
1
0
0
0
0
0
8
-13
23
1
2
36
-29
2
0
52
4
15
0
0
0
0
0
1
-18
-9
-2
17
-33
-5
-8
-20
25
-2
-1
0
0
0
0
0
0
-15
3
19
-14
44
-7
-61
21
32
2
0
0
0
0
0
0
0
0
7
0
1
1
-46
19
32
-5
13
5
0
0
0
0
0
0
-2
-5
4
-1
-3
-8
13
24
0
1
0
0
0
0
0
0
0
0
0
0
-1
59
-10
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
-6
2
15
2
1
10
0
24
2
0
0
0
0
0
0
0
-5
5
2
32
3
-10
15
43
50
-18
3
1
0
0
0
0
-5
45
8
25
-25
44
-34
39
-20
-42
-2
0
0
0
0
0
0
1
1
0
-3
2
-32
42
8
-5
22
13
1
0
0
0
0
0
0
0
1
-3
0
-9
13
9
15
1
0
-2
3
0
0
0
0
0
0
4
3
0
0
43
-10
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
4
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-4
-4
-21
47
10
48
2
0
29
2
0
0
0
0
0
0
-1
4
-6
-23
61
4
-1
49
-13
8
-5
-5
1
0
0
0
0
0
8
5
-8
-25
31
43
8
27
-5
16
1
0
0
0
0
0
-1
4
-3
-4
-8
-27
-20
27
-19
-4
-17
1
0
0
0
0
0
-5
5
-6
-3
0
9
18
-7
-7
6
-3
2
0
0
0
0
0
0
-4
2
0
0
0
-3
31
49
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
8
-5
-6
7
-3
7
0
0
0
0
0
0
0
-1
0
0
0
-8
-7
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
30
16
0
-4
1
0
0
0
0
0
0
-2
2
8
-8
-13
-33
-6
1
11
6
-40
0
-1
0
0
0
0
-4
1
7
1
-5
2
-19
1
7
7
-4
-3
1
0
0
0
0
0
-3
5
5
-5
17
-7
0
-8
5
0
0
0
0
0
0
0
0
0
1
7
-1
5
16
-1
-32
-2
0
0
0
0
0
0
0
0
0
19
0
-4
-6
4
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
8
1
2
4
0
-1
0
0
0
0
0
0
0
0
2
0
0
17
-9
5
1
5
-1
5
0
0
0
0
0
0
0
14
0
-4
5
-4
59
-16
-1
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
3
-3
24
4
1
0
0
0
0
0
0
0
0
12
0
12
4
0
31
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
6
3
-57
-33
48
-67
0
0
0
0
0
0
0
0
0
57
10
44
-3
23
102
43
18
30
0
0
0
0
0
0
0
0
-2
7
0
-5
-48
-77
2
1
-43
0
0
0
0
0
0
0
0
44
6
23
79
-28
53
-30
19
6
0
0
0
0
0
0
0
0
13
0
-1
-49
29
-8
5
7
5
0
0
0
0
0
0
0
0
0
0
0
-8
7
-7
4
24
20
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-60
-25
31
90
4
-14
44
0
-44
0
0
0
0
0
0
0
-5
10
63
-2
-7
-11
-46
5
-17
2
0
0
0
0
0
0
0
20
-16
-37
4
66
-79
-2
-50
-13
31
0
0
0
0
0
0
0
7
-4
5
35
-3
50
-50
47
6
17
0
0
0
0
0
0
0
4
20
-12
18
44
12
-15
67
12
-5
0
0
0
0
0
0
0
0
0
24
1
13
70
8
-40
-23
4
0
0
0
0
0
0
0
3
0
-25
0
8
-1
94
15
-47
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-6
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
8
20
-49
74
-48
29
0
7
7
0
0
0
0
0
0
6
-24
-6
-5
-23
-31
41
7
26
13
37
0
0
0
0
0
0
-3
-25
-6
-34
-4
-66
22
47
66
55
8
0
0
0
0
0
0
5
-23
-13
4
2
31
56
49
-4
-18
-3
0
0
0
0
0
0
-5
0
4
21
-19
10
15
-24
-30
49
2
0
0
0
0
0
0
0
-2
0
3
-4
-2
-18
6
22
-4
0
0
0
0
0
0
0
0
1
4
7
-21
-5
-13
-24
-1
7
0
0
0
0
0
0
0
0
-1
0
0
0
3
4
4
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
3
-12
61
-26
-52
0
4
5
8
0
0
0
0
0
-13
57
29
41
-62
-12
48
11
27
-46
17
9
0
0
0
0
0
0
-33
50
-1
31
-58
-25
4
-49
-1
-5
3
0
0
0
0
0
-1
0
69
8
41
83
29
52
41
17
0
0
0
0
0
0
0
-9
7
0
-20
39
-12
64
66
30
-52
0
0
0
0
0
0
0
0
6
2
-12
-1
27
41
27
-4
3
-2
0
0
0
0
0
0
0
0
0
-1
2
0
14
-3
19
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
59
-2
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
-2
-1
3
0
-8
3
6
-28
0
-16
-12
0
0
0
0
0
0
-2
30
-22
-14
77
24
38
61
-10
20
-35
0
0
0
0
0
0
0
0
5
-49
0
44
-42
-21
46
29
-1
0
0
0
0
0
0
-5
0
-5
4
-29
-6
41
-50
32
13
-16
0
0
0
0
0
0
-2
-7
-6
-2
6
62
14
-42
-1
18
3
0
0
0
0
0
0
0
0
-7
0
-1
16
8
5
-3
1
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
-8
30
0
41
3
0
0
0
0
0
0
3
-1
4
-2
-2
-8
-43
48
38
16
-5
3
0
0
0
0
0
0
-4
-1
21
-7
-1
-7
56
37
-23
0
3
0
0
0
0
0
2
27
-2
4
20
34
-10
-17
-53
-6
-6
0
0
0
0
0
0
4
0
1
0
12
-19
-39
-9
2
3
1
0
0
0
0
0
0
0
0
0
-1
0
3
6
-25
2
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
15
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
4
0
4
-4
0
0
0
7
-4
0
0
0
0
0
0
3
0
1
-6
14
10
60
-21
5
-1
0
0
0
0
0
0
0
0
-3
-22
2
-15
-4
12
-10
13
0
0
0
0
0
0
0
0
8
-1
-9
54
-10
12
-25
-41
7
0
0
0
0
0
0
0
0
2
-4
-4
-3
20
31
9
-2
2
0
0
0
0
0
0
0
0
0
-2
0
1
1
-30
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
0
10
-9
0
-2
0
6
0
0
0
0
0
0
7
12
1
-67
41
3
-8
-26
4
2
0
0
0
0
0
0
0
0
0
1
-6
1
10
0
5
13
4
0
0
0
0
0
0
0
-1
-3
8
10
-8
30
14
21
-25
0
0
0
0
0
0
0
0
1
-5
-2
3
6
0
3
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
0
0
0
0
0
0
0
0
1
8
0
2
1
-1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
-1
0
20
0
0
0
0
0
0
0
0
0
2
-3
-15
-9
-27
-7
17
0
1
0
0
0
0
0
0
0
-1
4
-1
17
13
51
43
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
14
9
-25
0
0
0
0
0
0
0
0
0
0
5
0
-1
5
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
4
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-9
5
-8
-8
0
-1
0
0
0
0
0
0
0
0
0
3
0
-7
-2
-9
-25
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
4
5
5
0
0
0
0
0
0
0
0
0
0
5
-4
0
0
3
1
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
-2
0
-2
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
12
2
14
-68
0
-49
0
0
0
0
0
0
0
0
0
21
13
-8
13
3
39
44
44
10
0
0
0
0
0
0
0
0
23
-10
-3
-45
13
10
-93
48
-29
0
0
0
0
0
0
0
0
0
-1
49
22
27
-13
43
-8
-1
0
0
0
0
0
0
0
0
-3
2
-4
20
4
-41
-7
2
6
0
0
0
0
0
0
0
0
-3
6
1
8
4
-33
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-13
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
0
-15
48
67
46
9
0
-42
0
0
0
0
0
0
0
-9
-22
57
-5
-44
30
-32
6
-4
19
0
0
0
0
0
0
0
42
49
51
60
44
96
24
-27
-47
-47
0
0
0
0
0
0
0
-8
-12
49
13
5
36
-173
-13
51
97
0
0
0
0
0
0
0
-12
37
-5
-5
-14
-2
-59
10
-9
-3
0
0
0
0
0
0
0
0
-6
13
-22
-60
121
-10
-13
-75
-1
0
0
0
0
0
0
0
0
-4
1
-3
0
-31
-42
1
-50
8
0
0
0
0
0
0
0
0
0
0
-5
0
-6
-13
18
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
2
-5
8
23
-51
-10
0
-9
-2
0
0
0
0
0
0
1
-27
5
-10
29
34
33
8
-35
-30
-13
0
0
0
0
0
0
-2
55
-1
-15
65
-22
59
25
75
59
1
0
0
0
0
0
0
9
-9
-3
-38
41
-27
-43
-5
-19
24
12
0
0
0
0
0
0
23
-5
-4
9
-8
-31
32
-83
18
22
0
0
0
0
0
0
0
0
-23
-9
-49
21
-8
7
10
1
6
0
0
0
0
0
0
0
0
13
6
0
37
3
-28
-42
-39
-5
0
0
0
0
0
0
0
0
0
-1
0
0
-3
8
8
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
-1
5
47
49
-28
-76
0
101
-16
0
0
0
0
0
0
0
-25
-21
-13
-1
-49
-86
14
-18
77
33
-1
0
0
0
0
0
1
-15
13
-5
-101
44
45
69
-31
-49
-7
-6
0
0
0
0
0
0
-16
48
0
26
100
26
47
-108
-41
5
0
0
0
0
0
0
0
1
-2
-9
66
35
8
-8
24
-19
-1
0
0
0
0
0
0
0
2
0
-31
3
23
-14
28
-28
9
0
0
0
0
0
0
0
0
3
0
0
0
-5
46
8
49
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
10
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
6
-1
-4
31
160
-60
0
-49
-18
0
0
0
0
0
0
0
0
3
4
-4
60
-19
-58
-59
109
-22
-1
0
0
0
0
0
0
0
6
-22
1
-1
-22
9
54
17
-2
3
0
0
0
0
0
0
0
-2
29
0
5
58
-13
-49
41
-1
0
0
0
0
0
0
1
0
0
0
-8
32
6
3
25
-5
0
0
0
0
0
0
0
0
0
0
-14
0
-42
10
4
4
-10
-6
0
0
0
0
0
0
0
0
1
6
3
6
24
1
5
2
0
0
0
0
0
0
0
0
0
0
0
1
-3
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
-10
16
0
-17
6
2
0
0
0
0
0
0
-8
0
0
-4
8
16
15
7
6
-5
0
0
0
0
0
0
0
0
0
-16
-9
-45
-5
-12
31
-14
2
0
0
0
0
0
0
0
0
-18
-1
-13
0
-5
8
-10
67
0
0
0
0
0
0
0
0
-3
-1
-49
9
34
-22
20
0
-9
0
0
0
0
0
0
0
0
0
-2
0
1
15
0
-2
3
2
1
0
0
0
0
0
0
0
0
-3
-5
1
-2
23
5
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
5
-24
33
0
0
-3
0
0
0
0
0
0
0
-1
4
34
-3
39
-10
41
1
0
3
1
0
0
0
0
0
0
-1
-2
-2
-3
-5
-14
-1
42
42
0
0
0
0
0
0
0
0
0
4
-8
19
48
0
13
19
20
0
0
0
0
0
0
0
0
-1
-5
-1
-3
0
-6
22
-6
-1
0
0
0
0
0
0
0
0
7
0
0
0
39
8
39
5
0
0
0
0
0
0
0
0
0
-5
-8
0
-6
1
3
0
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
-4
-1
-5
0
30
0
0
0
0
0
0
0
0
-1
3
0
3
1
-16
24
51
-5
0
0
0
0
0
0
0
0
-7
3
-3
14
5
22
47
-24
4
0
0
0
0
0
0
0
0
0
-1
-20
12
22
-31
0
-8
-8
0
0
0
0
0
0
0
0
0
1
-8
-16
-1
9
-8
0
0
-2
0
0
0
0
0
0
0
-4
0
0
0
-6
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
-7
2
0
0
0
0
0
0
0
0
7
0
0
1
39
10
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
16
-10
-1
6
5
0
0
0
0
0
0
0
-14
0
0
0
0
-37
4
1
0
0
0
0
0
0
0
0
0
2
0
0
-3
-12
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
13
-3
20
3
-1
0
0
0
0
0
0
0
0
5
0
0
0
-1
-1
-24
1
-6
0
0
0
0
0
0
0
0
-4
1
0
-4
4
0
0
14
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
5
-16
-24
-15
9
-9
0
0
0
0
0
0
0
0
0
49
-21
6
-21
18
74
-88
-65
-37
0
0
0
0
0
0
0
0
4
-1
41
-21
-30
-24
2
5
-16
0
0
0
0
0
0
0
0
8
-6
35
60
-20
46
-41
28
-7
0
0
0
0
0
0
0
0
0
-3
-7
30
15
-22
-48
-29
-9
0
0
0
0
0
0
0
0
5
0
1
-41
25
5
-25
3
0
0
0
0
0
0
0
0
0
0
6
0
0
-30
1
25
0
1
0
0
0
0
0
0
0
0
0
0
6
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-5
1
-18
17
4
-9
0
24
0
0
0
0
0
0
0
8
-60
-4
-43
-47
-48
-2
-12
-57
-41
0
0
0
0
0
0
0
-16
-18
-20
25
-69
-74
14
25
33
-54
0
0
0
0
0
0
0
31
-17
-3
-22
-34
121
8
-28
-43
-14
0
0
0
0
0
0
0
13
0
54
-10
49
60
24
-16
-44
-28
0
0
0
0
0
0
0
0
32
-43
-14
29
-75
90
-5
-46
0
0
0
0
0
0
0
0
1
7
2
0
-8
-19
-22
18
-29
0
0
0
0
0
0
0
0
0
1
-7
17
0
4
-2
-6
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
5
0
0
0
0
0
0
0
0
-3
-6
-6
7
-31
19
9
-5
0
132
-3
0
0
0
0
0
0
1
-42
-23
-13
3
-57
13
58
-31
42
50
0
0
0
0
0
0
1
-1
46
54
42
55
70
-59
14
-28
12
0
0
0
0
0
0
39
69
46
69
-5
35
20
-4
54
22
18
0
0
0
0
0
0
3
69
0
32
-45
-20
104
1
14
-14
1
0
0
0
0
0
0
0
0
4
-20
-85
-9
5
-36
-31
-4
-8
0
0
0
0
0
0
0
-1
14
-8
41
42
42
31
44
29
0
0
0
0
0
0
0
0
0
-4
0
0
5
33
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
-9
0
-21
49
46
43
3
0
0
45
0
0
0
0
0
0
0
-22
42
10
-2
34
60
27
-3
20
76
0
0
0
0
0
0
0
-2
42
18
76
-69
48
32
14
22
72
0
0
0
0
0
0
0
-3
2
-27
-9
1
11
-54
30
0
-1
-1
0
0
0
0
0
2
1
-7
0
-19
8
-26
-5
-9
-2
8
0
0
0
0
0
0
0
0
-1
-6
-15
27
-80
-80
-7
15
0
0
0
0
0
0
0
0
0
-1
5
16
24
-22
61
-20
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-3
25
6
2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
0
0
0
3
0
2
-6
-46
-17
0
26
0
0
0
0
0
0
0
0
-3
-8
1
-14
3
-21
-80
-27
22
9
4
0
0
0
0
0
0
1
0
42
-24
-76
-25
-25
62
2
-6
0
0
0
0
0
0
0
3
2
0
-2
24
5
-42
14
23
0
1
0
0
0
0
0
1
0
2
30
0
-25
8
27
7
2
0
0
0
0
0
0
0
0
2
27
0
-6
27
3
49
14
34
0
0
0
0
0
0
0
0
0
0
1
23
-2
-16
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
15
-13
-6
0
2
16
0
0
0
0
0
0
0
6
2
-8
14
41
32
17
43
-3
-14
0
0
0
0
0
0
0
4
0
4
-35
-13
-6
31
42
41
-2
4
0
0
0
0
0
0
0
0
-6
4
-23
-25
-24
76
-57
-13
0
0
0
0
0
0
-6
31
7
0
8
0
47
4
66
12
0
0
0
0
0
0
0
0
0
0
-14
-2
10
-13
8
8
-10
-6
0
0
0
0
0
0
0
0
0
0
7
6
-8
-1
12
0
-2
0
0
0
0
0
0
0
0
6
5
0
-1
0
18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-25
35
0
6
0
0
0
0
0
0
0
0
-3
0
0
10
5
-5
42
13
-2
2
0
0
0
0
0
0
0
0
-7
0
-25
7
-22
-5
-20
7
0
0
0
0
0
0
0
2
0
2
0
-29
6
34
-5
0
12
0
-1
0
0
0
0
0
0
13
-2
-1
27
-1
0
13
30
0
-2
0
0
0
0
0
0
0
6
16
-7
13
1
12
20
2
-4
2
0
0
0
0
0
0
0
0
0
-3
-7
0
13
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
5
-8
0
6
0
0
0
0
0
0
0
0
0
0
9
-13
35
-15
0
-3
-1
0
0
0
0
0
0
0
0
5
1
3
23
3
-14
-59
3
-2
-1
0
0
0
0
0
0
0
0
0
8
23
-15
-5
14
-6
12
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
13
3
-9
-2
-14
0
-3
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
22
-23
18
0
0
0
0
0
0
0
0
0
0
13
0
-2
-6
-14
9
4
1
0
0
0
0
0
0
0
14
0
-6
8
42
86
13
0
-5
0
0
0
0
0
0
0
0
0
0
-5
-12
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
-1
6
24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
-2
-6
-1
8
3
-1
0
0
0
0
0
0
0
0
0
0
1
-1
8
-2
20
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
24
-3
-32
-19
-9
0
0
0
0
0
0
0
0
0
5
-1
0
-35
37
23
34
17
-44
0
0
0
0
0
0
0
0
8
2
-8
7
-1
-5
-12
-69
45
0
0
0
0
0
0
0
0
3
9
46
54
-22
-15
-5
14
-18
0
0
0
0
0
0
0
0
-7
-15
-2
42
9
-12
15
8
15
0
0
0
0
0
0
0
0
0
43
1
34
57
-22
8
35
0
0
0
0
0
0
0
0
0
-10
8
6
6
68
-8
-9
34
8
0
0
0
0
0
0
0
0
0
0
0
-28
-2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-6
5
16
27
34
-22
16
31
0
28
0
0
0
0
0
0
0
10
-25
35
-15
29
44
28
2
-69
9
0
0
0
0
0
0
0
2
40
-14
-8
12
0
-48
-6
52
-14
0
0
0
0
0
0
0
0
90
15
27
13
-43
-13
-7
-58
6
0
0
0
0
0
0
0
2
9
-8
129
-5
52
41
45
6
55
0
0
0
0
0
0
0
-1
0
-15
20
40
19
7
-5
-45
14
0
0
0
0
0
0
0
1
-37
-1
4
-5
11
77
6
-4
-1
0
0
0
0
0
0
0
0
-1
2
-14
-3
23
33
53
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
20
3
0
0
0
0
0
0
0
0
0
5
-2
-16
0
-2
-10
50
66
0
-9
-31
0
0
0
0
0
0
-2
-9
43
31
-9
-30
-23
42
44
-10
-14
0
0
0
0
0
0
-1
8
-15
-13
-25
49
126
-27
-13
93
25
0
0
0
0
0
0
8
42
-19
66
90
56
74
17
14
42
5
0
0
0
0
0
0
-4
-46
6
5
48
-49
106
-21
-1
53
0
0
0
0
0
0
0
17
-67
0
16
-59
-68
45
64
-28
49
0
0
0
0
0
0
0
-2
0
-37
25
-31
23
-45
41
87
-5
0
0
0
0
0
0
0
0
0
-14
-3
0
24
21
47
-13
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
-12
0
0
0
0
0
0
0
0
2
8
-1
2
24
7
-13
-50
0
34
9
1
0
0
0
0
0
2
47
-25
8
34
7
5
-29
-49
-13
-5
-5
0
0
0
0
0
0
-5
8
1
80
-33
-8
12
-9
-23
-25
0
0
0
0
0
0
2
93
-3
0
-10
-34
9
26
-12
46
30
0
0
0
0
0
0
0
-19
-2
-29
27
49
-4
-25
41
14
5
0
0
0
0
0
0
0
52
3
0
3
-50
46
4
43
20
0
0
0
0
0
0
0
0
-44
1
56
-25
-14
-18
-31
-13
6
6
0
0
0
0
0
0
0
0
2
-5
0
-2
-8
-20
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
1
-7
-33
21
15
0
-14
8
0
0
0
0
0
0
0
2
8
-32
0
-32
8
27
-47
-53
0
0
0
0
0
0
0
0
1
0
7
22
33
70
-39
19
8
9
0
0
0
0
0
0
0
-1
0
-1
5
-2
5
29
-54
16
-2
0
0
0
0
0
0
0
0
4
13
-48
23
49
-27
17
-15
0
-1
0
0
0
0
0
0
6
52
-24
0
-10
42
27
-5
-5
0
0
0
0
0
0
0
-1
0
1
0
7
0
21
8
0
0
1
0
0
0
0
0
0
0
0
0
1
-2
-2
17
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-5
33
-24
0
-5
0
0
0
0
0
0
0
0
-1
0
-4
3
-2
13
6
-5
-2
-2
0
0
0
0
0
0
0
0
-5
0
0
0
5
-16
-24
-20
3
0
0
0
0
0
0
0
0
-1
50
22
31
49
42
-8
25
10
0
0
0
0
0
0
1
-12
4
4
-18
23
17
41
66
3
0
0
0
0
0
0
0
0
10
-4
1
1
0
-14
-13
-2
0
0
0
0
0
0
0
0
-2
0
-14
8
0
-8
2
9
-3
2
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-1
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
0
0
-9
0
0
0
0
0
0
0
0
-1
0
1
17
-17
73
-42
15
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
9
-31
0
0
0
0
0
0
0
0
0
-2
0
0
3
12
4
-8
-2
-27
0
0
0
0
0
0
0
0
-3
-9
0
-3
5
49
8
34
4
0
0
0
0
0
0
0
0
0
5
0
0
4
0
23
0
22
0
0
0
0
0
0
0
0
0
0
-1
0
2
20
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-30
3
0
-1
2
0
0
0
0
0
0
-3
0
-6
0
-8
0
0
19
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
17
-8
-5
-12
-6
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
4
-9
-7
5
3
0
0
0
0
0
0
0
8
0
7
0
-37
17
8
3
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
3
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
43
9
-16
-25
-7
0
0
0
0
0
0
0
0
-2
0
1
0
3
-3
-4
-13
0
0
0
0
0
0
0
0
0
-1
0
4
-25
24
-8
34
-2
-22
0
0
0
0
0
0
0
0
0
0
0
-7
5
83
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-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
2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
1
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
1
5
-35
-8
41
7
0
0
0
0
0
0
0
0
0
47
12
-7
-23
35
83
-23
37
25
0
0
0
0
0
0
0
0
-13
0
-4
28
-15
33
36
-58
-4
0
0
0
0
0
0
0
0
-20
7
-1
16
-44
78
10
22
25
0
0
0
0
0
0
0
0
-1
1
5
-59
-23
-8
27
-2
30
0
0
0
0
0
0
0
0
20
4
-15
42
6
7
-22
-6
-1
0
0
0
0
0
0
0
0
0
0
4
2
74
48
-13
-9
-2
0
0
0
0
0
0
0
0
0
0
-2
30
-9
-3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
0
0
0
0
-28
-5
6
68
42
-14
-16
0
2
0
0
0
0
0
0
0
0
-44
-31
-25
-102
-33
-66
12
-38
2
0
0
0
0
0
0
0
0
50
-7
8
12
10
-27
14
2
-19
0
0
0
0
0
0
0
7
14
35
25
-11
66
23
29
16
-10
0
0
0
0
0
0
0
0
58
28
-4
33
32
52
101
-45
-16
0
0
0
0
0
0
0
12
-24
-4
4
-13
80
-4
-102
-16
-50
0
0
0
0
0
0
0
-4
0
1
13
-22
-31
7
-35
-2
12
0
0
0
0
0
0
0
0
1
12
-39
8
2
-31
0
5
-9
0
0
0
0
0
0
0
2
0
0
0
4
-1
3
-2
0
0
0
0
0
0
0
0
0
0
-3
25
-2
9
-3
41
-61
0
22
4
0
0
0
0
0
0
-1
-37
-23
-5
12
-3
45
7
28
16
-4
0
0
0
0
0
0
-2
30
13
-4
48
24
-17
2
6
-25
3
0
0
0
0
0
0
0
-34
-4
-4
30
10
-10
-9
23
52
6
0
0
0
0
0
0
0
-10
-5
42
-13
-25
87
-8
-13
9
-1
0
0
0
0
0
0
-3
-8
4
24
12
52
-8
11
74
41
-8
0
0
0
0
0
0
14
13
0
0
-57
-1
5
0
62
-12
0
0
0
0
0
0
0
0
0
-4
6
-10
9
31
-22
10
-30
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
3
-6
-14
43
88
0
16
5
-1
0
0
0
0
0
0
-7
-5
-5
-25
-45
33
25
15
7
-9
4
0
0
0
0
0
0
-5
1
-10
3
-3
47
31
-14
44
-17
0
0
0
0
0
0
0
-4
0
-2
4
31
-35
-46
12
-27
-9
0
0
0
0
0
0
0
5
-4
-3
-28
56
60
-80
-1
67
-1
0
0
0
0
0
0
1
-9
2
34
27
103
59
-84
7
-7
7
0
0
0
0
0
0
0
-1
72
0
10
-7
-61
44
-22
3
0
0
0
0
0
0
0
0
10
0
-5
0
14
-8
-30
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
6
-7
5
25
-24
0
68
13
0
0
0
0
0
0
0
0
0
2
-8
41
13
-9
5
23
25
-1
0
0
0
0
0
0
-1
0
5
-3
-7
64
-6
26
33
0
0
0
0
0
0
0
0
-9
0
-1
-2
12
-30
4
-7
6
1
0
0
0
0
0
0
0
-4
0
0
-7
45
10
23
-3
2
-5
0
0
0
0
0
0
0
0
-3
-1
-2
-28
-20
-22
8
17
0
3
0
0
0
0
0
0
0
0
0
0
-22
14
-9
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-2
0
-42
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-10
5
7
-37
-8
-2
0
0
0
0
0
0
0
0
0
10
-8
-2
8
3
-1
0
0
0
0
0
0
0
0
0
-2
0
0
10
1
25
48
-35
0
0
0
0
0
0
0
0
0
0
0
25
1
25
1
-5
0
-5
0
0
0
0
0
0
0
0
0
0
14
-13
8
24
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-5
0
23
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
-3
4
0
0
0
0
0
0
0
0
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
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
7
-4
16
0
0
0
0
0
0
0
0
0
0
1
0
0
23
-6
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
23
3
50
1
-9
0
0
0
0
0
0
0
0
8
0
1
-1
12
-19
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-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
-3
0
0
0
3
2
0
0
-1
0
0
0
0
0
0
0
19
0
1
-1
-6
-7
-30
-17
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
-8
3
5
8
0
0
0
0
0
0
0
0
0
0
0
0
9
0
4
1
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
2
-4
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
9
-6
9
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
8
3
-18
10
-10
0
0
0
0
0
0
0
0
2
0
9
-1
-3
-5
0
35
0
0
0
0
0
0
0
0
0
0
-3
0
-20
4
-1
-27
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-9
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-10
-3
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
37
-2
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-9
1
0
0
0
0
0
0
0
0
0
2
0
5
-14
1
-32
-41
15
54
0
0
0
0
0
0
0
0
-2
0
0
52
37
7
38
12
-26
0
0
0
0
0
0
0
0
51
-2
-1
-1
-42
-21
-3
-34
-8
0
0
0
0
0
0
0
0
25
0
6
-5
-21
60
-42
-8
28
0
0
0
0
0
0
0
0
25
6
-24
-93
-35
33
2
-28
-3
0
0
0
0
0
0
0
0
-1
8
32
68
76
3
-56
-18
49
0
0
0
0
0
0
0
0
0
0
-2
15
-12
4
-25
13
0
0
0
0
0
0
0
0
0
-4
-3
0
0
12
0
-19
0
0
0
0
0
0
0
0
0
0
0
13
-3
24
29
-5
41
0
0
1
0
0
0
0
0
0
0
0
43
20
-55
-7
53
87
-81
-76
-20
0
0
0
0
0
0
0
0
34
15
1
-38
-44
-71
-72
91
35
0
0
0
0
0
0
0
-2
-41
-13
-9
-15
13
-34
-57
12
79
0
0
0
0
0
0
0
0
22
13
12
71
49
18
18
-8
-50
0
0
0
0
0
0
0
0
-51
-17
91
85
-74
44
-19
-37
12
0
0
0
0
0
0
0
-8
-2
-16
5
-20
-29
13
-39
-54
5
0
0
0
0
0
0
0
0
0
-2
41
14
-22
51
-22
-6
27
0
0
0
0
0
0
0
0
0
0
3
0
6
5
-18
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
19
29
0
-16
1
0
0
0
0
0
0
0
-14
13
0
-8
13
-1
43
13
-19
21
0
0
0
0
0
0
-8
0
5
0
13
56
48
-22
17
14
-51
0
0
0
0
0
0
0
22
2
-9
13
-29
81
1
42
-29
8
0
0
0
0
0
0
0
-8
-9
17
5
-31
-11
17
-7
3
18
0
0
0
0
0
0
0
20
7
-7
41
-16
45
-48
25
-24
-3
0
0
0
0
0
0
0
0
-1
16
-31
-60
5
-6
35
25
0
0
0
0
0
0
0
0
39
0
23
-1
62
-19
-3
-15
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-20
9
0
13
0
0
0
0
0
0
0
0
7
-12
8
0
3
13
-41
60
79
-31
3
0
0
0
0
0
0
-2
0
-1
35
33
-12
-6
-77
24
-5
1
0
0
0
0
0
0
-3
0
0
20
2
-5
63
-55
32
-5
0
0
0
0
0
0
0
1
0
1
-25
-24
9
45
-19
-1
-2
0
0
0
0
0
0
0
-2
-1
-1
24
-31
34
-23
101
4
0
0
0
0
0
0
0
0
0
19
10
10
30
3
-19
-3
-35
13
0
0
0
0
0
0
0
-5
-1
0
1
-7
-3
-32
4
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
0
29
-1
0
0
0
0
0
0
0
0
0
0
0
25
1
-19
0
2
7
0
0
0
0
0
0
0
0
0
1
1
1
31
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-18
-5
2
-1
0
0
0
0
0
0
0
3
0
2
-1
-15
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
-10
-3
4
49
12
2
0
0
0
0
0
0
0
0
1
0
7
-17
4
-29
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
33
3
-35
0
0
0
0
0
0
0
0
0
10
0
0
0
20
-3
-22
10
-15
0
0
0
0
0
0
0
0
-8
0
0
67
13
-13
1
-26
8
0
0
0
0
0
0
0
0
2
3
8
9
-9
12
29
6
17
0
0
0
0
0
0
0
0
0
90
-33
81
-3
70
-14
54
0
0
0
0
0
0
0
0
0
-4
0
0
-10
75
24
-26
-9
16
0
0
0
0
0
0
0
0
0
0
8
53
1
41
0
-2
0
0
0
0
0
0
0
0
0
0
-1
4
0
-8
8
14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
5
8
25
0
0
0
0
0
0
0
0
0
4
0
0
-1
2
70
-74
15
12
0
0
0
0
0
0
0
0
-9
0
-8
5
-59
2
16
-1
2
0
0
0
0
0
0
0
-5
0
-1
0
25
2
-1
0
-18
1
0
0
0
0
0
0
0
0
16
7
68
-13
48
-49
0
-3
0
0
0
0
0
0
0
0
0
0
4
12
23
43
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
-10
-17
31
-1
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
37
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-10
12
21
4
0
0
0
0
0
0
0
0
-2
-5
0
0
-5
-6
-2
26
2
2
0
0
0
0
0
0
0
0
0
0
2
19
47
-25
16
-22
0
0
0
0
0
0
0
0
-1
0
3
0
1
43
6
13
8
-5
0
0
0
0
0
0
0
0
0
-59
4
-1
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
8
5
-31
-12
-4
28
0
1
0
0
0
0
0
0
0
0
0
9
-1
13
3
18
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
3
3
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
20
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-3
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
6
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-30
9
-48
-5
0
0
0
0
0
0
0
0
0
-4
-9
59
-9
-12
-37
-12
-46
0
0
0
0
0
0
0
0
0
0
0
-16
-22
59
-7
38
10
0
0
0
0
0
0
0
0
0
0
0
0
-19
-49
-9
34
13
0
0
0
0
0
0
0
0
0
0
0
5
0
17
-48
-7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
-29
25
6
45
0
0
0
0
0
0
0
0
0
0
0
50
-41
31
-97
-43
-5
0
0
0
0
0
0
0
0
0
0
0
5
10
-2
-3
-75
4
43
-77
-10
0
0
0
0
0
0
0
0
-54
21
46
-85
62
1
48
-66
1
0
0
0
0
0
0
0
0
-5
54
23
44
36
60
68
47
27
0
0
0
0
0
0
0
0
-9
-6
-18
-14
-1
-52
46
57
-66
0
0
0
0
0
0
0
0
0
0
50
34
110
-45
33
-22
30
0
0
0
0
0
0
0
0
0
0
12
-23
16
8
-3
17
50
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-19
0
0
0
0
0
0
0
0
0
0
0
50
18
-49
92
0
0
0
-13
0
0
0
0
0
0
0
-23
-25
76
-6
-48
19
0
0
0
79
0
0
0
0
0
0
0
30
22
-32
-25
51
12
-44
-97
-102
14
0
0
0
0
0
0
0
30
37
7
-50
-114
48
-72
0
-71
14
0
0
0
0
0
0
0
-6
39
21
28
73
-62
-6
-18
-6
9
0
0
0
0
0
0
0
-12
-37
-25
3
12
41
-14
-85
60
3
0
0
0
0
0
0
0
0
-5
4
-49
6
2
-22
-80
-48
30
0
0
0
0
0
0
0
0
-5
9
-30
-51
-9
-29
44
13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-27
-5
-23
0
0
0
54
0
0
0
0
0
0
0
1
-17
-23
61
-12
-52
0
0
0
29
-9
0
0
0
0
0
0
0
6
19
-8
26
-6
-34
78
-144
32
-8
0
0
0
0
0
0
-8
-14
-18
-75
17
69
60
-2
-42
-60
0
0
0
0
0
0
0
0
-22
-25
14
-12
-92
7
0
6
-5
1
0
0
0
0
0
0
0
0
-13
-46
41
5
-31
41
-6
-13
0
0
0
0
0
0
0
0
0
-5
-75
-37
1
49
-7
40
-16
-2
0
0
0
0
0
0
0
0
1
5
1
13
17
-3
31
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-19
0
-8
-39
0
0
0
-2
0
0
0
0
0
0
0
-24
-20
-1
9
-64
-12
0
0
0
-12
0
0
0
0
0
0
0
0
-1
-14
-22
37
-22
-36
-6
7
-41
-2
0
0
0
0
0
0
0
2
-1
-24
28
61
-30
10
-47
-13
0
0
0
0
0
0
0
0
-12
1
-31
44
-67
-60
-24
-37
18
1
0
0
0
0
0
0
0
0
0
-3
41
-106
-77
61
-5
-13
7
0
0
0
0
0
0
0
8
-2
6
-93
-8
-22
45
3
5
12
0
0
0
0
0
0
0
0
-2
6
-24
42
8
25
13
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-49
0
0
0
0
6
0
0
0
0
0
0
0
3
-12
-2
-13
19
0
0
0
2
-2
0
0
0
0
0
0
0
1
-14
-22
-4
-25
-15
45
-13
32
-3
0
0
0
0
0
0
0
0
-6
37
-5
-19
0
-28
57
-2
0
0
0
0
0
0
0
0
0
-3
16
-33
74
-28
-70
-5
-14
-1
0
0
0
0
0
0
0
0
1
30
25
41
32
13
13
-13
0
0
0
0
0
0
0
0
0
0
0
5
-1
18
17
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-2
-2
8
0
0
0
-4
-1
0
0
0
0
0
0
0
0
-2
4
2
-13
-31
1
-70
0
0
0
0
0
0
0
0
0
0
0
0
-10
24
-48
20
-58
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
49
3
-73
-5
0
0
0
0
0
0
0
0
0
0
3
-1
12
18
-5
15
0
-1
0
0
0
0
0
0
0
0
0
-4
-7
-6
2
-3
60
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
5
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
41
14
-31
43
0
0
0
0
0
0
0
0
0
0
0
-4
-22
25
-46
29
68
0
0
0
0
0
0
0
0
0
0
0
-24
9
3
-33
-42
-17
-57
46
0
0
0
0
0
0
0
0
0
5
13
31
-9
4
-33
120
5
0
0
0
0
0
0
0
0
0
-2
-17
9
17
-67
54
30
-25
0
0
0
0
0
0
0
0
0
0
-9
5
3
-16
-8
13
-62
0
0
0
0
0
0
0
0
0
0
0
-9
-1
25
15
5
60
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-2
0
0
0
0
0
0
0
0
5
-27
-6
-90
-25
41
-67
0
0
0
0
0
0
0
0
0
0
5
-3
60
71
-6
-51
13
0
0
0
0
0
0
0
0
0
0
-2
-10
-9
-7
18
23
66
13
-99
-49
0
0
0
0
0
0
0
0
-8
-54
43
-13
-11
-66
30
35
-13
0
0
0
0
0
0
0
0
7
20
48
9
-6
5
33
-98
-43
0
0
0
0
0
0
0
-1
10
-8
37
33
0
3
95
34
-12
0
0
0
0
0
0
0
0
-1
8
-2
24
5
-40
-2
56
-6
0
0
0
0
0
0
0
0
0
0
0
4
-31
-2
-14
12
107
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-19
1
0
0
0
0
0
0
0
0
-3
14
-63
-33
-76
-102
0
0
0
-17
0
0
0
0
0
0
0
-2
-4
19
-22
-39
-24
0
0
0
45
0
0
0
0
0
0
0
-4
-5
43
-3
17
-60
-87
-59
-30
-5
0
0
0
0
0
0
0
3
33
-8
14
-60
20
-16
-2
-26
-17
0
0
0
0
0
0
0
5
-30
-7
10
-31
-26
113
32
22
6
0
0
0
0
0
0
0
-1
-57
31
15
-77
-29
-8
-28
43
-31
0
0
0
0
0
0
0
5
-4
10
52
-43
-31
-128
60
-99
0
0
0
0
0
0
0
0
0
0
6
10
-15
-106
-89
-86
-8
15
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-19
-20
-25
0
0
0
0
0
0
0
0
3
8
4
-31
17
0
0
0
-67
-1
0
0
0
0
0
0
1
45
22
25
37
-43
0
0
0
-12
8
0
0
0
0
0
0
-13
-34
5
-66
56
-75
-54
106
39
35
5
0
0
0
0
0
0
-3
-16
29
-14
-17
79
29
43
-58
-31
-3
0
0
0
0
0
0
-8
4
-32
45
-23
-33
-55
-6
15
-35
10
0
0
0
0
0
0
0
6
15
0
53
-43
23
-43
24
-101
-4
0
0
0
0
0
0
0
0
9
-20
-4
33
-49
22
-13
31
17
0
0
0
0
0
0
0
0
0
-2
-29
-6
-24
-42
-9
-49
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
22
0
-10
0
0
0
0
0
0
0
0
10
27
10
-10
1
0
0
0
-34
4
0
0
0
0
0
-2
0
-7
-34
-13
-6
-6
0
0
0
41
-7
0
0
0
0
0
0
8
-8
42
22
-16
-37
-39
-25
-95
-31
-54
-2
0
0
0
0
0
0
6
8
4
78
2
12
50
-36
-22
-29
-13
0
0
0
0
0
0
12
-31
32
-12
-17
-31
-6
-35
8
-77
-8
0
0
0
0
0
0
0
-4
-3
-18
-60
58
-104
-77
13
7
0
0
0
0
0
0
0
0
0
0
-56
-29
-41
-26
34
-5
2
0
0
0
0
0
0
0
0
0
-4
3
1
-2
51
-50
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
4
0
0
0
0
0
0
0
0
16
24
7
0
-13
0
0
0
29
-4
0
0
0
0
0
0
-1
-12
13
-60
0
25
0
0
0
21
5
0
0
0
0
0
0
0
-6
20
10
-30
30
-25
-13
-30
-11
-18
-2
0
0
0
0
0
0
1
7
7
-6
28
-14
-82
-147
5
3
0
0
0
0
0
0
0
0
-10
-5
76
8
68
-3
49
-7
-1
0
0
0
0
0
0
0
-1
-6
-4
-3
32
52
29
-7
7
0
-4
0
0
0
0
0
0
0
1
4
7
4
-19
-9
-8
-8
2
0
0
0
0
0
0
0
0
0
22
0
2
1
1
10
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
-5
1
0
0
0
0
0
0
0
-6
14
-5
-22
1
0
0
0
20
-18
-3
0
0
0
0
0
0
0
2
-23
-1
-19
-39
10
-89
7
-18
1
0
0
0
0
0
0
0
0
-6
8
-30
-9
-5
66
-31
3
0
0
0
0
0
0
0
0
0
-2
2
-18
4
-19
-31
2
0
-3
0
0
0
0
0
0
0
0
3
-6
-24
-7
-24
12
9
-5
0
0
0
0
0
0
0
0
0
0
-5
0
25
3
-49
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
5
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
3
0
-1
-29
0
-12
1
2
-1
0
0
0
0
0
0
0
0
0
1
-2
1
1
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-7
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
-3
4
5
-3
-12
30
0
1
0
0
0
0
0
0
0
0
0
0
3
6
-31
7
14
-7
1
0
0
0
0
0
0
0
0
0
-2
0
-21
-8
0
-41
4
1
0
0
0
0
0
0
0
0
0
-1
-3
-5
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
0
-14
-13
-1
0
0
0
0
0
0
0
-3
0
7
0
-7
-13
-8
17
7
0
0
0
0
0
0
0
0
0
0
0
0
-45
8
5
2
-1
0
0
0
0
0
0
0
0
0
0
3
0
1
-5
31
-15
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
7
15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-21
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-5
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
3
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
3
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-49
-8
4
-34
-15
0
0
0
0
0
0
0
0
0
0
0
-1
-27
-3
-15
15
-23
0
0
0
0
0
0
0
0
0
0
0
5
25
3
71
-4
-30
30
-85
0
0
0
0
0
0
0
0
0
0
0
-8
-1
18
-77
-48
-17
0
0
0
0
0
0
0
0
0
-3
1
17
8
-10
-35
14
30
0
0
0
0
0
0
0
0
0
0
0
3
8
-23
17
-13
31
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-29
42
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-23
0
0
0
0
0
0
0
0
2
-8
10
-14
-28
-66
43
0
0
0
0
0
0
0
0
0
0
0
-25
-42
77
25
-63
8
0
0
0
0
0
0
0
0
0
0
0
8
16
0
27
-31
67
8
3
0
0
0
0
0
0
0
0
0
20
-9
10
-59
1
-81
-87
-41
28
0
0
0
0
0
0
0
0
-1
9
-1
22
-50
14
-13
49
-5
0
0
0
0
0
0
0
-1
-2
-17
-3
67
0
24
-2
31
-22
0
0
0
0
0
0
0
0
0
0
2
34
7
44
-8
-31
-47
0
0
0
0
0
0
0
0
0
0
1
-2
12
6
7
69
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-10
0
0
0
0
0
0
0
0
-3
6
-4
32
31
18
0
0
0
-14
0
0
0
0
0
0
0
-4
4
-28
-21
31
-29
0
0
0
13
0
0
0
0
0
0
0
5
19
4
24
58
46
-98
-28
-48
-19
0
0
0
0
0
0
0
-2
-8
-6
16
26
0
-56
-15
24
5
0
0
0
0
0
0
0
1
-27
-48
13
-26
13
-30
11
-12
-37
0
0
0
0
0
0
0
0
-16
-12
15
-4
-81
56
1
44
-30
0
0
0
0
0
0
0
0
0
-1
-12
43
33
-6
-16
-84
0
0
0
0
0
0
0
0
0
0
3
-2
5
9
-34
60
49
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
0
0
0
0
0
0
0
1
0
-1
-17
-35
21
-76
0
0
0
14
-2
0
0
0
0
0
0
-2
-17
-15
-41
22
24
0
0
0
38
2
0
0
0
0
0
0
5
0
-49
20
-61
4
-26
-74
56
26
0
0
0
0
0
0
0
-2
42
27
-8
31
-91
28
-75
-94
-23
0
0
0
0
0
0
0
0
2
-4
-14
-31
95
18
-80
18
-2
9
0
0
0
0
0
0
0
0
-19
-8
39
-43
29
-14
11
-17
0
0
0
0
0
0
0
0
0
0
-9
-25
15
-1
-3
26
48
0
0
0
0
0
0
0
0
0
0
0
-9
0
-8
8
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
0
0
-2
41
13
64
-9
0
0
0
-1
4
0
0
0
0
0
0
0
-3
-42
30
4
63
0
0
0
22
-22
0
0
0
0
0
0
5
50
0
13
-9
-85
-10
3
8
-35
1
4
0
0
0
0
0
1
-8
-10
12
55
-15
-58
3
-41
-46
-25
-1
0
0
0
0
0
0
0
0
-43
1
56
-40
10
30
-4
-13
0
0
0
0
0
0
0
7
-3
-22
-56
17
37
-96
-41
24
24
0
0
0
0
0
0
0
0
-5
-5
1
-25
-1
-21
14
0
-18
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
5
8
-2
-4
0
0
0
18
0
0
0
0
0
0
0
0
-8
-17
-12
-8
-21
0
0
0
8
23
2
0
0
0
0
0
0
0
-12
-12
20
9
14
12
-64
-5
-1
3
0
0
0
0
0
2
-9
0
-2
-17
-48
7
36
-51
-2
0
0
0
0
0
0
0
0
0
4
-21
17
18
-40
60
0
-9
8
0
0
0
0
0
0
0
0
2
-4
0
-66
-13
-63
5
8
-1
0
0
0
0
0
0
0
0
0
1
-1
-31
43
27
1
-9
-8
0
0
0
0
0
0
0
0
0
0
-1
3
8
7
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
1
16
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
-3
-19
5
0
0
0
-4
-49
0
0
0
0
0
0
0
0
0
10
6
3
-18
33
-4
16
12
-1
-2
0
0
0
0
0
3
-8
-1
-2
19
-20
41
18
0
-1
1
0
0
0
0
0
0
0
0
0
7
14
5
12
13
18
-24
0
0
0
0
0
0
0
0
0
0
-3
8
-3
29
-16
5
-1
0
0
0
0
0
0
0
0
0
0
7
0
3
3
-6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
2
1
0
0
0
-45
-2
0
0
0
0
0
0
0
0
-1
-1
0
-6
0
-49
4
-6
-2
0
0
0
0
0
0
0
0
0
1
-4
-6
2
21
5
-8
-1
0
0
0
0
0
0
0
0
0
0
-1
0
21
8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
23
17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
10
0
0
0
-1
0
0
0
0
0
0
0
-4
-8
-4
15
-76
-28
0
0
0
-13
-1
0
0
0
0
0
0
1
0
14
-34
-4
-29
-45
-54
-49
0
0
0
0
0
0
0
0
0
1
-6
-14
-6
-30
34
53
-5
-1
0
0
0
0
0
0
0
0
4
1
0
0
-25
17
62
3
1
3
0
0
0
0
0
0
0
0
0
0
2
35
21
57
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
20
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
16
0
0
0
0
3
-7
1
0
0
0
0
0
0
14
-1
-10
32
6
0
0
0
-19
3
0
0
0
0
0
0
0
-4
-10
-4
-5
59
-9
-16
6
6
-4
0
0
0
0
0
0
0
0
-3
1
-13
-45
-48
0
-9
-22
1
0
0
0
0
0
0
0
-2
0
8
-15
-89
31
77
8
5
-5
0
0
0
0
0
0
0
0
0
1
4
-9
12
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
8
20
-12
0
0
0
0
0
0
0
0
0
0
-8
0
0
2
2
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
2
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
-5
5
0
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
8
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
1
41
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
5
-10
-5
0
0
0
0
0
0
0
0
0
0
0
5
-29
-4
-29
-41
4
-2
-23
0
0
0
0
0
0
0
0
0
0
1
49
-12
19
-20
93
-30
0
0
0
0
0
0
0
0
0
0
0
2
-1
-20
-1
15
-42
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-3
3
3
0
0
0
0
0
0
0
0
0
0
0
0
-17
-8
8
-48
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
16
24
-12
14
58
0
0
0
0
0
0
0
0
0
0
1
9
20
22
-7
5
103
0
0
0
0
0
0
0
0
0
0
0
-25
57
40
59
-7
112
5
-174
-99
0
0
0
0
0
0
0
0
-1
13
-24
-12
-19
-7
43
-35
-26
0
0
0
0
0
0
0
0
10
51
3
-51
-13
-21
18
-7
-46
0
0
0
0
0
0
0
0
0
33
14
18
25
142
34
-32
16
0
0
0
0
0
0
0
0
0
12
0
24
64
-7
16
-14
59
0
0
0
0
0
0
0
0
0
0
0
0
7
20
19
41
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
-2
0
0
0
0
0
0
0
0
0
-5
10
76
-89
-16
0
0
0
-13
0
0
0
0
0
0
0
-8
13
-21
-33
31
13
0
0
0
-7
0
0
0
0
0
0
0
-4
7
-93
-25
-72
78
9
-23
-79
2
0
0
0
0
0
0
0
0
-2
-41
44
-54
-25
-5
-50
-39
42
0
0
0
0
0
0
0
0
-10
-25
-53
-60
-11
-1
-14
-1
6
0
0
0
0
0
0
0
2
0
-14
-56
-10
-20
-42
42
20
-4
0
0
0
0
0
0
0
0
0
0
4
-24
-37
-37
15
-1
-3
0
0
0
0
0
0
0
0
0
-2
0
0
8
-10
-13
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
20
0
0
0
0
0
0
0
0
0
0
8
-49
-37
31
0
0
0
42
0
0
0
0
0
0
0
-8
0
43
-1
-3
-27
0
0
0
-43
6
0
0
0
0
0
0
0
-16
24
42
-29
-32
-63
-24
-40
16
0
0
0
0
0
0
1
15
-7
-7
19
31
3
-10
60
-93
21
0
0
0
0
0
0
0
8
3
2
-10
-34
49
-45
-31
-9
13
-1
0
0
0
0
0
0
0
0
0
-15
49
-50
23
56
4
-68
0
0
0
0
0
0
0
1
0
0
0
14
-13
17
-63
-42
-4
0
0
0
0
0
0
0
0
0
-6
0
3
-3
0
-27
-14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
14
23
-42
39
27
0
0
0
-32
3
0
0
0
0
0
0
0
59
-5
2
-22
46
0
0
0
80
39
0
0
0
0
0
0
1
-7
2
-8
41
-29
4
8
9
-9
-14
2
0
0
0
0
0
-4
-8
4
-1
8
0
1
-51
12
13
2
1
0
0
0
0
0
0
3
-17
13
-21
-5
-77
-103
11
-13
0
4
0
0
0
0
0
0
0
1
-6
69
-17
22
-19
15
6
-2
0
0
0
0
0
0
0
0
-4
3
-4
5
-22
16
49
10
3
0
0
0
0
0
0
0
0
0
0
5
5
14
-46
-61
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-17
-27
1
0
0
0
0
-23
0
-6
0
0
0
0
0
-6
-3
0
-8
5
-12
0
0
0
-35
0
-3
0
0
0
0
0
0
-6
5
21
7
-3
20
-2
33
-13
-8
1
0
0
0
0
0
0
0
-8
-7
0
9
-41
-5
4
19
1
0
0
0
0
0
0
0
-3
-2
-1
7
-1
-39
17
-18
3
-4
0
0
0
0
0
0
0
0
0
0
0
2
34
-7
5
2
-1
1
0
0
0
0
0
0
0
0
-2
5
0
-8
-12
-6
-5
3
0
0
0
0
0
0
0
0
0
-5
0
-1
-2
-6
-84
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
-13
0
0
0
-2
0
0
0
0
0
0
0
0
-1
3
0
20
2
0
0
0
22
22
0
0
0
0
0
0
0
0
0
25
0
-14
6
-58
-19
-4
29
0
0
0
0
0
0
0
1
0
3
6
0
-8
3
-34
10
2
0
0
0
0
0
0
0
0
0
0
-1
-16
-13
20
-5
6
0
-1
0
0
0
0
0
0
0
0
-5
1
3
27
3
8
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
2
0
0
0
0
0
0
2
-1
37
-1
5
0
0
0
8
0
0
0
0
0
0
0
0
0
1
1
6
0
-37
-9
-12
2
-2
6
0
0
0
0
0
0
0
0
0
17
-30
0
-13
13
-6
3
0
1
0
0
0
0
0
0
0
1
5
1
-5
30
-5
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
-16
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
-28
14
22
-19
0
0
0
1
0
0
0
0
0
0
0
12
0
-15
22
22
-16
0
0
0
0
-1
0
0
0
0
0
0
7
8
20
-25
6
-191
-57
-57
-108
-3
0
0
0
0
0
0
0
0
-1
-21
5
-8
66
-26
9
-45
0
0
0
0
0
0
0
0
-1
5
-7
-13
-42
77
51
77
37
3
0
0
0
0
0
0
0
0
8
2
-42
19
2
31
43
24
4
1
0
0
0
0
0
0
0
0
0
-6
0
-15
5
-50
23
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
4
-1
-23
-7
8
0
0
0
0
0
0
0
0
0
0
0
1
-4
-99
29
19
45
0
0
0
3
0
0
0
0
0
0
0
0
9
-5
-66
-40
-46
35
-84
-138
3
0
0
0
0
0
0
0
0
-1
1
-42
10
-10
64
-61
19
4
3
0
0
0
0
0
0
0
4
-7
8
31
-49
43
17
30
1
1
0
0
0
0
0
0
0
0
2
12
34
-104
-41
-47
58
2
0
0
0
0
0
0
0
0
0
-5
-7
0
3
-40
66
-42
2
0
0
0
0
0
0
0
0
0
0
0
0
2
6
9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
1
-3
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
2
17
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
-8
0
-4
0
0
0
0
0
0
0
0
0
-1
0
-6
-42
9
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
3
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-1
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
-19
19
-25
-31
0
0
0
0
0
0
0
0
0
-1
0
8
-1
24
-25
-8
-13
0
0
0
0
0
0
0
0
0
0
0
1
9
-25
-5
49
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
29
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-27
-7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-27
0
0
0
0
0
0
0
0
0
0
2
-16
-8
7
12
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-46
-26
25
-11
0
0
0
0
0
0
0
0
0
0
0
0
55
17
20
-47
73
25
-72
-85
0
0
0
0
0
0
0
0
-1
4
-25
-10
54
3
-48
-8
-6
0
0
0
0
0
0
0
0
0
-6
5
-95
13
-24
58
13
-64
0
0
0
0
0
0
0
0
0
1
16
34
-48
-96
-74
45
-17
0
0
0
0
0
0
0
0
0
-5
1
-33
2
-10
35
-31
-2
0
0
0
0
0
0
0
0
0
0
-4
7
10
10
-25
13
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-29
1
0
0
0
0
0
0
0
0
7
12
24
-7
30
9
0
0
0
6
0
0
0
0
0
0
0
0
19
4
35
-4
19
0
0
0
26
0
0
0
0
0
0
0
-7
-3
-4
8
-7
42
20
-34
6
-21
0
0
0
0
0
0
0
0
12
-1
8
69
-18
30
-7
-112
5
0
0
0
0
0
0
0
0
0
-2
5
-31
54
-33
49
39
9
0
0
0
0
0
0
0
0
8
-24
-9
-42
-25
-2
-29
48
1
0
0
0
0
0
0
0
1
0
-8
5
2
8
-5
-13
-29
10
0
0
0
0
0
0
0
0
0
0
-2
18
2
20
-8
13
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-16
0
0
0
0
0
0
0
0
0
0
-7
2
-26
6
0
0
0
5
4
0
0
0
0
0
0
4
-15
-49
13
17
94
0
0
0
31
5
0
0
0
0
0
0
0
3
-4
-4
-22
-8
-13
11
13
0
-3
0
0
0
0
0
0
0
5
-25
12
9
31
9
-3
-25
-18
1
0
0
0
0
0
0
1
1
0
-25
-56
-31
59
19
-5
-8
6
0
0
0
0
0
0
8
5
-8
10
16
17
-12
6
-45
10
8
0
0
0
0
0
0
0
3
0
6
-42
-1
8
2
7
-41
-5
0
0
0
0
0
0
0
0
0
-1
2
-2
-4
45
7
42
3
0
0
0
0
0
0
0
0
0
0
0
0
-31
7
-17
6
0
0
0
0
0
0
0
0
-1
3
2
-12
5
0
0
0
0
0
0
0
0
0
0
0
-5
6
9
-49
-30
-7
0
0
0
-56
-7
0
0
0
0
0
0
-14
0
-27
13
-6
-29
-35
16
-13
-4
-7
0
0
0
0
0
0
0
-7
9
18
0
21
-71
87
-11
-55
8
1
0
0
0
0
0
0
0
0
0
-10
-70
-1
-13
15
21
-7
-2
0
0
0
0
0
0
-4
0
3
-49
43
-19
18
-99
1
-2
0
0
0
0
0
0
0
0
0
4
-2
-10
30
38
8
2
-2
0
0
0
0
0
0
0
0
0
0
1
-1
-3
-13
66
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
5
0
19
0
0
0
-51
-1
0
0
0
0
0
0
-5
0
2
0
32
-1
0
0
0
40
-25
-3
0
0
0
0
0
0
1
-16
6
10
1
14
-49
-54
-1
-8
-5
0
0
0
0
0
0
0
9
3
9
-5
6
-37
6
-5
1
3
0
0
0
0
0
0
-7
3
7
0
-20
29
-40
54
-25
-1
-2
0
0
0
0
0
0
0
0
-14
24
3
-14
6
-59
-12
0
0
0
0
0
0
0
0
0
0
1
7
7
-10
-19
-19
-21
-2
0
0
0
0
0
0
0
0
0
6
0
0
25
3
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
1
-2
0
-4
0
0
0
8
2
0
0
0
0
0
0
-1
0
5
-1
5
-3
-6
-17
2
0
-5
0
0
0
0
0
0
0
0
0
13
1
1
-30
-10
-20
0
-3
0
0
0
0
0
0
0
0
0
-7
5
0
5
-30
-22
3
-3
0
0
0
0
0
0
0
0
0
-5
0
2
10
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-5
-23
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
9
5
0
0
0
1
-1
0
0
0
0
0
0
0
-2
0
-5
5
13
0
0
0
2
13
0
0
0
0
0
0
0
0
-10
1
2
42
12
-79
-1
0
1
0
0
0
0
0
0
0
-5
0
0
-17
-23
-19
-7
2
-2
0
0
0
0
0
0
0
0
0
0
-10
-7
92
0
-8
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
33
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-16
0
5
-22
-42
-1
-3
0
0
0
0
0
0
0
0
0
0
0
39
-58
21
35
-9
-1
0
0
0
4
7
0
0
0
0
0
0
3
24
-43
-6
-23
53
-110
-28
-48
0
0
0
0
0
0
0
0
2
-4
1
25
-10
-48
-50
-64
-67
-3
0
0
0
0
0
0
0
-6
8
6
48
48
-26
-36
0
25
4
0
0
0
0
0
0
0
0
0
-6
-5
71
66
13
49
3
0
-1
0
0
0
0
0
0
0
-5
0
-9
46
7
8
23
-32
5
0
0
0
0
0
0
0
0
0
12
5
2
-28
16
-50
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
53
0
0
0
0
0
0
0
0
0
0
1
-7
-21
-19
-18
0
0
0
0
0
0
0
0
0
0
0
-13
-19
-35
102
31
-66
0
0
0
-9
1
1
0
0
0
0
0
0
-27
-37
-66
-15
-25
-41
33
18
-1
0
0
0
0
0
0
0
0
9
6
39
17
-3
-91
4
-54
-8
0
0
0
0
0
0
0
0
-4
23
-5
64
8
18
18
0
8
0
0
0
0
0
0
0
0
5
4
-2
31
-74
-1
-22
0
0
-4
0
0
0
0
0
0
0
0
-9
12
-31
-49
59
-46
53
4
0
0
0
0
0
0
0
0
0
0
0
-7
-4
50
-22
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
2
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
-5
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
23
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
12
21
7
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
8
-25
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
6
-15
-42
3
0
0
0
0
0
0
0
0
0
0
0
-44
8
-15
-25
-31
-37
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
45
16
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-39
0
-8
-52
0
0
0
0
0
0
0
0
0
0
-2
0
-1
8
31
6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
9
0
0
0
0
0
0
0
0
0
0
5
-17
-16
60
-25
0
0
0
0
0
0
0
0
0
0
0
-4
23
-20
-39
37
4
0
0
0
0
0
0
0
0
0
0
0
0
-16
71
64
-3
48
66
19
-66
0
0
0
0
0
0
0
0
2
0
-12
-32
14
-10
-16
14
27
0
0
0
0
0
0
0
0
0
0
-16
44
-13
57
-44
-85
49
0
0
0
0
0
0
0
0
0
2
13
19
-32
73
21
-31
-46
0
0
0
0
0
0
0
0
0
0
-6
-4
6
32
-9
92
-86
0
0
0
0
0
0
0
0
0
0
0
-6
-9
25
-44
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
18
3
0
0
0
0
0
0
0
0
0
8
-8
23
0
-6
0
0
0
-3
0
0
0
0
0
0
0
0
10
45
0
29
-10
0
0
0
0
0
0
0
0
0
0
0
0
-25
19
-49
-39
-31
50
9
14
2
0
0
0
0
0
0
0
-8
-3
4
45
0
-50
40
-59
49
-1
0
0
0
0
0
0
0
0
-4
-10
-28
-35
-21
-13
-6
-13
-5
0
0
0
0
0
0
0
4
0
-8
23
2
-14
-7
-39
-20
-18
0
0
0
0
0
0
0
0
-1
-9
3
-60
1
-24
-21
39
-10
0
0
0
0
0
0
0
0
0
0
-1
43
1
-31
-18
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
5
-14
0
-7
0
0
0
-14
0
0
0
0
0
0
-1
-1
-7
43
39
8
27
0
0
0
41
-1
0
0
0
0
0
0
-5
-5
-1
37
10
-16
31
19
55
-10
0
0
0
0
0
0
0
0
0
12
3
5
-46
-63
29
-15
64
0
0
0
0
0
0
0
0
0
-1
-5
-24
-39
-59
-16
-37
19
0
0
0
0
0
0
0
-1
1
0
-29
-23
-20
16
28
29
7
-22
0
0
0
0
0
0
0
0
-8
1
30
-42
13
-17
8
19
-8
0
0
0
0
0
0
0
0
0
0
-6
1
-51
1
22
12
8
0
0
0
0
0
0
0
0
0
0
0
-1
-6
10
8
-3
0
0
0
0
0
0
0
0
-45
-1
-2
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
-19
37
-5
0
0
0
13
-4
0
0
0
0
0
0
-2
0
-6
32
-69
39
-41
42
33
5
0
0
0
0
0
0
0
0
0
49
0
5
-66
-16
-22
-87
-8
0
-1
0
0
0
0
0
0
0
-7
-6
52
19
-69
-45
30
-1
8
0
0
0
0
0
0
0
0
20
0
58
-28
5
21
-24
-12
-7
0
0
0
0
0
0
0
-4
-1
-5
9
19
-6
-19
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-4
-73
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
0
0
0
0
0
0
0
0
0
0
1
-5
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
16
14
-7
-2
45
0
0
0
-13
2
2
0
0
0
0
0
0
0
0
-6
8
6
16
-6
41
3
-5
0
0
0
0
0
0
0
0
-1
-4
-42
-21
41
5
13
-41
0
0
0
0
0
0
0
0
0
5
-6
10
5
0
-27
-34
-2
1
0
0
0
0
0
0
0
-2
-3
1
0
34
7
74
16
7
-1
-4
0
0
0
0
0
0
0
-1
0
0
-18
-8
0
6
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
27
8
31
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
2
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
8
-9
-8
-2
0
0
0
-42
16
0
0
0
0
0
0
0
0
0
-6
3
-4
0
-8
34
-1
6
-6
0
0
0
0
0
0
0
0
3
9
1
15
4
-8
-8
0
0
0
0
0
0
0
0
0
-2
0
-5
10
24
23
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
76
-26
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
8
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
6
1
0
0
0
-1
-9
0
0
0
0
0
0
0
5
-61
6
-2
16
27
-25
0
0
-1
0
0
0
0
0
0
0
0
2
-73
4
5
-6
1
-20
-4
0
0
0
0
0
0
0
0
0
1
-2
10
-39
-5
66
-7
2
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
52
-22
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
0
-4
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
0
0
32
25
-16
-15
-8
0
0
0
0
0
0
0
0
0
0
0
-25
-27
-3
2
-22
37
0
0
0
0
-1
0
0
0
0
0
0
-2
-31
60
30
-8
-3
-114
52
-33
0
0
0
0
0
0
0
0
-1
5
13
93
39
9
27
-22
75
1
0
0
0
0
0
0
0
-4
-38
-23
-44
60
73
-41
-108
-69
0
0
0
0
0
0
0
0
4
6
29
-8
-5
-31
-47
0
-63
0
0
0
0
0
0
0
0
1
0
-6
25
-42
-13
16
-20
22
0
-2
0
0
0
0
0
0
0
0
0
-8
-45
20
19
72
30
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-48
0
0
0
0
0
0
0
0
0
0
-72
-7
-2
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-6
8
50
0
0
0
0
0
0
0
0
0
0
0
0
2
52
24
13
-12
-5
-72
-129
6
0
0
0
0
0
0
0
0
7
43
-5
0
-43
-5
75
-2
6
0
0
0
0
0
0
0
0
0
-1
44
-22
46
-10
52
-10
-12
0
0
0
0
0
0
0
0
1
2
-1
-12
69
3
-41
0
56
0
0
0
0
0
0
0
0
0
4
0
-1
15
10
30
-42
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-59
8
35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
6
-13
-4
12
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
1
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
-29
-5
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-8
0
6
-23
-19
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
14
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
24
-6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
6
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-41
0
0
0
0
0
0
0
0
0
0
-1
0
8
24
-6
0
0
0
0
0
0
0
0
0
0
0
-3
16
-18
8
17
65
0
0
0
0
0
0
0
0
0
0
0
-3
-32
59
25
-41
2
-57
-4
-117
0
0
0
0
0
0
0
0
0
8
-8
5
19
-42
-62
-41
-41
0
0
0
0
0
0
0
0
0
-8
4
-30
-25
-6
-49
-50
-23
0
0
0
0
0
0
0
0
0
0
2
2
26
36
-5
23
-24
0
0
0
0
0
0
0
0
0
1
-3
-13
-49
60
9
37
19
0
0
0
0
0
0
0
0
0
0
-4
0
0
-8
5
7
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
6
0
0
0
0
0
0
0
0
0
4
1
18
14
6
0
0
0
-1
0
0
0
0
0
0
0
42
-29
-9
14
-29
28
0
0
0
-4
0
0
0
0
0
0
0
0
1
-16
7
-21
28
4
11
-39
3
0
0
0
0
0
0
0
1
0
20
-23
-94
-49
-86
22
65
-4
0
0
0
0
0
0
0
0
-42
59
-69
-84
-58
67
-22
-6
16
0
0
0
0
0
0
0
0
8
48
1
9
-24
-2
0
-80
-13
0
0
0
0
0
0
0
0
0
-9
-12
10
6
63
-30
84
-3
0
0
0
0
0
0
0
0
-2
-1
5
-10
6
6
7
-48
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
5
3
0
0
0
0
0
0
0
0
-2
-9
2
35
-2
0
0
0
-8
-2
0
0
0
0
0
0
0
-5
-32
0
-13
-22
0
0
0
5
2
0
0
0
0
0
0
0
0
-33
-6
31
-1
-10
32
10
-8
0
0
0
0
0
0
0
0
-3
22
31
3
37
-7
6
4
-8
0
0
0
0
0
0
0
0
3
3
-14
9
-6
-40
-66
-44
-7
-2
0
0
0
0
0
0
0
-1
8
-42
1
-109
34
-9
-25
2
0
0
0
0
0
0
0
0
0
0
-18
5
-75
-31
-35
-8
-22
0
0
0
0
0
0
0
0
0
0
0
-7
-3
48
43
-33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
34
-10
1
0
0
0
0
0
0
0
0
51
0
-12
-7
42
0
0
0
0
0
0
0
0
0
0
0
0
-14
-59
42
12
3
0
0
0
17
0
0
0
0
0
0
0
0
1
-2
29
-6
8
-68
-1
21
-3
-3
0
0
0
0
0
0
2
-4
3
-37
41
-22
43
-25
-35
1
2
0
0
0
0
0
0
0
1
4
10
29
76
-14
22
-60
0
-5
0
0
0
0
0
0
0
0
-18
-5
-33
-34
-49
-9
10
1
0
0
0
0
0
0
0
0
0
0
0
14
-15
5
0
-93
-30
-6
0
0
0
0
0
0
0
0
0
0
0
-7
-5
-16
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-42
1
0
0
0
0
0
0
0
0
0
3
1
12
-2
13
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
-12
-4
8
0
0
0
-15
0
0
0
0
0
0
0
0
0
3
-9
0
0
-10
-2
-5
-2
0
0
0
0
0
0
0
0
-4
-2
10
-1
23
10
5
5
0
-6
0
0
0
0
0
0
0
-2
0
32
-9
-29
-1
13
3
-12
0
0
0
0
0
0
0
1
0
0
2
-6
5
-28
-19
-7
3
0
0
0
0
0
0
0
0
0
0
4
0
21
42
-3
-50
-13
5
0
0
0
0
0
0
0
0
0
0
-17
-1
-7
-15
42
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
1
1
0
0
0
0
0
0
0
0
7
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
25
8
-42
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
-14
16
42
1
0
0
14
-1
0
0
0
0
0
0
0
0
6
-14
-7
2
4
1
0
-3
1
0
0
0
0
0
0
0
0
0
1
-1
-4
25
-15
-17
16
0
0
0
0
0
0
0
0
0
-7
-5
-13
18
-2
9
5
12
0
5
0
0
0
0
0
0
0
0
0
-10
14
0
6
-34
19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
24
6
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
-1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
1
6
0
-4
-2
-8
0
-4
0
0
0
0
0
0
0
0
2
0
4
-7
-8
9
13
0
0
1
0
0
0
0
0
0
0
-1
0
-13
0
-7
-8
8
1
0
0
0
0
0
0
0
0
0
0
1
0
2
-58
-39
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
0
73
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
13
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
0
0
0
0
0
0
0
0
0
-16
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
27
2
-24
-34
0
0
0
0
0
0
0
0
0
0
0
3
-15
12
-8
13
2
-55
-5
11
0
0
0
0
0
0
0
0
0
0
-18
-31
-9
-69
-17
-75
-77
0
0
0
0
0
0
0
0
-12
7
9
12
69
25
-43
-120
-52
-9
0
0
0
0
0
0
0
0
0
8
8
25
21
32
-76
58
0
0
0
0
0
0
0
0
0
0
-5
5
5
43
-21
0
18
-3
0
0
0
0
0
0
0
0
0
12
0
-8
-13
-41
80
27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
13
0
0
0
0
0
0
0
0
0
-5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
31
0
-16
0
0
0
2
0
0
0
0
0
0
0
0
0
-12
44
-35
-28
10
-16
35
1
0
0
0
0
0
0
0
0
4
-23
8
-7
29
-54
-32
-43
41
0
0
0
0
0
0
0
0
0
-3
-25
0
-162
38
34
-32
-2
0
0
0
0
0
0
0
0
0
4
-7
23
21
-50
0
-58
5
0
0
0
0
0
0
0
0
0
0
-8
1
29
4
-10
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
-6
-57
10
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
0
0
0
14
-10
0
0
0
0
0
0
0
0
0
0
0
6
3
1
-24
0
5
0
0
0
0
0
0
0
0
0
0
1
0
-1
-3
5
-29
1
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-6
6
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-37
3
-4
29
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-13
-24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
5
-22
-23
-34
-96
-18
0
0
0
0
0
0
0
0
0
-3
-14
14
-41
1
-43
13
2
0
0
0
0
0
0
0
0
0
-22
5
-17
-12
-31
-9
8
-18
0
0
0
0
0
0
0
0
0
0
-4
1
-44
-66
9
-20
-49
0
0
0
0
0
0
0
0
0
0
0
-41
22
-41
3
8
22
0
0
0
0
0
0
0
0
0
1
-1
0
1
50
3
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-6
-3
17
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-19
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
-1
43
-13
4
16
-19
41
-25
0
0
0
0
0
0
0
0
0
-1
2
66
-56
-14
-90
-72
-61
0
0
0
0
0
0
0
0
0
-5
5
25
-50
2
-13
13
-9
-14
0
0
0
0
0
0
0
1
-1
-2
31
-7
-75
-29
-19
-8
4
0
0
0
0
0
0
0
0
0
0
-4
3
-41
-29
-81
-84
-5
0
0
0
0
0
0
0
0
0
0
0
-19
-32
45
-29
-93
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
49
29
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-42
14
52
0
15
54
-32
-1
0
0
0
0
0
0
0
0
5
-27
-27
9
-15
-13
-2
-17
2
0
0
0
0
0
0
0
0
0
-1
0
51
63
23
0
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-46
-23
-25
-26
-33
-1
0
0
0
0
0
0
0
0
0
3
17
39
-10
-13
-34
-25
-5
0
0
0
0
0
0
0
0
0
0
9
6
-19
0
-31
18
24
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-2
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
2
35
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
10
-29
0
-42
-8
6
19
2
0
0
0
0
0
0
0
0
0
0
-5
9
-48
-21
-45
-6
6
0
0
0
0
0
0
0
0
-2
0
0
1
5
8
-16
-8
0
0
0
0
0
0
0
0
0
0
2
0
-4
-3
-33
-69
-8
-3
0
0
0
0
0
0
0
0
0
0
0
2
-1
6
-51
49
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
-7
13
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
3
8
-8
8
4
0
0
1
0
0
0
0
0
0
0
0
0
-1
-12
-8
-27
-4
-27
5
0
0
0
0
0
0
0
0
0
0
8
0
-16
-2
-25
-41
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-2
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
8
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
3
-14
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
44
0
2
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-51
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
1
-24
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
14
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-16
2
-9
8
-7
0
0
0
0
0
0
0
0
0
0
2
8
-5
4
1
-8
-28
0
0
0
0
0
0
0
0
0
0
0
7
13
31
-84
-31
-25
0
0
0
0
0
0
0
0
0
0
0
-3
-43
16
42
-9
-32
0
0
0
0
0
0
0
0
0
0
0
14
-10
6
-24
19
-15
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
16
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-2
-2
-2
8
0
0
0
0
0
0
0
0
0
0
0
-6
0
-17
-8
-17
1
0
0
0
0
0
0
0
0
0
0
0
17
0
-14
-8
-12
0
-1
0
0
0
0
0
0
0
0
0
-29
0
0
-13
-55
-31
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
0
16
10
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-4
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-42
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-45
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
79
-42
-9
8
0
0
0
0
0
0
0
0
0
0
2
5
-123
5
-14
68
-17
0
0
0
0
0
0
0
0
0
0
51
-32
13
39
9
-70
-2
1
0
0
0
0
0
0
0
0
0
9
39
-34
49
42
22
0
0
0
0
0
0
0
0
0
0
0
3
-13
34
16
-7
-1
1
1
0
0
0
0
0
0
0
0
0
0
-13
49
-39
-1
4
-3
0
0
0
0
0
0
0
0
0
0
-33
-13
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-17
0
-7
32
0
0
0
0
0
0
0
0
0
45
-34
83
-52
22
41
-72
-5
-14
0
0
0
0
0
0
0
0
40
22
59
-4
-10
-30
-77
-25
-13
0
0
0
0
0
0
0
0
75
-46
20
-6
-4
21
-13
43
-3
0
0
0
0
0
0
0
0
85
66
58
-49
-13
17
-28
8
8
0
0
0
0
0
0
0
0
45
3
75
-50
-30
-10
10
61
-12
-2
0
0
0
0
0
0
0
-28
21
2
-11
21
-10
-28
-1
-14
0
0
0
0
0
0
0
0
-5
-58
-47
-27
-2
34
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
45
-26
17
-24
0
-8
0
0
0
0
0
0
0
-47
68
-33
4
-68
40
-102
-10
33
-9
0
0
0
0
0
0
0
-18
-76
8
-68
-78
-15
3
-9
58
-3
0
0
0
0
0
0
0
96
84
32
19
29
-70
13
-54
-3
-10
0
0
0
0
0
0
0
2
21
64
-48
-39
21
-12
24
34
-12
0
0
0
0
0
0
0
4
-71
-29
35
35
83
-26
13
-25
-8
0
0
0
0
0
0
0
-8
-5
41
-58
-107
28
-41
0
0
12
0
0
0
0
0
0
0
-2
-75
-4
-39
41
5
-37
1
-16
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
0
0
-5
-8
41
13
0
6
0
0
0
0
0
0
0
-8
-34
-35
41
47
-12
-52
-2
-10
2
0
0
0
0
0
0
0
-31
7
11
-64
-32
-41
-2
-42
-8
1
0
0
0
0
0
0
0
19
-11
23
-2
61
75
48
6
13
13
0
0
0
0
0
0
0
95
-5
84
-102
37
-100
21
-7
25
29
0
0
0
0
0
0
0
13
46
9
-41
30
-31
-1
-13
0
-5
0
0
0
0
0
0
0
13
-8
6
13
-41
10
17
2
-17
0
0
0
0
0
0
0
0
-8
-77
17
-22
-42
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-17
1
0
-1
33
31
0
0
0
0
0
0
0
0
0
-22
16
-27
-102
20
44
13
-49
37
0
0
0
0
0
0
0
0
22
-48
-30
42
31
67
-16
45
-8
1
0
0
0
0
0
0
0
-41
22
-1
11
30
37
25
-4
6
2
0
0
0
0
0
0
0
-2
13
-12
-60
19
40
-9
12
-8
41
0
0
0
0
0
0
0
6
-25
83
-50
5
3
-50
12
5
14
0
0
0
0
0
0
0
-1
-66
-28
23
-22
21
9
-18
-5
0
0
0
0
0
0
0
0
1
6
25
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-15
24
0
0
0
2
0
0
0
0
0
0
0
0
0
17
-5
39
-22
-4
0
-1
12
18
0
0
0
0
0
0
0
0
31
41
-41
17
41
-7
45
5
20
-1
0
0
0
0
0
0
0
-1
8
48
-23
15
-13
1
-14
5
0
0
0
0
0
0
0
0
-8
-5
-2
-5
19
44
-33
-3
-3
0
0
0
0
0
0
0
0
1
34
37
-10
-5
-24
0
-8
-3
-6
0
0
0
0
0
0
0
-5
-24
2
1
-5
2
0
2
1
0
0
0
0
0
0
0
0
0
18
-7
2
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
37
3
41
1
-4
0
-5
0
0
0
0
0
0
0
0
0
20
42
-6
30
56
0
4
0
0
0
0
0
0
0
0
0
0
-5
15
-24
15
2
-46
0
-2
0
0
0
0
0
0
0
0
0
-8
-1
1
-4
-1
-8
0
8
-4
0
0
0
0
0
0
0
0
2
0
-2
42
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
-13
-4
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
7
4
23
-6
-37
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
2
7
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-32
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
-56
-25
-30
59
-24
-3
0
0
0
0
0
0
0
0
0
31
4
7
23
5
41
-8
-6
0
0
0
0
0
0
0
0
0
-54
-4
48
66
27
46
-27
1
0
0
0
0
0
0
0
0
0
20
-41
-39
19
46
2
-7
7
0
0
0
0
0
0
0
0
0
-6
9
-8
33
63
37
8
12
0
0
0
0
0
0
0
0
0
-4
100
42
-5
-35
10
1
-8
0
0
0
0
0
0
0
0
0
-10
1
22
12
-4
0
0
-6
0
0
0
0
0
0
0
0
0
5
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-17
43
-37
52
23
-41
-52
0
0
0
0
0
0
0
0
0
16
31
-9
-70
2
59
49
48
-9
0
0
0
0
0
0
0
0
40
33
-40
8
15
-20
47
-13
1
9
0
0
0
0
0
0
0
-7
21
22
56
73
10
15
13
17
0
0
0
0
0
0
0
0
91
-32
32
52
41
84
-12
5
-14
4
0
0
0
0
0
0
0
22
21
21
-10
-4
-8
12
2
-3
0
0
0
0
0
0
0
0
29
47
13
-45
20
-31
-2
-1
-10
0
0
0
0
0
0
0
0
24
16
5
6
0
-5
0
3
-2
0
0
0
0
0
0
0
0
8
12
-32
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
3
-5
30
-51
-21
-91
-66
0
2
0
0
0
0
0
0
0
97
-9
19
44
19
65
-60
-22
-56
-4
0
0
0
0
0
0
0
21
59
46
33
40
-39
-19
66
8
-23
0
0
0
0
0
0
0
51
13
97
40
5
-44
3
-43
8
8
-1
0
0
0
0
0
0
17
-13
-9
34
10
41
1
-23
-19
-23
0
0
0
0
0
0
0
-13
24
-80
-103
-29
0
-4
41
43
20
0
0
0
0
0
0
0
43
-80
-45
26
49
-15
-2
0
-22
0
0
0
0
0
0
0
0
0
-18
-10
32
-14
74
-8
10
-1
0
0
0
0
0
0
0
0
0
-7
-6
-8
1
0
5
0
0
0
0
0
0
0
0
0
0
-10
45
105
-7
66
-21
-9
-15
0
-4
0
0
0
0
0
0
0
-27
34
77
29
3
77
71
-30
-23
2
-3
0
0
0
0
0
0
-15
-73
-7
-32
24
-22
-27
-85
-41
9
0
0
0
0
0
0
0
-23
103
70
65
-24
94
44
45
18
-2
0
0
0
0
0
0
0
83
-46
84
-6
21
9
37
-12
39
2
0
0
0
0
0
0
0
16
51
8
18
-18
112
-45
54
0
2
0
0
0
0
0
0
0
-15
-43
-45
-46
35
7
41
-2
-2
0
0
0
0
0
0
0
0
-1
13
-49
6
-9
5
7
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
12
7
0
0
0
0
0
0
0
0
0
0
0
-25
-6
22
52
0
-51
-89
-49
0
0
0
0
0
0
0
0
0
25
-78
33
5
-68
13
5
21
5
0
0
0
0
0
0
0
0
-19
26
-26
-7
-64
-13
-19
-77
29
-5
0
0
0
0
0
0
0
37
41
-12
18
-13
136
-134
41
29
49
0
0
0
0
0
0
0
-12
72
17
62
42
2
-22
8
-50
-13
4
0
0
0
0
0
0
-4
-49
-11
-11
4
-37
15
-42
42
-6
0
0
0
0
0
0
0
-4
5
8
1
-7
-32
-5
-1
59
-7
0
0
0
0
0
0
0
-3
-40
-23
12
0
-1
0
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
44
57
-31
5
4
-91
-31
0
1
0
0
0
0
0
0
0
-2
-9
6
1
133
-13
22
25
-27
-1
-1
0
0
0
0
0
0
5
-22
56
-22
-21
48
-18
-42
25
-1
0
0
0
0
0
0
0
-13
7
49
36
49
-18
75
18
-12
0
0
0
0
0
0
0
0
41
27
24
22
-28
-8
-46
41
0
14
0
0
0
0
0
0
0
2
44
-18
18
15
-1
-10
-34
-3
0
0
0
0
0
0
0
0
31
33
30
50
42
18
-52
-14
-6
0
0
0
0
0
0
0
0
0
-43
5
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
49
33
-15
-10
-4
-2
0
-1
0
0
0
0
0
0
0
0
10
51
-22
-42
-67
10
-8
6
0
0
0
0
0
0
0
0
0
6
23
48
23
-16
42
-4
-6
-3
0
0
0
0
0
0
0
0
22
46
125
33
-1
18
10
2
-13
0
0
0
0
0
0
0
0
45
-18
-10
-18
-40
13
13
-3
2
0
0
0
0
0
0
0
0
6
21
-42
-43
22
-16
7
-5
-5
0
0
0
0
0
0
0
0
-13
47
-13
3
1
-3
7
2
0
0
0
0
0
0
0
0
0
59
7
3
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-1
-1
-8
1
0
0
1
0
0
0
0
0
0
0
-2
0
-24
-49
-18
-1
-3
3
1
0
0
0
0
0
0
0
0
0
-1
17
-9
3
-12
-9
1
0
-1
0
0
0
0
0
0
0
0
5
5
1
0
-3
3
0
-8
0
0
0
0
0
0
0
0
-4
0
15
9
0
-5
-2
-5
0
3
0
0
0
0
0
0
0
1
0
0
6
-1
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-5
-9
0
-1
13
0
0
0
0
0
0
0
0
0
0
17
42
-25
8
-21
32
-2
-3
0
0
0
0
0
0
0
0
0
2
-16
-25
13
47
-19
4
1
0
0
0
0
0
0
0
0
0
-14
42
-1
23
0
-2
1
0
0
0
0
0
0
0
0
0
0
15
1
-56
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-7
15
99
50
-47
0
-2
0
0
0
0
0
0
0
0
0
34
5
-30
26
153
1
9
-1
0
0
0
0
0
0
0
0
0
30
-31
44
-45
0
1
0
0
0
0
0
0
0
0
0
0
0
-15
-10
-26
5
12
0
1
1
0
0
0
0
0
0
0
0
0
5
8
30
18
32
0
-6
0
0
0
0
0
0
0
0
0
0
8
2
-6
13
-8
-5
0
0
0
0
0
0
0
0
0
0
0
3
-6
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-6
-107
-32
-1
0
0
0
0
0
0
0
0
0
0
0
5
19
14
-48
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
1
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
61
89
49
-5
42
-2
2
0
0
0
0
0
0
0
0
0
24
46
-54
-78
-15
-16
-8
6
0
0
0
0
0
0
0
0
0
-18
27
-17
49
9
-3
9
6
-10
0
0
0
0
0
0
0
0
-4
4
46
30
15
-8
-10
-1
0
0
0
0
0
0
0
0
0
-5
48
-49
85
4
8
14
0
2
0
0
0
0
0
0
0
0
42
55
31
41
2
-22
0
-2
0
0
0
0
0
0
0
0
0
-19
1
-13
-17
-8
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
43
-35
-73
-13
12
-20
-17
0
0
0
0
0
0
0
0
0
12
25
-36
8
48
-3
-56
-2
10
0
0
0
0
0
0
0
0
-15
13
53
2
-17
20
-48
-21
83
19
0
0
0
0
0
0
0
31
0
-27
-36
38
40
70
42
-16
0
0
0
0
0
0
0
0
9
-50
107
0
75
-1
-93
-1
16
8
0
0
0
0
0
0
0
-39
5
45
6
44
-19
40
-18
-41
0
0
0
0
0
0
0
0
-13
-34
75
5
79
37
1
-12
0
0
0
0
0
0
0
0
0
29
22
5
22
5
0
0
-4
-2
0
0
0
0
0
0
0
0
-22
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
68
18
45
44
-17
-4
17
0
-12
0
0
0
0
0
0
0
-7
-19
20
16
49
-2
-58
41
-18
0
-4
0
0
0
0
0
0
23
-34
5
21
-18
-120
63
6
19
-5
0
0
0
0
0
0
0
-6
23
-6
13
31
-9
-10
44
12
22
0
0
0
0
0
0
0
44
17
-76
8
16
-43
-20
116
8
6
0
0
0
0
0
0
0
-42
80
-2
129
-10
-4
17
-31
-15
-5
0
0
0
0
0
0
0
33
57
52
-58
33
-33
-19
0
-8
-3
0
0
0
0
0
0
0
2
54
27
-42
-8
-1
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
40
25
-13
-4
-3
57
0
0
0
0
0
0
0
0
0
-7
26
74
-24
-43
-47
-26
-41
-8
0
0
0
0
0
0
0
0
-12
28
20
40
-50
22
29
13
4
4
0
0
0
0
0
0
0
2
14
57
-2
17
60
9
18
8
3
0
0
0
0
0
0
0
-1
-51
36
-90
-31
-13
1
0
30
1
0
0
0
0
0
0
0
-27
-19
5
-15
-3
-5
25
-23
4
0
0
0
0
0
0
0
0
-9
9
-26
30
2
-24
-4
-5
8
0
0
0
0
0
0
0
0
8
-1
32
-2
-3
8
0
1
0
0
0
0
0
0
0
0
0
-35
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
7
63
47
15
-35
13
3
0
0
0
0
0
0
0
0
0
-31
-16
-59
-59
27
14
-5
-34
-48
-6
2
0
0
0
0
0
0
7
28
87
-46
33
-77
-16
-8
-8
25
0
0
0
0
0
0
0
93
-64
-34
0
-30
31
7
28
41
-13
0
0
0
0
0
0
0
-8
43
-10
-30
37
14
8
-20
6
-8
0
0
0
0
0
0
0
2
-22
51
5
31
1
-54
-23
0
-2
0
0
0
0
0
0
0
-5
31
-2
-63
-16
18
1
0
1
0
0
0
0
0
0
0
0
19
-75
-14
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-43
-27
-54
17
25
14
-18
0
-2
0
0
0
0
0
0
0
6
42
42
-2
22
-7
8
16
0
0
0
0
0
0
0
0
0
-49
-20
22
48
-13
-9
-19
7
-18
2
0
0
0
0
0
0
0
-9
-14
68
-64
35
-16
-45
24
-7
4
0
0
0
0
0
0
0
42
3
-15
5
13
32
53
5
-25
-1
0
0
0
0
0
0
0
-23
-49
59
2
-1
20
24
-4
0
0
0
0
0
0
0
0
0
17
-8
33
-15
0
-2
-4
2
7
0
0
0
0
0
0
0
0
0
-61
-14
23
0
0
0
5
0
0
0
0
0
0
0
0
0
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-5
-12
31
-45
13
25
0
-13
0
0
0
0
0
0
0
-5
13
41
24
7
-30
2
-41
41
0
4
0
0
0
0
0
0
0
-45
0
51
1
-37
24
1
3
-1
0
0
0
0
0
0
0
0
34
-27
-10
-60
-17
2
1
9
4
0
0
0
0
0
0
0
0
-37
-4
-19
12
-15
-35
1
4
0
0
0
0
0
0
0
0
3
-23
-12
-7
-3
-10
3
4
0
0
0
0
0
0
0
0
0
0
7
-15
42
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-18
22
5
-33
19
0
-1
0
0
0
0
0
0
0
-4
-30
57
-10
31
-49
-20
-13
0
0
0
0
0
0
0
0
0
-21
30
-47
3
-19
-2
2
6
0
0
0
0
0
0
0
0
0
-49
-5
-27
21
17
-14
-5
-3
3
0
0
0
0
0
0
0
0
0
-8
3
5
-12
8
12
0
0
0
0
0
0
0
0
0
0
4
-5
-12
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-8
5
-18
2
1
0
5
-2
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
16
92
9
-31
42
18
1
0
0
0
0
0
0
0
0
0
-20
12
9
5
0
41
65
-10
3
0
0
0
0
0
0
0
0
-42
-44
50
-35
-41
-22
20
0
0
0
0
0
0
0
0
0
0
-30
-5
-23
13
66
-64
0
0
0
0
0
0
0
0
0
0
0
-3
35
7
-13
-3
-5
0
0
-2
0
0
0
0
0
0
0
0
-47
16
-28
4
-17
5
0
1
0
0
0
0
0
0
0
0
0
-2
10
-1
-3
0
0
-4
-2
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-8
-13
-76
89
-13
75
0
-2
0
0
0
0
0
0
0
0
24
-103
-8
-76
-3
-23
-11
20
0
0
0
0
0
0
0
0
0
50
-22
45
-1
28
-97
24
2
0
0
0
0
0
0
0
0
0
-57
25
5
-57
-35
-37
10
-4
0
0
0
0
0
0
0
0
0
22
-23
-18
40
-43
-13
-1
-1
0
0
0
0
0
0
0
0
0
82
9
-35
-12
-20
2
9
0
0
0
0
0
0
0
0
0
0
-31
-2
-57
8
0
0
1
-1
0
0
0
0
0
0
0
0
0
57
-7
-16
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-16
2
2
0
-1
0
0
0
0
0
0
0
0
0
-23
4
42
25
32
2
2
0
0
0
0
0
0
0
0
0
0
56
-10
-7
-33
41
1
10
0
0
0
0
0
0
0
0
0
0
-2
-5
14
-9
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-7
1
-5
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-17
0
0
0
0
0
0
0
0
0
0
2
1
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-75
17
-4
-22
1
0
0
0
0
0
0
0
0
0
0
-3
46
7
19
24
-18
41
13
0
0
0
0
0
0
0
0
0
13
-14
3
3
-73
-8
1
6
6
0
0
0
0
0
0
0
0
1
4
-4
10
10
33
0
-1
2
0
0
0
0
0
0
0
0
-2
79
45
20
13
-13
-16
0
0
0
0
0
0
0
0
0
0
-7
45
-9
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
-20
8
-2
0
0
0
0
0
0
0
0
0
0
0
8
33
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
13
49
11
-49
-76
-20
-59
0
0
0
0
0
0
0
0
0
-43
-66
-114
32
33
30
-46
-19
17
-3
0
0
0
0
0
0
0
27
-7
-4
5
31
-31
34
-4
-12
-8
0
0
0
0
0
0
0
5
-13
54
-46
18
32
-47
5
27
0
0
0
0
0
0
0
0
-1
24
-2
12
22
48
60
-49
-41
0
0
0
0
0
0
0
0
51
-49
-4
38
-29
35
102
-3
-14
-2
0
0
0
0
0
0
0
-33
-2
-19
-21
1
13
-25
-12
2
0
0
0
0
0
0
0
0
5
41
9
6
2
17
4
-3
0
0
0
0
0
0
0
0
0
13
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
15
-47
13
93
18
-9
0
-2
0
0
0
0
0
0
0
9
64
12
-46
60
-63
51
0
50
0
4
0
0
0
0
0
0
22
-21
-41
-30
40
22
35
30
41
0
0
0
0
0
0
0
0
-33
15
-31
-27
-9
-106
-31
13
109
-1
0
0
0
0
0
0
0
17
-17
6
-1
-48
-27
-7
-42
-4
5
0
0
0
0
0
0
0
4
-10
7
21
69
28
42
-14
-24
0
0
0
0
0
0
0
0
24
-13
-22
37
-9
-31
-10
6
3
0
0
0
0
0
0
0
0
-34
-33
-57
2
41
31
1
0
0
0
0
0
0
0
0
0
0
-29
-23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
26
-22
3
-55
-20
67
0
4
0
0
0
0
0
0
0
21
43
-18
-5
-32
28
43
-17
-3
0
-2
0
0
0
0
0
0
-3
13
-16
0
-3
-26
-12
-1
-31
24
0
0
0
0
0
0
0
75
57
68
9
-5
37
5
-2
17
6
0
0
0
0
0
0
0
32
-35
-6
-19
2
20
20
-4
3
0
0
0
0
0
0
0
0
16
49
14
-27
-17
-46
19
8
2
0
0
0
0
0
0
0
0
10
13
42
-42
-2
-16
-1
0
-2
0
0
0
0
0
0
0
0
8
53
-4
27
2
4
0
0
-3
0
0
0
0
0
0
0
0
-8
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
43
21
80
-33
24
15
0
0
0
0
0
0
0
0
0
12
14
-16
-44
50
112
-26
-28
-67
1
0
0
0
0
0
0
0
1
-32
16
2
0
-44
-13
60
-4
-1
0
0
0
0
0
0
0
13
7
-17
8
35
-5
25
-6
-56
-4
0
0
0
0
0
0
0
-10
-62
26
-47
8
-19
-16
45
-8
4
0
0
0
0
0
0
0
16
28
-10
33
-50
20
4
-22
-20
2
0
0
0
0
0
0
0
34
-16
21
-9
12
8
-25
0
2
0
0
0
0
0
0
0
0
-3
31
42
-12
0
0
0
0
2
0
0
0
0
0
0
0
0
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-37
8
3
33
4
-13
27
0
0
0
0
0
0
0
0
0
5
109
9
-24
85
5
-52
30
14
1
0
0
0
0
0
0
0
16
-55
-32
55
-39
-12
5
-21
1
8
0
0
0
0
0
0
0
2
-16
-22
5
-27
3
-1
-39
1
0
0
0
0
0
0
0
0
5
-75
37
-9
-34
4
1
-31
-13
0
0
0
0
0
0
0
0
1
-39
-25
35
63
-4
-18
5
0
0
0
0
0
0
0
0
0
-2
-30
31
29
25
-2
-9
4
0
0
0
0
0
0
0
0
0
13
-22
-17
2
-3
0
0
-2
0
0
0
0
0
0
0
0
0
1
5
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
19
-12
71
-5
11
21
0
0
0
0
0
0
0
0
0
0
-18
15
-15
42
-13
54
22
10
0
0
0
0
0
0
0
0
0
12
-38
24
-6
-31
5
7
3
0
0
0
0
0
0
0
0
0
-35
-61
1
-19
-4
2
0
-3
0
0
0
0
0
0
0
0
0
23
15
-49
5
-16
0
-1
-6
-1
0
0
0
0
0
0
0
0
35
-5
-22
3
-20
5
3
0
0
0
0
0
0
0
0
0
0
-27
31
-2
4
0
1
0
-8
0
0
0
0
0
0
0
0
0
8
0
-1
0
1
0
-3
0
0
0
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
-5
-13
-2
37
-15
-23
0
0
0
0
0
0
0
0
0
-22
13
18
46
-49
7
7
25
-30
0
0
0
0
0
0
0
0
-5
-12
41
-42
21
-42
-32
0
-4
2
0
0
0
0
0
0
0
-27
2
20
-35
9
-8
-1
0
0
0
0
0
0
0
0
0
0
-25
-14
-2
-64
1
20
-29
0
-4
0
0
0
0
0
0
0
0
13
0
-14
5
1
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
-25
-2
7
0
0
-3
-2
0
0
0
0
0
0
0
0
0
7
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-83
-34
4
-24
-23
14
22
0
0
0
0
0
0
0
0
0
-24
-34
-48
19
62
31
61
71
-30
2
0
0
0
0
0
0
0
30
8
-10
-125
-46
62
-1
-3
2
0
0
0
0
0
0
0
0
-7
16
22
-23
2
-17
22
-1
0
0
0
0
0
0
0
0
0
13
5
-51
-84
78
25
42
-3
0
0
0
0
0
0
0
0
0
-61
-87
20
12
-7
3
-4
-3
1
-1
0
0
0
0
0
0
0
14
25
38
29
22
-17
0
0
1
0
0
0
0
0
0
0
0
5
-56
-6
9
0
0
0
0
-2
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-13
-28
-115
-1
56
72
0
0
0
0
0
0
0
0
0
0
-2
45
-52
-22
91
-4
-5
21
0
0
0
0
0
0
0
0
0
86
-50
39
72
-32
69
30
-8
0
0
0
0
0
0
0
0
0
-31
13
2
13
13
-80
14
0
0
0
0
0
0
0
0
0
0
12
-21
-6
-5
3
17
-4
0
0
0
0
0
0
0
0
0
0
-80
-34
-15
52
21
-1
8
1
0
0
0
0
0
0
0
0
0
-57
16
48
-3
6
-2
-7
4
-5
0
0
0
0
0
0
0
0
-40
-13
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
2
0
0
-5
0
0
0
0
0
0
0
0
0
12
6
28
13
14
3
-1
-3
0
0
0
0
0
0
0
0
0
-2
1
-64
-3
-29
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
-34
-2
-9
-6
0
0
0
0
0
0
0
0
0
0
6
5
4
-4
4
0
-2
0
0
0
0
0
0
0
0
0
0
5
-3
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
19
23
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
12
30
20
-13
43
1
0
0
0
0
0
0
0
0
0
3
52
5
1
19
5
-27
-9
0
0
0
0
0
0
0
0
0
-8
8
-79
21
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-23
-2
-3
-3
0
0
0
0
0
0
0
0
0
-2
43
-28
24
-6
0
-4
-1
0
0
0
0
0
0
0
0
0
13
22
32
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
-32
23
-17
4
8
2
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
29
19
-7
-2
13
-19
4
0
0
0
0
0
0
0
0
0
-53
-25
-6
12
21
29
26
92
-1
0
0
0
0
0
0
0
0
-34
-46
-10
-7
-8
50
7
0
-4
0
0
0
0
0
0
0
0
14
-25
48
-49
17
-12
41
31
25
0
0
0
0
0
0
0
0
-3
0
0
57
24
-53
15
-7
14
0
0
0
0
0
0
0
0
69
5
27
-64
-49
45
5
14
1
0
0
0
0
0
0
0
0
29
43
30
25
-3
29
-18
-4
3
0
0
0
0
0
0
0
0
50
-6
-29
0
1
-42
1
-5
0
0
0
0
0
0
0
0
0
-46
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
17
-13
2
24
-6
0
0
0
0
0
0
0
0
0
5
-46
113
8
-6
-23
-70
-55
-19
0
2
0
0
0
0
0
0
8
75
-5
-88
38
4
13
21
-14
7
0
0
0
0
0
0
0
23
48
-21
-101
-72
-52
58
51
-6
0
0
0
0
0
0
0
0
0
14
0
-31
8
-31
-34
16
4
0
0
0
0
0
0
0
0
8
75
-5
0
-28
28
-30
25
18
-2
0
0
0
0
0
0
0
6
78
17
17
-33
43
-10
-22
-2
-7
0
0
0
0
0
0
0
35
5
35
-31
44
7
-2
-4
-4
0
0
0
0
0
0
0
0
9
-10
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
22
79
53
44
-4
-17
59
0
0
0
0
0
0
0
0
0
16
10
208
-53
-3
10
-31
51
-1
0
0
0
0
0
0
0
0
-49
41
67
25
12
-36
29
-24
-4
8
0
0
0
0
0
0
0
23
-37
41
-12
15
-30
10
-8
42
6
0
0
0
0
0
0
0
-34
35
0
0
1
-21
33
3
-8
0
0
0
0
0
0
0
0
7
-5
58
-1
45
-20
27
-3
0
0
0
0
0
0
0
0
0
-14
5
-16
1
12
-4
13
0
2
0
0
0
0
0
0
0
0
7
-3
-8
-8
-3
-2
0
0
2
0
0
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
27
64
-26
42
-22
-22
0
3
0
0
0
0
0
0
0
5
50
10
14
-79
13
-24
-10
6
-4
0
0
0
0
0
0
0
22
-34
-2
-8
31
29
-25
29
13
-5
0
0
0
0
0
0
0
12
20
-22
-14
-2
-39
-4
10
-1
0
0
0
0
0
0
0
0
0
-3
-20
-2
0
2
3
-18
6
1
0
0
0
0
0
0
0
-8
45
0
42
2
-1
-41
2
19
0
0
0
0
0
0
0
0
-1
21
8
23
1
-2
-1
-7
0
0
0
0
0
0
0
0
0
-3
41
-43
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
5
17
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
17
59
-38
0
-16
-5
0
0
0
0
0
0
0
0
0
-4
41
49
-43
42
-14
41
-8
-9
1
0
0
0
0
0
0
0
19
27
-13
-27
22
16
-31
-3
1
-2
0
0
0
0
0
0
0
27
-3
-41
-1
-49
-2
6
-4
-3
-3
0
0
0
0
0
0
0
0
-31
-2
13
0
0
0
8
2
0
0
0
0
0
0
0
0
4
93
-14
21
32
0
0
-2
3
0
0
0
0
0
0
0
0
-17
69
5
14
-2
2
-2
0
-1
0
0
0
0
0
0
0
0
-4
-42
-12
29
-2
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
31
-23
-15
-8
-13
0
-3
0
0
0
0
0
0
0
0
-16
12
42
41
-95
-10
-5
5
0
0
0
0
0
0
0
0
0
30
-34
6
7
17
66
5
0
-1
0
0
0
0
0
0
0
0
-24
48
-49
-5
-17
0
2
0
4
0
0
0
0
0
0
0
0
-12
8
-1
14
0
0
0
6
0
0
0
0
0
0
0
0
0
-30
5
31
4
6
0
0
0
0
0
0
0
0
0
0
0
0
-48
6
13
4
5
0
0
0
2
0
0
0
0
0
0
0
-9
-2
3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
51
0
-75
5
31
5
0
0
0
0
0
0
0
0
0
35
-28
-24
-20
-39
5
65
2
-22
0
0
0
0
0
0
0
0
-15
4
-7
42
20
-22
-23
-8
9
-4
0
0
0
0
0
0
0
-14
-48
50
-75
-4
-31
-1
1
-3
0
0
0
0
0
0
0
0
1
41
-8
-3
-24
4
0
0
0
0
0
0
0
0
0
0
0
21
1
12
58
-53
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-22
-18
0
0
0
0
0
0
0
0
0
0
0
0
-25
-9
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
28
54
-5
28
25
34
70
0
-1
0
0
0
0
0
0
0
-110
-4
-23
-9
8
3
-10
62
-31
-10
0
0
0
0
0
0
0
66
6
-25
23
41
66
48
-68
-20
3
0
0
0
0
0
0
0
-12
-30
-105
-71
-14
3
-14
-10
1
5
0
0
0
0
0
0
0
52
-41
28
21
0
-75
5
0
0
0
0
0
0
0
0
0
0
-5
29
60
44
-20
7
-9
0
0
0
0
0
0
0
0
0
0
-8
-50
3
-34
34
-12
7
0
-8
0
0
0
0
0
0
0
0
-13
18
-27
-8
0
0
0
0
19
0
0
0
0
0
0
0
0
42
6
-9
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
45
-49
-13
73
16
20
51
0
0
0
0
0
0
0
0
0
0
-49
-27
-8
14
2
84
0
25
-1
0
0
0
0
0
0
0
0
120
-53
9
-61
12
-17
49
-3
0
0
0
0
0
0
0
0
0
2
23
-45
8
55
69
84
-9
0
0
0
0
0
0
0
0
0
-4
-56
-98
-55
-63
-60
-5
0
0
0
0
0
0
0
0
0
0
22
49
-5
89
0
25
42
1
0
0
0
0
0
0
0
0
0
41
31
-29
-21
-32
12
1
-3
-2
0
0
0
0
0
0
0
0
65
33
-66
-6
24
0
4
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-19
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
-14
0
23
5
8
9
2
2
0
0
0
0
0
0
0
0
0
-20
5
12
5
0
-29
0
0
0
0
0
0
0
0
0
0
0
4
-2
12
-8
-8
0
-2
0
0
0
0
0
0
0
0
0
0
2
3
13
5
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-20
-2
0
0
17
0
0
0
0
0
0
0
0
0
0
-8
6
-6
-20
-2
-5
2
10
0
0
0
0
0
0
0
0
0
-23
-17
24
-9
-2
0
3
0
0
0
0
0
0
0
0
0
0
-2
-6
25
18
-4
27
-1
0
0
0
0
0
0
0
0
0
0
0
-19
61
6
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-2
6
0
-1
0
0
0
0
0
0
0
0
0
0
4
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
66
9
11
99
24
39
8
0
0
0
0
0
0
0
0
0
-93
-50
43
52
22
-48
-5
-1
-2
-4
0
0
0
0
0
0
0
44
13
46
5
38
-2
-41
-6
2
0
0
0
0
0
0
0
0
-32
-25
22
-73
-35
3
24
43
-6
0
0
0
0
0
0
0
0
-14
0
-15
-32
31
-5
24
-39
-20
0
0
0
0
0
0
0
0
0
0
-1
3
-6
84
29
-4
12
0
0
0
0
0
0
0
0
8
0
-2
-13
-20
-10
42
-3
-4
0
0
0
0
0
0
0
0
-2
15
-2
-4
-56
5
0
0
0
0
0
0
0
0
0
0
0
3
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
32
21
42
15
16
0
24
0
0
0
0
0
0
0
0
0
0
22
0
76
50
-114
49
-27
12
17
0
0
0
0
0
0
0
13
-11
-27
-21
25
5
2
-13
-1
0
0
0
0
0
0
0
0
-1
23
13
45
-8
6
6
13
-9
0
0
0
0
0
0
0
0
0
-7
0
-49
-22
-109
-18
16
19
0
0
0
0
0
0
0
0
-12
17
0
5
34
49
9
19
-16
-2
0
0
0
0
0
0
0
-10
-6
-4
8
-42
7
13
-7
-1
0
0
0
0
0
0
0
0
5
-15
5
20
13
-15
0
3
0
0
0
0
0
0
0
0
0
27
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
39
-25
44
9
-23
21
0
0
0
0
0
0
0
0
0
4
78
-20
-29
16
-29
17
-3
-4
0
-4
0
0
0
0
0
0
1
87
32
-14
-4
56
-6
5
-6
0
0
0
0
0
0
0
0
8
28
4
-54
58
10
5
12
2
-3
0
0
0
0
0
0
0
13
59
-15
1
49
8
-13
-1
-3
0
0
0
0
0
0
0
0
-2
23
0
0
-5
-1
43
8
-8
0
0
0
0
0
0
0
0
-5
-126
48
0
3
-8
4
0
1
0
0
0
0
0
0
0
0
-13
-34
34
2
1
0
0
0
1
0
0
0
0
0
0
0
0
-8
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-42
41
31
-41
-30
43
15
0
0
0
0
0
0
0
0
0
0
4
-12
0
-68
32
-2
24
-1
0
0
0
0
0
0
0
0
47
50
50
10
42
7
-43
-1
16
-3
0
0
0
0
0
0
0
1
44
47
18
10
54
12
19
0
-1
0
0
0
0
0
0
0
-1
49
40
-66
-8
15
-27
-8
2
0
0
0
0
0
0
0
0
-9
-6
49
-1
0
25
0
1
-9
0
0
0
0
0
0
0
0
6
-4
-48
18
1
-4
10
-7
0
0
0
0
0
0
0
0
0
32
41
14
2
0
-2
0
-4
0
0
0
0
0
0
0
0
0
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
-49
7
5
-21
-44
-21
0
0
0
0
0
0
0
0
0
3
-1
-34
-50
58
-19
-10
16
4
0
5
0
0
0
0
0
0
14
-46
-28
-16
-11
-3
-44
-21
-2
0
0
0
0
0
0
0
0
4
12
-45
20
30
1
32
-24
33
-8
0
0
0
0
0
0
0
1
-56
15
33
-6
6
0
-1
1
-1
0
0
0
0
0
0
0
0
-45
43
-3
1
0
0
-3
0
0
0
0
0
0
0
0
0
25
-31
90
35
-17
-3
-1
5
-2
0
0
0
0
0
0
0
0
2
34
20
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-49
16
-13
-5
41
-10
0
0
0
0
0
0
0
0
0
0
-35
-7
-21
-6
-1
-42
46
8
0
0
0
0
0
0
0
0
0
-5
12
-30
-33
-26
-28
-12
-15
0
0
0
0
0
0
0
0
0
59
2
15
-20
13
13
13
-1
0
0
0
0
0
0
0
0
0
-24
-21
41
-48
10
0
2
-8
0
0
0
0
0
0
0
0
0
-9
12
-37
6
0
0
0
0
5
0
0
0
0
0
0
0
4
13
1
25
-22
8
1
0
5
0
0
0
0
0
0
0
0
1
-4
-13
22
0
5
0
-3
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
-1
-34
1
-3
-45
0
0
0
0
0
0
0
0
0
0
-6
-6
-21
-8
5
24
49
-47
13
0
0
0
0
0
0
0
0
10
21
-24
-96
-30
59
-1
-4
16
1
0
0
0
0
0
0
0
-19
-1
-18
-27
42
17
29
-1
-2
0
0
0
0
0
0
0
0
-12
-25
-13
-4
8
-3
-9
0
0
0
0
0
0
0
0
0
0
-8
-23
-3
-8
13
5
0
0
0
0
0
0
0
0
0
0
0
9
18
-12
3
4
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
19
49
5
41
8
-20
0
-1
0
0
0
0
0
0
0
23
-94
17
-64
-5
25
24
-3
-21
-2
0
0
0
0
0
0
0
-24
-51
-47
1
-60
67
120
-44
-9
-6
0
0
0
0
0
0
0
34
-41
-2
-31
-23
76
46
-32
30
0
0
0
0
0
0
0
0
-12
-18
48
9
-48
2
-21
0
0
0
0
0
0
0
0
0
0
16
10
-76
-76
5
-67
-12
0
0
0
0
0
0
0
0
0
0
-9
-62
-100
-56
-16
-29
4
-1
0
0
0
0
0
0
0
0
0
-43
-4
-52
-13
5
4
0
0
8
0
0
0
0
0
0
0
0
-72
-4
-7
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
44
49
11
0
-9
19
-42
0
0
0
0
0
0
0
0
0
0
-13
49
-5
-1
-18
66
31
28
3
-2
0
0
0
0
0
0
0
-66
-4
-76
3
64
92
13
24
0
0
0
0
0
0
0
0
0
-4
63
-67
-40
33
23
4
-19
0
0
0
0
0
0
0
0
0
14
23
-4
-111
56
-19
30
0
0
0
0
0
0
0
0
0
0
7
-81
-14
-27
-90
-48
-8
0
0
0
0
0
0
0
0
0
0
9
32
22
-22
-32
5
1
0
0
0
0
0
0
0
0
0
0
-26
12
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
5
7
0
0
0
0
0
0
0
0
0
0
0
0
-14
17
-19
-1
-5
-1
0
2
0
0
0
0
0
0
0
0
0
-3
-5
8
-5
-1
-2
0
-4
0
0
0
0
0
0
0
0
0
-1
-1
22
-3
-5
1
0
0
0
0
0
0
0
0
0
0
0
6
0
-10
52
7
1
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
2
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-5
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
-17
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
1
16
-19
-44
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
9
-43
-27
-4
-1
-2
-8
0
0
0
0
0
0
0
0
0
10
50
-76
-21
9
-25
14
-16
-3
0
0
0
0
0
0
0
0
-22
-16
-32
-33
29
16
-32
-10
-10
-1
0
0
0
0
0
0
0
-8
-23
-8
39
-21
9
6
-19
0
0
0
0
0
0
0
0
0
12
0
-75
-42
-59
41
12
0
3
0
0
0
0
0
0
0
0
10
0
41
21
28
-39
34
33
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-6
3
-9
0
0
0
0
0
0
0
0
0
0
20
0
0
86
0
-41
-2
1
0
0
0
0
0
0
0
0
0
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-6
-24
2
50
13
-5
0
0
0
0
0
0
0
0
0
0
-42
40
73
63
29
-7
10
2
0
0
0
0
0
0
0
0
-1
-55
-42
28
23
11
19
24
3
0
0
0
0
0
0
0
0
-3
-86
-56
90
-14
-2
1
-16
-6
-8
0
0
0
0
0
0
0
-2
-1
-8
4
-27
-13
-41
-19
1
0
0
0
0
0
0
0
0
0
31
0
3
-43
10
-2
-10
-12
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-12
6
17
0
-3
0
0
0
0
0
0
0
25
10
0
13
-6
2
-2
-3
3
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
17
0
4
-25
-22
11
0
0
0
0
0
0
0
0
0
8
16
55
-60
75
14
-15
15
-1
0
0
0
0
0
0
0
0
12
31
17
31
-51
10
12
-29
4
0
0
0
0
0
0
0
0
0
48
60
50
17
-46
20
8
3
0
0
0
0
0
0
0
0
-3
12
48
21
-80
20
-14
-2
-7
1
0
0
0
0
0
0
0
7
21
-103
0
48
58
-25
-6
41
0
0
0
0
0
0
0
0
-10
3
3
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
8
7
-4
0
0
1
-3
6
0
0
0
0
0
0
0
0
0
-27
-1
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-39
23
-14
-6
23
-3
0
0
0
0
0
0
0
0
0
0
38
19
-11
-85
-16
-24
10
-7
0
0
0
0
0
0
0
0
3
58
22
58
-10
-59
42
-18
-4
-10
0
0
0
0
0
0
0
9
-24
8
31
-30
31
-5
-14
0
0
0
0
0
0
0
0
0
0
56
34
-22
-14
24
-25
8
0
0
0
0
0
0
0
0
0
-1
-29
-30
-17
0
43
10
2
-8
2
0
0
0
0
0
0
0
2
1
-6
0
0
5
2
4
-4
0
0
0
0
0
0
0
0
-4
28
3
-8
0
-1
6
0
0
0
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
10
2
0
0
-20
4
0
0
0
0
0
0
0
0
0
-8
-59
-13
-25
5
-19
80
9
-5
0
0
0
0
0
0
0
0
0
-1
31
-13
27
-19
2
-19
-13
0
0
0
0
0
0
0
0
0
-5
-2
26
-77
15
33
-10
-6
0
0
0
0
0
0
0
0
2
5
50
-39
0
-4
-20
-1
8
0
0
0
0
0
0
0
0
0
-14
5
-9
-13
0
0
-3
5
0
0
0
0
0
0
0
0
3
33
17
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-25
-1
-16
0
0
0
1
-2
0
0
0
0
0
0
0
0
24
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
2
-1
-5
7
-3
0
0
0
0
0
0
0
0
0
0
17
-2
1
-16
0
8
5
0
0
0
0
0
0
0
0
0
0
39
5
8
49
-13
-53
12
-1
0
0
0
0
0
0
0
0
0
48
-3
41
44
-5
-8
-15
1
0
0
0
0
0
0
0
0
0
39
-19
-13
-10
30
13
-3
0
-19
0
0
0
0
0
0
0
-22
-9
3
22
50
-2
0
-4
3
0
0
0
0
0
0
0
0
0
21
33
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-43
2
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
16
2
3
8
-7
0
-4
0
0
0
0
0
0
0
0
0
14
20
-17
15
3
75
-42
10
-5
3
0
0
0
0
0
0
0
-5
8
3
-23
17
43
-7
0
0
0
0
0
0
0
0
0
0
0
-2
3
4
21
3
0
0
1
0
0
0
0
0
0
0
0
0
6
14
-9
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
0
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
-44
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-37
-4
45
8
-31
-43
7
0
0
0
0
0
0
0
0
0
-17
26
-17
0
8
86
-28
-68
-64
0
0
0
0
0
0
0
0
4
-16
-48
-31
-76
53
-1
34
13
1
0
0
0
0
0
0
0
-2
26
60
-84
65
-21
12
-6
6
0
0
0
0
0
0
0
0
4
8
-132
-7
24
74
15
5
0
0
0
0
0
0
0
0
0
2
11
-74
-4
-54
31
5
0
0
0
0
0
0
0
0
0
0
-8
-14
2
42
47
-16
1
0
0
0
0
0
0
0
0
0
0
-25
2
33
73
4
-1
-2
0
0
0
0
0
0
0
0
0
0
-8
10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
47
12
23
21
39
-42
0
2
0
0
0
0
0
0
0
0
19
-9
-65
-2
-8
18
0
5
0
0
0
0
0
0
0
0
0
-23
-5
-14
-49
30
-47
-70
-20
-6
0
0
0
0
0
0
0
0
-25
-2
-9
-49
13
-5
-3
1
0
0
0
0
0
0
0
0
0
12
-27
55
-6
-24
-2
2
8
0
0
0
0
0
0
0
0
0
8
67
19
33
2
12
-59
0
0
0
0
0
0
0
0
0
0
-26
-22
34
25
2
-8
2
0
0
0
0
0
0
0
0
0
0
-84
22
-16
24
5
1
2
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-27
4
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
2
8
-3
3
0
0
0
0
0
0
0
0
0
0
0
1
-7
-1
0
-1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-7
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
19
0
-3
10
0
0
0
0
0
0
0
0
0
0
13
10
-5
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
8
-2
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
55
-12
10
-2
8
-8
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-1
5
10
-1
8
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-9
5
34
0
0
0
0
0
0
0
0
0
0
0
10
-5
0
75
-1
7
0
2
0
0
0
0
0
0
0
0
0
-30
-5
13
67
-10
8
3
-12
0
0
0
0
0
0
0
0
0
25
0
38
-56
-3
0
2
-1
0
0
0
0
0
0
0
0
0
1
0
39
54
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
16
-15
10
41
0
0
0
0
0
0
0
0
0
0
-3
-13
29
32
-69
-25
-29
9
4
0
0
0
0
0
0
0
0
0
-42
-12
-48
-38
24
13
7
0
0
0
0
0
0
0
0
0
4
16
-24
39
-52
5
-6
1
0
0
0
0
0
0
0
0
0
0
-55
9
-1
35
80
-2
0
6
0
0
0
0
0
0
0
0
0
28
10
41
-28
-8
3
19
0
0
0
0
0
0
0
0
0
-1
-16
3
14
-42
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
32
-12
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
21
-8
0
7
4
0
0
0
0
0
0
0
0
0
0
0
-2
-24
0
-12
-5
-3
0
0
0
0
0
0
0
0
0
0
0
3
-14
-33
-42
9
0
0
5
0
0
0
0
0
0
0
0
-2
-29
-8
8
3
41
7
1
0
0
0
0
0
0
0
0
0
2
-76
45
-20
25
-13
25
25
0
0
0
0
0
0
0
0
0
-6
10
46
3
59
-9
9
3
-2
-4
0
0
0
0
0
0
0
2
20
14
0
-10
10
0
-1
-3
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
27
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-6
1
3
-22
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-5
3
-5
-5
-25
0
0
0
0
0
0
0
0
0
0
-43
8
19
-49
-25
-10
1
0
0
0
0
0
0
0
0
0
2
-7
13
17
15
28
19
1
0
0
0
0
0
0
0
0
0
0
-29
-2
53
-1
8
-5
-1
0
0
0
0
0
0
0
0
0
0
8
2
-5
0
2
0
-6
0
0
0
0
0
0
0
0
0
-3
-6
20
-9
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
49
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
1
-1
5
0
0
0
0
0
0
0
0
0
0
-1
-5
1
-3
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
5
-4
2
-1
31
0
0
0
0
0
0
0
0
0
0
-9
-2
8
-2
-10
5
1
1
0
0
0
0
0
0
0
0
0
-2
3
-27
25
19
-6
0
0
-2
0
0
0
0
0
0
0
0
0
2
8
-1
25
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
3
25
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
6
-16
0
10
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
3
1
0
0
0
0
0
0
0
0
0
-37
-2
0
1
8
20
0
1
0
0
0
0
0
0
0
0
0
6
5
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-32
48
10
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
25
4
2
0
0
0
1
0
0
0
0
0
0
0
0
-12
3
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
24
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-7
-1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
-49
-5
-14
0
2
1
-3
-2
0
0
0
0
0
0
0
0
2
2
2
-3
12
-89
25
8
-14
2
0
0
0
0
0
0
0
-5
-37
-7
-39
-13
35
-1
-7
-3
-15
0
0
0
0
0
0
0
0
-24
-16
44
50
14
-2
1
0
0
0
0
0
0
0
0
0
0
49
13
41
12
10
0
-2
0
0
0
0
0
0
0
0
0
0
19
-5
-9
8
-1
0
0
0
0
0
0
0
0
0
0
0
6
8
5
-23
2
-1
0
0
0
0
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-18
-2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-4
2
-4
-29
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
5
-6
-8
-2
3
0
0
0
0
0
0
0
0
0
0
-8
-43
3
3
3
16
0
0
0
0
0
0
0
0
0
0
0
-9
53
-22
7
5
5
0
0
0
0
0
0
0
0
0
0
0
-7
5
-9
12
1
0
2
0
0
0
0
0
0
0
0
0
0
0
6
-17
24
-1
0
2
0
0
0
0
0
0
0
0
0
0
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
63
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-31
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
2
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
8
-20
12
0
0
0
0
0
0
0
0
0
0
0
3
-1
13
-18
8
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
43
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
21
-58
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
93
-31
13
-9
-60
0
0
0
0
0
0
0
0
0
0
-18
-5
-53
-4
66
41
-54
0
0
0
0
0
0
0
0
0
0
1
-10
19
-60
-23
35
18
0
0
0
0
0
0
0
0
0
0
0
0
8
1
51
31
24
0
0
0
0
0
0
0
0
0
0
0
4
2
-6
-1
-58
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-12
0
0
0
-4
0
0
0
0
0
0
0
0
0
-6
-6
-33
76
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
2
16
-29
-15
-57
56
8
0
0
0
0
0
0
0
0
-4
-8
5
2
16
32
-14
49
8
0
0
0
0
0
0
0
0
0
0
0
-4
1
20
30
43
15
0
0
0
0
0
0
0
0
0
0
2
-10
-43
-24
32
-25
5
0
0
0
0
0
0
0
0
0
0
10
-12
1
-5
31
-24
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
3
9
0
0
0
8
29
0
0
0
0
0
0
0
0
-2
-4
-2
24
5
-41
16
-15
-3
0
0
0
0
0
0
0
0
3
-5
4
1
-8
31
-17
13
-1
0
0
0
0
0
0
0
0
-2
-3
-2
-22
6
94
97
-5
-4
0
0
0
0
0
0
0
0
0
0
6
-17
24
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
5
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
8
5
0
-2
-30
0
0
0
-71
2
5
0
0
0
0
0
0
0
4
0
-17
-2
-18
17
32
-10
7
0
0
0
0
0
0
0
-3
-9
2
-8
-42
6
40
6
8
-10
-1
0
0
0
0
0
1
0
0
7
-5
-16
-33
-13
43
7
0
0
0
0
0
0
0
0
0
0
12
0
-16
-5
-10
2
4
2
0
0
0
0
0
0
0
0
0
-1
0
-12
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
27
-3
0
28
0
0
0
1
0
-2
0
0
0
0
0
0
-4
4
9
5
42
-2
10
-55
10
-2
6
0
0
0
0
0
0
0
4
-1
17
66
-21
-59
6
23
0
-4
0
0
0
0
0
-2
0
0
12
-3
-16
25
-86
-7
-1
1
0
0
0
0
0
0
0
0
0
-3
-8
-18
-9
59
4
4
-1
0
0
0
0
0
0
0
0
0
0
3
4
4
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
5
13
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-7
-20
32
49
-5
0
0
0
-5
-2
0
2
0
0
0
0
0
-8
5
-3
-24
14
-82
7
-18
0
1
0
0
0
0
0
0
0
-1
-8
-25
25
-5
-12
12
-35
7
0
0
0
0
0
0
0
0
0
2
-6
-9
-10
89
-16
14
-4
2
0
0
0
0
0
0
0
0
0
3
-18
46
-55
33
12
-1
0
0
0
0
0
0
0
0
0
2
2
0
2
-3
17
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-16
35
0
0
0
-2
1
0
0
0
0
0
0
6
25
6
-14
-18
55
0
0
0
-71
-1
0
0
0
0
0
0
0
-13
2
-10
-52
39
-22
41
-37
-12
-2
1
0
0
0
0
0
0
-3
-2
-37
0
-51
8
-25
-41
-30
0
0
0
0
0
0
0
0
0
16
33
8
3
-39
46
24
1
-6
-4
0
0
0
0
0
0
0
-1
-3
-5
10
6
15
-5
-23
2
0
0
0
0
0
0
0
0
0
-1
2
10
-8
2
45
8
0
0
0
0
0
0
0
0
0
0
0
13
0
1
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-16
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
-9
-1
-49
80
10
0
0
0
52
2
0
0
0
0
0
0
0
1
22
-17
-28
41
13
85
24
-13
0
0
0
0
0
0
0
0
-1
-4
-24
-43
-47
-24
-58
-39
97
-4
0
0
0
0
0
0
0
0
-1
-31
-64
15
35
42
8
-3
0
0
0
0
0
0
0
0
0
-4
8
-17
-14
19
-7
30
9
0
0
0
0
0
0
0
0
0
0
7
10
-1
-25
23
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
42
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-41
-7
0
0
0
3
13
0
0
0
0
0
0
0
0
0
0
-10
6
-14
55
19
0
-7
0
0
0
0
0
0
0
0
0
-1
3
56
-39
-57
34
33
0
0
0
0
0
0
0
0
0
0
0
2
12
-19
6
8
2
4
0
0
0
0
0
0
0
0
0
0
0
-8
-4
13
42
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
14
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-15
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-30
41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
4
22
61
0
0
0
0
0
0
0
0
0
0
0
0
13
25
-39
-49
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
2
7
38
17
-10
18
0
0
0
0
0
0
0
0
0
0
3
-2
-2
-28
-16
12
28
0
0
0
0
0
0
0
0
0
0
-2
0
7
-2
54
5
5
0
0
0
0
0
0
0
0
0
0
0
9
-1
3
31
47
91
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
22
-5
-43
0
0
0
0
0
0
0
0
0
0
0
0
-29
-69
23
17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
9
-63
41
23
-66
-12
0
0
0
0
0
0
0
0
-3
24
-33
21
-58
-70
-39
4
14
0
0
0
0
0
0
0
0
5
-1
0
15
-5
1
-4
-25
-64
0
0
0
0
0
0
0
0
0
0
0
-2
44
-13
29
37
-28
0
0
0
0
0
0
0
0
0
0
0
12
0
27
-33
-31
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-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
2
-8
35
-6
0
0
0
12
0
0
0
0
0
0
0
0
7
0
-6
80
-80
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
8
-7
94
-64
13
11
17
0
0
0
0
0
0
0
0
-10
2
-8
17
-4
57
-32
42
-21
0
0
0
0
0
0
0
0
-3
-2
41
24
72
-8
-4
46
15
0
0
0
0
0
0
0
0
8
-2
13
-22
50
49
-31
-38
-23
0
0
0
0
0
0
0
0
0
-10
-7
0
10
-15
0
-24
-23
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-22
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
5
0
0
2
32
0
0
0
5
2
0
0
0
0
0
0
-13
0
-2
-29
-24
-25
0
0
0
22
-7
0
0
0
0
0
0
0
0
6
-5
10
-2
-6
-8
-53
-12
-31
0
0
0
0
0
0
0
0
20
8
-17
-56
-28
-26
-13
-77
2
0
0
0
0
0
0
2
0
0
10
5
-25
11
-46
30
-23
-13
0
0
0
0
0
0
0
0
0
0
-3
83
37
57
-9
38
1
0
0
0
0
0
0
0
0
0
0
-7
4
4
-20
59
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-8
0
-5
-1
0
0
0
-5
4
-4
0
0
0
0
0
-2
3
-41
-1
-2
-2
0
0
0
104
-30
-4
0
0
0
0
0
0
19
-7
19
-4
42
49
7
-7
0
14
0
0
0
0
0
0
0
0
9
-42
49
77
-50
-106
45
-47
-1
-1
0
0
0
0
0
0
-6
1
-8
-7
10
-18
-6
-6
6
1
-2
0
0
0
0
0
0
0
0
25
24
50
19
-3
-3
8
8
0
0
0
0
0
0
0
0
0
0
0
7
37
-47
-15
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
8
6
0
-8
0
0
0
-2
2
0
0
0
0
0
0
-1
48
-43
49
13
-3
0
0
0
-19
8
2
-1
0
0
0
0
-9
-8
42
47
-12
11
-6
75
-138
-1
0
-7
-1
0
0
0
0
0
-8
8
-48
58
6
-44
-20
-39
-25
5
0
0
0
0
0
0
-16
8
8
35
50
21
-17
-31
-58
-21
3
0
-1
0
0
0
0
0
0
0
-20
8
34
-63
48
-8
-10
0
-2
0
0
0
0
0
0
0
-2
0
-6
-6
24
-54
-33
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
0
-7
23
59
1
3
0
0
0
-13
-2
0
0
0
0
0
0
6
-9
-28
3
13
-12
0
0
0
-13
6
0
0
0
0
0
0
42
-68
16
-33
26
-1
116
-33
37
22
-6
0
0
0
0
0
0
-1
-3
-6
31
-4
-23
94
-90
63
-7
-2
7
0
0
0
0
0
-3
-10
27
-30
25
10
-8
-19
-50
6
-3
0
0
0
0
0
0
0
0
49
-4
-35
13
26
6
41
-1
6
0
0
0
0
0
0
0
0
0
-29
-19
-37
24
-14
-42
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-43
-66
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
24
43
28
40
58
106
0
0
0
-5
-3
0
0
0
0
0
4
1
39
2
5
-37
7
0
0
0
-6
8
0
0
0
0
0
0
-6
7
-21
50
13
-7
8
-53
74
28
-7
-1
0
0
0
0
0
-4
-13
-5
-46
-58
51
13
-25
-112
-34
-4
-1
0
0
0
0
0
10
12
13
8
-10
-62
-65
-59
-169
-2
-3
0
0
0
0
0
0
-2
7
2
13
-23
84
-6
1
-14
27
-4
2
0
0
0
0
0
0
0
1
15
1
-19
44
32
8
-1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-4
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
3
0
0
0
0
0
0
0
0
-2
23
-22
-49
13
0
0
0
60
0
0
0
0
0
0
0
0
29
-49
-37
-37
31
0
0
0
-22
39
0
0
0
0
0
0
2
19
-59
-21
46
46
-85
92
65
-5
2
0
0
0
0
0
0
-19
0
-56
-22
8
-15
-74
41
-130
-27
0
1
0
0
0
0
0
-2
-32
16
-61
-46
-65
14
-56
-52
-9
0
0
0
0
0
0
0
-17
5
-53
6
76
4
-7
-13
-7
-1
0
0
0
0
0
0
0
0
1
5
57
90
27
46
17
-12
14
0
0
0
0
0
0
0
0
0
-2
16
-1
0
0
19
-16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-16
6
-10
28
1
0
0
0
56
-8
0
0
0
0
0
0
-3
-34
-28
-72
-45
31
0
0
0
2
-4
0
0
0
0
0
0
-3
33
0
-8
-69
-59
-65
-20
-59
69
8
0
0
0
0
0
0
-6
49
-42
4
-64
1
4
-26
7
-114
-4
0
0
0
0
0
0
0
18
15
-29
54
-93
13
15
31
1
1
0
-7
0
0
0
0
8
17
-8
-1
-73
62
5
-58
21
20
0
0
0
0
0
0
0
-4
-3
1
-75
41
-45
32
-76
-16
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
42
10
9
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
23
-8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-13
51
-18
0
0
0
-2
-25
0
0
0
0
0
0
0
0
1
10
5
12
-37
32
41
0
-13
1
0
0
0
0
0
0
0
-2
6
-2
-42
29
35
-6
-20
-6
0
0
0
0
0
0
0
0
-6
3
4
12
-2
50
-8
-31
12
-2
0
0
0
0
0
0
0
0
0
-1
4
29
-5
75
29
0
0
0
0
0
0
0
0
0
0
5
-9
13
-19
6
21
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-27
-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
-7
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
3
-2
-8
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
42
-18
5
-2
1
0
0
0
0
0
0
0
0
0
0
-4
-2
-7
-36
15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
13
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-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
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
5
-8
0
0
0
0
0
0
0
0
0
0
0
4
22
-1
-4
86
-40
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-2
1
-18
85
-50
0
0
0
0
0
0
0
0
0
0
-3
4
5
9
8
41
31
0
0
0
0
0
0
0
0
0
-1
0
0
0
76
-18
7
13
0
0
0
0
0
0
0
0
0
0
0
0
9
46
1
5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
-25
-7
-28
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
23
-39
-33
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
27
13
16
49
80
-44
0
0
0
0
0
0
0
0
1
6
41
75
66
-62
1
23
-47
0
0
0
0
0
0
0
0
3
-1
0
-31
14
11
75
65
9
0
0
0
0
0
0
0
0
0
0
0
0
-29
-23
17
-18
52
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-13
18
-6
-17
0
0
0
0
0
0
0
0
0
0
0
4
2
0
1
-2
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-8
-8
0
0
0
8
0
0
0
0
0
0
0
0
1
8
-5
58
49
0
0
0
-9
0
0
0
0
0
0
0
0
0
-5
13
0
13
-43
-22
53
19
0
0
0
0
0
0
0
0
0
12
13
31
40
-32
57
-45
-27
0
0
0
0
0
0
0
0
13
6
0
-18
-27
-9
-41
36
6
0
0
0
0
0
0
0
0
4
0
-5
0
19
31
-58
-31
-41
0
0
0
0
0
0
0
0
0
0
0
2
-2
-6
49
14
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
15
1
-49
0
0
0
6
-3
0
0
0
0
0
0
0
0
-9
3
15
-51
0
0
0
38
2
0
0
0
0
0
0
0
0
-1
5
-16
-15
23
-21
-68
17
-19
0
0
0
0
0
0
-2
1
0
10
101
-41
-34
62
21
-18
-2
0
0
0
0
0
0
0
0
1
-5
-6
5
37
97
-46
7
-8
0
0
0
0
0
0
0
0
3
0
-2
-17
-18
31
13
2
0
0
0
0
0
0
0
0
0
0
6
-3
2
-9
15
0
-6
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
-3
0
4
14
5
2
0
0
0
-1
4
0
0
0
0
0
0
14
-4
-12
-1
-21
-39
0
0
0
42
0
0
0
0
0
0
0
2
1
-3
3
-2
2
28
-58
15
-9
9
0
0
0
0
0
0
0
6
0
8
-39
-57
58
-35
-18
-2
0
-3
0
0
0
0
0
2
0
-14
24
-25
-23
75
-61
55
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-9
0
5
33
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-17
3
34
-49
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-8
5
29
67
0
0
0
-3
0
0
0
0
0
0
0
-1
-9
-13
18
6
15
0
0
0
13
-1
0
0
0
0
0
0
8
20
5
44
6
-54
43
99
6
-1
2
0
0
0
0
0
0
0
-10
-5
-92
7
-35
38
-1
-53
0
-1
5
0
0
0
0
0
1
2
-3
67
-54
-44
16
-9
20
14
0
0
-1
0
0
0
0
0
0
12
24
8
-55
-1
-12
35
-4
0
0
0
0
0
0
0
0
3
-2
2
-7
15
-35
5
-19
-1
1
0
0
0
0
0
0
0
0
-3
0
0
4
4
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
0
0
0
0
-7
23
-25
-41
8
0
0
0
5
-4
0
0
0
0
0
0
-1
61
0
-38
-41
-10
0
0
0
7
0
0
0
0
0
0
0
0
4
31
6
21
14
6
-5
-58
-2
-7
0
0
0
0
0
0
0
14
20
25
25
-15
6
33
52
-17
5
0
0
0
0
0
0
0
23
-19
-31
4
32
-42
-49
8
0
2
0
0
0
0
0
0
1
2
23
25
-17
43
60
0
47
2
-6
0
0
0
0
0
0
0
0
0
8
13
22
-15
-14
11
-1
4
0
0
0
0
0
0
0
0
0
-3
0
3
25
-55
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
-5
16
-13
24
31
21
0
0
0
19
0
0
0
0
0
0
-2
6
27
-10
53
74
-46
0
0
0
-18
0
0
0
0
0
0
0
9
-41
66
5
2
28
32
-1
-11
-5
0
0
0
0
0
0
0
-4
5
91
18
46
-4
89
-27
35
14
0
0
1
0
0
0
0
0
-16
-12
-45
58
20
-86
28
-13
-3
-2
0
0
0
0
0
0
0
-6
-34
31
-20
-22
21
-51
-67
0
8
0
0
0
0
0
0
-3
-3
-3
4
-20
-22
7
-41
-92
-9
0
0
0
0
0
0
0
0
0
-6
-8
-8
-9
22
50
-34
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
37
0
0
0
0
0
0
0
0
0
0
15
18
-5
-9
23
0
0
0
6
-1
0
0
0
0
0
0
-13
14
-18
-13
-38
23
0
0
0
-9
-6
0
0
0
0
0
0
-19
24
44
19
54
-4
43
-7
-45
9
-1
0
0
0
0
0
0
33
42
-71
49
15
-45
-13
18
-58
3
-3
0
0
0
0
0
0
0
8
-47
23
-33
57
93
-5
-13
-2
8
0
0
0
0
0
0
0
-5
17
4
48
-51
4
-67
46
18
0
0
0
0
0
0
0
0
3
0
24
28
-3
69
30
-89
1
-3
0
0
0
0
0
0
0
0
0
-7
-12
23
11
10
-55
-1
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-1
0
1
0
0
0
0
0
0
0
0
0
3
-23
-42
12
-46
0
0
0
-22
1
0
0
0
0
0
0
-5
8
25
14
61
-51
0
0
0
-49
4
0
0
0
0
0
0
2
-5
8
-60
42
-6
13
1
-20
-13
8
0
0
0
0
0
0
1
25
4
5
-11
-51
58
21
27
-5
0
0
0
0
0
0
0
-3
4
14
20
-9
-62
8
-32
13
-12
3
2
-1
0
0
0
0
-3
-4
-14
5
-8
9
-49
-58
19
99
0
0
0
0
0
0
0
0
0
2
10
-9
13
37
-76
-33
-26
0
0
0
0
0
0
0
0
0
3
5
20
1
3
-18
-18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
16
0
0
0
8
-18
0
0
0
0
0
0
0
0
0
-6
-51
-6
0
0
0
0
49
-4
0
0
0
0
0
0
0
-1
2
-4
30
-21
-12
51
1
3
-1
0
0
0
0
0
0
0
4
4
-3
15
17
25
87
7
-13
-1
0
0
0
0
0
0
0
0
2
12
-6
-9
16
41
2
-25
0
0
0
0
0
0
0
0
0
0
2
-1
-12
42
22
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
48
14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
-13
-3
4
0
0
0
0
0
0
0
0
0
0
0
-2
15
-20
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
3
-3
-5
-14
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-10
-13
-6
0
0
0
0
0
0
0
0
0
0
0
-6
-7
8
-10
-24
-33
0
0
0
0
0
0
0
0
0
0
0
0
-7
-20
6
21
86
12
36
0
0
0
0
0
0
0
0
0
0
4
42
-13
24
-44
7
-55
0
0
0
0
0
0
0
0
0
0
3
5
-56
20
-39
31
-45
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
16
-2
-21
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-25
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
0
9
30
-12
8
35
0
0
0
0
0
0
0
0
0
0
0
3
-13
-4
49
4
-43
0
0
0
0
0
0
0
0
0
0
0
0
-10
-52
-38
-75
-57
80
-37
-4
0
0
0
0
0
0
0
0
0
0
-15
31
19
24
50
38
-29
0
0
0
0
0
0
0
0
0
9
29
30
-54
-64
-72
-44
-29
0
0
0
0
0
0
0
0
0
3
0
-37
16
15
-26
32
22
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-7
69
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
19
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
-3
-2
3
5
1
0
0
0
30
0
0
0
0
0
0
0
16
0
2
14
-71
-49
0
0
0
-75
0
0
0
0
0
0
0
0
14
2
13
-3
-35
92
-4
70
5
0
0
0
0
0
0
0
0
0
0
-7
22
79
-4
-2
16
50
0
0
0
0
0
0
0
0
0
0
5
31
-49
-15
46
-8
30
0
0
0
0
0
0
0
0
0
0
2
-8
58
-27
21
50
49
0
0
0
0
0
0
0
0
0
0
0
15
-4
6
6
0
33
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-10
90
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
5
-1
7
-7
0
0
0
-1
2
0
0
0
0
0
0
-1
-24
53
48
20
56
0
0
0
4
-2
0
0
0
0
0
0
0
2
8
3
3
-16
22
17
69
-4
5
0
0
0
0
0
0
1
0
0
0
2
17
53
74
-13
31
8
0
0
0
0
0
0
0
1
-4
-5
44
96
31
49
-5
-1
5
0
0
0
0
0
0
0
0
4
-8
-5
6
-31
37
2
5
0
0
0
0
0
0
0
0
0
0
6
0
-1
-3
-30
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
-16
-18
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-5
0
0
0
0
0
0
0
0
0
0
1
8
49
0
18
0
0
0
-1
2
0
0
0
0
0
0
3
4
27
27
-57
-41
0
0
0
4
0
0
0
0
0
0
0
0
-8
7
5
35
-47
-110
-74
39
9
-1
0
0
0
0
0
0
0
1
0
1
0
15
16
52
-7
-7
1
0
0
0
0
0
0
2
9
-4
0
-6
13
-26
20
-37
3
3
0
0
0
0
0
0
0
0
24
-1
22
-12
30
1
49
0
0
0
0
0
0
0
0
0
8
3
7
-3
-5
32
-15
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
-60
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
-2
-44
29
3
29
0
0
0
0
0
0
0
0
0
0
0
10
13
-21
-58
-29
-7
0
0
0
-20
0
0
0
0
0
0
0
2
-5
-14
-5
60
86
-33
-5
-13
0
2
0
0
0
0
0
0
3
12
-15
0
-7
67
20
45
35
-4
0
0
0
0
0
0
0
13
8
6
1
5
27
-53
-52
117
-4
0
0
0
0
0
0
0
0
-3
-3
22
17
-50
14
4
-45
1
0
0
0
0
0
0
0
0
0
-9
14
43
50
-5
-31
-86
3
0
0
0
0
0
0
0
0
0
0
-1
0
-5
-4
-1
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-5
-2
0
0
0
0
0
0
0
0
0
-9
19
7
-2
30
0
0
0
-13
0
0
0
0
0
0
0
0
10
24
-4
4
-35
0
0
0
-21
-5
0
0
0
0
0
0
-5
42
14
52
1
1
101
6
-37
16
-1
0
0
0
0
0
0
3
-10
-10
6
-16
9
15
-44
50
5
2
0
0
0
0
0
0
0
-41
6
20
-68
-67
93
59
-7
56
3
0
0
0
0
0
0
0
-4
-18
34
13
35
36
-49
19
-4
0
0
0
0
0
0
0
-2
3
-1
-19
39
10
24
-1
-2
-3
0
0
0
0
0
0
0
0
0
0
7
39
2
17
-50
-31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
6
-55
-10
24
60
31
0
0
0
4
0
0
0
0
0
0
-9
-2
27
18
54
3
-37
0
0
0
-50
1
0
0
0
0
0
0
19
18
49
-26
19
5
18
-57
123
10
-6
0
0
0
0
0
0
-4
24
-44
-4
-16
70
-4
48
-41
14
1
-1
0
0
0
0
0
0
1
-35
-2
56
57
31
-61
7
56
-3
0
0
0
0
0
0
0
-10
-14
-4
22
119
-37
-23
-67
16
0
0
0
0
0
0
0
1
3
43
-8
-35
-73
48
27
0
-12
9
0
0
0
0
0
0
0
0
0
-32
25
-20
-8
-15
8
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
0
0
0
0
0
0
0
0
24
25
-23
-34
-49
49
0
0
0
-24
1
0
0
0
0
0
0
-23
9
-3
13
53
-30
0
0
0
19
-13
0
0
0
0
0
0
4
54
0
64
25
75
133
-22
55
-3
-5
0
0
0
0
0
-3
10
-18
8
49
-51
69
-1
13
13
-2
0
0
0
0
0
0
0
25
14
10
-13
3
-5
14
-31
-4
24
-2
0
0
0
0
0
-1
0
-2
41
25
-14
-4
28
-8
-105
-6
0
0
0
0
0
0
0
0
4
-22
50
23
-10
38
21
-17
8
0
0
0
0
0
0
0
-3
0
-6
-25
-3
-17
-24
-5
56
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-13
-4
0
0
0
0
0
0
0
0
24
-22
22
5
42
0
0
0
-51
0
0
0
0
0
0
0
-1
-29
-13
8
-63
15
0
0
0
-1
-1
0
0
0
0
0
0
3
-16
22
27
-55
-31
35
-9
-9
-8
-42
0
0
0
0
0
0
8
-20
-13
54
37
14
-84
-77
-19
-4
-1
0
0
0
0
0
0
0
3
9
-24
5
85
-32
6
-38
45
-7
0
0
0
0
0
0
0
-30
-2
-34
-5
8
75
-31
22
25
0
0
0
0
0
0
0
0
2
8
18
-16
-8
11
-75
-9
-42
0
0
0
0
0
0
0
0
-1
0
6
-10
-6
-16
9
-66
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-6
-8
6
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
7
-39
25
0
0
0
-43
-29
0
0
0
0
0
0
0
0
0
-3
6
-25
14
36
-43
6
-16
-1
0
0
0
0
0
0
0
0
-1
-1
-21
-8
-23
-1
5
0
0
0
0
0
0
0
0
0
0
0
-4
5
44
8
-15
-5
16
0
0
0
0
0
0
0
0
0
0
-1
0
26
-22
-8
2
-12
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-16
2
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
10
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
-4
13
0
0
0
0
0
0
0
0
0
0
0
6
0
-25
29
41
5
-80
21
0
0
0
0
0
0
0
0
0
0
-8
-22
17
9
17
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
-18
47
2
41
-25
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
63
10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
10
-4
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
15
0
0
0
0
0
0
0
0
0
1
-20
2
1
2
-15
0
0
0
0
0
0
0
0
0
0
0
24
14
24
-10
-12
39
0
0
0
0
0
0
0
0
0
0
0
9
-23
-14
-7
-55
13
12
-74
18
0
0
0
0
0
0
0
0
0
1
-6
-92
53
-88
40
68
146
0
0
0
0
0
0
0
0
0
0
10
-49
-3
14
14
87
-60
0
0
0
0
0
0
0
0
0
0
-9
-23
-20
-13
-15
1
34
0
0
0
0
0
0
0
0
0
9
2
-13
15
-16
66
-28
43
0
0
0
0
0
0
0
0
0
0
0
0
-15
27
-42
-4
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
-2
0
0
0
0
0
0
0
0
0
3
0
13
5
-2
0
0
0
16
0
0
0
0
0
0
0
-2
17
-17
-66
58
44
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-12
-10
-16
29
2
35
2
0
0
0
0
0
0
0
0
0
0
-2
13
70
-61
69
-16
-13
0
0
0
0
0
0
0
0
0
0
5
107
-30
6
22
-1
-1
0
0
0
0
0
0
0
0
0
0
1
-22
43
-29
-31
-3
0
0
0
0
0
0
0
0
0
0
1
-2
0
-20
-31
69
30
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-25
24
19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
8
-31
8
-1
0
0
0
26
1
0
0
0
0
0
0
0
29
4
10
2
-25
0
0
0
-77
7
0
0
0
0
0
0
0
4
-19
-18
-14
-29
37
8
6
5
0
0
0
0
0
0
0
0
0
0
-1
35
-28
9
88
9
5
0
0
0
0
0
0
0
2
0
0
0
-6
-59
-30
-25
9
2
0
0
0
0
0
0
0
0
0
0
-8
2
-22
-4
-23
12
-16
1
0
0
0
0
0
0
0
0
0
0
-5
1
-3
12
5
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
1
0
0
0
0
0
0
0
0
14
-2
2
-12
3
27
0
0
0
19
0
0
0
0
0
0
0
-9
10
18
21
-34
-41
0
0
0
-6
-3
0
0
0
0
0
0
0
-2
-18
-71
-1
0
83
23
-47
0
0
0
0
0
0
0
0
3
0
-4
-1
-6
-23
-103
9
-22
24
0
0
0
0
0
0
0
-13
2
0
0
0
34
5
42
-25
0
0
0
0
0
0
0
0
0
0
0
-4
-22
-9
-68
13
-7
0
0
0
0
0
0
0
0
0
0
2
22
-17
-14
-53
49
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-42
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
9
20
-13
42
0
0
0
0
1
0
0
0
0
0
0
-1
4
100
25
67
-129
0
0
0
-4
0
0
0
0
0
0
0
9
23
51
-40
6
-37
-93
-9
87
0
6
0
0
0
0
0
0
-20
1
-7
19
-8
26
-33
29
-107
-2
0
0
0
0
0
0
0
2
23
1
5
0
0
61
72
-22
-2
0
0
0
0
0
0
0
0
0
4
0
-3
22
-38
-48
5
-2
0
0
0
0
0
0
0
0
0
0
-8
-15
-31
-16
48
-32
3
0
0
0
0
0
0
0
0
0
-4
0
-6
-1
43
8
73
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-29
-2
0
0
0
0
0
0
0
0
-3
2
-16
51
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
-16
-48
35
4
-3
0
0
0
23
0
0
0
0
0
0
0
5
0
-16
-12
22
-110
23
46
-24
-3
1
0
0
0
0
0
0
0
2
30
-3
-20
25
70
-40
-9
-8
-1
0
0
0
0
0
0
-1
9
-8
25
0
0
3
-52
-5
0
0
0
0
0
0
0
0
5
22
-12
25
-10
3
41
10
12
5
0
0
0
0
0
0
0
-2
-5
-14
0
12
-59
41
-8
87
-10
0
0
0
0
0
0
0
0
0
0
-7
2
-4
-30
16
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
20
0
0
0
0
0
0
0
3
0
-14
-9
-22
-4
26
0
0
0
-15
0
0
0
0
0
0
0
27
-49
34
-33
-41
50
0
0
0
-20
0
0
0
0
0
0
0
-49
71
-30
29
8
13
-48
13
47
1
1
0
0
0
0
0
1
-1
66
10
100
61
45
55
50
98
9
0
0
0
0
0
0
0
-42
-2
0
-50
48
-6
0
-41
133
-8
0
0
0
0
0
0
0
1
23
13
13
-56
31
-24
-48
23
30
0
0
0
0
0
0
0
0
1
-1
17
-27
-17
-48
-3
5
-10
0
0
0
0
0
0
0
0
0
-5
0
-25
-29
49
-29
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
6
0
0
0
0
0
0
0
0
0
-6
10
2
-9
57
17
0
0
0
-3
0
0
0
0
0
0
0
1
14
-21
-51
49
-36
0
0
0
28
-6
0
0
0
0
0
0
10
0
34
26
-9
-41
74
-31
30
17
-1
0
0
0
0
0
0
-5
35
-12
20
47
-11
40
-41
-19
-45
0
4
0
0
0
0
0
8
0
17
-24
43
41
-18
0
-1
2
3
0
0
0
0
0
0
13
8
-32
-20
-50
2
17
12
-86
-24
0
-4
0
0
0
0
0
0
-5
-49
49
-22
35
-31
1
33
0
0
0
0
0
0
0
0
0
0
7
37
16
-48
84
42
-76
10
0
0
0
0
0
0
0
0
0
0
0
-1
3
12
-25
13
0
0
0
0
0
0
0
0
8
-23
-4
25
32
9
0
0
0
45
-1
0
0
0
0
0
0
-5
-17
30
1
-47
-43
0
0
0
-12
3
0
0
0
0
0
0
4
42
-2
-10
8
-7
-45
25
48
-32
2
0
0
0
0
0
0
0
-13
-45
-8
55
40
-13
-11
-63
29
-5
0
0
0
0
0
0
0
25
43
13
-67
12
9
-4
0
-16
0
0
0
0
0
0
0
0
23
12
-8
-19
10
50
-2
0
-1
0
0
0
0
0
0
0
0
-3
-1
43
-18
-1
-25
-81
-29
3
0
0
0
0
0
0
0
17
0
6
0
42
0
3
16
25
52
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
3
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
5
-3
0
0
0
0
0
0
0
1
0
3
8
17
0
0
0
30
-9
0
0
0
0
0
0
0
0
0
3
50
-9
-8
31
-51
7
-46
0
0
0
0
0
0
0
0
0
1
0
14
-49
-53
15
-8
2
-2
0
0
0
0
0
0
0
0
6
-7
0
13
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
8
16
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
15
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
-6
5
-2
-7
5
0
0
0
0
0
0
0
0
0
0
-8
1
5
8
3
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
5
0
6
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-23
2
-2
6
-15
0
0
0
0
0
0
0
0
0
0
0
5
-8
-7
-8
-5
39
0
0
0
0
0
0
0
0
0
0
0
0
50
24
30
-37
21
0
0
0
0
0
0
0
0
0
0
0
-1
10
30
5
93
37
0
0
0
0
0
0
0
0
0
0
0
0
5
49
57
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-20
0
0
0
0
0
0
0
0
0
-1
14
-16
-8
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
15
-28
7
-41
-16
0
0
0
0
0
0
0
0
0
0
0
0
-32
-13
3
75
5
80
31
-5
0
0
0
0
0
0
0
0
-3
12
7
93
49
-68
-43
-65
-54
0
0
0
0
0
0
0
0
0
0
12
24
42
25
-3
-48
-8
0
0
0
0
0
0
0
0
0
0
-2
24
0
53
26
-55
-16
0
0
0
0
0
0
0
0
0
0
6
-29
-6
10
-75
13
2
0
0
0
0
0
0
0
0
0
0
0
0
1
29
3
-13
66
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
23
-3
0
0
0
0
0
0
0
0
-7
0
9
23
13
2
0
0
0
18
0
0
0
0
0
0
0
0
-6
-7
-42
13
-20
0
0
0
22
0
0
0
0
0
0
0
-17
-9
-7
15
-14
0
29
27
-17
-8
0
0
0
0
0
0
0
0
4
54
-19
-1
31
-55
-18
-25
-1
0
0
0
0
0
0
0
0
0
0
22
-13
-72
-22
11
-9
-2
0
0
0
0
0
0
0
0
0
0
3
13
-6
72
-25
49
2
0
0
0
0
0
0
0
0
0
0
0
0
18
23
10
31
12
0
0
0
0
0
0
0
0
0
0
0
0
3
4
30
33
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
0
0
0
0
0
0
0
0
1
0
4
-1
-2
0
0
0
2
0
0
0
0
0
0
0
-3
-4
74
21
0
-25
0
0
0
-76
-1
0
0
0
0
0
0
0
4
0
-14
5
-29
5
-19
17
-6
0
0
0
0
0
0
0
0
-3
-3
2
5
41
-37
13
1
-1
1
0
0
0
0
0
0
-2
0
0
0
-6
-5
-33
-31
-15
0
-3
0
0
0
0
0
0
0
0
0
0
6
-43
-2
17
5
-1
0
0
0
0
0
0
0
0
0
0
2
10
1
0
-42
0
16
0
0
0
0
0
0
0
0
0
0
0
-2
-2
22
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
-32
-16
0
13
0
0
0
0
0
0
0
0
0
0
0
6
-12
-23
-19
10
2
0
0
0
9
-4
0
0
0
0
0
0
3
2
-4
17
-10
74
52
87
-31
0
0
0
0
0
0
0
0
-9
1
0
-24
5
-13
38
-51
-52
3
0
0
0
0
0
0
0
4
16
-1
0
-34
-16
-10
19
-37
0
0
0
0
0
0
0
0
-4
-5
-1
0
0
-32
72
24
-5
0
0
0
0
0
0
0
0
0
0
0
0
-19
42
20
-37
29
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-16
-49
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
4
-10
53
19
59
-30
0
0
0
0
0
0
0
0
0
0
5
6
-29
15
12
13
-10
0
0
0
-9
0
0
0
0
0
0
0
-2
-13
57
24
-48
19
63
-39
-41
0
0
0
0
0
0
0
0
5
13
5
-53
-25
83
-27
43
-9
-1
0
0
0
0
0
0
0
-3
-5
8
30
3
47
15
29
-11
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
41
0
39
0
0
0
0
0
0
0
0
0
0
-8
0
2
-23
-19
43
-31
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
-12
-5
-49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-1
0
0
0
0
0
0
0
0
2
25
15
84
-54
74
0
0
0
-1
0
0
0
0
0
0
0
-5
-14
-33
-8
70
-36
0
0
0
8
0
0
0
0
0
0
0
2
15
-18
45
-32
13
-71
0
-38
5
0
0
0
0
0
0
0
-7
2
-25
-13
-29
20
-58
-13
-22
2
0
0
0
0
0
0
0
-5
-33
-23
10
72
0
13
-24
80
6
0
0
0
0
0
0
0
0
8
-39
-33
0
0
-1
-32
-22
-2
0
0
0
0
0
0
0
0
0
2
21
1
2
-25
3
-41
4
0
0
0
0
0
0
0
0
0
-1
0
4
0
6
-31
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
7
-3
-8
32
-25
31
-35
0
0
0
-19
0
0
0
0
0
0
-1
-1
16
-5
-75
41
28
0
0
0
13
0
0
0
0
0
0
0
-39
1
15
-48
-15
-11
-27
55
-49
-5
-1
0
0
0
0
0
0
10
84
9
-14
-3
-47
-26
-32
-56
-12
1
0
0
0
0
0
0
-24
-4
-9
31
52
63
19
0
-31
-2
0
0
0
0
0
0
3
5
-23
-8
3
-25
2
0
0
-13
-2
0
0
0
0
0
0
0
0
-5
70
-9
-75
-15
5
24
86
-5
0
0
0
0
0
0
0
0
0
0
4
8
-10
-31
49
24
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
1
22
-9
21
-43
-49
0
0
0
1
0
0
0
0
0
0
-1
41
-25
54
96
4
59
0
0
0
-50
0
0
0
0
0
0
0
-8
2
61
13
58
144
-70
-67
10
-22
1
0
0
0
0
0
0
-8
-5
24
5
-40
31
-26
23
-55
-4
0
0
0
0
0
0
0
-5
-44
7
-35
41
101
-33
-8
-81
8
0
0
0
0
0
0
0
0
7
-12
7
-44
-49
5
0
0
-1
0
0
0
0
0
0
0
0
8
-13
25
-28
69
-54
3
-20
-1
-2
0
0
0
0
0
0
0
0
22
1
-7
8
39
-2
4
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
76
17
0
0
0
0
0
0
0
0
0
0
8
-49
-50
-50
0
0
0
-31
0
0
0
0
0
0
0
0
41
2
9
-41
-46
0
0
0
-44
-12
0
0
0
0
0
0
0
0
-1
5
69
8
3
15
-58
-90
-2
0
0
0
0
0
0
0
-22
-3
-42
47
-33
55
-8
-30
17
-2
0
0
0
0
0
0
0
5
-2
-9
-1
39
-48
-5
0
56
0
0
0
0
0
0
0
0
-14
-9
29
-68
54
-79
-7
0
0
0
0
0
0
0
0
0
0
0
4
24
83
35
-9
-25
4
-1
0
0
0
0
0
0
0
0
0
-1
-25
-31
53
5
-1
-69
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
-7
-20
0
0
0
-2
-24
0
0
0
0
0
0
0
0
0
-3
47
17
2
-99
-18
32
7
0
0
0
0
0
0
0
0
0
0
19
22
4
28
-14
-2
3
0
0
0
0
0
0
0
0
0
0
-2
18
25
24
10
0
19
0
0
0
0
0
0
0
0
0
0
-9
1
13
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
29
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
43
-1
-3
-35
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-48
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
3
-6
4
-1
-1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-25
15
12
0
0
0
0
0
0
0
0
0
0
0
0
-2
-37
4
42
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-10
0
0
0
0
0
0
0
0
0
0
8
-7
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-2
19
-2
-6
-8
0
0
0
0
0
0
0
0
0
0
0
3
42
42
-48
10
29
-3
66
-9
0
0
0
0
0
0
0
0
0
0
-7
-2
-25
-147
32
-8
-24
0
0
0
0
0
0
0
0
0
-6
0
-25
-24
-4
9
-27
-31
0
0
0
0
0
0
0
0
0
0
0
-6
-66
-67
-15
-1
-24
0
0
0
0
0
0
0
0
0
0
-7
31
-19
66
25
-90
-35
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
13
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-49
-6
0
0
0
0
0
0
0
0
0
1
0
-8
-2
0
0
0
0
2
0
0
0
0
0
0
0
2
1
17
20
-2
3
0
0
0
-8
0
0
0
0
0
0
0
0
1
-3
-1
-14
-1
10
-21
65
-5
0
0
0
0
0
0
0
0
0
27
-13
-25
-44
7
29
20
0
0
0
0
0
0
0
0
0
5
-25
-9
-22
-18
52
-4
13
0
0
0
0
0
0
0
0
0
0
0
-1
-22
9
-7
23
12
-1
0
0
0
0
0
0
0
0
0
0
0
10
14
-5
126
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-45
8
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-31
-5
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
19
1
-22
-1
-7
-4
1
0
0
0
0
0
0
0
0
0
0
7
-42
14
12
-37
-9
-1
0
0
0
0
0
0
0
0
0
-2
-10
-8
12
-5
46
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
-2
56
-31
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
8
10
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
29
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
0
0
0
0
0
0
0
0
0
0
2
-4
-1
-5
-7
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
6
-15
-41
0
0
0
-12
5
0
0
0
0
0
0
0
-4
2
22
64
-34
73
-13
-41
0
-1
0
0
0
0
0
0
0
0
4
30
2
-19
-53
6
7
0
0
0
0
0
0
0
0
0
4
-12
-34
-13
-9
19
-91
-12
0
0
0
0
0
0
0
0
0
1
-3
0
25
48
-100
33
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
8
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-8
-19
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
25
0
0
0
0
0
0
0
0
0
4
12
30
-3
-7
0
0
0
3
0
0
0
0
0
0
0
0
-3
3
24
9
57
0
0
0
-17
0
0
0
0
0
0
0
0
3
8
-57
-1
-43
66
-45
-67
0
0
0
0
0
0
0
0
0
5
53
34
-9
-41
-45
-40
27
0
0
0
0
0
0
0
0
4
0
-5
-31
10
-31
-49
-49
-8
0
0
0
0
0
0
0
0
0
0
8
4
0
67
-22
-77
84
-3
0
0
0
0
0
0
0
0
2
-1
0
0
0
31
0
-8
0
0
0
0
0
0
0
0
2
2
-1
0
2
6
-39
-13
57
-4
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
20
1
0
0
0
0
0
0
0
0
0
0
10
-9
-22
24
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
71
-99
18
0
0
0
3
-1
0
0
0
0
0
0
0
1
57
35
-58
-3
41
-49
-68
0
0
0
0
0
0
0
0
0
8
-42
14
56
41
-26
-95
-54
0
0
0
0
0
0
0
0
-1
-5
-22
23
-47
49
11
113
-41
0
0
0
0
0
0
0
0
0
0
-13
7
-41
6
5
54
-67
-1
0
0
0
0
0
0
0
0
-3
-16
-3
-1
0
-1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
125
127
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
-19
0
0
0
0
0
0
0
0
-2
43
-4
-18
-43
39
0
0
0
41
0
0
0
0
0
0
0
0
13
-8
8
101
75
0
0
0
50
0
0
0
0
0
0
-4
2
-5
-30
-9
47
-94
-23
-10
-86
1
-5
0
0
0
0
0
8
24
33
50
-8
-31
1
55
2
11
10
0
0
0
0
0
0
0
-8
9
6
25
39
4
9
-22
12
-5
0
0
0
0
0
0
0
2
-20
-35
-17
146
-31
19
6
-43
19
0
0
0
0
0
0
0
0
2
4
32
-6
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-4
-12
-18
-30
0
25
-4
55
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
13
0
-2
0
0
0
0
0
0
0
4
-13
-35
12
28
74
0
0
0
-20
2
0
0
0
0
0
0
8
-41
-31
-43
-91
32
0
0
0
-51
2
0
0
0
0
0
0
2
-22
29
-39
-13
-43
109
-29
3
-7
-21
0
0
0
0
0
0
14
15
-20
84
-75
-73
5
-59
-50
9
3
0
0
0
0
0
0
23
-66
-57
64
2
-31
-39
51
-37
6
-2
0
0
0
0
0
0
2
-5
-48
-23
96
-28
-48
-2
-19
-3
0
0
0
0
0
0
0
5
0
-17
31
38
-37
6
0
1
1
0
0
0
0
0
0
0
0
-1
25
10
-8
16
42
0
19
59
-1
0
0
0
0
0
0
0
0
0
1
0
0
4
7
6
0
0
0
0
0
0
0
0
0
-7
-1
9
-24
6
0
0
0
-11
-3
0
0
0
0
0
0
-3
7
8
-34
-7
-12
0
0
0
31
-2
-1
0
0
0
0
0
0
22
32
84
2
17
24
-97
4
32
1
0
0
0
0
0
0
0
2
-8
29
-43
23
63
22
5
62
-1
0
0
0
0
0
0
0
-25
-49
59
43
27
-13
-99
-2
25
1
0
0
0
0
0
0
0
-2
25
-19
99
-45
60
-13
0
-41
0
0
0
0
0
0
0
0
-1
2
-2
19
4
-16
1
0
0
0
0
0
0
0
0
0
0
-1
-14
15
-18
5
-7
35
4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
5
0
-4
-1
0
0
0
3
-25
0
0
0
0
0
0
0
0
0
-9
1
-14
0
0
0
-59
-116
0
0
0
0
0
0
0
0
0
0
23
-10
-49
42
-22
1
-50
0
0
0
0
0
0
0
0
0
2
0
-10
-13
73
-43
41
4
2
0
0
0
0
0
0
0
2
0
4
42
-39
-24
24
-1
1
0
0
0
0
0
0
0
0
0
0
4
2
-14
22
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
2
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-32
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
29
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-28
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
-1
6
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
29
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-3
1
14
2
0
0
0
0
0
0
0
0
0
0
4
6
-10
34
14
70
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
5
-34
0
2
0
0
0
0
0
0
0
0
0
0
0
10
2
5
18
-23
3
0
0
0
0
0
0
0
0
0
0
-4
1
6
8
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
41
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
4
-7
7
49
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
32
41
3
0
0
0
0
0
0
0
0
0
0
0
0
-12
-8
-8
27
9
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
46
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
-3
-2
0
0
29
3
5
-4
0
0
0
0
0
0
0
0
0
-2
0
-24
-2
2
-8
0
5
0
0
0
0
0
0
0
0
0
8
25
-1
-8
5
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
57
9
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-31
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-8
0
0
0
0
0
0
0
0
0
0
0
-8
0
-34
-4
-12
5
15
3
0
0
0
0
0
0
0
0
0
-8
0
32
-41
-6
28
10
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-43
-47
33
14
0
0
0
0
0
0
0
0
0
0
0
0
27
-24
10
-32
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
12
0
0
0
0
0
0
0
0
0
2
0
-3
0
6
0
0
0
10
0
0
0
0
0
0
0
0
1
7
0
-4
41
0
0
0
2
0
0
0
0
0
0
0
0
-3
-14
-19
2
-16
2
-35
43
0
0
0
0
0
0
0
0
2
2
5
14
-49
54
13
21
-1
0
0
0
0
0
0
0
0
0
0
0
-30
31
-34
-43
-8
-19
2
0
0
0
0
0
0
0
0
0
9
-6
17
1
47
1
16
-3
0
0
0
0
0
0
0
0
1
-4
-2
0
-22
9
7
25
1
0
0
0
0
0
0
0
0
0
8
0
0
0
-5
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
8
3
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
4
-8
32
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
-20
24
-13
10
-49
-27
0
0
0
0
0
0
0
0
0
0
3
-2
49
9
68
4
-77
5
0
0
0
0
0
0
0
5
1
2
4
18
25
-36
-41
12
0
0
0
0
0
0
0
0
0
-1
-3
9
-15
-72
-66
0
8
0
0
0
0
0
0
0
0
0
0
5
16
7
0
10
27
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
18
12
0
0
0
0
0
0
0
0
0
1
5
7
0
42
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
-66
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
-7
23
-9
24
-29
-16
38
0
0
0
0
0
0
0
0
0
-3
1
5
-6
-46
79
18
-13
-3
0
0
0
0
0
0
0
-2
-2
-9
15
5
19
-38
-55
18
3
0
0
0
0
0
0
0
0
0
2
98
26
-147
25
2
-7
-8
0
0
0
0
0
0
0
0
8
3
-49
8
31
0
-31
-32
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-16
1
0
0
0
0
0
0
0
0
8
23
-13
-13
-42
0
0
0
-20
5
0
0
0
0
0
0
8
-4
66
-14
-20
24
0
0
0
0
0
0
0
0
0
0
0
4
-20
-12
29
44
-21
-7
16
-62
9
0
0
0
0
0
0
0
-6
-4
-5
-42
-18
41
-97
22
84
-1
-2
0
0
0
0
0
0
0
8
1
-29
55
25
1
-15
-3
7
0
0
0
0
0
0
0
0
6
-30
-49
13
-53
-58
6
-16
-3
0
0
0
0
0
0
0
0
10
-20
-118
-7
13
-27
-1
99
6
0
0
0
0
0
0
0
0
0
-6
12
-1
-10
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
4
1
0
0
0
-34
-9
0
0
0
0
0
0
0
4
0
0
-7
-24
0
0
0
-50
-1
0
0
0
0
0
0
0
-5
5
2
-70
-27
47
1
-3
-43
3
0
0
0
0
0
0
0
0
-10
-6
24
-6
75
21
31
-25
-1
0
0
0
0
0
0
0
0
32
-1
-5
-42
37
-62
8
67
0
0
0
0
0
0
0
0
0
6
-3
-20
59
-74
-7
-6
15
0
0
0
0
0
0
0
0
0
-3
-1
16
28
68
25
0
-25
0
0
0
0
0
0
0
0
0
0
-1
-9
-2
-22
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-21
1
0
0
0
0
0
0
0
0
0
-2
-1
-2
8
17
3
8
0
0
0
0
0
0
0
0
0
0
0
-13
-10
-4
-26
2
1
0
0
0
0
0
0
0
0
0
0
0
2
8
-15
-8
-2
-68
0
0
0
0
0
0
0
0
0
0
8
1
10
-13
-29
0
-22
0
0
0
0
0
0
0
0
0
0
0
-1
3
8
-4
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
4
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
0
12
5
0
0
0
0
0
0
0
0
0
0
0
0
3
5
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-27
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
1
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
-49
-5
-25
42
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-1
25
-61
-5
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-32
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
8
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
-20
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
-8
2
78
0
75
0
0
0
0
0
0
0
0
0
0
0
2
0
-31
5
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
59
34
8
0
-17
0
0
0
0
0
0
0
0
0
0
0
15
0
1
-8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
-1
1
32
13
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
-15
6
-5
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
-41
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-19
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
-60
52
-2
75
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-30
13
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
80
24
8
5
7
0
0
0
0
0
0
0
0
0
0
0
-52
27
-15
-64
-2
-17
1
0
0
0
0
0
0
0
0
0
-2
22
53
14
-43
-12
8
-1
-8
0
0
0
0
0
0
0
0
19
-35
45
5
5
8
0
0
-5
0
0
0
0
0
0
0
0
0
-6
2
-1
0
-6
15
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
25
0
-1
-3
6
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-13
-6
-2
-3
2
0
0
0
0
0
0
0
0
0
0
-15
59
46
6
66
29
-3
-6
0
0
0
0
0
0
0
0
1
-50
77
-71
5
16
4
18
0
0
0
0
0
0
0
0
0
0
-55
94
-5
79
-3
29
2
0
-16
0
0
0
0
0
0
0
0
4
-4
43
6
-9
2
-3
0
0
0
0
0
0
0
0
0
0
5
-5
0
-10
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
24
2
0
-20
22
78
-24
0
3
0
0
0
0
0
0
0
0
-5
3
-5
4
-11
-22
0
3
8
0
0
0
0
0
0
0
0
7
-2
24
-24
-29
4
-5
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
-3
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
37
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
39
-15
-13
-30
9
29
-1
3
0
0
0
0
0
0
0
0
5
-1
5
-2
7
-1
-2
33
0
0
0
0
0
0
0
0
0
-16
0
-3
6
16
-10
-2
0
-6
0
0
0
0
0
0
0
0
24
2
-1
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-7
6
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-24
-13
0
0
43
2
0
0
0
0
0
0
0
0
0
9
-42
13
27
-1
-10
8
0
0
0
0
0
0
0
0
0
0
-22
42
14
-25
4
17
-8
15
0
0
0
0
0
0
0
0
0
-16
-9
-1
6
-2
0
0
8
-2
1
0
0
0
0
0
0
0
-6
4
-49
5
2
-7
0
0
0
0
0
0
0
0
0
0
0
14
-64
6
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
23
13
-7
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
42
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
-53
-33
-31
-18
10
10
0
7
0
0
0
0
0
0
0
0
0
9
-31
18
49
-24
-7
-17
-2
0
0
0
0
0
0
0
0
20
83
20
-29
-43
9
4
-10
-5
0
0
0
0
0
0
0
0
-7
7
52
7
15
5
5
0
2
0
0
0
0
0
0
0
0
-3
-18
-42
1
4
49
0
0
0
0
0
0
0
0
0
0
0
2
-66
6
4
7
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-6
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-24
142
22
-30
32
-27
0
0
0
0
0
0
0
0
0
0
-10
-2
-26
-6
74
-5
-20
4
1
0
0
0
0
0
0
0
0
-4
98
9
74
3
7
6
-4
6
8
0
0
0
0
0
0
0
13
-45
-72
-14
39
4
-8
6
0
4
0
0
0
0
0
0
0
66
62
-55
77
18
6
22
6
0
0
0
0
0
0
0
0
0
-15
47
45
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
13
-9
-2
0
-5
6
0
-1
0
0
0
0
0
0
0
0
1
-32
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
33
-53
-22
-21
9
-30
0
0
0
0
0
0
0
0
0
0
-2
-12
63
13
5
-17
-34
-8
5
0
0
0
0
0
0
0
0
-2
68
10
-63
1
-59
-10
-1
0
0
0
0
0
0
0
0
0
59
-22
-24
-60
6
-9
13
19
0
-2
0
0
0
0
0
0
0
-25
2
-61
0
-9
80
3
0
-6
0
0
0
0
0
0
0
0
-7
5
-73
-31
7
8
0
0
0
0
0
0
0
0
0
0
0
43
25
-25
-8
13
-3
14
0
0
0
0
0
0
0
0
0
0
41
0
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
45
-15
-34
7
-2
0
0
0
0
0
0
0
0
0
0
0
14
13
53
-31
-43
-9
1
-2
0
0
0
0
0
0
0
0
0
-8
-29
-2
41
8
12
-1
2
0
0
0
0
0
0
0
0
0
-6
-25
22
-2
25
-2
2
0
0
0
0
0
0
0
0
0
0
-2
-13
42
-6
-13
-7
0
0
0
0
0
0
0
0
0
0
0
18
0
-24
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
9
-16
0
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-6
-19
13
-1
0
7
-1
0
0
0
0
0
0
0
0
0
-10
-3
41
-15
20
-24
0
0
0
0
0
0
0
0
0
0
0
54
16
36
-19
-12
-7
0
0
0
0
0
0
0
0
0
0
0
-6
-8
8
9
-1
-2
0
0
0
0
0
0
0
0
0
0
0
3
-6
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
84
-27
5
-76
-4
-3
-2
0
0
0
0
0
0
0
0
0
-30
-64
5
11
-90
18
19
-3
0
0
0
0
0
0
0
0
0
5
67
6
-55
49
29
-18
2
5
1
0
0
0
0
0
0
0
9
-5
-71
-26
0
-3
75
-1
0
0
0
0
0
0
0
0
0
0
56
-8
-61
43
-3
29
0
0
0
0
0
0
0
0
0
0
20
-3
-5
-1
2
1
0
-4
1
0
0
0
0
0
0
0
0
-2
-53
-1
-2
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
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
-5
1
-20
22
7
1
-16
0
0
0
0
0
0
0
0
0
2
22
48
-7
-6
-2
-1
6
8
0
0
0
0
0
0
0
0
0
44
-38
12
-22
-46
-8
-25
6
-9
0
0
0
0
0
0
0
-3
41
-41
-52
-12
57
2
-5
0
-3
0
0
0
0
0
0
0
0
24
43
0
55
-7
4
-5
3
0
0
0
0
0
0
0
0
0
-8
-2
-4
6
0
6
-4
5
0
0
0
0
0
0
0
0
0
23
0
2
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-12
25
-32
-5
0
7
0
0
0
0
0
0
0
0
0
-4
5
14
-8
-15
23
-17
-31
-1
0
0
0
0
0
0
0
0
-3
7
8
26
-5
24
4
-5
-2
0
0
0
0
0
0
0
0
-2
0
-49
24
-66
28
43
0
6
0
0
0
0
0
0
0
0
0
-2
30
25
1
-3
0
0
-1
0
0
0
0
0
0
0
0
4
3
0
12
-16
-4
2
4
0
0
0
0
0
0
0
0
0
0
-2
-7
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
49
6
-10
13
71
10
0
0
0
0
0
0
0
0
0
-13
-39
-45
-7
9
15
73
-5
7
0
0
0
0
0
0
0
0
8
21
-30
26
-41
1
13
-29
5
0
0
0
0
0
0
0
0
13
-24
-14
33
1
1
-4
2
0
0
0
0
0
0
0
0
0
-6
-13
5
2
5
-7
2
0
-1
-2
0
0
0
0
0
0
0
-42
-5
-45
6
-3
3
1
0
2
0
0
0
0
0
0
0
0
6
-18
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
44
69
41
-30
6
17
-6
0
0
0
0
0
0
0
0
0
32
9
31
-23
20
27
-4
0
-25
0
0
0
0
0
0
0
0
8
27
80
25
54
23
-13
-8
0
0
0
0
0
0
0
0
0
30
83
9
43
2
-12
14
-2
0
0
0
0
0
0
0
0
0
21
23
9
14
-41
5
4
3
0
0
0
0
0
0
0
0
0
-6
24
12
3
0
-1
-1
1
-3
0
0
0
0
0
0
0
0
-23
-49
8
-5
-8
1
0
0
0
0
0
0
0
0
0
0
0
-4
6
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-29
82
58
-21
22
8
10
0
0
0
0
0
0
0
0
0
-25
41
19
49
-34
55
7
29
5
9
0
0
0
0
0
0
0
4
-1
103
-23
-22
24
-23
8
-31
-1
0
0
0
0
0
0
0
-24
20
34
20
-7
-42
27
-9
0
0
0
0
0
0
0
0
0
-9
-49
-66
52
7
27
-2
-2
14
0
0
0
0
0
0
0
0
30
32
-35
-22
-8
18
-2
25
0
0
0
0
0
0
0
0
0
-5
16
14
-13
8
-2
-1
4
-1
0
0
0
0
0
0
0
0
0
44
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-8
77
40
-12
21
-9
-13
0
0
0
0
0
0
0
0
0
36
19
21
21
109
10
-13
-3
61
0
0
0
0
0
0
0
0
173
46
60
46
110
-10
2
24
25
-2
0
0
0
0
0
0
0
-18
-60
20
56
23
25
18
18
-42
-7
0
0
0
0
0
0
0
67
47
14
-27
-20
-15
54
3
0
-6
0
0
0
0
0
0
0
-30
-30
31
-1
44
14
-6
-6
2
0
0
0
0
0
0
0
0
50
30
-32
7
-23
-5
0
8
-1
0
0
0
0
0
0
0
0
4
-41
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
12
8
78
-31
73
82
69
0
0
0
0
0
0
0
0
0
-31
-104
-26
31
-57
52
-12
41
1
0
0
0
0
0
0
0
0
-18
15
75
48
26
-31
19
-19
49
23
0
0
0
0
0
0
0
59
-45
22
-37
-13
-55
42
49
-1
8
0
0
0
0
0
0
0
-29
6
-26
-26
-49
36
-9
4
7
-1
0
0
0
0
0
0
0
4
-8
-12
-58
46
13
13
0
5
-2
0
0
0
0
0
0
0
8
-16
-54
-7
-49
5
-6
6
4
0
0
0
0
0
0
0
0
2
-75
58
55
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-12
-44
22
22
58
75
0
0
0
0
0
0
0
0
0
0
-5
53
-26
-12
-104
5
-63
43
0
0
0
0
0
0
0
0
0
-5
20
109
37
-29
-89
77
63
6
0
0
0
0
0
0
0
0
-6
-28
-64
-19
-10
24
-21
5
-1
0
0
0
0
0
0
0
0
35
-28
-13
64
90
0
-7
7
0
0
0
0
0
0
0
0
0
-33
5
61
-21
84
43
-5
-1
0
0
0
0
0
0
0
0
0
-22
35
26
-32
-6
8
2
1
0
0
0
0
0
0
0
0
0
-18
-14
-10
-19
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-37
31
19
32
8
0
5
0
0
0
0
0
0
0
0
0
32
41
-13
60
2
-34
-2
-2
0
0
0
0
0
0
0
0
0
34
6
2
-3
-14
13
42
3
0
0
0
0
0
0
0
0
0
41
64
34
24
19
21
7
0
0
0
0
0
0
0
0
0
0
33
-24
87
5
5
1
-2
3
0
0
0
0
0
0
0
0
0
6
20
2
-29
-42
-5
0
0
0
0
0
0
0
0
0
0
0
-10
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
49
29
13
-56
3
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
-15
12
0
-6
0
0
0
0
0
0
0
0
0
0
0
-20
-1
-5
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-3
2
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
-5
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
-2
0
-2
3
-7
0
0
0
0
0
0
0
0
0
25
12
19
10
1
24
1
-3
0
0
0
0
0
0
0
0
0
0
22
-2
13
10
2
0
-1
0
0
0
0
0
0
0
0
0
-23
72
2
-7
10
-3
3
-3
0
0
0
0
0
0
0
0
0
-13
2
-3
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-22
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
32
-20
-6
91
8
4
-8
0
0
0
0
0
0
0
0
0
8
51
78
-28
-27
-21
12
41
-1
0
0
0
0
0
0
0
0
-31
17
-34
76
45
11
-34
-8
1
0
0
0
0
0
0
0
0
-2
-29
-3
-50
76
-35
-19
-15
0
0
0
0
0
0
0
0
0
8
-26
46
-5
-9
-5
-29
1
2
0
0
0
0
0
0
0
0
1
-45
48
27
4
-1
-1
3
1
0
0
0
0
0
0
0
0
0
84
8
6
-5
0
0
2
6
0
0
0
0
0
0
0
0
0
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-34
-79
12
-15
25
1
0
0
0
0
0
0
0
0
0
0
15
10
80
-8
28
-20
39
0
0
0
0
0
0
0
0
0
0
48
0
-8
14
-53
8
37
0
-1
0
0
0
0
0
0
0
0
-29
49
-19
-59
44
-9
1
9
-1
0
0
0
0
0
0
0
0
-42
0
-13
6
6
0
-5
-5
0
0
0
0
0
0
0
0
0
-21
5
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
17
-7
0
0
0
-3
0
-10
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
32
7
7
-10
4
-1
0
0
0
0
0
0
0
0
0
27
4
30
22
-10
-25
25
-3
9
0
-1
0
0
0
0
0
0
24
-2
-27
1
-4
0
10
0
-1
-1
0
0
0
0
0
0
0
7
-1
10
-6
5
27
14
0
0
0
0
0
0
0
0
0
0
3
-10
3
-13
7
-7
-2
0
0
-2
0
0
0
0
0
0
0
-1
-4
-2
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-24
1
16
28
25
1
-4
0
0
0
0
0
0
0
0
0
43
-42
24
6
31
-19
-5
-8
0
0
0
0
0
0
0
0
0
-5
-9
7
62
-4
8
-27
-1
0
0
0
0
0
0
0
0
0
1
21
3
-8
-32
1
-20
7
-3
-2
0
0
0
0
0
0
0
-30
8
-1
12
-9
4
0
0
0
0
0
0
0
0
0
0
0
-28
8
-7
17
-3
-4
2
-2
4
0
0
0
0
0
0
0
0
-32
10
6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
-4
-18
-18
-39
34
34
0
0
0
0
0
0
0
0
0
21
45
69
3
-52
49
63
60
-4
0
0
0
0
0
0
0
0
-17
35
54
58
8
2
40
4
0
0
0
0
0
0
0
0
0
73
-23
-15
40
-24
-30
-1
14
2
0
0
0
0
0
0
0
0
-2
-42
-8
-64
-3
35
7
0
0
0
0
0
0
0
0
0
0
-50
29
42
-5
5
0
0
-8
0
0
0
0
0
0
0
0
0
74
-5
27
20
1
-1
1
0
0
0
0
0
0
0
0
0
0
8
7
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
21
-49
15
7
-29
1
0
0
0
0
0
0
0
0
0
-30
4
10
33
-23
8
-29
5
-1
-1
0
0
0
0
0
0
0
-41
19
33
-26
-23
-60
2
37
-7
0
0
0
0
0
0
0
0
15
80
40
15
23
9
10
16
7
2
0
0
0
0
0
0
0
-9
-4
45
82
-1
-8
50
6
0
1
0
0
0
0
0
0
0
-4
13
35
-3
17
27
-14
7
0
0
0
0
0
0
0
0
0
-31
12
29
-6
10
-7
2
0
0
0
0
0
0
0
0
0
0
-7
42
14
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-13
-11
48
59
73
51
-45
0
0
0
0
0
0
0
0
0
6
25
5
-13
22
-21
80
48
8
-9
0
0
0
0
0
0
0
-26
-9
31
54
-14
-16
-5
0
-2
0
0
0
0
0
0
0
0
41
56
10
52
14
43
23
-20
2
-1
0
0
0
0
0
0
0
45
-2
-27
-42
49
-3
11
18
6
0
0
0
0
0
0
0
0
-18
-5
-5
1
61
-37
42
-2
-8
1
0
0
0
0
0
0
0
-17
-13
61
-5
-10
-5
-8
1
0
0
0
0
0
0
0
0
0
-24
-9
27
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
84
22
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
3
87
-82
-22
-1
-20
-48
0
0
0
0
0
0
0
0
0
43
46
38
-70
-24
50
-16
-2
-12
8
0
0
0
0
0
0
0
35
-18
-16
-14
-3
23
17
6
0
-8
0
0
0
0
0
0
0
12
98
-71
-54
3
-2
73
25
17
0
0
0
0
0
0
0
0
-22
-7
-1
9
-40
46
-31
-2
8
-8
0
0
0
0
0
0
0
57
-24
148
-23
41
-37
-10
-20
0
1
0
0
0
0
0
0
0
-21
29
76
-32
-54
-18
-17
-10
-4
3
0
0
0
0
0
0
0
8
44
21
25
5
-8
0
1
0
0
0
0
0
0
0
0
0
-1
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
-26
19
63
77
-66
0
6
0
0
0
0
0
0
0
0
25
9
-26
-11
45
-45
13
-2
1
1
0
0
0
0
0
0
0
-12
-76
78
-91
2
-34
-18
-13
-1
0
0
0
0
0
0
0
0
-31
33
-25
-21
32
29
-39
-6
1
0
0
0
0
0
0
0
0
9
2
20
125
-15
-1
-16
7
9
0
0
0
0
0
0
0
0
13
-8
27
-8
-43
93
12
7
-4
0
0
0
0
0
0
0
0
-5
-18
-30
28
0
8
1
-1
3
0
0
0
0
0
0
0
0
-9
25
25
-6
0
7
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
5
-20
39
-27
0
0
0
0
0
0
0
0
0
0
0
0
-30
3
27
-5
-2
25
3
0
2
0
0
0
0
0
0
0
0
68
78
24
61
10
12
10
-2
0
0
0
0
0
0
0
0
0
-22
46
75
-32
15
-25
-1
8
0
0
0
0
0
0
0
0
0
-21
29
-23
28
-25
1
0
0
0
0
0
0
0
0
0
0
0
-18
6
-54
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
23
5
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
2
-18
10
1
0
0
0
0
0
0
0
0
0
0
0
-6
4
-37
-1
9
-1
-1
0
0
0
0
0
0
0
0
0
0
4
-2
41
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
4
-2
5
0
0
-2
0
0
0
0
0
0
0
0
0
12
9
6
0
-2
-5
7
-25
0
0
0
0
0
0
0
0
0
13
23
-8
-5
42
-7
-3
2
0
0
0
0
0
0
0
0
0
0
7
13
-3
-4
-1
0
-3
0
0
0
0
0
0
0
0
0
-76
-20
3
-2
0
-3
-8
0
0
0
0
0
0
0
0
0
0
-2
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-32
-10
-24
5
-24
0
0
0
0
0
0
0
0
0
0
3
-27
1
75
13
-53
26
60
-10
0
0
0
0
0
0
0
0
96
-66
-43
-10
-55
-29
-13
49
0
0
0
0
0
0
0
0
0
-14
-7
48
52
16
-66
4
33
-2
0
0
0
0
0
0
0
0
-1
-106
-95
22
33
-41
1
0
-8
-8
0
0
0
0
0
0
0
1
-12
14
-5
70
44
-1
-2
-1
0
0
0
0
0
0
0
0
2
85
2
-23
0
3
24
0
0
0
0
0
0
0
0
0
0
0
-26
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
51
-23
12
12
-13
-1
0
0
0
0
0
0
0
0
0
0
-4
-13
42
95
4
-7
8
-4
0
0
0
0
0
0
0
0
0
-7
-62
-42
-20
-13
-7
5
-3
0
0
0
0
0
0
0
0
0
-91
-1
-41
71
7
-37
-2
0
-5
0
0
0
0
0
0
0
0
-8
15
47
38
-24
-14
0
-5
0
0
0
0
0
0
0
0
0
8
-24
-3
19
44
2
-6
0
0
0
0
0
0
0
0
0
0
60
25
8
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
14
0
-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
2
51
9
13
-2
10
-2
0
0
0
0
0
0
0
0
0
-2
0
-25
3
42
12
27
2
0
0
0
0
0
0
0
0
0
10
-3
-3
39
9
25
24
-8
-2
0
0
0
0
0
0
0
0
51
-17
9
0
8
-17
67
0
-3
0
0
0
0
0
0
0
0
32
-6
-7
3
12
-5
2
-8
-1
0
0
0
0
0
0
0
0
2
1
-13
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
-7
0
5
2
-3
0
0
0
0
0
0
0
0
0
-5
-53
30
-30
19
-7
22
6
-3
0
0
0
0
0
0
0
0
-4
-25
-5
-8
-2
-13
-24
-4
0
0
0
0
0
0
0
0
0
-41
49
31
-42
5
30
-5
1
0
0
0
0
0
0
0
0
0
-16
35
-5
8
4
0
0
0
0
4
0
0
0
0
0
0
0
1
8
-3
-5
3
13
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-1
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
4
8
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
27
61
-49
-41
-54
37
5
0
0
0
0
0
0
0
0
0
64
33
35
-42
20
-2
23
-7
-20
0
0
0
0
0
0
0
0
-39
-33
6
-91
7
-10
-52
-6
1
0
0
0
0
0
0
0
0
26
52
57
-35
6
-1
-10
10
8
0
0
0
0
0
0
0
0
-20
27
-35
-42
101
23
24
7
22
-1
0
0
0
0
0
0
0
33
-54
39
14
13
-17
0
0
0
0
0
0
0
0
0
0
0
5
-7
-30
-12
-2
0
0
-4
0
0
0
0
0
0
0
0
0
25
77
-8
4
0
6
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
37
1
-2
-21
-6
-12
-16
0
0
0
0
0
0
0
0
0
-16
-3
-109
5
47
19
-10
10
0
0
0
0
0
0
0
0
0
-3
59
67
58
3
-37
14
-32
42
-1
0
0
0
0
0
0
0
49
53
25
11
31
-16
2
-6
-5
0
0
0
0
0
0
0
0
13
59
68
13
23
2
9
7
9
0
0
0
0
0
0
0
0
-14
10
14
-4
28
17
-33
-5
0
0
0
0
0
0
0
0
0
1
49
-43
13
-4
25
4
-3
5
0
0
0
0
0
0
0
0
42
7
69
24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
73
4
34
-15
58
-16
3
0
0
0
0
0
0
0
0
0
-8
41
18
-32
-40
24
-59
-2
4
0
0
0
0
0
0
0
0
93
2
-5
-12
50
8
-42
20
9
3
0
0
0
0
0
0
0
24
60
-24
121
10
-17
12
1
0
0
0
0
0
0
0
0
0
50
52
67
-17
14
-17
66
-7
-6
0
0
0
0
0
0
0
0
-10
34
7
4
-2
0
27
0
0
0
0
0
0
0
0
0
0
41
4
-17
-5
-8
8
-2
0
-9
0
0
0
0
0
0
0
0
7
24
17
3
1
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
39
-38
-73
9
29
-78
-13
0
0
0
0
0
0
0
0
0
27
9
-23
72
-7
-1
12
43
-32
-5
0
0
0
0
0
0
0
-12
39
-14
24
-77
67
-33
-35
-6
-2
0
0
0
0
0
0
0
41
-118
19
-37
-27
59
44
-49
0
-1
0
0
0
0
0
0
0
-27
-22
-10
39
6
-31
-13
-3
16
0
0
0
0
0
0
0
0
5
20
-13
-17
-43
35
3
12
0
0
0
0
0
0
0
0
0
49
37
8
30
-9
-34
14
6
8
1
0
0
0
0
0
0
0
-3
45
21
-49
19
0
-5
1
2
0
0
0
0
0
0
0
0
33
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-12
19
-43
23
-72
6
0
0
0
0
0
0
0
0
0
0
8
58
39
43
10
76
-19
15
0
0
0
0
0
0
0
0
0
-2
-19
59
30
-9
-6
76
-9
-1
0
0
0
0
0
0
0
0
-3
73
-56
10
-16
12
20
22
0
0
0
0
0
0
0
0
0
-42
-45
-20
73
42
12
12
-72
-2
0
0
0
0
0
0
0
0
-32
-49
67
-96
43
35
6
-49
0
0
0
0
0
0
0
0
0
-54
75
-1
14
-41
-2
1
0
0
0
0
0
0
0
0
0
0
13
54
-27
-8
-17
-5
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
-50
5
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
79
114
16
10
-13
0
0
-2
0
0
0
0
0
0
0
0
13
43
15
-17
-5
15
4
-1
0
0
0
0
0
0
0
0
0
-25
15
26
2
6
-5
-1
0
0
0
0
0
0
0
0
0
0
-13
0
20
-19
-27
1
0
0
0
0
0
0
0
0
0
0
0
-8
2
22
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
-24
-2
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
-20
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
5
-9
2
0
5
-13
-6
0
0
0
0
0
0
0
0
0
0
8
13
-17
-5
-3
15
12
0
0
0
0
0
0
0
0
0
0
-9
18
16
-8
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
34
-17
-8
-2
0
-4
-1
0
0
0
0
0
0
0
0
0
10
-9
-18
96
4
0
0
0
0
0
0
0
0
0
0
0
0
2
8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
5
9
-25
43
25
0
0
0
0
0
0
0
0
0
-7
45
-75
-34
48
7
14
19
-6
0
0
0
0
0
0
0
0
-3
41
35
-66
-5
13
-23
24
13
0
0
0
0
0
0
0
0
-1
103
25
13
19
34
62
16
-3
0
0
0
0
0
0
0
0
12
0
-23
-26
-10
-66
49
-7
12
0
0
0
0
0
0
0
0
0
-4
31
-48
57
27
-3
0
0
0
0
0
0
0
0
0
0
2
-43
-6
12
24
-2
-1
1
-1
0
0
0
0
0
0
0
0
0
45
-4
-22
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
-7
9
-27
2
-5
0
0
0
0
0
0
0
0
0
4
-19
-3
-12
7
-33
0
-20
3
0
0
0
0
0
0
0
0
0
-18
-26
72
5
23
-32
-8
0
0
0
0
0
0
0
0
0
0
-49
-18
-13
15
12
-13
-4
0
0
0
0
0
0
0
0
0
0
-36
0
25
110
-8
2
-2
0
0
0
0
0
0
0
0
0
0
-3
51
-7
1
10
0
0
7
0
0
0
0
0
0
0
0
0
-12
-8
-19
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-40
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
1
0
-1
6
7
0
0
0
0
0
0
0
0
0
0
2
-10
-61
49
-12
35
49
5
0
0
0
0
0
0
0
0
0
3
7
9
3
-42
2
8
-8
0
0
0
0
0
0
0
0
0
-7
9
8
-10
-39
-2
-3
-5
2
0
0
0
0
0
0
0
0
-6
-3
8
0
0
-13
13
1
0
0
0
0
0
0
0
0
0
-3
0
1
14
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-24
-30
-7
8
10
0
0
0
0
0
0
0
0
0
0
18
7
-1
-9
24
45
-16
2
-3
0
0
0
0
0
0
0
0
13
19
-49
29
55
-5
4
-2
10
0
0
0
0
0
0
0
0
-59
-13
23
87
-14
2
-8
8
0
0
0
0
0
0
0
0
0
8
-8
23
-42
0
5
4
-2
0
0
0
0
0
0
0
0
0
-37
34
-8
-58
20
0
0
-1
-3
0
0
0
0
0
0
0
0
6
-45
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
22
-58
16
35
22
-3
5
0
0
0
0
0
0
0
0
0
71
61
67
42
14
-19
-32
8
0
0
0
0
0
0
0
0
0
45
-41
-10
-12
-15
14
8
-9
0
0
0
0
0
0
0
0
0
-14
73
23
-17
3
-3
-14
2
1
0
0
0
0
0
0
0
0
-79
96
39
43
-68
0
-8
0
1
0
0
0
0
0
0
0
0
5
-2
41
-57
5
6
9
-4
0
0
0
0
0
0
0
0
0
48
-3
-7
45
-4
1
-22
1
0
0
0
0
0
0
0
0
0
-1
83
-4
-6
-3
0
0
-2
0
0
0
0
0
0
0
0
0
37
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-18
-7
18
29
-2
-39
-2
0
0
0
0
0
0
0
0
0
22
22
-27
31
35
31
-13
-10
13
0
0
0
0
0
0
0
0
25
-25
-46
3
46
28
17
-25
25
0
0
0
0
0
0
0
0
-5
21
49
19
-24
-24
-4
-2
2
0
0
0
0
0
0
0
0
-7
7
3
74
76
34
0
20
4
0
0
0
0
0
0
0
0
14
12
25
-57
10
4
-8
0
-13
0
0
0
0
0
0
0
0
-8
-27
-45
69
0
-10
4
2
0
0
0
0
0
0
0
0
0
-13
-6
-8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
62
56
-15
74
53
-41
-5
0
4
0
0
0
0
0
0
0
139
-26
85
49
70
-8
45
5
-9
0
0
0
0
0
0
0
0
-13
-18
57
49
-23
-69
-2
47
33
-4
0
0
0
0
0
0
0
-5
-5
-35
106
-47
10
-1
10
-8
0
0
0
0
0
0
0
0
-5
3
66
-12
45
19
12
0
0
0
0
0
0
0
0
0
0
34
31
59
5
-33
-5
-13
3
0
-3
0
0
0
0
0
0
0
-4
8
25
0
-45
14
-2
0
0
0
0
0
0
0
0
0
0
-8
41
-4
34
8
-1
0
0
0
0
0
0
0
0
0
0
0
-9
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-34
-24
44
28
92
-29
2
0
0
0
0
0
0
0
0
0
27
-4
-48
93
-21
115
27
2
25
0
0
0
0
0
0
0
0
-8
80
30
-52
16
-53
-42
-41
3
23
0
0
0
0
0
0
0
-6
-34
75
46
-43
-5
-21
12
24
0
0
0
0
0
0
0
0
10
30
-22
37
7
75
-9
-4
0
1
0
0
0
0
0
0
0
-32
49
-16
-19
44
25
-8
9
29
0
0
0
0
0
0
0
0
34
9
8
-52
7
9
-24
-14
-1
0
0
0
0
0
0
0
0
1
59
-24
-55
2
-6
27
0
7
0
0
0
0
0
0
0
0
24
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-16
64
-45
36
-13
-61
0
0
0
0
0
0
0
0
0
0
69
46
49
15
-43
64
75
-42
-1
1
0
0
0
0
0
0
0
-31
63
55
-12
70
-24
-43
5
1
0
0
0
0
0
0
0
0
-16
11
43
110
13
44
33
4
8
0
0
0
0
0
0
0
0
-92
-4
58
34
-5
54
15
-3
0
0
0
0
0
0
0
0
0
-9
-26
-43
16
15
2
58
0
5
0
0
0
0
0
0
0
0
-13
0
84
12
-14
31
9
-17
0
0
0
0
0
0
0
0
0
-2
-39
30
9
-3
0
7
5
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
30
-55
31
-1
0
0
0
0
0
0
0
0
0
0
0
18
22
23
-9
3
-23
-2
0
0
0
0
0
0
0
0
0
0
23
27
-42
17
-2
2
-19
0
0
0
0
0
0
0
0
0
0
32
10
-12
-12
-5
9
2
3
0
0
0
0
0
0
0
0
0
-49
54
1
-1
12
-16
1
-5
0
0
0
0
0
0
0
0
0
-2
-5
24
-8
0
0
-4
-1
0
0
0
0
0
0
0
0
0
4
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
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
1
-16
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
-43
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
5
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
0
3
4
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
6
1
-5
0
0
0
0
0
0
0
0
0
22
8
2
1
4
-19
20
-18
2
0
0
0
0
0
0
0
0
41
-4
-1
-3
2
2
-3
-2
0
0
0
0
0
0
0
0
0
0
18
52
4
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
17
27
-16
6
-1
0
0
0
0
0
0
0
0
0
0
0
23
-1
-12
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-8
16
7
42
-4
0
0
0
0
0
0
0
0
0
0
-21
-15
-12
48
5
20
22
-2
0
0
0
0
0
0
0
0
-4
-46
7
161
27
-52
13
-12
-3
0
0
0
0
0
0
0
0
42
2
5
-2
19
45
-30
-9
8
0
0
0
0
0
0
0
0
-4
30
-47
10
1
-37
-31
-2
-2
0
0
0
0
0
0
0
0
4
0
-48
9
31
43
2
0
4
0
0
0
0
0
0
0
0
0
-25
54
-41
-31
1
0
0
-2
0
0
0
0
0
0
0
0
-5
5
72
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
-1
0
1
-5
5
0
0
0
0
0
0
0
0
0
0
-1
1
-3
-1
-9
13
1
25
0
0
0
0
0
0
0
0
0
-16
-5
24
-17
21
-7
31
-2
1
0
0
0
0
0
0
0
12
-6
-3
0
-26
60
-70
45
-7
0
0
0
0
0
0
0
0
0
58
45
45
-10
-4
3
2
0
0
0
0
0
0
0
0
0
0
56
0
74
-33
-3
12
0
0
0
0
0
0
0
0
0
0
0
5
-17
23
25
35
1
0
0
0
0
0
0
0
0
0
0
-4
32
0
66
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-14
4
0
4
13
0
0
0
0
0
0
0
0
0
-25
0
50
10
72
-21
0
-10
0
0
1
0
0
0
0
0
0
1
-12
-15
1
5
-7
-4
-3
3
-1
0
0
0
0
0
0
0
1
0
25
0
-22
-24
42
-4
0
0
0
0
0
0
0
0
0
0
12
1
-13
27
-10
5
4
0
0
0
0
0
0
0
0
0
0
-6
-18
0
13
-28
-2
0
0
0
0
0
0
0
0
0
0
-23
-7
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
1
29
8
-9
0
0
0
0
0
0
0
0
0
2
-29
-16
-31
37
27
-60
12
1
0
0
0
0
0
0
0
0
24
-44
-10
22
-23
-18
10
-8
0
-6
0
0
0
0
0
0
0
4
17
3
6
6
-28
-33
-23
2
-1
0
0
0
0
0
0
0
0
1
4
55
56
-10
15
-2
3
0
0
0
0
0
0
0
0
10
-2
42
43
0
0
-3
6
0
0
0
0
0
0
0
0
0
7
-27
21
-2
10
1
7
0
0
0
0
0
0
0
0
0
0
6
4
0
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
2
67
-8
-1
-1
29
-2
0
0
0
0
0
0
0
0
0
-32
-13
-2
-22
-3
21
-49
-27
-4
0
0
0
0
0
0
0
0
17
57
-16
-14
29
73
9
1
0
0
0
0
0
0
0
0
0
1
-39
-2
-5
22
-16
-24
0
-3
0
0
0
0
0
0
0
0
-1
-13
18
22
-19
25
10
-1
-2
0
0
0
0
0
0
0
0
-5
33
50
17
13
0
-1
-2
4
0
0
0
0
0
0
0
0
-73
3
20
42
3
-1
-1
-2
0
0
0
0
0
0
0
0
0
-7
-35
24
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
59
-7
125
32
-49
10
-27
0
0
0
0
0
0
0
0
0
29
58
49
-11
9
57
24
25
6
0
0
0
0
0
0
0
0
75
-27
4
-2
-9
-14
-2
31
-5
0
0
0
0
0
0
0
0
22
11
61
77
-18
-42
5
-13
0
7
0
0
0
0
0
0
0
21
47
93
50
-11
0
-15
24
1
0
0
0
0
0
0
0
0
5
30
8
-17
23
39
0
0
8
0
0
0
0
0
0
0
0
7
60
-44
16
27
6
-10
1
0
0
0
0
0
0
0
0
0
-3
16
1
-27
5
8
1
0
0
0
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
34
-32
59
-4
-43
57
2
0
0
0
0
0
0
0
0
0
48
-13
74
54
-25
16
45
32
-4
0
0
0
0
0
0
0
0
61
-35
81
11
7
-92
49
15
-12
0
0
0
0
0
0
0
0
-44
41
67
0
35
90
46
12
-8
0
0
0
0
0
0
0
0
96
11
-13
-82
105
-22
-42
-5
-2
0
0
0
0
0
0
0
0
47
16
48
53
17
13
-8
0
3
0
0
0
0
0
0
0
0
-10
-13
51
30
95
2
-5
1
0
1
0
0
0
0
0
0
0
-4
13
35
33
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
16
34
-37
14
1
-4
-92
0
0
0
0
0
0
0
0
0
17
-17
90
18
49
-9
-102
-31
-19
0
0
0
0
0
0
0
0
-42
10
0
70
14
-23
34
3
1
0
0
0
0
0
0
0
0
31
97
22
39
85
-9
4
42
-10
-7
0
0
0
0
0
0
0
-8
-43
45
58
20
3
-14
19
0
32
0
0
0
0
0
0
0
9
17
21
-22
22
-14
-5
10
0
-2
0
0
0
0
0
0
0
26
11
11
-46
-1
-7
49
-15
8
0
0
0
0
0
0
0
0
-22
4
-24
-12
4
8
8
-1
0
0
0
0
0
0
0
0
0
43
7
9
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
61
31
58
2
-55
35
0
0
0
0
0
0
0
0
0
0
100
7
48
9
11
-79
4
32
-2
0
0
0
0
0
0
0
0
0
94
-70
-6
-70
33
10
61
22
0
0
0
0
0
0
0
0
115
44
-52
57
-57
25
-1
-2
5
-1
0
0
0
0
0
0
0
51
-35
20
28
54
8
-9
1
1
-1
0
0
0
0
0
0
0
21
11
55
0
-28
16
3
10
0
0
0
0
0
0
0
0
0
77
30
14
9
9
0
-14
-10
1
0
0
0
0
0
0
0
0
110
4
57
3
0
1
-4
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-13
-10
63
10
64
0
0
0
0
0
0
0
0
0
0
0
6
28
22
0
-12
-56
0
0
0
0
0
0
0
0
0
0
0
-23
51
28
24
28
6
0
-7
0
0
0
0
0
0
0
0
0
-25
12
-10
13
22
-6
-4
0
0
0
0
0
0
0
0
0
0
21
12
5
12
12
1
2
0
0
0
0
0
0
0
0
0
0
17
43
-6
-8
8
-13
-3
0
0
0
0
0
0
0
0
0
0
-1
8
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-42
52
8
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
51
28
6
0
0
0
0
0
0
0
0
0
0
0
0
7
13
9
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
12
4
0
0
0
0
0
0
0
0
0
0
0
14
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
33
-4
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
64
8
10
-1
-25
-49
9
0
0
0
0
0
0
0
0
1
-15
18
2
23
17
5
13
0
0
0
0
0
0
0
0
0
8
53
-6
44
49
8
-4
8
-4
0
0
0
0
0
0
0
0
-4
-8
2
-5
-23
48
4
5
0
0
0
0
0
0
0
0
0
-10
42
-26
-18
54
47
5
-1
0
0
0
0
0
0
0
0
0
7
0
-25
15
-3
-6
-6
0
0
0
0
0
0
0
0
0
0
0
7
8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
13
6
5
-7
-1
-25
-4
5
0
0
0
0
0
0
0
0
0
46
0
10
8
24
42
-5
5
0
0
0
0
0
0
0
0
0
64
-17
-32
24
-29
-6
-10
0
0
0
0
0
0
0
0
0
0
46
72
24
-8
-16
43
-5
-3
0
0
0
0
0
0
0
0
0
-3
52
38
-43
-10
0
1
0
0
0
0
0
0
0
0
0
0
-45
0
17
14
25
0
0
1
-1
0
0
0
0
0
0
0
0
-2
23
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
4
-24
5
0
0
22
0
0
0
0
0
0
0
0
0
0
8
0
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
2
1
8
-2
6
0
0
0
0
0
0
0
0
0
0
0
2
-37
-41
-2
6
-1
0
0
0
0
0
0
0
0
0
0
-18
3
6
1
3
-9
2
0
0
0
0
0
0
0
0
0
1
19
42
0
24
5
4
0
0
0
0
0
0
0
0
0
0
2
6
0
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
-19
5
9
15
0
0
0
0
0
0
0
0
0
0
-5
93
87
-9
3
-42
-7
-7
0
0
0
0
0
0
0
0
0
0
-1
24
-9
1
-25
8
0
1
-1
0
0
0
0
0
0
0
0
-13
-2
-14
4
1
-10
1
0
0
0
0
0
0
0
0
0
0
0
31
-2
6
1
-2
3
2
0
0
0
0
0
0
0
0
0
41
-32
6
-16
13
3
-5
1
0
0
0
0
0
0
0
0
-2
6
10
-8
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-9
-13
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-15
37
0
39
4
3
0
0
0
0
0
0
0
0
0
-43
42
9
50
-20
2
-33
25
0
0
0
0
0
0
0
0
0
43
-31
-5
45
-30
46
-19
-16
-2
0
0
0
0
0
0
0
0
-9
-9
-22
9
-7
3
-4
7
0
0
0
0
0
0
0
0
0
0
37
21
-19
-24
23
16
5
-6
0
0
0
0
0
0
0
0
8
16
2
13
1
15
2
-7
0
0
0
0
0
0
0
0
0
-27
53
-2
12
-13
0
0
0
2
0
0
0
0
0
0
0
0
78
6
55
-22
-2
0
0
14
0
0
0
0
0
0
0
0
0
7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
61
-17
-7
-86
34
10
-4
0
0
0
0
0
0
0
0
0
-22
-56
-42
-2
41
-43
23
42
2
0
0
0
0
0
0
0
0
30
-66
-31
-9
-21
-15
6
7
-5
2
0
0
0
0
0
0
0
6
-50
-7
-9
25
4
-4
1
6
0
0
0
0
0
0
0
0
0
-32
5
18
53
49
0
22
6
0
0
0
0
0
0
0
0
5
-49
-41
4
13
19
8
37
-10
27
0
0
0
0
0
0
0
10
55
22
49
0
-49
0
-9
-1
0
0
0
0
0
0
0
0
34
-54
-16
30
-1
-8
-1
0
-2
0
0
0
0
0
0
0
0
-8
6
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-6
14
-33
75
-2
16
-2
0
0
0
0
0
0
0
0
0
23
53
-3
119
31
22
32
-13
-16
0
0
0
0
0
0
0
0
-65
21
97
5
19
46
1
1
0
1
0
0
0
0
0
0
0
-57
93
31
52
21
-14
13
8
1
0
0
0
0
0
0
0
0
2
49
45
163
5
54
-42
-1
-1
0
0
0
0
0
0
0
0
4
0
53
42
-4
-5
-25
24
-3
0
0
0
0
0
0
0
0
-43
-7
-5
31
42
-7
15
0
0
0
0
0
0
0
0
0
0
9
-32
10
34
20
2
1
-1
0
0
0
0
0
0
0
0
0
14
19
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
35
70
-13
47
-2
1
0
0
0
0
0
0
0
0
0
14
30
-19
6
46
8
-59
102
-32
29
0
0
0
0
0
0
0
32
82
70
-76
14
48
55
26
3
2
0
0
0
0
0
0
0
2
-66
85
-38
51
123
42
-1
31
7
0
0
0
0
0
0
0
-3
-10
12
62
-8
44
-48
-16
-3
4
0
0
0
0
0
0
0
3
22
34
85
-53
84
13
15
-27
5
0
0
0
0
0
0
0
-6
-58
84
94
20
5
29
-54
0
0
0
0
0
0
0
0
0
70
-54
-5
-5
14
13
-29
4
1
0
0
0
0
0
0
0
0
-2
41
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
6
-8
5
-13
-51
37
0
0
0
0
0
0
0
0
0
0
78
-3
-36
35
-5
17
51
3
4
3
0
0
0
0
0
0
0
-14
-2
24
8
8
-1
-3
-6
0
0
0
0
0
0
0
0
0
-21
25
-75
73
-5
-4
6
-49
-1
-1
0
0
0
0
0
0
0
4
18
48
-7
-68
2
25
14
1
0
0
0
0
0
0
0
0
65
26
43
79
-13
10
21
29
-10
0
0
0
0
0
0
0
0
93
-13
-4
-9
-22
-28
9
-16
0
0
0
0
0
0
0
0
0
14
-56
8
-6
-5
8
12
0
0
0
0
0
0
0
0
0
0
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
7
-31
-20
-16
0
0
0
0
0
0
0
0
0
0
0
8
-80
52
14
-37
-21
2
0
0
0
0
0
0
0
0
0
0
-9
-21
-3
-5
13
12
8
1
0
0
0
0
0
0
0
0
0
-15
4
34
24
-8
4
1
14
0
0
0
0
0
0
0
0
0
-1
21
16
-47
8
-4
-8
-7
0
0
0
0
0
0
0
0
0
1
-3
-32
-3
-7
3
4
1
0
0
0
0
0
0
0
0
0
-8
-5
4
7
20
1
0
0
0
0
0
0
0
0
0
0
0
-26
-4
12
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
31
-7
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-5
42
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-4
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
8
-3
0
8
0
0
0
0
0
0
0
0
0
3
0
0
0
4
0
-16
0
0
0
0
0
0
0
0
0
0
8
7
35
-5
-1
2
0
31
0
0
0
0
0
0
0
0
0
1
3
-10
0
6
0
6
0
0
0
0
0
0
0
0
0
0
6
0
6
7
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
1
10
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
-7
-2
-12
24
0
1
-1
0
0
0
0
0
0
0
0
0
0
4
0
31
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
6
-3
3
0
0
0
0
0
0
0
0
0
0
0
4
-7
-1
24
5
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
27
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-16
9
1
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
2
-7
0
2
0
3
0
0
0
0
0
0
0
0
-23
0
-13
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
1
1
0
32
-5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-4
4
0
0
0
0
0
0
0
0
0
0
0
1
4
-17
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
13
6
-5
13
30
-1
7
3
0
0
0
0
0
0
0
0
-1
8
-77
-43
-3
-34
-9
-3
0
0
0
0
0
0
0
0
0
2
2
51
32
14
0
0
3
4
0
0
0
0
0
0
0
0
0
-25
41
48
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
42
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
25
5
14
23
-2
-3
0
4
0
0
0
0
0
0
0
0
0
1
-30
9
10
8
0
0
0
0
0
0
0
0
0
0
0
0
-61
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-4
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
9
14
-47
-8
0
3
2
0
0
0
0
0
0
0
0
0
0
-18
31
-4
5
10
8
-4
8
0
0
0
0
0
0
0
0
-3
3
8
31
17
-21
4
6
0
0
0
0
0
0
0
0
0
-1
9
16
-5
-23
-30
-3
0
0
0
0
0
0
0
0
0
0
0
42
-12
66
10
-17
-1
0
0
0
0
0
0
0
0
0
0
1
7
51
-35
-7
-10
0
0
0
0
0
0
0
0
0
0
0
8
-20
33
-16
-1
0
0
0
1
0
0
0
0
0
0
0
0
9
-3
1
4
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
33
10
-1
-27
30
-5
0
0
0
0
0
0
0
0
0
51
22
16
56
-3
-30
-31
-20
0
0
0
0
0
0
0
0
0
8
15
3
-31
61
-7
-5
-4
-1
0
0
0
0
0
0
0
0
-10
54
-20
-25
51
26
-8
27
0
0
0
0
0
0
0
0
0
-30
11
9
54
-44
-5
-7
-2
2
0
0
0
0
0
0
0
0
6
86
50
4
-25
60
9
-2
8
0
0
0
0
0
0
0
0
26
66
85
-9
31
37
-2
0
0
0
0
0
0
0
0
0
0
14
41
-39
-5
-8
-7
3
0
-1
0
0
0
0
0
0
0
0
43
27
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
56
-13
61
-5
-10
-26
4
0
0
0
0
0
0
0
0
0
10
66
55
21
5
-23
-47
4
-5
1
0
0
0
0
0
0
0
2
61
16
-74
109
41
45
-5
-29
-4
0
0
0
0
0
0
0
-3
10
5
67
-30
4
-13
9
-44
0
0
0
0
0
0
0
0
-1
97
-10
-21
-18
83
-56
93
-25
0
0
0
0
0
0
0
0
-10
-2
33
26
42
-59
41
31
-3
-1
0
0
0
0
0
0
0
-8
69
-39
28
31
0
14
1
-7
-4
0
0
0
0
0
0
0
-3
-22
-31
-37
-14
-3
5
-1
0
0
0
0
0
0
0
0
0
-16
10
24
-9
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
-27
49
42
7
1
-1
0
0
0
0
0
0
0
0
0
0
4
-4
86
31
91
-56
-13
0
-1
0
0
0
0
0
0
0
0
1
86
54
47
6
52
-31
0
5
0
0
0
0
0
0
0
0
-46
15
-22
-46
32
-10
7
-20
0
0
0
0
0
0
0
0
0
31
41
48
-1
-5
21
13
1
0
0
0
0
0
0
0
0
0
3
-24
30
39
50
20
-3
13
1
0
0
0
0
0
0
0
0
-4
-32
-6
12
-52
25
-5
7
-4
0
0
0
0
0
0
0
0
-16
12
-9
-7
-14
-3
0
0
0
0
0
0
0
0
0
0
0
16
-13
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-21
-18
1
16
24
1
0
0
0
0
0
0
0
0
0
0
0
-2
19
43
-45
-14
1
-1
0
0
0
0
0
0
0
0
0
0
0
-19
25
-16
-28
0
0
-7
0
0
0
0
0
0
0
0
0
0
-8
59
-10
-13
-3
0
0
0
0
0
0
0
0
0
0
0
-4
6
-32
5
-10
13
-9
0
0
0
0
0
0
0
0
0
0
3
0
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
8
-7
-3
-10
0
4
0
0
0
0
0
0
0
0
0
0
2
-6
10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
14
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
14
43
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
68
0
0
8
0
0
0
0
0
0
0
0
0
0
8
-5
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
24
18
41
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
13
0
5
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
-22
-17
0
13
-5
-1
0
0
0
0
0
0
0
0
0
0
5
0
-1
-5
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
24
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
3
1
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
-7
8
0
0
0
-50
-1
-3
0
0
0
0
0
0
0
0
-3
5
0
16
-8
-64
1
-14
0
0
0
0
0
0
0
0
0
0
-5
17
-1
36
8
-56
-4
0
0
0
0
0
0
0
0
0
0
0
-2
23
2
49
4
-2
1
0
0
0
0
0
0
0
0
0
1
1
5
-12
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
4
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-16
-9
10
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
-27
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
6
0
16
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
-17
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
5
0
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
-4
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
4
-23
-4
-12
0
-5
0
0
0
0
0
0
0
0
-1
0
-3
9
0
-5
7
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-44
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
0
0
0
2
-6
1
0
0
0
0
0
0
0
14
-27
-10
22
0
0
0
23
-43
0
1
0
0
0
0
0
0
-2
-4
-7
-1
-57
-63
9
-47
1
9
0
0
0
0
0
0
0
1
6
3
3
31
-33
5
36
-1
-2
0
0
0
0
0
0
0
0
13
14
23
-82
61
45
14
0
0
0
0
0
0
0
0
0
0
1
-2
17
1
53
29
28
8
3
0
0
0
0
0
0
0
0
4
-1
-2
13
0
-12
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-76
4
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
-70
-14
1
0
0
0
0
0
0
0
0
0
0
-2
5
8
29
22
-22
-31
1
0
0
0
0
0
0
0
0
-1
0
0
-3
58
-26
-34
14
1
2
0
0
0
0
0
0
0
0
5
0
-3
-41
8
-5
-6
0
0
0
0
0
0
0
0
0
0
0
-15
7
-61
-23
9
3
3
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
26
-1
1
1
0
0
0
0
0
0
0
0
0
0
6
-3
-24
-21
7
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
13
2
-2
2
0
0
0
0
0
0
0
0
-2
0
0
-2
31
-29
-8
-1
-3
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
23
2
-12
0
0
0
0
0
0
0
0
0
0
0
2
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
2
2
5
-8
0
0
0
0
0
0
0
0
0
0
0
-12
0
8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
6
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-4
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
8
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
0
6
-8
3
-1
0
0
0
0
0
0
0
0
0
0
9
0
2
-6
-21
-4
-60
5
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
-7
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
-8
0
0
0
-4
0
0
0
0
0
0
0
0
-8
8
10
-2
-12
0
0
0
0
-1
0
0
0
0
0
0
-8
0
6
8
-3
-2
23
5
-1
0
0
0
0
0
0
0
0
0
3
1
3
0
17
10
63
12
2
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
3
13
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
34
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
18
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
2
0
-1
-27
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
1
1
-54
-24
-18
0
0
0
-10
0
0
0
0
0
0
0
0
0
5
0
25
2
5
-76
-48
0
0
0
0
0
0
0
0
1
0
3
10
8
3
-69
28
-13
-2
0
0
0
0
0
0
0
0
0
-7
1
-4
-48
13
68
-3
1
0
0
0
0
0
0
0
0
0
-3
0
-1
-55
25
68
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
-18
-18
30
-7
0
0
0
0
0
0
0
0
0
0
0
-9
5
-79
-54
-33
-35
0
0
0
53
-5
0
0
0
0
0
0
2
15
14
34
1
-23
-78
13
-88
-3
-1
0
0
0
0
0
0
4
-1
12
5
25
45
-55
6
-16
-4
0
0
0
0
0
0
0
5
-5
0
-23
28
49
-20
60
-71
0
0
0
0
0
0
0
0
0
0
-3
0
-52
-126
-22
7
57
-25
-1
0
0
0
0
0
0
0
0
2
1
-5
22
13
-29
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
8
0
0
0
0
0
0
0
0
0
2
-34
7
-9
5
0
0
0
-7
0
0
0
0
0
0
0
1
8
-46
-41
50
0
0
0
0
-31
-3
0
0
0
0
0
0
0
4
-31
16
-22
-31
-15
-2
-41
-6
-1
0
0
0
0
0
0
0
-5
6
-20
8
6
-52
-52
76
10
-33
0
2
0
0
0
0
0
0
-3
-24
27
69
1
-40
-47
-52
0
0
0
0
0
0
0
0
0
0
8
-54
-106
60
93
79
13
-2
0
0
0
0
0
0
0
0
2
2
1
7
35
41
24
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
21
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
41
-5
0
0
0
0
0
0
0
0
5
-31
-13
1
0
0
0
3
-32
0
0
0
0
0
0
0
0
0
-9
1
-8
9
16
-41
1
9
-2
0
0
0
0
0
0
0
0
-1
1
4
59
-68
16
22
-6
0
-1
0
0
0
0
0
0
0
-1
3
1
6
-13
20
12
-52
0
0
0
0
0
0
0
0
0
0
1
0
-35
1
-11
16
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-7
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
10
-25
1
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-25
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
3
17
-1
2
-4
0
0
0
0
0
0
0
0
0
-1
0
1
-31
12
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
15
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
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
4
2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
-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
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
1
5
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-10
9
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-24
18
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
-13
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-7
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-5
13
0
0
0
0
0
0
0
0
0
0
0
7
-1
1
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-39
53
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
22
-19
-9
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
8
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-1
10
39
45
-1
0
0
0
0
0
0
0
0
0
4
0
2
0
0
-4
-1
6
0
0
0
0
0
0
0
0
0
-1
1
-5
-14
7
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-14
30
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
1
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
8
-2
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-18
-30
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-44
-51
30
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-4
4
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
6
-1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
3
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-10
8
0
0
0
-4
0
0
0
0
0
0
0
0
9
-15
37
0
0
-3
-29
-34
0
0
0
0
0
0
0
0
0
0
4
3
-3
5
-2
-55
-25
0
0
0
0
0
0
0
0
0
0
0
-4
-37
45
0
2
2
0
0
0
0
0
0
0
0
0
0
0
-6
2
8
-49
-6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-27
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-32
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
-7
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-15
-53
-12
0
0
0
3
-7
0
0
0
0
0
0
-1
-10
-43
15
7
13
-10
-54
-4
-17
0
0
0
0
0
0
0
0
-6
-8
8
-13
66
1
-70
-41
22
0
0
0
0
0
0
0
0
0
1
0
-44
32
7
-6
44
3
0
0
0
0
0
0
0
0
0
-6
10
-17
7
75
1
-47
0
0
0
0
0
0
0
0
0
0
0
0
2
0
42
41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
27
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
49
-25
23
-107
0
0
0
1
0
0
0
0
0
0
0
25
34
89
45
-24
19
0
0
0
-13
5
0
0
0
0
0
0
-8
-32
-5
70
0
52
-30
-85
-21
-59
0
0
0
0
0
0
-1
-3
15
66
-15
-72
-13
57
17
52
1
7
0
0
0
0
0
0
0
4
-25
0
-29
-29
-90
58
-10
-64
9
0
0
0
0
0
0
0
33
16
-7
13
42
-8
31
16
-1
2
0
0
0
0
0
0
0
0
4
-31
0
35
-4
39
-5
-19
0
0
0
0
0
0
0
0
0
2
-1
-1
7
-21
-9
-52
13
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
0
0
0
0
0
0
0
0
0
-1
19
41
37
41
14
0
0
0
0
0
0
0
0
0
0
0
-4
7
-47
41
16
-88
0
0
0
-16
-1
0
0
0
0
0
0
-8
-2
56
22
-6
-31
30
3
-24
-10
-2
0
0
0
0
0
0
0
2
16
-4
-28
-17
5
-11
-49
-97
1
-5
0
0
0
0
0
8
12
2
18
-45
-66
106
2
54
-3
4
0
0
0
0
0
0
0
0
-20
-2
-14
6
25
-65
43
34
0
0
0
0
0
0
0
0
0
-6
-13
7
10
-15
-57
4
12
4
0
0
0
0
0
0
0
0
0
0
0
0
-14
-17
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-1
0
4
1
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
4
22
-3
0
0
0
3
-2
-1
0
0
0
0
0
0
0
0
0
8
-13
9
5
65
-9
9
0
0
0
0
0
0
0
3
0
0
-2
-8
-4
-12
35
-16
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
-12
75
-27
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-20
13
1
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
1
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
4
39
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-13
1
5
-3
1
0
0
0
0
0
0
0
0
0
-1
-3
8
3
1
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
58
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-4
-3
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
-7
-14
0
8
-5
-6
-8
0
0
0
0
0
0
0
0
0
0
0
5
3
2
-25
2
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
8
9
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
7
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-42
-45
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
23
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
2
-3
-1
0
0
0
-1
0
0
0
0
0
0
0
1
-8
0
2
1
-5
0
-25
-9
1
0
0
0
0
0
0
0
0
0
2
1
-7
18
37
-8
-1
2
0
0
0
0
0
0
0
0
0
-4
0
0
9
-37
-8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
7
75
-17
10
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
-31
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-17
-52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
-8
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-2
-3
-2
16
-6
22
-5
0
0
0
0
0
0
0
0
0
0
-1
0
-2
13
22
-27
14
0
0
0
0
0
0
0
0
0
0
-4
8
0
42
22
15
-27
5
0
0
0
0
0
0
0
0
0
0
0
-4
8
77
8
-12
0
0
0
0
0
0
0
0
0
0
0
-13
0
24
2
-34
1
4
0
0
0
0
0
0
0
0
0
0
0
1
-16
-56
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-35
1
-4
-4
0
0
0
5
1
0
0
0
0
0
0
5
-4
0
-24
52
5
-5
2
34
-1
0
0
0
0
0
0
0
0
0
23
-4
0
-16
18
-13
0
4
0
0
0
0
0
0
0
0
7
-1
24
-24
0
-6
-23
-24
-8
0
0
0
0
0
0
0
0
0
1
3
-7
-21
0
-28
-43
-5
0
0
0
0
0
0
0
0
0
2
-1
2
-1
-8
8
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-8
3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-41
0
0
0
0
0
0
0
0
0
0
1
1
17
-5
-8
0
0
0
0
0
0
0
0
0
0
0
10
6
22
-53
-18
-16
0
0
0
22
4
0
0
0
0
0
0
0
-19
-15
13
74
84
16
-84
-90
0
0
0
0
0
0
0
0
0
-9
41
-12
-49
-6
-46
-3
9
5
-7
0
0
0
0
0
0
0
-7
0
-11
99
-25
0
63
27
-3
0
0
0
0
0
0
0
0
0
-1
25
71
-29
-18
13
42
0
0
0
0
0
0
0
0
0
0
0
-42
-3
-71
14
1
12
-2
0
0
0
0
0
0
0
0
0
0
0
2
9
-15
25
38
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-15
0
0
0
0
0
0
0
0
0
2
-28
-7
-28
5
17
0
0
0
13
0
0
0
0
0
0
1
2
6
-10
52
34
22
0
0
0
-7
0
0
0
0
0
0
0
10
-31
-29
8
65
-31
-17
-81
-75
0
0
0
0
0
0
0
0
-2
-9
-10
44
5
-32
-39
-43
47
4
-13
0
0
0
0
0
0
0
-12
49
-45
20
-21
-23
2
1
-7
0
0
0
0
0
0
0
2
4
-39
-48
15
-7
47
99
-50
-17
5
0
0
0
0
0
0
0
-3
-1
-41
-72
-10
25
-27
-26
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-57
22
-67
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-31
-7
-2
0
0
0
0
0
0
0
0
-76
15
-43
4
-45
0
0
0
3
0
0
0
0
0
0
0
-33
-16
-13
-16
-6
-51
0
0
0
8
-2
0
0
0
0
0
0
-4
-5
-15
-12
69
-32
-40
-73
8
7
-6
-4
0
0
0
0
0
0
17
5
0
-13
-52
-128
54
49
-6
-2
0
0
0
0
0
0
-9
-2
-3
-44
-52
-33
4
-5
30
0
-4
0
0
0
0
0
0
0
-17
-4
-22
2
-20
-49
1
95
0
0
0
0
0
0
0
0
-5
0
-1
-92
-76
45
-17
48
-31
-21
0
0
0
0
0
0
0
0
0
0
8
-17
3
24
-41
0
28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
-3
-8
18
-8
0
0
0
-16
14
0
0
0
0
0
0
0
2
-2
0
-1
-4
18
33
-18
49
2
0
0
0
0
0
0
0
0
1
0
-4
0
-9
50
13
31
10
1
0
0
0
0
0
0
0
0
-2
-2
-2
2
-20
14
-10
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-10
10
8
5
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-37
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
-30
12
-33
6
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
3
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-5
-1
7
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-8
-5
15
0
0
0
0
0
0
0
0
0
0
1
-3
1
7
22
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-25
1
-4
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-6
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-1
0
-4
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
0
25
0
0
0
0
0
0
0
0
0
0
0
1
-1
-20
-17
-8
-2
1
0
0
0
0
0
0
0
0
0
0
-2
-6
14
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
41
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
-32
7
3
7
2
-6
0
0
0
0
0
0
0
0
0
0
-6
-23
5
-2
42
5
-56
1
0
0
0
0
0
0
0
0
0
0
0
25
33
-54
-32
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-19
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
5
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-6
0
0
-13
-5
6
-2
0
0
0
0
0
0
0
0
-8
0
-2
0
25
24
-13
-5
0
0
0
0
0
0
0
0
0
-3
10
0
-19
4
-9
5
15
0
0
0
0
0
0
0
0
0
0
2
0
0
-9
-46
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-2
0
0
0
0
0
0
0
0
9
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
-6
7
3
7
0
0
0
0
1
0
0
0
0
0
0
0
-1
5
18
5
8
-6
8
-24
20
2
0
0
0
0
0
0
0
0
0
-34
5
-85
15
34
15
0
-3
0
0
0
0
0
0
0
0
1
-25
-8
-6
-77
-7
0
-24
0
0
0
0
0
0
0
0
0
1
5
-32
5
0
6
-58
-23
0
0
0
0
0
0
0
0
3
0
0
3
0
-10
-3
-25
-30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-2
3
2
-18
-14
0
0
0
0
0
0
0
0
0
0
0
-2
2
5
12
18
24
0
0
0
1
0
0
0
0
0
0
0
3
-30
-13
15
-48
33
-42
21
-24
0
0
0
0
0
0
0
0
5
0
7
-1
18
-43
5
21
13
-3
-1
0
0
0
0
0
0
0
-1
-1
-9
14
41
-42
-9
10
0
0
0
0
0
0
0
0
0
-1
-13
16
2
-22
0
-31
25
0
0
0
0
0
0
0
0
0
0
2
0
34
16
9
13
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
3
-47
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-41
0
0
0
0
0
0
0
0
0
-22
-5
-2
-49
5
-5
0
0
0
-1
0
0
0
0
0
0
0
-106
28
27
49
-20
-30
0
0
0
-21
0
0
0
0
0
0
0
-25
-44
5
50
31
-43
42
-8
63
-6
1
0
0
0
0
0
0
5
-12
14
4
0
-24
-51
-88
84
-4
0
0
0
0
0
0
0
0
0
-3
43
-8
-30
-25
-58
67
-1
0
0
0
0
0
0
0
0
-5
19
8
25
-13
13
0
15
0
0
0
0
0
0
0
0
1
0
10
16
-13
-33
15
76
-13
8
0
0
0
0
0
0
0
0
0
0
-50
5
16
22
25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
2
36
0
-15
0
0
0
0
0
0
0
6
-3
16
-16
13
4
0
0
0
4
0
0
0
0
0
0
0
-12
-4
-48
-27
-21
-15
0
0
0
10
-4
0
0
0
0
0
0
0
4
42
-40
-91
-58
19
-76
-55
5
1
0
0
0
0
0
0
3
-2
-28
5
12
-5
-38
-81
-6
-12
0
0
0
0
0
0
0
2
0
16
4
-65
29
-130
23
18
3
8
0
0
0
0
0
0
0
-1
-6
1
-41
24
5
31
0
-3
1
0
0
0
0
0
0
0
3
-1
-32
1
5
-30
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-49
53
17
13
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-11
4
0
0
0
0
0
0
0
0
0
2
3
-5
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
13
8
-33
-27
12
8
6
0
0
0
0
0
0
0
0
0
0
3
3
-54
-10
31
31
4
0
0
0
0
0
0
0
0
0
-10
0
0
10
31
20
-30
0
0
0
0
0
0
0
0
0
0
0
2
0
-14
-10
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-7
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
12
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-7
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
4
-4
2
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
5
-25
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
3
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
12
-18
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
8
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
2
3
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
8
5
-5
-4
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
-14
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
2
6
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-6
0
-55
-2
2
0
0
0
0
0
0
0
0
0
0
-10
-23
17
-24
-59
18
27
0
0
0
0
0
0
0
0
0
0
0
-1
3
-7
5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
12
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-8
0
-4
4
4
-8
6
0
0
0
0
0
0
0
0
0
0
7
3
42
-22
-41
1
-24
5
0
0
0
0
0
0
0
0
-6
4
-1
-12
0
-72
2
-19
0
0
0
0
0
0
0
0
0
2
0
-2
-35
7
8
5
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-25
30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
-18
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
4
-23
20
-60
0
0
0
0
0
0
0
0
0
0
0
5
-13
37
-9
49
-24
8
-31
-76
0
0
0
0
0
0
0
0
-8
4
-69
-21
39
-56
24
-106
13
1
0
0
0
0
0
0
0
0
-23
29
-17
-8
18
76
-10
-25
5
0
0
0
0
0
0
0
1
0
6
22
23
23
0
49
-3
0
0
0
0
0
0
0
0
0
0
-4
-3
-59
1
0
23
-6
0
0
0
0
0
0
0
0
0
0
0
0
25
-47
-22
-54
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
0
0
0
6
13
5
4
13
0
0
0
0
0
0
0
0
0
0
0
-10
24
-31
-13
35
5
0
0
0
0
0
0
0
0
0
0
0
4
-47
-5
-62
-32
-5
17
-110
47
0
0
0
0
0
0
0
0
20
-56
-52
-23
55
2
-53
-14
-17
6
0
0
0
0
0
0
0
0
-25
-35
5
27
-30
-75
-95
58
0
0
0
0
0
0
0
0
0
6
-13
5
-87
-5
-4
-28
7
0
0
0
0
0
0
0
0
0
0
7
37
-18
24
-14
0
37
2
0
0
0
0
0
0
0
0
0
0
2
-8
-32
-41
28
25
5
1
0
0
0
0
0
0
0
0
0
0
2
22
5
3
1
0
0
0
0
0
0
0
0
0
33
-21
-43
23
8
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-60
13
-75
45
0
0
0
24
1
0
0
0
0
0
0
7
31
1
-4
60
-102
-120
19
-13
1
4
0
0
0
0
0
0
-8
6
27
19
-133
-38
-88
12
-59
-15
0
0
0
0
0
0
0
5
-12
-30
-20
-21
5
-68
10
-30
7
0
0
0
0
0
0
0
7
-3
1
-49
-51
33
-15
-2
-111
-14
1
0
0
0
0
0
0
0
0
-24
22
13
-32
65
28
0
-2
0
0
0
0
0
0
0
0
0
0
5
14
8
68
-6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-4
5
0
2
0
0
0
92
0
0
0
0
0
0
0
0
0
0
1
8
1
2
-7
-31
-9
0
0
0
0
0
0
0
0
0
0
0
-15
41
25
-1
-3
8
0
0
0
0
0
0
0
0
0
0
-2
19
25
22
-10
5
-3
0
0
0
0
0
0
0
0
0
-3
2
3
3
11
29
-3
1
0
0
0
0
0
0
0
0
0
0
0
4
-10
-7
-4
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-3
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-8
-17
-12
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
-6
-16
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
3
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-48
-2
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
37
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
69
8
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-30
13
3
7
-1
0
4
0
0
0
0
0
0
0
0
0
6
-42
0
-24
13
5
1
-8
0
0
0
0
0
0
0
0
0
9
-18
2
8
49
-19
-4
-2
0
0
0
0
0
0
0
0
0
0
2
2
37
14
-42
33
-39
0
0
0
0
0
0
0
0
0
0
-4
2
-37
-23
-16
10
-10
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
0
-5
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
8
-1
0
0
0
0
0
0
0
0
-29
3
24
-8
6
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-15
-28
-49
-8
0
0
0
0
0
0
0
0
0
0
0
-4
47
-13
-5
-17
9
-5
23
-5
0
0
0
0
0
0
0
0
6
35
-26
-25
-63
-27
-46
23
-15
0
0
0
0
0
0
0
0
0
-13
6
-13
0
-44
31
48
4
-1
0
0
0
0
0
0
0
-3
1
29
-83
-14
-9
17
37
-44
-1
0
0
0
0
0
0
0
0
5
-8
-8
-47
-2
55
-77
-15
3
0
0
0
0
0
0
0
0
0
8
1
1
-3
-9
0
-42
2
0
0
0
0
0
0
0
0
-1
0
0
-4
23
2
10
0
1
0
0
0
0
0
0
0
0
3
-8
-6
-4
-5
0
0
0
0
0
0
0
0
0
0
0
-9
49
-13
-50
-1
-58
0
0
0
0
0
0
0
0
0
0
0
6
0
10
-4
-23
-37
-20
28
8
0
0
0
0
0
0
0
0
0
-2
60
-71
25
-12
-78
-49
-94
0
0
0
0
0
0
0
0
0
6
6
61
30
12
-40
-49
-101
-8
0
0
0
0
0
0
0
0
10
-17
12
-90
-27
-102
-8
-113
0
0
0
0
0
0
0
0
0
-5
12
5
-9
-24
-47
84
0
0
0
0
0
0
0
0
0
0
0
0
-44
-9
14
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
30
-4
0
0
0
0
0
0
0
0
0
2
9
-1
-2
4
23
3
-9
0
0
0
0
0
0
0
0
0
0
0
2
2
9
31
-5
-23
0
0
0
0
0
0
0
0
0
0
0
7
-5
-8
49
-6
2
0
0
0
0
0
0
0
0
0
0
2
0
-1
10
-10
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
7
1
0
-6
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
3
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
31
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
4
0
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-45
4
10
-12
-1
-5
131
0
0
0
0
0
0
0
0
0
1
3
-9
23
19
25
-48
-29
0
0
0
0
0
0
0
0
0
0
19
1
-48
28
-97
26
-86
-2
0
0
0
0
0
0
0
0
0
-4
-8
-6
18
-25
-17
-31
-1
0
0
0
0
0
0
0
0
0
6
0
-1
42
13
-28
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
-18
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-18
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-7
0
23
17
0
0
0
0
0
0
0
0
0
0
0
0
6
7
17
-13
8
3
0
0
0
0
0
0
0
0
0
0
-18
0
-6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
-4
4
-4
0
1
0
-2
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
1
4
0
0
7
0
0
0
0
0
0
0
0
0
0
1
1
5
-5
0
0
0
-10
0
0
0
0
0
0
0
0
0
-2
-16
10
4
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-25
-8
0
8
1
-1
0
0
0
0
0
0
0
0
0
-3
12
5
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
17
12
-5
47
-53
0
-66
0
0
0
0
0
0
0
0
0
-52
-32
31
-8
-12
109
41
-1
0
0
0
0
0
0
0
0
0
50
45
94
12
38
5
-2
-31
0
0
0
0
0
0
0
0
0
50
-5
11
-15
-27
-5
8
-22
3
0
0
0
0
0
0
0
0
1
-10
-23
59
35
10
2
-1
0
0
0
0
0
0
0
0
0
-25
-48
49
-1
-28
-5
0
0
0
0
0
0
0
0
0
0
0
49
23
-13
-6
2
1
-1
0
0
0
0
0
0
0
0
0
0
-49
6
4
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
16
-35
-28
16
0
8
1
0
0
0
0
0
0
0
0
0
-1
43
75
24
-14
19
7
0
0
0
0
0
0
0
0
0
0
25
6
27
52
-83
-6
-1
0
0
0
0
0
0
0
0
0
0
-19
-8
-20
32
30
0
-4
0
0
0
0
0
0
0
0
0
0
-22
3
33
3
-1
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
-20
-7
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-4
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
-6
29
-47
-1
-10
0
-1
0
0
0
0
0
0
0
0
0
0
7
24
-2
31
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
9
-3
-10
23
7
2
4
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
4
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
2
1
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
1
5
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
0
0
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-1
-12
0
0
0
0
0
0
0
0
0
5
-3
-7
-5
2
1
0
7
0
0
0
0
0
0
0
0
0
5
0
-5
-4
23
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-10
-3
22
0
0
-25
0
0
0
0
0
0
0
0
0
0
6
-7
-41
0
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
1
7
7
4
5
0
-2
0
0
0
0
0
0
0
0
0
-5
1
18
21
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
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
-1
-34
-8
0
0
-2
-8
0
0
0
0
0
0
0
0
0
-13
-12
29
31
1
-7
1
0
0
0
0
0
0
0
0
0
0
-1
3
18
13
1
0
-3
0
1
0
0
0
0
0
0
0
0
14
8
-31
42
4
0
0
0
3
0
0
0
0
0
0
0
0
-1
29
3
6
-2
0
1
0
0
0
0
0
0
0
0
0
0
-5
7
0
9
6
0
0
2
0
0
0
0
0
0
0
0
0
0
2
7
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
43
-13
-2
0
-1
0
0
0
0
0
0
0
0
0
0
-10
5
58
-90
14
8
3
13
1
0
0
0
0
0
0
0
0
23
27
13
1
-47
-20
-2
-6
49
0
0
0
0
0
0
0
0
100
-16
47
-10
3
20
-15
-25
0
0
0
0
0
0
0
0
0
66
-24
-5
-44
-30
-9
-10
-1
-14
0
0
0
0
0
0
0
0
-10
-5
-10
25
9
13
-2
0
0
0
0
0
0
0
0
0
0
4
-8
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
3
41
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-22
-23
-53
37
86
0
0
0
0
0
0
0
0
0
0
0
43
16
44
-42
14
49
10
-21
-6
0
0
0
0
0
0
0
0
-19
14
40
46
-55
-39
-28
-25
-2
0
0
0
0
0
0
0
0
17
38
33
-8
-65
25
-3
-44
-6
0
0
0
0
0
0
0
0
45
26
70
20
-23
8
35
-1
-8
0
0
0
0
0
0
0
0
44
-15
7
-5
7
4
8
-7
0
0
0
0
0
0
0
0
0
-1
2
43
-54
-8
25
13
0
0
0
0
0
0
0
0
0
0
28
-13
5
0
0
1
2
0
0
0
0
0
0
0
0
0
0
-59
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-49
-67
85
47
0
-51
0
0
0
0
0
0
0
0
0
0
-26
0
-90
5
10
44
-61
1
0
0
0
0
0
0
0
0
0
-41
22
-13
46
-45
-54
-47
-1
0
0
0
0
0
0
0
0
0
-47
-1
16
-88
45
-29
-10
17
3
0
0
0
0
0
0
0
0
44
-54
5
-71
-12
22
-6
-5
-7
0
0
0
0
0
0
0
0
8
4
5
0
0
-13
0
4
0
0
0
0
0
0
0
0
0
-42
-5
3
-2
-4
0
6
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
47
-8
0
14
-1
0
0
0
0
0
0
0
0
0
0
49
-35
40
13
18
34
-3
0
0
0
0
0
0
0
0
0
0
-7
-27
1
-44
-100
-55
0
-3
0
0
0
0
0
0
0
0
0
-15
-5
2
20
2
25
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
36
-41
0
0
18
0
0
0
0
0
0
0
0
0
0
0
-13
35
13
-21
-34
-7
3
-1
0
0
0
0
0
0
0
0
0
8
5
13
-29
3
0
-20
0
0
0
0
0
0
0
0
0
0
0
-4
4
6
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
0
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
3
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
0
0
0
3
0
-4
31
1
-14
-6
1
0
0
0
0
0
0
0
0
0
-6
0
-3
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
24
10
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
13
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
-34
12
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
-7
8
5
-3
0
0
0
0
0
0
0
0
0
3
-1
0
-2
-13
-17
-1
0
1
0
0
0
0
0
0
0
0
0
14
0
13
13
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
-13
-6
8
0
0
0
0
0
0
0
0
0
0
0
-6
-2
3
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-22
-3
15
7
12
-3
0
0
0
0
0
0
0
0
0
0
-16
-17
-4
9
-2
-44
2
0
0
0
0
0
0
0
0
0
1
-12
-15
-3
-8
-1
1
0
0
0
0
0
0
0
0
0
0
8
-12
2
1
9
4
-1
-7
0
0
0
0
0
0
0
0
0
3
0
4
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-2
2
0
2
0
0
0
0
0
0
0
0
0
0
0
23
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
4
3
-3
0
0
1
0
0
0
0
0
0
0
0
0
9
13
-12
-6
-8
-3
-32
3
0
0
0
0
0
0
0
0
0
3
31
23
19
7
5
3
4
0
0
0
0
0
0
0
0
0
-1
-13
23
-1
-2
-8
20
0
-2
0
0
0
0
0
0
0
0
5
31
-1
64
-3
-6
2
0
0
0
0
0
0
0
0
0
0
27
0
0
22
-1
3
0
2
4
0
0
0
0
0
0
0
0
0
1
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
45
-6
18
-6
-16
13
0
0
0
0
0
0
0
0
0
0
-16
13
50
58
-4
6
5
-49
-12
0
0
0
0
0
0
0
0
13
31
-41
43
-2
0
-25
-4
0
0
0
0
0
0
0
0
0
-15
-25
7
29
0
0
-2
8
2
0
0
0
0
0
0
0
0
10
3
42
57
25
8
5
-2
0
0
0
0
0
0
0
0
0
-13
-14
13
18
-23
5
0
1
0
0
0
0
0
0
0
0
0
-2
5
44
34
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
26
-53
-35
-29
20
-1
0
0
0
0
0
0
0
0
0
107
48
-46
-23
6
9
15
1
5
0
0
0
0
0
0
0
0
7
96
27
8
20
13
2
0
0
0
0
0
0
0
0
0
0
55
-52
46
-16
14
8
12
0
-16
0
0
0
0
0
0
0
0
-3
20
60
-3
-2
37
24
0
0
0
0
0
0
0
0
0
0
-26
-46
-37
-4
-2
-2
1
-8
1
0
0
0
0
0
0
0
0
61
51
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-109
-70
-93
-13
-30
-5
-58
0
0
0
0
0
0
0
0
0
-2
-121
0
-40
-10
-36
-26
-42
14
5
0
0
0
0
0
0
0
-15
47
-130
41
66
-50
-6
-7
-6
13
0
0
0
0
0
0
0
62
1
-35
-48
12
33
-7
0
-10
-1
0
0
0
0
0
0
0
-84
-55
-69
-48
40
12
27
23
0
0
0
0
0
0
0
0
0
77
48
75
-29
14
-41
0
5
-4
0
0
0
0
0
0
0
0
59
-8
13
-15
-18
0
-4
-1
0
0
0
0
0
0
0
0
0
20
20
7
25
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
57
-13
-7
11
-139
-16
58
0
-6
0
0
0
0
0
0
0
42
-31
-4
-9
47
-137
68
22
-4
2
0
0
0
0
0
0
0
-66
-104
10
-26
4
-41
-60
43
-10
0
0
0
0
0
0
0
0
-27
-126
64
-76
-19
19
22
-25
-2
0
0
0
0
0
0
0
0
6
4
100
71
-98
-54
-3
-37
-7
3
0
0
0
0
0
0
0
62
-2
31
33
-21
1
24
-20
-6
0
0
0
0
0
0
0
0
57
151
104
13
2
-12
-3
17
3
0
0
0
0
0
0
0
0
25
31
17
-1
4
0
4
2
0
0
0
0
0
0
0
0
0
4
18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
9
47
-25
58
215
23
0
18
0
0
0
0
0
0
0
0
-29
97
67
-39
19
-98
10
46
-17
2
2
0
0
0
0
0
0
-42
28
-14
-101
-12
-4
-160
-46
-2
0
0
0
0
0
0
0
0
-21
-12
-61
29
-13
-95
-104
-4
0
0
0
0
0
0
0
0
0
-46
-43
36
55
-55
61
43
29
-1
0
0
0
0
0
0
0
0
50
-90
50
49
13
-22
48
71
0
0
0
0
0
0
0
0
0
-48
33
-32
-9
-12
-1
17
14
0
0
0
0
0
0
0
0
0
29
14
49
-1
-4
1
-16
0
0
0
0
0
0
0
0
0
0
17
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
11
35
-2
-29
97
0
15
-1
0
0
0
0
0
0
0
0
77
3
-4
-49
13
67
-8
1
-1
0
0
0
0
0
0
0
0
58
-4
33
-111
-20
29
-31
-12
0
0
0
0
0
0
0
0
0
-88
32
-13
-29
47
113
18
6
0
0
0
0
0
0
0
0
0
-6
-71
-12
-28
-25
-8
7
-5
0
0
0
0
0
0
0
0
0
48
31
-30
34
-42
-8
1
-1
-4
0
0
0
0
0
0
0
0
11
-38
-13
-8
-4
-5
1
1
0
0
0
0
0
0
0
0
0
19
12
9
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-25
-31
-27
59
0
-2
7
-1
0
0
0
0
0
0
0
0
-45
-80
-45
44
-66
-41
13
2
5
0
0
0
0
0
0
0
0
-49
-9
1
-5
-28
16
2
0
0
0
0
0
0
0
0
0
0
-47
22
-42
-10
-20
6
-16
0
0
0
0
0
0
0
0
0
0
-6
-4
24
-10
1
-9
0
2
0
0
0
0
0
0
0
0
0
-42
-1
-2
0
0
0
2
0
1
0
0
0
0
0
0
0
0
25
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-57
84
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
-13
21
13
-11
-3
5
0
0
0
0
0
0
0
0
0
0
4
13
6
24
9
-73
0
0
0
0
0
0
0
0
0
0
0
2
2
1
-3
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
49
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
27
-37
5
9
-4
4
0
0
0
0
0
0
0
0
0
0
0
4
-1
-3
37
5
-5
0
0
0
0
0
0
0
0
0
0
0
-2
7
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
3
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-5
4
3
-2
0
-2
-3
0
0
0
0
0
0
0
0
0
8
0
0
-15
2
-33
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-2
5
0
0
0
0
0
0
0
0
0
0
-1
0
-24
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-10
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
41
-10
7
42
41
52
-10
0
0
0
0
0
0
0
0
0
-10
0
2
0
9
-8
-44
4
0
0
0
0
0
0
0
0
0
8
-9
0
2
0
-8
0
4
-3
0
0
0
0
0
0
0
0
3
7
-3
0
-9
2
-5
0
-4
0
0
0
0
0
0
0
0
0
2
2
92
-4
-4
9
3
0
0
0
0
0
0
0
0
0
2
-3
-3
16
-1
0
-4
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
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
-25
1
-6
0
0
0
0
0
0
0
0
0
0
0
3
12
-27
32
-19
3
46
-3
-2
0
0
0
0
0
0
0
0
-12
48
0
2
-5
-3
8
33
0
0
0
0
0
0
0
0
0
-13
-21
7
0
0
-6
0
0
2
0
0
0
0
0
0
0
0
-19
-25
-4
0
5
-8
5
-8
0
0
0
0
0
0
0
0
0
1
2
24
3
43
0
1
0
-1
0
0
0
0
0
0
0
0
0
20
-13
-1
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
5
0
-4
12
0
0
0
0
0
0
0
0
0
0
0
-8
34
16
3
-7
-5
0
-2
0
0
0
0
0
0
0
0
1
-77
-75
0
-1
2
-14
56
1
0
0
0
0
0
0
0
0
13
8
4
2
0
-2
-8
1
-1
0
0
0
0
0
0
0
0
-18
7
22
-8
0
2
2
0
0
0
0
0
0
0
0
0
0
-13
-42
-6
52
3
-12
0
-1
-1
0
0
0
0
0
0
0
0
-6
27
61
-23
-3
-12
0
0
0
0
0
0
0
0
0
0
0
3
41
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
31
-15
-31
-37
-21
14
0
-1
0
0
0
0
0
0
0
-19
46
20
9
64
48
41
-31
13
0
0
0
0
0
0
0
0
20
-57
24
-52
3
-22
-5
16
9
0
0
0
0
0
0
0
0
-23
23
66
27
8
0
-1
-13
1
0
0
0
0
0
0
0
0
-25
-15
-44
-28
0
0
4
13
0
0
0
0
0
0
0
0
0
-57
-16
13
3
7
-3
5
0
0
1
0
0
0
0
0
0
0
-3
-12
7
-29
-6
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
7
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
-52
15
13
-8
32
15
0
0
0
0
0
0
0
0
0
66
-104
26
5
14
-7
33
23
0
0
0
0
0
0
0
0
0
17
-50
34
100
-92
-43
16
8
-3
0
0
0
0
0
0
0
0
15
-1
-22
-31
23
-2
-1
0
-3
0
0
0
0
0
0
0
0
5
-14
7
-5
3
0
-2
0
1
0
0
0
0
0
0
0
0
43
-29
76
-5
9
5
2
7
0
0
0
0
0
0
0
0
0
18
43
23
2
21
7
0
1
-13
0
0
0
0
0
0
0
0
7
-34
27
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-47
-97
-5
72
19
8
59
0
-3
0
0
0
0
0
0
0
95
51
29
-59
25
-43
-50
52
22
0
3
0
0
0
0
0
0
-90
-42
-28
43
-70
55
31
20
0
12
0
0
0
0
0
0
0
5
5
-12
-1
-51
-58
1
0
-1
2
0
0
0
0
0
0
0
12
-47
16
8
-19
33
-4
0
0
9
0
0
0
0
0
0
0
1
-26
-66
5
-13
-22
22
6
-9
0
0
0
0
0
0
0
0
4
-13
-41
64
-5
14
-4
-3
1
0
0
0
0
0
0
0
0
13
-77
37
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
63
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
23
-78
-30
-2
18
-7
66
0
9
0
0
0
0
0
0
0
42
-14
2
-15
-24
-53
26
6
5
-5
-4
0
0
0
0
0
0
-24
-30
-3
-5
13
-102
51
-91
-25
-1
0
0
0
0
0
0
0
-61
-25
8
23
-44
-6
-13
-13
2
0
0
0
0
0
0
0
0
45
70
9
-84
-22
47
62
0
-1
0
0
0
0
0
0
0
0
-7
76
-23
33
-46
-49
-3
14
0
3
0
0
0
0
0
0
0
-14
-5
-13
-52
46
3
13
-9
4
0
0
0
0
0
0
0
0
20
118
89
51
7
3
0
0
7
0
0
0
0
0
0
0
0
-33
-5
89
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
11
-1
41
-58
3
6
0
18
-1
0
0
0
0
0
0
0
23
-89
10
-26
17
17
75
29
49
-2
0
0
0
0
0
0
0
-1
2
-21
54
-25
-123
43
7
8
0
0
0
0
0
0
0
0
3
-69
-18
-34
28
60
-6
-25
5
0
0
0
0
0
0
0
0
143
-84
42
93
36
10
8
-2
0
0
0
0
0
0
0
0
0
-25
21
23
-51
-60
-8
-1
30
5
0
0
0
0
0
0
0
0
76
9
-49
-9
6
6
1
30
-12
0
0
0
0
0
0
0
0
7
2
-6
-18
0
-2
4
0
0
0
0
0
0
0
0
0
0
4
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-5
-6
15
36
-3
0
2
-1
0
0
0
0
0
0
0
0
4
-86
0
-17
123
-46
43
-63
-1
0
0
0
0
0
0
0
0
9
-21
33
39
42
66
7
3
0
0
0
0
0
0
0
0
0
45
12
-9
25
-46
7
42
1
0
0
0
0
0
0
0
0
0
6
33
19
30
14
3
-2
0
0
0
0
0
0
0
0
0
0
-42
-9
51
8
49
25
0
1
0
0
0
0
0
0
0
0
0
-9
41
-22
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
-13
-13
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
-24
13
-48
0
2
2
-4
0
0
0
0
0
0
0
0
6
-28
106
6
-2
-9
2
3
0
0
0
0
0
0
0
0
0
15
45
31
-83
20
-42
-21
0
0
0
0
0
0
0
0
0
0
-14
-25
-32
1
41
-10
-2
0
0
0
0
0
0
0
0
0
0
5
1
3
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
4
0
8
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
42
-1
3
-10
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
-13
13
2
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
-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
-2
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-12
-16
10
-3
-10
0
-2
5
0
0
0
0
0
0
0
0
0
0
16
-12
-3
-25
7
-5
0
0
0
0
0
0
0
0
0
0
5
0
8
-16
-8
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-8
8
0
-2
-1
0
0
0
0
0
0
0
0
-1
1
-6
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
5
6
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-2
-16
0
0
0
8
0
0
0
0
0
0
0
0
0
0
7
2
-24
8
0
-13
0
-8
0
0
0
0
0
0
0
0
0
-18
-10
58
-3
8
25
3
0
0
0
0
0
0
0
0
0
-5
0
0
0
-18
-8
0
1
-20
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
6
0
0
0
0
0
0
0
0
0
0
0
-6
2
3
0
-8
0
1
-5
0
0
0
0
0
0
0
0
5
7
-4
-3
0
0
2
9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-14
6
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-51
-14
0
9
8
0
0
0
0
0
0
0
0
0
3
0
-7
-10
8
2
-19
-4
10
0
0
0
0
0
0
0
0
-25
49
0
-6
0
-3
4
-2
2
0
0
0
0
0
0
0
0
-4
-13
0
0
0
0
-4
0
10
0
0
0
0
0
0
0
0
-27
-25
0
0
1
-1
5
8
0
0
0
0
0
0
0
0
0
49
4
-25
4
22
0
-24
-1
0
0
0
0
0
0
0
0
0
-4
7
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-1
10
14
-4
-1
7
0
0
0
0
0
0
0
0
0
0
3
-17
42
24
3
25
-17
0
0
0
0
0
0
0
0
0
4
41
-41
50
-41
25
-1
25
1
0
0
0
0
0
0
0
0
-5
-24
3
2
6
-3
-25
-8
-8
0
0
0
0
0
0
0
0
0
-22
-27
1
0
0
3
0
8
0
0
0
0
0
0
0
0
-6
-3
-6
0
0
0
53
-4
0
0
0
0
0
0
0
0
0
27
24
-4
29
-12
-2
0
-1
0
0
0
0
0
0
0
0
0
0
-8
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-30
17
13
18
33
21
23
0
0
0
0
0
0
0
0
0
0
-13
-83
43
-52
-9
-43
-27
7
0
0
0
0
0
0
0
0
0
-31
-14
6
25
71
35
-18
13
0
0
0
0
0
0
0
0
2
-43
2
43
5
-4
-4
12
0
0
0
0
0
0
0
0
0
-13
-30
84
-3
0
0
0
-8
-1
0
0
0
0
0
0
0
0
-2
20
61
92
2
0
0
18
1
-9
0
0
0
0
0
0
0
29
-53
33
-6
-2
12
0
0
0
0
0
0
0
0
0
0
0
2
-10
-2
37
2
0
0
1
0
0
0
0
0
0
0
0
0
-43
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
48
19
86
12
5
13
-14
0
0
0
0
0
0
0
0
0
-5
-46
22
51
10
-14
23
44
1
0
0
0
0
0
0
0
0
-47
72
92
13
-1
1
-45
5
0
0
0
0
0
0
0
0
0
10
35
13
-75
17
-3
0
0
0
-2
0
0
0
0
0
0
0
-5
-11
41
13
-30
1
0
0
-5
0
0
0
0
0
0
0
0
-31
-16
34
-28
-5
1
0
0
-20
-2
0
0
0
0
0
0
0
-12
31
37
-10
-2
3
0
-14
0
0
0
0
0
0
0
0
0
-14
-20
-5
0
-2
-4
-1
0
-1
0
0
0
0
0
0
0
0
18
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
41
-9
43
-51
3
16
-13
0
-2
0
0
0
0
0
0
0
37
23
98
-17
-8
91
-18
33
13
0
0
0
0
0
0
0
0
-33
-67
-26
-16
48
24
30
-21
-1
-8
0
0
0
0
0
0
0
-14
-74
77
-3
94
-15
0
1
0
-4
0
0
0
0
0
0
0
5
61
66
-5
-53
-19
0
0
0
0
0
0
0
0
0
0
0
4
22
21
56
-59
-13
4
0
0
-2
0
0
0
0
0
0
0
-33
-60
-67
-38
-31
66
-4
23
-7
0
0
0
0
0
0
0
0
24
18
21
31
24
-20
0
17
0
0
0
0
0
0
0
0
0
22
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
9
15
41
-11
123
-24
33
0
-1
0
0
0
0
0
0
0
112
82
-30
-18
60
41
61
-101
-56
-2
-3
0
0
0
0
0
0
5
93
23
48
-52
-24
41
18
5
16
0
0
0
0
0
0
0
32
24
-36
-15
49
54
-36
-41
-2
0
0
0
0
0
0
0
0
39
-111
3
-144
50
-25
-73
-1
0
0
0
0
0
0
0
0
0
71
-21
-51
15
-44
74
41
-1
0
0
0
0
0
0
0
0
0
-15
-29
-99
-58
72
70
18
35
0
0
0
0
0
0
0
0
0
-24
-51
-79
18
-3
-2
5
0
-3
5
0
0
0
0
0
0
0
0
-13
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
35
-59
75
79
25
-18
0
8
-9
0
0
0
0
0
0
0
6
27
-104
-5
41
26
59
5
3
-1
0
0
0
0
0
0
0
-16
-28
76
6
11
-3
-84
37
-17
1
0
0
0
0
0
0
0
-2
55
12
-21
-13
50
-19
-18
-1
0
0
0
0
0
0
0
0
21
-28
7
10
3
-72
-10
2
0
0
0
0
0
0
0
0
0
76
70
-26
-11
75
-49
0
0
0
0
0
0
0
0
0
0
0
12
-80
-14
110
-86
73
-24
27
2
0
0
0
0
0
0
0
0
-75
-38
32
-42
-9
1
1
2
0
0
0
0
0
0
0
0
0
-5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-37
-33
1
40
76
0
13
-8
-8
0
0
0
0
0
0
0
26
-8
-3
24
5
-29
24
1
1
0
0
0
0
0
0
0
0
63
-5
7
45
24
55
-8
13
-1
1
0
0
0
0
0
0
0
-69
37
34
2
9
-5
-10
0
0
0
0
0
0
0
0
0
0
-31
33
-35
24
-9
31
-2
0
0
0
0
0
0
0
0
0
0
31
-18
-61
-49
16
4
4
0
0
0
0
0
0
0
0
0
0
-47
-7
-4
-5
-2
-4
0
17
0
0
0
0
0
0
0
0
0
49
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
-17
7
8
0
-2
5
0
0
0
0
0
0
0
0
0
1
15
-41
-19
-5
3
-1
0
0
0
0
0
0
0
0
0
0
-1
-13
13
-6
4
-15
1
0
0
0
0
0
0
0
0
0
0
0
2
6
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
-4
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-2
-5
1
-1
3
0
0
0
0
0
0
0
0
0
0
13
-5
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
1
0
0
8
0
0
0
0
0
0
0
0
0
3
2
0
6
0
-5
3
-18
0
0
0
0
0
0
0
0
0
-1
-3
-6
0
-49
29
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-24
-8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
8
0
0
0
0
0
0
0
0
0
0
0
5
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
15
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
-5
-4
5
0
10
15
1
0
0
0
0
0
0
0
0
0
42
-2
5
0
-25
7
-2
5
0
0
0
0
0
0
0
0
0
2
1
0
-8
4
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
-1
-3
-1
0
0
0
0
0
0
0
0
0
-1
7
-3
9
0
1
-9
-8
0
0
0
0
0
0
0
0
0
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
15
3
3
7
-7
0
0
0
0
0
0
0
0
0
0
5
12
34
-32
43
29
4
-1
4
0
0
0
0
0
0
0
0
-1
-7
-39
-2
23
-2
-4
14
0
0
0
0
0
0
0
0
0
7
0
16
5
2
0
14
0
1
0
0
0
0
0
0
0
0
0
13
0
-5
0
20
-1
6
2
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
20
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-8
-25
-7
-33
0
0
0
0
0
0
0
0
0
0
0
9
-34
-42
-25
-52
-8
4
0
0
0
0
0
0
0
0
0
-14
23
57
1
5
-13
-9
2
-2
0
0
0
0
0
0
0
0
0
-57
-18
-29
-49
41
5
12
0
0
0
0
0
0
0
0
0
-1
-30
42
-4
0
2
-19
-1
-4
0
0
0
0
0
0
0
0
0
-13
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
50
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
13
31
0
-25
0
1
0
3
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
3
-12
0
5
-42
-23
0
0
0
0
0
0
0
0
0
0
-33
-51
5
-31
-1
75
6
-5
0
0
0
0
0
0
0
0
5
84
-7
9
-16
41
1
-30
3
0
0
0
0
0
0
0
0
2
-55
-17
-19
41
42
-18
-6
-3
0
0
0
0
0
0
0
0
2
90
16
-28
-16
0
0
72
4
0
0
0
0
0
0
0
0
29
-4
1
31
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
22
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-19
-7
1
0
9
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
24
7
27
-10
19
15
-49
0
0
0
0
0
0
0
0
0
37
-67
-2
-58
-69
-13
0
57
24
0
0
0
0
0
0
0
0
-16
33
11
-33
66
-7
2
-41
-2
0
0
0
0
0
0
0
0
54
-50
-14
-9
66
23
58
6
0
0
0
0
0
0
0
0
0
20
3
32
7
66
1
0
0
0
0
0
0
0
0
0
0
0
8
46
-10
29
-15
0
0
0
4
0
0
0
0
0
0
0
0
-8
17
76
27
-21
0
0
0
6
-2
0
0
0
0
0
0
0
53
-35
-7
-16
-6
-6
-2
-8
0
0
0
0
0
0
0
0
0
32
4
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
20
-5
12
81
52
45
0
0
0
0
0
0
0
0
0
0
-49
-102
-29
-52
-107
-38
5
25
-30
3
0
0
0
0
0
0
0
-5
14
13
62
29
52
42
39
-51
14
0
0
0
0
0
0
0
38
103
47
4
-89
22
74
-41
-5
0
0
0
0
0
0
0
0
40
25
3
-4
143
-46
8
-7
-1
-2
0
0
0
0
0
0
0
63
-8
-13
-79
5
16
0
0
0
0
0
0
0
0
0
0
0
-12
-44
-5
6
2
-1
-5
0
0
0
0
0
0
0
0
0
0
8
-54
-4
5
-1
3
-2
0
0
0
0
0
0
0
0
0
0
16
-24
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
-51
57
66
31
73
-16
0
-4
0
0
0
0
0
0
0
63
46
64
40
11
33
5
-15
49
8
0
0
0
0
0
0
0
3
-16
29
3
-14
48
93
55
4
-14
5
0
0
0
0
0
0
14
-19
14
87
-26
-7
11
126
0
-6
0
0
0
0
0
0
0
-1
-10
62
-55
20
-33
-55
4
-1
0
0
0
0
0
0
0
0
-78
-24
14
-18
6
9
-30
0
0
0
0
0
0
0
0
0
0
14
-27
37
59
-69
52
29
0
0
0
0
0
0
0
0
0
0
-7
-60
23
-24
-9
-18
-3
-13
2
0
0
0
0
0
0
0
0
-48
-3
-70
16
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
42
-9
13
-33
-25
60
18
0
-2
-2
0
0
0
0
0
0
0
-23
44
67
39
-25
-50
13
18
-14
1
0
0
0
0
0
0
0
68
10
-41
-4
124
66
23
-33
-19
-2
0
0
0
0
0
0
0
-50
-48
31
48
-29
-101
40
43
-12
0
0
0
0
0
0
0
0
11
5
-39
-36
-45
-27
-24
2
0
0
0
0
0
0
0
0
0
-24
-27
42
-14
-9
-18
49
2
0
0
0
0
0
0
0
0
0
6
-63
-78
-17
31
50
8
1
0
0
0
0
0
0
0
0
0
-22
-14
-28
60
6
12
4
-3
0
0
0
0
0
0
0
0
0
43
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
4
0
19
10
39
0
4
0
0
0
0
0
0
0
0
0
15
60
28
-17
28
-1
-20
4
-1
0
0
0
0
0
0
0
0
31
55
-14
27
0
84
3
-25
0
0
0
0
0
0
0
0
0
-32
-13
16
-19
32
18
-9
7
-1
0
0
0
0
0
0
0
0
50
77
-2
-46
-24
21
8
0
0
0
0
0
0
0
0
0
0
28
2
8
42
0
0
-6
0
0
0
0
0
0
0
0
0
0
-56
-15
-9
3
5
1
0
0
0
0
0
0
0
0
0
0
0
16
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
4
-55
0
0
0
0
0
0
0
0
0
0
0
0
-37
-13
-5
23
0
49
0
6
0
0
0
0
0
0
0
0
0
16
-13
-2
-20
-25
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
-8
-4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
-6
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
1
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-2
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-6
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-8
1
-44
-15
6
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
5
0
-2
0
1
0
0
0
0
0
0
0
0
0
2
0
3
0
-23
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-42
19
6
7
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
0
-2
3
0
0
0
0
0
0
0
0
0
0
-1
-7
2
-10
-13
0
-3
0
-1
0
0
0
0
0
0
0
0
-6
1
10
43
-7
2
0
4
-5
0
0
0
0
0
0
0
0
0
29
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
-4
0
7
0
0
0
0
0
0
0
0
0
0
0
35
32
-5
10
0
2
8
5
0
0
0
0
0
0
0
0
0
-5
12
-20
-12
9
5
-8
0
0
0
0
0
0
0
0
0
-2
5
-1
-20
-14
8
-14
2
0
0
0
0
0
0
0
0
0
0
2
22
-13
49
25
-12
0
-8
0
0
0
0
0
0
0
0
0
-25
-2
6
0
0
-1
1
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
59
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
55
0
6
9
-4
-8
12
0
0
0
0
0
0
0
0
0
-3
-24
39
4
8
4
41
2
0
0
0
0
0
0
0
0
0
2
0
24
-1
-31
-32
16
-17
-3
0
0
0
0
0
0
0
0
0
6
0
59
69
-25
0
-34
3
1
0
0
0
0
0
0
0
0
31
-23
-3
31
-1
-3
-4
1
0
0
0
0
0
0
0
0
1
-51
7
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
43
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-31
1
50
0
0
0
-4
0
0
0
0
0
0
0
0
0
-14
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-22
20
-1
-5
-25
-8
0
0
0
0
0
0
0
0
0
-1
8
49
-25
-6
-33
2
-25
-2
0
0
0
0
0
0
0
0
-10
-59
-55
-61
-44
61
-29
-6
-12
0
0
0
0
0
0
0
0
0
-24
50
42
41
-31
30
-2
1
-5
0
0
0
0
0
0
0
18
92
39
-6
12
-5
3
-3
1
0
0
0
0
0
0
0
0
9
-22
58
-15
-46
0
0
4
0
0
0
0
0
0
0
0
0
-14
41
-28
-76
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
23
-56
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
31
6
58
-33
16
48
15
33
0
5
0
0
0
0
0
0
0
31
-42
-20
-89
-10
2
-4
-15
10
0
0
0
0
0
0
0
0
-48
41
17
-43
5
1
-12
49
-8
-2
0
0
0
0
0
0
0
67
70
74
-24
27
143
70
1
-19
0
0
0
0
0
0
0
0
-6
-73
-87
-6
118
-42
17
-1
-5
0
0
0
0
0
0
0
0
29
71
41
-33
-48
-49
1
0
0
-1
0
0
0
0
0
0
0
-27
35
-30
8
-8
-9
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-2
5
21
8
0
0
0
0
0
0
0
0
0
0
0
24
-35
-5
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
80
13
-30
-31
-51
16
-47
-7
0
7
0
0
0
0
0
0
0
22
85
-12
18
-18
92
19
-35
-13
0
0
0
0
0
0
0
0
106
-92
-36
0
15
-6
126
30
26
-1
0
0
0
0
0
0
0
-48
112
62
-5
19
106
-25
66
26
13
0
0
0
0
0
0
0
-31
58
68
43
-37
-36
25
127
-3
34
0
0
0
0
0
0
0
-17
-50
-22
7
-10
-16
23
0
-1
0
0
0
0
0
0
0
0
-49
-14
-16
0
43
1
5
0
0
0
0
0
0
0
0
0
0
-40
35
13
-25
9
10
-7
0
0
0
0
0
0
0
0
0
0
-91
-14
92
-17
0
-10
0
2
0
0
0
0
0
0
0
0
0
0
42
65
31
4
-20
-8
5
0
-3
6
0
0
0
0
0
0
0
-31
-48
-58
-14
10
37
64
30
-63
2
0
0
0
0
0
0
0
-19
-81
1
-104
47
-6
21
56
4
4
0
0
0
0
0
0
0
-30
47
2
123
-22
34
62
5
-15
0
0
0
0
0
0
0
0
50
-55
105
44
-32
38
-22
37
1
0
0
0
0
0
0
0
0
4
37
-56
-19
-55
1
-46
2
0
0
0
0
0
0
0
0
0
-17
-72
-8
98
-12
-10
-20
0
0
0
0
0
0
0
0
0
0
-67
1
-5
16
-24
-22
8
0
0
0
0
0
0
0
0
0
0
23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
8
10
30
16
-48
0
-4
0
0
0
0
0
0
0
0
0
-15
-74
7
75
2
21
20
-2
0
0
0
0
0
0
0
0
0
79
50
11
-48
-16
21
4
-28
0
0
0
0
0
0
0
0
0
23
15
51
5
-14
-27
5
-5
1
0
0
0
0
0
0
0
0
9
-28
-44
13
46
-4
1
2
0
0
0
0
0
0
0
0
0
49
5
9
-42
-10
1
1
0
0
0
0
0
0
0
0
0
0
20
15
-5
13
-1
10
-1
0
0
0
0
0
0
0
0
0
0
89
10
-31
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
6
25
-49
-6
8
-16
0
0
0
0
0
0
0
0
0
0
-54
12
-3
10
10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
2
2
0
0
0
0
0
0
0
0
0
0
0
4
-17
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
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
1
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
10
1
0
6
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
0
-15
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
6
4
-6
6
2
1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-17
-5
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
47
19
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
0
6
1
-1
0
0
0
0
0
0
0
0
0
3
0
5
-2
-6
1
4
0
0
0
0
0
0
0
0
0
0
0
-6
1
45
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
41
13
-2
24
14
3
-16
0
0
0
0
0
0
0
0
0
0
-1
20
29
45
16
-39
-5
8
0
0
0
0
0
0
0
0
-1
-9
-22
-16
48
31
-14
5
6
0
0
0
0
0
0
0
0
10
-5
-4
-4
16
10
0
-2
1
0
0
0
0
0
0
0
0
0
-31
-3
-27
27
41
5
0
0
0
0
0
0
0
0
0
0
8
-3
-25
5
29
0
0
0
5
0
0
0
0
0
0
0
0
-1
16
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-3
0
23
3
-18
0
0
0
0
0
0
0
0
0
0
6
27
25
8
-20
4
13
-25
-2
0
0
0
0
0
0
0
0
-6
-5
-1
-35
-14
-12
-71
-3
5
-9
0
0
0
0
0
0
0
12
59
1
-15
30
-5
34
19
0
1
0
0
0
0
0
0
0
25
-30
49
-51
-25
-12
29
-9
-8
0
0
0
0
0
0
0
0
2
5
-57
-67
28
-13
-4
12
7
0
0
0
0
0
0
0
0
0
-29
0
-8
27
16
0
0
0
0
0
0
0
0
0
0
0
-1
-49
-9
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
48
-51
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-56
-17
-43
-13
-5
-5
-9
0
0
0
0
0
0
0
0
0
-35
-54
87
13
-49
72
20
-6
-23
5
0
0
0
0
0
0
0
6
-30
-33
30
40
45
3
56
-2
17
0
0
0
0
0
0
0
36
33
4
-58
30
73
24
41
12
-7
0
0
0
0
0
0
0
-35
42
92
14
20
-6
-63
-27
10
0
0
0
0
0
0
0
0
-72
-56
-40
41
-13
-33
42
14
0
1
0
0
0
0
0
0
0
40
-1
-5
35
-54
23
-9
0
0
0
0
0
0
0
0
0
0
-59
-23
-1
43
20
-8
-3
0
0
0
0
0
0
0
0
0
0
35
-43
-19
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
38
-47
-68
-50
29
-17
0
0
0
0
0
0
0
0
0
0
13
61
13
-24
-3
14
-41
61
27
-1
0
0
0
0
0
0
0
-2
-4
27
13
27
-20
90
34
33
0
0
0
0
0
0
0
0
-10
51
46
11
19
47
18
42
4
0
0
0
0
0
0
0
0
96
93
-4
48
4
-42
-15
64
0
0
0
0
0
0
0
0
0
-68
-4
24
7
52
19
-9
20
0
0
0
0
0
0
0
0
0
-81
3
-20
-3
73
30
10
0
0
0
0
0
0
0
0
0
0
13
7
-23
-25
4
-3
-6
0
0
0
0
0
0
0
0
0
0
23
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
9
-3
-8
-37
0
-3
0
0
0
0
0
0
0
0
0
8
18
50
-1
24
6
-25
-8
-1
0
0
0
0
0
0
0
0
1
9
63
-3
67
7
35
2
1
0
0
0
0
0
0
0
0
31
22
11
26
5
0
-5
1
0
0
0
0
0
0
0
0
0
7
43
-47
9
22
3
-2
0
0
0
0
0
0
0
0
0
0
1
1
0
31
5
24
0
0
0
0
0
0
0
0
0
0
0
-57
-7
66
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-1
24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-46
14
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-8
8
-3
-3
-1
1
0
0
0
0
0
0
0
0
0
7
2
4
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-14
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
3
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
3
1
-3
3
-7
2
-1
0
0
0
0
0
0
0
0
0
-1
1
0
-1
24
0
0
0
0
0
0
0
0
0
0
0
6
3
-5
1
19
6
-2
0
0
0
0
0
0
0
0
0
0
7
56
-19
13
24
-10
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
55
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
12
-1
-46
-7
10
-31
15
14
1
0
0
0
0
0
0
0
0
57
8
28
-20
-2
50
31
-4
9
0
0
0
0
0
0
0
0
3
-14
112
1
50
50
-34
43
4
0
0
0
0
0
0
0
0
76
13
48
-66
-29
59
-9
14
0
0
0
0
0
0
0
0
0
5
-66
5
-15
75
-37
8
12
0
0
0
0
0
0
0
0
0
-54
-43
27
-2
-28
2
0
0
0
0
0
0
0
0
0
0
0
-48
43
-24
-16
-13
-6
0
0
0
0
0
0
0
0
0
0
0
64
-12
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
6
0
-3
0
8
-4
0
0
0
0
0
0
0
0
0
0
21
-2
1
0
2
-1
-3
-1
0
0
0
0
0
0
0
0
0
-15
-8
1
43
-27
-24
-5
8
-6
0
0
0
0
0
0
0
0
-9
17
-27
35
1
6
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-28
-41
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
25
-15
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
41
-4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
9
-4
8
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
13
5
0
-3
0
0
0
0
0
0
0
0
0
0
-5
1
8
-8
-1
-4
8
2
0
0
0
0
0
0
0
0
0
2
-1
13
4
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
12
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
13
-11
48
4
-12
0
0
0
0
0
0
0
0
0
0
0
-6
2
14
3
74
-55
34
-48
0
0
0
0
0
0
0
0
0
0
-6
-7
-20
95
29
53
-90
0
0
0
0
0
0
0
0
0
-3
-4
-43
0
-1
27
-39
58
0
0
0
0
0
0
0
0
0
0
0
0
30
-23
-27
-29
30
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
1
-7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-24
0
0
0
0
0
0
0
0
0
0
-2
-1
14
-10
52
0
0
0
0
0
0
0
0
0
0
0
0
5
-49
-94
-48
-11
0
0
0
0
0
0
0
0
0
0
0
-1
-54
-6
10
-49
28
53
47
-28
0
0
0
0
0
0
0
0
4
-8
-9
-3
35
-13
49
10
-9
0
0
0
0
0
0
0
0
4
-8
-3
-28
-46
-81
5
72
-92
0
0
0
0
0
0
0
0
-2
5
20
56
23
27
-123
-1
-13
0
0
0
0
0
0
0
0
0
-3
-1
-4
4
-21
18
-93
-45
0
0
0
0
0
0
0
0
0
0
0
-17
-3
2
31
-64
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
3
0
0
0
0
0
0
0
0
0
0
3
-7
-6
-14
0
0
0
22
0
0
0
0
0
0
0
0
0
1
9
67
12
0
0
0
53
0
0
0
0
0
0
0
-2
-3
-24
9
-4
38
0
27
5
51
0
0
0
0
0
0
0
-6
24
13
-7
-33
25
-27
-76
4
6
0
0
0
0
0
0
0
0
2
63
49
5
3
49
-1
32
3
0
0
0
0
0
0
0
0
-3
-6
0
1
75
5
2
-111
28
0
0
0
0
0
0
0
0
0
1
-1
-10
25
75
31
64
-5
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
8
-83
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
-67
-37
0
0
0
0
0
0
-6
0
6
6
12
-99
0
0
0
-10
-2
0
0
0
0
0
0
0
8
-17
17
3
46
-23
-44
-52
2
-8
0
0
0
0
0
0
0
-1
-22
-5
32
14
12
-33
73
8
10
0
0
0
0
0
0
0
0
0
-1
-45
15
-14
-7
-73
-34
-10
0
0
0
0
0
0
0
0
1
19
51
-27
92
-64
-39
-41
-2
0
0
0
0
0
0
0
0
0
-6
-69
13
-15
-25
-25
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
13
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
-1
0
0
0
0
0
0
0
-4
0
5
0
8
0
0
0
-61
-13
0
0
0
0
0
0
0
0
-2
-5
-9
0
51
63
31
-1
8
0
0
0
0
0
0
0
0
-1
-4
42
-25
-50
-22
71
49
-2
0
0
0
0
0
0
1
3
4
-12
-25
-1
-41
8
-9
14
-8
-14
0
0
0
0
0
0
-1
2
0
5
29
59
41
0
-6
-2
3
0
0
0
0
0
0
0
0
0
-23
-19
4
15
-9
2
-14
0
0
0
0
0
0
0
0
0
2
0
0
1
-1
13
-9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
-12
-4
6
0
0
0
0
14
-2
1
0
0
0
0
0
1
-1
5
-29
-17
-52
-6
-52
-128
16
7
5
0
0
0
0
0
0
0
4
12
16
5
40
32
-8
-5
5
-3
0
0
0
0
0
0
-7
-1
0
8
24
19
-25
74
-32
42
-2
0
0
0
0
0
0
0
0
-1
5
-25
-6
1
31
-19
9
0
0
0
0
0
0
0
0
0
-2
-1
6
-13
-37
-9
-29
7
4
0
0
0
0
0
0
0
0
0
0
-1
7
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
0
0
0
0
0
0
0
4
-25
1
0
0
0
0
-25
34
-10
5
0
0
0
0
0
0
-1
-13
-32
-22
-46
36
-61
17
-6
5
-4
0
0
0
0
0
0
0
-7
1
-12
70
44
-1
5
-2
-6
-3
0
0
0
0
0
0
-3
0
4
26
-20
-24
-5
-54
47
3
0
0
0
0
0
0
0
0
-1
-7
-1
-67
8
-49
2
-1
-1
0
0
0
0
0
0
0
0
-2
-3
0
-1
8
5
22
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
5
0
0
0
0
0
0
0
0
6
0
2
3
0
0
0
-68
1
1
-2
0
0
0
0
0
0
0
0
-2
-5
1
-77
43
6
-31
0
2
0
0
0
0
0
0
0
2
0
5
29
126
-4
-46
-5
4
0
3
0
0
0
0
0
0
0
1
21
-17
-10
60
-3
22
0
-5
-1
0
0
0
0
0
0
0
0
-5
2
18
-19
8
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
-7
-1
18
0
0
0
0
0
0
0
0
0
0
0
-27
-9
-8
40
50
-115
0
0
0
0
0
0
0
0
0
0
0
3
85
16
27
5
-35
42
-25
0
0
0
0
0
0
0
0
0
1
9
-2
-1
8
24
27
53
0
0
0
0
0
0
0
0
0
5
2
-10
34
28
110
11
34
0
0
0
0
0
0
0
0
0
-1
7
-25
53
-8
-71
0
41
0
0
0
0
0
0
0
0
0
0
0
-15
0
23
-25
-14
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
2
0
-19
9
-22
-83
0
0
0
0
0
0
0
0
0
0
0
-2
-53
-15
-39
108
-78
0
0
0
0
0
0
0
0
0
0
0
-16
-14
20
41
-9
-49
30
4
-20
0
0
0
0
0
0
0
0
25
21
26
-50
43
-24
-103
-79
-96
0
0
0
0
0
0
0
0
-8
-29
31
9
10
105
5
86
-43
0
0
0
0
0
0
0
0
1
-7
-7
-74
-23
12
-64
-2
83
0
0
0
0
0
0
0
0
0
0
5
-51
13
29
2
-72
72
0
0
0
0
0
0
0
0
0
0
0
60
-25
2
-8
-48
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-4
0
0
0
0
0
0
0
0
0
0
-1
13
-34
65
0
0
0
31
0
0
0
0
0
0
0
-1
-19
-21
-24
42
86
0
0
0
66
0
0
0
0
0
0
0
0
-32
6
22
-47
-58
-41
-51
11
13
0
0
0
0
0
0
0
7
87
-61
-14
60
105
112
27
3
-3
0
0
0
0
0
0
0
-1
-3
9
-5
-36
31
5
67
5
20
0
0
0
0
0
0
0
-8
0
12
29
1
8
-39
-24
-38
15
0
0
0
0
0
0
0
0
0
0
-25
27
2
-9
45
-19
26
0
0
0
0
0
0
0
0
0
0
1
-3
33
-24
5
46
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-102
7
0
0
0
8
-7
0
0
0
0
0
0
0
9
52
-76
70
-88
0
0
0
29
44
0
0
0
0
0
0
-2
24
-1
30
2
-12
74
-16
-43
47
5
0
0
0
0
0
0
0
-31
-8
-42
-57
-21
19
-52
6
30
-5
0
0
0
0
0
0
0
-4
-25
42
29
-15
-5
-104
3
22
-8
0
0
0
0
0
0
0
7
9
-2
-1
33
4
13
-23
95
-78
0
0
0
0
0
0
0
0
0
-7
26
-29
-14
12
75
6
0
0
0
0
0
0
0
0
0
0
5
-1
0
8
9
-68
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
5
4
0
0
0
0
0
0
1
5
0
0
0
29
0
0
0
79
-25
1
0
0
0
0
0
0
-2
-24
4
-24
54
0
0
0
-29
47
2
0
0
0
0
0
-1
-2
0
-24
-2
-74
-17
-2
-87
20
-3
5
0
0
0
0
0
0
5
1
-2
24
17
5
-154
-26
-23
-13
3
0
0
0
0
0
0
-4
0
-29
-13
31
50
-30
-3
-67
-19
5
0
0
0
0
0
0
0
0
-9
1
43
75
74
-91
-14
5
0
0
0
0
0
0
0
0
0
8
7
-34
-6
49
30
24
8
0
0
0
0
0
0
0
0
0
-2
0
-1
6
27
-94
3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-19
41
0
0
-5
0
0
0
41
2
1
-1
0
0
0
0
0
-12
-60
6
-5
-57
0
0
0
-78
-56
-35
2
0
0
0
0
0
-7
-59
21
-32
-3
-48
9
-4
42
33
1
0
0
0
0
0
0
1
14
25
-98
-46
9
-35
17
-28
-31
-7
-3
0
0
0
0
0
0
3
-3
18
16
-1
21
-21
50
-10
-10
-6
0
0
0
0
0
0
4
-2
6
-43
19
-53
-22
-90
30
-3
0
0
0
0
0
0
0
0
5
24
30
5
-41
-3
10
9
3
0
0
0
0
0
0
0
0
0
-1
0
-3
-12
0
-12
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
-5
-41
0
0
0
0
0
8
-13
-1
2
0
0
0
0
0
-5
-3
-7
-43
15
0
0
0
102
-17
-3
-6
0
0
0
0
0
0
32
68
2
27
68
-5
44
20
56
13
1
0
0
0
0
0
0
-8
-5
24
50
42
4
-33
6
-24
-3
1
0
0
0
0
0
0
1
-6
31
6
-43
27
-13
-50
71
-7
9
0
0
0
0
0
0
0
6
8
70
-49
43
13
-41
-32
10
0
0
0
0
0
0
0
0
0
-16
-17
-18
8
-7
-57
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
1
-31
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
7
0
0
0
0
20
8
-5
-7
0
0
0
0
0
-3
0
-5
7
24
0
0
0
-9
-27
0
10
0
0
0
0
0
0
-6
-1
-5
0
-5
12
-11
-14
-17
20
3
0
0
0
0
0
0
0
-13
-8
-20
-27
-81
8
38
20
-12
3
0
0
0
0
0
0
0
-1
3
12
8
-41
-23
15
13
6
-6
4
0
0
0
0
0
0
-5
-8
3
1
30
16
-3
3
-5
1
0
0
0
0
0
0
0
0
0
-3
0
-2
-8
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
0
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
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
5
-11
3
0
0
0
0
0
0
0
2
0
12
0
0
-8
-13
3
16
1
1
0
0
0
0
0
0
0
2
1
33
9
-41
-35
-4
-2
6
5
0
0
0
0
0
0
0
-2
0
-3
-18
-2
-12
6
-7
-3
4
-1
0
0
0
0
0
0
0
-2
1
-13
-8
17
-2
2
-8
-3
1
0
0
0
0
0
0
0
0
0
0
-1
2
-9
1
-8
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
8
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
-2
6
-8
15
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
1
3
-6
4
1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-25
59
61
16
0
0
0
0
0
0
0
0
0
0
0
43
-38
-11
77
-8
41
0
0
0
0
0
0
0
0
0
0
0
12
22
5
71
-44
-58
-47
-62
0
0
0
0
0
0
0
0
0
1
4
-49
-5
14
-14
28
3
0
0
0
0
0
0
0
0
0
-8
3
-3
1
22
83
7
58
0
0
0
0
0
0
0
0
0
0
0
27
-1
-50
21
31
112
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
0
0
0
0
0
0
0
0
0
-8
-31
41
49
-33
-29
0
0
0
0
0
0
0
0
0
0
0
-21
-6
-7
-13
-56
1
0
0
0
0
0
0
0
0
0
0
0
0
64
74
-41
-12
-25
-39
-21
-11
0
0
0
0
0
0
0
0
0
19
55
-27
14
10
-77
16
-14
0
0
0
0
0
0
0
0
-1
14
-4
57
22
-9
-18
43
-8
0
0
0
0
0
0
0
0
6
-3
56
2
32
-6
-12
50
90
0
0
0
0
0
0
0
0
0
0
-1
18
6
-4
18
-42
71
0
0
0
0
0
0
0
0
0
-1
5
-7
-9
0
13
-50
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
0
1
20
24
-25
31
-13
0
0
0
-3
0
0
0
0
0
0
0
-6
-15
-13
-46
-58
33
0
0
0
-60
0
0
0
0
0
0
0
0
5
-17
66
82
51
70
-61
-162
4
0
0
0
0
0
0
0
0
4
-2
-13
18
60
16
125
-42
-13
0
0
0
0
0
0
0
2
-10
-12
32
-85
23
-26
-31
75
-39
0
0
0
0
0
0
0
0
9
6
10
-15
9
-14
-34
1
23
0
0
0
0
0
0
0
0
0
0
8
13
43
-37
8
-47
55
0
0
0
0
0
0
0
0
0
-1
-8
0
20
-5
41
-70
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-14
75
-5
25
0
0
0
-3
5
0
0
0
0
0
0
1
-8
-3
27
-25
-84
0
0
0
79
-49
0
0
0
0
0
0
0
-2
3
-18
-42
14
-14
-15
-62
-5
9
0
0
0
0
0
0
0
0
2
-6
-19
8
-66
41
-12
-40
3
0
0
0
0
0
0
0
-3
-1
32
-97
-2
-77
13
-75
-1
32
0
0
0
0
0
0
0
5
6
33
84
-29
-89
29
-35
34
-2
0
0
0
0
0
0
0
0
0
-10
13
29
2
0
-37
-47
5
0
0
0
0
0
0
0
0
0
2
-7
4
4
-18
-26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-44
-5
0
0
0
-13
-2
-1
0
0
0
0
0
0
17
17
-5
-18
-152
0
0
0
-1
49
1
0
0
0
0
0
0
5
0
1
-22
14
-16
38
-15
16
69
8
0
0
0
0
0
0
3
0
0
9
-4
10
40
19
-34
48
3
0
0
0
0
0
0
0
0
-22
-30
-76
33
86
-59
16
1
0
0
0
0
0
0
0
0
1
1
-1
15
90
93
39
-20
1
4
0
0
0
0
0
0
0
0
0
0
2
-23
-13
7
44
3
0
0
0
0
0
0
0
0
0
0
0
0
7
-18
-12
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
-1
5
-3
-4
-10
0
0
0
4
1
0
0
0
0
0
0
0
-6
7
8
24
25
0
0
0
-54
5
3
1
0
0
0
0
4
0
1
10
49
-14
-78
-63
-12
-46
28
-4
0
0
0
0
0
0
2
2
0
-15
37
16
113
64
23
-27
24
0
0
0
0
0
0
-13
2
1
-24
-2
0
23
-39
-19
-22
0
0
0
0
0
0
0
0
0
-6
-1
21
-90
-43
31
8
0
-3
0
0
0
0
0
0
0
0
0
-1
33
-72
-30
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
12
-5
-15
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
-1
1
0
0
0
9
-1
1
0
0
0
0
0
0
3
-5
-8
-10
0
0
0
0
-13
9
0
0
0
0
0
0
4
0
2
15
0
-1
-5
-25
-18
42
19
2
-1
0
0
0
0
0
6
-16
-13
9
-4
30
8
8
62
3
-5
6
-1
0
0
0
0
1
0
-13
34
-6
12
30
9
13
8
1
-2
0
0
0
0
0
2
0
5
-6
5
20
-49
25
15
0
0
0
0
0
0
0
0
0
0
0
3
7
-1
-12
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
2
2
0
0
0
-37
-1
8
0
0
0
0
0
0
0
-30
-4
-3
6
0
0
0
-5
19
-25
-1
0
0
0
0
0
0
2
14
0
0
-2
-2
-71
-49
9
-9
0
1
0
0
0
0
-3
8
-1
-4
0
2
13
53
41
-19
-12
0
-2
0
0
0
0
0
-3
-3
0
-56
31
-49
25
8
-24
0
0
0
0
0
0
0
0
0
0
60
13
28
0
-33
-4
-3
-4
-3
0
0
0
0
0
0
0
0
1
0
-8
31
24
0
-2
-2
0
0
0
0
0
0
0
0
0
1
-3
-7
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
-2
0
0
0
0
0
-2
-2
0
0
0
0
0
0
8
-2
14
1
-3
0
0
0
2
-1
-3
1
7
0
0
0
0
-8
2
0
0
3
2
0
-7
-4
-1
0
0
0
0
0
0
0
0
0
7
-9
0
-9
-13
4
-39
3
0
1
-2
0
0
0
0
0
0
19
-8
54
41
41
-1
-1
-8
0
5
1
0
0
0
0
0
0
0
-1
0
3
25
-93
1
0
-3
0
0
0
0
0
0
0
0
0
-3
5
-7
-12
-42
1
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-14
0
0
0
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
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
3
-4
-10
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
-3
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
15
3
4
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
0
-22
0
-3
0
3
0
0
0
0
0
0
0
0
0
1
-6
-2
6
-8
1
0
-3
3
0
0
0
0
0
0
0
0
0
0
-6
-1
13
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
34
-48
0
-31
42
0
0
0
0
0
0
0
0
0
0
0
-6
17
22
15
32
101
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-49
-40
-31
-56
69
31
0
0
0
0
0
0
0
0
0
1
0
30
-32
10
-104
34
90
0
0
0
0
0
0
0
0
0
0
28
-38
-13
42
10
47
45
0
0
0
0
0
0
0
0
0
0
0
-13
-49
-10
4
31
-9
0
0
0
0
0
0
0
0
0
0
0
0
12
-6
27
-9
20
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
6
0
0
0
0
0
0
0
0
0
20
11
-17
-10
20
47
0
0
0
0
0
0
0
0
0
0
0
33
4
-36
-12
-30
2
0
0
0
0
0
0
0
0
0
0
0
1
52
-60
1
-43
54
-2
-45
-11
0
0
0
0
0
0
0
0
0
20
28
-75
20
6
-31
57
3
0
0
0
0
0
0
0
0
0
0
-53
76
49
49
-29
31
66
0
0
0
0
0
0
0
0
0
-17
-13
-10
-77
56
-41
-36
-15
0
0
0
0
0
0
0
0
6
-8
3
6
-19
50
70
83
-4
0
0
0
0
0
0
0
0
0
0
0
4
0
-23
-86
31
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
0
0
4
-10
55
-38
-14
6
0
0
0
-5
0
0
0
0
0
0
0
17
88
93
31
64
-62
0
0
0
15
0
0
0
0
0
0
0
0
-8
41
-26
-49
53
25
56
54
-71
0
0
0
0
0
0
0
0
0
1
-5
-43
-13
-10
66
130
-49
0
0
0
0
0
0
0
0
0
-2
17
23
50
-31
1
57
-24
0
0
0
0
0
0
0
0
1
-45
-2
-59
49
-10
80
88
52
0
0
0
0
0
0
0
3
0
3
12
46
63
-16
-41
40
-16
0
0
0
0
0
0
0
0
0
-14
9
-12
5
15
13
-99
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
10
-12
-6
-31
-15
-3
0
0
0
-41
1
0
0
0
0
0
0
0
-10
-41
36
17
15
0
0
0
-54
-13
0
0
0
0
0
0
0
-1
7
6
18
-8
47
21
-30
-17
-3
0
0
0
0
0
0
0
0
0
-1
47
22
45
40
5
27
5
0
0
0
0
0
0
1
0
0
16
111
0
3
52
-36
-44
-7
0
0
0
0
0
0
0
2
-9
25
-10
24
-56
-18
-47
4
4
0
0
0
0
0
0
0
0
0
22
-6
5
-47
-10
0
13
5
0
0
0
0
0
0
0
0
0
-4
0
-3
39
-48
41
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
8
31
-5
8
-24
0
0
0
-13
0
0
0
0
0
0
0
0
-3
-4
-13
-75
-20
0
0
0
-13
-9
0
0
0
0
0
0
0
-46
0
-15
8
-5
106
-5
-51
21
-9
-3
0
0
0
0
0
0
8
1
0
-3
47
19
-20
-5
43
1
0
0
0
0
0
0
5
-1
0
-7
16
51
-51
121
7
5
8
0
0
0
0
0
0
0
0
5
3
21
-6
73
28
-32
-26
0
0
0
0
0
0
0
0
0
0
6
13
-47
-13
84
-52
-22
4
0
0
0
0
0
0
0
0
0
1
0
-13
-5
-15
-51
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
30
10
1
39
0
0
0
-16
6
-1
0
0
0
0
0
0
-6
-2
-13
7
-27
0
0
0
-42
51
0
0
0
0
0
0
0
0
-20
6
-2
0
-32
-20
-29
0
-12
0
0
0
0
0
0
0
0
-1
8
0
-32
-7
-28
22
-92
0
-3
0
0
0
0
0
0
-5
0
3
0
-1
53
-70
-1
45
-18
0
0
0
0
0
0
0
0
0
-8
-8
49
-5
-35
20
16
2
0
0
0
0
0
0
0
0
-6
0
2
5
13
0
40
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
5
10
-17
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
17
3
5
0
0
0
0
0
0
0
0
0
0
0
0
4
29
-1
-5
8
0
0
0
-8
-2
6
-1
0
0
0
0
0
2
3
-30
0
-3
-2
50
-9
7
23
-1
-1
0
0
0
0
0
0
9
0
1
0
-5
-27
-33
5
-5
-2
1
0
0
0
0
0
0
0
24
-3
2
-7
21
-30
31
-9
-1
-2
0
0
0
0
0
0
0
-3
-60
2
-23
8
7
4
0
0
0
0
0
0
0
0
0
0
0
3
5
31
-16
-6
5
2
0
0
0
0
0
0
0
0
0
0
0
0
14
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-8
18
0
0
6
0
0
0
0
-3
0
0
0
0
0
0
0
1
-4
6
3
-17
0
0
0
57
2
-3
-4
0
0
0
0
-1
2
-12
2
-5
0
3
-3
34
-2
32
0
-2
0
0
0
0
0
-13
-1
2
0
14
0
2
-25
41
1
4
-8
4
0
0
0
0
0
1
-8
2
-2
0
3
5
6
8
4
-2
-3
0
0
0
0
-3
0
17
1
-19
-12
-42
-9
2
0
-3
0
0
0
0
0
0
0
0
0
-10
10
-4
29
-8
5
1
0
0
0
0
0
0
0
0
0
0
0
0
12
-10
-5
0
0
0
0
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
0
1
0
0
0
2
0
0
0
0
0
0
0
0
5
17
-5
-1
-7
0
0
0
13
4
0
0
0
0
0
0
0
1
-1
20
-2
0
0
0
0
0
2
0
-1
1
0
0
0
0
0
-7
-5
4
3
0
0
2
-2
0
0
0
0
0
0
0
-1
0
0
-5
-10
-42
-3
-2
0
-2
-1
0
4
2
0
0
0
0
2
-1
-4
-10
-1
-5
-2
12
3
1
0
0
0
0
0
0
0
0
5
-9
-1
8
-24
-24
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-1
-51
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
4
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-6
6
5
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
6
-31
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
9
12
-9
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-21
13
-18
34
108
0
0
0
0
0
0
0
0
0
0
-2
31
19
18
-32
-74
-67
0
0
0
0
0
0
0
0
0
0
0
41
4
-41
-7
-26
49
30
-83
0
0
0
0
0
0
0
0
0
2
-41
-16
-34
17
13
43
-3
0
0
0
0
0
0
0
0
0
0
-13
46
18
35
111
24
-63
0
0
0
0
0
0
0
0
0
0
0
-7
-31
16
40
-42
-1
0
0
0
0
0
0
0
0
0
0
0
1
19
8
-1
20
91
0
0
0
0
0
0
0
0
0
0
-2
0
-1
2
25
-5
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
79
0
0
0
0
0
0
0
0
0
-14
14
-29
-30
-1
-91
0
0
0
0
0
0
0
0
0
0
0
-15
-7
4
-10
-20
7
0
0
0
0
0
0
0
0
0
0
0
17
-63
-53
74
18
50
-21
-19
48
0
0
0
0
0
0
0
0
0
0
17
-5
49
32
18
-189
58
0
0
0
0
0
0
0
0
0
8
-18
-59
23
-19
-96
-70
-36
0
0
0
0
0
0
0
0
0
-4
32
70
-49
-29
43
55
23
0
0
0
0
0
0
0
0
-6
7
2
-12
-94
61
-28
-89
78
0
0
0
0
0
0
0
0
0
-1
-10
-25
5
-13
71
83
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
6
57
-10
0
0
0
0
0
0
0
0
6
2
64
-8
31
43
0
0
0
-13
0
0
0
0
0
0
0
-8
-23
31
-20
-6
-13
0
0
0
-79
0
0
0
0
0
0
0
-3
-3
-23
2
52
-26
76
8
-66
-13
0
0
0
0
0
0
0
0
0
-7
-26
-100
-103
4
61
-3
31
0
0
0
0
0
0
0
0
0
0
16
40
21
15
45
67
-33
0
0
0
0
0
0
0
0
0
0
-30
-27
42
-53
-6
3
-39
0
0
0
0
0
0
0
16
-5
3
2
-13
7
49
69
19
21
0
0
0
0
0
0
0
0
0
0
-5
10
-12
-24
34
5
28
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
-13
-7
0
0
0
0
0
0
0
0
1
-6
-5
13
-57
67
0
0
0
-30
0
0
0
0
0
0
0
-2
-5
68
20
-46
-83
0
0
0
4
4
0
0
0
0
0
0
-1
-12
32
-83
60
-27
-62
84
-41
-68
-1
0
0
0
0
0
0
3
0
0
-2
17
55
-19
-1
28
71
0
0
0
0
0
0
0
-4
0
0
0
21
22
-59
2
12
-31
0
0
0
0
0
0
0
0
0
0
-3
-2
-67
-12
-4
23
12
1
0
0
0
0
0
0
0
5
0
-5
9
40
-31
64
-2
-24
-2
0
0
0
0
0
0
0
0
0
2
-3
-5
-59
31
34
-12
-8
0
0
0
0
0
0
0
0
0
0
0
6
-1
-7
1
4
0
0
0
0
0
0
0
0
-2
-25
-37
17
45
0
0
0
-32
-22
0
0
0
0
0
0
0
-1
13
39
-57
-9
0
0
0
-68
-13
-1
0
0
0
0
0
0
0
13
-14
-7
-43
-55
58
3
1
13
0
0
0
0
0
0
0
8
0
-3
14
9
-65
-56
-5
-10
0
-4
0
0
0
0
0
2
0
0
0
-1
-49
-19
-52
14
12
0
2
0
0
0
0
0
0
1
0
0
0
-43
-17
-10
28
19
-1
0
0
0
0
0
0
0
0
-3
-1
-15
-10
23
32
13
9
-1
0
0
0
0
0
0
0
0
0
0
6
-5
-1
-49
-37
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
2
-14
1
-3
0
0
0
5
-18
0
0
0
0
0
0
0
2
3
10
-12
-10
0
0
0
-21
13
0
0
0
0
0
0
4
-3
-12
21
-12
-5
-29
1
-92
-10
8
0
0
0
0
0
0
3
0
13
0
1
0
0
16
-31
-13
0
3
-1
0
0
0
0
0
0
3
-2
0
1
-33
31
-2
-40
0
0
0
0
0
0
0
0
0
0
0
0
-1
53
31
23
-4
5
0
0
0
0
0
0
0
0
0
-7
-13
-9
0
-27
-5
8
1
0
0
0
0
0
0
0
0
0
0
0
5
-17
0
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
2
0
0
0
0
0
0
0
0
4
-5
16
0
31
0
0
0
-24
0
0
-9
0
0
0
0
0
-1
-32
0
1
9
23
-49
-6
-1
-3
0
0
0
0
0
0
0
-1
39
0
0
0
2
46
3
-6
0
1
0
0
0
0
0
0
0
-6
-5
10
0
-8
16
-2
0
-3
1
0
0
0
0
0
0
0
2
-6
0
-2
0
-30
-6
2
-3
0
0
0
0
0
0
0
0
2
0
25
-4
4
1
21
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-5
4
3
30
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
0
0
0
-4
-2
0
-4
-3
0
0
0
0
-1
0
0
0
0
0
0
1
-8
-16
0
-3
25
0
0
0
-5
0
0
1
-1
0
0
0
0
-3
-68
25
4
0
-21
20
-3
-1
1
1
0
0
0
0
0
0
0
19
6
-50
0
0
-5
13
-8
0
0
-1
-1
0
0
0
0
0
0
10
-2
0
0
0
-25
1
0
-2
0
0
0
0
0
0
0
-2
-5
-43
0
-2
-2
-59
-1
8
10
0
0
0
0
0
0
0
0
0
0
-8
-4
5
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-4
-8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
-5
0
-1
0
0
0
15
0
0
0
0
0
0
0
0
-1
5
-7
1
4
-7
-7
58
2
-1
0
0
0
0
0
0
0
0
-1
49
2
17
0
0
0
2
0
1
0
0
0
0
0
0
0
0
-16
-9
-1
-4
0
0
4
6
0
-1
0
0
0
0
0
0
0
-4
3
21
0
-1
0
1
3
0
0
0
0
0
0
0
0
3
0
-5
2
-23
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
1
0
0
0
-1
0
0
0
0
0
0
0
0
2
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-8
-3
0
2
-1
16
0
0
0
0
0
0
0
0
0
-9
8
0
-2
-7
15
-2
1
0
0
0
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
9
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
10
0
0
-8
-8
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
14
15
14
-13
0
0
0
0
0
0
0
0
0
0
2
-45
-3
48
-13
14
-13
0
0
0
0
0
0
0
0
0
0
0
26
15
-47
-11
-27
14
-20
11
0
0
0
0
0
0
0
0
0
-14
-16
-2
16
-49
-28
-26
74
0
0
0
0
0
0
0
0
0
0
-8
46
9
-62
-21
77
-49
0
0
0
0
0
0
0
0
0
0
0
-6
3
18
56
10
24
0
0
0
0
0
0
0
0
0
0
0
-1
-6
80
-13
6
-5
0
0
0
0
0
0
0
0
0
0
0
-10
5
-14
17
72
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
13
-45
0
0
0
0
0
0
0
0
0
6
-29
-19
-50
14
-42
0
0
0
0
0
0
0
0
0
0
0
46
-42
-26
1
-125
38
0
0
0
0
0
0
0
0
0
0
0
1
-49
-38
-24
-58
-8
-24
-89
9
0
0
0
0
0
0
0
0
4
-4
1
-12
26
-125
-50
12
-100
0
0
0
0
0
0
0
0
0
0
31
-39
84
1
67
41
-31
0
0
0
0
0
0
0
0
0
0
9
68
21
-5
-14
-54
21
0
0
0
0
0
0
0
0
0
0
-10
8
-42
-7
26
-67
-33
0
0
0
0
0
0
0
0
0
1
-1
8
-48
53
-21
31
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
-8
-42
0
0
0
0
0
0
0
0
-12
-3
-20
-43
35
-12
0
0
0
-12
0
0
0
0
0
0
0
-15
-2
48
58
-38
-28
0
0
0
101
0
0
0
0
0
0
0
9
21
-37
-34
-35
28
3
125
6
6
0
0
0
0
0
0
0
-8
0
21
34
5
-30
-15
-48
-31
24
0
0
0
0
0
0
0
0
1
3
53
-13
43
2
-56
-36
14
0
0
0
0
0
0
0
0
0
0
13
-5
27
23
76
50
-1
0
0
0
0
0
0
0
0
0
0
-1
-46
-9
-103
-77
30
-5
0
0
0
0
0
0
0
0
0
10
7
-14
42
-49
-69
-34
34
0
0
0
0
0
0
0
0
0
0
-4
0
-16
-41
-4
-8
0
0
0
0
0
0
0
0
0
-2
-9
46
-19
-13
0
0
0
21
-19
0
0
0
0
0
0
1
-6
-89
-17
41
14
0
0
0
86
-22
0
0
0
0
0
0
-1
-18
5
-17
-123
-46
-51
-62
42
-31
-25
0
0
0
0
0
0
0
-10
-37
7
41
-38
-61
44
-40
0
3
0
0
0
0
0
0
-1
0
-3
0
19
-17
-74
45
2
-9
-5
0
0
0
0
0
0
0
0
0
0
21
44
19
12
31
22
1
0
0
0
0
0
0
0
0
0
2
12
58
14
-10
-33
-3
0
0
0
0
0
0
0
0
0
1
-2
-3
46
5
-25
27
-33
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
10
8
0
0
0
0
0
0
0
0
-3
4
0
6
0
0
0
0
4
0
0
0
0
0
0
0
0
15
-4
34
7
54
0
0
0
-26
-24
0
0
0
0
0
0
2
24
3
-49
51
-57
12
-109
32
23
-1
-6
0
0
0
0
0
2
4
-20
-14
5
-10
-52
-21
-12
4
1
0
0
0
0
0
0
0
2
0
0
2
-67
0
5
53
-13
-6
0
0
0
0
0
0
0
0
0
0
-1
49
44
-90
66
-7
0
0
0
0
0
0
0
0
0
0
0
2
14
54
-116
-13
-21
-5
0
0
0
0
0
0
0
0
0
-1
0
9
-3
-3
122
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
9
14
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-4
-34
42
24
10
0
0
0
-20
-1
0
0
0
0
0
0
0
-8
2
-2
-49
41
2
-2
-52
0
-1
-1
0
0
0
0
0
0
-2
-2
44
-24
2
18
4
-28
4
8
-3
-1
0
0
0
0
2
0
-14
0
0
2
5
-1
-23
4
3
0
0
0
0
0
0
0
0
0
0
0
3
-33
-13
23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-7
-42
-1
4
0
0
0
0
0
0
0
0
0
2
0
0
0
19
23
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
-23
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
-24
-10
5
0
0
0
-4
-1
0
0
0
0
0
0
0
0
-8
0
-35
-1
16
-22
-2
0
0
0
0
0
0
0
0
0
0
-4
1
42
31
-1
2
13
2
-1
0
0
0
0
0
0
3
-1
-8
16
0
0
-3
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
21
-13
-2
3
0
0
0
0
0
0
0
0
2
0
0
0
14
-48
-6
0
0
0
0
0
0
0
0
0
3
0
0
0
-25
-1
8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
4
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
-1
-1
0
0
0
0
0
0
0
2
0
-8
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
10
0
-1
-8
6
12
8
0
0
0
0
0
0
0
0
0
0
1
49
4
-52
-6
-28
-2
1
0
-3
0
0
0
0
0
2
0
-4
-3
-10
0
4
0
0
6
0
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
5
-2
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-6
-10
0
0
0
2
0
0
0
0
0
0
0
0
8
4
-4
0
-23
14
9
2
0
0
0
0
0
0
0
0
0
0
0
-16
43
6
35
8
-8
0
0
0
0
0
0
0
0
0
0
-2
-25
24
33
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
-1
0
0
1
-6
8
-6
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
3
-6
2
-2
0
0
0
0
0
0
0
0
0
3
0
-1
-33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-12
-6
-27
-5
0
0
0
0
0
0
0
0
0
0
-4
-43
-6
20
43
19
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-30
5
1
24
-4
75
13
0
0
0
0
0
0
0
0
0
-12
-66
-43
-22
-29
-64
19
-5
0
0
0
0
0
0
0
0
0
0
9
35
72
24
8
-52
14
0
0
0
0
0
0
0
0
0
0
1
45
7
17
16
-41
-20
0
0
0
0
0
0
0
0
0
0
4
0
-25
12
-16
-31
12
0
0
0
0
0
0
0
0
0
0
0
-12
0
8
-25
-6
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
44
0
0
0
0
0
0
0
0
0
-1
35
-115
-41
8
4
0
0
0
0
0
0
0
0
0
0
0
-5
46
10
-128
-19
59
0
0
0
0
0
0
0
0
0
0
0
-16
-45
-47
-83
-32
52
-15
-42
13
0
0
0
0
0
0
0
0
7
-32
1
20
-76
70
-42
-24
-58
0
0
0
0
0
0
0
0
0
-13
-12
-15
-7
13
-102
-77
43
0
0
0
0
0
0
0
0
0
0
49
94
14
57
-22
-82
7
0
0
0
0
0
0
0
0
0
0
3
3
-126
-9
-16
54
22
0
0
0
0
0
0
0
0
0
0
0
-8
42
-34
1
-38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
25
-12
0
0
0
0
0
0
0
0
-2
-10
9
46
-47
-7
0
0
0
75
0
0
0
0
0
0
0
9
44
13
-46
2
-2
0
0
0
30
0
0
0
0
0
0
0
-5
13
27
-14
74
-50
-10
20
-18
42
0
0
0
0
0
0
0
-5
39
-53
-66
29
-36
-16
85
11
-23
0
0
0
0
0
0
0
-16
31
-54
41
-44
69
-43
93
48
13
0
0
0
0
0
0
0
0
0
-5
37
47
-62
-5
-27
-24
-27
0
0
0
0
0
0
0
0
0
0
6
6
69
44
53
19
24
0
0
0
0
0
0
0
0
0
0
-8
-30
1
-21
77
-10
-43
0
0
0
0
0
0
0
0
0
3
-3
0
22
6
-24
46
3
0
0
0
0
0
0
0
0
-1
-16
-37
14
-41
0
0
0
-18
-49
0
0
0
0
0
0
-4
-2
-23
1
-5
27
0
0
0
-34
-58
0
0
0
0
0
0
-3
1
-15
32
-45
7
46
-23
-12
13
-5
0
0
0
0
0
0
-1
-2
-3
8
-17
-22
49
22
-54
1
-2
0
0
0
0
0
0
4
-12
13
-49
-7
52
-22
-5
-45
32
0
0
0
0
0
0
0
0
0
2
0
-1
28
94
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
7
-25
66
37
-141
18
15
0
0
0
0
0
0
0
0
0
0
0
18
31
8
28
8
-7
0
0
0
0
0
0
0
0
0
0
0
3
20
-14
52
8
0
0
0
0
0
0
0
0
0
0
-2
5
-1
0
0
0
-5
0
0
0
0
0
0
0
0
7
43
17
-23
-49
0
0
0
-13
18
0
0
0
0
0
0
0
-1
-2
19
17
-5
31
19
-49
10
0
0
0
0
0
0
0
0
-4
12
35
18
-15
-1
52
-55
0
0
0
0
0
0
0
0
1
-1
7
-4
-1
3
42
-25
-42
2
0
0
0
0
0
0
0
0
0
0
0
0
22
-13
14
-5
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
20
49
20
0
0
0
0
0
0
0
0
0
0
0
0
37
-5
4
-47
13
-3
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-5
0
0
0
0
0
0
0
0
1
0
-5
-2
-2
0
0
0
-1
0
0
0
0
0
0
0
3
0
-19
9
-8
-2
0
0
0
41
1
0
0
0
0
0
0
0
0
-3
-5
3
45
-25
8
-13
-2
-1
-1
0
0
0
0
0
0
-1
24
27
-12
-23
-106
7
-3
15
-1
0
0
0
0
0
0
0
-6
0
7
-33
-80
-14
25
-33
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
19
-1
69
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
18
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
15
-1
-15
0
7
0
0
0
0
0
0
0
0
0
0
6
-3
-12
21
25
3
-5
-1
0
0
0
0
0
0
0
0
8
14
5
-25
8
-5
8
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
5
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
1
3
0
0
0
0
0
0
0
0
-1
-5
0
-14
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
2
2
0
2
21
2
0
0
3
0
0
0
0
0
0
0
7
-4
-13
13
16
27
0
6
1
2
0
0
0
0
0
0
5
-5
-1
0
15
-27
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
5
0
-9
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
-8
-3
-10
-7
0
0
0
0
0
0
0
0
0
0
0
-6
1
4
16
4
-17
1
0
0
0
0
0
0
0
0
0
0
8
12
-3
9
-8
-32
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
5
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-10
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-15
-17
9
-33
0
0
0
0
0
0
0
0
0
0
-1
-2
-49
-37
70
-19
-41
-80
57
0
0
0
0
0
0
0
0
0
-12
-27
-23
-53
10
-54
-9
5
0
0
0
0
0
0
0
0
0
6
-24
20
-58
12
-41
-15
13
0
0
0
0
0
0
0
0
0
-6
3
-1
8
13
-76
66
29
0
0
0
0
0
0
0
0
0
0
-7
1
8
-22
13
3
55
0
0
0
0
0
0
0
0
0
0
2
-5
16
8
5
64
20
0
0
0
0
0
0
0
0
0
0
-9
0
0
2
5
23
30
0
0
0
0
0
0
0
0
0
0
-77
-66
-25
-6
55
0
0
0
0
0
0
0
0
0
0
0
-24
-14
-17
23
-5
-70
0
0
0
0
0
0
0
0
0
0
0
-2
-35
-31
67
-42
-50
-62
-40
-21
0
0
0
0
0
0
0
0
-8
-41
-13
-8
-4
42
-2
18
-25
0
0
0
0
0
0
0
0
0
-55
-1
19
-31
-47
-81
2
-9
0
0
0
0
0
0
0
0
1
-7
-15
-14
26
-7
90
-31
-11
0
0
0
0
0
0
0
0
0
0
5
31
111
26
-46
-3
1
0
0
0
0
0
0
0
0
0
0
1
-25
26
6
20
-3
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
-64
-29
0
0
0
0
0
0
0
0
0
0
0
19
0
3
0
0
0
-13
0
0
0
0
0
0
0
-13
-2
-8
9
-33
16
0
0
0
-9
0
0
0
0
0
0
0
-1
3
-1
-49
32
29
-1
55
-13
-28
0
0
0
0
0
0
0
0
-8
-6
-6
-4
63
-54
13
-17
39
0
0
0
0
0
0
0
-4
-9
-59
2
-42
-26
92
13
28
-12
0
0
0
0
0
0
0
1
3
-35
-27
13
1
15
20
59
26
0
0
0
0
0
0
0
0
0
0
23
41
26
4
1
-45
16
0
0
0
0
0
0
0
0
0
0
0
33
4
18
42
-30
32
0
0
0
0
0
0
0
0
0
0
0
0
-19
7
72
10
2
0
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
1
-2
0
0
0
0
0
0
-3
-2
-8
24
-2
-2
0
0
0
-20
-33
0
0
0
0
0
0
-1
4
42
-15
-31
71
31
-46
23
-20
-6
0
0
0
0
0
0
1
-4
-8
10
-37
-13
-67
66
-17
4
3
0
0
0
0
0
0
0
0
42
15
-20
-20
60
-21
-24
29
0
0
0
0
0
0
0
0
-2
-1
-17
24
9
12
31
25
-5
0
0
0
0
0
0
0
0
0
0
0
16
-10
-68
-47
-71
1
0
0
0
0
0
0
0
0
0
0
0
0
22
8
57
24
-41
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
8
6
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
-5
-2
0
0
0
0
0
0
0
2
2
-2
8
-8
0
-6
17
3
0
0
0
0
0
0
0
0
-1
12
-16
-8
-2
-27
14
13
2
0
0
0
0
0
0
0
0
0
-2
13
-50
5
9
3
34
-7
0
0
0
0
0
0
0
0
0
0
0
14
-39
52
-3
-66
3
0
0
0
0
0
0
0
0
0
0
0
0
-31
-4
-3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
0
2
20
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
3
0
0
7
0
0
0
3
1
0
0
0
0
0
0
0
0
2
8
0
0
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
-15
25
6
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
8
8
9
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
14
1
-4
-57
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
-13
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
7
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
-39
-6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
1
0
3
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-8
-49
-10
-2
28
0
0
0
0
0
0
0
0
0
0
0
0
-12
6
19
-13
-1
-6
32
0
0
0
0
0
0
0
0
2
-9
-66
20
-84
-96
76
19
33
0
0
0
0
0
0
0
0
5
-1
4
-31
-6
61
-4
-41
-2
0
0
0
0
0
0
0
0
0
-4
14
34
-43
74
47
-43
18
0
0
0
0
0
0
0
0
0
0
0
4
18
2
8
-1
-18
0
0
0
0
0
0
0
0
0
0
0
6
5
5
15
-35
62
0
0
0
0
0
0
0
0
0
0
4
0
0
0
27
-12
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
-23
-7
24
-13
20
-61
0
0
0
0
0
0
0
0
-3
-5
0
-52
10
-24
7
-32
-52
0
0
0
0
0
0
0
0
-4
-3
8
-23
-28
49
-77
-13
-3
0
0
0
0
0
0
0
0
0
-4
4
-49
-25
-102
50
-34
17
0
0
0
0
0
0
0
0
0
0
-12
1
23
9
-17
19
13
0
0
0
0
0
0
0
0
0
0
0
3
34
6
-8
-17
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
33
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
4
0
-3
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
-6
-5
1
-13
13
-1
-2
0
0
0
0
0
0
0
0
-3
-2
-10
14
53
-1
3
-27
14
0
0
0
0
0
0
0
0
0
0
9
-33
25
-59
1
-81
0
0
0
0
0
0
0
0
0
1
0
-2
4
13
-1
-14
1
0
0
0
0
0
0
0
0
0
0
1
0
-7
8
0
17
6
4
0
0
0
0
0
0
0
0
0
0
0
-3
7
0
8
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
8
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
-1
-6
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
-6
4
-2
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
-1
4
-6
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
12
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-2
3
9
0
3
0
0
0
0
0
0
0
0
0
21
1
-31
-1
27
10
-5
0
0
0
0
0
0
0
0
0
0
6
-10
27
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-5
-8
0
-41
-7
-2
0
0
0
0
0
0
0
0
0
25
14
-24
11
-47
-34
-30
0
0
0
0
0
0
0
0
0
0
0
-9
-22
-28
-45
15
8
30
0
0
0
0
0
0
0
0
0
0
27
5
64
7
9
-4
-20
5
0
0
0
0
0
0
0
0
0
17
-3
14
-3
-1
-13
0
0
1
0
0
0
0
0
0
0
0
-49
-23
-2
-9
-3
0
0
-1
0
0
0
0
0
0
0
0
0
8
-8
-24
0
0
-1
13
0
0
0
0
0
0
0
0
0
0
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
-2
18
13
4
3
0
0
0
0
0
0
0
0
0
2
-6
51
-18
45
-3
-17
7
0
1
0
0
0
0
0
0
0
1
-17
-2
-41
76
39
-18
-5
0
0
0
0
0
0
0
0
0
1
5
-5
-8
32
-6
18
0
0
0
0
0
0
0
0
0
0
0
-2
-1
46
-8
-19
-17
0
-2
0
0
0
0
0
0
0
0
0
-4
-8
-7
1
-8
2
-2
-1
0
0
0
0
0
0
0
0
0
-3
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
7
0
-37
11
-35
-2
0
0
0
0
0
0
0
0
0
0
-14
29
-15
-25
-89
81
18
1
0
0
0
0
0
0
0
0
2
-1
12
-3
53
-27
2
-2
0
0
0
0
0
0
0
0
0
0
6
34
17
-25
-1
5
1
0
0
0
0
0
0
0
0
0
0
2
33
5
-3
-24
14
-1
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
-2
19
-1
0
0
0
0
0
0
0
0
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
-26
1
0
0
0
0
0
0
0
0
0
-12
5
17
17
-13
16
39
6
1
0
0
0
0
0
0
0
0
0
-15
0
-8
4
13
35
19
0
0
0
0
0
0
0
0
0
-5
0
-13
15
18
-1
1
0
4
-1
0
0
0
0
0
0
0
0
-1
4
0
4
-1
0
3
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
49
0
0
-25
-2
0
-1
0
0
0
0
0
0
0
-16
19
8
65
4
44
-16
-28
-5
0
0
0
0
0
0
0
0
0
-9
16
-6
15
-25
57
-14
2
1
0
0
0
0
0
0
0
0
0
1
-3
-2
6
-1
-2
-5
0
0
0
0
0
0
0
0
0
1
1
-7
6
0
1
-2
1
0
0
0
0
0
0
0
0
0
2
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
-1
0
6
0
0
0
0
0
0
0
0
0
2
-41
20
47
59
1
49
-1
22
-3
0
0
0
0
0
0
0
4
-4
-23
4
0
13
24
4
-1
-1
0
0
0
0
0
0
0
0
13
-13
-1
-16
6
-25
2
0
9
0
0
0
0
0
0
0
0
-2
0
10
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
2
7
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
0
0
2
1
-29
-29
-23
-1
3
2
5
-4
0
0
0
0
0
0
0
0
-1
8
-8
6
5
30
12
18
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
-3
6
0
0
0
0
0
0
0
0
0
0
-1
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
19
18
3
8
-2
-2
0
0
0
0
0
0
0
0
0
0
0
50
-14
8
-59
12
-8
0
0
0
0
0
0
0
0
0
0
-50
-27
-37
1
0
3
-2
0
0
0
0
0
0
0
0
0
0
-66
-14
18
5
-2
-5
-5
0
0
0
0
0
0
0
0
0
0
-1
12
-4
13
-9
-2
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
2
19
12
-17
-20
20
9
0
0
0
0
0
0
0
0
0
48
-58
34
43
61
65
41
86
20
2
0
0
0
0
0
0
0
4
37
24
-80
-70
-9
-18
9
-8
0
0
0
0
0
0
0
0
10
-43
-14
155
22
70
-8
-25
-30
0
0
0
0
0
0
0
0
8
111
-66
-2
92
-18
-4
8
8
-8
0
0
0
0
0
0
0
3
-31
30
67
2
-15
0
-8
-5
0
0
0
0
0
0
0
0
0
-10
37
53
-17
-1
-3
8
0
0
0
0
0
0
0
0
0
0
12
0
-19
0
0
1
1
0
0
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
5
14
-64
-13
-69
32
-9
0
0
0
0
0
0
0
0
0
-1
73
35
-19
127
57
18
-2
-4
0
0
0
0
0
0
0
0
-41
-49
-1
0
-8
10
48
-8
9
-1
0
0
0
0
0
0
0
3
-19
2
41
4
16
22
-7
19
-4
0
0
0
0
0
0
0
0
17
25
97
3
-4
48
13
-1
0
0
0
0
0
0
0
0
0
-6
15
9
-8
-15
-5
0
-2
0
0
0
0
0
0
0
0
0
1
35
-5
7
0
0
2
0
0
0
0
0
0
0
0
0
0
2
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
32
-23
5
49
10
-32
-50
0
1
0
0
0
0
0
0
0
0
-4
17
24
-19
-16
-57
-41
-4
0
1
0
0
0
0
0
0
-9
15
15
99
47
-22
23
5
-8
0
0
0
0
0
0
0
0
16
-32
0
-74
-29
-14
8
-8
-6
4
0
0
0
0
0
0
0
0
-13
-33
25
21
46
10
0
-1
0
0
0
0
0
0
0
0
-7
-12
1
-7
-5
-1
2
-3
-2
0
0
0
0
0
0
0
0
0
7
2
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
63
27
2
-17
16
66
0
1
0
0
0
0
0
0
0
-7
9
20
-14
-4
44
70
15
-3
0
0
0
0
0
0
0
0
20
2
12
20
48
-43
-35
21
-42
-1
0
0
0
0
0
0
0
-5
7
24
31
-32
15
33
0
-1
-1
0
0
0
0
0
0
0
23
13
-8
5
0
-7
-23
0
0
0
0
0
0
0
0
0
0
0
-9
-17
14
3
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
69
-22
41
8
-16
51
0
0
0
0
0
0
0
0
0
3
71
-4
32
-17
-25
60
33
35
-2
0
0
0
0
0
0
0
0
24
-44
-10
24
16
18
-52
-7
0
0
0
0
0
0
0
0
9
13
-8
21
-57
-42
20
-4
0
-2
0
0
0
0
0
0
0
3
9
7
25
-3
16
1
0
0
0
0
0
0
0
0
0
0
0
-8
-1
1
0
-5
1
6
0
0
0
0
0
0
0
0
0
0
3
-22
17
4
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-13
-4
57
-6
-19
25
0
1
0
0
0
0
0
0
0
0
23
38
13
35
23
21
13
-8
-2
3
0
0
0
0
0
0
7
-5
31
6
45
-59
6
-3
-1
-3
0
-1
0
0
0
0
0
-3
-9
24
-25
0
-14
-37
-4
-4
-1
2
0
0
0
0
0
0
-1
-14
34
-1
-8
-39
-17
0
1
0
1
-1
0
0
0
0
0
0
1
0
8
-10
20
-2
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
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
-1
-5
31
-5
0
-22
0
-2
-2
0
0
0
0
0
0
-2
3
6
13
42
-8
32
-2
37
-3
0
0
0
0
0
0
0
5
-8
-37
8
-42
10
-5
-5
7
0
0
0
0
0
0
0
0
2
0
13
19
17
-1
5
0
0
-2
0
0
0
0
0
0
0
0
-9
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
7
6
0
5
-5
0
0
0
0
0
0
0
0
0
0
4
-3
-6
16
-7
-3
-4
1
-1
0
0
0
0
0
0
0
0
0
-5
-7
-31
16
0
8
0
3
0
0
0
0
0
0
0
-1
0
-1
-1
5
8
-7
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-5
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
5
-84
-13
0
9
0
0
0
0
0
0
0
0
0
0
0
-54
23
93
7
-34
55
-35
-7
0
0
0
0
0
0
0
0
0
-2
-13
-7
1
0
-5
2
0
0
0
0
0
0
0
0
0
0
-2
-1
18
-2
33
-7
2
0
0
0
0
0
0
0
0
0
0
10
21
-5
1
2
-1
8
0
0
0
0
0
0
0
0
0
0
5
-8
13
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
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
-31
94
-25
-56
-1
67
27
48
0
0
0
0
0
0
0
0
0
5
43
-17
-44
-78
59
-8
-45
-45
0
0
0
0
0
0
0
0
-5
41
99
-53
-17
42
-56
18
20
0
0
0
0
0
0
0
0
-9
-17
-19
-101
45
51
-15
0
-2
0
0
0
0
0
0
0
0
-29
-49
-97
-68
-46
58
-3
-24
-1
2
0
0
0
0
0
0
0
22
-9
-66
5
31
-17
0
-8
0
0
0
0
0
0
0
0
0
-3
-69
-34
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-8
-50
37
62
-83
-24
0
0
0
0
0
0
0
0
0
8
88
-46
-14
14
73
-3
0
-16
12
0
0
0
0
0
0
0
6
17
8
-22
55
1
8
20
3
-1
0
0
0
0
0
0
0
9
-27
-29
-22
15
-19
-16
-8
7
-3
0
0
0
0
0
0
0
0
23
-64
-15
-3
49
-2
0
-8
0
0
0
0
0
0
0
0
-10
-48
28
32
18
-3
-2
5
-3
1
0
0
0
0
0
0
0
0
23
43
-14
16
0
1
0
-3
0
0
0
0
0
0
0
0
0
10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-10
53
25
23
13
0
0
0
0
0
0
0
0
0
4
-38
-31
23
-58
40
48
-2
0
0
0
0
0
0
0
0
0
0
32
-2
1
43
29
-3
5
13
2
0
0
0
0
0
0
0
0
50
-20
-4
44
5
-13
-5
1
0
0
0
0
0
0
0
0
0
33
-4
-30
-61
-1
0
0
18
-2
0
0
0
0
0
0
0
0
14
-8
-18
8
35
1
0
0
0
0
0
0
0
0
0
0
-4
6
-12
1
-2
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-28
19
41
52
29
0
0
0
0
0
0
0
0
0
-3
-18
69
-3
-20
6
-25
10
6
0
0
0
0
0
0
0
0
0
30
29
-3
0
49
2
32
-1
0
0
0
0
0
0
0
0
1
10
1
2
5
-16
9
0
17
0
0
0
0
0
0
0
0
6
24
5
-29
-6
-10
0
2
1
0
0
0
0
0
0
0
0
0
2
25
0
1
1
7
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-1
1
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
20
-52
-45
48
25
0
0
0
0
0
0
0
0
0
0
13
41
73
-10
-20
-7
13
5
0
0
0
0
0
0
0
0
2
0
-8
3
63
0
18
10
7
2
0
0
0
0
0
0
0
-1
-10
5
49
8
9
2
1
0
7
0
0
0
0
0
0
0
0
10
-7
-1
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
8
20
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-2
7
8
79
31
0
0
0
0
0
0
0
0
0
0
24
-19
67
59
-13
-13
22
2
-1
0
0
0
0
0
0
0
4
12
-14
2
-11
3
0
-2
-2
-2
0
0
0
0
0
0
0
0
-13
81
-15
-20
5
1
0
3
0
0
0
0
0
0
0
0
1
19
-6
25
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
12
0
31
8
5
68
0
-3
0
0
0
0
0
0
0
8
15
-1
-22
21
5
47
-42
-3
3
-5
0
0
0
0
0
0
5
7
1
0
3
14
-3
1
7
5
0
0
0
0
0
0
0
0
0
8
-9
-9
-12
2
3
0
0
0
0
0
0
0
0
0
1
0
5
14
0
4
-1
0
0
0
-1
0
0
0
0
0
0
0
0
3
2
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
-37
-4
17
-23
13
1
0
2
0
0
0
0
0
0
0
0
-4
0
9
0
4
0
-3
0
-3
0
0
0
0
0
0
0
0
7
0
-42
8
2
4
-1
2
0
0
0
0
0
0
0
0
0
-1
0
-2
-9
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
8
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
-6
12
25
37
1
0
0
0
0
0
0
0
0
0
0
16
-4
-25
21
4
-8
-8
8
0
0
0
0
0
0
0
0
0
-3
11
-8
-4
27
-10
-6
0
0
0
0
0
0
0
0
0
0
3
-58
8
25
-2
-12
-2
0
0
0
0
0
0
0
0
0
0
15
44
28
6
-9
5
-2
0
0
0
0
0
0
0
0
0
0
31
-31
-8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-66
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
-66
-9
-7
37
-49
93
0
0
0
0
0
0
0
0
0
4
49
41
-46
65
9
85
-44
-37
0
0
0
0
0
0
0
0
3
-54
80
-43
2
41
-26
-20
16
0
0
0
0
0
0
0
0
2
-4
28
-64
12
-53
-70
5
-8
0
0
0
0
0
0
0
0
5
-3
6
-56
-56
-67
39
-10
18
0
0
0
0
0
0
0
0
-6
-72
-3
-41
-13
-44
-5
0
4
0
0
0
0
0
0
0
0
0
71
2
8
-13
6
-1
0
0
0
0
0
0
0
0
0
0
0
43
-2
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
-1
-15
21
20
69
-92
0
3
0
0
0
0
0
0
0
2
12
82
-26
46
-38
13
56
5
-8
0
0
0
0
0
0
0
0
9
-41
-8
35
-5
-38
10
-48
4
0
0
0
0
0
0
0
-3
-17
1
9
-15
90
14
31
9
0
0
0
0
0
0
0
0
3
-1
-22
-38
34
-10
50
19
4
0
0
0
0
0
0
0
0
-1
6
28
-32
16
5
0
-12
0
0
0
0
0
0
0
0
0
-3
-25
16
64
34
6
0
0
0
0
0
0
0
0
0
0
0
0
-16
10
-13
1
4
0
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
15
28
-41
20
-63
0
3
0
0
0
0
0
0
0
0
44
-52
-16
-38
-33
4
0
3
0
0
0
0
0
0
0
0
0
-3
30
50
-5
-43
75
-22
-6
-1
0
0
0
0
0
0
0
0
109
26
-3
24
77
-16
13
-6
4
0
0
0
0
0
0
0
0
51
9
35
-13
-5
-46
2
0
0
0
0
0
0
0
0
0
0
19
0
47
-16
41
2
0
0
0
0
0
0
0
0
0
0
0
-31
14
7
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
41
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
33
0
0
20
0
-6
0
1
-1
0
0
0
0
0
0
0
6
1
16
-46
-1
29
-52
5
0
0
0
0
0
0
0
0
-4
30
27
-23
-24
1
45
22
-6
0
0
0
0
0
0
0
0
0
-7
-8
7
0
-14
-14
-8
0
0
0
0
0
0
0
0
0
0
17
42
4
4
-10
9
8
4
0
0
0
0
0
0
0
0
0
-5
-2
-10
-12
34
1
0
0
0
0
0
0
0
0
0
0
0
-3
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-1
-1
-2
27
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
-25
12
-21
9
4
0
0
0
0
0
0
0
0
2
1
-4
-10
-8
9
18
6
0
0
0
0
0
0
0
0
0
6
0
0
-2
-4
0
8
1
19
0
0
0
0
0
0
0
0
0
-13
10
21
18
13
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
3
5
0
0
0
8
0
0
0
0
0
0
0
0
0
-9
-1
46
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-8
16
-17
9
46
-2
-1
0
0
0
0
0
0
0
0
12
-7
13
-8
31
6
0
-1
0
0
0
0
0
0
0
0
0
4
-8
13
8
-18
0
0
-1
0
0
0
0
0
0
0
0
0
-14
-9
13
21
1
0
0
-1
0
0
0
0
0
0
0
0
0
8
-18
12
8
-2
0
0
0
0
0
0
0
0
0
0
0
3
30
-3
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-3
3
0
0
0
0
0
0
0
0
0
0
0
3
-5
10
4
56
-1
-1
0
0
0
0
0
0
0
0
0
-20
-7
13
25
-23
13
12
-2
3
0
0
0
0
0
0
0
0
-4
9
6
3
-7
-6
0
0
0
0
0
0
0
0
0
0
0
14
24
24
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-5
-4
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-6
0
-9
-1
-2
0
0
0
0
0
0
0
0
0
0
5
-6
13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-1
-4
1
-2
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
8
0
5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
1
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
23
8
-27
-2
-1
-3
0
0
0
0
0
0
0
0
0
13
19
18
64
8
-35
-41
-1
-2
0
0
0
0
0
0
0
0
104
19
32
-60
-13
-31
-12
1
0
0
0
0
0
0
0
0
0
-4
45
42
-19
3
0
-3
-7
0
0
0
0
0
0
0
0
0
-6
51
6
20
-3
-8
0
2
0
0
0
0
0
0
0
0
0
-20
-1
61
23
13
0
0
0
0
0
0
0
0
0
0
0
0
16
15
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-6
-23
-29
84
16
47
0
0
0
0
0
0
0
0
0
-10
27
-19
-98
-26
72
6
-17
-12
6
0
0
0
0
0
0
0
6
-60
-84
-5
52
4
-27
49
7
-3
0
0
0
0
0
0
0
-7
49
85
70
64
-26
63
109
-1
0
0
0
0
0
0
0
0
3
6
68
22
41
9
-47
-10
1
2
0
0
0
0
0
0
0
0
56
23
-49
-25
-15
42
1
-4
0
0
0
0
0
0
0
0
13
6
-52
-2
37
5
37
1
0
0
0
0
0
0
0
0
0
4
35
-18
-9
0
-20
0
16
0
0
0
0
0
0
0
0
0
39
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
27
-5
-13
41
-60
-41
0
0
0
0
0
0
0
0
0
0
-37
77
88
51
-55
-19
-9
18
0
0
0
0
0
0
0
0
0
-12
19
-22
-60
54
29
73
-5
1
0
0
0
0
0
0
0
66
5
31
-25
18
95
-48
-17
5
0
0
0
0
0
0
0
0
9
-7
0
-20
43
41
27
-7
3
0
0
0
0
0
0
0
0
-9
51
79
-33
33
48
9
-3
0
5
0
0
0
0
0
0
0
0
39
94
64
-19
13
30
0
1
0
0
0
0
0
0
0
0
2
36
24
17
-3
0
0
-9
0
0
0
0
0
0
0
0
0
6
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
6
-2
-8
-2
-63
1
0
0
0
0
0
0
0
0
0
0
54
32
-5
-57
-18
7
-60
-8
-4
0
0
0
0
0
0
0
-2
5
7
1
-16
16
-48
-24
63
-2
0
0
0
0
0
0
0
6
33
5
23
15
-29
-10
-9
0
0
0
0
0
0
0
0
0
0
-3
-13
0
-49
-16
-14
-3
-2
0
0
0
0
0
0
0
0
0
-12
-33
13
22
59
2
-7
0
0
0
0
0
0
0
0
0
-4
25
42
-12
93
0
1
5
0
0
0
0
0
0
0
0
0
0
-6
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
3
59
-35
-19
0
-1
0
0
0
0
0
0
0
0
3
5
12
-20
-55
45
0
-24
0
3
0
0
0
0
0
0
4
3
-35
-47
-12
16
-1
-59
2
-6
0
0
0
0
0
0
0
0
-1
-6
7
18
6
9
-8
0
0
0
0
0
0
0
0
0
0
1
31
21
0
55
-6
-2
0
3
0
0
0
0
0
0
0
0
7
-7
8
0
17
-2
1
5
-1
0
0
0
0
0
0
0
0
13
8
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
49
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
-6
0
-3
0
0
0
0
0
0
0
0
1
-4
2
-5
-9
19
-3
-8
0
0
0
0
0
0
0
0
-2
2
-22
10
-46
-25
20
-7
2
0
0
0
0
0
0
0
0
0
43
2
-1
15
1
12
-6
19
0
0
0
0
0
0
0
0
0
15
-2
0
25
0
8
0
0
0
0
0
0
0
0
0
0
0
-7
25
-39
-6
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-12
-9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
4
24
0
9
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
2
0
0
0
0
0
0
0
0
0
2
0
5
5
-12
8
0
-5
0
0
0
0
0
0
0
9
8
0
1
8
31
-14
-9
-1
0
0
0
0
0
0
0
0
0
5
0
-6
4
-18
-3
0
0
0
0
0
0
0
0
0
0
0
-2
34
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-9
-12
0
-1
0
0
0
0
0
0
0
0
0
0
2
-16
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
1
8
0
6
0
0
0
0
0
0
0
0
0
3
0
-6
-10
13
8
-1
0
0
0
0
0
0
0
0
0
0
0
5
8
-33
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
-7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
5
0
-2
0
17
1
0
-2
0
0
0
0
0
0
0
0
4
1
-8
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-4
-8
-2
0
-3
15
0
0
0
0
0
0
0
0
0
0
4
0
2
16
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
17
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
4
6
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
-2
-8
5
2
5
1
0
0
0
0
0
0
0
0
0
-10
31
-9
27
-5
76
-32
8
0
0
0
0
0
0
0
0
0
45
5
-31
46
-21
22
-6
3
0
0
0
0
0
0
0
0
0
-33
4
-16
15
6
50
14
0
0
0
0
0
0
0
0
0
0
6
2
2
-6
-2
0
-1
8
0
0
0
0
0
0
0
0
0
0
-17
34
0
-10
-1
-2
-1
0
0
0
0
0
0
0
0
0
-53
8
58
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
58
-5
16
4
-46
-2
-24
0
0
0
0
0
0
0
0
0
7
-6
-4
-124
7
26
-26
-1
5
0
0
0
0
0
0
0
0
2
101
-81
-11
35
-47
15
-18
-16
0
0
0
0
0
0
0
0
-4
-49
53
71
13
-25
27
1
8
-2
0
0
0
0
0
0
0
-1
-39
40
1
-44
48
-42
-41
-6
0
0
0
0
0
0
0
0
6
0
-5
-5
47
-32
16
7
-4
0
0
0
0
0
0
0
0
0
-79
-5
-7
-9
41
-6
0
-1
0
0
0
0
0
0
0
0
12
16
-17
15
2
4
0
0
0
0
0
0
0
0
0
0
0
-4
-10
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-26
2
-48
3
11
70
0
-1
0
0
0
0
0
0
0
1
-80
69
-16
22
5
12
32
-15
0
0
0
0
0
0
0
0
-10
-43
3
46
-19
-59
9
22
31
0
0
0
0
0
0
0
0
0
46
-43
-5
7
-26
14
-14
12
0
0
0
0
0
0
0
0
-3
-29
49
7
16
-40
79
-5
-3
-3
0
0
0
0
0
0
0
0
66
0
-13
21
4
72
1
0
2
0
0
0
0
0
0
0
-44
6
-33
-34
-21
9
-6
-3
0
0
0
0
0
0
0
0
0
0
-70
5
46
49
-2
0
0
0
0
0
0
0
0
0
0
0
6
8
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
45
-12
-29
1
0
-8
0
0
0
0
0
0
0
0
31
23
7
-14
-38
-18
23
-5
0
-1
0
0
0
0
0
0
8
7
-20
1
-25
8
-5
51
0
0
0
0
0
0
0
0
0
-4
0
-24
-47
13
-31
29
25
18
0
0
0
0
0
0
0
0
0
0
-5
6
48
-47
-25
5
2
0
0
0
0
0
0
0
0
0
1
5
0
41
-3
-3
0
0
-8
0
0
0
0
0
0
0
-8
58
-10
35
5
-5
-1
-3
0
0
0
0
0
0
0
0
0
0
-7
-7
-27
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
2
0
-4
-3
0
0
0
0
0
0
0
0
0
0
4
86
-5
-12
40
44
2
31
0
-1
0
0
0
0
0
0
-15
0
0
-10
70
21
45
-9
-2
0
0
0
0
0
0
0
0
-1
7
1
-1
9
19
-16
13
1
0
0
0
0
0
0
0
0
-3
32
-16
-13
10
-4
-4
-1
-2
0
0
0
0
0
0
0
0
0
-3
16
50
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
49
46
-9
17
1
0
0
0
0
0
0
0
0
0
0
0
-13
14
-1
5
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
-4
-1
0
3
0
0
0
0
0
0
0
0
7
0
0
0
7
-57
0
0
0
0
0
0
0
0
0
0
6
-1
0
5
6
-32
75
5
-9
0
0
0
0
0
0
0
0
0
1
10
-8
-13
1
29
3
-8
0
0
0
0
0
0
0
0
0
0
0
-12
31
-3
0
-1
0
-1
0
0
0
0
0
0
0
0
0
-5
22
-35
0
0
2
0
0
0
0
0
0
0
0
0
0
49
24
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-9
-6
0
2
0
0
0
0
0
0
0
0
2
-1
1
-4
-5
-8
-10
1
0
0
0
0
0
0
0
0
5
-5
0
16
2
0
0
10
14
0
0
0
0
0
0
0
0
0
2
15
2
10
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
12
-8
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
-12
3
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
14
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-1
7
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
-3
25
-2
1
0
0
0
0
0
0
0
0
3
0
0
5
0
5
16
2
1
-1
0
0
0
0
0
0
0
1
0
0
14
0
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
-6
3
14
4
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
3
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
14
0
0
4
0
0
0
0
0
0
0
0
-7
-2
6
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-6
0
0
0
0
0
0
0
0
0
1
0
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
5
-8
5
43
19
6
0
0
0
0
0
0
0
0
0
43
31
9
10
5
-13
-39
7
3
0
0
0
0
0
0
0
0
-8
24
8
5
-23
29
-8
0
0
0
0
0
0
0
0
0
0
31
-1
14
13
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
-23
56
-1
-34
-2
0
-4
0
0
0
0
0
0
0
0
0
0
-1
-9
-49
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-31
19
-8
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
24
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
-28
-8
46
19
-59
41
0
0
0
0
0
0
0
0
0
-7
-42
21
27
-54
41
41
27
-19
-4
0
0
0
0
0
0
0
-1
91
-77
0
34
-60
9
10
-4
8
0
0
0
0
0
0
0
0
-83
-94
-9
19
-37
26
-48
3
0
0
0
0
0
0
0
0
6
-28
33
16
55
-104
35
10
10
1
0
0
0
0
0
0
0
0
60
-17
-72
-9
29
19
-24
7
0
0
0
0
0
0
0
0
-29
0
15
-23
-5
-31
18
0
-1
0
0
0
0
0
0
0
0
-3
-77
56
16
28
16
-1
0
0
0
0
0
0
0
0
0
0
49
29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
1
-5
33
-18
-17
45
0
2
0
0
0
0
0
0
0
0
-31
-50
-1
22
0
-21
-35
8
-5
0
0
0
0
0
0
0
0
-24
-136
-44
-2
8
-27
8
49
3
0
0
0
0
0
0
0
0
21
-68
-14
7
-19
50
50
-24
0
0
0
0
0
0
0
0
0
10
19
-31
9
-5
12
-2
12
8
0
0
0
0
0
0
0
0
9
-30
-16
-23
-48
44
-2
2
0
0
0
0
0
0
0
0
-3
-72
0
-14
-37
8
-5
-1
0
0
0
0
0
0
0
0
0
1
-13
41
41
44
-2
1
5
0
0
0
0
0
0
0
0
0
0
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
2
29
-24
5
0
-1
0
0
0
0
0
0
0
1
7
-10
20
-13
8
-27
-25
-22
1
0
0
0
0
0
0
0
0
8
13
0
-13
-32
21
-32
1
2
0
0
0
0
0
0
0
0
-29
-13
53
-16
-15
-85
29
0
0
0
0
0
0
0
0
0
0
-5
10
-13
11
-31
43
51
0
0
0
0
0
0
0
0
0
0
-21
5
30
47
22
-18
5
20
0
0
0
0
0
0
0
0
0
8
5
0
0
-2
0
-3
-3
0
0
0
0
0
0
0
0
2
-1
4
47
-1
-6
0
-3
-5
0
0
0
0
0
0
0
0
2
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
7
0
10
4
-17
-12
0
-2
1
0
0
0
0
0
0
0
0
-7
-6
0
-3
-4
-16
49
0
4
0
0
0
0
0
0
0
0
3
10
-6
0
25
24
-1
-4
0
0
0
0
0
0
0
0
0
1
22
2
9
-19
22
-4
0
0
0
0
0
0
0
0
0
0
1
-4
-8
-7
-23
14
1
1
0
0
0
0
0
0
0
0
0
13
-2
0
0
24
1
0
0
0
0
0
0
0
0
0
0
0
-25
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-2
0
0
0
0
0
0
0
0
0
0
-1
4
4
-8
-4
-43
4
4
0
0
0
0
0
0
0
0
0
0
0
3
0
18
10
-4
5
0
0
0
0
0
0
0
0
0
9
-1
10
-4
5
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
10
31
1
0
0
0
0
0
0
0
0
0
0
0
1
12
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-3
-8
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
1
-1
-5
1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
16
6
0
-3
4
-2
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-7
-3
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
5
12
10
5
0
0
0
0
0
0
0
0
0
-5
2
0
-1
-8
18
-13
1
-7
0
0
0
0
0
0
0
0
7
8
2
8
12
75
-4
3
0
0
0
0
0
0
0
0
0
31
5
-9
20
46
-2
-3
0
8
0
0
0
0
0
0
0
0
-24
-33
-44
9
-5
8
8
0
0
0
0
0
0
0
0
0
0
0
-23
-26
-73
7
0
2
0
0
0
0
0
0
0
0
0
0
0
12
-5
8
0
2
0
0
0
0
0
0
0
0
0
0
0
-23
-1
-14
4
0
4
0
0
0
0
0
0
0
0
0
0
0
1
-2
20
24
-32
14
46
3
0
0
0
0
0
0
0
0
0
0
-10
-13
-18
-3
49
-5
16
1
16
0
0
0
0
0
0
0
-5
-30
43
9
25
-31
-5
-52
6
0
0
0
0
0
0
0
0
-2
32
-13
93
-3
-49
50
7
20
0
0
0
0
0
0
0
0
-1
13
-39
-2
20
29
-71
6
0
-1
0
0
0
0
0
0
0
0
-17
-4
-37
-83
92
13
-4
-2
-4
0
0
0
0
0
0
0
3
27
54
-79
66
-35
-49
0
0
0
0
0
0
0
0
0
0
-1
0
3
13
-16
13
-1
10
0
0
0
0
0
0
0
0
0
-1
-9
-8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
0
3
0
-6
7
0
0
0
0
0
0
0
0
0
0
-16
2
28
25
4
2
-17
-2
0
0
0
0
0
0
0
0
0
17
43
25
9
3
49
4
4
1
0
0
0
0
0
0
0
0
13
51
-43
-102
-44
3
-3
-1
0
0
0
0
0
0
0
0
-2
5
-55
22
33
16
61
-17
0
3
0
0
0
0
0
0
0
0
-31
2
52
-13
12
68
-2
-7
0
0
0
0
0
0
0
0
0
12
3
45
34
41
3
-1
-5
0
0
0
0
0
0
0
0
1
32
0
-13
12
10
0
-2
0
0
0
0
0
0
0
0
0
30
0
9
-14
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
8
-6
5
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-18
7
-8
-3
-5
0
0
0
0
0
0
0
0
30
-1
-5
58
7
-24
-2
3
0
0
0
0
0
0
0
0
0
1
24
1
-6
27
-1
0
8
0
0
0
0
0
0
0
0
0
4
1
-1
26
3
-31
-7
0
0
0
0
0
0
0
0
0
0
-17
-2
45
2
8
13
1
0
0
0
0
0
0
0
0
0
0
-42
-5
0
13
12
4
0
0
0
0
0
0
0
0
0
0
0
-5
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
3
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
43
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
19
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
-1
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
-1
0
24
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-8
7
-5
12
0
0
0
0
0
0
0
0
73
3
-5
5
-2
-1
7
0
0
0
0
0
0
0
0
0
0
41
27
6
12
-4
9
-12
0
0
0
0
0
0
0
0
0
0
-1
16
101
-15
-4
-6
0
0
0
0
0
0
0
0
0
0
0
7
-10
31
-16
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
14
-5
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
-8
-1
1
0
9
-5
0
-1
0
0
0
0
0
0
0
0
12
-3
9
8
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-25
-17
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
20
-50
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
5
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
35
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
49
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
-4
-1
8
0
0
0
0
0
0
0
0
0
0
1
9
6
5
-1
4
1
0
-1
0
0
0
0
0
0
0
0
0
3
7
0
-16
1
-4
-5
8
5
0
0
0
0
0
0
0
0
0
-1
16
-5
-1
1
2
5
0
0
0
0
0
0
0
0
0
1
-3
-5
-1
5
-1
-1
-4
-1
0
0
0
0
0
0
0
0
-9
5
13
-1
20
3
0
0
-4
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
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
2
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-7
41
6
9
0
0
1
0
0
0
0
0
0
0
0
0
2
2
17
5
-4
-10
12
-4
16
3
0
0
0
0
0
0
0
-3
8
-20
4
25
17
8
2
-8
-3
0
0
0
0
0
0
0
0
12
-9
13
-7
-2
-2
-3
-7
0
0
0
0
0
0
0
0
20
0
-18
16
12
7
3
0
0
0
0
0
0
0
0
0
0
3
-5
5
20
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
1
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-10
-9
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
8
5
-1
0
-5
-7
4
0
0
0
0
0
0
0
0
-2
-2
4
-2
-1
0
22
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
-1
-2
0
0
2
0
0
0
0
0
0
0
-2
-1
-3
-4
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-12
-4
-1
9
1
-1
1
2
0
0
0
0
0
0
0
0
-1
0
-1
16
2
-4
1
-1
0
0
0
0
0
0
0
0
0
0
4
0
-3
-3
-2
0
-2
-1
0
0
0
0
0
0
0
-9
0
-3
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-1
0
0
0
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
0
0
0
1
0
0
0
0
0
0
0
-1
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
1
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
3
0
-2
1
-17
0
0
0
0
0
0
0
0
0
2
-2
10
-1
10
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-6
-3
0
0
-32
0
0
0
0
0
0
0
0
0
5
5
-2
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
9
9
-3
2
-1
0
0
0
0
0
0
0
0
0
6
-5
-2
5
1
6
-3
0
-2
0
0
0
0
0
0
0
0
1
4
-30
-8
10
0
-6
1
-1
27
0
0
0
0
0
0
0
0
8
-8
12
13
7
-6
-1
-23
-8
0
0
0
0
0
0
0
-2
-3
-2
-7
10
-9
-9
0
8
-1
0
0
0
0
0
0
0
0
0
-5
15
0
2
1
2
0
1
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-31
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
2
0
15
-13
-1
0
1
0
0
0
0
0
0
0
0
0
8
17
-1
2
2
15
15
-12
-24
-6
0
0
0
0
0
0
0
0
0
-12
1
12
-6
-6
-6
4
-5
0
0
0
0
0
0
0
3
10
-7
-8
-6
28
-2
-3
8
0
0
0
0
0
0
0
0
-14
12
0
-10
-4
-16
-8
1
13
0
0
0
0
0
0
0
0
3
4
2
25
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
4
-3
0
0
0
-4
0
0
0
0
0
0
0
1
-5
4
16
-1
-1
0
0
0
-6
0
0
0
0
0
0
0
3
27
-5
-2
3
0
15
-2
-5
8
-1
0
0
0
0
0
0
0
7
0
7
4
1
-3
-4
1
8
0
0
0
0
0
0
0
-1
-9
-8
0
3
-9
7
0
-1
2
0
0
0
0
0
0
0
-1
-2
-4
2
8
8
5
0
0
0
0
0
0
0
0
0
0
0
3
-8
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
4
-2
0
-2
0
0
0
0
0
0
0
0
0
0
1
-2
0
-2
8
18
0
1
0
-6
0
0
0
0
0
0
0
-1
-3
2
1
-1
-1
-2
-25
-6
0
0
0
0
0
0
0
0
-2
1
13
-6
-7
18
-4
10
3
0
0
0
0
0
0
0
0
-5
-1
-1
5
-2
2
0
0
-1
2
0
0
0
0
0
0
0
3
-1
3
-3
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
9
-2
8
0
-14
0
5
0
0
0
0
0
0
0
0
0
0
-7
-8
-2
-8
1
15
0
0
0
0
0
0
0
0
0
-2
3
0
5
5
-2
0
5
-3
0
1
0
0
0
0
0
1
1
-1
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-9
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-1
-4
2
-2
0
2
0
-3
1
0
0
0
0
0
0
0
1
5
3
-12
2
5
-3
3
-7
1
0
0
0
0
0
0
0
2
8
-3
-8
-3
0
1
8
1
0
0
0
0
0
0
0
3
-7
-1
0
-6
-2
-1
0
1
0
0
0
0
0
0
0
0
-1
2
2
1
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-10
0
0
1
0
-3
-5
0
0
0
0
0
0
0
0
0
-1
-1
-4
1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-1
0
0
0
0
0
0
0
0
0
2
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
-1
-1
2
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
1
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
0
-1
0
-1
0
0
0
0
0
0
0
0
1
0
-1
-6
-6
0
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
-1
0
-2
4
0
0
0
0
0
0
0
0
0
1
1
4
-8
-2
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
-1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
8
0
2
-15
5
-3
0
0
-1
0
0
0
0
0
0
0
-1
0
2
13
6
-5
10
0
-2
0
0
0
0
0
0
0
0
0
7
3
8
-6
4
-1
-8
0
12
0
0
0
0
0
0
0
-14
0
8
8
-22
-7
8
10
14
-17
0
0
0
0
0
0
0
-7
-20
-8
-6
12
-5
2
0
12
-1
0
0
0
0
0
0
0
0
4
7
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
-10
5
-10
-2
1
0
1
3
0
0
0
0
0
0
0
0
0
8
2
-3
-17
0
0
0
0
0
0
0
0
0
0
0
5
-7
4
25
8
8
-3
-1
1
-1
0
0
0
0
0
0
0
0
8
-3
12
13
-7
-9
0
16
0
0
0
0
0
0
0
0
-8
0
-8
2
13
-8
2
0
4
0
0
0
0
0
0
0
0
0
-3
-2
2
3
-10
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-15
2
-1
0
0
1
-6
0
0
0
0
0
0
-3
0
2
8
12
0
-7
0
0
0
2
-2
0
0
0
0
0
0
2
3
0
6
-1
9
-9
-13
14
0
-1
0
0
0
0
0
0
-6
-1
-6
0
-17
-12
8
8
-10
-6
0
0
0
0
0
0
0
0
2
2
0
2
-2
2
0
-4
-1
0
0
0
0
0
0
0
0
-2
0
-2
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
5
1
0
0
1
-2
0
0
0
0
0
0
0
-1
0
0
-6
0
6
0
0
0
-4
0
0
0
0
0
0
0
-2
0
-2
0
3
-3
4
-7
-5
0
2
0
0
0
0
0
0
-1
2
-1
2
5
24
0
1
-4
0
1
0
0
0
0
0
0
0
-5
0
-3
-8
1
-7
-1
0
0
0
0
0
0
0
0
0
0
2
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-2
2
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-4
-1
7
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
2
-1
-1
12
0
0
0
0
0
0
0
0
1
0
-2
0
-19
8
0
1
0
2
1
0
0
0
0
0
0
0
7
0
5
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
1
0
-1
-2
0
0
0
0
0
0
0
0
6
0
-8
-6
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
1
0
-2
0
2
-1
4
-4
0
0
0
0
0
0
0
0
-1
-2
2
2
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
6
2
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-4
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-2
-4
8
0
0
0
2
0
0
0
0
0
0
0
0
3
-5
0
0
0
0
-1
0
-7
0
0
0
0
0
0
0
0
0
1
-4
2
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
15
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-5
0
-1
0
1
-2
1
0
0
0
0
0
0
0
0
-3
0
0
-4
0
-2
4
-3
0
0
0
0
0
0
0
0
-2
0
0
-3
1
0
-3
-2
0
0
0
0
0
0
0
0
0
1
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-2
0
4
0
-2
0
0
0
0
0
0
0
0
0
-1
8
-5
-3
-14
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
1
8
-2
1
0
1
2
0
0
0
0
0
0
0
2
2
-9
5
-30
-8
-5
1
0
2
0
0
0
0
0
0
0
-2
-1
-4
0
-1
9
2
-3
-2
0
0
0
0
0
0
0
0
1
1
2
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
6
-4
-5
2
0
-1
0
0
0
0
0
0
0
0
-2
0
-1
-6
-2
1
-6
-5
0
9
0
0
0
0
0
0
0
0
0
0
6
-1
-6
6
-2
-10
-3
0
0
0
0
0
0
0
0
2
-1
0
7
-6
-7
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
17
0
7
1
0
0
4
0
0
0
0
0
0
0
3
4
10
7
-4
-13
0
0
0
-1
0
0
0
0
0
0
0
1
4
-2
2
-12
-4
0
-12
-8
-1
0
0
0
0
0
0
0
6
0
0
-6
-5
7
-2
7
8
0
0
0
0
0
0
0
0
0
1
-1
-8
25
3
3
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
2
4
-2
-3
0
10
0
-8
0
0
0
0
0
0
0
0
0
2
-5
8
5
-8
1
2
0
0
0
0
0
0
0
4
3
2
0
8
1
-3
5
2
1
0
0
0
0
0
0
0
0
1
-1
0
5
9
1
0
7
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-7
-1
-6
-14
0
-5
0
0
0
0
0
0
0
-1
0
0
-2
0
2
-3
2
1
4
2
0
0
0
0
0
0
0
0
-1
-2
-1
-3
1
-6
5
-2
0
0
0
0
0
0
0
0
1
-4
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
1
-5
-3
-2
2
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
0
1
-2
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-5
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-2
2
-1
-1
0
-2
0
-1
0
0
0
0
0
0
0
0
1
0
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
1
1
-2
2
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
1
0
0
0
0
0
0
0
0
4
-1
0
-1
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
17
10
-2
-4
0
6
0
0
0
0
0
0
0
0
1
-1
-5
4
12
4
0
0
-24
0
-2
0
0
0
0
0
0
0
-3
-2
7
4
-4
0
2
0
1
0
0
0
0
0
0
0
-2
1
0
-1
-10
-14
2
0
-2
0
0
0
0
0
0
0
0
0
-1
0
2
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
-2
0
-4
0
-1
0
0
0
0
0
0
0
0
-5
5
-13
-2
-8
13
0
2
0
0
0
0
0
0
0
0
0
0
18
-7
0
-12
4
-1
-2
14
0
0
0
0
0
0
0
0
1
0
-1
2
-5
-10
-7
-1
0
-2
0
0
0
0
0
0
0
0
1
3
6
-14
-7
0
0
-14
0
0
0
0
0
0
0
0
1
0
0
0
-5
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
7
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-5
-9
-9
5
-2
13
3
0
0
0
0
0
0
0
1
2
1
-3
0
2
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
2
4
8
4
0
4
0
0
0
0
0
0
0
0
0
0
1
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
-2
-6
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
12
0
0
1
0
0
0
0
0
0
0
0
0
-1
-19
-2
8
-2
-4
5
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
17
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-8
-1
0
2
0
0
0
0
0
0
0
0
-1
2
-12
4
-1
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
-3
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
4
0
0
0
1
1
0
0
0
0
0
0
0
-2
2
5
3
-1
-8
0
-1
0
-2
0
0
0
0
0
0
0
0
0
-8
-1
1
-6
1
-1
-2
0
0
0
0
0
0
2
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
12
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-17
4
6
0
4
-4
0
-1
0
0
0
0
0
0
0
0
0
-10
-17
8
-1
0
-1
3
0
0
0
0
0
0
0
0
0
1
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
-8
0
6
-1
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
-1
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
3
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-4
-1
0
-2
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
-6
-7
0
-5
0
0
0
0
0
0
0
0
1
0
8
0
1
-10
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-8
0
-1
0
0
0
0
0
0
0
0
0
0
1
8
7
3
-8
2
3
0
0
0
0
0
0
0
0
0
0
7
0
-1
2
-13
9
-2
2
-2
-10
0
0
0
0
0
0
0
0
0
-2
1
4
0
1
1
-2
2
0
0
0
0
0
0
0
0
0
-5
-3
-3
6
-3
1
0
-1
0
0
0
0
0
0
0
2
0
0
-34
-5
2
-20
6
-1
0
0
0
0
0
0
0
0
1
0
-3
-1
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
3
0
2
-2
0
-2
0
0
0
0
0
0
0
0
-2
-2
19
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
3
-4
1
8
3
6
-2
3
-17
0
0
0
0
0
0
0
0
1
0
-7
-2
-14
10
-3
0
-2
0
0
0
0
0
0
0
0
0
3
-1
-8
-2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
0
-1
0
0
0
0
0
0
0
0
2
0
-1
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
-8
-4
0
1
0
0
0
0
0
0
0
0
0
8
-1
-5
3
1
2
1
1
0
0
0
0
0
0
0
0
-2
-2
0
0
-5
-17
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
5
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
4
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-9
16
0
-1
4
0
0
0
0
0
0
0
0
0
0
-5
-10
2
-1
0
0
1
-1
0
0
0
0
0
0
0
-1
0
8
-4
0
-7
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
-3
5
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
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
-1
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
7
3
-2
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
4
-1
0
0
0
0
0
0
0
0
-1
-1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
3
10
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-10
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
4
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
20
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-1
3
0
2
0
0
0
0
0
0
0
0
0
0
0
13
5
23
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
-14
0
8
-32
-2
0
0
0
0
0
0
0
5
-8
0
-4
18
-16
-1
0
0
0
0
0
0
0
0
0
0
-7
2
0
-17
13
-17
0
0
-1
0
0
0
0
0
0
0
-2
1
-8
1
-25
17
14
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-8
2
-2
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
-1
1
0
-8
1
0
0
0
0
0
0
0
0
0
0
5
1
1
0
0
2
0
0
0
0
0
0
0
0
0
-1
4
-15
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
2
-4
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-3
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
2
-2
-1
-3
0
-2
0
0
0
0
0
0
0
0
1
-1
0
-8
0
-9
0
0
2
0
0
0
0
0
0
0
0
0
6
1
3
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-2
13
1
1
-3
0
0
0
0
0
0
0
0
-2
0
-4
-2
0
-2
0
0
-7
-1
0
0
0
0
0
0
0
0
-1
3
-2
0
-6
0
6
8
0
0
0
0
0
0
0
0
-2
0
1
2
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-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
1
0
0
-1
3
1
0
0
0
0
0
0
0
0
0
0
1
0
1
-5
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-1
-2
0
8
-1
0
0
0
0
0
0
0
0
0
0
-1
-2
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
9
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
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
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-3
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-7
-8
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
6
0
-13
0
1
4
0
0
0
0
0
0
0
0
8
0
1
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
8
3
9
-1
0
-1
0
0
0
0
0
0
0
0
-2
0
15
-5
4
4
0
0
-8
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-2
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-10
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
2
1
0
0
0
0
0
0
0
0
0
0
-2
0
-1
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
13
1
0
0
0
0
0
0
0
0
0
-8
0
1
-7
6
-1
-8
8
-1
-1
0
0
0
0
0
0
0
0
0
-13
-8
33
-17
17
4
-5
0
0
0
0
0
0
0
0
0
0
-2
-8
19
0
5
0
0
-2
0
0
0
0
0
0
0
0
-3
8
0
-4
-8
14
-2
0
0
0
0
0
0
0
0
0
0
1
4
-3
-5
-8
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
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
-2
7
-6
2
0
-20
0
0
0
0
0
0
0
0
7
0
0
-27
8
31
8
0
-12
0
0
0
0
0
0
0
0
-20
0
-10
-1
22
10
-17
16
-8
0
0
0
0
0
0
0
0
20
0
10
0
-19
-7
5
-1
1
-1
0
0
0
0
0
0
0
27
0
12
-45
8
-25
-2
-2
0
0
0
0
0
0
0
0
0
-6
-1
-3
0
20
-3
-7
0
1
0
0
0
0
0
0
0
0
0
-1
0
12
-3
9
2
-3
-1
0
0
0
0
0
0
0
0
0
5
0
1
4
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
-10
1
0
0
0
0
0
0
0
1
9
0
0
-8
-7
10
-4
6
0
0
0
0
0
0
0
0
-24
5
1
-6
2
5
-5
3
-6
1
0
0
0
0
0
0
1
0
12
0
-6
14
0
0
1
0
7
0
0
0
0
0
0
4
-2
-4
0
23
1
-16
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
7
-2
-5
0
1
0
0
0
0
0
0
0
0
-1
1
2
1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-7
0
-4
0
0
0
0
0
0
0
0
4
0
2
-2
-1
2
-19
-3
0
2
2
0
0
0
0
0
-4
3
0
7
-1
-4
-4
-7
-13
1
0
1
0
0
0
0
0
0
1
0
10
3
17
-1
2
-2
4
0
0
0
0
0
0
0
0
-8
7
4
1
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
8
-2
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
-1
0
0
0
0
0
0
0
0
-6
0
0
2
-3
0
1
-3
1
0
0
0
0
0
0
0
0
-2
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
9
2
0
0
0
0
0
0
0
0
5
0
0
3
1
-2
0
1
0
0
0
0
0
0
0
0
0
1
0
1
4
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
8
-3
0
0
0
0
0
0
0
0
0
0
3
2
8
4
-2
-12
12
-2
0
0
0
0
0
0
0
0
-2
0
1
3
0
6
6
0
1
0
0
0
0
0
0
0
0
-2
8
0
-14
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
16
-19
0
5
4
0
3
0
0
0
0
0
0
0
-6
0
-27
-6
42
-16
0
3
-22
-1
0
0
0
0
0
0
0
22
3
8
-2
-14
-16
-24
-5
-41
2
0
0
0
0
0
0
0
16
0
0
-19
9
-6
13
14
8
0
0
0
0
0
0
0
0
-2
2
1
1
-12
-9
1
0
0
0
0
0
0
0
0
0
0
-1
0
-3
5
-1
-8
0
7
1
0
0
0
0
0
0
0
0
1
0
7
0
19
-3
8
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-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
6
17
0
-3
24
-2
12
13
0
-2
0
0
0
0
0
0
0
0
32
0
8
-6
-10
-10
41
8
14
0
0
0
0
0
0
0
-4
-12
-1
4
-22
8
21
5
8
-8
0
0
0
0
0
0
0
0
-31
0
0
1
-6
19
-7
7
-13
0
0
0
0
0
0
0
0
10
0
-4
-50
13
27
-2
-8
0
0
0
0
0
0
0
0
2
7
1
7
3
30
21
8
13
3
0
0
0
0
0
0
0
0
3
0
3
8
4
10
0
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
5
-1
3
9
0
-10
-12
0
0
0
0
0
0
0
0
-3
0
19
8
19
-27
-18
6
7
0
0
0
0
0
0
-2
8
1
4
9
-23
0
2
17
0
-2
0
0
0
0
0
0
-6
10
4
0
-4
-27
7
3
-1
-1
0
0
0
0
0
0
0
-1
-3
-9
-7
-12
-22
3
6
0
-1
1
0
0
0
0
0
0
0
0
-8
0
-8
-3
-3
2
-8
-1
-1
0
0
0
0
0
0
0
0
-1
0
-1
-1
-3
2
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
5
-22
4
0
-1
-2
0
0
0
0
0
0
9
-5
0
-9
0
22
-15
-1
-3
-7
-8
0
0
0
0
0
0
0
0
-4
3
2
-3
0
-3
23
-6
-4
0
0
0
0
0
0
0
-8
5
25
1
4
-8
22
2
-8
-4
0
0
0
0
0
0
0
-2
-5
-12
5
7
31
17
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-1
-12
-1
-2
4
3
1
0
0
0
0
0
0
0
0
0
0
3
0
8
0
0
7
1
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-1
0
-2
0
0
1
-5
0
2
1
0
0
0
0
0
0
-2
-1
0
-1
1
-1
20
-13
-19
-2
1
2
0
0
0
0
0
0
0
-5
-1
0
9
10
-4
-3
3
0
0
0
0
0
0
0
-3
0
2
1
8
-3
1
-4
2
7
0
0
0
0
0
0
0
0
-1
-1
2
-1
0
9
4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-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
-2
0
0
0
0
0
1
0
5
2
0
0
0
0
0
0
0
-5
0
-1
-1
1
3
14
-6
0
-3
0
0
0
0
0
0
0
-1
3
0
1
6
-13
-1
4
4
-1
0
0
0
0
0
0
0
-2
0
1
0
-7
-2
2
7
0
1
0
0
0
0
0
0
0
1
3
0
0
3
-3
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-8
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
2
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
2
-2
1
0
0
0
0
0
0
-1
0
-4
-1
0
0
-3
-2
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
-4
1
0
1
0
0
0
0
0
0
-2
0
0
0
-1
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
1
-8
0
-1
0
0
0
0
0
0
0
0
3
-4
-2
-1
8
-1
-7
-3
0
0
0
0
0
0
0
0
0
1
-1
-1
-3
-5
6
8
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
6
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-1
0
-1
0
0
0
0
0
0
0
0
0
1
-8
3
4
-4
3
-2
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
4
24
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-8
-20
-7
-2
2
-31
0
0
0
0
0
0
0
0
0
14
0
-2
-42
-9
-5
25
9
3
-4
0
0
0
0
0
0
0
13
3
8
-6
-9
-8
2
12
-7
9
0
0
0
0
0
0
0
1
0
7
-8
-10
18
-24
6
0
0
0
0
0
0
0
0
0
0
0
-2
8
2
7
9
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
8
-7
6
2
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
3
3
-1
0
-19
0
8
0
0
0
0
0
0
0
1
-5
1
-24
13
9
-8
6
-3
0
0
0
0
0
0
0
0
1
12
0
-2
-14
-4
23
3
3
-12
0
0
0
0
0
0
0
0
2
0
-19
15
-22
-19
0
0
-3
0
0
0
0
0
0
0
0
9
0
-3
-16
-49
-2
4
0
0
0
0
0
0
0
0
0
0
5
2
0
-1
3
-16
-3
-6
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
8
-1
8
0
0
7
0
0
0
0
0
0
0
2
-4
12
-1
3
-9
-6
10
3
3
3
0
0
0
0
0
0
-1
1
3
2
-2
3
6
-1
-4
-2
2
0
0
0
0
0
0
-7
0
-1
2
0
5
12
-7
0
-6
5
0
0
0
0
0
0
1
-1
7
0
3
10
3
0
2
1
-4
0
0
0
0
0
0
0
0
0
0
-2
-9
-3
-2
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
4
3
0
0
0
0
0
0
0
0
0
0
4
-2
-7
0
-13
-19
0
0
4
-2
0
0
0
0
0
0
-1
-6
0
-1
0
2
-14
0
-1
0
0
0
0
0
0
0
0
0
0
-3
1
0
13
6
-3
0
-1
1
0
0
0
0
0
0
0
0
0
-3
-4
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
-2
-1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
3
2
0
-5
-4
0
5
1
-1
0
0
0
0
-1
0
-1
0
-5
-1
8
24
13
0
-1
-1
0
0
0
0
0
0
0
-1
0
3
-3
-13
13
0
-5
0
0
0
0
0
0
0
-1
0
0
-2
3
2
4
-1
-3
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
2
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
3
0
3
0
0
0
0
0
0
0
0
-2
0
-1
-3
-2
0
4
3
2
0
0
0
0
0
0
0
0
1
0
0
1
5
0
8
5
-2
-1
1
1
0
0
0
0
0
0
0
0
3
0
-2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-6
2
0
1
0
0
0
0
0
0
0
0
0
1
0
1
9
-12
-10
2
0
3
0
0
0
0
0
0
0
-3
2
4
0
-2
0
-2
0
2
0
-1
0
0
0
0
0
0
0
0
0
5
-4
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-18
0
-1
0
0
0
0
0
0
0
-2
6
0
2
-2
12
-18
0
-10
0
0
0
0
0
0
0
0
0
3
0
-2
7
8
16
-7
0
1
0
1
0
0
0
0
0
-1
-1
0
0
-3
7
1
1
1
0
0
0
0
0
0
0
0
0
-1
0
-2
1
-5
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
5
0
-15
-2
0
4
0
0
0
0
0
0
0
0
3
13
-3
-19
-24
15
9
5
-8
8
0
0
0
0
0
0
0
5
-16
3
0
16
29
-30
-10
0
-4
-2
0
0
0
0
0
0
4
3
6
9
-8
-8
-9
-1
-5
0
0
0
0
0
0
0
0
-12
2
1
-1
9
-16
-1
2
0
0
0
0
0
0
0
0
0
-1
-1
-1
1
-6
-2
-1
2
1
0
0
0
0
0
0
0
0
0
0
1
-5
-1
2
6
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
-1
0
0
0
0
0
0
0
0
1
1
-1
0
0
1
2
-1
-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
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
-10
-7
0
0
0
0
0
0
0
0
0
-3
0
4
10
-2
-2
7
0
5
-3
0
0
0
0
0
0
0
-3
0
0
-13
1
14
-7
0
-19
2
0
0
0
0
0
0
0
2
0
-2
1
-8
29
-3
5
1
-1
0
0
0
0
0
0
0
0
0
0
4
-5
1
18
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
19
-3
6
6
0
4
0
0
0
0
0
0
0
0
-6
-1
-7
8
-8
-22
-1
-15
3
0
0
0
0
0
0
0
0
1
0
4
6
-25
-14
-5
-15
2
0
0
0
0
0
0
0
0
0
1
8
0
2
-4
6
-5
0
0
0
0
0
0
0
0
0
-1
2
1
15
0
7
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
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
-1
-2
5
-8
0
0
1
0
0
0
0
0
0
0
0
-1
-5
4
-2
-6
7
-8
6
-1
4
0
0
0
0
0
0
0
0
12
0
-6
-8
-8
-2
-1
1
2
0
0
0
0
0
0
0
0
7
0
0
0
1
-2
4
0
0
0
0
0
0
0
0
0
-6
0
0
6
1
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
-2
-2
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
9
0
-4
1
0
0
0
0
0
0
0
4
2
-4
0
-10
0
2
6
0
0
0
0
0
0
0
0
0
2
3
7
2
1
-1
14
-17
3
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
-24
-3
0
0
0
0
0
0
0
0
0
2
1
0
0
-8
0
22
-8
-17
1
0
0
0
0
0
0
0
0
0
0
1
-8
-3
0
1
-3
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
6
-1
-12
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
3
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-20
0
-4
-2
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
1
0
2
0
0
0
0
0
0
0
-3
-1
1
-1
-2
0
-13
2
-5
-1
0
0
0
0
0
0
0
0
0
1
-2
8
8
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
7
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
6
1
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
-2
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-1
-1
2
8
10
0
-16
0
0
0
0
0
0
0
-9
2
-4
17
5
19
-10
0
15
0
0
0
0
0
0
0
0
-5
2
8
3
4
7
-31
-1
13
0
1
0
0
0
0
0
0
0
1
0
4
-9
6
-12
12
0
25
0
0
0
0
0
0
0
0
0
-8
0
20
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
3
-1
-2
5
0
0
0
0
0
0
0
0
0
0
-1
1
4
-1
1
-12
0
20
8
4
0
0
0
0
0
0
0
-3
0
3
16
5
-24
10
0
-2
-2
0
0
0
0
0
0
0
0
0
-5
-17
12
-1
5
-7
0
0
0
0
0
0
0
0
0
-1
-2
1
5
3
-3
1
0
4
0
0
0
0
0
0
0
0
-1
0
3
0
-3
3
1
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
-2
1
0
0
0
0
0
0
0
0
2
0
0
-1
1
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
-1
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-1
7
9
1
0
0
0
0
0
0
0
0
0
-9
0
4
-19
13
6
6
5
-3
0
0
0
0
0
0
0
0
-3
0
2
-5
2
-2
-8
1
0
0
0
0
0
0
0
0
0
9
0
0
1
0
5
-8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-14
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
1
-2
1
1
0
3
0
0
0
0
0
0
0
0
2
0
0
-3
1
0
4
8
0
0
0
0
0
0
0
0
0
-10
0
-3
10
-1
8
1
5
6
0
0
0
0
0
0
0
0
0
0
-7
2
10
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-6
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
0
-1
0
0
0
0
0
0
-1
-1
1
0
-5
13
3
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
2
0
7
5
0
1
0
0
0
0
0
0
0
1
-2
0
-1
-1
-1
-5
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
6
0
1
0
0
0
0
0
0
0
1
2
0
0
-2
0
4
-2
-1
0
1
1
0
0
0
0
0
0
0
0
-5
0
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
7
-2
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
-1
0
-1
0
0
0
0
0
0
0
0
0
2
2
0
0
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
6
3
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
2
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
1
-7
-7
0
0
0
0
0
0
0
0
0
0
0
-2
1
8
2
4
-6
5
0
0
0
0
0
0
0
0
-2
0
0
-6
-12
1
3
-14
-7
0
-1
0
0
0
0
0
0
-6
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
2
4
-9
0
0
0
0
0
0
0
0
0
0
1
-4
-4
1
-2
14
-17
8
-2
0
0
0
0
0
0
0
0
25
-3
-2
-3
3
0
2
-10
4
0
0
0
0
0
0
0
0
3
-1
-3
15
9
-5
-7
0
0
0
0
0
0
0
0
0
1
-1
0
0
-4
1
2
0
0
0
3
0
0
0
0
0
0
0
0
-3
1
-12
-16
-6
0
-14
0
0
0
0
0
0
0
0
0
0
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
6
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
5
3
0
-1
0
0
0
0
0
0
0
0
-14
-1
-1
2
3
1
-2
-4
-10
-8
0
0
0
0
0
0
0
0
-7
0
-8
-5
-2
0
4
7
0
0
0
0
0
0
0
0
-6
0
8
5
14
4
20
0
0
0
0
0
0
0
0
0
0
1
4
-7
5
0
-24
1
-1
0
0
0
0
0
0
0
0
0
1
-3
-1
-10
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
0
1
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
1
5
0
2
0
0
0
0
0
0
0
0
1
0
-2
3
-8
-1
-4
1
10
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
1
0
-2
2
-1
-5
-6
-7
1
0
0
0
0
0
0
0
0
8
0
1
5
2
10
0
3
1
0
0
0
0
0
0
0
0
1
0
0
7
-5
-4
3
-2
0
0
0
0
0
0
0
0
0
4
0
0
-2
-4
2
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-2
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
5
5
3
0
-2
0
0
0
0
0
0
0
0
0
0
2
-2
-6
0
1
-1
0
0
0
0
0
0
0
0
0
1
1
0
9
9
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
3
0
0
0
0
0
0
0
0
0
-1
-1
2
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-8
3
3
0
0
0
0
0
0
0
0
0
-3
1
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
-2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
8
1
0
0
0
0
0
0
0
0
0
1
0
0
0
20
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
7
0
0
0
0
0
0
0
0
0
0
2
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-2
9
0
-1
0
0
0
0
0
0
0
0
4
0
-1
0
9
0
22
15
0
-3
0
0
0
0
0
0
5
-1
1
0
5
-1
-30
-8
0
0
0
0
0
0
0
0
0
0
-10
-1
35
20
7
-4
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
25
2
8
0
0
0
0
0
0
0
0
0
0
0
-1
1
-13
2
20
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-1
-2
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
1
-1
0
2
1
0
0
0
0
0
0
0
0
4
-1
0
-1
-3
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
5
23
2
-3
-1
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
2
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
2
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
8
9
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
13
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-10
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
-14
7
0
25
1
6
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
1
-6
1
0
0
0
0
0
0
0
0
-1
0
1
-7
-4
0
0
-4
0
0
0
0
0
0
0
0
0
-1
0
0
8
-3
-12
8
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
-2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
1
0
0
0
0
0
0
0
0
4
0
1
0
-4
1
-7
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-2
0
-4
2
1
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
1
0
0
0
0
0
0
0
0
0
3
-3
-1
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
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
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
5
0
0
7
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-9
-10
-3
0
0
0
0
0
0
0
0
-5
0
0
3
0
-4
1
-8
1
0
0
0
0
0
0
0
0
1
0
1
2
0
7
-3
2
-3
0
0
0
0
0
0
0
1
4
0
-1
-4
7
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-2
-1
0
0
0
0
0
0
0
3
5
0
-1
1
0
-1
2
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
-1
-2
2
16
-3
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
1
0
3
0
0
0
0
0
0
0
0
0
0
0
5
4
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
-3
-1
1
2
0
0
0
0
0
0
0
0
0
0
1
0
3
2
9
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
3
0
0
0
0
0
0
0
0
0
-5
0
-5
10
14
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
-3
-4
0
4
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
15
-2
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-3
3
0
1
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-15
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
2
2
-2
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
5
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-6
5
-2
0
9
0
0
0
0
0
0
0
0
4
0
0
2
0
3
6
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
-6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
-1
-4
-2
0
0
0
0
0
0
0
0
3
-1
2
0
0
1
0
3
0
0
0
0
0
0
0
0
0
-1
-1
7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
3
5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-8
0
0
-2
-1
0
1
0
0
0
0
0
0
0
0
1
0
0
2
-1
3
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
-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
-1
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
2
-5
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-1
-1
0
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-4
9
1
0
-1
0
-3
0
0
0
0
0
0
0
-2
0
1
4
-6
-7
1
5
0
1
0
0
0
0
0
0
-2
0
5
-3
0
-1
-14
2
-4
0
0
0
0
0
0
0
0
0
1
-1
2
1
2
-1
1
0
1
-1
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
13
-2
-1
1
0
-1
0
-2
0
0
0
0
0
0
0
0
6
-1
-5
0
-1
0
4
0
4
0
0
0
0
0
0
0
0
1
0
0
-5
5
14
0
0
0
0
0
0
0
0
0
0
0
3
0
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
7
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
-9
2
0
-5
0
0
0
0
0
0
0
0
0
1
-5
-7
-1
-1
0
0
3
0
0
0
0
0
0
0
0
-1
4
-5
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-3
2
-10
0
2
0
0
0
0
0
0
0
0
0
2
0
1
-2
19
3
3
-5
24
0
0
0
0
0
0
0
0
0
2
2
13
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
1
-9
-1
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
-1
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
-4
-2
2
0
0
0
0
0
0
0
0
0
0
-3
0
25
-2
12
3
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-1
-4
-6
-2
-14
-8
-8
-1
0
0
0
0
0
0
0
-1
1
1
0
-1
-24
1
0
-14
1
0
0
0
0
0
0
0
0
5
0
8
-13
7
-1
-1
2
0
0
0
0
0
0
0
0
2
0
-1
-1
3
0
1
0
0
3
0
0
0
0
0
0
0
0
8
-1
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
2
0
0
0
0
1
0
0
0
0
0
0
0
0
13
0
1
-1
2
0
0
0
2
0
0
0
0
0
0
0
0
0
2
-2
1
1
5
4
5
0
0
0
0
0
0
0
0
0
-2
-1
-8
0
-2
-8
-2
0
2
0
0
0
0
0
0
0
0
0
1
-2
0
-2
-2
1
-2
1
0
0
0
0
0
0
0
1
0
-2
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-2
0
0
0
5
-1
0
1
-1
1
0
0
0
0
0
0
-1
-1
-19
-1
2
2
0
0
0
-3
-1
0
0
0
0
0
0
0
4
0
5
-5
1
-4
-7
13
0
0
0
0
0
0
0
0
-1
-1
3
-1
15
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
6
3
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-8
1
4
0
1
0
0
0
0
0
0
0
0
0
-2
0
-13
-8
0
-1
-3
2
5
3
0
0
0
0
0
0
0
0
0
2
-3
-1
-12
0
1
0
-2
0
0
0
0
0
0
0
0
1
0
4
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
7
0
1
0
0
2
0
0
0
0
0
0
0
0
1
0
13
8
8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
7
6
2
-2
-10
-9
0
2
0
0
0
0
0
0
2
0
0
-1
-3
3
7
-5
-17
1
0
0
0
0
0
0
0
-2
0
0
4
-10
1
-1
1
0
0
0
0
0
0
0
0
0
1
0
0
7
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
9
2
-2
1
1
0
0
0
0
0
0
0
0
0
0
2
2
-2
8
-1
19
0
0
0
1
0
0
0
0
0
0
0
-4
4
-14
2
16
1
1
5
-8
7
0
0
0
0
0
0
0
0
0
8
2
-12
-18
-1
1
-4
5
0
0
0
0
0
0
2
0
-4
3
3
9
1
2
-8
6
-2
0
0
0
0
0
0
0
2
-10
-2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
2
-10
-20
-15
-8
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
4
-2
-2
22
-3
0
3
0
0
0
0
0
0
0
0
1
-8
-6
7
-6
-10
1
-23
0
-1
0
0
0
0
0
0
0
-6
-2
10
6
12
0
1
16
0
0
0
0
0
0
0
0
1
7
-1
1
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
8
2
-2
-7
0
-12
0
-5
0
0
0
0
0
0
0
0
2
1
3
4
-3
2
-20
2
5
0
0
0
0
0
0
0
0
-8
2
-7
8
0
0
-10
-1
0
0
0
0
0
0
0
0
0
-2
-2
-4
-6
-13
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
-1
8
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
3
-3
-5
-1
-3
19
2
0
0
0
0
0
0
0
0
0
0
-7
1
0
-8
-2
5
0
0
0
0
0
0
0
0
0
-2
0
0
-1
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-6
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
1
-1
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
0
-3
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-17
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-12
8
-12
0
13
-9
-2
-9
0
0
0
0
0
0
0
0
1
1
-16
-8
0
-15
-6
-1
-1
0
0
0
0
0
0
0
0
0
-8
-1
-8
-13
8
2
-2
0
0
0
0
0
0
0
0
0
1
3
1
1
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
7
-5
0
0
2
2
0
0
0
0
0
0
0
0
0
-4
13
0
6
0
-1
0
1
0
0
0
0
0
0
0
-1
0
-9
3
-5
4
2
-8
-10
0
0
0
0
0
0
0
0
0
3
0
6
-5
5
1
-2
3
-2
0
0
0
0
0
0
0
0
0
-5
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
2
1
12
-1
0
0
0
2
0
0
0
0
0
0
0
0
2
-1
7
-2
-12
1
-7
-4
-4
0
0
0
0
0
0
0
3
0
8
-1
0
8
0
-6
0
6
0
0
0
0
0
0
0
0
0
1
-3
2
-3
0
0
0
6
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
1
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-4
1
-2
1
-1
-1
0
0
0
0
0
0
0
-1
0
0
-2
-1
1
0
-6
5
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
1
3
0
0
1
0
0
0
0
0
0
0
0
-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
2
0
-4
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
-1
3
5
1
0
-4
0
0
0
0
0
0
0
0
0
0
-15
0
4
-2
1
-2
-5
0
9
0
0
0
0
0
0
0
0
0
-2
10
1
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
0
0
0
-2
0
0
0
0
0
0
0
-2
0
-1
1
2
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
0
-22
0
0
0
4
0
0
0
0
0
0
0
0
2
0
-3
4
0
-1
0
-8
-1
0
0
0
0
0
0
0
0
0
1
8
-2
2
2
2
-1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
7
1
0
0
0
0
3
0
0
0
0
0
0
1
-1
15
-1
7
7
0
0
-5
0
-2
0
0
0
0
0
0
0
0
3
1
4
-8
0
1
7
0
0
1
0
0
0
0
0
1
0
0
0
0
25
-3
0
-4
2
0
0
0
0
0
0
0
0
2
-7
-2
7
2
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
16
1
-16
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
-2
-2
0
5
-3
0
0
0
0
0
0
0
4
7
13
4
12
15
0
0
0
-2
-1
0
0
0
0
0
0
5
10
-5
-8
6
-1
-19
0
8
-1
0
0
0
0
0
0
0
-13
-4
1
-20
1
-25
-1
-8
2
0
0
0
0
0
0
0
0
1
-4
-4
-2
35
-3
-6
0
0
0
0
0
0
0
0
0
0
0
-7
3
16
-4
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
2
0
0
0
0
6
0
0
0
0
0
0
0
-6
4
-8
-24
0
-6
0
0
0
-4
-1
0
0
0
0
0
0
0
19
-1
5
8
4
2
-1
0
0
0
0
0
0
0
0
0
0
-2
0
6
-8
0
-7
-3
0
0
-1
0
0
0
0
0
0
-1
2
5
-7
4
2
0
-5
0
-3
0
0
0
0
0
0
0
0
0
2
-7
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
-1
-2
0
1
0
2
0
0
0
0
0
0
0
0
4
-1
-16
3
0
0
0
1
-3
0
0
0
0
0
0
0
0
-5
2
2
7
5
3
0
0
-1
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
1
-4
1
0
-2
0
0
0
0
0
0
0
0
0
0
3
-4
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-2
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
-2
0
9
0
7
-8
0
0
0
0
0
0
0
0
0
4
2
9
3
20
3
0
-6
0
0
0
0
0
0
0
0
0
0
-8
-6
-5
-15
0
0
0
0
0
0
0
0
0
0
0
2
0
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
8
3
-1
0
0
0
1
0
0
0
0
0
0
0
0
7
-1
1
10
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
25
2
-6
-7
-8
-16
2
0
0
0
0
0
0
0
0
0
-1
0
-2
-22
-1
-2
1
0
0
0
0
0
0
0
0
0
5
1
16
-9
7
0
4
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
3
0
0
0
-1
0
0
0
0
0
0
0
0
-1
15
3
0
-3
0
-8
0
0
0
0
0
0
0
0
0
0
2
0
-3
1
7
0
-1
0
0
0
0
0
0
0
0
-3
-4
0
6
0
-1
2
-1
0
0
-3
0
0
0
0
0
0
0
0
2
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
0
2
0
0
0
0
0
0
0
0
0
0
4
1
-5
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
1
1
-1
0
2
-1
0
0
0
0
0
0
0
0
0
1
-5
1
8
6
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
2
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
-10
-6
0
-14
0
-2
-2
0
0
0
0
0
0
1
6
-24
0
0
0
2
6
4
-1
0
0
0
0
0
0
0
5
0
3
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
-1
-10
3
-3
0
0
0
0
0
0
0
0
0
2
-1
-1
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
6
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-3
0
0
0
1
0
0
0
0
0
0
0
-1
-1
-5
0
-3
0
1
8
-6
0
1
0
0
0
0
0
0
-2
0
5
1
5
0
10
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
1
0
-1
-2
-4
0
0
0
0
0
0
0
0
0
-2
3
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
17
8
-4
0
0
0
-2
0
0
0
0
0
0
2
-8
-2
9
10
22
-1
0
5
0
2
-1
0
0
0
0
0
3
-6
-8
1
3
-8
0
0
20
7
-1
0
0
0
0
0
0
-1
12
-2
0
7
-4
-5
0
2
0
0
0
0
0
0
0
0
-1
13
1
5
0
5
3
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
-4
0
4
0
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
2
-1
-4
-2
3
-2
4
0
-1
0
0
0
0
0
0
0
0
-6
-14
4
-8
-22
4
0
0
0
1
0
0
0
0
0
0
0
0
-2
-4
-4
-14
-13
1
-1
-13
-3
0
0
0
0
0
0
0
2
-5
-5
0
-17
4
0
0
-7
0
0
0
0
0
0
0
0
0
1
-6
-8
13
13
0
0
1
1
0
0
0
0
0
0
0
-3
5
-5
8
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
3
-3
-4
2
2
0
0
0
0
0
0
0
0
0
0
0
27
1
-34
-9
2
0
8
0
12
0
0
0
0
0
0
0
-1
-5
4
5
2
8
-2
-5
0
0
0
0
0
0
0
0
0
0
2
-4
-2
3
-2
-2
1
0
0
0
0
0
0
0
0
0
0
4
0
1
8
-4
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-1
-8
0
8
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
-3
1
-5
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
6
-3
1
-4
-2
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-1
0
-1
0
0
2
0
0
0
0
0
0
0
0
1
1
8
-3
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
8
-6
-13
0
-2
9
0
0
0
0
0
0
0
0
0
0
-6
-1
6
-4
5
-1
-3
0
0
0
0
0
0
0
0
0
4
-1
2
-1
-3
1
1
-2
0
0
0
0
0
0
0
0
0
0
-8
-1
-14
1
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
24
-3
2
0
2
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-8
-6
-1
9
0
3
0
0
0
0
0
0
0
0
2
0
2
-1
-16
-5
1
-1
0
0
0
0
0
0
0
0
1
0
-4
-7
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
20
-6
0
-1
2
4
8
-1
-2
-1
0
0
0
0
0
0
-1
0
-3
0
-4
1
0
-1
-1
0
0
0
0
0
0
0
0
-1
-1
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
2
0
-1
0
0
0
0
0
1
0
0
0
7
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-8
18
-7
0
0
0
0
-2
0
0
0
0
0
0
0
5
-1
-2
6
-7
7
0
-1
0
-2
0
0
0
0
0
0
0
1
1
2
7
-1
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
1
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
-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
-3
0
-1
0
0
0
0
0
0
0
0
0
0
-7
-3
-4
-4
0
-1
0
-1
0
0
0
0
0
0
0
0
0
-2
-1
-8
1
5
3
6
-3
-3
0
0
0
0
0
0
0
-2
-1
4
2
-2
1
0
2
-1
8
1
0
0
0
0
0
0
0
0
-1
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
8
0
-3
0
0
1
-1
0
0
0
0
0
0
-6
1
-7
19
-6
-4
-7
0
0
0
-1
0
0
0
0
0
0
2
-8
3
8
13
-29
2
9
24
-2
-2
-2
0
0
0
0
0
8
9
8
-33
-3
0
7
0
12
0
-1
0
0
0
0
0
0
2
4
14
20
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
8
0
13
2
0
0
-4
0
0
0
0
0
0
0
5
4
-10
-42
3
8
0
0
0
2
-1
0
0
0
0
0
0
-4
1
-6
-25
7
-7
-6
0
5
0
-1
0
0
0
0
0
0
8
-2
25
-14
3
33
-7
0
-12
1
0
0
0
0
0
0
-1
-8
-7
-8
8
3
2
-1
0
1
0
0
0
0
0
0
0
0
-3
-2
0
16
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
8
-5
0
0
0
1
0
0
0
0
0
0
0
3
1
2
-6
-6
-5
0
5
0
4
1
0
0
0
0
0
0
0
3
-8
22
-15
3
3
6
-1
1
0
0
0
0
0
0
0
0
2
10
5
-1
-14
9
0
0
-10
2
0
0
0
0
0
0
0
0
0
0
14
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
3
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
1
3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
-1
1
-7
3
-8
0
0
0
0
0
0
0
0
0
0
-1
1
0
6
-2
-8
0
-5
0
0
0
0
0
0
0
0
0
-1
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
2
-4
1
4
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-3
1
-2
-12
-9
0
1
-2
0
0
0
0
0
0
0
0
0
0
4
5
0
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-12
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-14
-2
-4
2
18
5
2
0
0
0
0
0
0
0
0
-1
1
0
0
-5
-8
0
-3
-2
0
0
0
0
0
0
0
0
2
0
3
0
-4
4
0
5
0
0
0
0
0
0
0
0
0
0
5
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
15
0
-1
0
1
0
0
0
0
0
0
-3
0
1
3
-1
1
0
-1
-1
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
0
2
-3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-6
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
9
0
0
0
0
0
0
0
0
1
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-2
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
-1
-6
3
4
-10
0
0
0
0
0
0
0
-1
1
0
-4
-8
1
1
0
1
0
3
0
0
0
0
0
0
0
-2
1
0
-2
0
0
0
0
0
6
0
0
0
0
0
0
0
3
0
8
-5
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
1
-7
2
-6
-2
0
0
0
1
0
0
0
0
0
0
0
0
-6
-5
16
5
7
-1
0
3
0
1
0
0
0
0
0
0
0
-1
-7
-2
-1
-1
-1
3
1
-5
0
0
0
0
0
0
0
0
0
-2
9
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-5
2
29
3
0
0
0
4
0
0
0
0
0
0
0
0
4
6
-3
-37
-7
-3
-27
-8
-1
0
0
0
0
0
0
0
10
13
14
3
23
-31
-1
-2
0
1
0
0
0
0
0
0
6
2
-2
-7
-3
6
1
0
8
0
5
0
0
0
0
0
0
-1
-3
1
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
-1
5
-8
-8
10
27
0
-2
0
-2
0
0
0
0
0
0
1
2
0
9
-1
-42
17
-21
2
-13
-1
2
0
0
0
0
0
0
0
5
-5
3
21
0
0
0
-23
0
0
0
0
0
0
0
0
1
-3
8
2
-1
2
2
-5
10
0
0
0
0
0
0
0
0
-2
-1
9
-1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
-7
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
6
-7
1
0
-1
0
5
0
0
0
0
0
0
0
-1
2
-3
4
-3
2
-23
-27
10
-1
0
0
0
0
0
0
0
0
4
0
-5
-3
-3
3
0
0
8
0
0
0
0
0
0
0
0
-12
-2
-1
-5
3
9
7
0
9
0
0
0
0
0
0
0
0
1
2
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
-8
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-16
8
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
-2
0
0
0
0
0
0
0
0
0
-1
1
-3
-6
-20
1
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
1
-8
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-9
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
4
1
-13
3
-1
0
0
0
0
0
0
0
0
0
-2
0
-1
1
0
-4
-2
0
0
0
0
0
0
0
0
0
4
0
-17
0
4
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-8
0
13
0
1
0
0
0
0
0
0
0
1
0
-1
-19
1
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
-5
2
-3
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
5
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-20
-1
-5
-3
0
2
0
0
0
0
0
0
0
0
0
-1
-22
-2
-12
19
2
-1
9
-3
0
0
0
0
0
0
0
0
5
1
18
0
13
4
-3
2
1
1
0
0
0
0
0
0
1
-8
7
-2
-23
-14
3
-3
7
0
0
0
0
0
0
0
0
5
0
1
1
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
-2
9
0
0
0
0
0
0
0
0
0
0
0
-12
-4
1
23
9
10
0
-15
0
0
0
0
0
0
0
0
0
4
1
13
-13
13
-3
-10
-1
-30
-1
0
0
0
0
0
0
0
-3
-3
10
-1
4
20
-33
0
0
1
0
0
0
0
0
0
0
-1
3
-1
17
-13
-9
2
0
6
0
0
0
0
0
0
0
0
3
1
-10
-3
17
1
0
0
2
0
0
0
0
0
0
0
0
0
-8
2
4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
13
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
-2
8
0
0
0
1
0
0
0
0
0
0
0
1
0
-3
-1
-5
-8
0
-4
0
0
0
0
0
0
0
0
0
0
4
6
-9
-3
8
6
-16
2
13
0
0
0
0
0
0
0
2
1
-2
2
4
10
-1
-5
0
-2
0
0
0
0
0
0
0
0
-25
-4
-3
-2
-3
-1
-1
0
3
0
0
0
0
0
0
0
0
3
-3
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-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
-8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
3
-1
-3
-1
1
0
-2
0
0
0
0
0
0
0
0
0
0
-1
1
1
2
0
0
1
0
0
0
0
0
0
0
0
8
1
-4
-1
1
5
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
4
0
-4
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
0
0
1
0
-2
0
0
-3
0
0
-3
-3
0
0
0
0
0
0
0
0
-2
0
-8
1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
3
13
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
1
0
0
20
-20
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-16
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-4
-15
-7
8
1
19
0
0
0
0
0
0
0
0
-4
1
-8
-3
-2
25
-16
0
-34
0
0
0
0
0
0
0
0
-1
4
-2
-5
0
14
-8
0
-12
0
0
0
0
0
0
0
0
4
9
-12
-2
-17
-18
0
0
4
0
0
0
0
0
0
0
0
-10
3
-25
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-2
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
-3
4
-5
0
0
0
0
0
0
0
0
-2
2
0
-4
-1
1
-8
0
-4
0
0
0
0
0
0
0
0
-1
1
7
-1
0
5
-2
0
1
0
0
0
0
0
0
0
0
-7
1
17
0
-1
-1
0
0
-2
0
0
0
0
0
0
0
0
4
-10
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-1
-3
0
3
0
0
0
0
0
0
0
0
0
-1
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
-1
0
0
0
0
0
0
0
0
1
0
-4
2
6
-1
-5
0
2
0
0
0
0
0
0
0
0
0
0
2
0
-8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
6
5
-1
0
0
0
0
0
0
0
0
0
1
1
-1
-1
0
-1
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-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
1
0
0
-3
0
0
-1
0
-1
0
0
0
0
0
0
0
-1
0
0
1
-1
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
-1
1
0
-3
0
-5
2
0
0
0
0
0
0
0
7
0
0
0
0
-1
-1
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
-3
1
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-6
8
0
0
0
0
0
0
0
0
0
0
1
4
7
4
-7
14
3
-6
2
0
0
0
0
0
0
0
0
-1
1
0
0
-5
-3
-1
2
0
-1
0
0
0
0
0
0
0
0
0
1
-3
0
3
-3
3
-1
0
0
0
0
0
0
0
0
0
-2
-2
7
9
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
23
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
0
4
4
0
3
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
2
-2
-1
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-4
5
5
4
0
0
0
0
0
0
0
0
1
0
1
0
-7
-2
-4
5
4
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
6
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
4
0
-4
-3
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-1
-25
0
0
13
1
2
0
0
0
0
0
0
0
-4
8
0
0
1
4
14
0
2
0
0
0
0
0
0
0
0
3
0
-1
6
14
7
1
-6
-1
0
0
0
0
0
0
0
0
4
-1
0
7
-5
8
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
2
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
-3
3
-7
-1
0
0
0
0
0
0
0
0
0
2
1
0
-1
-1
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
2
-2
1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
-1
5
-3
-3
5
0
1
0
0
0
0
0
0
0
0
0
0
5
2
5
7
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
2
3
3
0
-3
0
0
0
0
0
0
0
0
0
0
-1
3
5
-5
2
4
3
-6
0
0
0
0
0
0
0
0
2
1
0
1
-2
-13
0
0
10
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
1
3
0
-1
0
0
0
0
0
0
0
0
0
1
0
-2
4
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
1
-6
-4
0
1
-3
0
29
0
0
0
0
0
0
0
0
0
-3
6
6
-9
-4
6
23
-1
0
3
0
0
0
0
0
0
0
0
0
7
8
8
7
5
-6
-5
-2
0
0
0
0
0
0
0
-4
-2
-1
0
17
-8
-8
-3
-3
0
-1
0
0
0
0
0
0
0
2
1
-19
-5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-1
-1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-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
1
-3
0
2
-5
-5
-8
5
0
6
0
0
0
0
0
0
0
-1
5
0
6
9
-13
4
6
1
0
0
0
0
0
0
0
0
5
0
-1
4
1
42
7
-2
0
0
0
0
0
0
0
0
0
1
14
4
4
-14
-2
6
-3
0
0
0
0
0
0
0
0
0
0
-3
-3
-1
-15
2
-4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
-14
-14
0
0
0
0
0
0
0
0
0
0
3
-1
-1
39
-2
14
-8
-2
0
0
0
0
0
0
0
0
0
-1
4
-8
0
0
10
3
1
1
0
0
0
0
0
0
0
0
0
2
2
3
3
-8
2
0
17
0
0
0
0
0
0
0
0
3
0
2
0
-14
4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-1
8
17
0
1
-2
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
2
0
1
2
0
-3
1
0
0
1
0
0
0
0
0
0
0
3
0
0
14
2
4
4
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-6
1
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
2
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
-5
6
-8
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
-3
4
-6
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
3
0
-2
7
0
0
0
0
0
0
0
-1
0
3
0
10
-2
8
9
-3
0
0
0
0
0
0
0
0
-2
-1
0
-4
5
-6
4
14
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-4
1
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
2
0
0
0
0
0
0
0
0
0
6
1
0
1
4
-2
-4
-5
0
1
0
0
0
0
0
0
0
0
0
0
3
-3
6
-5
0
1
1
0
0
0
0
0
0
0
0
0
2
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-2
6
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
1
1
3
1
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
2
-2
0
3
0
0
0
0
0
0
0
0
1
1
0
1
-2
0
-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
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
3
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-12
0
4
-1
0
0
0
0
0
0
0
-2
0
7
0
-12
-1
-2
-1
0
1
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
-3
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-2
0
7
0
2
6
0
6
0
0
0
0
0
0
0
0
0
-4
2
0
12
2
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
4
2
17
0
2
0
0
0
0
0
0
0
4
1
0
0
-2
7
-10
-5
0
0
0
0
0
0
0
0
0
5
0
0
-8
2
6
-1
2
3
-1
-5
0
0
0
0
0
0
0
0
-2
0
19
-8
4
-1
1
0
0
0
0
0
0
0
0
-2
0
-1
2
0
13
-2
5
0
0
-1
0
0
0
0
0
0
0
0
0
-1
6
3
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
5
3
1
0
-16
-5
0
-1
0
0
0
0
0
0
0
0
2
3
0
-1
7
-1
-8
4
-3
0
0
0
0
0
0
0
0
2
-2
1
1
0
8
4
0
-2
0
0
0
0
0
0
0
0
1
0
1
-2
0
1
1
0
1
0
0
0
0
0
0
0
0
3
0
1
-8
1
1
4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-1
1
-3
0
0
-4
0
0
0
0
0
0
0
0
6
1
0
-1
4
4
-20
-25
-1
-2
0
0
0
0
0
0
0
8
0
7
15
12
4
-8
6
0
0
0
0
0
0
0
0
0
-2
3
2
0
3
-8
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
3
-2
5
0
1
0
0
0
0
0
0
0
0
0
7
0
-1
0
5
8
5
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-3
-4
0
-1
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
1
2
-7
0
0
0
0
0
0
0
0
0
0
5
0
0
1
-1
-16
13
16
3
0
0
0
0
0
0
0
1
-2
0
-2
-2
-2
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-3
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
6
-2
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
1
10
-2
3
6
-1
0
0
0
0
0
0
0
0
0
-1
7
-1
0
2
3
-1
0
0
0
0
0
0
0
0
0
0
-1
6
5
3
0
1
-1
0
0
0
0
0
0
0
0
0
-1
-4
-3
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
0
3
-1
0
-5
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
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
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
10
0
0
0
0
3
-5
-2
0
0
0
0
0
0
0
0
0
1
-3
-1
0
-1
9
-1
0
1
0
0
0
0
0
0
0
0
0
-3
0
-3
-3
1
9
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
4
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
-7
5
-5
-2
0
0
0
0
0
0
0
0
0
-1
0
1
-8
13
4
-3
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
13
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-8
0
0
4
0
1
0
0
0
0
0
0
0
0
3
0
0
-3
10
0
8
2
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
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
3
0
0
0
-8
-1
2
-1
0
1
0
0
0
0
0
0
0
-3
4
-2
-12
8
2
13
2
2
0
0
0
0
0
0
0
0
2
-1
0
-13
-13
-3
-6
-1
-9
0
-1
0
0
0
0
0
0
-3
0
3
4
2
9
1
0
-3
0
0
0
0
0
0
0
0
0
1
-1
0
0
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
4
4
-2
6
0
8
-12
-8
12
0
0
0
0
0
0
0
0
-6
0
-1
-6
-1
-4
-6
0
-7
-5
0
0
0
0
0
0
0
-1
0
1
3
-2
1
-12
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
-2
0
7
0
4
0
0
0
0
0
0
0
-1
0
-3
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-7
0
1
-1
0
0
0
0
0
0
0
-8
-1
1
-3
-7
-6
10
-3
-2
0
0
0
0
0
0
0
0
2
0
0
1
-3
-7
-7
10
-8
0
0
0
0
0
0
0
0
0
3
0
-3
2
3
1
0
0
1
0
0
0
0
0
0
0
4
-4
3
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
6
2
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
-1
0
0
-1
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
-4
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-8
-1
-1
-6
0
0
0
0
0
0
0
0
-3
0
0
-4
19
0
-1
0
-2
0
0
0
0
0
0
0
5
0
0
-1
-9
3
1
0
-1
-2
0
0
0
0
0
0
0
0
0
4
-1
1
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-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
-1
9
0
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
2
24
0
-4
-1
0
0
0
0
0
0
0
0
0
1
0
-2
-2
0
-6
3
4
-2
0
0
0
0
0
0
0
0
0
0
-6
-1
-1
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
3
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
1
1
0
4
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
-3
1
3
-1
-2
0
0
0
0
0
0
0
0
1
0
-1
0
-2
0
2
-2
0
0
0
0
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
10
1
0
-2
0
0
-1
0
0
0
0
0
0
-1
0
0
6
-1
0
5
2
-2
0
0
0
0
0
0
0
0
0
0
-2
0
7
7
1
-1
0
-1
0
0
0
0
0
0
0
5
0
-2
0
-2
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
4
1
0
-5
0
0
0
0
0
0
0
0
0
0
-3
1
0
-2
-2
6
-1
4
0
0
0
0
0
0
0
0
0
1
0
1
-13
-5
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
7
-1
1
0
0
0
0
0
0
0
0
3
0
0
-3
0
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-8
5
1
-19
0
0
0
0
0
0
0
0
0
13
-2
-3
-4
-29
-5
10
1
-12
0
0
0
0
0
0
0
0
-5
1
5
-24
-1
-1
16
32
2
1
0
0
0
0
0
0
0
0
-1
-2
10
1
-3
6
0
-3
2
0
0
0
0
0
0
0
0
0
-1
-6
-5
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-8
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
1
0
-1
-7
-5
-14
0
0
2
0
0
0
0
0
0
0
-1
-9
-1
-1
-6
-2
0
2
-9
3
0
0
0
0
0
0
0
1
-9
-1
-8
7
16
-8
-16
5
0
0
0
0
0
0
0
0
0
0
1
0
6
-14
0
-8
1
-1
0
0
0
0
0
0
0
2
1
0
-5
-4
3
3
0
0
-1
0
0
0
0
0
0
0
0
1
1
0
-6
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
7
0
5
5
0
-7
0
0
0
0
0
0
0
0
0
0
8
-3
1
2
-27
4
-14
-3
0
1
0
0
0
0
0
0
0
10
-9
-5
2
2
-15
6
-10
0
1
0
0
0
0
0
0
0
-1
-2
0
-1
1
7
-6
3
1
0
0
0
0
0
0
0
0
0
3
0
-19
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
3
-2
0
0
0
0
0
0
0
0
3
0
0
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
1
0
-4
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
3
2
0
0
0
0
0
0
0
0
0
-1
4
5
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-1
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
-3
-1
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
13
6
6
5
0
1
0
0
0
0
0
0
0
1
0
0
2
0
1
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
-1
-6
1
3
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
-3
-7
0
0
0
0
0
0
0
0
-1
0
2
1
2
1
-2
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
1
0
1
-6
2
0
-1
0
0
0
0
0
0
0
0
1
3
-1
-5
3
-8
-10
-4
1
0
0
0
0
0
0
0
0
1
0
0
-2
0
3
-2
5
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-6
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-1
0
6
0
0
0
0
0
0
0
0
2
1
1
-1
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
2
1
7
-5
-13
0
0
0
0
0
0
0
0
0
-2
2
-15
-1
3
49
7
-3
-23
1
0
0
0
0
0
0
0
-17
0
-3
0
-1
-2
4
13
8
0
0
0
0
0
0
0
0
4
-1
3
-14
16
-10
12
0
5
0
0
0
0
0
0
0
0
1
0
0
-6
-5
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-8
-1
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
10
8
4
0
5
1
0
0
0
0
0
0
0
-5
-1
9
3
1
-2
8
-14
0
0
0
0
0
0
0
0
-1
-15
0
5
-5
4
12
-10
8
4
0
0
0
0
0
0
0
0
-1
0
-5
0
8
-19
-8
-1
-5
0
0
0
0
0
0
0
0
0
0
-3
5
10
-4
5
1
3
0
0
0
0
0
0
0
0
0
0
-6
14
2
16
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
2
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-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
-1
0
0
-4
17
0
0
0
0
0
0
0
0
0
0
2
4
0
7
4
6
-1
5
-9
0
0
0
0
0
0
0
0
-7
10
0
13
0
-7
9
-7
8
0
0
0
0
0
0
0
0
-1
1
2
9
2
2
-8
4
4
0
0
0
0
0
0
0
0
-7
-1
2
0
5
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
7
0
4
-13
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-3
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
2
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-1
-6
1
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
2
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
2
0
5
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
1
-4
-4
6
0
1
0
0
0
0
0
0
0
0
0
4
1
16
-10
9
-1
-4
3
-2
0
0
0
0
0
0
10
0
-3
-8
10
23
16
2
-7
0
0
0
0
0
0
0
0
0
1
-1
4
-10
-22
4
6
0
0
0
0
0
0
0
0
0
3
1
-1
0
4
10
-25
1
3
0
0
0
0
0
0
0
0
-1
2
1
3
7
4
12
-3
1
0
0
0
0
0
0
0
0
0
1
0
10
1
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
-5
-2
0
8
0
3
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
-8
-8
8
-8
9
0
0
0
0
0
0
0
0
-18
2
0
6
-20
5
2
3
0
0
0
0
0
0
0
0
0
4
0
3
24
4
-1
-6
3
7
0
0
0
0
0
0
0
0
-24
4
8
3
-5
-24
-5
-1
-2
0
0
0
0
0
0
0
0
6
0
0
-2
-1
6
-43
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
-5
-4
0
0
0
0
0
0
0
0
0
0
-8
3
0
-2
1
-3
7
4
2
1
0
0
0
0
0
0
0
0
1
-1
-6
0
3
0
5
-8
0
0
0
0
0
0
0
0
2
-1
2
-17
10
-3
-7
-1
1
-2
0
0
0
0
0
0
0
6
0
0
0
7
9
-1
5
0
0
0
0
0
0
0
0
0
-1
0
-2
-2
9
-5
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-6
-3
0
2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-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
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-2
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
2
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-1
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
5
0
1
-2
0
0
0
0
0
0
0
0
-5
1
0
9
-5
8
4
2
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
1
4
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
-2
0
0
0
0
0
0
0
0
0
0
-2
0
1
10
-1
-1
2
-3
12
0
0
0
0
0
0
0
0
-24
1
12
6
4
2
0
0
-4
0
0
0
0
0
0
0
0
-1
-1
1
2
-3
-1
0
0
0
0
0
0
0
0
0
0
2
0
1
0
3
-17
0
-10
0
-1
0
0
0
0
0
0
0
0
17
-2
-1
-9
-10
-19
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
9
-3
-4
-2
6
-1
0
0
0
0
0
0
0
0
0
-1
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
1
0
0
0
0
0
0
0
0
0
0
0
3
0
2
1
0
1
0
-2
-3
0
0
0
0
0
0
0
1
0
0
6
0
1
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-2
-4
0
-1
0
0
0
0
0
0
0
0
0
-1
0
1
12
6
2
1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-2
0
-1
-2
-1
5
0
0
0
0
0
0
0
0
1
0
4
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-3
7
0
0
0
-12
0
0
0
0
0
0
0
0
0
1
-2
1
1
2
-6
0
0
0
0
0
0
0
0
0
0
0
1
4
-12
8
1
-3
0
2
0
0
0
0
0
0
0
0
2
5
0
4
-5
8
-1
-1
0
-2
0
0
0
0
0
0
0
0
-1
0
-1
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
2
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
5
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
-4
0
0
0
-1
6
-3
0
0
0
0
0
0
0
0
-8
-1
0
2
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
-1
-3
1
1
0
-1
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-2
5
-2
-16
0
3
-48
1
0
0
0
0
0
0
0
-1
22
6
-9
-7
0
0
0
7
1
0
0
0
0
0
0
0
-8
4
37
25
-16
-4
-43
12
-22
-6
0
0
0
0
0
0
0
2
22
3
-5
-33
-41
4
0
7
0
0
0
0
0
0
0
0
-9
-16
-8
-1
-5
8
-2
-4
-1
0
0
0
0
0
0
0
0
-1
-24
-5
-1
-20
5
2
-2
0
0
0
0
0
0
0
0
0
0
0
6
2
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
-5
-1
0
0
0
0
0
0
0
0
3
0
-1
7
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-3
13
5
4
1
-3
-1
5
-1
0
0
0
0
0
0
0
0
12
0
-6
-2
-5
0
-6
3
1
3
0
0
0
0
0
0
-1
0
12
0
2
0
4
-4
3
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
-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
-1
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
5
0
0
7
0
0
0
0
0
0
0
0
0
-3
-2
1
8
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
-2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-9
-6
-16
0
-8
0
2
0
0
0
0
0
0
0
-1
15
8
-14
3
-2
-1
-9
-37
0
0
0
0
0
0
0
-4
-6
6
20
8
-45
-1
0
1
-7
-1
0
0
0
0
0
0
3
29
-5
1
0
8
-8
1
0
0
0
0
0
0
0
0
0
-3
2
-5
-1
1
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
0
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
14
-3
-1
0
0
0
0
0
0
0
0
0
0
4
7
0
19
-14
7
3
0
-1
0
2
0
0
0
0
0
0
-1
-3
-22
-13
8
-9
17
-13
4
17
-2
0
0
0
0
0
0
0
0
3
8
-13
-6
-17
1
-19
-2
0
0
0
0
0
0
0
0
1
13
4
3
-8
8
-5
0
0
0
0
0
0
0
0
0
0
3
-22
24
-3
3
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-7
19
13
5
-5
0
6
-3
1
0
0
0
0
0
0
-12
-17
-44
-22
17
-21
0
-2
0
10
2
0
0
0
0
0
0
8
-5
-3
-8
13
-22
-6
14
3
6
-7
0
0
0
0
0
0
5
-25
6
6
-2
-2
4
20
-8
2
0
0
0
0
0
0
0
-1
-10
-7
21
-5
-10
-33
1
1
0
0
0
0
0
0
0
0
0
6
9
-16
-31
7
0
0
0
0
0
0
0
0
0
0
0
0
19
0
13
7
-9
0
0
0
-2
0
0
0
0
0
0
0
0
-7
0
0
-6
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-4
2
0
0
0
1
1
0
0
0
0
0
0
0
-6
-5
24
-3
-1
0
-1
0
3
4
0
0
0
0
0
0
0
2
1
-2
8
10
7
3
-8
1
-5
0
0
0
0
0
0
0
0
-8
1
7
7
7
0
3
-9
0
0
0
0
0
0
0
0
-3
1
-5
6
5
-2
0
4
0
0
0
0
0
0
0
0
0
0
5
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
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
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
2
0
2
0
0
0
0
0
0
0
0
0
2
-4
0
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-1
1
-4
1
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
1
-2
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
0
0
0
0
-1
0
0
0
0
0
0
0
2
2
2
3
-2
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-8
14
-2
-1
2
-23
0
0
0
0
0
0
0
0
-7
3
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
4
-1
1
-1
1
0
0
1
0
0
0
0
0
0
0
-3
9
5
-7
1
-9
0
1
0
0
0
0
0
0
0
0
3
-2
-2
-2
6
-12
0
2
4
-2
-2
0
0
0
0
0
0
0
-6
-2
-6
-10
-16
0
0
-1
-5
0
0
0
0
0
0
0
0
8
8
-5
-24
12
1
-1
0
0
0
0
0
0
0
0
0
0
-1
6
2
-8
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
4
0
0
-3
0
0
0
0
0
0
0
0
0
-7
0
14
-3
-29
0
-8
0
1
0
-1
0
0
0
0
0
0
9
0
-4
-2
15
7
-19
5
14
18
5
0
0
0
0
0
0
0
-8
5
12
23
-15
6
-19
0
7
-8
0
0
0
0
0
0
0
3
4
9
-4
-7
-13
-8
-1
0
0
0
0
0
0
0
0
0
0
16
-43
18
8
-2
0
0
-1
0
0
0
0
0
0
0
0
0
-13
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
9
-8
-8
4
0
13
0
0
0
0
0
0
0
0
-14
6
18
51
10
0
0
0
0
6
0
0
0
0
0
0
0
-3
-2
29
-15
0
0
3
-8
-5
-2
-1
0
0
0
0
0
0
-7
-18
1
0
-13
-18
5
-5
-2
1
0
0
0
0
0
0
0
0
3
-10
-19
-8
25
1
8
-6
-1
1
0
0
0
0
0
0
0
0
5
4
-12
13
2
-2
-1
0
0
0
0
0
0
0
0
-1
-1
2
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-1
0
-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
1
0
2
0
0
0
8
0
0
0
0
0
0
0
0
1
2
2
-6
-1
0
-1
0
6
0
0
0
0
0
0
0
0
-4
0
-1
-10
14
-3
0
1
-42
2
0
0
0
0
0
0
0
0
1
-2
7
-6
-3
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-5
0
-1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
1
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
3
-3
-2
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
1
5
-25
2
1
0
-2
0
0
0
0
0
0
-5
0
-1
0
-5
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
6
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
2
-14
-3
0
2
0
0
0
0
0
0
0
0
0
1
1
3
8
0
-9
-15
0
0
0
0
0
0
0
0
0
0
0
0
1
3
17
0
0
4
-14
-6
0
0
0
0
0
0
0
0
5
5
-2
8
24
-8
0
-4
0
0
0
0
0
0
0
0
0
1
0
-1
8
9
-24
0
0
0
1
0
0
0
0
0
0
-2
-1
4
-8
-4
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-50
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
23
2
0
0
0
0
3
0
0
0
0
0
0
-2
0
2
-22
-14
-8
5
-10
-6
13
1
0
0
0
0
0
0
-1
3
1
-3
10
25
-31
-14
-2
-2
1
0
0
0
0
0
0
0
0
3
20
-8
-5
25
8
0
8
0
0
0
0
0
0
0
2
-1
-1
-9
12
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-6
18
4
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
-2
33
-10
16
0
-1
0
0
2
0
0
0
0
0
0
2
1
-5
2
29
-5
-14
10
-6
0
0
0
0
0
0
0
0
1
-19
21
-16
-17
-9
-8
0
-1
0
-1
0
0
0
0
0
0
-2
-12
5
2
24
-5
10
-1
0
2
0
0
0
0
0
0
0
0
-7
8
0
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-5
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
-9
-2
1
0
0
0
-3
0
0
0
0
0
0
0
0
-1
-1
0
-5
-7
0
-4
7
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
-8
4
10
0
0
2
0
0
0
0
0
0
0
0
0
0
1
1
7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
4
0
4
-2
0
0
0
-2
0
0
0
0
0
0
0
0
4
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
8
-3
-25
-6
0
-18
0
0
0
0
0
0
0
0
4
4
-3
-17
3
-5
0
2
-5
0
0
0
0
0
0
0
-1
-1
1
4
-3
13
-6
0
-10
-1
0
0
0
0
0
0
0
0
2
0
0
-4
10
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-5
-4
0
1
0
0
0
0
0
0
0
0
0
2
1
-3
-32
-5
1
1
0
-5
0
0
0
0
0
0
0
0
0
3
5
-5
10
-1
-2
-7
0
6
0
0
0
0
0
0
0
0
1
16
6
-10
5
-13
1
0
-6
0
0
0
0
0
0
0
0
-1
-1
4
-30
-6
-14
0
0
2
0
0
0
0
0
0
0
0
6
3
-6
19
-23
-8
3
0
5
0
0
0
0
0
0
0
0
5
17
3
-30
4
-3
1
1
0
0
0
0
0
0
0
0
0
0
1
-13
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-6
6
1
-4
0
0
-1
2
0
0
0
0
0
0
0
4
-4
13
-8
-1
7
0
0
0
0
0
0
0
0
0
0
0
5
8
6
-2
-13
3
1
-5
4
0
0
0
0
0
0
0
0
2
-1
2
8
17
2
6
-1
0
0
0
0
0
0
0
0
0
0
-6
-19
0
-6
4
-9
-3
0
0
0
0
0
0
0
0
0
-2
8
4
8
-23
-7
-1
0
0
-1
0
0
0
0
0
0
0
0
-8
1
-30
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
1
2
-1
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-2
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
1
-1
-4
0
0
-1
0
0
0
0
0
0
0
0
-1
0
1
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
17
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
2
-9
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
2
-8
0
0
8
-15
0
0
0
0
0
0
0
1
0
0
8
-24
2
0
5
1
-6
3
0
0
0
0
0
0
0
0
0
-2
3
30
-9
5
0
-3
0
0
0
0
0
0
0
0
10
0
10
-22
5
12
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-3
8
-2
0
0
0
3
0
0
0
0
0
0
0
0
6
-4
4
7
12
5
0
1
0
0
0
0
0
0
0
0
0
0
5
0
12
4
4
0
1
-41
3
0
0
0
0
0
0
0
1
-1
-8
-13
0
4
-7
0
2
-1
0
0
0
0
0
0
0
0
0
2
-23
25
-24
-24
1
4
1
0
0
0
0
0
0
0
3
-5
-1
-3
-7
13
-7
0
0
0
0
0
0
0
0
0
0
0
3
-1
20
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-2
0
1
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-25
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-37
1
-3
-2
0
1
-5
-8
0
0
0
0
0
0
0
0
3
0
1
0
-10
-25
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
5
-18
6
5
0
0
0
0
0
0
0
0
0
0
0
-8
8
0
9
6
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-3
5
0
10
0
0
0
0
0
0
0
0
0
0
0
-1
5
5
3
-7
17
2
0
10
0
0
0
0
0
0
0
0
2
0
-3
-2
-3
-19
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-2
1
3
0
-8
-4
1
0
0
0
0
0
0
0
-5
5
-2
-1
19
2
2
0
0
-1
0
0
0
0
0
0
0
-2
3
-2
-8
-2
9
2
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-3
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-7
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
9
2
0
8
0
0
0
0
0
0
0
0
0
0
13
-1
3
-5
-17
-6
0
7
0
0
0
0
0
0
0
0
1
-3
-5
-13
-3
12
0
8
8
-1
0
0
0
0
0
0
0
1
0
0
-17
-8
2
4
0
0
0
0
0
0
0
0
0
0
1
-1
0
-9
-8
-8
16
-1
-1
0
0
0
0
0
0
0
0
-4
-1
0
0
-7
-8
7
1
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
1
0
-1
0
0
0
0
0
0
0
0
-2
0
-1
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
9
0
-12
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
3
0
16
0
4
0
0
0
0
0
0
0
0
0
-1
0
1
0
-8
1
2
0
9
0
0
0
0
0
0
0
0
0
0
-8
6
-1
-9
0
14
0
0
0
0
0
0
0
0
0
1
-1
1
-2
-5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-9
-15
10
0
-4
-5
0
0
0
0
0
0
0
0
25
-30
34
16
-1
2
5
-30
2
-8
2
0
0
0
0
0
0
-19
-7
-7
2
19
2
23
-2
-7
0
1
0
0
0
0
0
0
-15
2
14
7
22
12
-20
23
-8
0
0
0
0
0
0
0
0
0
-1
-4
2
-15
-5
-16
-8
6
-1
0
0
0
0
0
0
0
-8
0
0
-24
-8
-24
-4
4
4
2
2
0
0
0
0
0
0
3
0
-1
1
-4
-3
6
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
2
-1
4
-5
0
0
0
-3
0
0
0
0
0
0
0
0
2
5
-1
3
-7
1
4
0
1
0
0
0
0
0
0
0
0
-4
-1
-4
14
-7
-10
8
-1
-1
0
0
0
0
0
0
0
0
1
-4
-2
-10
-3
-6
8
-2
-1
0
0
0
0
0
0
0
0
-2
3
0
-8
-4
-2
1
-2
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-3
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
4
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
4
2
6
0
2
-2
0
0
0
0
0
0
5
1
5
-5
24
0
34
10
-5
-1
0
0
0
0
0
0
0
2
-1
-1
-2
9
-9
9
1
-6
0
0
0
0
0
0
0
0
0
0
5
2
-17
0
9
0
0
1
0
0
0
0
0
0
0
0
1
0
0
-1
12
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
5
0
-3
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-13
-15
-7
-17
-5
0
0
1
0
0
0
0
0
0
2
2
4
5
-9
-24
-3
-41
6
3
0
0
0
0
0
0
0
-4
-1
-10
2
13
20
-41
5
-2
-3
0
0
0
0
0
0
0
25
1
-12
-17
10
-44
2
-25
1
-22
-2
0
0
0
0
0
0
0
0
6
-8
-7
20
19
1
0
0
-1
0
0
0
0
0
0
0
-2
-3
-3
0
-4
8
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
6
2
9
-5
30
-2
0
4
-1
0
0
0
0
0
0
-34
22
6
-4
23
-15
-9
1
43
2
7
0
0
0
0
0
0
1
-2
-6
-20
15
42
37
-6
-1
-44
0
0
0
0
0
0
0
-4
-10
14
-13
-2
-10
10
0
7
-5
-2
0
0
0
0
0
0
0
0
-25
5
-9
2
25
8
-4
-3
0
0
0
0
0
0
0
-1
0
-4
-5
-6
4
4
10
6
3
0
0
0
0
0
0
0
-3
0
0
-3
4
0
-3
1
1
-1
0
0
0
0
0
0
0
0
0
-1
0
0
14
-9
3
-1
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
9
-14
-6
7
5
-4
-9
0
-3
-1
0
0
0
0
0
0
0
27
5
8
3
18
25
50
-23
-13
-2
-3
0
0
0
0
0
0
-5
-2
18
1
7
-10
9
-22
3
-2
0
0
0
0
0
0
0
-8
-20
-9
-7
-75
-33
15
-2
-4
0
-3
0
0
0
0
0
0
-4
0
-14
-5
-25
-72
0
14
3
8
0
1
0
0
0
0
0
8
16
-1
-4
-7
-17
5
29
5
-4
0
0
0
0
0
0
0
0
-2
-1
8
-4
-7
4
4
2
0
0
0
0
0
0
0
0
0
0
0
1
0
3
13
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
9
1
-2
-1
-4
13
0
-24
-5
0
0
0
0
0
0
0
0
-5
3
-5
2
-7
2
17
-2
-2
1
0
0
0
0
0
0
0
13
5
-1
-1
14
-5
2
3
0
5
0
0
0
0
0
0
0
2
-1
-5
3
18
10
0
0
0
-2
0
0
0
0
0
0
0
1
14
0
-10
-6
37
0
2
0
0
0
0
0
0
0
0
0
3
0
-1
18
2
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
1
3
-3
2
-3
1
0
0
0
0
0
0
0
0
0
0
-6
1
8
2
-3
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
1
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
6
12
0
0
0
0
0
0
0
0
0
-8
0
5
2
1
7
-8
6
-3
0
0
0
0
0
0
0
0
3
0
0
2
4
0
12
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
2
12
0
-8
-1
0
0
0
0
0
0
0
0
1
-1
0
3
-8
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-1
-22
-1
15
-5
13
0
-1
1
0
0
0
0
0
0
5
8
-1
9
22
-5
-41
7
-2
6
2
0
0
0
0
0
0
5
13
3
-24
-5
-23
-5
0
0
13
0
0
0
0
0
0
0
19
-3
-4
-23
-24
-25
-16
0
-8
3
0
0
0
0
0
0
0
0
7
0
-7
-6
-7
1
-4
0
2
0
0
0
0
0
0
0
0
0
-3
8
0
-3
-1
-3
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
3
9
8
-4
-8
-2
0
-8
-1
0
0
0
0
0
0
-2
4
-2
-2
2
2
3
23
-17
2
-2
0
0
0
0
0
0
6
8
30
-9
4
-25
5
-10
8
1
-1
0
0
0
0
0
0
4
9
8
-24
-8
-13
-16
8
0
25
0
0
0
0
0
0
0
0
3
-1
-4
2
5
-2
0
-5
0
-1
0
0
0
0
0
0
1
-3
-1
-13
-12
-18
-8
6
0
0
0
0
0
0
0
0
0
0
-2
0
13
20
0
-4
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-18
-9
4
-16
0
-5
7
0
0
0
0
0
0
0
32
-16
1
-19
25
-6
-37
-22
-8
8
0
0
0
0
0
0
0
13
-10
25
-18
-2
5
34
5
-8
-4
0
0
0
0
0
0
0
-2
-35
10
13
-3
-15
3
14
0
-3
1
1
0
0
0
0
0
4
2
14
7
7
25
14
-1
-2
0
0
0
0
0
0
0
0
-1
5
0
5
5
23
-41
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
-1
-1
0
-4
7
0
0
0
0
0
0
0
0
8
0
2
8
15
8
0
-2
2
2
0
0
0
0
0
0
0
-2
7
1
1
4
-19
14
1
-4
0
0
0
0
0
0
0
0
1
-4
-2
-4
14
-14
-4
-4
0
1
0
0
0
0
0
0
0
0
0
3
2
-32
9
5
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
2
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
-1
0
-1
0
-4
0
0
0
0
0
0
0
0
0
1
3
0
-3
1
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
1
-8
3
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
-1
-2
8
0
0
0
0
0
0
0
0
0
-3
0
-8
1
1
3
-7
0
-2
0
0
0
0
0
0
0
1
0
-6
0
1
0
1
0
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
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
5
-5
3
-7
-5
0
0
0
0
0
0
0
0
0
1
-4
3
5
-9
-33
-23
-8
2
-2
-2
0
0
0
0
0
0
-1
29
4
2
-8
3
-17
2
4
0
1
0
0
0
0
0
0
-8
9
-4
2
-5
-27
0
9
0
1
0
0
0
0
0
0
0
0
-2
-1
-8
15
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
23
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
25
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
5
-17
-3
3
-6
0
1
0
0
0
0
0
0
0
1
30
6
-12
4
4
0
42
5
-9
1
0
0
0
0
0
0
-2
5
3
15
0
27
-19
8
9
-12
0
0
0
0
0
0
0
4
0
9
-4
-8
-18
10
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-2
4
25
5
0
-2
0
0
0
0
0
0
0
0
3
3
-1
-1
-16
-23
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-39
2
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
5
-10
4
8
-2
10
19
0
-7
-3
0
0
0
0
0
0
0
4
15
3
23
-5
5
-10
-7
-5
16
0
0
0
0
0
0
0
-3
-4
-1
27
-8
-8
-24
19
-1
0
0
0
0
0
0
0
0
4
2
6
-10
0
-8
-10
-1
-6
1
0
0
0
0
0
0
0
-1
-5
-1
-8
3
21
-9
0
0
-2
0
0
0
0
0
0
0
0
5
0
-8
25
6
3
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-2
22
0
15
0
1
0
0
0
0
0
0
0
0
0
1
0
8
4
6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
8
1
-1
0
0
0
0
0
0
0
0
0
-2
0
4
5
-3
1
-2
0
0
0
0
0
0
0
0
0
-1
2
0
5
-1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
-2
-17
-3
-9
6
0
0
0
0
0
0
0
0
-1
0
0
1
4
-1
0
-1
3
0
0
0
0
0
0
0
0
0
-6
-1
4
-2
-1
3
4
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
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
24
-6
0
4
-1
0
1
0
1
0
0
0
0
0
0
0
0
-4
1
1
9
12
2
-1
1
-5
0
0
0
0
0
0
0
-2
-4
0
-4
2
3
-13
-1
-4
-1
0
0
0
0
0
0
0
0
0
3
-1
5
0
-3
0
-8
0
0
0
0
0
0
0
0
0
-1
-3
15
-12
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-37
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
14
-2
-1
0
-1
0
0
0
0
0
0
0
4
-6
-4
-3
5
-33
15
39
-9
-1
0
0
0
0
0
0
0
9
4
10
17
-9
15
9
-16
6
-4
0
0
0
0
0
0
0
0
13
9
-4
-5
42
1
8
0
0
0
0
0
0
0
0
0
1
4
2
-2
0
-18
-9
0
-3
0
0
0
0
0
0
0
0
0
0
32
2
2
-10
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
2
5
0
1
0
0
0
0
0
0
0
0
0
0
2
-3
1
-6
1
3
-1
-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
2
-5
0
1
-16
-13
0
4
-2
0
0
0
0
0
0
0
-19
-7
10
4
-6
-7
2
-5
4
0
0
0
0
0
0
0
0
-13
-10
-19
4
18
-16
-15
16
0
0
0
0
0
0
0
0
0
-1
0
-4
-7
1
0
9
7
0
1
0
0
0
0
0
0
0
-2
2
4
0
29
-4
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-3
17
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-10
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
1
0
0
0
0
0
0
0
0
0
1
1
-1
1
9
-1
-6
7
0
0
0
0
0
0
0
0
-4
-1
0
8
-2
5
7
-2
0
0
0
0
0
0
0
0
0
0
4
0
8
2
6
0
2
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
-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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-1
0
0
4
0
0
0
0
0
0
0
7
0
0
0
0
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
-9
-7
-1
-8
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-4
-6
3
0
0
0
0
0
0
0
0
0
0
6
0
5
5
-6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
-27
4
-1
0
-3
-1
0
0
0
0
0
0
8
-6
1
4
-17
9
-4
-4
-25
0
0
0
0
0
0
0
0
0
23
0
10
2
-6
0
-5
-6
15
0
0
0
0
0
0
0
-2
-3
-7
-2
-4
-16
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
9
-8
20
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
5
1
-3
0
0
0
-5
0
0
0
0
0
0
0
-10
-20
1
-5
6
-5
-8
-6
1
0
0
0
0
0
0
0
0
-9
-2
1
5
16
27
25
-4
9
0
0
0
0
0
0
0
0
0
3
0
-8
4
2
39
8
4
0
0
0
0
0
0
0
0
9
2
-2
-17
19
3
-1
3
0
0
0
0
0
0
0
0
0
2
-1
1
0
25
25
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
4
-5
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
5
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
0
-14
-1
0
0
0
0
0
0
0
0
13
6
0
0
-4
6
-20
3
12
0
0
0
0
0
0
0
0
-4
-9
10
1
0
14
2
-5
6
1
0
0
0
0
0
0
0
0
0
-12
0
3
2
14
-3
0
0
0
0
0
0
0
0
0
0
0
-1
8
8
1
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
-7
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
14
8
0
0
0
0
0
0
0
0
0
0
-9
7
0
-1
4
-2
-14
-23
0
-1
0
0
0
0
0
0
0
-1
0
0
0
-23
25
-8
12
0
1
0
0
0
0
0
0
0
4
1
24
1
2
-14
-4
1
4
0
0
0
0
0
0
0
0
6
7
7
7
8
0
0
2
0
0
0
0
0
0
0
0
0
-2
-5
-1
-8
-8
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
4
-2
-3
2
-2
0
-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
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
-1
0
3
0
-1
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-4
-19
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
0
5
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-5
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
2
0
-30
-1
-27
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
3
-7
-15
17
13
-16
0
0
0
0
0
0
0
0
7
4
2
0
24
10
5
-2
-4
0
0
0
0
0
0
0
0
-1
13
-8
3
3
29
1
0
-3
0
0
0
0
0
0
0
0
0
0
7
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
-7
12
0
0
0
0
-1
0
0
0
0
0
0
2
0
1
0
-12
19
-24
0
0
0
0
0
0
0
0
0
0
0
4
9
1
1
18
0
33
5
12
-12
0
0
0
0
0
0
0
0
-1
3
-24
12
4
-2
5
-4
1
0
0
0
0
0
0
0
8
-2
-3
-7
19
2
4
-2
0
2
0
0
0
0
0
0
0
0
0
-4
6
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
10
-1
0
0
0
-4
-1
0
0
0
0
0
0
0
-5
-1
0
-1
6
-2
-34
-5
-1
0
0
0
0
0
0
0
1
0
4
2
18
7
4
0
1
1
0
0
0
0
0
0
0
-1
-1
0
6
-3
-6
4
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-3
0
-3
9
25
0
-1
0
0
0
0
0
0
0
0
0
-3
5
-3
0
1
-3
0
0
0
0
0
0
0
0
0
-1
-1
0
3
1
-2
0
2
0
0
0
0
0
0
0
0
3
0
1
1
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
-14
-1
1
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-1
-6
0
0
0
0
0
0
0
0
0
4
0
-1
4
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
-5
4
-5
6
1
0
0
0
0
0
0
0
0
0
0
-3
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
0
-1
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
8
17
-9
-5
0
1
0
0
0
0
0
0
0
0
0
0
-3
-14
-13
25
4
-5
-4
0
0
0
0
0
0
0
0
0
1
1
0
-6
1
3
0
-1
0
0
0
0
0
0
0
0
0
-1
12
4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
2
13
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
-7
-4
5
0
0
0
0
0
0
0
0
0
0
2
1
2
-8
75
31
8
0
-3
0
0
0
0
0
0
0
0
0
-10
-13
22
22
-25
13
-25
-5
13
0
0
0
0
0
0
0
0
-1
17
-8
3
13
-2
5
13
-15
0
0
0
0
0
0
0
4
-10
23
-13
5
12
-13
-7
-1
5
0
0
0
0
0
0
0
0
-2
2
5
2
4
-5
0
0
1
0
0
0
0
0
0
0
-1
0
-1
-1
7
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
17
0
13
30
-1
1
0
2
1
0
0
0
0
0
0
0
0
-3
31
3
41
-9
0
1
0
6
0
0
0
0
0
0
0
0
8
17
-17
8
-8
24
6
-13
2
0
0
0
0
0
0
0
3
2
16
10
-5
-4
25
4
0
1
0
0
0
0
0
0
0
1
-4
6
15
8
0
19
-13
-7
0
0
0
0
0
0
0
-1
3
-3
6
0
-7
7
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-6
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
0
23
-4
-3
0
0
-2
0
0
0
0
0
0
0
0
-2
1
12
-13
-21
0
7
0
10
2
0
0
0
0
0
0
5
2
14
0
-9
0
-3
12
-1
13
1
0
0
0
0
0
0
0
-9
-15
17
4
5
-10
1
8
-5
1
0
0
0
0
0
0
0
0
-8
3
-18
-13
-7
-2
-2
0
0
0
0
0
0
0
0
1
1
-8
12
-8
-3
3
-3
-2
1
0
0
0
0
0
0
0
0
1
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
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
-1
0
10
0
0
-5
0
0
-2
-2
0
0
0
0
0
-3
0
1
-6
6
-4
0
0
-2
0
2
-1
0
0
0
0
0
0
0
-1
-3
-8
12
-8
-5
-7
23
-2
0
0
0
0
0
0
0
0
-5
-13
6
12
3
-2
-20
3
8
0
-1
0
0
0
0
0
0
2
-1
1
-5
-3
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
14
-3
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-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
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
10
-5
2
-3
6
1
-5
1
0
0
0
0
0
0
1
0
5
2
-2
1
8
2
4
0
0
0
0
0
0
0
2
-3
0
2
0
8
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
1
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
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
1
0
0
0
-5
0
1
0
0
0
0
0
0
0
1
-1
1
-1
0
5
7
-1
0
0
0
0
0
0
0
0
0
0
3
-2
2
-2
8
-5
4
0
0
0
0
0
0
0
2
-1
0
5
1
3
0
1
3
-2
0
0
0
0
0
0
0
0
0
1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
-7
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
20
9
-1
0
-3
0
0
0
0
0
0
0
0
1
-14
24
2
9
-5
1
1
-8
0
0
0
0
0
0
0
0
0
0
-4
-12
4
16
-1
-1
-2
0
0
0
0
0
0
0
0
0
4
-1
-1
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-14
0
3
0
-4
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
-1
13
-5
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-23
4
0
6
4
-24
0
8
0
0
0
0
0
0
0
0
3
4
8
-7
5
-13
7
9
33
5
0
0
0
0
0
0
0
5
-1
-1
24
8
37
-5
-13
-3
-3
0
0
0
0
0
0
0
0
-1
4
-20
-10
-24
1
0
15
3
0
0
0
0
0
0
0
0
0
0
4
-4
-12
-6
-1
2
3
0
0
0
0
0
0
0
0
1
6
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
1
0
-15
-15
-8
0
0
-12
0
0
0
0
0
0
0
0
20
0
-20
-6
2
0
6
0
-8
0
0
0
0
0
0
0
2
0
-18
-1
34
-6
3
8
13
-13
0
0
0
0
0
0
0
0
13
6
-2
3
41
14
5
-19
-1
0
0
0
0
0
0
0
31
12
23
-6
4
-1
-9
0
4
0
0
0
0
0
0
0
0
-2
-6
8
9
-4
2
0
2
-3
1
0
0
0
0
0
0
0
-1
3
1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-25
0
2
6
0
0
0
0
0
0
0
0
0
0
3
-5
1
3
0
29
0
-8
0
4
-1
0
0
0
0
0
0
0
-12
-1
10
7
1
-4
5
2
7
0
0
0
0
0
0
0
1
0
15
0
-15
13
25
0
-6
2
-1
0
0
0
0
0
-1
0
6
2
6
-5
-4
-16
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
8
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
3
2
-5
0
0
0
0
0
2
0
0
0
0
0
1
0
4
0
-7
-16
13
-3
8
1
-8
0
0
0
0
0
0
0
5
0
-2
0
12
3
1
0
0
0
0
0
0
0
0
0
0
0
2
10
14
0
0
1
-2
1
0
0
0
0
0
0
0
0
8
2
1
0
2
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
-1
0
-9
1
-3
0
0
0
0
0
0
-1
0
0
0
1
-2
4
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
-2
-8
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
2
-1
1
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
1
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
8
-5
-4
0
2
0
0
0
0
0
0
0
0
-7
-1
4
4
-15
30
-1
-4
-13
0
0
0
0
0
0
0
0
0
-10
4
0
-4
0
3
0
-3
0
0
0
0
0
0
0
0
0
-2
2
-2
24
-13
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-12
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-3
5
-5
8
-8
-3
0
0
0
0
0
0
0
0
0
2
10
-13
37
6
-16
-8
0
-1
0
0
0
0
0
0
0
0
0
15
2
0
-6
4
-30
-6
32
-41
0
0
0
0
0
0
0
0
0
22
22
-1
5
-20
-34
0
-9
0
0
0
0
0
0
0
0
-7
-2
34
41
4
39
2
-10
8
0
0
0
0
0
0
0
3
0
-13
-1
-12
5
-18
-3
-2
6
0
0
0
0
0
0
0
0
0
-13
-3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-20
7
9
-1
3
-8
0
0
2
0
0
0
0
0
0
0
22
8
-39
20
-22
12
0
-1
0
-6
0
0
0
0
0
0
-3
0
-15
-4
0
19
12
-3
-25
-42
-6
0
0
0
0
0
0
0
-8
-1
37
-8
1
-2
-2
-1
7
1
0
0
0
0
0
0
0
3
6
-1
25
19
9
-5
-8
1
-1
0
0
0
0
0
0
0
1
-3
-10
1
-8
30
1
0
-3
0
0
0
0
0
0
0
0
4
0
6
8
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-2
-4
2
1
0
0
0
-3
0
0
0
0
0
0
0
-1
-9
-3
9
-14
33
0
0
0
10
0
0
0
0
0
0
0
0
-1
-1
6
0
-9
-5
10
-13
-8
-1
0
0
0
0
0
0
0
-4
0
-2
-8
-7
0
-3
1
-3
0
0
0
0
0
0
0
0
-1
0
1
-4
-6
0
-6
-2
3
-1
0
0
0
0
0
0
0
0
8
12
6
7
0
-1
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
1
-2
0
0
2
2
1
0
0
0
0
0
0
3
1
1
2
-8
10
0
-1
0
-8
1
4
0
0
0
0
0
0
1
0
-6
0
-8
14
-5
0
-2
-3
0
0
0
0
0
0
0
0
12
0
1
16
7
0
3
0
-1
0
0
0
0
0
0
0
1
0
-16
0
-14
-4
2
-4
0
0
0
0
0
0
0
0
-2
0
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
-2
2
0
0
0
6
0
0
0
0
0
0
0
0
-3
1
0
1
0
4
4
-8
3
1
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-25
12
9
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
0
2
3
-1
4
0
0
0
0
0
0
0
0
-1
0
-5
3
-5
29
7
0
1
0
0
0
0
0
0
0
0
0
8
-2
0
-1
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
8
-2
2
0
0
0
0
0
0
0
0
0
0
-2
0
-24
-8
-24
1
-15
0
-1
0
0
0
0
0
0
0
0
-3
-4
10
1
0
14
23
8
-1
8
0
0
0
0
0
0
0
0
3
2
18
-1
-1
-7
-1
6
0
0
0
0
0
0
0
0
2
0
-8
-1
8
27
-3
1
2
4
0
0
0
0
0
0
0
0
-1
1
10
-17
9
1
1
2
0
0
0
0
0
0
0
0
0
0
5
-1
-6
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
25
6
-2
0
5
0
0
0
0
0
0
0
0
0
0
-9
-2
-17
7
8
-9
0
0
0
8
0
0
0
0
0
0
0
-1
-22
-22
-25
-21
7
-9
-13
3
0
0
0
0
0
0
0
1
0
-1
0
8
31
-3
8
-4
1
-2
0
0
0
0
0
0
0
0
0
3
10
-8
4
1
0
-2
0
0
0
0
0
0
0
0
0
9
0
-10
-12
4
5
-1
0
0
0
0
0
0
0
0
0
-2
-2
-20
3
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-8
7
2
0
0
1
0
0
0
0
0
0
0
-1
-7
0
41
-15
-12
0
1
0
-3
8
0
0
0
0
0
0
0
0
-2
0
4
-25
1
-16
3
-15
0
0
0
0
0
0
0
-2
0
-10
-3
-25
-1
1
3
3
-3
0
0
0
0
0
0
0
0
1
0
1
-12
-9
3
3
-3
0
0
0
0
0
0
0
0
-8
0
4
0
12
0
22
-2
0
-2
0
0
0
0
0
0
0
0
1
4
3
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
7
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
4
-18
0
6
0
-1
0
-1
-6
0
0
0
0
0
0
1
-1
2
-2
3
-6
-7
0
2
2
-1
0
0
0
0
0
0
0
-1
0
12
1
13
4
-5
1
0
0
0
0
0
0
0
0
0
0
7
0
25
6
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
-1
0
-7
1
3
0
0
0
0
0
0
0
0
0
-1
0
3
0
2
4
-2
0
1
0
0
0
0
0
0
0
0
0
1
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
-1
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
-2
-2
0
0
-2
0
0
0
0
0
0
0
0
0
-3
8
0
6
-1
2
-1
13
0
0
0
0
0
0
0
0
2
-4
2
-7
16
1
-2
-7
2
0
0
0
0
0
0
0
0
0
0
-1
0
-16
-7
1
0
-1
0
0
0
0
0
0
0
0
0
-5
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-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
1
-22
-3
-4
-2
1
0
0
-1
0
0
0
0
0
0
0
0
5
24
-13
9
-4
3
0
5
0
0
0
0
0
0
0
0
3
10
0
-13
-9
-17
5
2
-8
-8
0
0
0
0
0
0
0
0
-1
0
-1
-12
29
-33
-2
3
5
0
0
0
0
0
0
0
0
-5
0
-4
-6
5
-16
-2
2
3
0
0
0
0
0
0
0
0
0
5
-1
8
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
8
8
-3
0
0
0
3
0
0
0
0
0
0
0
-6
0
-12
8
3
2
0
-6
0
0
0
0
0
0
0
0
0
0
-16
29
-31
-6
8
-5
13
-45
-5
0
0
0
0
0
0
0
-1
0
-5
6
-42
22
-14
5
-1
0
0
0
0
0
0
0
-2
0
-8
0
7
10
27
12
3
0
0
0
0
0
0
0
0
0
-10
0
-8
0
-13
-1
8
0
1
0
0
0
0
0
0
0
0
0
-8
0
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
1
-10
0
0
0
0
-1
-2
0
0
0
0
0
0
-3
-14
-1
-10
13
-13
0
0
0
-3
0
0
0
0
0
0
0
0
4
2
-1
-24
6
4
1
-8
-3
0
0
0
0
0
0
0
0
0
-3
6
-13
4
-2
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
5
-1
-5
1
5
7
0
0
0
0
0
0
0
0
7
0
9
8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
2
5
-12
0
-4
0
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
-1
0
0
2
2
0
0
-1
0
0
0
0
0
0
0
0
0
-2
1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
3
0
-6
-2
0
-2
0
0
0
0
0
0
0
0
-1
0
-2
-5
21
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
17
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-6
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
1
0
1
-3
-3
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
35
-3
2
-4
0
3
0
0
0
0
0
0
0
0
3
0
-13
-7
-19
6
7
0
16
9
0
0
0
0
0
0
0
0
-3
-10
5
1
-33
-16
-8
1
5
0
0
0
0
0
0
0
0
0
5
-1
-8
-8
-6
5
0
-18
0
0
0
0
0
0
0
0
4
0
-7
12
-9
-8
0
-6
0
0
0
0
0
0
0
0
0
0
-7
7
-10
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-4
14
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
3
2
1
8
-5
-14
-7
0
0
0
0
0
0
0
-6
4
7
2
16
23
3
0
-4
1
0
0
0
0
0
0
0
0
-3
7
8
9
2
-1
1
4
-16
0
0
0
0
0
0
0
0
0
0
4
8
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
-3
0
16
-5
0
1
0
0
1
0
0
0
0
0
0
0
1
-3
-13
5
23
-2
0
0
0
-1
2
0
0
0
0
0
0
0
4
3
-5
6
9
-2
4
-24
-1
-1
0
0
0
0
0
0
1
-1
-7
25
-9
-3
3
1
2
-3
-1
0
0
0
0
0
0
0
7
1
-1
-3
-4
-1
0
-5
0
1
0
0
0
0
0
0
0
0
1
0
-1
17
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
-9
13
0
0
0
2
0
1
-1
0
0
0
0
0
0
0
0
-1
1
1
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
2
-5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-6
3
0
0
1
0
0
0
0
0
0
0
0
0
1
0
8
-7
-8
0
0
1
-34
0
0
0
0
0
0
0
0
-3
0
-7
9
4
-8
-4
0
3
0
0
0
0
0
0
0
0
0
-5
0
-3
19
3
2
8
-2
0
0
0
0
0
0
0
0
-1
1
0
4
-13
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-10
0
0
0
2
0
0
0
0
0
0
0
0
5
-1
-9
0
4
0
-6
1
7
0
0
0
0
0
0
0
0
0
-6
-4
1
0
-7
1
-6
-2
0
0
0
0
0
0
0
0
0
4
0
0
2
0
-4
1
0
0
0
0
0
0
0
0
0
0
-19
-1
-1
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
2
0
0
0
0
0
0
0
0
0
4
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
-1
-2
-3
1
0
0
0
0
0
0
0
0
0
1
3
10
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
2
0
2
0
-2
1
0
0
0
0
0
0
0
0
-3
0
0
-1
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
1
2
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-1
0
-3
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
2
-1
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
3
0
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
7
-1
-3
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
1
1
0
0
0
0
0
0
0
0
0
1
-5
0
1
14
-4
-7
12
-2
2
0
0
0
0
0
0
0
0
-2
1
1
10
8
-5
3
13
9
0
0
0
0
0
0
0
0
1
0
2
-6
-9
10
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
-4
-2
-6
-2
0
0
0
0
0
0
0
0
0
0
-4
0
1
10
16
-1
0
-3
1
0
0
0
0
0
0
0
0
0
-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
-4
0
-1
1
1
-5
-5
0
2
1
0
0
0
0
0
0
0
5
2
-2
2
-15
17
31
-1
1
0
0
0
0
0
0
0
0
0
-6
4
8
-2
6
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
18
0
-3
1
0
13
0
0
0
0
0
0
0
1
0
0
0
-1
8
4
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
-1
1
0
0
-1
0
0
0
0
0
0
0
0
1
2
-2
0
-1
6
1
1
3
5
0
0
0
0
0
0
0
0
-1
0
-4
-8
0
6
-6
-2
1
0
0
0
0
0
0
0
0
-1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-3
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
-4
-1
-1
-2
0
0
0
0
0
0
0
0
1
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
-7
-3
-7
-22
-13
0
0
0
0
0
0
0
0
5
-2
-2
-1
3
-24
12
1
-1
0
0
0
0
0
0
0
0
1
0
0
-1
1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
4
-20
-3
-5
0
-2
0
0
0
0
0
0
0
0
-2
-2
-2
-8
-16
41
17
17
0
0
0
0
0
0
0
0
0
-2
3
4
25
-12
0
-27
-8
27
0
0
0
0
0
0
0
0
0
-3
4
-12
-12
-1
0
-3
-1
0
0
0
0
0
0
0
0
-5
0
-1
-9
-7
4
-2
1
-2
0
0
0
0
0
0
0
0
-8
0
0
4
10
-3
-8
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-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
-1
-7
12
-3
-4
0
8
0
0
0
0
0
0
0
0
8
1
3
8
-6
-13
5
-12
-5
2
0
0
0
0
0
0
0
8
8
0
-13
24
-2
-12
41
6
0
0
0
0
0
0
0
0
-1
-2
-3
2
-7
-5
-10
0
10
1
0
0
0
0
0
0
0
0
0
-1
1
-3
-9
0
-8
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-8
0
5
0
1
4
0
0
0
0
0
0
0
0
0
1
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
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
1
-2
-4
5
-5
8
-3
0
-5
7
0
0
0
0
0
0
0
4
2
0
10
4
23
15
5
-5
-6
0
0
0
0
0
0
0
0
0
2
16
1
0
-4
8
2
0
0
0
0
0
0
0
0
-1
0
9
0
7
-5
-7
-3
5
0
0
0
0
0
0
0
0
-4
0
1
0
1
-2
10
4
-2
0
1
0
0
0
0
0
0
0
0
1
0
-4
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
-1
1
6
0
-3
0
0
0
0
0
0
0
0
-1
0
4
0
4
0
1
0
0
6
0
0
0
0
0
0
0
1
-7
-1
-6
-1
7
14
5
4
1
-1
0
0
0
0
0
0
0
-2
0
-2
-6
2
13
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
4
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-1
-2
-1
15
5
0
0
0
0
0
0
0
0
0
6
2
6
0
2
33
2
1
8
0
0
0
0
0
0
0
0
0
0
0
2
-1
8
-3
1
-1
0
0
0
0
0
0
0
0
0
1
0
2
-2
5
-7
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
2
-8
5
14
0
1
0
0
0
0
0
0
0
4
5
5
4
7
-7
6
1
-7
0
0
0
0
0
0
0
0
0
-1
0
10
-2
5
-24
-6
12
0
0
0
0
0
0
0
0
2
6
3
-6
-6
1
1
-4
0
-1
0
0
0
0
0
0
0
0
0
-4
3
0
7
-3
4
-3
0
0
0
0
0
0
0
0
0
0
1
0
5
7
6
-2
-1
0
0
0
0
0
0
0
0
0
0
4
0
9
0
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
-27
-27
0
1
0
0
0
0
0
0
0
-3
-29
9
4
-13
8
17
-14
-3
10
9
0
0
0
0
0
0
-1
-9
4
-2
13
-8
0
18
6
-6
0
0
0
0
0
0
0
0
0
1
0
49
0
-8
6
8
-4
0
0
0
0
0
0
0
-1
0
-1
-2
-7
4
13
-4
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
12
5
6
0
-23
1
1
0
0
0
0
0
0
5
5
3
2
3
8
0
3
-6
2
-1
0
0
0
0
0
0
0
8
0
20
-3
1
-6
-2
3
-1
0
0
0
0
0
0
0
0
1
-1
-4
25
0
6
6
4
0
0
0
0
0
0
0
0
0
0
-2
0
-2
4
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-5
-3
0
-1
-7
0
0
0
0
0
0
0
0
2
2
8
0
-7
-5
1
-5
0
0
0
0
0
0
0
0
0
-2
-3
0
-5
2
0
-5
-1
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
-4
2
4
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
3
0
2
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
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
1
5
0
-1
1
0
0
0
0
0
0
0
0
1
-1
-2
1
-2
8
3
1
-1
0
0
0
0
0
0
0
0
-1
1
2
0
6
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
4
1
0
0
0
0
0
0
0
0
0
1
2
2
0
3
-4
4
0
8
0
0
0
0
0
0
0
0
7
-1
0
-8
6
-3
-8
-5
-2
0
0
0
0
0
0
0
0
0
0
2
8
3
-6
2
1
0
0
0
0
0
0
0
0
0
2
0
1
-1
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
-3
-2
-5
42
0
1
0
0
0
0
0
0
0
-2
0
-2
-1
7
0
-1
-18
6
4
0
0
0
0
0
0
0
2
-8
6
0
12
8
-10
-8
16
-8
0
0
0
0
0
0
0
0
0
0
-16
8
30
-2
-1
7
0
0
0
0
0
0
0
0
0
2
-3
0
14
-7
3
6
6
0
0
0
0
0
0
0
0
0
0
0
1
1
42
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
3
8
0
8
-1
0
0
0
0
0
0
0
-1
-6
0
5
0
8
13
-15
-7
0
0
0
0
0
0
0
0
2
13
-3
20
1
18
1
8
16
-1
0
0
0
0
0
0
7
-9
0
7
9
25
1
-5
4
-8
1
0
0
0
0
0
0
0
0
0
0
1
-13
39
0
-6
0
0
0
0
0
0
0
0
0
0
2
-3
2
0
8
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
16
-5
-1
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-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
7
2
15
6
0
3
-4
0
0
0
0
0
0
0
0
-2
-1
-10
-5
-12
10
-8
-3
6
0
0
0
0
0
0
0
0
0
-6
-9
0
-20
7
-6
8
-3
-2
0
0
0
0
0
0
-2
9
0
2
-4
-2
-5
0
-7
0
1
0
0
0
0
0
0
3
0
0
6
1
13
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
-1
-2
0
0
0
0
0
0
0
0
1
0
-3
0
-8
-8
7
14
-1
1
0
0
0
0
0
0
0
0
-1
3
-7
-3
0
5
0
0
-1
0
0
0
0
0
0
0
1
-3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
2
-2
0
0
0
0
0
0
0
0
0
3
0
1
0
3
1
-14
-1
3
0
0
0
0
0
0
0
0
-3
0
0
-3
-1
-7
5
-4
2
0
0
0
0
0
0
0
0
0
0
0
-6
2
2
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
-2
13
-16
0
9
0
0
0
0
0
0
0
1
-2
0
0
-9
-10
6
15
8
1
0
0
0
0
0
0
0
5
0
0
-1
-2
-9
12
-8
19
0
0
0
0
0
0
0
0
-7
0
1
-7
2
31
-2
-1
6
-3
0
0
0
0
0
0
0
0
0
1
-4
37
-10
6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
7
10
-4
7
0
0
0
0
0
0
0
0
0
-3
0
0
-15
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
42
16
0
8
0
0
0
0
0
0
0
0
1
-8
4
0
12
-1
7
22
0
4
0
0
0
0
0
0
0
-12
3
8
0
23
0
-14
-23
-6
-1
0
0
0
0
0
0
0
3
6
-1
-9
3
3
8
-5
0
2
0
0
0
0
0
0
-1
-4
0
3
-8
17
24
10
-3
0
1
0
0
0
0
0
0
0
0
0
-4
1
-2
-8
-3
-6
0
-4
0
0
0
0
0
0
0
0
1
-1
23
-2
-6
16
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
8
2
0
7
1
0
0
0
0
0
0
0
1
0
8
-20
2
5
9
-8
-9
8
0
0
0
0
0
0
0
-1
-1
0
44
-5
10
3
12
0
0
0
0
0
0
0
0
0
2
6
0
-5
1
1
1
1
4
2
0
0
0
0
0
0
0
4
-1
0
-8
7
-5
2
1
-2
0
0
0
0
0
0
0
0
-4
0
0
-1
-1
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
4
-1
5
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
1
-1
-9
-42
0
-2
0
0
0
0
0
0
0
0
0
3
0
7
-4
4
3
8
0
0
0
0
0
0
0
0
3
0
0
0
-6
-2
-14
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-6
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
2
-4
0
1
-2
0
0
0
0
0
0
0
0
0
-1
-6
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
10
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-1
-1
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
19
-1
1
3
0
0
0
0
0
0
0
0
1
3
-1
1
2
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
19
0
2
0
0
0
0
0
0
0
1
-12
3
5
1
5
-9
7
-33
0
0
0
0
0
0
0
0
0
-4
0
0
2
12
-2
12
-4
-3
0
0
0
0
0
0
0
0
0
0
0
25
-8
5
2
1
0
0
0
0
0
0
0
0
0
-1
1
3
9
-7
3
6
-1
2
0
0
0
0
0
0
0
0
0
0
-3
18
-24
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
6
-1
0
0
0
0
0
0
0
0
0
0
1
4
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
3
0
4
-4
1
4
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-8
-7
-8
-15
-4
-6
0
0
0
0
0
0
0
1
-8
6
0
-5
-12
-5
-1
-1
0
0
0
0
0
0
0
4
2
0
0
3
-13
-4
0
-1
0
0
0
0
0
0
0
0
-1
-3
1
-2
-7
1
24
-2
3
2
0
0
0
0
0
0
0
0
-1
0
0
0
6
-3
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
-12
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
5
-1
3
-1
-4
-16
0
-7
0
0
0
0
0
0
0
0
-1
-8
0
-1
-3
0
2
-13
1
1
0
0
0
0
0
0
0
0
3
0
10
2
9
-10
2
-14
0
1
0
0
0
0
0
0
0
0
0
-3
6
-1
19
0
4
0
0
0
0
0
0
0
0
0
0
0
7
5
-2
-1
1
0
0
0
0
0
0
0
0
0
2
0
0
1
-5
-4
14
0
1
0
0
0
0
0
0
0
0
0
0
3
0
2
-2
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
8
-4
2
2
4
0
0
0
0
0
0
0
0
0
1
-6
-1
5
-7
16
6
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
6
0
0
0
0
0
0
0
0
0
1
8
2
9
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
7
4
0
0
0
2
1
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
-7
0
0
0
0
0
0
0
0
0
0
-9
0
0
18
-1
-2
-8
8
-1
0
0
0
0
0
0
0
0
9
0
2
0
2
17
13
3
1
0
0
0
0
0
0
0
0
1
0
4
-8
13
5
6
3
-6
0
0
0
0
0
0
0
0
-1
3
5
-5
-4
16
3
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
1
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-33
-2
3
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
1
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
-1
-5
-3
0
-12
0
0
0
0
0
0
0
1
-14
-3
-1
4
2
12
12
19
-4
-1
0
0
0
0
0
0
0
0
-2
0
3
0
-2
2
-7
7
-2
0
0
0
0
0
0
0
0
-1
-2
-8
1
-12
0
2
2
0
0
0
0
0
0
0
0
-1
0
1
-20
-14
-3
-2
0
2
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
4
10
1
0
0
0
0
0
0
0
0
0
1
0
0
-2
10
10
1
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
2
0
-2
1
0
0
0
0
0
0
0
1
0
-2
-1
-4
-9
13
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
13
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
-3
-1
4
0
0
0
0
0
0
0
0
0
0
0
6
5
4
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-3
-2
-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
4
-1
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
4
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
30
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-8
-2
-4
-4
3
31
-1
-7
8
0
0
0
0
0
0
0
0
3
0
0
-10
-4
-1
3
3
1
0
0
0
0
0
0
0
0
0
-4
2
-8
0
-3
1
2
0
0
0
0
0
0
0
0
0
2
0
-1
9
-8
-1
-1
-2
0
0
0
0
0
0
0
0
0
1
0
13
-6
-16
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
17
-1
3
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
1
-1
5
-3
-1
0
0
0
0
0
0
0
0
0
3
0
1
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
1
0
-1
0
0
0
0
0
0
0
0
0
-2
0
2
-1
-25
1
0
0
1
0
0
0
0
0
0
0
0
0
-5
1
-3
14
6
6
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
2
0
0
2
0
1
0
-2
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-3
1
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-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
3
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
-19
-31
8
0
0
0
0
0
0
0
0
0
0
0
0
6
2
12
-16
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
16
7
-12
1
0
0
0
0
0
0
0
0
0
0
0
2
2
-6
1
-2
-10
0
0
0
0
0
0
0
0
0
0
-1
0
2
6
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
2
5
0
5
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
-6
2
-19
22
34
-54
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-14
31
18
-3
0
0
0
0
0
0
0
0
0
0
0
10
-7
-34
-43
-12
1
0
0
0
0
0
0
0
0
0
0
0
6
10
2
-2
7
-1
0
0
0
0
0
0
0
0
0
0
-1
3
-1
5
-3
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-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
-3
4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
27
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
42
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
1
-5
12
-2
0
0
0
0
0
0
0
0
0
0
4
-5
-8
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
1
8
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
-3
3
1
3
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-20
-19
18
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
25
7
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
4
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
-22
-45
7
0
0
0
0
0
0
0
0
0
0
-2
-4
2
8
23
7
0
0
0
0
0
0
0
0
0
0
0
1
-1
25
-10
24
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
18
-20
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
23
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-5
-9
5
5
-1
0
0
0
0
0
0
0
0
0
0
3
-34
4
1
-7
0
1
0
0
0
0
0
0
0
0
0
4
0
-8
0
5
13
-4
6
0
0
0
0
0
0
0
0
0
0
3
3
-6
-15
-20
-16
1
0
0
0
0
0
0
0
0
0
0
0
-22
-5
-5
-3
-32
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
-31
0
0
0
0
0
0
0
0
0
1
-7
-3
-1
-4
25
5
1
2
0
0
0
0
0
0
0
0
0
0
-16
42
-5
-17
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
-14
-8
-5
23
9
0
0
0
0
0
0
0
0
0
0
-2
7
0
4
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
1
0
-1
-23
42
10
3
-3
0
0
0
0
0
0
0
0
0
-1
0
0
-10
24
0
-2
1
0
0
0
0
0
0
0
0
0
0
-3
-1
5
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-10
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
12
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
10
18
-7
0
-4
1
0
0
0
0
0
0
0
0
0
0
3
1
1
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
0
0
0
0
0
0
0
0
-3
0
-2
0
15
-8
2
-1
0
0
0
0
0
0
0
0
0
0
3
-3
3
1
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
1
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-5
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-14
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
34
22
2
0
0
0
0
0
0
0
0
0
-1
0
-4
24
24
4
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-7
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
-2
3
-8
8
-48
-6
0
0
0
0
0
0
0
0
0
0
0
-2
4
9
19
25
-8
3
0
0
0
0
0
0
0
0
0
0
0
9
24
-1
18
1
0
0
0
0
0
0
0
0
0
0
0
-1
-15
2
6
0
14
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
-12
2
0
0
0
0
0
0
0
0
0
0
-2
0
-22
-17
17
5
-1
0
0
0
0
0
0
0
0
0
2
1
-1
24
-8
2
0
0
0
0
0
0
0
0
0
0
0
-2
-2
5
-5
-12
5
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
-3
8
9
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-12
1
-5
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
17
3
0
0
0
0
0
0
0
0
0
0
3
-1
-4
-3
2
2
-1
1
0
0
0
0
0
0
0
0
0
-1
0
5
1
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
-1
1
2
-8
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
13
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
1
0
0
0
0
2
-2
0
0
0
0
0
0
0
1
4
0
2
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-6
-2
-2
4
-1
-24
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-39
5
-31
-2
1
0
0
0
0
0
0
0
0
0
0
-3
12
-4
16
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
-1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
4
16
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-16
-2
-13
-32
16
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
9
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
10
1
0
0
0
7
0
0
0
0
0
0
0
0
0
-1
-1
-3
1
22
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-12
-20
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
5
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
-1
0
0
-8
3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
27
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-7
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
3
0
0
0
0
0
0
0
0
0
1
0
4
-3
8
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
8
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
1
0
3
1
5
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-17
21
-6
-45
-1
0
0
0
0
0
0
0
0
0
-1
0
1
-4
9
4
-14
0
0
0
0
0
0
0
0
0
-2
0
0
1
4
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
8
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
-7
14
0
-17
0
0
0
0
0
0
0
0
0
0
0
-2
-3
3
2
-2
6
2
0
0
0
0
0
0
0
0
0
0
0
-1
-12
4
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-48
-1
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
1
6
0
-16
0
0
0
0
0
0
0
0
0
1
0
1
4
-7
7
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-2
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-3
-1
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-7
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-1
-8
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
2
5
-3
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
6
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-1
0
-1
-9
15
0
0
0
0
0
0
0
0
0
0
1
0
-1
-24
-6
-19
-7
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-2
-37
0
2
1
0
0
0
0
0
0
0
0
0
-1
0
5
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
6
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
-2
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-2
0
4
-8
-3
-24
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
-7
15
10
2
0
0
0
0
0
0
0
0
0
0
0
0
-30
-2
12
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
31
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-20
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
34
33
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-8
-2
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
6
4
-4
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
8
-17
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
8
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
9
3
-1
0
0
0
0
0
0
0
0
0
0
-1
0
4
-1
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
1
0
-3
-16
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
-7
-2
0
-3
60
-10
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-22
24
6
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-5
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
-7
-15
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
4
-13
-9
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
-13
31
9
-2
0
0
0
0
0
0
0
0
0
0
1
0
-3
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-42
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-12
6
-15
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-1
7
-4
3
8
2
0
0
0
0
0
0
0
0
0
0
0
4
-22
-8
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-5
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
2
4
-7
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
24
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
15
-20
-12
0
0
0
0
0
0
0
0
0
0
0
-1
4
14
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
7
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
2
-19
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
14
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
-29
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
14
-9
1
1
-3
0
0
0
0
0
0
0
0
0
0
7
-3
-12
-14
18
24
0
0
0
0
0
0
0
0
0
0
0
4
8
-3
-7
9
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
-8
-4
3
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
4
0
6
16
13
-5
1
0
0
0
0
0
0
0
0
0
0
-1
-3
-16
8
30
-6
0
0
0
0
0
0
0
0
0
0
0
-2
1
16
-24
-8
-12
1
0
0
0
0
0
0
0
0
0
0
-30
-5
-4
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-31
35
7
0
0
0
0
0
0
0
0
0
0
0
0
12
6
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
-10
0
9
-6
-4
0
0
0
0
0
0
0
0
0
0
-3
-1
-19
-4
7
-1
1
-8
0
0
0
0
0
0
0
0
0
0
1
0
1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-16
-5
0
-3
0
-1
0
0
0
0
0
0
0
0
0
4
-3
-2
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
1
3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-14
1
-3
9
-2
2
0
0
0
0
0
0
0
0
1
3
0
15
-2
3
3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
1
7
2
0
0
0
0
0
0
0
0
0
0
0
-3
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-5
5
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
10
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
-6
3
0
2
0
2
0
0
0
0
0
0
0
0
0
0
-1
-9
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
1
1
5
0
0
0
0
0
0
0
0
0
0
0
-9
0
8
0
-10
-1
-3
1
0
0
0
0
0
0
0
0
0
2
3
-17
-34
-2
1
6
0
0
0
0
0
0
0
0
0
0
-9
1
-7
30
-20
-9
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
25
-13
-1
0
0
0
0
0
0
0
0
0
0
0
8
3
37
-9
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
-1
-4
-8
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-25
10
-8
-8
-3
0
0
0
0
0
0
0
0
0
0
8
1
3
-22
-3
10
-1
-1
0
0
0
0
0
0
0
0
1
16
-5
20
8
-31
-9
2
0
0
0
0
0
0
0
0
0
-1
-29
2
-5
-21
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
6
5
41
8
0
0
0
0
0
0
0
0
0
0
0
1
19
4
-1
-1
2
-7
0
0
0
0
0
0
0
0
0
0
1
-24
-4
2
12
1
1
0
0
0
0
0
0
0
0
0
0
0
-16
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
3
0
2
-1
0
0
0
0
0
0
0
0
0
-1
-3
0
0
8
3
-1
0
0
0
0
0
0
0
0
0
0
4
3
3
5
0
-9
-4
-2
0
0
0
0
0
0
0
0
0
25
7
22
-12
-21
3
-1
1
0
0
0
0
0
0
0
0
0
0
4
-13
-1
2
-7
0
0
0
0
0
0
0
0
0
0
0
3
3
2
-4
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
1
23
-5
3
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-24
-6
2
-1
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
24
-1
-2
8
3
-1
0
0
0
0
0
0
0
0
0
1
-5
0
3
8
25
1
0
0
2
0
0
0
0
0
0
0
0
1
-8
-2
-5
5
1
0
0
0
0
0
0
0
0
0
0
2
-1
-9
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
22
2
-1
0
0
1
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-1
2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-1
-8
-5
-5
4
7
2
0
0
0
0
0
0
0
0
0
0
1
0
8
14
5
-4
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
1
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
10
15
-1
-2
-2
-3
0
-2
-1
0
0
0
0
0
0
0
7
1
3
-8
-3
1
-1
-4
0
0
0
0
0
0
0
0
0
4
15
6
0
16
1
0
0
-1
0
0
0
0
0
0
0
0
-2
-4
0
-7
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
4
1
1
-1
1
0
0
0
0
0
0
0
0
0
-1
-4
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
1
1
0
0
0
0
0
0
0
0
0
-2
0
2
2
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
1
2
8
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
5
-2
-3
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
2
2
-4
3
-1
0
0
0
0
0
0
0
0
0
0
0
-7
8
-2
-1
10
-2
0
0
0
0
0
0
0
0
0
0
0
3
6
-3
-13
-3
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-6
-4
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-10
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
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
-3
0
13
-4
0
-3
0
1
0
0
0
0
0
0
0
0
0
12
6
16
35
-4
5
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
5
-10
-6
-4
8
0
0
0
0
0
0
0
0
0
0
0
13
-2
23
4
-3
-1
-4
0
0
0
0
0
0
0
0
0
0
-23
1
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
-8
14
-4
0
-1
0
0
0
0
0
0
0
0
0
-3
13
0
-5
-39
-5
24
0
1
0
0
0
0
0
0
0
0
0
8
-3
-27
1
-23
0
0
0
0
0
0
0
0
0
0
0
2
4
-7
-29
6
-6
-6
1
0
0
0
0
0
0
0
0
0
0
8
-6
2
-8
1
-6
0
0
0
0
0
0
0
0
0
0
0
3
-1
6
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
2
-8
5
-2
-3
0
0
0
0
0
0
0
0
0
-1
-19
-14
-1
0
6
-3
-3
0
0
0
0
0
0
0
0
0
-2
8
17
1
-8
-3
2
0
0
0
0
0
0
0
0
0
0
-1
4
4
5
7
14
-2
0
0
0
0
0
0
0
0
0
0
-1
-1
13
-1
15
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
6
6
2
5
-2
3
0
0
0
0
0
0
0
0
0
0
1
-2
2
6
1
3
-1
0
0
0
0
0
0
0
0
0
0
6
1
-2
0
0
1
4
-1
0
0
0
0
0
0
0
0
-3
1
-5
-14
0
-17
4
0
0
0
0
0
0
0
0
0
0
1
-5
-8
8
1
-6
0
0
3
0
0
0
0
0
0
0
0
1
-1
30
1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-12
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
1
5
4
-5
-17
0
-2
2
0
0
0
0
0
0
0
0
0
-3
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
8
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
12
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
15
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
3
4
3
-24
0
1
0
0
0
0
0
0
0
0
0
1
2
-19
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
2
3
-6
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
7
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
0
-14
5
-3
-6
-2
1
0
0
0
0
0
0
0
0
0
-13
-2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-5
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
-25
-8
6
0
0
0
0
0
0
0
0
0
0
0
6
4
-13
-18
21
9
2
1
0
0
0
0
0
0
0
0
0
0
-25
-20
-13
12
-7
3
0
0
0
0
0
0
0
0
0
0
2
-1
32
-12
1
-5
-1
0
0
0
0
0
0
0
0
0
0
1
2
-25
34
-16
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
2
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
-7
-3
-5
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-23
-10
6
2
2
0
0
0
0
0
0
0
0
0
0
-5
1
10
5
16
0
-1
0
0
0
0
0
0
0
0
0
0
1
5
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
6
0
14
0
19
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
12
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
-6
0
-1
3
0
0
0
0
0
0
0
0
0
0
1
10
1
-6
4
-7
8
2
0
0
0
0
0
0
0
0
0
0
-3
4
10
-5
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
5
4
-25
2
8
5
0
0
0
0
0
0
0
0
0
0
14
-12
-2
-10
8
2
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
-4
-10
-4
0
-5
-2
4
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
10
0
-6
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
14
16
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
0
0
-1
0
0
0
0
0
0
0
0
0
4
6
-1
2
12
0
-12
0
3
0
0
0
0
0
0
0
0
0
-3
-1
20
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
2
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
-1
-4
0
0
0
0
0
0
0
0
0
0
-3
8
-1
1
-3
-4
0
1
0
0
0
0
0
0
0
0
0
-2
3
3
8
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-4
-14
3
-3
0
7
2
0
0
0
0
0
0
0
0
0
3
19
-2
5
12
-18
1
2
-3
0
0
0
0
0
0
0
0
-1
-23
0
-30
5
0
-10
0
0
0
0
0
0
0
0
0
0
6
-8
1
-8
9
0
1
0
0
0
0
0
0
0
0
0
0
-3
-3
-4
-8
-15
-1
2
0
0
0
0
0
0
0
0
0
0
0
-10
7
-1
2
8
-1
0
0
0
0
0
0
0
0
0
0
-3
-3
-4
1
4
0
0
0
2
0
0
0
0
0
0
0
0
-2
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-7
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
-5
10
22
1
0
0
0
0
0
0
0
0
0
0
0
-8
17
-7
25
6
3
4
0
0
0
0
0
0
0
0
0
0
-8
-2
27
-8
10
0
1
0
0
0
0
0
0
0
0
0
0
-4
-13
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
4
-20
1
-1
1
0
0
0
0
0
0
0
0
0
0
2
0
-15
7
-2
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
4
25
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-16
-2
3
0
-5
0
0
0
0
0
0
0
0
0
0
-6
2
0
24
-18
2
0
0
0
0
0
0
0
0
0
0
0
18
2
-23
5
-10
4
1
0
0
0
0
0
0
0
0
0
0
-8
0
-14
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
8
8
-8
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
8
-1
-1
8
-2
0
0
0
0
0
0
0
0
0
0
-3
3
5
5
2
-3
0
0
0
0
0
0
0
0
0
0
0
6
0
8
-2
6
-4
0
0
0
0
0
0
0
0
0
0
0
-2
-8
12
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
-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
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
4
-1
0
0
0
0
0
0
0
0
0
0
2
5
-6
5
-1
0
1
2
0
0
0
0
0
0
0
0
0
-1
4
-8
-6
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-14
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
-1
-3
-5
0
0
0
0
0
0
0
0
0
0
2
-3
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-1
-6
-2
5
5
-1
0
0
0
0
0
0
0
0
0
0
0
-2
3
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
25
-7
3
0
1
-3
0
0
0
0
0
0
0
0
0
0
-1
3
-1
7
0
1
-1
-4
0
0
0
0
0
0
0
0
4
17
-10
-17
4
-10
2
1
0
1
0
0
0
0
0
0
0
-1
2
13
-17
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
-8
2
6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-4
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-1
4
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-17
10
-2
-7
2
0
0
0
0
0
0
0
0
0
0
0
8
16
-8
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
1
-5
-6
16
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-47
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
6
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-18
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
13
6
-1
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
5
5
-10
5
-6
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8
-3
2
2
14
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
6
-4
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
-1
-2
0
1
0
0
0
0
0
0
0
0
0
0
4
5
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-1
2
-4
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
4
-3
4
2
-1
0
0
0
0
0
0
0
0
0
1
0
-4
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
0
2
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
2
-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
-17
4
0
2
0
-4
2
0
0
0
0
0
0
0
0
0
1
-13
7
0
0
0
-1
3
-1
0
0
0
0
0
0
0
0
7
16
7
4
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-10
14
1
-3
16
8
0
0
0
0
0
0
0
0
0
0
0
2
3
10
-1
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
-6
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
0
-4
3
3
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
0
4
0
0
0
0
0
0
0
0
0
0
0
2
19
5
8
-3
-1
2
0
0
0
0
0
0
0
0
0
0
-3
-3
-6
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-12
1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-5
8
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
4
7
-1
1
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
8
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
27
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-19
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
3
5
1
1
-1
0
0
0
0
0
0
0
0
0
0
-3
2
49
-15
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-5
-4
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
5
31
-6
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
3
13
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-12
1
3
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
8
4
-7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
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
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
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
14
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-12
-2
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
-1
4
-12
1
2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
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
2
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
4
2
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
-12
2
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
7
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-3
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
16
-7
-20
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
9
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
8
-3
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
0
0
0
0
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
2
-12
0
16
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
3
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
-6
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
-7
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
0
0
-7
-8
-2
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
4
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
24
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
-3
7
0
-7
-14
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-4
-7
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
6
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
5
-13
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-3
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
-12
-5
-15
0
0
0
0
0
0
0
0
0
3
0
0
-3
-13
-7
33
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
10
-16
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
10
-5
-31
2
-3
0
0
0
0
0
0
0
0
0
-2
0
-1
5
-10
15
12
13
-3
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
-15
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-10
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
2
6
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
6
-1
-1
0
0
0
0
0
0
0
0
0
0
1
-2
24
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-3
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
8
-34
-18
-18
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
6
-9
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
-1
5
1
25
-13
9
0
1
0
0
0
0
0
0
0
0
0
0
-1
-2
17
-24
-5
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
1
1
-7
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
16
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
22
12
-4
-41
16
2
0
0
0
0
0
0
0
0
0
0
0
1
-5
16
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
-16
5
-1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
10
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
0
0
3
0
0
0
0
0
0
0
0
0
1
-1
-3
1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
8
3
-44
1
-35
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
21
5
-22
0
0
0
0
0
0
0
0
0
0
0
-1
3
7
-7
2
12
0
0
0
0
0
0
0
0
0
0
0
0
5
4
6
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
-22
-10
23
-27
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
5
-23
-4
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
18
2
-1
0
0
0
0
0
0
0
0
0
0
0
8
3
0
-6
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-19
-33
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
10
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
6
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
2
-1
-8
3
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
8
15
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
5
18
2
0
0
0
0
0
0
0
0
0
1
0
0
1
-8
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
2
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
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
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-8
16
0
-2
0
0
0
0
0
0
0
0
0
0
-2
-2
10
29
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-14
8
0
3
0
0
0
0
0
0
0
0
0
0
0
3
2
2
-5
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
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
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
3
-1
0
0
0
0
0
0
0
0
1
0
0
-3
12
2
2
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
-17
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
-15
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
14
1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
-4
1
-6
2
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
-25
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
7
4
-4
4
1
0
-2
0
0
0
0
0
0
0
0
2
-1
3
5
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-13
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
7
7
1
-13
1
-22
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-3
-7
-7
-17
1
0
0
0
0
0
0
0
0
0
0
0
3
-5
-7
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-1
0
-1
-34
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
15
-9
2
-1
0
0
0
0
0
0
0
0
0
0
0
2
5
6
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
-24
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
8
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
5
3
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
-20
-5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
17
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-21
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
5
-7
13
7
0
0
0
0
0
0
0
0
0
0
1
0
10
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
5
1
-4
4
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
1
-1
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
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
-1
0
7
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
-4
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
17
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-31
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
10
-25
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
23
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-29
-9
0
-25
20
0
0
0
0
0
0
0
0
0
0
0
-1
1
-6
0
-2
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
30
5
9
7
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
-1
0
0
0
0
0
0
0
1
0
1
3
2
-8
0
0
0
4
0
0
0
0
0
0
0
0
7
0
4
-3
-8
17
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
3
3
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
14
-1
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-2
-4
-8
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
-2
-17
-2
4
0
-2
0
0
0
0
0
0
0
1
-1
0
0
1
-1
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
6
-1
-9
2
0
2
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
2
9
7
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
12
-50
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-4
-4
30
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
2
7
-3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
2
1
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
7
-1
6
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
10
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-6
1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
6
-3
-8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-7
7
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
19
7
-1
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
12
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
21
-24
-1
10
0
4
0
0
0
0
0
0
0
3
0
1
0
-5
-2
3
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
4
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
1
14
-10
0
0
0
-3
-1
0
0
0
0
0
0
-1
1
0
3
-8
-5
9
-17
-7
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
21
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
-13
-1
-32
39
-10
0
0
0
0
0
0
0
0
0
0
0
1
4
-6
27
1
-4
22
-3
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-5
12
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
14
-6
1
0
0
0
0
0
0
0
0
0
0
0
1
8
15
3
-1
6
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
-3
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
16
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-3
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-8
-3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
17
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
7
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
5
-1
1
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-6
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
-20
6
-4
27
-7
0
0
0
0
0
0
0
0
0
-1
0
-5
0
10
-6
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-1
2
4
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
-14
0
0
0
0
0
0
0
0
0
1
-4
1
13
3
-14
5
1
0
0
0
0
0
0
0
0
0
0
3
-5
19
-14
1
-16
-1
0
0
0
0
0
0
0
0
0
0
0
3
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
8
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-41
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-14
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
8
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
25
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
7
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
37
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
-3
-3
3
-35
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
-4
6
2
5
0
0
0
0
0
0
0
0
0
0
-4
-1
-2
0
-25
0
1
0
0
0
0
0
0
0
0
0
0
1
7
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
1
0
0
0
0
0
0
0
0
0
0
-7
-1
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
-37
8
-22
4
0
0
0
0
0
0
0
0
0
0
-2
0
-8
-41
-1
5
1
0
0
0
0
0
0
0
0
0
1
-1
8
8
15
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
12
-34
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-27
-56
4
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-5
27
-14
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
10
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
-2
-20
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-3
-18
-14
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-4
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
4
9
29
0
0
0
0
0
0
0
0
0
0
0
-1
-3
3
4
0
7
2
0
0
0
0
0
0
0
0
0
0
1
0
-8
-17
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
-4
-31
-5
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
7
25
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
2
-4
7
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
-7
-1
-2
0
-1
0
1
0
0
0
0
0
0
0
0
1
-1
6
2
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-9
-4
-1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
1
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
4
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
-8
-13
0
0
10
-1
2
0
0
0
0
0
0
0
0
0
0
5
2
8
13
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-8
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
3
-3
-2
0
0
0
0
0
0
0
0
0
0
0
1
-2
-9
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-1
6
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
20
-8
14
3
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
5
-1
1
0
0
0
0
0
0
0
0
0
0
5
3
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-1
-6
6
0
4
-1
0
0
0
0
0
0
0
0
0
0
4
0
8
-10
2
8
5
0
0
0
0
0
0
0
0
0
0
1
8
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
-3
9
-12
-2
-1
10
-1
1
0
0
0
0
0
0
0
0
0
0
2
0
5
2
0
2
1
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
3
5
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
8
1
5
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
-2
-7
0
0
8
1
-2
0
0
0
0
0
0
0
0
0
4
-1
-2
-10
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
-1
-7
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
2
9
9
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
8
1
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-13
2
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
9
12
-1
0
0
0
0
0
0
0
0
0
0
0
-7
2
18
-10
-6
1
-13
0
0
0
0
0
0
0
0
0
0
14
-8
-3
-18
13
9
1
0
0
0
0
0
0
0
0
0
0
-1
-4
-20
19
-6
2
-3
0
0
0
0
0
0
0
0
0
0
10
1
0
-10
-1
3
1
0
0
0
0
0
0
0
0
0
0
4
0
4
-4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
23
8
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
-9
3
-7
10
9
1
1
0
0
0
0
0
0
0
0
0
0
-1
13
-2
-3
-4
0
0
0
0
0
0
0
0
0
0
0
1
9
16
-29
12
-4
-3
0
0
0
0
0
0
0
0
0
0
-1
-15
-25
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
1
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
-16
-43
13
6
-8
0
2
0
0
0
0
0
0
0
0
0
3
-17
13
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-3
13
4
-2
0
0
0
0
0
0
0
0
0
0
0
1
8
6
15
4
5
0
0
0
0
0
0
0
0
0
0
0
-14
4
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
23
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
16
5
4
1
0
3
0
0
0
0
0
0
0
0
1
0
42
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
3
1
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
12
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-8
8
0
0
6
0
0
0
0
0
0
0
0
0
1
-12
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
1
19
2
-4
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
-8
-1
0
-1
0
0
0
0
0
0
0
0
0
0
2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
1
0
5
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
6
1
3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
3
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
1
0
-1
0
0
0
0
0
0
0
0
0
-1
2
-3
1
0
3
3
2
0
0
0
0
0
0
0
0
0
0
1
8
-8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
4
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
7
-6
-30
-2
2
2
0
0
0
0
0
0
0
0
0
0
-10
6
-22
37
-14
0
0
0
0
0
0
0
0
0
0
0
0
5
12
5
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
22
-7
6
-2
4
0
0
0
0
0
0
0
0
0
0
-2
-5
-12
2
-3
-2
3
0
0
0
0
0
0
0
0
0
0
0
5
-1
34
-22
1
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-7
24
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
8
5
16
-9
3
0
0
0
0
0
0
0
0
0
0
0
-1
2
8
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
4
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
14
-10
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
6
-12
-4
1
-8
-1
1
0
0
0
0
0
0
0
0
0
0
1
-3
5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
2
0
-8
-2
10
0
-1
0
0
0
0
0
0
0
0
1
17
3
2
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
-3
5
10
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-7
9
2
12
1
0
-1
0
0
0
0
0
0
0
0
0
0
9
12
10
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
4
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
3
2
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-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
2
4
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
4
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
3
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
9
1
0
1
0
0
0
0
0
0
0
0
0
0
23
0
-31
1
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
19
9
-5
2
-1
1
0
0
0
0
0
0
0
0
0
0
2
1
-8
-5
-33
10
0
0
0
0
0
0
0
0
0
0
0
6
5
7
23
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
8
-6
1
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
-3
-5
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-24
9
7
1
8
8
0
0
0
0
0
0
0
0
0
0
0
-8
2
23
3
0
-1
1
1
0
0
0
0
0
0
0
0
0
-6
13
-3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
3
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
2
-1
2
2
0
7
0
0
0
0
0
0
0
0
0
0
-1
4
-5
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
15
8
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-8
7
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
3
-1
-1
-2
1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-3
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-5
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-6
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
2
0
-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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
1
5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
17
-12
1
-3
0
0
0
0
0
0
0
0
0
0
0
22
-6
-7
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
-5
-7
9
5
-1
0
-2
0
0
0
0
0
0
0
0
0
0
12
-8
5
5
-2
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-8
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
20
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
20
10
2
2
24
2
0
0
0
0
0
0
0
0
0
0
0
5
-24
-13
1
-8
0
0
-1
0
0
0
0
0
0
0
0
0
4
5
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-14
1
0
0
0
0
0
0
0
0
0
0
0
1
3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
-4
-6
4
0
0
0
0
0
0
0
0
0
0
0
-2
7
5
-25
-6
5
2
0
0
0
0
0
0
0
0
0
0
8
17
10
-10
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
-6
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
0
0
0
0
0
0
0
0
0
-1
1
4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-1
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-2
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
1
8
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-29
1
-1
2
-2
0
0
0
0
0
0
0
0
0
0
4
5
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
3
1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
-3
0
0
0
0
0
0
0
0
0
1
5
-3
-1
-1
1
0
3
0
0
0
0
0
0
0
0
0
2
20
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-14
-9
-1
0
1
0
0
0
0
0
0
0
0
0
0
-3
30
-3
16
-5
-14
0
5
0
0
0
0
0
0
0
0
0
16
9
0
3
-3
1
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-5
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
7
-4
2
8
7
-1
0
0
0
0
0
0
0
0
0
0
0
12
-2
4
2
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
-1
4
-2
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
1
-12
-17
0
0
-4
1
0
0
0
0
0
0
0
0
0
-6
8
12
1
-17
-8
1
0
0
0
0
0
0
0
0
0
0
-1
-13
17
-34
-15
1
1
0
0
0
0
0
0
0
0
0
0
-1
-1
8
-7
-1
5
0
0
0
0
0
0
0
0
0
0
0
-1
-2
9
-7
6
-1
3
-3
-1
0
0
0
0
0
0
0
0
2
2
-4
5
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
-5
-2
0
1
-1
0
0
0
0
0
0
0
0
0
0
13
-7
16
13
-7
6
0
3
0
0
0
0
0
0
0
0
0
-6
4
-21
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
3
3
-6
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
19
-1
5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
2
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-8
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
-14
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
23
6
8
2
-1
0
0
0
0
0
0
0
0
0
0
2
30
16
12
9
-1
1
0
0
0
0
0
0
0
0
0
0
-25
8
6
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
17
3
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
-3
2
0
2
-1
0
0
0
0
0
0
0
0
0
0
23
4
-7
2
32
-5
-2
0
0
0
0
0
0
0
0
0
0
0
19
-6
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
14
-4
5
-25
5
3
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-17
3
5
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
13
-2
1
-1
0
3
0
0
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
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
24
1
-2
1
0
-2
0
0
0
0
0
0
0
0
0
0
16
-12
-3
4
-1
2
2
0
0
0
0
0
0
0
0
0
0
1
10
23
-16
-3
3
0
0
0
0
0
0
0
0
0
0
0
-1
13
-25
10
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
20
-20
-21
-19
-3
0
0
0
0
0
0
0
0
0
0
0
6
-1
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-2
4
4
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
-4
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
8
-5
-1
7
2
0
0
0
0
0
0
0
0
0
0
0
8
6
-1
16
1
-2
-6
0
0
0
0
0
0
0
0
0
0
10
17
-1
-19
-23
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
2
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
4
20
16
-12
-5
4
-1
0
0
0
0
0
0
0
0
0
0
-7
-5
0
7
-3
0
0
-3
0
0
0
0
0
0
0
0
0
4
-1
-2
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
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
7
-3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-24
12
6
0
1
0
0
0
0
0
0
0
0
0
0
-1
2
8
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
-2
-20
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
-2
1
0
0
0
0
0
0
0
0
-1
1
-2
8
0
0
0
8
-7
0
0
0
0
0
0
0
0
0
0
0
-1
14
-24
6
-8
-3
0
0
0
0
0
0
0
0
0
0
3
0
24
-16
5
7
5
1
0
0
0
0
0
0
0
0
0
-3
10
-9
6
0
14
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
-12
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-12
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
19
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
-23
-5
0
0
0
0
0
0
0
0
0
-2
0
0
6
3
-29
1
-10
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-4
1
10
2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
-7
8
-13
0
0
0
-3
-2
0
0
0
0
0
0
0
1
1
0
2
6
-8
3
-25
0
0
0
0
0
0
0
0
0
0
3
-2
2
-10
-13
5
-29
-1
0
0
0
0
0
0
0
0
3
0
0
-2
7
-8
4
-13
0
0
0
0
0
0
0
0
0
0
-2
0
1
-8
-5
-12
-3
-8
0
0
0
0
0
0
0
0
0
1
1
-4
4
-3
2
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
1
-3
9
-4
-16
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
3
-1
-4
-33
-31
-13
2
0
0
0
0
0
0
0
0
-1
0
-5
7
-1
9
-19
3
-3
-2
0
0
0
0
0
0
0
0
-2
0
3
8
31
-22
-6
-20
0
0
0
0
0
0
0
0
0
0
1
-12
-18
8
-6
22
12
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
9
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
-7
-1
2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-1
8
2
2
1
0
0
0
0
0
0
0
0
0
0
1
1
2
-12
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-13
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-2
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
2
-13
-18
13
1
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
2
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
4
3
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
-3
9
-8
1
-8
-17
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-44
-20
3
-5
1
0
0
0
0
0
0
0
0
0
0
0
-4
8
2
-5
-25
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-7
-1
-2
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
6
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
6
-22
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
6
3
1
5
-9
-1
0
0
0
0
0
0
0
0
0
2
2
0
7
-1
-5
29
-8
-5
0
0
0
0
0
0
0
0
0
0
-1
3
-12
-4
-5
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-16
-25
-3
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
5
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
0
0
0
0
0
0
0
0
0
0
2
1
0
-2
4
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
13
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-9
15
17
-41
-4
0
0
0
0
0
0
0
0
0
0
3
0
2
8
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
7
22
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
2
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
5
5
-9
-5
0
0
0
0
0
0
0
0
0
0
0
6
8
-3
29
1
-5
0
0
0
0
0
0
0
0
0
1
2
-2
-3
-7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
-5
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
-1
-10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
6
-16
1
-6
-9
1
0
0
0
0
0
0
0
0
-1
0
0
-2
2
-3
13
-24
0
-2
0
0
0
0
0
0
0
0
0
0
2
-4
19
14
0
1
-4
0
0
0
0
0
0
0
0
0
0
3
-4
-8
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
1
1
2
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
1
2
8
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
4
-1
-2
0
0
0
0
0
0
0
0
0
0
1
-1
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
1
9
0
2
-14
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-2
1
-1
-10
15
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
6
0
-22
23
0
0
0
0
0
0
0
0
0
0
-2
6
-29
-19
-10
-2
22
0
0
0
0
0
0
0
0
0
0
0
-1
5
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-4
2
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-16
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
-7
0
3
-4
-22
1
0
0
0
0
0
0
0
0
0
0
2
-2
14
8
1
10
-7
0
0
0
0
0
0
0
0
0
0
2
4
7
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
-1
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-24
3
-20
13
1
0
0
0
0
0
0
0
0
0
0
0
-2
4
-31
15
-19
2
0
0
0
0
0
0
0
0
0
2
0
0
4
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-14
7
-17
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
5
-2
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
2
-1
-12
20
-41
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-41
6
6
-1
0
0
0
0
0
0
0
0
0
-1
0
-8
6
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-31
-9
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
1
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-13
3
3
0
0
0
0
0
0
0
0
0
1
0
-1
0
9
-30
23
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
10
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-4
-5
3
0
0
0
0
0
0
0
0
0
0
0
-1
8
1
-13
-4
-6
-1
0
0
0
0
0
0
0
0
0
0
7
-14
-16
8
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-14
4
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
8
10
-3
-4
0
-4
0
0
0
0
0
0
0
0
0
1
-2
8
1
-18
16
5
0
0
0
0
0
0
0
0
0
0
19
8
15
1
-5
-10
0
0
0
0
0
0
0
0
0
0
0
-5
6
-6
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
2
1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
5
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
2
5
-19
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
-7
-2
3
-1
0
0
0
0
0
0
0
0
0
0
-8
1
6
3
-22
1
-1
0
2
0
0
0
0
0
0
0
0
7
-4
0
15
1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-4
-3
15
0
0
0
0
0
0
0
0
0
0
0
5
0
-14
43
0
-9
8
-1
0
0
0
0
0
0
0
0
0
-18
22
-26
45
-8
-7
5
0
0
0
0
0
0
0
0
0
0
-20
8
13
-47
5
-19
-1
-10
-1
0
0
0
0
0
0
0
0
-3
2
-7
6
42
0
6
0
0
0
0
0
0
0
0
0
0
-6
6
9
8
9
1
-3
0
0
0
0
0
0
0
0
0
0
-8
-3
-1
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
16
-9
-1
0
4
0
0
0
0
0
0
0
0
0
0
-10
-5
18
17
-2
-6
0
0
0
0
0
0
0
0
0
0
0
-12
12
-6
5
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
-13
-3
23
0
0
2
0
0
0
0
0
0
0
0
0
0
0
8
8
-5
-8
0
-1
0
0
0
0
0
0
0
0
0
0
-2
2
-2
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
6
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-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
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
7
2
-6
8
-2
-1
0
0
0
0
0
0
0
0
0
7
-5
-22
0
-6
4
2
0
0
0
0
0
0
0
0
0
0
-1
42
13
-4
8
0
1
0
0
0
0
0
0
0
0
0
0
5
-15
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
3
2
0
3
1
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-22
2
-23
10
25
16
0
0
0
0
0
0
0
0
0
8
-1
-13
-3
-1
-12
6
-5
1
0
0
0
0
0
0
0
0
-6
-21
-4
-9
5
-5
1
0
0
0
0
0
0
0
0
0
0
23
-23
16
8
4
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-9
-30
-25
42
-2
-3
0
0
0
0
0
0
0
0
0
0
-4
-25
-2
18
2
0
1
1
0
0
0
0
0
0
0
0
0
7
8
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-23
-15
-9
-6
0
5
0
1
0
0
0
0
0
0
0
25
-5
35
-5
6
-32
25
-13
0
0
0
0
0
0
0
0
0
3
-25
-26
-13
22
-2
-41
4
0
0
0
0
0
0
0
0
0
4
-5
-22
-24
-12
7
-4
0
0
0
0
0
0
0
0
0
0
4
0
22
-25
8
-7
0
1
0
0
0
0
0
0
0
0
0
0
-2
24
59
9
-1
1
0
0
0
0
0
0
0
0
0
0
2
-5
-7
5
12
-3
0
-1
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-9
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
17
-13
-14
25
27
0
6
0
0
0
0
0
0
0
0
-28
49
26
6
30
-6
-10
1
-2
0
1
0
0
0
0
0
0
-42
7
-28
-27
-16
5
2
1
0
0
0
0
0
0
0
0
0
35
3
-19
-12
17
13
-16
3
0
0
0
0
0
0
0
0
0
-3
9
22
-21
22
-6
0
0
0
0
0
0
0
0
0
0
0
13
-14
6
-25
-13
-5
8
0
0
0
0
0
0
0
0
0
0
8
-1
-10
-6
-1
0
-4
0
1
0
0
0
0
0
0
0
0
16
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-13
3
8
-1
6
0
-1
0
1
0
0
0
0
0
0
0
13
-3
-19
0
-7
-8
9
-1
0
0
0
0
0
0
0
0
0
6
2
2
-34
8
-7
1
0
0
0
0
0
0
0
0
0
0
-6
3
-4
-12
8
1
-3
0
0
0
0
0
0
0
0
0
0
6
-5
1
-42
-3
-1
1
0
0
0
0
0
0
0
0
0
0
20
-5
-10
-2
-7
0
0
1
0
0
0
0
0
0
0
0
0
-3
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
1
8
-5
0
0
1
0
0
0
0
0
0
0
0
0
-20
15
-5
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
-6
0
-8
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-3
3
-4
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
1
0
0
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
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
2
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-8
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
3
1
1
6
0
0
0
0
0
0
0
0
0
0
8
-45
33
1
-5
-1
0
-1
0
0
0
0
0
0
0
0
0
-6
-9
9
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
7
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
5
16
15
10
0
-1
0
0
0
0
0
0
0
0
0
-2
-10
37
-41
-9
17
0
2
0
0
0
0
0
0
0
0
0
1
1
-7
6
30
23
0
0
0
0
0
0
0
0
0
0
0
-5
24
4
8
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
35
-13
-31
0
0
0
0
0
0
0
0
0
0
0
5
8
-2
-3
-3
-2
0
0
0
0
0
0
0
0
0
0
0
2
-5
16
7
0
-1
0
-1
0
0
0
0
0
0
0
0
0
4
-34
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-7
-15
12
1
-7
4
0
0
0
0
0
0
0
0
0
6
-16
5
5
-2
24
-19
-7
-6
0
0
0
0
0
0
0
0
-1
17
-9
-34
7
-29
-32
-2
-1
0
0
0
0
0
0
0
0
-4
7
8
32
-2
9
-1
0
0
0
0
0
0
0
0
0
0
1
31
0
-7
25
31
-3
0
0
0
0
0
0
0
0
0
0
0
5
-7
20
-20
13
0
0
0
1
0
0
0
0
0
0
0
0
-4
-8
1
12
0
0
0
1
0
0
0
0
0
0
0
0
-3
22
6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
6
45
-18
1
-6
0
1
0
0
0
0
0
0
0
0
16
-4
-10
-42
9
-6
5
8
1
0
0
0
0
0
0
0
0
33
2
-5
-8
-10
3
-22
-1
0
0
0
0
0
0
0
0
0
32
-13
10
-41
6
0
-3
0
0
0
0
0
0
0
0
0
0
31
-8
5
24
1
13
22
0
0
0
0
0
0
0
0
0
0
9
-2
-34
-35
-22
-5
-1
0
0
0
0
0
0
0
0
0
0
-12
13
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
7
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
7
-5
6
-5
1
-1
0
0
0
0
0
0
0
0
0
6
-2
4
6
3
2
6
0
0
0
0
0
0
0
0
0
0
0
3
-31
5
2
2
3
0
0
0
0
0
0
0
0
0
0
-2
0
2
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
8
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
-1
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
-3
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
7
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-10
6
-5
-7
0
2
0
0
0
0
0
0
0
0
0
-1
-1
5
16
3
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-2
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
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
6
12
-3
7
-1
0
0
0
0
0
0
0
0
0
0
1
24
9
7
-5
-20
0
-6
0
0
0
0
0
0
0
0
-4
-7
-13
-8
-17
-1
27
2
-3
0
0
0
0
0
0
0
0
8
-7
0
8
8
4
0
0
0
0
0
0
0
0
0
0
0
5
4
8
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
4
-5
3
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
35
-4
8
-5
30
-25
2
0
0
0
0
0
0
0
0
0
3
-3
4
16
-10
9
14
-17
1
0
0
0
0
0
0
0
0
-10
28
1
10
-22
-17
1
9
-3
0
0
0
0
0
0
0
0
13
9
-30
1
27
-15
-7
0
0
0
0
0
0
0
0
0
0
0
-15
13
-25
1
6
1
0
0
0
0
0
0
0
0
0
0
1
8
-23
13
-9
23
0
0
0
0
0
0
0
0
0
0
0
-4
17
0
-8
2
2
0
0
0
0
0
0
0
0
0
0
0
8
8
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
17
-20
35
7
-19
17
0
0
0
0
0
0
0
0
0
0
13
25
8
31
-12
3
22
0
0
0
0
0
0
0
0
0
0
0
14
0
-1
6
-7
1
3
0
0
0
0
0
0
0
0
0
-14
4
-31
-30
-1
10
-5
0
0
0
0
0
0
0
0
0
0
-6
-7
31
5
-2
5
0
0
0
0
0
0
0
0
0
0
0
16
-14
2
-13
-12
3
-4
0
0
0
0
0
0
0
0
0
0
0
7
8
29
-16
5
0
1
0
0
0
0
0
0
0
0
0
-7
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-5
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
6
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-10
8
17
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
7
1
2
6
0
0
0
0
0
0
0
0
0
0
0
-1
-4
8
-5
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-3
12
4
0
4
0
0
0
0
0
0
0
0
0
-8
19
13
14
-18
-2
-9
1
0
0
0
0
0
0
0
0
0
5
3
-30
14
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
13
0
3
-1
9
1
0
2
0
0
0
0
0
0
0
0
3
-1
0
5
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
25
5
-3
0
14
-1
0
0
0
0
0
0
0
0
0
6
5
18
-10
6
19
19
8
6
0
0
0
0
0
0
0
0
-12
20
-22
-31
7
16
16
0
-1
0
0
0
0
0
0
0
0
2
23
2
10
7
-8
1
0
0
0
0
0
0
0
0
0
0
-5
17
29
-7
-5
-4
-9
0
0
0
0
0
0
0
0
0
0
0
-8
0
4
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
-3
2
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
22
1
4
-3
2
0
0
0
0
0
0
0
0
0
0
8
6
18
31
20
6
0
-2
0
0
0
0
0
0
0
0
0
8
9
29
-8
19
8
2
-4
0
0
0
0
0
0
0
0
0
-10
-7
10
0
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
-33
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
5
2
5
2
0
0
0
0
0
0
0
0
0
0
12
-9
-4
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-17
1
1
-1
0
0
0
0
0
0
0
0
0
0
5
2
-14
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
3
0
6
0
0
1
1
3
0
0
0
0
0
0
0
0
0
0
0
-10
-8
-5
0
-3
-1
0
0
0
0
0
0
0
0
0
-8
0
9
0
-5
1
0
-1
0
0
0
0
0
0
0
0
0
2
8
-1
-7
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-9
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
2
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
3
1
-3
-1
2
0
0
0
0
0
0
0
0
0
0
-5
-4
-4
10
9
4
4
3
-6
0
0
0
0
0
0
0
0
3
-1
-8
-14
8
0
1
0
-1
0
0
0
0
0
0
0
0
2
25
-20
-10
-6
-4
-2
0
0
0
0
0
0
0
0
0
0
0
6
10
-14
-2
-8
0
-3
0
0
0
0
0
0
0
0
0
0
-8
16
-12
-4
1
0
0
0
0
0
0
0
0
0
0
0
-3
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
2
-3
0
2
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
0
3
0
3
0
0
0
0
0
0
0
0
0
0
20
7
17
-2
0
-5
0
0
-2
0
0
0
0
0
0
0
0
7
-24
33
-27
5
9
-8
4
0
0
0
0
0
0
0
0
0
10
7
-37
15
1
0
-3
0
0
0
0
0
0
0
0
0
0
-8
-14
13
9
0
4
0
0
0
0
0
0
0
0
0
0
0
14
20
0
17
7
8
-2
0
0
0
0
0
0
0
0
0
0
12
4
-5
-3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-29
-12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
8
17
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-5
-2
0
1
-3
0
0
0
0
0
0
0
0
0
-2
0
-1
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
1
8
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
10
0
-1
1
-1
-3
0
0
0
0
0
0
0
0
-1
3
5
-7
-16
4
-5
4
0
0
0
0
0
0
0
0
0
-1
16
25
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
7
12
5
-29
-4
-4
1
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
1
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
31
-4
0
9
-9
-4
0
1
0
0
0
0
0
0
0
0
0
-4
-8
6
-4
-5
-10
3
-4
0
0
0
0
0
0
0
0
0
-2
-13
-10
6
-4
1
6
1
0
0
0
0
0
0
0
0
0
6
6
13
4
13
-1
0
0
0
0
0
0
0
0
0
0
0
-6
24
12
1
14
0
0
0
0
0
0
0
0
0
0
0
0
8
8
-30
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
5
4
1
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
5
0
1
2
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
3
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
19
-7
34
-32
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
17
-5
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
7
-21
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
-4
-4
10
3
-7
-13
0
0
0
0
0
0
0
0
0
-1
0
1
-8
7
16
39
20
0
0
0
0
0
0
0
0
0
-2
0
0
-4
-12
18
-9
-8
0
0
0
0
0
0
0
0
0
0
0
5
10
-7
-12
-4
-15
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
3
27
0
0
0
17
0
0
0
0
0
0
0
0
0
1
0
-6
-3
42
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-30
-5
14
-6
0
0
0
0
0
0
0
0
0
-2
7
-17
-4
9
5
5
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
1
9
5
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
-10
-8
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
1
-3
0
0
0
0
0
0
0
0
-1
0
0
7
-6
-2
-1
-1
1
0
0
0
0
0
0
0
0
0
0
2
0
-12
-14
30
-1
1
0
0
0
0
0
0
0
0
0
-1
-2
-8
7
5
-12
-13
-2
0
0
0
0
0
0
0
0
0
0
0
-4
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
-5
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-33
-3
0
0
0
0
0
0
0
0
0
0
1
-1
-12
59
10
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
-8
9
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
-3
1
-6
-9
1
6
0
0
0
0
0
0
0
0
0
0
0
-2
2
13
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-1
5
-2
0
0
0
0
0
0
0
0
0
0
1
0
1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
4
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-9
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
14
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-2
-2
-8
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
4
9
1
7
0
0
0
0
0
0
0
0
0
1
-1
0
1
1
3
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-30
33
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-30
18
-46
36
-9
0
0
0
0
0
0
0
0
0
3
-1
18
-23
17
-56
-2
-3
0
0
0
0
0
0
0
0
0
-2
20
-1
-6
42
-12
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-10
2
-1
12
12
0
0
0
0
0
0
0
0
0
0
0
1
5
10
-5
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
17
0
0
0
-9
0
0
0
0
0
0
0
0
-2
-10
0
-13
13
0
0
0
6
0
0
0
0
0
0
0
0
1
0
4
-24
-13
2
-38
-37
3
0
0
0
0
0
0
0
0
0
-13
0
37
-17
6
22
5
-3
0
0
0
0
0
0
0
0
0
0
0
25
-8
17
18
-2
-5
0
0
0
0
0
0
0
0
0
0
1
1
-12
23
-2
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
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
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-8
6
-17
0
0
0
5
-6
0
0
0
0
0
0
0
0
0
0
24
6
13
8
15
-8
3
0
0
0
0
0
0
0
-1
0
3
2
8
34
0
-4
-20
0
0
0
0
0
0
0
0
0
0
0
-5
8
13
-1
-24
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
19
-1
0
0
0
0
0
0
0
0
-1
0
0
-13
0
0
0
-4
-12
0
0
0
0
0
0
0
0
0
0
0
-6
-41
7
-3
8
0
1
0
0
0
0
0
0
1
0
0
3
5
0
-39
-4
14
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
1
13
-19
-1
0
0
0
0
0
0
0
0
0
0
-1
8
-2
-3
19
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
-8
0
1
0
0
0
0
0
0
0
0
-2
-2
-6
8
-13
-8
2
0
0
0
0
0
0
0
1
0
0
0
0
-16
6
-3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
27
-4
-1
0
0
0
0
0
0
0
1
0
0
0
8
-24
-7
2
2
1
0
0
0
0
0
0
0
0
0
0
5
19
17
-9
-8
0
-1
0
0
0
0
0
0
0
0
0
0
-6
8
-2
-5
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-20
-13
0
0
0
0
0
0
0
0
0
0
0
1
1
0
8
-5
1
2
8
0
0
0
0
0
0
0
0
0
0
0
1
12
-18
13
13
-32
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
5
0
9
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-24
-15
23
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
5
2
-5
-41
4
-23
0
0
0
0
0
0
0
0
0
0
1
3
4
-22
45
-8
-24
0
0
0
0
0
0
0
0
0
0
0
8
8
-8
3
17
21
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
25
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-4
-10
0
0
0
13
0
0
0
0
0
0
0
0
1
2
7
9
19
17
24
-3
1
0
0
0
0
0
0
0
0
0
0
4
-7
-46
-7
8
6
-7
0
0
0
0
0
0
0
0
0
0
0
-19
7
8
9
10
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-7
1
-23
8
2
0
0
0
0
0
0
0
0
0
0
-1
3
1
-1
13
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-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
1
-2
0
7
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
4
-6
0
0
0
0
0
0
0
0
-1
0
-2
-13
-13
-26
10
0
0
0
0
0
0
0
0
0
0
0
0
-6
-42
-5
9
31
-9
0
0
0
0
0
0
0
0
3
0
1
7
-13
-7
13
-13
-7
0
0
0
0
0
0
0
0
0
0
-1
4
-1
0
-8
-2
0
-5
0
0
0
0
0
0
0
0
0
0
3
1
0
-3
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
2
-12
0
0
0
-13
-2
0
0
0
0
0
0
0
0
0
0
0
2
-8
12
-20
2
4
0
0
0
0
0
0
0
0
0
0
0
22
-5
-20
12
-4
1
0
0
0
0
0
0
0
0
0
0
-1
0
5
6
-7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-10
3
-1
0
0
0
0
0
0
0
0
0
0
1
16
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
3
6
5
8
-2
2
-1
0
0
0
0
0
0
0
2
0
4
1
-13
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
-17
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
10
-16
4
2
-13
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
6
12
3
0
0
0
0
0
0
0
0
0
0
-1
0
10
3
-7
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
1
-2
15
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-10
5
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
2
2
30
-8
0
-33
0
0
0
0
0
0
0
0
0
0
2
-19
-7
0
1
18
5
0
0
0
0
0
0
0
0
0
0
0
-7
5
30
-48
14
-17
0
0
0
0
0
0
0
0
0
0
3
1
8
12
9
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-12
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
5
12
-7
2
0
0
0
1
0
0
0
0
0
0
0
0
-2
17
2
8
-24
0
0
0
3
0
0
0
0
0
0
0
0
1
0
-7
-5
24
35
8
31
-5
0
0
0
0
0
0
0
0
0
0
9
-2
4
-2
2
-5
1
0
0
0
0
0
0
0
0
0
0
-2
2
6
42
13
-13
0
0
0
0
0
0
0
0
0
0
0
-2
-14
10
-20
13
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
-18
-2
0
0
0
0
0
0
0
0
4
16
0
2
0
0
0
-16
4
0
0
0
0
0
0
0
0
0
-1
-4
20
10
-31
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
10
-19
29
-35
-8
1
0
0
0
0
0
0
0
0
0
0
3
12
17
16
10
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
8
6
5
2
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
22
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
3
10
-8
-13
-21
8
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
6
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
4
5
4
-5
1
0
0
0
0
0
0
0
0
0
0
1
0
8
1
-2
-8
-1
0
0
0
0
0
0
0
0
0
1
0
-3
0
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
2
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
23
-32
-9
0
0
0
0
0
0
0
0
0
0
0
1
-12
-5
33
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
1
7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
25
25
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
-2
19
-13
-52
39
0
0
0
0
0
0
0
0
0
0
0
2
-13
-17
-31
-35
-4
0
0
0
0
0
0
0
0
0
0
1
0
-8
-16
-14
-3
5
0
0
0
0
0
0
0
0
0
0
-5
2
-25
-4
14
32
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-6
-1
-6
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
5
0
-1
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-6
-20
17
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
32
10
29
8
-42
0
0
0
0
0
0
0
0
0
0
0
5
-3
3
2
12
-16
-8
0
0
0
0
0
0
0
0
0
0
-6
4
-17
16
9
-8
-1
0
0
0
0
0
0
0
0
0
0
1
-14
3
-10
8
-3
-1
0
0
0
0
0
0
0
0
0
0
3
-1
5
-8
1
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
12
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
7
-6
-14
0
0
0
4
-3
0
0
0
0
0
0
0
0
4
0
-1
-6
1
33
3
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-8
-20
-17
9
0
0
0
0
0
0
0
0
0
0
0
1
15
4
25
-4
-6
0
0
0
0
0
0
0
0
0
0
0
8
6
8
13
7
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-8
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
6
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-29
-1
0
0
0
0
0
0
0
-1
1
0
-3
-3
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
4
0
5
-26
-4
13
5
-1
0
0
0
0
0
0
0
0
0
0
5
0
-9
45
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
1
1
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-19
2
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-2
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
10
-7
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-8
-22
-13
0
0
0
0
0
0
0
0
0
0
2
0
0
14
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-7
-29
-22
5
7
0
0
0
0
0
0
0
0
0
0
0
25
16
24
17
8
-10
0
0
0
0
0
0
0
0
0
0
2
-1
-8
7
-14
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-3
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-14
-8
2
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
1
0
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
10
-8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-2
1
1
-18
29
-42
3
0
0
0
0
0
0
0
0
0
0
0
8
-13
29
-4
18
13
0
0
0
0
0
0
0
0
0
0
7
8
10
6
-5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
7
0
9
8
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-6
1
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-7
0
0
0
8
0
0
0
0
0
0
0
0
2
0
-3
14
13
0
0
0
5
4
0
0
0
0
0
0
0
0
0
-3
-9
-9
18
-12
14
-1
0
0
0
0
0
0
0
0
0
0
0
1
12
-4
-22
8
7
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
25
-4
-5
-1
0
0
0
0
0
0
0
0
0
0
-8
1
5
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
13
0
0
0
-9
0
0
0
0
0
0
0
0
0
1
0
-1
0
-1
-49
10
8
1
0
0
0
0
0
0
0
0
0
1
2
-1
5
-7
9
-4
1
0
0
0
0
0
0
0
0
0
0
0
-6
-8
4
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
12
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
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
4
-2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
12
7
-31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
13
5
5
3
0
0
0
0
0
0
0
0
0
0
0
0
3
19
-69
-42
-8
0
0
0
0
0
0
0
0
0
0
0
-3
1
-5
-2
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
5
5
-8
20
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
6
15
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
-2
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-6
-1
1
-20
0
0
0
20
0
0
0
0
0
0
0
0
0
2
8
4
-1
15
22
9
-3
0
0
0
0
0
0
0
0
0
0
1
2
-14
15
4
-3
-2
0
0
0
0
0
0
0
0
0
1
0
0
12
23
0
6
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
-12
10
-5
1
0
0
0
0
0
0
0
0
0
0
1
1
23
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
-3
-4
0
0
0
-16
-1
0
0
0
0
0
0
0
0
0
-1
1
12
2
-21
16
2
2
0
0
0
0
0
0
0
0
1
0
0
4
15
2
12
0
0
0
0
0
0
0
0
0
-4
1
-1
0
23
-22
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
13
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
-1
0
0
3
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
3
0
1
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-2
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
5
-5
4
-10
-1
21
0
0
0
0
0
0
0
0
0
-1
0
-1
0
16
14
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
56
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-10
5
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
-3
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
8
30
49
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-7
-1
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
13
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
-1
0
14
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
25
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-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
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
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
-24
0
0
0
0
0
0
0
0
0
0
1
-2
0
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
4
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
1
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-7
17
4
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-7
7
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-3
5
22
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
2
-3
0
0
0
0
0
0
0
0
0
-2
-2
5
-12
8
2
0
1
0
0
0
0
0
0
0
0
0
0
3
3
0
5
-5
2
0
0
0
0
0
0
0
0
0
0
0
3
-2
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-18
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
3
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-5
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
7
-2
3
2
1
0
0
0
0
0
0
0
0
0
-1
0
-7
22
-24
-2
-6
1
2
0
0
0
0
0
0
0
0
4
-1
31
5
-8
5
-10
6
0
0
0
0
0
0
0
0
0
8
-16
4
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
-5
7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-2
-4
0
6
-2
0
0
0
0
0
0
0
0
0
0
8
5
13
-3
9
12
0
-1
0
0
0
0
0
0
0
0
-2
-1
18
0
19
1
1
2
-1
0
0
0
0
0
0
0
0
0
-4
-5
-4
-7
6
0
0
-1
0
0
0
0
0
0
0
0
0
1
7
-7
17
2
2
0
0
0
0
0
0
0
0
0
0
0
7
4
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
1
3
9
12
-4
-1
0
0
0
0
0
0
0
0
0
-3
3
0
3
-10
-1
1
1
0
0
0
0
0
0
0
0
0
0
-1
2
-2
1
-9
1
1
0
0
0
0
0
0
0
0
0
0
-2
-5
19
4
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-1
6
19
0
-1
0
0
0
0
0
0
0
0
0
0
-3
8
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-3
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
3
1
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
6
-24
0
2
0
1
0
0
0
0
0
0
0
0
0
-1
-23
10
31
-6
-1
9
-4
0
0
0
0
0
0
0
0
0
0
6
14
-10
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
2
10
9
-2
-4
7
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-8
-2
0
-1
0
0
0
0
0
0
0
0
0
1
-9
-3
9
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-19
0
2
0
0
0
0
0
0
0
0
0
0
0
3
17
3
6
12
-7
-3
0
0
1
0
0
0
0
0
0
0
0
7
-1
-2
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-10
2
-2
0
0
0
0
0
0
0
0
0
0
0
10
-3
0
-1
4
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-7
1
2
-5
-1
0
0
0
0
0
0
0
0
0
0
8
-3
-1
7
4
6
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
-1
0
0
0
0
0
0
0
0
0
0
0
1
5
-2
-1
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-3
0
5
2
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-3
1
-1
3
1
0
0
0
0
0
0
0
0
0
3
2
-5
-8
16
8
7
5
0
0
0
0
0
0
0
0
0
0
-7
0
0
8
-12
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
-10
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-3
-16
-2
0
0
5
0
0
0
0
0
0
0
0
1
-5
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-2
0
0
3
1
0
0
0
0
0
0
0
0
0
0
12
6
-2
10
-2
-1
0
-1
2
0
0
0
0
0
0
0
0
-2
4
-4
8
0
-1
-3
0
0
0
0
0
0
0
0
0
-1
-10
1
9
3
15
-3
-1
0
0
0
0
0
0
0
0
0
0
5
-1
1
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
1
0
1
0
3
0
0
0
0
0
0
0
0
4
1
-1
-5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-7
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
8
1
-3
25
1
0
0
0
0
0
0
0
0
0
0
0
9
-2
-4
-1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-3
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
7
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
1
0
2
0
0
0
0
0
0
0
0
0
0
-2
-4
1
-13
0
24
0
4
0
0
0
0
0
0
0
0
0
3
-8
-13
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
13
15
9
37
-3
2
0
5
0
0
0
0
0
0
0
0
0
-1
-25
0
4
8
1
0
0
0
0
0
0
0
0
0
0
0
-1
8
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
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
-1
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
5
31
0
-12
-7
0
-3
0
0
0
0
0
0
0
0
0
9
1
-22
-17
14
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
14
14
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-2
3
3
0
1
0
0
0
0
0
0
0
0
0
2
6
0
-8
6
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-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
4
13
3
0
-1
0
0
0
0
0
0
0
0
0
0
2
5
0
-8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
14
16
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
9
-6
-3
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
-7
7
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
4
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
-6
2
0
18
-6
0
0
0
0
0
0
0
0
0
-3
3
-12
19
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-10
-4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
5
-9
-12
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-8
0
-3
3
0
1
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-12
-2
-3
7
1
1
0
0
0
0
0
0
0
0
0
-9
20
-12
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
1
4
24
-19
7
4
0
0
-1
0
0
0
0
0
0
0
0
-4
0
5
-1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-1
1
7
0
1
3
0
0
0
0
0
0
0
0
0
0
-3
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
-2
-12
0
2
4
-2
0
0
0
0
0
0
0
0
0
0
0
7
-2
3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-1
5
3
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
6
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
2
-8
4
2
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
9
2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-4
6
6
-1
0
0
0
0
0
0
0
0
0
1
1
-3
2
-3
12
-2
1
0
0
0
0
0
0
0
0
0
0
-3
-5
8
6
7
1
0
1
0
0
0
0
0
0
0
0
0
2
5
0
0
-4
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
1
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-2
1
-12
0
1
-2
0
-2
0
0
0
0
0
0
0
0
0
-1
1
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
6
5
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
3
1
0
0
0
0
0
0
0
0
0
4
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
-14
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-33
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
1
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
35
70
13
39
-33
-19
61
0
0
8
35
10
33
0
18
-102
0
-27
97
11
10
19
9
-69
-47
0
5
-54
-21
-71
-77
37
15
35
0
-13
-24
-74
-20
11
8
-29
8
0
-30
-29
-75
16
25
-60
5
16
0
3
6
17
-14
-75
-32
6
8
0
-14
-48
-58
21
14
33
-17
47
0
1
18
48
61
-15
50
43
-1
0
-1
-10
-30
33
9
48
33
-6
0
-2
-30
1
-8
0
-27
27
42
0
-1
-8
-8
30
32
-2
-24
44
0
0
13
-7
14
31
29
35
3
0
0
4
19
-17
-37
10
29
-19
0
0
17
-22
41
22
-10
-31
7
0
-9
-53
-5
-129
-28
-76
-27
-23
-4
-42
94
-8
19
-49
-17
-32
-70
-1
-65
-31
62
72
9
20
-44
14
-2
16
-63
-39
8
47
22
34
-20
0
0
3
13
17
18
27
23
-45
0
-58
-6
41
1
-13
3
-9
5
1
-38
-35
29
-67
-11
-21
-26
17
-49
-27
7
-24
-27
4
1
-28
-2
13
76
32
-98
-29
-70
-60
9
0
6
18
-30
26
-43
-37
-5
-31
26
-9
-62
45
-28
-21
22
-10
-9
12
1
-21
25
37
8
-40
20
118
29
0
3
-47
-4
21
44
140
51
7
0
-45
38
-63
14
73
53
5
71
0
0
53
76
2
24
23
51
33
0
20
-9
3
-48
6
32
-1
-14
0
41
4
45
17
-45
16
67
5
3
-13
20
-35
16
-6
0
47
-58
0
40
-53
-23
-23
-60
-17
-18
-41
-75
-57
-4
-31
-9
-20
-65
-21
-36
2
62
-16
-42
-53
-30
-61
-89
-73
-2
-83
29
-5
16
2
37
13
30
0
0
-32
-28
-10
-20
41
11
-54
0
-19
-24
26
-22
-1
-9
-37
12
1
14
-38
22
3
-34
4
-58
-1
-54
3
70
-12
-36
16
-49
21
26
21
42
4
-71
-23
-12
-41
5
-31
5
-4
-78
73
15
62
-4
-25
-13
-4
-18
77
-41
0
16
-19
14
-97
1
22
-16
31
-50
16
-30
40
20
0
-41
-26
31
77
41
109
67
21
0
-44
51
-14
72
42
42
14
10
0
-6
34
42
47
26
72
99
-40
0
5
-73
-34
-35
10
33
66
-49
0
7
-9
-59
36
68
35
35
4
3
30
-60
-23
-21
-29
32
62
-107
0
-29
18
-24
-9
0
-50
-32
40
-62
55
0
-33
-42
-44
-67
-80
-15
23
37
-37
-18
-64
-69
-102
-125
-36
0
10
6
71
37
-59
4
31
-9
0
0
-11
-22
-30
13
37
7
-43
0
1
46
-21
36
-41
-42
-40
22
0
0
-12
14
25
-65
13
-16
1
7
-8
23
-23
-10
14
-15
16
10
1
13
-6
38
-11
43
19
-12
7
0
5
-2
-2
16
26
-10
-6
-1
0
2
4
-4
7
6
-29
28
0
0
0
0
10
7
-5
-3
-5
0
0
0
0
-5
41
25
9
2
1
0
0
0
13
27
21
27
45
-1
0
0
-10
20
55
15
28
8
6
0
1
5
-22
3
-46
12
31
-13
0
21
1
-31
61
35
-40
-20
-17
1
14
34
1
-31
1
-29
-7
7
0
-18
3
28
5
-35
14
-32
-13
1
2
-3
-22
-60
-81
-15
-37
-50
17
16
31
-11
-53
-7
-28
-49
13
1
3
0
7
10
66
63
-1
0
0
0
0
0
0
0
0
0
0
-3
4
5
25
1
-30
3
5
0
0
0
0
0
0
0
0
0
0
3
1
15
23
53
-4
22
0
0
0
0
0
0
0
0
0
0
0
1
23
0
49
7
38
0
0
0
0
0
0
0
0
0
0
0
0
18
12
51
38
-12
-15
2
0
0
0
0
0
0
0
0
0
0
0
28
21
84
41
33
-4
-1
0
0
0
0
0
0
0
0
0
0
0
49
50
30
14
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
62
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
32
40
-34
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-15
-10
-1
1
38
68
16
0
0
0
0
0
0
0
0
0
0
-11
-1
11
27
19
-3
43
-42
-6
0
0
0
0
0
0
0
0
0
15
25
24
34
27
18
84
-16
2
0
0
0
0
0
0
0
0
0
30
28
45
10
30
96
59
-18
0
0
0
0
0
0
0
0
0
0
40
44
22
13
38
84
66
17
0
0
0
0
0
0
0
0
0
0
24
16
19
46
27
60
-2
3
0
0
0
0
0
0
0
0
0
0
-29
19
39
77
144
32
-3
0
0
0
0
0
0
0
0
0
0
0
9
10
38
80
47
74
-1
0
0
0
0
0
0
0
0
0
0
0
1
76
-94
30
24
3
0
0
0
0
0
0
0
0
0
0
0
0
13
5
58
55
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
64
24
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-28
3
16
20
19
25
-15
0
0
0
0
0
0
0
0
0
0
-7
5
16
16
17
16
11
-5
-9
0
0
0
0
0
0
0
0
0
9
16
29
26
23
-13
13
60
2
0
0
0
0
0
0
0
0
0
37
28
26
33
8
42
19
-13
0
0
0
0
0
0
0
0
0
0
53
29
20
20
65
33
-8
17
0
0
0
0
0
0
0
0
0
0
29
43
34
54
23
30
-1
3
0
0
0
0
0
0
0
0
0
0
42
34
-4
10
67
48
-8
0
0
0
0
0
0
0
0
0
0
0
-2
12
41
-8
42
125
-1
0
0
0
0
0
0
0
0
0
0
0
33
-51
-26
53
30
3
0
0
0
0
0
0
0
0
0
0
0
0
4
38
81
111
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
59
17
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-15
-38
-22
38
32
-12
-3
0
0
0
0
0
0
0
0
0
0
21
-40
5
-52
15
3
5
13
-2
0
0
0
0
0
0
0
0
0
22
-4
-12
0
22
-17
10
-3
1
0
0
0
0
0
0
0
0
0
30
19
15
14
23
36
5
1
1
0
0
0
0
0
0
0
0
0
-2
76
27
77
24
5
20
-1
0
0
0
0
0
0
0
0
0
0
62
5
42
19
46
-49
-3
1
0
0
0
0
0
0
0
0
0
0
52
41
27
-28
56
14
0
0
0
0
0
0
0
0
0
0
0
0
-8
37
31
60
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
57
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
82
12
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
8
11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
1
12
13
79
11
-2
1
28
35
50
30
46
42
-10
-10
-4
3
-63
-8
60
-60
-20
3
5
-10
0
3
9
-41
3
69
-8
-7
-9
0
-3
-1
-8
-5
32
16
14
-43
0
0
0
3
10
15
36
31
-1
0
0
0
0
0
9
2
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-9
71
15
-45
54
14
-1
0
-41
24
-71
42
16
5
-5
5
-10
5
-44
-31
-50
8
12
12
7
-46
2
-8
-30
-2
11
-43
9
-16
103
0
-1
10
-12
-20
89
-30
11
-7
0
0
0
6
9
46
-13
-49
0
0
0
0
0
1
-25
23
0
0
0
0
0
0
0
0
-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
-6
49
-7
25
4
-64
-22
8
-13
-110
63
15
10
-20
32
1
12
-40
-9
-9
23
-31
-8
8
14
-6
-35
-1
-3
-17
-6
-41
-40
8
39
5
0
0
-1
0
4
-7
0
108
7
0
0
0
2
1
-19
-6
25
0
0
0
0
0
2
18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-64
-25
-31
-23
25
-10
10
12
10
-39
-34
-19
5
13
-3
26
29
3
-8
-29
-19
-76
8
12
2
73
0
0
4
7
5
44
-22
81
9
0
0
1
12
-4
-8
61
-9
0
0
0
0
0
7
13
5
-2
0
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
8
-25
2
3
-6
-4
4
-48
0
-14
9
-10
12
3
-6
34
45
0
0
2
1
3
6
10
84
17
0
0
-2
1
20
45
15
-17
0
0
0
0
6
-10
-13
-24
1
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
2
-23
0
36
44
0
2
-1
-2
-7
1
15
5
6
0
-1
0
0
-29
-29
4
95
0
0
0
0
6
-17
-8
39
1
0
0
0
0
0
8
7
15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
42
22
1
0
0
0
-1
-8
-15
11
-2
0
0
0
0
-3
27
41
-27
1
0
0
0
0
-2
-7
28
4
0
0
0
0
0
0
10
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
51
-6
-24
0
0
0
0
0
9
-33
13
-2
0
0
0
0
0
25
9
23
0
0
0
0
0
0
-5
18
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
0
0
0
0
0
0
-6
32
0
0
0
0
0
0
0
-4
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
21
19
46
-3
15
-24
-59
-4
-13
26
-24
-3
88
23
-21
-29
-53
-9
14
26
-1
49
19
-10
12
-49
-61
68
-75
7
3
10
4
30
-3
-62
-54
-102
1
-37
28
33
95
0
0
3
14
-62
8
17
14
41
0
0
-2
-8
-32
29
34
43
-4
0
0
0
0
0
-5
-2
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-70
-5
73
40
53
13
4
7
-57
62
-21
-8
68
80
19
-1
25
-26
-65
-38
0
-35
21
-4
12
68
-40
-59
-69
-31
-118
23
8
34
84
5
6
22
-7
21
4
6
75
137
0
-2
-6
-13
0
-3
-23
116
7
0
0
0
-19
5
-39
42
4
0
0
0
0
3
0
34
-14
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
14
-35
-35
49
-5
-10
8
38
-117
10
-1
72
-26
51
1
13
72
5
12
-7
-15
-69
14
-15
30
108
-20
12
-1
-32
-44
18
-6
49
76
-1
-25
6
68
-32
15
-35
26
139
0
2
-5
0
34
2
-22
112
0
0
0
-2
-22
5
93
-19
2
0
0
0
0
-2
-16
46
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
12
-40
-63
33
13
-9
7
105
53
-62
-57
-27
104
16
-14
32
111
43
-10
-90
-33
-41
31
-5
72
198
-3
-31
-7
-1
-6
3
-5
72
181
0
9
-1
92
-15
9
9
46
2
0
0
-10
-6
-7
41
40
5
0
0
0
0
29
-4
-49
65
0
0
0
0
0
2
-2
-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
89
67
-88
90
31
13
-27
21
98
30
-15
-19
-6
31
-18
-6
35
173
19
24
-16
-12
-10
-9
-12
87
153
0
-29
14
-45
41
6
-4
150
10
0
1
10
8
-42
-17
13
75
0
0
0
0
44
1
-4
50
0
0
0
0
0
17
-15
-13
12
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-111
42
95
2
-42
-9
43
176
-4
115
-8
-41
-79
-8
6
49
176
0
-26
153
-121
-43
-2
-25
95
6
0
-3
25
-4
21
-2
-37
98
0
0
0
13
37
-27
-23
-28
0
0
0
0
0
6
2
15
10
0
0
0
0
0
0
-25
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-33
-1
-64
-27
25
67
49
-2
13
1
3
-110
47
-12
102
-2
0
-6
26
16
-15
-9
42
14
0
0
3
24
-41
2
28
25
0
0
0
0
3
-20
13
31
53
0
0
0
0
0
-1
20
5
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-3
3
-79
0
32
35
0
0
6
48
2
-7
-20
-21
-15
0
0
0
-4
-7
33
4
-21
1
0
0
0
-3
73
-15
18
-1
0
0
0
0
0
5
-3
42
-3
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-25
11
-5
1
0
0
0
-4
48
25
22
-11
0
0
0
0
0
-20
-58
6
-22
0
0
0
0
0
21
-32
5
0
0
0
0
0
0
-1
32
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
18
7
0
0
0
0
0
20
17
-31
2
0
0
0
0
0
27
-17
42
-5
0
0
0
0
0
2
6
6
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-27
0
0
0
0
0
0
5
12
14
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
1
-15
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
42
44
59
75
-60
-48
-99
-79
-60
-22
-43
-69
35
-7
-14
-57
-139
-74
27
1
20
59
6
7
-2
7
21
8
-27
23
-37
1
7
27
-14
-23
-14
-31
46
11
-35
8
113
0
0
-24
-27
-7
16
-8
38
66
0
0
-2
0
-21
30
25
13
-4
0
0
0
0
0
-15
-9
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-36
-8
-6
47
-25
57
-22
-11
53
-16
-50
-48
-49
92
10
-1
29
-27
-32
37
9
-15
26
12
4
35
-7
-49
8
31
-42
46
-10
15
54
5
11
-22
74
-16
8
10
24
146
0
-2
-62
-11
-40
-26
13
184
5
0
0
0
-17
-29
49
15
7
0
0
0
0
2
-10
73
-27
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-79
-17
6
76
21
43
1
23
29
76
-39
31
13
10
8
2
39
-68
-6
-12
-14
-13
-4
-5
6
68
39
24
42
-19
16
9
-14
20
107
-1
-54
64
-4
-11
26
-29
111
90
0
2
-14
-15
9
44
-5
55
0
0
0
-2
-37
-28
76
-34
2
0
0
0
0
-2
-15
74
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
13
-33
-19
7
-18
-13
10
28
-4
43
-27
-47
-21
40
10
7
43
22
2
-75
34
34
10
-4
53
42
-3
17
49
-57
5
-1
9
89
125
0
-6
2
38
-22
25
-1
39
2
0
0
-53
50
-13
45
20
4
0
0
0
0
26
-12
-44
26
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
31
-45
42
-20
48
-24
21
69
67
45
-20
-13
-47
12
-7
52
81
8
3
53
14
-54
23
2
93
78
0
-23
4
-8
16
14
-10
92
17
0
1
20
-13
-2
-30
12
100
0
0
0
0
36
-84
28
22
0
0
0
0
0
21
-49
-10
15
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-72
62
24
50
30
-7
-5
105
-18
38
45
19
-36
2
-24
84
183
2
-30
74
-13
16
-15
15
-5
8
0
3
60
35
-13
-9
-26
128
0
0
0
32
-57
29
11
-15
0
0
0
0
0
-36
17
-51
35
0
0
0
0
0
0
-35
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-32
-30
2
9
-17
57
99
-2
5
-55
4
-11
14
5
27
-2
0
-5
-5
-18
-21
-5
27
-3
0
0
3
9
-4
-8
16
-7
0
0
0
0
3
11
-62
40
53
0
0
0
0
0
-3
21
6
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-4
-41
-18
-16
-15
59
0
0
5
51
64
-48
18
-92
-17
0
0
0
1
22
-6
-9
-18
1
0
0
0
-3
44
0
0
-16
0
0
0
0
0
17
-5
26
-3
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-30
-47
48
1
0
0
0
-12
30
6
-7
-46
0
0
0
0
0
-49
-32
62
-31
0
0
0
0
0
24
15
11
0
0
0
0
0
0
-2
47
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-20
19
0
0
0
0
0
32
5
-48
2
0
0
0
0
0
68
-47
47
-5
0
0
0
0
0
2
58
6
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-23
0
0
0
0
0
0
8
-18
29
0
0
0
0
0
0
2
2
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
0
3
8
-1
-115
-19
2
-6
-9
-10
-2
-18
8
-14
-14
-28
-41
-3
30
22
-46
-8
38
-30
0
-3
5
-32
-5
82
-13
-84
-1
-8
-8
2
22
35
1
-23
40
0
0
4
-17
13
5
8
14
-2
0
0
-2
2
-13
18
10
-13
-1
0
0
0
0
-1
-18
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
2
5
24
-12
-22
-7
-48
-2
-32
-20
-13
30
-1
5
41
22
19
-8
-18
26
11
-20
-36
1
8
12
13
-36
9
-23
14
-40
5
0
-15
42
14
53
-11
28
-42
0
0
-8
5
-25
2
5
59
-2
0
0
0
7
23
-7
5
0
0
0
0
0
2
-5
10
-3
1
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
-9
0
-3
7
10
0
15
8
43
-10
6
-11
-25
-59
-28
64
15
64
15
0
1
-22
-22
28
-14
5
-54
0
-8
3
-4
-31
49
15
0
-5
41
2
-14
-13
-13
34
22
0
0
2
13
14
3
-32
-1
0
0
0
-2
8
-42
18
15
0
0
0
0
0
0
-7
16
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
13
-1
-17
13
-20
-35
29
-11
1
1
36
-10
18
-13
11
-13
-19
-24
-34
0
83
-9
-23
54
67
0
18
-2
-25
13
49
-11
-49
35
0
5
0
21
14
-13
7
6
2
0
0
-6
18
-4
11
-2
6
0
0
0
0
1
3
-5
8
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
0
0
14
-15
3
-6
-11
-22
-5
20
-5
20
53
3
-21
3
1
-1
-24
-9
-66
-12
25
31
44
0
-8
-13
14
-13
30
28
25
3
0
0
25
-30
8
-30
-13
12
0
0
0
1
14
-13
-3
10
0
0
0
0
0
0
-11
10
2
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-8
0
80
-41
5
23
13
3
32
8
-7
-50
-47
74
-6
0
1
5
10
-58
37
12
53
-1
0
-1
29
17
3
-6
-19
9
0
0
0
-2
8
12
34
8
0
0
0
0
0
-50
17
-10
-5
0
0
0
0
0
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
2
35
33
-13
-23
-3
-1
2
4
1
31
-3
31
-15
1
0
0
39
-11
-9
7
31
0
0
0
1
13
27
-28
-50
-3
0
0
0
0
1
-7
6
34
-1
0
0
0
0
0
-2
-4
5
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
-32
1
0
0
2
5
28
-15
-1
22
0
0
0
0
2
9
-17
41
-5
0
0
0
0
0
27
43
10
-25
0
0
0
0
0
5
-5
13
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-32
3
0
0
0
0
1
16
32
-41
8
0
0
0
0
0
-13
13
40
5
0
0
0
0
0
15
-12
6
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-3
4
0
0
0
0
0
16
31
29
-1
0
0
0
0
0
27
-16
2
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
3
3
-3
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
0
25
0
0
0
0
0
0
0
0
0
0
0
4
14
51
-3
-13
-47
0
0
0
0
0
0
0
0
0
0
0
3
-8
79
57
49
52
0
0
0
0
0
0
0
0
0
0
0
0
-3
43
41
-21
55
0
0
0
0
0
0
0
0
0
0
0
0
1
2
30
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
57
60
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
0
0
-15
0
0
0
0
0
0
0
0
0
1
0
-3
15
36
53
35
8
0
0
0
0
0
0
0
0
0
4
1
0
2
41
73
14
-2
-4
0
0
0
0
0
0
0
0
-3
0
-1
-5
89
98
33
3
1
0
0
0
0
0
0
0
-1
0
2
-1
-2
-25
26
46
26
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
7
7
40
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-10
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
4
24
0
0
32
37
0
0
0
0
0
0
0
0
0
-2
6
8
53
23
41
-8
10
0
0
0
0
0
0
0
0
0
0
0
-2
2
5
4
-73
91
0
0
0
0
0
0
0
0
1
2
3
8
-8
46
38
23
-20
4
0
0
0
0
0
0
0
0
0
-1
1
2
-32
-16
-46
26
2
0
0
0
0
0
0
0
0
0
1
1
-7
-27
60
81
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-3
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
22
40
-14
22
-69
49
0
0
0
0
0
1
0
-17
0
0
0
11
68
-94
71
-47
33
0
0
0
0
0
3
0
-14
-40
29
31
29
28
-41
0
38
9
9
0
0
0
0
0
0
-17
79
72
156
-13
59
-3
82
109
-12
6
0
0
-2
0
-4
0
1
68
35
-37
48
-24
-84
10
12
7
0
0
0
0
1
1
-4
10
29
80
-3
0
13
-4
-57
34
-15
0
0
0
0
0
0
0
0
99
18
98
5
-66
-7
-19
-20
4
0
0
0
0
0
0
-2
-2
43
-5
-27
0
32
49
5
-37
0
0
0
0
0
0
0
0
0
0
2
-1
3
0
0
0
0
4
0
0
0
0
0
0
0
-4
0
0
0
-6
6
-12
16
1
0
0
0
0
1
1
0
3
15
0
0
0
0
-13
-1
-29
-4
-10
0
0
0
0
0
0
0
-17
17
-6
5
46
1
-9
-31
-16
54
0
0
0
0
0
0
2
6
-15
-8
15
14
45
16
144
-33
21
3
0
0
0
0
0
0
-4
22
25
22
-31
-25
-41
67
-7
81
-1
0
0
0
0
0
0
15
-3
-34
-3
-22
-14
-68
-26
-8
2
0
0
0
0
0
0
0
0
13
4
-23
42
-24
69
-50
-16
10
0
0
0
0
0
0
0
1
-4
45
0
7
-3
-6
3
2
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-8
0
0
0
130
45
58
31
6
35
-1
0
0
0
0
18
4
-24
70
0
0
43
-87
104
47
20
-7
6
0
1
0
0
-2
-17
-2
30
-75
86
66
60
24
12
10
2
-25
0
0
-1
-1
-1
-3
-13
-16
88
110
-41
68
3
7
-27
4
-19
0
0
0
0
-4
-5
-22
0
-9
75
16
-16
-8
-34
-7
6
-31
0
0
0
0
-5
20
41
-37
86
79
59
17
83
-1
10
-59
-69
0
0
0
-1
5
19
21
3
-25
59
11
-13
0
-19
-67
-27
-9
0
0
0
0
4
1
14
21
4
-13
3
0
33
175
-9
48
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
-9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
98
-1
0
-76
73
36
-41
0
0
0
0
0
0
1
3
49
56
114
46
-47
-5
61
27
14
0
0
0
0
0
0
0
-3
117
-25
16
42
-22
38
-14
37
27
0
0
0
0
0
0
0
-7
30
-9
47
-65
-47
13
37
33
-14
0
0
1
0
0
-5
-1
13
-25
19
-27
26
-52
33
-57
52
54
0
0
0
0
0
1
-4
0
-41
72
-9
-44
59
32
65
26
93
0
0
0
0
0
3
0
0
72
31
83
44
-42
80
7
52
62
0
0
0
0
0
0
0
0
-8
8
-17
54
104
12
61
16
19
0
0
0
0
0
0
0
3
-1
3
-16
32
-27
57
23
27
-9
0
0
0
0
2
-1
1
-2
0
-25
77
12
69
15
-1
-34
-1
0
0
0
0
0
1
-5
-3
-1
47
0
47
43
12
39
-25
-12
0
0
0
0
1
-1
0
-6
-31
-67
-41
37
14
43
29
-2
39
0
0
0
0
0
0
4
6
-24
-120
10
20
31
1
21
-36
4
0
0
0
0
0
-3
2
-7
-33
-26
33
-22
-24
22
6
-28
62
0
0
0
0
0
14
8
-8
-17
22
-46
-3
34
9
22
-22
-67
0
0
0
0
0
-2
-7
-16
-2
59
-26
-3
18
71
-23
-27
4
0
0
0
0
1
0
-2
-2
3
-5
-13
39
10
68
-51
-61
15
0
0
0
0
0
0
-4
0
-1
2
-1
-1
2
66
52
-5
0
0
0
0
0
0
-3
28
40
0
0
115
74
37
21
25
-39
-23
0
0
0
2
4
-3
69
0
-41
0
166
46
9
27
17
45
85
0
0
0
0
0
-13
-11
-15
66
82
96
42
15
42
35
19
49
0
0
0
0
-1
-24
-23
0
117
29
-31
44
-5
21
23
34
35
0
0
0
0
-1
-7
-11
-7
-63
52
-28
15
11
-2
13
0
32
0
0
0
2
-5
-1
35
8
-56
22
-43
24
3
24
18
-26
15
0
0
0
1
6
-8
-13
31
-12
-88
41
-78
3
29
23
-25
47
0
0
0
0
0
0
14
39
-32
-6
-88
10
0
47
40
14
0
0
0
0
0
0
0
3
0
0
0
1
13
14
18
43
5
0
0
0
0
0
0
0
-1
5
0
76
111
19
-20
54
8
66
-61
0
0
0
0
0
1
13
0
-1
0
81
62
3
19
29
-2
-106
0
0
0
0
0
-1
-12
-13
6
44
87
88
-63
-33
29
-26
109
0
0
0
0
0
0
-37
-52
75
-9
-41
118
-13
9
26
16
-20
0
0
0
0
0
0
6
-29
-34
-49
-29
30
-70
63
18
22
-29
0
0
0
0
0
0
0
-49
-9
12
-81
-57
27
-7
8
25
-2
0
0
0
0
0
0
0
-41
17
8
5
-2
-4
59
25
-8
8
0
0
0
0
0
0
0
-4
10
-4
-4
-36
-16
62
-12
-64
0
0
0
0
0
0
0
0
0
0
0
0
3
29
-72
-21
5
0
0
0
0
0
0
0
0
0
0
0
-42
128
145
0
-46
-48
-24
0
0
0
0
0
0
0
12
0
5
58
136
58
5
-106
24
-54
0
0
0
0
0
0
0
20
21
16
98
140
67
46
-24
5
-149
0
0
0
0
0
0
2
-31
-29
5
26
46
23
-17
-66
-55
-22
0
0
0
0
0
0
-1
-28
-85
-17
-3
42
43
13
38
-23
13
0
0
0
0
0
0
3
-51
-71
-25
3
49
-54
43
-21
34
-10
0
0
0
0
0
0
0
-5
-92
-3
-7
108
21
-113
-63
-6
49
0
0
0
0
0
0
0
0
-5
1
12
34
82
50
-36
-37
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-41
-13
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
21
-28
0
0
-91
-2
0
0
0
0
0
0
0
0
-2
0
-12
-9
-48
-16
30
-94
0
0
0
0
0
0
0
0
0
0
0
0
25
46
-76
-39
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
11
-17
45
-7
1
0
0
0
0
0
0
0
0
0
0
0
2
-10
41
-62
24
0
0
0
0
0
0
0
0
0
0
1
0
2
-47
42
39
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-9
39
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
30
4
0
0
0
0
0
0
0
0
0
0
1
0
20
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
-8
13
2
0
0
-64
2
0
0
0
0
0
0
0
0
0
1
29
-7
5
24
-5
-14
14
0
0
0
0
0
0
0
0
0
-4
-5
0
31
-65
-70
107
-31
0
0
0
0
0
0
0
0
1
0
1
8
47
-121
49
-19
-18
0
0
0
0
0
0
0
1
0
0
-5
-1
55
-62
-44
77
5
0
0
0
0
0
0
0
0
0
0
0
-1
-26
41
82
36
9
0
0
0
0
0
0
0
0
-1
0
0
-5
7
-5
-117
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
24
-21
0
0
0
0
0
0
0
0
0
0
5
-29
30
0
0
26
5
0
0
0
0
0
0
0
0
0
3
-4
1
-31
20
101
60
-28
0
0
0
0
0
0
0
0
0
7
1
4
-3
32
-34
1
-31
-1
0
0
0
0
0
0
0
0
-2
-4
-4
94
48
-88
-36
-121
8
0
0
0
0
0
0
0
0
-2
4
-7
-18
-2
47
-8
-12
-3
0
0
0
0
0
0
0
0
0
0
5
-57
70
11
-75
-23
0
0
0
0
0
0
0
0
0
0
0
1
8
45
-8
-12
14
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-19
-51
12
-95
5
-44
-1
0
0
0
0
0
0
0
0
0
0
38
-39
17
-35
-52
-48
2
0
0
0
0
0
2
-1
-69
44
35
-22
-47
-38
-67
-14
-53
2
0
0
0
0
0
0
9
5
4
41
5
-73
1
-7
-11
-49
1
0
0
0
0
1
1
0
28
-23
44
-52
-25
-53
7
-42
-7
0
0
0
0
0
1
0
0
4
16
13
-36
-43
-66
-54
-8
-8
0
0
0
0
0
0
0
-1
46
-144
-10
-75
-65
0
-13
-24
0
0
0
0
0
0
0
1
7
-67
54
2
-17
5
9
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
-13
0
-1
0
-1
0
0
0
0
0
0
0
1
-2
4
-8
16
7
-2
20
-10
3
1
0
0
0
0
0
0
0
-3
-19
-41
4
-2
2
13
-12
-1
-2
0
0
0
0
0
0
0
0
-10
-14
18
-19
-8
-8
-52
-25
1
0
0
0
0
0
0
0
-1
-46
-59
24
-16
6
-10
-1
0
1
7
0
0
0
0
0
0
0
-13
3
1
1
4
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-8
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-2
-7
0
0
0
70
-14
14
-42
-82
-7
-133
0
0
-1
0
14
8
7
-4
0
0
45
-5
-64
32
-20
-76
-40
0
0
0
0
-7
7
75
-46
52
121
5
-12
-31
-33
-9
-32
-46
0
0
0
1
5
1
66
76
23
61
-6
11
-4
-17
-58
-43
2
0
0
0
0
8
41
-12
36
45
19
45
-74
-58
-61
-31
-8
14
0
0
0
0
1
22
-8
-29
67
-56
-2
-92
-82
-114
-58
-80
-34
0
0
0
2
0
10
-3
-4
66
-20
-30
-10
-89
-153
-105
-121
-10
0
0
0
0
0
3
7
-7
2
17
-37
19
49
57
-28
47
4
0
0
0
0
0
0
0
-6
-1
0
0
1
1
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-12
-30
-55
-73
-17
-62
-49
0
0
0
0
2
0
0
0
-5
37
-63
-7
-51
-56
-26
-74
-11
0
0
0
0
1
0
1
-2
36
34
17
-6
36
-34
-93
-80
-13
0
0
0
0
0
1
-8
2
-5
17
-46
12
-49
-14
-35
-8
-75
0
0
-1
0
1
0
0
0
-37
5
78
-18
26
-24
57
-5
-36
0
0
0
-1
1
-5
-6
-1
41
-25
-11
-51
-91
-79
-30
-14
8
0
0
0
0
-3
-4
0
2
-39
-1
-85
-61
49
-22
-103
-8
-31
0
0
0
0
0
0
-10
0
-17
-14
-53
26
-39
-86
-19
-31
21
0
0
0
0
0
0
0
0
0
-10
8
-41
38
-82
-47
-38
-65
0
0
0
0
0
0
2
-2
0
-53
63
-3
-14
-78
-56
-66
-44
0
0
0
2
0
-1
0
-2
-16
-18
0
0
-13
-46
-30
38
48
0
0
0
0
5
0
0
-8
13
55
-6
-22
-56
-4
-10
-35
-78
0
0
0
0
0
0
-6
2
11
-42
13
18
3
-52
-3
-31
-82
0
0
0
0
0
8
-5
-1
23
88
3
-21
30
-41
-77
-58
-43
0
0
0
0
0
-7
8
1
-43
88
89
8
-17
-65
26
-14
-95
0
0
0
0
0
-1
5
13
-4
11
-24
14
25
-30
-41
18
24
0
0
0
0
2
0
0
4
0
-29
10
5
10
22
-40
-34
-61
0
0
0
0
0
0
0
0
2
-3
4
2
18
-69
-10
-8
0
0
0
0
0
-2
3
-3
-13
0
0
-15
51
-33
-41
-12
15
15
0
0
0
-1
-6
35
31
0
-13
0
43
-14
-18
-5
-27
-40
-86
0
0
-1
0
2
32
-7
-11
-11
201
76
-32
-33
-15
8
-25
-37
0
0
0
0
0
9
86
-18
57
113
52
-5
-71
-47
0
17
-3
0
0
0
6
3
12
25
-18
-23
54
12
1
-15
-31
-25
-40
-54
0
0
0
1
21
0
4
-75
86
33
-64
-43
-46
-17
-49
-5
22
0
0
0
3
0
19
39
-3
37
75
18
-19
9
-80
-38
12
-29
0
0
0
0
1
2
-3
-31
-10
41
23
18
-30
43
-47
5
0
0
0
0
0
0
0
-2
0
0
0
7
-8
-29
-30
50
-2
0
0
0
0
0
0
0
-1
-19
0
3
87
-57
-64
-2
-2
10
-34
0
0
0
0
0
0
-16
0
73
0
21
-1
-15
-14
6
18
-7
0
0
0
0
0
0
-37
-1
19
-29
4
73
-56
-1
10
-5
-46
0
0
0
0
0
0
-1
-111
5
110
-55
-33
-24
-12
16
-18
-74
0
0
0
0
0
0
-3
14
-37
90
-52
-19
-69
16
-21
14
7
0
0
0
0
0
0
-2
-38
-43
18
-134
-8
-47
-35
-19
8
-25
0
0
0
0
0
0
0
-12
-28
4
-55
0
-15
14
-46
-34
-10
0
0
0
0
0
0
0
-20
-22
8
-49
-76
-85
-14
-86
-61
0
0
0
0
0
0
0
0
0
0
0
0
17
-58
-29
69
14
0
0
0
0
0
0
0
-1
0
0
0
-24
1
15
-32
-186
-157
9
0
0
0
0
0
0
0
43
0
-16
-75
66
11
41
-77
-171
13
0
0
0
0
0
0
0
-45
-8
9
13
69
-17
-79
-45
-32
-69
0
0
0
0
0
0
0
-30
-43
-3
21
-26
-4
74
-36
-48
-63
0
0
0
0
0
0
0
-61
-66
22
-51
4
-1
90
5
-57
-82
0
0
0
0
0
0
0
-83
-72
44
-13
-35
2
-18
-35
-53
0
0
0
0
0
0
0
0
-17
-69
1
-101
-91
-113
-34
-156
-138
-17
0
0
0
0
0
0
0
0
-2
1
-22
-81
-59
-24
-24
-58
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
1
22
22
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
58
15
27
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
42
6
-38
-15
0
0
0
0
0
0
0
0
0
0
0
1
0
33
17
-52
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
41
-39
26
-37
0
0
0
0
0
0
0
0
0
0
0
0
-20
-7
28
28
43
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
41
49
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
0
14
-1
0
0
0
0
0
0
0
0
0
0
2
6
107
42
-18
18
2
0
0
0
0
0
0
0
0
0
0
0
48
-21
58
-94
-13
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
28
9
59
4
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
-4
55
21
0
0
0
0
0
0
0
0
0
0
0
-2
4
2
17
39
46
0
0
0
0
0
0
0
0
0
0
0
0
-3
88
-25
43
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-1
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
57
1
0
0
0
0
0
0
0
0
0
0
1
2
18
0
0
76
-25
0
0
0
0
0
0
0
0
0
0
-3
2
25
-17
-19
22
14
0
0
0
0
0
0
0
0
0
0
2
-1
0
-32
-26
-31
12
0
0
0
0
0
0
0
0
0
0
-1
-3
-23
48
20
-47
5
0
0
0
0
0
0
0
0
0
0
0
0
16
-24
-26
41
-13
0
0
0
0
0
0
0
0
0
0
-1
0
-20
13
23
106
-5
0
0
0
0
0
0
0
0
0
0
0
0
-25
47
27
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
0
0
0
145
92
6
38
-14
5
0
0
0
0
1
-1
0
0
0
0
0
134
58
29
25
-10
3
0
0
0
0
0
0
5
-43
-10
-27
61
101
-42
65
10
-8
48
0
0
0
0
0
-1
8
-75
-112
6
74
-29
-52
-9
94
46
-14
0
0
0
0
-2
0
1
-9
90
-3
-135
-93
-3
-43
30
71
16
1
0
0
0
0
0
0
5
-28
60
24
-35
-40
126
13
13
-1
1
0
0
0
0
0
1
4
53
129
-3
-59
40
50
69
-24
3
0
0
0
0
0
0
1
19
12
76
60
13
66
1
-4
-1
-2
0
0
0
0
0
0
0
0
-1
26
4
17
0
0
0
0
0
0
0
0
0
0
1
-13
-28
0
0
0
-6
50
24
20
-3
-3
-1
0
0
0
1
10
10
-8
0
0
0
10
51
-44
5
18
34
1
0
0
0
0
0
4
-52
-9
-16
80
13
-16
-18
-12
30
48
-6
0
0
0
0
0
2
-31
-100
45
-57
65
23
-24
24
20
8
5
0
0
0
0
0
-1
41
22
-35
-84
1
-61
18
104
50
87
-4
0
0
0
0
0
-2
16
1
-27
1
-45
-115
-36
27
16
36
12
0
0
0
0
0
-1
-3
-32
48
56
37
3
12
8
5
58
-3
0
0
0
0
0
0
10
93
23
77
21
9
51
5
12
-21
5
0
0
0
0
0
0
3
5
-26
-4
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-14
-67
-26
-26
-42
-47
-29
0
0
0
0
0
-1
-1
-51
0
0
133
64
22
-19
52
39
11
0
0
0
0
0
0
14
64
84
-27
30
4
-20
108
30
-23
2
0
0
0
0
0
-7
7
31
47
43
-112
5
13
-8
8
10
-28
0
0
0
0
0
-3
18
8
107
-82
32
7
28
44
11
20
30
0
0
0
0
0
-4
-7
5
2
50
-58
111
5
32
94
31
68
0
0
0
0
0
-1
-1
-25
-14
71
-37
-41
57
83
50
-30
-2
0
0
0
0
0
0
6
9
39
-27
-13
-46
-8
0
23
-25
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
-50
53
-113
-60
-116
-13
87
0
0
0
0
0
0
2
6
-36
-58
105
-11
-72
-125
4
35
-18
0
0
0
0
0
0
0
-5
0
49
51
-4
-29
-110
-28
-8
63
0
0
0
0
0
0
0
0
-45
-59
-75
-42
-51
-83
-70
-6
-1
0
0
0
0
0
0
0
0
-24
-87
-36
40
-127
-44
-104
-23
69
0
0
0
0
0
0
-4
0
-42
-31
17
-37
-13
-55
-2
39
26
0
0
0
0
0
0
0
-1
8
-36
-59
17
-44
91
-65
24
-1
0
0
0
0
0
0
0
0
-29
4
75
38
51
-36
-53
12
4
0
0
0
0
0
0
0
0
-4
-16
-35
49
50
7
37
-20
12
0
0
0
0
0
-1
2
7
0
-46
6
-2
72
-9
-86
-8
16
0
0
0
0
-1
0
-7
0
29
19
0
30
-14
-95
-14
66
-9
0
0
0
0
0
0
-1
1
80
-113
-13
77
1
0
-83
-49
-35
0
0
0
0
0
0
0
4
-29
-107
7
-49
-42
20
-51
25
-7
0
0
0
0
0
0
0
1
25
-50
85
51
-88
59
-14
-60
-4
0
0
0
0
0
0
0
1
-16
-56
22
-20
85
59
29
41
-39
0
0
0
0
1
0
0
-2
5
-61
70
-56
-130
4
43
-48
-27
0
0
0
0
0
0
0
0
-16
-19
-84
-11
75
14
-15
-11
-15
0
0
0
0
0
0
0
0
0
-7
-14
-7
13
-3
8
0
0
0
0
0
0
0
1
25
-48
0
0
41
65
34
13
-34
-34
7
0
0
0
0
0
3
14
0
48
0
138
58
-27
-4
64
-41
-6
0
0
0
0
0
44
-34
-106
166
202
-28
5
52
21
51
-74
0
0
0
0
0
0
-4
-44
-163
-44
-19
-109
84
40
-25
17
-62
61
0
0
0
0
0
0
2
-96
20
-4
10
30
-20
-52
26
-16
79
0
0
0
0
0
0
-25
-133
-15
-77
-45
9
-9
15
-51
-3
49
0
0
0
0
0
1
2
-52
74
96
136
14
32
30
65
-63
28
0
0
0
0
0
-1
0
-59
-59
-44
59
142
-66
56
1
34
-1
0
0
0
0
0
0
0
0
0
0
1
-3
-6
-1
1
0
0
0
0
0
0
0
0
6
25
0
-24
108
88
-49
-15
-141
-46
-59
0
0
0
0
0
5
19
0
-64
0
142
54
-50
-91
-47
-108
-13
0
0
0
0
0
8
15
66
55
-12
124
31
-57
-48
72
-22
-34
0
0
0
0
0
-6
3
-80
-102
-249
-51
0
-9
26
14
-29
-19
0
0
0
0
0
0
-41
-85
0
-188
-42
75
-40
74
14
0
53
0
0
0
0
0
0
-7
-50
-52
-81
-87
18
87
-51
60
-45
-7
0
0
0
0
0
0
0
-49
-109
-145
-14
-17
74
-14
-19
-25
-42
0
0
0
0
0
0
0
-8
21
5
-46
-78
109
35
41
11
1
0
0
0
0
0
0
0
0
0
0
0
-1
-13
3
3
4
0
0
0
0
0
0
1
0
0
0
0
91
175
21
-52
-11
-66
-4
0
0
0
0
0
8
-24
20
0
-69
102
105
93
-3
-3
4
5
0
0
0
0
0
0
4
-80
-113
18
149
113
43
-17
-13
33
-28
0
0
0
0
0
0
-1
-223
-75
-60
-30
72
66
53
2
57
-66
0
0
0
0
0
0
-1
0
-101
-110
-54
40
43
39
-42
-79
-38
0
0
0
0
0
0
-1
-138
-146
-49
-67
-70
-41
107
-10
-13
28
0
0
0
0
0
0
0
-49
-58
-23
-145
-41
51
-51
16
63
8
0
0
0
0
0
0
0
5
0
0
-15
-95
-18
64
-11
64
9
0
0
0
0
0
0
0
0
0
0
-2
0
-14
-1
42
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
7
-63
-31
-24
-56
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-34
-32
9
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-8
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-14
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-25
-41
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
41
45
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
1
1
3
6
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
8
12
14
-9
13
-4
0
0
0
0
0
0
0
0
0
0
0
3
21
-66
-42
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
-53
-31
-31
-49
-1
0
0
0
0
0
0
0
0
0
0
0
0
51
-27
18
-15
0
0
0
0
0
0
0
0
0
0
0
1
-10
-31
-31
1
-50
0
0
0
0
0
0
0
0
0
0
0
0
-2
-96
12
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
3
-42
0
0
-73
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
47
20
7
0
0
0
0
0
0
0
0
0
0
0
-2
29
8
-52
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-44
-68
11
-17
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-20
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-18
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
-31
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-1
-1
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
58
3
2
-3
0
0
0
0
0
0
0
0
0
0
-13
-83
-47
-29
3
-48
1
0
0
0
0
0
0
0
0
0
0
14
-93
-93
-18
-8
-6
0
-1
0
0
0
0
0
0
0
0
0
-44
10
32
34
-49
-16
-2
1
0
0
0
0
0
0
0
0
2
-14
3
-36
-55
-17
-3
-1
0
0
0
0
0
0
0
0
0
0
-43
-48
42
-34
2
4
0
0
0
0
0
0
0
0
0
0
0
-27
13
42
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
-6
3
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-10
-3
0
0
1
0
0
0
0
0
0
0
-1
-2
19
-22
6
-3
-8
-2
0
0
0
0
0
0
0
0
0
0
-1
-5
-6
-36
0
-9
0
0
0
0
0
0
0
0
0
0
0
-3
-53
-22
8
-7
1
-1
0
0
-1
0
0
0
0
0
0
0
0
4
-5
9
-5
0
0
1
0
-4
0
0
0
0
0
0
0
0
-5
-37
-4
-2
-6
0
0
-1
0
0
0
0
0
0
0
0
0
5
-4
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-16
-32
-53
-58
-15
-10
-52
0
0
0
0
2
0
-7
13
0
0
28
-49
-59
47
-50
-41
18
0
0
0
0
0
0
6
42
7
24
-6
-25
23
-43
-33
-88
-41
0
0
0
0
0
6
5
68
12
-11
-20
-91
-140
-73
-104
-40
-41
0
0
0
0
0
0
0
-18
52
33
-50
-71
-169
-34
-83
-77
-35
0
0
0
0
-1
-1
2
7
-41
16
-26
20
-128
-80
-39
-55
-1
0
0
0
0
0
0
1
-13
29
-8
18
13
-19
-94
-53
-14
4
0
0
0
0
0
0
-3
14
-32
-31
19
-1
-32
-27
-23
-10
1
0
0
0
0
0
0
0
-1
-3
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-56
-16
-132
-69
28
-9
39
0
0
0
0
0
0
1
-13
-59
-60
51
-29
-159
-10
11
-9
-3
0
0
0
0
0
0
-1
3
-51
58
-69
-34
-195
-154
21
25
-43
0
0
0
0
0
0
0
1
-21
32
-103
-27
-76
-91
-125
-34
-89
0
0
0
0
0
0
0
-1
-4
-8
-66
-32
-45
-29
-68
16
-82
0
0
0
0
0
0
0
0
-6
6
-70
-20
-77
-67
-6
3
40
0
0
0
0
0
0
0
0
1
-8
-42
4
-2
10
-46
-39
86
0
0
0
0
0
0
0
0
-24
0
-95
-40
22
-30
-2
-27
-3
0
0
0
0
0
0
0
-1
-12
-13
7
-2
11
-97
-43
-60
-55
0
0
0
0
0
0
0
-8
0
10
-49
-17
-98
-93
-86
-42
16
0
0
0
0
0
0
2
-4
-14
-124
0
-96
-200
-88
-66
17
13
0
0
0
0
0
0
0
-1
10
21
18
-47
-45
49
-81
-5
-56
0
0
0
0
0
0
1
3
6
-42
-72
-41
-182
-49
24
-58
-58
0
0
0
0
0
0
0
0
-16
-16
-60
-49
-66
23
-51
-60
-72
0
0
0
0
0
0
-2
-3
2
-28
10
-62
-69
-87
-51
6
-17
0
0
0
0
0
0
0
-2
-7
-46
18
30
3
-46
-181
-36
-22
0
0
0
0
0
0
0
-1
-8
-12
2
25
-19
58
54
-82
-57
0
0
0
0
0
0
0
0
5
2
34
-7
-3
15
-54
0
0
0
0
0
0
0
0
-14
-3
0
0
-102
-156
-39
-67
-38
-139
-9
0
0
0
0
-1
1
-4
0
-9
0
-50
-106
-53
-59
-81
-44
1
0
0
0
0
0
-2
23
-133
38
-4
2
39
-55
-151
-84
-148
0
0
0
0
0
0
1
-24
-51
-78
-1
5
-42
-25
-165
-75
-87
-14
0
0
0
0
0
0
-3
55
86
9
-79
13
-180
-13
-79
-111
-1
0
0
0
0
-1
0
7
120
-42
-13
18
-229
-88
-49
-108
-88
12
0
0
0
0
3
0
1
-20
-14
-29
-25
4
79
-67
-6
-21
-33
0
0
0
0
0
0
0
-6
48
13
-5
-5
-80
13
-8
1
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-50
-25
-53
-58
-22
0
-29
-57
0
0
0
0
0
0
-1
0
-18
0
-43
-23
-15
-69
-24
-58
1
0
0
0
0
0
0
-25
31
0
-8
-8
11
-52
13
-29
-18
-12
0
0
0
0
0
0
0
-61
-101
34
-13
-64
-34
-45
-22
64
-8
0
0
0
0
0
0
2
96
-49
-35
-70
-2
-99
-44
-47
-76
-53
0
0
0
0
0
0
0
-71
-49
23
-23
-39
31
-49
-63
-23
-12
0
0
0
0
0
0
0
-3
-10
-12
-12
-39
-27
-26
-37
10
5
0
0
0
0
0
0
0
0
0
0
6
25
1
-18
-16
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-17
-69
-119
-37
-147
-41
0
0
0
0
0
0
0
-3
0
2
128
-143
-4
-75
-14
-55
-4
0
0
0
0
0
0
0
-1
-7
-1
-20
10
-18
-1
-53
-156
-131
0
0
0
0
0
0
0
-4
-3
-6
-18
-27
-102
-42
-29
-22
-50
0
0
0
0
0
0
0
-14
-10
0
28
36
-93
16
-53
-67
-33
0
0
0
0
0
0
0
1
-2
-3
-68
-41
-41
-19
-34
-7
-31
0
0
0
0
0
0
0
0
-9
0
10
5
-69
-61
-52
24
-19
0
0
0
0
0
0
0
0
0
0
-1
-22
-8
-43
4
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
5
74
-1
2
0
0
0
3
0
0
0
0
0
0
0
-9
3
-4
-9
-4
10
-3
-5
2
-2
0
0
0
0
0
0
0
9
44
32
12
-1
-2
0
0
0
0
0
0
0
0
0
0
0
41
31
68
5
22
-1
0
-3
2
0
0
0
0
0
0
0
0
8
-13
54
8
3
-6
0
0
0
0
0
0
0
0
0
0
0
8
42
56
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
3
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
32
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
18
-25
-14
0
-3
1
0
4
0
0
0
0
0
0
0
5
45
-3
-7
59
8
8
-6
-2
0
-3
0
0
0
0
0
0
16
25
44
9
8
13
-1
5
-6
-5
0
0
0
0
0
0
0
13
48
32
-1
-31
25
0
-1
0
-2
0
0
0
0
0
0
0
0
69
7
22
-21
7
0
0
0
0
0
0
0
0
0
0
0
-2
17
51
33
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
8
7
0
0
0
0
0
0
0
0
0
0
0
14
-1
-4
-33
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
3
-36
41
-34
41
3
0
5
1
0
0
0
0
0
0
6
10
89
-60
-82
-19
-24
-2
0
0
1
0
0
0
0
0
0
1
27
41
18
11
41
0
8
3
-3
0
0
0
0
0
0
0
5
-7
18
-31
-69
55
0
0
0
0
0
0
0
0
0
0
0
3
-9
40
-31
56
-22
0
0
0
0
0
0
0
0
0
0
0
1
9
16
-3
30
1
0
0
0
0
0
0
0
0
0
0
0
0
17
4
-4
47
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-52
-17
18
53
69
-22
0
-51
-3
0
0
0
0
0
0
-2
24
26
64
-55
-94
-13
-53
37
-2
-4
1
0
0
0
0
0
21
18
53
-67
-18
-23
-53
-58
-152
-17
-3
-1
0
0
0
0
0
-1
27
50
21
5
-55
-37
-71
-44
34
1
0
0
0
0
0
0
-13
-44
55
145
14
-3
11
-5
45
14
0
1
0
0
0
0
0
29
68
96
114
98
-11
77
52
-28
6
0
0
0
0
0
0
0
13
56
52
5
31
33
29
7
-9
5
0
0
0
0
0
0
0
23
26
29
-28
41
-6
5
20
25
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
-2
-17
4
8
1
-43
-59
-43
0
-4
0
0
0
0
0
0
0
20
10
-10
25
19
-49
30
-48
41
3
0
0
0
0
0
0
0
-1
8
24
-5
-31
4
-9
7
-7
13
1
0
0
0
0
0
0
-8
-26
25
-1
20
-18
38
36
-23
57
-1
0
0
0
0
0
0
-7
-8
30
-59
12
37
-27
49
-20
-4
0
0
0
0
0
0
0
-2
-41
75
-8
16
-27
3
23
-16
8
0
0
0
0
0
0
0
3
45
-15
-23
13
59
12
-8
4
0
0
0
0
0
0
0
0
3
2
25
24
4
1
0
6
8
0
0
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
42
-9
42
58
6
47
19
0
14
-16
-21
-10
-1
0
0
0
-6
-54
47
119
-2
14
-43
-33
17
12
-29
32
14
20
-6
0
0
-23
23
85
59
21
5
-23
-29
-22
-57
-83
-80
-5
1
-1
0
0
25
13
82
22
21
37
11
25
26
75
-58
-48
-8
-6
-1
0
0
39
-29
-28
96
84
-9
25
41
102
-111
-60
-3
-1
-6
-1
0
0
-15
52
-1
134
49
62
5
32
8
81
-18
-2
4
-2
0
0
0
-1
27
19
93
89
52
52
79
-5
-27
-1
0
0
0
0
0
0
0
24
-6
5
-19
-5
3
-43
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
87
-24
-77
1
17
0
43
15
-19
0
0
0
0
0
0
-15
63
22
-37
24
71
63
-8
42
1
-18
3
-5
0
0
0
0
3
110
-13
45
15
6
7
77
-89
25
22
7
-1
0
0
0
0
-6
69
-17
31
159
3
1
51
26
8
-18
-6
0
0
0
0
0
-2
-13
0
23
5
50
9
77
103
45
4
0
0
3
0
0
0
2
-14
59
2
-43
9
-53
21
44
-36
-10
0
1
0
0
0
0
0
-1
39
-17
-5
-58
13
5
66
-27
-15
0
0
0
0
0
0
0
3
78
-36
107
0
33
-49
-7
32
-5
12
0
2
0
0
0
0
1
-1
105
-43
30
-13
34
25
-30
30
1
-4
0
-1
0
0
0
-9
-26
11
50
11
-5
0
13
8
-58
-14
2
0
0
0
0
0
23
2
54
36
-45
-8
-14
-4
66
-5
-49
1
3
-2
0
0
0
17
59
100
35
-32
-27
-67
-36
17
34
0
1
0
0
0
0
0
84
10
76
66
41
42
-22
-65
-41
4
14
2
0
0
0
0
0
43
-6
45
29
8
-12
-56
-15
-18
23
-16
-3
1
0
0
0
0
2
-107
43
35
13
-4
-49
40
-49
13
-6
0
0
0
0
0
0
8
19
43
34
28
-8
-2
38
7
-26
0
0
0
0
0
0
0
7
4
42
28
-4
77
45
49
-50
3
-3
0
0
0
0
0
0
-1
-1
-19
-24
21
-12
-8
3
0
0
0
0
0
0
0
-32
42
58
-50
2
6
33
-21
0
-8
-4
-13
0
1
0
0
0
20
25
93
14
-8
29
19
20
16
26
-26
-9
-7
1
5
0
0
4
44
52
-30
19
1
7
-36
14
-81
-40
-18
-22
-2
0
0
0
64
92
69
102
33
34
-2
26
17
16
-16
-39
14
0
0
0
0
20
-13
77
88
145
59
16
19
57
39
-28
-2
0
3
0
0
0
-14
42
35
32
154
31
-11
33
3
-19
-3
8
0
0
0
0
0
33
55
56
81
101
57
-18
-84
-43
-7
10
-5
-1
0
0
0
0
0
2
-22
132
92
-7
27
-121
-39
2
-1
0
0
0
0
0
0
0
0
7
-1
14
0
2
-1
0
0
0
0
0
0
0
0
0
6
13
-43
-4
-6
5
18
-33
0
27
-4
5
0
0
0
0
0
15
-78
42
-3
-21
-32
-3
-40
16
-72
9
-8
4
0
0
0
0
48
-40
78
1
-40
-3
-3
0
-18
-26
-21
0
0
0
0
0
0
52
-104
61
68
-62
-25
8
15
27
36
-15
1
0
0
0
0
0
-31
-11
104
284
59
-68
18
-3
-3
-72
-31
-1
0
0
0
0
0
14
78
8
52
119
63
-59
33
-42
11
-1
3
-4
0
0
0
0
-7
-20
56
59
78
8
21
21
-95
-81
0
0
0
0
0
0
0
0
3
-13
59
43
76
-43
-1
-157
-25
-2
0
0
0
0
0
0
0
0
3
0
-28
13
48
28
-5
0
0
0
0
0
0
0
0
2
7
8
16
-41
60
17
-169
0
2
-1
1
0
0
0
0
0
-17
-43
-19
3
-62
1
25
-54
83
70
19
3
0
0
0
0
0
-2
5
-18
-49
83
72
27
-36
-100
6
-13
-3
0
0
0
0
0
-15
-12
24
-24
-81
37
29
-21
1
-21
-60
0
0
0
0
0
0
1
-61
-42
75
85
36
60
-5
12
-154
1
1
0
0
0
0
0
-8
-17
-35
43
32
29
16
102
-15
-31
-1
0
0
0
0
0
0
-2
-35
-5
39
19
52
-7
-13
20
39
9
2
0
0
0
0
0
0
-3
-1
25
-8
-10
-43
-10
-26
-5
6
0
0
0
0
0
0
0
0
0
0
-1
-27
2
-24
-27
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-19
42
-72
1
-2
0
0
0
0
0
0
0
0
0
0
-8
22
2
-21
-76
17
-12
-2
0
-6
0
0
0
0
0
0
0
14
58
47
-90
-3
9
0
5
2
1
0
0
0
0
0
0
0
47
49
45
60
-24
0
0
-1
-1
0
0
0
0
0
0
0
0
21
-104
-51
39
-6
14
-1
0
0
0
0
0
0
0
0
0
0
18
10
42
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-28
9
26
2
-2
0
0
0
0
0
0
0
0
0
0
0
-13
38
-34
-56
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-5
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
90
48
45
19
-6
0
0
0
0
0
0
0
0
0
0
5
-71
25
-61
-105
6
17
-4
2
0
4
0
0
0
0
0
0
61
62
31
76
25
12
-2
-3
31
-5
-1
0
0
0
0
0
0
-6
49
28
16
-84
0
1
-1
0
1
0
0
0
0
0
0
0
-31
42
5
-37
32
-22
-1
0
0
-3
0
0
0
0
0
0
0
9
79
-11
-31
21
0
-3
-3
0
0
0
0
0
0
0
0
0
-3
-31
-7
-21
18
-10
0
0
0
0
0
0
0
0
0
0
0
-15
28
-15
8
-31
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
30
-5
-6
-5
3
-6
0
1
0
0
0
0
0
0
0
-6
-4
131
-13
-40
31
-23
0
-16
8
-1
0
0
0
0
0
0
41
6
13
-28
19
-86
-8
-7
0
8
0
0
0
0
0
0
0
-4
23
-38
-137
-24
-57
-1
0
-1
0
-2
0
0
0
0
0
0
-13
-83
-29
28
-76
53
2
1
0
4
0
0
0
0
0
0
0
-5
87
109
-26
-103
-35
0
0
0
0
0
0
0
0
0
0
0
-4
-17
45
36
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
15
25
16
0
0
0
0
0
0
0
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
-25
-27
-50
-30
-108
-48
0
-5
-1
1
0
0
0
0
0
10
-7
15
-102
-83
-40
-88
-1
-5
27
-8
1
0
0
0
0
0
-8
53
16
-26
-16
-22
-53
-143
-73
-1
-1
2
0
0
0
0
0
-8
-1
16
4
7
-93
6
-14
-47
-40
0
0
0
0
0
0
0
-27
26
-28
-85
-61
16
2
-29
-13
3
0
-1
0
0
0
0
0
1
-62
-62
-50
41
38
-59
-40
23
0
0
0
0
0
0
0
0
0
39
-3
-6
-47
-24
3
-2
-6
0
0
0
0
0
0
0
0
28
-126
-6
49
0
3
3
0
-8
0
0
0
0
0
0
0
0
-3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
1
0
-2
-5
0
0
0
0
0
0
0
0
0
1
10
-12
7
0
-1
-16
-17
-5
-1
0
0
0
0
0
0
0
-1
-53
7
-7
0
-23
-3
3
-6
-2
0
0
0
0
0
0
0
-1
-10
-8
-54
-6
16
-5
-25
22
-5
0
0
0
0
0
0
0
0
-18
24
2
-1
-1
-23
-15
-1
7
0
0
0
0
0
0
0
-1
-30
8
-24
3
1
-1
0
0
0
0
0
0
0
0
0
0
-3
1
-49
8
0
-7
1
0
0
0
0
0
0
0
0
0
0
-15
-1
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
43
-5
42
-57
-81
-16
0
-50
-55
-23
23
-2
0
0
0
-48
44
31
93
63
-38
-113
-77
-21
-26
-51
11
24
-13
4
0
0
-61
55
83
105
-96
-16
-83
-56
-63
-40
11
69
28
0
-3
0
0
-45
41
82
112
14
-7
-23
-28
-39
-49
14
-20
-22
3
0
0
0
-12
75
87
-14
70
-14
-16
-79
-10
-33
-28
5
0
4
0
0
0
20
-12
10
2
-70
-61
-42
4
-47
-23
-51
1
-1
-2
1
0
0
-5
-34
-4
38
40
31
-1
-103
16
29
1
3
0
0
0
0
0
0
-12
7
5
-3
26
38
1
9
-2
-8
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-23
-75
-42
-15
-147
0
-68
9
8
7
-3
0
0
0
0
-8
30
2
16
-17
8
-71
-79
-90
10
-24
3
-5
0
0
0
0
1
9
-46
-29
37
-72
-82
41
-22
17
-38
-16
0
0
0
0
0
0
120
8
-23
5
-31
-15
7
29
-83
-20
-2
0
-1
0
0
0
-2
13
-41
-23
-1
0
23
-6
21
-29
-14
0
0
1
0
0
0
-42
30
-24
-9
15
14
-43
4
-22
8
3
0
0
0
0
0
0
0
59
13
-27
-81
-81
-15
-35
-31
-55
-40
2
4
0
0
0
0
-14
-50
-9
-101
-44
-66
-3
-49
-18
8
-20
0
2
-1
0
0
0
-7
1
-18
-63
-112
63
-19
-23
-54
20
18
3
2
-1
0
0
0
0
-4
47
83
-57
-77
-50
0
-20
4
4
10
-1
0
0
0
0
0
59
18
11
-11
-38
-74
-17
-14
43
-33
16
12
-6
4
0
0
0
66
28
74
-20
-37
-75
-15
-3
52
2
-17
0
0
0
0
0
0
-17
46
10
47
-11
-9
-23
-87
-50
15
0
-1
0
0
0
0
0
-26
-14
-3
-6
-23
-19
27
-48
23
8
8
1
0
0
0
0
0
5
-23
-7
-3
3
-42
-2
-6
-20
-40
2
-1
0
0
0
0
0
10
-52
-57
14
-27
39
5
-20
-66
-30
20
-1
0
0
0
0
0
21
21
24
-44
-11
86
13
-34
7
-8
-2
-1
0
0
0
0
0
1
17
13
17
9
44
-4
3
0
0
0
0
0
0
0
-23
103
104
149
-76
-28
33
-77
0
0
19
-3
-5
0
0
0
0
-5
-32
93
156
-47
-32
-43
-32
-14
-70
-92
-36
-23
8
0
0
0
25
78
66
77
-17
-56
-57
-61
7
-41
-48
23
-16
12
0
0
0
-9
3
15
123
-8
-31
-76
-7
27
-35
86
-5
25
1
0
0
0
12
-50
15
-11
74
-48
-23
-19
45
89
-20
-2
-4
0
0
0
0
49
15
-28
163
65
-21
-85
12
58
-59
-17
-17
3
-1
0
0
0
-15
-19
50
46
6
14
3
-30
-61
34
-13
0
-3
0
0
0
0
1
3
27
-23
-43
43
-58
24
17
1
-2
0
0
0
0
0
0
0
-2
1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-29
-58
-11
-112
-36
4
-11
-80
0
-30
-7
4
0
0
0
0
0
-71
6
64
-3
-86
-33
0
-54
5
-123
58
-4
-2
0
0
0
0
16
-4
80
13
19
23
-62
-37
-40
-45
-56
4
0
0
0
0
0
-13
-77
66
39
-8
-37
34
-24
2
26
-81
-3
0
0
0
0
0
-32
-99
70
79
40
-62
-32
-20
-27
-106
-25
0
0
0
0
0
0
-2
25
-31
29
29
11
-79
-33
-55
-93
12
-2
0
0
0
0
0
14
31
-62
-4
21
19
6
46
-131
46
0
0
0
0
0
0
0
0
-1
3
69
34
83
-18
11
-31
-13
0
0
0
0
0
0
0
0
0
4
0
8
8
25
12
2
-1
0
0
0
0
0
0
0
-8
10
0
1
12
-116
-81
-112
0
2
-2
1
0
0
0
0
0
-18
-15
8
41
-86
-42
-98
-185
-56
-50
13
-1
0
0
0
0
0
-16
-42
-16
-50
-34
39
-46
-219
-11
-78
-43
-5
0
0
0
0
0
-2
-31
1
11
26
29
-68
-104
59
-4
-10
-1
0
0
0
0
0
-6
-41
-17
-58
-20
7
-31
-22
13
39
-43
2
0
0
0
0
0
3
-64
-60
-14
-54
-64
-81
-6
-49
-7
-20
0
0
0
0
0
0
0
-75
-24
44
-50
-73
-16
-16
-63
-47
-12
-5
0
0
0
0
0
0
5
0
44
-54
-42
-80
-50
-5
6
2
0
0
0
0
0
0
0
0
-1
0
6
-19
37
42
13
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-22
16
18
-9
2
-1
0
0
0
0
0
0
0
0
0
0
12
-10
41
52
-42
2
0
0
0
0
0
0
0
0
0
0
0
41
-20
52
-6
-3
1
0
0
0
0
0
0
0
0
0
0
0
-24
56
-45
49
-10
0
0
0
0
0
0
0
0
0
0
0
0
5
-17
-36
48
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-26
0
46
-17
-1
0
0
0
0
0
0
0
0
0
0
0
10
38
50
75
3
-2
0
0
0
0
0
0
0
0
0
0
0
6
93
-47
72
5
0
0
0
0
0
0
0
0
0
0
0
0
42
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
-29
2
14
4
0
0
0
0
0
0
0
0
0
0
0
16
92
22
1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
30
-20
19
-52
19
10
0
2
0
0
0
0
0
0
0
0
0
35
48
70
-42
-31
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
48
-10
14
0
0
0
0
0
0
0
0
0
0
0
0
3
14
46
-32
25
0
0
0
0
0
0
0
0
0
0
0
0
44
-21
5
39
9
0
0
0
0
0
0
0
0
0
0
0
0
2
104
41
72
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
42
-39
4
25
0
0
0
0
0
0
0
0
0
0
0
22
-1
45
-31
42
7
2
0
0
0
0
0
0
0
0
0
0
24
-23
-23
-59
-48
-24
0
0
0
0
0
0
0
0
0
0
0
31
-1
-17
44
56
5
0
0
0
0
0
0
0
0
0
0
0
0
5
14
20
52
-7
0
0
0
0
0
0
0
0
0
0
0
0
-13
60
21
-50
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
41
63
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-31
18
-111
-110
-82
-27
0
0
0
0
-1
0
0
0
0
0
47
139
89
28
-25
35
75
0
0
0
3
0
0
0
0
0
0
32
58
67
-36
30
78
17
3
31
32
-1
0
0
0
0
0
0
34
-23
78
50
34
-45
0
41
44
-5
2
0
0
0
0
0
0
76
17
50
114
84
-33
-12
2
-57
3
0
1
0
0
0
0
0
-10
13
54
-34
-32
80
49
-12
62
0
0
0
0
0
0
0
0
47
-31
-18
44
69
43
60
48
24
-4
0
0
0
0
0
0
0
12
-56
8
38
-42
6
-20
3
-1
0
0
0
0
0
0
0
0
52
1
-7
27
2
0
0
0
1
0
0
0
0
0
0
0
0
-34
-53
36
57
20
-19
8
0
0
0
0
0
0
0
0
0
0
6
49
-11
8
-4
-8
25
0
0
0
1
0
0
0
0
0
0
-13
-61
28
54
-43
34
3
27
45
10
0
0
0
0
0
0
0
66
-47
9
0
-5
-29
-82
-10
9
26
3
0
0
0
0
0
0
46
-51
7
42
14
-29
47
22
1
19
3
0
0
0
0
0
0
-43
-13
-41
-13
-11
-32
-90
56
16
27
-1
0
0
0
0
0
0
58
-43
-29
54
-3
26
16
-14
-20
89
-2
0
0
0
0
0
0
42
64
47
-19
24
47
17
37
21
3
0
0
0
0
0
0
0
44
64
8
24
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
-21
76
-35
-1
0
0
0
11
14
-7
-5
0
0
0
2
35
31
-11
-50
-39
40
0
0
0
50
8
0
5
-1
0
0
22
-76
58
-9
58
34
42
64
122
65
43
-35
-39
7
0
0
0
14
84
52
14
25
-38
-50
-18
-39
-9
-62
3
1
7
0
0
0
47
-51
-23
42
4
77
43
-86
-51
8
-8
0
0
-2
2
0
0
18
18
76
50
-67
11
-50
53
-4
-26
-16
0
1
2
0
0
0
-2
31
-16
27
-30
11
-40
-20
-43
-25
4
0
0
0
0
0
0
6
-13
12
-5
5
-7
29
4
-1
-10
0
-1
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
35
-55
-102
-189
-29
0
0
0
-13
25
2
-37
31
-16
-1
0
-22
-53
-36
-52
-53
8
0
0
0
67
-18
5
5
-35
-7
1
0
-22
-72
99
-23
23
-77
-15
13
40
14
-20
-32
-15
-12
-4
0
0
8
-37
9
5
-105
-48
-90
5
-29
-3
-58
-13
-16
1
-1
3
0
-2
-44
13
-23
-28
-25
-120
-18
59
-3
-14
1
0
1
3
0
0
-1
-33
39
24
-7
-19
-14
53
5
42
-37
-20
2
6
0
0
0
0
-42
94
45
-15
61
-59
-25
-19
23
-19
-10
2
-1
-1
-1
0
0
17
20
-38
107
-58
-28
45
28
-1
-25
-46
4
2
1
-18
0
0
-3
-3
11
-11
158
-8
35
85
-62
11
-5
4
-4
4
-5
0
0
-25
0
-59
17
55
0
0
0
-42
-7
38
16
0
-2
0
0
0
-68
-25
27
-18
-42
0
0
0
-59
-79
-77
0
-6
3
0
0
0
-97
41
83
134
49
29
-6
8
-25
12
4
-2
1
0
0
0
0
-66
-124
113
-14
7
-59
-84
4
-1
-2
0
0
0
0
0
0
0
-166
16
10
62
-85
-72
-3
-22
3
-17
2
-1
0
0
0
0
0
-13
-58
121
-23
-71
-45
-10
10
-4
-47
1
-2
-1
0
0
0
0
-66
-13
21
58
13
67
-69
8
70
-39
5
9
-2
0
0
0
0
0
-33
66
-29
-80
-1
-2
-9
-51
14
6
6
10
-1
0
0
0
-4
-24
-4
1
37
-8
-5
0
0
0
0
0
0
0
0
-55
-34
9
-95
-79
-21
164
0
0
0
5
-8
-1
-1
0
0
0
-59
-40
49
-29
-53
-13
134
0
0
0
8
-9
-6
-1
0
0
0
-80
-65
-22
15
3
13
68
191
141
-2
-7
-13
-2
-1
0
0
0
-131
-51
-27
65
-65
-13
-119
-26
-66
-34
6
-1
-13
0
2
0
0
-93
-157
-35
-84
54
-34
76
-9
-98
-5
34
2
4
3
0
0
0
-8
66
66
35
3
50
69
-48
-38
19
-1
7
-1
0
3
0
0
-59
39
-8
95
16
-50
-39
-12
90
46
10
-2
0
0
-1
0
0
12
34
74
-31
50
46
-30
61
-25
-3
-2
0
0
0
0
0
0
0
-1
-1
3
14
0
0
0
-1
0
1
0
0
0
0
0
0
-41
-113
-7
-91
-70
-38
60
0
0
0
-15
-2
0
0
0
0
0
-78
-59
-200
-11
-72
-1
117
0
0
0
-18
-8
0
0
0
0
0
-53
71
-102
-1
29
54
-103
-77
41
-19
23
1
0
0
0
0
0
-40
8
74
38
46
-79
-24
44
-40
64
-43
1
0
0
0
0
0
2
-32
-42
-32
31
-53
-16
-42
-63
-67
-27
-3
0
0
0
0
0
-31
-93
110
85
86
73
-94
-18
-28
-118
-3
-3
0
0
0
0
0
-91
13
-17
-29
-36
-25
21
46
-109
-134
9
0
0
0
0
0
0
-2
8
-34
42
51
61
15
-28
-54
4
0
0
0
0
0
0
0
0
0
0
0
49
17
-38
2
-16
0
0
0
0
0
0
0
0
-15
5
-59
-57
72
-24
45
0
0
0
27
-10
0
0
0
0
0
-17
-45
-49
49
-42
78
168
0
0
0
25
-25
-1
-2
0
0
0
31
-54
-16
186
121
21
150
138
44
94
48
9
0
5
0
0
0
-176
-134
-27
58
-22
112
53
-42
-55
-55
29
4
0
0
0
0
0
-75
-183
-7
31
56
62
7
-13
-16
-144
-22
-1
2
0
0
0
0
15
-52
-66
-6
65
-34
-22
34
6
-58
-16
-3
1
0
0
0
0
-37
-33
-42
-111
22
7
-72
12
-20
-52
-54
-18
0
0
0
0
0
0
44
-14
75
-28
-4
6
-1
-49
-98
-56
2
2
0
0
0
0
14
-2
0
0
-9
3
-2
32
-52
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
-15
-42
-3
0
0
0
0
0
0
0
0
0
0
0
0
-18
-3
-44
-55
-43
0
0
0
0
0
0
0
0
0
0
0
0
30
-4
32
-10
4
-5
0
0
0
0
0
0
0
0
0
0
0
1
-28
-21
-55
-5
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-9
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
-28
19
29
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-15
3
14
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-22
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-25
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
41
-19
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
12
-13
-60
-39
-52
0
5
0
0
0
0
0
0
0
0
0
0
19
-42
-70
-57
2
0
0
1
0
0
0
0
0
0
0
0
0
6
-58
-16
38
-12
0
0
0
0
0
0
0
0
0
0
0
0
6
8
18
-112
-31
-5
0
0
0
0
0
0
0
0
0
0
0
19
-25
-3
19
-45
0
0
0
0
0
0
0
0
0
0
0
0
-7
51
6
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
29
-50
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
44
8
-20
-2
0
0
0
0
0
0
0
0
0
0
0
8
-8
27
28
-47
-2
0
0
0
0
0
0
0
0
0
0
0
-32
-23
17
-17
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-5
-71
-22
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
22
-43
-21
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-41
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-75
-49
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
2
-48
8
-3
0
0
0
0
0
0
0
0
0
0
1
-28
17
5
-94
-43
3
0
0
0
0
0
0
0
0
0
0
-8
-49
11
12
-13
4
0
0
1
0
0
0
0
0
0
0
0
-4
-10
-27
-130
-25
-23
-8
-4
-1
0
0
0
0
0
0
0
0
-5
-13
5
11
-5
13
6
-2
1
0
0
0
0
0
0
0
0
0
8
-20
3
-49
-24
-2
-1
0
0
0
0
0
0
0
0
0
0
-58
31
-4
-16
1
2
3
0
0
0
0
0
0
0
0
0
-2
-66
-13
12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
1
-2
0
0
0
0
0
0
0
0
0
0
1
8
-6
-6
-7
-4
-1
0
0
0
0
0
0
0
0
0
0
1
4
-8
-10
-3
-3
-3
-1
0
0
0
0
0
0
0
0
0
2
-30
19
4
-3
-8
0
0
0
1
0
0
0
0
0
0
0
-2
-23
13
14
2
-7
1
0
-4
0
0
0
0
0
0
0
0
-6
-12
-5
13
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-25
-10
-1
1
0
1
-1
0
0
0
0
0
0
0
0
0
-5
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
10
-19
-119
-145
-48
0
0
0
-5
-4
1
0
0
0
0
7
27
6
9
35
-99
-71
0
0
0
-78
4
-8
1
0
0
0
10
4
25
-8
-30
-126
-115
-74
-26
-62
-6
-8
2
-5
0
0
0
13
41
33
-42
48
-75
-35
-108
-73
-83
-24
-2
0
0
-2
0
0
6
0
-19
5
-49
-43
-63
-77
3
1
-2
0
-1
0
0
1
0
-8
-8
-19
-15
-31
-5
-83
34
-64
-13
14
0
0
-1
0
0
0
0
6
21
-8
-20
-5
-37
-54
-47
-18
2
0
0
0
0
0
0
-5
6
34
7
30
9
-2
-39
-1
-3
0
0
0
0
0
0
0
6
-2
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
4
-81
-216
-54
0
0
0
22
9
2
23
18
0
4
0
-3
-24
9
-31
-178
-25
0
0
0
-45
-54
-27
-22
9
2
0
0
-15
-3
-76
-28
-164
-98
1
-83
-197
-1
11
-17
-13
1
-2
0
0
-24
1
-22
-65
-146
-129
-95
1
-3
13
26
5
-7
-7
0
0
0
-7
-15
-62
-72
-39
-50
-18
-49
-3
-44
-8
1
-2
0
0
0
0
0
8
-40
-81
-8
-98
-26
61
-71
30
53
5
-4
0
0
0
0
-1
-41
-42
-41
-6
-6
-80
8
25
-19
-42
-9
7
-29
4
0
0
0
-27
-66
-46
58
-71
93
38
27
-9
-26
14
-12
10
1
3
0
0
0
-6
-2
24
36
58
84
57
-19
-5
-4
0
-24
0
-1
0
0
-4
-16
-34
-116
-94
0
0
0
-6
-35
-5
-9
-1
0
0
0
0
-25
-58
5
-106
-9
0
0
0
-47
-13
-3
0
1
0
0
0
0
-60
-91
6
-2
16
8
-42
23
61
-5
-8
-2
-2
0
0
0
0
3
-13
-11
-41
-220
-61
-46
-110
2
-45
-1
1
0
0
0
0
0
1
-89
-21
24
-86
-64
-143
-21
53
9
-8
2
0
0
0
0
0
-20
-78
-40
24
-53
-13
-45
39
-28
14
-1
0
-1
-4
0
0
0
-13
2
-27
23
14
-67
23
-23
20
-2
13
-14
-2
0
0
0
0
-1
-14
-70
-79
-48
26
54
-17
-4
8
7
-2
-8
1
0
0
0
-5
-41
-6
4
-7
2
0
0
0
0
0
0
0
0
0
9
-87
-37
-99
-93
-71
-104
0
0
0
-1
0
2
0
0
0
0
-26
-6
62
22
-92
-176
-198
0
0
0
-9
15
-2
1
0
0
0
11
-24
-25
12
-111
-92
-149
-137
-26
-67
0
2
-7
1
-1
0
0
-58
-42
72
38
67
-182
-93
-62
-86
-10
-18
-25
-1
0
-3
0
0
-18
28
-11
-5
50
-107
-66
-76
-113
-80
7
-2
1
-2
0
0
0
7
44
38
0
2
17
-1
-76
-53
1
-22
0
0
0
0
0
0
5
-5
69
-2
-49
-55
-141
-23
-52
-41
1
0
1
0
0
0
0
-1
-17
-25
31
13
23
-59
-33
-6
-7
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-8
8
-36
7
-18
-44
0
0
0
-2
0
0
0
0
0
0
-19
-146
-42
-60
1
-24
-63
0
0
0
-23
0
0
0
0
0
0
-12
36
-35
-75
-30
-41
-74
-11
-55
-42
-1
0
0
0
0
0
0
8
-52
-69
8
46
-25
-47
79
-9
-25
-17
0
0
0
0
0
0
2
-11
9
-13
-75
-79
2
8
-33
-54
1
2
0
0
0
0
0
-6
-4
6
32
-28
-42
5
18
-22
-162
-1
0
0
0
0
0
0
0
-3
-2
-15
-59
-6
-31
-80
-172
16
0
0
0
0
0
0
0
0
2
0
-13
0
51
-34
-20
2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
31
8
-49
7
0
0
0
0
0
0
0
0
0
0
-1
0
-3
7
87
18
-33
0
0
0
-3
-13
0
0
0
0
0
1
-9
-2
-22
-45
1
-65
-20
-76
-35
-20
-2
0
0
0
0
0
0
-1
0
-42
-34
-105
-53
-39
-22
-103
-10
2
0
0
0
0
0
0
-10
-4
-77
-35
52
-137
-142
-94
5
8
-3
0
0
0
0
0
0
1
2
35
-7
-14
-59
-44
-53
-107
-20
0
0
0
0
0
0
0
0
0
6
-129
-23
-85
-52
39
-74
-5
-2
0
0
0
0
0
0
-2
0
-6
19
-43
-16
43
-13
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
13
0
0
0
63
0
0
0
0
0
0
0
0
0
3
-30
59
12
67
0
0
61
1
0
0
0
0
0
0
0
0
-7
1
17
40
32
61
3
-97
0
0
0
0
0
0
0
0
0
0
0
62
10
27
97
59
91
1
0
0
0
0
0
0
0
0
0
0
-3
6
31
27
63
-28
0
0
0
0
0
0
0
0
0
4
-3
4
-34
78
69
3
-19
0
0
0
0
0
0
0
0
0
0
1
-4
3
-8
-5
50
57
0
0
0
0
0
0
0
0
0
0
0
1
-1
34
6
-86
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-22
2
0
0
0
0
0
0
0
0
1
1
0
42
77
0
0
0
-22
0
0
0
0
0
0
0
0
-1
1
6
5
25
67
0
0
-16
6
0
0
0
0
0
0
0
1
2
29
10
54
116
22
45
-33
-1
0
0
0
0
0
0
0
0
16
88
42
50
30
81
20
-51
-6
0
0
0
0
0
0
0
-4
2
0
52
-5
7
60
2
69
-5
0
0
0
0
0
0
0
-3
0
1
-18
25
77
45
49
34
-2
0
0
0
0
0
0
0
0
0
-2
-2
-75
77
-74
85
1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-30
-2
60
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
44
0
0
0
9
-32
0
0
0
0
0
0
0
0
0
9
-8
7
25
0
0
17
13
0
0
0
0
0
0
0
0
0
0
29
45
126
-4
26
22
14
0
0
0
0
0
0
0
0
0
-15
16
34
57
23
-31
-54
39
-1
0
0
0
0
0
0
0
2
4
6
2
54
50
81
50
-94
2
0
0
0
0
0
0
0
3
5
-1
32
26
13
24
16
25
-4
0
0
0
0
0
0
0
-3
3
4
-14
34
-3
21
107
16
0
0
0
0
0
0
0
0
0
0
0
-3
125
4
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
125
53
-7
58
-7
-5
0
0
0
0
3
8
50
-31
0
0
0
-5
4
-8
47
-40
83
-10
0
0
0
1
-3
-25
-36
58
69
111
130
22
-106
-9
18
6
41
0
0
0
6
-7
37
-41
56
67
49
-52
-6
5
-43
63
30
1
0
0
-8
-3
-9
3
55
7
61
-6
1
-18
-61
-25
-52
25
0
0
0
0
-2
-2
-15
18
46
243
37
-4
20
63
-67
44
51
0
0
0
0
0
2
-7
-8
116
23
29
-50
4
20
-8
16
-13
0
0
0
0
0
0
-4
-17
13
49
-85
16
10
67
47
-32
0
0
0
0
0
0
0
0
0
-1
12
3
-3
0
1
13
-23
34
0
0
0
0
0
6
31
45
0
0
0
100
86
34
-14
-33
14
0
0
0
5
1
0
52
32
0
0
0
76
80
-60
14
7
60
1
0
0
0
-2
3
31
-65
36
-83
98
-37
-28
47
-177
24
-20
-4
0
0
-4
0
-1
18
5
7
-11
13
-83
54
-96
86
-28
139
5
0
0
0
-1
0
-3
-9
31
-65
-47
49
40
-12
44
12
-12
-4
0
0
0
1
0
0
35
42
10
9
-99
-40
-71
39
-43
29
0
0
0
0
0
-1
0
10
64
-65
-37
-5
-41
-42
34
1
3
0
0
0
0
0
0
-2
3
72
-7
24
18
3
-1
-9
0
0
0
0
0
0
0
0
0
4
0
30
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
-1
76
0
0
0
139
44
20
19
-41
-64
-10
0
0
1
0
65
107
119
24
0
0
58
55
26
31
-24
-61
-60
0
1
-1
2
14
8
63
76
44
141
53
141
27
19
-15
-41
-89
0
0
-2
-7
-1
-49
73
18
46
61
65
62
58
11
11
-35
7
0
0
0
6
-70
33
-5
-27
59
40
-35
49
11
8
-22
-16
-81
0
0
0
-53
1
-13
21
5
82
-8
36
66
45
7
-14
-39
-57
0
0
0
-18
24
-2
-33
29
-40
61
63
29
66
59
5
-19
-7
0
0
0
3
9
1
60
13
-102
15
140
-15
50
49
31
4
4
0
0
0
0
0
0
0
3
1
-1
1
-8
1
-2
31
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-22
0
0
90
4
4
-17
-52
50
65
0
0
0
0
8
-1
-3
-61
139
63
13
54
-8
13
-33
13
36
0
0
0
0
0
-2
3
23
57
46
95
63
1
8
-17
-17
17
0
0
0
0
0
-17
23
-142
10
22
43
69
-17
56
49
-34
38
0
0
0
0
-12
-5
-8
125
-18
15
-29
11
84
37
21
-27
23
0
0
0
7
0
-5
14
-9
-73
89
20
69
69
-45
6
0
45
0
0
0
-2
0
0
45
72
-46
27
46
48
105
37
35
11
35
0
0
0
0
0
0
-42
-5
-48
-163
-28
93
54
70
5
28
33
0
0
0
0
0
0
0
4
18
17
-58
100
-5
76
98
71
17
0
0
0
0
1
-42
21
4
0
53
84
-12
-55
-5
10
-5
50
0
0
0
-1
-4
54
-31
-8
-43
73
0
33
28
9
9
1
-11
0
0
0
0
-3
6
-64
49
43
56
34
22
-17
48
63
-12
16
0
0
0
0
-18
8
38
41
112
40
46
21
9
-20
18
-6
-46
0
0
0
0
29
-72
-24
29
-40
39
-1
12
73
-3
61
-5
23
0
0
0
3
19
-25
-20
-22
67
111
86
77
30
-7
64
-15
7
0
0
0
0
-3
-66
-7
12
-89
84
16
41
42
-16
31
20
-16
0
0
0
0
13
0
24
-11
43
-28
16
-17
58
47
-31
1
22
0
0
0
0
0
2
-5
5
-18
2
42
-23
93
12
-26
-7
0
0
0
0
-8
5
58
-16
70
0
0
109
61
12
-5
-19
-46
-30
0
0
0
4
13
-32
54
0
46
0
81
40
53
1
-8
-32
-36
0
0
2
-2
2
44
23
70
100
103
20
68
38
1
4
-29
10
0
0
5
1
44
27
18
-64
35
28
34
53
44
26
3
-26
-86
0
0
0
-4
-15
-55
14
57
-19
-36
26
68
17
28
-6
-17
-4
0
0
0
5
-13
-7
198
31
-48
-29
6
12
-42
3
-13
44
32
0
0
0
0
36
-57
75
3
-15
112
2
30
32
-26
4
34
27
0
0
0
0
-1
32
42
-42
36
-6
42
-28
-7
17
22
70
-1
0
0
0
0
0
0
9
1
-1
-9
16
9
0
56
106
8
0
0
0
0
0
2
13
-31
72
0
117
155
134
42
-1
98
39
25
0
0
0
0
-2
13
-23
0
1
0
72
8
93
22
8
32
-81
0
0
0
0
0
-5
79
-12
76
16
29
13
33
39
49
87
13
0
0
0
0
0
-5
-42
-15
19
41
74
-39
20
34
21
61
100
0
0
0
0
1
-3
5
34
-58
84
-24
-10
-69
-20
33
46
-42
0
0
0
1
0
0
-15
-54
-119
-5
-37
-1
-32
-48
27
62
-9
0
0
0
0
0
0
-3
12
-68
-166
31
8
-31
49
43
91
0
0
0
0
0
0
-10
0
1
3
-8
52
-47
-1
-9
71
51
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-63
-27
3
0
0
0
0
0
0
-6
28
0
0
0
140
67
119
30
24
60
66
0
0
0
0
0
-1
72
115
0
114
84
143
77
-4
13
13
62
0
0
0
0
0
0
-8
88
71
46
-13
74
65
42
-10
15
-85
0
0
0
0
0
0
2
5
-37
-28
29
58
-3
19
43
9
-28
0
0
0
0
0
0
-6
-66
-80
-5
-50
9
4
35
43
-42
-47
0
0
0
0
0
-2
5
-32
-185
-25
-28
-16
47
67
-36
-13
-73
0
0
0
0
0
0
0
-59
-155
-25
-104
22
86
20
55
38
70
0
0
0
0
0
0
0
0
-10
3
44
104
-46
-8
5
-84
4
0
0
0
0
0
0
0
0
0
0
0
1
3
20
32
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
0
0
-116
0
0
0
0
0
0
0
0
0
2
-6
-8
49
42
0
0
-57
-8
0
0
0
0
0
0
0
-1
-8
0
-30
-36
-41
19
-98
-156
2
0
0
0
0
0
0
0
0
0
-2
-13
-34
76
-22
-64
35
5
0
0
0
0
0
0
0
0
0
0
0
2
-4
-19
-38
4
0
0
0
0
0
0
0
0
3
-7
0
1
2
-36
-75
31
-42
-8
0
0
0
0
0
0
0
0
-1
0
30
15
10
77
-76
17
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
72
-91
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
30
13
0
0
0
0
0
0
0
0
-2
-2
-9
41
9
0
0
0
-121
0
0
0
0
0
0
0
0
-3
-14
23
-30
-13
83
0
0
-20
14
0
0
0
0
0
0
0
0
0
-28
-5
-5
38
0
41
-47
15
1
0
0
0
0
0
-1
1
6
-60
-5
-104
-4
-16
21
13
3
0
0
0
0
0
0
0
6
25
13
66
19
-30
7
-83
-80
-39
0
0
0
0
0
0
0
6
-1
-2
33
-6
-5
-22
-35
-56
1
0
0
0
0
0
0
0
2
12
2
3
-13
-31
30
-63
-74
13
0
0
0
0
0
0
0
0
-3
0
1
20
30
40
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
6
1
2
-2
1
0
0
0
0
0
0
0
0
0
0
5
0
85
0
0
0
5
6
0
0
0
0
0
0
0
0
0
-25
25
-43
49
0
0
-53
-1
0
0
0
0
0
0
0
0
0
5
-13
-22
-35
29
3
4
9
1
0
0
0
0
0
0
0
0
25
-30
-22
60
47
-2
-7
16
-2
0
0
0
0
0
0
0
1
1
-25
15
152
-41
-32
-6
-87
2
0
0
0
0
0
0
0
8
-9
0
-34
-57
-3
-25
-123
-109
0
0
0
0
0
0
0
0
-2
-2
5
4
-70
-9
-83
-132
-48
0
0
0
0
0
0
0
0
-1
-4
-2
-5
-64
35
-87
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
23
0
0
0
-9
-59
27
30
-52
-80
-1
0
0
0
-3
15
-2
-12
0
0
0
22
-130
-74
2
2
-67
12
0
0
0
-1
-2
31
-28
-62
-51
46
-66
-163
-7
-70
-50
-51
-5
0
0
0
0
6
-9
-42
31
2
-40
-63
-94
-115
-22
-135
-138
0
0
0
0
0
-3
-2
9
111
-21
45
-55
-17
-134
-91
-115
-6
0
0
0
0
0
2
-1
-21
-122
5
-39
-147
3
-99
-156
-68
-10
0
0
0
0
0
0
5
-10
-10
-7
59
-57
-3
41
-25
-7
-8
0
0
0
0
0
0
2
0
-58
72
106
-12
-18
-8
-1
-1
0
0
0
0
0
0
0
0
0
-2
13
1
-5
0
-8
-1
0
-12
0
0
0
0
0
0
-8
-9
0
0
0
-20
2
-6
0
-3
-5
0
0
0
0
0
8
-8
45
0
0
0
30
-24
-1
-54
-14
-1
0
0
0
0
0
0
27
-92
-73
-24
-30
-53
0
22
-66
-13
4
0
0
0
0
0
0
-3
-15
22
-32
27
-44
39
17
7
-79
-1
0
0
0
0
0
0
0
2
-76
-40
-112
-56
-47
-40
-110
-28
2
0
0
0
0
0
0
0
1
-74
-28
-62
-48
-6
-12
-41
-8
-2
5
0
0
0
-2
2
0
1
31
-61
-13
8
-1
3
-10
-1
0
0
0
0
0
0
0
0
-1
43
5
14
1
-2
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
7
-24
55
0
0
0
-5
-17
-31
-77
-48
-94
-40
0
0
-2
8
45
10
27
22
0
0
-13
-27
-45
-48
-51
-60
-27
0
0
-1
1
3
97
133
-1
146
59
-5
83
-31
-67
-63
-62
-103
0
0
-4
-2
21
69
-18
28
-8
93
67
-59
-37
-77
-59
-89
-63
0
0
0
0
117
127
34
108
46
33
33
-46
-30
-57
-73
-70
-62
0
0
0
19
46
92
-6
4
38
-3
-23
-6
-1
-60
-71
-76
-117
0
0
0
66
17
29
39
-11
93
22
47
-117
-100
-53
-42
-112
-107
0
0
0
0
5
50
33
18
121
-37
3
-16
-36
-107
-77
-59
-1
0
0
0
0
0
0
0
-14
-21
-1
2
6
-2
-13
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-103
0
0
-8
-76
-31
-99
13
-39
-54
0
0
0
1
4
0
0
-10
-21
102
-22
-27
-47
-46
-64
-65
-36
0
0
0
0
3
1
14
15
20
31
-16
-76
-5
-17
-61
-4
-58
0
0
0
0
0
-19
-66
-9
-76
12
48
-11
-23
-40
-17
-85
-16
0
0
2
0
5
6
-6
23
-48
39
78
14
-48
-106
-49
-79
-20
0
0
-4
0
2
23
51
-27
88
-110
1
-39
15
12
-79
-39
-42
0
0
0
1
-2
-25
8
5
-31
-16
13
70
23
-92
-48
-34
-25
0
0
0
-1
0
1
-16
12
-3
27
27
82
4
0
-29
-33
-105
0
0
0
0
5
0
0
0
44
-37
-17
10
-28
-46
14
-95
-83
0
0
0
0
0
0
-82
-49
0
-14
-10
-50
-115
-57
-28
-48
-75
0
0
0
3
4
-8
-66
4
-66
31
0
-27
-60
-55
-52
-46
-48
0
0
0
0
6
3
24
-43
-50
13
-30
-29
-70
-79
-60
-90
-16
0
0
0
0
-14
17
-42
-60
-2
11
-51
-38
-58
-25
-40
-62
1
0
0
0
0
-40
120
7
0
64
-48
85
-4
21
-46
-54
-33
-59
0
0
0
0
15
3
23
5
-7
14
70
30
22
-9
-21
-67
-35
0
0
0
1
5
5
25
14
-5
55
99
-24
19
-21
-30
-71
-55
0
0
0
2
-2
2
2
-1
13
-58
-27
59
6
-56
-16
-101
-20
0
0
0
0
0
2
10
5
28
-24
-3
12
-42
-1
-29
-3
0
0
0
0
5
-6
4
-22
43
0
0
3
1
-18
-55
-48
-12
-64
0
0
0
-10
11
162
59
0
34
0
57
27
-37
-52
-51
-16
-39
0
0
0
-5
-17
-55
11
-8
22
114
-29
51
-23
-45
-32
-58
-85
0
0
0
-3
-25
38
89
-21
30
40
52
7
-22
-52
-89
-67
-101
0
0
0
23
-3
75
96
-14
30
-1
1
-25
-51
-28
-67
-63
-50
0
0
0
2
84
48
85
49
-35
-44
18
4
-72
-46
-26
-32
-19
0
0
0
3
-2
92
23
74
32
22
-12
-38
-13
-6
-5
-30
-92
0
0
-1
0
2
10
-27
13
-13
-37
-70
40
-37
-87
-3
44
-5
0
0
0
0
0
0
-7
5
4
5
46
-32
-13
30
-94
-4
0
0
0
0
0
0
0
61
-20
0
36
8
0
-25
-22
-51
-26
-76
0
0
0
0
1
-25
31
0
68
0
-6
-18
45
-16
-49
-9
11
0
0
0
-1
-5
-3
-179
-36
-33
-100
-64
-42
-53
-83
37
-13
-27
0
0
0
0
0
-15
-31
-73
-84
-32
-64
-16
-107
-89
-75
46
-40
0
0
0
0
0
0
-8
-58
-87
-81
-157
-95
-147
-75
-40
-24
50
0
0
0
0
0
0
-4
-22
-36
-111
-63
-65
-33
-126
-66
-89
-35
0
0
0
1
0
0
-13
47
-64
-45
-36
-87
-61
1
-41
-28
-27
0
0
0
0
0
-5
0
-7
6
-13
-76
-32
-7
-1
-9
-128
0
0
0
0
0
0
0
0
0
0
-2
0
0
-10
-22
21
13
0
0
0
0
0
1
-1
-8
0
0
0
-27
-46
-121
-46
-96
22
-66
0
0
0
0
0
0
-20
58
0
57
-158
2
17
-46
-79
-29
-109
0
0
0
0
0
0
-6
-57
69
26
-88
-42
38
-35
17
14
-112
0
0
0
0
2
0
4
-170
-229
8
-47
30
-3
-96
-61
-5
-32
0
0
0
0
0
3
-4
-149
-91
-2
-56
-46
-128
-47
-54
-45
-98
0
0
0
0
0
0
0
-142
-197
18
-42
-24
-143
-24
4
-100
-6
0
0
0
0
0
0
0
-29
-163
-58
-23
57
25
-77
20
29
-37
0
0
0
0
0
0
0
-1
-15
3
7
-31
7
36
23
-1
-2
0
0
0
0
0
0
0
0
1
0
0
0
2
63
10
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
49
0
0
0
112
3
0
0
0
0
0
0
0
0
3
6
16
41
39
0
0
-24
0
0
0
0
0
0
0
0
0
0
1
55
25
88
-32
-34
13
-2
0
0
0
0
0
0
0
0
0
-3
7
24
14
29
74
64
1
0
0
0
0
0
0
0
0
0
2
6
18
-46
17
27
93
-5
0
0
0
0
0
0
0
0
0
0
-3
18
8
25
44
-28
0
0
0
0
0
0
0
0
0
0
0
-1
-12
27
64
77
9
0
0
0
0
0
0
0
0
0
0
0
1
2
-69
74
22
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
4
-8
0
0
0
0
0
0
0
0
0
-3
-2
16
51
0
0
0
-21
7
0
0
0
0
0
0
0
-1
1
-2
51
12
66
0
0
-68
6
0
0
0
0
0
0
0
0
1
0
41
59
85
25
15
-30
-22
0
0
0
0
0
0
0
0
0
8
15
30
61
-34
-14
4
14
0
0
0
0
0
0
0
0
3
0
-3
-17
61
24
25
25
-10
0
0
0
0
0
0
0
0
0
1
-2
-9
120
139
65
43
0
0
0
0
0
0
0
0
0
0
0
-4
5
28
51
76
112
0
0
0
0
0
0
0
0
0
0
0
0
-13
42
-5
29
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
24
-17
-24
0
0
0
0
0
0
0
0
0
-1
-5
9
-8
0
0
0
31
17
0
0
0
0
0
0
0
0
-1
1
23
48
52
0
0
-36
-65
0
0
0
0
0
0
0
0
3
-1
-2
1
25
49
-111
-18
63
0
0
0
0
0
0
0
0
0
0
6
13
81
5
-90
-71
-16
0
0
0
0
0
0
0
0
0
-1
-1
5
-3
81
-49
30
24
0
0
0
0
0
0
0
0
1
0
2
-6
93
-58
31
150
-9
0
0
0
0
0
0
0
0
0
0
0
5
49
45
67
43
8
0
0
0
0
0
0
0
0
0
0
1
0
4
51
81
43
1
0
0
0
0
0
0
0
0
0
0
0
-1
10
3
1
0
0
0
0
0
0
0
0
0
0
0
2
8
-69
0
0
0
75
-72
-20
85
-27
49
-1
0
0
0
10
-4
-1
-23
0
0
0
25
69
-34
16
24
8
0
0
0
0
2
2
62
-5
3
-47
-61
-6
13
21
30
-45
63
-3
0
0
2
0
-2
-7
-116
-60
37
-36
-40
-21
43
57
2
-47
0
0
0
3
-5
-2
20
-48
102
72
5
-11
-12
-116
9
34
20
8
0
0
0
0
-2
-4
41
178
40
35
111
3
27
13
134
1
2
0
0
0
0
0
14
17
82
90
60
97
-9
33
65
-31
8
0
0
0
0
0
-2
-2
42
67
66
119
-31
40
-43
-4
19
8
0
0
0
0
0
0
0
0
1
13
-2
47
1
0
0
2
1
0
0
0
8
1
17
-55
32
0
0
0
29
-56
14
30
7
-14
-1
0
-1
0
13
22
-27
18
0
0
0
85
-23
9
19
-13
7
8
0
0
0
3
-3
84
-49
50
49
33
-75
-68
49
1
-59
-20
2
0
0
0
7
8
31
15
-25
-87
-62
-34
-33
17
60
117
5
4
0
0
0
0
4
-2
30
28
-75
-25
-69
0
-20
54
19
128
-1
0
0
0
3
0
1
43
26
-75
77
-62
90
24
58
-3
91
3
0
0
0
3
-5
-2
46
-14
82
-11
39
16
-8
-13
52
91
-5
0
0
0
0
-3
13
-16
-57
31
20
86
6
48
8
-10
-41
5
0
0
0
0
0
8
1
12
-89
39
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
12
-9
0
0
0
44
24
-13
7
-21
5
3
0
0
0
1
3
-44
13
35
0
0
-19
-121
27
14
27
-13
24
0
0
-3
0
-8
10
77
155
126
-64
41
37
20
-11
-6
38
77
0
0
0
0
0
21
26
94
63
62
-97
74
58
30
38
-5
39
0
0
0
0
-4
-49
41
15
131
-52
39
-70
17
26
-8
11
12
0
0
0
0
-6
-8
-71
-43
86
86
-6
-60
12
-14
-22
-5
-26
0
0
0
0
0
-8
21
56
-42
48
32
18
21
30
82
22
108
0
0
0
1
0
-1
5
43
168
-84
-11
46
14
34
46
16
1
0
0
0
0
0
-4
-6
-1
-2
24
12
0
0
-2
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
74
0
0
-49
-40
-143
-102
-74
8
34
0
0
0
0
-1
0
43
50
-28
-3
6
-38
-101
-87
-3
-4
-53
0
0
0
0
-1
-1
-1
44
-15
112
19
-37
-29
12
11
17
32
0
0
0
0
5
-1
-25
-23
-13
-77
-36
-34
-7
-16
20
3
32
0
0
0
0
0
-1
-3
25
-49
-52
-43
-32
38
3
-1
42
-33
0
0
0
0
0
0
-13
14
-36
23
-28
6
28
53
1
9
-17
0
0
0
0
0
0
-1
-19
-20
-6
-41
36
25
-22
21
11
22
0
0
0
0
0
0
-1
-6
24
-10
-25
-39
41
12
65
23
34
0
0
0
0
-1
-1
-1
-1
-40
-40
47
-24
24
5
0
51
8
0
0
0
0
0
-4
12
-8
0
50
11
-61
-103
-4
28
-5
31
0
0
0
0
-29
-2
7
-77
30
5
0
-45
-9
-6
-22
17
48
0
0
0
0
17
-1
-1
-15
62
-69
-18
-111
-56
-24
2
-28
37
0
0
0
0
-2
8
-5
-41
46
-71
-44
3
39
-19
53
-8
35
0
0
0
0
0
-6
-8
-21
3
135
47
-45
-15
13
13
42
-6
0
0
0
0
-4
-1
0
-7
13
51
5
-11
-39
-7
42
30
29
0
0
0
0
1
14
2
-9
42
-54
41
42
5
14
15
-4
60
0
0
0
0
1
-1
1
0
-41
-62
-67
6
53
46
32
10
13
0
0
0
0
0
0
1
0
-13
-5
-15
8
30
98
-10
-5
0
0
0
0
-2
1
-33
-14
55
0
0
94
-30
4
71
91
-32
4
0
-1
-1
-3
-7
-25
17
0
-1
0
43
-40
-5
4
5
32
16
0
0
-2
-1
31
76
-64
109
115
137
-16
43
-17
4
13
5
6
0
0
0
3
0
22
-49
-88
-5
42
61
1
-18
36
69
-47
26
0
0
0
0
4
44
22
-44
-16
34
60
-2
-17
-16
62
0
-77
0
0
0
0
0
0
-44
-45
43
4
58
56
-21
-66
16
41
116
0
0
0
0
-3
6
-25
-165
-55
100
11
30
3
66
39
-2
-5
0
0
0
0
0
-2
-2
-18
-61
-4
91
85
-8
77
1
-14
42
0
0
0
0
0
0
0
0
0
-9
-3
-8
0
10
4
-4
0
0
0
0
0
0
1
4
38
0
9
72
99
-46
44
71
50
-52
0
0
0
0
-3
6
37
0
-60
0
97
121
-26
3
11
-19
5
0
0
0
-2
7
-5
34
52
130
177
12
64
40
-79
21
-19
-76
0
0
0
-1
-1
13
-44
-17
52
129
37
-23
-18
43
93
50
35
0
0
0
0
0
10
-50
-24
43
-6
-31
-62
-11
-18
15
-79
-76
0
0
0
-1
0
0
-10
4
120
-31
38
56
29
-113
-35
17
34
0
0
0
0
0
0
4
-47
-49
-65
125
-15
52
3
-45
-29
-94
0
0
0
0
0
0
0
2
-14
0
-10
58
86
49
76
-59
2
0
0
0
0
0
0
0
0
0
-1
0
-1
66
4
32
-4
1
0
0
0
0
-1
41
40
0
0
0
57
125
-68
-47
-102
-58
-12
0
0
0
0
0
54
72
6
0
-12
107
139
62
-65
-24
-58
-86
0
0
0
0
0
-2
31
70
184
33
85
-17
19
46
25
24
-14
0
0
0
0
0
-4
-39
-42
21
-32
65
44
10
-20
76
-25
14
0
0
0
0
0
5
-6
23
-82
-50
-66
-36
-5
100
98
57
-18
0
0
0
0
0
1
-1
-73
-113
-143
2
-31
-4
-5
68
14
23
0
0
0
0
0
0
-1
-69
-53
-94
49
37
22
-23
4
59
-33
0
0
0
0
0
0
0
-1
-48
-37
-12
100
-24
74
-21
-9
61
0
0
0
0
0
0
0
0
-1
0
-3
5
1
-6
31
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
3
0
0
0
-28
0
0
0
0
0
0
0
0
0
1
-1
-14
-18
26
0
0
-86
0
0
0
0
0
0
0
0
0
0
-13
-24
-27
-53
-8
-69
-135
-8
0
0
0
0
0
0
0
0
0
1
-6
8
-128
5
-77
-33
6
0
0
0
0
0
0
0
0
0
0
2
2
58
53
-17
-13
0
0
0
0
0
0
0
0
0
0
0
1
-12
18
39
4
-22
0
0
0
0
0
0
0
0
0
0
0
0
20
-21
-58
-31
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-35
30
3
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
-15
-2
-4
0
0
0
0
0
0
0
0
0
-4
1
19
-13
0
0
0
-122
0
0
0
0
0
0
0
0
-1
0
5
58
49
-44
0
0
-82
-4
0
0
0
0
0
0
0
0
0
1
3
57
-71
-46
-148
-5
25
0
0
0
0
0
0
0
0
0
-10
6
52
-44
-56
-16
77
29
0
0
0
0
0
0
0
0
0
0
4
-3
77
22
6
5
-18
0
0
0
0
0
0
0
0
0
0
-6
14
-44
-31
-36
-55
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-28
-75
-32
-36
-1
0
0
0
0
0
0
0
0
0
0
2
10
-91
16
-49
2
0
0
0
0
0
0
0
0
0
0
0
0
-52
22
-4
-3
-14
0
0
0
0
0
0
0
0
0
-2
0
1
-2
0
0
0
19
-17
0
0
0
0
0
0
0
0
0
1
5
43
-54
0
0
-81
-44
0
0
0
0
0
0
0
0
-2
0
0
18
29
-84
-94
-110
5
0
0
0
0
0
0
0
0
0
0
-1
-9
78
-24
-29
-77
-50
0
0
0
0
0
0
0
0
0
1
0
0
-32
41
-60
40
-28
0
0
0
0
0
0
0
0
0
0
0
-14
13
-44
-22
75
-14
0
0
0
0
0
0
0
0
0
0
3
19
11
-42
57
-37
-2
0
0
0
0
0
0
0
0
0
0
3
1
-15
-9
-62
-33
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-21
1
-6
-29
2
-5
0
0
0
0
0
0
-1
-32
0
0
0
-12
-15
-39
13
-8
0
0
0
0
0
0
-3
1
-32
-63
-110
-15
-75
-124
-145
-29
-31
0
0
0
0
0
0
4
-3
5
-66
-47
24
-25
49
-21
-28
-10
-1
0
0
0
0
0
0
0
-1
-44
-27
50
-4
-54
-50
-25
-5
0
0
0
0
0
0
0
0
-4
-47
50
-86
0
2
-49
0
-1
2
0
0
0
0
0
-3
0
1
-44
9
30
-49
2
2
0
0
0
0
0
0
0
0
0
-2
2
-55
38
24
-6
0
0
0
0
-4
0
0
0
0
0
0
0
8
6
8
-6
4
0
0
0
0
0
0
0
0
0
0
0
3
-103
0
0
0
50
4
-6
0
0
-2
0
0
0
0
-1
0
1
-115
0
0
0
56
-45
-8
3
2
7
0
0
0
0
0
0
-4
-21
5
-66
98
-41
-42
9
4
5
-2
0
0
0
0
0
0
2
25
-33
-50
9
-45
-36
-39
0
1
2
0
0
0
0
0
-1
8
-3
-135
-35
-53
-6
29
-55
-8
-14
-5
0
0
0
0
0
0
0
-4
1
-31
13
-39
0
0
1
-3
-3
0
0
0
0
0
0
0
-2
18
-82
-40
-13
3
-8
1
-25
2
0
0
0
0
0
0
0
1
52
-110
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
-2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-42
0
0
0
-95
-181
-38
-96
-26
-45
-49
0
0
0
1
-24
2
37
-68
0
0
-30
-33
-90
18
-84
-66
-30
0
0
4
0
-1
8
-12
17
-57
-32
-119
-43
-45
-47
-21
-40
-116
0
0
0
0
0
17
7
50
9
-13
7
-64
-59
-115
-110
-66
-63
0
0
0
0
0
-43
-23
-81
97
-18
37
-113
-181
-63
-58
22
-27
0
0
0
0
-4
-3
13
-54
-92
-20
-50
26
-32
-93
-25
-36
6
0
0
0
-1
0
1
19
-92
50
-87
-11
-32
-59
25
-66
-81
-2
0
0
0
-1
0
0
-31
17
-48
-25
5
17
-47
-75
-149
-39
-5
0
0
0
0
-1
8
0
-5
-9
-33
-52
-3
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
-154
-88
-140
-139
67
-29
-4
0
0
0
0
3
0
-19
-10
-16
-56
-85
-101
-112
-94
-83
-21
-11
0
0
0
0
0
0
-7
-28
5
13
-36
-80
-55
-37
-78
-18
-30
0
0
0
0
2
-1
-1
-9
-71
16
-45
7
-107
-58
-56
-82
-1
0
0
0
0
0
-3
0
-42
58
22
27
-83
-36
5
53
-13
13
0
0
0
0
0
0
-2
-44
11
-7
-30
69
-60
14
21
-16
22
0
0
0
0
0
3
0
0
-94
46
43
-19
0
46
-6
-35
-12
0
0
0
0
0
0
-2
10
-68
-37
-89
30
119
1
-7
4
1
0
0
0
0
0
0
0
-2
4
79
17
-49
-53
-73
-54
18
-3
0
0
0
0
0
-1
-10
22
0
-58
-72
-119
-254
-157
-43
-55
-42
0
0
0
1
3
4
24
7
-40
-45
0
-149
-74
-68
-23
43
-51
0
0
0
0
2
-1
-9
-47
42
28
-48
-72
-62
41
-52
-57
-3
0
0
0
0
4
-7
17
17
2
-52
-20
-36
-78
-27
-63
-71
7
0
0
0
0
0
0
-3
0
-5
-4
-4
-49
-31
-9
-35
-66
-49
0
0
0
0
0
0
5
-27
-19
36
16
-13
57
4
66
6
-36
0
0
0
0
0
-12
0
-10
-30
31
-43
26
-48
33
-9
-17
14
0
0
0
0
-6
0
-2
0
-46
47
19
-22
-92
-10
16
-37
9
0
0
0
0
0
0
0
0
15
-8
-13
-16
-43
-39
-89
-2
0
0
0
0
0
-2
32
15
-105
0
0
-64
-100
-35
-89
-46
-61
-35
0
0
0
0
-20
3
-94
0
-43
0
-103
-175
-39
12
-81
-194
-17
0
0
0
1
-8
-89
-22
-122
-39
30
-71
-68
-76
-5
-72
-95
-50
0
0
0
0
-1
17
-93
-97
-100
-31
-16
-122
-55
-82
-98
-19
27
0
0
0
0
-1
0
12
-7
66
21
-28
-99
-18
-124
-21
-30
-60
0
0
0
0
-5
-1
6
121
-97
15
-55
-27
27
-39
-25
-36
-84
0
0
0
0
8
-2
-17
-24
18
1
13
-76
-46
-22
-41
-91
-92
0
0
0
0
0
1
4
-12
-19
33
-34
22
-65
-42
-50
5
-24
0
0
0
0
0
0
0
0
19
-13
-47
-2
3
0
4
-1
0
0
0
0
0
0
0
7
-3
0
-94
-147
-123
-56
-49
-27
11
-49
0
0
0
0
0
8
5
0
-65
0
-11
-76
25
-122
-100
-55
-43
0
0
0
0
0
3
-101
27
1
-57
-59
-87
-26
-76
-90
-68
-43
0
0
0
0
2
0
-1
-153
-127
21
-24
-76
-45
-121
-24
-41
6
0
0
0
0
0
-1
0
-33
-60
-50
-66
-34
-18
36
-105
-77
40
0
0
0
0
0
0
1
-106
-69
49
6
-1
-10
-44
-34
37
-49
0
0
0
0
0
0
1
-3
-15
-13
102
-38
-34
6
-55
-47
-42
0
0
0
0
0
0
0
-1
0
13
8
23
8
-36
-56
-109
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
3
0
0
0
-22
-57
-91
-219
-119
-166
-71
0
0
0
0
0
0
1
-85
0
-58
25
-28
-67
-59
-89
-59
-73
0
0
0
0
0
0
0
-5
13
16
-138
-85
-100
-27
-45
-34
-154
0
0
0
0
0
0
-3
-24
-67
-3
-73
13
-36
-38
-3
-42
-109
0
0
0
0
0
0
1
-98
-92
-33
26
-69
-26
-77
-32
-31
-35
0
0
0
0
0
0
0
-13
-64
-5
-40
-50
-5
52
-92
-55
7
0
0
0
0
0
0
0
-20
-19
7
23
3
-14
-72
40
-71
-29
0
0
0
0
0
0
0
1
-8
0
0
29
-27
6
14
2
6
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-2
-8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-115
12
-15
-5
48
-3
8
0
-12
0
0
0
0
0
0
0
33
66
55
-22
-63
5
-12
76
-32
-29
0
0
0
0
0
0
0
41
52
68
-28
57
5
2
-60
13
24
0
0
0
0
0
0
0
88
42
15
22
14
-24
0
-20
6
0
0
0
0
0
0
0
0
38
102
-23
-14
3
-8
0
0
0
0
0
0
0
0
0
0
0
-31
69
147
26
46
1
4
0
0
0
0
0
0
0
0
0
0
-22
12
-91
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
93
104
36
29
0
0
0
0
0
0
0
0
0
0
0
0
0
5
49
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
23
24
24
38
13
-40
-25
33
0
4
0
0
0
0
0
0
0
109
83
61
28
-7
-20
11
9
-2
-49
-7
0
0
0
0
0
0
67
40
105
-28
39
-28
-1
166
29
0
0
0
0
0
0
0
0
50
77
-42
-16
-42
49
5
-3
-2
0
0
0
0
0
0
0
0
37
81
-33
32
-16
42
0
1
4
0
0
0
0
0
0
0
0
6
70
67
56
27
-4
1
0
0
0
0
0
0
0
0
0
0
-2
-31
54
58
30
4
0
0
0
0
0
0
0
0
0
0
0
18
45
-6
-59
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
90
47
92
46
-14
74
-21
0
39
2
0
0
0
0
0
0
27
74
87
-45
24
18
-76
-53
31
-11
41
0
0
0
0
0
0
13
83
64
71
-7
65
-41
-12
7
5
4
0
0
0
0
0
0
-13
72
69
11
-146
79
1
0
2
-2
1
0
0
0
0
0
0
3
30
91
76
44
10
2
-9
-2
0
0
0
0
0
0
0
0
6
34
70
-21
20
24
0
0
0
0
0
0
0
0
0
0
0
0
25
11
-23
31
-2
-1
0
0
0
0
0
0
0
0
0
0
0
6
1
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-18
88
-65
-34
-95
-83
-79
0
-50
-7
2
0
0
0
0
0
93
27
-53
20
-55
-58
-65
-88
-24
-2
-21
2
0
0
0
0
0
118
58
68
58
-80
-61
-149
-122
-25
-147
-32
-8
-1
0
0
0
0
23
66
155
3
17
-1
-4
-5
15
-25
18
0
0
0
0
0
0
93
67
81
134
7
60
104
7
55
-6
0
-1
0
0
0
0
0
10
97
51
154
113
-19
76
53
-26
2
-1
0
0
0
0
0
0
21
-9
105
113
58
55
8
92
13
8
0
0
0
0
0
0
0
45
89
54
88
43
41
28
47
14
0
0
0
0
0
0
0
0
2
4
1
0
0
0
7
0
4
0
0
0
0
0
0
0
0
-5
-24
48
-10
-50
-175
-17
-142
0
-42
0
0
0
0
0
0
0
77
-22
-28
39
-8
21
8
-93
-23
26
-7
0
1
0
0
0
0
27
31
12
-56
34
-76
-127
-50
9
34
2
-3
0
0
0
0
0
-109
1
39
50
42
-64
-1
110
-3
77
-3
0
0
0
0
0
0
63
-13
10
16
-43
71
-67
147
20
-12
0
0
0
0
0
0
0
19
3
62
-32
85
110
-46
67
-8
1
0
0
0
0
0
0
0
-6
134
56
70
18
66
30
42
16
0
0
0
0
0
0
0
0
14
56
19
21
-15
1
7
1
2
0
0
0
0
0
0
0
0
20
8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
160
57
-12
0
-75
-81
0
-14
-82
-18
21
0
0
0
0
115
9
70
76
22
25
-48
-62
-56
-39
0
2
74
66
-28
0
0
36
108
47
73
76
-19
-67
-16
-28
-36
27
-52
75
-8
-24
0
0
29
-7
48
197
64
6
17
31
49
7
-21
-51
-30
-48
13
0
0
8
5
114
64
39
125
71
71
98
24
101
-16
23
41
-2
0
0
7
4
64
70
51
79
28
87
109
22
95
-16
6
-20
3
0
0
0
78
117
141
55
3
51
104
69
11
8
2
-4
0
-1
0
0
0
42
-41
-53
26
66
32
19
84
1
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-14
22
60
35
3
2
0
50
22
22
-2
-36
2
-3
0
0
-8
119
101
25
-8
-25
-28
12
0
17
55
-1
-42
-58
0
0
0
31
22
73
42
25
-66
83
-38
-31
65
76
86
56
0
-2
0
0
25
57
-6
16
19
39
76
48
49
31
8
31
-3
0
-2
0
0
4
43
-27
74
-2
49
59
36
16
82
-18
-17
3
4
0
0
0
3
-12
17
-7
-41
21
125
47
-34
3
4
34
9
-4
2
0
0
0
-36
9
66
43
16
65
51
-14
6
13
-7
41
2
0
0
0
3
28
35
-35
-84
57
26
86
27
-42
95
17
-5
16
0
-6
0
0
0
-14
64
26
20
83
-23
-72
-23
84
29
-66
-2
-3
0
0
0
21
22
23
-17
24
-4
0
9
20
-6
1
-8
1
0
0
0
0
71
119
-3
16
-1
16
25
10
9
13
-56
106
4
0
0
0
0
34
15
49
-10
-4
-3
-44
-33
-55
71
-2
0
0
0
0
0
0
-13
-2
14
12
-9
13
13
-15
43
-12
63
-21
5
0
0
0
0
63
45
24
12
26
40
69
-4
41
23
-15
-2
25
0
0
0
0
24
80
42
59
-40
54
40
15
-50
-25
-92
-10
8
-4
0
0
0
47
33
73
12
40
49
6
44
42
49
108
-54
5
0
0
0
0
6
-47
-23
81
-30
49
-2
4
-11
-79
40
-1
0
0
0
0
0
-1
-7
5
-53
72
-7
64
28
-1
0
0
0
0
0
0
-2
126
58
40
-10
-6
-17
-35
0
-85
5
30
-7
2
0
0
0
124
95
64
45
18
7
-10
-43
-31
-49
7
47
-35
-23
-4
0
0
82
1
101
51
1
30
-22
-24
-20
-4
6
82
61
-21
-17
0
0
22
21
54
18
33
47
36
18
14
-8
-14
44
80
35
0
0
0
53
10
116
-10
80
110
122
41
48
109
-48
53
50
70
-5
0
0
49
66
63
101
91
49
95
149
174
78
117
127
12
5
0
0
0
50
44
83
85
-11
22
101
62
119
-62
8
-17
-10
0
0
0
0
-2
13
-48
-19
67
44
23
60
61
14
-10
-2
0
0
0
0
0
0
-3
-2
15
9
14
32
-4
-1
-1
0
0
8
0
0
0
0
2
0
-8
-53
-25
-20
43
-6
0
-5
102
-5
-8
-1
0
0
0
103
45
24
-71
4
-7
-58
-69
-37
-74
-41
14
61
2
0
0
0
150
5
14
-16
42
-80
-33
-36
10
44
-20
-78
-2
-2
0
0
0
60
-75
7
-44
52
-17
-56
65
34
59
40
77
-2
0
0
0
0
89
-19
82
115
3
83
24
96
-2
-47
-73
2
0
0
0
0
0
33
81
-2
94
76
33
103
94
-24
59
-4
-32
-12
0
0
0
0
-5
18
-2
18
53
22
57
149
133
82
3
6
0
0
0
0
0
0
-23
-48
31
66
-38
3
100
-75
-41
-24
-1
0
0
0
0
0
0
0
7
-2
-13
0
43
15
-5
-3
0
0
0
0
0
0
0
17
86
-13
83
-1
43
1
-61
0
-49
10
-15
1
0
0
0
0
-27
-40
-41
-50
-6
35
-41
-45
46
89
20
15
4
-1
0
0
0
-20
-76
-4
3
40
30
-15
-28
-9
8
14
13
1
0
0
0
0
-54
64
9
56
97
75
-42
21
112
69
73
-1
0
0
0
0
0
17
-123
-58
7
128
46
-92
-59
144
-43
13
47
-2
2
0
0
0
-33
-31
-23
4
-14
95
28
32
48
40
-13
0
0
0
0
0
0
-1
8
14
7
84
78
56
-28
-5
-1
-43
13
0
0
0
0
0
-3
-17
16
-7
24
172
95
42
-44
24
74
0
1
0
0
0
0
0
-3
0
1
-3
64
85
91
37
35
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
7
-93
-54
20
-22
-49
0
0
13
0
0
0
0
0
0
0
-78
31
-10
31
-81
77
-76
-38
-37
17
0
0
0
0
0
0
0
-1
-37
-43
-42
-3
54
46
61
-45
-5
0
0
0
0
0
0
0
44
-2
59
-25
29
-3
0
-4
3
0
0
0
0
0
0
0
0
78
-43
-36
75
-29
7
-8
8
2
0
0
0
0
0
0
0
0
-23
-53
-36
-127
63
3
-7
0
0
0
0
0
0
0
0
0
0
7
-46
59
53
76
-3
0
0
0
0
0
0
0
0
0
0
0
-30
-42
0
-99
23
4
0
0
0
0
0
0
0
0
0
0
0
8
-8
-24
5
9
0
0
0
0
0
0
0
0
0
0
0
0
-31
-46
30
-13
22
5
-4
11
0
-69
1
0
0
0
0
0
0
78
48
-40
-75
-12
-42
14
-92
-17
66
10
0
0
0
0
0
0
38
-15
17
70
-50
-54
30
7
16
-59
2
0
0
0
0
0
0
10
-8
-29
-16
-94
88
21
-20
13
32
-2
0
0
0
0
0
0
-13
69
-7
-94
93
30
42
0
3
20
10
0
0
0
0
0
0
1
71
10
-82
3
-61
-5
0
-4
-4
0
0
0
0
0
0
0
-10
-31
68
-17
-21
-23
-3
0
0
0
0
0
0
0
0
0
0
-37
58
-79
53
-32
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-49
-57
-14
-109
-52
-69
-100
0
13
0
0
0
0
0
0
0
-7
51
18
-88
-5
-111
-5
49
-85
-38
-22
0
0
0
0
0
0
-80
110
49
-1
-2
18
-62
-25
13
-31
-4
0
0
0
0
0
0
-34
-15
-45
-22
-13
0
5
-4
-8
5
-1
0
0
0
0
0
0
-31
9
-17
34
55
71
2
20
0
1
3
0
0
0
0
0
0
-3
1
12
93
-29
-32
8
-5
6
0
2
0
0
0
0
0
0
-4
-30
103
37
2
-8
-2
0
1
0
0
0
0
0
0
0
0
0
14
-4
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
11
-65
-74
-72
-70
-164
-162
0
-68
4
-3
0
0
0
0
0
25
-51
19
-70
-44
-105
-57
-173
-73
-195
-84
2
-3
0
0
0
0
-138
-13
7
52
-75
-117
-112
-52
4
-9
-33
-5
0
0
0
0
0
19
-18
-47
27
-45
-186
-28
-107
-69
-52
-2
0
0
0
0
0
0
5
74
38
94
24
-28
11
1
-128
-19
0
-8
0
0
0
0
0
19
33
100
16
58
-13
-20
-145
13
3
0
1
0
0
0
0
0
-16
-22
45
14
-48
-18
-34
-8
-5
-4
-1
0
0
0
0
0
0
-6
-59
7
29
-15
13
-5
-9
-26
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-9
-73
-41
15
-24
6
-74
-95
0
-8
-2
0
0
0
0
0
0
23
-47
-25
49
-33
-117
-28
-196
-98
-104
0
0
-1
0
0
0
0
1
-94
-56
-46
-41
-98
6
-46
5
-14
0
0
0
0
0
0
0
5
-22
-9
-30
-27
10
-8
-31
84
-4
0
0
0
0
0
0
0
17
-42
44
-41
-25
-4
-42
-25
0
5
0
0
0
0
0
0
0
-23
9
-35
-95
-16
4
-8
-1
-1
2
0
0
0
0
0
0
0
-4
-28
-52
42
13
4
1
0
0
0
0
0
0
0
0
0
0
-10
28
23
14
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-87
53
-53
3
-58
-172
-153
0
-57
-48
64
-46
32
0
0
0
-64
52
119
-8
-14
-3
-117
-158
-104
-79
15
-1
47
-50
67
0
0
-83
91
63
38
22
-42
-115
-69
-73
-88
-70
14
103
46
-14
1
0
-35
99
-2
8
9
16
8
21
31
48
-7
65
15
-7
31
0
0
63
-6
3
79
80
43
6
85
96
35
9
75
-19
30
0
0
0
85
-11
54
-7
29
13
99
34
30
114
-10
-9
-7
20
4
0
0
-5
-6
-22
43
28
90
95
60
66
58
-8
34
1
0
-2
0
0
4
-68
15
69
30
30
39
60
12
7
-7
2
0
0
0
0
0
0
0
0
0
2
0
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
42
-10
-55
-68
-75
-117
0
32
-68
-53
20
-13
-11
-5
0
0
47
-13
-79
-136
-27
5
-134
-49
-22
52
12
-14
24
17
-5
0
0
-43
42
-154
-65
26
-67
-75
-25
-36
34
-45
-31
4
3
3
0
0
-10
43
53
-47
-41
-53
-53
17
20
-23
28
-60
12
-1
-2
0
0
22
84
-46
-71
-83
66
28
10
57
4
-42
8
32
4
-1
0
0
-37
46
-114
-22
-76
-40
-38
-14
-42
-17
15
-18
-9
2
4
0
0
0
93
-85
-107
-91
38
-75
14
-15
-5
-51
49
58
1
-4
0
0
-29
-32
18
-19
-46
27
9
-51
-15
-25
-12
-1
-6
-47
0
1
0
-4
3
-8
-73
-83
12
80
-64
45
-22
11
13
63
-7
-10
0
0
0
21
11
-35
-4
-21
-44
0
-21
11
-19
-51
27
4
0
0
0
0
49
13
-39
-26
-37
-60
-17
-36
-10
-64
18
77
-40
-6
0
0
0
7
20
-22
-35
-41
-36
-57
8
11
-4
-13
-45
-18
0
0
0
0
32
5
-17
-45
-33
4
23
-2
-15
-6
-77
-1
3
0
0
0
0
-15
-81
-57
-63
-37
-28
18
-29
0
-62
9
19
-1
0
0
0
0
13
4
-16
-67
-33
-17
-24
30
-72
-41
58
-12
-8
0
0
0
0
-15
-34
-34
-68
-31
-39
40
-3
4
-165
-9
-18
-1
0
0
0
0
-2
105
-28
-37
-76
40
-35
-38
-26
52
13
-15
0
0
0
0
0
6
16
-33
-6
-5
44
8
-6
-1
1
0
0
0
0
0
25
32
94
46
49
-83
-87
-139
0
-71
-14
-57
-38
33
0
0
0
14
10
80
-13
-27
-29
-90
-136
-78
-56
-45
-39
-1
65
86
0
0
57
53
116
75
18
11
-71
-91
-37
-19
-41
40
-94
43
-10
0
0
67
38
39
84
-38
-8
-10
-6
14
-27
5
22
66
55
2
-2
0
19
62
66
76
-40
11
56
55
50
40
-71
-8
-41
6
-2
0
0
75
68
84
-10
119
70
38
21
62
8
-51
29
-8
-17
1
0
0
-51
92
8
102
-14
30
51
36
78
42
-33
-6
-8
-5
0
0
0
3
28
45
-31
14
-85
1
-36
-17
57
-1
0
-1
0
0
0
0
0
-5
1
-43
8
15
-39
4
-1
-6
0
0
0
0
0
0
0
-11
-64
-27
-119
-148
-105
-59
-190
0
-77
51
-23
2
0
0
0
0
18
-56
-29
-11
-40
-146
-78
-173
-113
-65
-12
-76
-88
0
-1
0
0
66
-62
26
12
-68
-81
-91
-93
-20
-120
-49
25
0
-1
0
0
0
3
-72
66
14
-98
-19
-101
12
-79
-91
-41
-50
1
0
0
0
0
-58
-95
50
-35
-42
-121
-24
28
-40
-92
-90
-18
-1
0
0
0
0
24
-18
-6
-14
-49
-26
-23
10
-13
-37
-18
16
0
0
0
0
0
-2
33
67
-20
-93
21
-47
-39
67
84
-4
-4
0
0
0
0
0
0
-17
27
-31
-51
-16
0
13
-16
33
18
0
0
0
0
0
0
0
-1
14
0
16
-8
26
49
0
-1
1
0
0
0
0
0
0
-22
-46
-30
-7
-139
-140
-102
-111
0
-74
21
-41
0
0
0
0
0
-5
-116
-44
-58
-87
-80
-87
-82
-43
43
43
-61
0
0
0
0
0
-28
-58
-33
-102
-236
8
-53
-139
13
-32
-56
-30
0
1
0
0
0
-49
-117
45
-64
-57
-49
-122
-45
49
-67
-8
-4
0
0
0
0
0
-6
-157
-40
-48
18
-5
-68
-150
-20
-61
-84
-35
3
0
0
0
0
1
-76
-41
47
29
-3
-53
-43
19
-28
21
2
1
0
0
0
0
-3
-79
-46
-48
-58
-52
-20
0
-73
-30
-25
3
0
0
0
0
0
0
8
-1
31
48
31
89
20
74
-41
13
-3
-2
0
0
0
0
0
0
-3
0
7
-5
20
-55
177
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
26
-78
-102
-17
4
0
0
0
0
0
0
0
0
0
0
47
34
73
-21
-47
-97
67
0
0
0
0
0
0
0
0
0
0
93
71
82
4
-20
-21
4
0
-1
0
0
0
0
0
0
0
0
84
74
0
42
31
0
0
1
1
0
0
0
0
0
0
0
0
-52
49
24
58
70
-2
0
0
3
0
0
0
0
0
0
0
0
20
8
45
11
-13
-8
1
0
0
0
0
0
0
0
0
0
0
-26
35
102
115
43
-1
0
0
0
0
0
0
0
0
0
0
0
2
-32
-52
63
-2
2
0
0
0
0
0
0
0
0
0
0
0
76
46
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
73
5
86
26
32
8
0
0
0
0
0
0
0
0
0
0
87
32
49
19
-8
26
-16
0
0
0
0
0
0
0
0
0
0
61
-48
23
-10
10
23
-1
2
0
1
0
0
0
0
0
0
0
100
24
4
36
-43
25
16
-1
0
0
-1
0
0
0
0
0
0
14
55
99
-30
-16
-42
5
-1
-1
0
0
0
0
0
0
0
0
46
52
31
-9
101
2
-5
1
0
0
0
0
0
0
0
0
0
42
56
125
-13
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
68
0
4
-41
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-31
-14
14
0
0
0
0
0
0
0
0
0
0
0
0
19
15
34
0
-31
-54
-12
0
0
0
0
0
0
0
0
0
0
59
21
44
94
-38
-5
-12
0
0
0
1
0
0
0
0
0
0
59
92
-37
80
24
-37
-6
2
-2
-3
2
0
0
0
0
0
0
45
43
-22
-19
4
35
8
0
0
2
0
0
0
0
0
0
0
3
27
45
-88
15
-28
2
0
0
0
0
0
0
0
0
0
0
2
41
48
9
-48
1
1
0
0
0
0
0
0
0
0
0
0
31
88
9
133
30
5
0
0
0
0
0
0
0
0
0
0
0
0
33
5
86
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
94
27
57
-43
-132
-74
0
0
0
12
1
0
0
0
0
0
7
-7
13
65
-50
-22
77
0
0
0
46
1
0
0
0
0
0
65
-53
135
-47
-49
-14
22
-4
95
87
-49
4
5
0
0
0
0
40
15
88
43
37
-51
34
13
-21
-16
-24
0
0
0
0
0
0
-23
1
107
84
50
62
0
26
-10
-52
-6
3
0
0
0
0
0
26
24
48
144
-54
-31
109
92
207
-34
-7
0
0
0
0
0
0
77
18
27
98
-22
149
32
191
71
-25
0
0
0
0
0
0
0
6
10
145
25
-66
-95
4
17
37
1
-1
0
0
0
0
0
0
30
17
9
42
14
8
0
0
-3
0
0
0
0
0
0
0
0
50
-32
-42
72
-76
-96
20
0
0
0
-3
9
0
0
0
0
0
91
40
75
48
-78
-12
-64
0
0
0
16
0
0
0
0
0
0
-45
30
-21
-43
-81
-8
-71
-70
26
77
6
0
0
0
0
0
0
22
12
-13
-27
82
72
-35
-29
-41
40
18
-1
0
0
0
0
0
13
-9
-59
155
75
150
47
105
21
73
12
4
0
0
0
0
0
-37
-8
-3
21
102
82
-4
39
33
21
-4
-2
0
0
0
0
0
-66
-41
47
86
173
122
70
33
-70
68
-2
1
0
0
0
0
0
32
48
-3
72
50
45
22
-93
-20
16
0
0
0
0
0
0
0
69
96
-3
25
-2
1
-6
-7
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-100
-15
-34
-77
-105
0
0
0
1
-50
10
-30
-8
1
0
43
103
136
30
68
-76
-25
0
0
0
26
-72
-31
18
7
-1
0
136
59
68
95
59
-12
-55
1
-24
60
-51
-84
-31
122
-17
1
0
68
75
227
-25
45
64
-25
-39
-47
-29
-73
-23
45
0
-19
0
0
9
-37
121
104
72
83
69
27
4
49
77
-22
-7
-6
7
-6
0
54
85
53
114
-17
54
53
45
72
8
63
-29
14
6
0
0
0
-6
32
91
21
69
31
50
51
30
-67
-40
0
3
-2
2
0
0
8
-8
58
-44
21
-44
21
68
11
-44
13
-3
0
1
-14
0
0
0
3
-5
-5
-8
0
-1
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
53
-55
-69
24
0
0
0
41
-36
-3
-43
-13
-92
51
0
-20
-13
-3
-26
-33
-60
0
0
0
58
26
49
-109
-91
29
40
0
-1
-75
33
36
-1
-35
-10
-12
4
1
3
43
-18
-10
6
21
0
-13
-41
32
3
37
-31
6
59
54
0
10
21
-100
-49
-16
5
0
-9
-81
18
50
-49
9
128
-1
-13
-36
-1
63
5
-37
-56
0
0
3
-25
133
71
65
46
1
26
6
20
59
5
45
-25
6
0
0
0
8
52
48
32
150
55
-24
37
17
-5
-31
94
-7
-62
-10
0
-1
-12
-25
72
-7
74
81
52
18
16
29
-111
-32
26
-10
-9
0
0
13
21
49
15
9
78
18
29
50
39
15
-79
-101
-20
-67
0
0
8
74
5
-55
70
0
0
0
-9
6
-31
-78
-7
-35
1
0
0
-55
41
-23
31
5
0
0
0
11
-86
-16
-16
-6
45
-19
0
0
-109
-76
67
27
-63
-3
-18
7
-50
26
43
-35
22
-14
0
0
0
7
13
2
-11
-10
-65
-4
7
-49
-9
-6
-2
6
-16
0
0
0
-48
66
-1
-2
95
-27
26
-9
-29
62
15
-30
-57
49
-4
0
0
68
13
-1
-28
-35
8
15
-8
13
39
-48
-12
31
-28
-32
0
0
-43
103
69
-64
-16
37
73
52
7
-86
-5
-57
12
-40
19
0
0
-1
-19
-17
7
-32
-2
67
40
14
65
23
54
0
76
5
0
0
13
42
-31
29
53
-23
-1
-23
-2
0
0
4
0
0
0
-141
45
53
2
-21
-86
-9
0
0
0
-16
39
-10
-42
-1
0
0
13
8
102
65
-4
-146
-31
0
0
0
-1
12
-20
30
-3
-1
0
-18
97
74
108
2
23
10
-108
56
-95
55
17
-9
-3
2
0
0
47
24
84
51
92
0
60
-74
-14
-77
14
20
-89
-51
-5
0
0
-72
73
43
-50
34
85
2
5
40
13
100
-31
-5
-43
13
-2
0
-91
111
51
16
88
26
120
84
33
92
34
-1
-4
5
7
0
0
-40
95
47
4
64
-2
68
121
84
44
2
-8
0
0
-2
-1
-1
83
64
78
28
-42
96
6
94
53
-17
2
-3
0
1
17
0
0
0
-7
1
-19
64
2
4
4
-2
-1
3
-2
0
0
0
0
0
-28
96
4
2
-4
-41
-41
0
0
0
-18
19
0
0
0
0
0
103
93
29
-15
29
-114
-15
0
0
0
-10
-123
-3
0
0
0
0
134
104
157
62
-23
-13
-74
71
10
58
-55
46
0
0
0
0
0
-21
18
93
101
10
-41
-41
47
-48
-45
21
-27
-1
0
0
0
0
-12
-40
-49
65
-46
32
-19
70
27
-127
-17
2
7
-1
0
0
0
59
-27
120
91
118
-22
23
20
-7
-71
-29
22
-3
0
0
0
0
92
20
10
54
53
69
51
21
-69
-40
22
0
0
0
0
0
0
-17
26
22
49
71
35
77
79
-20
-20
-5
0
0
0
0
0
0
1
-1
-1
-4
41
-1
70
42
-3
3
0
0
0
0
0
0
0
-22
63
-53
-25
33
-51
45
0
0
0
163
-7
-3
0
2
0
0
-58
-9
-78
-4
-41
-28
27
0
0
0
68
-16
-114
-8
0
0
0
82
14
-1
61
35
-66
-7
28
57
107
16
-52
22
6
-1
0
0
-44
19
0
45
-50
-14
-29
-93
-6
-13
24
39
3
4
0
-3
0
66
-77
23
48
89
17
-23
-71
-29
47
61
-11
7
-3
-2
0
0
76
-38
-44
51
66
119
46
31
16
34
-13
-19
-4
1
0
0
0
-29
-10
-15
19
17
114
109
25
24
21
-37
-19
3
-7
0
2
0
1
42
-8
71
34
137
100
24
-24
38
-72
1
1
1
0
0
0
9
-13
0
1
4
7
13
19
114
-13
-7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
18
-29
-50
-30
-4
-1
0
0
0
0
0
0
0
0
0
0
23
-73
43
-83
-49
-44
-34
0
0
0
0
0
0
0
0
0
0
13
-55
-23
-39
59
7
1
0
0
0
0
0
0
0
0
0
0
7
-49
-49
-75
-28
-16
0
0
1
0
0
0
0
0
0
0
0
-16
-22
4
-28
-4
6
1
0
0
0
0
0
0
0
0
0
0
55
60
-31
-67
14
4
0
0
0
0
0
0
0
0
0
0
0
9
-53
50
13
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
43
-78
-16
-3
1
0
0
0
0
0
0
0
0
0
0
0
-42
-4
23
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
61
42
9
-23
41
-13
0
0
0
0
0
0
0
0
0
0
0
-48
29
-88
-50
-107
-10
-7
0
0
0
0
0
0
0
0
0
0
51
-17
-34
-79
-79
-20
9
1
-1
0
0
0
0
0
0
0
0
5
-5
-97
-13
63
14
-10
0
-2
-1
0
0
0
0
0
0
0
35
35
-53
-95
14
-42
-2
0
-4
0
0
0
0
0
0
0
0
50
-59
-65
-51
-36
-23
3
0
0
0
0
0
0
0
0
0
0
0
14
-12
-71
-60
-7
0
1
0
0
0
0
0
0
0
0
0
0
-79
64
-66
-13
0
6
0
0
0
0
0
0
0
0
0
0
-3
7
57
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
-10
18
5
3
-78
-122
0
0
0
0
0
0
0
0
0
0
0
99
-2
-55
11
-59
-76
-18
0
0
0
0
0
0
0
0
0
0
-31
38
67
-38
-31
-80
-2
0
1
0
4
0
0
0
0
0
0
3
24
-45
-36
-17
-3
3
0
-1
0
0
0
0
0
0
0
0
-13
16
39
-137
-61
3
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-112
-13
36
2
0
0
0
0
0
0
0
0
0
0
0
-1
54
-74
62
-19
2
0
0
0
0
0
0
0
0
0
0
0
-10
-4
-47
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-3
-15
-204
25
-80
0
0
0
0
-2
0
0
0
0
0
0
20
65
54
-107
-55
-128
0
0
0
0
0
0
0
0
0
0
32
-13
31
-32
-20
-38
-132
-140
-95
-4
0
0
0
0
0
0
0
26
24
-35
-32
-73
-103
-38
-18
-6
-1
0
0
0
0
0
0
0
-20
-48
33
-57
-42
-18
-18
-20
0
-2
6
0
0
0
0
0
0
2
-15
-27
-7
-25
50
-5
0
2
-1
0
0
0
0
0
0
0
-2
-55
81
-45
-5
5
-7
7
-1
-2
0
0
0
0
0
0
0
0
-31
-75
3
-6
4
1
0
0
0
0
0
0
0
0
0
0
0
24
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-15
-32
-59
-41
-16
-31
0
0
0
0
0
0
0
0
0
0
-46
-32
-5
-23
-10
-57
-37
0
0
0
3
0
0
0
0
0
0
-10
-39
50
-57
-7
-66
-16
-25
-2
-9
0
0
0
0
0
0
0
11
-29
-21
45
-46
-31
-29
-76
7
-15
0
0
0
0
0
0
0
-50
5
55
37
-41
5
52
8
-42
3
0
0
0
0
0
0
0
-44
-1
24
33
-43
23
0
-44
-1
-4
0
0
0
0
0
0
0
3
-4
-39
-25
-13
5
1
0
0
0
0
0
0
0
0
0
0
1
48
-41
-10
2
-1
0
0
-3
2
0
0
0
0
0
0
0
-1
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
37
-34
-5
-77
-191
-202
0
0
0
-120
-63
3
-2
0
-1
0
41
-19
33
-15
-14
-73
-209
0
0
0
-110
-83
-71
9
-68
-5
0
56
-21
205
27
-75
-172
-189
-149
-132
-130
-49
-53
-79
-28
2
0
0
49
84
74
45
-23
-38
-70
-115
-85
-90
-61
-47
12
-52
-2
0
0
-8
-37
-41
-46
26
-45
72
1
6
11
-12
5
-31
0
0
3
0
-71
-25
-72
-81
23
-21
8
-15
11
66
-8
41
-6
1
0
-3
0
-1
33
57
-58
10
-30
-45
-14
7
-2
47
-3
0
-1
0
0
0
-22
42
14
17
-35
-2
-14
-49
-19
9
-2
0
-7
0
0
0
0
-2
-2
2
18
3
0
0
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
21
-32
-130
-212
-51
0
0
0
25
23
61
-11
14
-22
-60
0
14
-48
-110
-102
-141
-189
0
0
0
18
-13
-8
-57
35
45
-69
0
-25
-7
-12
-73
-110
-58
17
-66
-71
-13
-26
-59
-65
-75
34
-5
0
-32
-40
-22
-5
-147
-44
-85
-34
-30
-49
-15
-4
-29
9
-44
-12
0
-22
-6
-48
-84
-39
-49
-16
-12
-29
-9
-46
-39
-11
-22
61
2
0
-2
-22
-48
-20
-3
-55
4
-14
-34
-25
-7
14
-48
1
-28
-5
0
0
-64
-88
32
-24
-80
-8
-19
-15
6
-8
75
-39
-100
19
-26
0
0
-25
-37
73
-48
64
42
57
14
9
18
-29
-8
21
-15
3
0
0
-20
-27
19
12
66
-9
30
25
4
-4
35
-54
-42
-20
15
0
0
-67
-37
-74
-127
-127
0
0
0
-23
-29
12
15
-42
-3
0
0
0
-63
-20
-40
-50
-128
0
0
0
-20
-30
-46
-30
12
23
-67
0
0
-30
-57
50
-80
-58
-106
-52
2
52
13
-50
46
-74
5
-8
0
0
-105
58
-84
0
-151
-74
-16
-38
-46
-14
39
6
1
-4
0
0
0
4
-13
-66
-27
-29
-18
28
-19
45
-26
-123
-44
15
-16
-16
0
0
4
-32
-18
-50
-52
-33
-18
6
-43
49
-3
19
24
-51
10
0
0
-1
-25
-39
16
49
-7
-12
8
-23
16
18
-55
-22
0
-62
0
0
-10
-48
46
-105
-29
-38
37
-37
37
-8
41
-57
34
-16
-16
0
0
-5
-59
9
-17
-105
17
9
-2
1
-1
0
-1
0
0
0
49
-93
-19
-59
-47
-128
-162
0
0
0
-154
-14
-47
14
0
0
0
11
66
21
4
-86
-175
-235
0
0
0
-188
-48
-45
5
16
-4
0
-48
5
-31
-7
-72
1
-87
-139
-166
-191
-84
-57
-26
-62
-5
0
0
-63
-47
-56
-53
-102
-9
-28
-23
-39
-84
-47
-77
-63
12
-22
0
0
-48
-120
40
-15
-33
13
4
4
-6
-84
-93
-8
-62
-12
-13
0
0
0
88
13
81
-53
-7
120
78
34
11
-60
0
0
0
0
0
0
15
-2
-41
108
-31
-10
-64
55
70
-77
6
-43
-16
0
0
-2
0
-8
-89
-55
23
-65
-35
-16
-47
-26
-6
4
-4
-1
-5
1
0
0
0
-2
-8
25
-5
0
-2
0
0
2
0
0
0
0
0
0
0
45
-45
-33
22
-82
-89
-173
0
0
0
-12
-35
-1
0
0
0
0
-91
-152
-6
-1
-131
-55
-271
0
0
0
-48
0
3
-1
0
0
0
60
13
41
-91
-61
-57
-166
-32
-122
-85
-58
1
-4
-1
-1
0
0
-14
-18
-86
-2
-62
-14
-101
-75
19
-52
-93
2
0
0
0
0
0
-16
-58
-4
22
-97
-74
40
-30
-21
-81
-8
-14
0
0
0
0
0
-17
-13
-23
-80
-40
-3
-5
53
-21
-40
-12
2
0
0
0
0
0
-1
-1
3
43
21
16
40
-30
-41
-7
1
1
0
0
0
0
0
0
7
23
24
3
0
-69
-58
-5
7
-1
-2
0
0
0
0
0
0
0
0
-1
7
0
3
-2
2
-8
0
0
0
0
0
0
0
-4
20
-12
8
8
-83
-65
0
0
0
48
-33
2
3
0
0
0
7
-14
-59
-120
-81
-54
-126
0
0
0
-3
-61
-9
1
0
0
0
4
-133
-13
-25
-56
8
-173
-190
-163
-141
-139
-21
-20
2
3
0
0
3
-79
-22
-57
-41
-78
2
-15
-56
-77
4
12
5
-3
0
0
0
2
31
7
8
-26
-6
-103
-137
-96
-34
10
-42
7
0
0
0
0
4
-13
-7
-19
-132
22
17
-65
-104
11
-131
-7
-6
0
0
0
0
0
-9
-1
-13
-32
29
40
46
-67
-121
-42
7
0
0
0
0
0
0
-3
4
-4
41
34
-9
-14
80
-19
12
0
1
0
0
0
0
0
0
0
0
-1
0
-1
4
2
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
17
0
0
0
51
0
0
0
0
0
0
0
0
0
5
-5
46
31
68
0
0
128
1
0
0
0
0
0
0
0
0
-7
1
8
1
-13
-19
88
-2
0
0
0
0
0
0
0
0
0
0
0
49
20
-24
87
74
46
1
0
0
0
0
0
0
0
0
0
0
-1
-16
22
22
-20
-22
0
0
0
0
0
0
0
0
0
4
-3
4
-10
-41
53
25
-1
0
0
0
0
0
0
0
0
0
0
1
5
-20
-21
19
35
-23
0
0
0
0
0
0
0
0
0
0
0
1
-1
5
8
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-22
2
0
0
0
0
0
0
0
0
1
1
0
70
60
0
0
0
-12
0
0
0
0
0
0
0
0
-1
1
29
19
62
77
0
0
133
5
0
0
0
0
0
0
0
1
3
15
-7
130
19
-19
38
-36
-1
0
0
0
0
0
0
0
0
12
16
56
38
36
93
21
-14
-8
0
0
0
0
0
0
0
-4
-3
0
39
0
-24
-22
-6
-13
-2
0
0
0
0
0
0
0
-3
0
1
-6
-32
7
83
-10
26
-2
0
0
0
0
0
0
0
0
0
-2
-2
-75
10
-6
40
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-11
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
44
0
0
0
40
-75
0
0
0
0
0
0
0
0
0
8
-13
9
64
0
0
41
0
0
0
0
0
0
0
0
0
0
0
4
74
48
30
-50
35
4
0
0
0
0
0
0
0
0
0
-2
15
22
35
87
50
41
-8
-1
0
0
0
0
0
0
0
2
4
4
3
34
3
66
32
-76
2
0
0
0
0
0
0
0
3
5
-1
5
7
45
106
-63
-3
-4
0
0
0
0
0
0
0
-3
3
4
-14
42
-59
65
4
9
0
0
0
0
0
0
0
0
0
0
0
-3
73
58
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
71
0
0
0
109
74
3
14
-24
-10
0
0
0
0
3
5
39
67
0
0
0
113
-17
18
5
-84
66
-12
0
0
0
1
-3
-21
24
12
-26
102
111
66
36
-10
-31
-31
31
0
0
0
6
-7
21
-5
31
73
37
-40
42
-24
-59
-9
61
1
0
0
-8
-3
-6
13
120
66
72
159
27
92
-14
9
-58
31
0
0
0
0
-2
-3
-12
-32
7
92
51
66
30
42
-73
7
41
0
0
0
0
0
2
-7
-10
41
-66
15
2
-70
16
-9
-8
-10
0
0
0
0
0
0
-4
-18
-4
5
-25
19
-41
-1
23
-37
0
0
0
0
0
0
0
0
0
-1
8
3
-1
0
2
13
-23
34
0
0
0
0
0
6
31
34
0
0
0
119
61
46
8
-31
14
0
0
0
5
1
3
43
25
0
0
0
129
61
-60
39
25
49
1
0
0
0
-2
3
49
-42
22
-63
52
-56
94
17
-79
20
-58
-4
0
0
-4
0
-1
18
10
15
-10
-63
-19
-13
-58
23
-43
66
4
0
0
0
-1
0
-3
21
30
31
-37
-7
30
66
-42
52
-8
-4
0
0
0
1
0
0
24
-47
-52
-49
-55
-25
-5
67
-68
17
0
0
0
0
0
-1
0
10
40
-42
-20
0
-43
-42
30
6
3
0
0
0
0
0
0
-2
3
54
-43
8
16
-3
-6
-10
0
0
0
0
0
0
0
0
0
4
0
30
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
22
92
0
0
0
20
4
-4
28
-21
-39
-39
0
0
1
0
72
86
72
32
0
0
86
88
69
23
-31
-15
-6
0
1
-1
2
10
110
66
112
111
51
65
70
13
23
-7
-23
-18
0
0
-2
-7
-1
10
37
92
15
16
74
77
58
16
12
-5
11
0
0
0
6
-42
31
17
62
4
101
118
116
51
41
-7
18
-107
0
0
0
0
-6
2
14
31
33
61
81
83
44
36
-25
-14
-1
0
0
0
-14
-6
-31
-40
136
-31
76
-35
85
41
54
-37
-22
9
0
0
0
3
10
-13
5
64
-50
77
82
-49
6
8
58
32
3
0
0
0
0
0
0
0
2
1
-1
1
-6
1
-4
34
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
0
0
70
19
-30
58
46
21
22
0
0
0
0
13
-1
-1
-45
70
74
118
42
48
-12
-44
28
-4
0
0
0
0
0
-2
5
90
19
29
128
72
-48
36
7
5
31
0
0
0
0
0
-9
-18
-26
-20
17
4
101
15
25
7
29
20
0
0
0
0
-8
3
-13
39
27
13
-89
10
143
-6
62
-4
10
0
0
0
7
0
-3
19
-16
-22
76
56
73
35
-16
-7
-2
36
0
0
0
-2
0
-2
45
69
11
-32
49
31
60
108
42
128
61
0
0
0
0
0
0
-33
-17
-35
-25
-23
55
5
60
11
29
-5
0
0
0
0
0
0
0
4
49
-20
-39
87
-3
105
-20
4
13
0
0
0
0
1
-59
13
-6
0
51
-4
-21
25
-4
8
12
27
0
0
0
-1
-5
68
26
-70
-26
33
0
30
37
11
-16
-13
-31
0
0
0
0
-3
-6
-27
37
63
57
19
17
-20
70
-36
-30
-27
0
0
0
0
-20
-4
56
20
65
87
-32
-22
43
27
71
41
44
0
0
0
0
13
-15
11
36
36
80
41
44
-21
20
-1
118
21
0
0
0
3
18
14
0
-44
87
67
95
13
71
76
84
20
-10
0
0
0
0
0
-9
-32
75
-15
-19
19
74
19
-47
17
1
50
0
0
0
0
13
0
31
12
-5
39
-26
-35
21
-1
-99
35
27
0
0
0
0
0
2
-6
4
-18
0
41
-18
88
13
4
-8
0
0
0
0
-8
19
94
17
70
0
0
59
28
18
1
4
5
25
0
0
0
5
12
36
-1
0
35
0
39
59
50
6
28
-8
-16
0
0
3
-2
-19
65
81
55
77
46
8
88
-11
-18
13
19
-21
0
0
5
1
14
24
26
40
88
110
51
70
47
56
20
-6
-55
0
0
0
-4
-12
-41
-7
64
117
45
15
92
64
95
14
68
-10
0
0
0
4
-12
-1
118
-36
-49
9
11
-11
-32
-19
87
-17
69
0
0
0
0
11
-16
7
-10
17
52
23
90
53
-103
-15
32
-28
0
0
0
0
-1
31
42
-79
6
-13
112
38
113
-5
65
80
-3
0
0
0
0
0
0
9
0
-3
-7
34
-5
-26
52
41
4
0
0
0
0
0
2
18
-15
71
0
71
56
118
-1
41
21
-17
45
0
0
0
0
-2
-5
112
0
45
0
90
20
81
59
78
97
-34
0
0
0
0
0
-9
-4
77
32
28
-9
-23
-34
116
64
130
36
0
0
0
0
0
8
-14
-5
32
13
117
-88
-44
81
53
-13
39
0
0
0
0
1
-2
-7
10
-12
41
-46
-14
8
-29
82
-37
57
0
0
0
1
0
0
-12
-60
-47
-5
28
52
-10
-14
70
49
-32
0
0
0
0
0
0
-4
-13
-44
-145
93
-27
106
31
6
10
2
0
0
0
0
0
-10
0
1
1
-6
8
-24
40
7
-6
58
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-12
-12
5
0
0
0
0
0
0
-6
41
0
0
0
273
108
57
45
-36
-36
7
0
0
0
0
0
-1
83
95
0
137
81
103
120
-19
37
41
61
0
0
0
0
0
0
-7
89
101
47
56
93
37
4
42
91
31
0
0
0
0
0
0
10
2
-7
-12
27
13
13
-24
45
64
41
0
0
0
0
0
0
-6
-75
-54
-64
-46
-48
-41
33
-25
30
46
0
0
0
0
0
-2
5
33
-161
-20
37
-11
82
-18
47
62
-5
0
0
0
0
0
0
0
-45
-100
-15
-58
-39
-16
40
9
-39
80
0
0
0
0
0
0
0
0
-10
3
42
30
-55
-86
-4
-95
4
0
0
0
0
0
0
0
0
0
0
0
1
3
27
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-5
0
0
0
-52
0
0
0
0
0
0
0
0
0
-2
-9
-35
72
45
0
0
-24
-8
0
0
0
0
0
0
0
-1
-8
0
7
-22
-70
-22
-50
-73
2
0
0
0
0
0
0
0
0
0
-15
-12
-35
78
51
-69
123
5
0
0
0
0
0
0
0
0
0
0
-3
1
-3
-3
-125
13
0
0
0
0
0
0
0
0
3
-7
0
1
-4
13
-61
-41
-77
-8
0
0
0
0
0
0
0
0
-1
0
-5
4
4
21
-20
14
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
98
-43
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
6
0
0
0
0
0
0
0
0
-2
-2
-9
-6
2
0
0
0
-154
0
0
0
0
0
0
0
0
-3
-13
13
-18
-57
56
0
0
-58
14
0
0
0
0
0
0
0
0
0
-2
-17
43
-24
14
-24
-82
14
1
0
0
0
0
0
-1
1
5
-21
1
-76
66
-87
37
-34
8
0
0
0
0
0
0
0
6
7
14
25
-5
-10
21
-32
-45
-31
0
0
0
0
0
0
0
6
-1
-2
-16
-10
-3
67
-102
-29
2
0
0
0
0
0
0
0
2
6
2
3
5
-21
54
-64
0
7
0
0
0
0
0
0
0
0
-3
0
1
22
41
35
26
-3
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
-2
6
0
0
0
0
0
0
0
0
0
0
5
0
48
0
0
0
-91
30
0
0
0
0
0
0
0
0
0
-12
25
-17
44
0
0
-32
9
0
0
0
0
0
0
0
0
0
6
-24
-6
-23
-4
-1
-42
-61
1
0
0
0
0
0
0
0
0
21
-25
21
47
-98
118
8
-25
-1
0
0
0
0
0
0
0
1
0
-13
16
114
-60
10
-42
-17
1
0
0
0
0
0
0
0
1
-9
0
-25
-7
63
-79
-77
-33
0
0
0
0
0
0
0
0
-2
-2
5
-1
-5
9
-50
-40
-31
0
0
0
0
0
0
0
0
-1
-4
-2
2
-77
8
-49
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
37
0
0
0
19
5
17
13
-43
-56
-1
0
0
0
-3
16
8
16
0
0
0
-116
-86
-117
39
-25
-74
7
0
0
0
-1
0
31
-10
-72
-53
-144
-3
-85
-255
-6
7
-17
-7
0
0
0
0
4
-9
-82
-16
-54
-55
-59
-39
-61
-22
-71
-55
0
0
0
0
0
-3
4
16
24
42
29
47
-38
-83
-69
-37
9
0
0
0
0
0
2
-5
-35
-107
48
-6
-58
-2
-71
-102
-39
8
0
0
0
0
0
0
5
-6
-7
49
46
-19
-47
23
-17
-2
-7
0
0
0
0
0
0
2
0
-3
13
109
5
6
-3
0
1
0
0
0
0
0
0
0
0
0
-1
16
1
0
0
-8
-1
0
-12
0
0
0
0
0
0
-8
-7
0
0
0
-18
2
-6
0
-3
-5
0
0
0
0
0
9
-17
19
0
0
0
36
-31
-5
2
-9
-1
0
0
0
0
0
0
35
-51
-69
-13
-64
-49
-4
16
-49
24
3
0
0
0
0
0
0
-3
-29
24
-41
-31
-38
15
10
-1
-61
-2
0
0
0
0
0
0
0
7
-67
-23
-109
-23
-42
-57
-94
-25
2
0
0
0
0
0
0
0
-1
-66
-6
-61
-25
-4
-22
-46
-7
-2
5
0
0
0
-2
2
0
1
45
-39
-8
7
-3
2
2
-1
0
0
0
0
0
0
0
0
-1
27
4
13
1
-2
0
0
-1
0
0
0
0
0
0
0
0
4
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
7
-49
97
0
0
0
-53
-78
-47
-77
-62
-66
-19
0
0
-2
6
30
-10
-27
-3
0
0
-79
-110
-74
-85
-39
-31
-40
0
0
-1
1
-1
33
74
-55
37
6
-17
2
-33
-21
-21
-63
-101
0
0
-4
-2
13
50
13
24
38
-29
-31
-39
-33
-14
-82
-14
-71
0
0
0
0
76
30
48
2
61
15
22
-77
41
-38
-12
-93
-65
0
0
0
5
22
49
14
49
37
19
3
18
-4
-71
-26
-124
-21
0
0
0
66
28
22
36
9
13
52
94
-51
-30
-39
-24
-98
-8
0
0
0
0
5
24
44
-4
49
18
3
-60
-72
-93
-42
-47
1
0
0
0
0
0
0
0
-12
-20
-1
2
6
-3
-18
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-63
0
0
-31
-74
-72
-85
-64
-39
24
0
0
0
1
0
0
0
-5
-5
2
-89
-14
-54
-29
-20
-51
-48
0
0
0
0
3
1
16
6
-65
-88
-54
10
-120
-4
-54
-75
-38
0
0
0
0
0
1
-40
13
-9
25
8
-77
-29
-40
-61
-50
-31
0
0
2
0
4
-4
-6
29
-18
49
2
-3
-88
28
-47
-36
25
0
0
-4
0
2
35
52
-9
94
-47
-8
-12
89
-102
-75
-41
-13
0
0
0
1
-3
-20
-4
5
-77
31
-17
61
-2
12
-7
-114
-27
0
0
0
-1
0
1
1
14
50
65
43
14
-24
-18
-78
-80
-3
0
0
0
0
5
0
0
0
25
-49
-13
-34
-64
26
-45
-148
6
0
0
0
0
0
-2
-53
-5
0
4
-45
-78
-45
-19
-37
-52
23
0
0
0
3
6
-1
-26
-31
-101
6
0
-70
-29
-41
-35
-37
-23
0
0
0
0
5
2
16
-22
-38
5
-40
-91
-64
-1
-5
-63
-5
0
0
0
0
-13
23
-30
-51
-59
-45
70
-7
-24
-68
-19
-28
-25
0
0
0
0
4
52
12
-22
-13
-90
-29
33
48
4
33
-77
-47
0
0
0
0
10
-23
-49
-17
19
26
-36
-5
-12
30
21
-49
-33
0
0
0
1
5
7
19
60
71
41
12
57
-66
-78
-21
-61
-44
0
0
0
2
0
2
4
2
-24
47
-41
18
27
44
6
-24
-26
0
0
0
0
0
2
9
5
27
-23
-14
10
-67
5
-20
-1
0
0
0
0
5
-5
-41
-32
58
0
0
-107
-16
-24
-8
-49
-44
-81
0
0
0
-1
-6
92
-1
0
50
0
-69
-81
-18
14
-31
-49
-56
0
0
2
-5
33
-92
-38
8
46
1
-1
42
-31
-21
-8
-82
-65
0
0
0
-3
-6
7
9
-25
8
-43
-89
-15
-15
-1
-53
-18
-19
0
0
0
22
-3
16
31
58
51
58
-64
68
18
-64
-129
-68
-42
0
0
0
1
60
32
-9
106
25
41
33
26
10
20
74
22
-49
0
0
0
2
-22
54
46
-74
102
-25
13
-39
-33
30
-57
-24
2
0
0
-1
0
2
21
-31
1
-30
-42
16
5
-90
39
-86
-5
-10
0
0
0
0
0
0
-7
4
5
5
-7
-8
4
34
-49
-2
0
0
0
0
0
0
-1
55
-12
0
10
-4
-74
13
64
-118
-50
-66
0
0
0
0
1
-35
8
0
14
0
-18
-60
-53
-10
48
-9
-19
0
0
0
-1
-5
-8
-139
-21
-31
-99
2
-33
51
-7
-17
-85
22
0
0
0
0
0
-15
-17
-2
-83
-113
-44
-93
-16
-51
-90
51
-57
0
0
0
0
0
0
-6
-8
-70
-13
-122
-76
-14
-31
-42
49
-32
0
0
0
0
0
0
-4
-44
37
-52
-86
-132
-30
-22
-25
-61
-2
0
0
0
1
0
0
-2
41
-16
-18
29
-2
-33
42
-97
-35
-25
0
0
0
0
0
-5
0
-7
4
-10
-43
-19
-4
-2
9
-84
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
16
13
0
0
0
0
0
1
-1
-8
0
0
0
-37
-4
-3
-80
-16
-29
-49
0
0
0
0
0
0
-22
-2
0
52
-70
-42
-72
26
74
-55
-134
0
0
0
0
0
0
-7
-67
24
4
-41
-49
36
-43
-66
-37
-89
0
0
0
0
2
0
5
-128
-191
26
-30
34
-98
40
-16
-68
-32
0
0
0
0
0
3
-4
-77
-88
-50
-10
-11
-37
-32
-9
-8
-47
0
0
0
0
0
0
0
-60
-151
28
2
40
-14
-71
-29
-49
8
0
0
0
0
0
0
0
-15
-124
-70
-12
46
16
-2
50
41
-24
0
0
0
0
0
0
0
-1
-16
3
6
-4
-7
-4
69
9
-4
0
0
0
0
0
0
0
0
1
0
0
0
2
50
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
43
0
0
0
79
3
0
0
0
0
0
0
0
0
0
6
31
59
30
0
0
-24
0
0
0
0
0
0
0
0
0
0
2
41
31
31
49
18
76
-2
0
0
0
0
0
0
0
0
0
-3
5
31
-23
83
23
59
1
0
0
0
0
0
0
0
0
0
2
6
14
-17
16
60
59
-5
0
0
0
0
0
0
0
0
0
0
-3
10
19
30
5
-14
0
0
0
0
0
0
0
0
0
0
0
-1
-27
37
44
14
10
0
0
0
0
0
0
0
0
0
0
0
1
3
-31
42
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-5
4
-8
0
0
0
0
0
0
0
0
0
-3
-7
31
35
0
0
0
-39
7
0
0
0
0
0
0
0
-1
1
-11
-11
38
16
0
0
-87
5
0
0
0
0
0
0
0
0
1
0
34
-17
28
45
86
33
-21
0
0
0
0
0
0
0
0
0
14
23
41
70
-19
0
10
13
0
0
0
0
0
0
0
0
3
0
-5
6
43
-16
59
-45
-10
0
0
0
0
0
0
0
0
0
1
-2
-10
11
72
158
13
0
0
0
0
0
0
0
0
0
0
0
-4
12
-13
71
60
60
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
28
44
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
21
-17
-9
0
0
0
0
0
0
0
0
0
-1
-5
8
-7
0
0
0
99
6
0
0
0
0
0
0
0
0
-1
1
32
28
26
0
0
21
-7
0
0
0
0
0
0
0
0
3
-1
-2
0
38
-10
-48
12
73
0
0
0
0
0
0
0
0
0
0
5
2
82
48
-23
-29
-42
0
0
0
0
0
0
0
0
0
-1
-1
9
-33
-13
-47
42
20
0
0
0
0
0
0
0
0
1
0
2
-1
41
-35
60
144
-7
0
0
0
0
0
0
0
0
0
0
0
5
-8
8
32
20
8
0
0
0
0
0
0
0
0
0
0
1
0
-5
5
49
42
1
0
0
0
0
0
0
0
0
0
0
0
-1
6
3
2
0
0
0
0
0
0
0
0
0
0
0
2
3
5
0
0
0
100
-70
8
0
11
49
-1
0
0
0
10
-2
47
-61
0
0
0
-49
45
-64
-31
42
16
0
0
0
0
2
-1
92
10
60
40
81
-96
25
-14
-13
14
76
-3
0
0
2
0
-3
31
-56
-49
73
61
8
-45
-42
-26
46
-42
0
0
0
3
-5
-2
13
-12
72
6
14
123
-18
-35
-27
51
22
4
0
0
0
0
-2
-5
44
105
60
41
148
-14
1
-2
34
1
2
0
0
0
0
0
14
22
43
34
109
20
5
48
41
-25
6
0
0
0
0
0
-2
-2
32
59
51
34
-20
42
-42
-5
19
8
0
0
0
0
0
0
0
0
1
14
-2
42
1
0
0
2
1
0
0
0
8
1
34
-52
43
0
0
0
76
-127
-5
25
8
-10
-1
0
-1
0
13
43
21
97
0
0
0
44
-14
-14
-17
32
20
4
0
0
0
3
-2
109
-1
32
57
-7
61
-3
-16
28
-21
-53
7
0
0
0
7
8
49
49
66
-112
-14
-42
-5
11
66
44
-24
7
0
0
0
0
4
-3
69
60
23
79
-19
41
97
-11
32
60
1
0
0
0
3
0
0
18
4
-35
71
40
44
-39
43
-33
17
0
0
0
0
3
-5
-3
44
22
25
59
-7
-19
-24
-8
34
43
-5
0
0
0
0
-3
13
-6
13
16
-2
45
4
31
6
-13
-43
4
0
0
0
0
0
8
1
7
-127
42
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
28
-49
0
0
0
-1
92
39
128
107
-14
30
0
0
0
1
-2
-27
78
4
0
0
12
-36
44
22
48
73
-5
0
0
-3
0
-4
-3
80
44
48
22
-71
-1
19
35
38
32
-58
0
0
0
0
0
21
3
70
17
42
-8
55
12
-14
52
53
50
0
0
0
0
-2
-14
29
23
52
75
16
5
28
13
65
32
-75
0
0
0
0
-6
10
-72
37
6
103
-11
42
5
100
62
50
6
0
0
0
0
0
-12
-20
33
24
-8
46
13
-26
66
-31
-40
47
0
0
0
1
0
-1
5
20
130
-42
-10
30
4
66
49
43
1
0
0
0
0
0
-4
-2
-1
-2
25
15
0
0
-2
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
68
0
0
-64
-70
-71
-12
21
42
-39
0
0
0
0
-1
0
-9
14
28
-1
-2
-36
-85
-1
-9
10
-32
0
0
0
0
-1
-1
2
74
19
39
-1
-9
-28
6
7
39
61
0
0
0
0
5
-2
-13
-49
-15
-12
5
43
-20
11
7
29
20
0
0
0
0
0
-1
-3
29
-40
-30
-36
33
-13
46
57
41
-6
0
0
0
0
0
0
-12
25
-73
5
-80
-20
-26
53
0
18
27
0
0
0
0
0
0
-1
-20
19
-35
-36
13
53
13
26
48
44
0
0
0
0
0
0
-1
-8
34
42
-23
47
83
6
-11
9
20
0
0
0
0
-1
-1
-1
-1
-66
19
18
-50
11
9
16
44
49
0
0
0
0
0
-5
23
53
0
12
93
-70
-37
14
95
-7
68
0
0
0
0
-27
10
-12
-8
61
40
0
-81
6
3
32
67
-52
0
0
0
0
23
1
13
-13
33
-105
-59
-80
28
-29
-77
-4
37
0
0
0
0
-2
12
42
-40
62
-1
55
49
9
14
41
46
60
0
0
0
0
0
-7
-7
-7
-57
73
42
38
24
-1
59
34
105
0
0
0
0
-4
-1
-2
2
-25
31
61
27
42
0
-11
10
58
0
0
0
0
1
18
2
-5
40
-37
40
37
118
110
1
31
12
0
0
0
0
1
-1
1
0
0
-38
-78
-34
-40
95
86
22
36
0
0
0
0
0
0
1
0
-12
-5
-13
9
48
64
9
-5
0
0
0
0
-2
0
-10
29
10
0
0
100
25
20
-36
41
-31
67
0
-1
-1
-3
-28
-4
21
0
24
0
-30
-12
-14
34
46
-14
34
0
0
-2
-1
20
48
-109
-29
20
58
-41
41
20
66
76
-23
8
0
0
0
3
0
55
-9
84
126
24
42
78
66
27
66
-8
-25
0
0
0
0
4
43
68
89
30
78
104
-9
88
26
175
120
-113
0
0
0
0
0
3
-49
-13
-8
-2
53
30
-1
34
23
37
79
0
0
0
0
-3
7
-17
-87
-9
20
32
67
84
43
102
-52
12
0
0
0
0
0
-2
-2
-39
-92
23
-26
51
-26
52
1
-43
46
0
0
0
0
0
0
0
0
0
-10
-2
-13
0
7
6
-2
0
0
0
0
0
0
2
23
42
0
17
-25
82
79
154
100
90
8
0
0
0
0
-3
20
33
0
12
0
23
3
-26
62
70
44
66
0
0
0
-2
10
-27
-11
120
84
32
-43
-31
27
138
-30
-8
-59
0
0
0
-1
-1
7
-73
79
78
156
26
7
38
19
32
-6
-5
0
0
0
0
0
9
-60
-51
-3
56
41
-10
-112
25
67
43
-58
0
0
0
-1
0
0
-1
9
-10
17
28
-39
-91
-75
41
74
51
0
0
0
0
0
0
4
-30
-25
-4
0
-14
-91
-10
-84
-28
-34
0
0
0
0
0
0
0
2
-14
0
-8
53
48
4
66
12
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
43
4
24
-6
1
0
0
0
0
-1
34
31
0
0
0
101
50
113
24
-33
-22
18
0
0
0
0
0
60
127
-42
0
-48
23
163
-23
8
25
20
-24
0
0
0
0
0
-2
46
103
143
59
18
-39
-76
23
9
-28
31
0
0
0
0
0
-5
-29
-18
29
24
49
-12
62
7
59
100
-22
0
0
0
0
0
5
-6
11
-109
-51
-23
14
34
-8
42
114
-15
0
0
0
0
0
1
-1
-30
-107
-86
49
-46
15
41
-70
89
48
0
0
0
0
0
0
-1
-42
-57
-61
30
21
80
12
41
79
3
0
0
0
0
0
0
0
0
-46
-32
2
74
-17
33
-49
54
29
0
0
0
0
0
0
0
0
-1
0
-3
5
1
-6
30
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
2
0
0
0
-30
0
0
0
0
0
0
0
0
0
1
-1
-22
-19
18
0
0
-9
0
0
0
0
0
0
0
0
0
0
-13
-30
5
45
35
-103
-161
-8
0
0
0
0
0
0
0
0
0
1
-7
2
-131
-66
-50
-40
6
0
0
0
0
0
0
0
0
0
0
4
2
7
47
38
-35
0
0
0
0
0
0
0
0
0
0
0
2
-13
17
53
66
-22
0
0
0
0
0
0
0
0
0
0
0
0
20
-28
-65
13
-4
0
0
0
0
0
0
0
0
0
0
0
-2
-41
33
15
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-2
-2
-3
0
0
0
0
0
0
0
0
0
-4
1
17
-13
0
0
0
-72
0
0
0
0
0
0
0
0
-1
0
-14
66
44
-14
0
0
-128
-4
0
0
0
0
0
0
0
0
0
1
-8
52
-36
-28
-84
-85
25
0
0
0
0
0
0
0
0
0
-13
7
-45
-37
-81
62
0
32
0
0
0
0
0
0
0
0
0
0
4
12
25
-72
22
53
-17
0
0
0
0
0
0
0
0
0
0
-5
13
-46
-36
-36
-24
0
0
0
0
0
0
0
0
0
0
0
-4
-15
41
-14
11
-49
-1
0
0
0
0
0
0
0
0
0
0
2
13
-75
-28
-76
2
0
0
0
0
0
0
0
0
0
0
0
0
-49
22
-6
-3
-19
0
0
0
0
0
0
0
0
0
-2
0
1
-4
0
0
0
-22
-14
0
0
0
0
0
0
0
0
0
1
6
27
-34
0
0
-70
-51
0
0
0
0
0
0
0
0
-2
0
0
19
18
-108
-74
-81
-24
0
0
0
0
0
0
0
0
0
0
-2
-8
62
-31
5
-87
-28
0
0
0
0
0
0
0
0
0
1
0
0
-37
60
52
20
-47
0
0
0
0
0
0
0
0
0
0
0
-13
7
-48
-35
54
-14
0
0
0
0
0
0
0
0
0
0
3
19
66
-4
-7
-5
-2
0
0
0
0
0
0
0
0
0
0
3
2
29
-9
-10
-31
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
7
-1
0
-19
2
-5
0
0
0
0
0
0
-2
-24
0
0
0
-63
-55
-67
30
-8
0
0
0
0
0
0
-3
1
-32
-155
-104
10
-44
-21
-52
-11
-24
0
0
0
0
0
0
4
-3
-5
-53
3
0
25
43
-45
-25
-12
-1
0
0
0
0
0
0
0
-1
-11
2
50
-7
-30
-51
-34
-6
0
0
0
0
0
0
0
0
-4
-49
58
31
65
31
-43
0
0
2
0
0
0
0
0
-3
0
1
-31
39
13
-29
12
2
0
0
0
0
0
0
0
0
0
-2
2
3
30
24
-6
0
0
0
0
-4
0
0
0
0
0
0
0
8
6
9
-6
4
0
0
0
0
0
0
0
0
0
0
0
3
-104
0
0
0
42
3
-6
0
0
-2
0
0
0
0
-1
0
2
-99
0
0
0
31
-41
-9
3
2
7
0
0
0
0
0
0
2
-14
-119
-74
109
-13
-84
8
6
5
-1
0
0
0
0
0
0
1
26
8
-60
12
-31
34
-34
1
1
2
0
0
0
0
0
-1
8
-2
-58
-1
-31
3
22
-35
-7
-14
-5
0
0
0
0
0
0
0
-4
31
-53
-25
-9
-6
3
1
-5
-3
0
0
0
0
0
0
0
-2
23
-65
-45
-8
3
-8
2
-25
2
0
0
0
0
0
0
0
1
6
-94
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
-2
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-31
0
0
0
-197
-79
-66
-99
-12
-78
-12
0
0
0
1
-33
6
-62
-21
0
0
-168
45
-111
-68
-28
-22
3
0
0
4
0
1
13
34
-33
-83
-127
-97
-37
-46
-38
-19
-63
-103
0
0
0
0
0
42
37
-16
-41
-34
62
-67
-36
-105
-19
-34
-9
0
0
0
0
0
-31
24
-19
39
-19
89
-12
17
-54
-73
-105
16
0
0
0
0
-4
-4
8
-94
-79
74
50
13
-56
-22
58
-76
17
0
0
0
-1
0
1
23
-102
-12
-34
0
-112
-25
91
-75
-63
-8
0
0
0
-1
0
0
-27
13
-59
4
14
25
-23
-74
-84
-33
-6
0
0
0
0
-1
8
0
-3
-13
-41
-58
-2
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
-116
-102
-65
-38
-40
-31
-26
0
0
0
0
4
0
8
16
-73
-26
-88
-77
4
-18
-32
-25
-36
0
0
0
0
0
0
-8
-49
27
19
-28
-78
48
-13
-27
-99
-32
0
0
0
0
2
-1
2
-8
-22
-12
-68
-31
59
-15
-11
-29
8
0
0
0
0
0
-3
0
-41
22
63
-6
-57
57
-55
-24
-19
17
0
0
0
0
0
0
-2
-52
45
-12
-20
-18
8
-32
50
-44
-20
0
0
0
0
0
3
0
-1
-94
42
0
-130
46
31
10
-38
-33
0
0
0
0
0
0
-2
8
-41
-87
-42
-13
2
-26
-7
-6
-62
0
0
0
0
0
0
0
-2
-36
47
5
-9
-101
-51
-26
-8
23
0
0
0
0
0
-1
-9
-58
0
-6
-83
-179
-68
-63
-4
-25
-31
0
0
0
1
1
4
-2
15
-60
-10
0
-109
-47
-33
-8
-24
-23
0
0
0
0
2
-1
6
-18
13
-60
-59
-92
-14
-24
-22
-50
1
0
0
0
0
4
-7
6
47
17
-79
-33
-12
85
-53
-34
-6
52
0
0
0
0
0
0
-3
23
-49
-5
50
15
13
5
-38
-14
-4
0
0
0
0
0
0
7
-31
-23
21
29
-36
-80
-26
-13
-50
-90
0
0
0
0
0
-13
0
-8
22
37
12
-32
31
-12
-7
-17
-16
0
0
0
0
-6
0
-2
0
-30
27
42
15
-96
-77
-83
-26
-22
0
0
0
0
0
0
0
0
20
-8
-15
-15
-45
-39
-31
-2
0
0
0
0
0
-2
27
4
-77
0
0
-106
-56
-33
32
-26
30
-43
0
0
0
0
-24
-53
-102
0
-89
0
-169
-47
-59
-26
-86
-111
-25
0
0
0
1
-7
-100
5
-1
-78
-203
-175
-30
-55
-17
-90
-40
-7
0
0
0
0
-1
8
-125
0
36
-20
-8
1
-46
-28
-43
3
44
0
0
0
0
-1
-1
17
-12
-10
-47
-30
-23
-9
54
32
71
-53
0
0
0
0
-5
-1
17
37
-117
23
-14
-57
6
-21
-64
-48
-79
0
0
0
0
8
-2
-26
-25
10
3
29
-48
-70
-29
-117
-45
-93
0
0
0
0
0
1
4
10
13
7
-3
6
-2
-54
-26
37
-27
0
0
0
0
0
0
0
0
17
-13
-42
0
1
0
4
-1
0
0
0
0
0
0
0
7
-11
0
-64
-44
-70
13
-40
-49
6
-17
0
0
0
0
0
8
-12
0
-67
0
-24
17
-49
-141
14
-41
-60
0
0
0
0
0
3
-84
52
49
-29
-40
-83
-36
45
-62
-110
-19
0
0
0
0
2
1
-2
-78
-54
31
-19
13
-84
-70
-22
22
19
0
0
0
0
0
-1
0
-29
-28
-2
-87
-94
-28
29
-35
-43
-24
0
0
0
0
0
0
1
-67
-23
42
92
23
-4
10
-39
60
-32
0
0
0
0
0
0
1
-3
-14
-20
60
-24
-46
38
-123
-32
-42
0
0
0
0
0
0
0
-1
0
10
13
30
8
-21
-17
-47
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
-111
-107
-35
-35
-59
15
34
0
0
0
0
0
0
0
-93
0
-115
-101
-93
-68
-2
23
-40
-113
0
0
0
0
0
0
0
-7
9
43
-83
14
-32
-38
4
13
-41
0
0
0
0
0
0
-3
-8
-101
2
-56
63
-91
-26
47
20
-27
0
0
0
0
0
0
1
-110
-44
-31
51
-84
-7
-98
43
15
-7
0
0
0
0
0
0
0
-17
-63
-6
-7
-25
17
30
-112
64
58
0
0
0
0
0
0
0
-20
-24
7
21
-8
-25
-50
-12
-22
-10
0
0
0
0
0
0
0
1
-8
0
1
25
-19
19
22
58
-2
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-2
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-26
42
-47
68
40
-8
-8
0
-6
0
0
0
0
0
0
0
49
115
22
0
-48
-32
-49
35
-41
-38
0
0
0
0
0
0
0
33
12
110
5
49
-13
-5
-31
11
0
0
0
0
0
0
0
0
19
-24
-27
60
10
-22
0
-20
6
0
0
0
0
0
0
0
0
8
162
-30
-7
3
-1
0
0
0
0
0
0
0
0
0
0
0
-13
104
31
22
55
1
4
0
0
0
0
0
0
0
0
0
0
1
-54
-56
28
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
75
75
59
30
0
0
0
0
0
0
0
0
0
0
0
0
0
4
46
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
32
-1
104
31
19
5
-41
22
0
75
0
0
0
0
0
0
0
96
41
3
25
15
-10
31
-34
11
-47
-7
0
0
0
0
0
0
55
29
68
24
24
-23
7
72
-31
-7
0
0
0
0
0
0
0
29
119
40
-37
-51
98
8
-3
8
0
0
0
0
0
0
0
0
42
21
-3
-47
-10
30
1
1
4
0
0
0
0
0
0
0
0
2
-8
85
97
-1
-4
2
0
0
0
0
0
0
0
0
0
0
-1
-6
30
2
21
4
0
0
0
0
0
0
0
0
0
0
0
17
61
3
-12
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
76
62
81
20
-5
58
-48
0
12
2
0
0
0
0
0
0
32
80
20
-31
-79
31
-92
0
74
-32
8
0
0
0
0
0
0
-4
23
40
6
-33
47
-37
28
24
21
12
0
0
0
0
0
0
-10
51
140
76
-48
75
3
0
2
-2
1
0
0
0
0
0
0
1
36
58
43
58
18
2
-9
-2
0
0
0
0
0
0
0
0
6
33
-3
93
-23
25
0
0
0
0
0
0
0
0
0
0
0
0
67
31
-44
-5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
8
2
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
8
85
-25
38
-69
-82
-89
0
51
-7
2
0
0
0
0
0
98
-5
61
27
42
-75
-55
-66
-93
-108
-5
2
0
0
0
0
0
95
-36
95
101
-65
-61
-13
-22
-27
-84
-9
-8
-1
0
0
0
0
39
70
37
106
148
-17
7
27
1
17
19
0
0
0
0
0
0
42
40
28
76
87
32
-36
-27
76
12
0
-1
0
0
0
0
0
4
15
-25
20
54
-23
6
45
-46
2
-1
0
0
0
0
0
0
20
5
76
133
75
75
9
75
10
1
0
0
0
0
0
0
0
42
60
50
85
44
25
25
48
-9
0
0
0
0
0
0
0
0
2
4
0
0
0
0
7
0
4
0
0
0
0
0
0
0
0
-6
-18
77
-30
-23
-82
24
-113
0
-31
0
0
0
0
0
0
0
60
5
-71
-32
21
7
43
-21
-62
-1
-5
0
1
0
0
0
0
9
-13
65
-23
89
31
-43
-46
-95
21
2
-3
0
0
0
0
0
-114
-42
27
31
52
-24
17
56
-49
42
-3
0
0
0
0
0
0
44
-63
31
81
-53
53
-5
77
3
-8
0
0
0
0
0
0
0
25
13
-5
4
39
69
-39
59
-4
1
0
0
0
0
0
0
0
-8
97
70
57
33
8
25
42
14
0
0
0
0
0
0
0
0
10
51
8
44
-16
4
7
1
2
0
0
0
0
0
0
0
0
22
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
-18
78
30
84
9
36
-59
0
-38
24
33
-9
-18
0
0
0
64
44
2
13
60
127
-41
-82
-105
-29
65
67
85
45
-18
0
0
20
88
113
35
91
126
29
14
-40
8
120
57
86
-20
29
0
0
3
77
28
67
30
124
34
59
110
56
142
46
-13
-36
8
0
0
21
65
72
130
51
155
58
99
94
50
70
63
62
29
-2
0
0
7
49
50
6
13
45
60
49
96
47
85
-2
6
-7
3
0
0
0
103
103
119
31
51
132
4
108
43
-17
36
-4
0
-1
0
0
0
51
-32
-31
59
53
14
18
51
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
48
14
16
56
53
0
13
-3
44
1
-7
-6
-2
0
0
-5
142
107
8
26
67
-19
-8
24
42
73
48
-36
-42
0
0
0
13
5
-35
83
108
31
44
-67
-22
7
64
78
52
0
-2
0
0
25
94
22
4
-57
-2
31
9
41
-21
12
1
-3
0
-2
0
0
0
50
-20
57
120
-66
38
85
54
51
-70
-14
28
4
0
0
0
0
22
-13
55
-8
46
43
-22
72
9
-30
32
28
-4
2
0
0
0
-31
9
69
54
-38
42
-17
40
18
-7
-25
5
2
0
0
0
3
16
32
9
-22
20
94
49
-1
-13
44
-10
41
17
0
-6
0
0
0
-14
-2
3
30
16
33
41
-30
116
28
-46
-2
-3
0
0
0
-2
130
-6
-15
56
-3
0
30
55
-41
-9
6
2
0
0
0
0
53
86
12
57
62
-20
17
11
7
23
3
87
-17
-2
0
0
0
23
-18
10
31
2
20
-22
6
32
92
2
9
0
0
0
0
0
1
57
32
-5
47
-20
117
49
62
64
59
-8
5
0
0
0
0
26
-5
12
41
71
-16
51
-17
-26
87
44
-17
12
0
0
0
0
-5
21
66
21
-21
71
46
12
-29
-22
-29
-24
10
-4
0
0
0
17
10
15
-3
70
36
83
29
-21
-20
165
-60
2
0
0
0
0
4
76
-38
-36
69
69
1
101
-7
-45
-18
5
0
0
0
0
0
-1
-8
9
-37
78
0
5
14
-1
0
0
0
0
0
0
41
134
30
62
110
-61
-5
-79
0
-38
28
51
-26
15
0
0
0
19
15
24
47
67
58
-9
-37
-57
-12
35
125
48
0
-5
0
0
36
67
80
33
-35
132
32
-19
-29
-24
22
136
14
-17
-18
0
0
26
14
55
81
2
53
111
38
72
98
71
51
32
16
0
0
0
14
46
42
-14
63
141
16
113
85
89
-1
32
93
72
-5
0
0
43
42
63
152
-1
93
84
156
73
39
146
84
12
5
0
0
0
31
49
55
95
34
5
118
64
57
-49
-8
-3
-10
0
0
0
0
-2
14
-19
-30
57
46
46
49
45
2
-6
-2
0
0
0
0
0
0
-3
3
17
8
14
20
-4
-1
-1
0
0
8
0
0
0
0
31
18
-44
-15
0
-54
7
-50
0
-18
22
26
-12
-1
0
0
0
24
13
41
-25
-23
-19
48
-61
-5
60
50
0
57
2
0
0
0
118
33
98
40
46
19
65
-13
30
60
52
-43
-2
-2
0
0
0
47
-33
22
5
4
-14
-31
31
50
21
5
55
-2
0
0
0
0
93
7
26
-23
28
14
-11
91
63
53
-8
2
0
0
0
0
0
-2
10
-43
72
-40
29
81
51
-28
24
10
-41
-12
0
0
0
0
0
41
57
45
58
30
78
57
96
15
3
6
0
0
0
0
0
0
-22
-39
92
55
102
16
110
-30
-29
-23
-1
0
0
0
0
0
0
0
5
-2
-12
2
34
10
-8
-2
0
0
0
0
0
0
0
28
63
-6
26
-9
-3
-24
-18
0
-67
46
-17
1
0
0
0
0
-13
-27
-57
7
13
88
92
-20
20
30
29
16
4
-1
0
0
0
-22
11
62
54
-25
-38
17
-107
1
27
20
21
3
0
0
0
0
-37
-25
26
13
61
56
-14
72
50
45
90
0
0
0
0
0
0
14
-77
-46
36
74
88
25
87
-6
93
33
24
-2
2
0
0
0
-31
-32
-41
-10
17
3
76
37
21
96
32
0
0
0
0
0
0
-1
85
47
-14
77
117
11
58
10
-50
-41
13
0
0
0
0
0
-3
-12
16
2
-9
43
128
6
20
-23
29
0
1
0
0
0
0
0
-3
0
1
-3
8
35
75
-15
-7
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
46
-21
-85
7
-33
-53
-37
0
-5
0
0
0
0
0
0
0
-34
-22
-4
11
5
43
-33
-63
6
13
0
0
0
0
0
0
0
29
-83
-47
56
18
49
-16
48
-33
3
0
0
0
0
0
0
0
43
79
39
-69
7
-6
0
-3
-5
0
0
0
0
0
0
0
0
42
13
16
66
-28
42
-14
8
2
0
0
0
0
0
0
0
0
-22
-60
28
-84
43
4
-7
0
0
0
0
0
0
0
0
0
0
7
-64
7
-7
49
-6
0
0
0
0
0
0
0
0
0
0
0
-10
-59
19
-19
17
4
0
0
0
0
0
0
0
0
0
0
0
4
-9
-14
6
7
0
0
0
0
0
0
0
0
0
0
0
0
-31
1
-14
-40
-5
35
-18
11
0
-106
1
0
0
0
0
0
0
71
-50
-61
-4
-81
-36
-29
-84
-7
-16
9
0
0
0
0
0
0
40
-22
1
-70
17
30
90
22
49
15
2
0
0
0
0
0
0
-26
15
-112
6
-22
85
-30
-3
-40
15
-2
0
0
0
0
0
0
41
19
27
29
54
33
24
1
3
0
10
0
0
0
0
0
0
0
-47
50
-2
13
-64
-12
0
-4
-4
0
0
0
0
0
0
0
-9
-10
30
24
-15
-16
-3
0
0
0
0
0
0
0
0
0
0
-35
39
-28
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-29
-51
-54
-49
-41
-64
-21
0
-14
-2
0
0
0
0
0
0
0
-30
-5
-76
66
-22
-11
64
-103
-21
-24
0
0
0
0
0
0
-37
8
-19
-11
35
25
-73
-6
-31
-13
-5
0
0
0
0
0
0
-2
55
-61
9
-28
-2
9
-5
-9
1
-1
0
0
0
0
0
0
-9
87
-71
-82
50
34
1
22
0
1
3
0
0
0
0
0
0
-2
-57
-15
66
-8
-27
7
-5
6
0
2
0
0
0
0
0
0
-4
-20
41
115
7
-8
-2
0
1
0
0
0
0
0
0
0
0
0
9
-2
5
1
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-14
-95
-55
-29
-95
-63
-81
0
-143
5
-3
0
0
0
0
0
5
-80
0
-5
-65
-4
-66
-226
-140
-170
2
2
-3
0
0
0
0
-58
47
-3
-40
-22
19
-92
-28
41
39
-8
-5
0
0
0
0
0
30
5
-7
52
-45
-51
5
-39
-116
6
-2
0
0
0
0
0
0
42
31
-65
-31
-13
49
-25
3
-107
-18
0
-8
0
0
0
0
0
4
58
104
-27
-34
44
-25
-59
4
3
0
1
0
0
0
0
0
-22
8
74
28
19
6
-5
-16
-10
-5
-1
0
0
0
0
0
0
-3
-10
-13
27
0
12
0
-8
-8
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-10
-107
-28
19
-25
3
-66
-91
0
-7
-2
0
0
0
0
0
0
30
-7
-23
83
-19
-72
-26
-234
-123
-115
0
0
-1
0
0
0
0
13
-46
-12
-72
-23
-70
2
-47
13
-14
0
0
0
0
0
0
0
12
-8
-27
23
-41
14
-8
-30
46
-4
0
0
0
0
0
0
0
20
-16
13
-56
-24
-3
-33
-15
0
4
0
0
0
0
0
0
0
-29
-16
-54
-69
-13
7
-8
-1
-1
2
0
0
0
0
0
0
0
0
-12
-32
9
10
4
1
0
0
0
0
0
0
0
0
0
0
-7
23
20
12
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-73
-7
-58
13
-115
2
-152
0
-87
-47
-80
-12
-5
0
0
0
-77
79
88
-28
-18
-3
-13
-131
-111
-75
68
31
-107
-92
67
0
0
-18
34
-10
-58
-15
107
14
-9
-18
-15
-62
-58
-7
57
1
2
0
-4
-6
-19
51
35
-50
41
33
98
-13
-69
39
2
-41
-10
0
0
-21
1
59
-45
16
0
-13
68
10
15
50
31
-7
8
0
0
0
76
-26
51
38
-31
14
-54
43
49
90
-62
-13
-7
4
5
0
0
-6
37
1
32
-15
-16
99
64
-3
54
-6
39
1
0
-2
0
0
4
-64
2
40
51
16
-12
49
6
-2
-7
2
0
0
0
0
0
0
0
0
0
2
0
-2
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-22
-39
-58
-88
-72
-123
0
-6
-39
-85
-7
-12
-1
3
0
0
63
-71
-54
-79
-125
8
-66
-72
-34
17
-31
-45
-14
34
-6
0
0
-8
-33
-84
-81
-48
-39
11
43
-30
11
-65
-11
30
0
3
0
0
-19
41
-33
-85
-88
-17
-88
-22
11
36
8
-36
29
-1
-2
0
0
18
7
-12
-21
-62
42
13
58
-11
-1
-17
-6
48
4
-1
0
0
-27
25
-92
-57
-81
-75
-53
-63
38
53
-50
10
-19
1
4
0
0
0
76
-42
-21
-95
24
33
43
71
8
-8
51
44
-1
-4
0
0
-22
-2
-25
84
-9
13
-28
-13
-42
-51
27
5
16
-13
0
1
0
-4
3
-6
-7
-25
9
46
13
-1
21
-31
3
8
-7
-1
0
0
0
-74
-3
-33
-70
47
-38
0
-38
-44
-12
-22
27
5
0
0
0
0
-2
57
6
-48
-39
-27
2
-19
-19
40
43
15
-10
4
0
0
0
24
-22
42
-17
2
1
-12
-2
-14
-54
-59
-11
-21
0
0
0
0
-12
0
-56
7
-69
-71
58
-37
-19
40
-83
-15
3
0
0
0
0
-54
-79
-62
-40
-30
-2
6
-19
27
-47
13
-38
-8
0
0
0
0
-7
-22
-37
28
23
-30
-45
-105
96
13
29
-2
3
0
0
0
0
18
-29
-14
-42
36
-39
-54
36
2
-13
-5
16
-1
0
0
0
0
-4
21
-44
-22
-84
-50
-53
-19
4
9
14
-29
0
0
0
0
0
6
16
-39
20
-134
57
-16
3
-1
-11
0
0
0
0
0
60
94
-4
14
-15
-18
-54
-135
0
-108
-89
-106
-89
39
0
0
0
19
12
39
60
4
-52
-28
-79
-105
-61
3
5
51
1
7
0
0
126
59
-14
31
0
-42
-50
-15
3
35
44
-1
-80
34
-16
0
0
50
-1
74
-74
-59
7
33
9
24
2
56
-13
110
41
2
-2
0
10
43
129
-4
0
24
91
29
66
-26
-33
49
-54
-4
-2
0
0
24
66
47
-89
24
66
-34
26
108
-13
-54
44
4
-9
1
0
0
-42
50
-21
39
35
-46
13
3
8
64
-30
-8
-8
-3
0
0
0
4
29
41
-97
-45
1
21
-26
2
65
7
0
-1
0
0
0
0
0
-5
-1
-41
7
16
-43
0
-1
-6
0
0
0
0
0
0
0
-31
-23
21
-113
-45
11
35
-114
0
-121
-27
-17
2
0
0
0
0
60
-25
-44
6
-9
52
0
-101
-27
-116
-29
-80
-81
0
-1
0
0
-2
-105
27
-59
-122
3
-39
-10
-22
39
-44
-13
0
-1
0
0
0
-26
-6
-29
-57
-84
-41
-90
-74
28
-54
0
-16
1
0
0
0
0
7
-12
58
-52
-64
-30
-95
-32
-20
-35
-89
3
-1
0
0
0
0
29
6
22
9
-45
-43
-56
50
-11
-61
-49
19
0
0
0
0
0
0
16
-14
-47
-60
15
-62
-71
4
73
-4
-4
0
0
0
0
0
0
-16
21
5
-51
12
-4
26
-8
29
17
0
0
0
0
0
0
0
-1
9
0
10
-8
24
44
8
-1
1
0
0
0
0
0
0
-23
5
-40
-22
-44
-46
-125
-116
0
-47
37
-22
0
0
0
0
0
6
-198
-13
-7
-127
-23
-20
-161
-104
-13
13
-22
0
0
0
0
0
-28
-66
-64
-36
-128
24
-149
-15
30
-34
-13
-21
0
1
0
0
0
-41
-49
84
-65
13
47
-52
-49
-66
19
-21
3
0
0
0
0
0
-12
-60
-26
-26
23
25
-77
-104
-80
-79
-59
-46
3
0
0
0
0
0
-21
5
59
-22
-18
-8
75
-19
-4
14
2
1
0
0
0
0
-2
-53
4
-10
-22
17
-6
-34
50
-61
-22
3
0
0
0
0
0
0
8
-1
33
25
58
49
26
-103
9
8
0
-2
0
0
0
0
0
0
-3
0
6
-5
14
-48
146
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
39
-71
-98
-31
4
0
0
0
0
0
0
0
0
0
0
68
59
3
-5
-25
-109
87
0
0
0
0
0
0
0
0
0
0
35
101
78
3
-48
-19
4
0
-1
0
0
0
0
0
0
0
0
79
-8
74
74
30
3
0
1
1
0
0
0
0
0
0
0
0
-34
72
25
48
71
-1
0
0
3
0
0
0
0
0
0
0
0
-8
41
63
-9
-22
-8
1
0
0
0
0
0
0
0
0
0
0
-4
32
94
67
31
-1
0
0
0
0
0
0
0
0
0
0
0
1
14
-42
-13
-3
2
0
0
0
0
0
0
0
0
0
0
0
69
27
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
47
31
31
7
67
8
0
0
0
0
0
0
0
0
0
0
60
22
20
29
-18
97
-24
0
0
0
0
0
0
0
0
0
0
34
-53
112
79
23
47
-5
3
0
2
0
0
0
0
0
0
0
94
-27
-31
24
-20
17
15
-1
0
0
-1
0
0
0
0
0
0
16
25
-40
-12
-43
-53
4
-1
-1
0
0
0
0
0
0
0
0
44
-8
39
20
33
5
-5
1
0
0
0
0
0
0
0
0
0
8
121
55
-54
32
-1
0
0
0
0
0
0
0
0
0
0
0
1
56
74
-10
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
15
0
0
0
0
0
0
0
0
0
0
0
0
21
35
48
107
-4
-43
-15
0
0
0
0
0
0
0
0
0
0
27
10
2
9
-41
25
-40
0
0
0
1
0
0
0
0
0
0
41
27
21
86
47
-57
-6
2
-2
-3
2
0
0
0
0
0
0
31
-11
-6
77
-17
48
8
1
0
2
0
0
0
0
0
0
0
5
7
14
-16
45
-31
2
0
0
0
0
0
0
0
0
0
0
-1
23
-17
22
-1
1
1
0
0
0
0
0
0
0
0
0
0
19
69
-2
71
41
8
0
0
0
0
0
0
0
0
0
0
0
0
6
4
80
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
57
51
61
4
-107
-98
0
0
0
13
1
0
0
0
0
0
-11
4
111
5
-15
-105
-86
0
0
0
56
1
0
0
0
0
0
44
48
41
75
96
-22
-50
54
27
74
-17
3
5
0
0
0
0
138
25
57
-74
14
-9
83
3
-5
24
-10
0
0
0
0
0
0
-51
123
22
73
41
7
-5
-42
-21
-28
-19
1
0
0
0
0
0
21
-10
-8
97
32
17
74
58
103
-12
-8
0
0
0
0
0
0
33
66
54
54
0
70
-24
110
49
-29
0
0
0
0
0
0
0
-3
9
149
-13
-21
-70
-4
19
37
0
-1
0
0
0
0
0
0
25
7
12
34
14
8
0
0
-3
0
0
0
0
0
0
0
0
-10
-12
85
-52
-33
-77
-47
0
0
0
-3
9
0
0
0
0
0
9
74
149
82
16
-52
-63
0
0
0
25
0
0
0
0
0
0
-2
66
-101
62
14
-35
-58
-105
-41
46
7
0
0
0
0
0
0
-2
-48
106
47
49
53
-59
-18
-93
-29
17
-1
0
0
0
0
0
38
97
-24
195
118
164
91
-4
49
5
8
4
0
0
0
0
0
23
-62
84
32
55
84
-22
-26
46
16
-4
-2
0
0
0
0
0
-77
76
-2
-4
117
92
45
1
-25
31
-3
1
0
0
0
0
0
-5
59
31
60
13
17
8
-39
-8
29
0
0
0
0
0
0
0
5
53
-12
13
-2
1
-6
-7
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
43
-31
8
65
-27
-80
0
0
0
14
-46
26
-14
-9
5
0
33
99
106
43
72
-78
-67
0
0
0
-16
11
19
21
4
7
0
127
-33
117
133
38
59
-8
-60
-30
-42
38
13
-11
64
-4
-2
0
85
46
-12
13
87
65
67
122
32
17
40
42
-1
9
-24
0
0
0
-7
101
142
65
22
43
51
83
51
100
-7
-31
-2
9
-6
0
54
67
39
75
-17
50
53
7
125
14
43
-44
15
6
0
0
0
-5
37
65
38
24
41
26
24
93
-10
-15
0
4
-2
2
0
0
6
0
36
-43
44
-41
3
-3
-41
-44
13
-3
0
1
-14
0
0
0
1
-4
-2
-6
0
-1
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
21
-63
-38
81
41
0
0
0
25
-32
59
-46
6
-58
22
0
-5
34
-24
-71
80
46
0
0
0
59
42
31
-70
-24
-23
8
0
3
-11
72
-70
26
81
30
50
56
-12
-2
18
-21
-25
32
44
0
-13
-32
30
64
-15
34
15
6
60
31
-17
26
-76
-3
15
41
0
-6
-90
37
-40
-49
31
41
49
3
-3
26
17
84
-58
-72
5
0
2
-31
30
25
-20
-53
22
16
1
23
8
-24
148
-60
-32
-6
0
0
5
-25
-41
26
-26
38
14
23
10
11
-15
-30
28
-10
18
0
-1
-9
-4
49
53
-3
30
23
21
-9
12
-50
11
-13
-69
-24
0
0
2
24
-6
3
11
58
1
-5
5
30
64
-13
-66
24
-28
0
0
53
54
120
-18
48
0
0
0
22
-39
-34
-31
26
-27
1
0
0
-34
102
-31
5
58
0
0
0
23
9
-5
-12
18
30
-8
0
0
-56
98
32
17
40
-4
43
17
25
20
17
-91
12
-9
0
0
0
64
-43
5
43
-4
11
17
-8
-6
24
13
-22
41
-36
0
0
0
38
1
31
-17
46
12
30
6
-7
20
13
3
-53
31
27
0
0
80
18
-14
13
34
5
-16
4
33
-5
-10
-125
67
-26
-35
0
0
-42
39
-24
-16
2
77
-59
10
50
-26
24
-28
-47
-25
-5
0
0
-1
45
-37
7
-18
72
47
12
61
61
37
-7
-9
52
45
0
0
12
13
-31
32
67
-22
13
-13
-2
0
0
4
0
0
0
6
70
-39
13
137
-76
9
0
0
0
22
25
7
-17
0
0
0
21
84
75
-29
67
68
-81
0
0
0
-36
4
-23
46
5
-1
0
53
165
46
-64
34
148
-37
-26
-4
-49
54
2
22
14
8
0
0
88
43
82
-55
1
86
88
86
46
27
50
24
-92
-44
-5
0
0
42
93
-26
102
23
32
9
45
97
23
109
1
-5
-37
13
-2
0
-27
154
67
11
115
47
-4
55
49
95
26
31
-3
5
7
0
0
-41
62
18
-63
-26
-80
36
58
-6
41
5
0
4
0
-2
-1
-1
76
4
18
-4
-11
25
18
57
83
-29
5
-3
-1
1
17
0
0
0
-7
2
-21
55
2
5
5
-2
-1
3
-2
0
0
0
0
0
-37
102
25
44
5
-36
13
0
0
0
34
22
0
0
0
0
0
91
82
28
-96
17
-12
29
0
0
0
38
-82
-2
0
0
0
0
157
43
32
24
-28
44
-22
47
-76
78
-91
14
-2
0
0
0
0
15
104
49
2
-15
-1
-117
-35
-29
-19
41
-27
-1
0
0
0
0
-2
-5
-5
48
-87
-56
90
17
95
-36
-10
-20
9
-1
0
0
0
21
58
13
77
65
32
29
-19
-10
14
-16
23
-2
0
0
0
0
12
-9
12
21
13
-12
99
-4
79
-63
20
0
0
0
0
0
0
-16
39
22
10
28
5
102
101
52
40
-5
0
0
0
0
0
0
1
-1
-1
-4
44
0
42
33
7
3
0
0
0
0
0
0
0
-7
52
-25
-47
62
-82
0
0
0
0
53
-66
-10
0
2
0
0
-31
0
-60
17
15
-83
-30
0
0
0
64
11
-91
-8
0
0
0
73
-70
4
85
30
-37
-138
-3
25
60
39
8
22
4
-1
0
0
29
67
23
9
29
29
-28
-31
40
130
110
84
-26
4
0
-3
0
60
-28
-25
10
121
47
-55
23
-102
67
71
13
27
-3
-2
0
0
2
-35
-17
84
50
90
83
6
30
71
73
16
-1
1
0
0
0
-33
-50
33
7
-44
103
66
70
75
68
-5
49
3
-7
0
2
0
1
41
-3
23
77
98
73
15
118
7
-19
5
1
1
0
0
0
9
-13
0
1
4
7
13
-10
56
-9
-4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-66
-4
-49
-65
-8
-2
0
0
0
0
0
0
0
0
0
0
-41
-127
36
-39
-66
-25
-29
0
0
0
0
0
0
0
0
0
0
9
8
-61
7
55
17
1
0
0
0
0
0
0
0
0
0
0
-14
-20
-3
-56
-24
-17
-1
0
1
0
0
0
0
0
0
0
0
2
-42
47
-10
-5
5
1
0
0
0
0
0
0
0
0
0
0
16
77
-40
10
13
-4
0
0
0
0
0
0
0
0
0
0
0
21
32
44
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-35
-66
-13
-5
1
0
0
0
0
0
0
0
0
0
0
0
-42
3
20
-5
1
0
0
1
0
0
0
0
0
0
0
0
0
-18
27
-16
-50
34
0
0
0
0
0
0
0
0
0
0
0
0
-40
-50
-81
-57
5
23
-22
0
0
0
0
0
0
0
0
0
0
38
-22
-19
76
-10
-58
-5
2
-1
0
0
0
0
0
0
0
0
24
5
-16
31
103
22
-10
0
-2
-1
0
0
0
0
0
0
0
21
21
-100
-60
13
-49
-3
0
-4
0
0
0
0
0
0
0
0
34
-36
-99
-35
-8
-18
3
0
0
0
0
0
0
0
0
0
0
2
5
5
-36
-35
-8
0
1
0
0
0
0
0
0
0
0
0
-3
-41
3
-42
-9
0
6
0
0
0
0
0
0
0
0
0
0
-3
4
49
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
-9
30
-34
38
-41
-146
-42
0
0
0
0
0
0
0
0
0
0
44
-5
-44
-21
22
-47
9
0
0
0
0
0
0
0
0
0
0
-50
0
79
-52
-19
-139
-5
0
1
0
4
0
0
0
0
0
0
-4
-6
-88
-45
-35
46
5
0
-1
0
0
0
0
0
0
0
0
-8
43
41
-99
-34
5
0
0
0
0
0
0
0
0
0
0
0
-6
-8
5
16
22
1
0
0
0
0
0
0
0
0
0
0
0
-2
45
-24
44
-5
3
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-27
-42
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
42
14
-133
25
-44
0
0
0
2
-2
0
0
0
0
0
1
42
85
-42
-77
-57
-172
0
0
0
-1
0
0
0
0
0
0
-8
-13
50
38
-5
-52
-122
-128
-118
-3
0
0
0
0
0
0
0
7
12
22
10
-105
-86
-54
-10
-4
-1
0
0
0
0
0
0
0
-20
-5
56
5
-58
-10
-26
-13
-1
-2
6
0
0
0
0
0
0
2
-31
-28
-20
8
83
-13
6
1
-1
0
0
0
0
0
0
0
-2
-20
58
-30
2
6
-4
7
-1
-2
0
0
0
0
0
0
0
0
-12
-31
-3
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
24
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
-53
-57
-35
-49
-33
0
0
0
0
0
0
0
0
0
0
-57
-24
5
-21
-23
-86
-39
0
0
0
3
0
0
0
0
0
0
-22
-66
3
-76
15
-30
-35
-15
-3
-10
0
0
0
0
0
0
0
18
-8
-23
53
-9
-18
-21
-31
-3
-23
0
0
0
0
0
0
0
-45
-22
60
51
-49
10
49
13
-29
3
0
0
0
0
0
0
0
-32
20
54
40
-29
23
-1
-43
-2
-4
0
0
0
0
0
0
0
3
-20
-37
-24
-5
5
1
0
0
0
0
0
0
0
0
0
0
1
42
-39
-8
2
-1
0
0
-3
2
0
0
0
0
0
0
0
-1
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
-125
-92
-18
-71
-190
0
0
0
-100
-63
11
-34
-2
-1
0
18
-31
-13
-46
-67
-50
-150
0
0
0
-109
-9
-42
-29
-9
-5
0
26
-27
135
-78
16
-25
-65
-158
-194
-113
-70
-62
-93
10
-34
0
0
33
95
7
-1
1
-4
34
-81
8
-81
9
14
50
-31
-2
0
0
-13
-46
-84
-39
86
-56
20
-4
0
56
37
29
-24
-8
0
3
0
-84
-22
-33
-55
49
29
-29
-22
-16
32
-22
59
-6
1
0
-3
0
-1
-1
46
-59
-9
-15
-58
20
36
-8
64
-3
0
-1
0
0
0
-22
44
0
12
-46
-3
-22
-15
-13
-10
-2
0
-7
0
0
0
0
-2
0
1
17
4
0
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
9
-7
-110
-49
77
0
0
0
23
16
20
11
0
-139
-4
0
16
-29
12
-41
-22
-91
0
0
0
-4
-27
-94
-50
-57
-13
-26
0
-21
-2
-28
-108
-84
-36
-63
-84
-47
-29
-91
-27
-15
-54
27
11
0
-31
-42
9
26
-84
-22
-96
-10
-11
5
-5
5
8
-18
-14
-18
0
-23
-19
-22
21
-34
-108
-43
42
-48
41
-27
-13
-62
-26
31
7
0
-2
-25
-38
-70
35
12
-38
-28
-74
-50
-9
43
-57
-8
-1
-9
0
0
-58
-50
5
0
5
-28
29
-15
-3
-34
18
-1
-53
-48
-25
0
0
-19
-13
-23
-134
28
74
-4
3
-13
9
-35
5
60
29
9
0
0
-12
-31
53
20
31
-9
29
1
21
-32
-26
-26
-34
-31
-4
0
0
-57
-37
-35
-50
-45
0
0
0
5
-7
-29
-32
-17
-7
0
0
0
-89
45
-15
-51
-67
0
0
0
4
-33
-41
-74
0
4
14
0
0
-43
2
-108
-68
-112
-87
-13
-8
3
-8
-30
7
-67
-1
1
0
0
-114
-25
-25
-6
-123
-4
-34
-59
-91
13
-5
69
7
10
-10
0
0
31
-8
-75
-8
-24
31
17
-51
-25
19
-54
-26
-8
19
-33
0
0
17
-57
53
1
-53
32
8
32
8
-42
-39
10
31
-25
10
0
0
2
-22
-43
12
2
50
-27
-3
-43
-17
-35
-124
52
10
6
0
0
-8
-5
47
-3
7
-68
18
-9
-17
-12
16
-26
-8
-3
-39
0
0
3
-56
14
6
-60
6
19
-4
1
-1
0
-1
0
0
0
1
23
-30
-51
3
-67
-165
0
0
0
-107
-42
-4
6
0
0
0
43
-17
-40
-13
22
17
-197
0
0
0
-66
-86
-54
22
13
-4
0
-24
-66
-35
18
20
-30
-97
-65
-84
-51
-65
-94
-53
-49
-7
0
0
-51
-49
-115
-1
-20
0
2
-15
-71
-13
-25
-62
-68
9
-19
0
0
-51
26
-9
-46
-93
70
-56
-18
-1
3
-155
-2
-24
-9
-12
0
0
-18
70
-41
17
-32
-26
-13
-36
-33
-13
5
15
0
0
0
0
0
15
-1
-70
-1
11
13
58
22
59
-32
18
-46
-16
0
0
-2
0
-7
-57
-44
-6
-74
-6
-15
-29
-24
5
4
-4
-1
-5
1
0
0
0
-1
-7
24
-6
0
-2
0
0
2
0
0
0
0
0
0
0
68
-17
-22
53
-22
-46
-96
0
0
0
17
-25
-1
0
0
0
0
-54
-58
-13
-40
-92
-81
-155
0
0
0
-38
-47
3
-1
0
0
0
60
-20
68
-10
40
-125
-87
-153
-46
-80
-66
-9
-5
-1
-1
0
0
-8
-1
-54
-3
-53
-19
-17
-35
-3
-61
-64
3
0
0
0
0
0
-5
-22
9
0
-29
-70
-9
-69
-15
-76
2
-12
0
0
0
0
0
-15
10
-4
-122
24
95
-31
3
75
28
-24
2
0
0
0
0
0
-2
0
2
37
48
16
55
-48
-22
1
0
1
0
0
0
0
0
0
7
21
8
5
-8
-56
-19
6
6
-2
-2
0
0
0
0
0
0
0
0
-1
7
0
3
-2
2
-8
0
0
0
0
0
0
0
-4
21
-12
2
7
-75
-41
0
0
0
59
-29
2
3
0
0
0
8
-8
-83
-71
-84
-60
-137
0
0
0
9
-37
5
1
0
0
0
4
-127
-5
-44
-53
-24
-137
-141
-110
-20
-92
-4
-27
2
3
0
0
4
-90
-14
-88
-34
-82
-55
17
-18
-49
-16
29
3
-3
0
0
0
2
37
25
-2
-18
31
-7
30
-62
-61
47
-56
7
0
0
0
0
4
-15
-7
-54
-59
32
-3
-64
47
56
-167
-5
-6
0
0
0
0
0
-8
1
9
-13
15
55
-14
-75
20
-3
8
0
0
0
0
0
0
-3
4
18
46
30
1
30
33
12
9
0
1
0
0
0
0
0
0
0
0
-1
0
-1
4
3
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
2
4
-9
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-24
-12
-8
17
12
0
0
0
0
0
0
0
0
0
0
0
1
5
-14
3
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
1
12
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
5
-2
7
0
0
24
0
0
0
0
0
0
0
0
0
0
1
1
0
-47
28
-19
-29
0
0
0
0
0
0
0
0
0
0
0
-1
25
-6
13
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-8
-17
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
37
-13
-1
-1
0
0
0
0
0
0
0
0
0
0
5
-1
-7
-31
12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
7
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
-2
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
-4
0
0
0
-1
6
-17
20
33
2
0
0
0
0
0
1
1
1
0
0
0
35
66
-8
-2
-17
-1
0
0
0
0
0
0
4
1
27
26
45
-18
24
-2
15
-13
3
0
0
0
0
0
0
-1
6
10
2
10
-7
-20
-6
17
-6
4
0
0
0
0
0
0
3
0
-7
-16
-7
-5
31
-16
-2
0
0
0
0
0
0
0
0
0
-2
6
-12
-8
5
0
4
5
0
0
0
0
0
0
0
0
0
0
2
-3
1
2
-2
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
0
0
1
-4
-2
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
10
9
0
0
0
33
-4
0
-2
0
-1
0
0
0
0
0
0
0
-6
-16
-13
-6
25
10
6
0
3
1
0
0
0
0
0
0
1
8
25
6
2
-3
-1
2
0
2
2
0
0
0
0
0
0
0
3
8
5
12
3
13
1
-1
0
0
0
0
0
0
0
0
0
0
-2
-2
5
0
4
-1
1
0
0
0
0
0
0
0
0
0
-1
0
3
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
18
0
0
0
23
-8
73
25
9
26
15
0
0
0
0
-4
5
27
15
0
0
-5
41
13
44
28
-5
0
0
0
0
1
-2
8
20
19
-41
41
27
-29
73
76
30
84
-18
0
0
0
0
1
0
-1
-7
5
-27
20
59
75
58
63
91
66
0
0
0
1
0
3
-14
-8
-12
28
26
-19
58
36
-7
-3
-16
0
0
0
0
0
0
-6
-2
-14
-10
-22
4
1
63
32
-46
6
0
0
0
0
0
0
0
0
1
0
2
77
-41
2
-26
-9
2
0
0
0
0
0
0
0
-4
-3
2
-3
-25
-34
-13
-23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
0
0
6
31
-50
25
8
-112
-54
0
0
0
0
0
0
0
-2
-4
7
4
-26
43
-10
23
0
4
0
0
0
0
0
-1
0
17
27
-17
-4
31
46
26
44
159
64
0
0
0
0
0
0
7
10
13
3
-18
-27
-13
15
59
-30
-14
0
0
0
0
0
0
-2
-8
-15
-23
-26
19
36
-11
69
-23
-31
0
0
0
0
0
0
0
-1
-7
27
15
-10
6
-34
-26
-31
13
0
0
0
0
0
0
-2
1
-7
2
12
84
18
48
3
55
-19
0
0
0
0
0
0
0
1
1
-9
19
-8
21
-4
16
-3
12
0
0
0
0
0
0
0
0
-3
-3
1
24
-6
-8
-13
-5
-1
0
0
0
0
0
0
-7
-7
0
-51
54
74
28
22
21
12
-4
0
0
0
0
0
0
-1
14
79
12
0
45
13
-3
-9
28
-8
0
0
0
0
1
0
-31
-16
-5
8
-12
7
0
9
-27
-8
47
0
0
0
0
0
1
4
-14
-5
49
8
7
18
27
17
-28
9
0
0
0
0
0
0
4
4
5
5
76
-68
-9
12
5
71
42
0
0
0
0
1
0
-6
13
-29
31
-26
23
-12
-38
57
3
-35
0
0
0
0
0
0
0
-8
9
16
-10
24
26
-2
9
42
-23
0
0
0
0
0
0
1
0
2
25
-3
-9
9
48
-5
19
-13
0
0
0
0
0
0
0
0
0
0
1
0
5
13
5
0
0
0
0
0
-3
-1
12
16
46
0
0
16
64
-30
-18
-27
76
5
0
0
0
1
5
22
-5
0
71
0
52
45
25
59
111
-52
1
0
0
0
2
-14
-17
27
-30
11
25
57
13
81
23
16
49
50
0
0
0
0
0
8
-43
-36
7
-18
-19
-41
58
18
-12
17
31
0
0
0
0
0
7
5
13
5
-9
-28
54
22
1
89
43
0
0
0
0
0
0
-3
1
4
16
-53
18
8
-71
80
-17
10
42
0
0
0
0
0
1
-2
-25
-13
28
-22
-3
-29
31
-36
7
7
0
0
0
0
0
1
3
-7
16
-3
4
4
-30
7
14
1
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
-10
3
0
0
0
0
0
0
0
4
6
13
0
-13
69
21
-38
4
5
27
10
0
0
0
0
0
0
25
0
-18
0
31
-3
36
-22
-48
-5
-3
0
0
0
0
0
4
-8
32
0
9
13
29
-16
15
-41
-2
-3
0
0
0
0
3
0
-8
-14
-13
7
48
-18
14
1
-5
25
-9
0
0
0
0
1
0
-1
-1
17
-9
-9
31
-6
75
29
24
10
0
0
0
0
0
0
0
-1
1
0
30
21
5
29
-5
3
-1
0
0
0
0
0
0
0
0
0
5
10
0
-9
15
-15
-5
0
0
0
0
0
0
0
0
0
-1
-1
0
-7
25
-1
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
52
-9
30
30
6
13
10
0
0
0
0
0
0
3
53
0
40
1
22
19
-18
4
15
33
0
0
0
0
0
0
1
33
-14
-8
8
41
4
25
-18
10
23
0
0
0
0
0
0
-1
25
-3
16
7
9
3
-31
35
14
2
0
0
0
0
0
0
0
1
-5
2
-3
8
25
-10
-2
-17
-5
0
0
0
0
0
0
0
0
-14
3
-6
25
-13
20
-9
43
0
0
0
0
0
0
0
0
0
3
0
-1
2
3
12
-27
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-6
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
17
-10
-32
-3
16
0
0
0
0
0
0
0
0
0
0
0
-2
-6
1
15
22
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-35
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
-8
4
39
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
-3
-4
6
36
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
-16
29
5
-19
28
0
0
0
0
0
0
0
0
0
0
0
-1
-2
8
-13
47
-9
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
25
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-8
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
-1
14
11
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
2
-28
15
-54
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-34
8
-3
3
0
0
0
0
0
0
0
0
0
0
0
3
8
-15
-6
-19
5
0
0
0
0
0
0
0
0
0
0
-1
1
4
1
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-13
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
8
1
-7
-3
-12
0
0
0
0
0
0
-1
0
6
0
0
0
-41
-6
5
3
8
-4
0
0
0
0
0
0
4
4
-25
-50
-41
-6
8
-44
-14
25
-1
0
0
0
0
0
0
-2
-3
-6
18
7
24
-4
-24
3
-1
-8
0
0
0
0
0
0
0
1
9
14
20
17
0
-1
0
-1
-2
0
0
0
0
0
0
0
0
6
-8
0
-9
23
-7
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
-23
-1
0
0
0
0
0
0
0
0
0
0
0
2
-2
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
30
1
0
0
0
0
0
0
0
0
0
0
0
2
-6
3
1
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
5
22
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
7
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
1
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-2
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-26
-17
-21
-67
-66
14
1
0
0
0
0
-3
-8
-3
-3
0
0
-7
41
27
-48
-96
-18
-16
0
0
0
0
-1
-4
-5
24
1
-46
-7
-21
-36
-32
-22
-36
-99
0
0
0
0
0
0
5
13
-5
-32
-50
44
38
-21
-30
30
-75
0
0
0
0
0
8
9
29
-2
40
-10
47
15
45
-26
-42
10
0
0
0
0
1
-6
-7
4
-16
14
27
5
-13
-2
-142
-37
-8
0
0
0
0
0
0
-3
-3
-4
16
37
25
-57
2
30
-75
1
0
0
0
0
0
0
5
3
-3
-3
5
13
-16
10
-14
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
20
-2
-42
-25
-35
22
-13
0
0
0
0
0
0
0
20
-25
-36
-48
-41
-61
-97
135
-10
-34
0
0
0
0
0
0
1
2
4
-9
22
-41
5
8
-9
-55
-41
0
0
0
0
0
-4
-1
3
13
-7
-9
-11
13
48
-68
41
-8
0
0
0
0
0
0
0
-1
3
-20
-6
-12
29
-5
18
49
32
0
0
0
0
0
0
-1
0
6
5
-12
-31
-7
69
-6
5
-1
0
0
0
0
0
0
0
-1
3
13
-16
-12
1
-13
-41
-30
-43
0
0
0
0
0
0
0
-1
0
12
-7
3
24
-49
7
-32
-20
0
0
0
0
0
0
0
0
1
-5
-2
-1
-17
23
-30
-26
13
0
0
0
0
0
0
2
8
0
46
-43
-18
-32
5
-5
-22
19
0
0
0
0
0
1
-1
10
-74
-16
0
-49
15
-14
-47
-72
4
0
0
0
0
0
0
-1
4
-36
-100
19
-59
-10
8
-32
-43
-15
0
0
0
0
0
0
9
-14
18
2
-26
52
-44
-6
-18
-44
-19
0
0
0
0
0
0
5
-12
-7
-11
1
-22
-12
34
5
33
-66
0
0
0
0
-1
0
-8
-7
12
-5
-8
-3
21
41
14
-49
-69
0
0
0
0
1
0
2
0
15
9
-28
-14
17
-27
12
5
-66
0
0
0
0
0
0
1
0
-4
-4
-32
-7
8
1
26
-4
13
0
0
0
0
0
0
0
0
0
0
-1
-4
-27
3
-2
0
0
0
0
0
2
0
-10
-3
-5
0
0
-73
2
-42
-20
-45
-25
-39
0
0
0
0
3
-41
-8
0
-22
0
-125
-28
-20
-56
-49
-9
-12
0
0
-1
0
4
-21
18
95
-35
8
-115
9
-54
-113
-41
18
-3
0
0
0
0
0
5
11
5
-34
-48
-5
-11
-21
38
37
-31
-8
0
0
0
0
0
-1
2
10
41
43
49
31
40
23
-151
-37
18
0
0
0
0
0
0
6
5
5
11
5
48
-7
-8
27
24
-24
0
0
0
0
0
0
8
-9
-14
-13
20
40
46
42
22
-8
-2
0
0
0
0
0
0
-1
-3
-8
-1
7
31
-20
25
-3
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
2
-3
0
0
0
0
0
0
0
-1
3
-31
0
42
-6
-34
12
-1
-48
-41
-3
0
0
0
0
0
-5
14
0
3
0
9
8
-7
-41
8
-9
17
0
0
0
1
0
-2
-3
1
5
19
-1
6
-32
-16
8
-31
8
0
0
0
0
0
-1
-2
-8
-3
-18
9
-9
-31
-76
-50
-12
-5
0
0
0
0
0
0
-2
7
-5
8
21
-19
-12
-37
-2
-5
-18
0
0
0
0
0
0
0
-2
1
-2
3
30
-8
22
-15
-2
3
0
0
0
0
0
0
0
0
0
-3
3
6
28
-34
20
-2
0
0
0
0
0
0
0
0
-1
0
0
-1
13
8
-23
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
1
-14
-19
-5
0
0
0
0
0
0
0
-1
-51
0
12
4
-25
-5
35
-24
-13
-12
0
0
0
0
0
0
0
13
8
-14
0
18
-4
-14
-1
-42
8
0
0
0
0
0
0
4
4
0
23
3
5
-10
18
-18
-23
1
0
0
0
0
0
0
0
-2
-3
-8
10
7
-7
21
18
-2
0
0
0
0
0
0
0
0
-1
-6
6
4
-8
22
-19
-31
-23
1
0
0
0
0
0
0
0
0
0
-2
-1
-3
5
-22
-8
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
1
-10
35
0
0
5
0
0
0
0
0
0
0
0
0
0
1
-2
14
-16
9
13
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-7
16
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-12
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-7
10
7
13
0
0
30
0
0
0
0
0
0
0
0
0
0
0
-3
-25
2
13
-43
15
0
0
0
0
0
0
0
0
0
0
0
2
-22
15
4
31
4
0
0
0
0
0
0
0
0
0
0
0
-2
4
8
22
13
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-12
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
6
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
34
6
0
0
0
0
0
0
0
0
1
0
2
0
3
0
0
21
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
23
-41
12
22
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
8
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
4
23
-19
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
23
4
5
-7
0
1
0
0
0
0
1
4
19
-1
0
0
0
31
2
3
-9
3
1
0
0
0
0
0
0
3
4
-4
41
-3
78
10
-8
-9
-3
0
0
0
0
0
0
0
4
3
15
-20
23
12
25
7
-4
4
0
0
0
0
0
0
0
0
0
-3
-12
-2
32
-3
1
-14
2
0
0
0
0
0
0
0
-1
0
8
8
-7
-1
-1
-8
0
-2
0
0
0
0
0
0
0
0
0
1
12
0
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
47
-6
-1
0
0
0
0
0
0
0
0
8
4
3
0
0
0
9
-3
0
3
0
1
0
0
0
0
-1
-3
12
41
42
85
6
42
8
-9
-3
1
0
-1
0
0
0
0
0
7
8
6
-15
-32
-5
32
5
-1
0
1
0
0
0
0
0
0
0
0
-10
20
6
-12
4
5
-8
0
0
0
0
0
0
0
0
0
-6
-4
7
29
0
0
-6
0
-3
0
0
0
0
0
0
-1
0
0
0
8
25
-2
-5
-1
2
1
0
0
0
0
0
0
0
1
3
4
6
1
1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
14
8
52
54
48
64
23
0
0
0
1
-1
7
21
-10
0
0
71
-13
0
37
60
95
13
0
0
-2
0
-1
0
0
-25
-75
-5
13
13
99
32
17
69
14
0
0
0
0
0
2
-4
-7
-9
-2
25
-48
49
12
41
-7
-42
0
0
0
0
0
-3
-2
-20
-19
31
-46
-7
19
33
33
27
6
0
0
0
0
0
0
4
1
12
0
8
-9
-13
42
-8
30
8
0
0
0
0
0
0
0
-1
9
-8
-16
2
-16
20
8
6
-5
0
0
0
1
0
0
-1
0
-2
2
6
3
-17
13
1
0
-2
0
0
0
0
0
-2
0
0
-1
1
2
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-68
-45
-70
7
-63
-50
-60
0
0
0
0
0
0
-2
-5
5
13
11
-22
-10
36
28
74
8
0
0
0
0
0
0
0
5
0
-14
35
-14
54
-1
13
-23
9
0
0
0
0
0
0
-2
0
3
-4
14
29
4
-8
13
15
4
0
0
0
0
0
0
0
7
-5
1
-16
36
-2
47
-19
22
76
0
0
0
0
0
0
0
7
0
1
-16
-3
-39
25
-39
-22
106
0
0
0
0
0
0
0
1
-7
-7
-4
-6
-14
12
37
25
11
0
0
0
0
0
0
0
0
3
3
15
35
21
29
29
39
34
0
0
0
0
0
0
0
0
-3
-4
29
-24
10
-8
9
12
12
0
0
0
0
0
0
8
37
0
-34
-7
43
-32
-5
47
-18
-14
0
0
0
0
0
0
2
-8
11
14
0
49
-48
7
-31
5
38
0
0
0
0
0
0
6
12
-17
-17
-13
10
2
25
-17
-23
42
0
0
0
0
0
0
-4
13
23
24
-54
86
-49
36
-17
49
32
0
0
0
0
0
-1
0
2
-14
-17
-10
12
-92
7
91
23
-13
0
0
0
0
0
0
0
2
-2
-1
31
5
-1
51
67
92
-5
0
0
0
0
0
0
0
0
-6
5
0
-32
69
39
32
-6
33
0
0
0
0
0
0
0
0
-1
-13
4
-6
-5
-38
2
24
-10
0
0
0
0
0
0
0
0
0
-1
-1
0
6
8
2
0
0
0
0
0
0
-1
0
41
11
0
0
18
63
45
50
-21
33
23
0
0
0
0
-5
-8
-66
0
-39
0
-4
10
59
70
67
-2
21
0
0
0
0
1
-8
-2
-28
-66
55
9
-9
31
105
6
12
4
0
0
0
0
0
0
6
-5
-10
-49
-26
-50
-10
-38
102
-16
-35
0
0
0
0
1
3
-4
2
12
23
41
30
13
71
55
7
-3
0
0
0
0
0
0
-5
41
-10
44
11
38
-38
25
62
9
-6
0
0
0
0
0
0
0
0
2
-25
1
-51
-13
3
8
-5
-2
0
0
0
0
0
0
0
-1
-8
-9
-8
-2
-8
-5
-2
4
1
0
0
0
0
0
0
0
0
2
1
13
1
1
0
1
0
0
0
0
0
0
0
0
1
1
0
-1
-15
8
21
-8
13
19
-9
0
0
0
0
0
-1
-2
0
20
0
15
41
8
-2
0
45
-8
0
0
0
1
3
1
-5
-8
4
-20
31
34
-50
13
17
19
-10
0
0
0
0
0
0
-5
13
24
-5
-20
-7
50
21
5
-10
0
0
0
0
0
0
0
-1
-2
9
16
7
-19
25
32
-9
31
-5
0
0
0
0
0
0
0
0
0
7
12
-6
-5
2
24
2
3
0
0
0
0
0
0
-1
0
0
1
2
4
8
-8
4
8
0
0
0
0
0
0
0
0
0
-3
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
-30
-5
19
4
48
25
1
0
0
0
0
0
0
25
5
0
-7
24
8
-4
7
8
60
33
0
0
0
0
0
0
0
5
17
2
-2
13
-5
6
28
45
3
0
0
0
0
0
0
1
16
4
20
-5
16
57
25
0
63
-18
0
0
0
0
0
0
0
4
-27
6
12
-13
3
18
-28
49
3
0
0
0
0
0
0
0
0
0
7
8
7
9
-23
0
5
4
0
0
0
0
0
0
0
0
5
-2
16
5
8
-1
6
-4
2
0
0
0
0
0
0
0
0
3
1
1
0
1
-2
8
1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-6
-8
0
92
-42
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
-25
-12
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-8
12
2
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-4
0
0
0
0
0
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
5
0
0
0
17
0
0
0
0
0
0
0
0
0
0
9
9
-5
-74
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
6
-3
-4
-2
-7
-4
0
0
0
0
0
0
0
0
0
0
-3
0
-3
7
8
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-17
22
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
1
0
0
0
0
0
0
0
0
1
0
-1
3
-3
0
0
11
-3
0
0
0
0
0
0
0
0
0
0
-1
-1
33
-33
-18
-10
-9
0
0
0
0
0
0
0
0
0
0
0
2
-6
-12
8
-10
-8
0
0
0
0
0
0
0
0
0
0
1
0
-18
31
3
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
4
1
0
0
0
0
0
0
0
0
-1
-4
0
0
0
-37
12
-5
1
-3
0
0
0
0
0
0
0
-1
-1
7
-21
-10
-8
-5
0
1
-1
0
0
0
0
0
0
0
-2
0
1
-1
8
9
20
-2
-3
-2
0
0
0
0
0
0
0
0
1
1
-4
17
0
-1
0
-8
0
0
0
0
0
0
0
0
0
1
5
8
-3
5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-5
-18
-109
-15
10
0
-1
-1
0
0
0
0
0
0
0
0
0
1
3
0
-5
27
3
-2
3
0
-1
0
0
0
0
0
0
0
3
0
-3
-1
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
-3
-1
0
-7
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
-9
0
0
0
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
-58
-45
-10
-34
-11
7
1
0
0
0
0
1
8
-13
5
0
0
-21
-13
24
16
-2
-75
0
0
0
1
0
-3
3
0
-17
-12
-33
25
6
-16
-50
21
-9
20
0
0
0
0
0
1
13
0
-33
3
-22
3
-5
-58
-106
35
1
0
0
0
0
0
-1
3
5
2
1
1
41
-10
39
-7
-111
21
0
0
0
0
0
0
1
-6
-3
18
16
-24
-2
9
10
27
-2
0
0
0
0
0
0
0
-15
1
-4
1
-22
-7
7
-22
-23
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
2
3
0
-5
0
0
0
0
0
1
0
0
-2
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
13
58
104
10
76
-5
0
0
0
0
0
0
0
2
27
-27
-18
-21
-21
7
-5
-90
-4
0
0
0
0
0
0
-1
-3
3
-16
9
19
-28
0
-19
-73
-6
0
0
0
0
0
0
-1
-4
0
22
-20
-28
47
-5
0
-34
-1
0
0
0
0
0
-2
0
1
1
0
-25
-42
6
16
14
-34
-19
0
0
0
0
0
0
0
-8
4
3
0
-20
23
-2
-48
-25
-96
0
0
0
0
0
0
0
-2
-4
3
-1
7
31
-14
-59
-106
25
0
0
0
0
0
0
0
-1
-4
-5
12
7
-28
2
-82
-32
25
0
0
0
0
0
0
0
2
-1
5
-7
19
-5
-4
26
-51
-13
0
0
0
0
0
0
1
9
0
-14
4
-23
-3
-2
-45
-54
22
0
0
0
1
0
0
-6
-3
-26
14
0
-42
-44
-41
-33
28
9
0
0
0
0
0
0
-4
2
7
11
-43
-2
-45
-22
12
-32
-72
0
0
0
0
1
1
2
-7
-15
-22
27
58
44
15
-49
-5
15
0
0
0
0
0
0
0
-2
9
-8
16
60
24
-6
-16
-33
2
0
0
0
0
0
0
1
0
-22
-12
-10
5
-42
-5
-76
-75
20
0
0
0
0
0
-1
0
0
-4
10
1
-30
9
-58
47
18
30
0
0
0
0
-1
0
0
0
5
9
-2
3
-11
-19
0
-2
-93
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
2
0
0
0
0
0
0
0
1
0
-80
0
0
23
-45
-14
21
-10
14
-25
0
0
0
0
-1
-17
-9
0
-34
0
20
42
-51
-84
-5
1
-27
0
0
0
1
0
-2
5
-19
-37
-111
-61
15
-33
-65
-7
43
-19
0
0
0
0
0
0
-12
-3
4
-19
-11
-10
13
-18
-7
18
-1
0
0
0
0
0
-2
8
-7
-53
-8
12
-6
-58
21
-4
7
-14
0
0
0
0
0
0
0
-8
-34
-16
10
-9
59
43
-20
1
-5
0
0
0
0
0
0
0
0
2
24
20
0
-4
-6
-22
-5
-1
0
0
0
0
0
0
0
3
1
5
-4
8
8
-2
8
13
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
1
0
0
0
0
0
0
0
0
-1
0
0
-15
4
3
15
-8
9
-7
0
0
0
0
0
0
1
-7
0
-8
0
-15
-8
-46
-25
-3
-4
-1
0
0
0
0
0
-1
-2
-5
-1
-8
3
-32
-8
7
-14
-7
8
0
0
0
0
1
0
-1
4
3
8
-1
-30
-16
42
-7
1
9
0
0
0
0
0
0
-1
-1
-8
-4
9
-31
20
-14
12
4
-12
0
0
0
0
0
0
0
0
-2
1
5
3
8
15
-7
24
1
0
0
0
0
0
0
0
0
-1
0
3
-6
-1
-2
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
2
0
0
0
-42
-3
15
13
41
24
6
0
0
0
0
0
0
0
5
0
-17
-8
-52
13
9
-12
7
-39
0
0
0
0
0
0
0
5
5
-3
-19
31
1
-25
34
10
-5
0
0
0
0
0
0
-1
1
-3
20
-10
0
9
-13
-8
18
9
0
0
0
0
0
0
0
-14
4
-1
0
-8
4
-10
-15
-8
5
0
0
0
0
0
0
0
-2
-2
0
2
-7
-4
18
-5
24
27
0
0
0
0
0
0
0
0
-1
0
0
3
4
-12
-16
-5
0
0
0
0
0
0
0
0
0
-4
0
1
3
1
4
6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-6
5
7
3
-1
0
0
0
0
0
0
0
0
0
8
42
5
-6
4
-4
-12
-1
0
0
0
0
0
0
0
0
0
1
27
6
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
-34
-7
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
32
-22
22
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
9
12
-4
-3
-2
5
0
2
0
0
0
0
0
0
0
4
-2
-1
54
7
-6
-8
-3
8
2
0
0
0
0
0
0
0
-1
-41
30
-5
-3
12
4
0
-1
1
0
0
0
0
0
0
0
-1
2
-5
-16
-12
7
0
1
0
0
0
0
0
0
0
0
0
4
17
15
-34
0
-13
-2
0
0
0
0
0
0
0
0
0
0
1
5
-8
13
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
5
5
-3
5
-19
0
0
0
0
0
0
0
0
0
2
-1
-14
13
1
12
3
6
-7
0
0
0
0
0
0
0
0
-1
-8
-20
-13
-19
-1
0
1
0
0
0
0
0
0
0
0
0
-1
-14
18
32
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
2
9
30
4
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
22
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
-8
10
12
3
13
-1
0
21
0
1
0
0
0
0
0
8
1
15
5
23
17
8
20
-49
-15
0
0
0
0
0
0
0
0
-9
-5
-10
-31
18
9
-5
-8
-5
0
-1
0
0
0
0
0
8
8
-4
33
25
-1
5
12
13
3
0
0
0
0
0
0
0
0
-4
-10
18
4
-1
13
-1
0
0
0
0
0
0
0
0
0
1
-2
2
-1
-5
17
0
4
0
0
0
0
0
0
0
0
0
0
-1
-1
0
31
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
1
-2
7
7
-14
0
0
0
0
0
0
0
0
0
-3
0
7
18
10
9
13
2
5
0
0
0
0
0
0
0
0
3
6
19
7
30
1
-5
0
-2
1
0
0
0
0
0
0
0
-8
13
10
4
-10
0
10
-3
2
0
0
0
0
0
0
0
0
2
-14
32
-1
-1
2
-2
-1
0
0
0
0
0
0
0
0
0
0
-3
-8
-4
8
-3
-4
0
1
0
0
0
0
0
0
0
0
0
1
-1
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-13
-55
-13
25
40
8
0
0
17
5
1
0
0
0
0
25
63
25
22
85
58
0
1
-49
0
10
16
13
0
1
0
0
-15
-13
-5
-31
34
3
50
46
-81
58
50
-5
7
1
0
0
0
-14
22
-8
-22
19
51
-17
6
5
100
65
40
-1
1
0
0
0
4
-15
22
32
44
50
16
74
18
37
28
20
-1
0
0
0
0
0
-10
19
-17
12
-15
-10
39
16
-13
13
-4
0
0
0
0
0
0
30
-9
-5
-14
-19
1
-12
8
-6
-7
0
-1
0
0
0
0
0
2
-4
-4
-7
-1
7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
33
49
22
-27
-44
0
13
-12
16
0
0
0
0
0
0
1
-3
49
-11
49
-24
47
64
-17
21
-9
13
-1
-1
0
0
0
-1
-8
1
3
11
7
5
42
5
25
-12
6
2
0
0
0
0
0
6
-34
17
-12
27
61
43
-16
-2
2
3
0
0
0
0
0
0
-1
-13
5
-45
-41
4
-20
51
-31
-6
1
0
0
0
0
0
0
6
14
9
-1
52
-16
-10
47
-2
1
7
0
-2
0
0
0
0
4
10
-25
-14
2
19
5
7
5
1
2
-1
0
0
0
0
0
0
7
9
5
-8
-1
30
7
41
-1
-5
0
1
0
0
0
0
0
0
-1
0
5
3
-3
41
-22
-1
6
0
0
0
0
0
0
-8
-7
44
81
70
18
0
76
16
30
3
0
1
0
0
0
0
7
-37
37
39
45
92
2
-16
8
-19
-1
2
0
0
0
0
0
-30
5
47
45
-13
46
-42
44
-25
-2
-19
7
0
0
0
0
0
-31
14
9
-22
68
-10
15
6
2
19
5
-3
3
0
0
0
0
-4
-18
-6
108
40
19
-2
28
25
13
22
7
0
0
0
0
0
-2
-21
-10
32
42
79
27
8
-25
9
-20
1
0
0
0
0
0
-1
-1
28
8
3
-25
19
5
-24
5
24
-1
0
0
0
0
0
0
9
30
-30
-4
12
13
-8
5
-5
-6
0
0
0
0
0
0
0
0
14
0
-23
14
-4
-1
0
0
0
0
0
0
0
8
19
-20
25
7
8
28
-28
0
-15
8
32
-3
0
0
0
0
-7
4
27
55
83
26
-37
6
0
-3
-1
23
15
-4
0
0
0
-41
50
-24
26
-35
34
49
49
-30
31
11
32
-4
-3
0
0
0
-12
75
41
-3
53
44
9
-19
50
42
8
8
1
-1
0
0
0
14
61
49
0
26
27
-9
12
-5
13
42
5
3
2
-1
0
0
12
8
-2
4
20
7
-10
25
-6
12
21
8
0
2
0
0
0
1
8
-16
2
-1
-24
4
49
1
-7
-3
1
0
0
0
0
0
0
-1
-3
-7
6
8
-17
-6
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
5
6
-5
-1
42
24
-19
8
0
-9
-1
5
-1
0
0
0
0
4
9
41
10
49
6
76
-27
32
6
2
1
6
0
0
0
0
17
21
13
-1
4
9
-72
15
27
-30
9
-1
0
0
0
0
0
-8
-9
0
-6
32
0
29
14
70
20
-2
1
0
0
0
0
0
19
1
-18
-31
27
-9
19
32
-13
13
0
1
0
0
0
0
0
0
-5
-20
33
-32
8
22
-13
-16
1
1
0
0
0
0
0
0
0
0
10
0
30
-25
-13
33
-3
-1
1
0
0
0
0
0
0
0
0
-2
2
0
23
-4
5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-20
5
5
22
-7
31
0
-15
3
0
0
0
0
0
0
8
10
-16
3
5
10
28
23
-31
44
0
1
0
0
0
0
0
-2
10
41
7
-10
4
31
-9
-26
31
2
-2
0
0
0
0
0
8
49
-8
0
-8
-7
12
45
10
13
9
0
0
0
0
0
0
0
-7
5
19
-7
-5
24
18
-6
2
-2
1
0
0
0
0
0
0
4
4
8
8
-8
2
-4
9
13
0
0
0
0
0
0
0
2
0
5
-3
6
16
17
10
3
-7
-2
0
0
0
0
0
0
0
0
0
0
-1
-6
1
5
20
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
10
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
22
-32
3
-5
-2
-4
0
0
0
0
0
0
0
0
0
-1
-12
22
16
-5
0
4
-24
5
1
0
0
0
0
0
0
0
2
-3
-42
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
21
2
7
3
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
18
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-25
-18
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-4
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-1
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
6
-17
-6
-8
25
0
5
0
0
0
0
0
0
0
0
0
15
-15
-59
17
-1
-21
4
-13
17
-7
0
0
0
0
0
0
0
2
-30
-12
-9
14
30
16
2
1
1
0
0
0
0
0
0
0
-12
18
46
45
15
-3
0
0
0
0
0
0
0
0
0
0
0
1
5
4
58
15
-14
-5
0
0
0
0
0
0
0
0
0
0
0
-7
8
15
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
4
-4
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-9
-33
-17
6
-8
5
0
-1
0
0
0
0
0
0
0
0
-12
-49
-18
-5
8
4
18
9
-4
0
0
0
0
0
0
0
-1
54
15
-4
31
8
-7
0
0
0
0
0
0
0
0
0
0
0
31
-25
-7
-10
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
7
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-6
-20
7
7
-3
-44
0
-8
0
-2
0
0
0
0
0
-3
-13
-61
25
-9
0
2
-76
-37
-54
0
0
0
0
0
0
0
-8
-6
-14
-8
21
18
42
-7
4
0
0
0
0
0
0
0
0
2
18
-1
25
-5
1
-22
13
-4
-4
0
0
0
0
0
0
0
0
0
4
-2
10
10
7
-8
0
0
0
0
0
0
0
0
0
-2
-3
5
27
1
3
4
-2
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
8
5
-1
0
-3
-6
0
0
0
0
0
0
0
0
0
1
-3
16
20
-3
-8
2
-7
1
2
0
0
0
0
0
0
0
0
9
30
-10
-2
1
2
0
0
0
0
0
0
0
0
0
0
2
-6
0
18
3
0
1
0
-1
0
0
0
0
0
0
0
0
0
5
-7
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-8
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-19
5
25
-31
58
-191
0
-95
-19
-3
-5
6
0
0
0
-1
13
2
2
-44
-25
41
-136
-64
-44
-18
-5
-4
-5
-2
0
0
16
24
-9
-66
-22
45
-8
25
82
73
2
7
-36
8
0
0
0
13
5
-33
10
-19
-92
19
71
57
20
-54
-3
7
3
0
0
0
23
6
-17
-51
-15
-3
-41
5
-5
-1
22
-24
8
0
0
0
0
4
-10
44
25
-8
24
-27
-4
-37
17
-4
-7
0
0
0
0
0
0
-3
-13
2
-20
-5
14
-17
3
1
1
1
0
0
0
0
0
0
0
4
17
7
2
-6
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-28
8
-47
76
0
-56
-42
-17
-18
1
0
0
0
0
0
13
26
-1
-69
9
-13
22
-13
-49
-45
-16
-3
0
0
0
0
0
-12
2
-8
8
-30
-50
13
2
-13
30
-13
5
0
2
0
0
0
0
2
-73
-4
-49
13
-25
12
-12
-20
0
-2
0
0
0
0
0
-1
35
-9
18
-34
-3
49
9
25
0
5
8
0
0
0
0
0
-3
0
-24
-4
-9
-14
-25
22
4
1
2
0
1
0
0
0
0
0
-9
-2
-8
-35
1
59
25
14
1
3
7
0
0
0
0
0
0
0
19
-4
15
28
-16
-10
-9
23
-6
-1
0
0
0
0
0
0
0
-1
-1
-2
7
29
-34
7
-12
-2
-1
0
0
0
0
0
-7
40
-86
-118
-15
-24
0
20
20
-22
41
0
0
0
0
0
0
12
20
100
-94
-40
-88
26
67
24
11
-19
7
0
0
0
0
0
-24
-42
-72
-9
-41
-57
56
-66
9
-31
-2
-9
0
0
0
0
0
-12
-30
-26
-16
7
41
-76
-8
-23
18
-1
8
-1
0
0
0
0
8
42
-14
-60
5
54
-49
-25
13
-7
-10
7
-2
0
0
0
0
0
-2
-13
-22
7
44
14
-14
14
13
-4
-3
0
0
0
0
0
0
-4
4
39
27
8
-13
-9
25
-20
0
-3
0
0
0
0
0
0
3
-49
12
-19
-42
-14
-14
-25
2
2
1
0
0
0
0
0
0
0
-6
1
5
5
-2
6
1
-2
0
0
0
0
0
16
30
-37
15
-21
-26
-51
-117
0
-65
-46
-21
-1
-1
0
0
0
4
26
-90
-66
-12
-36
69
-46
-31
-84
-18
-5
-13
0
0
0
0
-5
24
-13
-61
-36
22
-8
61
16
54
55
2
1
-1
-2
0
0
30
12
18
42
-80
45
6
-15
11
22
15
-39
7
0
0
0
0
-9
-52
12
9
-57
15
31
-8
33
-22
5
23
6
-4
1
0
0
-4
-30
13
31
13
26
24
-37
-6
2
-5
8
0
0
0
0
0
1
6
30
9
6
-6
-6
14
10
5
-17
-5
0
0
0
0
0
0
-2
-7
-8
-8
-7
-6
5
-4
-3
2
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
2
-8
8
-12
3
-25
-10
-30
0
8
-20
-8
1
0
0
0
0
-2
-5
2
6
20
36
-34
-18
-37
-22
-1
0
3
0
0
0
0
3
-3
29
-1
44
5
48
17
-45
-9
-30
-2
0
0
0
0
0
-3
8
-31
-9
5
-37
8
-30
-25
-5
-1
-3
0
0
0
0
0
0
-7
15
21
-16
-23
-15
-41
23
8
0
0
0
0
0
0
0
0
1
-18
-12
-13
10
-13
-9
-6
1
-6
0
0
0
0
0
0
0
0
8
-1
8
13
-6
-12
9
4
-2
0
0
0
0
0
0
0
0
0
1
-1
2
-13
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
3
-5
0
0
-10
-50
0
-13
-6
0
0
0
0
0
0
-1
-29
-42
-13
-10
15
-16
-12
-42
-16
-5
-5
0
0
0
0
0
5
1
16
2
0
14
-31
18
-12
-8
-12
3
-1
0
0
0
0
5
6
18
-17
22
8
3
25
-31
25
-2
1
0
0
0
0
0
4
-8
-7
5
-2
10
7
-9
-19
20
17
-10
0
0
0
0
0
-1
-1
1
2
-19
3
5
15
12
10
6
0
0
0
0
0
0
0
0
0
0
1
4
-14
-8
16
-5
2
2
0
0
0
0
0
0
-1
0
0
-1
-2
0
6
-37
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-9
-5
-10
-3
0
0
0
0
0
0
0
0
0
0
0
4
13
0
20
-1
-9
5
0
0
0
0
0
0
0
0
0
0
1
41
-13
-19
0
-2
0
0
0
0
0
0
0
0
0
0
0
14
0
-10
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
-1
6
13
-6
6
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
17
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
10
8
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
4
-6
-1
8
2
0
0
0
0
0
0
0
0
0
0
-2
14
13
-2
8
13
-9
0
0
0
0
0
0
0
0
0
0
-5
-2
13
64
-4
7
0
0
-3
0
0
0
0
0
0
0
0
5
-9
-24
9
-1
-6
1
0
0
0
0
0
0
0
0
0
0
1
-4
-23
23
7
-4
1
0
0
0
0
0
0
0
0
0
0
2
-1
-5
16
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
10
2
-5
6
0
0
0
0
0
0
0
0
0
0
0
18
41
-5
-32
-15
-5
0
0
0
0
0
0
0
0
0
0
2
-1
10
9
8
-10
1
1
-1
0
0
0
0
0
0
0
0
-1
0
2
10
-5
8
1
0
0
0
0
0
0
0
0
0
0
0
2
-7
5
-16
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
3
3
-16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
12
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
-3
-1
13
4
12
8
-14
0
0
0
2
3
0
0
0
0
0
-6
-8
7
5
15
5
-1
0
0
0
1
0
0
0
0
0
0
6
4
3
28
43
-16
-19
-4
6
-4
0
0
0
0
0
0
0
12
44
41
-9
2
2
0
7
-6
0
0
0
0
0
0
0
0
0
6
-24
31
-8
5
8
3
3
0
2
0
0
0
0
0
0
-2
3
-13
24
10
-2
15
-3
2
0
0
0
0
0
0
0
0
0
4
29
1
-8
0
1
0
4
0
0
0
0
0
0
0
0
0
3
5
2
-3
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
-10
0
-8
-3
0
0
0
0
-1
0
0
0
0
0
0
19
-12
66
4
2
18
-17
0
0
0
0
0
0
0
0
0
0
6
17
16
7
-2
-1
-2
-5
-16
9
0
0
0
0
0
0
0
4
5
7
17
-3
4
5
-10
9
0
0
0
0
0
0
0
0
19
35
43
52
17
20
5
2
0
-1
0
0
0
0
0
0
0
-9
2
30
-37
8
-3
-3
4
0
0
0
0
0
0
0
0
0
-3
8
34
43
16
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-4
0
-8
-2
5
-2
2
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
14
-31
-16
29
18
0
0
0
-6
-41
22
1
1
1
0
13
12
-1
-16
11
-34
44
0
0
0
0
46
-3
-23
3
0
0
4
-16
49
-5
-8
123
86
72
40
-33
15
34
27
6
1
0
0
27
-13
-16
-66
-25
50
15
116
25
8
-22
11
-13
4
0
0
0
0
2
10
9
-6
49
29
13
1
13
42
-6
-5
0
0
0
0
0
-1
-1
-3
-17
16
-8
42
31
28
13
0
0
0
0
0
0
0
-1
-4
-4
-7
21
-12
-12
0
-13
-18
0
1
-1
0
0
0
0
6
3
-1
6
2
1
-7
7
-1
1
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-18
2
11
0
0
0
-16
-51
5
-1
-4
0
0
0
0
1
51
35
57
60
0
0
0
65
-5
49
34
5
-2
0
0
-1
-12
18
-5
-22
61
2
59
80
-41
-11
12
14
-2
-3
0
0
0
7
-12
8
-23
-6
38
-7
-16
66
19
14
6
-1
-3
0
0
0
-2
7
12
-22
26
-42
75
15
-20
43
2
13
-5
-3
0
0
0
0
-2
-31
10
-16
-31
-23
66
-48
15
21
13
-18
1
0
0
0
0
19
-13
9
-12
-14
77
77
18
38
-21
-6
-2
2
0
0
0
0
9
-41
24
-6
-77
13
-22
44
9
-10
41
-7
-2
3
0
0
0
7
-8
9
1
18
-108
-22
-44
2
-4
-5
0
0
0
0
0
3
-1
31
31
69
0
0
0
49
-12
-16
-21
-3
0
0
0
0
21
23
34
-9
60
0
0
0
-41
31
9
-22
7
-4
0
0
0
39
70
-43
52
66
68
32
-7
40
21
8
7
-5
0
0
0
0
12
1
-7
21
-15
18
10
28
-3
-15
9
-12
3
-2
0
0
0
24
14
-3
53
13
5
-38
35
31
-19
13
-13
-2
0
0
0
0
4
-5
-42
-10
92
-34
-33
89
22
-13
-43
-14
6
1
0
0
0
0
20
-32
35
-29
-31
23
3
12
17
2
-5
-1
0
0
0
0
0
0
23
8
-25
17
-19
25
-49
-30
-5
-29
0
1
0
0
0
-2
-4
-5
9
13
-9
4
-2
-1
0
0
0
0
0
0
8
4
-13
-14
17
31
74
0
0
0
35
8
15
0
0
0
0
1
1
-63
8
38
91
3
0
0
0
25
1
-6
8
4
0
0
49
25
19
-48
-13
33
50
44
-41
47
-5
-10
-8
5
1
0
0
-8
12
35
-59
-18
20
1
69
17
13
-5
-6
-21
0
0
0
0
10
13
18
-10
-56
63
27
57
1
49
-1
-5
-3
-2
0
0
0
0
19
3
14
-13
8
-7
-79
23
22
7
2
1
-2
0
0
0
-5
-17
10
-10
31
0
-15
-4
-19
-8
-2
0
1
0
0
0
0
0
-2
-12
-12
-16
4
12
-1
9
-6
2
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
-5
-9
41
-4
-18
0
0
0
-6
6
0
0
0
0
0
10
-2
15
-5
5
15
9
0
0
0
35
2
-1
0
0
0
0
9
6
-18
-2
-16
32
62
4
-48
71
-31
4
-1
0
0
0
0
-1
-12
-18
-43
12
29
-52
-2
-1
22
8
-2
0
0
0
0
0
2
-4
12
42
18
6
22
9
12
1
4
2
0
0
0
0
0
-3
10
10
-2
15
18
29
22
-29
5
1
0
0
0
0
0
0
0
0
2
0
-8
10
-5
-9
17
7
0
0
0
0
0
0
0
0
0
0
1
-2
5
-4
0
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
4
-16
13
10
7
0
0
0
3
16
0
0
0
0
0
-7
3
22
8
-59
33
-32
0
0
0
43
-12
1
-1
0
0
0
12
-34
-3
13
14
-23
7
33
-41
14
-3
-8
6
0
0
0
0
1
21
23
-4
-16
17
-1
11
6
92
8
5
-2
0
0
0
0
4
16
10
8
32
25
-12
52
25
47
-19
-7
1
-1
0
0
0
-1
-8
3
27
29
13
15
31
20
48
5
6
1
0
0
0
0
-1
6
18
9
-12
37
-2
18
31
-5
-2
4
0
0
0
0
0
0
0
-2
2
2
-13
7
-7
12
-4
15
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
13
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-5
-13
-5
-23
30
1
1
0
0
0
0
0
0
0
0
0
0
-16
21
-3
-9
8
1
0
0
0
0
0
0
0
0
0
0
0
-8
-18
-5
-3
18
-5
0
0
1
0
0
0
0
0
0
0
0
-1
0
6
-24
-2
3
0
0
1
0
0
0
0
0
0
0
0
-1
0
-16
0
3
2
0
0
0
0
0
0
0
0
0
0
0
3
-2
6
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
31
-20
5
-3
0
0
0
0
0
0
0
0
0
0
0
-32
-15
12
-47
-9
18
-3
0
0
0
0
0
0
0
0
0
0
-6
-25
6
41
0
-13
6
0
0
0
0
0
0
0
0
0
0
1
12
2
-17
1
5
-4
0
0
0
0
0
0
0
0
0
0
0
6
-7
-17
15
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
18
5
0
3
0
0
0
0
0
0
0
0
0
0
2
-32
10
-9
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
3
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
17
9
-22
2
0
0
0
0
0
0
0
0
0
0
3
4
-5
-54
-3
-4
-3
0
0
0
0
0
0
0
0
0
0
-4
-6
21
10
17
-7
-2
0
0
0
0
0
0
0
0
0
0
-2
-3
-20
-5
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
8
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
5
-19
5
-2
0
0
0
0
-2
0
0
0
0
0
0
-4
-5
-6
-29
5
-17
0
0
0
-1
0
0
0
0
0
0
-5
-13
-39
0
31
-7
-18
-17
-1
1
0
0
0
0
0
0
0
0
-22
12
23
20
-15
-4
5
-3
0
0
0
0
0
0
0
0
0
8
19
-1
7
2
-4
0
0
0
2
0
0
0
0
0
0
0
-10
1
-12
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-2
1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
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
-7
-3
1
-5
0
0
0
0
0
0
0
0
0
0
0
-16
-22
6
-13
-9
-15
18
0
0
0
0
0
0
0
0
0
0
3
-10
-25
4
9
-5
0
3
0
-1
0
0
0
0
0
0
0
2
-6
-37
2
-10
-7
-1
1
0
0
0
0
0
0
0
0
0
-1
-4
4
-1
0
4
8
1
1
0
0
0
0
0
0
0
0
1
1
0
14
-4
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
21
-13
-10
-8
26
-49
0
0
0
4
-26
-9
-7
0
-1
0
8
-3
-17
12
-9
-8
-75
0
0
0
-55
-6
-18
-24
-1
-1
0
16
-5
1
-44
-4
-22
-30
-36
0
-38
-26
-22
-6
-10
0
0
0
-4
-30
-29
23
-9
5
-33
-56
-14
58
41
16
-5
-5
0
0
0
-3
-16
-24
19
7
-17
6
-22
-9
-4
44
29
-3
0
0
0
0
0
-6
3
5
-1
-2
34
2
-37
5
2
7
-2
0
0
0
0
0
10
-1
-5
17
-6
-19
13
13
-2
6
0
0
0
0
0
0
0
3
0
-6
-12
-1
-5
6
-4
-5
-1
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-1
19
8
0
0
0
8
34
27
-22
13
-1
0
0
0
2
5
-11
-18
-59
0
0
0
-51
14
-7
-8
-14
3
-1
0
-2
-9
5
-14
0
-46
-43
-97
-69
52
-39
-31
36
-10
3
1
0
0
-3
0
-21
-16
-42
-14
12
-28
0
-6
-1
-2
5
7
0
0
0
-1
-21
-8
-13
3
-30
-73
-23
-13
-3
-2
-31
19
6
2
0
0
0
-12
-23
-42
-5
29
-15
15
5
51
-13
-4
-16
5
-1
0
0
-1
-6
-18
3
-1
-18
-55
-23
30
-4
40
-15
2
0
0
0
0
0
-3
1
-2
-1
21
-52
-25
-16
27
31
9
3
-1
-1
0
0
0
0
24
-10
-9
-49
52
50
28
36
2
-10
-6
0
0
0
0
-9
-31
-43
-5
-11
0
0
0
-29
-35
-13
26
-2
0
0
0
0
-3
-44
-30
-41
20
0
0
0
32
-6
14
-31
-8
5
0
0
0
-4
-27
8
-15
-20
-3
15
31
8
14
21
-7
-24
0
0
0
0
-1
-13
-1
15
-25
-57
-2
-33
2
28
11
-3
-2
2
0
0
0
-5
-23
1
-24
-44
33
4
18
-19
-8
31
8
1
0
0
0
0
0
-10
-3
-11
-63
-4
-7
-82
25
-20
9
-9
3
0
0
0
0
0
0
-5
-48
24
18
54
-83
-18
8
2
3
1
1
0
0
0
0
1
-6
20
-18
-5
2
7
42
-3
-10
-7
-3
-2
0
0
0
0
0
5
-2
12
10
8
-1
0
0
0
0
0
0
0
-8
8
-10
6
-11
8
-49
0
0
0
1
-26
1
1
0
0
0
8
-12
-24
-32
-68
-10
-58
0
0
0
82
-48
25
1
6
0
0
5
-55
-45
-49
-5
5
21
-12
8
-41
29
-26
8
-8
0
0
0
4
-17
-10
-30
12
-38
6
-15
14
-5
6
0
-1
8
0
0
0
0
19
-31
-58
-30
-7
29
-24
-38
-22
-14
14
-5
-1
0
0
0
-2
1
6
-25
8
-39
1
-43
3
-17
5
1
-1
0
0
0
0
0
5
-14
9
-15
-20
9
20
4
-7
0
-2
0
0
0
0
0
0
0
2
4
-8
4
0
0
0
-2
-1
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
-5
-22
2
-13
0
0
0
15
-1
0
0
0
0
0
1
-5
6
-22
-41
18
-25
0
0
0
10
-9
4
0
0
0
0
1
-12
5
-14
34
12
-7
-27
3
8
1
9
0
0
0
0
0
-1
-4
-1
0
-7
-7
-17
35
-5
-3
-8
4
0
0
0
0
0
0
1
0
16
3
-23
-5
-6
-17
6
2
0
0
0
0
0
0
0
1
-3
-8
32
8
-42
-24
-5
9
0
0
0
0
0
0
0
0
0
-1
-1
-1
5
-4
-3
5
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
1
-2
0
-2
-5
-24
0
0
0
21
-7
0
0
0
0
0
0
-4
-8
-10
-6
-4
-6
0
0
0
12
-4
-8
0
0
0
0
0
-1
1
-1
4
-9
10
0
-9
5
-16
0
-2
2
0
0
0
0
2
0
1
8
-10
-17
16
6
8
0
4
2
-2
0
0
0
0
-4
2
-2
1
18
6
6
-2
-2
3
-2
0
0
0
0
0
0
0
-2
3
-8
7
13
6
-5
-3
-24
2
0
0
0
0
0
0
0
0
-1
3
-10
5
8
25
13
-3
0
0
0
0
0
0
0
0
2
0
3
-1
0
7
-5
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-59
0
30
55
4
-20
130
74
107
27
0
0
0
0
0
0
98
-2
10
76
-7
32
-5
56
23
-9
0
0
0
0
0
0
16
-45
-13
70
-150
-24
83
37
88
133
0
0
0
0
0
0
-6
8
24
39
-184
-62
-21
-26
44
85
0
0
91
42
-63
-84
-18
50
0
31
66
-74
-68
-13
-6
67
0
0
17
-10
-18
-25
-62
-4
0
-145
81
-51
48
-2
-14
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
-87
-105
53
24
1
70
39
-108
-202
-172
-70
33
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-131
-64
-37
-21
-40
74
-40
-71
36
-127
-45
59
-31
0
0
-211
-131
-84
-9
-5
-54
-1
15
-188
-108
-32
-20
26
59
0
0
-175
-71
-69
-9
32
6
-4
15
-139
-57
-27
-11
9
66
0
0
-201
-165
-63
-205
-52
-21
81
-76
-58
-154
-14
-116
-20
45
0
0
-133
-28
-121
-37
-37
55
30
-158
-15
-7
-61
-172
-43
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
46
31
21
76
-63
58
-8
31
58
-8
0
0
0
0
0
0
-8
10
-28
25
-12
4
-33
37
-58
10
0
0
0
0
0
0
50
-37
2
185
0
-87
-97
-22
47
64
0
0
0
0
0
0
-4
-17
30
10
-117
-87
48
98
34
86
0
0
-33
0
0
0
31
64
0
-55
-63
-95
-75
-224
-27
43
0
0
-2
0
0
0
-183
58
0
-38
-23
-22
4
-41
-17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-69
-111
-43
72
77
-4
-17
-192
-213
-191
-45
22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-16
-67
-171
14
30
51
14
-167
-4
-120
-42
17
82
0
0
-131
-109
-68
-25
35
-11
-25
-13
-124
30
53
-15
21
57
0
0
-121
-91
-83
-58
96
71
-27
-46
-209
-52
-124
23
1
8
0
0
-86
-92
-147
-265
51
36
60
-77
-296
-339
-253
-138
-13
-15
0
0
-206
-4
-147
-159
-44
99
22
-196
-184
-143
-135
-172
44
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-37
24
126
95
-25
-42
50
188
-11
3
0
0
0
0
0
0
-10
28
22
27
-60
26
-28
95
76
-31
0
0
0
0
0
0
-75
-12
9
48
10
-117
-1
101
40
59
0
0
0
0
0
0
-40
-71
18
58
22
-69
11
77
90
33
0
0
-6
-45
-50
4
80
-5
0
-58
13
-197
169
-18
165
66
0
0
-42
-13
-2
-69
58
12
0
-73
127
-35
-20
30
-45
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
113
36
-54
-74
-103
-51
-6
-27
-113
-69
-60
-133
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
78
-60
1
24
-36
-77
-33
-18
176
-228
-70
-71
-196
0
0
-76
-120
54
-33
-27
-67
4
-50
-117
-142
-9
-75
-133
-75
0
0
-8
-49
-48
-50
-52
-129
-1
-15
-55
-45
-34
-17
-55
42
0
0
18
-66
-11
-55
-72
-102
-51
-107
12
-186
11
0
75
34
0
0
-73
18
-76
-9
-45
-54
-74
-105
10
-151
-13
-43
24
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-152
-15
-145
31
44
-37
-7
77
-1
-18
0
0
0
0
0
0
-88
-42
1
-5
-77
-23
23
-3
-9
-37
0
0
0
0
0
0
67
-33
6
68
-73
-55
-27
48
-35
-141
0
0
0
0
0
0
41
-31
-42
77
-49
-112
-31
27
-58
-75
0
0
-9
0
0
0
-4
-57
0
-132
-66
-40
-21
-90
-86
-62
0
0
-5
0
0
0
-23
-44
0
8
-84
-13
-5
-41
-58
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-11
10
-39
-122
-27
13
52
-25
-66
-30
-25
-182
-201
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
20
44
26
-5
-3
-150
-45
-33
-182
-121
4
-120
-54
0
0
-18
-47
20
38
-42
-109
-86
-146
-53
-57
62
-42
-175
-143
0
0
-14
-65
-46
-145
-36
-203
0
-122
14
-194
-15
188
-156
-181
0
0
-79
-5
-46
-51
4
-176
-59
-115
-71
-50
-41
14
98
-198
0
0
53
14
-6
-33
-40
-192
4
-91
-46
-168
-91
-49
-117
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
54
13
97
135
68
-17
-4
64
72
36
0
0
0
0
0
0
-41
-15
67
96
-13
10
-68
175
58
96
0
0
0
0
0
0
-3
-12
67
80
-74
-16
83
34
91
27
0
0
0
0
0
0
44
-39
25
54
41
-92
-59
77
37
107
0
0
5
26
-72
-141
42
43
0
-52
-34
-316
-56
-53
-45
82
0
0
-27
-54
-56
-10
69
91
0
-65
-63
-41
64
-66
-36
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
-81
-48
-38
11
13
24
-50
-159
-179
-152
-115
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
6
-82
10
19
7
44
-13
-101
35
-40
-27
15
40
0
0
-109
-15
-38
-77
13
15
0
-7
-119
10
-7
-17
27
47
0
0
-198
-121
-115
-111
-11
15
49
-43
-200
-117
-115
-65
13
28
0
0
-146
-51
-122
-66
-29
48
86
-103
-115
-301
-152
-103
9
29
0
0
-148
-142
-127
-125
71
94
135
-159
-76
-135
-157
-193
-38
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
57
26
90
157
-100
-115
-61
-27
-16
36
0
0
0
0
0
0
29
82
42
67
-22
-197
-120
-44
16
-58
0
0
0
0
0
0
-44
19
83
150
-103
-158
-135
-72
-34
35
0
0
0
0
0
0
-7
63
49
52
-56
-76
-40
-73
-113
-17
0
0
-180
2
-46
21
-23
-1
0
15
-234
-276
-212
-123
15
24
0
0
-23
1
1
0
-41
-2
0
-135
-111
-53
-185
-117
-94
-169
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-161
-49
-117
-24
27
31
22
101
-322
-156
-37
23
-34
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-115
-36
-99
19
44
20
22
-143
20
6
7
8
51
0
0
-16
-46
-102
-82
40
36
21
9
-66
20
40
-31
31
69
0
0
-126
-5
-58
-55
32
41
47
-19
-209
-93
1
58
-3
21
0
0
-209
-34
-133
-28
-18
49
93
-5
-233
-278
-121
-78
32
0
0
0
-250
-112
-106
-91
-3
79
97
-220
-321
-222
-171
-116
40
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
7
14
38
8
8
29
5
12
15
-15
0
0
0
0
0
0
-2
113
39
-27
34
-111
29
63
46
65
0
0
0
0
0
0
-2
45
66
22
34
-45
40
47
-40
89
0
0
-2
0
0
0
67
36
52
43
6
-5
7
-1
-7
134
0
0
6
-50
39
47
114
-44
0
-69
-50
-252
42
-31
123
74
0
0
-11
8
-115
-74
31
46
0
-78
-27
-123
26
-57
-39
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
132
89
60
16
-45
35
-36
-15
-99
16
-3
-116
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-16
50
5
25
-13
11
-41
29
9
73
21
-23
-49
0
0
66
113
10
11
8
-18
8
33
32
-7
33
-13
-63
-63
0
0
80
125
-4
-3
-25
14
60
-1
30
-97
-13
41
-75
-16
0
0
103
-58
138
46
30
-33
20
-13
36
-244
-48
16
50
-54
0
0
3
-102
-7
-75
-24
-20
7
-110
20
-93
-9
-86
-111
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
2
30
21
15
-80
83
-89
-148
-99
-51
-69
0
0
0
0
0
0
-24
-4
26
-54
19
-151
-48
-85
-48
-21
0
0
0
0
0
0
-40
-114
-44
-107
-17
-122
-48
-135
-31
-89
0
0
0
0
0
0
61
-138
-54
-28
53
-106
-63
-145
-80
-59
0
0
-129
-3
-10
-1
-66
-124
0
-59
-122
-109
-86
-93
-17
-172
0
0
-93
1
-1
-1
-58
-75
0
-78
-72
-56
-78
-94
-193
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
22
72
-74
-104
-115
-68
-1
53
-15
24
38
-98
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
24
51
100
20
5
-23
27
90
48
86
31
-29
-2
0
0
26
110
28
20
-9
-19
-24
5
44
-8
-32
-5
-56
-67
0
0
63
25
35
-71
-150
-83
-100
-7
81
-61
-15
19
-93
-72
0
0
15
-74
-37
-2
-17
-130
-140
-37
-45
-156
-12
34
9
-216
0
0
-91
-1
-83
-144
-16
-147
-149
-22
-132
-57
32
-80
-116
-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
3
0
0
0
38
20
107
60
47
47
16
7
61
66
0
0
0
0
0
0
-17
71
68
67
39
7
-21
35
29
103
0
0
0
0
0
0
60
-86
77
112
16
-62
-1
25
32
72
0
0
0
0
0
0
8
38
64
-11
53
-63
50
94
1
-41
0
0
-13
3
-15
-105
149
62
0
-6
-5
-167
-24
8
29
-19
0
0
2
-49
-45
-17
-12
46
0
-8
-76
-77
30
58
16
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
5
2
47
-12
-9
32
-42
-47
-10
-12
-14
-42
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-28
-1
31
19
28
-2
41
0
37
12
8
61
0
0
48
-43
55
30
18
8
-4
6
41
51
-8
11
31
19
0
0
-11
7
-20
14
-19
-7
50
-6
-8
-1
5
29
-15
5
0
0
-6
-59
-58
-30
13
19
81
19
-9
-204
-26
80
30
-71
0
0
-68
-32
-36
-54
15
20
119
52
-155
-5
-52
-41
16
123
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
39
-9
50
54
-10
-55
-83
-55
6
-12
0
0
0
0
0
0
-66
-31
45
56
-2
-138
-24
-34
-40
-24
0
0
0
0
0
0
-9
-26
56
28
-126
-56
-133
-79
-23
24
0
0
0
0
0
0
-92
7
44
17
-4
-56
-51
-102
-61
5
0
0
-98
2
-25
32
-47
-48
0
-21
-204
-142
-45
-3
-38
-25
0
0
-84
1
1
0
-68
-98
0
-66
-102
28
-54
-119
-66
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-51
-16
-24
26
17
-3
50
-71
-49
66
7
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-68
5
50
33
47
-4
-3
-30
3
72
38
4
46
0
0
7
11
24
21
61
50
3
0
16
62
5
32
39
48
0
0
6
-62
-3
-4
-4
23
66
-6
-42
-55
9
45
-29
0
0
0
-186
-6
-104
44
-4
28
1
5
-45
-164
-2
-30
22
-23
0
0
-42
-112
-30
-58
-20
2
24
-22
-196
-111
-44
-45
-38
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-44
0
-32
-31
45
-35
1
86
20
12
0
0
0
0
0
0
99
30
30
14
-17
-94
32
7
-20
42
0
0
0
0
0
0
27
86
16
-14
100
-48
41
30
43
51
0
0
-2
0
0
0
92
47
26
14
90
-93
21
8
130
85
0
0
34
-13
11
1
-2
-15
0
-34
36
-24
102
39
74
-9
0
0
-5
-4
-49
3
109
100
0
-11
-34
-85
-4
20
-44
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
126
93
44
24
30
4
45
121
-27
64
5
-31
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
85
21
64
0
-4
41
-14
49
46
58
48
39
22
0
0
46
-24
13
-32
6
25
31
80
119
37
58
68
49
-1
0
0
85
93
122
97
-38
58
31
60
101
-9
21
1
29
1
0
0
130
-5
136
146
59
20
36
15
107
-209
117
148
12
-26
0
0
57
-89
165
-20
33
-117
-42
51
4
-77
147
61
-27
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
2
-7
13
72
-66
-94
-79
-56
-68
27
-11
0
0
0
0
0
0
30
-51
18
-103
-23
-59
-39
-67
-26
-4
0
0
0
0
0
0
-23
-51
-14
-90
-5
-92
23
-78
-34
-18
0
0
0
0
0
0
-22
-69
-34
-77
9
-36
-66
-113
-13
-38
0
0
-71
-3
-13
-2
-50
-49
0
-39
-28
-27
29
-48
5
-105
0
0
-84
1
-1
-1
-41
-8
0
-48
24
8
-81
-42
-97
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
18
-7
43
-25
-57
-21
-20
63
23
109
-24
-24
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
-6
35
21
18
-19
9
46
38
157
81
38
-18
0
0
102
62
74
5
11
-13
-16
-17
116
50
-51
20
-45
-17
0
0
28
72
44
-6
-18
-19
-138
8
75
-5
64
-59
-13
-42
0
0
-48
-16
-1
92
-63
-72
-103
36
-7
-77
58
21
-1
-93
0
0
87
38
-43
-17
-28
-125
-200
4
-36
-80
84
-2
-61
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-62
30
5
-13
135
54
-45
31
24
0
0
0
0
0
0
7
-31
-9
-22
42
20
3
1
-21
20
0
0
0
0
0
0
-17
-6
7
1
44
-4
43
0
-51
-26
0
0
0
0
0
0
-56
13
0
-18
13
-6
32
-4
4
-13
0
0
2
8
-4
17
20
-2
0
19
46
27
-27
35
30
-13
0
0
-4
-1
1
2
2
21
0
87
22
-20
7
-17
1
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
66
8
91
-83
39
15
48
54
19
42
29
33
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-17
-17
19
22
28
-14
72
5
21
36
35
20
-15
0
0
43
57
55
17
158
-23
-52
-36
84
101
-29
17
-30
26
0
0
95
57
4
-2
44
21
96
45
196
21
12
0
13
42
0
0
106
6
-37
14
5
-1
-26
21
81
3
79
139
16
38
0
0
73
21
24
43
-22
-63
81
97
33
-5
58
89
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
6
41
-57
10
-26
66
-42
1
-65
0
0
0
0
0
0
-4
-49
-6
-18
24
-16
63
-84
20
34
0
0
0
0
0
0
13
8
39
-22
9
0
9
9
17
-9
0
0
0
0
0
0
-28
32
11
-94
15
16
31
9
-17
-41
0
0
-8
0
3
1
-13
-54
0
-92
17
28
16
37
-23
10
0
0
0
1
0
0
-5
-49
0
-32
13
24
8
29
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
35
57
-5
-36
-77
-3
-45
127
-36
41
5
-78
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-4
-39
-2
1
-1
-22
5
25
8
84
-20
-20
44
0
0
17
25
-58
-34
-19
64
38
-50
50
-7
-68
-44
7
12
0
0
94
-52
41
56
12
66
7
-79
-10
-10
24
-8
9
-37
0
0
-3
12
-41
-12
-34
-22
26
17
30
5
22
-74
-76
-53
0
0
38
-5
-4
13
-45
-35
-49
-5
47
24
13
8
-4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-40
-56
-23
9
22
42
35
66
129
0
0
0
0
0
0
5
5
35
3
-19
7
-5
-65
22
18
0
0
0
0
0
0
11
-18
13
-47
5
-32
31
15
-4
33
0
0
0
0
0
0
-13
-9
3
10
-5
3
-1
25
59
-6
0
0
25
2
-3
7
-1
-44
0
33
29
9
43
75
-12
79
0
0
27
0
-1
-1
36
22
0
14
-6
3
8
45
43
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
8
93
43
86
-68
-10
21
54
42
103
20
166
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
43
-23
3
-27
66
-17
105
13
19
92
-9
45
75
0
0
-10
34
13
24
93
6
-15
-18
26
-19
61
44
91
162
0
0
33
31
93
46
22
-37
-38
102
90
-66
76
49
57
50
0
0
33
13
36
12
53
113
5
74
6
-13
39
37
52
-39
0
0
31
16
41
14
49
-58
-13
145
34
6
66
123
118
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-58
-16
-77
-21
8
-29
53
-5
52
0
0
0
0
0
0
-5
25
2
-59
7
-18
49
36
9
0
0
0
0
0
0
0
-19
22
-74
-44
13
6
24
20
56
1
0
0
0
0
0
0
-83
-7
-3
-14
14
-12
-7
-5
-8
13
0
0
0
-1
0
0
-1
-54
0
-7
3
43
18
-1
-2
14
0
0
1
0
0
0
-5
2
0
35
25
13
-10
-110
-40
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-27
-10
8
50
14
5
-27
-35
6
71
-57
-6
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-23
26
17
4
-3
-1
-52
-62
-62
-18
44
20
-102
0
0
7
-44
-65
34
-13
49
-9
16
-5
31
58
9
-28
-96
0
0
69
9
2
56
-75
19
-116
-29
-49
-13
-5
-42
7
-55
0
0
25
4
19
7
-67
6
-23
-31
15
-31
-5
15
17
-5
0
0
49
4
9
-5
16
2
-7
52
-13
-3
39
84
-110
-19
-1
-129
-151
-133
-62
-11
4
-3
-7
-2
11
70
134
114
104
49
0
0
11
-2
-14
15
14
-12
-14
-10
27
0
-27
-64
0
0
9
2
-4
38
-11
-16
-16
-39
2
-28
-58
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
19
-1
0
-14
-58
-1
0
0
0
0
0
0
0
0
-14
-1
0
-7
-69
-14
-100
86
-37
22
19
7
2
-3
-4
-21
0
0
0
0
0
0
0
0
0
4
-3
-31
-91
-1
-10
-33
-95
14
2
23
-12
0
0
-1
-2
-7
5
-12
-37
-15
-37
2
-28
-58
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
19
-1
0
-14
-58
-1
0
0
0
0
0
0
0
0
-14
-1
0
-7
-69
-14
-100
-62
-52
-106
-45
-24
-3
4
5
5
1
-10
-18
-43
-62
-87
-138
0
0
-2
-3
-3
1
1
-7
-4
-19
1
0
-1
-47
0
0
1
-4
-4
-16
5
2
-1
7
1
-12
-11
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-13
0
-13
-19
-58
0
0
0
0
0
0
0
-7
-16
5
0
-3
-74
4
-64
12
-18
-6
-6
2
2
-2
-1
-15
0
0
0
0
0
0
0
0
0
1
-3
-29
-37
-2
-1
-18
-103
11
3
-20
-51
0
0
1
-4
-16
-8
0
-31
-1
-29
1
-12
-11
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-13
0
-13
-19
-58
0
0
0
0
0
0
0
-7
-16
5
0
-3
-74
4
-64
37
6
-28
-29
-9
-14
-13
-8
5
9
2
1
-37
-34
-95
-147
0
0
-1
-11
-5
-30
-6
-20
-9
-58
4
0
-3
-71
0
0
-4
-4
-8
-71
-8
-20
-9
-28
-10
-28
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-31
-90
0
-14
-55
-87
0
0
0
0
0
0
0
-25
-52
2
0
-8
-86
-6
-88
-1
-29
-32
-17
-3
-1
6
-4
-10
0
0
0
0
0
0
0
0
0
-4
-8
-23
-66
-6
-9
-46
-106
-4
-9
-43
-110
0
0
-5
-8
-29
-111
-6
-32
-2
-38
-10
-28
-23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-31
-90
0
-14
-55
-87
0
0
0
0
0
0
0
-25
-52
2
0
-8
-86
-6
-88
2
-3
87
4
22
-7
27
-8
13
-19
11
-24
-9
-44
-49
8
0
0
-1
-38
-8
-93
-11
27
-47
-93
35
0
-32
-74
0
0
8
-35
18
-64
-26
-53
-32
-89
-20
-16
-30
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-71
0
0
14
-14
-12
0
0
0
0
0
0
0
-20
-49
0
0
-14
-65
-37
-73
47
31
32
23
-8
2
-21
-15
2
0
0
0
0
0
0
0
0
0
-10
25
-31
-102
5
-19
-64
-45
-18
-39
-74
-33
0
0
-22
-16
-26
1
-8
-19
-28
-44
-20
-16
-30
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-71
0
0
14
-14
-12
0
0
0
0
0
0
0
-20
-49
0
0
-14
-65
-37
-73
-30
-6
-5
-2
3
0
-9
16
-27
6
-8
-25
-4
2
-41
0
-1
-3
19
-27
3
6
-3
10
1
0
9
8
-22
-10
26
32
5
-6
14
0
9
4
-21
-23
-5
-58
-9
24
13
0
10
-13
43
9
3
-24
-14
-7
-36
0
19
0
3
0
-8
-26
6
-32
-7
0
79
-4
-7
-2
8
-1
-9
12
43
7
-3
14
18
-15
14
47
29
-4
27
0
-6
-4
41
26
18
42
-1
28
10
0
5
0
31
33
-1
20
18
-24
7
0
15
-8
-5
-22
8
22
-6
-23
8
0
-4
-28
-15
-27
-3
35
36
-5
79
0
15
13
17
-20
8
41
-8
11
7
0
8
-2
10
-9
2
-33
-12
-8
-43
6
-12
16
5
-7
0
-12
-36
-19
-25
2
-27
-10
-26
-14
0
94
62
21
13
0
36
26
48
2
24
0
66
40
102
0
-10
44
35
65
-13
21
23
2
54
0
21
-15
0
59
4
-27
2
-23
-58
0
-30
-31
-24
-29
11
22
44
1
23
0
20
9
9
-59
20
-5
-21
12
23
0
32
-15
-13
7
10
-44
-34
-6
-27
4
30
5
-21
13
-11
-15
-62
-46
-77
-3
-67
-49
-44
-39
47
10
92
51
81
0
24
-5
22
66
-43
46
97
59
85
0
-27
85
32
18
38
-3
5
-33
14
0
28
6
24
2
8
-19
-12
-12
-57
0
-32
8
-54
14
-21
23
-70
-12
-24
0
-7
5
35
5
25
-24
-18
-18
-15
0
1
-1
44
-9
12
-18
45
21
-10
11
-2
-16
22
10
-8
-34
-42
-43
-30
-15
-27
-18
-6
-42
0
0
0
0
0
3
0
0
0
0
-4
0
0
0
0
6
-4
0
0
0
29
-6
0
0
0
27
7
0
-8
0
23
-21
22
14
12
-34
23
-22
15
39
-89
12
29
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-23
-5
0
0
0
-16
-13
13
-1
0
34
82
23
-10
0
19
-6
-43
40
0
-76
-45
-39
-21
0
0
0
0
0
-5
0
0
0
0
-6
0
0
0
0
-15
0
0
0
0
-3
0
-5
-1
0
-12
14
0
1
12
-51
-17
25
-13
8
16
13
24
-19
-83
-23
-32
-6
-18
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
18
-1
0
0
0
-3
-32
-2
0
0
32
-71
22
-2
0
14
35
54
-13
0
-2
-35
46
-1
0
-87
24
-31
-35
0
0
0
0
0
55
0
0
0
0
22
0
0
0
0
-18
1
0
0
0
-60
4
-2
0
0
-42
-13
-6
-5
-1
-8
29
24
46
-13
-3
17
-2
26
-52
71
-22
46
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-2
4
1
0
0
-1
0
-14
3
0
14
28
-105
1
0
-9
3
-24
-57
0
-30
8
4
13
51
-5
0
0
0
6
0
0
0
0
1
0
0
0
0
31
0
-3
0
0
-7
3
0
-8
0
1
1
-30
21
-13
1
-4
5
23
-11
3
-6
17
-3
12
7
64
3
4
16
0
17
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
1
0
0
0
-7
4
2
0
0
-31
-27
-41
-6
0
27
5
-26
21
0
-17
6
-2
52
0
-42
58
-16
-16
0
0
0
0
0
-25
0
0
0
0
20
-1
-1
0
0
22
0
0
0
0
-11
5
-1
-1
0
-22
-7
-6
-6
13
-24
-6
9
15
13
13
6
1
50
43
-39
-26
-11
6
10
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-3
2
0
0
0
13
-4
4
0
0
-42
15
-8
-16
0
-7
-9
51
-4
0
-55
-49
-17
-21
0
19
-17
47
9
0
0
0
0
0
4
0
0
0
0
43
0
-1
0
0
-2
0
0
0
0
25
-4
-4
-13
0
-26
-4
-51
18
13
12
18
-10
-6
6
-25
-9
-3
-28
-40
0
-22
16
-1
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
0
0
0
5
5
-6
0
0
4
23
45
-27
0
-6
-52
38
25
0
22
6
-45
-63
0
54
6
-45
19
0
0
0
0
0
-1
0
0
0
0
8
0
0
0
0
8
5
1
0
0
49
-1
-3
2
0
35
-27
31
35
14
17
-1
23
-16
2
-15
36
5
-10
-17
8
-11
8
-7
-2
0
0
0
0
0
-5
0
0
0
0
-8
0
0
0
0
0
-3
0
0
0
-7
17
-9
4
0
-22
-27
9
-9
10
16
46
21
-23
-4
3
-16
2
0
-75
8
-11
8
-7
-2
-5
1
0
0
0
-5
0
0
0
0
-41
0
-2
0
0
-22
0
1
0
0
-7
13
-2
5
-5
-37
-31
-45
5
13
1
65
-29
34
-19
18
-17
10
11
3
8
-6
-14
-46
1
9
-2
0
0
0
-3
0
0
0
0
-25
0
-1
0
0
-5
-1
6
-1
0
-1
10
-1
16
0
-5
-17
50
-32
31
-2
-27
10
13
-41
-31
14
-2
27
-11
8
-6
-14
-46
1
0
0
0
0
0
60
20
22
5
0
11
-1
-1
-16
-5
-21
12
-21
-16
-13
7
24
15
-39
2
-10
-80
5
-101
-50
59
17
-14
48
83
-71
-26
46
-20
25
10
43
31
25
-6
0
0
0
0
0
0
5
4
8
0
0
-10
-50
2
0
0
-24
-49
50
-2
0
12
-17
31
-3
0
-103
-37
-46
11
0
18
44
94
34
0
27
-3
-99
10
0
-16
64
20
1
0
0
0
0
0
-2
-4
1
0
-4
-21
-16
-2
-4
0
24
-58
-5
39
-12
-7
-64
-75
32
0
8
50
-2
25
2
13
5
25
75
11
-2
28
-4
16
20
-7
98
17
-18
-5
0
0
0
0
0
0
-24
14
3
0
0
41
7
9
3
0
53
9
17
0
0
21
23
-39
4
0
12
-54
58
-23
0
-2
11
3
-27
0
17
-27
-2
23
0
-56
54
16
59
0
0
0
0
0
14
0
-1
1
6
-3
-1
1
0
1
3
46
22
-7
17
21
0
14
-33
-25
-42
23
-49
-15
-1
11
8
28
60
15
-3
-14
5
18
-22
0
14
28
0
-1
0
0
0
0
0
0
4
0
0
0
0
1
-1
1
0
0
13
31
-57
1
0
-78
-13
-24
28
0
-8
73
30
-19
0
45
-7
23
4
0
-3
2
5
-13
0
7
23
4
-22
37
-65
-14
-4
-2
57
2
0
0
0
-91
13
4
-19
1
-10
-23
-79
-36
-12
-23
75
-13
-64
-18
-5
6
-16
17
-30
23
-48
17
-35
40
0
35
-16
0
-12
11
-19
-8
38
17
0
63
19
12
-4
0
3
-3
0
0
0
-15
-18
-13
0
0
49
5
-40
-13
0
11
-16
3
-78
0
-33
-16
-25
-1
0
0
5
-81
-16
0
-5
26
4
-23
0
-45
-101
28
14
0
0
0
0
0
14
-13
-21
0
0
3
22
-13
-5
1
-30
14
23
-84
-25
-38
-3
59
22
52
-40
8
-91
12
-19
-3
56
28
-31
59
42
51
43
70
6
19
-8
-9
0
-57
0
0
0
0
0
0
-25
14
-10
-4
0
27
4
-28
1
0
-4
-9
15
0
0
40
4
20
-13
0
-49
11
-9
-45
0
-43
-8
58
-32
0
0
-45
33
23
0
56
34
-3
18
0
0
0
0
0
-5
0
0
0
3
58
62
-3
19
0
2
-44
-22
49
31
47
-17
-41
25
-41
-6
23
-71
-4
-7
19
83
-25
-15
-3
9
-1
27
44
85
-45
60
-21
-4
-52
0
0
0
0
0
0
-11
-4
0
0
0
13
107
-14
-1
0
22
-27
4
5
0
25
-38
3
-22
0
65
-5
2
-5
0
-30
-4
-36
-4
0
-39
-42
46
50
0
-31
-8
-19
-7
0
0
0
0
0
-52
0
0
0
-2
27
7
12
-5
-3
1
-13
24
-5
10
31
15
-4
-5
0
20
-46
61
55
-27
-8
-32
-20
-6
-71
5
48
-47
29
57
10
20
30
-22
-19
0
0
0
0
0
-4
0
0
0
-2
49
0
-3
-2
-5
-7
-51
14
9
12
35
49
-17
36
10
-7
-2
22
-1
-1
-12
27
13
26
-9
-9
-5
-11
2
-18
10
20
30
-22
-19
-7
-7
4
-5
2
8
0
0
0
0
-17
-18
-42
5
-17
-23
-1
-38
-42
-31
-84
-37
-46
-16
-70
-12
-22
-1
9
-24
-19
13
-10
26
-4
0
-6
-8
-32
13
11
-22
-15
6
29
20
-79
45
5
1
37
8
0
0
0
-7
-50
-15
-3
-5
-24
-43
-30
-17
-56
-35
-15
61
-14
-6
3
-13
37
-61
30
-12
-9
8
-4
9
-9
-38
-36
-17
-69
11
-22
-15
6
29
0
0
0
0
0
20
50
9
16
0
96
24
22
-33
-18
13
12
-5
-7
-57
-84
11
-75
-57
2
-56
-56
-22
-31
-42
48
-16
82
7
97
-37
1
76
6
51
-13
77
29
64
-25
0
0
0
0
0
0
30
25
19
-1
0
5
-13
5
0
0
-13
-50
13
4
0
21
49
1
5
0
-97
34
-55
12
0
31
53
32
43
0
32
-17
-4
8
0
51
0
39
5
0
0
0
0
0
24
-4
1
0
-4
14
-13
-15
-3
0
23
-19
25
42
7
-15
-37
-39
56
39
-30
-61
58
-30
10
39
-8
146
47
-5
-3
59
56
7
62
45
39
-31
-2
5
0
0
0
0
0
0
-23
7
3
0
0
38
33
2
3
0
38
56
2
1
0
33
27
-23
13
0
-49
-12
-48
-33
0
-58
-12
-1
57
0
14
16
-7
1
0
40
9
49
62
0
0
0
0
0
-26
0
-1
1
6
-36
-19
1
0
1
-3
75
0
11
34
5
2
33
-66
-45
-11
-62
-43
-14
72
26
3
101
96
-13
-12
5
-49
9
9
-1
58
20
-25
-15
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
13
-19
-94
1
0
-34
41
24
3
0
-69
-11
33
2
0
41
17
67
22
0
-20
-27
-48
2
0
30
24
11
2
77
6
-49
-69
-30
45
2
0
0
0
-67
-9
4
5
1
1
-73
-51
32
1
-24
-21
-25
-78
-80
30
7
-7
-11
-79
6
-4
-15
-18
92
-32
67
-4
38
-67
16
-43
11
14
7
0
81
51
2
-30
0
3
-3
0
0
0
-28
-71
-13
0
0
-2
-98
-63
-27
0
55
-45
-18
-110
0
-22
-4
-28
-14
0
2
-3
8
-50
0
-58
8
18
24
0
-42
-17
-5
8
0
0
0
0
0
51
-13
-5
7
-3
21
51
1
-2
6
-82
19
8
-155
-53
41
4
92
6
71
-15
7
-92
4
-14
-13
8
-43
29
2
9
19
-18
33
-28
62
-34
54
31
12
0
0
0
0
0
0
-15
5
-32
-4
0
-10
-12
-21
1
0
25
-11
10
4
0
46
57
44
1
0
-24
-17
-51
-74
0
-17
-13
7
2
0
-41
-11
13
-6
0
23
22
50
38
0
0
0
0
0
-21
0
0
0
3
7
37
-3
26
0
0
-86
0
11
16
56
21
-40
80
-41
28
4
-51
13
-53
27
29
12
-4
27
37
-21
-33
58
25
-41
45
-7
-50
50
0
0
0
0
0
0
16
-4
0
0
0
52
92
-46
-1
0
8
-16
7
18
0
-16
-83
-11
-13
0
31
-18
25
9
0
-56
-21
-12
-2
0
36
27
29
20
0
-17
10
-21
-13
0
0
0
0
0
-3
0
0
0
-2
-6
6
8
-36
8
19
-55
2
-33
21
17
16
3
-47
16
-14
-49
41
23
-29
-4
-3
-9
-28
-47
14
4
-32
32
40
38
17
-37
66
-5
0
0
0
0
0
-6
0
0
0
-2
13
-34
-7
-2
1
-4
-39
8
11
13
-20
53
-34
13
19
16
7
19
41
26
27
-1
11
-32
30
-5
53
23
-50
-45
38
17
-37
66
-5
-56
-4
9
8
5
-16
0
0
0
0
-12
-42
-25
14
-26
-17
62
-7
-22
-20
-53
-37
-66
-45
-20
-20
2
44
19
-65
-27
27
-48
-8
-3
9
-46
-35
-30
-26
15
7
-14
-33
-12
-23
-53
34
18
1
25
11
0
0
0
-17
-71
3
19
-13
-32
-44
-25
13
-76
38
-41
74
-16
23
-69
15
-14
23
7
-39
-15
-34
-15
-9
-16
-60
-103
-17
-34
15
7
-14
-33
-12
0
0
0
0
0
3
1
-2
-2
0
-6
7
-1
-9
-1
-7
8
4
1
6
-1
-1
-4
-3
8
25
-4
0
20
-1
18
22
39
17
16
13
-7
15
27
7
14
-5
27
9
16
0
0
0
0
0
0
-3
5
1
0
0
-9
0
-8
0
0
-13
-22
7
1
0
12
-19
13
5
0
29
1
-8
-3
0
-2
23
38
5
0
-6
-7
18
16
0
32
27
-33
-5
0
0
0
0
0
-4
0
0
1
0
0
0
-1
1
0
-13
7
-13
-8
9
-13
-5
8
29
18
-12
-21
6
-13
-1
-13
6
22
35
8
26
42
81
-17
66
3
31
-23
41
-13
0
0
0
0
0
0
0
1
0
0
0
-3
3
3
0
0
-10
34
5
0
0
22
32
10
-4
0
-45
-34
-13
-7
0
31
10
-6
23
0
-44
34
-4
15
0
6
-36
21
1
0
0
0
0
0
-1
0
0
0
1
-6
-3
0
-2
0
-13
12
0
-7
-3
40
-5
16
-37
-3
1
-16
-10
-4
33
46
-24
12
8
-9
-29
33
2
24
-10
13
10
-22
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-31
0
0
-14
0
1
-8
0
-18
-27
15
4
0
41
32
-6
-8
0
-20
8
-25
-5
0
42
-21
58
23
8
13
-6
-5
-7
-1
0
0
0
0
-3
-2
1
5
0
8
-1
-3
5
-2
2
-5
1
-34
-23
-66
20
-13
-36
-35
5
11
14
19
2
-1
-37
6
5
13
18
-25
-32
0
-34
0
-14
39
-12
-13
0
0
0
0
0
0
-1
-3
-2
0
0
-5
-19
-2
-6
0
5
2
-21
-26
0
-20
19
22
23
0
18
-28
-12
-8
0
-14
-56
-19
28
0
-7
0
-11
17
0
0
0
0
0
42
-2
-1
-5
0
33
9
1
-4
0
-20
-9
-3
-47
-7
-24
-13
42
5
-16
-26
0
0
3
8
8
20
-16
-11
-5
-15
9
-44
23
-2
-29
-13
-38
37
-6
0
0
0
0
0
0
2
1
-1
-1
0
0
0
-29
0
0
-12
-10
-16
0
0
5
12
7
29
0
-15
-12
11
-8
0
0
-5
5
4
0
37
-12
34
-8
0
-26
31
2
-27
0
0
0
0
0
-18
0
0
0
0
9
5
0
4
0
-9
-18
-5
-16
-17
-10
-15
-41
31
5
55
1
3
-3
34
19
-25
55
-32
1
-18
36
-49
-25
-39
11
21
-5
13
8
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
0
18
13
-18
-1
0
-23
-16
19
4
0
-3
-1
10
-19
0
-13
-15
4
-13
0
42
19
-15
5
0
-41
13
9
5
0
0
0
0
0
-23
0
0
0
-1
-16
-4
0
-31
-3
14
-1
7
20
-2
-16
6
6
-6
21
-23
-35
8
22
-47
-17
-15
13
-2
11
23
1
4
19
2
39
-13
13
7
33
0
0
0
0
0
-25
0
0
0
-1
-5
-15
-1
-21
-4
23
-5
-4
11
-5
-49
9
-15
-9
13
38
10
-4
14
-3
8
10
11
-8
28
-11
-1
-18
-11
-30
39
-13
13
7
33
-6
2
0
2
2
8
0
0
0
0
-3
-2
-3
7
-12
16
15
-12
3
-7
20
22
-33
-4
-10
23
-6
-2
-21
-7
-14
-2
-34
-9
16
-6
-63
-22
-30
-23
-12
5
40
-41
4
-4
8
-1
0
-1
10
-1
0
0
0
-20
-8
0
30
-9
10
-14
-19
29
-22
-13
6
10
-5
-11
-27
-13
31
-57
18
25
-25
-19
26
-25
-13
10
-84
-9
-11
-12
5
40
-41
4
5
0
0
0
0
-56
-21
-58
0
1
16
-43
-10
-43
-35
-50
-39
30
-13
-43
-26
-39
-6
-43
67
-47
-24
4
-36
-35
-1
-28
-37
-44
-67
-4
-31
-26
-31
-24
3
2
-1
1
-4
44
33
40
30
22
56
29
49
43
75
18
15
59
69
50
52
-8
28
19
94
-1
-3
39
11
86
-30
81
9
-39
31
1
-15
-3
9
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-12
-13
-46
2
0
0
0
0
13
11
22
21
11
27
18
6
17
31
5
-14
-15
-16
-13
0
0
0
0
-1
22
34
34
18
44
70
51
9
4
5
11
0
-11
-7
-8
1
0
0
0
-1
0
6
7
23
9
-58
-37
34
9
26
0
0
0
0
0
0
0
0
0
0
-1
-3
3
-28
-42
2
0
0
0
-1
33
18
15
17
7
69
-47
66
99
-17
-4
-1
1
0
0
12
49
40
37
-24
0
-1
0
0
-1
24
13
26
38
18
37
11
0
5
3
29
23
-13
17
7
-28
-42
-39
35
1
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
14
0
5
-11
19
-23
55
-2
5
0
0
0
0
0
0
0
0
0
0
17
13
6
5
19
-23
60
0
-42
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-10
22
17
-2
-8
-10
1
27
0
0
0
0
0
0
0
0
0
0
0
-10
-10
-11
-8
-4
-8
11
14
-4
-59
-22
-13
-19
-8
5
-24
-24
-24
33
-2
78
24
-2
-3
1
-22
-43
58
43
-44
-5
22
-11
61
60
21
-10
21
41
29
-6
10
14
18
32
4
6
9
25
25
-7
1
2
-4
15
3
5
-2
-6
-9
34
34
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
3
4
-10
-15
2
1
0
0
-1
-29
-7
-18
19
-21
-43
-42
-26
-9
31
13
-9
10
-11
9
3
0
0
-1
-1
-55
-14
-15
16
19
-128
-18
14
-50
66
-8
-36
6
5
-24
2
0
0
0
0
-83
14
-16
-43
55
46
-55
5
-42
31
0
0
0
0
0
0
0
0
0
0
-1
-12
-4
-10
-3
3
0
0
0
-1
-38
-6
7
14
29
25
53
-14
-6
-2
-19
0
0
-2
-10
-69
-30
29
-21
20
-7
-1
0
0
-1
-37
0
11
-49
3
37
11
0
5
3
29
23
-13
17
7
-28
-42
-39
35
1
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
14
0
5
-11
19
-23
55
-2
5
0
0
0
0
0
0
0
0
0
0
17
13
6
5
19
-23
60
0
-42
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-10
22
17
-2
-8
-10
1
27
0
0
0
0
0
0
0
0
0
0
0
-10
-10
-11
-8
-4
-8
11
14
-4
-59
-22
-13
-19
-8
5
-24
-24
-24
33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-34
-22
6
8
0
-2
0
-15
-5
-29
-40
-6
44
-8
-7
-28
4
1
-85
11
-4
-68
-11
-61
-28
-22
-11
-32
-1
2
-3
2
54
11
23
17
-35
-10
24
-41
19
-12
-1
22
-38
-10
-21
-27
56
41
-11
95
5
0
-9
-11
-5
28
48
9
14
-7
-15
0
-1
-14
61
16
29
50
16
12
8
12
51
26
-1
-22
-9
44
9
32
34
14
13
-14
43
-19
-23
39
51
40
0
7
39
1
60
-38
18
58
71
0
0
-1
9
6
-8
-13
32
65
0
0
0
0
0
-27
-13
119
34
0
0
0
0
0
0
-3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
24
43
27
10
13
1
-12
5
-89
-11
-9
14
-24
-3
-3
0
0
29
-8
-39
-93
19
-7
19
14
7
0
-2
2
6
1
-41
60
-22
-21
41
14
-4
10
39
21
6
-2
2
14
-32
16
14
3
12
-5
0
0
-22
18
-16
-45
-4
30
5
31
8
0
1
8
0
-10
-80
56
29
28
27
28
-10
-6
12
29
1
-6
-10
16
53
-13
-2
5
0
0
0
0
-13
-16
34
17
3
-26
-10
-2
2
3
12
9
-8
16
-23
2
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-4
15
-4
38
-39
-4
-1
48
13
-15
37
-27
-1
2
0
0
-13
6
51
-13
60
2
20
20
9
0
6
-3
0
12
2
24
18
0
-89
30
-2
45
22
-7
-1
1
0
8
15
18
-6
-2
0
-5
14
62
57
22
-9
-21
29
-2
-2
0
0
-3
4
-14
20
-13
-32
-32
18
19
-14
5
36
56
74
31
19
8
-6
-8
31
39
-15
-1
64
-20
-32
-12
1
-5
-4
16
-41
-8
-23
-7
26
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
31
32
3
44
7
7
-7
-37
4
1
7
11
8
10
10
-74
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-7
-25
21
51
52
-6
-4
-9
0
-2
1
0
0
-24
26
-69
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
25
-4
2
22
5
-4
0
-39
0
-2
0
2
-1
-20
-8
-19
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
12
9
16
8
0
-7
-17
-10
-19
-1
20
9
-18
8
-42
-51
17
24
1
-23
53
-10
-6
-17
-12
0
2
-2
-5
-18
28
-71
-38
-80
-1
39
-9
8
5
-2
-3
13
10
-22
15
26
-15
-8
-43
7
22
58
57
-34
5
-3
-5
48
-25
-1
10
-13
-23
0
-46
44
3
-11
20
18
4
-54
23
-14
18
20
19
3
32
5
35
37
23
-21
-19
10
7
3
14
27
5
17
-1
45
-8
-2
-5
-1
1
-7
-22
78
-49
-7
0
-6
0
0
0
-1
-1
12
6
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
-6
-47
-23
-14
11
-2
4
-39
27
-39
-22
-10
13
-10
0
-1
1
-4
1
-13
13
-11
-54
9
20
0
0
0
0
0
-12
12
-57
-7
-17
-35
13
33
5
8
2
3
-2
-13
-7
-10
0
4
9
-3
0
0
-3
12
18
-58
-6
-52
-29
0
-1
0
0
0
0
1
-5
-12
14
-50
62
20
26
3
7
21
3
-6
-17
-21
7
-4
-20
27
4
-4
0
0
-1
-2
1
42
-16
-40
-13
11
-20
0
0
0
0
0
4
-7
31
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
7
-23
37
6
-13
-7
0
16
-28
-10
-7
-96
8
6
-6
0
0
-2
-3
8
6
-27
-41
24
14
29
0
0
0
0
0
0
25
-30
4
-40
8
-6
-4
-22
-36
-20
-1
-2
0
0
0
-2
0
-31
-31
8
-26
3
-2
-1
-26
35
-4
-3
0
-1
0
0
-1
-3
-8
-11
-43
-2
-10
-14
5
36
56
74
31
19
8
-6
-8
31
39
-15
-1
64
-20
-32
-12
1
-5
-4
16
-41
-8
-23
-7
26
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
31
32
3
44
7
7
-7
-37
4
1
7
11
8
10
10
-74
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-7
-25
21
51
52
-6
-4
-9
0
-2
1
0
0
-24
26
-69
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
25
-4
2
22
5
-4
0
-39
0
-2
0
2
-1
-20
-8
-19
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
12
9
16
8
0
-7
-17
-10
-19
-1
20
9
-18
8
-42
-51
17
24
1
-23
53
-10
-6
-17
-12
0
2
-2
-5
-18
28
-71
-38
-80
19
-34
0
0
0
-143
-47
5
65
-5
-73
-28
-82
52
75
-1
-6
3
-16
48
2
-4
-6
-9
-12
-3
-20
8
-5
3
2
0
12
5
9
12
6
5
11
19
3
2
1
10
3
1
-6
-4
-11
-6
0
-6
-3
-14
-18
0
3
-17
-33
-13
43
7
-45
-25
15
4
-7
-50
-1
3
2
-15
-88
-13
-73
-39
-6
-41
4
0
0
0
0
0
0
0
0
0
0
0
-17
2
-2
-12
5
2
0
-1
0
-5
11
8
4
-7
15
14
27
-17
29
2
-1
-5
-4
-10
-17
-5
1
-1
-3
-1
2
7
8
-1
7
52
31
23
-2
7
14
9
3
-4
1
2
2
1
-1
-1
-22
2
5
-1
8
-28
6
42
-21
9
0
0
0
0
0
0
0
0
0
0
-11
-10
-4
-2
-12
5
0
2
-4
-4
21
4
9
15
6
25
4
-21
44
17
-23
-5
1
-5
-3
-26
13
20
27
10
-10
-2
-3
-2
-3
-28
13
5
13
19
13
-6
-6
-12
-15
53
6
-20
-33
-48
58
-19
-26
-19
-4
5
-17
-12
-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
8
-4
0
-7
-17
29
10
2
0
-35
0
-1
0
0
0
0
0
0
0
0
4
-1
3
2
13
8
32
-11
-5
-23
0
-8
-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
22
-1
-13
-13
-4
70
11
0
-6
-51
0
0
0
0
0
0
0
0
0
0
-13
-19
-13
-14
-11
1
-15
-15
13
31
-15
-16
-13
-2
2
-11
-20
8
11
18
-58
31
3
63
-31
6
8
-3
14
-12
-37
-1
-2
22
57
-14
3
8
2
12
-6
-2
7
7
20
4
1
2
3
4
4
2
2
-3
-7
-21
2
-2
-5
-11
8
3
3
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
3
0
-14
-12
-1
-2
-17
-21
-16
-9
-7
-39
-44
-95
-27
19
-65
-22
6
2
0
-3
-22
7
-6
-7
-11
-12
8
-15
-14
-33
-22
39
-1
-12
-43
-45
-10
1
5
4
-1
15
1
-3
-11
-4
28
-15
-34
-19
-30
-19
-46
-16
-52
-42
0
0
0
0
0
0
0
0
0
0
0
1
-5
-1
-11
3
1
-5
-2
-3
-20
0
-3
-10
-30
66
35
13
-89
22
14
-4
-9
-21
-6
31
22
-46
-48
-25
1
-4
-3
-9
2
27
1
-25
-2
-16
13
-6
-6
-12
-15
53
6
-20
-33
-48
58
-19
-26
-19
-4
5
-17
-12
-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
8
-4
0
-7
-17
29
10
2
0
-35
0
-1
0
0
0
0
0
0
0
0
4
-1
3
2
13
8
32
-11
-5
-23
0
-8
-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
22
-1
-13
-13
-4
70
11
0
-6
-51
0
0
0
0
0
0
0
0
0
0
-13
-19
-13
-14
-11
1
-15
-15
13
31
-15
-16
-13
-2
2
-11
-20
8
11
18
0
0
0
0
0
0
0
2
12
0
42
0
-19
5
-8
15
70
-9
-8
-78
-40
31
-33
23
13
36
34
28
9
-30
-77
-94
4
-37
-5
21
4
11
-11
-51
14
1
5
1
7
18
-15
-30
15
31
-35
9
8
-7
84
41
36
-9
47
23
-6
1
4
28
40
0
50
49
12
-7
3
-4
14
29
11
10
4
-9
6
3
-4
-21
63
51
27
19
13
-5
-7
-15
36
58
50
45
-5
-25
-11
-6
5
52
9
9
-76
10
-4
-18
-19
13
-21
131
13
-57
-12
-22
-27
-18
21
-7
-112
43
37
24
-92
20
11
31
0
0
-4
13
-43
-47
-57
1
9
0
0
0
0
0
-12
-12
44
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
25
13
15
11
1
-1
-4
-5
-59
9
5
1
8
7
-5
0
-3
-4
27
3
-8
-18
-20
-5
2
-11
-4
-65
58
-27
-50
11
24
12
8
41
21
-25
-14
-12
8
1
1
-1
17
-23
4
6
0
-5
-10
-2
1
34
16
-3
-21
-29
-14
-7
0
0
-19
83
61
46
25
-4
3
9
14
21
-9
14
5
-2
5
4
-2
-7
-34
-14
13
1
6
-3
-6
1
0
-74
30
16
-3
-21
-5
-13
-4
-6
13
52
12
33
68
-3
-46
-5
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-9
-9
4
-1
6
3
-7
-9
3
1
-4
10
0
0
-3
-2
-2
-75
1
5
-12
9
-7
-1
2
-2
5
-1
14
-6
46
-13
-64
26
-26
-20
-16
9
33
26
-3
-8
-3
-3
62
49
109
-8
-17
-16
-7
4
3
-52
-26
0
-11
6
-4
-15
2
-4
-8
107
18
86
-12
-19
-3
19
16
17
43
40
38
18
10
0
-5
-17
16
40
7
1
5
15
-20
-11
-32
-17
34
12
25
-10
-27
-55
-55
-109
0
-31
1
-5
9
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
40
24
11
15
-7
-7
-14
-8
30
-14
7
7
14
37
-44
-35
-76
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
23
15
13
-3
19
-11
4
-18
5
7
12
-14
-2
-25
-10
-51
3
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
15
17
41
-10
23
-10
-6
-14
-1
-7
-19
27
-1
-17
11
-6
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
35
-23
15
-3
-6
-14
-10
-19
-43
-40
67
3
9
-17
-38
-6
-33
-13
3
7
-6
-6
-19
-14
-7
-9
-9
-15
20
59
34
-19
-59
-45
-50
-6
4
-36
71
-13
-47
48
0
-8
36
2
5
-21
40
-111
-25
-46
42
-17
31
14
13
9
-10
28
-15
3
-8
4
37
-14
0
26
-10
-2
2
-5
41
-5
5
15
13
4
2
-6
26
-1
11
-21
-2
-1
4
-1
-4
16
43
-16
26
-30
-12
-19
0
0
-4
58
7
-23
21
-7
-7
-1
-2
0
-2
7
-16
-25
53
-36
19
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-20
-13
-19
-27
0
0
-1
-2
-45
-21
-45
13
-16
-11
-19
0
-2
-11
-38
42
-27
4
26
-33
3
-8
0
0
0
0
9
-49
-65
67
-5
-12
-36
2
-10
6
-1
-10
3
1
-58
5
8
20
-17
-11
-11
0
-4
-37
41
34
-17
-32
6
-29
1
-15
0
0
0
-31
24
-2
19
-16
42
-23
23
35
-40
8
0
-1
2
-11
33
46
14
-38
3
-11
-9
2
0
5
3
22
0
-13
-24
-62
5
-5
0
4
0
50
32
-19
-54
-13
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-35
24
-3
-12
-4
-5
2
-6
-49
-39
-37
-28
3
-2
-6
0
-3
14
-1
68
2
-21
11
-9
-11
3
0
0
0
0
5
-5
-9
-55
55
-19
5
-50
-39
-14
-11
-17
-4
-12
-31
-53
-14
-49
-26
2
-47
5
11
-57
11
32
27
-8
-2
-14
-1
-7
8
-16
-62
-94
-39
-46
-12
18
9
17
43
40
38
18
10
0
-5
-17
16
40
7
1
5
15
-20
-11
-32
-17
34
12
25
-10
-27
-55
-55
-109
0
-31
1
-5
9
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
40
24
11
15
-7
-7
-14
-8
30
-14
7
7
14
37
-44
-35
-76
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
23
15
13
-3
19
-11
4
-18
5
7
12
-14
-2
-25
-10
-51
3
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
15
17
41
-10
23
-10
-6
-14
-1
-7
-19
27
-1
-17
11
-6
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
35
-23
15
-3
-6
-14
-10
-19
-43
-40
67
3
9
-17
-38
-6
-33
-13
3
7
-6
-6
-19
-14
-7
-9
-9
-15
20
59
34
-19
-59
-45
-50
19
-7
0
0
0
-65
14
-22
61
-41
-24
32
-22
8
28
-6
-7
36
-10
55
21
-4
9
-10
25
1
8
1
9
3
-5
10
16
9
4
15
1
23
2
13
2
5
0
-5
6
-1
-10
-4
3
-16
2
0
-20
-14
-28
9
-22
-26
-12
-17
5
-46
-16
3
3
35
-36
-59
6
43
0
-73
-62
30
-66
-41
-20
-31
-1
0
0
0
0
0
0
0
0
0
0
0
11
-1
2
2
-18
-1
3
-10
-6
2
7
-3
-9
-16
0
38
-7
-42
2
38
6
-9
1
4
4
-8
-2
-3
-8
-14
-18
-1
-17
-24
-15
-26
19
4
6
-9
24
16
13
9
13
-4
1
-2
0
0
-25
-19
-7
-6
-13
-54
-6
-30
13
-5
0
0
0
0
0
0
0
0
0
0
26
-8
5
-2
10
2
0
-2
-1
-4
-13
-9
-14
3
-22
-26
1
6
-47
20
-29
-13
-18
-15
-17
-26
-25
-4
-5
-3
-20
-18
-9
-14
-21
-69
-24
-20
4
15
4
-7
-18
-19
-25
28
-4
-9
-14
-18
72
44
-45
-45
2
13
-5
-21
-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
-2
-3
-7
-3
3
1
-19
3
15
20
0
-1
0
0
0
0
0
0
0
0
-17
10
-11
-9
-13
4
-12
-5
49
-31
0
-8
-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
7
-9
-18
-6
-4
42
31
-20
-27
-38
0
0
0
0
0
0
0
0
0
0
-23
-16
-15
-13
-10
-41
3
-7
3
15
-27
-21
-10
-19
-9
-7
5
-9
8
-6
73
-74
-18
64
-57
-8
-36
5
43
31
-5
-27
-1
40
3
-16
-7
-5
-4
19
-1
3
3
-1
1
-2
5
7
-5
8
4
7
-1
1
-6
-1
-4
-15
-1
-14
6
24
14
-12
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
-3
-4
-7
-1
-5
-5
-22
-21
-10
-13
9
-34
-38
18
23
-2
3
-154
7
-2
-5
-8
-5
-4
-3
-11
-21
-25
7
-7
-19
-42
-28
0
37
-21
-61
-39
13
3
-7
-15
-2
22
-3
-14
-28
-11
17
-7
-22
-61
-43
89
-70
-146
-11
-44
0
0
0
0
0
0
0
0
0
0
3
0
-1
3
-1
-2
0
-2
-13
1
30
-3
-20
-15
-8
76
-7
-17
-62
4
13
-9
-10
-12
-19
30
-16
-18
-29
-34
-19
-3
-10
-16
2
-13
6
-14
-1
1
4
-7
-18
-19
-25
28
-4
-9
-14
-18
72
44
-45
-45
2
13
-5
-21
-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
-2
-3
-7
-3
3
1
-19
3
15
20
0
-1
0
0
0
0
0
0
0
0
-17
10
-11
-9
-13
4
-12
-5
49
-31
0
-8
-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
7
-9
-18
-6
-4
42
31
-20
-27
-38
0
0
0
0
0
0
0
0
0
0
-23
-16
-15
-13
-10
-41
3
-7
3
15
-27
-21
-10
-19
-9
-7
5
-9
8
-6
0
0
0
0
0
0
0
2
12
0
-4
-6
-8
50
-8
52
68
13
63
48
10
16
-37
16
-48
3
67
1
-70
-29
-32
-115
-5
92
0
38
23
18
14
5
-16
-1
0
13
5
-6
40
-12
-40
40
3
4
14
12
99
33
23
43
34
0
-2
10
0
63
25
9
44
30
-7
2
6
-12
81
33
44
-2
6
10
-7
-2
4
-63
-8
27
-11
1
-9
4
-8
3
-44
9
58
-24
1
0
-13
-7
-6
-78
-21
-52
-24
-5
-22
-12
-6
14
6
111
-25
-59
-38
-18
-26
-17
21
5
-32
-29
-13
-28
64
-22
-1
13
0
0
1
4
-59
-87
2
2
3
0
0
0
0
0
-12
-17
24
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
2
-17
-8
10
12
4
-1
-2
11
54
28
23
14
2
-11
-1
-3
-17
6
-17
-3
-21
-11
-18
0
-12
-4
-25
50
-18
-11
-29
-35
-5
11
29
-10
-23
-10
-11
4
-7
4
1
11
34
17
-3
-3
4
-6
-11
-3
50
-9
1
5
-22
-11
-6
0
-34
-25
64
50
1
-40
-5
-36
-5
-7
35
22
8
5
0
7
2
10
8
-32
0
2
10
2
-8
-12
4
-7
1
0
18
-7
-17
-7
-15
-8
-4
45
54
46
26
9
-46
-14
-33
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
33
-31
9
24
2
3
0
6
2
-11
12
3
-16
1
-1
0
-4
-31
-1
-21
11
5
-11
-8
-9
-8
-13
-1
5
-24
31
-2
-26
-29
-36
28
-67
-8
-14
-3
-7
-16
-3
-17
70
96
94
-4
-4
-19
-18
-24
-40
85
19
14
-14
-1
-13
-12
-4
-11
-85
43
32
20
-45
-31
-16
0
-23
75
9
22
1
12
3
-11
-13
-11
29
21
23
36
31
-13
-32
-15
-18
16
17
24
11
2
-53
25
-42
-129
0
-7
0
-5
9
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
57
18
4
2
-4
-9
-10
-22
-12
-22
-14
11
12
-23
5
-31
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
39
13
22
13
-12
-15
-8
2
-1
7
6
26
-8
-22
-37
-25
-66
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
44
3
8
7
-27
-15
-22
8
25
-25
11
23
-1
-12
-79
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
24
17
20
-4
-12
-5
-12
-23
-7
21
16
11
-34
-4
-15
-15
-42
8
7
14
0
-12
-22
-16
-12
-18
1
-9
-27
-4
54
-18
-48
-43
-53
-6
20
26
13
-3
-28
71
-39
-2
-12
-3
-2
-11
47
-37
-6
-5
-49
64
33
30
11
14
-23
9
-21
-33
-37
11
-26
-16
28
-10
3
2
-8
-50
6
-13
20
-42
10
2
0
-6
-19
38
-24
-5
-21
-4
0
6
-3
65
33
-21
14
-15
-4
-15
-3
4
-32
-38
33
22
-40
7
-16
3
12
0
-2
-5
-64
93
-33
-3
-9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-13
0
1
-1
-4
-5
10
-38
-54
-21
5
-39
-13
-13
1
-15
-1
25
-59
-63
-6
15
-11
13
-27
0
0
0
0
-3
9
-41
-1
31
-35
-19
13
9
-15
-4
-9
-7
5
-18
35
6
-15
-24
-14
-13
-5
-22
-10
5
13
32
4
4
-33
-5
-36
0
0
0
-31
102
35
-63
-1
-28
42
32
-4
-6
7
-26
-1
-4
-1
105
61
5
-39
-2
-4
-33
2
-11
-11
-9
49
-18
-46
-26
-34
-2
-21
0
4
0
49
23
-31
-110
25
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-45
15
-23
-3
11
-4
4
-10
-11
-11
-30
-4
-9
0
-11
-2
-3
-8
25
63
40
-36
-33
10
-1
-9
0
0
0
0
1
-29
29
-31
58
23
18
-24
-18
-26
-8
-24
0
-7
3
-9
-5
-22
46
-13
-4
5
-38
29
-9
0
-16
-18
-16
-14
0
-6
-9
5
-49
-59
-51
-23
-5
14
-23
75
9
22
1
12
3
-11
-13
-11
29
21
23
36
31
-13
-32
-15
-18
16
17
24
11
2
-53
25
-42
-129
0
-7
0
-5
9
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
57
18
4
2
-4
-9
-10
-22
-12
-22
-14
11
12
-23
5
-31
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
39
13
22
13
-12
-15
-8
2
-1
7
6
26
-8
-22
-37
-25
-66
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
44
3
8
7
-27
-15
-22
8
25
-25
11
23
-1
-12
-79
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
24
17
20
-4
-12
-5
-12
-23
-7
21
16
11
-34
-4
-15
-15
-42
8
7
14
0
-12
-22
-16
-12
-18
1
-9
-27
-4
54
-18
-48
-43
-53
1
0
0
0
0
43
-31
-6
4
1
18
52
15
5
13
66
-8
-10
-3
-2
28
19
5
-14
24
14
-13
23
-23
-4
37
-19
54
15
32
-4
-12
18
-2
-31
21
61
-31
-13
-8
-77
6
11
3
8
-27
-19
3
76
-9
-6
-1
-14
6
4
-67
17
-17
20
-4
-25
12
-10
-12
-46
5
-20
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-13
0
-7
-4
-11
22
-27
-33
10
17
-20
-3
17
-47
-3
-11
-62
2
-6
4
-26
-28
25
-7
2
-2
-3
-35
25
7
8
-60
-5
22
41
1
-22
0
-112
38
2
4
18
-17
11
7
7
-21
-14
-13
-16
-25
8
25
-59
9
-31
14
29
0
0
0
0
0
0
0
0
0
0
23
-8
-31
2
44
-11
5
-8
5
-23
-14
14
16
-16
-3
-71
19
-13
-1
-6
2
-4
-17
-10
-6
-91
-38
23
-1
-18
-17
-28
-27
24
-39
32
-13
-60
-26
-16
7
13
-31
9
-30
-9
-21
2
0
-1
2
-24
-20
-1
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
19
-30
-31
6
20
-36
-32
6
-13
0
0
0
0
0
0
0
0
0
0
20
-40
0
23
18
7
-31
12
15
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-29
36
4
-37
-13
24
-6
-25
-18
0
0
0
0
0
0
0
0
0
0
2
-29
18
2
-28
-49
5
-3
10
-8
-19
-27
-31
-13
-20
-86
8
0
-15
48
37
-12
0
13
0
-9
35
5
-33
47
-37
13
15
90
-31
8
33
-9
2
5
2
-12
5
19
42
-19
-2
11
-13
3
-23
-26
-14
-24
5
-3
18
5
-15
-58
71
-5
-56
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-18
-2
-4
11
19
-36
16
-5
-7
-18
-1
-1
-13
-32
-37
-41
1
-10
-10
-6
12
-3
-11
-12
-15
-39
-12
45
24
22
4
4
-28
-83
-17
33
-48
13
-21
-31
21
-7
3
-6
47
-51
-43
-18
34
-71
32
1
31
-60
25
-1
-31
1
-10
0
0
0
0
0
0
0
0
0
0
5
2
-21
13
5
-5
-9
5
-4
-14
-30
24
-52
8
5
19
16
-25
3
1
5
16
25
-14
-65
4
-4
28
-28
-18
9
10
-4
-26
-51
11
-32
13
-18
-17
7
13
-31
9
-30
-9
-21
2
0
-1
2
-24
-20
-1
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
19
-30
-31
6
20
-36
-32
6
-13
0
0
0
0
0
0
0
0
0
0
20
-40
0
23
18
7
-31
12
15
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-29
36
4
-37
-13
24
-6
-25
-18
0
0
0
0
0
0
0
0
0
0
2
-29
18
2
-28
-49
5
-3
10
-8
-19
-27
-31
-13
-20
-86
8
0
-15
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-5
13
0
0
-2
-2
30
17
-4
-34
58
0
7
25
-1
-7
8
-42
5
-13
-9
-7
-39
16
-13
1
57
-5
-22
1
-39
11
-26
-24
-2
-57
13
24
29
24
-30
80
12
-23
3
-11
21
-7
10
17
6
16
9
-19
35
-39
-24
-8
-10
-20
21
33
-1
15
-39
22
5
12
-57
-51
-26
41
-23
6
0
-10
-23
-61
53
-13
32
-51
64
-13
-13
30
27
-67
-8
-3
43
-2
0
-5
4
4
7
24
-36
-14
38
0
-1
-3
-4
1
29
-48
1
-15
0
0
0
0
0
-17
5
-14
-9
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-23
-9
23
-7
44
-19
-8
24
29
25
9
29
4
-2
2
-1
-48
-21
-10
18
-4
2
-16
-11
-5
3
-4
0
-5
-20
-41
-21
-41
48
-22
-13
41
-28
-34
31
5
-3
5
-2
0
1
29
-3
10
-1
-8
10
-21
15
-19
-46
27
-3
-2
-18
-18
6
0
-1
15
-52
5
-18
-23
-13
-43
13
26
34
-26
-11
4
-5
25
-34
20
14
-41
4
6
19
-6
4
-20
-8
-32
16
48
3
-22
-3
-42
1
-3
5
-9
-14
20
-4
-23
-29
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-19
20
2
12
1
-24
21
-6
30
30
18
-9
-1
-5
5
-5
-9
-29
-21
-57
11
-6
11
-22
26
21
0
0
0
-4
3
-16
-26
9
-38
9
10
13
-17
-11
1
-25
-17
8
-1
5
-8
-52
-28
21
43
-79
-39
23
23
18
-1
26
-40
-40
-7
4
0
-8
12
6
-40
22
-16
-11
-62
-35
21
7
-20
12
1
-24
5
4
14
8
41
26
3
-1
-15
-61
-29
0
0
1
-8
15
-41
15
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
22
76
4
-21
-6
-23
-12
-34
1
0
-1
9
-8
-10
41
-50
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
57
35
-4
10
-17
3
-10
-53
1
-1
1
0
-21
6
-12
-22
25
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
35
39
-22
40
5
-26
-57
-51
0
0
0
-7
-1
13
-8
-44
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
27
65
-7
-20
-31
-22
-2
4
0
3
5
15
7
9
-37
-54
-21
-11
18
7
-16
-20
-18
15
-16
4
0
-1
1
-41
35
11
-30
-21
-24
0
0
1
-2
-2
3
31
-9
8
3
18
-6
1
-23
11
-30
25
28
21
7
8
-5
72
4
31
-37
-68
-13
-14
3
6
17
4
13
-18
4
17
-40
-9
-3
1
-20
-15
14
47
5
1
0
17
-51
20
-9
-14
30
-35
14
3
7
11
49
6
-16
-73
2
2
-5
-14
20
-20
4
-6
5
0
0
1
-17
17
-5
-10
66
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
42
-23
21
-41
-12
9
-15
37
31
-55
16
39
41
8
-10
-36
-17
-2
8
-18
-48
-27
-11
-53
74
-3
0
0
0
0
0
8
-1
-84
-14
-13
4
-4
-1
17
-25
-15
22
-3
17
-1
1
-3
-7
37
-21
-21
6
6
-9
13
27
-29
-5
-10
-31
-10
0
0
0
-1
9
14
-41
-4
-21
-9
32
-3
2
16
-39
-10
18
-20
43
-21
-8
81
9
7
-19
-39
-11
3
-6
22
-20
-32
21
-46
11
-32
0
0
0
8
8
-20
3
6
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-21
26
-30
6
17
-8
8
4
-6
1
-11
25
6
3
-6
-6
-3
3
3
-3
-11
11
-41
-22
32
-60
0
0
0
0
0
0
-8
7
13
34
9
-25
-31
17
-6
-8
-11
6
0
0
0
6
-7
22
-40
13
-42
4
-50
-23
-26
11
-3
-24
13
-28
0
0
3
26
-8
4
-23
-42
-23
-35
21
7
-20
12
1
-24
5
4
14
8
41
26
3
-1
-15
-61
-29
0
0
1
-8
15
-41
15
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
22
76
4
-21
-6
-23
-12
-34
1
0
-1
9
-8
-10
41
-50
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
57
35
-4
10
-17
3
-10
-53
1
-1
1
0
-21
6
-12
-22
25
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
35
39
-22
40
5
-26
-57
-51
0
0
0
-7
-1
13
-8
-44
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
27
65
-7
-20
-31
-22
-2
4
0
3
5
15
7
9
-37
-54
-21
-11
18
7
-16
-20
-18
15
-16
4
0
-1
1
-41
35
11
-30
-21
-24
0
5
0
0
0
-41
-34
-2
-24
-2
-29
-34
-47
71
-66
11
-94
-2
34
10
-36
-22
-28
-3
0
-55
-18
-10
-14
-54
-22
-32
-29
-33
-10
-14
-29
-25
-26
-23
-2
0
1
-1
4
30
34
31
52
55
52
36
53
62
52
23
46
61
41
54
24
9
28
30
71
7
-4
-15
36
77
20
38
-30
44
16
1
8
6
0
0
0
0
0
0
0
0
0
0
0
0
-28
-6
-10
-5
-37
-3
0
0
0
1
8
8
42
16
10
37
40
16
19
43
-14
-9
-27
-15
-9
-1
0
-1
0
0
32
14
13
15
19
-97
60
58
71
81
1
-3
-2
-16
14
1
0
0
0
1
-3
2
15
9
24
-49
-41
-2
50
1
0
0
0
0
0
0
0
0
0
0
-1
2
-7
-36
-35
-2
0
0
0
1
31
-8
32
20
35
74
-3
15
36
34
-10
-1
-1
0
1
34
60
59
23
47
-8
-2
-1
0
0
-4
26
22
34
67
20
13
4
12
-10
23
14
-17
-19
-23
4
-35
-22
17
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
8
-6
3
-5
26
58
-31
-19
-10
0
0
0
0
0
0
0
0
0
0
-4
4
12
6
9
-5
48
-33
-54
3
0
0
-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
14
6
33
0
-4
-3
-37
-13
51
-3
0
0
0
0
0
0
0
0
0
0
1
-6
-23
-16
-18
25
-4
-36
-46
10
-6
-11
-14
-28
-41
-20
-37
-30
-45
31
22
31
36
12
-2
-62
49
31
-4
16
-27
64
37
13
79
-32
-10
40
29
110
-17
-2
19
31
57
9
0
12
9
18
14
-2
-2
5
-1
5
-5
-4
2
11
8
-6
11
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
7
-2
3
-3
-1
-1
-1
-1
4
-3
-12
-22
-81
14
-7
-41
-108
16
10
-3
8
6
22
0
-1
-1
-1
0
27
-4
-20
-8
-7
-70
-50
68
3
-51
-43
3
-15
4
19
2
0
0
0
0
2
5
-43
-10
-54
30
58
-50
-19
-31
0
0
0
0
0
0
0
0
0
0
-20
-8
5
-15
-12
-1
0
-2
0
0
35
-6
8
-40
-23
43
9
-1
-23
4
-16
-7
-2
0
0
16
-38
-50
5
-33
-14
-2
-2
-1
1
-2
-24
0
6
81
20
13
4
12
-10
23
14
-17
-19
-23
4
-35
-22
17
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
8
-6
3
-5
26
58
-31
-19
-10
0
0
0
0
0
0
0
0
0
0
-4
4
12
6
9
-5
48
-33
-54
3
0
0
-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
14
6
33
0
-4
-3
-37
-13
51
-3
0
0
0
0
0
0
0
0
0
0
1
-6
-23
-16
-18
25
-4
-36
-46
10
-6
-11
-14
-28
-41
-20
-37
-30
-45
31
0
0
0
0
0
0
0
1
0
0
-2
-2
0
1
-2
1
-47
-4
0
-9
-22
-6
5
23
-41
-3
-60
4
-27
-27
0
-72
14
13
-41
-94
-21
0
-4
-89
-69
-20
22
-45
19
4
-26
-23
-15
-10
-40
-14
-30
-2
-64
-23
21
14
1
-13
-10
-10
-11
100
-5
4
49
-20
1
3
-6
-4
13
26
-48
30
-25
-7
2
-1
0
-31
49
16
5
63
7
20
9
19
26
-19
27
-23
12
82
12
47
29
24
-11
15
25
-6
-32
64
30
38
7
7
2
-4
6
24
4
33
26
0
0
0
0
0
3
5
42
68
0
0
0
0
0
-3
-22
84
58
0
0
0
0
0
0
-1
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-22
-20
27
36
-2
-12
-4
-3
2
41
-8
-27
-45
5
2
0
0
-47
-69
-20
-19
19
-21
12
16
4
-8
7
5
-18
6
-17
-10
54
15
20
44
-17
21
-15
-12
-6
-9
0
9
-84
5
-54
14
-22
4
0
0
-65
29
-25
-10
-31
34
-5
13
9
-5
-25
-10
-19
16
4
29
34
57
13
16
-34
-18
-3
28
11
3
5
-15
-52
13
2
-2
0
1
0
0
-26
-28
10
6
-12
-29
1
9
17
-33
-1
-37
-39
-3
13
-12
30
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-60
5
15
-49
7
-2
-8
-11
28
-21
-23
-3
18
-5
2
0
0
-65
-42
-28
-49
6
22
42
9
9
0
11
-6
25
-4
-20
-32
75
36
20
11
-5
-14
24
-2
5
2
0
-13
-5
5
21
-4
-22
5
22
53
-10
-53
-24
-2
-11
-3
-1
0
0
-8
-3
-1
8
-1
2
-53
20
-30
-15
-36
13
-5
-5
-27
3
5
10
3
-4
-11
-15
-5
36
-18
3
13
4
9
-5
-14
-20
-21
0
6
7
0
0
3
-2
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-27
44
-33
12
7
-7
-2
13
21
-8
-18
5
30
15
13
-17
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-9
-11
-7
-41
-20
6
-2
5
0
-3
0
0
-14
14
14
33
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
13
15
-28
-20
-37
-5
-3
11
0
4
-1
2
-3
-32
18
-69
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-9
-30
10
12
-4
-4
-12
-4
-32
-6
-13
-22
4
-35
4
-20
-3
-14
-54
-13
-23
-44
-11
6
-15
-12
-12
24
0
-4
-6
-34
-5
-22
-59
0
21
20
22
3
-4
2
-14
3
-11
1
-30
-40
13
104
-40
83
-33
-85
-45
-10
42
22
-42
18
22
24
-19
-50
-45
-26
-26
51
-15
15
27
27
14
-29
-60
-60
-6
-25
19
20
-41
-11
-4
24
-7
-34
-3
1
4
40
12
-13
-14
-20
1
8
-3
2
0
-9
0
9
41
-31
-7
-5
0
0
0
0
0
10
74
23
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-17
-45
-41
28
-18
5
2
1
-67
-73
-31
-48
-64
-6
10
-1
-1
-5
-1
-5
5
15
-6
22
-1
-8
0
0
0
0
0
-1
-17
17
-64
26
23
-17
2
21
3
0
2
-10
-36
-54
-67
-67
-53
-3
5
0
0
-60
-22
-31
20
8
-29
-6
8
-15
0
0
0
-1
1
10
3
-12
-78
17
60
9
-14
8
37
17
-8
-19
-42
-79
7
-20
-14
-2
1
0
0
-66
9
28
31
-29
23
-15
-3
11
6
21
5
-7
16
-41
-32
57
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-55
43
1
-4
-12
3
0
-2
-105
-25
-110
-34
-29
-6
3
0
0
-1
-4
-7
-14
22
22
-9
13
10
0
0
0
0
0
1
-25
-6
60
-65
-60
-5
5
-10
-33
4
0
-2
0
1
0
2
-19
34
22
-26
16
-17
-47
-18
-5
-2
-9
-4
0
0
0
0
-6
1
-13
13
-43
-4
-20
-15
-36
13
-5
-5
-27
3
5
10
3
-4
-11
-15
-5
36
-18
3
13
4
9
-5
-14
-20
-21
0
6
7
0
0
3
-2
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-27
44
-33
12
7
-7
-2
13
21
-8
-18
5
30
15
13
-17
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-9
-11
-7
-41
-20
6
-2
5
0
-3
0
0
-14
14
14
33
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
13
15
-28
-20
-37
-5
-3
11
0
4
-1
2
-3
-32
18
-69
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-9
-30
10
12
-4
-4
-12
-4
-32
-6
-13
-22
4
-35
4
-20
-3
-14
-54
-13
-23
-44
-11
6
-15
-12
-12
24
0
-4
-6
-34
-5
-22
-59
0
35
5
1
0
-132
16
-20
32
1
16
-82
-79
78
4
1
20
-13
-25
28
2
-28
-12
-28
31
14
-1
-9
-6
11
7
4
18
8
8
11
11
18
3
12
2
2
6
10
2
3
-2
-4
-5
13
5
-6
-6
2
-18
9
-16
-9
-36
20
47
-6
-27
-33
-42
-15
9
-19
-88
7
8
-11
-86
-50
-22
-23
-22
-24
-8
1
0
0
0
0
0
0
0
0
0
0
3
-4
1
-9
-2
-1
-1
-3
0
-6
19
14
12
-1
7
96
-8
17
-4
-2
1
-5
0
-8
-3
-5
1
-2
-2
-6
15
10
12
12
17
-4
15
19
13
6
23
1
-3
7
0
-1
-2
-1
1
2
-13
-5
-2
5
6
-82
-4
8
24
54
0
0
0
0
0
0
0
0
0
0
-5
-2
-5
-4
-13
0
-2
0
-5
0
15
5
14
5
1
30
58
-2
-45
57
-19
-7
-2
-9
2
-34
16
30
40
19
-4
-4
-4
-9
-3
-19
3
3
13
29
34
0
-9
-9
-17
47
17
-23
-34
-42
34
-4
-14
17
-59
-4
73
-26
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
10
-14
-10
-13
-16
13
12
6
31
2
-3
0
-2
0
0
0
0
0
0
19
3
-16
-13
-17
14
-6
-12
10
-30
5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-5
0
-7
23
-21
1
2
-17
0
0
0
0
0
0
0
0
0
0
-27
-16
-15
-1
-12
16
-15
-11
16
-18
-33
-26
-9
3
18
-28
-19
2
42
45
-43
46
21
-22
6
8
24
4
8
0
-21
-4
4
4
31
-11
0
3
9
11
-2
-2
-2
13
-4
5
-4
4
6
5
13
-3
1
5
6
41
7
-3
-7
-14
27
-3
-26
-26
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
-12
8
-1
-10
-14
-21
14
1
-16
-47
-40
96
-14
-58
-34
-11
6
2
-1
-5
-9
48
6
-17
-27
-33
92
6
-49
-65
-72
161
17
-82
-121
-60
4
-2
6
18
6
48
1
-10
-7
-7
117
13
-44
-71
-64
180
-22
-121
-82
-104
0
0
0
0
0
0
0
0
0
0
-11
1
0
2
0
-3
-3
2
-9
-5
23
7
-2
-15
-23
45
35
-42
-60
17
-3
-5
-9
-8
-6
11
-16
-19
-2
-12
11
-1
-7
-15
-14
34
-13
-12
9
-13
34
0
-9
-9
-17
47
17
-23
-34
-42
34
-4
-14
17
-59
-4
73
-26
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
10
-14
-10
-13
-16
13
12
6
31
2
-3
0
-2
0
0
0
0
0
0
19
3
-16
-13
-17
14
-6
-12
10
-30
5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-5
0
-7
23
-21
1
2
-17
0
0
0
0
0
0
0
0
0
0
-27
-16
-15
-1
-12
16
-15
-11
16
-18
-33
-26
-9
3
18
-28
-19
2
42
45
0
0
0
0
0
5
8
8
0
0
-10
-33
-43
22
51
14
-13
-5
-17
-13
-79
-13
-85
58
-22
60
-1
-16
-11
-18
31
1
-16
0
11
-24
-70
-15
-29
13
-40
-21
9
8
8
-59
0
-5
13
-24
-4
12
14
-1
-68
-58
3
-8
10
13
7
11
17
-51
-67
34
-13
28
-1
13
5
20
21
-36
31
59
8
5
3
-4
5
68
-1
23
88
-11
35
9
-7
0
35
34
74
11
27
10
8
-16
-3
-84
84
14
15
12
34
7
-11
-15
40
49
1
-65
36
-34
-37
-14
-11
-12
-1
11
-83
-34
-27
-47
-35
16
0
0
0
0
-2
-51
-62
4
41
0
0
0
0
0
0
-14
-48
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
55
18
20
5
0
4
0
-6
28
-20
-4
13
-13
0
2
0
0
-2
-1
-13
-44
0
-5
17
3
-3
-83
-81
-17
1
-3
36
22
11
13
-23
-24
-21
2
-29
2
7
2
0
-25
-31
21
-26
-8
-5
5
-2
2
-46
7
-2
-6
18
3
4
0
-3
9
-34
-20
39
-16
1
1
-1
36
74
-30
-18
3
22
6
13
4
9
39
15
-11
0
-6
5
7
-1
0
-21
6
-14
-1
5
-4
-2
4
11
-29
-24
11
-11
10
-42
15
12
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
6
-2
19
-11
3
3
6
1
-3
-13
-16
-9
-4
5
2
-3
-19
-24
-27
-21
-24
-1
-1
9
3
-47
2
-26
53
30
1
-29
29
65
26
-10
-7
-19
20
2
0
1
-2
-47
57
49
12
-33
-46
-10
1
-2
3
-7
1
8
7
-14
-8
2
-1
-37
43
-52
23
-28
-5
10
4
7
-39
-40
-21
7
-22
-17
-8
0
9
-38
-22
-7
-11
-28
-13
4
9
40
38
11
-5
-28
-31
-37
0
38
119
0
0
5
-1
-5
-8
8
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-23
5
-26
-33
-19
5
7
24
-10
-47
-25
-5
64
-33
21
-5
21
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-7
-13
-15
-42
-16
-21
-4
5
23
0
21
-4
-3
-68
-69
-9
14
74
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-15
-19
-15
-23
-39
-9
7
22
-1
-3
18
-16
-2
-25
-24
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-5
1
-13
-12
-6
-3
-5
-10
-54
-14
-9
14
-48
4
-11
-5
-14
-14
-1
7
2
1
-20
-8
2
-12
-54
17
0
4
-2
-17
-17
-1
13
-31
52
7
16
-7
-78
-62
12
9
4
-37
-39
-31
-20
78
-23
44
78
-45
18
-3
19
12
6
-3
-3
0
-60
-29
-14
-20
31
21
16
-3
14
-49
-42
18
12
8
5
6
-2
7
-41
36
-2
-8
-27
-4
1
1
0
35
36
-15
-33
-26
6
10
2
3
23
-58
-16
77
93
-14
14
-2
7
0
0
0
0
-22
-44
28
-23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-4
7
-31
-1
-12
3
3
4
-29
-28
-75
-27
-29
-2
8
0
-4
-59
-52
14
1
-19
3
6
-4
-4
0
0
0
6
61
-30
-71
-8
-50
-13
2
6
-3
11
-5
2
4
-4
15
-12
-12
0
-22
-13
4
1
-6
-44
-14
-6
-30
-37
-22
-7
-15
1
-1
9
10
-23
116
-44
6
-17
-18
3
66
21
15
21
19
3
-2
-4
-33
-25
4
-31
-15
-21
1
3
3
-73
-10
-18
12
17
-2
-5
-5
-9
56
-26
-52
-12
16
0
-31
-17
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-4
-2
-19
-2
1
1
3
13
-4
-13
-40
-18
-9
-9
2
1
4
-20
-125
-34
5
-33
-7
17
13
13
0
0
0
0
0
6
-13
34
-5
-33
-34
9
-2
15
-29
-11
-1
-1
7
25
-5
0
-32
48
-17
-16
-29
6
18
13
-3
11
-3
-6
-1
-4
-26
-38
-44
20
-66
-3
-4
5
-21
-39
-40
-21
7
-22
-17
-8
0
9
-38
-22
-7
-11
-28
-13
4
9
40
38
11
-5
-28
-31
-37
0
38
119
0
0
5
-1
-5
-8
8
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-23
5
-26
-33
-19
5
7
24
-10
-47
-25
-5
64
-33
21
-5
21
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-7
-13
-15
-42
-16
-21
-4
5
23
0
21
-4
-3
-68
-69
-9
14
74
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-15
-19
-15
-23
-39
-9
7
22
-1
-3
18
-16
-2
-25
-24
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-5
1
-13
-12
-6
-3
-5
-10
-54
-14
-9
14
-48
4
-11
-5
-14
-14
-1
7
2
1
-20
-8
2
-12
-54
17
0
4
-2
-17
-17
-1
13
0
31
5
1
0
-27
1
4
11
-42
51
-33
40
3
1
-3
-5
-12
-29
43
17
-6
6
25
-14
1
4
18
-6
16
-4
10
10
10
17
19
6
12
9
15
10
0
8
-6
-3
-3
-14
8
12
2
-20
-6
-13
-2
10
-5
-22
-9
-23
-21
-20
-13
-21
-23
-15
14
27
-1
-72
-9
-10
-37
-82
-8
-16
-27
-35
-37
-7
1
0
0
0
0
0
0
0
0
0
0
-8
-1
14
-5
6
10
-4
-4
-2
-3
11
-4
-13
-9
-28
-7
18
-4
-32
6
-13
-1
-11
-2
1
-4
-8
2
2
0
-17
-6
-5
-7
-20
-28
-11
8
4
1
29
20
11
12
19
5
-1
2
0
2
-23
-12
-11
-8
-5
-67
-27
-9
9
31
0
0
0
0
0
0
0
0
0
0
-1
-3
8
9
6
-3
1
-3
-2
0
22
-15
-11
-27
-1
13
2
17
-41
-3
-28
-15
-14
-7
-7
-14
-12
-15
-39
-33
-12
-12
-11
-12
-13
-42
-16
-20
-15
5
14
5
-16
-19
-10
16
2
-17
-35
7
62
27
-16
-71
5
9
12
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-11
-11
-19
0
9
-22
3
-23
50
2
-3
0
-2
0
0
0
0
0
0
20
-2
-23
-6
-5
47
14
-60
-29
-8
5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-14
-11
-8
7
24
14
-37
-34
14
0
0
0
0
0
0
0
0
0
0
-14
-17
-18
-12
-15
-26
-6
-42
18
21
-38
-29
-6
9
-3
-44
-25
3
31
22
69
-49
5
-43
18
7
-21
11
65
-40
0
-8
-9
19
-8
-17
2
-13
20
-26
-7
-3
0
6
16
5
1
1
3
4
9
-2
2
5
5
4
1
19
-18
-5
76
-23
-36
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
6
-11
22
0
-4
-24
-19
-2
2
-17
-34
-30
1
15
-27
-23
-72
31
7
-6
-13
-16
64
2
-30
-31
-24
104
-13
-40
-91
-25
132
-42
-105
-30
-35
29
2
-10
-9
21
89
4
-44
-32
-27
131
-19
-67
-79
-36
141
-60
-115
-84
-30
0
0
0
0
0
0
0
0
0
0
-9
6
-7
7
-14
-5
-2
0
-7
7
9
7
-17
-13
-15
-18
41
-78
-66
32
18
-10
-16
-6
-50
30
-7
-6
-41
-11
21
-10
-15
-9
-16
17
-5
-21
-12
-26
14
5
-16
-19
-10
16
2
-17
-35
7
62
27
-16
-71
5
9
12
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-11
-11
-19
0
9
-22
3
-23
50
2
-3
0
-2
0
0
0
0
0
0
20
-2
-23
-6
-5
47
14
-60
-29
-8
5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-14
-11
-8
7
24
14
-37
-34
14
0
0
0
0
0
0
0
0
0
0
-14
-17
-18
-12
-15
-26
-6
-42
18
21
-38
-29
-6
9
-3
-44
-25
3
31
22
0
0
0
0
0
5
8
7
0
0
-14
16
-6
7
84
25
16
-30
-29
3
-55
5
-4
-8
17
106
8
0
17
-3
9
-10
14
21
-11
10
25
19
-34
-20
-1
0
-34
10
33
-58
-26
-14
17
-16
-27
16
13
35
12
-53
63
-17
10
10
12
3
19
-62
-16
22
12
-3
17
23
-4
1
-9
42
-17
41
8
12
15
-3
-1
34
49
4
19
-30
6
-3
-5
-3
89
-12
56
-5
30
-19
-5
-16
-1
-42
32
22
67
5
10
-37
-7
-20
12
-34
-81
-120
8
-16
-5
0
-7
8
13
9
-2
-48
-2
27
-117
16
0
0
0
-1
1
-56
-60
47
0
0
0
0
0
0
0
-28
-31
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
10
27
1
3
1
1
3
-6
14
-19
6
29
12
-6
-2
0
-3
25
7
-13
-25
-16
0
2
-8
-4
-36
7
18
-26
8
2
-4
-22
-19
23
-23
-26
3
-17
-3
0
4
-13
-71
-30
0
-15
-5
-10
0
-3
1
-3
4
4
-7
16
-3
6
-18
-13
78
84
8
50
12
19
-9
-32
-48
-1
1
-18
7
17
7
14
10
8
35
1
-1
-8
1
10
14
-4
7
-35
-25
-8
-3
2
-6
-2
-10
-4
83
38
9
27
1
-28
-27
-10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-41
-21
-25
-23
-10
9
12
12
-38
9
2
2
9
1
4
-2
2
42
2
16
-8
-7
-11
-11
-7
-8
-23
-52
-55
32
24
-15
67
-41
56
6
-12
26
15
-30
-12
-7
-5
-6
2
59
20
-44
-30
-37
-11
-24
-21
21
25
18
-8
14
-23
-5
-7
-4
-1
9
-20
40
-33
-12
1
-21
13
-21
-14
-21
-15
-28
-15
-14
-6
9
-61
-25
-6
6
-19
-15
-15
13
28
0
-15
27
-41
6
-12
8
-10
22
0
0
5
-1
-5
-8
5
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-21
7
-19
-18
-12
1
-5
17
28
8
-18
7
20
-8
-10
-50
-16
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-37
-47
7
-55
1
-16
-2
-2
21
0
-11
17
22
-68
-40
-24
16
58
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-22
-9
-24
-29
-8
6
-11
18
-2
-15
-7
-9
-4
-9
5
-21
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
14
8
17
-9
-3
-6
-10
-16
-3
-16
-31
0
27
-8
-1
-27
-10
-1
13
-15
-5
-9
-14
-7
-9
-9
-18
11
33
-6
5
-51
-11
24
2
-31
59
6
-9
45
-33
-38
-1
-3
25
-13
-14
14
10
21
-23
12
24
30
-31
-22
10
16
13
1
1
-12
-34
-21
25
-5
-19
6
-8
6
3
-55
18
-10
4
16
5
5
-6
-11
-7
-46
-1
-9
-10
8
7
0
6
13
-6
-7
-4
28
-21
5
-4
12
6
-6
-96
13
-1
-7
10
-7
-4
0
0
0
-12
-74
-4
-38
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
12
-20
-11
-9
4
-5
0
1
-40
-37
-26
-14
-4
1
1
-5
-12
2
30
-71
-31
15
-19
-6
-10
35
0
0
5
51
33
-31
-52
-8
-47
-5
19
8
-5
12
2
-1
-5
4
30
-53
16
-1
-6
-13
-2
-6
-5
-48
-16
-28
11
-14
-36
-15
-18
-9
-25
31
-17
-57
39
-7
-62
46
-5
2
20
-2
18
-5
-1
-7
0
1
-25
25
16
-17
-10
-8
2
-12
-6
18
-93
-18
-9
8
7
-3
-26
-2
0
-38
-65
45
5
13
-10
-56
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
20
-4
-5
-9
4
8
-1
-8
-10
6
1
-19
-13
-13
-5
-1
4
26
-98
-8
30
24
-37
12
8
-25
0
0
0
0
4
3
2
18
-36
-10
-22
6
-13
-8
-23
-8
-4
-4
16
3
5
1
-10
4
-10
-17
-1
21
14
19
-14
11
-6
-6
-3
-5
-12
-10
20
2
55
5
-31
-24
-19
-21
-14
-21
-15
-28
-15
-14
-6
9
-61
-25
-6
6
-19
-15
-15
13
28
0
-15
27
-41
6
-12
8
-10
22
0
0
5
-1
-5
-8
5
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-21
7
-19
-18
-12
1
-5
17
28
8
-18
7
20
-8
-10
-50
-16
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-37
-47
7
-55
1
-16
-2
-2
21
0
-11
17
22
-68
-40
-24
16
58
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-22
-9
-24
-29
-8
6
-11
18
-2
-15
-7
-9
-4
-9
5
-21
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
14
8
17
-9
-3
-6
-10
-16
-3
-16
-31
0
27
-8
-1
-27
-10
-1
13
-15
-5
-9
-14
-7
-9
-9
-18
11
33
-6
5
-51
-11
24
2
0
1
0
0
0
-5
15
6
-5
1
33
11
50
12
-9
7
21
5
11
6
59
-7
11
-20
21
40
3
-50
-26
9
30
1
21
-4
21
33
-28
23
5
-19
-48
17
-19
57
9
-26
11
-32
6
56
-20
-1
-38
58
14
-77
1
84
-36
-40
-7
-2
-15
-16
6
-37
5
-22
23
-30
-41
3
-19
-6
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
57
-29
25
-14
18
-43
7
-5
35
-27
-13
26
-45
-8
-48
-26
-45
42
23
-34
21
-12
-26
14
-19
33
2
14
-9
1
-15
-16
-49
26
-26
-92
14
7
14
18
28
-1
-25
-10
-7
-4
22
17
-40
1
-3
-11
30
-56
-30
29
42
-8
0
0
0
0
0
0
0
0
0
0
1
2
27
-20
15
-10
6
10
-6
3
15
6
10
14
-14
-43
-31
-24
27
-6
-36
5
-21
-12
-21
-4
-48
1
-24
-40
-31
-8
-21
-16
-30
56
-22
-56
-56
5
26
4
-30
-1
-22
-21
-5
29
11
-38
7
2
-27
2
-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
12
20
-6
-44
-29
22
-49
-15
-16
12
0
0
0
0
0
0
0
0
0
0
21
12
1
-33
33
10
-15
-7
18
-17
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-19
54
-11
-30
18
2
-42
-21
-2
0
0
0
0
0
0
0
0
0
0
4
-17
11
14
2
-31
-43
-13
41
11
-31
-22
-14
7
10
-65
13
-12
-6
31
15
45
-15
-14
4
14
-1
-9
43
-10
17
-14
-8
11
0
11
-24
19
10
16
-17
0
7
30
33
-59
18
22
15
2
1
-12
1
-18
-11
41
-2
-13
-17
-32
23
42
-53
-7
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-21
10
27
-29
-15
26
6
18
-2
18
55
7
-68
-24
-49
3
-42
-8
-7
16
-19
-16
-5
6
32
-5
-55
-11
19
81
-50
-46
-46
40
-27
20
-50
4
16
68
-29
-2
-15
31
20
-5
-32
-21
-35
-25
-4
-59
15
1
2
-8
-13
23
-8
0
0
0
0
0
0
0
0
0
0
-36
27
2
-7
-22
16
-7
10
-14
4
-13
-17
-23
38
-3
-1
15
-8
-15
-1
38
41
-39
-7
-38
-3
4
-32
11
-7
53
-8
7
-46
-22
4
-21
-31
-7
36
26
4
-30
-1
-22
-21
-5
29
11
-38
7
2
-27
2
-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
12
20
-6
-44
-29
22
-49
-15
-16
12
0
0
0
0
0
0
0
0
0
0
21
12
1
-33
33
10
-15
-7
18
-17
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-19
54
-11
-30
18
2
-42
-21
-2
0
0
0
0
0
0
0
0
0
0
4
-17
11
14
2
-31
-43
-13
41
11
-31
-22
-14
7
10
-65
13
-12
-6
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
13
0
0
1
2
-1
27
-17
14
40
22
0
-12
22
-6
-5
-11
18
-9
-6
-1
36
-35
-4
-10
9
-16
-13
79
8
-15
-16
-3
-18
7
-13
14
-40
-10
34
56
8
24
56
-30
21
-30
-9
-30
-48
45
22
-12
31
-23
45
5
13
10
15
-37
26
17
1
-7
16
34
13
4
13
13
-20
21
-45
8
-19
26
-26
6
-8
14
-31
43
-13
14
-10
-3
8
11
-50
38
29
2
-5
13
0
-40
-22
46
50
-4
0
0
-2
-10
-13
-17
63
-53
-25
0
0
0
0
-2
5
-17
24
-41
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
6
13
-27
-1
20
0
7
11
41
-7
-43
-9
-6
-14
15
9
-22
0
31
12
6
23
-17
-16
-34
3
-8
-3
29
-7
-54
27
-60
-26
-13
25
-22
7
-17
-1
14
1
-25
-66
-7
-34
-2
10
-8
20
-13
22
73
-17
54
-3
-18
5
-22
1
-39
8
31
-29
-37
41
-49
-17
-16
-28
8
30
-16
-48
-3
22
5
43
1
-21
-13
41
-4
-6
-18
6
-4
24
-13
-26
-32
25
12
-3
7
-24
39
42
24
28
27
24
-7
-63
-30
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-2
-14
22
-26
19
4
21
-6
7
11
13
-4
3
-5
0
-10
8
7
-9
-11
13
10
15
-6
18
1
3
-3
-5
0
-24
-41
-8
-4
-9
-7
14
5
-35
-10
-1
-8
-17
17
26
-7
-7
-27
-7
1
-43
-38
-5
64
34
-28
-13
-3
0
-3
-27
-6
0
5
17
-10
-34
-23
-40
-3
8
13
-12
-27
9
-14
-5
-4
16
-1
4
5
26
-7
-12
-3
-1
-25
0
0
-1
1
23
30
10
-74
-30
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
20
19
-12
4
-14
2
15
-1
-1
1
7
-13
5
-43
9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-25
20
39
-13
-8
10
-27
76
0
1
0
0
-17
7
13
17
-42
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
15
3
-5
40
-11
-58
10
-3
0
0
4
0
-12
-3
5
-39
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-2
55
15
1
-15
0
-14
7
3
12
7
-31
11
-21
11
-49
20
-14
40
-13
3
17
4
-19
0
-6
4
-32
4
-25
-9
-41
18
22
8
0
2
-1
-2
-3
13
10
27
17
8
8
7
22
-6
5
-32
-7
20
-13
-24
12
29
60
20
-40
-44
27
5
-17
0
0
-39
13
3
8
-13
-14
46
-6
13
5
-3
10
-4
-34
-18
-50
17
-18
-19
-2
18
1
18
-9
42
10
-49
11
-4
-20
14
40
1
0
-7
-14
9
-28
0
6
6
0
0
0
0
-7
23
-8
36
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
40
21
-41
-14
9
-2
2
-7
5
-16
15
6
-10
-30
9
-5
16
-7
20
9
-24
8
8
27
-11
-51
0
0
0
-2
-13
-2
-4
-5
-42
-5
37
-24
21
5
-12
-14
6
23
-10
-19
28
33
12
23
-15
-5
-28
2
-3
-38
-12
9
44
5
-48
19
0
0
0
4
-6
-27
-22
19
-21
16
-20
15
-27
-26
14
2
4
-9
-6
49
-38
-2
28
-14
-24
-47
20
15
-37
-1
1
-36
-39
15
-27
53
-1
1
6
50
16
20
-50
-21
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
1
-13
-30
-10
-6
23
4
-17
-2
16
20
11
-7
-18
4
5
-9
13
21
3
-17
18
20
-65
-30
33
0
0
0
0
0
-1
-1
12
-25
8
11
13
-2
25
-5
-8
-9
9
8
-4
8
15
-49
67
-15
-1
-35
-31
11
-2
57
-20
-41
-17
13
-26
-3
1
3
-23
-28
14
-5
-17
-19
8
13
-12
-27
9
-14
-5
-4
16
-1
4
5
26
-7
-12
-3
-1
-25
0
0
-1
1
23
30
10
-74
-30
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
20
19
-12
4
-14
2
15
-1
-1
1
7
-13
5
-43
9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-25
20
39
-13
-8
10
-27
76
0
1
0
0
-17
7
13
17
-42
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
15
3
-5
40
-11
-58
10
-3
0
0
4
0
-12
-3
5
-39
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-2
55
15
1
-15
0
-14
7
3
12
7
-31
11
-21
11
-49
20
-14
40
-13
3
17
4
-19
0
-6
4
-32
4
-25
-9
-41
18
22
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
69
20
4
0
0
0
0
0
0
0
0
0
0
0
-24
-71
49
105
45
9
-4
-4
0
0
0
0
0
0
0
0
0
8
-96
46
48
5
0
0
0
0
0
0
0
0
0
0
0
0
-8
-28
-47
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
-123
13
-38
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
-111
-19
31
2
0
0
0
0
0
0
0
0
0
0
0
0
-86
-3
13
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-177
-39
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
-41
-98
68
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-47
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-70
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-20
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
54
32
1
0
0
0
0
0
0
0
0
0
0
0
0
2
13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-25
22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
47
44
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
13
49
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-7
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
25
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
54
41
26
22
-7
0
0
0
0
0
0
0
0
0
0
-1
69
-5
65
-35
-78
-73
-7
-1
0
0
0
0
0
0
0
0
13
2
-28
48
-4
-54
-23
2
-2
0
0
0
0
0
0
0
0
0
10
-18
-14
75
98
-8
0
0
0
0
0
0
0
0
0
0
1
1
-27
-18
9
-8
-2
3
0
0
0
0
0
0
0
0
0
0
22
8
-1
4
3
-1
0
0
0
0
0
0
0
0
0
0
1
5
-9
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
30
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-4
19
-2
0
0
0
0
0
0
0
0
0
0
0
-9
7
17
6
15
-14
-4
0
0
0
0
0
0
0
0
0
1
-4
13
9
53
24
-25
-5
-5
0
0
0
0
0
0
0
0
0
9
12
-8
2
3
2
-9
0
0
0
0
0
0
0
0
0
0
-14
-1
-5
7
-12
-10
0
4
0
0
0
0
0
0
0
0
-3
-15
2
3
-10
-3
0
1
0
0
0
0
0
0
0
0
0
-2
-3
0
8
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-8
8
166
43
18
0
0
0
0
0
0
0
0
0
0
0
-13
4
114
152
25
43
46
-45
-12
0
1
0
0
0
0
0
0
30
-6
38
123
125
65
78
93
-6
0
0
0
0
0
0
0
0
-3
3
30
38
49
52
118
1
-4
0
0
0
0
0
0
0
0
42
2
37
49
-14
128
8
70
0
0
0
0
0
0
0
0
0
6
-5
10
7
-42
-32
3
1
0
0
0
0
0
0
0
0
13
2
-23
42
-25
-5
10
0
-3
0
0
0
0
0
0
0
0
0
-34
-2
0
-8
2
-1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
17
4
59
25
-40
5
0
0
-3
0
0
0
0
0
0
0
-19
56
-67
-6
-9
-100
17
39
93
13
3
-1
-1
0
0
0
0
-10
-18
4
-5
12
-21
-7
-87
15
-30
16
-1
1
0
0
0
0
-5
-101
-34
-113
-44
-54
24
30
-50
9
7
-2
0
0
0
0
0
20
-59
-34
-104
-53
-14
-30
-28
-53
8
5
0
0
0
0
0
0
81
-119
-13
-116
-92
-36
-17
-89
-28
0
5
0
0
0
0
0
0
15
-86
-97
-81
-84
-15
-16
-93
3
1
-2
2
0
0
0
0
0
25
71
-45
-66
-108
-57
63
-23
-38
0
-7
0
0
0
0
0
0
43
-93
-88
-189
-75
-22
-66
1
16
2
-3
4
1
0
0
0
0
1
-12
-15
45
39
-31
-22
0
0
0
0
0
0
0
0
0
0
0
17
-30
23
14
30
-19
-112
-34
-42
2
0
0
0
0
0
0
0
8
84
50
110
76
164
-37
-45
-22
4
0
0
0
0
0
0
0
7
-23
3
3
46
64
25
-51
-9
-1
0
0
0
0
0
0
0
-34
25
8
-11
54
96
-35
-99
-3
0
0
0
0
0
0
0
1
-3
37
-80
36
5
8
71
23
-7
0
0
0
0
0
0
0
1
25
115
-100
-18
6
52
19
85
55
0
0
-1
0
0
0
0
0
16
-9
53
-43
154
-15
45
-31
-42
0
0
0
0
0
0
0
0
-14
12
-1
-5
21
-7
-81
-24
-1
0
0
0
0
0
0
0
0
34
-18
-42
94
-49
111
0
0
1
0
0
0
0
0
0
0
0
-37
59
68
-44
-64
6
12
-51
54
1
1
0
0
0
0
0
0
31
80
-19
-8
112
33
-4
-52
13
8
0
0
0
0
0
0
0
-3
32
61
40
94
70
27
91
-10
0
0
0
0
0
0
0
0
6
3
-31
71
60
112
-90
55
20
0
0
0
0
0
0
0
0
67
-20
78
-11
150
166
-34
70
10
-1
0
0
0
0
0
0
0
8
24
-8
-94
126
50
-102
7
-4
2
0
0
0
0
0
0
0
1
37
30
-60
-39
123
21
-24
0
0
0
0
0
0
0
0
0
53
-13
2
0
-14
2
2
0
0
0
0
0
0
0
0
0
0
-1
21
75
145
1
65
0
0
0
0
0
0
0
0
0
0
0
-112
75
148
55
66
-66
-124
-29
-1
0
0
0
0
0
0
0
-22
87
46
131
97
-6
-70
74
8
-2
0
0
0
0
0
0
0
22
10
56
113
181
26
35
97
-7
0
0
0
0
0
0
0
0
7
13
121
-25
39
46
-23
3
10
-3
0
0
0
0
0
0
0
24
16
-13
-34
-55
40
-41
102
0
0
0
0
0
0
0
0
0
-20
27
13
-8
7
-55
13
2
0
0
0
0
0
0
0
0
0
0
-25
44
-54
-95
-17
-42
-1
-4
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
80
135
35
-66
0
0
0
0
0
0
0
0
0
0
0
5
22
9
42
40
143
-20
-5
-2
0
0
0
0
0
0
0
0
1
20
118
103
85
181
43
-12
0
0
0
0
0
0
0
0
0
-4
49
47
42
92
6
77
-35
0
0
0
0
0
0
0
0
1
0
0
14
13
-29
-78
68
0
0
0
0
0
0
0
0
0
0
1
-5
22
89
33
18
5
0
0
0
0
0
0
0
0
0
2
1
0
-4
-37
-54
-89
84
2
0
0
0
0
0
0
0
0
0
5
1
-29
-92
5
-85
25
9
0
0
0
0
0
0
0
0
0
0
0
-3
0
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
-1
25
10
0
0
0
0
0
0
0
0
0
0
0
0
12
149
76
4
49
-63
12
-10
0
0
0
0
0
0
0
0
0
-17
-15
37
44
-5
-20
2
2
0
0
0
0
0
0
0
0
0
6
51
-24
50
51
70
56
0
0
0
0
0
0
0
0
0
0
57
53
33
89
81
51
-111
-5
0
0
0
0
0
0
0
0
0
24
37
27
48
-84
-7
7
0
0
0
0
0
0
0
0
0
0
52
76
-37
-25
13
-31
-159
-1
0
0
0
0
0
0
0
0
0
1
57
73
-129
23
-172
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-51
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
0
0
3
-29
0
-3
0
0
0
0
0
0
0
0
0
0
1
23
-56
-35
-26
-15
0
0
0
0
0
0
0
0
0
0
0
-26
43
42
-36
-11
0
0
0
0
0
0
0
0
0
0
0
0
3
14
5
-4
22
-1
-1
0
0
0
0
0
0
0
0
0
-2
-3
-20
-41
66
-3
5
0
-3
0
0
0
0
0
0
0
0
-5
43
-13
-1
-16
-5
-1
-1
3
0
0
0
0
0
0
0
0
7
23
10
-31
-74
2
0
-3
0
0
0
0
0
0
0
0
0
-4
-38
18
12
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
24
0
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
50
-7
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
11
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
31
22
17
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
27
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
43
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
23
86
-2
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
-42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
31
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-111
-9
0
73
24
0
0
0
0
0
0
0
0
0
0
0
0
12
41
55
1
18
0
0
0
1
0
1
0
0
0
0
0
-33
61
-31
-5
74
50
8
31
-5
0
0
1
0
0
0
0
0
6
-50
9
1
-45
19
-107
-55
-20
-1
0
0
0
0
0
0
0
-15
75
-4
-67
-103
-60
-30
40
8
-8
1
4
0
0
0
0
0
0
19
-10
2
-24
42
-67
8
31
0
0
0
0
0
0
0
0
6
8
45
-6
-27
-19
-51
64
51
2
0
0
0
0
0
0
0
0
-37
66
-108
-90
-19
139
-18
33
-22
-1
0
0
0
0
0
0
-5
10
-8
41
2
-7
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
6
34
-9
60
29
0
0
0
-7
-2
0
0
0
0
0
0
27
-29
-3
5
115
25
-88
-31
-6
2
-5
0
0
0
0
0
0
-8
22
-43
32
-1
11
-33
28
17
8
-3
0
0
0
0
0
0
0
-16
10
42
-42
-15
17
-4
-70
2
0
0
0
0
0
0
0
0
-13
2
-32
-1
-43
-3
24
-14
1
-1
0
0
0
0
0
0
0
-24
-64
-1
-1
-1
28
17
-93
-9
0
0
0
0
0
0
0
0
16
49
-48
-35
-5
-49
17
15
0
0
0
0
0
0
0
0
4
0
0
0
0
-6
-6
0
0
0
2
0
0
0
0
0
0
9
-139
-72
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-28
2
5
0
0
0
0
0
0
0
0
0
0
0
0
18
11
-7
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
-52
27
17
5
7
0
0
0
0
0
0
0
0
0
0
0
0
74
-2
35
-3
-12
2
0
0
0
0
0
0
0
0
0
0
0
20
8
22
-24
35
-8
-8
0
0
0
0
-1
0
0
0
0
0
-49
13
-10
-24
-27
8
7
20
12
-3
-2
-1
0
0
0
0
0
1
-40
17
-29
-46
-17
19
-22
33
-12
3
-1
0
0
0
0
0
-73
37
-32
5
15
-6
9
2
-5
-1
0
0
0
0
0
0
0
-109
-10
-10
69
79
22
0
0
0
0
0
0
0
0
0
0
0
-10
-83
-35
63
121
13
0
0
-2
0
0
0
0
0
0
0
0
-77
-80
-25
21
-46
-12
38
16
3
-1
0
0
0
0
0
0
0
-44
-32
-15
-74
-83
-18
-23
35
-12
8
0
0
0
0
0
0
0
-81
-10
-2
23
-62
-49
-18
0
0
-4
-1
0
0
0
0
0
0
-71
-43
4
9
-7
-21
-10
-10
-7
0
0
0
0
0
0
0
0
-67
-21
-77
9
-53
23
-12
-4
-1
0
0
0
0
0
0
0
0
-4
-19
-36
-57
-13
14
0
-1
3
-2
0
0
0
0
0
0
0
46
3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-27
-15
14
151
155
0
0
0
0
0
0
0
0
0
0
0
-48
0
-16
25
17
70
84
3
-12
8
-1
0
0
0
0
0
0
-52
-30
7
31
54
35
16
-1
-24
-15
0
0
0
0
0
0
0
-9
-8
-5
16
32
8
9
-8
42
-20
-1
0
0
0
0
0
0
59
-1
10
15
6
-47
14
-51
-10
1
2
0
0
0
0
0
0
26
15
1
9
1
-37
-86
-122
-42
7
3
0
0
0
0
0
0
23
2
1
-9
-42
-16
-22
-46
-58
-19
-21
0
0
0
0
0
0
21
14
1
-15
-28
-59
-54
-117
-41
-43
-5
4
0
0
0
0
0
25
5
-12
-28
-55
-12
36
-9
3
20
-8
-3
0
0
0
0
0
340
302
180
283
241
69
0
0
0
0
0
0
0
0
0
0
0
199
163
183
88
197
221
10
-1
0
0
0
0
0
0
0
0
0
-25
103
49
17
98
34
8
-1
0
0
0
0
0
0
0
0
0
-34
-5
31
32
-25
-2
4
0
0
0
0
0
0
0
0
0
0
-4
-31
-21
65
49
-39
0
0
0
0
0
0
0
0
0
0
0
-37
-1
-29
-25
13
-3
-2
-1
0
0
0
0
0
0
0
0
0
-60
-53
-30
-89
-49
0
0
0
0
0
0
0
0
0
0
0
0
-1
-83
-92
-102
-32
16
-5
0
0
0
0
0
0
0
0
0
0
-17
-12
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
12
90
119
101
33
45
0
0
0
0
0
0
0
0
0
0
-31
-50
-33
59
98
0
-43
8
0
0
0
0
0
0
0
0
0
-16
-72
-61
-4
-138
62
-50
-7
0
0
0
0
0
0
0
0
0
-36
-85
-53
-30
51
-9
-5
-3
0
0
0
0
0
0
0
0
0
-10
-44
-45
5
19
-1
2
0
0
0
0
0
0
0
0
0
0
-46
12
-52
-14
23
2
0
0
0
0
0
0
0
0
0
0
0
73
-8
-44
4
-41
0
-7
13
0
-1
0
0
0
0
0
0
0
9
22
-23
44
-24
-43
-22
2
0
0
0
0
0
0
0
0
0
-5
-106
26
9
17
-3
-3
0
-1
0
0
0
0
0
0
0
0
-87
-178
-109
105
165
47
0
0
0
0
0
0
0
0
0
0
0
-72
-81
-77
49
91
145
0
-9
0
0
0
0
0
0
0
0
0
-78
-96
-39
-9
52
-17
0
-8
-2
-1
0
0
0
0
0
0
0
-93
-73
-75
23
0
65
-33
-22
1
0
0
0
0
0
0
0
0
-17
-28
2
-39
-55
-26
29
8
-1
-4
0
0
0
0
0
0
0
-42
-8
-14
-72
-41
0
3
-15
2
1
7
0
0
0
0
0
0
-6
-19
-5
-28
94
-62
0
3
0
0
0
0
0
0
0
0
0
-18
49
30
-30
-134
-21
-8
4
-6
-1
0
0
0
0
0
0
0
-7
13
50
-49
-39
-14
3
-3
2
0
0
0
0
0
0
0
0
-50
22
42
42
99
88
42
0
0
0
0
0
0
0
0
0
0
1
-9
-25
-88
-5
34
0
-12
0
-2
0
0
0
0
0
0
0
-23
-11
-1
10
-10
-44
12
-70
13
0
0
0
0
0
0
0
0
16
14
-10
2
19
-42
13
3
31
0
0
0
0
0
0
0
0
57
13
5
81
-1
-94
15
-7
0
0
0
0
0
0
0
0
0
24
5
-17
-4
58
-22
59
-3
-8
0
0
0
0
0
0
0
0
52
-12
-33
-65
36
-57
-20
-9
0
0
0
0
0
0
0
0
0
-8
-81
-41
-63
58
-5
-33
-29
3
0
0
0
0
0
0
0
0
10
-6
-30
66
-1
0
3
0
0
0
0
0
0
0
0
0
0
-45
-49
35
-38
-22
-1
0
0
0
0
0
0
0
0
0
0
0
-59
-18
-3
41
59
8
19
0
-12
-1
0
0
0
0
0
0
0
-50
-87
-44
28
21
-60
-31
-17
5
0
0
0
0
0
0
0
0
-22
-19
-65
15
-5
-46
-19
9
-10
1
0
0
0
0
0
0
0
-9
-41
-25
13
9
-40
-8
-29
-13
1
0
0
0
0
0
0
0
-18
-55
-7
-2
42
-41
-1
-4
-8
0
0
0
0
0
0
0
0
-63
-50
-28
8
-6
-25
-1
-3
10
0
0
0
0
0
0
0
0
-56
-48
-96
-31
-54
-37
-1
-32
-54
0
0
0
0
0
0
0
0
-6
-73
17
-51
-47
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
1
-1
-8
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
-11
-63
-30
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-40
-138
-42
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-111
23
31
2
0
0
0
0
0
0
0
0
0
0
0
2
-17
33
35
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
75
1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
-31
62
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-10
-85
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
33
-8
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
15
65
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
49
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-5
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
50
76
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
43
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-73
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
43
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
26
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
31
67
-35
4
0
0
0
0
0
0
0
0
0
0
0
0
-27
-46
-55
-40
-12
1
0
0
0
0
0
0
0
0
-1
41
-32
-33
-59
-33
-17
-7
0
0
0
0
0
0
0
0
0
0
-1
-5
63
13
116
0
13
3
0
0
0
0
0
0
0
0
-2
24
26
26
45
72
7
-10
0
0
0
0
0
0
0
0
0
0
-2
66
60
15
-12
9
0
0
0
0
0
0
0
0
0
0
1
37
-1
33
-6
-8
6
0
0
0
0
0
0
0
0
0
0
0
-13
42
3
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-6
-14
0
-2
0
0
0
0
0
0
0
0
-1
0
-2
8
4
2
-5
-4
7
0
0
0
0
0
0
0
0
0
0
-5
22
29
14
14
3
-24
0
0
0
0
0
0
0
0
0
-1
-16
12
-9
16
8
1
-17
-12
0
0
0
0
0
0
0
0
0
-14
0
2
8
3
-2
-3
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
31
67
-18
5
-39
23
0
0
0
0
2
0
-1
-1
0
0
15
134
111
-36
129
-54
28
0
0
0
0
0
0
0
0
25
87
-19
15
121
118
54
13
70
0
0
0
0
0
0
0
-1
-3
35
33
62
82
189
18
11
64
0
0
0
0
0
0
-2
0
-2
8
16
17
-12
40
60
75
-8
0
0
0
0
0
0
-3
2
-15
1
9
19
14
87
-51
30
0
0
0
0
0
0
1
0
-2
-13
-43
-1
13
31
39
-25
2
0
0
0
0
0
0
0
0
0
12
50
13
6
25
-152
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
9
4
0
0
-25
-82
-150
-18
-120
47
1
0
0
0
0
0
2
29
28
130
-17
-123
-67
-56
-32
19
79
19
0
0
0
0
3
-1
-9
-32
-30
-47
-77
-70
-80
-79
-6
111
-8
0
0
0
0
0
0
-3
5
-129
-17
23
7
-22
0
54
30
49
0
0
0
1
4
-1
1
4
-129
-3
-16
-34
-23
13
21
118
37
0
0
0
0
1
-1
1
-16
-6
-102
-2
-13
-50
-30
43
55
-35
0
0
0
0
0
0
24
8
19
-49
31
-50
-17
-63
25
-50
1
0
0
0
0
0
0
-10
-4
95
49
-60
-54
-68
-35
-67
78
-1
0
0
0
0
0
2
0
-3
14
89
61
-59
-48
-80
30
-83
0
0
0
0
0
0
0
0
0
0
0
13
98
-70
45
-5
25
-14
0
0
0
0
0
0
0
0
-7
23
152
10
108
198
-15
37
6
0
0
0
0
0
0
0
-1
-5
55
25
-25
-59
11
-30
-18
-118
0
0
0
0
0
0
0
0
1
43
-47
-23
-63
109
-22
-38
9
0
0
0
0
0
0
0
0
7
22
-34
14
-20
74
41
1
-12
0
0
0
0
0
0
0
0
-6
6
42
35
17
56
64
-79
-72
0
0
0
0
1
0
0
0
-51
3
-53
28
68
-45
104
-13
-114
0
0
0
0
0
0
0
0
23
-75
8
19
64
26
-42
8
6
0
0
0
0
0
0
0
0
0
0
-4
-1
25
91
-19
7
-98
0
0
0
0
-2
0
0
0
0
0
55
125
127
31
76
77
-47
0
0
0
0
0
0
0
0
24
62
0
43
24
271
12
7
-17
0
0
0
0
0
0
0
0
1
85
-88
-110
80
68
82
-36
-45
0
0
0
0
0
0
0
0
-1
29
9
84
42
123
19
11
-9
0
0
0
0
0
0
0
0
0
-50
31
9
-15
51
86
34
23
0
0
0
0
0
0
0
0
-2
6
-5
-2
-86
100
45
92
-60
0
0
0
1
0
0
0
0
-10
30
-54
-7
-3
34
67
-30
-3
0
0
0
0
0
0
0
-8
-1
84
84
-88
-28
63
-13
8
-8
0
0
0
0
0
0
0
0
5
2
-7
1
-1
-8
70
0
0
0
0
0
0
0
0
0
0
0
0
-91
26
-43
-75
-84
25
0
0
0
0
0
0
0
0
0
-80
0
-43
-140
33
-20
-88
-73
-7
0
0
0
0
0
0
0
-2
-17
73
62
-17
-10
-28
125
42
-2
0
0
0
0
0
0
0
6
2
0
70
143
139
106
45
66
3
0
0
0
0
0
0
-1
0
22
46
103
107
74
111
74
-48
0
0
0
0
0
0
0
0
0
-1
58
159
123
139
44
-21
29
0
0
0
0
0
0
0
0
1
20
51
48
139
144
-24
-75
5
0
0
0
0
0
0
0
0
4
41
70
-19
-110
74
-241
-5
0
0
0
0
0
0
0
0
0
0
-2
8
-1
1
1
-4
-28
0
0
0
0
0
0
0
0
0
0
0
0
-125
68
94
43
33
0
0
0
0
0
0
0
0
0
0
6
0
-33
-1
91
93
52
69
-1
0
0
0
0
0
0
0
0
1
31
-43
12
31
29
148
-15
0
0
0
0
0
0
0
0
0
-5
7
3
57
100
50
147
-10
0
0
0
0
0
0
0
0
0
1
32
83
23
16
98
-41
-6
-7
0
0
0
0
0
0
0
0
1
0
1
49
-54
15
-17
3
1
0
0
0
0
0
0
0
0
0
-9
4
-17
66
-5
-21
5
0
0
0
0
0
0
0
0
0
5
0
8
25
-10
-5
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
-21
0
0
0
0
0
0
0
0
0
0
0
0
45
104
16
8
-42
-32
-30
0
0
0
0
0
0
0
0
0
0
84
133
48
-27
-38
-1
39
0
0
0
0
0
0
0
0
0
0
-14
46
-21
69
-43
-65
29
0
0
0
0
0
0
0
0
0
0
-14
66
93
-36
28
-65
-1
0
0
0
0
0
0
0
0
0
2
48
92
70
-75
-46
-63
-8
0
0
0
0
0
0
0
0
0
1
14
-17
5
-31
42
-27
8
0
0
0
0
0
0
0
0
0
0
24
41
1
47
-83
-2
0
0
0
0
0
0
0
0
0
0
0
2
2
10
4
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
5
17
-129
58
-3
0
0
0
0
0
0
0
0
-9
13
33
18
43
42
58
-10
27
-13
0
0
0
0
0
0
0
0
0
-3
1
-6
-62
17
94
7
5
0
0
0
0
0
0
0
0
0
0
-3
1
-1
-1
-66
-2
9
0
0
0
0
0
0
0
0
0
0
0
-3
-19
28
127
-23
-56
0
0
0
0
0
0
0
0
0
0
0
0
-14
-92
39
111
122
0
0
0
0
0
0
0
0
0
0
0
-4
-1
77
96
29
-95
0
0
0
0
0
0
0
0
0
0
0
0
-28
14
12
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-77
-43
-50
-72
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
-3
-5
0
0
0
0
0
0
0
0
0
0
0
4
37
23
30
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
36
-34
3
0
0
0
0
0
0
0
0
0
0
0
0
0
16
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
25
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
40
11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-33
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-13
-21
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
59
21
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
-3
-6
0
0
0
0
0
0
0
0
0
0
0
2
-2
18
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
17
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
34
60
6
-47
-18
-1
2
0
0
0
0
0
0
0
18
-10
-73
17
19
31
54
41
78
-5
0
0
0
0
0
0
1
8
-24
6
-30
-42
74
-3
-42
22
17
0
0
0
0
0
0
0
9
-8
-70
22
-24
-6
-3
13
44
-5
0
0
0
0
0
0
0
0
-19
-21
-35
-18
-23
-55
-27
45
2
0
0
0
0
0
0
0
0
1
90
5
-9
-70
-4
-1
56
-8
0
0
0
0
0
0
0
0
6
2
-56
10
-54
-51
-43
-44
-4
0
0
0
0
0
0
0
0
5
66
-8
-12
11
4
60
3
0
0
0
0
0
0
0
0
0
23
-41
22
-3
0
-3
-16
-6
-7
0
0
0
0
0
0
0
0
0
0
3
-25
-5
-1
-3
-23
9
0
0
0
0
0
0
0
0
-1
-6
5
-2
-5
-18
5
-15
3
0
0
0
0
0
0
0
-2
3
-4
8
31
31
4
-35
-42
2
0
0
0
0
0
0
0
0
1
-1
-12
8
31
-22
-35
-4
20
0
0
0
0
0
0
0
0
1
-22
37
22
-6
47
-23
11
6
0
0
0
0
0
0
0
0
7
-8
34
-5
-14
31
-30
38
-13
0
0
0
0
0
0
0
-1
39
10
13
-19
-31
-21
12
-66
-23
0
0
0
0
0
0
0
-1
68
9
-52
-32
5
-46
56
-31
1
0
0
0
0
0
0
0
0
-1
-6
0
0
0
-10
-16
-26
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-1
18
0
0
-50
43
25
13
6
-2
0
0
0
0
0
0
8
-41
45
-135
-30
14
65
-18
-20
5
7
0
0
0
0
0
0
2
-2
8
-26
-12
-3
8
-77
8
4
16
0
0
0
0
0
0
0
3
-11
-12
-33
1
80
21
-4
22
0
0
0
0
0
0
0
0
0
6
-63
-72
-4
-58
-17
15
1
17
0
0
0
0
0
0
0
-1
-6
-61
-62
10
15
-6
0
-1
0
0
0
0
0
0
0
0
0
-8
-26
-24
-49
-13
1
2
-2
0
0
0
0
0
0
0
0
0
-2
-28
-43
-42
17
2
4
0
1
0
0
0
0
0
0
0
0
0
-8
-22
-7
0
0
0
0
0
0
0
0
1
-22
-3
-13
48
20
0
0
24
38
55
24
-28
3
0
0
0
0
-35
-41
18
-48
50
18
3
2
9
42
-53
7
0
0
0
0
-1
5
4
-1
-24
31
14
0
1
6
-6
46
-85
-8
0
0
0
0
1
-10
35
1
-5
-11
-1
0
5
16
27
111
-9
0
0
0
0
-3
0
12
17
-48
-16
-18
0
4
20
5
4
13
0
0
0
0
0
-3
2
-17
-27
-15
-4
-1
5
7
29
117
-41
0
0
0
0
8
-3
-2
-15
-58
6
-7
0
3
8
35
150
-13
0
0
0
-2
19
-13
-2
41
42
-12
0
-2
16
44
133
96
0
0
0
0
-1
46
-18
27
-75
5
5
-2
-10
3
38
-43
79
-4
0
0
0
0
0
0
0
-1
3
0
0
15
-9
-33
45
-1
0
0
0
0
0
0
0
0
2
43
22
6
23
-45
-22
-15
0
0
0
0
0
0
0
0
0
-5
17
2
94
-31
52
-19
7
0
0
0
0
0
0
0
0
0
0
13
60
13
-27
34
61
25
0
0
0
0
0
0
0
0
0
0
0
51
-30
50
67
-22
8
0
0
0
0
0
0
0
0
0
0
0
69
130
163
119
92
183
0
0
0
0
0
0
0
0
0
0
13
-44
-54
41
85
99
18
22
0
0
0
0
0
0
0
0
0
-8
-53
-12
-13
53
192
-2
0
0
0
0
0
0
0
0
0
0
0
0
-20
-7
5
-2
0
0
0
0
0
0
0
0
1
3
1
-30
0
0
-85
14
-39
41
1
0
0
0
0
0
0
-1
1
-3
-18
-23
-132
-20
-15
49
25
1
0
0
0
0
0
0
0
0
-1
-1
-4
-47
-29
-64
-22
-30
-12
0
0
0
0
0
0
1
0
5
-7
-13
-60
-17
90
163
49
3
0
0
0
0
0
0
0
0
0
1
32
4
20
24
-1
-8
1
0
0
0
0
0
0
0
0
3
-8
20
-77
-35
87
-14
9
0
0
0
0
0
0
0
0
2
0
-30
-12
-9
35
68
-43
8
0
0
0
0
0
0
0
1
0
-1
-32
-58
21
44
22
-31
0
0
0
0
0
0
0
0
0
1
0
15
-10
-23
-16
-1
-4
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
-62
52
-3
-17
-5
4
0
0
0
0
0
0
2
8
-59
-142
44
-4
-5
45
-28
-31
2
3
0
0
0
0
0
0
5
9
-51
11
-70
20
48
-32
-17
-1
0
0
0
0
0
0
0
13
-25
12
-59
2
69
27
10
-5
-2
0
0
0
0
0
0
0
-2
-5
-69
-84
-51
21
12
42
10
1
0
0
0
0
0
0
0
0
-18
-4
-23
-18
-21
-27
30
-3
0
-5
0
0
0
0
0
0
0
-25
-25
-69
-116
-58
40
76
-1
4
0
0
0
0
0
0
2
-1
-17
-7
-29
3
-44
13
17
-2
-16
0
0
0
0
0
0
0
0
0
-12
-32
-12
-7
5
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
-62
-4
43
-8
-13
-5
-1
0
0
0
0
0
0
-4
-31
-70
-108
-104
87
55
-27
-17
91
6
0
0
0
0
0
0
0
6
-156
27
-7
-45
85
-28
9
-25
-3
0
0
0
0
0
0
-4
3
-53
-37
-24
86
-16
-1
0
0
-1
0
0
0
0
0
0
0
-29
-38
-15
-15
-22
19
42
0
41
1
0
0
0
0
0
0
0
6
18
-2
-18
31
-39
-39
-6
-5
0
0
0
0
0
0
0
-2
83
9
2
-12
43
62
4
3
-7
-13
0
0
0
0
0
0
2
3
14
-3
36
133
5
1
-8
-4
0
0
0
0
0
0
0
0
-49
29
4
5
-9
28
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
15
-12
-6
-3
6
-3
0
0
0
0
0
0
16
50
-5
-29
-113
62
12
7
-9
-32
-17
0
0
0
0
0
0
16
-20
-41
-59
23
-28
48
-4
-20
6
-14
0
0
0
0
0
0
0
0
-49
-66
-19
-91
-53
-45
-1
1
-1
0
0
0
0
0
0
5
5
-75
-44
-83
23
-57
33
-7
-9
-25
0
0
0
0
0
0
-7
-45
-102
-39
81
-171
109
-147
0
3
7
0
0
0
0
0
-2
-66
-1
-47
-24
-87
-15
-63
22
-3
-23
0
0
0
0
0
3
9
21
-21
-1
-35
13
-27
-94
-17
41
27
0
0
0
0
1
0
1
-23
-2
32
9
-14
-60
97
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-42
154
112
63
-9
0
0
0
0
0
0
0
0
0
0
25
-60
63
120
74
12
-49
-2
1
0
0
0
0
0
0
0
0
42
92
76
-1
38
52
-1
0
1
0
0
0
0
0
0
0
0
-49
66
22
-44
-29
-4
0
5
0
0
0
0
0
0
0
0
0
-47
0
54
-6
19
-2
0
0
0
0
0
0
0
0
0
0
0
12
-21
-25
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-37
-17
3
-54
-32
1
0
0
0
0
0
0
0
0
0
0
0
-62
-77
-19
24
49
0
0
0
0
0
0
0
0
0
0
0
0
-32
-93
33
6
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
55
16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-15
18
63
16
3
0
0
0
0
0
0
0
0
0
0
0
-3
-97
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
110
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
28
-17
17
2
-1
0
0
0
0
0
0
0
0
0
0
55
17
32
24
2
12
0
0
0
0
0
0
0
0
0
0
0
-72
-7
36
18
5
0
1
0
0
0
0
0
0
0
0
0
0
21
56
-5
-20
8
4
0
0
0
0
0
0
0
0
0
0
0
-3
-15
50
7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-11
48
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
-12
-24
-45
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-76
51
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
25
21
1
34
-1
0
0
0
0
0
0
0
0
0
0
0
-56
-10
30
2
5
0
0
0
0
0
0
0
0
0
0
0
3
-73
-7
31
2
1
0
0
0
0
0
0
0
0
0
0
0
-10
-12
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-45
23
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
69
129
151
64
62
0
0
0
0
0
0
0
0
0
0
-3
-19
-37
130
10
63
27
29
2
0
0
0
0
0
0
0
0
43
16
-20
111
73
-48
49
-25
0
0
0
0
0
0
0
0
0
-20
24
-25
8
58
-64
21
-2
0
0
0
0
0
0
0
0
0
-5
51
17
2
22
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
56
23
8
-5
0
-2
0
0
0
0
0
0
0
0
0
0
2
-4
-48
1
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
17
67
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
33
8
18
27
3
16
0
0
0
0
0
0
0
0
0
0
0
-37
30
41
63
56
-5
-15
-2
-10
0
0
0
0
0
0
0
-6
-2
54
37
89
2
-8
-5
2
0
0
0
0
0
0
0
0
-1
-23
0
-3
1
19
8
-37
1
0
0
0
0
0
0
0
0
-2
-2
-9
-6
-8
-30
-6
0
5
0
0
0
0
0
0
0
0
-2
-29
0
1
-12
-10
-3
0
0
0
0
0
0
0
0
0
0
-3
-6
-12
12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-21
-4
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-17
-46
-61
229
101
30
0
0
0
0
0
0
0
0
0
0
32
-138
-44
218
168
106
150
77
-8
-34
-30
8
0
0
0
0
0
-9
5
-11
120
76
115
136
100
71
19
-10
0
0
0
0
0
0
49
-35
76
75
-52
56
158
125
-96
19
6
0
-1
0
0
0
0
10
16
25
-16
9
-51
77
11
-49
5
2
0
0
0
0
0
0
4
-3
-42
4
22
-1
-3
17
4
0
0
0
0
0
0
0
0
10
-31
-3
25
-13
-12
0
0
-2
0
4
0
0
0
0
0
0
0
-83
25
34
-35
-1
-8
0
0
0
0
0
0
0
0
0
0
5
18
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-52
-45
-19
-16
-57
32
0
0
7
5
2
1
0
0
0
0
3
-11
-27
-23
-8
-80
12
84
139
112
48
0
-27
-1
0
0
0
-30
6
-31
-83
-60
-65
-31
8
25
-110
-15
47
-8
-1
0
0
0
123
-43
-11
-50
-78
-72
2
11
-17
5
39
14
50
0
0
0
0
-31
-24
46
-30
-46
-37
34
35
-71
-12
-27
54
-5
41
0
0
0
64
0
45
-86
-112
-22
-36
-21
-44
43
30
8
-22
0
0
0
0
-28
23
3
-95
-58
-14
49
39
-30
59
-92
19
0
1
0
0
0
49
59
-64
-75
-52
33
13
-54
-95
3
54
1
0
0
0
0
0
74
0
-79
-22
-58
72
-59
32
36
20
-61
-21
3
0
0
0
0
0
9
-92
49
-24
-17
42
0
0
0
0
1
0
0
0
0
0
1
-8
54
-6
12
11
67
30
40
77
-9
-6
0
0
0
0
0
-1
10
116
33
31
-32
-14
-111
-112
-27
7
0
0
0
0
0
0
-5
52
0
-30
22
-25
31
9
28
-28
-7
4
0
0
0
0
0
-6
8
21
-24
47
-36
-19
27
127
-13
-17
4
0
0
0
0
0
1
-34
-55
-22
17
29
8
43
67
10
7
-3
0
-8
0
0
0
1
72
12
61
-25
-10
-22
26
17
17
0
0
-2
0
0
0
0
0
42
-28
-11
97
7
-3
8
13
5
-4
1
0
0
0
0
0
1
-16
34
-1
-34
46
-12
23
-50
23
-5
0
0
0
0
0
0
0
48
-58
-11
74
8
16
0
0
2
6
0
0
0
0
0
0
0
-61
66
29
102
-32
157
87
-20
-1
18
-4
0
0
0
0
0
0
33
71
-30
63
33
132
119
-18
39
31
0
0
0
0
0
0
0
-17
13
13
-58
-35
-2
53
33
0
-1
16
0
0
0
0
0
0
7
4
-59
23
-36
45
0
-5
44
7
4
0
0
0
0
0
0
20
-37
99
16
-31
29
9
-48
-28
19
0
-1
0
0
0
0
0
31
54
-17
-90
-16
82
-138
-78
-27
-19
0
0
0
0
0
0
0
0
69
43
20
-83
-51
-108
-51
0
0
0
0
0
0
0
0
0
22
1
15
-20
13
6
2
0
0
2
0
0
0
0
0
0
27
21
70
-20
130
16
47
0
0
0
0
0
0
0
0
0
0
16
6
16
84
117
68
88
83
26
10
4
-3
0
0
0
0
0
-102
23
61
102
30
-13
76
-44
114
-15
0
1
0
0
0
0
0
-17
7
-7
-6
-17
-54
151
14
63
-5
5
0
-5
0
0
0
0
46
66
107
-44
28
-25
2
12
58
0
3
0
0
0
0
0
0
57
31
-19
-29
-82
-47
-42
66
-14
0
-2
0
0
0
0
0
0
43
34
15
-41
25
-46
3
4
2
0
0
0
0
0
0
0
0
1
77
19
-20
10
-58
-28
-5
4
0
0
0
0
0
0
0
0
13
4
13
0
-8
2
0
0
0
0
1
0
0
0
0
0
0
2
9
49
163
105
112
38
0
0
0
0
0
0
0
0
0
0
0
8
45
78
82
46
79
-6
-12
-56
0
0
0
0
0
0
0
1
12
29
78
45
24
54
80
8
1
0
0
0
0
0
0
0
0
8
72
-3
-5
121
30
64
-18
2
0
0
0
0
0
0
0
2
1
2
-49
17
-31
6
123
1
2
0
0
0
0
0
0
0
0
1
1
55
-2
28
-42
-5
-1
1
0
0
0
0
0
0
0
1
2
-3
0
-2
3
-38
0
2
0
0
0
0
0
0
0
0
0
4
-13
-4
67
-5
-141
7
2
0
0
0
0
0
0
0
0
0
0
1
-15
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
96
45
18
0
0
0
0
0
0
0
0
0
0
0
2
-10
76
120
96
141
-71
69
1
0
-2
0
0
0
0
0
0
0
-52
-84
12
-13
8
38
33
-8
-2
0
0
0
0
0
0
0
1
-12
-49
67
7
46
-32
13
7
6
0
0
0
0
0
0
0
0
10
60
-6
7
127
79
-15
-8
0
0
0
0
0
0
0
0
0
-9
-1
68
-14
19
5
2
0
1
0
0
0
0
0
0
0
0
-6
-25
-100
-70
-28
-37
98
-2
0
0
0
0
0
0
0
0
0
3
42
-59
-32
-8
-61
13
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-12
-31
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
166
0
0
-42
-87
-3
-4
0
0
0
0
0
0
0
0
0
-2
42
89
-56
-83
-5
-37
1
0
0
0
0
0
0
0
0
0
4
-2
-29
-32
15
22
54
8
-1
0
0
0
0
0
0
0
0
0
8
-6
-16
22
-39
-18
-1
1
0
0
0
0
0
0
0
0
-1
-50
-18
-68
-69
-25
25
-42
-6
0
0
0
0
0
0
0
0
-5
-27
-53
-87
-7
-40
-20
4
0
0
0
0
0
0
0
0
0
3
-13
8
-23
14
-101
-14
35
1
7
0
0
0
0
0
0
0
-2
-124
-6
-74
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
139
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
138
0
0
-75
28
0
-1
0
0
0
0
0
0
0
0
0
-8
-62
-18
-32
-16
8
1
0
0
0
0
0
0
0
0
0
0
0
8
13
33
-13
-16
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-5
5
-2
1
0
0
0
0
0
0
0
0
0
0
0
13
-16
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
-2
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
155
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-93
0
0
-22
-21
-4
0
0
0
0
0
0
0
0
0
0
-1
-66
13
-66
-52
-19
2
0
0
0
0
0
0
0
0
0
0
-10
-16
80
-40
-40
25
-2
0
0
0
0
0
0
0
0
0
0
0
-5
-20
-54
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-72
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-25
41
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-25
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
146
0
0
5
-8
-1
0
0
0
0
0
0
0
0
0
0
0
32
41
7
16
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
45
-42
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
-34
139
14
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
9
-20
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-6
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
6
12
-127
13
205
208
0
0
0
0
0
0
0
0
0
0
0
0
10
-31
83
114
-17
0
0
0
-46
-4
8
-5
0
0
0
0
-53
-8
0
-45
83
84
58
7
53
-8
14
1
-1
0
0
0
0
-25
-44
-31
57
-22
15
-111
-30
44
-23
-6
1
-1
0
0
0
0
37
30
-38
-65
-91
-58
-96
-62
-27
-10
-8
3
0
0
0
0
0
8
46
-8
-29
67
-21
-155
33
-84
-15
8
0
0
0
0
0
0
-20
-7
1
0
-88
-45
-30
15
3
22
-1
0
-1
0
0
0
0
0
-66
-13
-25
-24
0
57
8
0
-13
0
3
0
0
0
0
0
47
-21
11
6
2
-36
-20
27
2
0
0
0
0
0
0
0
0
0
0
-2
0
66
57
0
0
0
0
-2
3
0
0
0
0
0
-1
47
43
100
109
133
0
0
0
-35
31
4
0
0
0
0
0
-30
-56
66
-9
18
20
12
-56
-15
-5
-24
-6
0
0
0
0
0
29
-21
-57
26
-9
3
14
-31
102
42
-17
-4
0
0
0
0
0
0
15
-54
21
-93
-67
-37
88
-118
10
-9
0
0
0
0
0
0
1
12
-7
-97
-7
-93
1
-50
-35
-5
0
0
0
0
0
0
0
-6
-17
-40
-25
13
17
42
-24
-54
-42
-5
0
0
0
0
0
0
0
17
59
-23
-22
-47
-4
34
19
5
-5
0
-1
0
0
0
0
-7
1
0
0
0
-23
-12
1
2
1
3
0
0
0
0
0
0
-26
-56
-39
6
125
-27
0
0
0
0
0
0
0
0
0
0
0
10
72
21
124
114
19
0
0
0
0
0
0
0
0
0
0
0
0
6
69
60
60
73
10
0
0
0
0
0
0
0
0
0
0
-78
7
-52
-2
31
46
3
18
0
0
0
0
0
0
0
0
0
124
33
32
-9
-18
-1
43
-48
-23
0
0
0
0
0
0
0
0
12
-5
-5
-66
64
-16
-76
89
100
44
0
-2
0
0
0
0
0
-12
25
-24
-12
-9
-26
-26
135
38
-56
-16
-5
6
0
0
0
0
-5
-32
-29
-37
73
-41
-4
-7
-10
15
2
-8
0
0
0
0
0
-57
-23
-50
-38
2
-27
-69
-23
-54
-28
0
0
-1
0
0
0
0
-85
-77
-49
101
188
181
0
0
0
0
0
0
0
0
0
0
0
-51
1
-94
87
86
127
0
0
-40
-8
-19
0
0
0
0
0
0
52
-40
-57
-38
-83
33
86
-12
-21
-5
-1
0
0
0
0
0
0
-22
-13
-59
-60
-120
-45
-85
31
-69
36
-9
0
0
0
0
0
0
-56
40
-105
-86
-100
-67
-93
-3
34
-18
-2
0
0
0
0
0
0
-38
-26
-7
10
-65
66
-54
-46
-32
-2
0
0
0
0
0
0
0
-34
-21
-65
-90
-8
-1
-48
-41
-39
0
2
14
0
0
0
0
0
-8
18
0
-77
-49
7
-17
-84
-12
-8
0
0
0
0
0
0
0
1
49
18
31
-3
0
-4
5
-3
2
0
0
0
0
0
0
0
-92
-85
-113
-16
131
317
0
0
0
0
0
0
0
0
0
0
0
-4
-11
-2
2
67
158
141
-6
0
-1
32
0
0
0
0
0
0
12
2
-4
-2
14
14
-42
-81
-59
5
15
-9
0
0
0
0
0
-102
18
-15
-8
-37
-33
-33
-74
-21
-80
-20
0
0
0
0
0
0
-13
13
-14
-18
-29
-43
-48
-79
-67
-28
25
-14
0
0
0
0
0
-3
2
-9
-13
-23
-38
-47
-70
-106
40
40
-94
0
0
0
0
0
42
9
-3
1
-36
-61
-51
-70
-31
-23
-33
-8
0
0
0
0
0
6
0
-5
-7
-27
-71
-73
-135
17
53
17
50
0
0
0
0
0
-34
11
1
-20
-37
-46
-92
-41
-18
0
31
-133
-2
0
0
0
0
123
195
202
289
310
307
0
0
0
0
0
0
0
0
0
0
0
112
116
135
192
260
143
102
-31
0
0
0
0
0
0
0
0
0
-54
-16
30
-6
21
-26
-51
-8
-6
2
0
0
0
0
0
0
0
-52
-11
-13
19
-42
-114
19
0
0
0
0
0
0
0
0
0
0
-31
-27
-58
-48
7
-35
0
-4
0
1
0
0
0
0
0
0
0
-46
-32
-53
9
1
-10
-1
0
-3
0
0
0
0
0
0
0
0
-59
-70
-13
-20
-48
12
0
0
0
0
0
0
0
0
0
0
0
-1
-157
-120
-54
-140
-49
-1
8
0
0
0
0
0
0
0
0
0
-56
-42
-25
-19
-3
-5
-4
-1
-1
0
0
0
0
0
0
0
0
-112
-63
-78
42
235
183
252
0
0
0
0
0
0
0
0
0
0
-43
-4
14
54
122
0
29
76
3
-2
0
0
0
0
0
0
0
-48
-6
-5
-12
33
12
5
-45
-8
7
-5
0
0
0
0
0
0
-83
17
-3
-57
-49
-62
-21
-23
1
0
0
0
0
0
0
0
0
-9
-17
11
-58
-41
-7
44
13
13
0
0
0
0
0
0
0
0
-8
5
70
-10
-63
-49
-31
5
4
0
0
0
0
0
0
0
0
101
-19
20
25
-69
27
63
7
-8
20
0
0
0
0
0
0
0
-27
-29
-29
-107
36
-68
-22
60
-1
7
0
0
0
0
0
0
0
-25
-16
44
-28
11
-4
-27
10
0
-1
2
0
0
0
0
0
0
-98
-73
-65
3
293
269
0
0
0
-1
-1
0
0
0
0
0
0
-5
-15
-21
20
162
212
0
-1
0
15
3
1
0
0
0
0
0
-32
-3
11
-15
16
-23
64
-68
-8
-41
15
0
0
0
0
0
0
-57
-15
-29
-14
-90
-26
27
-29
-35
22
-23
0
0
0
0
0
0
-29
43
-101
-71
-128
16
-4
56
23
-46
-10
0
0
0
0
0
0
-4
-6
14
-61
-62
-38
-61
53
-11
0
3
0
-2
0
0
0
0
29
-105
-34
23
-7
-32
-41
-13
21
-23
0
0
0
0
0
0
0
0
11
-46
-63
-49
-42
-48
-8
-59
-17
-1
0
0
0
0
0
0
-46
-60
-95
50
-89
-103
5
-15
9
1
0
0
0
0
0
0
0
-76
5
-102
53
136
221
239
0
0
1
0
0
0
0
0
0
0
6
30
38
108
77
140
0
54
0
-92
0
0
0
0
0
0
0
-65
14
21
18
32
29
-9
-91
72
-19
3
0
0
0
0
0
0
-17
29
-27
-108
-27
-78
31
-66
37
-6
4
3
0
0
0
0
0
20
34
25
-31
-48
-33
-68
-42
-5
14
-5
0
0
0
0
0
0
91
60
-16
-23
-25
-25
11
-3
-4
0
0
0
0
0
0
0
0
-46
-42
-28
6
-72
-167
-8
6
4
0
0
0
0
0
0
0
0
-31
-27
-65
-42
20
-27
74
20
16
0
0
0
0
0
0
0
0
17
2
29
-24
5
-16
21
1
0
0
0
0
0
0
0
0
0
28
-102
2
140
102
62
0
0
0
0
0
0
0
0
0
0
0
22
15
47
32
84
119
77
0
-87
-20
0
0
0
0
0
0
0
6
2
1
58
96
-7
-13
-38
-35
3
0
0
0
0
0
0
0
52
20
3
40
-15
15
-2
5
-43
-4
1
0
0
0
0
0
0
5
5
23
6
13
20
-43
-56
-103
5
0
0
0
0
0
0
0
19
-4
2
16
-110
-30
-5
-57
6
-12
0
0
0
0
0
0
0
34
25
52
-18
1
-4
-13
58
-16
0
0
0
0
0
0
0
0
8
-12
52
56
-47
-7
-8
-20
-14
-8
0
0
0
0
0
0
0
27
-13
4
-7
-37
3
15
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
15
18
-13
0
0
-9
0
0
0
0
0
0
0
0
0
0
1
3
67
49
181
30
-43
4
0
0
0
0
0
0
0
0
0
0
0
-17
-3
32
12
53
2
0
0
0
0
0
0
0
0
0
0
0
24
-26
40
-64
-80
0
0
0
0
0
0
0
0
0
0
0
0
-41
7
24
-40
30
0
0
0
0
0
0
0
0
0
-2
0
0
-34
-2
5
6
8
2
0
0
0
0
0
0
0
0
0
-1
3
18
11
-13
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
1
10
16
-9
-66
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
13
2
0
0
0
0
0
0
0
0
0
0
0
0
-18
28
33
50
3
0
0
0
0
0
0
0
0
0
0
0
3
-5
40
70
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
20
66
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
18
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
0
-16
-5
0
0
0
0
0
0
0
0
0
0
1
4
49
74
62
34
-1
0
0
0
0
0
0
0
0
0
0
0
-15
-12
-33
-27
11
-8
0
0
0
0
0
0
0
0
0
0
0
2
2
7
-29
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-140
54
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
53
12
22
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-42
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
9
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
-2
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
9
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-8
93
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
18
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
21
24
44
0
0
0
0
0
0
0
0
0
0
0
2
0
0
24
19
7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-46
-76
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
52
-18
-32
7
3
0
0
0
0
0
0
-1
0
0
0
0
-19
-94
-76
20
-30
-7
0
0
0
0
0
0
0
0
-25
114
61
95
-16
23
15
-24
0
0
0
0
0
0
0
0
0
1
7
14
87
-60
140
35
24
5
0
0
0
0
-3
0
-1
-2
-3
74
54
107
92
70
-10
-17
0
0
0
0
0
0
0
0
-4
3
-25
41
110
15
12
15
0
0
0
0
0
0
0
0
0
0
-1
48
4
108
9
-6
2
0
0
0
0
0
0
0
0
0
0
6
-81
61
13
-3
5
-6
0
0
0
0
0
0
0
0
0
0
-5
-71
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-33
1
-2
0
0
0
0
0
0
0
1
-3
0
0
0
0
-30
13
-21
0
-10
-1
0
0
0
0
0
0
-1
-7
1
-13
2
0
45
4
-8
2
-2
0
0
0
0
0
0
-1
-2
-2
-66
54
67
25
34
-4
-29
-3
0
0
0
0
0
0
0
5
-3
-20
44
0
49
13
-8
-13
-8
0
0
0
0
0
0
0
0
0
-17
2
2
33
5
-4
-6
0
0
0
0
0
0
0
0
0
-2
3
0
14
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
9
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-84
113
158
39
-52
-7
120
0
0
0
-2
13
-1
4
24
0
0
18
23
93
-50
9
49
-4
0
0
1
0
0
1
-8
44
49
121
98
80
5
120
128
141
5
0
0
0
0
0
1
-8
2
-1
20
113
21
-8
107
118
15
96
0
0
0
0
2
0
-3
15
-59
-36
51
120
-13
-1
52
70
-14
0
0
0
0
0
0
-5
-2
-25
22
-8
-67
150
106
1
-22
-7
0
0
0
0
0
1
-2
5
-58
-128
-8
139
35
39
102
45
1
0
0
0
0
0
-1
6
0
-24
19
-2
-4
-31
111
15
0
0
0
0
0
0
0
-7
-2
-3
3
29
5
0
0
3
0
0
0
0
0
0
1
6
-16
91
-1
0
0
-36
-87
-5
-15
21
56
0
0
0
0
0
12
84
49
52
-36
-13
-10
-9
-16
-7
42
73
47
0
0
-1
-1
10
-69
-45
-42
-103
-83
-11
7
-15
-33
-7
97
54
0
0
0
-5
2
20
-14
-40
-13
0
14
-58
-53
-48
38
48
60
0
0
0
3
5
7
0
-41
5
-5
-5
-9
-61
-25
-12
-22
22
0
0
0
0
42
13
-9
0
-10
-14
-17
-65
-32
-5
28
39
-22
0
0
0
0
-18
16
68
-22
36
52
-10
3
-35
-33
3
30
-37
0
0
0
0
-6
15
-66
-44
57
44
6
-84
-75
-4
36
4
-2
0
0
0
0
-5
-1
62
-20
-49
-31
1
-20
-127
-69
94
-32
0
0
0
0
0
0
-1
0
2
0
0
17
88
-32
-26
80
-37
-5
0
0
0
0
-5
0
2
6
2
-16
-27
66
42
95
11
-103
-1
0
0
0
0
0
0
0
-21
7
46
16
21
-24
71
181
57
-42
0
0
0
0
0
0
0
3
37
46
-20
-32
15
20
-22
1
-22
0
0
0
0
0
0
0
-22
19
-8
19
15
-31
7
-44
9
-13
0
0
0
4
0
3
-4
2
1
-18
-7
-8
22
-38
61
40
5
0
0
0
0
2
0
0
2
-25
-16
18
92
36
1
-50
-4
-96
0
0
0
0
0
0
0
1
25
-16
-8
-8
-47
-13
-111
26
50
0
0
0
0
0
0
1
2
-6
20
-10
-45
105
52
-78
-69
30
0
0
0
0
-1
0
0
-8
0
0
145
114
154
99
96
-56
-49
0
0
0
0
0
-2
0
-32
-48
170
0
132
133
93
-18
53
30
0
0
0
0
0
-1
-4
17
-23
84
3
44
68
114
55
-49
-113
0
0
0
0
0
-3
-1
-1
-1
29
58
21
90
66
76
-6
-38
0
0
0
0
0
0
-4
-1
8
-58
15
-38
-28
48
-21
-41
126
0
0
0
-4
0
0
-3
7
-63
-100
-36
14
-7
80
27
9
-56
0
0
0
0
-2
0
3
2
-41
-63
-55
-51
-28
0
1
-80
-6
0
0
0
0
0
0
-22
-3
-43
108
49
-52
29
-1
19
-42
-9
0
0
0
0
0
-4
0
0
27
17
-8
-7
17
40
76
0
0
0
0
0
0
0
0
0
4
0
0
-57
41
-89
92
-113
-51
27
0
0
0
0
0
6
7
0
-20
0
-20
8
-133
6
45
-31
-39
0
0
0
0
0
0
1
77
92
181
94
80
-25
61
87
59
23
0
0
0
0
0
-1
14
44
60
146
46
60
66
115
86
155
37
0
0
0
0
3
0
4
-13
20
4
78
52
26
4
72
-2
-1
0
0
0
0
0
-2
4
-7
-71
48
56
58
66
9
47
5
0
0
0
0
0
0
-4
-3
34
75
-5
36
200
-35
52
51
-16
-2
0
0
0
1
0
0
-43
57
14
26
22
-82
-46
-40
42
-13
0
0
0
0
0
0
0
0
5
-8
50
-32
9
-3
-4
-56
-1
0
0
0
0
0
0
0
0
0
0
0
-163
66
24
67
-22
-8
0
0
0
0
0
0
0
0
0
49
0
22
51
21
-63
3
69
0
0
0
0
0
0
0
0
0
25
71
-15
-69
-29
37
38
93
0
0
0
0
0
0
0
0
0
2
20
58
85
25
-1
-9
27
-4
0
0
0
0
0
0
0
-3
4
86
88
104
-51
23
-5
-25
-6
0
0
0
0
0
0
0
2
1
13
56
-28
44
34
24
12
4
0
0
0
0
0
0
0
0
8
16
25
13
69
192
25
0
-3
0
0
0
0
0
0
0
-1
8
5
17
-32
46
-74
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
13
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
-22
-8
5
-43
30
9
0
0
0
0
0
0
0
2
0
40
-19
121
27
19
25
-23
51
0
0
0
0
0
0
0
0
-9
-4
-30
83
-82
93
-48
-8
31
0
0
0
0
0
0
0
2
0
1
58
-26
19
-11
27
73
-20
0
0
0
0
0
0
0
0
0
0
54
-49
64
7
-44
51
-35
0
0
0
0
0
0
0
0
0
1
31
27
-37
-51
24
-22
1
0
0
0
0
0
0
0
0
0
0
6
47
28
69
-16
13
0
0
0
0
0
0
0
0
0
1
0
-1
0
41
-10
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
91
0
0
-1
-42
26
-74
-52
15
-28
0
0
0
0
0
0
2
-39
-5
43
55
-11
-23
-34
-68
-59
-2
0
0
0
0
0
0
0
-6
6
-3
-37
-34
-9
-96
-4
-58
-6
0
0
0
0
0
0
0
5
0
0
-28
5
2
0
-22
-10
54
0
0
0
0
0
0
0
0
0
0
-5
-5
-51
-41
25
-32
18
0
0
0
0
0
0
0
0
0
0
-1
-4
-25
13
-57
-52
54
0
0
0
0
0
0
0
0
0
0
-1
31
-19
0
-18
-11
-71
0
0
0
0
0
0
0
0
0
0
0
-51
5
0
-46
34
-21
0
0
0
0
0
0
0
0
0
0
0
0
7
-98
-19
70
-40
0
0
0
0
0
0
0
0
0
0
0
-1
9
-24
20
25
-1
0
0
0
0
0
0
0
0
-1
0
-38
-22
20
49
-41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-62
64
2
14
0
0
0
0
0
0
0
0
0
0
0
0
8
30
51
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-18
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
29
11
-49
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
14
-147
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-52
60
-12
-6
0
0
0
0
0
0
0
0
2
-3
-13
-5
97
-55
-128
48
-8
0
0
0
0
0
0
0
0
0
0
2
9
0
21
-48
-52
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-43
-25
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-86
63
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-54
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
33
-52
17
0
0
0
0
0
0
0
0
0
0
0
-13
-23
-4
-30
-25
3
17
0
0
0
0
0
0
0
0
0
2
0
0
0
5
68
-9
-8
-2
0
0
0
0
0
0
0
0
0
0
2
0
-37
-5
16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
47
0
0
44
60
39
-22
-20
-34
-55
0
0
0
0
-1
2
8
30
-4
-103
48
-27
5
-7
-15
-28
17
0
0
0
0
0
5
5
75
70
0
-28
14
35
54
3
33
52
0
0
0
0
0
0
1
59
-46
28
-83
4
23
0
-20
67
8
0
0
0
0
0
0
0
9
-46
16
-9
-9
-8
24
-77
85
-5
0
0
0
0
0
0
0
0
-14
65
39
-100
-23
-36
-7
-13
-6
0
0
0
0
0
0
2
-15
-2
-8
-27
40
8
12
-23
-28
-25
0
0
0
0
0
0
0
0
-45
-150
-13
-25
-5
-64
66
-46
0
0
0
0
0
0
0
0
1
-5
-5
-2
-1
3
-5
-25
-7
50
0
0
0
0
0
0
0
0
0
0
-28
-56
8
41
-8
-121
23
0
0
0
0
0
0
1
3
0
8
-25
84
33
-6
-2
-43
-15
0
0
0
0
0
0
0
-6
16
-48
33
-33
59
18
-8
-46
41
0
0
0
0
0
0
0
0
13
19
-18
-96
102
-14
15
-74
-41
0
0
0
0
0
0
0
0
23
34
42
-21
-84
28
-118
-44
52
0
0
0
0
0
0
0
-1
-2
-59
27
6
-8
-91
-78
33
-31
0
0
0
0
0
0
0
1
58
68
15
-110
-41
3
7
-66
-11
0
0
0
0
0
0
0
-1
17
-57
-26
-23
-16
49
-43
-49
-3
0
0
0
0
0
0
0
1
-30
-4
12
-9
8
-26
-24
58
48
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-4
9
66
0
0
-4
62
172
33
47
-23
0
0
0
0
0
-22
31
5
-5
35
-2
-59
-111
-23
-83
27
41
-2
0
0
0
3
-29
-19
-6
35
-31
-41
-12
-9
5
-10
4
-31
-6
0
0
0
0
9
-6
59
91
15
-22
27
-12
15
-75
31
31
-1
0
0
0
0
-4
0
5
34
3
-96
54
-72
-146
58
-85
24
-1
0
0
0
0
0
0
-1
-58
-126
-4
-8
0
-62
-7
25
-6
0
0
0
0
0
0
-8
-16
-22
23
-22
-20
-147
-38
31
2
2
0
0
0
0
0
0
0
0
-20
-18
-19
-8
5
4
-13
15
41
0
0
0
0
0
0
0
-5
-10
-71
-60
-30
-1
-1
-2
0
0
0
0
0
19
-126
12
3
36
-16
0
0
-7
40
58
66
-133
5
0
0
0
-48
13
-44
-20
7
3
21
0
6
9
39
53
-20
-5
0
0
0
-38
24
43
-69
-70
3
4
-5
-5
9
45
30
-14
-24
0
0
0
10
-5
-12
14
-25
-56
-15
-16
-7
-14
19
64
13
-24
0
0
0
2
-33
56
-22
-108
-19
-15
-14
-12
-22
14
44
11
-49
0
0
0
-13
-65
-19
-1
-56
-23
5
-9
-14
-24
-20
18
47
-44
0
0
0
5
23
-52
6
-13
-22
-10
6
-9
-28
-14
13
46
4
0
0
0
-41
7
19
14
10
21
-5
-7
-7
-21
-17
-45
23
0
0
0
0
-18
-103
18
59
-35
-41
3
-3
-3
-6
-74
-51
44
-3
0
0
0
0
0
-1
8
-7
-87
0
0
69
37
-47
120
-1
0
0
0
0
0
0
2
2
2
-16
-38
30
84
59
-23
44
-1
0
0
0
0
0
0
0
0
-41
50
43
-3
37
0
20
-31
0
0
0
0
0
0
0
0
0
-9
30
3
56
-32
21
22
16
0
0
0
0
0
0
0
0
-2
10
5
10
-32
94
6
-39
13
0
0
0
0
0
0
0
0
0
2
-7
81
50
4
-36
24
36
0
0
0
0
0
0
2
0
-3
0
76
-13
-56
100
-84
36
-59
14
0
0
0
0
0
0
0
-8
2
0
-11
-34
1
61
8
-4
0
0
0
0
0
0
0
-6
0
-1
4
-7
50
-45
42
9
0
0
0
0
0
0
0
-9
0
53
52
-91
0
0
74
128
50
55
1
0
0
0
0
0
-4
-17
34
-80
-8
40
-2
10
59
-6
-63
6
0
0
0
0
0
0
65
5
74
33
40
64
35
6
-4
70
-27
0
0
0
0
0
0
25
12
77
-36
5
-12
-31
6
48
0
13
0
0
0
0
0
7
1
-1
-14
-36
44
43
0
-31
42
-23
-1
0
0
0
0
0
0
5
8
10
-52
-23
-47
-37
77
-53
13
0
0
0
0
0
0
-16
-10
-32
-34
-53
-31
-24
19
-42
-73
-5
-1
0
0
0
0
0
-8
17
-5
49
-94
56
-38
-12
-23
-4
-44
0
0
0
0
0
0
0
-14
-19
-34
-23
-51
-74
-60
-22
2
24
0
0
0
0
0
-3
0
-1
3
-5
18
0
0
39
31
29
38
-51
13
43
0
0
0
0
-2
42
-16
-18
27
-16
21
14
-4
-27
17
-68
-16
0
0
0
0
6
-17
73
58
-6
-47
4
-25
-13
70
31
-44
-41
0
0
0
0
1
-5
-30
-4
77
-68
29
40
123
134
-27
-107
-6
0
0
0
1
-2
0
-13
-6
-1
27
-15
14
-16
4
-1
5
0
0
0
0
0
-1
6
-8
-59
-16
-111
-48
72
13
62
3
-4
-3
0
0
0
0
0
-2
-4
3
-80
-77
5
-60
40
6
-24
-4
7
0
0
0
3
3
0
-37
-50
-42
-104
2
-3
-9
31
1
-62
0
0
0
0
0
0
2
3
-33
-55
-32
-58
-30
-55
-1
0
6
0
0
0
-1
0
0
-13
1
-30
0
0
57
34
104
-20
52
-29
18
0
0
0
0
0
0
8
-3
-30
13
75
23
-60
13
-55
120
9
0
0
0
0
0
-13
-32
-19
27
5
57
-6
-8
-5
5
-13
18
0
0
0
0
0
0
-22
26
-35
14
-10
49
41
-77
2
-29
-18
0
0
0
0
0
-1
50
-67
-15
-16
59
10
-21
187
42
70
1
0
0
0
0
1
-4
-49
6
-46
-34
-7
-14
-10
-66
3
18
0
0
0
0
0
1
13
-12
28
22
-22
-23
-7
54
12
-4
3
-24
0
0
0
0
0
0
-21
13
-12
-29
7
28
16
41
-5
-16
0
0
0
0
0
0
3
34
23
-17
2
22
-14
43
0
0
0
0
0
0
0
0
1
6
15
66
0
0
23
84
-45
-23
11
45
23
0
0
0
-1
0
15
-2
18
-52
74
-14
23
40
2
-14
-58
-21
0
0
0
0
-1
-2
84
-4
12
69
-58
41
7
-23
-3
-61
-12
0
0
0
0
0
0
-8
31
6
-107
9
-10
-20
24
-83
-74
5
0
0
0
0
1
6
24
63
3
-6
-17
19
-90
30
-43
26
-37
0
0
0
3
-12
3
-31
2
104
27
-5
-52
68
-2
4
-2
-6
0
0
0
1
4
-26
-17
23
33
5
30
29
52
10
12
0
-5
0
0
1
5
-20
44
6
22
15
-40
-9
50
-46
31
-5
-3
0
0
0
0
27
-20
13
-22
-15
-44
32
86
-40
39
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
-30
97
148
89
-33
0
0
0
0
0
0
0
0
0
0
28
5
58
86
108
40
-23
3
1
0
0
0
0
0
0
0
0
42
-6
-44
-73
-22
42
0
0
1
0
0
0
0
0
0
0
0
-97
27
0
-13
-30
-4
0
5
0
0
0
0
0
0
0
0
0
21
-47
-18
-6
14
-2
0
0
0
0
0
0
0
0
0
0
0
58
31
-11
-60
-31
0
0
0
0
0
0
0
0
0
0
0
0
-56
-45
-30
-30
-40
2
0
0
0
0
0
0
0
0
0
0
0
-44
36
-13
14
66
0
0
0
0
0
0
0
0
0
0
0
0
6
11
-14
2
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
21
12
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
39
17
3
0
0
0
0
0
0
0
0
0
0
0
-3
-72
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
94
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
25
-1
18
2
-2
0
0
0
0
0
0
0
0
0
0
57
43
66
-49
2
24
0
0
0
0
0
0
0
0
0
0
0
-76
42
53
-3
5
0
1
0
0
0
0
0
0
0
0
0
0
23
77
-49
-43
6
4
0
0
0
0
0
0
0
0
0
0
0
-2
-4
18
7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-16
-2
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
-8
-25
-37
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
33
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
23
18
3
13
-1
0
0
0
0
0
0
0
0
0
0
0
-13
10
25
3
-15
0
0
0
0
0
0
0
0
0
0
0
4
-47
-10
22
2
1
0
0
0
0
0
0
0
0
0
0
0
-17
-9
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
22
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
42
89
114
146
-8
0
0
0
0
0
0
0
0
0
0
-3
-121
-21
52
130
88
75
23
2
0
0
0
0
0
0
0
0
24
4
-29
34
40
-8
48
-23
0
0
0
0
0
0
0
0
0
-17
31
-4
-42
20
-103
6
-2
0
0
0
0
0
0
0
0
0
-5
42
-5
4
19
8
-1
-1
-1
0
0
0
0
0
0
0
0
0
44
25
9
-9
0
-2
0
0
0
0
0
0
0
0
0
0
1
-7
-55
1
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
5
50
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-24
-7
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
32
10
14
30
-2
3
0
0
0
0
0
0
0
0
0
0
0
-31
21
23
46
66
-2
-14
-2
-10
0
0
0
0
0
0
0
-7
-3
50
39
48
2
-3
-8
2
0
0
0
0
0
0
0
0
-1
-23
-5
0
0
13
6
-42
1
0
0
0
0
0
0
0
0
-2
-2
-8
-7
-13
-25
-6
0
5
0
0
0
0
0
0
0
0
-2
-31
0
1
-10
-10
-3
0
0
0
0
0
0
0
0
0
0
-3
-6
-12
10
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-16
-4
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
22
-30
-20
128
122
88
0
0
0
0
0
0
0
0
0
0
28
-32
4
76
80
65
162
132
3
-5
-22
9
0
0
0
0
0
16
-13
-6
75
-34
-5
-13
35
-12
-41
-5
-6
0
0
0
0
0
49
-42
31
20
-69
15
28
15
-78
17
8
0
-1
0
0
0
0
13
5
-5
-31
18
-63
-13
13
-48
8
2
0
0
0
0
0
0
5
-6
-39
20
22
10
1
14
4
0
0
0
0
0
0
0
0
8
-31
6
4
-15
-6
1
0
-2
0
4
0
0
0
0
0
0
0
-28
39
29
-29
-2
-9
0
0
0
0
0
0
0
0
0
0
7
21
-2
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-31
-94
-93
19
-14
-58
34
0
0
8
-9
24
1
0
0
0
0
4
-66
-58
-15
-31
-21
5
26
143
32
47
-8
-6
-12
0
0
0
20
-16
-113
-33
-4
-31
-31
-93
13
29
2
85
0
-1
0
0
0
81
1
-38
-61
-42
-23
-44
2
105
-23
-47
27
31
0
0
0
0
-32
62
-7
-73
-36
33
36
7
23
4
-7
75
-17
30
0
0
0
54
-34
-1
-22
17
-53
13
-21
44
17
-8
53
10
0
0
0
0
2
26
28
-5
-1
-50
-44
-1
-94
85
-94
41
0
1
0
0
0
28
16
-38
-55
15
3
64
-15
41
14
30
1
-2
0
0
0
0
5
44
14
-59
-41
-57
-28
14
68
-23
-44
-23
3
0
0
0
0
0
13
-71
20
14
-13
31
0
0
0
0
1
0
0
0
0
0
1
-25
93
13
53
31
5
41
-73
91
-25
-14
0
0
0
0
0
-2
30
59
-35
15
-64
16
-33
-51
8
39
4
0
0
0
0
0
-2
48
22
-76
32
4
34
-3
-10
-37
-8
5
0
0
0
0
0
-5
7
-13
-2
75
24
-15
30
65
-31
-33
3
0
0
0
0
0
1
-43
-52
57
53
30
25
30
-25
24
12
-3
0
-8
0
0
0
1
67
-58
24
-21
39
6
13
52
2
0
0
-2
0
0
0
0
0
41
11
4
2
20
-9
-41
34
76
-5
1
0
0
0
0
0
1
-17
32
-5
-58
14
-2
-8
-37
-18
-2
0
0
0
0
0
0
0
50
79
-8
0
0
38
0
0
2
5
0
0
0
0
0
0
0
-49
120
-25
46
0
55
90
23
-5
-1
-5
0
0
0
0
0
0
37
57
-10
23
-96
50
-10
5
35
29
0
0
0
0
0
0
0
5
1
12
-94
-5
46
74
61
0
-1
18
0
0
0
0
0
0
2
45
-49
3
-56
-14
-50
0
15
8
-2
0
0
0
0
0
0
15
-18
5
-15
-14
-15
-39
-27
-5
-14
0
-1
0
0
0
0
0
34
68
-8
-7
20
77
-48
-41
-44
-4
0
0
0
0
0
0
0
0
21
31
53
-42
-78
-48
-50
0
0
0
0
0
0
0
0
0
23
1
8
-21
21
6
2
0
0
2
0
0
0
0
0
0
30
9
26
-70
60
78
60
0
0
0
0
0
0
0
0
0
0
16
-4
7
205
40
56
142
172
-41
-19
4
-3
0
0
0
0
0
-72
-72
-4
38
9
-43
-61
-73
28
-26
0
1
0
0
0
0
0
-25
17
8
-10
-80
-61
-40
5
-48
-4
7
0
-5
0
0
0
0
46
66
66
-9
51
-71
10
19
60
1
3
0
0
0
0
0
0
53
27
-14
31
-24
2
-27
32
-17
0
-2
0
0
0
0
0
0
41
8
15
9
-13
-42
1
4
2
0
0
0
0
0
0
0
0
1
79
41
17
10
-45
-34
-6
4
0
0
0
0
0
0
0
0
14
12
14
1
-9
2
0
0
0
0
1
0
0
0
0
0
0
1
8
42
106
52
165
88
0
0
0
0
0
0
0
0
0
0
0
10
14
67
82
87
60
-8
-14
-57
0
0
0
0
0
0
0
1
8
24
14
-2
4
-8
27
4
1
0
0
0
0
0
0
0
0
5
72
-17
-38
14
-13
27
0
2
0
0
0
0
0
0
0
2
0
1
-52
8
0
16
85
1
2
0
0
0
0
0
0
0
0
1
1
44
-4
7
25
-7
0
1
0
0
0
0
0
0
0
1
1
-2
23
-8
-3
-8
3
2
0
0
0
0
0
0
0
0
0
3
-13
-4
8
-3
8
13
2
0
0
0
0
0
0
0
0
0
0
1
-15
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
16
12
9
50
31
0
0
0
0
0
0
0
0
0
0
0
2
-1
33
55
62
23
-87
31
-7
0
-2
0
0
0
0
0
0
0
-48
-31
0
-13
32
18
31
-5
-2
0
0
0
0
0
0
0
1
-8
-50
20
-26
-36
10
25
7
6
0
0
0
0
0
0
0
0
0
46
-13
0
92
32
7
-8
0
0
0
0
0
0
0
0
0
8
44
-3
0
-17
-6
-8
0
1
0
0
0
0
0
0
0
0
3
-14
-42
-22
-16
4
15
-2
0
0
0
0
0
0
0
0
0
3
39
-5
-8
-13
-102
22
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-12
-27
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
0
0
-23
-70
-6
-4
0
0
0
0
0
0
0
0
0
-2
-27
8
-31
-30
8
-30
2
0
0
0
0
0
0
0
0
0
4
60
42
51
79
61
49
8
-1
0
0
0
0
0
0
0
0
0
14
6
13
-14
-44
0
13
1
0
0
0
0
0
0
0
0
-1
-23
-11
25
-42
-24
16
-33
-6
0
0
0
0
0
0
0
0
-5
-5
-23
-84
-29
17
45
-16
37
0
0
0
0
0
0
0
0
3
52
65
49
21
-54
13
-10
1
7
0
0
0
0
0
0
0
-2
-94
-6
-95
-9
-13
0
0
0
0
0
0
0
0
0
0
0
0
131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
81
0
0
-31
9
-5
-1
0
0
0
0
0
0
0
0
0
-8
-45
0
-41
8
-4
1
0
0
0
0
0
0
0
0
0
0
0
30
20
-58
-16
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
18
-2
1
0
0
0
0
0
0
0
0
0
0
0
13
-16
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-16
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
142
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
36
0
0
-16
-22
-4
0
0
0
0
0
0
0
0
0
0
-1
19
14
-8
-20
-17
2
0
0
0
0
0
0
0
0
0
0
-10
-9
15
-17
-40
15
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-41
-8
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
5
-80
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
41
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
115
0
0
5
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-6
7
16
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
21
31
-37
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
-16
57
19
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
13
-16
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-5
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
6
27
-26
5
86
132
0
0
0
0
0
0
0
0
0
0
0
0
-32
31
9
193
117
0
0
0
-5
-3
8
-5
0
0
0
0
-58
5
-60
-53
-29
53
16
1
40
-9
9
1
-1
0
0
0
0
-16
53
17
34
53
-58
7
-54
-12
-25
-6
1
-1
0
0
0
0
10
43
-25
-67
-1
-47
-55
-27
-42
-1
-7
3
0
0
0
0
0
7
53
-8
-44
23
-16
-45
41
-73
-13
9
0
0
0
0
0
0
-4
12
14
25
-64
-25
-17
-69
-35
18
-1
0
-1
0
0
0
0
0
-5
31
-42
-6
-4
-9
76
8
-4
1
3
0
0
0
0
0
14
-4
1
13
2
-9
-4
19
2
2
0
0
0
0
0
0
0
0
0
0
0
34
58
0
0
0
0
-2
3
0
0
0
0
0
-1
32
42
92
77
80
0
0
0
-44
62
5
0
0
0
0
0
-97
-24
26
15
14
9
-14
-4
50
17
-56
-5
0
0
0
0
0
23
-8
-17
-17
3
10
5
8
57
-3
-8
-4
0
0
0
0
0
0
0
-6
-29
-42
-34
-73
-31
-3
-5
-25
0
0
0
0
0
0
1
6
-7
-84
-6
-74
-24
-19
-26
-7
0
0
0
0
0
0
0
-5
6
-27
-13
0
15
49
-77
-26
-35
-6
0
0
0
0
0
0
0
-8
30
-17
-8
-25
-42
-4
-80
0
10
0
-1
0
0
0
0
-3
1
0
0
0
-15
-10
-16
0
1
3
0
0
0
0
0
0
-54
-20
54
-17
120
-49
0
0
0
0
0
0
0
0
0
0
0
40
25
57
82
141
102
0
0
0
0
0
0
0
0
0
0
0
-47
42
8
26
25
62
17
2
0
0
0
0
0
0
0
0
0
45
2
69
50
28
39
43
41
1
0
0
0
0
0
0
0
0
54
3
-5
-23
-43
-57
85
-37
-31
-5
0
0
0
0
0
0
0
5
30
52
26
1
-36
-110
71
95
12
0
-2
0
0
0
0
0
13
39
82
-21
1
8
-37
43
-33
-21
-5
-5
6
0
0
0
0
-47
30
2
-69
21
-94
-51
25
-19
20
-3
-8
0
0
0
0
0
-76
-23
-68
-48
-18
26
-22
-39
-46
4
0
0
-1
0
0
0
0
-43
3
-47
70
74
268
0
0
0
0
0
0
0
0
0
0
0
24
-49
24
61
-3
156
0
0
-77
33
5
0
0
0
0
0
0
29
-29
-43
-84
37
-39
-52
67
40
9
-2
0
0
0
0
0
0
72
44
25
2
-13
-29
-169
1
-38
11
-10
0
0
0
0
0
0
-41
-46
-84
-79
-21
-35
-53
-1
41
-4
-2
0
0
0
0
0
0
-58
-36
-54
-81
-4
109
52
14
-41
-2
0
0
0
0
0
0
0
-1
-9
-42
19
-19
-13
-19
-26
-37
-1
2
14
0
0
0
0
0
-8
21
-62
-47
-8
-31
-15
-43
-25
-6
1
0
0
0
0
0
0
-7
25
0
9
2
1
5
5
6
2
0
0
0
0
0
0
0
-30
-66
-59
-64
40
291
0
0
0
-1
-3
0
0
0
0
0
0
-22
25
-17
10
26
47
52
-13
21
-11
20
4
0
0
0
0
0
51
-8
5
9
3
-29
-76
-41
-4
59
49
5
0
0
0
0
0
16
0
3
-9
-2
5
15
-24
-38
11
28
-13
0
0
0
0
0
0
2
-9
-5
-19
-33
-45
-3
-39
17
45
0
0
0
0
0
0
-9
-35
-8
5
-21
13
-57
-53
-72
-24
63
-64
0
0
0
0
0
13
-7
-3
-2
-5
-19
-24
-77
-29
-39
31
-21
0
0
0
0
0
21
-6
-4
-12
-19
-19
-18
0
-41
-10
-43
47
0
0
0
0
0
61
-3
12
-7
-38
-24
-30
-60
-13
-49
-53
-9
-2
0
0
0
0
-38
56
123
149
268
211
0
0
0
0
0
0
0
0
0
0
0
14
5
22
175
253
123
98
-34
0
0
0
0
0
0
0
0
0
-49
23
6
-27
-13
-28
-54
-33
-7
2
0
0
0
0
0
0
0
-41
-10
-42
29
12
-110
12
0
0
0
0
0
0
0
0
0
0
-29
-18
-61
-36
5
-29
0
-4
0
1
0
0
0
0
0
0
0
-45
-25
-28
-17
19
12
-1
0
-3
0
0
0
0
0
0
0
0
-58
-66
-31
2
-25
9
0
0
0
0
0
0
0
0
0
0
0
-1
-126
-93
-71
-111
-44
-3
8
0
0
0
0
0
0
0
0
0
-52
-41
-24
-19
-4
-3
-4
-1
-1
0
0
0
0
0
0
0
0
-75
-77
-73
49
67
51
305
0
0
0
0
0
0
0
0
0
0
-8
-5
-35
-54
26
0
76
68
-5
-2
0
0
0
0
0
0
0
-42
44
-17
64
100
-77
-9
-66
-5
8
-5
0
0
0
0
0
0
-4
-56
-11
-55
5
-13
-45
22
-14
-4
0
0
0
0
0
0
0
-19
50
97
-41
-6
-22
58
18
-16
1
0
0
0
0
0
0
0
-5
15
8
-31
-45
15
-38
3
3
0
0
0
0
0
0
0
0
29
-33
19
-81
-46
18
63
5
-12
20
0
0
0
0
0
0
0
-24
-19
4
-80
2
-67
-34
25
1
7
0
0
0
0
0
0
0
-30
-140
49
3
13
2
-24
8
-2
-1
2
0
0
0
0
0
0
-123
22
29
-5
27
195
0
0
0
-1
-1
0
0
0
0
0
0
16
-75
15
86
-61
236
0
31
0
79
9
1
0
0
0
0
0
-47
6
-18
-41
-15
-34
66
-5
19
-14
24
0
0
0
0
0
0
-27
91
38
-84
14
8
-9
-5
-116
-13
-51
0
0
0
0
0
0
-4
-104
-36
-102
-101
34
17
73
-25
-20
-9
0
0
0
0
0
0
10
8
8
-29
26
-104
-139
50
-4
0
3
0
-2
0
0
0
0
-51
-19
-93
-86
3
24
-23
6
9
5
0
0
0
0
0
0
0
-4
-33
-94
-22
49
4
-51
-13
-35
-9
-1
0
0
0
0
0
0
-41
-92
-40
32
-49
-73
-22
-5
10
1
0
0
0
0
0
0
0
-26
5
31
1
100
234
271
0
0
1
0
0
0
0
0
0
0
0
-26
-45
79
123
181
0
170
0
-73
0
0
0
0
0
0
0
-11
15
91
75
16
65
18
33
97
5
4
0
0
0
0
0
0
-9
20
-77
-17
-96
-12
4
-48
-3
7
4
3
0
0
0
0
0
-37
8
60
23
-67
42
-3
-37
-10
15
-5
0
0
0
0
0
0
48
0
4
-26
-94
-30
-21
-2
5
0
0
0
0
0
0
0
0
-5
-29
13
42
-39
-52
-8
-17
5
0
0
0
0
0
0
0
0
-24
-17
-23
-53
-5
1
75
12
-7
0
0
0
0
0
0
0
0
-19
28
-24
59
0
-13
34
1
0
0
0
0
0
0
0
0
0
-20
-67
-2
90
146
117
0
0
0
0
0
0
0
0
0
0
0
-1
36
82
51
39
83
71
0
-65
-20
0
0
0
0
0
0
0
-9
31
21
53
59
-57
-53
-10
-89
4
0
0
0
0
0
0
0
31
23
5
-6
46
-15
22
-13
-33
-5
1
0
0
0
0
0
0
39
19
-24
-93
15
50
-13
43
-21
4
0
0
0
0
0
0
0
25
8
-13
22
-94
22
-2
-49
-44
-9
0
0
0
0
0
0
0
-18
21
-5
26
-25
-5
-16
30
-5
0
0
0
0
0
0
0
0
-19
6
-21
107
-61
-8
-8
21
50
-8
0
0
0
0
0
0
0
35
-24
20
5
9
14
31
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
102
0
0
0
0
0
0
0
0
0
0
0
12
30
8
0
0
10
0
0
0
0
0
0
0
0
0
0
1
-15
69
74
106
13
73
4
0
0
0
0
0
0
0
0
0
0
0
-17
-13
-77
22
44
2
0
0
0
0
0
0
0
0
0
0
0
10
9
-2
-23
-21
0
0
0
0
0
0
0
0
0
0
0
0
3
50
18
-72
9
0
0
0
0
0
0
0
0
0
-2
0
0
-49
-41
6
-63
0
2
0
0
0
0
0
0
0
0
0
-1
4
17
-28
-26
-24
-57
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-8
6
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
12
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
11
0
52
3
0
0
0
0
0
0
0
0
0
0
0
3
-2
23
-5
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
8
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
1
4
46
71
5
50
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-49
-97
-5
-8
0
0
0
0
0
0
0
0
0
0
0
2
3
51
-22
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-59
41
0
0
0
0
0
0
0
0
0
0
0
0
1
-31
-17
-12
54
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
-36
82
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
9
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
-3
0
0
-81
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
48
-18
7
0
0
0
0
0
0
0
0
0
0
0
0
3
6
37
76
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
28
-3
51
0
0
0
0
0
0
0
0
0
0
0
2
0
0
21
48
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-42
-84
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
17
8
-37
8
3
0
0
0
0
0
0
-1
0
0
0
0
-28
-60
-24
11
-22
-7
0
0
0
0
0
0
0
0
-24
47
67
16
-19
-10
32
-9
0
0
0
0
0
0
0
0
0
1
5
65
58
3
47
46
8
5
0
0
0
0
-3
0
-1
-2
-3
53
-5
8
43
0
-6
-15
0
0
0
0
0
0
0
0
-4
3
-29
-46
56
2
9
15
0
0
0
0
0
0
0
0
0
0
-1
25
-24
74
18
-6
2
0
0
0
0
0
0
0
0
0
0
1
-27
48
14
-3
4
-6
0
0
0
0
0
0
0
0
0
0
-5
-73
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-29
1
-2
0
0
0
0
0
0
0
1
-3
0
0
0
0
-26
-29
-16
1
-9
-1
0
0
0
0
0
0
-1
-7
1
-16
-24
5
42
3
-16
2
-1
0
0
0
0
0
0
-1
-2
-2
-53
28
43
12
25
3
-22
-2
0
0
0
0
0
0
0
5
-3
-20
46
20
35
8
-9
-7
-8
0
0
0
0
0
0
0
0
0
-17
3
2
32
5
-4
-6
0
0
0
0
0
0
0
0
0
-2
3
0
14
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
9
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-29
95
21
10
67
0
77
0
0
0
-2
12
-1
5
24
0
0
6
-24
-16
36
6
5
-38
0
0
1
0
0
1
-8
45
-5
95
103
-61
4
29
61
57
2
0
0
0
0
0
1
-8
-10
-14
7
101
17
11
4
32
102
51
0
0
0
0
2
0
-1
24
-70
32
-1
3
-8
-74
35
72
-13
0
0
0
0
0
0
-5
21
-2
-52
20
-29
46
47
-10
-15
-7
0
0
0
0
0
1
-2
-3
-72
-45
29
23
66
30
59
45
1
0
0
0
0
0
0
7
2
-2
-28
-7
4
-46
93
-6
0
0
0
0
0
0
0
-6
-2
-4
5
29
5
0
0
3
0
0
0
0
0
0
1
41
-47
66
42
0
0
-85
-23
2
9
-29
76
0
0
0
0
0
-12
42
7
-28
-103
98
3
22
4
33
25
57
26
0
0
-1
-1
20
-68
-29
-15
-59
-45
-52
-21
5
-12
30
-6
42
0
0
0
-5
-13
21
12
20
-116
-55
-70
-12
8
-31
28
1
-48
0
0
0
3
5
27
-45
-45
16
-18
-37
-37
-2
12
23
21
41
0
0
0
0
1
43
-45
20
49
-8
20
13
-57
-64
33
-52
2
0
0
0
0
-18
5
19
16
-38
34
21
13
-8
-39
-31
58
-50
0
0
0
0
8
41
-30
-110
-21
90
-2
-35
-25
-88
80
23
-1
0
0
0
0
-5
-29
56
-11
-43
11
77
-62
4
-25
76
0
0
0
0
0
0
0
-1
0
2
0
0
62
-32
-25
23
42
-31
-22
0
0
0
0
-5
0
2
8
7
50
1
-19
7
84
-36
-17
16
0
0
0
0
0
0
0
-25
0
11
54
1
3
69
44
30
23
0
0
0
0
0
0
0
3
33
64
26
-45
-8
41
-41
14
-7
0
0
0
0
0
0
0
-20
19
-10
23
46
-14
37
11
-34
-69
0
0
0
4
0
3
-4
2
5
-16
-46
14
28
-49
45
-1
31
0
0
0
0
2
0
0
2
-19
-21
-21
41
20
-23
-35
12
-12
0
0
0
0
0
0
0
2
18
-15
-17
42
-39
-9
-67
-83
20
0
0
0
0
0
0
1
2
-5
24
4
-32
63
30
5
-55
42
0
0
0
0
-1
0
0
-9
0
0
135
103
97
99
-24
-4
-4
0
0
0
0
0
-2
0
-42
10
80
0
67
72
69
66
99
-1
0
0
0
0
0
-1
-5
24
-13
79
16
81
48
-5
-42
-5
-51
0
0
0
0
0
-4
-1
6
17
2
59
88
-7
-40
77
12
-28
0
0
0
0
0
0
-4
-1
23
-31
27
-16
8
-4
-66
-10
42
0
0
0
-4
0
0
-2
7
-69
-49
46
-11
-40
10
-13
42
-93
0
0
0
0
-2
0
3
-1
-41
46
-9
-6
-41
19
28
-128
0
0
0
0
0
0
0
-24
-5
-42
49
16
17
67
-79
17
-44
-20
0
0
0
0
0
-4
0
0
30
16
-1
-9
24
-22
33
0
0
0
0
0
0
0
0
0
5
0
0
-5
89
-6
4
-41
-61
27
0
0
0
0
0
6
10
0
29
0
-85
-12
-117
94
106
31
-25
0
0
0
0
0
-1
4
92
173
120
72
67
-100
-137
16
115
14
0
0
0
0
0
-1
16
35
76
79
2
-37
-49
-36
-49
33
41
0
0
0
0
3
0
5
-16
-30
3
-2
18
9
-61
-5
9
-1
0
0
0
0
0
-2
4
-5
-56
51
84
30
-50
1
1
0
0
0
0
0
0
0
-4
-2
29
98
-3
36
51
-21
-21
31
-16
-2
0
0
0
1
0
0
-42
55
50
49
27
-44
-8
21
0
-14
0
0
0
0
0
0
0
0
6
-5
51
-17
7
-3
-1
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-63
41
41
27
-17
-6
0
0
0
0
0
0
0
0
0
52
0
-8
53
-19
-41
4
33
0
0
0
0
0
0
0
0
0
25
57
-2
-37
-1
-63
24
84
0
0
0
0
0
0
0
0
0
0
10
2
33
29
-52
25
16
-3
0
0
0
0
0
0
0
-3
1
71
84
70
-4
55
-37
-22
-6
0
0
0
0
0
0
0
2
1
8
41
-42
44
37
7
22
4
0
0
0
0
0
0
0
0
7
17
25
-5
35
154
59
0
-3
0
0
0
0
0
0
0
-1
8
5
14
-24
42
-22
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
14
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
-8
-67
13
-33
33
9
0
0
0
0
0
0
0
2
0
-13
5
40
66
-31
48
-49
-27
0
0
0
0
0
0
0
0
-9
2
7
18
-19
19
0
-23
31
0
0
0
0
0
0
0
2
0
1
32
-33
-6
-66
61
4
-20
0
0
0
0
0
0
0
0
0
0
45
-17
29
-1
-16
8
-30
0
0
0
0
0
0
0
0
0
1
22
0
12
-34
13
-12
1
0
0
0
0
0
0
0
0
0
0
6
42
27
64
-24
13
0
0
0
0
0
0
0
0
0
1
0
-1
0
13
-10
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
68
0
0
-1
-40
51
98
-56
34
-22
0
0
0
0
0
0
0
3
-13
47
23
1
14
8
-32
-37
8
0
0
0
0
0
0
0
25
5
-33
-1
23
11
58
42
20
58
0
0
0
0
0
0
0
0
0
0
9
-4
-14
63
-26
1
43
0
0
0
0
0
0
0
0
0
0
-6
-6
-31
-13
-42
-13
25
0
0
0
0
0
0
0
0
0
0
-1
-4
-57
-5
70
-86
3
0
0
0
0
0
0
0
0
0
0
-1
22
-14
21
-28
22
42
0
0
0
0
0
0
0
0
0
0
0
-66
-8
-77
-10
-11
-19
0
0
0
0
0
0
0
0
0
0
0
6
1
-58
-26
14
4
0
0
0
0
0
0
0
0
0
0
0
-1
9
37
-11
2
-8
0
0
0
0
0
0
0
0
-1
0
1
-40
-26
53
-95
9
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-8
45
20
13
0
0
0
0
0
0
0
0
0
0
0
0
8
1
27
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-15
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-19
-43
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
10
-49
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
40
49
-12
-6
0
0
0
0
0
0
0
0
14
-3
8
-6
14
12
-59
46
-8
0
0
0
0
0
0
0
0
0
0
2
13
-13
1
-100
-52
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-64
8
69
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-57
30
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-54
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
23
-49
15
0
0
0
0
0
0
0
0
0
0
0
0
-28
22
9
-46
5
17
0
0
0
0
0
0
0
0
0
2
0
0
0
-44
71
-14
-8
-2
0
0
0
0
0
0
0
0
0
0
2
0
1
-5
19
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
17
0
0
22
69
2
10
-53
-14
-63
0
0
0
0
-1
2
3
31
70
13
28
28
30
97
-32
-65
-45
0
0
0
0
0
5
2
68
66
-7
-24
-9
20
55
48
17
54
0
0
0
0
0
0
1
25
-8
42
10
18
0
-4
-66
46
16
0
0
0
0
0
0
0
8
-47
38
-59
-12
11
73
-28
32
-5
0
0
0
0
0
0
0
0
-18
13
31
-83
-4
-29
27
-5
-8
0
0
0
0
0
0
2
-9
12
-20
24
-5
-8
8
-24
-1
-7
0
0
0
0
0
0
0
-2
41
-44
3
-45
-7
-72
-5
-16
0
0
0
0
0
0
0
0
0
8
5
-9
-2
5
-5
-24
-6
12
0
0
0
0
0
0
0
0
0
0
-21
-42
14
34
67
-21
46
0
0
0
0
0
0
1
-1
24
-52
30
-21
-47
29
-8
31
-37
0
0
0
0
0
0
0
-5
27
-19
28
-5
39
0
18
-32
-11
0
0
0
0
0
0
0
0
8
24
-13
-57
70
7
-57
-22
-17
0
0
0
0
0
0
0
0
31
19
8
-31
-59
-75
-38
20
47
0
0
0
0
0
0
0
0
-1
-44
32
5
1
-64
-25
-2
17
0
0
0
0
0
0
0
2
12
13
0
-41
2
25
-31
25
29
0
0
0
0
0
0
0
-1
49
-55
-5
-6
-1
-36
-116
-86
-4
0
0
0
0
0
0
0
1
-33
7
-6
-3
-2
-31
27
3
14
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-34
27
0
0
-32
-4
109
19
9
-19
0
0
0
0
1
0
34
72
95
-40
53
0
19
-46
-102
-9
17
-2
0
0
0
3
-7
33
-50
-38
47
-48
18
-73
15
51
4
-16
-7
0
0
0
0
16
-5
47
31
17
13
5
-17
-47
1
17
9
-1
0
0
0
0
-4
0
5
-13
-85
-5
39
-49
-47
50
-68
30
-1
0
0
0
0
0
0
-1
-49
-95
2
-7
18
-4
3
24
-6
0
0
0
0
0
0
0
-1
-20
21
-60
-26
-50
46
64
2
1
0
0
0
0
0
0
0
-3
-7
-23
-35
20
-5
44
-15
10
34
0
0
0
0
0
0
0
25
-8
-64
-68
-30
-1
-1
-2
0
0
0
0
0
17
-81
7
4
1
-11
0
0
-46
-1
47
74
-44
-6
0
0
0
-21
-49
18
-2
-25
11
7
8
7
6
38
26
53
5
0
0
0
-22
-14
46
-43
-33
21
4
-28
-11
23
65
34
72
-41
0
0
0
21
-3
65
-14
-31
-19
-2
-2
12
-9
18
-17
-43
-24
0
0
0
14
-20
-2
-40
-7
8
-9
8
-15
-2
-43
54
31
18
0
0
0
-5
-28
5
-12
-22
15
-2
-6
-8
3
-15
-73
-26
-12
0
0
0
-22
-4
4
-28
-39
14
-2
9
-9
-22
-3
63
-92
8
0
0
0
-28
6
52
-28
6
16
-11
-1
-7
11
4
-2
-9
0
0
0
0
11
-43
10
-14
-32
-20
10
10
9
-13
-27
-7
28
-3
0
0
0
0
0
-1
6
-9
-69
0
0
115
86
14
56
-1
0
0
0
0
0
0
4
3
-18
20
-88
-71
24
-29
-66
41
-1
0
0
0
0
0
0
0
2
-49
49
-48
-71
-30
-30
37
-31
0
0
0
0
0
0
0
0
0
-12
32
-23
13
-56
37
35
15
0
0
0
0
0
0
0
0
-2
10
-13
14
-47
69
-7
-8
17
0
0
0
0
0
0
0
0
0
2
-2
9
-8
-24
-6
24
14
0
0
0
0
0
0
2
0
-3
2
74
17
-17
28
-79
52
-42
14
0
0
0
0
0
0
0
-8
2
2
25
-20
-1
87
42
-3
0
0
0
0
0
0
0
-6
0
-1
2
-23
46
-42
35
6
0
0
0
0
0
0
0
0
0
84
51
-8
0
0
8
26
73
107
1
0
0
0
0
0
1
-15
11
-116
27
-13
-7
29
-4
-7
-21
5
0
0
0
0
0
0
41
5
10
23
-6
-22
135
33
69
55
-24
0
0
0
0
0
0
-24
22
46
-32
-40
28
-60
1
-59
41
10
0
0
0
0
0
7
1
0
-16
-9
-35
-27
30
-69
8
-10
-1
0
0
0
0
0
0
13
13
-22
-98
-59
-52
-62
-33
48
1
0
0
0
0
0
0
6
-18
-25
-42
-50
-53
25
27
63
38
-15
-1
0
0
0
0
0
-13
6
11
-17
-42
31
13
-36
-66
-6
-100
0
0
0
0
0
0
0
6
15
-17
-42
-40
-42
-40
-13
17
25
0
0
0
0
0
-3
0
-1
-3
-3
-63
0
0
66
-51
45
-79
-7
-13
46
0
0
0
0
-2
-40
-69
62
61
77
64
1
9
45
39
-46
-24
0
0
0
0
20
-27
21
-41
-82
-6
49
12
-58
51
102
-53
-41
0
0
0
0
0
-5
-91
-8
-16
36
48
0
85
85
0
-109
-5
0
0
0
1
-2
3
-47
-19
-2
59
-6
-19
-21
-4
-7
-15
0
0
0
0
0
-1
8
-9
-61
-5
-15
-26
81
-47
8
15
-4
-3
0
0
0
0
0
-2
-3
6
-56
22
72
-69
21
-17
-20
3
6
0
0
0
3
4
-2
-39
-47
-12
-32
-58
-43
12
26
2
-46
0
0
0
0
0
0
2
3
-35
-56
-9
-87
-24
-35
-1
0
6
0
0
0
-1
0
0
-15
4
0
0
0
76
-31
169
-11
54
7
53
0
0
0
0
0
0
16
-30
7
-5
20
127
-53
31
-13
3
-35
0
0
0
0
0
-17
-49
-10
52
69
79
84
38
56
9
35
12
0
0
0
0
0
0
-39
-1
10
10
49
19
12
58
5
-18
-9
0
0
0
0
0
-1
54
-59
22
-19
-4
0
-34
101
42
-1
1
0
0
0
0
1
-4
-58
-34
-23
-67
41
-5
1
-28
1
17
0
0
0
0
0
1
14
0
-4
53
21
26
16
2
4
0
20
-12
0
0
0
0
0
0
-41
19
-29
-42
32
-5
13
48
-3
-9
0
0
0
0
0
0
2
42
-22
0
-84
40
-16
31
0
0
0
0
0
0
0
0
1
5
-17
-25
0
0
15
66
-63
8
45
51
25
0
0
0
-1
0
-2
15
-13
-35
44
-54
44
34
2
58
-7
-12
0
0
0
0
-1
8
118
-25
98
59
-90
30
-4
-5
-45
-42
-2
0
0
0
0
0
-1
11
5
29
-37
-47
-18
71
49
-83
-66
5
0
0
0
0
0
8
20
49
48
-9
0
-22
7
18
-41
31
-31
0
0
0
3
-16
14
-19
-2
74
24
-17
-41
18
46
7
-24
-5
0
0
0
1
-20
30
-55
13
-19
11
22
18
33
13
9
-22
-5
0
0
1
-3
5
19
-13
-24
-27
31
-11
67
-3
6
-49
8
0
0
0
0
14
-20
-71
-35
21
-8
31
-80
-12
20
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
4
9
12
4
0
0
0
0
0
0
0
0
0
0
0
4
-25
-9
5
-7
9
2
0
0
0
0
0
0
0
0
0
0
-14
17
-22
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-8
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-63
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
3
0
2
0
0
0
0
0
0
0
0
0
0
0
6
-3
-14
15
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-17
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-24
0
-2
9
14
7
0
0
0
0
0
0
0
0
0
0
-3
1
-5
-4
1
-6
4
0
0
0
0
0
0
0
0
0
0
-2
0
-10
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
-13
5
42
0
0
0
0
0
0
0
0
0
0
2
9
16
0
-17
-2
19
41
-5
-8
-4
1
0
0
0
0
0
6
-2
0
-6
27
15
-63
-24
-19
4
-2
-1
0
0
0
0
0
1
1
5
-2
-7
-7
-7
-7
-8
5
1
1
-1
0
0
0
0
0
9
-3
3
0
-2
0
0
1
3
0
0
0
0
0
0
0
1
-2
6
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
17
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
28
20
-56
-112
1
0
0
1
-1
0
0
0
0
0
0
1
-63
-15
50
-51
-31
-55
46
22
32
-5
-6
-1
0
0
0
0
29
-39
-106
2
40
26
-78
-27
57
41
20
-12
-1
0
0
0
0
7
6
5
42
-1
45
-22
48
-3
-1
7
7
0
0
0
0
0
-2
14
31
-41
82
-16
-54
50
8
5
10
5
0
0
0
0
0
-1
4
7
-8
-22
21
13
-41
46
7
-2
0
0
0
0
0
0
2
8
-15
-14
-2
-22
17
-25
-20
13
0
0
0
0
0
0
0
0
-7
25
-14
-49
-8
7
-16
41
8
4
0
0
0
0
0
0
0
-6
23
-38
-53
0
-41
14
2
-4
0
0
0
0
0
0
0
0
0
-24
-16
14
-8
34
0
0
0
0
0
0
0
0
0
0
0
1
14
11
-5
-12
46
5
-34
10
-33
-7
0
0
0
0
0
0
0
-7
6
12
-12
-12
30
-5
3
17
2
0
0
0
0
0
0
0
-3
5
5
-8
-1
0
24
-16
4
1
0
0
0
0
0
0
0
0
-4
9
5
1
-14
-12
-4
-12
0
0
0
0
0
0
0
0
-8
25
14
12
-3
5
-9
1
-1
0
0
0
0
0
0
0
2
0
-2
3
1
-1
-4
4
-2
-1
0
0
0
0
0
0
0
0
-1
-5
0
2
-6
-8
5
6
-1
-2
0
0
0
0
0
0
0
0
-4
-5
0
1
-8
-3
-2
0
0
0
0
0
0
0
0
-2
-3
30
-31
-23
12
0
0
0
0
0
0
0
0
0
0
0
-1
27
5
47
-38
2
41
43
-28
-13
-1
0
0
0
0
0
0
1
14
-19
-10
-35
-16
-20
5
1
-1
-1
0
0
0
0
0
0
0
1
19
-2
-13
23
5
-1
1
0
0
0
0
0
0
0
0
1
2
-10
10
-16
0
34
3
-1
0
0
0
0
0
0
0
0
-1
-8
-5
-1
2
6
2
8
-24
-3
0
0
0
0
0
0
0
0
13
8
12
-7
-13
-24
7
-4
0
0
0
0
0
0
0
0
-1
-13
7
4
-7
-2
8
2
0
0
0
0
0
0
0
0
0
2
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
41
-5
2
13
55
43
0
0
0
0
0
0
0
0
0
0
0
5
12
5
9
22
-59
15
3
13
1
-1
0
0
0
0
0
-1
-24
-22
-5
5
-30
-2
-20
13
-5
1
0
0
0
0
0
0
-1
6
8
13
-7
8
9
-7
0
0
2
0
0
0
0
0
0
0
1
0
-4
0
-3
-16
0
0
0
1
0
0
0
0
0
0
2
0
5
1
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
-14
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-8
24
10
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
18
-1
-31
12
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
1
3
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-19
13
21
9
-2
0
0
0
0
0
0
0
0
0
0
0
-3
31
10
29
-16
-3
-1
0
0
0
0
0
0
0
0
0
0
-5
13
9
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
35
-15
-3
-1
1
-3
1
0
0
0
0
0
0
0
0
0
-9
25
-17
-3
1
1
-1
0
0
0
0
0
0
0
0
0
0
6
-14
-7
1
6
-1
0
0
0
0
0
0
0
0
0
0
0
1
-10
14
13
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-25
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-5
17
5
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
17
-9
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
0
0
0
0
0
9
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
-5
4
5
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-22
17
15
0
0
0
-3
0
0
1
0
0
0
0
-1
-8
0
-3
0
2
-13
0
-21
-3
0
0
0
0
0
0
0
0
-1
0
5
1
-13
21
-12
-9
0
0
0
0
0
0
0
0
-1
1
2
-1
12
-17
6
10
8
1
0
0
0
0
0
0
0
0
0
0
-9
-6
5
5
2
-12
-1
1
0
0
0
0
0
0
0
0
1
4
2
-1
-1
3
1
0
0
0
0
0
0
0
0
0
3
-7
-10
-4
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-2
7
1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
0
0
0
-10
9
1
0
0
0
0
0
0
0
-1
2
-1
7
-1
-14
5
25
3
0
0
0
0
0
0
0
0
0
2
-1
8
-15
13
1
-10
6
0
0
0
0
0
0
0
0
0
-2
0
0
8
-27
49
-5
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-20
1
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
-1
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-18
13
4
14
8
-11
0
0
0
0
0
0
0
0
0
0
0
1
-50
-27
-9
2
70
0
0
0
0
0
0
0
0
0
0
0
19
56
10
-19
51
13
5
1
0
0
0
0
0
0
0
0
0
19
-4
36
9
-31
31
12
26
-2
0
0
0
0
0
0
0
0
0
-23
-7
-36
8
4
18
-4
15
0
0
0
0
0
0
0
0
20
-31
-41
28
-48
0
2
0
25
0
0
0
0
0
0
0
0
-25
18
22
-16
24
-11
-10
-7
-6
2
0
0
0
0
0
0
0
-10
11
9
-33
6
-40
-17
1
-4
0
0
0
0
0
0
0
0
0
-15
54
-9
5
4
8
1
-4
-1
0
0
0
0
0
0
0
-16
-12
12
12
-2
7
0
0
0
0
0
0
0
0
0
0
0
24
15
14
-38
-20
40
0
0
-14
2
-6
0
0
0
0
0
0
-14
8
-6
-30
8
0
-22
14
5
-5
0
0
0
0
0
0
0
-9
6
10
-8
21
-42
2
20
2
8
0
0
0
0
0
0
0
-4
-5
-1
9
7
-7
3
-8
3
0
0
0
0
0
0
0
0
5
5
7
-1
5
8
-1
-1
0
0
0
0
0
0
0
0
0
29
-24
-31
0
-5
-7
-1
0
-3
-1
0
0
0
0
0
0
0
0
-3
-8
-4
0
-1
1
-8
1
1
0
0
0
0
0
0
0
4
-1
-1
3
-4
0
1
0
-4
0
0
0
0
0
0
0
0
41
-13
11
-47
3
102
0
0
0
0
0
0
0
0
0
0
0
-20
-1
-48
79
-86
-44
-21
-5
28
6
1
0
0
0
0
0
0
45
-40
-2
1
35
46
-28
-11
-42
-22
19
0
0
0
0
0
0
-3
12
-22
-46
-43
-30
9
17
-5
28
-14
4
0
0
0
0
0
9
-18
22
13
54
46
-15
-10
13
-25
25
-1
0
0
0
0
0
17
13
13
-5
-25
43
5
-48
24
15
-11
-2
0
0
0
0
0
-8
3
-6
-7
51
15
-58
-4
22
15
-9
1
0
0
0
0
0
-6
-7
-8
20
-11
38
36
54
-25
29
-10
1
0
0
0
0
0
16
-30
43
11
40
-77
-5
-15
-2
12
13
0
0
0
0
0
0
-22
24
10
-33
-14
39
0
0
0
0
0
0
0
0
0
0
0
1
30
8
2
21
-8
-3
0
0
0
0
0
0
0
0
0
0
1
-8
-25
-5
12
19
-7
-3
0
0
0
0
0
0
0
0
0
0
7
-1
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-1
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
5
-9
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
43
31
-22
2
42
0
0
0
0
0
0
0
0
0
0
0
-28
20
23
109
0
29
28
2
-2
-2
0
0
0
0
0
0
-1
-9
-48
-5
-6
-5
-3
-12
-3
0
0
0
0
0
0
0
0
0
13
-28
-14
31
8
-4
15
-1
0
0
0
0
0
0
0
0
-1
-19
-19
-1
30
-4
-12
0
0
0
0
0
0
0
0
0
0
0
8
13
-35
-6
3
1
0
-1
0
0
0
0
0
0
0
0
7
-8
-1
-58
-1
1
1
0
-1
0
0
0
0
0
0
0
0
0
-25
-66
-5
-19
-7
0
0
0
4
0
0
0
0
0
0
0
-2
-1
7
-13
-8
2
0
1
0
0
0
0
0
0
0
0
0
-8
-31
5
5
-5
61
0
0
0
0
0
0
0
0
0
0
0
-10
-30
-20
-1
-55
66
0
9
0
25
0
1
0
0
0
0
0
-3
25
15
-5
9
-21
18
16
-14
-2
6
0
0
0
0
0
0
8
-8
5
-9
-17
1
18
-19
-17
-8
0
0
0
0
0
0
0
-18
8
-10
8
-25
5
-10
4
-1
2
-1
0
0
0
0
0
0
-3
0
21
-4
8
-3
-9
12
-3
0
0
0
0
0
0
0
0
-24
-4
-14
-26
13
-7
-8
3
0
0
0
0
0
0
0
0
0
-2
-5
-17
-1
-3
-17
-5
0
-1
0
0
0
0
0
0
0
0
0
-10
-19
10
2
-6
1
0
0
0
0
0
0
0
0
0
0
-1
3
-9
-13
24
3
42
0
0
0
0
0
0
0
0
0
0
-1
1
18
5
6
7
0
49
0
4
0
0
0
0
0
0
0
6
-39
37
-3
49
-16
45
13
-4
0
0
0
0
0
0
0
0
-6
25
-27
-3
-24
-15
0
-7
-15
0
0
1
0
0
0
0
0
0
7
-3
24
-8
-3
24
-1
0
6
0
0
0
0
0
0
0
-2
-14
8
0
-6
8
-1
0
0
0
0
0
0
0
0
0
0
1
5
12
-3
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-22
-11
2
2
-25
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-8
-24
0
0
-1
0
0
0
0
0
0
0
0
0
0
-21
-17
12
-13
17
9
0
0
0
0
0
0
0
0
0
0
0
1
57
30
74
-14
-10
5
0
-16
0
0
0
0
0
0
0
0
-20
22
-5
17
8
-21
12
19
-12
0
0
0
0
0
0
0
0
-10
-6
27
-13
3
6
-4
-9
0
-2
0
0
0
0
0
0
0
4
20
-25
-3
5
8
8
-6
3
0
0
0
0
0
0
0
0
8
-8
-13
4
6
-3
1
0
-6
0
0
0
0
0
0
0
0
7
-12
-17
35
2
0
0
7
2
0
0
0
0
0
0
0
0
-34
14
-5
0
-2
2
0
-8
8
0
0
0
0
0
0
0
0
-31
-26
-7
12
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
2
-23
16
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-34
-25
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
24
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
4
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-16
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-29
-30
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
35
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-1
-1
4
0
0
0
0
0
0
0
0
0
0
-5
-5
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
9
-4
39
-1
-12
-1
0
0
0
-1
0
0
1
0
0
0
20
-56
-15
15
-25
13
-17
0
0
0
0
0
1
-4
5
14
21
0
-35
-12
8
7
-29
0
0
0
0
0
0
0
-1
-1
17
-7
6
-17
-44
18
24
24
-4
0
0
0
0
0
0
0
3
-15
0
-7
-12
2
5
16
-3
-2
0
0
0
0
0
0
0
2
9
-7
5
4
1
-5
8
-5
0
0
0
0
0
0
0
0
0
-4
-13
6
4
1
4
12
0
0
0
0
0
-2
1
0
1
0
-1
-3
0
-2
-4
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-5
2
5
0
0
5
3
3
66
55
18
0
0
0
0
0
0
0
-8
47
-6
-64
36
-54
-7
-31
16
19
-5
0
0
0
0
0
0
-1
12
23
-48
-5
-12
-36
-14
100
0
-8
0
0
0
0
0
16
-12
5
-50
-14
-12
5
14
20
-25
-16
-31
0
0
0
0
0
-2
17
5
18
11
12
-23
-28
-28
-34
7
13
0
0
0
0
-1
0
7
-12
41
-22
-5
36
-23
-49
31
0
0
0
0
0
0
0
-1
-15
7
-13
34
-55
-56
-13
23
8
-14
0
0
0
0
0
0
3
-3
-5
5
98
-53
40
-57
13
31
-1
0
0
0
0
0
0
-1
5
9
14
60
9
-17
-5
-36
8
-3
0
0
0
0
0
0
0
0
0
0
0
25
-35
-20
-6
1
15
13
0
0
0
0
0
0
0
2
5
-18
34
32
-3
8
-20
-49
12
0
0
0
0
0
0
0
0
-8
-14
-19
9
-6
33
-32
0
1
0
0
0
0
0
0
0
0
0
-3
21
-4
-8
2
-28
5
-2
0
0
0
0
0
0
0
-1
1
1
-6
20
2
24
3
-2
4
0
0
0
0
0
0
2
0
1
-4
0
-2
4
-5
7
-32
5
0
0
0
0
0
0
0
1
-1
-1
0
2
-7
4
-5
0
-8
0
0
0
0
0
0
0
-3
0
5
-8
14
2
3
-1
4
0
0
0
0
0
0
0
0
0
0
1
2
-2
1
-3
7
-3
-9
0
0
0
0
0
0
0
-6
0
0
34
41
23
2
-23
-15
2
0
0
0
0
0
0
0
8
13
-7
0
-23
43
-9
-34
59
-15
0
0
0
0
0
0
0
0
0
-15
3
30
-5
-19
-1
27
2
0
0
0
0
0
-2
-1
0
-8
-18
19
51
-7
-24
-8
8
3
0
0
0
0
0
0
0
2
2
-9
10
-7
0
-22
-25
-9
-4
0
0
0
0
0
0
2
-4
-3
0
8
4
-17
2
1
14
-1
0
0
0
0
0
0
0
-1
-4
16
-8
8
19
-5
9
0
0
0
0
0
0
0
0
-4
0
-3
0
1
2
4
-18
-4
-1
0
0
0
0
0
0
0
0
0
1
0
3
0
-2
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
13
1
49
8
1
0
0
0
0
0
0
2
0
35
0
-46
-7
-9
37
-24
3
-2
0
0
0
0
0
0
1
8
47
-21
2
-9
-37
28
2
20
1
0
0
0
0
0
0
4
-1
21
-1
-6
8
-8
-9
-19
-1
0
0
0
0
0
0
0
0
0
0
3
-13
-2
2
-14
-7
6
0
0
0
0
0
0
0
1
0
-8
22
-12
-4
4
0
-1
0
0
0
0
0
0
0
-1
0
1
-7
14
8
0
-5
4
1
0
0
0
0
0
0
0
0
-6
1
7
10
8
3
-1
-8
1
-2
0
0
0
0
0
0
0
0
0
0
8
-2
1
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
5
-9
0
0
0
0
0
0
0
0
0
0
6
0
-4
9
-24
-1
4
0
0
0
0
0
0
0
0
0
0
3
8
0
-8
-8
-5
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
-4
-1
0
0
0
0
0
0
0
0
0
-1
0
0
8
-2
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-9
1
0
0
0
0
0
0
0
0
1
0
-8
3
-7
25
4
-20
-3
0
0
0
0
0
0
0
0
0
0
0
1
-3
19
0
6
0
-2
0
0
0
0
0
0
0
0
0
3
1
1
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
12
-29
-1
-3
0
0
0
0
0
0
0
0
0
-5
25
-10
32
3
8
31
1
0
0
0
0
0
0
0
0
0
-1
3
-3
21
37
7
29
13
0
0
0
0
0
0
0
0
0
0
-1
1
6
-15
70
-19
0
0
0
0
0
0
0
0
0
0
0
-2
4
15
-6
-7
4
9
0
0
0
0
0
0
0
0
0
0
-1
-8
-25
4
31
0
2
0
0
0
0
0
0
0
0
0
0
0
8
-12
4
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
43
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-13
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
23
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-10
12
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
24
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-1
0
0
0
-14
1
2
8
0
-1
-1
0
0
0
0
0
0
-2
0
2
-5
21
19
0
31
-9
-6
1
0
0
0
0
0
-1
0
5
0
1
-16
1
0
-9
4
-6
-1
0
0
0
0
0
0
0
0
0
2
-1
2
6
-21
-5
15
-3
0
0
0
0
0
0
0
0
0
1
-6
8
-4
5
0
3
0
0
0
0
0
0
0
0
0
3
-2
0
-1
14
-4
5
0
0
0
0
0
0
0
0
0
0
-4
4
-1
0
5
1
-2
-5
0
0
0
0
0
0
0
0
0
-5
3
0
1
0
-3
8
7
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-6
4
7
5
12
-1
0
0
0
0
0
0
0
0
0
0
9
1
2
13
25
-7
-17
0
0
0
0
0
0
0
0
0
-1
14
7
16
-4
-19
-9
-15
0
0
0
0
0
0
0
0
0
0
-1
-3
-6
19
-5
-14
-12
0
0
0
0
0
0
0
0
0
-1
0
-7
0
-5
-12
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
9
1
0
0
0
0
0
0
0
0
4
-7
0
-3
-5
-23
-3
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
2
-6
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-4
-45
0
0
-22
4
-16
8
-7
0
0
0
0
0
0
0
-19
30
8
13
57
29
6
-5
-1
8
-2
0
0
0
0
0
-6
8
1
15
-7
-28
31
-2
15
-13
0
8
0
0
0
0
0
0
-4
-1
19
-17
-2
-3
0
-17
-5
0
16
0
0
0
0
0
0
0
0
18
8
-5
5
-4
6
0
0
0
0
0
0
0
0
0
0
0
3
0
-12
-5
-1
-3
3
1
0
0
0
0
0
0
0
0
5
0
7
-5
0
2
7
3
3
0
0
0
0
0
0
0
0
0
-1
-8
4
-4
1
0
-5
0
-1
0
0
0
0
0
0
0
7
-1
-12
-16
0
0
0
0
0
0
0
0
0
1
-17
-13
-41
13
-19
0
0
-17
-44
-31
34
1
0
0
0
0
-2
6
24
-13
-47
28
-51
16
-10
-5
29
-11
-8
-3
0
0
0
5
-22
10
20
-24
17
5
-7
11
-39
49
-66
-6
-13
0
0
0
3
-3
28
-10
19
-3
13
-21
11
-1
-13
58
9
0
0
0
0
5
-13
18
-59
19
-14
-8
-23
59
-19
43
3
0
0
0
0
0
-1
15
-17
43
6
-5
30
17
-3
3
4
27
-2
0
0
0
0
-7
8
17
-44
-24
8
11
-11
58
-7
4
37
-6
0
0
0
0
-3
-13
-14
-32
-5
8
24
-34
17
4
58
4
3
0
0
0
0
1
-8
-8
-26
57
-44
-37
29
4
55
-23
-24
0
0
0
0
0
0
0
0
-3
0
0
0
0
35
23
13
0
0
0
0
0
0
0
0
1
0
0
12
47
-4
16
-9
-17
13
0
0
0
0
0
0
0
0
1
-4
3
16
-44
-33
0
2
4
0
0
0
0
0
0
0
0
2
-3
3
-13
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
7
0
-2
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
-2
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
7
-5
0
0
14
-23
-2
-4
0
0
0
0
0
0
0
0
1
-13
31
-1
4
6
9
0
-2
0
0
0
0
0
0
0
0
2
-8
-5
4
41
17
42
-6
-6
0
0
0
0
0
0
0
0
1
7
0
6
-31
10
22
2
-3
0
0
0
0
0
0
0
0
-1
0
19
-18
-25
29
0
8
-1
0
0
0
0
0
0
0
0
0
-9
-18
-28
-5
39
-2
8
0
0
0
0
0
0
0
0
0
-2
-2
-28
-22
3
-6
-8
-2
0
0
0
0
0
0
0
0
1
2
-13
-2
-14
35
-20
-8
8
-1
0
0
0
0
0
0
0
1
-1
0
0
8
-34
-31
10
9
0
0
0
0
0
0
0
0
0
-4
1
-37
0
0
-24
-4
12
-3
8
1
0
0
0
0
0
-2
0
-13
41
-44
18
25
-6
12
0
25
-20
-9
0
0
0
0
0
-8
0
-28
-49
7
13
7
5
8
-9
-24
-2
0
0
0
0
-1
0
-14
-19
-17
33
20
17
-3
-6
5
-16
-2
0
0
0
0
0
0
-3
-13
37
31
-4
-3
-7
-5
-6
4
0
0
0
0
0
0
0
-2
-2
-8
-5
-4
13
-7
-3
0
1
0
0
0
0
0
0
0
1
4
0
0
9
-12
12
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
-27
-7
3
13
2
0
0
0
0
0
0
0
0
0
-3
-9
8
-9
0
-2
0
0
0
0
0
0
0
0
0
1
3
6
0
0
10
-6
8
0
13
-3
2
0
0
0
0
0
0
15
-12
24
5
12
-9
2
8
-5
7
-2
0
0
0
0
0
-1
-4
0
-6
32
7
23
-10
7
6
7
0
0
0
0
0
0
0
-6
6
-4
-3
5
-2
-4
4
-2
0
0
0
0
0
0
0
0
0
10
0
39
-24
0
-6
-2
1
-2
0
0
0
0
0
0
-4
-3
8
-2
-4
4
4
-4
0
-2
1
0
0
0
0
0
0
-4
-8
9
-8
-1
-1
8
32
1
0
0
0
0
0
0
0
0
1
-9
-1
-4
13
-23
7
3
0
0
0
0
0
0
0
0
0
1
-3
-5
-37
-13
-5
1
2
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
4
0
1
23
2
2
0
0
0
0
0
-1
-27
0
-13
-5
0
0
0
-4
4
-6
2
0
0
0
0
0
3
7
-7
9
9
0
0
-17
8
3
-2
0
0
0
0
0
0
1
-2
10
-10
16
8
4
5
8
-8
-6
1
0
0
0
0
0
4
13
-15
-14
18
-9
-1
16
-1
-1
-3
0
0
0
0
0
-2
-1
2
13
-39
14
12
-2
1
-5
1
-3
0
0
0
0
0
-4
3
-8
22
15
18
17
0
-8
0
0
-1
0
0
0
0
0
7
5
-21
-7
-21
14
-8
18
-2
0
0
0
0
0
0
0
0
0
4
-18
32
-29
-10
-41
1
-1
0
0
0
0
23
-6
-6
0
0
10
-12
31
-1
0
-12
34
11
-8
0
-6
3
1
3
-1
76
-18
5
10
13
-8
16
8
-9
25
-7
5
-18
-4
28
3
1
2
-10
8
2
-4
0
0
-2
9
5
-5
0
0
5
19
32
-2
0
16
19
4
-2
0
20
31
23
10
0
-13
-15
-8
2
-3
-49
-5
21
27
1
26
-2
0
-13
20
3
0
0
-1
23
2
-4
0
0
-2
40
-8
2
0
0
-7
23
23
-1
0
6
9
-19
-3
0
-1
5
-19
8
-1
-11
0
20
-8
-4
-12
-3
-14
17
-9
-6
-3
12
-6
-18
5
1
0
0
37
2
-4
0
0
-2
-4
8
-3
0
0
-33
-36
42
0
0
14
14
3
-2
0
22
-9
18
1
0
11
13
29
-28
-2
-23
-3
-4
-1
23
5
-1
0
-1
-6
8
0
-1
2
3
2
-12
0
26
-1
32
13
-1
0
0
7
5
22
0
0
-1
11
24
-1
0
-5
-9
-22
-5
0
-13
27
17
1
10
-15
11
-14
43
19
-1
1
1
-22
13
8
4
4
1
-10
1
5
1
-11
-2
39
17
-22
-4
0
4
36
-13
-1
0
-10
24
-11
-1
0
-5
5
27
7
0
0
29
13
4
13
-10
-16
-9
0
10
0
-5
4
11
-5
-1
0
1
0
1
2
12
-1
2
-2
39
17
-22
-4
0
-11
-22
-4
0
0
-3
-1
25
-1
0
-19
3
-2
2
0
1
29
-15
-7
1
-13
25
15
-16
6
-4
0
0
2
-5
14
0
2
0
1
5
8
2
-4
-2
39
17
-22
-4
0
11
2
8
0
0
6
-5
8
-1
0
2
18
16
-10
0
-9
18
-15
-2
-13
0
-19
21
-27
18
-6
-5
0
1
0
4
1
1
1
8
5
-6
5
0
-5
50
12
3
0
0
6
-10
41
1
0
23
-18
-19
1
0
30
0
-30
-3
1
-31
33
19
-17
-10
-5
-9
55
-9
5
11
-3
-4
-2
14
-10
0
-2
1
2
0
0
0
0
0
-21
8
3
0
0
-15
13
-17
0
0
20
56
8
1
0
-6
-3
3
-3
0
9
-2
0
16
13
10
5
0
33
5
0
0
-41
5
-4
13
0
0
1
4
0
0
0
0
0
2
16
-3
0
0
-1
-19
64
-1
0
1
4
-4
5
0
0
-26
-8
2
1
-2
23
-12
8
-8
-9
3
-13
-49
5
-71
-3
-1
3
17
-25
3
4
1
22
0
0
0
0
0
29
-6
2
0
0
9
13
4
0
0
-12
13
-1
-5
0
9
32
-19
-2
0
2
6
6
28
-7
-8
-16
13
-9
-23
-36
-2
-6
-14
26
2
0
7
-2
-13
37
-4
12
-7
1
1
-13
-1
-1
0
1
21
18
0
0
1
7
-3
1
0
1
2
26
1
0
2
10
-25
20
-3
31
-13
42
-49
-9
32
1
1
30
-3
0
0
-4
-2
11
-19
-17
-20
3
-2
0
0
0
0
0
0
-24
39
-3
0
-6
-21
31
0
0
-27
-4
-10
-2
0
-15
-39
3
-13
-9
-23
26
7
30
31
6
29
27
-12
5
22
-7
12
4
4
8
-58
2
0
2
0
0
0
0
0
14
23
22
-5
0
46
39
-7
0
0
-29
-15
-13
0
0
17
-30
34
20
-8
-63
-15
17
49
-8
-7
-19
-39
-40
5
0
-9
2
-4
3
-75
4
-13
7
-2
0
0
0
0
0
0
9
31
-5
0
1
11
-4
3
0
0
-30
-23
7
0
2
-1
25
24
13
3
6
-29
11
5
52
-2
-5
-10
-2
4
7
-10
3
-5
2
-2
1
-5
8
-42
13
3
0
0
-1
5
-2
0
0
5
7
14
0
0
8
-34
8
0
0
1
28
21
12
0
-3
-30
-26
35
0
-3
-16
2
6
-5
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
10
-6
2
0
0
-18
-13
23
0
0
7
-4
1
1
0
-21
0
48
1
1
24
-30
-25
-39
-3
-11
-1
4
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-49
0
0
0
1
28
0
0
0
0
31
-6
0
1
-1
5
5
0
24
-41
7
36
9
19
-20
-4
-14
-1
0
0
0
0
0
0
0
0
0
0
-8
-5
0
0
0
-10
49
3
-1
0
8
-8
-5
0
0
-24
-54
0
3
0
11
30
-27
30
12
7
6
-13
1
-7
-16
1
23
7
-47
-54
-2
6
-5
-16
1
14
-26
-31
2
0
0
-14
0
0
0
0
-10
0
0
-1
0
-7
0
0
0
0
11
2
0
0
0
5
-5
3
5
-2
-5
18
-13
-38
-13
17
7
6
-92
5
-1
11
-2
-2
18
-6
3
0
0
0
0
0
0
0
0
0
0
0
29
5
-8
-6
0
-1
2
2
5
0
9
-8
10
10
5
25
10
-16
9
-8
-29
8
5
13
33
-26
-33
-5
-15
-40
-8
15
-4
-6
4
0
0
0
0
0
0
0
0
0
0
-10
-9
0
-9
0
21
6
2
0
0
-5
-2
5
-13
1
66
-47
11
-2
-34
12
-41
8
-42
21
-50
-31
-43
-27
13
-65
-4
-19
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-8
0
0
1
-5
3
0
-2
0
-12
12
8
-37
15
-4
-40
-52
40
-13
6
14
-8
-77
-13
-21
-9
25
23
59
-6
-31
22
1
-1
0
0
0
15
4
-2
0
0
-3
1
-4
0
0
4
0
0
3
0
-2
-10
-2
1
-3
-8
-19
-3
-5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
10
-8
2
0
0
0
-28
-2
0
0
1
6
-4
0
0
0
22
-3
-2
0
-2
41
-6
-36
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
-8
0
0
0
0
-4
0
0
0
0
21
20
-7
24
-9
-21
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
4
-8
4
0
0
-3
-3
5
0
0
-8
21
5
1
0
8
-15
-4
4
0
-9
-76
-32
26
-2
-9
-17
-25
19
41
-34
3
-13
5
39
-66
-63
0
0
1
1
0
0
0
0
0
-1
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
2
2
-25
8
0
1
-3
17
29
41
9
43
-5
4
1
16
17
-34
-41
12
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
-7
-5
-1
13
12
1
5
-2
0
-63
-10
-68
-10
-14
5
23
8
-21
-22
5
24
-19
-40
-20
-26
4
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
13
27
0
0
-12
8
1
1
0
41
67
-60
-24
2
21
-6
29
75
16
-87
11
-50
-32
-78
26
-48
-13
-34
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
0
0
0
0
-5
-6
-4
-15
-17
46
0
1
-59
16
19
5
43
3
-69
-2
-7
-13
-11
41
3
-11
0
2
0
0
0
-10
-1
1
0
0
-3
0
0
0
0
0
2
0
-1
0
-15
-7
-17
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
-2
0
0
0
-2
1
0
0
0
2
-46
0
0
0
41
7
-20
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-15
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
13
-18
0
0
0
-6
6
1
0
0
-2
1
0
0
0
-22
-25
-3
-1
2
13
-7
-17
-6
7
25
14
83
51
-23
-45
-25
-3
10
-5
-54
-20
6
11
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-14
-2
-5
-3
-24
5
7
-50
-49
22
-46
14
0
15
-69
-13
15
-15
-6
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
30
-16
12
-3
-23
-42
43
-43
-21
18
-8
-56
-5
6
53
-17
11
2
-7
-4
-6
-8
19
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
21
-8
9
7
-32
-27
-27
-31
8
50
72
73
-14
-6
12
57
23
-5
-24
-41
25
27
-50
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
7
0
0
0
20
43
17
-6
-24
-42
10
-7
24
-49
-3
9
14
-26
57
5
15
-33
-4
1
0
0
0
0
0
0
0
0
0
1
-2
-3
0
0
-31
15
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-10
25
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
0
3
0
0
0
0
4
1
0
0
0
1
-2
0
0
0
1
8
-7
-7
0
2
-10
26
-25
0
-7
-58
-16
34
0
-49
-7
22
2
0
20
-2
3
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
0
-4
-44
0
-2
9
17
-20
0
-84
3
-27
5
0
-51
6
-55
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
3
43
17
0
-2
-1
43
-1
0
41
-9
19
19
0
-63
39
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-38
2
13
7
3
95
6
42
7
-13
-45
24
-31
7
7
-106
5
47
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-11
-13
13
0
8
41
-2
-5
0
23
2
41
-18
0
5
-6
4
-31
0
0
0
0
0
0
-1
0
0
0
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
10
0
0
0
0
0
0
0
0
3
1
0
0
-7
-2
6
0
0
0
-10
-25
0
0
8
-14
-37
0
0
0
-10
-10
0
0
-24
1
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
-7
0
0
-6
-56
9
0
0
-46
11
5
0
0
-16
-71
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-1
-21
0
0
-17
-23
48
0
0
26
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
48
127
-1
-20
-25
-48
25
-9
-11
-1
-1
36
-23
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
82
32
0
0
-30
-16
-1
0
0
-5
-2
11
0
0
0
-1
0
0
0
-4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
-3
0
0
0
-1
30
0
0
0
33
-12
0
0
0
19
-16
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
66
0
0
0
21
14
0
0
0
27
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-47
0
0
0
-63
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-49
26
-39
-41
-5
9
34
-10
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-32
0
0
0
4
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
-23
0
0
0
0
-13
0
0
0
0
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
27
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-78
-31
-87
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
0
0
0
0
36
-53
13
51
-4
27
-16
10
-34
21
-20
39
43
-25
-24
-10
22
-12
-2
28
-19
20
-12
-28
-47
9
6
-2
14
-12
-18
-7
-9
-7
11
2
1
-7
7
6
-1
-10
-1
-1
-3
46
15
26
-5
3
7
0
15
-30
-43
38
20
38
0
6
-4
21
25
-9
5
-12
-6
-12
11
42
13
13
-3
11
2
4
-8
-1
13
4
1
0
-6
3
18
-1
-10
-1
-1
-3
51
40
19
-27
-2
-2
38
32
22
-9
7
24
-7
9
17
2
-3
1
39
-3
-6
11
17
21
10
3
-10
0
-15
-7
-6
-9
5
5
7
4
1
3
3
20
-1
-10
-1
-1
-3
20
25
4
20
0
1
-2
30
6
-9
0
21
10
5
8
18
3
21
7
1
-5
3
14
20
-19
-7
8
-12
3
5
-3
6
-7
-9
-8
10
3
-1
14
10
4
-23
-12
-10
-5
45
2
35
28
3
-2
36
-5
-26
5
-5
25
6
2
16
0
6
6
-22
25
-9
13
-13
10
9
4
1
14
6
-14
-1
-10
1
1
-3
3
0
7
1
1
3
-4
0
-14
-5
15
14
3
6
-2
43
-11
-11
-8
12
-6
33
11
-8
34
25
23
44
42
-6
-4
11
4
3
-9
-13
15
-3
3
32
-13
1
-1
-3
1
5
3
1
-4
2
8
7
-9
-6
-1
15
14
3
6
-2
14
14
20
-20
-13
-22
37
33
3
-5
-3
2
6
14
9
-7
17
12
22
-19
-6
31
6
0
1
0
2
-6
2
2
6
2
2
1
7
3
27
1
5
-1
15
14
3
6
-2
14
-2
30
-31
31
4
16
4
3
7
-3
18
24
-54
0
-6
9
45
17
37
9
16
2
-10
17
-2
0
-6
-1
-12
3
-3
2
4
3
0
-3
-12
-1
2
25
48
77
-46
0
38
-3
52
7
2
-27
5
-4
46
-8
-16
4
-41
-19
12
22
13
-2
-17
50
23
-6
-7
-11
-4
-9
9
7
10
22
-12
-1
2
2
0
0
0
0
0
0
12
15
5
0
-13
31
15
20
-50
30
19
-7
-4
-21
8
-14
3
13
48
9
-4
23
11
22
-8
13
-7
14
6
38
-1
5
-3
2
-5
-3
-2
-2
1
0
0
0
0
0
0
24
5
-23
5
2
3
-7
49
-42
-11
-17
10
11
6
31
-25
10
9
9
-16
8
6
4
-19
-36
-1
13
-11
-33
14
18
-6
-11
7
15
-16
-1
-3
1
-4
0
0
0
0
0
35
14
82
-26
2
0
-28
-22
20
-26
36
7
-10
-37
-13
-1
32
-30
-24
-17
31
23
-2
33
-9
6
1
16
28
12
9
-8
3
-6
-5
12
0
7
19
2
-53
-10
-3
-16
0
-1
-30
5
-40
1
-17
-8
1
-1
-65
48
4
52
9
-5
1
25
-15
69
5
50
-6
-6
11
16
3
4
-1
10
16
-15
1
-5
10
22
-17
3
-1
13
4
-21
-4
-10
5
-16
0
0
0
0
0
-3
-7
17
-9
20
-7
-25
18
8
-11
-49
15
-31
-58
-42
-8
-12
-22
2
-9
19
0
-9
6
-27
7
-10
-8
-12
-4
6
1
7
27
13
40
21
7
7
-18
0
0
0
0
0
13
-12
6
-7
19
40
41
20
2
-29
2
14
30
-8
-22
49
5
30
34
0
58
7
2
15
34
-2
9
5
18
3
3
7
6
7
12
9
-8
-16
-1
-4
0
0
0
0
0
12
-4
-15
0
-22
1
26
23
53
-6
106
-5
-117
-10
22
34
6
-9
67
20
-20
4
-11
29
13
1
2
11
-20
4
24
10
0
24
6
43
2
5
-6
-11
14
75
21
-36
0
-10
56
-35
-51
20
-22
23
-32
5
3
22
49
49
2
9
-12
4
49
84
20
-52
19
-41
3
29
19
-9
0
-8
-9
0
0
0
0
0
0
0
0
0
0
-78
-15
-13
-18
-4
5
17
-18
37
-45
-14
-12
58
-46
12
56
4
20
4
-6
-29
-13
45
-19
41
4
11
-25
18
-16
-12
-10
-2
-10
-8
0
0
0
0
0
0
0
0
0
0
-4
-7
-2
42
3
5
3
-28
-16
0
-1
30
8
75
-15
-3
-1
-20
-41
40
-7
13
-19
-10
-2
-16
7
10
12
-1
-12
-19
13
-8
-1
0
0
0
0
0
0
0
0
0
0
-3
-13
-45
-22
-1
64
97
-20
44
0
33
-68
79
1
5
-7
-45
-51
15
-11
37
40
-52
-1
-4
-36
4
2
24
31
-11
15
6
10
5
26
10
-3
0
41
-10
40
-4
11
-7
-2
0
-32
5
0
-9
1
-4
56
5
21
-58
-31
-26
9
28
-37
-12
-19
-44
-25
88
-7
10
7
82
24
-30
19
9
-6
3
5
14
0
-24
6
5
17
27
-19
67
-13
-2
14
0
0
0
0
0
0
0
0
0
0
9
14
4
0
-12
-52
-29
36
13
7
-61
4
26
16
-5
8
-17
-7
21
-26
27
17
-4
10
31
-29
-10
-11
28
-28
-4
-6
-14
15
14
0
0
0
0
0
0
0
0
0
0
-20
-7
-12
4
24
38
-5
23
6
-2
-47
38
6
-43
38
0
-9
-6
-57
4
-39
-23
-2
-19
29
-39
-69
-21
-35
-45
-19
0
-8
-24
-1
0
0
0
0
0
0
0
0
0
0
-11
-42
-7
-29
-2
5
21
16
75
-1
-73
-28
-10
-56
31
-87
7
15
-19
-92
20
4
7
9
42
-26
-2
-5
-18
-2
7
7
-6
8
36
-3
-26
-4
19
0
16
8
-7
-35
-4
-35
27
9
-14
13
37
-35
2
-19
-8
27
-1
41
17
-5
-30
8
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
74
64
3
2
-49
12
-2
57
-2
-7
49
26
71
-20
-57
12
3
-16
0
-122
-40
-66
48
-17
-13
-12
-1
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
14
0
0
3
-23
-22
-25
-2
4
13
-75
-18
5
2
-3
-41
0
-3
-14
-2
20
26
-16
-7
-38
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-5
22
44
-1
14
19
25
13
1
-37
96
-18
-13
-6
40
-11
42
-30
15
19
-2
-2
11
0
32
-15
-33
-7
-38
34
-23
11
28
20
2
1
10
-4
6
-17
12
14
5
-52
2
10
0
6
-2
-3
7
5
4
-1
2
15
-33
-6
-5
-13
-8
41
3
42
5
-50
-13
24
34
-44
-5
4
1
25
-16
31
-7
-10
-65
10
-15
3
4
69
26
5
-53
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
23
-39
-10
40
-8
-9
37
-8
-1
8
18
13
-48
-24
26
-32
20
20
-35
-74
-8
-14
-13
25
18
5
8
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
9
-16
-10
21
57
-27
3
-4
-7
25
-18
-58
38
12
-5
-5
-2
-40
-19
-51
-20
-33
-32
11
-30
-1
-9
2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-28
-47
-22
-4
-8
-3
13
-13
-33
-76
-56
-81
39
3
31
-73
-56
-12
-3
75
-21
6
-6
-52
21
-5
-23
1
13
-14
21
-59
0
0
-62
-110
-4
-8
0
22
-27
20
0
8
5
17
43
-15
-41
-19
-36
-27
51
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
-24
-8
2
0
5
-80
-36
-4
2
6
-30
-10
-10
0
76
-46
-5
5
-4
69
26
12
-6
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
-1
0
0
0
52
1
1
0
0
-14
-2
0
-2
19
19
3
20
-19
39
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-19
-40
4
0
59
-99
-17
-2
30
-53
-18
-24
1
2
-63
7
-7
10
6
-39
-49
-18
-59
37
-22
6
-54
-112
-11
-17
15
-45
-1
-10
-7
10
13
46
-3
67
19
-2
15
-69
-1
5
0
0
0
-1
-9
0
0
39
-2
-1
0
0
-13
-10
-1
-3
-13
-41
-59
-23
-25
13
-13
-24
-17
-31
-36
-18
14
80
6
-98
27
-66
1
-1
-50
-5
-6
35
20
-21
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
-13
23
25
-5
-51
-47
-49
7
10
-22
-10
34
-28
-21
-36
-4
26
-5
23
-9
-19
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-43
-19
20
38
-90
3
-55
-68
-7
-4
-52
11
-75
-22
0
-22
39
10
-23
17
-67
-22
15
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
18
68
-46
-27
-11
-72
-2
-8
2
11
-69
49
48
-20
13
-5
-11
-11
41
47
-50
-32
-54
3
-10
-4
25
1
0
-25
-1
0
46
0
16
28
-13
9
0
-30
-29
-7
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-7
-2
0
0
-5
7
6
1
0
-66
-5
-8
0
0
-67
13
-82
-47
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
7
-5
0
2
9
23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-65
3
-1
0
-5
43
-1
-41
0
-10
1
-21
27
0
12
31
-7
21
0
-46
63
44
47
0
-3
-21
51
-41
0
-10
58
41
29
0
-37
3
-4
-4
0
12
24
6
3
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
1
0
0
2
-2
-17
0
8
19
22
49
0
-84
-19
-18
-75
0
-3
35
31
-20
0
-43
47
-46
4
0
21
16
13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-27
30
65
0
1
-67
-2
-25
0
-50
-3
-22
25
0
13
-46
-19
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-88
-1
59
-43
61
9
62
27
68
22
-17
-60
-92
6
30
-10
72
57
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-5
-15
-13
0
6
72
7
31
0
-75
-52
-54
14
0
18
-41
17
-9
0
0
3
-60
0
0
-7
5
-15
0
0
23
-46
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
3
-3
0
0
0
-4
30
-29
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-29
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
50
-8
0
0
-14
0
29
0
0
0
6
39
0
0
1
49
62
0
0
47
-51
42
0
0
-49
-50
-5
0
0
30
47
23
0
0
-46
8
-2
0
0
58
10
-5
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-1
-2
0
0
-5
-2
9
0
0
-25
-63
76
0
0
22
-19
-18
0
0
15
-17
2
0
0
1
17
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
15
-13
0
0
18
-24
-83
0
0
-99
-4
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-19
13
-14
-5
18
-13
3
3
-66
-22
26
118
17
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
-14
0
0
1
44
12
0
0
-89
3
-8
0
0
36
-13
0
0
0
-24
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
23
8
-10
-16
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
-1
-19
0
0
0
0
-44
0
0
0
-25
-29
0
0
0
-13
-47
0
0
0
67
32
0
0
0
-33
54
0
0
0
-84
9
0
0
0
66
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-17
0
0
0
-5
-13
0
0
0
59
113
0
0
0
23
4
0
0
0
33
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-17
0
0
0
50
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-85
-12
-8
-48
-22
7
91
47
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-29
0
0
0
5
-39
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-31
-3
-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
-19
0
0
0
0
-70
0
0
0
0
1
0
0
0
0
-51
0
0
0
0
1
0
0
0
0
2
0
0
0
0
-30
0
0
0
0
-44
0
0
0
0
-58
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
0
0
0
0
0
0
0
0
0
10
0
0
0
0
6
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
4
-15
30
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
38
-67
5
58
-18
10
56
14
-41
-25
-11
45
-9
6
-2
-22
16
-5
-25
32
-36
-5
-19
-9
23
-8
-6
-11
-7
-8
-6
-1
5
-3
-2
6
1
-8
-1
12
1
-5
-5
-2
-5
40
-3
21
-5
-6
27
13
30
-11
-19
57
4
31
-2
-1
12
-6
7
52
27
10
9
-1
9
-6
1
8
5
5
5
3
0
-10
6
5
-1
4
15
-2
-5
1
-5
-5
-2
-5
55
40
43
-14
-9
7
16
45
-6
3
1
5
-26
5
-4
-10
13
-7
15
31
-5
16
-10
-4
5
2
-6
12
5
-5
-6
-13
-3
8
23
6
3
7
8
27
1
-5
-5
-2
-5
70
25
-20
26
7
26
-17
-25
2
17
4
32
9
22
-7
1
10
15
18
4
-37
27
-4
-8
12
-3
1
7
5
2
-1
-6
-13
6
-6
5
1
10
2
11
3
-15
-7
-24
-14
26
37
15
8
-12
7
66
-30
-54
15
-2
3
26
27
12
1
29
-7
-14
31
-6
-6
-7
32
-15
3
5
-1
-6
-2
-6
-6
-5
13
-8
-1
0
9
7
5
6
-1
1
7
-31
5
5
17
16
-9
41
-7
3
-13
-43
-7
34
1
38
27
39
14
13
-1
-3
-11
-12
25
0
-17
-7
20
1
-5
25
-16
1
-8
-15
-1
6
3
6
4
9
15
22
-6
2
-19
5
5
17
16
-9
30
5
52
30
15
5
70
-2
-10
-24
-11
-2
51
4
15
-4
18
-10
5
26
14
5
10
9
15
2
-6
3
0
-13
-3
2
0
0
3
7
9
-1
-3
12
5
5
17
16
-9
2
46
33
-34
-13
0
43
-39
3
5
0
33
4
-1
5
3
27
4
7
26
1
40
-1
-2
-2
2
-13
-9
4
3
3
-4
0
4
2
3
-15
-9
0
5
27
56
46
-115
-2
84
-111
4
58
30
1
-5
-17
-5
3
-12
5
-11
-40
-18
4
12
-19
-19
38
-11
5
-41
1
-21
-3
-7
-13
18
10
-16
0
2
3
4
0
0
0
0
0
69
3
26
-6
-32
-14
-13
26
-5
14
-27
3
6
-21
-9
-3
5
10
-2
0
6
5
42
10
6
-5
6
-2
15
-27
0
2
25
23
24
14
-3
-2
4
7
0
0
0
0
0
22
-19
-22
-13
19
-23
20
-12
-35
-31
-6
12
39
-10
59
1
-3
-5
44
-47
48
-5
0
22
-26
-5
13
-2
5
1
-36
-7
-12
-4
51
-37
-1
-3
0
1
0
0
0
0
0
15
18
70
-21
10
-4
30
5
17
-91
5
3
8
2
-8
30
-8
-13
-41
-13
42
-7
16
48
-1
-11
-5
6
-11
26
-14
-7
17
16
14
9
3
13
33
9
-37
-13
-2
-15
-7
19
-75
26
-4
-14
-42
1
10
-10
-35
18
-1
31
15
5
-50
-19
12
5
-4
45
2
10
-22
75
-32
19
8
51
-20
4
8
-3
1
-18
-17
1
5
27
-1
-34
9
4
10
31
0
0
0
0
0
-17
17
3
6
12
-2
-13
13
-23
-11
-107
-12
-13
66
-33
26
25
-40
-5
9
-15
-7
-13
12
-21
15
-4
12
9
17
-40
-1
-6
23
-3
23
-10
-4
2
9
0
0
0
0
0
-16
0
-2
-20
-13
6
-2
25
12
-5
-56
4
-5
-8
-8
17
3
26
-24
-13
10
22
15
-38
-18
7
27
12
6
21
14
5
16
-1
10
-6
-16
-11
8
16
0
0
0
0
0
40
-11
-13
14
-12
30
3
43
50
-26
31
-10
-19
20
70
-10
1
-9
4
-9
-7
-8
16
26
5
24
20
1
-6
14
18
10
9
25
3
-4
-4
-8
8
-33
18
6
8
-3
-4
-23
67
64
-45
-2
-40
42
-22
14
2
47
-21
23
24
47
5
24
7
71
11
-25
-76
8
19
34
-3
6
1
-2
-2
0
0
0
0
0
0
0
0
0
0
-97
30
-6
-5
9
-41
-12
1
17
-83
-5
0
14
-26
17
21
9
13
-24
-15
-20
12
5
40
39
11
-9
-41
-7
-13
-12
-18
0
-6
-3
0
0
0
0
0
0
0
0
0
0
-4
9
12
43
3
-20
5
14
4
5
-2
-24
-1
39
-50
-8
-26
0
-12
58
-33
65
-9
18
42
34
12
-18
-8
4
3
-8
19
4
-6
0
0
0
0
0
0
0
0
0
0
-4
-68
-26
-3
-8
-10
20
-10
70
-1
25
-5
-26
28
-13
3
-24
10
4
-47
-52
-36
-31
-21
-19
64
-4
-22
-40
-19
12
-7
6
-23
55
-52
-7
8
-7
24
-8
4
9
50
-13
-2
0
19
-19
4
-23
-20
20
17
13
-11
-24
-44
-14
7
21
-14
-19
33
-34
69
89
-13
-1
-27
3
-66
0
-14
-12
40
78
5
18
12
-54
12
4
-13
0
-43
22
-9
1
8
0
0
0
0
0
0
0
0
0
0
21
8
-5
17
-20
-33
-22
24
-38
4
-25
52
-11
49
1
44
-31
6
-21
-5
41
-41
6
14
5
5
-11
-13
2
18
36
-1
-1
16
-26
0
0
0
0
0
0
0
0
0
0
13
-10
-7
17
5
8
-6
-18
-52
-15
-21
31
-52
21
50
-6
17
-9
0
-3
-26
7
-11
-18
23
-56
-43
-8
11
14
14
32
7
19
-6
0
0
0
0
0
0
0
0
0
0
-16
-20
-33
-19
-5
13
-6
16
33
-66
-125
-61
-15
-46
-34
-53
23
-10
-13
-43
1
-33
6
15
22
-29
-43
12
-23
-8
-28
8
3
20
38
-37
26
7
55
0
32
20
-14
-52
-5
27
-88
-13
-45
6
21
-41
33
-17
-14
38
0
0
4
-42
5
8
7
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
47
74
-3
2
-25
15
-13
-1
12
0
17
19
43
6
0
14
-23
-79
13
-121
-32
-52
47
-4
10
-6
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-5
-6
9
3
-45
36
-17
-2
-8
23
6
-14
-2
18
-41
-30
-7
-3
-7
-32
-2
-1
-36
-19
-17
-19
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
-11
21
9
139
24
-9
-15
-8
-24
53
-22
-7
-15
-3
-33
-15
-63
51
41
34
-3
7
-11
-2
48
-38
13
14
19
-42
-1
-49
7
8
3
-48
10
-48
-60
47
4
10
-18
2
9
0
-2
-17
0
-6
16
31
1
2
16
-50
50
0
25
9
8
32
47
-5
-9
-5
9
20
12
-51
13
-19
17
-42
-5
6
-5
27
-31
-52
-61
-2
-21
-16
-15
39
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
36
-16
-14
38
-21
-131
72
-18
17
67
-29
4
-20
10
23
-38
11
30
10
-55
-25
-3
-4
-17
58
-6
-4
12
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
15
-13
19
17
15
-17
-32
16
-14
-74
-91
-37
-7
48
-37
-33
-5
11
27
54
-17
-35
-13
-91
4
-31
-23
32
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-39
-24
-49
6
37
21
66
6
0
-58
-31
-80
3
-16
-71
42
-22
-10
-25
13
-16
-40
11
12
21
-39
57
10
-14
18
-9
-29
0
-4
-10
-83
-6
14
1
-23
-25
48
2
-22
-39
-11
20
49
-44
-10
-1
-1
22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-28
-23
31
0
49
-23
-9
-32
-12
3
-19
0
-16
0
8
13
-34
14
-4
61
36
-47
-33
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
-1
0
0
0
23
1
1
0
0
-12
-2
19
6
-6
32
12
-10
-23
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
9
-19
0
21
-75
33
-2
55
-78
-80
49
24
14
-54
45
-52
13
25
-32
-6
57
-65
19
-1
21
-15
-6
-21
24
-27
19
51
-2
4
-8
-1
26
-1
-8
6
-17
-9
32
-1
5
0
0
12
-2
-32
0
0
-13
-2
1
0
0
-41
-9
-6
-3
-28
-75
-94
-77
-13
45
-2
-24
76
-37
7
6
-24
59
7
-98
39
-26
17
-75
-11
-7
0
40
60
11
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
43
-39
-12
39
-29
-6
-19
17
-11
43
28
17
45
-12
-15
3
6
24
26
45
45
-9
-49
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-51
-5
42
14
40
-17
-29
-4
4
-4
50
13
-4
-58
-161
17
1
49
51
105
42
-35
10
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
25
46
27
-7
-1
-110
1
-40
18
6
-73
26
-8
4
-47
10
-49
-48
-11
-40
-23
-1
-32
-30
22
21
-13
1
0
-23
-1
0
31
0
16
38
27
20
0
-2
23
-37
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-10
-2
0
0
-30
-2
-16
0
0
-7
-13
-8
0
0
-50
-77
0
4
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-3
22
-18
0
47
-18
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-41
-41
-1
0
-93
15
-5
6
0
18
4
-5
-2
0
30
8
25
13
0
-49
-22
-1
46
0
-46
-52
4
-28
0
72
94
10
66
0
-45
-3
-55
-16
0
38
43
-4
1
0
0
-1
0
0
0
14
0
0
13
0
0
0
0
-14
0
0
2
5
-56
0
13
9
16
-11
0
-20
-32
-9
58
0
-14
-27
83
39
0
-17
30
43
-5
0
58
9
-32
11
0
0
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
-2
-28
10
0
46
23
-17
-13
0
-107
-67
21
11
0
58
-6
-25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-16
-29
37
-32
54
-49
-6
31
43
44
-94
-54
-85
6
25
-48
73
-54
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
26
-7
-6
0
-30
-82
-33
4
0
-64
-29
-23
20
0
98
-24
48
-62
0
0
3
-7
0
0
-13
9
-65
0
0
28
-51
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
5
-3
0
0
0
-11
45
-48
57
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-25
0
0
-9
24
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
14
-4
0
0
5
-2
67
0
0
-9
0
7
0
0
-20
49
15
0
0
110
-23
-8
0
0
-91
-59
6
0
0
26
-34
26
0
0
-15
-2
-11
0
0
42
8
10
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-1
9
0
0
-15
-1
-6
0
0
-18
-18
-24
0
0
-12
-16
-55
0
0
-14
-3
-14
0
0
99
21
-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
-4
-36
-9
0
0
50
-17
-37
0
0
-49
-40
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-20
5
6
43
-18
-60
27
-25
-43
-5
-13
4
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-42
-62
0
0
35
4
18
0
0
-45
3
-6
0
0
-35
-47
0
0
0
-34
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
56
4
14
-7
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
0
0
0
-1
-42
0
0
0
0
-15
0
0
0
-29
-29
0
0
0
17
29
0
0
0
75
1
0
0
0
-39
64
0
0
0
17
-3
0
0
0
147
30
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
5
0
0
0
-10
-19
0
0
0
87
34
0
0
0
-21
-25
0
0
0
-21
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-20
0
0
0
18
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-56
-7
0
8
34
22
111
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
-85
0
0
0
-33
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-22
1
-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
-25
0
0
0
0
-7
0
0
0
0
1
0
0
0
0
-8
0
0
0
0
86
0
0
0
0
-41
0
0
0
0
-58
0
0
0
0
4
0
0
0
0
4
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
0
0
0
0
26
0
0
0
0
70
0
0
0
0
60
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
28
62
-56
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
16
-3
-4
22
-5
-23
28
-4
15
0
-14
-3
-26
-6
8
-20
-43
27
-23
-7
18
-7
-4
17
10
-2
33
-8
7
-3
13
24
5
13
21
-21
12
-22
-20
25
3
-4
-5
-1
-2
-5
-3
5
-2
4
10
19
1
-12
-21
2
14
0
-14
6
0
12
13
41
42
-16
-11
-6
4
6
-12
9
48
-17
-19
10
19
6
23
7
-4
6
-1
-5
-44
3
-4
-5
-1
-2
14
4
5
-5
-6
2
-2
18
-1
-14
10
18
-10
-9
-8
-2
-19
-9
10
25
-40
31
-12
47
-24
11
-34
-24
-23
9
-8
19
-59
-12
15
16
2
14
20
-15
3
-4
-5
-1
-2
18
28
13
-6
-4
-7
-22
-21
-3
8
19
-4
17
0
-5
-19
5
-6
33
4
-16
-2
-42
23
11
21
1
3
12
-14
-9
5
17
1
-33
7
2
-19
7
-13
8
21
0
-3
8
-1
31
5
-2
-8
-1
18
-1
-3
2
24
32
4
0
-23
4
24
-32
-23
5
-19
-22
-3
29
-6
6
11
12
1
32
5
-34
3
29
7
2
-1
1
-24
-13
7
3
7
-46
44
3
-3
19
-2
-7
-29
21
-4
0
-13
-41
-1
-25
59
26
38
-35
5
-14
-8
-13
22
-6
-13
34
6
17
-19
12
-14
2
-17
-13
4
-14
28
-7
15
2
5
32
10
-28
16
17
3
-3
19
-2
-7
2
15
5
8
0
22
20
-20
23
-24
-12
18
-19
5
-5
-2
13
-13
10
25
6
9
0
-1
17
-4
13
-5
3
-5
-10
-4
-23
6
20
13
-30
-14
5
-16
3
-3
19
-2
-7
0
6
-17
-5
-2
34
12
-16
-17
1
1
11
-35
53
-5
-3
15
-38
25
7
-2
6
-8
8
25
-7
-29
13
-7
-14
-5
-24
0
6
-11
-26
35
7
-42
32
3
7
6
-14
3
33
-30
6
-11
8
8
-11
-13
-7
8
10
3
22
-8
-5
-9
-6
-20
42
0
14
-12
10
-41
-21
19
-5
-13
1
4
19
-1
6
0
-5
0
0
0
0
0
-1
8
12
8
-7
17
-3
13
0
15
4
0
-12
17
5
1
-23
13
12
-34
1
7
47
13
6
-42
12
-12
22
23
-5
-22
0
-8
-28
18
-2
-8
6
4
0
0
0
0
0
0
-29
5
-22
1
0
9
-32
-31
-9
0
13
13
-11
10
-8
-14
-24
-28
-21
25
-13
17
13
-3
13
3
-1
76
1
-7
-14
11
-6
15
-28
1
-11
-5
-6
0
0
0
0
0
3
-17
3
8
-1
-14
6
19
-6
-29
5
-1
-18
13
18
-7
-34
2
-27
6
-24
-22
21
12
6
-4
-16
7
-34
32
-27
-7
21
-25
10
25
30
-5
-8
-6
-77
-68
-31
5
-13
1
-37
13
-7
-5
-1
-7
-6
-12
8
0
-12
-8
-3
30
-31
-5
0
7
29
13
7
6
-12
13
-16
-16
-37
-8
-19
9
36
9
30
-8
40
0
26
5
-1
1
2
58
39
8
0
0
0
0
0
13
-16
8
-5
14
19
34
-18
-16
0
-66
0
17
53
12
1
-24
39
27
7
-11
-7
-12
-10
-5
-4
9
-4
13
10
-19
9
-17
-25
-40
-10
-51
-17
-32
14
0
0
0
0
0
-26
0
-5
-5
-6
-17
-22
-22
17
-7
-24
-1
29
-18
-16
-42
7
18
-1
-5
23
26
-8
-21
-15
4
25
10
10
-17
5
-25
26
7
-49
-46
12
-6
-1
67
0
0
0
0
0
-13
-2
17
2
2
-2
12
4
16
-13
9
12
-14
-22
17
15
-5
0
-43
-6
33
-5
12
7
-9
44
5
5
6
21
24
24
1
-23
-10
34
-4
-8
27
14
-2
1
-13
-4
-1
-13
6
13
-25
-1
-2
17
-10
0
5
31
5
-55
19
18
-49
25
18
-21
4
-22
28
23
-18
5
-23
-9
14
5
-6
0
0
0
0
0
0
0
0
0
0
5
6
-2
0
-5
-16
-8
10
10
0
23
5
19
-25
11
-4
30
-28
-7
-14
-5
6
-22
7
-1
41
5
-13
7
5
9
-11
4
-5
10
0
0
0
0
0
0
0
0
0
0
0
1
-5
5
1
0
0
18
9
1
0
-4
-4
10
-4
10
-2
36
13
-1
8
7
0
-5
40
0
23
-3
-1
-4
14
25
23
29
-18
0
0
0
0
0
0
0
0
0
0
0
-9
1
4
-2
-3
12
21
-2
0
-3
9
-33
-4
-13
16
6
-7
-21
-17
6
9
-10
-57
-10
-8
20
-14
-2
-41
-27
-13
32
53
36
11
3
33
-18
-7
48
1
1
25
-20
0
0
4
-3
0
0
1
1
14
2
0
0
-11
14
-7
8
0
21
3
0
14
-8
-11
-34
5
-5
-5
27
-39
-19
-4
26
14
-42
2
-22
-30
-6
-11
13
-33
5
43
25
31
0
0
0
0
0
0
0
0
0
0
29
-2
21
-26
-13
-17
16
-16
-32
6
31
-1
-23
55
-19
-39
6
7
-48
20
-5
-28
-7
-4
-8
-9
-26
-18
27
11
-65
-20
18
9
-6
0
0
0
0
0
0
0
0
0
0
20
9
16
-46
24
-6
19
-9
-9
-5
32
-25
3
18
0
13
-11
-13
6
12
15
-40
51
-9
26
22
74
-27
-52
13
-24
39
-15
41
5
0
0
0
0
0
0
0
0
0
0
-4
-1
-5
-4
9
-3
-5
50
2
-29
-5
-25
-12
-54
31
36
25
-26
15
4
31
21
2
26
-2
-35
-26
9
-10
15
72
-41
9
42
-20
-1
0
0
-2
0
0
-2
1
9
0
17
2
1
11
-20
-27
1
2
5
-7
-7
27
8
23
-3
18
-21
-31
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
-1
-6
-8
4
0
4
-16
-7
3
1
17
4
-15
-84
3
-9
-1
-23
9
0
-21
-18
-23
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-2
3
0
0
0
0
24
13
0
0
1
8
0
-2
-2
-10
-32
30
-17
6
3
-22
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-8
12
2
12
-13
4
2
-1
16
1
-13
-1
-5
8
-13
6
5
4
71
9
0
-9
4
-3
31
-6
12
12
-5
-29
-32
-4
-22
-25
-10
-6
1
43
-21
43
1
12
0
0
0
2
2
0
0
2
-1
-1
1
2
0
13
6
-1
-1
-16
52
7
-3
-12
-26
63
18
5
9
1
-10
-4
5
20
17
-9
16
9
4
36
-4
-28
19
-8
-8
39
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-25
14
-7
-14
31
-9
-22
8
23
-45
2
48
-29
31
-6
7
1
-16
-66
15
-88
10
32
-24
-17
21
56
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-42
10
27
1
25
-10
1
-22
5
-13
-14
13
-3
-14
7
11
-25
45
1
13
5
4
5
1
1
-39
-10
-4
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-48
-12
-21
2
8
-16
7
43
-11
-49
-38
-13
-35
-8
-31
28
-49
5
-5
-33
32
-35
-3
-41
3
-10
-5
1
-30
0
0
0
0
-4
2
0
0
0
0
1
0
0
0
-13
0
-2
-5
25
-10
42
-19
-4
-57
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
-2
1
-1
0
-22
0
-17
6
-1
12
-17
13
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
18
0
0
0
0
-13
0
0
-15
-25
-4
5
-46
-15
-17
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
2
-1
1
0
9
-6
2
8
0
0
-13
-8
-19
9
-10
-6
13
30
18
19
-15
22
-24
13
-13
44
13
4
7
5
-23
0
55
-5
12
2
25
35
19
39
0
0
0
0
0
0
1
0
0
-28
0
0
0
0
-6
0
0
0
-13
-45
-8
-5
-2
2
8
-1
-13
-3
1
-14
-42
-23
-19
-32
-35
-22
-13
-7
5
10
8
-3
1
1
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-1
-28
-11
16
22
51
6
-2
24
4
15
-13
17
-34
-18
65
-57
-15
-56
49
31
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
18
8
-17
-50
41
8
-8
-10
27
22
27
-2
-48
6
19
-26
-25
34
-5
55
42
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
11
38
16
-18
-7
6
-8
-34
-6
-13
6
6
16
18
-6
14
-43
-18
12
-3
-7
22
11
12
0
1
0
0
0
0
0
0
-8
0
0
1
27
-9
0
-16
8
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
-2
4
0
0
0
-35
-70
21
14
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
1
-5
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-2
1
8
0
0
2
0
0
0
4
0
35
-12
0
-18
-12
12
6
0
-17
-12
-43
-5
0
46
-2
9
36
0
-34
-36
-10
-32
0
27
30
21
-31
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-10
0
4
12
3
-45
0
9
3
-31
27
0
-41
-13
4
40
0
-44
52
-6
-47
0
-9
28
-62
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-25
-49
-24
0
25
5
35
70
0
-13
0
-16
-48
0
-2
26
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-18
-36
-16
-31
-4
-54
-13
-3
16
5
-57
-50
-44
-32
-3
27
42
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-3
25
-13
0
-24
-35
-19
-8
0
-15
3
-24
-6
0
7
-5
15
6
0
0
0
1
0
0
0
0
-3
0
0
-15
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-15
4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
3
0
0
5
-5
-28
0
0
-20
-12
-9
0
0
4
-2
-28
0
0
-44
31
-54
0
0
21
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-6
-1
-3
0
0
-1
-9
-10
0
0
-3
-7
-10
0
0
12
15
-58
0
0
21
8
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
17
22
0
0
-5
-40
8
0
0
21
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-16
-41
-1
22
-5
-25
-5
33
0
5
-5
8
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
31
0
0
-7
31
-27
0
0
14
2
26
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
10
0
0
0
8
-11
0
0
0
-12
3
0
0
0
29
-38
0
0
0
5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-6
-22
0
0
0
5
-8
0
0
0
-16
45
0
0
0
20
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
62
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-48
5
79
18
0
-2
-9
8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-49
0
0
0
-37
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
7
0
0
0
0
6
0
0
0
0
-52
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
37
0
0
0
0
-22
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
16
5
-54
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
9
0
0
0
0
-31
50
14
0
0
21
14
18
-22
36
9
0
0
0
0
9
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-9
13
-6
2
0
0
-13
-23
-4
0
-13
35
-16
10
-1
0
-36
-18
-29
10
2
18
0
0
0
-35
0
0
0
0
8
0
0
0
0
8
0
0
0
0
25
0
0
0
0
35
28
14
-15
6
-1
-48
-48
-21
-21
4
4
8
-11
-4
0
10
-1
7
9
-19
-22
0
0
0
5
-3
0
0
0
25
0
0
0
0
5
4
0
0
0
34
39
1
-2
0
4
5
-23
-46
-16
-22
23
5
0
56
-24
3
14
8
2
-2
47
16
-4
-11
14
4
-1
0
0
0
11
5
0
0
26
28
0
0
0
-12
-33
-1
0
0
-8
-6
9
-2
0
-181
-36
6
-22
-2
-1
13
-14
-15
18
-10
4
4
-1
3
-31
-17
-2
-7
8
-17
2
0
0
0
31
-30
-8
0
0
-70
-42
-1
0
0
-7
28
7
0
0
-10
-30
15
-12
0
52
-39
-12
28
19
-24
-4
21
29
-55
-8
1
5
-3
2
-27
23
6
-8
-2
-10
43
1
0
0
2
-1
-1
0
0
-21
42
0
0
0
-7
-39
-14
0
0
-15
39
20
25
-1
-30
9
72
72
1
43
-33
-18
1
24
-52
-4
4
0
-11
-38
-8
1
2
0
-6
-5
3
0
0
12
85
12
-1
0
23
42
0
0
0
-21
-20
34
0
0
2
-6
-5
-20
0
-9
12
28
-45
1
-15
-21
20
8
18
-3
-7
-4
-6
0
-32
2
-5
-5
-3
13
-11
-1
0
0
7
4
-13
0
0
31
-15
-8
0
0
43
34
-34
1
0
-19
32
-29
3
-6
-30
-20
-12
26
-8
-40
-38
-8
15
80
-53
8
-10
4
-9
-49
-26
0
-1
-5
22
-18
0
0
0
-14
-45
33
0
0
19
5
-14
6
0
-25
5
-45
5
0
32
35
28
-8
-1
39
-43
-5
-46
-9
-41
27
38
-28
20
-7
-2
-21
9
-12
11
-34
-7
9
-3
1
-4
1
0
0
5
-12
-26
0
0
2
-21
-29
-4
0
22
-3
22
0
-2
7
4
1
-27
4
5
-19
-42
22
-23
33
47
27
0
-33
-13
-8
-13
-9
14
-18
13
5
-13
5
4
7
-1
0
0
-2
-5
5
0
0
-12
-17
18
4
0
-6
26
26
0
0
-27
-21
-13
31
1
13
11
-94
-15
-2
37
8
14
18
32
-50
6
-11
-2
21
49
-37
4
-1
8
-2
0
-3
0
0
2
16
10
0
0
-9
-22
1
-3
0
1
-25
8
-16
0
15
-8
3
9
5
-29
-70
-18
12
-29
-2
17
55
77
-2
-24
-61
-9
-8
-11
-21
-45
4
-19
36
0
1
0
0
0
-2
-4
3
0
0
-20
14
-10
-3
0
-5
55
24
8
0
-12
6
1
9
2
8
25
-33
8
40
37
92
47
76
-5
-6
-23
23
-23
-56
-11
-58
-71
-39
19
0
-1
0
0
0
-1
0
-6
0
0
0
-3
18
2
0
-3
-4
-32
3
0
1
13
8
4
-2
6
7
51
2
-7
-36
-2
58
52
-31
13
-40
3
-58
-25
6
-2
-57
1
47
0
-1
0
0
0
1
1
1
0
0
1
0
22
2
0
-2
-8
0
3
0
-4
2
-8
-7
-1
-2
-26
-12
-10
1
42
42
5
52
32
-17
-53
8
-40
-9
-25
-25
6
-17
4
0
1
0
0
0
0
0
0
0
0
-1
0
-3
0
0
-1
-4
-1
-3
0
2
-13
-2
2
0
0
-14
1
-5
-17
4
-3
-14
-22
-29
25
64
-67
18
-2
8
0
-4
-54
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
0
0
-1
1
5
-1
0
0
2
-3
-10
-6
6
-41
-25
-8
6
0
-50
-4
-92
4
-6
0
30
-13
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
3
0
0
-12
0
-12
-5
1
7
-1
-29
-5
1
-34
34
70
-56
0
0
-1
1
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
-2
-5
7
-2
8
5
-4
25
0
0
-19
-15
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
2
0
0
0
3
2
4
0
6
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129
0
0
0
0
173
0
-4
-4
0
84
-8
31
0
0
47
14
127
18
43
76
4
0
0
0
-26
0
0
0
0
19
0
0
0
0
3
0
0
0
0
48
7
0
0
0
-31
87
-8
27
0
82
53
11
52
0
20
29
62
11
-41
-15
91
66
54
-27
42
-8
1
0
0
43
0
0
0
0
-5
0
0
0
0
76
2
-2
-1
0
50
-49
0
15
0
-30
102
67
-40
-1
59
71
-2
-30
-14
-28
13
46
29
71
-21
43
12
32
-22
-28
-50
49
0
0
22
26
0
0
0
-7
-5
0
0
0
-53
13
-10
0
0
6
58
7
33
0
7
41
-15
5
-43
-26
15
8
54
57
-15
13
33
13
53
-44
16
12
21
13
-24
-53
-44
5
0
14
47
26
0
0
61
40
12
0
0
35
-16
37
7
0
-51
9
59
10
71
-26
56
59
32
11
-12
24
-17
33
34
-27
8
16
17
37
-23
-1
15
14
-8
-33
45
-6
11
1
-27
-4
-80
-4
1
-16
-27
-34
-6
0
31
-30
36
24
-10
60
44
30
-46
-11
-29
22
-39
-32
22
22
2
-16
12
40
-7
-2
-2
27
10
-7
-59
9
2
12
-21
-6
-4
-17
0
53
7
-9
11
-8
1
19
18
-20
0
56
20
11
4
-5
-22
74
34
30
-79
-16
-48
3
9
5
-2
4
3
8
6
35
7
-18
22
-11
-68
2
3
-5
11
-2
-10
82
-53
-3
49
27
70
23
-1
30
37
56
-13
1
40
-20
68
-14
-14
-30
6
-12
-58
-62
-14
-9
-1
-54
-50
-7
-3
17
29
-44
-35
5
-13
6
-26
-26
-9
3
-10
-12
-8
53
-31
-1
0
105
3
-9
-9
-7
22
53
11
46
0
12
-25
42
44
43
20
-23
-45
-26
23
-34
-1
-13
-15
-6
-33
-7
2
-2
26
-38
-6
-16
-4
4
2
34
-6
6
21
39
-79
-19
14
-6
-30
-17
-2
3
5
36
-60
-37
18
9
17
-5
4
-40
-42
7
45
29
76
-21
58
3
-20
4
62
-3
11
32
-26
3
-40
-3
-5
6
4
30
33
4
25
13
136
-69
-6
5
0
-29
3
67
21
35
98
-32
-35
-29
-41
-32
-53
-8
41
-7
70
47
0
-33
23
-21
-43
-12
5
-30
-11
0
1
19
38
-61
-13
3
2
-9
2
-4
13
-4
14
-65
1
8
31
1
0
-116
-14
-29
-41
-26
-20
31
45
29
-28
-23
-1
58
-30
6
-21
33
85
-14
-62
-48
-6
-17
17
0
3
28
15
17
-70
-3
5
-32
15
-24
-3
3
-30
-1
5
-66
-13
0
0
41
96
-12
-6
-25
-55
-29
-14
-73
30
-28
-83
-2
0
0
-9
-33
-28
79
46
-6
-5
-39
-20
-73
-27
27
-4
7
8
-57
-1
-6
-13
-14
86
37
14
16
-15
-11
76
2
-4
0
-32
-28
-13
-2
6
-64
60
4
2
-10
-65
61
-8
-62
65
1
32
3
2
3
5
-39
35
-46
66
89
19
58
-2
-45
50
-2
9
7
-48
-24
4
14
18
35
-3
3
-1
0
0
16
16
-24
-63
-76
-17
63
12
-11
-18
-36
-68
-81
-58
-48
-6
-47
8
-42
43
14
-24
32
-62
0
-22
37
11
-25
-33
55
-8
26
-23
-30
84
56
6
12
29
0
-10
1
0
0
20
-5
23
49
23
69
-86
41
-12
-3
-76
51
-20
2
-37
-110
38
-16
-22
-6
-49
-142
61
-8
-73
43
-23
0
20
-11
-85
71
1
-16
49
19
-3
-8
71
126
0
17
-1
0
0
-10
-13
14
15
13
-8
-42
23
8
0
-6
27
-26
-41
47
25
-24
-60
-22
22
8
-13
-19
-27
37
111
28
-73
-59
-50
33
8
-60
-73
-31
5
20
12
5
-12
0
0
0
0
0
-5
1
4
19
17
0
5
-44
26
-3
-2
31
-26
71
-6
37
39
26
-72
-3
-9
-86
-70
31
-12
-11
22
13
-9
19
-44
-73
-15
-40
-13
20
-28
8
-49
-41
0
0
0
0
0
0
-3
-1
3
0
2
4
3
70
-2
1
-22
-22
7
8
-6
-8
-11
-35
-28
0
-37
0
-15
-32
9
-62
43
21
17
35
-61
16
24
4
21
-25
34
41
4
0
0
0
0
0
0
0
-2
0
0
0
1
-5
-33
-1
0
-21
31
1
-4
3
-12
56
21
-14
0
-4
5
-10
-79
-10
7
30
62
-14
1
65
44
-25
17
0
6
33
-84
-32
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
1
4
-8
6
0
-8
19
-7
-3
0
9
-25
32
30
0
5
52
-3
97
2
-8
-39
-7
41
0
0
1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
2
0
-1
25
3
-1
0
-2
8
25
13
0
3
50
12
39
0
-31
-59
35
-29
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
-1
-7
1
0
0
-13
27
-1
0
0
-7
-9
-12
0
0
19
90
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
16
0
0
0
0
2
0
0
0
-1
-1
-44
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
175
0
-4
-4
0
38
-8
24
0
0
48
5
29
11
18
126
4
0
0
0
-21
0
0
0
0
28
0
0
0
0
-3
0
0
0
0
8
7
0
0
0
-7
84
-8
35
0
28
74
8
0
0
-17
123
57
46
-42
2
45
60
79
85
43
19
1
0
0
64
0
0
0
0
-42
0
0
0
0
43
2
-2
-1
0
19
-75
0
21
0
25
-52
35
-59
-16
28
-42
18
-13
-8
-18
30
58
73
102
-33
-9
53
35
-61
-89
8
30
2
0
-50
34
0
0
0
56
25
0
0
0
-53
-5
-13
0
0
15
31
10
41
-4
-21
133
22
33
14
14
92
-39
23
72
-31
4
26
23
-12
-17
14
49
53
5
17
-103
-35
7
0
46
-16
9
0
0
21
43
2
0
0
31
7
41
12
-4
13
52
54
16
98
-22
-21
20
35
36
6
0
38
17
-29
20
3
22
5
17
-47
-37
-3
-10
-11
-43
3
9
10
1
-90
-5
-8
-7
13
-35
-49
-56
-39
0
-22
-9
49
22
8
47
-9
68
-43
1
-6
7
35
-18
56
12
37
49
57
-12
-17
-8
11
-5
-16
-11
47
-4
34
44
-2
-19
-25
-10
-8
44
30
-14
-58
-22
12
46
-16
14
0
35
-11
-4
-7
-9
-35
33
-15
13
-57
0
13
2
-19
-21
0
-8
30
-13
37
56
16
6
11
-11
14
-20
-9
-15
35
44
-6
49
-73
-8
-27
58
57
29
-35
2
1
62
-55
1
50
23
5
-5
8
36
-7
12
-23
-76
-20
2
-10
-10
35
-6
27
-9
7
56
29
29
-7
-27
88
-38
41
0
46
64
4
32
6
13
9
58
-4
56
19
-11
-52
28
22
34
-16
-16
-13
56
50
13
-48
-55
-25
1
1
-85
3
7
-51
-1
52
22
-5
2
30
14
-4
1
-2
45
-49
-15
6
-21
2
-55
-44
15
22
-8
49
30
1
59
8
3
-5
-24
19
6
12
-24
24
-15
-14
-19
63
14
25
17
-14
-28
-40
-31
-24
-4
16
-8
27
4
-59
-6
-7
-23
-52
5
24
-15
21
8
59
-31
3
-29
-2
-64
-22
43
0
5
26
-44
22
21
-27
17
26
-23
67
14
-24
-9
-41
-4
-17
-49
-67
-39
-35
-39
-49
-16
14
20
21
3
2
23
-9
0
-11
17
0
-11
-1
-77
-34
-29
14
-2
7
-61
-72
-29
15
45
39
20
34
12
-92
-59
-55
27
-60
78
7
-18
2
34
-6
-87
-16
13
31
-13
-22
-48
13
-25
15
-6
4
14
-6
6
6
39
34
71
-14
-25
19
-9
0
77
-36
8
-10
-10
34
-4
-41
-29
-23
-12
-9
-30
-57
-11
13
-30
-25
67
50
10
-1
-23
6
4
-72
-20
7
-1
4
-70
-49
-8
7
-40
36
48
5
-40
4
5
16
-16
-1
0
5
-23
41
-48
24
-60
6
2
-97
12
-31
15
-13
-77
19
-28
-45
33
-16
58
25
19
-14
46
16
0
-39
-39
-4
-45
16
-20
2
-57
4
50
-23
-56
5
4
15
2
-1
0
0
3
51
-8
-24
-30
1
-9
-54
40
-22
-25
-13
14
-70
-45
-7
13
-2
-55
29
-18
-44
7
-69
4
15
-14
-51
-8
11
-59
-2
-59
91
-43
61
6
41
24
64
0
-19
1
0
0
20
17
47
-5
-21
35
-85
-23
-7
-13
-69
6
4
25
-28
-60
48
74
-18
-11
-33
-32
1
-2
-129
33
-9
20
-22
13
-3
-6
-38
-31
-7
51
-8
22
21
19
0
22
-1
0
0
-10
-16
17
39
-22
-5
-28
79
-9
7
-9
-8
-7
-86
44
43
54
-99
-84
31
0
-7
-9
-31
15
48
-55
-28
27
1
-18
30
-16
-34
-84
-5
53
11
-23
-17
0
0
0
0
0
-5
-5
3
37
14
0
-14
-47
39
-2
0
10
-86
88
-8
43
56
0
-22
-18
-9
-86
-39
-18
17
-23
9
59
-29
26
-68
12
-40
-73
44
27
60
-21
-2
-34
0
0
0
0
0
0
-3
-1
3
0
2
3
-13
73
-1
1
-25
-2
21
32
-4
-22
23
-56
-64
0
-5
8
-2
-20
13
-41
-3
-6
7
42
-86
-35
23
31
25
-23
53
8
-13
0
0
0
0
0
0
0
-2
0
0
0
1
-4
-49
-1
0
-18
49
4
-1
3
-24
30
69
-14
0
10
17
-34
-99
-10
8
84
-17
-44
1
80
40
-17
4
0
7
51
-89
-34
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
1
6
-13
-7
0
-8
-21
22
-13
0
5
-42
14
35
0
6
96
10
123
2
-41
-3
42
9
0
0
1
5
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
5
0
-1
39
33
-3
0
-1
-1
9
12
0
3
58
49
43
0
-39
-57
20
-42
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
2
-8
-1
0
0
-14
42
-1
0
0
-7
-18
-6
0
5
13
86
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
17
0
0
0
1
4
0
0
0
-1
-1
-43
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
17
0
0
0
0
-12
0
0
0
0
19
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
1
0
0
0
-1
-3
0
2
0
8
8
2
-1
0
-76
9
1
0
0
-7
1
-18
-9
-1
1
0
0
0
0
9
0
0
0
0
-2
0
0
0
0
0
4
-2
0
0
26
-5
0
2
0
-48
0
3
-1
-1
-16
-21
23
9
1
36
-75
-13
-27
-13
-13
-8
-7
-58
4
4
-2
1
0
0
3
0
0
0
0
-2
0
0
0
0
9
0
4
0
0
-28
-8
-7
-2
0
56
-7
10
-32
5
-4
-24
-34
-9
5
39
-29
37
53
-35
-12
-2
119
-10
10
-3
1
0
0
1
-13
0
0
0
0
1
2
0
-1
0
1
5
-2
2
0
-44
-4
0
12
5
-17
31
26
7
-5
32
-3
50
-8
-14
41
19
77
9
65
4
-4
-8
35
-13
-2
-8
-1
-1
1
-5
12
0
0
0
8
3
0
-4
0
-16
-16
-10
2
2
17
44
40
-2
-8
20
35
24
5
17
-18
31
34
7
-32
-50
35
-49
20
-1
8
-5
-44
-12
44
-4
7
0
-1
0
-13
-3
0
0
0
7
-2
1
-16
0
-5
8
38
19
-7
32
-5
-12
-5
-19
-37
-12
-52
3
-2
-13
52
-28
22
4
-43
27
5
-34
-12
-23
3
58
65
-6
0
-3
2
0
-2
9
3
1
2
-2
-8
2
-3
18
1
-8
13
-4
7
6
18
-11
40
9
-9
-22
-29
-28
-22
-8
9
57
41
-40
34
21
16
28
-18
9
19
5
-25
32
-42
1
0
0
4
-1
-17
-5
-3
3
0
-10
-13
2
20
3
16
3
-18
-10
2
-43
-8
24
20
20
9
-25
-19
16
18
77
-6
11
-16
26
-5
49
-48
-8
-10
-21
-12
9
-13
32
-1
0
13
2
-3
15
-19
-3
10
1
-5
-2
-5
-2
-2
-4
-11
22
9
-5
-9
-4
-14
32
13
29
8
31
3
3
11
13
45
83
23
-41
50
7
-12
4
28
36
27
18
20
0
-6
-2
0
1
0
13
6
-27
2
14
-7
-20
10
-7
-14
30
-7
3
-1
-29
-27
-93
41
-44
-43
-17
-7
-41
-15
34
5
68
-13
21
-5
-92
42
16
-11
31
38
18
43
52
-2
-1
-1
0
1
1
2
15
-2
-4
8
19
15
9
0
-17
-43
-41
21
-42
-14
13
24
-35
-18
-57
-22
-8
-4
8
15
3
-55
-18
-35
-24
-4
30
58
-31
-19
-1
-3
10
0
2
0
1
0
0
-1
-3
-5
-12
-2
1
-18
3
-4
-26
17
-50
-17
-22
-23
-4
10
10
8
44
25
-24
-7
15
0
28
-26
-8
-4
-4
-83
-48
20
-10
-3
-37
-31
-66
-9
29
0
0
-3
-1
0
2
9
-4
-7
1
4
7
-5
-25
2
-9
5
-1
-20
23
12
-32
-21
-13
8
7
22
-9
4
-13
-32
-7
-26
-2
-32
21
13
-45
18
-7
-5
14
-32
-5
-21
0
0
0
0
0
0
0
6
9
-2
0
-3
-8
-2
1
-17
8
0
-43
-31
2
53
-18
3
2
-9
-27
-13
12
-5
-5
-66
-4
13
15
-18
5
-14
-50
46
27
43
25
-33
0
0
0
0
0
0
0
0
3
-4
0
0
-13
-13
-10
-5
-7
-5
4
18
-9
1
8
-8
4
13
-13
-4
32
10
-14
-20
12
-27
49
9
-15
28
22
-41
-13
8
9
13
-17
-42
0
0
0
0
0
0
1
1
14
2
0
0
20
5
0
1
-6
-5
-4
13
8
15
12
-21
30
-1
1
-14
-25
-15
-27
6
42
34
24
-5
-13
-40
-27
-13
-6
-4
33
31
-34
0
0
0
0
0
0
-1
0
2
0
0
0
-5
15
0
0
-8
-6
-13
-19
4
1
7
-58
-6
-3
-21
-20
-4
13
-10
9
9
10
23
-8
-34
-20
-16
-1
1
9
4
-3
5
0
0
0
0
0
0
0
0
0
1
0
-1
1
8
0
2
4
-3
3
17
-1
-8
-4
-34
-6
0
-13
-13
-18
-22
2
21
-38
9
13
3
-67
-60
-25
-2
0
10
4
-22
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
4
4
3
2
0
25
33
-8
0
-2
5
-31
-16
0
-10
-4
-15
-16
0
14
-28
-5
-4
0
0
8
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
6
1
0
-1
-4
5
4
0
-9
-6
-5
1
0
-1
17
-2
24
0
-9
-13
47
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
1
0
0
13
3
0
0
0
3
2
-1
0
0
13
3
-6
0
-5
-2
-1
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-1
-2
0
0
-4
13
0
0
0
-1
-2
-3
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
-27
-56
-136
-56
-46
-23
-74
50
13
0
0
-95
-10
15
24
61
51
43
46
0
6
0
-31
42
-6
27
8
41
28
0
70
37
0
-70
23
-11
-6
35
33
0
9
-4
-39
0
13
118
7
0
13
0
0
0
0
0
0
4
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-32
19
35
-36
-15
-54
-49
0
17
0
0
-27
22
-2
-20
60
52
-66
48
0
31
0
-79
-45
27
-13
-8
19
50
0
7
-3
0
-9
-21
81
43
-10
39
0
0
0
0
0
0
0
5
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-5
18
17
-33
-17
-27
-91
43
14
0
0
-5
27
-63
46
85
-28
-25
54
0
113
0
15
9
-30
15
148
-13
40
0
24
13
0
-24
-14
-34
17
88
77
0
0
0
7
0
11
8
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
50
4
-48
-54
-2
30
57
35
0
0
-15
32
14
-44
52
41
24
127
0
-40
0
40
6
-45
21
2
18
71
0
124
74
0
-41
-25
-48
84
69
46
0
-3
56
22
0
-45
-19
-1
0
-9
0
0
0
1
0
0
10
0
0
0
0
0
0
0
0
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
0
29
62
-12
-20
0
-13
35
69
38
0
0
-66
-35
-25
5
19
-4
93
38
0
-5
0
-57
1
-32
0
-13
-40
76
0
68
41
0
8
-21
-18
-40
56
-2
0
1
125
29
0
-11
8
44
-43
17
0
-5
23
34
45
0
9
-105
-24
19
0
-45
-23
11
53
63
0
-43
-116
-16
0
-3
-143
18
62
78
84
0
-54
-40
0
49
27
-29
-34
35
20
-12
0
-1
0
-8
26
3
2
-23
-13
39
27
-4
0
0
-2
10
-14
2
-18
28
-19
1
0
-4
0
-32
1
-31
0
2
5
-14
0
54
44
0
5
-22
-24
-39
58
-21
0
28
47
23
0
7
-28
28
-20
-36
0
35
12
14
5
0
4
-56
-23
-41
0
-30
-43
11
15
25
0
-5
54
-43
0
60
1
47
4
-32
-62
0
-41
-17
0
-13
-41
7
-1
-38
-21
-11
0
46
0
1
-12
13
-2
23
-27
0
0
7
0
0
5
39
-1
-13
-13
0
3
12
0
-22
0
-3
41
25
-29
-5
0
40
0
-17
-12
0
39
2
-23
-7
-3
18
0
18
28
-41
0
27
-7
15
-6
17
0
1
-70
-12
2
0
26
-59
-31
1
0
19
39
-18
6
-2
0
-13
-43
-16
0
-68
23
-21
24
0
0
0
-183
-7
0
-48
-40
-9
-5
0
0
-29
0
-26
0
-18
84
-66
-139
-53
-77
-34
-13
-7
0
0
17
-15
-63
-50
14
-66
-27
37
0
24
0
42
2
-83
-16
5
-29
52
0
46
54
0
0
43
-25
-18
-18
49
0
-4
-36
72
0
12
-19
-119
42
19
0
9
-16
95
64
0
9
-104
-63
6
0
-85
-26
6
11
8
0
22
-52
-1
0
47
-33
3
4
4
5
0
27
-22
0
-68
-96
-36
-23
-10
-21
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
0
0
2
-37
-79
113
-98
-5
-6
-114
0
-35
0
135
-118
-140
69
-71
-50
15
0
168
102
0
5
-28
-114
-14
-47
-27
0
36
104
9
0
-32
-85
49
-130
12
0
21
63
66
-10
0
-11
-47
-59
25
0
136
22
67
-65
-56
0
-1
-20
32
0
131
77
130
3
-73
-14
0
8
77
0
302
180
113
67
-1
-15
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-128
0
28
0
12
-228
-142
-147
5
39
-36
0
50
60
0
19
-57
-60
-50
-73
1
0
31
96
57
0
14
-21
-96
15
-21
0
-20
37
87
-4
0
-13
-107
-17
-3
0
60
8
-3
5
7
0
-14
-29
-40
0
-22
-19
-178
-92
-100
-31
0
-10
-34
0
-59
-58
-78
-10
-33
18
21
0
-53
0
-34
50
-45
-48
-70
-88
30
-9
14
0
0
149
42
-151
-32
-29
15
-19
57
0
3
0
20
-20
5
-6
-42
-51
116
0
23
142
0
22
-3
-35
67
67
106
0
-8
41
92
0
0
-24
5
61
33
0
-40
17
69
42
0
-3
-89
2
-1
0
-65
-67
-6
-3
1
0
-31
-59
-6
0
-22
-10
1
-8
-17
-2
0
-30
-40
0
-53
-43
-63
-44
-55
-27
13
0
11
0
26
102
87
-13
13
6
-86
-41
77
0
0
94
92
46
38
-4
53
-41
49
0
66
0
44
-10
40
19
113
113
12
0
-3
51
0
19
-7
-25
-57
-11
1
0
12
5
9
0
-11
-23
-61
-59
-35
0
-80
49
5
50
0
-6
-74
-1
-69
0
-5
-56
-52
-35
7
0
-20
-41
-85
0
-148
-123
-93
-10
-20
0
0
-91
-54
0
5
-93
-55
-8
-6
0
-53
0
25
0
-42
68
54
24
14
19
49
102
5
0
0
-9
21
-26
-11
8
16
52
84
0
4
0
-31
-22
-59
37
-28
-25
7
0
18
12
0
-38
-36
-41
-29
-19
-10
0
27
29
13
0
-25
-17
-7
-28
-10
0
24
17
-6
16
0
-7
-19
-48
-11
0
19
30
-1
-3
-3
0
-4
-68
-4
0
28
-4
-20
-12
-43
-40
0
9
-5
0
35
11
-4
-19
-40
-43
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
-60
-98
-84
-75
-3
-46
-80
-88
-27
0
0
-67
-62
-42
29
4
3
-34
2
0
-26
0
-54
-28
29
18
30
29
37
0
19
-34
0
38
38
-12
-30
-59
68
0
-54
23
21
0
-21
63
29
-33
14
0
0
0
-1
0
0
8
0
-2
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
-24
-8
-75
-59
-44
5
-19
-2
25
0
0
-3
-36
11
65
31
-84
-17
8
0
29
0
-5
21
21
-12
6
-14
41
0
32
-26
0
24
-31
148
-34
-67
5
0
0
0
0
0
-14
6
15
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-44
10
-32
-33
1
18
28
-65
35
0
0
13
-69
5
-2
0
22
-22
36
0
-40
0
5
-47
36
5
20
-47
4
0
-27
48
0
26
-51
50
93
24
40
0
0
1
-4
0
-16
33
-3
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
33
-24
-60
30
20
24
-59
46
28
0
0
2
-17
12
43
17
-65
-24
16
0
67
0
2
-24
20
29
43
93
52
0
74
-20
0
-33
-24
2
125
6
19
0
-3
42
-8
0
45
22
-24
-1
42
0
0
0
4
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-13
-10
-24
2
11
-20
-11
-18
2
0
0
-2
-94
24
20
-1
6
-13
0
0
10
0
21
-6
6
-34
-46
14
-9
0
39
47
0
6
-14
0
17
-31
12
0
4
78
15
0
7
-16
23
3
0
0
-39
-11
67
36
0
-6
-55
16
-18
0
21
-41
-16
60
16
0
-36
-63
-4
0
36
-5
84
-39
8
-3
0
17
-29
0
-14
-44
11
82
16
51
21
0
-3
0
-22
19
27
-13
-10
2
2
37
-1
0
0
-65
-4
-6
-12
-18
14
-12
6
0
11
0
-6
-10
-21
-20
-19
10
-33
0
-58
4
0
-34
21
-3
-2
15
-19
0
-27
30
14
0
-17
-11
-7
14
-34
0
31
52
40
16
0
-21
-3
-24
-30
0
2
35
10
4
-1
0
-18
-19
-23
0
-49
-14
5
39
2
-7
0
5
-30
0
20
14
21
2
-14
-22
-45
0
22
0
3
21
15
-44
11
-24
-15
5
-4
0
0
-17
40
48
-8
-6
26
33
3
0
-20
0
26
-3
-4
60
24
-13
0
0
0
12
0
12
-12
17
9
-12
-3
0
26
18
29
0
-3
-14
6
-34
-6
0
-30
38
36
19
0
-6
-19
-2
-10
0
-27
-7
1
1
0
0
-9
-49
-5
0
15
-2
18
17
0
0
0
-41
-23
0
-34
-47
15
-28
1
11
8
0
-116
0
-31
-57
13
-85
-51
-71
-72
-138
-45
0
0
-16
-100
-46
-44
3
-3
-98
-42
0
26
0
29
-75
-62
-40
47
-76
2
0
51
12
0
-5
-41
-22
-57
21
13
0
-66
-13
-13
0
7
-4
6
-14
-3
0
36
-31
20
-28
0
-6
-38
-23
-18
0
-37
-22
6
-10
-15
0
2
16
-8
0
-5
9
-4
-20
-10
-19
0
16
-28
0
8
-25
-10
-39
-23
-13
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-266
0
0
68
-97
-77
11
12
-14
-8
-155
0
10
0
-69
-112
-14
0
-78
-45
-19
0
-66
-3
0
-19
-60
-36
-57
-83
-21
0
-33
56
22
0
4
-8
-13
46
-27
0
-2
-4
-21
-35
0
16
-11
5
-17
0
-17
-9
15
-82
-10
0
1
48
25
0
63
-39
34
-21
-114
-45
0
47
42
0
52
95
62
3
-10
-7
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-169
0
-12
0
23
-141
-66
-13
-39
-76
-25
0
-59
-41
0
1
-16
-31
-31
40
6
0
-44
-47
-24
0
6
8
31
-20
-33
0
-48
-93
14
-10
0
19
-31
-63
-17
0
-21
-25
-7
-9
-21
0
-4
-7
-70
0
29
-36
21
-65
-62
-39
0
-20
-19
0
-14
1
8
-15
-5
-7
-2
0
-50
0
-10
-78
-81
-59
-45
-23
-63
-163
-26
0
0
-8
-68
-39
3
-1
-40
-56
-7
0
-48
0
-5
-41
-29
-53
3
-133
3
0
57
-31
0
12
-15
-14
-15
-76
6
0
-9
-27
-30
0
2
2
-28
-3
-22
0
-17
-41
4
-48
0
-8
-8
-15
-34
0
-11
7
-15
-24
-16
0
17
15
-18
0
-21
-52
-10
-30
-25
-13
0
-5
-14
0
-74
-35
4
2
-8
-29
-12
0
-26
0
-3
49
-8
15
11
-3
-47
-7
14
0
0
12
-53
-17
-3
15
-63
-16
13
0
-24
0
16
11
35
23
-16
-15
-13
0
-26
-19
0
7
1
-5
23
-18
-23
0
7
-17
-9
0
3
-26
5
11
-46
0
-70
-74
-23
-20
0
7
-62
-61
-69
0
-53
-50
-63
-36
-11
0
0
-6
-84
0
-53
-41
-49
-44
-51
-9
0
21
-54
0
-92
-64
-49
-31
-21
-7
1
0
31
0
6
-20
-14
-5
12
11
15
41
6
0
0
-13
-4
-13
-2
0
15
19
-2
0
87
0
-28
-34
-39
-41
-12
-28
-23
0
-24
43
0
-14
-14
-20
-41
11
-24
0
-18
-18
11
0
12
-26
-46
-10
-32
0
-22
-11
-27
-19
0
8
-24
11
-33
0
-43
-9
-3
-16
-16
0
-11
-6
-21
0
-17
-21
-16
-36
-58
-25
0
2
-19
0
-6
-5
-13
-27
-62
-50
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-65
-67
-85
-33
-9
-24
-108
-113
-23
0
0
-40
-63
-38
-32
-13
-51
-38
-19
0
-33
0
-39
-42
-4
-14
-40
4
1
0
39
9
0
-58
9
-46
31
2
104
0
0
-15
21
0
-40
-8
23
-34
79
0
0
0
-1
0
0
12
0
-2
34
0
0
0
0
0
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
0
-14
-71
-20
-51
69
-35
-62
-57
19
0
0
3
-23
36
-25
14
36
-18
9
0
-118
0
30
7
48
35
3
15
-14
0
18
2
0
9
-31
104
-20
-17
45
0
0
0
0
0
-14
-6
15
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-40
-70
-32
51
9
-11
-26
-65
-16
0
0
-38
-40
33
23
44
39
-12
25
0
-25
0
-77
-56
0
17
29
69
83
0
-27
20
0
24
-51
-3
48
9
-3
0
0
1
-4
0
38
33
7
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
-3
-67
-86
15
12
-20
-27
-38
34
0
0
17
-43
5
-11
45
10
-6
51
0
3
0
-38
13
2
22
2
47
26
0
47
-79
0
0
12
62
13
48
97
0
-1
24
-19
0
-9
-6
-7
-1
-17
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-43
-25
-70
-37
-4
-30
13
32
-5
0
0
-2
-96
-30
13
-8
-30
31
-7
0
-8
0
45
-50
-15
-21
-29
63
16
0
-5
18
0
-30
6
16
62
-71
10
0
107
-50
46
0
13
1
-1
12
1
0
-7
-1
29
1
0
-1
-6
-16
8
0
-58
-4
-10
-21
-2
0
58
72
-14
0
-49
58
39
-27
50
-6
0
55
-19
0
-31
-10
-66
29
69
96
0
0
-5
0
4
-18
-24
-6
-15
-5
-1
3
-3
0
0
-9
-32
-6
-29
-11
26
-5
-3
0
-34
0
8
1
-20
-4
-12
-20
-13
0
-27
45
0
5
-29
-2
22
-20
-18
0
9
6
-25
0
29
9
30
-25
-20
0
-16
60
14
-6
0
-7
1
-14
-13
0
44
19
22
-72
-17
0
-22
38
-22
0
-27
-8
7
-38
2
2
0
5
0
0
-9
17
11
54
-43
-31
-47
0
26
0
5
59
50
-23
-41
-18
-21
3
-2
0
0
4
-7
29
23
23
-4
-3
3
0
49
0
15
-7
3
10
56
-6
5
0
-66
38
0
-5
-2
11
4
-47
-14
0
32
-52
23
0
20
-12
5
-5
-5
0
-14
-48
30
8
0
2
-22
-50
-12
0
19
33
26
7
0
0
-13
-2
-1
0
9
22
7
14
5
-1
0
-8
-15
0
-24
2
-41
-9
-11
15
11
0
-66
0
12
-80
-14
-92
-58
-59
-78
-64
-41
0
0
-4
-92
-21
-30
-26
36
5
-51
0
-39
0
5
-5
-35
-37
-114
-107
-7
0
-53
-75
0
2
-47
-47
15
-7
-6
0
-43
34
-60
0
-38
-10
-13
-18
-22
0
-72
-17
-23
-70
0
-16
-34
-21
-29
0
-114
-25
-26
-31
-38
0
-21
-34
-11
0
-9
-41
-39
1
-12
-41
0
-12
-31
0
-59
-49
-46
-38
-2
-7
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-210
0
0
-14
-75
-51
-83
74
-15
-5
-174
0
17
0
-36
-2
-93
-43
-7
-73
-57
0
-73
24
0
-20
-14
-14
111
-39
-17
0
-83
15
38
0
26
-40
-56
16
-37
0
-26
-69
25
-41
0
45
-66
3
-24
0
-201
-14
20
-57
17
0
-9
-1
-26
0
-52
58
1
-59
-72
1
0
-40
17
0
47
58
81
-15
-21
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
-45
0
-9
-22
-35
-32
-42
-104
-14
0
19
-68
0
-9
1
-29
-62
-1
-4
0
-89
0
-28
0
-4
-6
-31
-30
-33
0
-54
-113
-7
-14
0
-20
-32
-60
-6
0
50
-18
-65
10
-42
0
-3
36
-75
0
-26
-121
-36
2
-19
-17
0
-27
-29
0
-35
-38
-30
-27
-21
-6
-33
0
-68
0
3
-78
-125
-70
-9
-32
-49
13
-6
0
0
-32
-62
16
-62
-16
16
3
-38
0
40
0
-26
41
-50
-42
-64
-7
-33
0
-60
-54
0
13
-43
-3
-43
-16
-16
0
-60
-5
-33
0
-16
-16
42
11
-41
0
11
-65
-22
-60
0
-10
-34
49
-23
0
-81
-26
-10
-49
-3
0
8
-9
-25
0
-25
-11
-46
-9
-15
-10
0
35
-14
0
-11
-61
-67
23
18
2
-31
0
17
0
-30
7
37
26
11
4
26
-60
-8
0
0
-22
-40
49
14
17
35
1
33
0
-42
0
-17
-31
31
-7
46
-98
15
0
-20
-67
0
21
-14
20
-13
-21
-6
0
50
-78
17
0
-5
4
27
-82
-13
0
-34
-89
-45
-41
0
-15
-7
58
-39
0
8
35
-74
-43
-45
0
39
-21
-49
0
-72
-87
-41
1
-24
-34
0
3
-47
0
-85
-11
-50
-17
-52
-19
6
0
20
0
2
-51
6
-17
-2
-28
49
69
5
0
0
-2
38
15
-18
-13
2
9
12
0
41
0
18
-20
-34
-13
35
58
-12
0
-4
-26
0
21
13
-26
-57
-14
-19
0
-64
25
-17
0
16
-14
-45
-1
-13
0
-34
-15
-38
-41
0
-9
28
23
-27
0
32
-74
-22
-36
6
0
-15
-29
-15
0
0
-16
-11
-24
-46
-6
0
-16
-15
0
-21
-22
-19
-11
-40
-29
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-5
-40
-71
-18
-31
-27
-36
-6
6
0
0
14
-12
-38
5
-55
29
5
-6
0
31
0
-29
59
-40
23
-63
35
21
0
-6
-6
0
-10
-18
-6
19
1
-17
0
7
0
1
0
1
-6
1
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
5
-20
12
-71
2
-77
-10
-3
-2
0
0
24
65
-46
-30
-26
5
-14
48
0
-41
0
21
0
13
0
20
-9
2
0
0
1
0
1
-21
20
-1
0
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
-91
0
-4
-14
41
18
14
31
5
18
29
0
0
8
-23
12
36
-54
21
1
70
0
-30
0
-18
65
-28
-28
66
-39
49
0
0
2
0
-7
-21
-61
-12
-1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
-13
33
41
-47
-60
5
23
-29
0
0
32
-3
79
-13
-33
75
15
-49
0
-17
0
-47
25
14
16
20
50
30
0
-4
-23
0
-19
-22
-27
7
50
53
0
1
0
-4
0
-1
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
-2
16
34
62
32
-72
14
19
-4
0
0
16
-7
-6
65
25
-54
-10
47
0
-16
0
-39
18
-41
87
-14
-33
47
0
4
-31
0
21
-19
29
7
-10
28
0
-5
32
-10
0
7
24
25
53
91
0
-7
29
7
-11
0
25
-2
-51
11
0
1
-10
2
70
6
0
13
32
0
0
-10
15
18
8
-22
-9
0
10
42
0
0
1
-49
-3
9
30
1
0
0
0
10
14
-60
0
4
-35
65
-21
-12
0
0
34
24
-40
4
-21
40
-12
-32
0
13
0
55
-18
-27
-3
25
-2
-21
0
5
1
0
41
-4
-41
20
-11
31
0
10
-8
50
0
-12
-32
-7
4
53
0
-1
-6
-22
9
0
-27
-37
18
20
0
4
2
2
9
-12
0
9
-5
-25
0
-6
4
-4
21
-9
17
0
1
0
0
-6
0
-1
-9
31
-15
-5
0
17
0
1
-1
8
9
-21
-5
-1
0
-8
0
0
9
-5
6
-2
-3
-8
0
-8
0
-3
0
9
-11
24
-12
0
6
-12
0
-32
14
0
13
-5
-29
22
10
7
0
26
-43
-2
0
5
30
-33
6
-6
0
5
5
30
-20
0
5
-7
7
-4
0
24
-35
27
25
-2
0
-26
-13
-1
0
-45
-44
69
-3
6
-10
0
-9
10
0
-26
8
-5
13
-42
4
-24
0
20
0
-12
14
-81
-99
3
-54
-66
2
22
0
0
-33
5
-58
91
-59
-12
4
-4
0
-6
0
-47
5
-10
48
31
-26
20
0
-43
3
0
-21
27
25
-17
-69
22
0
-5
-14
-63
0
-3
-49
62
14
29
0
-20
105
-57
-58
0
73
23
-47
-36
0
31
-11
49
16
7
0
23
-27
-29
0
74
-77
-71
49
4
13
0
-6
0
0
-49
-5
-102
106
-74
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
-7
-14
-9
-9
-2
-2
0
-97
0
0
0
57
12
-11
-58
-22
12
-15
0
-19
22
0
-12
-55
-31
65
-14
33
0
-30
-6
10
0
-32
-11
-9
-20
32
0
-28
-9
-31
63
0
12
-8
-23
-69
0
-1
-12
-11
-154
83
0
24
3
-80
0
-84
23
35
-21
-31
-24
0
21
-30
0
52
61
51
14
-52
38
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-5
0
-56
-5
-63
-2
-41
-25
-101
0
10
-62
0
41
5
3
-36
20
39
0
10
-28
1
0
-37
-30
40
10
-15
0
-74
26
-43
22
0
-12
-27
6
-50
0
-52
-13
8
-59
0
0
-39
18
-31
0
-8
-5
-20
-22
8
-70
0
26
46
0
-70
-37
-5
-20
13
7
-41
0
-69
0
-9
-4
-25
-36
-100
27
-21
84
-14
0
0
-8
26
-11
-48
-8
-29
66
33
0
-40
0
6
-75
-39
-4
-13
10
38
0
-67
-2
0
-29
-16
28
20
-26
55
0
-26
11
-22
0
-1
-8
-98
32
51
0
-51
-49
9
-8
0
-34
25
-5
16
0
-112
-72
66
31
0
0
-18
-17
13
0
22
13
8
-15
-7
-14
0
2
21
0
-7
-8
42
-67
-25
-30
-13
0
16
0
-9
8
5
-28
-4
70
6
-32
13
0
0
-56
-9
-12
49
52
-52
14
-2
0
16
0
98
-49
-41
24
35
17
32
0
-42
2
0
-6
6
-7
9
-21
8
0
-3
-30
0
0
42
13
-19
-41
4
0
-19
16
77
-93
0
-10
-30
43
24
0
37
-48
-68
17
-1
0
-22
39
-33
0
-14
30
-12
19
30
-81
0
-7
66
0
-5
21
5
13
-44
-55
4
0
-31
0
15
-19
-4
-22
-4
5
39
-7
5
0
0
-27
31
-1
18
5
-59
24
-4
0
-4
0
5
-29
-9
27
22
21
63
0
-4
5
0
-11
-5
-50
-30
0
13
0
-2
-42
22
0
-5
6
1
-9
35
0
-18
-28
-13
-19
0
17
12
-1
-49
0
6
-19
-9
-26
26
0
37
-12
-21
0
41
-10
-21
23
5
3
0
7
-4
0
-25
-9
15
35
21
-32
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-45
-4
0
0
-5
-39
-1
0
0
-14
38
8
-5
0
3
16
-9
5
1
-18
-2
-6
-4
0
-41
-9
35
-17
-26
5
-5
-4
-2
7
9
0
-6
4
19
8
-11
0
3
2
31
-14
4
0
0
-19
-1
-1
-1
-1
-10
27
-18
-5
0
-23
46
0
9
1
-13
-17
20
4
-7
3
-6
2
-41
8
1
44
28
16
6
-7
-3
-15
-3
-74
-2
-61
-19
-17
-6
32
-24
3
-1
0
-25
34
6
-3
0
37
23
7
2
0
-5
4
0
9
0
8
-8
1
7
-16
7
-31
-9
22
1
-43
-8
19
56
8
-27
-22
-29
-3
-5
-32
-16
-23
-2
24
0
0
0
0
0
1
-1
5
0
0
-1
-23
0
-1
0
-2
1
-52
-1
0
5
11
5
-6
-2
-11
-7
18
7
26
7
11
9
8
-29
-4
1
4
-1
1
34
9
5
2
1
5
6
-2
0
0
-4
-24
2
0
0
-4
-39
17
3
0
12
8
-9
3
-2
41
28
5
13
6
16
9
25
0
-34
7
1
6
22
20
8
-4
2
-5
-22
4
-17
-4
8
5
27
6
-2
0
0
18
-30
6
0
0
26
-52
-22
-4
0
-25
31
-34
2
0
-41
11
2
18
16
-34
10
20
-24
-7
7
-10
-7
5
58
-15
0
3
-17
5
-3
-4
0
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
-1
27
3
14
25
-25
-29
26
1
-3
-6
21
8
-2
14
1
46
-29
-5
-3
0
-3
0
0
0
1
5
6
0
0
1
1
4
0
0
-3
-1
11
-6
0
-20
-15
9
13
3
-77
38
-18
-4
19
3
7
-3
-32
21
17
6
3
0
19
35
14
8
-10
-3
0
-3
0
0
0
2
3
6
0
0
0
0
1
0
0
-13
-10
30
-8
0
36
-4
8
-8
3
19
8
1
-1
-15
-13
8
-4
9
13
15
0
7
-6
1
19
11
2
-4
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
22
-11
-24
-11
0
35
43
-4
-26
0
-4
51
-31
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-4
2
0
20
20
-13
55
13
75
1
3
5
-21
43
5
14
1
-5
62
56
5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
-2
52
9
10
0
-7
24
20
-3
42
14
9
1
-13
-22
14
3
-4
0
0
56
-8
-3
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
48
-4
-3
0
43
-5
14
-7
0
-62
4
-6
14
15
8
-56
-64
-145
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-19
22
27
-10
22
-31
3
-39
-53
15
-12
-21
-31
-14
-15
-56
23
-58
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
2
0
0
-22
20
-7
0
0
0
-18
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
9
-32
0
0
24
-40
-58
-37
-2
34
-36
2
48
-27
-6
15
-15
12
-5
21
-11
-1
-25
39
-1
0
-5
-33
-8
0
2
-4
10
19
6
2
1
1
-3
3
-1
1
1
-3
-68
44
23
-25
-8
-41
38
-11
-13
-46
6
7
7
-18
-39
12
-17
-24
-3
-38
3
-2
24
16
-18
24
-15
-6
-11
-2
4
-7
2
9
14
-13
-4
-2
1
10
4
-15
-5
0
-17
28
-7
39
18
-10
-12
36
-19
-3
-51
-3
-11
-10
-33
-8
22
5
3
6
-45
15
-11
-4
10
-19
2
-9
-12
2
-1
7
0
8
6
16
-29
-17
-9
3
-1
-14
-19
0
2
7
15
-18
16
0
0
4
-33
30
-16
1
-1
-41
30
-26
2
23
13
-6
-10
36
-36
-17
29
23
-16
65
3
-5
-2
3
10
4
9
-5
-16
4
1
-1
-3
2
-46
-29
-6
9
4
40
-32
8
-12
-1
-1
-80
0
-2
0
-15
20
15
18
27
2
15
19
17
16
24
15
-26
-2
-28
22
3
-17
-13
-12
5
3
-3
-5
0
14
0
1
0
-1
5
-1
4
8
5
-35
17
2
-21
-1
29
-74
41
27
6
4
9
5
21
18
-43
16
-6
15
25
4
4
17
30
-6
9
16
-6
1
-14
-6
3
4
7
6
8
1
6
6
-5
21
6
9
6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
7
-7
3
-6
1
5
38
15
-38
47
5
-14
3
1
1
36
17
4
13
2
3
19
27
5
0
-6
0
0
0
4
2
11
-18
0
43
13
24
9
0
11
85
48
-15
23
5
-16
36
64
8
-5
8
11
31
-10
-4
4
-1
-8
10
12
2
5
7
-6
21
5
2
-4
7
0
-13
1
0
0
-46
6
-38
-22
5
89
-18
33
-51
-2
14
-49
-3
-43
47
29
-4
1
-17
29
52
6
9
20
-10
-5
7
-6
-12
1
18
6
7
-2
-3
10
12
-2
-2
-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
33
-17
0
0
67
22
-23
6
0
-52
58
41
32
0
1
37
84
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-5
2
-2
40
-4
17
7
43
57
14
41
41
68
39
20
-21
-24
-9
-8
5
2
-3
-12
34
-15
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
53
-9
-16
1
-31
7
49
-19
23
-8
12
-11
-16
-15
12
0
-10
-19
-10
21
8
-1
-3
-13
1
0
-14
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-40
30
-59
43
4
23
-11
-25
13
15
-42
3
2
-8
22
23
10
-26
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
-3
6
18
-25
117
27
-42
-64
9
-102
47
-25
12
-21
4
60
-36
-39
12
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
-5
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
-2
-12
0
0
-78
10
-33
21
0
0
-8
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-23
-29
41
13
-7
-10
-3
38
-7
-20
9
-6
9
-39
12
9
1
-50
-34
-2
-17
5
5
24
8
-14
-15
-18
11
-12
13
-4
4
5
3
3
-2
-9
5
10
-15
-4
3
-19
-68
-31
-58
-25
20
-31
3
6
45
-121
-14
22
25
-4
-64
-2
-11
2
-21
-12
-28
3
3
-13
-20
-26
-7
-1
2
6
16
-10
10
3
19
-3
-6
-7
-6
13
0
-21
-11
-6
3
5
-26
-67
-6
28
-30
0
-5
17
-84
-8
26
1
-9
-56
1
22
17
-28
-24
-2
21
-6
2
19
25
9
-7
2
11
-4
-11
-5
15
0
-5
-3
3
15
14
-1
-21
-4
-3
-8
2
39
20
2
0
-3
-12
7
-5
5
2
-13
39
-51
10
-19
-17
15
-19
50
13
8
26
-21
-21
6
55
10
-4
-31
35
6
3
-13
-23
-34
6
-10
18
14
23
-28
11
3
-23
23
-49
6
18
-20
-12
-9
1
3
22
16
20
47
5
-2
32
6
-9
-11
-13
11
22
13
-19
19
36
-4
3
0
-21
-4
-10
0
-6
-1
1
3
4
-1
-9
9
-18
3
1
-28
-2
22
12
21
-25
-32
-2
23
24
16
4
2
36
22
21
-30
-4
6
2
1
-32
5
4
-9
-35
-34
-4
6
-9
-9
7
8
6
-8
9
4
2
3
-3
-2
22
3
1
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-10
0
0
-17
30
11
-2
1
-24
63
-36
-52
66
1
-27
18
9
25
-35
11
5
31
2
9
-14
56
40
0
-6
0
0
0
4
8
-14
2
0
23
15
-3
-14
5
5
55
66
-18
-2
26
3
14
9
-43
46
-19
-3
-2
-16
-5
10
-8
-1
-38
-1
2
-3
4
1
21
-20
-22
20
0
0
-7
1
0
0
6
7
-16
7
3
56
-29
4
-95
1
-11
-47
-14
-56
5
27
-13
6
7
8
23
-19
-7
21
-22
-4
-2
-1
-8
-4
18
5
-9
-6
-1
6
21
1
6
-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
-2
-6
0
0
1
12
29
51
0
-57
27
-13
12
0
2
25
148
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
2
-2
6
22
43
8
7
0
17
13
24
8
-32
33
19
-14
39
15
-1
33
-21
-26
120
6
8
56
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
35
7
-10
1
6
23
52
14
60
75
-37
50
-22
-42
46
-53
-9
8
-13
21
-12
-3
-6
-9
-25
25
-7
8
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-14
24
-4
29
4
20
-26
-2
88
8
-76
4
-9
-5
17
1
18
52
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
-1
41
-25
-25
90
26
-22
-30
20
44
-15
-40
4
7
13
46
-16
49
95
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
-3
0
0
-42
-12
-12
2
0
0
-8
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-3
14
2
3
-7
5
-2
3
10
26
-5
-5
-9
15
-1
24
-29
-16
-46
-28
19
-3
26
21
-18
5
32
-19
-23
6
-16
19
-1
-66
15
-8
3
-24
-44
-4
-19
-29
27
17
13
-14
-5
3
28
-16
9
-11
-37
-5
7
7
-31
-14
0
-32
12
18
8
6
-27
17
-5
-8
41
-17
1
-4
22
-20
-12
-10
-13
-1
-31
17
-22
-24
-28
-4
-29
-10
-26
13
9
13
-22
5
3
20
-22
7
-39
-32
8
21
22
-8
-16
31
-12
-12
-2
8
-8
6
9
-11
-7
5
-29
9
14
25
-14
-6
-13
10
-9
-8
15
-7
3
-9
11
-13
3
-5
-39
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
1
-13
-15
4
-5
-9
29
-9
-54
12
-1
-5
-10
13
0
30
27
20
-8
-2
-57
-25
45
46
17
95
6
24
10
-27
0
0
1
0
-2
0
0
0
9
5
4
0
4
-1
-2
17
22
23
-11
-8
-65
-16
15
9
32
-71
12
19
-24
-13
1
7
-2
-6
19
-22
-22
26
30
5
23
3
-9
20
5
0
1
1
0
-1
0
-1
-3
28
4
-1
-3
4
7
11
12
15
30
4
-4
-27
11
22
14
34
-23
3
-42
-15
-34
5
-1
-6
-17
39
8
-7
17
15
3
16
27
2
6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
10
-3
-1
-3
18
8
-35
25
-5
2
-57
15
-44
1
0
13
7
22
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
3
-12
6
0
5
2
-41
-16
2
18
-30
-21
-13
-11
13
-13
15
6
-13
46
9
7
-19
-7
116
3
7
-27
16
0
0
0
0
0
0
0
0
-1
0
1
0
-2
-6
-1
-1
2
-4
8
3
3
-8
-52
15
13
10
-28
-16
2
12
41
-3
7
10
-20
12
14
10
-15
-15
87
-10
-9
-15
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
3
0
0
8
6
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
2
0
14
0
13
-20
-6
3
-13
-19
1
9
63
31
-34
21
-13
22
7
41
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-7
13
-6
6
8
31
2
-3
-33
-19
-13
-14
-32
-8
13
-20
5
-49
25
-10
-14
16
31
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
2
0
0
-8
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
0
-5
2
-3
3
2
3
-2
-14
3
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-31
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
13
0
46
0
-6
0
0
0
2
0
0
0
1
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
17
0
-45
0
0
0
1
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-48
0
11
0
-6
0
-42
0
1
0
7
0
0
0
-5
0
-12
0
16
0
0
0
0
0
0
0
0
0
0
0
-13
0
7
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
38
0
-21
0
-9
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-68
0
74
0
12
0
-5
0
-23
0
1
0
0
0
35
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
5
0
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-29
0
6
0
-10
0
0
0
1
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
10
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
32
1
-19
0
0
0
40
0
1
0
0
0
0
0
-49
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
-6
0
-30
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
23
0
-5
0
0
0
-2
0
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-7
0
2
0
0
0
8
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
13
0
101
0
-66
0
-6
0
8
0
18
0
6
0
0
0
2
0
7
0
-42
0
0
0
4
0
0
0
0
0
-2
0
2
0
33
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
41
0
8
0
54
0
0
0
2
0
-1
0
-1
0
5
0
32
0
7
-1
7
0
0
0
-4
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-117
0
-74
1
-75
0
-105
0
-44
0
2
0
49
0
0
0
-23
0
12
0
-23
0
-7
0
-5
0
-2
0
3
0
0
0
1
0
-13
0
-5
0
0
0
1
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
65
0
-7
0
-1
0
-1
0
-43
0
0
0
1
0
9
0
77
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-19
0
-9
0
103
0
21
0
-18
0
1
0
2
0
0
0
-27
0
-24
0
-7
0
49
0
15
0
0
0
0
0
0
0
-6
0
52
0
-17
0
-1
0
0
0
0
0
0
0
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
7
4
49
0
-7
0
-30
0
2
0
12
0
0
0
0
0
-1
0
-5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-82
1
-69
-2
-66
0
7
0
58
0
-4
0
-18
0
0
3
-50
0
-43
-2
-46
0
1
0
18
0
0
0
0
0
0
0
19
0
3
0
7
0
0
0
-1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
13
0
39
0
0
0
84
0
0
0
0
0
0
0
49
0
-4
0
-3
0
0
0
2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
46
0
22
0
-22
0
2
0
1
0
-7
-1
-14
0
0
0
-3
0
8
0
23
0
0
0
-1
0
0
0
1
0
24
0
13
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
24
0
-58
0
0
0
-25
0
-2
0
-8
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
40
1
-16
0
-50
0
-17
0
-57
-2
-88
0
8
0
-12
0
-8
0
7
0
-49
0
27
0
0
0
-4
0
0
0
5
0
-2
0
-13
0
-7
0
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-59
-1
-56
0
-32
0
-6
0
-20
0
9
0
0
0
-7
0
0
0
-26
0
0
0
-3
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
28
0
31
0
63
-1
3
0
29
-1
6
0
-8
-1
-9
0
-13
0
4
0
-8
0
-5
0
-3
0
-3
0
0
0
0
0
-3
0
53
0
3
0
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
3
-3
59
0
10
0
-14
0
10
0
-8
0
-10
0
0
0
0
0
-22
0
-5
0
-1
0
0
0
-1
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-41
-17
-102
5
4
1
-25
-2
-35
-4
41
-3
15
0
0
0
-5
0
35
0
-98
0
0
0
-13
0
2
0
0
0
0
0
-58
0
-42
0
25
0
0
0
-42
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
-43
-2
-25
6
-77
2
3
1
-45
0
14
0
0
0
0
0
-8
0
15
0
33
0
0
0
-3
0
0
0
0
0
0
0
-49
0
2
0
-2
0
0
0
-1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-19
37
9
36
66
64
0
21
3
67
1
46
7
40
0
3
0
145
-4
95
3
60
0
-12
0
79
0
57
0
18
0
-83
0
102
0
41
-5
57
0
-25
0
-10
0
3
0
-13
0
-2
0
16
0
-33
0
22
0
3
0
1
0
0
0
0
0
22
-22
51
-1
21
5
23
0
-5
0
73
0
9
0
1
0
-47
0
61
-1
-4
0
49
0
-3
0
22
0
-2
0
-1
0
10
0
175
0
47
0
-49
0
-2
0
-2
0
2
0
0
0
-3
0
-10
0
-6
0
10
0
0
0
0
0
0
0
0
-9
-106
78
13
-119
13
-50
-1
-23
-17
-13
-75
25
12
8
29
-8
-22
17
30
-42
37
14
-76
0
-7
0
43
-1
110
0
-3
2
-3
-1
41
8
81
8
-37
0
-34
0
-5
0
95
0
0
0
-9
0
-31
-2
2
0
-1
0
0
0
0
0
0
0
0
-5
-5
-6
30
-60
7
-25
-126
0
2
0
-45
8
35
0
-2
1
-38
0
-7
15
99
0
-14
0
-31
0
5
0
37
0
0
0
-78
-2
17
-1
-2
0
-19
0
-20
0
4
0
0
0
0
0
-31
0
4
0
1
0
0
0
0
0
0
0
0
0
0
-10
-47
48
35
100
34
28
141
19
-29
2
20
-2
86
0
-17
-9
-22
17
39
7
72
2
5
0
119
0
-84
0
66
0
2
-14
-25
2
3
-2
32
8
-25
0
-7
0
-5
0
-18
0
0
0
-81
0
-22
0
17
0
0
0
-10
0
-1
0
0
0
0
6
-20
-39
74
-13
-2
-63
54
5
-3
-1
17
2
33
0
7
0
32
1
75
0
-35
0
2
0
6
0
0
0
0
0
0
0
-25
5
75
0
-5
0
-20
0
-8
0
-5
0
0
0
0
0
14
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
-134
-28
-44
21
0
83
66
18
0
10
-2
68
-31
-58
0
-1
12
-30
-41
-100
-13
-73
0
1
-5
85
0
-24
0
0
0
0
23
-24
-35
-17
-11
-75
0
-12
0
-33
0
5
0
25
0
0
-9
32
0
-10
0
25
0
0
0
-4
0
0
0
0
0
0
48
6
27
-47
-41
34
9
-44
3
30
0
-59
0
-1
0
0
37
76
-3
0
-3
26
0
0
4
-70
0
0
0
1
0
0
-32
-20
1
34
0
26
0
0
0
-34
0
0
0
0
0
0
0
14
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
17
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-10
0
25
0
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-52
0
-9
0
2
0
-1
0
-6
0
0
0
0
0
4
0
-41
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
65
0
-4
0
1
0
0
0
-3
0
0
0
0
0
0
0
13
0
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-15
0
-5
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
48
0
10
0
23
-1
67
0
-5
0
26
0
-5
0
1
0
-10
0
-25
0
4
0
-13
0
-2
0
0
0
0
0
0
0
13
0
21
0
-7
0
-26
0
2
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
24
0
-26
0
-40
0
1
0
-22
0
3
0
-12
0
10
0
5
0
-29
0
2
0
0
0
0
0
0
0
0
0
-27
0
46
0
-1
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
0
12
1
58
0
-24
0
-92
0
6
0
-2
0
0
0
41
0
-74
0
24
0
0
0
0
0
0
0
0
0
0
0
66
0
57
0
-22
0
13
0
5
0
0
0
0
0
0
0
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-12
0
65
0
31
0
-5
0
0
0
8
0
0
0
-17
0
-3
0
24
0
0
0
0
0
0
0
0
0
0
0
-59
0
10
0
-95
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-4
-44
0
78
0
21
0
-15
0
-54
0
100
0
2
0
43
0
31
0
30
0
1
0
6
0
4
0
0
0
0
0
-35
-3
-72
0
-15
0
-31
0
2
0
0
0
0
0
0
0
39
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-69
0
111
0
2
0
33
0
42
0
0
0
0
0
14
0
13
0
-8
0
0
0
0
0
0
0
0
0
0
0
-84
0
77
0
15
0
0
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
2
76
-5
33
0
0
0
32
0
6
0
-1
0
0
0
-103
0
13
0
-3
0
1
0
0
0
0
0
0
0
0
0
16
0
-2
0
-92
0
0
0
13
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
30
0
-20
0
2
0
-7
0
0
0
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
44
0
-8
0
-18
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-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
2
0
-34
0
0
0
0
0
0
0
2
0
0
0
0
0
-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
1
0
103
0
7
0
5
0
0
0
-8
0
0
0
-1
0
10
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
12
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
25
0
6
0
24
0
0
0
-3
0
24
0
0
0
0
0
-7
0
0
0
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
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
43
0
-2
0
76
0
-25
0
14
0
7
0
-2
0
0
0
28
0
12
0
-76
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
1
0
2
0
0
0
-23
0
0
0
0
0
0
0
-35
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
136
-2
69
5
106
0
9
0
17
0
3
0
52
0
23
0
-40
0
46
0
35
0
-13
0
27
0
5
0
-6
0
12
0
-22
0
103
0
-9
0
0
0
0
0
-9
0
0
0
0
0
-23
0
1
0
-4
0
0
0
0
0
0
0
0
0
54
0
0
-1
2
0
0
0
-45
0
141
0
-43
0
24
0
39
0
9
0
45
-4
-3
0
0
0
-3
0
0
0
0
0
2
0
-1
0
61
0
9
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-1
60
6
63
11
-15
5
-47
0
-49
0
42
0
-32
0
-15
0
16
0
26
3
-67
2
8
0
-13
0
-21
0
52
0
0
0
15
0
-41
0
-84
0
-5
0
3
0
0
0
-8
0
0
0
39
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-28
-15
-8
0
-31
0
22
0
0
0
-31
0
3
-1
15
0
-17
0
176
0
6
0
-106
0
-1
0
-2
0
0
0
-96
0
2
0
-16
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-60
-21
-6
-6
19
27
-9
0
-38
0
-29
0
1
0
13
0
23
0
-4
0
-9
0
62
0
46
0
8
0
1
0
0
0
33
1
78
0
-29
0
7
0
0
0
-2
0
0
0
0
0
92
0
85
0
6
0
0
0
0
0
0
0
0
0
0
-1
-25
-20
15
-12
-19
0
75
0
84
0
15
0
70
0
0
4
74
0
102
-8
-4
0
-1
0
-17
0
0
0
0
0
0
0
-47
0
-10
0
-4
0
0
0
5
0
0
0
0
0
0
0
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-50
-5
57
7
1
53
1
-25
-4
47
0
-21
0
20
0
3
19
20
-1
34
14
-88
0
-6
0
26
0
1
0
-5
0
0
0
-93
0
-32
0
-42
0
0
0
-1
0
0
0
0
0
0
0
-20
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
-60
-70
-8
5
13
-9
0
-46
1
123
0
3
0
-20
0
0
-3
64
0
-33
10
42
0
0
0
-4
0
0
0
0
0
0
0
118
0
13
0
-41
0
0
0
3
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
0
70
0
5
18
-70
0
-2
0
-96
0
72
-14
-75
0
-35
0
67
0
85
3
63
0
5
0
10
0
4
0
7
0
24
0
0
0
-82
0
-73
0
6
0
0
0
2
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
9
0
56
-2
25
18
-255
0
12
0
-9
0
41
8
-1
0
-15
0
58
0
8
0
-145
0
0
0
-3
0
3
0
0
0
-1
0
-14
0
-13
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-1
35
18
-27
-1
-38
0
-39
-4
-25
-10
9
0
0
0
-93
0
-67
0
-46
0
-102
0
51
0
13
0
7
0
3
0
-93
0
44
0
-47
0
-27
0
23
0
4
0
80
0
0
0
-60
0
3
0
-24
0
0
0
0
0
0
0
0
0
0
-2
-66
0
87
-84
-47
8
19
0
2
0
-59
-1
-41
0
24
0
94
0
-49
8
6
0
-4
0
-31
0
-2
0
31
0
0
0
-87
0
-49
0
43
0
-3
0
-2
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-66
-11
0
-6
-41
-6
0
-88
-29
-93
0
44
-4
28
0
34
12
-42
0
-34
0
-50
0
-86
0
-73
0
13
0
0
0
-103
0
45
0
-3
0
-13
0
30
0
-8
0
0
0
0
0
-9
0
15
0
3
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-16
0
-84
52
0
-2
-43
19
-12
-1
49
0
-4
0
-25
-1
11
0
29
0
-7
0
-2
0
-8
0
0
0
0
0
-8
0
9
0
-31
0
8
0
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-26
-109
-24
-82
-2
50
7
-18
-8
-20
-4
-35
65
3
0
-1
30
-20
50
0
-24
-25
0
3
-5
0
41
0
47
0
0
-2
-43
-1
-38
-2
28
0
15
0
17
0
-4
0
16
0
0
0
55
0
-8
0
-5
0
0
0
13
0
0
0
0
0
0
-69
12
-18
-16
41
26
-3
17
87
19
-12
98
1
51
0
-1
1
55
0
27
0
-28
0
0
0
-17
0
0
0
-9
0
0
0
-96
4
5
0
19
0
0
0
18
0
0
0
0
0
0
0
156
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-46
-148
-4
38
3
14
-53
21
0
-137
21
-10
-25
-42
-5
-48
0
-80
-30
45
-1
27
-5
11
0
0
-1
-20
0
-5
-8
90
0
-141
45
6
3
-31
-23
4
0
-138
0
-32
0
45
0
47
0
-26
-1
119
0
73
-3
49
0
-5
0
4
0
-5
0
4
-10
-133
62
26
-80
3
-41
24
0
-121
-4
20
-8
45
-23
74
-1
-108
-55
67
-21
-40
-20
66
0
-64
0
75
0
-22
0
-8
0
13
13
97
-1
69
30
82
0
-26
0
35
0
29
0
1
0
-84
0
61
0
-54
0
76
0
0
0
-4
0
0
0
0
-24
-20
67
24
-92
8
-70
1
-32
-50
-76
31
-108
-11
43
-25
-43
-38
22
90
-82
-13
39
-80
4
-97
0
31
31
39
0
5
-66
-40
-2
79
-65
-33
16
73
0
5
0
11
-9
50
0
2
-3
5
0
3
-63
-30
0
-64
0
-18
0
5
0
7
0
0
12
-37
-111
22
-150
-15
-18
-5
47
-32
-56
33
24
-10
8
-69
10
55
-5
0
-118
-30
0
-85
-1
-31
0
85
-1
138
0
0
-42
-33
-6
-24
-1
11
-4
-35
0
-105
0
-8
0
25
0
0
-2
27
0
-31
5
24
0
-2
0
-1
0
0
0
0
0
0
-15
-38
-89
2
41
11
-33
31
44
-25
-105
-61
-59
13
55
-12
-57
-41
-50
-18
59
-3
-27
84
2
-23
41
5
0
50
0
-16
-26
-97
-89
-7
-58
-41
25
-79
3
-58
-1
-19
0
-40
0
2
-1
-45
10
90
0
5
0
-11
0
-57
0
-3
0
0
0
0
12
-27
22
-13
32
12
-64
10
44
-21
-5
-10
36
84
0
30
-18
37
21
125
-62
61
-37
22
0
21
0
57
0
-2
0
2
2
26
8
-23
0
17
4
101
-4
1
0
95
0
7
0
0
0
67
1
23
0
-91
0
0
0
1
0
0
0
0
0
0
-78
-11
-93
-10
-46
31
10
-44
-59
-11
-62
-32
-40
-18
12
-34
-30
-32
-48
30
-26
-42
35
-11
-62
-25
3
-32
2
-24
0
0
-53
-22
-86
46
-12
-13
15
-23
-19
63
0
75
2
-19
0
0
5
87
-7
42
-12
-13
0
0
0
14
0
0
0
0
0
0
-76
-33
-20
0
-58
9
28
-101
-51
6
5
10
-33
21
0
0
-13
25
-8
-83
10
-22
0
-38
14
-7
0
-5
0
-24
0
0
-67
29
12
67
47
85
0
8
3
-1
0
0
0
3
0
0
0
62
-1
-46
0
84
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
4
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-23
0
0
0
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-4
0
9
0
3
0
-1
0
-6
0
0
0
0
0
4
0
-34
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
31
0
-46
0
10
0
0
0
-3
0
0
0
0
0
0
0
13
0
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
-15
0
-5
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
48
0
84
0
-22
-1
21
0
-4
0
28
0
-2
0
-1
0
-3
0
-29
0
-37
0
3
0
-2
0
0
0
0
0
0
0
5
0
45
0
-25
0
-19
0
2
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
-45
0
7
0
-48
0
1
0
-13
0
3
0
-12
0
13
0
6
0
-29
0
2
0
0
0
0
0
0
0
0
0
-42
0
-17
0
13
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
25
0
68
1
30
0
-27
0
-54
0
6
0
4
0
0
0
35
0
-43
0
-37
0
0
0
0
0
0
0
0
0
0
0
5
0
-18
0
101
0
8
0
5
0
0
0
0
0
0
0
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
16
0
83
0
34
0
-2
0
0
0
10
0
0
0
-10
0
-3
0
24
0
0
0
0
0
0
0
0
0
0
0
-17
0
8
0
-37
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
16
0
-6
0
-16
0
5
0
-28
0
116
0
2
0
-34
0
42
0
44
0
1
0
6
0
4
0
0
0
0
0
5
-3
-2
0
1
0
-49
0
2
0
0
0
0
0
0
0
42
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-41
0
30
0
14
0
31
0
43
0
0
0
0
0
15
0
28
0
-8
0
0
0
0
0
0
0
0
0
0
0
-23
0
20
0
-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
-22
67
2
9
-6
-29
0
-4
0
30
0
25
0
-4
0
0
0
-80
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
5
0
22
0
-66
0
0
0
8
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
20
0
18
0
2
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
55
0
-7
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-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
2
0
-56
0
0
0
0
0
0
0
2
0
0
0
0
0
-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
4
0
75
0
17
0
5
0
0
0
-8
0
0
0
-1
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
50
0
7
0
25
0
0
0
-3
0
24
0
0
0
0
0
-5
0
0
0
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
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
29
0
18
0
82
0
-15
0
19
0
7
0
-5
0
0
0
77
0
6
0
-84
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
6
0
5
0
0
0
-16
0
0
0
0
0
0
0
-43
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
125
-2
67
6
47
0
-6
0
51
0
-44
0
2
0
7
0
-41
0
51
0
-65
0
9
0
33
0
5
0
-6
0
14
0
-12
0
37
0
66
0
0
0
0
0
-9
0
0
0
0
0
-12
0
0
0
-4
0
0
0
0
0
0
0
0
0
92
0
6
-1
58
0
65
0
-76
0
62
0
-43
0
1
0
8
0
36
0
-7
-4
41
0
0
0
-3
0
0
0
0
0
2
0
-4
0
23
0
16
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-1
7
6
25
15
4
8
-23
0
-79
0
48
0
-49
0
-18
0
6
0
-11
3
40
2
-26
0
-13
0
-18
0
68
0
0
0
-3
0
50
0
-6
0
-3
0
3
0
0
0
-8
0
0
0
43
0
-3
0
-15
0
0
0
0
0
0
0
0
0
0
0
35
0
-13
-22
35
0
-45
0
42
0
0
0
-5
0
3
-1
39
0
-30
0
86
0
6
0
9
0
-1
0
-2
0
0
0
-44
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
25
-66
8
-5
50
34
50
0
13
0
47
0
26
0
15
0
58
0
12
0
94
0
8
0
16
0
20
0
0
0
0
0
34
1
66
0
-34
0
-7
0
0
0
-2
0
0
0
0
0
76
0
77
0
1
0
0
0
0
0
0
0
0
0
0
-1
-44
-43
-21
-12
-3
0
54
0
-57
0
34
0
75
0
0
4
52
0
148
-8
-1
0
0
0
10
0
0
0
0
0
0
0
-102
0
-30
0
3
0
0
0
5
0
0
0
0
0
0
0
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-80
55
58
15
30
28
8
-21
-4
-13
0
-21
0
-7
0
3
8
-35
-3
68
18
-41
0
-5
0
19
0
2
0
-5
0
0
0
26
0
0
0
-45
0
0
0
6
0
0
0
0
0
0
0
-19
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
-120
67
-3
-23
17
-20
0
-59
1
91
0
5
0
-8
0
0
2
-1
0
-34
10
-8
0
0
0
-23
0
0
0
0
0
0
0
62
0
34
0
-32
0
0
0
3
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
27
0
-79
-5
26
0
-14
0
8
0
64
-14
-51
0
-70
0
63
0
96
3
46
0
5
0
7
0
-21
0
3
0
22
0
30
0
-64
0
-44
0
6
0
0
0
2
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-41
0
-12
-2
36
18
-76
0
-30
0
62
0
61
8
-9
0
-14
0
13
0
7
0
-103
0
0
0
-3
0
3
0
0
0
-2
0
-8
0
-12
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-1
-15
12
-54
3
4
0
54
-4
4
-10
24
0
-126
0
-49
0
-34
0
-42
0
-30
0
42
0
18
0
-43
0
3
0
-28
0
78
0
-141
0
-70
0
23
0
4
0
48
0
0
0
-80
0
3
0
-28
0
0
0
0
0
0
0
0
0
0
-2
-40
0
-22
-49
-3
8
7
0
-31
0
47
-2
-93
0
61
0
67
0
-29
8
121
0
-3
0
-40
0
-2
0
41
0
0
0
-52
0
-49
0
-15
0
-3
0
-2
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-48
29
0
-64
-53
-115
0
-4
-30
19
0
-15
-4
52
0
37
13
-17
0
-68
0
-39
0
-63
0
-67
0
10
0
0
0
-116
0
-38
0
32
0
-42
0
28
0
-8
0
0
0
0
0
-9
0
19
0
3
0
0
0
0
0
0
0
0
0
0
0
-19
34
-86
0
-37
16
-66
-2
-40
19
5
-1
77
0
-8
0
-55
-1
45
0
40
0
-6
0
2
0
-8
0
0
0
0
0
-3
0
-27
0
-31
0
25
0
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
10
-83
49
-69
-18
37
-13
-41
-46
-1
-90
-35
55
3
-2
0
-66
-24
-44
0
-35
-25
-1
3
-75
0
44
0
49
0
0
-4
36
-1
-16
-2
-23
0
14
0
113
0
-4
0
16
0
0
0
62
0
-8
0
-5
0
0
0
13
0
0
0
0
0
0
-51
-44
25
-101
54
30
-8
62
57
52
-12
93
1
30
0
-1
1
15
0
51
0
-53
0
0
0
8
0
0
0
-9
0
0
0
-31
4
-8
0
-44
0
0
0
8
0
0
0
0
0
0
0
107
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-49
0
55
31
-105
18
-22
9
0
-61
27
0
-25
-5
22
14
0
-80
-42
-46
-8
26
1
0
0
-35
-1
-67
0
18
-8
-3
0
-130
42
-43
-5
1
-23
4
0
-30
0
43
0
99
0
-21
0
-34
-1
34
0
100
-3
3
0
-5
0
1
0
-5
0
4
-6
-63
14
5
-148
15
66
-37
0
-107
0
-110
-14
99
-13
-13
-1
-47
-41
39
-31
83
-43
85
0
-10
0
-57
0
-5
0
-8
0
-65
8
5
-1
-7
13
-35
0
-67
0
49
0
81
0
1
0
-49
0
72
0
18
0
33
0
0
0
-4
0
0
0
0
-129
15
-51
20
-3
1
-1
4
-74
-7
-93
9
-174
-6
36
-21
9
11
41
8
-107
-8
-23
50
6
-19
0
-7
67
-62
0
7
-41
31
-41
-30
-75
-3
-16
30
0
7
0
29
-5
73
0
2
-3
84
0
31
-10
21
0
-42
0
-16
0
5
0
7
0
0
10
-8
-88
-38
-22
-31
-51
-22
15
19
-52
5
-59
42
8
-97
-71
22
-21
44
-58
76
0
-58
-1
74
0
61
-1
150
0
0
-28
53
0
-21
-65
-5
-4
21
0
-4
0
0
0
16
0
0
-2
65
0
15
5
61
0
-2
0
-1
0
0
0
0
0
0
-9
0
-10
5
-116
-3
-26
-32
3
-22
-42
-28
-50
-3
0
-60
-18
11
-80
-12
-10
-15
-55
24
3
13
35
120
0
6
0
24
-30
-40
36
-45
-50
79
75
-30
3
-93
-1
-32
0
-48
0
2
-1
-1
6
101
0
47
0
-40
0
-56
0
-3
0
0
0
0
-19
-2
-26
-7
24
23
-7
-24
9
11
50
-80
8
19
0
69
-14
33
49
13
-76
92
-37
-5
0
49
0
54
0
-5
0
2
-6
21
-67
40
0
-40
4
-12
-4
-58
0
71
0
6
0
0
0
62
1
49
0
-34
0
0
0
1
0
0
0
0
0
0
-48
-9
-69
1
-58
-12
-1
28
-142
-9
-94
-41
30
50
8
-24
-87
-34
9
-44
-12
-8
39
16
-70
-54
8
-35
2
-25
0
0
-92
-56
-23
-31
57
-28
18
29
-22
74
0
92
2
-16
0
0
-18
83
-10
-10
-8
-54
0
0
0
0
0
0
0
0
0
0
-65
-14
-25
3
-73
0
26
-162
-94
23
21
-44
-2
120
0
3
-14
31
-40
2
83
33
0
-23
5
50
0
-6
0
-19
0
0
-30
-41
57
-26
71
48
0
30
4
94
0
1
0
3
0
0
3
-22
-1
-23
0
47
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-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
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
0
-7
0
-30
0
0
0
5
0
-4
0
0
0
-3
0
0
0
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-10
0
-5
0
-12
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
-15
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
34
0
-5
0
-1
0
-8
0
0
0
4
0
0
0
7
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
-18
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-16
0
-6
0
1
0
1
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
9
0
9
0
-13
0
13
0
-1
0
1
0
0
0
-8
0
-25
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
0
8
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
29
0
2
0
1
0
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
-8
0
-5
0
0
0
10
0
3
0
6
0
0
0
-4
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
7
0
-7
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
0
2
0
10
0
1
0
-2
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
0
5
0
1
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
2
0
0
0
-1
0
0
0
-3
0
0
0
-12
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-37
0
-1
1
-40
0
-1
0
10
0
-9
0
-3
0
10
0
10
0
33
0
-44
0
-6
0
5
0
0
0
0
0
1
0
6
0
-4
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
9
0
53
0
63
1
14
0
-7
0
-1
0
7
0
0
0
-6
0
18
0
2
0
9
0
0
0
0
0
0
0
0
0
5
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
11
6
-65
4
18
0
3
0
19
0
1
0
-1
0
29
0
52
1
28
0
-43
0
-5
0
-1
0
1
0
0
0
8
0
0
0
8
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
10
0
9
-4
-24
0
15
0
6
0
0
0
5
0
0
0
11
0
-4
1
-16
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-3
-23
-1
-9
0
16
0
16
0
3
0
5
0
1
0
71
0
-44
0
0
0
5
0
-2
0
0
0
0
0
0
0
1
0
6
0
-2
0
0
0
1
0
0
0
0
0
0
0
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-9
46
0
-26
0
-8
0
-24
0
16
0
1
0
0
0
-17
0
17
0
-10
0
0
0
-1
0
0
0
0
0
0
0
-30
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
114
16
71
-6
-14
1
-5
0
-19
0
-12
0
1
0
0
1
69
0
-3
0
-41
0
0
0
1
0
1
0
0
0
0
0
9
0
18
0
3
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
-13
-1
3
-1
-2
0
-1
0
29
0
0
0
0
0
0
4
9
0
-7
1
-13
0
0
0
-16
0
0
0
0
0
0
0
21
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
46
0
-5
0
57
0
-25
0
7
0
64
-1
-8
0
-8
0
32
0
5
0
-8
0
1
0
6
0
1
0
-4
0
-2
0
8
0
-7
0
6
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-13
0
-19
2
-27
0
6
0
14
0
25
0
-1
0
-1
0
-5
0
0
0
-1
0
0
0
-1
0
0
0
0
0
-1
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
55
-1
7
1
-22
0
39
0
-16
1
41
0
-33
0
-5
0
-5
0
-14
0
-3
0
7
0
-1
0
0
0
8
0
2
0
6
0
-31
0
-3
0
0
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-46
0
-14
1
47
0
1
0
-14
0
5
0
-9
0
8
0
43
0
-4
0
-8
0
0
0
0
0
0
0
0
0
0
0
13
0
1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
7
-5
30
0
-21
-7
27
0
-30
-7
8
0
-21
0
-3
0
14
0
-50
0
10
0
-6
0
-1
0
-2
0
1
0
0
0
1
0
-8
0
-5
0
-8
0
3
0
-3
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
19
0
5
0
18
0
19
6
-26
0
4
0
0
0
-5
0
5
0
3
0
0
0
-2
0
0
0
0
0
0
0
12
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
-2
47
-14
-69
4
55
-2
22
2
-8
-2
-15
0
-7
2
4
-4
-23
0
-18
0
1
-1
5
0
-2
0
3
0
0
0
43
0
4
0
-16
0
4
0
17
0
0
0
0
0
0
0
6
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
5
27
3
5
-3
-29
0
13
-1
-7
-1
-41
0
-8
0
0
0
2
1
-25
0
-17
0
0
0
3
0
0
0
0
0
0
0
-22
0
3
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
33
-50
-26
5
5
-48
0
7
-7
-47
3
25
-2
11
0
22
-8
-61
6
14
-8
-26
0
-92
0
4
0
8
0
7
0
-25
3
35
-1
-13
8
44
0
5
0
5
0
-2
0
7
0
-31
0
50
0
3
0
0
0
0
0
0
0
0
0
0
-2
38
4
22
-2
59
-61
39
0
-26
0
31
0
0
0
-5
0
-48
-1
25
1
35
4
7
0
16
0
2
0
-4
0
0
0
7
0
-28
0
23
0
-13
0
-1
0
1
0
-1
0
0
0
-4
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
27
59
-2
-17
-68
-28
14
100
-25
58
-31
1
-56
49
2
5
12
30
4
-47
-5
-38
-33
13
2
30
0
2
0
48
0
2
0
-1
22
-54
-25
33
-1
-1
0
-17
0
-5
0
-27
0
0
0
-3
0
0
0
58
0
0
0
-1
0
0
0
0
0
0
-10
-5
4
-104
63
17
-42
54
8
-7
-6
-35
-17
-43
0
-10
-9
-2
0
-7
-2
36
0
-2
0
46
0
-1
-1
15
0
0
-6
-74
0
9
-2
-9
-2
23
0
-19
0
-1
0
1
0
0
0
7
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-25
-15
-45
8
-49
18
7
-11
-13
8
0
44
5
-13
14
16
-2
-15
-15
42
13
38
12
14
0
52
8
-5
0
-7
0
0
13
-121
2
14
-3
28
1
33
0
-41
0
-15
0
2
0
2
0
34
2
10
0
-9
0
-2
0
0
0
0
0
0
0
0
2
-22
-1
-9
46
-22
21
-10
2
84
-1
-16
2
46
0
30
7
26
-5
-108
-8
-32
0
-19
0
8
0
8
0
0
0
0
-6
-38
9
-4
0
-6
1
-4
0
-19
0
-3
0
-1
0
0
1
-8
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
-58
10
2
-9
41
-7
49
60
-66
-70
-39
23
-14
66
1
4
-36
-20
51
-78
-46
-29
12
24
-6
-25
0
-5
0
6
0
0
-31
-13
-9
-59
21
21
1
-13
1
-49
0
1
2
-1
0
0
17
-23
0
24
0
-5
0
0
0
0
0
0
0
0
0
0
-21
19
-49
48
-12
-43
-18
-1
-4
-35
18
23
-16
42
0
1
14
29
-3
-36
2
48
0
3
-2
9
0
-1
0
0
0
0
3
-3
0
-22
13
56
0
0
0
-1
0
0
0
0
0
0
3
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
177
153
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
202
109
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
214
126
-24
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
155
-25
17
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
190
-5
24
8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
171
127
-53
-14
-31
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
206
92
-34
11
106
49
-10
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
158
133
74
43
29
45
0
17
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
91
-2
92
6
53
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
174
143
76
95
144
31
70
-5
103
95
-133
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
181
8
11
-1
55
0
121
-3
48
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
160
142
5
10
55
83
-46
22
41
-24
-31
65
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
128
0
127
0
33
0
23
0
50
0
-8
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
120
42
32
141
59
149
-19
15
-21
-114
-46
41
12
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
96
0
37
16
70
5
-71
-33
-5
18
-61
-6
-30
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
146
113
66
50
10
76
-56
-71
50
27
-65
15
-13
-74
44
-113
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
0
-42
6
28
0
-9
0
7
0
25
0
23
0
13
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
247
83
113
52
148
-45
-5
57
83
18
70
-46
25
-5
-26
3
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
145
0
-24
0
115
0
26
0
30
0
31
0
52
0
-22
0
57
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
158
111
146
82
70
-41
-24
11
53
0
70
-66
1
-36
-17
-2
-20
-6
-88
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
0
60
0
81
0
74
0
31
0
-6
0
-5
0
-25
0
-4
0
-5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
123
79
11
56
49
19
60
49
33
6
29
49
75
-8
1
5
69
0
53
-12
-45
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
205
0
25
-1
73
0
58
3
5
0
64
0
130
0
57
10
45
0
6
0
-22
0
-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
0
0
0
0
0
0
0
0
0
0
0
74
164
0
87
61
89
-28
-45
65
-26
66
57
89
59
49
77
13
55
-49
92
-19
63
-4
33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
72
0
9
0
53
0
33
0
90
0
42
0
-1
0
0
0
41
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
58
23
22
52
-40
-17
12
13
39
0
85
-25
50
-9
-4
-6
50
1
-15
-13
-24
1
-4
-3
-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
0
0
0
0
0
0
0
0
0
5
121
0
24
0
93
0
116
0
56
0
0
0
65
0
34
0
63
0
53
0
-24
0
-19
0
47
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
74
8
10
1
42
5
101
4
-11
29
-41
-90
91
-2
25
-11
73
-22
-24
-35
-18
-6
41
15
9
-10
19
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
39
0
15
0
-66
0
25
0
13
0
9
0
2
0
43
0
-3
0
31
0
-4
0
12
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
99
19
82
24
12
3
42
-7
29
-9
-7
-7
11
-6
10
-5
-22
1
13
-18
-8
-2
-8
-19
50
0
24
-1
8
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
0
0
0
0
144
28
124
-59
93
9
-6
-122
76
-32
-84
-72
-9
-79
0
3
250
-42
0
-92
-1
-72
0
-13
20
-115
0
-50
0
6
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
192
129
33
21
5
-11
1
10
-10
59
-54
-40
-109
-68
12
-102
27
-1
-12
-18
-22
-25
1
-43
-109
8
117
-47
-156
3
-6
-65
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
161
0
53
3
88
0
-82
196
-40
1
-26
0
108
0
66
0
40
0
-31
0
77
0
-1
0
63
0
1
0
20
0
45
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
202
172
142
91
124
130
45
32
117
62
-31
-6
33
22
-50
-80
31
-34
5
17
75
11
-18
-50
-25
30
73
-49
-32
-53
-23
-5
93
76
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
152
-12
83
96
38
0
-19
2
110
1
23
0
-12
0
23
0
18
0
44
0
71
0
-22
0
43
0
51
0
17
0
17
2
74
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
123
232
48
201
56
91
-15
17
37
7
-125
-5
47
-35
41
105
-21
95
-19
73
13
99
-12
-9
-27
-59
30
-15
13
-35
31
-5
38
102
-17
40
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
0
-48
0
50
0
2
-7
54
0
-2
0
-13
0
5
0
79
0
-16
0
0
0
52
0
13
0
8
0
6
0
3
0
35
0
46
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
149
52
40
163
97
-54
87
3
49
-3
27
-46
-57
13
59
8
117
-24
102
-70
5
42
-32
-49
26
2
-42
13
5
3
-28
28
30
-22
9
37
-21
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
200
45
50
50
98
-1
42
86
15
0
49
-5
38
0
-15
28
-4
0
8
0
27
0
9
-1
96
0
6
0
-13
0
10
137
31
27
-40
-16
83
-19
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
117
174
75
77
51
57
23
84
62
100
22
37
-28
-33
-44
-31
94
47
-43
101
-36
37
5
50
78
96
-12
38
-15
10
-6
-32
171
147
20
-177
41
53
29
-40
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
16
0
42
0
-16
0
13
0
0
0
62
0
66
0
123
0
7
0
-13
0
-19
0
10
0
0
0
6
0
0
3
61
0
83
0
-30
0
23
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
116
3
50
18
54
43
-88
-4
96
-17
31
25
44
14
39
-54
52
-42
-4
-55
142
1
28
8
-19
8
22
8
-16
0
-34
0
57
-5
-59
-47
-46
-13
51
-6
-90
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
177
0
-30
0
147
0
35
0
86
0
47
0
30
0
5
0
102
0
-3
0
83
0
18
0
93
0
-13
0
37
0
1
0
57
0
13
1
52
0
27
0
-21
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
119
25
70
79
105
38
77
42
50
-76
26
34
-16
23
148
8
-34
23
51
11
57
10
-23
-36
39
20
24
-9
22
-4
-10
13
12
55
126
-4
-13
-67
76
48
17
-5
-67
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
2
0
3
0
47
0
4
0
24
0
-3
0
-1
0
4
0
15
0
-1
0
17
0
-4
0
-1
0
2
0
37
0
31
0
53
0
3
0
-42
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
75
4
41
-22
47
-8
52
-4
-46
19
82
59
-20
-19
-13
23
-27
25
59
1
34
2
4
-1
2
13
4
-22
6
0
13
-32
-12
0
25
-2
38
-8
94
-15
43
1
13
-17
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
134
0
139
0
147
0
54
0
-25
0
21
0
17
0
13
0
78
0
12
0
13
0
16
0
58
0
-25
0
29
0
8
-3
-12
0
-21
0
-26
0
0
0
1
0
9
0
-7
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
117
161
-30
110
55
132
58
74
61
-5
21
89
5
39
-53
1
-42
42
-16
58
25
78
-5
58
-46
22
-6
12
16
5
0
-5
5
94
13
-22
-31
-30
-16
-11
66
10
-6
-4
-3
85
25
63
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
50
0
3
0
46
0
8
0
75
0
5
0
49
0
8
0
3
0
0
0
3
0
0
0
-8
0
1
0
14
0
1
0
23
0
0
0
23
0
3
0
102
0
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
48
24
-1
-1
26
1
45
25
45
-1
27
-18
32
31
-33
6
25
2
13
-5
-22
-6
7
5
22
0
1
-8
34
0
-10
43
80
0
-16
0
-45
0
23
10
2
1
25
0
-5
0
18
-1
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
-9
0
34
0
-13
0
49
0
48
0
19
0
32
0
5
0
0
0
3
0
2
0
42
0
-7
0
53
0
4
0
34
0
20
0
102
0
-12
0
-1
0
22
0
-25
0
-14
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
132
-4
50
45
129
28
12
11
95
14
-66
23
104
3
-42
38
78
10
-13
-47
-8
-1
6
-13
24
-20
42
7
34
8
24
20
74
7
-28
29
47
2
33
-76
44
14
13
10
76
12
3
-44
-103
1
-6
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
14
0
-5
0
25
0
1
0
7
0
0
0
2
0
0
0
-14
0
0
0
12
0
0
0
5
0
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
-34
0
0
0
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
48
3
-17
-5
26
5
16
-25
-17
-1
28
-16
4
0
4
14
14
5
-6
4
-13
0
9
14
7
0
-1
1
2
-1
-1
12
-9
0
16
4
5
0
-10
10
14
-1
9
0
27
0
-3
12
43
0
4
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
10
0
58
0
-45
0
72
0
-8
0
-5
0
-5
0
58
0
1
0
-14
0
9
0
-2
0
0
0
12
0
5
0
-33
0
-12
0
42
0
31
0
17
0
-1
0
50
0
10
0
19
0
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
128
8
37
3
51
-13
5
-7
64
5
-14
-14
60
18
14
29
39
-1
-20
-34
46
7
-9
18
13
0
0
10
33
0
-6
-40
2
2
20
-61
75
13
-18
-74
14
1
35
-42
76
-1
7
37
82
0
22
-24
2
1
-25
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
25
0
0
0
6
0
0
0
-23
0
0
0
3
0
0
0
41
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
4
1
0
5
31
-1
24
0
4
-7
30
0
-9
1
-10
0
1
-1
1
0
16
2
-12
0
1
0
10
0
13
-1
-10
0
14
-8
-10
-5
23
0
-12
0
0
1
1
0
0
0
22
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-16
0
-21
0
-5
0
-10
0
4
0
10
0
3
0
22
0
0
0
9
0
0
0
31
0
-1
0
6
0
-1
0
31
0
0
0
18
0
-2
0
25
0
0
0
10
0
0
0
-3
0
3
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-17
10
6
7
61
0
49
-3
-13
8
-8
2
33
0
16
7
52
27
3
-8
-1
0
-8
-6
14
-1
8
-6
27
0
1
0
17
-1
20
-13
-17
10
3
12
-6
2
6
-5
-5
1
-20
16
7
0
3
0
17
0
6
-2
-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
2
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-14
0
-14
-1
16
1
16
-1
7
1
10
3
-3
-1
-6
0
-1
0
16
0
-8
0
-2
0
-5
0
0
0
-6
0
0
-3
27
2
5
2
39
3
4
-1
-1
0
4
-1
-7
0
2
0
-29
0
0
1
0
0
-1
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
143
2
-59
-5
-45
0
-77
41
27
0
-2
-12
-55
0
-81
0
13
0
-55
2
-42
0
-8
0
-8
0
-24
0
23
0
-18
280
68
0
1
-1
-25
0
-51
-5
72
0
47
0
-8
0
-8
0
-47
0
-8
0
-23
0
-2
0
21
0
-18
0
31
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
215
161
80
71
113
114
-114
45
121
70
-10
13
51
15
54
-181
24
25
63
76
69
7
13
-118
45
-7
-24
-32
-129
43
-10
-73
160
56
27
97
61
-43
-17
-75
-8
-61
-115
-61
-50
-5
-87
-56
-31
20
-1
-8
-70
85
14
-5
-90
-94
-9
-95
-22
-74
14
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
0
74
0
79
0
-7
0
17
0
25
0
7
0
-46
0
58
0
0
0
22
0
15
0
-17
0
-2
0
-9
0
-13
0
129
0
91
0
43
0
-19
0
0
0
-7
0
47
0
1
0
71
0
0
0
8
0
2
0
-9
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
180
19
96
-4
122
9
74
48
36
14
38
49
26
24
-10
43
-5
12
71
-22
77
-8
59
49
-34
-4
6
-7
-49
0
-23
155
95
48
-30
103
26
-27
-54
24
-30
6
6
8
-50
-5
0
-19
-25
0
-20
-61
20
0
3
-17
-71
0
2
-20
6
0
-3
67
32
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
217
1
54
0
127
14
-18
-4
-4
0
33
0
-66
0
14
0
-49
0
-56
0
-5
0
-3
0
-27
0
34
0
-10
0
-1
-1
128
0
80
0
94
0
-44
-19
3
0
-32
0
-29
0
-31
0
-159
0
48
0
-13
0
-8
0
13
0
-6
0
-31
0
-2
0
8
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
123
141
93
52
77
83
-78
34
76
63
-52
33
-4
5
37
77
58
79
22
-4
-94
12
13
9
41
48
-73
-24
24
-18
8
24
102
84
9
15
135
18
-10
-7
113
58
-53
3
-5
2
-30
-46
2
28
-5
11
41
2
1
3
-8
-42
-9
33
5
19
-1
6
83
22
-84
39
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
-22
0
63
0
-4
0
45
0
20
0
-37
0
0
0
44
0
2
0
-4
0
3
0
6
0
-1
0
0
0
0
0
2
0
1
0
104
0
-5
0
27
0
-2
0
9
0
-10
0
24
0
0
0
-6
0
0
0
-19
0
0
0
1
0
0
0
-63
0
1
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
155
9
70
111
23
-5
29
0
123
25
70
29
-31
50
41
5
84
-6
59
16
14
2
-47
22
-11
-3
-23
2
6
-2
-14
44
60
-56
116
42
20
5
31
7
-12
-4
9
13
9
1
-22
23
-11
-2
8
6
-10
0
-10
49
42
0
10
-7
-42
0
-23
12
27
0
24
-25
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
-2
0
15
0
44
0
35
0
35
0
-12
0
28
2
-53
0
21
0
-32
0
25
0
21
0
6
0
-8
0
5
0
88
0
8
0
-7
0
21
0
46
0
4
0
0
0
-13
0
100
0
-8
0
-21
0
-1
0
50
0
6
0
-6
0
0
0
-51
0
-4
0
25
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
153
1
38
1
75
-44
88
33
36
69
1
34
3
5
-20
50
87
-51
76
41
37
-20
67
-5
46
-8
10
12
-79
-18
-16
76
96
-15
127
76
48
-8
-74
-36
147
-22
-71
24
23
-3
-17
58
29
12
76
12
-40
5
-31
3
17
-6
-10
-3
19
0
19
-57
23
-25
94
-4
38
3
-27
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
4
0
-5
0
-8
0
0
0
-23
0
4
0
10
0
0
0
19
0
5
0
0
0
0
0
-19
0
0
0
31
0
1
0
2
0
-3
0
51
0
2
0
-9
0
-1
0
9
0
1
0
12
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
43
0
67
44
44
1
13
-17
7
2
25
7
-15
-3
-35
-14
16
1
-10
-4
8
3
2
-18
-13
0
2
-9
-48
1
2
7
72
0
13
35
58
-2
52
12
16
-3
5
-8
3
-3
-22
7
20
0
-4
-3
13
-5
-2
8
0
0
3
0
-5
0
2
2
-5
0
-5
-3
-16
-2
35
-5
45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
59
0
90
0
-1
0
-9
0
18
0
-20
0
18
0
13
0
0
0
5
0
2
0
32
0
7
0
4
0
1
0
68
0
-3
0
49
0
3
0
45
0
12
0
-1
0
-2
0
15
0
5
0
-10
0
-1
0
20
0
-1
0
7
0
0
0
5
0
3
0
23
0
-10
0
22
0
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
-25
14
15
43
-4
-8
23
45
-3
-62
-16
24
-9
-95
9
16
-9
82
0
13
-3
8
-17
-67
-7
33
-14
7
-6
-25
1
7
0
66
-23
129
-8
-9
6
74
-49
-28
44
23
-8
-16
12
2
55
-3
15
49
2
30
6
35
8
27
0
12
-1
-25
0
-3
12
-9
0
41
14
46
-3
67
-13
51
2
-20
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
0
13
0
-3
0
17
0
0
0
2
0
0
0
-7
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
14
0
0
0
10
0
0
0
13
0
-3
0
-5
0
0
0
6
0
-1
0
2
0
0
0
8
0
0
0
0
0
0
0
5
0
9
0
12
0
-8
0
-2
0
0
0
-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
14
17
-1
42
24
-8
1
13
25
12
0
-1
7
5
0
12
2
-6
12
-42
9
-20
8
0
17
-13
-3
16
-4
-7
0
-8
-1
-4
-1
61
34
-33
0
8
10
20
0
2
-9
-23
0
19
-1
27
-1
22
1
5
0
-4
-24
19
0
-4
3
-1
0
0
1
31
0
-2
0
1
5
13
0
-8
0
-8
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
0
-25
0
17
0
5
0
-18
0
39
0
-16
0
-59
0
3
0
0
0
24
0
0
0
-75
0
0
0
-35
0
-9
0
20
0
-3
0
84
0
23
0
8
0
0
0
19
0
-19
0
-16
0
0
0
0
0
0
0
25
0
0
0
-17
0
1
0
23
0
1
0
6
0
-10
0
42
0
-2
0
-20
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
146
72
29
-21
103
33
78
33
109
16
32
-21
62
-8
-29
-5
41
-4
41
-4
-44
-7
-28
-17
37
-1
-71
-19
-5
-1
30
10
69
6
-31
30
-35
0
-5
23
40
7
22
-24
5
-55
15
-20
-3
-1
-25
-19
8
1
22
-24
-41
3
7
5
3
0
-30
49
-19
4
71
4
49
2
96
27
69
1
42
-5
-8
-2
37
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-4
0
4
0
-7
0
1
0
30
0
14
0
0
0
0
0
0
0
-1
0
-1
0
0
0
1
0
0
0
72
0
-2
0
43
0
0
0
-2
0
-1
0
-4
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-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
2
41
1
34
1
26
12
14
-13
49
0
10
-6
41
0
-17
-1
-7
0
3
12
-23
0
-1
1
35
0
-1
-3
16
0
-3
4
68
-2
-34
2
-27
-3
-12
7
4
0
-8
-2
17
0
-20
0
3
0
13
-5
-3
0
0
0
-1
0
0
-2
-14
0
0
0
-22
0
7
1
57
0
2
10
-14
0
-13
0
10
0
-5
0
-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
17
0
8
0
-13
0
-2
0
0
0
16
0
18
0
4
0
-6
0
0
0
24
0
0
0
5
0
1
0
-2
0
0
0
35
0
-9
0
18
0
9
0
-24
0
3
0
5
0
-3
0
54
0
0
0
3
0
-1
0
4
0
0
0
-5
0
0
0
3
0
10
0
-17
0
3
0
-48
0
-1
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
20
69
41
9
25
-20
15
28
-7
2
-2
34
9
-5
17
-14
-4
10
2
-2
0
9
8
-5
-22
-2
1
5
0
8
6
20
13
20
13
25
3
6
5
6
-13
-8
-27
-52
-6
16
14
53
0
-17
3
-8
0
-25
19
-67
-3
33
0
-8
0
0
22
43
4
-8
-2
27
5
4
5
21
0
10
5
-6
0
-22
1
44
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
0
0
0
8
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
2
0
0
0
-1
0
2
0
-8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
-6
0
1
0
14
-16
15
1
12
2
42
0
9
4
-8
0
-4
0
-12
0
0
4
3
0
-7
-1
-18
0
0
-4
17
-3
27
0
22
0
-7
9
16
0
-8
-14
5
0
20
3
22
0
-6
0
-7
0
0
-1
18
0
-1
0
1
0
0
1
24
3
4
0
8
0
-6
0
-12
0
3
0
-25
0
0
0
-12
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
20
0
-15
0
1
0
0
0
2
0
20
0
-1
0
-1
0
8
0
-1
0
2
0
0
0
7
0
-1
0
25
0
2
0
19
0
-8
0
42
0
0
0
8
0
4
0
15
0
0
0
-6
0
1
0
2
0
0
0
-1
0
0
0
10
0
-12
0
13
0
1
0
3
0
0
0
-1
0
0
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
41
-2
-32
5
23
4
8
16
37
2
15
6
-27
0
13
-1
-35
5
0
-1
-8
1
-14
-4
9
0
2
0
6
0
4
-5
-42
6
7
-8
-33
16
19
-5
67
0
-1
6
9
-1
16
31
18
3
16
-8
42
0
-2
-3
15
0
0
-1
-15
0
0
-1
71
-1
37
-5
59
2
5
-5
31
0
0
1
3
1
-50
2
-16
0
-1
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
-2
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
1
1
-41
0
2
0
8
0
0
0
10
0
0
-1
8
0
5
0
-6
0
0
1
27
0
0
-3
1
0
0
0
3
0
0
0
-8
0
-5
0
-8
0
-1
0
-10
0
-6
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
27
0
-3
0
0
0
4
0
4
0
0
0
0
0
0
0
-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
9
0
0
0
1
0
0
0
12
0
0
0
5
0
0
0
9
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
13
0
-5
0
3
0
3
0
-8
0
0
0
4
0
0
0
5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
27
-32
-1
32
1
-35
18
-13
1
-12
1
-7
-5
-7
7
4
1
5
-5
2
0
2
13
12
0
2
2
-3
0
2
12
19
2
13
-1
35
-3
-2
34
8
0
-9
2
-3
0
-7
12
5
-6
-19
-6
-33
0
2
0
-20
0
2
0
8
0
0
-3
13
-1
5
2
8
-1
10
1
-24
0
3
0
20
0
-3
-1
24
0
6
0
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-10
0
6
0
-1
-3
16
0
0
2
2
0
0
0
-1
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
-4
16
-1
6
0
13
0
8
9
-1
0
0
0
3
0
0
0
-12
0
-3
0
7
0
0
0
-2
0
0
0
-1
0
0
0
6
0
-8
0
-2
0
0
1
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
140
0
16
2
66
0
25
3
117
0
42
0
28
0
-8
-1
111
0
55
0
25
0
-24
0
-31
0
-46
0
4
0
3
9
29
0
-6
5
15
0
0
5
48
0
-4
0
-30
0
0
0
91
0
0
0
1
0
0
0
55
0
0
0
3
0
0
-9
-45
0
4
0
33
0
1
0
-66
0
-2
0
-13
0
1
0
37
0
-1
0
-13
0
0
0
-1
0
0
0
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
136
105
135
241
49
65
5
58
96
7
15
52
49
87
24
44
5
96
53
58
11
92
39
9
49
70
-2
-40
41
19
14
-8
96
29
31
63
-1
41
24
29
2
20
10
74
-47
18
9
32
-7
-15
4
-5
55
52
0
-1
-18
-5
-3
-9
-3
-25
0
-3
19
7
6
17
1
6
5
-31
-81
-16
4
-74
17
-45
0
-14
-97
-96
22
8
-25
-68
0
1
6
-4
0
0
2
1
0
-5
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-1
0
-12
0
-5
0
33
0
4
0
-15
0
-2
0
32
0
0
0
13
0
-1
0
13
0
0
0
48
0
8
0
-18
0
0
0
-4
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
-1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
0
59
12
-11
-4
66
42
-3
1
13
2
9
-2
7
-1
59
-8
-25
9
4
1
45
-4
41
2
2
29
-14
0
6
2
88
0
9
-1
5
-2
-34
-3
20
1
24
-3
21
2
2
-1
44
0
0
2
-35
0
-1
-1
25
0
-1
0
-7
0
1
-5
-5
0
79
1
-5
0
42
-1
-4
0
-1
4
-41
0
0
0
1
0
-2
2
-27
0
1
1
-5
0
0
0
-3
0
0
1
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
9
0
30
0
27
0
95
0
52
0
-12
0
44
0
-8
0
-18
0
-8
0
49
0
6
0
9
0
12
0
19
0
0
0
29
0
-2
0
-16
0
5
0
45
0
5
0
12
0
-1
0
10
0
4
0
1
0
0
0
9
0
1
0
2
0
0
0
-26
0
3
0
6
0
-2
0
-31
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-7
0
0
0
3
0
0
0
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
110
43
76
-19
72
-7
50
-30
13
-8
48
42
22
8
23
8
1
25
75
64
48
8
104
14
25
-8
-5
-17
-6
1
-3
-1
-17
-30
2
50
122
4
68
-37
35
-7
28
-17
8
0
-17
4
65
-2
42
0
44
0
0
14
16
-5
23
3
-8
1
-4
1
38
13
42
-41
-17
-1
-45
-19
41
1
-68
8
-46
0
-14
6
-31
0
25
-3
-42
0
0
-7
-42
0
-9
-2
6
0
1
4
13
0
23
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
1
0
0
0
3
0
-8
0
-3
0
31
0
0
0
4
0
1
0
6
0
6
0
9
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-6
0
2
0
2
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-30
1
30
4
45
1
13
-16
16
5
25
10
80
-2
43
-37
8
-1
17
20
7
1
-12
-23
-5
-1
15
14
13
0
0
0
47
-8
16
0
23
0
13
-3
0
-1
-19
-1
23
0
2
1
35
0
42
2
27
0
0
0
-30
0
7
0
0
0
0
0
48
0
-3
-3
46
0
-16
0
-3
0
0
0
-17
0
-27
0
6
0
4
0
-2
0
4
-8
8
0
0
0
0
0
0
-1
1
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-3
0
28
0
30
0
42
0
-12
0
8
0
-13
0
-13
0
0
0
31
0
10
0
29
0
-1
0
-9
0
0
0
16
0
1
0
29
0
2
0
-7
0
0
0
8
0
0
0
32
0
0
0
3
0
0
0
2
0
0
0
-1
0
0
0
7
0
0
0
-25
0
1
0
0
0
0
0
-5
0
9
0
-8
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
36
7
44
6
34
10
23
31
54
1
13
5
5
16
-24
29
-8
-3
-6
-7
49
8
39
3
-10
5
-8
31
30
20
-3
-13
41
1
31
25
55
0
41
54
13
-3
9
-6
-5
0
18
18
8
-2
9
-6
39
0
-3
0
-6
0
-2
0
-24
0
0
10
5
0
-5
27
28
-4
-3
17
9
0
16
-7
-44
0
-14
-7
5
-1
-2
1
-48
0
1
-8
0
0
0
0
-34
0
0
-6
48
0
0
1
14
0
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
20
0
0
0
3
0
1
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
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
-2
0
5
0
10
0
20
-1
8
0
-2
2
0
0
1
0
3
0
3
2
3
0
12
0
-4
0
0
0
2
0
0
0
-2
0
0
1
-3
0
32
0
0
0
0
-6
-1
0
2
0
-2
0
0
0
-8
0
3
0
7
0
0
0
0
0
0
0
24
0
3
1
7
0
-12
0
3
0
0
0
10
0
0
0
-10
0
0
0
-14
0
0
-1
-3
0
0
0
0
0
0
0
-3
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
4
0
4
0
1
0
5
0
0
0
8
0
-18
0
-2
0
3
0
24
0
0
0
2
0
0
0
16
0
1
0
1
0
0
0
4
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
9
0
1
0
25
0
0
0
4
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
42
-2
14
-23
-23
3
-6
-1
42
0
8
1
-21
0
-8
-10
69
2
1
15
41
1
2
-15
21
-1
17
3
27
0
-5
5
77
0
14
2
37
0
-14
5
20
0
6
-3
-20
0
-1
5
12
2
3
0
-14
0
-3
-6
-14
0
-1
1
16
0
0
0
-12
1
0
-5
27
2
-4
-9
9
0
13
0
-25
0
-2
-3
5
-1
8
4
-29
0
3
0
-9
0
0
0
7
0
0
0
4
0
-1
0
-6
0
0
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
-1
7
0
0
0
2
0
0
0
-3
0
2
19
7
0
5
-1
-5
0
0
0
-5
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
-2
0
0
0
8
0
0
-1
-13
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
-17
0
0
0
4
0
1
-5
15
0
0
0
2
0
0
0
25
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
-7
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
16
0
-1
0
16
0
3
0
34
0
7
0
20
0
0
0
43
0
0
0
22
0
0
0
0
0
0
0
21
0
0
0
-34
0
1
0
-5
0
0
0
-8
0
0
0
-1
0
0
0
6
0
1
0
0
0
0
0
-5
0
0
0
33
0
0
0
1
0
0
0
12
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-37
0
30
1
25
0
30
1
9
-6
12
3
-13
6
-30
7
12
0
10
8
-41
0
24
-18
-13
0
3
0
3
0
8
4
4
4
19
12
-4
-2
22
-18
26
-6
-3
1
0
2
0
0
-1
0
0
2
14
0
-29
-10
8
-1
0
0
0
0
0
0
-10
0
-6
0
-21
1
17
-9
-14
0
6
-2
44
0
5
3
-2
0
0
0
22
0
1
1
6
5
0
0
-1
0
0
22
27
0
4
0
-16
0
3
0
17
0
0
0
10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
43
0
0
2
-1
0
0
3
3
0
0
-3
7
0
0
1
17
0
1
0
-4
0
0
1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-49
0
-1
0
1
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
1
0
-2
0
0
0
0
0
8
0
0
0
-3
0
0
0
13
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
12
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
-7
0
8
1
20
0
9
8
12
1
25
0
-19
1
-20
-4
3
0
-1
0
8
0
0
-1
12
0
-3
-1
-6
0
2
6
12
1
15
0
1
0
1
6
27
0
1
0
3
0
5
1
-1
0
-2
0
4
0
-1
3
-8
0
1
0
-1
0
0
-5
5
0
8
0
4
0
-2
-2
-14
0
-6
0
12
0
1
2
-5
0
0
0
-2
0
0
-1
-1
0
0
0
-2
0
0
0
8
0
0
0
0
0
1
0
8
0
0
0
-5
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
7
0
0
0
2
0
0
-1
1
0
2
0
0
0
0
-1
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
1
0
1
0
0
0
17
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-43
0
-1
0
-5
0
-2
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
0
-4
12
8
0
-3
-2
2
-1
0
1
16
0
5
0
2
0
0
30
12
0
5
0
17
0
0
0
-2
0
0
1
3
0
0
0
-8
0
-7
0
10
0
0
0
1
0
0
0
-4
0
0
0
-9
0
0
0
9
0
0
0
0
0
0
1
17
0
0
0
8
0
-2
-1
29
0
0
0
-8
0
0
4
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-1
0
0
0
1
0
0
0
0
0
0
0
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
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
16
0
5
0
-1
2
-7
0
0
0
2
0
-1
-2
-3
0
0
0
-4
0
0
0
8
0
0
0
0
0
0
1
-2
0
-2
0
1
0
5
0
-8
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
2
0
0
-1
12
0
-2
1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
146
127
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
27
-1
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
57
15
-41
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
35
-2
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
169
134
136
35
52
67
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
5
-94
26
-41
-1
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
89
-34
-47
6
27
-7
-61
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
176
0
-49
2
68
0
36
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
162
152
186
-3
53
58
12
2
26
11
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
74
0
-30
10
27
0
-12
0
2
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
166
131
104
42
136
60
32
13
53
60
18
35
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
148
0
60
0
-3
0
38
0
28
0
37
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
132
78
13
25
90
-4
43
-4
68
-94
-1
67
-14
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
62
0
-28
-8
-39
4
-69
9
-56
7
-146
0
-57
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
141
99
-48
-22
51
8
-54
-37
43
1
76
-37
-11
-28
-14
11
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
194
0
7
1
41
0
7
0
2
0
21
0
17
0
-58
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
164
177
13
19
113
90
-87
43
216
60
-116
109
-22
-37
-10
1
110
17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
95
0
6
0
105
0
-32
0
-16
0
39
0
22
0
-21
-7
45
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
167
124
75
14
172
93
47
-22
58
49
53
13
-32
6
-85
-74
62
39
30
-86
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
0
21
0
69
0
28
0
-8
0
18
0
7
0
-35
0
34
0
8
0
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
210
150
62
89
49
111
82
27
120
70
102
16
5
40
41
19
160
6
-48
46
49
-6
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
124
0
46
-2
89
0
-22
-4
-34
0
86
0
45
0
9
12
70
0
-12
-4
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
245
150
67
1
132
64
110
32
30
57
-10
60
-14
26
35
38
-14
43
46
104
66
7
18
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
18
0
67
0
58
0
24
0
92
0
97
0
107
0
9
0
24
0
103
0
-17
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
160
169
82
53
17
36
-11
117
41
155
16
60
35
32
-16
-29
-30
66
41
65
-9
30
14
-32
-56
61
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
232
0
37
0
108
0
112
0
103
0
40
0
40
0
85
0
49
0
-35
0
50
0
-25
0
78
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
162
27
59
86
138
80
33
40
86
71
-9
83
9
21
-11
-13
33
13
8
-21
-48
44
76
-42
-34
-14
11
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
0
76
0
58
0
2
0
70
0
30
0
97
0
52
0
61
0
13
0
70
0
33
0
-5
0
12
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
101
-2
91
30
124
41
23
20
78
-12
60
92
47
20
-41
55
-2
50
-38
15
0
51
27
-4
12
-27
50
-73
4
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
26
3
55
6
-47
2
-34
21
33
-1
-9
-2
-115
0
-85
-12
-109
0
-159
0
-36
0
-96
8
-86
0
-122
0
-52
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
46
-14
9
73
24
-36
-22
106
15
-52
-35
7
-14
19
-41
44
24
12
-125
-28
-10
-56
-47
-88
-82
27
-72
-85
-30
-12
60
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
87
0
-1
0
145
0
22
4
-43
0
-60
0
27
0
38
0
-14
0
-11
0
-36
0
-20
0
-41
0
26
0
62
0
-13
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
139
10
-34
111
65
65
80
27
54
29
28
7
66
1
-14
-2
40
31
22
30
22
86
67
-50
4
75
-23
-69
-54
-44
58
-3
13
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
115
0
131
-10
53
0
-2
5
42
0
-18
0
-31
0
40
0
93
0
60
0
-17
0
-84
0
-13
0
13
0
17
0
1
0
44
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
158
118
40
-60
89
51
138
45
140
78
64
8
63
74
-29
-20
107
59
14
52
48
13
13
46
10
20
-80
-34
-17
-5
-8
93
62
30
-43
-6
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
58
0
85
0
69
-2
138
0
-5
0
69
0
-12
0
166
0
-13
0
-19
0
93
0
3
0
-26
0
26
0
-5
0
43
0
-16
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
142
81
171
58
148
38
58
46
104
45
-18
-1
25
93
-69
96
92
85
-5
82
24
20
25
75
-9
23
58
-30
-62
-19
-29
8
55
29
-17
55
23
56
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
167
1
-31
-22
46
0
0
-22
-54
0
133
-1
33
0
98
13
11
0
-49
1
19
0
3
-2
101
0
38
0
49
0
32
35
71
-7
-45
-8
-73
-4
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
203
135
23
39
123
102
41
73
68
48
-6
57
-9
19
72
-7
112
96
-88
9
59
67
15
3
-62
20
-78
92
25
47
2
20
40
12
52
48
60
12
65
6
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
17
0
50
0
-14
0
159
0
-13
0
57
0
53
0
61
0
29
0
46
0
-3
0
41
0
20
0
61
0
-7
0
-13
0
20
0
-28
0
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
160
202
-8
43
108
69
78
14
72
73
-63
108
21
9
15
-3
10
64
5
-6
56
44
47
10
-17
-67
43
-20
-22
49
-55
34
113
108
-4
18
-13
-11
-24
118
-45
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
138
0
47
0
60
0
62
0
71
0
82
0
-26
0
29
0
112
0
-20
0
67
0
24
0
8
0
-52
0
-24
0
48
0
32
0
-4
0
73
0
49
0
-5
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
243
195
48
25
169
102
84
30
78
38
20
49
1
62
39
-5
108
106
87
61
5
47
4
76
45
-3
48
45
-11
-47
-101
40
106
121
79
-73
61
64
-87
60
-53
0
-30
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
13
0
20
0
20
0
80
0
-1
0
-28
0
5
0
-48
0
42
0
49
0
32
0
31
0
17
0
-27
0
-24
0
58
0
48
0
92
0
-5
0
-51
0
-1
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
146
73
43
55
52
-48
87
110
63
-4
67
-5
3
-31
114
4
-3
86
24
38
17
15
6
90
31
-32
69
-103
-83
-21
-29
-26
-23
-17
-71
-25
119
-7
65
-35
21
-2
28
-15
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
104
0
66
0
13
0
58
0
97
0
12
0
50
0
22
0
26
0
11
0
-23
0
11
0
94
0
-48
0
87
0
24
0
152
0
4
0
-45
0
-81
0
-10
0
21
0
22
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
148
156
98
32
95
49
68
23
42
103
139
84
137
58
-43
24
74
124
-1
102
63
102
-70
13
73
14
-30
-2
55
-47
21
95
242
57
93
50
-43
55
21
62
71
-52
29
75
45
55
0
5
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
0
4
0
73
0
-5
0
85
0
-6
0
78
0
-16
0
13
0
-1
0
117
0
-1
0
59
0
5
0
50
0
-13
0
15
0
0
0
9
0
3
0
61
0
0
0
-37
0
-10
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
256
7
61
25
25
42
41
97
98
-14
-12
40
0
47
7
-41
24
-1
44
80
8
-5
26
1
-78
-2
2
15
18
16
-19
52
127
0
13
-3
-49
-3
-41
5
-87
4
26
22
-57
-1
43
7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
6
0
94
0
48
0
139
0
26
0
88
0
126
0
-6
0
60
0
-37
0
-43
0
126
0
-8
0
146
0
-27
0
-37
0
32
0
146
0
-5
0
6
0
5
0
-8
0
-24
0
-73
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
183
-33
49
95
219
135
53
122
101
6
8
-57
14
121
-55
17
117
45
17
-82
95
42
30
3
22
-40
54
42
25
-3
37
73
116
37
23
17
59
1
83
-59
24
-39
60
-13
-67
34
26
24
-30
-43
56
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
0
-1
0
45
0
31
0
48
0
54
0
-23
0
6
0
-21
0
20
0
-5
0
0
0
73
0
8
0
-41
0
10
0
-17
0
0
0
-8
0
0
0
-13
0
1
0
66
0
-2
0
1
0
0
0
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
53
138
8
26
75
91
21
13
45
-6
8
34
14
48
6
2
97
44
23
39
90
49
-20
74
65
-13
-24
8
39
33
4
-3
-22
65
0
36
8
-41
0
-31
16
-69
-6
-45
3
136
0
-114
29
-45
6
1
-18
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
0
81
0
67
0
-18
0
130
0
12
0
38
0
67
0
83
0
52
0
79
0
84
0
9
0
75
0
62
0
54
0
130
0
-56
0
88
0
95
0
69
0
22
0
125
0
61
0
27
0
-21
0
-13
0
-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
80
120
26
71
14
103
110
96
108
153
5
-68
-15
17
87
108
83
91
15
-13
6
56
-12
101
41
18
-8
113
-4
8
9
30
57
166
25
-47
14
111
-26
40
-17
0
8
-18
-36
48
59
-24
42
75
22
110
-41
39
9
19
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
2
0
25
0
42
0
-13
0
-1
0
33
0
4
0
37
0
-3
0
32
0
-22
0
21
0
0
0
29
0
-4
0
42
0
0
0
30
0
-1
0
31
0
0
0
-18
0
0
0
-15
0
2
0
-9
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
97
4
88
89
103
43
87
67
-9
2
93
87
-8
8
-5
19
-41
-7
75
75
47
31
55
23
27
0
20
-55
13
5
-11
-13
40
0
-6
-7
81
-15
143
42
-152
0
-7
5
-3
0
-7
10
-24
0
41
3
-93
0
-41
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
57
0
69
0
29
0
102
0
24
0
61
0
22
0
136
0
8
0
80
0
-4
0
67
0
31
0
9
0
-34
0
62
0
22
0
9
0
31
0
43
0
8
0
38
0
1
0
86
0
7
0
12
0
5
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
170
102
14
-19
-16
-52
26
-31
-13
70
41
84
111
28
44
87
-28
55
83
99
48
68
21
21
1
-17
31
38
71
45
-39
68
13
-38
69
14
-126
30
13
-27
-13
-22
-13
-1
25
13
-2
-31
4
5
56
0
9
-18
37
5
-8
9
54
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
5
0
69
0
-16
0
76
0
0
0
8
0
3
0
16
0
4
0
-10
0
8
0
8
0
0
0
-45
0
2
0
3
0
0
0
-17
0
-1
0
23
0
0
0
1
0
0
0
-23
0
-1
0
-24
0
0
0
29
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
50
-8
1
-47
64
5
32
17
9
5
31
7
44
-12
-79
5
-34
-1
131
46
-22
4
115
52
6
23
14
23
26
2
5
18
43
2
69
12
30
4
25
14
7
4
50
-33
41
-3
-57
39
-91
0
-37
-5
34
0
-55
-37
74
-2
-14
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
50
0
-44
-1
37
0
-2
-1
18
0
-72
-2
-37
0
-46
0
22
0
-52
0
10
0
-57
0
-28
0
-61
0
-58
0
-55
12
-41
0
-80
0
-34
0
-65
-3
-74
0
5
0
-67
0
53
0
-11
0
-60
0
-35
0
-14
0
-61
0
-76
0
26
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
118
18
-9
-18
8
-16
-21
166
26
-105
-79
32
-20
-18
-12
106
59
-23
-12
63
-60
40
-79
94
-50
-73
11
-77
-49
-30
-96
39
31
50
-21
21
54
84
-86
-20
21
-163
-32
-130
-65
-95
-91
-22
-39
6
-30
-104
-93
48
-100
-64
-58
-32
-19
-62
-149
-16
-114
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
0
50
0
131
0
120
0
90
0
13
0
10
0
41
0
68
0
-3
0
21
0
17
0
-103
0
-42
0
66
0
6
0
144
0
49
0
47
0
7
0
12
0
-13
0
-26
0
-16
0
47
0
-2
0
31
0
5
0
6
0
0
0
41
0
-7
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
165
22
160
123
129
72
129
54
163
4
6
83
94
29
20
-102
122
-2
22
83
24
-31
46
46
55
-4
-60
-82
66
4
11
125
103
28
45
64
8
13
-123
-36
37
8
-69
10
-20
-6
-40
16
-1
0
36
-83
24
-2
-9
-31
-131
3
-11
13
-31
1
65
160
58
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
0
9
0
34
13
-25
0
23
0
30
0
17
0
-40
0
59
0
-21
0
0
0
70
0
25
0
-49
0
-6
0
-15
0
72
0
65
-2
173
0
-6
-6
13
0
-76
0
32
0
51
0
-71
0
-52
0
-31
0
-37
0
86
0
-41
0
-31
0
-19
0
57
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129
164
67
22
132
83
-19
48
129
107
53
22
106
6
105
4
118
75
4
-34
41
25
79
-25
-34
79
13
-36
-47
-90
46
24
26
96
56
55
80
74
0
-5
5
12
-51
-16
-87
-66
-49
-78
31
32
-123
-30
12
44
-5
-10
-10
-31
-24
42
-74
-35
-18
-8
75
16
-23
85
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
0
-6
0
53
0
24
0
43
0
9
0
-6
0
5
0
7
0
-1
0
89
0
23
0
-28
0
59
0
0
0
12
0
-63
0
-3
0
51
0
-12
0
111
0
-6
0
-5
0
-15
0
56
0
0
0
-32
0
0
0
-22
0
1
0
6
0
-4
0
-47
0
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
174
126
41
130
157
21
-4
17
22
47
4
32
-7
-40
41
79
82
136
0
49
93
26
5
-3
-67
39
-50
-25
58
-31
-16
62
125
121
-37
23
7
-29
2
40
-6
46
-5
-21
35
-48
2
27
11
35
-24
64
32
-100
-3
-35
-40
-68
3
64
-7
-95
-4
-96
17
13
1
-11
-4
47
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
0
60
0
17
0
-18
0
67
0
98
0
65
7
91
0
75
0
16
0
7
0
117
0
42
0
16
0
-42
0
82
0
22
0
9
0
14
0
-18
0
-47
0
4
0
-14
0
15
0
-13
0
26
0
-76
0
-9
0
25
0
-65
0
-13
0
82
0
-66
0
90
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
185
120
69
74
140
41
-90
-6
142
107
75
70
27
-13
3
6
69
76
68
-1
60
0
20
45
60
36
-23
44
17
4
-85
12
180
70
-10
79
26
-20
9
13
-67
45
-67
-31
13
74
-21
13
16
-32
59
60
21
-18
56
-124
-23
-95
-15
50
67
-24
-34
-65
73
4
-57
28
-2
84
7
13
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
1
0
9
0
-3
0
31
0
4
0
-14
0
9
0
21
0
29
0
121
0
18
0
19
0
0
0
-63
0
-6
0
29
0
2
0
107
0
-4
0
47
0
2
0
-19
0
0
0
-57
0
1
0
10
0
0
0
18
0
1
0
-33
0
2
0
0
0
10
0
-6
0
-17
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129
135
2
130
53
125
-8
48
-39
90
2
8
5
-70
-4
-64
-104
91
8
118
71
126
49
-83
11
3
2
-31
-68
106
12
-15
74
115
-3
-97
24
33
-5
-3
55
26
-4
45
3
37
-9
-27
49
-14
-1
5
22
67
-49
-76
41
-24
-2
25
-23
-128
3
-5
9
-40
0
16
16
50
-1
17
-4
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
134
0
71
0
119
0
42
0
83
0
25
0
3
0
51
0
32
0
27
0
-15
0
15
0
13
0
5
0
78
0
31
0
10
0
57
0
103
0
-8
0
98
0
31
0
-18
0
1
0
146
0
49
0
27
0
-24
0
35
0
-23
0
59
0
-5
0
22
0
-4
0
-5
0
-17
0
-71
0
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
132
117
21
-26
108
102
30
135
37
84
-15
-30
17
39
5
50
112
65
89
38
45
62
-52
36
-6
60
-13
43
-24
-26
-12
-68
143
87
-82
111
26
-13
9
112
60
0
70
-11
-22
8
20
33
-9
1
24
-99
1
32
42
50
14
-72
-8
-50
-20
-101
-27
31
63
59
21
-47
71
44
-16
52
-43
-15
4
-11
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
1
0
49
0
-4
0
77
0
0
0
6
0
0
0
-2
0
5
0
-8
0
0
0
18
0
3
0
39
0
0
0
81
0
-3
0
6
0
-1
0
58
0
-14
0
13
0
1
0
-6
0
-8
0
-7
0
-1
0
8
0
1
0
1
0
0
0
5
0
0
0
3
0
-7
0
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
160
106
1
63
48
56
4
46
106
71
16
44
30
-8
2
-33
-14
72
20
-7
87
-38
-8
73
22
29
5
-49
-13
-17
-5
-8
58
77
-5
57
76
-33
-2
74
30
153
16
-15
-27
-42
0
49
23
-13
-3
-10
-22
-64
0
12
-89
24
-2
-73
22
55
0
46
14
94
-3
52
0
37
17
21
-1
-32
0
-31
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
77
0
35
0
39
-1
60
0
-3
0
-34
0
-80
0
45
0
4
0
-9
0
46
0
-42
0
14
0
15
0
22
0
21
0
18
0
82
0
83
0
24
0
19
0
37
0
20
0
-17
0
16
0
-24
0
-69
0
46
0
-9
0
2
0
21
0
-23
0
-1
0
-41
0
-5
0
-88
0
-24
0
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
167
190
91
169
45
142
49
57
84
101
40
10
13
38
-12
55
121
79
-31
-34
36
45
-43
-70
31
34
-66
-93
37
61
5
-61
174
140
93
33
-4
-58
-42
91
124
12
30
74
49
-12
-51
-2
15
55
-20
-77
6
22
16
130
-51
-63
-2
-62
-54
-5
-33
-38
54
-6
13
-14
4
67
-24
6
44
19
2
99
-33
13
-7
-72
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
21
0
10
0
26
0
1
0
90
0
8
0
129
0
9
0
-22
0
-2
0
14
0
-5
0
39
0
0
0
-20
0
16
0
80
0
-12
0
61
0
-4
0
-20
0
-2
0
50
0
8
0
-7
0
-5
0
-5
0
5
0
-22
0
0
0
41
0
0
0
2
0
0
0
0
0
0
0
7
0
2
0
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
69
5
133
-5
162
18
48
32
92
-3
66
52
32
-5
66
56
-8
0
-52
55
-22
2
34
89
60
7
25
8
-36
3
-14
18
128
-2
-48
-21
22
-1
-115
12
-24
1
30
-2
81
0
-5
15
-26
0
-34
-4
42
0
5
-1
24
0
-3
-9
-68
1
-14
0
38
0
24
2
-52
-5
-49
8
16
0
-39
-13
-30
0
-19
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
8
0
-9
0
45
0
187
0
63
0
42
0
45
0
23
0
12
0
41
0
-27
0
63
0
31
0
99
0
-66
0
151
0
-25
0
83
0
49
0
32
0
5
0
0
0
-52
0
69
0
16
0
48
0
-7
0
95
0
39
0
-10
0
16
0
0
0
18
0
0
0
24
0
-66
0
3
0
28
0
-8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
209
75
35
8
37
18
2
129
79
2
12
-34
66
51
0
17
90
60
30
15
70
10
-23
12
-53
28
-62
50
52
-20
117
63
73
-13
83
60
100
27
25
6
62
-53
70
-74
-95
8
58
18
58
-37
74
13
17
0
-53
-118
-4
27
-22
-58
-38
13
13
89
20
6
76
-5
49
32
1
-46
28
0
-55
41
-6
3
-126
-31
48
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
1
0
46
0
-1
0
47
0
-1
0
58
0
0
0
-2
0
0
0
21
0
-16
0
29
0
-1
0
16
0
-5
0
0
0
1
0
10
0
13
0
13
0
-12
0
17
0
-1
0
1
0
0
0
44
0
0
0
21
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
-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
86
142
8
41
0
56
-1
71
-13
58
4
84
0
27
3
8
12
4
-1
-7
2
-7
0
5
52
-45
-25
31
-20
-5
1
-33
10
90
-5
23
0
53
0
69
61
14
-2
4
9
-53
-1
42
34
-63
0
-13
-1
-22
0
-14
-5
31
0
27
2
-21
1
2
4
41
8
3
1
-6
-1
-32
6
-40
2
25
0
22
0
22
0
-44
0
-51
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
-12
0
105
0
-18
0
-4
0
-5
0
25
0
109
0
-2
0
-21
0
18
0
14
0
17
0
23
0
96
0
72
0
63
0
33
0
99
0
-68
0
100
0
-8
0
7
0
46
0
71
0
-18
0
-23
0
-5
0
17
0
0
0
-2
0
-5
0
15
0
-44
0
94
0
25
0
-13
0
0
0
-25
0
0
0
5
0
1
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
135
4
-35
158
93
80
44
58
114
29
137
22
26
33
20
16
-13
42
5
-13
28
42
-57
75
56
-22
55
-5
87
15
-50
204
136
13
9
-95
25
-13
95
120
89
4
139
49
13
-25
18
4
-66
1
-4
-91
-26
32
30
-102
53
0
42
-19
-24
12
98
-13
21
-3
70
72
100
4
-35
-30
1
3
-5
3
6
5
-30
6
14
-1
90
3
23
-2
-45
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
13
0
-7
0
-13
0
-1
0
-29
0
14
0
43
0
-2
0
3
0
0
0
0
0
5
0
90
0
-7
0
42
0
3
0
21
0
12
0
-2
0
0
0
-7
0
0
0
-12
0
-4
0
21
0
0
0
5
0
0
0
9
0
0
0
-14
0
0
0
-8
0
-2
0
-1
0
0
0
10
0
0
0
2
0
0
0
2
0
0
0
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
-4
98
1
-12
29
-60
4
57
2
46
0
6
3
1
-1
26
20
5
1
30
16
-23
-6
42
29
74
-8
-1
8
13
0
-29
31
39
0
20
19
13
0
66
1
41
0
31
0
-2
0
-87
7
-16
0
-16
-29
17
-1
0
14
-36
0
17
-25
9
-23
-4
25
9
0
10
-1
49
0
-33
-3
22
0
13
3
-41
0
22
0
-2
0
-12
-1
34
0
-4
0
-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
85
0
39
0
31
0
4
0
89
0
30
0
98
0
15
0
119
0
-4
0
-2
0
-24
0
18
0
12
0
30
0
-32
0
44
0
-13
0
33
0
1
0
31
0
-1
0
122
0
-3
0
-5
0
0
0
-8
0
-5
0
31
0
-4
0
41
0
0
0
2
0
-5
0
-13
0
0
0
17
0
0
0
35
0
-9
0
-8
0
-8
0
13
0
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
178
57
-14
-33
59
-3
-16
-1
1
57
27
10
5
-5
-72
94
6
-4
-6
38
-2
-19
164
32
48
-18
43
2
35
-19
49
73
122
42
77
35
80
-22
5
84
45
13
27
7
1
1
69
0
13
-29
-45
7
-37
2
63
47
-32
-16
29
-5
17
-4
89
70
27
8
-5
7
6
-3
-9
33
-25
0
47
21
18
0
31
73
28
0
28
17
-54
0
-13
-9
-43
-3
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-2
0
0
0
2
0
49
0
0
0
-2
0
0
0
34
0
5
0
31
0
1
0
-27
0
0
0
10
0
0
0
76
0
2
0
13
0
0
0
4
0
-6
0
3
0
0
0
9
0
0
0
-31
0
1
0
5
0
0
0
3
0
0
0
-5
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
67
2
31
20
51
4
12
6
7
1
5
8
92
3
-29
14
51
-7
19
43
76
-1
-42
12
23
1
-19
7
24
0
17
41
52
-10
-46
-45
40
0
30
60
55
-1
-41
8
100
0
45
1
-1
-4
4
-3
-21
0
24
-13
23
0
-33
4
-18
0
-50
-4
13
-8
-33
0
6
0
23
4
9
0
6
0
-14
0
2
-2
-53
0
1
0
6
0
-13
2
25
0
-4
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
106
0
14
0
80
0
47
2
57
0
6
0
21
0
-26
-1
53
0
102
0
37
0
-34
0
81
0
-24
0
28
0
-25
0
29
0
3
1
5
0
2
3
-9
0
2
0
6
0
-2
0
-38
0
-1
0
-19
0
1
0
56
0
1
0
50
0
4
-5
-16
0
-1
0
58
0
-3
0
-61
0
-1
0
42
0
13
0
-26
0
-2
0
-50
0
0
0
31
0
-5
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
192
110
85
50
83
138
14
34
108
188
50
138
112
50
115
43
103
117
93
52
101
98
9
61
74
59
-24
41
-45
23
1
-10
121
86
31
55
49
84
15
48
-61
11
16
14
-9
-46
31
-74
53
22
10
-76
66
73
-9
35
-44
22
-10
-30
-37
-62
5
-55
-15
-24
-2
66
-64
40
-1
-10
-128
-134
6
-10
39
24
-1
-97
-89
-108
17
-16
-24
-126
-4
16
24
3
-1
17
42
-17
0
54
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
6
0
9
0
-1
0
66
0
12
0
33
0
2
0
30
0
1
0
93
0
0
0
40
0
-1
0
179
0
30
0
-6
0
0
0
4
0
0
0
-2
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
-16
0
0
0
7
0
0
0
34
0
0
0
0
0
0
0
17
0
0
0
1
0
0
0
-6
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
103
-2
30
16
137
-3
110
69
17
2
42
-92
25
-8
65
70
50
-34
9
38
-111
0
31
42
59
3
-29
17
-43
0
-33
5
100
2
4
-1
23
-5
-3
-5
74
-4
-44
-9
88
5
0
-1
55
-1
-30
15
-71
0
5
-10
75
0
-8
-4
-74
0
12
-7
89
0
73
0
40
0
5
-2
-88
0
2
8
-41
0
1
17
-61
0
2
6
44
0
6
5
-6
0
16
1
-83
0
-18
2
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
46
0
25
0
54
0
70
0
9
0
89
0
-25
0
46
0
41
0
111
0
24
0
-31
0
6
0
58
0
4
0
53
0
2
0
-30
0
-1
0
99
0
7
0
25
0
-1
0
-25
0
3
0
3
0
0
0
21
0
-5
0
-24
0
1
0
-25
0
3
0
0
0
1
0
-8
0
-2
0
25
0
1
0
-84
0
0
0
-1
0
0
0
-8
0
1
0
9
0
0
0
22
0
-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
183
138
60
63
131
116
7
85
120
80
80
64
84
30
1
89
61
90
116
7
62
66
-42
121
96
145
33
-4
-120
42
-9
121
-5
13
-7
71
31
79
9
37
-47
49
-6
51
-23
-56
3
-16
29
-49
-1
91
3
91
0
71
-27
-49
-12
66
-46
48
2
-25
94
145
-4
39
47
-6
4
66
-24
-75
5
-18
-25
-23
0
-29
-25
62
-1
26
-10
23
4
14
-69
-30
-7
-48
-12
-15
0
-30
8
21
1
15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
6
0
0
0
0
0
34
0
-7
0
54
0
-7
0
5
0
-5
0
18
0
9
0
-41
0
0
0
-29
0
1
0
5
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
-9
0
3
0
5
0
0
0
-5
0
0
0
-9
0
0
0
1
0
0
0
2
0
0
0
8
0
0
0
-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
48
139
2
121
15
77
5
52
31
94
31
51
42
91
-7
84
10
50
-5
60
8
49
-3
-6
-21
-91
-27
77
-35
35
-3
94
1
110
-7
22
0
73
-3
21
-24
67
-5
-27
5
20
0
7
5
31
0
97
3
52
0
-1
-32
65
0
15
0
-43
0
-3
0
21
0
-8
-6
50
0
-25
-3
-22
-2
-17
-2
-50
0
-19
4
72
0
51
0
4
0
30
-24
23
-5
-1
-1
-8
0
-4
1
41
0
5
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
5
0
63
0
85
0
109
0
-42
0
20
0
-59
0
34
0
24
0
32
0
49
0
19
0
15
0
-22
0
-7
0
66
0
2
0
39
0
8
0
63
0
2
0
46
0
0
0
81
0
1
0
50
0
0
0
20
0
0
0
20
0
0
0
20
0
0
0
-48
0
7
0
5
0
-3
0
-8
0
10
0
9
0
0
0
-3
0
0
0
-3
0
0
0
-8
0
0
0
1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
124
7
112
-52
78
6
-12
110
86
14
15
-15
78
27
-10
34
100
21
24
30
123
72
80
-7
-12
-6
59
6
42
27
-7
-42
96
4
56
49
66
-1
126
35
78
-4
37
1
84
-2
-23
48
111
-17
80
-35
-9
-1
-53
23
53
0
31
-5
-24
-4
-9
22
-33
7
42
13
-65
-4
68
58
-8
0
56
31
-53
-2
-95
-67
-75
7
23
5
-14
-13
-3
-5
-14
0
2
-49
-44
-3
7
-24
-17
0
-16
3
94
0
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
8
0
0
0
3
0
0
0
85
0
4
0
7
0
5
0
17
0
0
0
31
0
0
0
-1
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
31
0
45
18
75
1
91
-1
53
1
59
6
11
3
50
-16
-76
0
46
68
-3
-12
33
12
26
-10
42
3
12
0
31
2
-43
0
-1
1
5
0
69
4
-17
0
4
-8
19
0
6
0
-5
0
17
-2
-56
0
31
-1
4
0
-6
0
-19
0
-10
0
61
0
13
2
-3
0
-27
2
66
0
-1
12
32
0
0
-1
-31
0
1
-2
12
0
0
-1
-77
0
0
0
32
0
-2
0
-25
0
0
0
-23
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
3
0
39
0
13
0
49
0
29
0
46
0
2
0
185
0
9
0
32
0
-22
0
88
0
-22
0
-5
0
-6
0
56
0
1
0
-1
0
1
0
2
0
0
0
1
0
2
0
67
0
4
0
8
0
-1
0
4
0
4
0
10
0
4
0
32
0
2
0
51
0
0
0
17
0
0
0
-25
0
-2
0
19
0
3
0
10
0
0
0
-30
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
73
-13
113
-77
3
24
-14
27
68
-27
-44
-50
11
-5
13
61
53
-18
26
47
14
19
-37
-4
14
-18
89
-1
89
1
24
59
99
3
-38
-7
48
1
-35
44
28
0
7
-13
32
0
-27
-76
72
32
72
9
-1
-2
41
39
57
1
42
39
36
-2
5
-3
75
3
7
-8
75
7
5
44
4
-1
45
1
-42
-2
-41
0
-51
-5
41
6
28
0
123
0
21
-2
-20
-13
72
0
5
-6
8
0
-4
0
-5
0
1
13
-31
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
-7
0
0
0
19
0
-1
0
-10
0
2
0
4
0
5
0
-6
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
16
0
25
-47
79
4
5
6
41
0
58
8
86
0
18
126
63
-24
-45
1
34
-7
89
5
-16
5
-19
0
-53
-1
-24
6
49
0
8
0
-5
0
1
2
49
0
1
-2
61
0
0
-13
50
0
13
2
2
0
0
3
42
0
-4
0
-29
0
-2
0
-61
0
0
-1
41
0
25
-8
28
0
2
6
24
0
1
49
-21
0
-24
-3
95
0
-1
0
-79
0
0
0
-14
0
0
4
-5
0
0
0
0
0
0
0
-17
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
58
0
27
0
43
0
17
0
102
0
66
0
109
0
-13
0
21
0
-5
0
41
0
-2
0
111
0
49
0
18
0
0
0
-2
0
14
0
-46
0
0
0
25
0
-1
0
5
0
-2
0
17
0
6
0
44
0
2
0
-5
0
-3
0
54
0
0
0
14
0
-1
0
70
0
3
0
70
0
5
0
10
0
0
0
-33
0
0
0
-4
0
0
0
5
0
-23
0
5
0
0
0
4
0
2
0
9
0
0
0
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
91
18
97
46
60
-9
144
81
31
42
9
49
-25
45
-64
115
90
1
97
-78
69
2
50
31
-30
8
104
71
-96
-9
7
23
14
9
73
69
-43
-5
74
25
65
-8
-9
0
43
8
66
-17
58
0
24
4
6
0
-37
-1
31
-4
-8
-1
13
0
8
-25
4
1
-1
1
53
2
13
25
53
0
79
-23
-56
-3
41
5
20
-1
-24
-4
4
0
49
12
-26
13
-29
-5
-4
-3
8
25
66
0
10
0
-41
0
-21
-13
12
0
-1
-1
-7
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
0
6
0
3
0
0
0
-6
0
3
0
6
0
0
0
35
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-12
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
44
0
2
-3
98
-1
8
32
45
0
1
1
57
3
24
-9
32
0
-8
3
-33
-1
3
1
-40
0
22
-7
57
-4
-92
0
-3
0
0
1
32
0
-9
0
1
0
2
5
10
0
13
0
5
0
6
-15
17
0
0
0
30
0
0
0
29
0
13
0
14
0
1
-2
-42
0
0
-1
-33
0
-19
1
-14
0
-8
-1
19
0
-1
-1
57
0
0
0
35
0
-3
-1
20
0
-5
0
-1
0
0
0
-6
0
0
0
0
0
0
0
-7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
12
0
2
0
44
0
-16
0
4
0
5
0
93
0
41
0
-2
0
0
0
-5
0
15
0
-16
0
2
0
-4
0
-2
0
0
0
0
0
43
0
5
0
15
0
0
0
72
0
0
0
-4
0
0
0
-5
0
0
0
-14
0
-2
0
1
0
0
0
2
0
-3
0
52
0
-4
0
5
0
0
0
30
0
3
0
1
0
0
0
-5
0
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
90
12
19
15
132
-1
87
57
111
-21
13
50
46
9
-45
74
44
-14
49
37
5
0
-46
-64
31
10
48
23
0
0
20
33
109
1
9
4
-4
0
-2
64
49
0
5
3
-31
0
-13
12
-45
0
27
-2
66
0
-6
0
-31
1
42
-12
-26
0
-8
-34
27
0
5
0
57
0
4
-13
10
-5
-30
2
90
0
45
3
-31
0
-8
-1
-51
0
1
-50
-21
2
-39
13
90
0
5
0
41
0
7
0
-30
0
4
0
24
0
20
0
-66
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
-20
0
-1
0
27
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
59
0
-49
7
47
0
1
-31
47
1
5
10
7
-5
-8
-12
25
0
13
-3
24
0
4
-13
6
0
5
0
18
8
2
0
39
0
0
0
-5
0
0
1
29
0
14
0
-1
0
1
1
-35
0
0
7
4
0
0
1
-31
0
0
1
-6
0
0
-1
5
0
4
0
0
0
1
0
-13
0
7
0
34
0
1
-1
8
0
0
0
25
0
-3
2
24
0
0
0
-22
0
3
0
-5
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
10
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
14
0
-15
0
23
0
5
0
1
0
4
0
50
0
12
0
-20
0
5
0
44
0
-12
0
56
0
1
0
7
0
-43
0
2
0
0
0
37
0
0
0
2
0
0
0
6
0
5
0
8
0
0
0
31
0
6
0
0
0
0
0
8
0
-3
0
-3
0
6
0
-2
0
7
0
34
0
0
0
-1
0
3
0
13
0
0
0
-6
0
0
0
-13
0
0
0
6
0
0
0
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
98
74
17
1
56
49
3
25
13
82
-5
21
22
44
3
67
68
20
-5
23
49
37
7
29
3
30
0
56
-60
71
-23
61
17
-16
0
67
-5
5
0
-39
6
-21
0
16
17
77
0
5
20
-26
1
-32
5
-34
0
-49
5
74
0
-5
1
13
8
-25
42
15
0
37
10
106
2
-10
-31
-11
0
14
47
-75
1
3
-46
87
0
-33
9
48
2
0
0
15
0
-8
-2
28
0
-2
9
42
0
0
-17
56
0
10
0
-25
0
-1
0
79
0
-1
-6
3
0
0
3
15
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
6
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
91
0
3
2
23
0
42
-4
41
0
-31
1
-28
1
50
5
52
-2
3
-13
-32
0
-24
0
41
-1
7
2
-19
0
-10
0
35
0
0
1
31
0
1
0
2
0
-1
0
4
0
3
0
20
0
-3
-7
-43
0
-2
0
-13
0
0
0
20
0
0
-8
-4
0
0
-7
-1
0
1
0
32
0
0
0
-13
0
-1
0
21
0
0
1
-15
0
-5
2
-8
0
0
0
-15
0
0
7
1
0
0
0
-6
0
2
0
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
16
0
4
0
3
0
-1
0
16
0
2
0
-22
0
-3
0
-14
0
0
0
-2
0
1
0
-5
0
0
0
0
0
0
0
4
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
25
0
1
0
0
0
0
0
-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
110
54
41
95
43
85
0
19
87
-29
0
59
31
26
1
1
30
39
-20
57
6
-11
-8
-15
-16
-11
20
-21
-39
41
0
18
15
23
0
14
-1
56
0
42
-18
17
0
-6
-7
24
0
-15
-9
58
-1
-20
4
30
0
-6
-19
8
0
-32
-8
34
0
-2
-5
20
-7
51
5
48
0
33
-5
15
1
-37
5
-25
4
-13
-34
-94
-1
-24
30
73
0
1
0
2
-1
-12
15
-13
0
1
4
-15
0
0
3
35
0
0
0
76
0
3
0
6
0
6
0
-42
0
-3
-4
-49
0
0
0
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
101
0
39
0
6
0
8
8
-15
0
66
0
-33
0
-6
9
-107
6
-35
24
8
0
-16
24
48
0
-37
0
32
0
1
0
13
0
-8
0
13
0
3
-1
2
0
0
-7
-4
0
0
0
-3
0
0
0
-3
0
0
0
6
0
0
0
13
0
-2
-1
53
0
8
7
9
0
4
0
44
0
1
0
-2
0
0
6
13
0
-1
0
-3
0
0
0
58
0
-7
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
-1
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-27
1
32
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-33
-2
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
154
82
126
49
84
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-100
5
-47
2
15
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-6
9
49
35
-27
-42
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
112
0
-1
2
89
0
34
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
37
79
31
11
50
-49
-32
-9
47
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
0
1
10
89
0
-41
0
43
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
48
21
37
-20
52
-5
3
8
45
-20
-25
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
7
0
14
0
49
0
-4
0
-16
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
88
44
14
-40
-5
21
2
76
-52
-66
3
-57
100
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-11
0
-13
-8
-60
4
33
14
77
7
22
0
-21
0
-120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
22
-45
9
59
40
3
-29
49
21
25
14
-26
-31
-122
-10
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
37
1
22
0
24
0
50
0
-16
0
16
0
-37
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
26
12
13
58
69
-5
5
59
23
-60
23
-39
69
-75
49
31
64
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
105
0
39
0
58
0
-29
0
66
0
37
0
30
0
-24
-7
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
79
12
62
18
89
26
-42
55
20
-24
-4
43
-45
-27
16
-67
-65
-20
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
59
0
149
0
-12
0
107
0
0
0
62
0
-51
0
63
0
14
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
31
9
49
63
85
41
-66
141
10
84
12
-11
1
5
53
78
46
-49
12
-13
66
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
2
-2
74
0
29
-4
-30
0
54
0
30
0
-14
12
66
0
28
-4
21
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
32
-39
66
-26
6
47
15
110
19
0
10
-8
19
49
39
67
49
-29
19
96
45
-38
-27
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
19
0
49
0
69
0
81
0
97
0
-66
0
9
0
62
0
24
0
-29
0
7
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
86
66
30
51
25
-42
103
45
48
15
-67
50
56
4
-4
16
20
25
68
14
-31
30
-67
-71
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
110
0
74
0
23
0
19
0
46
0
-6
0
3
0
22
0
49
0
49
0
146
0
-41
0
-19
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
-32
16
149
102
97
6
51
-9
43
72
29
49
32
55
29
14
5
-38
13
-22
56
5
-11
75
-35
-7
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
50
0
82
0
50
0
9
0
25
0
47
0
59
0
39
0
37
0
-3
0
37
0
5
0
7
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
17
22
34
76
31
6
81
9
-31
12
66
70
37
71
81
57
61
20
-63
-13
51
-7
-39
37
-20
48
-86
35
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
30
0
66
1
-38
2
41
2
90
0
-2
-1
-10
0
-50
-16
5
0
-75
0
51
0
-58
8
24
0
-105
0
-43
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
94
-50
16
-7
-15
-35
25
-16
3
-79
23
-42
-36
-55
-9
-51
-14
-16
-79
-20
41
-42
-50
-38
-19
13
51
-37
-30
-52
-74
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
53
0
1
0
68
0
68
5
10
0
-4
0
5
0
31
0
-9
0
22
0
-43
0
-57
0
42
0
33
0
114
0
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
39
13
-34
46
40
8
26
-34
-58
12
62
-2
13
-12
32
58
-72
3
-44
27
99
17
61
-9
-17
42
5
1
66
-27
21
-46
47
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
61
0
52
-2
86
0
-5
4
27
0
-5
0
-20
0
32
0
47
0
3
0
-22
0
-34
0
-7
0
-14
0
-45
0
-27
0
58
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-10
32
76
123
75
41
-109
11
-12
-38
42
32
-16
24
51
88
1
-21
49
10
2
-21
26
-23
-70
-38
-33
0
-82
28
7
-21
-6
46
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
51
0
-23
0
53
0
9
-2
191
0
9
0
93
0
33
0
40
0
-27
0
41
0
70
0
-73
0
-56
0
-76
0
-8
0
0
0
3
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
143
72
43
49
105
8
7
47
35
29
-30
37
23
-24
52
-21
24
13
11
18
65
46
-1
-4
-24
68
9
1
131
-34
-78
7
46
22
31
-7
-14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
1
48
-5
42
0
93
-2
-3
0
84
0
25
0
64
13
42
0
-29
1
42
0
8
-2
73
0
-13
0
10
0
66
6
-3
1
-56
4
-5
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
41
-4
50
5
102
7
61
-50
55
-14
21
86
48
10
47
-22
34
1
29
4
4
-72
46
-84
-43
-93
49
61
-42
23
26
-26
36
23
86
10
7
-35
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-10
0
-16
0
-9
0
119
0
-8
0
24
0
45
0
-23
0
33
0
47
0
5
0
66
0
20
0
-53
0
-14
0
-48
0
16
0
20
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
128
8
40
25
22
3
74
72
31
-30
10
50
-7
16
26
-9
56
-9
91
54
-32
49
-60
-98
20
39
-7
7
34
-53
66
25
93
-4
37
-21
-5
-10
44
-30
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
9
0
20
0
20
0
2
0
15
0
68
0
31
0
-13
0
-27
0
45
0
90
0
11
0
-77
0
-60
0
25
0
-34
0
-39
0
23
0
49
0
40
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
145
148
-41
13
-27
49
29
25
58
-2
25
79
27
46
-139
31
2
70
5
17
128
22
102
54
22
47
-37
-46
68
-48
136
50
110
25
-68
-29
-29
-21
-31
-34
-56
-42
-9
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
24
0
21
0
25
0
56
0
1
0
-41
0
1
0
-45
0
38
0
45
0
23
0
10
0
20
0
-9
0
-29
0
43
0
39
0
61
0
4
0
-30
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
77
8
-59
32
77
-8
58
64
67
3
26
14
43
-31
48
10
73
33
-75
61
58
5
102
17
-73
-26
66
-84
50
-17
13
1
52
-17
-31
-17
36
-8
40
-6
40
-2
66
-8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
44
0
44
0
-5
0
22
0
60
0
-36
0
18
0
11
0
2
0
23
0
20
0
-9
0
45
0
-47
0
-12
0
-5
0
43
0
24
0
30
0
-72
0
37
0
-14
0
36
0
-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
-16
83
108
123
68
4
37
76
-44
48
75
96
24
32
-24
109
-26
5
-60
60
5
48
0
92
10
76
-21
-35
45
15
89
-41
171
-6
47
-8
-7
67
-2
11
26
24
6
21
-22
32
18
40
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
3
0
48
0
-10
0
-31
0
0
0
-21
0
20
0
-2
0
-1
0
27
0
-3
0
70
0
5
0
81
0
-12
0
5
0
0
0
37
0
2
0
50
0
0
0
-8
0
-5
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
72
2
44
22
103
33
73
38
39
-14
-7
14
-3
48
-8
4
87
-1
-13
84
159
-1
21
-58
98
-2
-49
81
49
14
22
37
4
0
-21
1
-4
-3
-5
9
-1
4
41
27
1
-1
37
1
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-7
0
48
0
24
0
67
0
19
0
53
0
48
0
44
0
42
0
-24
0
-41
0
-11
0
-10
0
68
0
-12
0
-9
0
19
0
35
0
-8
0
33
0
-1
0
-15
0
-20
0
-15
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-17
-19
50
6
81
61
78
139
35
7
42
8
41
16
84
10
56
30
98
-97
53
31
5
37
-42
-12
-46
47
58
6
23
49
49
41
125
-10
104
-3
94
9
7
-41
-25
-76
-55
27
35
29
8
-45
50
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
0
3
0
29
0
24
0
78
0
49
0
9
0
6
0
-45
0
19
0
5
0
-2
0
119
0
2
0
-39
0
9
0
-14
0
0
0
-9
0
0
0
-2
0
0
0
59
0
-2
0
3
0
0
0
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
59
40
4
23
21
73
16
22
53
-16
12
-58
-55
71
7
-1
97
-60
24
6
73
26
-24
5
9
-40
-25
44
14
66
4
-25
-19
79
0
25
4
10
0
-20
13
-17
-6
-56
8
58
0
-116
23
-75
6
-5
-18
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
154
0
89
0
42
0
-1
0
44
0
41
0
65
0
85
0
41
0
102
0
121
0
126
0
13
0
23
0
15
0
-7
0
27
0
-54
0
131
0
59
0
49
0
20
0
104
0
23
0
23
0
-18
0
-52
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
-3
110
26
29
80
62
124
115
31
52
86
9
18
97
-7
5
42
3
48
-17
-9
-37
64
-6
-15
-52
113
-41
12
12
197
49
-22
21
-8
13
40
2
68
-22
-31
6
-75
-42
-55
64
-9
140
21
15
39
-37
85
2
20
-102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
2
0
66
0
42
0
-17
0
-1
0
0
0
9
0
2
0
-3
0
76
0
-20
0
28
0
0
0
51
0
-4
0
41
0
0
0
24
0
0
0
27
0
0
0
-20
0
0
0
-18
0
2
0
-24
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
32
4
111
102
94
41
38
72
-11
2
35
77
36
10
33
21
6
-7
131
98
-2
31
8
2
-46
0
-41
-100
36
6
11
-7
48
0
-19
1
-53
-15
139
42
-51
0
-9
1
-2
0
-4
10
-66
0
39
5
-75
0
-18
-1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
145
0
30
0
34
0
24
0
84
0
42
0
95
0
5
0
50
0
16
0
40
0
15
0
-9
0
-8
0
39
0
5
0
45
0
9
0
8
0
33
0
34
0
9
0
6
0
2
0
41
0
10
0
33
0
5
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
131
77
110
-1
23
-63
27
-30
34
19
56
147
74
35
-4
105
82
-51
79
85
114
148
99
5
-12
-54
75
68
43
58
-2
95
14
-19
1
9
-11
27
7
18
-19
-25
-42
-31
-9
13
-3
-22
-6
7
6
8
-47
-19
84
46
-97
12
30
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
5
0
69
0
-17
0
115
0
0
0
6
0
5
0
15
0
4
0
-8
0
5
0
9
0
0
0
-52
0
2
0
4
0
0
0
-20
0
-1
0
24
0
0
0
1
0
0
0
-31
0
-1
0
-22
0
0
0
31
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-7
36
-48
15
5
6
-18
22
5
-5
-8
94
-9
-26
14
50
2
52
49
42
4
67
3
-8
20
-5
32
81
2
-30
7
74
2
83
9
6
4
10
18
50
4
73
-31
57
-3
-49
33
-56
0
5
-6
16
0
-64
-35
4
-2
-61
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
-9
-1
31
0
-5
1
40
0
-44
-2
-9
0
-6
0
-57
0
4
0
3
0
-46
0
-42
0
-91
0
-17
0
-25
-7
-84
0
-25
0
-31
0
-19
-3
-16
0
-8
0
-16
0
29
0
13
0
-72
0
-65
0
-6
0
-31
0
-59
0
5
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-25
-17
10
16
28
45
42
12
40
-49
-33
-34
50
-50
31
108
12
-49
-15
-32
-31
3
-48
166
-9
-63
-25
-56
22
-46
-85
-45
13
41
-12
8
43
8
-35
-3
13
-72
1
-81
-74
-33
-61
20
-3
37
-45
-31
-13
53
-52
-20
39
-19
-21
-43
-15
-42
-101
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
42
0
64
0
80
0
41
0
7
0
59
0
47
0
66
0
-3
0
7
0
19
0
-70
0
-35
0
-12
0
31
0
60
0
32
0
16
0
3
0
-27
0
-12
0
22
0
-16
0
25
0
-2
0
14
0
4
0
-13
0
0
0
42
0
-4
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
59
6
78
46
-48
79
104
14
99
0
5
8
42
25
-8
-39
-14
-5
46
54
-45
-32
34
25
36
-3
-83
-75
29
5
-23
57
43
29
66
45
48
9
-84
-41
24
8
-25
-2
0
-4
-13
-31
-20
0
70
-66
-9
-2
-54
2
17
4
-31
25
21
1
51
68
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-17
0
8
13
-37
-2
22
0
33
0
5
0
5
0
-28
0
8
0
32
0
14
0
98
0
-56
0
-24
0
-24
0
23
0
37
-2
72
0
0
-6
11
0
-58
0
24
0
-3
0
-7
0
-54
0
2
0
-23
0
49
0
-48
0
-12
0
-20
0
56
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
148
-24
0
48
24
31
15
41
15
91
106
49
58
61
-33
80
82
8
-14
42
-22
57
-50
46
2
-31
-17
5
-90
0
-61
-53
59
54
4
-9
38
-27
13
12
-71
-1
11
-3
25
-42
-26
-15
-112
-42
-66
-25
69
-6
-10
-61
-2
-56
27
-52
-24
-15
40
43
18
30
-15
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
-12
0
25
0
-1
0
49
0
7
0
-27
0
3
0
19
0
3
0
45
0
22
0
-3
0
69
0
17
0
13
0
-10
0
-4
0
44
0
-7
0
42
0
-5
0
2
0
-13
0
58
0
0
0
-30
0
0
0
-63
0
2
0
6
0
-4
0
-18
0
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
18
27
59
75
54
16
51
-11
111
13
-65
-37
112
33
4
99
36
-13
11
45
-2
7
-87
-58
-15
-42
29
14
76
-16
7
33
39
-7
18
23
-8
1
92
9
-40
-2
46
9
-6
2
4
-58
41
-20
12
24
-33
-3
-12
-49
-84
2
48
-12
-81
-4
-66
12
25
-1
5
-8
30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
9
0
32
0
13
0
59
0
32
0
64
0
42
7
10
0
2
0
-24
0
-17
0
16
0
27
0
7
0
-61
0
59
0
0
0
40
0
68
0
36
0
-44
0
-1
0
-30
0
-41
0
-15
0
33
0
-61
0
-27
0
24
0
-3
0
-7
0
120
0
-50
0
75
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
61
30
94
68
83
-42
-31
81
94
8
19
6
54
-41
-38
35
-14
33
74
49
41
69
11
10
-9
-33
15
-5
-15
-29
46
108
43
17
19
51
-5
-13
61
15
-22
-66
64
-62
-92
-14
84
-50
20
28
32
78
41
47
52
7
-20
-12
37
39
84
-31
-34
5
92
-75
-49
19
66
2
-26
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
1
0
18
0
-4
0
-10
0
4
0
-12
0
9
0
45
0
24
0
80
0
17
0
27
0
0
0
-28
0
-7
0
10
0
2
0
49
0
0
0
49
0
2
0
-15
0
0
0
-41
0
1
0
30
0
-1
0
21
0
1
0
-33
0
2
0
2
0
10
0
3
0
-20
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
92
2
13
49
113
-7
62
2
37
5
-13
-22
-17
-4
-5
-54
-12
5
50
50
26
37
-79
-4
6
3
16
-31
99
12
-63
27
40
-3
-49
41
31
-5
-1
69
-9
-4
43
0
31
-9
-42
49
75
-1
16
0
-84
-49
-82
22
-59
-2
27
-20
-13
3
-17
6
22
0
2
17
14
-3
43
-3
30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
41
0
87
0
17
0
104
0
19
0
37
0
42
0
16
0
36
0
-53
0
14
0
6
0
-3
0
-19
0
24
0
-9
0
37
0
41
0
-10
0
80
0
18
0
-41
0
-1
0
22
0
25
0
14
0
-30
0
-31
0
-22
0
53
0
-5
0
3
0
-2
0
-1
0
-24
0
-76
0
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
129
83
47
72
25
152
13
109
90
58
-34
-17
-18
102
-5
26
67
107
56
-31
118
52
-51
20
59
-3
19
-53
-60
65
-7
10
118
143
5
97
-10
39
13
7
75
-32
66
20
-72
-84
24
11
-51
64
-58
44
-14
57
27
-49
-70
-32
-13
26
-21
1
-31
46
26
28
14
-17
57
23
-13
41
-9
-44
4
-48
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
44
0
-4
0
55
0
0
0
10
0
0
0
-43
0
-1
0
-24
0
0
0
23
0
3
0
34
0
0
0
15
0
-2
0
3
0
0
0
66
0
-14
0
8
0
1
0
-49
0
-8
0
-8
0
-1
0
13
0
1
0
0
0
0
0
2
0
0
0
2
0
-8
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
148
0
-13
39
100
3
10
50
102
8
-5
42
-43
2
6
-4
21
9
-29
85
-23
-5
30
-6
-28
2
-59
-8
52
-2
-40
63
172
-5
102
80
50
-2
23
34
-17
18
14
-34
-68
0
49
18
26
-2
23
-35
102
0
13
-107
4
-1
-70
22
117
0
58
12
139
-3
46
0
6
17
24
-1
-77
0
-29
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
61
0
41
0
-3
-1
75
0
23
0
12
0
-28
0
42
0
6
0
40
0
31
0
66
0
46
0
33
0
-23
0
63
0
-29
0
9
0
46
0
126
0
6
0
93
0
18
0
-19
0
18
0
-1
0
-67
0
-3
0
-8
0
-14
0
22
0
16
0
0
0
-5
0
-5
0
-55
0
-24
0
60
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
111
21
135
55
-6
35
51
12
5
59
55
50
19
13
74
72
95
-15
-53
-101
51
-28
-30
60
-1
-42
47
26
21
13
89
106
97
43
95
-25
71
-41
-1
61
88
57
89
34
65
-37
-49
-2
-87
-17
-10
-21
-5
21
85
19
38
3
-24
-96
58
-41
8
39
10
10
-4
-30
40
-25
-72
-14
-8
4
9
-35
15
-4
36
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
10
0
33
0
8
0
84
0
6
0
76
0
-1
0
-22
0
-2
0
22
0
-5
0
34
0
0
0
-7
0
13
0
66
0
-12
0
54
0
-3
0
-17
0
-2
0
76
0
8
0
-10
0
-5
0
-6
0
5
0
-18
0
0
0
37
0
0
0
2
0
0
0
6
0
0
0
3
0
2
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
16
5
110
-5
163
15
5
21
68
-3
16
31
52
0
41
56
-11
0
-46
42
42
2
21
92
17
7
25
4
-29
2
-12
13
111
-2
-55
-24
55
-1
-24
12
-14
1
58
3
41
0
20
15
-31
0
4
6
22
0
-27
4
0
0
0
-8
43
1
-54
0
26
0
19
1
-76
-5
-49
5
33
0
-35
-9
46
0
-18
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
28
0
45
0
159
0
47
0
119
0
42
0
27
0
18
0
14
0
-24
0
66
0
47
0
83
0
-77
0
48
0
-23
0
60
0
45
0
130
0
15
0
43
0
-49
0
60
0
8
0
37
0
-6
0
39
0
41
0
-40
0
18
0
-17
0
18
0
-3
0
19
0
-41
0
3
0
33
0
-9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
180
38
13
-23
102
8
86
51
130
22
43
43
88
49
-23
5
43
66
-45
13
3
10
-19
-3
93
33
72
21
-41
-20
64
115
18
-25
7
47
7
23
17
23
29
-43
10
-15
118
5
105
-88
-25
-35
93
6
29
0
-74
-74
-53
34
5
-56
9
15
-11
59
43
5
28
3
-5
31
-1
-79
41
-1
55
25
25
3
-95
-31
34
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
8
0
0
0
69
0
-1
0
42
0
-1
0
57
0
0
0
6
0
0
0
17
0
-16
0
29
0
-1
0
10
0
0
0
0
0
1
0
12
0
14
0
8
0
-13
0
14
0
-1
0
2
0
0
0
59
0
0
0
18
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
141
8
35
-1
68
-1
30
23
71
6
82
-5
57
4
-42
7
69
-1
23
-2
-24
0
15
47
-45
-31
42
-16
-32
1
0
4
49
-5
15
0
39
0
76
33
-59
-2
-3
4
-18
-1
31
24
-43
0
-49
-1
33
0
-23
12
-75
0
34
3
6
1
-23
4
16
8
-3
1
13
-1
-25
6
-43
2
22
0
20
0
21
0
-56
0
-53
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
-5
0
68
0
-2
0
5
0
-2
0
33
0
31
0
76
0
25
0
-39
0
15
0
5
0
34
0
64
0
69
0
50
0
25
0
82
0
-44
0
53
0
-10
0
-13
0
45
0
21
0
-13
0
4
0
8
0
11
0
0
0
35
0
8
0
-14
0
-41
0
86
0
7
0
0
0
0
0
-27
0
0
0
16
0
1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
139
3
72
148
98
76
69
-35
54
14
120
44
102
33
13
-7
-20
21
5
-45
95
38
-73
57
13
-41
23
11
-39
8
-15
129
54
7
-7
-3
139
-24
-5
97
21
5
71
6
-8
-16
-25
-8
16
-1
-28
-137
-57
32
41
-98
81
0
-3
7
56
6
-2
-43
66
-6
-31
50
-40
2
-80
-24
-26
3
-15
-1
-12
5
-17
-2
26
-1
56
1
46
-3
-70
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
25
0
-7
0
-10
0
-1
0
-42
0
14
0
60
0
-2
0
6
0
0
0
5
0
5
0
86
0
-7
0
42
0
3
0
25
0
8
0
-2
0
0
0
-6
0
0
0
-10
0
-4
0
27
0
0
0
5
0
0
0
13
0
0
0
-14
0
0
0
-8
0
-2
0
-1
0
0
0
10
0
0
0
2
0
0
0
2
0
0
0
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
-5
17
1
-12
31
-23
2
83
2
46
0
8
1
-37
0
-2
35
83
1
8
45
-40
-6
45
25
15
-8
0
15
35
0
-82
37
27
0
24
18
71
0
55
1
99
0
33
10
31
0
-76
8
-61
0
-18
-32
57
-1
23
18
-80
0
17
-24
-84
-23
-5
25
14
0
12
-1
69
0
-31
-3
-1
0
8
3
-53
0
19
0
-44
0
-8
-1
2
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
41
0
28
0
3
0
60
0
25
0
93
0
20
0
95
0
-5
0
-43
0
-22
0
-49
0
8
0
66
0
-39
0
62
0
-25
0
25
0
0
0
24
0
-4
0
117
0
-4
0
23
0
-2
0
-18
0
4
0
58
0
-5
0
47
0
5
0
6
0
-5
0
-13
0
0
0
20
0
0
0
41
0
-9
0
-13
0
-7
0
14
0
-1
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
200
12
49
-41
-54
-7
96
28
70
57
54
-2
-17
-5
20
48
-32
-22
0
71
34
-17
76
23
-27
-20
12
5
6
-20
64
111
24
34
39
42
119
-29
65
58
-6
17
65
13
60
0
26
-22
-131
-31
-54
-3
42
7
65
30
83
-19
7
0
23
-5
81
92
-14
12
-2
-10
31
-3
-9
27
26
0
47
15
40
0
43
31
35
0
22
16
-61
0
-12
4
-15
-3
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-2
0
0
0
2
0
49
0
0
0
-2
0
0
0
42
0
5
0
33
0
1
0
2
0
0
0
17
0
0
0
72
0
2
0
9
0
0
0
0
0
-6
0
3
0
0
0
8
0
0
0
-31
0
1
0
-1
0
0
0
2
0
0
0
-5
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
77
1
-13
20
-3
4
41
41
59
2
24
10
129
5
9
-31
63
-7
32
43
74
-1
-43
16
6
1
-45
4
106
0
2
76
25
-8
-30
-46
44
0
32
54
68
-1
-24
8
102
0
58
6
-65
-4
31
-5
-61
0
-12
-21
42
0
-42
2
-92
0
-53
-2
-22
-8
-32
0
4
0
23
4
7
0
12
0
-10
0
2
-2
-50
0
-3
0
13
0
-12
2
-21
0
-7
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
22
0
13
0
29
2
35
0
2
0
2
0
-12
-1
49
0
98
0
68
0
-39
0
108
0
-13
0
42
0
-25
0
10
0
2
1
2
0
0
3
2
0
2
0
10
0
-2
0
-32
0
-1
0
-31
0
0
0
47
0
1
0
31
0
4
-1
-6
0
-1
0
17
0
-1
0
-75
0
-1
0
9
0
12
0
-25
0
-2
0
-42
0
0
0
2
0
-5
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
4
14
25
0
66
-7
62
2
88
25
85
31
50
25
21
48
13
25
69
47
16
14
-15
28
72
27
48
-64
42
5
-96
18
171
16
8
-12
24
8
49
-13
13
15
22
-2
40
30
-55
5
78
7
-49
49
-25
-8
-37
-30
33
-9
42
-35
40
5
-68
20
-24
1
24
-25
22
-1
-31
-124
30
6
-16
25
52
-1
-32
5
-46
17
-27
-31
-19
3
25
-3
-18
-1
25
42
39
0
69
23
0
0
0
0
0
0
0
0
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
0
6
0
6
0
0
0
42
0
9
0
8
0
2
0
31
0
1
0
54
0
0
0
9
0
-1
0
130
0
31
0
-8
0
0
0
3
0
0
0
-2
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
-14
0
0
0
5
0
0
0
34
0
0
0
-2
0
0
0
7
0
0
0
1
0
0
0
-6
0
0
0
-4
0
0
0
-1
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
34
-2
17
18
109
-3
94
27
-1
2
49
-39
3
-8
17
77
-21
-35
-39
26
-2
0
45
57
-1
2
-13
28
-14
0
-40
3
17
2
-2
-1
8
-5
0
-5
69
-4
-45
-9
72
5
3
-1
-13
-1
-31
15
-18
0
8
-10
30
0
-4
-4
-14
0
13
-7
13
0
69
-1
20
0
6
-4
7
0
0
10
-21
0
0
17
-34
0
-2
6
9
0
6
4
-6
0
21
0
-72
0
-19
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
49
0
13
0
44
0
5
0
13
0
30
0
-24
0
76
0
27
0
28
0
23
0
39
0
13
0
90
0
10
0
59
0
0
0
-22
0
-2
0
52
0
5
0
23
0
-1
0
-43
0
4
0
4
0
0
0
-24
0
-5
0
-30
0
1
0
3
0
3
0
1
0
1
0
-16
0
-2
0
32
0
1
0
-69
0
0
0
0
0
0
0
6
0
1
0
9
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
136
49
-2
87
103
8
57
70
107
35
27
44
-41
-4
50
-48
135
68
-35
13
73
-49
91
-26
22
76
-22
-81
-68
10
119
-34
93
-6
-12
30
69
6
25
-30
56
-3
50
-24
-75
3
-15
51
-24
-1
42
3
59
0
67
-74
51
-6
110
-46
11
2
-32
48
31
-2
37
17
-23
3
20
-2
-35
4
6
-19
43
0
-48
-32
44
-1
5
-5
33
4
6
-48
-97
-7
-29
-13
-29
0
-30
2
25
1
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
2
0
0
0
0
0
33
0
-7
0
47
0
-7
0
-24
0
-4
0
16
0
9
0
-24
0
0
0
-31
0
1
0
1
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
-9
0
3
0
5
0
0
0
-4
0
0
0
-8
0
0
0
1
0
0
0
2
0
0
0
5
0
0
0
-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
21
48
2
81
8
59
4
27
-49
47
25
7
41
-31
-8
35
64
96
-8
99
-1
68
0
-25
4
91
-19
43
-33
9
-3
60
1
7
-7
-1
0
33
-3
22
-22
57
-5
5
2
32
0
7
4
-48
0
100
2
49
0
-5
-30
68
0
22
0
-41
0
-5
1
75
0
-5
-6
54
0
-24
-4
-22
-2
-14
-2
-42
0
-16
10
68
0
49
0
-9
0
25
-24
7
-5
3
-1
-7
0
-5
1
42
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
2
0
23
0
74
0
91
0
-39
0
31
0
-59
0
11
0
21
0
102
0
35
0
-12
0
16
0
-16
0
-8
0
50
0
2
0
35
0
9
0
7
0
2
0
43
0
0
0
5
0
0
0
49
0
0
0
42
0
0
0
39
0
0
0
1
0
0
0
-42
0
7
0
9
0
-3
0
-5
0
10
0
16
0
0
0
3
0
0
0
10
0
0
0
-7
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
83
5
95
-56
94
19
-10
23
31
8
26
-44
41
23
-30
27
81
-43
74
-25
82
83
5
-5
-30
-4
-12
-24
-45
18
-6
-6
40
4
55
29
53
-1
57
19
44
-4
33
-4
32
-2
-27
7
28
-8
94
-39
-10
-2
-27
25
10
0
30
-3
-5
-2
1
16
-2
8
25
10
-121
-3
24
42
41
0
59
32
-52
-2
-94
21
3
7
16
7
-10
-13
3
-4
10
0
2
-46
-54
-3
7
-23
-2
0
-19
3
42
0
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
8
0
0
0
0
0
0
0
76
0
4
0
3
0
5
0
15
0
0
0
31
0
0
0
-1
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
12
0
43
18
8
-1
79
-1
-6
1
75
4
-27
3
50
1
40
0
31
70
7
-12
4
10
16
-10
42
9
-19
0
27
2
-35
0
-1
1
10
0
55
4
-7
0
5
-8
14
0
6
0
-41
0
17
-2
-70
0
29
-1
2
0
-8
0
-25
0
-9
0
43
0
12
2
-1
0
-27
2
53
0
-1
12
27
0
0
-1
-7
0
1
-2
22
0
0
-1
-76
0
0
0
20
0
0
0
-23
0
0
0
-19
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
32
0
8
0
44
0
22
0
45
0
2
0
147
0
20
0
35
0
-21
0
64
0
-27
0
-6
0
-5
0
42
0
1
0
-1
0
1
0
-8
0
0
0
1
0
2
0
69
0
4
0
8
0
0
0
-10
0
4
0
12
0
4
0
29
0
2
0
42
0
0
0
8
0
0
0
-24
0
-2
0
9
0
3
0
9
0
0
0
-30
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
44
-7
77
-66
18
23
29
46
3
-24
13
-48
85
-5
52
57
79
-84
-22
35
49
21
-87
0
31
-19
67
-8
42
3
50
52
13
3
-33
-6
43
1
-44
42
10
0
8
-13
26
0
-27
-6
-18
25
50
10
10
-2
42
41
-57
1
32
39
18
-2
8
-13
96
3
-3
-9
73
7
-5
55
31
-1
31
5
-56
-2
-31
-2
35
-5
9
5
-28
0
136
-3
-49
-2
-12
-10
84
0
8
-6
44
0
-4
0
-5
0
1
13
-41
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
-7
0
0
0
15
0
-1
0
-9
0
2
0
1
0
5
0
-5
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
56
0
23
-46
43
4
1
5
46
0
59
8
63
0
20
102
-17
-21
-44
3
-44
-7
93
24
66
6
-42
0
-35
-1
-52
6
59
0
5
0
-5
0
1
2
58
0
1
-2
56
0
0
-10
5
0
10
2
4
0
0
3
49
0
-1
0
-34
0
-2
2
-52
0
0
-1
35
0
24
-8
13
0
1
6
22
0
2
50
-43
0
-24
-3
92
0
-1
0
-84
0
0
0
-20
0
0
4
-5
0
0
0
0
0
0
0
-17
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-1
0
25
0
23
0
44
0
15
0
112
0
50
0
52
0
-6
0
-23
0
0
0
14
0
-6
0
117
0
48
0
18
0
0
0
-2
0
12
0
-43
0
0
0
24
0
-3
0
10
0
-2
0
14
0
6
0
39
0
2
0
-3
0
-3
0
49
0
0
0
8
0
-1
0
60
0
3
0
71
0
5
0
8
0
0
0
-37
0
0
0
-8
0
0
0
6
0
-23
0
4
0
0
0
4
0
2
0
8
0
0
0
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
73
18
54
37
63
-5
51
116
10
42
-48
33
39
45
-5
50
-48
3
57
-100
-28
2
23
22
35
8
96
72
71
-10
21
15
92
9
59
71
-14
-5
57
23
28
-8
24
-5
92
8
31
-17
-28
0
22
-3
-3
0
-37
12
54
-4
-6
-4
-6
0
-12
-25
21
1
1
0
42
2
-6
25
72
0
75
-25
-7
-3
-2
1
0
-1
-31
-4
-2
0
49
18
97
13
-35
-1
33
-3
12
20
54
0
13
0
-47
0
-8
-21
-44
0
-5
-1
-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
-5
0
0
0
0
0
6
0
3
0
0
0
-9
0
3
0
8
0
0
0
47
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-12
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
91
0
2
-3
70
-1
8
31
93
0
-3
-4
-6
2
25
-8
-45
0
-13
2
-1
-1
2
2
-42
0
27
-6
-10
-4
-84
0
8
0
0
1
13
0
-8
0
8
0
0
5
9
0
13
0
7
0
7
-15
23
0
0
0
27
0
0
0
48
0
15
0
25
0
1
-2
-53
0
1
-1
-33
0
-17
1
-15
0
-8
-1
16
0
-1
-1
52
0
0
0
23
0
-3
-1
15
0
-5
0
-1
0
0
0
-6
0
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
8
0
2
0
66
0
-17
0
4
0
2
0
91
0
35
0
-7
0
1
0
-42
0
13
0
-14
0
4
0
-6
0
-2
0
0
0
0
0
31
0
5
0
14
0
0
0
73
0
0
0
-4
0
0
0
-7
0
0
0
-10
0
-2
0
3
0
0
0
2
0
-3
0
53
0
-4
0
4
0
0
0
37
0
3
0
1
0
0
0
-9
0
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
74
8
83
8
83
-1
66
69
-3
-24
32
52
135
8
-36
68
-7
-13
44
44
5
0
-74
-20
-49
9
28
49
-29
0
49
25
134
1
-3
4
-8
0
-2
54
-5
-1
-18
-2
-22
0
-25
13
-58
0
34
-2
75
0
-4
6
-24
1
42
-7
-13
0
-3
-39
30
0
-4
0
41
0
0
-13
26
-5
-22
2
33
0
47
9
-3
0
-9
-1
-54
0
2
-42
30
2
-31
13
83
0
10
0
43
0
5
0
-25
0
4
0
8
0
15
0
-79
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
-21
0
-1
0
29
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
58
0
-53
7
57
0
2
-28
-1
1
8
12
5
-5
-5
-8
-11
0
8
-3
68
0
3
-19
46
0
21
1
-11
8
3
0
47
0
0
0
-16
0
0
1
24
0
13
0
-2
0
1
1
-37
0
0
7
3
0
0
1
-42
0
0
1
-3
0
1
-1
9
0
2
0
0
0
1
-1
-23
0
4
0
42
0
1
-1
6
0
0
0
29
0
-3
2
31
0
-1
0
-31
0
5
0
-4
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
12
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
8
0
-14
0
59
0
5
0
13
0
4
0
95
0
17
0
-9
0
5
0
41
0
-10
0
53
0
1
0
25
0
-47
0
2
0
0
0
32
0
0
0
3
0
0
0
5
0
5
0
8
0
0
0
31
0
6
0
8
0
0
0
18
0
-3
0
-3
0
6
0
-2
0
7
0
32
0
0
0
-9
0
3
0
12
0
0
0
-8
0
0
0
-14
0
0
0
6
0
0
0
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
74
44
13
7
62
146
1
-29
-49
71
-5
1
13
87
5
59
57
-29
-5
12
69
-76
8
51
-9
57
-3
67
-72
-12
-25
69
14
7
0
66
-8
-14
0
-31
4
-21
0
23
20
107
0
16
23
-3
1
-34
4
50
0
-71
8
-6
0
-8
1
-17
8
-31
41
8
0
33
12
75
2
-4
-32
-21
0
4
49
-61
1
23
-49
42
0
-35
-1
66
2
6
0
13
0
-6
-3
47
0
-21
9
41
0
0
-17
56
0
8
0
-27
0
-1
0
68
0
-1
-6
8
0
0
3
19
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
6
0
0
0
3
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
123
0
2
2
71
0
45
-4
47
0
-41
1
-83
1
52
5
50
-2
-2
-13
24
0
-24
1
-6
-1
2
2
-17
0
-14
0
34
0
0
1
32
0
1
0
2
0
-1
0
3
0
3
0
24
0
-3
-7
-37
0
-2
0
-20
0
0
0
23
0
0
-8
-4
0
0
-7
10
0
1
0
41
0
0
0
-21
0
0
0
29
0
0
1
-23
0
-5
2
-8
0
0
0
-22
0
0
7
1
0
0
0
-6
0
2
0
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
2
0
19
0
3
0
8
0
-1
0
20
0
2
0
-43
0
-3
0
-17
0
0
0
43
0
1
0
-2
0
0
0
0
0
0
0
4
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
25
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
75
43
48
47
73
0
-15
76
19
-1
67
27
-25
1
-10
24
92
-23
56
9
31
-7
-3
-16
-115
16
-119
-47
25
0
8
16
74
0
17
-1
16
0
43
-15
61
0
-13
-6
27
0
-16
-5
45
-1
-19
4
17
0
-5
-24
20
0
-37
-13
17
0
-2
-1
58
-7
48
5
57
0
33
-8
9
1
-35
4
-18
4
-14
-42
-41
-1
-41
32
59
0
-2
-5
38
-1
-8
16
-6
0
-2
4
-48
0
0
3
41
0
0
0
73
0
3
0
5
0
6
0
-39
0
-3
-4
-44
0
0
0
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
1
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
141
0
33
0
-11
0
10
8
5
0
60
0
-14
0
-7
5
-163
6
-48
23
-32
0
-17
16
49
0
-48
0
27
0
1
0
30
0
-8
0
14
0
5
-1
6
0
0
-7
-3
0
0
0
4
0
-2
0
-8
0
0
0
4
0
0
0
5
0
-2
-1
60
0
6
7
10
0
4
0
53
0
0
0
-2
0
0
6
1
0
0
0
-1
0
0
0
42
0
-7
0
5
0
0
0
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-25
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-8
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
-84
0
41
3
43
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
-12
1
-9
0
-2
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-1
0
0
0
20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
41
0
12
-15
1
1
-16
1
-41
0
-35
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
1
-6
1
-4
0
3
0
-34
0
39
-1
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
8
0
12
0
-4
0
8
0
25
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-11
-1
-9
10
-1
-1
30
37
94
23
-2
-24
-32
-10
29
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-6
0
0
0
17
0
1
0
19
0
10
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-1
10
3
-27
1
-25
4
77
0
3
-8
22
0
-15
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
18
0
2
0
-19
0
5
0
-16
0
-34
0
-19
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
-3
61
-16
22
2
32
-10
5
-13
-35
14
9
-1
6
-6
72
-4
-2
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
3
0
0
0
-7
0
1
0
-2
0
0
0
8
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
2
14
0
33
0
-10
6
75
-2
4
-9
5
0
39
-2
-2
-5
-6
2
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
16
0
7
0
25
0
10
0
14
0
22
0
44
0
-1
0
-35
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-13
6
6
-10
9
5
-18
-5
-9
14
29
17
-15
-7
18
45
-47
-22
13
55
70
-8
34
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
33
0
1
0
42
0
0
0
-10
0
-4
0
6
0
0
0
-2
0
8
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
0
-2
1
5
-4
-6
23
19
0
-25
23
-26
-2
42
-6
27
2
19
13
-57
3
-37
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
25
0
-17
0
-8
0
-37
0
-5
0
-17
0
-9
0
4
0
4
0
3
0
0
0
-10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
2
23
-5
70
-3
3
21
20
8
17
30
25
-3
-8
1
-20
30
82
-5
84
-23
27
-30
-27
13
-32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
3
0
13
0
0
0
-22
0
1
0
2
0
4
0
-17
0
3
0
-6
0
6
0
-24
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-47
-3
-29
-22
61
-1
17
5
65
-2
-80
-4
-5
-2
50
12
-4
0
4
-4
-21
3
-5
2
-18
-3
-7
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
-6
0
-2
0
8
0
-1
0
0
0
-2
0
-31
0
0
0
6
0
-5
0
-1
0
7
0
-13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-5
0
31
0
0
2
-28
0
1
-6
51
-3
-2
-7
-53
5
-8
-8
-14
0
0
-17
22
-1
-24
-14
12
8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
2
0
-6
0
-1
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
13
0
0
0
-4
0
0
2
-5
1
-4
2
27
1
3
1
8
0
-1
2
-19
6
16
-1
25
0
-56
0
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
0
0
1
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
1
0
1
0
-2
0
-1
0
-12
0
-13
0
-3
0
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
0
0
0
4
-12
0
8
-2
-10
0
-2
-30
-12
-1
-14
-1
23
0
-17
-25
92
1
-19
4
-10
-3
-4
-1
-61
-22
-16
-3
17
0
-3
1
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
-6
-1
-17
0
10
0
-2
0
8
-8
21
1
0
0
-8
0
-13
-8
10
5
-14
-8
-5
0
19
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
3
0
17
0
5
0
21
0
-4
0
-13
0
16
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
7
29
0
-5
-8
-58
0
-27
-7
-35
0
31
-2
-10
25
-7
-56
31
-5
4
-2
2
-4
43
33
-19
1
-20
0
8
0
25
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
8
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
-4
4
0
-14
2
-2
0
-4
0
3
0
3
4
-61
4
-2
-16
40
1
-17
-25
9
0
-3
0
-11
-1
34
0
2
0
0
0
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
3
0
0
0
-1
0
0
0
-15
0
-7
0
-10
0
-1
0
31
0
-3
0
-18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
1
0
-2
-23
-1
-3
-2
-9
0
-43
7
4
0
-24
-13
-70
-3
-10
-24
32
-10
32
25
-10
35
-13
20
59
-8
-29
-1
8
0
16
0
4
0
6
0
4
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
-1
0
-1
0
0
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
3
0
2
0
8
0
0
0
1
0
-7
-8
-48
0
-14
-1
-3
3
-9
-16
35
2
-15
8
56
0
-5
0
7
0
1
0
1
0
5
0
14
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
0
0
0
-15
0
-6
0
0
0
-9
0
-13
0
1
0
41
0
6
0
30
0
1
0
28
0
-1
0
3
0
0
0
0
0
0
0
0
0
-1
0
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-18
-5
8
-12
2
-2
10
8
-25
-17
15
10
-24
12
-10
-16
-107
-1
5
-2
-7
1
48
-2
61
-14
15
-4
12
6
-57
0
-17
0
-13
0
20
0
3
-10
6
0
9
4
-29
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
-1
0
1
0
0
0
-2
0
0
0
5
0
0
0
7
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-6
14
0
6
-1
74
0
13
3
6
0
8
-3
-2
0
-2
3
28
0
14
-6
33
0
-13
49
57
0
8
0
-13
0
0
0
0
0
0
0
16
0
12
0
-7
0
17
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
0
-8
0
1
0
10
0
7
0
5
0
-4
0
-5
0
0
0
-13
0
-16
0
1
0
0
0
-1
0
0
0
-3
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
5
-4
-1
-3
0
-5
0
-31
8
-49
12
22
-4
-2
35
-80
3
14
6
28
2
5
-29
-7
-24
13
-16
142
7
31
0
-3
0
16
0
15
0
-1
7
6
0
-10
1
20
0
-4
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
2
0
0
0
-5
0
0
0
2
0
0
0
13
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
8
0
23
0
-3
6
-9
0
-27
10
22
0
-5
2
-35
0
-12
0
17
0
-6
-14
-5
-2
17
-5
-31
0
5
-1
9
0
0
0
-23
0
0
-7
13
0
3
3
5
0
-17
-1
-8
0
1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-2
0
13
0
-8
0
-31
0
1
0
31
0
-2
0
-17
0
-1
0
-22
0
13
0
-2
0
-4
0
93
0
-22
0
1
0
0
0
4
0
1
0
0
0
-1
0
9
0
-1
0
-5
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-37
6
1
19
50
-13
1
10
24
-20
74
-6
-54
-3
-18
10
41
4
51
-21
35
-17
18
-7
22
1
18
-50
60
-24
31
0
-63
0
-7
-4
19
-2
30
1
7
0
8
4
-89
6
-10
-9
-7
1
-4
-1
29
-12
51
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
-2
0
-1
0
-3
0
4
0
-7
0
0
0
3
0
0
0
-8
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
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
-1
0
0
13
4
7
0
-42
4
-31
0
15
7
10
0
-12
13
41
-3
27
4
-9
-2
-10
-2
-4
0
-42
-24
-14
0
4
0
24
0
3
0
-5
0
-2
0
14
0
-2
0
13
0
1
0
-20
0
12
0
-25
0
-2
0
-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
17
0
0
0
14
0
0
0
8
0
3
0
16
0
-2
0
-2
0
2
0
-39
0
-8
0
-2
0
4
0
-5
0
6
0
4
0
0
0
-1
0
0
0
4
0
-1
0
-3
0
0
0
7
0
4
0
8
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
44
7
43
22
5
0
-19
34
16
-6
-24
8
22
0
-54
0
-56
5
13
27
70
7
-16
-9
76
-3
20
16
17
0
35
-12
20
-1
-19
1
21
0
10
22
-49
0
18
-4
42
0
15
8
-6
9
10
2
4
-1
-17
-8
-20
3
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
7
0
0
0
7
0
-1
0
-5
0
0
0
-33
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
0
-10
-2
4
0
2
-2
-3
0
-8
-4
41
0
-7
-8
9
2
1
-1
31
0
1
8
64
8
-15
3
22
0
-6
1
2
0
10
0
-41
0
-6
4
1
0
6
0
-2
0
3
0
29
0
5
0
-4
0
-5
0
41
-1
-17
3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
1
0
1
0
0
0
-4
0
2
0
-2
0
-2
0
8
0
0
0
-56
0
0
0
-12
0
6
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
-1
0
0
0
-15
0
-2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-5
0
5
1
-1
-1
-53
-1
-9
-1
-7
0
0
1
-7
0
-5
-7
-34
0
-9
3
44
0
-6
4
-38
-6
-10
1
1
0
0
0
9
0
-3
0
-13
0
8
-2
39
0
-10
-3
-14
0
7
5
26
0
-3
4
-28
0
3
8
-4
-5
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
-8
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
-2
-2
0
0
2
12
0
1
0
-6
0
0
0
-24
0
6
-2
1
0
-6
-2
-23
0
-10
4
22
0
-5
-3
-1
2
-16
0
-2
0
0
-1
0
0
0
0
-1
0
0
0
3
0
-3
0
3
0
3
0
8
0
-7
-3
8
0
-6
5
-8
0
-2
0
-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
-1
0
0
0
0
0
-4
0
-1
0
-5
0
-1
0
5
0
0
0
2
0
0
0
-6
0
-24
0
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
3
0
1
0
-12
0
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-1
-2
16
0
3
0
1
1
33
0
2
0
-4
-16
-65
0
1
-7
3
1
-42
2
9
-3
-14
10
3
0
1
0
4
0
2
0
4
0
0
1
-20
0
-8
1
-17
0
12
1
3
-1
-16
2
21
0
12
1
52
0
-29
1
22
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-6
0
4
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
8
0
1
-1
13
0
-1
0
24
0
8
1
0
-2
-1
-1
-25
0
-14
7
31
0
-12
-3
25
0
2
0
0
0
0
0
0
0
0
-1
-5
0
-1
0
3
0
-1
-3
33
0
-2
0
-17
0
0
0
-8
0
5
0
-16
0
2
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-6
0
0
0
-12
0
0
0
-25
0
-4
0
3
0
0
0
13
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
0
0
5
0
-1
0
-6
0
1
0
19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-29
0
10
1
-29
0
4
1
16
-2
-42
0
14
0
18
25
-30
2
-5
-6
19
0
8
-7
-41
2
-23
1
-26
8
18
-1
4
0
9
0
-8
1
2
0
-7
0
2
-1
6
1
0
2
5
3
-5
8
31
0
-13
-14
-20
1
-25
-25
19
-5
-22
0
-9
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
3
0
0
0
3
0
1
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-1
0
0
0
-2
0
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
31
0
-3
0
7
0
16
-1
22
0
0
0
-3
0
42
0
42
0
10
4
-22
0
-3
2
-55
2
8
0
-5
0
-13
0
2
0
0
0
0
0
-3
0
-3
0
0
0
-1
0
0
0
-8
0
2
-2
6
0
-9
0
-41
0
7
0
7
0
2
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
1
0
0
0
0
0
0
0
-4
0
-2
0
-7
0
0
0
-17
0
-3
0
-37
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-16
0
-25
0
30
0
25
9
34
0
-6
2
25
0
-33
10
47
4
-7
-1
-25
0
39
0
4
-3
-8
-2
42
-6
-33
1
2
0
0
0
14
1
-16
0
19
0
-4
1
-22
0
-8
7
-14
-1
8
-7
-3
-3
-13
1
-18
-1
25
-3
27
-3
16
0
34
0
1
2
0
0
-3
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
-5
0
0
0
2
0
15
1
0
0
0
0
10
2
13
2
-1
0
23
-1
-6
0
-3
0
-19
1
1
0
-24
2
9
0
9
0
9
0
-6
0
-17
3
2
0
-8
0
0
-2
1
0
5
0
42
0
9
-7
-5
0
-2
0
43
0
15
0
6
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
0
2
0
-3
0
-1
0
8
0
0
0
-6
0
3
0
0
0
7
0
17
0
17
0
-2
0
-1
0
2
0
1
0
16
0
3
0
18
0
2
0
-3
0
0
0
-6
0
-1
0
-13
0
0
0
5
0
4
0
0
0
0
0
0
0
0
0
2
0
-1
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-8
0
4
1
10
-4
-46
3
-5
-15
7
6
41
3
28
0
-14
-15
-32
0
18
22
40
0
58
9
-44
-4
45
0
-8
0
-20
1
-8
0
-6
22
21
2
-8
9
35
1
8
-8
-73
0
35
-8
42
0
5
6
27
0
-9
-41
-50
-5
88
0
-1
0
-1
0
25
0
-6
2
-25
0
8
-3
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
3
0
0
0
-2
0
0
0
1
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
-1
1
0
1
0
-30
0
12
-1
22
-1
-1
1
-10
0
20
1
-1
0
4
-3
20
0
10
7
29
6
0
-6
-47
0
19
0
0
0
-1
-6
6
0
-3
-1
2
0
1
3
18
0
13
1
15
0
2
0
-5
0
-5
0
3
0
4
-4
49
0
2
0
4
0
0
0
-1
0
0
0
-6
0
-2
0
12
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
2
0
8
0
0
0
-5
0
0
0
-1
0
0
0
-10
0
4
0
-5
0
-10
0
-2
0
0
0
1
0
0
0
14
0
2
0
-1
0
1
0
8
0
0
0
2
0
1
0
16
0
-1
0
13
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
68
0
-12
-2
-15
-1
6
25
9
-3
23
10
1
0
-5
-6
55
1
13
-8
6
0
-12
-14
12
-2
45
-22
-17
-3
-28
2
20
-1
-16
-2
2
0
-4
5
-13
-2
8
5
42
0
-1
3
20
0
14
-4
-31
0
-4
-7
-6
1
-13
-4
16
-1
-8
0
-9
0
6
0
-6
0
8
-1
33
0
-5
0
-18
0
-17
0
14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
9
0
14
0
4
3
50
0
8
0
6
0
-2
-2
-2
0
3
-1
-21
0
1
5
-43
-6
9
-2
14
0
-8
-1
8
0
4
0
-5
0
1
2
-23
-1
3
0
14
0
-24
0
24
0
-7
0
-7
0
-8
2
1
0
14
0
8
-1
-1
0
6
0
0
0
4
0
0
0
-17
0
0
0
6
0
0
0
-6
0
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
31
0
0
0
0
0
2
0
-14
0
-13
0
8
0
4
0
7
0
10
0
-6
0
1
0
-29
0
-3
0
0
0
0
0
0
0
0
0
5
0
-4
0
1
0
3
0
-16
0
0
0
4
0
4
0
-33
0
-1
0
-4
0
4
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
-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
2
14
0
12
12
46
0
3
-42
9
0
30
5
63
0
-4
-13
39
-1
2
-35
13
-7
-6
-3
28
-10
22
-8
-89
-5
-12
-3
-13
0
15
-3
48
-1
-6
13
20
0
23
0
49
-5
-24
-8
10
-4
2
5
-8
-3
13
0
10
0
-49
13
71
-1
-5
-1
3
0
-8
0
23
0
4
2
-8
0
0
-2
47
0
23
-1
34
1
0
0
-1
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
4
0
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
-6
0
50
0
3
1
13
0
4
0
-10
0
8
-2
13
0
2
7
26
-8
1
6
-13
-4
-1
2
14
0
-58
0
0
0
-1
-2
3
0
24
1
24
0
1
-1
34
1
4
2
-13
0
0
-5
3
0
-10
0
-6
0
9
-5
-34
-2
0
0
3
0
0
0
-8
0
0
0
-7
0
0
0
-12
0
1
0
-13
0
0
0
-17
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-1
0
0
0
-16
0
1
0
2
0
1
0
25
0
-16
0
-9
0
0
0
-5
0
-3
0
15
0
3
0
-1
0
0
0
0
0
1
0
7
0
0
0
3
0
2
0
1
0
1
0
-14
0
1
0
8
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
-2
18
-7
2
0
14
22
6
0
-6
-6
41
0
43
-16
22
-2
-7
37
-23
1
-17
-21
-79
-12
20
0
-4
-2
-2
24
1
0
13
2
49
0
10
-6
9
0
25
0
31
0
7
9
-42
0
-9
9
7
0
2
35
69
-4
-41
-1
-3
0
24
14
13
0
-44
-4
2
0
1
-1
-25
0
5
1
20
0
-1
-8
-33
0
-22
10
-16
0
-10
1
-39
-1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
-1
0
0
0
1
0
0
0
2
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
8
0
9
0
-35
1
8
0
29
0
13
0
30
0
12
-8
0
-1
-3
4
-3
0
3
0
39
1
-8
0
32
0
0
10
-22
0
-15
-1
7
0
0
2
8
-1
-19
1
29
0
8
1
-43
-1
6
-1
-29
0
-8
-1
-25
0
-14
0
-8
0
-13
0
-4
0
6
0
6
0
-1
0
2
0
0
0
2
0
0
0
-3
0
1
0
4
0
-1
0
21
0
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
-4
0
0
0
14
0
2
0
-12
0
1
0
1
0
-9
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
9
0
1
3
-46
1
-1
0
5
0
1
3
10
-2
-19
-1
-3
0
0
0
42
0
25
7
15
4
-3
0
0
0
0
0
0
0
0
0
-3
0
1
0
6
0
0
0
-15
0
-3
0
-7
0
3
0
-35
0
8
0
23
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
5
0
3
1
10
-1
0
0
8
0
2
0
3
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-7
0
0
0
-7
0
-1
0
-4
0
-1
0
12
0
-1
0
41
0
-1
0
-8
0
-2
0
0
0
0
0
-1
0
0
0
1
0
-8
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
3
0
10
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
-7
0
0
0
-3
0
-2
0
1
0
1
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
17
0
19
0
1
3
60
0
1
0
-9
0
8
-12
1
0
-17
0
-49
-1
-16
-31
-7
2
13
-1
-13
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
-2
0
-1
0
5
1
3
2
-8
0
3
0
-2
-1
3
0
0
0
-1
0
0
0
8
0
0
0
2
0
1
-1
-6
0
0
0
5
0
2
0
17
0
-3
0
12
0
-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
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
1
0
0
0
0
0
-2
0
-3
0
1
0
-3
0
9
0
3
0
14
0
2
-7
50
0
-14
-4
-41
0
7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
-2
3
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
-1
0
-2
0
0
0
-1
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
0
1
0
1
0
4
0
1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
12
0
5
-1
-16
-1
12
-1
17
0
8
0
-25
0
8
9
-23
-5
33
5
11
2
-25
-5
-53
-2
0
0
15
0
-5
-1
-4
0
0
0
-7
0
1
0
1
0
0
0
-4
0
-6
3
-13
0
14
3
-12
0
2
-1
15
0
-13
0
8
-4
-4
0
4
0
0
0
1
0
2
0
-3
0
0
0
-6
0
-3
0
21
2
0
1
-3
-1
4
-1
-41
0
0
0
12
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
-3
0
0
0
-2
0
1
0
-5
0
5
0
-6
-1
-16
3
12
0
-2
1
0
0
0
0
5
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-7
0
0
0
-6
0
1
0
6
0
0
0
-23
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
2
0
-1
0
-2
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
3
0
0
0
-31
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
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
2
8
0
2
-1
24
0
-9
0
-8
0
-1
-2
37
0
6
13
66
0
-39
-8
-9
3
-19
10
-62
0
-2
-5
-12
0
2
2
0
0
-1
0
4
0
-2
0
0
0
0
0
12
0
0
0
-7
2
8
0
8
0
6
0
-4
0
4
0
1
0
2
0
8
0
0
0
1
0
1
0
-16
0
-1
0
-3
0
0
6
23
1
-14
-1
-7
0
-4
1
-16
0
2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-1
0
8
0
3
0
-3
0
7
0
10
0
0
2
4
-1
-24
0
-19
0
6
4
32
1
-29
0
-1
0
-17
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
4
0
-7
0
0
0
9
0
0
0
5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
4
0
0
0
19
0
1
0
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
0
-1
0
2
0
0
0
-19
0
1
0
13
0
-3
0
9
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
3
14
0
-12
4
9
0
-10
-1
59
0
47
-2
-10
0
-7
-6
-8
-3
29
25
-37
4
19
16
47
-1
-18
0
8
0
0
0
-1
0
1
0
-3
0
3
0
-15
1
3
0
-2
0
5
1
-5
0
-10
-1
10
0
5
1
37
0
13
0
3
0
0
0
9
0
0
0
0
0
1
-1
4
0
-3
0
-31
0
-3
0
-8
0
1
-1
12
0
-8
0
60
-1
12
0
0
0
0
0
0
0
0
0
-2
0
4
0
22
0
-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
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
31
0
0
-1
-5
0
0
-1
6
0
0
-1
-14
0
0
0
17
0
24
-7
-17
0
-13
0
0
0
0
0
0
0
0
0
2
0
0
2
-1
0
-1
0
-5
0
2
0
1
0
0
0
8
0
0
0
8
0
4
0
1
0
0
0
-13
0
0
0
-1
0
0
1
-4
0
0
0
-7
0
0
0
0
0
0
0
-3
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
3
0
0
0
1
0
0
0
-37
0
1
0
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
0
6
0
10
0
-3
-7
-3
0
8
-1
31
0
-1
7
-7
0
-14
10
-13
0
-39
-14
-43
2
-5
7
9
0
3
0
13
0
0
0
0
0
1
-1
-6
0
-7
0
5
0
4
0
-6
0
4
0
8
0
1
8
42
0
-3
2
-6
0
-3
0
15
0
-1
0
1
0
0
0
-1
0
2
0
18
0
2
0
3
0
1
0
-4
0
0
-1
6
0
-9
0
66
0
3
0
0
0
0
0
0
0
0
0
-15
0
1
0
-30
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
2
0
0
0
-3
0
7
0
-10
0
0
0
19
0
2
0
32
0
0
-1
25
0
-8
5
15
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-1
0
1
0
-4
0
0
0
5
0
0
0
-27
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
-12
0
0
0
2
0
0
0
-2
0
0
0
0
0
-2
0
-8
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
7
0
1
0
-2
0
1
0
-6
0
3
0
-3
0
0
0
25
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-1
4
0
-14
0
-7
0
-15
0
-4
-2
34
0
29
10
-7
0
-13
7
-1
0
3
-17
-19
0
19
0
-27
-10
-15
1
51
0
1
0
24
0
-7
0
42
0
3
0
-5
0
3
2
23
0
-3
0
32
0
-22
0
9
0
-6
0
3
5
2
-4
7
0
0
0
2
0
-5
-1
-27
0
0
0
-32
0
12
-8
-17
0
-8
-2
31
0
7
-2
13
0
-1
0
25
0
-13
0
0
0
0
-4
6
0
0
0
3
0
0
0
-8
0
0
0
-3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
27
0
0
1
7
0
0
0
-8
0
10
0
17
0
-4
-2
13
0
-7
0
-6
0
0
0
29
0
-6
0
2
0
0
0
1
0
0
0
-1
0
0
0
1
0
0
0
7
0
0
0
8
0
-1
0
-10
0
0
0
-2
0
0
0
3
0
0
-1
2
0
2
0
0
0
0
0
-7
0
0
0
13
0
0
0
-18
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
0
-1
0
2
0
1
0
-13
0
-2
0
-5
0
0
0
45
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
49
0
-30
5
18
0
1
3
12
0
-13
-1
-10
0
-5
-8
19
2
-7
0
-10
0
13
-7
-20
5
-59
8
-5
0
8
1
13
0
8
0
-9
0
-3
0
25
0
-4
0
14
0
0
4
8
0
-1
-1
-12
0
5
-2
-14
0
-20
0
8
0
-1
-2
-3
0
0
-1
0
0
2
3
5
0
0
0
16
0
0
2
-12
0
-13
0
-6
0
0
0
-10
0
-7
1
4
0
0
0
-8
0
0
0
2
0
0
0
5
0
1
0
2
0
3
0
0
0
0
0
10
0
0
0
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
49
0
13
0
2
0
0
0
10
0
3
0
-1
0
-7
-3
-24
1
-23
2
1
0
-2
0
9
0
-22
0
-12
0
0
0
0
0
-1
0
-1
0
0
-1
-2
0
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
8
0
0
0
-8
0
-1
0
25
0
1
0
0
0
4
0
5
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
0
25
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
2
6
0
1
4
38
10
48
-27
-29
10
-18
72
40
10
41
27
4
36
75
22
21
45
-51
3
8
3
-19
65
1
-5
-2
-1
17
-12
-15
15
-14
26
12
-10
-10
20
-5
31
-5
21
4
4
18
-41
-37
-8
24
24
8
46
9
19
-20
59
-58
-12
-39
0
25
-2
13
41
-61
-8
92
12
64
-32
49
14
14
-5
-23
68
22
-33
-5
30
-6
6
-21
34
18
-3
5
-13
4
31
-29
3
3
-4
-2
28
22
-61
13
19
-21
-13
57
-49
-21
42
66
-4
3
-10
-22
19
9
8
-13
14
18
14
25
-7
37
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
26
35
2
50
-5
-2
16
0
-69
29
8
24
-10
-1
28
-66
7
5
9
1
29
1
-7
-31
0
-14
-24
32
-30
-20
9
-18
-38
20
22
-13
-16
0
19
-3
12
8
15
-7
43
-24
18
20
19
2
-20
3
8
-3
1
25
-19
12
-9
-3
60
25
1
3
-8
-2
28
-3
10
2
14
4
12
20
23
-8
1
-8
-7
1
-1
-2
2
2
0
1
8
14
0
-12
0
2
4
8
-7
-10
-50
23
29
0
-7
0
0
-7
15
12
5
12
-12
-4
-1
12
-12
-4
-13
-1
1
0
-24
-5
-8
-1
-1
-2
7
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
19
-31
46
22
48
2
-10
-59
-20
37
-5
-52
5
7
7
-1
-4
3
0
-2
1
-16
-2
11
13
-9
-51
18
-17
17
0
-9
23
-8
-19
61
-4
5
8
25
7
-12
19
-10
-18
-19
3
2
-4
6
-20
4
15
-21
38
-9
10
-5
7
-11
4
6
4
42
-26
-2
54
-16
-5
1
-3
8
1
8
-1
-3
0
1
-8
0
-16
12
3
6
38
-9
3
3
-92
-13
-87
7
7
-46
29
41
13
-29
-10
-16
24
-1
-9
5
8
3
-12
-2
0
2
0
-8
-17
-6
9
-3
-5
24
43
-72
-41
32
-97
41
-22
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-36
-21
13
50
24
31
-25
-9
4
-2
-10
-17
2
-20
-19
-8
-16
8
46
-5
-43
-32
-3
4
13
14
-2
11
18
7
-18
7
-7
-30
6
24
1
12
-2
10
-6
12
-1
-13
-2
0
-25
-58
40
-55
21
22
9
-116
-3
0
-15
14
23
-14
23
-23
12
0
-10
-2
-4
1
0
1
1
8
-2
19
1
-1
0
0
-36
-30
3
18
12
-24
-15
16
1
24
-6
45
26
-31
-36
-5
33
-16
18
-3
-2
0
0
0
-8
0
-4
-7
0
0
0
-6
-58
-7
-13
54
-30
-5
-7
10
12
1
0
-21
5
54
54
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
15
-12
-20
31
-24
-25
49
29
24
14
22
-23
-5
24
-36
35
-9
0
-29
9
-46
45
15
41
-37
-18
-25
0
7
-7
4
4
7
-5
9
17
7
10
1
25
38
-33
5
50
8
-55
56
-18
1
12
-9
29
36
-16
25
3
-10
23
6
-63
22
-4
54
-24
80
16
-6
23
-40
-15
14
-5
-12
-1
13
-3
19
1
25
40
-42
48
42
9
-22
5
80
8
5
23
28
69
-59
1
-27
12
6
8
84
-115
47
-34
41
-25
-42
-1
61
32
13
24
-6
50
58
-11
-8
20
5
13
-17
81
-19
7
5
8
8
-22
-4
-20
24
40
-27
51
42
10
-11
17
17
3
16
-1
-43
-17
-14
32
22
10
12
-23
-1
-14
32
15
5
33
29
4
-4
-21
9
-27
13
4
44
8
-31
19
-13
19
23
18
-5
-13
-1
9
-6
25
4
-18
-2
9
4
3
-1
-20
9
8
15
24
10
38
17
-22
-5
-17
9
5
0
24
21
17
-1
7
-6
5
13
10
-7
-3
-1
-4
0
0
0
1
0
-3
-8
0
1
1
-4
-26
4
-7
5
23
50
39
-19
7
-19
10
37
-8
1
-17
-3
8
16
-23
1
10
-25
5
-1
-8
5
-4
12
24
7
16
0
-17
-37
30
-3
58
25
49
8
-3
15
29
-6
-1
15
-13
-8
6
-41
42
25
23
4
-16
0
-4
9
-17
10
14
4
7
10
44
16
38
3
2
34
47
6
0
3
-25
-4
22
15
-3
-1
4
-3
-27
-8
6
-24
-10
6
3
8
-8
-3
-15
-25
-7
-1
54
-8
-40
-25
-60
-6
-8
0
1
4
52
-1
0
0
0
2
3
13
-8
0
3
2
-1
-1
-6
-5
3
0
3
8
8
0
-5
-19
22
-16
-1
15
-5
0
20
8
16
3
4
-4
0
-1
5
-6
8
1
-14
-16
-1
2
0
-12
-8
0
5
2
-3
0
5
-29
42
14
11
-5
4
0
24
-5
3
0
-2
2
1
-2
1
-7
5
-3
-7
22
8
0
-3
-1
-16
4
3
0
8
-3
-16
24
-5
4
-19
-6
2
0
2
8
-19
-7
3
0
0
0
2
-16
-6
3
8
-1
5
0
0
3
5
1
0
-1
2
1
27
58
58
33
34
-2
13
0
-4
-4
-8
1
-6
0
0
0
5
-9
-13
-2
19
3
0
0
0
-2
1
1
0
-2
1
-1
-71
-4
-8
-66
42
-23
-12
-2
3
-14
1
-4
12
-2
1
0
3
44
-49
4
-53
14
0
-1
-1
-2
2
0
-2
25
-2
-6
42
8
0
-2
8
-17
-1
7
5
38
-16
13
-51
-5
-5
0
9
-1
0
-2
-3
-10
-9
26
-10
1
-4
-3
-5
1
-52
-20
1
41
8
1
21
5
9
2
3
3
3
-7
3
-17
25
-2
-5
-6
-6
-9
1
-2
-49
5
3
24
3
-7
28
27
-16
-48
-3
25
66
25
-7
2
-4
1
20
4
17
-1
2
-10
-14
-6
13
0
-10
-22
-21
35
56
-27
-48
30
-29
-15
-73
-6
-1
-23
7
-6
23
20
-91
-16
8
0
17
4
-23
2
-19
-1
0
0
-20
0
-18
-4
-19
-44
2
44
-11
-11
-30
2
12
47
8
21
-5
23
-5
-29
11
-10
25
0
-12
-2
7
2
6
6
-4
0
24
11
12
10
-15
-25
42
-107
22
-42
41
-13
-6
24
-10
32
-39
7
-13
6
4
-1
2
0
-1
13
0
-1
1
0
2
0
8
-3
-44
41
12
14
9
-8
-3
-21
1
-8
-6
42
-13
3
-15
16
-35
-1
-24
0
4
0
-3
0
0
0
0
0
0
0
0
-4
-1
23
-83
39
6
-13
-22
3
-10
25
-13
-8
-6
35
50
8
2
17
-3
-4
0
0
-2
1
1
0
-3
0
1
-1
0
-18
-40
-25
-29
-57
10
4
-16
-33
9
31
10
2
9
17
-6
28
44
24
0
-23
30
-9
26
-5
12
-1
9
1
8
-5
5
14
-37
51
-22
11
42
27
-25
-1
5
3
-17
-6
2
9
1
21
-49
-4
13
30
-45
-24
33
-1
-8
5
8
-1
1
1
6
0
18
22
6
-9
7
-14
59
0
-15
19
4
-18
5
29
-3
6
-45
3
13
2
-8
0
-6
0
-1
0
-5
0
1
-1
2
-19
-21
10
5
4
20
7
45
0
14
14
2
-15
-22
50
-29
-48
-5
-25
15
17
5
0
-1
0
0
0
-3
0
0
0
0
-68
50
-22
-55
29
-3
5
14
-5
41
18
40
40
31
13
55
5
52
9
42
-16
-9
12
9
25
7
-8
5
-1
0
3
-4
17
17
-18
14
26
-5
-6
-44
4
62
-39
-30
15
-10
-41
49
25
35
16
-5
0
10
0
-6
2
-4
0
-2
1
0
-1
-2
-42
-50
-13
-24
19
-14
10
-3
-3
2
36
-33
-21
16
22
27
3
-13
2
17
0
15
1
-2
10
-8
0
-4
0
1
0
1
-5
-8
15
-4
53
13
10
19
17
2
-5
-17
-53
25
-9
67
5
-9
-57
-40
5
-25
10
-30
21
-29
24
7
-8
36
13
16
-6
-13
-1
-2
-15
13
-5
44
0
-1
24
30
19
68
14
45
9
6
24
6
41
9
32
-20
24
30
34
24
-1
20
19
15
-51
8
-9
40
-27
2
-2
22
-19
56
-42
35
4
-25
43
-9
13
2
-36
19
-27
20
-21
-3
9
13
13
-12
-2
6
-29
-32
66
-25
69
-47
-18
15
-1
-38
45
82
-18
-3
24
-3
-4
-1
5
-16
14
66
13
22
-3
-23
-5
17
18
14
49
16
6
6
-11
-8
-23
-8
-5
5
5
7
48
10
-6
-13
18
31
9
1
-2
8
38
11
29
28
19
33
22
22
-27
-76
-31
69
-10
17
0
-36
12
47
23
8
3
12
-20
4
8
-16
33
4
-41
-5
6
-24
13
16
-1
6
6
-9
3
-12
-14
17
-4
0
-10
3
-14
27
-1
-22
5
-6
0
-23
25
12
16
7
6
8
-3
-12
46
-23
-6
-13
20
32
16
-8
29
5
8
19
0
4
1
10
4
0
0
4
-17
-8
0
-1
-5
-24
1
1
-12
6
-2
32
38
23
18
-15
2
-13
-1
5
3
7
8
-5
0
-8
0
4
-1
-2
0
-1
0
0
-4
-4
2
0
-1
-2
1
-1
0
-28
-16
26
-10
56
-2
-10
2
24
8
-2
30
-48
8
-1
-1
-34
19
12
-2
-16
-31
14
-17
13
0
-15
5
8
-18
16
25
-1
32
31
-5
-37
-1
24
8
14
30
8
7
42
-3
-6
-6
27
-9
-7
4
16
-3
3
-8
-6
6
12
-3
-13
-6
-2
6
-23
31
26
-46
58
-1
10
-1
24
8
-4
-3
23
6
0
1
-1
4
-13
2
0
4
0
0
2
2
-6
0
5
0
0
-8
-14
5
8
14
-41
16
-20
1
0
1
-8
-1
2
1
-1
-1
7
0
9
0
9
-1
-1
0
3
-3
-3
3
6
3
1
2
-18
21
-1
41
-66
6
4
6
10
7
20
4
4
0
-1
0
8
-7
8
1
0
-6
2
0
3
-8
4
0
2
0
0
9
-26
-18
-11
-12
-45
3
1
0
8
-4
-2
-7
1
0
0
0
4
6
-10
2
-1
0
4
1
-2
-4
0
0
0
0
0
0
9
20
12
-17
-17
0
9
0
1
2
-9
-2
0
0
0
0
0
-19
3
-1
-6
0
0
0
0
0
0
0
0
-8
1
0
0
16
-33
-12
-3
0
8
0
-4
-7
0
-1
3
0
0
-2
0
7
0
0
1
2
0
0
1
5
-7
0
0
0
-2
1
20
6
-26
-13
58
0
-6
0
-8
4
-24
-20
-13
3
1
12
-7
-8
43
6
16
0
-17
0
0
-22
-8
4
-3
6
30
5
91
-17
-10
10
-13
2
24
0
0
-5
-6
4
34
-1
-3
0
3
0
1
0
-11
-10
17
-6
9
8
-15
-45
-10
-4
5
5
2
-77
4
49
18
-5
0
-10
30
8
5
5
27
4
-4
-8
-2
-2
4
0
-9
0
-5
-17
16
-13
-2
-21
-25
-23
9
16
0
17
24
-1
-7
3
0
0
-8
2
4
-1
0
1
0
0
-8
2
1
6
-33
17
58
-33
-3
-6
22
-6
-25
26
-71
-4
5
-15
40
-2
-31
12
-3
-2
-1
9
5
0
0
0
0
-1
-14
-5
3
-10
3
6
24
68
-46
11
-6
16
-30
-12
-3
10
14
-24
-10
-8
26
-1
8
-1
22
-6
-4
0
8
0
0
1
-2
-2
-25
44
29
48
24
22
-5
33
12
-4
56
-22
-42
-32
14
49
-28
1
-16
4
2
2
-8
1
1
2
0
-2
-1
1
5
1
-11
13
-46
-42
-35
5
9
64
29
29
-12
8
-20
33
-3
-13
1
3
-25
0
8
0
3
0
0
0
0
0
0
0
0
-16
-10
46
55
13
-49
-2
-27
36
42
-25
-8
31
-13
33
41
-5
-7
16
7
14
0
0
3
2
-2
0
0
0
1
1
7
-6
-28
-22
-126
46
-28
42
-9
11
18
40
4
5
42
-21
9
0
16
8
-26
-9
24
1
-10
0
1
-5
2
6
-10
-7
14
-10
-12
-13
47
-50
42
-20
-30
0
-2
17
-17
-13
-35
-22
8
28
9
3
15
-2
9
0
14
15
3
-7
2
-3
-1
0
4
-3
-22
23
-48
42
-12
-5
13
0
10
30
-10
19
22
32
9
-8
-32
-17
-35
-10
8
0
-5
0
9
1
-5
1
0
0
2
0
-8
18
39
-1
37
-14
-10
-8
-12
-3
90
2
60
-23
29
42
-1
-30
41
4
-1
6
8
1
2
3
3
0
0
0
0
-39
-7
34
19
-8
7
-6
-16
-2
29
-43
-66
-35
4
-35
26
9
-27
-21
30
-1
41
0
5
0
12
1
-8
0
-1
0
-1
-28
19
-13
55
-1
17
-3
40
25
-2
-14
2
16
8
-3
-14
42
0
42
12
-3
-4
-1
1
5
5
0
-1
-2
1
0
0
-19
-98
2
7
0
-14
-15
-8
-11
18
62
-59
-31
73
-13
59
42
47
6
-93
2
5
0
5
-14
-9
-1
8
-1
0
0
2
6
-26
-10
-44
42
25
-16
16
23
-21
-17
72
-14
-4
-51
2
8
1
11
1
-13
-7
43
-19
-38
-14
-4
-2
-7
-20
9
33
1
-5
-1
2
9
-11
-15
26
-5
-5
-5
-13
5
2
36
-6
0
7
21
-7
0
30
109
-19
-37
-3
55
6
2
48
-3
17
37
25
3
9
9
8
-1
5
23
13
0
24
-26
-3
33
-30
1
-7
-5
-13
19
11
-4
0
12
62
9
21
-4
-9
34
-53
17
-15
-5
-10
28
19
0
-9
12
-5
3
-76
4
51
-27
-8
3
-18
27
23
-53
5
-9
17
0
-1
53
-31
33
-6
-14
8
9
-8
42
18
-19
15
-20
14
39
9
20
27
-29
26
-8
4
22
-19
6
-28
-15
9
-37
-8
32
-13
56
-24
58
-5
-8
-21
13
93
6
-5
-6
-2
-2
-16
19
25
-17
25
2
-29
27
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
21
-25
88
33
21
4
-26
-5
36
3
10
5
0
-3
-22
-4
-21
-35
59
18
0
-3
14
43
17
-8
-17
-37
6
-25
2
29
-19
8
-19
27
3
13
-46
-5
-1
5
0
16
-14
-1
-16
17
-67
-1
13
42
20
4
1
40
35
0
12
-13
-8
3
0
1
50
8
17
18
17
9
10
7
8
8
10
14
2
-5
-9
-13
8
-41
-12
-14
-3
-2
3
-10
-1
9
-3
14
-13
-2
7
-19
-12
33
-6
-6
22
-8
5
5
-42
13
8
7
-1
0
-3
-1
13
-16
-34
0
8
1
14
1
-6
-4
-5
-1
-18
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
21
-30
66
9
4
24
66
-1
17
8
-54
13
10
8
-2
-4
4
2
2
0
2
6
-6
-18
-3
10
-8
13
55
5
11
21
60
-9
2
23
8
25
-10
-7
-9
16
13
-3
9
-10
-7
5
5
-7
-13
-54
23
1
27
37
-70
22
-13
-28
4
6
12
0
13
30
-1
8
1
8
15
29
0
-49
5
-2
0
20
10
-6
17
22
-32
4
-3
-32
26
12
3
-28
-100
24
-41
-16
-5
-45
-13
55
1
2
-9
8
-15
-20
39
7
-1
13
-14
-8
-2
-17
-4
-32
-21
-9
9
-62
-26
13
10
6
0
-10
9
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-76
-13
-12
6
41
-1
7
-28
40
4
8
15
-31
6
2
22
76
-30
-35
20
-53
-23
-16
-3
2
11
-8
1
-25
-31
3
58
-42
6
24
-13
2
1
8
27
3
-7
20
4
5
8
35
17
11
-4
-100
15
16
-35
-26
-2
-22
-9
-1
-24
13
25
-6
0
-15
-1
-8
-17
2
0
-1
9
0
-12
8
-22
-1
3
-8
1
-40
52
33
73
40
-16
-8
-14
-8
-69
-14
2
49
6
-26
-6
7
0
-7
-2
-7
2
6
-5
8
-3
10
29
-39
-8
7
-23
-60
13
30
10
9
-24
-24
-13
-66
4
10
59
51
-43
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
6
26
50
-18
28
15
-11
-31
19
-2
-2
26
-4
13
20
4
28
29
23
33
-42
21
-3
0
16
-47
-15
6
-22
-14
5
2
29
-11
-7
-11
30
39
35
47
-13
-13
34
-2
38
14
23
18
7
-13
-34
-6
-5
18
-5
-3
19
-19
-2
2
-7
-14
8
-22
13
21
76
32
-31
31
43
-2
49
18
3
-2
-12
-15
-16
7
-35
21
0
1
18
-2
23
39
1
3
-25
35
31
10
-17
6
-3
7
28
-13
60
23
-17
-4
13
6
21
-15
-14
0
-4
6
31
22
43
-1
0
-29
8
-9
-1
-2
20
-39
24
-48
-24
-7
97
39
2
48
-2
41
45
9
6
16
8
2
1
15
5
-24
5
-15
8
-15
6
3
-1
7
0
7
-15
5
0
-44
-20
11
-5
-14
25
8
-28
25
8
41
-1
16
-5
-9
-8
-8
-12
-54
6
-17
8
18
0
-2
24
35
0
2
-1
9
2
-5
-8
17
-13
-31
4
26
12
16
2
1
-9
-6
8
6
0
-5
13
-6
-2
-25
-1
-1
-1
0
-2
-1
1
0
0
-1
1
12
-8
17
-24
7
-17
23
21
-31
14
-15
5
2
8
23
12
9
-20
-17
19
17
0
-16
3
-2
-8
6
1
-1
-25
-8
0
5
21
57
41
-7
-33
70
10
20
-7
23
14
25
-4
9
-7
-3
5
8
13
2
-19
0
0
-6
45
5
13
4
17
0
-5
30
62
-11
51
17
-14
29
-29
-13
-31
37
1
6
-32
14
-4
3
7
-22
0
0
5
-3
0
-1
14
6
-3
-1
-29
13
-3
13
-28
-11
35
-71
3
14
8
-6
-3
4
-1
-9
2
-5
0
-8
9
1
-2
3
0
0
0
0
1
2
0
1
5
0
-1
14
22
-13
-4
-55
4
12
2
-5
21
9
24
31
2
-9
3
-20
6
7
-1
8
3
0
0
0
-4
1
1
10
-13
-2
0
6
31
5
-1
22
13
10
-10
8
18
-39
1
5
7
9
0
-5
0
-5
2
-1
2
2
0
-1
4
0
0
0
-2
0
0
-29
4
7
-14
41
-4
42
1
-3
-15
-24
2
0
13
0
0
0
5
8
1
2
0
-1
0
0
5
5
-1
0
0
3
0
-1
31
-25
10
49
3
27
1
6
-4
-8
0
-1
-1
0
0
1
16
5
-7
-12
0
0
0
0
0
-8
-1
0
-1
0
0
-31
-33
-84
27
-30
-14
17
2
0
-28
12
22
-1
0
0
0
0
-41
-1
-2
12
-8
-1
-1
-1
-2
19
0
-2
8
0
0
19
-8
70
5
-5
26
34
-2
-38
8
12
7
15
-2
0
10
0
-2
0
6
-8
-1
16
19
-7
-4
-20
-11
23
36
-26
3
-8
46
-5
0
-11
-26
-5
-9
-1
2
-5
-5
13
-4
-6
-10
10
-1
-4
11
-2
23
-41
13
6
-5
2
-9
-42
52
-5
-8
-21
-1
32
-23
42
4
-7
1
8
0
3
3
0
0
0
-1
-3
-1
1
7
3
87
56
-4
-26
-39
-18
41
-58
8
13
-7
-22
13
-13
19
8
9
-23
3
-41
-8
0
-1
-15
-3
5
0
-8
-2
-6
3
9
58
20
16
-4
-2
-31
-42
-34
-85
-55
-39
19
20
-19
8
16
13
31
0
-4
22
2
1
0
0
5
0
-1
5
-10
52
-4
38
-18
-42
-50
11
8
-14
2
-44
25
42
20
21
1
-5
-14
-8
-9
0
24
0
3
0
0
0
-2
0
0
24
-7
-45
-29
29
-21
-58
-12
-19
19
-4
7
13
29
2
-25
6
13
-2
-24
-5
0
-2
0
0
0
0
0
-1
0
0
0
13
-2
14
8
-31
41
39
-54
-71
42
30
2
-43
6
19
39
6
-30
-7
-19
7
24
-1
-3
1
0
0
-1
3
0
0
0
-5
-22
-17
-16
-13
-14
-50
-22
0
33
5
-7
-23
-10
-14
-5
-13
13
8
46
-12
2
0
-10
-4
-41
5
-8
0
-1
0
0
-7
-1
23
-32
-75
-6
-37
49
-1
-3
-5
-21
-9
-23
61
2
5
-13
-8
35
41
-10
8
-9
-8
-12
7
5
-1
-3
1
-3
-7
-92
7
18
-2
15
-7
7
-4
-7
14
18
10
8
-40
0
-1
8
-13
22
-1
1
0
-1
2
-10
-1
0
0
0
0
1
28
29
-71
-46
3
8
-4
14
-2
8
-2
10
2
1
-36
21
-35
20
-15
10
-2
1
0
-2
-8
13
0
-2
0
0
0
0
13
-36
-34
-2
14
5
-2
10
-9
1
39
24
5
84
-48
9
46
43
14
-19
-22
-17
1
31
7
53
0
10
-3
0
0
0
14
0
-9
20
-13
2
23
-5
28
14
24
-13
-5
-20
40
-22
26
-20
25
23
-8
32
0
1
12
0
0
3
0
-10
1
0
-3
12
-13
13
-21
8
-2
-3
-17
-45
0
-18
29
22
-7
27
-5
35
-17
0
12
37
-5
-8
-2
2
-1
1
0
-4
1
0
7
40
-7
-19
-9
6
20
8
-8
22
-2
41
-10
-7
-22
53
-13
-1
-12
-8
39
20
5
-20
2
53
-17
1
16
-5
15
-49
1
-20
-48
-20
-15
-5
-5
-3
5
-20
-1
29
-9
10
24
-11
-1
-16
-46
14
1
42
-9
1
19
32
38
16
-23
32
-2
-4
21
43
7
-35
41
-24
1
-8
24
22
27
-21
29
3
31
13
-6
-3
20
33
22
46
7
-40
-4
-11
12
16
32
-17
8
34
63
-34
1
24
-25
12
-22
-2
4
72
-5
-49
-43
-4
-4
6
-20
11
44
40
12
40
-17
49
20
13
-9
-20
15
24
10
4
-32
6
14
-5
-5
14
0
30
3
5
-25
10
-12
8
3
13
10
3
-28
-12
14
12
-23
54
75
-22
7
8
0
-16
-4
-18
-11
23
-5
-30
-6
6
8
10
-7
17
-1
10
-8
34
-5
26
30
23
19
-38
12
-15
-3
-41
-3
19
-6
0
0
7
0
-5
18
19
3
-6
0
-5
-2
3
3
-9
2
-3
34
-4
1
-17
-24
-16
21
-30
35
66
-6
-2
-18
23
3
10
0
-14
0
8
-25
-8
-3
3
5
-1
-1
0
6
0
0
2
1
0
0
-2
54
-16
8
0
-7
10
0
0
22
-24
-2
7
1
-3
0
0
-2
-5
0
0
0
0
0
0
3
-5
0
-1
0
0
1
-16
62
-14
-22
41
21
4
8
-31
-10
2
-14
-1
8
-10
0
-2
39
-30
2
8
-1
-1
0
1
-12
-24
-3
-7
18
0
-2
-11
6
8
9
29
-34
24
3
20
-11
5
18
-6
13
24
-3
-4
-28
-7
0
8
4
4
0
-3
12
-1
-1
2
7
-19
0
-44
14
27
33
-7
-8
44
0
5
-1
-19
-2
8
2
-12
0
-2
-23
-6
2
4
1
-3
0
0
7
2
2
0
-10
-4
0
-8
6
57
-2
-18
-17
5
3
-1
1
-1
23
2
-1
1
-1
1
4
4
-1
0
5
1
0
-2
19
-7
0
0
-1
1
0
-24
1
-17
2
-3
13
13
-1
17
-25
25
-1
2
-1
-7
0
0
25
13
0
-3
2
7
1
1
5
0
1
0
4
0
0
-25
-2
-45
15
-42
4
-9
2
-1
23
0
0
0
0
3
0
1
5
-12
3
-1
0
0
0
0
-1
8
0
0
0
2
-2
-14
2
-13
24
-8
16
6
1
4
0
5
0
-1
0
0
0
0
0
-12
-1
0
1
0
0
0
9
-16
0
0
0
-2
0
-21
-25
-16
49
27
-12
0
-2
-4
-2
-6
0
1
0
0
0
0
19
-16
0
0
0
-1
0
-1
-1
-7
0
0
-1
0
0
17
-2
25
21
41
-5
4
-1
-8
-8
5
1
2
0
1
0
0
-14
47
22
-4
-7
-3
0
0
7
-8
3
0
-16
-6
0
-8
13
-36
14
45
24
-29
19
-18
-12
-25
6
3
-6
-18
-4
-8
0
-4
17
-6
5
-18
-11
-24
-5
20
3
2
7
-9
-26
-13
-5
-1
75
-21
22
-13
-8
26
35
7
25
-10
-5
17
-6
-25
-1
-2
-4
-14
-12
0
-14
-22
33
-15
-6
-11
-35
-28
-4
-22
-9
-3
15
6
23
3
-4
-6
14
2
2
0
3
-4
0
1
0
-1
22
14
19
-22
-46
-13
-20
7
14
-6
42
41
81
-5
-14
35
-5
-33
14
14
1
-7
7
-14
0
8
5
4
0
1
-3
1
4
8
-8
-10
-6
-49
17
-71
-20
5
8
-12
-32
73
7
26
-16
8
9
-18
0
8
0
-6
2
8
2
0
2
-1
-6
34
2
1
58
30
-7
-5
26
6
-53
45
4
-20
-20
2
9
9
13
12
-3
4
1
3
-22
33
0
1
0
0
1
-4
-1
12
-3
-27
5
-10
13
-3
-31
-3
-6
-4
17
-4
19
-40
3
-41
-5
-8
6
-2
0
0
4
0
0
0
0
0
0
0
14
-4
-30
23
18
19
-20
32
-29
3
6
14
20
0
0
3
55
-12
-6
-45
-17
5
-1
3
-3
5
-1
0
6
-4
0
0
-4
-5
6
3
84
31
31
12
-76
-13
9
7
5
1
-12
-13
14
21
12
-14
-5
-2
-9
12
8
-4
-6
5
10
-2
-1
-8
-5
-35
-30
22
-30
34
-16
55
0
3
10
12
-16
-6
1
4
15
28
33
-17
1
-20
0
3
-16
16
0
1
0
-1
0
1
1
1
17
58
23
10
-13
-10
2
-3
-9
-18
-31
2
27
-8
-16
5
-5
3
7
-5
-1
3
1
-6
-1
0
0
0
0
0
10
19
-19
29
-49
22
25
-30
0
25
73
26
-21
-4
65
-32
1
-5
8
14
-1
19
0
-1
0
13
0
-3
-2
-1
0
-2
71
43
5
-31
-28
25
3
-1
-6
-3
13
4
-23
-29
-24
-18
-41
2
10
21
-14
10
2
3
15
-10
0
-2
0
0
2
2
-17
68
30
43
-69
43
1
-43
-7
27
-43
42
-16
20
-10
26
51
-7
41
6
6
-42
-2
0
10
17
-1
0
0
0
0
0
-31
49
-50
13
4
6
-19
1
11
1
-61
3
-15
2
29
-6
8
33
8
8
-12
9
-1
1
-14
7
0
0
-1
1
0
0
-16
-84
78
30
-51
24
16
-29
23
-14
4
21
-25
-2
-9
-59
1
-5
-19
-5
22
11
41
-8
-10
13
41
0
39
-22
27
-27
0
-11
1
-4
4
0
0
-1
-2
-8
1
3
5
17
-18
-3
0
-10
17
-19
0
0
0
0
10
-42
11
31
0
0
0
0
23
-10
33
-12
0
0
0
0
-22
-16
10
9
0
0
0
0
3
0
2
-1
0
0
0
0
-18
-11
41
7
0
0
0
0
123
-2
29
43
0
0
0
0
-41
30
-2
24
0
0
0
0
29
-15
48
31
0
0
0
0
-32
40
25
-6
0
0
0
0
32
19
-8
-18
0
0
0
0
3
7
29
19
0
0
0
0
9
-9
60
-43
0
0
0
0
49
24
25
-24
0
0
0
0
-2
12
-17
-9
0
0
0
0
-15
18
-9
-19
0
0
0
0
1
30
22
8
0
0
0
0
38
-28
25
-31
0
0
0
0
9
20
0
3
0
0
0
0
43
-2
7
-5
0
0
0
0
-12
-19
-26
13
0
0
0
0
4
19
39
1
0
0
0
0
2
-10
-3
-13
0
0
0
0
22
41
7
6
0
0
0
0
0
4
4
6
0
0
0
0
7
6
2
7
0
0
0
0
-16
16
-6
-2
0
0
0
0
0
-2
-1
0
0
0
0
0
-14
-8
-14
1
0
0
0
0
-5
31
-6
8
0
0
0
0
17
3
8
-17
0
0
0
0
5
4
1
-1
0
0
0
0
5
60
0
2
0
0
0
0
-5
33
19
0
0
0
0
0
50
27
11
42
0
0
0
0
20
16
9
23
0
0
0
0
-10
-8
23
33
0
0
0
0
-10
43
8
13
0
0
0
0
2
-15
8
-12
0
0
0
0
13
-9
-2
10
0
0
0
0
8
15
11
27
0
0
0
0
22
-4
-19
6
0
0
0
0
-26
-11
-5
22
0
0
0
0
-18
34
-13
-2
0
0
0
0
48
41
5
-22
0
0
0
0
-17
-1
5
-4
0
0
0
0
4
-11
9
34
0
0
0
0
-8
8
3
-4
0
0
0
0
-7
79
13
7
0
0
0
0
-28
-12
-9
8
0
0
0
0
10
1
7
-3
0
0
0
0
5
8
-8
1
0
0
0
0
54
-52
8
0
0
0
0
0
3
-2
-2
1
0
0
0
0
-5
43
-5
4
0
0
0
0
-42
23
-4
7
0
0
0
0
13
-5
-6
88
0
0
0
0
-4
-1
1
-6
0
0
0
0
-27
41
8
5
0
0
0
0
2
-8
-12
-8
0
0
0
0
58
-55
-31
31
0
0
0
0
8
12
-5
-25
0
0
0
0
-30
3
-8
-32
0
0
0
0
25
-19
-10
-2
0
0
0
0
13
5
57
31
0
0
0
0
-22
5
2
-6
0
0
0
0
-1
-4
4
8
0
0
0
0
15
31
0
-4
0
0
0
0
27
1
-14
-40
0
0
0
0
2
12
-4
0
0
0
0
0
-1
1
-3
0
0
0
0
0
-32
0
-29
17
0
0
0
0
13
20
12
14
0
0
0
0
17
-17
-4
16
0
0
0
0
-7
-1
19
18
0
0
0
0
4
54
5
7
0
0
0
0
42
-78
13
19
0
0
0
0
59
-79
-42
9
0
0
0
0
0
-9
13
-13
0
0
0
0
1
26
-21
10
0
0
0
0
15
13
-7
1
0
0
0
0
-17
29
10
-3
0
0
0
0
-6
0
-6
-8
0
0
0
0
31
24
-22
46
0
0
0
0
-19
-9
-19
9
0
0
0
0
16
17
-2
-2
0
0
0
0
8
-44
26
-23
0
0
0
0
-38
50
21
-35
0
0
0
0
-13
16
-16
6
0
0
0
0
-9
-16
0
-3
0
0
0
0
-9
2
-3
14
0
0
0
0
57
-44
0
27
0
0
0
0
29
-20
-8
-27
0
0
0
0
-4
23
-2
4
0
0
0
0
30
14
7
-85
0
0
0
0
-18
-22
-29
-32
0
0
0
0
-14
29
-29
52
0
0
0
0
-16
-7
-5
24
0
0
0
0
1
-14
15
-82
0
0
0
0
-1
-1
5
-17
0
0
0
0
9
10
18
-8
0
0
0
0
25
81
-8
-6
0
0
0
0
-5
1
43
-29
0
0
0
0
-9
9
12
2
0
0
0
0
13
76
20
-52
0
0
0
0
-2
-39
-7
-4
0
0
0
0
6
-39
7
23
0
0
0
0
-26
-14
27
17
0
0
0
0
8
-2
-2
25
0
0
0
0
-2
33
4
-14
0
0
0
0
3
8
-35
-41
0
0
0
0
1
32
-20
7
0
0
0
0
29
14
32
10
0
0
0
0
67
2
-9
2
0
0
0
0
4
-11
0
14
0
0
0
0
9
23
-20
37
0
0
0
0
2
15
51
25
0
0
0
0
18
-16
16
-19
0
0
0
0
23
11
-42
-13
0
0
0
0
-26
-116
36
-43
0
0
0
0
-17
21
5
25
0
0
0
0
20
-30
2
-3
0
0
0
0
26
7
-52
-14
0
0
0
0
38
15
-23
-5
0
0
0
0
-2
-3
-14
-3
0
0
0
0
-3
-2
-20
1
0
0
0
0
-7
-6
4
-26
0
0
0
0
3
-25
20
-29
0
0
0
0
2
-7
40
8
0
0
0
0
-28
15
5
-13
0
0
0
0
-22
-14
23
-12
0
0
0
0
-17
5
21
-1
0
0
0
0
1
-5
32
10
0
0
0
0
39
-9
42
21
0
0
0
0
22
4
-12
25
0
0
0
0
-54
41
8
14
0
0
0
0
2
22
-3
11
0
0
0
0
58
-5
-15
-30
0
0
0
0
-15
-7
8
4
0
0
0
0
52
-3
10
4
0
0
0
0
24
-24
-29
2
0
0
0
0
25
6
12
25
0
0
0
0
2
9
-10
-21
0
0
0
0
-1
-6
-1
37
0
0
0
0
49
0
-20
-19
0
0
0
0
-22
-6
9
3
0
0
0
0
-37
27
3
1
0
0
0
0
45
31
0
3
0
0
0
0
50
-19
-1
9
0
0
0
0
-3
37
0
12
0
0
0
0
-3
13
-2
10
0
0
0
0
2
3
0
0
0
0
0
0
-3
27
-5
-7
0
0
0
0
17
13
-3
-2
0
0
0
0
4
-2
-5
0
0
0
0
0
2
0
0
0
0
0
0
0
-25
-22
25
-9
0
0
0
0
-20
-9
6
13
0
0
0
0
4
50
4
-16
0
0
0
0
-13
0
-2
1
0
0
0
0
12
27
-1
61
0
0
0
0
-14
5
-8
17
0
0
0
0
0
-5
5
0
0
0
0
0
0
-7
1
0
0
0
0
0
33
5
-18
58
0
0
0
0
38
22
13
-29
0
0
0
0
12
-7
0
0
0
0
0
0
-7
-24
2
0
0
0
0
0
-24
51
-11
28
0
0
0
0
-4
10
-22
-14
0
0
0
0
-3
29
-3
3
0
0
0
0
1
-4
-1
-1
0
0
0
0
-7
14
-8
-25
0
0
0
0
-23
22
43
16
0
0
0
0
20
21
2
3
0
0
0
0
-2
1
2
-4
0
0
0
0
-33
-5
8
-9
0
0
0
0
18
15
1
0
0
0
0
0
-8
20
0
0
0
0
0
0
2
-6
0
-1
0
0
0
0
24
-46
20
13
0
0
0
0
-7
-21
2
0
0
0
0
0
-3
8
2
0
0
0
0
0
3
-2
0
0
0
0
0
0
56
0
8
1
0
0
0
0
-25
-20
3
-2
0
0
0
0
-18
9
-7
-8
0
0
0
0
9
-1
1
0
0
0
0
0
32
27
6
-23
0
0
0
0
-8
24
19
8
0
0
0
0
26
-16
8
-27
0
0
0
0
4
10
0
1
0
0
0
0
-5
3
5
-48
0
0
0
0
48
-54
-4
2
0
0
0
0
1
-2
1
-9
0
0
0
0
-7
-42
-17
-50
0
0
0
0
16
1
-10
35
0
0
0
0
3
30
-8
-2
0
0
0
0
0
-3
-7
0
0
0
0
0
17
-41
51
-6
0
0
0
0
8
6
8
8
0
0
0
0
14
-8
1
-2
0
0
0
0
4
-24
10
-9
0
0
0
0
-13
-9
-24
35
0
0
0
0
-1
6
17
-19
0
0
0
0
7
20
-5
-6
0
0
0
0
0
-1
3
-9
0
0
0
0
-2
-27
-3
21
0
0
0
0
13
22
43
10
0
0
0
0
-31
-5
-3
0
0
0
0
0
5
3
-13
39
0
0
0
0
26
32
-15
3
0
0
0
0
-11
8
2
5
0
0
0
0
-6
-5
-2
0
0
0
0
0
-12
20
-17
-19
0
0
0
0
46
21
-9
-2
0
0
0
0
20
-37
5
-4
0
0
0
0
-1
3
0
0
0
0
0
0
8
6
5
-7
0
0
0
0
59
47
12
-24
0
0
0
0
-15
-19
37
-5
0
0
0
0
14
5
1
8
0
0
0
0
-2
-7
-32
-2
0
0
0
0
-8
-10
-32
10
0
0
0
0
24
-16
42
-10
0
0
0
0
16
-12
6
6
0
0
0
0
-2
18
-1
1
0
0
0
0
0
2
-9
-9
0
0
0
0
-6
18
-12
40
0
0
0
0
-5
-39
1
-1
0
0
0
0
-4
-15
36
20
0
0
0
0
0
-2
42
-22
0
0
0
0
-8
-17
7
19
0
0
0
0
-3
-6
-1
0
0
0
0
0
-15
25
-6
6
0
0
0
0
6
34
-14
18
0
0
0
0
35
-13
0
-44
0
0
0
0
10
43
1
14
0
0
0
0
16
29
-69
35
0
0
0
0
-4
-39
-40
40
0
0
0
0
-13
28
-5
8
0
0
0
0
8
-16
13
6
0
0
0
0
37
-39
-51
0
0
0
0
0
10
4
32
-6
0
0
0
0
19
50
-9
12
0
0
0
0
13
46
-3
2
0
0
0
0
11
-48
-32
80
0
0
0
0
-26
-36
-42
-4
0
0
0
0
-53
9
66
13
0
0
0
0
15
-5
-8
3
0
0
0
0
5
0
-17
1
0
0
0
0
-33
-8
20
-26
0
0
0
0
2
0
-1
-13
0
0
0
0
-26
-23
37
-7
0
0
0
0
1
0
10
-2
0
0
0
0
-1
-15
31
-31
0
0
0
0
10
6
4
23
28
41
-29
35
42
16
-23
6
46
50
27
26
0
25
46
42
-13
-16
50
96
3
-9
27
22
14
12
40
1
9
6
-12
11
7
4
13
38
-4
-1
-1
-25
-58
15
9
8
32
45
4
25
-8
34
57
83
29
2
31
24
8
41
-73
4
-20
22
1
-2
-49
76
1
48
-3
21
19
-70
71
-41
0
36
54
6
4
30
-31
85
43
79
8
-9
4
6
-40
-40
-41
36
-15
12
-17
-23
-2
-20
-13
-3
10
4
30
-2
60
-17
22
-35
19
-20
12
-27
-16
-47
-27
33
40
6
-14
6
3
8
54
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
25
-22
22
53
2
2
-5
31
26
92
-32
-4
-20
-60
30
-19
85
45
-32
147
41
30
1
-4
51
9
115
50
30
-29
51
8
-40
-30
23
43
-25
14
-33
24
33
-3
-2
41
47
-22
-5
13
-16
-9
-35
15
4
-73
22
-11
-5
50
-10
35
79
-4
35
-28
-19
1
21
53
43
-17
26
-10
56
-29
17
18
-10
-18
-3
53
-20
17
-2
41
-24
27
-67
30
2
15
-24
25
49
73
-18
73
-40
5
10
-50
-9
13
27
3
-64
-50
20
92
-28
-70
-56
15
63
65
-49
-50
-5
-14
-99
76
61
45
-5
7
-30
20
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
42
-2
-20
57
14
-32
109
-4
57
14
17
38
3
61
7
9
15
6
14
-1
-8
-6
3
12
0
7
-9
10
10
0
-13
-20
56
3
76
48
-58
56
88
-25
33
33
40
12
12
16
-3
-6
-18
14
10
-10
-8
-4
8
-17
15
1
15
-34
3
1
66
-30
-38
-63
-36
89
-8
23
75
12
0
-40
-45
-8
-16
31
-2
0
-3
6
-5
19
-2
7
44
-18
11
54
13
26
-30
4
36
43
-5
-86
-41
-44
46
-20
28
13
-43
47
-49
56
-59
-49
-15
-8
-31
3
3
53
-35
14
-12
55
14
-2
-21
6
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
30
-41
79
110
15
5
-10
-30
28
7
53
-10
37
-63
-6
17
30
-14
74
-17
16
7
4
0
-10
0
-7
1
-12
-5
21
-56
-60
65
129
23
58
57
-26
29
-5
-30
49
-37
-18
-6
-49
-27
13
-24
4
-5
32
-30
1
-1
-7
-26
-33
-20
-12
-11
-56
-20
-28
26
29
-91
-31
11
42
42
48
35
30
-41
-34
-24
-37
-54
-37
-10
-54
-139
-76
12
1
-3
-5
-37
17
10
11
0
-12
21
25
-67
1
-35
32
-122
-25
-75
-42
-94
-10
12
33
5
-47
24
-31
-124
-5
18
-69
-16
0
-21
1
11
-57
-12
-1
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
4
30
53
14
19
32
17
-17
32
19
21
-12
26
8
-8
9
-23
63
-55
27
5
58
41
96
29
83
4
14
-27
19
34
8
-1
11
-34
3
45
58
30
28
3
-3
-7
-12
5
-8
-15
30
51
-6
5
-8
-2
-5
-16
53
68
-3
22
21
3
-2
34
27
0
-5
49
-19
-3
-5
-39
-5
13
76
6
-47
-30
24
8
44
-44
82
-38
1
18
67
125
44
-10
8
23
72
-11
8
34
22
24
-22
24
0
24
27
67
21
33
3
25
11
31
-36
11
41
-87
-17
54
22
24
34
0
52
4
-13
-16
-17
-60
27
14
-1
13
36
71
67
97
-49
29
43
-34
-26
51
31
7
11
-5
33
-12
23
25
-21
-13
41
54
99
39
50
62
-8
58
3
19
20
-15
-7
89
94
12
-12
25
26
17
25
30
-44
16
40
10
4
92
-26
4
123
-24
-31
6
3
-40
15
-42
-35
46
-12
55
-21
9
-27
43
31
30
17
28
42
-23
70
6
19
1
-15
5
70
-8
-59
8
-4
1
-27
47
-41
-40
69
-8
14
-31
15
5
5
0
14
12
62
-48
-22
76
-17
47
-25
1
-93
18
5
21
11
-4
-35
0
21
-23
8
-66
-43
21
38
35
29
48
-18
29
35
-41
23
86
57
66
59
6
74
-41
30
31
69
21
34
46
37
161
55
-13
33
25
-15
-81
-58
4
116
56
19
62
9
-9
15
67
-7
-6
75
-23
12
34
-51
29
-1
34
50
16
-6
49
-25
26
-23
21
-4
-45
3
107
-24
22
-29
-42
58
9
10
3
59
1
-32
62
5
-34
32
14
-24
-18
-8
27
23
-26
-25
36
-47
-5
-83
76
-97
-7
-34
22
32
-46
5
47
44
93
-67
15
23
-17
38
21
-13
-66
25
75
71
8
-20
-57
66
-1
56
49
-40
-9
-72
-40
-16
19
14
0
-74
-104
35
11
-36
-51
-41
-39
11
1
18
-25
31
45
20
1
8
7
0
-17
19
29
61
17
41
45
48
101
-6
13
41
-5
7
49
23
30
45
23
-10
-9
27
52
-12
-13
0
-2
17
13
-7
30
-40
7
63
41
39
-16
-58
31
-76
52
-23
16
-15
-59
22
35
-33
-47
21
8
-19
31
4
17
48
-19
-22
25
-25
-50
2
-12
-5
-25
12
16
43
83
-22
31
0
-90
-57
-23
-49
68
-84
-8
-15
-58
79
-8
-54
23
-47
29
62
42
22
-64
8
-8
31
22
-99
-1
-30
-61
-27
112
-9
-56
6
3
8
19
-67
17
-23
42
-62
9
-25
6
-35
-1
32
4
38
6
23
128
29
-58
-45
23
-10
39
45
-34
52
4
1
-6
-4
0
13
7
0
12
-5
-3
32
-4
19
-8
10
76
-6
-46
-41
32
60
35
49
28
-25
-42
-38
4
43
9
-29
4
-2
0
-4
-7
3
-13
7
-7
-6
-11
-25
-1
-12
-2
-4
22
32
23
-59
8
46
-24
22
36
10
-9
2
22
-66
-5
32
-3
-5
-13
-3
6
24
5
-14
7
-7
-16
41
-13
-38
28
-1
-11
-45
47
-7
21
-3
-5
5
19
-43
56
24
33
-83
-71
-69
-2
-4
-18
-6
-6
-54
-12
-46
-10
-10
8
43
18
-6
-5
-27
10
28
-82
79
-47
67
17
45
51
50
21
24
73
37
85
82
-8
-4
-6
1
-47
4
2
53
26
-25
42
-39
27
11
-101
-3
1
5
-21
37
46
32
-3
-19
13
49
28
5
-13
49
2
-28
3
8
-43
-9
2
-37
-13
-34
-66
-9
-72
-32
22
-80
-58
-4
50
-68
1
-82
-4
-28
-6
32
42
-7
-4
-24
2
-3
0
-3
23
35
4
-18
10
-50
-14
-59
-23
45
-19
-116
-58
-54
42
-4
-1
-67
4
-75
53
-4
-29
7
86
80
-3
-14
-31
-8
-5
-49
-6
7
-26
3
-12
-3
-60
-115
18
-75
51
21
-74
-86
-24
-48
15
-1
74
55
-12
42
-6
-71
37
10
33
69
20
13
22
30
-15
30
1
28
32
83
-28
-2
4
7
2
-14
7
16
-9
7
46
-2
40
1
85
-41
-77
16
-28
-14
21
-12
11
8
-84
-6
13
-50
24
30
-49
-68
-42
-13
1
-2
12
-36
14
28
41
-15
155
-7
24
-17
-67
5
1
-43
3
5
-5
45
24
44
-39
1
-30
-40
70
-5
59
33
-58
3
-3
18
2
-14
-11
-13
9
-30
-12
12
30
6
9
-1
-10
-11
-35
21
-21
-69
22
-41
2
-52
35
-33
-11
-41
-8
-12
-29
-25
-12
-14
3
9
8
-50
-46
-49
39
-37
101
-37
-1
-47
39
24
95
-1
-38
-23
33
-40
1
-44
-15
34
21
17
-19
-29
-57
-38
-7
-10
3
-9
25
26
-80
5
4
-40
91
11
-43
-54
-35
-29
10
38
30
-13
1
-25
22
-24
32
-48
-2
-20
-24
39
-20
-47
29
-14
-3
-34
-1
-11
-22
-46
-21
-21
42
-38
17
62
9
-72
29
-61
-21
-12
59
-4
-7
-80
-9
-17
3
-47
6
-28
48
-7
10
6
7
23
45
-61
28
39
11
29
-22
-14
32
-15
-7
-44
34
-51
19
-17
39
-4
10
-26
9
7
-7
0
-38
-93
-13
-46
-12
-13
9
-9
13
-16
-34
-46
21
12
15
23
56
-1
44
29
-14
-4
29
24
38
43
4
0
-5
52
24
29
-8
34
-19
54
20
41
-42
18
12
39
16
13
14
12
6
7
5
27
-13
1
27
-2
6
-17
67
66
2
-34
49
-9
82
-59
-8
64
16
29
-9
54
-17
-31
17
24
-4
3
17
-13
-70
30
54
81
-5
-22
32
71
30
41
38
-30
-31
-22
-19
-30
-86
48
16
47
118
71
-7
-10
-21
-7
19
50
-40
14
27
-6
26
33
19
-41
-1
5
2
37
14
-48
-10
58
6
22
50
89
69
23
9
-40
13
1
-19
-4
23
-9
47
49
-34
-10
-46
31
-19
5
-11
30
67
82
20
-31
53
9
43
-42
-7
46
1
136
19
-46
23
-5
29
-23
60
32
38
26
48
13
5
38
-15
-2
58
39
-22
-42
31
-33
110
-4
7
22
46
13
23
-13
45
-14
-15
10
22
-39
14
-33
11
-79
4
48
1
36
26
-3
42
-18
62
18
31
-26
-5
49
-96
14
30
6
2
23
13
83
37
-47
14
-25
19
0
8
-62
71
31
12
-32
-24
34
-5
-11
45
-26
3
6
12
19
-4
64
74
-20
18
-12
-2
35
-23
-70
26
-25
-1
-3
-55
57
20
-7
49
-30
3
29
-59
85
-47
-50
9
1
-14
22
61
89
-5
-40
-5
37
16
92
-25
-39
22
-30
40
46
17
32
63
8
-48
27
-11
25
-38
-80
61
45
10
38
-4
-21
-26
30
-42
71
2
31
58
64
-9
-31
-32
68
47
-15
-36
55
16
-41
6
32
21
-2
-11
49
33
-59
70
14
46
-1
13
-2
34
33
8
-1
0
34
-53
3
8
20
41
31
-9
1
5
87
-2
26
-42
-12
-42
-28
22
35
63
-24
21
33
-3
0
-9
24
29
13
67
19
41
-7
-33
33
-50
-26
41
8
50
141
47
-3
-5
-37
-75
-20
-1
22
-37
19
-41
-31
70
5
15
-13
54
-27
39
-24
-40
16
5
25
49
54
19
7
3
-3
4
49
64
-27
-4
-10
7
-54
-9
51
-34
42
-21
50
29
-20
-31
41
-17
-11
-53
-34
18
36
-12
102
32
35
-25
28
18
-18
13
-21
-55
16
2
-25
-41
-2
-4
-59
53
16
1
-19
-9
2
15
1
-8
23
48
12
80
48
-41
14
-23
-1
-22
-33
1
31
-19
-19
22
-4
39
18
31
-3
-21
49
65
-49
-31
2
-10
-4
11
-3
22
1
-6
13
17
-14
12
-49
86
-46
-44
-109
-22
62
-6
-42
28
34
13
-32
-5
-6
-5
14
21
26
68
32
4
8
25
-13
-23
11
84
33
-22
85
35
31
-20
26
-6
69
-24
2
-25
4
3
2
2
1
-3
0
-4
10
1
12
4
15
3
-4
-2
5
-2
-29
77
-4
-15
55
-8
23
13
-15
-1
32
114
-40
3
-48
2
-9
8
-10
2
33
30
-6
12
-67
8
0
-6
-2
5
2
68
-22
17
11
35
-14
8
44
41
-24
6
27
-28
-16
27
55
-14
-14
-11
-47
20
-8
-23
1
13
53
8
-39
-7
-9
8
-3
47
20
5
-12
44
-31
-19
-6
20
-23
-19
-38
-13
-2
-35
-23
-14
-12
14
-8
-14
-15
-66
-35
13
51
-6
28
22
79
-39
10
57
26
-42
31
10
-66
-7
-9
-43
49
-76
15
22
19
0
-21
-15
-18
-59
-14
-14
50
33
-4
-16
37
4
41
-66
-23
-72
23
72
0
10
-85
60
-13
-23
-8
30
-31
-3
11
-2
-42
24
7
9
-15
-12
32
-19
-12
-1
-63
78
-5
-11
-58
-59
-75
39
-1
-2
15
-2
42
5
47
-6
-27
25
23
-29
-41
-4
-5
10
-14
-11
-9
-33
65
-27
-40
-46
-55
-13
50
-58
-25
-51
-87
-22
-8
-18
5
27
-18
64
46
-44
-29
70
-41
-44
-28
10
-2
0
-49
3
-26
-39
-6
26
-54
-63
2
-37
-16
-55
4
49
37
-7
13
-20
31
-27
-7
-30
-8
-7
-29
29
-37
30
-5
59
-75
28
-24
-9
-24
12
55
19
-20
38
-13
3
-11
-9
4
7
-7
-18
2
8
-31
-4
-20
104
-20
10
-21
48
42
-22
-23
-16
-16
5
8
5
-23
-10
38
-3
31
-17
-91
-3
-19
-9
-17
14
33
-1
-23
4
3
-16
-3
-56
31
9
-2
-36
-27
13
-6
5
-8
-4
5
27
48
19
9
-11
1
-5
-8
0
-28
-2
14
-21
-44
-33
-3
17
11
-60
-46
81
-110
45
-25
-5
18
12
-3
-8
-33
1
2
-12
31
-58
3
96
-1
-7
-74
0
-14
15
-58
-26
-1
-53
8
-5
18
-6
23
-18
23
-8
35
10
-33
14
-5
-10
-26
-42
-18
-3
-25
-48
2
29
8
26
75
-19
-28
29
70
18
-69
-52
0
27
36
76
-28
-58
31
39
-22
49
0
26
19
14
22
-19
-15
14
-41
11
19
-33
-102
-26
-57
-6
-16
6
-15
18
15
54
-30
27
11
-32
-31
-23
2
26
90
38
13
27
29
22
-45
-66
43
-4
-12
-70
-7
-29
17
-6
-10
-3
-8
-13
10
-6
14
-15
-7
13
10
-12
6
17
-11
1
-39
7
22
35
-2
-36
-6
-2
-2
6
-3
-9
-5
0
-2
-27
5
5
-6
-12
-13
-7
-24
-13
-24
5
4
-3
17
45
40
14
18
8
45
41
31
-17
4
92
-20
7
20
37
49
58
74
46
21
60
28
3
46
43
130
69
2
15
4
13
6
12
29
11
-9
8
24
80
1
-29
29
23
-46
-17
26
-4
6
44
17
17
-41
-8
17
-5
14
-2
9
-8
1
9
4
-1
24
-3
11
-15
15
18
28
-14
3
-31
32
-8
-43
58
21
-22
51
50
-22
-14
46
61
-11
7
38
-50
17
-64
-7
-13
-3
7
-10
-35
6
-19
-38
11
-28
7
-2
33
-52
90
-14
67
7
-18
-26
17
3
-36
-71
-1
13
-42
-25
-7
-6
100
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-19
1
76
-5
-1
16
-33
17
-26
22
61
0
26
50
-10
8
-25
-53
68
-13
15
91
47
67
25
14
-29
3
64
-16
58
35
-17
36
-6
67
-5
-31
-10
15
22
7
13
-1
-43
41
-25
-44
17
25
61
112
-23
-32
95
16
-8
52
-46
-29
4
12
12
8
32
9
47
96
-28
-6
14
133
16
-5
-13
102
10
-13
-25
19
39
-38
-58
-17
-26
0
-28
-17
45
-59
15
25
-47
-22
-14
74
0
51
-67
21
25
-8
22
-18
15
32
10
28
25
-41
-26
76
-42
0
4
24
-76
-43
14
26
-49
28
-57
-16
-53
-67
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-9
-7
-35
13
18
51
150
-3
23
56
-54
37
42
73
29
1
1
4
-12
10
30
0
-12
3
0
8
31
9
-20
11
-6
-4
13
67
-10
58
58
-97
-100
27
12
4
-6
5
-40
-39
-13
3
0
-9
-10
12
9
-5
3
36
-18
-14
-4
11
-27
-21
-30
20
5
-2
76
-79
44
-30
-51
81
-4
-33
-9
-39
58
10
11
-5
7
5
14
10
-17
6
-20
16
44
-26
5
2
0
4
-8
27
-24
53
44
63
-92
-128
55
-10
34
-49
38
-11
32
-10
-80
-1
-14
-3
0
23
-3
-28
-39
14
15
-45
-10
-99
-60
11
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-12
25
15
-14
-79
38
95
21
-29
-18
68
4
-26
-26
-51
21
27
26
62
-1
31
10
-23
3
-3
-1
-28
1
-17
-7
-1
35
8
99
34
-70
11
3
33
24
-13
30
53
57
-16
-32
50
-6
4
-35
-85
-2
13
-12
-29
-10
-16
-21
-30
4
-4
5
-23
45
-48
40
48
-71
-43
-3
-41
42
-43
26
-23
116
-104
-57
-21
31
-13
28
31
0
-40
22
-40
-25
-32
15
-7
8
-36
7
3
-11
-23
-37
-86
-10
-65
2
21
-45
-11
-42
1
15
-69
-62
-41
-42
-15
79
-38
-15
-23
-73
-6
4
-15
-2
0
2
-18
-60
-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
0
0
0
0
0
4
9
-1
13
-6
24
-48
8
-17
22
59
57
13
43
28
18
13
36
13
39
27
90
-3
114
10
7
72
86
41
5
-20
7
16
21
4
5
31
11
-13
-5
12
23
-6
0
35
34
38
18
21
-17
-4
-4
-1
-13
35
16
-5
-21
9
28
-2
-13
25
6
-6
29
5
-11
-5
42
-6
32
114
-13
78
52
-40
-7
5
26
-6
-64
-46
-1
-16
77
20
20
70
31
-14
50
45
27
17
5
5
-6
1
22
8
-14
27
2
-6
33
10
81
-10
51
-1
31
32
0
55
13
29
24
-71
26
94
6
-51
-5
20
6
39
20
28
2
49
5
-22
9
55
75
44
-6
19
-13
41
43
107
20
-39
-17
14
-37
71
-50
9
46
-20
22
47
76
-62
35
80
-11
72
-19
70
-17
-59
-27
-15
6
18
52
38
25
-27
-39
27
-30
6
34
86
7
44
16
-10
51
49
40
-6
42
67
-13
21
-38
11
-13
53
-22
15
-13
18
130
90
15
-23
41
24
-6
31
-88
39
-7
-27
-44
41
-59
13
-5
57
-32
-22
-85
-57
-8
-6
93
15
-3
2
20
29
7
-49
55
91
-90
38
9
71
8
14
-42
56
-10
-34
2
12
-6
-8
13
-26
12
-55
-29
-32
-19
-35
-28
27
58
20
43
-14
47
64
36
14
31
14
38
-8
11
42
39
25
13
72
70
15
144
-28
-42
26
-12
17
-18
-43
36
62
14
22
7
17
85
-5
-38
-91
-4
-5
-1
70
-8
-42
13
-20
18
98
-4
8
48
76
-3
8
-15
-15
21
14
-19
-9
-6
18
10
-2
-7
-16
-23
23
-28
-5
18
11
31
6
42
-43
-43
9
-15
14
13
-59
15
69
-22
31
-4
-44
-17
8
-89
74
43
-85
22
19
-7
66
7
-43
43
-29
5
2
-32
104
-11
-1
-5
-13
-66
16
-23
-60
58
-8
-22
4
51
8
-9
5
12
18
-50
18
-28
29
4
12
45
72
50
10
66
38
24
-20
25
73
5
-49
38
-2
-28
23
20
51
87
-8
-53
92
19
9
37
40
43
-14
-78
0
13
14
-34
7
67
-3
8
20
-12
-18
6
48
-58
-19
-116
25
13
8
-39
-17
-13
1
30
140
26
-16
-16
-51
-25
7
4
2
-31
20
27
18
23
0
-4
-10
-75
11
15
-63
-12
19
15
25
5
10
-43
7
-15
2
-8
-87
-22
-14
-20
-39
5
-30
25
8
-32
-53
9
12
39
-11
9
27
43
41
-28
22
-49
-31
-17
11
18
29
-1
25
-23
-60
-48
-45
26
-75
-38
98
-33
-15
-28
-7
10
57
18
83
-59
44
-101
-92
148
161
-50
-31
0
46
-9
-2
0
-1
-16
15
-15
5
-9
8
1
12
4
6
18
-6
-25
43
-44
53
-1
-9
53
49
17
39
-12
-31
22
12
24
-41
-67
2
-9
3
-2
0
15
28
13
-5
-25
27
-9
14
1
-8
5
-25
51
-24
-46
99
-11
21
-21
21
28
-41
-45
30
116
-31
8
1
1
0
-10
4
91
34
-26
20
39
-9
-21
3
7
-36
9
114
24
52
-3
88
38
-35
58
59
-38
-51
-68
97
-6
-11
-14
-8
2
-10
-3
-36
-5
-44
-23
6
-75
29
-1
-38
-141
-53
29
-33
-44
74
27
27
30
15
19
41
-5
35
-13
21
2
-25
5
0
11
34
-8
16
-44
5
-52
-23
-66
-47
31
34
-14
-9
10
64
71
0
35
5
-17
-17
10
16
71
-24
-25
31
-49
-29
30
8
7
19
-17
-35
-49
-54
-16
-54
15
-8
-73
7
45
-54
-16
38
76
52
-36
-44
-51
7
-20
4
0
-8
-3
-8
5
-2
10
-5
14
-8
3
-5
-15
47
-89
-40
4
-13
-15
-41
-2
55
-29
40
-97
-47
-22
-36
66
30
-2
44
13
-30
-6
-45
-5
32
-35
15
4
28
-3
12
-54
12
19
-24
-9
-59
-72
-47
-97
-19
-46
-28
36
-63
50
8
-63
34
-12
37
40
62
-15
77
-4
-17
45
13
-25
-7
-5
9
-7
6
-15
0
-7
15
3
10
4
6
1
5
60
65
5
133
42
-31
-52
-5
-15
-41
34
88
26
-63
-62
24
33
22
30
71
4
24
-12
-10
6
18
-22
-19
-5
26
-41
18
27
-22
65
-29
-19
9
-4
13
29
-53
-32
5
-3
-3
29
4
62
-8
-53
27
-22
-8
22
4
1
-25
-2
43
-30
-7
16
92
3
-4
52
-28
31
-8
-37
64
2
-44
0
-16
-6
35
-59
28
66
-20
-67
-42
-109
-46
7
3
-13
-74
-7
4
-12
-46
-55
-24
-18
22
-41
31
-4
45
-13
35
104
-19
-5
21
78
-19
17
-23
-7
-36
-14
-38
-7
5
-41
-1
24
-7
4
-4
60
-39
0
-24
-4
17
25
5
2
-27
-5
38
-18
25
-58
-10
-28
30
-14
-7
32
-48
-15
42
-18
13
-16
-7
-11
-40
-40
-113
-24
-75
-6
6
7
21
-21
41
66
21
30
-38
-26
-16
66
37
-30
-63
-13
27
18
25
2
-53
-63
-41
46
-3
6
-47
34
-10
-67
4
-22
17
-10
-3
-8
87
-32
-37
-9
-4
-38
-28
23
4
-31
42
-36
-1
-2
-40
-11
-6
-31
21
-80
0
-24
-3
-15
3
-38
-9
-10
15
15
-15
5
48
19
37
-11
9
30
-11
50
-4
51
44
39
-25
-18
-32
30
49
47
-36
61
-51
31
18
64
61
28
84
15
5
9
16
13
13
32
12
25
8
-25
21
-18
73
26
-22
55
45
17
24
53
-13
33
39
-19
4
25
-14
5
-46
1
2
16
-4
16
18
39
-19
10
-15
24
91
-15
-52
-45
12
16
6
51
-35
-29
-12
19
3
4
10
45
41
71
55
8
-41
67
36
33
22
-4
18
3
-61
35
93
-8
20
-34
13
-13
-40
20
63
-26
36
28
51
-6
-7
13
-6
2
-16
37
-29
25
69
-33
13
27
-5
-2
16
64
14
7
54
-8
-5
21
22
125
17
-52
48
47
-2
67
33
4
102
-24
-7
12
-2
-31
5
42
30
5
94
9
5
-4
-14
55
40
51
-50
24
107
68
-15
44
24
41
37
-69
52
63
-72
6
9
-69
2
18
-10
-33
31
13
-17
39
-72
15
78
10
14
37
-26
-41
-3
32
28
-33
-69
57
38
-27
73
-33
-12
-41
-6
-60
-17
44
0
20
-18
-29
1
-4
13
14
51
-23
16
-12
70
29
-22
-5
29
-6
41
13
92
-6
-35
0
77
-25
48
5
59
11
42
-1
15
-10
-80
5
-36
-156
14
-3
-22
-33
31
24
49
86
-34
98
-31
43
29
-52
27
5
66
1
-13
-14
-21
-10
25
-58
-15
91
-4
13
24
-9
8
47
-55
-6
25
60
-1
4
42
50
-20
22
55
-31
37
-1
18
75
2
11
25
-23
10
-16
7
25
69
32
-5
7
82
12
25
-13
18
-2
-49
-10
20
13
15
18
-21
31
-60
40
3
24
15
32
-32
-24
-30
38
14
46
-7
-32
21
30
27
-12
62
22
1
-20
9
8
13
-15
25
24
66
-24
-47
5
-46
62
31
60
5
35
25
-57
-12
32
5
50
-35
-2
2
-19
12
-51
-20
-1
-3
-31
2
-2
18
-20
58
-20
1
38
17
-15
-46
-5
56
49
13
-4
14
41
-25
19
23
-15
-3
46
23
-59
9
-6
29
30
33
11
-41
34
-11
-44
49
-15
49
27
39
27
-24
4
15
13
0
19
-13
66
8
-42
29
76
17
23
-21
-9
4
0
49
-57
-42
-13
10
-15
-42
-42
16
-27
42
-21
5
52
-2
0
4
5
17
48
74
33
19
-13
35
2
8
-34
-5
-27
-5
-3
5
9
-32
-18
-71
45
-44
17
33
9
69
36
30
23
27
8
37
-49
-28
0
-11
-49
-8
3
43
16
36
-44
64
-19
-4
-57
15
1
60
-73
-49
-16
-18
2
3
29
74
-4
54
29
90
4
7
49
74
-60
-52
-131
-46
64
2
-1
-7
-12
-2
-19
7
-16
-2
11
11
-13
-2
-34
27
-10
13
13
43
11
65
-27
-74
-2
6
7
18
-31
33
52
-13
-37
13
4
1
-14
-18
8
-9
-16
13
-29
-12
-20
-25
43
-4
10
22
83
26
-4
57
94
21
-16
16
-32
31
-63
-3
-5
-3
-28
3
-12
-7
9
-4
-1
-12
-29
0
8
4
-29
31
-12
25
-15
17
-2
-103
20
-14
21
16
85
-38
-63
17
20
-2
-24
-7
-57
6
12
-4
-8
-28
-3
43
-35
-22
-41
-12
8
15
-6
-8
-10
8
-14
20
60
30
-78
1
43
8
53
15
-20
12
-22
5
21
-12
-31
-31
-28
37
-16
14
-21
-2
79
-50
-5
-33
-23
-44
-22
-29
21
-45
19
73
6
13
-109
5
54
71
-12
-24
17
-41
-49
4
-4
30
-4
33
-7
-27
3
-20
31
-34
-49
13
-80
-54
-31
43
-69
7
-23
35
-1
-23
14
66
43
-15
-116
24
-27
-8
-4
-4
-11
16
-6
27
-41
-66
-54
-23
-12
1
-74
1
18
-78
-68
28
68
-40
16
18
-33
37
38
26
48
-43
-15
-12
-70
-6
-51
-6
-40
0
-22
87
55
30
-42
-4
-6
-28
4
-22
-91
-42
-73
-34
9
54
-18
-3
-8
-25
34
-38
30
48
43
25
42
-21
45
0
3
-19
15
86
-7
-49
-28
2
-10
-13
1
-2
4
7
16
27
1
6
12
76
26
-5
-18
-3
31
6
58
17
-63
31
-44
35
-14
-48
17
-7
-28
17
-83
1
-10
-11
-16
-39
-26
12
6
-50
-4
-35
-37
58
-15
-21
73
31
63
16
29
1
23
-33
-84
8
-9
6
-4
-5
-16
-49
42
-11
2
-5
-25
-19
-77
-9
-9
-6
39
-4
14
1
-28
-77
-36
50
-88
-43
-25
-39
-13
9
-2
-8
11
-1
-8
49
-69
-40
-24
-7
15
11
33
21
-45
-24
4
-68
17
-41
-47
-51
4
44
31
10
-19
31
-35
5
49
-17
3
-12
32
-54
7
-21
-7
115
-13
25
-9
-26
15
76
13
1
-16
48
7
-23
2
14
-47
13
-41
66
-13
-24
-27
16
-46
23
-60
7
-21
-22
-31
3
23
27
16
16
-33
-16
-46
58
1
-62
-23
53
3
7
-100
-21
-6
-29
-5
-43
31
17
9
46
42
42
5
-2
-3
-23
-78
-31
-8
-39
-4
0
20
18
0
-5
2
-7
-47
12
-2
-3
-2
23
-17
-25
-6
27
-16
13
-20
47
6
16
-26
7
-5
3
-14
3
-40
-7
-12
1
-24
-5
-31
-2
10
8
-14
20
7
16
-7
0
0
0
0
23
6
-46
-18
0
0
0
0
-3
72
82
-25
0
0
0
0
56
-4
40
-20
0
0
0
0
10
26
4
-12
0
0
0
0
5
39
17
-14
0
0
0
0
13
24
-26
-13
0
0
0
0
-3
10
85
38
0
0
0
0
11
-4
25
-18
0
0
0
0
-35
75
63
41
0
0
0
0
53
16
-29
-3
0
0
0
0
-16
5
26
-22
0
0
0
0
14
20
16
-18
0
0
0
0
-10
-1
30
11
0
0
0
0
5
-39
29
-11
0
0
0
0
45
13
-75
-67
0
0
0
0
13
40
-25
-19
0
0
0
0
59
-12
58
-31
0
0
0
0
82
30
-70
120
0
0
0
0
44
-83
78
20
0
0
0
0
39
11
-3
28
0
0
0
0
75
5
50
-26
0
0
0
0
-30
5
-54
-2
0
0
0
0
26
-21
31
31
0
0
0
0
33
-26
51
-21
0
0
0
0
41
-15
-20
28
0
0
0
0
27
2
-53
30
0
0
0
0
57
-25
20
-49
0
0
0
0
-9
-14
-29
-21
0
0
0
0
-16
-11
-48
36
0
0
0
0
40
-1
16
-80
0
0
0
0
-82
66
-6
0
0
0
0
0
34
13
26
-20
0
0
0
0
33
41
49
33
0
0
0
0
13
58
79
45
0
0
0
0
42
38
5
-25
0
0
0
0
36
16
26
60
0
0
0
0
-1
47
-57
-30
0
0
0
0
-15
6
54
-42
0
0
0
0
0
0
-7
8
0
0
0
0
35
15
-25
8
0
0
0
0
57
-36
44
-41
0
0
0
0
-5
-36
1
-32
0
0
0
0
-21
0
-13
7
0
0
0
0
35
-4
22
0
0
0
0
0
40
83
-5
-12
0
0
0
0
49
-52
21
-89
0
0
0
0
25
-8
-31
-42
0
0
0
0
12
35
6
-7
0
0
0
0
56
-22
-8
-5
0
0
0
0
66
32
101
-18
0
0
0
0
67
35
10
32
0
0
0
0
-31
-10
40
-24
0
0
0
0
25
60
7
28
0
0
0
0
21
24
-83
-35
0
0
0
0
-11
6
-28
-4
0
0
0
0
-12
-40
-31
-50
0
0
0
0
48
-45
-8
27
0
0
0
0
1
28
10
28
0
0
0
0
-13
-50
-59
-5
0
0
0
0
6
-7
40
34
0
0
0
0
12
38
-72
20
0
0
0
0
-45
-2
-33
45
0
0
0
0
11
-12
-98
-50
0
0
0
0
26
-47
92
100
0
0
0
0
13
20
-31
-31
0
0
0
0
-1
4
3
-2
0
0
0
0
15
12
-6
-37
0
0
0
0
21
-5
4
-38
0
0
0
0
-28
25
-46
19
0
0
0
0
6
4
-12
-1
0
0
0
0
38
32
-40
-9
0
0
0
0
116
27
14
56
0
0
0
0
21
-42
51
-32
0
0
0
0
-4
0
10
0
0
0
0
0
20
-31
4
6
0
0
0
0
81
37
-57
48
0
0
0
0
14
-45
-12
-40
0
0
0
0
-13
-7
1
-28
0
0
0
0
-22
3
-15
-67
0
0
0
0
56
-13
-6
-50
0
0
0
0
19
63
43
29
0
0
0
0
16
17
2
-4
0
0
0
0
27
31
60
-34
0
0
0
0
-19
5
-15
43
0
0
0
0
17
-78
6
22
0
0
0
0
6
-6
-6
-26
0
0
0
0
28
20
-18
-58
0
0
0
0
50
6
-58
-102
0
0
0
0
11
5
12
0
0
0
0
0
-2
14
25
4
0
0
0
0
-10
-57
13
22
0
0
0
0
24
-5
-49
-48
0
0
0
0
53
66
-10
-4
0
0
0
0
-5
-19
6
-36
0
0
0
0
6
-14
-51
-68
0
0
0
0
29
59
69
103
0
0
0
0
22
-44
33
13
0
0
0
0
24
-9
58
5
0
0
0
0
-2
-6
-14
-3
0
0
0
0
87
48
12
-38
0
0
0
0
-2
63
-7
-9
0
0
0
0
-17
10
-15
33
0
0
0
0
-13
-22
-13
-14
0
0
0
0
85
48
-22
-53
0
0
0
0
95
3
29
26
0
0
0
0
7
2
-10
20
0
0
0
0
2
-5
0
6
0
0
0
0
-18
23
8
3
0
0
0
0
-55
20
-25
-27
0
0
0
0
48
-74
21
-39
0
0
0
0
-8
-6
8
-32
0
0
0
0
1
20
-33
-14
0
0
0
0
49
-16
-51
32
0
0
0
0
-1
48
-20
-7
0
0
0
0
-18
36
-16
25
0
0
0
0
23
46
22
-7
0
0
0
0
22
23
2
-50
0
0
0
0
-8
33
-20
4
0
0
0
0
-41
-82
-14
-14
0
0
0
0
-23
38
7
56
0
0
0
0
-19
-50
54
-27
0
0
0
0
9
6
-20
16
0
0
0
0
-34
17
-10
8
0
0
0
0
11
-10
21
-6
0
0
0
0
13
1
49
-57
0
0
0
0
-6
-42
-6
-21
0
0
0
0
-8
-20
-19
-28
0
0
0
0
16
14
15
23
0
0
0
0
2
47
15
-51
0
0
0
0
4
-2
40
22
0
0
0
0
13
2
-24
-8
0
0
0
0
16
7
5
2
0
0
0
0
35
17
33
28
0
0
0
0
-10
16
16
90
0
0
0
0
-82
20
0
-59
0
0
0
0
-13
-8
-18
0
0
0
0
0
49
6
24
15
0
0
0
0
13
105
2
-5
0
0
0
0
-79
13
17
19
0
0
0
0
-6
1
34
1
0
0
0
0
21
27
41
-9
0
0
0
0
23
14
-40
-50
0
0
0
0
-57
-51
-5
16
0
0
0
0
31
48
19
31
0
0
0
0
87
0
92
88
0
0
0
0
27
77
2
-46
0
0
0
0
23
85
-38
-32
0
0
0
0
58
4
-10
13
0
0
0
0
6
40
29
-9
0
0
0
0
-9
-3
61
5
0
0
0
0
12
37
-28
42
0
0
0
0
23
64
46
-4
0
0
0
0
-20
49
-18
3
0
0
0
0
22
-9
10
22
0
0
0
0
52
16
-1
-66
0
0
0
0
-19
8
0
13
0
0
0
0
-63
23
-25
-16
0
0
0
0
25
42
-25
-32
0
0
0
0
-43
-62
-45
46
0
0
0
0
14
55
-40
0
0
0
0
0
21
4
91
12
0
0
0
0
24
16
-3
-40
0
0
0
0
-56
42
75
-8
0
0
0
0
54
30
-3
43
0
0
0
0
48
13
56
-15
0
0
0
0
61
-1
-33
1
0
0
0
0
-1
29
9
-121
0
0
0
0
-13
53
42
71
0
0
0
0
-14
-38
-94
-73
0
0
0
0
31
40
33
-11
0
0
0
0
17
36
-5
46
0
0
0
0
83
5
6
43
0
0
0
0
41
28
-34
0
0
0
0
0
43
-38
26
2
0
0
0
0
77
-1
-33
-70
0
0
0
0
46
25
69
-25
0
0
0
0
102
72
-10
-27
0
0
0
0
59
5
-5
-17
0
0
0
0
25
-8
17
2
0
0
0
0
41
-16
32
-20
0
0
0
0
-15
32
17
-57
0
0
0
0
-35
-6
8
-9
0
0
0
0
31
40
-3
1
0
0
0
0
28
-33
33
-15
0
0
0
0
-67
5
-6
29
0
0
0
0
48
26
-14
-56
0
0
0
0
1
43
-14
25
0
0
0
0
36
-11
59
-30
0
0
0
0
47
-14
-50
52
0
0
0
0
-3
-2
-19
17
0
0
0
0
-7
-6
14
23
0
0
0
0
-13
21
-27
-42
0
0
0
0
30
-34
-27
26
0
0
0
0
4
2
-5
1
0
0
0
0
-11
38
-23
-20
0
0
0
0
38
38
13
73
0
0
0
0
12
8
11
-23
0
0
0
0
5
1
4
-1
0
0
0
0
-29
-41
4
-46
0
0
0
0
86
32
-13
35
0
0
0
0
66
5
22
-9
0
0
0
0
7
-3
1
5
0
0
0
0
35
-3
-19
26
0
0
0
0
28
41
58
-3
0
0
0
0
44
0
21
-81
0
0
0
0
-2
10
-7
10
0
0
0
0
14
12
-21
-22
0
0
0
0
1
18
-12
48
0
0
0
0
-48
-50
5
-13
0
0
0
0
10
-7
23
-4
0
0
0
0
45
-5
-67
21
0
0
0
0
46
-31
-20
16
0
0
0
0
-8
0
-3
-13
0
0
0
0
5
-7
-21
-6
0
0
0
0
-20
32
-29
-24
0
0
0
0
27
-32
-40
-6
0
0
0
0
-13
-40
-42
-27
0
0
0
0
5
1
-1
-38
0
0
0
0
0
-38
-38
-95
0
0
0
0
-14
3
8
-132
0
0
0
0
50
-51
18
45
0
0
0
0
12
-4
4
-12
0
0
0
0
49
-39
-62
-38
0
0
0
0
98
-106
5
-13
0
0
0
0
10
23
19
-5
0
0
0
0
18
13
13
8
0
0
0
0
2
-13
-16
-7
0
0
0
0
22
16
30
-22
0
0
0
0
0
-58
29
11
0
0
0
0
-1
2
-27
31
0
0
0
0
4
-21
5
-20
0
0
0
0
-10
22
51
-75
0
0
0
0
27
-47
19
3
0
0
0
0
0
18
-1
-4
0
0
0
0
9
-23
5
-42
0
0
0
0
14
23
2
-77
0
0
0
0
51
22
-48
44
0
0
0
0
19
48
5
-49
0
0
0
0
-6
1
10
3
0
0
0
0
40
39
13
8
0
0
0
0
6
-1
52
27
0
0
0
0
-2
-25
19
-48
0
0
0
0
10
8
-14
-11
0
0
0
0
25
-6
5
-31
0
0
0
0
5
25
-40
18
0
0
0
0
10
2
18
4
0
0
0
0
0
-22
-33
-31
0
0
0
0
-17
25
-61
73
0
0
0
0
22
17
4
13
0
0
0
0
-5
-23
33
-4
0
0
0
0
-10
-4
-41
-37
0
0
0
0
12
4
3
-18
0
0
0
0
-4
2
30
-12
0
0
0
0
2
3
-5
-19
0
0
0
0
-2
-26
-16
-34
0
0
0
0
17
20
43
37
-1
17
-53
18
40
27
34
42
35
34
0
34
26
37
18
48
34
21
8
44
47
30
58
12
61
71
-15
11
18
16
42
35
20
23
34
-12
37
-55
0
-22
-4
-14
19
6
1
102
-9
-33
31
-26
-21
13
-27
37
-26
49
1
-4
20
0
5
-39
14
-37
91
65
-19
19
-3
-3
49
30
-30
-87
-10
29
-24
50
32
-51
-33
-32
9
33
33
-77
-85
70
20
39
-22
24
24
12
49
-13
37
27
25
44
3
37
-24
-37
2
32
-23
10
61
9
-39
-20
-53
1
-49
-38
-6
-10
21
-41
-69
-16
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
-23
32
31
27
82
-22
20
25
63
46
2
-22
4
40
-27
-21
-78
-6
-6
-13
58
9
77
49
2
153
58
51
-4
14
84
68
-71
32
-51
0
-18
-39
11
12
-55
-65
59
31
23
24
17
-2
-6
-14
50
-70
52
-12
10
-3
88
-106
23
26
-1
9
27
-29
-18
70
78
23
-90
-6
-19
8
-39
45
58
33
-104
-3
91
-12
6
-1
0
-47
100
22
-22
-5
62
-92
-18
13
-45
-10
95
10
-63
-30
-76
-43
4
33
54
-48
-25
4
45
20
-160
-59
31
29
89
-78
-84
-26
-25
-51
61
51
21
-26
-23
-85
-56
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
42
4
-28
12
-4
34
56
46
99
30
2
40
-20
17
14
14
38
15
17
-9
-20
-21
-12
39
7
2
20
5
9
6
46
-2
19
17
6
8
-9
37
-32
-52
28
-74
-12
-6
14
-16
9
-23
12
-32
22
-3
-7
-12
28
14
37
31
10
-26
-25
-7
27
10
-40
-19
11
43
-15
54
24
-15
5
-66
23
4
49
-17
-1
-13
-28
-2
-8
-26
-22
24
-6
-3
21
38
18
5
-16
-6
-36
-62
-74
-46
-48
-74
70
-41
2
82
-47
17
-77
40
-46
-7
17
16
-1
5
-34
-35
-66
-1
0
-11
-16
54
-39
-57
37
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-61
21
5
11
6
-6
-45
-8
50
109
38
36
27
11
0
3
-36
1
8
31
-9
20
34
7
11
-14
1
-11
17
-35
-2
51
42
-77
-13
164
10
71
38
49
0
-81
-40
40
-64
-24
-49
-5
2
13
-107
18
7
106
-32
1
-22
-21
-26
5
18
-7
-1
-25
-1
-16
78
17
-29
-53
18
-4
19
28
5
27
-42
-9
-93
-52
22
-2
-42
-54
-50
-22
6
-19
-31
-2
-12
11
-7
14
0
3
19
-13
-23
-30
-27
32
-69
-2
-83
-43
-1
-6
9
45
-76
-59
-15
-7
-44
-45
-32
-19
-73
-21
-10
-17
-13
-58
-16
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-19
20
41
7
15
31
51
38
11
16
54
-24
41
50
86
-5
34
17
49
19
74
55
10
-22
32
76
7
7
51
-21
-2
9
22
31
7
48
-1
41
46
-22
21
61
-10
-23
-54
64
30
-23
28
72
-5
-15
-34
-44
5
-34
11
47
-14
1
48
34
49
54
-8
25
30
41
-28
30
34
-41
-46
13
42
49
-10
-34
-11
1
56
0
-25
-31
-42
51
1
72
22
-24
10
51
67
-13
4
-3
17
4
-5
5
-9
8
33
-25
67
110
11
40
-1
-56
-26
0
81
-69
34
-85
0
62
67
53
-4
62
16
53
-34
-29
-7
88
38
-23
0
70
33
132
-32
39
78
-46
3
-31
-3
41
55
-35
-4
-62
66
-56
16
-41
45
-68
-15
20
-46
70
-21
85
57
-18
22
7
15
55
41
-18
-38
-41
15
-16
50
19
18
-23
18
56
6
31
-33
53
78
-8
-33
-7
29
-62
-6
22
-31
60
-27
34
66
-50
20
32
-18
-1
17
7
2
-5
21
-25
18
-13
-50
53
67
-23
-35
7
-49
4
11
75
-50
-11
96
-40
15
-31
-60
16
39
28
-9
8
74
-48
-31
126
-51
10
-7
-64
-18
-66
-57
48
-10
-7
33
-52
0
-16
-26
24
-31
11
13
-24
22
-32
14
-23
8
-4
69
73
5
58
41
-21
85
21
43
76
106
84
7
13
6
76
76
-48
46
43
45
-28
10
-15
-7
77
5
86
-3
6
-20
21
34
-53
3
-27
84
40
21
79
59
40
25
42
-53
45
58
27
-20
45
-28
-57
-69
-5
-18
-28
-22
-21
4
23
-3
93
33
96
36
83
-34
-58
-19
36
-67
-73
-82
37
56
-48
16
25
-50
-3
-120
59
-146
-21
-97
26
-25
-59
42
19
-2
99
-5
99
72
37
50
55
18
-50
7
60
0
3
44
-58
51
-17
-37
52
-34
31
-6
-18
-21
28
-19
50
-34
-168
32
-103
-50
-93
14
43
6
-41
7
25
-4
59
-4
29
26
-16
6
22
19
37
92
28
21
-5
27
68
-49
-16
102
-55
32
66
-2
-8
54
2
2
-5
55
5
-31
-33
0
7
-37
27
2
32
-88
19
63
41
44
-25
-50
40
-131
85
-54
6
-19
-101
-13
4
-42
-68
50
-58
0
39
-1
-31
-21
10
-5
33
-23
31
-5
-9
36
-5
24
-5
51
44
-11
-18
51
-105
34
-47
-107
61
-80
-49
-36
-75
87
-41
5
99
-3
5
-8
59
35
-4
-3
-8
-27
24
-46
40
-97
-55
-41
17
12
-3
41
34
-22
40
-94
21
13
-20
-93
8
-102
-79
-35
-55
-23
-13
15
30
42
129
37
-46
-49
103
35
38
31
49
-11
-8
-14
7
3
3
27
10
8
1
12
-7
17
0
24
14
20
23
-32
27
61
-9
-13
-12
-86
17
-44
-64
-31
24
5
14
24
0
-4
-33
-7
34
10
29
12
12
-54
-36
-36
-10
-44
5
7
-9
6
-23
-38
17
39
-29
5
29
7
-16
31
-3
-94
-3
-30
-6
-8
-28
-40
5
-8
-21
-15
20
62
22
-4
-46
-43
-47
12
24
-6
33
17
-9
9
43
8
-9
-44
21
-61
10
-109
-85
-39
14
4
-50
-41
-24
-47
-46
-53
-5
22
-3
-3
45
-7
-49
-30
-4
44
33
31
-21
0
31
68
20
55
72
4
75
0
70
150
-13
5
18
4
4
-18
-26
6
-31
-14
8
-90
0
-36
-16
-5
-4
23
-31
3
58
53
-2
-50
49
31
24
-35
-25
34
-26
-61
-3
61
20
-48
-19
-105
9
-5
-3
-45
-95
-12
-20
-98
-69
-17
38
-32
30
-55
-6
-55
-5
52
69
2
13
-30
10
0
0
-21
12
-9
10
41
26
-88
-10
15
28
-9
-28
-79
-19
-78
-11
-16
-5
-46
5
-26
30
42
-30
-9
42
109
59
-28
-52
-14
-21
-140
46
-33
59
-56
-70
-83
-36
-92
-13
-105
33
-44
2
-93
-8
1
53
-16
120
25
-54
-68
-10
31
20
26
27
114
-14
10
0
159
-1
-12
-64
-30
-22
19
-43
12
3
6
25
8
38
33
40
15
7
33
-30
-6
24
-61
-98
-30
-23
-2
7
-51
50
73
-28
-17
19
8
-63
20
25
-57
-18
-7
-11
0
16
-21
51
-28
14
-40
23
-30
-19
28
-66
8
-66
-66
18
2
10
56
33
26
-49
9
-15
38
-23
-38
61
-8
-74
-19
4
-24
17
-3
-17
28
3
15
-28
66
-5
-18
-29
-11
-41
24
-21
-5
-47
-74
21
-51
13
-21
83
35
-48
-58
-25
-44
-32
-37
20
-15
-17
-8
19
15
-12
-37
17
30
44
15
11
25
-1
-2
-56
-47
-42
-12
-9
4
-9
0
16
3
12
-5
-37
-26
-22
14
-36
14
0
49
27
46
-40
-14
4
-14
23
17
-50
-58
-34
-9
24
-5
1
-54
13
-13
61
-44
8
-61
18
5
-8
18
4
-5
17
-18
53
0
20
-83
-96
-24
15
20
-11
-88
7
78
55
-57
5
-59
-73
-28
53
-129
-28
-151
54
17
-11
-61
-58
4
-47
-17
15
49
48
-19
-23
14
-43
13
48
55
-17
34
21
11
-47
3
60
48
-35
-9
38
-42
-31
-51
22
-15
25
-28
-27
-8
-9
-30
24
1
-22
-10
10
-23
-17
-25
-8
5
2
9
53
60
-1
40
12
0
33
53
54
31
41
62
-29
-5
91
59
-25
-3
62
-8
32
-66
3
-48
49
77
46
43
-3
37
33
5
27
42
58
42
-10
9
-5
14
23
48
14
6
34
7
-12
6
15
-3
13
24
-9
2
-47
30
63
46
-10
11
8
-15
-1
9
35
57
-28
-2
48
30
-22
-10
25
-58
-31
9
-3
20
-63
-5
18
36
59
112
-53
3
-14
-60
49
49
-15
5
8
0
-8
20
22
-8
6
7
-92
22
27
2
62
36
5
-14
76
63
54
-75
14
-46
16
21
90
-17
60
-15
35
-3
-24
12
-4
-19
6
-9
42
-15
20
68
-39
-12
54
8
26
-31
22
54
-11
56
13
-7
9
4
45
-4
90
4
45
20
27
17
26
5
43
-17
58
-24
22
-35
6
-7
84
20
-33
-7
10
23
52
-33
19
4
-22
30
-1
20
31
-55
22
-52
-15
59
-33
30
58
-31
24
-21
4
-23
0
31
-21
29
-58
18
-21
33
2
12
8
71
53
-75
13
-58
24
5
10
-16
75
34
15
-30
-34
44
13
45
62
9
40
57
-58
52
-51
-5
52
-2
25
-2
-1
15
-30
10
58
-43
7
39
53
19
26
-47
36
-76
-39
-10
-64
-22
-39
-9
38
50
24
53
74
84
7
56
-73
73
20
29
-51
-31
50
-56
104
57
16
25
70
32
-20
23
-23
79
40
-41
-7
31
19
50
14
2
-42
-27
22
29
4
19
14
43
-19
-78
-23
62
83
4
-24
41
13
-44
4
30
26
54
-102
28
47
-76
102
34
-22
-14
15
39
26
-31
9
-55
-14
-39
11
-49
32
137
26
53
-43
13
16
85
2
15
-62
-11
-49
-25
32
49
81
-119
0
25
5
40
-48
56
-9
44
39
18
-26
-5
-6
-38
-26
-35
65
31
6
78
14
19
43
-48
-121
-40
7
-32
-45
49
-59
30
74
-13
-1
-22
66
17
44
37
-26
-23
6
38
-4
57
34
-21
8
0
-16
9
31
7
-22
4
9
-83
-9
-21
-24
34
-30
30
22
-44
-24
30
22
-16
-31
-56
-16
34
-32
94
43
31
-42
23
22
-18
4
-28
8
41
5
-19
-37
3
-4
-90
94
17
1
-37
-13
16
16
-15
23
22
4
-1
50
47
-56
15
16
6
-23
-61
-3
19
-24
3
11
-8
39
-14
25
12
-46
43
57
-50
-17
-5
-19
-13
0
-14
64
39
55
5
5
-50
-62
-140
66
16
-10
-30
8
64
46
-64
74
81
0
22
-23
-52
-13
-40
-3
21
-36
5
-73
-27
-22
-30
-46
27
40
86
-28
34
80
-16
4
52
23
95
-24
5
-36
41
-12
3
0
23
-28
16
-6
31
-7
30
3
83
6
23
-3
25
-10
17
-34
-27
-80
100
9
47
-21
-13
3
-1
74
-46
5
-30
-27
7
8
-42
-47
-41
23
-25
7
66
29
-53
57
-9
-22
18
75
-5
-13
-54
14
-8
5
62
-8
-50
15
6
-31
-5
17
0
-17
-15
-22
-76
-1
-38
-30
-16
5
-22
40
24
-2
59
27
15
27
-26
30
70
27
-34
-5
-26
1
21
-56
-5
-16
-18
-54
74
17
-25
-8
-3
-48
-47
5
-25
14
5
-29
40
-4
0
16
-7
35
16
-23
17
-13
-78
6
-22
-8
-13
-73
14
22
42
10
-44
-43
27
-31
23
-12
5
14
-35
-21
-46
23
-27
-50
50
-4
8
112
-1
-29
-27
53
-9
-21
91
48
-32
-5
-42
-2
-35
25
-5
-8
30
8
-1
3
-7
-14
-26
19
-25
-99
-46
-45
-51
-5
-7
32
63
4
-2
4
84
-5
-29
7
-6
-48
-79
-6
-4
16
-57
27
-6
-20
-60
-27
-20
-31
-22
-58
-14
-101
43
-71
-22
-30
3
31
-41
10
25
41
84
-87
25
59
-76
12
-24
-7
-6
-55
-75
5
-36
-3
40
-3
14
-54
-42
28
12
-43
24
20
-44
-113
-7
-22
0
-34
7
-51
-15
13
19
69
-14
-6
19
43
-27
-7
27
-27
19
-34
-8
-35
-22
21
31
-28
-28
-2
9
44
29
3
3
-67
3
-12
-32
50
-72
58
-51
49
46
-9
15
-17
6
5
-27
41
13
-24
-1
6
47
-6
-4
-12
25
22
6
-42
6
-13
16
26
-20
26
45
-41
13
3
-6
-24
-46
-8
-3
5
-4
-8
18
6
20
-82
46
24
-6
-11
14
14
1
-6
-19
2
2
-8
-5
29
-14
-75
-3
85
-92
68
-100
12
-46
26
12
-7
-21
-14
-22
8
19
-65
-93
30
-8
-46
-41
15
21
9
-15
5
-7
-67
-8
21
75
11
72
27
-28
-6
-41
56
-29
71
13
-8
-16
-31
-2
13
-13
-80
-40
50
2
-35
-12
-1
49
13
-1
23
-15
-16
-7
6
7
-4
36
0
25
23
-61
22
-6
23
9
32
-44
2
-80
-32
7
-44
-5
-38
-108
-5
-44
42
-9
-30
-11
7
-38
24
-23
133
19
35
7
-26
-19
42
42
-15
20
50
-29
45
-64
-102
26
38
-61
-19
-29
-34
31
-85
-50
53
-1
-49
-7
39
-95
35
-33
19
19
38
5
26
-23
25
-34
6
11
-14
-21
7
19
-15
-18
10
-1
-2
-11
-6
0
-13
2
22
-7
8
-3
-6
-14
-28
-12
15
-3
-1
-14
43
17
-14
-37
25
20
37
4
31
16
71
-46
36
-15
70
97
49
-6
63
17
21
23
48
27
55
54
93
-5
6
35
-10
54
-28
-15
-27
-17
18
-4
12
4
14
-1
32
-37
19
21
34
-30
89
40
80
-5
-6
24
-13
14
-5
-1
-31
-13
5
6
6
-3
12
4
27
55
67
25
-88
-76
18
-11
-48
4
6
46
-149
8
-22
-34
24
47
11
-12
8
-20
15
41
-38
23
23
-21
19
-12
37
-4
69
23
13
-23
-61
-52
-15
-7
9
6
49
16
-29
-48
73
64
-83
-54
-42
27
-46
-35
-93
23
-28
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-22
8
-19
5
-5
-18
-39
56
52
20
-9
18
58
38
50
24
-44
31
-26
6
62
91
27
53
4
5
-42
-13
-22
-33
13
39
10
-32
-20
33
45
-67
-46
23
57
-16
-5
-5
0
-15
5
15
55
-23
46
115
44
-22
93
19
27
50
-65
-17
8
10
-23
-50
-16
31
6
4
-22
-14
30
81
13
37
-31
77
7
-70
34
49
-39
51
2
-34
-43
-16
-47
52
29
-41
-43
-19
-62
-16
-13
55
91
15
-4
-25
-36
-3
-80
-36
20
-74
-15
-5
-17
16
-29
51
-24
32
-32
7
-105
-38
10
-11
19
-1
-45
6
-48
-43
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
16
45
-18
35
30
66
43
41
98
103
-85
66
-18
96
-40
13
13
7
-12
17
-12
-2
-15
21
-8
-14
-22
0
-20
-9
12
53
12
-80
0
40
-13
-124
-57
77
21
-25
-42
-21
-26
-37
-10
10
17
1
-6
-13
40
-47
14
19
-20
6
39
10
-6
-14
15
47
4
-19
117
-96
25
-114
-23
-15
44
-62
-32
-45
105
-22
-15
5
-16
-7
-3
-6
-37
-41
-30
-39
6
22
38
-15
8
-10
3
85
-43
-29
35
96
-59
-152
-37
157
-12
-90
21
-67
-90
-15
-21
-12
-23
-30
-6
14
17
-54
-21
15
-75
-32
-16
-2
8
11
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
-26
71
41
6
-68
35
60
43
-32
16
36
26
-31
6
-68
2
27
-13
-16
40
12
-6
24
11
8
-1
-10
-4
-17
-7
-14
22
7
62
-12
-73
-2
32
91
54
-35
-11
55
25
-7
-41
-9
-11
-14
18
11
20
4
17
-61
18
32
-41
-27
-29
3
-34
-23
47
-33
51
20
-78
-18
24
-27
42
-57
34
-17
28
-75
-165
43
49
-54
-10
14
-10
-47
45
-51
-25
-55
8
-2
-24
6
14
0
-12
42
-10
-23
-40
-95
-45
14
-45
-36
-24
19
-11
-82
7
-62
3
20
-41
-27
-83
-54
-19
5
-22
-59
4
-24
-34
20
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-34
42
18
-7
62
77
5
17
49
16
30
14
-25
52
-3
-26
-4
-21
15
-9
-26
117
133
-5
76
78
49
-17
76
8
20
36
-12
41
-15
18
67
-18
44
-4
37
60
39
12
21
4
2
2
3
-9
97
-41
-8
21
-25
58
-35
-2
7
13
15
3
-20
3
1
23
32
28
-16
-77
32
25
0
53
57
-20
14
-29
36
17
-70
52
-48
0
104
36
66
36
31
-3
37
13
-26
25
-25
5
15
-27
7
-48
2
-6
26
23
66
-5
-15
-20
17
7
111
42
9
-31
52
-62
-5
-11
-2
25
-14
17
59
-88
-2
58
67
-49
28
-51
3
11
-64
46
120
3
-11
36
16
21
13
63
-36
3
8
31
-27
85
-13
-1
8
-57
49
8
75
-62
3
83
35
63
-57
97
-27
-41
-17
18
-10
-22
-50
51
-33
13
-93
-2
3
0
36
89
18
38
23
-5
30
46
19
-1
42
68
-48
-27
11
16
-33
11
105
58
-101
-41
80
66
20
-30
58
5
-23
39
-64
21
26
-30
-49
45
-62
1
-15
32
-36
-10
-73
-31
4
-19
42
50
-4
40
22
60
-10
-100
-26
37
-49
17
16
34
1
5
-37
70
15
-27
11
-78
-20
-42
9
38
-65
-30
21
-5
-22
-78
71
31
113
3
-1
47
13
59
-93
17
-58
33
22
56
58
59
75
10
9
-4
81
-4
124
-52
-86
-11
13
31
79
37
25
23
44
67
9
-56
13
-5
-28
-22
41
49
-33
51
29
-20
8
-31
7
97
60
12
11
114
4
8
-13
-71
22
50
-37
-37
-69
-60
2
24
40
48
50
-28
-43
-61
57
13
-75
5
61
-13
-41
23
-13
6
16
-8
-2
66
-24
16
-7
-77
-25
11
-93
-11
34
-115
-22
62
43
116
-32
-25
16
-28
-49
13
-14
-5
-6
28
-22
-21
-89
-15
-55
-55
24
-42
-10
6
50
26
-48
26
46
-20
12
11
18
31
-36
10
60
102
50
0
64
30
73
-9
33
38
-12
-65
-2
-8
-38
24
-22
23
96
-1
-23
50
-6
59
46
52
4
20
-38
74
13
-15
19
34
63
-6
-22
-42
44
-28
19
11
-62
-27
-123
75
8
-19
-36
-32
-20
1
67
142
-75
-14
-52
-57
-30
-3
-40
15
28
25
-15
-46
-32
40
-4
12
-95
29
-5
-50
-5
43
26
47
-14
-23
-58
-5
-37
6
-22
-59
-55
-10
-50
5
-4
-30
4
64
21
-30
67
-4
-1
-66
-7
38
8
-92
-29
82
-120
-36
2
57
-8
23
-55
7
-29
-42
-17
-12
-57
-87
-36
-10
58
-3
-51
1
33
-27
26
-50
-67
41
16
36
79
104
-19
-22
59
88
-9
5
2
8
-7
13
25
6
-17
27
36
13
63
-6
-26
27
-11
54
0
31
28
55
-5
48
23
46
81
-17
-28
-18
87
-66
-23
10
0
-4
3
-17
3
-18
-27
12
14
9
-79
-26
10
-13
-69
-2
44
4
-37
42
34
6
-67
22
17
-23
-49
70
122
-44
-63
2
-7
-18
-23
3
21
6
5
11
25
-1
-33
22
-18
-48
1
80
-56
-21
-11
34
5
-35
22
84
-3
-75
-74
78
-43
60
-13
-7
-17
-22
-24
-33
-30
-24
-34
-12
-37
-19
-74
-21
31
-33
-8
-2
-20
58
34
-3
34
18
14
14
-10
52
-71
-1
-18
-15
5
1
-16
29
14
12
-70
38
26
-59
-35
13
49
1
-41
-8
31
52
7
-5
15
-1
0
-57
-26
26
66
-25
-31
15
-95
1
68
2
-41
-19
21
30
-55
-59
-43
20
39
-1
-80
10
-43
-116
6
60
65
53
51
-18
-19
8
-24
17
0
-13
-13
-10
3
-2
4
10
-6
-7
-33
-31
-121
-43
-9
-49
-16
-11
-45
-26
-29
30
-25
20
43
-54
16
-31
68
66
24
35
22
-13
43
-45
-10
59
-5
13
-28
-33
-57
18
-38
-36
-23
-26
-96
-68
-92
17
-123
-114
-25
-4
23
-7
-21
51
-94
54
-21
-25
90
-28
79
5
51
64
6
18
37
3
-43
112
24
-34
3
-8
-13
6
1
13
2
20
8
14
57
85
-53
74
23
-27
-77
42
-4
-19
-31
74
30
-89
-91
51
26
-9
12
-51
-26
1
-6
6
3
0
-37
11
18
-53
24
-76
11
24
67
-32
-48
27
12
49
68
-27
-42
54
-10
-68
49
3
-45
-11
-20
-11
9
-30
35
-6
49
-18
3
-4
35
-33
5
84
75
28
15
-10
-11
-23
-42
116
20
-56
-45
-14
-22
42
-58
3
65
-107
-22
-64
-74
-1
-67
21
-24
-27
-16
11
-26
-10
-28
51
5
-24
-57
15
-17
-5
-31
13
13
4
19
-22
114
-49
-23
-7
22
16
-1
8
-40
-76
-2
58
-13
33
-50
-49
-40
-3
12
-3
31
-75
-23
0
6
-76
-27
48
21
-2
-90
-44
-4
19
-59
38
-9
-57
-2
19
17
16
-6
62
14
-8
-52
-81
-41
-2
-82
43
34
-19
-5
17
16
49
71
-36
-31
-43
-45
-15
-21
-123
-12
3
-3
-14
-42
10
-58
18
-9
-26
60
-15
-50
28
18
25
-42
9
2
28
-3
-2
3
39
10
8
-20
-19
-16
-12
-49
19
-41
2
7
3
23
1
-15
-8
-30
13
-1
-5
-2
1
-37
-1
-24
21
17
25
-46
-56
63
28
2
-7
-41
-35
71
-4
54
30
75
-45
-9
-5
119
48
40
-81
76
-20
52
67
113
-64
9
85
66
-6
-25
13
34
28
17
-18
40
7
20
12
-12
39
40
-51
13
48
75
4
58
-28
-14
59
-69
50
10
-14
76
3
35
31
20
-18
-12
-42
48
-58
-1
17
15
-15
-54
-20
20
-32
8
-29
12
-24
-18
33
-1
52
-50
44
-9
64
10
42
4
81
45
57
35
9
9
63
-30
70
-28
93
65
22
-17
-49
-65
-28
21
66
51
-30
-46
3
-22
11
37
-18
51
-25
-36
0
-28
74
-23
-19
67
-3
-16
-11
83
17
22
32
3
24
9
-5
63
4
-101
51
17
32
-4
9
25
22
-13
-9
27
-3
-24
-18
24
71
-5
104
44
51
13
-43
39
-12
-12
15
58
36
44
-22
-5
-21
50
55
-61
47
66
-77
-43
8
-28
10
-3
-18
25
-4
31
13
29
-85
-21
30
-44
38
82
10
-86
-12
31
62
-36
-66
-9
57
-45
96
-2
-17
-13
-5
-91
-10
50
0
27
-14
-13
14
-47
-19
31
33
-10
23
-17
54
9
54
-56
-1
-31
53
5
70
-26
-19
-64
69
-15
74
34
-22
-46
69
-5
30
53
49
14
27
-134
-13
2
-16
-31
25
27
-20
58
40
42
-18
48
49
-40
9
-40
53
-6
39
31
59
-48
68
-33
-12
124
0
-28
81
47
8
53
-17
31
40
47
-4
-41
13
6
-30
14
27
-49
74
46
41
62
7
31
8
-19
-8
-13
6
13
76
6
-6
-53
86
-1
24
-25
-29
-11
-111
-1
-16
34
58
15
-41
21
-91
7
-16
41
5
-27
-41
-38
41
3
13
38
-10
-24
-5
50
34
-25
63
41
-2
-34
-10
-5
19
12
-10
-2
-5
51
-34
0
-19
-62
46
41
-25
30
80
-49
3
44
-3
0
-89
-48
17
31
13
-46
-28
-30
-5
-32
-53
45
-14
-32
92
54
39
-14
17
-2
-49
-47
30
45
49
43
13
41
-30
-44
-33
-17
-5
43
5
-47
8
5
11
-17
34
13
-78
33
-31
-56
48
32
57
-28
-8
4
-31
-17
75
15
-18
48
-20
41
5
-48
62
88
0
10
-33
18
6
-1
20
3
-49
-16
13
5
-20
-25
4
-17
3
17
-24
58
-55
-5
5
5
7
53
98
-13
-1
27
26
-31
-13
-31
-23
-4
-5
-5
34
-13
-34
-25
-22
49
-16
-29
-17
21
50
7
31
53
80
5
69
2
-29
-61
-42
-51
12
-20
25
-1
4
-46
111
-25
-2
-44
-24
12
-37
-72
-46
-32
-3
-15
66
1
77
39
-1
-20
5
32
6
51
68
9
-48
-13
24
101
-2
-23
-7
-2
6
11
25
17
18
-13
15
15
15
17
0
7
25
-10
-39
43
-29
-47
-65
-41
-7
52
30
-15
-8
43
-42
-46
-5
-22
-26
-4
1
-21
15
30
8
-4
2
-44
22
70
27
16
40
79
-47
-14
43
84
8
-16
45
-83
31
-58
22
7
9
-47
1
-27
-9
-25
-36
-77
-13
-20
-4
3
-51
34
-43
-38
57
1
76
-17
-91
14
45
-47
-13
55
-51
-71
-9
-55
-31
-23
-2
-11
-10
33
12
30
-55
-13
1
10
11
-45
12
13
11
-84
-29
-21
-13
13
76
39
40
-47
13
33
22
48
-52
-48
-22
-34
-13
-14
10
-9
-67
-24
-19
17
17
-9
69
64
-26
-25
-51
-13
-42
-15
39
-14
-9
-2
73
-20
13
-123
51
49
78
33
-5
16
-85
-105
4
14
-17
3
-11
1
-42
56
12
-52
-99
-65
51
-42
-61
-47
32
19
-13
-10
21
6
-5
41
-13
41
-12
-196
22
-33
-3
17
14
20
-11
-27
3
-30
-68
-37
-20
-115
-7
-74
-27
-34
9
-44
-33
-23
-19
18
5
-32
29
56
57
4
-39
-35
-5
-49
-48
-40
14
-11
3
10
-57
-64
-67
-75
-4
-49
31
71
-31
-108
-86
-26
66
11
88
42
-14
-67
-114
59
-22
-30
60
62
1
53
-7
-15
20
-29
-8
-13
-1
50
-1
-43
0
-11
5
-7
6
-32
0
2
35
3
-54
65
12
14
-1
1
5
-11
54
41
-2
-19
46
-73
24
16
-74
-78
-5
-31
23
-20
-1
11
23
7
-14
15
12
-15
2
57
-12
-69
-3
-59
5
-5
53
71
24
4
4
59
-30
-94
38
8
10
2
-40
-60
-61
1
-20
-8
-22
-18
12
-22
-36
13
67
35
-1
1
-9
-40
2
13
-7
-62
5
-147
-50
-66
-34
9
24
-8
9
36
7
-36
-76
-11
3
12
-7
9
-29
11
-34
-39
-5
23
-42
-59
5
26
-13
-19
-13
2
14
-65
50
106
-64
11
-16
-43
9
-21
53
-16
71
42
30
30
-32
-32
-43
-22
-112
5
-13
6
-44
-32
-23
57
-23
-39
71
-9
-48
-29
29
-43
42
-13
41
-21
8
-33
-37
-51
-29
-5
12
-26
-4
-83
-21
-25
-84
16
75
15
71
-23
13
-38
-16
-13
-42
6
-22
42
55
40
31
23
7
5
-46
-29
1
-57
-20
-18
4
91
6
-2
-51
-57
-65
4
41
29
28
16
-4
-7
-1
0
53
6
-6
-2
-8
-45
-68
-74
19
8
5
0
4
-4
-23
-13
-3
-1
-18
-37
-3
-21
-10
-29
33
34
-13
-4
0
0
0
0
23
22
53
-41
0
0
0
0
-26
28
-22
-10
0
0
0
0
37
71
43
-5
0
0
0
0
18
0
-7
-10
0
0
0
0
11
35
3
-27
0
0
0
0
13
6
37
55
0
0
0
0
49
-29
74
13
0
0
0
0
21
15
27
10
0
0
0
0
-48
-3
70
-54
0
0
0
0
16
-24
1
-39
0
0
0
0
35
37
-26
-31
0
0
0
0
-21
10
-2
-4
0
0
0
0
-72
-50
59
39
0
0
0
0
2
26
15
23
0
0
0
0
-1
-37
-43
6
0
0
0
0
2
11
15
47
0
0
0
0
62
-39
48
59
0
0
0
0
95
-17
-77
74
0
0
0
0
5
-177
61
-76
0
0
0
0
44
-13
24
-5
0
0
0
0
-9
-24
27
35
0
0
0
0
-69
47
-92
6
0
0
0
0
57
-16
11
-73
0
0
0
0
-1
6
32
-49
0
0
0
0
2
-12
-6
-29
0
0
0
0
38
15
-42
29
0
0
0
0
63
-42
54
-51
0
0
0
0
-4
40
8
-16
0
0
0
0
-63
-1
-13
11
0
0
0
0
-6
61
-64
-69
0
0
0
0
-59
32
-6
-28
0
0
0
0
41
57
37
-8
0
0
0
0
45
46
-35
-5
0
0
0
0
18
48
108
-2
0
0
0
0
31
100
-6
-20
0
0
0
0
25
42
-64
19
0
0
0
0
8
34
-1
-16
0
0
0
0
-9
52
43
-7
0
0
0
0
-28
57
20
-30
0
0
0
0
34
-18
-6
-12
0
0
0
0
33
-6
24
-5
0
0
0
0
12
-3
-41
-14
0
0
0
0
-79
-67
0
-16
0
0
0
0
51
14
-4
12
0
0
0
0
62
26
-29
7
0
0
0
0
22
-41
3
-11
0
0
0
0
36
-47
-39
37
0
0
0
0
60
-20
-3
-57
0
0
0
0
50
50
40
24
0
0
0
0
85
44
26
10
0
0
0
0
62
-13
48
25
0
0
0
0
-8
-19
-30
52
0
0
0
0
-53
60
-52
-8
0
0
0
0
9
-34
-86
-61
0
0
0
0
-23
47
-63
-12
0
0
0
0
49
19
-58
-45
0
0
0
0
55
-39
-17
-23
0
0
0
0
0
-27
14
-30
0
0
0
0
-31
-5
-68
-31
0
0
0
0
11
-2
15
31
0
0
0
0
-52
37
-78
33
0
0
0
0
-34
-17
-41
-52
0
0
0
0
21
32
-46
-41
0
0
0
0
44
30
17
-60
0
0
0
0
64
15
89
19
0
0
0
0
15
8
-5
-10
0
0
0
0
10
22
-17
-110
0
0
0
0
-3
24
-24
-58
0
0
0
0
41
15
29
-74
0
0
0
0
6
16
-6
-14
0
0
0
0
-17
1
12
42
0
0
0
0
76
8
-47
43
0
0
0
0
8
-5
-54
-48
0
0
0
0
3
1
-7
0
0
0
0
0
-6
-85
1
-40
0
0
0
0
-29
-23
-23
-53
0
0
0
0
-14
-14
-59
-40
0
0
0
0
-15
-11
4
-27
0
0
0
0
-14
-38
-21
-60
0
0
0
0
21
-14
-32
-52
0
0
0
0
120
34
50
15
0
0
0
0
59
23
-20
-4
0
0
0
0
16
-4
28
-25
0
0
0
0
57
4
1
-49
0
0
0
0
-9
-103
-41
55
0
0
0
0
27
-15
-15
-50
0
0
0
0
13
47
-34
-87
0
0
0
0
40
-24
21
-88
0
0
0
0
102
76
-3
10
0
0
0
0
-13
-25
5
-34
0
0
0
0
-21
14
-32
9
0
0
0
0
3
60
4
1
0
0
0
0
31
64
-54
-38
0
0
0
0
-33
-43
-23
-14
0
0
0
0
4
-16
6
-30
0
0
0
0
51
57
-35
43
0
0
0
0
21
39
78
-28
0
0
0
0
-9
29
22
44
0
0
0
0
13
19
-31
-34
0
0
0
0
72
6
-40
-17
0
0
0
0
24
-52
14
1
0
0
0
0
45
-27
-11
-84
0
0
0
0
7
-14
-15
-24
0
0
0
0
62
-11
-22
35
0
0
0
0
76
-22
23
-22
0
0
0
0
-5
18
-24
39
0
0
0
0
-28
-12
1
15
0
0
0
0
17
12
-26
12
0
0
0
0
23
-39
-56
-50
0
0
0
0
25
-38
59
-18
0
0
0
0
-14
-8
-5
-25
0
0
0
0
39
61
-44
-29
0
0
0
0
11
-10
-38
-26
0
0
0
0
22
-31
17
-34
0
0
0
0
-15
-29
-11
-51
0
0
0
0
53
37
-26
-25
0
0
0
0
7
-10
-21
-73
0
0
0
0
-13
-28
35
-56
0
0
0
0
10
-14
-67
2
0
0
0
0
-48
-13
77
-9
0
0
0
0
-62
-67
7
-46
0
0
0
0
5
-15
17
39
0
0
0
0
-23
-31
-26
14
0
0
0
0
-10
-11
20
26
0
0
0
0
5
7
2
-49
0
0
0
0
5
0
-4
3
0
0
0
0
-16
-26
13
13
0
0
0
0
34
14
-14
25
0
0
0
0
28
39
15
22
0
0
0
0
9
26
29
58
0
0
0
0
22
18
-37
-17
0
0
0
0
5
10
10
20
0
0
0
0
46
-9
63
-17
0
0
0
0
35
15
-24
-4
0
0
0
0
10
17
-57
-37
0
0
0
0
-25
3
7
2
0
0
0
0
-3
-31
-40
5
0
0
0
0
16
51
-3
-23
0
0
0
0
-63
-78
-29
5
0
0
0
0
43
21
34
48
0
0
0
0
10
-43
31
-28
0
0
0
0
-12
-32
28
-34
0
0
0
0
7
-99
12
-29
0
0
0
0
-7
-13
48
84
0
0
0
0
34
-5
65
83
0
0
0
0
79
65
-8
-36
0
0
0
0
-4
66
-52
-37
0
0
0
0
38
5
1
-14
0
0
0
0
-4
42
55
9
0
0
0
0
7
1
93
47
0
0
0
0
10
5
-15
9
0
0
0
0
63
4
90
18
0
0
0
0
49
22
-34
-2
0
0
0
0
13
24
-54
-45
0
0
0
0
94
10
-26
-53
0
0
0
0
14
-3
-13
15
0
0
0
0
-13
-25
-6
120
0
0
0
0
45
28
-34
-10
0
0
0
0
-66
-34
-40
-54
0
0
0
0
-8
10
-5
-6
0
0
0
0
83
45
128
39
0
0
0
0
91
41
-84
-46
0
0
0
0
33
112
126
12
0
0
0
0
66
-18
75
-43
0
0
0
0
67
-1
44
20
0
0
0
0
41
5
-47
-5
0
0
0
0
-47
6
17
-116
0
0
0
0
12
-25
-16
25
0
0
0
0
32
-43
-21
-64
0
0
0
0
18
-23
59
-21
0
0
0
0
4
76
-47
59
0
0
0
0
96
-4
4
10
0
0
0
0
-5
11
-24
-78
0
0
0
0
-51
5
5
-54
0
0
0
0
52
-23
6
-48
0
0
0
0
67
-6
78
-2
0
0
0
0
30
40
-31
-45
0
0
0
0
25
-31
-20
-50
0
0
0
0
12
1
6
-12
0
0
0
0
5
4
28
0
0
0
0
0
-12
48
-45
-23
0
0
0
0
47
0
-7
-12
0
0
0
0
-24
53
-2
24
0
0
0
0
51
-22
-1
22
0
0
0
0
-48
-41
-7
-61
0
0
0
0
21
15
-1
-6
0
0
0
0
-22
48
-35
20
0
0
0
0
-62
11
7
-19
0
0
0
0
-31
9
18
-8
0
0
0
0
69
9
-45
-25
0
0
0
0
-24
-43
17
-56
0
0
0
0
44
-22
7
-12
0
0
0
0
-28
1
72
9
0
0
0
0
5
25
4
5
0
0
0
0
-18
45
42
27
0
0
0
0
-10
15
-58
-14
0
0
0
0
-12
-27
-7
-61
0
0
0
0
14
9
-13
-4
0
0
0
0
1
17
-15
13
0
0
0
0
93
15
13
-42
0
0
0
0
50
-7
14
-47
0
0
0
0
1
3
1
-13
0
0
0
0
69
-56
12
4
0
0
0
0
105
59
16
5
0
0
0
0
47
22
10
-33
0
0
0
0
0
6
-8
-13
0
0
0
0
-8
-56
-10
-46
0
0
0
0
79
5
-78
-14
0
0
0
0
-46
-35
7
-4
0
0
0
0
10
-25
26
-14
0
0
0
0
52
-46
-52
-3
0
0
0
0
-43
14
-10
-54
0
0
0
0
2
-28
-10
-30
0
0
0
0
23
7
11
20
0
0
0
0
-42
-12
-90
-37
0
0
0
0
26
40
18
-10
0
0
0
0
19
-37
-84
-47
0
0
0
0
33
-50
-15
-46
0
0
0
0
-38
-70
-128
-106
0
0
0
0
-7
14
-12
-10
0
0
0
0
61
-82
-3
-3
0
0
0
0
10
34
-25
-89
0
0
0
0
-6
-19
-31
-40
0
0
0
0
42
-74
11
-15
0
0
0
0
26
19
-54
-10
0
0
0
0
56
7
11
-7
0
0
0
0
13
-9
-15
-37
0
0
0
0
16
-2
-7
-36
0
0
0
0
-13
38
57
53
0
0
0
0
-14
13
-22
12
0
0
0
0
16
-35
-23
-41
0
0
0
0
-10
41
27
-102
0
0
0
0
-4
3
-40
-85
0
0
0
0
-10
-42
-11
6
0
0
0
0
4
22
-6
27
0
0
0
0
9
9
19
-33
0
0
0
0
23
-23
-99
51
0
0
0
0
54
34
-40
-56
0
0
0
0
7
-19
-17
1
0
0
0
0
54
29
-7
-25
0
0
0
0
23
2
51
44
0
0
0
0
5
15
12
-17
0
0
0
0
22
-6
2
-7
0
0
0
0
-2
35
-22
-30
0
0
0
0
-28
-10
-15
4
0
0
0
0
7
23
-7
-47
0
0
0
0
-47
-15
22
-43
0
0
0
0
55
-10
-31
19
0
0
0
0
-54
25
-13
-44
0
0
0
0
8
19
19
-13
0
0
0
0
19
-22
-15
-24
0
0
0
0
21
4
4
-17
0
0
0
0
35
24
0
-12
0
0
0
0
11
-6
-11
-25
0
0
0
0
2
-2
-9
-14
0
0
0
0
49
55
28
-16
-5
-13
5
-17
49
2
27
45
-5
-20
6
16
42
-1
-20
-17
-2
17
3
7
40
8
41
0
3
40
50
28
0
22
-41
39
38
3
-10
35
18
-42
20
-3
-25
0
-8
4
0
11
15
19
-25
-13
-8
10
-2
0
25
-25
46
-11
7
17
-6
-37
31
-17
69
29
-9
-15
-43
25
30
34
4
-44
-15
-34
42
23
-60
23
5
-18
1
-42
-5
-16
-27
12
-42
39
-40
-21
43
25
27
43
9
2
46
2
-6
59
18
-8
-31
5
10
-58
-21
15
-4
2
20
3
1
23
-22
-56
25
-5
17
-40
-5
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
18
-18
-23
12
4
0
-16
11
44
11
2
-3
25
24
-46
-35
8
2
8
-54
-3
27
-17
20
22
-5
47
31
-24
-17
84
25
17
-8
-13
-16
19
-7
-5
9
-7
13
-14
29
13
-21
5
-5
-17
6
-15
13
-19
12
-26
6
47
-15
-19
24
4
25
-37
13
13
-4
5
-3
-2
-41
-1
-33
-12
17
22
26
13
46
-1
34
-6
-4
9
-8
-10
18
-12
-42
-2
35
-24
-14
-15
-15
-84
19
-3
-27
41
-24
-32
-4
10
-19
-29
-15
-83
-5
7
-14
-37
9
-13
-5
-2
-8
20
-7
23
13
2
13
17
-31
-13
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
14
-4
-2
-9
4
-1
58
-28
13
32
13
10
5
24
-8
40
-3
80
-10
-2
7
6
4
58
7
11
-11
-4
35
2
29
6
-29
-14
28
-15
1
17
5
3
-32
-1
-14
-33
-38
-10
22
-16
-13
9
-45
1
16
-23
13
12
45
-4
51
-43
18
-2
54
-6
-9
-5
1
-13
0
-7
8
3
1
-15
-12
-13
8
27
-29
28
4
-1
13
13
-42
-74
-8
23
-6
-7
-62
-30
-48
-4
1
-20
-7
14
-51
13
-26
7
-10
-12
-5
24
24
-1
-2
-8
-31
-22
22
31
-13
-33
-35
76
-13
-29
3
8
34
-24
-69
-44
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
14
21
-10
-41
-4
-16
-32
0
9
58
-30
19
13
-6
43
45
41
1
-22
31
11
7
-13
-17
-16
8
-42
14
67
-5
-31
33
-20
-18
-1
30
15
2
16
42
-5
-7
5
-6
4
8
-32
-19
-49
7
-5
21
-8
-34
24
19
74
-19
-13
-5
3
-7
-25
3
9
7
-5
20
1
-9
-1
-6
-5
18
19
-1
-7
-31
-13
-5
41
5
-40
7
-42
19
-8
-49
6
40
-10
63
13
-31
3
6
-12
-47
25
-8
-24
-12
-5
2
0
29
24
2
3
0
1
-14
-17
-5
39
-10
33
4
-47
19
3
-22
-20
7
-11
-42
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-5
-3
-42
4
29
5
39
5
-43
20
-13
-28
-17
22
51
9
-21
4
9
28
13
23
16
-2
6
17
-1
28
10
8
59
2
-6
-5
-23
13
1
14
-24
-4
-13
33
25
13
14
12
58
5
41
41
-15
22
16
-13
-5
-28
13
2
-13
18
17
5
15
-14
7
-10
4
19
2
1
42
-30
8
32
74
6
-10
-15
-13
15
4
27
7
-22
-8
19
5
-32
10
12
-35
-2
-13
31
8
-16
46
-48
33
2
31
-5
26
60
24
33
5
-4
34
-1
29
-13
12
-25
21
-9
32
-20
5
-1
23
-2
38
22
2
2
-20
23
8
-31
13
19
-7
15
-13
-3
8
31
9
-17
3
7
-24
-7
3
-44
18
-12
1
-5
-3
-24
-25
18
-22
27
27
22
-22
15
5
12
-7
31
-22
-5
-29
-27
-5
-8
13
7
6
5
25
10
-24
-9
-4
5
-2
2
12
13
-5
-12
12
-5
9
3
27
7
-25
-4
42
2
-12
0
3
-4
1
7
-11
-8
0
0
-18
0
17
7
-3
4
-9
2
-6
24
-8
5
33
-8
5
-24
-79
-8
13
33
6
-9
-4
-2
-40
32
7
-1
-14
-8
25
-51
-25
15
-12
8
-9
-25
5
25
-22
-1
47
7
-15
8
-5
4
-31
-5
-28
32
-3
6
-13
17
-8
5
30
9
15
-9
23
-8
-30
0
12
-5
10
30
-6
10
16
-13
29
23
-15
-5
-2
49
-2
-6
-10
-2
-16
-10
-23
5
3
-13
5
1
-14
-7
-2
-4
10
18
1
-5
-2
24
-5
-2
7
-3
-28
4
-5
27
17
-23
-9
18
-23
17
-9
16
1
-1
16
6
-12
4
-13
7
-13
3
3
-25
-13
-10
-12
39
-39
-1
-13
8
-1
-23
16
4
-41
15
-26
27
8
-8
-22
6
-5
-17
-5
-14
-13
5
5
-4
-1
10
-12
15
-13
5
17
-23
-13
5
-8
9
13
-28
-13
-33
-37
-25
-17
16
33
-33
23
22
-2
-10
-7
-15
27
-17
8
-3
14
17
-2
9
0
-8
25
-1
0
13
22
-6
1
1
15
-8
6
12
41
18
1
22
5
8
-4
1
-6
5
-16
5
-22
4
4
2
-29
8
10
2
-8
3
-2
0
-6
-8
8
-13
-21
5
1
-42
-19
15
21
-1
36
5
12
6
-12
7
3
3
7
0
-1
-14
-13
1
16
-5
6
-8
-15
-5
-28
15
-16
-14
-3
-10
1
-5
49
19
49
-41
-14
-5
-6
-5
-14
-12
-5
-13
2
16
-35
-1
-32
11
42
-20
44
-4
2
-9
23
-31
-5
-67
-28
41
-59
-42
-13
5
-20
8
-27
6
9
0
15
0
-5
9
14
1
-2
22
-50
-22
3
19
-3
-40
29
67
57
-13
40
24
-5
20
48
11
31
18
0
10
22
-7
19
-5
-17
13
-8
-4
-19
-5
-2
17
-3
-32
-42
-13
-35
10
31
28
56
-1
-14
17
22
-4
-83
11
29
0
1
-14
-34
-4
-2
-2
-23
-1
-14
-1
13
-3
-7
5
-34
22
-2
13
-3
55
-18
-41
-45
17
13
15
5
-39
6
-24
-41
-10
-5
4
13
31
17
6
34
-19
6
6
0
-1
-20
-8
-15
-16
-9
-41
22
10
-13
8
-74
-64
-7
12
43
47
2
-57
22
31
3
13
13
-3
1
1
0
8
-3
23
-2
2
0
4
18
-19
-8
45
-21
20
-3
-13
10
31
37
31
-46
-24
-22
29
-21
-4
15
-20
0
7
8
0
-24
8
10
-12
12
-8
4
9
24
-28
23
6
-23
-5
-33
-6
15
11
9
-29
11
6
-29
-17
-18
37
-2
3
-1
0
-5
0
1
2
-2
-3
-3
0
0
0
2
18
18
43
6
-2
3
1
-9
2
-19
-13
-24
21
-13
-23
-5
3
6
-1
-5
8
3
-3
-1
-1
19
33
-9
-9
-3
-9
-44
36
-5
10
-25
22
-23
1
-52
-23
12
7
-5
-2
15
-8
-5
19
-9
75
9
-25
10
-9
47
-10
1
4
12
3
12
42
10
0
-25
-13
-24
4
-27
5
3
3
-67
56
-25
66
-6
13
46
21
4
-8
-7
-30
0
6
-2
5
2
17
-22
5
1
-13
-2
-58
-70
-23
-16
21
-1
4
20
-11
50
26
41
-15
8
9
-22
-12
0
-2
11
2
-32
-2
-13
0
-2
1
19
0
-1
-3
9
-17
13
12
-2
-7
-23
-5
-5
-40
46
6
-1
-52
-18
-27
-62
-8
14
8
-43
8
-13
3
3
-1
-1
-13
-5
8
2
8
4
12
-9
-18
-2
-8
14
-3
-16
26
-23
5
3
-22
41
-40
-11
42
35
-15
-2
7
8
0
-22
-25
9
20
-5
0
8
8
-64
4
13
0
-21
-48
-37
37
-31
13
23
-43
6
-16
57
29
11
-1
22
-13
57
-16
-14
-8
7
14
-14
2
-18
-2
8
-5
-18
0
5
4
4
-15
-3
-42
-34
36
-25
22
-16
-22
-32
1
15
17
-5
0
-44
-33
-5
-1
-9
-17
14
-4
-10
8
-20
-3
-22
77
18
22
-22
-42
25
-68
-51
31
-5
51
-40
-22
6
-18
3
41
35
-5
97
-69
-5
-24
-9
22
33
-5
-4
13
-10
-30
-7
44
-13
5
-32
-54
24
-32
-17
90
30
-50
-29
13
-8
-6
-30
48
-13
-22
-16
39
46
4
30
18
-24
18
-8
-16
5
49
14
-28
-15
20
16
0
4
24
34
-6
8
-28
-6
37
-11
8
16
-12
3
-14
-33
6
-2
8
-45
2
-3
18
44
0
10
-31
31
20
3
-7
13
18
1
22
-19
37
-3
4
-4
42
5
6
24
-31
-34
2
-14
-2
-13
-3
-33
14
10
4
-15
3
13
-5
-22
4
-2
-13
8
10
1
8
49
-15
23
-8
-1
-1
15
10
5
3
18
9
-5
5
-1
-25
36
-15
-4
42
-19
-5
-13
3
-42
30
0
24
-20
-1
44
-41
2
37
-13
-4
14
48
23
8
49
-15
-26
-13
6
21
-8
3
19
-14
2
22
-6
-2
-8
24
26
-29
9
2
-2
-10
-1
0
4
-6
6
-5
-8
1
3
7
-2
27
16
5
16
32
-41
-1
18
9
-4
-7
-10
-2
12
16
-13
2
7
0
0
-8
12
-3
8
-4
-1
-14
7
-6
-7
-4
-38
0
8
-12
42
8
-9
-1
20
-10
0
-35
-2
1
0
0
-9
5
0
1
-5
12
-3
8
-9
13
-1
-1
-31
-1
19
-3
-21
30
25
21
-7
0
9
-7
-16
9
-1
25
15
3
-1
-6
31
-19
-5
2
15
-19
-17
10
47
-1
-13
-2
-11
3
-24
-26
-12
16
-4
3
-17
2
3
-8
12
-10
-1
13
5
2
-9
2
-4
13
-13
-5
-5
-2
4
25
15
-22
-2
3
30
0
14
12
87
19
5
-7
6
19
2
2
-15
-7
0
-24
4
-14
6
0
10
-5
16
0
1
-5
-8
-8
20
-18
3
19
-16
7
4
-5
-21
7
35
5
9
5
8
-1
-49
-9
7
-5
26
4
-5
-5
-23
-3
-8
-7
-43
-10
1
-2
-25
9
-14
0
-5
-3
-5
2
57
-13
-29
-12
-21
0
-23
2
-23
8
-7
21
15
-4
7
8
-7
-1
7
7
-3
-7
-19
-7
4
4
-1
-25
31
-6
-8
-10
-43
-3
0
4
-4
-41
0
0
16
-10
1
6
7
0
-2
-17
-9
-5
-3
4
7
1
-17
-1
-14
8
3
-8
8
3
-4
-7
-8
-24
42
2
5
2
1
-5
16
6
6
-2
-7
-2
-3
-6
4
0
-4
0
0
-4
-1
0
-12
10
2
3
-14
-21
-3
6
1
5
-20
9
1
2
7
-1
6
12
23
-19
-30
0
1
1
-1
20
3
9
9
0
8
-16
-5
-8
-1
3
-6
2
-29
-6
-8
25
28
-1
2
-29
-17
-25
-13
14
25
5
-5
3
25
9
-2
27
1
-3
3
-16
-3
12
19
12
23
-5
-10
-24
-4
-43
41
-21
5
-6
9
0
3
10
5
6
7
8
-15
-5
0
8
-13
-71
-9
48
-25
32
12
23
-4
-2
10
60
26
-22
-31
42
-10
17
13
-9
-7
-22
-1
2
23
-19
-3
-5
19
8
-6
14
-5
-49
-2
19
-8
1
-20
-8
-5
-7
21
-45
-12
8
27
41
-10
13
-8
-18
5
1
1
5
14
-4
-3
-1
-2
0
-6
-2
-16
-11
-32
-2
-34
-16
-8
41
-54
-27
-23
25
-8
12
10
-8
-7
-14
-24
-10
13
-2
-1
-6
-5
-8
-19
5
8
2
0
-5
15
13
15
-46
-42
-19
6
23
-7
-42
8
13
-22
27
-21
-19
-27
24
2
13
-13
4
-31
-4
-7
2
-8
6
5
-1
5
7
-4
-31
7
35
-27
21
-43
-18
1
3
-43
-3
-2
34
-19
-24
-3
22
-5
-16
-4
-16
37
-7
21
5
-6
4
-2
1
-6
-7
-12
-11
30
46
-63
-7
40
-19
8
77
16
1
-42
-14
1
-13
-22
18
9
4
-10
2
0
0
-42
2
6
-9
-6
-1
0
5
-9
-12
5
8
5
6
-10
-2
15
12
-5
-21
-31
-8
-8
-42
-42
35
-26
3
10
-21
4
-14
-6
-9
-1
12
31
-3
-16
-24
-35
18
11
-11
44
13
5
-16
-8
-32
-19
14
-13
11
14
-16
20
31
5
-7
-5
18
7
0
0
9
-8
30
-3
-5
-2
21
-2
-27
-25
0
6
-5
-24
-30
-18
-5
7
-13
11
47
21
17
92
-18
-5
-24
10
-5
1
2
-5
7
24
6
12
1
2
5
1
-6
20
-21
-42
6
-17
24
9
8
-23
47
27
-64
-13
-12
-19
-4
6
-6
23
1
-10
-5
-10
-1
5
-5
18
0
-1
4
8
14
-27
-12
31
13
-23
8
-15
21
-4
33
-37
8
-3
19
44
24
22
7
0
15
-18
-8
-16
12
-4
9
25
5
-23
5
-31
12
16
-40
44
-22
-24
-4
-25
-15
32
6
-14
12
-5
-37
-4
27
-9
42
26
18
-9
2
-3
-5
-6
13
-5
-6
-1
-8
-7
48
-20
-29
-33
4
-9
-19
-14
-15
22
14
-7
13
38
-18
-2
-1
-1
14
-24
15
-1
0
-8
3
21
10
-4
7
6
3
12
15
15
-2
-13
-6
-26
-17
-13
-24
35
-23
27
-26
-21
-7
21
15
37
18
-33
-10
0
-4
22
-5
13
-3
-26
2
-1
13
-22
49
-23
6
-22
14
16
-15
-10
27
17
3
-23
-20
-1
-53
-5
68
41
-12
27
-39
18
21
41
42
-9
23
-23
18
41
-27
-44
51
6
18
27
4
-10
-1
-16
29
78
28
-5
-48
-31
3
-41
20
36
42
22
26
33
0
-13
27
-10
-5
-13
63
29
-11
14
67
-15
-48
10
1
-42
-19
14
-12
1
3
-6
96
-5
68
-5
59
-12
7
46
26
-30
35
-26
-22
7
-14
-13
5
-7
-1
-28
31
20
-14
30
-23
9
-2
49
13
34
22
30
-27
34
-31
-38
23
32
29
15
-32
-6
-31
19
20
-7
-32
-14
-20
-51
10
-6
-18
23
-24
66
-20
14
14
23
3
-10
-13
30
-13
-36
-75
-31
49
11
34
66
31
17
43
13
21
15
-29
-22
-45
5
9
-44
19
4
13
-102
-28
20
-7
5
-8
6
-29
-59
-13
10
-12
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
-29
18
9
5
-4
7
6
44
36
-3
-5
-9
6
-14
56
-20
31
-21
33
-4
5
-14
47
-9
-20
-34
-48
-3
13
6
0
14
1
-16
-1
2
-9
1
1
-9
11
22
-8
37
-2
21
-5
-6
-6
8
2
-15
1
5
13
-30
23
-52
19
-44
-5
18
-15
-30
-13
1
-14
-31
-23
-4
44
-17
14
10
-34
-37
1
49
31
-8
-1
24
17
-13
-5
-13
-16
4
-14
-26
-20
20
21
6
12
1
-15
-20
3
-14
16
-1
-31
-13
-41
-1
8
-4
12
-19
13
-43
2
-30
6
-7
-24
-3
-14
-8
-23
-22
-16
17
6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
14
6
0
1
0
-52
78
6
-21
-21
73
-25
29
-28
6
5
-12
45
-18
25
-6
-31
46
69
-65
17
25
41
31
-3
26
4
-69
-42
5
-41
-18
-2
-14
29
-8
29
2
-12
-13
14
26
32
3
-10
-6
-44
-50
-3
13
16
50
10
17
-23
-35
-1
42
-12
-5
-14
-20
0
-8
-12
13
-32
-4
62
22
29
-49
-37
-29
-25
21
-22
-59
-18
-8
-13
15
0
19
-43
-19
-18
1
15
13
-15
13
-7
14
-25
10
0
10
4
-53
-28
-3
-13
-26
5
-23
-39
-27
38
-36
-1
21
-70
8
-50
-23
10
2
-3
-46
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
15
-5
-1
-2
6
-17
-7
53
31
-43
-34
34
4
20
-32
26
61
-26
2
16
5
-8
-25
40
-57
-18
25
9
22
-21
-9
41
-25
-27
-17
-8
5
3
15
-31
-4
-9
23
34
-30
46
-16
4
13
-5
-2
37
-38
-9
8
36
-25
19
-9
-3
31
-55
-31
-20
7
-12
8
14
14
2
15
29
-31
8
-9
-12
0
-43
17
-2
-14
11
-31
11
21
-22
-40
13
-1
42
25
-28
45
-34
4
-4
12
10
-8
-14
-8
-8
-43
6
-7
-21
-48
12
22
54
-30
20
-55
-14
-13
-10
-31
1
1
4
-11
0
-14
-1
-24
25
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-18
13
-52
15
49
71
5
-2
49
30
15
-15
20
18
7
7
3
5
1
-21
6
5
21
37
42
-6
22
-20
44
-22
29
51
-16
-26
-10
-7
-41
-9
-7
14
-10
0
-8
16
2
-2
-5
71
37
-1
14
8
32
3
22
34
7
21
30
9
30
-26
-18
-20
-20
26
5
19
-10
-14
8
-41
10
-12
31
12
10
53
42
14
13
24
-16
-5
20
-4
10
-21
9
5
-20
-28
-22
13
-9
-13
9
-42
133
48
28
5
74
-14
-5
31
5
4
4
20
62
-8
-20
2
-1
-9
8
-15
2
-31
-1
-7
59
-6
-10
25
1
-5
16
-49
-8
-2
44
4
5
12
5
-4
-41
46
6
-27
-23
34
-18
5
15
8
-14
5
-22
-20
-1
-6
-1
48
-16
7
-42
5
7
25
29
-13
19
2
5
-44
-16
13
1
-5
-13
-7
40
8
-8
0
22
7
-9
-3
-3
4
-23
-2
-6
15
2
4
9
5
12
-16
9
-13
-22
-43
27
21
-16
28
21
2
-8
6
-8
4
17
-8
-12
9
-1
-1
1
5
2
-4
-25
-6
-2
-17
-41
29
8
24
-55
-1
33
-17
-42
13
-6
-5
-5
-18
1
-11
3
27
-34
3
-14
1
16
-20
-8
27
-56
-17
3
-8
8
42
20
-12
-2
-25
46
18
0
7
-20
-8
8
19
9
65
14
31
-49
-14
-2
2
0
6
9
-12
-4
-1
9
5
4
65
-8
-42
45
10
-30
-16
-12
-30
-4
-6
14
49
38
-5
8
-8
-5
-19
-18
1
-8
1
7
-5
-8
5
-5
-15
12
8
1
5
-45
-45
59
6
-13
31
29
16
-2
-6
42
-4
-55
-3
-5
9
-13
9
-20
-16
-12
-5
5
-8
-1
4
-8
-31
-17
17
-13
-28
-18
13
-27
27
33
30
-21
-2
-41
-2
-5
31
-16
-45
-41
15
-12
5
-31
3
-20
1
-5
-8
0
0
18
16
1
-19
8
-43
-22
24
-34
37
-5
17
15
5
8
-4
2
30
13
0
15
12
5
6
8
-6
-5
0
-6
7
6
-4
1
12
-2
4
-3
31
19
-2
9
41
3
7
-2
17
13
1
-37
15
32
-23
-2
-8
-31
-1
-15
10
-41
6
2
10
-24
1
6
9
-3
2
-7
10
-14
-10
-38
34
58
13
16
-16
0
14
-9
8
-24
31
-12
-3
-10
9
-6
5
4
-20
3
7
-23
9
0
-28
32
-5
-6
-16
-8
-8
-2
-1
41
4
-3
15
-49
-2
-8
24
17
-24
-13
-6
-17
-8
-45
34
36
0
-15
14
-45
-24
-8
-2
-5
-5
-2
-40
18
0
-46
9
16
5
-9
-1
-24
5
14
23
1
0
-8
15
5
-2
-60
-14
-3
1
-13
-66
23
27
7
44
65
25
2
20
44
49
-14
19
4
-15
6
-4
-18
5
5
-3
-1
-6
-30
-1
19
10
8
41
19
40
18
-41
-6
-57
3
41
-21
9
-20
23
5
-24
-54
-8
5
2
-25
-3
0
-24
-30
9
-5
-16
3
8
3
-8
20
61
21
-23
18
-21
26
-28
-28
22
0
-11
-1
-24
-10
-86
-15
9
8
-16
14
-3
-9
-2
8
5
9
-24
28
8
-23
20
5
-31
41
-42
-15
-52
-42
27
5
-18
5
-14
48
-32
22
-5
8
27
-10
8
16
7
-12
0
-4
-3
12
1
-1
8
-18
-5
2
32
-76
44
-21
17
-22
26
-24
-5
-2
1
-6
15
19
23
8
21
0
0
13
-1
0
-4
-15
5
-3
-8
-7
4
-30
-6
22
8
8
-25
20
-9
-6
-31
-34
-1
6
19
2
-13
5
6
-8
7
29
8
24
-3
3
1
-6
1
-3
-4
-1
0
-1
-3
-6
20
14
80
0
-26
-1
20
-13
-26
-6
-2
8
-3
-13
-23
-40
15
0
6
-5
-8
1
2
18
-6
-5
-10
-6
-25
4
19
11
21
65
-42
-62
-20
22
-33
-41
0
-17
-31
3
-3
-16
-18
30
-3
-13
-5
-1
22
-5
5
-13
-9
23
-29
57
10
13
2
1
-10
32
-15
-28
24
9
-9
-12
45
30
-7
-8
-58
49
39
26
6
-2
2
-31
13
-33
-5
-10
-3
-14
-8
41
1
21
-6
-5
13
5
-19
-34
-13
-5
-12
-16
54
24
-34
45
-8
-22
-73
47
5
-3
4
-6
-8
-9
3
-6
41
16
-8
-5
-16
7
-49
9
-7
-43
14
-32
5
-25
-24
16
45
-4
-41
-53
-11
1
-12
-15
7
-5
19
19
4
-5
0
5
14
-18
-25
-8
-5
-31
8
1
1
20
-39
30
-21
-13
-8
-23
39
-5
48
-42
62
14
-32
-19
84
15
-19
-38
0
-3
-3
-34
1
11
-17
21
-15
13
-4
-41
25
5
3
-2
7
4
-4
-23
19
25
-57
14
32
-8
18
-11
13
-3
5
-28
-8
-21
-12
-29
7
32
-15
16
-16
-25
-17
10
11
-52
-9
45
-4
15
-1
-5
63
-31
15
-48
5
-22
3
-62
29
-29
-6
-17
16
3
15
6
9
-17
1
-64
41
-7
3
6
-12
-35
-78
-37
16
-22
-16
-5
9
-31
-17
-71
30
30
8
17
68
30
4
8
-20
17
34
-5
41
-12
-8
-43
-37
10
-24
-34
17
5
43
59
66
-46
33
-7
-19
-49
14
-39
4
22
-109
0
-33
13
-1
-29
-3
9
44
-12
16
1
19
29
34
27
1
29
-2
-13
13
12
0
39
-25
-1
5
0
41
8
17
31
-18
-7
10
-4
-7
-9
17
-25
-4
-23
54
-16
7
-15
16
6
22
22
1
8
5
-8
0
2
13
0
27
-39
7
18
-8
73
11
23
45
-4
-10
-5
-32
-17
14
25
-34
22
41
-31
-13
-12
5
-22
-4
6
3
-5
-14
-14
18
-3
3
-21
7
5
21
23
-17
19
-3
8
13
-16
-5
-12
-13
60
14
20
-17
-19
18
9
5
13
5
-9
5
29
-8
2
-7
13
3
14
4
-16
11
-10
39
29
-1
-15
9
-5
14
-2
-1
9
-8
-23
16
41
5
-24
6
-3
-29
-2
2
8
0
2
2
2
-41
-2
25
9
-10
-2
10
-15
26
21
-14
-4
-1
-2
-8
25
-2
-6
-4
-33
-10
25
8
-3
8
-2
-5
-2
3
-10
2
1
9
34
-13
1
-1
0
-4
-17
13
-1
-3
10
-6
1
0
0
0
-2
1
-14
8
-18
4
-5
19
-2
0
-5
0
5
0
-1
-10
-5
0
1
7
0
19
-27
-4
3
9
47
3
6
9
7
13
-15
15
-14
-6
-9
-2
-5
5
5
1
-3
-1
-6
-2
9
21
1
-1
-23
-31
17
13
6
17
-6
-13
-31
34
4
-13
24
-7
32
23
-8
10
0
34
57
-2
-24
-5
-2
-15
-8
0
0
7
4
9
3
2
13
9
34
5
-27
6
17
5
-25
-7
31
28
-41
4
33
-1
14
6
28
-12
-2
0
6
0
3
-3
-9
3
0
7
-8
-6
-8
-15
13
22
38
14
-1
-19
-8
-21
-42
-2
41
-27
0
7
-13
18
-4
4
-18
5
-8
3
-8
13
-1
-3
-2
-8
-13
-12
4
4
2
0
25
-10
-16
-18
-8
-8
-6
9
-5
-33
-4
14
7
5
35
-16
-21
-10
16
-2
0
0
5
-2
5
-24
-23
-31
-13
-4
-10
8
-3
0
-8
-12
6
-14
-15
-7
20
0
41
0
3
1
1
6
-10
4
0
2
-20
1
-2
-9
-8
6
-9
-31
-5
-3
-21
4
27
12
-6
0
9
0
-8
32
10
-10
17
1
-8
5
-8
8
29
-3
-15
-5
12
0
-6
-12
-1
-14
0
-8
-10
2
-20
41
-4
-21
10
-1
6
-25
-2
20
-8
-1
-2
8
-17
-13
-6
2
-7
33
-22
9
0
6
-3
14
-25
16
-5
-5
-14
32
-59
24
13
-9
13
43
-2
15
-31
5
23
-8
-42
5
-10
5
-30
51
16
-41
23
33
18
-19
3
31
29
-29
-7
16
4
-25
-9
17
10
4
-13
4
-6
3
-10
8
13
-6
16
-25
-2
7
26
-51
-11
0
-28
1
6
48
9
5
5
-29
27
52
25
-8
76
-8
-17
2
-1
1
0
-1
-16
24
18
-12
16
-9
1
-5
8
-53
3
1
44
-14
-37
19
-1
1
37
-8
-5
-19
-4
8
20
20
-7
-25
13
-3
5
2
9
-2
-15
4
-3
9
3
3
-25
-43
-17
22
9
-49
-17
-4
-42
-1
7
12
-25
5
-10
21
-13
-12
-24
-13
-5
-13
-6
-1
-5
2
-20
-17
-13
13
-8
8
-10
-81
41
9
-9
-31
-5
-29
8
8
-5
32
-15
41
2
-17
-5
23
-31
23
-17
4
-5
3
8
-6
3
-25
0
10
-12
-14
-43
40
-43
9
10
-8
-1
-43
-41
18
-10
-14
-13
-3
46
-10
5
22
-28
-3
4
6
-7
1
-13
42
5
8
8
3
-6
-15
-42
31
52
-13
-39
-13
3
4
-12
9
-14
-16
12
-2
14
-25
15
2
29
0
-27
3
-8
-5
-9
1
23
-20
-9
3
-5
3
0
3
25
25
18
-4
2
-18
-6
-20
-9
-14
8
-41
-10
-15
-50
5
-43
6
-12
8
-9
7
14
-12
-18
7
-5
-18
0
-13
20
67
7
-34
-28
-46
-5
-16
-31
77
13
13
-54
9
-30
22
16
42
14
18
34
28
25
0
20
-31
-19
-2
-5
3
9
4
6
60
-16
-22
-21
33
13
1
4
-18
14
-29
1
-22
12
22
52
-7
-14
-16
35
-2
-5
17
17
-1
-1
-7
-3
-7
0
-7
-18
12
-13
-4
-5
10
-26
1
-25
45
-66
-64
9
41
77
2
2
4
-10
29
8
-18
12
6
-31
9
-7
13
-7
3
15
0
-7
-23
-19
14
49
-48
-10
-1
35
4
48
17
-14
47
13
1
-9
31
47
-1
24
-14
0
13
-23
-27
-12
-4
-43
-5
-19
-13
-5
-31
12
2
-2
22
1
-51
-12
15
-15
26
-28
47
3
-39
-39
6
49
-10
-15
23
5
-5
-12
-3
13
-6
18
3
32
-24
-4
35
15
20
-27
-23
-25
-5
-13
0
-41
22
11
-14
-25
-7
15
31
49
-5
-17
-7
7
-25
2
40
-12
-42
-5
-7
-13
4
6
26
8
-2
-18
29
-23
-27
-2
19
41
-12
-45
-15
3
5
-23
9
18
5
48
30
-19
8
-31
-5
21
-34
4
25
-3
13
-8
50
-25
2
7
-18
-12
-15
13
54
16
-1
-7
-51
-30
-46
-22
59
19
47
52
9
-18
12
5
28
25
-42
12
-45
5
-23
-81
86
-2
-62
2
5
23
8
16
25
-28
15
27
-13
-29
-34
18
41
20
-50
3
0
0
0
0
6
5
25
-15
0
0
0
0
69
7
-60
3
0
0
0
0
13
45
13
1
0
0
0
0
-19
46
14
-4
0
0
0
0
5
8
0
-50
0
0
0
0
32
18
21
8
0
0
0
0
10
23
-1
8
0
0
0
0
60
27
16
33
0
0
0
0
31
-31
-9
-41
0
0
0
0
7
0
5
-27
0
0
0
0
-5
15
-35
-5
0
0
0
0
23
8
93
90
0
0
0
0
-5
-8
67
43
0
0
0
0
-18
20
15
-22
0
0
0
0
-27
12
-5
29
0
0
0
0
38
-15
-24
37
0
0
0
0
3
-3
10
20
0
0
0
0
18
-18
-27
-23
0
0
0
0
31
-57
14
-22
0
0
0
0
-7
-11
47
20
0
0
0
0
-33
42
-25
12
0
0
0
0
-1
4
-13
16
0
0
0
0
6
-16
8
-23
0
0
0
0
7
-32
-17
-28
0
0
0
0
-8
5
-32
-25
0
0
0
0
1
-7
-10
18
0
0
0
0
13
2
32
10
0
0
0
0
-1
-18
24
-14
0
0
0
0
-18
16
23
4
0
0
0
0
-16
-16
-43
12
0
0
0
0
-7
8
4
-10
0
0
0
0
75
-6
-6
21
0
0
0
0
-8
-19
2
-19
0
0
0
0
49
-9
-27
-31
0
0
0
0
55
41
13
-5
0
0
0
0
-18
45
-25
26
0
0
0
0
13
-22
5
12
0
0
0
0
-22
-10
-40
-15
0
0
0
0
-22
-1
17
-33
0
0
0
0
18
-31
-12
25
0
0
0
0
14
-22
-20
7
0
0
0
0
-22
17
-31
-22
0
0
0
0
-5
-26
0
13
0
0
0
0
28
-41
-28
3
0
0
0
0
6
5
-25
8
0
0
0
0
-32
-38
2
-18
0
0
0
0
9
-49
13
-25
0
0
0
0
8
-22
-1
24
0
0
0
0
27
29
25
12
0
0
0
0
9
24
1
9
0
0
0
0
58
22
-32
29
0
0
0
0
14
-37
-22
32
0
0
0
0
-14
22
-13
4
0
0
0
0
22
-4
7
-27
0
0
0
0
8
49
-17
-75
0
0
0
0
9
26
15
25
0
0
0
0
0
8
-19
-34
0
0
0
0
39
-34
8
25
0
0
0
0
-15
32
9
-2
0
0
0
0
4
18
-58
-41
0
0
0
0
15
12
-42
41
0
0
0
0
-22
-39
-36
-13
0
0
0
0
5
-31
9
5
0
0
0
0
-4
9
-3
-10
0
0
0
0
25
-16
28
-13
0
0
0
0
2
-6
-16
39
0
0
0
0
20
-12
45
-89
0
0
0
0
-28
24
1
-12
0
0
0
0
6
8
-15
8
0
0
0
0
35
37
-24
-36
0
0
0
0
-49
35
-37
4
0
0
0
0
2
2
-47
-13
0
0
0
0
-33
5
-24
-5
0
0
0
0
-30
23
23
-7
0
0
0
0
-5
-49
-11
-5
0
0
0
0
12
9
16
-45
0
0
0
0
-41
4
46
12
0
0
0
0
-68
11
5
41
0
0
0
0
37
15
-42
9
0
0
0
0
7
15
-14
-13
0
0
0
0
41
10
5
7
0
0
0
0
61
30
-34
-48
0
0
0
0
8
3
-13
8
0
0
0
0
4
14
-7
-5
0
0
0
0
4
16
-8
19
0
0
0
0
21
20
-80
-26
0
0
0
0
-52
4
7
30
0
0
0
0
18
14
21
-20
0
0
0
0
8
8
-15
-25
0
0
0
0
-4
-37
4
49
0
0
0
0
10
1
5
-19
0
0
0
0
1
5
43
-6
0
0
0
0
-4
-39
-8
-12
0
0
0
0
4
13
-31
-5
0
0
0
0
-5
-65
-2
44
0
0
0
0
-19
33
-16
-7
0
0
0
0
53
28
-11
-13
0
0
0
0
29
-42
-31
-53
0
0
0
0
9
1
31
13
0
0
0
0
58
-47
5
23
0
0
0
0
-33
-57
-8
-5
0
0
0
0
39
-47
64
-31
0
0
0
0
-19
48
-25
-29
0
0
0
0
-1
-41
-9
54
0
0
0
0
1
-22
19
-28
0
0
0
0
-7
-42
-29
-49
0
0
0
0
-41
-32
1
5
0
0
0
0
16
18
-21
22
0
0
0
0
-15
6
4
-25
0
0
0
0
-38
-16
11
-43
0
0
0
0
47
35
-2
-33
0
0
0
0
13
46
-13
-31
0
0
0
0
40
22
-30
-5
0
0
0
0
-11
-41
8
-34
0
0
0
0
14
-11
25
41
0
0
0
0
13
5
-65
-63
0
0
0
0
-11
25
-5
-13
0
0
0
0
-16
5
59
-54
0
0
0
0
0
6
-5
-39
0
0
0
0
6
-22
-3
-21
0
0
0
0
-13
-23
-14
-24
0
0
0
0
14
-72
31
-2
0
0
0
0
21
4
8
-31
0
0
0
0
47
-12
-28
-6
0
0
0
0
6
-25
-2
-72
0
0
0
0
-6
13
4
30
0
0
0
0
31
-42
-27
9
0
0
0
0
21
41
-17
-17
0
0
0
0
34
22
26
4
0
0
0
0
27
31
7
-4
0
0
0
0
-1
1
-13
7
0
0
0
0
19
15
21
-4
0
0
0
0
5
7
19
8
0
0
0
0
20
5
1
-46
0
0
0
0
13
33
-19
-4
0
0
0
0
-13
3
-31
30
0
0
0
0
-8
5
-53
-31
0
0
0
0
-14
-3
-12
1
0
0
0
0
50
4
10
9
0
0
0
0
55
23
-4
54
0
0
0
0
-32
2
18
5
0
0
0
0
3
-41
23
-23
0
0
0
0
3
-3
19
13
0
0
0
0
-12
3
19
27
0
0
0
0
-25
-17
32
4
0
0
0
0
-14
-7
-4
-5
0
0
0
0
-39
6
5
13
0
0
0
0
-26
-4
8
34
0
0
0
0
5
25
14
-30
0
0
0
0
42
-1
-8
-30
0
0
0
0
3
5
-1
-8
0
0
0
0
19
-14
19
20
0
0
0
0
-13
-17
-9
1
0
0
0
0
33
6
-5
-9
0
0
0
0
30
1
0
-14
0
0
0
0
50
-13
44
-12
0
0
0
0
34
-8
-25
31
0
0
0
0
8
14
-1
16
0
0
0
0
-36
-43
24
-3
0
0
0
0
39
23
21
26
0
0
0
0
41
-12
26
-13
0
0
0
0
3
13
-6
-8
0
0
0
0
-1
28
20
-10
0
0
0
0
4
-13
-5
9
0
0
0
0
-10
-23
-13
23
0
0
0
0
0
5
-1
2
0
0
0
0
10
10
3
-16
0
0
0
0
16
-5
-58
7
0
0
0
0
-1
29
17
-6
0
0
0
0
-5
-25
14
-17
0
0
0
0
-9
14
-1
4
0
0
0
0
13
-80
-4
-49
0
0
0
0
6
-5
-11
11
0
0
0
0
-8
4
-16
7
0
0
0
0
13
-5
12
-7
0
0
0
0
-5
-2
-15
-14
0
0
0
0
-3
-4
6
-16
0
0
0
0
21
-15
-3
8
0
0
0
0
-28
0
2
1
0
0
0
0
-17
-10
31
13
0
0
0
0
13
44
-17
-9
0
0
0
0
-24
-5
-7
-7
0
0
0
0
0
2
0
-1
0
0
0
0
23
-8
20
-4
0
0
0
0
3
-8
12
-34
0
0
0
0
8
-8
2
5
0
0
0
0
-7
7
1
1
0
0
0
0
11
-5
2
46
0
0
0
0
-16
-15
21
-30
0
0
0
0
18
22
7
6
0
0
0
0
13
0
22
-40
0
0
0
0
17
-8
-6
-2
0
0
0
0
26
-22
23
1
0
0
0
0
-54
-22
29
32
0
0
0
0
-71
93
29
8
0
0
0
0
1
0
-25
13
0
0
0
0
-10
-25
0
0
0
0
0
0
23
13
10
6
0
0
0
0
-4
-72
10
9
0
0
0
0
25
-2
-8
5
0
0
0
0
-1
-27
1
8
0
0
0
0
-13
-35
-40
16
0
0
0
0
12
5
7
-42
0
0
0
0
-6
9
-6
-12
0
0
0
0
-17
4
-1
-12
0
0
0
0
-7
-77
-31
-14
0
0
0
0
-35
-20
7
28
0
0
0
0
-13
27
-31
-45
0
0
0
0
-18
-5
8
-7
0
0
0
0
36
-31
-15
-11
0
0
0
0
-31
-39
-6
4
0
0
0
0
21
-10
-5
-17
0
0
0
0
15
6
4
-7
0
0
0
0
46
48
20
-20
0
0
0
0
-39
-18
-9
-8
0
0
0
0
1
20
-28
5
0
0
0
0
-2
4
-17
-31
0
0
0
0
-24
-31
-51
-7
0
0
0
0
15
2
-15
-17
0
0
0
0
24
8
-30
85
0
0
0
0
-1
28
-26
-31
0
0
0
0
-22
14
-51
-18
0
0
0
0
38
-47
13
22
0
0
0
0
6
29
-7
-5
0
0
0
0
44
5
-25
-19
0
0
0
0
28
41
-4
0
0
0
0
0
-17
-4
18
4
0
0
0
0
16
12
-32
11
0
0
0
0
0
-1
-7
5
0
0
0
0
66
8
-20
-57
0
0
0
0
-23
6
-31
-41
0
0
0
0
14
-6
-15
-2
0
0
0
0
20
13
-13
-13
0
0
0
0
15
2
-13
32
0
0
0
0
42
15
10
-4
0
0
0
0
-5
-36
12
-1
0
0
0
0
13
-30
-34
-1
0
0
0
0
-7
-9
7
-6
0
0
0
0
19
22
-66
10
0
0
0
0
26
-4
2
-58
0
0
0
0
29
16
-10
-3
0
0
0
0
53
6
-49
-17
0
0
0
0
1
-74
39
22
0
0
0
0
45
19
22
8
0
0
0
0
19
-8
-13
-9
0
0
0
0
17
-36
-34
-53
0
0
0
0
57
41
-23
-30
0
0
0
0
31
-9
27
-31
0
0
0
0
-14
11
4
-12
0
0
0
0
49
18
12
-8
0
0
0
0
-47
10
-35
-5
0
0
0
0
42
51
-25
5
0
0
0
0
-13
1
-5
-22
0
0
0
0
4
6
11
-24
0
0
0
0
34
-12
-43
3
0
0
0
0
0
0
7
22
5
0
0
4
69
25
0
0
24
-8
29
0
0
8
10
0
0
0
-13
0
-4
0
0
58
43
-22
0
0
-44
14
5
0
0
9
-5
41
0
0
21
71
5
0
0
-14
-1
-6
0
0
21
15
6
0
0
16
56
-5
0
0
5
-25
5
0
0
3
-8
4
0
0
12
74
-7
0
0
46
-50
-16
0
0
1
-3
14
0
0
15
13
-15
0
0
-5
2
0
0
0
-1
-14
0
0
0
5
21
-4
0
0
-7
0
-12
0
0
1
2
-3
0
0
-5
-13
4
0
0
7
-6
19
0
0
0
2
7
0
0
1
-15
8
0
0
35
-10
0
0
0
11
-24
-8
0
0
3
51
3
0
0
-9
-21
0
-13
7
20
0
-30
0
0
12
-8
26
0
0
-3
14
-8
0
0
41
9
-4
0
0
-27
28
-67
0
0
-7
43
37
0
0
15
51
35
0
0
-12
-13
-10
0
0
16
-37
-28
0
0
31
-50
14
0
0
-23
45
3
0
0
25
7
0
0
0
34
-5
19
0
0
13
-2
1
0
0
2
-2
-5
0
0
-27
-1
1
0
0
-25
-11
-10
0
0
-8
21
-5
0
0
-1
19
-1
0
0
0
-8
1
0
0
-17
-8
6
0
0
1
17
6
0
0
41
-57
-1
0
0
3
-5
2
0
0
-9
6
1
0
0
0
26
5
0
0
-7
8
15
0
0
0
0
-1
0
0
1
-9
1
0
0
13
26
1
0
0
0
24
-24
0
0
4
8
-9
-6
1
-8
18
13
0
0
-36
50
8
0
0
-10
-38
19
0
0
19
51
-16
0
0
25
-41
-35
0
0
13
-5
16
0
0
-10
-1
20
0
0
27
12
3
0
0
23
-8
9
0
0
-20
41
-2
0
0
16
6
1
0
0
-4
8
-3
0
0
-5
0
2
0
0
0
9
0
0
0
-2
5
0
0
0
-1
2
0
0
0
-16
-10
4
0
0
0
24
1
0
0
0
0
0
0
0
3
-8
0
0
0
0
2
0
0
0
18
-5
0
0
0
-3
-6
0
0
0
0
-4
1
0
0
5
-3
0
0
0
0
46
4
0
0
1
-17
0
0
0
0
15
4
0
0
3
7
0
0
0
2
-3
-1
0
0
-1
-1
0
0
0
56
3
0
29
7
-34
-16
0
0
0
-28
23
19
0
0
9
-39
10
0
0
51
27
29
0
0
13
-15
7
0
0
28
3
-20
0
0
55
2
-29
0
0
24
-2
5
0
0
9
-4
3
0
0
-22
2
-1
0
0
21
8
2
0
0
-8
6
0
0
0
5
4
-4
0
0
0
1
0
0
0
0
-5
0
0
0
2
-12
0
0
0
-20
5
-5
0
0
0
-8
2
0
0
4
-6
3
0
0
-2
1
-3
0
0
-8
2
0
0
0
1
-10
-2
0
0
0
20
0
0
0
-3
-5
1
0
0
4
1
2
0
0
0
-7
1
0
0
0
-4
0
0
0
0
2
0
0
0
5
-17
1
0
0
6
-3
0
0
0
-5
12
-1
0
0
3
0
-2
21
-5
-41
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
6
19
0
0
53
-18
13
0
0
25
7
-25
0
0
15
27
-10
0
0
-4
0
0
0
0
-15
-10
1
0
0
3
1
0
0
0
8
10
-1
0
0
7
-9
-1
0
0
10
-3
2
0
0
9
4
3
0
0
-35
3
7
0
0
2
3
1
0
0
0
0
-1
0
0
-2
1
0
0
0
6
4
-2
0
0
14
28
-8
0
0
-5
-2
5
0
0
1
-1
0
0
0
6
0
0
0
0
-8
-6
0
0
0
-2
0
0
0
0
0
1
2
0
0
9
8
0
0
0
0
16
0
0
0
0
-4
1
0
0
0
-1
0
0
0
-5
0
0
0
0
3
-9
1
0
0
0
0
7
0
0
2
-4
0
28
-8
12
3
-4
0
0
1
-18
-2
0
0
23
-26
5
0
0
-20
4
-2
0
0
-1
5
0
0
0
8
3
0
0
0
33
8
5
0
0
5
1
0
0
0
-25
-6
-2
0
0
23
17
-3
0
0
5
13
16
0
0
3
-4
0
0
0
-10
8
7
0
0
-2
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
3
1
-3
0
0
0
9
-1
0
0
-5
20
-4
0
0
0
2
1
0
0
-2
1
-3
0
0
2
4
-2
0
0
1
7
0
0
0
-2
1
0
0
0
-6
12
0
0
0
0
-10
-2
0
0
2
3
-2
0
0
0
-1
0
0
0
1
0
2
0
0
-2
-25
-1
0
0
5
3
2
0
0
-2
-3
1
24
-27
13
9
0
0
0
-1
-25
0
0
0
15
23
0
0
0
-16
-23
1
0
0
24
3
0
0
0
-2
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
5
0
0
0
0
8
-2
-1
0
0
34
0
3
0
0
-15
1
-1
0
0
8
6
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
12
-5
0
0
0
1
4
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
-27
58
3
0
0
0
0
-2
2
-2
0
0
-2
-1
3
0
0
-8
-4
4
0
0
5
-2
-1
0
0
1
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
-1
-1
0
0
0
15
0
-4
0
0
8
-8
-1
0
0
-15
-6
0
0
0
10
-7
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
6
-1
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
2
0
9
-18
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
-19
0
0
23
-5
-7
0
0
1
-6
-4
0
0
-5
1
-14
0
0
-30
-30
2
0
0
-9
0
2
0
0
0
0
0
0
0
25
13
4
0
0
24
-8
0
0
0
6
0
0
0
0
0
5
0
0
0
6
3
0
0
0
-6
12
-1
0
0
5
2
0
0
0
17
-15
2
0
0
16
-6
3
0
0
1
2
-6
0
0
8
1
12
0
0
-8
30
23
0
0
15
-2
2
0
0
-60
48
-6
0
0
-70
20
6
0
0
19
-25
-22
0
0
-101
18
-21
0
0
81
-5
-21
0
0
-86
-66
69
0
0
-39
-20
22
0
0
35
-41
34
0
0
68
3
-59
0
0
-41
15
12
0
0
-27
57
10
2
-1
30
-92
2
0
0
7
23
22
0
0
17
9
22
0
0
-1
16
-3
0
0
-18
-1
-4
0
0
10
-7
1
0
0
5
-3
8
0
0
-6
-1
0
0
0
20
8
-8
0
0
-2
-10
0
0
0
-4
5
0
0
0
3
0
-2
0
0
2
0
-2
0
0
6
-3
0
0
0
9
-18
0
0
0
16
3
0
0
0
-32
12
1
0
0
-5
-13
-27
0
0
10
-10
-2
0
0
10
14
-13
0
0
6
-7
1
0
0
51
-29
-4
0
0
22
6
-16
0
0
-2
13
-39
0
0
-33
-1
13
0
0
24
-36
92
0
0
48
27
24
0
0
13
-22
24
0
0
7
1
-11
0
0
-25
-3
13
0
0
-31
52
-45
0
0
-30
-25
-24
-11
-2
-39
-53
6
0
0
-4
23
0
0
0
-13
-7
0
0
0
-14
12
0
0
0
27
-2
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
-4
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
1
0
0
0
2
8
7
0
0
35
13
68
0
0
9
-5
-67
0
0
0
15
50
0
0
30
-27
8
0
0
19
-36
44
0
0
-21
35
-2
0
0
-46
46
-28
0
0
23
-47
16
0
0
-67
-2
16
0
0
-50
-32
74
0
0
-71
-24
-16
0
0
-72
1
-24
0
0
13
-14
-5
0
0
-69
-30
-8
2
10
50
43
-94
0
0
-8
-9
3
0
0
-33
5
6
0
0
5
1
0
0
0
10
-2
-3
0
0
-1
1
0
0
0
1
4
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
19
-8
0
0
0
4
-39
16
0
0
-1
86
-18
0
0
-21
-78
53
0
0
-2
-28
-76
0
0
-104
42
18
0
0
37
9
4
0
0
-34
-13
5
0
0
13
16
60
0
0
9
-49
-76
0
0
46
-31
8
0
0
40
50
-88
0
0
45
27
-12
0
0
-1
23
-2
0
0
-2
8
5
0
0
9
4
-11
13
-7
-5
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
2
0
0
-14
-8
9
0
0
24
-6
2
0
0
7
-6
-1
0
0
17
6
0
0
0
3
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
-12
-6
1
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
3
0
0
0
24
-5
-1
0
0
75
-72
26
0
0
6
-26
16
0
0
-15
21
-22
0
0
-72
70
0
0
0
-17
-18
16
0
0
15
-5
-73
0
0
35
4
51
0
0
1
-1
-2
0
0
-3
-3
-6
0
0
17
4
2
0
0
5
10
11
0
0
-25
-45
-15
0
0
5
16
-19
0
0
-59
-10
39
5
2
-19
-11
-37
0
0
-2
4
2
0
0
23
-6
-8
0
0
1
-6
0
0
0
-34
22
0
0
0
9
0
0
0
0
8
1
0
0
0
0
0
0
0
0
-4
1
0
0
0
2
-4
0
0
0
-9
-2
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
9
-5
0
0
0
-18
-5
-46
0
0
-27
14
-13
0
0
-33
0
25
0
0
8
-54
25
0
0
2
33
0
0
0
0
45
-20
0
0
0
3
3
0
0
-42
-5
-9
0
0
-10
24
7
0
0
-17
25
-29
0
0
17
32
4
0
0
-50
-26
30
0
0
3
-21
-5
0
0
-17
-51
-3
0
0
-9
-6
25
-8
-19
-128
30
2
0
0
9
-2
0
0
0
-2
6
0
0
0
2
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-22
38
-7
0
0
-21
28
1
0
0
60
5
-21
0
0
1
-2
-4
0
0
7
-8
2
0
0
-24
-6
-3
0
0
6
1
0
0
0
-44
4
4
0
0
-23
26
19
0
0
57
-23
13
0
0
-67
-35
24
0
0
1
6
-6
0
0
14
47
5
0
0
5
-24
22
0
0
1
-6
-76
26
38
-11
16
-49
0
0
-1
3
0
0
0
1
4
0
0
0
1
0
0
0
0
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-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
-8
-6
15
0
0
2
-9
0
0
0
-22
6
10
0
0
-2
24
5
0
0
0
1
-3
0
0
0
-8
1
0
0
-2
0
0
0
0
-6
-1
1
0
0
11
5
-33
0
0
-26
-10
41
0
0
-78
47
-20
0
0
-5
-29
20
0
0
-15
-12
57
0
0
37
15
-20
0
0
6
23
22
-23
-23
-28
-43
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-22
13
0
0
4
93
5
0
0
28
4
-3
0
0
9
-50
25
0
0
20
-8
-1
0
0
47
0
5
0
0
19
0
2
0
0
-5
22
40
0
0
7
18
-1
0
0
-9
-20
14
0
0
4
15
2
0
0
-11
15
19
0
0
1
-23
14
0
0
-10
-6
8
0
0
-19
7
-24
0
0
9
19
-41
0
0
5
22
8
0
0
-2
27
3
0
0
7
0
-1
0
0
22
-10
2
0
0
-25
37
-30
0
0
25
-5
-22
0
0
8
-7
0
0
0
8
8
3
0
0
22
-17
42
0
0
-8
25
12
0
0
-31
6
4
0
0
32
-6
-7
0
0
-31
-21
-12
0
0
5
8
12
0
0
3
14
-23
-10
6
-8
25
8
0
0
4
31
30
0
0
-10
16
17
0
0
20
18
34
0
0
1
71
-116
0
0
-1
-30
9
0
0
39
49
19
0
0
-5
-1
8
0
0
36
5
-28
0
0
-20
-40
-5
0
0
82
18
6
0
0
7
30
9
0
0
2
2
-8
0
0
-5
0
2
0
0
7
-3
4
0
0
0
-15
5
0
0
-62
-33
-2
0
0
23
74
10
0
0
-24
-8
-4
0
0
-10
4
-2
0
0
-33
8
-1
0
0
1
-18
1
0
0
2
-23
-4
0
0
-1
-14
-5
0
0
16
-28
5
0
0
33
59
6
0
0
4
-25
16
0
0
-8
21
-9
0
0
4
-1
0
0
0
5
14
-12
0
0
-42
7
3
0
0
14
12
29
-7
2
-37
-43
-25
0
0
-24
21
41
0
0
22
-5
13
0
0
22
51
5
0
0
13
20
-24
0
0
12
0
-4
0
0
25
5
-3
0
0
2
-2
0
0
0
43
-13
6
0
0
0
6
0
0
0
4
8
7
0
0
-6
4
0
0
0
-12
4
-5
0
0
1
-2
-3
0
0
0
3
-5
0
0
1
16
0
0
0
21
-7
2
0
0
13
8
1
0
0
-2
-5
3
0
0
0
1
0
0
0
-3
-2
0
0
0
1
-2
-1
0
0
-2
7
0
0
0
0
-1
1
0
0
-2
1
0
0
0
0
0
0
0
0
8
0
2
0
0
0
-1
-3
0
0
4
-2
1
0
0
5
-3
6
0
0
16
8
1
0
0
6
6
-1
17
11
-57
-31
1
0
0
-39
42
14
0
0
-15
-23
47
0
0
83
9
-15
0
0
-51
4
4
0
0
4
13
5
0
0
-19
0
-15
0
0
-8
15
1
0
0
-14
49
-8
0
0
8
-7
0
0
0
9
12
-2
0
0
4
-25
0
0
0
5
32
-2
0
0
0
4
2
0
0
0
0
-5
0
0
-1
5
2
0
0
35
-8
-5
0
0
13
-21
0
0
0
-16
5
-4
0
0
0
-1
4
0
0
-25
-2
-3
0
0
2
8
1
0
0
-1
-2
0
0
0
0
-8
0
0
0
-14
-8
1
0
0
-3
30
0
0
0
-1
-5
0
0
0
0
0
-2
0
0
12
-17
3
0
0
-6
-14
4
0
0
-2
-5
-12
0
0
-2
-19
0
-13
-4
-32
19
0
0
0
-34
47
-13
0
0
-22
18
-49
0
0
59
-13
0
0
0
-31
34
10
0
0
-1
4
0
0
0
1
0
0
0
0
1
2
0
0
0
5
18
2
0
0
1
1
0
0
0
4
2
4
0
0
-2
3
1
0
0
-3
5
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-2
3
0
0
0
-14
-3
0
0
0
-8
-7
0
0
0
8
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-5
12
2
0
0
0
-5
2
0
0
1
-1
0
0
0
-5
0
0
0
0
-12
2
0
0
0
0
-1
0
0
0
0
0
0
-12
12
18
-3
0
0
0
34
-1
20
0
0
39
-54
4
0
0
-28
50
15
0
0
26
50
-4
0
0
6
0
0
0
0
5
9
0
0
0
-4
1
0
0
0
6
-16
0
0
0
6
8
0
0
0
9
6
0
0
0
3
0
-1
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
16
24
0
0
0
-19
1
-1
0
0
-3
-2
0
0
0
0
2
-4
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
24
-2
0
0
20
-4
-1
0
0
-1
0
1
0
0
0
0
0
0
0
6
4
0
0
0
-1
7
0
0
0
0
-4
0
14
10
-5
1
0
0
0
26
24
3
0
0
20
-45
-13
0
0
-23
7
0
0
0
2
-3
-10
0
0
5
-1
0
0
0
-8
0
0
0
0
0
1
0
0
0
4
8
-1
0
0
1
0
0
0
0
-1
2
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
2
0
0
0
2
0
0
0
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
16
-14
-3
8
0
0
0
32
-69
15
0
0
21
62
-16
0
0
-5
-4
2
0
0
28
6
2
0
0
-8
1
0
0
0
-1
1
-3
0
0
0
0
0
0
0
-4
9
1
0
0
-9
25
0
0
0
3
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
2
0
0
0
2
0
0
0
0
0
-1
0
0
0
-6
-1
0
0
0
0
14
-1
0
0
9
5
-3
0
0
-2
-2
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-9
0
0
0
0
-2
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
0
-3
-1
0
0
0
-21
42
9
0
0
-9
56
-6
0
0
-23
3
-10
0
0
79
8
-4
0
0
-27
-8
0
0
0
1
-7
0
0
0
-5
-1
0
0
0
33
-16
0
0
0
2
-3
-2
0
0
2
2
3
0
0
-4
-7
-1
0
0
4
-25
4
0
0
2
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
3
2
0
0
0
-6
2
0
0
0
8
0
0
0
0
2
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
1
-1
0
0
0
-3
1
-3
0
0
-3
14
1
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
1
0
0
-1
0
0
23
-7
25
0
-1
0
0
0
69
13
0
0
-18
-3
-7
0
0
-3
-5
2
0
0
-32
-19
-2
0
0
3
7
0
0
0
12
0
0
0
0
2
1
0
0
0
32
-16
0
0
0
29
-1
0
0
0
-5
1
-1
0
0
-2
-2
0
0
0
22
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
-8
3
0
0
0
-3
5
-2
0
0
-7
8
-2
0
0
2
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
3
0
0
0
0
1
0
0
0
3
16
-1
0
0
-8
2
0
0
0
-5
1
0
0
0
0
1
0
0
0
1
0
0
0
0
-3
5
0
0
0
-1
-1
-1
0
0
0
3
0
61
-29
25
0
0
0
0
22
34
2
0
0
18
-9
-3
0
0
-35
-4
-1
0
0
4
4
-3
0
0
-14
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
1
5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
31
1
0
0
0
0
-5
-10
2
0
0
8
-7
-25
0
0
10
-24
0
0
0
14
5
2
0
0
0
3
0
0
0
3
1
0
0
0
0
1
0
0
0
2
-3
0
0
0
0
-2
0
0
0
1
0
0
0
0
2
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
-1
0
-1
8
-2
0
0
0
0
-7
25
4
0
0
43
8
15
0
0
15
22
1
0
0
2
-13
-2
0
0
0
2
0
0
0
-1
0
0
0
0
1
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-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
-3
0
0
0
1
-4
0
0
0
-1
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
39
1
0
0
0
0
3
4
-3
0
0
-10
-5
9
0
0
0
4
-1
0
0
-33
3
0
0
0
-2
1
0
0
0
-1
0
0
0
0
0
-1
0
0
0
4
-4
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
12
0
0
0
0
0
-7
2
-8
0
0
43
0
16
0
0
4
0
-1
0
0
10
5
0
0
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
-5
0
0
0
0
-16
-1
-13
0
0
48
-3
-8
0
0
1
-18
-3
0
0
10
0
8
0
0
0
-2
0
0
0
2
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
4
-10
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
0
0
0
0
0
0
-10
29
1
2
0
0
0
14
-20
1
0
0
0
57
42
0
0
19
-12
-1
0
0
-13
20
5
0
0
2
1
0
0
0
0
-13
-5
0
0
1
0
0
0
0
25
-9
0
0
0
1
3
0
0
0
-19
2
0
0
0
1
4
0
0
0
-10
0
0
0
0
8
8
0
0
0
4
-3
0
0
0
8
4
2
0
0
-13
-7
0
0
0
7
1
8
0
0
7
-4
10
0
0
-5
-25
41
0
0
-25
0
-2
0
0
-8
-13
6
0
0
-33
-23
-5
0
0
-37
9
78
0
0
-49
0
-44
0
0
-66
31
6
0
0
-57
-27
-5
0
0
12
-33
-20
0
0
-12
34
-106
0
0
-47
-24
-35
0
0
23
-21
-56
0
0
-7
-69
-15
5
0
-63
-85
-58
0
0
-21
59
-14
0
0
53
-4
-31
0
0
7
-6
-2
0
0
42
-12
1
0
0
8
3
0
0
0
2
-4
2
0
0
0
0
0
0
0
-25
-2
0
0
0
-8
6
0
0
0
0
-3
0
0
0
-5
2
0
0
0
0
5
1
0
0
-9
-2
0
0
0
0
-16
0
0
0
0
-6
0
0
0
16
12
1
0
0
-5
-13
2
0
0
8
7
-17
0
0
3
-50
-13
0
0
22
-30
14
0
0
-5
1
-39
0
0
-20
-17
43
0
0
-61
10
-15
0
0
-77
-17
-54
0
0
56
-9
-77
0
0
-13
12
53
0
0
-54
-8
3
0
0
44
-59
11
0
0
-35
47
-32
0
0
-31
60
18
0
0
-110
31
-36
-10
-4
18
-29
-22
0
0
28
3
-5
0
0
-1
16
10
0
0
4
0
0
0
0
-4
-2
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
5
0
0
0
-3
-3
-14
0
0
26
20
40
0
0
32
-9
-85
0
0
44
-48
90
0
0
-84
10
27
0
0
0
49
20
0
0
8
-5
-23
0
0
-86
14
50
0
0
3
-98
25
0
0
14
-61
39
0
0
-25
24
3
0
0
-15
-13
22
0
0
1
28
-8
0
0
-9
10
-12
0
0
9
66
-33
-16
0
35
-33
5
0
0
-15
-13
0
0
0
42
4
4
0
0
3
-2
-1
0
0
-8
10
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-1
0
0
1
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
2
0
0
0
-2
5
-17
0
0
-18
60
-11
0
0
-7
22
-26
0
0
-31
-26
-4
0
0
-2
-30
-18
0
0
-16
-23
8
0
0
9
-5
-24
0
0
25
-41
43
0
0
-51
-65
12
0
0
24
-15
-8
0
0
-11
7
18
0
0
-14
27
0
0
0
8
-20
1
0
0
-2
12
8
0
0
6
-23
31
-19
-4
-34
-27
-2
0
0
14
18
0
0
0
5
-9
7
0
0
-7
-6
0
0
0
3
-5
-1
0
0
-1
0
-1
0
0
2
0
4
0
0
0
0
0
0
0
-3
4
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
38
7
0
0
15
69
51
0
0
-31
52
3
0
0
-21
11
-25
0
0
13
-74
-2
0
0
3
-5
-14
0
0
-7
-2
-64
0
0
0
78
25
0
0
39
-3
9
0
0
-17
9
0
0
0
9
-4
12
0
0
14
-29
-7
0
0
0
19
8
0
0
0
10
3
0
0
9
1
12
13
-24
8
5
4
0
0
-10
-16
0
0
0
2
-24
1
0
0
-2
1
0
0
0
-23
0
2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
13
-1
-87
0
0
-58
-12
65
0
0
7
-41
13
0
0
6
-23
8
0
0
31
-13
5
0
0
10
19
12
0
0
0
3
0
0
0
5
32
-7
0
0
21
50
9
0
0
2
0
0
0
0
-2
42
7
0
0
-2
1
0
0
0
0
6
0
0
0
0
4
0
0
0
5
8
0
4
-12
41
12
0
0
0
6
6
0
0
0
-19
-2
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-1
-139
-3
0
0
31
80
-48
0
0
-46
47
-13
0
0
41
-28
-2
0
0
-9
15
4
0
0
0
12
4
0
0
0
-10
0
0
0
-1
16
1
0
0
-34
19
20
0
0
0
0
0
0
0
0
15
-3
0
0
1
-3
0
0
0
0
-8
-4
0
0
0
1
0
0
0
0
7
0
40
15
7
-14
0
0
0
5
-13
0
0
0
0
1
0
0
0
0
4
1
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-25
15
0
0
-1
-64
-72
0
0
11
27
-34
0
0
3
-16
7
0
0
2
9
25
0
0
-4
5
-10
0
0
4
2
0
0
0
8
-24
0
0
0
-18
34
2
0
0
0
-1
1
0
0
7
16
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
-2
-1
0
0
0
9
1
8
-5
-1
4
0
0
0
14
-43
4
0
0
-39
-9
16
0
0
2
-1
0
0
0
-22
5
0
0
0
-4
-4
0
0
0
-2
5
3
0
0
0
0
0
0
0
-14
2
0
0
0
9
-2
0
0
0
-2
3
0
0
0
3
1
0
0
0
2
0
0
0
0
0
1
0
0
0
4
0
0
0
0
-2
-2
0
0
0
24
1
0
0
0
15
-6
-47
0
0
-21
5
48
0
0
-31
-12
91
0
0
91
-48
-8
0
0
-21
58
3
0
0
-14
-11
3
0
0
83
5
-25
0
0
31
-21
-12
0
0
1
-1
-1
0
0
-2
-3
0
0
0
-36
13
18
0
0
-49
3
-1
0
0
-14
-39
3
0
0
0
59
24
0
0
-92
38
-53
0
9
-58
-3
-36
0
0
19
9
-13
0
0
23
2
-1
0
0
5
1
1
0
0
25
-5
0
0
0
29
-14
0
0
0
-7
0
-3
0
0
-6
0
0
0
0
-3
1
0
0
0
-1
-3
1
0
0
-3
-1
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
-6
-2
0
0
-48
5
-29
0
0
-58
62
42
0
0
76
3
30
0
0
-57
21
-7
0
0
-1
8
-7
0
0
19
-5
4
0
0
12
1
0
0
0
-21
-6
3
0
0
-3
4
-2
0
0
-7
-17
-1
0
0
52
-6
-15
0
0
38
57
-20
0
0
46
13
40
0
0
6
-37
-42
0
0
43
-7
62
-12
3
-60
157
47
0
0
-3
10
0
0
0
4
-6
0
0
0
-1
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-38
-72
13
0
0
22
-23
9
0
0
5
2
-31
0
0
35
44
1
0
0
13
-31
3
0
0
5
-7
0
0
0
0
-8
0
0
0
5
8
10
0
0
-13
3
27
0
0
-9
64
70
0
0
73
5
-28
0
0
8
4
-7
0
0
25
-83
-47
0
0
-32
0
6
0
0
-4
-35
6
-3
6
41
5
-37
0
0
3
-27
-4
0
0
-18
-5
-1
0
0
5
2
-1
0
0
7
1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-62
13
-59
0
0
27
6
12
0
0
6
-3
13
0
0
-25
-5
0
0
0
7
7
0
0
0
0
0
0
0
0
0
6
0
0
0
0
1
0
0
0
21
42
-88
0
0
19
65
50
0
0
-48
23
20
0
0
7
-20
-25
0
0
-60
12
46
0
0
29
-14
12
0
0
0
31
-31
10
9
32
-13
-8
0
0
18
13
2
0
0
-6
1
-2
0
0
-16
3
1
0
0
-8
-10
-5
0
0
8
1
0
0
0
-5
0
2
0
0
0
0
0
0
0
19
-1
0
0
0
9
3
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
-64
24
5
0
0
-49
5
-66
0
0
-3
-14
-26
0
0
56
-15
-39
0
0
-3
6
5
0
0
0
7
2
0
0
0
14
1
0
0
0
-7
1
0
0
-34
35
-5
0
0
4
-3
-64
0
0
-19
12
-46
0
0
24
-54
50
0
0
8
0
-5
0
0
13
3
0
0
0
-25
-11
-14
36
-18
14
-24
32
0
0
-8
2
3
0
0
20
-12
-6
0
0
-3
12
2
0
0
-2
10
-9
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
-4
0
0
0
0
2
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
15
18
-18
0
0
-43
-4
-5
0
0
0
-8
-10
0
0
1
-17
2
0
0
-5
-2
8
0
0
0
1
0
0
0
0
-1
-1
0
0
0
-4
0
0
0
-49
72
-20
0
0
2
45
-32
0
0
-3
-66
42
0
0
13
-31
-15
0
0
14
20
-8
0
0
3
-3
3
0
0
0
1
5
23
16
4
-3
2
0
0
13
5
-7
0
0
8
10
-2
0
0
-2
0
-1
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-67
-4
-18
0
0
71
-50
31
0
0
23
1
-13
0
0
-39
9
-2
0
0
5
-4
4
0
0
0
-3
1
0
0
0
3
0
0
0
4
-1
0
0
0
-3
-26
-65
0
0
62
27
-18
0
0
2
54
-31
0
0
-23
-42
15
0
0
-19
2
14
0
0
42
-2
-4
0
0
0
31
-7
52
6
-5
20
14
0
0
-4
6
7
0
0
-30
4
6
0
0
14
-8
-3
0
0
-5
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
31
5
5
0
0
67
-70
30
0
0
-42
-16
35
0
0
30
39
3
0
0
0
-23
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
23
-19
-37
0
0
-27
50
4
0
0
59
-81
8
0
0
13
0
9
0
0
15
15
6
0
0
0
0
1
0
0
0
8
-3
-14
32
1
-8
-1
0
0
4
52
9
0
0
-6
-6
26
0
0
14
51
17
0
0
29
15
-9
0
0
8
-5
1
0
0
53
17
-5
0
0
-31
15
3
0
0
-7
25
19
0
0
3
-1
1
0
0
3
23
5
0
0
3
-5
0
0
0
5
41
0
0
0
1
-27
5
0
0
-9
-17
-16
0
0
-7
20
-4
0
0
25
11
5
0
0
15
-1
10
0
0
-21
-10
6
0
0
0
7
-4
0
0
-23
-1
1
0
0
-20
21
13
0
0
27
12
-7
0
0
-3
-2
2
0
0
-5
-2
4
0
0
4
-20
-3
0
0
-2
7
8
0
0
-9
34
-13
0
0
19
21
14
0
0
23
-42
6
0
0
2
-5
-19
0
0
5
10
5
9
11
-23
-31
2
0
0
15
-12
-27
0
0
-2
9
-12
0
0
-14
1
54
0
0
-9
-20
29
0
0
-7
-19
13
0
0
31
-7
-21
0
0
5
-33
-5
0
0
27
-6
5
0
0
20
5
8
0
0
4
30
5
0
0
-26
-24
3
0
0
-49
34
15
0
0
-31
31
0
0
0
15
8
5
0
0
-33
8
9
0
0
-19
-1
-8
0
0
-31
69
-5
0
0
7
22
-30
0
0
2
6
1
0
0
4
-1
-1
0
0
-12
-7
-8
0
0
-3
-49
0
0
0
1
-16
1
0
0
-18
-14
6
0
0
39
5
6
0
0
15
25
7
0
0
-10
-16
-8
0
0
-3
-5
-8
0
0
-34
-3
6
0
0
5
30
6
0
0
40
31
-3
3
4
-14
-3
-6
0
0
-30
16
-10
0
0
22
-41
-18
0
0
21
13
-8
0
0
24
68
4
0
0
-7
-14
-2
0
0
21
2
-8
0
0
8
-5
1
0
0
-15
-18
-3
0
0
-5
-22
-1
0
0
-15
-37
0
0
0
-8
42
0
0
0
17
7
-2
0
0
0
4
0
0
0
0
-2
0
0
0
2
2
-8
0
0
-22
-10
-3
0
0
4
13
0
0
0
3
1
0
0
0
2
-5
0
0
0
-3
0
0
0
0
-9
1
-1
0
0
-2
-1
0
0
0
0
0
3
0
0
4
-2
0
0
0
3
41
8
0
0
20
-16
2
0
0
0
1
1
0
0
-6
-39
0
0
0
1
-5
0
0
0
1
33
1
0
0
5
10
-3
5
10
13
-25
0
0
0
-2
-7
24
0
0
-6
55
41
0
0
69
-33
-17
0
0
50
37
-28
0
0
48
21
1
0
0
-23
71
10
0
0
-7
14
0
0
0
53
-22
4
0
0
-8
23
-5
0
0
46
16
0
0
0
12
0
-6
0
0
-6
-13
-4
0
0
1
-23
1
0
0
0
-2
0
0
0
-19
-3
0
0
0
52
-6
0
0
0
-6
0
1
0
0
-12
7
0
0
0
4
-2
0
0
0
8
-4
0
0
0
27
1
2
0
0
-5
0
0
0
0
4
-20
0
0
0
5
-4
0
0
0
25
-29
-1
0
0
5
-6
1
0
0
2
-5
-1
0
0
7
-7
1
0
0
16
5
0
0
0
-9
1
0
0
0
-13
-49
3
25
0
-63
10
2
0
0
7
20
19
0
0
-29
1
21
0
0
49
-8
8
0
0
-9
5
-32
0
0
0
5
0
0
0
17
-1
10
0
0
-1
0
0
0
0
5
13
0
0
0
5
0
0
0
0
7
1
-4
0
0
-5
0
0
0
0
3
0
3
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
-4
1
0
0
0
0
3
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
1
0
0
0
7
-1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
-9
11
2
0
0
0
0
13
9
-5
0
0
4
-4
-4
0
0
-8
9
-20
0
0
-42
-8
-1
0
0
-4
1
0
0
0
5
1
3
0
0
1
-2
0
0
0
-4
-7
-2
0
0
10
5
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
7
0
0
0
0
9
1
0
0
0
1
0
2
0
0
0
1
0
0
0
1
5
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
-13
4
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
1
1
0
-13
18
-14
-5
0
0
0
-13
8
12
0
0
-5
9
13
0
0
-8
1
1
0
0
16
14
-29
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
0
0
0
-2
2
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
13
10
1
0
0
0
0
-38
-42
23
0
0
-38
49
16
0
0
-13
42
5
0
0
30
25
0
0
0
-15
-5
-1
0
0
5
2
2
0
0
0
3
0
0
0
39
0
-8
0
0
7
5
0
0
0
0
0
2
0
0
2
-9
0
0
0
4
0
0
0
0
0
3
0
0
0
0
1
0
0
0
2
0
0
0
0
-42
0
-1
0
0
6
-8
-2
0
0
-6
0
0
0
0
-3
-5
0
0
0
2
0
0
0
0
1
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
-8
0
0
0
-2
0
1
0
0
0
3
4
-10
0
-29
4
1
0
0
19
42
4
0
0
-37
21
8
0
0
12
20
0
0
0
-30
8
2
0
0
-4
0
0
0
0
7
-2
1
0
0
1
1
0
0
0
15
1
-1
0
0
22
1
0
0
0
4
0
0
0
0
3
0
0
0
0
7
-2
3
0
0
-1
0
0
0
0
0
2
0
0
0
0
1
0
0
0
13
0
0
0
0
-5
-2
1
0
0
8
0
-1
0
0
0
1
0
0
0
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
0
-4
5
0
0
0
7
2
0
0
0
1
3
0
0
0
-1
0
0
0
0
-1
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-1
0
-24
-21
-4
1
0
0
0
28
25
0
0
0
-9
9
17
0
0
14
0
2
0
0
-23
27
1
0
0
-4
-1
0
0
0
0
2
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-12
23
0
0
0
-9
2
0
0
0
-8
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
1
0
0
0
-12
1
0
0
0
0
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
8
0
0
0
-1
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-38
-38
34
7
0
0
0
-5
16
8
0
0
49
20
-8
0
0
0
-6
2
0
0
-12
-31
-7
0
0
8
-1
0
0
0
-2
0
0
0
0
1
0
0
0
0
18
2
0
0
0
0
0
-3
0
0
2
-1
0
0
0
0
1
0
0
0
2
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
-9
-21
-4
0
0
0
0
-2
24
1
0
0
11
-30
3
0
0
-10
8
16
0
0
0
-30
-34
0
0
-2
4
0
0
0
4
-1
0
0
0
0
1
0
0
0
-32
-12
0
0
0
19
-7
0
0
0
16
7
0
0
0
0
0
0
0
0
4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
0
0
0
4
-1
0
0
0
2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
-28
-33
4
-3
0
0
0
-39
-9
-2
0
0
3
-17
-1
0
0
5
20
0
0
0
-16
-5
0
0
0
-2
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
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
-1
1
0
0
0
4
0
0
0
0
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
-1
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
35
0
0
0
0
0
67
13
25
0
0
-41
13
8
0
0
15
-15
-6
0
0
42
6
3
0
0
-6
-4
0
0
0
7
-1
0
0
0
-3
0
0
0
0
-1
-1
0
0
0
-5
0
0
0
0
-1
1
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
5
5
-4
0
0
0
0
17
25
10
0
0
7
-9
-12
0
0
9
-12
0
0
0
15
-22
5
0
0
-7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-8
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
31
7
0
0
0
0
0
-19
36
-10
0
0
4
32
-2
0
0
9
17
8
0
0
47
-1
-1
0
0
16
-2
0
0
0
-1
-2
0
0
0
-1
0
0
0
0
0
1
0
0
0
5
15
0
0
0
-3
2
0
0
0
0
2
0
0
0
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
0
0
7
-29
0
0
0
3
3
-1
0
0
0
4
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
15
62
14
-4
0
0
0
-38
-6
-5
0
0
26
8
18
0
0
-3
-24
0
0
0
-5
3
-8
0
0
-9
-3
0
0
0
3
-1
6
0
0
0
0
0
0
0
29
0
-1
0
0
4
-7
0
0
0
10
6
-2
0
0
-1
5
1
0
0
0
0
0
0
0
2
4
0
0
0
1
-1
3
0
0
1
6
0
0
0
3
4
-2
0
0
0
3
6
0
0
7
-6
-11
0
0
-6
0
-4
0
0
5
-1
-1
0
0
-40
-16
57
0
0
-30
5
-12
0
0
-103
10
-26
0
0
-39
-5
-20
0
0
26
31
-62
0
0
-7
-68
52
0
0
-25
-34
-6
0
0
-47
6
3
0
0
-51
57
-83
0
0
-9
-15
-13
0
0
-11
-7
-39
-4
0
-68
-59
-10
0
0
-20
-15
25
0
0
32
-6
-7
0
0
3
-3
0
0
0
-20
23
0
0
0
7
6
0
0
0
-8
2
-3
0
0
-9
-1
0
0
0
5
22
1
0
0
6
-2
0
0
0
12
-6
0
0
0
1
0
0
0
0
5
-3
0
0
0
-10
0
0
0
0
0
-1
0
0
0
20
-15
0
0
0
30
3
-2
0
0
6
-5
15
0
0
3
0
-22
0
0
-25
-21
22
0
0
-21
-20
3
0
0
-16
19
-116
0
0
-49
-31
17
0
0
-14
27
31
0
0
25
20
-66
0
0
23
-19
6
0
0
-42
2
-52
0
0
0
-11
-31
0
0
41
-20
22
0
0
-15
1
5
0
0
-46
-16
6
0
0
-46
-56
-25
-5
-3
46
-105
0
0
0
14
5
-9
0
0
49
10
8
0
0
-7
0
1
0
0
-5
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
1
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
9
23
14
0
0
18
36
12
0
0
58
-23
-22
0
0
-9
36
7
0
0
-18
-25
-22
0
0
-66
27
9
0
0
18
-26
11
0
0
-104
-14
50
0
0
-28
-73
49
0
0
9
6
8
0
0
-77
46
31
0
0
-2
-5
-35
0
0
-3
8
2
0
0
-6
50
-15
0
0
2
27
5
6
7
-22
-38
-85
0
0
31
13
0
0
0
-52
9
-1
0
0
7
-1
-2
0
0
3
-2
0
0
0
-5
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
-1
2
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
0
0
0
5
25
14
0
0
43
-22
21
0
0
11
4
-55
0
0
-11
7
-18
0
0
-56
32
-23
0
0
27
10
2
0
0
9
-2
8
0
0
-74
-15
29
0
0
27
-41
-9
0
0
0
-15
23
0
0
47
-21
18
0
0
43
16
4
0
0
0
-34
30
0
0
0
14
10
0
0
24
9
7
-15
-2
61
41
-3
0
0
-39
13
-9
0
0
25
-19
-7
0
0
-5
-5
2
0
0
7
1
1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
1
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
1
0
0
22
-19
35
0
0
59
-59
37
0
0
-9
77
43
0
0
-28
72
-37
0
0
60
-13
2
0
0
9
-27
18
0
0
-7
-13
3
0
0
6
65
-4
0
0
31
2
0
0
0
14
5
7
0
0
22
-5
-10
0
0
-4
14
0
0
0
0
2
-13
0
0
-2
-49
-6
0
0
3
7
-1
-10
7
-27
1
0
0
0
49
-18
-24
0
0
27
10
3
0
0
0
24
0
0
0
7
3
0
0
0
3
-2
1
0
0
-4
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
-8
4
-14
0
0
-23
19
31
0
0
19
23
46
0
0
-43
-25
-7
0
0
-35
8
15
0
0
-20
-4
-1
0
0
0
-51
-1
0
0
3
11
-5
0
0
1
25
9
0
0
-3
-13
0
0
0
16
34
12
0
0
2
-8
0
0
0
0
31
-2
0
0
0
-4
0
0
0
4
23
3
-53
2
42
-34
0
0
0
-14
22
0
0
0
27
-6
2
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
-39
-53
0
0
-57
10
-2
0
0
-63
-6
79
0
0
60
-29
58
0
0
18
-1
8
0
0
-3
10
4
0
0
6
0
0
0
0
30
16
2
0
0
-52
-1
10
0
0
-7
24
10
0
0
12
0
-16
0
0
0
0
-1
0
0
0
-8
0
0
0
0
4
-8
0
0
0
-4
6
-14
5
-3
9
-2
0
0
-5
1
-7
0
0
-23
4
3
0
0
7
-1
0
0
0
8
5
-2
0
0
3
-4
0
0
0
-1
0
0
0
0
0
-2
0
0
0
16
0
0
0
0
0
3
0
0
0
-2
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
2
0
0
0
-10
-59
-6
0
0
1
6
-115
0
0
-27
8
44
0
0
25
-120
-2
0
0
-28
-7
1
0
0
7
-10
0
0
0
2
8
-7
0
0
-6
-9
2
0
0
20
-41
27
0
0
-7
27
0
0
0
-26
25
2
0
0
7
-22
0
0
0
-9
13
-14
0
0
0
-8
2
0
0
-5
24
-12
26
3
-2
15
1
0
0
-4
-25
24
0
0
12
29
-5
0
0
12
1
-18
0
0
-19
-4
4
0
0
1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
-5
3
0
0
0
2
-3
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
2
0
0
0
-12
-3
0
0
0
-28
20
3
0
0
36
-10
33
0
0
52
-28
-2
0
0
87
-68
26
0
0
-25
-52
30
0
0
30
-30
19
0
0
74
45
-66
0
0
31
-33
-20
0
0
-1
1
-1
0
0
-4
-2
2
0
0
-33
-6
-23
0
0
-23
-6
-20
0
0
16
-17
40
0
0
31
31
-64
0
0
-52
49
7
2
11
22
-22
-34
0
0
57
13
-14
0
0
12
-2
-7
0
0
-25
3
14
0
0
-3
6
5
0
0
3
0
1
0
0
-4
-4
4
0
0
0
0
0
0
0
-16
6
0
0
0
-1
4
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
5
73
-80
0
0
41
-9
44
0
0
-16
1
20
0
0
-44
7
0
0
0
22
-18
12
0
0
4
27
2
0
0
7
6
-2
0
0
-35
17
7
0
0
-4
-18
-1
0
0
13
-22
-33
0
0
-13
51
23
0
0
12
66
23
0
0
0
-93
-30
0
0
-41
-30
77
0
0
-17
22
-45
-1
-10
0
29
-47
0
0
-31
-29
5
0
0
31
-2
4
0
0
-5
1
0
0
0
5
0
-5
0
0
-7
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
2
-5
0
0
0
0
1
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-39
10
-38
0
0
3
-13
21
0
0
6
5
53
0
0
47
-7
-41
0
0
-24
-15
46
0
0
-2
1
6
0
0
0
-1
-16
0
0
4
6
9
0
0
6
-14
5
0
0
-4
-50
85
0
0
67
-26
-3
0
0
17
-2
-7
0
0
0
5
-4
0
0
-44
61
30
0
0
-35
54
-51
-46
14
-55
44
12
0
0
2
9
-1
0
0
-6
0
1
0
0
-12
2
-5
0
0
8
-5
3
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
-6
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-10
28
-72
0
0
-53
2
-40
0
0
45
-1
4
0
0
-54
-2
9
0
0
6
9
-3
0
0
0
0
0
0
0
0
-1
0
0
0
8
2
-2
0
0
14
17
11
0
0
-21
-62
-25
0
0
93
-39
-9
0
0
-23
-35
-25
0
0
12
-8
13
0
0
-13
-27
-8
0
0
6
14
-24
18
-56
-30
-31
12
0
0
20
13
3
0
0
-2
2
8
0
0
8
0
-7
0
0
35
3
-8
0
0
2
-2
-1
0
0
0
-1
1
0
0
0
0
0
0
0
5
-5
0
0
0
2
3
1
0
0
0
0
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
-52
3
0
0
-53
41
-28
0
0
-41
-49
89
0
0
54
-1
-6
0
0
-29
-5
0
0
0
5
-8
3
0
0
6
10
-2
0
0
18
49
-3
0
0
2
-75
-33
0
0
-63
28
141
0
0
-44
49
8
0
0
22
-16
-50
0
0
58
-13
-28
0
0
45
5
23
0
0
-25
-92
15
5
12
41
13
-20
0
0
17
-3
5
0
0
-16
-31
1
0
0
22
0
0
0
0
34
-6
3
0
0
12
4
0
0
0
1
2
1
0
0
0
0
0
0
0
12
2
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
2
0
0
0
27
-25
-22
0
0
12
8
-58
0
0
-84
9
-23
0
0
-24
20
-5
0
0
-6
35
1
0
0
0
-9
-5
0
0
0
-3
-1
0
0
1
7
0
0
0
20
-63
-62
0
0
40
-40
53
0
0
-2
80
-4
0
0
-42
46
4
0
0
-53
-31
-3
0
0
31
25
8
0
0
1
7
-5
-3
6
1
5
9
0
0
31
12
0
0
0
42
-8
-18
0
0
-8
5
0
0
0
-22
3
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
7
1
-56
0
0
15
61
58
0
0
-35
-12
-49
0
0
8
-68
-24
0
0
25
-8
2
0
0
2
10
-9
0
0
0
9
-1
0
0
7
-23
1
0
0
-50
8
-1
0
0
10
4
7
0
0
-7
-6
25
0
0
-44
58
15
0
0
25
18
27
0
0
-3
0
-18
0
0
5
-47
0
4
-5
10
54
-5
0
0
5
32
6
0
0
-8
-8
-28
0
0
8
6
-6
0
0
-15
8
1
0
0
-7
-4
0
0
0
1
-1
2
0
0
0
0
0
0
0
-25
0
1
0
0
-5
-1
0
0
0
-3
0
-1
0
0
0
-1
0
0
0
2
-8
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
-4
0
0
0
-3
0
0
0
0
-32
-49
-122
0
0
1
-14
25
0
0
110
-41
-22
0
0
-19
23
-10
0
0
7
15
5
0
0
-1
6
-2
0
0
-1
-6
0
0
0
-3
1
2
0
0
-42
-84
5
0
0
4
86
-35
0
0
-8
-24
72
0
0
32
46
33
0
0
-21
13
-2
0
0
72
13
5
0
0
3
-16
24
33
-23
-31
20
-1
0
6
-8
6
-14
0
-3
17
-9
-5
0
26
11
5
-33
0
21
44
5
29
0
-13
49
22
-14
0
-11
32
-27
8
0
-58
45
15
10
0
-20
25
-10
24
0
8
21
39
5
0
-7
-32
-16
-5
0
4
3
15
0
0
-2
21
7
-4
0
-25
-40
47
5
0
0
29
34
-6
0
27
-2
19
-1
0
41
24
5
5
0
38
49
3
22
0
35
22
-7
19
0
0
14
12
0
0
8
-8
-4
0
0
2
8
-22
2
0
0
-2
-5
0
0
0
-3
2
0
0
4
7
2
0
0
-8
-3
32
-8
0
0
-20
41
-5
0
0
9
14
0
0
0
-7
4
0
0
14
0
9
0
0
5
7
9
0
0
11
7
-8
0
-13
84
-16
-3
-2
0
4
-4
-9
-6
0
1
29
-36
3
0
103
-15
13
-8
0
19
1
-17
7
0
32
38
59
15
0
43
-27
61
-9
0
52
-23
8
7
0
-14
-13
19
27
0
-14
4
57
13
0
31
4
15
-5
0
-3
41
-4
-2
0
35
27
-5
4
0
-1
58
29
-4
0
2
-22
-25
17
0
-1
27
-30
-2
0
-5
-3
-16
1
0
3
8
10
0
0
-20
-24
23
4
0
0
-3
0
-1
0
-44
-2
6
2
0
-2
4
17
0
0
0
1
8
1
0
0
2
6
0
0
1
8
1
0
0
0
54
3
5
0
0
15
9
-4
0
0
13
3
1
0
-2
-39
1
-3
0
15
14
-14
-1
0
2
8
13
-1
0
42
-17
-7
-1
-6
-29
-42
13
0
0
1
94
28
28
0
40
18
-7
-4
0
-19
-49
41
9
0
79
-7
2
10
0
22
0
-11
-7
0
-24
2
-7
-15
0
11
5
-14
1
0
-13
-16
40
-2
0
-1
-21
-13
0
0
14
-14
23
8
0
0
3
-6
-1
0
-9
-2
-1
0
0
3
-29
2
0
0
4
9
3
1
0
1
16
-9
0
0
3
-14
4
0
0
4
8
12
0
0
0
2
0
0
0
-1
-3
6
0
0
4
6
0
1
0
0
9
-4
-1
0
0
-1
4
0
0
0
0
-3
0
0
1
-5
0
0
0
0
6
1
0
0
0
8
-2
0
0
0
0
0
0
0
0
-1
-1
-1
0
-1
0
3
-2
0
0
57
-5
1
0
3
1
3
0
29
-25
-3
3
0
0
41
-16
7
-4
0
-6
19
-4
-19
0
42
29
14
5
0
-20
-24
9
-3
0
13
60
-14
6
0
-35
14
-31
25
0
79
-29
-5
-3
0
-21
1
-9
-13
0
35
51
5
-2
0
-5
-2
33
4
0
8
39
-22
1
0
-48
-8
-12
-2
0
-1
7
13
0
0
3
-9
7
-5
0
3
-4
46
0
0
6
27
16
-8
0
6
-13
6
1
0
0
-5
14
0
0
-1
1
0
0
0
-5
-12
-13
0
0
0
0
2
0
0
0
3
-7
0
0
0
5
-4
0
0
0
0
3
0
0
0
22
4
0
0
0
0
-19
0
0
0
-27
-9
0
0
2
-2
-4
-4
0
-1
-4
2
0
0
3
11
6
1
0
5
7
9
0
21
-39
-5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
46
15
3
0
23
-25
-8
-2
0
-41
-15
-1
0
0
35
61
-4
1
0
-30
6
10
-3
0
-16
-23
27
8
0
3
6
0
0
0
20
7
-23
-7
0
23
-41
-13
-4
0
8
-16
6
-6
0
-3
18
7
-3
0
0
-6
2
0
0
-9
-3
-4
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
-44
7
-6
-14
0
6
10
-1
8
0
17
-20
10
0
0
29
4
3
0
0
-4
-7
-4
1
0
-16
3
2
0
0
0
0
2
0
0
2
-4
-1
0
0
7
15
-17
-1
0
-13
-3
2
5
0
-3
0
-4
0
0
33
0
0
0
0
-3
31
28
1
0
0
-2
1
0
0
2
-8
0
0
28
-15
1
0
0
0
26
15
-47
8
0
-7
8
-5
-8
0
-8
41
13
6
0
12
-16
14
10
0
-2
2
22
-8
0
-19
3
20
1
0
3
15
-1
0
0
0
18
15
-2
0
7
-8
6
-4
0
-24
-6
14
6
0
0
-6
-1
0
0
1
-1
0
0
0
0
0
1
1
0
-2
0
12
0
0
0
2
-3
0
0
0
-7
0
0
0
-34
17
-2
-6
0
-39
-10
-5
4
0
-4
24
-1
0
0
-44
-6
5
-2
0
4
4
0
0
0
1
-12
7
0
0
0
-4
-3
0
0
7
0
0
0
0
61
-8
-5
-3
0
7
18
18
3
0
-1
-4
-8
0
0
3
2
5
0
0
2
0
-13
-2
0
2
-6
1
1
0
-2
7
-6
0
24
-8
3
-1
0
0
-4
19
-15
0
0
-8
25
25
8
0
-1
30
1
2
0
14
12
-1
1
0
1
6
4
0
0
16
6
14
0
0
0
0
1
-1
0
0
-16
-1
-1
0
-1
-3
6
0
0
6
-4
-1
-1
0
0
-4
-1
0
0
0
1
2
0
0
1
23
-3
0
0
0
-2
-2
0
0
0
0
0
0
0
-10
-1
-2
0
0
8
0
2
0
0
2
2
-1
1
0
0
-1
0
0
0
0
-6
-8
0
0
2
3
-3
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
10
7
1
0
0
-6
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
-3
1
0
0
0
1
0
0
0
0
0
3
0
-27
0
1
0
0
0
-4
19
1
0
0
19
-18
6
-9
0
-19
10
7
-1
0
-13
-24
-2
-3
0
-7
-2
1
1
0
-2
9
2
0
0
0
0
0
0
0
8
1
1
0
0
0
-2
1
-3
0
-6
0
-1
0
0
0
6
0
0
0
-2
-2
1
0
0
10
-8
-3
0
0
0
1
1
0
0
0
-4
0
0
0
-7
-1
0
0
0
12
-18
-9
0
0
3
5
-10
0
0
0
-2
0
2
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
-4
2
4
0
0
-5
-1
0
-1
0
-1
0
0
0
0
-1
0
1
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
-1
-1
0
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-19
-10
-8
0
67
17
22
-25
0
-3
23
6
1
0
-3
1
0
-14
0
42
-6
-1
0
0
5
5
-5
0
0
6
2
0
0
0
-1
30
0
-1
0
54
57
-10
0
0
-41
7
-37
16
0
1
1
9
0
0
14
-6
0
2
0
-1
-10
-6
2
0
-1
4
0
0
0
-5
6
-1
0
0
-8
-23
1
0
0
1
2
1
8
0
2
6
-15
-4
0
-2
36
37
40
0
9
0
23
17
0
31
42
-48
50
0
43
9
-23
2
0
119
-151
-11
20
0
43
40
-24
-31
0
124
-48
-43
19
0
-4
-75
-48
45
0
4
16
10
31
0
40
-5
-54
8
0
24
-24
-30
37
0
-1
57
31
-34
0
58
41
6
-18
2
22
32
-21
-110
0
-12
-12
-2
25
0
-41
38
28
0
0
1
7
25
2
0
33
5
12
-1
0
13
-9
7
0
0
-42
8
-2
1
0
3
0
2
0
0
5
6
-3
-4
0
5
5
-15
-3
0
-15
-10
8
-6
0
-8
-25
13
-4
0
-5
9
-12
2
0
-7
0
4
1
0
1
2
8
0
0
0
2
6
-1
0
-6
-37
3
-7
0
0
3
-4
-13
0
13
3
13
-11
0
1
-10
-8
16
0
-8
18
22
68
0
-65
-40
72
-1
0
-20
-44
16
30
0
45
-7
-4
-15
0
-29
-38
-23
20
0
32
-49
19
-32
0
33
-41
23
-39
0
0
1
-16
1
0
-68
27
38
-19
0
10
51
63
25
0
5
-28
43
-7
0
-9
16
-17
-3
-11
-31
10
-50
48
0
29
5
-1
0
0
1
8
0
-2
0
-4
3
1
-1
0
-1
2
0
0
0
-1
-3
0
0
0
-7
2
1
0
0
-4
0
0
0
0
10
0
2
0
0
-8
-5
0
0
0
1
5
0
0
0
0
-3
0
0
0
-7
-7
0
-1
0
-1
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
13
13
-14
18
0
37
3
-30
27
0
9
-65
-29
2
0
-34
-39
29
-102
0
61
-6
51
-31
0
3
-27
31
18
0
4
-63
5
-19
0
-31
-57
-18
-19
0
13
31
-35
26
0
42
-12
38
-42
0
5
-50
3
0
0
-16
-6
-43
16
0
0
46
-32
-39
0
0
24
10
4
0
52
-77
-31
13
2
9
-22
-42
-1
0
-9
-8
-1
3
0
8
-8
3
0
0
0
2
2
0
0
9
3
3
0
0
0
0
0
0
0
-5
-1
2
0
0
0
-5
0
0
0
-4
-5
0
0
0
3
5
1
0
0
-13
5
-1
0
0
0
0
0
0
0
10
8
0
0
0
-3
1
1
0
0
0
0
0
1
0
0
-4
-1
-2
0
0
-4
0
0
0
4
22
-21
-31
0
-1
22
67
-18
0
-3
-96
-43
14
0
-11
11
-57
-17
0
13
79
15
-84
0
-32
-31
21
-61
0
-32
22
-49
-42
0
-122
46
29
-3
0
-102
-81
6
5
0
-25
-3
9
34
0
-7
-21
-41
24
0
-45
-21
43
-1
0
8
-12
38
5
0
0
2
-29
7
0
-66
31
-10
23
13
-78
-15
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-20
24
0
0
-4
-12
-19
5
0
-16
0
-1
0
0
-25
3
0
0
0
34
42
-6
1
0
7
0
0
0
0
0
0
1
0
0
22
-13
0
0
0
2
21
-5
-10
0
12
-3
10
0
0
-2
2
2
0
0
-2
-3
0
0
0
16
28
-14
-2
0
-4
-6
0
0
0
9
-8
-1
0
0
17
-2
-3
2
0
48
-41
-9
30
0
35
-21
-57
-3
0
-13
21
36
-20
0
-100
-1
72
-32
0
27
41
-4
27
0
-14
10
10
19
0
-35
32
-41
-4
0
-93
-39
-14
-11
0
-8
1
-1
-3
0
9
-4
1
3
0
-31
-24
94
-5
0
-23
-30
10
58
0
66
10
31
10
0
-47
27
-4
24
0
-30
-13
-12
-80
5
46
2
-24
-46
0
-25
13
13
4
0
8
-6
-15
-8
0
2
16
-3
0
0
5
6
-3
0
0
-3
8
-8
0
0
1
5
1
1
0
0
0
0
0
0
9
5
1
0
0
8
-13
3
-4
0
-11
23
7
-2
0
0
7
0
0
0
6
5
0
0
0
-1
5
-7
0
0
0
5
2
-1
0
4
-4
0
0
0
5
-3
0
0
0
40
-45
-49
-19
0
-22
-4
6
37
0
56
-14
33
6
0
-75
3
58
3
0
-30
-34
44
48
0
-3
-46
-17
9
0
-53
2
0
0
0
-58
1
47
-16
0
11
-2
-4
10
0
11
-20
12
-10
0
50
28
36
11
0
4
-19
-25
-19
0
-3
-163
55
27
0
-25
-33
7
-38
0
13
90
-36
8
-8
-134
10
-8
21
0
9
-9
0
0
0
-5
-1
-1
0
0
0
0
0
0
0
-2
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
22
-1
0
0
0
-1
0
0
0
-5
-3
0
0
0
0
3
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
-6
0
0
0
-1
-4
0
0
0
1
0
14
20
0
59
7
17
-12
0
-16
25
22
-1
0
-14
17
3
0
0
13
-33
8
-8
0
2
-22
18
14
0
19
-18
-16
-4
0
-8
-35
-22
0
0
-45
44
34
21
0
-26
32
14
-14
0
-13
-40
-58
0
0
-5
-7
-49
-4
0
24
82
-23
-21
0
38
-24
24
-25
0
43
10
-52
13
26
31
-33
12
-18
0
3
0
1
0
0
-1
0
3
0
0
0
3
0
0
0
-6
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-3
1
-6
0
0
-7
8
-46
33
0
-21
-4
0
3
0
34
-1
-10
0
0
10
-13
4
0
0
8
8
4
8
0
-9
-14
2
1
0
2
5
-5
-2
0
8
-8
-8
1
0
62
-7
-13
-17
0
-119
9
15
3
0
15
-51
9
48
0
-24
21
-51
-1
0
-6
-3
14
25
0
-2
-16
-5
-5
0
0
-71
-13
12
-23
-84
42
-35
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
16
64
-31
0
5
-12
-3
35
0
-39
39
54
4
0
13
3
-21
50
0
14
59
51
2
0
42
-23
-4
-10
0
-7
0
-8
-5
0
48
-12
-46
-3
0
-66
-8
52
11
0
49
-8
-4
-4
0
2
-22
15
1
0
4
42
-13
-8
0
2
26
13
-12
0
0
9
-17
-10
0
-4
14
14
-8
0
54
-49
-22
8
0
-5
9
2
20
0
-4
7
15
20
0
-1
-31
3
0
0
7
-18
-1
2
0
-2
20
29
1
0
1
3
8
0
0
0
-2
-4
0
0
4
2
2
0
0
-7
-3
6
-14
0
3
31
17
-22
0
1
4
-8
0
0
0
-42
-3
-1
0
44
0
-19
1
0
1
37
6
8
0
1
-10
2
3
-10
26
3
-16
-10
0
-2
7
-26
50
0
1
2
47
10
0
3
-85
-9
-50
0
30
2
38
-42
0
-6
-23
-17
5
0
-25
49
-4
14
0
14
47
2
20
0
-20
53
5
16
0
18
73
-78
9
0
-29
31
10
9
0
-2
2
15
0
0
27
-10
-31
13
0
9
-55
48
-1
0
3
7
17
-8
0
12
-29
7
-4
0
-49
-5
3
-6
0
31
42
17
-1
0
5
3
-9
7
0
3
5
5
-4
0
15
-9
-13
0
0
-12
17
-4
0
0
1
8
-7
-2
0
0
-2
-2
-4
0
2
4
0
1
0
0
13
7
-2
0
-8
11
-25
17
0
0
-9
24
0
0
-1
3
-2
-5
0
16
11
20
5
0
6
-4
5
-17
0
20
21
-4
-3
-7
-26
-61
27
1
0
47
20
-17
-7
0
43
42
114
13
0
-31
14
5
5
0
-27
9
-5
26
0
13
76
39
-1
0
0
14
7
-2
0
-1
-44
9
-2
0
10
25
-8
1
0
7
-25
8
-5
0
0
-3
8
-2
0
-4
6
7
-8
0
-1
0
0
-2
0
0
-5
-7
-1
0
0
0
0
2
0
0
-1
-10
-1
0
-8
8
-1
0
0
4
-13
2
2
0
0
-1
-6
0
0
0
6
-1
0
0
0
1
10
0
0
0
-2
1
0
0
0
0
1
-1
0
0
5
-2
0
0
1
0
0
0
0
0
7
4
0
0
1
-2
2
0
0
0
-25
-3
0
0
-1
0
-1
0
0
-8
-2
-7
0
0
1
14
-2
0
0
0
-14
0
0
17
-3
-13
0
-1
0
5
-43
47
8
0
36
-24
-15
-6
0
40
-4
12
11
0
19
-18
13
9
0
8
39
0
-3
0
-18
16
6
20
0
44
-15
-22
4
0
-18
-2
42
-18
0
-1
20
9
-25
0
-2
2
1
2
0
-5
-24
-18
1
0
-48
17
-3
-2
0
0
13
-3
0
0
0
-2
8
1
0
3
23
34
-1
0
-6
-5
-2
0
0
1
0
4
1
0
-8
-4
-9
0
0
0
5
1
0
0
-6
-6
-4
6
0
0
-1
4
0
0
0
0
-1
0
0
0
0
1
0
0
0
-1
0
0
0
0
4
-1
0
0
3
-1
0
-3
0
0
-2
7
0
0
4
-2
-5
-1
0
0
-3
-16
1
0
0
12
-5
-1
0
2
-12
0
-1
-13
-23
1
1
3
0
13
-58
27
-4
0
6
-3
15
2
0
43
-35
24
-3
0
48
-13
-8
-3
0
-7
38
-13
0
0
42
7
-1
-10
0
8
-9
1
0
0
5
-13
2
5
0
2
-5
-10
0
0
-10
-4
1
8
0
0
1
0
0
0
1
2
1
0
0
0
3
9
1
0
0
-2
-1
0
0
0
2
1
0
0
-4
5
0
0
0
4
41
-5
1
0
-25
-3
2
0
0
-1
-5
6
0
0
-9
3
3
0
0
8
-7
0
0
0
0
1
-2
0
0
0
0
2
0
0
1
-1
0
0
0
0
-14
2
0
0
0
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
-12
-2
-6
0
0
0
-4
1
0
0
1
5
0
0
-12
-4
4
0
0
0
-4
3
-38
6
0
-4
7
40
-30
0
0
-15
3
1
0
-20
13
-5
-13
0
-7
43
25
0
0
-11
16
-22
13
0
24
-10
-5
1
0
0
-8
19
7
0
31
17
1
0
0
27
-1
2
-2
0
0
0
3
0
0
3
-1
0
0
0
-9
8
-2
0
0
12
0
8
0
0
0
0
1
-1
0
10
-4
2
0
0
-2
15
5
-2
0
0
3
4
1
0
0
2
-1
0
0
-1
-6
0
0
0
-2
2
-6
0
0
2
-4
0
0
0
0
0
2
0
0
0
2
0
0
0
0
4
7
0
0
-1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
3
12
0
0
14
0
-16
3
0
0
54
-8
13
0
0
21
-17
29
-55
0
8
7
17
-1
0
25
25
-23
-6
0
12
-1
7
0
0
-17
0
-23
0
0
-3
8
-3
-1
0
-4
-8
2
2
0
0
0
1
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
2
0
0
0
-1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
-1
0
0
16
0
0
0
0
0
49
-10
27
-5
0
42
14
-25
-3
0
-8
24
-38
8
0
30
18
-6
10
0
5
23
-7
0
0
35
3
6
-5
0
19
-2
10
2
0
-45
13
10
4
0
-6
9
0
1
0
-15
7
1
1
0
0
-3
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
2
2
0
0
0
1
1
-2
0
0
0
-1
0
0
-3
-9
1
-2
0
-6
1
4
-12
0
-2
6
1
0
0
-9
0
0
0
0
0
0
-9
0
0
1
-1
-1
0
0
0
0
2
0
0
0
0
1
0
0
0
0
-1
0
0
0
-2
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-2
0
0
0
-13
-1
0
0
0
0
46
-14
16
16
0
-9
42
53
9
0
47
17
6
-2
0
-18
27
-4
-2
0
-3
9
0
0
0
-8
-3
0
-1
0
1
5
2
0
0
-5
-2
-1
-1
0
-7
-6
6
-7
0
-41
-14
9
10
0
2
22
-7
-3
0
-13
-3
10
-1
0
-1
-3
-19
0
0
0
1
-3
-1
0
0
8
-2
0
0
1
-8
0
0
0
-3
-21
-7
-1
0
0
0
0
-1
0
1
0
0
0
0
-4
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
1
1
0
0
0
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
7
-3
0
0
-2
7
0
0
1
-1
-3
0
23
3
-8
-1
0
0
-59
70
-5
23
0
-6
47
-18
-9
0
-19
15
-2
0
0
21
5
5
0
0
16
-4
0
0
0
-9
0
12
0
0
-1
4
0
0
0
4
3
-4
-2
0
16
-26
42
2
0
40
-24
25
6
0
7
9
0
-1
0
1
-6
-13
0
0
-3
-4
-6
0
0
0
-7
15
0
0
0
0
0
0
0
0
12
1
0
0
0
8
0
0
0
-10
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
7
0
0
0
-13
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
6
29
-1
0
-2
4
1
0
0
0
0
0
0
61
1
-2
0
0
0
39
-9
-3
-1
0
-5
-12
-5
4
0
13
4
25
-1
0
23
-9
3
-6
0
0
5
1
0
0
0
0
0
0
0
0
-1
0
0
0
8
3
0
0
0
-10
11
2
0
0
-33
5
4
0
0
-7
4
2
0
0
-1
7
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
8
0
0
0
1
-2
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
13
2
-4
0
-25
25
-32
-15
0
0
17
-13
0
0
-13
-13
22
-7
0
0
2
4
0
0
-1
2
1
0
0
0
-1
0
0
0
5
1
0
0
0
8
34
3
0
0
39
-20
-4
1
0
5
-9
-7
0
0
2
1
6
-1
0
0
1
1
0
0
0
-4
0
0
0
0
0
2
0
0
0
-2
3
0
0
-3
1
1
0
0
-1
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
-1
1
-3
0
0
0
15
-8
-8
16
0
-8
41
20
2
0
-6
23
14
0
0
6
5
0
3
0
-1
-4
1
0
0
-1
0
-3
0
0
0
1
1
0
0
9
-7
0
0
0
8
25
1
0
0
-4
1
-8
-2
0
0
0
-1
0
0
-2
1
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
8
-4
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
-14
13
21
4
0
46
-20
-23
-8
0
-3
4
1
0
0
4
0
1
6
0
-3
5
0
0
0
-42
12
2
0
0
3
0
-2
0
0
8
0
1
1
0
1
-8
2
-1
0
-3
-8
3
0
0
0
0
0
0
0
1
-1
0
0
0
0
1
1
0
0
0
0
-2
0
0
0
0
0
0
0
4
-1
0
0
0
-6
4
0
0
0
2
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
17
-7
8
-8
0
5
-2
6
-4
0
-2
9
-4
2
0
-49
-3
1
2
0
-3
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
-1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-17
0
0
0
0
0
12
-25
10
-9
0
17
11
0
-6
0
-2
27
-13
0
0
-8
0
-2
6
0
0
2
-3
0
0
1
-3
0
0
0
0
1
-2
0
0
8
-1
0
0
0
1
-3
-3
0
0
-1
0
-3
0
0
1
0
0
0
0
-10
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
5
-1
0
0
17
-16
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
11
-7
0
12
0
11
9
-25
12
0
-18
6
-5
0
0
-18
7
-1
-3
0
-14
-21
14
0
0
-19
-1
23
0
0
-5
-1
2
0
0
-2
-19
8
-1
0
41
10
-8
0
0
-2
4
-1
0
0
0
8
1
0
0
0
0
0
0
0
-6
-4
-2
3
0
2
12
3
0
0
7
9
-1
0
0
-28
-25
0
0
0
2
1
-1
0
0
0
6
4
-4
0
-7
35
2
-38
0
5
1
5
-33
0
45
-25
-30
3
0
18
-52
-10
54
0
53
7
-2
-32
0
17
40
-1
-19
0
23
50
63
-48
0
0
-23
-13
-4
0
27
-5
23
15
0
-3
-47
-43
18
0
92
18
-26
-33
0
1
8
9
-27
0
-58
10
-7
7
5
-38
14
-47
-34
0
29
3
-19
-6
0
-11
143
-74
-8
0
-17
19
-5
-3
0
11
7
14
0
0
4
-7
5
0
0
-32
-15
-8
0
0
-7
-1
1
0
0
-29
8
-4
-4
0
6
-7
12
0
0
0
-13
18
0
0
0
-1
0
0
0
0
-4
0
0
0
-2
-2
0
0
0
-4
7
8
0
0
6
-5
0
0
0
19
-18
-1
4
0
0
-5
10
1
0
8
-1
9
12
0
-5
17
25
0
0
11
-22
-14
55
0
-25
14
-49
42
0
-5
-23
38
12
0
42
21
-68
7
0
-43
-17
5
-20
0
17
-121
34
25
0
27
-89
-27
-6
0
-2
-4
5
2
0
30
-20
19
-22
0
35
28
-53
-24
0
23
47
3
-11
0
112
-6
-60
-11
-10
-69
-29
-18
-8
0
7
23
25
0
0
31
2
0
0
0
-3
-17
-13
0
0
-5
9
5
3
0
7
0
0
0
0
0
0
-1
-2
0
-2
0
0
0
0
6
-1
0
0
0
0
9
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
-1
0
0
0
4
-13
-4
0
0
2
-32
25
15
0
9
-36
-9
-18
0
6
-1
-38
70
0
-11
-34
-13
-38
0
80
12
-4
6
0
-66
15
-11
3
0
-12
-29
29
-31
0
-19
16
-30
-9
0
15
-4
13
28
0
-5
-14
12
2
0
-24
-24
-31
3
0
-65
6
2
0
0
2
12
66
1
0
0
17
-29
2
0
-70
24
-1
19
-16
75
-16
-44
1
0
-4
48
-4
-1
0
-14
-17
7
0
0
3
0
2
0
0
15
31
2
-3
0
3
-7
2
0
0
-5
-8
2
1
0
0
-1
0
0
0
17
-4
-1
-2
0
0
1
0
0
0
0
-2
0
0
0
0
1
1
0
0
4
0
-1
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
0
6
16
-6
16
0
-6
43
-25
-31
0
44
-4
-49
-20
0
-25
5
5
35
0
22
-100
-13
-14
0
-12
16
-12
-19
0
7
-21
-44
-7
0
-29
-63
19
31
0
-8
54
-18
7
0
5
-12
22
-9
0
-23
-29
-4
27
0
-33
-15
-23
2
0
0
-45
-7
42
0
0
-2
0
3
0
23
-55
2
-4
-19
-48
8
44
4
0
-20
9
7
5
0
-7
-10
-3
-3
0
1
-19
6
0
0
23
6
-1
0
0
14
0
-6
0
0
2
3
2
0
0
0
0
0
0
0
0
3
0
-2
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
44
7
-24
13
0
11
5
-28
-3
0
-35
32
40
6
0
38
43
2
44
0
10
8
25
42
0
-51
-48
26
-13
0
-110
-22
23
-2
0
-34
15
-20
-31
0
12
-57
-50
-7
0
8
3
0
0
0
0
0
17
1
0
-1
3
0
-7
0
8
19
44
25
0
0
1
-4
2
0
10
4
16
-5
13
-67
3
-5
-2
0
25
-31
6
2
0
-9
7
-18
1
0
0
-4
1
0
0
-3
2
-2
0
0
-15
-2
-5
0
0
-7
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
3
39
0
-45
-7
-16
33
0
-18
71
-42
22
0
-10
46
34
-2
0
65
-26
31
24
0
93
-74
13
-20
0
-13
10
19
1
0
-20
0
17
-29
0
-2
-2
20
-2
0
-1
-2
-8
0
0
0
0
4
0
0
0
0
1
2
0
0
-33
30
-8
0
0
18
0
0
0
-5
17
1
0
4
12
-7
-6
2
0
-23
6
0
1
0
-1
1
0
0
0
-2
1
0
0
0
0
1
0
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-23
-28
21
-34
0
44
26
-18
7
0
61
-59
-29
1
0
37
41
11
-24
0
9
42
0
4
0
-25
-22
7
9
0
48
-16
-7
0
0
-59
-23
8
0
0
-2
-10
-33
0
0
0
2
0
0
0
-2
0
-6
0
0
0
0
3
0
0
2
-1
23
1
0
0
-1
0
1
0
0
0
17
0
40
-22
0
0
0
0
16
-14
-3
0
0
-2
-3
2
0
0
0
-1
0
0
0
-25
-1
-2
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
-1
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-70
5
24
10
0
22
62
-2
-50
0
49
-3
-74
-34
0
4
1
0
-5
0
22
-20
35
-10
0
5
0
-1
-5
0
-4
-2
-20
7
0
-7
6
-8
3
0
-1
-10
-4
3
0
3
-1
1
0
0
0
2
10
2
0
0
0
1
0
0
0
-8
5
-2
0
0
0
1
0
0
13
0
-8
0
8
0
-1
1
0
0
32
-7
-1
-3
0
-16
23
-44
13
0
6
-10
-9
1
0
1
-3
0
0
0
13
8
0
0
0
0
0
4
-2
0
0
1
0
0
0
-4
-22
1
0
0
19
4
8
0
0
-4
-9
-31
0
0
0
2
2
0
0
-2
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-16
-18
28
-5
0
34
0
31
43
0
56
-101
-41
1
0
-79
-49
45
-5
0
17
8
42
-9
0
-23
-13
-25
8
0
13
-35
4
-6
0
47
-7
-9
4
0
12
1
-2
-1
0
13
-4
-2
-19
0
41
-27
33
21
0
-4
-21
-2
-41
0
37
-37
66
33
0
-59
30
-44
19
0
-5
-3
-56
-25
0
-13
17
-53
-14
0
-38
5
-14
-13
0
-1
5
-4
-19
0
-5
22
-2
1
0
25
-3
0
2
0
1
5
1
0
0
22
0
3
-2
0
0
-4
-1
0
0
-6
10
0
0
0
22
-8
-8
0
0
-29
8
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
1
1
0
0
0
0
0
-1
0
0
2
3
1
0
0
-22
-68
9
1
0
83
-59
2
-4
0
-67
14
30
-1
0
-25
-42
31
10
0
52
-59
0
-4
0
8
8
2
1
0
-2
7
15
0
0
5
19
0
0
0
-10
15
15
-9
0
-15
-24
-3
52
0
-16
18
-3
4
0
57
-25
8
58
0
-9
30
41
-36
0
21
-49
-28
-8
0
55
29
-17
14
-12
25
54
-23
-2
0
3
7
2
0
0
10
3
-3
0
0
-3
12
1
0
0
5
3
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-47
17
-32
-2
0
-13
-8
-6
-2
0
48
-85
32
6
0
-8
-32
-25
-2
0
-33
2
2
0
0
0
-5
3
0
0
8
5
3
0
0
-1
3
-1
1
0
56
11
18
-6
0
24
10
-40
54
0
-35
9
-2
-15
0
-63
-9
34
41
0
10
4
-53
-24
0
0
0
16
-2
0
-18
-35
5
25
-3
-3
42
-5
-15
0
-9
22
-24
1
0
25
-7
1
0
0
-1
-4
0
0
0
4
-6
6
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
29
54
5
-25
0
-13
-56
2
12
0
6
-31
-18
3
0
-4
-17
44
4
0
1
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-38
-25
10
5
0
22
-18
-40
4
0
-13
59
0
5
0
-42
3
54
-1
0
9
-27
6
16
0
0
2
24
5
0
6
14
-2
-4
10
0
46
20
-32
0
37
-5
-10
-6
0
-35
7
-16
-6
0
2
8
-2
1
0
0
25
0
0
0
8
-27
1
0
0
1
0
-1
0
0
0
0
0
0
0
-6
-13
0
0
0
1
6
7
-1
0
-2
-1
-2
-1
0
0
1
1
0
0
0
-6
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
14
42
-39
-22
0
70
-35
-3
-64
0
-56
-18
-43
-7
0
-74
-12
20
29
0
-48
-37
8
-31
0
7
-4
29
-5
0
0
1
-30
1
0
2
3
-3
-1
0
59
-16
-31
-50
0
-2
-46
33
-3
0
23
4
21
41
0
-7
-32
8
4
0
-18
-1
-8
22
0
-3
25
24
-10
0
-24
10
-13
17
36
8
-80
-9
-41
0
-29
-16
19
-2
0
8
-3
-3
-8
0
-1
39
-2
-1
0
-3
-22
-2
1
0
1
0
1
0
0
17
13
2
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
-1
0
0
0
-1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
31
-44
-42
22
0
-9
-22
15
-66
0
-18
8
14
2
0
5
-25
-22
-4
0
-8
16
1
1
0
7
-10
6
-2
0
0
0
0
0
0
0
-1
0
0
0
-36
0
13
-39
0
-35
17
74
54
0
0
-1
-6
5
0
3
24
-16
-2
0
2
-9
-18
5
0
22
1
14
-15
0
-3
-10
4
1
23
0
-32
13
2
0
16
-10
-7
-6
0
-10
20
3
-8
0
0
23
0
0
0
12
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-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
-14
0
2
-16
0
18
28
-15
18
0
27
3
-30
13
0
5
-5
-23
-8
0
6
-8
25
-8
0
0
1
1
-2
0
3
-6
3
0
0
0
0
-5
0
0
15
58
5
-43
0
-16
-30
-26
-56
0
-17
-2
-44
13
0
-2
-23
-9
4
0
2
8
37
-8
0
0
0
22
-4
0
1
-19
5
-15
52
-5
-3
-2
2
0
-18
23
-18
15
0
35
6
23
9
0
1
-3
6
-1
0
8
-39
-1
-4
0
0
1
-6
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
-1
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
75
-44
-24
0
63
28
-14
63
0
-52
-2
-21
-2
0
-1
-8
14
3
0
3
37
1
0
0
0
1
-7
-2
0
0
-1
-1
0
0
-1
-2
0
0
0
-25
21
-31
-63
0
-10
-44
15
22
0
14
5
-1
4
0
8
25
-8
-3
0
-1
-13
-2
14
0
0
0
32
-4
0
0
5
19
7
-14
1
-4
0
-1
0
11
35
49
-30
0
-8
31
39
8
0
-28
16
-32
7
0
19
4
-48
13
0
-6
43
36
-10
0
13
69
-31
-5
0
-10
-14
3
8
0
33
15
-28
31
0
28
-12
1
-10
0
42
-78
1
17
0
5
-1
-20
-1
0
-10
6
14
7
0
-8
-47
18
-12
0
2
26
29
2
0
6
1
17
1
0
-22
25
25
4
0
-18
39
35
8
0
-33
-6
66
22
0
20
-9
-2
1
0
-3
1
-8
5
0
-17
6
-4
1
0
0
6
9
-4
0
2
-1
1
0
0
3
-14
1
0
0
7
42
1
6
0
12
-20
5
7
0
0
8
-1
1
0
1
-13
-1
-3
0
-17
6
8
4
0
0
10
15
-3
0
25
-13
-16
5
9
31
-28
-1
-14
0
-10
20
7
27
0
6
0
20
18
0
13
-20
-4
-44
0
3
37
-61
-7
0
1
25
21
10
0
-17
1
-9
37
0
83
-13
-3
8
0
-6
-30
5
-31
0
11
-14
13
15
0
-40
61
29
23
0
-3
-9
4
0
0
4
38
5
5
0
6
-6
20
-1
0
-4
-29
8
8
0
13
9
-27
-7
0
18
5
-33
-19
0
8
-11
-23
-3
0
62
18
-75
-21
0
0
22
24
-3
0
2
-4
-15
8
0
-23
2
2
0
0
10
-12
-8
0
0
0
2
0
-4
0
-7
-5
7
1
0
13
-10
46
-1
0
-22
1
17
24
0
2
-14
4
0
0
-8
-7
-5
-1
0
4
9
13
-2
0
6
33
9
13
0
-4
-13
-1
-4
3
4
-39
13
8
0
28
14
17
-44
0
-14
51
-10
-10
0
50
-3
35
-1
0
-37
28
48
-16
0
22
24
-17
1
0
36
13
-2
-13
0
-22
10
-16
2
0
41
22
-33
25
0
20
23
-1
-2
0
-21
-8
31
-1
0
0
3
-2
1
0
-8
-12
-3
-1
0
-2
-12
8
1
0
7
-9
18
0
0
0
14
14
0
0
9
-6
-14
-1
0
13
-33
15
0
0
-22
-14
35
0
0
0
6
0
0
0
8
0
0
1
0
-4
4
1
-1
0
-2
0
9
0
0
0
0
-3
0
0
12
5
0
0
0
0
33
-4
-5
0
-6
10
-8
0
0
0
-15
0
0
0
0
-9
-2
-1
0
-13
8
0
1
0
0
3
-3
1
0
3
0
1
0
5
-9
-24
-8
0
0
6
18
2
12
0
15
24
-2
-18
0
-21
56
-8
5
0
45
-25
17
-19
0
-46
60
2
1
0
-58
-14
45
10
0
38
-38
-2
-1
0
-44
8
31
2
0
-32
36
22
5
0
19
9
25
-9
0
4
-24
0
0
0
-13
31
-33
0
0
-8
27
7
0
0
8
9
-14
-2
0
0
8
-20
-2
0
-10
-24
23
0
0
18
41
-48
-9
0
-40
-2
0
14
0
-5
-1
5
1
0
-50
-10
-2
-2
0
10
7
-9
0
0
0
0
16
0
0
0
0
-3
0
0
-8
14
0
0
0
-4
27
-4
0
0
-2
-10
8
1
0
0
-8
19
0
0
-3
2
3
1
0
33
28
-2
0
0
16
5
6
0
0
0
-2
-1
0
25
-19
-12
-14
0
0
42
10
-9
18
0
16
26
7
22
0
-32
36
-9
-6
0
39
25
20
-25
0
-8
-8
4
1
0
17
-8
-3
1
0
1
-1
0
0
0
-5
-6
3
-1
0
2
34
2
8
0
0
7
-8
1
0
0
2
1
0
0
-1
1
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
-3
0
0
0
-9
-3
-1
0
0
0
0
7
0
0
3
-1
0
0
0
-12
0
0
0
0
2
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
6
-2
0
-1
2
-6
0
0
0
0
-1
0
0
2
-1
-1
0
0
-4
-6
0
0
0
0
-1
0
0
0
0
0
0
0
-9
0
6
0
0
0
-48
16
32
-19
0
28
-116
-17
53
0
-27
23
13
-7
0
-10
-35
6
1
0
50
13
-22
0
0
48
-2
-3
0
0
0
4
-1
0
0
1
31
0
-1
0
-6
42
9
3
0
-2
32
-6
3
0
1
-7
0
0
0
4
-5
0
0
0
0
-4
6
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
-1
0
-5
20
-9
-2
0
3
-6
-4
0
0
0
-3
0
0
0
0
3
1
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
8
0
0
0
-25
-8
10
0
0
0
4
0
0
0
0
-1
0
0
0
2
-4
0
0
0
4
1
0
0
0
-2
1
1
0
-13
-2
-6
7
0
0
-4
-36
-10
42
0
32
19
23
-24
0
-23
-7
9
0
0
2
3
3
0
0
-14
0
2
0
0
-5
5
-5
-1
0
0
0
3
0
0
-25
4
0
0
0
9
8
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
1
0
-1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
13
0
0
1
0
0
28
-13
12
21
0
-31
26
42
-35
0
-43
-6
5
14
0
-18
-54
5
20
0
-13
-9
-5
0
0
0
3
45
-1
0
-4
5
0
0
0
16
-41
-5
-1
0
-10
-5
-5
0
0
7
-3
0
-1
0
-1
0
-7
0
0
20
-3
-4
0
0
-1
20
-4
0
0
5
0
1
0
0
1
0
0
-1
0
-1
0
0
0
0
-4
23
-7
2
0
-4
8
-1
1
0
1
-1
4
0
0
0
1
0
0
0
0
-1
-14
0
0
0
-1
-1
0
0
0
1
-2
0
0
0
0
0
0
0
1
-1
8
0
0
0
3
1
0
0
0
0
-10
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
-3
-3
0
-10
-3
-5
-2
0
0
42
-36
46
8
0
25
38
-8
4
0
8
10
-9
2
0
15
12
27
1
0
-21
2
7
-2
0
-22
-7
22
3
0
5
-1
12
0
0
-21
6
0
0
0
-14
16
4
3
0
-18
-2
5
1
0
-2
10
0
0
0
2
0
-3
0
0
1
-3
2
2
0
0
2
0
1
0
0
-3
-1
0
0
-4
-5
1
0
0
-4
13
2
0
0
0
3
2
0
0
0
0
0
0
0
1
0
0
0
0
2
7
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
1
0
0
0
-4
-3
0
0
5
0
0
0
-24
3
1
1
0
0
68
-21
2
13
0
-49
-8
30
9
0
1
9
4
0
0
-81
7
1
1
0
17
-5
4
0
0
-16
30
3
0
0
3
7
0
0
0
25
-9
1
0
0
8
3
8
0
0
16
-34
0
1
0
0
35
3
0
0
1
8
0
1
0
0
1
6
0
0
0
0
-3
-2
0
0
-2
0
0
0
-3
14
4
0
0
0
-14
-6
0
0
1
0
0
0
0
0
3
0
0
0
3
-5
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-2
0
0
1
0
1
0
0
0
-5
0
0
-38
-9
-1
0
0
0
-26
20
-19
24
0
20
25
29
-8
0
-5
25
-5
-1
0
-13
-23
18
-3
0
4
12
-12
-3
0
1
1
32
-3
0
7
0
3
0
0
-2
49
0
0
0
6
-3
0
0
0
2
-1
-1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
8
-5
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
-24
10
10
6
0
46
-15
-41
-24
0
-3
-22
24
-2
0
-70
20
-8
-17
0
-31
21
4
0
0
2
9
3
2
0
0
4
-4
0
0
2
1
2
0
0
4
-6
-9
0
0
-1
-2
3
0
0
0
0
0
0
0
2
0
1
0
0
0
-4
0
0
0
0
2
-1
0
0
0
-1
0
0
0
2
2
-1
0
0
-2
-9
5
0
0
-7
-6
-2
0
0
0
0
0
0
0
-6
-4
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
5
0
0
0
-3
0
0
0
0
4
1
0
0
1
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
-1
0
-28
0
7
-1
0
0
29
-13
3
-15
0
43
5
-54
14
0
7
23
-1
2
0
10
0
-3
0
0
-2
3
2
0
0
-4
-4
2
-1
0
0
0
0
0
0
14
-4
-4
-1
0
0
6
5
0
0
0
7
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
-12
0
0
0
-8
3
1
0
0
-10
0
0
0
0
0
-1
0
0
0
1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-11
16
5
8
0
-67
-16
9
10
0
22
-7
20
3
0
-4
17
-7
-1
0
6
0
-1
2
0
5
0
0
1
0
0
8
0
0
0
4
-3
-2
0
0
-1
-8
0
-1
0
-2
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-3
0
0
13
0
-2
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
-12
6
5
0
15
9
-14
-10
0
6
35
-7
-1
0
-6
8
2
6
0
-1
-42
-5
0
0
3
0
2
1
0
0
5
0
0
0
-8
7
0
1
0
3
-13
1
-1
0
0
1
0
2
0
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
3
0
0
3
2
1
0
0
-1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
43
12
-5
7
0
-12
29
65
10
0
8
18
-42
-1
0
30
27
-3
-2
0
-7
-6
8
0
0
-13
-8
-12
0
0
2
0
0
0
0
7
-2
7
1
0
0
12
4
-1
0
1
12
-8
-1
0
0
-5
0
0
0
-1
-1
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
13
-1
0
4
-4
-13
1
0
0
5
0
0
0
-2
-1
2
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-1
0
0
-25
17
-30
6
0
10
-25
-25
0
0
31
-44
25
-7
0
13
9
12
-9
0
4
-3
12
-2
0
10
8
-13
4
0
-1
0
0
0
0
-52
16
2
-2
0
17
-38
6
4
0
-3
-19
-3
0
0
0
7
0
0
0
-1
6
0
0
0
-23
7
-4
2
0
3
-8
0
-4
0
-17
2
0
0
0
34
-3
-3
1
0
2
-1
0
1
0
3
7
-1
-8
0
0
7
5
-2
0
-6
-14
7
-35
0
15
13
-52
41
0
26
-30
-46
27
0
-24
45
9
15
0
-55
-49
2
-35
0
33
13
4
26
0
37
-9
-5
40
0
-31
12
25
31
0
-41
14
2
7
0
28
30
-6
-4
0
-15
10
-53
-13
0
-15
12
-3
-27
-4
-40
-49
-47
-58
0
64
-27
-5
13
0
13
-7
2
-5
0
65
25
10
0
0
53
-34
4
-3
0
11
17
1
-4
0
13
8
1
0
0
0
2
4
0
0
-8
-10
-2
0
0
8
43
-5
0
0
-17
-21
0
0
0
0
-12
-1
0
0
9
-6
0
0
0
0
7
-8
0
0
4
12
-6
3
0
-1
2
-2
0
0
-10
-24
-2
-2
0
0
7
-2
-1
0
11
16
-4
-21
0
-12
0
29
12
0
-25
-4
11
48
0
-17
-25
44
-10
0
-80
-25
43
34
0
65
-6
-37
-24
0
-53
65
9
-14
0
59
-56
-5
70
0
-12
-37
-37
-16
0
5
-33
-5
19
0
7
-25
-6
-20
0
59
-20
59
-7
0
-10
31
-5
-19
0
3
5
-44
-59
-5
-55
12
-53
-14
0
-50
-7
9
7
0
-22
42
-24
-8
0
-43
2
0
0
0
10
6
7
0
0
19
-1
2
0
0
19
0
4
-2
0
0
0
0
0
0
-1
0
2
-1
0
4
3
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-5
3
1
0
0
1
12
-33
6
0
41
6
14
-2
0
25
-8
27
46
0
-26
-43
71
-14
0
31
-7
4
7
0
23
-42
41
-5
0
48
-25
-32
-25
0
5
-84
60
-42
0
50
13
-7
-31
0
5
-56
12
-16
0
1
5
-2
15
0
-6
-10
0
-16
0
5
60
-20
42
0
0
12
30
4
0
22
-10
-9
67
6
-56
-50
-1
34
0
11
2
-22
-4
0
25
-4
0
0
0
25
8
3
0
0
11
3
1
0
0
7
3
-1
0
0
-23
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
10
0
-7
0
0
3
-5
2
0
0
0
0
0
0
0
-4
0
0
0
0
-1
-3
0
0
0
1
1
3
0
0
0
0
2
0
0
-25
-22
0
0
0
-9
8
18
14
0
7
11
-2
46
0
17
-62
-11
25
0
-60
-42
112
14
0
42
-52
-9
-60
0
42
16
-14
-28
0
3
-64
-4
-9
0
-93
64
-71
23
0
-18
15
8
-14
0
-10
14
-8
-1
0
-5
-9
-47
-1
0
0
0
-17
1
0
4
46
8
-29
0
0
-7
-6
0
0
-34
32
5
5
-15
-16
18
25
4
0
31
4
-9
4
0
-14
33
-1
-5
0
19
-8
-4
1
0
5
-6
1
1
0
5
1
0
0
0
0
0
-1
-2
0
0
0
0
0
0
8
-20
2
0
0
-2
8
1
-2
0
-1
2
1
0
0
0
1
2
0
0
-3
-5
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-20
-19
22
-42
0
-48
63
21
102
0
64
31
-16
-4
0
53
60
-80
-13
0
36
-40
49
24
0
4
-47
49
6
0
29
-29
-23
4
0
24
-31
-45
1
0
-42
6
44
-9
0
-22
23
-3
2
0
-13
5
-18
-5
0
-7
8
0
1
0
-1
27
31
-1
0
0
4
-14
0
0
-6
29
-22
0
-10
54
0
14
0
0
11
25
21
-34
0
52
29
-19
-3
0
3
16
1
0
0
18
12
0
0
0
-4
-1
0
0
0
-1
0
-1
0
0
0
0
0
0
0
1
5
0
0
0
-3
-5
-2
-2
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
1
0
0
0
-3
0
0
0
0
-24
-38
24
80
0
-8
-48
8
5
0
24
30
-56
-49
0
-23
8
45
14
0
8
18
34
14
0
8
8
-17
-5
0
-17
8
14
-1
0
-1
24
10
1
0
42
-9
-19
2
0
-5
8
-16
1
0
0
-4
8
2
0
0
0
-2
0
0
1
-12
-3
9
0
0
-6
-4
1
0
-5
6
19
0
-53
27
1
-4
0
0
-28
-7
8
0
0
50
-12
-1
6
0
0
5
0
0
0
12
2
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
4
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
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
8
23
48
0
67
17
-4
-57
0
-21
-94
0
58
0
13
1
-6
19
0
5
8
-14
8
0
4
-14
27
1
0
-1
8
-4
-9
0
-5
14
14
1
0
42
30
-77
-59
0
-23
25
-4
-4
0
2
-3
-1
12
0
0
10
6
0
0
0
-25
1
4
0
0
0
0
0
0
3
-6
7
0
-14
-8
7
0
0
0
54
26
0
0
0
-9
1
-10
-9
0
9
0
-4
-3
0
-24
8
0
1
0
0
-25
2
0
0
-1
0
1
0
0
0
-1
0
0
0
0
-4
0
0
0
-2
8
3
1
0
-3
1
-5
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-45
-32
-51
-25
0
-32
-40
48
86
0
-25
53
-60
27
0
27
-5
-22
-40
0
-7
-1
-3
12
0
-1
-1
8
3
0
-10
-8
14
5
0
20
-10
8
1
0
-56
-13
-9
-43
0
20
31
-29
0
0
-4
7
-20
-3
0
-4
0
13
0
0
0
6
1
-8
0
0
-5
7
-2
0
-7
-7
13
0
26
13
-22
1
1
0
2
2
1
-5
0
-34
10
-46
14
0
9
44
6
0
0
18
-31
-1
-25
0
-3
15
3
1
0
41
-29
-12
2
0
-10
2
2
0
0
24
-4
-1
0
0
-7
16
1
0
0
-3
7
3
0
0
0
0
2
0
0
0
0
-2
0
0
4
7
-3
0
0
0
0
0
0
0
0
-1
1
0
0
-1
-3
-5
0
0
-2
6
-26
34
0
38
-63
55
-82
0
41
30
11
-34
0
-31
41
91
18
0
-1
-110
-1
-7
0
-33
-5
-33
-9
0
48
8
-31
-14
0
0
-14
-21
-4
0
6
1
0
-1
0
-2
-5
0
5
0
33
1
-7
-3
0
-38
-35
-12
26
0
-33
-73
6
18
0
-19
58
-24
-20
0
38
10
-3
-42
2
-11
-29
-10
-56
0
6
25
-16
7
0
-22
52
9
-25
0
-4
9
6
-1
0
40
-4
1
10
0
17
-22
3
1
0
-80
-7
4
1
0
0
-4
0
0
0
-9
18
0
1
0
-1
-51
9
0
0
8
9
0
-1
0
0
0
0
0
0
3
-7
1
0
0
0
-1
-1
0
0
0
2
0
0
0
0
-3
1
0
0
1
0
0
0
0
-1
36
5
-19
0
-23
-49
-19
22
0
-9
17
25
-26
0
58
-63
35
10
0
33
23
15
-2
0
-16
4
7
1
0
-14
14
-7
-2
0
13
8
1
0
0
-5
-1
25
0
0
20
3
-41
69
0
26
-60
-61
3
0
-49
-57
26
-19
0
44
33
21
20
0
6
-13
0
-3
0
19
-31
-49
20
-1
-21
31
-5
-5
0
1
-47
-3
1
0
22
0
-8
5
0
1
20
1
1
0
-17
-3
-1
5
0
0
3
0
0
0
1
7
-3
0
0
-4
1
0
0
0
4
4
0
0
0
-4
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-16
14
-6
-10
0
70
26
-31
-13
0
30
-42
-1
-23
0
-25
11
-9
-8
0
-42
-48
30
15
0
-30
6
8
-7
0
0
23
17
-2
0
-3
-9
-7
-7
0
-15
7
-14
48
0
4
34
63
-23
0
33
8
2
-5
0
8
-18
25
37
0
33
17
-46
1
0
6
6
29
0
0
7
5
11
12
-46
25
47
-5
10
0
-32
-31
27
-7
0
-12
-25
22
22
0
17
-8
4
0
0
13
-15
-3
-1
0
7
43
-7
0
0
8
1
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
8
1
0
0
0
-1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-3
1
0
0
54
34
8
-84
0
32
-29
37
6
0
-122
66
-5
-8
0
-50
21
-24
10
0
-8
-13
16
-5
0
7
8
1
0
0
0
7
0
0
0
0
1
0
-1
0
-25
-15
5
9
0
-10
-18
-47
-58
0
-77
17
49
7
0
35
16
-6
-8
0
35
-9
-90
-29
0
0
1
-29
7
0
4
17
-31
7
18
6
-24
-4
5
0
-6
44
-17
1
0
-26
25
7
-16
0
1
0
6
1
0
18
8
-6
14
0
14
7
-2
0
0
0
0
1
0
0
-1
1
0
0
0
-5
8
0
0
0
7
5
0
1
0
-4
-7
3
-1
0
0
0
2
0
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
3
-44
-14
1
0
10
66
-43
53
0
-13
3
26
2
0
9
62
-13
4
0
30
-110
-17
25
0
25
7
3
16
0
-5
-6
8
2
0
-18
9
-4
0
0
6
7
-54
39
0
-13
-19
23
-49
0
-13
53
47
0
0
-21
36
75
10
0
9
-30
45
-13
0
-8
23
30
-14
0
-10
-35
3
-3
5
12
101
-15
19
0
13
16
13
-6
0
11
-32
-28
-7
0
5
53
7
-1
0
8
23
0
6
0
-2
1
1
-1
0
-15
8
-1
1
0
0
-1
0
0
0
3
1
0
0
0
0
7
6
-1
0
-2
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
69
-3
-109
0
-75
-1
6
18
0
48
-21
-26
-23
0
25
17
-5
3
0
-1
-31
2
-3
0
-1
0
-2
1
0
0
-1
4
0
0
17
-15
0
0
0
-8
-30
-16
-30
0
36
-8
67
-8
0
25
-51
3
-13
0
-8
-14
5
27
0
-1
1
-25
-19
0
0
-3
22
1
0
0
13
20
-6
-3
-9
75
3
6
0
4
63
-13
3
0
-5
33
2
-22
0
-12
-29
-3
2
0
14
-7
9
10
0
0
3
-3
0
0
1
0
0
0
0
-2
-2
0
0
0
5
-1
0
0
0
0
-13
0
1
0
0
0
1
0
0
0
0
-1
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
37
-38
-15
12
0
39
18
-82
-39
0
-49
8
33
10
0
9
42
8
-69
0
-9
-19
1
-22
0
-5
12
-10
0
0
8
1
0
1
0
0
9
-6
0
0
-20
-16
37
25
0
3
-41
-80
-2
0
-6
38
41
23
0
0
13
3
-13
0
-23
-23
32
-2
0
0
-5
33
-18
0
0
-37
-17
10
4
0
2
-13
-15
0
-16
9
-6
-8
0
1
-8
14
-23
0
5
2
-16
6
0
-35
-16
4
-3
0
-3
-2
0
0
0
22
-10
3
0
0
0
0
0
0
0
1
-7
-1
0
0
0
4
-4
0
0
-1
-1
-3
-1
0
0
1
-1
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
-22
-73
-85
0
-8
92
26
-46
0
-29
-16
24
-8
0
-13
-8
-8
13
0
30
7
-24
20
0
0
0
-8
5
0
0
-10
5
0
0
-1
-7
0
0
0
12
12
-7
-35
0
3
-84
-45
32
0
-3
-51
29
41
0
6
21
16
8
0
0
-13
63
25
0
0
-8
8
6
0
1
18
-1
17
33
-19
19
-13
8
-22
12
-15
47
12
-6
2
16
28
21
31
-5
-11
-44
22
61
38
-6
-32
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-16
1
-6
-4
-8
-12
22
2
0
-3
15
-5
0
-2
17
4
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
9
-16
-5
-1
56
-82
10
-4
1
-8
6
-5
0
1
0
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
-20
-24
-1
0
1
12
2
-3
0
-1
24
-2
0
0
-7
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
17
-13
-46
33
-70
0
13
20
-41
42
3
27
-28
-6
103
-27
-17
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
74
-42
-18
0
-42
8
16
9
0
0
4
12
-3
1
3
-5
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
22
-25
9
18
-47
30
5
22
-6
0
29
0
-6
0
-5
-34
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
-7
-6
0
-7
15
0
-8
0
2
-20
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-25
36
21
26
-8
-22
11
-14
24
87
47
54
25
-2
-24
65
-27
43
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-5
-5
2
-1
-1
24
-4
1
0
8
-20
1
0
-1
-8
20
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
12
2
-17
1
-17
13
-5
2
0
9
-2
-1
0
1
-7
-19
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
10
0
0
0
-1
2
0
0
0
6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
-26
80
-43
-15
-75
2
29
-6
18
13
12
-5
5
-19
7
-13
-7
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
42
-8
8
0
0
35
-35
-10
-8
0
3
9
0
0
0
27
4
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
4
35
-3
-8
6
1
-25
-5
0
1
2
1
0
28
2
-9
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
-2
3
2
0
0
-2
7
1
0
0
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
50
-9
-29
16
29
-44
-15
88
-27
7
10
5
-1
-6
16
-6
17
-28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
19
2
49
0
-1
-1
12
-13
0
-2
0
6
8
4
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
0
5
0
0
-13
8
1
4
0
0
8
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-24
-9
-3
0
-8
-3
0
0
0
-5
-2
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-4
39
54
-6
49
-17
-73
2
23
-19
37
-9
43
16
-1
29
98
-19
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
29
5
23
-7
-5
30
-5
-15
0
9
-1
0
0
0
10
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
5
0
0
2
0
8
2
0
0
0
1
-1
0
0
-3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
3
0
0
28
-17
1
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
25
23
45
32
-28
2
37
-22
21
-10
2
2
1
-5
1
-10
5
-19
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
-1
0
2
0
0
0
1
-2
0
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
0
0
-2
1
-1
0
0
0
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
32
-30
-10
26
62
17
-24
10
-13
0
15
21
-6
-7
-30
13
20
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
31
-22
10
-8
-2
-18
-5
19
3
1
-4
17
3
0
-1
1
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
14
6
0
0
0
1
-1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-45
9
9
2
-29
53
13
14
2
20
-5
19
1
1
-10
-3
8
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
9
-2
19
0
-2
-24
41
14
0
4
8
-3
0
-2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-11
24
-15
58
5
-27
-13
-2
0
9
16
4
0
0
1
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-25
13
-4
-9
-1
27
30
-8
0
0
3
-6
0
0
0
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-52
90
5
1
5
108
-42
21
-2
5
-19
-23
6
2
-3
-30
31
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
29
-8
0
-6
5
14
6
3
0
-2
2
14
0
0
-17
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-24
10
-8
-1
14
-9
-8
1
-1
1
12
-8
0
-2
-3
-3
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
12
3
0
-4
-23
-22
9
0
0
0
-1
0
0
1
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-7
42
-2
-14
41
-21
-2
-3
-10
31
16
-2
0
20
0
8
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
-1
0
4
0
13
-6
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-19
-10
4
0
8
-15
5
6
0
0
-2
1
0
0
0
8
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-2
0
0
-2
0
3
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-28
31
-3
-1
-12
-8
-3
13
8
-21
-2
-16
19
2
0
41
31
-10
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
0
-1
0
0
-2
0
0
-1
2
0
0
0
-1
-6
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
15
-14
0
0
-6
10
9
-1
0
-17
-13
2
0
-1
-5
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
2
0
0
0
-1
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
17
-1
19
7
-14
-9
26
-23
9
-6
8
29
24
0
3
35
-3
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
10
0
0
0
-6
0
0
0
0
-6
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
3
-2
-1
-4
3
13
5
0
0
-3
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
13
-2
1
4
1
6
-1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
44
21
1
-5
-8
-1
-19
14
-5
0
-7
-39
8
0
0
-2
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
0
0
3
-2
-9
0
0
-3
4
5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
1
1
4
1
2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
-4
0
0
-3
0
5
0
0
0
1
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
5
-19
-3
-17
24
24
-5
4
0
-14
-6
-6
0
-2
-8
-16
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
19
4
0
-2
-4
4
7
8
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
5
0
0
1
-1
2
0
0
1
0
0
0
0
0
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
14
-5
-6
-5
-28
-32
25
-1
5
-3
7
3
-9
-6
-3
1
16
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
1
0
0
0
2
2
0
0
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
6
5
-4
4
15
15
4
3
0
2
0
0
0
0
-1
-4
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-3
1
1
2
1
-1
2
0
0
0
1
2
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
38
16
-42
1
-3
16
-22
16
-8
-6
27
4
3
0
-16
-22
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-17
-2
15
17
31
-31
8
32
-2
6
-6
-8
-5
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
4
0
0
-19
-4
1
-6
-23
-40
-15
11
-28
-2
19
-10
7
-23
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
66
57
-12
95
-8
-12
-53
37
66
0
47
-75
11
-9
0
-24
2
-2
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-8
4
-12
29
-13
23
14
2
-2
-5
7
-22
0
-12
39
13
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-14
0
-6
-10
2
-17
42
8
3
0
16
0
0
2
4
24
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-1
-1
-6
4
1
-12
22
-13
-12
-63
-18
-11
14
7
5
-28
-15
-52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
73
-16
1
29
-8
22
-8
8
-17
0
0
-94
4
-34
0
8
-28
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-18
-21
20
-1
-7
-8
4
9
8
4
25
6
6
0
1
14
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
2
-1
0
-12
3
-1
-4
0
0
0
-3
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-2
14
-7
-7
-22
-1
0
4
36
13
16
-23
54
17
-36
29
7
20
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
-5
-24
12
-2
-13
13
-16
-1
0
14
-6
20
4
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-31
15
-8
0
2
-30
-13
19
1
0
-2
0
2
0
16
59
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
14
0
-16
10
0
-4
-1
0
1
-1
-2
0
-8
-16
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
-3
-4
-24
44
-104
-27
-13
-31
-22
46
67
-4
49
-48
-58
13
-12
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
17
-19
16
2
-70
-7
7
5
0
5
7
2
-1
5
3
6
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-42
8
1
-5
-27
2
25
0
0
-3
-5
-27
-4
0
-1
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
-4
2
2
0
25
-1
-3
0
-3
-4
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
-19
-8
-27
1
-37
-7
-26
-22
32
86
-13
-1
49
-70
-15
-81
-32
4
84
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-11
11
-4
-11
6
-51
-3
9
37
-7
42
14
19
-8
-35
6
-25
-5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
12
-4
-6
3
8
14
-19
-8
7
0
-3
0
-2
0
2
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
3
0
0
6
8
0
7
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-45
5
26
15
-1
-75
-10
111
-33
-19
90
-49
-8
-3
8
19
44
9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
3
-29
-56
42
-9
27
48
47
0
29
-12
25
-22
6
-16
-17
5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
7
19
1
0
2
-6
4
0
0
0
0
-3
1
0
1
-5
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
52
-54
-18
-35
-66
-35
80
18
23
15
16
-29
-59
5
44
-49
45
13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
-34
53
3
14
-16
-9
-9
1
0
3
-13
8
0
2
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
14
0
0
3
-6
-7
1
0
2
3
-1
0
-2
1
-10
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-6
13
0
0
2
2
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
4
-57
-8
24
-8
48
-57
21
23
31
-47
10
15
-17
-7
-27
-8
-22
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-23
133
-27
-98
5
-33
1
-6
19
-2
0
31
9
1
-2
7
-24
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
9
41
-1
10
-14
-10
1
-1
5
3
-12
-4
-9
0
5
-7
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-30
-17
18
-22
-5
24
3
-8
1
0
0
-17
0
0
0
-7
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
19
68
23
34
-13
35
45
72
3
-29
78
-11
-33
-22
-31
28
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
1
-2
-3
-18
18
-7
-30
15
-78
-22
-69
-4
106
88
51
-42
-11
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
26
21
-23
-8
41
1
-4
-17
0
8
2
8
0
0
5
-5
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-21
18
6
6
-9
35
0
-1
0
13
4
-2
0
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-50
43
-7
93
-37
52
17
33
3
-8
-26
-26
1
8
-9
47
-59
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
-27
9
2
6
-13
20
-48
-20
47
11
13
-8
39
-51
-63
3
72
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
-10
0
0
16
6
-2
2
-1
0
12
4
3
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
-16
0
1
1
-6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-37
23
-38
55
-14
-49
-41
3
-54
0
46
-29
19
15
0
84
-12
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-42
-11
16
54
-14
41
-25
-9
-6
55
-45
83
-91
4
-7
-42
94
-6
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
23
0
7
9
-12
-29
1
-4
13
7
0
0
25
17
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-8
-7
0
0
10
0
10
0
0
1
0
1
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-43
-5
-8
35
-35
48
-8
5
-10
6
-2
4
-4
-1
-1
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-22
-22
-18
-14
-49
-11
44
120
-36
15
-18
13
57
-21
-46
-23
-37
-16
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
8
7
-6
8
7
7
-30
1
0
3
-22
6
-2
1
1
14
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-19
-9
-3
6
5
-8
-1
4
0
1
1
5
1
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
19
-58
43
10
-12
22
-94
-66
-18
-2
12
2
-70
-42
-9
-59
31
-15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-16
-11
46
-44
61
-23
-31
105
5
-25
39
90
-29
-137
-24
-39
51
-27
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
2
-8
0
34
8
-1
-4
-7
1
32
-10
2
0
-19
-6
-15
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
1
-10
0
2
-4
-7
-6
-2
0
-1
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-53
40
29
8
-17
-13
27
-10
-19
6
-8
-45
-25
12
-20
1
3
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-20
-22
5
-55
-1
15
-20
29
13
4
3
-30
66
46
-1
33
53
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
35
-6
7
0
30
-33
19
7
-1
0
-4
0
0
0
0
8
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
24
17
-42
11
26
5
15
-41
-3
-5
-13
-6
2
-8
0
-4
3
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
3
114
-71
26
-1
47
-91
-29
-4
-20
-26
12
-20
4
25
43
-33
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-14
10
20
-8
33
7
6
-34
0
3
-9
-5
0
0
8
13
25
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-3
0
0
0
7
0
-2
-2
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
28
25
-31
-18
-8
29
52
-37
22
-35
0
25
39
8
-42
1
-6
6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-32
-22
-40
57
-9
15
-18
23
12
-8
-19
21
37
-70
-14
-6
49
-12
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
7
56
28
-14
-4
-14
1
65
-4
41
3
6
-13
9
26
12
5
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
25
23
41
23
-3
-8
10
-17
33
0
15
-20
13
-1
0
5
-9
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
-37
13
4
2
-9
-30
-5
-7
0
9
3
10
0
6
13
-12
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
4
-28
-2
-1
-24
7
1
-2
0
8
-1
6
-3
0
5
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-10
-30
21
5
10
3
-15
-15
50
-12
39
-3
48
14
1
6
-28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
27
-10
21
-8
-20
0
-16
-5
-3
-7
13
-6
-6
0
-4
9
-12
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
42
5
23
-8
13
-13
-40
-7
8
0
12
-19
2
0
6
2
-5
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
5
-10
-5
16
-29
29
10
6
0
-2
-9
1
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
15
9
20
-37
33
20
68
14
78
-14
15
-16
-15
-6
-40
52
-21
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
32
-7
41
-15
7
40
-5
4
1
-2
5
16
8
-4
0
4
1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-13
-14
-1
1
0
-8
-16
-2
0
3
5
-5
0
-2
-10
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-14
4
0
0
-5
0
3
0
0
0
-2
-1
-1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
17
69
-1
28
4
11
10
33
-11
10
-7
8
59
-12
19
5
-72
-31
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
5
-35
-4
-17
-47
42
37
-5
1
0
16
-7
0
43
-30
10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
31
21
12
-4
-1
-22
8
14
2
0
-25
23
8
0
-6
-41
27
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-41
-32
0
1
1
6
-22
-1
0
2
-2
1
0
-2
6
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
42
45
9
42
5
-38
8
-4
-15
-42
41
-8
9
-7
10
-36
20
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
13
19
0
-5
0
-5
0
1
-3
0
6
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
3
0
5
5
14
14
-2
4
0
0
0
0
0
-1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
5
2
0
0
0
0
3
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-15
13
22
15
-23
23
-4
-4
21
1
8
14
-6
9
-33
44
17
-21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-27
14
2
-1
-3
-1
-5
-2
4
0
1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
25
5
-8
8
-18
-16
-3
-3
0
-1
-4
-1
0
3
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
0
1
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
25
-14
9
12
8
46
7
12
0
-12
-86
-8
13
-3
-20
6
4
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-8
3
0
0
0
0
-1
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
1
3
0
0
0
0
-6
7
0
0
0
1
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
13
43
20
-28
-15
8
8
49
8
-6
10
-35
-7
12
-4
-2
-38
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
10
0
0
1
20
-1
1
1
-1
0
-1
0
1
0
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-58
-5
0
16
2
-13
3
2
0
2
3
0
0
0
1
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
6
0
0
0
1
0
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
23
75
-7
29
31
-28
-30
49
1
6
43
-21
24
5
23
21
-1
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
-15
-1
12
0
-41
16
8
-10
-2
-43
9
18
1
-1
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-75
25
-1
0
0
8
4
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
24
1
0
0
-4
-2
0
0
0
1
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-9
6
33
5
28
-40
-17
19
34
-13
7
10
2
-1
-7
27
12
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-1
-3
-1
-13
-7
-8
-33
50
0
0
-12
8
-2
-1
0
-25
5
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-4
0
-25
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
3
4
-8
0
1
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-57
-2
-2
7
8
2
6
-8
-1
-2
42
3
20
-17
4
-13
19
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
6
12
0
1
-4
19
0
0
-1
7
15
-6
0
2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
19
0
0
0
4
7
-2
2
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
-1
-1
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
12
-3
-3
12
-16
-17
-8
3
-3
-19
3
12
-1
-19
0
-48
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
24
0
0
-2
49
-25
5
-9
0
0
16
1
0
1
31
10
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-3
0
1
-2
30
0
1
0
1
6
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
-1
-7
4
3
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
20
-33
8
1
6
-13
5
-22
-2
2
7
8
1
-1
1
7
27
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
2
-1
0
8
5
-18
1
0
0
1
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
42
-31
3
-1
0
-8
5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
28
34
9
8
-29
17
-22
29
31
-6
35
-8
1
0
22
-49
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-6
-2
-4
0
14
-2
-3
0
0
0
1
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
20
-9
0
0
-13
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
41
23
-7
-13
5
7
22
5
5
4
-7
19
-8
-1
5
8
9
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-37
2
0
0
-2
-17
0
-2
0
2
-5
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
5
1
-2
0
2
-14
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
12
42
-25
-15
34
25
52
20
9
8
-13
-24
0
27
-3
25
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
30
2
0
-2
0
25
6
0
0
1
-8
-1
0
-5
-4
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
7
-7
2
0
-13
3
20
-3
0
1
-1
1
0
-1
-1
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
-1
0
0
2
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
22
-19
18
4
-36
39
44
8
-2
2
-2
0
-31
-1
9
-4
8
23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-21
15
-21
4
8
-1
2
-12
-9
0
-4
0
1
-1
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
1
4
6
4
8
-2
0
-16
-16
11
-5
3
-37
-13
-5
9
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-20
0
28
-18
1
-66
-58
50
27
0
42
-66
-9
-9
0
-88
-63
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
30
25
41
18
-40
43
-23
-26
-7
-4
56
22
2
0
-8
34
20
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-5
0
2
42
14
-3
-8
-6
0
-1
-6
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
6
-2
6
-25
-1
19
-10
27
24
-6
-15
-34
5
-10
-14
-48
-40
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
30
0
-13
31
-18
-55
-31
28
7
0
53
-59
42
-3
-1
7
6
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
33
13
-14
2
13
-46
19
6
1
-4
7
29
0
0
-1
13
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
3
0
0
0
-8
1
0
1
0
0
0
1
0
-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
-1
5
9
43
-1
-7
-7
-10
67
35
31
79
5
7
-13
-18
-7
9
10
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
-19
-45
28
10
-36
-26
42
28
-18
-6
-19
8
-24
-61
-18
4
-12
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
49
-12
53
-6
-10
3
-28
19
0
5
-35
4
1
0
-10
15
3
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
1
-4
3
0
0
-1
4
-1
0
-6
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
23
12
4
9
-14
1
-11
15
-32
22
-32
-26
-1
26
-43
-30
11
3
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
19
36
-38
8
8
6
-3
-45
-12
28
-19
23
-20
8
24
1
1
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
80
0
-29
9
4
31
-20
8
-13
17
-19
13
9
0
7
0
-9
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
2
-5
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-3
25
-19
-10
-72
40
60
43
95
-5
-36
-9
12
-4
-28
7
66
-29
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
41
28
0
0
17
4
-7
-1
0
1
0
-3
1
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
58
24
-33
-8
92
-4
-17
0
-1
17
23
7
-1
0
23
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-6
0
0
7
-3
1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
22
-6
-90
38
-24
-10
1
29
65
-16
-74
27
32
-5
-23
-60
-13
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-27
69
5
-16
4
-15
-13
12
4
0
2
7
12
0
0
-1
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
-3
15
-1
-2
-1
0
2
0
-3
-6
-4
8
0
0
7
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-46
-25
14
53
-19
-29
-92
73
-41
-72
37
24
-31
-6
-7
-14
-20
40
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
47
-74
-20
-2
33
22
-18
24
2
-53
25
-3
1
0
-31
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
45
-24
9
0
12
23
-17
-14
5
0
8
33
-8
0
7
-45
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-4
-8
5
-1
1
4
-4
2
0
1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-15
16
10
11
64
-77
-51
-14
54
-33
108
-9
-36
-49
-6
-5
-57
-28
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-42
-30
-31
-102
0
-93
-29
38
0
-1
41
-2
-9
-5
1
37
4
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
40
-30
-24
8
-10
41
-24
2
1
9
-31
13
-3
0
7
-30
5
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-36
17
-14
0
3
0
3
-6
0
0
4
2
0
0
0
-4
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
0
5
20
51
13
13
-46
-96
-24
-16
-38
22
-9
43
70
-3
8
34
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
1
-1
-2
31
23
-15
2
-9
22
-23
19
10
1
-49
73
-7
-29
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-17
2
45
7
17
-43
-22
43
10
-4
10
24
-4
0
-7
53
8
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
-5
2
-13
-20
-4
1
0
0
3
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-26
-6
71
7
-109
12
72
-59
-25
17
27
-79
6
15
29
-58
31
-8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-1
-2
3
-40
35
7
16
12
-33
73
6
44
47
18
-30
-50
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-16
-4
5
10
20
7
-22
-3
2
-8
-17
3
1
-2
6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
4
0
0
1
-4
5
0
0
0
-1
1
-6
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-14
-12
-22
-14
-72
-20
62
-5
22
-28
-19
2
-13
44
-26
21
84
9
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-32
-4
11
14
-46
-5
-16
-8
-13
-29
87
-54
32
-46
-35
9
48
-7
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
-7
29
1
-2
-23
25
-2
7
0
-8
3
1
0
-1
23
-24
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
0
0
0
7
-3
0
0
0
0
3
0
0
-13
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-53
-46
3
-49
19
-76
88
8
-16
9
4
25
15
-29
-30
-26
2
-24
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-6
-5
-25
1
-30
22
10
27
45
43
-1
5
-29
6
62
30
26
-24
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-52
71
-12
-7
-5
7
-1
-7
-10
0
29
-27
4
0
-13
37
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
2
25
-1
-9
3
8
10
4
0
0
0
-1
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
-39
8
-33
-52
53
-28
-59
7
12
-7
7
20
44
-3
-4
-43
27
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-40
4
1
50
-48
-49
47
35
-36
16
-49
81
-10
-33
1
-19
-44
41
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
13
3
8
12
1
70
13
-17
8
-16
-24
15
-1
-8
9
12
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-9
-6
2
14
25
34
-8
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
78
-7
-54
-46
10
-60
77
4
-56
-16
37
-20
18
-18
5
15
-43
21
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-20
-62
16
-12
-93
-43
64
-48
29
-14
-20
-12
9
-55
-6
-3
9
20
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
8
-4
-5
-4
9
-8
-15
-10
0
-5
1
-4
0
0
31
-4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
8
-3
2
0
4
8
4
0
0
0
2
4
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-28
-36
-17
39
49
12
-24
-25
-7
-32
54
6
5
-27
-3
-31
60
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-26
-42
-1
12
49
3
-16
11
-76
-24
-11
-1
-25
61
-3
-33
-12
6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
59
-6
-10
-19
31
-24
-4
6
1
0
12
-19
-4
0
-1
-59
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
17
-6
0
-1
-2
13
-8
0
0
-1
0
1
0
1
-2
-6
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-19
-34
12
-69
-6
14
-37
-56
-31
-25
93
-26
-7
-29
2
18
7
35
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-54
-33
-36
4
-47
-22
3
30
-2
0
-50
12
22
17
-32
-2
49
-1
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-4
0
0
24
-18
2
0
0
15
3
-9
0
0
1
-18
-22
0
0
18
123
19
0
0
11
55
48
0
0
-80
52
25
0
0
14
0
-31
0
0
10
110
7
0
0
-70
39
37
0
0
40
-22
13
0
0
33
70
58
0
0
70
24
-6
0
0
4
57
25
0
0
83
86
-16
0
0
-10
-56
42
0
0
23
-31
6
0
0
66
-59
-12
0
0
-3
72
3
0
0
36
12
2
0
0
44
-46
23
0
0
-42
13
59
0
0
6
0
43
0
0
-41
38
46
0
0
52
-4
66
0
0
-46
-47
27
0
0
-7
36
45
0
0
57
20
-30
0
0
51
11
48
0
0
15
49
-25
0
0
17
16
20
12
13
33
-60
-36
0
0
-3
43
30
0
0
18
9
4
0
0
-19
10
38
0
0
2
0
14
0
0
63
-9
79
0
0
85
68
1
0
0
-2
-23
40
0
0
17
-6
57
0
0
9
-52
25
0
0
-14
10
-48
0
0
-5
36
36
0
0
52
13
65
0
0
4
54
17
0
0
8
7
-6
0
0
7
52
5
0
0
-11
52
-30
0
0
27
84
-70
0
0
76
26
69
0
0
-2
-50
18
0
0
-30
10
15
0
0
-7
-17
7
0
0
4
-45
-44
0
0
25
-25
-13
0
0
-34
-13
42
0
0
-24
71
-37
0
0
24
102
9
0
0
0
-58
-14
0
0
-49
-3
70
0
0
8
-17
23
0
0
9
60
14
0
0
-22
-5
-66
-5
13
77
13
85
0
0
-23
21
-8
0
0
15
-20
-25
0
0
-26
13
2
0
0
22
30
11
0
0
-14
13
-2
0
0
6
58
118
0
0
17
64
-3
0
0
41
46
-27
0
0
77
-32
23
0
0
-18
10
-2
0
0
63
13
-16
0
0
24
-7
-12
0
0
-1
4
0
0
0
-24
37
-6
0
0
50
13
-17
0
0
-22
37
-7
0
0
12
0
53
0
0
2
0
6
0
0
-5
-23
-58
0
0
28
24
-5
0
0
44
42
7
0
0
-19
4
-22
0
0
-2
-41
-9
0
0
3
-50
33
0
0
-18
46
-23
0
0
2
-83
-31
0
0
0
75
-43
0
0
7
41
28
0
0
-75
-13
-78
0
0
3
11
28
0
0
57
-44
-43
-15
9
-16
-43
-31
0
0
-5
62
91
0
0
-43
-27
11
0
0
56
16
-62
0
0
52
-3
-56
0
0
25
-11
42
0
0
45
26
-14
0
0
14
33
17
0
0
-3
14
22
0
0
7
41
-2
0
0
74
-11
21
0
0
5
1
49
0
0
-30
30
-2
0
0
-5
13
-8
0
0
-2
19
-25
0
0
-8
-88
3
0
0
-14
44
-44
0
0
3
-7
-25
0
0
-52
54
54
0
0
-13
-21
8
0
0
-46
-5
23
0
0
-57
-26
-17
0
0
-9
-22
-2
0
0
-6
5
-1
0
0
-26
-54
14
0
0
2
-8
-8
0
0
-4
25
-33
0
0
0
42
4
0
0
25
3
-30
0
0
23
19
17
0
0
-34
-5
-15
0
0
68
-24
-18
2
-4
-78
-25
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
25
0
0
12
-24
-9
0
0
64
-27
-31
0
0
-34
48
8
0
0
55
35
-25
0
0
-33
-41
34
0
0
-8
-5
2
0
0
-40
-34
2
0
0
-23
65
-51
0
0
3
-5
43
0
0
72
13
27
0
0
5
11
18
0
0
-23
107
21
0
0
30
3
1
0
0
-46
18
0
0
0
-2
74
-24
0
0
66
22
8
0
0
-19
65
30
0
0
13
-56
8
0
0
-28
-4
4
0
0
28
21
17
0
0
8
-1
25
0
0
-2
-11
-8
0
0
80
12
6
0
0
16
54
16
0
0
5
14
25
0
0
0
45
-9
0
0
-25
-25
8
0
0
16
1
46
0
0
-6
27
-34
0
0
-105
38
31
-1
-10
-24
103
1
0
0
50
-3
25
0
0
-52
-55
22
0
0
13
53
9
0
0
22
51
-31
0
0
46
-39
-10
0
0
20
5
25
0
0
25
-23
6
0
0
-12
14
-42
0
0
31
97
-26
0
0
16
81
28
0
0
79
-57
-37
0
0
-14
-17
61
0
0
-3
6
50
0
0
19
-27
-41
0
0
-31
-6
5
0
0
26
-41
-8
0
0
16
-52
-15
0
0
-60
18
-19
0
0
-8
5
-5
0
0
-42
-9
5
0
0
12
20
21
0
0
29
42
-9
0
0
-6
16
6
0
0
10
32
-15
0
0
-5
-76
-15
0
0
-2
-47
5
0
0
0
-13
-1
0
0
5
-18
1
0
0
26
3
23
0
0
25
-4
4
0
0
28
12
13
50
-25
-38
75
-9
0
0
30
-55
-5
0
0
-44
96
5
0
0
-10
18
63
0
0
-29
49
39
0
0
4
4
2
0
0
-5
17
-1
0
0
5
-2
-12
0
0
-15
-51
-1
0
0
-18
-1
8
0
0
19
-47
22
0
0
-27
49
-14
0
0
10
-2
-24
0
0
19
12
-2
0
0
3
-6
0
0
0
-15
29
-43
0
0
-14
-25
12
0
0
-31
12
2
0
0
-10
24
9
0
0
14
6
-1
0
0
-48
17
-2
0
0
8
-20
-5
0
0
0
-3
1
0
0
1
-6
0
0
0
21
-42
5
0
0
1
12
1
0
0
0
-17
0
0
0
7
-14
7
0
0
-6
-3
3
0
0
30
49
6
0
0
0
20
-3
0
0
6
25
8
14
-10
30
-79
10
0
0
-20
-22
-13
0
0
9
-23
-30
0
0
-32
59
-49
0
0
-44
45
-12
0
0
74
5
-3
0
0
-13
16
15
0
0
-5
-17
-2
0
0
-113
-8
6
0
0
43
10
-84
0
0
68
-13
1
0
0
18
-12
-21
0
0
69
-17
50
0
0
-1
-5
-4
0
0
-5
-3
29
0
0
2
-1
-7
0
0
26
8
-4
0
0
-15
39
5
0
0
16
-28
-7
0
0
-1
13
-2
0
0
24
35
1
0
0
0
-5
0
0
0
0
2
-1
0
0
1
0
0
0
0
16
-9
8
0
0
-1
-29
1
0
0
-1
34
3
0
0
0
1
-1
0
0
6
45
-5
0
0
25
-61
-10
0
0
-15
3
0
0
0
-8
21
0
-11
-33
-26
21
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
40
70
0
0
14
-1
-42
0
0
83
27
54
0
0
-4
-1
-13
0
0
-30
-25
8
0
0
-7
41
3
0
0
-41
7
-4
0
0
26
37
26
0
0
129
9
-25
0
0
17
-5
12
0
0
-15
70
-2
0
0
54
-6
15
0
0
30
43
-29
0
0
14
9
-30
0
0
29
1
3
0
0
9
-5
2
0
0
6
4
5
0
0
2
-5
7
0
0
15
39
23
0
0
4
-7
13
0
0
0
13
72
0
0
68
-22
0
0
0
40
28
-23
0
0
-16
-58
-45
0
0
2
-8
69
0
0
-89
2
27
0
0
-20
-65
41
0
0
-48
-62
-30
0
0
-13
-50
-38
0
0
-111
58
22
0
0
-49
-5
0
0
2
-18
-6
-42
0
0
-26
4
-6
0
0
32
78
58
0
0
27
51
-4
0
0
-9
51
13
0
0
-28
-32
31
0
0
62
15
19
0
0
-21
-37
9
0
0
26
18
-21
0
0
21
14
-6
0
0
-4
41
-1
0
0
-26
-66
29
0
0
-6
-8
-2
0
0
-5
69
1
0
0
7
-23
30
0
0
13
107
9
0
0
-27
25
25
0
0
-27
-18
-12
0
0
-13
3
7
0
0
-29
-16
21
0
0
27
-4
-21
0
0
24
-62
-48
0
0
22
32
-3
0
0
-30
-38
-25
0
0
-49
-22
-36
0
0
40
5
43
0
0
57
33
45
0
0
-7
-19
32
0
0
-4
-18
-8
0
0
65
-48
-7
0
0
-105
5
5
0
0
54
-13
-28
3
-2
-54
-7
-98
0
0
-4
31
17
0
0
-7
50
-9
0
0
-37
17
-4
0
0
-54
-20
21
0
0
49
-42
-7
0
0
14
2
13
0
0
-9
8
3
0
0
23
37
1
0
0
-24
24
0
0
0
-24
0
0
0
0
-2
-17
2
0
0
2
1
0
0
0
-5
7
0
0
0
0
-18
1
0
0
-42
42
12
0
0
53
-5
-15
0
0
1
-13
17
0
0
-1
13
0
0
0
-17
7
16
0
0
25
-26
-62
0
0
-3
-34
-74
0
0
-75
5
-6
0
0
84
-41
-59
0
0
-5
37
60
0
0
46
10
2
0
0
8
-13
-52
0
0
-21
45
18
0
0
31
-76
-142
0
0
51
57
21
0
0
28
-43
-7
0
0
-56
-50
83
14
-2
-68
-32
-67
0
0
-50
-46
-39
0
0
-26
29
-43
0
0
-5
16
10
0
0
46
-5
-31
0
0
-13
3
30
0
0
-18
3
-4
0
0
0
31
0
0
0
-20
-8
14
0
0
0
-16
0
0
0
12
-13
-2
0
0
-25
-12
-7
0
0
-40
4
30
0
0
-25
4
-1
0
0
0
20
0
0
0
-3
-60
1
0
0
11
8
17
0
0
0
-7
3
0
0
-14
-14
-17
0
0
15
47
-64
0
0
28
-14
23
0
0
-30
-62
88
0
0
9
-21
-47
0
0
3
-58
-35
0
0
57
13
19
0
0
-46
-3
-38
0
0
67
-48
84
0
0
-41
-45
42
0
0
41
32
-6
0
0
-44
41
43
0
0
17
-65
38
0
0
72
23
-101
-21
-20
-26
-23
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
58
0
0
4
-84
-5
0
0
5
-64
-3
0
0
-46
-53
38
0
0
29
-26
14
0
0
54
-14
3
0
0
-6
-22
0
0
0
61
20
-25
0
0
-58
-26
2
0
0
5
-30
2
0
0
0
-5
-9
0
0
-19
43
-13
0
0
25
-18
4
0
0
-6
1
-8
0
0
23
-18
2
0
0
17
-73
-19
0
0
6
-39
41
0
0
3
-8
49
0
0
-59
32
-2
0
0
32
-48
5
0
0
-46
56
-1
0
0
-19
-42
-76
0
0
45
40
-66
0
0
-27
32
5
0
0
6
7
-1
0
0
15
-3
-20
0
0
-11
0
8
0
0
-7
23
-24
0
0
41
22
19
0
0
27
-26
18
0
0
44
4
-16
4
0
-3
-16
44
0
0
-44
74
28
0
0
27
-47
-40
0
0
-25
-25
-2
0
0
-16
8
-5
0
0
4
-25
-7
0
0
39
-49
5
0
0
0
34
0
0
0
-32
23
-9
0
0
1
-25
8
0
0
-40
-6
34
0
0
12
14
10
0
0
-50
20
-20
0
0
3
3
1
0
0
8
17
2
0
0
1
-18
2
0
0
11
24
2
0
0
-10
-15
25
0
0
97
-66
7
0
0
2
50
70
0
0
-20
-26
86
0
0
-40
13
-9
0
0
22
-10
-43
0
0
-51
-49
13
0
0
-58
-4
-23
0
0
-3
-2
-25
0
0
-8
-28
-2
0
0
-13
-39
28
0
0
-12
21
-35
0
0
49
17
-32
0
0
65
57
6
0
0
-41
23
32
-11
-8
-86
-49
79
0
0
1
-13
25
0
0
2
11
-5
0
0
32
8
3
0
0
-47
35
10
0
0
-16
5
3
0
0
-8
0
0
0
0
8
-22
-2
0
0
-1
10
3
0
0
12
5
0
0
0
1
4
0
0
0
3
-45
5
0
0
3
-10
4
0
0
1
-8
0
0
0
0
-8
0
0
0
2
6
1
0
0
14
-24
-1
0
0
-19
-2
-14
0
0
-109
10
-63
0
0
-5
-19
-78
0
0
13
2
15
0
0
-5
-68
-9
0
0
-3
-68
-37
0
0
-46
-76
9
0
0
-92
32
-20
0
0
-11
28
10
0
0
0
-5
73
0
0
25
17
-51
0
0
57
-34
27
0
0
-33
-28
13
0
0
-33
-13
9
0
0
-27
1
-34
16
-3
-1
-59
-45
0
0
-23
-15
4
0
0
9
-13
-6
0
0
-31
20
-21
0
0
42
8
-8
0
0
-3
-8
-3
0
0
-8
-14
5
0
0
-8
5
0
0
0
-48
13
-15
0
0
-4
19
1
0
0
0
0
0
0
0
-2
13
2
0
0
-75
-25
32
0
0
0
1
0
0
0
0
1
0
0
0
4
0
2
0
0
-9
10
3
0
0
2
-96
-28
0
0
-39
-4
-21
0
0
3
59
-35
0
0
-40
-5
-64
0
0
12
27
-3
0
0
2
-19
13
0
0
-45
31
-33
0
0
-9
-8
-42
0
0
15
-11
-38
0
0
15
17
-49
0
0
-25
-5
-75
0
0
-5
-20
26
0
0
2
-56
81
0
0
58
33
44
0
0
20
12
-11
-46
-20
-84
-48
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
27
10
0
0
-6
-29
25
0
0
54
88
-12
0
0
52
36
2
0
0
41
22
-16
0
0
46
29
-6
0
0
-21
14
12
0
0
10
-61
76
0
0
36
117
-38
0
0
-39
33
-41
0
0
9
59
-7
0
0
14
49
95
0
0
78
-26
41
0
0
-8
7
2
0
0
53
10
-26
0
0
34
91
38
0
0
68
0
5
0
0
-39
50
121
0
0
50
-58
0
0
0
2
5
75
0
0
-107
103
11
0
0
-23
37
3
0
0
28
-42
22
0
0
10
75
-1
0
0
123
-61
73
0
0
-19
74
46
0
0
-8
5
31
0
0
32
-8
-45
0
0
-46
-32
-28
0
0
22
9
-14
0
0
-37
0
-29
6
19
-39
26
90
0
0
22
37
-20
0
0
5
49
36
0
0
49
33
9
0
0
19
55
5
0
0
-56
-40
-1
0
0
-7
85
7
0
0
4
51
20
0
0
39
-18
60
0
0
40
-20
30
0
0
45
47
-20
0
0
-52
37
31
0
0
58
3
22
0
0
-5
51
-13
0
0
41
-15
4
0
0
49
-43
8
0
0
10
22
65
0
0
71
49
-43
0
0
-74
90
33
0
0
5
45
12
0
0
-13
5
-23
0
0
-3
-19
8
0
0
18
-29
11
0
0
-8
-12
-2
0
0
28
-20
48
0
0
-20
21
26
0
0
57
32
13
0
0
-21
75
-22
0
0
77
31
2
0
0
-13
17
-9
0
0
-9
7
51
0
0
25
-22
37
3
14
-5
-78
-13
0
0
29
-4
49
0
0
16
102
-15
0
0
82
51
-24
0
0
-16
30
-53
0
0
-31
4
19
0
0
-18
25
30
0
0
75
-31
-1
0
0
-22
89
27
0
0
-4
50
-14
0
0
-10
-6
46
0
0
-20
16
4
0
0
26
59
-27
0
0
-13
-6
-5
0
0
-1
18
-25
0
0
25
40
-8
0
0
47
53
0
0
0
59
32
-4
0
0
53
-54
28
0
0
8
3
-7
0
0
18
5
-13
0
0
-36
7
17
0
0
-43
0
-1
0
0
2
-30
8
0
0
57
-35
57
0
0
-9
16
23
0
0
30
-55
10
0
0
-2
-6
-30
0
0
15
-12
5
0
0
15
7
19
0
0
16
-20
13
0
0
102
-25
-15
17
28
-143
-50
15
0
0
-18
-2
-4
0
0
-2
44
48
0
0
45
29
-7
0
0
-19
-27
-6
0
0
-49
62
33
0
0
9
-13
-30
0
0
-33
16
8
0
0
5
21
-53
0
0
33
22
32
0
0
24
27
-23
0
0
48
-77
32
0
0
43
73
-10
0
0
16
57
-2
0
0
-4
-1
-4
0
0
32
8
-8
0
0
74
-57
-39
0
0
39
9
14
0
0
-84
82
31
0
0
2
-8
-25
0
0
13
7
-7
0
0
-5
44
-12
0
0
-6
-8
16
0
0
2
-22
-6
0
0
-2
-15
50
0
0
19
-51
1
0
0
2
-17
-9
0
0
7
-40
-6
0
0
55
2
47
0
0
-27
-5
8
0
0
-10
-9
-6
0
0
-36
-74
-57
-11
14
7
12
66
0
0
18
34
26
0
0
23
40
1
0
0
-27
-43
-3
0
0
-17
21
7
0
0
-10
49
7
0
0
12
-4
25
0
0
24
-8
0
0
0
4
36
35
0
0
2
40
-4
0
0
5
-24
-5
0
0
51
-5
-6
0
0
-53
35
3
0
0
-4
-4
0
0
0
0
13
-3
0
0
-3
13
12
0
0
-25
21
5
0
0
32
-22
-1
0
0
31
7
9
0
0
-8
-4
-1
0
0
6
-15
-1
0
0
17
25
1
0
0
20
16
10
0
0
5
-5
-1
0
0
-8
-25
-6
0
0
21
-9
15
0
0
39
-70
-14
0
0
0
16
7
0
0
-25
-65
-12
0
0
-20
76
1
0
0
7
-10
2
0
0
-3
6
-1
-2
16
-29
41
2
0
0
-34
-12
6
0
0
18
63
-35
0
0
-97
90
29
0
0
61
2
37
0
0
51
-60
23
0
0
34
-28
-3
0
0
-9
0
-1
0
0
-10
-33
-2
0
0
89
-5
-13
0
0
62
-15
22
0
0
-25
22
-8
0
0
-50
-20
13
0
0
-6
-3
-1
0
0
5
7
-2
0
0
4
34
0
0
0
-25
63
3
0
0
-50
35
-25
0
0
21
12
24
0
0
-2
15
-2
0
0
25
-13
-1
0
0
4
-13
0
0
0
-8
-42
0
0
0
0
2
-1
0
0
-12
-42
0
0
0
-6
-29
-5
0
0
44
-23
7
0
0
-25
38
-25
0
0
31
-11
-10
0
0
17
-19
-6
0
0
-75
20
-33
0
0
-8
68
-2
-22
3
0
-51
8
0
0
44
12
35
0
0
69
-45
-57
0
0
-42
-3
-20
0
0
102
48
-43
0
0
20
3
3
0
0
-8
5
-5
0
0
7
9
-2
0
0
20
29
-12
0
0
17
5
1
0
0
-19
9
-3
0
0
0
-6
8
0
0
7
-10
0
0
0
0
8
2
0
0
0
5
0
0
0
0
-7
0
0
0
-27
6
-2
0
0
15
34
-5
0
0
-39
1
-2
0
0
4
-2
0
0
0
-30
6
0
0
0
5
3
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
-10
-2
0
0
13
1
0
0
0
5
7
0
0
0
-1
-4
-6
0
0
-7
4
6
0
0
5
-29
2
0
0
-5
-3
2
0
0
-6
-15
1
37
-40
21
-21
-3
0
0
-30
31
65
0
0
45
-13
7
0
0
-43
50
-28
0
0
-5
69
12
0
0
-4
-5
21
0
0
43
16
-24
0
0
-6
42
4
0
0
1
-9
-25
0
0
56
41
5
0
0
2
32
-13
0
0
-6
-2
-8
0
0
98
-19
5
0
0
-9
8
5
0
0
1
-5
0
0
0
0
27
-12
0
0
-46
-13
-7
0
0
-31
6
-10
0
0
-43
-24
6
0
0
-7
2
1
0
0
88
12
0
0
0
0
17
-9
0
0
0
5
0
0
0
-1
9
0
0
0
8
31
-1
0
0
1
-9
9
0
0
-19
-14
14
0
0
-3
21
2
0
0
8
5
6
0
0
-22
9
28
0
0
-8
30
-31
0
0
19
-7
5
-18
2
-9
-5
-10
0
0
-16
28
16
0
0
43
39
-15
0
0
66
-1
-31
0
0
-16
-42
60
0
0
-40
-49
5
0
0
86
-4
-15
0
0
-22
8
2
0
0
69
-5
8
0
0
-30
19
-19
0
0
43
24
30
0
0
51
-46
7
0
0
102
-70
-3
0
0
33
-27
22
0
0
2
0
24
0
0
28
3
9
0
0
-47
66
-50
0
0
-52
26
6
0
0
-36
-7
-42
0
0
35
-3
1
0
0
-49
-14
14
0
0
22
30
0
0
0
-1
42
10
0
0
-2
39
7
0
0
42
-44
5
0
0
4
66
-7
0
0
-2
-17
-4
0
0
-3
4
6
0
0
0
22
-17
0
0
-22
76
10
0
0
1
29
7
0
0
5
42
-6
15
16
-47
-8
8
0
0
-19
69
30
0
0
-6
12
-10
0
0
-15
34
-1
0
0
15
-31
-25
0
0
-5
18
8
0
0
100
-21
30
0
0
5
5
0
0
0
-10
10
-3
0
0
51
-10
13
0
0
16
-55
13
0
0
47
-24
-14
0
0
-1
5
6
0
0
0
20
-4
0
0
-4
-3
-3
0
0
-7
-8
0
0
0
-22
27
29
0
0
42
13
-8
0
0
-41
27
-8
0
0
-22
-9
-3
0
0
5
-17
0
0
0
25
5
1
0
0
-1
9
-4
0
0
-2
-22
-2
0
0
47
-4
-7
0
0
-23
68
-25
0
0
-20
51
5
0
0
0
33
-7
0
0
-4
28
-18
0
0
14
-22
-5
0
0
-7
-14
11
0
0
0
26
14
10
-21
14
-2
1
0
0
59
-62
30
0
0
6
11
29
0
0
-42
27
17
0
0
-21
4
13
0
0
-20
7
6
0
0
32
9
-3
0
0
-6
-1
0
0
0
22
31
5
0
0
8
-38
6
0
0
4
-14
4
0
0
-21
22
-1
0
0
41
-17
8
0
0
3
12
-1
0
0
-1
0
-1
0
0
-3
2
0
0
0
-44
-6
0
0
0
29
-18
1
0
0
3
20
6
0
0
-1
8
5
0
0
-4
-2
-6
0
0
21
-24
-5
0
0
-2
-3
-25
0
0
0
1
-4
0
0
-5
6
8
0
0
0
41
-16
0
0
19
-4
2
0
0
0
7
1
0
0
-1
-22
-3
0
0
1
-13
1
0
0
2
5
0
0
0
16
7
0
6
-38
25
-31
-24
0
0
23
-25
31
0
0
39
38
-81
0
0
-19
-22
2
0
0
73
8
8
0
0
20
90
-8
0
0
-6
-22
19
0
0
-5
-13
-6
0
0
34
31
8
0
0
-9
55
-4
0
0
22
2
19
0
0
31
5
-6
0
0
5
12
4
0
0
0
3
0
0
0
-2
7
0
0
0
-3
13
6
0
0
-36
-19
-19
0
0
-4
43
0
0
0
5
-50
-8
0
0
-8
-32
0
0
0
-50
-15
4
0
0
15
-13
1
0
0
0
5
-5
0
0
-3
-9
3
0
0
0
18
2
0
0
13
9
1
0
0
-8
13
-3
0
0
1
-9
-5
0
0
-84
23
9
0
0
-2
-47
1
0
0
-1
8
-5
0
0
-13
-50
-1
24
9
-84
-67
-35
0
0
14
24
17
0
0
2
4
47
0
0
-9
71
-6
0
0
-30
-12
-16
0
0
49
-10
4
0
0
-33
0
1
0
0
9
-8
5
0
0
-39
26
0
0
0
-9
9
0
0
0
-9
9
-1
0
0
13
19
2
0
0
-35
4
10
0
0
0
-1
1
0
0
0
0
0
0
0
0
-5
4
0
0
49
8
0
0
0
-2
-20
-16
0
0
41
9
25
0
0
2
-6
-6
0
0
15
20
1
0
0
-21
3
-3
0
0
2
-5
0
0
0
0
9
0
0
0
-30
-16
-20
0
0
9
34
0
0
0
-3
6
5
0
0
0
-7
1
0
0
-3
8
-8
0
0
4
-25
0
0
0
-3
-6
1
0
0
25
5
-1
4
0
13
27
-6
0
0
-57
-28
61
0
0
-34
-8
-13
0
0
22
-30
25
0
0
15
-5
-9
0
0
-6
4
-18
0
0
30
43
0
0
0
-3
-2
1
0
0
-47
48
-2
0
0
49
-8
12
0
0
5
-21
2
0
0
4
-24
0
0
0
-83
-42
2
0
0
0
29
0
0
0
-2
14
0
0
0
1
5
0
0
0
16
0
0
0
0
-9
-25
0
0
0
17
-7
-1
0
0
8
-3
1
0
0
-46
10
5
0
0
0
-7
4
0
0
1
0
-5
0
0
0
1
0
0
0
3
2
0
0
0
7
37
-10
0
0
7
-23
1
0
0
-2
-4
3
0
0
-9
-19
0
0
0
-6
21
-3
0
0
6
-29
-1
0
0
9
10
-2
-1
-11
40
1
4
0
0
92
114
-21
0
0
4
16
-7
0
0
3
-13
-45
0
0
-17
75
69
0
0
6
49
-2
0
0
18
18
-4
0
0
4
1
-2
0
0
9
-28
-2
0
0
-9
1
-2
0
0
13
2
-16
0
0
-23
29
4
0
0
-12
2
13
0
0
0
-1
0
0
0
0
2
0
0
0
-1
7
0
0
0
8
-8
0
0
0
12
9
-5
0
0
-35
-20
0
0
0
-4
6
0
0
0
-6
19
-2
0
0
-14
0
-1
0
0
-1
-1
-5
0
0
0
-6
0
0
0
-8
-25
-4
0
0
-1
8
7
0
0
12
1
2
0
0
-2
-9
0
0
0
-2
-3
3
0
0
5
-41
0
0
0
2
19
0
0
0
-16
5
-1
1
-13
20
-22
20
0
0
-53
38
-19
0
0
46
57
-22
0
0
8
17
40
0
0
29
-1
10
0
0
-42
-39
24
0
0
31
-31
-6
0
0
-8
5
-5
0
0
17
25
-9
0
0
-8
-16
8
0
0
17
-44
2
0
0
9
13
-3
0
0
6
-18
-2
0
0
-7
-41
0
0
0
-3
0
0
0
0
0
0
-7
0
0
28
-17
-2
0
0
6
24
44
0
0
-20
-39
-10
0
0
8
35
-4
0
0
-41
74
-1
0
0
-3
18
-7
0
0
-5
-1
-5
0
0
-1
1
1
0
0
-19
-73
-14
0
0
1
1
-1
0
0
-28
4
-1
0
0
0
8
1
0
0
12
-18
-1
0
0
43
14
2
0
0
-3
-22
0
0
0
-19
-24
13
2
26
8
-45
-6
0
0
-22
57
-18
0
0
37
47
3
0
0
8
-115
-3
0
0
26
82
2
0
0
8
41
-4
0
0
40
-56
-7
0
0
-52
7
0
0
0
26
-50
5
0
0
-39
59
4
0
0
-9
-20
2
0
0
-56
12
8
0
0
-82
5
-17
0
0
-33
110
-12
0
0
25
6
0
0
0
-33
5
3
0
0
-7
22
4
0
0
18
-3
8
0
0
21
9
8
0
0
19
-23
2
0
0
25
-9
-19
0
0
32
25
34
0
0
-6
16
10
0
0
9
51
-53
0
0
29
0
2
0
0
25
25
-44
0
0
39
7
-11
0
0
16
8
-27
0
0
-54
47
-31
0
0
-89
19
-25
0
0
25
-14
41
0
0
-37
2
7
13
2
-68
-11
-20
0
0
-38
20
-5
0
0
14
60
-44
0
0
-11
27
14
0
0
33
-13
41
0
0
60
-51
-3
0
0
9
71
35
0
0
-6
-5
0
0
0
-14
15
-25
0
0
-7
-34
1
0
0
5
-34
-3
0
0
-5
53
17
0
0
25
26
18
0
0
-66
49
-6
0
0
-3
7
-32
0
0
-44
129
-27
0
0
53
-92
-48
0
0
4
4
-11
0
0
25
15
-13
0
0
0
16
27
0
0
-33
8
-18
0
0
-20
-9
-1
0
0
-50
16
-9
0
0
-16
-33
73
0
0
-53
75
25
0
0
7
-66
-7
0
0
-71
-2
-9
0
0
-6
-89
30
0
0
-1
-20
15
0
0
63
-18
-39
0
0
-53
-31
6
0
0
-15
-11
-16
-4
-5
-15
-26
82
0
0
23
76
-18
0
0
5
48
29
0
0
-64
6
-4
0
0
-7
4
7
0
0
3
-32
1
0
0
-42
3
-2
0
0
0
-1
-1
0
0
50
-16
3
0
0
-1
-5
0
0
0
-12
5
0
0
0
-2
8
-2
0
0
-6
-3
3
0
0
3
-6
0
0
0
-4
-1
1
0
0
5
-21
0
0
0
23
5
-10
0
0
15
-6
19
0
0
-37
28
-16
0
0
38
42
38
0
0
-18
14
11
0
0
-80
20
13
0
0
24
-50
21
0
0
-4
-33
-76
0
0
-154
-19
24
0
0
9
-28
-41
0
0
-44
-73
69
0
0
-39
-28
-20
0
0
-36
3
3
0
0
-13
-16
-70
0
0
-73
-34
5
0
0
-41
-21
-22
0
2
21
-1
-26
0
0
29
-36
-10
0
0
22
8
1
0
0
45
12
-51
0
0
-40
21
-7
0
0
-2
19
-4
0
0
8
1
-2
0
0
-5
4
2
0
0
56
1
0
0
0
-29
48
0
0
0
8
1
-1
0
0
3
-23
6
0
0
8
-1
5
0
0
-2
5
-2
0
0
2
-22
0
0
0
-2
6
1
0
0
-8
43
31
0
0
-16
-41
-54
0
0
-31
10
-38
0
0
-50
-14
-11
0
0
-11
0
-44
0
0
-21
-12
-62
0
0
-68
-37
-38
0
0
41
14
-5
0
0
-97
-54
27
0
0
-75
-39
36
0
0
39
-2
-53
0
0
-53
72
11
0
0
-14
22
37
0
0
53
17
15
0
0
-69
-23
55
0
0
-52
8
-64
-7
-23
-35
14
-7
0
0
-4
81
32
0
0
56
-17
8
0
0
1
-49
-10
0
0
-23
-15
8
0
0
41
-13
1
0
0
4
-7
-1
0
0
2
0
0
0
0
23
8
-1
0
0
18
-43
0
0
0
13
1
0
0
0
-1
-23
-2
0
0
-12
-13
7
0
0
15
3
0
0
0
0
-19
0
0
0
-4
2
3
0
0
71
19
2
0
0
-3
4
-18
0
0
-28
-9
5
0
0
-53
48
40
0
0
-15
-16
-7
0
0
-51
-11
-92
0
0
27
-42
13
0
0
-43
-17
-13
0
0
67
51
-16
0
0
29
28
-22
0
0
-33
-5
1
0
0
-9
24
57
0
0
93
-29
24
0
0
-5
26
67
0
0
-2
-8
8
0
0
-29
4
-25
2
-2
24
-27
-24
0
0
33
-9
6
0
0
25
2
32
0
0
74
21
-24
0
0
-77
26
24
0
0
12
-15
0
0
0
-8
0
-3
0
0
-2
2
0
0
0
5
8
0
0
0
42
7
-1
0
0
-20
35
0
0
0
-1
20
4
0
0
-45
41
0
0
0
0
-22
-1
0
0
0
0
0
0
0
0
-12
1
0
0
-67
-8
24
0
0
-14
-26
-23
0
0
-28
55
-8
0
0
-27
-34
-42
0
0
-32
-15
4
0
0
-6
-118
37
0
0
57
34
49
0
0
-34
72
-8
0
0
26
30
-75
0
0
6
9
-8
0
0
42
6
12
0
0
-77
-13
-8
0
0
0
9
4
0
0
25
-12
-21
0
0
24
59
-12
0
0
19
-16
18
4
-9
-24
-70
8
0
0
43
62
5
0
0
3
-6
-32
0
0
5
16
0
0
0
67
-81
3
0
0
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
19
-1
1
0
0
0
14
0
0
0
-1
0
0
0
0
1
4
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
-9
3
0
0
-24
-19
6
0
0
48
-35
-79
0
0
-26
12
6
0
0
-20
22
32
0
0
23
12
16
0
0
16
-37
-74
0
0
-16
-5
-47
0
0
13
29
22
0
0
-94
-24
-14
0
0
4
12
8
0
0
-28
-24
-56
0
0
-41
-46
-51
0
0
5
-8
-20
0
0
1
34
-8
0
0
-6
-5
15
-24
-4
-8
-46
12
0
0
-24
-48
23
0
0
-9
-15
-19
0
0
39
-3
16
0
0
-20
34
2
0
0
2
3
1
0
0
0
-2
1
0
0
0
1
0
0
0
-5
5
0
0
0
-4
-19
0
0
0
0
0
0
0
0
-24
-10
0
0
0
-25
43
1
0
0
0
-6
0
0
0
7
0
0
0
0
-2
-4
0
0
0
-9
-14
-3
0
0
-25
-7
60
0
0
-6
-42
-92
0
0
-2
-51
20
0
0
7
25
-47
0
0
5
10
23
0
0
28
-9
-94
0
0
13
-107
0
0
0
-34
-8
-31
0
0
-17
-7
28
0
0
-49
24
-33
0
0
54
31
-35
0
0
50
16
-49
0
0
-8
7
33
0
0
2
1
-25
0
0
-9
-56
-46
-20
-10
-59
67
17
0
0
2
-7
6
0
0
-52
-90
109
0
0
47
16
12
0
0
-29
15
-20
0
0
-28
-26
-14
0
0
-47
12
60
0
0
14
1
1
0
0
-21
18
1
0
0
63
1
-1
0
0
14
-5
7
0
0
10
-37
-9
0
0
30
-59
8
0
0
52
15
-10
0
0
2
-5
7
0
0
10
1
4
0
0
42
76
-6
0
0
23
-50
27
0
0
8
7
-34
0
0
39
5
36
0
0
43
-13
16
0
0
129
27
-21
0
0
-67
71
9
0
0
23
-37
3
0
0
-91
44
-13
0
0
11
11
-4
0
0
22
12
26
0
0
-11
20
-1
0
0
-14
11
14
0
0
-12
-23
23
0
0
-17
7
69
0
0
-15
-18
45
9
-1
-34
7
-69
0
0
-27
53
-3
0
0
30
12
-18
0
0
27
13
-23
0
0
-55
22
20
0
0
83
-5
-1
0
0
-39
-31
13
0
0
-27
5
0
0
0
-55
20
9
0
0
8
13
-18
0
0
37
5
-3
0
0
41
-5
-2
0
0
1
-3
-5
0
0
-14
3
2
0
0
2
-4
5
0
0
-6
19
2
0
0
1
-47
-37
0
0
15
60
12
0
0
-4
-31
23
0
0
0
2
110
0
0
21
-39
-71
0
0
-45
-21
9
0
0
43
-11
17
0
0
59
-73
-27
0
0
-5
14
-43
0
0
5
13
8
0
0
11
53
34
0
0
-10
-10
-13
0
0
-100
14
-29
0
0
9
7
39
0
0
64
8
-56
0
0
46
-4
34
-28
-12
-3
23
96
0
0
11
48
6
0
0
10
-16
-36
0
0
27
54
16
0
0
-125
19
-1
0
0
41
-14
3
0
0
17
-6
-1
0
0
0
-3
0
0
0
4
20
-8
0
0
-2
-9
0
0
0
5
2
0
0
0
-5
2
1
0
0
-3
9
-2
0
0
1
4
-1
0
0
-1
-2
0
0
0
0
-3
0
0
0
51
-3
1
0
0
-35
-22
-83
0
0
29
-54
-11
0
0
-83
-19
-6
0
0
-36
-66
59
0
0
-49
-25
-13
0
0
3
-25
-25
0
0
0
-26
-51
0
0
10
-22
2
0
0
-26
3
43
0
0
4
-9
-34
0
0
148
-1
11
0
0
20
-38
-5
0
0
-20
37
-8
0
0
3
52
103
0
0
58
-43
6
-7
-12
22
9
114
0
0
-25
-39
11
0
0
17
-3
1
0
0
2
43
10
0
0
5
-75
31
0
0
42
-30
31
0
0
-4
10
24
0
0
0
2
-1
0
0
-52
-18
-5
0
0
-19
14
1
0
0
-12
0
2
0
0
-8
3
1
0
0
-24
39
-1
0
0
-1
-3
0
0
0
2
0
0
0
0
-1
2
0
0
0
23
-39
0
0
0
-23
-40
-49
0
0
-8
11
22
0
0
-90
42
-56
0
0
33
-10
2
0
0
3
7
-7
0
0
1
-31
8
0
0
22
-60
-3
0
0
-45
32
-6
0
0
-23
19
-43
0
0
-19
1
30
0
0
-25
-24
-14
0
0
46
-2
5
0
0
-18
-30
63
0
0
60
-11
13
0
0
12
58
-85
-14
-17
51
-95
-49
0
0
53
57
-5
0
0
53
-26
11
0
0
31
-2
10
0
0
-17
31
-61
0
0
-33
48
5
0
0
-30
-4
-32
0
0
1
-6
-2
0
0
85
-21
3
0
0
-17
49
-19
0
0
18
8
3
0
0
-9
-2
-1
0
0
16
14
-15
0
0
-14
4
0
0
0
-7
6
-2
0
0
-13
0
1
0
0
-13
-8
-29
0
0
-32
-11
54
0
0
-25
12
-41
0
0
-13
6
11
0
0
6
-7
-32
0
0
-28
5
-57
0
0
21
-13
-9
0
0
10
-25
22
0
0
-3
24
-31
0
0
32
-24
-8
0
0
32
-10
-5
0
0
0
23
-40
0
0
15
-35
5
0
0
39
5
30
0
0
-48
41
-19
0
0
-9
-85
11
3
-14
5
38
58
0
0
68
-46
48
0
0
14
-42
-44
0
0
3
27
23
0
0
10
31
-3
0
0
43
-31
0
0
0
5
-4
-42
0
0
-2
-1
0
0
0
-64
-9
1
0
0
13
24
-8
0
0
-28
-8
30
0
0
-1
22
0
0
0
10
-42
3
0
0
3
1
-1
0
0
-6
3
3
0
0
1
1
2
0
0
-57
12
1
0
0
-55
-26
-3
0
0
-41
-30
-2
0
0
-58
-10
13
0
0
-34
-6
14
0
0
75
-7
1
0
0
13
-29
0
0
0
2
21
-48
0
0
-72
3
1
0
0
-1
-5
58
0
0
-22
15
20
0
0
17
-94
19
0
0
-86
-15
-75
0
0
73
67
-44
0
0
-2
-63
18
0
0
8
48
14
-22
-5
-7
17
29
0
0
49
-80
10
0
0
-13
-24
30
0
0
12
3
15
0
0
42
43
-42
0
0
9
25
0
0
0
14
4
8
0
0
4
4
0
0
0
-85
-12
-4
0
0
-39
2
-2
0
0
-42
16
9
0
0
0
-19
3
0
0
-4
8
-3
0
0
0
-6
1
0
0
0
1
0
0
0
-1
-24
3
0
0
-17
-14
-14
0
0
-5
-76
58
0
0
-1
30
-58
0
0
-80
18
-82
0
0
45
-48
-41
0
0
2
-95
-35
0
0
-8
-8
2
0
0
0
-25
49
0
0
-11
28
-12
0
0
-18
-15
30
0
0
31
-39
-21
0
0
-44
-20
-57
0
0
10
-5
-21
0
0
-9
14
-40
0
0
24
-11
-17
0
0
-17
-19
0
15
6
-29
-6
-102
0
0
-46
58
20
0
0
31
-53
25
0
0
-14
0
-6
0
0
-18
-38
-42
0
0
7
-5
3
0
0
-24
4
-3
0
0
1
-23
0
0
0
4
-29
-17
0
0
-12
-26
17
0
0
-13
-8
-2
0
0
3
-7
-5
0
0
-19
-3
13
0
0
8
-5
3
0
0
0
-8
0
0
0
9
-1
1
0
0
-13
-15
-22
0
0
-22
-39
10
0
0
15
-42
25
0
0
-63
-32
-50
0
0
51
-9
23
0
0
-77
-33
-55
0
0
-29
-5
-42
0
0
-8
5
-6
0
0
-23
-52
-1
0
0
-37
15
27
0
0
60
-25
-66
0
0
-11
-3
48
0
0
-15
-4
-52
0
0
-17
-5
47
0
0
-62
-57
13
0
0
34
-59
-88
3
-5
-15
-59
-125
0
0
30
-6
-46
0
0
28
71
5
0
0
37
4
0
0
0
59
25
101
0
0
9
34
23
0
0
4
45
20
0
0
-24
-32
23
0
0
-31
13
14
0
0
11
24
-5
0
0
-50
-41
1
0
0
-29
30
43
0
0
32
82
-5
0
0
29
-24
9
0
0
0
6
39
0
0
-18
75
25
0
0
39
59
37
0
0
-69
39
-57
0
0
-3
3
75
0
0
-2
25
-4
0
0
-21
13
31
0
0
-4
80
-1
0
0
77
-5
-11
0
0
-17
9
13
0
0
39
-37
56
0
0
28
-23
-9
0
0
-13
26
22
0
0
-44
65
-22
0
0
-3
30
4
0
0
70
38
-5
0
0
10
36
1
0
0
5
3
-19
19
13
-17
30
26
0
0
34
24
4
0
0
2
44
21
0
0
59
66
24
0
0
11
26
-5
0
0
20
-5
81
0
0
43
9
-36
0
0
-25
56
13
0
0
9
-54
25
0
0
76
19
25
0
0
18
60
27
0
0
8
-23
19
0
0
-44
76
4
0
0
-49
76
-5
0
0
13
12
33
0
0
14
-47
38
0
0
1
-29
34
0
0
18
-40
-28
0
0
-7
73
-2
0
0
-1
47
-8
0
0
-6
54
-6
0
0
-27
-14
68
0
0
30
-48
-22
0
0
-2
13
41
0
0
19
-53
21
0
0
51
20
-21
0
0
30
34
29
0
0
-21
9
-34
0
0
86
-18
-14
0
0
51
31
4
0
0
79
-13
23
0
0
35
24
-42
12
4
-29
2
63
0
0
-5
-3
119
0
0
-32
4
-42
0
0
11
-13
-22
0
0
24
48
22
0
0
1
-4
31
0
0
92
26
31
0
0
-4
44
6
0
0
-6
49
2
0
0
-28
13
8
0
0
-42
-35
17
0
0
31
-10
-35
0
0
27
6
26
0
0
-4
41
-3
0
0
-2
11
-30
0
0
8
54
-57
0
0
-81
31
-25
0
0
71
46
-9
0
0
21
10
23
0
0
36
-42
-8
0
0
-23
4
25
0
0
18
16
0
0
0
-27
0
0
0
0
-1
16
4
0
0
-50
33
41
0
0
40
24
9
0
0
30
29
-14
0
0
-12
8
-6
0
0
5
-72
31
0
0
-48
24
-4
0
0
27
17
20
0
0
-76
23
5
22
-6
61
-58
26
0
0
2
33
-46
0
0
45
-32
39
0
0
14
-9
-16
0
0
23
21
-28
0
0
23
0
28
0
0
-14
55
13
0
0
-29
-18
-7
0
0
-3
-10
80
0
0
-43
59
-10
0
0
59
26
-21
0
0
-26
104
43
0
0
43
25
-42
0
0
-8
-20
3
0
0
-7
31
9
0
0
-49
22
-4
0
0
-66
85
14
0
0
37
-5
47
0
0
-54
-17
28
0
0
-8
27
-8
0
0
10
5
-9
0
0
84
11
-5
0
0
-54
-40
-2
0
0
4
-26
1
0
0
-77
-31
25
0
0
43
-4
-42
0
0
13
-17
-20
0
0
8
7
-42
0
0
22
-53
9
0
0
70
-16
5
0
0
-18
49
23
0
0
96
-111
-37
16
7
-30
-67
-45
0
0
12
12
-1
0
0
47
-2
-27
0
0
51
15
-22
0
0
-25
65
-10
0
0
-6
-20
3
0
0
-29
42
57
0
0
2
1
1
0
0
63
11
1
0
0
8
9
-1
0
0
-30
13
6
0
0
13
-9
-2
0
0
-13
4
31
0
0
-8
5
-3
0
0
-6
0
10
0
0
-1
-1
8
0
0
-1
20
5
0
0
-20
5
0
0
0
-14
16
5
0
0
19
-13
0
0
0
29
1
5
0
0
0
7
0
0
0
-8
-4
0
0
0
0
0
0
0
0
-8
-2
2
0
0
-19
16
19
0
0
59
14
-28
0
0
1
-8
-2
0
0
9
17
-19
0
0
19
-21
2
0
0
0
-22
6
0
0
-14
1
-8
19
9
-42
6
-21
0
0
41
28
0
0
0
25
28
-44
0
0
8
-11
14
0
0
-16
-28
6
0
0
-16
-1
-22
0
0
-41
16
4
0
0
16
-10
0
0
0
6
-29
-41
0
0
44
41
2
0
0
12
14
-7
0
0
-13
17
-2
0
0
-10
-3
-6
0
0
8
14
0
0
0
0
13
1
0
0
25
-6
-6
0
0
-36
27
1
0
0
37
-1
-1
0
0
-5
25
4
0
0
-17
-1
-3
0
0
-25
31
0
0
0
-41
4
0
0
0
-1
31
8
0
0
0
4
0
0
0
-7
-2
-2
0
0
-15
26
18
0
0
-18
-10
1
0
0
3
-24
0
0
0
-33
19
-13
0
0
61
-85
-14
0
0
13
-13
-6
0
0
20
3
0
3
10
-66
-62
16
0
0
13
99
27
0
0
-21
-18
25
0
0
-14
-19
15
0
0
56
58
1
0
0
43
18
4
0
0
-31
16
24
0
0
-16
0
-2
0
0
83
-8
-3
0
0
-25
-27
1
0
0
-2
5
-2
0
0
4
-6
-1
0
0
4
-10
-1
0
0
0
0
0
0
0
0
-6
-2
0
0
-4
2
-1
0
0
48
-15
-4
0
0
20
23
0
0
0
-4
-15
3
0
0
-10
2
1
0
0
-9
1
0
0
0
-9
0
0
0
0
3
-3
-7
0
0
-1
-3
0
0
0
-12
-9
0
0
0
1
8
2
0
0
0
31
0
0
0
0
6
0
0
0
-4
15
-3
0
0
-1
2
0
0
0
-4
16
-5
0
0
3
7
0
-25
-18
6
-9
-13
0
0
37
96
17
0
0
-12
2
49
0
0
-55
47
1
0
0
13
17
-69
0
0
-44
45
-5
0
0
85
-27
-3
0
0
-8
-26
6
0
0
53
-8
15
0
0
-8
75
7
0
0
13
8
3
0
0
63
-48
0
0
0
-15
-15
-1
0
0
0
12
0
0
0
5
25
1
0
0
8
19
-3
0
0
-41
-21
1
0
0
-42
-13
-5
0
0
-25
4
23
0
0
20
-14
2
0
0
20
1
8
0
0
-1
-5
1
0
0
-5
31
1
0
0
0
1
0
0
0
-9
-12
-9
0
0
-8
-44
9
0
0
9
-24
-4
0
0
0
-28
0
0
0
13
-16
0
0
0
58
-7
-8
0
0
18
-31
4
0
0
-5
49
8
12
-30
-138
-41
42
0
0
27
-10
10
0
0
-1
38
-4
0
0
-14
31
41
0
0
-25
56
4
0
0
15
2
-2
0
0
44
-8
5
0
0
-6
-6
0
0
0
42
-33
-23
0
0
44
-13
4
0
0
102
-10
8
0
0
12
28
0
0
0
18
-58
27
0
0
-14
-6
0
0
0
2
2
-1
0
0
1
18
4
0
0
27
-15
-5
0
0
-29
25
2
0
0
7
41
-12
0
0
12
5
-5
0
0
16
13
-1
0
0
-6
9
8
0
0
0
18
3
0
0
-3
-23
2
0
0
11
25
28
0
0
15
0
-7
0
0
10
25
-9
0
0
-3
-4
8
0
0
-18
-27
-1
0
0
-23
32
-5
0
0
-1
6
8
0
0
-24
19
2
-8
-22
20
40
7
0
0
47
14
16
0
0
43
-91
-2
0
0
65
69
-12
0
0
-10
15
13
0
0
31
-29
-1
0
0
24
12
6
0
0
-3
-12
0
0
0
-11
-6
0
0
0
18
-6
5
0
0
10
48
3
0
0
-34
-5
-5
0
0
7
-16
-13
0
0
2
9
0
0
0
-5
-8
9
0
0
1
25
8
0
0
-38
-2
-7
0
0
16
-5
0
0
0
-14
-1
-2
0
0
0
2
0
0
0
-34
-1
-4
0
0
-10
-31
0
0
0
3
-4
0
0
0
-2
-5
0
0
0
-33
22
0
0
0
-8
-26
0
0
0
-5
-1
7
0
0
-2
2
0
0
0
-45
25
-3
0
0
6
1
10
0
0
-17
42
-3
0
0
-15
0
5
0
17
-15
20
3
0
0
14
103
13
0
0
13
5
16
0
0
13
66
34
0
0
1
-31
-37
0
0
41
-4
2
0
0
5
-2
-1
0
0
1
-8
1
0
0
-33
50
6
0
0
-40
13
-25
0
0
47
-30
17
0
0
8
-11
15
0
0
2
-23
43
0
0
-1
8
7
0
0
0
-19
1
0
0
0
9
-2
0
0
31
-14
-27
0
0
31
-19
0
0
0
4
22
-5
0
0
-2
0
0
0
0
34
-15
-1
0
0
-5
14
-9
0
0
-3
8
-2
0
0
0
-4
2
0
0
6
-4
-9
0
0
-12
47
-5
0
0
-7
-35
8
0
0
3
-7
0
0
0
8
-7
5
0
0
4
33
1
0
0
0
2
8
0
0
8
-34
6
29
24
-45
24
17
0
0
-49
-13
47
0
0
18
-37
39
0
0
20
43
-57
0
0
13
-15
-52
0
0
13
-11
-3
0
0
-15
21
10
0
0
5
12
0
0
0
-1
21
-7
0
0
95
-47
2
0
0
4
5
5
0
0
-34
-1
-23
0
0
3
-10
-9
0
0
1
8
-2
0
0
0
-4
2
0
0
1
-8
-5
0
0
26
-30
-1
0
0
41
24
8
0
0
-35
41
1
0
0
5
5
-3
0
0
-12
3
0
0
0
-12
-7
-13
0
0
0
-1
0
0
0
0
-6
-2
0
0
39
0
24
0
0
-8
-3
0
0
0
3
-3
9
0
0
-1
-8
-5
0
0
-10
-25
4
0
0
-22
48
2
0
0
-1
-5
0
0
0
1
-21
-2
-11
13
-106
-17
-25
0
0
31
21
-24
0
0
33
14
-8
0
0
-20
56
7
0
0
-30
18
-4
0
0
-3
2
-13
0
0
-8
-1
-5
0
0
0
1
0
0
0
-78
15
5
0
0
-8
1
-4
0
0
28
-9
0
0
0
24
-4
5
0
0
15
-3
2
0
0
-4
-2
2
0
0
0
7
0
0
0
-1
2
0
0
0
18
-2
2
0
0
-2
3
-8
0
0
52
-1
-7
0
0
0
-4
-1
0
0
8
-14
2
0
0
1
17
-1
0
0
0
1
-4
0
0
0
-10
4
0
0
0
-5
-4
0
0
6
1
-2
0
0
0
-2
-2
0
0
0
7
-3
0
0
13
-8
-2
0
0
0
-8
7
0
0
0
-4
-4
0
0
14
1
0
-20
-10
-21
-2
-1
0
0
0
31
-1
0
0
42
-27
5
0
0
18
-33
-4
0
0
-7
-5
4
0
0
-19
19
0
0
0
1
12
-1
0
0
16
1
0
0
0
41
-6
-1
0
0
-14
7
0
0
0
49
34
0
0
0
-5
-1
0
0
0
12
10
2
0
0
0
-2
0
0
0
0
-1
0
0
0
-1
6
0
0
0
13
7
0
0
0
-5
-37
-6
0
0
7
2
5
0
0
-3
-10
4
0
0
3
-17
0
0
0
0
3
0
0
0
-8
-3
-1
0
0
-2
4
0
0
0
-5
3
-14
0
0
-25
35
0
0
0
5
6
0
0
0
-3
-1
-2
0
0
-1
-7
1
0
0
1
-4
5
0
0
-5
12
-2
0
0
-3
8
4
-19
21
-87
8
-1
0
0
-45
-20
30
0
0
10
59
22
0
0
5
51
13
0
0
19
48
48
0
0
4
-31
5
0
0
20
5
7
0
0
-6
-3
1
0
0
-29
49
-24
0
0
-31
16
-8
0
0
-12
-5
-25
0
0
-3
8
-24
0
0
14
12
-10
0
0
0
5
0
0
0
0
-5
1
0
0
6
-16
0
0
0
70
-5
6
0
0
59
-25
0
0
0
1
13
-7
0
0
5
6
-1
0
0
13
-5
-7
0
0
0
-21
6
0
0
1
-10
-2
0
0
0
-3
0
0
0
8
-1
0
0
0
-8
-14
2
0
0
-12
1
1
0
0
-8
-6
-3
0
0
-7
15
1
0
0
-1
8
0
0
0
0
-13
-2
0
0
-14
-20
-3
35
14
28
-29
-9
0
0
17
-18
16
0
0
24
62
-57
0
0
84
-4
21
0
0
6
38
-5
0
0
46
-30
-5
0
0
3
-32
-12
0
0
6
45
-2
0
0
-51
27
-15
0
0
62
-28
2
0
0
-17
-1
8
0
0
19
-20
9
0
0
21
41
-13
0
0
10
-18
2
0
0
1
-3
-2
0
0
-1
-33
1
0
0
-41
5
4
0
0
-13
34
49
0
0
32
10
-3
0
0
-41
-9
-1
0
0
-4
1
-4
0
0
9
19
-19
0
0
-1
16
2
0
0
0
1
-9
0
0
19
-34
8
0
0
1
4
16
0
0
5
-48
16
0
0
5
31
0
0
0
9
10
-7
0
0
-25
-1
-9
0
0
5
9
-8
0
0
-10
-8
-3
2
21
-8
-51
-29
0
0
35
3
0
0
0
13
26
64
0
0
-32
-12
8
0
0
17
49
-50
0
0
-22
-9
5
0
0
33
-45
17
0
0
-5
1
2
0
0
-2
27
16
0
0
49
13
-18
0
0
-26
13
-13
0
0
-10
6
2
0
0
-22
-17
16
0
0
6
75
-9
0
0
7
-24
20
0
0
-17
-12
-2
0
0
0
1
-13
0
0
7
-4
8
0
0
-6
21
-14
0
0
7
7
3
0
0
-8
6
5
0
0
-6
-6
-48
0
0
-32
15
-12
0
0
-46
1
7
0
0
32
24
10
0
0
-29
-1
-9
0
0
-71
-44
43
0
0
-20
-7
-5
0
0
-19
-35
-9
0
0
22
-16
2
0
0
-16
-54
-30
0
0
-41
-1
-42
12
4
-31
1
23
0
0
-21
-19
45
0
0
-3
8
-48
0
0
-55
10
14
0
0
-26
52
48
0
0
46
-5
18
0
0
-20
3
-3
0
0
-25
-10
1
0
0
-37
28
3
0
0
-3
34
-4
0
0
62
-8
2
0
0
-37
22
4
0
0
-1
-8
10
0
0
-31
24
1
0
0
-5
20
-14
0
0
23
16
-7
0
0
-42
13
-14
0
0
5
-8
-16
0
0
4
15
-1
0
0
39
17
-50
0
0
26
2
-19
0
0
-35
26
14
0
0
53
-11
78
0
0
-43
6
24
0
0
-50
-14
7
0
0
6
-63
76
0
0
-9
-12
-58
0
0
21
48
-9
0
0
29
-77
18
0
0
45
-49
52
0
0
-50
-53
71
0
0
45
-28
-52
5
2
-55
-8
-56
0
0
5
28
19
0
0
41
81
-76
0
0
-18
-5
0
0
0
130
-38
-8
0
0
2
3
0
0
0
-1
2
-4
0
0
0
5
0
0
0
37
1
4
0
0
9
-29
0
0
0
-18
7
-1
0
0
4
-4
2
0
0
-5
8
0
0
0
-2
2
0
0
0
0
-17
2
0
0
-4
15
0
0
0
92
53
-1
0
0
-15
-3
-2
0
0
-27
-72
-1
0
0
-12
-44
6
0
0
10
-13
33
0
0
-98
10
-11
0
0
-2
-19
5
0
0
-4
-43
-26
0
0
-117
-9
-49
0
0
36
-27
-14
0
0
43
-64
84
0
0
-52
-20
-39
0
0
-18
-1
-29
0
0
-8
-19
-43
0
0
-46
21
-3
0
0
-57
80
-51
-2
-3
6
5
-66
0
0
-34
9
7
0
0
-46
50
-12
0
0
31
41
-30
0
0
56
-8
-1
0
0
-33
-23
2
0
0
3
1
-3
0
0
3
4
0
0
0
0
-37
-4
0
0
-21
24
-5
0
0
-14
-1
0
0
0
-3
9
0
0
0
-37
8
0
0
0
-8
1
0
0
0
-1
2
-1
0
0
2
-5
0
0
0
-22
-22
4
0
0
-3
8
-4
0
0
23
-60
-29
0
0
-31
-25
-14
0
0
-13
11
35
0
0
12
17
-26
0
0
-6
-13
-84
0
0
31
-11
4
0
0
4
21
-39
0
0
-32
14
13
0
0
143
-34
57
0
0
-43
5
36
0
0
59
25
49
0
0
-54
-23
-17
0
0
-5
31
-14
0
0
13
-72
29
-1
-14
5
55
-26
0
0
17
55
-24
0
0
5
-14
28
0
0
-50
-44
23
0
0
-63
-1
21
0
0
25
7
-25
0
0
71
-41
10
0
0
0
4
0
0
0
-85
16
-7
0
0
-7
28
-3
0
0
23
4
24
0
0
-1
-21
1
0
0
-14
13
19
0
0
2
-8
-1
0
0
1
0
0
0
0
-9
0
0
0
0
40
-18
-41
0
0
8
-11
14
0
0
-29
21
58
0
0
27
-27
-16
0
0
-31
3
-63
0
0
54
-64
-35
0
0
50
-4
-95
0
0
1
5
-16
0
0
103
-15
-42
0
0
54
-6
46
0
0
-19
-1
32
0
0
2
0
-40
0
0
11
104
-42
0
0
41
26
-4
0
0
24
-58
8
0
0
-55
-66
22
-11
-2
28
49
81
0
0
32
-11
25
0
0
40
36
59
0
0
61
1
25
0
0
-48
49
24
0
0
27
25
1
0
0
-23
-24
-31
0
0
0
4
4
0
0
49
-2
-20
0
0
-22
-6
5
0
0
-19
-4
5
0
0
-3
2
1
0
0
-2
-17
-2
0
0
5
-24
-4
0
0
-2
0
-2
0
0
0
5
3
0
0
41
-42
-8
0
0
-2
-31
-14
0
0
-38
-32
30
0
0
25
-13
-59
0
0
-19
14
7
0
0
86
-29
-25
0
0
16
-28
-11
0
0
-12
34
14
0
0
-87
-20
-5
0
0
-20
22
-1
0
0
-69
40
-16
0
0
42
-39
5
0
0
44
-23
-45
0
0
8
6
-15
0
0
-17
-32
22
0
0
77
-50
4
41
13
66
45
-33
0
0
-37
-28
6
0
0
-13
-33
18
0
0
15
2
-8
0
0
12
15
2
0
0
10
-2
1
0
0
3
0
1
0
0
2
4
0
0
0
11
6
-4
0
0
5
7
-1
0
0
20
3
-1
0
0
-12
1
0
0
0
-8
-4
-4
0
0
0
4
0
0
0
0
0
0
0
0
2
-22
-2
0
0
8
6
-2
0
0
-11
-31
13
0
0
7
-29
15
0
0
13
-15
22
0
0
-6
-6
-99
0
0
-81
55
-28
0
0
-48
-18
16
0
0
13
10
-68
0
0
4
7
4
0
0
-78
-31
27
0
0
-9
30
-30
0
0
-1
-36
-21
0
0
-6
-9
-12
0
0
7
-6
13
0
0
2
-40
-3
0
0
-11
9
-8
-28
-1
-18
-18
-43
0
0
10
40
-28
0
0
0
19
26
0
0
44
10
-7
0
0
15
41
-11
0
0
2
4
-8
0
0
31
-8
-6
0
0
-5
-27
-1
0
0
-13
49
-1
0
0
-5
56
1
0
0
5
24
-31
0
0
-3
-48
-3
0
0
-54
-4
-10
0
0
25
-5
-3
0
0
0
-6
-3
0
0
4
13
0
0
0
4
4
0
0
0
-20
-20
-12
0
0
27
-53
3
0
0
48
-31
32
0
0
-28
-16
-106
0
0
13
-43
-33
0
0
-2
-50
42
0
0
-22
-54
-89
0
0
-99
40
31
0
0
-5
-42
63
0
0
-84
-53
6
0
0
-7
49
-59
0
0
27
-1
-9
0
0
31
64
22
0
0
-12
17
16
0
0
-42
13
-16
-10
-7
-8
10
-32
0
0
-32
-5
24
0
0
20
-3
6
0
0
-27
6
-11
0
0
-31
0
38
0
0
-4
-5
-1
0
0
-10
14
-20
0
0
-5
7
0
0
0
57
-10
6
0
0
13
26
-6
0
0
-54
10
7
0
0
-23
0
35
0
0
-85
-1
13
0
0
8
-1
0
0
0
0
-5
0
0
0
0
32
8
0
0
-29
6
17
0
0
8
6
-24
0
0
23
5
-18
0
0
39
-74
12
0
0
41
16
-12
0
0
-20
-38
6
0
0
67
-64
-3
0
0
18
-15
-8
0
0
-59
-80
-43
0
0
5
8
10
0
0
0
-15
-31
0
0
22
-13
55
0
0
9
10
5
0
0
4
24
17
0
0
-7
11
-31
0
0
-30
-7
8
18
-1
34
-25
36
0
0
17
-13
36
0
0
-9
32
-5
0
0
-8
-10
6
0
0
37
-37
40
0
0
-22
7
-7
0
0
29
-50
-10
0
0
2
0
-5
0
0
-55
28
-10
0
0
4
27
7
0
0
42
-4
1
0
0
20
30
-2
0
0
-7
-31
8
0
0
2
1
-3
0
0
0
0
-1
0
0
7
-19
2
0
0
0
2
3
0
0
49
62
-29
0
0
-9
15
0
0
0
-48
13
0
0
0
-55
-49
-9
0
0
-5
-28
46
0
0
-15
44
48
0
0
34
0
7
0
0
-40
39
-4
0
0
-1
9
2
0
0
15
-30
-4
0
0
-53
37
-32
0
0
7
-68
-29
0
0
4
-23
33
0
0
-27
1
7
0
0
46
6
-19
-4
-5
-16
-12
-15
0
0
-8
-30
43
0
0
49
28
-3
0
0
-13
8
-9
0
0
13
31
-36
0
0
-4
17
-1
0
0
9
5
3
0
0
0
-4
-3
0
0
22
-1
13
0
0
-25
-29
-9
0
0
-1
0
6
0
0
8
7
1
0
0
-5
10
2
0
0
3
1
0
0
0
1
10
-2
0
0
-2
5
-2
0
0
47
-28
-2
0
0
15
17
41
0
0
-22
-2
-14
0
0
-12
-19
62
0
0
-23
-85
9
0
0
28
-16
30
0
0
-76
13
-38
0
0
29
-4
-37
0
0
-13
4
-108
0
0
15
-2
-42
0
0
19
-40
140
0
0
-2
-14
29
0
0
31
-45
4
0
0
-17
12
-8
0
0
-14
31
-4
0
0
-24
-9
-21
-21
-21
-3
22
19
0
0
-8
22
-9
0
0
7
20
-54
0
0
-42
-26
7
0
0
0
-47
14
0
0
25
-15
10
0
0
25
8
-5
0
0
0
5
2
0
0
23
-2
-4
0
0
-43
26
-9
0
0
-62
8
-3
0
0
-6
-22
0
0
0
1
30
-3
0
0
0
0
0
0
0
-1
1
-2
0
0
0
-4
0
0
0
12
-1
0
0
0
-11
17
12
0
0
-56
1
-7
0
0
-81
50
-56
0
0
-23
-111
43
0
0
34
-28
31
0
0
17
12
2
0
0
-2
1
2
0
0
-7
18
-57
0
0
4
16
37
0
0
37
56
-9
0
0
67
-23
5
0
0
-55
6
-13
0
0
33
-16
57
0
0
13
-50
16
0
0
21
27
-52
-17
-1
54
-20
21
0
0
19
-27
-22
0
0
-14
-6
67
0
0
9
53
-7
0
0
4
1
-40
0
0
38
-10
-15
0
0
30
-7
1
0
0
-2
-1
4
0
0
31
5
-44
0
0
77
-7
13
0
0
-9
-36
14
0
0
0
-3
-8
0
0
16
-9
5
0
0
3
-4
-3
0
0
0
9
-8
0
0
3
0
-6
0
0
29
-28
10
0
0
-36
33
-7
0
0
-8
27
-66
0
0
-104
18
22
0
0
22
1
73
0
0
-111
-24
31
0
0
-24
-50
16
0
0
5
-21
-39
0
0
-74
16
-1
0
0
-8
23
-20
0
0
-30
55
-32
0
0
-26
43
17
0
0
-14
-26
91
0
0
3
21
-6
0
0
39
91
-6
0
0
25
-132
76
-11
-14
117
5
25
0
0
40
58
-28
0
0
-19
57
-24
0
0
26
34
4
0
0
49
-65
6
0
0
4
15
10
0
0
-31
17
24
0
0
7
5
1
0
0
-16
18
9
0
0
-17
56
18
0
0
-42
22
4
0
0
16
28
-8
0
0
-5
-1
25
0
0
-9
-1
6
0
0
0
6
-3
0
0
0
9
-4
0
0
33
-5
-4
0
0
-16
35
-15
0
0
40
-7
-46
0
0
-92
66
41
0
0
4
-36
30
0
0
-32
-3
-20
0
0
-41
-36
-46
0
0
2
-58
-14
0
0
43
-79
-19
0
0
14
-17
-2
0
0
19
15
45
0
0
-24
-31
6
0
0
19
40
-53
0
0
-25
-71
-41
0
0
-22
50
-51
0
0
6
9
39
-18
8
-30
-58
-8
0
0
-36
3
99
0
0
13
17
-28
0
0
-22
6
1
0
0
23
22
-25
0
0
-5
-4
2
0
0
-35
4
3
0
0
2
-6
-3
0
0
31
-37
-10
0
0
39
48
-13
0
0
59
-30
-3
0
0
12
-43
3
0
0
0
31
-14
0
0
-4
-8
-1
0
0
-7
1
0
0
0
5
-12
2
0
0
68
31
-4
0
0
-13
-7
26
0
0
-38
-28
24
0
0
-23
-67
5
0
0
-41
10
-21
0
0
13
13
-30
0
0
34
-40
-17
0
0
-2
-3
-3
0
0
7
-2
26
0
0
-10
-13
-16
0
0
29
31
-91
0
0
-66
5
19
0
0
-53
-43
47
0
0
-1
-39
0
0
0
3
-46
57
0
0
27
-54
-6
-27
-10
12
24
2
0
0
37
-34
47
0
0
-24
-53
-19
0
0
4
61
-45
0
0
-68
-31
-23
0
0
50
-12
1
0
0
-24
16
46
0
0
18
34
-2
0
0
-23
46
15
0
0
30
-2
-5
0
0
28
18
9
0
0
27
12
-31
0
0
16
-36
0
0
0
49
-10
0
0
0
-10
13
-1
0
0
-8
-23
-16
0
0
-43
14
8
0
0
-43
-18
-18
0
0
-38
-54
-10
0
0
-136
-48
27
0
0
-64
83
-6
0
0
4
17
-7
0
0
-50
-78
-96
0
0
6
-18
-57
0
0
56
-53
93
0
0
-4
-7
-31
0
0
-7
-38
15
0
0
27
28
-6
0
0
-42
15
-23
0
0
68
-15
28
0
0
20
-15
2
0
0
25
-5
8
-12
-7
-116
-110
9
0
1
-7
12
31
0
-7
33
-4
-22
0
1
9
3
7
0
36
12
-22
-3
0
27
31
85
-42
0
16
63
22
-2
0
120
67
22
22
0
22
-10
-45
8
0
-58
27
57
-26
0
98
-24
62
14
0
4
-22
-8
79
0
-31
-25
-45
18
0
-12
15
55
10
0
2
42
-44
-13
0
7
5
23
45
0
-4
40
34
-26
0
8
0
84
56
0
39
-33
82
67
0
13
103
-84
1
0
-32
75
55
22
0
45
71
37
10
0
-1
-2
20
0
0
0
-32
24
-5
0
17
18
-59
2
0
30
70
81
-45
0
7
35
57
-1
0
0
18
74
7
0
3
-7
14
30
0
43
59
26
-10
0
8
67
0
14
0
28
24
-11
34
12
-7
-39
-5
5
0
-12
17
40
23
0
20
32
-9
-15
0
52
30
27
41
0
52
62
1
36
0
-38
-22
12
68
0
66
59
17
31
0
86
13
8
-10
0
20
-58
-8
62
0
-32
15
21
67
0
-4
18
89
-18
0
5
31
-9
-8
0
6
71
64
17
0
50
48
-17
-35
0
-16
77
-59
69
0
-2
33
-69
7
0
-18
26
27
-13
0
13
-54
2
-20
0
5
-32
9
27
0
-24
12
-66
-2
0
-30
-10
27
-30
0
-1
18
-7
18
0
-2
12
8
18
0
0
5
33
1
0
5
28
45
25
0
-2
67
16
-19
0
58
9
0
12
0
1
23
-38
3
0
8
1
74
-12
0
52
-12
-58
2
0
11
42
54
29
0
-6
-88
24
-2
-5
-164
3
20
-24
0
49
0
46
31
0
11
72
-45
14
0
30
15
25
48
0
-9
48
-43
-17
0
-4
22
23
-31
0
13
40
14
-31
0
30
-43
-34
41
0
23
-21
41
3
0
-5
14
65
36
0
23
43
2
15
0
23
-10
-5
-80
0
-49
-16
48
-19
0
9
-24
13
1
0
7
50
19
-12
0
-68
-31
25
18
0
13
21
35
-17
0
19
43
41
-2
0
10
49
-51
-2
0
-51
-16
1
3
0
15
-31
7
2
0
-2
4
20
-15
0
-4
6
-22
-12
0
6
-2
21
-4
0
-1
-25
-12
7
0
31
29
12
5
0
-18
42
-5
-8
0
-3
12
19
4
0
8
-48
5
2
0
25
-26
60
-58
0
1
39
-31
10
0
33
31
5
-2
-15
-51
18
2
-34
0
-1
1
-11
-18
0
-5
78
-49
-94
0
57
49
-9
-21
0
16
11
6
33
0
-19
-4
-46
21
0
35
42
-14
44
0
66
-31
33
17
0
-1
-5
21
-21
0
34
68
-1
14
0
21
-61
45
21
0
-86
44
59
-19
0
2
-49
24
17
0
-8
21
17
53
0
45
-58
-14
-48
0
25
13
50
25
0
30
-37
82
-94
0
42
-33
20
8
0
-8
-14
43
12
0
6
-43
41
-2
0
39
-24
36
1
0
0
2
19
0
0
3
7
-54
-1
0
2
-29
-41
-4
0
-21
-6
-15
0
0
-19
26
35
3
0
14
-32
-44
-8
0
-2
-68
18
-30
0
-15
29
-25
-31
0
-4
-55
-31
-41
0
-25
11
-23
9
0
46
47
59
-8
2
-104
-5
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-14
29
56
0
4
15
41
-6
0
-18
-4
22
-9
0
-4
15
1
-26
0
75
19
59
-8
0
-23
19
20
85
0
31
-9
-25
2
0
27
44
-68
-22
0
99
-74
45
14
0
-89
-10
10
-23
0
13
46
-12
28
0
69
52
8
-41
0
67
24
-1
-45
0
-19
3
26
13
0
0
0
12
-7
0
-15
-1
-8
-4
0
-10
-12
77
13
0
-57
49
32
-43
0
41
4
2
-3
0
-8
5
0
-2
0
80
-30
-18
6
0
-44
20
95
-7
0
-7
0
16
2
0
41
-26
1
5
0
48
-10
-9
43
0
33
45
5
89
0
-18
52
14
25
0
75
-59
-6
5
0
-15
65
38
66
0
-13
26
-9
23
0
-62
19
14
-16
-1
-17
-13
19
-20
0
5
20
-6
27
0
-42
71
2
-16
0
-62
82
-8
19
0
20
-41
-27
58
0
34
-55
84
-8
0
-50
-39
-15
57
0
9
-24
8
-7
0
-22
-30
-7
-19
0
39
44
11
-46
0
34
-52
62
1
0
-44
47
-35
18
0
4
22
-14
23
0
10
18
-11
4
0
-5
12
76
13
0
0
-18
1
0
0
-35
25
10
-7
0
0
16
-16
-2
0
89
-75
-49
8
0
-17
39
-30
0
0
13
58
40
-18
0
51
67
3
1
0
-22
7
-19
0
0
0
-8
-8
-3
0
-22
42
23
6
0
3
-42
28
1
0
-9
46
-59
9
0
12
-3
44
5
0
24
19
-23
-4
0
54
-5
-4
-34
0
65
-31
43
6
0
13
13
-76
-12
50
-8
-27
19
-35
0
-29
-44
28
-1
0
-121
19
0
86
0
-9
32
8
17
0
13
-10
-5
-8
0
33
-2
21
3
0
47
-43
77
-3
0
8
-30
34
-7
0
15
-46
-27
-9
0
7
13
49
6
0
60
5
26
-47
0
5
-10
-9
-5
0
-1
-13
30
3
0
-8
61
16
-9
0
-12
-7
-8
3
0
0
10
-7
1
0
-41
-5
-39
0
0
-30
-34
-8
4
0
-18
-21
15
15
0
2
1
13
0
0
3
-21
-34
7
0
27
0
-25
0
0
-7
-7
-9
0
0
-1
21
-8
0
0
0
-10
10
2
0
2
4
28
4
0
14
7
-20
27
0
10
-20
-1
-31
0
41
28
13
-2
0
0
-43
-2
-6
0
7
19
-4
-1
0
20
17
-27
1
14
-30
69
-2
8
0
43
7
-28
-3
0
-13
11
66
-67
0
13
65
44
4
0
28
35
-23
19
0
-5
-19
5
13
0
-1
13
-42
1
0
-8
-26
47
2
0
51
-75
18
-20
0
7
58
42
-48
0
-46
-8
8
6
0
22
84
-49
-16
0
-4
-22
-50
-6
0
-5
-22
22
8
0
0
-27
14
0
0
-2
61
-33
-12
0
-20
-41
31
28
0
-31
-22
-9
7
0
-28
-10
-25
17
0
4
-59
25
-1
0
-30
8
33
19
0
-2
-13
-9
0
0
1
5
5
0
0
0
-8
1
1
0
5
-16
20
-2
0
-31
17
31
-3
0
-14
-24
-16
-13
0
-25
32
5
-2
0
29
44
8
-14
0
2
5
-1
8
0
-4
-49
5
14
0
-6
2
-32
1
-11
8
106
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
16
-10
-13
0
41
-23
23
-17
0
-21
39
7
23
0
56
-14
-25
5
0
1
38
-31
13
0
-6
-1
8
7
0
45
10
12
-3
0
-45
53
-15
5
0
105
29
7
-5
0
2
17
-42
84
0
-41
30
-27
-27
0
71
9
30
25
0
19
-32
14
39
0
8
69
-7
-2
0
-47
40
14
23
0
-5
1
-4
-41
0
2
1
5
18
0
-6
8
17
-1
0
-10
-3
1
37
0
-9
2
44
4
0
29
41
-21
7
0
-46
-8
33
-14
0
35
-80
-14
-67
0
-102
-45
27
-9
0
4
52
-25
32
0
-38
-32
53
-14
0
-20
-23
18
-39
0
-38
71
-62
-67
0
31
-24
41
-73
0
17
20
7
-68
0
20
-9
-26
35
0
-5
-27
-56
10
0
-54
29
55
41
0
32
35
31
-19
0
10
-36
-10
-14
0
2
3
15
64
0
15
-47
-21
20
0
-46
74
14
-25
0
-2
32
-8
-7
0
17
3
27
-41
0
46
-44
50
31
0
8
-9
22
13
0
24
-33
44
-16
0
55
-7
-30
36
0
-31
14
18
9
0
1
9
50
-5
0
-8
11
7
0
0
-40
27
-5
3
0
3
0
13
14
0
8
7
-25
-29
0
14
31
-14
13
0
10
12
-18
0
0
-43
-22
70
-54
0
5
-30
17
-79
0
-99
3
-52
57
0
-66
-26
16
83
0
61
47
54
-41
0
-60
-35
-3
58
0
-83
33
-43
19
0
-33
-4
61
-9
0
8
43
-23
51
0
51
52
54
-4
0
39
-79
4
-99
3
-35
-72
2
-91
0
54
-5
45
0
0
-64
-23
29
-42
0
-76
41
8
10
0
31
-9
3
29
0
-55
-21
5
8
0
5
-3
-8
0
0
-5
-5
4
0
0
64
-7
-8
-9
0
11
28
4
3
0
-23
28
9
-9
0
-7
-30
-5
19
0
-13
-32
50
3
0
8
-17
1
-2
0
0
-44
25
-1
0
-8
-9
-20
-2
0
13
2
-6
-10
0
-26
8
-1
-30
0
-2
22
-18
-18
0
45
-18
-35
6
0
14
-20
-21
3
0
27
-18
66
-2
0
3
-11
-70
22
0
-4
21
24
3
0
35
-47
-30
-21
0
40
56
49
43
0
-24
-26
17
-65
0
-53
-84
39
-71
0
-21
44
7
-44
0
-45
-20
10
-9
0
13
6
-48
50
0
4
6
-56
34
14
26
-131
-105
11
0
-47
1
0
-41
0
-28
-38
25
-44
0
4
7
-5
5
0
-5
57
20
45
0
33
5
6
0
0
-25
-34
49
-16
0
10
-31
-7
0
0
-95
45
-13
6
0
-51
13
21
42
0
-47
62
-46
-9
0
12
-3
-22
21
0
34
-72
70
-8
0
-1
-4
-7
-5
0
-13
23
-32
3
0
-7
13
13
-10
0
26
36
-65
21
0
-10
-23
-23
-50
0
11
-30
-23
-39
0
-50
-2
-34
31
0
17
-19
-77
-49
0
45
69
-4
20
0
2
6
-32
-19
0
38
-60
-28
-114
0
-74
33
-68
-66
0
-112
-99
22
7
0
-33
30
-5
97
0
66
-35
-26
47
0
-30
-45
36
42
0
5
-9
-43
36
0
-24
-36
-11
21
0
-83
49
-55
-41
-21
-49
-77
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
16
15
51
0
12
65
-50
37
0
-37
26
6
24
0
-6
28
1
-5
0
54
20
-7
-1
0
-28
13
-9
-21
0
68
6
-7
0
0
59
-51
12
-3
0
76
13
-21
20
0
6
16
-18
59
0
-8
46
48
-24
0
-9
-31
6
2
0
59
82
28
-13
0
66
36
20
-9
0
77
-43
-20
8
0
-2
14
14
-13
0
14
-11
11
-7
0
-25
-26
-43
69
0
8
-25
102
22
0
-87
46
6
-84
0
-51
16
11
31
0
-16
-44
-32
0
0
-39
-63
-12
-30
0
-96
-46
-15
40
0
23
16
-1
2
0
-8
-18
8
-5
0
-15
12
16
36
0
-94
-27
-4
-13
0
36
11
-17
-24
0
-94
-4
28
-26
0
-155
7
6
-3
4
-50
-12
-18
5
0
-21
-33
58
6
0
28
10
-18
-4
0
-43
76
-24
-2
0
14
-11
-17
-8
0
-32
23
9
-8
0
0
7
-21
4
0
17
-13
7
3
0
-4
41
23
0
0
-49
-13
4
-17
0
30
-10
54
-11
0
-7
26
-38
3
0
-42
46
1
-16
0
-14
52
-44
-6
0
21
13
-5
-13
0
0
-14
-33
-4
0
1
48
-50
23
0
-5
17
-62
35
0
17
-45
34
39
0
72
-29
37
34
0
-36
-76
-33
7
0
-1
25
-14
21
0
47
-52
-47
45
0
13
-13
42
42
0
-79
-3
18
-19
0
10
-6
13
3
0
40
-11
-42
38
0
30
15
63
-28
0
-18
-42
25
26
0
-24
7
27
-49
0
-74
-10
-25
-13
0
20
18
-6
7
-11
-70
3
22
26
0
37
33
14
18
0
-17
-57
-17
-1
0
2
3
13
-1
0
23
-29
-7
-7
0
6
7
-4
-1
0
2
1
37
0
0
25
-1
6
0
0
-41
10
6
1
0
31
57
-15
0
0
2
-29
6
7
0
17
-29
1
4
0
27
-23
-7
-5
0
32
-1
8
-12
0
-41
1
27
-3
0
-24
-6
-12
-1
0
-94
15
-37
-13
0
-89
40
16
57
0
66
-89
-15
-55
0
-53
44
-25
-70
0
-44
9
18
-31
0
28
8
75
-56
0
-13
13
22
-50
0
1
-35
83
-25
0
30
-37
-34
-8
0
-23
8
21
84
0
-74
-78
10
-50
0
-13
5
3
16
0
22
-1
-34
48
0
28
-42
-2
-48
0
-6
-41
-19
-17
0
75
88
-38
-50
16
1
42
-43
-81
0
-29
-40
-10
0
0
28
-76
70
19
0
-6
-2
-18
-4
0
23
-37
0
-12
0
-32
-5
1
0
0
49
-13
24
2
0
-19
-31
-2
-3
0
-14
6
23
0
0
3
-13
-31
3
0
16
24
-21
2
0
-2
7
-32
-2
0
-7
4
39
6
0
20
21
3
0
0
-17
6
-1
-4
0
-24
-16
-3
0
0
23
38
-44
19
0
-58
2
-93
-17
0
-18
-21
-9
-13
0
-44
77
10
-25
0
-147
-43
5
18
0
-64
-30
57
-7
0
43
-102
14
-13
0
51
-43
9
23
0
-64
-24
11
-75
0
14
-30
4
-18
0
-57
-36
-13
27
0
-13
7
-49
-21
0
-5
31
-31
-33
0
22
-25
20
69
0
40
-38
69
-64
0
19
-10
-15
26
-46
-49
-35
3
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
-5
7
0
13
44
11
-16
0
8
21
-66
-33
0
66
6
-24
18
0
10
66
14
56
0
49
88
4
76
0
-60
8
4
35
0
34
40
2
-30
0
-69
29
-27
-20
0
71
7
56
-10
0
8
21
45
62
0
13
57
-32
41
0
37
20
-21
9
0
0
25
-14
-49
0
-7
-23
35
23
0
72
-71
22
8
0
18
-36
11
21
0
4
-13
48
42
0
1
8
4
8
0
68
-10
26
10
0
-32
60
94
23
0
4
17
3
2
0
0
-2
-7
5
0
0
5
43
-7
0
-57
50
93
-53
0
8
25
20
42
0
3
41
32
7
0
-2
-2
16
18
0
-2
57
26
-30
0
-1
-36
42
77
0
16
-63
51
71
6
31
46
0
-11
0
29
-1
31
26
0
13
28
27
12
0
18
20
110
-39
0
57
25
54
-53
0
58
13
-10
22
0
48
33
21
70
0
2
52
-5
49
0
-37
104
7
26
0
87
108
-51
10
0
-11
61
108
23
0
-31
-3
22
-1
0
63
-22
-41
154
0
11
-35
48
25
0
2
84
50
26
0
16
-7
-30
-7
0
15
50
39
-8
0
132
0
30
-2
0
-14
-59
1
59
0
5
-13
-8
-8
0
-54
77
24
-1
0
-10
21
29
6
0
3
15
83
3
0
1
-15
7
-6
0
-5
-23
8
-4
0
-5
-34
47
-18
0
23
1
-91
19
0
1
-43
96
-1
0
-13
-58
29
2
0
60
26
-5
9
0
28
-15
7
26
0
-15
56
-32
-16
3
-94
-32
19
-25
0
11
32
1
-26
0
-8
14
67
2
0
32
4
63
30
0
-14
38
-22
41
0
62
93
25
-9
0
26
30
24
21
0
36
-45
24
17
0
26
3
18
-11
0
38
-14
-4
-24
0
8
-3
13
-3
0
-2
28
102
12
0
-16
40
58
-7
0
3
16
13
12
0
-1
-10
-14
-16
0
8
-30
-48
13
0
-35
13
5
9
0
44
-33
24
19
0
13
14
-28
-13
0
1
-12
-70
0
0
-9
1
32
-6
0
-5
12
14
-3
0
0
-10
-7
-2
0
3
3
47
-4
0
0
-25
-9
4
0
13
-20
-44
10
0
8
-17
-18
5
0
-2
-77
8
-27
0
14
25
-1
13
0
13
11
-56
6
0
1
53
-13
5
0
6
16
-1
25
17
-42
5
-36
-10
0
-38
5
5
41
0
-3
-41
69
13
0
8
-7
119
-26
0
18
24
-20
32
0
20
-47
31
12
0
-6
-69
-15
31
0
9
-6
-14
-31
0
32
13
-45
-19
0
-5
30
22
-17
0
80
43
-13
-22
0
-5
2
-38
-19
0
5
30
14
-44
0
-5
31
-21
-4
0
10
46
5
15
0
-2
39
25
-14
0
-6
49
-19
22
0
3
-10
65
12
0
-40
13
-64
-7
0
-3
-13
-8
0
0
-28
79
-33
17
0
0
1
-4
3
0
0
2
-17
-2
0
9
-1
1
-3
0
0
-3
19
-4
0
-3
-9
16
-3
0
-17
32
24
1
0
0
-6
30
-21
0
-6
-2
29
8
0
6
8
-7
-12
0
-11
51
-59
-16
0
45
9
-44
41
-11
-98
-27
75
66
0
6
-57
43
52
0
14
-34
37
82
0
2
-15
35
-9
0
-24
28
-6
3
0
-46
30
4
4
0
82
4
-9
11
0
109
-38
5
5
0
101
-72
28
0
0
94
3
-9
8
0
22
2
-40
26
0
15
3
6
4
0
39
-19
-17
1
0
-13
80
62
2
0
0
9
-32
25
0
1
-44
5
-1
0
-29
8
-3
24
0
-15
13
16
24
0
45
33
-36
-18
0
-6
-8
8
2
0
-34
25
1
-3
0
13
41
18
1
0
0
0
9
-2
0
0
0
-3
0
0
1
-18
7
0
0
-7
-23
50
1
0
-7
6
24
-3
0
0
4
-14
0
0
0
-1
5
0
0
-43
48
23
-12
0
1
8
29
-2
0
22
17
-31
0
-2
46
43
21
3
0
-2
6
23
8
0
-6
40
-21
0
0
36
30
-43
34
0
18
13
43
-13
0
21
19
-15
-25
0
37
-13
-66
37
0
121
-55
-7
14
0
-1
-11
-30
6
0
-5
-5
75
25
0
-20
-31
-3
27
0
7
12
15
-3
0
-54
3
29
-1
0
4
41
36
-13
0
55
23
35
-7
0
-3
18
-22
-6
0
-5
28
48
4
0
-45
16
-42
-6
0
5
14
56
18
0
-8
-1
6
0
0
50
-4
-19
-4
0
-40
14
-48
0
0
6
-32
50
3
0
0
0
-4
0
0
-4
8
0
1
0
-4
-15
23
13
0
13
3
49
-27
0
0
-1
-31
0
0
-2
0
-7
-2
0
46
-17
-40
0
0
-12
14
-2
10
0
7
10
2
0
-22
29
-72
-8
0
0
64
20
-29
-25
0
-10
-62
64
-48
0
-30
52
22
15
0
69
56
70
-61
0
30
37
-41
-7
0
-32
7
23
-15
0
-5
25
16
1
0
-11
-60
25
10
0
-29
59
10
-2
0
-14
12
-12
1
0
24
9
-25
3
0
-8
-13
-7
2
0
2
-17
3
-7
0
0
1
-24
-1
0
3
-5
13
-2
0
-10
-2
0
-8
0
-5
22
31
-2
0
-8
-51
12
-1
0
0
0
-2
0
0
7
-2
-3
0
0
2
0
10
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
1
-1
0
0
13
-24
2
0
0
1
2
-1
0
-8
0
0
3
0
0
-7
-32
1
0
0
21
-8
3
0
-6
3
-14
-2
37
-21
-14
-3
-1
0
42
3
61
37
0
82
-36
20
-46
0
-42
23
-15
79
0
51
-34
-11
5
0
44
40
-4
-5
0
-61
32
95
3
0
31
-1
74
2
0
41
40
-36
1
0
-15
55
-12
25
0
-63
-66
5
-43
0
-12
-1
10
16
0
-10
-47
-3
-10
0
-2
12
-9
0
0
18
35
3
-12
0
-4
9
8
-9
0
-12
2
-18
-6
0
34
-16
-74
16
0
7
23
5
-10
0
12
-23
42
9
0
25
43
48
-3
0
3
4
-20
3
0
-1
-20
0
8
0
0
3
0
0
0
-7
42
0
0
0
-8
-16
-7
-3
0
-4
-3
-1
1
0
0
1
13
0
0
4
-13
0
-10
0
2
-17
27
2
0
-2
-25
2
9
0
-8
-42
21
0
-18
-4
29
0
0
0
-12
38
51
54
0
23
5
37
27
0
76
52
10
25
0
13
50
-22
50
0
-48
-13
22
39
0
-13
-25
6
24
0
49
9
2
-17
0
-22
4
23
3
0
-48
1
0
72
0
-25
-28
67
-33
0
42
13
31
-6
0
-7
70
15
-31
0
9
-31
-20
22
0
-1
40
94
5
0
1
80
-28
-14
0
15
22
1
-4
0
-57
-28
-22
-2
0
9
-5
25
-53
0
8
-6
-23
0
0
20
-1
2
0
0
-5
-14
0
5
0
0
4
-3
-1
0
0
2
1
-2
0
1
-27
2
0
0
80
-9
16
-5
0
-16
41
75
-13
0
0
6
-5
0
0
-5
-8
41
-4
0
27
1
-36
8
0
0
5
49
-5
0
-25
29
-17
4
15
-6
-76
-3
19
0
-23
-1
-6
114
0
13
16
-30
-5
0
75
30
-92
1
0
32
27
4
-4
0
-7
47
-19
5
0
-2
23
56
-30
0
-50
13
23
0
0
58
14
8
6
0
-4
13
115
31
0
-19
-11
18
41
0
66
-12
-55
-24
0
12
-39
21
-23
0
25
44
-14
-8
0
-41
58
15
-16
0
-30
13
-17
-5
0
42
-34
-51
8
0
13
2
35
1
0
-43
-71
17
-6
0
1
6
-4
0
0
-29
15
-4
-3
0
2
-2
8
2
0
0
5
13
-8
0
0
-1
1
0
0
13
4
0
-2
0
-9
84
67
-4
0
-2
-26
-15
41
0
0
-24
7
-1
0
-41
17
-1
5
0
-4
89
74
-10
0
48
-23
6
-22
0
5
-31
30
0
10
-23
30
-2
-29
0
123
28
-41
15
0
5
3
23
49
0
57
-28
-35
12
0
60
-15
45
-5
0
-65
55
23
8
0
-25
-8
3
-3
0
12
-18
-12
0
0
5
13
-8
4
0
-31
-35
13
16
0
-13
95
13
28
0
-29
54
-44
1
0
11
104
74
-30
0
0
-7
-19
4
0
0
15
-10
0
0
-16
0
32
25
0
13
32
6
-8
0
56
44
2
1
0
-33
-3
1
-1
0
-6
3
3
2
0
-27
-1
3
-3
0
-1
0
2
0
0
-2
0
-2
0
0
0
-1
0
-1
0
0
0
-2
0
0
1
13
8
-2
0
-9
3
4
-2
0
-1
-10
6
3
0
-9
-3
-4
3
0
6
-2
-19
-2
0
-8
-8
24
-7
0
43
-13
-6
-8
6
-14
21
-14
-23
0
-57
-6
92
-50
0
-22
-15
-23
-50
0
-56
31
-39
37
0
32
28
49
-24
0
-41
-49
19
-7
0
25
-27
18
2
0
43
-4
9
1
0
108
-5
42
-3
0
16
50
-14
-15
0
72
-30
8
-12
0
81
-41
-46
-5
0
19
-36
-66
44
0
-8
31
3
5
0
20
8
-42
7
0
5
23
-27
-1
0
-17
3
-10
-22
0
-8
0
5
3
0
-9
2
-1
-7
0
0
-24
-8
0
0
-111
5
12
-2
0
-7
-2
-1
0
0
1
2
-2
0
0
0
0
0
0
0
-2
31
-2
0
0
-2
30
13
3
0
14
1
-2
-6
0
1
8
1
0
0
-11
-5
-21
4
0
5
-34
23
0
0
-7
-25
12
-6
0
-27
-14
-16
0
24
-3
5
-23
-31
0
-28
9
22
29
0
-13
43
-5
21
0
-79
37
66
4
0
1
8
-7
4
0
57
-55
-13
-8
0
0
12
-22
-3
0
25
-4
41
0
0
30
-23
9
4
0
20
46
41
-3
0
-65
35
3
-4
0
-6
46
30
2
0
-90
21
-8
0
0
42
35
-12
1
0
6
-20
0
0
0
-3
-29
8
2
0
7
-14
33
1
0
-35
0
8
7
0
107
-5
-41
-3
0
-5
-5
23
2
0
5
3
1
1
0
-6
24
-8
4
0
0
-1
4
0
0
-2
2
1
1
0
0
-24
-2
0
0
8
48
25
-8
0
0
6
3
0
0
0
2
-2
0
0
-2
-8
1
0
0
3
-23
-21
-9
0
1
15
0
9
0
-5
-1
0
0
4
-13
-13
-6
-1
0
11
-27
83
44
0
-5
17
20
11
0
-61
13
69
-8
0
-49
28
-4
10
0
-25
-1
6
4
0
0
1
-37
5
0
49
-5
-8
0
0
23
-53
-30
6
0
18
-33
3
-35
0
6
17
42
-4
0
23
-6
-58
5
0
7
0
-19
-8
0
13
-48
45
-3
0
-13
-33
-5
-4
0
0
-7
-9
1
0
4
-27
-7
5
0
7
-13
55
-14
0
-48
5
-8
17
0
0
-2
-3
0
0
-33
-13
-13
6
0
10
-4
10
0
0
1
-8
-25
-4
0
0
5
0
0
0
0
0
-1
1
0
2
18
-23
4
0
-7
22
-9
-1
0
0
5
-4
-6
0
4
2
1
0
0
5
18
-20
0
0
2
0
3
2
0
0
6
-4
2
-1
10
-4
0
-4
0
17
49
75
-24
0
26
27
66
-3
0
5
52
-21
31
0
25
-45
29
15
0
-45
34
97
21
0
12
-2
33
-4
0
12
0
-32
-1
0
-39
39
-6
1
0
-33
-21
68
13
0
-13
-21
20
-10
0
3
-54
14
-2
0
-5
-3
20
-6
0
-3
18
-27
0
0
0
-7
30
0
0
-1
-21
9
2
0
-41
4
18
0
0
32
69
-16
8
0
13
-7
21
-32
0
-14
-5
-24
2
0
9
-1
4
-5
0
0
0
-4
-1
0
0
0
-19
1
0
2
0
-1
0
0
1
0
4
0
0
3
-15
10
-14
0
-1
1
-10
-6
0
0
1
-23
-1
0
5
1
0
3
0
3
27
-22
-7
0
0
0
-4
0
0
-5
-10
5
0
1
35
-6
1
3
0
40
-23
76
15
0
1
-7
5
-11
0
-43
33
-9
8
0
-54
9
28
5
0
-17
-6
11
25
0
18
6
-42
-13
0
-17
13
-8
0
0
35
-15
17
4
0
25
-18
23
-13
0
55
-39
-14
42
0
-14
25
-59
4
0
39
-53
-3
4
0
0
-15
-25
2
0
-9
-41
-17
0
0
-4
9
-8
0
0
-38
23
13
-10
0
57
15
-21
-30
0
-22
66
-58
4
0
-9
42
14
-8
0
-25
-49
23
-8
0
8
10
8
4
0
-6
-16
35
-3
0
0
-7
4
0
0
-19
12
-18
2
0
1
33
4
-10
0
9
-20
-15
17
0
1
24
3
1
0
3
-18
4
-7
0
0
13
-21
-4
0
3
1
-2
1
0
2
5
-9
-1
2
-19
2
-42
14
0
-8
34
6
52
0
23
-58
26
-34
0
3
11
7
-30
0
25
10
-29
13
0
6
-30
89
0
0
-2
31
1
-14
0
28
-20
-6
1
0
-2
7
25
20
0
46
4
-8
0
0
-9
30
-5
1
0
1
19
-8
0
0
4
0
-5
8
0
4
-63
-4
47
0
-1
5
14
2
0
17
-30
-51
6
0
2
-71
66
27
0
8
1
-1
20
0
8
0
18
48
0
14
59
-3
-50
0
-15
-20
31
-47
0
8
18
43
14
0
16
56
16
21
0
1
-41
-1
-50
0
-37
3
-4
-37
0
23
-8
24
-24
0
-22
68
-5
-5
0
54
38
64
0
0
104
-8
29
-41
0
71
28
-42
-50
0
-7
-29
-3
-15
0
9
39
-64
-50
13
-52
0
-10
-17
0
27
-29
31
5
0
5
59
-68
-1
0
-27
-27
9
-1
0
61
22
-23
32
0
-25
65
1
-5
0
-5
38
-2
-1
0
3
-19
8
1
0
29
21
7
-21
0
16
-4
10
4
0
25
-1
58
-9
0
0
-3
-3
1
0
25
6
22
-14
0
-50
-2
7
0
0
-15
38
-2
-1
0
-25
-1
41
5
0
-27
-13
-2
30
0
-15
-5
-13
-6
0
-11
1
2
7
0
-45
31
-25
-7
0
-6
-51
18
-86
0
-31
-3
38
-24
0
13
-48
-78
101
0
-1
40
-24
-39
0
-3
23
-22
-43
0
-58
-79
-8
49
0
55
-61
48
-41
0
-15
116
-74
-10
0
52
-10
81
-6
0
32
-11
-75
17
0
13
72
13
-8
0
47
-31
-47
9
-4
-63
-18
61
46
0
-69
-35
86
-3
0
-19
35
-1
-3
0
-12
42
-77
0
0
34
-16
5
14
0
3
-44
-8
12
0
25
-2
10
-17
0
-25
-2
7
-1
0
-33
-12
-35
-13
0
25
6
4
3
0
0
3
-7
0
0
-1
-13
5
4
0
2
1
3
0
0
3
24
-3
0
0
6
-8
24
-3
0
30
11
-12
0
0
28
12
-27
5
0
-11
-14
-10
-7
0
4
14
101
-72
0
10
-5
-18
-68
0
-3
-76
-13
3
0
-9
42
40
13
0
18
-3
-20
29
0
63
-53
-71
76
0
-17
4
3
-5
0
40
21
-17
8
0
-20
-31
84
30
0
-26
33
-56
-8
0
-127
64
-69
30
0
-22
-41
-35
76
0
2
19
13
-24
0
-49
-63
-22
-38
0
-61
-50
23
2
0
-7
26
28
-6
0
-54
-3
19
3
0
1
-12
31
-3
0
-22
4
16
-13
0
4
-61
60
2
0
-68
-51
42
8
0
-4
22
-18
4
0
0
-46
-6
-18
0
1
5
-3
4
0
7
16
1
-6
0
0
-1
-1
0
0
17
50
12
-22
0
-5
7
8
-1
0
5
23
-4
0
0
1
-18
-13
1
0
19
76
-45
5
0
-29
-19
-47
-64
0
-14
-46
7
-40
0
-21
3
-56
-15
0
-11
-26
-45
-46
0
-41
-69
-52
97
0
-38
-5
-24
-108
0
-56
42
-42
-76
0
-57
-113
-3
-31
0
99
38
62
26
0
22
-61
45
-66
0
-14
17
-11
75
0
-83
-19
-13
60
0
-25
-160
9
46
0
7
-19
-11
15
0
15
18
-76
-30
-7
-2
-53
37
-11
0
-64
31
22
-23
0
56
-12
-34
-3
0
56
-17
-12
-1
0
22
20
-49
8
0
6
-57
14
-2
0
47
4
13
10
0
0
3
-2
0
0
-6
4
-12
-3
0
32
10
-29
-1
0
0
3
2
4
0
0
41
2
0
0
8
-8
4
-2
0
7
19
2
-2
0
-2
4
0
-2
0
-2
-5
-2
0
0
2
-2
-3
0
0
5
22
27
-34
0
34
46
-3
-75
0
-69
28
-15
26
0
44
-52
-103
8
0
2
-18
70
-10
0
-96
-84
26
76
0
4
-105
-5
18
0
14
-69
-33
-30
0
19
-51
69
16
0
-32
42
-90
12
0
0
7
-19
4
0
-7
8
-29
-5
0
-30
54
43
19
0
7
1
-11
4
0
-61
45
22
-84
2
-64
19
-47
-16
0
40
32
30
7
0
-74
76
-11
10
0
27
30
4
7
0
37
16
5
1
0
-58
-42
19
0
0
-15
-31
31
0
0
-5
-9
0
1
0
21
-7
3
1
0
4
17
-7
5
0
5
-13
-2
7
0
0
-6
0
0
0
0
-2
4
-5
0
1
34
8
0
0
8
-10
-9
4
0
5
14
3
0
0
14
39
6
-24
0
-20
-20
29
-3
0
-32
-5
-38
82
0
-23
98
-25
36
0
15
-31
19
31
0
19
-29
-57
-6
0
-8
-28
0
-18
0
-13
-12
67
-31
0
76
-3
-29
-12
0
4
35
39
-10
0
0
42
-51
8
0
0
-8
25
-4
0
-4
-49
35
-17
0
10
8
94
-16
0
-7
7
-6
-32
0
-24
-3
-38
-8
4
105
1
-63
35
0
-26
27
41
5
0
22
7
18
8
0
21
-8
-10
-2
0
-31
31
-53
3
0
20
5
-5
0
0
0
1
-8
0
0
-2
0
1
2
0
-15
-4
-3
3
0
8
-16
2
-10
0
0
4
2
0
0
0
4
3
3
0
-3
1
-2
0
0
-3
0
2
0
0
0
2
0
0
0
5
-1
5
0
0
-2
-3
3
-1
0
-9
-9
27
-50
0
37
4
-43
-60
0
-56
-5
-99
45
0
-3
-25
-13
-1
0
9
1
-32
52
0
-75
-91
-39
35
0
-49
23
36
-15
0
48
-74
-22
-5
0
-23
-5
-33
-26
0
-2
5
43
-2
0
-7
-3
-43
-23
0
2
2
17
-1
0
2
44
5
-66
0
-3
25
-49
-2
0
26
13
21
20
-24
-102
-52
10
-8
0
-56
54
1
8
0
35
-25
-4
1
0
1
31
-8
-7
0
-43
23
9
5
0
4
-31
5
2
0
-2
17
25
-3
0
1
-1
8
0
0
-38
27
-5
-5
0
-3
-5
-4
-1
0
-6
-2
-8
0
0
0
0
1
0
0
0
-3
2
1
0
0
0
-14
0
0
0
5
-2
0
0
0
-1
-1
0
0
5
-13
20
1
0
-28
-9
11
-14
0
-102
-61
-20
2
0
9
-65
-71
-46
0
-65
5
25
31
0
89
-74
-22
-7
0
-6
-89
-17
-73
0
24
-27
-71
-30
0
-47
-13
-27
52
0
8
-41
-66
18
0
9
-7
-18
4
0
3
14
-20
-14
0
-9
42
-14
-9
0
-3
-33
-38
-24
0
0
-10
-33
3
0
66
49
31
-8
-20
-45
-42
-29
-19
0
32
70
-14
-34
0
17
43
20
-13
0
45
-5
-44
33
0
-24
42
41
22
0
69
31
-22
-16
0
-5
6
15
-6
0
13
2
-2
0
0
47
4
4
13
0
-57
-9
2
8
0
-11
-49
-25
6
0
-19
17
-4
14
0
9
-35
51
-5
0
50
44
16
-19
0
-2
10
16
0
0
-12
32
-27
12
0
26
0
-4
-19
0
-9
19
35
97
0
-2
15
45
35
0
-43
-41
-39
66
0
-29
-24
-59
-47
0
-41
-35
22
-75
0
29
-62
-27
-49
0
84
-51
-40
33
0
-78
10
14
24
0
30
15
2
-4
0
28
-3
25
9
0
14
-20
29
1
0
-25
3
2
16
0
-14
13
11
-69
0
-52
-23
68
63
0
-47
6
4
74
9
-25
18
-8
84
0
-7
-57
-9
12
0
27
77
5
-5
0
-38
77
93
2
0
-4
8
-36
-10
0
70
-24
5
6
0
-25
26
28
-7
0
-16
-35
13
-2
0
-68
63
-3
-5
0
11
-56
-37
-2
0
-51
-5
48
20
0
3
18
-3
-13
0
23
-8
13
-7
0
4
-30
31
-4
0
5
-19
3
-1
0
-2
17
-5
1
0
49
-9
-36
-13
0
-16
-27
27
41
0
-4
59
54
-19
0
-17
-28
18
-6
0
-37
-68
26
3
0
77
-23
-33
9
0
27
-9
47
8
0
-20
-43
59
-12
0
-125
33
19
-1
0
-5
32
-12
31
0
6
10
-1
70
0
-31
71
28
-26
0
26
4
-13
13
0
-2
2
4
60
0
64
-1
27
-88
0
6
13
67
-13
-28
-21
6
-14
67
0
-30
82
12
-4
0
37
-27
-22
5
0
39
7
45
15
0
-38
60
-9
-12
0
33
15
-2
-1
0
-8
-5
3
3
0
7
17
-2
3
0
-54
-37
-1
-6
0
41
-28
14
3
0
-54
43
3
0
0
2
21
-1
0
0
-7
0
-10
0
0
-3
23
0
0
0
1
0
0
-1
0
1
10
-7
0
0
-51
-3
4
0
0
-15
-55
47
52
0
-1
13
-22
11
0
-27
-6
13
16
0
-1
-94
-40
-17
0
41
-17
-17
-52
0
-8
-5
-3
-17
0
99
49
-8
-5
0
3
-8
7
6
0
-46
54
31
32
0
57
-31
44
94
0
-27
-9
-20
16
0
-7
-23
7
-41
0
-28
-34
-7
51
0
10
-39
9
-12
0
-124
-2
-77
22
-7
-93
86
-66
-5
0
7
67
-41
72
0
56
29
-8
-8
0
10
-57
-51
16
0
-40
24
10
9
0
14
15
-1
1
0
-1
-3
6
-7
0
3
-10
-1
1
0
-97
10
8
12
0
9
5
23
-5
0
8
-31
-1
-2
0
-18
-17
4
-1
0
-8
-50
7
9
0
0
3
-1
0
0
-1
4
-6
-3
0
-2
4
-1
-1
0
1
-17
-3
-1
0
-80
0
6
-38
0
-2
-56
-34
-7
0
50
-92
-51
18
0
35
-102
-12
3
0
-60
42
17
-1
0
-2
45
0
1
0
5
-29
5
-1
0
-19
-42
29
-2
0
11
-3
40
20
0
-50
-6
-54
-12
0
-41
-49
17
37
0
19
5
-24
-24
0
-9
13
-51
28
0
3
-9
-59
11
0
51
81
-64
-67
-14
-10
-2
-84
-66
0
68
-24
-6
9
0
-11
1
7
-38
0
-57
106
15
-27
0
-30
15
-9
-10
0
29
-120
36
-2
0
10
84
-6
8
0
5
-8
22
-1
0
-16
-37
0
-8
0
49
8
27
-8
0
4
-44
25
-15
0
-14
49
49
-14
0
17
-41
-13
20
0
74
0
-1
-1
0
0
-8
49
-3
0
2
2
2
-2
0
45
18
-15
-16
0
6
-2
-6
-7
0
-64
-102
21
1
0
-13
14
-29
-6
0
22
-68
5
45
0
-44
-81
-28
-39
0
-28
-59
16
-34
0
-46
-31
-19
10
0
-64
73
-43
-5
0
43
21
-20
33
0
-69
28
27
23
0
19
13
50
-31
0
-8
39
-25
19
0
-43
-7
12
52
0
-61
59
-26
53
0
23
-9
-48
13
3
-12
0
5
-72
0
4
13
-16
-36
0
-17
36
-36
-23
0
-6
31
-46
-10
0
51
-24
-28
44
0
-35
-2
58
-14
0
41
-45
-44
6
0
3
-4
-15
0
0
20
-39
-6
5
0
50
-66
-13
42
0
48
2
-36
5
0
2
13
-3
-17
0
-31
-28
16
-13
0
0
9
-32
3
0
-2
-8
33
-13
0
-1
-7
3
3
0
-72
28
-15
1
0
-4
17
-1
-8
0
-20
-17
20
-104
0
-25
-60
31
9
0
-15
-64
-71
-17
0
-2
-10
5
41
0
55
14
38
-31
0
-9
12
4
-1
0
-4
-21
13
1
0
-70
31
9
11
0
-21
-4
-3
97
0
24
-46
25
-44
0
69
-35
-52
-21
0
13
-10
-9
12
0
-5
-29
20
-29
0
-5
19
93
7
-22
9
-65
-14
27
0
66
31
-74
-31
0
1
25
58
29
0
-35
9
-16
-13
0
-82
-34
26
-14
0
-5
57
8
-1
0
0
4
6
2
0
6
14
0
-1
0
-16
-1
7
-1
0
-76
63
-18
10
0
12
-46
17
9
0
13
-91
-21
-2
0
30
1
22
0
0
4
15
-1
4
0
0
0
0
-8
0
-8
-5
-12
8
0
-6
-5
7
7
0
-12
-104
-12
13
0
26
-14
-64
-20
0
-58
39
-1
-31
0
74
-67
-61
-6
0
-76
59
-9
-56
0
-20
47
-35
-22
0
13
-77
49
-32
0
19
-80
-67
-12
0
21
-7
-5
74
0
-6
35
-1
5
0
-40
-11
12
-32
0
-19
22
-97
-13
0
17
-33
40
-62
0
16
-6
-144
-67
0
18
-95
40
-9
15
-58
-76
-22
-71
0
40
4
-37
22
0
-50
19
106
46
0
-16
-23
3
3
0
42
-74
5
-27
0
13
28
28
-6
0
7
-12
-9
-4
0
-6
41
8
0
0
-46
-72
22
4
0
7
31
-2
-8
0
-34
-31
-31
-32
0
-14
3
-4
-2
0
-7
9
-49
1
0
0
-52
-17
1
0
0
-19
5
3
0
-22
2
4
2
0
-60
-13
-6
-19
0
-83
-33
34
-23
0
4
-11
-99
-23
0
-22
-12
8
-36
0
-9
-5
-80
-18
0
58
-51
-18
-35
0
-49
-8
-87
-41
0
-13
-14
34
12
0
-25
-58
7
-12
0
-2
-16
-18
-40
0
-68
62
-41
7
0
11
-32
43
33
0
-34
-63
-81
-28
0
51
-124
-39
-28
0
20
-13
-17
-39
0
30
10
-1
20
3
-31
35
-63
-102
0
24
22
0
-13
0
48
-9
22
44
0
1
35
20
42
0
88
88
19
-11
0
18
-22
63
56
0
42
89
18
67
0
6
-20
24
28
0
84
-5
-13
-44
0
15
49
15
-25
0
47
-37
66
18
0
1
-18
33
-50
0
-89
72
82
57
0
-28
-46
-9
-30
0
4
93
85
0
0
-30
-34
6
-12
0
75
33
56
38
0
-32
43
-23
22
0
-12
17
19
77
0
5
-5
-73
5
0
-75
32
63
10
0
-47
7
-23
13
0
23
-46
77
-16
0
9
-49
14
-14
0
11
-65
67
42
0
-51
11
56
-18
0
90
24
-59
63
0
3
75
25
3
0
-42
50
58
28
0
56
17
6
-9
0
5
0
-11
7
0
-14
8
5
61
19
-6
-13
1
8
0
12
34
22
-28
0
14
19
15
-7
0
1
83
-5
73
0
38
58
-26
-15
0
-23
-33
20
55
0
25
45
32
-13
0
63
-18
-13
45
0
29
54
24
-26
0
-29
4
-17
39
0
53
30
-85
9
0
25
8
-14
24
0
58
7
42
38
0
43
-2
31
5
0
-13
59
76
46
0
-7
1
-15
15
0
-53
77
9
11
0
37
-6
6
6
0
102
-22
15
-17
0
5
-5
-34
8
0
-28
-41
19
-3
0
-77
53
16
19
0
15
-43
-17
31
0
4
0
9
3
0
6
-38
35
-28
0
48
38
59
-30
0
-70
56
21
44
0
6
-61
139
-3
0
6
43
-69
-13
0
-28
25
33
-44
0
13
65
-80
51
0
24
-15
48
-33
12
43
-3
5
28
0
25
-5
33
-39
0
19
38
0
-35
0
6
20
-32
8
0
-13
76
-5
49
0
89
70
4
2
0
71
-13
24
-34
0
8
48
3
27
0
55
-8
24
11
0
-1
-14
19
41
0
36
-43
63
35
0
-4
36
6
3
0
-43
16
15
-1
0
-25
47
6
-7
0
19
-51
4
31
0
-27
9
32
9
0
-26
20
25
2
0
105
-68
26
-6
0
-18
-25
-32
22
0
-8
46
3
-4
0
40
35
31
-41
0
-49
10
25
0
0
-49
-21
55
-8
0
-3
-2
-3
0
0
5
-66
13
1
0
8
-11
55
-25
0
0
-42
28
24
0
-1
-33
8
-17
0
1
-46
-15
21
0
7
-12
8
3
0
4
-2
-10
54
0
24
56
-43
12
22
2
-7
30
-41
0
18
41
-30
-10
0
22
41
-42
-13
0
66
7
-11
50
0
23
96
-21
-31
0
21
26
35
-4
0
-53
26
46
9
0
50
-75
11
13
0
12
-40
29
17
0
-52
9
45
53
0
110
3
-16
-31
0
20
7
20
-5
0
-39
-56
42
-23
0
-13
-16
79
2
0
4
83
-61
24
0
13
-23
5
0
0
0
-22
68
-23
0
-17
21
33
-35
0
-111
-3
43
-13
0
-18
43
-41
6
0
43
-80
39
-4
0
6
66
6
-6
0
0
42
17
-5
0
6
-12
2
-3
0
-22
-1
-41
-5
0
-38
33
55
-3
0
4
46
-21
9
0
1
37
-18
7
0
2
-15
58
17
0
47
58
-20
-15
0
30
-27
-14
-10
0
19
-2
-91
1
16
25
-72
32
5
0
-13
65
55
5
0
24
28
52
6
0
50
45
24
23
0
-43
46
-2
20
0
20
-1
27
-10
0
28
-12
34
19
0
3
5
2
1
0
6
-26
19
5
0
58
52
7
31
0
-33
30
-10
8
0
7
42
12
-3
0
-17
-6
-17
6
0
-5
-10
-5
1
0
0
6
3
-13
0
-3
-4
-13
3
0
41
3
0
12
0
-65
31
-12
-4
0
1
-20
-1
23
0
39
-7
-10
0
0
-51
14
2
1
0
8
-5
4
-2
0
0
-1
2
2
0
0
-5
4
0
0
-8
1
0
-3
0
-9
22
-8
20
0
11
22
-23
-68
0
-5
-34
-12
0
0
15
-24
8
10
0
14
-2
2
-3
0
0
13
-4
0
0
31
-9
-2
0
19
6
-16
15
-23
0
68
-9
21
6
0
-23
-29
19
15
0
-6
15
31
-54
0
76
-17
89
5
0
33
46
-8
-3
0
64
67
-29
-2
0
15
-13
-6
6
0
-46
81
2
-5
0
-27
64
59
2
0
-89
-1
-19
33
0
4
-8
-3
-2
0
113
-16
-49
0
0
-5
33
32
-4
0
-4
-17
-13
-14
0
1
-19
14
1
0
9
66
-33
-25
0
39
24
13
9
0
-5
-49
4
7
0
18
-41
24
1
0
-40
-8
5
-2
0
0
16
24
2
0
-3
0
17
1
0
-2
-6
10
0
0
4
7
1
1
0
0
10
-21
6
0
-35
-32
-25
46
0
-7
17
-2
-1
0
-42
-43
25
0
0
6
4
-59
0
0
6
-6
-6
-5
0
-10
18
-47
-6
3
-43
-32
6
1
0
29
86
-9
28
0
12
-28
41
-17
0
-25
-2
3
2
0
70
-35
-19
28
0
-38
28
9
0
0
-22
29
-44
-3
0
2
-6
6
0
0
22
-32
-28
2
0
-27
48
9
-5
0
-21
-17
-7
-5
0
-7
-25
12
-7
0
-13
8
8
5
0
0
29
3
1
0
0
5
-3
-7
0
2
0
7
5
0
-54
0
22
2
0
28
75
-5
0
0
-1
-2
0
10
0
3
-2
-1
0
0
0
-5
3
-2
0
-1
8
-2
0
0
0
0
9
0
0
0
0
0
0
0
6
0
0
-1
0
7
-62
-5
-7
0
5
5
-13
-15
0
0
-10
-13
0
0
-31
0
0
2
0
3
7
-4
0
0
0
-6
-3
1
0
-1
1
10
0
-25
10
-5
23
-4
0
15
-6
85
129
0
-9
68
66
4
0
-10
13
38
5
0
4
11
-21
64
0
-17
13
-34
-10
0
45
5
19
-6
0
-58
5
37
6
0
20
-11
1
-6
0
22
-1
14
1
0
38
52
-18
-7
0
-6
92
-19
12
0
35
-42
-40
-13
0
-6
-13
5
0
0
16
-20
22
-6
0
2
87
8
-4
0
-30
-53
28
-2
0
-32
54
4
14
0
-30
59
-7
32
0
2
5
8
3
0
-13
-33
5
1
0
1
-66
30
3
0
-6
2
-31
1
0
1
0
1
-1
0
-9
25
-9
-1
0
-70
-12
-66
8
0
13
12
14
-8
0
-2
8
-49
0
0
-39
-3
13
-9
0
-2
-8
14
-6
0
10
5
25
7
0
48
-60
-5
5
12
-83
-1
-31
-3
0
28
-34
45
45
0
28
13
-8
19
0
-14
94
1
7
0
48
-20
55
-8
0
-18
6
23
-6
0
-11
41
3
44
0
7
-38
31
0
0
28
44
-13
-9
0
57
14
84
-21
0
-21
-47
85
-15
0
-39
56
60
0
0
42
19
-30
-8
0
72
-24
13
-1
0
-1
-2
6
-8
0
0
-8
-33
3
0
-65
0
5
15
0
-28
-53
16
-7
0
5
22
4
-2
0
-7
31
-3
0
0
-32
8
5
5
0
28
39
-13
0
0
7
10
-7
-4
0
-6
-1
3
-4
0
31
3
2
-4
0
57
1
-28
1
0
0
4
-3
0
0
0
3
1
0
0
0
-6
18
9
0
18
22
-34
7
0
2
-19
24
8
0
28
7
-5
-2
-8
3
60
-19
18
0
14
-9
21
33
0
-17
13
39
2
0
26
-43
23
10
0
52
-12
35
34
0
82
8
76
-31
0
-5
31
-67
-8
0
5
35
22
-5
0
34
-62
-18
4
0
51
34
-56
9
0
15
-40
93
-25
0
-3
13
-23
8
0
-14
61
30
5
0
-13
10
-1
3
0
0
42
6
-8
0
-4
-4
-5
-1
0
-42
69
-17
0
0
9
42
-49
1
0
40
-35
-17
3
0
-1
30
4
0
0
1
9
-6
-4
0
-18
64
5
-2
0
5
8
-34
3
0
-4
0
0
1
0
29
15
7
0
0
-22
25
-2
2
0
-13
-72
19
7
0
0
-6
5
2
0
4
-8
-4
0
0
12
14
-5
0
0
3
8
0
8
0
-1
-63
-2
0
0
-1
-51
-7
-2
0
-2
12
-24
68
0
10
-15
54
-7
0
4
-3
40
-14
0
41
-90
64
-3
0
-73
20
5
17
0
102
18
32
-21
0
-14
4
-33
-7
0
16
78
19
-8
0
27
-2
2
-6
0
18
79
-46
-22
0
-8
-45
37
8
0
20
3
-1
-8
0
2
2
-12
-1
0
0
10
4
-1
0
5
-44
-21
14
0
-5
18
8
-24
0
4
-10
50
0
0
-32
-43
-3
-3
0
-9
1
2
0
0
42
34
-27
8
0
31
-1
-4
-3
0
9
3
-10
0
0
-3
0
-2
0
0
6
-1
41
2
0
25
5
25
2
0
3
-17
24
-21
0
0
-2
-9
-1
0
6
8
-5
-1
0
-8
26
-4
4
0
-1
3
10
15
0
-8
18
-43
-10
29
-2
-4
-32
2
0
-53
31
46
-2
0
36
44
-14
15
0
56
49
2
7
0
-22
44
-26
-102
0
-16
-34
-10
-4
0
74
-22
35
15
0
49
-37
3
4
0
-27
8
-27
-5
0
22
-7
23
5
0
-18
4
50
5
0
3
-17
-52
-6
0
42
-49
16
-5
0
7
13
-79
2
0
-3
-4
50
7
0
-5
-21
18
3
0
13
-29
-13
-4
0
18
8
59
0
0
-84
7
-22
-1
0
-5
-25
-10
2
0
-16
-25
1
2
0
23
6
-2
2
0
-5
13
14
-1
0
0
-5
-3
0
0
-14
-27
-17
0
0
-6
36
27
2
0
1
25
11
-1
0
0
-6
8
0
0
-14
-33
-5
-1
0
-2
-32
5
-14
0
-5
-11
27
-7
0
8
-8
-13
0
-11
-15
-4
-32
-37
0
35
7
7
-17
0
-8
31
22
18
0
-7
4
41
31
0
-10
-63
16
-19
0
-43
56
23
-3
0
-25
-4
2
0
0
-8
-16
0
0
0
0
1
-25
-7
0
66
-42
21
8
0
-14
29
-1
-1
0
1
2
0
-1
0
-19
3
12
5
0
2
-5
0
0
0
0
-2
5
0
0
-2
-3
-27
6
0
7
24
-1
-3
0
-5
-14
17
-10
0
18
37
8
5
0
2
17
-41
0
0
-8
10
-2
0
0
7
14
-6
1
0
-1
-1
-13
0
0
0
0
0
0
0
-3
-12
-2
0
0
-23
-12
-13
-1
0
31
13
-14
1
0
3
5
0
0
0
0
8
2
1
0
-2
-9
-2
-8
0
-2
-8
3
0
0
2
5
-1
-3
-20
-18
2
25
-1
0
30
41
-1
6
0
-15
-19
10
-42
0
4
23
31
25
0
25
67
-34
-14
0
-90
7
25
17
0
-50
3
-6
-1
0
7
-7
-15
0
0
23
22
-32
-7
0
-17
14
-17
7
0
42
-58
50
8
0
0
1
6
2
0
34
3
-22
-5
0
0
-12
0
0
0
0
3
6
0
0
0
8
-1
-4
0
-9
0
-8
2
0
72
-36
0
2
0
119
7
-1
2
0
-7
-8
5
-6
0
-19
25
6
0
0
-2
8
-2
3
0
10
2
-2
-3
0
0
-4
0
-1
0
-19
1
3
0
0
9
14
22
-6
0
17
-42
-2
-2
0
0
5
-7
0
0
-8
-3
-6
0
0
0
-11
-16
0
0
-5
0
-10
-6
0
-24
8
0
0
-19
-22
-3
5
5
0
26
24
39
50
0
44
2
15
16
0
-11
15
-10
-13
0
35
16
13
-23
0
5
9
-51
5
0
5
-41
17
41
0
-4
-7
1
3
0
-26
47
-30
12
0
9
-57
7
-19
0
-19
40
5
17
0
0
-13
5
6
0
32
-16
2
-4
0
5
-33
32
1
0
4
2
-1
-5
0
1
0
0
-1
0
-25
-42
10
1
0
21
14
-14
-4
0
50
-9
14
-42
0
-3
-18
5
3
0
-25
-2
-3
1
0
6
12
6
0
0
4
0
-24
3
0
-2
2
0
-1
0
-6
3
5
0
0
-35
73
-49
0
0
-10
25
-37
-1
0
0
-1
-1
-5
0
2
0
4
-7
0
-1
-19
-5
0
0
0
-2
-13
-1
0
-1
3
-1
0
35
-39
-25
6
-3
0
-32
36
8
-2
0
-16
-12
52
8
0
47
25
-58
0
0
48
13
-44
10
0
1
-50
40
1
0
-28
8
13
3
0
16
-3
-7
0
0
57
16
-6
31
0
42
40
41
-13
0
44
5
-108
-31
0
34
-13
-6
-32
0
5
76
5
-5
0
2
-3
-14
7
0
-22
4
4
0
0
0
25
19
2
0
29
-44
42
-17
0
-3
14
58
28
0
-19
13
43
31
0
-14
-35
96
3
0
-63
-12
-75
0
0
6
13
-14
-6
0
0
-1
-15
5
0
1
-1
-4
0
0
-25
-3
-35
0
0
7
-1
-24
-10
0
-15
41
35
0
0
0
-3
-6
-1
0
-19
8
-53
0
0
-5
-34
3
-13
0
7
-18
-2
-1
0
-6
-3
6
1
2
3
34
-34
-37
0
-47
6
11
18
0
-18
-26
0
22
0
-4
-49
26
10
0
-6
-25
-18
-53
0
13
-31
36
12
0
92
-5
-6
-3
0
-36
5
8
-5
0
-30
58
27
4
0
49
-10
-4
6
0
7
-16
23
9
0
6
18
1
2
0
11
-8
-37
8
0
15
70
-14
5
0
13
-66
-34
-7
0
46
84
-10
-7
0
85
10
-5
34
0
11
12
2
-12
0
17
1
-36
-48
0
3
-9
-4
13
0
7
-16
-25
11
0
-19
-19
12
-28
0
29
9
10
19
0
-31
24
30
12
0
-1
-17
-37
50
0
13
5
-14
51
0
10
-2
4
-40
0
21
48
5
2
0
7
8
100
-20
0
15
-5
0
-8
0
-6
41
-25
32
0
8
-40
-40
-20
12
-24
-53
-13
18
0
-18
23
-15
42
0
-8
-27
86
14
0
26
-7
89
-42
0
76
-36
-18
6
0
-65
-15
33
-23
0
-27
-13
-48
-5
0
13
-27
23
6
0
85
-9
-1
1
0
49
73
-5
5
0
9
-22
-2
-5
0
1
-3
-70
-3
0
22
-45
9
16
0
24
-8
-3
10
0
-4
63
-57
2
0
-47
-4
50
2
0
30
-6
5
-6
0
7
-2
12
-32
0
18
13
11
-49
0
4
-8
-10
8
0
-10
-44
-4
-40
0
-23
7
-38
34
0
-5
-9
-92
35
0
-22
27
-38
-2
0
41
-66
43
20
0
6
56
14
28
0
-113
2
-5
41
0
-94
9
-37
53
0
-67
-5
25
6
0
40
-17
10
-35
0
-27
54
39
-51
0
-60
4
28
-45
5
-65
-4
28
-8
0
-9
10
16
17
0
-39
43
22
13
0
-85
53
-25
0
0
-50
5
14
7
0
14
-6
8
1
0
94
-7
32
-10
0
18
5
1
-1
0
12
-18
13
0
0
46
4
18
0
0
23
19
-20
-4
0
1
31
3
0
0
7
4
24
-2
0
5
56
-42
5
0
8
2
3
-2
0
17
-6
-1
1
0
-103
-28
27
-1
0
1
-14
-48
-11
0
-8
15
5
18
0
-36
-50
-52
-47
0
-12
-6
-79
0
0
0
-57
-9
-31
0
-88
-1
37
18
0
-39
-2
-14
-11
0
-54
-52
20
-55
0
79
-2
-45
-83
0
-62
-46
-1
9
0
13
29
27
52
0
62
4
-2
-9
0
49
37
-88
21
0
13
-23
55
-61
0
-19
41
-14
77
-2
-26
-9
2
10
0
33
-56
-18
23
0
-8
11
66
-42
0
43
-24
-47
-8
0
-56
-14
50
0
0
42
-32
4
0
0
26
-9
13
-2
0
1
-6
1
-1
0
-10
-58
-5
0
0
9
3
26
5
0
-35
10
18
-3
0
0
15
-21
0
0
-12
-8
33
-2
0
-9
-51
16
-5
0
7
-22
-18
-1
0
5
-5
-5
0
0
-22
-11
-6
-3
0
5
-3
-35
16
0
-30
-9
28
-21
0
-7
-50
-31
-5
0
-14
14
-94
-57
0
11
20
-13
-33
0
32
11
-31
-32
0
-67
-121
10
66
0
-174
58
38
-14
0
-34
38
-50
-10
0
-27
52
6
2
0
-33
-18
-22
13
0
4
58
-8
-33
0
-15
17
4
23
0
-13
-1
-13
12
0
-58
-45
14
-15
-1
-81
15
1
-84
0
0
17
-42
20
0
14
51
56
-21
0
-11
-58
11
-3
0
58
5
-35
32
0
-39
-12
4
-17
0
-45
13
1
-14
0
-1
8
-7
8
0
14
-30
0
-1
0
-42
-7
-14
-10
0
41
4
-15
4
0
4
41
-3
0
0
28
-41
-8
-15
0
-1
63
-5
-1
0
0
-5
3
0
0
-22
-13
3
0
0
60
29
-71
-2
0
-3
4
11
2
0
5
-66
-48
22
0
-47
-38
24
-32
0
-23
10
-4
4
0
1
-8
62
74
0
-18
-4
50
20
0
18
-21
-56
-18
0
-68
-48
-43
69
0
-36
25
-16
-68
0
-83
58
10
44
0
12
92
-41
-18
0
-29
4
-8
13
0
-36
78
-13
-31
0
-1
-24
-35
-43
0
12
62
4
-5
-11
-39
8
26
-5
0
-26
21
47
3
0
40
60
22
-5
0
29
-12
-27
12
0
9
58
-47
24
0
-48
27
-23
2
0
15
14
46
0
0
13
-1
-3
4
0
9
-18
-42
-5
0
-48
19
-9
8
0
24
32
25
6
0
0
25
-1
0
0
42
-9
-9
0
0
1
19
-35
-2
0
-1
7
-9
1
0
4
5
-8
4
0
-58
106
-12
-9
0
5
6
19
14
0
11
-83
-58
40
0
-67
16
-1
22
0
-30
-23
-40
-14
0
46
-58
-29
0
0
-99
-77
-8
-5
0
-54
53
2
-47
0
-24
11
22
24
0
-16
16
-5
6
0
33
-43
-49
-9
0
5
50
-8
8
0
20
-1
-8
-5
0
2
-23
-18
-9
0
8
-2
-112
2
0
-83
53
-7
-73
41
-64
4
-34
-51
0
-37
-27
85
8
0
30
24
-54
35
0
-6
56
-5
2
0
-15
24
-3
20
0
8
4
-19
0
0
-1
-15
10
0
0
3
-3
0
1
0
68
-8
-20
-12
0
-43
22
-2
0
0
-41
35
10
-7
0
-2
-24
3
2
0
25
12
-3
-10
0
0
-6
0
0
0
-2
-1
-3
1
0
-3
5
0
1
0
24
-24
1
3
0
-20
-23
14
83
0
25
-40
-71
-41
0
-9
0
-16
31
0
24
-74
-102
1
0
-44
67
58
-51
0
80
-105
58
-41
0
13
-35
72
-55
0
-40
-40
16
-3
0
24
-17
-39
-70
0
-94
60
-6
-1
0
43
41
-39
-8
0
31
-56
-29
-15
0
-5
-98
11
4
0
3
41
-27
0
0
35
-75
-1
-47
-28
-8
-10
-8
-15
0
30
-11
27
-49
0
40
48
-39
-4
0
14
-24
-49
-6
0
-17
26
44
-13
0
52
-10
51
-4
0
-22
18
16
-4
0
25
-31
8
-7
0
-77
25
21
-4
0
0
40
9
-9
0
-107
87
31
9
0
-16
9
-54
2
0
20
-37
-3
-3
0
32
31
6
2
0
13
-2
-42
0
0
-2
10
-12
-3
0
15
13
-3
5
0
-17
-2
3
0
0
-48
-49
-5
-21
0
-23
0
-64
-53
0
-7
-23
-69
-34
0
28
-32
-22
-3
0
32
-84
26
14
0
-56
-93
12
-14
0
-17
-19
-42
-1
0
-5
0
-54
48
0
11
31
-104
-3
0
-48
-41
-8
10
0
-15
-52
37
-2
0
11
-4
12
-133
0
-8
15
-12
-33
0
-55
-56
-4
21
-10
-1
-104
-60
23
0
-23
-39
14
50
0
-61
64
2
44
0
76
43
58
0
0
16
-21
17
-13
0
6
5
-5
-4
0
47
-13
43
-3
0
-2
5
-3
0
0
-46
23
43
-8
0
-12
27
-55
-33
0
86
43
18
7
0
5
21
-10
18
0
-55
5
9
18
0
11
-23
-6
-9
0
-43
2
3
-3
0
-6
10
31
-1
0
31
-24
-5
0
0
-7
-4
27
41
0
3
24
8
21
0
4
14
18
-100
0
-29
0
122
-38
0
33
-18
66
-30
0
-58
-36
-24
-41
0
29
-30
-76
61
0
-28
-36
-3
-17
0
38
10
4
1
0
1
-7
-3
28
0
-4
16
29
-6
0
-4
10
8
39
0
91
-27
11
-14
0
0
10
23
-25
0
21
23
-24
-14
18
-30
3
-60
-7
0
-25
-14
49
54
0
-1
75
27
-13
0
47
44
-49
-1
0
50
-6
-22
44
0
157
32
57
0
0
-45
-19
26
19
0
-14
35
-43
-5
0
13
43
-49
8
0
69
-82
24
-8
0
-38
-10
58
-64
0
-1
-32
21
6
0
-39
-28
10
8
0
-26
58
5
0
0
8
-13
16
0
0
4
-15
-42
0
0
-40
13
-21
4
0
-8
-3
49
81
0
12
1
49
-43
0
-3
-19
-1
-50
0
10
-119
37
-14
0
-73
45
83
-18
0
-37
-38
-34
21
0
58
8
-68
1
0
-62
-38
13
-1
0
3
18
2
4
0
-12
-11
30
4
0
-25
21
-33
46
0
11
-26
30
3
0
45
25
-29
0
0
-23
-5
2
16
0
5
68
-38
-43
-4
9
31
17
45
0
-11
31
46
-54
0
11
12
28
53
0
-5
79
30
-20
0
-18
-4
8
-7
0
9
-5
49
0
0
-58
68
-21
2
0
9
14
-1
0
0
-40
10
-5
13
0
-13
42
3
0
0
39
-48
8
18
0
8
-8
-5
-6
0
-14
-7
3
6
0
4
-16
5
0
0
0
0
25
0
0
1
9
-3
-3
0
15
0
-3
-30
0
-24
-31
-13
-9
0
13
-27
-32
-7
0
-21
17
-7
2
0
-17
-58
-40
8
0
-22
20
-42
-23
0
-20
25
-10
-7
0
45
-14
6
-50
0
48
-24
-49
-35
0
-12
24
8
-27
0
39
-34
-10
47
0
40
-36
11
-8
0
12
-16
48
15
0
-12
28
-23
-28
0
-25
84
0
-76
0
45
-14
-24
76
-21
2
27
-22
-11
0
64
-29
43
94
0
-52
20
28
-4
0
-38
-3
5
-5
0
-13
-25
1
-14
0
36
108
-3
3
0
18
-89
73
-24
0
18
5
5
-2
0
-30
-31
13
-1
0
-10
84
25
18
0
-10
-40
-30
13
0
8
19
-14
-9
0
12
28
2
0
0
10
-8
-14
-3
0
1
17
9
-4
0
-1
-8
8
-1
0
-9
-49
1
0
0
-38
7
13
-24
0
75
-72
-29
3
0
-41
-5
-39
23
0
-24
50
-49
-8
0
-61
-19
42
-69
0
-86
-25
-10
0
0
5
49
1
-8
0
66
24
-64
-30
0
1
1
-15
-4
0
-6
9
52
8
0
-67
9
12
27
0
55
7
-13
25
0
35
-27
19
-21
0
30
7
53
-11
0
-53
44
-31
18
-17
-19
23
8
-6
0
28
45
60
-20
0
39
42
55
-30
0
-43
47
-2
-40
0
7
20
-53
10
0
-9
-3
-8
-3
0
-32
26
-22
19
0
19
-10
20
-1
0
-6
27
-4
-2
0
-3
6
-32
28
0
-66
22
16
5
0
-8
32
-22
42
0
-17
24
-4
43
0
16
5
4
-7
0
0
-31
24
12
0
0
-3
-14
-10
0
7
-59
13
-13
0
-10
21
-13
-10
0
-32
1
32
1
0
-14
-3
-43
41
0
-18
-33
-1
-31
0
51
-57
-98
10
0
-1
9
1
-5
0
-89
-87
66
59
0
-33
-15
-90
-7
0
12
14
24
16
0
2
9
66
-71
0
10
-21
35
-45
0
87
8
-27
-8
0
-13
16
10
-7
0
-45
-8
21
31
0
39
27
-39
16
-11
-23
-18
19
55
0
67
-4
26
32
0
21
24
-2
-13
0
-13
-35
46
49
0
-19
12
12
9
0
7
-31
17
5
0
36
30
43
-6
0
-4
-13
8
5
0
-29
10
-5
7
0
-12
-43
31
59
0
15
36
-23
5
0
-7
-22
39
0
0
-28
6
3
-20
0
-1
-2
24
0
0
4
11
-3
8
0
2
15
2
-8
0
-13
1
-10
2
0
-13
-17
24
-22
0
-51
13
10
66
0
-36
6
-42
-46
0
30
24
-63
-12
0
-43
31
-8
17
0
-86
34
-35
-42
0
-2
-26
-40
-22
0
-10
14
-59
-1
0
52
12
-4
14
0
51
-29
9
27
0
2
-37
-33
-110
0
-20
6
-80
-5
0
-22
-4
40
74
0
-8
49
9
-29
0
2
-49
35
-85
-18
-38
36
9
31
0
107
41
13
20
0
56
-5
-58
57
0
-24
-15
30
-1
0
3
-6
5
28
0
41
23
-1
-6
0
-48
5
-2
-8
0
-1
17
17
2
0
22
15
-35
-28
0
-33
47
2
-6
0
23
-42
13
24
0
6
15
-59
23
0
-12
21
34
4
0
-3
28
-25
4
0
8
0
-25
-1
0
0
7
0
0
0
7
-1
-17
14
0
-22
12
35
19
0
-14
-12
-17
9
0
24
-37
10
4
0
-68
14
-56
-51
0
-40
9
-80
26
0
-60
-37
-37
13
0
19
-44
-53
-5
0
23
41
46
-23
0
-58
37
-18
34
0
34
-42
12
-8
0
9
-45
-13
-23
0
0
-78
8
-13
0
-2
-1
-21
66
0
7
-95
16
-31
0
-14
26
15
15
-27
-85
86
58
-109
0
3
-15
44
41
0
-12
68
25
-75
0
-83
47
-20
12
0
-35
29
-37
5
0
49
-14
12
0
0
-30
12
21
42
0
-20
77
-16
-27
0
3
-61
12
5
0
75
-19
48
-11
0
63
-51
44
32
0
3
36
-30
-13
0
-55
-36
-22
12
0
-49
74
0
-7
0
-3
-1
-5
-10
0
-12
-6
-25
2
0
-13
-29
-52
-22
0
-8
-21
-17
2
0
-82
18
18
6
0
-65
-60
4
5
0
-2
-50
42
-67
0
102
-31
21
5
0
15
19
-28
-55
0
7
8
20
-21
0
-44
-83
-18
-54
0
5
-3
23
6
0
30
33
-40
61
0
13
-23
-84
8
0
-49
-15
-50
8
0
-71
-39
-87
9
0
31
-84
26
26
0
24
-41
-2
-39
-12
-37
-4
-75
3
-23
27
24
30
-25
26
27
-7
27
52
63
15
-15
-33
19
31
-5
14
11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
58
-15
-36
-18
-34
22
31
39
66
4
41
11
33
12
21
13
13
-56
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
12
45
25
10
13
-23
17
37
31
-3
-29
1
-8
0
12
11
43
-23
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
66
-80
-3
-27
0
-9
60
4
17
0
10
5
-37
1
0
-19
-4
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
8
-11
-1
22
-8
21
22
18
3
10
22
93
-20
28
25
7
18
13
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
22
54
-21
51
51
5
23
45
10
2
4
10
66
13
2
-42
-7
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
6
-91
53
94
10
56
-61
25
18
5
88
22
-24
0
4
-63
47
46
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-12
-9
8
7
7
-11
102
-10
0
59
3
28
0
4
7
5
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
11
-10
50
62
16
2
13
49
13
59
-55
-41
43
31
46
11
-43
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
57
-15
13
-13
49
54
77
-28
-22
13
14
-2
-22
24
-10
-25
-41
46
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
22
23
-42
2
1
41
24
1
30
-1
9
35
-25
6
20
48
-27
-9
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-66
5
-53
7
0
12
65
8
0
0
49
-21
9
-3
0
12
-24
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
6
41
7
-36
-4
3
29
-45
25
104
-16
27
54
-12
2
52
28
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
85
-11
61
-1
5
14
-56
24
38
14
42
9
9
5
-47
26
-32
-31
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-76
106
40
-31
-9
-36
-3
-43
5
31
-8
-21
25
12
-31
61
35
-93
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
32
33
1
0
-8
-2
2
17
0
6
-2
-12
1
-7
-89
59
-37
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-3
43
19
76
41
39
44
56
44
26
15
18
61
-1
-11
-22
19
-11
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
37
-61
25
31
48
53
15
14
-56
5
-4
34
-6
12
-13
41
-27
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-3
5
-24
33
0
25
-1
-13
8
-4
-66
-1
0
3
-1
-2
-10
23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
49
23
19
-22
0
-61
-30
-42
0
0
1
-4
-8
-1
0
16
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
45
11
-15
48
46
42
-56
12
1
26
33
-47
21
3
-14
-33
48
-11
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-49
56
43
-6
39
31
82
-61
27
-8
2
-30
-44
8
-1
11
6
15
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-50
15
4
-6
-12
10
58
3
20
2
-23
25
-24
0
1
-44
-15
14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
10
44
-12
0
12
-91
-9
-19
0
-34
-15
-24
0
0
-49
-13
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
84
4
0
-25
-4
14
-16
10
-50
10
34
23
26
3
-22
11
-25
-6
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
39
-8
-12
-5
-35
19
-10
-7
-2
-13
1
-8
-9
-5
-8
14
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-30
-36
-5
2
-1
-7
42
5
-2
1
1
-16
0
0
0
14
-13
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
30
-23
-2
0
-5
3
0
-1
0
7
0
1
0
0
4
18
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
17
52
-12
33
25
12
14
55
-6
7
-16
-29
11
-2
-72
18
-33
53
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
8
-29
54
9
21
17
37
96
-65
43
50
-11
13
9
0
-50
42
-8
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
33
-33
48
23
6
-49
52
-42
5
-9
11
9
-13
0
19
-1
-6
6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-20
20
12
1
49
-34
4
13
0
-30
13
3
-6
0
-30
-8
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
41
84
37
74
22
-48
-10
28
27
-58
4
38
5
-23
-9
-27
-6
30
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
39
36
-1
38
3
-32
19
94
49
15
55
45
63
-8
-9
-31
50
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-45
-3
9
42
44
36
54
35
-8
-50
25
40
52
1
10
-26
-27
1
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-4
-5
49
-5
10
86
5
-12
43
2
-29
21
-45
-14
21
25
-85
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
26
48
11
14
62
44
50
-20
-19
5
5
-9
6
-13
43
11
93
-23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
25
32
19
34
9
66
22
54
-49
-4
-51
-4
2
-2
-27
59
8
38
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-47
8
40
-33
-43
-76
57
49
54
9
-4
-57
20
10
-34
5
-2
23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
128
-23
-38
-43
-23
-92
65
-14
18
-1
-27
26
-8
5
29
-3
-49
27
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-84
31
74
46
55
91
27
-17
-8
-23
20
97
-8
-22
21
-8
7
45
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
23
64
41
-46
18
14
51
-13
-21
0
0
-29
-3
25
9
-1
20
-25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-62
-23
59
25
9
-31
-57
-28
25
-21
3
-22
-10
31
-42
-75
69
-51
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
30
48
-19
-34
4
-45
20
45
9
1
31
14
-9
7
-13
0
5
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
-12
41
50
26
-46
-62
-47
-12
63
20
33
-18
43
1
12
68
35
-46
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
26
72
-49
14
8
14
9
8
4
0
3
-49
-6
81
-16
41
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-5
-16
-85
13
18
-78
8
-13
-46
-27
14
-39
48
-2
-37
-23
-13
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
13
-13
1
6
10
17
9
-13
3
-5
-59
0
0
-49
43
9
-25
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-8
-1
56
-21
37
-14
36
13
2
0
-13
-15
47
-8
42
-87
36
-58
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-8
6
80
-9
-43
22
-67
4
42
13
52
64
-28
-3
21
-42
45
-47
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
20
-5
66
-8
-59
49
17
14
-2
-4
-2
-13
12
-1
-14
18
2
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
61
-54
-5
-11
58
46
0
28
-7
-2
19
31
-35
13
-6
-1
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
30
4
31
11
15
-32
-25
44
23
32
79
-24
-74
15
18
-6
11
-11
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
35
39
-12
12
-60
-2
28
-57
15
9
42
-5
62
-10
-20
17
47
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-38
22
-7
1
24
-7
-56
-7
3
0
9
-8
27
-4
-7
9
-31
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-77
-7
-5
-5
-6
-19
-2
5
3
0
-25
12
-13
-15
5
-32
-48
13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-51
44
-5
24
-77
67
60
-38
26
65
17
-77
44
-17
-93
-8
-45
43
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
16
25
42
5
4
10
1
0
0
-4
-72
-14
25
-3
-24
17
13
27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
14
-43
31
-13
-36
48
-26
36
22
4
13
13
13
2
-1
-13
41
-47
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
1
47
20
-33
46
-77
49
-34
-5
19
-48
-10
10
3
-24
8
4
30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-23
-28
-43
-13
-6
-54
-14
35
-10
-31
11
-4
-30
-23
-19
49
47
-45
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
17
-14
20
14
2
-7
-19
19
17
-22
-5
38
-41
15
28
5
23
-41
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
71
27
-24
45
55
-41
-4
-24
10
-53
-50
22
8
-15
-31
-56
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
77
-22
-19
6
-1
41
-40
-9
8
-22
0
42
13
-2
0
-83
-13
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
-45
15
-27
16
-61
32
58
5
11
13
35
-34
-4
-33
68
38
35
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
11
-30
55
-4
-54
35
48
5
43
13
-23
-28
12
-8
17
-5
59
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
6
11
2
-8
11
9
38
34
2
-20
18
10
-5
10
14
14
-31
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
44
36
-18
45
-49
32
-16
67
51
1
-3
-45
4
0
-21
40
-6
1
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
34
-3
-18
32
-1
35
4
27
56
-25
-48
77
2
-1
-5
4
-66
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
29
-9
-2
-24
57
28
46
4
8
-41
11
19
3
42
60
-29
-43
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
-2
16
14
5
-12
-9
-11
5
-3
-38
-13
8
8
-78
-32
0
3
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
66
34
4
31
11
51
9
-14
-30
0
11
16
37
-141
10
44
-114
-24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-7
-10
21
17
0
-21
-27
46
33
-72
68
60
8
-13
6
94
-91
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-84
14
11
-12
9
-22
9
-12
1
-8
9
0
-6
-4
-10
2
-32
42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-18
0
11
-21
6
-6
13
-33
47
4
12
8
14
60
-42
8
-12
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-22
4
-6
19
-63
-20
-66
-27
-2
20
-17
-4
52
4
-45
32
76
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-16
55
-59
0
-46
69
-5
54
18
-19
16
75
2
-9
3
51
-30
39
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
11
-22
29
3
-18
-26
14
5
-31
-4
-9
-36
-4
10
37
-77
-42
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-7
-45
29
-20
-35
-7
1
11
1
-70
-4
-26
-1
-65
-30
-61
26
-17
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
19
31
47
-5
-45
44
-23
49
8
-15
-28
29
-14
10
25
16
9
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-7
-38
-5
9
-11
-34
71
-9
-8
-17
35
20
4
0
14
-64
-12
-21
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-47
1
-2
10
4
49
21
-46
1
-18
41
-2
34
1
4
-14
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
44
18
38
32
6
37
47
-44
-21
-56
0
1
-10
-94
-112
24
-53
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-22
-48
-36
11
11
7
-14
-91
46
-56
-26
-83
73
-41
-15
26
35
-13
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
11
-17
-65
21
40
52
-11
-43
-20
-13
83
-9
-7
-9
28
44
-15
50
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-28
2
61
-4
-41
28
-32
19
10
-3
-8
45
-5
-1
-14
15
-38
28
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-10
48
26
-5
62
-28
16
-4
39
-68
-62
-7
-37
-18
-71
-21
-18
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-15
29
23
45
58
-46
-31
83
-40
43
-35
9
-50
-43
-22
-10
-26
15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-12
47
37
4
-99
-44
25
-19
-12
-16
-31
-4
13
-5
-10
3
35
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
24
19
-6
2
25
-7
20
-24
-3
-1
-17
4
6
0
-3
-8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
24
-47
30
-38
-74
-12
109
-62
-35
-61
-41
-98
-29
-4
90
-111
-1
-7
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-65
16
48
25
-25
-107
-9
-38
-4
6
7
-27
53
-71
33
-26
-55
-90
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-44
67
16
0
-52
-53
-39
-45
1
-13
7
-22
17
4
21
-24
-37
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
26
-31
-67
8
18
13
15
9
0
-2
-8
-40
-10
1
18
24
-28
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
27
-8
22
-27
-94
-22
-61
-30
-41
-1
-50
20
-42
29
-13
-101
-3
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-45
33
8
-56
-13
25
-36
-93
-20
-27
-76
-55
20
7
-9
59
-26
-41
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
52
33
35
-10
-18
-13
26
58
8
17
42
4
-72
-8
-13
8
23
-22
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
48
0
66
63
58
13
-32
-61
32
68
-48
4
-13
-14
2
12
13
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-2
-14
-5
4
28
-21
14
57
-10
-28
-22
9
-28
-110
31
-10
-26
69
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
9
16
9
10
1
-31
15
-16
15
-22
-17
13
33
-15
40
0
-2
40
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
17
6
10
67
19
40
12
-4
-8
26
27
15
-8
30
-31
-5
37
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-12
-37
-31
41
25
-26
62
49
-5
-23
0
-5
51
-17
-2
-5
31
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
10
7
1
-53
41
43
17
3
-64
32
3
37
-38
21
-131
-59
57
-18
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-30
-11
7
1
5
20
-37
42
6
-28
-13
28
33
22
-22
-98
-26
-1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-49
-43
4
-16
38
9
4
59
8
4
-10
-66
-3
-13
-21
-8
28
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-50
-27
24
35
23
13
-43
-46
-1
-13
-6
47
-67
56
45
4
6
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-34
-12
13
35
-31
-1
-51
8
3
3
-34
41
0
9
-96
-102
-101
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
17
-1
90
20
14
7
23
-55
-66
-40
31
-58
65
2
-3
40
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-39
0
49
-20
104
-63
-26
-95
46
-24
32
-23
25
48
27
-5
8
-18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
-49
-75
5
-16
-33
4
-6
-13
16
-9
-54
-34
-22
-44
-21
-14
27
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-25
83
24
58
-32
-41
-28
-88
-67
44
-94
-12
19
22
35
-59
-125
-65
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
13
23
40
68
-91
29
-22
-31
4
-5
30
2
3
-5
-3
-5
-70
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
-48
26
27
-30
74
64
-16
41
-38
-11
43
-4
-54
50
-23
-22
99
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-41
2
43
-22
74
-24
-51
9
-8
-20
29
74
-8
13
16
-26
18
16
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-17
-17
-107
-97
13
17
47
7
40
-63
37
-30
-83
-83
1
-114
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-1
-5
26
-17
2
7
36
-26
-34
3
42
52
8
-17
-84
-31
33
-58
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
18
28
17
10
18
-9
26
-28
-16
24
28
49
-25
-1
-4
51
-47
49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
22
8
26
44
-4
-47
1
5
-14
-23
-59
-15
15
-20
33
-16
-41
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-31
48
28
31
-44
-23
-105
-91
-36
-13
6
-34
15
-41
5
-36
-55
-54
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-3
9
2
36
19
23
0
38
14
1
-87
-55
-25
86
-50
-23
10
-29
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
38
-13
-26
41
43
18
50
48
31
-56
-66
9
-50
-8
-18
9
-32
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
85
20
-24
-6
7
58
-26
-8
-13
-31
-45
-2
32
3
0
-41
13
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-29
-8
-20
-14
94
40
7
-53
-22
-23
-60
9
23
-53
49
-1
-58
24
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
26
-57
-29
39
-16
-54
-21
22
-64
-33
0
-23
-85
-13
-61
-18
-64
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
60
33
-29
16
19
18
13
23
19
-34
33
80
31
7
28
25
46
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
100
13
50
-10
-46
-45
-8
-68
-32
-2
-33
2
-13
-8
-93
-71
-5
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
1
-47
17
-13
17
-19
-91
4
-62
-103
-9
-71
-199
8
-22
-64
-86
-65
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-68
-34
-1
-23
-39
-22
2
-118
-59
30
-30
-50
-25
-15
-48
-55
15
-14
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
16
18
15
12
53
11
1
-14
15
115
63
52
13
58
-21
5
29
-24
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
3
20
48
51
-17
-38
-9
26
41
-1
-24
6
59
5
-8
30
-14
76
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-57
-68
16
14
9
-70
40
-5
62
0
53
5
-31
6
35
42
-17
75
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
5
49
-13
2
-5
69
-4
2
-37
1
25
-3
7
-5
0
-3
-20
29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
24
-2
-2
28
18
19
-10
-26
43
57
-38
89
-23
75
48
3
36
14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
98
-5
7
6
-51
33
38
105
20
-21
57
22
-67
34
-31
120
23
8
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
5
24
44
-16
-38
-88
7
-48
-31
-13
-42
16
28
4
19
45
33
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-51
49
32
-7
89
-155
46
-14
2
0
-18
-41
-4
2
0
27
-8
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
16
26
30
93
34
-17
11
44
50
84
88
19
-14
-43
30
1
74
25
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
71
-25
74
10
24
-41
-38
-4
-8
-5
-51
0
5
18
46
39
-76
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
0
19
13
-13
5
-13
8
13
32
4
-18
-58
26
5
-32
6
29
50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
-29
19
41
-1
43
42
-31
9
0
-25
-49
2
-3
0
25
-49
50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
20
1
33
41
2
45
51
-27
-52
1
19
-12
25
-13
28
4
-41
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-2
44
10
26
-43
16
38
47
-37
-13
8
47
-25
23
121
-13
13
14
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
11
102
6
12
-1
-89
5
-25
16
-2
-26
13
-38
9
-13
-81
-9
-60
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-76
5
-4
35
0
54
3
16
-42
1
-1
-43
23
-4
44
1
-36
-79
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
7
51
45
-5
5
-35
48
33
19
-39
6
-68
57
28
-37
-16
-22
74
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
53
-5
44
-16
91
72
-45
7
-27
0
42
-34
-7
6
-1
-23
-8
-34
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
54
25
-18
38
60
92
5
7
0
-5
29
-2
-2
7
5
-30
-6
-27
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-25
65
-5
-6
0
-3
95
34
39
0
-5
6
8
3
0
1
-2
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
-11
23
7
38
-15
8
19
1
9
-31
15
-32
-43
25
-40
22
2
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
43
-45
30
39
6
53
-8
6
-10
5
-30
18
27
0
17
-2
-23
-31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
22
53
-14
-2
95
25
-18
-48
-71
13
-13
-31
30
0
-1
-33
-38
41
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
28
72
-6
17
20
-2
6
16
0
-4
-9
0
1
0
3
17
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
40
27
-24
5
55
-72
71
60
6
41
-91
-19
38
15
-8
-32
-17
37
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
57
18
14
2
6
-8
13
13
8
-1
16
-5
-9
2
-4
-1
13
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-13
49
10
4
8
-48
-21
28
10
-7
27
-31
-9
0
0
3
19
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
52
-1
-1
3
-30
8
-2
0
3
-7
-2
1
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
59
54
6
0
-13
2
12
97
29
-27
-37
57
24
16
-14
82
-44
-23
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-11
53
-90
43
43
8
3
-44
43
4
-8
-14
37
0
31
-70
67
25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-72
-28
74
-14
12
-14
56
66
8
-19
-10
-20
-13
-3
22
25
-76
-47
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-34
-19
-3
-5
2
-31
-22
46
0
0
-5
1
-24
4
1
-39
-13
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-9
58
-36
29
61
-8
-5
58
9
-50
-50
33
21
-6
29
13
-5
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
50
-17
121
-10
24
-23
-18
67
-13
17
-4
26
3
29
5
-26
97
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
45
-13
9
-30
72
4
-1
14
-9
42
19
27
-4
0
-10
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-20
19
25
-13
0
-37
-9
15
8
4
5
27
-10
-5
0
1
-13
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
31
70
34
48
8
6
19
-6
96
-32
112
-15
48
-16
41
-32
48
-17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
22
18
44
54
38
17
-50
46
11
8
-4
47
-5
16
-14
-18
-26
-12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-17
-18
-12
3
-80
60
12
24
0
-5
5
6
-5
0
18
-18
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-38
25
-46
1
13
-22
12
-16
20
0
13
-7
0
0
-1
-17
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
5
17
17
50
21
24
9
13
-16
25
67
11
-6
-11
42
-13
-8
35
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-36
63
34
-27
45
11
71
-37
10
-63
-54
15
22
-37
-42
-5
-30
-30
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
29
48
42
-6
50
17
18
13
34
24
58
-58
1
3
5
50
7
-38
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
49
-17
27
-3
-2
-16
24
-15
-8
0
9
44
-2
-7
-2
-8
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
41
22
-16
-5
8
66
-14
-48
-50
4
4
-57
0
-18
18
11
-33
-19
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
-29
24
5
55
-25
-27
35
-12
20
-44
-8
46
-24
-43
-2
-71
67
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
13
5
-13
4
-17
-22
47
37
-22
3
-41
45
-24
3
3
52
48
-73
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
35
-15
-5
-4
-20
29
8
10
1
8
-56
27
3
2
5
-50
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
41
50
31
13
-33
5
-2
7
-29
59
63
14
-18
14
-19
29
-5
9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
30
28
42
-10
-25
32
28
15
-1
-5
1
-17
-8
3
7
-6
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
72
34
-24
-2
3
-52
8
7
-3
0
-30
-1
-3
-3
0
-4
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
16
-8
-3
0
-5
13
-8
1
0
2
2
13
-2
0
-1
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-8
42
39
8
-36
60
12
-8
88
-16
28
-9
65
-45
46
1
-39
13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-65
-8
12
-13
10
26
13
60
16
4
14
-25
-22
1
-9
-5
-15
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
76
-60
21
-22
16
-13
-29
22
-1
8
-2
4
-3
12
-12
42
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
31
7
4
-21
6
-18
-32
2
0
-2
-7
-3
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
25
-23
7
7
15
-6
9
23
18
-5
5
-13
-4
74
37
14
60
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-31
-79
-14
-2
54
-3
15
-14
-17
61
5
17
-20
2
-111
21
20
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
23
50
11
-15
-69
43
-62
-37
53
-1
-9
9
13
-9
6
0
-9
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-26
-9
1
1
14
2
16
2
-2
-24
7
-5
-1
0
3
-4
22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
133
74
49
-17
-83
-2
20
75
-33
54
22
32
50
-48
51
-76
-44
48
-14
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
19
66
-7
-16
3
51
2
-12
41
21
-35
-37
-12
-38
41
-30
-18
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-18
29
59
8
-39
31
27
6
-4
-10
-19
26
3
-14
37
-90
-21
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
38
53
-31
12
28
-9
-57
-4
3
-4
25
-22
0
1
20
-29
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
10
-6
41
18
-3
23
91
66
-51
-20
13
28
-2
-42
11
59
-9
21
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-35
14
-92
-14
53
26
21
-31
-13
24
-25
20
16
-2
-4
-83
42
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
15
3
7
-7
25
11
-7
15
-2
16
6
-8
-31
3
-20
-6
-12
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-8
-17
16
-50
33
-28
21
-56
-27
4
28
0
1
-60
-2
6
-78
33
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
30
-16
33
16
-5
30
11
21
35
-17
57
33
2
-20
0
-1
-45
84
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-46
37
23
64
80
24
-25
-24
-16
-5
-46
-7
-5
-5
96
7
-22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-4
4
31
-9
-6
-9
-6
27
-16
-20
-24
-48
0
-21
-25
-37
-58
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
7
32
-51
-50
33
-12
-66
-21
-41
0
-40
-16
59
-1
-9
30
28
-69
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
32
-12
69
-17
16
88
35
6
4
-6
44
97
17
-24
24
45
8
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-4
40
53
-5
17
-32
21
-9
-22
-4
34
-14
-37
-4
-5
5
14
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
7
3
18
13
-98
9
14
-13
-54
1
-31
-9
18
-36
-32
-17
-11
-59
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
8
17
-41
12
50
-65
-31
-62
5
-59
-55
30
5
-21
13
-51
-16
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-13
-2
-5
9
16
40
-17
95
5
-52
-28
-36
34
-2
17
-4
26
-13
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-59
35
-23
-7
25
17
-15
-17
5
0
-27
9
22
0
-22
-18
-41
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-6
4
-6
1
-21
-24
-4
-6
25
-39
-23
6
43
-6
-57
-22
-40
-31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-27
-23
-18
43
-35
47
-8
-52
-15
-27
-60
-62
5
-5
-19
-57
36
-29
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
64
-15
-37
36
4
-11
68
-10
13
4
-50
-18
-23
-8
24
48
-3
56
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
59
-55
-26
14
6
-41
-40
-30
-5
-4
42
-5
1
-7
-12
25
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
13
40
31
-22
-10
34
15
23
15
-6
42
51
22
-118
-63
45
-14
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
10
34
57
-19
25
87
15
-63
-21
2
-17
-23
-64
20
0
-70
-4
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
36
48
11
0
39
47
-15
-91
28
2
126
89
-52
-31
23
-11
-30
11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
21
-29
-28
24
-49
50
10
-16
-8
-9
0
3
1
0
3
-7
-33
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-32
58
-51
-1
-59
-3
-28
-52
44
-17
-25
5
-5
1
-11
-70
-33
50
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
36
35
-50
-76
61
58
-51
-17
-10
0
-27
-27
31
-42
7
13
-25
-42
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
37
6
0
5
-1
3
-34
8
18
22
-31
27
33
-17
-7
-25
-13
-10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
43
-28
121
-42
13
-55
-19
13
-10
0
-27
8
-9
8
2
-5
-13
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
0
-8
-14
-17
-26
0
43
-17
-12
-34
-5
22
-17
-77
-30
-57
21
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
82
-46
-61
-43
-4
51
43
-29
-40
25
-52
-17
-4
5
10
-28
12
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
17
8
50
-31
-16
26
-39
61
56
-44
-47
77
72
2
14
31
2
-10
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
49
-8
-72
25
10
-7
5
28
-74
-2
5
-17
-8
-12
-72
-96
21
30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-6
-11
6
-3
-47
-23
-47
43
-55
-13
-23
-24
-90
35
-65
-62
-20
-54
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
31
-50
-39
34
-8
40
-33
-5
-130
-15
36
-8
-45
24
13
22
-7
-49
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
-16
-13
22
39
8
31
-34
32
-24
80
-6
-24
5
-29
-10
58
60
-33
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
-50
60
-23
33
41
46
-16
-4
33
-35
5
0
47
-1
31
5
9
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
23
8
-8
-56
0
-5
-16
-40
7
67
-8
-4
-78
-34
11
-55
-7
-13
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
5
10
27
-8
-20
-2
-2
38
19
42
-2
-6
-48
15
-41
-3
16
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-46
41
82
40
-5
22
24
7
-32
55
68
-23
41
-24
-5
-20
44
-58
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
123
-11
-84
15
12
-22
-11
-21
-2
5
16
-10
12
3
24
-36
-22
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
15
12
21
5
-77
-33
4
31
-21
51
-6
2
-43
-31
-59
17
-33
-64
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-11
-9
20
32
14
-20
-1
34
63
23
16
-20
-23
2
-113
-72
39
-68
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-33
50
-30
-16
17
-40
51
48
41
-33
-27
16
25
29
-5
-58
41
-5
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-22
6
-8
16
7
14
46
-8
-5
6
7
89
-8
-14
-14
19
-24
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
27
3
-75
-21
-19
-6
0
-3
0
-48
-18
-36
7
27
-95
-24
93
-11
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
3
14
50
50
-80
-23
57
-60
28
31
11
-7
-21
-143
4
-5
32
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
35
-68
63
22
24
4
39
36
33
22
-49
-23
-25
-2
29
72
-66
-84
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
77
50
74
-13
-45
42
10
-15
16
-16
-6
-12
2
0
-61
-43
33
56
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-62
11
20
51
53
-94
38
49
8
-41
89
129
31
-24
-46
-103
-97
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-51
48
-19
7
-10
-69
-4
-8
9
-25
-4
-30
-26
0
74
36
-17
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
36
-33
70
14
58
19
36
-48
14
13
53
-15
55
45
-99
-31
14
86
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
-55
2
-8
28
-41
13
26
-21
-1
10
3
-7
-25
-3
44
-22
31
49
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-9
-16
15
49
-36
-15
-89
-2
23
-8
0
-50
-36
-67
-123
-54
-88
3
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
26
-6
-9
-24
-62
-1
-4
22
-8
-10
18
43
-10
-80
2
14
-102
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-21
58
9
-1
54
-5
26
34
-46
-7
-10
13
-2
13
-8
63
-71
1
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
23
56
39
-37
-4
26
27
17
59
4
-15
10
-3
-1
21
-4
-26
-8
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-7
13
-31
-17
81
15
-24
33
-75
-152
7
57
54
-8
-24
-7
68
-13
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
-4
18
31
-40
-22
-43
6
36
1
71
30
-69
-26
-107
-120
11
33
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
14
47
-25
17
57
-22
-12
46
26
-59
47
9
2
-25
-8
18
-35
48
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
19
46
2
25
-33
5
0
-14
0
20
-44
10
43
-17
21
-7
34
-42
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
-29
5
-2
-23
-6
-37
-24
-44
-77
-52
-50
24
-13
-45
-165
-35
29
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
15
-19
11
41
-17
22
-12
-39
-50
-47
42
-58
65
-32
-39
-7
-39
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-39
55
44
-26
-34
-33
4
-4
-28
28
21
-12
1
54
-47
-11
-23
-34
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
4
82
57
-23
-2
-36
54
-5
58
18
-16
-38
28
8
-5
-2
15
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
-31
-59
-38
-104
23
39
-25
40
-84
-38
-75
-61
-5
92
2
-28
43
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-4
-22
-42
-4
-82
-105
29
3
-9
56
-60
-27
24
30
1
-67
5
75
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
41
30
0
0
35
0
-17
0
0
80
53
72
0
0
7
41
35
0
0
50
38
23
0
0
9
6
60
0
0
5
74
2
0
0
-2
-32
-6
0
0
25
54
0
0
0
-68
59
14
0
0
60
-69
25
0
0
45
49
43
0
0
48
36
7
0
0
0
43
-22
0
0
76
12
-25
0
0
-66
30
58
0
0
36
37
-44
0
0
43
-59
-15
0
0
-8
56
1
0
0
47
49
4
0
0
75
-41
-17
0
0
-24
2
90
0
0
5
-14
29
0
0
-63
-10
76
0
0
-1
56
20
0
0
-44
-64
39
0
0
-8
-20
42
0
0
-5
21
-64
0
0
15
54
40
0
0
-19
-3
10
0
0
58
-19
24
12
18
-62
3
-66
0
0
7
23
-41
0
0
-10
4
34
0
0
39
39
24
0
0
22
31
9
0
0
64
-80
64
0
0
52
-19
3
0
0
11
22
23
0
0
-32
29
43
0
0
41
25
-2
0
0
10
18
-28
0
0
-41
31
3
0
0
-20
64
76
0
0
26
-1
-2
0
0
-58
26
12
0
0
33
60
-9
0
0
4
51
-35
0
0
20
55
-60
0
0
52
35
19
0
0
-2
-42
15
0
0
-30
-28
8
0
0
58
-59
41
0
0
-28
-28
-5
0
0
25
-19
-32
0
0
-34
-17
-18
0
0
-17
12
-3
0
0
33
10
73
0
0
0
-62
-8
0
0
-26
58
50
0
0
51
-17
-14
0
0
68
-7
2
0
0
-21
47
-35
-3
5
132
5
48
0
0
3
-49
12
0
0
13
-8
-64
0
0
13
18
43
0
0
-17
10
3
0
0
-25
62
3
0
0
-4
38
104
0
0
-12
2
-14
0
0
16
80
-41
0
0
72
-22
14
0
0
-3
7
5
0
0
89
20
6
0
0
19
-10
-20
0
0
-5
-7
0
0
0
-25
12
-7
0
0
27
-22
-23
0
0
58
-7
-1
0
0
8
-26
43
0
0
3
1
5
0
0
-1
32
-68
0
0
32
18
-9
0
0
-24
13
18
0
0
-24
41
-32
0
0
-2
-23
-7
0
0
-10
4
55
0
0
-10
-5
-31
0
0
1
-57
-42
0
0
0
69
-54
0
0
7
47
35
0
0
-22
-5
-63
0
0
-29
72
11
0
0
0
-11
-66
-10
-3
32
-38
6
0
0
-46
33
112
0
0
-14
24
-9
0
0
5
-17
-73
0
0
-4
14
-17
0
0
12
-2
57
0
0
25
14
19
0
0
23
-4
7
0
0
34
76
45
0
0
-44
53
-26
0
0
3
-11
-7
0
0
-13
-8
60
0
0
-39
37
23
0
0
-5
4
-8
0
0
-5
15
-34
0
0
3
-96
8
0
0
-10
95
-15
0
0
5
-13
-24
0
0
-36
19
56
0
0
-14
-26
8
0
0
37
-17
31
0
0
-66
-53
-8
0
0
-7
-5
7
0
0
-6
3
-5
0
0
-22
-27
15
0
0
2
30
-23
0
0
-6
22
-15
0
0
0
47
5
0
0
22
49
-40
0
0
20
-13
13
0
0
5
5
-24
0
0
28
-14
-17
-18
-19
-40
-1
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
23
0
0
15
-1
41
0
0
-16
54
-49
0
0
-62
45
-5
0
0
36
14
-25
0
0
6
-66
16
0
0
13
21
2
0
0
-17
11
3
0
0
3
53
-2
0
0
72
-38
22
0
0
141
51
-8
0
0
66
-24
64
0
0
-37
135
8
0
0
21
-26
-17
0
0
-47
9
3
0
0
58
25
-26
0
0
45
3
30
0
0
-85
91
30
0
0
14
-126
5
0
0
-8
-5
5
0
0
9
8
7
0
0
10
-3
21
0
0
-24
14
-7
0
0
28
43
21
0
0
-13
3
16
0
0
5
25
9
0
0
0
36
-13
0
0
-25
-39
9
0
0
-16
30
-1
0
0
-6
53
-61
0
0
-75
3
85
10
7
-12
5
10
0
0
2
-25
43
0
0
-18
11
58
0
0
16
19
-16
0
0
21
42
-34
0
0
13
-76
-15
0
0
4
30
42
0
0
14
-24
5
0
0
-69
33
-46
0
0
62
103
10
0
0
45
67
12
0
0
12
-38
-55
0
0
-4
-64
48
0
0
14
14
49
0
0
0
-3
-63
0
0
-32
8
5
0
0
4
-10
5
0
0
47
13
5
0
0
-54
-22
4
0
0
-5
-5
-4
0
0
-12
-16
5
0
0
35
33
20
0
0
31
15
-31
0
0
-6
41
8
0
0
-32
40
-83
0
0
-8
-56
-21
0
0
-1
8
-10
0
0
0
-15
0
0
0
-3
-34
2
0
0
30
12
8
0
0
-12
-49
-8
0
0
-4
18
7
31
-16
-61
62
-18
0
0
11
-18
-2
0
0
-18
11
0
0
0
-14
-49
63
0
0
8
1
37
0
0
-2
5
2
0
0
-5
12
-1
0
0
7
-2
-13
0
0
2
-29
-2
0
0
-22
24
5
0
0
-18
-68
18
0
0
30
3
-22
0
0
47
46
-71
0
0
18
15
-2
0
0
3
-6
0
0
0
-46
19
-42
0
0
28
-2
8
0
0
-30
53
4
0
0
-12
34
24
0
0
17
8
-1
0
0
-44
14
-3
0
0
7
-16
-4
0
0
0
-3
1
0
0
1
-13
0
0
0
49
-11
3
0
0
-1
-6
2
0
0
0
-21
0
0
0
8
-31
7
0
0
-7
-9
4
0
0
34
31
7
0
0
0
22
-5
0
0
18
46
5
-4
3
8
-59
14
0
0
22
21
-21
0
0
52
-30
-7
0
0
-34
42
-72
0
0
-48
22
-28
0
0
71
9
-3
0
0
-14
2
14
0
0
-5
-18
-1
0
0
-14
-19
1
0
0
46
31
-25
0
0
5
35
28
0
0
37
-10
-8
0
0
3
0
42
0
0
-1
-15
-5
0
0
-5
-3
37
0
0
3
-33
-13
0
0
-9
-78
-7
0
0
-14
33
5
0
0
21
-43
-7
0
0
-1
13
-2
0
0
55
15
5
0
0
0
-5
0
0
0
0
0
-1
0
0
1
0
0
0
0
11
-6
-4
0
0
-1
-40
1
0
0
-1
37
3
0
0
0
4
-1
0
0
6
8
-8
0
0
23
-59
-14
0
0
-16
-18
0
0
0
-20
19
0
-39
-36
4
-14
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
55
50
0
0
59
28
-57
0
0
22
24
86
0
0
11
13
-16
0
0
-33
19
17
0
0
-1
-12
-18
0
0
3
33
-10
0
0
-61
32
37
0
0
131
4
-25
0
0
12
-7
12
0
0
0
71
-1
0
0
63
-8
15
0
0
34
-30
-23
0
0
21
20
-41
0
0
19
33
9
0
0
2
34
2
0
0
9
-2
-3
0
0
10
59
9
0
0
12
-5
-5
0
0
1
-11
10
0
0
13
-12
-60
0
0
24
53
-3
0
0
42
-17
-9
0
0
17
-5
8
0
0
-12
47
49
0
0
-77
49
-23
0
0
-35
-44
-17
0
0
-116
-49
-4
0
0
12
42
-1
0
0
-62
3
13
0
0
27
-39
80
11
7
7
-38
-3
0
0
-18
9
11
0
0
2
-40
17
0
0
12
24
4
0
0
27
16
20
0
0
-28
-27
41
0
0
25
19
-6
0
0
-16
-24
7
0
0
-16
20
-33
0
0
18
6
-4
0
0
17
43
-16
0
0
-42
-81
41
0
0
22
23
-41
0
0
-14
6
0
0
0
7
13
33
0
0
-17
85
6
0
0
8
21
-13
0
0
-20
14
58
0
0
13
-21
-35
0
0
-38
8
23
0
0
45
-55
-18
0
0
-35
5
-9
0
0
35
-31
-29
0
0
-7
9
-76
0
0
47
-15
47
0
0
-4
45
50
0
0
33
30
8
0
0
100
-40
58
0
0
-3
18
9
0
0
7
-16
-22
0
0
-37
-4
84
0
0
-50
-60
-90
-1
2
-23
-4
-111
0
0
-2
9
15
0
0
-6
15
-9
0
0
-49
-11
-7
0
0
-45
8
19
0
0
64
-51
-13
0
0
17
3
13
0
0
-16
8
3
0
0
49
-9
-9
0
0
-72
10
0
0
0
-18
0
0
0
0
-4
9
1
0
0
-1
1
0
0
0
-7
5
0
0
0
0
-27
1
0
0
-36
41
10
0
0
65
-27
-1
0
0
-9
61
5
0
0
-27
-12
-2
0
0
-2
-27
-5
0
0
5
52
-52
0
0
2
-5
-39
0
0
-57
96
1
0
0
92
-5
-31
0
0
-8
-92
19
0
0
-13
-5
0
0
0
-19
-22
-14
0
0
-57
6
-57
0
0
37
47
-90
0
0
47
14
21
0
0
-7
-15
12
0
0
-73
-48
10
-5
-16
48
-85
-38
0
0
-31
-34
-38
0
0
22
-35
-49
0
0
-22
2
-15
0
0
42
45
-20
0
0
-15
-8
29
0
0
0
0
-8
0
0
-1
29
0
0
0
35
32
3
0
0
5
-31
0
0
0
16
-16
-2
0
0
-25
-19
-7
0
0
-19
-12
43
0
0
-35
5
-1
0
0
-1
20
0
0
0
-4
-66
1
0
0
-40
26
39
0
0
-14
2
9
0
0
-60
-31
50
0
0
-40
25
31
0
0
3
-30
13
0
0
-21
-39
24
0
0
-5
-23
-109
0
0
3
-18
-20
0
0
26
-15
-77
0
0
-5
-4
-8
0
0
32
41
20
0
0
-32
-28
44
0
0
31
27
-36
0
0
-57
-5
15
0
0
20
-58
30
0
0
76
-49
-58
-11
-18
-45
-42
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-35
29
0
0
23
-48
-49
0
0
42
-37
-31
0
0
-59
-47
9
0
0
12
-13
15
0
0
27
-25
13
0
0
22
-15
0
0
0
-36
-10
-6
0
0
7
4
-2
0
0
-8
-37
3
0
0
17
-18
18
0
0
-6
64
-10
0
0
31
-15
4
0
0
-6
2
-8
0
0
42
-13
2
0
0
24
-90
-51
0
0
14
15
29
0
0
80
32
-26
0
0
8
26
-79
0
0
28
-129
-29
0
0
-49
41
44
0
0
-38
-22
-34
0
0
18
28
-15
0
0
-7
-29
30
0
0
14
14
16
0
0
-54
69
3
0
0
5
-51
-6
0
0
-55
41
-6
0
0
47
14
-8
0
0
-39
1
-9
0
0
-23
11
9
1
5
-7
15
39
0
0
30
89
20
0
0
7
-6
12
0
0
-69
-56
-3
0
0
1
-22
-23
0
0
1
12
-5
0
0
23
-40
-5
0
0
0
29
-1
0
0
-13
44
-13
0
0
1
34
8
0
0
-62
-29
25
0
0
15
15
15
0
0
-45
41
-20
0
0
3
5
1
0
0
8
18
2
0
0
3
-18
4
0
0
-13
32
-5
0
0
-1
-24
45
0
0
-36
-10
-25
0
0
18
47
0
0
0
-73
24
65
0
0
-26
43
-5
0
0
-4
-78
-26
0
0
-17
-59
-6
0
0
-102
-21
-6
0
0
-13
28
33
0
0
34
-12
15
0
0
19
-9
11
0
0
4
0
-30
0
0
12
-20
-40
0
0
71
16
14
0
0
-9
26
-5
11
-12
-8
-31
22
0
0
-17
52
31
0
0
-25
4
-5
0
0
39
-1
10
0
0
-49
61
10
0
0
-37
10
3
0
0
-5
0
0
0
0
9
-49
-2
0
0
14
13
1
0
0
12
35
0
0
0
1
4
0
0
0
2
-111
5
0
0
-12
-16
-8
0
0
1
-8
0
0
0
0
-8
0
0
0
2
6
1
0
0
24
-68
-1
0
0
-34
-33
-4
0
0
-40
-41
1
0
0
-12
-65
-31
0
0
-69
-14
-22
0
0
4
-42
-18
0
0
14
-71
-55
0
0
-68
-49
-24
0
0
-9
37
-20
0
0
-1
-17
-1
0
0
-10
-4
-25
0
0
7
-6
28
0
0
2
45
33
0
0
-56
24
-43
0
0
3
5
6
0
0
-16
50
13
1
-14
-47
-14
51
0
0
-12
-43
5
0
0
-22
-3
2
0
0
3
0
-27
0
0
-68
42
-15
0
0
-3
-5
-3
0
0
-8
-24
5
0
0
-8
7
0
0
0
-66
13
-4
0
0
-5
19
2
0
0
1
-2
0
0
0
0
15
2
0
0
-67
-34
31
0
0
0
1
0
0
0
0
1
0
0
0
4
0
2
0
0
-44
-23
-4
0
0
-40
-68
-25
0
0
27
2
-36
0
0
-6
64
-54
0
0
-21
-11
-78
0
0
5
6
-3
0
0
3
-19
14
0
0
-49
24
-33
0
0
-71
7
-38
0
0
26
-33
-24
0
0
40
-70
-54
0
0
4
59
-74
0
0
4
12
61
0
0
-11
77
83
0
0
6
15
-14
0
0
42
-24
21
-19
0
-65
-47
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
58
-38
0
0
20
-11
30
0
0
64
97
-9
0
0
68
97
-14
0
0
-22
-17
6
0
0
87
40
5
0
0
26
29
-7
0
0
7
-62
31
0
0
67
78
-9
0
0
0
29
-14
0
0
-54
33
24
0
0
44
47
94
0
0
54
32
33
0
0
-3
11
-14
0
0
35
-66
-17
0
0
-2
59
54
0
0
98
8
0
0
0
-21
-25
52
0
0
49
-42
5
0
0
-15
18
34
0
0
-53
26
27
0
0
-16
6
35
0
0
21
-28
21
0
0
-23
59
13
0
0
84
46
31
0
0
-29
-36
7
0
0
-34
18
69
0
0
52
14
-58
0
0
-38
-4
-42
0
0
13
-40
49
0
0
-41
-75
-9
14
47
-18
12
55
0
0
31
7
44
0
0
0
10
7
0
0
6
-32
34
0
0
-51
9
0
0
0
-55
-40
-3
0
0
-15
20
2
0
0
19
42
19
0
0
-23
27
42
0
0
83
3
23
0
0
5
24
-55
0
0
-51
-1
30
0
0
-30
21
8
0
0
-6
34
-12
0
0
22
1
-22
0
0
29
2
-6
0
0
80
10
46
0
0
42
6
-23
0
0
-37
54
24
0
0
19
52
5
0
0
36
-14
-23
0
0
-18
38
-2
0
0
-21
-9
27
0
0
-9
42
-2
0
0
48
45
15
0
0
-2
-49
-1
0
0
66
31
-3
0
0
-10
14
-4
0
0
38
31
7
0
0
-9
-1
16
0
0
42
34
59
0
0
-31
49
-1
24
9
16
-61
58
0
0
42
-37
20
0
0
29
41
-36
0
0
18
35
-17
0
0
46
46
-31
0
0
-9
-3
13
0
0
-68
21
17
0
0
37
-18
0
0
0
-41
49
23
0
0
-3
5
-13
0
0
-3
0
24
0
0
-2
8
-4
0
0
20
34
-9
0
0
-13
-6
-2
0
0
-1
15
-35
0
0
-16
10
-4
0
0
19
-5
31
0
0
19
22
-5
0
0
21
-41
39
0
0
8
-3
-7
0
0
5
-5
-20
0
0
-15
21
21
0
0
-41
5
-7
0
0
2
-20
8
0
0
5
3
56
0
0
-14
-3
23
0
0
18
-9
6
0
0
-2
10
-24
0
0
25
-35
14
0
0
12
32
6
0
0
4
-36
49
0
0
69
-5
-7
8
2
-46
-10
18
0
0
32
-21
-5
0
0
-31
16
-30
0
0
-6
48
31
0
0
39
-1
-22
0
0
-71
76
60
0
0
0
-36
9
0
0
-45
-1
4
0
0
72
54
-41
0
0
-24
47
4
0
0
-14
7
-21
0
0
92
-42
70
0
0
66
120
15
0
0
20
13
-2
0
0
-4
-17
-7
0
0
12
0
-9
0
0
36
-82
-27
0
0
33
-32
8
0
0
-46
104
34
0
0
0
-4
-30
0
0
34
-40
-4
0
0
-8
-9
1
0
0
-1
-2
20
0
0
1
-18
-6
0
0
30
21
55
0
0
22
100
1
0
0
-27
-5
-8
0
0
12
-71
-5
0
0
5
55
64
0
0
9
5
22
0
0
3
-29
-19
0
0
-66
-21
-80
-24
21
8
-10
24
0
0
0
-23
-21
0
0
42
0
28
0
0
-54
-29
6
0
0
40
24
29
0
0
-1
60
5
0
0
9
-22
41
0
0
22
-7
0
0
0
19
25
42
0
0
-2
84
-2
0
0
-41
12
8
0
0
9
22
-6
0
0
-32
28
3
0
0
-3
-10
0
0
0
0
16
-3
0
0
-3
13
13
0
0
31
-3
7
0
0
7
-15
-3
0
0
0
6
8
0
0
-6
-3
-1
0
0
22
-22
-1
0
0
22
5
1
0
0
21
22
10
0
0
5
5
-1
0
0
30
-48
-8
0
0
6
-45
10
0
0
-8
-58
-17
0
0
0
41
5
0
0
-23
-50
-16
0
0
9
120
1
0
0
7
-58
3
0
0
0
31
-1
2
50
5
12
15
0
0
22
-6
38
0
0
64
-22
-8
0
0
-63
49
-2
0
0
-23
19
4
0
0
61
-76
31
0
0
7
-31
0
0
0
-12
-6
-1
0
0
-24
-11
-5
0
0
31
-22
-17
0
0
50
-41
16
0
0
-19
29
-6
0
0
4
-26
-1
0
0
-5
0
-1
0
0
5
7
-2
0
0
3
15
0
0
0
0
42
4
0
0
-22
29
-24
0
0
39
1
25
0
0
-1
16
-1
0
0
24
-15
-1
0
0
2
-22
0
0
0
-6
-35
0
0
0
0
2
0
0
0
-41
-34
0
0
0
2
-46
-8
0
0
-9
-28
17
0
0
-21
-8
-25
0
0
41
-33
-15
0
0
20
-39
-5
0
0
-14
19
-34
0
0
-8
93
-2
16
-42
28
-10
25
0
0
-46
23
49
0
0
27
40
-11
0
0
-12
-1
-51
0
0
92
63
-41
0
0
45
1
3
0
0
-12
7
-5
0
0
0
9
-2
0
0
13
23
-10
0
0
16
3
1
0
0
-22
8
-3
0
0
1
-13
9
0
0
28
-8
-1
0
0
0
8
2
0
0
0
5
0
0
0
0
-7
0
0
0
-5
21
0
0
0
14
34
-6
0
0
-31
0
-4
0
0
5
-2
0
0
0
-39
6
0
0
0
5
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-14
-9
-2
0
0
1
-48
0
0
0
0
4
3
0
0
-1
-4
-7
0
0
-4
5
9
0
0
-7
-25
2
0
0
-5
5
1
0
0
-5
-13
1
42
-31
76
-17
-3
0
0
7
40
59
0
0
11
2
33
0
0
-3
22
-66
0
0
-15
75
-3
0
0
-18
-32
21
0
0
43
8
-30
0
0
-2
35
4
0
0
4
13
-32
0
0
57
66
1
0
0
-4
-6
-10
0
0
-9
5
-16
0
0
1
-35
4
0
0
-9
9
5
0
0
1
-5
0
0
0
0
30
-13
0
0
-35
26
-7
0
0
-51
40
-9
0
0
-27
-32
7
0
0
-7
5
1
0
0
69
14
0
0
0
0
9
-9
0
0
0
4
0
0
0
-1
12
0
0
0
49
25
-1
0
0
-13
28
10
0
0
-27
-16
13
0
0
-3
26
2
0
0
8
34
5
0
0
-50
22
16
0
0
-2
31
-35
0
0
18
-17
8
-18
10
-27
-38
16
0
0
2
-21
18
0
0
69
-11
-2
0
0
40
-7
5
0
0
-49
-11
58
0
0
14
-13
7
0
0
48
-25
-21
0
0
6
8
2
0
0
-30
11
12
0
0
5
37
-5
0
0
59
45
30
0
0
72
-45
33
0
0
58
-25
-24
0
0
33
-30
22
0
0
3
0
24
0
0
22
4
9
0
0
16
69
-78
0
0
-45
24
6
0
0
-37
-15
-42
0
0
45
-3
1
0
0
-74
-16
17
0
0
11
1
-5
0
0
0
43
9
0
0
-5
32
8
0
0
45
9
-15
0
0
38
44
-12
0
0
-13
30
-5
0
0
2
7
12
0
0
8
3
-27
0
0
-20
54
5
0
0
0
10
-21
0
0
13
55
-8
19
21
-33
-34
54
0
0
-17
5
-4
0
0
2
-5
25
0
0
-18
27
-3
0
0
-1
-27
-56
0
0
-6
33
8
0
0
33
-28
33
0
0
2
4
0
0
0
-59
53
-4
0
0
41
29
13
0
0
27
-16
4
0
0
57
-1
-12
0
0
13
27
15
0
0
0
16
-4
0
0
-4
-2
-5
0
0
-7
-2
-6
0
0
7
12
39
0
0
69
-7
-8
0
0
5
16
-8
0
0
-29
-9
-3
0
0
13
-20
1
0
0
12
3
3
0
0
-3
17
-4
0
0
-2
-18
-1
0
0
4
-62
-6
0
0
6
-9
-28
0
0
5
53
5
0
0
0
30
-7
0
0
2
41
-16
0
0
29
-31
-4
0
0
-12
-17
-17
0
0
-5
-4
13
2
11
-53
-5
14
0
0
43
-63
40
0
0
-13
-19
-17
0
0
18
17
23
0
0
-64
6
49
0
0
-7
18
10
0
0
27
10
-10
0
0
-6
-3
2
0
0
-2
22
1
0
0
5
-45
5
0
0
30
-22
5
0
0
-17
10
-1
0
0
35
-25
9
0
0
3
10
-1
0
0
-1
0
-1
0
0
-4
5
0
0
0
-24
-1
0
0
0
50
-3
2
0
0
-7
23
1
0
0
-1
8
5
0
0
-31
-5
-6
0
0
16
-32
-5
0
0
-2
-4
-25
0
0
0
3
-4
0
0
-27
65
3
0
0
0
44
-18
0
0
25
-5
2
0
0
0
5
1
0
0
1
-31
-3
0
0
-3
-17
1
0
0
2
-4
-2
0
0
20
7
0
13
-8
31
-43
-43
0
0
29
48
0
0
0
50
22
-58
0
0
30
-3
-2
0
0
31
6
0
0
0
-15
71
-12
0
0
-27
-15
16
0
0
-5
-12
-6
0
0
3
10
8
0
0
6
-5
-6
0
0
44
-6
22
0
0
39
-8
-6
0
0
58
14
13
0
0
0
4
0
0
0
-2
6
0
0
0
-3
14
7
0
0
-31
-25
-21
0
0
3
120
0
0
0
14
-48
-7
0
0
-9
-31
3
0
0
-11
-23
4
0
0
13
4
1
0
0
0
2
-4
0
0
-3
-18
3
0
0
-43
6
6
0
0
13
6
0
0
0
-7
21
-3
0
0
1
-17
-5
0
0
-93
7
9
0
0
-1
-48
-3
0
0
-1
8
-6
0
0
-15
-46
-1
0
-1
-3
-29
-42
0
0
-5
6
39
0
0
12
-6
26
0
0
-24
3
-14
0
0
-30
-51
-4
0
0
28
-25
5
0
0
-31
4
2
0
0
9
-17
5
0
0
29
-13
0
0
0
-9
-17
0
0
0
-5
17
0
0
0
8
20
2
0
0
-28
6
14
0
0
0
-1
1
0
0
0
-3
0
0
0
0
-4
4
0
0
-26
8
-1
0
0
-25
-2
-15
0
0
46
-5
27
0
0
2
-5
-6
0
0
4
17
1
0
0
-41
4
-3
0
0
2
-5
0
0
0
0
9
0
0
0
-30
-25
-25
0
0
8
41
0
0
0
-4
-3
5
0
0
0
-6
0
0
0
-3
5
-9
0
0
4
-28
0
0
0
-3
-5
2
0
0
25
-3
-1
19
-31
29
13
2
0
0
-32
64
3
0
0
-22
-5
-9
0
0
3
-39
12
0
0
-31
-27
-9
0
0
-22
0
-22
0
0
43
48
0
0
0
-3
-4
1
0
0
-73
27
-2
0
0
67
-27
8
0
0
43
-42
1
0
0
6
-43
0
0
0
-104
-49
3
0
0
0
25
0
0
0
-2
8
0
0
0
1
3
0
0
0
8
-5
3
0
0
-25
10
0
0
0
8
-18
-1
0
0
8
-5
1
0
0
-69
10
5
0
0
3
-15
5
0
0
1
-2
-5
0
0
0
1
0
0
0
9
5
0
0
0
8
63
-18
0
0
3
4
1
0
0
-2
-1
3
0
0
-10
-8
0
0
0
-6
25
-3
0
0
6
-23
-1
0
0
9
2
-2
-10
-1
14
22
5
0
0
29
75
-19
0
0
-17
39
-11
0
0
-41
-26
-34
0
0
-46
28
38
0
0
2
49
-2
0
0
28
19
-4
0
0
4
1
-2
0
0
39
-45
-5
0
0
0
43
-2
0
0
5
2
-13
0
0
-20
42
3
0
0
-8
0
13
0
0
0
-1
0
0
0
0
3
0
0
0
-1
7
0
0
0
25
-28
0
0
0
34
-1
0
0
0
-52
-14
8
0
0
-5
5
0
0
0
-3
17
-2
0
0
-21
3
-1
0
0
-1
-3
-4
0
0
0
-8
0
0
0
-41
-31
-3
0
0
1
17
7
0
0
13
18
2
0
0
-2
-13
0
0
0
-1
-5
4
0
0
6
-59
0
0
0
2
24
0
0
0
-28
5
-1
-21
-15
49
-41
5
0
0
53
23
-7
0
0
28
-26
52
0
0
-16
5
53
0
0
44
47
14
0
0
-1
-29
24
0
0
28
-42
-4
0
0
-8
5
-5
0
0
-49
49
-13
0
0
-18
1
6
0
0
23
-53
2
0
0
6
49
-3
0
0
-2
-15
0
0
0
-7
-55
0
0
0
-3
0
0
0
0
0
-2
-7
0
0
27
-41
-2
0
0
42
6
59
0
0
-102
-17
23
0
0
7
-25
-5
0
0
-58
118
1
0
0
5
4
-8
0
0
-3
-8
-5
0
0
-1
1
1
0
0
-36
-102
-10
0
0
-6
-17
3
0
0
-32
42
-2
0
0
0
9
3
0
0
22
-14
-1
0
0
47
14
2
0
0
-3
-19
0
0
0
-13
-16
13
13
0
-17
-74
-13
0
0
-8
-15
3
0
0
1
-15
2
0
0
23
-111
6
0
0
-7
44
-8
0
0
30
32
-4
0
0
29
-49
-2
0
0
-49
13
0
0
0
9
-42
0
0
0
20
-15
5
0
0
-31
-24
2
0
0
10
7
5
0
0
-32
-27
-44
0
0
-15
55
-9
0
0
30
12
0
0
0
-19
-22
3
0
0
-41
36
24
0
0
8
-24
-86
0
0
35
36
-35
0
0
11
-15
41
0
0
45
0
-38
0
0
-113
39
-41
0
0
-7
35
-50
0
0
35
27
9
0
0
-18
45
65
0
0
-22
81
-15
0
0
55
98
-24
0
0
31
-73
14
0
0
-20
66
57
0
0
-44
15
-30
0
0
-40
-6
57
0
0
-3
-6
2
20
11
-16
-20
40
0
0
-69
58
-14
0
0
76
23
-10
0
0
10
21
13
0
0
-45
-25
55
0
0
42
-75
-3
0
0
-14
71
30
0
0
-6
4
0
0
0
16
-18
-27
0
0
-23
-28
1
0
0
25
-13
-2
0
0
-10
45
6
0
0
-5
17
18
0
0
-60
-9
-5
0
0
-2
15
-32
0
0
-22
100
-18
0
0
41
-31
-36
0
0
59
4
-21
0
0
27
35
-13
0
0
20
-9
30
0
0
-37
10
-5
0
0
-69
-16
52
0
0
27
-26
5
0
0
98
-1
31
0
0
-21
8
-4
0
0
-112
-86
9
0
0
-48
5
-40
0
0
-56
47
-12
0
0
-85
58
-90
0
0
-49
-4
31
0
0
13
31
5
0
0
24
-66
5
9
3
-84
31
31
0
0
26
43
-9
0
0
-64
-12
30
0
0
-11
5
-2
0
0
-18
-6
5
0
0
3
-22
1
0
0
-39
2
-2
0
0
0
-1
-1
0
0
-16
-19
3
0
0
5
-2
0
0
0
-3
3
0
0
0
-2
13
-3
0
0
-34
-2
4
0
0
-1
-9
0
0
0
-4
0
1
0
0
5
-19
0
0
0
-14
6
-14
0
0
-19
8
-13
0
0
62
-29
0
0
0
-23
-10
15
0
0
-36
-6
28
0
0
60
-152
-23
0
0
-34
21
10
0
0
-8
-18
-55
0
0
-14
21
27
0
0
41
-21
-53
0
0
-38
-24
19
0
0
17
48
-19
0
0
59
-37
-9
0
0
-23
29
-33
0
0
-50
0
38
0
0
-70
-28
8
-3
4
-13
8
-58
0
0
55
49
-9
0
0
27
43
1
0
0
3
63
-51
0
0
34
25
-3
0
0
-1
11
-4
0
0
8
1
2
0
0
-6
1
2
0
0
28
-7
0
0
0
-50
29
0
0
0
13
4
-1
0
0
2
-10
7
0
0
-24
5
5
0
0
-2
7
-2
0
0
2
-29
0
0
0
-1
-3
1
0
0
-17
8
31
0
0
-15
-44
-12
0
0
-42
-9
23
0
0
-14
-36
-25
0
0
26
-25
-44
0
0
-9
-6
-9
0
0
-99
-59
-10
0
0
23
-12
-22
0
0
-38
-28
39
0
0
-9
-65
-5
0
0
-25
-33
-25
0
0
-13
21
-4
0
0
-61
26
5
0
0
60
-31
-33
0
0
-74
4
54
0
0
-61
-1
-45
-26
-8
-25
19
-66
0
0
2
31
30
0
0
45
-4
11
0
0
13
-26
-8
0
0
0
14
4
0
0
35
-3
0
0
0
4
-8
-2
0
0
2
0
0
0
0
-2
23
-4
0
0
13
-18
0
0
0
15
1
0
0
0
1
-41
0
0
0
6
-20
4
0
0
12
0
0
0
0
0
-25
0
0
0
-3
2
3
0
0
121
45
2
0
0
3
-27
30
0
0
23
60
13
0
0
-22
-25
14
0
0
14
-2
-37
0
0
29
-4
-61
0
0
19
0
56
0
0
-43
32
12
0
0
58
-69
-60
0
0
-48
4
-58
0
0
-24
-61
6
0
0
-28
-8
39
0
0
8
-4
42
0
0
-6
62
27
0
0
-2
-22
-16
0
0
-67
22
3
0
-2
-10
31
-63
0
0
6
16
-1
0
0
6
-14
12
0
0
115
-15
-27
0
0
-49
41
12
0
0
9
-8
0
0
0
-8
1
-5
0
0
-2
2
0
0
0
26
17
0
0
0
46
23
-1
0
0
-37
30
0
0
0
9
-6
4
0
0
-42
45
-1
0
0
0
-19
-1
0
0
0
0
0
0
0
0
-13
1
0
0
-105
4
31
0
0
-8
-1
-1
0
0
5
-5
41
0
0
29
-62
-51
0
0
-76
-36
13
0
0
-51
-15
27
0
0
40
2
68
0
0
-41
90
-5
0
0
23
-37
-89
0
0
17
-28
-3
0
0
52
-16
1
0
0
-9
-56
19
0
0
7
32
13
0
0
24
-16
-39
0
0
22
40
-9
0
0
-7
8
14
-21
3
-73
-45
-5
0
0
5
74
3
0
0
0
18
-35
0
0
7
31
0
0
0
58
-84
4
0
0
-2
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
9
-1
1
0
0
0
14
0
0
0
-1
0
0
0
0
1
3
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
17
-39
3
0
0
-54
15
71
0
0
12
-19
-50
0
0
-77
-45
20
0
0
11
14
34
0
0
-45
48
-27
0
0
3
-55
-115
0
0
-16
5
-48
0
0
-9
-44
43
0
0
-13
13
-22
0
0
8
5
8
0
0
-8
-77
-67
0
0
-60
-38
-63
0
0
4
-20
-18
0
0
1
16
-12
0
0
-5
-48
-3
-39
-15
-13
-68
4
0
0
5
-35
30
0
0
-53
-21
-18
0
0
31
-17
18
0
0
38
42
-2
0
0
3
4
1
0
0
0
-5
1
0
0
0
1
0
0
0
11
4
0
0
0
-3
16
0
0
0
-5
4
0
0
0
-24
-13
0
0
0
-37
43
1
0
0
0
-9
0
0
0
7
0
0
0
0
-2
-4
0
0
0
-48
-25
-3
0
0
-43
-17
42
0
0
25
-20
-42
0
0
-17
60
8
0
0
30
-3
-74
0
0
3
-1
-23
0
0
29
3
-156
0
0
13
-80
10
0
0
-8
-31
-44
0
0
-54
-34
49
0
0
-60
39
-54
0
0
18
52
15
0
0
47
-21
-69
0
0
-13
3
31
0
0
2
16
-20
0
0
-7
-11
-49
2
-15
-75
39
-25
0
0
-11
128
25
0
0
22
-125
43
0
0
23
16
45
0
0
11
8
-5
0
0
-37
-27
-18
0
0
-28
-47
35
0
0
5
16
0
0
0
54
59
13
0
0
44
20
-1
0
0
18
-6
4
0
0
9
-49
-15
0
0
42
-62
37
0
0
67
0
-13
0
0
1
-8
12
0
0
16
25
10
0
0
-8
40
-3
0
0
22
-31
60
0
0
28
4
-71
0
0
-57
-37
35
0
0
7
-52
27
0
0
59
50
10
0
0
-23
63
-22
0
0
-22
-68
13
0
0
-6
-31
22
0
0
17
9
-9
0
0
6
71
-36
0
0
-21
-3
44
0
0
-41
17
42
0
0
22
8
-8
0
0
11
-17
9
0
0
6
23
86
24
-2
43
10
17
0
0
-2
12
-10
0
0
-12
37
4
0
0
-19
6
-49
0
0
-71
50
32
0
0
64
-58
-2
0
0
2
-58
9
0
0
-9
-6
0
0
0
-65
15
9
0
0
15
25
-19
0
0
42
12
-5
0
0
49
-8
-4
0
0
14
-2
-8
0
0
-13
5
2
0
0
2
0
8
0
0
-3
19
2
0
0
-32
0
-41
0
0
7
-55
44
0
0
-105
37
14
0
0
13
-52
13
0
0
-11
8
-47
0
0
45
41
12
0
0
-27
-1
23
0
0
-31
-67
-34
0
0
-28
66
-57
0
0
24
44
-46
0
0
31
13
83
0
0
72
6
-36
0
0
-2
11
67
0
0
22
1
82
0
0
-34
-47
-12
0
0
57
-24
31
-6
-23
-2
-62
25
0
0
2
1
5
0
0
47
7
-26
0
0
13
93
17
0
0
-143
41
10
0
0
49
-40
3
0
0
29
-4
-3
0
0
0
-4
0
0
0
35
8
1
0
0
-5
-5
0
0
0
5
2
0
0
0
-4
2
1
0
0
-4
8
-5
0
0
1
4
-1
0
0
-1
-2
0
0
0
0
-2
0
0
0
52
5
1
0
0
-11
-79
5
0
0
1
23
-16
0
0
-63
3
-41
0
0
-47
-5
13
0
0
-21
-19
-9
0
0
3
-20
-28
0
0
-1
6
-104
0
0
7
28
-43
0
0
-15
19
56
0
0
-40
1
-26
0
0
54
1
4
0
0
-48
1
15
0
0
-33
-21
-13
0
0
39
47
122
0
0
66
-18
65
6
2
-92
30
31
0
0
23
-5
28
0
0
72
6
41
0
0
-22
36
9
0
0
-78
-74
33
0
0
26
-48
32
0
0
-8
8
14
0
0
0
1
2
0
0
-44
-12
-5
0
0
-31
17
1
0
0
-18
3
2
0
0
-8
3
1
0
0
-31
49
0
0
0
-1
-5
0
0
0
2
0
0
0
0
-1
3
0
0
0
50
-10
0
0
0
49
-55
-5
0
0
-61
66
7
0
0
-60
17
-75
0
0
-23
-36
-31
0
0
-19
-16
-13
0
0
5
-68
8
0
0
23
-102
-1
0
0
-2
14
-23
0
0
-28
9
54
0
0
62
-13
-75
0
0
-8
-20
21
0
0
-22
-33
-17
0
0
0
-5
1
0
0
109
-9
-39
0
0
65
-59
-13
-30
-23
-33
5
-23
0
0
38
-32
-2
0
0
-34
20
94
0
0
56
33
20
0
0
-41
35
-5
0
0
-33
27
7
0
0
7
12
-34
0
0
1
-6
-3
0
0
42
-8
27
0
0
-39
44
-31
0
0
20
-42
-13
0
0
-9
-32
-9
0
0
10
7
-13
0
0
-18
5
0
0
0
-7
7
-1
0
0
-39
-6
1
0
0
11
-13
-23
0
0
-30
12
22
0
0
38
6
-20
0
0
-23
-68
60
0
0
-22
-74
23
0
0
-5
-27
-34
0
0
-5
23
-32
0
0
5
-7
0
0
0
12
31
24
0
0
11
-15
38
0
0
-10
42
31
0
0
24
7
-55
0
0
28
-30
-28
0
0
79
37
-3
0
0
-89
-18
-5
0
0
-12
37
12
-14
-10
47
-44
30
0
0
-35
-5
61
0
0
-47
62
-32
0
0
29
-19
59
0
0
57
19
-41
0
0
50
-56
0
0
0
9
13
-49
0
0
-1
-2
0
0
0
-45
-22
0
0
0
22
2
-12
0
0
-5
-16
48
0
0
1
6
1
0
0
-6
-26
0
0
0
3
2
-1
0
0
-6
3
5
0
0
1
-1
4
0
0
-54
5
-34
0
0
-49
40
46
0
0
6
-49
-5
0
0
-79
0
47
0
0
-3
16
30
0
0
90
23
-8
0
0
18
-46
-1
0
0
3
5
-57
0
0
-109
-3
14
0
0
45
-41
-5
0
0
9
-57
45
0
0
-13
3
-31
0
0
-28
-22
-52
0
0
25
51
-24
0
0
16
-91
-33
0
0
2
28
25
-21
-13
-15
11
21
0
0
56
-63
-9
0
0
0
15
25
0
0
23
23
9
0
0
-5
33
-35
0
0
9
28
-1
0
0
-18
10
6
0
0
4
4
0
0
0
-73
4
-7
0
0
-44
43
-3
0
0
-68
41
7
0
0
1
-13
4
0
0
-2
10
-3
0
0
0
-6
1
0
0
0
-1
0
0
0
4
-25
3
0
0
27
-42
-16
0
0
-14
2
2
0
0
-13
24
-9
0
0
-66
56
-115
0
0
23
-79
-6
0
0
-34
-89
-13
0
0
-6
21
-18
0
0
-1
-67
55
0
0
-26
15
-48
0
0
3
-14
59
0
0
12
-26
-13
0
0
-6
-40
-94
0
0
-4
-59
-16
0
0
0
25
-58
0
0
-12
-19
-8
0
0
-32
-20
-65
-1
10
-38
-76
-128
0
0
15
4
27
0
0
21
15
10
0
0
-23
-15
-59
0
0
9
-58
-19
0
0
-15
31
1
0
0
-5
-12
-13
0
0
0
-24
-2
0
0
21
-67
-31
0
0
-43
-9
47
0
0
-7
-7
8
0
0
4
-13
13
0
0
11
-10
13
0
0
6
-6
4
0
0
0
-7
0
0
0
7
-2
1
0
0
-31
-31
-71
0
0
26
-30
1
0
0
-28
-40
-13
0
0
-126
43
-66
0
0
41
13
-14
0
0
-55
-42
-59
0
0
-42
-13
-19
0
0
-8
15
-18
0
0
-12
-108
-42
0
0
-40
0
82
0
0
59
13
-5
0
0
-43
9
-59
0
0
29
22
-25
0
0
-18
15
30
0
0
-90
9
28
0
0
49
-45
-98
2
-32
-9
15
-134
0
0
-7
1
-37
0
0
47
34
53
0
0
13
5
29
0
0
-4
100
101
0
0
29
26
22
0
0
15
70
5
0
0
32
-57
8
0
0
30
25
21
0
0
18
84
-4
0
0
38
3
-4
0
0
-22
46
48
0
0
71
0
-15
0
0
18
9
8
0
0
-1
12
-12
0
0
-5
28
9
0
0
87
31
57
0
0
-68
35
-31
0
0
11
-35
42
0
0
-5
16
0
0
0
7
18
12
0
0
-1
34
7
0
0
51
33
-3
0
0
-18
8
13
0
0
-4
-13
58
0
0
-13
11
-8
0
0
-31
-49
-47
0
0
-21
17
24
0
0
30
-32
-73
0
0
25
66
17
0
0
-6
39
33
0
0
60
-36
11
31
41
41
48
5
0
0
-5
8
-48
0
0
82
-17
-26
0
0
66
-1
-68
0
0
33
24
-4
0
0
56
28
9
0
0
-41
-32
-9
0
0
21
19
2
0
0
-15
62
-5
0
0
78
49
31
0
0
-4
42
5
0
0
46
0
68
0
0
7
72
-5
0
0
-17
61
-2
0
0
5
43
-8
0
0
15
-16
32
0
0
-27
-2
50
0
0
7
-22
-18
0
0
-26
46
-16
0
0
4
60
-9
0
0
-1
15
-3
0
0
49
-42
66
0
0
20
-16
39
0
0
-4
68
41
0
0
-13
-59
-3
0
0
3
49
-39
0
0
2
60
7
0
0
-18
-12
-29
0
0
53
8
10
0
0
119
26
1
0
0
1
-12
19
0
0
-53
76
-48
-3
30
-41
-12
66
0
0
5
-3
55
0
0
74
50
-38
0
0
30
-21
14
0
0
-19
54
-31
0
0
-7
-17
47
0
0
59
25
50
0
0
-18
29
8
0
0
-56
70
7
0
0
-31
-22
-4
0
0
-25
-86
17
0
0
0
41
-57
0
0
-19
46
23
0
0
-4
23
-2
0
0
-2
2
-31
0
0
5
41
-49
0
0
-43
30
-24
0
0
41
-5
-5
0
0
-55
-9
23
0
0
41
-49
-5
0
0
9
-10
27
0
0
10
10
0
0
0
-23
-19
-2
0
0
-1
17
5
0
0
-55
10
45
0
0
78
-48
-5
0
0
7
1
-18
0
0
-13
19
2
0
0
-43
-35
42
0
0
-43
67
-5
0
0
9
-52
31
0
0
-55
16
-14
14
-7
8
-37
43
0
0
20
15
-43
0
0
36
-40
19
0
0
29
0
-46
0
0
-14
36
20
0
0
-37
42
30
0
0
21
-41
20
0
0
-21
-53
-5
0
0
66
26
48
0
0
-62
32
-12
0
0
13
49
-25
0
0
-22
66
61
0
0
26
18
-25
0
0
12
4
2
0
0
-7
41
1
0
0
-59
17
2
0
0
-41
81
22
0
0
72
-31
53
0
0
-41
9
34
0
0
-21
17
-8
0
0
-15
-31
-15
0
0
72
-48
-1
0
0
-33
-48
3
0
0
6
9
1
0
0
-53
-6
19
0
0
60
26
-24
0
0
48
7
-28
0
0
8
31
-39
0
0
9
-23
35
0
0
58
-22
9
0
0
22
7
26
0
0
55
3
-44
18
17
-75
-5
-13
0
0
-3
-8
1
0
0
7
-34
-20
0
0
1
17
-17
0
0
-37
48
0
0
0
28
-6
7
0
0
-26
32
34
0
0
1
2
1
0
0
73
14
9
0
0
16
-1
-1
0
0
-28
30
14
0
0
10
-16
-2
0
0
-9
9
22
0
0
-8
3
-3
0
0
-6
0
12
0
0
-1
2
14
0
0
6
24
9
0
0
-25
7
-2
0
0
-20
15
5
0
0
19
-8
0
0
0
32
0
5
0
0
-1
5
0
0
0
-8
-4
-5
0
0
0
0
0
0
0
19
-3
5
0
0
-29
17
6
0
0
49
6
-27
0
0
1
-8
-2
0
0
5
7
-17
0
0
8
-39
1
0
0
0
-17
3
0
0
-21
1
-12
38
-14
-18
44
-48
0
0
29
19
42
0
0
25
48
21
0
0
-85
-3
31
0
0
14
-36
0
0
0
16
28
-12
0
0
-8
-2
0
0
0
17
-13
0
0
0
-4
-13
-33
0
0
41
64
2
0
0
-5
18
-9
0
0
-42
-5
-3
0
0
-6
-6
-6
0
0
13
1
0
0
0
-1
14
1
0
0
24
2
-8
0
0
-16
38
1
0
0
18
1
-1
0
0
13
37
-3
0
0
-17
0
-3
0
0
-24
23
0
0
0
2
-51
0
0
0
-1
33
12
0
0
0
4
0
0
0
23
-5
-2
0
0
-1
-19
20
0
0
2
-10
2
0
0
2
-34
0
0
0
-39
27
-13
0
0
48
-69
-17
0
0
12
-19
-8
0
0
7
-3
0
1
-21
-58
-116
25
0
0
42
30
18
0
0
10
7
-1
0
0
-11
-18
5
0
0
-5
55
20
0
0
9
17
4
0
0
-26
13
22
0
0
-16
0
-2
0
0
42
5
-5
0
0
-16
-29
1
0
0
-2
5
-2
0
0
-8
-8
-1
0
0
3
-9
-1
0
0
0
0
0
0
0
0
-7
-2
0
0
-4
2
-1
0
0
0
-16
-4
0
0
22
32
0
0
0
-5
-14
3
0
0
-10
2
1
0
0
-10
3
0
0
0
-6
0
0
0
0
1
-6
-7
0
0
-1
-3
0
0
0
-18
-14
0
0
0
-5
10
1
0
0
-3
31
0
0
0
0
5
0
0
0
-1
13
-3
0
0
-1
2
0
0
0
-5
19
-4
0
0
5
9
0
-15
-9
-25
-25
-27
0
0
9
56
34
0
0
49
-8
20
0
0
-25
70
28
0
0
-25
20
-69
0
0
-76
-35
-4
0
0
58
23
-1
0
0
-13
5
6
0
0
-21
-11
18
0
0
30
76
7
0
0
16
5
0
0
0
44
-66
0
0
0
-5
-27
-2
0
0
0
-2
0
0
0
6
25
1
0
0
8
2
-3
0
0
-44
-67
5
0
0
-50
32
-4
0
0
-14
-2
22
0
0
23
-13
2
0
0
15
-5
13
0
0
-5
15
2
0
0
-5
29
1
0
0
0
1
0
0
0
-6
-8
-10
0
0
-4
-17
9
0
0
13
-2
-4
0
0
1
-24
0
0
0
-1
-18
0
0
0
56
4
-12
0
0
17
-14
2
0
0
5
61
8
14
-33
-37
-41
75
0
0
33
-43
4
0
0
-3
8
7
0
0
16
36
41
0
0
23
1
-13
0
0
-24
1
-3
0
0
42
-5
6
0
0
-7
-8
0
0
0
5
-14
-24
0
0
-11
-49
5
0
0
69
6
2
0
0
32
49
-1
0
0
-5
7
15
0
0
-23
-7
0
0
0
2
-2
-1
0
0
2
40
4
0
0
42
7
13
0
0
22
21
2
0
0
-6
41
-14
0
0
9
5
-5
0
0
20
13
-2
0
0
-6
17
7
0
0
0
24
1
0
0
-3
-9
-1
0
0
18
30
52
0
0
1
24
-7
0
0
5
30
-9
0
0
-3
-3
8
0
0
34
-23
-1
0
0
9
41
-14
0
0
-1
-28
12
0
0
-31
14
1
-2
-16
33
3
41
0
0
5
-40
18
0
0
89
-39
3
0
0
57
61
-24
0
0
-12
18
14
0
0
31
-25
0
0
0
33
2
6
0
0
-6
-10
0
0
0
8
1
0
0
0
32
-8
1
0
0
-2
37
2
0
0
-19
-26
-5
0
0
-31
-20
-16
0
0
2
12
0
0
0
-5
-8
9
0
0
0
33
13
0
0
-4
0
-8
0
0
25
12
0
0
0
-27
0
-2
0
0
-1
2
0
0
0
-17
-1
-4
0
0
-8
-44
-1
0
0
4
-13
0
0
0
-2
-3
0
0
0
-29
7
2
0
0
1
-32
0
0
0
1
-4
8
0
0
-4
3
0
0
0
-73
21
-6
0
0
5
-8
13
0
0
-4
61
5
0
0
-14
-2
5
21
35
4
-29
-14
0
0
-9
94
37
0
0
-65
-12
43
0
0
0
77
-23
0
0
9
-74
-42
0
0
15
7
1
0
0
0
-2
-1
0
0
-5
-18
1
0
0
8
22
5
0
0
-23
7
-27
0
0
49
-24
17
0
0
4
-26
18
0
0
27
-15
46
0
0
-1
22
7
0
0
0
-22
1
0
0
0
12
-4
0
0
22
-22
-26
0
0
28
-9
0
0
0
8
23
-5
0
0
-2
0
0
0
0
41
-18
-2
0
0
-5
2
-9
0
0
-3
12
-1
0
0
0
-4
2
0
0
84
-5
-10
0
0
-8
33
-6
0
0
-7
-51
8
0
0
3
-13
0
0
0
7
-23
1
0
0
7
31
3
0
0
0
14
7
0
0
25
-25
5
22
-30
-14
51
46
0
0
8
-40
20
0
0
-2
14
34
0
0
-58
53
-96
0
0
-10
49
-7
0
0
25
-35
-3
0
0
-34
20
6
0
0
8
16
0
0
0
0
27
-5
0
0
47
24
2
0
0
-25
-6
9
0
0
-25
24
-20
0
0
12
-26
-7
0
0
1
4
-2
0
0
0
-3
3
0
0
1
-35
-6
0
0
58
-11
-1
0
0
19
26
8
0
0
-53
35
0
0
0
4
5
-3
0
0
-35
7
0
0
0
-9
-30
-14
0
0
0
-7
0
0
0
0
-4
-2
0
0
-25
21
22
0
0
-5
-7
1
0
0
14
-5
13
0
0
-3
-17
-4
0
0
-36
-42
5
0
0
-28
42
1
0
0
5
2
0
0
0
-2
-34
-2
25
0
25
-38
-29
0
0
60
28
-23
0
0
12
2
-15
0
0
0
28
7
0
0
9
18
-3
0
0
-10
-1
-10
0
0
-8
-1
-7
0
0
0
1
0
0
0
-10
-2
5
0
0
-47
0
-4
0
0
30
-15
0
0
0
8
0
5
0
0
21
-7
3
0
0
-3
-2
2
0
0
0
7
0
0
0
-1
2
0
0
0
39
0
2
0
0
9
3
-8
0
0
60
-2
-6
0
0
0
-5
-1
0
0
8
-15
2
0
0
1
17
-1
0
0
1
1
-4
0
0
0
-12
4
0
0
2
-12
-8
0
0
4
-3
-3
0
0
1
-5
-2
0
0
0
7
-3
0
0
13
-12
-2
0
0
0
-8
7
0
0
0
-5
-4
0
0
18
1
0
-1
5
-6
-8
-2
0
0
31
103
10
0
0
48
8
11
0
0
6
-4
-3
0
0
-18
-24
-3
0
0
-23
-16
0
0
0
-3
13
-2
0
0
16
3
0
0
0
27
-5
-1
0
0
48
-23
0
0
0
49
34
0
0
0
-2
-5
0
0
0
21
9
2
0
0
0
-2
0
0
0
0
-1
0
0
0
-1
6
0
0
0
0
2
0
0
0
8
-31
-5
0
0
16
-8
1
0
0
-3
-13
4
0
0
-4
-14
0
0
0
0
2
0
0
0
-8
2
-1
0
0
-2
4
0
0
0
2
-3
-14
0
0
-6
55
0
0
0
5
4
0
0
0
-3
-1
-2
0
0
1
-3
1
0
0
-3
1
20
0
0
4
16
-2
0
0
-5
13
4
-30
-2
-47
61
-1
0
0
64
-48
49
0
0
-18
44
29
0
0
-15
30
42
0
0
-59
36
41
0
0
31
-23
5
0
0
22
6
4
0
0
-6
-3
2
0
0
-22
52
-24
0
0
-21
41
-7
0
0
-25
-12
-23
0
0
7
4
-39
0
0
-8
10
-7
0
0
0
-3
0
0
0
0
-8
1
0
0
8
-17
0
0
0
133
-13
7
0
0
41
-13
-5
0
0
-2
17
-9
0
0
6
6
-1
0
0
-2
-14
-8
0
0
1
-52
6
0
0
1
-3
-3
0
0
0
-2
0
0
0
0
7
1
0
0
-26
-9
2
0
0
3
-7
2
0
0
-6
-5
-4
0
0
-7
15
0
0
0
-4
8
-4
0
0
0
-18
-2
0
0
-27
-20
-2
31
5
19
-28
-13
0
0
17
50
13
0
0
-7
57
14
0
0
67
41
4
0
0
-58
11
-18
0
0
58
-40
-10
0
0
0
-61
-14
0
0
-7
49
-1
0
0
-53
22
-7
0
0
58
-79
4
0
0
0
4
8
0
0
64
-48
8
0
0
47
52
-15
0
0
8
-31
1
0
0
1
-4
-2
0
0
13
-41
1
0
0
-22
14
-20
0
0
-9
40
50
0
0
34
7
1
0
0
-43
-32
-1
0
0
39
-13
2
0
0
-9
43
-29
0
0
-1
7
1
0
0
0
-1
-10
0
0
17
-4
2
0
0
13
5
21
0
0
13
-49
25
0
0
6
44
-1
0
0
22
41
-1
0
0
-13
29
-16
0
0
1
14
-8
0
0
-26
38
-4
-1
11
-76
-55
-2
0
0
15
24
-10
0
0
46
-19
42
0
0
-41
8
13
0
0
25
89
-46
0
0
22
-25
3
0
0
42
-41
12
0
0
-5
1
2
0
0
-8
15
8
0
0
47
11
-15
0
0
-44
9
-15
0
0
3
8
2
0
0
-37
-22
16
0
0
0
31
-8
0
0
8
5
18
0
0
-1
-44
-4
0
0
-2
10
18
0
0
-1
-2
-39
0
0
33
-32
-24
0
0
-35
-13
-4
0
0
65
-7
32
0
0
-53
29
1
0
0
-22
2
-28
0
0
29
71
-8
0
0
24
-3
-37
0
0
-10
-48
35
0
0
30
17
-50
0
0
12
-4
32
0
0
29
-38
81
0
0
4
32
28
0
0
-13
-32
-5
0
0
31
-29
85
12
8
15
42
58
0
0
7
-48
27
0
0
44
11
-22
0
0
-22
6
5
0
0
-45
-4
43
0
0
10
-35
16
0
0
-8
5
0
0
0
-24
-7
1
0
0
-21
9
3
0
0
1
14
-3
0
0
45
-2
-2
0
0
-32
14
3
0
0
16
-2
14
0
0
-15
15
1
0
0
-4
49
-17
0
0
24
29
8
0
0
-28
33
-10
0
0
9
-41
-59
0
0
-14
-19
41
0
0
37
-39
-5
0
0
7
49
-54
0
0
-18
10
94
0
0
32
-26
-47
0
0
21
-22
-49
0
0
67
-32
32
0
0
35
-57
38
0
0
-27
73
19
0
0
-57
26
35
0
0
-33
-32
-27
0
0
-9
-6
125
0
0
-40
12
-3
0
0
-34
-75
-54
0
-6
92
-40
-82
0
0
75
40
13
0
0
-17
34
-76
0
0
1
-8
0
0
0
102
-66
-9
0
0
2
2
0
0
0
-1
0
-4
0
0
0
5
0
0
0
19
5
0
0
0
8
-32
0
0
0
-19
5
-1
0
0
1
-4
2
0
0
4
10
0
0
0
-2
-1
0
0
0
0
-17
2
0
0
-4
18
0
0
0
88
38
1
0
0
-19
71
25
0
0
44
-24
-52
0
0
22
-51
-32
0
0
-40
-5
8
0
0
11
-32
2
0
0
-58
-5
13
0
0
-39
-38
-3
0
0
-52
-21
-8
0
0
-8
-39
-35
0
0
-58
19
30
0
0
-5
-58
-61
0
0
-40
14
-2
0
0
-31
-5
-73
0
0
-30
24
58
0
0
-12
6
-93
9
3
-25
-27
-43
0
0
-15
-5
25
0
0
13
5
-22
0
0
32
-20
-29
0
0
49
8
-1
0
0
-32
-22
1
0
0
0
1
-5
0
0
3
0
0
0
0
-22
-14
-4
0
0
-23
33
-5
0
0
-21
0
0
0
0
-5
2
0
0
0
-46
8
0
0
0
-5
-2
0
0
0
-1
0
-1
0
0
4
-3
0
0
0
-8
18
1
0
0
16
-53
18
0
0
-64
5
11
0
0
-5
-10
-57
0
0
2
-17
21
0
0
-23
7
-24
0
0
-47
-13
-75
0
0
5
23
50
0
0
1
1
17
0
0
-51
36
68
0
0
60
-75
24
0
0
31
-27
-33
0
0
-12
-12
24
0
0
-37
-31
-48
0
0
4
-42
-23
0
0
52
-16
-18
-9
-2
19
5
-47
0
0
7
54
-9
0
0
-37
19
22
0
0
-57
-35
29
0
0
-43
-16
31
0
0
3
2
-22
0
0
50
-40
16
0
0
0
4
0
0
0
-43
34
13
0
0
8
24
-2
0
0
12
9
17
0
0
-3
-19
5
0
0
-7
1
24
0
0
2
-9
-1
0
0
1
1
0
0
0
-8
2
0
0
0
48
16
-53
0
0
-17
-36
1
0
0
-79
31
-24
0
0
-8
-47
-15
0
0
4
-14
-13
0
0
81
-69
-67
0
0
99
-49
-127
0
0
16
-13
-15
0
0
34
-6
-15
0
0
9
-95
22
0
0
-33
-31
-8
0
0
27
-3
-39
0
0
-5
77
-64
0
0
41
-22
-8
0
0
25
-52
16
0
0
-21
-45
8
-13
-4
99
30
109
0
0
20
8
25
0
0
-42
4
46
0
0
94
-22
31
0
0
2
-11
25
0
0
28
38
0
0
0
-4
-39
-29
0
0
0
5
4
0
0
56
-3
-18
0
0
-20
3
5
0
0
-24
-4
8
0
0
-4
-2
1
0
0
1
-16
-4
0
0
-1
-31
-4
0
0
-2
0
-2
0
0
0
3
3
0
0
18
-19
-14
0
0
-27
53
5
0
0
-51
66
-21
0
0
-4
-64
15
0
0
38
-37
31
0
0
63
-24
-42
0
0
1
-40
28
0
0
-12
66
1
0
0
-123
67
-18
0
0
-41
-54
8
0
0
-78
12
-19
0
0
15
-19
7
0
0
-31
-15
-47
0
0
16
-42
-16
0
0
-23
-1
27
0
0
6
-57
-5
11
17
-56
-29
-28
0
0
-19
52
8
0
0
11
-50
8
0
0
24
-5
-8
0
0
21
12
-7
0
0
6
-2
1
0
0
-1
0
1
0
0
2
5
0
0
0
-5
5
-2
0
0
-10
7
-1
0
0
32
-16
-1
0
0
-12
-1
0
0
0
-7
-8
-5
0
0
0
4
0
0
0
0
0
0
0
0
2
-30
-2
0
0
-2
7
-2
0
0
3
-22
-31
0
0
22
-42
53
0
0
-61
59
-4
0
0
-48
-39
-136
0
0
-57
34
-6
0
0
-70
28
-54
0
0
13
-18
-24
0
0
40
-19
-47
0
0
-2
-6
-8
0
0
31
42
-23
0
0
-17
1
-34
0
0
-23
27
-4
0
0
7
2
12
0
0
8
-92
30
0
0
-34
-11
5
2
4
-29
-32
-75
0
0
-28
3
-23
0
0
22
4
31
0
0
42
1
10
0
0
34
38
-5
0
0
0
-9
7
0
0
52
-8
-5
0
0
-3
-27
1
0
0
-48
47
-1
0
0
-2
5
5
0
0
82
4
-42
0
0
0
-61
-4
0
0
-116
14
-4
0
0
9
-5
-4
0
0
0
-6
-5
0
0
0
-1
0
0
0
-65
-13
-5
0
0
9
-5
1
0
0
-86
-4
5
0
0
27
-54
39
0
0
-22
11
-83
0
0
-8
-5
-75
0
0
27
13
9
0
0
20
-42
-37
0
0
-22
-57
29
0
0
51
-50
-6
0
0
-68
-41
46
0
0
25
-37
-115
0
0
22
18
-3
0
0
21
37
9
0
0
-6
3
9
0
0
-81
-30
-8
3
-13
-76
12
-1
0
0
54
11
-4
0
0
-16
31
12
0
0
-31
-50
7
0
0
62
-9
-11
0
0
-8
18
-1
0
0
11
8
-26
0
0
-8
8
0
0
0
59
-13
25
0
0
6
47
-5
0
0
-101
-32
7
0
0
-27
-30
33
0
0
-76
-14
17
0
0
8
2
0
0
0
0
-7
0
0
0
-1
28
12
0
0
-5
5
41
0
0
10
30
-31
0
0
35
25
-16
0
0
1
-50
47
0
0
-32
-56
-10
0
0
30
-6
2
0
0
25
13
-12
0
0
-2
-25
-57
0
0
-2
55
-78
0
0
-28
5
3
0
0
4
8
11
0
0
20
50
41
0
0
-17
16
69
0
0
24
-6
-34
0
0
-12
65
29
0
0
37
47
7
-1
-2
-5
2
32
0
0
-5
-33
31
0
0
-38
43
-14
0
0
26
-9
5
0
0
-31
-46
22
0
0
-28
5
-7
0
0
6
-70
-13
0
0
3
1
-3
0
0
-45
-31
-8
0
0
6
5
4
0
0
65
-9
2
0
0
25
24
-2
0
0
-7
13
8
0
0
1
1
-4
0
0
0
0
-1
0
0
7
-18
2
0
0
-15
-14
2
0
0
54
-11
-7
0
0
34
-18
-1
0
0
22
-21
-17
0
0
23
-46
-17
0
0
-66
53
48
0
0
-15
43
49
0
0
-15
-11
-5
0
0
-23
7
22
0
0
-38
15
-4
0
0
17
32
35
0
0
93
25
0
0
0
16
15
-17
0
0
21
22
46
0
0
16
2
-49
0
0
25
-50
31
-5
10
-11
34
9
0
0
41
-33
-1
0
0
-52
56
22
0
0
-15
26
-2
0
0
12
92
-31
0
0
1
29
0
0
0
6
3
4
0
0
0
-5
-3
0
0
4
-9
13
0
0
13
5
-8
0
0
12
3
6
0
0
8
6
9
0
0
-5
14
-12
0
0
-1
1
0
0
0
1
12
-2
0
0
-2
5
-2
0
0
-25
-41
-2
0
0
23
-19
-61
0
0
-33
-32
89
0
0
-76
69
0
0
0
22
-5
-28
0
0
-1
-7
42
0
0
-95
-42
-15
0
0
11
-9
-34
0
0
-19
79
-33
0
0
14
22
50
0
0
-20
-14
10
0
0
8
-36
-27
0
0
2
-50
-28
0
0
-30
13
29
0
0
-6
11
-93
0
0
-38
-12
6
5
-3
37
-57
-38
0
0
-14
42
-13
0
0
13
12
-13
0
0
-40
-69
23
0
0
-19
-11
5
0
0
22
2
10
0
0
35
3
-1
0
0
0
4
2
0
0
25
-70
-7
0
0
-42
50
-9
0
0
-21
1
0
0
0
-10
-37
0
0
0
52
36
-2
0
0
0
-1
0
0
0
-1
1
-2
0
0
0
-6
0
0
0
-49
5
-5
0
0
9
5
4
0
0
-5
-34
26
0
0
-60
3
-6
0
0
-27
-74
22
0
0
4
-51
21
0
0
28
-23
31
0
0
5
-13
-4
0
0
-10
-1
-59
0
0
12
41
21
0
0
44
31
-38
0
0
-25
4
20
0
0
-4
36
-27
0
0
-27
-116
13
0
0
24
-22
46
0
0
-16
-17
-81
4
16
-76
65
-68
0
0
1
45
-10
0
0
3
25
49
0
0
57
7
-8
0
0
-7
-12
35
0
0
57
8
-12
0
0
18
-10
-18
0
0
-1
-2
3
0
0
-24
-2
-71
0
0
33
-41
15
0
0
-4
-48
22
0
0
1
14
-7
0
0
17
29
54
0
0
3
-5
-3
0
0
0
8
-8
0
0
3
-3
-7
0
0
-14
-61
34
0
0
-18
1
6
0
0
27
-2
-56
0
0
12
15
-58
0
0
-138
91
62
0
0
-95
26
8
0
0
-12
-30
0
0
0
1
-49
-53
0
0
-71
-75
16
0
0
45
14
49
0
0
-38
22
-64
0
0
-20
-26
37
0
0
1
36
129
0
0
52
28
-24
0
0
7
51
-60
0
0
50
-13
124
-2
-10
0
-19
20
0
0
11
56
-14
0
0
71
0
6
0
0
33
20
-1
0
0
-36
25
-3
0
0
-11
47
14
0
0
-13
9
32
0
0
8
3
1
0
0
-108
-4
25
0
0
-26
101
14
0
0
-49
6
8
0
0
18
29
-7
0
0
-5
-21
21
0
0
-10
-1
7
0
0
0
6
-3
0
0
5
12
-4
0
0
-5
-13
-2
0
0
8
-24
-64
0
0
30
8
12
0
0
-59
-9
-6
0
0
-7
8
27
0
0
-63
45
-10
0
0
-22
-35
-50
0
0
5
-24
-6
0
0
41
-143
-29
0
0
17
18
61
0
0
-5
50
0
0
0
20
-40
-13
0
0
-8
-15
-49
0
0
70
-69
0
0
0
-34
20
-49
0
0
31
-97
75
-7
2
20
40
-53
0
0
-31
94
88
0
0
49
-13
4
0
0
-7
69
7
0
0
12
19
-19
0
0
10
23
2
0
0
-30
2
8
0
0
2
-6
-3
0
0
-2
-15
-14
0
0
17
39
-16
0
0
31
-23
2
0
0
13
-67
8
0
0
-6
8
7
0
0
-4
-12
-1
0
0
-7
2
0
0
0
7
-22
2
0
0
11
-22
5
0
0
-20
-39
39
0
0
-8
-12
24
0
0
40
-30
3
0
0
-84
22
-13
0
0
16
41
-30
0
0
21
9
27
0
0
-13
-2
-16
0
0
-15
-33
-17
0
0
7
-2
-20
0
0
17
-1
-14
0
0
-10
-15
-59
0
0
52
-29
-8
0
0
-61
-43
-24
0
0
-16
-84
5
0
0
7
19
-27
-25
-5
-93
-56
-20
0
0
11
-13
77
0
0
16
3
-14
0
0
-44
9
-26
0
0
-10
-55
22
0
0
-4
-51
16
0
0
-41
16
58
0
0
32
53
-4
0
0
-33
33
7
0
0
42
71
7
0
0
41
25
20
0
0
37
30
-67
0
0
14
-83
-16
0
0
49
-52
2
0
0
-10
31
0
0
0
-24
-30
-15
0
0
-70
-8
16
0
0
9
-34
71
0
0
20
60
-61
0
0
-66
30
27
0
0
-11
-24
-30
0
0
-64
-49
-22
0
0
-44
-135
-102
0
0
12
15
-71
0
0
-4
-56
80
0
0
15
52
-6
0
0
-29
-42
42
0
0
-62
-20
-25
0
0
-13
-61
-24
0
0
-33
15
-37
0
0
-75
-12
-3
0
0
-5
-20
-23
-26
3
-5
-123
27
0
14
-8
4
7
0
3
16
-6
4
0
-36
15
45
80
0
64
53
-41
29
0
74
4
62
-50
0
27
-6
21
11
0
57
-14
99
5
0
-8
18
-44
-9
0
97
-31
59
-128
0
67
86
66
54
0
33
-88
-60
64
0
-30
-24
-3
24
0
-2
78
25
-26
0
3
86
-12
-48
0
11
2
-19
91
0
-6
-7
33
-34
0
-2
1
86
56
0
53
-6
-3
40
0
41
10
-64
0
0
-54
45
17
9
0
23
76
36
13
0
-1
3
14
2
0
0
-29
-2
-6
0
-9
0
-70
1
0
-19
68
63
31
0
6
66
38
29
0
0
-3
23
10
0
4
5
-1
30
0
52
55
4
-8
0
9
35
-45
9
0
12
4
-4
75
12
-75
-43
105
-51
0
-28
45
52
32
0
1
-3
14
18
0
144
-5
74
13
0
41
26
28
-13
0
-3
-13
20
-20
0
-20
55
-84
9
0
-10
22
-31
-13
0
37
-28
13
67
0
24
-12
45
84
0
34
34
14
-32
0
-4
31
-43
-26
0
10
31
17
-5
0
32
11
-22
-5
0
-13
20
42
39
0
17
42
4
9
0
23
28
18
-21
0
4
12
-21
5
0
30
67
30
-23
0
-25
31
-42
-4
0
22
-24
3
-42
0
-1
0
-11
19
0
-2
-11
-1
44
0
0
4
31
0
0
9
44
56
39
0
3
19
-16
-18
0
14
18
33
-49
0
1
11
-94
2
0
-6
34
26
-24
0
31
-23
-56
-2
0
-5
-1
-9
70
0
-26
-66
59
-5
-3
-48
-31
10
-16
0
35
21
32
104
0
-2
97
-17
0
0
45
28
-17
-27
0
7
30
-8
-25
0
-3
7
7
-15
0
-6
43
4
16
0
28
0
-13
34
0
5
-18
-21
4
0
-6
54
24
22
0
4
-16
-26
19
0
9
-21
8
-86
0
-41
-16
59
-32
0
7
-4
43
-1
0
4
34
25
-16
0
-71
-77
51
42
0
-13
-27
20
-37
0
-17
31
19
-1
0
-4
40
-16
2
0
-59
13
0
3
0
-6
-37
-18
-5
0
-2
6
39
-18
0
-4
7
-29
-13
0
6
0
20
-4
0
1
-31
-19
8
0
27
2
-42
4
0
-18
30
-13
-3
0
-2
2
31
5
0
49
-54
-11
0
0
18
7
129
-80
0
2
-3
18
47
0
65
21
39
-4
-10
-18
3
7
-42
0
-16
12
71
50
0
0
-17
-38
4
0
56
12
-20
-13
0
44
50
-17
41
0
28
53
-54
24
0
73
-4
44
27
0
59
29
61
14
0
-11
-59
22
-20
0
-51
73
18
45
0
4
-94
22
-31
0
-123
87
64
-47
0
-15
41
-19
5
0
-7
-24
-25
53
0
42
-84
26
-18
0
4
26
2
31
0
43
-32
10
-43
0
42
-84
-9
7
0
-3
-16
34
14
0
9
-42
80
-4
0
-1
-14
4
-19
0
0
2
26
0
0
3
13
-49
-5
0
2
-30
-29
-4
0
-26
25
34
24
0
-18
-18
21
5
0
18
-46
-19
-12
0
-4
-55
43
-29
0
-18
16
2
-10
0
-20
-42
-23
-37
0
-21
27
-3
2
0
13
12
7
22
-18
-52
-41
25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
89
3
0
-38
4
51
30
0
3
-48
-17
-24
0
-26
2
-18
-5
0
92
-37
-50
-3
0
-98
7
13
102
0
8
6
-13
3
0
-33
35
-91
-38
0
23
53
67
12
0
8
-17
14
26
0
51
-23
1
-26
0
86
42
56
-66
0
70
29
44
-10
0
-21
6
12
6
0
0
5
-3
3
0
-11
-1
-30
-5
0
46
84
7
-10
0
-25
29
25
11
0
-12
14
18
-5
0
-37
-2
-5
-8
0
91
10
-59
2
0
-24
6
83
-10
0
7
-3
13
3
0
71
-6
-13
3
0
25
-12
34
12
0
18
71
5
90
0
6
-18
15
41
0
8
-71
-22
1
0
13
19
13
25
0
-19
84
-13
37
0
-79
12
5
-8
10
-66
-109
23
-62
0
15
-1
37
49
0
95
107
-39
-44
0
-68
41
-16
7
0
-19
-9
-13
30
0
60
-64
73
-21
0
-46
-26
22
86
0
7
-48
6
-4
0
-83
-23
-9
-3
0
-45
65
34
-32
0
15
-28
67
31
0
-41
63
-99
12
0
-14
5
-30
18
0
10
18
-3
4
0
10
53
76
41
0
0
-31
-8
3
0
-48
43
21
-19
0
17
34
-17
-7
0
61
27
13
13
0
20
10
-25
0
0
8
48
54
-18
0
10
51
32
1
0
-5
-46
33
-2
0
0
-7
-6
-3
0
-29
22
28
5
0
-22
-3
16
-15
0
-1
25
-123
16
0
4
-64
27
8
0
5
21
13
-13
0
66
-58
90
-75
0
57
-66
-2
-9
0
8
-14
-88
-13
31
-23
3
-10
-62
0
10
-24
43
-6
0
-102
-30
-32
77
0
-2
27
23
18
0
-31
-39
-4
-25
0
75
-35
15
3
0
-8
-19
72
-6
0
6
-4
-12
-7
0
57
-51
-41
-13
0
-3
50
6
-8
0
91
22
-33
-67
0
5
-44
17
-4
0
-21
-40
4
12
0
-3
41
42
-13
0
-13
3
11
-7
0
-1
16
-22
1
0
-65
13
-18
7
0
-10
-55
1
5
0
27
-32
41
1
0
5
2
-20
2
0
-13
-31
-12
-5
0
27
-1
-9
0
0
-12
-7
-50
0
0
-1
24
-13
0
0
-13
-6
9
2
0
41
13
41
1
0
-48
25
-13
41
0
-7
-24
26
-42
0
20
97
-12
1
0
-5
-36
-47
-15
0
7
34
24
-2
0
8
22
-41
3
-4
-48
87
13
0
0
40
-23
-2
4
0
34
38
102
-51
0
-12
3
-1
2
0
-5
8
-22
10
0
22
-22
15
10
0
16
40
-22
8
0
-13
-50
44
2
0
26
-39
-27
-64
0
4
-5
43
-49
0
-36
-13
7
36
0
22
112
-41
-23
0
8
-2
-43
-31
0
-17
20
26
8
0
-4
-69
18
-18
0
-4
42
-37
-14
0
16
-49
36
23
0
-46
11
-31
7
0
-33
-10
-40
14
0
6
-77
48
0
0
-15
50
-31
14
0
-2
-12
-7
0
0
0
3
22
0
0
6
-5
2
1
0
1
35
-47
0
0
-45
-9
37
-4
0
-2
-30
8
-13
0
-25
13
-1
-13
0
-23
49
-4
-25
0
1
46
-55
10
0
-23
-14
-6
13
0
-5
-3
-71
1
-39
-26
54
-9
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
28
5
-41
0
18
-55
2
-5
0
26
-45
37
15
0
38
27
-19
7
0
-2
58
-42
13
0
-11
-1
-5
8
0
24
3
15
-4
0
-16
26
-16
5
0
12
57
38
-10
0
1
22
-19
62
0
-45
34
-50
-25
0
8
-4
45
24
0
10
-12
3
39
0
10
78
-43
1
0
-13
24
10
10
0
1
6
6
-57
0
11
12
14
-1
0
-2
28
-3
-46
0
-22
-31
-10
17
0
-37
0
35
-13
0
31
5
22
42
0
-122
7
-89
-3
0
4
3
-16
-83
0
-63
-97
15
36
0
-13
51
39
73
0
-16
28
28
-43
0
4
10
0
-27
0
-54
49
35
-13
0
49
-40
65
-19
0
-7
-15
-28
-46
0
3
53
-44
36
11
-86
-9
4
55
0
-39
42
38
30
0
-43
50
13
-55
0
17
-6
-31
6
0
-43
16
5
44
0
-23
-41
-20
22
0
-15
62
-9
-16
0
-9
44
-10
-10
0
3
-1
16
-22
0
-6
-14
8
48
0
-28
19
68
14
0
21
-7
15
5
0
108
66
-70
31
0
-3
23
-17
10
0
15
-21
48
-17
0
-8
1
38
41
0
-21
48
30
-24
0
-3
30
-1
-11
0
5
-10
-15
18
0
27
49
1
3
0
-19
-49
-10
43
0
-26
-16
-1
-31
0
-43
-23
-14
-97
0
-28
-39
-18
82
0
-72
29
-42
-23
0
102
-19
49
-28
0
23
4
-55
104
0
-42
-42
-8
38
0
-91
33
52
-31
0
-18
56
-26
-25
0
31
6
-64
13
0
-50
-96
-106
27
-1
-29
21
64
-75
0
62
-51
27
1
0
44
-42
9
-28
0
-11
41
21
7
0
16
-41
7
29
0
-50
-5
-2
10
0
-5
-4
-8
-2
0
-7
-6
4
0
0
22
-30
-18
-12
0
9
73
-15
-10
0
-26
34
-2
-12
0
-9
-50
-39
18
0
-6
-21
49
-2
0
5
-14
-2
-2
0
0
-52
31
-1
0
-10
-14
-25
-2
0
33
6
3
-7
0
-39
14
70
-24
0
7
-31
-32
16
0
-17
30
32
-29
0
-11
-9
6
-41
0
-25
-15
-18
-8
0
6
-30
-37
-4
0
-44
74
-70
-52
0
-36
-115
-31
1
0
49
34
-43
38
0
13
-17
-8
-3
0
-30
3
-15
-54
0
-4
5
-24
-40
0
-25
-58
84
-13
0
10
-26
-3
-7
0
44
-10
-14
14
-5
74
-88
-121
8
0
-72
26
35
-41
0
23
6
4
-42
0
-32
12
31
1
0
-67
109
-23
44
0
59
-4
14
0
0
-15
-24
53
-16
0
12
-21
-8
-1
0
-92
43
-17
9
0
-68
12
7
43
0
-14
21
-23
-6
0
43
-29
-26
24
0
34
-110
115
-44
0
0
5
-8
-6
0
-13
24
-74
2
0
-8
9
8
-10
0
25
4
-84
62
0
-42
48
-43
44
0
-56
-30
11
-54
0
23
-28
-81
-3
0
-10
-15
-8
-23
0
-42
-14
30
21
0
66
39
-25
-8
0
31
-96
5
-94
0
18
4
8
-121
0
-39
-85
-10
-26
0
-2
-42
-24
81
0
71
-4
-50
-5
0
-32
5
5
13
0
5
-95
-22
52
0
-31
-16
-69
11
0
5
-30
-25
22
-11
30
-1
23
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
35
59
59
0
33
3
-1
-22
0
-44
32
-13
29
0
21
26
3
-2
0
-37
14
5
-13
0
-11
1
-23
-25
0
93
4
-20
1
0
39
-58
32
-4
0
79
53
-80
-21
0
-31
40
-6
53
0
-5
34
91
-22
0
-5
-23
4
2
0
69
28
32
24
0
62
8
59
-24
0
32
-95
-22
22
0
-19
41
-10
-13
0
6
35
46
13
0
17
13
-23
-11
0
24
-102
-5
29
0
10
-21
4
-68
0
-63
33
23
13
0
-21
97
-41
-86
0
-34
-20
-14
5
0
-23
-97
19
76
0
10
16
5
15
0
-8
-6
6
4
0
-26
-6
-15
12
0
-87
11
-1
39
0
5
24
-8
22
0
-67
76
-36
32
0
-52
-13
27
5
1
-39
36
-41
-88
0
28
-27
70
8
0
25
14
-60
22
0
-49
41
-18
-1
0
-11
-23
-24
-20
0
-52
-41
4
-12
0
21
3
31
5
0
13
-14
8
3
0
-11
34
8
0
0
38
24
1
6
0
24
9
-11
-4
0
-8
13
-25
7
0
-29
55
37
-25
0
-70
6
-67
-14
0
9
50
21
-24
0
-23
37
-74
2
0
-53
20
-97
68
0
-1
38
51
66
0
20
14
-42
18
0
123
-132
27
13
0
-94
-58
17
6
0
74
43
8
24
0
82
12
-34
55
0
53
31
50
18
0
-125
25
-31
-15
0
-42
18
17
-16
0
25
-11
1
45
0
-41
17
5
63
0
-30
-67
15
-14
0
12
-13
0
-112
0
0
-9
24
-49
0
40
-1
-27
-23
11
-23
-6
-27
40
0
45
16
14
13
0
20
-123
5
-2
0
-18
24
3
-1
0
38
-71
-12
-7
0
5
28
-27
0
0
9
1
35
0
0
33
-3
8
0
0
-2
11
2
2
0
46
-9
-2
0
0
-26
-31
5
8
0
20
-31
-13
3
0
13
-25
-10
-5
0
20
-5
24
-14
0
-45
7
28
-3
0
-19
-13
16
1
0
-92
81
-68
-9
0
-60
42
-106
27
0
-60
-50
-31
4
0
7
12
-67
-54
0
44
14
-28
-37
0
-75
-26
2
-34
0
-10
-56
-1
-69
0
-23
-46
84
-25
0
4
64
-39
2
0
2
-56
46
38
0
-65
-33
17
-21
0
49
76
24
-54
0
-22
-25
-20
39
0
3
19
4
9
0
45
-48
-46
-34
0
2
120
-46
-59
1
4
-35
-38
-2
0
-47
17
-8
1
0
-22
-53
71
23
0
-8
-1
-21
-4
0
49
-47
-5
-16
0
-49
-8
1
0
0
15
-47
10
2
0
-20
-31
-3
-3
0
-14
28
28
0
0
6
-10
-42
3
0
22
5
-41
2
0
-3
13
-53
-2
0
-19
31
30
-19
0
-16
58
-3
0
0
-14
-24
-10
-1
0
-24
13
-8
-1
0
-30
-10
-6
6
0
-49
-22
-65
-45
0
42
-61
13
-17
0
-124
10
35
-28
0
-33
-57
-1
50
0
-59
-36
23
-49
0
34
-66
5
-11
0
51
-15
-7
34
0
-22
-3
-2
-82
0
3
-16
-25
3
0
24
-46
-38
19
0
17
35
-41
-8
0
-52
5
26
-33
0
-33
-46
-19
-4
0
40
21
28
-57
0
66
-6
45
-50
-19
-41
-7
56
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
34
4
-44
0
21
65
-46
10
0
70
41
18
18
0
-6
-17
7
-4
0
11
71
-7
36
0
49
0
102
16
0
-10
-18
-1
32
0
27
20
-18
-51
0
-17
54
-58
-48
0
46
58
68
35
0
8
21
24
48
0
4
54
41
29
0
35
-26
54
33
0
0
-2
49
-56
0
4
-44
-21
32
0
85
4
3
-24
0
21
-2
-3
-7
0
5
-22
31
15
0
6
17
-22
8
0
41
6
7
8
0
-30
9
86
-2
0
4
17
-17
-1
0
0
5
-24
5
0
7
17
41
-8
0
-41
28
26
8
0
4
-29
-9
8
0
3
-54
9
10
0
-2
37
8
13
0
-30
82
50
-32
0
1
-31
9
95
0
-48
-70
56
81
14
48
32
-14
20
0
59
12
17
24
0
-11
-29
28
28
0
104
32
78
-9
0
77
5
-41
-23
0
13
1
-16
-6
0
-8
18
22
35
0
-58
56
22
20
0
45
137
-37
25
0
11
74
35
0
0
52
95
-5
-2
0
-31
59
18
7
0
31
10
41
136
0
16
18
0
61
0
-4
0
22
25
0
-12
55
8
-6
0
23
-13
27
2
0
93
-13
43
-1
0
19
-74
0
7
0
5
-5
1
-7
0
-43
71
16
4
0
0
-9
31
8
0
2
-1
86
9
0
1
-14
12
-6
0
0
-28
22
-15
0
-7
-11
40
-5
0
-13
-29
5
27
0
1
-49
68
-1
0
-13
-50
-13
10
0
93
-3
32
-10
0
49
-34
-13
60
0
-15
51
-33
-34
24
-123
80
50
-23
0
-13
53
-37
13
0
46
13
-14
-46
0
18
8
54
22
0
45
105
15
-64
0
-34
70
-14
-23
0
27
-13
-3
17
0
-4
-66
-20
13
0
82
83
-24
-19
0
-9
-7
-1
-47
0
10
-20
46
-3
0
-2
-7
71
38
0
-17
49
44
-7
0
3
70
8
8
0
-1
-7
-27
-13
0
8
-57
-75
25
0
-76
31
7
5
0
-24
-11
13
20
0
13
17
-4
-13
0
0
-16
-41
0
0
-13
3
1
-7
0
-5
13
25
-4
0
0
-9
-8
-3
0
3
8
57
-3
0
1
-27
-3
4
0
12
-53
-40
13
0
8
-17
5
4
0
-2
-63
30
-30
0
16
30
-5
1
0
49
-13
-25
13
0
1
41
-16
1
0
13
5
49
29
8
-65
-23
-18
13
0
90
-24
-23
94
0
-5
78
76
-51
0
30
-21
9
-42
0
0
11
-4
27
0
-31
-54
25
5
0
-25
-60
8
39
0
-3
46
22
-30
0
33
-13
6
2
0
-67
39
-26
-9
0
75
29
-31
5
0
0
49
18
-22
0
23
-8
17
-12
0
-6
64
-49
-4
0
10
9
12
18
0
0
-9
-2
-16
0
29
78
42
42
0
-3
2
41
6
0
-21
3
-32
-10
0
-3
-19
-25
0
0
5
50
-46
8
0
0
-21
17
2
0
0
4
-28
-2
0
9
-1
3
-3
0
-2
25
36
-3
0
-6
-7
-11
-5
0
-21
23
-18
2
0
0
-4
44
-20
0
-31
-71
75
25
0
9
-24
8
-14
0
-8
57
-64
-16
0
57
41
-33
44
-24
-114
-15
67
40
0
52
-55
-27
4
0
16
-24
46
59
0
26
30
10
10
0
-23
72
29
-9
0
10
27
0
3
0
2
-16
47
66
0
76
-30
5
6
0
70
-41
69
39
0
44
37
10
3
0
9
-6
-43
28
0
14
-57
13
2
0
43
-16
-18
0
0
-18
84
45
1
0
0
8
-48
27
0
2
-41
-7
-1
0
-60
5
4
24
0
-51
-9
-23
31
0
58
66
-28
-27
0
-1
-3
5
2
0
-18
13
-2
-6
0
15
1
10
1
0
1
0
5
-2
0
0
0
-1
0
0
1
-7
5
0
0
-8
-27
75
2
0
-5
5
1
-2
0
0
6
-14
0
0
0
-1
10
0
0
-50
46
20
-13
0
1
10
23
-5
0
18
6
-27
0
2
25
-12
27
0
0
-13
40
0
40
0
-8
118
-54
19
0
34
4
-26
49
0
86
-13
20
-43
0
-58
-20
-12
-20
0
17
38
-32
13
0
33
-59
-32
16
0
-2
0
-5
-5
0
-2
-49
49
27
0
-19
8
-5
22
0
7
12
4
-3
0
-61
13
31
0
0
-16
41
43
-15
0
12
36
41
-9
0
-3
8
-29
-6
0
8
15
32
-3
0
-10
-18
-11
-8
0
58
-49
26
32
0
-13
-2
8
1
0
42
0
-25
-6
0
4
-4
-21
0
0
-6
2
40
3
0
0
0
-4
0
0
-7
6
1
1
0
0
-3
-20
13
0
12
-13
53
-29
0
0
-1
-33
0
0
-2
0
-7
-2
0
30
-16
-94
0
0
-13
15
9
16
0
-13
6
7
0
16
0
-12
-48
-1
0
92
38
41
-19
0
1
20
19
-44
0
-66
50
21
23
0
-35
29
110
-14
0
59
-6
-47
-1
0
-26
31
2
-21
0
-41
7
8
0
0
10
-106
-8
5
0
-39
71
17
-2
0
-14
10
-8
1
0
21
4
-35
2
0
-6
-20
-5
1
0
2
-14
5
-7
0
0
1
-24
-1
0
3
-8
13
-2
0
-5
0
3
-8
0
-4
16
31
-2
0
0
-49
17
-1
0
0
-1
-3
0
0
7
-2
-3
0
0
1
-2
13
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
8
3
-1
0
0
13
-23
2
0
0
1
3
-1
0
-8
0
0
3
0
0
-5
-37
1
0
0
7
-7
3
0
-3
3
-16
-2
42
-17
-23
2
-1
0
14
11
101
62
0
12
-7
13
-12
0
35
-66
-34
44
0
23
-41
-9
16
0
93
41
-46
-8
0
-58
36
75
-2
0
-21
-16
69
0
0
55
-26
-43
-8
0
-41
50
-16
22
0
-26
-60
8
-49
0
-14
3
12
16
0
-18
-29
2
-13
0
-2
10
-7
0
0
18
31
15
-17
0
-4
12
14
-7
0
-48
14
-67
-1
0
11
38
-61
25
0
94
-10
22
-34
0
-3
8
43
9
0
37
24
53
-8
0
3
6
-17
6
0
-1
-22
-8
8
0
0
2
0
0
0
-5
49
7
2
0
-8
-37
8
-3
0
-4
-1
-3
1
0
0
1
14
0
0
6
-7
-1
-12
0
2
-17
52
0
0
-5
-35
9
12
0
-7
-50
35
0
-18
9
7
21
4
0
-50
101
30
41
0
62
-10
26
65
0
57
-13
22
31
0
57
57
-10
43
0
-31
-38
-4
44
0
15
-67
5
20
0
52
21
5
-15
0
-98
30
19
0
0
3
-5
5
44
0
10
-24
8
-13
0
-3
7
-47
-21
0
-52
133
9
-35
0
-46
21
47
28
0
-1
63
148
-2
0
16
68
-32
-17
0
-2
50
-30
-9
0
-33
-8
7
-2
0
14
-5
32
-49
0
8
-6
-23
0
0
6
3
1
0
0
-3
-27
9
5
0
0
4
-4
-1
0
0
2
1
-2
0
1
-41
-2
0
0
28
24
29
-2
0
-14
43
65
-14
0
0
3
-25
0
0
-8
-8
54
-3
0
-16
14
-46
-27
0
0
36
54
-10
0
-34
28
-28
6
19
18
-63
-29
21
0
31
-44
-65
84
0
-26
20
31
63
0
-2
34
-65
2
0
33
-10
34
0
0
43
15
-10
5
0
-27
-4
33
-46
0
-43
8
17
0
0
46
47
14
6
0
-17
25
106
20
0
8
-37
22
7
0
69
-3
-101
-23
0
-1
-21
-8
-6
0
53
13
-42
-4
0
-48
83
16
-13
0
-31
19
-11
-5
0
50
-38
-33
9
0
10
-7
29
1
0
-2
-35
18
-7
0
1
8
-4
0
0
-22
14
-4
-1
0
2
-6
9
2
0
0
4
14
-13
0
0
-1
1
0
0
15
4
0
0
0
-9
42
76
-4
0
9
-26
-18
19
0
0
-23
8
-1
0
-34
18
-4
9
0
-7
50
7
-14
0
42
-8
-17
-6
0
0
-41
23
1
2
3
38
-35
-30
0
31
7
-1
12
0
8
14
19
49
0
5
13
0
-2
0
7
8
-1
-10
0
-22
24
-5
8
0
-27
1
-8
-2
0
64
-10
-17
0
0
23
-10
-9
6
0
56
4
43
31
0
-2
7
-28
44
0
-13
4
25
-16
0
51
76
23
-15
0
-1
19
-25
-1
0
0
13
-13
8
0
-16
1
59
31
0
-7
26
25
-8
0
38
22
-5
2
0
-34
-2
1
-1
0
-6
9
0
2
0
-13
-1
3
-3
0
-1
0
2
0
0
-2
0
-2
0
0
0
-1
0
-1
0
0
0
-2
0
0
1
-3
6
-4
0
-9
3
3
-3
0
-1
-9
1
4
0
-30
-3
-1
3
0
2
14
10
-7
0
-7
-11
32
-9
0
42
-30
0
-12
13
-31
27
-6
-31
0
-12
14
39
-22
0
-16
-23
18
-30
0
-60
9
23
44
0
-5
-23
-12
-11
0
16
-48
41
-7
0
-7
-31
18
1
0
47
3
13
1
0
61
-22
49
-2
0
4
-6
-3
-35
0
42
19
29
-21
0
74
-33
-32
-5
0
50
19
-21
-31
0
-13
27
-4
2
0
25
19
-31
8
0
5
39
-30
-1
0
-31
8
-12
-12
0
-14
-39
8
3
0
-13
4
0
-7
0
0
-24
-5
0
0
-116
2
21
-2
0
-7
-2
-1
0
0
1
2
-2
0
0
0
0
0
0
0
-2
42
-2
0
0
-3
31
3
3
0
15
1
-5
-5
0
1
5
-3
0
0
8
5
-12
5
0
6
-49
17
0
0
-5
-42
7
-5
0
-31
-15
-10
0
0
-5
46
-31
-42
0
-20
17
21
39
0
-13
13
-59
-6
0
-20
-5
26
-3
0
21
4
-44
13
0
8
-3
-32
-8
0
26
7
20
-4
0
25
-6
33
0
0
54
-47
8
4
0
-40
64
21
7
0
-76
61
8
7
0
-6
43
34
-1
0
-54
18
-6
0
0
35
23
-16
0
0
6
-21
-15
0
0
-2
-28
-2
2
0
0
11
33
0
0
-62
34
23
13
0
84
38
-78
-5
0
-3
-7
30
-1
0
1
3
1
1
0
-4
27
-13
4
0
0
-1
0
0
0
-2
2
1
1
0
0
-41
-2
0
0
-7
11
57
-7
0
0
5
-13
0
0
0
2
-2
0
0
-3
-8
1
0
0
4
-36
-32
-12
0
1
18
-1
10
0
-5
-3
-3
-1
19
-24
-8
-3
0
0
-8
39
87
-8
0
-40
32
41
3
0
-40
-5
48
-7
0
-39
-12
-5
37
0
-21
-2
26
3
0
70
-64
-76
12
0
52
-4
-13
0
0
-19
-53
7
6
0
-11
-22
25
-41
0
4
20
72
-35
0
24
-3
-55
6
0
-56
-4
-31
-8
0
16
-44
22
-2
0
-9
-48
-5
-7
0
0
-8
-14
1
0
-41
-13
-9
5
0
22
21
49
-13
0
47
-43
-4
14
0
2
0
-2
0
0
-33
-14
-17
6
0
10
-5
5
0
0
1
-8
-37
-4
0
0
5
0
0
0
0
0
-2
1
0
-1
32
-31
5
0
-5
18
-13
-1
0
0
5
-4
-6
0
4
2
3
0
0
4
20
-3
0
0
4
12
7
4
0
0
5
0
2
-10
15
4
-8
-8
0
8
35
111
13
0
-53
71
51
-8
0
-4
61
9
28
0
57
-17
20
2
0
-65
1
98
22
0
-6
7
0
-4
0
17
6
-37
-1
0
-56
28
-8
0
0
-15
-4
52
19
0
-1
-36
50
-15
0
5
-67
30
-2
0
-19
-1
14
-6
0
-3
25
-48
0
0
0
-7
35
0
0
0
-18
16
2
0
-40
0
20
0
0
68
77
-49
10
0
6
-5
-21
-22
0
-16
-12
-22
3
0
48
-2
2
-5
0
0
0
-1
-1
0
0
0
-23
1
0
2
0
-1
0
0
0
0
5
0
0
-8
-19
19
-15
0
-1
1
-13
-2
0
0
1
-31
-1
0
5
1
0
3
0
4
-17
-22
-6
0
0
0
-4
0
0
-5
-13
5
0
-21
42
-44
3
5
0
5
20
34
21
0
25
-9
35
2
0
-21
14
30
9
0
-58
-14
33
17
0
-13
-40
6
43
0
5
49
-31
-15
0
-14
8
-29
0
0
27
-10
22
3
0
63
25
-15
-5
0
18
-55
-31
43
0
-18
66
-90
6
0
57
-75
-61
8
0
0
-17
-8
2
0
-16
-47
-30
0
0
-4
13
-7
0
0
14
20
-3
-17
0
30
25
-38
13
0
-56
57
10
-12
0
-6
20
38
-10
0
-63
-43
7
-8
0
8
16
27
4
0
-6
-21
39
-3
0
0
-7
7
0
0
-19
25
-41
2
0
-4
52
-45
-13
0
12
-31
-45
19
0
1
25
0
1
0
27
-24
6
-8
0
0
41
-43
-5
0
3
1
2
1
0
2
8
-10
-1
13
-33
-5
-13
13
0
-30
12
3
61
0
106
-105
-31
-19
0
-5
13
1
-19
0
85
-29
-17
0
0
31
0
26
1
0
-9
33
-31
-16
0
22
-31
-7
1
0
25
24
24
23
0
49
19
-8
0
0
-6
32
-5
1
0
2
13
-16
0
0
1
-9
-7
7
0
-14
-29
-1
19
0
4
-8
54
6
0
-22
10
-30
27
0
-41
-21
76
31
0
12
36
-26
-10
0
25
8
17
30
0
-25
42
-21
-4
0
-9
-28
0
-31
0
-11
8
-51
5
0
-30
45
20
-24
0
14
-1
60
13
0
-27
41
71
-48
0
22
-48
31
-99
0
2
62
-45
56
0
47
61
45
-16
0
30
45
-41
2
0
41
-36
6
-38
0
-13
2
-15
36
0
20
-36
14
-46
20
-99
28
22
5
0
23
6
9
2
0
74
-43
0
23
0
-10
-17
-21
-4
0
19
55
-16
27
0
70
-5
-4
-5
0
-33
35
-82
8
0
2
-21
9
1
0
-19
22
39
-29
0
0
-2
-3
3
0
9
62
76
-15
0
0
-5
5
1
0
21
-12
16
-17
0
-32
-6
5
1
0
1
49
2
4
0
16
-30
43
5
0
-97
-40
-9
51
0
-11
17
66
-56
0
6
40
-50
26
0
-64
5
44
-23
0
-26
-4
-17
-94
0
-36
-33
14
38
0
13
-1
-36
18
0
33
-1
-13
-54
0
52
-22
-53
-85
0
-1
-40
37
-20
0
59
31
39
-54
0
-10
38
-57
-40
0
53
-21
40
5
0
4
-17
15
40
0
1
59
-28
-10
0
-14
-69
19
32
9
-88
-14
11
32
0
-28
-56
46
0
0
16
14
-13
1
0
19
82
-67
-2
0
3
-8
-4
19
0
7
7
-7
12
0
27
-2
15
-17
0
-34
-4
6
-1
0
0
-22
-45
-15
0
35
-22
3
2
0
0
3
-7
0
0
-1
-16
5
4
0
4
1
3
0
0
4
15
2
0
0
5
-9
29
-3
0
28
-1
-16
1
0
-9
-10
-23
0
0
3
10
-53
-19
0
3
-37
47
-25
0
2
-34
-52
-48
0
-17
-131
52
-30
0
-30
5
-8
46
0
47
-30
-36
4
0
55
-82
-27
43
0
-20
-6
8
-39
0
23
68
-46
-36
0
31
21
61
27
0
6
-2
-46
-21
0
-120
44
-57
19
0
-24
-3
-30
28
0
2
-13
38
-13
0
-45
-5
-1
-10
-3
23
66
77
-14
0
44
-26
64
2
0
-57
-17
42
1
0
-29
27
-15
-5
0
24
20
-16
-6
0
-16
-24
74
2
0
-31
-42
42
8
0
-2
23
-23
4
0
-76
-3
-13
-19
0
3
5
3
4
0
7
13
1
-6
0
0
-1
-2
0
0
9
68
2
-21
0
-6
-5
10
-1
0
5
14
-7
0
0
1
-17
-8
4
0
28
72
-51
12
0
-9
-87
-40
-36
0
-39
21
16
-25
0
34
-6
-75
-30
0
-19
-40
-29
-41
0
-105
-8
-9
1
0
23
-51
-18
-66
0
-60
43
-13
-62
0
-5
8
-3
-31
0
102
1
0
15
0
20
-74
1
-59
0
-7
-2
-4
56
0
-94
-13
-17
78
0
-24
-108
30
8
0
8
-20
-40
28
0
18
-1
-116
-34
-26
47
6
41
-19
0
-43
47
15
-31
0
47
-43
-17
-5
0
42
27
-29
0
0
-20
18
-41
9
0
24
-39
20
-2
0
52
0
13
13
0
1
3
-2
0
0
-23
-36
-27
-3
0
8
-2
-34
-1
0
0
21
1
5
0
0
42
2
0
0
19
-8
5
-2
0
22
-27
-3
-2
0
-2
5
2
-4
0
-2
-15
-1
0
0
-13
-29
1
-1
0
1
15
5
-35
0
-57
31
22
-15
0
50
27
-71
8
0
4
-26
18
12
0
42
-14
38
-31
0
-76
-70
25
44
0
66
22
-39
20
0
10
-13
-48
-13
0
104
40
51
12
0
-50
31
-85
21
0
0
8
21
5
0
-5
8
-17
-3
0
-34
22
38
35
0
4
-20
12
-26
0
-81
67
6
-41
0
-39
-2
-10
-17
0
26
12
2
8
0
-58
52
5
-2
0
24
49
4
7
0
1
20
5
6
0
-26
-2
31
0
0
21
-20
-9
-1
0
-6
-8
0
1
0
-29
0
9
2
0
5
17
-6
5
0
6
-4
-2
7
0
0
-7
0
0
0
-2
-2
4
-5
0
1
28
8
0
0
7
-31
-8
5
0
6
17
3
0
0
24
31
7
-30
0
-12
59
24
22
0
-20
-68
-13
53
0
17
24
-70
42
0
-48
58
-44
80
0
29
-16
-45
-52
0
-19
7
-19
-14
0
8
-28
-13
-47
0
79
-78
-49
-1
0
-7
32
61
-14
0
6
13
-31
3
0
0
-9
22
-4
0
-4
-56
31
-14
0
19
-53
76
-7
0
-37
70
-42
-91
0
-24
-51
-29
-1
-21
50
13
-10
33
0
17
34
54
4
0
24
12
3
8
0
23
-8
-8
-2
0
-9
24
-49
4
0
2
15
-4
0
0
-2
1
-9
0
0
-2
0
1
2
0
-23
-4
-3
3
0
8
-13
2
-10
0
0
4
2
0
0
0
5
3
3
0
-5
1
-2
0
0
-3
1
1
0
0
0
2
0
0
0
5
-1
5
0
0
-10
-2
1
-1
0
-5
-33
13
53
0
-47
-34
4
-2
0
-68
-1
-37
21
0
24
-54
-41
-11
0
40
-53
-92
0
0
-51
-79
4
5
0
-22
-29
29
-75
0
60
-49
-28
0
0
-21
-16
-2
-22
0
-1
5
23
-4
0
-6
-24
1
-24
0
2
2
21
-2
0
3
29
-40
-45
0
-3
22
-52
-2
0
35
26
-43
24
-39
-66
-5
14
-21
0
0
-2
37
8
0
4
-11
12
2
0
6
45
-10
-6
0
-72
29
3
3
0
41
-66
-21
2
0
-22
10
27
-3
0
1
-2
9
0
0
-42
49
-8
-4
0
-2
-5
-6
-1
0
-6
-2
-8
0
0
0
0
0
0
0
-2
1
3
1
0
0
2
-16
0
0
0
9
-2
0
0
0
-1
-1
0
0
8
-15
18
1
0
-28
-14
21
-49
0
-65
-22
15
-8
0
-34
-53
14
-6
0
-79
-125
43
-26
0
45
-29
-6
-6
0
-9
-21
-38
-50
0
5
-12
-65
-45
0
-59
6
-26
30
0
1
-64
-70
46
0
8
-42
-19
5
0
3
15
-44
-25
0
-27
37
-13
-9
0
-3
-72
-35
-27
0
0
-10
-22
-5
0
41
8
44
-7
2
6
-27
-65
-37
0
11
23
-12
3
0
-20
20
69
4
0
-5
13
19
47
0
-23
7
39
16
0
-44
30
-18
-20
0
-1
-2
9
-5
0
10
-8
-2
0
0
10
71
0
8
0
-66
1
-63
9
0
-13
-17
-30
13
0
-23
3
-47
8
0
-21
-16
75
-12
0
12
4
31
-21
0
-2
12
31
-2
0
-14
42
-19
14
0
-48
16
30
5
0
19
53
31
36
0
1
75
59
-4
0
-10
16
13
21
0
-71
-54
-49
-5
0
-51
-72
-23
-49
0
-1
28
-19
-24
0
40
-30
-61
38
0
-98
1
24
15
0
51
21
-14
-33
0
-24
19
29
27
0
-38
46
9
37
0
-45
39
-20
45
0
-75
29
31
-25
0
-28
81
-33
37
0
-30
-4
-11
-5
24
-3
-43
13
40
0
32
43
14
31
0
-3
12
61
-51
0
-53
55
93
1
0
-50
43
-42
-22
0
75
-8
6
6
0
-39
5
44
0
0
-13
-16
8
-2
0
-74
64
-6
-6
0
4
32
-27
-2
0
-20
10
1
15
0
5
16
-1
-14
0
5
-41
12
-10
0
5
-34
21
-4
0
6
-43
-19
-1
0
-1
25
-8
0
0
64
-30
-79
-8
0
-13
-38
64
59
0
-23
26
69
40
0
-110
-70
20
-4
0
24
-11
25
2
0
31
-3
-46
23
0
26
-8
24
-3
0
-17
-49
76
-13
0
-95
18
-31
-5
0
39
41
-1
17
0
-28
61
3
49
0
32
-18
-19
8
0
5
0
18
-59
0
-28
31
21
-13
0
-7
43
-12
-20
0
-14
-16
-32
51
-6
55
-49
29
-4
0
-43
75
26
-5
0
3
-44
-14
5
0
49
-19
61
14
0
-13
41
-14
-15
0
41
-49
-2
-1
0
-16
-6
2
3
0
7
12
-2
3
0
8
-42
-2
-6
0
32
-37
30
3
0
-60
47
2
0
0
10
29
-1
1
0
-20
0
-16
-1
0
-3
24
0
0
0
1
0
0
-1
0
2
17
-8
-1
0
-19
-18
5
-1
0
-20
38
-41
59
0
-4
2
-22
26
0
-67
-1
78
-16
0
22
-104
-10
-16
0
1
22
-9
-54
0
-4
5
-5
-18
0
47
51
-8
-6
0
3
-25
20
2
0
-15
-23
21
41
0
-67
56
60
80
0
10
19
22
-34
0
-23
-56
59
59
0
-40
-49
28
-35
0
50
-20
-37
-8
0
-31
-50
-61
-11
6
-111
-7
-67
-12
0
-53
40
15
48
0
80
37
8
37
0
8
-12
-87
20
0
14
23
8
8
0
19
25
-9
1
0
-7
-14
5
-7
0
1
-9
-1
1
0
-100
47
10
8
0
16
9
18
-5
0
-1
-45
-6
-2
0
-24
-14
12
-1
0
-41
-35
-4
18
0
0
4
-1
0
0
-1
3
-6
-3
0
-1
7
-1
-1
0
32
-47
-19
0
0
22
16
9
-41
0
-48
-49
-43
34
0
-38
-104
-46
24
0
-3
-22
-59
46
0
-60
58
19
1
0
0
48
-5
-6
0
5
-32
2
-1
0
-27
-75
31
-4
0
-39
25
30
23
0
-23
-24
15
13
0
-52
-37
9
-66
0
-13
14
-40
-14
0
-9
7
-107
69
0
14
-22
-9
-14
0
54
44
-40
-33
-30
-49
39
4
-85
0
-17
-4
51
8
0
3
-22
9
-25
0
-66
47
2
-34
0
-41
-75
-66
8
0
17
-86
25
-1
0
41
96
-40
8
0
5
-13
16
-2
0
-10
8
3
-8
0
67
87
-1
0
0
11
-60
28
-4
0
-13
-6
63
-16
0
51
-38
-29
19
0
128
-7
-12
-2
0
0
-8
58
-4
0
6
18
4
-4
0
31
3
-39
17
0
-27
-8
28
14
0
-51
-7
-31
11
0
22
32
-3
-19
0
66
-51
3
-29
0
-97
4
-28
7
0
-22
-69
-25
-10
0
-44
-68
-7
30
0
-93
79
-4
43
0
60
5
-8
92
0
-17
-34
-56
65
0
60
40
-29
2
0
-34
8
45
-8
0
-10
-43
17
14
0
-48
-16
52
5
0
-1
85
-6
-78
-14
-79
66
-92
-57
0
-39
52
26
-10
0
-54
24
6
13
0
-27
-46
-44
-8
0
13
-31
0
41
0
-37
20
16
-16
0
-1
-58
-60
5
0
4
-4
-14
0
0
0
-32
-10
6
0
9
-39
-30
27
0
39
-41
-37
18
0
2
6
-15
-19
0
30
-7
41
-24
0
1
7
-47
3
0
-10
14
24
-32
0
-1
-7
3
3
0
-65
47
-31
0
0
-33
23
42
-13
0
-50
66
-12
-48
0
1
-85
32
-2
0
31
-9
-50
7
0
-16
9
-25
9
0
106
-50
27
-27
0
-10
17
-9
0
0
-29
-28
-13
8
0
-39
39
81
5
0
-8
-9
21
64
0
20
-45
12
13
0
-5
-76
5
-49
0
32
-14
-58
4
0
16
-45
30
-53
0
-14
74
117
-29
-21
-67
10
-1
45
0
10
70
34
-47
0
-15
-14
45
23
0
-42
-61
-1
-28
0
-109
-5
31
-34
0
16
60
4
-1
0
6
4
5
2
0
6
15
0
-1
0
-13
-2
13
-1
0
-50
48
-38
13
0
4
-49
-6
5
0
13
-137
-52
-2
0
17
1
22
1
0
5
25
7
4
0
0
-2
3
-8
0
-5
-5
-13
8
0
-1
6
5
1
0
-11
-19
-6
-14
0
-49
-63
-1
29
0
-25
-44
43
-47
0
5
-46
-32
-41
0
-62
12
58
-45
0
-69
58
-22
-22
0
16
-31
17
-5
0
22
-94
-73
-31
0
-46
16
26
42
0
41
26
-42
-14
0
-50
-17
-24
29
0
-30
-41
-23
-113
0
50
-3
-12
-59
0
18
-25
-105
-48
0
75
-17
-32
-28
-1
-36
-64
-76
22
0
18
-21
-48
-24
0
-69
-19
16
56
0
-46
8
40
-6
0
31
7
-35
-45
0
5
44
21
-22
0
2
16
-4
-5
0
-12
29
14
1
0
-46
-66
54
21
0
2
75
37
12
0
-11
-32
-76
-18
0
-24
4
4
-6
0
28
8
-73
-7
0
-1
-69
-13
2
0
0
-27
-18
-1
0
-22
0
5
2
0
-77
-7
0
-42
0
-89
44
-43
54
0
-62
12
-72
-49
0
-57
-55
-19
-72
0
-121
18
-49
7
0
95
-35
20
-42
0
-21
-6
-81
-67
0
-20
-29
48
8
0
32
-77
4
-16
0
-38
-11
13
-8
0
47
-7
-19
11
0
-31
-16
-41
41
0
-14
-28
-49
-24
0
44
-17
58
15
0
-42
-5
-68
-22
0
9
-38
-58
36
2
-16
-68
-88
-156
0
51
-2
28
-6
0
67
5
-41
36
0
32
70
17
75
0
29
31
10
6
0
60
-18
85
35
0
66
26
-31
58
0
25
-15
51
36
0
42
22
26
-55
0
-35
60
68
-71
0
75
-8
13
-23
0
41
44
17
-46
0
16
78
28
16
0
22
5
-4
27
0
10
62
10
25
0
-45
14
48
-8
0
56
41
67
30
0
-11
-52
-26
6
0
3
14
11
8
0
4
-32
-63
5
0
-66
54
47
5
0
-31
-9
-27
10
0
20
-22
49
-13
0
8
-41
0
-15
0
-46
-54
48
48
0
-41
-37
50
9
0
59
26
-33
8
0
3
37
45
5
0
-53
43
-10
22
0
11
-5
47
-36
0
0
39
-24
13
0
-17
-20
36
59
31
-61
47
29
68
0
-36
67
9
-49
0
40
3
-11
-46
0
43
38
15
37
0
101
66
14
8
0
7
10
3
32
0
8
97
47
-72
0
61
-22
16
31
0
89
55
73
-57
0
-39
-41
17
5
0
40
13
-60
34
0
19
14
10
15
0
61
34
5
6
0
13
13
74
27
0
-13
45
47
54
0
-6
-72
16
53
0
-74
66
7
-1
0
52
-15
21
-5
0
12
-56
56
0
0
18
9
-51
8
0
-18
-24
8
1
0
-60
19
28
15
0
-2
-5
40
8
0
5
-10
9
5
0
2
13
6
-19
0
-5
86
57
1
0
-47
48
48
54
0
6
-75
45
0
0
8
47
-22
-3
0
-22
7
51
-30
0
41
26
-36
52
0
10
-9
55
-32
-3
67
80
-71
-11
0
13
22
-7
-28
0
96
9
-48
4
0
41
31
-65
2
0
36
33
-55
31
0
57
31
17
-5
0
25
43
26
-25
0
-16
13
16
31
0
12
7
41
38
0
-64
4
29
10
0
34
-63
39
15
0
10
-32
45
5
0
15
4
-13
-2
0
5
6
21
-9
0
23
-28
10
35
0
-28
-8
59
29
0
-77
28
-7
-6
0
27
4
9
-5
0
10
-46
-3
25
0
-4
34
-12
-4
0
62
18
27
-50
0
-23
-2
91
0
0
-43
-17
-1
-12
0
-3
0
-1
0
0
-48
-75
2
3
0
-13
41
65
-22
0
13
-9
-46
29
0
-2
-37
-7
-13
0
8
-68
-12
14
0
-13
2
8
3
0
4
-44
-55
48
0
22
34
-85
10
14
-43
-35
80
-48
0
10
13
-25
-52
0
23
8
132
45
0
4
29
25
33
0
-50
67
-44
10
0
61
6
8
-1
0
39
17
3
-5
0
-36
9
23
14
0
50
47
-13
-12
0
-4
7
8
76
0
95
45
-15
1
0
-21
39
-72
-6
0
-71
-9
43
-28
0
-2
48
31
6
0
14
13
5
37
0
17
19
-10
0
0
-1
-23
1
-41
0
-23
-32
31
-16
0
-13
24
30
-28
0
1
-33
-7
6
0
-38
-38
2
13
0
-7
29
-10
-5
0
-8
30
57
-6
0
6
-9
7
-4
0
-27
19
-31
-5
0
1
-54
29
5
0
5
-1
-44
6
0
1
31
-4
6
0
-38
-10
18
27
0
48
42
23
-22
0
0
-42
25
-9
0
-40
-25
-55
14
18
30
-50
72
7
0
2
90
25
9
0
31
111
47
-16
0
58
-23
54
-3
0
31
36
-17
18
0
30
13
-5
-9
0
-1
-17
31
20
0
4
2
3
1
0
-11
-49
41
16
0
75
-2
10
27
0
-53
-13
-17
13
0
5
4
22
-3
0
-26
9
25
5
0
-5
-3
-8
2
0
0
5
4
-10
0
-3
-2
-7
1
0
35
-7
-23
15
0
-49
49
-8
-5
0
-3
-16
-8
24
0
33
-6
-12
0
0
-22
15
2
1
0
5
-3
5
-2
0
0
-1
4
2
0
0
-5
4
0
0
-9
2
0
-3
0
-51
8
-5
31
0
19
16
11
-53
0
-5
-45
-6
0
0
-27
-31
35
13
0
14
-5
10
-5
0
0
8
0
0
0
24
-11
2
0
38
4
-28
23
-50
0
-31
13
60
53
0
21
42
22
29
0
71
13
-40
-44
0
28
-1
19
39
0
-44
28
-45
-6
0
24
3
-14
-1
0
8
-30
-8
4
0
-16
100
-3
-5
0
-18
16
58
3
0
-33
-25
27
24
0
0
-57
-11
0
0
78
27
-56
-2
0
-6
22
21
-3
0
-4
-13
-2
-15
0
2
-28
14
1
0
20
52
-31
-25
0
24
65
12
17
0
3
-50
-9
1
0
19
-42
15
1
0
-59
-20
22
-3
0
-2
-12
25
2
0
-3
0
28
1
0
-2
-5
8
0
0
5
12
2
1
0
-19
16
-48
1
0
-41
-43
-31
47
0
-7
22
-9
-1
0
-42
-21
41
-1
0
13
13
-15
3
0
-5
5
8
-8
0
3
26
-63
-5
1
-12
-22
18
-1
0
-1
2
31
7
0
53
-81
37
-16
0
4
56
-3
1
0
41
-5
19
34
0
45
29
-4
0
0
2
30
-66
-3
0
2
-8
6
0
0
25
-32
-51
3
0
-42
55
16
-5
0
-33
-6
1
-5
0
-7
-37
14
-7
0
-16
6
17
5
0
0
35
4
1
0
0
6
-3
-5
0
2
1
7
5
0
-40
0
28
2
0
8
76
-1
0
0
-2
-1
1
10
0
3
-2
-1
0
0
7
-4
3
-2
0
-1
9
-2
0
0
0
0
9
0
0
0
0
0
0
0
6
0
0
-1
0
5
-32
-5
-8
0
-4
4
-18
-20
0
0
-13
-37
0
0
-37
0
0
1
0
2
-76
10
0
0
0
-5
-3
1
0
2
0
8
0
-15
-22
10
13
-5
0
38
6
34
102
0
-7
88
1
-14
0
4
-18
53
61
0
-20
-38
-7
29
0
-56
49
-48
-5
0
25
-10
7
-7
0
-66
-6
24
6
0
-16
23
-29
-18
0
13
-14
92
-1
0
39
48
51
-4
0
-5
96
-61
15
0
-7
-51
1
-12
0
-6
-34
9
0
0
16
-21
-10
-6
0
2
77
12
-4
0
-10
-16
63
0
0
41
47
-13
14
0
-39
8
-30
31
0
2
31
-2
3
0
14
-31
-10
1
0
1
-50
66
3
0
-6
0
-54
1
0
1
0
-3
-1
0
-10
24
6
-1
0
-69
13
-9
8
0
20
-13
-30
-7
0
-2
1
-75
-2
0
-43
-5
5
-14
0
-12
-12
-28
-5
0
10
-9
47
8
0
49
-109
3
5
14
-136
44
2
-6
0
19
-13
33
2
0
-26
12
-1
17
0
-1
58
-57
12
0
119
-69
43
-39
0
-32
1
59
-12
0
-40
36
-41
46
0
7
-41
32
0
0
8
-24
49
1
0
75
7
31
-49
0
-6
-57
58
8
0
-25
66
74
3
0
54
-6
-3
-28
0
33
9
27
-6
0
-1
-6
44
-9
0
7
-3
-32
3
0
-68
9
42
23
0
-22
4
32
-5
0
20
13
1
-4
0
-5
32
-7
0
0
-32
10
5
5
0
5
28
-13
0
0
19
12
8
-4
0
-5
-1
3
-4
0
25
-23
3
-4
0
6
51
29
0
0
0
6
5
-1
0
0
3
-2
-2
0
0
-7
27
8
0
-12
-11
-14
6
0
2
-13
24
27
0
23
14
-9
-4
-2
26
115
-75
17
0
5
21
-12
17
0
21
50
17
-13
0
34
-36
-41
8
0
104
-16
5
43
0
40
24
56
-31
0
-9
19
-39
-7
0
-5
20
15
-5
0
26
-47
-18
5
0
43
18
-9
5
0
-1
15
83
-19
0
-4
-62
-28
8
0
-73
27
44
1
0
-21
22
7
2
0
0
47
14
-8
0
-5
4
-8
0
0
-31
47
-33
0
0
5
22
-52
1
0
-35
-19
-7
5
0
-1
27
4
0
0
-19
12
-5
-4
0
-20
68
5
-2
0
1
15
-37
5
0
-4
1
0
1
0
34
14
7
0
0
17
22
-7
3
0
-19
-63
25
5
0
0
-6
5
2
0
5
-8
-4
0
0
14
7
-73
-2
0
1
-7
-13
10
0
2
-37
-17
0
21
8
-54
-5
2
0
26
22
-66
69
0
80
15
43
3
0
20
-23
51
4
0
28
-80
3
-22
0
-21
12
-57
10
0
14
-13
66
-18
0
14
0
-41
-7
0
58
18
1
-5
0
-48
100
-26
-8
0
38
141
-72
-23
0
-17
-73
50
8
0
-10
28
-23
-15
0
1
-4
-11
-2
0
0
13
16
-1
0
5
-43
-48
31
0
11
-4
24
-45
0
-24
-8
57
0
0
-47
-41
7
-5
0
-12
0
9
0
0
8
34
-31
9
0
49
0
-7
-3
0
9
4
2
-2
0
-5
0
0
0
0
19
8
37
2
0
23
3
49
2
0
3
-13
22
-25
0
0
-3
-12
-1
0
5
8
-5
-1
0
-14
-1
43
4
0
-1
2
-21
19
0
-32
16
-42
-10
22
-62
-20
-60
7
0
48
-22
-19
-25
0
-51
64
44
59
0
92
-11
-102
12
0
-49
-8
9
-86
0
48
-26
6
-4
0
28
-31
41
17
0
71
-53
-5
4
0
-10
-20
-27
-4
0
4
-14
60
9
0
4
-24
15
8
0
5
-5
-116
-8
0
-30
17
19
-7
0
5
9
-33
3
0
-3
-8
66
7
0
-5
-24
25
15
0
-2
22
-18
-6
0
14
40
25
0
0
-78
-5
1
-1
0
-5
-21
-16
2
0
-44
-31
-15
3
0
5
-5
31
2
0
1
18
13
-2
0
0
-4
-1
0
0
-30
-20
-23
0
0
-12
28
5
2
0
-3
4
-6
-1
0
0
-5
5
0
0
-31
-25
-4
-1
0
-8
-75
-16
-20
0
-3
2
0
-6
0
2
-18
-38
0
25
24
-80
-57
-22
0
5
13
13
-19
0
-19
37
10
26
0
-5
13
29
31
0
-14
-43
25
-13
0
-52
26
23
-4
0
-6
-8
1
-2
0
4
-7
-1
0
0
-38
-7
-54
-7
0
62
-22
8
8
0
-5
22
-4
1
0
1
3
-1
-1
0
-8
8
2
5
0
2
-5
2
-1
0
0
-2
3
0
0
-2
0
-27
7
0
5
19
9
-6
0
-24
6
14
-13
0
39
55
7
5
0
3
17
-42
0
0
-2
12
-2
0
0
7
16
-6
2
0
0
-1
-16
0
0
0
0
2
0
0
3
-10
-3
0
0
-49
-23
-16
-2
0
31
12
-18
1
0
3
9
0
0
0
0
9
3
5
0
-2
-13
4
-12
0
-2
-8
-1
0
0
1
12
-1
-3
-1
-29
3
25
-1
0
66
41
40
-19
0
-52
27
68
-24
0
-29
48
70
19
0
42
37
-25
-18
0
-96
-29
19
16
0
-39
6
12
-6
0
8
-5
-13
0
0
44
16
-23
-6
0
30
41
-58
7
0
44
-49
60
6
0
0
9
5
2
0
43
23
-17
-5
0
0
-13
-2
0
0
0
1
6
0
0
0
6
-1
-4
0
-24
-8
-9
3
0
89
-62
4
1
0
93
22
-10
2
0
-12
-22
10
-6
0
-34
24
5
0
0
-2
8
-3
3
0
10
2
-2
-3
0
0
-4
0
-1
0
-22
0
3
0
0
9
5
17
-6
0
30
-41
16
-6
0
0
1
-7
0
0
-8
1
-6
0
0
0
32
-25
0
0
-6
1
-10
-5
0
-24
5
0
0
-30
-41
-5
7
5
0
71
48
44
63
0
48
43
-38
8
0
-10
-38
9
23
0
-26
-21
2
-15
0
38
13
-74
4
0
14
-44
41
50
0
-17
3
-12
3
0
-79
68
-38
8
0
48
-61
38
-20
0
-49
55
13
10
0
0
-13
3
6
0
32
-31
30
-2
0
6
-27
32
1
0
4
-2
-1
-7
0
1
1
0
-1
0
-24
-27
16
-1
0
41
41
1
-2
0
46
-1
18
-53
0
-4
-20
8
3
0
-16
-2
-8
0
0
3
31
-5
0
0
4
0
-27
3
0
-2
2
0
-1
0
-12
8
5
0
0
-42
74
-54
0
0
-18
23
-19
-1
0
0
-1
1
-7
0
2
-2
1
-7
0
-3
-58
43
0
0
0
-1
18
0
0
2
8
6
0
31
-64
-62
13
-3
0
-14
-5
89
-9
0
-7
-2
81
-4
0
23
-33
23
-31
0
31
-4
-21
23
0
21
2
-9
2
0
-41
28
4
4
0
9
-26
-7
-1
0
57
20
-58
30
0
-2
21
22
2
0
9
-16
-59
-29
0
37
-16
-12
-31
0
-15
27
11
-8
0
1
60
-7
6
0
-21
4
5
0
0
0
57
22
2
0
10
-38
39
-16
0
8
26
-6
29
0
-13
50
-19
47
0
-30
-41
123
3
0
-50
-4
-77
5
0
14
11
0
-7
0
3
4
-35
5
0
1
2
-4
0
0
-35
24
-53
-2
0
60
19
26
-12
0
-21
53
61
0
0
0
-6
-19
-1
0
-19
5
-42
2
0
-10
15
20
-15
0
20
-2
-29
13
0
-13
-48
0
0
-1
-25
22
-41
-2
0
-14
22
-22
22
0
-10
-26
17
5
0
30
5
19
-2
0
-29
-2
-9
-11
0
-29
-4
-13
9
0
70
-2
7
-13
0
-3
8
7
-6
0
-24
27
37
17
0
-45
47
-35
5
0
21
-9
11
8
0
8
-30
-6
1
0
-10
-70
25
10
0
46
29
18
-5
0
30
-35
4
-3
0
11
82
-8
-8
0
-48
-29
39
56
0
7
33
14
-13
0
-7
3
-59
4
0
36
-28
12
-4
0
30
-38
17
-17
0
-14
-27
-18
19
0
-25
51
13
25
0
60
41
-20
-30
0
51
133
24
2
0
10
56
-24
43
0
49
20
-23
28
0
2
-7
32
-1
0
12
8
39
3
0
29
54
-3
-16
0
7
-46
2
72
0
-62
-3
6
13
12
18
-2
-41
47
0
-25
62
4
56
0
-60
-54
44
15
0
50
-57
66
-41
0
-46
55
-21
8
0
-92
-7
49
-24
0
-36
-8
-85
-4
0
8
-33
22
6
0
29
-1
-3
1
0
69
8
12
4
0
28
52
6
-13
0
2
18
-56
-3
0
42
-7
-5
13
0
2
-1
6
5
0
14
48
-61
-2
0
-6
-48
68
3
0
25
-9
1
17
0
14
-13
-48
-32
0
31
-60
-34
-29
0
-9
-34
-76
22
0
11
-8
-21
-72
0
-46
-38
-6
20
0
21
-33
-3
6
0
-42
-4
19
22
0
79
-18
-36
-4
0
-24
43
33
4
0
-43
23
70
55
0
-5
-27
15
29
0
-49
47
-43
-5
0
21
-14
-31
-9
0
-35
73
10
-2
0
-96
39
-4
48
0
-21
56
11
-45
0
16
39
-9
14
0
-9
21
15
-14
0
-80
49
-31
0
0
0
-6
9
5
0
22
-3
6
2
0
50
-5
24
-8
0
4
5
1
-1
0
-25
-20
13
0
0
18
3
5
0
0
25
10
-23
-5
0
1
20
-1
0
0
13
4
28
-1
0
6
53
-43
5
0
8
16
10
-2
0
13
-23
0
1
0
-42
-44
64
2
0
4
-27
29
6
0
-16
-19
-61
-8
0
-71
-5
-59
22
0
-12
-20
-48
-83
0
-34
17
-11
-29
0
0
-16
-14
-61
0
-59
-15
11
85
0
-42
28
-2
-13
0
42
33
10
-22
0
16
-7
-54
28
0
14
13
-43
-4
0
36
59
10
-24
0
32
-26
-35
23
0
12
-48
24
-61
0
25
17
8
23
9
63
10
48
5
0
48
-19
17
8
0
-1
9
34
-48
0
-10
3
-8
-8
0
-13
6
-1
4
0
49
17
15
0
0
29
-14
9
-2
0
-5
1
1
-1
0
9
-101
-6
0
0
51
-32
26
5
0
-69
5
15
-3
0
1
10
-32
-1
0
-1
-29
30
-1
0
-5
-56
11
-5
0
4
-42
-30
-1
0
8
10
-18
0
0
13
-42
-17
-8
0
-22
15
-9
6
0
6
-11
24
-7
0
49
-33
0
-8
0
-24
10
-87
-13
0
43
-55
-53
25
0
-4
50
-40
-27
0
-20
-72
-77
25
0
-34
-11
4
-8
0
25
48
-7
-41
0
-16
32
13
-13
0
-25
19
22
5
0
1
-5
35
-28
0
-5
-45
-62
77
0
-13
-19
-41
5
0
-27
-6
-69
-11
-9
-146
-2
-48
-126
0
-13
23
1
26
0
32
-23
49
0
0
-48
0
15
7
0
-46
19
-32
48
0
-55
-4
-5
-20
0
-7
10
1
-10
0
-2
7
-6
8
0
-3
-30
-2
-1
0
-5
7
-19
-3
0
35
14
-13
6
0
5
24
-6
1
0
13
-48
-2
-23
0
-1
34
-8
-3
0
0
-6
2
0
0
-23
-14
3
1
0
46
57
-84
9
0
-6
8
31
27
0
31
14
28
-79
0
-33
11
-26
-1
0
-72
-13
-60
12
0
40
-45
-15
-5
0
-59
2
-2
20
0
75
6
-41
0
0
-132
-46
-2
71
0
53
3
-61
-70
0
-77
50
-50
23
0
23
49
-7
-14
0
-60
58
-5
-8
0
18
-2
-34
-51
0
-1
-16
-45
-42
0
13
34
11
-9
-13
-34
-35
57
-15
0
20
64
76
-7
0
-71
62
-4
14
0
66
-49
-14
10
0
-33
40
-48
26
0
-45
17
-14
2
0
-31
23
29
0
0
15
0
-4
5
0
-13
-2
-43
-5
0
-51
40
-14
-5
0
30
35
14
7
0
1
21
1
-5
0
78
-5
-15
0
0
-1
0
-52
-1
0
-1
14
-13
1
0
4
9
-14
2
0
-48
103
-46
-13
0
18
-64
51
71
0
-6
-16
42
37
0
0
-94
-20
-26
0
-15
-81
10
14
0
-42
-52
-58
-53
0
-124
-139
19
-15
0
24
24
-8
-64
0
26
-26
10
24
0
-66
-24
48
35
0
-19
-83
-17
-10
0
14
31
-62
22
0
8
-51
5
-5
0
5
-48
27
-13
0
5
19
-75
5
0
41
-19
-29
-76
11
46
-36
-32
-67
0
-11
-11
96
9
0
-8
6
-20
15
0
1
28
-2
3
0
48
46
-8
20
0
-1
7
-12
0
0
6
-18
8
0
0
5
-3
0
1
0
102
-13
-22
-12
0
-41
5
2
1
0
-30
55
-29
-16
0
-2
-25
5
2
0
31
13
0
-12
0
0
-5
-13
0
0
-2
-1
-2
0
0
-3
5
0
1
0
2
12
1
4
0
-11
34
7
-57
0
-49
-61
22
15
0
-73
13
50
-13
0
-12
3
-44
-55
0
-93
-11
30
-22
0
89
-86
-6
-29
0
-1
-30
99
-57
0
-47
-50
24
9
0
36
-50
-5
-61
0
2
50
-29
-39
0
34
56
3
-9
0
20
-40
-25
-46
0
-6
-12
-46
5
0
2
39
8
-1
0
19
-58
-26
-13
2
11
-58
-53
-9
0
-29
-52
45
-41
0
-24
-1
-66
-19
0
-11
-8
-49
-6
0
-65
8
39
-33
0
84
-60
29
-4
0
-1
12
3
-5
0
25
-27
12
-7
0
-40
3
16
-3
0
25
82
5
-13
0
-101
60
4
28
0
-31
-26
-66
3
0
3
-21
5
23
0
41
45
15
2
0
13
3
-40
0
0
-2
3
-43
-3
0
5
49
-33
7
0
-14
36
-13
-2
0
-44
-5
37
30
0
-16
-84
-48
-116
0
-83
37
-89
-23
0
-40
-55
-41
-7
0
60
-6
-20
-7
0
-56
-48
31
-48
0
-24
-52
-22
-8
0
-23
-49
26
-1
0
-2
-115
14
2
0
-33
-25
2
1
0
-22
2
-2
0
0
5
-35
10
-87
0
-7
57
7
-49
0
-56
-52
-22
41
3
5
-42
-31
-7
0
-12
1
-4
-13
0
13
6
35
50
0
62
-19
69
14
0
-2
-35
14
-42
0
52
-54
-58
-3
0
-5
5
28
23
0
26
71
-18
0
0
4
-10
72
-6
0
-5
99
-67
-40
0
-17
24
-3
3
0
4
9
1
23
0
-41
36
27
19
0
-23
-73
-23
-7
0
-41
-22
16
-5
0
10
8
17
-1
0
32
-17
-1
-6
0
12
-7
-33
1
0
48
28
42
-9
0
4
-21
72
-41
0
-10
-6
32
5
0
79
-26
3
-31
0
-32
40
11
-10
0
0
-85
26
58
0
-46
-31
-21
-26
0
-30
23
31
27
0
-5
0
-10
16
0
23
14
27
-23
0
13
28
0
34
0
-11
34
38
-66
0
-12
-8
-43
15
0
-8
-25
16
-18
-1
-50
67
31
21
0
19
62
28
56
0
6
-23
30
10
0
-6
8
-43
-9
0
89
-10
-53
41
0
103
-4
8
-1
0
-9
2
42
16
0
-14
48
-53
-5
0
-53
38
-9
9
0
17
-5
3
-12
0
-55
-5
35
-70
0
-1
-48
9
8
0
-42
-38
14
9
0
-51
46
-2
0
0
7
7
8
0
0
4
-13
-54
0
0
-19
15
-41
1
0
10
-29
6
-5
0
40
-13
-36
-3
0
-16
-3
74
-30
0
17
-78
27
-27
0
13
32
28
14
0
-94
-5
-53
7
0
47
-4
-51
0
0
-59
-68
79
42
0
-75
30
42
32
0
48
86
-18
-68
0
26
64
-31
21
0
78
23
-11
13
0
-6
-19
-1
48
0
-23
22
-62
58
0
20
100
23
-22
-5
-35
-43
50
10
0
65
51
47
-60
0
30
-25
32
77
0
-5
66
43
-22
0
-44
33
41
-32
0
22
-10
-27
1
0
-67
23
0
2
0
58
17
3
0
0
-46
3
-5
13
0
-16
52
-22
1
0
54
-86
5
21
0
14
-14
-4
-7
0
-34
-20
8
5
0
-8
-9
29
0
0
0
-10
20
0
0
2
10
-3
-3
0
19
-7
-7
-39
0
6
4
-26
-37
0
-28
4
13
-53
0
-21
2
24
-41
0
2
-113
-4
21
0
-5
21
-43
-52
0
-101
-3
-6
-17
0
42
-35
-6
-2
0
27
-14
-80
-74
0
-6
14
40
30
0
24
-4
9
59
0
5
-34
-14
27
0
7
-13
-15
-70
0
-45
-30
11
46
0
15
88
33
-53
0
76
1
-10
6
5
-39
8
20
-61
0
-30
16
-1
117
0
4
-9
-31
-8
0
-74
22
41
-14
0
-3
-16
-26
-31
0
11
30
41
6
0
49
-105
52
-22
0
8
6
15
-1
0
-35
-31
23
1
0
-10
50
-31
8
0
-22
-28
-44
5
0
8
51
19
-8
0
-27
23
1
-2
0
2
-14
4
-4
0
1
13
13
0
0
-1
-19
2
-1
0
-6
-28
-20
0
0
-24
-67
-38
-2
0
-5
32
-4
54
0
-17
-58
-33
19
0
18
-3
-17
-9
0
-46
13
-11
-65
0
-73
-37
-41
24
0
-1
31
-17
2
0
58
42
-88
-21
0
3
13
17
15
0
-29
-25
9
-9
0
18
-7
-5
-23
0
-31
-26
41
-12
0
23
27
20
-5
0
42
27
66
-34
0
-67
59
-31
14
4
-28
-70
-121
-56
0
30
38
51
-11
0
50
14
24
-45
0
-58
60
-23
-45
0
38
-10
-44
11
0
2
6
-42
-3
0
20
5
-9
22
0
7
-15
20
-3
0
-50
59
-7
-17
0
-32
4
-4
30
0
-28
27
13
27
0
-5
32
-19
40
0
-74
-14
-2
49
0
8
-14
9
-7
0
0
-48
19
10
0
-4
-6
-12
-8
0
-76
-46
31
-20
0
-2
17
30
-8
0
-5
21
-72
-17
0
-22
13
-43
26
0
-58
12
67
-35
0
-30
-8
-56
34
0
0
-18
-14
19
0
-47
-23
64
49
0
34
-28
-93
8
0
44
29
-8
-2
0
80
2
27
30
0
54
17
-14
-43
0
-9
-9
36
-14
0
-18
-23
12
-75
0
-37
10
48
15
0
59
-74
-111
-22
-2
22
-94
4
23
0
-16
8
26
52
0
-42
22
-3
14
0
11
-14
10
18
0
-63
22
27
11
0
20
-41
27
15
0
54
11
42
-3
0
1
-20
5
5
0
-27
-18
-7
17
0
3
13
18
74
0
23
12
7
-9
0
-14
-13
47
0
0
5
-19
2
-21
0
-1
10
31
0
0
4
21
14
8
0
2
15
3
-7
0
-22
-3
-15
6
0
-3
6
-7
14
0
-37
-82
24
42
0
10
-22
-75
-22
0
72
-64
-54
5
0
-26
5
-23
20
0
-67
17
-50
-46
0
-6
1
-83
-34
0
-43
10
-95
-5
0
67
45
3
-10
0
6
33
-5
-11
0
-90
-38
26
-45
0
-95
7
-35
5
0
36
-41
48
107
0
13
11
-28
-56
0
0
-70
16
14
-7
-13
58
-47
16
0
43
49
68
52
0
-19
43
27
57
0
-32
18
20
8
0
2
46
19
26
0
59
13
15
-5
0
-35
-57
3
-13
0
-8
14
21
1
0
-51
14
-49
-30
0
-1
-7
10
-18
0
2
-28
24
14
0
10
13
-60
20
0
-14
27
18
3
0
-3
5
-25
4
0
8
-2
-45
-1
0
0
8
-4
0
0
4
-22
-59
34
0
-8
52
6
4
0
-74
73
31
43
0
-22
-27
-14
-22
0
-29
-74
-15
30
0
-52
25
-2
-2
0
-24
-56
-67
-16
0
32
-57
-65
34
0
26
2
14
-51
0
57
-54
26
-14
0
20
-1
-10
30
0
41
-34
-74
-21
0
2
-31
-14
14
0
-31
-15
16
-72
0
6
-78
-51
-41
0
-41
66
2
-28
-25
-101
33
84
-58
0
57
-9
87
47
0
-7
-33
60
55
0
-86
47
-24
29
0
-77
60
-66
-14
0
43
-41
-2
-4
0
-60
-13
13
48
0
-58
53
7
-32
0
-72
-21
27
3
0
57
38
-40
42
0
50
-15
37
49
0
17
33
-8
-51
0
-59
-29
-10
18
0
-86
76
-19
-16
0
-7
0
-3
-29
0
-23
-13
-36
2
0
-6
-14
-71
-49
0
-5
34
-3
10
0
4
40
37
13
0
-31
-95
36
-25
0
-46
-32
33
-49
0
-25
6
37
-3
0
26
55
-21
-69
0
5
58
-6
-22
0
-75
-29
-45
-18
0
53
9
-36
15
0
-17
-17
14
78
0
-35
-47
-71
-1
0
-42
-72
38
27
0
-22
-14
-42
-41
0
51
-55
-2
-42
0
61
-41
-72
-73
-26
-25
-42
25
15
44
13
24
8
45
31
21
7
66
0
-19
-32
66
0
-30
-8
27
21
45
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
58
-4
-24
-17
-39
-6
41
48
62
3
55
-23
11
13
23
-21
8
-89
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
55
29
-15
53
12
-27
23
-14
25
-3
54
-53
-5
-5
5
48
38
-19
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
45
-41
8
-44
0
-24
53
19
30
0
21
-6
-18
1
0
-19
-1
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
7
41
32
8
11
42
19
46
32
12
15
-71
25
21
-77
14
43
57
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-1
19
28
22
-29
-5
1
29
-1
42
0
35
16
5
-45
12
-47
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
3
81
24
102
-14
-21
-38
61
10
66
53
-29
0
4
-81
62
19
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-1
7
12
15
33
-3
-10
-17
0
32
-5
8
0
4
8
-20
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-11
31
-25
66
-51
55
23
30
-28
42
4
22
25
4
39
-27
12
-20
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
55
4
5
3
52
88
2
-49
-41
22
-50
27
-22
24
-16
-27
-68
14
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
5
12
-12
3
-15
-39
-46
8
0
7
-46
-22
2
3
6
-18
13
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-16
-13
3
0
17
41
18
0
0
49
-19
10
-3
0
9
-22
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
32
58
4
22
47
45
12
-19
23
13
-18
86
63
-27
6
16
-49
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
2
-46
13
3
31
-23
-2
-29
8
12
58
40
64
17
-42
74
-28
33
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-115
83
13
-25
-5
-35
43
-26
42
32
49
-48
14
17
-18
41
58
-39
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
19
37
1
0
-22
9
18
17
0
12
-23
-7
3
-15
-30
88
-5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
50
22
75
18
43
22
32
24
23
6
-6
60
29
78
-6
49
22
68
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-8
23
4
35
31
36
3
13
-54
2
-12
13
-34
13
-8
19
-55
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-32
22
13
37
0
44
-9
-7
8
-7
-59
-12
-1
1
-1
-5
-6
24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
52
70
14
8
0
-18
-29
-45
1
0
5
-2
-24
-2
0
22
-4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
100
86
-52
1
51
103
33
-2
-18
56
20
50
21
-15
-17
-62
-22
-10
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
18
13
-7
-4
5
-21
27
-74
26
-8
-3
-13
-17
13
-8
-9
-44
20
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
40
-22
-8
-9
-54
71
-8
10
2
-25
26
-18
0
0
-21
29
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-23
67
-13
0
15
-30
-89
-26
0
-42
-18
-28
0
0
-92
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
4
-3
-14
41
7
39
11
33
-39
-17
24
4
26
13
-49
18
-30
29
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
11
-3
-21
-14
-2
-22
16
-12
-7
-4
-31
7
4
-6
-5
-4
-10
20
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-68
-18
-14
4
-1
-6
22
3
-2
1
3
-15
1
0
0
16
-29
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
14
-21
-2
0
-5
5
0
-1
0
8
1
1
0
0
5
13
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
19
-26
20
27
-26
69
-25
17
16
15
8
32
43
15
-67
68
-12
41
114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-28
-19
40
31
16
-4
75
98
-66
49
48
-3
-4
0
13
-57
31
-12
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-48
-94
55
10
4
-59
51
27
8
-12
24
13
34
0
12
-16
-11
-12
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
-31
28
8
1
47
-31
13
10
0
-30
5
5
-6
0
-30
-18
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
48
40
33
101
40
0
74
-16
5
11
6
22
2
-16
-23
-27
46
43
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-15
48
28
5
-28
13
11
85
75
-6
16
17
40
-14
-18
-8
52
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
55
-15
-25
27
-14
52
92
35
-4
-34
-48
29
72
0
95
-40
-30
-5
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
108
-8
45
-9
28
46
-13
-6
76
5
-102
85
-26
-13
24
41
-100
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-21
-14
-28
-4
24
-22
65
-16
20
5
17
20
-34
-15
62
20
60
-11
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
38
104
-14
43
-5
38
5
16
-45
-2
-11
-7
-3
4
-27
44
-18
66
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-1
33
62
-6
-36
-97
-43
72
56
31
15
-44
23
9
-41
-6
-45
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
86
-22
-26
-45
11
-45
46
-58
37
-1
-6
21
-6
7
19
46
-52
26
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-5
84
-5
101
-1
3
10
43
-55
66
36
63
-50
-62
36
-50
-66
55
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
62
16
33
-46
10
13
29
42
-8
9
41
-62
37
31
-22
-31
-7
-14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-14
40
59
40
-51
-35
5
-14
12
-19
24
-49
-41
35
-40
-65
25
-54
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
6
5
4
-54
-11
-86
16
49
13
0
46
13
-13
8
-18
-16
72
-25
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-14
-6
67
31
-13
27
14
-63
60
0
-58
-49
35
5
-19
1
19
25
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
27
13
60
-37
-20
-26
62
-15
23
3
6
-9
-37
-9
78
-11
29
29
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-22
15
-100
15
28
-50
-46
-37
-83
-33
18
-13
41
0
-52
14
-22
8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
17
-12
1
39
-6
29
-20
-25
3
8
-82
5
0
-26
50
41
-9
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
51
59
25
-9
25
18
-34
6
-22
13
12
-101
51
-7
83
-90
-9
-81
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
-8
35
3
-78
14
-51
-14
52
5
43
101
-56
-7
31
-52
64
-51
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-22
37
1
-3
-48
-3
41
-3
-4
-5
-15
-21
10
-1
-16
3
2
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
31
-62
13
-11
93
-5
30
75
-12
-10
23
9
-38
25
-6
-1
3
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
22
-55
50
-22
-19
49
-7
-1
-63
12
-50
1
-64
21
51
58
40
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
57
40
-5
-3
-46
-39
7
-1
13
7
24
-13
20
-12
-24
52
41
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-57
48
-7
1
47
-27
-42
-27
0
0
27
-15
25
-5
9
15
-67
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-77
-4
28
-23
-44
-40
34
2
11
5
-8
18
-25
-13
4
-35
-50
30
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
-1
33
48
22
28
-37
61
-17
43
38
0
-73
77
-20
-88
-50
5
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
26
17
48
5
15
13
-10
0
-2
-31
-73
1
40
-3
-34
55
12
48
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
36
-30
55
-18
-30
-25
-4
-29
2
-5
1
5
14
2
-22
33
15
-66
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
42
39
18
-17
30
-77
80
-47
5
6
-114
-15
-15
4
-25
42
23
17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-32
-12
17
-14
31
-88
-40
-13
21
-10
46
55
-83
-4
-49
63
58
-25
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
33
29
-30
13
-16
-27
-4
31
37
-7
22
-1
-7
8
-5
-5
20
-73
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
21
-4
8
-13
-24
18
-70
-41
25
-33
-49
-4
5
-35
-15
-94
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-2
39
-49
19
12
49
-45
41
2
0
27
55
15
8
24
-118
-11
6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-29
50
27
6
68
45
-54
31
-31
-18
-3
-2
-1
14
102
-25
35
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-28
49
-74
33
-3
-26
93
3
7
47
40
-22
-2
9
12
-13
31
55
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
25
21
13
-7
10
23
8
32
-13
-30
15
4
-25
43
-73
26
3
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-38
1
53
-29
-19
-13
-45
27
44
1
15
77
5
-2
-22
92
34
11
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
23
13
-8
0
-6
31
-27
5
-3
-52
-12
75
21
-1
-24
-34
-13
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
-46
-3
56
-52
32
-10
48
-6
8
-47
-50
13
5
38
2
-34
-44
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
10
67
-46
105
21
-10
-10
-2
-65
-17
22
7
-41
-30
-33
26
60
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
29
30
18
-14
34
41
-8
-5
-71
0
-3
-2
63
-34
17
15
-70
-104
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
22
16
10
3
7
10
49
9
20
-59
17
-10
-27
-5
18
33
-81
-42
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-69
51
13
-6
11
-37
-35
-8
2
-8
41
21
-5
-8
6
22
-41
61
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
17
27
46
43
-27
-39
-19
-50
13
-24
4
-14
-50
4
-1
-18
-45
-4
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-24
31
-47
-41
25
-35
-35
-31
-41
-2
-9
27
-29
25
5
-43
17
60
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
31
42
-13
3
-52
12
5
51
5
6
45
54
-4
-7
-19
11
22
9
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-23
-3
-15
0
18
-22
-42
13
-23
1
-49
2
20
9
-3
-37
-53
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-4
27
1
-7
-141
28
-6
-3
40
-45
-60
-52
34
-23
60
-22
-34
9
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
5
-9
5
-30
62
-43
75
8
-23
8
-11
-57
-11
-22
-39
-50
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-15
-46
0
-41
33
-24
78
26
-13
-6
-83
-6
-8
6
63
-19
-38
-25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
23
27
-11
13
12
47
8
-48
1
-20
58
-2
10
1
5
-14
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
16
14
-1
5
-94
14
26
76
26
-12
-110
15
-1
4
-27
-66
-23
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
3
-5
-76
28
-48
-80
-70
-33
78
-51
-35
-22
77
20
20
23
27
13
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
47
-14
-67
23
15
-59
65
-11
-7
-14
96
-25
-10
-14
5
83
-6
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
15
-8
39
-3
-57
45
-22
56
15
-3
-4
42
-3
-1
-14
22
-32
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
11
-10
-4
41
37
6
127
42
-32
-41
-169
-48
41
13
-21
-114
-3
6
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
43
-7
43
-13
-29
-57
-3
-28
50
-10
34
-7
-75
-17
-15
-20
-31
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
40
-13
53
5
-29
-5
13
-23
-12
0
-23
26
34
-5
-11
-15
35
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
25
21
2
23
-4
31
-25
-3
1
-37
5
5
0
-3
-8
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
6
-3
43
-80
-70
-44
-84
-68
2
-7
-43
-109
1
-10
1
-63
-60
-42
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-33
10
-44
23
-50
-95
-11
1
0
-1
38
5
19
-87
29
11
-79
-119
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-53
36
20
0
-78
-9
-58
-36
-5
-41
90
-23
29
8
-84
-31
0
37
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-22
-37
-79
7
29
-5
-20
49
2
-2
-52
-37
-17
1
-32
41
-15
-25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
-21
27
-7
-68
-15
-46
-58
62
-21
12
-2
-5
-98
54
24
46
-90
-17
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-19
-67
10
-30
0
-76
79
22
-90
-32
-60
-133
-15
6
7
-6
1
-48
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
2
43
-18
19
-17
5
79
51
13
5
22
-1
-91
-5
-8
-9
-17
-23
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-1
39
92
32
72
1
53
13
-1
59
-2
13
-77
-21
6
-14
8
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-14
-2
-23
-56
30
13
-24
-55
4
-56
2
-58
21
-41
-7
43
-34
76
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
8
13
8
6
70
22
50
21
-5
-108
37
54
26
52
-2
-3
-35
51
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-4
35
5
76
26
22
-47
6
27
-29
29
4
-9
34
-32
5
30
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
11
-19
-51
33
74
-22
14
29
-35
-5
-4
15
47
-18
4
1
55
-34
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-16
23
-11
9
11
-56
-19
1
-11
41
-20
33
-88
-6
-154
-27
-4
-48
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
31
-12
14
11
6
-2
-38
12
19
31
-65
-5
55
-26
-98
-18
-9
-42
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
66
-4
-13
-22
39
-20
25
66
15
4
-5
-100
35
-9
27
21
-22
31
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-82
-41
39
15
33
-11
-9
-14
-18
-23
-23
92
-35
66
49
21
19
-13
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-37
-15
3
-5
22
-18
-5
14
-3
-13
-15
25
6
-22
-48
-105
51
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
28
51
13
-19
-7
-5
7
-3
-2
7
6
-34
15
11
-33
4
5
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-9
-11
67
-15
68
-96
24
-58
109
-39
-26
-52
13
46
44
49
-25
-36
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
20
0
-4
7
2
-37
-99
-10
-25
19
-49
-52
-74
-17
-88
-75
33
52
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-56
-15
10
58
-69
-4
82
-66
2
76
-29
18
0
26
32
-9
-62
-52
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-8
60
7
46
-53
-8
4
-7
48
-12
42
7
18
4
-9
3
-30
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
29
15
28
88
-44
48
55
76
83
57
42
-20
-64
-79
67
-79
-74
107
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
-15
73
17
85
0
-31
-19
-49
-60
50
17
27
-17
-2
-31
20
36
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
5
5
16
22
0
3
13
-73
2
-33
3
-40
-9
22
-83
-9
48
-89
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
21
-17
9
-8
0
25
-46
56
13
-14
-80
-3
-41
-1
-54
0
64
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
50
44
20
11
-34
-9
26
31
-1
-10
20
-32
-13
-18
-3
-76
73
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
-49
5
-3
-5
-32
52
22
-7
-33
-61
-53
-62
20
3
2
-4
-13
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
40
-25
-9
10
-17
-62
-54
-19
-111
49
24
69
-54
45
-64
12
-49
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-26
-25
22
12
-28
14
14
10
-38
-59
-12
-11
-16
76
2
-115
-12
-31
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-33
-46
-23
7
-14
-27
38
-22
35
-39
-47
41
-47
-4
-13
-47
-63
-7
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
40
3
-25
5
22
59
-8
21
-25
-75
-45
0
39
2
-8
-37
6
34
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-3
-93
-33
-5
-47
8
30
44
14
-43
-51
26
6
-102
14
25
-58
-32
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-43
5
-10
-1
0
-26
3
-58
-41
-73
15
8
-93
-119
-66
-18
1
-21
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-47
45
24
-30
-66
-17
-2
31
-13
-30
-41
123
84
-22
-17
-29
57
-17
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
22
7
30
12
-62
-1
-116
-56
-7
8
-43
4
-58
-14
-42
-66
34
-8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-159
-20
18
16
60
53
-61
-48
47
-60
-57
7
-58
-78
-51
-19
-43
-21
-61
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-61
-8
-34
5
-14
-7
-57
-47
-30
40
-76
-35
-33
41
-47
-24
-23
-42
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
67
-26
-6
71
107
-21
39
5
23
67
30
44
49
39
14
49
42
4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-42
52
-1
37
5
33
38
75
15
0
-3
23
58
-19
-8
24
8
76
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-56
-116
-4
10
9
-14
93
0
71
0
13
31
-29
-8
29
3
-22
79
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
49
-41
48
-14
-5
98
-26
-24
-28
1
-32
23
-49
-5
0
-1
-24
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-23
-12
24
58
70
57
33
13
14
33
6
66
23
-21
87
94
57
-19
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
113
36
36
0
-26
4
51
43
-12
-17
61
2
-49
37
-19
93
-2
-47
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-11
47
42
-37
-3
-21
-18
4
-9
-12
13
-2
4
3
8
-94
15
42
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
20
8
38
-5
73
-79
25
10
13
0
-8
-31
-3
2
0
20
-5
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
-32
8
52
-6
-9
1
71
-3
61
31
21
-4
14
88
106
17
40
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
78
4
4
-24
10
-105
-1
-5
3
-5
-69
-5
7
4
42
66
-102
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
40
27
-18
-5
5
-7
-19
-3
34
4
25
-78
5
7
-31
-10
43
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-41
15
-31
42
-1
76
-7
-45
8
0
-68
-80
20
8
0
45
-59
43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-12
43
-7
57
22
29
-34
43
13
21
51
88
-12
-23
-49
7
34
41
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-16
52
8
31
-25
-5
0
25
-25
-27
20
20
36
20
68
-25
42
-35
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
19
-5
-21
-8
14
-47
-43
-16
1
-5
31
-33
-10
8
-48
-72
-18
-13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
11
52
23
3
83
29
-75
-30
1
-16
-17
18
-4
10
-19
-49
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
38
17
54
-21
-16
12
25
49
-13
9
21
-31
66
26
-72
38
-16
76
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
11
22
73
-22
54
41
-46
54
-23
0
42
-9
-8
6
-1
-28
-9
-33
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-1
17
-34
41
41
44
-10
5
-15
-5
22
-3
-4
4
6
-31
-12
-25
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-24
20
-5
-15
0
-4
110
41
42
0
-5
5
12
3
0
1
-5
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-27
80
16
30
20
57
3
-1
27
-34
-57
1
-20
41
9
-14
38
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
91
-5
26
25
-9
14
-8
-5
-20
5
-39
-1
41
0
15
3
-40
-39
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-28
56
-3
6
49
-63
31
17
-59
13
-10
-41
34
0
-5
-5
-72
24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
38
-31
63
-7
-5
6
43
11
13
0
-4
1
0
1
0
2
25
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-4
47
-29
-60
-17
-16
-22
74
3
35
-55
57
1
47
39
-7
-37
69
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
85
12
-2
24
12
-9
13
20
8
-1
13
-44
-16
2
-5
-1
15
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-22
55
31
5
7
-19
-6
34
8
-8
20
-34
-13
0
0
0
19
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-31
59
-3
-1
2
-34
15
-2
0
3
-6
-2
1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
45
21
-19
-10
11
81
-33
-10
46
-75
15
65
12
16
-55
-8
-11
-43
113
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-55
29
-29
16
13
4
28
-40
48
5
-10
-22
35
1
61
-22
77
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-32
62
61
-13
-7
-32
62
16
14
-17
36
15
-13
-3
12
-3
-127
-3
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
30
-12
-5
-23
2
-40
14
34
-7
0
-27
-22
-26
4
1
-70
-34
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-7
16
21
5
59
35
-26
22
-23
-19
-76
8
56
7
20
66
7
-7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
-16
62
63
18
-5
-20
-73
56
37
12
47
36
20
22
-24
-13
44
30
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
19
33
3
-5
-25
36
-1
3
13
-20
21
23
36
-5
0
-14
4
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
14
16
18
-13
0
-17
32
26
13
4
-19
69
-6
-5
0
1
-14
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
30
43
58
46
7
-6
39
-77
59
-5
98
-19
10
-22
48
3
-14
-27
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-69
69
41
13
45
-32
4
-9
-25
22
34
13
-21
20
-26
49
0
-60
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
59
-50
-10
3
-61
19
7
-3
1
-5
8
6
-6
0
17
18
-22
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-29
59
-28
1
-3
-32
38
-5
15
0
12
-8
0
0
-1
-22
-16
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-11
33
-22
83
-30
1
46
62
-14
41
9
-25
-41
-5
-23
-23
-50
22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-48
81
-36
-11
64
-25
83
-13
-13
-29
-54
40
-22
8
-32
-40
7
-45
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-30
92
31
-8
70
34
-25
7
26
35
41
-64
-20
3
-12
84
16
-57
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
15
-12
58
-4
-5
-14
24
-14
-4
0
5
29
-2
-4
-2
5
-20
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
42
-10
22
-15
-8
52
-45
14
-20
71
65
-71
12
-31
7
-40
-25
-50
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
4
-1
23
30
68
-80
11
-16
20
18
-43
-2
93
-36
-8
-61
-43
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
37
-46
-49
4
-75
31
6
-9
-13
3
-31
37
-16
3
-20
-10
69
-102
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-5
-18
-5
-4
-3
13
5
14
1
8
-41
25
3
-1
37
-31
43
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
34
33
53
-6
-37
41
54
-39
-10
35
23
-28
-24
31
8
-6
-10
34
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
38
13
10
30
10
-46
18
-21
16
-1
-8
8
-17
-8
3
5
18
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
54
32
-5
0
-7
16
27
-9
-5
2
-16
4
-3
-3
0
-2
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
43
-14
-41
0
-3
46
-8
1
0
5
2
13
-2
0
-1
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-17
33
48
46
15
12
43
-11
49
-23
73
35
31
-49
8
18
15
73
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-78
22
4
-14
-3
21
-19
110
-5
4
30
-16
-28
1
-2
-2
-2
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
54
-44
14
-41
-67
7
-47
20
-1
7
-5
5
-3
13
-8
42
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
40
9
4
-37
-22
-10
-9
3
0
-3
-7
-3
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
49
44
-6
15
5
36
16
-14
-35
39
73
-53
-19
7
31
10
-14
47
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-32
13
-4
3
55
4
23
-19
-29
101
-41
38
-90
-13
-119
-12
6
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-43
41
41
-45
-77
-21
5
3
70
-2
18
31
19
-12
9
5
-15
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
41
-29
1
-1
2
12
-25
29
2
-2
-28
-6
-7
-1
0
3
-8
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
-10
27
-29
-88
27
5
52
10
59
-43
-13
-8
-14
23
-31
31
-31
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-4
-6
57
12
-2
7
35
24
-22
37
-23
6
3
-13
-58
79
-16
-5
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-25
66
42
9
-64
-34
64
37
47
27
-48
-41
-8
-18
22
-26
-8
-46
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
31
106
55
-47
23
10
-6
-55
-3
1
12
25
-48
0
0
44
-52
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
43
-17
114
25
36
-10
49
26
-44
-9
31
39
-41
-44
20
47
16
39
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-71
28
-36
-18
48
5
8
-77
-21
24
29
20
40
2
-5
-82
49
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
11
3
24
42
-39
7
14
-19
38
-31
19
19
-53
-22
28
-13
3
18
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-36
-11
5
0
44
-21
13
-44
32
4
-8
42
-5
3
-2
58
-16
35
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
50
40
23
22
57
-18
7
55
4
-19
-23
-12
22
-16
46
-66
-52
34
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-49
-58
16
81
55
-5
-30
-3
-21
-20
-56
-25
-5
-9
90
2
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
17
14
7
25
-1
-23
-13
14
-32
0
-33
46
-23
8
-2
-9
-39
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-110
7
-11
-41
61
13
22
-2
-73
0
59
-11
4
17
-8
70
73
-184
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
22
57
-31
0
68
-22
1
5
-9
-18
90
18
-24
12
-16
-11
11
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-15
5
50
-1
18
-9
14
32
-22
-2
37
24
-42
-20
-5
6
12
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
24
47
-23
-7
-68
-30
37
7
-9
-43
-18
-22
-10
29
-75
-14
42
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-50
35
-6
22
50
-8
-79
-98
33
-16
-8
20
51
19
43
-8
-87
-10
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
58
-2
-41
17
-31
55
-4
14
17
-88
-24
-7
43
-7
4
0
27
-9
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-10
-8
9
-8
17
42
-24
-13
5
0
-15
7
25
0
-67
-25
-18
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
37
-3
-14
10
38
34
-50
-37
-32
-5
-114
45
-7
5
66
-4
-10
-123
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-11
-62
7
62
-48
-43
-77
-58
-26
32
23
-66
-20
23
56
-64
4
-8
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
45
45
39
59
-16
-29
30
-12
12
15
-7
-14
-71
-3
2
-22
-16
45
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
93
13
-48
-31
5
5
-34
-53
-28
-6
6
42
-2
1
-5
-13
19
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-8
16
-39
3
30
6
-7
6
-37
3
-24
1
-5
18
-104
-15
-19
10
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
25
25
23
-51
29
45
-20
-44
-8
2
-50
-20
-39
23
0
-96
28
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
32
29
14
-2
78
-50
59
-68
45
-6
96
-16
-69
-31
21
-2
-8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-67
-8
2
44
-25
58
-88
-31
-16
-10
0
2
1
0
8
-4
-42
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
-15
-17
-37
-29
-39
34
-47
-5
-31
-28
-45
21
-25
-122
32
-16
4
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
27
-45
-28
-15
75
75
-14
20
-63
0
-26
33
40
-71
7
32
-92
-42
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
58
-30
9
-5
-25
51
-54
10
9
7
-46
32
42
-9
-9
-43
-15
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
11
-31
165
-37
25
-42
8
41
-29
0
-31
49
-7
8
2
-3
-13
-27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-17
7
10
-58
-14
-9
-22
-35
-13
-93
-68
-39
9
1
-29
-22
-59
-46
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
34
21
-49
-54
66
18
10
59
-57
30
32
-22
-40
-43
12
38
14
-27
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
59
-24
44
-5
-46
12
12
34
66
-32
-39
-58
75
-8
28
-21
49
-42
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
52
-68
-36
-7
39
6
13
5
-105
-6
44
-19
-12
-13
-35
-80
-1
23
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-10
21
-21
-37
-14
-28
29
-34
-45
-29
-41
2
94
2
-103
-44
-35
-51
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-19
10
-7
47
-5
-9
31
3
-78
-21
29
-34
-83
22
25
-66
4
-42
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
14
38
5
8
17
4
-20
23
-81
40
64
15
37
8
-38
47
-2
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
59
-11
11
32
4
66
5
22
43
-41
23
-22
53
0
42
-24
7
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
31
-4
-2
-27
49
-21
37
-16
-22
31
-4
-32
-21
-56
-27
-45
-1
19
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
17
18
0
3
-35
-66
2
33
18
-35
37
-31
16
24
-71
-53
5
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
41
57
6
8
-15
47
12
-26
-69
21
58
-57
-16
-6
-30
14
14
-50
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
57
-40
-68
32
33
49
-22
-13
5
4
20
5
14
5
22
-31
5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
44
29
53
-33
39
-2
-5
-83
23
47
23
-12
-9
-13
-91
-67
-13
-4
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-8
54
5
69
-1
-73
-18
30
11
7
-46
3
13
-12
-101
-32
49
-17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-13
40
-24
-13
-34
-16
42
63
45
-40
-126
42
23
4
59
-57
-22
-28
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
40
-50
17
22
-36
70
59
-17
-3
-4
48
43
6
-21
-18
13
-16
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
44
11
-5
-42
14
4
-50
-75
25
22
33
-32
73
-46
-30
-58
-88
50
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-14
17
18
27
28
-26
-11
26
27
-4
-17
8
1
-7
-20
-11
-41
-7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
52
-47
-5
39
11
20
-1
-13
6
27
-80
6
47
9
-59
38
-28
-32
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
78
107
69
-23
-107
26
-40
-4
14
-27
-42
6
-20
0
-7
-56
31
47
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-37
24
-13
60
-89
25
-18
74
5
-20
-41
-39
49
-14
2
-102
49
-20
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
23
14
29
-10
-57
45
-65
65
-51
-5
-34
4
7
8
-27
-10
-3
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
39
-33
37
65
27
38
75
-94
13
64
31
-31
36
24
-121
-38
-18
58
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
-26
-38
-17
51
-58
28
-21
48
-26
12
-21
-50
-47
31
54
-56
27
75
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
23
-33
-36
42
-14
-16
20
65
24
-18
-63
1
23
-30
-61
-14
22
-57
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
22
-23
-22
-39
-25
-5
38
-60
62
-24
-50
64
25
65
-93
-42
-25
-99
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
24
26
49
-8
20
-52
83
-14
-11
3
-53
74
-28
-22
-31
-5
-75
31
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
47
41
59
-54
30
11
-40
60
58
-13
-33
7
-7
-2
9
13
-31
-48
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
15
43
-43
-30
11
-3
-50
7
10
-120
25
26
-68
22
-75
0
-7
-60
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-54
16
9
37
-47
-2
-6
98
-9
32
88
-14
-51
-14
-114
-116
-16
30
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-26
49
-10
55
6
14
2
44
30
4
100
-48
-13
-20
-25
-30
-31
75
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
30
24
-65
-3
-16
16
-7
5
32
-16
-50
-16
3
5
-24
-49
-7
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
9
-24
-27
-11
-16
39
24
25
5
40
-51
-29
9
9
4
-143
-28
-2
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
5
-4
-7
3
20
-58
-46
98
-7
-59
-26
-19
-50
-50
-33
-52
12
-30
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-10
66
6
57
-2
-7
107
-22
22
16
29
15
20
3
-76
16
15
-28
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
23
22
35
-41
-35
-38
99
-27
113
-22
-13
-54
0
8
4
4
4
20
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-32
32
-11
26
-28
-43
-16
-37
-77
-44
-13
9
11
-31
4
-27
-82
-74
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
28
-10
-12
-23
17
-13
-34
-38
-9
-24
-25
-6
-10
13
19
-38
-19
59
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
11
5
0
0
17
44
2
0
0
15
27
12
0
0
24
13
16
0
0
15
3
5
0
0
3
-8
15
0
0
12
9
-1
0
0
22
-18
-8
0
0
0
0
-1
0
0
-4
12
-1
0
0
16
-17
-3
0
0
0
10
6
0
0
-1
-6
0
0
0
0
-5
-4
0
0
7
-12
-15
0
0
10
6
-22
0
0
-2
14
4
0
0
0
1
-8
0
0
0
0
-3
0
0
5
-6
1
0
0
8
5
-16
0
0
3
1
2
0
0
0
-3
0
0
0
-3
6
10
0
0
0
10
0
0
0
-1
-8
5
0
0
0
-8
8
0
0
-13
31
1
0
0
7
8
4
0
0
0
-1
4
0
0
5
-8
8
48
1
-53
23
7
0
0
25
30
5
0
0
-19
-42
6
0
0
-1
-24
1
0
0
3
-8
31
0
0
15
-2
12
0
0
-10
8
12
0
0
-6
-13
-1
0
0
-13
25
19
0
0
15
-3
-7
0
0
0
19
-5
0
0
-8
5
-2
0
0
-25
13
-10
0
0
-1
3
2
0
0
-6
-1
-5
0
0
-2
8
0
0
0
-8
22
-7
0
0
0
-8
-4
0
0
7
-12
-4
0
0
0
1
0
0
0
-2
1
1
0
0
-4
-3
-3
0
0
-13
-12
2
0
0
0
0
-4
0
0
1
8
2
0
0
0
-3
2
0
0
-1
8
8
0
0
0
-7
3
0
0
8
-1
-7
0
0
2
-19
8
0
0
2
-7
-6
0
0
17
-13
-8
-5
76
-4
33
-7
0
0
56
-43
1
0
0
19
-44
0
0
0
-13
-21
41
0
0
-22
17
-8
0
0
-3
-1
-1
0
0
20
27
18
0
0
-7
5
-2
0
0
-8
-7
1
0
0
14
-10
-5
0
0
-8
-4
0
0
0
6
12
4
0
0
-7
24
3
0
0
-3
-16
0
0
0
-1
8
-3
0
0
1
-3
-3
0
0
12
-8
0
0
0
1
-12
20
0
0
0
1
3
0
0
1
-6
-6
0
0
2
0
2
0
0
6
7
-2
0
0
-3
-1
-3
0
0
0
-10
0
0
0
-6
-2
-2
0
0
0
-24
2
0
0
0
-10
-6
0
0
-2
2
-6
0
0
2
4
-12
0
0
-1
15
0
0
0
-1
8
13
0
0
-10
10
-13
-46
-5
19
5
10
0
0
32
-7
0
0
0
-38
68
1
0
0
2
-2
-25
0
0
7
41
23
0
0
17
1
2
0
0
19
-5
7
0
0
4
7
4
0
0
3
20
2
0
0
19
5
-1
0
0
-6
20
3
0
0
-1
1
6
0
0
-20
-30
-5
0
0
0
1
-1
0
0
0
6
-5
0
0
1
-20
0
0
0
-16
17
13
0
0
2
-2
-2
0
0
-4
-1
0
0
0
0
1
3
0
0
37
-12
8
0
0
-8
-5
10
0
0
0
-8
4
0
0
0
4
-1
0
0
-7
41
0
0
0
0
16
-3
0
0
0
-9
-3
0
0
0
1
-1
0
0
9
22
-6
0
0
-2
-5
0
0
0
4
-8
-6
0
0
0
8
0
1
-22
12
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
43
-2
0
0
13
9
10
0
0
12
-5
2
0
0
-60
-14
-8
0
0
-16
-7
1
0
0
-19
5
-8
0
0
6
-7
0
0
0
51
4
-4
0
0
9
-35
18
0
0
17
5
20
0
0
19
9
7
0
0
34
0
24
0
0
-9
17
-3
0
0
10
3
-8
0
0
-9
-7
3
0
0
3
15
-20
0
0
-4
9
-2
0
0
8
-4
2
0
0
2
-5
0
0
0
1
2
0
0
0
1
-24
1
0
0
-1
8
6
0
0
3
-2
0
0
0
-10
-31
-9
0
0
0
8
-6
0
0
-1
6
0
0
0
0
9
-4
0
0
-1
-10
0
0
0
-2
3
8
0
0
-1
0
-27
0
0
-14
3
2
22
62
-9
-4
-4
0
0
5
-5
13
0
0
29
8
-7
0
0
14
7
-7
0
0
16
2
-5
0
0
-23
-9
-1
0
0
-3
42
3
0
0
0
-1
0
0
0
8
-3
1
0
0
-23
16
-7
0
0
38
-33
8
0
0
5
-8
-1
0
0
-14
-20
0
0
0
-2
2
0
0
0
-2
-12
-1
0
0
-2
0
0
0
0
3
-5
0
0
0
-12
-8
-4
0
0
-10
-15
3
0
0
0
-5
-2
0
0
0
-8
0
0
0
-1
2
0
0
0
10
-1
-5
0
0
0
5
2
0
0
13
48
-18
0
0
1
-6
-1
0
0
0
5
1
0
0
0
-2
0
0
0
-4
-6
-1
0
0
1
0
-3
0
0
-8
-6
-9
0
0
-4
2
0
23
23
-9
2
-14
0
0
-15
35
4
0
0
12
0
-3
0
0
-4
-2
2
0
0
15
-1
5
0
0
2
-6
0
0
0
0
2
0
0
0
-6
-5
-1
0
0
3
-17
-1
0
0
5
-18
5
0
0
13
-22
-2
0
0
-5
20
-10
0
0
0
14
8
0
0
3
3
-1
0
0
0
-1
0
0
0
-6
13
0
0
0
-17
7
5
0
0
2
10
-1
0
0
0
2
0
0
0
2
4
0
0
0
1
-1
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
-3
0
0
0
-8
-1
0
0
0
0
1
0
0
0
0
3
0
0
0
7
2
0
0
-3
0
0
0
0
0
5
1
0
0
4
-3
-2
12
-36
-1
-14
-15
0
0
-7
16
-4
0
0
25
-5
-6
0
0
2
-2
-2
0
0
2
-3
5
0
0
0
3
0
0
0
-5
-16
-1
0
0
-1
1
1
0
0
28
-2
0
0
0
-4
-1
-2
0
0
-35
13
14
0
0
-23
5
-2
0
0
-40
-22
2
0
0
0
-2
-1
0
0
-1
0
7
0
0
0
0
0
0
0
-1
-24
-1
0
0
-1
-1
0
0
0
6
-4
0
0
0
-1
9
-2
0
0
7
17
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
-4
3
0
0
-1
-9
-2
0
0
0
1
0
0
0
0
-1
0
0
0
2
-2
5
0
0
-1
-10
0
0
0
-2
-4
-1
0
0
0
-2
0
1
-40
-1
-26
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
8
0
0
20
10
0
0
0
-21
5
22
0
0
-3
12
2
0
0
-5
0
7
0
0
10
-8
-6
0
0
0
8
-6
0
0
19
-2
3
0
0
9
0
-10
0
0
1
1
1
0
0
2
5
0
0
0
1
-3
0
0
0
2
-13
0
0
0
0
-2
1
0
0
-2
10
-2
0
0
-45
-1
4
0
0
-54
23
29
0
0
-37
70
-34
0
0
70
-45
4
0
0
0
26
1
0
0
29
-11
16
0
0
8
13
9
0
0
-14
5
0
0
0
-4
-2
-25
0
0
2
-8
3
0
0
6
-8
-8
0
0
16
-8
21
0
0
29
-25
19
0
0
-4
6
13
0
0
-8
3
6
0
0
-6
28
21
17
-6
-19
-33
-30
0
0
-9
6
0
0
0
4
-40
4
0
0
-31
5
-2
0
0
-5
1
4
0
0
-6
-5
9
0
0
25
-16
-14
0
0
3
0
1
0
0
8
8
-2
0
0
8
16
0
0
0
2
-13
0
0
0
0
-48
17
0
0
15
5
-6
0
0
-4
-8
-2
0
0
0
-10
0
0
0
-2
-2
0
0
0
19
9
0
0
0
13
34
-5
0
0
33
-3
-4
0
0
-39
-10
23
0
0
-3
-42
-42
0
0
-3
-21
-54
0
0
-13
-25
24
0
0
5
-8
-15
0
0
16
-12
-10
0
0
-3
23
-5
0
0
6
17
7
0
0
4
28
6
0
0
0
8
-17
0
0
-7
-7
14
0
0
-8
19
-7
0
0
-7
-13
5
-22
8
13
-19
0
0
0
8
-2
2
0
0
-5
5
5
0
0
13
-18
0
0
0
-4
15
-3
0
0
2
-24
0
0
0
2
0
0
0
0
-1
1
1
0
0
5
-8
4
0
0
-3
5
0
0
0
-3
1
0
0
0
-3
4
2
0
0
-2
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-6
5
6
0
0
29
0
-2
0
0
-11
22
-44
0
0
26
-14
0
0
0
-8
-2
6
0
0
-43
8
-19
0
0
48
-41
16
0
0
-43
18
-17
0
0
7
-17
5
0
0
-43
-28
7
0
0
-28
0
-12
0
0
13
1
-8
0
0
31
13
-29
0
0
9
2
-15
0
0
2
1
20
0
0
13
-44
-13
0
0
-12
37
13
-27
22
31
0
3
0
0
-1
-7
-4
0
0
-5
2
0
0
0
3
5
4
0
0
-13
5
6
0
0
-4
2
0
0
0
-8
-3
-4
0
0
1
1
0
0
0
3
-7
2
0
0
0
-2
0
0
0
1
1
0
0
0
-2
1
0
0
0
0
-8
7
0
0
0
2
-2
0
0
-1
1
0
0
0
0
-2
0
0
0
-1
-5
-4
0
0
22
8
3
0
0
12
5
17
0
0
-24
-6
-12
0
0
-18
-41
13
0
0
-73
16
1
0
0
-5
5
16
0
0
2
1
-14
0
0
43
-6
-1
0
0
-7
-23
-14
0
0
-23
-13
8
0
0
6
3
13
0
0
33
-34
3
0
0
-5
10
-8
0
0
0
-4
-13
0
0
2
-10
-13
-22
14
-23
23
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
25
0
0
4
-16
4
0
0
15
9
-1
0
0
-5
-4
7
0
0
-33
-1
1
0
0
5
6
-3
0
0
-2
-8
0
0
0
-14
-5
-19
0
0
10
12
1
0
0
13
2
1
0
0
3
-12
-2
0
0
-7
2
-1
0
0
-1
-25
0
0
0
0
0
0
0
0
0
3
0
0
0
-16
-1
-1
0
0
8
-37
-4
0
0
6
8
-1
0
0
-2
15
-13
0
0
-13
-10
4
0
0
-10
16
6
0
0
4
-17
5
0
0
-12
0
6
0
0
50
-31
-20
0
0
39
2
-27
0
0
-90
33
-10
0
0
9
-4
30
0
0
30
-37
0
0
0
-9
48
-10
0
0
23
6
15
0
0
-8
-36
-9
8
12
-40
18
63
0
0
25
5
-2
0
0
-9
-10
2
0
0
-15
8
-6
0
0
6
-7
3
0
0
-13
8
0
0
0
15
-6
1
0
0
0
5
0
0
0
-10
7
0
0
0
3
16
1
0
0
-16
7
1
0
0
0
16
8
0
0
5
8
0
0
0
0
4
0
0
0
4
2
0
0
0
0
-1
0
0
0
-3
14
-2
0
0
12
21
-8
0
0
-79
-30
-5
0
0
0
12
-7
0
0
-10
12
4
0
0
-12
16
0
0
0
-1
-18
-6
0
0
-1
-4
3
0
0
-9
15
-5
0
0
-13
14
22
0
0
42
25
5
0
0
9
-16
-20
0
0
4
-29
26
0
0
9
-44
-40
0
0
11
-15
8
0
0
2
-9
-22
24
-34
-97
79
16
0
0
5
7
4
0
0
-10
2
0
0
0
5
3
-2
0
0
-6
6
1
0
0
5
4
-1
0
0
-1
0
0
0
0
0
-5
-2
0
0
14
5
1
0
0
0
4
0
0
0
0
1
0
0
0
0
-10
4
0
0
0
1
0
0
0
0
-2
0
0
0
0
1
0
0
0
1
0
0
0
0
12
-4
-1
0
0
11
-15
6
0
0
25
0
2
0
0
4
5
-6
0
0
-41
-20
-2
0
0
9
5
-1
0
0
-1
0
-3
0
0
2
-5
8
0
0
5
-20
-8
0
0
-60
0
37
0
0
5
-7
-16
0
0
42
5
33
0
0
-13
28
-14
0
0
50
-4
8
0
0
1
24
-14
0
0
-16
-52
9
-48
12
-69
-22
28
0
0
5
6
1
0
0
-42
1
2
0
0
14
6
-1
0
0
-10
10
2
0
0
2
-1
-1
0
0
0
4
-1
0
0
-4
0
0
0
0
-42
15
-3
0
0
0
-2
0
0
0
-2
0
0
0
0
0
8
0
0
0
1
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-9
-32
-4
0
0
-27
27
-4
0
0
13
16
-3
0
0
18
-4
-7
0
0
16
-6
-2
0
0
0
0
-2
0
0
0
-2
0
0
0
-4
1
-1
0
0
-27
-5
-15
0
0
6
6
32
0
0
26
-32
3
0
0
42
12
-79
0
0
20
22
-2
0
0
-31
25
31
0
0
-18
-15
-9
0
0
6
1
16
-25
-6
53
-49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
-8
0
0
3
23
-20
0
0
32
-9
5
0
0
-10
23
2
0
0
13
9
4
0
0
8
13
3
0
0
5
6
-2
0
0
32
1
-5
0
0
17
-5
0
0
0
14
3
-8
0
0
-2
5
3
0
0
-1
-6
-10
0
0
1
5
0
0
0
0
0
-6
0
0
-1
-8
-4
0
0
5
-2
6
0
0
4
5
24
0
0
-1
-3
-1
0
0
6
5
5
0
0
-43
-1
0
0
0
-5
6
1
0
0
0
-1
0
0
0
-1
-2
2
0
0
5
-19
6
0
0
8
13
-6
0
0
0
-8
-2
0
0
0
-3
-9
0
0
7
23
0
0
0
5
-20
-1
0
0
1
27
6
0
0
-8
-9
17
41
-2
23
7
17
0
0
-5
8
2
0
0
4
1
5
0
0
42
-8
-4
0
0
3
13
-3
0
0
-7
-22
-3
0
0
3
0
8
0
0
0
3
0
0
0
-14
4
2
0
0
-5
-3
0
0
0
-8
2
-4
0
0
17
5
6
0
0
-24
-2
12
0
0
-1
2
-2
0
0
0
20
-3
0
0
-2
6
1
0
0
2
1
22
0
0
2
-8
-3
0
0
19
-2
1
0
0
0
2
0
0
0
2
-3
0
0
0
-4
-20
-2
0
0
0
-3
0
0
0
0
-6
-1
0
0
-29
9
-1
0
0
0
-8
-6
0
0
6
9
-2
0
0
0
-10
1
0
0
8
-5
4
0
0
1
-3
-1
0
0
24
5
-5
0
0
-3
4
6
13
-13
-6
31
3
0
0
-6
-17
-16
0
0
9
-8
-2
0
0
2
2
-10
0
0
34
-12
29
0
0
-1
6
-6
0
0
-12
-5
-3
0
0
2
3
0
0
0
-8
8
-1
0
0
2
-3
0
0
0
-1
-4
0
0
0
0
17
0
0
0
3
6
6
0
0
0
1
-1
0
0
0
2
0
0
0
-3
-5
0
0
0
-24
0
0
0
0
2
-16
0
0
0
0
4
8
0
0
0
-10
1
0
0
-12
3
1
0
0
-2
8
0
0
0
0
-6
2
0
0
0
0
1
0
0
7
16
7
0
0
-3
-12
0
0
0
-3
0
-2
0
0
0
10
0
0
0
3
-9
0
0
0
9
3
0
0
0
0
-8
-3
0
0
0
0
-2
31
-5
-3
9
-6
0
0
3
-23
0
0
0
3
19
-1
0
0
-35
-1
-4
0
0
-12
16
0
0
0
-18
8
-1
0
0
7
3
8
0
0
0
-5
5
0
0
7
13
-3
0
0
7
0
0
0
0
-16
-1
-4
0
0
2
25
5
0
0
12
12
-6
0
0
1
0
0
0
0
0
0
0
0
0
1
-5
-3
0
0
18
-5
1
0
0
-1
2
-1
0
0
-4
8
2
0
0
0
1
0
0
0
16
0
0
0
0
3
-13
0
0
0
-1
-1
0
0
0
0
2
-8
0
0
8
6
0
0
0
-5
13
0
0
0
5
0
0
0
0
1
0
0
0
0
4
32
4
0
0
-4
-8
2
0
0
0
5
-2
0
0
-1
3
-4
-21
21
4
13
-8
0
0
0
0
2
0
0
7
0
-24
0
0
-31
-18
-6
0
0
14
7
7
0
0
2
4
1
0
0
0
1
8
0
0
0
0
0
0
0
-5
-3
4
0
0
5
1
0
0
0
-3
6
0
0
0
1
5
-1
0
0
-10
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
1
1
0
0
5
8
-1
0
0
3
8
0
0
0
0
-2
0
0
0
-1
0
-4
0
0
0
-3
0
0
0
0
3
0
0
0
0
4
1
0
0
0
-1
0
0
0
3
-6
-1
0
0
0
1
2
0
0
1
-7
-7
0
0
0
-6
1
0
0
-3
-35
1
0
0
1
6
0
0
0
0
8
0
0
0
-1
3
-2
-25
9
-24
3
3
0
0
21
-8
-3
0
0
-1
-12
7
0
0
-8
19
4
0
0
-43
-15
-1
0
0
5
-3
1
0
0
-5
-3
0
0
0
0
0
0
0
0
-4
-1
0
0
0
3
-6
-2
0
0
-5
-4
2
0
0
-1
-17
-1
0
0
6
8
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
4
0
0
3
-4
0
0
0
0
1
-1
0
0
4
-2
0
0
0
0
3
0
0
0
0
-3
0
0
0
0
0
-1
0
0
-1
2
1
0
0
7
10
0
0
0
-8
3
1
0
0
2
-2
-2
0
0
0
21
1
0
0
-1
-6
0
0
0
-4
-1
-1
0
0
-2
4
-3
10
5
6
3
1
0
0
17
-2
-2
0
0
-3
-1
-10
0
0
6
9
-3
0
0
0
0
-1
0
0
0
-2
0
0
0
-1
0
0
0
0
0
1
0
0
0
10
-1
0
0
0
0
-10
0
0
0
-2
0
0
0
0
0
-3
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
2
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
8
0
-1
0
0
0
-1
0
0
0
1
5
3
0
0
0
2
0
0
0
0
1
0
0
0
1
-3
0
-7
5
23
-20
-2
0
0
4
20
6
0
0
-17
-7
7
0
0
19
-4
13
0
0
42
-5
-1
0
0
-2
-3
3
0
0
4
-3
-1
0
0
0
2
1
0
0
14
-6
-3
0
0
7
6
0
0
0
5
8
-1
0
0
-8
-14
-5
0
0
-17
-8
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-2
-4
0
0
-15
0
0
0
0
-5
-8
0
0
0
-3
0
0
0
0
3
3
0
0
0
1
0
-1
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
-3
18
3
0
0
0
4
2
0
0
0
0
0
0
0
-2
-9
-2
0
0
0
7
0
0
0
1
-1
-3
0
0
-2
-5
1
-1
-17
-7
4
0
0
0
-12
9
-6
0
0
12
5
13
0
0
-1
-5
1
0
0
-7
27
13
0
0
5
0
4
0
0
6
1
0
0
0
0
1
0
0
0
-3
1
-8
0
0
5
1
0
0
0
25
2
-1
0
0
2
-18
3
0
0
-6
-3
-3
0
0
-3
0
-1
0
0
0
0
0
0
0
0
1
1
0
0
6
14
-6
0
0
5
-14
1
0
0
5
0
0
0
0
1
0
0
0
0
5
3
6
0
0
0
0
4
0
0
1
-1
5
0
0
-1
-1
0
0
0
15
-21
-3
0
0
0
-7
-14
0
0
1
13
0
0
0
2
2
2
0
0
-1
-6
0
0
0
-10
9
3
0
0
-1
-3
1
0
0
0
4
-2
7
47
-22
4
14
0
0
-1
-8
-5
0
0
8
3
-7
0
0
3
8
-4
0
0
-20
5
-4
0
0
-8
5
2
0
0
-6
-13
0
0
0
1
0
0
0
0
-20
3
0
0
0
-8
10
-5
0
0
-17
-9
5
0
0
0
8
5
0
0
0
5
10
0
0
0
0
-2
0
0
0
0
-2
0
0
-1
0
0
0
0
6
7
0
0
0
1
2
2
0
0
0
-7
-1
0
0
1
0
0
0
0
5
-5
-1
0
0
0
3
1
0
0
0
3
-1
0
0
0
2
0
0
0
8
-13
0
0
0
0
-22
-2
0
0
2
7
-2
0
0
0
1
-1
0
0
-2
14
0
0
0
1
8
7
0
0
5
8
-2
0
0
-4
-2
0
10
-26
-10
3
-13
0
0
15
-19
6
0
0
-13
-16
2
0
0
22
21
6
0
0
13
-19
-8
0
0
0
0
5
0
0
0
0
-1
0
0
0
-1
0
0
0
8
10
1
0
0
-7
-5
2
0
0
6
-3
2
0
0
-14
-1
0
0
0
-1
0
0
0
0
1
1
0
0
0
0
0
3
0
0
0
0
0
0
0
7
-3
2
0
0
-2
1
0
0
0
-1
1
1
0
0
2
0
2
0
0
-4
0
0
0
0
-1
0
-1
0
0
-2
0
-2
0
0
0
1
1
0
0
4
22
1
0
0
1
5
0
0
0
-1
0
0
0
0
0
-4
0
0
0
-4
-9
0
0
0
0
1
2
0
0
0
-5
-2
0
0
1
-2
0
-12
-37
7
12
-4
0
0
41
5
0
0
0
30
-21
-4
0
0
-17
-7
0
0
0
1
-3
-3
0
0
8
3
-2
0
0
-2
-10
0
0
0
-1
-1
-3
0
0
-29
6
0
0
0
3
13
-2
0
0
9
1
2
0
0
3
5
0
0
0
20
12
0
0
0
4
0
0
0
0
-2
-2
0
0
0
0
-3
2
0
0
-3
-8
0
0
0
8
16
0
0
0
0
5
-1
0
0
0
-4
0
0
0
8
-3
1
0
0
3
6
0
0
0
0
0
0
0
0
-2
-1
0
0
0
-5
0
1
0
0
2
-5
0
0
0
-2
3
0
0
0
-1
-4
-2
0
0
-6
-7
0
0
0
-2
0
2
0
0
0
0
0
0
0
-1
-15
1
11
-7
17
8
-1
0
0
8
22
3
0
0
9
-5
13
0
0
0
-24
-1
0
0
7
5
-1
0
0
3
-1
0
0
0
-1
-1
0
0
0
-1
-2
0
0
0
13
-8
-1
0
0
-10
10
0
0
0
0
8
0
0
0
3
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
2
0
0
0
-4
-5
-1
0
0
1
-10
-2
0
0
1
0
-1
0
0
9
4
0
0
0
-2
3
-1
0
0
0
0
0
0
0
0
6
0
0
0
-8
1
-4
0
0
-1
1
0
0
0
-2
6
3
0
0
0
-2
0
0
0
0
0
2
0
0
0
-5
-1
0
0
-2
0
0
0
0
8
0
0
-5
18
-5
4
5
0
0
32
13
3
0
0
-1
-18
0
0
0
19
8
-4
0
0
0
4
-7
0
0
-2
-1
0
0
0
6
3
0
0
0
0
0
0
0
0
-7
-4
0
0
0
-1
5
1
0
0
0
-9
-1
0
0
-1
8
0
0
0
-10
-3
0
0
0
0
1
0
0
0
0
1
0
0
0
0
-3
0
0
0
-1
1
0
0
0
0
-3
1
0
0
-3
-3
0
0
0
1
-1
0
0
0
-7
4
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
5
5
0
0
0
1
6
0
0
0
-1
4
0
0
0
-4
1
0
0
0
1
-6
0
0
0
0
5
0
0
0
1
-13
-1
0
0
0
5
0
-29
24
-2
-2
2
0
0
8
-7
-1
0
0
13
-6
8
0
0
-24
6
0
0
0
-11
-6
13
0
0
-1
5
0
0
0
7
1
0
0
0
1
0
-1
0
0
4
-20
0
0
0
3
5
0
0
0
4
1
1
0
0
3
0
0
0
0
-4
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
16
-6
1
0
0
0
-3
3
0
0
7
-14
2
0
0
-2
4
0
0
0
-8
5
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
-6
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-12
0
0
0
1
3
0
0
0
-2
0
0
-31
59
2
-15
10
0
0
2
46
13
0
0
9
2
1
0
0
-21
5
6
0
0
-9
8
5
0
0
-8
-4
1
0
0
4
2
-3
0
0
-1
-2
-2
0
0
7
23
4
0
0
19
13
-3
0
0
31
-10
1
0
0
-5
-4
1
0
0
31
3
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
3
-5
0
0
6
0
-2
0
0
5
20
-5
0
0
-14
8
-6
0
0
-2
-4
-4
0
0
-20
0
0
0
0
1
-8
-4
0
0
-1
-1
0
0
0
0
0
1
0
0
5
-16
-1
0
0
-4
7
0
0
0
0
-8
1
0
0
0
-1
1
0
0
1
-24
-1
0
0
16
5
1
0
0
-2
-2
0
0
0
-15
0
-1
3
-56
-12
-13
-3
0
0
6
-8
1
0
0
0
-5
0
0
0
0
0
9
0
0
-1
6
-8
0
0
-2
-4
-3
0
0
0
0
0
0
0
1
8
0
0
0
13
3
-2
0
0
-5
5
1
0
0
-1
0
0
0
0
0
-4
2
0
0
1
-6
0
0
0
5
0
0
0
0
0
3
0
0
0
-4
1
0
0
0
1
-8
-8
0
0
-21
-43
-32
0
0
35
-3
-58
0
0
19
-23
41
0
0
18
2
-21
0
0
-14
33
-6
0
0
-18
-9
-7
0
0
-6
15
15
0
0
31
23
-30
0
0
6
-16
-1
0
0
7
10
-4
0
0
16
9
26
0
0
26
14
46
0
0
-6
0
8
0
0
-2
13
2
0
0
6
43
49
49
51
18
23
9
0
0
-5
2
-1
0
0
13
-5
7
0
0
2
1
3
0
0
-25
8
2
0
0
-1
-5
0
0
0
0
3
3
0
0
0
0
0
0
0
-7
1
0
0
0
3
-10
0
0
0
-6
-1
0
0
0
3
6
4
0
0
-1
-6
0
0
0
-2
-2
-2
0
0
0
12
0
0
0
0
7
2
0
0
-12
9
6
0
0
-14
-5
-14
0
0
31
7
0
0
0
18
-9
-14
0
0
5
35
-22
0
0
-44
-8
13
0
0
-5
1
19
0
0
1
5
9
0
0
-13
-29
-24
0
0
-48
4
3
0
0
3
-6
-12
0
0
-7
-6
-17
0
0
-7
-29
-5
0
0
-8
13
12
0
0
-25
8
-21
0
0
25
-3
-8
43
5
13
-35
15
0
0
10
-3
1
0
0
17
-3
0
0
0
-4
-8
0
0
0
-13
-8
-4
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
-1
0
0
0
-4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
1
0
0
0
5
0
0
0
-31
-3
-10
0
0
-4
40
15
0
0
-2
-10
8
0
0
-31
-13
-20
0
0
-42
-4
-2
0
0
6
5
1
0
0
16
-8
-8
0
0
7
-13
-14
0
0
13
-6
-4
0
0
24
3
-10
0
0
5
-4
-1
0
0
5
7
24
0
0
29
4
-1
0
0
-6
-6
-12
0
0
2
-5
-3
0
0
5
-1
5
-38
-9
-24
-5
-27
0
0
17
8
-1
0
0
3
-8
-2
0
0
6
-1
-3
0
0
12
3
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
2
0
0
15
-3
1
0
0
-5
-12
0
0
0
8
0
0
0
0
1
6
-1
0
0
9
5
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-2
0
0
0
0
8
-2
0
0
6
-24
-4
0
0
-8
0
27
0
0
-5
-10
-3
0
0
0
-25
-20
0
0
57
-10
8
0
0
-6
12
18
0
0
9
3
-8
0
0
-48
4
5
0
0
-27
-13
-12
0
0
-2
1
1
0
0
4
5
-8
0
0
5
-2
6
0
0
2
-2
-5
0
0
-6
-17
0
0
0
-6
32
-4
-12
30
1
2
-4
0
0
1
3
1
0
0
1
6
1
0
0
0
-8
-1
0
0
2
5
-2
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-8
-1
-2
0
0
-5
-9
-1
0
0
0
0
0
0
0
0
-5
-3
0
0
-1
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
8
7
1
0
0
1
-6
-5
0
0
2
16
-9
0
0
21
-5
13
0
0
-5
-7
-17
0
0
3
2
5
0
0
-16
5
20
0
0
0
-22
6
0
0
-13
-56
2
0
0
7
24
3
0
0
8
-13
7
0
0
-13
-28
-3
0
0
-5
22
-7
0
0
0
8
-10
0
0
0
-3
0
0
0
-8
-9
-6
19
-31
-6
12
3
0
0
25
6
0
0
0
3
2
0
0
0
3
-3
-1
0
0
-13
8
1
0
0
0
2
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-8
0
0
0
0
2
-8
0
0
0
2
-2
0
0
0
0
1
-2
0
0
0
8
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
16
8
2
0
0
-9
39
-5
0
0
7
-13
9
0
0
9
4
16
0
0
-13
-17
4
0
0
9
10
0
0
0
3
2
6
0
0
0
25
-4
0
0
-2
-8
5
0
0
-8
-5
-8
0
0
-8
1
5
0
0
8
-7
8
0
0
8
5
4
0
0
-1
3
5
0
0
1
0
-3
0
0
-5
-1
0
-30
3
-10
2
-12
0
0
5
25
1
0
0
13
5
-4
0
0
0
7
0
0
0
10
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
6
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
1
0
0
-14
21
23
0
0
-51
25
-5
0
0
13
8
-2
0
0
-2
-20
10
0
0
-8
-22
-8
0
0
5
-31
1
0
0
-2
-13
2
0
0
0
8
3
0
0
12
-9
-12
0
0
-3
2
0
0
0
15
-7
0
0
0
-4
-24
-10
0
0
1
5
5
0
0
-1
-20
-5
0
0
2
-6
-5
5
-3
0
-17
-3
0
0
-4
4
7
0
0
-5
-14
-1
0
0
3
3
1
0
0
12
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
-2
0
0
0
13
1
0
0
0
-1
2
0
0
0
1
-1
0
0
0
0
-1
1
0
0
-14
9
1
0
0
0
1
0
0
0
1
0
0
0
0
-1
1
0
0
0
3
-8
2
0
0
-5
0
-16
0
0
-4
-8
-1
0
0
-15
-8
9
0
0
-30
24
-13
0
0
8
-3
2
0
0
-7
-14
-13
0
0
-7
7
0
0
0
-1
1
-7
0
0
-9
-5
10
0
0
-15
4
1
0
0
5
-4
6
0
0
2
-18
-16
0
0
-3
-9
1
0
0
-1
8
8
0
0
0
22
-8
22
-9
0
6
6
0
0
-16
47
0
0
0
32
0
1
0
0
13
18
16
0
0
9
21
1
0
0
-20
-31
-1
0
0
-5
8
0
0
0
-1
-1
-1
0
0
41
0
-1
0
0
6
-3
-3
0
0
2
1
-4
0
0
-2
-1
-1
0
0
2
0
6
0
0
3
-6
0
0
0
-1
-7
0
0
0
8
1
3
0
0
-6
18
0
0
0
44
-8
0
0
0
-19
9
6
0
0
-7
-3
-6
0
0
7
-20
27
0
0
-7
-17
-5
0
0
4
8
-5
0
0
-15
-5
16
0
0
31
0
3
0
0
40
6
-1
0
0
20
31
-35
0
0
-10
24
2
0
0
-35
44
13
0
0
-5
1
1
0
0
34
-5
1
0
0
-5
4
5
16
-12
-18
57
50
0
0
5
-21
8
0
0
-12
-7
-6
0
0
-21
-2
-2
0
0
-5
8
1
0
0
-29
-2
-1
0
0
1
3
0
0
0
1
-6
0
0
0
-24
10
0
0
0
5
0
-3
0
0
6
-7
0
0
0
6
1
-1
0
0
8
-6
-7
0
0
0
3
0
0
0
0
1
1
0
0
2
0
0
0
0
13
10
0
0
0
22
-16
-4
0
0
-13
-34
10
0
0
23
-13
-10
0
0
-18
-7
3
0
0
-4
-2
6
0
0
-3
8
0
0
0
0
-7
-7
0
0
16
25
-14
0
0
18
1
-1
0
0
-18
-49
22
0
0
49
12
16
0
0
77
-7
-2
0
0
1
4
0
0
0
-2
-13
-16
0
0
22
-7
18
63
-5
-28
13
-11
0
0
5
7
0
0
0
-14
25
1
0
0
4
7
1
0
0
2
10
1
0
0
32
-7
0
0
0
5
3
-3
0
0
0
0
0
0
0
-4
-10
0
0
0
2
2
0
0
0
1
1
0
0
0
-1
-1
1
0
0
-4
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
2
7
0
0
-42
10
0
0
0
22
4
3
0
0
13
8
-5
0
0
-21
12
-3
0
0
-5
-14
-2
0
0
1
2
-3
0
0
16
10
-18
0
0
-13
-17
28
0
0
25
-47
43
0
0
9
22
-7
0
0
10
51
-31
0
0
-2
-22
6
0
0
3
-2
12
0
0
-1
-6
-8
16
33
-70
-22
12
0
0
29
-13
1
0
0
5
16
1
0
0
-5
3
-3
0
0
-48
-8
2
0
0
-1
6
0
0
0
0
-2
0
0
0
0
0
0
0
0
-7
2
0
0
0
-3
-4
0
0
0
-3
0
0
0
0
-1
1
0
0
0
1
-23
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-1
1
0
0
0
-3
-3
0
0
0
63
0
-20
0
0
-3
5
-2
0
0
-20
-4
-4
0
0
-2
8
-3
0
0
-6
-2
0
0
0
6
-1
0
0
0
0
-12
0
0
0
-10
-24
-3
0
0
-17
20
61
0
0
0
-31
-40
0
0
20
61
-2
0
0
13
-22
48
0
0
-6
-59
-8
0
0
8
-3
-41
0
0
-31
13
27
-15
-34
3
-9
18
0
0
8
30
25
0
0
-24
13
9
0
0
13
12
-5
0
0
-5
-17
3
0
0
-17
3
1
0
0
0
14
-13
0
0
0
-1
0
0
0
-9
-7
0
0
0
-16
-3
3
0
0
8
0
3
0
0
-2
-4
1
0
0
-5
0
-1
0
0
-1
-6
-1
0
0
0
1
1
0
0
-1
3
0
0
0
9
-5
-14
0
0
-45
60
-15
0
0
18
2
-3
0
0
-16
14
2
0
0
9
4
10
0
0
3
-20
-2
0
0
6
2
-8
0
0
6
8
15
0
0
19
0
4
0
0
23
-27
10
0
0
-13
14
10
0
0
45
8
-51
0
0
-7
-37
-18
0
0
7
-7
14
0
0
-1
17
5
0
0
-13
14
10
-16
20
-9
-57
-15
0
0
-3
17
7
0
0
17
18
15
0
0
19
-5
2
0
0
31
-7
-3
0
0
14
-4
0
0
0
6
-4
-4
0
0
0
0
0
0
0
14
-7
0
0
0
-3
7
-3
0
0
-17
9
-5
0
0
2
4
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
-1
1
0
0
-55
19
13
0
0
3
-28
-9
0
0
-20
-6
1
0
0
-2
4
-3
0
0
18
2
-16
0
0
1
-12
-1
0
0
0
-8
-2
0
0
-8
-5
-1
0
0
-1
43
-9
0
0
45
16
-8
0
0
15
-10
-2
0
0
-22
-7
-22
0
0
-5
-1
-6
0
0
18
-24
-9
0
0
1
-2
4
2
11
-14
0
19
0
0
-5
-24
-1
0
0
-23
25
-5
0
0
-6
-13
1
0
0
-18
8
-2
0
0
-1
8
0
0
0
2
0
1
0
0
1
2
0
0
0
19
4
4
0
0
13
-10
-1
0
0
-8
15
2
0
0
0
0
1
0
0
-2
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
1
0
0
8
-9
0
0
0
-9
30
41
0
0
2
13
-5
0
0
12
9
-13
0
0
17
-34
-5
0
0
-17
24
-17
0
0
-1
7
4
0
0
0
-44
-2
0
0
-9
2
0
0
0
17
-53
1
0
0
-11
35
-27
0
0
8
42
-43
0
0
27
-5
-25
0
0
5
10
-37
0
0
13
-8
2
0
0
1
-19
-5
-38
-12
-8
-10
16
0
0
0
13
-1
0
0
-3
5
15
0
0
-15
33
-5
0
0
-40
25
-1
0
0
-13
-18
-1
0
0
4
9
-5
0
0
0
-7
0
0
0
-10
-3
-4
0
0
6
-31
4
0
0
0
9
0
0
0
1
-3
4
0
0
5
-19
1
0
0
1
-1
1
0
0
2
-2
0
0
0
0
0
0
0
0
-10
14
-6
0
0
-3
25
9
0
0
2
-1
-5
0
0
-19
14
-24
0
0
4
-24
-5
0
0
-6
-51
-33
0
0
-7
16
8
0
0
-1
-8
-3
0
0
-1
-5
-5
0
0
-7
42
31
0
0
-7
6
13
0
0
-18
-8
4
0
0
-13
-31
23
0
0
6
66
8
0
0
-42
-32
14
0
0
2
-47
-25
-25
0
-18
-18
-32
0
0
24
31
2
0
0
13
-3
9
0
0
-2
-21
3
0
0
-5
20
1
0
0
6
16
-4
0
0
-8
19
0
0
0
9
-2
0
0
0
31
5
-1
0
0
8
-13
0
0
0
0
0
-9
0
0
-6
2
9
0
0
-3
2
-16
0
0
0
5
-3
0
0
0
-9
2
0
0
-3
1
0
0
0
0
15
12
0
0
-2
-9
-3
0
0
-3
3
0
0
0
0
3
0
0
0
3
-2
2
0
0
-3
5
1
0
0
1
5
0
0
0
-4
2
0
0
0
7
-5
6
0
0
0
16
-6
0
0
-1
-17
-4
0
0
3
-8
-8
0
0
-6
6
-22
0
0
-1
2
10
0
0
0
9
3
0
0
-10
1
4
-8
13
21
-6
-4
0
0
6
-20
-7
0
0
24
2
0
0
0
-3
-7
0
0
0
-5
4
-5
0
0
-4
-16
0
0
0
-1
14
15
0
0
1
4
0
0
0
-20
14
0
0
0
13
-2
1
0
0
23
4
-1
0
0
33
27
7
0
0
-10
1
14
0
0
-1
-1
-1
0
0
-1
3
1
0
0
-3
7
5
0
0
5
-2
6
0
0
-1
6
0
0
0
6
-9
0
0
0
0
1
0
0
0
3
0
-1
0
0
4
4
0
0
0
-1
-8
0
0
0
1
2
0
0
0
-17
1
0
0
0
12
17
-8
0
0
0
0
-3
0
0
5
5
0
0
0
3
-1
8
0
0
4
-3
3
0
0
1
-6
-2
0
0
1
14
-3
9
41
-16
20
12
0
0
0
-14
0
0
0
28
-37
-6
0
0
5
7
-8
0
0
-19
9
-3
0
0
2
-8
3
0
0
-2
-1
0
0
0
0
-1
0
0
0
0
12
-2
0
0
-2
-5
0
0
0
-13
3
0
0
0
-5
5
-3
0
0
-3
2
3
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
-7
-8
-3
0
0
-1
-16
3
0
0
2
-9
0
0
0
0
-6
0
0
0
-8
3
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
-13
6
0
0
2
-13
2
0
0
-16
2
-8
0
0
-1
4
1
0
0
-7
34
-2
0
0
9
25
0
0
0
0
-16
2
0
0
-4
-1
-6
-16
-1
4
19
3
0
0
-7
-6
-13
0
0
-10
-5
3
0
0
15
-5
-5
0
0
7
-5
4
0
0
-8
6
1
0
0
10
2
0
0
0
0
-1
-1
0
0
-1
-8
-1
0
0
15
-15
-2
0
0
-16
25
0
0
0
-4
14
9
0
0
-2
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
-2
-1
0
0
0
-1
17
-3
0
0
0
-1
13
0
0
-1
4
3
0
0
0
22
2
0
0
-5
-9
-8
0
0
-1
-2
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
17
0
0
0
1
4
-2
0
0
6
-1
-5
0
0
1
8
-1
0
0
-1
-22
8
0
0
0
-19
2
0
0
0
-2
-1
0
0
-8
-6
0
66
-41
-5
42
3
0
0
-14
25
-3
0
0
19
-8
-9
0
0
-2
-3
-14
0
0
6
3
0
0
0
20
-12
-1
0
0
-1
9
4
0
0
0
1
0
0
0
8
1
2
0
0
1
0
0
0
0
-1
3
0
0
0
0
7
0
0
0
0
-2
0
0
0
-1
-2
-1
0
0
-2
0
0
0
0
0
0
1
0
0
2
3
4
0
0
-1
0
0
0
0
-1
1
0
0
0
2
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
4
1
0
0
0
1
0
0
0
2
0
0
0
0
0
1
-1
0
0
2
-1
-8
0
0
-2
7
0
0
0
0
4
1
0
0
-1
1
5
-7
-7
5
28
0
0
0
23
12
12
0
0
-25
-5
4
0
0
0
-9
0
0
0
-5
-9
8
0
0
9
-10
0
0
0
-8
-17
-9
0
0
1
-1
0
0
0
19
1
-1
0
0
-3
13
0
0
0
-2
0
0
0
0
-1
1
1
0
0
-2
-2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-13
19
2
0
0
0
2
0
0
0
4
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-6
0
0
0
2
0
0
0
0
0
-7
0
0
0
5
-5
-2
0
0
0
-2
0
0
0
0
4
0
0
0
1
4
-1
-20
4
-24
-10
0
0
0
-6
-3
1
0
0
9
6
1
0
0
0
-1
-4
0
0
22
-2
3
0
0
0
1
0
0
0
-1
-2
1
0
0
0
0
0
0
0
3
0
0
0
0
-2
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-2
0
0
2
3
0
0
0
0
0
0
0
0
0
3
1
0
0
1
0
0
0
0
2
-1
0
0
0
0
0
-2
0
0
-1
0
0
0
0
-1
-2
0
0
0
1
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
-9
-11
-3
0
-1
0
0
32
-2
-4
0
0
2
-3
-9
0
0
-20
9
0
0
0
6
18
-2
0
0
0
-3
0
0
0
1
0
-2
0
0
0
2
3
0
0
-10
2
-1
0
0
2
6
1
0
0
0
1
-1
0
0
2
-8
0
0
0
-10
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
10
-1
0
0
0
-5
-8
-2
0
0
0
7
-1
0
0
8
0
0
0
0
-2
-5
1
0
0
0
2
0
0
0
0
1
0
0
0
-1
0
0
0
0
4
-2
-1
0
0
0
8
-1
0
0
4
2
-2
0
0
0
-4
0
0
0
1
-7
-1
0
0
-2
-9
0
0
0
-3
-2
0
0
0
-2
1
0
29
-29
-13
-5
1
0
0
37
-7
1
0
0
5
-4
0
0
0
20
3
2
0
0
-6
-13
-9
0
0
1
1
-2
0
0
4
1
1
0
0
-1
0
1
0
0
10
-5
5
0
0
-5
-5
2
0
0
-3
-4
-1
0
0
-1
1
1
0
0
-3
2
-10
0
0
-3
1
0
0
0
0
0
0
0
0
0
5
1
0
0
-5
2
5
0
0
2
1
0
0
0
4
-5
0
0
0
-1
0
-2
0
0
-2
-3
0
0
0
0
3
1
0
0
0
2
3
0
0
0
0
0
0
0
8
-3
18
0
0
-1
-2
0
0
0
-5
-1
0
0
0
0
-5
1
0
0
5
0
1
0
0
0
6
2
0
0
-1
-4
5
0
0
-1
-5
-1
38
52
25
7
-7
0
0
-9
6
-1
0
0
-5
-9
-5
0
0
10
4
-1
0
0
-15
-1
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-12
-4
0
0
0
4
-1
-1
0
0
4
-13
2
0
0
0
-7
-2
0
0
8
3
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
24
0
-1
0
0
0
-1
-1
0
0
8
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
9
-1
0
0
0
-8
0
0
0
0
3
1
0
0
0
0
0
0
0
-5
-1
-1
0
0
-3
5
2
0
0
4
3
0
0
0
0
3
0
4
-23
-19
-10
-3
0
0
13
-6
7
0
0
-13
4
13
0
0
-3
23
4
0
0
7
-5
7
0
0
2
4
0
0
0
0
-1
0
0
0
-5
-2
0
0
0
5
-12
0
0
0
9
8
-6
0
0
3
-5
0
0
0
-2
-3
6
0
0
22
10
14
0
0
0
-1
0
0
0
0
-1
0
0
0
0
-4
-2
0
0
5
-7
1
0
0
0
-2
0
0
0
1
-5
-1
0
0
-1
0
0
0
0
13
-18
0
0
0
-2
0
-2
0
0
-1
2
0
0
0
0
3
1
0
0
-8
-3
-8
0
0
-1
7
0
0
0
-1
-20
0
0
0
1
-8
0
0
0
2
4
-2
0
0
1
6
-1
0
0
-1
1
-2
0
0
2
0
-3
4
9
-12
-2
8
0
0
-5
6
-5
0
0
1
18
1
0
0
-19
-5
-6
0
0
-31
-6
-1
0
0
5
-4
0
0
0
-2
3
0
0
0
3
0
0
0
0
4
4
0
0
0
-12
30
0
0
0
6
-6
6
0
0
-6
-5
-7
0
0
9
-5
-1
0
0
1
-2
0
0
0
0
0
0
0
0
0
-12
-1
0
0
1
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
-4
-1
0
0
7
1
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
6
6
0
0
4
6
0
0
0
9
5
1
0
0
0
1
-1
0
0
7
0
0
0
0
-4
2
0
0
0
-1
1
0
0
0
0
-18
0
-8
23
-8
5
-6
0
0
-12
0
-5
0
0
-1
7
0
0
0
2
0
0
0
0
-7
-5
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
6
1
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-2
0
0
-1
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
8
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
19
-8
1
-1
0
0
0
6
-8
-1
0
0
10
37
-8
0
0
1
8
1
0
0
-4
2
0
0
0
1
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
13
-8
0
0
0
7
0
0
0
0
1
-8
0
0
0
-3
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
5
6
0
0
0
1
-1
0
0
0
0
-1
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
-1
0
0
-1
-1
-1
0
0
0
1
-1
0
0
-2
-1
-2
0
0
1
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
-2
0
0
0
-1
-6
1
0
0
-1
5
0
0
0
1
3
2
-41
30
6
12
-1
0
0
20
-10
25
0
0
-37
-37
4
0
0
-8
17
-1
0
0
-5
12
6
0
0
17
-2
0
0
0
15
7
0
0
0
-1
-1
0
0
0
-9
5
-1
0
0
4
1
0
0
0
-1
2
1
0
0
2
2
-20
0
0
-5
2
1
0
0
0
-4
0
0
0
0
0
0
0
0
1
2
0
0
0
16
2
0
0
0
6
1
0
0
0
12
0
0
0
0
0
0
0
0
0
6
2
-2
0
0
-1
-8
1
0
0
0
1
-1
0
0
0
1
0
0
0
2
-8
1
0
0
-4
-1
-2
0
0
0
1
0
0
0
0
3
0
0
0
-2
4
0
0
0
-2
0
2
0
0
0
-5
-1
0
0
9
2
0
8
-31
-3
-6
8
0
0
-5
8
6
0
0
13
9
19
0
0
1
14
-2
0
0
-39
4
-7
0
0
-22
1
0
0
0
-16
0
0
0
0
-2
-5
-2
0
0
-8
8
0
0
0
20
-16
0
0
0
5
4
-2
0
0
1
-8
6
0
0
0
13
-5
0
0
0
-1
1
0
0
0
1
0
0
0
-2
-3
-1
0
0
6
3
-6
0
0
8
47
1
0
0
3
-13
1
0
0
-2
-8
0
0
0
-4
-2
1
0
0
8
13
-9
0
0
-1
0
0
0
0
0
1
-1
0
0
8
-14
3
0
0
1
-6
3
0
0
4
10
0
0
0
1
-1
5
0
0
1
-8
5
0
0
2
9
-5
0
0
0
2
-5
0
0
-13
10
-4
8
37
-38
-13
-10
0
0
-24
0
0
0
0
6
12
-5
0
0
0
0
-3
0
0
13
-5
0
0
0
-1
-9
0
0
0
1
-7
2
0
0
0
0
0
0
0
-1
5
2
0
0
1
1
0
0
0
-5
0
1
0
0
1
-3
1
0
0
-5
-1
0
0
0
5
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
-21
-15
-2
0
0
-45
6
-23
0
0
12
1
-15
0
0
-2
-31
9
0
0
48
-12
6
0
0
-19
1
16
0
0
4
-17
10
0
0
0
-10
2
0
0
33
15
-8
0
0
3
-31
-8
0
0
18
-12
-12
0
0
23
8
15
0
0
23
13
33
0
0
1
-13
-24
0
0
-23
0
-25
0
0
20
19
16
5
24
24
7
11
0
0
-5
3
0
0
0
-2
9
9
0
0
-8
6
0
0
0
-15
-2
0
0
0
0
-2
0
0
0
1
-2
-5
0
0
0
0
0
0
0
8
-1
0
0
0
-4
-4
-2
0
0
3
0
0
0
0
-2
0
0
0
0
7
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
6
1
0
0
2
6
0
0
0
-9
-21
-13
0
0
-7
-13
27
0
0
-25
-13
1
0
0
8
6
0
0
0
8
4
10
0
0
8
30
-9
0
0
-1
21
3
0
0
31
-9
-20
0
0
13
3
-8
0
0
10
-2
22
0
0
-41
-14
-2
0
0
-13
2
-10
0
0
1
5
8
0
0
8
-2
-8
0
0
-16
-4
2
11
-53
46
-3
-3
0
0
13
7
0
0
0
4
1
-4
0
0
-4
-5
0
0
0
5
-5
1
0
0
1
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-2
1
0
0
1
-4
0
0
0
-1
0
0
0
0
-1
-2
0
0
0
1
2
0
0
0
0
2
0
0
0
0
-3
0
0
0
-1
4
0
0
0
9
-24
0
0
0
17
25
21
0
0
13
18
-3
0
0
-2
21
-6
0
0
-44
25
-39
0
0
31
-20
1
0
0
-27
8
8
0
0
6
0
-6
0
0
-20
-16
-19
0
0
-8
-25
4
0
0
-4
2
3
0
0
25
-22
-1
0
0
-10
0
8
0
0
2
-6
9
0
0
5
2
7
0
0
5
8
-15
-33
-3
1
-25
8
0
0
14
-8
-2
0
0
-5
-3
0
0
0
3
1
-1
0
0
1
8
0
0
0
-2
-7
1
0
0
1
0
0
0
0
1
0
0
0
0
3
-2
0
0
0
-1
1
0
0
0
0
0
0
0
0
-4
-3
0
0
0
-8
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
17
3
1
0
0
-24
-48
39
0
0
-27
7
7
0
0
-9
-5
-15
0
0
-4
-29
3
0
0
-30
0
4
0
0
-20
-33
4
0
0
2
4
-8
0
0
6
-5
1
0
0
10
16
8
0
0
-1
-5
2
0
0
4
0
-29
0
0
28
-8
1
0
0
-8
12
0
0
0
0
8
-12
0
0
5
19
-8
-23
30
15
-13
-8
0
0
18
-4
0
0
0
6
8
-1
0
0
4
5
0
0
0
-15
3
7
0
0
-8
-7
1
0
0
-3
-16
1
0
0
0
1
0
0
0
-31
7
-5
0
0
-5
0
0
0
0
0
0
-1
0
0
-1
2
2
0
0
1
0
2
0
0
2
-6
-1
0
0
0
0
0
0
0
0
0
2
0
0
-5
12
-6
0
0
-13
37
-41
0
0
-14
-5
5
0
0
2
-9
9
0
0
-45
6
6
0
0
41
-9
-9
0
0
7
-16
-8
0
0
2
4
0
0
0
-5
-4
4
0
0
3
-18
0
0
0
-25
-7
1
0
0
-6
-7
14
0
0
-13
14
-9
0
0
3
3
2
0
0
0
-8
0
0
0
3
-5
4
31
-4
23
-1
3
0
0
-1
2
18
0
0
15
-9
0
0
0
-1
-9
0
0
0
15
8
2
0
0
-14
10
-6
0
0
14
0
-2
0
0
-1
0
0
0
0
-9
0
3
0
0
4
0
1
0
0
-18
0
-1
0
0
-1
0
0
0
0
1
0
-2
0
0
-1
-4
0
0
0
0
0
0
0
0
0
-1
1
0
0
-22
0
0
0
0
-18
30
-30
0
0
-16
-5
-3
0
0
-1
8
18
0
0
7
-12
2
0
0
5
-8
-19
0
0
8
-13
35
0
0
-4
8
2
0
0
17
7
-23
0
0
-16
22
6
0
0
-8
3
1
0
0
12
-30
-8
0
0
-8
-17
-6
0
0
1
-13
-9
0
0
-18
-5
3
0
0
-2
-13
-6
17
0
-20
-4
-10
0
0
12
14
1
0
0
19
6
1
0
0
-2
9
0
0
0
-7
-7
-4
0
0
0
-1
0
0
0
1
0
0
0
0
0
4
0
0
0
-13
0
0
0
0
3
3
1
0
0
-2
-1
1
0
0
-10
-1
-1
0
0
-7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
4
8
-1
0
0
21
-5
7
0
0
-10
2
-15
0
0
46
-16
8
0
0
41
8
-8
0
0
-3
-5
-14
0
0
-25
-4
-10
0
0
0
-7
0
0
0
-5
5
3
0
0
-11
-8
22
0
0
23
4
0
0
0
10
-12
-4
0
0
-7
0
-2
0
0
-2
7
1
0
0
0
-35
9
0
0
-8
-8
0
-40
11
4
10
-16
0
0
45
-8
1
0
0
-23
8
0
0
0
8
30
5
0
0
8
-3
-2
0
0
-5
15
-8
0
0
5
7
-1
0
0
0
0
0
0
0
33
1
0
0
0
-13
-5
0
0
0
13
-13
3
0
0
-2
7
0
0
0
-13
8
5
0
0
0
-3
0
0
0
0
-1
0
0
0
0
-8
0
0
0
-16
1
-1
0
0
7
-15
5
0
0
-29
19
3
0
0
14
-14
-21
0
0
1
30
7
0
0
-2
4
-1
0
0
3
15
-10
0
0
2
-3
-1
0
0
-2
-15
2
0
0
-57
-19
-13
0
0
-7
-2
-6
0
0
8
-29
3
0
0
15
-9
-13
0
0
0
2
19
0
0
-8
5
-5
0
0
-13
-5
1
-6
17
-31
-21
-16
0
0
16
1
0
0
0
32
14
-6
0
0
-2
-5
-7
0
0
32
-3
14
0
0
-4
4
1
0
0
2
1
-1
0
0
0
3
0
0
0
-12
-6
0
0
0
-9
1
0
0
0
-9
-8
0
0
0
-3
4
7
0
0
-7
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
-1
3
1
0
0
18
-5
13
0
0
24
12
-25
0
0
-6
-19
-4
0
0
19
-7
-2
0
0
-33
-20
-22
0
0
9
-5
5
0
0
0
25
-3
0
0
-18
0
13
0
0
30
24
-36
0
0
16
-9
3
0
0
47
-40
28
0
0
-10
37
5
0
0
-12
4
22
0
0
42
3
-25
0
0
30
31
5
0
0
-43
-8
14
27
-13
-27
71
27
0
0
2
2
6
0
0
7
-19
7
0
0
30
0
-8
0
0
-6
-8
5
0
0
-7
1
0
0
0
3
-13
0
0
0
0
-1
0
0
0
-3
-6
-2
0
0
2
0
2
0
0
1
0
0
0
0
1
-2
0
0
0
0
1
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
-5
0
0
0
-1
6
0
0
0
29
-17
-8
0
0
13
-7
0
0
0
-32
-3
-6
0
0
-2
-4
-8
0
0
-17
8
1
0
0
-3
7
0
0
0
-2
-6
3
0
0
13
0
-5
0
0
7
3
1
0
0
-9
0
-17
0
0
21
25
21
0
0
34
-9
4
0
0
3
9
-10
0
0
21
23
-42
0
0
5
8
28
-41
7
-5
48
13
0
0
-6
-13
-2
0
0
-25
29
2
0
0
-5
3
3
0
0
-19
19
3
0
0
-2
8
0
0
0
-5
-1
-1
0
0
0
0
-3
0
0
14
-1
1
0
0
-2
17
-3
0
0
3
-1
4
0
0
1
1
2
0
0
2
-1
4
0
0
1
-1
0
0
0
1
4
-2
0
0
0
3
0
0
0
-2
-17
1
0
0
3
53
-20
0
0
-14
-15
8
0
0
7
16
-19
0
0
6
34
13
0
0
-5
5
8
0
0
-3
6
-9
0
0
9
-8
3
0
0
3
41
-8
0
0
-41
2
41
0
0
-5
10
-31
0
0
36
17
-10
0
0
19
-5
-29
0
0
-5
-14
9
0
0
28
-5
-35
0
0
3
-9
-3
-5
25
-13
-48
19
0
0
23
-3
16
0
0
-18
-2
21
0
0
-9
-14
7
0
0
7
2
7
0
0
0
0
3
0
0
0
3
-4
0
0
0
-1
0
0
0
18
-12
-5
0
0
3
27
-1
0
0
3
-2
1
0
0
-1
-4
0
0
0
23
-1
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-2
-2
0
0
0
-16
0
0
0
0
-44
19
5
0
0
14
-4
-5
0
0
-24
13
-23
0
0
-7
-3
-7
0
0
4
-17
-4
0
0
3
-21
2
0
0
-4
-8
-2
0
0
-8
-15
-2
0
0
-21
-8
19
0
0
4
13
13
0
0
-29
50
-21
0
0
23
-22
-8
0
0
-23
-37
5
0
0
9
-20
8
0
0
8
-42
0
-28
8
-38
-7
-1
0
0
6
18
9
0
0
-12
34
-8
0
0
1
-10
0
0
0
1
39
39
0
0
0
2
0
0
0
1
-4
-1
0
0
-1
-1
0
0
0
14
3
-15
0
0
-5
-22
2
0
0
-6
3
-5
0
0
-2
2
0
0
0
-12
-1
1
0
0
0
-2
-1
0
0
0
-8
0
0
0
0
1
3
0
0
8
-24
-6
0
0
27
13
18
0
0
-49
35
-31
0
0
15
-9
-24
0
0
-25
7
-8
0
0
7
1
4
0
0
8
-6
0
0
0
0
-12
-6
0
0
-16
-42
14
0
0
39
-18
-12
0
0
-41
2
-16
0
0
-30
17
46
0
0
-13
56
13
0
0
-6
5
18
0
0
-3
9
-6
0
0
-3
0
-2
-17
-39
-20
-1
2
0
0
-20
12
-6
0
0
11
9
-10
0
0
22
-5
16
0
0
-3
19
-16
0
0
5
-5
0
0
0
3
-7
2
0
0
0
-2
0
0
0
-32
1
-1
0
0
7
-1
1
0
0
0
8
1
0
0
3
3
-1
0
0
4
-10
1
0
0
2
0
-1
0
0
-1
0
0
0
0
0
2
0
0
0
0
7
-1
0
0
22
-3
-4
0
0
-10
28
8
0
0
-20
1
12
0
0
-21
-16
1
0
0
-12
1
4
0
0
-1
-1
7
0
0
-1
-25
1
0
0
13
19
-24
0
0
-29
3
-5
0
0
-2
24
-3
0
0
-10
-10
0
0
0
-8
-1
23
0
0
32
-5
-10
0
0
-16
-31
33
0
0
29
9
8
2
-6
22
12
-49
0
0
-5
44
5
0
0
27
4
2
0
0
-2
28
9
0
0
9
1
-10
0
0
-8
-2
0
0
0
-13
2
-4
0
0
0
-6
0
0
0
10
-9
3
0
0
8
4
0
0
0
3
-1
1
0
0
3
-15
1
0
0
-8
8
-4
0
0
0
-2
1
0
0
0
1
0
0
0
-3
-4
0
0
0
-14
-14
-4
0
0
2
29
23
0
0
32
-5
13
0
0
-15
22
1
0
0
-30
-23
3
0
0
-5
-5
-7
0
0
0
6
13
0
0
-4
-14
2
0
0
-18
18
0
0
0
29
14
24
0
0
-25
-12
8
0
0
42
40
-44
0
0
24
-52
2
0
0
-17
10
-12
0
0
-23
-25
-5
0
0
5
-32
-14
44
27
-44
-61
1
0
0
-11
76
-5
0
0
18
2
25
0
0
-8
-11
3
0
0
8
-5
-8
0
0
8
-21
1
0
0
1
12
0
0
0
1
8
1
0
0
1
9
2
0
0
-21
7
1
0
0
3
8
4
0
0
7
19
-4
0
0
-13
-31
-13
0
0
2
2
-2
0
0
-1
7
1
0
0
0
6
-4
0
0
7
-4
-8
0
0
-26
3
8
0
0
23
-12
-5
0
0
42
3
13
0
0
4
-32
-2
0
0
-45
-29
-24
0
0
-18
-49
12
0
0
6
16
-10
0
0
-22
-49
20
0
0
15
89
-31
0
0
-7
3
14
0
0
75
5
-5
0
0
23
-7
-15
0
0
-12
3
-7
0
0
-13
-29
8
0
0
-10
-14
10
-17
-22
-5
-68
20
0
31
10
-1
3
0
8
5
5
23
0
13
29
10
13
0
5
39
16
7
0
13
-13
52
-12
0
0
13
19
1
0
-13
2
28
4
0
19
-15
-19
13
0
27
5
9
-14
0
19
14
-5
-9
0
3
6
-10
8
0
-24
6
5
8
0
4
10
-5
-5
0
0
-2
-21
-9
0
-9
-10
-2
17
0
-2
-8
13
-12
0
-10
-8
5
4
0
-3
2
-3
-13
0
1
0
-1
0
0
-10
0
-23
1
0
-5
-4
13
5
0
0
-2
-10
-2
0
0
0
2
-4
0
-2
3
-8
1
0
-5
-6
5
12
0
3
16
3
-8
0
0
-4
10
3
0
0
-1
-3
2
0
4
-1
39
-1
0
0
1
2
-1
0
-39
14
14
12
48
-43
-6
14
7
0
13
22
-9
3
0
26
5
9
-7
0
4
8
45
13
0
-13
-24
-6
10
0
10
21
-21
9
0
32
-4
-45
-17
0
-9
-5
-5
5
0
-26
1
22
8
0
5
-31
-30
5
0
14
24
-4
8
0
-8
-23
12
-4
0
-16
13
-4
0
0
0
-2
9
2
0
-10
-2
9
2
0
0
1
18
-14
0
0
15
-10
-15
0
0
-7
0
0
0
-7
-1
13
10
0
-1
-3
-4
-1
0
5
0
6
-5
0
0
1
0
2
0
1
0
-3
3
0
0
0
-3
0
0
-1
13
4
3
0
-1
-9
5
1
0
3
-15
18
-24
0
0
-5
-32
0
0
8
7
-4
0
0
-2
0
14
0
0
4
-6
-10
-7
0
9
-8
-2
0
-5
10
17
-12
-14
0
-48
27
14
25
0
13
61
12
-9
0
16
-36
11
-8
0
42
69
-22
19
0
4
-13
-15
-7
0
-9
14
-5
0
0
-7
-7
-25
2
0
9
-14
-7
-4
0
-2
12
-4
2
0
-33
-8
-21
2
0
10
-15
-6
-7
0
-3
-9
-3
-8
0
-1
2
9
3
0
0
2
8
-3
0
-17
22
10
0
0
-34
-17
9
5
0
5
-5
-4
0
0
-1
-1
5
-1
0
0
0
-2
4
0
8
-4
-8
0
0
0
1
7
-8
0
0
1
-25
0
0
0
1
-3
1
0
-2
2
8
0
0
4
-8
8
0
0
0
-1
-1
0
0
0
6
8
2
0
7
-7
2
0
0
1
9
19
-7
0
2
-12
-25
13
0
-1
-5
7
-2
-46
15
33
-18
7
0
8
16
2
10
0
-28
27
3
-6
0
42
-27
5
-5
0
9
40
21
19
0
-27
10
22
1
0
49
-22
34
1
0
-13
1
30
10
0
7
1
35
-5
0
-8
15
5
2
0
-20
-5
-6
-4
0
-32
2
24
8
0
-43
10
-9
-8
0
-2
-7
-14
0
0
3
-5
5
-1
0
-2
0
-7
4
0
40
8
-5
-2
0
2
-5
4
0
0
0
6
-6
3
0
2
-3
8
0
0
-14
0
-22
-2
0
-1
-4
-2
0
0
3
1
-13
2
0
1
-1
0
0
0
0
-10
2
5
0
-6
-2
8
0
0
2
-2
-5
-3
0
-1
0
-5
-3
0
0
12
-10
-8
0
0
0
8
-5
0
0
-10
20
-7
0
16
16
-5
7
1
-8
-7
-11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-13
0
-3
0
56
-14
6
2
0
20
4
-8
-3
0
35
0
-2
0
0
7
-7
-1
2
0
-14
2
-8
3
0
-1
1
2
0
0
-24
-4
5
-6
0
-13
41
3
-5
0
12
17
-41
25
0
8
8
-5
-5
0
-6
18
2
-12
0
10
16
13
-7
0
-7
0
6
-1
0
-1
3
-8
0
0
-25
1
-3
-6
0
47
-14
5
2
0
-12
-4
17
1
0
-8
9
9
0
0
-13
-3
1
0
0
15
19
-9
0
0
-3
-1
17
-1
0
-2
-2
0
0
0
5
-10
0
1
0
-13
-2
83
-8
0
-1
13
9
-6
0
3
12
1
-2
0
17
-10
-4
-5
0
-9
-8
-18
-2
0
2
4
-10
0
0
-7
13
-25
1
22
-8
-22
6
6
0
-4
15
-9
5
0
24
29
10
2
0
-8
-5
-9
-9
0
-8
-12
-6
-4
0
14
2
1
-14
0
-17
-8
18
3
0
0
-4
0
0
0
-35
24
0
4
0
-23
-21
-10
-6
0
20
18
-38
5
0
-1
0
-29
1
0
0
12
3
5
0
2
-3
-2
-2
0
5
-5
5
3
0
0
-8
-2
0
0
-7
-1
3
-1
0
5
-5
-9
0
0
-13
29
-6
-10
0
-1
0
1
1
0
15
4
-3
5
0
0
-5
4
0
0
2
-6
10
0
0
0
0
0
0
0
0
1
1
1
0
-28
20
-7
-1
0
6
-19
8
-2
0
-2
-13
1
0
0
7
8
8
-6
0
5
-9
53
-10
0
17
2
-3
-8
0
5
0
-8
-2
23
2
15
-20
-5
0
-8
16
20
-4
0
-30
-2
-23
2
0
-1
-27
-5
3
0
-22
10
8
-7
0
3
-15
15
0
0
-5
-4
-1
1
0
-5
-8
-10
0
0
13
-4
-10
-1
0
7
2
4
-10
0
29
1
-9
-2
0
3
-15
-1
2
0
-4
-7
5
4
0
-4
3
13
-3
0
0
0
6
-1
0
-6
1
0
0
0
-9
4
-3
7
0
8
-14
0
3
0
-12
-6
-1
-5
0
0
-1
-8
0
0
1
-4
24
2
0
0
0
1
0
0
1
1
-1
0
0
0
0
0
0
0
-3
5
5
0
0
8
2
-4
-1
0
-9
-3
17
0
0
2
8
-15
-8
0
6
8
-2
0
0
12
7
-24
-13
0
0
2
8
0
0
1
0
-6
-3
12
-1
17
9
-5
0
24
1
5
0
0
-5
6
-12
-1
0
-14
-9
6
-6
0
13
5
-13
-2
0
18
-8
1
0
0
1
1
13
1
0
3
0
-7
0
0
-9
5
3
-6
0
-13
-2
14
-3
0
14
-8
5
-2
0
3
1
-16
0
0
6
14
1
-8
0
-7
3
2
0
0
3
-25
-1
3
0
-2
-3
9
2
0
9
-21
21
0
0
-1
-5
-10
2
0
-13
13
-4
-4
0
0
-7
1
-2
0
-12
5
-28
1
0
0
-2
3
0
0
1
-1
2
0
0
0
2
-1
-2
0
3
3
-13
-1
0
-5
-15
-6
-1
0
13
-2
-13
-2
0
1
10
-4
-1
0
-18
-6
-2
0
0
0
0
-10
0
0
0
8
5
2
0
-8
0
-27
1
1
-25
-16
-21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
5
12
8
0
-33
2
6
-7
0
-5
-4
20
-1
0
17
4
3
5
0
3
-1
18
0
0
-3
1
-2
0
0
-1
2
1
0
0
5
-13
-6
1
0
22
32
-14
25
0
18
-7
0
8
0
-8
-12
-31
-23
0
-8
-20
6
-1
0
-6
3
0
1
0
-1
8
-7
-6
0
9
-13
19
4
0
7
0
5
-3
0
16
-23
40
9
0
3
29
15
-13
0
-41
4
-44
-27
0
25
-35
-13
28
0
41
16
13
27
0
-21
-31
8
16
0
0
23
25
-18
0
-1
-10
-4
5
0
-7
6
38
-10
0
-37
20
5
-8
0
-6
-31
-21
-42
0
-30
8
-18
20
0
24
-5
29
68
0
-6
4
14
13
0
-42
15
13
23
17
11
-40
-56
-10
0
-7
8
-15
5
0
-15
16
16
-5
0
-2
-8
0
-4
0
-5
-24
-12
2
0
-8
2
2
-2
0
-3
-5
2
0
0
0
-1
1
1
0
4
-5
1
0
0
4
14
-4
19
0
-41
25
-5
10
0
14
18
-3
-1
0
7
33
5
-6
0
7
13
-4
1
0
0
-15
-6
-8
0
0
1
7
12
0
3
9
-19
-1
0
16
29
4
-22
0
-20
-50
17
-14
0
74
-3
-16
20
0
-58
48
8
25
0
9
8
-59
-22
0
-3
15
-14
-32
0
-6
-33
3
-5
0
46
-4
10
-13
0
31
13
1
-5
0
24
-6
-15
6
0
-9
-13
6
23
0
-12
7
58
-25
0
-1
0
-23
0
0
-25
1
-25
-20
0
-35
-22
-55
2
-22
-9
-5
22
-6
0
-17
-8
-5
1
0
9
-13
-8
1
0
8
5
25
5
0
-15
-24
-3
2
0
-3
4
-3
2
0
0
-1
-17
0
0
-1
-1
2
0
0
-15
0
-23
-3
0
0
4
-5
-2
0
-13
-6
7
-1
0
13
-9
-7
0
0
0
-7
-9
0
0
0
-2
2
0
0
0
0
10
0
0
-1
-3
-1
-1
0
-18
-3
-7
-1
0
-16
15
0
4
0
-5
-30
44
-14
0
-32
48
-3
-8
0
-29
-53
6
-14
0
45
-1
-23
13
0
6
-42
-23
6
0
-5
19
-13
-25
0
-47
15
-44
3
0
9
12
-19
-5
0
1
-4
6
2
0
-4
-23
-6
-7
0
10
-3
-1
-5
0
-2
20
-8
7
0
-2
32
13
8
0
13
-21
16
5
-27
-11
31
61
-9
0
4
4
5
1
0
-6
12
-7
0
0
4
9
2
8
0
2
4
9
4
0
3
0
0
0
0
6
-9
0
-4
0
1
-2
4
0
0
27
18
1
3
0
-3
-22
-1
3
0
-13
-14
-16
0
0
0
5
0
0
0
-13
-22
3
-8
0
0
2
4
0
0
-3
-8
-7
0
0
0
-6
3
-4
0
-14
30
-40
-4
0
-11
24
9
0
0
-36
8
-9
7
0
42
3
-8
-25
0
3
31
-19
13
0
-70
4
-16
14
0
2
-24
20
6
0
8
12
19
-19
0
-45
25
13
-34
0
-10
-23
6
5
0
-3
-7
-41
5
0
7
-32
-45
3
0
-14
-5
-23
-13
0
2
-42
7
-1
0
-8
-10
34
2
0
-17
-5
-28
2
-22
44
-7
-8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
35
-4
16
0
-10
17
1
-4
0
6
-4
13
8
0
-5
-5
-2
1
0
16
-5
5
0
0
-8
-3
-1
-6
0
-1
5
2
0
0
-13
14
-1
-3
0
-1
10
9
3
0
0
6
-3
0
0
7
17
8
-6
0
3
-6
0
-2
0
25
16
5
1
0
19
3
-12
3
0
-23
-9
0
3
0
3
22
6
-4
0
26
-24
-13
13
0
60
-28
8
9
0
-36
-41
5
17
0
16
19
-10
0
0
-9
-1
-6
5
0
19
-13
-52
0
0
-12
-10
5
12
0
-1
-12
-5
4
0
13
51
20
-1
0
-17
13
10
-32
0
-6
-44
-9
-29
0
-30
25
-4
-1
0
-9
-31
3
9
0
-2
45
5
13
0
30
-20
-11
16
8
-19
-12
-32
-20
0
43
13
9
-1
0
-36
12
5
1
0
-18
-1
2
0
0
-11
5
22
-1
0
-4
-25
8
-4
0
-3
2
3
0
0
0
-1
0
1
0
-4
-5
1
0
0
8
-8
-3
-1
0
-5
10
5
1
0
-1
-10
-25
1
0
-33
-10
16
1
0
-6
-5
-4
0
0
-6
18
-7
2
0
-2
13
7
8
0
-28
7
-41
5
0
-28
26
-5
13
0
40
-15
26
4
0
58
-31
-6
0
0
8
-9
2
3
0
19
-21
-3
20
0
17
-22
4
-17
0
13
0
9
-5
0
1
5
-22
6
0
-50
8
31
-28
0
9
1
41
7
0
-12
-7
-13
6
0
-12
1
28
-9
0
-5
1
15
-16
0
13
0
12
-5
0
19
-35
20
-32
24
-8
-16
-4
42
0
8
-7
17
2
0
0
-5
3
1
0
-5
1
-13
-2
0
6
-16
7
-1
0
6
3
4
0
0
8
0
14
-1
0
25
2
0
0
0
-14
5
0
0
0
7
0
4
0
0
-2
-9
0
0
0
0
-6
0
1
0
6
-7
-4
2
0
1
-6
19
-5
0
-2
0
0
0
0
8
-4
0
1
0
9
12
-24
8
0
25
29
-41
-14
0
-73
9
-9
8
0
2
-32
-4
-1
0
-34
1
-9
-22
0
12
30
-15
-3
0
6
4
-7
-14
0
-4
4
34
-6
0
-12
12
5
8
0
-5
-8
-53
43
0
24
-3
-58
-4
0
-28
8
-7
20
0
6
9
27
19
0
-43
38
-51
-5
0
1
-31
7
21
0
31
-7
31
8
-48
0
-49
36
-29
0
-7
-5
0
0
0
-2
2
0
1
0
4
-8
0
0
0
23
-7
-20
-1
0
-15
0
0
0
0
-23
-10
5
0
0
-2
0
-1
-3
0
-10
1
13
0
0
9
9
-7
-1
0
-8
-24
-12
1
0
0
5
0
0
0
-44
-20
-7
-5
0
-12
7
-1
0
0
5
1
-31
1
0
-1
18
0
2
0
31
-25
6
-13
0
-76
-25
17
-15
0
19
-16
14
-7
0
-13
15
6
-4
0
-25
-2
4
-3
0
18
-9
-9
3
0
31
-6
2
-12
0
0
9
4
0
0
-31
3
6
-9
0
-47
16
24
49
0
-9
-5
-46
25
0
-14
26
22
-33
0
-15
-7
34
-30
0
90
-7
-40
27
0
8
-15
23
-25
0
30
17
3
-42
-25
-13
17
32
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
5
-18
3
0
40
31
7
-23
0
17
-15
1
-10
0
7
0
3
2
0
-12
13
1
-14
0
3
10
8
14
0
4
5
19
0
0
-20
22
6
0
0
2
-8
-22
-8
0
2
0
0
14
0
1
-14
0
5
0
-4
2
-5
12
0
2
3
6
-2
0
0
0
18
-4
0
6
-2
14
4
0
6
12
-13
-1
0
6
0
8
-1
0
0
-3
1
0
0
-2
1
-4
0
0
1
0
0
1
0
0
13
4
-8
0
0
0
-8
1
0
0
5
4
0
0
0
19
3
0
0
0
2
-3
2
0
0
-3
9
0
0
0
0
3
0
0
0
-2
1
0
0
5
16
10
-13
0
0
0
5
6
0
-5
1
-13
6
41
-5
1
20
5
0
31
5
-34
0
0
4
-14
-2
20
0
2
22
13
1
0
-10
-6
8
-18
0
0
-27
12
-8
0
-5
7
13
-7
0
-14
0
0
3
0
9
1
-3
8
0
2
-4
-5
-1
0
-3
17
-15
-2
0
2
6
-5
1
0
-1
-3
19
0
0
2
12
-5
5
0
0
-2
-1
-3
0
1
13
6
4
0
17
-8
31
4
0
0
-5
-2
0
0
4
0
12
0
0
0
0
0
0
0
0
9
0
-1
0
0
1
1
2
0
0
2
6
2
0
0
0
1
-2
0
0
0
3
3
0
0
-3
-12
-1
0
1
-6
5
-4
0
0
0
-9
0
0
0
0
-1
1
0
-4
-3
9
1
0
24
-5
0
7
0
-23
0
8
-8
13
1
13
-4
2
0
48
-8
-22
13
0
-32
-10
-3
-16
0
1
12
24
-6
0
-33
16
-13
-5
0
-23
7
-18
0
0
3
-2
-5
-1
0
-8
-4
-8
7
0
31
-15
-6
-3
0
-4
4
-6
-3
0
3
-6
0
6
0
-2
27
3
-2
0
-2
0
14
0
0
0
2
3
1
0
0
2
0
0
0
0
2
-3
3
0
-2
4
-4
-8
0
-4
2
5
1
0
0
2
-1
-1
0
0
-3
9
0
0
-1
0
-3
0
0
0
1
1
0
0
0
-1
0
0
0
0
1
2
0
0
0
0
6
0
0
1
-10
-5
0
0
0
1
-1
0
0
-1
2
8
1
0
2
8
0
-1
0
0
-2
-10
1
0
2
0
8
0
0
17
-3
6
2
31
-4
-20
-19
10
0
-17
-58
-2
2
0
42
21
-4
-13
0
5
-30
20
3
0
57
40
27
4
0
9
-8
13
0
0
-2
5
-1
-5
0
-19
0
6
-1
0
5
-3
9
2
0
4
5
5
1
0
0
7
-8
-1
0
-1
25
9
-5
0
-14
-22
8
6
0
0
2
4
0
0
1
-1
-4
1
0
-1
-1
12
0
0
-8
22
18
4
0
-2
-5
-2
-1
0
1
-1
1
-2
0
1
3
-4
0
0
-2
3
-5
2
0
0
-7
0
1
0
0
-1
4
0
0
0
3
-1
-1
0
-1
8
9
0
0
-1
0
1
2
0
0
0
-14
0
0
0
-1
3
-1
0
0
5
-1
0
0
-2
7
-3
0
0
-3
5
-5
0
0
-7
3
7
0
-21
-8
-8
18
-9
0
25
-5
5
1
0
5
8
13
2
0
-7
13
7
-8
0
28
-1
5
-5
0
6
-4
-8
0
0
9
-1
-6
1
0
4
-3
3
1
0
-32
-8
10
0
0
-24
15
7
0
0
-8
-7
-19
2
0
0
-3
3
3
0
0
-2
-10
-3
0
0
7
0
3
0
0
0
3
5
0
1
0
-2
0
0
-2
0
3
-2
0
7
-24
-12
3
0
4
-1
-2
-5
0
0
-1
0
0
0
1
0
1
-2
0
0
0
13
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-1
-2
0
0
1
-3
0
0
0
0
1
-1
1
0
0
0
1
0
0
0
0
0
0
0
-5
2
6
-1
0
0
-1
-7
-3
0
-1
-1
-8
0
-25
-1
-2
5
-1
0
-7
1
7
8
0
-6
-5
-30
5
0
10
-12
12
0
0
53
5
10
-3
0
13
-7
14
2
0
43
8
-13
-2
0
-1
-1
-1
0
0
13
14
10
0
0
0
-5
-3
0
0
-8
-2
12
1
0
1
-3
-1
-1
0
-13
1
4
0
0
-7
0
9
0
0
2
2
-7
-2
0
1
0
-2
0
0
-5
-1
5
0
0
9
-16
-17
1
0
-14
0
-7
-1
0
-2
-1
0
1
0
-5
2
0
0
0
1
-2
0
0
0
0
2
-8
2
0
0
0
0
0
0
-6
1
0
0
0
0
3
-2
3
0
2
-3
0
-3
0
0
-1
-2
0
0
0
0
-5
0
0
-3
-4
1
0
0
-4
1
9
1
0
-6
0
1
0
10
6
2
0
0
0
21
6
5
-13
0
13
1
-1
0
0
-5
5
-25
1
0
-13
20
22
-8
0
-2
-3
-6
0
0
3
-2
2
-1
0
-8
-9
0
0
0
22
-1
-2
0
0
0
24
2
0
0
0
0
0
0
0
0
8
-1
1
0
0
-1
0
1
0
0
-1
1
-1
0
0
0
0
0
0
1
0
0
0
0
-1
0
-4
0
0
-1
0
-1
0
0
-1
6
1
-1
0
0
0
-1
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
-1
0
0
-1
0
-4
0
-7
-5
8
5
-2
0
17
6
12
4
0
-43
33
-4
2
0
20
16
-3
-3
0
-12
-15
13
12
0
25
15
6
0
0
10
-19
-4
-1
0
-3
1
0
0
0
-29
8
-18
-2
0
-1
-13
8
1
0
-1
-5
2
-1
0
-1
1
0
0
0
-3
2
4
-3
0
-3
0
0
0
0
0
-1
0
-2
0
-1
0
6
-2
0
-10
-3
-18
1
0
0
-5
6
1
0
12
-3
-14
-7
0
2
5
0
0
0
1
7
-3
-2
0
0
-7
-6
0
0
0
2
4
2
0
0
1
0
0
0
-2
6
-2
0
0
0
-6
3
1
0
0
2
0
0
0
0
0
1
0
0
1
-4
-3
-1
0
0
1
-7
1
0
0
-8
1
1
0
0
3
3
0
-1
23
-1
14
0
0
-1
28
-8
-2
0
13
-4
2
-4
0
-2
-33
-3
2
0
-10
-6
2
7
0
-1
-3
24
1
0
1
-12
-20
0
0
-2
-3
0
0
0
-9
1
3
1
0
-9
-12
-3
19
0
57
7
-6
-5
0
2
-12
4
5
0
5
29
5
-3
0
-2
8
19
4
0
0
6
8
-2
0
-3
5
6
-1
0
12
16
-2
8
0
15
0
-8
0
0
4
-2
3
0
0
0
1
1
0
0
0
-3
1
0
0
2
0
-3
6
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-8
-3
-3
-1
0
-5
-1
1
0
0
0
0
10
0
0
2
-1
6
-1
0
-3
5
-5
8
0
0
5
-1
-4
0
1
15
-4
2
7
0
8
-13
2
0
42
-13
4
8
0
-35
-1
-5
2
0
-4
0
0
1
0
-24
-8
9
0
0
-23
8
10
-1
0
2
-19
-7
-1
0
-4
0
5
0
0
25
-4
2
0
0
16
5
-1
-7
0
31
13
-5
7
0
1
-16
-8
0
0
-42
19
14
-2
0
4
1
-17
-1
0
-9
12
2
-6
0
-4
1
5
-1
0
8
-7
8
-1
0
-1
0
1
0
0
5
3
0
0
0
1
0
-1
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
-1
0
4
-6
0
1
0
0
0
1
0
0
-3
0
1
2
0
-1
8
-2
0
0
6
3
6
-7
0
-4
-5
0
-1
10
8
15
-14
13
0
-10
41
13
3
0
-14
25
-27
3
0
-13
-1
-5
10
0
21
5
-8
1
0
18
-5
-8
1
0
-3
3
-1
-1
0
8
4
-2
0
0
0
2
10
1
0
20
-13
3
7
0
-33
-2
5
4
0
13
-19
6
-8
0
12
-18
-1
-2
0
0
3
-9
1
0
0
-3
0
4
0
-4
5
19
8
0
-13
4
-9
-1
0
0
8
0
-1
0
-1
1
0
-2
0
0
-1
1
0
0
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-1
0
0
-1
-7
3
-3
0
-1
0
0
-1
0
2
-4
-4
0
0
0
-1
0
1
0
0
0
15
-5
0
0
-6
0
1
0
10
-7
-5
0
-12
6
1
6
-7
0
-2
31
0
3
0
-18
23
5
4
0
15
7
14
4
0
13
-16
1
6
0
-2
-8
5
-3
0
-10
-13
2
3
0
29
-3
1
0
0
-8
8
-1
1
0
1
4
8
-3
0
-3
13
-4
-2
0
3
3
-13
-3
0
-15
4
-15
-7
0
0
2
1
0
0
6
7
-12
2
0
0
5
-8
0
0
9
-8
-8
-8
0
0
1
2
2
0
-3
2
0
0
0
0
-1
0
0
0
-7
2
-1
1
0
0
0
0
-1
0
0
1
-1
0
0
0
0
0
0
0
0
8
-2
0
0
0
5
1
1
0
4
0
0
-2
0
0
3
1
0
0
10
-1
-22
0
0
0
-6
0
0
0
0
-1
18
0
0
0
-3
-14
0
11
-16
8
-16
-8
0
29
-34
3
6
0
-21
8
10
-23
0
17
10
-22
8
0
0
14
-6
2
0
1
8
1
0
0
-7
-2
13
0
0
0
-1
1
0
0
-12
-1
-1
-1
0
23
23
8
-2
0
-18
10
-1
3
0
-2
3
18
1
0
1
-4
-4
0
0
-1
12
-4
0
0
5
0
-2
1
0
-1
-1
1
-1
0
-4
6
1
1
0
1
9
2
-2
0
5
4
13
-6
0
0
-1
1
0
0
-2
0
1
0
0
0
-1
1
1
0
0
0
-2
0
0
-1
0
0
0
0
0
1
2
-1
0
-2
-7
14
-1
0
0
2
2
0
0
0
0
-3
0
0
2
-4
1
0
0
0
0
-12
-2
0
0
1
3
2
0
-1
0
1
2
-5
-4
1
-6
0
0
-5
24
24
-1
0
13
-7
10
5
0
5
5
0
-2
0
10
-5
-8
5
0
-1
-3
3
0
0
3
-1
5
1
0
1
1
-2
0
0
-12
0
6
0
0
5
-4
-1
-2
0
3
20
-1
0
0
0
-4
-25
2
0
-41
1
8
0
0
2
-5
0
-1
0
1
-10
-5
-3
0
0
-2
3
0
0
0
-4
-13
0
0
2
-3
3
0
0
-9
0
4
0
0
0
-1
0
0
0
3
0
-1
0
0
1
0
1
0
0
0
0
-6
-1
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
-1
4
6
-1
0
0
4
1
0
0
1
0
0
0
0
1
2
6
0
0
-2
-3
-1
2
0
0
0
0
1
-29
13
-1
0
3
0
-9
7
7
3
0
-15
46
1
9
0
24
-2
8
0
0
40
-10
2
2
0
-1
-24
3
-1
0
-4
0
-5
0
0
5
0
-17
0
0
-13
-2
-15
0
0
-22
28
2
1
0
-1
0
-19
-2
0
1
-9
4
-1
0
1
-3
7
0
0
0
1
0
1
0
0
0
-3
0
0
0
3
0
0
0
-5
-5
9
0
0
7
8
-6
1
0
9
-5
-4
0
0
-5
5
-5
2
0
9
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
1
0
1
0
0
0
-3
-1
0
0
0
0
1
0
0
0
-1
-7
-1
0
1
0
0
1
0
0
-8
0
-1
0
0
0
-3
0
0
2
-2
10
0
-31
-7
-5
2
3
0
14
7
-13
-23
0
-2
-11
17
5
0
31
8
22
4
0
6
-12
0
0
0
9
-20
8
-1
0
-17
19
-3
-4
0
-1
3
1
0
0
16
-5
8
-1
0
0
-43
-3
-8
0
-5
5
-15
1
0
-19
8
-3
1
0
-31
4
-21
3
0
0
-6
2
0
0
0
1
5
0
0
0
0
0
0
0
-7
3
5
-1
0
-51
-3
3
-2
0
-12
-14
42
1
0
2
3
7
0
0
-1
-2
6
-4
0
1
3
-2
0
0
2
-2
5
0
0
0
-1
-10
0
0
-4
2
0
0
0
-3
9
-6
7
0
5
0
-5
1
0
1
10
2
0
0
2
2
-2
-3
0
0
0
2
-2
0
-2
-1
5
-1
0
2
2
-2
0
3
-14
-5
-24
2
0
-2
6
-4
6
0
67
5
8
1
0
-4
0
1
-4
0
0
-4
3
0
0
8
3
-2
0
0
0
1
-2
-2
0
0
3
0
0
0
12
8
3
1
0
-3
-7
7
0
0
-2
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
-5
-1
-6
3
0
0
-1
0
1
0
-3
-1
-2
1
0
4
7
8
5
0
41
-24
-25
-31
0
3
3
-25
-35
0
4
55
19
22
0
-26
76
-5
41
0
4
7
-41
7
0
6
7
16
-21
0
16
-16
47
-10
0
21
-4
1
-20
0
10
-13
21
0
0
-5
20
-5
6
0
1
14
-15
-27
0
-4
4
7
-7
0
5
-5
41
23
0
0
-2
-12
13
0
-34
9
52
47
49
-6
18
-3
-8
0
13
5
2
0
0
2
0
16
6
0
-4
-2
3
3
0
-8
5
-2
5
0
5
-6
-5
0
0
3
0
-5
-1
0
0
0
0
0
0
-13
-3
7
-2
0
0
2
-5
-1
0
-3
0
-1
0
0
0
0
0
-1
0
-5
-2
1
-1
0
-2
-8
4
0
0
1
24
-19
0
0
-2
-10
1
1
0
-3
8
4
0
0
111
-9
-5
-27
0
-27
71
6
-20
0
14
-2
22
13
0
-1
0
8
-13
0
-29
-14
-16
2
0
8
-25
18
5
0
0
0
-12
13
0
13
-27
22
-4
0
8
-16
23
-4
0
13
-4
0
-20
0
0
-20
-27
1
0
0
-2
5
0
0
-2
-17
-24
33
0
-6
27
9
7
0
-8
-25
13
-18
43
-18
-25
-23
-7
0
8
0
-6
-2
0
6
4
-8
2
0
-2
4
-2
0
0
-8
-2
-1
-1
0
-2
3
-4
1
0
-1
0
1
0
0
-2
1
0
0
0
-3
-3
-6
1
0
4
-5
0
0
0
-1
0
0
0
0
0
-1
0
0
0
3
0
1
0
0
1
0
-2
0
0
0
0
0
-1
0
4
-13
3
2
0
-4
27
2
-2
0
12
-80
49
4
0
31
-10
-16
-1
0
29
-5
-68
-7
0
2
-9
8
-8
0
20
-7
13
7
0
4
-4
-1
-7
0
-9
14
25
-39
0
-5
37
-19
-9
0
-8
-12
-1
-2
0
0
5
-5
2
0
-2
18
28
-8
0
-14
1
-5
-1
0
0
-10
18
13
0
-1
5
16
-1
0
6
-8
-34
-7
-38
-5
42
-13
4
0
-5
4
4
0
0
0
8
-2
0
0
-13
5
-4
0
0
1
-13
-1
4
0
-8
0
25
0
0
2
5
3
-1
0
0
-4
-1
1
0
-18
0
-3
0
0
1
-4
0
0
0
2
1
-1
0
0
0
0
-1
0
0
0
6
2
0
0
0
-2
-1
0
0
0
-1
-1
-1
0
0
0
0
1
0
24
2
-27
6
0
-33
-23
-25
-14
0
7
22
8
22
0
47
-15
-31
-13
0
-63
11
0
30
0
-13
-14
7
-3
0
6
-12
-6
-7
0
10
-8
-8
9
0
16
11
-12
-22
0
0
9
5
1
0
0
-5
-23
-10
0
2
-33
-3
0
0
-3
1
86
6
0
-1
22
19
-13
0
0
22
3
0
0
4
-19
-33
-5
-12
41
9
32
-9
0
-8
25
-6
-2
0
7
-7
7
-8
0
-4
-3
-2
0
0
15
8
-7
2
0
2
-4
1
0
0
1
1
5
0
0
0
0
0
0
0
3
-3
-4
0
0
0
-1
-7
-2
0
-1
0
-1
2
0
0
1
0
0
0
0
-1
1
0
0
0
0
3
0
0
1
0
2
-2
0
0
0
-3
0
0
-15
-3
3
1
0
-27
2
-12
5
0
-6
-35
-37
5
0
13
-3
-34
-4
0
-49
-7
10
1
0
30
2
-1
1
0
-8
3
7
1
0
8
-8
-13
5
0
4
-13
-28
9
0
23
24
6
-9
0
2
-2
-9
3
0
0
2
8
1
0
0
1
-3
0
0
1
-7
-13
-17
0
0
5
18
-2
0
-5
0
-2
0
19
18
-23
46
8
0
13
13
-1
-1
0
1
14
-3
-2
0
3
0
0
1
0
0
10
3
-1
0
5
-8
-2
0
0
-4
6
1
-2
0
0
1
-2
0
0
-13
1
-7
0
0
0
1
0
1
0
1
-3
0
0
0
0
0
0
0
0
0
-1
1
-1
0
1
0
1
0
0
0
-7
-1
0
0
1
2
0
0
0
-16
4
-1
-2
0
-27
34
-4
27
0
9
-30
4
13
0
1
-13
0
0
0
2
3
-25
13
0
13
-8
-18
-12
0
-12
-15
30
0
0
-2
5
6
-3
0
1
-4
9
19
0
2
3
14
0
0
0
2
-2
-1
0
0
0
-4
0
0
0
-1
2
2
0
0
-16
20
9
0
6
1
24
-20
0
0
13
-29
-4
-30
-9
-5
25
8
0
-14
0
3
-1
0
16
2
2
1
0
3
-5
-4
0
0
-5
2
-2
0
0
5
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-7
0
0
1
-4
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-2
0
0
0
0
31
-16
0
2
0
-73
-41
31
10
0
-2
21
24
-2
0
38
-25
-3
-1
0
13
8
-22
3
0
-5
-25
-10
5
0
-2
4
24
-15
0
-6
3
-14
-2
0
-1
-1
-20
-3
0
0
0
-1
0
0
0
-7
-8
-7
0
0
0
0
0
0
-1
23
-25
-19
0
1
3
-2
-1
0
6
-4
-20
5
5
-8
-14
3
-3
0
-7
8
15
0
0
4
3
-5
3
0
3
6
-3
-1
0
-20
-5
-1
8
0
-4
1
-3
0
0
-1
-3
3
0
0
1
-1
0
0
0
-7
1
3
-1
0
0
-1
0
0
0
-2
0
-4
0
0
0
0
0
0
0
3
0
4
0
0
0
-1
-2
0
0
0
3
-2
0
0
-2
1
0
0
0
5
-3
9
1
0
-8
2
13
19
0
27
22
10
7
0
-74
29
-9
-16
0
14
-66
14
-17
0
0
5
-8
8
0
-22
-21
-16
12
0
-17
7
2
-7
0
-19
-14
-12
13
0
-2
-13
-3
2
0
0
-5
-16
0
0
0
0
12
-6
0
0
6
-7
-3
0
-1
-42
21
1
0
0
-6
2
0
0
2
-8
4
5
22
24
2
-21
-8
0
8
25
4
-2
0
4
5
17
2
0
-8
-5
9
0
0
-37
4
2
0
0
0
13
1
0
0
0
4
-2
0
0
0
0
0
0
0
7
4
0
-5
0
18
4
-25
-1
0
5
-6
-2
2
0
-1
2
-25
0
0
9
0
18
1
0
1
7
9
-4
0
-1
1
8
0
0
-3
-1
-12
5
0
6
-25
4
3
0
40
22
-35
9
0
33
-18
28
3
0
16
-6
13
3
0
-19
-31
-5
-5
0
5
0
-4
-2
0
6
0
-43
4
0
-6
0
-4
13
0
-13
-2
2
6
0
9
74
33
-50
0
11
69
14
17
0
-5
-50
34
36
0
-25
0
33
-12
0
-9
-15
22
-34
0
1
13
6
33
0
1
24
47
-4
16
-37
-37
9
39
0
-7
34
-8
8
0
31
-7
13
-6
0
-2
2
10
0
0
22
-1
-25
-4
0
7
4
0
0
0
-6
-19
-7
0
0
0
-1
1
-1
0
-17
-3
-4
0
0
1
23
-2
1
0
19
-4
-7
-4
0
1
-5
0
0
0
9
4
0
2
0
3
-1
0
-1
0
0
-14
-4
0
0
0
2
0
-2
0
-5
-5
-6
-2
0
13
28
-13
7
0
48
-45
1
2
0
-8
-13
7
-2
0
-21
27
7
0
0
-5
9
-19
8
0
-2
4
-1
0
0
0
-2
2
-2
0
-2
-8
-4
1
0
32
4
-17
5
0
-13
48
16
-1
0
-9
-49
-10
5
0
-1
65
-5
-7
0
-32
20
31
7
0
-31
12
-50
7
0
2
18
-16
-20
63
0
7
-24
0
0
-7
12
7
-1
0
6
5
12
0
0
14
-30
8
2
0
-10
-8
-1
-1
0
4
-6
-1
0
0
-1
-3
0
-1
0
0
0
0
3
0
-15
1
0
0
0
-3
3
0
1
0
-1
0
-1
0
0
3
15
-5
1
0
-10
0
-7
-1
0
1
3
2
-1
0
1
0
0
0
0
2
0
2
0
0
-6
-2
-3
0
0
1
32
25
18
0
38
-5
5
-1
0
-33
-12
12
-7
0
-29
-5
-3
1
0
-4
2
-19
1
0
4
15
-10
-4
0
9
8
9
0
0
4
0
-8
-2
0
12
14
-6
50
0
-15
13
13
13
0
-12
28
-49
-28
0
34
48
-14
10
0
34
-23
-6
-7
0
8
-19
26
-6
0
1
-42
22
-6
16
4
-76
23
-13
0
8
1
6
0
0
8
4
2
-4
0
3
-1
-16
0
0
45
4
2
1
0
2
1
0
0
0
1
-2
-1
0
0
-2
0
-1
0
0
-15
9
1
3
0
1
-8
-2
0
0
-7
-16
-2
0
0
-8
-6
1
0
0
-10
-8
2
0
0
0
0
-1
0
0
-2
3
-1
-2
0
0
1
0
0
0
0
4
0
2
0
-13
25
6
1
0
-15
5
9
-4
0
-8
2
-4
0
0
4
-14
-18
7
0
0
0
-1
-1
0
1
0
0
-1
0
0
0
0
0
0
-14
5
25
0
0
-5
7
40
31
0
-22
4
10
-5
0
-16
-1
-34
-23
0
-18
-41
-24
4
0
25
18
-13
28
0
5
-13
-4
25
0
7
5
-29
-15
-15
-48
-32
-8
-49
0
-44
25
35
16
0
5
-4
8
1
0
-13
-24
-5
0
0
1
-20
-24
0
0
15
0
8
-3
0
24
9
-23
2
0
0
-1
9
-1
0
5
-8
-3
-2
0
30
34
5
8
0
17
-18
-1
7
0
0
-19
10
-5
0
13
-9
-4
7
0
8
12
0
0
0
0
1
22
0
0
0
6
0
0
0
4
-14
-14
-1
0
13
-30
25
-25
0
40
11
-10
17
0
-13
-3
-18
-7
0
-43
-26
7
-4
0
19
10
0
16
0
1
-8
-8
-2
0
0
18
-1
-7
0
-20
3
22
-1
0
-43
-6
37
31
0
13
-2
7
-4
0
5
-3
-49
12
0
-32
-30
31
21
0
13
30
-19
4
0
0
-10
21
-5
0
20
-5
3
-16
-16
-21
49
-17
-5
0
1
31
7
1
0
25
-5
-18
7
0
-13
-5
7
0
0
-46
27
-16
1
0
1
-1
3
-1
0
-23
-7
-6
1
0
-4
0
0
0
0
2
1
-5
0
0
-16
5
5
2
0
1
-1
-9
-3
0
1
2
-3
0
0
14
3
-13
-2
0
0
-5
5
4
0
-5
-5
4
0
0
-1
-5
1
0
0
-3
7
-4
-3
0
22
4
29
-7
0
-49
-5
12
-13
0
2
-24
-3
-8
0
30
-3
0
0
0
8
-6
-4
-1
0
17
12
-10
-6
0
0
-1
-2
-1
0
7
-1
-10
2
0
-1
11
31
9
0
27
-43
20
14
0
35
-17
14
-9
0
-32
-31
21
-8
0
25
4
-7
-8
0
-13
19
-8
-19
0
2
22
6
7
2
-9
24
-15
8
0
-36
35
1
5
0
5
-41
-5
10
0
-6
-5
-5
2
0
-25
1
24
-6
0
5
19
4
-1
0
-1
0
6
0
0
0
1
0
0
0
3
5
7
0
0
-35
26
-14
-7
0
13
-29
-13
-1
0
3
-6
4
1
0
25
2
4
1
0
1
4
0
0
0
0
-4
0
0
0
-5
-1
-1
0
0
2
5
3
3
0
-53
20
30
-2
0
-46
-24
14
28
0
-51
-49
5
-17
0
42
-28
-3
0
0
18
19
-2
-2
0
8
0
2
-4
0
-6
-15
8
3
0
8
-1
-44
-4
0
-42
62
30
-50
0
-13
-67
-17
4
0
2
7
16
-13
0
9
-23
-22
-43
0
17
-2
10
3
0
0
-8
-9
-6
0
24
23
-28
-23
-38
-3
-25
8
7
0
27
-1
-15
-9
0
-36
6
7
8
0
-47
-5
35
-5
0
44
-2
-15
13
0
-12
0
4
0
0
2
-1
23
-2
0
-4
0
2
0
0
-12
-15
17
3
0
13
8
13
8
0
-1
20
-18
3
0
3
-31
-1
-2
0
-31
-4
-17
-1
0
0
-8
-19
1
0
-1
2
-1
0
0
-1
1
0
1
0
-23
-8
4
-4
0
-53
20
-25
7
0
16
-16
-2
1
0
31
-50
5
-13
0
-11
25
-23
1
0
2
-9
10
1
0
-1
-39
-19
0
0
-2
-10
7
-1
0
-14
28
-12
-9
0
11
-29
-9
49
0
25
-41
-9
-25
0
-50
-7
5
14
0
20
28
8
-31
0
0
-21
-2
16
0
-8
-14
-6
-17
0
6
-42
-43
6
-25
23
-42
10
-15
0
7
2
5
5
0
-5
-16
17
4
0
6
24
8
-5
0
9
12
-12
-5
0
8
20
-16
-6
0
30
-7
-7
5
0
0
1
22
5
0
-7
-17
-20
-18
0
8
3
4
-2
0
10
9
-8
-4
0
5
17
5
-10
0
5
6
-3
1
0
1
-1
-7
4
0
0
1
-1
-1
0
-12
1
33
-5
0
-7
10
-14
5
0
12
-10
-3
0
0
8
1
-2
0
0
-1
1
1
0
0
-8
0
-8
0
0
3
2
-1
3
0
1
-10
8
0
0
0
-6
1
-3
0
-1
-5
-5
-1
0
-5
0
3
0
0
2
1
20
0
0
0
1
-8
0
0
-4
5
-8
5
0
2
-1
16
-16
0
0
8
6
-3
0
-8
5
34
3
-8
-2
17
7
16
0
1
25
-17
-3
0
15
12
-30
-1
0
12
-24
5
14
0
0
-4
29
6
0
0
-4
34
2
0
41
3
-16
-14
0
0
-19
14
-3
0
-6
-1
17
-1
0
0
-9
-2
3
0
-8
-18
-8
-2
0
-1
4
0
-1
0
2
14
-7
-9
0
0
4
14
0
0
0
10
4
6
0
-3
0
31
10
0
22
20
-2
5
0
3
-5
-8
0
0
-10
-10
4
1
0
1
-2
-3
1
0
-8
3
5
0
0
0
6
-5
-1
0
0
0
16
0
0
0
-1
-3
0
0
7
19
1
1
0
-2
-2
-1
-2
0
3
-8
0
-6
0
0
2
-20
0
0
2
5
-6
-1
0
2
-4
32
2
0
8
5
-7
7
0
2
2
5
0
9
-10
31
-5
14
0
23
16
-25
19
0
9
-13
-3
-10
0
-25
8
12
-1
0
-18
3
-23
10
0
12
-23
3
-1
0
-5
0
0
-4
0
-10
-17
22
2
0
9
3
4
-3
0
-3
7
5
-3
0
21
-3
-8
5
0
12
5
-8
-3
0
22
-12
-3
-2
0
-8
-2
3
0
0
0
-2
-7
-1
0
-3
-7
13
4
0
-25
8
-6
-5
0
-7
-6
-5
1
0
6
0
-9
0
0
-1
0
-4
0
0
5
0
1
-4
0
-3
8
0
0
0
-1
-1
-5
0
0
-1
1
0
0
0
-5
0
-13
0
0
1
8
1
-1
0
3
-5
-3
2
0
0
-1
-6
0
0
1
-3
-7
0
0
-3
-4
-13
1
0
0
-7
1
3
0
8
0
-1
-2
-16
0
-6
31
-4
0
10
-47
6
0
0
-37
-7
24
1
0
-25
7
7
0
0
5
5
-9
4
0
19
-23
0
-12
0
19
2
30
-5
0
12
17
-12
0
0
1
25
7
-8
0
0
1
-33
1
0
9
0
-4
16
0
-8
10
17
-1
0
3
-32
8
-3
0
1
1
8
0
0
0
0
0
3
0
-2
8
18
1
0
7
10
-6
-1
0
-5
-2
0
1
0
-12
32
7
-2
0
0
-3
-8
0
0
0
13
-4
2
0
-3
-5
0
3
0
0
3
0
0
0
0
3
0
-1
0
-1
-6
2
2
0
-7
-14
-6
5
0
-7
0
-6
0
0
0
0
-13
-1
0
0
0
0
1
0
0
2
13
5
0
-2
5
31
-2
0
5
-17
-20
9
66
7
7
3
5
0
-13
-12
1
0
0
41
9
-5
-10
0
23
0
14
-3
0
-22
17
5
-3
0
0
-1
5
0
0
4
0
0
0
0
1
1
0
0
0
-3
-8
5
1
0
3
-17
-1
0
0
-27
13
-5
-1
0
0
-1
3
0
0
-5
14
-2
0
0
0
0
6
0
0
0
0
2
0
0
0
2
2
0
0
8
0
-8
5
0
4
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
2
3
1
0
0
0
-1
-1
0
0
0
1
0
0
0
0
2
0
0
-1
0
0
0
0
-4
7
-14
2
0
-1
2
-2
0
0
0
-3
4
0
0
-6
1
17
1
0
-1
-2
6
1
0
-1
0
-3
-4
0
0
-12
-3
0
-7
-14
1
20
-3
0
-3
5
18
8
0
27
-10
-16
1
0
8
16
-8
0
0
7
8
-13
2
0
-10
0
-3
0
0
-2
-1
4
0
0
0
2
-2
0
0
9
10
0
0
0
-6
-13
0
0
0
-7
9
-9
0
0
2
3
-4
1
0
-12
1
3
0
0
0
3
-2
-1
0
0
-1
0
1
0
2
0
-2
1
0
-7
1
0
0
0
1
-2
0
0
0
8
2
-9
-1
0
3
0
0
0
0
-8
-1
4
0
0
0
-1
4
0
0
0
0
5
1
0
0
-1
0
0
0
0
0
0
0
0
6
-8
17
0
0
29
-6
2
0
0
-1
-2
-19
0
0
-13
-8
6
0
0
0
3
0
-1
0
-1
1
0
-1
0
-5
0
-6
-4
-20
-6
-17
7
9
0
-2
3
12
-1
0
5
16
-7
1
0
6
-6
-6
-1
0
0
-12
5
6
0
-1
0
0
0
0
0
2
-4
-2
0
0
-1
0
0
0
5
-1
-9
2
0
-1
-7
8
0
0
4
2
1
0
0
0
0
1
0
0
4
-3
1
0
0
0
1
0
1
0
0
0
-1
0
0
0
0
1
0
0
-9
0
10
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-1
0
1
2
-1
1
0
0
-1
-3
0
0
1
-1
2
0
0
0
5
0
0
0
0
-5
0
0
0
0
0
1
0
-9
7
-8
0
-3
0
28
30
-31
1
0
-9
5
3
-3
0
13
5
24
6
0
15
-1
17
-1
0
-5
4
2
2
0
8
0
-14
0
0
-4
-2
1
0
0
-28
0
5
-1
0
2
5
3
1
0
-3
-1
6
0
0
0
7
-7
0
0
7
-1
6
-3
0
0
-9
1
-1
0
2
-3
-5
0
0
-1
-2
4
0
0
-22
3
-8
-1
0
14
2
6
-6
0
0
-3
8
0
0
0
6
-4
0
0
20
-3
2
0
0
-1
-1
4
1
0
0
0
-9
0
0
0
0
-1
0
0
-1
0
-3
0
0
3
-5
5
1
0
6
2
-13
1
0
-2
1
7
0
0
-3
0
-2
-1
0
2
0
-4
-2
0
3
1
3
0
0
-6
-6
-7
1
29
-7
4
-5
4
0
-13
37
-1
-6
0
-14
41
-16
-5
0
22
-39
-14
0
0
20
-17
5
-4
0
0
4
-3
2
0
-13
4
-25
7
0
-3
-2
0
0
0
23
8
10
7
0
1
0
-8
1
0
13
-8
4
5
0
-1
8
8
0
0
-5
-29
16
-3
0
0
1
0
-1
0
2
1
13
-2
0
0
0
1
0
0
8
-3
0
1
0
-7
2
3
0
0
2
-2
0
-1
0
-5
2
-2
0
0
-5
0
1
3
0
0
4
2
0
0
8
-4
0
0
0
0
0
0
0
0
1
-5
-1
1
0
-1
0
0
0
0
0
-2
12
0
0
0
0
-3
0
0
0
-1
3
3
0
-8
5
-15
1
0
1
4
18
5
0
1
1
-4
-3
38
19
17
-15
2
0
-27
-10
-8
3
0
5
-16
-2
-1
0
7
0
2
1
0
23
6
20
5
0
-5
-4
14
-2
0
-4
-9
-7
-1
0
0
3
-5
0
0
25
-5
0
0
0
14
13
0
3
0
1
-4
0
-6
0
0
-8
-8
0
0
-14
0
5
-3
0
0
8
-6
0
0
0
4
14
0
0
-1
-4
4
0
0
-1
1
-16
0
0
-8
1
-1
0
0
-4
-1
-4
0
0
0
2
0
0
0
1
1
2
0
0
0
8
-1
0
0
0
2
6
0
0
-1
0
0
0
0
1
0
1
0
0
-1
8
-3
0
0
0
-1
0
0
0
0
0
3
0
0
-2
-1
0
0
0
0
-1
0
-2
0
0
-4
-2
2
0
-1
-1
-3
-1
4
6
0
-13
1
0
25
-10
19
3
0
-5
37
13
4
0
41
-29
6
-1
0
2
-8
-12
1
0
1
-1
8
-2
0
0
9
-2
1
0
0
1
-24
0
0
0
-4
34
-5
0
7
9
-3
0
0
13
27
-25
-7
0
3
-7
6
1
0
-33
7
-2
2
0
0
1
-2
0
0
0
0
-5
-2
0
2
1
-2
1
0
3
0
4
0
0
-4
-1
4
0
0
-21
-5
-4
-2
0
0
-2
5
0
0
2
1
-9
3
0
3
2
-1
-1
0
0
1
-13
0
0
-1
0
0
0
0
-3
8
2
0
0
-5
4
3
1
0
1
1
6
-2
0
1
-1
0
0
0
0
1
-2
0
0
0
-2
12
0
0
1
1
-8
3
0
3
-2
-10
-1
4
-22
-10
-13
8
0
41
-34
13
-8
0
25
27
13
15
0
8
27
-8
2
0
-22
0
-10
7
0
-8
-2
0
0
0
-1
-8
2
5
0
8
-1
2
0
0
-3
4
-3
0
0
1
7
22
1
0
-13
-10
-5
-3
0
-2
-1
-25
-3
0
-42
8
-7
-2
0
0
5
0
-1
0
0
-7
-4
-1
0
-4
-8
24
2
0
6
8
-4
-5
0
7
8
-15
0
0
-30
3
-2
0
0
1
-2
0
0
0
-2
1
0
-1
0
0
-9
5
0
0
3
0
-6
0
0
0
0
0
0
0
3
3
-2
0
0
-2
-1
8
1
0
0
0
2
0
0
0
0
0
0
0
3
-2
0
0
0
1
-10
5
-7
0
-8
2
5
-7
0
4
1
-7
0
-8
28
0
-5
-10
0
-7
-22
6
0
0
30
-1
5
-18
0
-1
-2
2
1
0
6
-16
-1
-7
0
-8
-5
2
0
0
1
1
1
0
0
-2
0
-1
0
0
-10
0
-6
0
0
12
-3
-24
2
0
1
1
-1
0
0
1
0
0
0
0
0
2
10
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
-1
2
0
1
5
8
-1
0
-10
7
0
0
0
0
1
2
-3
0
0
0
1
0
0
0
0
-1
0
0
-1
0
-1
0
0
-1
0
-4
0
0
0
0
-1
0
0
0
-1
1
0
0
4
-2
-5
0
0
0
-1
-1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
2
-1
0
1
1
-3
0
0
1
3
0
-1
19
-4
0
2
0
0
7
-12
7
-8
0
-13
24
23
-4
0
-7
8
-10
-1
0
9
4
-2
0
0
0
-3
1
1
0
2
0
1
0
0
1
-3
0
0
0
8
4
0
0
0
19
23
-8
3
0
12
-5
8
0
0
-1
3
0
-2
0
0
-2
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
2
1
0
0
-5
0
-6
-1
0
7
-9
0
2
0
5
0
2
0
0
0
0
1
0
0
-5
0
-1
0
0
1
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
-3
0
2
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
0
-7
1
0
0
-41
0
6
-5
0
0
21
31
-8
16
0
-1
-5
-2
3
0
4
-8
-9
-3
0
20
-12
9
2
0
4
-13
0
0
0
-9
0
4
3
0
0
0
-16
1
0
-27
0
-1
0
0
7
-12
1
-1
0
-6
17
-6
-3
0
0
-1
2
0
0
8
-1
5
-1
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
2
0
0
-9
16
14
-1
0
4
3
0
-1
0
1
-1
2
0
0
-1
-4
-4
0
0
0
-2
3
0
0
1
0
6
4
0
0
0
0
-1
0
-3
3
0
0
0
-7
41
7
-1
0
-1
0
-5
-1
0
0
1
0
1
0
0
-1
2
-2
0
0
9
2
0
0
0
-1
-3
-1
0
0
0
-7
1
8
-4
-12
-8
-3
0
44
34
-12
4
0
15
13
37
-6
0
37
-31
22
-17
0
9
-9
19
4
0
-5
-3
7
0
0
2
0
13
0
0
0
-1
4
0
0
-5
1
-16
5
0
0
-27
2
-7
0
-13
4
2
2
0
1
5
-16
-1
0
-8
-24
1
2
0
1
3
-4
-1
0
-3
-3
-8
2
0
0
2
-1
0
0
-4
-13
-1
-7
0
0
-5
5
4
0
6
-2
16
1
0
-5
-13
10
0
0
-5
-3
-21
4
0
-1
-5
8
5
0
2
0
5
1
0
0
2
0
0
0
-18
1
-16
0
0
0
-2
1
3
0
-8
4
9
-1
0
0
-14
19
-1
0
0
-1
-2
0
0
0
-23
5
-3
0
1
0
-2
-3
0
-3
-4
-8
-1
8
-28
25
-22
0
0
-5
25
-8
1
0
13
-5
4
0
0
9
1
9
-1
0
-17
-10
12
-1
0
-7
-6
2
0
0
3
-1
1
-3
0
0
2
0
0
0
5
5
0
-2
0
-2
10
-1
0
0
3
6
-2
0
0
-1
-14
-6
0
0
-2
-7
12
3
0
-7
14
1
1
0
0
9
-5
1
0
7
5
-6
0
0
-17
16
3
13
0
45
-44
-16
5
0
3
33
-8
-30
0
9
-22
-48
9
0
1
8
-17
-1
0
-7
-8
-23
24
0
-8
-49
-1
-4
0
8
10
43
-27
0
20
49
10
-5
0
-2
-22
18
-37
0
-17
5
-16
-17
0
-14
-4
-24
-25
0
-8
-24
2
1
0
23
9
-4
42
0
-1
-15
25
22
0
1
-12
18
25
5
30
34
-17
1
0
-5
-8
2
0
0
-20
8
7
0
0
-10
3
0
0
0
-13
-5
-4
4
0
-2
1
-1
-2
0
-7
1
0
0
0
0
2
0
0
0
-20
-8
1
-1
0
18
-1
3
-1
0
27
2
-2
1
0
0
-2
-7
-1
0
0
8
-9
1
0
0
-2
10
-1
0
2
7
-4
0
0
-1
0
17
0
0
-1
5
23
9
0
-1
-4
-25
-23
0
3
-44
-18
-29
0
-8
34
-43
17
0
-13
13
0
15
0
-8
-30
-25
7
0
-9
6
-4
-6
0
-2
10
35
13
0
12
3
0
-6
0
-12
17
5
-8
0
-2
-8
13
9
0
-3
1
25
2
0
0
3
9
1
0
0
3
-33
2
0
0
5
25
0
0
8
-12
31
-7
11
9
-7
-19
7
0
5
13
-17
0
0
3
4
9
-3
0
2
7
2
0
0
-15
9
-5
0
0
-10
2
-5
0
0
-4
2
-2
0
0
3
3
0
0
0
5
-2
0
0
0
-1
4
0
0
0
-4
-1
-2
-1
0
2
2
-2
0
0
6
3
10
0
0
3
-2
-8
0
0
0
-1
5
0
0
1
-4
0
0
0
-31
-6
-8
4
0
-33
-12
2
10
0
42
-41
-1
-22
0
44
8
21
15
0
-29
12
9
-3
0
7
-8
-1
-19
0
4
1
-21
-2
0
-12
-10
22
5
0
-8
0
-4
-20
0
2
-3
4
-4
0
-6
13
-13
2
0
0
-3
-24
-2
0
8
0
-5
-4
0
0
8
9
-17
0
0
16
2
4
0
-2
-3
8
25
-33
-4
6
16
5
0
23
-3
0
3
0
-5
-13
-12
1
0
2
2
6
0
0
-13
9
0
-1
0
-1
13
-1
0
0
-3
0
0
0
0
0
-3
0
0
0
15
-10
0
0
0
-4
2
1
1
0
-16
-2
0
-1
0
0
0
-4
0
0
-6
0
3
0
0
0
0
0
0
0
0
-2
-1
0
0
8
4
0
0
0
42
8
5
0
0
-31
-47
16
-7
0
40
-45
-31
9
0
10
8
28
3
0
-4
39
-15
8
0
9
-4
-31
8
0
6
-10
13
4
0
5
-5
-13
-8
0
17
13
-2
-6
0
19
6
-24
-3
0
-22
8
8
-3
0
0
2
9
0
0
5
-8
7
-2
0
-8
-17
-12
13
0
0
-3
17
-1
0
1
13
-41
-20
-23
-9
12
-21
-19
0
2
22
6
6
0
25
-5
1
5
0
-12
-5
-1
-1
0
-8
3
-23
4
0
-3
-2
0
0
0
4
-1
-3
-3
0
0
0
-2
0
0
8
0
-13
0
0
8
-5
4
-1
0
-6
0
-2
2
0
2
8
-1
0
0
8
-14
-6
-6
0
1
1
-1
0
0
0
-1
0
0
0
-4
0
0
0
0
1
-7
-18
-3
0
1
-41
-8
12
0
42
-1
-5
-25
0
31
15
-8
-25
0
-40
-19
-13
31
0
-2
8
-7
-4
0
-23
-7
-1
1
0
1
5
1
0
0
-10
-20
-3
20
0
23
12
12
7
0
6
-9
14
2
0
4
2
-2
0
0
-24
21
12
-10
0
-3
-16
-7
0
0
0
-1
12
2
0
-24
-7
7
5
31
3
-14
13
-6
0
-7
42
-7
4
0
5
5
-6
-7
0
-5
-12
1
2
0
23
16
0
-2
0
-1
0
0
1
0
-8
2
0
0
0
-2
-1
0
0
0
-16
12
0
0
0
1
-1
-4
7
0
-1
1
2
0
0
0
-4
0
0
0
7
0
-7
1
0
1
0
-3
0
0
-1
0
-4
0
0
0
-8
2
0
0
-2
13
-5
-2
0
26
-28
48
13
0
8
20
3
18
0
13
-12
-13
-13
0
5
-51
-19
-25
0
-31
15
-6
-25
0
-12
-13
-3
2
0
9
24
-5
-4
0
2
-18
2
4
0
-27
-4
16
2
0
12
-13
-13
-6
0
3
6
-25
-1
0
19
7
-7
0
0
-3
-10
8
-15
0
-1
10
2
1
0
0
-22
-2
-5
17
12
-35
3
-4
0
6
9
13
-3
0
-5
4
10
3
0
1
-4
0
0
0
-12
-13
-1
0
0
2
-1
0
0
0
2
-2
0
0
0
0
0
0
0
0
8
0
4
-3
0
-1
-5
7
1
0
-1
10
-3
0
0
0
-16
0
0
0
8
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
-8
0
-1
0
-11
84
1
-12
0
4
-2
24
12
0
41
-8
-8
-6
0
-33
44
6
3
0
20
-6
-23
-1
0
10
-12
-1
-17
0
13
-10
-12
2
0
-8
0
2
-1
0
-2
8
-10
23
0
10
7
-3
-1
0
-20
-1
10
1
0
14
-6
3
-1
0
0
5
-5
-24
0
0
-5
-5
0
0
-9
5
-16
4
-40
-13
-2
-18
5
0
2
24
15
-8
0
-19
0
1
-5
0
9
-15
-2
-5
0
-32
3
1
-7
0
12
1
0
1
0
-14
-1
9
0
0
1
-2
2
-1
0
-22
-3
-3
-2
0
-16
41
-2
12
0
-29
4
8
6
0
-4
-12
-3
3
0
-8
5
-3
-5
0
3
4
-7
-1
0
8
-8
-2
0
0
0
-1
-3
-1
0
21
16
-14
2
0
52
59
-10
18
0
57
42
23
-1
0
-38
-50
18
-31
0
-70
-42
29
0
0
17
2
-2
6
0
4
1
8
-5
0
-1
-3
-6
-13
0
-19
-4
-44
6
0
30
4
32
-2
0
-1
-20
16
1
0
25
-8
-3
4
0
-24
8
-8
-8
0
3
-31
-41
9
0
-2
-1
5
-6
0
-2
-31
7
7
-6
16
-16
-13
-9
0
-1
14
8
1
0
-19
14
4
-3
0
13
-41
16
3
0
14
-9
10
10
0
13
7
2
-3
0
3
-6
-3
1
0
12
1
0
1
0
-2
2
-14
4
0
-8
6
-13
-4
0
15
0
4
-1
0
3
8
-4
0
0
-4
-4
9
2
0
1
-14
0
3
0
-4
1
8
0
0
0
0
-1
2
0
6
-8
8
2
0
73
10
-61
-12
0
-13
-2
9
17
0
3
-13
7
-8
0
25
-17
-18
-15
0
22
-4
21
-2
0
12
41
-3
-5
0
-23
0
31
-1
0
-5
1
-1
-7
0
-48
28
25
22
0
8
66
-15
-1
0
23
-19
14
-29
0
-42
2
5
29
0
-17
28
-37
5
0
-17
-8
19
14
0
16
5
54
44
27
22
82
63
-11
0
8
-3
-12
5
0
-13
-3
0
12
0
-4
6
-2
1
0
30
1
0
1
0
4
-8
3
0
0
-20
23
0
0
0
-6
6
0
0
0
50
-6
4
0
0
-7
20
0
-4
0
-12
-13
-2
-4
0
1
-5
3
0
0
3
7
-1
0
0
-4
-10
0
0
0
1
5
-4
0
0
0
-2
-25
0
0
-2
16
7
0
0
21
20
-6
-1
0
-9
-13
17
7
0
57
-17
8
-8
0
-6
-5
-2
1
0
8
8
-2
0
0
17
-8
-24
-2
0
0
-1
-4
0
0
-13
-9
20
0
0
-42
3
15
16
0
39
23
6
-10
0
-16
0
-3
-13
0
7
88
-20
-6
0
3
-15
41
9
0
-2
-3
-26
1
0
0
1
-5
-18
-41
0
8
50
-14
0
-5
19
12
-4
0
16
-17
-13
5
0
4
6
9
5
0
-2
7
10
-12
0
5
0
8
0
0
-8
-6
14
0
0
2
0
4
0
0
-41
7
0
0
0
3
-1
13
0
0
22
-22
-1
-1
0
1
3
8
0
0
13
-2
2
1
0
2
1
2
0
0
0
0
-9
1
0
3
0
-1
-1
0
-27
3
-5
-8
0
4
-14
-3
-2
0
-1
-22
42
-12
0
-31
2
3
9
0
64
-22
13
5
0
18
23
-14
6
0
-15
5
-20
7
0
12
-18
7
-16
0
5
5
-6
10
0
-18
68
4
30
0
56
-29
-5
25
0
-19
13
36
-25
0
12
-40
-2
-32
0
-9
-7
10
-3
0
-7
3
33
-5
0
33
29
17
-34
-5
-47
-22
14
-9
0
-41
10
15
10
0
28
-2
-22
-5
0
-37
5
-7
9
0
17
-3
-8
3
0
12
-9
0
-1
0
8
-8
16
-6
0
34
-1
5
0
0
-47
12
1
2
0
0
-9
-25
2
0
-21
-6
-7
1
0
2
17
-1
5
0
-52
0
3
0
0
1
-3
4
0
0
1
0
-9
0
0
0
-2
-5
-1
0
13
-6
7
0
0
9
-66
-7
-25
0
21
14
22
21
0
-8
-27
3
-4
0
44
-10
4
-10
0
21
-13
-20
-8
0
2
-8
-2
-4
0
0
-1
-17
-3
0
-8
22
14
-5
0
-3
-37
19
39
0
-48
75
-58
7
0
42
8
-45
-23
0
7
-109
44
-4
0
68
42
-17
28
0
5
29
30
-18
0
-31
17
-64
-12
-28
-43
-36
17
8
0
14
40
5
-13
0
23
25
3
12
0
-42
5
8
2
0
11
-9
6
-2
0
4
6
0
1
0
17
0
-23
2
0
-4
-4
10
-1
0
-21
6
-2
-4
0
-15
-20
4
2
0
14
-9
-8
2
0
0
-5
0
3
0
-28
1
0
22
0
0
9
-1
0
0
1
0
4
8
0
1
1
0
-8
0
5
-19
4
-4
0
12
-1
50
-5
0
4
-13
-5
-8
0
-16
20
2
-2
0
22
9
-9
-4
0
-25
3
-18
1
0
0
-27
8
-10
0
0
5
2
-1
0
13
-5
-1
-3
0
25
5
21
-9
0
-13
-14
-8
-6
0
-3
-49
5
28
0
-5
-17
47
-4
0
-13
-12
-3
2
0
0
-9
-20
10
0
3
0
-18
-18
-17
-18
-26
-5
15
0
-25
-5
3
23
0
10
0
6
1
0
-13
3
-6
5
0
-35
27
0
-17
0
-4
12
1
1
0
13
-1
23
-1
0
-8
0
0
0
0
-12
0
10
0
0
-8
30
1
9
0
25
-8
-39
0
0
-3
-27
0
-1
0
-13
8
-1
-5
0
0
4
2
-1
0
2
-2
-1
1
0
0
0
-1
0
0
-8
-1
-2
5
0
-5
49
-7
28
0
-22
-48
31
-6
0
21
-13
14
-4
0
44
-24
-8
6
0
-7
9
7
4
0
-2
-9
-24
0
0
-2
9
-12
3
0
-8
1
-9
0
0
26
3
3
-2
0
16
16
49
-14
0
-49
-10
-5
3
0
-7
33
6
-20
0
-2
-16
24
10
0
-1
1
-10
-1
0
8
-23
-13
12
2
-1
-7
-22
-15
0
8
10
18
-2
0
10
-4
9
-7
0
24
19
-1
0
0
43
22
-9
-2
0
24
0
16
0
0
-17
-22
10
-1
0
-14
0
1
0
0
14
0
-14
-8
0
14
20
-7
-6
0
-6
-5
-4
8
0
2
4
-5
1
0
-3
12
1
7
0
0
6
8
2
0
2
0
-25
-1
0
2
2
-1
0
0
-20
-18
-3
0
0
-2
21
23
-10
0
-43
9
-4
10
0
-23
-10
-8
5
0
-79
-20
-5
24
0
34
1
10
8
0
4
-1
-16
1
0
4
-31
9
12
0
12
-2
-13
-9
0
80
-54
44
-5
0
10
-16
14
-7
0
0
42
-35
-10
0
-33
13
-49
18
0
15
10
-12
-30
0
1
1
-43
-2
0
-13
4
-14
-2
44
-19
-44
5
0
0
-1
44
26
8
0
-26
12
7
45
0
-16
39
-5
-12
0
2
10
-29
12
0
25
-31
20
-2
0
-27
-22
9
2
0
-18
-5
-10
-3
0
-13
-1
0
-6
0
-48
4
-4
-5
0
9
16
-12
16
0
5
-14
10
-1
0
3
-1
-25
-3
0
-4
2
10
-1
0
0
-8
-5
-1
0
0
0
-13
5
0
37
-2
2
-8
0
-14
-18
53
2
0
-30
18
35
20
0
-59
5
-38
-20
0
-23
3
-33
-6
0
-14
5
-4
2
0
10
13
-5
16
0
-15
9
-13
-7
0
-23
-6
-1
5
0
1
41
-24
-26
0
-47
-66
1
1
0
-46
-41
26
18
0
3
37
26
13
0
4
41
52
-4
0
41
-29
-4
-13
0
66
14
-82
-28
-17
37
-31
-4
22
36
-30
71
30
5
37
-2
41
39
-3
-13
-4
3
-6
16
-4
18
-6
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
-5
-5
0
3
4
-3
-13
0
-4
8
7
-2
2
-4
-6
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
6
13
8
1
-2
25
33
4
-1
6
-12
22
0
0
4
-7
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
9
-4
0
1
5
-2
2
0
-4
-10
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
22
-4
-19
4
44
-15
6
-22
19
-17
17
-41
21
3
-7
23
20
37
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
4
-27
-14
0
4
-14
-6
-6
1
-2
-8
8
5
1
-17
-18
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
25
14
0
20
-22
9
-2
-1
1
4
8
-12
-1
1
-19
-2
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-3
3
0
8
-5
13
-5
0
0
0
1
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
49
9
-23
4
-13
6
-3
-9
-5
5
5
42
2
8
36
-34
6
19
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
9
-2
7
0
9
-5
-10
0
-5
-7
-2
0
-1
-5
-3
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-2
16
18
0
-10
-17
0
-3
0
-3
-17
-19
-3
1
1
-5
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-3
0
0
1
3
0
0
2
0
-2
0
0
1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
9
-2
4
-7
1
43
-13
43
16
-25
9
28
42
-14
57
-24
27
9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-12
-7
3
0
-4
1
8
5
-7
1
-5
3
24
-1
0
4
15
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-16
3
0
1
-3
2
-1
6
3
22
-19
4
1
-16
-6
6
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
-5
-5
0
3
0
0
1
6
1
0
8
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
10
-5
25
-5
-7
0
0
-1
17
-8
-2
8
-16
-3
-4
31
-8
21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-23
0
5
8
4
17
-6
-5
-5
0
0
-8
-3
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
10
-7
0
0
5
-1
-13
0
0
-12
-8
-6
-3
0
-4
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
22
3
0
-16
3
-5
1
0
8
-4
-1
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
35
-8
-9
-1
41
-19
-12
9
32
8
3
7
6
0
-2
-9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
-31
-1
-4
14
4
5
-5
1
-1
-24
-5
-1
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-1
-8
-9
-2
8
0
-1
3
2
0
0
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
13
7
-1
0
-8
0
5
1
0
-1
-1
-2
0
0
-8
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
28
-8
2
-12
3
5
4
0
-9
-5
-4
22
-31
10
-32
7
1
23
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-6
-3
0
0
0
-1
-1
0
-2
0
6
0
5
6
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
3
-9
0
-2
0
3
0
-1
0
0
-2
1
0
0
-1
5
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
3
0
-1
0
-9
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
8
9
33
5
4
-25
3
-18
-7
14
13
18
6
17
-27
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-10
5
-13
9
-8
17
13
5
-9
12
9
-10
-9
7
9
6
-22
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-25
6
-1
0
-6
0
-1
0
-3
7
-1
8
0
3
-8
8
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-9
5
0
0
5
2
-1
1
0
-9
7
3
-4
0
-2
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
36
9
-2
24
3
-9
6
13
3
-5
15
-31
23
0
-21
-5
20
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-12
6
-5
5
46
3
12
-10
6
2
-3
13
34
-3
-13
9
-4
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
13
-13
24
-58
-5
21
1
-4
3
-17
1
8
0
2
-16
-1
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
45
3
0
25
-14
13
-3
-5
5
1
-13
23
-4
2
0
0
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-24
18
-13
22
28
12
-24
-6
13
7
0
22
-6
18
16
12
46
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
16
18
25
-1
-13
-24
4
-5
-2
-1
-3
0
-30
-1
-10
-1
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-13
-31
25
-4
29
-13
-4
6
3
-3
-14
-9
-16
0
12
5
8
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
4
0
-4
17
-10
-16
2
2
0
3
-1
-1
4
-1
13
-10
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
17
21
13
-8
-19
-4
7
2
-7
28
-10
-5
-23
1
18
-35
-1
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
8
0
4
22
3
-1
-2
0
5
-12
-8
16
-8
4
5
-18
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
24
27
-12
0
-11
-1
0
-19
3
4
-14
-20
-1
7
-13
-30
-8
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-9
-16
-17
5
-19
-3
27
1
0
19
-5
-4
1
-8
6
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-17
-15
1
7
8
-21
-24
-17
7
-20
-13
29
-24
6
15
26
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
10
3
1
-16
-5
39
-6
-3
0
7
-19
14
-9
13
-22
13
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
4
-12
0
-5
2
-5
-15
-23
2
46
15
14
2
-19
28
5
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
10
-4
-1
4
-28
2
10
0
-3
12
-18
6
-1
1
6
22
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
3
10
18
5
-28
-3
-9
15
-6
-2
-19
-16
-8
-7
15
-48
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
18
-2
5
-4
-16
6
-8
0
14
0
7
30
-32
-5
24
-8
6
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
25
16
9
0
-21
-2
5
1
-1
3
0
-5
1
-1
-4
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
18
5
17
-8
31
-1
23
19
1
-1
-3
-8
-16
0
0
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
36
-4
14
-1
-27
10
18
-31
-3
-16
-22
-7
-14
-2
13
13
-1
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
10
-10
1
8
15
-6
33
3
4
-24
1
-10
0
2
17
-7
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
6
0
0
17
-2
-12
-6
0
0
0
3
-1
0
-1
-1
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-5
10
8
13
-17
35
6
-2
-13
-2
2
1
0
-2
-2
-20
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-12
-4
1
4
31
-12
0
4
2
9
13
0
-16
7
2
-31
31
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-1
6
0
7
-1
4
0
0
-6
-1
-3
10
2
-24
14
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-18
6
-2
-2
-17
-5
-8
-12
-6
3
-24
-19
3
0
-42
56
2
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
22
-2
-5
9
-6
8
25
-7
7
2
-7
-25
-14
1
6
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-2
-50
19
0
19
-39
11
20
-13
-8
-39
35
-7
-9
-60
-20
-14
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
2
29
13
0
3
-6
13
23
0
-9
-8
-7
8
-3
-8
18
10
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
-17
-14
-1
-26
13
12
-5
-20
-1
-20
-6
-6
7
16
21
-18
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
-1
-28
10
-15
-7
6
2
9
-1
19
-3
3
-8
-7
-44
-25
27
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
15
10
18
12
5
23
4
-1
2
-5
-9
5
-7
0
1
9
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
8
2
0
5
-14
12
8
-5
-4
1
5
5
3
1
7
-1
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
66
12
31
-11
48
-8
22
-23
24
6
-75
9
-49
12
-24
17
12
40
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-32
28
22
2
-7
28
-13
-9
3
0
25
9
-6
1
0
7
16
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-29
6
-14
8
-5
29
-3
1
0
0
18
-1
4
-3
7
-6
-3
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-10
6
5
-47
28
10
24
-3
2
-1
-4
6
6
-1
-14
-9
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
5
-66
21
5
56
97
45
6
-21
-12
-26
-17
-10
0
-17
-45
-35
24
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-23
-23
-43
16
-15
13
-5
0
0
5
5
-1
0
0
-12
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
4
-18
-3
8
-13
3
-1
-2
-9
-12
2
-24
-3
-1
32
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
19
7
5
-15
-1
-6
-3
-4
0
0
8
5
-13
0
2
-14
-6
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
22
43
48
11
-34
-1
-22
2
-22
16
-13
31
-44
14
7
0
-52
-9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
29
-5
-4
3
-8
-44
2
-10
0
14
-4
-5
8
2
-8
-8
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
14
8
0
10
-5
17
8
-1
23
41
6
-1
1
-24
-41
15
-29
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-29
-1
-5
0
4
-6
-14
-4
4
2
13
1
16
3
-14
-7
13
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
28
13
-13
-1
-41
6
-29
3
10
-7
-22
22
35
14
49
45
-31
-20
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-12
13
-5
-1
-10
6
7
8
4
-2
-3
0
0
-8
23
5
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-6
-3
-12
-2
7
-5
0
-6
0
-2
2
-23
6
-8
3
-18
-10
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
5
17
0
19
4
-5
0
0
0
1
3
5
1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-59
43
-50
6
5
35
3
-5
4
-70
-41
3
-6
3
-51
2
5
20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
3
5
-33
33
26
60
-43
-17
7
-14
19
-13
-31
1
3
-16
19
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
4
-8
6
2
-2
23
16
-6
-9
-5
27
8
1
-1
1
25
-12
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-5
-3
-1
-12
-2
-1
14
2
-7
5
1
0
-1
3
-5
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
13
-16
27
23
-25
45
22
-9
5
12
-72
0
-6
-7
5
-57
-9
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-5
15
-5
17
-22
24
-7
8
-10
12
-14
28
4
-12
7
-13
-13
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
-9
-2
7
14
-4
-3
-2
-1
0
9
9
-1
0
-2
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
4
7
1
1
-1
0
-2
1
-1
0
-2
0
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
24
-4
5
8
-39
-46
10
-3
41
19
-27
3
-25
-3
33
25
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-25
-42
20
10
-39
-7
-1
5
4
-16
-10
-12
7
-5
5
-3
-5
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-4
-1
3
0
9
7
-3
-1
1
-3
15
-2
8
9
0
-19
15
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
4
0
-1
1
-10
-2
-1
1
-10
-9
1
0
-8
5
10
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
14
-14
-27
21
-27
13
-14
16
-21
-20
-4
3
-2
-14
33
-43
-24
-36
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
-24
-6
20
-9
-57
5
12
-2
-14
-40
-31
-10
19
35
-3
3
17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
-3
5
-5
14
12
8
19
4
-8
-5
-3
-16
-1
-2
8
1
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
16
26
10
17
13
3
4
6
17
2
-7
-4
-3
-24
7
-25
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-56
53
25
-41
-34
27
5
13
2
31
-3
-16
-5
8
4
-24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
11
-15
4
-18
72
-29
19
76
6
9
49
31
4
14
-49
22
3
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-6
8
13
4
5
31
-16
-27
-5
9
-3
6
-10
-3
1
25
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
35
-5
-23
-19
-14
-8
-35
-13
0
-4
-1
10
4
-5
5
7
-13
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
28
16
-2
-1
-8
-58
32
29
1
31
43
-12
-13
8
-46
0
4
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
30
-22
-21
72
-1
-8
1
-14
47
-44
35
-20
24
20
12
37
-18
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
6
3
0
11
0
6
7
4
9
-22
-35
2
0
13
0
5
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-41
-10
13
0
-1
5
18
9
-14
-1
-3
20
-19
13
7
3
-4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-51
21
15
6
22
11
-18
2
1
6
9
27
-12
-3
-35
-44
39
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
14
9
33
-31
-9
38
4
-31
19
35
48
-18
-23
-2
-30
31
-11
-8
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
-4
-7
6
-13
12
8
-2
3
8
6
-14
-3
0
25
-20
7
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-25
0
-20
5
-9
-23
-21
-8
-9
0
-3
-23
-14
0
-7
-2
-6
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
10
-13
0
-34
1
23
-4
-13
16
-55
-22
20
6
39
-20
6
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
42
15
-43
66
3
19
26
-33
-20
-48
-24
-14
55
10
-32
-15
-15
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
-4
30
14
-13
-2
-3
14
6
8
-3
8
-43
-9
0
-41
-23
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
5
-31
20
22
-5
5
-10
8
-6
4
-41
7
4
-1
2
9
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
28
-42
13
-32
48
-9
9
-29
-8
-75
65
1
-13
0
-5
-7
-8
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-20
-10
80
-22
-25
13
5
-3
8
12
19
57
-44
-5
1
-41
-10
21
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
3
18
0
7
-1
30
-1
3
-13
-51
1
5
-5
-32
-10
-13
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
-9
-2
-13
-15
-49
23
13
-5
-1
-22
5
-1
0
-21
0
7
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-38
-3
4
7
43
30
7
-25
0
-10
5
21
-2
-31
-2
3
-12
-21
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
23
21
8
6
11
5
-16
-1
2
-10
15
-6
15
15
2
24
-8
-25
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
13
13
10
-3
-13
12
-33
-8
5
-13
-63
32
-34
2
-49
8
-18
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
8
-6
-6
2
8
-7
-1
-6
-8
21
-1
2
-5
0
-17
9
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-20
15
9
-56
9
2
1
32
-47
26
-7
42
-20
-32
4
14
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-17
-37
48
-31
-7
-32
-5
12
-42
-58
-46
33
-13
-30
-51
-66
52
2
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-44
20
-5
1
-90
-3
-41
28
1
-30
-5
-13
25
-4
-14
6
-13
35
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-1
-39
20
5
-22
6
-11
-9
10
8
5
1
-33
0
-8
-47
-5
30
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
-34
-62
1
65
3
31
-14
-22
-42
12
-21
13
-11
2
-10
-8
27
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-5
71
-31
26
-37
8
-72
5
-28
-27
-22
-9
-5
21
-7
0
-32
-20
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
6
51
33
-10
13
-6
5
6
6
-13
22
-34
-1
16
-17
38
-16
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
-13
-5
20
5
8
-5
0
0
3
16
-4
-1
2
16
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-4
-1
24
0
-2
25
9
9
0
2
-13
-10
-2
0
0
-8
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-6
9
1
-1
19
-12
1
-3
0
-8
2
-8
2
0
-7
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
8
8
-20
5
22
46
23
4
25
-22
31
-17
32
-10
7
-24
24
34
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-1
5
4
1
16
4
-17
-7
0
1
2
3
6
0
-8
-5
6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
0
5
-3
22
-2
-8
-3
5
0
3
-5
-8
0
1
-25
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
4
0
0
0
3
1
1
0
0
1
1
2
0
4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-7
-5
4
-1
-31
23
13
-2
6
5
10
-15
-6
3
46
-6
7
13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-13
-13
-8
-2
-4
5
-16
0
0
-3
4
-28
5
1
6
-13
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
2
-18
-14
0
5
-4
-6
3
0
8
-16
5
-4
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
31
0
7
0
1
6
-7
3
0
-8
-20
15
4
0
-8
-24
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-25
31
-14
-12
27
16
-9
3
19
-6
-25
32
21
2
-8
24
-10
64
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
6
10
-14
-2
1
-29
1
-3
3
-1
5
-17
9
1
-3
7
4
17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-8
-2
-3
2
-8
-18
0
-4
0
8
-2
6
0
5
-17
-33
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
-5
-1
0
8
-6
-7
-2
0
-1
-5
-2
0
1
7
-3
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-23
10
-13
3
-14
17
25
-6
-2
3
24
27
6
-20
27
12
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-10
-13
4
-1
2
-4
8
0
0
3
0
12
0
0
-6
1
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-13
-8
-5
13
-19
-4
-8
3
0
5
1
1
0
-1
-5
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-5
-2
0
-2
24
4
2
0
-1
-1
8
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-5
7
-8
-12
3
25
-5
-28
8
-5
-42
3
12
3
-12
-17
33
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
5
3
0
6
31
-12
-4
-4
0
2
-12
6
0
-1
2
-8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
13
3
-4
2
25
-15
-6
3
-6
0
1
-3
1
0
-3
1
-15
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
0
-2
0
-1
1
5
2
0
-2
3
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
5
5
-2
-4
-1
-25
10
0
1
0
8
-5
-2
14
-16
17
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-4
1
0
0
4
0
1
0
2
-2
-2
1
-1
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
2
12
-1
-4
0
-2
4
1
-3
5
4
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
4
-1
0
-3
0
-1
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
30
0
-4
4
20
-16
-6
-1
-12
-4
38
1
4
-2
31
-58
15
-27
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-7
9
-2
-15
-12
0
2
0
0
-20
12
5
-1
9
-19
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
23
1
-1
-12
-1
3
6
-7
-2
10
-15
23
0
-7
-2
9
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-7
-15
-2
0
-4
2
3
-1
0
0
-2
-5
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
5
45
24
-5
20
21
-8
5
-8
-6
-7
9
-8
1
-1
10
-41
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
21
31
-7
17
7
5
33
-20
3
0
5
-14
3
2
-2
-5
2
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-9
-2
4
-2
1
5
0
0
0
1
-3
0
-1
0
-7
-1
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
-5
0
0
-2
-3
29
0
0
2
4
-3
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
19
-5
13
1
-1
-48
-8
-22
0
13
14
-8
6
0
6
55
-8
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-54
-8
31
3
18
-3
1
-18
-7
7
-7
-10
-10
-1
0
-15
13
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-4
2
-1
-7
4
20
-12
0
0
-2
0
2
0
1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-3
0
0
7
16
-1
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
19
4
14
14
-9
43
8
3
-8
12
-11
8
-61
-3
15
-21
-2
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-15
32
2
-9
17
0
18
6
-2
-1
-8
5
-1
10
-5
3
-3
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-34
12
6
1
-1
23
-17
7
3
-1
3
-14
4
0
2
13
5
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
13
8
-3
-3
1
-17
-20
3
0
6
10
7
0
0
3
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-7
-7
-9
3
-26
-15
-5
4
-2
4
18
-1
-14
-7
-13
37
-11
-23
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-20
13
-9
0
-16
0
15
0
-6
-1
-16
1
19
-14
-6
-6
13
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
6
0
5
-10
3
-2
-9
0
-5
0
-3
0
1
41
8
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
12
-1
0
0
-20
0
15
-3
1
0
-6
4
1
0
39
-5
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-34
4
7
-3
-8
8
-12
5
-18
7
20
-9
-3
2
-34
1
3
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
4
-4
5
25
3
6
-8
-8
0
-2
-1
-1
-4
-1
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
27
-1
-7
1
-22
-7
-7
5
1
0
0
-1
-1
0
0
-2
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
6
2
0
-1
6
0
0
0
1
0
3
-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
-19
-2
2
7
-4
1
7
5
-6
0
-8
9
8
-8
-1
-13
2
18
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-7
17
-5
-7
6
14
7
47
8
0
16
-7
-5
0
0
-5
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
-4
-1
-8
5
3
-7
0
-1
-4
2
0
0
1
-3
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
1
0
-2
6
-6
0
1
0
0
-1
0
0
-2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
1
14
1
8
12
-20
2
-8
-12
-12
19
1
-5
8
-9
-8
3
22
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-30
13
15
7
-31
0
5
-6
0
8
12
15
0
-4
-17
1
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-19
9
20
-13
-18
-14
9
-4
1
1
0
0
0
-2
2
-2
-7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
-10
-22
-5
0
0
2
1
1
-2
-8
13
-6
-1
0
3
-10
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
65
-2
-29
-7
2
12
0
14
5
40
-55
-21
16
10
-7
-8
-11
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-30
0
-1
-6
9
-9
-20
-5
-6
-9
5
7
25
2
9
21
-44
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-2
12
3
-7
0
17
-7
5
-1
-6
-27
8
-1
-2
5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
42
12
-3
1
-9
-4
-5
-1
1
-8
6
8
-4
1
17
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
24
-13
0
8
10
-14
-2
-1
0
7
25
-5
-3
-2
-14
-14
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-13
2
4
2
-5
-5
0
2
5
-1
-1
0
-4
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
49
-14
8
-1
-31
11
-28
-42
15
4
25
64
-34
4
7
-41
6
-11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-9
15
13
3
41
0
9
-2
3
22
-13
-22
1
0
-8
17
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-17
4
4
-3
41
-7
7
5
-1
-3
-17
8
5
-2
19
4
-5
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
8
-1
-6
-5
9
-16
4
2
0
0
1
-3
0
-2
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-20
-5
51
18
-16
31
-6
-8
-23
-9
45
-12
-48
-5
-7
-82
1
49
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
25
4
-7
1
-19
14
-2
-2
0
15
14
-18
0
-2
8
-24
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
15
-1
-2
-16
33
-2
5
-1
-18
-30
1
-13
3
7
2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
6
-5
-8
1
6
0
-2
-4
-3
0
5
2
-9
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
58
43
-48
-2
9
-32
9
-8
20
-6
-60
5
18
-13
-25
22
43
21
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-4
-42
1
13
0
5
-4
1
-10
-16
-14
7
-3
12
1
-7
-14
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-12
-6
3
-13
25
-1
4
0
0
21
2
-1
0
-1
-6
-13
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
8
-5
-2
7
-12
-3
-3
-1
0
4
0
8
0
-2
-9
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
3
4
-20
-4
-17
18
2
-30
-8
2
10
19
-16
-6
30
5
-44
-20
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-23
-9
1
8
-6
-5
-9
1
-13
5
23
-5
-6
0
4
12
34
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
6
2
2
7
-10
-23
13
10
8
33
-5
-31
-10
-7
12
-19
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-2
1
-23
5
9
2
-9
-2
3
-1
5
1
0
0
-1
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-47
0
-14
21
17
20
19
41
-42
-17
27
-58
-19
20
-28
21
-2
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-15
-6
-8
-4
0
-9
-12
5
5
0
3
3
-16
1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
15
-18
-5
17
1
12
5
-3
-9
8
-2
1
-21
3
7
-15
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
-13
16
3
-25
8
-13
5
2
-2
1
0
-1
0
3
4
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
5
-15
-20
3
5
24
17
-7
-1
-45
53
5
9
-8
-14
-11
-32
-25
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-33
8
-8
-5
3
-27
-12
35
-8
0
-9
3
-12
-2
6
5
8
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
9
6
13
-1
-4
2
8
-1
0
21
-23
3
-3
-5
-17
8
-16
18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-4
35
-6
-9
-7
7
2
-3
-1
-1
1
-5
1
0
2
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-35
49
20
-1
-13
-39
3
18
-15
-25
16
-72
-41
8
42
68
34
-41
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-5
53
0
7
1
-15
-6
-1
-8
4
15
15
-12
-8
9
-8
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-15
3
42
-7
9
-29
2
23
2
-25
-45
-20
25
3
31
9
20
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
37
-21
1
8
-15
-27
-10
-6
1
2
-1
-13
-10
-16
5
-13
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-9
16
-28
9
8
5
17
-46
8
-60
-2
-3
41
-16
-4
29
-30
-49
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
-32
41
-10
6
9
-5
-31
-10
13
10
2
-18
14
-5
-44
25
20
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-7
13
5
-1
17
-3
15
-14
4
-17
25
-19
30
2
-18
8
-8
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
51
0
5
0
5
13
-5
-2
-1
-10
-9
-2
7
-1
15
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
34
33
16
-1
7
4
13
4
34
-8
8
-13
14
-2
18
-15
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
25
-47
9
32
33
5
5
20
-23
-33
37
3
31
-17
0
5
44
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-6
13
-10
-7
-30
8
27
-16
13
5
-4
-9
-23
1
-32
-4
1
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-4
-4
-2
46
3
-6
5
-3
0
0
0
-1
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
45
19
-17
10
-21
-13
-5
41
2
-18
4
-8
22
-9
-29
-1
15
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
43
-2
17
7
1
-59
50
73
-1
18
3
-4
-29
-5
9
2
16
-45
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-5
8
12
13
11
1
-9
-6
7
-13
-18
22
14
-7
31
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-16
-5
3
-3
-1
10
-7
-2
-1
8
-5
0
-2
-7
8
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
41
-86
77
4
29
-39
-6
-44
-15
-66
-23
67
0
-13
0
25
-42
17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
23
-10
-14
-3
75
19
-41
-30
-56
23
-1
14
-29
-26
-74
17
45
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
8
-29
-6
12
-14
-31
14
-31
-14
-3
-16
6
7
3
-70
9
-9
5
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
22
12
12
1
-19
-10
2
-5
4
-13
-5
-8
2
0
2
1
8
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
31
-62
-40
5
-50
85
28
-6
-4
14
-75
-11
10
-6
21
4
-8
-19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-30
-9
16
22
-39
-20
0
25
-41
-34
-7
-9
26
-13
-13
1
-27
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
8
10
30
13
34
31
1
-24
-1
-8
-21
4
-7
-7
-21
-16
8
15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-20
32
31
7
33
-15
4
3
0
-31
-8
-25
10
9
-31
4
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
30
8
23
12
14
5
-39
-1
-21
-10
-19
-7
-19
-5
-31
-2
14
-13
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-53
-18
10
-14
-3
23
-42
4
5
-24
21
41
8
-5
-22
40
-22
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
12
19
3
1
40
-10
-24
10
-9
5
-19
47
-2
2
17
-20
-19
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
35
24
14
-8
-8
-5
33
28
-5
3
-5
1
-7
-3
7
5
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
61
23
-10
29
-53
-9
7
-5
-1
-2
-9
-14
8
-9
-32
-85
8
-24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
37
10
24
7
63
-48
-9
20
-3
-4
16
-34
6
6
-18
-27
8
7
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
22
5
-1
15
17
7
21
-9
-16
-18
24
5
-12
0
-32
-50
12
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
-29
-34
10
5
-9
-8
24
7
12
-7
-15
2
-6
-5
5
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
19
-23
24
8
-10
26
24
-14
3
30
-34
-14
-11
-8
11
-46
21
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-11
-49
17
35
-6
33
5
42
-40
32
-8
4
-57
7
5
-22
10
-67
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
6
23
8
10
4
35
17
13
-19
7
7
-8
5
17
18
0
-64
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
13
-25
-14
0
-47
-21
13
-24
25
-8
-31
6
2
-1
25
-6
-6
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-52
25
63
5
29
30
3
-3
-14
8
-13
8
39
21
-23
-69
-24
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-4
22
9
-47
-27
-28
-48
4
12
-27
-10
12
10
1
-84
-14
26
-18
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-3
15
1
0
0
0
0
1
15
-4
-10
0
0
0
0
0
0
-13
-13
12
0
0
0
0
0
0
5
48
-20
4
0
0
0
0
-8
12
31
15
-30
0
0
0
0
0
-8
27
-5
-23
0
0
0
0
0
-8
-8
29
10
0
0
0
0
-5
3
7
0
11
0
0
0
0
8
16
-12
49
-10
0
0
0
0
0
5
-2
-21
-13
0
0
0
0
3
-2
-25
-27
36
0
0
0
0
1
0
-17
-37
20
0
0
0
0
-3
10
14
-45
-4
0
0
0
0
0
0
7
0
50
0
0
0
0
-9
-1
-12
43
6
0
0
0
0
0
12
-1
30
-21
0
0
0
0
-13
2
-23
25
50
0
0
0
0
0
-2
1
-25
27
0
0
0
0
-4
0
-9
41
4
0
0
0
0
0
1
15
-2
33
0
0
0
0
9
-13
19
41
11
0
0
0
0
0
-1
6
-5
46
0
0
0
0
2
3
8
-16
17
0
0
0
0
0
-8
3
1
52
0
0
0
0
-1
-63
2
-14
43
0
0
0
0
0
-4
8
-4
6
0
0
0
0
6
-3
5
-8
6
0
0
0
0
1
0
-6
-25
50
0
0
0
0
1
9
-2
-38
3
0
0
0
0
-2
-1
2
32
12
0
0
0
0
1
8
25
-7
-35
0
0
0
0
8
31
-13
5
-11
0
0
0
0
0
1
0
-27
4
0
0
0
7
4
0
8
-1
2
0
0
0
0
0
0
7
-17
2
0
0
0
6
0
1
-7
15
-3
0
0
0
0
0
1
0
-47
20
0
0
0
1
-3
0
-15
3
4
0
0
0
0
0
0
0
-16
-2
0
0
0
1
0
0
13
-29
37
0
0
0
0
0
0
-2
8
24
0
0
0
-4
-4
0
-2
-23
56
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
-1
10
3
0
0
0
0
0
0
0
0
-11
0
0
0
-1
0
0
14
23
-32
0
0
0
0
0
0
0
7
-19
0
0
0
2
0
-6
-2
8
22
0
0
0
0
0
0
6
-1
8
0
0
0
43
0
0
12
-49
-8
0
0
0
0
0
0
0
18
-8
0
0
0
-2
0
0
-6
-16
-2
0
0
0
0
0
0
0
14
-39
0
0
0
6
0
0
0
-9
-6
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
-3
3
12
0
0
0
0
0
0
0
16
-27
0
0
0
12
0
0
-2
-13
22
0
0
0
0
0
0
0
-3
5
0
0
0
2
0
0
-2
-10
7
0
0
0
0
0
0
1
-13
-16
0
0
0
-5
1
1
0
4
24
0
0
0
0
0
0
0
-13
-37
0
0
0
-14
0
9
-1
9
-10
0
0
0
0
0
0
-16
-17
-26
0
0
0
0
0
0
1
-5
10
0
0
0
0
-2
-2
1
-24
13
0
0
0
0
0
0
1
24
-64
0
0
0
0
0
0
0
-30
24
0
0
0
0
0
0
-1
18
24
0
0
0
0
0
0
0
-5
-26
0
0
0
0
0
0
8
-9
-11
0
0
0
0
0
1
-6
-3
65
0
0
0
0
0
-3
0
5
20
0
0
0
0
0
0
-3
17
62
0
0
0
0
0
0
0
-24
14
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
-17
39
0
0
0
0
0
0
0
-9
17
0
0
0
0
0
0
-3
-4
-12
0
0
0
0
0
0
2
-5
-32
0
0
0
0
0
0
0
15
66
0
0
0
0
0
0
0
-7
41
0
0
0
0
0
0
-1
1
-19
0
0
0
0
0
0
0
-9
5
0
0
0
0
0
0
0
-1
32
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
19
-15
0
0
0
0
0
0
1
-8
1
0
0
0
0
0
0
0
16
9
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
-4
2
0
0
0
0
0
1
1
5
-19
0
0
0
0
0
0
0
-23
-4
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
-3
-4
5
22
0
0
0
0
0
0
-4
-42
-10
0
0
0
0
0
0
-2
-18
4
0
0
0
0
0
0
-1
4
4
0
0
-13
-4
0
0
-4
-22
-12
0
0
0
0
0
0
-1
3
-13
0
0
0
0
0
0
-7
-21
52
0
0
0
0
0
0
0
-14
24
0
0
-21
0
0
0
-9
-56
22
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
-2
5
9
0
0
0
0
0
0
0
12
-24
0
0
-15
0
0
0
0
-16
5
0
0
0
0
0
0
0
1
49
0
0
0
1
0
0
0
-2
-49
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
4
-7
28
0
0
0
0
0
0
-1
0
51
0
0
0
0
0
0
-1
-10
7
0
0
0
0
0
0
0
-8
13
0
0
-21
0
0
0
0
-5
28
0
0
0
0
0
0
-1
-2
-18
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
8
-5
-6
0
0
0
0
0
0
0
8
-31
0
0
0
0
0
0
0
25
-17
0
0
0
0
0
0
0
9
8
0
0
8
1
0
0
1
-19
10
0
0
0
0
0
0
0
4
25
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
8
24
0
0
8
3
0
0
-8
11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
2
3
61
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
4
13
3
0
0
0
0
0
1
2
-7
21
0
0
0
0
0
0
1
0
31
0
0
0
0
0
0
0
6
-25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
8
-2
0
0
0
0
8
-2
-2
6
-9
0
0
0
0
0
0
0
-30
-42
0
0
0
0
0
2
0
-19
25
0
0
0
0
0
2
-1
26
-21
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-10
0
0
34
0
0
0
0
0
1
-1
3
12
0
0
0
0
-10
4
-13
-1
-20
0
0
0
0
0
0
-1
4
17
0
0
0
0
0
0
2
-15
1
0
0
0
0
0
0
4
-1
8
0
0
0
0
0
1
1
0
-16
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
-4
0
0
0
0
2
-3
0
5
-23
0
0
0
0
0
0
0
2
-3
0
0
0
0
1
0
0
-2
-23
0
0
0
0
0
0
0
-2
-19
0
0
0
0
1
1
0
-1
23
0
0
0
0
0
0
-1
1
-21
0
0
0
0
1
0
0
2
-17
0
0
0
0
-2
-2
-8
-9
13
0
0
0
0
0
0
0
-5
-17
0
0
0
-18
0
0
0
-8
18
0
0
0
0
0
0
0
-14
51
0
0
0
0
0
0
1
13
-20
0
0
0
0
0
0
0
2
-12
0
0
0
2
0
0
0
-4
-8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
8
8
0
0
0
0
0
0
0
-1
-2
0
0
0
-8
0
0
0
-45
61
0
0
0
0
0
0
0
-14
24
0
0
0
0
0
0
-1
13
2
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
0
0
-2
16
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
17
-9
0
0
0
0
0
0
0
-4
32
0
0
0
3
0
0
0
0
15
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
5
-6
0
0
0
0
0
0
-1
-2
25
0
0
0
1
0
0
0
-8
-16
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
-1
-5
0
0
0
8
0
0
0
2
31
0
0
0
0
0
0
0
-1
25
0
0
0
-6
0
0
0
16
-3
0
0
0
0
0
0
0
-15
22
0
0
0
0
0
0
0
-17
-14
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
0
23
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
2
2
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
-8
41
0
0
0
0
0
0
0
-4
25
0
0
0
0
0
0
0
-9
25
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-12
-38
0
0
0
0
0
0
0
6
9
0
0
-8
0
0
0
0
7
31
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
12
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
4
8
0
0
5
0
0
0
0
4
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
12
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-24
5
-5
8
0
0
0
0
0
0
9
-8
-6
0
0
0
0
0
0
2
-48
12
0
0
0
0
0
0
6
-5
26
0
0
0
0
2
2
3
-8
14
0
0
0
0
0
-2
-2
2
51
0
0
0
0
0
1
-2
1
-3
0
0
0
0
0
0
-10
-4
9
0
0
0
0
-8
7
-3
6
-45
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
8
2
24
0
0
0
0
0
0
0
-16
19
0
0
0
0
0
-5
0
-4
-6
0
0
0
0
0
0
0
7
-13
0
0
0
0
0
0
0
-9
24
0
0
0
0
0
1
0
-8
27
0
0
0
0
-9
-18
1
-29
34
-1
0
0
0
-1
0
-5
1
66
-3
0
0
0
-3
0
1
9
-31
3
0
0
0
0
1
-5
9
35
-3
0
0
0
-1
-4
7
-4
-21
0
0
0
0
0
0
4
9
-9
-2
0
0
0
3
0
-8
-1
-18
-3
0
0
0
4
0
2
-8
5
-7
0
0
0
15
24
10
13
9
-4
0
0
0
0
0
0
-8
-6
17
0
0
0
0
2
-2
8
-32
5
0
0
0
0
0
1
3
9
-36
0
0
0
0
3
0
16
-22
5
0
0
0
0
0
0
1
-24
-30
0
0
0
0
1
0
-15
33
4
0
0
0
18
-12
-12
8
64
0
0
0
0
0
0
0
-39
45
0
0
0
40
-1
0
-3
-25
23
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
4
-32
0
0
0
0
0
0
0
0
4
72
0
0
0
1
0
-4
0
27
-36
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
7
12
-29
0
0
0
0
0
0
0
-5
34
0
0
0
-1
0
0
0
-22
20
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
8
-6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-7
-32
2
0
0
-18
0
0
-1
6
-24
-3
0
0
0
0
0
2
5
7
3
0
0
0
0
0
-6
2
9
-19
0
0
0
0
0
0
-9
-12
4
0
0
-5
0
0
2
-8
0
9
0
0
0
0
0
0
-14
12
-14
0
0
0
0
0
4
5
31
17
0
0
0
0
0
0
-2
25
-15
0
0
-15
0
0
1
-10
41
-20
0
0
0
0
0
0
6
16
-22
0
0
0
0
0
0
-1
-4
-13
0
0
0
0
0
0
-1
5
-5
0
0
-4
0
0
0
1
0
-5
0
0
0
0
0
0
12
4
-7
0
0
-15
0
-3
5
-5
-23
12
0
0
0
0
0
0
12
10
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
-13
2
0
0
0
0
0
0
4
30
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-9
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-8
6
-2
0
0
0
0
0
0
4
-14
-17
0
0
0
0
0
-2
5
35
12
0
0
0
0
0
0
5
23
-12
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
0
-5
-63
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
-1
-2
-1
-72
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
4
-23
0
0
0
0
0
0
0
-8
-32
0
0
0
0
0
2
-7
6
32
0
0
0
0
0
0
25
5
0
0
0
0
0
0
0
9
6
0
0
0
0
0
0
-1
-14
-8
0
0
-4
0
0
0
2
-15
10
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
-10
-13
-6
0
0
0
0
0
0
-17
-8
-14
0
0
0
0
0
0
0
-12
6
0
27
0
0
0
-3
-23
17
-3
0
0
0
0
0
0
4
-2
-5
0
0
0
0
0
1
0
5
-5
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
1
0
30
0
0
0
0
0
0
1
-30
-28
0
0
0
0
0
0
-1
4
-49
0
0
0
0
0
0
0
1
40
0
-10
0
0
0
0
-2
3
-49
0
0
0
0
0
0
-1
0
39
0
0
0
0
0
0
0
6
-27
0
0
0
0
0
0
-1
3
-9
0
8
0
0
0
-3
-17
29
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-25
9
0
0
0
0
0
0
0
-7
10
0
0
0
0
0
0
-8
-8
-24
0
0
0
0
0
0
8
-29
-4
0
0
0
0
1
-2
0
3
0
0
0
0
0
0
0
1
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
9
0
0
0
0
5
-17
0
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
-3
0
7
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
-1
-8
0
0
0
0
1
7
-3
6
-43
-7
0
0
0
0
0
0
-12
-25
18
0
0
0
0
0
2
0
6
-23
0
0
0
0
0
0
10
-23
-2
0
0
0
-1
0
0
-4
24
13
0
0
0
0
0
0
-1
2
-5
0
0
0
0
0
0
0
-3
-58
0
0
0
0
0
0
5
-3
-49
0
0
0
-2
-10
-8
-16
46
9
-3
0
0
0
0
0
6
-1
-37
4
0
0
0
0
-7
-23
27
17
17
0
0
0
1
2
-8
17
75
3
0
0
-1
0
0
6
-22
-30
3
0
0
0
0
-1
0
-9
-3
2
0
0
-1
0
0
1
14
-7
5
0
0
1
1
14
-53
40
18
6
0
0
0
0
0
-2
-13
0
0
0
19
0
0
0
-5
-11
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-7
0
0
0
4
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-3
8
-20
0
0
3
0
0
0
8
-25
-20
0
0
0
0
0
0
6
-14
35
0
0
0
0
0
0
-25
2
-22
0
0
0
0
0
0
1
4
5
0
0
1
0
0
0
-2
3
13
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
1
-1
-4
-96
0
0
0
0
0
0
0
24
52
-2
0
25
0
0
0
-3
-26
40
0
0
0
0
0
0
-5
-18
-30
13
0
0
0
0
0
-9
25
-25
9
0
0
0
0
0
0
27
-3
-14
0
0
0
0
0
7
13
-79
8
0
0
0
0
0
-4
10
-5
4
0
3
0
0
-2
5
1
-44
-4
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-49
0
0
0
0
0
0
0
-12
-12
0
0
0
0
0
0
1
6
-6
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-3
22
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-27
-9
1
0
0
0
0
0
0
8
-12
33
0
0
0
0
0
-10
24
-9
-23
0
0
0
0
0
-10
-5
6
46
0
0
0
0
0
0
0
31
-13
0
0
0
0
0
-1
0
-7
-21
0
0
0
0
0
0
0
-31
11
0
0
0
0
0
0
-9
60
-23
0
0
0
0
0
4
23
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
1
8
0
0
5
0
0
0
0
-16
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-25
0
0
0
0
0
0
-1
16
-5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
56
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
-2
-2
30
4
0
0
0
0
0
0
10
-18
-1
0
0
0
0
0
0
8
-61
42
-4
0
0
0
1
2
-10
22
-26
0
0
0
0
0
-1
0
-23
40
0
0
0
0
0
0
2
-9
66
0
0
0
0
0
0
-2
18
34
0
0
0
0
0
-12
25
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
9
-28
19
0
0
0
0
0
1
29
15
14
0
0
0
0
0
1
-5
-57
17
0
0
0
0
0
0
46
-44
-3
0
0
0
0
2
8
13
-18
-47
0
0
0
0
-1
0
8
52
-27
0
0
0
0
1
0
-8
-21
9
0
0
0
0
0
-1
0
-45
4
0
0
0
0
-8
22
-9
20
20
0
0
0
0
0
-2
-7
3
32
0
0
0
0
2
-4
-18
-3
22
0
0
0
0
0
0
-9
62
-37
0
0
0
0
0
4
0
1
36
0
0
0
0
0
-1
6
19
-60
0
0
0
0
-3
1
1
-5
23
0
0
0
0
0
-3
5
5
18
0
0
0
0
-7
-38
2
-5
-13
0
0
0
0
0
0
-1
-23
62
0
0
0
0
-1
0
-17
-3
22
0
0
0
0
0
0
-3
0
9
0
0
0
0
1
-13
3
-7
-14
0
0
0
0
0
0
5
-4
15
0
0
0
0
-1
0
-3
-12
-1
0
0
0
0
0
0
14
-6
28
0
0
0
0
26
-20
5
16
-35
0
0
0
0
0
1
3
3
25
0
0
0
0
0
3
13
-9
-28
0
0
0
0
0
0
-7
-13
-17
0
0
0
0
-8
-1
0
8
-41
0
0
0
0
0
1
2
7
-16
0
0
0
0
-8
-4
13
-6
-5
0
0
0
0
21
-4
-12
-5
-10
0
0
0
0
0
0
-1
-19
6
0
0
0
21
0
0
-2
-33
4
0
0
0
0
0
0
-1
34
-1
0
0
0
1
0
0
-2
25
-7
0
0
0
0
0
0
0
-13
5
0
0
0
-7
0
0
0
-36
43
0
0
0
0
0
0
1
3
-27
0
0
0
0
0
0
0
22
-34
0
0
0
0
0
0
0
-14
17
0
0
0
9
0
0
-2
-16
51
0
0
0
0
0
0
0
4
43
0
0
0
0
0
0
0
-16
-21
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
16
26
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
0
8
-63
0
0
0
0
0
0
0
8
29
0
0
0
8
0
0
0
-57
17
0
0
0
0
0
0
1
-2
-8
0
0
0
0
0
0
1
-9
22
0
0
0
0
0
0
0
9
-21
0
0
0
0
0
0
-2
0
16
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
0
10
-23
0
0
0
0
0
0
0
22
-6
0
0
0
14
0
0
0
4
1
0
0
0
0
0
0
0
-9
-13
0
0
0
1
0
0
2
-18
17
0
0
0
0
0
0
0
-8
17
0
0
0
8
0
0
0
7
-78
0
0
0
0
0
0
0
0
31
0
0
0
-59
-5
6
-23
29
-5
0
0
0
0
0
0
0
-17
59
0
0
0
0
0
0
0
-56
-5
0
0
0
0
0
0
0
33
43
0
0
0
0
0
0
-2
50
-33
0
0
0
0
0
0
0
2
-22
0
0
0
0
0
0
0
-24
45
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
-2
-42
13
0
0
0
0
0
0
0
-37
28
0
0
0
0
0
0
-2
-23
40
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
-1
-9
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
-6
37
0
0
0
0
0
0
2
-17
48
0
0
0
0
0
0
-2
-17
-8
0
0
0
0
0
0
0
-24
34
0
0
0
0
0
0
0
14
15
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
13
44
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
0
8
-14
0
0
0
0
0
0
0
2
16
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
4
45
0
0
0
0
0
0
0
-17
-44
0
0
0
0
0
2
-20
25
-14
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
-2
-16
17
0
0
-4
0
0
0
-10
26
-11
0
0
0
0
0
0
0
-5
68
0
0
0
0
0
0
1
-48
-46
0
0
0
0
0
0
0
14
22
0
0
0
0
0
0
1
-50
28
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-25
-9
0
0
1
0
0
0
-1
15
9
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
1
-18
28
0
0
0
0
0
0
0
10
5
0
0
0
0
0
0
1
-13
31
0
0
0
0
0
0
4
-25
8
0
0
0
0
0
0
0
24
-4
0
0
0
0
0
0
0
7
32
0
0
-9
0
0
0
-1
0
7
0
0
0
0
0
0
0
16
-41
0
0
0
0
0
0
0
9
10
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
2
5
-2
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
4
75
0
0
0
0
0
0
-1
-8
-2
0
0
20
0
0
0
0
-18
0
0
0
0
0
0
0
0
-31
24
0
0
0
0
0
0
0
15
-3
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
-1
-7
-4
0
0
0
0
1
1
4
-33
16
0
0
0
0
0
0
1
0
-32
0
0
0
0
0
0
-1
4
-5
0
0
0
0
0
0
-4
30
-5
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
3
51
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
7
-4
0
0
0
0
0
-5
0
-1
-3
0
0
0
0
0
0
0
2
5
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
-2
-10
-8
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-2
2
-9
0
0
0
0
-1
0
0
-1
-7
0
0
0
0
0
0
1
-1
29
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-2
13
-7
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
3
21
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
10
3
0
0
0
0
0
0
-1
2
20
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
-2
9
-54
38
0
0
0
0
0
0
0
-4
19
0
0
0
1
0
0
-1
-20
-3
0
0
0
0
0
0
0
-10
16
0
0
0
0
0
0
-2
-16
24
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
2
3
7
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-1
-8
21
0
0
0
0
0
0
0
-7
19
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
0
-14
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
0
0
0
1
0
0
0
2
-21
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
-2
2
0
0
0
-2
0
0
-4
16
22
0
0
0
0
0
0
0
-24
36
0
0
0
0
0
0
0
-2
-31
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
1
20
-24
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-25
11
0
0
0
0
0
0
1
22
-13
0
0
0
0
0
0
1
-30
-15
0
0
0
0
0
0
-2
10
-26
0
0
0
0
0
0
22
-55
47
0
0
0
0
0
0
-1
8
21
0
0
0
0
0
0
0
-8
45
0
0
0
0
0
0
4
-8
-7
0
0
0
0
0
0
2
-12
18
0
0
0
0
0
0
-6
-8
8
0
0
0
0
0
0
-1
12
3
0
0
0
0
0
0
-3
-2
43
0
0
0
0
0
0
2
-5
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
20
0
0
0
0
0
0
-5
1
18
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
-2
-22
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
-15
16
-10
0
0
0
0
-4
-2
1
19
-36
0
0
0
0
0
0
0
-2
40
0
0
0
0
0
-2
0
-17
8
0
0
0
0
0
0
-5
-2
51
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
2
44
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
-12
4
-8
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
3
16
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
4
0
0
0
0
0
2
0
-2
-25
0
0
0
0
0
0
0
7
24
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
-13
30
0
0
0
0
0
-1
-1
0
13
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
1
1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
-7
0
0
0
0
2
-1
10
12
22
0
0
0
0
0
0
-2
10
15
0
0
0
-2
0
0
0
10
13
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
-3
-47
44
0
0
0
0
0
0
0
-6
39
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-7
8
0
0
0
-3
0
0
0
-10
-15
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
-1
6
3
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
2
-1
0
-3
-1
27
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
0
-8
-12
0
0
0
0
0
0
0
-5
-14
0
0
0
0
0
0
0
-33
-6
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-8
13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
13
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-14
41
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
0
-5
29
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
17
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
19
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
-1
51
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
2
15
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
-10
-7
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
16
0
0
0
0
0
0
0
8
46
0
0
0
0
0
0
0
9
44
0
0
0
0
0
0
0
-5
34
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-44
0
0
0
0
0
0
-1
8
21
0
0
0
0
0
0
0
-9
-8
0
0
0
0
0
0
2
-8
-37
0
0
0
0
0
0
0
41
6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-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
-1
25
0
0
0
0
0
0
0
-13
-6
0
0
0
0
0
0
-1
1
8
0
0
0
0
0
0
-2
-22
-19
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
-4
0
0
1
0
0
0
-2
9
9
0
0
0
0
-4
-6
-2
-16
59
0
0
0
0
0
-5
-3
41
-29
0
0
0
0
0
0
-1
-35
9
0
0
0
0
0
0
8
-17
15
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
-3
-4
4
6
0
0
0
0
0
1
1
0
2
0
0
0
0
0
0
3
-8
5
0
0
0
0
-7
-2
-4
-2
31
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
-49
2
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
-1
0
-1
3
0
0
0
0
0
-1
1
4
1
0
0
0
0
10
1
-2
3
30
-1
0
0
0
0
0
0
-4
37
0
0
0
0
0
0
1
1
-2
4
0
0
0
0
0
-1
8
2
-1
0
0
0
0
0
0
0
19
-10
0
0
0
0
0
0
3
-8
-4
0
0
0
0
0
0
0
-4
27
0
0
0
0
0
-3
0
-7
-9
0
0
0
-3
7
1
-5
25
3
0
0
0
0
1
0
-1
-9
0
0
0
0
0
0
-1
-1
3
-7
0
0
0
0
0
0
1
-8
-4
0
0
0
2
0
0
0
-48
5
0
0
0
0
0
0
1
-18
-42
0
0
0
-1
0
0
2
14
-24
0
0
0
-5
2
8
-29
-11
2
0
0
0
0
0
0
3
23
0
0
0
-16
0
0
0
5
43
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
-3
-12
10
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
-9
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
4
-8
0
0
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
-5
3
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-16
0
0
0
-1
0
0
0
5
8
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-5
16
0
0
0
0
0
0
0
0
14
-5
0
0
6
0
0
0
8
1
-8
0
0
0
0
0
0
1
-4
-7
0
0
0
0
0
-1
14
-41
6
0
0
0
0
0
0
0
-6
-5
0
0
1
0
0
0
1
18
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
6
-18
32
0
0
-3
0
0
0
0
20
-4
0
0
0
0
0
0
0
5
-13
0
0
-1
0
0
0
2
24
6
0
0
0
0
0
0
3
8
8
0
0
-4
0
0
0
0
-5
-17
0
0
0
0
0
0
-1
-7
-27
0
0
3
0
1
0
-68
-44
-1
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
10
43
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
15
-17
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
7
-28
-6
0
0
0
0
0
0
0
-3
-18
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
2
33
0
0
0
0
0
0
0
1
48
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
1
-54
0
0
0
0
0
0
2
10
25
0
0
0
0
0
0
8
-7
-24
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
0
-3
-69
0
0
0
0
0
0
-4
-5
26
0
0
0
0
0
0
3
0
-18
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
9
7
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-8
26
0
0
0
0
0
0
0
3
7
0
0
-3
0
0
0
0
-22
-16
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-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
-4
-8
0
0
0
0
0
0
1
-6
30
-1
0
0
0
0
0
0
1
-39
-14
0
0
0
0
0
0
2
1
-4
0
0
0
0
0
0
1
0
-26
0
0
0
0
0
0
-3
0
-41
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
-3
-8
13
0
0
0
0
0
0
-5
-5
-8
0
0
0
0
0
0
-2
-5
10
0
0
0
0
0
0
1
0
37
0
0
0
0
0
0
0
2
32
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
0
0
14
0
23
0
0
0
1
12
14
-13
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
0
-5
-16
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
0
-12
25
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-14
15
0
0
0
0
0
0
0
8
-4
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
8
5
-35
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
3
41
0
0
0
0
0
0
0
0
-108
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
6
-47
0
0
0
0
0
0
-3
-4
56
0
0
0
0
0
0
-1
0
-14
0
0
0
0
0
0
-3
0
-16
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
-1
1
-13
0
0
0
0
0
0
0
0
30
0
0
0
0
1
0
-13
3
-39
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
-12
0
0
0
0
0
0
0
1
-35
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
-1
26
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
-20
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
2
8
-24
-9
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
-10
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-2
-15
62
0
0
0
0
0
0
12
-14
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-25
0
0
0
0
0
0
2
2
-51
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
-31
0
0
0
0
0
0
2
1
-3
0
0
0
0
0
0
-2
0
23
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
1
1
-7
12
0
0
0
3
2
0
-8
22
0
0
0
0
0
0
0
-5
21
0
0
0
0
0
0
0
10
6
0
0
0
0
0
0
0
8
-16
0
0
0
0
0
-1
0
2
-24
0
0
0
0
0
0
0
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
20
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-2
-5
-12
30
0
0
0
0
0
0
-6
-17
8
0
0
0
0
0
0
1
3
33
0
0
0
0
0
2
5
-4
-28
0
0
0
0
1
0
1
-30
27
0
0
0
0
0
0
-1
8
24
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
4
-45
0
0
0
0
0
0
0
-16
2
-1
0
0
0
0
0
0
-14
-83
5
0
0
0
0
0
0
0
-95
12
0
0
0
0
0
-1
-3
-44
-4
0
0
0
0
0
0
-30
-60
16
0
0
0
0
0
0
4
-45
8
0
0
0
0
0
0
16
-23
-12
0
0
1
1
1
-7
-18
1
5
0
0
0
0
0
5
5
0
0
0
0
0
0
0
8
-35
0
0
0
0
0
0
-3
-5
6
0
0
0
0
0
0
5
-10
0
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
3
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-9
-6
18
0
0
4
0
0
0
-3
9
-22
0
0
0
0
0
0
0
13
6
0
0
0
0
0
0
1
1
30
0
0
0
0
0
0
-3
3
8
0
0
0
0
0
0
0
-8
17
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
1
30
0
0
0
0
0
0
0
7
-28
0
0
1
0
0
0
3
0
-132
-3
0
0
0
0
0
0
0
-18
19
0
0
0
0
0
0
-2
33
-13
0
0
0
0
0
0
5
-24
-39
0
0
0
0
0
0
4
-9
8
0
0
0
0
0
0
5
19
-8
0
6
0
0
0
-7
-15
21
-21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
-31
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
-16
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-86
9
0
0
0
0
0
0
2
43
2
0
0
0
0
0
0
0
-24
30
0
0
0
0
0
0
0
-8
22
0
0
0
0
0
0
0
9
-15
0
0
0
0
0
0
0
10
-26
0
0
0
0
0
0
0
-3
66
0
0
0
0
0
-1
4
0
-24
0
0
0
0
0
-5
-27
0
0
0
0
0
0
0
-42
23
0
0
0
0
0
0
0
-14
-3
0
0
-1
0
0
0
0
2
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-77
0
0
0
0
0
0
-7
9
42
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-3
0
-41
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
-121
-1
0
0
0
0
0
0
0
25
5
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
-1
36
0
0
0
0
0
0
0
-24
60
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
3
1
2
0
0
0
0
-1
3
20
28
0
0
1
0
-2
-16
37
0
0
0
0
0
0
0
10
19
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
-12
28
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
2
0
-24
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
1
-2
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
1
-1
0
-5
0
0
0
0
1
1
0
1
-12
12
0
0
0
0
0
0
1
20
16
0
0
0
0
0
0
0
4
-25
0
0
0
0
0
0
-4
8
8
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
-8
14
-5
0
0
0
0
0
-1
3
-16
79
0
0
0
0
0
1
1
14
-46
0
0
0
0
0
0
1
-13
-26
0
0
0
0
0
1
0
16
-4
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-4
0
14
-63
0
0
0
0
-1
2
13
30
-21
0
0
0
0
0
1
17
0
0
0
0
0
0
0
8
32
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
-12
13
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-63
0
0
-1
0
0
0
0
-8
-36
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-6
1
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
-12
25
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
-3
-19
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-10
17
0
0
0
0
0
-3
52
-3
-30
0
0
0
0
0
-10
21
0
0
0
0
0
0
1
1
-22
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
12
-11
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
-13
24
0
0
0
0
0
0
0
22
-3
0
0
0
0
0
0
1
-8
-2
0
0
0
0
0
0
0
5
-17
0
0
0
0
0
0
0
-29
-20
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
0
-17
10
0
0
0
0
0
3
2
-5
85
0
0
32
41
16
-2
-9
0
0
0
31
0
8
-3
-44
-8
0
0
0
0
-17
-16
3
-35
3
0
0
-5
0
0
-22
44
-85
-8
0
0
0
0
0
7
-17
-25
31
0
0
0
3
-1
-1
-12
27
-44
0
0
0
0
1
-1
6
7
12
0
0
-8
0
-9
-3
0
18
-5
0
0
0
0
19
-29
-8
-8
47
0
0
0
-41
-4
1
3
-5
0
0
0
0
0
-1
-7
-3
31
11
0
0
-12
-2
0
-5
-3
-5
31
0
0
0
0
0
-1
6
1
-14
0
0
0
0
0
0
1
10
8
0
0
0
0
0
4
1
-1
-8
0
0
0
1
0
0
-4
-13
-4
0
0
0
0
-32
27
16
27
-38
-7
0
0
0
0
0
-13
22
-25
-4
0
0
0
-4
0
-9
-4
-8
0
0
3
0
0
0
7
-5
9
-6
0
0
0
0
2
-8
-17
17
-27
0
0
-2
2
0
-5
-31
35
-7
0
0
0
4
0
-1
6
-14
8
0
2
0
6
0
3
-1
2
5
0
0
0
1
-27
5
-14
-10
33
1
0
0
-1
-5
2
-8
36
-29
6
0
0
2
-2
-3
0
31
-26
24
-31
1
0
0
-2
-12
-10
-5
64
0
0
7
1
0
2
21
-64
14
0
5
-1
2
-3
1
34
-31
41
0
0
0
8
0
3
-4
-41
31
-1
-5
1
12
0
-3
-18
32
-21
0
0
-4
0
0
-10
18
0
0
0
0
0
0
0
52
-12
0
0
0
0
0
0
0
27
1
0
0
0
0
0
0
17
-22
12
0
0
0
0
0
0
0
-4
44
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
5
-25
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-7
23
0
0
0
0
0
1
0
-4
41
0
0
0
0
0
0
3
-31
36
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
6
5
-7
0
0
0
0
-2
-1
0
1
-41
0
0
0
0
0
0
0
-13
17
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
9
6
0
0
0
0
0
0
0
3
-31
0
0
0
0
0
0
-1
-4
12
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
1
22
0
0
0
0
-1
-3
0
-1
-9
0
0
0
0
0
0
0
-12
60
0
0
0
0
0
0
0
3
-48
0
0
0
0
0
0
3
-3
19
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
6
-40
0
0
0
0
0
0
-1
-2
31
0
0
0
0
-2
-2
3
8
-1
0
0
0
0
0
0
0
-6
23
0
0
0
4
0
0
0
-16
1
0
0
0
0
0
0
0
-34
-10
0
0
0
0
0
0
0
23
1
0
0
0
0
0
0
0
-9
-5
0
0
0
0
0
0
0
22
-10
0
0
0
0
0
0
0
-4
-28
0
0
0
0
0
0
0
9
-16
0
0
0
0
0
0
0
0
3
0
0
0
4
0
0
0
-3
25
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-9
-18
0
0
0
0
0
0
1
4
-39
0
0
0
0
0
0
0
-2
63
0
0
0
21
0
0
0
-3
-17
0
0
0
0
0
0
0
2
47
0
0
0
0
0
0
0
-23
2
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
0
13
2
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
-16
-18
0
0
0
0
0
0
0
18
23
0
0
0
21
0
0
0
6
17
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
-32
28
0
0
0
0
0
0
0
31
-23
0
0
0
1
0
0
0
0
-22
0
0
0
0
0
0
0
-2
-2
0
0
0
-2
0
0
-4
-8
1
0
0
0
0
0
0
0
24
-11
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
0
-31
25
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-9
34
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
-1
-5
6
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
-2
49
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
-18
8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
-3
58
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
-7
-12
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
-1
0
25
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
-2
8
-5
0
0
0
0
0
0
-1
3
2
0
0
0
0
0
0
0
-10
18
0
0
0
0
0
0
-3
7
25
0
0
1
0
0
0
-5
2
-4
0
0
0
0
0
0
0
-17
43
0
0
0
0
0
0
1
-37
53
0
0
0
0
0
0
0
27
14
0
0
0
0
0
0
-14
12
20
0
0
0
0
0
0
0
-7
21
0
0
0
0
0
0
0
-8
38
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
-8
40
-67
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
7
39
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
-2
-4
-2
0
0
0
0
0
0
0
-29
4
0
0
0
0
0
0
0
16
-5
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
4
1
1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
-1
-22
-1
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
-17
22
0
0
0
0
0
0
0
-10
-20
0
0
2
-1
0
0
-7
-41
-9
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
-9
7
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
5
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-4
-24
34
0
0
0
0
0
0
0
-7
46
0
0
0
0
0
0
0
-13
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
-39
39
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
30
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
14
12
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
-10
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-39
0
0
0
0
0
0
0
-13
-12
0
0
0
0
0
0
0
8
6
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
8
7
26
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-7
-2
-9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
-13
7
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-3
-2
4
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
-12
-20
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
-3
0
-13
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-8
-1
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
2
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
1
3
0
0
0
0
0
-6
-16
-18
24
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
3
20
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
1
5
10
0
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-24
5
0
0
0
0
0
0
0
-5
41
0
0
0
1
0
0
0
2
-6
0
0
0
0
0
0
0
-2
-24
0
0
0
0
0
0
1
13
26
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
-1
-35
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
-31
-4
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
0
0
0
0
0
0
0
4
24
0
0
0
0
0
0
0
-18
4
0
0
0
0
0
0
0
22
5
0
0
0
0
0
0
0
-42
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
-1
14
-2
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
1
-22
-2
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-7
-23
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
-3
-41
4
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
5
30
13
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
1
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-5
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
2
-1
5
0
0
0
0
0
0
0
-3
49
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
2
-20
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
-9
67
0
0
0
0
5
2
0
-1
-16
0
0
0
0
0
0
0
-6
9
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
0
-18
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
-14
0
0
0
0
1
1
0
0
31
0
0
0
0
0
0
0
2
6
-2
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
-5
12
-12
0
0
0
0
0
0
0
9
-8
0
0
0
0
0
0
-5
16
10
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
-2
1
-7
8
0
0
0
0
0
0
0
-31
11
0
0
0
0
0
0
1
4
-24
0
0
0
0
0
0
0
-13
-41
0
0
0
0
0
-1
2
-4
-4
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-13
11
0
0
0
0
4
5
-27
-10
2
0
0
0
0
0
0
-20
-52
0
0
0
-5
0
0
0
0
35
0
0
0
0
0
0
0
13
27
0
0
0
0
0
0
-2
-18
41
0
0
0
0
0
0
0
-9
5
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-4
9
-2
0
0
0
0
0
0
-1
43
2
0
0
0
0
0
0
1
9
3
0
0
0
0
0
0
-3
-8
-6
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
17
0
0
0
0
0
0
7
-10
-1
0
0
1
0
0
0
-1
-42
39
0
0
0
0
0
0
0
-5
-16
0
0
0
0
0
0
0
2
-52
0
0
0
0
0
0
-4
4
-23
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
3
0
0
-4
0
1
-1
-13
43
2
0
0
0
0
0
0
-10
24
0
0
0
0
0
0
0
9
15
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
-15
4
0
0
0
0
0
0
0
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
-1
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
4
-18
3
0
0
0
0
0
0
0
-23
8
0
0
0
0
0
0
-1
-1
8
0
0
0
0
0
0
0
1
-33
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
-1
15
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
-6
5
5
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
-12
16
-6
0
0
0
0
0
0
2
-9
6
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
3
0
-5
0
0
0
0
0
0
-2
0
7
0
0
0
0
0
0
1
0
30
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
-1
6
13
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
3
0
-37
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
5
0
1
0
0
0
-1
0
85
3
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
22
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-20
-21
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
13
0
-1
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-2
35
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
15
-2
11
0
0
0
0
0
0
1
45
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
3
2
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
0
3
13
0
0
0
0
0
0
-1
0
-48
0
0
0
0
0
0
0
-1
-40
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
2
35
0
0
2
0
0
0
8
6
-16
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
7
-17
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-9
-3
44
0
0
0
0
0
0
-16
13
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
1
-3
-6
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
2
-24
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-100
0
0
0
0
0
0
0
-1
46
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
1
2
12
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
43
0
0
0
0
0
0
0
-2
-13
0
3
0
0
0
0
0
-25
12
0
0
0
-1
1
0
1
0
0
0
0
0
0
0
0
-15
26
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
3
-31
5
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-7
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-25
9
0
0
0
0
0
0
-2
-41
44
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
-2
-2
10
31
0
0
0
0
0
0
0
-37
-13
0
0
0
0
0
0
0
8
21
0
0
0
0
0
0
0
5
-24
0
0
0
0
0
0
0
-1
-27
0
0
0
0
0
0
0
30
-98
0
0
0
0
0
0
0
-2
-46
0
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
1
1
-40
-13
0
0
0
0
0
0
-1
-51
-4
0
0
0
0
0
0
4
-50
-15
0
0
0
0
0
0
4
-125
17
0
0
3
1
0
43
43
32
1
0
0
0
0
0
13
12
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
8
-22
0
0
0
0
0
0
0
-6
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
13
-43
0
0
0
0
0
0
2
-3
23
0
0
0
0
0
0
-1
-3
-45
0
0
0
0
0
0
2
8
16
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
-36
1
0
0
0
0
0
0
10
-33
14
0
0
0
0
0
0
0
-15
28
0
0
0
0
0
-1
0
8
-9
0
0
0
0
0
0
0
-23
22
0
-1
0
0
0
0
1
-10
47
0
0
0
0
0
0
0
14
22
0
-1
0
0
0
-9
-50
56
16
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
-1
-27
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
17
-36
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
-3
42
-9
0
0
0
0
0
0
-1
-41
9
0
0
0
0
0
0
2
-13
27
0
0
0
0
0
0
0
42
48
0
0
0
0
0
0
0
31
-41
0
0
0
0
0
0
-1
19
52
0
0
0
0
0
0
0
-32
2
0
0
0
0
0
-5
8
-16
41
0
0
0
0
0
3
29
0
0
0
0
0
0
0
-24
-2
0
0
0
0
0
0
0
-10
-10
0
0
1
0
0
0
0
17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-49
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-3
-2
26
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
2
0
17
-2
0
0
0
0
0
0
0
-59
62
0
0
0
0
0
0
0
-12
-26
0
0
0
0
0
-1
1
-14
-39
0
0
0
0
0
0
0
1
-26
0
0
0
0
0
0
2
8
-8
0
0
0
0
0
-1
0
-19
-9
1
0
0
0
0
-17
-4
30
13
0
0
0
0
0
1
8
0
0
0
0
0
0
0
20
-52
0
0
0
0
0
0
0
-15
6
0
0
0
0
0
0
-1
-3
33
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
7
18
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
2
-7
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
-37
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-2
40
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
12
-19
18
0
0
0
0
0
0
-2
-24
9
0
0
0
0
0
0
0
22
-33
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-14
17
0
0
0
0
0
0
0
10
-8
0
0
0
0
0
0
0
16
-9
0
0
0
-1
0
-16
35
10
-16
0
0
0
0
0
-1
42
0
0
0
4
0
0
0
-12
-10
0
0
0
0
0
0
0
2
35
0
0
0
0
0
0
1
-10
15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
13
-23
0
0
0
0
0
0
0
8
-88
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
-24
-1
0
-2
0
0
0
0
1
3
35
0
0
0
0
0
0
1
43
6
0
0
0
0
0
0
0
1
-73
0
0
0
0
0
0
-2
7
-38
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
-8
-5
0
-1
0
0
0
15
-2
22
28
0
0
0
0
0
1
22
0
0
0
0
0
0
0
-8
44
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-23
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
10
-14
0
0
0
0
0
0
0
1
-40
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
46
3
0
0
0
0
0
-1
1
29
-35
0
0
0
0
0
0
0
5
-32
0
0
0
0
0
0
0
-9
77
0
0
0
0
0
0
0
-23
12
0
0
0
0
0
0
4
6
-16
0
0
-1
0
0
0
0
-7
-14
0
0
0
0
0
-1
-8
37
-58
0
0
-25
19
-7
-60
11
0
0
0
32
0
4
28
-20
2
0
0
0
0
-2
-13
26
28
13
0
0
14
-3
0
-5
4
51
-6
0
0
0
0
8
30
10
-32
-17
0
0
0
15
0
-34
-7
12
-22
0
0
0
0
3
-17
-1
-4
15
0
0
-25
1
-12
-2
53
-6
-31
0
0
0
0
22
-58
-17
18
-19
0
0
0
-5
-3
3
0
-61
24
0
0
0
0
10
-12
-7
-2
10
0
0
-17
0
0
1
-9
-16
20
0
0
0
0
-2
-2
4
-46
36
0
0
0
-2
0
-8
24
-14
-17
0
0
0
0
-7
10
-10
10
-14
0
0
0
1
2
-10
8
14
-4
0
0
0
0
-7
34
-24
-2
-7
1
0
0
32
-3
4
-35
41
8
-3
0
0
0
-19
-5
-5
14
-18
-2
0
12
-4
1
2
-1
8
-9
3
0
0
0
1
-11
13
3
-3
7
0
0
6
2
5
6
-54
78
-23
0
0
0
7
6
1
-3
3
-14
0
8
0
7
-8
27
13
29
-9
0
0
0
25
-45
3
9
-16
-10
-2
0
1
0
-8
22
26
-56
-34
1
0
0
17
1
-5
-15
25
5
-17
-19
6
0
4
-4
-16
-18
-17
-5
0
0
9
16
-5
-35
7
8
-5
0
-4
-1
4
-6
14
13
-13
-24
0
0
-6
20
35
-7
4
2
11
-24
0
17
37
8
-15
-10
-15
20
0
0
-7
-9
0
-52
9
0
0
0
0
8
-33
33
60
2
0
0
0
0
-6
4
-16
22
-6
0
0
0
0
0
-3
-3
20
-2
0
0
0
0
8
20
8
-23
-16
0
0
0
0
0
0
-10
-3
26
0
0
0
0
-1
2
24
1
59
0
0
0
0
0
1
-7
13
-31
0
0
0
0
-21
3
8
23
-29
0
0
0
0
0
0
10
-25
-2
0
0
0
0
0
-2
-1
17
21
0
0
0
0
0
0
-1
-5
-2
0
0
0
0
-2
3
4
-2
-3
0
0
0
0
0
1
0
-2
50
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
22
-18
0
0
0
0
-25
-6
2
18
54
0
0
0
0
-1
14
-5
47
-6
0
0
0
0
0
1
6
-11
7
0
0
0
0
0
0
1
-30
41
0
0
0
0
0
-4
-4
-31
42
0
0
0
0
0
-1
8
-3
-8
0
0
0
0
0
0
0
-17
10
0
0
0
0
0
-1
1
0
-3
0
0
0
0
16
13
-6
8
-31
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
15
-6
0
0
0
0
0
15
-1
-20
-12
0
0
0
0
0
0
0
-7
-5
0
0
0
0
-3
-1
3
-3
45
0
0
0
0
6
5
-23
-31
-31
0
0
0
0
0
0
27
42
-9
0
0
0
-16
-4
0
9
-27
-1
0
0
0
0
0
0
10
-38
15
0
0
0
6
-1
-1
0
-10
-3
0
0
0
0
0
0
-3
-6
32
0
0
0
15
0
-1
4
-33
21
0
0
0
0
0
-3
0
29
-39
0
0
0
1
0
-3
15
16
-41
0
0
0
0
0
0
-1
-20
22
0
0
0
19
0
0
2
28
14
0
0
0
0
0
0
0
-5
8
0
0
0
-2
0
0
6
-20
8
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
-25
26
0
0
0
0
0
0
0
-8
27
0
0
0
0
0
0
-1
-53
16
0
0
0
0
0
0
8
-3
23
0
0
0
8
2
3
0
-1
-30
0
0
0
0
0
0
-2
0
-5
0
0
0
2
0
-1
-4
3
-44
0
0
0
0
0
0
0
9
13
0
0
0
8
0
0
0
3
4
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
-1
0
25
-21
0
0
0
39
0
-1
-3
-4
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-13
-39
0
0
0
0
0
0
1
16
-13
0
0
0
-5
0
0
0
13
37
0
0
0
0
0
0
0
-12
-12
0
0
0
3
0
-1
-6
16
3
0
0
0
0
0
-1
5
-36
-6
0
0
0
0
0
-1
-3
63
-11
0
0
0
0
0
1
0
0
6
0
0
0
0
-1
2
-5
-30
44
0
0
0
0
0
8
0
-15
-41
0
0
0
0
0
-1
0
-42
52
0
0
0
0
0
0
2
-8
-13
0
0
0
0
0
0
3
-20
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
-13
0
0
0
0
0
0
0
7
32
0
0
0
0
0
0
0
-15
-11
0
0
0
0
0
0
-2
6
16
0
0
0
0
0
0
0
3
-23
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
1
-2
-7
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
6
27
0
0
0
0
0
0
0
-2
22
0
0
0
0
-1
1
3
-7
-19
0
0
0
0
0
0
1
-2
25
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
-5
19
0
0
0
0
0
0
0
-16
31
0
0
0
0
0
0
0
-3
23
0
0
0
0
0
0
0
3
27
0
0
0
0
0
0
-1
-23
-18
0
0
0
0
0
0
0
-2
38
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
-2
19
-10
0
0
0
0
0
1
-25
24
9
0
0
0
0
0
0
-10
-10
-14
0
0
0
0
0
0
3
-21
13
0
0
-31
0
-2
0
9
10
-9
0
0
0
0
0
0
0
23
-13
0
0
0
1
0
0
6
-1
-14
0
0
0
0
0
0
0
-74
25
0
0
-9
0
0
0
-10
-13
-22
0
0
0
0
0
0
1
-9
44
0
0
0
0
0
0
0
-7
-21
0
0
0
0
0
0
-1
6
46
0
0
-5
0
0
0
-1
14
-41
0
0
0
0
0
0
0
1
52
0
0
0
0
0
0
0
5
-6
0
0
0
0
0
0
0
4
-4
0
0
-1
0
0
0
0
-8
7
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
-1
-5
72
0
0
0
0
0
0
0
-10
22
0
0
14
-1
0
0
5
-7
-8
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
1
-2
0
0
-1
0
0
0
1
-1
-2
0
0
0
0
0
0
0
-12
18
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
0
-1
4
0
0
8
0
0
0
0
8
-13
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
2
20
0
0
12
1
0
0
-3
-15
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-23
-6
0
0
0
0
0
0
1
6
7
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
24
36
0
0
0
0
0
13
-2
30
-24
0
0
0
0
0
0
2
-8
11
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
-14
4
0
0
0
0
2
-5
0
-4
-18
0
0
0
0
0
0
0
4
27
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
-8
0
0
0
0
-20
-8
10
-10
22
0
0
0
0
0
0
0
-3
-21
0
0
0
0
0
0
0
-32
-6
0
0
0
0
0
0
0
5
50
0
0
0
0
0
-3
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
1
6
1
0
0
0
0
4
12
-1
-12
30
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
10
-24
0
0
0
0
0
0
0
3
-8
0
0
0
0
1
-1
4
-4
-43
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
-12
0
0
0
0
-2
-1
-3
-7
-4
0
0
0
0
0
0
-1
10
36
0
0
0
8
0
0
1
-13
-14
0
0
0
0
0
0
0
-24
32
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-14
30
0
0
0
0
0
0
-1
44
-42
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-19
-9
0
0
0
0
0
0
0
-3
-8
0
0
0
3
0
0
0
-6
3
0
0
0
0
0
0
0
-8
14
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
-12
40
0
0
0
-47
-2
0
0
9
5
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
6
-5
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
1
7
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-1
45
0
0
0
14
0
0
0
5
8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
6
22
0
0
0
0
0
0
0
-12
15
0
0
0
0
0
0
0
7
8
0
0
0
0
0
1
0
-2
13
0
0
0
0
0
0
0
-6
27
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
-5
-2
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
-13
41
0
0
2
0
0
0
0
-3
13
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
6
13
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
0
-1
8
4
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
-12
-25
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
-10
0
0
-28
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
-1
-1
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-56
-10
-13
10
0
0
0
0
0
0
10
-64
50
0
0
0
0
0
-1
3
8
14
0
0
0
0
0
1
9
-33
-10
0
0
0
0
1
0
8
12
20
0
0
0
0
0
0
-1
-2
7
0
0
0
0
0
-1
0
-1
5
0
0
0
0
0
1
-2
-4
6
0
0
0
0
13
10
0
-13
-4
0
0
0
0
0
0
-3
-27
25
0
0
0
0
0
0
0
3
14
0
0
0
0
0
0
-1
5
9
0
0
0
0
0
0
-1
-10
-50
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
1
-3
15
0
0
0
0
9
15
6
5
25
-2
0
0
0
0
0
-4
23
4
-4
0
0
0
0
1
0
16
34
5
0
0
0
0
0
-1
9
44
1
0
0
0
-1
-3
2
9
12
-10
0
0
0
0
0
0
-3
-24
22
0
0
0
0
0
0
1
-8
11
0
0
0
0
0
0
0
-3
11
0
0
0
-25
5
-5
-25
9
-6
0
0
0
0
0
-1
-7
-27
27
0
0
0
0
0
-1
-2
0
8
0
0
0
0
0
0
10
-4
2
0
0
0
-2
-17
-4
42
-5
-18
0
0
0
0
0
1
0
20
11
0
0
0
5
0
0
4
18
19
0
0
0
3
1
-23
-1
-21
10
0
0
0
0
-2
2
1
-6
0
0
0
22
-1
4
-3
4
13
0
0
0
0
0
0
1
24
16
0
0
0
0
0
0
-1
-26
13
0
0
0
0
0
0
0
-2
6
0
0
0
1
0
0
-1
6
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
8
-10
0
0
0
1
0
0
1
-16
-4
0
0
0
0
0
0
0
8
-23
0
0
0
0
0
0
1
-7
6
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
8
-13
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
-3
22
25
-7
0
0
-25
0
0
-1
-98
20
7
0
0
0
0
0
0
24
13
4
0
0
0
0
0
1
-15
2
-5
0
0
0
0
0
0
3
-5
-14
0
0
-2
0
0
0
-15
-28
-23
0
0
0
0
0
0
-1
0
19
0
0
0
0
0
0
0
16
-9
0
0
0
0
0
0
-5
-20
48
0
0
1
0
0
0
2
31
-8
0
0
0
0
0
0
-17
-8
-43
0
0
0
0
0
0
10
-9
12
0
0
0
0
0
0
4
-8
8
0
0
-6
0
0
0
-7
14
-24
0
0
0
0
0
0
7
-14
8
0
0
-8
0
0
1
9
31
-24
0
0
0
0
1
-2
-1
5
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
-8
17
0
0
0
0
0
0
0
-3
22
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
15
-3
0
0
0
0
0
0
0
8
14
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
1
-34
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-1
-22
16
0
0
0
0
0
0
2
1
-8
0
0
0
0
0
0
-1
1
15
0
0
0
0
0
0
7
-13
17
0
0
0
0
0
0
0
-3
-32
0
0
0
0
0
0
-1
-5
21
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
-25
0
0
0
0
0
0
-2
-7
17
0
0
0
0
0
0
-1
10
-21
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
5
-120
0
0
0
0
0
0
-1
-1
30
0
0
0
0
0
0
2
0
-42
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
-1
3
2
0
0
0
0
0
0
0
-31
-6
0
0
0
0
0
0
0
-13
-5
0
0
23
1
0
0
0
8
7
0
0
0
0
0
0
0
-2
1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
10
10
0
0
3
0
0
0
0
20
-32
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
14
16
-3
0
0
0
0
0
0
-29
-22
-9
0
0
0
0
0
0
2
0
-7
0
-19
0
0
0
-1
-23
17
-11
0
0
0
0
0
0
0
2
-25
0
0
0
0
0
0
0
8
-18
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
3
-77
0
0
0
0
0
0
-5
4
-25
0
0
0
0
0
0
2
0
7
0
0
0
0
0
0
1
-2
15
0
-2
0
0
0
0
-1
3
-5
0
0
0
0
0
0
-3
1
3
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
-5
0
-1
0
4
0
0
0
0
-8
12
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
31
-28
2
0
0
0
0
0
0
-4
-23
-20
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
4
-2
8
0
0
0
0
0
0
0
-10
33
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
-6
-7
-3
-24
12
0
0
0
0
0
0
0
-2
27
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-4
-17
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
1
-10
-9
18
-6
15
0
0
0
0
0
-1
2
8
69
0
0
0
0
0
3
-5
5
-23
0
0
0
0
0
0
0
0
-31
0
0
0
0
1
-1
15
16
11
0
0
0
0
0
0
-16
1
-32
0
0
0
0
0
0
0
-10
-8
0
0
0
0
0
0
-1
12
-30
0
0
0
-10
15
1
7
20
-17
-2
0
0
0
0
0
-16
1
-7
0
0
0
0
0
-1
-8
8
13
11
0
0
0
0
0
0
-1
-41
-7
0
0
1
2
-5
35
-10
-22
10
0
0
0
0
0
7
-2
2
-47
0
0
0
0
0
-10
-14
-45
-8
0
0
3
0
1
-8
7
-28
-1
0
0
0
0
0
5
41
0
0
0
13
0
0
1
-3
-41
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
1
0
0
0
5
-1
0
0
0
0
0
0
0
4
-15
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-8
24
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
-1
-7
25
-4
0
0
5
0
0
0
-7
5
22
0
0
0
0
0
1
-4
-4
7
0
0
0
0
0
0
-5
-1
-78
0
0
0
0
0
0
-3
13
0
0
0
-1
0
0
0
9
-25
50
0
0
0
0
0
0
-2
-12
-8
0
0
0
0
0
0
-2
-4
8
0
0
0
0
0
0
0
4
2
0
0
12
0
0
0
-8
-5
-93
-9
0
0
0
0
0
-2
1
12
-12
0
0
0
0
0
2
0
-16
8
0
0
0
0
0
-24
41
-38
-12
0
0
0
0
0
-18
-7
1
18
0
0
0
0
0
2
4
2
13
0
3
0
0
0
6
-8
-21
-11
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-12
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
12
-7
-11
0
0
0
0
0
0
-2
10
-34
0
0
0
0
0
0
1
2
28
0
0
0
0
0
0
1
-1
20
0
0
0
0
0
0
1
-6
73
0
0
0
0
0
0
0
-4
57
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
6
-5
-5
0
0
0
0
0
0
-1
-20
-19
0
0
0
0
0
0
0
-20
-56
0
0
0
0
0
0
0
-17
-7
0
0
0
0
0
0
22
39
-23
0
0
0
0
0
0
7
-48
106
0
0
0
0
0
0
0
-27
56
0
0
0
0
0
1
10
-48
-13
0
0
0
0
0
2
12
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-20
3
5
0
0
0
0
0
0
0
-1
-55
0
0
0
0
0
0
0
0
7
0
7
0
0
0
0
0
0
27
0
0
0
0
0
0
0
14
-4
0
0
0
0
0
0
-4
-6
34
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-53
-2
0
0
0
0
0
0
1
-36
-61
0
0
0
0
0
0
0
-8
12
-4
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
12
19
30
0
0
0
0
0
0
13
8
30
0
0
0
0
0
-1
0
0
-40
0
0
0
0
0
-3
-5
-28
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-41
34
-40
7
0
0
0
0
-1
-16
-6
-37
1
0
0
0
0
0
7
5
-4
19
0
0
0
0
0
-1
-8
-13
14
0
0
0
0
-8
-4
5
51
4
0
0
0
0
0
0
-1
-22
-23
0
0
0
0
-1
-1
2
1
-11
0
0
0
0
0
2
10
22
-25
0
0
0
0
-10
-23
-3
6
23
0
0
0
0
0
0
2
-4
-30
0
0
0
0
0
0
3
6
4
0
0
0
0
0
0
-3
-13
5
0
0
0
0
-1
9
0
-12
2
0
0
0
0
0
0
0
34
-4
0
0
0
0
0
0
1
8
-24
0
0
0
0
0
0
1
2
-2
0
0
0
0
-9
0
-30
32
5
0
0
0
0
0
1
-1
23
-22
0
0
0
0
0
0
8
-7
15
0
0
0
0
0
0
1
0
26
0
0
0
0
0
18
0
5
-2
0
0
0
0
0
-2
-1
3
32
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
2
8
0
0
0
0
0
-9
7
-31
-24
0
0
0
0
0
0
-1
-47
22
0
0
0
0
0
0
-4
5
24
0
0
0
0
0
0
0
-8
-13
0
0
0
0
8
4
8
-4
-36
0
0
0
0
0
-1
0
-20
13
0
0
0
0
2
0
1
-4
-20
0
0
0
0
2
-7
-10
-60
10
0
0
0
0
0
3
-2
1
2
0
0
0
9
0
-1
-27
29
-3
0
0
0
0
0
0
0
22
-2
0
0
0
-1
0
0
3
-28
5
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-4
-20
0
0
0
0
0
0
1
19
8
0
0
0
0
0
0
0
10
4
0
0
0
0
0
0
0
8
27
0
0
0
-4
0
0
1
4
42
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
14
-25
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
-17
17
0
0
0
0
0
0
0
-2
36
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
-1
-37
38
0
0
0
-34
0
0
0
8
53
0
0
0
0
0
0
0
-13
23
0
0
0
1
0
0
1
-8
-20
0
0
0
0
0
0
0
-8
-30
0
0
0
0
0
0
1
-7
-13
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
1
4
0
0
0
20
0
0
0
-17
-23
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
-33
23
0
0
0
0
0
0
0
-10
7
0
0
0
0
0
0
0
-7
-13
0
0
0
-9
0
0
1
44
-1
0
0
0
0
-1
4
-19
-4
17
0
0
0
0
0
0
1
-93
8
0
0
0
0
0
0
4
22
-20
0
0
0
0
0
0
8
-26
14
0
0
0
0
0
0
-2
-7
76
0
0
0
0
0
0
0
13
-10
0
0
0
0
0
0
0
-25
32
0
0
0
0
0
0
0
10
9
0
0
0
0
0
0
0
9
32
0
0
0
0
0
0
0
-10
17
0
0
0
0
0
0
0
4
25
0
0
0
0
0
0
1
-9
8
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
-4
-14
-2
0
0
0
0
0
0
0
7
17
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
-16
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-3
7
0
0
0
0
0
0
0
3
24
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
12
-10
0
0
0
0
0
0
0
-8
-17
0
0
0
0
0
0
0
5
19
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
0
13
-8
0
0
0
0
0
0
17
-4
-12
0
0
0
0
0
0
5
32
-8
0
0
0
0
0
0
5
-17
-2
0
0
-31
0
0
0
0
25
26
0
0
0
0
0
0
1
5
27
0
0
0
0
0
0
0
-55
60
0
0
0
0
0
0
0
5
43
0
0
1
0
0
0
-3
-63
58
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
1
7
-14
0
0
0
0
0
0
0
-8
31
0
0
2
0
0
0
1
3
-23
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
-14
4
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
2
-6
-7
0
0
0
0
0
0
-1
-20
28
0
0
0
0
0
0
0
-6
19
0
0
22
0
0
0
0
-12
25
0
0
0
0
0
0
0
20
27
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
3
1
0
0
-2
0
0
0
0
1
-20
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
1
5
0
0
-3
0
0
0
0
2
8
0
0
0
0
0
0
0
8
9
0
0
0
0
0
0
0
-29
-7
0
0
0
0
0
0
0
-4
24
0
0
-5
1
0
0
-4
-14
-22
0
0
0
0
1
-8
-23
22
-50
0
0
0
0
0
-1
8
-30
-19
0
0
0
0
0
0
1
-30
113
0
0
0
0
0
0
-1
24
2
0
0
0
0
0
0
8
-14
9
0
0
0
0
0
0
0
6
42
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
0
5
14
0
0
0
0
0
0
-2
5
33
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
2
4
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
5
-16
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
7
-21
-1
-14
10
0
0
0
0
0
2
0
-16
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
-1
0
5
-6
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
-2
-19
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
-4
-9
0
0
0
0
0
0
0
-17
-8
0
0
0
1
0
0
-2
2
10
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
-1
14
-23
0
0
0
0
0
0
-1
1
32
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
8
17
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
-8
1
0
0
0
-15
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
5
-26
0
0
0
0
0
0
0
18
-7
0
0
0
0
0
0
1
0
-31
0
0
0
0
0
0
0
-50
18
0
0
0
0
0
0
1
1
4
0
0
0
0
0
0
0
-4
25
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
-7
33
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-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
-2
16
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
7
-11
13
0
0
0
0
0
0
2
-15
-7
0
0
0
0
0
0
-6
8
-3
0
0
0
0
0
0
-9
-6
-2
0
0
0
0
0
0
4
-16
23
0
0
0
0
0
0
0
3
20
0
0
0
0
0
0
4
-15
-21
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
8
-20
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
-12
-10
0
0
0
0
0
0
0
-24
4
0
0
0
0
0
0
0
2
2
0
0
1
0
0
0
0
13
5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
-1
-12
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-2
0
0
0
0
-3
-43
-12
16
44
0
0
0
0
0
0
0
-23
34
0
0
0
0
0
0
-5
5
29
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
-5
0
-23
0
0
0
0
0
0
1
3
49
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
21
0
0
0
0
0
14
-3
-6
-20
0
0
0
0
0
0
0
9
13
0
0
0
0
0
0
0
8
12
0
0
0
0
0
0
1
6
12
0
0
0
0
0
-1
0
2
-5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
6
-8
0
0
0
0
3
1
0
-1
-5
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-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
-4
0
0
0
0
0
0
-1
2
0
22
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
19
0
0
0
0
0
0
-4
1
75
0
0
0
-6
0
0
0
-15
20
0
0
0
0
0
0
0
2
41
0
0
0
0
0
0
2
2
-13
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
-8
36
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-22
5
0
0
0
1
0
0
0
-30
31
0
0
0
0
0
0
0
-22
19
0
0
0
0
0
0
-1
3
4
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-4
0
0
0
-13
0
0
0
-2
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
-22
-24
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
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
3
0
0
0
0
0
0
-1
-1
7
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
1
0
-4
0
0
-6
0
0
0
1
-10
-10
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
25
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
1
0
28
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
1
-33
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
20
10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-8
49
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
-1
2
29
0
0
0
0
0
0
0
-17
-17
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
17
27
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-6
2
8
-56
0
0
0
0
0
0
0
-17
-67
0
0
0
0
0
0
0
-20
42
0
0
0
0
0
0
-2
-4
-8
0
0
0
0
0
0
-1
1
-9
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
2
-32
0
0
0
0
0
0
0
-27
25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
0
0
0
0
8
-7
-27
-2
43
0
0
0
0
0
0
0
29
39
0
0
0
0
0
0
2
15
-13
0
0
0
0
0
0
0
-28
11
0
0
0
0
0
10
-7
-10
13
0
0
0
0
0
-1
-2
3
27
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
10
-57
0
0
0
0
-3
3
-3
-9
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
-1
-4
7
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
13
0
0
0
0
-9
12
-12
-25
30
-2
0
0
0
0
0
-2
-5
-29
1
0
0
0
0
1
2
8
-35
7
0
0
0
0
-2
0
-25
-15
-5
0
0
0
-1
-1
0
-4
6
0
0
0
0
0
0
0
-5
4
6
0
0
0
0
0
0
0
4
21
0
0
0
0
0
0
0
-4
-6
0
0
0
-8
-1
2
0
-24
1
0
0
0
0
0
0
-2
21
-28
0
0
0
0
0
0
2
-53
13
0
0
0
0
0
0
2
3
20
0
0
0
1
0
0
2
1
19
0
0
0
0
0
0
2
-1
-36
0
0
0
0
0
0
-1
7
6
0
0
0
0
-1
-1
-7
-30
-5
0
0
0
0
0
0
6
32
0
0
0
0
0
0
-3
10
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-23
25
0
0
0
0
0
0
-1
-3
-26
0
0
0
0
0
0
0
7
-6
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
2
86
-1
0
0
-22
0
0
0
22
33
-4
0
0
0
0
0
0
9
23
3
0
0
0
0
0
0
-8
16
-6
0
0
0
0
0
0
2
8
17
0
0
0
0
0
0
-1
-25
-13
0
0
0
0
0
0
1
0
4
0
0
0
0
0
-1
-1
-2
10
0
0
0
0
0
0
15
1
3
0
0
1
0
0
0
2
-14
4
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
-2
-39
0
0
0
0
0
0
0
3
40
0
0
-1
0
0
0
-7
2
30
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-53
-13
5
0
0
0
0
-2
0
5
-11
0
0
0
0
0
0
0
8
9
0
0
0
0
0
0
0
-15
-5
0
0
0
0
0
0
0
29
4
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-7
18
-1
0
0
0
0
0
0
-4
-8
-3
0
0
0
0
0
0
9
7
5
0
0
0
0
0
0
8
-1
3
0
0
0
0
0
0
0
-2
91
0
0
0
0
0
0
-1
1
49
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
-1
-2
-23
0
0
0
0
0
0
2
-7
-17
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
0
1
41
0
0
0
0
0
0
0
1
-52
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
-10
8
-33
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
3
7
0
0
5
0
0
0
0
-24
14
0
0
0
0
0
0
0
-8
20
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
-13
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
1
0
5
-3
0
0
0
0
0
-1
4
12
-17
0
0
0
0
0
0
-14
-4
3
0
-3
0
0
0
0
24
0
11
0
0
0
0
0
0
0
-4
58
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
-1
-2
36
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
4
-1
0
0
0
0
0
0
1
1
-13
0
0
0
0
0
0
-1
0
-24
0
2
0
0
0
0
-2
0
-25
0
0
0
0
0
0
-3
0
-67
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
-33
0
2
0
0
0
0
4
0
-16
0
0
0
0
0
-1
-8
32
0
0
0
0
0
0
0
-8
-20
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
1
0
0
14
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
3
0
-12
3
7
0
0
0
0
0
0
-17
-19
-5
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
7
5
11
0
0
0
0
0
0
-1
-23
13
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
1
0
1
-55
0
0
0
0
0
1
0
-7
35
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-56
0
0
0
0
0
0
-1
-3
33
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-10
14
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
-6
-31
0
0
0
0
0
0
0
-5
48
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
-1
-56
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
-2
-3
0
0
1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
7
-1
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
6
-43
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
39
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-1
2
15
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
-1
-60
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
-1
41
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-16
-11
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
1
-42
0
0
0
0
0
1
1
0
-22
0
0
0
0
0
0
0
6
-73
0
0
0
0
0
0
1
6
-37
0
0
0
0
0
0
0
-4
-49
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-2
-3
0
0
0
2
4
-1
8
-10
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
-6
27
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
1
-2
3
8
17
-7
0
0
0
0
0
0
6
-41
13
0
0
0
0
0
0
-2
1
45
0
0
0
0
0
0
1
-2
-42
0
0
0
0
0
0
1
2
-75
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
-1
46
0
0
0
3
7
0
17
2
16
-1
0
0
0
0
1
5
49
21
1
0
0
0
0
0
0
-15
-6
-3
0
0
0
0
0
0
41
-3
-30
0
0
0
0
0
-1
-6
-28
15
0
0
0
0
0
-1
-19
-10
-20
0
0
0
0
0
0
-7
-60
74
0
0
1
0
0
-1
-4
-5
4
0
0
0
0
0
12
-14
0
0
0
-5
0
0
1
7
-26
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
3
8
16
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
5
-8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
3
-9
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
13
-19
0
0
3
0
0
0
-8
-41
-21
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
20
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
29
-58
-8
0
4
0
0
0
-1
78
14
-18
0
0
0
0
0
0
6
-23
31
0
0
0
0
0
4
-8
7
16
0
0
0
0
0
0
-2
12
4
0
0
0
0
0
-1
-3
13
-13
0
0
0
0
0
0
1
19
-74
0
4
0
0
0
-13
-8
49
-39
0
0
0
0
0
1
5
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
3
-2
0
0
0
0
0
0
-3
10
25
0
0
0
0
0
0
-2
-1
-69
0
0
0
0
0
0
-5
0
-27
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
-7
60
-3
0
0
0
0
0
-1
-8
9
5
0
0
0
0
0
-2
-3
25
-20
0
0
0
0
0
-1
-1
6
-21
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-35
8
0
0
0
0
0
0
0
-23
35
0
0
0
0
0
-6
-17
0
0
0
0
0
0
0
-12
32
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
2
0
0
0
0
0
0
-2
2
-47
0
0
0
0
0
0
0
-1
-23
0
2
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
43
-75
-5
0
0
0
0
0
-19
-17
-47
38
0
0
0
0
0
0
1
-31
52
0
0
0
0
0
-1
3
-8
26
0
0
0
0
0
0
0
15
-3
0
0
0
0
0
0
0
-1
102
0
0
0
0
0
0
0
2
-51
0
0
0
0
0
-1
5
10
5
0
0
2
0
3
-9
59
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
-7
-9
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
1
0
0
-4
-2
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
-16
30
0
0
0
0
0
0
1
2
-11
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
5
-15
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
9
31
15
0
0
0
0
0
0
14
15
-15
0
0
0
0
0
0
0
-24
38
0
0
0
0
0
0
-1
3
-20
0
0
0
0
0
0
-2
2
-11
0
0
0
0
0
0
0
25
-41
0
0
0
0
0
0
0
14
12
0
0
0
0
0
0
5
-16
-24
0
0
0
0
0
3
29
0
0
0
-5
0
0
0
5
-15
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-11
0
0
0
0
0
0
0
-16
-19
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
-4
17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-8
-12
-22
0
0
0
0
0
0
-10
-31
-9
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
6
-19
0
0
0
0
0
0
0
-8
28
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
24
-2
-33
0
0
0
0
0
16
-5
0
0
0
0
0
0
2
-4
19
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
1
-3
7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
-7
0
0
0
0
0
0
3
3
30
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
2
-33
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
4
-25
-3
0
0
0
0
0
0
1
-10
25
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
6
31
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
13
-42
0
0
0
0
0
2
0
-42
89
0
0
14
16
20
-125
5
0
0
0
-20
-4
-35
25
-43
12
0
0
0
0
1
-10
-8
23
1
0
0
5
0
-6
1
-6
-6
-5
0
0
0
0
20
17
3
7
-12
0
0
0
-3
0
-1
4
8
42
0
0
0
0
0
0
-1
-8
7
0
0
-1
2
0
-1
2
5
-18
0
0
0
0
13
-2
3
-6
-8
0
0
0
9
-1
0
3
19
-2
0
0
0
0
0
0
2
4
-26
0
0
3
0
0
0
0
1
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
1
16
-2
0
0
0
1
0
0
-2
-45
14
0
0
0
0
-15
-9
-10
81
-12
3
0
0
6
-1
-1
-5
7
-5
-20
0
0
0
0
0
0
19
1
-76
0
-58
0
0
0
2
-41
29
-14
0
0
0
3
-16
6
14
-7
-21
0
0
-2
0
0
0
-9
-4
4
0
0
0
0
0
0
-32
5
14
0
0
0
0
1
0
-2
-1
13
0
0
0
3
17
-16
-1
8
-23
4
0
10
0
-1
0
-2
-13
-42
-13
0
0
0
0
0
-8
-1
-5
9
9
0
0
0
0
0
-5
17
-15
0
0
-14
-3
7
45
10
17
-47
0
-9
0
0
1
-14
5
-43
43
0
0
-1
-1
-3
-4
21
6
-17
-3
0
2
0
-5
-5
13
-8
0
0
0
-23
9
9
19
-3
0
0
0
0
0
1
-2
5
-10
0
0
0
0
0
0
0
16
-46
0
0
0
0
0
0
7
49
-15
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
-1
0
2
38
0
0
0
0
0
-2
0
-4
-6
0
0
0
0
0
0
7
-18
7
0
0
0
0
-1
1
0
-8
12
0
0
0
0
0
0
0
25
12
0
0
0
0
0
0
0
10
16
0
0
0
0
0
0
2
-10
9
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
-7
9
0
0
0
0
-3
-9
3
-5
41
0
0
0
0
0
0
1
-8
47
0
0
0
0
0
0
0
-20
10
0
0
0
0
0
0
1
-24
-17
0
0
0
0
0
0
1
-3
28
0
0
0
0
0
0
0
5
-41
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
3
14
0
0
0
0
0
0
1
1
5
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
8
-15
0
0
0
0
1
0
1
-1
13
0
0
0
0
0
0
1
0
-1
0
0
0
0
1
0
0
4
18
0
0
0
0
0
0
-10
-25
38
0
0
0
0
0
0
2
-3
1
0
0
0
-33
0
0
0
-24
3
0
0
0
0
0
0
0
17
12
0
0
0
0
0
0
0
-6
30
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
-9
36
0
0
0
0
0
0
0
7
-12
0
0
0
0
0
0
0
-4
-29
0
0
0
0
0
0
0
23
-22
0
0
0
4
0
0
0
2
-6
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-2
32
0
0
0
0
0
0
0
-12
-13
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-5
32
0
0
0
0
0
0
-2
-6
58
0
0
0
5
0
0
0
11
-42
0
0
0
0
0
0
0
-16
20
0
0
0
0
0
0
0
-12
30
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
-19
15
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
-4
6
0
0
0
13
0
0
0
14
31
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
7
-37
0
0
0
0
0
0
0
-8
-30
0
0
0
-1
0
0
0
-17
18
0
0
0
0
0
0
0
-6
4
0
0
0
9
0
0
0
21
10
0
0
0
0
0
0
0
-20
-17
0
0
0
0
0
0
0
111
-30
0
0
0
0
0
0
0
-18
58
0
0
0
0
0
0
-1
-7
50
0
0
0
0
0
0
0
4
18
0
0
0
0
0
0
0
5
26
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
27
10
0
0
0
0
0
0
-1
-3
9
0
0
0
0
0
0
0
-10
23
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
-4
-16
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-14
-2
0
0
0
0
0
0
0
-29
40
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
-8
7
0
0
0
0
0
0
0
-8
21
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
-6
16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
3
-5
14
0
0
0
0
0
0
-4
8
-1
0
0
0
0
0
0
0
-17
-28
0
0
-4
0
0
0
0
5
8
0
0
0
0
0
0
2
9
-2
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-2
23
10
0
0
0
0
0
0
0
-12
74
0
0
0
0
0
0
1
-37
19
0
0
0
0
0
0
0
-13
22
0
0
1
0
0
0
-1
-8
3
0
0
0
0
0
0
-1
2
2
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
-1
-5
5
0
0
0
0
0
0
-3
-9
-16
0
0
0
0
0
0
0
8
22
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
-6
-12
0
0
0
0
0
0
-2
5
-8
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
5
8
0
0
0
0
0
0
8
-9
-4
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
-4
-12
0
0
0
0
0
0
0
14
9
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
-4
-21
41
0
0
0
0
0
0
7
1
11
0
0
0
0
0
0
1
-23
50
0
0
0
0
0
0
0
-1
36
0
0
0
0
0
0
-3
16
-33
0
0
0
0
0
0
2
3
-10
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
2
-44
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
14
0
0
0
0
0
0
0
5
13
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
-16
-4
0
0
0
-1
0
0
0
-10
8
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
-7
-7
0
0
0
0
0
0
0
-3
42
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
10
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
-2
35
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
-27
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
9
32
0
0
0
0
0
0
0
-13
4
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
7
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
0
0
0
0
0
2
-8
58
26
0
0
0
0
0
0
-7
-46
31
0
0
0
0
0
0
6
-2
-55
0
0
0
0
0
0
-1
-36
74
0
0
0
0
0
0
-2
-4
13
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
-8
-19
0
0
0
0
0
0
-3
8
-19
0
0
0
0
0
0
0
19
-13
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
-4
22
4
0
0
0
0
0
0
0
-25
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
0
-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
-2
0
0
0
0
0
0
0
-1
-6
-10
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
2
1
0
0
0
0
1
-2
0
-1
5
0
0
0
0
0
0
-1
-10
29
0
0
0
0
0
0
0
25
-16
0
0
0
0
0
0
1
2
10
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
4
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
2
20
0
0
0
0
0
-3
0
2
-8
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
-1
-13
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
1
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-44
0
0
0
0
0
0
0
1
9
0
0
0
-1
0
0
1
-5
-5
0
0
0
0
0
0
0
6
14
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
5
30
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-5
-3
0
0
0
1
0
0
0
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
20
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-13
13
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
3
51
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
1
-7
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-2
8
5
0
0
0
0
0
0
0
3
-26
0
0
0
0
0
0
0
-2
-14
0
0
-2
0
0
0
0
-31
28
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
-19
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
-2
-2
23
0
0
0
0
0
0
-1
0
-15
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-4
-15
0
0
0
0
0
0
0
-10
-21
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
6
0
-8
11
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
3
-3
22
0
0
0
0
0
0
0
22
6
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-2
3
-3
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
3
0
13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
4
0
0
0
0
6
-7
0
5
41
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
-10
32
0
0
0
0
0
0
0
-1
36
0
0
0
0
0
0
-3
0
10
0
0
0
0
0
0
0
7
-17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
2
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
1
-8
0
0
0
0
-2
1
-2
1
-5
0
0
0
0
0
0
0
-8
-15
-4
0
0
0
0
0
0
-1
12
16
0
0
0
0
0
0
8
5
-5
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
-2
-25
-11
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
-1
5
6
0
0
0
0
0
0
-1
9
-7
0
0
0
0
0
0
5
10
-19
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
2
-26
0
0
0
0
-1
0
-33
8
-12
0
0
0
0
0
-2
7
-2
0
0
0
-6
0
0
-1
-6
24
0
0
0
0
0
0
0
-6
72
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
2
35
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
0
0
0
0
0
0
0
6
33
-1
0
0
0
0
0
0
-14
45
-2
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
4
-3
-14
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
1
2
-5
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
1
-43
0
0
0
0
0
0
7
-4
41
0
0
0
0
0
0
-4
5
-33
0
0
0
0
0
0
-2
-8
38
0
0
0
0
0
0
-7
5
-11
0
0
0
0
0
0
3
-5
-30
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
-1
-7
0
0
-7
0
0
0
1
-51
3
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
2
12
-3
0
0
0
0
0
0
0
4
21
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-15
7
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
43
0
0
0
0
0
0
0
-1
57
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
-6
3
7
0
0
0
0
0
-1
-14
-9
0
0
0
0
0
0
0
-13
45
0
0
0
0
0
0
-2
1
-2
0
0
-8
0
0
0
0
-10
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
3
-8
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
-3
0
0
0
0
0
0
17
12
-13
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
-42
0
0
0
0
0
0
-12
10
28
0
0
0
0
0
0
2
-1
-78
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
-25
0
1
0
0
0
0
1
25
37
0
0
0
0
0
-1
9
-4
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-6
0
0
0
0
0
0
-2
-31
32
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
3
1
22
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
12
28
0
0
0
0
0
0
1
2
-17
0
0
0
0
0
0
0
1
-42
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
19
-30
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
9
1
0
0
0
0
0
0
0
-9
27
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
8
-42
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
18
0
0
1
0
0
0
-6
-8
-17
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
-10
-10
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
2
-33
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
0
0
0
0
0
2
8
31
0
0
0
0
0
0
1
8
-18
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
-7
-17
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-5
0
0
0
0
0
0
3
-3
-10
0
0
0
0
0
0
-1
0
14
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
-76
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
-1
-12
0
0
0
0
-2
0
0
41
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
-1
-25
21
0
0
0
0
0
0
-2
5
-13
0
0
0
0
0
0
0
-8
25
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
1
0
1
6
-15
0
0
0
0
0
0
-20
-14
-14
0
0
0
0
0
0
0
-23
-24
0
0
0
0
0
0
3
1
13
0
0
0
0
0
0
0
-35
17
0
0
0
0
0
0
0
6
14
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
60
0
0
0
0
1
0
0
5
6
0
0
0
0
0
0
-1
-8
83
-4
0
0
0
0
0
0
1
-75
13
0
0
0
0
0
0
1
9
3
0
0
0
0
0
0
6
-47
-11
0
0
0
0
0
0
-5
-6
-7
0
0
0
0
0
0
-2
-3
-3
0
0
2
0
0
29
1
-53
1
0
0
0
0
1
-6
10
0
0
0
0
0
0
0
-33
57
0
0
0
0
0
0
0
7
19
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
9
-41
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
7
30
-19
0
0
2
0
0
0
1
-18
24
0
0
0
0
0
0
-1
8
1
0
0
0
0
0
0
3
8
50
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
12
31
2
0
1
0
0
0
1
-9
-79
5
0
0
0
0
0
-1
0
25
-14
0
0
0
0
0
0
0
-19
3
0
0
0
0
0
0
1
-25
-26
0
0
0
0
0
0
1
-3
13
0
0
0
0
0
0
0
0
12
0
-2
0
0
0
-8
-14
30
7
0
0
0
0
0
-10
-7
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
-14
5
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
6
8
10
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-2
50
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
-1
37
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
-1
40
-7
0
0
0
0
0
0
-2
-15
9
0
0
0
0
0
0
0
-13
72
0
0
0
0
0
0
0
25
3
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
8
58
0
0
0
0
0
0
-4
1
-35
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
38
0
0
0
0
0
0
8
-4
25
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
-40
0
0
0
0
0
0
0
1
-39
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-8
-47
-5
0
0
0
0
0
1
0
-34
-3
0
0
0
0
0
0
0
-14
27
0
0
0
0
0
-2
0
0
6
0
0
0
0
0
-1
-1
-17
-4
0
0
0
0
0
-1
0
0
-19
0
0
0
0
0
0
0
-4
-18
0
0
0
0
0
-10
14
8
-29
0
0
0
0
0
-1
-33
0
0
0
0
0
0
-1
-6
-7
0
0
0
0
0
0
1
-2
8
0
0
0
0
0
0
0
-22
30
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-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
14
-39
0
0
0
0
0
0
8
22
40
0
0
0
0
0
0
0
-2
35
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
1
-75
0
0
0
0
0
0
0
-3
42
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
-4
3
8
0
0
0
0
0
0
9
-17
34
0
0
0
0
0
0
0
5
-48
0
0
0
0
0
0
-1
0
26
0
0
0
0
0
0
0
-16
3
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
-4
-1
44
14
0
0
0
0
0
-1
48
0
0
0
0
0
0
0
-12
2
0
0
0
0
0
0
0
-8
41
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
-27
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-48
0
0
-1
0
0
0
-2
-20
78
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
21
-1
0
0
0
0
0
0
1
39
-45
0
0
0
0
0
0
0
-13
-26
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
4
-6
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
1
33
0
-1
0
0
0
0
-1
1
-14
0
0
3
-1
1
6
-40
0
0
0
0
0
0
0
7
25
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-9
13
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
33
-25
0
0
0
0
0
0
1
7
-74
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
1
-51
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
1
11
4
0
0
0
0
0
0
-1
-3
14
0
0
0
0
0
0
0
12
3
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
25
-47
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
4
-19
-38
0
0
15
-26
-19
-20
1
0
0
0
37
-3
-50
74
18
-4
0
0
0
0
9
-5
15
1
-28
0
0
-2
1
-6
-17
-8
25
-14
0
0
0
0
8
7
16
-9
10
0
0
0
-5
-1
4
18
14
14
0
0
0
0
0
-2
13
34
-13
0
0
-3
4
0
-8
5
-22
-8
0
0
0
0
18
8
16
-42
-26
0
0
0
15
-1
-4
-3
-5
10
0
0
0
0
0
2
7
13
-7
0
0
7
0
0
0
3
0
-24
0
0
0
0
2
8
2
0
6
0
0
0
1
0
0
6
-9
-23
0
0
0
0
0
-1
0
-8
61
0
0
-2
0
0
1
-1
-26
15
0
0
0
0
-24
19
11
22
-94
0
0
0
-41
0
8
-22
-1
13
-4
0
0
0
4
5
-10
59
15
0
0
-42
3
3
-5
9
-17
43
-3
0
0
0
2
-22
-6
-1
29
2
0
0
-4
0
3
-10
-2
-25
11
0
0
0
0
1
5
-48
-33
34
0
9
0
0
2
6
-12
-13
-3
0
0
0
14
43
17
12
-25
-10
-1
0
42
-1
-5
0
-26
49
19
-27
0
0
-2
0
5
-42
8
34
3
23
0
-2
4
-8
12
3
-21
-41
0
0
-2
8
8
13
21
-27
30
0
-19
0
1
-6
-31
26
-25
31
0
0
-1
-5
-8
-8
10
48
-32
14
9
2
0
-29
17
31
-28
-12
0
0
-40
-37
-5
-42
4
0
0
0
0
0
-13
43
24
-14
0
0
0
0
-3
19
-14
39
20
0
0
0
0
0
0
7
-35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
23
-6
0
0
0
0
0
0
0
12
-41
0
0
0
0
0
-1
0
-8
22
0
0
0
0
0
0
0
20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-7
-2
-12
-5
0
0
0
0
0
0
7
-8
-9
0
0
0
0
0
0
4
-9
29
0
0
0
0
0
0
0
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-18
-18
10
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
15
-6
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
72
-1
0
0
0
15
5
8
6
-9
-3
0
0
0
0
0
1
-1
25
-2
0
0
0
1
0
-1
1
-22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-14
0
0
0
-8
0
0
0
13
-6
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
111
0
0
0
-34
-2
0
0
28
-1
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
-1
4
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-17
0
0
0
24
0
0
0
-8
13
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-22
42
19
0
0
0
0
0
2
3
-27
-16
0
0
0
0
0
0
12
-43
60
0
0
0
0
0
0
-20
-49
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
0
8
13
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
-23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
19
0
0
0
0
0
0
0
-12
16
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
35
-27
18
0
0
0
0
0
-2
13
-23
13
0
0
0
0
0
1
-1
62
-19
0
0
-7
0
0
0
-13
-30
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
61
0
0
0
0
0
0
0
4
14
0
0
0
0
0
0
1
1
15
0
0
-1
0
0
0
0
24
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
10
0
0
0
0
0
0
-1
-9
17
0
0
0
0
0
0
0
3
-20
0
0
33
0
0
0
-1
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-11
-5
-8
0
0
0
0
0
0
-4
30
5
0
0
0
0
0
0
-1
-2
15
0
0
0
0
0
0
3
12
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
-3
-10
47
0
0
0
0
0
0
0
2
-20
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
3
-6
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
2
-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
1
7
-2
26
0
0
0
0
0
0
-1
-1
-13
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
-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
-25
-22
0
0
0
1
0
0
-13
-35
2
0
0
0
0
0
0
0
-25
-6
0
0
0
0
0
0
0
-7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
0
0
0
-24
0
0
0
5
41
0
0
0
0
0
0
0
1
42
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
2
-10
-10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
10
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-7
0
0
0
0
0
0
5
-2
-2
0
0
0
0
0
0
4
-10
8
0
0
0
0
0
0
-3
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
6
-1
0
0
0
0
0
0
10
-21
5
0
0
0
0
0
0
-8
-40
30
0
0
-2
0
0
0
22
24
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-12
0
0
0
0
0
0
1
-3
29
0
0
0
0
0
0
0
9
-23
0
0
1
0
0
0
0
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
27
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
4
-18
6
1
24
0
0
0
0
0
0
-3
6
51
0
0
0
0
0
0
1
-22
6
0
0
0
0
0
0
0
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-11
0
0
0
0
0
0
0
10
22
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-2
2
28
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
17
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
3
5
0
0
0
0
0
0
0
-6
22
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-42
27
0
0
0
10
0
0
0
-20
8
0
0
0
0
0
0
1
-25
29
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-3
42
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
0
0
0
-13
0
0
0
-7
-5
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
2
0
0
0
7
-33
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
-10
26
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
-13
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
18
-31
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
5
0
0
0
0
0
0
0
3
43
0
0
0
0
0
0
-1
7
-5
0
0
0
0
0
0
-4
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
13
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-7
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-26
0
0
0
0
0
0
0
1
69
0
0
0
0
0
0
0
-6
24
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
14
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
9
-5
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
61
0
0
0
0
0
0
-1
5
-50
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-7
15
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
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
1
1
0
0
0
0
0
0
0
-14
4
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
-1
9
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
1
31
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
13
14
0
0
0
0
0
0
-2
-38
8
0
0
0
0
0
0
-3
7
-16
0
0
0
0
0
0
0
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
13
-13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
31
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
41
-28
-41
44
0
0
0
0
0
0
-5
13
-15
0
0
0
0
0
0
0
-2
41
0
0
0
0
0
0
0
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
-1
5
-58
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-6
4
-1
-25
-1
0
0
0
0
-3
0
-13
28
-4
0
0
0
0
0
0
-6
10
6
0
0
0
0
0
0
5
9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
6
-28
-8
24
0
0
0
0
0
0
-22
3
34
0
0
0
0
0
-1
10
-16
-5
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-2
0
0
0
-3
0
0
-2
-8
31
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
-22
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
37
0
0
0
-2
0
0
-1
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
66
-1
0
0
22
0
0
0
16
0
1
0
0
0
0
0
0
8
0
-9
0
0
0
0
0
0
-5
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
-25
0
0
0
0
0
0
-12
20
-1
0
0
0
0
0
0
0
4
-28
0
0
0
0
0
0
0
-23
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-8
0
0
0
0
0
0
0
10
5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
3
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-31
-4
0
0
0
0
0
0
0
27
-3
0
0
0
0
0
0
0
-9
16
0
0
0
0
0
0
0
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
11
0
0
0
0
0
0
2
6
50
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
-1
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-28
0
0
0
0
0
0
1
-35
-32
0
0
0
0
0
0
0
1
6
0
0
18
0
0
0
-1
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
20
0
0
0
0
0
0
0
-42
-23
0
0
0
0
0
0
0
-20
-14
0
0
1
0
0
0
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-28
1
0
0
0
0
0
0
-8
30
-12
0
0
0
0
0
0
1
0
9
0
12
0
0
0
0
-24
12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
-31
0
0
0
0
0
0
-5
14
-2
0
0
0
0
0
0
2
-2
-21
0
-2
0
0
0
0
-5
-1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
5
-14
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-12
-4
0
0
0
0
0
0
1
0
27
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
12
-8
0
0
0
0
0
0
-7
-18
12
0
0
0
0
0
0
0
7
-6
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-8
37
0
0
0
0
0
0
-15
9
5
0
0
0
0
0
0
-1
-5
-14
0
0
0
0
0
0
1
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
-12
5
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
1
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
3
5
0
0
0
1
0
0
0
2
9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
13
0
0
1
0
0
0
-1
-59
-6
0
0
0
0
0
0
0
2
23
0
0
0
0
0
0
1
-4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-76
0
0
1
0
0
0
8
28
13
0
0
0
0
0
0
0
7
24
0
0
0
0
0
0
0
1
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
59
0
0
0
0
0
0
0
6
-67
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
1
-7
-4
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
10
0
0
0
0
0
0
-2
6
5
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
2
0
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-22
-24
0
0
0
0
0
0
6
1
-32
0
0
0
0
0
0
-3
0
-41
0
-1
0
0
0
0
0
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-7
18
-22
0
0
0
0
0
0
0
-8
21
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
0
7
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
-2
5
9
-25
-18
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
-1
-23
29
3
0
0
0
0
0
1
-20
-23
11
0
0
0
0
0
0
25
3
-49
0
0
0
0
0
0
1
-1
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
16
-13
2
-1
0
0
0
0
0
3
-8
-21
0
0
0
0
0
0
5
-7
19
-7
0
0
0
0
0
0
-1
-112
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
5
0
-2
1
6
-5
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
30
0
0
0
3
0
0
0
6
49
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-23
23
0
0
5
0
0
-1
-8
9
-22
0
0
0
0
0
0
-1
-2
36
0
0
0
0
0
-2
-3
-14
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-32
-6
0
2
0
0
0
3
-16
-37
2
0
0
0
0
0
-2
2
-4
7
0
0
0
0
0
-1
-1
10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
0
0
0
0
0
0
0
16
42
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
-13
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-14
-23
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
2
0
0
0
0
0
0
-1
-30
-4
0
0
0
0
0
0
4
-5
16
0
0
0
0
0
0
0
-2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
40
-31
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
-67
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
19
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-19
20
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-5
0
0
0
0
0
0
-13
2
19
0
0
0
0
0
0
2
-1
-45
0
0
0
0
0
0
-10
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-84
9
0
0
0
0
0
-2
0
-29
45
0
0
0
0
0
0
0
-13
-9
1
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
5
6
10
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
25
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
66
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
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
-1
4
2
1
-10
4
0
0
0
0
0
0
-10
33
-34
0
0
0
0
0
-2
6
-16
-1
0
0
0
0
0
0
1
-6
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
30
-24
21
0
0
0
0
0
1
-12
5
-10
0
0
0
0
0
-4
2
41
-25
0
0
0
0
0
1
3
19
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
-4
0
0
0
-7
23
0
0
0
0
0
0
0
-3
60
0
0
0
1
0
0
-1
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
19
0
0
-2
0
0
0
2
5
9
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
29
-50
-16
0
-1
0
0
0
-5
-48
-72
30
0
0
0
0
0
0
-2
2
26
0
0
0
0
0
0
0
12
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-3
0
0
0
0
0
0
0
3
21
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
3
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
12
0
0
0
0
0
0
0
-5
-16
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-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
-1
-1
14
14
0
0
0
0
0
0
3
4
5
0
0
0
0
0
0
-2
1
-74
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
1
21
27
0
0
0
0
0
7
0
-44
18
0
0
0
0
0
0
3
2
-66
0
0
0
0
0
1
-2
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
25
11
-7
-17
0
0
0
6
-5
-7
-10
76
-12
0
0
0
0
5
1
9
-62
-2
0
0
4
-1
-5
0
9
-38
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
3
3
-3
0
0
0
16
0
0
-1
-16
12
0
0
0
0
0
2
-1
0
-14
0
0
2
0
0
0
0
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-10
10
-9
35
-7
0
0
-7
-1
2
-9
0
-6
15
0
0
0
-4
0
0
-34
-3
18
0
-30
1
0
0
0
-7
7
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
8
34
-13
-12
1
0
-7
-1
0
-1
-9
-4
-66
-10
0
0
0
0
0
-6
9
13
11
12
0
0
0
-1
-35
-19
-6
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-10
-5
-17
14
0
0
0
0
0
-3
12
15
-7
0
0
0
0
-2
0
5
35
4
0
0
0
0
0
0
7
34
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-1
-5
-41
0
0
0
0
0
0
1
-3
5
0
0
0
0
0
0
1
-19
26
0
0
0
0
0
0
-1
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-8
-24
0
0
0
0
0
0
0
-10
-10
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
4
0
0
0
4
0
2
2
65
-12
0
0
0
0
0
0
-1
-42
59
0
0
0
0
0
0
0
33
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
37
0
0
0
-4
0
0
-3
5
6
0
0
0
0
0
0
0
-16
41
0
0
0
0
0
0
1
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
13
0
0
0
5
0
0
1
-4
-9
0
0
0
0
0
0
0
8
-22
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-23
0
0
0
3
0
0
0
-22
28
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
16
9
0
0
0
0
0
0
0
37
9
0
0
0
0
0
0
1
-19
12
0
0
0
0
0
0
0
-17
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
41
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-27
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
37
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
24
8
0
0
0
0
0
0
-9
-26
4
0
0
0
0
0
0
3
-41
1
0
0
-3
0
0
0
2
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
14
0
0
0
0
0
0
-1
8
14
0
0
0
0
0
0
-1
-2
23
0
0
1
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
26
0
0
0
0
0
0
2
4
8
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
-1
-25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-13
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-23
-4
56
0
0
0
0
0
0
3
5
-10
0
0
0
0
0
0
0
18
-45
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-30
-6
0
0
0
0
0
0
0
-2
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
32
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
54
0
0
0
0
0
0
0
-27
8
0
0
0
0
0
0
0
-16
12
0
0
0
0
0
0
0
-9
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
0
0
0
0
0
0
0
4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
0
0
0
-1
0
0
1
-9
26
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
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
-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
1
19
-32
0
0
0
0
0
0
0
24
-1
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
-1
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
5
-30
0
0
0
0
0
-1
-5
-26
-13
0
0
0
0
0
0
-4
-10
28
0
0
0
0
0
0
8
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
0
-17
6
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
8
-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
-16
8
8
0
0
0
0
0
0
4
9
13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-13
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
2
0
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
16
-20
0
0
0
0
0
-1
0
-8
32
0
0
0
0
0
0
0
-24
42
0
0
0
0
0
0
0
5
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-8
-15
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
-1
0
0
-6
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
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
22
3
0
0
0
0
0
0
1
-18
8
0
0
0
0
0
0
0
-20
19
0
0
0
0
0
0
0
4
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
0
0
0
1
0
0
0
9
4
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
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
4
-13
0
0
0
0
0
0
0
10
34
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
-9
-16
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-21
0
0
0
0
0
0
-1
-6
28
0
0
0
0
0
0
0
0
-7
0
0
-3
0
0
0
-3
25
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
0
0
0
0
0
0
0
-15
37
0
0
0
0
0
0
0
8
7
0
0
0
0
0
0
-2
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
7
-43
0
0
0
0
0
0
0
-6
20
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
1
39
0
0
0
0
0
0
-3
-7
-43
0
0
0
0
0
0
0
-2
24
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
-6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
61
0
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-14
45
0
0
0
0
0
-5
4
-13
34
0
0
0
0
0
1
0
0
23
0
0
0
0
0
0
-1
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
-18
0
0
0
0
0
1
0
0
12
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
23
0
0
0
0
0
0
0
3
-41
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
4
0
0
0
0
0
0
0
1
-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
-33
-2
0
-20
31
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-7
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
15
0
0
0
0
0
0
0
3
-55
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-3
-8
-31
1
0
0
0
0
0
0
1
93
-4
0
0
0
0
0
-4
-5
7
2
0
0
0
0
0
0
6
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-8
-1
0
0
0
0
0
0
5
7
-49
0
0
0
0
0
0
2
-12
-5
0
0
0
0
0
0
0
-8
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
24
0
0
0
-9
0
0
-2
5
-16
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
1
0
0
0
-3
33
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
50
0
0
0
-18
0
0
0
38
1
-3
0
0
0
0
0
0
25
-2
-14
0
0
0
0
0
-3
-18
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
7
0
0
0
0
0
0
-43
5
-12
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
24
0
0
0
0
0
0
0
-25
24
0
0
0
0
0
0
0
23
-14
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
31
3
0
0
0
0
0
0
8
-3
-5
0
0
0
0
0
0
-3
-13
12
0
0
0
0
0
0
6
6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-17
0
0
0
0
0
0
1
-4
5
0
0
0
0
0
0
1
1
-16
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
8
0
0
0
0
0
0
0
-7
12
0
0
0
0
0
0
0
3
14
0
0
-5
0
0
0
-1
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
-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
1
-10
6
1
0
0
0
0
0
0
-23
34
-3
0
0
0
0
0
2
4
-3
-5
0
3
0
0
0
-1
7
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
-10
0
0
0
0
0
0
1
-4
-37
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
5
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
0
9
25
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
7
0
0
0
0
0
0
8
-42
4
0
0
0
0
0
0
2
3
-12
0
0
0
0
0
0
-1
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
0
0
0
0
0
0
0
2
31
0
0
0
0
0
0
1
0
-22
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
6
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-9
0
0
1
0
0
0
-8
35
-1
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
2
1
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-4
-22
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
15
0
0
0
0
0
0
-6
4
8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-38
0
0
0
0
0
0
1
-16
-14
0
0
0
0
0
0
0
4
27
0
0
3
0
0
0
-1
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
4
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
25
-18
0
0
0
0
0
0
-3
-9
-3
0
0
0
0
0
0
1
1
-32
0
0
0
0
0
1
1
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-27
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-6
24
-8
0
0
0
0
0
0
0
-16
26
0
0
0
0
0
0
0
-2
42
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-27
3
3
0
0
0
0
0
0
-9
-12
29
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
-15
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-14
-6
0
0
0
0
0
1
2
45
5
0
0
0
0
0
0
-1
-8
-42
3
0
0
0
0
0
2
12
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
0
0
0
-3
0
0
1
-15
42
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
3
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
-5
37
0
0
0
0
0
0
-5
-7
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-9
1
0
6
0
0
0
7
6
-11
-6
0
0
0
0
0
0
2
28
8
0
0
0
0
0
5
7
-33
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
32
-20
0
0
0
0
0
0
2
-1
19
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
72
2
0
0
0
0
0
5
-3
-8
31
0
0
0
0
0
1
-5
45
-37
0
0
0
0
0
0
-1
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
-23
10
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
-13
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
9
-11
0
0
0
0
0
0
-8
1
47
0
0
0
0
0
0
-3
2
-60
0
0
0
0
0
0
-8
2
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
9
-41
-4
0
0
0
0
0
7
1
-24
-32
0
0
0
0
0
0
2
-31
-35
0
0
0
0
0
-6
-5
19
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
4
-33
19
0
0
0
0
0
0
0
8
14
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
1
0
0
0
0
0
0
0
-8
-12
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
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
-1
4
34
20
0
0
0
0
0
0
-5
1
-35
0
0
0
0
0
0
0
1
-76
0
0
0
0
0
0
1
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
4
0
0
0
0
0
2
-7
13
11
0
0
0
0
0
-1
0
44
16
0
0
0
0
0
0
5
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
27
0
0
0
3
0
0
0
-18
34
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
4
0
0
0
4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
3
0
0
-8
0
0
0
-2
12
-42
0
0
0
0
0
0
1
0
-41
0
0
0
0
0
0
0
0
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
1
-2
-77
26
0
0
0
0
0
-9
-10
7
-46
0
0
0
0
0
0
0
7
-41
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
-20
-47
0
0
0
0
0
0
0
-18
34
0
0
0
0
0
0
0
3
47
0
0
0
0
0
0
1
-14
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
1
-7
8
-3
0
0
0
0
0
0
0
-12
24
0
0
0
0
0
0
1
-16
-13
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-35
-23
0
0
0
0
0
0
7
17
-25
0
0
0
0
0
-1
-1
-27
31
0
0
0
0
0
0
-1
-18
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
2
8
-2
0
0
0
-9
0
-3
60
27
-2
0
0
0
0
1
31
24
1
-13
0
0
7
-10
-8
-12
-31
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
14
-16
-32
0
0
0
9
-2
-5
-4
-22
-1
0
0
0
0
0
-2
8
-8
28
0
0
-14
0
0
0
-8
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-45
11
51
-9
1
0
0
32
-8
8
-13
-101
-55
0
0
0
0
-6
6
4
-25
56
6
0
15
1
2
0
-8
-17
-27
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-9
-24
16
-24
0
0
-11
-1
2
0
15
6
-69
-6
0
0
1
-1
-8
-19
30
-6
33
-8
2
0
0
-2
-59
-5
-74
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-12
23
-39
11
0
0
0
0
-4
24
1
-58
4
0
0
0
0
-65
40
-39
-5
10
0
0
0
0
2
40
67
-30
1
0
0
0
0
-2
20
63
-56
15
0
0
0
0
-48
-23
47
10
43
0
0
0
0
-10
10
-12
-14
-4
0
0
0
0
-7
39
-4
5
6
0
0
0
0
35
-24
-2
-42
44
0
0
0
0
0
48
20
5
-22
0
0
0
0
40
-47
7
-78
37
0
0
0
0
2
49
-52
-6
6
0
0
0
0
-37
71
55
-19
21
0
0
0
0
8
-57
38
22
81
0
0
0
0
35
-44
16
74
28
0
0
0
0
-18
-37
-55
27
28
0
0
0
0
-5
-2
-7
-45
52
0
0
0
0
-1
20
27
-70
-3
0
0
0
0
-37
19
22
-9
73
0
0
0
0
0
-9
24
30
-8
0
0
0
0
0
-54
9
-37
14
0
0
0
0
8
-75
10
-19
-3
0
0
0
0
-6
14
-11
-9
56
0
0
0
0
21
30
76
-46
31
0
0
0
0
44
-14
-51
31
19
0
0
0
0
1
-61
83
-8
51
0
0
0
0
-2
-47
19
32
-25
0
0
0
0
3
72
14
-33
-3
0
0
0
0
28
-54
22
-38
33
0
0
0
0
13
-43
71
-66
3
0
0
0
0
26
144
59
-20
-94
0
0
0
0
23
11
-18
-24
-7
0
0
0
0
0
20
-21
23
2
0
0
0
-11
-27
54
-1
19
8
0
0
0
0
0
-15
-11
-4
10
0
0
0
-24
0
-25
10
22
2
0
0
0
0
37
42
51
-53
-5
0
0
0
37
-16
-10
10
53
-4
0
0
0
0
0
3
-8
2
23
0
0
0
-5
0
-4
93
-25
20
0
0
0
0
0
-20
-4
-22
37
0
0
0
-38
-7
-2
-28
18
63
0
0
0
0
0
-16
-9
-13
1
0
0
0
23
0
-46
-33
-51
55
0
0
0
0
0
-2
0
-86
18
0
0
0
25
0
-8
-23
67
-14
0
0
0
0
0
5
-18
4
-32
0
0
0
18
0
-31
30
34
15
0
0
0
0
0
3
37
-33
21
0
0
0
95
-2
-8
-7
-15
-3
0
0
0
0
0
1
-8
30
-20
0
0
0
-28
0
0
-33
28
38
0
0
0
0
0
1
-45
-50
48
0
0
0
-15
5
9
-15
87
-55
0
0
0
0
0
4
5
-2
19
0
0
0
21
0
5
45
-30
22
0
0
0
0
0
3
-49
32
39
0
0
0
19
0
14
3
-45
-11
0
0
0
0
0
2
8
-46
57
0
0
0
20
0
-3
14
20
8
0
0
0
0
-1
22
-69
37
16
0
0
0
28
-30
-1
55
23
12
0
0
0
0
0
-93
21
-84
48
0
0
0
1
-12
52
71
-26
1
0
0
0
0
12
-41
12
-62
5
0
0
0
0
0
1
-1
53
6
0
0
0
0
15
-4
14
13
6
0
0
0
0
0
-12
9
41
11
0
0
0
0
-1
5
5
19
-64
0
0
0
0
0
-2
14
-53
57
0
0
0
0
2
-2
18
-21
4
0
0
0
0
0
-56
14
-11
33
0
0
0
0
-2
70
-44
-46
-18
0
0
0
0
0
-5
8
-30
-11
0
0
0
0
6
-49
66
-25
0
0
0
0
0
0
4
-17
-38
-36
0
0
0
0
0
4
-19
-9
91
0
0
0
0
0
-5
-2
-76
44
0
0
0
0
2
27
42
-49
-11
0
0
0
0
-4
12
27
-5
9
0
0
0
0
0
3
34
-11
-43
0
0
0
0
0
1
3
-34
6
0
0
0
0
2
-16
-35
-40
23
0
0
0
0
0
3
-24
28
8
0
0
0
0
0
15
-2
-32
-4
0
0
0
0
0
1
-25
-5
85
0
0
0
0
0
2
21
31
-1
0
0
0
0
-2
8
44
-3
38
0
0
0
0
22
6
93
-121
15
0
0
0
0
0
1
-18
10
14
0
0
0
0
9
15
-46
-40
44
0
0
0
0
0
-6
6
50
13
0
0
0
0
12
41
17
24
-141
0
0
0
0
5
13
-27
-14
-70
0
0
0
0
13
-15
7
-84
49
0
0
0
0
-21
36
0
-9
24
0
0
0
0
0
13
-40
-30
-10
0
0
0
8
-1
-5
-7
-7
15
0
0
0
0
0
-4
-50
-7
11
0
0
-25
-25
2
18
-44
6
2
0
0
0
0
0
1
10
-64
27
0
0
0
0
0
-7
-9
-75
22
0
0
0
0
0
-16
6
-30
31
0
0
-22
-1
-9
4
-7
14
-12
0
0
0
0
0
0
-13
49
-12
0
0
0
13
0
-1
56
-50
-4
0
0
0
0
0
42
-22
-16
-5
0
0
-40
-1
-1
10
76
-84
-12
0
0
0
0
0
-3
3
4
15
0
0
0
-2
0
-2
12
-3
-30
0
0
0
0
0
1
-13
-17
4
0
0
83
-2
4
46
-20
-12
-96
0
0
0
0
0
1
58
-69
19
0
0
0
0
0
0
-19
-63
69
0
0
0
0
0
-2
-16
29
37
0
0
-1
-36
1
-4
3
-9
5
0
0
0
0
0
-3
-43
-13
43
0
0
0
0
0
4
11
-26
-49
0
0
0
0
0
0
0
-60
14
0
0
49
0
3
-37
62
-3
-31
0
0
0
0
0
1
4
27
5
0
0
0
-27
0
0
-4
25
-29
0
0
0
0
0
-4
-30
-30
57
0
0
-3
5
0
-37
-6
43
10
0
0
0
0
0
8
-17
-49
65
0
0
0
-2
0
0
-18
-20
53
0
0
0
0
0
13
18
-53
73
0
0
-21
63
-46
10
1
22
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-12
-29
-23
41
0
0
0
0
0
0
-12
8
1
0
0
0
0
-1
-23
13
31
-23
0
0
0
0
0
10
7
-29
75
0
0
0
0
3
35
-3
4
28
0
0
0
0
0
0
-14
5
-23
0
0
0
0
1
-1
9
-4
-8
0
0
0
0
-1
-2
-11
-49
67
0
0
0
0
83
-12
23
4
5
0
0
0
0
0
4
0
-10
37
0
0
0
0
2
18
48
-46
0
0
0
0
0
0
15
52
-12
-60
0
0
0
0
1
-14
30
-34
33
0
0
0
0
0
-7
-7
-3
24
0
0
0
0
30
-72
9
-18
-22
0
0
0
0
-5
43
-41
-2
14
0
0
0
0
-36
-37
9
-34
34
0
0
0
0
0
0
-1
-31
105
0
0
0
0
2
-15
30
-18
41
0
0
0
0
0
-8
-23
-26
68
0
0
0
0
5
8
-13
-19
121
0
0
0
0
0
1
3
-13
48
0
0
0
0
4
15
44
-38
-19
0
0
0
0
-8
-9
11
37
-55
0
0
0
0
-12
-119
8
-5
60
0
0
0
0
0
5
2
8
-22
0
0
0
0
3
5
43
-33
-13
0
0
0
0
-2
-9
21
27
48
0
0
0
0
-6
-28
69
23
-2
0
0
0
0
1
4
-15
28
28
0
0
0
0
-8
6
-59
-11
22
0
0
0
0
-44
68
59
26
-29
0
0
0
0
0
0
-7
15
7
0
0
0
-50
0
0
-7
3
18
0
0
0
0
0
0
-5
-26
-1
0
0
0
6
0
0
5
-24
-44
0
0
0
0
0
0
-3
5
42
0
0
0
3
0
0
-15
1
15
0
0
0
0
0
0
2
1
21
0
0
0
-1
0
0
36
-14
-41
0
0
0
0
0
2
-21
-18
9
0
0
0
32
0
-3
15
-30
5
0
0
0
0
0
0
2
-53
41
0
0
0
-1
0
0
-68
28
38
0
0
0
0
0
-1
-5
-5
47
0
0
0
3
0
3
-12
20
16
0
0
0
0
0
0
3
-28
-9
0
0
0
-2
0
-13
25
-15
-24
0
0
0
0
0
0
5
-14
13
0
0
0
-57
0
1
0
-106
69
0
0
0
0
0
0
-3
-14
22
0
0
0
0
0
-1
2
-14
-18
0
0
0
0
0
0
-3
-5
13
0
0
0
25
0
3
-1
7
-22
0
0
0
0
0
0
0
-66
7
0
0
0
-2
0
0
-13
-65
50
0
0
0
0
0
3
9
-96
16
0
0
0
-5
0
-3
1
-23
22
0
0
0
0
0
0
0
70
-7
0
0
0
-1
0
1
0
-59
23
0
0
0
0
0
3
4
-9
54
0
0
0
33
-2
2
1
-21
-17
0
0
0
0
-1
0
0
-39
5
0
0
0
-31
1
-44
-9
9
5
0
0
0
0
-1
-5
-3
-75
30
0
0
0
0
0
2
-5
-31
-24
0
0
0
0
0
1
1
-28
-14
0
0
0
0
0
3
1
34
20
0
0
0
0
0
0
1
-18
25
0
0
0
0
0
0
-2
31
-2
0
0
0
0
0
-2
-1
-10
8
0
0
0
0
0
0
-5
41
-1
0
0
0
0
0
3
-27
-69
66
0
0
0
0
0
-2
-3
-61
155
0
0
0
0
0
19
-10
-31
-23
0
0
0
0
0
8
-3
21
-22
0
0
0
0
0
4
-2
3
-55
0
0
0
0
0
-1
0
-6
-5
0
0
0
0
-7
-22
1
0
44
0
0
0
0
-8
-55
75
-5
-28
0
0
0
0
0
-2
4
8
35
0
0
0
0
0
0
0
9
-11
0
0
0
0
0
0
-2
27
-19
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
2
-16
32
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
-1
-2
8
0
0
0
0
0
-1
6
-4
-24
0
0
0
0
1
0
-4
13
30
0
0
0
0
0
0
0
0
14
0
0
0
0
-4
9
0
37
-49
0
0
0
0
0
3
-5
-98
52
0
0
0
0
1
-2
4
23
-3
0
0
0
0
0
1
-4
-17
84
0
0
0
0
7
10
4
-16
76
0
0
0
0
-19
11
-82
10
-14
0
0
0
0
0
7
3
3
23
0
0
0
0
0
-1
-8
-33
-30
0
0
0
0
0
0
0
-24
29
0
0
26
0
0
3
-42
36
28
0
0
0
0
0
0
8
-3
-45
0
0
0
0
0
1
4
-23
5
0
0
0
0
0
-1
0
-3
21
0
0
1
0
0
2
-16
6
14
0
0
0
0
0
-5
39
-67
38
0
0
0
2
0
0
2
-33
-48
0
0
0
0
0
-3
-24
-10
-16
0
0
59
2
0
6
-19
-44
11
0
0
0
0
0
0
2
2
41
0
0
0
0
0
0
-4
-1
-25
0
0
0
0
0
0
-6
-39
-2
0
0
-22
5
-1
-42
-10
-15
69
0
0
0
0
0
-1
8
17
-18
0
0
0
0
0
0
0
4
41
0
0
0
0
0
-2
0
-8
42
0
0
29
0
0
1
4
-44
2
0
0
0
0
0
0
7
-8
-39
0
0
0
0
0
0
1
-7
-6
0
0
0
0
0
0
-5
-3
2
0
0
-14
0
0
2
-48
-5
-44
0
0
0
0
0
0
3
-12
66
0
0
0
0
0
0
2
8
25
0
0
0
0
0
0
-2
3
3
0
0
-16
-4
-1
-1
25
-55
69
0
0
0
0
0
1
0
2
25
0
0
0
-2
0
0
7
23
-79
0
0
0
0
1
-2
13
15
-27
0
0
45
-9
0
20
-20
-36
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
21
110
41
-42
0
0
0
0
0
-13
76
-40
-50
0
0
0
0
-4
15
-27
39
48
0
0
0
0
0
20
42
-31
-2
0
0
0
0
-12
-75
26
26
18
0
0
0
0
1
-13
-2
31
86
0
0
0
0
0
5
-23
22
-13
0
0
0
0
-1
-27
-11
19
-31
0
0
0
0
-47
86
76
-29
12
0
0
0
0
0
2
4
9
1
0
0
0
0
5
-9
-10
-19
79
0
0
0
0
0
-16
4
-45
44
0
0
0
0
-8
-27
-14
5
44
0
0
0
0
0
5
2
-27
-17
0
0
0
0
25
29
23
-51
17
0
0
0
0
-23
8
39
20
6
0
0
0
0
47
-29
-32
-17
22
4
0
0
0
0
-25
-66
-14
-58
14
0
0
0
-11
47
7
13
-3
6
0
0
0
1
-17
43
2
63
2
0
0
0
-6
-42
-23
-12
17
17
0
0
0
-4
-13
-27
-8
25
0
0
0
0
60
8
-44
-89
25
1
0
0
0
63
19
23
-55
14
-17
0
0
0
2
0
41
32
11
2
0
0
0
0
-4
46
-51
-33
11
0
0
0
10
-9
-18
-22
25
16
0
0
0
0
-15
11
-30
31
-4
0
0
0
-42
24
39
31
7
-8
0
0
0
17
-42
54
-39
25
-9
0
0
0
-46
2
19
87
76
-20
0
0
0
14
-9
20
-16
61
2
0
0
0
0
4
-31
-48
-17
0
0
0
-17
-2
8
-4
-58
18
0
0
0
0
0
0
29
35
-36
0
0
0
1
0
-2
22
-69
36
0
0
0
0
0
4
-41
61
56
0
0
0
10
0
-12
69
-21
-25
0
0
0
0
0
-1
0
-57
-2
0
0
0
0
1
-5
36
-38
23
0
0
0
0
0
2
6
-18
55
0
0
0
-49
0
1
0
-48
31
0
0
0
0
0
1
-4
-5
44
0
0
0
5
0
-6
7
24
15
0
0
0
0
0
0
1
-29
39
0
0
0
57
0
4
-17
25
7
0
0
0
0
0
6
-2
-22
27
0
0
0
31
1
-41
13
20
9
0
0
0
0
0
0
31
2
5
-5
0
0
-37
-5
1
5
22
24
0
0
0
0
0
1
39
-44
-11
-13
0
0
0
0
0
-35
5
12
-4
0
0
0
0
0
21
-64
-29
16
0
0
-55
-1
-1
5
-75
85
16
0
0
0
0
-1
0
-22
16
-15
0
0
-17
1
9
2
8
3
0
0
0
0
0
3
5
2
-14
-2
0
0
-15
0
0
-2
-62
-17
24
0
0
0
0
0
8
-26
31
-12
0
0
14
0
-2
-41
-72
84
7
0
0
0
3
-2
-9
13
121
-25
0
0
89
-3
0
-34
-32
1
14
0
0
0
3
-4
-6
10
44
-18
0
0
-57
-14
-18
6
-11
13
5
0
0
0
2
2
-3
3
42
0
0
0
0
0
0
1
-53
46
0
0
0
0
2
16
42
-78
-42
0
0
0
0
0
1
12
-87
54
0
0
0
0
0
0
-14
-26
2
0
0
0
0
0
3
-1
-9
45
0
0
0
0
0
1
0
16
0
0
0
0
0
0
5
15
-88
63
0
0
0
0
0
-1
-3
31
15
0
0
0
0
0
0
1
5
-2
0
0
0
0
0
5
1
15
-24
0
0
0
0
0
-4
1
-23
0
0
0
0
0
0
0
0
8
-9
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
-5
22
31
-50
0
0
0
0
1
1
22
-13
-5
0
0
0
0
1
0
-7
-61
127
-12
0
0
0
0
0
1
65
-18
-10
0
0
0
-8
-22
-59
-23
19
0
0
0
0
0
-3
47
-4
-28
-6
0
0
0
0
0
3
-1
-84
10
0
0
0
0
0
-8
-15
1
15
0
0
0
-4
-17
-14
5
24
11
0
0
0
5
33
-5
-17
35
-23
0
0
0
1
-1
73
-61
75
3
0
0
0
0
1
-2
-46
33
14
0
0
0
1
-9
-19
-32
-18
42
0
0
0
0
0
-24
9
58
-22
0
0
0
-2
-1
4
25
17
9
0
0
0
-1
-2
13
14
46
-27
0
0
0
3
16
8
-43
-31
7
0
0
0
-22
-19
9
9
32
8
0
0
0
0
-3
9
44
15
0
0
0
0
0
-1
14
15
12
0
0
0
0
0
-1
25
-23
49
0
0
4
3
1
-6
-8
-69
-22
0
0
0
0
0
2
6
-31
-15
0
0
0
0
0
3
3
-75
25
0
0
0
0
0
0
1
5
8
0
0
-2
0
-1
30
7
-31
17
0
0
0
0
0
2
-4
-9
53
0
0
0
0
0
0
1
-1
9
0
0
0
0
0
3
-7
-43
17
0
0
23
0
0
14
0
15
18
0
0
0
0
0
0
-4
6
-35
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
-2
3
-5
0
0
-5
0
-1
-13
-10
-66
2
0
0
0
0
0
2
23
8
65
-25
0
0
0
0
0
14
-89
28
-14
0
0
0
0
-2
0
-66
-15
-18
0
-25
2
2
-6
-37
25
90
-2
0
0
0
0
-1
-20
90
-15
0
0
0
0
0
0
33
2
6
22
0
0
0
0
0
8
-23
-13
6
0
15
0
3
-10
-50
13
5
7
0
0
0
0
0
1
21
-7
-14
0
0
-2
0
0
5
2
75
-34
0
0
0
0
0
3
-31
33
12
0
2
-4
0
0
17
-14
-19
40
0
0
0
0
0
7
-59
-16
31
0
0
7
0
0
0
-9
35
-27
0
0
0
0
-3
24
-19
8
-7
0
11
4
7
-3
-75
-24
18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
-5
-99
66
0
0
0
0
0
0
-48
-17
41
0
0
0
0
2
4
77
-17
-22
0
0
0
0
0
5
66
-78
-18
0
0
0
0
0
-46
-13
13
115
0
0
0
0
0
0
16
9
18
0
0
0
0
0
-5
5
-2
2
0
0
0
0
0
-25
-49
30
58
0
0
0
0
-32
-17
-4
65
-33
0
0
0
0
0
2
2
-60
-21
0
0
0
0
-1
-9
-17
52
13
0
0
0
0
0
-12
-49
47
16
0
0
0
0
2
-15
5
9
-18
0
0
0
0
-2
3
-1
1
-35
0
0
0
0
8
20
-7
-32
31
0
0
0
0
22
-9
-13
-16
-31
0
0
0
0
-18
53
93
-41
29
-32
0
0
0
0
0
18
-6
-21
34
0
0
0
0
5
81
-27
45
-9
0
0
0
0
1
35
-61
32
-13
0
0
0
20
41
-29
11
-8
20
0
0
0
-1
3
13
-3
-22
5
0
0
0
0
8
-10
78
-14
-32
0
0
0
-3
58
41
-40
0
-12
0
0
0
-56
-6
-13
53
4
-27
2
0
0
0
20
28
21
1
-5
-1
0
0
-5
5
-44
-75
9
-9
7
0
0
0
18
-8
-74
17
3
-2
0
0
-66
-4
30
-4
57
-14
-4
0
0
26
-53
-27
7
42
-33
-3
0
0
9
14
1
-24
83
-9
-10
0
0
20
40
42
-36
-13
-15
-2
0
0
0
0
5
-28
34
0
0
0
50
0
2
-2
-110
-23
0
0
0
0
0
0
-12
-20
1
0
0
0
3
0
-3
13
8
52
0
0
0
0
0
0
-1
-13
79
0
0
0
2
0
0
-7
8
6
0
0
0
0
0
0
4
19
3
0
0
0
0
0
0
28
-24
43
0
0
0
0
0
0
3
-7
-28
0
0
0
-14
0
-2
0
-1
48
0
0
0
0
0
0
0
-13
0
0
0
0
-6
0
-5
35
3
-13
0
0
0
0
0
3
0
-9
41
0
0
0
-25
0
0
-8
-21
56
0
0
0
0
0
0
5
-5
-7
0
0
0
-2
0
2
13
-17
33
0
0
0
0
0
0
5
-85
22
-7
0
0
-37
0
2
5
-3
-16
-11
0
0
0
0
0
1
-32
14
13
0
0
0
0
0
-8
-51
5
16
0
0
0
0
0
-8
22
11
-24
0
0
-9
0
-3
16
30
4
-7
0
0
0
0
0
0
39
66
-66
0
0
0
0
-1
3
-93
56
16
0
0
0
0
-1
45
-30
34
23
-13
0
94
0
-24
-71
68
45
-5
-14
0
0
0
0
-24
30
-26
-21
-15
0
-5
0
-5
9
27
-49
-42
-12
0
0
5
-3
8
13
-41
-66
13
0
-26
0
0
-7
11
-12
-17
-11
0
0
0
-10
-8
-83
18
-73
39
0
91
-4
-13
-41
-81
-4
43
-26
0
0
0
4
0
-1
-30
0
0
0
0
0
0
-3
-49
41
0
0
0
0
0
0
18
6
-11
0
0
0
0
0
2
0
13
41
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
-2
-10
-1
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
0
17
-5
13
0
0
0
0
1
0
0
-39
16
0
0
0
0
0
0
0
4
-3
0
0
0
0
-1
-2
-9
60
-7
0
0
0
0
0
-2
2
-58
49
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
-15
-6
0
0
0
0
-1
-1
0
-4
-8
0
0
0
0
4
-5
-43
8
17
0
0
0
0
0
-4
5
-24
-18
-5
0
0
0
0
0
1
-25
-7
-14
0
0
0
0
0
3
7
43
-81
0
0
0
0
-1
0
24
-44
-9
0
0
0
0
0
-8
-5
15
-45
0
0
0
0
-3
0
-6
2
-58
0
0
0
0
0
0
7
-4
-61
0
0
0
0
-20
25
-50
29
11
0
0
0
-2
-1
-13
36
-24
53
5
0
0
0
0
0
-67
-57
-13
52
0
0
-7
27
7
-51
60
-7
-10
0
0
-3
2
-22
-27
-64
-8
6
0
0
-8
1
-1
16
35
-35
7
0
0
0
-2
-3
-9
-23
13
29
0
0
-16
4
14
58
46
-48
2
0
0
-12
-17
-67
-45
-68
-7
33
0
0
0
0
6
18
-88
0
0
0
0
0
0
-10
-35
51
0
0
0
0
0
0
-15
7
28
0
0
0
0
0
0
-22
-102
-25
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
0
0
9
5
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
-60
-13
1
0
0
0
0
0
-2
3
-3
4
0
0
0
0
0
0
-1
-23
1
0
0
0
0
0
0
5
-6
-22
0
0
-3
0
0
22
-16
18
-51
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
1
0
2
0
0
-1
-1
0
-2
-9
12
-10
0
0
0
0
0
1
-9
-83
56
-33
0
0
0
0
0
-24
-45
45
47
0
0
0
0
0
5
9
8
-71
0
-76
0
0
-2
-30
-39
26
10
0
0
0
0
-1
0
0
-9
21
0
0
0
0
0
-4
-2
3
35
0
0
0
0
0
-2
1
1
-79
0
43
0
0
-39
33
-49
-5
13
0
0
0
0
8
-33
64
-11
-45
-5
0
0
0
0
31
60
-41
-54
-33
0
0
0
0
5
1
76
-46
0
66
1
0
-56
23
0
-87
16
2
0
0
0
-7
-4
-73
25
0
11
0
0
0
-2
25
7
-25
-66
36
0
0
-1
1
-8
15
28
9
25
-66
20
0
-20
-34
5
27
-38
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-48
20
-46
31
0
0
0
0
-2
14
76
-102
17
0
0
0
0
21
-38
-17
-43
6
0
0
0
0
0
63
-4
61
-18
0
0
0
0
27
-23
78
-51
62
0
0
0
0
-16
-8
50
19
-26
0
0
0
0
0
8
-6
-13
6
0
0
0
0
1
-19
15
-11
14
0
0
0
0
-45
3
28
-5
28
0
0
0
0
0
3
14
-56
-1
0
0
0
0
28
-27
-33
30
29
0
0
0
0
-1
26
-22
11
19
0
0
0
0
-41
57
-33
-6
46
0
0
0
0
0
-8
9
45
-25
0
0
0
0
33
42
10
-17
-11
0
0
0
0
10
-59
12
18
14
0
0
0
0
0
-92
-25
-54
74
0
0
0
0
2
7
-109
51
20
0
0
0
0
-2
-4
-13
-36
39
0
0
0
0
0
1
-4
-18
87
0
0
0
0
-25
-49
-72
40
30
0
0
0
0
0
3
9
-27
5
0
0
0
0
-7
10
-45
-72
55
0
0
0
0
6
3
17
-27
16
0
0
0
0
2
13
39
-13
30
0
0
0
0
0
15
32
25
28
0
0
0
0
-19
5
28
-92
70
0
0
0
0
1
-13
58
-60
3
0
0
0
0
-64
43
23
2
9
0
0
0
0
7
-75
20
55
-30
0
0
0
0
4
-44
24
26
-14
0
0
0
0
51
58
-54
21
11
0
0
0
0
0
6
76
-30
19
0
0
0
8
-3
1
2
-6
14
0
0
0
0
0
0
1
-5
5
0
0
0
5
0
-6
-13
12
15
0
0
0
0
0
-1
0
-34
-41
0
0
0
-14
0
1
-10
-9
7
0
0
0
0
0
-1
3
15
-12
0
0
0
-1
0
-2
13
-1
-16
0
0
0
0
5
-3
-42
-37
14
0
0
0
-13
0
3
-13
12
49
0
0
0
0
0
5
-3
27
12
0
0
0
5
0
-1
2
6
-2
0
0
0
0
0
0
19
-2
-9
0
0
0
-8
0
-7
0
-34
46
0
0
0
0
0
-4
0
-5
-7
0
0
0
5
0
22
-55
-5
-7
0
0
0
0
0
0
-29
-58
21
0
0
0
10
0
0
6
-100
39
0
0
0
0
0
-1
9
-23
37
0
0
0
-4
0
3
18
-35
46
0
0
0
0
0
0
5
-9
19
0
0
0
-36
0
0
-8
-15
52
0
0
0
0
0
0
6
2
13
0
0
0
-1
0
-25
44
6
-20
0
0
0
0
0
-2
-41
-35
7
0
0
0
22
0
3
-5
11
15
0
0
0
0
0
-9
3
31
-32
0
0
0
-3
0
-7
-16
-44
38
0
0
0
0
0
-1
-11
-67
33
0
0
0
30
-1
-1
14
13
-31
0
0
0
0
0
-5
-4
-8
-43
0
0
0
-47
-4
40
-40
-42
30
0
0
0
0
1
1
-30
5
20
0
0
0
0
0
0
-17
5
42
0
0
0
0
1
-3
13
22
-40
0
0
0
0
0
-1
29
-36
-36
0
0
0
0
0
0
13
24
-12
0
0
0
0
0
-2
-1
-32
34
0
0
0
0
0
0
-2
-1
-5
0
0
0
0
0
-12
54
9
-49
0
0
0
0
0
2
-16
-62
31
0
0
0
0
0
0
-5
-23
2
0
0
0
0
0
8
5
-17
-30
0
0
0
0
0
0
-19
25
39
0
0
0
0
0
3
1
22
-59
0
0
0
0
0
0
-7
-22
-24
0
0
0
0
0
4
31
-49
-10
0
0
0
0
0
3
-5
21
-8
0
0
0
0
0
1
9
-83
30
0
0
0
0
0
0
2
-10
13
0
0
0
0
0
1
-19
-38
43
0
0
0
0
0
6
5
-46
77
0
0
0
0
0
0
-2
13
-52
0
0
0
0
0
0
-1
-48
46
0
0
0
0
0
0
0
-10
33
0
0
0
0
0
2
20
-24
44
0
0
0
0
0
0
26
37
-5
0
0
0
0
0
1
0
-5
-19
0
0
0
0
0
0
2
-20
-18
0
0
0
0
0
3
3
-46
13
0
0
0
0
0
0
16
-3
-9
0
0
0
0
0
-2
5
0
-4
0
0
0
0
2
5
-1
-29
3
0
0
0
0
-42
-41
-39
2
24
0
0
0
0
3
3
-1
-11
14
0
0
0
0
0
0
25
25
9
0
0
0
0
0
0
11
-28
13
0
0
-19
-18
0
0
28
-3
23
0
0
0
0
0
0
-29
-21
24
0
0
0
0
0
-4
-21
5
-26
0
0
0
0
0
0
2
10
-21
0
0
21
0
0
-2
-13
1
15
0
0
0
0
0
0
-9
-13
48
0
0
0
0
0
0
7
-44
7
0
0
0
0
0
1
39
-91
54
0
0
-23
0
0
0
35
-58
35
0
0
0
0
0
-8
-8
-15
48
0
0
0
0
0
1
29
-44
3
0
0
0
0
0
-1
7
69
-4
0
0
-3
0
0
-7
8
-68
29
0
0
0
0
0
-1
-11
-28
32
0
0
0
0
0
0
24
14
-22
0
0
0
0
0
0
0
-62
-4
0
0
-74
1
0
0
-13
51
40
0
0
0
0
0
-1
30
-9
43
0
0
0
0
0
1
-9
66
-21
0
0
0
0
0
0
10
-42
5
0
0
2
0
0
-6
-1
13
29
0
0
0
0
0
1
44
-52
-5
0
0
0
0
0
0
25
-48
46
0
0
0
0
0
1
-41
27
16
0
0
4
0
0
0
19
1
-16
0
0
0
0
0
3
49
-47
-24
0
0
0
1
0
0
27
-9
-13
0
0
0
0
0
5
2
-59
-16
0
0
100
45
-3
10
-4
3
-2
0
0
0
0
19
1
-12
-24
10
0
0
0
0
0
-1
41
-75
9
0
0
0
0
0
0
-8
63
-8
0
0
0
0
0
1
91
-29
11
0
0
0
0
0
-5
8
-23
90
0
0
0
0
0
3
-5
-14
57
0
0
0
0
0
0
-2
46
15
0
0
0
0
0
-1
47
-56
-14
0
0
0
0
0
-13
-26
12
32
0
0
0
0
0
-3
0
44
-33
0
0
0
0
0
2
-22
-31
15
0
0
0
0
0
4
-51
-25
27
0
0
0
0
-1
-4
2
1
65
0
0
0
0
0
0
-10
-5
55
0
0
0
0
0
-13
0
5
13
0
0
0
0
-1
31
0
-45
3
0
0
0
0
-1
-4
65
-79
-14
0
0
0
0
0
-2
-8
-22
66
0
0
0
0
0
-2
-34
10
8
0
0
0
0
0
0
37
56
-43
0
0
0
0
0
6
-18
2
42
0
0
0
0
0
-1
10
9
-15
0
0
0
0
0
1
5
-10
-23
0
0
0
0
0
-12
-10
2
43
0
0
0
0
-35
-5
-20
13
73
0
0
0
0
0
0
5
-7
59
0
0
0
0
0
1
-35
5
42
0
0
0
0
0
23
-13
20
-9
0
0
0
0
0
1
3
28
-5
0
0
0
0
0
0
9
-5
-25
0
0
0
0
-4
-20
41
45
-19
0
0
0
0
32
-20
52
-93
7
0
0
0
0
0
0
-3
-6
15
0
0
0
31
0
0
-5
5
2
0
0
0
0
0
0
-4
-107
50
0
0
0
0
0
0
-9
-23
7
0
0
0
0
0
0
5
16
11
0
0
0
0
0
0
42
22
25
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
8
-55
29
0
0
0
0
0
0
7
-21
21
0
0
0
-2
0
0
2
-15
20
0
0
0
0
0
-1
9
-16
9
0
0
0
0
0
0
10
9
2
0
0
0
0
0
0
-1
-6
63
0
0
0
1
0
0
0
-2
-41
0
0
0
0
0
0
5
-5
39
0
0
0
0
0
1
45
-2
-3
0
0
0
0
0
0
-6
-17
17
0
0
0
25
0
-1
-42
-5
46
0
0
0
0
0
0
2
18
-20
0
0
0
0
0
0
-18
-38
12
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
-5
25
42
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
-5
-5
0
0
0
0
0
0
0
0
-38
0
0
0
-5
0
0
10
2
-20
0
0
0
0
0
-2
-8
-57
62
0
0
0
-2
0
0
-23
-42
76
0
0
0
0
0
0
-31
8
6
0
0
0
-34
0
0
-1
14
-67
0
0
0
0
-2
0
-39
6
40
0
0
0
-8
0
16
-45
-19
1
0
0
0
0
1
-3
2
-12
28
0
0
0
0
0
0
0
-30
-14
0
0
0
0
0
0
-9
-16
49
0
0
0
0
0
0
9
-22
-44
0
0
0
0
0
-1
1
2
41
0
0
0
0
0
0
1
-3
-24
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
15
-7
3
0
0
0
0
0
0
0
13
-25
0
0
0
0
0
0
1
-4
29
0
0
0
0
0
0
1
12
-25
0
0
0
0
0
0
31
2
42
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
2
-18
0
0
0
0
0
0
0
0
17
0
0
0
0
0
5
-23
-3
-41
0
0
0
0
0
-4
6
-14
7
0
0
0
0
0
0
0
-31
77
0
0
0
0
0
0
2
8
-8
0
0
0
0
0
0
0
-68
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
-4
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-16
1
0
0
0
0
0
1
3
2
-13
0
0
0
0
0
0
0
-3
-14
0
0
0
0
0
0
-8
0
-12
0
0
0
0
0
0
-1
35
-3
0
0
0
0
0
0
-13
-8
37
0
0
0
0
0
-4
0
1
45
0
0
0
0
-1
0
1
3
6
0
0
0
0
5
-24
32
8
19
0
0
0
0
0
-32
112
-60
7
0
0
0
0
0
3
-1
-30
-12
0
0
0
0
0
5
-4
13
-3
0
0
-3
0
0
5
62
22
-15
0
0
0
0
0
0
-3
-25
17
0
0
0
0
0
0
49
-18
31
0
0
0
0
0
0
38
13
-76
0
0
0
0
0
-22
5
-30
15
0
0
0
0
0
-7
47
9
2
0
0
0
0
0
0
10
-30
11
0
0
0
0
0
3
-31
2
23
0
0
0
0
0
-7
7
-15
13
0
0
0
0
0
-1
1
-2
22
0
0
0
0
0
3
-17
-4
-8
0
0
0
0
0
-2
-13
-24
42
0
0
0
0
0
-58
-58
69
23
0
0
0
0
0
3
-63
66
-19
0
0
0
0
0
0
-8
-19
40
0
0
0
0
0
-2
-9
-16
34
0
0
4
0
0
-2
-9
4
12
0
0
0
0
0
5
13
-46
26
0
0
0
0
0
-1
12
8
-3
0
0
0
0
0
0
-29
17
-6
0
0
0
0
0
-32
25
-31
30
0
0
0
0
0
-1
-32
-14
6
0
0
0
0
0
2
8
-41
-40
0
0
0
0
0
-1
2
-28
46
0
0
2
0
0
-7
-8
27
24
0
0
0
0
0
7
-27
21
-7
0
0
0
1
0
-2
1
53
-17
0
0
0
0
-4
31
-28
-9
31
0
0
-33
0
0
-41
-19
3
8
0
0
0
0
4
-12
-5
43
26
0
0
0
0
0
0
-13
-1
60
0
0
0
0
0
3
-5
-46
-2
0
0
0
0
0
8
31
-91
0
0
0
0
0
0
9
24
16
-38
0
0
0
0
0
5
-13
-67
79
0
0
0
0
0
4
-27
-17
77
0
0
0
0
0
23
-39
7
13
0
0
0
0
40
-16
-31
0
19
0
0
0
0
0
6
-1
44
-45
0
0
0
0
-1
8
-19
-78
23
0
0
0
0
0
-8
-6
-49
70
0
0
0
0
0
0
-2
3
1
0
0
0
0
0
1
7
-3
0
0
0
0
0
5
6
-7
-7
52
0
0
0
0
-1
-6
42
38
-45
0
0
0
0
-13
33
-28
-9
11
0
0
0
0
0
8
-5
3
16
0
0
0
0
0
2
13
35
42
0
0
0
0
0
-2
16
24
9
0
0
0
0
1
-23
-4
-15
36
0
0
0
0
0
1
16
14
-7
0
0
0
0
0
0
1
-5
45
0
0
0
0
1
-42
66
-59
18
0
0
0
0
-22
-5
0
5
17
0
0
0
0
0
-1
2
-13
-61
0
0
0
0
0
-4
-2
-29
54
0
0
0
0
0
-7
34
-9
63
0
0
0
0
12
-10
3
-24
-9
0
0
0
0
0
-4
-5
-44
72
0
0
0
0
-9
-22
32
60
-14
0
0
0
0
51
31
28
-22
-16
0
0
0
0
0
0
-31
-19
22
0
0
0
-23
0
4
-5
5
8
0
0
0
0
0
0
0
5
37
0
0
0
7
0
0
-5
9
0
0
0
0
0
0
0
5
-33
82
0
0
0
4
0
0
1
-8
68
0
0
0
0
0
0
0
-13
5
0
0
0
0
0
0
46
-12
-11
0
0
0
0
0
0
-8
13
57
0
0
0
-31
0
0
0
-4
-26
0
0
0
0
0
2
6
-19
8
0
0
0
-3
0
2
-39
-40
43
0
0
0
0
0
0
0
-4
-7
0
0
0
-2
0
0
0
3
43
0
0
0
0
0
-4
1
-4
30
0
0
0
-1
0
3
5
-41
9
0
0
0
0
0
0
8
1
21
0
0
0
17
0
1
-1
-39
-26
0
0
0
0
0
0
0
19
10
0
0
0
0
0
0
7
-58
-15
0
0
0
0
0
0
1
-9
-2
0
0
0
3
0
0
0
-19
-18
0
0
0
0
0
0
0
-34
18
0
0
0
0
0
0
-1
6
30
0
0
0
0
0
0
1
-9
74
0
0
0
18
0
-1
1
-21
-34
0
0
0
0
0
0
1
-27
59
0
0
0
0
0
0
-8
-13
-6
0
0
0
0
0
-2
-2
-12
-18
0
0
0
9
0
-1
2
45
-36
0
0
0
0
0
-1
0
-18
32
0
0
0
5
-5
42
22
-39
-3
0
0
0
0
1
6
5
-19
-6
0
0
0
0
0
0
2
2
33
0
0
0
0
0
-2
-2
-41
5
0
0
0
0
0
0
-34
25
-31
0
0
0
0
0
0
0
13
31
0
0
0
0
0
0
-6
15
-9
0
0
0
0
0
0
0
-14
-3
0
0
0
0
0
0
-25
28
42
0
0
0
0
0
3
-3
10
19
0
0
0
0
0
0
0
-59
74
0
0
0
0
1
0
1
2
-16
0
0
0
0
0
0
-7
-5
10
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-14
5
0
0
0
0
0
3
-7
-5
10
0
0
0
0
0
0
8
-5
31
0
0
0
0
0
0
2
-66
2
0
0
0
0
0
-2
0
16
0
0
0
0
0
0
0
-6
-41
-8
0
0
0
0
0
0
0
5
39
0
0
0
0
0
0
0
-4
-49
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
-31
-1
20
0
0
0
0
1
-1
0
6
-15
0
0
0
0
0
0
-1
14
10
0
0
0
0
0
-1
-1
7
-3
0
0
0
0
0
1
-5
-17
1
0
0
0
0
-1
0
0
-22
48
0
0
0
0
0
0
5
-41
61
0
0
0
0
-2
0
1
4
27
0
0
0
0
-10
-14
-68
-37
-22
0
0
0
0
0
3
18
-9
-39
0
0
0
0
0
0
-19
49
-38
0
0
0
0
0
0
4
-5
1
0
0
50
0
0
0
-11
-44
60
0
0
0
0
0
-1
5
13
3
0
0
0
0
0
0
-3
-2
-19
0
0
0
0
0
0
-5
-1
-21
0
0
0
0
0
5
19
47
-38
0
0
0
0
0
0
13
-30
67
0
0
0
0
0
0
0
23
39
0
0
0
0
0
0
10
-49
56
0
0
2
0
0
0
17
-10
-23
0
0
0
0
0
0
0
-7
14
0
0
0
0
0
0
2
-10
41
0
0
0
0
0
-1
8
0
-10
0
0
0
0
0
0
-22
49
-1
0
0
0
0
0
1
-4
-2
17
0
0
0
0
0
0
5
-11
-12
0
0
0
0
0
0
1
-49
12
0
0
-1
0
0
0
1
-59
-9
0
0
0
0
0
-2
-6
6
-7
0
0
0
0
0
0
-20
-44
42
0
0
0
0
0
0
2
31
-2
0
0
1
0
0
8
6
4
-33
0
0
0
0
0
0
0
-23
23
0
0
0
0
0
0
5
-47
-6
0
0
0
0
0
0
8
-48
-43
0
0
25
0
0
0
-10
-2
6
0
0
0
0
0
0
13
-15
30
0
0
0
1
0
0
-3
-25
-7
0
0
0
0
0
0
8
-43
5
0
0
-9
-19
3
-1
-8
-42
42
0
0
0
0
0
3
-8
-6
-20
0
0
0
0
0
2
-8
3
22
0
0
0
0
0
0
0
-59
52
0
0
0
0
0
0
28
-37
-20
0
0
0
0
0
-3
0
2
6
0
0
0
0
0
0
-4
1
31
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
27
-8
-33
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
-1
45
0
0
0
0
0
0
1
-2
-22
0
0
0
0
-1
-2
0
1
-8
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
1
0
-8
1
2
0
0
0
0
2
-8
18
8
-44
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
1
0
35
0
0
0
0
0
0
1
8
12
0
0
0
0
0
-1
0
-4
81
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
1
-1
6
0
0
0
0
0
0
0
24
13
-48
0
0
0
0
3
0
0
-2
25
0
0
0
0
0
0
1
3
-13
0
0
0
0
0
0
7
-7
3
0
0
0
0
0
0
6
-14
30
0
0
0
0
1
2
7
2
10
0
0
0
0
0
-1
2
-1
36
0
0
0
0
-1
0
3
-8
17
0
0
0
0
-29
-9
25
-63
-21
0
0
0
0
0
0
1
-43
53
0
0
0
0
0
0
-5
-9
16
0
0
0
0
0
0
5
-38
71
0
0
0
0
0
0
-30
-13
28
0
0
0
0
0
0
-5
-7
8
0
0
0
0
0
0
0
1
-28
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-2
10
17
-15
0
0
0
0
0
0
0
5
20
0
0
0
0
0
0
0
7
-13
0
0
0
0
0
0
0
-9
19
0
0
0
0
0
0
4
-23
5
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
0
-1
0
23
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
41
0
0
0
0
0
0
4
-16
-3
0
0
0
-1
0
0
-3
-34
2
0
0
0
0
0
0
-3
-6
27
0
0
0
0
0
0
-9
-5
-9
0
0
0
0
0
0
0
10
14
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
2
-4
5
0
0
0
0
0
0
0
-30
8
0
0
0
0
0
0
-2
2
25
0
0
0
0
0
0
-2
3
13
0
0
0
0
0
0
2
-13
1
0
0
0
0
0
0
0
-12
-8
0
0
0
0
0
-2
1
8
-5
0
0
0
0
0
0
0
-5
23
0
0
0
10
2
-21
-24
-6
19
0
0
0
0
-40
0
3
73
3
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
0
-27
22
0
0
0
0
0
-1
-3
-9
41
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-8
27
0
0
0
0
0
0
1
2
23
0
0
0
0
0
4
-31
-16
2
0
0
0
0
0
-2
1
0
-6
0
0
0
0
0
0
0
-3
36
0
0
0
0
-2
0
1
8
-13
0
0
0
0
0
0
-1
12
-6
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
2
-1
15
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
1
0
41
0
0
0
0
3
0
-4
-19
35
0
0
0
0
0
0
0
-5
-28
0
0
0
0
0
0
-1
-8
37
0
0
0
0
0
-1
-3
5
9
0
0
0
0
0
0
-1
-2
-49
0
0
0
0
0
0
-5
-2
-49
0
0
0
0
0
0
-1
9
-4
0
0
0
0
0
1
-5
-34
3
0
0
0
0
0
0
-1
1
37
0
0
0
0
0
-3
0
-5
-27
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-6
-5
-9
0
0
0
0
-1
3
-1
-8
2
0
0
0
0
0
-2
0
13
16
0
0
0
0
-7
0
1
20
-23
0
0
0
0
7
13
22
-66
-9
0
0
0
0
0
8
-5
45
-52
0
0
0
0
0
0
-49
-13
-1
0
0
0
0
0
0
6
40
-6
0
0
-1
0
0
0
9
32
33
0
0
0
0
0
2
3
-8
9
0
0
0
0
0
0
4
17
-31
0
0
0
0
0
0
32
-51
9
0
0
0
0
0
0
42
-19
-5
0
0
0
0
0
-16
7
5
-15
0
0
0
0
0
0
4
-10
49
0
0
0
0
0
2
-6
37
-5
0
0
0
0
0
-1
-3
-2
-12
0
0
0
0
0
-5
0
1
22
0
0
0
0
0
-1
-1
4
13
0
0
0
0
2
-8
-2
-2
5
0
0
0
0
3
8
20
-53
5
0
0
0
0
0
13
0
11
44
0
0
0
0
0
0
27
-92
-5
0
0
0
0
0
4
-4
-18
10
0
0
0
0
0
1
21
-42
-30
0
0
0
0
0
-6
0
-3
-16
0
0
0
0
0
1
25
-4
-45
0
0
0
0
0
0
-6
20
-1
0
0
0
0
0
-7
25
-31
-14
0
0
0
0
0
5
-18
-27
41
0
0
0
0
0
0
7
-64
39
0
0
0
0
0
12
-16
20
-31
0
0
4
0
0
3
-15
-17
-22
0
0
0
0
0
4
-15
10
109
0
0
0
0
0
3
-7
-37
21
0
0
0
0
0
-4
6
-8
-19
0
0
22
3
-17
-49
17
-31
0
0
0
0
0
-63
36
15
-30
26
0
0
0
0
0
-6
2
-21
50
0
0
0
0
-1
0
-1
-25
4
0
0
0
0
0
8
3
-45
10
0
0
0
0
-3
-26
21
13
3
0
0
0
0
-1
-3
23
-27
3
0
0
0
0
1
5
-15
6
5
0
0
0
0
-2
-16
25
37
-3
0
0
0
0
-30
-13
-49
6
74
0
0
0
0
0
0
2
-43
-14
0
0
0
0
-3
-7
-12
31
16
0
0
0
0
0
6
43
-75
23
0
0
0
0
14
-2
0
5
-17
0
0
0
0
-2
2
0
8
30
0
0
0
0
6
-22
5
39
-37
0
0
0
0
-30
-24
90
-22
56
0
0
0
0
-26
-52
5
-24
5
2
0
0
0
0
4
-3
4
89
-4
0
0
0
8
-8
12
21
41
-6
0
0
0
0
-8
-1
23
15
-7
0
0
0
25
8
-42
6
43
-2
0
0
0
0
0
-8
39
69
4
0
0
0
1
-6
-2
63
-50
7
0
0
0
6
18
13
-18
-5
0
0
0
0
-10
15
7
-23
54
16
0
0
0
0
1
-16
5
4
22
0
0
0
-8
-2
-5
-72
31
14
0
0
0
0
16
16
31
4
25
0
0
0
65
-20
-25
-23
4
2
0
0
0
0
-3
1
19
51
21
0
0
0
2
24
-5
-50
75
-14
0
0
0
38
54
49
-101
12
9
0
0
0
0
1
13
35
-1
0
0
0
-18
0
0
1
2
41
0
0
0
0
0
0
5
-34
-14
0
0
0
7
0
0
-19
-102
-13
0
0
0
0
0
0
-2
-33
17
0
0
0
1
0
0
-1
5
53
0
0
0
0
0
0
-1
1
2
0
0
0
-4
0
0
19
19
-9
0
0
0
0
0
-1
1
-9
23
0
0
0
-11
0
-3
0
-97
51
0
0
0
0
0
0
0
-57
-3
0
0
0
0
0
1
-6
23
-16
0
0
0
0
0
0
0
9
-16
0
0
0
4
0
0
0
23
-38
0
0
0
0
0
0
0
-12
25
0
0
0
1
0
-29
-7
-2
6
0
0
0
0
0
0
3
-54
6
6
0
0
31
0
0
0
-35
31
-2
0
0
0
0
0
0
-30
7
-4
0
0
0
0
-2
-5
40
-137
17
0
0
0
0
0
0
-58
14
12
0
0
14
0
0
0
-41
91
-23
0
0
0
0
0
-2
3
3
3
0
0
0
0
0
-8
30
12
-14
0
0
0
-1
0
2
70
-32
-8
0
0
-15
0
0
-3
5
51
-9
0
0
0
0
0
-2
-11
5
-6
0
0
-27
0
-1
-8
-93
86
11
0
0
0
0
0
0
19
34
-3
0
0
41
0
-1
2
-5
-38
13
0
0
0
3
0
0
-38
87
-24
0
0
119
-2
-25
19
-27
-32
-3
0
0
0
2
0
0
-51
21
0
0
0
0
0
0
0
-45
35
0
0
0
0
0
-1
0
31
-13
0
0
0
0
0
0
0
5
-32
0
0
0
0
0
0
-2
7
-2
0
0
0
0
0
0
0
7
5
0
0
0
0
0
-3
0
-6
2
0
0
0
0
0
2
-44
0
9
0
0
0
0
0
0
4
3
21
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
1
4
8
0
0
0
0
0
-3
-4
-9
10
0
0
0
0
0
0
0
-25
9
0
0
0
0
0
-1
1
-17
-15
0
0
0
0
0
-4
0
8
-7
0
0
0
0
1
-1
-5
-19
66
0
0
0
0
6
0
1
-43
42
-2
0
0
0
0
0
0
1
14
-9
0
0
0
0
0
-3
20
-10
-15
0
0
0
0
0
-3
-20
21
-2
0
0
0
0
0
0
8
-8
-11
0
0
0
0
0
1
8
23
-13
0
0
0
0
0
-1
-8
0
29
0
0
0
0
0
-30
24
2
-24
0
0
0
0
-1
0
-47
120
-18
0
0
0
0
0
0
14
2
-39
0
0
0
0
1
0
3
17
-52
0
0
0
0
-1
-5
-21
5
22
0
0
0
0
0
0
5
-21
28
0
0
0
0
0
5
-28
27
-39
0
0
0
0
-6
0
24
-4
5
0
0
0
21
12
23
-25
23
-8
0
0
0
0
0
5
-25
-3
0
0
0
0
0
-2
4
-83
33
0
0
0
0
0
0
7
19
5
0
0
-23
0
0
-1
1
6
35
0
0
0
0
0
-1
17
-27
-9
0
0
0
0
0
0
-8
5
14
0
0
0
0
0
1
4
-13
0
0
0
0
0
0
-1
-6
-22
41
0
0
0
0
0
-2
4
-16
8
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
2
1
9
13
0
0
17
0
0
4
3
23
-7
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
-41
-2
0
0
0
0
0
-6
-16
-57
11
0
0
0
0
0
0
31
-20
84
-11
0
0
0
0
0
-8
-80
-32
19
0
0
0
0
2
-3
-84
-6
16
0
-12
0
0
1
10
-34
6
-13
0
0
0
0
0
-2
-50
21
21
0
0
0
0
0
5
-25
-30
7
0
0
0
0
0
0
8
0
-25
0
63
0
0
0
-24
-80
-6
2
0
0
0
0
0
-10
35
-53
23
0
0
0
0
0
3
-18
10
-18
0
0
0
0
0
8
4
-15
29
0
2
0
0
-1
3
33
-43
14
0
0
0
0
0
-2
36
32
-66
0
0
0
0
0
3
9
10
-47
0
0
0
0
0
-4
-65
20
33
0
58
-1
1
-41
-3
36
132
-39
0
0
0
6
2
-44
-44
89
0
0
0
0
0
0
0
5
35
0
0
0
0
-1
-3
-30
15
-15
0
0
0
0
0
6
-14
-9
76
0
0
0
0
0
-2
0
-2
-32
0
0
0
0
0
0
-7
-2
46
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
-3
-42
8
6
0
0
0
0
3
0
1
-13
32
0
0
0
0
0
0
-1
-4
38
0
0
0
0
0
0
-3
2
13
0
0
0
0
0
2
9
8
-38
0
0
0
0
0
-2
4
0
25
0
0
0
0
0
0
0
2
-5
0
0
0
0
2
0
-2
3
8
0
0
0
0
-4
-13
49
7
-26
0
0
0
0
-2
1
-7
-3
-46
7
0
0
0
0
0
2
-11
27
-12
0
0
0
0
0
13
2
-19
6
0
0
0
0
-8
-3
14
62
-57
0
0
0
0
-4
0
-3
-49
21
0
0
0
0
2
-1
0
-8
-12
0
0
0
-6
-1
1
3
-3
3
0
0
0
0
6
12
-33
-8
10
0
0
0
0
1
2
-5
56
13
0
0
0
0
0
2
-18
19
36
0
0
0
0
0
3
5
9
23
0
0
0
0
-4
-3
-19
-46
54
0
0
0
0
0
0
4
6
22
0
0
0
0
0
1
-41
15
12
0
0
0
-5
0
0
-5
6
-47
0
0
0
-8
62
44
-44
40
-11
0
0
0
0
-1
8
10
-7
0
0
0
-4
0
0
2
-42
60
0
0
0
0
0
0
-10
0
42
0
0
0
0
0
0
-4
-35
64
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
-3
-15
-1
5
0
0
0
0
0
0
3
6
-11
0
0
0
0
0
0
0
-20
61
0
0
0
0
0
0
5
-3
21
0
0
0
0
0
0
-2
10
5
0
0
0
0
0
0
0
-5
-6
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
2
3
-1
-20
0
0
0
0
0
0
0
-3
28
-3
0
0
0
0
0
0
9
31
16
0
0
0
0
0
-1
-6
16
-56
0
0
0
0
0
3
-9
-13
13
0
0
0
0
0
1
0
-18
-1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
8
-43
0
0
0
0
1
-1
0
0
-95
0
0
0
0
0
0
24
-77
1
0
0
3
0
0
-10
-6
7
-16
0
0
0
0
0
-2
-5
-49
66
0
0
0
0
0
0
6
-14
-13
0
0
0
0
0
0
0
-17
-13
0
0
-4
0
0
1
0
-13
-50
0
0
0
0
0
2
-5
7
-50
0
0
27
1
0
9
5
64
-22
0
0
0
-2
0
-1
-25
10
0
0
0
0
0
0
2
-25
-30
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-3
-63
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-5
1
0
0
0
0
0
0
2
-4
12
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
3
-12
0
0
0
0
0
0
1
0
14
8
0
0
0
0
0
-1
2
-36
35
0
0
0
0
0
0
3
-27
-2
0
0
0
0
0
0
24
0
-36
0
0
0
0
0
0
0
6
-14
0
0
0
0
0
0
0
-1
-29
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
5
0
-57
0
0
0
2
0
1
2
-5
-16
0
0
0
0
0
0
1
-8
44
0
0
0
0
0
0
-1
4
-33
0
0
0
0
0
-4
-1
-1
-81
0
0
0
0
0
0
-8
2
-77
0
0
0
0
0
0
-1
-2
12
0
0
0
1
0
0
3
0
10
0
0
0
-8
4
-18
-5
-44
6
0
0
0
0
5
-14
19
-35
0
0
0
0
0
0
0
-58
-12
0
0
0
0
0
-1
9
-34
4
0
0
-1
0
0
0
18
-42
9
0
0
0
0
0
3
-3
0
1
0
0
0
0
0
0
3
-2
13
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-51
7
7
0
0
0
0
0
1
-4
16
13
0
0
0
0
0
0
4
7
6
0
0
0
0
0
1
-10
-8
15
0
0
0
0
0
4
-15
2
0
0
0
0
0
0
0
-3
0
-19
0
0
0
0
0
0
-7
1
4
0
0
0
0
0
0
-5
0
-5
0
0
0
0
0
3
18
-39
8
0
0
0
0
1
2
1
16
50
-31
0
0
0
0
0
0
-23
63
15
0
0
0
0
-2
2
-8
-14
29
0
-1
0
0
1
-6
27
2
9
0
0
0
0
0
1
3
-15
-37
0
0
0
0
0
0
5
-2
10
0
0
0
0
1
0
-2
0
-44
0
0
0
0
0
5
2
1
-68
0
0
0
0
0
1
-16
48
-23
0
0
0
0
0
1
-14
5
-23
0
0
0
0
0
4
-2
-6
-24
0
-2
0
0
0
8
-6
3
-8
0
0
0
0
-1
2
-4
-15
-66
0
0
0
0
0
6
-24
-4
-18
0
0
0
0
0
4
0
3
-20
0
-30
-1
0
-8
-22
10
32
-46
0
0
0
5
-48
19
7
38
0
0
0
0
0
0
-2
-36
24
0
0
0
0
0
-2
5
-41
14
0
0
0
0
1
0
49
-57
30
0
0
0
0
1
-49
-18
60
0
0
0
0
0
0
-1
-25
9
50
0
0
0
0
0
12
0
-4
-5
0
0
0
0
0
12
8
-66
0
0
0
0
0
-3
8
23
-18
-42
0
0
0
0
0
3
0
34
17
0
0
0
0
0
-6
-1
2
-9
0
0
0
0
0
1
10
8
26
0
0
0
0
0
1
-8
-3
46
0
0
0
0
0
0
-5
8
6
0
0
0
0
-2
0
1
0
-3
0
0
0
0
13
41
1
-1
-4
0
0
0
0
48
4
-16
-87
63
9
0
0
0
0
0
3
-10
39
36
0
0
0
0
0
-2
9
-13
4
0
0
0
0
-4
49
9
-6
8
0
0
0
5
8
12
8
-58
25
0
0
0
-1
4
2
-2
22
16
0
0
0
0
4
0
-13
-8
-22
0
0
0
0
35
34
-19
-43
-23
0
0
0
10
-42
5
-9
43
-26
-1
0
0
0
0
3
-30
90
37
-3
0
0
0
2
-6
-8
33
-21
-1
0
0
0
-5
-20
-45
-26
-39
11
0
0
-54
-13
-2
8
13
-9
7
0
0
3
-1
27
-13
124
-59
-1
0
0
-5
2
0
2
41
0
-2
0
0
-2
70
23
42
-4
-31
14
0
0
0
0
-6
25
31
0
0
0
-11
0
2
1
-17
7
0
0
0
0
0
0
-7
-4
35
0
0
0
0
0
0
42
-3
-24
0
0
0
0
0
0
4
46
-5
0
0
0
1
0
0
3
-25
-4
0
0
0
0
0
0
2
-15
-31
0
0
0
0
0
-1
27
-60
60
0
0
0
0
0
-3
1
-6
22
0
0
0
0
0
0
0
-4
18
0
0
0
0
0
2
-4
-24
18
0
0
0
0
0
0
1
-29
29
0
0
0
0
0
0
0
-25
35
0
0
0
16
0
-3
1
-3
-37
0
0
0
0
0
4
0
-6
14
0
0
0
4
0
0
-3
49
-49
0
0
0
0
0
0
5
-22
51
9
0
0
-11
0
0
0
-34
-28
13
0
0
0
0
0
-1
-41
34
23
0
0
0
0
1
-7
-15
5
44
0
0
0
0
0
-4
0
34
-75
0
0
-6
0
0
-10
23
-5
12
0
0
0
0
0
-1
-7
21
-47
0
0
0
0
0
4
-56
37
-9
0
0
0
0
3
2
70
16
-16
-2
0
74
0
0
0
14
26
-153
-3
0
0
0
0
-7
16
56
-8
-15
0
-2
0
0
-2
-1
-20
-84
9
0
0
0
0
0
41
30
-92
-13
0
30
0
1
3
5
-17
18
-7
0
0
0
0
0
-4
16
103
-36
0
37
5
-4
-47
-55
-31
16
-25
0
0
0
1
-1
0
79
0
0
0
0
0
0
0
16
-10
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
-7
30
4
0
0
0
0
0
0
-1
-61
-2
0
0
0
0
0
0
-4
-9
9
0
0
0
0
0
-8
2
1
0
0
0
0
0
0
0
-41
-49
22
0
0
0
0
0
-4
5
5
-5
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
5
-16
-1
0
0
0
0
0
4
-6
3
5
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
-2
0
-8
-2
0
0
0
0
0
0
-1
-13
-50
15
0
0
0
0
0
-4
35
-81
16
0
0
0
0
0
-1
-16
24
13
0
0
0
0
-2
-1
5
-3
38
0
0
0
0
0
0
-9
10
40
0
0
0
0
0
0
-5
12
5
0
0
0
0
0
0
-3
-5
-39
0
0
0
0
0
0
14
-8
-21
0
0
0
0
3
0
-2
42
-60
-9
0
0
0
0
0
8
-14
50
2
0
0
0
0
0
29
-3
-22
12
0
0
0
0
-1
-41
-5
27
-7
0
0
0
0
0
1
-3
-27
26
0
0
0
0
1
-2
5
-23
8
0
0
-1
0
0
-4
8
-48
36
0
0
-1
33
25
20
-81
-35
1
0
0
0
0
-27
-39
33
0
0
0
0
0
0
0
-12
-8
0
0
0
0
0
0
8
20
-17
0
0
52
0
0
1
-13
5
-2
0
0
0
0
0
0
-17
-9
32
0
0
0
0
0
3
-8
-5
13
0
0
0
0
0
0
-1
5
-1
0
0
-4
0
0
1
-2
-7
16
0
0
0
0
0
0
3
-18
-8
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-1
-1
5
0
0
-2
0
0
-1
4
-39
0
0
0
0
0
0
-1
1
0
3
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
3
1
-8
0
0
0
0
0
0
2
-4
-4
3
0
0
0
0
0
0
0
22
44
-39
0
0
0
0
0
3
-40
54
8
0
0
0
0
-6
-6
-4
24
-29
0
33
0
0
3
-25
-31
27
11
0
0
0
0
0
-1
23
-9
27
0
0
0
0
0
1
1
10
9
0
0
0
0
0
0
-22
1
-66
0
-2
0
0
0
2
0
-1
-28
0
0
0
0
0
-6
29
0
-130
-13
0
0
0
0
3
-13
19
-60
15
0
0
0
3
0
0
0
-37
1
56
0
0
0
-2
-56
17
13
2
0
0
0
0
0
0
-5
28
-15
0
0
0
0
0
-5
-7
32
5
0
0
0
0
3
7
0
-79
-9
-100
-5
2
-25
45
-56
-9
15
-16
0
0
71
21
-30
-59
25
0
0
0
0
0
0
0
-21
-5
0
0
0
0
-1
-3
34
-8
34
0
0
0
0
0
4
-9
-43
5
0
0
0
0
0
1
-6
-21
8
0
0
0
0
0
0
9
4
-50
0
0
0
0
0
-2
-6
15
5
0
0
0
0
0
-20
61
-19
0
0
0
0
0
-19
2
2
19
1
0
0
0
0
0
0
1
-28
75
0
0
0
0
3
-8
-8
44
-42
0
0
0
0
0
-9
2
6
-10
0
0
0
0
0
-4
-2
0
5
0
0
0
0
0
2
-6
-2
20
0
0
0
0
1
-18
0
12
9
0
0
0
0
-1
41
-61
9
-48
0
0
0
0
1
5
27
14
-23
-17
0
0
0
0
0
1
3
30
18
0
0
0
1
0
3
7
-13
-18
0
0
0
0
0
30
-42
53
-24
0
0
0
-4
-6
0
-29
8
44
0
0
0
0
-1
0
-22
15
37
0
0
0
7
4
0
-8
2
-16
0
0
0
-4
8
1
-8
20
-102
0
0
0
13
0
2
8
-80
11
6
0
0
0
0
-3
9
41
-51
-29
0
0
-3
0
0
-8
-19
-78
52
0
0
0
3
-3
4
42
-43
-20
0
0
-5
1
0
1
39
10
27
0
0
0
-1
-9
25
22
-28
20
0
0
2
2
-3
-9
3
-91
46
0
0
-23
22
-13
2
41
-22
-30
0
0
0
-2
0
-3
8
0
0
0
-10
0
0
-4
-78
35
0
0
0
0
0
0
-6
48
13
0
0
0
0
0
5
-28
-30
51
0
0
0
0
0
0
-4
-31
48
0
0
0
0
0
0
-2
-24
-24
0
0
0
0
0
-3
-3
0
-3
0
0
0
0
0
0
-9
-10
-3
0
0
0
0
0
1
0
0
-22
0
0
0
-5
0
0
0
14
26
0
0
0
0
0
0
3
-13
50
0
0
0
0
0
0
0
16
-44
0
0
0
0
0
0
0
-1
6
0
0
0
-3
0
0
-3
1
17
0
0
0
0
0
0
0
0
23
0
0
0
0
0
-6
19
-1
-16
0
0
0
0
0
0
0
1
41
-20
0
0
-22
0
0
-1
-18
21
32
0
0
0
0
0
-2
-2
-2
-31
0
0
0
0
0
8
-2
-4
-49
0
0
0
0
0
-2
-7
-14
25
0
0
5
0
0
-2
-3
16
20
0
0
0
0
0
0
2
3
-32
0
0
0
0
0
0
-14
8
-9
0
0
0
0
0
0
-17
28
-30
-21
0
-23
0
0
0
43
21
-82
43
0
0
0
-1
0
1
8
-3
-13
0
6
0
0
-3
-1
-24
-22
-26
0
0
0
0
0
-3
21
5
-25
0
28
0
3
0
0
-3
-41
-5
0
0
-7
0
1
-4
-3
-53
13
0
-65
1
-9
-3
-63
48
2
-15
0
0
0
-8
-13
-23
59
0
0
0
0
0
0
-1
-44
6
0
0
0
0
0
0
0
-3
54
0
0
0
0
0
-1
-22
-84
13
0
0
0
0
0
5
-6
19
-14
0
0
0
0
0
0
-8
1
54
0
0
0
0
0
-5
0
0
7
0
0
0
0
0
-33
62
-37
-2
0
0
0
0
2
1
0
-8
25
0
0
0
0
0
0
2
-22
1
0
0
0
0
2
0
-2
9
-55
0
0
0
0
0
2
4
-15
-13
0
0
0
0
2
-1
0
1
-1
0
0
0
0
0
0
0
-8
-20
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
-21
16
20
-54
0
0
0
0
-3
1
-3
5
32
-20
0
0
0
0
0
-1
-19
27
-10
0
0
0
0
0
3
-2
-7
21
0
0
0
0
0
-5
-9
5
-70
0
0
0
0
0
0
-15
5
-7
0
0
0
0
0
-1
6
-29
-38
0
0
0
0
1
0
-1
4
30
0
0
0
-3
8
1
5
1
-44
0
0
0
5
0
0
-8
4
-24
7
0
0
0
-1
-1
-6
64
-31
-16
0
0
0
-1
-12
6
32
-34
-1
0
0
0
-1
5
-7
9
3
-29
0
0
0
0
0
-1
4
-63
41
0
0
1
0
-3
-2
2
-77
20
0
0
10
-4
0
2
0
-4
13
0
0
-2
-29
-9
5
-19
9
21
0
0
47
-17
-5
7
17
0
0
0
42
-8
59
-7
-21
2
0
0
0
0
-92
-38
14
34
61
0
0
29
-37
15
-80
-16
-19
58
0
0
0
0
54
42
1
-57
-4
0
0
0
19
27
-43
-33
-15
26
0
0
0
0
5
-45
-31
35
9
0
0
-58
47
10
2
-25
45
23
0
0
0
0
5
23
44
-24
-5
0
0
0
-30
-5
0
49
-40
-52
0
0
0
0
25
-21
28
-12
-25
0
0
11
4
0
-33
-22
-48
48
0
0
0
0
-75
-25
62
12
50
0
0
0
-13
3
-32
25
18
-37
0
0
0
0
-5
1
-4
15
-10
0
0
68
17
-18
13
-43
-22
-36
0
0
0
0
-14
85
39
22
-33
6
0
0
-7
-30
-15
17
61
-18
19
0
0
0
-23
46
65
-6
-58
-4
0
1
52
7
-1
3
30
-4
-18
0
0
0
-6
13
11
-15
27
-44
0
0
-21
17
34
-36
-88
-45
-44
0
0
0
32
-15
9
22
-41
-9
0
39
-34
-1
70
17
-64
-13
-36
0
0
0
40
-118
-50
-53
21
-31
7
0
26
-1
-42
48
6
13
-25
-10
0
0
33
-7
-13
-18
18
-66
10
-90
39
6
-9
-54
-12
-22
-21
12
0
0
24
55
0
95
-4
-42
-3
0
-5
-15
-12
-28
-61
-8
7
-13
0
0
61
-13
10
-67
-15
-76
14
30
-39
-87
41
6
-55
8
-53
-28
0
0
28
-21
-8
-18
16
0
0
0
0
0
0
-12
19
13
0
0
0
0
-1
0
9
-7
5
0
0
0
0
0
0
4
-56
22
0
0
0
0
0
0
0
-14
5
0
0
0
0
0
0
1
2
-6
0
0
0
0
0
-8
-12
-2
98
0
0
0
0
0
42
21
9
-26
0
0
0
0
-18
15
-2
-24
22
0
0
0
0
0
1
-2
-48
34
0
0
0
0
1
-7
-2
-6
35
0
0
0
0
0
-5
-12
-27
25
0
0
0
0
-2
1
0
0
16
0
0
0
0
0
0
-1
4
9
0
0
0
0
0
14
0
-10
15
0
0
0
0
3
-11
73
-31
-35
0
0
0
0
23
-36
9
-5
-17
0
0
0
0
0
0
0
-17
74
0
0
0
0
0
4
2
33
-42
0
0
0
0
0
13
-11
11
-14
0
0
0
0
-30
6
-1
-48
44
0
0
0
0
-1
0
5
19
39
0
0
0
0
5
-5
-24
19
20
0
0
0
0
-2
-2
22
-25
72
0
0
0
0
3
12
43
-31
26
0
0
0
0
0
2
2
-4
43
0
0
0
0
-3
-33
6
-30
24
0
0
0
0
0
3
6
4
20
0
0
0
0
-15
34
1
49
-59
0
0
0
0
4
-1
17
-11
-12
0
0
0
0
29
-31
-5
-25
40
0
0
0
0
-31
20
3
-46
-6
0
0
0
0
0
0
0
-2
12
0
0
0
-5
0
0
0
-9
25
0
0
0
0
0
0
-1
-23
17
0
0
0
1
0
0
0
45
-30
0
0
0
0
0
0
-5
-12
32
0
0
0
0
0
1
-3
44
8
0
0
0
0
0
0
0
16
-28
0
0
0
0
0
0
-6
-35
44
0
0
0
0
0
0
2
-13
30
0
0
0
-12
0
2
0
9
6
0
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
-1
-23
8
0
0
0
0
0
0
0
2
45
0
0
0
1
0
-1
0
20
22
0
0
0
0
0
0
-1
21
25
0
0
0
0
0
-1
-6
-42
33
0
0
0
0
0
0
3
39
-14
0
0
0
-48
0
0
-3
-57
81
0
0
0
0
0
0
7
39
18
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
-26
4
0
0
0
-24
0
0
2
65
14
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
-5
-10
29
0
0
0
0
0
0
-2
-20
-4
0
0
0
72
0
0
0
-10
-40
0
0
0
0
0
0
-3
-69
42
0
0
0
-3
0
0
2
-38
-8
0
0
0
0
0
0
0
36
-30
0
0
0
47
0
-1
3
57
-73
0
0
0
0
0
0
0
-38
0
0
0
0
21
2
-31
-15
-42
19
0
0
0
0
0
1
0
13
-4
0
0
0
0
0
0
1
5
21
0
0
0
0
0
0
-2
-97
22
0
0
0
0
0
0
-63
13
60
0
0
0
0
0
0
0
-7
50
0
0
0
0
0
0
-7
31
20
0
0
0
0
0
0
-4
-5
26
0
0
0
0
0
-7
4
-14
-11
0
0
0
0
0
0
6
-25
-2
0
0
0
0
0
0
0
13
15
0
0
0
0
0
-3
1
-73
39
0
0
0
0
0
-1
-37
46
3
0
0
0
0
0
0
2
-1
39
0
0
0
0
0
0
2
-41
0
0
0
0
0
0
0
0
-5
-30
0
0
0
0
0
-1
0
-11
-8
0
0
0
0
0
-2
1
-47
50
0
0
0
0
0
0
3
-76
15
0
0
0
0
0
0
-6
-41
-6
0
0
0
0
0
0
-4
8
49
0
0
0
0
0
0
0
12
-11
0
0
0
0
0
0
-3
5
13
0
0
0
0
0
0
2
-3
37
0
0
0
0
0
-2
28
-12
10
0
0
0
0
0
0
-2
-20
18
0
0
0
0
0
0
-1
-40
44
0
0
0
0
0
0
-10
-70
67
0
0
0
0
0
0
-53
-42
101
0
0
0
0
0
0
3
13
8
0
0
0
0
0
-1
0
5
59
0
0
0
0
-7
1
0
-15
-9
0
0
0
0
1
-19
-12
41
-11
0
0
0
0
-1
-2
23
-31
25
0
0
0
0
0
0
28
19
-20
0
0
0
0
0
0
-22
33
-15
0
0
39
0
0
0
-15
19
-17
0
0
0
0
0
0
-37
7
48
0
0
0
0
0
0
16
-29
-27
0
0
0
0
0
0
-19
-11
29
0
0
0
0
0
-1
6
2
-11
0
0
0
0
0
2
31
-4
-2
0
0
0
0
0
0
-19
-16
17
0
0
0
0
0
0
-10
56
-22
0
0
7
0
0
2
4
31
-134
0
0
0
0
0
0
-1
-8
13
0
0
0
0
0
0
-13
72
6
0
0
0
0
0
0
-8
54
-14
0
0
0
0
0
4
-5
28
5
0
0
0
0
0
-1
-2
1
33
0
0
0
0
0
0
29
5
13
0
0
0
0
0
0
0
-58
78
0
0
-7
0
0
0
31
5
13
0
0
0
0
0
0
1
3
3
0
0
0
0
0
0
-73
-27
66
0
0
0
0
0
0
4
-12
14
0
0
-9
0
0
-3
7
0
34
0
0
0
0
0
0
23
-34
-20
0
0
0
2
0
0
-6
-15
41
0
0
0
0
0
0
23
-57
73
0
0
-4
0
0
0
45
-22
-4
0
0
0
0
0
0
-14
20
22
0
0
0
0
0
0
22
-29
12
0
0
0
0
0
0
39
-13
-22
0
0
26
1
-9
-19
17
-29
10
0
0
0
0
0
4
0
-43
7
0
0
0
0
0
0
-9
-39
30
0
0
0
0
0
0
-2
20
-2
0
0
0
0
0
8
11
-41
-16
0
0
0
0
0
0
-1
-1
-36
0
0
0
0
0
0
-4
23
35
0
0
0
0
0
0
1
3
-14
0
0
0
0
0
8
-4
-24
56
0
0
0
0
0
0
-2
1
13
0
0
0
0
0
0
0
-23
46
0
0
0
0
0
0
0
2
33
0
0
0
0
0
0
-5
-12
-8
0
0
0
0
0
0
-1
4
17
0
0
0
0
0
0
0
5
-18
0
0
0
0
0
-2
1
-5
5
0
0
0
0
0
-5
-27
25
56
0
0
0
0
0
-3
0
5
13
0
0
0
0
0
0
2
-25
69
0
0
0
0
0
0
6
7
0
0
0
0
0
0
-2
19
-53
-2
0
0
0
0
0
0
0
-1
-44
0
0
0
0
0
0
-8
22
-13
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
5
-25
4
0
0
0
0
0
0
5
5
-16
0
0
0
0
0
0
0
1
70
0
0
0
0
0
0
2
-8
8
0
0
0
0
0
0
2
-50
9
0
0
0
0
3
0
0
-7
30
0
0
0
0
0
0
4
-8
-36
0
0
0
0
0
0
5
-1
-27
0
0
0
0
-16
14
-14
48
39
0
0
0
0
0
0
7
-18
-28
0
0
0
10
0
0
3
-67
4
0
0
0
0
0
0
2
-12
47
0
0
0
0
0
0
-25
-24
49
0
0
0
0
0
0
0
22
-41
0
0
0
0
0
0
-18
-8
-8
0
0
0
0
0
0
-4
-2
28
0
0
0
0
0
1
-3
-6
-6
0
0
0
0
0
-1
1
-4
57
0
0
0
0
0
0
0
5
-11
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
1
4
7
8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
5
0
0
0
0
0
2
0
5
5
0
0
0
0
0
0
2
2
-2
0
0
0
0
0
0
-1
-9
5
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-2
-12
10
0
0
0
0
0
0
0
-13
31
0
0
0
0
0
0
0
8
-31
0
0
0
0
0
0
2
3
13
0
0
0
0
0
0
-2
-25
17
0
0
0
0
0
0
0
4
35
0
0
0
-1
0
0
-2
-4
-31
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-4
-1
22
0
0
0
0
0
0
0
-3
-8
0
0
0
-4
0
0
0
6
-13
0
0
0
0
0
0
-2
-7
16
0
0
0
22
4
-19
4
-49
-1
0
0
0
0
0
0
0
-37
91
0
0
0
0
0
0
-2
-8
23
0
0
0
0
0
0
0
45
-47
0
0
0
0
0
0
-3
-12
25
0
0
0
0
0
0
1
0
19
0
0
0
0
0
0
0
-14
25
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
13
16
13
0
0
0
0
0
-4
0
-4
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
4
-18
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
4
3
-1
-11
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-13
2
5
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
1
-35
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
8
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
-1
5
-12
0
0
0
0
0
0
3
-2
25
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
-2
6
0
0
0
0
0
0
-4
4
3
0
0
0
0
-3
0
0
2
8
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
4
34
-38
0
0
0
0
0
2
29
-51
22
0
0
0
0
0
5
-23
21
-9
0
0
0
0
0
1
-4
20
-17
0
0
0
0
0
-10
26
30
-20
0
0
0
0
0
-4
46
-23
22
0
0
0
0
0
-4
23
-35
26
0
0
0
0
0
2
29
-1
-51
0
0
0
0
0
16
4
1
50
0
0
0
0
0
6
-31
5
38
0
0
0
0
0
-2
-7
-8
31
0
0
0
0
0
8
-5
-19
70
0
0
0
0
0
24
28
-61
-26
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
2
20
-10
31
0
0
0
0
0
19
-7
0
-14
0
0
0
0
0
-26
-87
41
0
0
0
0
0
0
-7
39
-43
20
0
0
0
0
0
0
-5
0
-48
0
0
0
0
0
0
5
-8
-1
0
0
-4
0
0
-2
41
-14
5
0
0
0
0
0
-5
-43
16
-28
0
0
0
0
0
0
10
10
-12
0
0
0
0
0
0
-18
10
-15
0
0
0
0
0
-41
47
-49
32
0
0
0
0
0
8
8
17
-20
0
0
0
0
0
-5
-19
-9
65
0
0
0
0
0
2
3
-2
20
0
0
0
0
0
-2
-26
-13
64
0
0
0
0
0
0
28
-51
-28
0
0
0
0
0
-18
52
5
31
0
0
0
0
2
10
-24
-30
-24
0
0
7
-4
0
-31
-45
-28
12
0
0
0
0
1
-16
2
-13
30
0
0
0
0
0
0
0
-6
24
0
0
0
0
0
3
0
24
-22
0
0
0
0
0
-2
44
-11
-54
0
0
0
0
0
-1
0
2
31
0
0
0
0
0
0
9
-3
33
0
0
0
0
0
-2
1
-4
2
0
0
0
0
0
12
17
-31
-8
0
0
0
0
0
-7
-6
-1
24
0
0
0
0
0
0
1
-9
32
0
0
0
0
-2
-5
-1
16
22
0
0
0
0
0
1
-8
15
56
0
0
0
0
0
-3
-3
0
-7
0
0
0
0
0
-6
0
3
-1
0
0
0
0
0
-31
3
4
3
0
0
0
0
0
-5
-35
8
-16
0
0
0
0
0
-8
0
0
17
0
0
0
0
0
0
-2
-2
43
0
0
0
0
0
0
1
-6
7
0
0
0
0
0
-6
9
4
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-3
7
10
0
0
0
0
0
0
0
0
-50
0
0
0
0
-1
15
-25
42
-41
0
0
0
0
0
-41
0
0
-49
0
0
0
0
0
0
-2
8
-26
0
0
0
0
-4
0
0
4
-10
0
0
0
0
0
0
-1
-46
-25
0
0
0
0
0
1
0
3
3
0
0
0
0
1
0
0
-1
48
0
0
0
0
8
3
0
6
9
0
0
0
0
-1
-2
13
-32
14
0
0
0
0
0
0
0
-14
27
0
0
0
-4
0
0
-1
-62
41
0
0
0
0
0
0
0
-42
5
0
0
0
0
0
0
-8
-36
57
0
0
0
0
0
0
2
-3
-62
0
0
0
0
0
0
0
8
51
0
0
0
0
0
0
1
2
2
0
0
0
0
0
-2
4
8
0
0
0
0
0
0
0
4
-14
71
0
0
0
-1
0
0
-2
2
28
0
0
0
0
0
0
-6
14
-17
0
0
0
0
0
0
-4
-7
-15
0
0
0
0
0
0
2
-7
-21
0
0
0
1
0
0
0
12
22
0
0
0
0
0
0
0
-2
44
0
0
0
0
0
1
4
-4
-5
0
0
0
0
0
0
1
10
-1
0
0
0
-4
0
0
-3
1
28
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
7
8
0
0
0
0
0
0
-6
0
32
0
0
0
0
0
0
0
-6
45
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
1
5
-24
0
0
0
-15
0
0
0
-7
54
0
0
0
0
0
0
0
4
3
0
0
0
2
0
-1
0
-21
-9
0
0
0
0
0
0
0
0
41
0
0
0
3
0
0
0
-3
13
0
0
0
0
0
0
0
3
-6
0
0
0
7
0
9
-12
-54
3
0
0
0
0
0
3
0
34
-2
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
-3
-76
88
0
0
0
0
0
0
0
-17
27
0
0
0
0
0
0
-1
-5
25
0
0
0
0
0
0
0
12
-5
0
0
0
0
0
-3
7
0
-1
0
0
0
0
0
-2
0
-2
13
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
-1
-2
-7
41
0
0
0
0
0
0
-2
-8
24
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
5
23
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
-5
37
-5
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
-2
-5
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
2
0
-39
6
0
0
0
0
0
0
0
-4
11
0
0
0
0
0
0
0
16
-3
0
0
0
0
0
0
0
12
10
0
0
0
0
0
0
-1
48
-18
0
0
0
0
0
-1
0
12
2
0
0
0
0
0
0
0
4
22
0
0
0
0
0
0
0
-5
-14
0
0
0
0
30
46
-28
-50
-8
0
0
0
0
0
3
-17
32
-28
0
0
0
0
0
0
9
-39
10
0
0
0
0
0
0
-6
43
-1
0
0
-10
0
0
0
4
19
-20
0
0
0
0
0
1
-3
-6
30
0
0
0
0
0
0
0
12
-12
0
0
0
0
0
0
0
-10
18
0
0
0
0
0
-3
17
2
-17
0
0
0
0
0
-1
3
-3
-23
0
0
0
0
0
0
2
-10
21
0
0
0
0
0
-2
0
-59
43
0
0
0
0
0
-2
-25
35
-13
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-25
6
0
0
0
0
0
1
2
-2
14
0
0
0
0
0
25
42
-16
-5
0
0
0
0
0
1
8
-3
13
0
0
0
0
0
0
-1
-22
30
0
0
0
0
0
-1
-4
-2
18
0
0
0
0
0
3
-14
-13
0
0
0
0
0
0
0
0
-6
-20
0
0
0
0
0
0
1
4
-3
0
0
0
0
0
1
-3
5
0
0
0
0
0
0
-3
3
-42
31
0
0
0
0
0
0
-12
-21
12
0
0
0
0
0
0
2
4
17
0
0
0
0
0
-2
0
-43
3
0
0
1
0
0
0
6
-25
-9
0
0
0
0
0
0
1
-1
3
0
0
0
-1
0
0
3
13
-48
0
0
0
0
0
1
-3
-5
5
0
0
-45
1
1
-23
10
-88
41
0
0
0
0
0
6
0
-1
39
0
0
0
0
0
0
0
-31
-5
0
0
0
0
0
0
0
9
-16
0
0
0
0
0
0
-8
-10
8
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
5
-37
0
0
0
0
0
-1
0
-2
42
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
-6
9
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
1
26
0
0
0
0
0
0
0
-1
-47
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
2
1
-9
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
1
-57
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
-8
16
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
24
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
3
-8
0
0
0
0
0
0
0
2
25
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
-2
0
-3
0
0
0
0
35
-17
-29
-10
5
0
0
0
0
0
-2
-3
-2
8
0
0
0
1
0
0
0
-9
-4
0
0
0
0
0
0
2
-6
-42
0
0
0
0
0
0
-8
-13
1
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
9
17
0
0
0
0
0
0
0
0
9
0
0
0
0
0
1
4
6
8
0
0
0
0
0
0
0
-7
44
0
0
0
0
0
0
-1
-1
24
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
-1
-3
29
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-2
-1
-2
5
0
0
0
0
0
0
0
6
-40
0
0
0
0
0
0
1
12
-25
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-17
2
0
0
0
0
0
0
-1
-1
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-10
-4
0
0
0
0
0
0
0
0
28
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
-3
-2
4
0
0
0
3
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
0
5
-1
0
-92
-20
40
0
0
0
0
-16
-3
0
-7
14
0
0
0
0
0
0
-4
10
14
0
0
0
0
0
-1
-1
15
17
0
0
0
0
0
0
2
13
-13
0
0
0
0
0
0
-1
0
18
0
0
0
0
0
0
-1
4
49
0
0
0
0
0
-1
0
-3
1
0
0
0
0
0
0
-8
-8
31
0
0
0
0
0
3
0
0
-53
0
0
0
0
0
0
0
-8
22
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
4
0
-2
-8
0
0
0
0
0
0
2
-5
-13
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-24
40
0
0
0
0
0
0
0
5
9
0
0
0
0
0
-1
-6
5
7
0
0
0
0
0
1
1
-3
2
0
0
0
0
0
0
0
0
-22
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
0
5
16
0
0
0
0
1
-1
0
0
61
0
0
0
0
0
0
0
4
-5
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
3
-4
-4
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
-1
0
0
10
0
0
0
0
7
0
-5
-3
-3
0
0
0
0
-22
-9
-13
26
3
0
0
0
0
-1
31
-1
49
-23
0
0
0
0
0
0
0
-46
-8
0
0
0
0
0
-8
5
-31
-16
0
0
1
0
0
0
4
12
7
0
0
0
0
0
9
-9
-27
48
0
0
0
0
0
-4
-4
5
22
0
0
0
0
0
-8
1
0
5
0
0
0
0
0
-21
-15
-8
-4
0
0
0
0
2
50
24
-8
6
0
0
0
0
0
-2
-5
-29
6
0
0
0
0
0
10
1
-3
-36
0
0
0
0
0
-7
34
-75
-21
0
0
0
0
0
0
6
0
-5
0
0
0
0
0
-2
2
-10
37
0
0
0
0
0
23
1
-1
-3
0
0
0
0
0
-29
4
-53
68
0
0
0
0
0
-25
18
-41
21
0
0
0
0
0
-5
14
-25
30
0
0
0
0
0
-1
-1
-6
58
0
0
0
0
0
0
22
4
-65
0
0
0
0
0
-12
-17
29
-25
0
0
0
0
0
0
19
4
-19
0
0
0
0
0
-1
-1
2
15
0
0
0
0
0
66
-15
0
-41
0
0
0
0
-3
4
7
-9
17
0
0
0
0
0
-2
0
-8
8
0
0
0
0
0
35
-17
-41
32
0
0
4
0
0
-13
-17
45
-8
0
0
0
0
-3
-7
1
13
-14
0
0
0
0
-1
-9
-1
27
32
0
0
0
0
-1
17
10
-20
28
0
0
-2
1
2
-22
61
-27
20
0
0
0
0
-6
3
0
-15
21
0
0
0
0
0
0
0
-41
10
0
0
0
0
0
-1
2
-4
39
0
0
0
0
0
0
66
-71
-5
0
0
0
0
-1
-3
1
1
1
0
0
0
0
0
0
8
6
-6
0
0
0
0
0
0
0
3
3
0
0
0
0
0
22
-46
3
44
0
0
0
0
-4
1
0
-4
27
0
0
0
0
0
0
0
17
-10
0
0
0
0
0
2
-1
-13
-16
0
0
0
0
0
0
5
31
-5
0
0
0
0
0
-8
9
0
-17
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
3
0
0
-7
0
0
0
0
-4
17
21
9
-31
0
0
0
0
-2
1
0
-24
76
1
0
0
0
0
0
-2
-13
42
2
0
0
0
0
0
2
-10
51
2
0
0
0
0
0
0
-19
-3
-8
0
0
0
-1
0
0
-21
7
-3
0
0
0
-4
-1
-16
-42
33
19
0
0
0
0
3
-1
-4
-17
0
0
0
0
0
4
14
32
-41
2
0
0
0
0
-2
0
14
-40
10
0
0
0
0
0
0
41
11
-27
0
0
0
1
-1
0
-10
-11
23
0
0
0
0
1
14
72
32
-9
0
0
0
1
-3
-8
0
-3
9
0
0
0
3
0
-25
-5
52
-4
0
0
0
-28
-3
1
-30
-26
15
0
0
0
82
-11
50
-7
29
6
0
0
0
0
0
2
-52
37
0
0
0
-23
0
1
0
-34
37
0
0
0
0
0
0
-2
48
45
0
0
0
0
0
0
-24
-37
47
0
0
0
0
0
0
2
-13
-5
0
0
0
0
0
0
-3
27
-6
0
0
0
0
0
0
1
-5
-5
0
0
0
0
0
1
4
-16
30
0
0
0
0
0
0
0
25
-15
0
0
0
-1
0
0
0
-17
11
0
0
0
0
0
0
0
-8
-12
0
0
0
5
0
0
0
-23
1
0
0
0
0
0
0
0
5
35
0
0
0
4
0
0
0
-1
-17
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
-3
-2
9
-16
0
0
0
0
0
0
-1
-14
18
-1
0
0
7
0
0
0
6
-35
-6
0
0
0
0
0
0
31
19
4
0
0
0
0
0
4
-7
-31
-8
0
0
0
0
0
0
-56
46
3
0
0
6
0
0
0
-8
-44
37
0
0
0
0
0
0
4
9
-6
0
0
0
0
1
0
-42
-39
23
0
0
0
0
0
3
11
-17
21
0
0
-16
0
0
0
-11
-74
4
0
0
0
0
0
0
15
-2
-3
0
0
-11
0
0
0
-17
-41
45
0
0
0
0
0
0
-15
-5
5
0
0
1
0
0
0
-5
43
-4
0
0
0
0
0
0
-49
90
-24
0
0
5
-2
34
-8
-11
15
-3
0
0
0
0
2
0
8
22
0
0
0
0
0
0
0
11
-41
0
0
0
0
0
0
0
-42
18
0
0
0
0
0
0
2
-41
45
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
6
-3
30
0
0
0
0
0
0
0
10
-10
0
0
0
0
0
0
0
-13
-8
0
0
0
0
0
-1
0
-3
2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
-1
0
-3
8
0
0
0
0
0
-8
0
5
100
0
0
0
0
0
-4
-4
25
-24
-8
0
0
0
0
0
-2
-23
-5
8
0
0
0
0
0
0
33
-10
-23
0
0
0
0
0
3
-72
4
19
0
0
0
0
0
0
7
0
-2
0
0
0
0
0
-1
-24
-13
37
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
2
-16
6
22
0
0
0
0
0
0
10
53
-18
0
0
0
0
0
-1
16
-13
18
0
0
0
0
1
1
-9
3
13
0
0
0
0
-1
0
-13
5
-27
0
0
0
0
0
0
-8
24
2
0
0
0
0
0
0
13
25
-103
0
0
0
0
0
0
2
0
-6
0
0
0
-2
42
20
7
10
-10
0
0
0
0
1
-25
24
-9
0
0
0
0
0
0
-18
25
-24
0
0
0
0
0
0
8
-31
-4
0
0
-2
0
0
0
58
-11
-7
0
0
0
0
0
0
6
1
-2
0
0
0
0
0
0
0
15
-9
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
8
-5
0
0
0
0
0
0
0
0
-20
8
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
-2
-8
6
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
-1
9
14
-59
0
0
0
0
0
-3
14
-64
21
-11
0
0
0
0
0
-3
-8
-6
-1
0
0
0
0
0
2
4
8
18
0
-2
0
0
0
1
10
-31
0
0
0
0
0
0
-1
-5
5
-1
0
0
0
0
0
2
-44
8
3
0
0
0
0
0
0
0
0
-70
0
-1
0
0
0
-2
-1
-7
-15
0
0
0
0
0
7
-39
26
-25
0
0
0
0
0
0
13
-15
52
0
0
0
0
0
-4
35
8
-21
0
29
0
0
0
10
-34
-7
-37
0
0
0
0
0
1
-13
42
-21
0
0
0
0
0
-1
1
15
9
0
0
0
0
0
0
-49
2
-55
0
0
12
0
-47
-57
-8
51
10
0
0
0
0
0
-4
7
25
0
0
0
0
0
0
2
24
-4
0
0
0
0
0
0
0
-29
-4
0
0
0
0
0
0
17
-56
80
0
0
0
0
0
0
-2
1
5
0
0
0
0
0
0
8
-42
17
0
0
0
0
0
0
1
-2
-6
0
0
0
0
0
-1
16
-30
28
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
7
22
0
0
0
0
0
0
-5
3
-13
0
0
0
0
0
0
15
-13
15
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
6
-58
18
7
0
0
0
0
0
0
3
-31
-49
13
0
0
0
0
0
0
3
-53
-7
0
0
0
0
0
-6
9
2
-30
0
0
0
0
0
0
16
-10
22
0
0
0
0
0
0
0
14
-52
0
0
0
0
0
-1
3
13
-8
0
0
0
0
0
0
-6
-1
8
0
0
0
0
2
-1
-12
5
-29
0
0
0
0
0
0
1
-8
-8
0
0
0
0
0
0
1
43
-15
0
0
0
0
0
0
9
-4
-28
0
0
0
0
0
-2
10
10
-9
0
0
0
-2
0
0
2
-17
-41
0
0
0
0
0
1
-23
3
-8
0
0
0
0
0
0
9
7
-98
0
0
0
15
-15
-35
-1
-23
16
0
0
0
0
1
2
10
46
0
0
0
-1
0
0
-2
-37
64
0
0
0
0
0
0
1
-43
38
0
0
0
0
0
0
-1
-62
-5
0
0
0
0
0
0
0
9
28
0
0
0
0
0
0
0
-17
14
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
1
-3
12
-23
0
0
0
0
0
0
0
-2
43
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
5
0
-19
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
1
1
19
0
0
0
0
0
0
2
-4
24
0
0
0
0
0
0
0
-24
-22
11
0
0
0
0
0
0
-17
39
-38
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
5
12
-3
0
0
0
0
0
0
-6
-5
1
0
0
0
0
0
3
4
25
-45
0
0
0
0
0
0
-1
0
-28
0
0
0
0
0
0
-4
-43
39
0
0
0
0
0
-2
4
13
62
0
0
5
0
0
0
14
-13
24
0
0
0
0
0
0
5
2
13
0
0
0
0
0
0
1
-5
-26
0
0
0
0
0
-2
6
-25
-24
0
0
0
0
0
0
-9
0
34
0
0
0
0
-2
0
2
-5
19
0
0
35
-7
-5
45
-33
0
8
0
0
0
0
0
0
-25
31
0
0
0
0
0
0
0
16
24
0
0
0
0
0
0
0
-8
12
0
0
0
0
0
0
-4
-60
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-2
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
-4
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-2
-6
0
0
0
0
0
0
0
-1
52
-31
0
0
0
0
0
0
-3
6
-27
0
0
0
0
0
0
-1
0
-30
0
0
0
0
0
0
1
1
55
0
0
0
0
0
0
-3
-1
-8
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
2
-4
-47
0
0
0
0
0
0
1
3
-76
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-6
-4
58
0
0
0
0
0
0
-2
1
-27
0
0
0
0
-2
0
1
-8
11
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
-3
-18
-7
0
0
0
1
0
0
0
-6
-55
0
0
0
-34
13
13
-58
-26
10
0
0
0
0
8
5
-32
-39
0
0
0
0
0
0
-7
15
21
0
0
0
0
0
0
3
25
15
0
0
0
0
0
0
50
-69
18
0
0
0
0
0
1
-13
30
15
0
0
0
0
0
0
6
-1
20
0
0
0
0
0
-2
0
-7
1
0
0
0
0
0
-8
56
-48
3
0
0
0
0
0
0
18
17
-18
0
0
0
1
0
0
0
-3
-5
0
0
0
0
0
2
-1
-4
-19
0
0
0
0
0
0
-32
-59
48
0
0
0
0
0
0
-2
-2
-4
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
4
2
-1
8
0
0
0
0
0
0
16
-6
-46
0
0
0
0
0
-3
16
18
43
-16
0
0
0
0
0
1
-18
24
6
0
0
0
0
-2
6
-7
0
-11
0
0
0
0
0
0
-10
8
-9
0
0
0
0
0
-19
27
-3
46
0
0
0
0
0
0
-9
2
-3
0
0
0
0
1
0
-13
0
-20
0
0
0
0
2
-8
-3
6
40
0
0
0
0
0
-4
4
11
-87
0
0
0
0
0
5
-13
22
-20
0
0
0
0
-1
0
-12
-5
-33
0
0
0
0
0
10
1
4
-25
0
0
0
0
0
-3
3
25
28
0
0
0
0
0
-2
0
-1
11
0
0
0
1
2
0
-2
-1
-22
0
25
2
4
10
23
-21
-106
13
0
0
0
12
8
0
26
-32
0
0
0
0
0
0
1
-23
21
0
0
0
0
0
0
0
-12
12
0
0
0
0
0
0
24
-71
1
0
0
0
0
0
0
0
7
8
0
0
0
0
0
-1
-4
-44
51
0
0
0
0
0
2
0
1
-14
0
0
0
0
0
3
-50
-20
36
0
0
0
0
-2
0
0
-20
41
0
0
0
0
0
0
0
-10
-4
0
0
0
0
0
1
0
5
25
0
0
0
0
0
-2
-5
-21
5
0
0
0
0
-2
1
0
-2
31
0
0
0
0
0
0
2
-2
-51
0
0
0
0
-1
-6
3
2
7
0
0
0
0
4
-13
19
-4
-54
0
0
0
0
-2
-1
-4
1
20
-2
0
0
0
0
0
0
-5
-37
25
0
0
0
0
0
0
0
49
-7
0
0
0
0
0
23
56
43
-48
0
0
0
0
0
0
8
-4
-18
0
0
0
0
0
1
-61
18
31
0
0
0
0
-1
0
0
23
-29
0
0
0
1
1
1
15
53
-51
0
0
0
3
1
0
-2
-5
12
1
0
0
0
0
0
-13
5
33
-17
0
0
0
4
0
-18
-8
-44
-7
0
0
0
1
-3
5
15
-22
8
0
0
0
0
2
2
4
-69
2
0
0
0
-1
1
-43
65
-64
5
0
0
2
0
3
27
57
-75
-10
0
0
-13
10
35
69
39
-3
-8
0
0
0
0
1
-20
22
0
0
0
5
0
0
-3
0
-31
0
0
0
0
0
0
0
-14
17
0
0
0
0
0
-1
22
-23
-11
0
0
0
0
0
0
-1
6
65
0
0
0
0
0
0
0
-15
22
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
-3
-31
-23
48
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
0
9
21
0
0
0
0
0
0
3
-17
-3
0
0
0
0
0
2
0
3
-10
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
1
21
21
-8
0
0
-25
0
0
0
-28
30
-20
0
0
0
0
0
0
17
-1
-31
0
0
0
0
0
-3
-5
29
9
0
0
0
0
0
0
-31
60
-9
0
0
-2
0
0
0
13
-3
-28
0
0
0
0
0
0
-6
21
-66
0
0
0
0
0
0
8
18
-71
0
0
0
0
0
-3
-13
12
18
-1
0
12
0
0
-1
20
46
-53
-26
0
0
0
0
0
1
-9
21
-13
0
-4
0
0
0
13
21
-40
-9
0
0
0
0
0
-12
6
13
-14
0
29
0
0
0
-6
-14
4
59
0
0
0
0
0
-35
-14
5
-2
0
-69
-7
10
-3
-57
-29
12
-27
0
0
0
0
-2
5
23
0
0
0
0
0
0
5
-26
15
0
0
0
0
0
0
0
44
-62
0
0
0
0
0
0
-13
21
-34
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
-1
4
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
8
-22
5
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
0
2
-24
0
0
0
0
1
0
0
7
-24
0
0
0
0
0
0
1
8
-9
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-7
14
0
0
0
0
2
2
0
0
-9
0
0
0
0
0
2
0
-6
-4
33
0
0
0
0
0
3
18
-4
3
0
0
0
0
0
0
18
-63
57
0
0
0
0
0
-10
-32
31
-19
0
0
0
0
0
0
8
18
-80
0
0
0
0
0
0
-5
12
-1
0
0
0
0
0
0
-2
1
-4
0
0
0
0
-1
-2
-12
25
-48
0
0
0
0
0
0
2
-42
-39
-1
0
0
0
0
0
1
13
-129
-5
0
0
0
0
0
-31
-5
8
0
0
0
0
0
0
21
-7
-40
15
0
0
0
0
0
-1
2
-31
-7
0
0
0
0
0
2
-19
-2
-13
0
0
0
0
0
8
0
-46
-22
0
0
-8
28
36
-84
5
10
4
0
0
0
-4
-8
66
-58
0
0
0
0
0
0
2
-22
25
0
0
0
0
0
0
1
-9
-46
0
0
-16
0
0
0
17
-58
65
0
0
0
0
0
0
6
7
15
0
0
0
0
0
0
-5
-23
-3
0
0
0
0
0
0
6
-12
22
0
0
0
0
0
0
1
26
-18
0
0
0
0
0
-1
9
-25
20
0
0
0
0
0
0
0
10
16
0
0
0
0
0
0
5
-13
6
0
0
-17
0
0
-1
8
5
13
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
-3
-1
15
0
0
0
0
0
-1
2
10
-5
22
0
0
0
0
0
1
-26
69
-29
0
0
0
0
0
0
-35
0
10
0
55
0
0
0
1
-22
7
-25
0
0
0
0
0
-5
2
5
31
0
0
0
0
0
-1
8
12
-25
0
0
0
0
0
0
5
-3
39
0
-3
0
0
0
-14
-31
-7
-49
0
0
0
0
0
2
-5
51
-58
7
0
1
0
0
1
-24
-17
-35
15
0
0
0
0
0
30
-12
17
-42
-11
0
0
0
0
3
-13
-37
-41
0
0
0
0
0
2
8
-8
-13
0
0
0
0
-1
8
8
-18
-31
0
0
0
0
0
0
-17
-11
-46
1
0
-1
-73
-58
-42
26
22
36
0
0
6
0
-1
-27
28
0
0
0
0
0
0
-1
-5
-4
0
0
0
0
1
0
0
5
-6
0
0
0
0
0
0
-34
23
-8
0
0
0
0
0
2
5
-42
4
0
0
0
0
0
0
3
-13
27
0
0
0
0
0
0
1
-4
5
0
0
0
0
0
0
23
-6
-1
0
0
0
0
0
-1
-1
24
-19
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
-4
39
0
0
0
0
0
0
-8
-25
22
0
0
0
0
0
0
-4
-1
8
0
0
0
0
0
0
0
13
-25
0
0
0
0
0
-2
1
0
6
0
0
0
0
-3
17
-29
0
6
0
0
0
0
0
1
7
-14
19
7
0
0
0
0
0
0
-41
-2
19
0
0
0
0
0
1
3
-21
-9
0
0
0
0
-2
-1
-8
-5
29
0
0
0
0
0
-2
0
4
-2
0
0
0
0
0
0
7
-8
11
0
0
0
0
1
0
0
-7
28
0
0
0
0
-1
2
-30
53
1
0
0
0
0
-1
0
0
13
-35
23
0
0
0
0
0
15
-28
-125
11
0
0
0
0
0
1
17
-27
-15
0
0
0
-1
-3
-37
42
-18
54
0
0
2
0
0
3
6
-23
-9
0
0
0
-1
0
7
-15
-4
-68
0
0
-8
-2
0
4
-12
36
10
0
0
-22
-31
38
10
70
-30
30
0
0
0
0
8
0
-5
0
0
0
15
0
0
0
-6
50
0
0
0
0
0
0
2
-11
26
0
0
0
2
0
0
-28
-22
31
0
0
0
0
0
1
1
-14
-14
0
0
0
0
0
0
3
7
-6
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
33
-41
-8
0
0
0
0
0
0
0
2
44
0
0
0
-4
0
0
0
0
-15
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-2
0
-13
4
0
0
0
0
0
0
0
2
-4
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
0
-6
-8
0
0
0
2
0
-2
-27
3
9
0
0
0
0
0
0
-7
-4
47
26
0
0
2
0
0
0
10
14
-57
0
0
0
0
0
0
-9
8
32
0
0
0
0
-1
-1
19
-2
-11
0
0
0
0
0
0
-4
-1
11
0
0
-8
0
0
2
4
1
-66
0
0
0
0
0
0
0
-9
-10
0
0
0
0
0
2
7
-9
-34
0
0
0
0
0
-1
2
-49
-31
14
0
-59
0
0
0
0
-41
46
38
0
0
0
0
0
-3
4
-13
23
0
-10
0
0
-1
0
4
-14
19
0
0
0
0
0
2
-5
-1
5
0
22
0
0
0
-7
-3
2
27
0
0
-5
0
-1
8
6
31
-34
0
-44
14
-13
4
-24
-13
-18
8
0
0
-19
0
-1
-3
66
0
0
0
0
0
0
-2
4
-15
0
0
0
0
0
-4
3
-18
-26
0
0
0
0
0
0
8
-48
4
0
0
0
0
0
-3
1
-12
7
0
0
0
0
0
0
-6
2
-22
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
10
-8
31
0
0
0
0
1
-1
0
7
17
0
0
0
0
0
1
0
5
20
0
0
0
0
-3
0
0
10
-16
0
0
0
0
0
-1
-5
31
8
0
0
0
0
0
0
-2
1
2
0
0
0
0
-1
2
0
-1
4
0
0
0
0
3
-10
0
0
-10
0
0
0
0
2
-3
-20
27
30
0
0
0
0
-5
2
0
-8
31
-7
0
0
0
0
0
-1
-20
15
-13
0
0
0
0
0
0
5
-8
-39
0
0
0
2
0
-8
-22
-3
-19
0
0
0
0
0
0
-2
4
22
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
-1
0
1
-30
0
0
0
1
-3
4
10
-6
-11
0
0
0
-18
1
0
0
25
-12
-14
0
0
0
0
0
-9
22
-29
29
0
0
3
-1
0
0
5
-7
-47
0
0
0
0
-3
-5
1
1
4
0
0
-1
0
0
1
-8
-2
-21
0
0
-1
0
3
-7
0
-7
32
0
0
-20
0
-1
2
7
-63
39
0
0
4
-5
29
-35
-34
-15
33
0
0
22
3
9
-48
4
0
0
0
18
-13
-23
12
-53
18
0
0
0
0
-30
-22
21
-29
10
0
0
-17
-5
-18
-3
-55
49
3
0
0
0
0
34
-40
44
-34
-10
0
0
0
29
-31
-10
-11
-9
4
0
0
0
0
-17
-65
-16
35
-15
0
0
-60
-6
-27
-53
18
22
-20
0
0
0
0
-13
-11
-11
37
-11
0
0
0
-25
5
73
94
22
-12
0
0
0
0
51
-61
-31
6
47
0
0
9
72
0
-42
-22
-7
-27
0
0
0
0
-56
22
10
-63
-11
0
0
0
32
20
-49
-24
40
-22
0
0
0
0
19
28
34
21
-37
0
0
23
50
-20
-91
66
11
-38
0
0
0
0
26
51
-18
-44
63
3
0
0
-7
-19
-36
-103
-24
-13
1
0
0
0
2
22
47
-6
66
-17
0
-12
-39
89
7
-10
0
59
-16
0
0
0
31
23
15
-34
12
-5
0
0
10
79
2
-9
-40
11
-22
0
0
0
25
17
28
-120
-30
-5
0
102
6
32
51
56
-3
-72
-6
0
0
0
30
-69
-27
-10
2
-8
11
0
4
-31
-55
108
7
-40
13
-10
0
0
56
79
-42
30
-22
-14
-11
-9
32
12
-12
20
-45
-51
32
-18
0
0
-4
48
-2
-44
39
-31
24
0
-24
23
-13
-32
3
-20
-19
-7
0
0
34
30
97
9
10
-21
7
-50
-16
-71
103
-6
41
49
-22
-31
0
0
-1
-37
-24
8
14
0
0
0
0
-34
0
-14
-10
3
0
0
0
0
-75
34
-1
-8
17
0
0
0
0
-49
40
51
-41
18
0
0
0
0
36
66
-14
-16
4
0
0
0
0
13
43
-21
-59
39
0
0
0
0
-18
11
29
-31
-14
0
0
0
0
-4
-11
-9
7
-8
0
0
0
0
21
-31
-14
0
13
0
0
0
0
0
23
75
-44
30
0
0
0
0
36
-21
30
19
-20
0
0
0
0
-4
-18
44
25
-35
0
0
0
0
-27
16
-6
-31
-6
0
0
0
0
0
-1
-53
-41
65
0
0
0
0
1
58
50
-55
28
0
0
0
0
1
-25
-17
6
-14
0
0
0
0
-25
-4
-26
-12
45
0
0
0
0
22
20
-34
27
-7
0
0
0
0
-5
-2
31
-8
2
0
0
0
0
-1
9
89
-39
-41
0
0
0
0
53
49
6
-21
18
0
0
0
0
-1
0
30
-61
75
0
0
0
0
41
29
-49
61
-94
0
0
0
0
-1
-18
1
70
-21
0
0
0
0
20
-21
79
-12
5
0
0
0
0
0
-10
35
-48
44
0
0
0
0
-38
24
-4
-4
38
0
0
0
0
0
24
44
-65
7
0
0
0
0
39
-10
-43
40
16
0
0
0
0
43
-8
62
-11
21
0
0
0
0
-27
-1
71
-85
66
0
0
0
0
16
7
46
-15
5
0
0
0
0
0
-11
-62
-12
17
0
0
0
-10
33
42
-40
-45
5
0
0
0
0
26
14
1
5
-7
0
0
0
32
13
-16
58
-2
-5
0
0
0
0
0
-3
-6
-55
43
0
0
0
7
0
0
-29
-15
38
0
0
0
0
0
-15
45
18
-8
0
0
0
1
0
3
23
22
-37
0
0
0
0
0
2
12
-59
26
0
0
0
-19
1
32
-8
-23
49
0
0
0
0
0
13
39
-26
12
0
0
0
-24
0
10
-14
-43
6
0
0
0
0
0
0
22
-100
30
0
0
0
42
0
-25
31
1
35
0
0
0
0
0
4
32
-73
1
0
0
0
-3
0
-16
2
5
-9
0
0
0
0
0
-20
18
-27
-12
0
0
0
-33
-2
-5
49
1
47
0
0
0
0
1
-1
5
-31
67
0
0
0
2
0
-2
-26
-14
-20
0
0
0
0
0
0
5
18
-11
0
0
0
65
0
5
-53
15
-13
0
0
0
0
0
-3
-8
43
-32
0
0
0
-1
0
1
3
6
27
0
0
0
0
0
-7
-11
86
-21
0
0
0
46
-33
20
1
-10
28
0
0
0
0
0
1
25
2
-36
0
0
0
4
0
1
-13
23
-30
0
0
0
0
0
0
58
5
-40
0
0
0
31
0
0
-6
-9
26
0
0
0
0
3
0
-17
-20
31
0
0
0
44
2
-82
-76
-4
-2
0
0
0
0
7
74
60
-40
-15
0
0
0
0
0
-55
-23
-57
18
0
0
0
0
-5
14
32
-13
9
0
0
0
0
34
-27
-23
38
4
0
0
0
0
92
-3
45
-43
-32
0
0
0
0
0
-15
40
-33
-6
0
0
0
0
-7
22
-28
-50
40
0
0
0
0
4
45
-22
17
-18
0
0
0
0
0
30
16
-12
-19
0
0
0
0
0
1
2
-22
7
0
0
0
0
14
-37
-41
84
1
0
0
0
0
0
-37
77
-13
30
0
0
0
0
-6
32
-42
-26
38
0
0
0
0
0
-2
-13
51
-4
0
0
0
0
3
-2
4
-30
17
0
0
0
0
-1
-6
-21
-24
6
0
0
0
0
-1
2
41
-24
-17
0
0
0
0
-1
1
8
-29
-13
0
0
0
0
-9
0
-28
-99
77
0
0
0
0
2
2
-25
-50
44
0
0
0
0
-2
52
31
-31
-4
0
0
0
0
0
-5
-15
-50
22
0
0
0
0
3
-6
-3
-9
13
0
0
0
0
0
-10
5
4
62
0
0
0
0
0
0
2
15
31
0
0
0
0
0
0
4
-59
42
0
0
0
0
-1
-2
-47
32
45
0
0
0
0
-4
-1
32
7
20
0
0
0
0
-52
37
-45
19
-2
0
0
0
0
1
-3
25
-22
-19
0
0
0
0
1
-41
29
-49
0
0
0
0
0
20
22
32
-16
-37
0
0
0
0
1
74
-82
8
-15
0
0
0
5
-4
-49
-70
92
-6
0
0
0
0
18
23
13
-104
1
0
0
-51
-21
-4
61
57
-6
-2
0
0
0
0
0
-1
-10
-46
0
0
0
0
4
-2
23
106
20
-39
0
0
0
0
3
10
11
-33
-12
0
0
28
1
1
-21
27
-22
-58
0
0
0
0
0
-3
9
12
29
0
0
0
0
0
-14
62
-33
10
0
0
0
0
0
-25
-17
-24
54
0
0
42
-46
0
-5
-49
74
7
0
0
0
0
0
-3
-6
-12
52
0
0
0
2
0
-2
-25
-6
-6
0
0
0
0
0
-6
49
49
-23
0
0
44
0
-1
-3
26
-30
-42
0
0
0
0
3
8
-10
-56
53
0
0
0
4
0
-7
37
-5
5
0
0
0
0
2
1
-53
18
66
0
0
25
-7
1
-24
-23
-19
26
0
0
0
0
0
4
19
-31
48
0
0
0
19
0
0
30
-59
-23
0
0
0
0
1
-3
1
-12
26
0
0
71
0
2
-6
-44
-41
-59
0
0
0
0
0
1
10
-13
-9
0
0
0
0
0
1
3
-1
18
0
0
0
0
0
0
-55
-30
77
0
0
-51
2
0
29
-33
-10
10
0
0
0
0
0
-1
-39
-49
107
0
0
0
16
0
-2
-6
-68
7
0
0
0
0
-5
3
-22
-17
102
0
0
-7
48
-9
-59
-39
-38
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
22
21
2
-12
0
0
0
0
0
1
-7
-28
24
0
0
0
0
0
5
-20
-60
59
0
0
0
0
0
0
17
-9
-7
0
0
0
0
-15
7
-30
74
-69
0
0
0
0
0
-1
-11
-2
-1
0
0
0
0
2
-2
-25
-68
97
0
0
0
0
2
-5
20
-40
33
0
0
0
0
-5
49
-1
20
-12
0
0
0
0
0
0
-10
-13
-20
0
0
0
0
0
-1
18
7
1
0
0
0
0
0
0
-2
14
32
0
0
0
0
0
-5
5
-4
-28
0
0
0
0
-1
0
1
12
-19
0
0
0
0
0
0
-1
10
24
0
0
0
0
0
-1
-16
22
-2
0
0
0
0
-31
-8
67
-102
55
0
0
0
0
0
-2
-19
-91
48
0
0
0
0
0
-14
-2
-13
-37
0
0
0
0
0
5
1
-47
73
0
0
0
0
-27
-66
38
-20
39
0
0
0
0
-8
-6
0
21
8
0
0
0
0
0
0
12
18
31
0
0
0
0
0
2
2
37
1
0
0
0
0
69
-19
89
-36
12
0
0
0
0
0
-1
-8
52
-17
0
0
0
0
-1
12
28
25
-58
0
0
0
0
0
5
-4
-64
24
0
0
0
0
31
-69
66
14
-22
0
0
0
0
-1
17
-4
-31
86
0
0
0
0
-3
-34
-13
-18
15
0
0
0
0
-25
28
37
-3
29
0
0
0
0
0
0
3
-15
30
0
0
0
32
0
0
3
-47
-2
0
0
0
0
0
0
-2
-13
33
0
0
0
0
0
0
-27
37
-2
0
0
0
0
0
-1
-7
2
40
0
0
0
9
0
-17
-23
25
3
0
0
0
0
0
0
8
-79
38
0
0
0
0
0
8
-4
-62
-2
0
0
0
0
0
1
10
-7
19
0
0
0
-30
0
0
6
-36
29
0
0
0
0
0
0
-3
-21
21
0
0
0
1
0
0
3
4
-18
0
0
0
0
0
0
0
0
25
0
0
0
-5
0
0
-1
-11
-2
0
0
0
0
0
-1
0
-8
31
0
0
0
-3
0
-1
-3
-29
45
0
0
0
0
0
0
-15
-44
-4
0
0
0
-2
0
-6
12
-47
15
0
0
0
0
0
0
7
-34
26
0
0
0
1
0
4
-8
-40
46
0
0
0
0
0
0
2
-20
66
0
0
0
-15
0
1
4
-2
-12
0
0
0
0
0
0
-3
-2
18
0
0
0
0
0
0
13
12
53
0
0
0
0
0
2
17
-58
7
0
0
0
15
1
-31
-48
28
10
0
0
0
0
0
0
-3
-9
61
0
0
0
0
0
-1
2
-11
-54
0
0
0
0
0
0
21
-54
2
0
0
0
13
0
-4
3
2
-34
0
0
0
0
-2
5
-4
14
-8
0
0
0
-9
0
6
-66
-8
28
0
0
0
0
8
-2
-24
-6
44
0
0
0
0
0
0
0
4
45
0
0
0
0
-2
-5
2
5
13
0
0
0
0
0
9
4
-19
-7
0
0
0
0
-1
7
-2
52
15
0
0
0
0
0
-8
2
-20
-8
0
0
0
0
-1
0
2
-16
-11
0
0
0
0
0
3
25
-46
15
0
0
0
0
-1
0
2
2
81
0
0
0
0
0
0
3
20
-32
0
0
0
0
0
0
-1
5
-1
0
0
0
0
0
3
-6
-42
58
0
0
0
0
2
18
12
7
15
0
0
0
0
0
0
-25
2
50
0
0
0
0
1
4
-5
-1
-9
0
0
0
0
0
8
3
-7
-12
0
0
0
0
-1
-2
-2
-35
22
0
0
0
0
1
-1
3
-22
96
0
0
0
0
0
0
1
-49
12
0
0
0
0
0
-1
29
-3
-70
0
0
0
0
14
5
9
-18
-23
0
0
0
0
0
0
0
-18
-18
0
0
0
0
0
0
-2
41
-20
0
0
0
0
0
-6
-23
-16
16
0
0
0
0
4
-10
-17
45
-37
0
0
0
0
0
0
-5
-28
78
0
0
0
0
-1
1
2
-59
9
0
0
0
0
1
-1
2
7
5
0
0
0
0
3
20
-7
-56
53
0
0
0
0
0
-1
-5
8
-13
0
0
0
0
2
-4
-5
16
25
0
0
0
0
-6
-6
-6
3
6
0
0
0
0
0
-2
-1
40
-4
0
0
0
0
0
0
-3
17
-38
0
0
0
0
0
-2
1
-49
67
0
0
-1
-6
0
-5
16
-80
2
0
0
0
0
0
1
-4
-4
16
0
0
0
1
0
0
-13
45
-34
0
0
0
0
0
0
0
-47
-5
0
0
2
0
0
-8
-47
33
15
0
0
0
0
0
0
-4
5
-58
0
0
0
8
0
-1
-17
-41
37
0
0
0
0
0
0
1
-34
84
0
0
14
0
0
-1
9
-18
13
0
0
0
0
0
-2
-3
42
-8
0
0
0
-1
0
0
13
-21
0
0
0
0
0
0
0
-7
-42
42
0
0
-1
0
0
0
47
-15
-6
0
0
0
0
0
3
-3
5
47
0
0
0
0
0
3
-33
-14
8
0
0
0
0
0
4
7
9
-47
0
0
-10
0
0
-5
13
-3
3
0
0
0
0
0
0
-4
-10
19
0
0
0
0
0
0
-2
-33
-9
0
0
0
0
0
-3
2
-9
12
0
0
13
0
0
0
-3
-17
20
0
0
0
0
0
4
4
-13
-26
0
0
0
-1
0
-2
3
-7
-52
0
0
0
0
0
-2
-2
9
12
0
0
74
0
0
1
-59
-74
15
0
0
0
0
0
2
8
1
-27
0
0
0
-9
0
0
25
-49
10
0
0
0
0
0
2
-2
-5
-31
0
0
-14
-1
0
-1
-10
-38
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-31
0
20
0
0
0
0
0
0
-13
14
-69
30
0
0
0
0
2
-78
3
14
11
0
0
0
0
-1
25
-19
-68
31
0
0
0
0
-4
9
1
-43
26
0
0
0
0
1
-2
-28
-27
70
0
0
0
0
-1
-10
49
49
-17
0
0
0
0
0
-18
110
25
6
0
0
0
0
53
-25
-2
-29
-6
0
0
0
0
0
13
-8
-12
-46
0
0
0
0
0
4
-15
-55
53
0
0
0
0
0
-12
-43
27
-13
0
0
0
0
-5
-25
74
10
-7
0
0
0
0
0
0
20
-22
16
0
0
0
0
39
18
13
13
1
0
0
0
0
0
5
10
-11
53
0
0
0
0
-41
11
-5
18
66
3
0
0
0
0
0
10
-77
7
3
0
0
0
0
-8
66
37
28
-1
0
0
0
-2
13
14
-35
9
-5
0
0
0
-11
72
47
56
58
-1
0
0
0
-1
0
22
-46
45
19
0
0
0
-3
-28
3
-13
101
0
0
0
0
0
2
5
-12
-45
-9
0
0
0
-38
-30
-39
-55
21
26
0
0
0
0
12
14
-112
-18
45
0
0
0
-41
24
-19
-23
-28
33
0
0
0
0
17
2
13
20
-17
0
0
0
22
79
-54
106
66
-15
0
0
0
2
-15
-41
-6
-48
36
0
0
0
28
-32
15
32
21
-9
0
0
0
-14
-10
-42
2
-16
0
0
0
0
0
12
17
-46
-8
0
0
0
-28
9
37
16
2
32
0
0
0
0
0
-2
-15
8
56
0
0
0
22
0
-2
-22
-52
47
0
0
0
0
0
-4
5
14
47
0
0
0
-10
0
-2
2
15
26
0
0
0
0
0
0
17
-20
-35
0
0
0
0
0
0
-47
-16
-12
0
0
0
0
0
3
29
-83
50
0
0
0
-2
0
13
-27
9
17
0
0
0
0
-5
-1
-43
6
46
0
0
0
3
0
1
37
-34
23
0
0
0
0
0
0
-8
-29
56
0
0
0
6
0
-15
17
-96
41
0
0
0
0
0
-7
11
19
-51
0
0
0
8
0
6
-8
-16
0
0
0
0
0
0
5
16
76
-11
1
0
0
34
-5
-25
0
-39
6
0
0
0
0
0
0
5
5
100
-18
0
0
4
0
0
50
21
10
-21
0
0
0
0
0
-8
24
-55
23
0
0
-2
1
0
-9
5
-22
18
0
0
0
0
-2
0
-18
49
-11
0
0
0
0
2
-4
31
-12
-11
0
0
0
0
0
14
-21
32
9
0
0
-51
-6
-1
-57
-23
66
20
0
0
0
3
-2
-8
-37
19
0
0
0
1
0
-1
-1
108
-56
-41
0
0
0
0
2
18
2
-13
33
0
0
-40
0
-3
-18
-28
1
20
0
0
0
0
15
-1
-67
9
6
0
0
-19
-6
-30
14
-24
37
3
0
0
0
-1
13
-9
-10
-7
0
0
0
0
0
0
18
-34
71
0
0
0
0
10
-8
2
-42
25
0
0
0
0
1
8
-20
13
51
0
0
0
0
-2
-4
-14
-28
-16
0
0
0
0
0
0
-10
28
-2
0
0
0
0
0
2
-5
2
-1
0
0
0
0
0
-33
-2
-41
12
0
0
0
0
0
0
-5
37
5
0
0
0
0
0
-5
1
-58
20
0
0
0
0
-5
-8
3
-63
47
0
0
0
0
2
2
-32
-17
22
0
0
0
0
0
-1
31
-34
19
0
0
0
0
0
3
2
1
10
0
0
0
0
-1
-9
-25
16
8
0
0
0
0
-5
6
16
-66
30
0
0
0
0
-1
17
18
0
-17
-10
0
0
0
0
0
44
-13
50
2
0
0
0
-1
0
0
-66
-31
5
0
0
0
0
0
-12
6
-6
5
0
0
0
1
-4
31
-59
69
-3
0
0
0
0
0
-8
-8
-78
22
0
0
0
0
0
-22
-5
-5
13
0
0
0
1
-1
1
-47
45
-19
0
0
0
1
-8
-20
39
31
-8
0
0
0
0
0
2
41
64
-4
0
0
0
-2
0
0
-10
13
-33
0
0
0
-4
-3
-17
49
-24
30
0
0
0
-1
-1
49
-8
9
-9
0
0
0
0
-1
-1
-28
49
-24
0
0
0
-1
-3
6
30
-1
-18
0
0
0
-8
5
-43
-29
-54
20
0
0
0
0
-1
-1
-7
25
0
0
0
0
0
2
8
-49
26
0
0
0
0
3
9
-30
32
-25
0
0
-21
21
0
7
22
-17
26
0
0
0
0
0
0
7
-13
18
0
0
0
-2
0
-1
-25
-38
9
0
0
0
0
0
0
-17
-29
0
0
0
33
0
-2
-4
9
-29
13
0
0
0
0
0
0
9
39
-48
0
0
0
0
0
0
20
3
29
0
0
0
0
0
-12
-15
-8
12
0
0
-36
-3
0
7
36
24
-5
0
0
0
0
0
0
3
-18
10
0
0
0
0
0
0
-29
22
10
0
0
0
0
0
-15
-2
-44
42
0
0
-22
0
-1
-14
-8
-16
5
0
0
0
0
1
1
1
71
21
-8
0
0
0
0
-2
58
-62
-19
-10
0
0
0
0
7
-6
-56
-4
-3
0
52
-1
0
4
-10
-9
49
3
0
0
0
0
0
2
3
44
15
0
0
4
0
0
6
-6
45
-52
0
0
0
1
2
0
-43
-5
18
0
-57
0
0
-9
1
-25
25
-18
0
0
0
0
1
7
14
46
-12
0
0
0
0
-4
-9
-6
-16
61
0
0
0
1
0
20
-9
-31
-32
0
15
0
0
-1
-64
-47
27
38
0
0
0
0
-7
0
-52
-38
5
0
0
-4
0
1
-20
-2
1
-44
0
0
0
2
-8
-28
-47
109
-22
0
-9
4
0
-22
30
-41
-39
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
57
26
-70
-13
0
0
0
0
0
0
-15
-49
21
0
0
0
0
1
3
19
-79
54
0
0
0
0
0
0
5
-11
7
0
0
0
0
-18
15
7
27
-26
0
0
0
0
0
-3
-10
-58
16
0
0
0
0
0
2
1
16
-19
0
0
0
0
0
0
1
20
81
0
0
0
0
-4
27
42
-41
7
0
0
0
0
0
-5
1
-75
13
0
0
0
0
0
4
46
-32
-17
0
0
0
0
0
4
-2
52
-22
0
0
0
0
40
-2
3
-44
-15
0
0
0
0
0
0
-16
-26
3
0
0
0
0
-3
27
6
-33
-29
0
0
0
0
10
-31
-5
-25
-21
0
0
0
0
9
-3
9
52
67
14
0
0
0
0
3
21
49
25
-32
0
0
0
0
5
33
-53
22
23
0
0
0
0
0
8
41
-31
10
0
0
0
10
-7
51
41
-13
-16
0
0
0
-1
3
-21
-26
88
2
0
0
0
-8
7
-3
-19
32
-31
0
0
0
-1
6
-28
-27
-1
-21
0
0
0
-23
-11
73
-7
-33
-2
3
0
0
0
-1
9
-33
-26
32
-2
0
0
0
-24
-76
-5
111
-18
4
0
0
0
-6
17
52
-9
-37
-19
0
0
-8
-82
57
10
3
11
11
0
0
-1
-6
14
-30
35
-49
-6
0
0
13
43
-46
-9
-40
-17
9
0
0
17
52
-13
11
14
3
2
0
0
0
0
5
39
-26
0
0
0
29
0
2
-16
50
-11
0
0
0
0
0
0
0
56
-22
0
0
0
0
0
0
-15
-4
15
0
0
0
0
0
0
-31
-5
49
0
0
0
6
0
-4
46
-50
-3
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
16
3
-3
0
0
0
0
0
-2
21
-11
21
0
0
0
32
0
-1
-16
-36
30
0
0
0
0
0
0
0
-7
3
0
0
0
-3
0
-1
18
-25
19
0
0
0
0
0
-1
-5
-22
72
0
0
0
2
0
0
-8
-53
16
0
0
0
0
0
0
1
-47
10
0
0
0
-5
0
2
-4
3
66
0
0
0
0
0
0
-6
-95
-19
59
0
0
25
2
-29
-14
-14
41
13
0
0
0
0
0
0
-58
37
10
0
0
0
0
-1
-13
-2
-12
-18
0
0
0
0
0
-8
15
-23
8
0
0
-41
-2
-2
17
-12
53
7
0
0
0
0
1
3
8
-33
34
0
0
0
0
2
0
-14
-33
8
0
0
0
0
0
-74
-67
79
-1
-6
0
-14
0
13
-20
-5
41
-37
-31
0
0
0
-2
6
-26
14
-13
-17
0
-6
0
-2
-13
-37
5
-68
-16
0
0
0
-3
-6
-4
21
-23
24
0
-24
0
0
41
-26
26
-9
-55
0
0
-1
2
5
-43
30
-22
-17
0
19
-2
-18
-8
-48
16
-38
-13
0
0
-1
1
-7
-3
25
0
0
0
0
0
0
0
9
-28
0
0
0
0
0
1
18
10
8
0
0
0
0
0
1
0
-10
27
0
0
0
0
2
2
-6
-7
-70
0
0
0
0
0
-1
1
10
-8
0
0
0
0
0
-7
0
-4
8
0
0
0
0
0
1
-43
-9
3
0
0
0
0
6
0
-8
0
0
0
0
0
0
0
0
4
-75
11
0
0
0
0
-2
-5
2
-5
20
0
0
0
0
0
1
5
-71
29
0
0
0
0
1
2
0
27
54
0
0
0
0
0
0
-9
-8
10
0
0
0
0
-1
0
-22
-13
42
0
0
0
0
1
6
15
-13
-19
0
0
0
0
-9
-13
5
44
22
2
0
0
0
0
0
-7
-21
21
0
0
0
0
-1
-1
3
5
-21
35
0
0
0
0
0
-12
-26
6
68
0
0
0
-5
2
4
-33
-37
19
0
0
0
0
-1
-2
14
-47
-15
0
0
0
0
-2
0
1
43
-28
0
0
0
0
-3
7
-60
2
16
0
0
0
-20
-49
0
-37
2
23
2
0
0
0
-3
1
-58
-19
-47
11
0
0
0
6
-12
-31
-10
-118
40
0
0
-6
1
0
-17
-22
-42
2
0
0
-10
-1
-23
22
48
-34
8
0
0
0
2
0
7
37
-85
4
0
0
-6
5
-6
41
8
-14
9
0
0
-3
13
-13
-6
-12
-49
26
0
0
0
-2
-2
-8
54
0
0
0
0
0
0
0
-25
-5
0
0
0
0
0
0
3
-14
-28
0
0
-9
6
0
1
-44
-76
28
0
0
0
0
0
0
-3
5
-6
0
0
0
0
0
0
-24
-24
23
0
0
0
0
0
-1
2
3
3
0
0
2
0
0
-4
-14
33
8
0
0
0
0
0
0
-5
-19
-16
0
0
0
0
0
0
-7
27
-23
0
0
0
0
0
-8
0
-8
-34
0
0
42
0
0
-4
15
0
-13
0
0
0
0
0
0
-33
4
29
0
0
0
-3
0
0
-16
-48
27
0
0
0
0
0
-10
-5
-16
0
0
0
-26
0
0
2
-29
31
9
0
0
0
0
0
0
-1
-110
0
-13
0
0
0
0
-1
3
30
21
-60
0
0
0
0
1
-24
-9
9
47
0
-21
0
0
-2
16
5
-13
-9
0
0
0
0
0
0
-3
14
-16
0
0
0
0
0
-2
-44
46
-22
0
0
0
0
0
-4
7
-66
10
0
24
0
0
-2
56
-7
0
-46
0
0
0
0
-3
2
1
5
5
3
0
-1
0
-2
-25
42
2
-102
-14
0
0
0
-2
-3
-5
32
-90
-15
-66
0
0
-7
-15
2
24
-4
5
0
0
0
2
1
-42
104
-11
-56
0
5
0
0
1
22
-41
-10
4
0
0
0
-6
0
-68
-54
-15
4
16
-4
-1
-8
-62
-5
5
-93
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-40
-42
3
39
0
0
0
0
-14
-79
-52
-43
47
0
0
0
0
5
23
-117
-42
-5
0
0
0
0
-3
19
43
-105
12
0
0
0
0
-8
4
-39
15
-4
0
0
0
0
0
28
41
4
-18
0
0
0
0
-7
-40
-5
38
-58
0
0
0
0
0
8
64
-31
-40
0
0
0
0
34
-44
-33
-55
36
0
0
0
0
0
0
8
23
26
0
0
0
0
31
-62
7
41
15
0
0
0
0
1
5
6
-3
16
0
0
0
0
3
27
-16
-57
2
0
0
0
0
0
2
10
-13
-6
0
0
0
0
25
1
48
33
-30
0
0
0
0
1
6
-9
-47
33
0
0
0
0
-12
34
-40
-8
42
0
0
0
0
0
-3
53
-50
54
0
0
0
0
-5
-9
45
-93
106
0
0
0
0
0
9
-10
-13
16
0
0
0
0
-8
55
39
-6
-37
0
0
0
0
0
-8
-9
49
72
0
0
0
0
-7
2
0
-5
-50
0
0
0
0
0
8
2
-1
91
0
0
0
0
-12
-51
45
-46
37
0
0
0
0
0
0
6
-32
35
0
0
0
0
-22
20
12
53
16
0
0
0
0
0
16
3
50
-10
0
0
0
0
-38
6
-48
18
55
0
0
0
0
4
-8
5
0
-26
0
0
0
0
0
-31
58
-65
4
0
0
0
0
-10
-20
19
-12
11
0
0
0
0
0
29
0
-8
7
0
0
0
-16
44
-28
16
13
19
0
0
0
0
0
-4
-3
-47
28
0
0
0
9
0
-14
-23
21
-3
0
0
0
0
6
-48
-22
23
40
0
0
0
-12
0
29
73
-14
-16
0
0
0
0
0
-7
14
-41
29
0
0
0
-8
0
1
-10
39
-8
0
0
0
0
0
-23
10
-32
33
0
0
0
-4
1
0
12
-17
27
0
0
0
0
0
-1
1
29
-40
0
0
0
4
0
-3
-19
-20
36
0
0
0
0
0
0
-9
18
-12
0
0
0
29
0
1
3
-52
19
0
0
0
0
0
-2
-4
-23
31
0
0
0
6
0
8
-21
16
20
0
0
0
0
0
0
-2
17
7
0
0
0
-44
5
-8
8
9
35
0
0
0
0
0
0
0
-16
16
0
0
0
1
0
0
22
-86
4
0
0
0
0
0
0
-17
-28
-9
0
0
0
40
0
0
19
-51
-38
0
0
0
0
0
0
3
6
-24
0
0
0
-1
0
0
3
-1
25
0
0
0
0
0
0
-4
-111
39
0
0
0
-24
0
2
-5
-40
46
0
0
0
0
0
0
1
-10
13
0
0
0
5
0
0
-3
-19
22
0
0
0
0
0
-1
-27
-58
6
0
0
0
-37
0
0
13
4
-5
0
0
0
0
1
3
-13
-54
32
0
0
0
-12
-13
-7
-71
7
34
0
0
0
0
8
48
-123
45
4
0
0
0
0
0
1
-18
-17
40
0
0
0
0
1
31
29
8
-30
0
0
0
0
0
-2
34
-49
-10
0
0
0
0
1
1
4
-51
37
0
0
0
0
0
0
14
-42
23
0
0
0
0
0
-2
10
-64
67
0
0
0
0
0
-4
6
13
18
0
0
0
0
0
-5
34
9
24
0
0
0
0
0
0
0
-10
19
0
0
0
0
0
-1
18
20
54
0
0
0
0
0
1
15
21
-14
0
0
0
0
0
0
-16
-25
3
0
0
0
0
0
0
-3
-42
8
0
0
0
0
0
0
15
-30
21
0
0
0
0
0
1
10
49
-46
0
0
0
0
0
-3
8
-27
-7
0
0
0
0
0
0
4
17
-71
0
0
0
0
0
3
23
-52
-30
0
0
0
0
0
0
-10
-54
41
0
0
0
0
0
1
3
-60
31
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
-7
-8
13
0
0
0
0
0
0
2
-12
69
0
0
0
0
0
0
56
19
-52
0
0
0
0
0
0
0
35
-31
0
0
0
0
0
-1
-31
69
-4
0
0
0
0
0
0
48
16
-13
0
0
0
0
0
0
5
-22
49
0
0
0
0
0
0
-1
30
-1
0
0
0
0
0
2
6
-48
99
0
0
0
0
-1
21
-22
-3
-5
0
0
0
0
0
25
18
-30
-9
0
0
0
0
0
4
-5
-35
16
0
0
0
0
0
1
-59
50
5
0
0
-38
26
1
3
96
14
4
0
0
0
0
0
0
-27
-22
19
0
0
0
0
0
-7
-23
-67
45
0
0
0
0
0
0
-13
4
31
0
0
5
0
0
1
-19
-36
22
0
0
0
0
0
5
8
14
-56
0
0
0
0
0
0
14
-5
-30
0
0
0
0
0
1
13
41
-50
0
0
58
1
0
0
41
-2
13
0
0
0
0
0
0
-3
-73
56
0
0
0
0
0
0
3
-3
97
0
0
0
0
0
1
8
-34
12
0
0
11
0
-1
-2
29
-9
11
0
0
0
0
0
3
74
-36
-17
0
0
0
0
0
1
19
-5
-24
0
0
0
0
0
-2
10
-25
54
0
0
-37
-2
0
-5
-34
80
17
0
0
0
0
0
0
-31
-14
24
0
0
0
0
0
0
12
-24
10
0
0
0
0
0
0
-12
-16
-27
0
0
23
0
0
3
32
-28
-12
0
0
0
0
0
0
20
-44
78
0
0
0
0
0
0
-8
-1
41
0
0
0
0
0
1
-1
-50
35
0
0
-3
0
0
-2
32
-12
17
0
0
0
0
0
-4
-3
-5
17
0
0
0
0
0
0
3
-18
22
0
0
0
0
0
3
13
-40
33
0
0
50
20
-1
-25
4
49
-68
0
0
0
0
10
-8
-22
-30
58
0
0
0
0
0
-18
88
-50
-4
0
0
0
0
0
50
45
-56
0
0
0
0
0
0
0
27
13
-34
0
0
0
0
-1
5
1
-50
23
0
0
0
0
0
1
-55
-1
60
0
0
0
0
0
0
20
13
-37
0
0
0
0
0
2
22
44
-19
0
0
0
0
4
-6
-17
-18
43
0
0
0
0
0
-4
-10
-53
28
0
0
0
0
0
2
22
13
-48
0
0
0
0
0
0
-21
-6
26
0
0
0
0
-1
-4
-34
-2
74
0
0
0
0
0
0
-4
12
-5
0
0
0
0
0
-1
4
2
55
0
0
0
0
-2
0
0
-46
79
0
0
0
0
23
0
8
-40
-7
0
0
0
0
0
4
4
14
-34
0
0
0
0
0
-1
5
-2
14
0
0
0
0
0
4
-15
-1
-25
0
0
0
0
-2
-15
14
35
-12
0
0
0
0
0
2
-2
-63
-16
0
0
0
0
0
0
1
2
19
0
0
0
0
0
-1
25
0
-1
0
0
0
0
-23
58
8
-26
-17
0
0
0
0
0
0
-3
-6
6
0
0
0
0
0
0
2
51
-5
0
0
0
0
0
2
-2
7
8
0
0
0
0
1
-59
31
-45
6
0
0
0
0
0
0
5
-15
28
0
0
0
0
-1
-3
-8
17
42
0
0
0
0
-1
-28
42
-43
4
0
0
0
0
0
0
31
4
38
0
0
0
13
0
0
-70
27
35
0
0
0
0
0
0
3
-14
84
0
0
0
0
0
1
-4
-13
-10
0
0
0
0
0
0
42
-94
-15
0
0
0
0
0
-2
15
-66
-25
0
0
0
0
0
0
2
-8
21
0
0
0
0
0
0
67
-23
-46
0
0
0
0
0
-1
17
-30
-9
0
0
0
3
0
0
-8
13
40
0
0
0
0
0
0
0
-13
47
0
0
0
0
0
-1
-2
18
-34
0
0
0
0
0
0
5
25
-33
0
0
0
0
0
-2
-13
1
-10
0
0
0
0
0
0
-2
-3
41
0
0
0
0
0
0
-31
-13
33
0
0
0
0
0
0
-2
-9
-16
0
0
0
66
2
0
-14
-27
20
0
0
0
0
0
0
0
-24
72
0
0
0
0
0
1
-2
-23
12
0
0
0
0
0
0
-1
-8
10
0
0
0
0
0
2
-24
14
21
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
6
12
0
0
0
0
0
0
-4
1
28
0
0
0
-15
0
0
5
-60
49
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
-4
-5
23
9
0
0
0
0
0
0
8
-25
73
0
0
0
1
0
-6
7
-39
6
0
0
0
0
0
0
0
-12
27
0
0
0
6
0
18
-47
-26
-8
0
0
0
0
0
6
5
54
-41
0
0
0
0
0
0
-10
-12
10
0
0
0
0
0
3
55
-22
-25
0
0
0
0
0
0
13
-68
-25
0
0
0
0
0
0
20
20
-70
0
0
0
0
0
0
-2
-11
21
0
0
0
0
0
-1
1
-43
71
0
0
0
0
0
1
0
44
42
0
0
0
0
0
0
-3
-4
56
0
0
0
0
0
-6
0
13
5
0
0
0
0
0
-2
-6
2
-14
0
0
0
0
0
0
2
42
-24
0
0
0
0
0
0
-10
-2
22
0
0
0
0
0
0
1
3
-24
0
0
0
0
0
0
-1
-1
23
0
0
0
0
0
-4
1
-24
-13
0
0
0
0
2
-2
5
-23
6
0
0
0
0
0
2
5
-31
-9
0
0
0
0
0
1
0
-20
4
0
0
0
0
0
0
0
-12
20
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
-1
0
-4
30
0
0
0
0
0
1
1
12
-25
0
0
0
0
0
0
-4
-10
16
0
0
0
0
0
0
0
-18
-13
0
0
0
0
0
1
-10
-6
19
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
1
8
-8
0
0
0
0
-4
7
25
31
23
0
0
0
0
0
-13
55
35
-6
0
0
0
0
0
-3
87
-22
-32
0
0
0
0
0
-25
21
56
11
0
0
-2
0
0
9
57
5
-73
0
0
0
0
0
5
31
-38
-2
0
0
0
0
0
-3
37
16
-43
0
0
0
0
0
-8
-26
10
18
0
0
0
0
0
-19
41
4
8
0
0
0
0
0
3
68
-54
13
0
0
0
0
0
-2
-39
3
-49
0
0
0
0
0
-3
-15
-31
79
0
0
-1
0
0
5
-20
-19
1
0
0
0
0
0
0
5
7
47
0
0
0
0
0
3
10
-23
13
0
0
0
0
0
2
-2
8
-5
0
0
0
0
0
-14
-35
49
-27
0
0
0
0
0
22
36
-64
44
0
0
0
0
0
-2
-20
23
-2
0
0
0
0
0
6
5
-67
13
0
0
-7
0
0
1
0
-41
31
0
0
0
0
0
-3
-8
6
36
0
0
0
0
0
0
-22
-10
34
0
0
0
0
0
0
-7
8
7
0
0
0
0
0
-17
-4
34
0
0
0
0
0
0
29
-47
-21
6
0
0
0
0
0
-1
-16
-58
116
0
0
0
0
0
-2
0
-22
9
0
0
-4
0
0
0
2
4
-15
0
0
0
0
0
2
-60
-31
35
0
0
0
0
0
-4
20
25
-58
0
0
0
0
0
-2
-33
-12
32
0
0
-4
0
-1
1
-42
21
36
0
0
0
0
39
-17
0
-33
44
0
0
0
0
0
25
9
-65
-18
0
0
0
0
0
-4
-65
36
44
0
0
0
0
0
-14
-31
46
-3
0
0
0
0
0
1
4
-27
-25
0
0
0
0
0
-6
16
-42
52
0
0
0
0
0
-6
0
8
11
0
0
0
0
0
2
27
-22
-3
0
0
0
0
21
-13
-31
29
-7
0
0
0
0
0
-1
-1
5
22
0
0
0
0
0
12
-10
8
-1
0
0
0
0
0
4
3
10
21
0
0
0
0
-4
-34
20
64
21
0
0
0
0
0
1
-6
6
26
0
0
0
0
-1
19
15
-53
41
0
0
0
0
0
-4
5
21
-13
0
0
0
0
65
-62
12
-30
-7
0
0
0
0
0
0
7
-58
49
0
0
0
0
0
0
-7
-23
17
0
0
0
0
0
2
5
-21
1
0
0
0
0
0
1
-1
-8
9
0
0
0
0
0
0
0
7
42
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
-3
0
-16
-17
0
0
0
0
-16
21
-3
2
22
0
0
0
0
0
-2
-3
-16
13
0
0
0
0
0
-1
1
-31
31
0
0
0
0
0
3
-8
3
6
0
0
0
0
-55
15
70
-57
3
0
0
0
0
0
-2
0
-5
59
0
0
0
0
5
-8
-1
45
-5
0
0
0
0
4
-3
12
-4
6
0
0
0
0
0
0
-18
13
72
0
0
0
-18
0
0
-51
11
1
0
0
0
0
0
0
1
-28
53
0
0
0
0
0
0
30
-36
1
0
0
0
0
0
0
-7
1
-11
0
0
0
-17
0
2
-5
-33
-5
0
0
0
0
0
0
0
-14
-50
0
0
0
0
0
2
1
-27
14
0
0
0
0
0
-1
8
-77
4
0
0
0
0
0
0
5
-39
29
0
0
0
0
0
0
0
-4
77
0
0
0
4
0
2
6
-39
-8
0
0
0
0
0
0
1
-50
12
0
0
0
8
0
-1
-12
24
-9
0
0
0
0
0
1
0
-42
36
0
0
0
-6
0
1
-20
9
51
0
0
0
0
0
0
0
43
-14
0
0
0
-20
0
2
-8
-32
26
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
0
6
-1
0
0
0
2
0
0
1
-10
23
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
-4
-2
0
0
0
0
0
0
0
5
-55
0
0
0
21
0
-1
3
-6
13
0
0
0
0
0
0
0
-12
17
0
0
0
0
0
0
5
13
-24
0
0
0
0
0
0
2
1
-57
0
0
0
-12
0
0
4
-30
49
0
0
0
0
0
0
0
-13
30
0
0
0
74
0
0
-25
-26
-25
0
0
0
0
0
6
8
-2
-7
0
0
0
0
0
0
2
-31
-24
0
0
0
0
0
-1
18
-18
14
0
0
0
0
0
0
-3
24
-2
0
0
0
0
0
0
-7
2
8
0
0
0
0
0
0
0
-16
-9
0
0
0
0
0
0
2
-20
2
0
0
0
0
0
0
-16
-15
53
0
0
0
0
1
2
-20
16
9
0
0
0
0
0
0
0
-49
94
0
0
0
0
-2
1
-2
-3
30
0
0
0
0
0
-3
6
2
5
0
0
0
0
0
0
3
-5
-19
0
0
0
0
0
0
0
4
-16
0
0
0
0
2
4
0
-84
63
0
0
0
0
0
0
-8
-6
9
0
0
0
0
0
1
-1
-35
42
0
0
0
0
0
0
0
-12
-1
0
0
0
0
-1
0
0
-8
3
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
7
47
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-6
11
5
0
0
0
0
0
0
0
-12
-5
0
0
0
0
0
4
-6
15
13
0
0
0
0
0
0
0
-42
-1
0
0
0
0
0
-1
-14
28
54
0
0
0
0
0
0
-3
24
17
0
0
0
0
0
0
-5
2
-5
0
0
0
0
-3
3
-8
12
14
0
0
0
0
0
-2
8
2
-33
0
0
0
-1
0
1
-5
60
-32
0
0
0
0
0
0
13
14
-9
0
0
10
1
0
0
-25
-18
50
0
0
0
0
0
0
1
5
-9
0
0
0
0
0
0
1
-3
22
0
0
0
0
0
-1
0
-2
13
0
0
5
0
0
0
32
-18
-19
0
0
0
0
0
2
7
-15
-2
0
0
0
0
0
1
8
-28
-3
0
0
0
0
0
0
-1
7
91
0
0
-18
0
0
1
13
7
7
0
0
0
0
0
0
-3
-13
39
0
0
0
0
0
1
-10
-13
45
0
0
0
0
0
1
-5
6
18
0
0
0
0
0
0
-30
-5
-18
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
-1
-34
51
0
0
0
0
0
0
2
-1
-3
0
0
25
0
0
0
13
-19
8
0
0
0
0
0
0
-2
5
-6
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
7
-5
6
0
0
0
0
0
0
0
13
-21
0
0
0
0
0
0
1
-10
-1
0
0
28
0
0
0
1
-5
7
0
0
0
0
0
-4
-1
13
25
0
0
0
-5
0
0
-5
-18
6
0
0
0
0
0
0
-4
-31
25
0
0
19
-4
0
-4
20
-9
4
0
0
0
0
0
3
14
-15
-34
0
0
0
0
0
0
-2
-55
44
0
0
0
0
0
0
8
-8
12
0
0
0
0
0
0
0
10
-19
0
0
0
0
0
0
-16
3
50
0
0
0
0
0
2
5
-15
64
0
0
0
0
0
2
-1
0
-2
0
0
0
0
0
0
1
-3
21
0
0
0
0
0
15
5
0
-16
0
0
0
0
0
0
2
-7
-8
0
0
0
0
0
0
10
-10
-1
0
0
0
0
0
0
0
-41
53
0
0
0
0
0
-6
13
-3
47
0
0
0
0
0
0
2
-7
6
0
0
0
0
0
-1
2
-4
-39
0
0
0
0
0
0
0
8
10
0
0
0
0
-9
-33
5
9
3
0
0
0
0
0
1
0
-22
9
0
0
0
0
0
1
3
-21
9
0
0
0
0
0
0
-2
6
1
0
0
0
0
0
1
1
0
7
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
-4
0
-2
-14
0
0
0
0
3
-4
2
2
38
0
0
0
0
0
-1
-1
-25
40
0
0
0
0
0
0
8
-1
2
0
0
0
0
0
0
0
-3
1
0
0
0
0
1
-1
-18
-2
36
0
0
0
0
0
1
1
10
-7
0
0
0
0
3
0
0
-6
9
0
0
0
0
-1
-14
8
-7
-67
0
0
0
0
0
0
0
-41
21
0
0
0
-1
0
-2
0
-15
21
0
0
0
0
0
0
-6
-39
88
0
0
0
0
0
0
-16
6
26
0
0
0
0
0
0
0
-2
46
0
0
0
0
0
0
7
26
13
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-19
14
3
0
0
0
0
0
0
-3
-21
103
0
0
0
2
0
0
25
-19
-31
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
-2
-14
37
0
0
0
0
0
0
0
-2
58
0
0
0
0
0
-2
0
-15
6
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-18
-31
0
0
0
0
0
0
0
-21
13
0
0
0
4
0
-1
-1
-35
30
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
-1
8
-15
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
1
8
59
0
0
0
-3
0
0
0
8
33
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
-3
-1
-8
0
0
0
0
0
0
0
3
-43
0
0
0
2
0
0
0
-27
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
-4
-25
-41
65
0
0
0
0
-30
8
2
15
-8
0
0
0
0
0
0
6
-47
-4
0
0
0
0
0
0
16
-32
-5
0
0
0
0
0
-1
-8
-33
69
0
0
0
0
0
0
-1
3
41
0
0
0
0
0
0
1
-5
-1
0
0
0
0
0
5
-2
0
-8
0
0
0
0
0
0
-2
-3
51
0
0
0
0
8
1
2
-13
-18
0
0
0
0
0
0
-4
-17
-31
0
0
0
0
0
0
-3
-2
20
0
0
0
0
0
0
-1
8
31
0
0
0
0
-2
0
2
0
-21
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-2
-4
-1
3
0
0
0
0
1
-3
-3
8
24
0
0
0
0
0
0
0
-9
-18
0
0
0
0
0
8
0
-2
4
0
0
0
0
0
0
0
5
-48
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
-3
1
5
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
4
-13
-24
0
0
0
0
0
-4
0
2
-13
0
0
0
0
0
0
1
-17
13
0
0
0
0
0
2
0
-2
-7
0
0
0
0
2
0
0
-3
-45
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
-2
1
0
0
0
0
0
3
-3
-5
-14
48
0
0
0
0
4
-33
-7
-7
4
0
0
0
-1
0
-1
-49
-13
-17
0
0
0
0
0
-2
29
-125
23
0
0
1
0
0
4
64
-67
-34
0
0
0
0
0
-1
-41
-5
64
0
0
0
0
0
-3
-3
1
30
0
0
0
0
0
0
5
-37
25
0
0
0
0
0
0
13
-31
15
0
0
0
0
0
0
-7
26
-8
0
0
0
0
0
0
32
-72
22
0
0
0
0
0
-2
0
54
-43
0
0
-1
0
0
-8
-9
-10
11
0
0
0
0
0
4
-5
31
-4
0
0
0
0
0
0
-10
4
-5
0
0
0
0
0
-8
6
-20
31
0
0
0
0
0
3
9
-1
-13
0
0
0
0
-1
18
33
16
-68
0
0
0
-5
0
-3
0
-38
45
0
0
0
0
0
3
-13
3
30
0
0
2
0
0
-1
-4
-16
-5
0
0
0
0
0
15
-5
-20
-17
0
0
0
0
0
0
-10
1
5
0
0
0
0
0
1
0
-8
3
0
0
0
0
0
0
-13
18
-4
0
0
0
0
0
-13
8
-14
4
0
0
0
0
0
0
-8
27
11
0
0
0
0
0
0
1
-50
24
0
0
-2
0
0
0
-5
-5
-10
0
0
0
0
0
-7
-3
41
29
0
0
0
0
0
0
6
-13
35
0
0
0
0
0
-1
-3
-3
5
0
0
6
0
-1
-23
-31
4
4
0
0
0
0
17
-11
-54
18
40
0
0
0
0
0
0
-4
50
-5
0
0
0
0
5
2
-31
16
21
0
0
0
0
-1
-1
21
-67
18
0
0
0
0
-28
94
-52
17
40
0
0
0
0
-1
-3
-44
68
-39
0
0
0
0
0
4
12
-31
27
0
0
0
0
-1
8
-4
-13
-93
0
0
0
0
34
-28
18
-27
-22
0
0
0
0
0
0
-8
-41
102
0
0
0
0
0
-13
-5
81
2
0
0
0
0
0
5
-5
-43
9
0
0
0
0
-12
-5
-19
-49
32
0
0
0
0
0
-1
7
-16
26
0
0
0
0
9
0
-6
30
-55
0
0
0
0
-2
-19
25
4
5
0
0
0
0
-79
-16
8
-125
41
-2
0
0
0
0
-7
-28
50
53
3
0
0
0
1
-1
23
39
-81
-2
0
0
0
-3
-6
0
-29
8
-7
0
0
0
-5
-16
78
1
63
7
0
0
0
1
3
9
-30
76
-21
0
0
0
0
0
3
7
16
2
0
0
0
0
6
33
-8
-29
-15
0
0
0
-31
-7
-38
53
52
7
0
0
0
0
-1
-5
-57
19
20
0
0
0
10
0
41
62
-51
19
0
0
0
0
22
-15
13
33
-11
0
0
0
34
29
4
18
17
-4
0
0
0
3
2
8
59
-9
3
0
0
0
14
25
-13
-6
83
-14
0
0
0
10
-13
40
-36
-14
-1
0
0
0
0
0
21
-7
-15
0
0
0
-1
0
0
-20
-51
56
0
0
0
0
0
0
0
9
3
0
0
0
1
0
-4
-31
14
-30
0
0
0
0
0
3
30
-31
-34
0
0
0
-3
0
0
-5
24
46
0
0
0
0
0
0
0
-2
41
0
0
0
0
0
-6
4
14
-48
0
0
0
0
0
0
-2
-14
52
0
0
0
-32
0
1
0
-22
20
0
0
0
0
0
0
0
-18
3
0
0
0
-7
0
0
-4
8
42
0
0
0
0
0
-1
2
-2
12
0
0
0
0
0
-1
0
8
17
0
0
0
0
0
0
0
-9
-14
0
0
0
2
0
-1
-2
-50
22
0
0
0
0
0
0
7
10
28
3
0
0
11
4
-5
0
7
-13
-11
0
0
0
0
0
0
-41
9
5
0
0
0
0
0
-3
28
23
-16
0
0
0
0
-1
7
-45
23
-1
0
0
71
0
0
0
-36
-11
14
0
0
0
0
0
0
-23
29
27
0
0
0
0
0
1
-23
-31
14
0
0
0
0
0
0
-24
10
19
0
0
13
0
0
-2
-13
-12
21
0
0
0
0
0
0
-19
16
37
0
0
1
0
0
0
-8
-17
29
0
0
0
0
1
4
-27
-23
24
0
0
71
0
0
-8
25
36
-17
0
0
0
0
0
0
-41
-9
26
0
0
50
0
-4
-31
-42
45
-8
0
0
0
0
-3
-13
-51
35
0
0
0
0
0
0
0
8
-13
0
0
0
0
0
1
1
-56
20
0
0
0
0
0
-2
-5
22
-10
0
0
0
0
0
-1
2
2
31
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
-2
4
-5
0
0
0
0
0
-2
-3
-21
36
0
0
0
0
0
0
-1
30
-5
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
-4
0
-29
0
0
0
0
0
0
1
3
-27
0
0
0
0
0
0
-2
0
-33
47
0
0
0
0
0
0
0
-9
67
0
0
0
0
0
-1
-1
-5
27
0
0
0
0
0
3
-1
-34
42
0
0
0
0
4
0
4
3
70
-5
0
0
0
0
0
0
0
15
-2
0
0
0
0
0
5
49
52
-7
0
0
0
0
-1
0
40
-31
-10
0
0
0
0
0
0
-33
-1
29
0
0
0
0
0
1
0
32
52
0
0
0
1
0
2
29
-6
8
0
0
0
0
-1
3
10
1
-53
0
0
0
0
0
0
-26
44
24
0
0
0
0
0
0
-5
27
-5
0
0
0
0
0
-7
39
-1
-3
0
0
0
0
-3
-1
-19
-16
23
0
0
0
0
0
3
-1
56
-50
0
0
0
0
0
-4
-14
-1
30
0
0
0
1
0
3
-34
-7
-4
0
0
0
-2
1
32
-38
-1
1
0
0
0
0
-3
7
22
55
0
0
0
0
0
-2
7
35
-14
0
0
0
0
0
0
-2
34
13
0
0
-29
-2
0
1
18
-24
81
0
0
0
0
0
0
3
-37
110
0
0
0
0
0
-1
3
-18
-5
0
0
0
0
0
0
4
-3
8
0
0
2
0
0
-13
25
-7
-8
0
0
0
0
0
0
2
41
-5
0
0
0
0
0
0
5
-46
0
0
0
0
0
0
0
0
-18
0
0
0
-8
0
0
-1
4
-6
-20
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-2
7
31
0
0
0
0
0
0
5
-7
-24
0
0
-8
0
0
-2
7
-6
-30
0
0
0
0
0
0
-11
-148
33
-6
0
0
0
0
0
-2
-40
62
-1
0
0
0
0
0
-12
20
-42
-1
0
12
0
0
3
-41
109
-37
-8
0
0
0
0
1
0
-31
-31
35
0
0
0
0
0
-4
-16
5
27
0
0
0
0
0
2
-32
25
-4
0
8
0
0
0
-7
-25
-43
45
0
0
0
0
0
-22
18
62
-6
0
0
0
0
0
-13
-15
-37
-21
0
0
0
0
5
-9
-34
8
65
0
68
0
0
-1
-10
-67
-20
19
0
0
0
0
0
-5
-20
34
-47
0
0
0
0
1
19
-49
6
-115
0
0
0
0
0
-1
18
41
-48
0
79
0
1
-1
-18
-33
3
-9
0
0
0
8
-1
-24
-54
24
0
0
0
0
0
-4
-3
13
-45
0
0
0
0
0
0
12
18
14
0
0
0
0
0
2
1
2
27
0
0
0
0
3
6
-16
34
-7
0
0
0
0
0
0
0
-28
47
0
0
0
0
0
0
1
-3
8
0
0
0
0
0
0
-42
-14
55
0
0
0
0
-1
0
-2
0
35
0
0
0
0
0
0
0
-7
15
0
0
0
0
0
0
-5
2
2
0
0
0
0
0
0
1
8
-27
0
0
0
0
0
0
-5
4
-5
0
0
0
0
0
-1
0
-2
22
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
2
12
-8
-11
0
0
0
0
-31
10
-19
6
56
-2
0
0
0
0
0
0
-40
50
28
0
0
0
0
1
5
29
10
1
0
0
0
0
1
5
-48
4
23
0
0
0
-19
9
-3
17
71
-34
0
0
0
0
0
-14
-53
-6
11
0
0
0
0
0
-5
7
16
7
0
0
0
0
-9
3
-13
5
-82
0
0
0
0
-1
-9
14
-50
1
0
0
0
0
-1
0
-2
1
-5
0
0
0
0
0
0
-12
-4
-39
0
0
0
0
-1
1
-1
7
-12
0
0
0
9
-1
9
-10
77
-34
0
0
0
-1
0
7
-24
-7
-17
0
0
0
0
0
0
9
16
-22
0
0
0
-13
-19
71
74
-24
-15
0
0
0
3
1
1
16
-2
0
0
0
18
0
0
0
26
22
0
0
0
0
0
0
-3
2
1
0
0
0
0
0
0
5
-65
95
0
0
0
0
0
0
0
13
-41
0
0
0
0
0
0
1
-23
42
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-20
-3
47
0
0
0
0
0
0
3
8
-4
0
0
0
5
0
0
-1
-5
-8
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
1
-13
-2
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
-3
-19
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
17
6
9
0
0
0
0
0
0
19
-18
59
0
0
0
-32
0
0
0
2
-40
52
0
0
0
0
0
1
4
0
65
0
0
0
0
0
-3
19
5
-94
0
0
0
1
0
-1
-5
-40
15
0
0
13
0
0
15
-15
17
-39
0
0
0
0
0
0
4
-25
-63
0
0
0
0
0
-5
6
9
-29
0
0
0
0
0
-2
10
-25
24
0
0
-1
0
0
2
8
-4
-43
0
0
0
0
0
-1
2
3
-4
0
0
0
0
0
1
0
-6
-21
0
0
0
0
0
6
21
56
-70
0
0
4
0
0
4
7
5
12
0
0
0
0
0
5
18
-13
-50
0
0
-2
1
0
15
-65
65
-39
0
0
0
0
-3
-2
14
28
0
0
0
0
0
0
0
43
17
0
0
0
0
0
7
1
5
19
0
0
0
0
0
0
-6
-34
22
0
0
0
0
0
0
-3
-4
-2
0
0
0
0
0
0
0
-3
-18
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
-3
8
1
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
3
-1
3
2
0
0
0
0
-1
0
2
7
-23
-3
0
0
0
0
0
1
-25
24
-2
0
0
0
0
-2
-1
-10
8
0
0
0
0
0
0
-2
-2
1
13
0
0
0
1
0
-7
0
-31
12
0
0
0
0
0
0
4
-31
3
0
0
0
2
0
0
-8
4
55
0
0
0
0
0
2
-2
-2
-32
0
0
0
0
-3
0
1
-31
29
0
0
0
0
0
0
-3
-2
-13
0
0
0
0
0
-2
3
0
-10
0
0
0
0
0
0
-1
0
-40
0
0
0
1
0
0
2
-12
-50
0
0
0
0
0
0
1
8
-17
0
0
0
0
0
6
12
4
-43
0
0
0
0
1
-14
-21
-28
-3
0
0
0
-1
-1
-13
-6
44
0
0
0
0
0
0
-8
-75
8
0
0
0
0
0
0
-1
10
-41
0
0
-3
0
0
0
14
-66
33
0
0
0
0
0
-1
3
-1
-28
0
0
0
0
0
0
7
4
59
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
-8
1
-24
31
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
-3
4
-9
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
0
1
12
0
0
0
0
0
2
25
-20
5
0
0
0
0
0
0
22
110
-9
-2
0
0
0
0
-1
-1
-6
-10
22
0
0
0
0
0
-6
-4
24
-33
0
-5
0
0
3
5
-17
9
16
0
0
0
0
0
5
-2
27
-69
0
0
0
0
0
22
-25
12
-47
0
0
0
0
2
7
-6
-9
23
0
-2
0
-1
-1
-13
43
-8
-15
0
0
0
0
0
13
-4
-4
-25
0
0
0
0
0
0
-6
19
-14
0
0
0
0
0
-10
-1
6
-86
0
0
0
0
0
-19
2
-1
-16
0
0
0
0
0
-4
3
-39
-40
0
0
0
0
2
4
-32
-5
-14
0
0
0
0
-2
19
-24
-1
-51
0
-6
-1
0
12
-30
-41
42
22
0
0
0
-23
-4
29
-30
-25
0
0
0
0
0
-4
-3
13
71
0
0
0
0
0
0
-9
-41
44
0
0
0
0
0
-1
8
-24
46
0
0
0
0
2
-40
33
-21
-6
0
0
0
0
0
0
-12
-29
9
0
0
0
0
-1
-7
0
2
12
0
0
0
0
0
0
2
-27
27
0
0
0
0
34
42
-39
1
-13
0
0
0
0
0
0
-8
-49
41
0
0
0
0
0
-1
13
29
-1
0
0
0
0
1
0
20
-2
-20
0
0
0
0
0
-9
5
6
23
0
0
0
0
0
0
1
-4
-13
0
0
0
0
2
2
1
-25
9
0
0
0
0
1
1
-4
3
-11
0
0
0
0
-24
65
22
-58
9
8
0
0
0
0
0
-15
16
-22
5
0
0
0
0
2
-7
-58
27
14
0
0
0
0
0
0
-11
-18
12
0
0
0
17
-1
47
13
-2
-113
0
0
0
0
0
0
-1
32
-24
0
0
0
2
-3
0
0
13
6
0
0
0
0
0
-2
1
-20
-23
0
0
0
27
-50
21
12
10
-31
3
0
0
0
-3
37
14
20
-19
-9
0
0
0
5
13
-20
63
-1
11
0
0
0
-4
39
46
75
-61
0
0
0
-17
-4
13
1
-22
-49
13
0
0
0
-1
0
-102
40
40
-8
0
0
-8
0
9
-18
41
-14
7
0
0
-18
54
66
25
-59
-69
-1
0
0
0
0
-4
43
-4
0
0
0
1
0
-1
-6
18
9
0
0
0
0
0
0
0
9
20
0
0
0
0
0
2
-4
-75
42
0
0
0
0
0
-8
0
23
77
0
0
0
0
0
-3
-5
-14
50
0
0
0
0
0
0
0
-3
-25
0
0
0
0
0
0
-13
31
-49
0
0
0
0
0
0
0
-18
14
0
0
0
26
0
0
-7
14
-54
0
0
0
0
0
0
0
-49
13
0
0
0
2
0
-1
-3
28
-16
0
0
0
0
0
0
0
-9
54
0
0
0
1
0
0
-4
0
19
0
0
0
0
0
0
0
-3
-27
0
0
0
3
0
4
14
-47
-25
0
0
0
0
0
0
2
-12
7
1
0
0
17
0
-3
-3
13
-12
12
0
0
0
0
0
0
5
-30
7
0
0
0
0
0
-8
-13
52
-4
0
0
0
0
0
-4
-5
29
29
0
0
0
0
1
1
1
-41
10
0
0
0
0
0
0
2
2
19
0
0
0
0
0
0
0
14
5
0
0
0
0
2
3
27
21
-23
-18
0
30
0
-3
8
-17
25
-47
-14
0
0
0
0
2
-61
94
-88
-1
0
0
0
3
-37
-49
1
-68
10
0
0
0
0
0
-17
-37
-25
-10
0
-42
0
0
-19
13
42
20
-27
0
0
0
2
0
-25
-29
8
32
0
16
0
-2
-21
-85
55
-75
-34
0
0
2
-3
-3
5
55
0
0
0
0
0
0
-2
-27
61
0
0
0
0
0
0
4
-65
58
0
0
0
0
0
0
0
25
49
0
0
0
0
0
-1
-2
20
-34
0
0
0
0
0
0
-4
-21
4
0
0
0
0
0
-2
3
1
2
0
0
0
0
0
0
-17
6
0
0
0
0
0
0
0
3
0
-28
0
0
0
0
0
0
0
3
18
0
0
0
0
0
1
-1
-5
-8
0
0
0
0
0
-1
-2
2
-5
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
-3
5
-14
0
0
0
0
0
0
2
-3
4
0
0
0
0
-2
0
-1
5
-11
2
0
0
0
0
0
0
-28
68
22
0
0
0
0
0
1
-16
5
-9
0
0
0
0
0
0
-30
-27
22
0
0
0
0
0
-2
6
21
-18
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
2
-37
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
3
-96
14
-37
13
0
0
0
0
-1
71
-24
-41
-28
0
0
0
-8
0
-36
-32
-14
1
0
0
0
0
-3
31
7
-35
-28
0
0
0
2
3
7
0
-37
16
0
0
0
0
0
3
-13
-41
-7
0
0
2
0
0
8
-23
-25
9
0
0
0
13
-24
3
-47
-7
14
0
0
0
3
13
44
-28
0
0
0
0
0
0
1
-33
28
0
0
0
0
0
0
0
31
-22
0
0
17
0
0
-1
-3
0
79
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-7
0
30
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
-46
10
0
0
0
0
0
8
1
14
-13
0
0
0
0
0
0
-2
-49
45
0
0
0
0
0
-4
1
-42
0
0
0
5
0
0
2
-2
-30
8
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
8
-3
0
0
0
0
0
0
0
10
2
0
0
0
0
0
1
1
-1
-32
0
0
0
0
0
0
3
14
43
-2
0
0
3
0
0
-8
49
67
-66
0
0
0
0
0
0
-7
5
-21
0
45
0
0
0
-24
-75
5
-6
0
0
0
0
0
0
0
1
-47
0
0
0
0
0
-1
-8
0
31
0
0
0
0
0
0
0
3
-58
0
0
0
0
0
0
-8
0
72
0
0
0
0
-1
30
-20
36
-35
-4
0
0
0
3
-61
-14
-31
-47
16
0
0
0
0
-3
-4
-59
10
-40
-49
0
0
-2
-3
-41
49
-41
8
0
0
0
1
3
43
-6
-71
12
0
0
0
0
-3
-17
-7
-47
81
0
0
0
2
0
10
0
13
-73
-57
-3
2
-22
-29
-60
58
4
-11
0
0
5
-15
19
-60
-10
0
0
0
0
0
2
-20
-46
29
0
0
0
0
-3
-3
-9
-61
86
0
0
0
0
0
1
3
-12
-47
0
0
0
0
-5
3
4
6
39
0
0
0
0
0
-7
-3
37
-21
0
0
0
0
-1
1
-1
6
10
0
0
0
0
0
-2
-4
17
-17
0
0
0
0
13
31
24
-7
-19
0
0
0
0
0
-4
4
8
87
0
0
0
0
0
2
-12
-35
21
0
0
0
0
0
0
-10
13
31
0
0
0
0
2
3
-8
-44
9
0
0
0
0
0
0
1
-1
50
0
0
0
0
0
4
-1
16
5
0
0
0
0
0
8
-1
-20
-5
0
0
0
0
7
-23
47
40
29
-21
0
0
0
0
-1
8
-17
40
-49
0
0
0
-1
0
-1
-8
6
20
0
0
0
0
0
6
8
-9
-10
0
0
0
-14
-2
-3
-1
-7
-3
0
0
0
0
0
0
-14
-19
-7
0
0
0
0
7
-1
-1
-8
-17
0
0
0
0
1
-3
-12
-8
-12
0
0
0
6
2
5
19
-25
-32
9
0
0
0
0
-1
43
-3
12
-18
0
0
0
1
0
-44
19
-64
38
0
0
0
0
-2
30
25
-32
-7
0
0
5
5
13
3
-8
-12
-5
0
0
2
0
8
10
-22
6
42
0
0
-1
-3
0
-12
-43
40
-32
0
0
11
0
-52
-26
62
-6
-11
0
0
-1
-1
-2
-5
11
0
0
0
-43
0
1
1
-40
74
0
0
0
0
-5
0
2
-16
8
0
0
0
6
0
0
-35
8
-3
0
0
0
0
0
1
-4
13
-35
0
0
0
0
0
0
-14
-13
28
0
0
0
0
0
0
-1
-3
-41
0
0
0
0
0
-3
4
-27
40
0
0
0
0
0
0
-1
23
11
0
0
0
-41
0
4
-3
13
27
0
0
0
0
0
0
0
-23
18
0
0
0
-5
0
0
6
-41
-20
0
0
0
0
0
0
0
4
-1
0
0
0
-2
0
0
0
-8
9
0
0
0
0
0
-2
-3
9
5
0
0
0
0
0
0
-8
0
43
0
0
0
0
0
0
0
25
-40
-17
0
0
41
0
3
0
0
39
-82
0
0
0
0
0
1
-21
14
-10
0
0
0
0
2
2
18
-17
-10
0
0
0
0
0
5
-8
35
-8
0
0
-13
0
0
2
0
22
-32
0
0
0
0
0
0
2
-2
-2
0
0
0
0
0
-7
1
-8
6
0
0
0
0
0
-1
0
39
-16
-4
0
4
0
0
3
-34
48
-62
-16
0
0
0
0
-1
-8
0
-69
48
0
0
0
0
-5
-31
-13
16
27
0
0
0
0
-1
4
-1
-51
47
0
-1
0
0
3
-29
52
-22
-43
0
0
0
0
-2
25
-23
-20
-39
0
-15
0
-7
-19
-10
92
-19
-37
0
0
-1
-57
27
20
41
0
0
0
0
0
-8
-2
19
10
0
0
0
0
0
0
-15
-6
20
0
0
0
0
0
0
-16
36
-13
0
0
0
0
0
-3
24
-8
-8
0
0
0
0
0
-1
5
-22
41
0
0
0
0
0
0
0
-13
16
0
0
0
0
0
-10
12
-1
8
0
0
0
0
-5
-9
2
8
-20
0
0
0
0
0
0
0
-16
16
0
0
0
0
0
0
1
5
-29
0
0
0
0
0
0
-3
-30
34
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-5
-1
6
0
0
0
0
0
0
0
10
-33
0
0
0
0
0
0
0
8
-7
0
0
0
0
6
23
-6
-3
62
5
0
0
0
-1
1
-6
26
42
-1
0
0
0
0
-4
1
-8
23
15
0
0
0
0
-1
4
0
30
-63
0
0
0
5
-1
5
3
8
-55
0
0
0
-1
0
0
-10
-21
8
0
0
0
-2
0
0
6
1
-28
0
0
0
0
-9
1
-4
7
2
0
0
0
28
3
-18
-51
-26
15
1
0
0
0
-2
-2
-27
75
44
-33
0
0
0
-5
-2
5
-19
-73
40
0
0
0
0
-1
-6
-22
-40
67
0
0
9
-2
6
-4
5
-21
-41
0
0
0
0
-4
3
1
-29
-26
0
0
0
3
3
-7
2
-13
-14
0
0
-13
-42
-9
32
-68
-20
34
0
0
32
32
41
-24
-6
0
0
0
14
6
-6
20
32
7
0
0
0
0
-13
-39
20
-56
35
0
0
19
14
-55
-32
-13
-26
32
0
0
0
0
60
26
56
76
-42
0
0
0
38
1
-36
-54
-9
-3
0
0
0
0
-22
18
13
10
-69
0
0
-4
-5
5
-17
-63
-13
40
0
0
0
0
-29
-30
18
-33
-6
0
0
0
-15
0
-35
2
-19
-28
0
0
0
0
19
25
-40
-49
6
0
0
62
-24
-2
2
-6
-50
-1
0
0
0
0
-1
48
54
-26
-59
0
0
0
-28
0
-12
-14
-50
51
0
0
0
0
-30
-19
29
15
22
0
0
32
22
4
-35
12
-62
-32
0
0
0
0
-19
-5
-29
110
59
-15
0
0
14
12
-5
-37
-56
-15
19
0
0
0
5
33
4
-22
9
-47
0
-5
11
5
30
14
-56
26
-44
0
0
0
81
26
46
-42
-23
-12
0
0
-20
-8
9
-25
11
-25
-18
0
0
0
25
25
-60
17
5
4
0
41
9
-10
-14
-66
-19
-6
0
0
0
0
36
-14
-33
75
4
-33
5
0
-5
19
-31
14
-36
1
-66
-34
0
0
-41
-48
-38
-11
48
-55
0
-11
-8
-8
21
27
-115
14
-22
-11
0
0
-26
-18
31
-17
42
-12
-21
0
2
8
-15
5
-33
3
-6
-46
0
0
-14
-33
-20
-51
-1
11
20
-92
-11
55
5
3
-61
-25
-49
-10
0
0
39
51
23
24
-3
0
0
0
0
0
-5
-47
-32
35
0
0
0
0
0
42
-40
-28
11
0
0
0
0
0
-7
-3
31
-3
0
0
0
0
14
5
-13
9
27
0
0
0
0
0
13
-1
25
7
0
0
0
0
-1
-5
-2
-5
73
0
0
0
0
0
2
70
-178
50
0
0
0
0
51
20
-42
-29
-2
0
0
0
0
0
-3
7
40
-2
0
0
0
0
0
5
1
17
-47
0
0
0
0
0
3
13
36
-6
0
0
0
0
-2
2
27
9
-12
0
0
0
0
0
0
20
35
7
0
0
0
0
-2
6
-7
-63
42
0
0
0
0
0
-7
34
-62
41
0
0
0
0
-58
13
32
-67
47
0
0
0
0
0
2
-6
-31
36
0
0
0
0
0
1
6
-101
27
0
0
0
0
0
0
54
-76
-5
0
0
0
0
-15
16
17
-9
4
0
0
0
0
0
0
-3
-18
1
0
0
0
0
0
0
-13
-8
12
0
0
0
0
0
-3
2
5
36
0
0
0
0
4
-54
-3
-22
-3
0
0
0
0
0
1
-3
24
16
0
0
0
0
1
0
-8
-21
31
0
0
0
0
0
2
-6
44
13
0
0
0
0
47
-62
1
24
34
0
0
0
0
0
-1
22
-11
43
0
0
0
0
20
-8
-12
45
18
0
0
0
0
27
-30
-48
-48
56
0
0
0
0
0
-2
-12
16
6
0
0
0
-67
0
0
-1
-30
9
0
0
0
0
0
0
1
4
-3
0
0
0
0
0
1
12
0
7
0
0
0
0
0
0
5
-45
9
0
0
0
42
0
0
-1
11
53
0
0
0
0
0
0
-2
-29
11
0
0
0
0
0
5
-13
20
-1
0
0
0
0
0
0
0
30
-5
0
0
0
-64
0
0
2
-21
17
0
0
0
0
0
0
-1
33
0
0
0
0
-1
0
-3
2
-21
19
0
0
0
0
0
0
-4
40
9
0
0
0
0
0
0
1
-25
15
0
0
0
0
0
0
6
-51
-9
0
0
0
0
0
1
-12
43
20
0
0
0
0
0
0
5
46
-24
0
0
0
2
0
0
2
-43
10
0
0
0
0
0
0
1
-55
28
0
0
0
0
0
0
0
-21
72
0
0
0
0
0
0
-1
10
-8
0
0
0
49
0
0
1
-84
44
0
0
0
0
0
0
0
37
-39
0
0
0
0
0
0
1
-50
36
0
0
0
0
0
0
0
1
15
0
0
0
36
0
0
-1
29
-41
0
0
0
0
0
0
0
8
-62
0
0
0
0
0
-1
-1
46
-27
0
0
0
0
0
0
0
-86
10
0
0
0
-53
0
0
-7
0
47
0
0
0
0
0
0
3
2
3
0
0
0
56
0
-25
-16
-4
3
0
0
0
0
0
1
25
-34
20
0
0
0
0
0
0
20
29
15
0
0
0
0
0
0
35
-85
71
0
0
0
0
0
-5
-3
-2
6
0
0
0
0
0
0
-7
-55
44
0
0
0
0
0
0
15
-79
24
0
0
0
0
0
0
6
-58
14
0
0
0
0
0
-2
-24
33
5
0
0
0
0
0
0
-15
32
57
0
0
0
0
0
0
-1
-31
29
0
0
0
0
0
0
-7
41
-85
0
0
0
0
0
-1
-4
9
-29
0
0
0
0
0
0
2
-68
85
0
0
0
0
0
0
0
2
16
0
0
0
0
0
0
0
17
-31
0
0
0
0
0
-2
-9
-16
49
0
0
0
0
0
0
13
-75
12
0
0
0
0
0
0
8
-60
25
0
0
0
0
0
0
1
-8
-22
0
0
0
0
0
0
-16
6
27
0
0
0
0
0
1
-8
8
-20
0
0
0
0
0
0
-5
-2
23
0
0
0
0
0
0
0
15
-16
0
0
0
0
0
0
3
5
-13
0
0
0
0
-1
2
16
-46
3
0
0
0
0
0
0
0
4
81
0
0
0
0
0
0
-17
-13
58
0
0
0
0
0
0
4
-31
16
0
0
0
0
0
1
-1
-30
-11
0
0
0
0
0
0
9
-31
30
0
0
0
0
0
0
-1
20
19
0
0
0
0
3
-9
-42
-10
40
0
0
0
0
0
-4
-25
-11
31
0
0
0
0
0
0
1
-36
25
0
0
0
0
0
0
52
-36
-21
0
0
-23
0
0
0
-31
16
44
0
0
0
0
0
0
30
-15
-70
0
0
0
0
0
0
8
17
39
0
0
0
0
0
0
8
23
51
0
0
-1
0
0
0
22
-14
-51
0
0
0
0
0
-1
31
57
-6
0
0
0
0
0
0
23
-40
-11
0
0
0
0
0
0
-27
48
13
0
0
24
0
0
1
9
-35
-59
0
0
0
0
0
0
-15
-8
-7
0
0
0
0
0
0
12
-22
9
0
0
0
0
0
0
8
-58
107
0
0
-10
0
0
0
-57
27
-4
0
0
0
0
0
0
54
-24
1
0
0
0
1
0
0
9
-20
16
0
0
0
0
0
-1
7
42
16
0
0
30
0
0
-1
-1
16
-45
0
0
0
0
0
0
-21
8
-4
0
0
0
0
0
0
-24
-32
72
0
0
0
0
0
0
-23
-17
38
0
0
3
0
0
0
-5
-10
25
0
0
0
0
0
1
9
-38
40
0
0
0
0
0
0
-9
48
5
0
0
0
0
0
0
-21
3
15
0
0
-40
0
0
-3
3
56
3
0
0
0
0
0
0
7
1
-10
0
0
0
0
0
0
16
19
-47
0
0
0
0
0
2
9
-4
17
0
0
43
5
1
-5
-20
-21
-5
0
0
0
0
-4
-4
-24
25
31
0
0
0
0
0
1
-8
-41
21
0
0
0
0
0
0
24
-27
33
0
0
0
0
0
0
26
-75
58
0
0
0
0
0
-1
-3
-2
17
0
0
0
0
0
0
17
-12
9
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
20
-9
-25
0
0
0
0
0
0
-7
-49
65
0
0
0
0
0
0
-2
-20
66
0
0
0
0
0
0
-1
-13
45
0
0
0
0
0
1
5
-7
62
0
0
0
0
0
0
-3
7
-2
0
0
0
0
0
0
-6
-12
13
0
0
0
0
0
0
1
16
-20
0
0
0
0
0
2
-7
-10
44
0
0
0
0
3
-5
2
-45
5
0
0
0
0
0
2
0
0
9
0
0
0
0
0
3
1
-15
6
0
0
0
0
0
3
-8
15
-6
0
0
0
0
0
0
0
10
14
0
0
0
0
0
0
1
-13
-15
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
7
-6
-4
0
0
0
0
0
1
-7
-13
-5
12
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
1
0
43
-22
0
0
0
0
0
0
8
45
-47
0
0
0
0
0
0
5
-2
-6
0
0
0
0
0
0
2
-13
16
0
0
0
0
0
0
5
0
24
0
0
0
0
0
6
49
31
-34
0
0
0
0
0
0
28
17
-29
0
0
0
7
0
0
-5
15
-21
0
0
0
0
0
0
7
2
-11
0
0
0
0
0
-2
10
-31
47
0
0
0
0
0
0
1
-1
76
0
0
0
0
0
0
1
-15
14
0
0
0
0
0
0
-3
1
-39
0
0
0
0
0
1
-5
-5
4
0
0
0
0
0
0
1
-1
30
0
0
0
0
0
2
-1
13
41
0
0
0
0
0
0
2
4
1
0
0
0
0
0
0
-3
1
27
0
0
0
0
0
0
-3
1
22
0
0
0
0
0
0
-5
-3
49
0
0
0
0
0
0
0
4
18
0
0
0
0
0
5
15
-22
-24
0
0
0
0
0
0
7
24
-13
0
0
0
1
0
0
1
6
-12
0
0
0
0
0
0
-2
-9
-8
0
0
0
0
0
0
-1
-25
17
0
0
0
0
0
0
3
-5
9
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
1
1
2
0
0
0
0
0
1
-2
-12
-17
0
0
0
-5
0
0
2
-46
13
0
0
0
0
0
0
-4
7
18
0
0
0
0
0
0
-2
-20
24
0
0
0
0
0
0
0
-9
-16
0
0
0
1
0
0
2
-8
31
0
0
0
0
0
0
-4
0
-42
0
0
0
-5
0
3
0
-59
5
0
0
0
0
1
0
4
10
47
0
0
0
0
0
0
-5
-20
63
0
0
0
0
0
1
0
-8
19
0
0
0
0
0
-1
-3
44
-23
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
-2
3
-56
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
4
4
0
-5
0
0
0
0
1
-3
0
25
-34
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-24
8
0
0
0
0
0
2
2
-25
16
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
1
0
4
37
0
0
0
0
0
0
0
-3
7
0
0
0
0
3
0
0
13
-4
0
0
0
0
0
0
-1
-21
10
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-6
-8
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
0
0
0
0
0
-4
0
15
-24
0
0
0
0
0
1
3
-12
-19
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
-1
0
-8
19
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
3
14
3
0
0
0
0
0
0
0
-13
-54
0
0
0
0
0
-20
-1
-18
37
0
0
0
0
0
-4
-94
16
36
0
0
0
0
0
4
27
-37
35
0
0
-1
0
0
25
-5
-6
-3
0
0
0
0
0
1
24
-82
20
0
0
0
0
0
0
-5
-27
6
0
0
0
0
0
3
13
-8
-13
0
0
0
0
0
3
20
-10
5
0
0
0
0
0
3
33
14
-33
0
0
0
0
0
0
-41
3
39
0
0
0
0
0
0
25
6
44
0
0
0
0
0
4
31
13
-43
0
0
0
0
0
1
-4
-21
23
0
0
0
0
0
-2
9
-10
54
0
0
0
0
0
0
44
-2
19
0
0
0
0
0
-15
9
-2
-23
0
0
0
0
0
22
34
40
-14
0
0
0
2
0
-6
-1
-19
39
0
0
0
0
0
2
-6
15
22
0
0
-1
0
0
7
-40
22
1
0
0
0
0
0
4
25
10
-30
0
0
0
0
0
4
24
-19
-9
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-8
-3
37
-6
0
0
0
0
0
27
9
-102
-3
0
0
0
0
0
-8
-15
49
-12
0
0
0
0
0
0
-21
-2
1
0
0
-1
0
0
-1
-42
-76
2
0
0
0
0
0
-10
29
13
-21
0
0
0
0
0
1
-19
-4
-3
0
0
0
0
0
-17
-5
-16
19
0
0
4
0
-1
5
-46
24
-32
0
0
0
0
74
-14
19
6
-39
0
0
0
0
0
-3
6
-49
40
0
0
0
0
-1
-9
-13
107
-11
0
0
0
0
-4
7
42
-22
33
0
0
0
0
0
5
-9
-6
-64
0
0
0
0
0
0
1
18
6
0
0
0
0
0
0
3
-16
7
0
0
0
0
0
-3
-9
31
13
0
0
0
0
1
-22
-3
1
-2
0
0
0
0
0
0
-4
-68
-20
0
0
0
0
0
-9
-1
2
31
0
0
0
0
0
-3
6
-4
-9
0
0
0
0
0
-3
0
-2
35
0
0
0
0
0
-2
-12
7
15
0
0
0
0
0
-1
-1
-1
-5
0
0
0
0
-2
0
1
-2
27
0
0
0
0
-8
-21
-10
18
54
0
0
0
0
0
0
-4
-8
25
0
0
0
0
0
0
1
24
-2
0
0
0
0
0
1
3
-22
-31
0
0
0
0
0
3
2
-1
-23
0
0
0
0
0
0
-3
9
40
0
0
0
0
0
0
2
-3
-2
0
0
0
0
0
0
4
-8
-8
0
0
0
0
4
18
-2
17
-9
0
0
0
0
0
0
-2
-20
25
0
0
0
0
0
0
0
-15
4
0
0
0
0
0
0
1
37
5
0
0
0
0
-5
-16
-2
-4
-10
0
0
0
0
0
0
0
-24
5
0
0
0
0
1
1
0
-17
31
0
0
0
0
1
-5
74
-51
27
0
0
0
0
0
0
-1
-93
49
0
0
0
7
0
0
4
-46
40
0
0
0
0
0
0
-1
32
-1
0
0
0
0
0
0
-4
53
13
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
-2
2
-8
6
0
0
0
0
0
0
0
-13
29
0
0
0
0
0
1
-3
-50
16
0
0
0
0
0
0
0
3
14
0
0
0
0
0
0
0
-45
55
0
0
0
0
0
0
-1
-31
46
0
0
0
0
0
0
-5
5
55
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
-6
35
0
0
0
0
0
0
1
-13
13
0
0
0
0
0
0
-2
-32
44
0
0
0
9
0
-1
2
-9
-14
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
-8
8
17
0
0
0
0
0
0
-1
0
41
0
0
0
-3
0
0
0
-8
33
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-14
-7
0
0
0
0
0
0
5
-8
43
0
0
0
-2
0
0
0
3
16
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
-8
26
0
0
0
4
0
0
3
-43
10
0
0
0
0
0
0
-2
5
-3
0
0
0
-32
0
0
17
13
-19
0
0
0
0
0
3
8
29
30
0
0
0
0
0
-2
0
15
5
0
0
0
0
0
7
0
-14
-23
0
0
0
0
0
0
29
-63
-7
0
0
0
0
0
0
0
13
-25
0
0
0
0
0
0
8
-44
43
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
-1
-6
20
5
0
0
0
0
0
1
-4
-19
58
0
0
0
0
0
0
-1
8
5
0
0
0
0
0
0
0
-6
23
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
2
14
0
0
0
0
0
-1
0
-2
-23
0
0
0
0
0
-1
2
9
14
0
0
0
0
-2
-5
-1
-5
45
0
0
0
0
0
1
1
19
-1
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
0
-7
-8
14
0
0
0
0
-2
1
0
-14
35
0
0
0
0
0
0
-6
-12
46
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
-2
-3
-8
0
0
0
0
0
0
1
4
31
0
0
0
0
0
1
-2
-10
30
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-4
-5
21
11
0
0
0
0
0
0
1
9
8
0
0
0
0
0
-2
-32
21
-20
0
0
0
0
0
-4
-36
37
47
0
0
0
0
0
3
1
-41
27
0
0
0
0
0
4
-7
31
10
0
0
-16
0
0
0
19
-10
5
0
0
0
0
0
0
-3
-13
-27
0
0
0
0
0
-7
-20
8
34
0
0
0
0
0
0
1
-10
-5
0
0
0
0
0
0
13
16
-9
0
0
0
0
0
2
16
9
-24
0
0
0
0
0
1
13
-13
24
0
0
0
0
0
-2
1
-35
17
0
0
2
0
0
-2
4
28
-16
0
0
0
0
0
0
-3
23
-5
0
0
0
0
0
0
-6
1
5
0
0
0
0
0
-2
0
-18
8
0
0
0
0
0
0
1
3
20
0
0
0
0
0
3
2
-17
1
0
0
0
0
0
0
6
-52
78
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
4
16
-35
-5
0
0
0
0
0
1
3
-5
-4
0
0
0
0
0
0
5
-37
29
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
-34
4
0
0
0
0
0
-8
-9
29
-31
0
0
0
-3
0
0
-2
31
1
0
0
0
0
0
0
0
-8
10
0
0
1
0
0
1
0
-12
1
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
-8
8
33
0
0
0
0
0
0
1
-31
0
0
0
-41
1
0
9
0
-13
28
0
0
0
0
3
-2
-2
-7
19
0
0
0
0
0
6
0
-7
-31
0
0
0
0
0
0
0
-8
32
0
0
0
0
0
0
-3
1
40
0
0
0
0
0
0
-2
1
5
0
0
0
0
0
0
0
18
-60
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
0
5
-12
0
0
0
0
1
1
0
1
35
0
0
0
0
0
0
0
8
39
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
-9
25
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
-1
0
37
0
0
0
0
0
0
0
2
-24
0
0
0
0
0
0
-2
8
-44
0
0
0
0
0
1
1
1
-40
0
0
0
0
0
0
-2
-42
44
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
8
-4
0
0
0
0
0
0
0
-2
-42
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
-7
2
0
0
0
0
0
1
-1
-2
12
20
0
0
0
0
0
0
0
-13
28
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-2
0
-4
0
0
0
0
0
0
0
5
3
0
0
0
0
0
-1
0
-2
-5
0
0
0
0
0
-18
-19
-8
14
0
0
0
0
0
0
1
-25
80
0
0
0
4
0
0
-1
-57
16
0
0
0
0
0
0
0
-6
56
0
0
0
0
0
0
0
-27
56
0
0
0
0
0
0
4
0
30
0
0
0
0
0
0
0
12
-11
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
-5
29
0
0
0
0
0
4
0
-4
35
0
0
0
0
0
0
1
-6
2
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
-2
1
30
0
0
0
-1
0
0
2
2
59
0
0
0
0
0
0
0
-2
22
0
0
0
0
0
0
4
-1
21
0
0
0
0
0
0
-3
6
9
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-1
-3
0
-12
0
0
0
3
0
0
0
-2
-7
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
1
-1
-2
0
0
0
0
-1
0
-64
-28
56
0
0
0
0
8
-1
-9
-3
-3
0
0
0
0
0
-2
3
-41
13
0
0
0
0
0
-3
-2
-12
56
0
0
0
0
0
0
0
-23
16
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-9
44
0
0
0
0
0
0
0
-9
7
0
0
0
0
0
0
0
-17
29
0
0
0
0
0
-1
-2
-14
-17
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
5
2
4
-21
0
0
0
0
0
0
-1
-3
41
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-2
12
0
0
0
0
-1
-1
1
0
8
0
0
0
0
-23
1
0
0
40
0
0
0
0
0
0
3
-5
17
0
0
0
0
0
0
-1
4
6
0
0
0
0
0
0
-10
-8
22
0
0
0
0
0
0
3
0
-29
0
0
0
0
0
0
0
3
-21
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
0
1
-5
0
0
0
0
35
2
1
0
-21
0
0
0
0
0
0
0
-7
50
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
-1
1
-5
0
0
0
0
2
-4
3
-4
18
0
0
0
0
-2
0
0
-5
13
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
33
-19
2
-14
0
0
0
0
-5
46
3
-91
68
0
0
0
6
0
5
-8
12
-26
0
0
0
0
0
8
-5
-38
87
0
0
4
0
0
0
-25
57
-49
0
0
0
0
0
14
15
-15
24
0
0
0
0
0
30
-20
-5
-12
0
0
0
0
0
-3
3
4
13
0
0
0
0
0
-8
8
-41
47
0
0
0
0
0
-30
0
35
10
0
0
0
1
0
-4
4
-15
-32
0
0
0
0
0
2
3
5
-20
0
0
1
0
0
-6
-12
-3
29
0
0
0
0
0
28
-8
7
-40
0
0
0
0
0
-1
6
0
-10
0
0
0
0
0
3
2
3
7
0
0
0
0
-1
-3
7
-12
8
0
0
0
0
2
-1
77
-23
-5
0
0
0
4
0
1
21
-40
-30
0
0
0
0
0
0
-10
-12
30
0
0
-2
0
0
0
19
-19
-31
0
0
0
0
-3
25
1
7
5
0
0
0
0
0
-34
-3
-2
15
0
0
0
0
0
-2
-3
0
4
0
0
0
0
0
1
4
2
-25
0
0
0
0
-5
-24
35
42
13
0
0
0
0
0
-4
8
-7
8
0
0
0
0
0
-24
7
5
20
0
0
-7
0
0
-8
-5
6
-5
0
0
0
0
-5
-19
-4
1
-45
0
0
0
-1
0
-8
8
-14
-30
0
0
0
0
0
-18
8
-42
42
0
0
-3
-1
0
-3
49
-41
37
0
0
0
0
33
-41
-12
-13
46
0
0
0
0
0
1
3
-44
27
0
0
0
0
2
1
-1
4
41
0
0
0
0
0
1
-12
-49
20
0
0
0
0
0
25
-10
-25
69
0
0
0
0
0
0
-3
29
22
0
0
0
0
0
1
5
8
4
0
0
0
0
0
0
10
-8
1
0
0
0
0
-41
4
0
-3
41
0
0
0
0
0
0
1
-1
17
0
0
0
0
0
2
2
28
1
0
0
0
0
0
4
22
-26
-37
0
0
0
0
0
-2
-1
-2
12
0
0
0
0
0
0
0
-19
-59
0
0
0
0
2
3
0
0
-38
0
0
0
0
-2
0
41
12
-8
0
0
0
0
17
7
-9
30
15
5
0
0
0
0
0
4
-41
14
3
0
0
0
0
1
6
-16
41
-13
0
0
0
0
0
1
-21
31
-14
0
0
0
0
1
-2
-3
22
-1
0
0
0
0
0
-5
4
18
12
0
0
0
-4
-1
0
0
-4
-6
0
0
0
0
1
-4
-5
-7
-12
0
0
0
-44
4
-16
27
18
-6
0
0
0
0
0
0
1
-11
19
0
0
0
0
-1
0
-16
48
-8
0
0
0
0
2
-14
-4
6
-20
0
0
0
-5
0
-9
-1
79
-1
0
0
0
0
0
5
9
-45
-12
0
0
0
-2
-1
0
-57
30
21
0
0
0
5
-21
42
-12
-4
-16
0
0
0
0
2
-16
16
-6
0
0
0
3
0
0
-6
-38
48
0
0
0
0
0
0
-1
-9
66
0
0
0
0
0
1
-2
6
-14
0
0
0
0
0
2
0
79
-11
0
0
0
3
0
0
1
-3
-1
0
0
0
0
0
0
1
-39
9
0
0
0
0
0
-2
7
-20
-11
0
0
0
0
0
0
-1
28
-14
0
0
0
3
0
0
0
-65
35
0
0
0
0
0
0
0
14
-8
0
0
0
0
0
0
-4
-43
19
0
0
0
0
0
0
7
-2
-5
0
0
0
0
0
-1
-3
12
-6
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
-1
-3
-20
22
0
0
0
0
0
0
0
-8
-41
8
0
0
-5
0
0
0
-23
72
4
0
0
0
0
0
0
-69
88
0
0
0
0
0
0
-1
-69
-50
13
0
0
0
0
0
2
-41
17
-17
0
0
3
0
0
1
9
-40
24
0
0
0
0
0
0
-17
14
-12
0
0
0
0
-1
2
3
25
-6
0
0
0
0
2
5
6
51
-20
0
0
14
0
0
3
-42
-24
0
0
0
0
0
0
0
-12
7
-5
0
0
0
0
0
0
17
5
-26
0
0
0
0
0
-3
70
-31
-31
0
0
-66
0
0
0
33
42
29
0
0
0
0
0
0
8
28
-22
0
0
30
0
4
-41
-32
0
-7
0
0
0
3
0
-7
10
-22
0
0
0
0
0
0
0
27
16
0
0
0
0
0
-3
0
-18
25
0
0
0
0
0
-1
0
-42
11
0
0
0
0
0
-1
-4
13
24
0
0
0
0
0
0
-2
2
57
0
0
0
0
0
0
1
15
-3
0
0
0
0
0
0
-3
-8
3
0
0
0
0
-1
-1
2
15
-7
0
0
0
0
0
0
-2
0
-14
0
0
0
0
0
-1
0
0
20
0
0
0
0
0
0
-3
-31
-4
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-1
-4
-43
0
0
0
0
-6
-2
1
2
5
8
0
0
0
0
0
1
4
-5
-10
0
0
0
0
0
-4
5
-4
-7
0
0
0
0
0
-5
-29
13
-9
0
0
0
1
4
0
-1
-13
1
0
0
0
0
0
-1
-5
-24
-3
0
0
0
0
0
0
4
-3
-17
0
0
0
0
0
0
1
2
-8
0
0
0
1
-4
0
-50
35
27
0
0
0
0
0
-1
29
30
-31
0
0
0
0
0
-2
-6
-10
13
0
0
0
0
0
0
-23
8
-13
0
0
0
-2
0
0
0
35
3
0
0
0
0
0
0
6
21
-50
0
0
0
0
0
0
18
22
-62
0
0
0
0
4
9
-37
1
-23
0
0
0
0
7
-17
-10
-23
0
0
0
0
0
0
18
-51
25
0
0
0
0
0
-6
-10
-28
-6
0
0
-32
0
0
0
23
-5
57
0
0
0
0
0
0
-16
-1
27
0
0
0
0
0
0
-4
-13
39
0
0
0
0
0
0
-3
-4
1
0
0
0
0
0
0
20
41
17
0
0
0
0
0
0
10
-34
-18
0
0
0
0
0
0
-2
-45
-17
0
0
0
0
0
0
4
-28
9
0
0
1
0
0
0
-6
21
-4
0
0
0
0
0
0
-3
-5
5
0
0
0
0
0
0
-13
41
-17
0
0
0
0
0
0
8
-12
-8
0
0
0
0
0
2
13
-59
-5
0
0
0
0
0
0
13
-2
42
5
0
0
0
0
0
-1
28
110
-25
0
0
0
0
0
0
15
7
-38
0
-16
0
0
0
2
25
8
-30
0
0
0
0
0
-25
-3
-9
37
0
0
0
0
0
3
-12
5
-7
0
0
0
0
0
2
7
3
4
0
-3
0
0
0
0
-13
0
-12
0
0
0
0
0
0
-47
2
21
0
0
0
0
1
0
-5
-40
2
0
0
0
0
0
5
-13
2
-48
0
8
0
0
0
2
30
-8
-27
0
0
0
0
0
0
-18
-10
-13
0
0
0
0
0
0
-44
-1
33
0
0
0
0
-4
-7
-64
27
40
0
21
8
0
-27
-15
-5
27
-9
0
0
0
6
-30
-33
-22
48
0
0
0
0
0
0
0
-34
12
0
0
0
0
0
-1
1
-23
-10
0
0
0
0
0
-2
9
-3
7
0
0
0
0
0
0
7
-5
-10
0
0
0
0
0
0
2
-5
-48
0
0
0
0
0
0
1
3
4
0
0
0
0
0
0
7
-5
33
0
0
0
0
0
0
2
-8
22
0
0
0
0
0
0
-1
1
40
0
0
0
0
0
0
-4
-31
43
0
0
0
0
0
0
-23
-3
19
0
0
0
0
0
0
1
-2
14
0
0
0
0
0
0
1
-4
-7
0
0
0
0
-1
0
-3
0
-10
0
0
0
0
0
0
-16
-17
61
0
0
0
0
1
0
3
21
-53
-2
0
0
0
0
0
0
-31
-88
3
0
0
0
0
0
0
-41
-13
42
0
0
0
0
0
1
31
-3
-23
0
0
0
0
0
6
8
7
-21
0
0
0
0
0
0
2
0
-49
0
0
0
0
0
0
-2
8
-17
0
0
0
0
3
1
5
-1
-76
0
0
0
-5
-1
2
32
7
-47
0
0
0
0
0
0
-10
75
-12
0
0
0
0
0
0
-5
-1
-50
0
0
0
0
0
-3
21
-9
-25
0
0
0
0
0
-1
9
-12
-26
0
0
0
0
0
0
-2
7
-24
0
0
0
0
0
0
1
-4
-29
0
0
0
0
-5
-2
-43
31
-6
0
0
0
0
0
-7
10
-30
0
0
0
-42
0
0
5
35
21
0
0
0
0
0
0
0
-49
29
0
0
0
0
0
4
12
16
-34
0
0
0
0
0
0
1
-15
22
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
5
-5
25
0
0
0
0
0
0
-12
-5
4
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
19
20
0
0
0
0
0
0
0
-6
48
0
0
0
0
0
0
3
9
-3
0
0
0
0
0
0
1
0
-25
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
1
-1
-14
-28
0
0
0
0
0
0
-1
-50
61
5
0
0
0
0
0
-2
-8
5
3
0
0
0
0
0
1
1
-2
34
0
0
0
0
0
8
10
-6
-21
0
0
0
0
0
0
-7
12
-10
0
0
1
0
0
2
2
1
-5
0
0
0
0
0
0
-5
-6
7
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
-2
-5
26
-35
0
0
4
0
0
0
-35
-13
73
0
0
0
0
0
1
-23
-10
-13
0
0
0
0
0
-1
3
-1
-41
0
0
0
0
0
0
10
7
-28
0
0
-2
0
0
0
-3
4
-37
0
0
0
0
1
1
-16
-8
37
0
0
0
-2
3
-1
-4
7
-38
0
0
0
-9
-1
0
-10
69
0
0
0
0
0
0
-1
-25
-31
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
-13
-35
40
0
0
0
0
0
0
1
-5
-5
0
0
0
0
0
0
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
4
15
0
0
0
0
0
0
0
24
14
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
3
-33
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
6
-8
0
0
0
0
0
0
0
6
10
0
0
0
0
0
0
0
-9
9
18
0
0
0
0
0
0
5
-4
-6
0
0
0
0
0
-4
-3
-3
13
0
0
0
1
0
0
-1
0
20
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
2
-72
0
0
0
0
0
0
-1
0
-49
0
0
0
0
0
-2
-13
0
-46
0
0
0
0
0
0
9
-4
-22
0
0
0
0
0
0
-23
-2
22
0
0
0
0
0
0
-8
0
-16
0
0
0
-4
0
0
0
-13
20
0
0
0
0
0
-1
0
2
22
0
0
0
0
0
0
0
0
-95
0
0
0
0
1
-4
2
-18
-15
0
0
0
1
1
-20
50
-7
0
0
0
0
0
1
-12
50
-13
0
0
0
0
0
1
30
-47
-9
0
0
-3
0
0
1
-1
31
-16
0
0
0
0
0
4
-65
34
6
0
0
0
0
0
1
12
-13
-9
0
0
0
0
0
-1
-3
-4
-7
0
0
0
0
0
-4
-2
-49
43
0
0
0
0
0
15
24
7
-10
0
0
0
1
0
0
-3
-16
43
0
0
0
0
0
0
-1
-59
24
0
0
0
0
0
0
-27
3
-18
0
0
0
0
0
0
1
-22
22
0
0
0
0
0
0
-15
-5
-8
0
0
0
0
0
2
1
2
25
0
0
0
0
0
4
-31
-19
13
0
0
0
0
-1
5
13
19
-41
-11
0
0
0
0
0
2
-21
9
-16
0
0
0
0
-1
-6
-17
6
13
0
10
0
0
0
7
-32
0
-48
0
0
0
1
-1
0
0
-3
90
0
0
0
0
0
0
-6
1
49
0
0
0
0
2
-2
0
0
-36
0
0
0
0
0
4
-1
0
0
0
0
0
0
5
29
-9
10
1
0
0
0
0
0
-33
-7
-28
79
0
0
0
0
0
-6
-22
0
-30
0
0
0
0
0
31
2
-10
22
0
0
0
0
-1
8
14
-9
-25
0
0
-1
0
0
-1
-7
8
-2
0
0
0
0
-1
3
0
5
-32
0
2
4
0
8
15
-48
8
-98
0
0
0
-5
-12
15
-1
1
0
0
0
0
0
2
5
7
16
0
0
0
0
0
-3
17
14
22
0
0
0
0
1
0
-8
-47
19
0
0
0
0
0
-4
-9
31
-5
0
0
0
0
0
3
-33
25
50
0
0
0
0
3
-2
-6
3
-30
0
0
0
0
0
3
21
5
-3
0
0
0
0
59
-19
-6
-44
28
0
0
0
0
0
0
8
-34
18
0
0
0
0
0
0
4
-39
34
0
0
0
0
0
-3
5
-10
19
0
0
0
0
0
3
1
-1
24
0
0
0
0
0
0
0
-3
27
0
0
0
0
0
2
1
-1
-29
0
0
0
0
1
8
-6
-15
26
0
0
0
0
-8
16
-31
27
-5
-13
0
0
0
0
1
-3
8
20
-5
0
0
0
0
-2
0
30
11
-30
0
0
0
0
1
31
22
-10
-24
0
0
0
0
4
-1
-8
5
47
0
0
0
0
0
0
-19
72
-59
0
0
0
-1
0
0
0
-9
-34
0
0
0
0
-1
-6
13
-15
-7
0
0
0
0
5
-37
13
5
13
3
0
0
0
-1
0
-46
20
49
-18
0
0
0
0
0
-13
43
-133
-13
0
0
0
2
-4
-13
5
45
-2
0
0
1
-1
-1
-24
31
26
-10
0
0
0
-2
0
1
-62
-15
21
0
0
-2
0
1
0
14
-28
-14
0
0
20
2
-7
-38
-3
-26
18
0
0
0
-1
-12
-53
48
0
0
0
-31
0
0
4
-51
42
0
0
0
0
0
0
2
-5
40
0
0
0
0
0
0
5
24
-10
0
0
0
0
0
0
-1
6
41
0
0
0
-1
0
0
7
-17
-18
0
0
0
0
0
0
-1
7
9
0
0
0
0
0
0
-2
14
-18
0
0
0
0
0
0
-3
-44
46
0
0
0
1
0
0
-4
-16
5
0
0
0
0
0
0
0
15
2
0
0
0
0
0
0
0
5
30
0
0
0
0
0
0
0
-1
22
0
0
0
1
0
0
0
0
-28
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
1
12
-54
0
0
0
0
0
0
1
31
-40
14
0
0
-54
0
0
-1
-5
61
17
0
0
0
0
0
3
-64
-1
6
0
0
0
0
0
-6
22
60
-47
0
0
0
0
0
0
1
34
-28
0
0
0
0
0
0
-12
-32
50
0
0
0
0
0
0
2
-4
-10
0
0
0
0
0
-1
-4
-8
-30
0
0
0
0
0
-1
-16
25
41
-12
0
30
0
0
-6
12
49
-29
-26
0
0
0
0
0
-24
-31
-16
-10
0
0
0
0
0
-34
4
-27
5
0
0
0
0
0
15
27
-142
-1
0
-8
0
0
0
-25
16
-4
-51
0
0
0
0
0
16
16
-64
9
0
3
0
-2
-6
-48
20
-18
24
0
0
0
-6
1
-43
30
0
0
0
0
0
0
-1
-22
1
0
0
0
0
0
5
0
-41
-5
0
0
0
0
0
0
-2
-46
12
0
0
0
0
0
-1
-2
7
22
0
0
0
0
0
0
8
-33
10
0
0
0
0
0
2
0
0
10
0
0
0
0
0
0
-9
37
5
0
0
0
0
2
0
3
-5
28
0
0
0
0
0
0
0
10
31
0
0
0
0
0
0
0
29
-17
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
-1
14
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
4
-41
-10
0
0
0
0
-1
0
16
4
67
-10
0
0
0
0
0
0
27
54
-25
0
0
0
0
0
2
-15
47
-33
0
0
0
0
0
-5
25
-49
10
0
0
0
2
-1
0
8
-59
32
0
0
0
0
0
-1
0
-10
9
0
0
0
0
0
0
0
2
-33
0
0
0
0
-3
2
8
0
-5
0
0
0
-3
0
2
-18
-29
16
6
0
0
0
0
-1
-13
-41
-46
20
0
0
0
0
0
-7
15
-31
-10
0
0
0
0
0
-27
-2
-51
-14
0
0
0
1
0
5
6
-83
-18
0
0
0
0
0
-8
-9
-17
-2
0
0
0
0
0
4
0
-14
15
0
0
1
1
3
-28
-52
22
-6
0
0
0
1
-12
29
5
0
0
0
0
0
0
5
49
-8
0
0
0
0
0
-7
-8
-17
49
0
0
51
0
0
0
61
-29
-27
0
0
0
0
0
0
-9
4
5
0
0
0
0
0
0
-8
-64
56
0
0
0
0
0
4
5
-44
12
0
0
4
0
0
-1
-34
-13
-2
0
0
0
0
0
2
10
-30
19
0
0
0
4
0
-1
-2
-54
-7
0
0
0
0
0
0
0
-2
-37
0
0
-12
0
0
0
1
7
23
0
0
0
0
0
0
0
-6
-12
0
0
0
0
0
0
2
-8
2
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
9
-32
25
0
0
0
0
1
-2
4
20
0
-15
0
0
0
0
0
-8
13
33
-7
0
0
0
0
-2
-12
-4
47
-11
0
16
0
0
0
9
-5
-9
-58
0
0
0
0
0
9
14
24
-50
0
0
0
0
0
-1
8
-13
-32
0
0
0
0
0
0
-1
-6
28
0
-3
0
0
0
1
-19
16
-8
0
0
0
0
-2
-5
-7
15
-21
3
0
-2
0
0
-5
22
-18
49
-7
0
0
0
0
1
20
-5
-22
-6
0
0
0
-1
3
-14
-2
42
4
0
0
0
0
0
-32
18
-30
32
0
0
0
1
-2
7
-6
-15
-28
0
0
0
-2
0
-2
-6
-14
-27
13
-2
2
3
-8
-65
26
84
-12
0
0
24
-52
32
-38
-28
0
0
0
0
0
0
7
28
-29
0
0
0
0
0
1
-7
-69
75
0
0
0
0
0
0
-20
-22
21
0
0
0
0
-2
7
-6
2
-20
0
0
0
0
0
0
-3
-40
45
0
0
0
0
0
0
3
-8
5
0
0
0
0
0
0
8
-3
24
0
0
0
0
0
0
2
-28
49
0
0
0
0
0
0
5
13
-43
0
0
0
0
0
-1
-2
-3
24
0
0
0
0
0
0
-8
34
-22
0
0
0
0
-1
-2
0
-12
34
0
0
0
0
0
0
-3
0
9
0
0
0
0
0
-3
3
-12
4
0
0
0
0
0
1
8
7
-13
0
0
0
0
0
-1
8
10
-19
-2
0
0
0
0
-1
0
28
21
-4
0
0
0
0
0
1
-13
8
-17
0
0
0
0
0
2
-12
14
-4
0
0
0
-1
0
1
-2
-12
-32
0
0
0
0
0
-2
-10
-15
14
0
0
0
0
0
0
1
3
28
0
0
0
0
-2
8
7
1
-67
0
0
0
-1
-5
1
-6
-14
23
10
0
0
0
0
-2
5
-13
-56
1
0
0
0
0
0
-6
0
-55
-11
0
0
0
0
3
-14
-10
-28
21
0
0
0
0
6
0
16
-36
48
0
0
0
0
1
-6
5
-60
34
0
0
2
-1
-2
-1
-6
-40
88
0
0
5
-19
21
-5
-2
2
-14
0
0
-1
0
-5
22
14
0
0
0
-26
0
1
-1
-44
50
0
0
0
0
0
1
-8
-5
-4
0
0
0
0
0
-6
-22
-5
42
0
0
0
0
0
0
1
-5
37
0
0
0
-28
0
0
-7
-42
16
0
0
0
0
0
0
1
16
-25
0
0
0
0
0
2
-4
-8
-24
0
0
0
0
0
2
0
-8
56
0
0
0
-12
0
0
2
-20
11
0
0
0
0
0
0
-1
17
-25
0
0
0
1
0
0
1
-33
-9
0
0
0
0
0
0
0
-2
-8
0
0
0
-2
0
0
0
8
-42
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
-5
-2
-2
0
0
0
0
0
0
-2
-34
59
0
0
0
-42
0
0
-2
-17
7
60
0
0
0
0
0
1
-9
16
-44
0
0
0
0
0
0
-3
15
-39
0
0
0
0
0
1
-17
-17
68
0
0
21
0
0
-1
-8
0
-5
0
0
0
0
0
-2
6
6
0
0
0
0
0
0
0
-1
1
30
0
0
0
0
-2
3
-4
25
25
-11
0
-57
0
0
0
15
-24
-47
26
0
0
0
0
0
2
-2
-138
53
0
2
0
0
0
-24
-5
-33
22
0
0
0
0
0
-13
5
40
45
0
17
0
0
0
1
8
-35
13
0
0
0
0
-2
1
-2
-24
-26
0
-1
-2
-6
22
-9
-22
-52
-16
0
0
40
-2
9
5
-47
0
0
0
0
0
2
-1
5
17
0
0
0
0
0
0
0
-33
-14
0
0
0
0
0
-4
-61
-5
7
0
0
0
0
0
0
-4
-8
14
0
0
0
0
0
-8
0
16
13
0
0
0
0
0
0
0
3
-17
0
0
0
0
0
0
-19
-5
13
0
0
0
0
-15
0
0
8
13
0
0
0
0
0
0
0
-12
24
0
0
0
0
0
-1
-8
-6
9
0
0
0
0
0
0
3
-28
51
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
1
0
0
33
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
-6
4
25
-25
0
0
0
0
-2
0
-1
-2
56
-14
0
0
0
0
0
0
-15
26
19
0
0
0
-1
0
-2
-3
-21
24
0
0
0
0
0
-3
-23
-8
-37
0
0
0
0
1
1
-12
3
-28
0
0
0
0
0
1
0
6
7
0
0
0
0
0
0
0
-1
-73
0
0
0
0
-5
0
0
0
17
0
0
0
11
1
4
-5
23
13
6
0
0
0
0
0
-1
63
-82
-29
0
0
2
0
0
-8
2
-22
29
0
0
0
0
0
-7
-19
8
-8
0
0
-15
0
-2
-1
-5
-50
115
0
0
0
0
0
-24
-10
15
18
0
0
-2
1
0
-4
0
23
-10
0
0
-24
-3
-3
-15
25
-58
-13
0
0
-2
-11
-3
16
3
0
0
0
13
-24
-55
1
7
7
0
0
0
0
39
-27
21
21
-7
0
0
-4
82
-29
40
-45
-59
12
0
0
0
0
-16
6
71
7
-9
0
0
0
-44
-16
10
15
-11
-20
0
0
0
0
-14
-66
32
-12
-19
0
0
46
14
13
-13
-46
18
-32
0
0
0
0
-36
38
34
6
10
0
0
0
8
-4
16
59
-43
-16
0
0
0
0
81
-24
-19
-65
33
0
0
-29
-40
-4
14
52
-4
-36
0
0
0
0
3
42
3
-33
17
0
0
0
0
5
-19
-66
-21
16
0
0
0
0
-28
-48
41
-37
42
0
0
14
31
4
-33
6
-46
11
0
0
0
0
-3
3
-9
-24
57
5
0
0
-8
41
-32
74
14
-6
-7
0
0
0
-23
69
7
37
54
-8
0
-17
52
59
-29
-10
-50
-26
-16
0
0
0
64
-25
28
-1
43
-5
0
0
20
27
-24
-22
-31
-57
-9
0
0
0
-3
50
-40
35
-29
4
0
24
-8
-53
-27
33
-65
-38
16
0
0
0
-13
-18
84
22
16
-1
11
0
20
-2
21
-60
-75
1
-12
-5
0
0
-90
-100
-65
2
-20
14
15
48
16
7
101
-85
-48
4
-23
-32
0
0
-13
59
-41
55
29
-17
-8
0
11
9
-6
-9
11
-33
-4
-25
0
0
26
-28
-12
-42
28
10
-40
-91
28
24
15
-74
-17
11
-61
-11
0
0
-18
-4
-41
26
19
0
0
0
0
10
-43
20
-19
0
0
0
0
0
-15
-21
48
-5
9
0
0
0
0
0
28
-1
-5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-53
89
-1
28
0
0
0
0
0
0
12
5
-40
0
0
0
0
16
-50
48
-98
5
0
0
0
0
0
-1
5
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
-73
6
22
0
0
0
0
0
5
1
-1
31
0
0
0
0
0
12
47
-2
33
0
0
0
0
0
15
9
-68
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
34
-43
-5
54
0
0
0
0
0
1
-32
19
31
0
0
0
0
0
4
8
-14
31
0
0
0
0
0
-4
3
-35
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
13
-51
20
0
0
0
-26
-23
-16
22
-2
21
0
0
0
0
47
15
-39
49
-6
0
0
0
40
2
-23
-13
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
4
0
0
0
11
0
0
13
2
6
0
0
0
0
0
0
2
-11
27
0
0
0
-1
0
2
0
14
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
-78
-5
0
0
0
-11
-13
-45
17
76
33
0
0
0
0
0
-1
4
-73
40
0
0
0
0
0
-5
-44
-26
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-42
-6
0
0
0
1
0
-41
-22
-30
35
0
0
0
0
0
0
-6
24
13
0
0
0
-1
0
-1
10
59
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
93
-18
14
8
0
0
0
0
-3
-5
33
24
-32
0
0
0
0
4
15
70
32
-20
0
0
0
0
-4
-3
-2
-44
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-23
1
0
0
0
0
0
0
-3
-15
59
0
0
0
0
0
2
-5
25
35
0
0
0
0
0
1
-25
-7
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
35
-5
65
0
0
0
0
0
1
5
17
-24
0
0
0
0
0
18
-41
-19
54
0
0
0
0
1
-5
39
-4
-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
-3
13
-43
-35
0
0
0
0
0
0
0
-58
59
0
0
0
0
0
0
-4
1
8
0
0
0
0
1
0
0
-71
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-7
-6
22
0
0
0
-1
0
-4
14
-16
-4
0
0
0
0
0
-39
60
2
-4
0
0
-34
-12
-4
17
17
39
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-72
51
0
0
0
0
0
0
-13
-4
51
0
0
0
0
0
5
3
22
4
0
0
23
0
0
0
13
-43
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
70
-78
0
0
0
0
0
1
-29
-10
33
0
0
0
0
-2
-3
48
3
-32
0
0
-31
-3
0
8
77
-58
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
8
49
0
0
0
0
0
5
5
2
-21
0
0
0
0
0
0
0
-47
-8
0
0
56
0
0
3
13
-96
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-35
10
17
2
0
0
0
0
0
32
28
28
24
0
0
0
0
0
5
-23
-21
-5
0
0
0
0
0
-5
18
47
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-22
0
24
40
0
0
0
0
0
0
-25
-17
55
0
0
0
0
0
3
0
-11
12
0
0
0
0
0
2
0
-53
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-35
-5
-11
96
0
0
0
0
0
0
25
-13
-16
0
0
0
0
0
1
1
-41
-13
0
0
0
0
0
0
5
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
76
-16
12
-12
0
0
0
0
0
0
7
-86
7
0
0
0
0
-1
-3
-1
-4
30
0
0
0
0
0
-1
0
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
46
-94
18
0
0
0
17
0
2
-16
-24
-1
0
0
0
0
-3
7
54
-66
15
0
0
0
-1
0
3
25
55
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-8
43
0
0
0
-12
2
0
8
-55
23
0
0
0
0
0
-5
-9
-15
40
0
0
0
-2
0
0
-2
15
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
18
-21
-26
0
0
0
1
0
-2
31
-64
48
0
0
0
0
0
-1
-5
-7
-23
0
0
0
0
0
-1
-10
-31
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-23
41
0
0
0
-6
0
-4
-41
72
-43
0
0
0
0
0
0
-2
-2
15
0
0
0
0
0
-1
1
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
81
38
-24
0
0
0
0
0
-3
47
24
-29
0
0
0
0
0
4
6
-50
-2
0
0
0
0
-2
2
24
-97
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
-7
0
0
0
0
0
0
-1
-34
20
0
0
0
0
-4
0
0
-26
31
0
0
0
0
0
-1
-2
-25
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
9
-12
-5
0
0
0
0
0
0
6
1
-16
0
0
0
0
0
0
1
-25
-8
0
0
0
0
0
2
-2
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
44
-5
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
-2
0
50
5
0
0
0
0
0
0
-7
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
17
8
0
0
0
0
0
-15
2
-18
-5
0
0
0
0
3
9
-57
-40
8
0
0
-68
0
-5
-60
74
21
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-32
6
26
0
0
0
0
0
2
7
0
-32
0
0
0
0
0
-16
-7
-6
-3
0
0
-13
0
0
23
19
27
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-26
30
0
0
0
2
0
-1
-7
-27
7
0
0
0
0
-1
-9
48
-8
-4
0
0
0
0
0
-52
7
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
-6
-66
0
0
0
0
0
0
19
13
33
0
0
0
0
0
1
-41
10
44
0
0
0
0
0
0
16
23
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
55
-92
49
0
0
0
0
0
8
18
50
-28
0
0
0
0
-2
15
21
-3
-8
0
0
0
0
0
0
23
-121
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
13
29
-21
-12
0
0
0
0
0
0
-6
47
6
0
0
0
0
0
-1
-1
2
85
0
0
0
0
0
0
-6
-7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-73
4
-9
10
0
0
0
0
0
0
37
-49
67
0
0
0
0
0
4
49
-28
20
0
0
0
0
-1
6
-42
-41
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
36
59
-31
4
0
0
0
0
0
-2
-4
47
1
0
0
0
0
-3
-17
1
53
1
0
0
0
0
0
-9
-7
-19
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-126
44
0
0
0
-7
-1
57
-67
-24
39
0
0
0
0
0
12
1
-3
-25
0
0
0
0
0
-5
-29
16
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-50
32
0
0
0
9
0
0
2
6
-10
0
0
0
0
0
0
-1
-17
-40
0
0
0
0
0
0
-12
-44
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
15
-1
0
0
0
39
-2
5
24
-9
-14
0
0
0
0
0
0
-8
20
14
0
0
0
0
0
-2
-7
31
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-20
0
0
0
36
0
0
27
4
-72
0
0
0
0
0
-2
-2
-8
8
0
0
0
0
0
1
10
-70
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-25
-13
-66
66
0
0
0
0
0
1
-15
-31
43
0
0
0
0
0
1
-9
6
-13
0
0
0
0
1
-2
14
-26
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
93
0
0
0
0
0
0
-1
-93
50
0
0
0
0
0
3
-4
17
36
0
0
0
0
0
0
-3
-14
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-24
61
-43
0
0
0
0
0
9
-12
-41
12
0
0
0
0
-4
-8
-2
24
13
0
0
0
0
1
3
14
-16
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
-31
-1
0
0
0
0
0
0
-2
-40
63
0
0
0
0
-2
5
3
-22
-31
0
0
0
0
0
0
7
-3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-27
26
0
0
0
-8
0
1
25
-17
15
0
0
0
0
0
0
3
13
-14
0
0
90
0
0
0
53
32
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
48
-58
0
0
0
0
0
1
-6
31
31
0
0
0
0
0
0
13
-51
5
0
0
23
0
0
8
-8
-26
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-52
83
0
0
0
0
0
2
-7
-30
-14
0
0
0
0
0
-1
7
27
-11
0
0
-24
-1
0
-3
-4
-55
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
25
0
0
0
0
0
0
-8
-49
93
0
0
0
0
0
-1
-2
8
-16
0
0
-5
0
0
0
-4
-46
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
15
31
-45
13
0
0
0
0
0
-3
10
10
7
0
0
0
0
0
6
-6
-108
84
0
0
0
0
0
0
-2
-14
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-22
2
-16
-10
0
0
0
0
0
0
4
-2
-46
0
0
0
0
-1
8
0
0
-59
0
0
0
0
0
0
-1
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
60
13
7
0
0
0
0
0
-2
5
-8
8
0
0
0
0
0
-2
-7
-3
55
0
0
0
0
0
0
16
-48
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
46
67
-8
-18
0
0
0
0
0
0
3
13
26
0
0
0
0
-5
3
-6
18
-2
0
0
0
0
0
0
2
-2
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-100
45
0
0
0
8
0
0
-27
22
13
0
0
0
0
0
0
0
-47
32
0
0
0
0
0
0
-30
28
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
1
-6
33
0
0
0
0
0
0
8
-14
53
0
0
0
0
0
0
-3
-54
67
0
0
0
1
0
-3
2
-5
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
1
0
-1
-15
-33
91
0
0
0
0
0
0
2
-25
-9
0
0
0
0
0
0
-9
-22
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
15
0
0
0
16
0
0
0
-27
-22
0
0
0
0
0
0
-1
-20
-31
0
0
0
0
0
0
-17
-23
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
24
9
-25
-7
0
0
0
0
0
-3
14
-50
-41
0
0
0
0
1
-6
-1
-16
18
0
0
0
0
0
5
-42
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
-2
0
0
0
0
0
-1
0
-25
21
0
0
0
0
0
-1
-2
-3
31
0
0
0
0
0
4
6
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
13
-16
0
0
0
0
0
0
7
-46
9
0
0
0
0
0
0
0
-2
45
0
0
0
0
0
0
-14
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
13
10
-74
45
0
0
0
0
0
1
1
-52
-7
0
0
0
0
0
-1
-1
-15
7
0
0
0
0
0
3
-20
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
33
-20
-11
0
0
0
0
2
0
-12
-11
-31
35
0
0
0
0
-2
-9
63
-4
-50
0
0
-13
1
0
5
47
-49
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-1
-6
28
0
0
0
0
0
-1
-4
-31
65
0
0
0
0
0
-19
-16
-37
44
0
0
4
0
0
5
29
-45
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
31
-110
3
0
0
0
0
0
10
-21
23
-5
0
0
0
0
-1
0
-8
-42
35
0
0
-2
0
0
-16
-2
1
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-6
-19
-52
0
0
0
-3
0
-8
17
-14
-4
0
0
0
0
-1
0
-42
-20
-2
0
0
16
0
0
-20
-55
66
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-5
-100
38
23
0
0
0
0
0
1
5
-35
-66
0
0
0
0
-1
20
26
-17
18
0
0
0
0
2
3
5
-5
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-125
43
-22
85
-8
0
0
0
0
0
0
19
-55
41
0
0
0
0
-2
-5
-3
-46
21
0
0
0
0
-3
9
5
-93
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-31
-40
39
42
3
0
0
0
0
-2
61
52
-34
4
0
0
0
3
-4
22
1
50
-4
0
0
0
0
-2
-16
-6
73
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-54
9
30
28
13
0
0
0
0
-20
-10
22
-39
35
0
0
0
0
15
-23
-12
-24
8
0
0
0
0
0
3
-64
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
48
-41
20
0
0
0
-29
0
-14
6
-55
66
0
0
0
0
0
-2
7
-17
-33
0
0
0
2
0
2
-43
-51
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-62
22
0
0
0
8
0
0
-35
-32
9
0
0
0
0
0
1
0
7
-35
0
0
0
0
0
0
0
-11
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-30
-10
0
4
0
0
112
2
-8
-4
46
-41
3
0
0
0
-1
-1
-5
-48
-1
-9
0
0
0
0
0
6
23
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
46
41
0
0
112
0
-5
25
-59
-76
44
0
0
0
0
0
3
-23
-43
-24
0
0
1
0
0
-5
17
-56
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-17
5
61
0
0
0
0
0
0
6
-27
19
0
0
0
0
-8
1
-8
-41
54
0
0
0
0
8
-4
8
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-35
-11
44
0
0
0
0
0
-1
0
-50
15
0
0
0
0
2
5
5
-7
22
0
0
0
0
0
-6
-5
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
89
57
-4
0
0
0
0
-1
1
58
22
-5
0
0
0
-1
1
6
36
-6
-3
0
0
0
0
0
7
27
35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
-84
138
13
0
0
0
0
-1
-1
-62
-8
4
0
0
0
-2
2
-8
-52
83
-40
0
0
0
-3
-1
18
-26
18
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
19
29
0
0
0
0
0
-6
52
-38
28
0
0
0
0
1
-8
-42
-23
22
0
0
70
0
0
8
22
-21
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
-74
37
0
0
0
0
0
-1
-17
-43
53
0
0
0
0
0
0
12
-2
-23
0
0
-22
0
-1
-16
46
44
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-42
-3
-27
-8
0
0
0
0
1
9
5
41
-5
0
0
0
0
4
1
-50
20
7
0
94
0
0
23
-45
-102
-49
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-70
9
12
0
0
0
0
-4
-3
9
48
-1
0
0
0
-3
5
5
-44
-5
31
0
28
0
0
-2
-42
-21
-45
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
31
27
58
-73
0
0
0
0
0
-3
8
-57
50
0
0
0
0
0
-4
-27
-8
4
0
0
0
0
0
-1
-9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-23
40
-58
48
0
0
0
0
0
0
1
8
38
0
0
0
0
1
0
1
7
15
0
0
0
0
0
0
-4
-3
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
40
15
6
55
3
0
0
0
0
1
-7
-20
-2
13
0
0
0
-2
-7
0
-2
33
3
0
0
0
0
0
-5
0
34
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-22
27
-15
32
4
0
0
0
0
1
-8
11
29
-54
0
0
0
-3
-2
-3
-28
31
8
0
0
0
0
-2
9
20
-51
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
14
17
0
0
0
50
0
0
-42
9
-13
0
0
0
0
0
0
14
-21
-2
0
0
0
0
0
-1
-5
-13
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
33
-93
0
0
0
-64
0
2
6
13
-1
0
0
0
0
0
0
2
-14
-15
0
0
0
1
0
0
10
-49
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
3
-10
0
0
-5
0
-3
-1
-15
26
-3
0
0
0
0
0
3
7
-24
-1
0
0
0
0
0
-6
4
45
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
12
43
-50
0
0
30
0
1
-5
17
25
4
0
0
0
0
0
1
-23
22
-26
0
0
-3
0
0
7
46
-37
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-10
41
-17
0
0
0
0
0
-2
-6
-3
51
0
0
0
0
0
1
-3
-74
1
0
0
0
0
0
-1
-34
-16
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
23
-31
0
0
0
0
0
0
1
3
-29
0
0
0
0
0
5
0
31
-5
0
0
0
0
0
0
-1
-8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
2
-25
-12
-3
0
0
0
0
0
0
18
22
-15
0
0
0
0
0
0
-4
9
30
0
0
0
0
0
2
2
-15
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
10
-23
-7
-5
0
0
0
0
0
-2
-9
12
-57
0
0
0
0
-3
0
31
-20
39
0
0
0
0
0
3
8
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
41
-63
46
0
0
0
0
0
2
10
-61
56
0
0
0
0
-1
1
-8
-59
17
0
0
5
0
0
-8
-20
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
20
-24
72
0
0
0
-1
0
-1
-16
-2
76
0
0
0
0
3
-1
-30
-4
-8
0
0
-4
0
0
-5
30
-14
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
24
-32
27
-13
0
0
0
0
5
17
-55
-4
-20
0
0
0
1
-2
-6
-19
29
-1
0
-3
0
0
5
-19
9
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
11
-26
8
0
0
0
0
1
5
27
-25
-5
0
0
0
0
2
-24
-54
22
-31
0
-75
0
0
9
-3
45
16
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
43
48
-23
-29
0
0
0
0
0
3
10
5
42
0
0
0
0
-1
3
-24
-5
33
0
0
0
0
0
0
-10
13
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
34
83
-37
-17
0
0
0
0
0
5
16
-95
-23
0
0
0
0
0
13
24
-28
-5
0
0
0
0
0
-8
-4
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-65
18
49
56
-2
0
0
0
0
0
18
-39
-4
22
0
0
0
0
17
3
26
25
-9
0
0
0
0
2
8
-6
55
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-30
19
17
32
-21
2
0
0
0
8
9
-20
-1
-8
-8
0
0
2
-25
5
-89
-51
-51
17
0
0
0
-17
3
-8
31
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
33
-2
0
0
0
47
0
-25
13
11
-6
0
0
0
0
0
-8
0
-5
39
0
0
0
0
0
0
-14
-17
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-18
-24
0
0
0
53
0
0
-22
-22
44
0
0
0
0
0
0
-5
44
-40
0
0
0
1
0
1
7
-21
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
-45
10
-19
0
0
72
1
-3
-66
-28
-28
16
0
0
0
0
0
0
-19
46
3
0
0
0
0
2
8
-8
-5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-13
38
-5
-13
0
-46
0
17
-33
3
70
-5
-16
0
0
0
6
-7
-32
-5
-46
-1
0
2
0
0
-6
-5
27
2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
15
11
30
0
0
0
0
0
-1
0
3
41
0
0
0
0
1
1
-4
-26
14
0
0
0
0
0
-1
-7
5
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
34
47
-57
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
0
-2
-33
42
0
0
0
0
0
-3
1
42
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-7
-75
53
20
0
0
0
0
-2
7
-13
27
-56
0
0
0
-4
-5
-31
-17
-43
54
0
0
0
-6
0
-3
-52
-31
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-3
-14
-12
-18
-5
0
0
0
-2
-10
-57
45
4
-18
0
0
-3
0
0
18
-8
-30
10
0
0
0
3
1
-10
7
-138
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-32
-26
0
0
0
0
0
2
-7
-13
11
0
0
0
0
0
3
-3
-15
36
0
0
16
0
0
3
-49
11
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
-46
0
0
0
0
0
1
-16
-53
112
0
0
0
0
0
-2
4
-31
15
0
0
43
0
0
0
5
-17
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
37
51
-45
0
0
0
0
0
20
-94
20
38
0
0
0
0
3
19
6
25
-65
0
16
0
0
-8
-28
7
24
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
-24
-30
14
0
0
0
-3
-38
-42
76
-80
-18
0
0
0
-4
29
8
5
27
8
-91
0
0
2
-59
-23
3
-75
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-26
24
26
-57
0
0
0
0
0
2
31
8
-43
0
0
0
0
0
-1
5
-4
-22
0
0
0
0
0
0
-33
-20
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
46
11
-6
0
0
0
0
0
0
2
-24
1
0
0
0
0
-4
-23
2
-15
20
0
0
0
0
0
0
2
-18
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
104
46
14
-33
-8
0
0
0
0
-1
-3
-29
73
25
0
0
0
0
-20
13
-9
2
7
0
0
0
0
0
-4
-13
-44
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
12
53
52
61
-32
19
0
0
0
0
1
-19
-36
-4
-5
0
0
2
-8
-14
18
77
-27
-14
0
0
0
0
-25
-46
10
51
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-2
-13
0
0
0
33
0
5
-19
-93
97
0
0
0
0
-2
0
1
17
15
0
0
0
-48
0
0
-28
-8
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-12
21
0
0
0
29
0
-4
6
-17
25
0
0
0
0
0
0
-7
8
-1
0
0
0
-3
0
0
-1
21
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-15
-6
10
0
0
-67
0
8
-48
-48
109
12
0
0
0
1
0
4
5
31
-48
0
0
2
0
0
-1
-8
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
1
44
-103
-7
0
-36
0
3
13
-72
19
-59
-3
0
0
-1
0
-2
-50
66
-38
-14
0
4
0
-5
-17
21
-30
7
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
-49
-46
10
-28
93
0
0
0
0
0
2
-35
-17
60
0
0
0
0
-1
-8
9
-49
45
0
0
0
0
1
-3
22
23
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
4
-8
-42
-5
0
0
0
0
0
-3
-4
23
-53
0
0
0
0
-2
0
-3
15
10
0
0
0
0
0
-9
3
49
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
66
61
-24
12
-12
0
0
0
-2
-8
7
-40
46
33
0
0
0
0
-41
-14
-31
28
7
0
0
0
-1
22
4
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-39
-8
7
-18
-124
4
0
0
-3
0
19
-77
85
13
-3
0
0
-2
-5
10
-42
29
25
2
0
0
0
0
-30
49
-9
-61
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
11
17
7
-18
0
0
0
22
-36
-91
-25
60
-16
0
0
0
0
-18
16
-27
-9
2
0
0
34
-32
-6
-9
32
-21
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-103
43
-41
78
0
0
0
-60
0
-7
-34
12
10
0
0
0
0
-2
25
-65
42
8
0
0
-59
-16
0
40
0
-18
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-7
43
-3
-18
-10
0
0
-34
-54
-7
-3
21
46
-14
0
0
0
5
-8
-30
-12
-6
3
0
-29
84
4
-5
-21
-141
8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
-49
17
-9
-34
-32
0
0
-13
-2
10
-23
21
46
-59
-10
0
0
-8
-22
-41
-56
50
-14
5
42
-3
0
15
-19
-102
-34
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-40
-14
20
0
0
0
0
0
5
-5
-1
18
0
0
0
0
47
50
5
36
-13
0
0
0
0
2
5
-5
33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-23
-16
-32
11
0
0
0
0
0
0
-3
67
5
0
0
0
0
-1
4
5
-94
52
0
0
0
0
0
-2
0
-69
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-41
10
-59
30
0
0
0
0
0
-3
9
-38
-5
0
0
0
0
4
-8
23
-5
14
0
0
0
0
0
3
7
-44
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
-20
29
27
0
0
0
0
0
0
23
-35
11
0
0
0
0
0
-3
-10
-49
61
0
0
0
0
0
0
8
-28
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
34
8
0
0
0
4
1
-18
30
23
4
0
0
0
0
0
0
5
-31
-7
0
0
0
1
0
-1
-8
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-42
-4
0
0
0
-7
0
-1
0
-4
8
0
0
0
0
0
0
0
-22
49
0
0
0
1
0
0
-20
24
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
45
-32
0
0
0
69
1
0
-4
-62
1
0
0
0
0
0
0
-1
4
15
0
0
0
0
0
2
-10
49
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-36
-69
0
0
0
11
0
-2
3
-23
-9
0
0
0
0
0
0
-2
1
25
0
0
0
0
0
0
-5
7
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-24
17
-57
7
0
0
0
0
0
-2
27
-49
16
0
0
0
0
12
7
2
-94
9
0
0
0
0
0
2
-17
-40
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
-17
28
-19
0
0
0
0
0
0
3
-32
2
0
0
0
0
0
0
-8
-34
26
0
0
0
0
0
0
-3
-22
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
25
-5
-26
0
0
0
0
0
0
-1
-25
121
0
0
0
0
3
-4
-21
17
7
0
0
0
0
0
0
-2
-30
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
-21
22
0
0
0
0
0
0
-49
21
32
0
0
0
0
0
-4
3
2
-1
0
0
0
0
0
0
1
-16
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-36
0
0
0
0
0
0
3
-25
1
11
0
0
0
0
0
-3
25
53
-22
0
0
55
4
-1
12
-22
24
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
22
-29
0
0
0
0
0
0
-3
-32
3
0
0
0
0
0
0
-2
48
9
0
0
6
0
0
2
24
22
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
21
46
0
0
0
0
0
0
19
-5
1
0
0
0
0
0
0
13
-37
2
0
0
-5
0
0
2
-24
-106
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-46
-45
0
0
0
4
0
-3
-41
44
-24
0
0
0
0
0
0
2
-5
-14
0
0
13
0
0
0
32
-24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
42
-28
-28
-26
0
0
0
0
0
-3
9
12
22
0
0
0
0
0
0
-7
15
4
0
0
0
0
0
1
93
-36
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
14
6
-2
0
0
0
0
0
-2
-3
25
-9
0
0
0
0
0
3
0
-22
69
0
0
0
0
0
3
3
-3
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
30
-23
24
0
0
0
0
0
5
31
-22
50
0
0
0
0
0
-2
9
-42
8
0
0
0
0
0
0
-13
-25
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
13
24
25
0
0
0
0
0
0
2
-12
78
0
0
0
0
0
-2
5
25
-4
0
0
0
0
0
1
5
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-16
24
0
0
0
25
0
1
-14
4
-5
0
0
0
0
0
0
0
-30
-3
0
0
0
0
0
0
-10
-14
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-36
32
0
0
0
3
0
2
2
-13
10
0
0
0
0
0
0
0
7
9
0
0
0
0
0
-2
5
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
-32
25
0
0
0
-30
0
0
8
-17
7
0
0
0
0
0
0
-2
12
18
0
0
0
0
0
0
44
-8
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
-35
-3
0
0
0
-12
0
0
8
3
34
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-8
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
4
42
-44
0
0
0
0
0
0
-2
48
1
0
0
0
0
0
0
2
-31
25
0
0
0
0
0
5
25
-34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-12
-1
25
0
0
0
0
0
1
0
4
32
0
0
0
0
0
0
0
-20
10
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
5
25
0
0
0
0
0
-2
-2
6
5
0
0
0
0
0
0
-3
10
-16
0
0
0
0
0
2
-2
25
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
34
0
0
0
0
0
-1
-4
-4
6
0
0
0
0
-2
0
0
-2
5
0
0
0
0
0
0
7
-5
-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
-1
3
54
23
-6
0
0
0
2
0
-57
-45
40
0
0
0
0
0
0
-5
35
-16
23
0
0
2
0
0
-19
63
-41
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-51
23
44
0
0
0
0
0
5
-41
-12
29
0
0
0
0
0
-3
7
-7
4
0
0
0
0
0
3
-11
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
-35
-7
42
0
0
0
-1
0
28
-2
-13
32
0
0
0
0
0
25
7
-5
-46
0
0
-8
0
0
-28
42
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
18
-7
-36
0
0
0
0
0
5
-12
-17
7
0
0
0
0
0
3
-12
-4
0
0
0
0
0
0
-10
13
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-67
1
30
50
0
0
0
0
0
-30
14
43
16
0
0
0
0
1
4
15
-86
24
0
0
0
0
0
8
-8
-30
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-5
56
-15
-33
0
0
0
0
0
0
3
23
-34
0
0
0
0
0
-2
3
41
-5
0
0
0
0
0
-1
-10
56
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
40
-47
17
-5
0
0
0
0
0
2
9
-51
13
0
0
0
0
0
3
3
-27
3
0
0
0
0
0
0
1
-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
-1
-9
-17
-36
13
0
0
0
0
0
0
-3
7
15
0
0
0
0
0
0
2
3
22
0
0
0
0
0
-5
1
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
28
-13
0
0
0
-13
0
6
19
-81
75
0
0
0
0
0
-1
-2
-69
72
0
0
0
6
0
-2
-12
-27
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-13
35
0
0
0
34
0
-1
-3
-8
-3
0
0
0
0
0
0
0
50
-2
0
0
0
0
0
0
7
-67
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
41
0
0
0
-53
0
-2
1
-41
92
0
0
0
0
0
0
-3
-14
-5
0
0
0
0
0
0
-1
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-45
48
0
0
0
30
0
1
0
-23
-5
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
-8
-16
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
-45
-13
28
0
0
0
0
0
0
-1
40
12
0
0
0
0
-1
13
41
-35
31
0
0
0
0
0
0
-3
22
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
4
1
0
0
0
0
0
0
-1
-51
-10
0
0
0
0
0
-31
31
-19
-46
0
0
0
0
0
0
8
-86
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
21
0
0
0
0
0
-1
-7
-20
49
0
0
0
0
0
-1
0
-15
4
0
0
0
0
0
0
-3
18
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-31
26
0
0
0
0
0
0
-1
-22
32
0
0
0
0
0
6
0
4
-25
0
0
0
0
0
0
0
39
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
54
31
-29
0
0
0
-1
0
0
-13
-24
16
0
0
0
0
0
0
-14
-41
59
0
0
-6
0
-2
-12
9
46
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-5
58
0
0
0
2
0
1
25
-37
33
0
0
0
0
0
1
-4
-39
23
0
0
-29
-1
0
16
8
-49
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
25
-53
0
0
0
0
0
1
-18
-5
-21
0
0
0
0
0
-1
1
-13
8
0
0
-1
0
0
-8
-11
10
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
36
10
0
0
0
0
0
-5
6
-53
59
0
0
0
0
0
0
0
-19
19
0
0
2
0
0
-2
-17
-69
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
-29
22
-3
0
0
0
0
0
0
-5
-34
68
0
0
0
0
0
0
-5
42
30
0
0
0
0
0
0
-8
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
39
5
0
0
0
0
0
0
2
23
9
0
0
0
0
0
-1
-2
-9
23
0
0
0
0
0
0
-1
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
8
25
-13
0
0
0
0
0
0
-4
-1
29
0
0
0
0
0
0
-2
0
30
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
25
-45
0
0
0
0
0
0
4
3
-5
0
0
0
0
0
0
-3
1
12
0
0
0
0
0
0
4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-44
4
75
0
0
0
25
0
-2
-3
-26
-42
0
0
0
0
0
0
16
-32
42
0
0
0
0
0
1
-25
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-30
9
0
0
0
-1
0
2
-16
-2
61
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
-8
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
1
6
0
0
0
0
0
0
4
-25
29
0
0
0
0
0
0
1
-5
10
0
0
0
0
0
0
-2
23
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-14
53
0
0
0
2
0
0
0
-19
46
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-1
-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
11
53
9
-44
51
0
0
0
0
0
1
-1
-49
22
0
0
0
0
-5
8
1
-9
-7
0
0
0
0
0
0
45
-34
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-31
-7
-13
-5
0
0
0
0
0
0
0
-18
28
0
0
0
0
1
2
-6
4
28
0
0
0
0
0
0
0
-52
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
4
14
-54
0
0
0
0
0
0
4
23
-36
0
0
0
0
-2
-2
-5
9
5
0
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
3
-8
14
0
0
0
0
0
0
0
-6
49
0
0
0
0
-6
5
1
1
0
0
0
0
0
0
-1
-13
5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
92
-28
62
0
0
0
3
0
36
-29
-51
-7
0
0
0
0
0
-58
24
-5
58
0
0
-4
3
-2
31
-50
-12
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
60
-9
3
0
0
0
1
0
-13
7
-52
-9
0
0
0
0
-2
49
-20
8
-61
0
0
0
0
0
24
16
-17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
36
-26
-6
0
0
0
1
0
-5
-26
73
-29
0
0
0
0
0
-13
44
-81
42
0
0
-13
0
0
-2
23
21
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
45
-2
-21
-41
0
0
0
-4
0
-43
14
-41
39
0
0
0
0
-1
5
0
-9
12
0
0
9
0
0
-7
13
-22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
2
-62
55
0
0
0
0
0
3
9
-10
-12
0
0
0
0
-2
0
-13
-13
-60
0
0
0
0
0
0
13
-38
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
48
19
31
-24
0
0
0
0
0
0
3
-31
3
0
0
0
0
0
0
2
-17
-8
0
0
0
0
0
-1
0
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
42
33
2
3
4
0
0
0
0
3
30
41
3
-4
0
0
0
-5
16
-29
-14
101
4
0
0
0
0
-2
-4
26
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-15
-28
38
37
-7
0
0
0
0
0
1
85
-5
-22
0
0
0
0
1
-2
7
-21
17
0
0
0
0
0
16
-16
-41
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
-31
-2
0
0
0
4
0
4
-5
-11
1
0
0
0
0
0
0
-2
-21
54
0
0
0
0
0
0
7
97
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
-2
0
0
0
-14
0
1
5
-72
82
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-42
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-23
-51
12
11
0
0
75
0
0
-44
6
-21
2
0
0
0
0
0
5
46
-9
-1
0
0
0
0
0
-5
-75
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-52
-17
34
0
0
10
0
-1
4
-40
28
5
0
0
0
0
0
0
-4
35
-18
0
0
-4
0
0
3
51
-47
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-5
-65
83
0
0
0
0
0
0
-2
-80
93
0
0
0
0
0
-2
-6
10
-41
0
0
0
0
0
-4
0
-10
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
9
18
0
0
0
0
0
0
0
-32
34
0
0
0
0
0
0
-4
-5
14
0
0
0
0
0
0
3
-9
-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
2
-4
5
62
-13
7
0
0
0
0
0
0
-23
3
14
0
0
0
2
-8
-17
13
35
-2
0
0
0
0
0
0
8
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
16
1
41
-1
0
0
0
0
0
-1
31
-29
3
0
0
0
0
-5
0
18
-32
-15
0
0
0
0
0
-2
42
4
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
10
14
31
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
0
-22
7
75
0
0
15
4
1
12
-13
-38
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
13
20
0
0
0
0
0
0
6
-52
37
0
0
0
0
0
0
0
20
-22
0
0
5
0
0
0
9
-44
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
42
-2
16
-2
0
0
0
0
0
50
12
9
-7
0
0
0
0
0
16
-91
-8
9
0
25
0
0
-4
20
-23
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
32
47
-18
0
0
1
0
-1
-14
25
21
9
0
0
0
0
0
0
-23
-13
10
0
-41
0
0
1
-31
13
24
-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
66
-6
-9
-6
-46
0
0
0
0
0
-1
23
-43
-11
0
0
0
0
0
0
-10
-41
61
0
0
0
0
0
0
-12
38
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-5
-33
6
0
0
0
0
0
0
-1
-52
50
0
0
0
0
0
0
0
19
-19
0
0
0
0
0
0
1
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
8
39
41
-22
4
0
0
0
0
0
-49
-32
33
17
0
0
0
0
0
-1
-4
25
10
0
0
0
0
0
-6
13
-12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
65
3
-35
0
0
0
0
0
0
-24
-8
0
0
0
0
0
0
0
18
12
-101
0
0
0
0
0
-3
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
22
8
0
0
0
5
0
0
8
-49
-13
0
0
0
0
0
0
1
8
-34
0
0
0
0
0
0
9
-12
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
22
0
0
0
4
0
0
-1
-18
-1
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
-1
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
31
-50
-5
4
0
0
5
0
-3
15
-77
29
12
0
0
0
0
0
2
-17
-25
22
0
0
0
0
0
-25
-3
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-42
-4
21
0
0
3
0
4
0
-14
-16
52
0
0
0
0
0
0
0
1
-75
0
0
0
0
0
0
-17
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-1
2
-5
19
0
0
0
0
0
0
0
-44
27
0
0
0
0
0
3
0
-13
-25
0
0
0
0
0
0
-6
-51
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-8
0
0
0
0
0
0
-3
5
-23
0
0
0
0
0
1
0
-17
-6
0
0
0
0
0
0
3
7
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-8
-31
155
-11
0
0
0
0
0
0
-32
-8
18
0
0
0
0
2
0
-22
-5
-16
0
0
0
0
-2
-1
0
23
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-1
0
-10
0
0
0
0
-2
-2
-2
-16
33
0
0
0
0
0
0
-8
-2
28
0
0
0
0
0
-4
0
5
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
22
-5
-29
0
0
0
-3
0
6
-44
-5
24
0
0
0
0
0
0
-1
-42
23
0
0
27
0
0
-17
-5
-119
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
52
-31
18
0
0
0
-1
0
-1
-8
-17
1
0
0
0
0
0
-2
-5
21
18
0
0
0
0
0
0
-12
7
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
-4
36
42
17
-1
0
0
2
0
8
-22
-27
8
0
0
0
0
0
-5
-14
-5
4
-1
0
0
0
-1
43
-32
-26
-26
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
16
-5
-9
4
0
0
1
0
0
52
-45
-38
-2
0
0
0
1
1
19
-30
-13
-56
0
0
0
0
0
-13
23
-1
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
22
41
61
22
0
0
0
0
0
2
10
-98
41
0
0
0
0
-1
7
10
-79
21
0
0
0
0
0
14
-4
-35
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
-54
4
-9
0
0
0
0
0
0
2
-18
33
0
0
0
0
0
-2
1
31
-17
0
0
0
0
0
0
0
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-20
-51
-22
31
17
0
0
0
0
1
-8
-18
-50
36
0
0
0
-2
8
29
23
41
-11
0
0
0
0
1
-7
9
29
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
18
54
-1
23
-32
4
0
0
0
-4
13
-9
71
-24
-12
0
0
0
5
-21
-27
7
-17
-4
0
0
2
1
-24
49
11
-20
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-60
39
0
0
0
6
0
2
5
-49
-10
0
0
0
0
0
0
4
43
-69
0
0
0
0
0
0
-42
-46
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
68
0
0
0
-27
0
-2
-2
-17
-58
0
0
0
0
0
0
0
-6
27
0
0
0
0
0
0
1
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-33
-2
17
0
0
-35
0
-3
-19
-4
44
14
0
0
0
0
0
0
2
-42
18
0
0
0
0
-1
14
-50
48
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
43
22
-39
-5
0
25
0
-17
9
-42
20
-15
-23
0
0
0
0
-6
-30
29
-5
-5
0
0
0
2
-8
40
-8
-70
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-18
-21
18
0
0
0
0
0
-1
0
30
3
0
0
0
0
-6
2
-1
-4
45
0
0
0
0
0
0
-2
-53
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-58
0
0
0
0
0
0
0
-71
1
0
0
0
0
-1
0
0
-8
41
0
0
0
0
0
0
-1
9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
-65
8
9
0
0
0
0
0
0
6
11
-4
0
0
0
4
-4
4
-13
-9
15
0
0
0
0
1
-6
-21
40
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
24
15
-72
-43
17
0
0
0
0
12
-5
-31
-5
-28
0
0
0
0
7
3
-1
-46
8
0
0
0
0
1
15
3
13
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
22
13
23
0
0
0
1
0
0
27
-71
60
0
0
0
0
0
0
-1
26
-27
0
0
-12
0
-3
-13
6
-15
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
5
26
0
0
0
0
0
0
5
18
49
0
0
0
0
0
0
-1
-29
-5
0
0
12
0
0
-5
-7
39
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-32
8
9
0
0
-3
0
0
23
5
23
-4
0
0
0
0
0
3
-28
18
6
0
-44
0
-3
1
-14
-89
30
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-42
5
0
-4
0
13
0
-1
-81
10
54
-77
7
0
0
0
0
-5
-24
-56
-20
38
47
0
0
-5
-19
-16
-37
-30
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
62
-74
15
0
0
0
0
0
3
31
-40
66
0
0
0
0
0
1
10
-10
9
0
0
0
0
0
0
-41
-15
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
-1
-8
9
-14
15
0
0
0
0
0
-8
-2
0
-8
0
0
0
0
0
0
-1
-5
61
0
0
0
0
0
0
-2
-13
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-2
39
72
-29
0
0
0
0
4
-18
42
-77
7
0
0
0
0
0
3
47
-20
-27
0
0
0
0
0
14
-32
22
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
25
-59
-31
-3
30
0
0
0
0
-19
-25
-5
19
-2
0
0
-2
-2
-2
6
-2
22
-32
0
0
0
0
5
-35
-12
47
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
8
-46
26
0
0
0
-16
1
-6
22
-8
-3
0
0
0
0
-1
4
3
-49
61
0
0
0
-8
0
-5
-44
10
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
7
0
0
0
-9
0
1
-8
18
-1
0
0
0
0
0
0
0
18
-35
0
0
0
0
0
0
-4
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-32
16
0
0
-71
0
-1
10
-41
62
12
0
0
0
0
-1
0
0
22
-49
0
0
0
0
0
7
-33
7
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-49
14
10
16
0
18
0
-1
-2
-39
-90
-13
0
0
0
0
0
-1
-42
-3
-8
-8
0
0
0
0
-5
-24
1
-42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-13
30
-6
-7
0
0
0
0
0
0
-10
22
6
0
0
0
0
-3
-3
0
-25
29
0
0
0
0
0
1
10
-62
112
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-7
11
56
0
0
0
0
0
0
0
-3
40
0
0
0
0
10
-13
-1
5
5
0
0
0
0
0
0
-10
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-1
-101
23
10
0
0
0
0
-4
5
-6
-22
-5
0
0
0
0
0
-3
19
13
8
0
0
0
0
0
-8
-23
69
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
4
25
-16
-45
-22
0
0
0
1
1
-5
-27
-7
13
0
0
-25
2
4
13
31
-61
15
0
0
0
0
-3
-10
19
-39
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
35
7
-2
-8
0
0
0
14
22
-59
14
-4
-4
0
0
0
0
5
91
8
14
-17
0
0
9
33
-47
-27
-14
17
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-45
33
-51
34
0
0
0
30
30
11
-102
-58
45
0
0
0
0
11
71
-51
-37
13
0
0
51
10
5
-41
-23
44
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
29
-11
27
-3
0
0
39
-36
37
24
2
38
0
0
0
0
32
-16
57
-7
-8
-9
0
44
37
60
-37
49
-13
-44
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-5
20
43
-1
-19
5
0
-61
30
-11
-16
-20
33
11
-24
0
0
5
-41
-30
-40
29
1
-6
-95
50
12
-115
-83
-92
-6
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-34
77
-74
33
0
0
0
0
0
9
-29
-41
17
0
0
0
0
-2
-3
-5
-12
25
0
0
0
0
-3
40
63
-15
-19
0
0
0
0
5
74
-24
-53
9
0
0
0
0
-29
5
-22
29
-6
0
0
0
0
-38
-25
-8
-54
50
0
0
0
0
-21
84
-27
8
-7
0
0
0
0
16
0
48
-71
51
0
0
0
0
0
37
9
-23
5
0
0
0
0
-21
7
-2
2
10
0
0
0
0
2
7
-51
16
18
0
0
0
0
-17
17
39
36
18
0
0
0
0
12
-20
7
18
21
0
0
0
0
61
-67
29
46
-25
0
0
0
0
17
-71
11
-52
60
0
0
0
0
-19
-4
35
-34
58
0
0
0
0
-1
33
-19
-66
17
0
0
0
0
20
12
-21
-21
29
0
0
0
0
0
-18
26
-1
5
0
0
0
0
19
0
-25
-4
18
0
0
0
0
7
-32
41
-16
-39
0
0
0
0
-7
14
8
-22
5
0
0
0
0
42
-20
25
-22
2
0
0
0
0
-20
-26
23
-3
70
0
0
0
0
1
-32
30
4
3
0
0
0
0
5
20
61
-44
-12
0
0
0
0
-25
29
4
-13
6
0
0
0
0
27
-26
-30
-20
24
0
0
0
0
13
-14
102
-84
24
0
0
0
0
-66
125
26
-68
4
0
0
0
0
31
5
53
-7
-9
0
0
0
0
0
49
-28
-41
34
0
0
0
19
-15
83
-14
15
1
0
0
0
0
0
-2
6
-4
25
0
0
0
19
0
-21
41
35
18
0
0
0
0
5
10
49
-4
-37
0
0
0
72
-5
-10
-15
30
-4
0
0
0
0
0
3
-12
3
16
0
0
0
16
0
-16
26
-78
14
0
0
0
0
0
-18
28
-3
30
0
0
0
-18
-7
4
-29
5
19
0
0
0
0
0
-27
-8
-31
23
0
0
0
1
0
-42
-23
-41
47
0
0
0
0
0
-2
-1
-72
27
0
0
0
39
0
-9
-29
-25
30
0
0
0
0
0
3
-8
-41
49
0
0
0
-36
0
-68
54
84
8
0
0
0
0
0
5
20
-57
38
0
0
0
56
0
-4
-8
26
90
0
0
0
0
0
1
-8
5
-39
0
0
0
3
0
0
-29
10
-40
0
0
0
0
0
1
-19
-10
22
0
0
0
-25
5
9
-1
-13
-32
0
0
0
0
0
4
4
-22
-46
0
0
0
22
0
-9
22
-49
-7
0
0
0
0
0
2
-6
9
-21
0
0
0
-15
0
24
-5
-71
66
0
0
0
0
0
2
-4
-84
59
0
0
0
-35
0
-6
34
46
20
0
0
0
0
-1
-7
-106
32
52
0
0
0
-30
-2
-3
20
-15
18
0
0
0
0
0
-47
6
-27
58
0
0
0
-13
2
-41
53
-2
10
0
0
0
0
22
-61
-19
-8
11
0
0
0
0
0
1
-4
-25
-23
0
0
0
0
-29
47
4
27
-15
0
0
0
0
0
-18
-40
6
19
0
0
0
0
-1
-1
23
10
7
0
0
0
0
0
-2
41
-69
60
0
0
0
0
2
-1
38
-81
6
0
0
0
0
-1
-29
31
-15
24
0
0
0
0
-13
95
-34
-50
4
0
0
0
0
0
-5
9
-32
-38
0
0
0
0
31
-34
79
-26
4
0
0
0
0
0
5
-3
4
-12
0
0
0
0
0
2
-22
-30
8
0
0
0
0
0
-5
-15
-22
-3
0
0
0
0
2
17
70
-94
-7
0
0
0
0
-4
12
6
-24
41
0
0
0
0
2
3
30
-67
-21
0
0
0
0
0
1
3
-11
14
0
0
0
0
1
-18
-52
41
40
0
0
0
0
0
4
-40
17
-20
0
0
0
0
0
13
-5
-58
5
0
0
0
0
0
1
-30
-49
21
0
0
0
0
0
2
16
23
5
0
0
0
0
-2
16
31
-26
54
0
0
0
0
32
-8
78
-113
29
0
0
0
0
0
1
-18
-25
-11
0
0
0
0
13
20
-45
-55
-48
0
0
0
0
0
-6
-34
56
51
0
0
0
0
0
47
44
1
-68
0
0
0
0
7
17
-9
5
-9
0
0
0
0
21
-73
23
-129
144
0
0
0
0
-3
-46
27
-24
9
0
0
0
0
0
22
-54
57
-6
0
0
0
8
-1
-5
-20
-18
10
0
0
0
0
0
-4
-36
43
28
0
0
-23
-22
2
42
63
-59
14
0
0
0
0
0
1
25
-74
41
0
0
0
0
0
-8
8
2
35
0
0
0
0
0
-15
20
-30
50
0
0
-10
-1
-9
39
42
7
-13
0
0
0
0
0
-1
0
19
-24
0
0
0
8
0
-1
42
-50
13
0
0
0
0
0
21
5
-18
-62
0
0
-34
1
-2
21
50
-43
-20
0
0
0
0
0
-3
23
6
-61
0
0
0
-2
0
-2
-6
13
30
0
0
0
0
0
1
-44
3
-26
0
0
29
-7
4
85
-87
-16
-5
0
0
0
0
0
1
55
-27
-4
0
0
0
0
0
0
-16
-14
38
0
0
0
0
0
-2
-17
-5
21
0
0
32
-14
1
-5
22
0
-6
0
0
0
0
0
-3
-80
13
14
0
0
0
0
0
4
0
-49
19
0
0
0
0
0
0
-8
-55
50
0
0
39
0
3
-23
47
-5
-60
0
0
0
0
0
1
0
-5
-16
0
0
0
-10
0
-1
15
-22
-26
0
0
0
0
0
-4
-42
10
48
0
0
19
5
0
-25
-48
15
-10
0
0
0
0
0
8
-75
-7
-3
0
0
0
-17
0
-1
-43
-46
84
0
0
0
0
0
13
10
-30
59
0
0
-2
17
-65
-16
2
33
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-30
-20
-41
14
0
0
0
0
0
0
-14
37
26
0
0
0
0
-1
-39
-46
47
42
0
0
0
0
0
-16
33
-14
65
0
0
0
0
3
63
-22
-9
-4
0
0
0
0
0
0
15
-9
11
0
0
0
0
1
-2
39
-4
38
0
0
0
0
-1
-3
-23
-40
60
0
0
0
0
9
29
-2
-23
30
0
0
0
0
0
4
1
32
-8
0
0
0
0
1
19
79
-98
6
0
0
0
0
0
37
27
-31
12
0
0
0
0
4
-26
16
-20
43
0
0
0
0
0
-15
-5
21
-5
0
0
0
0
13
8
5
-44
-7
0
0
0
0
-16
34
-28
66
-33
0
0
0
0
-29
-69
-22
-2
12
0
0
0
0
0
0
-8
-57
34
0
0
0
0
2
-12
2
-63
17
0
0
0
0
0
-8
-12
13
46
0
0
0
0
12
-3
-78
-44
100
0
0
0
0
0
1
8
-11
-8
0
0
0
0
2
29
24
-63
19
0
0
0
0
-13
-19
-5
46
-17
0
0
0
0
30
-46
-6
28
64
0
0
0
0
0
5
18
-15
-10
0
0
0
0
-4
-5
63
-50
20
0
0
0
0
-2
2
17
35
49
0
0
0
0
-4
-31
58
8
38
0
0
0
0
1
21
-7
2
29
0
0
0
0
4
14
-57
-18
13
0
0
0
0
-4
-17
-4
14
-19
0
0
0
0
0
0
-3
56
47
0
0
0
15
0
0
-7
-27
50
0
0
0
0
0
0
-4
-3
-77
0
0
0
6
0
0
0
-4
-28
0
0
0
0
0
0
-6
-42
31
0
0
0
-1
0
0
-14
12
3
0
0
0
0
0
0
-3
12
6
0
0
0
-1
0
0
47
-17
-42
0
0
0
0
0
2
-49
-1
20
0
0
0
24
0
-3
16
11
-29
0
0
0
0
0
0
0
-20
10
0
0
0
-1
0
-1
-76
4
10
0
0
0
0
0
-1
-5
-4
18
0
0
0
-8
0
3
-15
50
3
0
0
0
0
0
0
3
-34
38
0
0
0
5
0
-8
24
6
-19
0
0
0
0
0
0
5
4
-13
0
0
0
19
0
1
0
-117
41
0
0
0
0
0
0
-3
3
17
0
0
0
0
0
-1
35
15
-31
0
0
0
0
0
0
-3
5
21
0
0
0
34
0
3
5
-16
-88
0
0
0
0
0
0
1
-33
59
0
0
0
5
0
0
-39
-27
8
0
0
0
0
0
3
9
-93
31
0
0
0
8
0
-3
0
15
-9
0
0
0
0
0
0
0
58
-10
0
0
0
-8
0
1
-4
-67
52
0
0
0
0
0
3
6
-12
18
0
0
0
43
-2
1
0
-64
-29
0
0
0
0
-1
0
1
-30
-17
0
0
0
-26
1
-82
2
15
3
0
0
0
0
-1
-5
-2
-54
19
0
0
0
0
0
2
-5
-51
-24
0
0
0
0
0
1
5
-8
-17
0
0
0
0
0
3
5
-23
77
0
0
0
0
0
0
2
-17
17
0
0
0
0
0
0
-3
19
-13
0
0
0
0
0
-2
3
-16
-19
0
0
0
0
0
0
-30
29
26
0
0
0
0
0
5
-41
-41
60
0
0
0
0
0
-2
-3
-28
53
0
0
0
0
10
40
-18
-16
-65
0
0
0
0
0
7
17
16
-44
0
0
0
0
0
4
-2
4
-30
0
0
0
0
0
-1
1
-5
2
0
0
0
0
-7
-20
-28
-42
41
0
0
0
0
-22
-21
50
-21
-18
0
0
0
0
0
-2
4
9
30
0
0
0
0
0
0
0
16
-19
0
0
0
0
0
0
-4
20
-45
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
4
-14
48
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
-1
0
20
0
0
0
0
0
-1
7
27
-1
0
0
0
0
1
0
-4
9
-18
0
0
0
0
0
0
0
6
0
0
0
0
0
-6
13
9
49
-51
0
0
0
0
0
1
-9
-90
45
0
0
0
0
5
-2
4
12
-31
0
0
0
0
0
1
-4
-22
42
0
0
0
0
-24
-5
16
-65
74
0
0
0
0
-10
-5
-90
-19
33
0
0
0
0
0
7
-7
-7
50
0
0
0
0
0
-1
-9
15
-13
0
0
0
0
0
0
0
-62
2
0
0
27
0
0
3
-65
21
32
0
0
0
0
0
0
13
-8
-42
0
0
0
0
0
1
-2
-50
26
0
0
0
0
0
-1
0
-3
20
0
0
1
0
0
1
16
21
23
0
0
0
0
0
-5
33
-30
34
0
0
0
2
0
0
25
-62
-3
0
0
0
0
0
-3
-15
14
-37
0
0
-5
2
0
-3
-8
36
-5
0
0
0
0
0
0
2
14
-3
0
0
0
0
0
0
-16
4
16
0
0
0
0
0
0
-5
-68
-6
0
0
0
0
-1
-31
-39
5
54
0
0
0
0
0
-1
8
23
-32
0
0
0
0
0
0
0
-8
17
0
0
0
0
0
-2
0
-8
58
0
0
-5
0
0
1
-3
-47
11
0
0
0
0
0
0
7
-7
-41
0
0
0
0
0
0
1
-7
-3
0
0
0
0
0
0
-5
-5
16
0
0
19
0
0
1
-73
-5
-5
0
0
0
0
0
0
3
-13
60
0
0
0
0
0
0
2
-2
66
0
0
0
0
0
0
-2
-23
13
0
0
58
-4
-1
-3
29
-93
43
0
0
0
0
0
1
2
-6
43
0
0
0
-2
0
0
9
18
-83
0
0
0
0
1
-2
10
6
-75
0
0
46
-52
1
22
51
-44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
53
-5
13
-23
0
0
0
0
0
-3
-17
-38
20
0
0
0
0
-3
49
-31
26
-3
0
0
0
0
0
39
-14
-37
17
0
0
0
0
-13
-75
88
12
-7
0
0
0
0
1
-27
22
-19
4
0
0
0
0
1
-5
-63
12
41
0
0
0
0
-1
-21
-13
-4
41
0
0
0
0
-56
0
71
17
-4
0
0
0
0
0
2
-1
41
33
0
0
0
0
6
-8
6
14
61
0
0
0
0
0
14
9
-16
-2
0
0
0
0
-19
-22
-15
5
50
0
0
0
0
0
7
9
-8
-5
0
0
0
0
15
-41
51
-66
44
0
0
0
0
12
-1
17
21
-34
0
0
0
0
128
47
-37
30
32
1
0
0
0
-5
-23
31
-29
-38
17
0
0
0
-44
53
-26
55
64
8
0
0
0
-3
-14
75
4
107
-13
0
0
0
20
-5
43
-18
-22
11
0
0
0
-7
-26
-7
-42
-16
2
0
0
0
45
23
-60
-74
48
-16
0
0
0
60
-5
41
-49
-12
-12
0
0
0
12
23
42
-42
-51
-1
0
0
0
0
-4
9
-25
-13
48
0
0
0
43
2
-6
-61
66
27
0
0
0
7
-16
-37
-36
85
1
0
0
0
-65
32
103
0
29
8
0
0
0
8
-84
88
-45
15
-1
0
0
0
-24
29
-6
90
-3
5
0
0
0
38
-49
2
38
38
5
0
0
0
0
9
-24
4
-9
0
0
0
-70
-2
5
-25
-36
60
0
0
0
0
0
0
51
21
-56
0
0
0
1
0
-2
-13
-24
56
0
0
0
0
0
4
-58
46
27
0
0
0
3
0
-16
90
-80
-16
0
0
0
0
0
-1
0
-31
40
0
0
0
0
1
-2
40
-24
-15
0
0
0
0
0
3
3
-40
32
0
0
0
25
0
1
-4
-63
-1
0
0
0
0
0
1
-5
-23
60
0
0
0
6
0
-6
-8
-62
25
0
0
0
0
0
0
1
-14
-18
0
0
0
35
0
4
-22
0
1
0
0
0
0
0
6
-2
-44
28
0
0
0
13
1
-54
43
42
-20
0
0
0
0
0
0
16
54
50
-1
0
0
-77
-1
1
-13
-64
3
21
0
0
0
0
1
66
-5
8
-16
0
0
0
0
0
-9
-20
13
-16
0
0
0
0
0
33
-55
15
17
0
0
5
-1
0
42
-15
67
-16
0
0
0
0
-1
0
0
29
-49
0
0
7
1
31
7
-6
2
-5
0
0
0
0
3
5
-18
-13
13
0
0
86
0
0
-21
-1
-67
40
0
0
0
0
0
7
-20
41
-31
0
0
18
0
-2
-42
-35
96
0
0
0
0
3
-2
-8
13
-17
19
0
0
41
-3
0
-38
19
-21
40
0
0
0
4
-19
-22
-2
-31
-8
0
0
2
-35
-15
-7
13
28
-19
0
0
0
2
2
-8
-43
40
0
0
0
0
0
0
1
-18
40
0
0
0
0
2
18
21
-21
-61
0
0
0
0
0
1
16
-68
32
0
0
0
0
0
0
-13
-20
5
0
0
0
0
0
3
-1
-19
42
0
0
0
0
0
-1
0
4
5
0
0
0
0
0
7
22
-13
60
0
0
0
0
0
-10
-3
16
21
0
0
0
0
0
0
2
1
-1
0
0
0
0
0
17
1
-6
-22
0
0
0
0
0
-17
0
-58
4
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
19
43
-45
0
0
0
0
1
-9
15
5
-22
0
0
0
0
1
0
-1
-31
-9
-18
0
0
0
0
0
0
41
-35
0
0
0
0
-8
-25
-67
-23
-30
-7
0
0
0
0
-3
76
-54
-72
3
0
0
0
0
0
-9
5
-24
15
0
0
0
0
0
-8
15
-18
4
0
0
0
-4
-14
-25
11
2
10
0
0
0
5
20
-13
-15
26
-23
0
0
0
13
-7
12
-29
53
-33
0
0
0
0
1
-2
-22
-17
34
0
0
0
1
-16
-24
-24
67
28
0
0
0
0
0
-21
-52
66
14
0
0
0
-2
-1
5
21
5
-5
0
0
0
-1
-2
14
-50
24
-1
0
0
0
-32
-5
13
-61
-51
49
0
0
0
-5
-48
3
-15
91
-15
0
0
0
0
-4
10
9
-6
0
0
0
0
0
-1
-3
-31
-21
0
0
0
0
0
-1
23
-43
-5
0
0
-10
3
1
-12
-49
-15
1
0
0
0
0
0
2
8
-46
-9
0
0
0
0
0
2
26
-65
-20
0
0
0
0
0
0
3
10
9
0
0
0
0
-1
49
-18
-50
32
0
0
0
0
0
2
-9
-27
56
0
0
0
0
0
0
8
3
12
0
0
0
0
0
4
-4
-50
21
0
0
-21
0
0
9
22
5
37
0
0
0
0
0
0
-7
6
-32
0
0
0
0
0
0
1
-18
2
0
0
0
0
0
0
-4
-8
-3
0
0
-5
0
-1
-16
13
-30
15
0
0
0
0
0
2
4
32
103
-3
0
0
0
0
0
6
27
-4
-4
0
0
0
0
-2
-34
-50
-3
-7
0
-38
0
2
-18
-50
-72
87
23
0
0
0
0
-3
-5
68
-7
-17
0
0
0
0
0
5
-6
14
-28
0
0
0
0
0
9
-56
-6
-9
0
22
0
3
-23
-36
10
16
-35
0
0
0
0
0
-2
32
48
-51
0
0
-2
0
0
3
-16
91
-84
0
0
0
0
0
0
-38
27
-16
0
30
2
0
-13
13
60
-5
-4
0
0
0
0
-1
10
-61
-25
-2
0
0
7
0
0
-2
-31
-1
-16
0
0
0
0
-3
29
-26
46
-6
0
-5
6
5
21
-59
-58
30
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-50
3
-36
34
0
0
0
0
0
0
-22
3
11
0
0
0
0
2
5
87
-66
-10
0
0
0
0
0
5
15
-19
15
0
0
0
0
0
-43
-16
-7
58
0
0
0
0
0
0
14
1
-54
0
0
0
0
1
-8
14
-11
3
0
0
0
0
0
-9
-53
-3
36
0
0
0
0
-18
11
9
20
-45
0
0
0
0
0
2
2
-69
52
0
0
0
0
-1
-6
-18
43
72
0
0
0
0
0
-25
-42
75
3
0
0
0
0
1
-9
7
5
33
0
0
0
0
-2
4
-2
15
4
0
0
0
0
24
7
-13
-31
46
0
0
0
0
23
-28
15
-41
33
0
0
0
0
2
56
49
-49
-28
3
0
0
0
0
0
8
-39
-7
32
0
0
0
1
6
84
-12
42
-58
0
0
0
0
1
6
6
32
-45
0
0
0
1
22
-27
49
9
-28
0
0
0
-1
0
37
-3
-5
-1
0
0
0
0
9
-24
73
5
-5
0
0
0
4
57
47
-47
16
-11
0
0
0
-77
30
49
21
4
-14
5
0
0
0
19
-4
-47
12
-5
21
0
0
18
-58
-54
11
-70
-24
13
0
0
0
29
-47
-61
-31
2
19
0
0
-60
-6
-5
-3
10
-36
-6
0
0
-19
-54
-8
12
93
-45
12
0
0
11
33
-18
-2
4
-37
-16
0
0
74
41
45
6
-24
3
-3
0
0
0
0
-5
-22
52
0
0
0
-6
0
2
-1
4
-7
0
0
0
0
0
0
-9
-29
7
0
0
0
3
0
-3
27
-97
83
0
0
0
0
0
0
3
-20
98
0
0
0
0
0
0
5
-40
44
0
0
0
0
0
0
4
19
5
0
0
0
0
0
0
30
-25
34
0
0
0
0
0
0
5
-18
23
0
0
0
26
0
-2
0
-30
-5
0
0
0
0
0
0
2
-18
-50
0
0
0
-6
0
-5
19
-22
27
0
0
0
0
0
3
0
-16
57
0
0
0
-40
0
0
-12
-14
59
0
0
0
0
0
0
5
-3
-5
0
0
0
1
0
4
-2
1
-26
0
0
0
0
0
0
22
-45
7
4
0
0
-31
0
2
5
-27
-1
23
0
0
0
0
0
1
-48
-5
26
0
0
0
0
0
-16
-61
-18
-49
0
0
0
0
0
-20
42
41
-12
0
0
-41
0
-3
21
46
13
5
0
0
0
0
0
0
63
76
-43
0
0
0
0
-8
21
-92
42
2
0
0
0
0
-6
43
5
20
-48
-5
0
2
0
-60
-48
3
9
36
-2
0
0
0
0
-37
30
-34
-58
-2
0
-30
0
-5
-22
0
-30
-28
8
0
0
5
-5
-2
-22
-16
0
-11
0
0
0
28
6
4
-14
-3
3
0
0
0
-8
-7
-44
-30
17
42
0
69
-4
30
-1
-57
-27
35
-7
0
0
0
3
0
-41
-2
0
0
0
0
0
0
-3
-58
60
0
0
0
0
0
0
13
34
-13
0
0
0
0
0
2
1
16
59
0
0
0
0
0
0
1
-5
-4
0
0
0
0
0
0
-2
-12
-1
0
0
0
0
0
0
-2
-31
0
0
0
0
0
0
0
53
-13
13
0
0
0
0
1
0
0
-42
8
0
0
0
0
0
0
0
12
-3
0
0
0
0
-12
-3
-25
74
-3
0
0
0
0
0
-2
2
-65
56
0
0
0
0
0
0
0
4
4
0
0
0
0
0
-1
0
-16
-6
0
0
0
0
-1
2
0
-7
-7
0
0
0
0
6
-54
-63
3
28
0
0
0
0
0
-4
5
-47
-10
-10
0
0
0
0
0
1
-32
20
25
0
0
0
0
0
3
30
2
-80
0
0
0
0
-1
1
-25
-21
-44
0
0
0
0
0
-9
1
19
-91
0
0
0
0
-3
0
-3
1
8
0
0
0
0
0
0
8
-4
11
0
0
0
0
-15
14
-34
27
33
0
0
0
-1
-5
-17
-8
-15
4
9
0
0
0
0
2
-22
-18
-74
23
0
0
-23
70
36
-103
25
-39
7
0
0
-3
-10
-37
19
-50
33
15
0
0
-8
1
-1
58
50
-75
-17
0
0
0
-2
-3
-34
-20
11
41
0
0
-27
15
8
28
96
-14
-4
0
0
-15
-32
-97
-36
-50
-38
22
0
0
0
0
7
39
-91
0
0
0
0
0
0
-10
-15
34
0
0
0
0
0
0
-13
-18
35
0
0
-15
0
0
0
-41
-7
-10
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
0
-6
13
5
0
0
0
0
0
0
0
7
2
0
0
0
0
0
4
-50
5
5
0
0
0
0
0
-2
3
-1
8
0
0
0
0
0
0
-1
-31
-7
0
0
0
0
0
0
6
-9
-9
0
0
23
0
0
20
-37
22
-33
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
1
0
2
0
0
-2
-1
0
-9
-35
9
-10
0
0
0
0
0
1
-13
-73
42
-11
0
0
0
0
0
-27
13
54
-46
0
0
0
0
0
5
-9
-10
-17
0
-10
0
0
-2
-32
-57
-17
48
0
0
0
0
-1
0
1
-12
38
0
0
0
0
0
-8
3
3
25
0
0
0
0
0
-1
2
1
-70
0
-18
0
0
-72
31
-55
-8
32
0
0
0
0
16
-22
58
15
-54
-13
0
0
0
0
49
1
-28
-19
-33
0
0
0
1
8
-12
-22
-3
-11
21
1
0
-85
25
-80
-54
-65
4
0
0
0
-8
4
-92
8
-46
44
0
0
0
-2
30
32
-76
-32
20
0
0
-1
1
-9
32
-12
28
21
-102
33
4
-53
-24
-49
62
-28
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-12
3
-66
30
0
0
0
0
-2
7
-51
-13
1
0
0
0
0
1
-9
20
2
0
0
0
0
0
0
34
-19
24
-13
0
0
0
0
25
4
-31
-51
53
0
0
0
0
-8
-2
60
-78
52
0
0
0
0
5
-2
9
-27
48
0
0
0
0
1
4
-42
37
-3
0
0
0
0
8
-22
43
5
22
0
0
0
0
0
2
19
-52
19
0
0
0
0
26
2
-32
27
-13
0
0
0
0
-1
-9
-22
26
39
0
0
0
0
10
59
-17
-5
-35
0
0
0
0
0
-8
15
11
4
0
0
0
0
31
51
36
-17
-16
0
0
0
0
24
-13
15
21
39
0
0
0
0
-14
-27
-31
-47
49
0
0
0
0
2
4
-42
30
12
0
0
0
0
-2
-7
-40
5
68
0
0
0
0
0
-31
2
-40
51
0
0
0
0
-5
-8
-3
20
3
0
0
0
0
0
-8
9
-28
77
0
0
0
0
1
15
6
-51
55
0
0
0
0
6
-15
-9
17
-11
0
0
0
0
-54
-25
41
-16
23
0
0
0
0
0
2
-5
-19
59
0
0
0
0
-10
24
50
-93
81
0
0
0
0
1
-1
-7
-16
-26
0
0
0
0
-33
24
-23
7
27
0
0
0
0
7
-45
29
12
13
0
0
0
0
9
-36
-26
4
44
0
0
0
0
7
-44
6
46
34
0
0
0
0
0
6
73
-6
-39
0
0
0
-10
2
1
12
51
9
0
0
0
0
0
0
3
6
-18
0
0
0
-1
0
-6
-7
-23
16
0
0
0
0
0
-1
0
-6
28
0
0
0
13
0
1
-27
-18
19
0
0
0
0
0
-1
3
-43
24
0
0
0
-1
0
-2
24
-73
26
0
0
0
0
5
0
-39
-25
-2
0
0
0
5
0
3
-12
9
5
0
0
0
0
0
-4
-4
15
40
0
0
0
8
0
-1
0
-5
-2
0
0
0
0
0
0
19
0
-23
0
0
0
-26
0
-7
0
-71
51
0
0
0
0
0
-5
1
18
10
0
0
0
-24
0
-18
-38
23
71
0
0
0
0
0
0
-27
-41
3
0
0
0
9
0
0
6
-19
-6
0
0
0
0
0
-1
7
-8
48
0
0
0
-2
0
3
23
16
-18
0
0
0
0
0
0
6
14
-36
0
0
0
-21
0
0
-5
-84
2
0
0
0
0
0
0
6
-27
-13
0
0
0
-1
0
-17
40
-13
-15
0
0
0
0
0
-40
-63
-48
30
0
0
0
16
0
3
-4
-7
-12
0
0
0
0
0
-9
3
-12
-18
0
0
0
-60
0
-9
-12
50
7
0
0
0
0
0
0
-18
-66
-21
0
0
0
12
-1
-1
19
-18
21
0
0
0
0
0
-8
-4
7
37
0
0
0
50
17
30
-5
-62
41
0
0
0
0
1
0
-44
-5
61
0
0
0
0
0
0
-12
2
4
0
0
0
0
1
-3
7
22
-48
0
0
0
0
0
-1
20
-42
44
0
0
0
0
0
0
8
39
1
0
0
0
0
0
-2
-3
-10
3
0
0
0
0
0
0
-3
-41
65
0
0
0
0
0
-17
6
46
-12
0
0
0
0
0
2
-23
-69
46
0
0
0
0
0
0
-3
-26
-13
0
0
0
0
0
7
6
25
-64
0
0
0
0
0
0
-54
49
19
0
0
0
0
0
3
1
16
-26
0
0
0
0
0
0
-7
-13
-4
0
0
0
0
0
10
29
-31
-47
0
0
0
0
0
-3
-37
1
9
0
0
0
0
0
1
13
-29
-23
0
0
0
0
0
0
3
7
52
0
0
0
0
0
1
-19
-34
66
0
0
0
0
0
6
-13
-46
33
0
0
0
0
0
0
-2
-33
22
0
0
0
0
0
0
-3
-26
30
0
0
0
0
0
0
0
5
29
0
0
0
0
0
2
10
-28
16
0
0
0
0
0
0
37
19
15
0
0
0
0
0
1
-1
-31
-12
0
0
0
0
0
0
1
-12
-1
0
0
0
0
0
3
-5
-43
38
0
0
0
0
0
0
14
-12
47
0
0
0
0
0
-2
6
24
2
0
0
0
0
2
5
-5
10
-20
0
0
0
0
-41
-66
15
-51
50
0
0
0
0
3
3
-36
-82
42
0
0
0
0
0
0
14
59
-36
0
0
0
0
0
0
14
-10
-18
0
0
-39
-22
0
0
58
4
48
0
0
0
0
0
0
2
-34
-22
0
0
0
0
0
-4
-46
38
-25
0
0
0
0
0
0
5
30
-11
0
0
6
0
0
-1
66
-32
-5
0
0
0
0
0
0
26
-119
15
0
0
0
0
0
0
2
1
3
0
0
0
0
0
1
22
11
5
0
0
-21
0
0
0
50
-10
-9
0
0
0
0
0
-8
-9
-20
58
0
0
0
0
0
1
31
-38
-34
0
0
0
0
0
-1
5
-7
-32
0
0
-9
0
0
-24
9
-18
-1
0
0
0
0
0
-1
-39
-36
70
0
0
0
0
0
0
24
-39
70
0
0
0
0
0
0
16
-22
-20
0
0
11
1
0
0
-23
78
-21
0
0
0
0
0
-1
-6
-58
29
0
0
0
0
0
1
-39
40
-2
0
0
0
0
0
0
8
-4
4
0
0
35
0
0
-6
8
26
16
0
0
0
0
0
2
13
-28
23
0
0
0
0
0
0
16
-41
11
0
0
0
0
0
1
-9
57
-7
0
0
3
0
0
0
3
21
-11
0
0
0
0
0
-1
68
-29
3
0
0
0
1
0
0
31
-39
17
0
0
0
0
0
5
-35
-44
53
0
0
24
32
-19
-3
-28
-7
-5
0
0
0
0
7
-4
67
4
22
0
0
0
0
0
-1
31
-18
67
0
0
0
0
0
0
36
-4
-46
0
0
0
0
0
1
69
-49
-7
0
0
0
0
0
-9
15
-13
42
0
0
0
0
0
3
-1
-5
-22
0
0
0
0
0
0
1
44
7
0
0
0
0
0
-2
7
-47
19
0
0
0
0
2
-8
-27
5
21
0
0
0
0
0
-3
0
29
7
0
0
0
0
0
2
-5
-53
13
0
0
0
0
0
5
-68
4
52
0
0
0
0
-1
-4
2
-3
21
0
0
0
0
0
0
-9
0
8
0
0
0
0
0
-3
-1
4
31
0
0
0
0
-1
8
-11
-13
45
0
0
0
0
-5
-41
47
-46
-13
0
0
0
0
0
-2
-2
-12
16
0
0
0
0
0
-2
-46
12
-6
0
0
0
0
0
0
37
52
-43
0
0
0
0
0
-11
-19
4
-1
0
0
0
0
0
-1
12
10
3
0
0
0
0
0
1
3
-12
-17
0
0
0
0
0
0
-5
-22
33
0
0
0
0
-34
-13
-25
-67
25
0
0
0
0
0
0
3
-47
23
0
0
0
0
0
0
-43
31
23
0
0
0
0
0
25
-15
13
-57
0
0
0
0
0
10
-14
32
-3
0
0
0
0
0
0
-5
-24
-10
0
0
0
0
13
-20
70
16
-2
0
0
0
0
31
6
35
-11
0
0
0
0
0
0
0
-1
12
-23
0
0
0
-7
0
0
-5
-22
31
0
0
0
0
0
0
-2
-90
64
0
0
0
0
0
0
-13
-28
40
0
0
0
0
0
0
5
13
-14
0
0
0
0
0
0
27
16
12
0
0
0
0
0
0
-2
8
2
0
0
0
0
0
0
7
-54
32
0
0
0
0
0
0
1
-43
-6
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
-1
10
-20
-35
0
0
0
0
0
0
11
15
-5
0
0
0
0
0
0
-4
-6
44
0
0
0
1
0
0
0
-2
-7
0
0
0
0
0
0
6
-2
5
0
0
0
0
0
0
44
-13
-47
0
0
0
0
0
0
-5
-5
39
0
0
0
22
0
-1
-47
8
8
0
0
0
0
0
0
0
18
-25
0
0
0
0
0
0
-18
-33
13
0
0
0
0
0
0
0
-4
31
0
0
0
0
0
0
-5
20
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
-18
8
0
0
0
0
0
0
2
-31
-22
0
0
0
-30
0
0
12
-16
53
0
0
0
0
0
-2
-10
-51
31
0
0
0
-2
0
0
-49
-3
48
0
0
0
0
0
0
-8
5
0
0
0
0
-21
0
0
-1
27
-75
0
0
0
0
-2
0
-39
8
40
0
0
0
-24
0
3
-81
-1
31
0
0
0
0
1
-3
2
0
23
0
0
0
0
0
0
0
-48
66
0
0
0
0
0
0
-8
-13
5
0
0
0
0
0
0
21
2
-6
0
0
0
0
0
-1
1
5
43
0
0
0
0
0
0
1
-4
-32
0
0
0
0
0
0
0
0
5
0
0
0
0
0
2
12
-4
-30
0
0
0
0
0
0
0
14
-43
0
0
0
0
0
0
1
-4
-10
0
0
0
0
0
0
3
8
-3
0
0
0
0
0
0
32
0
1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
0
15
0
0
0
0
0
5
-6
7
-68
0
0
0
0
0
-4
7
-13
17
0
0
0
0
0
0
0
-25
69
0
0
0
0
0
0
3
8
-8
0
0
0
0
0
0
0
-58
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
-4
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
-12
-4
0
0
0
0
0
1
3
5
26
0
0
0
0
0
0
0
-4
-16
0
0
0
0
0
0
-8
1
-7
0
0
0
0
0
0
-1
30
1
0
0
0
0
0
0
-13
-8
25
0
0
0
0
0
-4
0
0
42
0
0
0
0
-1
0
0
3
6
0
0
0
0
4
-22
-33
-23
-25
0
0
0
0
0
-21
70
-58
37
0
0
0
0
0
3
-9
-9
18
0
0
0
0
0
5
-13
-33
72
0
0
-3
0
0
4
22
26
-18
0
0
0
0
0
0
9
-30
-31
0
0
0
0
0
0
89
-43
40
0
0
0
0
0
0
17
25
-41
0
0
0
0
0
-23
-11
4
15
0
0
0
0
0
-5
53
6
34
0
0
0
0
0
0
12
-34
11
0
0
0
0
0
3
9
-1
-45
0
0
0
0
0
-7
-17
-27
74
0
0
0
0
0
-1
1
-4
-32
0
0
0
0
0
3
-19
-7
8
0
0
0
0
0
-1
-31
-34
70
0
0
0
0
0
-67
-45
59
2
0
0
0
0
0
7
-45
57
-28
0
0
0
0
0
0
-5
-49
33
0
0
0
0
0
-2
-29
-14
32
0
0
4
0
0
-2
20
-23
12
0
0
0
0
0
5
16
-46
23
0
0
0
0
0
-1
8
-3
17
0
0
0
0
0
0
-31
20
-13
0
0
0
0
0
-59
18
13
19
0
0
0
0
0
-5
-4
18
-5
0
0
0
0
0
2
28
-56
-40
0
0
0
0
0
0
5
18
6
0
0
2
0
0
-6
-17
19
10
0
0
0
0
0
13
-39
-27
9
0
0
0
1
0
-4
12
50
-30
0
0
0
0
-4
46
-50
-28
26
0
0
18
0
1
-62
56
-68
6
0
0
0
0
8
15
13
-9
-32
0
0
0
0
0
0
-10
-5
17
0
0
0
0
0
3
5
2
-18
0
0
0
0
0
8
48
-45
11
0
0
0
0
0
8
24
0
-62
0
0
0
0
0
1
13
-55
-5
0
0
0
0
0
3
-22
-25
69
0
0
0
0
0
-1
20
-12
28
0
0
0
0
14
16
-35
4
5
0
0
0
0
0
6
-3
69
-6
0
0
0
0
-1
31
-24
-31
37
0
0
0
0
0
-14
-22
-19
78
0
0
0
0
0
0
-2
3
31
0
0
0
0
0
1
9
-3
47
0
0
0
0
5
16
-8
-5
60
0
0
0
0
-1
-1
35
18
-31
0
0
0
0
-51
6
-45
-5
80
0
0
0
0
0
-4
-6
28
-8
0
0
0
0
0
2
13
31
-4
0
0
0
0
0
-3
32
53
0
0
0
0
0
1
-25
-4
-1
-18
0
0
0
0
0
1
13
14
-9
0
0
0
0
0
2
1
-3
50
0
0
0
0
3
-40
57
-24
30
0
0
0
0
-13
-2
-3
-17
51
0
0
0
0
0
-1
2
-14
24
0
0
0
0
2
-5
1
-41
23
0
0
0
0
0
-13
36
-45
31
0
0
0
0
17
-28
5
11
35
0
0
0
0
0
-4
-7
-82
75
0
0
0
0
6
-41
23
54
-9
0
0
0
0
1
-45
51
-15
-4
0
0
0
0
0
0
-41
-3
24
0
0
0
-24
0
4
-6
-12
2
0
0
0
0
0
0
-5
28
-13
0
0
0
7
0
0
-4
-27
25
0
0
0
0
0
0
5
-57
36
0
0
0
16
0
0
0
-8
7
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
41
11
6
0
0
0
0
0
0
-9
13
97
0
0
0
-10
0
0
0
-3
33
0
0
0
0
0
2
8
-21
50
0
0
0
-3
0
2
-54
-25
73
0
0
0
0
0
0
0
-4
14
0
0
0
-2
0
0
0
4
13
0
0
0
0
0
-4
1
-6
48
0
0
0
2
0
1
6
-40
-58
0
0
0
0
0
0
8
-5
31
0
0
0
15
0
1
-1
1
24
0
0
0
0
0
0
0
16
18
0
0
0
0
0
0
10
-36
-29
0
0
0
0
0
0
1
-7
27
0
0
0
10
0
0
0
-35
-29
0
0
0
0
0
0
0
-44
5
0
0
0
0
0
0
-3
-49
-13
0
0
0
0
0
0
1
-7
-3
0
0
0
46
0
-1
1
-54
-57
0
0
0
0
0
0
1
-33
18
0
0
0
3
0
0
-8
-38
24
0
0
0
0
0
-2
-2
-18
18
0
0
0
-4
0
-1
2
29
-36
0
0
0
0
0
-1
0
15
-13
0
0
0
0
-5
38
11
15
-25
0
0
0
0
1
6
5
-13
4
0
0
0
0
0
0
2
12
-22
0
0
0
0
0
-2
6
7
45
0
0
0
0
0
0
-49
37
21
0
0
0
0
0
0
0
4
32
0
0
0
0
0
0
-7
34
-66
0
0
0
0
0
0
0
-13
-6
0
0
0
0
0
0
-28
22
12
0
0
0
0
0
3
-3
5
9
0
0
0
0
0
0
0
-46
41
0
0
0
0
1
0
1
4
-45
0
0
0
0
0
0
-8
-57
10
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-18
-12
0
0
0
0
0
-20
-9
-3
22
0
0
0
0
0
0
7
4
13
0
0
0
0
0
0
2
-49
-11
0
0
0
0
0
-2
0
9
-1
0
0
0
0
0
0
-8
-56
-9
0
0
0
0
0
0
0
4
34
0
0
0
0
0
0
0
-5
-70
0
0
0
0
0
0
-1
2
8
0
0
0
0
0
0
-41
13
24
0
0
0
0
1
-1
0
0
6
0
0
0
0
0
0
-1
18
-12
0
0
0
0
0
-1
-1
12
-4
0
0
0
0
0
1
-7
-14
-6
0
0
0
0
-1
0
0
-32
31
0
0
0
0
0
0
5
-46
49
0
0
0
0
-2
0
1
3
37
0
0
0
0
-13
-45
-40
3
-2
0
0
0
0
0
4
38
-23
38
0
0
0
0
0
0
-21
-1
32
0
0
0
0
0
0
4
-16
51
0
0
-5
0
0
0
-13
31
56
0
0
0
0
0
-1
5
23
7
0
0
0
0
0
0
1
-8
-2
0
0
0
0
0
0
-5
24
-29
0
0
0
0
0
6
13
22
-23
0
0
0
0
0
0
12
-19
20
0
0
0
0
0
0
0
-12
12
0
0
0
0
0
0
16
-67
29
0
0
13
0
0
0
33
-6
-39
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
2
-8
47
0
0
0
0
0
-1
8
2
-17
0
0
0
0
0
3
-27
13
-15
0
0
0
0
0
1
-7
3
13
0
0
0
0
0
0
8
6
-33
0
0
0
0
0
0
1
-48
13
0
0
-17
0
0
0
7
-56
-7
0
0
0
0
0
-2
-9
3
1
0
0
0
0
0
0
-29
-39
43
0
0
0
0
0
0
2
43
-6
0
0
0
0
0
8
23
-18
-9
0
0
0
0
0
0
-2
-5
61
0
0
0
0
0
0
5
-55
22
0
0
0
0
0
0
8
-87
-45
0
0
-10
0
0
0
0
17
3
0
0
0
0
0
0
-9
-44
-4
0
0
0
1
0
0
-3
-3
-49
0
0
0
0
0
0
9
-41
-2
0
0
59
-22
3
-13
20
-14
18
0
0
0
0
0
3
-13
-5
57
0
0
0
0
0
2
-8
-26
26
0
0
0
0
0
0
-4
-19
-5
0
0
0
0
0
0
42
-53
22
0
0
0
0
0
-3
0
2
21
0
0
0
0
0
0
1
3
5
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
18
-4
-49
0
0
0
0
0
0
0
-3
25
0
0
0
0
0
0
0
-4
29
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
1
0
-21
0
0
0
0
-1
-2
0
1
5
0
0
0
0
0
0
3
0
13
0
0
0
0
0
0
0
-1
9
0
0
0
0
1
1
-7
1
47
0
0
0
0
2
-5
19
8
-42
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
12
-13
11
0
0
0
0
0
-1
0
3
57
0
0
0
0
0
0
4
-22
-10
0
0
0
0
0
1
-1
5
1
0
0
0
0
0
0
49
23
-41
0
0
0
0
3
0
0
-4
-1
0
0
0
0
0
0
1
-2
10
0
0
0
0
0
0
6
-7
5
0
0
0
0
0
0
10
-55
42
0
0
0
0
1
2
7
2
-37
0
0
0
0
0
-1
2
-1
20
0
0
0
0
-1
0
3
-9
-4
0
0
0
0
-19
-13
43
-58
13
0
0
0
0
0
0
0
-43
95
0
0
0
-1
0
0
-5
-28
23
0
0
0
0
0
0
5
-66
82
0
0
0
0
0
0
-29
-39
43
0
0
0
0
0
0
-5
-7
5
0
0
0
0
0
0
0
1
-33
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-2
5
18
-23
0
0
0
0
0
0
0
7
44
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
-8
26
0
0
0
0
0
0
6
-16
-49
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
21
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
3
0
47
0
0
0
0
0
0
4
-16
-13
0
0
0
-1
0
0
-3
-31
-12
0
0
0
0
0
0
-3
-4
48
0
0
0
0
0
0
-9
-27
-15
0
0
0
0
0
0
0
10
23
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
4
-2
-10
0
0
0
0
0
0
0
-30
3
0
0
0
0
0
0
-2
8
12
0
0
0
0
0
0
-2
1
8
0
0
0
0
0
0
2
-10
3
0
0
0
0
0
0
0
-10
-27
0
0
0
2
0
-2
1
13
31
0
0
0
0
0
0
0
-5
-7
0
0
0
20
2
-33
-10
38
16
0
0
0
0
-34
0
3
79
-25
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
-41
-2
0
0
0
0
0
-1
-20
-31
28
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
-8
41
0
0
0
0
0
0
1
2
24
0
0
0
0
0
10
5
-17
-23
0
0
0
0
0
-2
1
0
39
0
0
0
0
0
0
0
-2
23
0
0
0
0
-2
0
1
8
-8
0
0
0
0
0
-7
-1
15
15
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
2
-1
9
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
18
1
-2
52
0
0
0
0
2
0
-4
-16
22
0
0
0
0
0
0
0
9
-19
0
0
0
0
0
0
-1
-19
5
0
0
0
0
0
-1
-4
16
45
0
0
0
0
0
0
-1
-3
-85
0
0
0
0
0
0
-5
-5
18
0
0
0
0
0
0
-1
9
-4
0
0
0
0
0
1
-4
-46
9
0
0
0
0
0
0
-1
1
21
0
0
0
0
0
-3
0
-6
-4
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-6
-5
-10
0
0
0
0
-1
2
-1
-8
17
0
0
0
0
0
-2
0
18
14
0
0
0
0
-8
0
1
19
-24
0
0
0
0
-9
23
63
-35
-15
0
0
0
0
0
8
5
93
-27
0
0
0
0
0
2
-65
2
16
0
0
0
0
0
0
17
-20
12
0
0
-1
0
0
0
-11
-8
25
0
0
0
0
0
-5
20
-13
25
0
0
0
0
0
0
-13
31
-24
0
0
0
0
0
0
33
-49
9
0
0
0
0
0
14
12
-2
-16
0
0
0
0
0
-27
8
-6
16
0
0
0
0
0
0
4
-7
32
0
0
0
0
0
2
-9
43
-34
0
0
0
0
0
5
-13
2
15
0
0
0
0
0
-5
0
1
42
0
0
0
0
0
-1
-2
5
-5
0
0
0
0
2
-8
0
0
7
0
0
0
0
3
-17
20
-74
17
0
0
0
0
0
15
-14
-11
-2
0
0
0
0
0
0
20
-53
-2
0
0
0
0
0
4
-12
-31
76
0
0
0
0
0
1
-13
-1
-39
0
0
0
0
0
-4
1
23
-22
0
0
0
0
0
1
50
-40
-57
0
0
0
0
0
0
-6
20
21
0
0
0
0
0
-27
49
-63
5
0
0
0
0
0
3
2
-45
63
0
0
0
0
0
0
6
-4
39
0
0
0
0
0
10
-3
24
-42
0
0
3
0
0
-5
-55
-4
0
0
0
0
0
0
4
-75
9
95
0
0
0
0
0
4
-12
-61
42
0
0
0
0
0
-20
10
-13
-46
0
0
13
7
-41
-3
-13
-47
-14
0
0
0
0
-74
-53
1
9
51
0
0
0
0
0
-6
3
-29
-5
0
0
0
0
-1
-4
5
-13
7
0
0
0
0
0
7
-9
-1
24
0
0
0
0
-3
-5
7
22
16
0
0
0
0
-1
-3
29
-42
31
0
0
0
0
1
4
-16
9
5
0
0
0
0
-2
-27
-16
37
47
0
0
0
0
-42
7
-23
-28
89
0
0
0
0
0
0
2
-42
-58
0
0
0
0
-3
-10
-5
41
43
0
0
0
0
0
15
17
-48
8
0
0
0
0
2
-2
0
5
1
0
0
0
0
-2
2
0
15
-41
0
0
0
0
6
1
5
15
-8
0
0
0
0
-53
2
78
-47
46
0
0
0
0
6
-17
50
-29
-5
-10
0
0
0
0
4
-3
0
13
-11
0
0
0
-5
-9
12
43
27
0
0
0
0
0
-7
7
46
43
-15
0
0
0
42
4
-44
3
50
-3
0
0
0
0
0
-9
37
-4
23
0
0
0
1
-7
-1
48
-54
23
0
0
0
8
11
33
-61
31
11
0
0
0
-22
26
47
-18
37
5
0
0
0
0
1
-3
31
47
10
0
0
0
-10
-5
6
-80
37
4
0
0
0
3
30
-36
0
65
16
0
0
0
29
23
-41
-42
15
8
0
0
0
0
-3
-1
20
17
25
0
0
0
6
28
12
-102
94
9
0
0
0
91
48
8
-12
80
23
0
0
0
0
1
16
14
-69
0
0
0
2
0
0
1
-29
-21
0
0
0
0
0
0
7
-32
46
0
0
0
7
0
0
-8
-22
30
0
0
0
0
0
0
-3
-31
7
0
0
0
1
0
0
2
-40
47
0
0
0
0
0
0
-1
3
1
0
0
0
-4
0
0
-13
-20
-13
0
0
0
0
0
-1
1
2
5
0
0
0
-10
0
-3
0
-53
15
0
0
0
0
0
0
0
-49
-15
0
0
0
0
0
1
-4
38
0
0
0
0
0
0
0
0
14
-3
0
0
0
5
0
0
0
20
-9
0
0
0
0
0
0
0
-6
25
0
0
0
5
0
-12
-6
-15
75
0
0
0
0
0
0
3
-37
-7
0
0
0
17
0
0
0
-24
30
-11
0
0
0
0
0
0
-23
-2
-37
0
0
0
0
-2
-6
4
-49
-6
0
0
0
0
0
0
-46
106
18
0
0
-9
0
0
1
-22
70
-23
0
0
0
0
0
-2
10
10
21
0
0
0
0
0
-10
44
20
14
0
0
0
-1
0
3
75
-8
-9
0
0
-25
0
0
-4
-5
-49
42
0
0
0
0
0
-2
-22
-20
-35
0
0
-1
0
-2
-7
-109
65
11
0
0
0
0
0
0
17
20
-5
0
0
39
0
-1
2
-22
-1
-35
0
0
0
3
0
0
9
-17
-12
0
0
64
1
-9
15
-39
-14
10
0
0
0
2
0
0
-43
-7
0
0
0
0
0
0
0
-46
44
0
0
0
0
0
-1
0
-4
-18
0
0
0
0
0
0
-1
-41
-7
0
0
0
0
0
0
-2
5
-2
0
0
0
0
0
0
0
23
-12
0
0
0
0
0
-3
0
-7
2
0
0
0
0
0
3
-56
5
9
0
0
0
0
0
0
4
-1
16
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
1
12
8
0
0
0
0
0
-3
-4
-19
13
0
0
0
0
0
0
0
-30
7
0
0
0
0
0
-1
1
-10
-21
0
0
0
0
0
-4
0
12
-8
0
0
0
0
1
-9
-5
-9
9
0
0
0
0
6
0
1
-41
44
-15
0
0
0
0
0
0
-28
-24
32
0
0
0
0
0
-3
24
-9
-35
0
0
0
0
0
-3
-79
25
21
0
0
0
0
0
0
8
-8
-13
0
0
0
0
0
1
7
16
-15
0
0
0
0
0
-1
-15
0
-8
0
0
0
0
0
-31
25
1
-24
0
0
0
0
-1
1
-40
54
22
0
0
0
0
0
0
33
0
11
0
0
0
0
1
0
0
25
-13
0
0
0
0
-1
-5
-20
24
-27
0
0
0
0
0
0
-8
13
-12
0
0
0
0
0
5
-84
5
36
0
0
0
0
-6
0
15
-1
-66
0
0
0
39
6
55
-7
18
-4
0
0
0
0
0
9
-17
14
0
0
0
0
0
-2
5
-52
18
0
0
0
0
0
0
16
14
-17
0
0
-48
0
0
-1
5
58
27
0
0
0
0
0
-1
22
-41
-9
0
0
0
0
0
0
-5
-12
21
0
0
0
0
0
1
4
-17
0
0
0
0
0
0
-1
-20
-13
37
0
0
0
0
0
-2
1
-28
8
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
2
3
-47
13
0
0
-13
0
0
4
5
-18
-8
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
6
-17
0
0
0
0
0
0
0
-59
-1
0
0
0
0
0
-6
-20
7
-7
0
0
0
0
0
0
13
40
50
9
0
0
0
0
0
-8
-84
11
9
0
0
0
0
2
-3
-96
-12
-22
0
-22
0
0
1
12
-73
10
-1
0
0
0
0
0
-2
-59
17
16
0
0
0
0
0
5
-25
-19
-38
0
0
0
0
0
0
13
1
-68
0
44
0
0
0
-23
-73
-8
24
0
0
0
0
0
5
-24
-7
23
0
0
0
0
0
5
7
20
-17
0
0
0
0
0
7
4
-14
-26
0
64
0
0
-1
4
38
-47
-81
0
0
0
0
0
-5
43
21
-39
0
0
0
0
0
2
29
30
-60
0
0
0
0
0
-5
-86
8
2
0
-4
-1
1
-44
-55
-13
33
-7
0
0
0
8
2
-28
-21
51
0
0
0
0
0
0
0
-8
61
0
0
0
0
-1
-3
-24
-21
68
0
0
0
0
0
6
-54
-5
47
0
0
0
0
0
-2
0
-2
-18
0
0
0
0
0
0
-9
2
21
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
-3
8
8
-1
0
0
0
0
3
0
1
-13
13
0
0
0
0
0
0
-1
-7
48
0
0
0
0
0
0
-4
3
51
0
0
0
0
0
2
6
-13
-30
0
0
0
0
0
-2
4
0
25
0
0
0
0
0
0
0
2
-5
0
0
0
0
2
0
-2
3
5
0
0
0
0
-4
-9
58
13
5
0
0
0
0
-3
1
-7
2
44
-16
0
0
0
0
0
3
-8
42
-13
0
0
0
0
0
13
-2
-18
24
0
0
0
0
-8
2
24
61
-64
0
0
0
0
-4
0
-3
-57
47
0
0
0
0
2
-1
0
-3
-13
0
0
0
-6
-1
1
5
-3
13
0
0
0
0
6
14
-31
-5
-50
0
0
0
0
1
2
-13
16
5
0
0
0
0
0
2
-32
-5
80
0
0
0
0
0
3
-5
31
-15
0
0
0
0
-5
-10
-1
-77
48
0
0
0
0
0
0
4
13
12
0
0
0
0
0
1
-42
10
-20
0
0
0
-2
0
0
-10
5
3
0
0
0
20
10
58
-9
6
-36
0
0
0
0
-1
8
25
-56
0
0
0
-1
0
0
2
-4
-6
0
0
0
0
0
0
-10
0
-22
0
0
0
0
0
0
0
-33
65
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
-3
-31
-1
4
0
0
0
0
0
0
3
5
17
0
0
0
0
0
0
0
-21
59
0
0
0
0
0
0
5
-3
17
0
0
0
0
0
0
-5
17
-5
0
0
0
0
0
0
0
-5
-5
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-16
0
0
0
0
1
1
1
-4
-8
0
0
0
0
0
0
0
-4
40
-6
0
0
0
0
0
0
13
15
65
0
0
0
0
0
-1
-6
13
-43
0
0
0
0
0
4
-15
-9
1
0
0
0
0
0
1
1
-20
-21
0
0
0
0
0
0
0
-8
-43
0
0
0
0
0
0
0
8
-7
0
0
0
0
1
-1
0
3
-63
0
0
0
0
0
0
23
-32
-60
0
0
4
0
0
-10
-8
5
-53
0
0
0
0
0
-2
-3
-50
19
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
-18
-50
0
0
-12
0
0
1
0
-8
-28
0
0
0
0
0
2
-5
6
-38
0
0
24
1
8
-26
-64
58
-8
0
0
0
-2
0
-1
-13
-27
0
0
0
0
0
0
2
-35
9
0
0
0
0
0
0
1
1
3
0
0
0
0
0
0
-3
-43
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
2
0
0
0
0
0
0
2
-4
13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
4
-5
0
0
0
0
0
0
1
2
8
-15
0
0
0
0
0
-1
2
-29
-12
0
0
0
0
0
0
6
-25
-20
0
0
0
0
0
0
24
0
-8
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
-1
-59
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
5
0
5
0
0
0
2
0
1
2
-22
64
0
0
0
0
0
0
1
-9
17
0
0
0
0
0
0
-1
4
-23
0
0
0
0
0
-4
-1
-1
-60
0
0
0
0
0
0
-8
2
-27
0
0
0
0
0
0
-5
-3
2
0
0
0
1
0
0
3
0
-42
0
0
0
8
-7
14
5
29
-26
0
0
0
0
9
-14
-2
-26
0
0
0
0
0
0
-1
-5
1
0
0
0
0
0
-1
9
-9
-1
0
0
-8
0
0
0
53
-66
29
0
0
0
0
0
3
-5
-2
2
0
0
0
0
0
0
3
1
12
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-55
12
6
0
0
0
0
0
1
-2
13
7
0
0
0
0
0
0
5
7
7
0
0
0
0
0
1
-14
-12
16
0
0
0
0
0
4
-24
-1
-3
0
0
0
0
0
0
-3
0
-21
0
0
0
0
0
0
-6
1
4
0
0
0
0
0
0
-6
0
-3
0
0
0
0
0
5
16
-80
-9
0
0
0
0
1
2
1
25
47
-4
0
0
0
0
0
0
-37
45
22
0
0
0
0
-2
2
-8
-13
80
0
-1
0
0
1
-5
24
2
-49
0
0
0
0
0
1
3
-16
-53
0
0
0
0
0
0
6
-2
-73
0
0
0
0
1
0
-2
0
-19
0
0
0
0
-1
4
2
1
-51
0
0
0
0
0
3
-1
29
-71
0
0
0
0
0
0
-20
10
1
0
0
0
0
0
5
-5
-6
-12
0
8
0
0
0
13
-14
3
-22
0
0
0
0
-1
5
-2
-14
-48
0
0
0
0
0
8
-42
-13
-40
0
0
0
0
0
5
0
2
-46
0
3
-1
-2
8
21
40
-46
-4
0
0
0
13
-34
43
-38
73
0
0
0
0
0
0
-3
-25
5
0
0
0
0
0
-2
13
34
13
0
0
0
0
1
0
58
-64
21
0
0
0
0
2
-51
-44
29
-2
0
0
0
0
0
-1
-75
-11
10
0
0
0
0
0
4
2
-24
-9
0
0
0
0
0
22
24
14
-13
0
0
0
0
-23
42
24
-14
-41
0
0
0
0
0
3
0
28
-8
0
0
0
0
0
-6
0
7
-16
0
0
0
0
0
0
29
-2
17
0
0
0
0
0
1
-13
-7
49
0
0
0
0
0
0
-5
10
13
0
0
0
0
-2
-5
1
1
-10
0
0
0
0
17
23
2
-6
51
0
0
0
0
45
5
-23
-57
-4
49
0
0
0
0
0
3
-2
19
-15
0
0
0
0
0
-5
-28
10
-56
0
0
0
0
-4
71
0
-10
-41
0
0
0
5
13
13
4
-32
-25
0
0
0
-1
4
12
0
15
-10
0
0
0
0
4
0
-4
11
-67
0
0
0
0
-13
19
-23
-23
-18
0
0
0
-16
8
-5
-16
14
11
-20
0
0
0
0
3
-31
48
18
-21
0
0
0
2
-5
-40
25
4
4
0
0
0
-7
-51
-65
18
27
25
0
0
-46
-23
1
17
75
22
-17
0
0
3
-3
18
-51
99
74
11
0
0
-22
11
0
-19
28
20
11
0
0
13
54
-5
34
-10
-39
22
0
0
0
0
-8
4
10
0
0
0
-14
0
2
1
-5
25
0
0
0
0
0
0
-7
-41
41
0
0
0
0
0
0
32
-42
-10
0
0
0
0
0
0
2
19
-7
0
0
0
1
0
0
3
-16
-8
0
0
0
0
0
0
2
-33
-42
0
0
0
0
0
-1
41
-53
11
0
0
0
0
0
-3
1
3
22
0
0
0
0
0
0
0
9
10
0
0
0
0
0
2
-3
-10
19
0
0
0
0
0
-2
2
-53
30
0
0
0
0
0
0
0
-25
34
0
0
0
18
0
-3
1
-5
11
0
0
0
0
0
4
0
-5
22
0
0
0
4
0
5
-3
47
-64
0
0
0
0
0
0
5
-29
11
8
0
0
30
0
0
0
-52
15
17
0
0
0
0
0
0
-44
-13
-13
0
0
0
0
1
-7
-35
3
10
0
0
0
0
0
-4
-8
50
2
0
0
-10
0
0
-9
31
-77
48
0
0
0
0
0
-1
-8
16
5
0
0
0
0
0
7
-83
40
26
0
0
0
0
3
2
45
41
-61
13
0
35
0
0
0
17
2
-85
-30
0
0
0
0
-7
19
58
-10
0
0
-19
0
0
-3
-24
7
-40
4
0
0
0
0
0
46
12
-52
-4
0
-40
0
1
3
-13
-46
-19
19
0
0
0
0
0
-19
16
25
17
0
23
5
-28
-48
-65
-26
-57
30
0
0
0
1
-1
-19
16
0
0
0
0
0
0
0
-2
-29
0
0
0
0
0
0
0
-16
4
0
0
0
0
0
0
-5
66
-6
0
0
0
0
0
0
-1
-45
-7
0
0
0
0
0
0
-4
-3
2
0
0
0
0
0
-8
2
-30
0
0
0
0
0
0
0
-50
-48
22
0
0
0
0
0
-4
5
5
-5
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
5
-16
-1
0
0
0
0
0
4
-6
7
5
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
1
4
1
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
-2
0
6
1
0
0
0
0
0
0
-1
-23
-27
30
0
0
0
0
0
-4
29
-56
31
0
0
0
0
0
-1
-12
22
-32
0
0
0
0
-2
-1
51
-20
2
0
0
0
0
0
0
-10
9
4
0
0
0
0
0
-1
-3
0
21
0
0
0
0
0
0
-2
-6
-46
0
0
0
0
0
0
9
-3
-28
0
0
0
0
3
0
-1
19
-36
3
0
0
0
0
0
-14
-41
4
2
0
0
0
0
0
41
-2
-34
4
0
0
0
0
0
-46
-8
4
4
0
0
0
0
0
3
-5
-47
80
0
0
0
0
1
0
8
4
12
0
0
-1
0
0
-1
9
-97
46
0
0
4
46
17
39
-43
9
-14
0
0
0
0
-15
-78
45
0
0
0
0
0
0
0
-27
40
0
0
0
0
0
0
5
12
-29
0
0
22
0
0
1
-17
-37
24
0
0
0
0
0
0
14
-20
-1
0
0
0
0
0
3
-5
-24
13
0
0
0
0
0
0
-2
-6
1
0
0
-4
0
0
1
6
-3
14
0
0
0
0
0
0
5
-25
-5
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-1
3
3
0
0
-19
0
0
-1
5
-42
0
0
0
0
0
0
-1
1
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
1
-7
-1
0
0
2
0
0
3
-5
14
5
0
0
0
0
0
0
13
20
1
24
0
0
0
0
0
5
4
22
-13
0
0
0
0
-6
-6
-45
27
-4
0
41
0
0
3
-41
-65
24
29
0
0
0
0
0
-2
41
-14
-42
0
0
0
0
0
-1
5
4
5
0
0
0
0
0
0
-33
1
-77
0
-8
0
0
0
-1
12
-2
-45
0
0
0
0
0
-8
61
-9
-6
5
0
0
0
0
3
-24
18
-71
0
0
0
0
3
0
19
0
-64
-24
43
0
0
0
-2
-93
20
0
11
0
0
0
0
0
-5
-6
39
-26
0
0
0
0
-1
-13
-5
33
14
0
0
0
0
3
7
0
-77
50
-115
-5
2
-41
-28
67
13
-74
-8
0
0
49
23
-66
-17
4
0
0
0
0
0
0
0
-67
66
0
0
0
0
-1
-3
4
29
-2
0
0
0
0
0
4
23
13
-1
0
0
0
0
0
2
-7
-8
-1
0
0
0
0
0
0
18
3
-10
0
0
0
0
0
-2
-5
6
3
0
0
0
0
0
-51
90
-41
-5
0
0
0
0
-41
2
4
19
-13
0
0
0
0
0
0
1
-55
45
0
0
0
0
3
-8
-8
49
-75
0
0
0
0
0
-15
-1
21
-13
0
0
0
0
0
-4
-2
0
9
0
0
0
0
0
2
-5
-2
27
0
0
0
0
-2
-27
0
10
25
0
0
0
0
-1
61
-104
-2
14
0
0
0
0
6
7
22
13
-7
-5
0
0
0
0
0
1
36
55
-58
0
0
0
1
0
3
14
-14
-3
0
0
0
0
0
3
-23
40
-36
0
0
0
-4
1
0
-13
71
-26
0
0
0
0
-1
0
-34
25
27
0
0
0
7
4
0
-9
-7
-2
0
0
0
-4
23
-10
-34
39
-23
0
0
0
12
0
2
9
-41
-82
20
0
0
0
0
-3
-10
55
-8
-22
0
0
-3
0
0
-5
0
-70
0
0
0
0
3
-6
6
44
13
3
0
0
-7
1
0
-3
28
-24
76
0
0
0
-1
-9
29
25
-27
9
0
0
-23
-5
-1
-18
-6
26
74
0
0
-17
-7
41
-51
-1
4
-31
0
0
0
-2
-21
7
25
0
0
0
-6
0
0
-4
-10
35
0
0
0
0
0
0
-22
60
13
0
0
0
0
0
5
4
-23
45
0
0
0
0
0
0
-4
-32
55
0
0
0
0
0
0
-2
-16
-52
0
0
0
0
0
-3
-3
0
3
0
0
0
0
0
0
-22
-5
-12
0
0
0
0
0
1
0
-6
13
0
0
0
-13
0
0
0
7
-7
0
0
0
0
0
0
3
-20
41
0
0
0
0
0
1
-5
-13
-19
0
0
0
0
0
0
0
0
2
0
0
0
-4
0
0
-3
1
20
0
0
0
0
0
0
0
0
34
0
0
0
-33
0
-8
17
-1
-5
0
0
0
0
0
0
0
3
-18
-24
0
0
-2
0
0
-1
-44
46
4
0
0
0
0
0
-2
1
-31
-2
0
0
0
0
0
9
6
1
-7
0
0
0
0
0
-2
-7
-3
18
0
0
1
0
0
-2
-4
17
-10
0
0
0
0
0
0
0
4
-43
0
0
0
0
0
0
-19
17
-2
0
0
0
0
0
0
-31
10
-76
30
0
-18
0
0
0
51
14
-46
-1
0
0
0
-1
0
-3
14
16
43
0
5
0
0
-3
-13
-25
-32
13
0
0
0
0
0
-5
17
7
-16
0
-6
0
3
0
0
6
-50
-43
0
0
-7
0
1
-3
-5
-9
-93
0
-94
0
19
-41
-64
17
29
1
0
0
0
-12
-17
-29
98
0
0
0
0
0
0
-2
-49
57
0
0
0
0
0
0
5
-11
32
0
0
0
0
0
-1
-28
-23
-17
0
0
0
0
0
5
-9
9
-18
0
0
0
0
0
0
-10
8
42
0
0
0
0
0
-5
0
0
7
0
0
0
0
0
-61
51
8
-7
0
0
0
0
-5
1
0
-18
23
0
0
0
0
0
0
2
-5
-6
0
0
0
0
2
0
-2
17
-80
0
0
0
0
0
2
5
-29
-19
0
0
0
0
2
-1
0
1
0
0
0
0
0
0
0
0
-8
-25
0
0
0
0
0
1
-1
0
-5
0
0
0
0
1
-46
15
8
-55
0
0
0
0
-5
1
-3
17
54
29
0
0
0
0
0
-1
-49
64
4
0
0
0
0
0
3
-3
-5
-17
0
0
0
0
0
-5
-10
6
-48
0
0
0
0
0
0
-15
14
-45
0
0
0
0
0
-1
8
-24
-1
0
0
0
0
1
0
-5
2
-35
0
0
0
-6
-1
4
8
0
-23
0
0
0
6
0
0
-14
-13
-32
17
0
0
0
-1
-1
-7
65
-31
44
0
0
0
-1
-12
5
35
-32
19
0
0
0
-3
5
-6
13
-12
-24
0
0
16
0
0
1
4
-49
-37
0
0
1
0
-3
-8
5
-73
78
0
0
-20
23
0
1
2
18
-46
0
0
11
-49
-41
-58
-26
-5
27
0
0
34
-40
-30
32
59
0
0
0
43
6
38
-2
14
4
0
0
0
0
-51
-28
22
11
1
0
0
52
17
15
-76
-37
26
13
0
0
0
0
52
48
-21
-76
13
0
0
0
45
15
-55
23
-53
60
0
0
0
0
-21
-90
26
33
-21
0
0
-26
14
9
26
10
-41
16
0
0
0
0
-30
-6
83
55
-13
0
0
0
57
-7
5
31
-17
-23
0
0
0
0
29
-40
-41
-67
32
0
0
2
-20
-1
11
1
-48
10
0
0
0
0
-35
-8
69
-41
31
0
0
0
-4
3
-39
20
9
-53
0
0
0
0
2
14
-32
-2
-28
0
0
15
-12
-21
-51
-65
36
-23
0
0
0
0
44
114
38
25
-28
-16
0
0
-33
-19
-20
-6
22
-6
23
0
0
0
12
13
11
0
-38
19
0
-41
-6
-4
-13
8
-53
-44
49
0
0
0
-24
-24
-29
-5
22
-2
0
0
10
-8
31
-42
-45
4
-2
0
0
0
7
-42
-13
12
66
-69
0
22
25
11
22
0
-21
-36
-74
0
0
0
70
-22
24
16
25
-9
8
0
28
2
-18
-27
53
10
-64
42
0
0
-4
-1
-27
-24
40
-57
25
-40
-36
-39
-14
6
30
50
7
-36
0
0
-11
45
38
84
-41
-6
28
0
-10
-5
-11
-36
-26
-38
1
-1
0
0
49
-30
42
-96
-26
-38
3
-19
-67
-100
-13
-21
-60
57
-4
-31
0
0
5
-8
-13
-14
-2
0
0
0
0
0
0
-12
-56
30
0
0
0
0
-1
0
8
-47
23
0
0
0
0
0
0
16
9
-2
0
0
0
0
0
0
0
19
-35
0
0
0
0
0
0
-21
22
74
0
0
0
0
0
-8
-14
-5
52
0
0
0
0
0
63
37
-27
13
0
0
0
0
-18
-13
-3
-10
49
0
0
0
0
0
1
-4
15
24
0
0
0
0
1
4
0
28
-3
0
0
0
0
0
-14
-6
-1
75
0
0
0
0
-2
16
0
1
13
0
0
0
0
0
2
0
43
-18
0
0
0
0
-3
12
0
-6
41
0
0
0
0
4
49
59
-62
0
0
0
0
0
3
-13
2
-14
-1
0
0
0
0
0
0
-1
9
-32
0
0
0
0
0
4
2
44
-10
0
0
0
0
0
-4
35
24
-4
0
0
0
0
-5
6
-1
-55
58
0
0
0
0
-1
0
-2
4
21
0
0
0
0
5
-5
0
8
85
0
0
0
0
-3
-5
-5
-6
12
0
0
0
0
-20
10
14
-5
46
0
0
0
0
0
2
2
-39
-31
0
0
0
0
-1
-23
6
-46
52
0
0
0
0
0
-41
-15
-25
27
0
0
0
0
5
9
1
57
-40
0
0
0
0
5
8
29
-52
23
0
0
0
0
9
-53
-5
0
79
0
0
0
0
52
-11
31
31
-17
0
0
0
0
0
0
0
-7
3
0
0
0
-19
0
0
0
3
33
0
0
0
0
0
0
-1
8
22
0
0
0
1
0
0
-18
-43
40
0
0
0
0
0
0
-5
43
10
0
0
0
0
0
1
-5
46
6
0
0
0
0
0
0
0
-14
59
0
0
0
0
0
0
8
-53
76
0
0
0
0
0
0
2
-64
34
0
0
0
-23
0
2
0
45
-8
0
0
0
0
0
0
0
2
-41
0
0
0
0
0
0
-1
5
-3
0
0
0
0
0
0
0
-3
30
0
0
0
2
0
-1
0
-2
46
0
0
0
0
0
0
-1
56
-19
0
0
0
21
0
8
-34
0
44
0
0
0
0
0
0
3
5
4
0
0
0
-4
0
0
-3
-21
39
0
0
0
0
0
0
7
20
-59
0
0
0
0
0
0
1
46
-30
0
0
0
0
0
0
-1
-11
41
0
0
0
-10
0
0
2
-20
-35
0
0
0
0
0
0
0
26
-11
0
0
0
0
0
-1
-7
-13
38
0
0
0
0
0
0
-2
-23
-18
0
0
0
14
0
0
0
-46
-2
0
0
0
0
0
0
-3
5
-25
0
0
0
-9
0
0
2
21
10
0
0
0
0
0
0
0
11
20
0
0
0
43
0
-1
3
17
-29
0
0
0
0
0
0
0
-12
-8
0
0
0
32
2
5
-59
-29
19
0
0
0
0
0
1
0
-27
28
0
0
0
0
0
0
1
-13
15
0
0
0
0
0
0
1
-21
-11
0
0
0
0
0
0
-51
-12
87
0
0
0
0
0
0
0
-1
54
0
0
0
0
0
0
-7
19
14
0
0
0
0
0
0
-4
-3
6
0
0
0
0
0
-7
-7
-10
9
0
0
0
0
0
0
6
-6
13
0
0
0
0
0
0
0
5
-11
0
0
0
0
0
-3
2
-41
12
0
0
0
0
0
-1
-41
19
-9
0
0
0
0
0
0
2
-1
18
0
0
0
0
0
0
2
-31
-5
0
0
0
0
0
0
0
-8
-49
0
0
0
0
0
-1
-5
-28
50
0
0
0
0
0
-2
4
-29
39
0
0
0
0
0
0
3
-49
6
0
0
0
0
0
0
-6
-42
-3
0
0
0
0
0
0
-9
-19
43
0
0
0
0
0
0
0
9
4
0
0
0
0
0
0
-5
10
22
0
0
0
0
0
0
2
-4
25
0
0
0
0
0
-2
60
22
-23
0
0
0
0
0
0
-1
-35
1
0
0
0
0
0
0
-1
-34
42
0
0
0
0
0
0
-13
4
5
0
0
0
0
0
0
-84
12
66
0
0
0
0
0
0
5
-5
50
0
0
0
0
0
-1
0
-23
50
0
0
0
0
-8
1
-5
-11
-25
0
0
0
0
6
-5
-34
3
-7
0
0
0
0
-1
-2
-13
-10
30
0
0
0
0
0
0
14
-13
15
0
0
0
0
0
0
2
-42
21
0
0
26
0
0
0
-39
48
-6
0
0
0
0
0
0
-26
12
-10
0
0
0
0
0
0
16
2
-20
0
0
0
0
0
0
-15
-31
44
0
0
0
0
0
0
-4
-43
19
0
0
0
0
0
2
0
-31
-44
0
0
0
0
0
0
-13
-11
24
0
0
0
0
0
0
28
22
-30
0
0
30
0
0
2
-31
44
-71
0
0
0
0
0
0
-1
-5
18
0
0
0
0
0
0
-27
45
23
0
0
0
0
0
0
-7
9
13
0
0
0
0
0
-3
-4
23
-15
0
0
0
0
0
-1
5
-4
46
0
0
0
0
0
0
29
-16
20
0
0
0
0
0
0
3
-43
60
0
0
1
0
0
0
22
-47
-7
0
0
0
0
0
0
-3
33
-14
0
0
0
0
0
0
-83
-14
41
0
0
0
0
0
0
2
-23
30
0
0
-2
0
0
-3
-22
15
44
0
0
0
0
0
0
48
12
8
0
0
0
2
0
0
-19
-26
32
0
0
0
0
0
0
21
4
18
0
0
-23
0
0
0
1
-13
42
0
0
0
0
0
0
-13
9
25
0
0
0
0
0
0
-3
-37
55
0
0
0
0
0
0
83
-17
-37
0
0
33
19
25
-24
-19
-54
10
0
0
0
0
0
4
0
-41
63
0
0
0
0
0
0
-7
-59
0
0
0
0
0
0
0
-2
54
-20
0
0
0
0
0
8
1
-45
22
0
0
0
0
0
0
0
-2
-33
0
0
0
0
0
0
-1
10
-31
0
0
0
0
0
0
1
3
-16
0
0
0
0
0
8
-15
-31
38
0
0
0
0
0
0
-2
0
-13
0
0
0
0
0
0
0
-20
55
0
0
0
0
0
0
0
1
30
0
0
0
0
0
0
-2
-10
-32
0
0
0
0
0
0
-1
4
13
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
-2
1
-3
48
0
0
0
0
0
-11
-21
19
46
0
0
0
0
0
-3
0
7
-4
0
0
0
0
0
0
2
-22
35
0
0
0
0
0
0
6
6
0
0
0
0
0
0
-2
29
-18
-2
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
-8
24
-26
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
32
-15
-1
0
0
0
0
0
0
5
5
-25
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
2
-7
4
0
0
0
0
0
0
25
-72
7
0
0
0
0
3
0
0
-7
22
0
0
0
0
0
0
4
-8
-31
0
0
0
0
0
1
7
0
-15
0
0
0
0
-21
-62
13
25
41
0
0
0
0
0
0
-1
-20
6
0
0
0
2
0
0
3
-70
0
0
0
0
0
0
0
2
-9
56
0
0
0
0
0
0
-19
-19
-4
0
0
0
0
0
0
0
17
16
0
0
0
0
0
0
-22
-5
4
0
0
0
0
0
0
-4
-5
19
0
0
0
0
0
1
-15
-1
17
0
0
0
0
0
-1
1
-2
39
0
0
0
0
0
0
0
5
9
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
1
5
6
-4
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
1
10
0
0
0
0
0
1
-1
6
-10
0
0
0
0
0
0
2
4
16
0
0
0
0
0
0
-2
-5
-6
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
2
-8
9
0
0
0
0
0
0
1
-5
7
0
0
0
0
0
0
0
8
-21
0
0
0
0
0
0
2
3
10
0
0
0
0
0
0
-2
-31
20
0
0
0
0
0
0
5
2
31
0
0
0
5
0
0
-2
-4
-23
0
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
-2
-2
17
0
0
0
0
0
0
2
-2
-43
0
0
0
-4
0
0
0
8
-17
0
0
0
0
0
0
-4
-8
43
0
0
0
23
4
-49
11
-91
7
0
0
0
0
0
0
0
-41
66
0
0
0
0
0
0
-2
-22
44
0
0
0
0
0
0
0
39
-55
0
0
0
0
0
0
-4
1
-20
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
-15
41
0
0
0
0
0
0
0
-22
-1
0
0
0
0
0
0
10
16
-17
0
0
0
0
0
-4
0
-4
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-2
0
1
-25
0
0
0
0
0
0
2
0
13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
3
-1
-13
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-13
1
2
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
1
-37
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
8
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
-2
1
-12
0
0
0
0
0
0
3
-2
25
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
-2
6
0
0
0
0
0
0
-5
-4
5
0
0
0
0
-3
0
0
2
8
0
0
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
1
11
29
15
0
0
0
0
0
-8
50
-16
16
0
0
0
0
0
5
-37
-14
31
0
0
0
0
0
3
-26
27
7
0
0
0
0
0
24
65
55
-58
0
0
0
0
0
-1
26
-30
-11
0
0
0
0
0
-4
13
-5
35
0
0
0
0
0
2
23
-13
-32
0
0
0
0
0
10
-46
38
26
0
0
0
0
0
2
-32
6
41
0
0
0
0
0
-2
-5
-4
33
0
0
0
0
0
5
5
-16
26
0
0
0
0
0
-3
28
-48
11
0
0
0
0
0
0
2
0
-44
0
0
0
0
0
2
24
-12
13
0
0
0
0
0
16
-21
-1
7
0
0
0
0
0
-30
-28
26
30
0
0
0
0
0
-10
81
-22
-16
0
0
0
0
0
0
-13
14
-60
0
0
0
0
0
0
2
-33
-1
0
0
-4
0
0
-2
-3
-32
8
0
0
0
0
0
-9
-31
13
42
0
0
0
0
0
0
-10
9
-22
0
0
0
0
0
5
-22
13
-16
0
0
0
0
0
-76
36
-41
27
0
0
0
0
0
6
38
21
-56
0
0
0
0
0
-5
-1
-19
21
0
0
0
0
0
-3
-17
-19
8
0
0
0
0
0
2
-31
-9
41
0
0
0
0
0
0
22
-77
-12
0
0
0
0
0
-18
25
-42
22
0
0
0
0
2
36
-41
7
-16
0
0
-1
-4
-15
-22
9
9
12
0
0
0
0
4
-18
2
-25
35
0
0
0
0
0
0
0
1
52
0
0
0
0
0
3
0
-5
31
0
0
0
0
0
-2
64
-13
-9
0
0
0
0
0
-1
0
2
33
0
0
0
0
0
0
19
-5
18
0
0
0
0
0
-2
1
-6
1
0
0
0
0
0
13
39
-31
47
0
0
0
0
0
1
-6
0
-23
0
0
0
0
0
0
1
-6
70
0
0
0
0
-2
7
-1
17
-4
0
0
0
0
0
4
-9
-37
78
0
0
0
0
0
-3
-3
0
9
0
0
0
0
0
-6
-1
6
6
0
0
0
0
0
0
3
4
-5
0
0
0
0
0
2
-37
14
-27
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-3
10
31
0
0
0
0
0
0
1
-7
6
0
0
0
0
0
-6
13
-1
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-4
13
13
0
0
0
0
0
0
0
-3
-22
0
0
0
0
-1
20
-20
45
-41
0
0
0
0
0
-3
0
0
-50
0
0
0
0
0
0
-2
13
-13
0
0
0
0
-4
0
0
0
-5
0
0
0
0
0
0
19
-25
-27
0
0
0
0
0
1
0
3
-29
0
0
0
0
1
0
-2
0
22
0
0
0
0
-8
15
1
8
-22
0
0
0
0
-2
21
50
-6
-11
0
0
0
0
0
0
0
20
-1
0
0
0
0
0
0
-1
-48
31
0
0
0
0
0
0
0
-15
-20
0
0
0
0
0
0
-5
-64
50
0
0
0
0
0
0
2
-8
4
0
0
0
0
0
0
0
8
14
0
0
0
0
0
0
1
2
4
0
0
0
0
0
-2
6
-2
2
0
0
0
0
0
0
4
-18
38
0
0
0
-1
0
0
-2
1
45
0
0
0
0
0
0
-6
8
-19
0
0
0
0
0
0
-8
9
-32
0
0
0
0
0
0
2
-7
-23
0
0
0
1
0
0
0
12
30
0
0
0
0
0
0
0
-2
71
0
0
0
0
0
1
5
1
-43
0
0
0
0
0
0
1
8
-13
0
0
0
-4
0
0
-3
9
35
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
-13
6
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
-6
-1
42
0
0
0
0
0
0
0
-6
41
0
0
0
0
0
0
0
17
22
0
0
0
0
0
0
1
-18
-66
0
0
0
-18
0
0
0
-8
28
0
0
0
0
0
0
0
5
5
0
0
0
2
0
-1
0
-18
-8
0
0
0
0
0
0
0
3
65
0
0
0
20
0
0
0
-7
20
0
0
0
0
0
0
0
0
-4
0
0
0
-11
0
13
-1
-57
26
0
0
0
0
0
3
0
41
-24
0
0
0
0
0
0
1
-6
21
0
0
0
0
0
0
1
-28
-7
0
0
0
0
0
0
-2
-38
-3
0
0
0
0
0
0
0
-20
37
0
0
0
0
0
0
-1
-17
4
0
0
0
0
0
0
0
14
-6
0
0
0
0
0
-3
7
-6
-40
0
0
0
0
0
1
0
-2
51
0
0
0
0
0
0
0
-7
-21
0
0
0
0
0
-1
-2
-7
40
0
0
0
0
0
0
-2
25
45
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
2
31
0
0
0
0
0
0
0
5
-11
0
0
0
0
0
5
-2
-12
27
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
1
2
13
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
-6
28
-6
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
-2
-3
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
8
0
-46
4
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
0
17
2
0
0
0
0
0
0
0
10
9
0
0
0
0
0
0
-2
42
-50
0
0
0
0
0
-1
0
12
3
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
-3
7
0
0
0
0
-10
31
2
-42
21
0
0
0
0
0
3
-24
-26
-5
0
0
0
0
0
0
10
34
-26
0
0
0
0
0
0
-3
2
-14
0
0
2
0
0
0
22
9
31
0
0
0
0
0
1
-2
-8
27
0
0
0
0
0
0
-5
9
-2
0
0
0
0
0
0
0
-10
17
0
0
0
0
0
-7
33
-4
-18
0
0
0
0
0
-1
5
-36
-9
0
0
0
0
0
0
2
-14
3
0
0
0
0
0
-2
0
-43
76
0
0
0
0
0
-2
-27
19
10
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-22
9
0
0
0
0
0
1
2
-3
10
0
0
0
0
0
2
44
-20
-9
0
0
0
0
0
1
8
8
-2
0
0
0
0
0
0
-1
-14
18
0
0
0
0
0
-1
-4
-3
22
0
0
0
0
0
3
-14
-9
0
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
1
4
-5
0
0
0
0
0
1
-3
1
1
0
0
0
0
0
-3
10
-39
10
0
0
0
0
0
2
-8
-41
15
0
0
0
0
0
0
0
5
33
0
0
0
0
0
-2
0
-48
2
0
0
24
0
0
0
5
16
-4
0
0
0
0
0
0
1
10
13
0
0
0
-1
0
0
3
12
-54
0
0
0
0
0
1
-2
-5
7
0
0
-42
-4
-3
-9
5
-50
21
0
0
0
0
0
6
0
-1
48
0
0
0
0
0
0
0
-25
35
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
-8
10
46
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
5
-55
0
0
0
0
0
-1
0
-2
5
0
0
0
0
0
0
0
-2
31
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
-4
6
-5
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-1
-20
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
2
3
-8
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
2
-66
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
-12
21
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
25
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
8
-8
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
-2
0
-1
0
0
0
0
0
-25
-24
38
21
0
0
0
0
0
-2
-3
0
47
0
0
0
1
0
0
0
2
-8
0
0
0
0
0
0
2
-5
-16
0
0
0
0
0
0
-9
-42
22
0
0
0
0
0
0
6
0
-24
0
0
0
0
0
0
0
9
7
0
0
0
0
0
0
0
0
10
0
0
0
0
0
1
4
5
5
0
0
0
0
0
0
0
-7
59
0
0
0
0
0
0
-1
-1
31
0
0
0
0
0
0
1
0
-17
0
0
0
0
0
0
-1
-3
28
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
0
-2
6
0
0
0
0
0
0
0
7
-11
0
0
0
0
0
0
1
13
-8
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-17
2
0
0
0
0
0
0
-1
-1
-17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-10
-4
0
0
0
0
0
0
0
0
31
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
-3
-2
5
0
0
0
3
0
0
0
0
5
0
0
0
0
0
0
0
0
13
0
0
0
-29
-1
12
-55
13
31
0
0
0
0
7
-3
0
-6
18
0
0
0
0
0
0
-4
-4
25
0
0
0
0
0
-1
-1
10
-19
0
0
0
0
0
0
-2
12
-7
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
-1
3
45
0
0
0
0
0
-1
0
-3
1
0
0
0
0
0
0
-1
-3
35
0
0
0
0
0
3
0
0
-11
0
0
0
0
0
0
0
-8
48
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
4
0
-2
-5
0
0
0
0
0
0
2
-5
4
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-13
18
0
0
0
0
0
0
0
8
13
0
0
0
0
0
-1
-6
6
6
0
0
0
0
0
1
1
-3
-10
0
0
0
0
0
0
0
0
-14
0
0
0
0
-5
0
0
0
-13
0
0
0
0
0
0
0
5
15
0
0
0
0
-2
-1
0
0
79
0
0
0
0
0
0
0
5
-14
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
3
-4
6
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-1
0
0
22
0
0
0
0
6
0
-5
-5
-3
0
0
0
0
-5
-60
56
-26
-7
0
0
0
0
-1
56
-2
75
-52
0
0
0
42
0
0
4
-11
-13
0
0
0
0
0
-41
8
28
1
0
0
1
0
0
1
-2
-36
14
0
0
0
0
0
9
-13
-33
39
0
0
0
0
0
-4
-17
-4
5
0
0
0
0
0
-6
1
-8
-2
0
0
0
0
0
-23
-101
-14
8
0
0
0
0
2
29
25
-5
-19
0
0
0
0
0
-3
8
-25
54
0
0
0
0
0
-1
1
-2
-11
0
0
0
0
0
13
73
-59
-19
0
0
0
0
0
0
6
0
4
0
0
0
0
0
-1
0
-16
16
0
0
0
0
0
30
5
-1
13
0
0
0
0
0
-42
15
-51
57
0
0
0
0
0
15
30
-18
-7
0
0
0
0
0
-5
14
-9
26
0
0
0
0
0
-2
-1
-14
49
0
0
0
0
0
3
49
-29
-34
0
0
0
0
0
-17
-30
32
1
0
0
0
0
0
0
15
5
-46
0
0
0
0
0
0
-1
2
13
0
0
0
0
0
10
-57
0
-2
0
0
0
0
-3
-31
13
4
23
0
0
0
0
0
-1
0
-18
-20
0
0
0
0
0
49
-18
-56
32
0
0
4
0
0
-4
-29
-4
24
0
0
0
0
-3
19
3
22
-32
0
0
0
-2
-1
0
-3
3
2
0
0
0
0
-1
-10
15
-44
30
0
0
-8
-25
-10
21
44
23
-42
0
0
0
0
-33
3
0
-23
43
0
0
0
0
0
0
0
-13
17
0
0
0
0
0
-1
3
19
5
0
0
0
0
0
0
94
-12
-14
0
0
0
0
-1
-3
1
1
0
0
0
0
0
0
0
10
-24
8
0
0
0
0
0
0
0
3
3
0
0
0
0
0
23
14
-14
-21
0
0
0
0
0
1
0
-4
13
0
0
0
0
0
0
0
22
-9
0
0
0
0
0
2
-1
-10
-2
0
0
0
0
0
0
1
53
10
0
0
0
0
0
-8
9
0
8
0
0
0
0
0
0
0
1
12
0
0
0
0
0
3
0
1
1
0
0
0
0
-3
51
10
6
-14
0
0
0
0
1
1
0
-20
10
-13
0
0
0
0
0
-2
-23
8
2
0
0
0
0
0
2
-12
40
3
0
0
0
0
0
18
5
-28
6
0
0
0
-1
0
0
-37
31
-21
0
0
0
-4
-1
-15
-45
6
39
0
0
0
0
3
-1
-5
-19
8
0
0
0
0
18
26
-11
-17
20
0
0
0
-6
0
0
13
75
-25
0
0
0
0
0
0
24
23
-46
0
0
0
1
-1
0
-29
-29
29
0
0
0
0
1
23
76
4
8
0
0
0
-5
-2
-8
-4
-1
8
0
0
0
3
0
-32
-5
83
15
0
0
0
-41
3
0
-34
9
9
0
0
0
52
-23
48
50
51
21
0
0
0
0
0
2
-67
25
0
0
0
30
0
1
0
-4
12
0
0
0
0
0
0
-2
15
5
0
0
0
0
0
0
-31
-45
53
0
0
0
0
0
0
2
-6
-30
0
0
0
0
0
0
-3
53
14
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
1
-5
-9
42
0
0
0
0
0
0
0
13
-41
0
0
0
-1
0
0
0
-16
10
0
0
0
0
0
0
0
-8
-8
0
0
0
5
0
0
1
-28
5
0
0
0
0
0
0
0
7
20
0
0
0
-15
0
0
0
5
-23
0
0
0
0
0
0
0
-3
9
0
0
0
0
0
-2
-5
24
19
0
0
0
0
0
0
-1
5
-26
-9
0
0
28
0
0
0
12
-73
-19
0
0
0
0
0
0
19
22
-11
0
0
0
0
0
4
24
-66
-40
0
0
0
0
0
0
-61
49
-19
0
0
-2
0
0
0
-7
-93
10
0
0
0
0
0
0
2
16
2
0
0
0
0
1
0
-56
-59
18
0
0
0
0
0
3
-2
-2
-29
0
0
-28
0
0
0
-14
-4
26
0
0
0
0
0
0
1
-4
26
0
0
-2
0
0
0
2
-15
-13
0
0
0
0
0
0
-13
43
15
0
0
-26
0
0
0
15
-5
26
0
0
0
0
0
0
-81
60
-13
0
0
58
-2
41
-1
-22
5
-4
0
0
0
0
2
0
10
29
0
0
0
0
0
0
0
-40
14
0
0
0
0
0
0
0
-43
19
0
0
0
0
0
0
3
-78
5
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
1
-4
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
5
-6
30
0
0
0
0
0
0
0
10
-12
0
0
0
0
0
0
0
-19
-8
0
0
0
0
0
-1
0
-3
4
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
-1
0
-3
8
0
0
0
0
0
-8
0
-5
58
0
0
0
0
0
-4
-4
26
-45
-17
0
0
0
0
0
-2
-32
3
-2
0
0
0
0
0
0
49
-8
-48
0
0
0
0
0
7
-86
-3
1
0
0
0
0
0
0
9
-2
13
0
0
0
0
0
-1
-29
-14
-5
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
0
-18
2
22
0
0
0
0
0
0
8
77
-74
0
0
0
0
0
-1
-20
-41
41
0
0
0
0
1
1
-6
12
20
0
0
0
0
-1
0
5
8
43
0
0
0
0
0
0
-13
20
12
0
0
0
0
0
0
12
24
1
0
0
0
0
0
0
2
0
7
0
0
0
-2
41
-24
25
16
-11
0
0
0
0
1
-8
31
-25
0
0
0
0
0
0
-21
12
-23
0
0
0
0
0
0
8
-9
1
0
0
-5
0
0
0
74
-2
21
0
0
0
0
0
0
7
-2
-4
0
0
0
0
0
0
1
-10
-14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
16
2
0
0
0
0
0
0
0
0
-24
8
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
-2
-30
6
0
0
0
0
0
0
4
13
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
17
42
-28
0
0
0
0
0
-3
14
14
48
-13
0
0
0
0
0
-4
-5
7
-1
0
0
0
0
0
2
-9
-5
-23
0
-8
0
0
0
3
4
-27
-1
0
0
0
0
0
-4
4
4
-53
0
0
0
0
0
2
-61
7
-2
0
0
0
0
0
0
0
0
-5
0
-1
0
0
0
-1
-10
-3
1
0
0
0
0
0
9
-40
53
-37
0
0
0
0
0
0
33
-19
13
0
0
0
0
0
-4
29
14
-24
0
8
0
0
0
8
-52
-8
10
0
0
0
0
0
1
-14
46
-82
0
0
0
0
0
-1
-24
16
12
0
0
0
0
0
0
-48
2
4
0
18
10
0
-29
-14
-85
47
15
0
0
0
0
0
-4
13
12
0
0
0
0
0
0
2
0
27
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
13
-66
90
0
0
0
0
0
0
-3
3
-1
0
0
0
0
0
0
7
-42
-16
0
0
0
0
0
0
1
-2
-6
0
0
0
0
0
0
9
-19
19
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
-5
10
-27
0
0
0
0
0
0
20
-21
8
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
8
0
0
0
0
-1
13
-62
20
-13
0
0
0
0
0
0
3
-31
-40
28
0
0
0
0
0
0
12
41
-47
0
0
0
0
0
-6
13
3
-32
0
0
0
0
0
-2
18
-19
38
0
0
0
0
0
0
0
13
-56
0
0
0
0
0
-1
2
21
-44
0
0
0
0
0
0
-14
-1
17
0
0
0
0
2
-5
13
2
-31
0
0
0
0
0
0
-2
-39
1
0
0
0
0
0
0
2
22
-50
0
0
0
0
0
0
16
-4
-52
0
0
0
0
0
-2
11
10
-19
0
0
0
-2
0
0
1
-18
-10
0
0
0
0
0
1
-33
3
61
0
0
0
0
0
0
5
8
-78
0
0
0
-2
1
-48
-41
-18
16
0
0
0
0
1
4
1
73
0
0
0
-7
0
0
-2
-7
41
0
0
0
0
0
0
1
-43
4
0
0
0
0
0
0
-2
-77
39
0
0
0
0
0
0
0
8
16
0
0
0
0
0
0
2
-32
13
0
0
0
0
0
0
3
-5
-2
0
0
0
0
0
1
-2
13
-29
0
0
0
0
0
0
0
-2
61
0
0
0
0
0
0
0
-1
-20
0
0
0
0
0
0
-1
3
-5
0
0
0
0
0
0
5
-5
-14
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
1
13
0
0
0
0
0
0
2
-8
31
0
0
0
0
0
0
0
-33
-9
4
0
0
0
0
0
0
-25
63
-1
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
2
13
-13
0
0
0
0
0
0
-6
-6
-1
0
0
0
0
0
3
4
25
-22
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-5
-31
68
0
0
0
0
0
-2
7
17
-8
0
0
3
0
0
0
14
-22
8
0
0
0
0
0
0
5
2
-21
0
0
0
0
0
0
3
-4
-24
0
0
0
0
0
-2
8
-28
-13
0
0
-5
0
0
0
-7
-5
46
0
0
0
0
-2
0
2
-4
-37
0
0
30
-8
-18
41
-57
-14
-4
0
0
0
0
0
0
-17
31
0
0
0
0
0
0
0
18
40
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
-4
-35
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
-2
-16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
-1
50
0
0
0
0
0
0
0
-3
6
-21
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
-3
-1
-22
0
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
2
-4
-57
0
0
0
0
0
0
1
3
-52
0
0
0
0
0
0
0
-2
-53
0
0
0
0
0
0
-13
-4
59
0
0
0
0
0
0
-2
1
-56
0
0
0
0
-2
0
1
-6
49
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
-3
-14
18
0
0
0
1
0
0
-2
-6
-19
0
0
0
-24
53
11
-71
-5
0
0
0
0
0
10
-17
-6
47
0
0
0
0
0
0
-8
-12
-5
0
0
0
0
0
0
-10
24
-5
0
0
0
0
0
0
69
-23
-27
0
0
0
0
0
1
-2
30
9
0
0
0
0
0
0
39
-5
13
0
0
0
0
0
-2
-5
-8
1
0
0
0
0
0
-8
42
-42
2
0
0
0
0
0
0
17
17
5
0
0
0
1
0
0
0
-5
-15
0
0
0
0
0
2
-1
-2
-16
0
0
0
0
0
-2
-31
-86
52
0
0
0
0
0
0
-4
-1
-4
0
0
0
0
0
0
4
0
-10
0
0
0
0
0
4
2
-1
7
0
0
0
0
0
-25
43
17
-94
0
0
0
0
0
-3
30
9
34
-7
0
0
0
0
0
1
-29
12
22
0
0
0
0
-2
8
-7
2
26
0
0
0
0
0
-1
18
14
-45
0
0
0
0
0
-18
28
8
-10
0
0
0
0
0
-2
-7
2
44
0
0
0
0
1
0
-12
0
-6
0
0
0
0
2
-13
-7
6
-5
0
0
0
0
0
0
9
-24
-6
0
0
0
0
0
2
-15
13
31
0
0
0
0
-1
-5
-12
-6
-14
0
0
0
0
0
14
5
0
-75
0
0
0
0
0
-4
13
32
-63
0
0
0
0
0
-2
0
5
-54
0
0
0
1
1
0
-2
1
-46
0
37
-5
4
32
-35
-9
-45
-27
0
0
0
-30
5
0
-15
57
0
0
0
0
0
0
1
29
-36
0
0
0
0
0
0
0
-7
-48
0
0
0
0
0
0
14
-20
7
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
-1
-5
-21
31
0
0
0
0
0
2
0
1
3
0
0
0
0
0
30
-20
-19
15
0
0
0
0
-2
0
0
-21
71
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
0
4
22
0
0
0
0
0
3
-6
-31
7
0
0
0
0
-2
1
0
-2
31
0
0
0
0
0
0
2
-2
-47
0
0
0
0
-1
-5
3
3
8
0
0
0
0
4
-9
29
1
-3
0
0
0
0
-2
-1
-7
1
58
-25
0
0
0
0
0
0
24
10
11
0
0
0
0
0
0
-4
25
-25
0
0
0
0
0
25
27
52
-74
0
0
0
0
0
0
13
12
-65
0
0
0
0
0
1
-64
35
20
0
0
0
0
-1
0
0
16
15
0
0
0
1
1
-16
15
66
32
0
0
0
3
1
0
-5
-76
24
-15
0
0
0
0
0
-13
30
-33
-21
0
0
0
4
0
-31
-43
-4
10
0
0
0
0
-3
2
43
-13
10
0
0
0
0
2
-1
2
-18
-9
0
0
0
-1
1
-51
71
-6
18
0
0
13
2
3
20
35
62
-16
0
0
11
6
22
22
51
-25
23
0
0
0
0
1
-34
-30
0
0
0
7
0
0
-3
-28
7
0
0
0
0
0
0
0
6
14
0
0
0
0
0
-1
19
-12
-54
0
0
0
0
0
0
-1
-8
67
0
0
0
0
0
0
0
-25
11
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
-3
-21
-5
13
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
12
13
0
0
0
0
0
0
3
-16
-3
0
0
0
0
0
2
0
5
17
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
-2
-1
0
-14
0
0
0
0
0
0
1
48
21
-1
0
0
-15
0
0
0
-49
107
-71
0
0
0
0
0
0
15
25
-30
0
0
0
0
0
-3
-31
0
-21
0
0
0
0
0
0
-29
59
-10
0
0
-2
0
0
0
15
-42
19
0
0
0
0
0
0
-8
22
-59
0
0
0
0
0
6
17
41
-67
0
0
0
0
0
-3
-36
41
12
4
0
-1
0
0
-1
23
41
15
-39
0
0
0
0
0
-13
21
-49
46
0
-4
0
0
0
15
40
-90
30
0
0
0
0
0
-13
-5
14
-51
0
7
0
0
0
-2
-18
14
-13
0
0
0
0
0
-35
-39
20
21
0
-38
-7
27
17
-55
13
4
23
0
0
0
0
-2
-2
46
0
0
0
0
0
0
5
-73
34
0
0
0
0
0
0
0
59
-53
0
0
0
0
0
0
-12
41
14
0
0
0
0
0
0
0
-10
-6
0
0
0
0
0
0
-1
5
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-25
2
5
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
8
-29
0
0
0
0
1
0
0
8
-23
0
0
0
0
0
0
-1
-2
-8
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-7
14
0
0
0
0
2
3
0
0
-12
0
0
0
0
0
2
0
-9
-39
5
0
0
0
0
0
3
30
-24
42
0
0
0
0
0
0
18
-118
-4
0
0
0
0
0
-9
-62
45
45
0
0
0
0
0
0
8
20
-67
0
0
0
0
0
0
-8
20
-47
0
0
0
0
0
0
-2
1
-13
0
0
0
0
0
-1
-13
30
-9
0
0
0
0
0
0
2
-27
13
4
0
0
0
0
0
-5
1
-109
39
0
0
0
0
0
-28
-1
52
-8
0
0
0
0
0
44
-10
-66
-23
0
0
0
0
0
-1
1
-15
32
0
0
0
0
0
-4
-25
-31
44
0
0
0
0
0
8
-1
-12
-34
0
0
18
9
29
-56
87
-22
-26
0
0
0
-4
-8
73
-31
0
0
0
0
0
0
1
-25
-1
0
0
0
0
0
0
-15
-46
5
0
0
-15
0
0
0
20
-5
30
0
0
0
0
0
0
13
-9
7
0
0
0
0
0
0
-7
-21
0
0
0
0
0
0
0
6
-9
22
0
0
0
0
0
-1
-13
-14
-21
0
0
0
0
0
-1
13
-25
46
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
6
-22
35
0
0
-32
0
0
-1
7
8
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
1
-5
-4
5
0
0
0
0
0
-1
2
-2
-37
52
0
0
0
0
0
1
-59
61
-2
0
0
0
0
0
0
-13
-4
11
0
18
0
0
0
1
-47
-12
7
0
0
0
0
0
-5
13
-1
-15
0
0
0
0
0
-1
3
14
-1
0
0
0
0
0
0
5
-3
2
0
-13
0
0
0
-1
-28
-7
-9
0
0
0
0
0
2
-10
50
6
9
0
1
0
0
1
-45
4
-13
21
0
0
0
0
0
37
-10
-18
-28
34
0
0
0
0
-1
-19
-7
-50
0
0
0
0
0
-13
13
-14
69
0
0
0
0
-1
14
14
-40
-52
0
0
0
0
0
1
-18
-25
14
-46
13
-7
-113
-52
-67
4
20
18
0
0
6
0
-2
-41
55
0
0
0
0
0
0
-1
12
46
0
0
0
0
1
0
0
16
-22
0
0
0
0
0
0
-41
91
2
0
0
0
0
0
2
6
-37
13
0
0
0
0
0
0
4
-12
-25
0
0
0
0
0
0
1
-7
5
0
0
0
0
0
4
16
5
-52
0
0
0
0
0
-1
-1
22
-15
0
0
0
0
0
0
0
-8
-18
0
0
0
0
0
0
0
-3
39
0
0
0
0
0
0
-8
-34
14
0
0
0
0
0
0
-4
-1
14
0
0
0
0
0
0
0
14
-14
0
0
0
0
0
-2
1
0
3
0
0
0
0
-3
1
-34
29
-17
0
0
0
0
0
1
-5
-15
46
22
0
0
0
0
0
0
-60
20
22
0
0
0
0
0
1
-10
-33
5
0
0
0
0
-2
4
-68
-1
-14
0
0
0
0
0
-2
0
2
6
0
0
0
0
0
0
12
-17
10
0
0
0
0
1
0
0
-8
-18
0
0
0
0
-1
5
-53
61
-71
0
0
0
0
-1
0
0
-11
-15
61
0
0
0
0
0
15
3
-75
13
0
0
0
0
0
2
25
-71
9
0
0
0
-1
-3
-51
52
3
-68
0
0
2
0
0
3
4
-39
14
0
0
0
-1
0
6
-25
-31
25
0
0
-14
-2
0
4
-20
43
27
0
0
-7
-28
-14
9
46
-13
24
0
0
0
0
8
-8
8
0
0
0
9
0
0
0
-25
44
0
0
0
0
0
0
2
-4
-7
0
0
0
2
0
0
-4
13
42
0
0
0
0
0
1
1
-16
12
0
0
0
0
0
0
3
6
-20
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
45
-42
-5
0
0
0
0
0
0
0
1
41
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
-2
0
-6
2
0
0
0
0
0
0
0
2
-4
0
0
0
-3
0
0
0
0
3
0
0
0
0
0
0
0
-5
-6
0
0
0
-5
0
-2
-24
4
-5
0
0
0
0
0
0
-8
-4
2
21
0
0
23
0
0
0
22
-34
-22
0
0
0
0
0
0
-13
5
-6
0
0
0
0
-1
-2
25
1
-78
0
0
0
0
0
0
-2
-8
21
0
0
-9
0
0
2
4
5
-38
0
0
0
0
0
0
0
-10
-24
0
0
0
0
0
2
6
-5
-34
0
0
0
0
0
-1
3
-36
-11
38
0
-24
0
0
0
0
-54
26
26
0
0
0
0
0
-5
-1
-19
-22
0
-14
0
0
-1
-1
7
-6
4
0
0
0
0
0
2
-13
21
26
0
-10
0
0
0
-8
-5
-8
56
0
0
-5
0
-1
8
3
7
8
0
-39
25
-31
-16
-35
-20
28
3
0
0
-1
0
-1
16
90
0
0
0
0
0
0
-2
41
-24
0
0
0
0
0
-4
4
-45
42
0
0
0
0
0
0
3
-16
29
0
0
0
0
0
-3
1
-14
9
0
0
0
0
0
0
-4
2
-48
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
-1
4
-6
31
0
0
0
0
1
-1
0
9
-13
0
0
0
0
0
1
0
6
38
0
0
0
0
-3
0
0
9
-17
0
0
0
0
0
-1
-6
48
-5
0
0
0
0
0
0
-2
1
2
0
0
0
0
-1
2
0
-3
6
0
0
0
0
18
-10
0
0
-16
0
0
0
0
-1
-2
-25
32
47
0
0
0
0
9
2
0
-8
2
29
0
0
0
0
0
-1
-47
-13
-5
0
0
0
0
0
0
4
1
-3
0
0
0
2
0
-8
-10
-5
-40
0
0
0
0
0
0
-2
5
25
0
0
0
0
0
0
1
-10
20
0
0
0
0
0
-1
0
1
-79
0
0
0
1
-2
4
10
-5
-41
0
0
0
-30
1
0
0
34
-34
15
0
0
0
0
0
-13
49
-71
21
0
0
4
-1
0
0
12
-19
-6
0
0
0
0
-3
-8
3
-3
2
0
0
-3
0
0
1
-8
14
-18
0
0
0
0
3
-5
5
-36
-8
0
0
-14
0
-1
4
7
8
-22
0
0
-16
-16
31
10
-25
-20
33
0
0
35
1
13
-18
9
0
0
0
38
-15
2
-57
34
16
0
0
0
0
-25
8
36
-21
10
0
0
-25
39
-5
-34
-45
-1
20
0
0
0
0
50
-79
13
-23
29
0
0
0
-6
-24
21
-5
-68
26
0
0
0
0
-44
-45
88
5
-29
0
0
-27
-24
-24
-43
5
-2
2
0
0
0
0
-22
5
-27
9
5
0
0
0
48
19
50
136
6
-60
0
0
0
0
5
-45
-54
1
32
0
0
-18
-14
1
-37
12
-23
-25
0
0
0
0
12
18
2
-5
22
0
0
0
35
-20
-22
-46
69
2
0
0
0
0
40
79
-2
-113
-28
0
0
-5
-5
-12
-54
41
33
-12
0
0
0
0
44
53
-1
2
38
-4
0
0
-51
-31
-9
-64
-73
26
8
0
0
0
-13
-58
12
-19
91
-5
0
-37
-85
13
-22
17
37
-27
8
0
0
0
25
13
27
-32
-14
1
0
0
48
13
-59
65
-41
1
-17
0
0
0
1
12
-9
8
77
-17
0
79
63
7
49
-8
10
-41
-11
0
0
0
7
-32
44
-21
-12
-10
17
0
49
-22
-27
-27
25
-36
-10
15
0
0
62
61
-26
-23
-2
-2
-12
42
-49
-24
28
10
-68
-22
24
-12
0
0
25
-28
32
-27
28
-10
-2
0
-50
10
-43
-4
-10
-15
-2
17
0
0
-25
50
35
-30
0
-20
6
-33
34
-3
-27
26
28
19
-25
-23
0
0
10
-34
-12
-7
22
0
0
0
0
-73
-3
-17
26
4
0
0
0
0
-14
21
70
-5
9
0
0
0
0
-12
-8
33
-31
4
0
0
0
0
4
63
93
-63
16
0
0
0
0
27
53
-16
-48
6
0
0
0
0
-4
54
1
-9
-52
0
0
0
0
3
-31
18
-42
-27
0
0
0
0
18
-14
5
-20
2
0
0
0
0
0
-17
10
12
-7
0
0
0
0
22
-50
1
42
-9
0
0
0
0
-4
3
35
60
-59
0
0
0
0
-28
22
36
-35
37
0
0
0
0
0
-1
-10
-2
28
0
0
0
0
2
71
66
-43
1
0
0
0
0
1
-9
-66
0
0
0
0
0
0
-34
13
-2
58
40
0
0
0
0
-2
47
-56
-2
-15
0
0
0
0
-8
41
22
-45
14
0
0
0
0
-1
4
49
-28
53
0
0
0
0
2
43
53
-16
20
0
0
0
0
-1
0
-5
-58
54
0
0
0
0
16
31
-47
62
-28
0
0
0
0
-8
-15
-25
43
6
0
0
0
0
43
-58
16
-38
59
0
0
0
0
0
25
-17
-50
36
0
0
0
0
-31
47
9
-75
92
0
0
0
0
0
-36
41
-33
7
0
0
0
0
21
-8
42
10
-34
0
0
0
0
59
-7
62
3
-26
0
0
0
0
30
-26
55
-97
64
0
0
0
0
-1
3
69
19
-2
0
0
0
0
0
-8
-68
-40
18
0
0
0
-20
18
72
-43
11
21
0
0
0
0
13
27
-10
-48
7
0
0
0
14
0
-8
61
-19
22
0
0
0
0
0
-3
-9
-42
9
0
0
0
20
0
8
-67
2
9
0
0
0
0
0
-15
28
-13
-18
0
0
0
-9
0
-6
35
28
-52
0
0
0
0
0
-6
46
9
8
0
0
0
28
1
7
18
-45
-22
0
0
0
0
0
17
51
-68
-31
0
0
0
16
0
23
-79
-50
59
0
0
0
0
0
0
11
-70
22
0
0
0
-36
0
-25
41
31
5
0
0
0
0
0
2
57
4
-57
0
0
0
-37
0
-24
22
20
-11
0
0
0
0
0
8
38
-89
31
0
0
0
-48
-17
-26
-3
-28
137
0
0
0
0
1
-2
41
-24
37
0
0
0
4
0
-2
-87
-9
64
0
0
0
0
0
0
25
-18
45
0
0
0
7
0
6
-41
32
43
0
0
0
0
0
-3
-14
59
22
0
0
0
2
0
4
2
-32
24
0
0
0
0
0
-7
0
-5
25
0
0
0
20
-3
10
-25
12
19
0
0
0
0
0
1
42
-61
0
0
0
0
0
0
2
-19
38
-47
0
0
0
0
0
0
41
-49
30
0
0
0
115
0
-8
-12
-59
-3
0
0
0
0
3
0
-24
-26
2
0
0
0
-1
3
-155
-3
25
-19
0
0
0
0
-3
73
5
44
-45
0
0
0
0
0
-28
-10
-39
32
0
0
0
0
40
6
57
-5
-10
0
0
0
0
28
-5
-12
-15
18
0
0
0
0
63
-19
-27
-48
9
0
0
0
0
0
7
-5
22
-33
0
0
0
0
-6
13
-42
46
18
0
0
0
0
1
46
-14
-40
14
0
0
0
0
0
53
30
-45
10
0
0
0
0
0
1
8
-31
8
0
0
0
0
-11
-54
-53
48
20
0
0
0
0
0
-66
13
-44
77
0
0
0
0
-6
41
-48
-9
13
0
0
0
0
0
-2
-16
-13
11
0
0
0
0
1
-31
41
-26
-30
0
0
0
0
-1
2
11
7
-18
0
0
0
0
-1
-25
39
-45
-14
0
0
0
0
-1
4
8
-4
-2
0
0
0
0
-12
-3
-49
-90
44
0
0
0
0
2
0
-17
-11
4
0
0
0
0
-4
25
20
-130
30
0
0
0
0
0
-5
-10
-28
-17
0
0
0
0
2
-6
22
-24
31
0
0
0
0
0
-20
5
10
50
0
0
0
0
0
-1
3
-11
48
0
0
0
0
0
0
5
-5
-42
0
0
0
0
0
-3
-52
41
76
0
0
0
0
-4
-6
31
-32
23
0
0
0
0
-24
9
7
-36
55
0
0
0
0
1
-3
29
-21
-28
0
0
0
0
-27
-70
42
-20
42
0
0
0
0
33
3
40
-47
-16
0
0
0
0
1
72
-77
5
-8
0
0
0
-8
-4
-30
-73
8
9
0
0
0
0
13
70
25
5
-45
0
0
-41
-30
-4
63
56
23
-12
0
0
0
0
0
-5
52
-23
-2
0
0
0
-5
-2
19
90
-23
-42
0
0
0
0
3
12
75
26
-26
0
0
7
1
1
-25
-1
-1
6
0
0
0
0
0
0
8
21
-3
0
0
0
0
0
-15
41
-17
-13
0
0
0
0
0
-19
-24
-52
38
0
0
43
-12
0
-9
-47
13
41
0
0
0
0
0
-3
9
29
-31
0
0
0
2
0
-5
-27
-1
41
0
0
0
0
0
-9
51
31
-61
0
0
54
0
-1
-6
20
-38
-17
0
0
0
0
3
8
-43
-14
61
0
0
0
4
0
-8
81
26
-70
0
0
0
0
2
0
-103
56
48
0
0
21
-7
1
-31
-21
-22
31
0
0
0
0
0
4
42
-34
13
0
0
0
47
0
2
49
-67
-31
0
0
0
0
1
-3
-14
-20
0
0
0
38
0
2
1
-15
-45
-5
0
0
0
0
0
1
7
-9
-33
0
0
0
0
0
1
4
-1
33
0
0
0
0
0
1
-97
19
60
0
0
-32
2
0
48
-37
13
7
0
0
0
0
0
-2
-53
-5
42
0
0
0
4
0
-1
-8
-55
32
0
0
0
0
-8
2
-49
-5
27
0
0
-6
30
-26
-63
-92
-37
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
57
41
36
-23
0
0
0
0
0
1
-8
-35
31
0
0
0
0
0
5
-16
-72
48
0
0
0
0
0
0
14
-10
-50
0
0
0
0
-42
-49
7
53
-4
0
0
0
0
0
-1
-13
-45
16
0
0
0
0
2
-2
-25
-29
20
0
0
0
0
2
-9
-11
-7
18
0
0
0
0
-6
49
42
25
-6
0
0
0
0
0
0
-14
31
22
0
0
0
0
0
13
2
-32
18
0
0
0
0
0
0
-3
-20
46
0
0
0
0
0
8
-13
0
-19
0
0
0
0
-1
0
1
13
13
0
0
0
0
0
-1
-1
9
39
0
0
0
0
0
-3
-18
65
-21
0
0
0
0
-58
8
76
-42
54
0
0
0
0
0
-8
-29
-46
13
0
0
0
0
0
-21
-21
28
19
0
0
0
0
0
6
-4
-61
45
0
0
0
0
-19
-93
39
-80
123
0
0
0
0
-8
4
-5
-5
33
0
0
0
0
0
0
17
22
13
0
0
0
0
0
0
34
43
9
0
0
0
0
84
-18
31
-13
6
0
0
0
0
0
-1
-3
15
-7
0
0
0
0
-3
-8
10
1
11
0
0
0
0
0
8
-18
-66
16
0
0
0
0
44
-61
-5
25
-7
0
0
0
0
-1
16
-29
-34
-13
0
0
0
0
19
-22
-8
-56
23
0
0
0
0
12
-2
-6
-23
42
0
0
0
0
0
0
3
-44
68
0
0
0
53
0
0
3
13
-5
0
0
0
0
0
0
-2
-21
-21
0
0
0
0
0
0
-42
41
0
0
0
0
0
0
-1
-6
22
-4
0
0
0
-2
0
-21
-36
12
77
0
0
0
0
0
0
8
-66
16
0
0
0
0
0
6
-21
-67
-19
0
0
0
0
0
1
10
-14
20
0
0
0
6
0
0
7
-36
-6
0
0
0
0
0
0
-4
-25
4
0
0
0
1
0
0
9
29
-44
0
0
0
0
0
0
0
-8
8
0
0
0
-4
0
0
0
-8
34
0
0
0
0
0
-1
0
-6
-5
0
0
0
-3
0
-1
-5
-13
45
0
0
0
0
0
0
-10
-5
9
0
0
0
42
0
-5
13
25
-44
0
0
0
0
0
0
7
-74
39
0
0
0
1
0
4
-6
26
42
0
0
0
0
0
0
7
3
16
0
0
0
-22
0
1
26
41
31
0
0
0
0
0
0
-3
-9
49
0
0
0
0
0
0
0
35
42
0
0
0
0
0
2
13
-2
-28
0
0
0
40
1
-50
-31
63
26
0
0
0
0
0
0
-3
-70
79
0
0
0
0
0
-1
-17
-85
22
0
0
0
0
0
0
21
-20
-29
0
0
0
11
0
-5
0
15
-30
0
0
0
0
-2
5
-5
1
-6
0
0
0
-14
0
8
-31
-4
-41
0
0
0
0
8
-25
-33
-16
13
0
0
0
0
0
0
0
-62
38
0
0
0
0
-2
-4
-1
3
38
0
0
0
0
0
9
-8
-38
11
0
0
0
0
-1
5
-2
49
-7
0
0
0
0
0
-8
2
-6
-22
0
0
0
0
-1
0
2
-15
-16
0
0
0
0
0
7
65
-44
-29
0
0
0
0
-1
1
2
-31
38
0
0
0
0
0
0
6
22
-25
0
0
0
0
0
0
-1
53
-41
0
0
0
0
0
3
-13
-39
86
0
0
0
0
2
47
41
-14
32
0
0
0
0
0
0
-29
5
48
0
0
0
0
1
5
-6
-16
-61
0
0
0
0
0
21
23
-3
-5
0
0
0
0
-1
-2
-13
-5
30
0
0
0
0
1
-1
3
-51
72
0
0
0
0
0
0
2
-6
31
0
0
0
0
0
-2
15
-5
-27
0
0
0
0
6
4
10
-10
-20
0
0
0
0
0
0
7
-25
-35
0
0
0
0
0
0
-4
39
-18
0
0
0
0
0
-6
-23
-24
20
0
0
0
0
5
-8
-30
38
16
0
0
0
0
0
0
-5
24
6
0
0
0
0
-1
1
-1
-79
44
0
0
0
0
1
4
0
54
-36
0
0
0
0
-4
17
-2
-81
22
0
0
0
0
0
-1
2
-3
5
0
0
0
0
3
-12
0
35
30
0
0
0
0
6
-21
25
6
-26
0
0
0
0
0
-2
1
10
26
0
0
0
0
0
0
-3
10
59
0
0
0
0
0
-3
-8
14
-2
0
0
26
-6
0
-5
49
-13
-17
0
0
0
0
0
1
-5
-25
20
0
0
0
1
0
0
-47
36
-42
0
0
0
0
0
0
0
-49
-6
0
0
-5
0
0
-49
-56
18
37
0
0
0
0
0
0
4
-8
-30
0
0
0
8
0
-1
-24
-27
27
0
0
0
0
0
0
-3
-60
-14
0
0
17
0
0
-1
7
-44
15
0
0
0
0
0
-2
-8
4
13
0
0
0
-1
0
0
13
16
-41
0
0
0
0
0
0
-9
-53
80
0
0
-4
0
0
6
58
-50
-1
0
0
0
0
0
3
1
42
-31
0
0
0
0
0
1
-50
-32
53
0
0
0
0
0
4
5
11
-12
0
0
54
0
0
-9
5
-71
38
0
0
0
0
0
0
-4
-8
20
0
0
0
0
0
0
-4
-34
5
0
0
0
0
0
-3
0
-13
12
0
0
-11
0
0
6
69
-32
-29
0
0
0
0
0
4
-2
-22
-48
0
0
0
-1
0
-2
-2
9
-10
0
0
0
0
0
-1
-7
-5
26
0
0
12
0
0
1
-63
-27
22
0
0
0
0
0
2
7
-21
9
0
0
0
-76
0
0
61
-39
3
0
0
0
0
0
3
-8
-24
-13
0
0
-28
-2
0
10
-10
5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
-31
12
77
0
0
0
0
0
-16
35
-20
12
0
0
0
0
1
-35
-12
-12
44
0
0
0
0
-1
28
-40
-53
17
0
0
0
0
-18
-16
4
-4
98
0
0
0
0
1
-2
-65
-9
89
0
0
0
0
-5
-8
45
42
-15
0
0
0
0
0
-35
77
-3
-28
0
0
0
0
28
32
47
-36
-23
0
0
0
0
0
14
5
-7
66
0
0
0
0
0
25
5
-5
32
0
0
0
0
0
-6
-69
31
3
0
0
0
0
6
-81
44
5
64
0
0
0
0
0
0
23
-79
32
0
0
0
0
45
5
26
28
-19
0
0
0
0
0
-31
40
12
-2
0
0
0
0
23
-54
43
13
81
12
0
0
0
0
0
20
-70
-60
18
0
0
0
0
4
54
-37
39
8
0
0
0
-2
10
-11
-44
-14
7
0
0
0
-6
75
23
42
26
-2
0
0
0
-1
-4
26
-67
26
-16
0
0
0
-2
-23
3
13
119
-22
0
0
0
0
-13
30
11
13
-28
0
0
0
-19
-38
26
28
30
23
0
0
0
0
-1
8
-82
-22
21
0
0
0
-31
64
-5
-15
-27
5
0
0
0
0
22
13
3
-5
-48
0
0
0
53
101
-66
38
6
-19
0
0
0
-8
-13
-40
26
2
-4
0
0
0
-14
-21
17
-59
-44
23
0
0
0
-19
49
-25
56
6
8
0
0
0
0
13
4
-47
40
0
0
0
-46
0
55
13
-50
43
0
0
0
0
0
-2
-33
-76
69
0
0
0
23
0
-2
-24
-52
31
0
0
0
0
0
-4
6
45
-25
0
0
0
16
0
-4
3
4
-21
0
0
0
0
0
0
13
-30
-56
0
0
0
0
0
3
-64
31
-25
0
0
0
0
0
3
12
-68
28
0
0
0
-11
0
22
-29
-5
20
0
0
0
0
-5
6
-53
22
-13
0
0
0
3
0
2
16
-19
-22
0
0
0
0
0
0
-11
-8
13
0
0
0
-25
0
-29
43
-88
72
0
0
0
0
0
-20
-10
-21
14
0
0
0
23
0
15
15
-73
21
0
0
0
0
0
5
-7
49
1
6
0
0
3
-4
-39
0
-43
69
20
0
0
0
0
0
1
-70
23
-1
0
0
4
0
0
83
-35
15
-21
0
0
0
0
0
-7
44
-64
4
0
0
28
1
0
6
55
23
-43
0
0
0
0
-2
0
-18
-15
-27
0
0
-2
0
2
0
50
-3
-23
0
0
0
0
0
53
-66
-43
44
0
0
-48
-2
-6
-17
-20
57
7
0
0
0
3
-2
-4
11
-23
-5
0
0
2
0
0
12
146
-47
-71
0
0
0
0
2
20
32
-20
0
0
0
24
0
-2
-44
3
6
2
0
0
0
-1
27
13
-32
-29
-13
0
0
27
-5
-26
57
-8
41
-6
0
0
0
-1
-1
22
-10
-5
0
0
0
0
0
-1
13
29
20
0
0
0
0
9
-17
2
-13
7
0
0
0
0
1
12
-1
-5
99
0
0
0
0
-1
-14
-5
-25
-15
0
0
0
0
0
0
-12
2
-7
0
0
0
0
0
3
-5
4
-3
0
0
0
0
0
-42
30
-5
9
0
0
0
0
0
-1
-13
26
-14
0
0
0
0
0
-5
0
-9
36
0
0
0
0
-8
-20
3
-80
86
0
0
0
0
2
-3
-35
-12
15
0
0
0
0
0
-1
30
-46
18
0
0
0
0
0
3
1
8
29
0
0
0
0
-1
-13
-32
31
-14
0
0
0
0
-5
20
27
-45
20
0
0
0
0
-1
45
17
26
-68
-10
0
0
0
0
0
44
-36
66
-21
0
0
0
2
0
0
-33
-75
9
0
0
0
0
0
-24
-40
-4
-2
0
0
0
1
-4
27
-25
37
-3
0
0
0
0
0
-7
-25
-53
27
0
0
0
0
0
-24
-8
6
-9
0
0
0
1
-9
2
-47
42
-13
0
0
0
1
9
-25
11
-6
12
0
0
0
0
0
2
11
-16
-5
0
0
0
-2
-1
-8
-7
-5
15
0
0
0
-4
-8
4
-12
28
55
0
0
0
-5
-28
0
-9
31
9
0
0
0
0
-1
-1
-28
57
-34
0
0
0
-4
-4
14
-1
14
-24
0
0
0
-9
22
-39
-4
-11
-7
0
0
0
0
-1
12
32
30
0
0
0
0
0
3
-1
6
2
0
0
0
0
3
10
-38
-23
11
0
0
12
7
0
15
13
-11
-4
0
0
0
0
0
0
5
-14
23
0
0
0
-4
0
-1
-24
-41
47
0
0
0
0
0
0
-4
-42
1
0
0
0
0
-2
-13
13
-47
6
0
0
0
0
0
0
46
63
-4
0
0
0
0
0
-4
20
1
-7
0
0
0
0
0
-40
-9
-18
18
0
0
-41
-3
0
14
23
-15
-2
0
0
0
0
0
0
6
-43
-2
0
0
0
0
0
0
-49
19
-5
0
0
0
0
0
-4
25
-48
4
0
0
-28
0
-1
0
14
6
-13
0
0
0
0
1
1
-2
48
22
-15
0
0
0
0
-2
64
-60
32
-17
0
0
0
0
8
-7
-61
2
-20
0
-4
0
0
4
7
-12
50
0
0
0
0
0
0
0
1
28
6
0
0
4
0
0
6
-10
43
-9
0
0
0
1
2
-1
-48
-5
-26
0
-45
0
0
-8
-7
-28
42
17
0
0
0
0
1
7
7
31
-68
0
0
0
0
-4
-15
-28
-18
69
0
0
0
1
0
13
5
-27
-19
0
0
0
0
-3
-37
-48
42
33
0
0
0
0
-7
-8
8
-67
69
0
0
-4
0
0
9
4
43
9
0
0
0
2
-4
-59
-29
176
-48
0
20
13
0
-16
-6
-73
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
37
49
17
-2
0
0
0
0
0
0
-14
-59
3
0
0
0
0
1
5
23
-42
44
0
0
0
0
0
0
8
14
21
0
0
0
0
-49
12
28
42
-21
0
0
0
0
0
-3
-19
-44
4
0
0
0
0
0
2
-5
41
-18
0
0
0
0
0
0
45
5
69
0
0
0
0
72
10
18
-87
-4
0
0
0
0
0
-5
-13
-12
-27
0
0
0
0
0
4
-1
-12
26
0
0
0
0
0
5
-28
28
22
0
0
0
0
65
-5
-22
-46
30
0
0
0
0
0
-1
-26
-33
36
0
0
0
0
-5
43
-3
-10
-29
0
0
0
0
2
-96
44
-32
-32
0
0
0
0
-19
4
-25
95
-1
6
0
0
0
0
3
-24
-36
57
29
0
0
0
0
-5
-18
-27
58
-16
0
0
0
0
1
-27
13
-27
4
0
0
0
19
25
63
80
-5
-14
0
0
0
-1
5
-13
8
-1
-19
0
0
0
-8
5
6
-36
13
-23
0
0
0
-1
22
-20
-16
10
24
0
0
0
-28
-32
112
-43
39
4
16
0
0
0
-1
-26
-2
5
-40
31
0
0
0
-30
-70
24
72
8
0
0
0
0
-8
27
15
-9
17
-18
0
0
-26
-34
112
-13
-5
-22
5
0
0
-1
-2
12
-35
22
-76
28
0
0
36
48
-57
24
-14
-31
2
0
0
7
2
-22
-49
-8
-18
-4
0
0
0
0
8
34
-38
0
0
0
39
0
2
-19
26
-30
0
0
0
0
0
0
0
28
-33
0
0
0
0
0
0
-6
-16
26
0
0
0
0
0
0
-47
-5
67
0
0
0
8
0
-5
53
-63
-17
0
0
0
0
0
0
0
8
23
0
0
0
0
0
0
35
18
13
0
0
0
0
0
-3
67
-13
-5
0
0
0
18
0
-16
-7
-33
68
0
0
0
0
0
0
0
-1
-21
0
0
0
-3
0
-1
22
41
-3
0
0
0
0
0
-1
-6
-21
58
0
0
0
7
0
0
2
-53
-3
0
0
0
0
0
0
1
-90
36
0
0
0
12
0
-17
7
-7
44
0
0
0
0
0
0
-34
-74
70
-8
0
0
-13
2
-3
25
-79
-4
68
0
0
0
0
0
-4
-14
58
-24
0
0
0
0
0
11
-32
24
54
0
0
0
0
0
-30
-21
-34
70
0
0
-40
-2
-2
33
-49
68
-55
0
0
0
0
1
3
21
-23
36
0
0
0
0
0
19
-19
-20
-27
0
0
0
0
0
-72
23
93
-37
17
0
-43
0
10
-18
-52
34
-26
16
0
0
0
-2
0
-14
-33
-81
-4
0
-6
0
-2
-13
-54
37
-63
-9
0
0
0
-4
-17
-4
27
1
-1
0
-67
0
2
16
-6
19
-7
-11
0
0
-1
5
13
-91
12
-32
-14
0
-20
-2
-23
-22
-3
43
-58
-19
0
0
-1
1
-5
18
39
0
0
0
0
0
0
0
-42
-20
0
0
0
0
0
1
19
4
5
0
0
0
0
0
1
4
-49
46
0
0
0
0
2
1
-8
-6
-58
0
0
0
0
0
-1
2
3
-5
0
0
0
0
0
-7
0
1
13
0
0
0
0
0
1
-48
-2
8
0
0
0
0
7
13
-12
-31
-8
0
0
0
0
0
0
4
-57
-1
0
0
0
0
-2
-5
4
-31
42
0
0
0
0
0
1
8
-61
25
0
0
0
0
1
0
-3
28
22
0
0
0
0
0
0
-10
-8
-4
0
0
0
0
-1
0
-27
-41
39
0
0
0
0
1
34
9
-34
-7
0
0
0
0
-9
-27
5
45
90
-33
0
0
0
0
0
-3
-17
4
4
0
0
0
-1
-1
3
-30
3
23
0
0
0
0
0
-30
-28
5
75
0
0
0
-5
-1
12
-3
-13
-5
0
0
0
0
-1
-2
-7
-41
34
0
0
0
0
-2
0
16
49
-22
0
0
0
0
-2
19
-48
-8
-15
0
0
0
-23
-53
1
-11
30
17
9
0
0
0
-3
1
-124
-28
-29
2
0
0
0
7
-13
-38
-5
-97
24
0
0
-6
1
-3
-23
-25
-99
15
0
0
-24
6
-17
11
80
-64
22
0
0
0
2
8
58
58
-77
-31
0
0
-28
9
-1
79
34
-67
4
0
0
-6
5
-23
-78
19
-52
32
0
0
0
-2
-4
-6
26
0
0
0
0
0
0
0
-25
38
0
0
0
0
0
0
1
-32
-12
0
0
18
6
0
1
-22
-74
32
0
0
0
0
0
0
-3
5
-11
0
0
0
0
0
0
-43
-34
10
0
0
0
0
0
-1
3
5
3
0
0
2
0
0
-4
-24
21
12
0
0
0
0
0
0
-3
-57
57
0
0
0
0
0
0
-8
33
-46
0
0
0
0
0
-8
2
-9
-9
0
0
37
0
0
2
17
-33
8
0
0
0
0
0
0
-35
8
22
0
0
0
-3
0
0
-16
-42
51
0
0
0
0
0
-15
-3
-15
38
0
0
-38
0
0
16
-12
-26
2
0
0
0
0
0
0
-1
-37
-45
34
0
0
0
0
-1
6
30
0
-42
0
0
0
0
1
-17
-26
14
-23
0
23
0
0
-5
37
13
-7
-29
0
0
0
0
0
0
-2
-102
-13
0
0
0
0
0
-28
-72
65
23
0
0
0
0
0
-4
3
-75
66
0
-34
0
0
-18
14
21
-21
38
0
0
0
0
-3
2
0
20
-79
-5
0
-1
0
-1
-14
25
27
-39
-46
0
0
0
1
-7
-7
30
-52
-3
-109
0
0
-25
-6
29
33
-30
-10
0
0
0
4
27
-20
32
-64
0
0
4
0
0
8
-24
-38
21
-22
0
0
0
-5
-5
-137
-57
-56
66
8
-5
-1
-9
-76
26
-8
-58
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-37
-101
7
51
0
0
0
0
-3
-48
-60
-102
66
0
0
0
0
22
28
-25
47
-3
0
0
0
0
-3
21
19
-46
-9
0
0
0
0
-15
-66
-50
19
58
0
0
0
0
0
39
21
2
1
0
0
0
0
-7
26
-23
0
34
0
0
0
0
0
-36
69
19
-52
0
0
0
0
-4
-29
18
-78
62
0
0
0
0
0
0
-13
-1
55
0
0
0
0
13
-55
16
-18
34
0
0
0
0
1
23
-4
7
-8
0
0
0
0
15
5
-33
-45
25
0
0
0
0
0
2
6
-68
18
0
0
0
0
22
3
45
27
-24
0
0
0
0
1
12
-26
19
-8
0
0
0
0
-25
26
-64
13
17
0
0
0
0
0
14
50
-93
37
0
0
0
0
2
-13
31
-123
58
0
0
0
0
0
2
-24
36
-43
0
0
0
0
-18
45
76
-24
-33
0
0
0
0
0
-13
-19
16
10
0
0
0
0
-6
0
-5
-5
29
0
0
0
0
0
8
17
-14
85
0
0
0
0
-2
-64
-47
-2
92
0
0
0
0
0
0
-4
28
28
0
0
0
0
-8
20
-9
27
-2
0
0
0
0
0
7
21
29
6
0
0
0
0
-22
-41
-36
33
13
0
0
0
0
4
-8
2
-13
22
0
0
0
0
11
-6
23
-48
58
0
0
0
0
-13
-40
34
22
3
0
0
0
0
0
22
-2
39
-14
0
0
0
-35
3
-12
59
-39
6
0
0
0
0
0
-4
-7
32
14
0
0
0
30
0
-13
13
-17
-24
0
0
0
0
6
-42
23
-5
13
0
0
0
-56
0
42
56
-41
54
0
0
0
0
0
-7
17
-35
13
0
0
0
4
0
-5
13
4
24
0
0
0
0
0
-16
9
-8
0
0
0
0
39
1
2
3
14
7
0
0
0
0
0
-1
1
24
29
0
0
0
7
0
-3
-19
5
44
0
0
0
0
0
0
-12
-9
-13
0
0
0
6
0
1
0
-23
24
0
0
0
0
0
-2
-4
19
-24
0
0
0
-24
0
10
-8
-10
33
0
0
0
0
0
0
-7
9
1
0
0
0
20
-5
-10
11
-43
36
0
0
0
0
0
0
0
-17
13
0
0
0
2
0
0
24
-6
22
0
0
0
0
0
0
-14
-81
-17
0
0
0
-5
0
0
21
-53
31
0
0
0
0
0
0
4
-1
-19
0
0
0
-1
0
-1
3
0
-31
0
0
0
0
0
0
0
-52
40
0
0
0
-69
0
2
-6
-21
41
0
0
0
0
0
0
1
-5
-10
0
0
0
0
0
0
0
-23
-2
0
0
0
0
0
0
-33
-23
15
0
0
0
-16
0
2
19
8
-11
0
0
0
0
1
0
-14
-38
-16
0
0
0
3
-2
-12
-27
-21
21
0
0
0
0
8
13
-69
57
10
0
0
0
0
0
1
-21
10
21
0
0
0
0
0
20
-4
-23
1
0
0
0
0
0
-2
-19
-3
46
0
0
0
0
1
1
-7
7
46
0
0
0
0
0
0
19
-71
36
0
0
0
0
0
-2
-13
-108
23
0
0
0
0
0
-5
7
-18
24
0
0
0
0
0
-5
31
22
-33
0
0
0
0
0
0
0
-3
28
0
0
0
0
0
-1
24
-19
30
0
0
0
0
0
1
13
1
9
0
0
0
0
0
0
-9
-12
23
0
0
0
0
0
0
-3
-55
49
0
0
0
0
0
0
15
-13
-38
0
0
0
0
0
1
0
22
-6
0
0
0
0
0
-3
18
4
-5
0
0
0
0
0
0
2
-23
-32
0
0
0
0
0
5
27
-25
24
0
0
0
0
0
0
-4
-48
14
0
0
0
0
0
1
5
-41
41
0
0
0
0
0
0
0
4
31
0
0
0
0
0
0
-10
-4
21
0
0
0
0
0
0
1
-10
75
0
0
0
0
0
0
17
23
-48
0
0
0
0
0
0
1
16
2
0
0
0
0
0
-2
-35
31
45
0
0
0
0
0
0
46
-27
7
0
0
0
0
0
0
5
-14
-18
0
0
0
0
0
0
2
21
-47
0
0
0
0
0
0
7
-5
53
0
0
0
0
-28
16
-39
19
-13
0
0
0
0
0
31
-24
-42
-4
0
0
0
0
0
4
30
18
6
0
0
0
0
0
0
-7
15
-32
0
0
22
-15
1
-3
99
-5
-15
0
0
0
0
0
0
-27
-25
-1
0
0
0
0
0
-7
-55
-29
97
0
0
0
0
0
0
-5
3
-31
0
0
-7
0
0
5
-3
1
-17
0
0
0
0
0
8
-10
-43
55
0
0
0
0
0
0
8
-13
25
0
0
0
0
0
1
15
22
-41
0
0
-21
1
0
-2
11
16
-34
0
0
0
0
0
0
-6
-51
18
0
0
0
0
0
0
-1
11
-4
0
0
0
0
0
1
7
-46
8
0
0
28
0
-1
-3
60
29
3
0
0
0
0
0
0
25
-15
-6
0
0
0
0
0
1
30
4
5
0
0
0
0
0
-2
6
-30
26
0
0
-31
-2
0
-6
-15
62
58
0
0
0
0
0
0
-30
-22
-4
0
0
0
0
0
0
15
-28
-6
0
0
0
0
0
0
-14
-13
8
0
0
12
0
0
3
37
-29
-12
0
0
0
0
0
0
23
-31
45
0
0
0
0
0
0
-24
0
15
0
0
0
0
0
1
6
9
6
0
0
-41
0
0
-3
68
5
45
0
0
0
0
0
-6
25
-58
-13
0
0
0
0
0
0
29
5
-29
0
0
0
0
0
3
32
-23
53
0
0
80
23
-5
-52
-12
26
-25
0
0
0
0
5
-66
15
-46
27
0
0
0
0
0
-8
32
5
15
0
0
0
0
0
31
41
-66
-46
0
0
0
0
0
1
-2
17
14
0
0
0
0
-1
5
0
-41
31
0
0
0
0
0
1
-30
28
-42
0
0
0
0
0
0
18
13
-45
0
0
0
0
0
2
31
33
-24
0
0
0
0
3
-4
-11
-32
-13
0
0
0
0
0
-4
-23
0
0
0
0
0
0
0
10
20
-15
-30
0
0
0
0
0
0
-24
-27
66
0
0
0
0
-1
-2
-46
-4
71
0
0
0
0
0
0
-2
5
2
0
0
0
0
0
-1
2
-1
26
0
0
0
0
-2
0
-17
-69
43
0
0
0
0
48
12
1
-5
-15
0
0
0
0
0
-2
5
23
-40
0
0
0
0
0
-1
23
0
6
0
0
0
0
0
5
-20
5
-4
0
0
0
0
-2
-13
26
31
14
0
0
0
0
0
2
42
-41
-40
0
0
0
0
0
0
1
2
14
0
0
0
0
0
-1
3
-1
-4
0
0
0
0
-65
31
16
-8
-24
0
0
0
0
0
0
-4
0
23
0
0
0
0
0
0
2
57
-17
0
0
0
0
0
2
-2
6
8
0
0
0
0
2
-47
1
-53
23
0
0
0
0
0
0
5
-63
21
0
0
0
0
-1
-1
-20
29
42
0
0
0
0
-2
-53
45
-22
32
0
0
0
0
0
0
6
-21
97
0
0
0
-2
0
0
-59
-8
32
0
0
0
0
0
0
3
13
55
0
0
0
0
0
1
-16
-5
-9
0
0
0
0
0
0
49
-81
-21
0
0
0
0
0
-2
12
4
-32
0
0
0
0
0
0
2
-3
-13
0
0
0
0
0
0
40
-21
-15
0
0
0
0
0
-1
17
-45
-23
0
0
0
7
0
0
-6
-34
-9
0
0
0
0
0
0
-1
-13
60
0
0
0
0
0
-1
-5
17
-56
0
0
0
0
0
0
5
20
26
0
0
0
0
0
-2
-17
-13
-31
0
0
0
0
0
0
-2
5
4
0
0
0
0
0
0
-25
-4
67
0
0
0
0
0
0
-3
-13
0
0
0
0
25
2
0
-14
-4
0
0
0
0
0
0
0
0
-19
66
0
0
0
0
0
1
1
-3
6
0
0
0
0
0
0
-2
-5
14
0
0
0
0
0
2
-24
2
43
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
7
7
0
0
0
0
0
0
-4
6
9
0
0
0
-17
0
0
5
-49
36
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
-4
-5
21
13
0
0
0
0
0
0
9
-20
62
0
0
0
1
0
-6
3
-21
4
0
0
0
0
0
0
0
-16
14
0
0
0
-1
0
15
-17
-19
-4
0
0
0
0
-1
5
8
56
-28
0
0
0
0
0
0
-6
-60
16
0
0
0
0
0
3
37
-13
-26
0
0
0
0
0
0
25
11
27
0
0
0
0
0
0
20
18
-30
0
0
0
0
0
0
-2
-9
-66
0
0
0
0
0
-1
1
-31
4
0
0
0
0
0
1
0
37
24
0
0
0
0
0
0
-2
-4
21
0
0
0
0
0
-6
0
14
-5
0
0
0
0
0
-2
-7
17
-4
0
0
0
0
0
0
1
41
-13
0
0
0
0
0
0
-10
-2
5
0
0
0
0
0
0
1
3
-54
0
0
0
0
0
0
-1
-1
39
0
0
0
0
0
-4
5
-24
-5
0
0
0
0
2
-2
5
-23
6
0
0
0
0
0
2
5
-30
-7
0
0
0
0
0
1
0
-17
5
0
0
0
0
0
0
0
-17
31
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-9
4
0
0
0
0
0
-1
0
-4
31
0
0
0
0
0
1
1
18
-29
0
0
0
0
0
0
-4
-12
14
0
0
0
0
0
0
0
-23
-12
0
0
0
0
0
1
-12
-8
9
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
3
9
-8
0
0
0
0
-4
8
14
24
-18
0
0
0
0
0
30
57
0
-45
0
0
0
0
0
-12
37
-11
-19
0
0
0
0
0
-13
8
-7
55
0
0
-2
0
0
4
13
-23
25
0
0
0
0
0
5
59
-30
-5
0
0
0
0
0
-3
35
-16
-39
0
0
0
0
0
-10
-19
23
-22
0
0
0
0
0
-42
28
-2
19
0
0
0
0
0
3
56
-52
4
0
0
0
0
0
-2
-46
-17
2
0
0
0
0
0
-3
-25
-4
39
0
0
-1
0
0
4
-10
-2
10
0
0
0
0
0
0
9
9
9
0
0
0
0
0
3
29
-32
6
0
0
0
0
0
2
-2
5
8
0
0
0
0
0
1
-33
51
-43
0
0
0
0
0
49
41
-29
-1
0
0
0
0
0
-3
-9
47
2
0
0
0
0
0
6
6
-74
30
0
0
-4
0
0
-30
-13
-3
53
0
0
0
0
0
-3
-10
8
-15
0
0
0
0
0
0
-17
-5
18
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
-17
-14
31
1
0
0
0
0
0
27
-33
-11
49
0
0
0
0
0
-1
-22
-42
75
0
0
0
0
0
-1
2
5
0
0
0
-4
0
0
1
5
-4
4
0
0
0
0
0
14
-57
-42
62
0
0
0
0
0
-4
58
-4
-60
0
0
0
0
0
1
-72
-24
44
0
0
-4
0
-1
35
-21
-8
87
0
0
0
0
32
26
11
-32
-9
0
0
0
0
0
29
9
-15
9
0
0
0
0
0
-6
-22
7
14
0
0
0
0
0
-16
-20
16
4
0
0
0
0
5
-4
13
5
-7
0
0
0
0
0
-6
55
-49
22
0
0
0
0
0
-5
-2
8
9
0
0
0
0
0
7
32
-47
-42
0
0
0
0
1
9
-7
-2
22
0
0
0
0
0
-1
-5
-5
-66
0
0
0
0
0
-14
-7
11
13
0
0
0
0
0
10
-9
19
30
0
0
0
0
-4
-7
38
71
37
0
0
0
0
0
0
-7
-10
28
0
0
0
0
-1
21
5
-39
7
0
0
0
0
0
-18
9
64
-10
0
0
0
0
21
-53
50
-19
-4
0
0
0
0
0
0
8
-5
37
0
0
0
0
0
0
-8
-27
13
0
0
0
0
0
2
4
-5
1
0
0
0
0
3
0
-5
-34
45
0
0
0
0
0
0
0
8
43
0
0
0
0
0
0
-3
0
-8
0
0
0
0
0
-4
0
-15
-13
0
0
0
0
-14
23
-13
-47
37
0
0
0
0
0
-1
-4
-20
52
0
0
0
0
0
2
2
-40
2
0
0
0
0
0
3
-9
25
13
0
0
0
0
-46
-11
85
-4
22
0
0
0
0
0
-2
-8
-8
67
0
0
0
0
-20
-1
-3
16
9
0
0
0
0
50
8
-15
59
4
0
0
0
0
0
0
-16
39
69
0
0
0
7
0
-1
-37
16
-1
0
0
0
0
0
0
1
-41
-23
0
0
0
0
0
0
23
-51
-48
0
0
0
0
0
0
-5
2
18
0
0
0
19
0
2
1
-25
-17
0
0
0
0
0
0
0
-13
-13
0
0
0
0
0
2
14
-24
13
0
0
0
0
0
-1
8
-2
2
0
0
0
-2
0
0
2
-26
-16
0
0
0
0
0
0
0
26
30
0
0
0
4
0
2
-29
-64
99
0
0
0
0
0
0
1
-31
2
0
0
0
8
0
-1
-14
-5
24
0
0
0
0
0
1
0
-54
46
0
0
0
-6
0
1
-9
-16
47
0
0
0
0
0
0
0
41
-7
0
0
0
-13
0
2
-9
6
10
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
4
-6
-1
0
0
0
0
0
0
0
6
-3
0
0
0
2
0
0
2
-10
22
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
-1
-5
0
0
0
0
0
0
0
-2
-95
0
0
0
7
0
-1
3
33
5
0
0
0
0
0
0
0
-11
31
0
0
0
0
0
0
13
-3
-22
0
0
0
0
0
0
2
-45
-42
0
0
0
4
0
0
3
-68
13
0
0
0
0
0
0
0
-39
-2
0
0
0
38
0
2
-46
-62
-6
0
0
0
0
0
8
5
22
-29
0
0
0
0
0
0
2
-27
32
0
0
0
0
0
-1
19
22
20
0
0
0
0
0
0
-7
3
82
0
0
0
0
0
0
-8
6
-28
0
0
0
0
0
0
0
-3
-19
0
0
0
0
0
0
2
-17
-10
0
0
0
0
0
0
-9
-16
66
0
0
0
0
1
1
-16
-23
60
0
0
0
0
0
0
0
-84
22
0
0
0
0
-2
1
-14
-11
34
0
0
0
0
0
-3
14
-1
61
0
0
0
0
0
0
4
3
-46
0
0
0
0
0
0
0
5
3
0
0
0
0
2
4
-5
-90
41
0
0
0
0
0
0
0
-19
39
0
0
0
0
0
3
-1
-42
49
0
0
0
0
0
0
0
-13
5
0
0
0
0
-1
0
0
-9
5
0
0
0
0
0
0
2
7
-2
0
0
0
0
0
0
0
5
49
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-7
-21
-3
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
4
-6
14
7
0
0
0
0
0
0
0
-27
-1
0
0
0
0
0
-1
-23
25
13
0
0
0
0
0
0
-3
15
4
0
0
0
0
0
0
-5
-6
-28
0
0
0
0
-3
0
-31
12
-9
0
0
0
0
0
0
45
-41
13
0
0
0
-1
0
1
-6
50
-13
0
0
0
0
0
0
13
-14
37
0
0
-31
1
0
0
-20
-20
75
0
0
0
0
0
0
0
7
-11
0
0
0
0
0
0
-1
4
15
0
0
0
0
0
-1
0
-5
19
0
0
5
0
0
-3
37
-30
-28
0
0
0
0
0
2
20
-8
-9
0
0
0
0
0
1
8
-57
-1
0
0
0
0
0
0
-3
-6
49
0
0
-14
0
0
4
10
9
-8
0
0
0
0
0
0
-5
31
46
0
0
0
0
0
1
8
-13
-5
0
0
0
0
0
1
-5
30
0
0
0
0
0
0
-5
-8
-33
-13
0
0
0
0
0
4
2
-4
-5
0
0
0
0
0
0
-3
-46
50
0
0
0
0
0
0
2
0
-3
0
0
-7
0
0
0
16
-50
9
0
0
0
0
0
0
-2
5
-6
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
7
-27
9
0
0
0
0
0
0
-1
-12
-33
0
0
0
0
0
0
1
8
-1
0
0
43
0
0
0
4
-7
6
0
0
0
0
0
-4
0
10
31
0
0
0
-5
0
0
0
16
50
0
0
0
0
0
0
-5
-91
24
0
0
41
-4
0
-1
30
-6
-7
0
0
0
0
0
4
4
-22
3
0
0
0
0
0
0
-2
-42
-13
0
0
0
0
0
0
9
-32
5
0
0
0
0
0
0
-2
1
11
0
0
0
0
0
0
-16
3
95
0
0
0
0
0
2
4
-15
43
0
0
0
0
0
2
-3
0
-17
0
0
0
0
0
0
2
-1
19
0
0
0
0
0
31
9
-42
-27
0
0
0
0
0
0
2
4
48
0
0
0
0
0
0
13
-29
15
0
0
0
0
0
0
-1
-58
57
0
0
0
0
0
-6
16
-3
22
0
0
0
0
0
0
2
-12
-14
0
0
0
0
0
-1
2
-4
-44
0
0
0
0
0
0
-1
8
3
0
0
0
0
-13
-19
31
22
-5
0
0
0
0
0
1
0
-66
31
0
0
0
0
0
1
3
-23
6
0
0
0
0
0
0
-1
6
5
0
0
0
0
0
1
1
0
-1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-1
1
-1
1
0
0
0
0
0
-4
0
-2
-16
0
0
0
0
10
-4
0
-13
29
0
0
0
0
0
-1
-1
-12
39
0
0
0
0
0
0
8
-1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
-31
1
38
0
0
0
0
0
1
1
15
-32
0
0
0
0
3
0
0
-8
19
0
0
0
0
-1
-25
68
-6
-58
0
0
0
0
0
0
0
-35
84
0
0
0
-2
0
-2
0
16
-31
0
0
0
0
0
0
-6
-30
31
0
0
0
0
0
0
-28
24
40
0
0
0
0
0
0
0
-2
90
0
0
0
0
0
0
4
23
33
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-18
19
15
0
0
0
0
0
0
-3
-25
51
0
0
0
2
0
0
25
-17
-11
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-67
80
0
0
0
0
0
0
0
-2
36
0
0
0
0
0
-2
0
-25
14
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-17
-42
0
0
0
0
0
0
0
-16
30
0
0
0
4
0
-1
-1
-33
47
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
-1
7
-16
22
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-2
-20
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
1
8
104
0
0
0
-3
0
0
0
8
-8
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
-3
-1
-7
0
0
0
0
0
0
0
2
-41
0
0
0
2
0
0
0
-42
4
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
-7
-43
-18
25
0
0
0
0
-26
-9
-1
-8
18
0
0
0
0
0
0
6
13
7
0
0
0
0
0
0
18
-15
-28
0
0
0
0
0
-1
-6
-47
46
0
0
0
0
0
0
-1
9
-24
0
0
0
0
0
0
1
-4
-48
0
0
0
0
0
5
-2
0
8
0
0
0
0
0
0
-2
-8
49
0
0
0
0
1
13
2
-25
-2
0
0
0
0
0
0
-5
-21
-8
0
0
0
0
0
0
-3
-4
2
0
0
0
0
0
0
-1
12
41
0
0
0
0
-2
0
2
1
-24
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
0
2
35
0
0
0
0
0
-2
-7
1
-20
0
0
0
0
2
-3
-5
13
52
0
0
0
0
0
0
0
-15
-9
0
0
0
0
0
8
0
-12
23
0
0
0
0
0
0
0
23
-58
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-3
-5
10
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
-3
3
-4
26
0
0
0
0
0
-4
0
5
-8
0
0
0
0
0
0
1
-22
13
0
0
0
0
0
2
0
-5
-7
0
0
0
0
2
0
0
-5
-32
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
-2
0
-1
0
0
0
0
3
7
6
-19
10
0
0
0
0
4
-13
-4
42
-10
0
0
0
-1
0
-1
-3
-19
10
0
0
0
0
0
-1
49
-130
14
0
0
1
0
0
4
17
-17
35
0
0
0
0
0
-5
-58
-10
111
0
0
0
0
0
-3
-16
-3
21
0
0
0
0
0
0
6
-32
-3
0
0
0
0
0
-3
45
1
-31
0
0
0
0
0
-2
-43
29
8
0
0
0
0
0
1
35
-45
-28
0
0
0
0
0
-2
6
-4
-63
0
0
-1
0
0
-10
-13
-15
17
0
0
0
0
0
4
-8
41
19
0
0
0
0
0
0
-17
-5
-7
0
0
0
0
0
-8
7
-22
33
0
0
0
0
0
27
18
10
-21
0
0
0
0
-1
9
5
-10
19
0
0
0
-16
0
-1
-5
-26
30
0
0
0
0
0
3
-16
-4
48
0
0
16
0
0
-15
-4
-31
-6
0
0
0
0
0
24
3
-24
-42
0
0
0
0
0
0
-10
4
10
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
-25
18
-8
0
0
0
0
0
-7
-4
-20
24
0
0
0
0
0
0
17
-1
-35
0
0
0
0
0
0
-3
-93
25
0
0
-30
0
0
3
-33
25
6
0
0
0
0
0
-32
31
32
-15
0
0
0
0
0
0
8
-3
59
0
0
0
0
0
1
0
3
10
0
0
8
0
-1
-42
-16
-5
-9
0
0
0
0
-21
-49
-27
66
8
0
0
0
0
0
0
-4
24
-19
0
0
0
0
5
7
-88
-31
48
0
0
0
0
-1
-3
25
-33
26
0
0
0
0
-63
31
-25
-22
51
0
0
0
0
-2
-3
-67
35
6
0
0
0
0
0
4
12
-35
0
0
0
0
0
-1
8
26
-47
21
0
0
0
0
59
-47
57
-47
-1
0
0
0
0
0
0
-8
-47
97
0
0
0
0
0
-14
-12
76
-1
0
0
0
0
0
4
-5
-41
6
0
0
0
0
-6
41
-45
-83
54
0
0
0
0
0
-1
7
-13
85
0
0
0
0
17
-2
-9
10
4
0
0
0
0
-3
-46
44
-11
33
0
0
0
0
-38
-85
24
19
44
4
0
0
0
0
-7
-22
39
53
15
0
0
0
2
-1
-13
4
-64
12
0
0
0
-3
-5
-17
-11
3
-1
0
0
0
-7
-18
70
-52
83
-8
0
0
0
1
3
12
-29
58
2
0
0
0
-1
0
3
25
9
-5
0
0
0
0
-3
70
-27
48
-39
0
0
0
9
15
4
53
-13
21
0
0
0
0
-1
-5
-16
21
73
0
0
0
-8
0
50
20
-18
24
0
0
0
0
41
-52
9
40
48
0
0
0
44
23
-15
16
-25
-1
0
0
0
3
2
24
39
-29
-32
0
0
0
29
39
27
-3
68
-2
0
0
0
14
0
53
-13
-13
-8
0
0
0
0
0
20
39
-35
0
0
0
11
0
0
-29
9
13
0
0
0
0
0
0
0
12
5
0
0
0
1
0
-4
-42
22
23
0
0
0
0
0
3
25
-26
-1
0
0
0
1
0
0
-8
-36
22
0
0
0
0
0
0
0
-5
31
0
0
0
0
0
-3
2
-30
0
0
0
0
0
0
0
-2
2
26
0
0
0
5
0
1
0
2
19
0
0
0
0
0
0
0
-7
3
0
0
0
-7
0
0
-3
-24
29
0
0
0
0
0
-1
2
5
-19
0
0
0
-1
0
-1
0
13
36
0
0
0
0
0
0
0
-37
-6
0
0
0
2
0
-1
-5
-49
58
0
0
0
0
0
0
7
-6
-16
7
0
0
-12
4
-5
-1
58
-60
19
0
0
0
0
0
0
-46
-20
27
0
0
0
0
0
-1
-52
64
10
0
0
0
0
-1
7
-35
-4
-12
0
0
33
0
0
0
-25
-8
-13
0
0
0
0
0
0
-25
25
-4
0
0
0
0
0
-5
-21
-19
-41
0
0
0
0
0
1
-47
26
6
0
0
4
0
0
-2
-20
43
15
0
0
0
0
0
0
-30
39
8
0
0
1
0
0
0
-25
-38
-16
0
0
0
0
1
5
-31
29
-35
0
0
57
0
0
-3
57
57
-53
0
0
0
0
0
0
-6
20
-22
0
0
-24
0
-4
-29
5
-19
2
0
0
0
0
-2
-12
-63
28
0
0
0
0
0
0
0
15
-6
0
0
0
0
0
1
1
-53
26
0
0
0
0
0
-2
-10
25
-23
0
0
0
0
0
-1
2
1
8
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-2
-2
-7
0
0
0
0
0
-2
-6
-43
15
0
0
0
0
0
0
-1
32
-9
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
-4
0
-34
0
0
0
0
0
0
1
3
-22
1
0
0
0
0
0
-2
0
-28
46
0
0
0
0
0
0
0
-16
77
0
0
0
0
0
-1
-1
-10
16
0
0
0
0
0
3
-1
-49
7
0
0
0
0
4
0
7
-22
41
2
0
0
0
0
0
0
-69
23
17
0
0
0
0
0
5
3
28
-23
0
0
0
0
-1
0
26
-47
-26
0
0
0
0
0
1
-25
32
15
0
0
0
0
0
1
-1
25
18
0
0
0
1
0
2
25
-5
-2
0
0
0
0
-1
5
4
-2
-3
0
0
0
0
0
3
-33
59
28
0
0
0
0
0
0
13
20
-1
0
0
0
0
0
-7
58
-28
-27
0
0
0
0
-3
-1
1
-14
-9
0
0
0
0
0
3
-32
66
-7
0
0
0
0
0
-4
-15
-7
51
0
0
0
1
0
3
-84
1
15
0
0
0
-2
1
20
-3
-22
-23
0
0
0
0
-4
6
-14
81
0
0
0
0
0
-2
9
-41
-18
0
0
0
0
0
0
-2
-11
8
0
0
-24
-2
0
1
41
-47
44
0
0
0
0
0
0
2
-30
52
0
0
0
0
0
-1
15
-25
-22
0
0
0
0
0
0
4
3
8
0
0
-2
0
0
-10
44
-6
-18
0
0
0
0
0
0
2
55
-2
0
0
0
0
0
0
5
-8
1
0
0
0
0
0
0
0
-27
0
0
0
-9
0
0
-1
8
17
-23
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
-2
5
29
0
0
0
0
0
0
5
6
-1
0
0
-12
0
0
-2
10
-29
-16
0
0
0
0
0
0
23
-80
29
-12
0
0
0
0
0
-3
-47
36
-1
0
0
0
0
0
-8
22
-63
-11
0
-38
0
0
3
-41
4
-49
0
0
0
0
0
1
-2
-58
-35
55
0
0
0
0
0
-3
-19
8
-39
0
0
0
0
0
2
-31
23
34
0
8
0
0
0
6
-41
-42
24
0
0
0
0
0
-20
42
57
-46
0
0
0
0
0
-8
-27
26
-11
0
0
0
0
5
-13
-18
10
1
0
59
0
0
-1
-20
-84
-9
-24
0
0
0
0
0
-5
5
23
-11
0
0
0
0
1
22
-42
9
-12
0
0
0
0
0
-1
17
39
-53
0
74
0
1
-1
-39
-50
-18
-18
0
0
0
8
0
-23
-22
-2
0
0
0
0
0
-4
-3
-31
23
0
0
0
0
0
0
12
0
15
0
0
0
0
0
2
0
10
21
0
0
0
0
3
6
-15
31
-37
0
0
0
0
0
0
0
-27
33
0
0
0
0
0
0
1
-2
8
0
0
0
0
0
0
-49
-12
46
0
0
0
0
-1
0
-2
-2
16
0
0
0
0
0
0
0
-5
11
0
0
0
0
0
0
-5
-1
2
0
0
0
0
0
0
1
9
-31
0
0
0
0
0
0
-5
6
6
0
0
0
0
0
-1
0
-2
32
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
2
12
-8
-11
0
0
0
0
-49
1
-41
2
15
6
0
0
0
0
0
0
-28
19
10
0
0
0
0
1
4
27
17
-5
0
0
0
0
1
6
-53
15
5
0
0
0
2
1
23
14
54
-25
0
0
0
0
0
-9
-60
-36
-5
0
0
0
0
0
-4
4
13
5
0
0
0
0
-9
5
-13
7
10
0
0
0
0
-1
-13
10
-8
-51
0
0
0
0
-1
0
-4
5
-12
0
0
0
0
0
0
-14
-5
-7
0
0
0
0
-1
1
-1
7
-7
0
0
0
24
0
19
-15
83
-56
0
0
0
-1
0
8
-25
-21
-17
0
0
0
0
0
-2
7
7
-13
0
0
0
-2
-12
98
76
-24
-47
0
0
0
3
1
1
16
1
0
0
0
-5
0
0
0
2
-23
0
0
0
0
0
0
-3
-4
36
0
0
0
0
0
0
1
-57
67
0
0
0
0
0
0
0
12
-12
0
0
0
0
0
0
7
-23
13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-20
-3
52
0
0
0
0
0
0
3
8
-5
0
0
0
5
0
0
-1
-4
-5
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
1
-16
-3
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
18
5
26
0
0
0
0
0
0
14
-4
51
-48
0
0
-23
0
0
0
-8
-5
1
0
0
0
0
0
1
5
0
44
0
0
0
0
0
-1
9
-1
-13
0
0
0
1
0
-4
5
21
7
0
0
9
0
0
24
-24
42
-102
0
0
0
0
0
0
4
-24
-67
0
0
0
0
0
-41
6
-17
-6
0
0
0
0
0
-5
12
21
55
0
0
-1
0
0
5
10
-13
-33
0
0
0
0
0
-1
2
3
-14
0
0
0
0
0
1
-1
-6
-23
0
0
0
0
0
5
24
30
-41
0
0
19
0
0
3
-1
-45
-30
0
0
0
0
0
5
21
-19
-47
0
0
4
1
-1
2
-99
24
-3
0
0
0
0
-3
-2
21
11
0
0
0
0
0
0
0
30
13
0
0
0
0
0
7
1
1
22
0
0
0
0
0
0
-6
9
16
0
0
0
0
0
0
-3
-5
-4
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
-3
8
4
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
3
-1
2
4
0
0
0
0
-1
0
2
23
17
-6
0
0
0
0
0
1
-30
32
-22
0
0
0
0
-2
-1
-4
8
-2
0
0
0
0
0
-2
33
1
-96
0
0
0
1
0
-6
0
-40
-3
0
0
0
0
0
0
4
-45
-54
0
0
0
2
0
0
-8
5
-32
0
0
0
0
0
2
-2
-5
11
0
0
0
0
-3
0
1
-49
24
0
0
0
0
0
0
-3
0
-19
0
0
0
0
0
-2
3
0
6
0
0
0
0
0
0
-2
0
-60
0
0
0
1
0
0
2
-13
-30
0
0
0
0
0
0
1
8
-51
0
0
0
0
0
6
14
4
-33
0
0
0
0
2
-12
-55
12
-10
0
0
0
-1
-1
-17
-14
83
0
0
0
0
0
0
-9
-21
71
0
0
0
0
0
0
-1
19
-54
0
0
-3
0
0
1
3
-23
27
0
0
0
0
0
-1
3
-1
-29
0
0
0
0
0
0
3
4
49
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
-8
-6
-21
35
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
1
0
0
0
5
0
0
-2
6
-2
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
1
13
0
0
0
0
0
3
21
-16
5
0
0
0
0
0
0
52
111
-23
-11
0
0
0
0
-1
-3
-12
10
-13
0
0
0
0
0
-5
-30
23
-58
0
14
0
0
3
-19
-41
13
-21
0
0
0
0
0
13
-3
6
-18
0
0
0
0
0
36
-17
-13
-10
0
0
0
0
2
10
-9
-9
-46
0
-41
0
-1
-1
-5
53
-22
-2
0
0
0
0
-1
18
0
-51
51
0
0
0
0
0
-3
-13
19
-38
0
0
0
0
0
-15
-1
6
-40
0
-14
0
0
0
-21
7
0
5
0
0
0
0
0
8
5
-41
44
0
0
0
0
2
3
-47
-8
-38
0
0
0
0
-2
21
-31
-2
-61
0
-3
-1
0
49
-20
-74
34
26
0
0
0
11
31
-31
-56
66
0
0
0
0
0
-4
0
-31
58
0
0
0
0
0
-2
-5
-15
52
0
0
0
0
0
-1
8
-45
6
0
0
0
0
2
-42
29
-6
23
0
0
0
0
0
0
-10
-8
-5
0
0
0
0
-1
-6
-1
4
14
0
0
0
0
0
0
-8
-20
9
0
0
0
0
46
59
-49
-76
-2
0
0
0
0
0
0
-7
16
10
0
0
0
0
0
-1
12
-5
-58
0
0
0
0
1
0
37
38
-29
0
0
0
0
-1
-24
5
3
-3
0
0
0
0
0
0
1
2
5
0
0
0
0
2
1
1
-13
17
0
0
0
0
1
5
-8
24
-49
0
0
0
0
-22
41
19
-70
-41
12
0
0
0
0
0
-13
32
-23
56
0
0
0
0
2
-5
-35
60
-10
0
0
0
0
0
2
-30
29
-55
0
0
0
9
-2
36
13
46
13
0
0
0
0
0
0
-2
13
4
0
0
0
2
-3
0
-1
13
-19
0
0
0
0
0
-5
1
-18
4
0
0
0
-15
-57
46
42
49
-43
18
0
0
0
-3
23
22
-9
-36
30
0
0
0
8
5
7
96
-24
0
0
0
0
-5
55
16
75
-110
-1
0
0
-11
18
-9
-61
-40
-26
38
0
0
0
-1
1
-87
39
-6
14
0
0
-6
3
8
-39
50
10
-17
0
0
-33
1
57
-16
-32
-38
0
0
0
0
0
-5
-5
61
0
0
0
-10
0
-1
-7
22
21
0
0
0
0
0
0
0
12
32
0
0
0
0
0
2
-4
-91
37
0
0
0
0
0
-8
0
33
13
0
0
0
0
0
-3
-5
-16
49
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
-22
26
-48
0
0
0
0
0
0
0
-39
67
0
0
0
31
0
0
-7
41
-25
0
0
0
0
0
0
0
-41
12
0
0
0
2
0
-1
-5
34
-53
0
0
0
0
0
0
0
-9
59
0
0
0
1
0
0
-6
1
17
0
0
0
0
0
0
0
-3
-42
0
0
0
3
0
4
14
-81
-28
0
0
0
0
0
0
2
20
7
12
0
0
-38
0
-3
-3
-22
28
-8
0
0
0
0
0
0
-17
-19
4
0
0
0
0
0
-13
-7
45
22
0
0
0
0
0
-4
-27
33
-67
0
0
1
0
1
1
5
-43
-29
0
0
0
0
0
0
2
1
25
0
0
0
0
0
0
-5
14
27
0
0
0
0
2
4
35
5
-15
23
0
52
0
-2
30
-41
-5
-47
-24
0
0
0
0
2
-115
106
-132
46
0
0
0
3
-75
-54
6
-54
0
0
0
0
0
-1
-2
15
-23
-26
0
-95
0
0
-16
5
19
59
7
0
0
0
2
0
-30
-46
-58
0
0
37
0
-4
6
-41
18
-64
14
0
0
2
-3
-2
-10
-21
0
0
0
0
0
0
-2
-27
41
0
0
0
0
0
0
3
-34
75
0
0
0
0
0
0
5
-24
72
0
0
0
0
0
-1
-2
23
-41
0
0
0
0
0
0
-4
-23
4
0
0
0
0
0
-2
4
1
2
0
0
0
0
0
0
-18
20
0
0
0
0
0
0
0
3
31
-52
0
0
0
0
0
0
0
0
33
0
0
0
0
0
1
-1
24
-5
0
0
0
0
0
-1
-2
31
-5
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
-3
6
-19
0
0
0
0
0
0
4
-8
0
0
0
0
0
-2
0
-1
7
-45
23
0
0
0
0
0
0
-58
50
-16
0
0
0
0
0
0
-20
-30
11
0
0
0
0
0
0
22
-49
-17
0
0
0
0
0
-2
5
21
-69
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
2
2
-47
0
0
0
0
0
0
1
0
-23
0
0
0
0
0
2
-66
-14
-46
5
0
0
0
0
-1
65
29
-17
-11
0
0
0
-8
1
-17
-69
-18
11
0
0
0
0
-3
22
5
-17
1
0
0
0
2
3
5
-9
-18
-37
0
0
0
0
0
1
-13
-17
46
0
0
2
-1
1
13
-14
-94
2
0
0
0
37
-59
-21
-20
-34
14
0
0
0
3
13
-13
1
0
0
0
0
0
0
1
-27
93
0
0
0
0
0
0
0
40
-20
0
0
33
0
0
-1
-48
-31
94
0
0
0
0
0
0
2
3
22
0
0
0
0
0
0
-7
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
2
-57
21
0
0
0
0
0
8
1
30
-24
0
0
0
0
0
0
-2
-54
41
0
0
0
0
0
-4
1
-45
0
0
0
15
0
0
2
-8
-43
8
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
10
-3
0
0
0
0
0
0
0
9
2
0
0
-2
0
0
1
-4
1
-41
0
0
0
0
0
0
2
15
-5
12
0
0
3
0
0
-8
48
48
-56
0
0
0
0
0
0
-13
3
-104
0
71
0
0
0
-22
-109
25
11
0
0
0
0
0
0
-1
1
-43
0
0
0
0
0
-1
-16
1
51
0
0
0
0
0
0
0
3
-32
0
0
0
0
0
-5
-9
0
33
0
0
0
0
-1
23
69
-14
8
1
0
0
0
3
-59
-17
-27
-19
13
0
0
0
0
-7
22
-63
-12
-3
-55
0
0
-1
22
-34
23
-48
-5
0
0
0
1
1
84
-9
-94
4
0
0
0
0
-20
17
-1
-51
22
0
0
0
2
0
-30
-2
-9
50
-111
-3
2
-31
-32
44
125
-12
5
0
0
1
3
50
14
-9
0
0
0
0
0
1
1
-9
20
0
0
0
0
-3
-3
-24
-29
48
0
0
0
0
0
1
-23
-22
-47
0
0
0
0
-5
3
-6
-23
51
0
0
0
0
0
-7
-74
39
-11
0
0
0
0
-1
1
0
6
9
0
0
0
0
0
-2
9
22
-44
0
0
0
0
5
14
19
-66
28
0
0
0
0
0
-4
5
-15
26
0
0
0
0
0
2
3
-55
40
0
0
0
0
0
0
-12
5
51
0
0
0
0
2
3
-8
-42
28
0
0
0
0
0
0
1
-5
94
0
0
0
0
0
0
-1
14
8
0
0
0
0
0
15
23
-47
-31
0
0
0
0
0
-24
24
47
54
-18
0
0
0
0
-1
8
-13
74
-12
0
0
0
-1
0
0
-3
9
16
0
0
0
0
0
7
-8
-13
61
0
0
0
-21
-2
-3
1
-17
8
0
0
0
0
0
0
-5
-13
-50
0
0
0
0
7
-1
-1
-13
-85
0
0
0
0
3
-3
-18
-7
14
0
0
0
-4
-7
31
26
-7
-33
42
0
0
0
0
-3
13
7
-51
11
0
0
0
1
0
-44
31
-2
-22
0
0
0
0
-1
-8
24
-42
21
0
0
-10
-17
13
-4
23
23
9
0
0
2
0
8
17
3
1
-36
0
0
0
-5
0
-15
-44
-10
57
0
0
37
5
-6
-53
53
-35
-6
0
0
-1
-1
-7
-36
64
0
0
0
-3
0
1
14
-60
29
0
0
0
0
-5
0
2
-33
-33
0
0
0
6
0
0
-44
22
14
0
0
0
0
0
1
-6
1
27
0
0
0
-4
0
0
-20
-5
27
0
0
0
0
0
0
-1
-7
-44
0
0
0
0
0
-3
-19
-35
47
0
0
0
0
0
0
-1
28
13
0
0
0
-39
0
4
-3
6
47
0
0
0
0
0
0
0
-25
32
0
0
0
-5
0
0
5
-14
-20
0
0
0
0
0
0
0
7
-16
0
0
0
-9
0
0
-1
-8
-3
0
0
0
0
0
-2
-3
9
1
0
0
0
0
0
0
-12
-3
37
0
0
0
0
0
0
0
29
2
-9
0
0
27
0
3
0
-8
6
-53
0
0
0
0
0
1
-24
25
-8
0
0
0
0
2
4
38
-25
-36
0
0
0
0
0
5
-8
17
-9
0
0
-42
0
0
6
13
44
-8
0
0
0
0
0
0
2
-2
-31
0
0
0
0
0
-5
2
-8
-5
0
0
0
0
0
-1
-11
52
3
-1
0
19
0
0
4
4
1
-50
-3
0
0
0
0
-1
-7
1
-67
113
0
0
0
0
-6
-20
-13
24
-42
0
0
0
0
-1
-4
13
-39
34
0
11
0
0
5
-31
54
-17
-96
0
0
0
0
-2
25
-24
35
-41
0
-39
0
7
-19
3
18
-43
-11
0
0
40
-38
52
3
-5
0
0
0
0
0
-7
-2
0
41
0
0
0
0
0
-1
-23
-23
43
0
0
0
0
0
0
-29
13
17
0
0
0
0
0
-3
24
-5
-10
0
0
0
0
0
-1
4
-17
19
0
0
0
0
0
0
0
-7
15
0
0
0
0
0
-12
12
33
8
0
0
0
0
-8
-10
2
19
-8
0
0
0
0
0
0
0
-27
-22
0
0
0
0
0
0
1
1
-54
0
0
0
0
0
0
-3
-66
32
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-1
-5
-2
14
0
0
0
0
0
0
0
17
-41
0
0
0
0
0
0
0
8
-7
0
0
0
0
7
28
-37
23
49
-28
0
0
0
-1
1
-6
-13
48
-12
0
0
0
0
-4
1
3
19
-13
0
0
0
0
-1
6
-40
29
-52
0
0
0
8
-1
5
4
15
-9
0
0
0
-1
0
0
-30
-3
4
0
0
0
-2
0
0
3
1
3
0
0
0
0
-9
2
-4
8
-32
0
0
0
10
-3
-23
-53
-22
-22
-4
0
0
0
-2
-2
-13
117
-26
-12
0
0
0
-5
-2
-17
-41
30
10
0
0
0
0
-1
6
-24
-48
47
0
0
16
-2
12
-12
5
-31
32
0
0
0
0
-4
1
12
-26
41
0
0
12
3
3
-10
5
-11
-7
0
0
-59
-83
-34
27
-50
22
-4
0
0
-2
-15
39
6
32
0
0
0
-20
-43
12
-30
38
66
0
0
0
0
0
17
11
-88
36
0
0
31
25
-30
-33
92
-15
-22
0
0
0
0
26
11
36
21
-44
0
0
0
124
32
-23
-89
-51
6
0
0
0
0
-12
8
-13
91
-50
0
0
-7
-5
6
-62
-71
-1
24
0
0
0
0
16
-26
54
-12
-25
0
0
0
-9
0
-37
4
54
-20
0
0
0
0
-20
-18
-88
-13
17
0
0
30
10
-8
9
13
-112
-9
0
0
0
0
-9
16
58
-35
-37
0
0
0
-74
0
-7
-21
-6
7
0
0
0
0
-38
9
41
-71
43
0
0
50
-5
8
-31
-13
-70
2
0
0
0
0
20
10
57
31
1
7
0
0
42
5
10
-78
-6
-28
26
0
0
0
2
8
13
32
49
-20
0
69
-25
5
16
-15
-92
51
-21
0
0
0
70
75
39
50
-101
-22
0
0
-25
-8
-6
1
27
18
-19
0
0
0
3
48
-22
1
-27
12
0
-18
15
-9
-32
-69
48
32
0
0
0
0
64
-10
16
-41
63
-71
4
0
-24
1
-33
22
18
-53
32
-12
0
0
-29
10
-69
-93
67
-83
6
-58
3
-8
-27
42
-35
-8
-4
0
0
0
-37
43
7
-40
16
19
-31
0
-27
-3
-55
-85
50
5
11
27
0
0
-23
-84
-2
-51
-7
-11
35
-111
-13
7
11
-12
-8
-18
-40
-23
0
0
74
13
-29
24
-8
0
0
0
0
0
-5
-42
8
33
0
0
0
0
0
24
3
-18
16
0
0
0
0
0
-8
-45
-34
1
0
0
0
0
-6
-8
-15
14
-4
0
0
0
0
0
13
-7
35
42
0
0
0
0
-1
-2
-5
-5
14
0
0
0
0
0
-32
31
-80
88
0
0
0
0
1
17
-13
-32
-4
0
0
0
0
0
-3
5
24
-52
0
0
0
0
0
4
-5
15
-61
0
0
0
0
0
6
1
80
-19
0
0
0
0
-2
1
23
6
-15
0
0
0
0
0
0
42
-4
23
0
0
0
0
-1
-5
-13
-42
43
0
0
0
0
0
21
31
-62
62
0
0
0
0
-47
-23
27
-16
31
0
0
0
0
0
2
-8
-21
-22
0
0
0
0
0
1
6
-59
35
0
0
0
0
0
-2
31
3
30
0
0
0
0
-6
19
22
-10
26
0
0
0
0
0
0
9
-46
14
0
0
0
0
0
0
-13
-8
-20
0
0
0
0
0
2
-23
10
49
0
0
0
0
-7
-44
2
-2
33
0
0
0
0
0
1
0
6
34
0
0
0
0
1
2
-8
-35
56
0
0
0
0
0
12
0
44
51
0
0
0
0
4
-75
26
-1
-34
0
0
0
0
0
-2
6
-14
27
0
0
0
0
32
-14
-27
16
27
0
0
0
0
-18
27
2
32
23
0
0
0
0
0
-2
-17
23
-7
0
0
0
-74
0
0
-2
-51
37
0
0
0
0
0
0
1
-16
4
0
0
0
0
0
1
13
-58
15
0
0
0
0
0
0
7
-22
24
0
0
0
0
0
0
-3
22
42
0
0
0
0
0
0
-2
-43
-2
0
0
0
0
0
5
-10
-15
31
0
0
0
0
0
0
0
17
11
0
0
0
-6
0
0
2
27
12
0
0
0
0
0
0
-1
-14
16
0
0
0
-1
0
-3
1
9
20
0
0
0
0
0
0
-4
-7
38
0
0
0
0
0
0
1
-6
33
0
0
0
0
0
0
6
-40
-43
0
0
0
0
0
1
-5
47
-54
0
0
0
0
0
0
5
21
-3
0
0
0
38
0
0
2
-24
39
0
0
0
0
0
0
1
-31
8
0
0
0
0
0
0
0
-16
60
0
0
0
0
0
0
-1
8
-36
0
0
0
17
0
0
1
-68
41
0
0
0
0
0
0
0
31
-26
0
0
0
0
0
0
1
-5
-5
0
0
0
0
0
0
0
25
34
0
0
0
17
0
0
-1
-16
-25
0
0
0
0
0
0
0
17
-47
0
0
0
0
0
-1
-1
59
35
0
0
0
0
0
0
0
-38
31
0
0
0
-69
0
0
-6
-33
96
0
0
0
0
0
0
3
24
2
0
0
0
67
0
-21
-72
8
8
0
0
0
0
0
1
5
10
-17
0
0
0
0
0
0
13
-35
30
0
0
0
0
0
0
19
-20
-34
0
0
0
0
0
-5
7
-53
30
0
0
0
0
0
0
24
-71
19
0
0
0
0
0
0
10
-13
2
0
0
0
0
0
0
6
-30
18
0
0
0
0
0
-2
-66
10
0
0
0
0
0
0
0
-16
-21
22
0
0
0
0
0
0
-1
-20
-10
0
0
0
0
0
0
-6
-28
13
0
0
0
0
0
-1
-12
26
17
0
0
0
0
0
0
2
-66
80
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
13
-31
0
0
0
0
0
-2
-21
-5
29
0
0
0
0
0
0
-21
-36
27
0
0
0
0
0
0
9
-49
34
0
0
0
0
0
0
1
6
10
0
0
0
0
0
0
-17
7
21
0
0
0
0
0
1
-13
10
11
0
0
0
0
0
0
-19
-8
4
0
0
0
0
0
0
0
17
-10
0
0
0
0
0
0
-1
12
-57
0
0
0
0
-1
2
18
-33
7
0
0
0
0
0
0
0
-48
40
0
0
0
0
0
0
-19
-5
69
0
0
0
0
0
0
4
-28
6
0
0
0
0
0
1
1
-7
48
0
0
0
0
0
0
7
-14
-5
0
0
0
0
0
0
0
20
18
0
0
0
0
3
-63
-46
-19
96
0
0
0
0
0
-4
26
19
-24
0
0
0
0
0
0
-2
-71
54
0
0
0
0
0
0
53
-56
42
0
0
-31
0
0
0
-89
-3
55
0
0
0
0
0
0
32
11
20
0
0
0
0
0
0
-29
-3
19
0
0
0
0
0
0
7
50
21
0
0
-1
0
0
0
45
-15
31
0
0
0
0
0
-1
68
34
-54
0
0
0
0
0
0
14
-1
-30
0
0
0
0
0
0
-11
-61
14
0
0
3
0
0
1
1
-112
-9
0
0
0
0
0
0
-19
-17
16
0
0
0
0
0
0
23
-38
13
0
0
0
0
0
0
24
-38
93
0
0
6
0
0
0
-58
69
-13
0
0
0
0
0
0
-7
-36
-21
0
0
0
1
0
0
-3
-34
-1
0
0
0
0
0
-1
-7
24
8
0
0
41
0
0
-1
6
-54
-18
0
0
0
0
0
0
1
13
19
0
0
0
0
0
0
-13
-38
78
0
0
0
0
0
0
-25
-16
43
0
0
8
0
0
0
20
-16
20
0
0
0
0
0
1
-24
-54
30
0
0
0
0
0
0
-7
2
-11
0
0
0
0
0
0
-34
6
14
0
0
-60
0
0
-3
-3
63
-27
0
0
0
0
0
0
-5
-9
35
0
0
0
0
0
0
-7
48
-57
0
0
0
0
0
2
6
-8
-11
0
0
93
4
1
-7
-12
-5
-15
0
0
0
0
-4
-41
-41
-13
92
0
0
0
0
0
1
-9
24
-8
0
0
0
0
0
0
19
-31
5
0
0
0
0
0
0
39
-42
76
0
0
0
0
0
-1
14
-4
10
0
0
0
0
0
0
13
-17
31
0
0
0
0
0
0
-3
5
-2
0
0
0
0
0
0
28
-28
-2
0
0
0
0
0
0
12
-48
41
0
0
0
0
0
0
-2
-18
28
0
0
0
0
0
0
0
-12
6
0
0
0
0
0
1
5
-13
22
0
0
0
0
0
0
-3
7
2
0
0
0
0
0
0
-6
-14
2
0
0
0
0
0
0
1
12
-23
0
0
0
0
0
2
-14
4
31
0
0
0
0
3
-6
23
-8
-25
0
0
0
0
0
2
0
-18
-7
0
0
0
0
0
3
1
-10
6
0
0
0
0
0
3
-3
13
-6
0
0
0
0
0
0
0
13
14
0
0
0
0
0
0
1
-10
-17
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
7
-5
-1
0
0
0
0
0
1
27
4
-24
-1
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
31
-18
0
0
0
0
0
0
13
32
-53
0
0
0
0
0
2
-1
-1
-5
0
0
0
0
0
0
2
-21
43
0
0
0
0
0
0
7
8
14
0
0
0
0
0
5
34
33
-10
0
0
0
0
0
0
7
13
15
0
0
0
-2
0
0
-5
17
-3
0
0
0
0
0
0
8
-9
-15
0
0
0
0
0
-2
6
-32
90
0
0
0
0
0
0
1
0
12
0
0
0
0
0
0
1
-18
-13
0
0
0
0
0
0
-3
1
7
0
0
0
0
0
1
-5
-5
5
0
0
0
0
0
0
1
-12
-20
0
0
0
0
0
2
-5
8
-3
0
0
0
0
0
0
2
5
-31
0
0
0
0
0
0
-5
-21
24
0
0
0
0
0
0
-3
1
-16
0
0
0
0
0
0
-5
-3
50
0
0
0
0
0
0
0
4
16
0
0
0
0
0
5
31
-21
-31
0
0
0
0
0
0
7
23
-13
0
0
0
1
0
0
1
4
5
0
0
0
0
0
0
-2
-10
-9
0
0
0
0
0
0
-1
-41
21
0
0
0
0
0
0
3
-5
2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
5
1
2
0
0
0
0
0
1
-4
-9
17
0
0
0
-12
0
0
1
-8
22
0
0
0
0
0
0
-4
5
7
0
0
0
0
0
0
-2
-6
17
0
0
0
0
0
0
0
-9
31
0
0
0
1
0
0
1
1
40
0
0
0
0
0
0
-5
5
-42
0
0
0
-10
0
3
28
-41
13
0
0
0
0
1
0
4
-18
24
0
0
0
0
0
0
-6
2
-26
0
0
0
0
0
1
0
-8
14
0
0
0
0
0
-1
-2
-5
47
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
-2
3
-78
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
4
4
-2
1
0
0
0
0
1
-3
0
25
-15
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
-24
4
0
0
0
0
0
2
1
-27
10
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
1
0
4
39
0
0
0
0
0
0
0
-1
12
0
0
0
0
3
0
1
17
-8
0
0
0
0
0
0
-1
-17
10
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-9
-10
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
0
0
0
0
0
-4
0
10
0
0
0
0
0
0
1
3
-30
-5
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
2
0
5
0
0
0
0
0
0
-1
0
-8
21
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
3
13
2
0
0
0
0
0
0
-4
-31
19
0
0
0
0
0
25
35
-43
21
0
0
0
0
0
-8
-65
-32
50
0
0
0
0
0
-2
21
-23
36
0
0
-1
0
0
80
-45
53
-76
0
0
0
0
0
3
13
-12
37
0
0
0
0
0
0
1
-95
18
0
0
0
0
0
3
29
-1
-37
0
0
0
0
0
4
7
-30
3
0
0
0
0
0
10
9
-10
-37
0
0
0
0
0
0
-31
15
40
0
0
0
0
0
0
4
1
47
0
0
0
0
0
-23
61
2
-33
0
0
0
0
0
7
13
-15
5
0
0
0
0
0
-2
9
-14
30
0
0
0
0
0
-3
31
-4
34
0
0
0
0
0
-42
44
-25
28
0
0
0
0
0
6
49
57
-27
0
0
0
2
0
-9
-12
9
41
0
0
0
0
0
-4
-14
5
18
0
0
-1
0
0
2
-56
24
1
0
0
0
0
0
5
57
12
-31
0
0
0
0
0
4
46
-20
-9
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-8
5
39
-5
0
0
0
0
0
30
13
-58
23
0
0
0
0
0
-12
-7
54
-3
0
0
0
0
0
0
-21
33
9
0
0
-1
0
0
-1
-44
-76
2
0
0
0
0
0
-32
-10
8
-15
0
0
0
0
0
1
0
8
-23
0
0
0
0
0
19
-10
-55
23
0
0
-9
0
-1
8
-27
5
-20
0
0
0
0
62
-20
13
-11
-8
0
0
0
0
0
-3
5
-24
11
0
0
0
0
-1
-8
-14
48
-16
0
0
0
0
-4
7
49
-27
13
0
0
0
0
0
-7
-8
0
16
0
0
0
0
0
0
3
-8
-10
0
0
0
0
0
0
4
-18
17
0
0
0
0
0
-1
7
32
-15
0
0
0
0
2
17
-3
-7
24
0
0
0
0
0
0
-4
-63
-1
0
0
0
0
0
-9
-1
0
22
0
0
0
0
0
-3
4
-4
-2
0
0
0
0
0
-3
0
-2
5
0
0
0
0
0
-2
-13
8
29
0
0
0
0
0
-1
-1
0
10
0
0
0
0
-2
1
-15
8
22
0
0
0
0
-9
0
-5
13
57
0
0
0
0
0
0
-5
-13
9
0
0
0
0
0
0
1
21
-5
0
0
0
0
0
1
6
-12
-35
0
0
0
0
0
16
0
0
-31
0
0
0
0
0
0
-5
12
42
0
0
0
0
0
0
2
-4
-2
0
0
0
0
0
-1
-3
-8
-13
0
0
0
0
-5
0
5
19
44
0
0
0
0
0
0
-2
2
57
0
0
0
0
0
0
0
-14
7
0
0
0
0
0
0
-1
37
2
0
0
0
0
-7
-2
-7
-1
-1
0
0
0
0
0
0
1
-22
11
0
0
0
0
1
1
-1
-21
47
0
0
0
0
18
13
91
-58
-22
0
0
0
0
0
0
-2
-46
12
0
0
0
-31
0
0
4
-27
38
0
0
0
0
0
0
-1
27
-7
0
0
0
0
0
0
8
25
-19
0
0
0
0
0
0
0
-16
10
0
0
0
0
0
-2
5
-13
13
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
1
-3
-45
-14
0
0
0
0
0
0
0
5
20
0
0
0
0
0
0
0
-38
65
0
0
0
0
0
0
-1
-23
58
0
0
0
0
0
0
-5
-1
57
0
0
0
0
0
0
1
0
23
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-6
26
0
0
0
0
0
0
1
-13
22
0
0
0
0
0
0
-2
-37
49
0
0
0
21
0
-1
2
-4
-30
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
-8
-4
16
0
0
0
0
0
0
-1
0
46
0
0
0
-3
0
0
0
-14
10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-18
-8
0
0
0
0
0
0
5
-3
35
0
0
0
-1
0
0
0
6
7
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
-6
-5
0
0
0
29
0
0
3
-31
10
0
0
0
0
0
0
-2
-6
-3
0
0
0
-29
0
0
31
23
-5
0
0
0
0
0
3
19
-3
-22
0
0
0
0
0
-2
0
-10
-8
0
0
0
0
0
7
1
-11
6
0
0
0
0
0
0
29
-22
0
0
0
0
0
0
0
0
19
-43
0
0
0
0
0
0
9
-49
-12
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
-1
-5
27
-39
0
0
0
0
0
1
-3
-19
-14
0
0
0
0
0
0
-1
13
54
0
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
2
19
0
0
0
0
0
-1
0
-5
-31
0
0
0
0
0
-1
3
13
-22
0
0
0
0
-3
-6
-1
-9
36
0
0
0
0
0
1
3
-5
13
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
-7
-8
19
0
0
0
0
-2
1
0
-16
28
0
0
0
0
0
0
-8
-7
63
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
-2
-3
-16
0
0
0
0
0
0
1
1
49
0
0
0
0
0
1
-2
-8
24
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
-4
-5
-3
27
0
0
0
0
0
0
1
13
8
0
0
0
0
0
27
-34
26
-18
0
0
0
0
0
-2
-50
45
32
0
0
0
0
0
3
1
-15
13
0
0
0
0
0
4
-17
-9
11
0
0
16
0
0
0
20
56
19
0
0
0
0
0
0
-4
-40
11
0
0
0
0
0
-7
-23
20
5
0
0
0
0
0
0
1
8
-5
0
0
0
0
0
0
16
-17
-16
0
0
0
0
0
2
18
9
-4
0
0
0
0
0
1
23
6
-1
0
0
0
0
0
-2
1
-59
31
0
0
2
0
0
-2
8
45
7
0
0
0
0
0
0
-3
29
2
0
0
0
0
0
0
-8
-3
13
0
0
0
0
0
-2
-1
-17
18
0
0
0
0
0
0
-4
-4
19
0
0
0
0
0
3
-2
-42
0
0
0
0
0
0
0
5
-62
49
0
0
0
0
0
0
1
-15
-2
0
0
8
0
0
4
17
-88
-5
0
0
0
0
0
1
3
-8
-3
0
0
0
0
0
0
8
-34
27
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-12
-34
5
0
0
0
0
0
-8
-8
42
-24
0
0
0
-3
0
0
-2
17
5
0
0
0
0
0
0
0
-20
16
0
0
2
0
0
1
0
-10
2
0
0
0
0
0
0
-3
2
-22
0
0
0
0
0
0
-8
19
61
0
0
0
0
0
0
2
-42
5
0
0
-32
1
0
-13
-1
-14
6
0
0
0
0
3
1
-1
-5
60
0
0
0
0
0
6
0
5
31
0
0
0
0
0
0
0
-12
20
0
0
0
0
0
0
-5
-10
-10
0
0
0
0
0
0
-2
1
-5
0
0
0
0
0
0
0
19
-57
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
-1
5
-25
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
8
40
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
1
-15
29
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
-1
0
41
0
0
0
0
0
0
0
2
-27
0
0
0
0
0
0
-3
6
-55
0
0
0
0
0
1
1
1
-84
0
0
0
0
0
0
-2
-41
74
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
4
-4
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
0
-2
-43
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
-8
2
0
0
0
0
0
1
-1
-2
12
13
0
0
0
0
0
0
0
-10
7
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-2
-2
-33
0
0
0
0
0
0
0
3
5
0
0
0
0
0
-1
0
-2
-10
0
0
0
0
0
-16
-49
-25
50
0
0
0
0
0
0
1
-13
67
0
0
0
-4
0
0
-1
-50
49
0
0
0
0
0
0
0
-1
54
0
0
0
0
0
0
0
-72
69
0
0
0
0
0
0
4
0
17
0
0
0
0
0
0
0
13
-43
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
-5
9
0
0
0
0
0
4
0
-5
75
0
0
0
0
0
0
1
-7
44
0
0
0
0
0
0
-1
0
-14
0
0
0
0
0
0
0
-6
30
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
-2
6
26
0
0
0
-1
0
0
2
4
54
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
4
-1
20
0
0
0
0
0
0
-3
6
6
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-1
-3
0
2
0
0
0
3
0
0
0
-2
4
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
-12
-4
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
1
0
-2
0
0
0
0
-1
-1
-44
24
42
0
0
0
0
15
-1
-8
-31
23
0
0
0
0
0
-2
3
-58
21
0
0
0
0
0
-3
-1
-3
-4
0
0
0
0
0
0
0
-27
27
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-4
25
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
1
-20
31
0
0
0
0
0
-1
-2
-16
20
0
0
0
0
0
0
0
0
1
0
0
0
0
0
5
2
4
-29
0
0
0
0
0
0
-1
-7
31
0
0
0
0
0
0
0
3
24
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-2
7
0
0
0
0
-1
-1
1
-2
17
0
0
0
0
-5
1
0
1
32
0
0
0
0
0
0
3
-15
-13
0
0
0
0
0
0
-1
5
7
0
0
0
0
0
0
-13
-6
24
0
0
0
0
0
0
3
0
-23
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-1
0
1
-1
0
0
0
0
13
2
1
0
-18
0
0
0
0
0
0
0
-5
31
0
0
0
0
0
0
-1
-1
-4
0
0
0
0
0
0
-1
1
-8
0
0
0
0
3
-5
3
-4
32
0
0
0
0
-2
0
0
-1
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
13
8
-15
-11
-12
0
0
0
0
-33
40
-5
-68
17
0
0
0
20
0
7
5
8
1
0
0
0
0
0
-4
1
0
32
0
0
4
0
0
12
-38
0
-22
0
0
0
0
0
8
22
-2
-1
0
0
0
0
0
22
-19
-5
29
0
0
0
0
0
3
2
4
13
0
0
0
0
0
-22
-10
-42
67
0
0
0
0
0
-13
-19
45
22
0
0
0
1
0
-4
4
-32
5
0
0
0
0
0
2
-4
10
-41
0
0
1
0
0
-8
-15
-18
20
0
0
0
0
0
-21
-8
7
-5
0
0
0
0
0
-1
6
0
-33
0
0
0
0
0
3
4
4
9
0
0
0
0
-1
7
-4
-24
25
0
0
0
0
2
-13
102
0
-60
0
0
0
5
0
-6
47
-66
-5
0
0
0
0
0
1
-5
-5
-13
0
0
-2
0
0
22
34
-41
-64
0
0
0
0
-3
59
8
13
-6
0
0
0
0
0
-42
-1
-2
31
0
0
0
0
0
-2
-3
-1
8
0
0
0
0
0
-11
9
5
-17
0
0
0
0
-5
-29
44
13
-19
0
0
0
-5
0
-31
8
-4
7
0
0
0
0
0
-31
3
-1
15
0
0
-9
0
0
-6
-2
-2
-8
0
0
0
0
-5
-5
-4
-2
12
0
0
0
-1
0
24
8
-21
-38
0
0
0
0
0
-28
6
-42
45
0
0
7
-5
-8
-3
18
21
-18
0
0
0
0
33
-22
11
-5
41
0
0
0
0
0
1
2
-45
23
0
0
0
0
2
1
5
23
38
0
0
0
0
0
1
-20
13
27
0
0
0
0
0
24
-7
-25
15
0
0
0
0
0
0
-2
7
-25
0
0
0
0
0
1
5
5
2
0
0
0
0
0
1
33
-14
18
0
0
0
0
-40
5
0
6
-4
0
0
0
0
0
0
1
-9
40
0
0
0
0
0
2
1
36
1
0
0
0
0
0
7
23
-3
-45
0
0
0
0
0
-4
-1
-2
43
0
0
0
0
0
0
0
-9
7
0
0
0
0
2
2
0
20
1
0
0
0
0
-2
15
51
39
-8
0
0
0
0
16
44
-3
15
5
-5
0
0
0
0
0
4
-41
-22
-15
0
0
0
0
1
6
-31
6
-13
0
0
0
0
0
-1
-64
3
4
0
0
0
0
1
-2
-2
29
6
0
0
0
0
0
-4
5
5
-1
0
0
0
-4
-1
0
0
6
8
0
0
0
0
1
-5
-5
12
17
0
0
0
-10
5
-7
25
27
2
0
0
0
0
0
0
-4
34
-4
0
0
0
0
-1
0
-13
81
-17
0
0
0
0
5
-20
-60
44
6
0
0
0
-10
0
-10
7
2
15
0
0
0
0
0
8
31
-26
13
0
0
0
-2
0
0
-91
21
25
0
0
0
0
-43
68
28
43
-26
0
0
0
0
2
-17
-2
10
0
0
0
18
0
0
-6
-12
-6
0
0
0
0
0
0
-1
-28
3
0
0
0
0
0
1
8
-57
42
0
0
0
0
0
2
0
43
-55
0
0
0
3
0
0
1
5
-41
0
0
0
0
0
0
1
-42
8
0
0
0
0
0
-2
3
-26
-17
0
0
0
0
0
0
-1
27
-13
0
0
0
5
0
0
0
-5
50
0
0
0
0
0
0
0
46
-20
0
0
0
0
0
0
-6
-27
25
0
0
0
0
0
0
7
8
-13
0
0
0
0
0
-1
-3
16
27
0
0
0
0
0
0
0
2
21
0
0
0
0
0
-1
-5
7
8
0
0
0
0
0
0
0
4
-5
-15
0
0
20
0
0
0
-69
66
0
0
0
0
0
0
0
-43
20
-6
0
0
0
0
0
2
-29
-10
6
0
0
0
0
0
2
-42
-13
6
0
0
3
0
0
1
-4
-65
45
0
0
0
0
0
0
-17
14
9
0
0
0
0
-1
2
-5
25
4
0
0
0
0
2
5
10
16
10
0
0
-32
0
0
3
7
-50
12
0
0
0
0
0
0
6
51
-40
0
0
0
0
0
0
-5
29
-40
0
0
0
0
0
-3
64
7
-30
0
0
-17
0
0
0
71
-7
8
0
0
0
0
0
0
10
41
-12
0
0
70
0
5
-52
-70
-12
13
0
0
0
3
0
-7
12
14
0
0
0
0
0
0
0
1
41
0
0
0
0
0
-3
0
-23
5
0
0
0
0
0
-1
0
-46
16
0
0
0
0
0
-1
-5
13
19
0
0
0
0
0
0
-2
2
51
0
0
0
0
0
0
1
13
-3
0
0
0
0
0
0
-6
-21
5
0
0
0
0
-1
-1
2
25
-1
0
0
0
0
0
0
-2
-12
-30
0
0
0
0
0
-1
0
-5
19
0
0
0
0
0
0
-3
-25
-4
0
0
0
0
0
0
0
-5
20
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
-1
-57
-8
0
0
0
0
-6
-2
1
1
55
2
0
0
0
0
0
1
-4
-37
12
0
0
0
0
0
-4
5
-25
10
0
0
0
0
0
-10
-39
7
-19
0
0
0
1
4
0
1
-12
-40
0
0
0
0
0
-1
-5
-23
-27
0
0
0
0
0
0
3
-3
-9
0
0
0
0
0
0
4
1
17
0
0
0
1
-4
0
-38
-17
24
0
0
0
0
0
-1
-4
45
-34
0
0
0
0
0
-2
-13
-20
-1
0
0
0
0
0
0
-40
15
28
0
0
0
-2
0
0
-8
34
-24
0
0
0
0
0
0
9
18
-49
0
0
0
0
0
0
25
24
-44
0
0
0
0
2
19
-69
41
12
0
0
0
0
7
0
-39
49
0
0
0
0
0
0
17
-58
-7
0
0
0
0
0
-6
-21
-33
8
0
0
-14
0
0
0
32
-31
12
0
0
0
0
0
0
-15
15
25
0
0
0
0
0
0
-5
5
-5
0
0
0
0
0
0
-3
-2
1
0
0
0
0
0
0
49
23
8
0
0
0
0
0
0
32
-28
-31
0
0
0
0
0
0
-4
-34
13
0
0
0
0
0
0
4
-36
9
0
0
1
0
0
0
-12
-19
-5
0
0
0
0
0
0
-3
-9
2
0
0
0
0
0
0
-13
31
-22
0
0
0
0
0
0
8
-8
-13
0
0
0
0
0
2
13
-31
6
0
0
0
0
0
0
15
13
66
-17
0
0
0
0
0
-1
30
49
-5
0
0
0
0
0
0
18
12
-39
0
-15
0
0
0
-5
31
12
-3
0
0
0
0
0
-33
-3
-12
6
0
0
0
0
0
3
-8
5
-32
0
0
0
0
0
2
7
2
-32
0
-3
0
0
0
-2
-15
0
66
0
0
0
0
0
20
-3
-36
6
0
0
0
0
1
0
-51
-40
40
0
0
0
0
0
5
5
8
-27
0
11
0
0
0
1
32
-6
-31
0
0
0
0
0
-1
-5
8
-71
0
0
0
0
0
0
-24
-1
-48
0
0
0
0
-4
-8
-110
30
73
0
35
8
0
-28
13
-80
46
-27
0
0
0
21
-28
-57
-54
69
0
0
0
0
0
0
0
-19
14
0
0
0
0
0
-1
15
-8
45
0
0
0
0
0
-2
21
-68
31
0
0
0
0
0
0
12
-7
-9
0
0
0
0
0
0
1
-5
-23
0
0
0
0
0
0
1
3
6
0
0
0
0
0
0
8
-5
13
0
0
0
0
0
0
2
-13
50
0
0
0
0
0
0
-1
8
20
0
0
0
0
0
0
-5
-28
19
0
0
0
0
0
0
-28
-5
16
0
0
0
0
0
0
1
-6
5
0
0
0
0
0
0
1
-3
-16
0
0
0
0
-1
0
-3
0
-17
0
0
0
0
0
0
-9
-42
72
0
0
0
0
1
0
4
31
-24
17
0
0
0
0
0
0
-27
-22
-3
0
0
0
0
0
0
-42
-10
-12
0
0
0
0
0
-1
-2
-1
-19
0
0
0
0
0
6
7
10
-91
0
0
0
0
0
0
2
5
-14
0
0
0
0
0
0
-2
8
-7
0
0
0
0
3
1
5
-1
-62
0
0
0
-5
-1
5
30
37
-46
0
0
0
0
0
0
-53
41
29
0
0
0
0
0
0
-7
-3
2
0
0
0
0
0
-1
66
-15
-51
0
0
0
0
0
-1
8
-21
-31
0
0
0
0
0
0
1
7
5
0
0
0
0
0
0
1
-5
-13
0
0
0
-6
10
-11
-20
46
-10
0
0
0
0
0
-10
17
8
0
0
0
-27
0
0
5
43
-52
0
0
0
0
0
0
-1
-14
44
0
0
0
0
0
4
30
-23
-27
0
0
0
0
0
0
1
-14
42
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
5
-5
23
0
0
0
0
0
0
-13
-8
3
0
0
0
0
0
0
0
-16
44
0
0
0
0
0
0
2
32
-16
0
0
0
0
0
0
0
-4
42
0
0
0
0
0
0
3
44
-3
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
-1
-2
-13
0
0
0
0
0
1
-1
-18
-34
0
0
0
0
0
0
-1
-48
49
5
0
0
0
0
0
-4
-4
55
5
0
0
0
0
0
1
3
-5
-22
0
0
0
0
0
8
-5
-13
-1
0
0
0
0
0
0
-8
13
-52
0
0
1
0
0
2
1
1
0
0
0
0
0
0
0
-5
-6
6
0
0
0
0
0
-2
3
0
34
0
0
0
0
0
3
7
-5
37
0
0
4
0
0
0
-51
13
54
0
0
0
0
0
1
-68
-18
22
0
0
0
0
0
-1
0
3
-60
0
0
0
0
0
0
12
30
3
0
0
-2
0
0
0
-5
7
-2
0
0
0
0
1
1
-21
-8
1
0
0
0
-2
3
-7
-1
12
-60
0
0
0
-34
-1
0
-14
69
0
0
0
0
0
0
-1
-26
57
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
-13
-35
69
0
0
0
0
0
0
1
-5
19
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
1
0
0
4
-11
0
0
0
0
0
0
0
23
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
-66
-16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
7
-8
0
0
0
0
0
0
0
12
12
6
0
0
0
0
0
0
-13
17
47
0
0
0
0
0
0
5
-4
-29
0
0
0
0
0
-4
8
-3
-47
0
0
0
1
0
0
-1
0
-24
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
2
-50
0
0
0
0
0
0
-1
0
-43
0
0
0
0
0
-2
-39
-8
31
0
0
0
0
0
0
18
-5
-74
0
0
0
0
0
0
-31
-2
6
0
0
0
0
0
0
-3
0
-21
0
0
0
-4
0
0
0
-13
30
0
0
0
0
0
-1
0
2
-32
0
0
0
0
0
0
0
0
-28
0
0
0
0
2
-5
5
-68
4
0
0
0
2
8
-27
-13
26
0
0
0
0
0
1
-21
4
-23
0
0
0
0
0
1
37
-11
-9
0
0
-3
0
0
1
-5
31
-9
0
0
0
0
0
4
-49
33
1
0
0
0
0
0
1
8
-10
-9
0
0
0
0
0
-1
-2
-4
-7
0
0
0
0
0
-3
4
-27
54
0
0
0
0
0
25
51
43
-46
0
0
0
1
0
0
-6
4
-1
0
0
0
0
0
0
1
-50
41
0
0
8
0
0
0
-55
8
-49
0
0
0
0
0
0
2
-20
7
0
0
0
0
0
0
-16
-5
0
0
0
0
0
0
2
0
6
5
0
0
0
0
0
-6
-5
-23
19
0
0
0
0
-1
5
16
8
-67
14
0
0
0
0
0
2
9
-45
9
0
0
0
0
-1
-8
-18
6
-13
0
10
0
0
0
8
-56
0
4
0
0
0
1
-1
0
0
-4
-76
0
0
0
0
0
0
-8
3
-78
0
0
0
0
2
-2
0
0
-91
0
0
0
0
0
2
-1
0
-38
0
0
0
0
6
47
4
-3
-19
0
0
0
0
0
-54
1
-17
30
0
0
0
0
0
-6
-42
-3
42
0
-5
0
0
0
49
-9
-10
49
0
0
0
0
-1
7
16
-13
-38
0
0
-1
0
0
-6
-5
31
-74
0
0
0
0
-1
8
-8
8
-69
0
7
4
0
5
-30
-30
48
-54
0
0
0
-25
-8
24
40
52
0
0
0
0
0
2
5
44
-28
0
0
0
0
0
-3
19
23
21
0
0
0
0
1
-1
4
-4
25
0
0
0
0
0
-49
-5
39
44
0
0
0
0
0
3
-48
-12
5
0
0
0
0
3
-2
-6
3
-50
0
0
0
0
0
8
54
-13
-4
0
0
0
0
14
4
-7
-45
50
0
0
0
0
0
0
8
-45
5
0
0
0
0
0
0
4
-20
16
0
0
0
0
0
-5
5
-12
29
0
0
0
0
0
2
1
-1
-18
0
0
0
0
0
0
0
-2
31
0
0
0
0
0
2
1
-1
-29
0
0
0
0
1
5
-8
-29
23
0
0
0
0
-9
17
8
18
42
12
0
0
0
0
1
-4
22
16
-72
0
0
0
0
-2
-5
14
64
-49
0
0
0
0
0
39
-5
-24
-32
0
0
0
0
5
0
-8
-18
-2
0
0
0
0
0
0
-10
69
-2
0
0
0
-1
0
0
0
-15
8
0
0
0
0
-1
-14
17
-23
-19
0
0
0
-3
8
-69
6
58
-29
-1
0
0
0
-1
0
-31
89
-59
2
0
0
0
0
0
-18
3
10
-9
0
0
0
1
-6
7
-18
-23
-5
0
0
1
-2
-1
-24
-21
-35
23
0
0
0
-2
0
-22
-86
26
4
0
0
-4
0
1
-8
30
41
-7
0
0
18
3
-45
-93
-15
-36
22
0
0
0
-1
12
-22
10
0
0
0
-53
0
0
4
14
37
0
0
0
0
0
0
2
-42
50
0
0
0
0
0
0
2
37
23
0
0
0
0
0
0
0
-3
8
0
0
0
-1
0
0
5
-17
13
0
0
0
0
0
0
-1
8
-1
0
0
0
0
0
0
-2
13
-25
0
0
0
0
0
0
-3
-73
61
0
0
0
1
0
0
-4
-14
-30
0
0
0
0
0
0
0
6
37
0
0
0
0
0
0
0
-7
33
0
0
0
0
0
0
0
-1
10
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
23
-99
0
0
0
0
0
0
0
19
23
-37
0
0
-50
0
0
-1
-30
41
25
0
0
0
0
0
3
-67
22
14
0
0
0
0
0
-7
3
30
-78
0
0
0
0
0
0
0
34
-36
0
0
0
0
0
0
-25
-31
14
0
0
0
0
0
0
2
-3
-1
0
0
0
0
0
-2
-3
-20
36
0
0
0
0
0
-1
-32
-16
-10
42
0
90
0
0
-6
-33
30
-15
-8
0
0
0
0
0
-25
-28
36
-3
0
0
0
0
0
-13
6
-31
7
0
0
0
0
0
20
-22
-86
9
0
9
0
0
0
-19
50
-33
-31
0
0
0
0
0
19
20
-53
-29
0
-10
0
-3
1
-45
35
6
-14
0
0
0
-6
1
-41
43
0
0
0
0
0
0
-1
-43
64
0
0
0
0
0
5
-1
-26
-1
0
0
0
0
0
0
-4
-95
17
0
0
0
0
0
-1
-2
5
-16
0
0
0
0
0
0
7
-24
-23
0
0
0
0
0
2
0
0
14
0
0
0
0
0
0
-63
39
9
0
0
0
0
2
0
3
-5
13
0
0
0
0
0
0
0
20
35
0
0
0
0
0
0
0
29
-13
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
-2
23
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
4
-43
-8
0
0
0
0
-1
0
14
-7
26
40
0
0
0
0
0
0
17
40
-13
0
0
0
0
0
2
-5
71
-32
0
0
0
0
0
-5
27
-52
16
0
0
0
2
-1
0
17
-74
16
0
0
0
0
0
-1
-7
-5
-23
0
0
0
0
0
0
0
2
-51
0
0
0
0
-3
3
10
0
-74
0
0
0
-3
0
2
-41
-5
-22
8
0
0
0
0
-1
-23
-55
16
-4
0
0
0
0
0
-5
16
-24
-26
0
0
0
0
0
-18
-2
-84
-12
0
0
0
1
0
1
-7
-25
-31
0
0
0
0
0
-9
-19
16
8
0
0
0
0
0
4
-2
-102
67
0
0
1
-8
17
41
3
-42
27
0
0
0
0
-3
19
42
0
0
0
0
0
0
7
6
-3
0
0
0
0
0
-7
-3
-31
22
0
0
41
0
0
0
93
-73
8
0
0
0
0
0
0
-33
18
32
0
0
0
0
0
0
-19
-56
48
0
0
0
0
0
4
4
-37
12
0
0
4
0
0
-1
-22
14
2
0
0
0
0
0
2
15
-13
-41
0
0
0
4
0
-1
-2
-36
2
0
0
0
0
0
0
0
11
-31
0
0
-58
0
0
0
14
-31
13
0
0
0
0
0
0
0
-9
-5
0
0
0
0
0
0
2
-6
10
0
0
0
0
0
0
-3
0
3
0
0
-1
0
0
0
13
-41
27
0
0
0
0
1
-2
31
29
-23
25
0
0
1
0
0
-8
-10
40
20
0
0
0
0
-2
-14
-2
49
14
0
26
0
0
0
13
-22
-12
42
0
0
0
0
0
13
-9
29
-42
0
0
0
0
0
-1
-9
-9
-26
0
0
0
0
0
0
-1
-6
4
0
-7
0
0
0
0
-21
16
2
0
0
0
0
-2
-5
-13
7
43
4
0
-2
0
0
-6
31
-22
0
27
0
0
0
0
1
24
-6
-75
7
-16
0
0
-1
3
-2
-5
45
-15
0
0
0
0
0
-57
15
-35
-2
0
0
0
1
-2
10
-7
-27
14
0
0
0
-2
0
-6
-6
-30
7
-2
-2
2
42
-34
-64
-9
9
-2
0
0
14
-26
8
12
3
0
0
0
0
0
0
8
4
-32
0
0
0
0
0
1
-8
-61
44
0
0
0
0
0
0
-20
-9
25
0
0
0
0
-2
16
-5
2
-5
0
0
0
0
0
0
-3
-22
52
0
0
0
0
0
0
4
-2
-25
0
0
0
0
0
0
-7
30
-18
0
0
0
0
0
-1
2
-29
3
0
0
0
0
0
0
5
12
-42
0
0
0
0
0
-1
-2
-7
31
0
0
0
0
0
0
-10
26
-43
0
0
0
0
-1
-2
0
-8
39
0
0
0
0
0
0
-3
-2
70
0
0
0
0
0
-3
3
-12
-3
0
0
0
0
0
0
8
8
-14
0
0
0
0
1
-9
-40
5
67
3
0
0
0
0
-1
0
20
-46
-3
0
0
0
0
0
1
-10
13
-7
0
0
0
0
0
2
-3
4
-21
0
0
0
-1
0
1
-2
5
31
0
0
0
0
0
-2
-14
-52
37
0
0
0
0
0
0
1
3
-21
0
0
0
0
-2
13
6
1
-43
0
0
0
-2
-4
1
-12
9
-40
25
0
0
0
0
-2
17
-10
36
-16
0
0
0
0
0
1
0
-124
12
0
0
0
0
3
-22
-8
-31
-3
0
0
-1
0
6
0
-8
-65
-26
0
0
0
0
1
-10
-1
-43
18
0
0
2
-1
-2
-1
-8
-105
54
0
0
11
-26
56
-13
-46
22
-6
0
0
-1
0
-8
2
-4
0
0
0
2
0
1
-1
-43
5
0
0
0
0
0
1
-8
-21
-11
0
0
0
0
0
-6
-28
63
-3
0
0
0
0
0
0
1
-13
45
0
0
0
-1
0
0
-7
-42
68
0
0
0
0
0
0
1
20
-44
0
0
0
0
0
3
-6
-8
-34
0
0
0
0
0
2
0
-22
85
0
0
0
-16
0
0
2
-49
40
0
0
0
0
0
0
-1
17
-46
0
0
0
1
0
0
2
-34
5
0
0
0
0
0
0
0
-2
-11
0
0
0
-2
0
0
0
8
-54
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
-5
-3
-4
0
0
0
0
0
0
-4
-27
36
38
0
0
-7
0
0
-2
-23
48
2
0
0
0
0
0
1
-13
18
9
0
0
0
0
0
1
-5
14
-27
0
0
0
0
0
1
-18
-25
52
0
0
24
0
0
-1
-8
-6
-27
0
0
0
0
0
-2
6
6
-26
0
0
0
0
0
0
0
1
30
0
0
0
0
-2
3
-4
-3
-71
10
0
-55
0
0
0
16
-50
-49
84
0
0
0
0
0
4
-2
-19
-12
0
2
0
0
0
-30
-5
-33
-52
0
0
0
0
0
-13
25
60
-36
0
25
0
0
0
1
8
-61
5
0
0
0
0
-2
2
-1
-32
-19
0
-9
-2
-12
9
-19
10
-51
42
0
0
9
-33
24
21
17
0
0
0
0
0
3
0
25
12
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
-4
-60
10
35
0
0
0
0
0
0
-4
-8
54
0
0
0
0
0
-8
-1
9
24
0
0
0
0
0
0
0
5
-18
0
0
0
0
0
-25
-25
6
3
0
0
0
0
1
0
0
7
-11
0
0
0
0
0
0
0
-40
4
0
0
0
0
0
-1
-8
-9
13
0
0
0
0
0
0
2
-57
64
0
0
0
0
-2
0
0
0
14
0
0
0
0
0
1
0
-3
41
0
0
0
0
1
0
-1
0
-4
0
0
0
0
0
4
8
31
-31
0
0
0
0
-7
0
-1
13
6
-2
0
0
0
0
0
0
3
38
-34
0
0
0
-1
0
-2
-20
-15
1
0
0
0
0
0
-4
-14
-13
36
0
0
0
0
1
1
-14
8
55
0
0
0
0
0
1
0
2
-20
0
0
0
0
0
0
0
-1
-73
0
0
0
0
-5
0
0
0
16
0
0
0
13
1
3
-5
-1
-1
43
0
0
0
0
0
14
71
-13
-57
0
0
2
0
0
-17
2
-85
54
0
0
0
0
0
-10
-16
17
-30
0
0
16
0
-2
-1
-4
-101
127
0
0
0
0
0
-21
-21
-19
33
0
0
-33
1
0
-4
0
1
-22
0
0
-61
9
8
1
55
10
-25
0
0
10
16
10
53
-4
0
0
0
28
-54
2
-9
-18
51
0
0
0
0
33
42
40
17
-9
0
0
-2
60
16
-11
-40
38
-27
0
0
0
0
-1
3
-22
10
23
0
0
0
42
20
-48
-20
-31
-6
0
0
0
0
-3
-30
8
32
-35
0
0
1
33
11
-28
-51
-21
-2
0
0
0
0
51
34
8
-28
23
0
0
0
14
1
-17
47
-12
1
0
0
0
0
13
19
-27
-57
-2
0
0
6
60
-10
120
-5
-52
-16
0
0
0
0
-22
5
-25
-23
-3
0
0
0
-36
-2
-26
9
-18
-47
0
0
0
0
-63
-24
27
-57
0
0
0
12
-9
-6
-33
-4
-58
2
0
0
0
0
3
37
19
12
29
16
0
0
-79
-12
-23
-22
5
17
9
0
0
0
-7
39
4
4
60
-3
0
6
-57
45
-84
-4
-7
71
-10
0
0
0
75
-46
6
-17
70
-7
0
0
-4
0
-22
31
-45
-24
-4
0
0
0
-64
14
-48
5
32
-12
0
-37
-23
-53
4
62
-37
-20
-2
0
0
0
30
-32
42
-26
32
-7
29
0
16
-1
-56
-85
26
5
-1
-7
0
0
-118
-41
-41
4
19
-21
-2
-16
4
14
48
-90
-47
23
-38
-4
0
0
11
41
52
-18
21
-20
10
0
-49
15
-67
51
-8
-16
-14
12
0
0
16
-2
4
7
17
-23
3
-73
-3
40
-40
-7
6
-16
-38
-27
0
0
4
39
-52
7
35
0
0
0
0
17
-40
-5
-2
23
0
0
0
0
-4
-57
80
-55
14
0
0
0
0
0
45
-81
42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
2
118
-86
43
0
0
0
0
0
0
8
15
-5
0
0
0
0
25
-76
52
-22
32
0
0
0
0
0
-1
0
17
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-21
-53
39
-21
0
0
0
0
0
4
-5
9
5
0
0
0
0
0
-19
-2
-37
43
0
0
0
0
0
33
0
-74
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
17
-31
37
23
0
0
0
0
0
1
-49
23
92
0
0
0
0
0
2
-8
-16
49
0
0
0
0
0
-4
3
-17
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
60
12
11
0
0
0
-8
-63
-12
63
-45
23
0
0
0
0
52
19
-49
26
-44
0
0
0
43
2
-51
15
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-12
0
0
0
19
0
0
12
-18
-3
0
0
0
0
0
0
2
-23
3
0
0
0
-7
0
2
7
-54
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-60
12
0
0
0
-4
-5
-28
27
40
31
0
0
0
0
0
-1
9
-24
100
0
0
0
0
0
-7
-6
20
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-28
23
0
0
0
5
0
-41
-28
-9
43
0
0
0
0
0
0
-6
5
11
0
0
0
-1
0
-1
13
28
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
-10
-9
-6
0
0
0
0
-3
-18
14
-33
65
0
0
0
0
11
-6
-2
-13
42
0
0
0
0
-6
9
-40
33
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
57
-27
0
0
0
0
0
0
-3
-32
28
0
0
0
0
0
2
-5
5
24
0
0
0
0
0
1
-35
4
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
-19
45
0
0
0
0
0
1
-6
2
-19
0
0
0
0
0
24
-41
-8
69
0
0
0
0
1
-4
41
-29
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
8
-42
0
0
0
0
0
0
0
-21
31
0
0
0
0
0
0
-5
-13
5
0
0
0
0
1
0
-2
-80
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
39
-23
-3
0
0
0
2
0
-33
25
4
-28
0
0
0
0
0
-39
46
-39
7
0
0
-46
-28
-4
14
45
49
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
10
-27
0
0
0
0
0
0
-14
-105
89
0
0
0
0
0
5
2
46
-31
0
0
34
0
0
0
31
-97
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
19
-3
0
0
0
0
0
1
-12
46
32
0
0
0
0
-2
-4
64
-41
-26
0
0
-13
0
0
5
39
15
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
1
0
0
0
0
0
5
3
-49
-21
0
0
0
0
0
0
-4
-35
-18
0
0
81
0
0
3
-5
-58
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-39
13
5
8
0
0
0
0
0
47
41
34
-33
0
0
0
0
0
14
14
25
-17
0
0
0
0
0
-6
35
21
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
-23
59
34
0
0
0
0
0
0
-24
15
-2
0
0
0
0
0
10
48
-41
-26
0
0
0
0
0
2
2
-35
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-70
33
22
87
0
0
0
0
0
0
-4
3
-39
0
0
0
0
0
-2
7
-9
-23
0
0
0
0
0
0
4
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
85
-10
-41
-6
0
0
0
0
0
0
4
-96
9
0
0
0
0
-1
-3
-3
-6
36
0
0
0
0
0
0
-1
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
9
-44
58
0
0
0
21
0
-7
-95
-5
43
0
0
0
0
-3
8
59
-45
10
0
0
0
0
0
5
21
42
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
-29
12
0
0
0
-38
2
-1
-25
-2
3
0
0
0
0
0
-5
-8
-8
8
0
0
0
-2
0
1
-16
15
-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
1
0
10
-28
-9
0
0
0
1
0
0
52
-26
4
0
0
0
0
0
-1
-6
-6
-41
0
0
0
0
0
-1
3
-49
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-22
74
0
0
0
-1
0
-3
-32
77
-30
0
0
0
0
0
0
-2
3
13
0
0
0
0
0
-1
3
-23
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-29
94
61
-32
0
0
0
0
0
-3
-10
76
-58
0
0
0
0
0
21
-13
-38
7
0
0
0
0
-2
-7
66
-71
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
0
0
0
0
0
0
-1
-24
37
0
0
0
0
-4
0
0
-8
26
0
0
0
0
0
-1
-5
-26
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
19
-25
4
0
0
0
0
0
0
7
5
-7
0
0
0
0
0
0
2
-31
-8
0
0
0
0
0
2
5
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
59
15
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
-2
0
51
8
0
0
0
0
0
0
-6
-4
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
12
-24
-6
0
0
0
0
0
-13
16
4
24
0
0
0
0
3
5
-65
48
-14
0
0
-5
0
-5
-49
64
-45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-19
-20
-41
0
0
0
0
0
2
-7
27
-23
0
0
0
0
0
-1
-50
3
26
0
0
-9
0
0
39
13
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-6
-41
2
0
0
0
2
0
0
11
-76
72
0
0
0
0
-1
-8
-8
-33
5
0
0
0
0
0
-81
4
28
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-32
-11
-30
0
0
0
0
0
-1
52
-22
33
0
0
0
0
0
-2
-29
13
39
0
0
0
0
0
-2
28
5
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-23
14
-66
83
0
0
0
0
0
6
60
8
-25
0
0
0
0
-2
33
5
22
15
0
0
0
0
0
-3
51
-86
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-15
45
4
45
0
0
0
0
0
0
-4
38
-9
0
0
0
0
0
-13
-1
21
-8
0
0
0
0
0
0
-7
6
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-28
-23
-31
41
0
0
0
0
0
-2
62
-15
22
0
0
0
0
0
-18
59
-14
22
0
0
0
0
-1
5
-30
-53
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
62
89
-16
-47
0
0
0
0
0
-2
16
57
26
0
0
0
0
-4
-35
6
75
2
0
0
0
0
0
-10
-9
-3
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-60
32
0
0
0
42
-1
53
-75
23
19
0
0
0
0
0
13
-4
-31
-50
0
0
0
0
0
-6
-57
28
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-30
17
0
0
0
5
0
0
2
14
-28
0
0
0
0
0
0
0
-42
15
0
0
0
0
0
0
-21
-31
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
7
12
0
0
0
28
-2
17
12
-55
-11
0
0
0
0
0
0
-8
43
-14
0
0
0
0
0
-2
-5
-17
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-33
-9
0
0
0
23
0
0
41
-33
-11
0
0
0
0
0
-2
-2
-1
12
0
0
0
0
0
1
16
-106
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-24
23
-59
49
0
0
0
0
0
1
-12
-50
32
0
0
0
0
0
-6
-7
-7
29
0
0
0
0
1
-24
-49
41
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
-2
-56
94
0
0
0
0
0
0
-1
-83
70
0
0
0
0
0
3
-5
33
-4
0
0
0
0
0
0
-5
-14
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-49
11
13
0
0
0
0
0
18
-42
-19
36
0
0
0
0
-5
-12
-5
84
-37
0
0
0
0
1
-10
26
-25
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-11
7
0
0
0
0
0
0
-2
-64
33
0
0
0
0
-2
5
3
-23
-31
0
0
0
0
0
0
7
1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-36
46
0
0
0
-8
0
-5
33
-5
6
0
0
0
0
0
-8
-14
-6
13
0
0
75
0
0
-13
61
15
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
50
-17
0
0
0
0
0
1
-7
17
2
0
0
0
0
0
0
12
-60
-16
0
0
45
0
0
9
-22
-88
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
27
-45
48
0
0
0
0
0
4
7
-2
-5
0
0
0
0
0
-1
17
32
-47
0
0
-68
-14
0
47
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-31
22
0
0
0
0
0
0
-4
-70
69
0
0
0
0
0
-1
10
-28
-20
0
0
-13
0
0
0
15
-31
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
3
7
-18
56
0
0
0
0
0
-3
8
-20
-30
0
0
0
0
0
7
-7
-97
39
0
0
0
0
0
0
-2
-43
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
25
-29
-26
0
0
0
0
0
0
4
1
-31
0
0
0
0
-1
16
8
5
-57
0
0
0
0
0
0
-1
-3
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
76
-8
21
0
0
0
0
0
-2
8
8
-5
0
0
0
0
0
-2
-7
-47
47
0
0
0
0
0
0
20
-42
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
13
63
-45
14
0
0
0
0
0
0
-13
18
-5
0
0
0
0
-5
3
-13
-11
86
0
0
0
0
0
0
5
-2
-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
16
-117
48
0
0
0
13
0
0
-46
-14
34
0
0
0
0
0
0
0
-47
-24
0
0
0
0
0
0
-36
29
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
11
0
0
0
0
0
0
8
7
4
0
0
0
0
0
0
0
-56
32
0
0
0
1
0
-3
-7
-4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
15
0
0
0
0
0
-1
-27
-1
60
0
0
0
0
0
0
2
-23
-13
0
0
0
0
0
0
-18
-44
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-27
53
0
0
0
2
0
0
-2
-13
-29
0
0
0
0
0
0
-1
-35
-15
0
0
0
0
0
0
16
-44
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
7
25
-5
40
0
0
0
0
0
-3
18
-7
-18
0
0
0
0
0
-6
-5
-47
27
0
0
0
0
0
7
-41
80
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
1
0
0
0
0
0
-1
0
-27
38
0
0
0
0
0
-2
-2
-1
22
0
0
0
0
0
0
6
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
-25
-4
-7
0
0
0
0
0
0
17
-47
-50
0
0
0
0
0
0
0
-6
35
0
0
0
0
0
0
-7
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
7
-7
-74
45
0
0
0
0
0
1
1
-42
17
0
0
0
0
0
-1
-1
-21
19
0
0
0
0
0
13
-28
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
28
25
-60
22
0
0
0
2
0
-27
-8
-8
12
0
0
0
0
-3
-15
36
-5
-30
0
0
-28
1
0
28
34
10
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-3
-52
40
0
0
0
0
0
-1
-4
-14
53
0
0
0
0
0
-18
-40
-45
33
0
0
8
0
0
-8
35
-48
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
5
-23
-19
0
0
0
0
0
5
-18
-38
22
0
0
0
0
-1
3
-8
-26
48
0
0
-12
0
0
-48
-40
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
39
-50
49
-26
0
0
0
-24
0
7
28
-9
20
0
0
0
0
-1
-16
-29
0
29
0
0
39
0
0
-53
-57
91
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-44
59
-1
0
0
0
0
0
1
4
-69
30
0
0
0
0
-1
42
0
-13
-22
0
0
0
0
2
17
-18
-35
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
41
28
52
0
0
0
0
0
0
-17
-60
97
0
0
0
0
-2
-5
3
-33
47
0
0
0
0
-3
9
-24
-72
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
34
-3
22
2
19
0
0
0
0
-2
41
92
-21
5
0
0
0
3
-14
30
11
-1
-12
0
0
0
0
-2
-22
-13
81
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
21
70
38
-10
0
0
0
0
-24
3
4
6
47
0
0
0
-1
-2
-24
33
2
-11
0
0
0
0
0
6
-91
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
16
-41
14
0
0
0
26
0
-31
-7
19
8
0
0
0
0
0
-2
10
-72
-12
0
0
0
2
0
2
-56
-32
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-42
64
0
0
0
20
0
-2
2
49
-89
0
0
0
0
0
1
1
5
22
0
0
0
0
0
0
7
5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-55
-17
9
0
0
82
4
-8
-31
-47
55
15
0
0
0
-1
-1
-5
1
-50
-7
0
0
0
0
0
8
17
15
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-26
61
-14
0
0
10
0
4
29
-49
-19
18
0
0
0
0
0
0
-24
-62
7
0
0
1
0
0
-5
81
-22
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-13
-15
84
0
0
0
0
0
0
8
-49
26
0
0
0
0
-9
-5
-13
-82
10
0
0
0
0
8
-4
17
7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-70
-45
73
0
0
0
0
0
-1
0
-9
11
0
0
0
0
2
5
5
-59
-14
0
0
0
0
0
-6
-9
26
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-20
64
41
7
0
0
0
0
-1
1
64
-17
-16
0
0
0
-1
1
12
6
14
-8
0
0
0
0
0
9
4
25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
-45
36
2
0
0
0
0
-1
-2
-122
-13
54
0
0
0
-2
2
-8
-57
94
-19
0
0
0
-3
-1
23
-33
23
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-36
40
0
0
0
0
0
-6
43
-50
12
0
0
0
0
1
-8
-36
-16
43
0
0
7
0
0
13
50
-91
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-22
-91
69
0
0
0
0
0
-1
-43
-25
91
0
0
0
0
0
0
14
-41
-20
0
0
-27
0
-1
-17
71
22
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-64
46
-15
-9
0
0
0
0
1
7
-31
13
-21
0
0
0
0
4
-5
-61
25
17
0
100
0
0
31
-22
-43
-59
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-36
13
4
0
0
0
0
-4
17
6
74
-98
0
0
0
-3
5
10
-49
-23
52
0
19
0
0
-4
-35
-26
-48
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
23
6
30
-15
0
0
0
0
0
-3
10
-24
-17
0
0
0
0
0
1
-12
-37
9
0
0
0
0
0
-1
-12
-20
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
64
-46
71
0
0
0
0
0
0
1
4
-7
0
0
0
0
1
0
1
8
31
0
0
0
0
0
0
-4
1
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
48
66
33
39
-4
0
0
0
0
1
-7
4
35
-16
0
0
0
-2
-7
-2
-12
-14
0
0
0
0
0
0
-14
-4
35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-46
58
6
26
15
0
0
0
0
1
0
-23
62
-55
0
0
0
-3
-2
5
11
57
-30
0
0
0
0
-2
10
-6
-49
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-42
18
94
0
0
0
58
0
0
-35
5
-39
0
0
0
0
0
0
16
-21
-31
0
0
0
0
0
0
13
-61
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
19
-59
0
0
0
-24
0
2
10
-45
-8
0
0
0
0
0
0
2
-16
-16
0
0
0
1
0
0
16
-1
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-3
2
-9
0
0
-14
0
-3
5
-14
33
-12
0
0
0
0
0
3
6
-50
-2
0
0
0
0
0
-10
5
37
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
25
-10
-63
0
0
29
0
1
-16
-2
7
40
0
0
0
0
0
1
6
8
-85
0
0
-3
0
0
-33
5
5
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-13
22
1
0
0
0
0
0
-2
-6
-19
18
0
0
0
0
0
1
-2
-54
-4
0
0
0
0
0
-1
-43
-24
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
5
23
-31
0
0
0
0
0
0
1
7
1
0
0
0
0
0
5
0
33
-8
0
0
0
0
0
0
-1
-8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
2
-39
9
-21
0
0
0
0
0
0
2
20
-62
0
0
0
0
0
0
-7
14
8
0
0
0
0
0
2
-3
-3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
20
-33
-7
-26
0
0
0
0
0
-2
26
1
-33
0
0
0
0
-3
0
13
-39
1
0
0
0
0
0
2
-9
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
25
-38
34
0
0
0
0
0
2
13
-47
51
0
0
0
0
-1
2
10
-24
11
0
0
9
0
0
9
-6
31
-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
1
-19
22
-7
51
0
0
0
-1
0
-1
-17
-5
74
0
0
0
0
3
-1
-46
-13
-15
0
0
18
0
0
-8
58
-26
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-24
-57
65
-49
0
0
0
0
1
14
-22
-58
-39
0
0
0
1
-7
-6
-24
33
-9
0
3
0
0
2
-4
3
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-22
-25
-3
0
0
0
0
1
12
16
-61
34
0
0
0
0
4
0
-75
12
-12
0
-98
0
0
6
-5
48
57
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
84
4
4
-3
0
0
0
0
0
3
14
-25
35
0
0
0
0
-1
5
-27
-26
-33
0
0
0
0
0
0
-10
-31
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-10
48
16
6
0
0
0
0
0
5
51
-38
-15
0
0
0
0
-1
12
42
-29
39
0
0
0
0
0
-8
-15
-7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-42
-22
13
52
-16
0
0
0
0
0
-2
-48
25
23
0
0
0
0
17
6
-25
-39
27
0
0
0
0
2
6
6
51
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-38
32
66
47
-7
24
0
0
0
9
-22
-32
4
11
26
0
0
2
-43
8
-46
-34
-34
-5
0
0
0
-17
8
-22
28
-25
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
42
5
0
0
0
-1
0
-31
16
2
-14
0
0
0
0
0
-8
0
-21
-1
0
0
0
0
0
0
-6
-11
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-34
10
0
0
0
60
0
-1
-22
-72
-35
0
0
0
0
0
0
-5
55
-33
0
0
0
1
0
1
1
-50
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
-54
58
1
0
0
88
1
-3
-42
-37
-22
22
0
0
0
0
0
0
-18
13
15
0
0
0
0
2
7
-10
-19
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-51
-10
-15
28
0
-111
0
23
-30
-32
44
-117
15
0
0
0
6
-7
-31
31
-41
-34
0
2
0
0
5
-13
22
-20
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
17
57
-31
0
0
0
0
0
-1
1
-23
20
0
0
0
0
1
1
-2
-14
-15
0
0
0
0
0
-1
-27
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
31
17
-28
0
0
0
0
0
-1
-1
-16
16
0
0
0
0
0
0
0
-27
52
0
0
0
0
0
-3
1
-5
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
1
47
54
-42
0
0
0
0
-2
7
-6
-5
-19
0
0
0
-4
-5
-42
38
-49
15
0
0
0
-6
3
21
-66
-31
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-6
8
-61
-21
3
0
0
0
-2
-12
-44
29
-20
-2
0
0
-3
0
0
6
-9
-63
21
0
0
0
3
1
-23
9
17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-22
-15
0
0
0
0
0
2
-10
-20
57
0
0
0
0
0
3
4
24
-32
0
0
20
0
0
3
-50
3
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
30
35
0
0
0
0
0
1
-23
-43
24
0
0
0
0
0
-2
2
-1
-16
0
0
8
0
0
0
-15
-19
-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
1
32
31
58
-76
0
0
-4
0
0
41
-90
56
37
0
0
0
0
3
22
-7
46
-7
0
20
0
0
-42
-6
-25
38
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
9
-45
-29
8
0
0
0
-3
-25
21
98
-70
-33
0
0
0
-4
31
-20
13
-8
-9
-112
0
0
2
-99
-43
1
-83
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
32
30
7
-64
0
0
0
0
0
2
49
15
-27
0
0
0
0
0
-16
0
-15
0
0
0
0
0
0
0
-31
-27
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
41
14
-42
0
0
0
0
0
0
-2
-41
35
0
0
0
0
-2
-42
-5
-5
43
0
0
0
0
0
0
0
-44
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
76
69
78
49
-13
0
0
0
0
-2
1
26
14
9
0
0
0
0
-29
1
-2
23
27
0
0
0
0
0
0
-76
-1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-1
4
33
-2
-9
17
0
0
0
0
2
-25
4
-53
-21
0
0
-5
-7
-30
1
71
-17
25
0
0
0
-3
-37
-19
41
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-7
19
0
0
0
11
0
5
-17
-62
30
0
0
0
0
-2
-1
-30
-5
6
0
0
0
-45
0
0
-9
-22
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
54
0
0
0
9
0
-4
16
0
-49
0
0
0
0
0
0
-7
19
-35
0
0
0
-31
0
0
-5
16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
-49
-2
11
0
0
-47
0
13
-63
-52
108
-59
0
0
0
1
-4
4
41
55
-78
0
0
2
0
0
-20
-49
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
4
-3
-22
-13
-2
0
-29
0
1
30
4
-12
-23
-5
0
0
-1
0
3
-25
41
-14
-36
0
-3
0
-5
-28
23
0
47
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-59
41
-29
30
0
0
0
0
0
2
-41
-24
48
0
0
0
0
0
-8
8
-27
72
0
0
0
0
1
-15
15
-6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
5
-6
-91
-14
0
0
0
0
0
-3
-7
-5
-4
0
0
0
0
-2
0
-3
27
29
0
0
0
0
0
-12
8
49
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
82
66
-40
-20
-25
0
0
0
-2
-12
8
-28
18
10
0
0
0
0
-76
-22
-35
44
34
0
0
0
-1
65
-1
-6
9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-66
-32
28
-13
-27
12
0
0
-3
0
12
-59
34
-41
-4
0
0
-3
-21
-3
-67
0
-7
26
0
0
0
-6
-27
13
23
-66
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-6
39
-7
-8
0
0
0
-34
-1
-47
-51
11
-2
0
0
0
0
-22
-1
-53
4
27
0
0
40
-13
-22
24
48
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-45
-36
31
9
0
0
0
-28
0
-6
24
63
-32
0
0
0
0
-22
20
28
-26
-13
0
0
-30
-42
0
31
-57
-48
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
8
39
50
-53
-3
0
0
5
-22
-23
-59
-6
23
5
0
0
0
-5
-13
-74
28
-10
-5
0
-67
65
4
-56
-22
-106
56
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-48
8
-13
21
-69
1
0
10
-2
5
-31
-23
-4
14
-28
0
0
-3
-14
-5
-6
39
-59
20
-14
3
0
16
-16
-42
-11
14
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
30
10
52
23
0
0
0
0
0
-10
35
19
15
0
0
0
0
27
22
-10
-33
13
0
0
0
0
2
27
5
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
-14
-20
69
0
0
0
0
0
0
-27
121
-6
0
0
0
0
-1
4
30
-74
14
0
0
0
0
0
-3
11
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-32
-5
-86
62
0
0
0
0
0
-3
-1
5
19
0
0
0
0
4
-6
-7
14
7
0
0
0
0
0
2
-11
-10
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
17
-34
21
24
0
0
0
0
0
0
21
-33
32
0
0
0
0
0
-10
-13
-57
69
0
0
0
0
0
0
8
-39
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
43
3
0
0
0
55
1
-23
-24
-3
19
0
0
0
0
0
0
4
7
9
0
0
0
1
0
21
-24
-35
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-20
3
0
0
0
10
0
-1
0
-48
-11
0
0
0
0
0
0
0
25
38
0
0
0
1
0
0
-23
21
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
44
-9
0
0
0
36
1
0
-6
-5
0
0
0
0
0
0
0
-1
-17
9
0
0
0
0
0
2
-10
32
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
14
-26
0
0
0
-2
0
-2
3
-8
-8
0
0
0
0
0
0
-2
-20
13
0
0
0
0
0
0
-5
30
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
28
-34
3
0
0
0
0
0
-2
45
-128
48
0
0
0
0
5
-14
-6
-30
27
0
0
0
0
0
2
-54
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
7
25
-52
0
0
0
0
0
0
13
-38
-13
0
0
0
0
0
0
-13
5
-31
0
0
0
0
0
0
-6
-10
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
13
-51
13
0
0
0
0
0
0
-1
-33
97
0
0
0
0
3
-5
-29
25
24
0
0
0
0
0
0
-4
-34
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-44
17
3
0
0
0
0
0
0
-51
6
17
0
0
0
0
0
-4
4
5
-31
0
0
0
0
0
0
2
-25
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
17
23
25
0
0
0
0
0
5
-25
11
9
0
0
0
0
0
-3
-30
-8
24
0
0
95
-4
-1
30
-22
3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-53
34
0
0
0
-9
0
0
-10
-6
-30
0
0
0
0
0
0
-13
30
20
0
0
-22
0
0
2
22
50
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
15
13
0
0
0
0
0
0
31
1
-24
0
0
0
0
0
0
17
-48
0
0
0
17
0
0
4
-40
-66
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
27
-31
0
0
0
4
0
-3
-60
-31
33
0
0
0
0
0
0
4
-4
9
0
0
-4
0
0
0
39
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
51
-57
-23
19
0
0
0
0
0
-5
48
-26
-26
0
0
0
0
0
-3
-1
35
31
0
0
0
0
0
1
97
-13
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
25
-11
-32
0
0
0
0
0
-2
-2
55
-72
0
0
0
0
0
3
5
-29
47
0
0
0
0
0
3
4
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-39
46
-68
41
0
0
0
0
0
-24
44
-2
21
0
0
0
0
0
-2
12
-41
14
0
0
0
0
0
0
-24
-15
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
-6
42
-2
0
0
0
0
0
0
1
-9
42
0
0
0
0
0
-2
5
27
-4
0
0
0
0
0
1
6
-7
-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
14
30
-55
15
0
0
0
13
0
1
-45
36
20
0
0
0
0
0
0
-4
-35
21
0
0
0
0
0
0
-2
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-58
53
0
0
0
3
0
2
-4
25
-9
0
0
0
0
0
0
0
8
7
0
0
0
0
0
-2
5
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-23
25
0
0
0
0
0
0
-9
-84
73
0
0
0
0
0
0
-2
20
22
0
0
0
0
0
0
57
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
-32
-12
0
0
0
-12
0
0
6
15
-13
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-8
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
26
-11
0
0
0
0
0
0
-9
-5
-4
0
0
0
0
0
0
2
-58
67
0
0
0
0
0
5
25
-13
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-13
4
57
0
0
0
0
0
1
0
5
47
0
0
0
0
0
0
0
-39
5
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-8
17
17
0
0
0
0
0
-2
-2
14
42
0
0
0
0
0
0
-4
3
-20
0
0
0
0
0
2
0
22
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
1
34
0
0
0
0
0
-1
-5
-3
10
0
0
0
0
-2
0
0
-5
6
0
0
0
0
0
0
7
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
25
-28
17
0
0
0
2
0
-36
10
0
0
0
0
0
0
0
5
13
1
1
0
0
2
0
0
-38
44
52
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
19
27
26
0
0
0
0
0
4
-82
8
8
0
0
0
0
0
-4
4
13
13
0
0
0
0
0
8
9
45
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-17
61
49
0
0
0
-1
0
34
41
-88
29
0
0
0
0
0
52
3
-18
-55
0
0
-4
0
0
31
-2
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
11
5
-53
0
0
0
0
0
-8
13
-61
33
0
0
0
0
0
4
1
-28
5
0
0
0
0
0
-8
-29
-22
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-69
15
-24
24
0
0
0
0
0
-17
28
23
-45
0
0
0
0
-1
23
-4
-77
20
0
0
0
0
0
8
-19
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
31
65
-17
-2
0
0
0
0
0
0
4
8
42
0
0
0
0
0
-3
8
60
6
0
0
0
0
0
-1
-16
54
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
17
8
-8
0
0
0
0
0
2
14
-45
9
0
0
0
0
0
2
0
-33
2
0
0
0
0
0
1
2
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
5
13
45
0
0
0
0
0
0
-3
42
15
0
0
0
0
0
0
2
3
5
0
0
0
0
0
-5
1
-4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
-5
23
0
0
0
-5
0
9
-13
-9
1
0
0
0
0
0
-1
-4
-11
65
0
0
0
5
0
-2
-22
-42
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
48
0
0
0
29
0
-1
3
-15
-15
0
0
0
0
0
0
0
36
-14
0
0
0
0
0
0
7
-59
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
21
0
0
0
-26
0
-2
2
-5
52
0
0
0
0
0
0
-3
-5
-6
0
0
0
0
0
0
-1
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-37
-21
0
0
0
-1
0
1
0
-24
-1
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
-8
-18
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
30
-15
12
0
0
0
0
0
0
-4
9
-41
0
0
0
0
-1
17
-4
-31
0
0
0
0
0
0
1
-25
10
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-8
16
-11
0
0
0
0
0
0
-1
-32
-31
0
0
0
0
0
-31
49
-40
6
0
0
0
0
0
0
6
-54
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
8
39
0
0
0
0
0
-1
-8
4
-22
0
0
0
0
0
-1
0
-18
-5
0
0
0
0
0
0
-5
26
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-24
14
0
0
0
0
0
0
-1
-15
70
0
0
0
0
-1
6
1
31
-48
0
0
0
0
0
0
0
39
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
61
25
-24
0
0
0
-2
0
-1
-41
4
13
0
0
0
0
0
0
-7
-17
50
0
0
21
0
-2
-19
7
-8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
10
56
0
0
0
2
0
1
62
-47
9
0
0
0
0
0
1
-19
-16
-13
0
0
-14
-1
0
13
-22
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
22
-50
0
0
0
0
0
1
-12
14
5
0
0
0
0
0
-1
1
-42
9
0
0
-2
0
0
-9
-4
18
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
22
22
0
0
0
0
0
-5
7
-41
69
0
0
0
0
0
0
-1
-50
24
0
0
8
0
0
0
13
-74
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
21
-45
54
7
0
0
0
0
0
0
-5
-16
43
0
0
0
0
0
0
-5
44
2
0
0
0
0
0
0
-7
2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-1
12
-41
0
0
0
0
0
0
2
13
-5
0
0
0
0
0
-1
-2
-12
10
0
0
0
0
0
0
-1
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-46
11
20
-17
0
0
0
0
0
0
-4
-5
32
0
0
0
0
0
0
-2
3
16
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-4
31
-67
0
0
0
0
0
0
3
5
-19
0
0
0
0
0
0
-3
-1
12
0
0
0
0
0
0
4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-46
25
14
0
0
0
-2
0
-2
-4
-27
-8
0
0
0
0
0
0
14
-42
46
0
0
0
0
0
1
-27
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-41
27
0
0
0
-1
0
2
-5
8
42
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
-8
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
7
76
0
0
0
0
0
0
3
-25
65
0
0
0
0
0
0
1
-3
17
0
0
0
0
0
0
-2
24
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-14
51
0
0
0
2
0
0
0
-15
75
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
18
-64
40
0
0
0
0
0
1
-4
-50
57
0
0
0
0
-2
7
3
-100
-5
0
0
0
0
0
0
48
-29
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-43
-19
-2
74
0
0
0
0
0
0
0
-10
-10
0
0
0
0
4
1
-8
20
-5
0
0
0
0
0
0
1
-71
118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
13
5
5
-60
0
0
0
0
0
0
4
13
-62
0
0
0
0
-2
-3
-5
16
5
0
0
0
0
0
0
1
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-3
6
-14
0
0
0
0
0
0
0
0
-6
53
0
0
0
0
-6
6
1
1
0
0
0
0
0
0
-1
-13
4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-55
66
-14
-38
0
0
0
10
0
18
-11
-30
6
0
0
0
0
0
-19
69
-17
-32
0
0
-19
3
-2
13
-95
17
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
-4
-13
14
0
0
0
1
0
-21
12
-64
43
0
0
0
0
-2
65
-22
31
-13
0
0
0
0
0
40
10
-34
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
30
22
-39
33
0
0
0
31
0
-16
-10
20
4
0
0
0
0
0
-30
24
-69
15
0
0
-3
0
0
-11
44
29
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
47
-50
13
-16
0
0
0
-5
0
-27
42
-78
14
0
0
0
0
-1
46
-13
-6
23
0
0
9
0
0
-33
41
-15
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
71
-59
33
0
0
0
0
0
2
-7
-10
-25
0
0
0
0
-2
2
-8
-5
-37
0
0
0
0
0
0
2
-31
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
33
-13
19
-16
0
0
0
0
0
0
12
-43
26
0
0
0
0
0
0
2
-13
42
0
0
0
0
0
-1
0
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
86
9
43
18
2
0
0
0
0
5
78
51
-55
21
0
0
0
-7
17
10
-13
20
5
0
0
0
0
13
-35
54
22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
-15
2
6
-7
0
0
0
0
0
6
14
100
-70
0
0
0
0
2
-2
54
13
11
0
0
0
0
0
19
-60
20
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-19
-31
0
0
0
9
0
3
-23
-51
23
0
0
0
0
0
0
-2
-40
23
0
0
0
0
0
0
-8
21
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-33
-12
0
0
0
18
0
1
7
-102
9
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
-49
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-44
43
-2
10
0
0
87
0
0
-52
-5
-7
6
0
0
0
0
0
6
13
33
-11
0
0
0
0
0
-15
-1
12
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-35
-44
62
0
0
-30
0
-1
3
53
-3
3
0
0
0
0
0
0
2
48
-67
0
0
-4
0
0
3
45
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-1
-51
87
0
0
0
0
0
0
-2
-29
29
0
0
0
0
0
-2
-2
24
-6
0
0
0
0
0
-4
1
-31
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
2
2
3
-10
21
0
0
0
0
0
0
0
-19
4
0
0
0
0
0
0
-4
-26
33
0
0
0
0
0
0
3
-33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-15
-15
5
19
0
0
0
0
0
0
-23
22
-16
0
0
0
2
-8
-31
16
7
11
0
0
0
0
0
1
-9
-16
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
17
-35
88
18
0
0
0
0
0
-1
36
-30
-33
0
0
0
0
-5
0
1
-37
-23
0
0
0
0
0
-2
16
3
-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
-14
23
-30
73
0
0
0
0
0
0
8
-20
-8
0
0
0
0
0
0
-32
-1
58
0
0
-7
4
1
8
-22
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-1
49
0
0
0
0
0
0
8
-13
22
0
0
0
0
0
0
0
23
-18
0
0
-17
0
0
0
9
-23
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
66
-14
-28
-4
0
0
0
0
0
70
8
-23
-16
0
0
0
0
0
28
-40
16
-11
0
44
0
0
-5
36
-19
40
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-44
22
31
0
0
1
0
-1
-10
-8
49
-62
0
0
0
0
0
0
-49
-17
48
0
-15
0
0
1
-53
25
21
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-5
2
34
0
0
0
0
0
-1
30
-58
-15
0
0
0
0
0
0
-17
-90
43
0
0
0
0
0
0
-8
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-52
49
0
0
0
0
0
0
-1
-53
49
0
0
0
0
0
0
0
18
-12
0
0
0
0
0
0
1
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
31
-20
56
33
7
0
0
0
0
3
-47
-65
52
-11
0
0
0
0
0
-8
10
29
-8
0
0
0
0
0
1
-21
-27
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
59
-50
8
0
0
0
0
0
-1
-3
-11
-26
0
0
0
0
0
0
29
19
-83
0
0
0
0
0
-2
13
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-19
0
0
0
0
35
0
0
14
-25
5
0
0
0
0
0
0
0
-2
-26
0
0
0
0
0
0
8
-45
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-55
53
0
0
0
4
0
0
-2
-43
6
0
0
0
0
0
0
-2
1
4
0
0
0
0
0
0
-1
-18
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
80
-50
-14
1
0
0
9
0
-4
22
-58
-41
1
0
0
0
0
0
2
-5
-4
-8
0
0
0
0
0
-19
-43
10
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-41
6
1
0
0
-9
0
4
2
-11
-27
27
0
0
0
0
0
0
1
1
-130
0
0
0
0
0
0
-18
16
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-1
2
-52
30
0
0
0
0
0
0
0
31
23
0
0
0
0
0
3
0
-6
-1
0
0
0
0
0
0
-7
-50
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
25
-12
0
0
0
0
0
0
-3
6
-31
0
0
0
0
0
1
0
-17
-32
0
0
0
0
0
0
3
7
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-34
192
-28
0
0
0
0
0
-1
-43
0
-23
0
0
0
0
2
1
-39
3
26
0
0
0
0
-2
-1
-9
25
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
-6
27
-31
0
0
0
0
-2
-2
-3
-26
25
0
0
0
0
0
0
-13
-2
6
0
0
0
0
0
-4
0
5
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
22
-15
25
0
0
0
-3
0
6
-52
13
67
0
0
0
0
0
1
2
-38
2
0
0
16
0
0
-34
7
-70
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-23
54
-38
10
0
0
0
-5
0
-1
-35
-10
-16
0
0
0
0
0
-2
-6
17
19
0
0
5
0
0
0
-22
-23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
35
48
-3
-3
0
0
2
0
31
-76
27
-58
38
0
0
0
0
2
-17
41
13
-34
0
0
0
-1
44
-41
-50
-39
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
25
6
55
-55
0
0
1
0
-2
117
-50
-48
11
0
0
0
1
1
19
-67
-9
-18
0
4
0
0
-14
-33
30
-1
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
15
64
-11
27
0
0
0
0
0
2
13
-74
22
0
0
0
0
-1
22
1
-17
9
0
0
0
0
0
13
-19
-7
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
25
-99
21
16
0
0
0
0
0
0
2
-9
12
0
0
0
0
0
0
1
3
-31
0
0
0
0
0
0
0
-22
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
32
-31
21
58
20
0
0
0
0
1
-6
7
2
1
0
0
0
-2
8
42
2
-15
4
0
0
0
0
1
-5
-22
23
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-44
66
-2
21
-40
18
0
0
0
-1
8
-32
22
-14
-4
0
0
-2
-4
-42
-5
85
-6
-18
0
0
2
2
-23
13
20
-20
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-40
57
0
0
0
7
0
4
9
-54
-13
0
0
0
0
0
0
4
-6
-33
0
0
0
5
0
0
-43
-41
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
0
0
0
-14
0
-2
-3
10
38
0
0
0
0
0
0
0
-7
40
0
0
0
0
0
0
0
-6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-115
40
29
0
0
-33
0
-3
-23
-32
-2
8
0
0
0
0
0
0
6
-72
32
0
0
0
0
-1
20
-35
102
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
41
9
13
6
0
5
0
38
8
-54
-64
-14
-26
0
0
0
0
-8
-28
36
-89
-23
0
0
0
2
-18
-5
-1
-8
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-59
50
4
0
0
0
0
0
-1
0
64
-13
0
0
0
0
-6
2
1
-15
35
0
0
0
0
0
0
-1
-70
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-49
0
0
0
0
0
0
0
-35
7
0
0
0
0
-1
1
1
-21
19
0
0
0
0
0
0
-1
14
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-37
-108
22
20
0
0
0
0
0
0
-49
22
-20
0
0
0
4
-5
4
-5
-18
-12
0
0
0
0
1
-6
-24
49
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
28
42
39
7
-100
-19
0
0
0
0
34
11
-51
44
-2
0
0
0
0
28
-24
-42
-27
9
0
0
0
0
-4
68
11
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
12
-8
36
0
0
0
1
0
0
18
-77
21
0
0
0
0
0
0
9
-6
28
0
0
-16
0
-3
-23
46
8
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
25
3
0
0
0
0
0
0
8
-28
18
0
0
0
0
0
0
0
-42
-11
0
0
42
0
0
-3
15
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-42
-22
57
41
0
0
-3
0
0
23
-9
-8
17
0
0
0
0
0
1
-31
13
-16
0
-56
0
-3
-1
-43
-109
25
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-57
-53
26
16
8
0
5
0
-1
-57
-15
-43
-14
17
0
0
0
2
-6
-8
-58
-49
35
1
0
0
-7
-16
-69
-17
9
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
15
3
3
25
-6
0
0
0
0
0
3
52
-39
-33
0
0
0
0
0
-8
29
-6
16
0
0
0
0
0
0
-13
-23
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-7
-13
-25
0
0
0
0
0
-8
-2
-1
-8
0
0
0
0
0
0
-1
4
43
0
0
0
0
0
0
-3
17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
8
-15
48
-35
-13
0
0
0
0
4
-6
69
52
-43
0
0
0
0
0
3
27
-32
-17
0
0
0
0
-1
13
-24
30
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-20
-6
-62
-12
7
11
0
0
0
1
-28
-22
13
-29
-8
0
0
-2
-2
-6
23
27
-23
-32
0
0
0
0
5
-44
5
2
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
-30
9
0
0
0
2
1
-6
25
-3
-1
0
0
0
0
-1
7
-1
-28
22
0
0
0
-14
0
-5
-59
22
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-41
13
0
0
0
-24
0
1
-13
35
-32
0
0
0
0
0
0
0
16
-13
0
0
0
0
0
0
-5
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
41
-58
18
0
0
-5
0
-1
17
-3
17
-22
0
0
0
0
-1
0
-7
25
-25
0
0
0
0
0
1
-66
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-93
-53
26
14
0
21
0
-1
-22
-57
-48
23
-2
0
0
0
0
-1
-50
14
-39
46
0
0
0
0
17
-31
31
-49
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-18
43
50
-7
0
0
0
0
0
-6
-18
16
4
0
0
0
0
-4
-10
5
-15
16
0
0
0
0
0
2
10
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
4
-27
1
32
0
0
0
0
0
-1
2
45
10
0
0
0
0
18
-13
-6
9
5
0
0
0
0
0
0
-10
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-13
17
-51
50
-5
0
0
0
0
-4
0
-23
-1
1
0
0
0
0
1
-3
12
21
-13
0
0
0
0
0
-10
-46
76
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
22
8
54
1
-62
-29
0
0
0
-1
3
-41
21
-73
18
0
0
-42
2
2
-5
23
5
34
0
0
0
0
-3
-57
7
-13
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
38
2
-9
16
0
0
0
-1
9
2
-1
-10
1
0
0
0
0
90
-14
23
-5
-3
0
0
10
13
-60
45
22
36
-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
40
-29
2
-10
14
0
0
0
57
-19
1
-70
-5
14
0
0
0
0
20
60
-28
-72
-12
0
0
44
-19
4
-50
4
13
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
48
64
40
10
5
0
0
15
2
-14
-85
3
24
0
0
0
0
12
-51
3
14
-14
-2
0
-45
12
15
-49
80
-24
42
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
31
-26
18
13
-6
5
0
-30
38
-22
6
-41
28
10
-1
0
0
-23
-92
31
16
17
-21
24
-88
12
14
-142
-48
-8
-21
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
0
-4
71
0
0
0
0
0
1
-6
19
18
0
0
0
0
0
-16
7
10
30
0
0
0
0
0
0
22
2
-38
0
0
0
0
0
2
-3
-29
15
0
0
0
0
0
0
-5
18
-30
0
0
0
0
1
0
4
8
-8
0
0
0
0
-1
3
-8
-2
-2
0
0
0
0
-3
10
8
5
10
0
0
0
0
0
0
-3
-12
15
0
0
0
0
3
-7
-14
15
19
0
0
0
0
0
6
13
-4
11
0
0
0
0
0
-4
-3
-2
7
0
0
0
0
0
2
-8
15
-21
0
0
0
0
7
12
-2
-34
28
0
0
0
0
-8
-22
51
-19
1
0
0
0
0
1
-8
12
-25
41
0
0
0
0
0
0
-2
4
-7
0
0
0
0
1
0
-5
1
-5
0
0
0
0
0
0
-8
-29
14
0
0
0
0
-8
-3
2
7
-15
0
0
0
0
-2
-1
23
2
-31
0
0
0
0
0
1
-13
20
-4
0
0
0
0
12
-2
-13
0
6
0
0
0
0
-7
13
9
-6
17
0
0
0
0
0
0
0
30
-29
0
0
0
0
8
-2
12
-5
18
0
0
0
0
0
1
-17
-9
13
0
0
0
0
2
25
-8
-25
19
0
0
0
0
2
0
20
-49
50
0
0
0
0
-25
28
-4
-13
29
0
0
0
0
11
-33
-10
8
49
0
0
0
0
0
0
7
-10
-2
0
0
0
10
0
8
3
-13
-13
0
0
0
0
0
-2
8
-7
-34
0
0
0
1
0
0
25
0
14
0
0
0
0
1
0
10
7
-2
0
0
0
8
0
-1
-6
13
-14
0
0
0
0
0
0
0
-34
8
0
0
0
0
0
4
-1
-30
34
0
0
0
0
0
0
2
2
8
0
0
0
2
0
0
-9
-27
-10
0
0
0
0
0
0
0
7
9
0
0
0
9
0
-9
-8
-37
43
0
0
0
0
0
-1
0
-23
-6
0
0
0
4
0
-1
-10
9
19
0
0
0
0
0
-2
-2
8
-6
0
0
0
-7
0
14
-32
24
-7
0
0
0
0
0
0
1
2
2
0
0
0
13
0
-3
-8
-1
12
0
0
0
0
0
1
2
1
7
0
0
0
0
0
0
2
14
-8
0
0
0
0
0
0
2
-4
-27
0
0
0
-13
0
-1
-8
-2
18
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
2
5
-42
50
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
3
1
-27
20
0
0
0
0
0
0
5
12
12
0
0
0
1
0
0
8
-5
-33
0
0
0
0
0
-1
-16
18
20
0
0
0
2
0
0
-14
-6
5
0
0
0
0
0
1
1
4
2
0
0
0
4
1
-49
41
-4
-8
0
0
0
0
0
1
-6
13
3
0
0
0
0
0
1
2
-8
-22
0
0
0
0
-1
-1
18
-10
16
0
0
0
0
0
3
10
24
-27
0
0
0
0
0
0
10
10
35
0
0
0
0
0
-1
5
-8
37
0
0
0
0
0
-1
4
-9
8
0
0
0
0
0
2
-7
-9
3
0
0
0
0
0
20
0
-8
-51
0
0
0
0
0
0
5
7
3
0
0
0
0
4
19
5
-8
5
0
0
0
0
0
-1
7
14
21
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
1
-4
-33
0
0
0
0
3
2
3
9
-33
0
0
0
0
-1
-4
-10
-35
38
0
0
0
0
0
0
1
6
31
0
0
0
0
0
0
0
5
16
0
0
0
0
0
1
-32
-5
0
0
0
0
0
0
2
-3
22
-5
0
0
0
0
0
2
-4
-1
16
0
0
0
0
0
0
-3
-6
-3
0
0
0
0
0
1
13
-3
12
0
0
0
0
-1
3
-1
-33
1
0
0
0
0
0
5
7
-39
3
0
0
0
0
0
0
-3
-3
-12
0
0
0
0
2
2
-25
-8
-3
0
0
0
0
0
-2
-8
6
5
0
0
0
0
2
-8
5
-8
-18
0
0
0
0
0
1
4
6
17
0
0
0
0
-5
-6
5
-9
3
0
0
0
0
-13
-41
1
-33
22
0
0
0
0
0
1
8
-16
33
0
0
0
1
0
2
-10
-9
20
0
0
0
0
0
-3
-3
20
5
0
0
2
0
0
7
8
10
-1
0
0
0
0
0
0
-14
1
29
0
0
0
0
0
0
-19
23
0
0
0
0
0
0
-1
2
3
15
0
0
1
0
0
-5
14
-8
-10
0
0
0
0
0
-4
6
4
-15
0
0
0
2
0
-2
23
13
19
0
0
0
0
0
2
6
-15
13
0
0
-20
-1
0
5
-21
33
14
0
0
0
0
0
0
5
1
-39
0
0
0
-1
0
0
0
4
-1
0
0
0
0
0
0
0
1
7
0
0
-1
1
1
25
-62
-45
25
0
0
0
0
0
-1
-8
2
-10
0
0
0
0
0
0
-1
-12
19
0
0
0
0
0
-1
-1
14
-4
0
0
5
0
2
-4
2
-6
4
0
0
0
0
0
-2
-25
2
33
0
0
0
0
0
1
-1
-27
31
0
0
0
0
0
0
-1
3
2
0
0
20
0
2
-15
18
-2
4
0
0
0
0
0
0
2
-18
-4
0
0
0
0
0
0
2
-18
-19
0
0
0
0
0
0
-9
35
-1
0
0
15
0
0
-8
3
8
-15
0
0
0
0
0
2
-1
8
3
0
0
0
1
0
0
-7
-16
15
0
0
0
0
0
2
-5
-7
5
0
0
-16
-17
-25
-51
48
9
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
14
2
0
0
0
0
0
0
-6
23
13
0
0
0
0
0
-1
-27
7
9
0
0
0
0
0
0
-6
-1
-1
0
0
0
0
0
1
-4
-6
-3
0
0
0
0
0
0
0
-8
13
0
0
0
0
-1
0
6
-3
8
0
0
0
0
0
-2
-8
-13
1
0
0
0
0
6
0
-1
5
3
0
0
0
0
0
0
0
14
11
0
0
0
0
0
-2
22
-16
-4
0
0
0
0
0
2
-13
0
8
0
0
0
0
0
-4
6
7
-22
0
0
0
0
0
0
-6
17
19
0
0
0
0
6
7
3
13
-24
0
0
0
0
-3
-21
-18
24
-31
0
0
0
0
2
-6
-2
-25
1
0
0
0
0
0
0
-2
1
15
0
0
0
0
0
1
3
-14
10
0
0
0
0
0
0
-2
8
4
0
0
0
0
0
-2
-3
-30
-6
0
0
0
0
0
0
1
6
-10
0
0
0
0
0
0
-5
8
17
0
0
0
0
-3
3
-4
-2
-9
0
0
0
0
5
-17
5
5
0
0
0
0
0
0
0
2
-3
18
0
0
0
0
-3
0
-4
3
5
0
0
0
0
0
0
5
8
24
0
0
0
0
1
1
14
3
-16
0
0
0
0
2
-1
3
1
-41
0
0
0
0
8
-1
-3
-15
5
0
0
0
0
9
-9
17
1
66
0
0
0
0
0
0
0
-3
31
0
0
0
3
0
0
-1
2
10
0
0
0
0
0
0
2
-1
-6
0
0
0
0
0
0
2
5
-25
0
0
0
0
0
0
0
-20
5
0
0
0
0
0
0
8
1
3
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
-1
0
-8
-7
0
0
0
0
0
0
1
-4
9
0
0
0
0
0
-1
0
2
2
0
0
0
0
0
0
1
5
10
0
0
0
0
0
2
-10
8
-7
0
0
0
0
0
0
-2
2
27
0
0
0
1
0
2
-3
1
29
0
0
0
0
0
0
0
-12
-2
0
0
0
1
0
-5
15
-24
4
0
0
0
0
0
0
0
-7
-5
0
0
0
-1
0
0
-1
-14
-15
0
0
0
0
0
0
-2
2
7
0
0
0
0
0
-2
2
-6
-10
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
-8
0
0
0
0
0
0
2
0
3
0
0
0
0
0
1
-9
-5
-13
0
0
0
0
0
0
-1
-14
8
0
0
0
5
0
0
0
4
25
0
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
0
-41
23
0
0
0
0
0
1
0
5
8
0
0
0
-1
0
0
-1
-28
41
0
0
0
0
0
0
1
1
2
0
0
0
-28
0
-10
-13
-35
34
0
0
0
0
0
-1
0
8
13
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
8
3
6
0
0
0
0
0
0
5
-21
12
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
1
1
-8
0
0
0
0
0
-1
-1
-8
5
0
0
0
0
0
1
-6
-2
-15
0
0
0
0
0
0
-1
1
-7
0
0
0
0
0
9
7
-7
-4
0
0
0
0
0
7
5
-2
-17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
4
0
0
0
0
2
6
-5
13
22
0
0
0
0
4
-17
5
2
4
0
0
0
0
0
-1
0
8
12
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-2
-3
5
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
-4
8
2
0
0
0
0
0
1
3
-23
-5
0
0
0
0
0
0
0
-6
-24
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
5
-3
14
7
0
0
0
0
0
1
5
-12
-7
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
-6
-6
0
0
0
0
7
0
3
-4
-23
0
0
0
0
-4
2
3
-47
-45
0
0
0
0
0
5
0
3
5
0
0
0
0
0
0
-1
14
10
0
0
0
0
0
0
0
-15
-5
0
0
0
0
0
-1
-14
5
27
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
-5
-19
5
0
0
0
0
0
0
-1
-4
-2
0
0
0
0
0
-3
-1
-2
21
0
0
0
0
0
-2
-1
-2
-9
0
0
0
0
0
0
1
-13
-11
0
0
0
0
0
0
5
-5
-13
0
0
1
0
0
-2
0
-39
-40
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
-2
-4
0
0
0
0
0
0
1
-17
3
0
0
0
1
-1
-14
-24
42
-15
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
-1
0
-1
-2
0
0
3
0
0
0
1
-14
6
0
0
0
0
0
0
2
-7
-5
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
-4
2
9
0
0
0
0
0
-2
-6
6
12
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-1
6
0
0
0
5
0
0
0
5
-21
31
0
0
0
0
0
0
0
-25
8
0
0
0
0
0
0
5
7
-27
0
0
0
0
0
1
3
3
1
0
0
16
-14
0
-18
-6
41
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
-14
5
16
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
2
0
8
-22
0
0
0
0
0
0
1
-5
-2
0
0
0
0
1
-4
14
-8
10
0
0
0
0
0
-2
5
-7
4
0
0
0
0
0
-4
2
22
-12
0
0
0
0
0
3
25
-3
8
0
0
0
0
0
-4
5
-10
-22
0
0
0
0
0
0
-1
4
3
0
0
0
0
2
-1
3
14
-4
0
0
0
0
0
0
-3
12
-1
0
0
0
0
0
-2
2
-1
-2
0
0
0
0
0
-2
-2
-4
21
0
0
0
0
1
-8
5
-25
37
0
0
0
0
-4
5
-4
2
-19
0
0
0
0
14
4
4
-4
53
5
0
0
0
0
0
17
-4
-4
-22
0
0
0
0
3
24
-8
41
15
0
0
0
0
1
6
-5
2
-29
0
0
0
5
12
9
8
2
-38
0
0
0
1
-9
-1
-5
-1
24
0
0
0
-3
1
-6
-16
15
2
0
0
0
9
-3
-5
15
-9
-2
0
0
0
7
10
8
-7
-9
60
0
0
0
0
-1
2
-5
19
-16
0
0
0
-9
2
29
-28
7
22
0
0
0
0
4
-3
-31
-13
44
0
0
0
-2
-13
5
5
-1
-9
0
0
0
0
-3
7
-3
23
11
0
0
0
-32
16
18
20
-7
-5
0
0
0
-12
6
13
-24
31
-2
0
0
0
0
0
2
-6
8
0
0
0
21
0
0
-1
-17
-18
0
0
0
0
0
0
2
5
-20
0
0
0
0
0
2
-1
-5
23
0
0
0
0
0
4
-1
-8
-5
0
0
0
2
0
0
7
-9
1
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
-2
-2
0
6
0
0
0
0
0
3
3
3
-4
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
-2
-8
5
0
0
0
0
0
0
4
-30
10
0
0
0
0
0
0
0
-2
-18
0
0
0
2
0
2
-5
-19
-8
0
0
0
0
0
0
-1
-10
-7
0
0
0
8
0
4
7
-5
14
0
0
0
0
0
0
6
5
-9
3
0
0
2
0
0
0
-8
8
-17
0
0
0
0
0
0
-12
-21
44
0
0
0
0
0
9
-5
-4
-43
0
0
0
0
0
0
14
28
-7
0
0
-5
0
-3
-6
29
22
-13
0
0
0
0
0
0
-13
10
-42
0
0
0
1
0
-15
-6
-5
18
0
0
0
0
0
1
-24
22
10
0
0
8
0
1
-7
8
5
30
0
0
0
0
0
0
6
14
-6
0
0
-1
0
-2
5
-9
26
36
0
0
0
0
0
-4
-2
-29
-15
0
0
7
0
0
-13
-2
20
11
0
0
0
1
-13
-3
19
8
-12
0
0
15
-1
6
21
25
-6
10
0
0
0
0
0
-6
-5
6
0
0
0
0
0
0
0
-8
3
0
0
0
0
4
-1
-5
-1
-8
0
0
0
0
0
0
-2
7
-2
0
0
0
0
0
1
-4
-12
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-1
14
-1
0
0
0
0
0
0
12
2
-2
0
0
0
0
0
0
-4
5
-2
0
0
0
0
0
0
0
-7
1
0
0
0
0
-1
-3
0
-4
-5
0
0
0
0
0
-4
0
-12
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
2
-2
0
0
0
0
0
-5
-3
5
-13
0
0
0
0
1
0
-7
3
0
32
0
0
0
0
0
-3
-2
-9
21
0
0
0
-1
-1
6
-21
-25
45
0
0
0
0
0
5
-5
-10
0
0
0
0
0
0
-4
1
-5
13
0
0
0
0
0
-1
-7
1
-35
0
0
0
-3
0
2
-5
-2
-66
0
0
0
4
7
-6
-8
12
-25
0
0
0
-2
0
3
0
8
-5
0
0
0
0
0
0
-8
2
1
0
0
0
1
-1
-3
7
14
-7
0
0
0
0
0
-3
-5
2
-48
0
0
0
0
0
-2
1
0
-8
0
0
0
0
0
0
-18
-8
-25
0
0
0
0
5
-5
-7
-6
3
0
0
0
5
-17
-27
5
16
4
0
0
0
0
0
6
-6
-8
0
0
0
0
0
-1
-3
-12
9
0
0
0
0
0
0
2
8
-1
0
0
-1
0
0
-8
-26
-9
7
0
0
0
0
0
0
0
5
3
0
0
0
0
0
1
-8
-12
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
31
-16
-13
5
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
4
9
0
0
0
0
0
8
-2
5
-1
0
0
0
0
0
0
-3
0
9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
-9
7
5
-3
0
0
0
0
0
0
4
-25
-14
18
0
0
0
0
0
-8
10
-33
42
0
0
0
0
0
0
32
3
3
0
19
0
0
2
-6
-29
-6
19
0
0
0
0
-1
-2
3
13
10
0
0
0
0
0
18
3
3
-64
0
0
0
0
0
4
-23
0
84
0
1
0
0
7
18
-17
-5
-36
0
0
0
0
0
-1
8
23
-64
0
0
0
0
0
8
3
-1
-5
0
0
0
0
0
2
-3
9
4
0
8
0
1
2
-3
1
4
0
0
0
0
0
0
3
-1
-15
-7
0
0
-1
0
0
1
-4
-10
-52
0
0
0
0
-1
18
-21
5
-46
0
-8
-2
0
-21
-19
12
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
7
20
0
0
0
0
0
0
-1
13
-12
0
0
0
0
1
-1
8
1
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
-3
-8
-2
0
0
0
0
0
0
0
-5
2
8
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-5
-5
17
-2
0
0
0
0
0
1
-5
0
-1
0
0
0
0
0
1
0
-7
17
0
0
0
0
0
-1
-1
8
42
0
0
0
0
0
0
-4
-4
-17
0
0
0
0
0
-2
0
1
13
0
0
0
0
-1
1
1
0
3
0
0
0
0
0
-1
-4
-1
13
0
0
0
0
2
-2
-2
6
32
0
0
0
0
2
4
12
-13
-5
19
0
0
0
0
0
-4
-7
12
39
0
0
0
-1
1
2
5
-5
-25
0
0
0
0
0
-1
3
10
-37
0
0
0
0
-7
0
19
-8
17
0
0
0
0
-1
-3
-2
33
0
0
0
0
0
0
2
1
6
-31
0
0
0
-5
3
13
13
9
-37
0
0
0
-6
15
-4
7
-8
-7
-10
0
0
0
-3
8
8
-5
-5
-24
0
0
2
5
20
-14
-63
19
4
0
0
0
4
-5
-19
-2
-9
-12
0
0
-18
-7
-9
-3
34
-8
48
0
0
-1
-1
5
22
-3
31
22
0
0
22
9
5
-10
-11
-16
20
0
0
-7
-29
32
-49
-43
-19
28
0
0
0
0
0
13
16
0
0
0
1
0
0
3
-13
-31
0
0
0
0
0
0
4
-14
-5
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
1
0
20
0
0
0
0
0
0
2
-9
20
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
10
4
0
0
0
0
0
0
2
2
12
0
0
0
-2
0
-1
0
-3
1
0
0
0
0
0
0
2
8
-23
0
0
0
0
0
-2
8
-4
12
0
0
0
0
0
2
0
-5
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-15
-25
0
0
0
0
0
0
-1
5
-28
-1
0
0
-2
0
1
7
-23
-3
-49
0
0
0
0
0
0
-5
6
-3
0
0
0
0
0
-18
13
8
-15
0
0
0
0
0
-3
-4
4
18
0
0
-1
0
0
9
-12
7
-9
0
0
0
0
0
0
0
4
-23
0
0
0
0
0
16
7
13
-20
0
0
0
0
-2
22
13
6
-38
9
0
-5
0
-3
-13
6
48
36
24
0
0
0
0
-8
-5
-11
18
-13
0
1
0
0
-49
1
30
-28
9
0
0
1
1
-2
8
47
-34
-51
0
11
0
1
-21
-33
9
-1
42
0
0
-1
0
4
-24
-12
-33
64
0
-25
0
1
5
-45
-53
40
21
0
0
0
0
0
1
-7
0
0
0
0
0
0
-1
-8
24
0
0
0
0
0
0
2
-15
10
0
0
0
0
0
0
1
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
-4
3
-1
0
0
0
0
0
0
0
-12
-5
0
0
0
0
0
0
0
-3
1
0
0
0
0
-1
-2
2
25
8
0
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
0
-2
-5
-2
0
0
0
0
0
-2
8
-17
7
0
0
0
0
0
0
1
1
9
-8
0
0
0
0
0
0
-1
41
-3
0
0
0
0
-1
1
7
-9
-13
0
0
0
0
0
0
-16
3
-15
0
0
0
0
0
-8
1
8
-4
0
0
0
0
0
2
0
-1
-10
0
0
0
0
0
0
4
-2
16
0
0
0
0
0
0
-10
1
-16
0
0
0
-2
0
-9
9
10
-91
5
0
0
0
0
0
-17
41
-1
-23
0
0
3
5
25
-69
41
1
-6
0
0
0
1
-8
7
-29
9
44
0
0
0
0
0
-4
12
18
43
0
0
0
-2
0
8
-13
19
6
0
0
-14
-2
0
30
9
21
-61
0
0
-7
-15
-8
9
9
-5
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-7
18
0
0
0
0
0
0
-7
-13
-10
0
0
1
0
0
1
3
1
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
-9
-5
0
0
0
0
0
0
-1
2
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
-3
5
0
0
1
0
0
13
-12
-8
-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
3
0
0
0
0
0
-2
0
-1
0
-13
6
0
0
0
0
0
0
0
-8
8
-11
0
0
0
0
0
-4
5
-9
-5
0
0
0
0
0
2
3
-4
-3
0
3
0
0
-1
6
7
-5
23
0
0
0
0
0
1
0
-2
-2
0
0
0
0
0
2
-1
0
31
0
0
0
0
0
0
1
1
-16
0
-3
0
0
4
3
6
-3
-17
0
0
0
0
1
-1
-16
34
-37
9
0
0
0
0
-1
24
2
-17
-5
0
0
0
0
0
-23
-35
39
16
-17
0
-1
-23
13
-10
8
-50
18
0
0
0
-2
0
-2
13
30
-49
0
0
0
-1
7
0
-35
0
-5
0
0
0
1
-1
-8
3
-6
-10
-6
4
1
8
-4
-51
3
22
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
-2
-2
35
0
0
0
0
0
0
-3
8
-25
0
0
0
0
1
0
2
2
3
0
0
0
0
0
2
0
3
-43
0
0
0
0
2
3
-2
-9
8
0
0
0
0
0
-1
-10
-1
27
0
0
0
0
0
0
5
0
-3
0
0
0
0
0
1
7
-13
35
0
0
0
0
0
-3
3
-8
3
0
0
0
0
0
0
0
-15
-24
0
0
0
0
3
2
9
-20
8
0
0
0
0
0
-1
-17
-10
6
0
0
0
0
0
1
0
0
-31
0
0
0
0
0
0
-1
4
-13
0
0
0
0
-1
0
-3
0
17
0
0
0
0
3
-10
15
5
29
0
0
0
0
4
-6
8
-5
12
0
0
0
0
0
0
6
1
-25
0
0
0
0
0
1
6
-1
6
0
0
0
0
0
-1
-3
0
13
0
0
0
0
-2
-1
-4
17
15
0
0
0
0
0
0
13
6
-7
0
0
0
0
0
0
7
-7
8
0
0
0
0
1
2
6
9
0
0
0
0
0
2
2
-2
-6
1
0
0
0
0
0
0
1
1
9
0
0
0
0
-2
9
1
5
-6
0
0
0
0
-1
1
-4
5
-2
0
0
0
0
0
4
0
-19
35
0
0
0
0
0
-3
13
-4
7
0
0
0
0
-3
-3
0
-13
26
0
0
0
0
5
-1
9
16
29
0
0
0
0
0
0
0
-8
2
0
0
0
4
0
-1
0
1
-10
0
0
0
0
0
-1
1
4
-4
0
0
0
0
0
-4
-1
-9
-15
0
0
0
0
0
0
0
-6
17
0
0
0
-1
0
1
-4
-3
13
0
0
0
0
0
0
0
-6
17
0
0
0
0
0
-2
-8
-8
1
0
0
0
0
0
0
-7
6
-12
0
0
0
0
0
1
0
6
-15
0
0
0
0
0
0
-1
16
25
0
0
0
0
0
1
6
-8
19
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
-1
0
-5
16
0
0
0
0
0
0
0
-8
17
0
0
0
1
0
6
-5
8
24
0
0
0
0
0
0
-1
-19
31
0
0
0
2
0
0
0
8
2
0
0
0
0
0
-1
0
8
35
0
0
0
0
0
0
0
-15
-5
0
0
0
0
0
0
1
-8
39
0
0
0
-3
0
0
-1
-5
13
0
0
0
0
0
0
1
2
-8
0
0
0
0
0
-1
17
-17
1
0
0
0
0
0
0
-3
-6
-11
0
0
0
-2
0
1
-1
0
8
0
0
0
0
0
-1
1
-16
12
0
0
0
0
0
0
1
2
-5
0
0
0
0
0
0
-4
9
7
0
0
0
0
0
0
4
-17
24
0
0
0
0
0
-1
0
1
1
0
0
0
-1
1
-7
-2
-2
2
0
0
0
0
0
0
-1
6
-5
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
2
6
-19
0
0
0
0
0
0
1
-13
14
0
0
0
0
0
0
1
5
18
0
0
0
0
0
0
3
7
-5
0
0
0
0
0
0
1
-13
10
0
0
0
0
0
-6
0
20
29
0
0
0
0
0
1
0
2
-22
0
0
0
0
0
0
1
1
4
0
0
0
0
0
1
0
-8
35
0
0
0
0
0
0
2
8
55
0
0
0
0
0
1
1
1
3
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
-2
3
-14
0
0
0
0
0
-2
2
-8
-5
0
0
0
0
0
0
1
5
8
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
9
10
0
0
0
0
0
1
-2
9
0
0
0
0
0
0
0
-1
-24
7
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
-5
19
-3
0
0
0
0
0
0
0
-13
-13
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
-7
-33
2
0
0
0
0
0
-5
3
-3
6
0
0
0
0
0
-1
0
-8
-16
0
0
0
0
0
1
5
14
7
0
0
0
0
-1
-12
18
-2
1
0
0
0
0
0
0
6
-29
-5
0
0
0
0
0
0
0
9
32
0
0
0
0
0
0
9
-13
-45
0
0
1
0
0
0
-4
31
-7
0
0
0
0
0
0
-8
3
4
0
0
0
0
0
1
2
17
1
0
0
0
0
0
0
-1
-5
-4
0
0
0
0
0
-2
17
3
-17
0
0
0
0
0
-1
18
2
10
0
0
0
0
0
0
8
-6
8
0
0
0
0
0
-2
5
7
21
0
0
-2
0
0
1
-7
2
14
0
0
0
0
0
-1
-1
-3
-2
0
0
0
0
0
0
7
17
0
0
0
0
0
0
0
0
-7
-5
0
0
-2
0
0
0
8
-1
12
0
0
0
0
0
0
-9
6
2
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
-6
0
-8
0
0
8
0
0
0
2
13
-8
0
0
0
0
0
0
3
-29
25
0
0
0
0
0
0
0
-4
31
0
0
0
0
0
0
1
-5
-15
0
0
3
0
0
0
-1
-39
13
0
0
0
0
0
0
3
-25
25
0
0
0
0
0
0
-4
10
6
0
0
0
0
0
0
-4
5
-5
0
0
9
0
0
0
5
12
-9
0
0
0
0
0
0
2
23
-14
0
0
0
0
0
0
5
-24
15
0
0
0
0
0
2
-8
2
14
0
0
-10
0
0
-12
32
52
-67
0
0
0
0
0
-2
-5
3
15
0
0
0
0
0
-1
0
-6
25
0
0
0
0
0
0
5
-31
-14
0
0
0
0
0
-2
13
-5
4
0
0
0
0
0
2
1
-1
8
0
0
0
0
0
1
0
1
-22
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
4
-6
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
3
6
0
0
0
0
0
0
-8
-6
17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
8
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
1
-14
-1
6
0
0
0
0
0
0
6
-4
-1
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
-4
-7
-3
0
0
0
0
0
0
2
3
2
0
0
0
0
0
1
-1
1
-7
0
0
0
0
0
-2
0
0
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
-1
2
0
0
0
0
0
0
-1
3
-6
0
0
0
0
0
0
0
-16
-9
0
0
0
0
0
-1
6
-16
31
0
0
0
0
0
0
4
-5
-31
0
0
0
0
0
0
0
7
13
0
0
0
0
0
0
1
-1
-2
0
0
0
0
-2
0
8
-1
14
0
0
0
0
3
-16
14
-14
-18
0
0
0
0
0
0
1
-12
25
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
3
17
-24
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
3
0
-6
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
-5
-22
-4
0
0
0
0
0
0
-2
-1
-9
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
2
5
-9
0
0
0
0
0
0
4
10
3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
-6
-2
-4
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
4
2
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
-1
0
-13
9
0
0
0
0
0
-1
0
8
13
0
0
0
0
0
0
-4
0
-12
0
0
0
0
0
0
0
2
3
0
0
0
0
-1
0
-9
0
3
0
0
0
0
1
-2
-5
-27
32
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-10
-13
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
1
2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
2
-2
-13
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
1
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
12
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
29
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-17
-3
-28
-17
0
0
0
0
0
1
2
-25
4
0
0
0
0
0
1
-5
8
1
0
0
0
0
0
-1
-7
22
13
0
0
0
0
0
3
-24
20
3
0
0
0
0
0
-1
-3
1
7
0
0
0
0
0
0
7
5
-6
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
-4
0
-24
-5
0
0
0
0
0
0
-4
6
15
0
0
0
0
0
0
1
6
1
0
0
0
0
0
8
0
-3
-28
0
0
0
0
0
2
-4
-6
-2
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
2
-6
0
19
0
0
0
0
0
0
-4
-2
-13
0
0
0
0
0
7
-6
6
-32
0
0
0
0
0
0
2
4
2
0
0
0
0
0
0
0
-9
-7
0
0
0
0
0
-1
2
4
3
0
0
0
0
0
-2
0
-3
1
0
0
0
0
0
-1
0
1
-4
0
0
0
0
0
0
3
-8
5
0
0
0
0
0
0
0
8
1
0
0
0
0
0
-7
2
-2
-4
0
0
0
0
0
1
-3
5
-5
0
0
0
0
0
1
8
8
5
0
0
0
0
0
1
0
2
4
0
0
-1
0
0
-2
4
-2
-4
0
0
0
0
0
-5
13
-3
-3
0
0
0
0
0
0
7
0
2
0
0
0
0
0
7
13
-18
-3
0
0
0
0
0
-4
-3
-66
41
0
0
0
0
1
-1
-1
0
-7
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
2
15
8
0
0
0
0
0
1
-3
3
-5
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
0
-1
-8
-4
0
0
0
0
0
0
-3
3
7
0
0
0
0
0
1
3
-13
2
0
0
0
0
0
-1
0
7
17
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
-9
-4
19
0
0
0
0
0
1
3
-8
21
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
-1
-1
25
0
0
0
0
0
4
1
0
-10
0
0
0
0
0
-6
-3
-4
-5
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
-1
2
14
0
0
0
0
0
0
0
-1
4
14
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
1
1
17
0
0
0
0
0
4
7
-1
5
0
0
0
0
-2
3
0
-5
-8
0
0
0
0
0
0
1
9
8
0
0
0
0
0
0
-1
10
-1
0
0
0
0
0
-2
-6
-6
8
0
0
0
0
0
2
0
0
-19
0
0
0
0
0
-2
-1
-12
7
0
0
0
0
4
-4
1
17
20
0
0
0
0
-8
-31
8
6
-13
0
0
0
0
0
0
-2
-2
-5
0
0
0
-1
0
1
0
8
-15
0
0
0
0
0
0
2
-3
5
0
0
0
1
0
0
2
-5
-14
0
0
0
0
0
0
3
-8
-10
0
0
0
1
0
0
0
-5
-6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
3
16
0
0
0
0
0
1
1
1
-8
0
0
0
0
0
0
-8
-4
-5
0
0
0
0
0
0
0
-2
-7
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
-1
0
-3
5
0
0
0
0
0
0
1
-17
14
0
0
0
0
0
0
2
4
2
0
0
0
1
0
0
-2
-10
3
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
1
7
12
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
-1
6
0
0
0
0
0
0
0
-14
-13
0
0
0
0
0
0
1
-14
12
0
0
0
0
0
0
-1
3
-4
0
0
0
0
0
-1
-1
2
34
0
0
0
9
0
0
0
3
2
0
0
0
0
0
-3
0
-10
-10
0
0
0
0
0
1
-13
7
-7
0
0
0
0
0
2
0
-2
5
0
0
0
0
0
0
0
-3
-24
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
8
-41
13
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
1
-9
7
8
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
2
-1
-2
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
-1
0
-17
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
1
-3
1
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
7
-5
1
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
1
-14
-19
0
0
0
0
-2
0
1
4
2
0
0
0
0
-1
-17
-25
31
-19
0
0
0
0
0
1
5
13
12
0
0
0
0
0
0
-4
-3
22
0
0
0
0
0
0
0
-14
8
0
0
0
0
0
0
-8
-2
-12
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
5
-16
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
2
-5
1
3
0
0
0
0
0
0
7
-8
-5
0
0
0
0
0
-1
0
-7
-6
0
0
0
0
0
0
8
-25
7
0
0
0
0
0
0
3
10
-13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-2
8
-2
-1
0
0
0
0
0
-1
-1
-9
-3
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
1
-8
-5
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-6
8
-2
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
5
-15
-1
0
0
0
0
0
0
0
9
16
0
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
3
-16
-20
0
0
2
0
0
0
-13
10
1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-2
-14
-8
0
0
0
0
0
0
-1
-3
-9
0
0
4
0
1
-5
-16
-41
23
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
-14
39
0
0
0
0
0
0
1
-5
-19
0
0
0
0
0
0
4
-6
10
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
-9
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
4
0
0
0
0
1
1
0
-2
4
0
0
0
0
0
0
6
-1
7
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
1
12
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
7
2
-16
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
1
2
2
-13
0
0
0
0
0
-2
2
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
20
5
21
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
1
2
9
0
0
0
0
0
0
-2
-4
8
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-1
-3
7
0
0
0
0
0
0
0
-1
-21
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
-1
0
10
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
-3
-18
0
0
0
0
1
-12
-5
14
-7
0
0
0
0
0
0
0
8
5
0
0
0
0
0
1
0
14
17
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
1
17
3
-3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
-7
-1
-1
0
0
0
0
0
-1
0
0
13
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
-1
1
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
1
-2
-3
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
-1
-6
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-3
0
1
-8
0
0
0
0
2
0
0
-6
-3
0
0
0
0
0
0
0
-2
2
0
0
0
0
-1
1
0
1
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
0
1
-2
0
0
0
0
2
5
21
7
18
0
0
0
0
0
2
-1
5
15
0
0
0
0
0
0
-1
20
10
0
0
0
0
0
0
-8
-13
-1
0
0
0
0
0
1
-20
-3
18
0
0
0
0
0
0
-4
0
-8
0
0
0
0
0
0
-8
4
-3
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
-5
-8
0
10
0
0
0
0
0
0
-3
4
-17
0
0
0
0
0
0
4
0
-5
0
0
0
0
0
0
0
5
-25
0
0
0
0
0
-1
5
12
-7
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
-1
-1
0
-8
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
-7
10
-8
-7
0
0
0
0
1
0
0
-5
13
0
0
0
0
0
0
-2
8
21
0
0
0
0
0
3
2
-8
-35
0
0
0
0
0
0
0
32
5
0
0
0
0
0
-2
4
5
-12
0
0
0
0
0
1
12
-7
-7
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
-8
9
-3
16
0
0
0
0
0
2
-2
-7
1
0
0
0
-1
0
0
4
-9
6
0
0
0
0
0
2
-13
-8
-13
0
0
2
0
0
2
0
-16
9
0
0
0
0
0
-3
0
2
34
0
0
0
0
0
1
-7
-14
13
0
0
0
0
0
0
-1
1
-13
0
0
0
0
-7
-4
2
-45
45
0
0
0
0
-3
0
4
-1
6
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
-6
-15
6
0
0
0
0
0
1
0
-2
1
0
0
0
0
0
-1
1
0
4
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
-2
5
-4
14
0
0
0
0
0
-5
-2
0
8
0
0
0
0
0
0
0
-1
-7
0
0
0
0
-1
0
0
-2
9
0
0
0
0
0
1
-5
10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-2
0
0
0
0
0
-1
0
1
6
0
0
0
0
-20
0
2
-13
2
0
0
0
0
4
0
7
0
-33
-9
0
0
0
0
0
0
5
3
2
0
0
0
0
0
0
-4
14
5
0
0
0
0
0
-1
-14
8
3
0
0
0
0
0
-5
1
-9
-18
0
0
0
0
-2
-7
13
-2
23
0
0
0
2
0
-1
9
-2
75
0
0
0
3
3
17
-4
8
46
0
0
0
1
-5
12
2
-7
-19
0
0
0
0
-1
0
1
19
19
0
0
0
1
-1
-2
1
1
21
0
0
0
0
4
-9
-19
23
-6
0
0
0
0
3
0
-6
13
15
0
0
0
0
1
0
-9
-5
57
0
0
0
4
3
-2
-9
37
3
0
0
0
16
-10
2
7
-4
26
0
0
0
0
0
0
-1
8
0
0
0
7
0
0
0
-2
-18
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
4
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
2
-8
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-1
4
-1
-4
0
0
0
0
0
0
0
0
12
-42
0
0
0
0
0
0
7
-13
-37
0
0
0
0
0
0
1
5
-18
0
0
0
0
0
0
-8
-20
-14
0
0
0
0
0
0
-1
32
-19
0
0
0
0
0
0
0
23
11
0
0
0
0
0
0
4
1
13
0
0
0
0
0
-1
6
-4
59
0
0
0
0
0
0
5
9
-15
0
0
-1
0
0
0
-16
8
19
0
0
0
0
0
-1
-25
-5
51
0
0
0
0
-1
-3
-13
27
29
0
0
0
0
0
0
-2
0
-5
0
0
4
0
-1
1
-5
-13
-51
0
0
0
1
0
0
6
0
-18
0
0
-5
0
-1
0
-3
-18
51
0
0
0
0
0
-2
-9
6
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
-29
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-6
3
3
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
-3
-19
0
0
0
0
2
0
0
-1
8
6
0
0
0
0
0
0
-8
-13
42
0
0
0
0
0
-1
5
1
6
0
0
0
0
0
0
-5
1
5
0
0
0
0
0
0
1
0
42
0
0
0
0
0
0
-2
2
5
0
0
0
0
0
0
-1
0
-52
0
0
0
0
0
-12
0
0
-25
0
0
0
0
0
0
-3
-3
15
0
0
0
0
0
0
8
5
-9
0
0
0
0
1
0
6
14
-21
0
0
0
0
0
0
-30
1
12
0
0
0
0
0
0
3
-12
-21
0
0
0
0
0
2
6
0
6
0
0
0
0
0
0
-4
-2
-6
0
0
0
5
-7
-8
-58
49
-26
0
0
0
0
0
-2
4
-8
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
8
1
0
0
1
0
0
0
1
-5
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
24
3
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
2
-1
-4
7
0
0
0
0
0
2
3
-12
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-2
-3
18
-24
0
0
0
0
0
-1
0
5
-16
-13
0
0
0
0
0
0
-2
-1
-8
0
0
0
0
0
-1
-3
-1
-37
0
2
0
0
1
2
-8
0
4
0
0
0
0
0
-1
-1
5
10
0
0
0
0
0
1
-6
0
-6
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
-71
0
0
0
0
0
1
-19
13
-52
0
0
0
0
0
2
4
8
-21
0
0
0
0
0
2
10
3
13
0
8
0
0
-1
0
8
-6
5
0
0
0
0
0
0
-14
0
66
0
0
0
0
0
1
-2
5
-20
0
0
0
0
0
-1
4
3
-49
0
0
0
0
-8
-15
-18
-26
50
0
0
0
0
1
0
4
14
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
6
8
0
0
0
0
0
0
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
2
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
-3
0
13
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
0
0
0
0
0
0
1
3
3
8
0
0
0
0
0
0
0
0
9
-31
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
3
0
1
40
0
0
0
0
0
-3
-2
6
-9
0
0
0
0
-1
0
0
-3
21
0
0
0
0
1
0
0
1
-13
0
0
0
-2
-1
1
1
0
-5
0
0
0
0
0
4
-5
0
0
0
0
0
0
1
2
-4
23
-5
0
0
0
0
0
1
1
7
24
0
0
0
0
0
0
0
12
8
0
0
0
0
-1
-4
7
-6
-42
0
0
0
0
0
0
1
1
-15
0
0
0
0
0
0
-8
-6
5
0
0
0
0
0
-1
0
2
41
0
0
0
0
-10
34
-2
-20
-55
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
-1
-5
-8
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
4
0
14
0
0
0
0
0
0
0
-2
-3
-11
0
0
0
0
0
0
1
1
13
0
0
0
0
0
0
0
1
4
0
0
0
0
0
1
1
-2
-22
0
0
0
0
0
0
3
0
-5
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
4
0
0
0
0
0
1
5
3
-15
0
0
0
0
0
-3
5
13
-13
0
0
0
0
0
0
0
7
-28
0
0
0
0
0
0
-2
2
5
0
0
0
0
0
0
0
0
-15
0
0
1
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
0
-12
0
0
-2
0
-1
10
-20
-4
-5
0
0
0
0
0
-1
1
18
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
-1
0
-1
23
0
0
0
0
0
0
0
-1
41
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
-2
2
5
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
-2
-2
0
-21
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-20
0
0
0
-2
7
-5
-22
7
-18
0
0
0
0
-1
-2
4
3
0
0
0
0
0
0
4
-10
19
0
0
0
0
0
-3
0
4
3
0
0
0
0
0
0
-1
-22
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
-3
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
2
8
0
0
0
0
0
1
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
8
5
-13
-6
0
0
0
0
1
-1
-1
0
2
20
0
0
0
0
0
0
-8
5
25
0
0
0
0
-1
1
-4
1
7
0
0
0
0
0
-1
0
1
-13
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
1
0
-41
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
1
0
8
19
0
0
0
0
0
0
3
1
5
0
-1
0
0
0
3
-2
0
-1
0
0
0
0
-1
-1
-3
-1
-8
0
0
0
0
0
1
0
0
-13
0
0
0
0
1
1
0
-1
-15
0
-1
0
0
8
-3
-33
0
-6
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
7
-12
0
0
0
0
1
0
0
22
19
0
0
0
0
0
0
22
-20
-2
0
0
0
0
2
0
-9
-3
-8
0
0
0
0
0
0
-6
-2
20
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
2
5
7
4
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
-1
0
2
-3
0
0
0
0
0
0
2
-10
8
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
1
5
15
0
0
0
0
1
-6
6
-17
13
0
0
0
0
0
0
0
1
-9
8
0
0
0
0
0
0
-25
1
-3
0
0
0
0
0
2
-18
2
17
0
0
0
0
0
4
-5
-6
10
0
0
0
0
-1
4
-5
7
-5
0
0
0
-1
0
-2
1
-9
-15
0
0
0
0
-1
0
0
1
-7
0
0
0
0
8
-3
3
-3
-21
0
0
0
-1
-2
-2
-24
5
5
26
0
0
0
0
2
-8
23
-44
-51
0
0
0
3
2
-7
17
35
-2
0
0
0
0
0
-25
7
-34
-15
0
0
-3
-9
1
1
10
3
41
0
0
0
-2
2
8
2
0
-13
0
0
-4
-3
0
7
8
-28
20
0
0
-9
5
-8
7
-2
-18
56
0
0
0
0
-1
-5
23
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
1
-25
6
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
1
-25
5
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
1
-12
10
0
0
0
0
0
0
0
6
-5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
-4
8
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
2
0
-2
-6
0
0
0
1
0
1
0
4
-7
0
0
0
0
0
0
0
-16
-30
-1
0
0
0
0
0
0
-6
-37
-5
0
0
0
0
0
0
3
1
-23
0
0
0
0
0
0
3
-8
-16
0
0
0
0
0
-1
8
-8
25
0
0
0
0
0
-1
2
0
4
0
0
0
0
0
0
0
2
2
0
0
0
0
0
2
-7
14
-5
0
0
0
0
1
0
4
-17
-8
11
0
0
0
0
0
5
2
33
8
0
0
0
0
-2
0
5
-41
41
0
0
0
0
-1
2
-2
1
35
0
0
0
0
0
-2
2
-6
-5
0
-1
0
1
2
-2
-8
17
-13
0
0
0
0
0
2
-20
-4
8
0
-22
0
-12
8
-4
35
-44
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
-25
31
0
0
0
0
0
0
0
14
-5
0
0
0
0
0
0
-2
15
-8
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
-1
-5
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
3
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
-1
0
4
-5
0
0
0
0
0
0
0
-2
5
-18
0
0
0
0
0
-2
5
-2
17
0
0
0
0
0
0
-2
2
9
0
0
0
0
0
0
5
-2
1
0
0
0
0
0
0
-1
-3
-3
0
0
0
0
0
0
2
-3
-22
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
5
-2
-10
0
0
0
0
4
0
-1
16
-69
-9
0
0
0
0
0
2
-24
9
50
0
0
0
0
0
-3
-1
19
1
0
0
0
0
3
5
2
-9
1
0
0
0
0
0
0
0
1
-54
0
0
0
0
0
1
0
-1
-9
0
0
0
1
0
-2
-2
-48
19
0
0
-5
5
-4
-37
8
13
-45
0
0
0
0
-3
-20
35
0
0
0
0
0
0
0
-12
15
0
0
0
0
0
0
0
12
-4
0
0
1
0
0
0
7
-31
-7
0
0
0
0
0
0
-6
17
1
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
-1
1
0
0
0
-2
0
0
-1
-2
4
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
-5
1
0
0
-1
0
0
0
2
-9
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
4
0
0
0
0
0
0
0
5
-30
2
10
0
0
0
0
0
1
5
9
-9
0
0
0
0
-1
-2
-2
3
-3
0
1
0
0
1
1
-2
1
6
0
0
0
0
0
-2
6
0
5
0
0
0
0
0
3
7
-3
2
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
-2
8
0
-21
0
0
0
0
-2
0
31
-8
12
16
0
0
0
0
2
3
0
-17
-24
0
0
0
0
0
1
0
2
-18
-6
0
0
0
-1
-31
1
-2
19
0
0
0
0
0
2
-1
-7
-19
0
0
0
0
0
3
2
5
11
0
0
0
0
2
-4
0
10
-35
-15
0
0
-17
-2
-13
13
-48
47
0
0
0
0
3
1
17
0
0
0
0
0
0
2
-10
25
0
0
0
0
0
-2
-1
-20
-3
0
0
0
0
0
1
9
12
-8
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
3
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
1
0
0
0
0
0
0
0
-8
-15
0
0
0
0
0
0
-3
4
17
0
0
0
0
1
0
0
7
-2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
5
0
0
2
0
0
0
0
0
5
-37
-5
-14
0
0
0
0
0
0
3
-9
25
-23
0
0
0
0
0
0
-3
18
-8
0
0
0
0
0
0
-1
1
-7
0
0
0
0
0
1
-7
1
0
0
0
0
0
0
0
-4
6
-42
0
0
0
0
0
0
-4
3
-24
0
0
0
0
0
0
0
0
35
0
0
0
0
0
-5
-5
1
-20
0
0
0
0
0
0
7
5
-30
25
0
0
0
0
0
0
7
-9
9
0
0
0
0
0
3
-4
-9
-40
0
0
0
2
1
-1
-1
24
-6
0
0
0
0
0
-1
18
-25
9
0
0
0
0
-5
12
-1
31
14
0
0
0
0
-1
8
-4
8
33
0
0
4
-10
2
-17
5
-11
80
0
0
0
0
-3
10
2
0
0
0
3
0
0
-1
0
33
0
0
0
0
0
0
1
-5
-14
0
0
0
0
0
0
7
41
8
0
0
0
0
0
0
-2
0
9
0
0
0
0
0
0
0
5
-21
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
-9
4
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
-1
7
0
0
0
0
0
0
-3
-6
-13
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
-3
-9
13
0
0
4
0
0
-1
8
16
-14
0
0
0
0
0
0
-6
2
20
0
0
0
0
0
-1
2
-3
1
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-2
2
7
0
0
0
0
0
0
0
2
-37
0
0
0
0
0
0
1
1
-8
0
0
0
0
0
0
-10
13
-6
45
0
-5
0
0
0
3
5
-14
-44
0
0
0
0
0
1
1
15
-13
0
0
0
0
-1
-4
-4
-13
20
0
0
0
0
0
-2
-3
-5
-5
0
1
0
0
0
-1
1
-9
-9
0
0
-2
0
2
-2
-3
8
1
0
-13
0
-5
5
5
-2
31
16
0
0
0
0
0
7
13
0
0
0
0
0
0
-1
8
-13
0
0
0
0
0
-2
2
-8
24
0
0
0
0
0
0
-1
-31
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
-1
-2
9
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
8
6
-2
0
0
0
0
-2
2
0
-6
-19
0
0
0
0
0
0
0
8
7
0
0
0
0
3
0
1
1
-41
0
0
0
0
0
4
0
7
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
-7
8
-5
-3
0
0
0
0
0
0
0
19
-16
69
0
0
0
0
0
-1
7
-3
5
0
0
0
0
0
0
0
-2
32
0
0
0
0
0
0
-8
-1
-25
0
0
0
0
0
0
-7
3
-35
0
0
0
0
-1
0
0
1
20
0
0
0
0
0
0
-6
0
-42
0
0
0
-2
1
2
-8
0
-44
0
0
0
2
0
2
-2
5
17
10
0
0
0
0
0
-1
-4
16
-31
0
0
1
0
0
-2
3
0
42
0
0
0
0
0
-1
2
-13
-26
0
0
-3
0
0
0
-4
-30
-13
0
0
3
0
-2
-2
2
-34
34
0
0
1
-3
0
0
6
-9
20
0
0
5
8
8
-31
28
-33
-32
0
0
4
-13
15
14
22
0
0
0
8
0
5
-12
17
13
0
0
0
0
-1
9
-5
-1
3
0
0
5
0
0
20
43
-8
45
0
0
0
0
2
9
-56
-16
-4
0
0
0
-2
0
1
33
-27
-18
0
0
0
0
-3
-1
-3
-5
-10
0
0
0
0
2
10
8
-13
-23
0
0
0
0
1
33
-3
-16
2
0
0
0
16
0
2
-14
-25
44
0
0
0
0
10
-34
-22
16
-4
0
0
18
9
0
19
-3
-43
5
0
0
0
0
0
-8
-8
-21
31
0
0
0
-1
0
3
3
-17
-2
0
0
0
0
1
17
-21
-17
0
0
0
-1
-3
-9
-22
-26
1
41
0
0
0
0
1
-8
4
-28
25
38
0
0
-6
0
-2
10
-5
8
-31
0
0
0
2
-2
-5
8
-1
-5
0
-13
0
0
0
16
-22
3
-36
0
0
0
2
-14
18
-2
-49
7
0
0
-6
-3
0
26
25
35
-25
0
0
0
-3
-9
-10
-42
55
-20
0
-6
0
0
0
-26
-8
-35
24
0
0
0
6
23
25
11
21
4
8
0
8
0
0
-10
-9
2
-24
82
0
0
-3
-5
-32
-27
-22
-10
22
-16
-9
1
-27
-5
-11
22
-4
1
0
0
-2
25
-25
18
-1
-36
53
0
-8
1
-1
3
6
21
-23
11
0
0
20
5
33
-29
-15
6
-66
-4
-13
-25
-48
-31
17
-31
24
-35
0
0
0
0
0
3
44
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
2
-29
-15
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
4
3
33
0
0
0
0
0
-1
0
1
7
0
0
0
0
0
0
13
2
9
0
0
0
0
0
0
-1
5
19
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
1
8
-3
0
0
0
0
0
0
-7
4
-9
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
5
2
0
0
0
0
1
-1
0
1
37
0
0
0
0
0
-4
8
-15
18
0
0
0
0
0
-1
0
-4
-9
0
0
0
0
0
0
-1
10
-23
0
0
0
0
0
1
0
3
5
0
0
0
0
0
0
6
8
1
0
0
0
0
-1
0
0
-10
13
0
0
0
0
-1
-1
8
6
-2
0
0
0
0
0
0
1
0
25
0
0
0
0
3
-1
-16
17
15
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
1
10
-5
0
0
0
0
0
-2
3
2
-22
0
0
0
0
-1
1
-8
-5
23
0
0
0
0
2
5
0
7
8
0
0
0
0
2
0
13
-23
-9
0
0
0
0
-1
-2
0
2
10
0
0
0
0
4
5
2
21
-19
0
0
0
0
0
0
0
-16
7
0
0
0
-1
0
0
0
2
1
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
-1
8
-9
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
1
-32
-8
0
0
0
0
0
0
0
-10
15
0
0
0
0
0
0
0
5
-18
0
0
0
0
0
0
0
-7
11
0
0
0
0
0
0
0
2
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-2
-3
-23
0
0
0
-1
0
3
2
3
24
0
0
0
0
0
0
0
5
8
0
0
0
1
0
0
-1
5
5
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
-3
24
0
0
0
-1
0
0
0
5
8
0
0
0
0
0
0
0
22
-12
0
0
0
0
0
0
-2
-8
6
0
0
0
0
0
0
0
4
31
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
-1
6
-3
0
0
0
0
0
0
0
24
-19
0
0
0
0
0
0
0
0
22
0
0
0
4
0
0
0
-13
6
0
0
0
0
0
0
0
-8
13
0
0
0
6
1
3
-4
-41
35
0
0
0
0
0
0
-1
-4
-16
0
0
0
0
0
0
0
-10
-25
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
5
-10
-7
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
-4
-1
3
-9
0
0
0
0
0
0
2
6
-5
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-19
14
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
-1
-1
-23
-1
0
0
0
0
0
0
1
-6
29
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-12
1
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
-1
7
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
14
8
-8
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
9
16
0
0
0
0
0
0
-1
8
1
0
0
0
0
0
0
-3
-6
8
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
-9
31
0
0
0
0
-2
0
-2
4
-8
0
0
0
0
1
-2
13
-7
-10
0
0
0
0
0
0
-8
-16
27
0
0
0
0
0
0
4
-6
18
0
0
0
0
0
0
7
1
-5
0
0
-1
0
0
0
-8
13
-4
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-4
8
6
0
0
0
0
0
0
0
-29
6
0
0
0
0
0
-2
-5
10
6
0
0
0
0
0
1
-2
-12
-7
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
7
15
10
0
0
-1
0
0
0
1
-5
-10
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
1
-2
-8
0
0
0
0
0
0
-1
5
-5
0
0
0
0
0
0
-3
13
-31
0
0
0
0
0
0
7
12
2
0
0
0
0
0
0
5
-4
1
0
0
0
0
0
0
-5
12
5
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
4
8
10
0
0
0
0
0
0
0
-25
0
0
0
1
0
0
0
-8
3
5
0
0
0
0
0
0
-2
8
25
0
0
0
0
0
0
-13
-10
8
0
0
0
0
0
0
4
-19
10
0
0
2
0
0
0
19
-30
-4
0
0
0
0
0
0
-8
35
8
0
0
0
0
0
0
1
1
30
0
0
0
0
0
0
8
4
1
0
0
5
-1
-1
0
-16
20
8
0
0
0
0
0
0
0
4
-16
0
0
0
0
0
0
-1
-17
-5
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
-1
3
16
-8
0
0
0
0
0
0
-1
-5
20
0
0
0
0
0
0
1
1
-10
0
0
0
0
0
0
0
1
1
0
0
0
0
0
3
3
-5
9
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
1
13
-3
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
2
-7
2
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-2
-4
0
0
0
0
0
0
0
6
-13
0
0
0
0
-1
9
19
-21
-5
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
-5
6
15
0
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
-3
0
-12
0
0
0
0
0
0
-1
1
-4
0
0
0
0
0
0
5
1
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
-1
1
-15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
-1
0
0
0
0
0
0
-3
-2
10
0
0
0
1
1
-7
10
-31
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
-1
1
13
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
0
19
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
-5
-1
0
0
0
0
0
1
7
9
5
0
0
0
0
0
2
-14
-1
27
0
0
0
0
0
0
-2
5
8
0
0
0
0
0
0
3
1
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
3
7
-4
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
-14
8
-7
0
0
0
0
0
0
1
-1
7
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
7
0
-5
6
0
0
0
0
0
3
4
-3
8
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
1
-1
-1
1
0
0
0
0
0
1
-2
0
1
0
0
0
0
0
1
0
-2
14
0
0
0
0
0
0
-4
-4
-2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
-2
-10
0
7
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
-1
-2
1
-1
0
0
0
0
0
6
25
-1
10
0
0
0
0
0
1
1
-3
-7
0
0
0
0
0
-4
3
7
-6
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-3
-7
-6
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
-6
12
1
9
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
2
-2
-9
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
3
-2
5
3
0
0
0
0
0
0
-4
0
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
8
12
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
2
1
-7
0
0
0
0
0
0
-10
-3
9
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
6
0
0
0
0
0
4
-2
3
4
0
0
0
0
0
-1
0
0
-12
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
3
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
4
0
0
0
0
1
1
0
-1
-6
0
0
0
0
-2
0
0
8
56
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
-1
-6
5
0
0
0
0
0
0
-1
-5
2
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
1
-3
-1
0
0
0
0
0
0
-2
-2
7
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
10
3
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-7
-9
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
-4
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
1
1
0
-10
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
1
2
29
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
4
8
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
-5
-4
1
0
0
0
0
0
-2
0
0
-5
0
0
0
0
0
0
-1
-1
15
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
-4
8
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-14
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
7
17
-10
49
0
0
0
0
0
0
-1
-8
3
0
0
0
0
0
0
2
19
-49
0
0
0
0
0
0
-6
-2
4
0
0
0
0
0
0
0
-32
21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
1
-13
4
0
0
0
0
0
0
1
-7
-4
0
0
0
0
0
0
4
1
-4
0
0
0
0
0
-1
0
-6
21
0
0
0
0
0
0
0
12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
2
0
3
0
0
0
0
0
3
2
-2
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
5
-19
0
0
0
0
0
0
0
0
-9
12
0
0
0
0
0
0
1
5
2
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
6
8
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-5
0
0
0
-7
0
0
2
-18
5
-24
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
5
-6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
-4
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-13
-4
-13
31
0
0
0
0
0
0
-2
2
-16
0
0
0
0
0
0
0
-4
42
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
-5
0
16
0
0
0
0
0
-1
0
-1
9
0
0
0
0
0
0
0
-5
-19
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
3
0
0
-16
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
1
0
-22
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-8
-9
19
-12
-6
0
0
0
0
0
8
-5
-1
10
0
0
0
0
0
0
1
2
14
0
0
0
0
0
-2
5
2
8
0
0
0
0
0
0
-6
-17
7
0
0
0
0
0
1
-3
-8
-7
0
0
0
0
0
-1
1
1
-8
0
0
0
0
0
-1
0
-2
-8
0
0
0
0
0
-10
-10
2
5
0
0
0
0
0
-2
6
2
-2
0
0
0
0
0
-1
0
0
16
0
0
0
0
0
10
3
-4
-2
0
0
0
0
0
-2
6
-3
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
3
0
1
0
0
0
0
0
0
-13
13
0
7
0
0
0
0
0
0
3
-1
7
0
0
0
0
0
-3
2
0
1
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
1
7
-10
0
0
0
0
0
0
-7
2
-2
0
0
0
0
0
-1
2
1
-8
0
0
0
0
0
1
1
1
8
0
0
0
0
0
-4
5
0
12
0
0
0
0
-1
-8
3
-3
22
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
2
0
-4
4
0
0
3
0
0
1
1
-7
7
0
0
0
0
-2
0
-2
0
1
0
0
0
0
0
-2
1
-4
9
0
0
0
0
-4
-1
2
-20
-2
0
0
1
-2
-2
-30
39
13
37
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
1
-8
-6
0
0
0
0
0
0
8
5
-8
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-7
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
-1
2
0
-3
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
2
0
0
1
0
0
0
0
0
3
-1
-3
0
0
0
0
0
-1
0
0
-8
-13
-45
0
0
0
0
0
0
-9
-1
-10
0
0
0
0
0
1
0
17
41
0
0
0
0
0
2
-6
2
-35
0
0
0
0
0
0
-7
31
14
0
0
0
0
0
0
-2
1
13
0
0
0
0
0
0
-1
-4
31
0
0
0
1
-2
8
1
-1
-11
0
0
0
0
0
0
2
9
-25
0
0
0
0
0
0
-4
8
0
0
0
0
0
4
0
-2
13
24
0
0
0
0
2
5
5
4
-22
0
0
0
0
-1
-3
0
6
-19
0
0
0
0
0
-5
-2
-4
8
0
0
0
4
-1
0
-4
-4
32
0
0
0
8
-17
-25
5
-2
-7
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-6
-1
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
-8
4
0
0
0
0
0
0
0
8
-10
-35
0
0
1
0
0
0
-2
-3
-8
0
0
0
0
0
0
-1
-25
56
0
0
0
0
0
0
-4
-9
-5
0
0
0
0
0
0
-6
0
10
0
0
0
0
0
0
-1
-12
-21
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
-8
-4
0
0
0
0
0
0
-6
1
-15
0
0
0
0
0
0
-12
21
13
0
0
0
0
0
0
-4
-8
-34
0
0
0
0
0
0
-9
0
-3
0
0
0
0
0
0
-3
7
-3
0
0
-1
0
0
0
1
16
5
0
0
0
0
0
0
-2
-3
50
0
0
3
0
-3
-5
9
5
-5
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
-3
5
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
5
0
0
0
0
0
0
-1
-1
-22
4
0
0
0
0
0
0
0
5
-36
0
0
0
0
0
0
14
0
-14
0
0
0
0
0
0
-7
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-2
-1
0
0
0
0
0
0
0
0
47
0
0
0
0
0
-1
-8
1
-53
0
0
0
0
0
-1
-1
8
-37
0
0
0
0
0
0
5
-25
-12
0
0
0
0
1
0
1
3
-3
0
0
0
0
0
0
-5
0
-17
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
1
-3
6
0
0
0
0
0
0
1
0
-21
0
0
0
0
0
-10
-1
-49
38
0
0
0
0
-1
-6
-8
4
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
1
-13
-1
0
0
0
0
0
0
10
-10
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
0
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-4
8
0
0
0
0
0
0
0
2
12
2
0
0
0
0
0
0
0
-4
1
21
0
0
0
0
0
2
-7
2
-42
0
0
0
0
0
1
-17
-4
-5
0
0
0
0
0
0
-3
1
-15
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
0
28
0
0
0
0
0
-1
0
-1
-2
0
0
0
0
0
1
-22
2
-14
0
0
0
0
0
0
13
7
-16
0
0
0
0
0
-1
6
6
4
0
0
0
0
0
0
-3
0
-17
0
0
0
0
0
1
-5
7
2
0
0
0
0
0
0
-8
0
-16
0
0
0
0
0
0
-23
0
-2
0
-3
0
0
-3
2
-22
18
-32
0
0
0
0
0
0
2
20
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
-21
1
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
1
-24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
4
-17
6
4
0
0
0
0
0
0
0
-4
-5
-20
0
0
0
0
0
0
0
4
1
0
0
0
0
0
-1
0
0
30
0
0
0
0
0
0
-3
0
-18
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
-1
6
-43
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
2
-3
0
-6
0
0
0
0
0
0
-1
-7
8
0
0
0
0
0
0
-1
-24
-17
0
0
0
0
0
0
6
0
-30
0
0
0
0
0
-1
-1
-1
1
0
0
0
-1
0
0
2
-1
29
0
0
0
0
0
0
-5
0
-6
0
0
0
0
0
-2
1
1
-18
0
0
0
-1
2
6
-3
-4
5
0
0
0
0
1
0
1
6
0
0
0
0
0
0
0
9
-3
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
2
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
-8
-6
4
0
0
0
0
0
0
1
1
29
0
0
0
0
0
0
-1
0
39
0
0
0
0
0
0
-1
1
-49
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
1
1
4
13
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
5
12
29
0
0
0
0
0
0
3
-6
8
0
0
0
0
0
0
2
1
2
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
-2
4
-2
-8
0
0
2
0
0
0
0
0
8
0
0
0
0
-1
0
0
1
-8
0
0
-1
-4
-2
3
-3
17
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
4
-18
0
0
0
0
0
0
1
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
0
0
0
-2
0
0
0
-5
-20
0
0
0
-1
6
0
-48
-3
5
0
0
0
0
0
2
0
24
0
0
0
0
0
0
-1
-8
-13
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
7
14
0
0
0
0
0
0
5
-8
-10
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
-1
0
-1
1
0
0
0
0
0
-1
4
-16
0
0
0
0
0
0
1
2
-2
-20
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
-1
8
0
0
0
0
0
0
-2
-7
23
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
-4
-5
-3
-2
0
0
0
0
0
-1
4
16
1
23
0
0
0
0
0
0
0
-3
-2
0
0
0
0
-2
2
-6
0
-3
0
0
0
0
0
1
7
0
12
0
0
0
0
0
-5
12
2
-12
0
0
0
0
0
0
2
3
-7
0
0
0
0
0
0
-3
0
-5
0
0
0
0
1
-5
0
0
22
0
0
0
-1
0
0
2
18
-41
0
0
0
0
0
0
0
0
-20
0
0
0
0
-1
6
-4
-4
9
0
0
0
0
0
-5
-1
3
-10
0
0
0
0
0
2
0
4
-32
0
0
0
0
0
-1
3
-3
18
0
0
0
2
0
0
5
3
-21
0
0
0
-1
2
5
-5
-31
22
0
0
0
0
0
0
1
30
0
0
0
0
0
0
-1
-8
-2
0
0
0
0
0
0
0
4
-18
0
0
0
0
0
0
5
2
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-8
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
2
1
1
8
0
0
0
0
0
1
0
-2
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
-5
1
1
1
0
0
0
0
1
-8
1
3
-4
0
0
0
0
0
0
0
-1
9
-19
0
0
0
0
0
0
13
-4
-31
0
0
0
0
0
0
12
0
-8
0
0
0
0
0
2
4
21
-28
0
0
0
0
0
0
7
-3
-10
0
0
0
0
0
0
-1
4
-10
0
0
0
0
-1
0
-1
1
-8
0
0
0
-1
1
4
-6
3
6
0
0
0
1
0
0
-1
-22
-47
22
0
0
0
0
0
-4
-7
2
19
0
0
0
0
0
-4
-4
9
-7
0
0
0
1
0
-24
-1
20
9
0
0
0
0
0
2
19
-7
13
0
0
0
-1
1
-6
-1
34
1
0
0
1
-1
0
1
4
5
4
0
0
-6
-5
0
18
42
39
21
0
0
0
0
1
2
-24
0
0
0
0
0
0
-1
-8
-1
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
-1
1
5
-3
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
1
4
-6
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
1
0
1
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-5
9
2
0
0
0
0
0
0
-1
16
5
0
0
0
0
0
0
-4
8
-14
0
0
0
0
0
0
-6
-10
-14
0
0
0
0
0
0
1
8
-6
0
0
0
0
0
0
0
-10
-7
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
1
3
3
-13
0
0
0
0
0
-1
-8
33
-34
34
0
-1
0
0
-1
-4
8
1
-49
0
0
0
0
0
-7
2
2
45
0
0
0
0
0
9
-6
-9
49
0
0
0
0
0
-4
-7
-8
-30
0
1
0
0
0
0
4
5
-30
0
0
0
0
0
-5
-2
44
-32
0
-6
0
-2
-8
-9
-17
23
18
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
-2
7
0
0
0
0
0
0
0
5
-6
0
0
0
0
0
0
1
4
15
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-1
4
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-1
1
-8
0
0
0
0
0
0
0
-2
9
-19
0
0
0
0
0
1
-5
-2
-32
0
0
0
0
0
0
0
-25
7
0
0
0
0
0
4
3
3
16
0
0
0
0
0
0
1
1
12
0
0
0
0
0
0
-1
-4
-6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
-22
0
0
0
0
0
0
0
7
-16
15
0
0
0
0
0
-1
-2
-5
5
0
0
0
0
0
-6
-2
19
13
0
0
0
0
0
25
-5
-29
-19
0
0
0
0
0
0
0
1
21
0
0
0
0
-2
0
-8
-4
10
0
0
0
0
0
-4
0
12
-1
0
0
0
0
24
-17
18
-8
8
0
0
0
0
0
4
24
0
0
0
0
0
0
2
7
-3
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
7
-4
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
-12
0
0
0
0
0
-1
2
-9
15
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
3
0
0
0
0
0
0
-3
1
-5
25
0
0
0
0
0
0
-7
12
-4
0
0
0
0
0
0
2
-4
-32
0
3
0
0
0
0
2
0
39
0
0
0
0
0
-3
8
-3
-32
0
0
0
0
0
0
-1
4
-24
0
0
0
0
0
0
-1
0
-2
0
2
0
0
0
-7
-5
0
-6
0
0
0
0
0
0
-7
3
-13
2
0
0
0
0
0
5
-9
3
21
0
0
0
0
0
7
-3
13
-23
3
0
0
0
0
-1
8
8
-36
0
0
0
0
0
1
4
-31
18
0
0
0
0
-1
3
1
-4
-22
0
0
0
0
0
0
-6
-13
-8
-22
0
-2
-41
-48
31
-7
-14
18
0
0
0
0
-1
-4
26
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
16
2
0
0
0
0
0
0
16
9
-8
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
1
2
-9
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
-3
-4
0
0
0
0
0
0
0
9
-13
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
-2
-12
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
-4
-5
-1
1
0
0
0
0
0
0
0
-3
13
36
0
0
0
0
0
0
-24
-24
18
0
0
0
0
0
0
1
-1
-10
0
0
0
0
0
-2
-1
-1
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
13
-34
0
0
0
-1
0
0
-1
1
24
-31
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
3
3
13
-16
0
0
0
-1
0
1
16
-3
-29
0
0
0
0
0
0
-1
-7
24
0
0
0
0
0
0
2
-8
66
0
0
0
0
0
0
1
-25
6
0
0
0
-12
3
-9
-26
27
9
0
0
0
0
0
-7
13
0
0
0
-1
0
0
0
-6
15
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
17
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-5
0
0
0
0
0
0
0
0
0
-6
-8
36
0
0
0
0
0
0
-6
0
5
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
-1
13
-1
-12
0
0
0
0
0
0
1
-1
6
0
0
-3
0
0
0
0
2
-9
0
0
0
0
0
0
0
-1
-12
0
0
0
0
-1
0
0
-4
-1
0
0
0
0
0
0
0
7
-2
-33
0
-1
0
0
0
0
-5
12
15
0
0
0
0
0
-3
3
-42
24
0
0
0
0
0
0
-4
5
49
0
0
0
0
0
-1
1
-8
-27
0
0
0
0
0
0
0
-6
8
0
0
-3
0
-1
1
0
8
-5
0
-5
0
-8
-14
-34
26
-3
22
0
0
-1
0
0
1
12
0
0
0
0
0
0
0
30
14
0
0
0
0
0
-1
1
1
14
0
0
0
0
0
0
-1
-15
-5
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
1
5
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
20
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
1
0
3
-8
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
-4
3
-5
0
0
0
0
0
1
0
-1
14
23
0
0
0
0
0
0
-2
6
-7
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
-22
-1
5
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
3
0
-13
0
0
0
0
1
0
0
3
-3
22
0
0
0
0
0
1
9
12
-4
0
0
0
0
0
0
0
-13
22
0
0
0
0
-4
0
2
-6
-22
0
0
-2
0
0
0
-3
6
-18
0
0
2
0
2
0
0
-23
14
0
0
1
0
-1
-1
1
-2
-16
0
0
12
4
5
-45
54
-7
8
0
0
-2
4
12
14
31
0
0
0
21
0
0
-4
27
9
0
0
0
0
4
-20
-41
28
-1
0
0
10
1
-4
14
22
-7
-23
0
0
0
0
9
8
-49
-20
5
0
0
0
0
0
6
7
-1
6
0
0
0
0
-4
0
5
15
-21
0
0
0
0
6
1
5
-7
41
0
0
0
0
8
49
-39
19
-6
0
0
0
10
0
0
31
-34
-8
0
0
0
0
13
-7
-10
-5
25
0
0
5
7
-8
22
-43
-44
45
0
0
0
0
0
-25
-2
10
23
0
0
0
-3
-1
7
-4
22
20
0
0
0
0
9
22
3
-47
-23
0
0
-2
-4
-2
-46
-15
1
3
0
0
0
0
22
-8
44
-31
40
39
0
0
12
0
0
-7
4
-3
-13
0
0
0
-5
-3
-13
-9
-21
27
0
13
0
0
-6
25
-22
9
3
0
0
0
-8
-10
35
0
-2
4
0
0
-6
-2
-14
50
-39
42
1
0
0
0
1
-6
-22
38
58
-55
0
-13
0
1
10
-68
19
-10
9
0
0
0
-6
27
32
-45
5
-34
48
0
-10
0
0
7
17
57
11
-11
0
0
12
-10
-41
-49
20
85
-1
-4
-18
0
-8
-22
-65
5
49
13
0
0
-6
7
24
-34
-2
-40
-2
0
16
7
2
13
-22
-21
-5
-5
0
0
5
14
24
44
-23
-42
13
8
1
3
-63
49
6
-28
-67
-19
0
0
0
5
54
-3
4
0
0
0
0
0
8
-12
-9
41
0
0
0
0
-2
7
-2
-12
43
0
0
0
0
0
0
-13
-4
14
0
0
0
0
0
16
16
-55
41
0
0
0
0
2
-1
-13
13
28
0
0
0
0
1
18
-3
6
-17
0
0
0
0
0
-2
25
-10
-41
0
0
0
0
-2
-5
7
47
-13
0
0
0
0
0
-1
2
-6
-10
0
0
0
0
3
-9
-18
9
7
0
0
0
0
-2
6
21
-31
-9
0
0
0
0
-1
2
-13
13
46
0
0
0
0
0
0
-4
0
37
0
0
0
0
-9
1
3
-4
12
0
0
0
0
2
-30
-23
30
49
0
0
0
0
-8
3
17
-14
49
0
0
0
0
0
3
-7
-9
-8
0
0
0
0
-1
3
-1
-13
-10
0
0
0
0
0
0
-8
5
9
0
0
0
0
4
3
2
12
-16
0
0
0
0
0
0
3
-37
-5
0
0
0
0
1
0
-8
0
7
0
0
0
0
1
-1
0
16
-1
0
0
0
0
8
-2
0
-5
-13
0
0
0
0
0
1
-17
-3
9
0
0
0
0
0
3
3
-15
22
0
0
0
0
0
-1
4
-8
5
0
0
0
0
8
5
0
-4
59
0
0
0
0
1
0
9
-5
-5
0
0
0
0
-25
6
1
16
48
0
0
0
0
1
-19
-4
11
19
0
0
0
0
0
-3
2
4
59
0
0
0
17
0
3
4
-1
-20
0
0
0
0
1
8
3
7
-30
0
0
0
0
0
12
24
-2
5
0
0
0
0
0
0
13
1
-5
0
0
0
0
0
1
-9
1
-29
0
0
0
0
0
-2
4
17
7
0
0
0
0
0
0
-5
-42
6
0
0
0
0
0
-1
5
-39
-12
0
0
0
5
0
-2
10
-25
21
0
0
0
0
0
0
1
-34
-2
0
0
0
1
0
3
-35
-28
16
0
0
0
0
0
0
-2
-12
16
0
0
0
3
0
-3
1
-4
-7
0
0
0
0
0
3
0
24
-17
0
0
0
-2
0
-2
-8
-13
1
0
0
0
0
0
0
0
-4
22
0
0
0
-4
0
-1
4
-13
29
0
0
0
0
0
-2
0
-5
8
0
0
0
0
0
0
0
16
-4
0
0
0
0
0
0
-4
4
-5
0
0
0
-6
0
0
-2
-1
19
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
5
10
8
0
0
0
0
0
0
1
-8
17
0
0
0
-14
0
3
-1
22
4
0
0
0
0
0
0
4
-3
20
0
0
0
0
0
0
-8
52
-13
0
0
0
0
0
0
-1
-16
-3
0
0
0
35
0
-1
2
-4
12
0
0
0
0
0
0
-20
-1
9
0
0
0
-18
0
-25
9
-21
-15
0
0
0
0
0
-8
-2
5
34
0
0
0
0
0
-5
13
-5
29
0
0
0
0
9
7
-15
5
10
0
0
0
0
0
-15
-16
13
22
0
0
0
0
0
4
-8
5
-29
0
0
0
0
0
-2
4
-10
-3
0
0
0
0
-1
-1
-14
0
3
0
0
0
0
0
5
13
-3
5
0
0
0
0
0
2
8
-26
18
0
0
0
0
0
0
0
-18
9
0
0
0
0
0
-8
-7
-13
-5
0
0
0
0
0
-2
-8
-12
16
0
0
0
0
0
0
1
-35
0
0
0
0
0
0
-1
-8
-10
-25
0
0
0
0
2
0
-5
-15
34
0
0
0
0
-1
-2
-3
-20
15
0
0
0
0
0
1
-1
-16
-2
0
0
0
0
0
0
3
1
1
0
0
0
0
2
1
-7
-13
-4
0
0
0
0
1
0
19
13
9
0
0
0
0
0
1
-4
-16
-2
0
0
0
0
0
0
-3
7
6
0
0
0
0
2
-1
-6
8
16
0
0
0
0
0
0
15
13
1
0
0
0
0
0
1
-1
-3
-2
0
0
0
0
0
0
3
-8
-9
0
0
0
0
-1
0
-5
-1
-8
0
0
0
0
-2
0
8
14
10
0
0
0
0
3
3
2
-26
31
0
0
0
0
1
-1
7
-17
-15
0
0
0
0
-2
-5
4
-8
-24
0
0
0
0
-4
5
14
-15
-25
0
0
0
0
1
-8
-13
-16
67
0
0
0
0
0
1
-5
5
13
0
0
0
0
2
-9
5
10
-8
0
0
2
0
0
13
16
3
-2
0
0
0
0
0
1
6
1
20
0
0
0
0
0
-1
-1
14
-4
0
0
0
0
1
2
5
39
-10
0
0
1
0
0
-1
9
12
-3
0
0
0
0
0
-2
-3
8
-8
0
0
0
0
0
-4
-5
7
13
0
0
0
0
0
1
5
14
-33
0
0
17
0
0
-9
8
-9
-5
0
0
0
0
0
-2
-2
-1
-31
0
0
0
0
0
0
-16
12
0
0
0
0
0
0
-4
12
-7
5
0
0
2
0
0
-31
-20
-26
41
0
0
0
0
1
2
-4
-2
10
0
0
0
0
0
-1
8
19
-12
0
0
0
0
0
0
-18
31
20
0
0
-4
0
1
-8
-48
-49
13
0
0
0
0
0
0
0
-8
-9
0
0
0
1
0
0
5
-10
25
0
0
0
0
1
0
-2
0
3
0
0
-1
0
0
6
8
-15
3
0
0
0
0
0
1
-8
-2
5
0
0
0
0
0
1
1
5
-12
0
0
0
0
0
-2
-7
-12
-8
0
0
-45
0
0
8
-5
-48
25
0
0
0
0
0
1
-8
14
-14
0
0
0
0
0
-2
1
-9
13
0
0
0
0
-1
2
-1
-16
9
0
0
3
2
-3
-9
17
16
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
6
-12
0
0
0
0
0
0
0
-1
-7
27
0
0
0
0
0
0
1
1
-15
0
0
0
0
0
0
0
7
15
0
0
0
0
-5
-14
10
10
23
0
0
0
0
0
-3
8
-2
-4
0
0
0
0
0
-1
-1
-1
13
0
0
0
0
1
0
-14
10
28
0
0
0
0
-5
5
-3
12
-10
0
0
0
0
0
0
5
23
26
0
0
0
0
0
0
3
-5
14
0
0
0
0
0
0
-2
-10
18
0
0
0
0
0
0
0
7
-9
0
0
0
0
0
0
-3
3
-22
0
0
0
0
0
-2
0
1
7
0
0
0
0
0
0
-3
13
-17
0
0
0
0
7
-3
31
-8
14
0
0
0
0
0
0
-8
-8
1
0
0
0
0
0
-1
2
23
16
0
0
0
0
0
0
-3
-15
-10
0
0
0
0
-3
7
1
-1
24
0
0
0
0
0
0
-8
-3
-6
0
0
0
0
0
0
0
6
-8
0
0
0
0
1
0
0
-5
-9
0
0
0
0
2
9
9
-15
7
0
0
0
0
0
-1
0
8
-21
0
0
0
0
1
0
3
-30
31
0
0
0
0
0
4
-7
-1
-29
0
0
0
0
18
-7
-29
23
-31
0
0
0
0
0
1
5
-2
4
0
0
0
0
1
3
5
-3
-5
0
0
0
0
5
-26
21
3
0
0
0
0
0
0
0
0
-20
16
0
0
0
0
0
0
1
-7
36
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
-5
-1
-1
0
0
0
0
0
0
2
2
-8
0
0
0
0
0
0
-5
-12
30
0
0
0
0
0
0
0
-10
8
0
0
0
0
0
1
2
-29
13
0
0
0
0
0
0
4
7
-6
0
0
0
0
0
0
0
10
-17
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
3
-18
37
0
0
0
0
0
0
0
-1
-4
0
0
0
-1
0
1
1
-7
51
0
0
0
0
0
0
0
-4
20
0
0
0
0
0
-2
0
0
25
0
0
0
0
0
0
1
20
-22
0
0
0
18
0
1
1
-32
-5
0
0
0
0
0
0
0
-25
14
0
0
0
0
0
1
-6
3
7
0
0
0
0
0
0
3
-10
8
0
0
0
-1
0
-2
0
-1
-1
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
8
-8
-1
0
0
0
-3
0
0
-1
15
-26
0
0
0
0
0
0
-2
12
-1
0
0
0
2
0
-1
0
-31
1
0
0
0
0
0
0
1
8
14
0
0
0
-8
0
0
-1
-34
0
0
0
0
0
0
0
-1
5
9
0
0
0
-7
0
-2
-13
22
9
0
0
0
0
1
-1
-5
0
7
0
0
0
0
0
0
0
-14
-8
0
0
0
0
-1
-1
0
13
-19
0
0
0
0
0
1
12
-33
-13
0
0
0
0
0
-1
0
4
-17
0
0
0
0
0
0
2
-4
-8
0
0
0
0
0
0
1
0
-25
0
0
0
0
0
0
6
-8
-6
0
0
0
0
0
0
0
4
27
0
0
0
0
0
0
-2
2
-17
0
0
0
0
0
-1
0
-13
41
0
0
0
0
0
-1
-2
-4
25
0
0
0
0
0
9
0
-5
-23
0
0
0
0
0
0
-3
4
-22
0
0
0
0
1
2
1
3
-12
0
0
0
0
0
3
34
2
-24
0
0
0
0
0
0
-1
5
12
0
0
0
0
0
-1
9
-5
-9
0
0
0
0
1
0
3
-17
4
0
0
0
0
0
0
8
8
10
0
0
0
0
0
0
2
1
8
0
0
0
0
0
0
2
0
9
0
0
0
0
0
-1
1
1
-1
0
0
0
0
0
-4
2
-14
2
0
0
0
0
2
-2
-3
-20
6
0
0
0
0
0
0
0
6
-16
0
0
0
0
0
2
0
-29
2
0
0
0
0
0
-1
2
-8
-4
0
0
0
0
6
-1
13
-5
-20
0
0
0
0
0
0
0
0
24
0
0
0
0
3
-1
-4
9
17
0
0
0
0
0
3
-6
3
16
0
0
0
0
0
0
2
3
9
0
0
0
0
0
-2
0
14
-6
0
0
0
0
0
0
-9
16
-10
0
0
0
0
0
1
-5
-15
6
0
0
0
0
0
0
-3
5
8
0
0
0
0
0
0
-3
-2
-9
0
0
0
0
0
0
1
-17
14
0
0
0
0
0
-10
2
1
30
0
0
0
0
0
0
1
1
-15
0
0
0
1
0
0
-1
-7
3
0
0
0
0
0
0
1
-2
-23
0
0
-5
0
0
0
-2
17
-5
0
0
0
0
0
0
0
0
28
0
0
0
0
0
1
9
-5
-8
0
0
0
0
0
0
-6
9
-3
0
0
0
0
0
1
18
-9
-28
0
0
0
0
0
1
-2
9
-2
0
0
0
0
0
1
-9
1
-7
0
0
0
0
0
-2
1
-10
0
0
0
14
0
0
-7
13
-39
-4
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-3
-1
-8
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
-1
-6
-1
0
0
0
0
0
3
-2
0
-19
0
0
0
0
0
0
1
23
-24
0
0
0
0
0
0
-1
-30
7
0
0
-13
0
0
1
-41
6
13
0
0
0
0
0
0
-9
-4
12
0
0
0
-2
0
0
8
6
-2
0
0
0
0
0
1
9
-30
5
0
0
14
1
-2
-22
-14
-7
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-1
17
-5
0
0
0
0
0
0
-5
4
-6
0
0
0
0
0
1
-3
-24
10
0
0
0
0
0
-1
-16
3
17
0
0
0
0
0
-2
4
-6
7
0
0
0
0
0
0
2
-7
2
0
0
0
0
0
-2
2
-3
-6
0
0
0
0
0
-5
4
-12
-9
0
0
0
0
-10
12
14
24
29
0
0
0
0
0
0
12
-12
4
0
0
0
0
0
4
-7
-8
-4
0
0
0
0
0
-10
-9
-8
12
0
0
0
0
-2
7
20
19
15
0
0
0
0
0
0
-7
-18
-1
0
0
0
0
3
1
8
21
-4
0
0
0
0
0
-3
-8
1
-5
0
0
0
0
7
7
5
9
20
-15
0
0
0
0
-1
-1
-16
-5
22
0
0
0
0
0
0
-5
0
-10
0
0
0
-1
5
0
13
-8
29
0
0
0
4
2
5
-9
23
-31
0
0
0
0
0
8
-17
24
-18
0
0
0
-1
-1
0
5
10
-16
0
0
0
0
-1
0
2
0
-46
0
0
0
16
-1
16
25
-33
23
0
0
0
0
0
7
5
46
-5
0
0
0
-1
0
8
-10
1
-67
0
0
0
0
0
4
-13
-6
39
0
0
0
-10
14
21
9
41
-18
0
0
0
0
-1
1
5
-8
44
0
0
0
1
3
25
-50
-39
38
0
0
0
-14
13
-3
-3
26
-34
0
0
0
0
0
7
-3
18
0
0
0
-5
0
5
1
-9
20
0
0
0
0
0
0
-1
-43
-1
0
0
0
0
0
2
-13
-9
-16
0
0
0
0
0
0
0
14
-9
0
0
0
0
0
-1
-25
3
-9
0
0
0
0
0
0
-2
3
-10
0
0
0
0
0
-3
-9
17
-3
0
0
0
0
0
0
2
-29
19
0
0
0
-5
0
0
-1
3
34
0
0
0
0
0
0
-12
13
-12
0
0
0
0
0
2
-12
20
5
0
0
0
0
0
0
-3
7
-13
0
0
0
0
0
-1
-2
-14
2
0
0
0
0
0
-2
-13
-12
21
0
0
0
0
0
4
5
-25
31
0
0
0
0
0
1
5
4
7
33
0
0
23
0
1
-4
24
19
-4
0
0
0
0
0
-1
-16
1
6
0
0
0
0
0
12
-2
-16
-16
0
0
0
0
0
0
-3
-33
24
0
0
0
0
0
3
8
2
-54
0
0
0
0
0
0
0
-7
-43
0
0
0
0
0
-7
14
-17
-13
0
0
0
0
0
-1
-67
42
49
0
0
13
0
-3
1
-6
21
-8
0
0
0
0
-3
-1
13
2
35
0
0
0
0
0
5
13
-21
5
0
0
0
0
0
5
5
14
-5
0
0
9
0
0
-7
21
-6
-26
0
0
0
0
-2
5
-27
-20
7
0
0
24
-1
5
17
-35
8
-4
0
0
0
0
2
1
20
0
0
0
0
0
0
0
-2
-9
18
0
0
0
0
4
0
1
-3
-8
0
0
0
0
0
0
2
13
-18
0
0
0
0
0
1
-13
-8
4
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
2
-4
0
0
0
0
0
0
1
6
7
0
0
0
0
0
-2
0
-23
-4
0
0
0
0
-2
1
1
-28
9
0
0
0
0
0
0
30
7
25
0
0
0
0
0
-1
4
2
4
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
-2
-7
3
-19
0
0
0
0
-1
2
-14
1
-23
0
0
0
0
-1
1
-1
2
-21
-24
0
0
0
0
0
0
-5
-21
-11
0
0
0
1
1
0
-9
-18
21
0
0
0
0
1
-7
-8
-5
-13
0
0
0
0
-1
10
-4
-6
-41
0
0
0
0
0
0
-2
-8
0
0
0
0
1
0
-5
-3
5
-16
0
0
0
0
-1
-2
-19
7
-2
0
0
0
0
-1
-6
1
8
26
0
0
0
0
0
0
-1
-6
16
0
0
0
0
-1
-8
4
1
36
0
0
0
0
-3
-2
-24
-1
-6
0
0
0
-1
-5
-2
2
5
-4
0
0
0
0
0
0
0
8
-25
0
0
0
0
3
8
14
3
-58
0
0
0
-2
10
-25
-19
3
20
0
0
0
0
0
-5
3
13
0
0
0
0
0
0
-2
-3
-4
0
0
0
0
0
0
0
8
-5
0
0
-1
0
0
1
-16
4
5
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
-25
3
5
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
20
-19
6
0
0
0
0
0
0
0
0
24
-17
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
5
-37
-13
0
0
-4
0
0
-5
-7
-7
14
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
-6
-6
6
0
0
0
0
0
1
3
-7
-16
0
0
0
0
0
6
9
-4
-2
0
0
0
0
1
0
0
10
9
-33
0
0
0
0
0
8
-9
-20
3
0
0
0
-1
1
0
-19
-18
-4
0
21
0
0
4
24
16
-5
8
0
0
0
0
0
2
1
2
-43
0
0
0
0
0
0
-7
-1
16
0
0
0
0
1
0
-3
2
10
0
-2
0
0
3
-3
-16
-9
-40
0
0
0
0
2
-2
7
-7
24
0
0
0
0
-4
5
-23
-8
13
0
0
0
0
1
25
-14
-16
-5
0
0
0
0
-28
4
7
24
-17
0
0
0
0
-4
1
8
-8
1
0
0
0
0
0
-12
14
3
2
0
0
0
0
-7
-3
-17
13
-45
0
1
0
0
-19
10
8
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
9
24
5
0
0
0
0
0
0
-1
2
19
0
0
0
0
0
0
2
-1
5
0
0
0
0
0
0
0
-3
6
0
0
0
0
-2
0
15
0
-13
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
2
-6
14
0
0
0
0
5
1
10
14
6
0
0
0
0
0
-1
-4
10
7
0
0
0
0
0
2
-3
-21
-13
0
0
0
0
0
0
0
1
-10
0
0
0
0
4
7
17
-3
-4
0
0
0
0
0
0
12
-10
14
0
0
0
0
0
21
-4
-8
16
0
0
0
0
-4
-8
16
-18
-11
0
0
0
0
-2
7
-22
0
15
-5
0
0
0
0
0
-1
-2
32
38
0
0
0
0
2
-1
-1
7
-41
0
0
0
0
1
1
4
-8
1
0
0
0
10
2
-3
31
27
-28
0
0
0
-2
-1
5
18
-19
-7
0
0
0
-2
1
1
5
-9
6
0
0
0
-1
-7
-7
33
10
-47
0
0
0
-15
-14
-6
-2
1
24
39
0
0
0
0
-4
-8
-15
-87
30
0
0
0
-13
0
-16
-7
11
-12
0
0
0
2
2
-10
1
22
7
0
0
3
5
31
4
-10
13
-66
0
0
0
-1
8
-9
40
-13
34
0
0
8
-5
1
40
9
-17
-28
0
0
-8
-22
4
-50
-12
-16
31
0
0
0
0
1
-3
24
0
0
0
16
0
0
0
-5
-41
0
0
0
0
0
0
0
-5
-13
0
0
0
0
0
0
-6
3
-5
0
0
0
0
0
0
0
7
-5
0
0
0
0
0
-1
5
-2
-30
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
24
-3
0
0
0
0
0
-1
5
-9
-28
0
0
0
-7
0
0
-8
-14
20
0
0
0
0
0
0
2
-5
-9
0
0
0
0
0
-2
5
8
7
0
0
0
0
0
-1
3
0
34
0
0
0
0
0
0
0
5
-29
0
0
0
0
0
0
-1
1
58
0
0
0
-2
0
1
-4
-29
44
0
0
0
0
0
0
-3
-1
23
-18
0
0
-9
0
-5
7
-8
22
11
0
0
0
0
0
0
-8
-9
14
0
0
0
0
0
5
-2
14
-8
0
0
0
0
0
-14
-2
22
48
0
0
-2
0
-1
-1
-25
5
-5
0
0
0
0
0
2
-8
-2
-4
0
0
0
0
2
2
-1
6
-16
0
0
0
0
0
-9
7
17
-3
9
0
-6
0
0
-5
-66
6
10
-4
0
0
0
0
1
-22
27
2
-9
0
0
0
1
-25
-13
-5
-4
6
0
0
0
-2
8
23
-2
-69
34
0
3
0
0
-14
-9
18
15
60
0
0
0
0
7
-23
-43
-48
4
0
-18
0
-6
-5
30
-7
-6
-13
0
0
0
0
-2
-24
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
1
2
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-1
4
5
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
2
-6
0
16
0
0
0
0
0
0
0
-19
-4
0
0
0
0
0
-2
2
-8
-2
0
0
0
0
0
2
2
-7
-8
0
0
0
0
1
0
-6
7
-4
0
0
0
0
0
0
-2
-1
19
0
0
0
0
0
-1
-10
-6
5
0
0
0
0
-1
0
16
-9
1
0
0
0
0
-1
-3
2
1
20
-23
0
0
0
0
0
0
1
-5
-1
0
0
0
0
0
2
3
8
2
0
0
0
0
0
-25
-24
2
15
0
0
0
-3
0
1
-3
1
19
0
0
0
0
0
-1
-8
2
13
0
0
0
0
0
0
-19
-4
-6
0
0
0
0
0
2
8
1
-14
0
0
0
-4
-4
2
-4
9
5
3
0
0
0
0
0
-13
10
33
-26
0
0
0
4
0
-5
-6
-19
34
0
0
-2
4
-5
18
0
-29
31
0
0
-2
-8
0
22
47
-22
-29
0
0
0
-2
1
13
-5
4
17
0
0
-3
0
-13
-1
-3
-6
-31
0
0
5
10
7
-38
15
-28
8
0
0
0
-1
0
-6
4
0
0
0
0
0
0
0
-13
15
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
-1
-5
-13
16
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-10
-10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
7
-1
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
1
6
-8
-16
0
0
0
0
0
-3
2
-22
-5
0
0
-7
0
0
-1
-7
-15
-5
0
0
0
0
0
0
-7
4
1
0
0
0
-1
0
0
-15
6
24
0
0
0
0
0
0
2
7
8
0
0
-6
0
0
-3
22
-38
-8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
-25
-13
15
0
0
0
0
0
-5
-3
5
-5
0
6
0
0
0
-6
22
-1
-35
0
0
0
0
0
0
-4
-16
5
0
0
0
0
0
-1
-18
8
7
0
0
0
0
0
0
9
-16
13
0
-5
0
0
-5
-5
-4
2
44
0
0
0
0
-2
2
-5
-1
-31
5
0
0
0
-2
-7
-17
-3
53
-33
0
0
0
0
-4
5
1
28
-15
-5
0
0
0
-6
-13
23
-6
-19
0
0
0
0
7
-25
1
-48
51
0
0
0
0
-5
13
-13
-13
-5
0
0
0
0
-20
-1
-7
-43
40
-11
-1
0
11
26
4
-26
9
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
-8
-24
-25
0
0
0
0
0
0
-10
-12
7
0
0
0
0
0
0
-19
0
15
0
0
0
0
-1
1
-2
-4
-60
0
0
0
0
0
1
-1
6
2
0
0
0
0
0
2
0
9
23
0
0
0
0
0
0
-4
3
46
0
0
0
0
0
0
7
-16
22
0
0
0
0
1
-16
4
-9
23
0
0
0
0
0
0
-2
6
44
0
0
0
0
0
-5
8
-6
8
0
0
0
0
0
-5
2
7
8
0
0
0
0
4
1
0
-25
-7
0
0
0
0
0
1
-1
-7
26
0
0
0
0
2
-4
4
0
9
0
0
0
0
0
2
-13
30
-19
0
0
0
0
0
1
4
8
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
1
0
0
-4
17
0
0
0
0
0
-2
-2
10
-5
0
0
0
0
-1
1
8
-16
-9
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
-2
2
7
0
0
0
0
-1
0
0
3
12
0
0
0
0
3
-5
14
8
17
0
0
0
0
0
0
-1
14
12
0
0
0
0
0
0
8
-4
-8
0
0
0
0
0
0
3
-14
8
0
0
0
0
5
5
-2
-13
-26
0
0
0
0
0
0
0
19
18
0
0
0
0
-10
-7
22
-9
-14
0
0
0
0
-8
14
31
-7
0
0
0
0
0
0
0
2
-2
32
0
0
0
8
0
-1
-1
-31
-3
0
0
0
0
0
-1
0
-3
-14
0
0
0
0
0
-2
-13
-21
36
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
-2
-10
-22
0
0
0
0
0
0
1
3
-3
0
0
0
0
0
0
6
-3
-14
0
0
0
0
0
0
0
2
5
0
0
0
-4
0
1
2
0
-14
0
0
0
0
0
-1
0
1
-1
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
-1
-12
22
0
0
0
3
0
1
-2
10
-2
0
0
0
0
0
0
-2
0
7
0
0
0
0
0
1
-2
-21
28
0
0
0
0
0
0
0
8
45
0
0
0
-2
0
0
5
9
33
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
7
-3
0
0
0
0
0
0
-4
14
1
0
0
0
-4
0
0
0
19
9
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
2
-1
2
4
0
0
0
0
0
0
0
-7
37
0
0
0
-14
0
0
-1
4
15
0
0
0
0
0
0
0
5
6
0
0
0
3
0
-1
0
19
-1
0
0
0
0
0
-1
0
-5
-5
0
0
0
7
0
0
8
-21
8
0
0
0
0
0
0
-5
-13
4
0
0
0
20
0
-7
-6
-25
-7
0
0
0
0
1
-8
-3
13
-4
0
0
0
0
0
0
0
10
-15
0
0
0
0
0
4
-9
19
1
0
0
0
0
0
0
-9
0
7
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
4
-25
5
0
0
0
0
0
-4
7
3
7
0
0
0
0
0
-1
2
10
-35
0
0
0
0
0
0
0
-5
16
0
0
0
0
0
0
5
1
-21
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
2
9
0
0
0
0
0
0
-1
-4
22
0
0
0
0
0
0
2
9
54
0
0
0
0
0
0
2
13
16
0
0
0
0
0
1
2
6
6
0
0
0
0
0
0
-1
-2
13
0
0
0
0
0
0
6
1
5
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
10
5
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
-2
-9
-4
0
0
0
0
0
0
0
3
2
0
0
0
0
0
-1
1
6
-1
0
0
0
0
0
0
3
-19
-1
0
0
0
0
0
0
3
0
-24
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
3
-9
12
0
0
0
0
-1
0
-9
9
-1
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
1
4
-1
8
0
0
0
0
0
0
7
-20
-13
0
0
14
0
0
-7
8
88
-4
0
0
0
0
0
0
-1
14
23
0
0
0
0
0
0
-5
2
8
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
25
15
11
0
0
0
0
0
1
-1
0
-8
0
0
0
0
0
0
6
7
-15
0
0
0
0
0
0
1
15
-12
0
0
0
0
0
0
9
-26
19
0
0
0
0
0
0
-1
-9
16
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
2
-3
8
3
0
0
0
0
0
-1
-9
55
28
0
0
0
0
0
0
-7
-1
1
0
0
0
0
0
0
2
-24
-12
0
0
0
0
0
0
1
0
-3
0
0
-2
0
0
0
-5
-1
6
0
0
0
0
0
0
-2
-5
-3
0
0
0
0
0
0
2
4
-3
0
0
0
0
0
0
-3
1
0
0
0
-2
0
0
0
16
-24
8
0
0
0
0
0
1
0
-42
13
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
1
-7
1
0
0
-3
0
0
0
17
24
8
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
3
5
16
0
0
0
43
0
0
-20
7
21
-25
0
0
0
0
0
-1
-1
-14
5
0
0
0
0
0
0
2
-15
21
0
0
0
0
0
0
2
-43
-21
0
0
0
0
0
0
-8
2
3
0
0
0
0
0
1
5
4
-16
0
0
0
0
0
0
0
10
19
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
3
6
5
0
0
0
0
0
-2
16
-9
6
0
0
0
0
0
-1
13
-5
-8
0
0
0
0
0
0
8
-8
-14
0
0
0
0
0
1
-2
-19
-6
0
0
0
0
1
0
-2
0
47
0
0
0
0
0
0
-6
1
5
0
0
0
0
0
-1
-2
1
-1
0
0
0
0
-3
0
0
-12
1
0
0
0
0
0
7
7
-10
8
0
0
0
0
0
-2
4
-5
-8
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
0
0
-3
13
0
0
0
0
-1
0
2
2
-4
0
0
0
0
0
0
0
-15
-6
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
-4
0
-1
7
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
10
5
19
0
0
0
0
0
0
0
-17
-3
0
0
0
0
-1
0
1
6
-2
0
0
0
0
-2
-13
-15
6
-13
0
0
0
0
0
0
-3
5
6
0
0
0
0
0
0
0
-13
5
0
0
0
0
0
0
-2
10
8
0
0
0
0
0
0
3
8
6
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
5
10
-1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
-2
-22
10
0
0
0
0
0
0
3
-3
-23
0
0
0
0
0
0
-5
-12
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
-1
-9
1
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
12
13
0
0
0
0
0
0
-1
0
1
0
0
0
3
0
0
-1
-5
-19
0
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
7
1
2
0
0
0
0
0
0
0
1
2
0
0
0
0
0
1
-2
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
-7
16
0
0
0
0
0
-1
-3
1
9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
-8
8
0
0
0
0
0
0
8
-2
-8
0
0
0
0
0
0
0
-8
19
0
0
0
0
0
0
-6
-4
-1
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
1
1
-12
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
-5
-19
0
0
0
0
0
0
1
3
9
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
-1
3
-13
0
0
0
0
0
-1
-1
7
7
0
0
0
0
0
0
2
20
-7
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
1
-3
4
2
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
-1
19
8
-29
0
0
0
0
0
3
12
-12
12
0
0
0
0
0
0
-3
-20
14
0
0
0
0
0
0
-5
30
-5
0
0
0
0
0
5
14
-34
-11
0
0
0
0
0
0
6
0
-8
0
0
0
0
0
-1
4
39
3
0
0
0
0
0
0
-3
3
-8
0
0
0
0
0
-14
-19
-13
12
0
0
0
0
0
0
7
-2
7
0
0
0
0
0
-1
3
-9
9
0
0
0
0
0
0
1
12
-3
0
0
0
0
0
5
-8
2
-3
0
0
0
0
0
0
-4
-5
-10
0
0
0
0
0
0
6
-4
-23
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-1
-26
30
5
0
0
0
0
0
10
3
8
-1
0
0
0
0
0
0
-2
-2
-24
0
0
0
0
0
-1
4
-1
13
0
0
0
0
0
-4
-4
-20
15
0
0
0
0
0
-2
0
1
-2
0
0
0
0
0
0
5
-5
8
0
0
0
0
0
0
-1
-4
-6
0
0
0
0
0
1
1
8
0
0
0
0
0
0
4
0
-6
12
0
0
0
0
0
-1
-3
-2
-10
0
0
0
0
0
-1
0
-9
1
0
0
0
0
0
2
-1
-1
3
0
0
0
0
0
2
5
-22
-4
0
0
0
0
0
-1
14
6
-8
0
0
0
0
0
6
14
1
5
0
0
-1
0
0
9
-15
-29
45
0
0
0
0
9
-2
-2
-1
-24
0
0
0
0
0
0
0
3
-12
0
0
0
0
0
0
0
6
-23
0
0
0
0
0
0
2
32
0
0
0
0
0
0
-1
8
5
3
0
0
0
0
0
-2
0
0
8
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
7
-13
-21
0
0
0
0
1
0
-3
-6
-2
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
-1
-7
15
7
0
0
0
0
0
6
-1
-31
28
0
0
0
0
-1
0
6
-2
48
0
0
0
0
0
0
-2
-4
15
0
0
0
0
-1
2
-13
5
21
0
0
0
0
0
-6
-13
21
-39
0
0
0
0
0
0
-3
-3
-3
0
0
0
0
0
0
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
10
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
-5
0
-10
0
0
0
0
0
0
1
-6
7
0
0
0
0
0
-1
0
-5
7
0
0
0
0
0
-1
-1
1
0
0
0
0
0
-5
2
5
14
49
0
0
0
0
0
0
0
-7
-4
0
0
0
0
-1
0
-6
3
-22
0
0
0
0
1
-6
4
12
5
0
0
0
0
0
0
2
9
-1
0
0
0
5
0
0
-1
-1
-34
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
-2
-1
-7
0
0
0
0
0
0
-3
0
-2
-20
0
0
0
0
0
0
3
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
10
0
0
0
0
0
0
0
16
10
0
0
0
0
0
0
2
30
12
0
0
0
0
0
0
0
-12
21
0
0
0
0
0
2
2
-10
29
0
0
0
0
0
0
0
2
-19
0
0
0
3
0
0
-9
-2
12
0
0
0
0
0
0
0
-13
-1
0
0
0
-1
0
0
-6
-14
18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
9
-13
0
0
0
0
0
0
1
4
-1
0
0
0
0
0
0
2
-8
1
0
0
0
0
0
0
0
-16
15
0
0
0
5
0
0
3
-32
-16
0
0
0
0
0
0
0
-5
-42
0
0
0
3
0
-1
-6
1
48
0
0
0
0
0
0
3
-5
-7
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
-3
2
4
19
0
0
0
0
0
0
0
-13
25
0
0
0
0
0
0
0
8
12
0
0
0
0
0
0
0
12
-12
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
7
12
0
0
0
0
0
1
2
8
-6
0
0
0
0
0
0
0
-52
10
0
0
0
0
-1
0
-6
13
5
0
0
0
0
0
-2
1
0
-2
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
-1
2
-5
0
0
0
0
0
2
7
-9
-3
0
0
0
0
0
0
1
-22
2
0
0
0
0
1
0
-1
-2
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
-2
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
22
-18
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
-1
10
-4
0
0
0
0
-1
-5
0
13
-22
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
-1
-1
29
5
0
0
0
0
0
0
2
-7
25
0
0
1
0
0
-1
-3
-8
5
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
2
2
-14
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-1
13
-13
-1
0
0
0
0
0
0
17
17
-1
0
0
0
0
0
0
17
-30
-2
0
0
0
0
0
0
-1
-12
-8
0
0
3
0
0
2
-23
-17
-4
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
1
-1
-5
3
0
0
0
0
0
1
-1
13
-9
0
0
0
0
0
-2
8
-32
-2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-2
0
0
0
0
0
0
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-9
-1
0
0
1
0
0
0
0
-12
0
0
0
0
0
0
-4
0
8
-18
0
0
0
0
0
0
-1
-6
12
0
0
0
0
0
0
1
12
1
0
0
0
0
0
-2
2
-17
-28
0
0
0
0
0
0
0
1
23
0
0
0
0
0
0
0
-17
13
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
7
-2
-2
8
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
2
-3
4
0
0
0
0
0
0
0
-10
7
0
0
0
0
0
0
1
2
-8
0
0
0
0
0
0
1
-3
7
0
0
0
0
0
-2
2
-2
6
0
0
0
0
0
0
1
0
5
0
0
0
0
-2
0
-2
1
1
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
1
0
2
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
2
-6
2
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
1
-2
1
8
0
0
0
0
0
1
1
2
5
0
0
0
0
2
0
0
-2
0
0
0
0
0
-1
-3
-1
4
7
0
0
0
0
0
0
0
0
21
0
0
0
0
0
-3
0
5
2
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
-6
-17
17
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
2
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
-1
9
0
0
0
0
0
0
1
-5
-14
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
-1
0
-3
-6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
-7
-2
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
-1
-27
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-1
0
0
0
-2
-20
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-13
44
-30
0
0
0
0
0
1
-2
-4
29
0
0
0
0
0
0
1
17
41
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
-3
13
5
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
-1
0
1
1
13
0
0
0
0
0
0
-3
2
-10
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
-4
2
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
0
-1
9
0
0
0
0
0
-1
-1
0
9
0
0
0
0
0
0
-2
-1
6
0
0
0
0
0
0
0
8
-22
0
0
0
0
0
0
-1
-2
-24
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-1
0
0
0
0
0
0
0
7
2
0
0
0
0
0
-1
0
1
5
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
-2
0
-5
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
-2
-2
-1
0
0
0
0
1
1
5
-46
25
0
0
0
0
0
-7
0
3
-2
0
0
0
-1
0
0
0
-18
41
0
0
0
0
0
0
3
-1
-3
0
0
0
0
0
4
8
-20
1
0
0
0
0
0
0
0
0
20
0
0
0
0
0
1
-31
-4
-10
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
-24
20
-4
0
0
0
0
0
0
15
-8
10
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
1
-3
7
-17
0
0
0
0
0
-9
-10
-20
33
0
0
0
0
0
0
-3
2
2
0
0
0
0
0
0
2
0
-19
0
0
0
0
0
-2
2
-3
-8
0
0
0
0
0
-8
5
-15
-4
0
0
0
0
0
5
5
0
17
0
0
0
-1
0
-1
0
6
22
0
0
0
0
0
0
-1
3
16
0
0
0
0
0
1
-10
1
2
0
0
0
0
0
0
-1
2
8
0
0
0
0
0
0
-4
4
-24
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
6
1
-8
-22
0
0
0
0
0
-1
3
8
-32
0
0
0
0
0
0
0
-4
5
0
0
-1
0
0
1
-18
4
22
0
0
0
0
0
-3
0
-5
-6
0
0
0
0
0
-2
3
-1
12
0
0
0
0
0
0
1
4
6
0
0
0
0
0
-17
6
-12
10
0
0
0
0
1
-6
6
10
4
0
0
0
0
0
0
0
-5
12
0
0
0
0
3
0
-3
-22
5
0
0
0
0
0
0
4
-8
0
0
0
0
0
-2
1
1
0
15
0
0
0
0
0
-3
0
2
-9
0
0
0
0
0
0
-1
-3
-2
0
0
0
0
0
3
-5
-13
16
0
0
0
0
-2
7
6
14
-14
0
0
0
0
0
0
-2
-5
4
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
0
3
8
0
0
0
0
0
-1
3
3
8
0
0
0
0
0
2
-4
7
6
0
0
0
0
0
-1
5
-44
4
0
0
0
0
1
-2
6
-8
-17
-9
0
0
0
0
0
-1
-4
-1
8
0
0
0
0
0
0
5
17
-3
0
0
0
0
1
-5
0
10
-20
0
0
0
0
0
3
-2
-7
-53
0
0
0
0
0
0
-6
7
12
0
0
0
0
0
0
-1
-8
30
0
0
0
0
-2
5
0
1
5
0
0
0
3
-5
6
2
10
49
0
0
0
0
0
0
0
13
55
0
0
0
0
-1
2
2
3
17
0
0
0
0
-1
-8
-12
-5
51
0
0
0
3
0
-5
5
2
40
0
0
0
0
1
1
7
1
14
0
0
0
8
3
-1
8
31
-1
0
0
0
-5
-13
12
8
13
-20
0
0
0
0
0
1
8
3
0
0
0
16
0
0
0
7
-24
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-2
5
19
0
0
0
0
0
1
0
-2
-7
0
0
0
0
0
0
2
-3
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
-3
-7
13
0
0
0
0
0
0
0
-3
9
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
0
0
0
0
0
0
0
2
2
0
0
0
-1
0
0
0
6
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-8
35
0
0
0
0
0
0
0
8
-3
27
0
0
13
0
0
0
23
-6
-5
0
0
0
0
0
0
-12
-13
70
0
0
0
0
0
0
4
-3
21
0
0
0
0
-1
0
-17
-1
-23
0
0
0
0
0
-1
-1
8
-7
0
0
0
0
0
0
1
0
-54
0
0
0
0
0
5
3
-8
2
0
0
0
0
0
-3
5
-13
41
0
0
-12
0
0
0
-41
9
18
0
0
0
0
0
0
-5
3
14
0
0
0
0
0
0
0
-7
-13
0
0
0
0
0
0
8
29
-16
0
0
-1
0
0
1
18
2
-11
0
0
0
0
0
-1
6
7
-26
0
0
-3
0
0
3
-20
-13
18
0
0
0
0
0
-3
-8
4
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
-1
-5
-3
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
-1
-10
1
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
-9
8
0
0
0
0
0
0
0
-9
13
0
0
0
0
2
0
0
2
0
67
0
0
0
0
0
0
-4
5
15
0
0
0
0
0
2
-16
-8
-16
0
0
0
0
0
0
-5
-8
28
0
0
0
0
0
2
-3
1
-18
0
0
0
0
0
0
1
0
15
0
0
0
-1
0
0
-2
0
-17
0
0
0
0
0
2
1
0
-28
0
0
0
0
0
0
-4
-12
41
0
0
0
0
0
0
-1
-1
13
0
0
0
0
0
0
5
1
-12
0
0
0
0
0
0
-5
4
9
0
0
0
0
0
2
-2
6
-20
0
0
0
0
0
0
-6
1
-3
0
0
0
1
0
1
-7
0
-53
0
0
0
0
0
-8
4
-14
-13
0
0
0
0
-2
0
3
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-4
-1
0
0
-3
0
0
0
-4
-4
15
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
-1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
-5
-7
0
0
0
0
0
0
0
-3
2
-12
0
0
0
0
0
0
-14
-2
43
0
0
0
0
0
-2
17
-5
-39
0
-2
0
0
1
-5
24
-1
-26
0
0
0
0
0
-1
-2
0
-42
0
0
0
0
0
3
-4
0
-42
0
0
0
0
0
1
-4
0
35
0
1
0
0
0
-1
9
0
-2
0
0
0
0
-1
1
-5
-3
6
0
0
0
0
-2
-1
-5
-2
25
0
0
0
0
0
-2
-2
0
-12
0
7
0
0
2
2
12
0
-2
0
0
0
0
0
-2
-18
25
-59
0
0
0
0
0
1
-16
1
17
0
0
0
0
-1
0
5
12
-12
0
9
0
0
6
-14
-13
-20
28
0
0
0
0
0
-4
8
25
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
2
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-2
2
-1
8
0
0
0
0
-1
0
-2
1
-4
17
0
0
0
0
0
0
-3
4
-66
0
0
0
0
0
1
-1
0
46
0
0
0
0
0
-5
-7
5
-13
0
0
0
1
1
-1
0
-5
6
0
0
0
0
0
-2
1
0
-28
0
0
0
0
0
0
8
-1
5
0
0
0
0
-1
2
0
-4
0
0
0
0
0
-1
-4
-1
2
1
0
0
0
0
0
0
-1
5
9
0
0
0
0
0
0
-2
-2
0
0
0
0
0
1
0
0
0
-12
0
0
0
0
-1
-2
1
28
-15
0
0
0
0
0
0
-1
2
2
0
0
0
0
1
0
3
1
7
0
0
0
0
-1
14
25
12
-37
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
-3
0
7
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
3
-2
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
12
0
0
0
0
0
1
4
-1
0
0
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
6
8
-14
0
0
0
0
0
0
0
0
-33
0
0
0
0
-1
-1
-8
1
18
0
0
0
0
0
0
-3
-7
3
0
0
0
0
0
7
3
7
-29
0
0
0
0
0
0
0
0
-43
0
0
0
0
-1
-2
4
-1
-17
0
0
0
0
0
0
3
6
1
0
0
0
0
0
0
2
3
-8
0
0
0
0
0
0
0
0
19
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
6
8
-21
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
1
3
4
-5
0
0
-1
0
1
2
-22
4
-2
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
31
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
3
-2
12
0
0
0
0
0
-1
0
3
17
0
0
0
0
0
-1
2
0
67
0
0
0
0
0
0
-3
0
-7
0
0
0
1
0
-3
-1
8
-25
0
0
0
0
0
0
2
-1
6
0
0
0
2
0
0
-1
0
26
0
0
0
0
0
1
1
-4
-4
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
-2
-24
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
1
2
2
-35
0
0
0
0
0
3
-43
27
-30
0
0
0
0
-1
1
-3
24
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-7
5
0
0
-1
0
0
3
5
-9
12
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
-2
3
0
0
0
0
0
0
2
1
0
-1
0
0
0
0
0
1
-2
8
34
0
0
0
0
1
0
-7
0
-44
0
0
0
0
2
-12
-2
1
-58
0
0
0
0
0
-1
0
-5
-13
0
0
0
0
0
6
-4
3
22
0
0
0
0
0
0
-5
0
-31
0
-1
0
0
0
-4
17
0
-39
0
0
0
0
0
0
-5
0
31
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
-1
0
0
-25
0
0
0
0
0
0
3
0
7
0
0
0
0
-1
0
1
-3
-5
0
0
0
0
1
1
-2
2
17
0
0
0
0
-1
2
-7
3
14
0
0
0
0
9
5
-26
6
26
0
0
0
-1
1
-18
-13
7
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-1
4
-8
0
0
0
0
0
-2
2
-5
8
0
0
0
0
1
0
-1
2
10
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-4
0
0
0
0
0
1
-18
5
9
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
4
-24
-10
0
0
0
0
0
0
8
8
9
0
0
0
0
-1
-2
3
0
14
0
0
0
0
0
0
0
1
-3
0
0
0
0
1
0
0
-8
-6
0
0
0
0
0
-3
7
-3
9
0
0
0
0
-3
8
-6
0
-5
15
0
0
0
0
0
-1
0
4
32
0
0
0
0
0
0
0
2
-25
0
0
0
0
0
2
-6
1
-13
0
0
0
0
0
4
2
2
32
0
0
0
0
0
1
-2
1
5
0
0
0
1
-1
1
0
1
-18
0
0
0
0
0
-1
1
1
-17
0
0
0
0
2
0
24
-23
-23
41
0
0
0
-1
2
9
16
-20
5
0
0
0
5
1
-16
32
-30
12
0
0
0
0
2
-23
-7
49
-31
0
0
-3
-1
6
-10
-29
-95
31
0
0
0
0
1
-14
-3
38
-13
0
0
-1
-2
0
0
19
25
-6
0
0
-6
-7
39
-1
32
-8
6
0
0
0
0
-1
-13
30
0
0
0
-6
0
0
0
4
10
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
-2
-7
-7
0
0
0
0
0
-1
0
5
-2
0
0
0
0
0
1
-3
-20
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
-13
8
0
0
0
0
0
-1
-1
6
-13
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
8
6
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
1
0
-8
-3
0
0
0
0
0
0
-1
6
-2
9
0
0
1
0
0
0
-7
12
1
0
0
0
0
0
0
-3
-6
8
0
0
0
0
0
-1
6
-15
-10
0
0
0
0
0
-1
-5
-5
1
0
0
-1
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
0
-1
13
0
0
0
0
1
1
4
6
-32
66
0
4
0
0
0
8
-38
13
31
0
0
0
0
1
-49
5
-2
-13
0
0
0
2
-1
4
7
-9
33
0
0
0
-1
0
10
-9
-18
11
0
-14
0
0
-12
13
2
15
3
0
0
0
1
0
-16
13
-35
-37
0
-1
0
-1
18
13
36
-7
3
0
0
0
0
0
5
3
0
0
0
0
0
0
-2
-5
18
0
0
0
0
0
0
-1
9
2
0
0
0
0
0
0
0
-12
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
1
-3
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
1
3
0
0
0
0
0
0
0
2
6
0
0
0
0
0
2
-1
-4
-2
0
0
0
0
0
0
0
21
-3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-1
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-14
0
0
0
0
0
0
-25
-12
2
0
0
0
0
1
0
2
-13
10
0
0
0
0
0
0
-5
-10
-5
0
0
0
0
0
1
0
0
-7
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
1
2
7
0
0
0
0
0
-13
8
-23
13
0
0
0
1
1
-17
4
16
-36
0
0
0
0
-2
7
3
-55
-4
0
0
0
0
0
7
2
6
-58
0
0
0
0
0
1
-5
-1
31
0
0
0
0
0
5
-1
-16
-8
0
0
-1
-2
-22
-3
24
-14
0
0
0
0
0
3
-17
16
0
0
0
0
0
0
0
-25
10
0
0
0
0
0
0
0
24
-7
0
0
0
0
0
-1
7
-8
29
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
4
0
0
0
0
0
3
0
7
-2
0
0
0
0
0
0
0
-24
1
0
0
0
0
0
-1
1
-7
0
0
0
0
0
0
1
4
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
2
1
-8
0
0
0
0
0
0
2
0
6
-22
0
0
0
0
0
-1
16
12
-10
0
0
0
0
0
0
-3
1
-31
0
4
0
0
0
0
-5
-1
14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-1
0
3
0
0
0
0
0
12
13
0
-31
12
0
0
0
0
-8
-1
13
-13
-10
0
0
0
0
-2
13
-4
14
20
-35
0
0
0
-5
-70
-4
-5
27
0
0
0
1
2
33
3
-23
15
0
0
0
0
0
24
0
-4
1
0
0
0
-3
0
1
0
7
-17
-28
0
0
-7
14
2
7
-9
-15
0
0
-3
17
10
2
41
0
0
0
0
0
1
2
-2
14
0
0
0
0
0
0
-12
-19
18
0
0
0
0
0
0
-7
-13
-9
0
0
0
0
0
0
-3
-4
4
0
0
0
0
0
1
-6
8
-2
0
0
0
0
-1
-1
0
1
1
0
0
0
0
0
0
2
2
-19
0
0
0
0
5
3
2
-3
-4
0
0
0
0
0
-1
-2
2
8
0
0
0
0
0
1
-2
-13
-3
0
0
0
0
0
0
-6
6
12
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
5
7
0
0
0
0
0
3
-8
-1
2
0
0
0
0
0
1
8
0
13
4
0
0
0
0
0
2
8
8
-6
0
0
0
0
0
0
-4
8
3
0
0
0
0
0
1
8
-3
14
0
0
0
-3
0
-1
1
13
7
0
0
0
0
0
0
1
8
9
0
0
0
0
1
0
0
2
-13
0
0
0
0
0
0
0
0
-10
0
0
0
-6
0
4
19
-13
-7
41
0
0
0
0
0
6
11
-37
43
0
0
0
0
0
-5
8
-6
-58
0
0
0
0
-1
-7
0
1
28
0
0
5
2
-5
-6
6
31
-9
0
0
0
0
0
5
8
-18
8
0
0
0
0
0
-6
-14
-5
36
0
0
9
5
9
-8
3
-30
25
0
0
0
0
3
-7
19
0
0
0
-6
0
0
0
-15
20
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
6
-8
-15
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
-5
-12
-6
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-6
0
-4
0
0
0
0
0
0
-1
13
-1
0
0
0
-4
0
0
0
10
30
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
2
-4
0
0
0
-3
0
0
0
0
-16
0
0
0
0
0
0
-3
0
1
0
0
0
-1
0
0
-1
-1
14
0
0
0
0
0
0
0
2
5
-13
0
0
-10
0
0
1
-3
4
-26
0
0
0
0
1
1
0
0
-2
0
0
0
0
0
0
8
-5
47
0
0
0
0
0
1
-2
4
-3
0
0
0
0
0
-1
-2
25
-13
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
0
1
-5
-16
0
0
0
0
0
0
-2
-10
16
59
0
3
0
0
1
-7
6
3
-50
0
0
0
0
0
3
-2
-13
19
0
0
0
0
-2
-7
-3
0
-14
0
0
0
0
0
1
-9
-21
24
0
8
0
0
1
-2
-8
-4
9
0
0
0
0
0
1
0
19
-24
0
-9
0
0
-4
44
-31
-16
-22
0
0
1
-8
0
-1
31
0
0
0
0
0
0
-2
7
-14
0
0
0
0
0
0
-1
5
6
0
0
0
0
0
0
-8
-13
6
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
2
7
9
5
0
0
0
0
-3
0
0
13
6
0
0
0
0
0
0
0
-1
-18
0
0
0
0
-2
0
0
-4
-4
0
0
0
0
0
0
-2
-32
-7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
1
1
0
4
-6
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
-2
3
15
-45
0
0
0
0
0
1
7
-18
-13
0
0
0
0
1
0
-9
-16
-58
0
0
0
0
0
3
-17
2
-23
0
0
0
2
-2
1
0
1
4
0
0
0
0
0
0
-2
-3
0
0
0
0
-2
0
0
2
-1
-3
0
0
0
0
-1
0
-2
0
0
0
0
0
1
1
-3
-12
-12
42
-10
0
0
0
-1
0
17
-8
10
-43
0
0
0
-3
0
-14
0
1
-2
0
0
0
0
0
2
-1
-23
-41
0
0
4
0
4
-3
-2
9
13
0
0
0
0
0
-2
13
-7
25
0
0
-3
1
1
-6
-4
-5
34
0
0
-1
-2
-6
-6
8
10
6
0
0
-13
-5
35
3
46
0
0
0
8
0
8
-15
19
5
0
0
0
0
24
16
-5
-39
8
0
0
-8
0
0
0
31
5
-23
0
0
0
0
-3
1
6
-23
5
0
0
0
2
0
-1
-8
-15
42
0
0
0
0
0
4
12
35
-30
0
0
0
0
1
-3
-21
29
-8
0
0
0
0
1
21
-9
-3
14
0
0
0
-2
0
-3
19
-45
-9
0
0
0
0
-1
-8
-23
-12
19
0
0
-2
0
0
-2
29
-70
-6
0
0
0
0
-2
-13
-9
23
-36
0
0
0
-6
0
-1
-5
-6
28
0
0
0
0
-1
5
-4
3
-29
0
0
5
-3
-5
-17
13
2
-22
0
0
0
0
3
-1
9
-21
41
-5
0
0
-7
0
8
-14
-21
-5
39
0
0
0
-2
0
-8
-7
7
43
0
18
0
-1
13
-5
16
43
-30
0
0
0
4
15
23
15
-31
31
0
0
-8
0
-7
1
-28
-31
13
0
0
0
0
2
1
-26
4
21
0
-1
0
1
8
-9
5
5
-30
0
0
0
13
-13
-8
-52
44
-27
-5
0
-10
0
1
8
-29
-49
-23
26
0
0
0
6
13
-42
3
-14
24
-28
0
-1
-21
-44
51
-19
-22
18
0
0
7
-14
-28
21
20
28
-36
0
20
0
-12
-32
37
27
-36
21
0
0
-5
-22
-52
-71
8
-29
7
-14
-5
-7
5
-1
-26
13
4
-13
0
0
14
-2
-7
-12
-33
0
0
0
0
0
-3
-1
5
12
0
0
0
0
0
1
-1
-5
12
0
0
0
0
0
0
-12
-8
5
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
2
-8
0
17
0
0
0
0
0
0
4
1
19
0
0
0
0
0
-3
-4
8
-5
0
0
0
0
-1
1
-2
-2
15
0
0
0
0
0
-2
0
-8
6
0
0
0
0
0
0
-1
1
9
0
0
0
0
0
0
1
8
7
0
0
0
0
0
1
5
-4
29
0
0
0
0
0
0
1
-1
19
0
0
0
0
0
1
-1
-24
27
0
0
0
0
0
-9
22
5
-4
0
0
0
0
-4
0
-1
2
1
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
1
10
-1
0
0
0
0
0
0
-4
0
12
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
1
-6
37
0
0
0
0
0
0
0
2
-17
0
0
0
0
-1
-2
3
12
3
0
0
0
0
0
1
0
9
-13
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
1
4
13
0
0
0
0
1
1
9
8
-5
0
0
0
0
0
0
13
15
15
0
0
0
0
1
1
0
5
-25
0
0
0
0
-6
3
-4
8
-11
0
0
0
0
0
0
0
1
6
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
-33
22
0
0
0
0
0
1
-1
-24
17
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
4
-18
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
-4
-31
3
0
0
0
0
0
0
0
10
33
0
0
0
0
0
0
0
-3
-16
0
0
0
0
0
0
-1
1
9
0
0
0
0
0
-2
3
-4
8
0
0
0
0
0
0
-2
-7
30
0
0
0
0
0
0
1
6
-4
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
1
0
27
-15
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-5
-3
0
0
0
-2
0
0
0
16
12
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-15
-6
0
0
0
0
0
0
0
1
2
0
0
0
0
0
-1
1
2
22
0
0
0
0
0
0
-1
-15
0
0
0
0
4
0
0
-2
7
29
0
0
0
0
0
0
0
2
25
0
0
0
4
0
1
0
-13
13
0
0
0
0
0
-4
4
8
32
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
2
1
-12
0
0
0
0
0
-2
2
-1
-17
0
0
0
0
0
0
-2
-4
-16
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-8
4
23
0
0
0
0
0
0
-3
-31
-3
0
0
0
0
0
0
3
-3
17
0
0
0
0
0
0
1
-4
19
0
0
0
0
0
0
-1
-5
-3
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
-8
1
0
0
0
0
0
0
0
-12
10
0
0
0
0
0
-1
0
-12
1
0
0
0
0
0
0
1
2
-7
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
-1
2
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
-1
-5
0
0
0
0
0
-2
0
0
14
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
2
-2
-2
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
6
7
-8
0
0
0
0
0
0
-1
-8
3
0
0
0
0
0
-1
5
-7
16
0
0
0
0
0
-1
4
1
-1
0
0
0
0
0
0
-8
6
7
0
0
0
0
0
0
2
-7
23
0
0
-2
0
0
0
-10
-5
7
0
0
0
0
0
0
3
1
-2
0
0
0
0
0
0
-3
-8
-4
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
3
13
39
0
0
0
0
0
0
5
-12
16
0
0
0
0
0
0
8
2
8
0
0
0
0
0
0
-3
-32
10
0
0
-1
0
0
0
0
-8
-3
0
0
0
0
0
0
-17
7
27
0
0
0
0
0
0
-2
-4
8
0
0
0
0
0
0
-7
25
-8
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
-1
9
-9
0
0
0
0
0
0
-4
5
-10
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
1
8
6
5
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
-1
-8
4
0
0
0
0
0
0
-10
0
7
0
0
1
0
0
0
2
5
1
0
0
0
0
0
0
-2
0
12
0
0
0
0
0
0
-3
3
5
0
0
0
0
0
0
-3
5
2
0
0
1
0
0
0
-9
10
-8
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
-9
-6
7
0
0
0
0
0
0
8
0
15
0
0
12
-1
0
-1
-9
-3
-9
0
0
0
0
0
0
6
0
2
0
0
0
0
0
0
-2
0
-15
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
6
-6
3
0
0
0
0
0
0
2
-5
-8
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
6
5
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
1
6
0
0
0
0
0
0
-6
14
3
0
0
0
0
0
0
1
-3
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
-19
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
2
12
0
0
0
0
0
-1
4
-1
3
0
0
0
0
0
0
2
-3
-18
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
6
6
-2
-9
0
0
0
0
0
0
1
-3
24
0
0
0
0
0
0
-1
4
13
0
0
0
0
0
0
1
-3
-16
0
0
0
0
0
0
-3
-9
13
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
1
0
3
5
0
0
0
0
0
0
0
1
-12
0
0
0
-1
0
0
0
-5
5
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
-2
-5
-8
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
17
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
1
1
23
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
-3
-5
15
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
-5
0
-8
0
0
0
0
0
0
24
-6
-25
0
0
0
0
0
0
1
-1
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
-1
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
-1
-9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
1
-6
0
0
0
0
0
0
-1
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
1
-5
-2
6
0
0
0
0
0
3
7
-5
-8
0
0
0
0
0
2
-4
1
9
0
0
0
0
0
0
5
8
-2
0
0
0
0
0
3
-10
20
5
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
2
-3
-7
12
0
0
0
0
0
1
2
2
-5
0
0
0
0
0
3
2
1
8
0
0
0
0
0
3
4
4
-9
0
0
0
0
0
-1
2
-20
-7
0
0
0
0
0
0
12
-3
2
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
-3
-2
-14
0
0
0
0
0
0
3
-2
-3
0
0
0
0
0
-3
6
-2
0
0
0
0
0
0
-4
4
-1
7
0
0
0
0
0
9
-7
1
6
0
0
0
0
0
-1
-2
-5
13
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
3
5
-10
0
0
0
0
0
0
0
-9
2
1
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
8
3
-2
0
0
0
0
0
-4
5
5
0
0
0
0
0
0
-5
-5
5
7
0
0
0
0
0
0
-2
6
-1
0
0
0
0
0
2
-8
4
0
0
0
0
0
0
-8
-17
4
-6
0
0
0
0
0
2
9
-2
-14
0
0
0
0
0
-1
3
-8
0
0
0
0
0
0
-5
-18
8
42
0
0
0
0
0
4
-9
-3
9
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-1
0
7
-7
-32
0
0
0
0
0
1
1
2
13
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
-8
8
25
0
0
0
0
0
1
1
-4
-12
0
0
0
0
0
0
0
-3
32
0
0
0
0
0
-2
0
12
5
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
-3
2
5
0
0
0
0
0
-1
0
2
22
0
0
0
0
0
0
1
2
29
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-5
1
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
-3
-2
0
0
0
0
0
0
-2
1
-9
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-4
1
4
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
-5
-4
10
0
0
0
0
0
0
1
-6
9
0
0
0
1
0
0
0
-8
-10
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
13
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
8
12
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
-8
-13
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
-1
5
17
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
-1
-2
1
0
0
0
1
0
0
0
-3
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-14
0
0
0
-2
0
0
2
-1
4
0
0
0
0
0
0
-1
-2
-3
0
0
0
1
0
0
-6
1
6
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
-1
0
2
35
0
0
0
0
0
2
0
5
-13
0
0
0
0
0
-1
6
-10
0
0
0
0
0
0
0
0
3
-29
0
0
0
0
0
0
1
-6
-13
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
-4
-6
-13
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
0
-8
42
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
-1
3
4
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-10
-4
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
-6
3
4
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
-1
0
-3
2
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
-1
-1
-12
15
1
0
0
0
0
0
0
-2
-6
16
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
4
0
-12
0
0
0
0
0
0
6
-3
-17
0
0
0
0
0
0
-5
-6
-7
0
0
0
0
0
-1
-2
4
-13
0
0
0
0
0
0
1
-2
-8
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
-4
1
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
2
-8
-24
0
0
0
0
0
-1
1
6
-5
0
0
0
0
0
0
-3
9
5
0
0
0
0
0
0
-2
-4
17
0
0
0
0
0
-3
-1
-4
7
0
0
0
0
0
0
-5
8
16
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-6
4
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
2
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
-2
0
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-19
0
0
0
-2
0
0
2
-3
-2
0
0
0
0
0
0
0
2
2
-29
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
1
-9
2
0
0
-2
0
0
6
43
-29
-22
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
2
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-1
-2
0
6
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-6
-9
22
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
2
0
0
16
0
0
0
0
0
0
0
-4
16
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
1
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
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
1
0
0
0
0
0
0
-1
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
-4
-4
-2
0
0
0
0
0
0
0
6
20
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
-1
-1
7
-22
0
0
0
0
0
0
-1
-9
13
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
-2
-5
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
2
1
1
-17
0
0
0
0
0
-3
0
-2
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
2
3
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
-4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
-5
-8
-22
5
0
0
0
0
-1
1
2
-15
31
0
0
0
-1
0
-2
-1
-13
42
0
0
0
0
0
-1
-5
2
5
0
0
1
0
0
-1
0
-2
3
0
0
0
0
0
7
4
2
12
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
-4
-5
8
0
0
0
0
0
-2
0
10
-5
0
0
0
0
0
-2
0
0
10
0
0
0
0
0
2
-4
1
-4
0
0
0
0
0
-6
-2
-22
0
0
0
0
0
0
1
0
3
-3
0
0
0
0
0
-1
1
0
-4
0
0
0
0
0
1
4
-3
12
0
0
0
0
0
-2
7
-9
0
0
0
0
0
0
-5
24
2
20
0
0
0
1
0
-1
9
1
-1
0
0
0
0
0
1
0
-9
-25
0
0
0
0
0
1
6
6
-15
0
0
0
0
-2
-1
0
5
8
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
2
2
2
-5
0
0
0
0
0
-2
13
-2
-3
0
0
0
0
0
1
1
1
5
0
0
0
0
0
-3
0
-14
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
9
-4
-3
8
0
0
0
0
0
-2
3
2
-3
0
0
0
0
0
-8
-6
-4
17
0
0
1
-1
0
-23
22
7
9
0
0
0
0
0
7
5
-2
13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-1
-2
-1
3
0
0
0
0
0
-1
-6
-8
2
0
0
0
0
0
1
-5
1
0
0
0
0
0
0
1
4
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-8
-1
0
0
0
0
0
-1
0
-3
7
0
0
0
0
0
0
0
0
7
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
2
9
16
-5
0
0
0
0
0
-2
0
-1
-5
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
-2
8
22
0
0
0
0
1
0
0
1
2
-59
0
0
0
0
0
1
-2
4
-4
0
0
0
0
0
1
-3
-13
0
0
0
0
0
0
0
-18
3
-11
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
-2
8
-9
0
0
0
0
-1
-1
1
5
25
0
0
0
0
0
0
0
3
20
0
0
0
0
-3
2
8
2
-11
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
-17
6
-31
0
0
0
0
0
1
-12
0
31
0
0
0
0
0
-1
3
27
9
0
0
0
0
0
0
3
-19
31
0
0
0
0
2
0
-18
14
-17
0
0
0
1
1
10
-2
9
32
0
0
0
0
0
1
-7
-7
0
0
0
0
0
0
-1
-10
-5
0
0
0
0
0
0
0
-12
10
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
1
-14
-3
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
18
2
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
2
1
-12
0
0
0
-1
0
0
-1
-3
2
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
1
0
-24
-35
0
0
1
0
0
-1
-7
5
17
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
3
0
39
0
0
0
0
0
1
-1
1
-19
0
0
0
0
0
1
0
-16
-4
0
0
0
0
0
0
-13
1
30
0
0
0
0
0
0
1
-3
4
0
0
0
0
1
0
-6
-5
2
0
0
0
0
0
0
4
42
-20
0
0
0
0
0
0
1
-3
-22
0
0
0
0
0
0
-7
-5
16
0
0
0
0
0
-1
12
6
-42
0
0
-1
0
0
0
-8
-5
0
0
0
0
0
0
0
0
3
19
0
0
6
0
0
-1
-3
-5
9
0
0
0
1
0
1
2
8
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
10
2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-17
0
0
0
0
-1
0
0
1
-8
-44
0
0
0
0
0
0
-2
0
-13
0
0
0
0
0
0
1
1
14
0
0
0
0
0
-4
-3
0
28
0
0
0
0
0
0
0
-3
-46
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
1
0
-55
0
0
0
1
-1
0
-3
-5
8
0
0
0
0
0
0
-2
-2
6
0
0
0
0
0
-3
-1
-4
13
0
0
0
0
0
1
-2
-3
-7
0
0
0
-1
0
0
-8
20
-13
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
10
0
-23
0
0
0
0
1
5
-18
-35
1
0
0
0
0
-1
0
-8
2
0
0
0
0
0
0
1
-16
-5
0
0
0
0
0
-1
-3
-1
-5
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
2
0
0
0
0
0
0
5
-8
1
0
0
0
0
0
0
2
-13
-1
0
0
0
0
0
0
7
-25
-1
0
0
0
0
0
0
-1
-13
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
2
1
1
4
0
0
0
0
0
0
-2
-24
2
0
0
0
0
0
0
0
4
0
-88
0
0
0
0
0
0
-7
7
27
0
0
0
0
0
0
-1
1
-4
0
0
0
0
0
0
1
2
-25
0
0
0
0
0
-5
-3
2
-9
0
0
0
0
0
1
0
0
7
0
0
0
0
0
0
0
1
-36
0
-2
0
0
0
0
1
0
17
0
0
0
0
0
1
-23
-5
31
0
0
0
0
0
0
-3
4
-8
0
0
0
0
0
1
-15
0
20
0
1
0
0
0
1
1
-1
-2
0
0
0
0
0
-1
16
15
-8
0
0
0
0
0
0
-9
-1
32
0
0
0
0
-2
0
-22
8
-5
0
0
0
0
-4
25
-8
5
-35
0
0
0
0
1
-1
-1
23
0
0
0
0
0
0
0
-17
-5
0
0
0
0
0
0
-1
3
14
0
0
0
0
0
-1
1
-4
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
7
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
-6
17
-1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-6
-6
-6
0
0
0
0
0
0
0
6
-1
29
0
0
0
0
0
0
1
-13
-31
0
0
0
0
0
0
-4
-6
41
0
0
0
0
0
0
1
0
14
0
0
0
0
0
1
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
-2
-24
0
0
0
-1
0
0
8
-3
-1
0
0
0
0
0
0
-9
-1
-3
0
0
0
0
0
0
-7
-2
6
0
0
0
0
0
-1
12
-8
-7
0
0
0
0
0
0
1
-4
-20
0
0
0
0
0
0
1
5
17
0
0
0
0
0
0
0
0
-17
0
0
0
0
1
-1
-19
41
-30
0
0
0
0
0
-2
1
19
0
0
0
-1
0
0
0
-2
-9
0
0
0
0
0
0
0
5
-16
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
22
9
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
2
0
0
-35
0
0
0
0
0
1
0
-2
-1
25
0
0
2
0
0
0
-1
7
37
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
2
-1
0
-45
0
0
0
0
0
0
-2
-1
-13
0
0
0
0
0
1
0
2
-3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
-3
28
0
0
0
0
0
0
0
-10
-8
0
0
0
0
0
0
-8
0
3
0
0
0
0
0
0
4
-1
6
0
0
0
0
0
0
2
-1
-8
0
0
0
0
0
0
1
1
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
-3
-18
43
-1
0
0
0
-4
0
0
8
3
0
0
0
0
0
0
-1
4
21
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
-6
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
-1
0
0
3
-6
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
2
3
4
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
2
-1
27
0
0
0
0
0
-2
2
0
9
0
0
0
0
0
0
-1
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
-3
22
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
-2
-1
8
0
0
0
0
0
0
1
-1
-25
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
-28
0
0
0
0
0
-1
-14
-8
-41
0
0
0
0
-2
-8
-14
22
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
1
0
12
0
0
0
0
0
0
1
-6
-7
0
0
0
0
0
0
1
-4
10
4
0
0
0
0
0
0
4
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-7
1
0
0
0
0
0
4
-3
3
-7
0
0
0
-1
0
0
0
4
-5
0
0
0
0
0
0
1
-7
4
0
0
0
0
0
0
-16
12
-2
0
0
0
0
0
0
3
-10
-13
0
0
0
0
0
0
-2
-2
5
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
1
2
-8
25
0
0
0
0
-1
0
1
2
1
45
0
0
0
0
0
0
-6
-6
22
0
0
0
0
0
0
1
0
-46
0
0
0
0
0
0
-9
0
-28
0
0
0
0
-1
0
0
0
-45
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
-1
0
0
-18
0
0
0
0
0
0
0
0
-9
0
0
0
0
1
16
4
-5
51
0
0
0
0
0
1
0
-14
6
0
0
0
0
0
-2
-1
0
4
0
0
0
0
0
1
5
0
-43
0
0
0
0
1
2
0
0
14
0
0
0
0
0
2
0
5
-30
0
0
0
0
-1
7
1
1
-6
0
0
0
0
14
24
9
0
-20
0
0
0
1
0
0
5
23
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
10
4
0
0
0
0
0
2
-9
12
21
0
0
0
0
0
-1
3
0
27
0
0
0
0
0
1
-1
2
18
0
0
0
0
1
0
-2
2
-8
0
0
0
0
0
2
0
9
-2
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
1
2
-8
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
1
0
0
-2
0
0
0
0
1
-7
7
1
-5
0
0
0
0
0
1
0
-13
28
24
0
0
0
0
0
0
8
2
-42
0
0
0
0
0
0
-5
6
-36
0
0
0
0
1
6
-3
-5
-38
0
0
0
0
1
0
2
3
30
0
0
0
0
0
0
-8
0
18
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
-5
0
19
1
0
0
0
0
1
-3
2
-8
14
-25
0
0
0
0
0
-13
31
-69
50
0
0
0
0
0
-5
-4
2
-22
0
0
0
-2
-1
0
5
-27
28
0
0
0
-1
2
-1
-8
-25
-2
0
0
0
-2
0
-7
-23
31
-6
0
0
-2
0
1
-4
6
-7
5
0
0
-1
1
-4
5
9
59
13
0
0
0
0
1
-5
-9
0
0
0
0
0
0
0
6
-19
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
8
8
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
12
4
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
1
-7
5
0
0
0
0
0
0
0
-12
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-6
8
0
0
0
0
0
0
0
6
10
-31
0
0
0
0
0
0
-4
0
-6
0
0
0
0
0
0
-9
3
30
0
0
0
0
0
0
3
-12
8
0
0
0
0
0
-1
-8
7
1
0
0
0
0
0
0
-6
6
-24
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
-2
3
0
0
0
0
0
0
-9
-8
-23
69
0
1
0
0
-1
-15
12
6
-49
0
0
0
0
0
0
-10
-9
-37
0
0
0
0
0
-12
-1
-15
31
0
0
0
0
0
6
-1
28
1
0
0
0
0
0
5
2
3
27
0
0
0
0
0
2
-5
9
-18
0
0
0
-1
-8
-5
22
-1
-12
0
0
0
-2
-2
-4
17
0
0
0
0
0
0
0
-22
16
0
0
0
0
0
3
0
5
-8
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
1
-1
-18
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
1
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-8
6
0
0
0
0
0
0
0
3
-30
-4
0
0
0
0
0
0
-24
-2
14
0
0
0
0
0
1
5
3
0
0
0
0
0
0
-2
12
-3
40
0
0
0
-2
0
1
-3
-12
-22
0
0
0
0
0
-1
2
18
-21
0
0
0
0
0
0
3
1
-20
0
0
0
0
0
3
4
0
-13
0
0
0
0
0
0
-8
-13
31
-17
0
0
0
0
0
0
-4
-6
44
0
0
0
0
0
-2
2
8
2
0
0
0
0
0
-2
0
-2
-20
0
0
0
0
0
2
-8
13
16
0
0
0
0
0
-1
-2
14
13
0
0
0
0
0
4
-1
5
0
0
0
0
5
5
7
-3
-81
7
0
0
0
-2
3
0
31
0
0
0
0
0
0
0
-13
37
0
0
0
0
0
-1
3
13
-20
0
0
-2
0
0
0
4
-2
21
0
0
0
0
0
0
-8
-1
2
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
2
-18
-13
-5
0
0
0
0
0
0
2
6
-17
0
0
0
1
0
0
-1
3
-13
0
0
0
0
0
0
0
-12
4
0
0
0
0
0
0
2
-25
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
-1
-12
6
0
0
0
0
0
0
0
1
14
-41
0
0
0
0
0
0
16
25
-23
0
0
0
0
0
-4
3
0
6
0
6
0
0
0
0
-8
-8
16
0
0
0
0
0
0
2
-2
10
0
0
0
0
0
-1
-4
2
5
0
0
0
0
0
0
-2
-4
-29
0
0
0
0
0
5
-7
3
-25
0
0
0
0
0
-8
2
-8
-15
42
0
0
0
0
-2
0
-1
20
-20
0
0
0
0
0
4
0
13
21
0
0
0
0
-1
3
1
0
-21
0
0
0
0
0
-4
3
15
-14
0
0
0
0
-1
0
-7
-7
46
0
0
0
-2
0
-13
0
-8
-21
2
0
-1
-2
-5
13
-40
-39
6
0
0
0
0
-5
15
-14
0
0
0
0
0
0
0
2
43
0
0
0
0
0
0
0
-14
13
0
0
0
0
0
0
-10
-8
3
0
0
0
0
-1
0
0
3
3
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
2
6
6
-8
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
-2
5
3
0
0
0
0
0
-1
0
-8
-1
0
0
0
0
0
0
2
10
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-2
29
0
0
0
0
0
-1
0
-6
-1
0
0
0
0
0
1
6
2
-2
0
0
0
0
-1
0
-1
3
1
24
0
0
0
0
0
-1
4
-18
5
0
0
0
0
0
1
-3
0
1
0
0
0
0
0
1
-4
7
-26
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
1
0
-12
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
7
1
1
-18
0
0
0
1
-1
0
3
0
15
-21
0
0
0
0
0
0
-6
-29
-1
0
0
0
0
0
0
0
4
8
0
0
0
0
1
-8
2
7
9
0
0
0
0
0
0
-13
2
-9
0
0
0
0
0
-1
-6
-7
-12
0
0
1
0
-3
2
0
-13
1
0
0
1
-13
1
-5
-19
9
51
0
0
0
0
0
5
13
0
0
0
5
0
0
0
-13
41
0
0
0
0
0
0
-2
-1
7
0
0
0
0
0
-2
-2
13
-15
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
-3
-3
23
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
2
-8
0
0
0
0
0
2
0
4
29
0
0
0
-1
0
0
0
2
-8
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
1
-2
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
-2
9
0
0
0
0
0
0
0
-1
13
13
0
0
-5
0
0
0
3
0
24
0
0
0
0
0
0
-6
-5
19
0
0
0
0
0
0
5
-3
-8
0
0
0
0
0
3
-2
0
19
0
0
-1
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
-2
-1
0
9
0
0
0
0
0
0
-1
8
-22
22
0
-8
0
0
0
1
-10
-12
51
0
0
0
0
0
-3
0
-4
3
0
2
0
0
0
-1
-3
4
-43
0
0
0
0
0
-4
8
-13
5
0
3
0
0
0
0
-4
-10
8
0
0
0
-1
-1
1
-2
8
2
0
-5
0
-3
4
-6
23
-48
10
0
0
0
-1
0
0
18
0
0
0
0
0
0
1
5
8
0
0
0
0
0
0
-1
-8
8
0
0
0
0
0
1
-6
14
13
0
0
0
0
0
0
0
3
13
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-4
-5
4
-9
0
0
0
0
-1
0
0
2
-4
0
0
0
0
0
0
0
4
15
0
0
0
0
0
0
-5
-7
-3
0
0
0
0
0
0
2
-1
8
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
0
-1
-2
6
21
0
0
0
0
0
0
-7
7
-37
0
0
0
0
0
0
-1
-1
10
0
0
0
0
0
0
2
-1
3
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-9
0
0
0
0
-1
0
-2
0
12
0
0
0
6
0
1
1
0
7
26
0
0
0
0
0
5
2
9
-12
0
0
1
0
0
-2
0
-9
22
0
0
0
0
0
0
-4
16
-23
0
0
-4
0
0
-1
1
-28
14
0
0
0
0
0
-3
-2
-20
9
0
0
2
1
0
-2
0
-10
-20
0
0
-15
13
-12
-4
32
17
-37
0
0
-14
-7
21
26
43
0
0
0
33
0
4
-15
-29
8
0
0
0
0
35
47
-8
-35
12
0
0
13
-3
-1
5
0
-5
9
0
0
0
0
0
6
6
-8
-6
0
0
0
5
2
-30
-52
-12
58
0
0
0
0
-1
-1
5
13
-31
0
0
0
2
0
3
29
-29
-14
0
0
0
0
1
12
-5
21
-8
0
0
0
6
0
-3
51
-14
-10
0
0
0
0
-13
-6
-28
19
-21
0
0
14
6
-3
25
19
-20
-21
0
0
0
0
-3
-6
-7
9
-32
0
0
0
-3
0
6
-1
-8
9
0
0
0
0
-5
0
-13
4
1
0
0
-7
-24
-29
-20
-35
14
22
0
0
0
0
14
29
14
-4
75
35
0
0
-34
-2
13
-6
5
6
25
0
0
0
1
-19
-20
-22
17
-48
0
18
-1
0
-19
10
26
27
-64
0
0
0
8
24
-8
18
-4
-22
0
0
7
0
-8
49
-15
-31
19
0
0
0
-9
-9
7
-3
-4
0
0
7
0
1
22
10
-7
-12
-24
0
0
0
8
14
-9
-80
43
-24
51
0
0
0
0
-8
29
-60
56
-9
0
0
-5
-5
25
-19
-5
-8
3
-32
3
0
-8
-35
13
7
15
28
0
0
7
-32
9
11
48
-20
2
0
-4
0
-8
-31
-26
66
-43
-6
0
0
2
-34
-28
-17
-39
1
0
-13
14
-6
-26
63
-43
-16
-18
-21
0
0
15
30
-14
-25
59
0
0
0
0
2
7
28
10
-12
0
0
0
0
1
-24
12
-41
-10
0
0
0
0
0
-2
-7
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-6
0
0
0
0
0
0
0
-8
6
0
0
0
0
1
2
13
-13
22
0
0
0
0
0
2
0
-6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
15
37
15
-16
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
-3
-10
-25
5
0
0
0
0
0
1
-5
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
15
14
-8
0
0
0
0
0
1
5
5
35
0
0
0
0
0
0
-5
13
13
0
0
0
0
0
-1
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-25
-26
0
0
0
3
0
5
-13
-4
34
0
0
0
0
0
8
8
-12
5
0
0
0
0
0
-10
5
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-17
0
0
0
3
0
0
0
-1
8
0
0
0
0
0
1
1
3
-6
0
0
0
-1
0
0
0
-15
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
34
0
0
0
12
0
-5
-2
-6
10
0
0
0
0
0
0
-1
-6
13
0
0
0
0
0
-4
-3
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
0
0
-9
0
-3
0
0
29
0
0
0
0
0
0
-3
-5
1
0
0
0
0
0
0
3
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
13
13
0
0
0
0
0
-1
3
15
11
0
0
0
0
5
2
-2
8
-6
0
0
0
0
0
-8
-5
22
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
0
0
0
0
0
0
0
-24
-9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
-3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
-24
30
0
0
0
0
0
1
0
-2
-12
0
0
0
0
0
-5
-5
19
2
0
0
0
0
0
-2
-3
-16
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-13
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
-1
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
5
11
0
0
0
0
0
1
29
6
-21
0
0
0
0
1
-10
5
31
46
0
0
37
0
0
-2
29
22
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
-4
-15
8
0
0
0
0
0
0
12
0
-2
0
0
0
0
0
-1
34
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-20
8
0
0
0
0
0
0
-10
6
22
0
0
0
0
-2
-1
24
3
-13
0
0
-3
0
0
-5
-11
7
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
-2
0
0
0
0
0
1
6
1
-12
0
0
0
0
0
0
-1
-4
1
0
0
5
0
0
1
-7
26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
32
5
-12
0
0
0
0
0
0
6
0
-27
0
0
0
0
0
5
-7
-16
-14
0
0
0
0
0
1
5
-10
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
15
-5
5
0
0
0
0
0
0
1
-19
13
0
0
0
0
0
-1
3
3
8
0
0
0
0
0
-1
3
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
15
0
0
0
0
0
-1
-1
-3
-4
0
0
0
0
0
1
-2
-19
0
0
0
0
0
0
0
1
2
-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
22
17
-6
-1
0
0
0
0
0
0
0
-29
0
0
0
0
0
-1
-1
0
-5
7
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-8
9
0
0
0
0
0
2
-31
3
3
0
0
0
0
-1
2
3
4
35
0
0
0
0
0
-1
5
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-5
0
0
0
10
0
-1
8
-19
23
0
0
0
0
0
-2
-2
4
-17
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-3
0
0
0
0
0
0
-1
-10
7
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
0
0
-4
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
-5
0
17
0
0
0
0
0
-1
-4
-1
5
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
2
-1
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
8
12
-19
0
0
0
0
0
0
-6
1
-24
0
0
0
0
0
0
-10
-7
12
0
0
0
0
-1
2
10
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
-1
-5
-6
0
0
0
0
0
0
-1
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
5
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
17
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-16
-5
6
0
0
0
0
0
-6
17
14
-24
0
0
0
0
0
0
36
-11
12
0
0
0
0
0
-18
4
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
-8
-13
0
0
0
0
0
-1
0
2
23
0
0
0
0
0
3
-3
4
19
0
0
0
0
0
8
-1
9
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-12
-16
0
0
0
0
0
1
4
6
-12
0
0
0
0
0
3
-8
-37
9
0
0
0
0
0
-10
8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-10
9
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
-16
-3
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-2
-4
35
0
0
0
0
0
0
-8
-2
13
0
0
0
0
0
-1
-6
17
-4
0
0
0
0
0
0
10
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-4
-13
25
0
0
0
0
0
0
1
13
-29
0
0
0
0
0
1
0
2
-3
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
2
20
-14
0
0
0
0
0
-1
5
-12
8
0
0
0
0
0
0
0
-5
-15
0
0
0
0
0
1
-23
-23
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
12
13
24
0
0
0
0
0
0
12
24
-7
0
0
0
0
-2
-1
2
0
22
0
0
0
0
0
-2
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
-8
0
0
0
-2
0
5
9
-8
20
0
0
0
0
0
0
-13
-1
5
0
0
0
0
0
0
0
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-13
0
0
0
2
0
0
0
-13
-19
0
0
0
0
0
-3
0
-13
18
0
0
0
0
0
0
1
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
16
-25
0
0
0
15
0
1
-6
-31
3
0
0
0
0
0
0
-7
-10
-9
0
0
0
0
0
-2
-3
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-3
0
0
0
2
0
0
4
-4
-13
0
0
0
0
0
0
-1
-1
10
0
0
0
0
0
-1
3
-31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-4
-6
0
0
0
0
0
0
-3
-18
11
0
0
0
0
-1
2
-8
-9
5
0
0
0
0
1
0
9
10
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
1
-9
13
0
0
0
0
0
0
2
-34
-3
0
0
0
0
0
1
-5
-9
-7
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
-14
0
0
0
0
0
0
2
-10
5
0
0
0
0
-1
-4
-1
4
-5
0
0
0
0
1
-1
14
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
30
5
0
0
0
0
0
0
0
-8
3
0
0
0
0
-3
2
1
1
-3
0
0
0
0
-1
0
7
15
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
14
0
0
0
-1
0
2
-16
-42
9
0
0
0
0
0
-1
2
-20
-12
0
0
1
0
0
-14
3
-13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
19
0
0
0
0
0
0
-1
-4
24
0
0
0
0
0
0
6
-19
-5
0
0
2
0
0
2
-15
-15
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
0
-25
0
0
0
0
0
-2
8
-28
-3
0
0
0
0
0
1
-5
1
4
0
0
-5
0
0
6
9
4
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
6
4
0
0
0
0
0
-1
-3
-7
-42
0
0
0
0
0
0
2
2
-1
0
0
-9
0
0
0
-1
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
19
0
0
0
0
0
-1
1
-12
-10
0
0
0
0
0
1
1
-8
-8
0
0
0
0
0
0
1
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
7
-1
0
0
0
0
0
0
1
-3
23
0
0
0
0
0
3
0
0
-5
0
0
0
0
0
0
-1
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
12
-3
8
0
0
0
0
0
-1
2
4
6
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
2
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
-1
0
20
-5
43
0
0
0
0
0
0
3
4
9
0
0
0
0
-1
0
-4
-1
-13
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
0
0
0
-1
0
0
-1
-7
-14
0
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
8
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
1
3
10
0
0
0
0
0
0
0
-5
-3
0
0
0
1
0
-4
-5
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
0
0
1
0
0
-10
13
2
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
-1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-5
0
0
0
-2
0
0
0
6
23
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
-2
-18
-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
-14
0
13
-20
15
0
0
0
0
0
0
6
-5
22
0
0
0
0
1
-1
-10
17
10
0
0
0
0
2
0
-3
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
-1
1
-1
-3
0
0
0
0
0
-2
-1
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
3
-6
29
0
0
0
0
0
0
-2
7
-14
0
0
0
0
0
0
-1
3
-6
0
0
0
0
0
-1
-3
31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-8
-13
0
0
0
0
0
0
2
1
21
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
-4
-9
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
4
7
-11
-3
5
0
0
0
0
0
-2
10
-7
-5
0
0
0
0
-1
-21
-37
9
-1
0
0
-1
0
0
14
-13
5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-10
22
0
0
0
0
0
0
0
-4
30
0
0
0
0
0
-8
-4
-10
3
0
0
-1
0
0
0
5
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-9
-13
0
0
0
0
0
5
-12
-27
-22
0
0
0
0
0
-1
-2
-12
-6
0
0
0
0
0
-15
-8
-12
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-13
25
15
0
0
0
-3
0
-3
3
-25
-1
0
0
0
0
0
-9
-12
-8
35
0
0
3
0
0
-6
3
20
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
2
-1
0
0
0
0
0
1
-33
3
30
0
0
0
0
0
0
7
1
-1
0
0
0
0
1
3
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
32
8
-8
0
0
0
0
0
0
-8
-13
23
0
0
0
0
0
-7
3
8
16
0
0
0
0
0
1
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-13
13
4
4
0
0
0
0
0
6
7
34
-14
0
0
0
1
-1
2
-23
-19
-4
0
0
0
0
0
1
-4
24
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-18
13
-5
16
16
0
0
0
0
-2
-9
-4
5
5
0
0
0
0
0
0
12
10
26
0
0
0
0
0
2
-37
1
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
-10
0
0
0
8
0
-4
3
-1
5
0
0
0
0
0
-1
0
-8
5
0
0
0
0
0
1
-10
-16
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
13
0
0
0
6
0
1
8
20
-31
0
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
-1
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
7
40
0
0
14
0
-1
-4
-24
10
27
0
0
0
-1
-1
0
-9
-3
-13
0
0
0
0
0
1
14
-9
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
13
-49
0
0
2
0
0
2
13
26
1
0
0
0
0
0
0
-15
0
-8
0
0
-1
0
0
-1
14
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
2
-8
-5
0
0
0
0
-1
2
-2
-25
1
0
0
0
0
3
0
-6
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
5
0
0
0
0
0
0
0
-9
15
0
0
0
0
2
1
0
-7
-5
0
0
0
0
0
-1
-2
-1
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
2
-9
10
16
-53
0
0
0
0
0
0
13
5
9
0
0
0
-1
0
0
-6
-16
29
0
0
0
0
0
0
-9
-6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
5
12
0
0
0
0
-1
0
-42
-8
17
0
0
0
0
0
-2
-21
16
5
0
0
0
-1
0
4
-12
3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
6
0
0
0
0
0
-1
1
5
7
0
0
0
0
0
-1
-3
3
13
0
0
7
0
0
2
-1
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-12
0
0
0
0
0
0
0
-7
-1
22
0
0
0
0
0
0
8
5
0
0
0
-2
0
0
-7
13
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
15
-5
-49
0
0
0
0
0
5
-22
-19
26
0
0
0
0
1
-2
12
-8
7
0
13
0
0
10
3
18
-25
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
7
12
0
0
0
0
-4
-2
-16
8
42
0
0
0
-1
1
4
-23
-1
-42
0
7
0
0
0
-5
-23
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-17
-4
20
0
0
0
0
0
-2
1
4
6
0
0
0
0
0
-4
6
-5
-7
0
0
0
0
0
-3
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
7
6
6
0
0
0
0
0
0
-1
1
5
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
3
14
23
0
0
0
0
0
-2
-1
15
15
0
0
0
-1
0
1
0
-8
-29
0
0
0
0
1
0
-2
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
-13
7
20
1
0
0
0
0
1
-1
17
0
-9
0
0
0
-2
2
-2
7
0
-14
0
0
0
0
0
2
1
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-7
13
0
0
0
1
0
0
-8
-2
19
0
0
0
0
0
0
3
3
-17
0
0
0
0
0
0
-8
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-8
0
0
0
0
0
2
5
0
5
0
0
0
0
0
0
1
-6
-1
0
0
0
0
0
0
4
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-2
10
0
0
0
0
0
-1
-5
10
25
0
0
0
0
0
2
2
-3
-72
0
0
0
0
0
-2
-2
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-10
-46
0
0
-4
0
0
-8
16
42
-47
0
0
0
0
0
0
-3
-6
8
0
0
0
0
0
-3
13
16
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
-2
0
3
1
10
0
0
0
0
0
0
-1
-8
27
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-7
3
-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
1
0
-1
1
-1
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
2
-2
0
0
0
0
0
0
-5
4
-42
0
0
0
0
0
0
-5
0
24
0
0
0
0
0
0
1
2
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
5
-6
9
0
0
0
0
0
0
-1
9
5
0
0
0
0
0
0
14
8
-31
0
0
0
0
0
6
-6
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
2
0
0
0
0
0
0
-3
-8
16
0
0
0
0
-1
3
3
-7
20
0
0
-1
0
0
-8
19
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-10
17
0
0
0
0
0
0
-6
1
-3
0
0
0
0
1
-1
1
-5
-2
0
0
0
0
0
-1
31
-33
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
-5
-5
8
-9
0
0
0
0
3
13
-2
-1
-12
0
0
0
1
1
-3
-3
10
-3
0
-2
0
0
5
-13
5
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-20
-12
4
0
0
0
0
1
2
-16
-9
-28
0
0
0
0
1
-2
7
-3
-7
0
3
0
0
5
-16
-7
8
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
6
-7
-20
0
0
0
0
0
0
1
20
21
0
0
0
0
0
-1
-3
-1
-5
0
0
0
0
0
0
-4
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
27
17
-8
0
0
0
0
0
0
17
-14
19
0
0
0
0
-1
5
3
-18
8
0
0
0
0
0
-2
-7
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
10
20
5
27
2
0
0
0
0
0
-10
1
21
-41
0
0
0
3
0
0
-7
-25
-17
0
0
0
0
-1
-1
-7
10
-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
-4
-12
28
-5
10
-45
2
0
0
0
3
5
0
2
-8
-39
0
0
1
0
-1
-13
5
6
21
0
0
0
-6
5
-22
6
59
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
41
0
0
0
-3
0
-6
-5
-5
-28
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
-1
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
-12
0
0
0
-12
0
-2
-1
-20
-11
0
0
0
0
0
0
-2
8
-6
0
0
0
0
0
0
5
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-14
-4
4
0
0
5
0
0
-4
4
-24
-10
0
0
0
0
0
-4
17
12
18
0
0
0
0
0
5
19
-19
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-37
-20
-21
46
0
-30
0
7
-9
-28
30
-6
64
0
0
0
2
0
-8
23
-22
-20
0
1
0
0
-1
-5
0
9
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
0
0
0
0
0
0
1
-14
-13
0
0
0
0
1
-1
-1
13
0
0
0
0
0
-1
0
4
19
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
2
0
0
0
0
0
0
-4
-1
18
0
0
0
0
0
2
1
-15
3
0
0
0
0
0
-2
0
5
-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
1
2
8
-16
-15
0
0
0
0
0
-1
-5
-19
-20
0
0
0
-1
-1
-4
8
14
-47
0
0
0
-3
1
-6
-15
-25
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-22
12
-71
0
0
0
0
-8
9
4
-30
-7
0
0
-1
0
0
-19
-9
5
34
0
0
0
2
6
2
0
-28
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
2
0
1
1
-5
13
0
0
0
0
0
3
9
-4
-13
0
0
-3
0
0
5
2
-16
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
1
0
0
0
0
0
0
-1
16
-8
0
0
0
0
0
-1
2
2
-12
0
0
-5
0
0
-1
-17
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
9
-58
0
0
0
0
-1
5
4
-5
-13
0
0
0
0
0
4
-13
0
22
0
-10
0
0
-3
9
-24
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-5
-2
-1
58
0
0
0
-3
7
32
18
-19
-50
0
0
0
-2
-3
5
1
-1
-2
-20
0
0
0
-14
-13
-6
-27
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-6
9
-1
0
0
0
0
0
1
-1
-7
41
0
0
0
0
0
0
-13
1
15
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
5
-5
24
0
0
0
0
0
0
6
1
24
0
0
0
0
0
-4
0
6
-13
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
-8
10
15
-28
0
0
0
0
0
-2
8
-3
-26
0
0
0
0
-3
7
-8
8
5
0
0
0
0
0
-1
-21
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-2
21
-1
-22
13
0
0
0
0
-6
-52
8
2
26
0
0
0
5
-5
-9
22
14
24
0
0
0
-1
-10
14
-5
2
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
9
0
0
0
9
0
0
3
22
-40
0
0
0
0
0
0
6
-22
-37
0
0
0
0
0
0
-10
-22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
6
0
0
0
4
0
-2
6
6
7
0
0
0
0
0
0
0
10
-16
0
0
0
0
0
0
-1
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
19
-63
0
0
-15
0
-1
-4
-20
4
40
0
0
0
0
0
2
-2
14
33
0
0
0
0
0
-5
1
-3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
36
-9
-8
0
-8
0
0
-10
5
-6
-3
26
0
0
-1
0
-1
1
12
-22
11
0
0
0
0
-6
-9
-5
6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
14
-8
19
0
0
0
0
0
0
0
-7
-6
0
0
0
0
-1
0
6
-22
2
0
0
0
0
0
0
-7
-14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-10
0
3
0
0
0
0
0
0
-5
1
-10
0
0
0
0
0
0
-1
2
4
0
0
0
0
0
0
2
7
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
9
-5
-10
1
0
0
0
-1
-7
-1
1
13
-62
0
0
0
0
-7
-2
8
-3
21
0
0
0
-6
8
8
1
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
16
-1
-14
21
-9
0
0
0
0
1
8
-24
-44
34
0
0
1
-2
2
-25
-5
-2
42
0
0
2
1
4
-19
18
-46
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
41
-6
26
0
0
0
-9
2
-3
3
-36
2
0
0
0
0
2
-7
-17
-33
12
0
0
5
5
0
-14
-59
11
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
-50
48
-12
0
0
0
-21
0
-1
7
-4
-7
0
0
0
0
12
9
-4
-25
-9
0
0
-5
-3
0
7
-67
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
53
-50
13
-5
0
0
29
-2
1
25
-7
11
9
0
0
0
7
-11
-6
58
12
-51
0
18
-1
0
1
-15
-14
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
6
-6
-13
30
5
17
0
4
0
6
15
-40
-82
21
26
0
0
-1
7
-24
-1
-31
-2
-14
-29
-5
0
6
-20
-13
-13
56
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
2
4
-3
0
0
0
0
0
-7
0
10
22
0
0
0
0
3
-21
13
-20
6
0
0
0
0
0
2
7
-10
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
23
-5
19
0
0
0
0
0
0
1
0
20
0
0
0
0
0
0
4
-10
13
0
0
0
0
0
1
3
6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
16
6
-2
0
0
0
0
0
-1
3
19
3
0
0
0
0
3
3
2
-3
4
0
0
0
0
0
-1
-15
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
3
24
-1
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
-1
-4
-17
20
0
0
0
0
0
0
1
10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
9
0
0
0
-3
0
2
-6
-1
8
0
0
0
0
0
0
0
-10
14
0
0
0
1
0
2
-6
-42
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-27
0
0
0
0
0
0
0
-22
18
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
19
0
0
0
-3
0
0
1
-5
5
0
0
0
0
0
0
0
-13
9
0
0
0
0
0
1
-3
-6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
10
0
0
0
-2
0
0
1
-5
32
0
0
0
0
0
0
-1
8
-16
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-5
-15
14
0
0
0
0
0
0
5
-35
20
0
0
0
0
0
-5
-3
-17
2
0
0
0
0
0
1
-5
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
-1
4
-35
0
0
0
0
0
0
-2
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
14
0
0
0
0
0
0
1
-14
12
0
0
0
0
0
-3
-1
-3
14
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
23
24
0
0
0
0
0
0
-9
9
3
0
0
0
0
0
-2
1
1
-16
0
0
0
0
0
0
-3
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-5
38
0
0
0
-1
0
0
-4
34
-15
0
0
0
0
0
0
-13
-7
43
0
0
16
0
0
7
6
5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
-5
0
0
0
0
0
0
-4
1
5
0
0
0
0
0
0
6
18
-3
0
0
1
0
0
0
-1
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
22
0
0
0
0
0
0
7
-13
-15
0
0
0
0
0
0
7
5
5
0
0
-2
0
0
-1
-8
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
-13
-32
37
0
0
0
0
0
0
1
5
3
0
0
0
0
0
0
-13
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-12
-18
0
0
0
0
0
-2
18
-1
-12
0
0
0
0
0
-1
-7
12
14
0
0
0
0
0
2
13
7
-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
-3
2
-33
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
1
5
-4
1
0
0
0
0
0
0
2
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-34
5
0
0
0
0
0
0
3
-7
6
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
2
-5
3
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-14
0
0
0
0
0
1
-10
-12
9
0
0
0
0
0
0
-4
8
-9
0
0
0
0
0
0
-16
8
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
2
6
15
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-1
-3
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
5
9
0
0
0
0
0
0
7
-14
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
6
0
0
0
1
0
0
2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
4
0
0
0
0
0
0
-1
-8
-8
0
0
0
0
0
0
0
-5
16
0
0
0
0
0
3
2
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
2
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
-1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
9
8
0
0
0
0
0
-1
1
5
1
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-3
0
-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
1
2
1
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
24
25
24
0
0
0
0
0
-5
-8
-1
4
0
0
0
0
0
16
-8
4
16
0
0
0
0
0
-5
1
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
5
10
0
0
0
0
0
-1
4
-8
0
0
0
0
0
0
2
-10
6
-16
0
0
0
0
0
3
12
-5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
2
3
-5
0
0
0
0
0
8
-6
-1
17
0
0
0
0
0
6
-8
4
-3
0
0
-3
0
0
0
15
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-9
-7
0
0
0
0
0
5
-6
-24
-7
0
0
0
0
0
2
8
7
2
0
0
0
0
0
-8
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
14
-2
0
0
0
0
0
0
2
8
-5
0
0
0
0
0
14
-1
-10
39
0
0
0
0
0
-3
-8
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-3
34
-5
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
9
12
0
0
0
0
0
0
-8
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
7
1
0
0
0
0
0
0
1
-6
13
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
3
-23
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
1
-2
-5
-3
7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-2
0
0
-13
0
-3
0
0
0
0
0
0
1
2
-13
0
0
0
0
0
-2
9
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
6
0
0
0
0
0
0
2
0
-10
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
1
0
0
0
-7
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
18
7
0
0
0
0
0
0
-1
-8
6
0
0
0
0
-1
-3
0
-10
-9
0
0
0
0
0
-1
-8
15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
7
10
0
0
0
0
0
0
0
-12
31
0
0
0
0
1
-3
22
-14
13
0
0
0
0
0
0
-3
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
-1
0
-4
3
0
0
0
0
0
0
-1
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
-2
-6
-10
0
0
0
0
0
0
-3
-6
16
0
0
0
0
0
2
0
1
2
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-13
22
0
0
0
0
0
1
10
-24
-51
0
0
0
0
0
-1
-3
5
-3
0
0
-4
0
0
-16
3
-18
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
12
18
0
0
0
0
0
1
-1
6
-22
0
0
0
0
0
1
10
-24
-8
0
0
-1
0
0
-8
-2
-10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-2
0
0
0
0
0
1
-5
1
13
0
0
0
0
0
0
0
-7
1
0
0
1
0
0
-2
0
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
-3
3
-7
1
0
0
0
0
0
1
0
2
0
0
0
-1
0
0
0
-8
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
-13
-3
0
0
0
0
0
0
0
9
-17
0
0
0
0
0
0
-2
-4
-5
0
0
0
0
0
0
-3
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
9
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-1
-8
16
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
8
-20
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
-1
-14
0
0
0
0
0
-1
0
-8
2
0
0
0
0
0
0
0
0
25
0
0
0
0
0
1
-10
-4
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
3
2
1
20
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-18
0
0
0
0
0
0
1
5
-4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
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
-1
0
2
4
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
1
12
-20
0
0
0
0
0
0
1
-7
5
0
0
0
0
0
2
1
-13
8
0
0
0
0
0
-1
4
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-2
9
19
0
0
0
0
0
0
0
5
13
0
0
0
0
0
1
-2
12
-13
0
0
0
0
0
0
-1
-24
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
2
-1
0
0
0
0
0
0
1
5
-14
0
0
0
0
-1
0
0
2
5
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-3
0
0
0
0
0
0
0
1
-1
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
-1
-7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
22
-22
22
0
0
0
-2
0
2
7
-5
-2
0
0
0
0
0
2
9
0
-15
0
0
-1
0
-1
-12
-15
41
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
-8
13
0
0
0
0
0
-6
0
-14
4
0
0
0
0
-1
0
1
0
26
0
0
-1
0
0
-14
1
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
3
16
0
0
0
0
0
-1
-17
-8
45
0
0
0
0
0
-6
8
-1
2
0
0
0
0
0
-14
6
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
-5
8
0
0
0
0
0
-8
1
-13
14
0
0
0
0
-3
1
0
2
2
0
0
5
0
0
-4
16
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
8
-12
25
0
0
0
0
0
1
2
-3
-13
0
0
0
0
0
-1
-3
9
1
0
0
0
0
0
0
1
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
24
-4
0
0
0
0
0
0
2
-24
-8
0
0
0
0
0
0
2
-2
5
0
0
0
0
0
0
0
-7
-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
-2
-6
-19
16
29
-50
0
0
0
0
1
-13
-17
7
-9
0
0
0
1
6
-7
-5
-2
25
0
0
0
0
4
7
12
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-1
-21
-18
-21
0
0
0
0
0
1
-21
31
58
0
0
0
0
1
0
-2
33
-21
0
0
0
0
0
5
-20
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-10
0
0
0
-2
0
1
3
-3
31
0
0
0
0
0
0
-1
-6
-3
0
0
0
0
0
0
0
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-24
-5
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-8
-13
50
0
0
24
0
1
0
-1
31
-11
0
0
0
0
0
2
6
-2
5
0
0
0
0
0
-1
-12
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
6
-13
0
0
2
0
1
2
-2
-54
4
0
0
0
0
0
0
3
10
-4
0
0
-1
0
0
1
7
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
22
-17
0
0
0
0
0
0
-3
13
-5
0
0
0
0
0
-1
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-3
-6
0
0
0
0
0
0
0
-24
4
0
0
0
0
0
0
-1
-3
8
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
-25
16
0
0
0
0
0
0
-8
0
-49
0
0
0
2
-3
-12
-15
-10
24
0
0
0
0
1
-1
4
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
2
18
-14
0
0
0
0
0
0
6
3
-8
0
0
0
0
2
0
-5
-23
-1
0
0
0
0
0
-1
-5
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
8
-12
0
0
0
0
0
0
-6
-13
25
0
0
0
0
0
0
-3
-9
4
0
0
1
0
1
2
17
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
8
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
13
2
-48
0
0
0
0
-1
4
-25
-13
-41
0
0
0
0
0
-1
-34
-5
1
0
-3
0
0
2
4
-32
15
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
-1
-8
0
0
0
0
0
1
1
6
-10
0
0
0
0
0
0
-20
3
21
0
0
0
0
2
-3
-5
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-6
4
0
0
0
0
0
0
5
-1
14
0
0
0
0
0
0
-1
-14
-5
0
0
0
0
0
0
6
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-8
6
0
0
0
0
0
0
-1
-5
2
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
-1
-4
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
-4
6
14
1
20
5
0
0
0
-1
0
-16
-13
15
-8
0
0
0
0
0
5
13
-6
2
0
0
0
0
0
-3
-3
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-13
-23
0
0
0
0
0
0
-2
-19
-8
0
0
0
0
0
0
-1
2
-5
0
0
0
0
0
-2
3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
14
0
0
0
-1
0
0
1
-2
2
0
0
0
0
0
-2
0
3
-13
0
0
0
0
0
0
5
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
1
-1
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-8
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
3
8
-9
-6
15
0
0
-2
0
-2
13
25
-28
46
0
0
0
0
0
1
-3
-8
30
0
0
0
0
0
0
-8
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
-5
-22
0
0
1
0
2
2
-3
-1
-19
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
-4
-25
0
0
0
0
0
0
0
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-7
0
0
0
0
0
0
-1
9
-9
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
8
-33
0
0
0
0
0
0
-8
6
-34
0
0
0
0
0
0
-13
-1
-9
0
0
0
0
0
0
-8
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
14
0
0
0
0
-1
0
0
-5
18
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
-2
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-5
3
16
0
0
0
0
0
1
0
-2
8
0
0
0
0
0
0
1
-25
-5
0
0
0
0
0
-9
34
13
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
-7
3
0
0
0
0
0
-1
8
-2
30
0
0
0
0
0
0
0
-9
-7
0
0
0
0
0
0
2
7
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
22
-3
7
0
0
0
0
9
10
14
-24
8
0
0
0
0
2
-24
-9
-4
-24
0
0
0
-2
19
-33
-28
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
13
3
0
0
0
0
-1
7
-4
2
-46
0
0
0
1
1
2
-12
-2
13
0
0
0
0
0
-2
-8
5
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
4
-16
9
0
0
0
0
0
2
2
-1
25
0
0
0
0
-1
0
-1
2
9
0
0
0
0
0
0
-1
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
9
10
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-1
2
-7
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
10
9
-17
-4
0
0
0
0
0
-1
19
17
-2
0
0
0
0
0
15
6
-4
-18
0
0
0
0
2
0
-8
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
10
-24
10
4
5
0
0
0
0
5
-13
15
9
-12
0
0
0
-4
-7
0
14
25
1
0
0
0
2
-6
-3
-14
-18
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
17
0
0
0
4
0
-2
-3
-4
19
0
0
0
0
0
0
0
-5
-22
0
0
0
0
0
0
-2
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-1
-1
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
9
45
0
0
0
0
-3
-3
2
-8
7
0
0
0
0
0
0
-1
1
-9
0
0
0
0
-1
6
8
5
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-6
6
-43
0
-17
0
-2
4
-1
-8
36
-3
0
0
0
0
-2
-35
5
-25
40
0
0
0
3
0
-8
-9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
5
0
0
0
0
0
0
0
10
-3
0
0
0
0
-2
1
-3
-8
7
0
0
0
0
0
0
0
-9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
2
0
-1
-25
0
0
0
0
0
0
1
7
-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
-7
8
2
24
0
0
0
0
0
-1
-12
5
33
0
0
0
1
0
0
5
-9
-17
0
0
0
0
1
-1
21
7
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
5
20
19
-16
-6
0
0
0
0
3
-14
-32
-41
72
0
0
-3
2
1
-44
-8
-12
26
0
0
0
0
10
-8
-8
22
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
-8
-5
0
0
0
0
0
0
3
-26
-15
0
0
0
0
0
0
3
-3
14
0
0
22
0
-1
-13
15
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
13
0
0
0
0
0
0
0
-6
-13
0
0
0
0
0
0
-4
-2
-5
0
0
1
0
0
-2
3
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
17
-26
0
0
0
0
0
3
4
-3
-5
0
0
0
0
0
1
6
0
-9
0
0
0
0
1
-27
8
-7
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
28
-20
9
0
1
0
-1
-16
22
2
17
-6
0
0
0
0
-3
-7
-5
-32
2
-5
0
0
-1
8
-28
-4
-11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-12
28
-2
0
0
0
0
0
2
2
-12
-9
0
0
0
0
0
0
7
-12
-6
0
0
0
0
0
1
-7
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
0
15
0
0
0
0
0
0
-1
5
4
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
-2
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
5
10
-37
32
0
0
0
0
0
2
5
-8
14
0
0
0
0
0
0
3
-8
-47
0
0
0
0
0
1
-8
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-23
-8
0
29
-4
14
0
0
0
0
-8
4
16
-43
-38
0
0
-1
-1
0
4
18
2
21
0
0
0
0
4
7
5
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
23
0
0
0
1
0
-1
7
-14
22
0
0
0
0
0
1
-1
-9
20
0
0
0
-1
0
-2
-4
-4
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
33
0
0
0
-10
0
0
-8
0
7
0
0
0
0
0
0
2
8
-25
0
0
0
0
0
0
-1
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
10
-15
19
0
0
5
0
-2
-3
3
-37
-11
0
0
0
0
-1
0
2
0
-19
0
0
0
0
0
5
-5
-24
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
-2
13
27
0
5
0
0
-9
-10
5
33
-7
0
0
-2
0
0
-8
-5
-7
15
0
0
0
0
-5
-15
13
-7
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-7
27
8
0
0
0
0
0
-2
-3
0
7
0
0
0
0
-1
3
0
-2
23
0
0
0
0
0
1
5
-23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-8
2
0
0
0
0
0
0
0
10
7
0
0
0
0
3
0
0
0
5
0
0
0
0
0
1
-1
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
5
-8
13
28
0
0
0
0
-1
-1
0
35
-13
0
0
0
0
0
-1
-1
5
6
0
0
0
0
0
-7
-8
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
2
14
-18
-23
-24
0
0
0
1
0
3
14
-65
53
0
0
0
2
2
-2
14
-5
-32
0
0
0
0
-3
-30
7
27
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
8
-8
9
23
0
0
0
44
5
-5
31
16
10
0
0
0
0
17
-27
7
-10
-11
0
0
4
-5
-12
10
-39
-31
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-43
46
-42
0
0
0
14
0
-15
-2
-33
8
0
0
0
0
16
17
-15
21
-48
0
0
16
-8
-4
-42
28
11
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
43
78
-68
25
-22
0
0
23
0
2
-22
-28
-7
30
0
0
0
8
-23
-10
28
4
-26
0
9
-8
-14
4
30
45
-12
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-11
8
3
-22
25
22
0
-22
0
-5
28
-37
2
-29
40
0
0
-5
-26
-32
5
43
18
-44
-30
-8
-5
21
6
-19
6
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
33
3
0
0
22
2
-5
3
0
-18
42
-3
1
0
4
-16
9
1
0
-10
-18
1
0
2
-5
-33
-17
7
-2
15
-59
-14
-30
-6
-134
-139
-103
-12
0
-120
-65
-145
5
21
-8
-28
0
0
0
8
5
-5
0
0
-24
41
20
1
0
-4
25
10
1
0
7
1
0
7
-12
6
-9
12
-13
-2
33
13
4
43
12
-111
-34
17
10
6
8
23
4
14
47
0
1
0
0
0
1
-1
-1
0
0
-1
2
1
0
0
-1
7
-4
0
0
2
15
8
5
0
10
-5
26
3
-14
-7
-24
1
37
-13
-27
-22
15
11
-33
31
20
18
46
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
39
-10
-11
-1
-4
-16
46
63
10
8
11
33
11
-49
0
43
43
11
-20
0
0
0
0
0
0
0
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
-1
-29
0
0
89
-14
-11
-5
0
-4
37
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
7
0
0
0
0
0
0
31
5
2
0
0
-41
5
0
0
0
-13
-2
-5
-1
0
11
11
6
5
0
15
-15
6
0
-1
-4
-28
-33
21
5
-43
-37
16
15
-13
-39
-10
-43
-21
-27
-54
-16
-44
-27
58
0
-5
-1
0
0
-7
-2
-2
0
0
4
5
-5
0
0
5
14
-26
6
0
-6
8
-11
-8
12
-16
9
29
-13
-5
57
0
19
52
49
-43
-11
0
13
-20
19
4
5
10
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
14
-1
-8
1
31
-63
6
-17
21
17
-6
-2
27
8
-4
12
37
5
-23
25
54
16
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
-27
8
14
3
-22
10
-28
5
-3
18
5
3
-8
0
50
3
-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
0
0
0
0
0
0
0
0
-13
-5
-1
0
-9
-32
18
5
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
0
-4
-8
-1
0
0
-4
5
14
-2
0
-2
-9
31
13
-5
-29
1
0
31
-7
11
15
-23
-73
49
-24
17
-39
-28
13
11
5
-13
-52
-3
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
-4
-8
-6
0
0
-1
19
14
2
-4
-13
-38
-41
13
2
33
11
-8
0
11
-22
9
41
9
-13
52
8
5
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
1
41
-4
-3
-2
33
18
-20
18
-13
55
8
15
2
16
-30
45
3
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
14
-2
-8
0
37
-83
-8
17
0
-1
-96
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-13
-8
3
0
-25
22
-30
20
-13
22
-4
-3
32
5
30
-12
73
-105
21
52
-44
-82
-43
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-40
3
-2
-5
22
11
24
5
-25
25
9
19
15
0
41
-41
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
5
-13
15
20
0
-37
-42
-72
5
0
0
52
-55
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
8
-8
-1
5
-44
5
56
23
-2
11
27
-52
40
72
42
-22
36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
6
-3
2
0
-33
18
-29
-64
-1
0
41
-24
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
-8
-1
0
0
0
78
-3
0
0
0
3
-19
-1
0
0
-13
-7
-2
-3
0
-25
-22
-12
-4
-1
-31
6
-21
-7
3
63
-103
-54
-27
-7
-107
0
-133
-13
-31
0
0
0
0
0
2
-4
0
0
0
0
1
0
0
0
2
-7
-1
0
0
-24
13
-5
0
0
-20
-17
18
-44
1
20
-13
6
-11
9
-18
-26
-31
-20
-47
-15
-14
-25
-44
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-25
-2
-31
-10
3
-29
31
28
20
-7
-42
-2
-10
2
-23
-26
-7
-9
-34
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
0
0
7
2
-1
0
29
26
-5
6
0
14
3
-10
-17
0
5
-79
-33
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
10
16
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
-2
0
0
0
-8
17
0
0
0
13
3
7
-5
0
-2
25
-46
-30
1
-5
29
27
6
28
-31
-15
8
-24
-22
-2
-12
-43
-15
-30
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
7
-12
7
-1
0
26
-30
29
13
-17
-29
-5
18
40
22
-7
2
-4
3
-67
4
-35
-22
-51
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
3
-6
8
7
-14
41
41
-4
23
-34
2
-6
-4
-8
-63
25
-4
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-32
8
-1
0
-82
-67
-34
14
0
1
-19
-25
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
10
-2
-3
0
20
67
37
-22
-16
7
4
-29
65
5
-29
3
-28
-30
0
8
-49
-98
-16
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
0
-27
52
10
1
6
22
18
-16
0
5
-5
1
8
-4
-13
5
10
6
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
22
45
-47
-13
-39
-66
26
-35
-33
0
-9
-46
55
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
8
-2
-34
0
-19
13
85
4
19
-19
14
-15
-19
5
13
-40
5
-87
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
6
5
-12
7
6
-21
-12
10
-30
-62
5
29
23
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
-3
1
1
0
0
59
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-14
-5
-5
-8
0
-14
-5
21
-37
0
-32
-4
-127
44
-8
-54
8
-18
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-14
2
0
-22
32
-19
-16
15
-1
-30
0
-12
12
-8
16
-8
-19
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-5
0
41
7
0
-3
-27
19
9
-4
-5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-14
48
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-29
17
-7
0
11
-5
-8
-5
-13
-12
18
-36
-5
-46
13
-18
58
-8
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
-3
-5
4
3
0
-49
-4
49
10
-45
20
11
4
22
-26
-5
-43
-7
-61
-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
-41
9
-8
0
2
3
-21
-16
-31
0
0
59
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-35
-18
0
0
-5
2
-40
20
-3
12
-4
-22
27
-5
-22
9
-4
-7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-8
1
0
46
28
-63
-102
-11
-35
-1
5
-2
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-4
-16
0
-2
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-6
0
0
0
-14
25
-22
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
3
0
0
14
-33
26
-13
2
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
48
12
0
0
0
4
102
13
0
-76
-35
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
77
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-44
-3
9
45
13
-2
27
48
-26
59
-20
-5
5
-21
-22
-1
-4
-36
-47
28
-20
13
14
-44
-18
-20
19
60
5
-58
-16
14
51
-104
-88
-32
-27
8
-60
-50
-59
-22
0
-50
-4
-10
-11
3
-16
17
-61
-19
-1
-12
13
-7
4
-9
22
4
-5
-5
-29
59
29
13
0
-4
-18
-10
-84
-36
22
-29
18
8
-5
-14
-30
-18
-36
-12
-20
-14
13
-1
-1
30
2
25
0
0
0
26
-32
32
0
1
8
-46
5
-15
2
-1
-4
10
4
3
3
68
43
27
-11
44
-7
7
-38
-56
60
31
2
13
-54
32
8
21
-8
-3
-14
40
-4
27
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
33
53
-1
0
30
32
-7
-14
27
31
-8
21
-34
-16
9
16
8
-30
1
-12
-12
8
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
35
-29
12
0
55
24
4
42
0
2
2
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
46
0
0
0
0
0
0
87
6
47
31
0
15
-6
-1
5
-27
-21
-28
-6
-21
-13
39
-14
-34
11
-29
31
-13
4
15
-41
7
1
10
26
41
6
7
-35
-7
34
-44
0
33
31
-1
54
-21
21
8
-19
61
-25
-31
-5
-1
73
-16
3
13
-5
-20
-19
15
58
4
-21
13
42
32
18
68
-11
-20
5
16
38
4
-7
14
-4
9
24
3
2
49
-20
1
6
-6
-12
18
7
5
5
1
0
0
0
0
0
0
0
0
-1
0
0
-21
0
-5
0
0
-20
-7
9
-3
-24
-18
-37
7
-14
52
32
-6
-4
-6
7
33
12
-1
-9
-46
13
17
-6
-1
96
-2
8
-3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
58
13
-12
-30
5
22
12
30
34
-4
-3
39
13
-22
0
-27
20
36
-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
0
0
0
0
2
0
0
0
-52
10
-2
0
-31
-44
15
-5
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-21
2
0
0
-23
14
-25
1
0
-23
1
-15
5
0
40
85
-22
13
-25
-26
17
11
83
-21
-6
14
10
20
3
-32
-2
-16
35
-8
-21
5
5
7
6
37
21
48
-12
-50
0
0
0
0
0
0
0
1
0
0
3
-4
4
13
0
8
50
-52
-8
5
35
2
78
-17
44
13
-29
44
-24
-7
35
-4
20
19
-4
-27
14
5
3
-33
-2
9
-2
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
28
3
4
4
-45
-119
-28
-20
45
8
29
-53
48
-1
-1
12
12
8
-31
52
46
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
4
0
-38
102
7
2
0
71
31
-6
11
0
-1
29
18
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
0
2
-3
62
-33
90
-21
22
36
-24
25
-10
48
-59
29
-4
16
5
6
-30
4
-34
65
40
67
-33
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
27
23
1
13
-22
-4
-11
8
78
27
-22
52
-26
68
15
5
-29
-3
1
-10
34
-21
-9
0
0
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
3
9
7
0
-13
-13
-6
15
1
64
-53
-74
-24
0
-2
42
-61
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
-3
1
-11
48
46
9
1
47
50
19
41
-21
-60
54
53
23
62
27
2
-37
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-21
0
0
-8
-34
4
14
0
-75
24
-60
-88
-1
0
-32
-32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
10
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
24
1
0
0
-13
23
50
20
0
62
-35
-32
-4
0
-17
-31
42
-5
-1
-68
-12
-23
-12
30
-91
-63
14
-4
-70
30
-41
40
-6
57
10
-46
-34
52
69
-18
64
-31
24
92
-7
1
0
0
0
44
-9
3
6
0
28
-9
1
-7
0
-54
-72
13
-19
3
-27
-4
10
8
24
-4
-58
-68
-62
-23
18
-28
-1
14
15
-48
-23
-15
8
9
33
0
-2
-9
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
8
-13
5
0
-42
-93
20
35
-34
22
-9
-5
59
29
-17
11
7
-14
14
-67
35
28
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
5
-7
5
11
-47
-33
13
0
50
-76
-58
-25
0
62
-30
-24
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
1
25
-28
0
0
0
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
-63
-14
3
3
0
28
42
3
3
0
-65
-20
-8
14
6
41
-28
49
44
-19
-44
20
9
-26
-27
-3
-3
2
6
9
7
-5
-6
6
40
7
20
51
48
7
0
0
0
0
0
0
0
0
0
0
9
-39
-1
-6
0
3
-64
-31
1
-3
16
-29
-39
-41
-1
-13
-26
-66
7
-5
-4
11
-19
19
1
-40
9
-11
3
13
11
6
15
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
-17
96
-41
30
21
-25
-17
-4
14
68
0
-1
3
0
17
73
65
21
43
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
12
-54
-7
32
0
-27
49
26
23
0
5
-20
-32
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-16
0
4
0
0
69
7
-52
-13
8
-3
15
5
-66
-40
31
21
42
-29
88
4
27
35
38
-14
4
-67
51
14
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
-25
-1
-1
-61
-26
50
-40
-52
-41
23
46
28
33
-20
9
-8
-7
5
-18
-15
9
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-4
0
-8
41
-11
-8
-72
-23
-13
-112
-61
41
-1
-5
-17
27
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-31
-7
-20
6
1
27
30
-39
-14
-19
34
24
66
-56
40
-29
-71
-16
-55
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
12
0
1
33
1
-32
7
-24
-54
-120
-50
30
-11
15
-26
127
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
-2
1
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
1
-4
0
0
0
28
-13
1
-8
-2
5
-21
-130
-43
19
-16
-74
-4
36
-13
25
-41
23
-49
64
81
24
8
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-1
0
31
-24
-39
-23
0
39
-70
-41
-40
13
0
10
-39
-114
54
52
64
-33
76
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
30
-49
13
49
0
8
0
-42
35
4
8
-16
-10
84
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
-41
-10
43
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
17
0
0
0
-56
-38
59
3
-2
7
-23
10
-19
-44
11
41
-33
-83
-20
35
7
40
-57
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
9
56
-5
-8
0
-32
-21
-65
28
-34
-31
33
18
-51
-12
68
-58
4
-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
0
0
0
0
0
0
0
2
-92
-1
-4
0
6
-9
27
22
-71
0
-1
1
14
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-76
-55
0
0
2
-30
-13
-20
20
17
46
17
19
26
23
85
63
-30
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-18
53
-7
-5
-1
40
-26
28
-9
2
30
-2
-25
-15
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
3
-5
-2
2
0
0
-18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
-37
13
0
0
0
-6
-41
-16
1
1
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
5
0
0
-21
106
23
-12
17
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
77
62
0
0
-1
14
13
2
0
-80
14
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
10
8
-28
-21
50
13
7
5
42
-36
-3
-42
22
17
-8
-30
-10
52
-1
5
0
-27
45
7
-27
-7
5
-56
40
-14
14
9
40
64
-25
12
14
75
41
-15
2
-5
11
61
-39
-32
-26
-5
22
-52
1
-13
40
-16
-76
60
-19
38
-15
16
-14
14
-57
-41
-24
-1
8
17
-22
-36
-18
-9
-11
15
-18
10
-15
16
3
-17
-5
5
3
-23
-3
-29
-17
-2
-31
2
49
8
0
0
3
-1
-3
-9
1
-1
-40
27
-8
2
-18
-49
3
-15
18
29
56
60
-59
-25
5
41
17
-5
-67
37
24
8
-4
-9
-4
13
19
13
-9
-58
2
-18
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
40
41
-1
0
15
21
1
6
48
20
-2
70
3
-24
-48
-5
0
-6
1
11
-65
84
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-21
15
27
42
0
0
5
-25
30
0
2
6
71
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
34
-36
-23
13
3
69
-34
-12
1
-55
52
-11
48
-41
-30
-4
26
-20
31
-3
-2
3
16
-41
-6
3
17
-7
33
39
2
-21
0
-10
-2
-17
3
26
4
53
2
-6
25
4
25
3
-37
-17
19
-1
44
9
4
12
27
1
8
21
9
-8
27
9
26
43
26
-23
4
-22
14
16
26
-29
-3
8
23
20
21
-4
-7
-3
-10
12
12
2
-9
12
5
5
17
-26
0
0
0
0
0
0
0
0
-1
0
0
2
0
-14
0
0
1
-2
3
-1
8
-32
-88
-14
-11
7
-13
50
-20
34
22
29
18
-13
-34
10
12
-14
1
30
57
58
11
39
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
22
42
-39
-50
3
-20
46
41
-25
-3
4
55
22
15
0
21
-34
-21
-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
2
0
0
0
-39
5
1
0
-27
-23
0
-3
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
2
0
0
-10
7
4
1
0
-15
-28
1
28
0
15
93
-1
-5
-47
-8
-13
5
-14
-17
-24
0
9
8
21
31
-18
-18
15
-21
-28
14
-2
-29
-1
33
8
57
23
-46
0
0
0
0
0
0
0
1
0
0
3
-5
-2
-18
0
5
36
-9
-30
-24
45
9
47
-26
8
2
6
24
1
-31
1
22
23
30
-11
7
4
14
-2
-52
-12
8
62
5
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
15
-5
4
4
-104
-64
-7
-7
14
74
32
3
50
-2
28
-38
16
19
52
55
67
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
-6
43
-13
4
0
42
21
-52
4
0
-2
84
70
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
22
2
-6
18
-1
55
-3
17
43
-68
27
-4
-2
-84
48
-33
-4
-30
38
-16
4
-30
42
7
5
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
34
1
-6
-4
-8
24
9
-6
-62
-74
13
-46
97
-66
25
23
19
-79
89
66
57
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
8
8
8
7
0
39
17
15
22
1
-21
3
22
-13
0
0
-44
-60
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
-3
1
-41
31
44
6
-5
27
61
22
28
-21
57
13
50
-89
38
7
-2
-49
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-10
0
0
-8
-29
8
16
0
-10
2
-42
-25
-1
0
-32
-34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
8
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
24
1
0
0
-33
12
7
-25
0
54
23
-49
-8
0
-32
43
16
-5
21
-29
38
-43
31
42
73
25
-33
-4
-86
9
28
-23
-4
3
-9
23
-25
-36
54
38
76
-15
23
92
5
1
0
0
0
18
11
3
6
0
6
-31
-2
-5
0
-25
-8
42
-37
3
-6
-43
-35
27
9
-58
-43
2
6
-14
-20
-17
6
-36
30
-25
49
-52
-70
21
32
-4
14
10
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
-2
5
25
0
-35
-28
17
27
-44
59
-47
-52
41
20
-32
7
-41
-54
-40
35
26
24
23
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-18
-7
0
6
-112
-57
19
0
-24
-13
-50
-6
0
9
34
-1
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
1
24
-2
0
0
0
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-54
5
3
3
0
13
55
5
-10
0
-48
-7
-5
-1
5
-14
-38
-11
20
-63
-77
11
-65
-54
-18
23
9
23
24
2
32
-48
24
-41
-25
54
28
-53
15
15
0
0
0
0
0
0
0
0
0
0
9
-6
-1
-6
0
3
-42
-64
-8
-3
40
34
-25
-23
-4
-26
-30
-76
-12
16
5
18
28
-24
-5
19
48
-9
25
44
64
7
4
23
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
-17
42
14
24
5
-27
54
-17
47
15
33
-30
5
15
45
-11
3
48
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-8
-35
-24
29
0
-57
5
7
19
0
7
-14
-20
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
1
0
0
13
19
-32
33
9
52
-48
18
-5
-70
-92
3
-13
-9
69
9
-52
33
-42
-42
-31
-42
30
-47
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
-1
-1
7
-19
-10
-4
-40
12
-27
10
16
1
-40
-25
-41
-50
27
91
-71
-104
20
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-2
0
-3
-20
19
-5
-50
-25
15
-49
-11
-15
-1
-7
-21
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
16
-29
-5
-5
0
77
-24
-13
-31
-21
16
71
16
2
-10
42
-10
-31
-51
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
10
0
-2
11
24
-13
6
5
45
-66
-35
64
-4
17
35
94
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
-1
1
0
0
-1
45
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
1
-4
0
0
0
17
-4
1
-27
-2
32
-20
-126
-26
18
-34
-81
-16
0
-12
33
-112
34
-20
67
-13
49
35
24
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-1
0
27
-44
-3
-24
0
51
-74
-8
0
61
-90
-4
-72
-56
7
43
37
-26
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
33
-59
89
20
-6
20
-31
34
21
5
8
2
9
48
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
-23
-7
21
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
0
0
-77
-16
20
29
-3
67
15
49
-5
-12
5
-23
37
-69
-42
22
26
25
-13
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
30
2
-5
0
-42
29
-35
54
-20
-17
53
-39
-46
-14
-100
-31
9
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-49
-2
-2
0
6
-41
30
-13
-51
0
0
14
20
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-24
1
0
-17
-8
5
-17
34
-5
7
75
-29
3
-22
74
47
-16
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-25
41
-8
-2
-1
2
-31
16
-8
-3
14
-2
-19
-9
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
-5
-2
-2
0
0
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-32
-8
0
0
0
9
-5
-5
1
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
5
0
0
-8
34
43
1
10
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
51
57
0
0
-1
24
12
1
0
-70
15
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
53
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-27
19
-28
-6
-31
28
-7
4
3
-11
-9
-23
12
19
-41
-22
-23
-11
2
3
-12
-22
21
-41
5
5
13
-8
-13
16
24
38
31
0
-23
31
1
21
22
-41
27
-17
-5
29
8
-3
1
5
1
5
-8
8
-29
-10
5
22
7
16
-15
20
-43
-19
-32
-15
-9
-44
8
15
-20
-11
0
-8
10
33
5
17
1
42
-3
-26
14
3
23
-7
-31
20
-27
-28
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
1
-19
-16
15
-1
-10
25
8
-26
-2
-1
-11
-24
30
-8
6
16
5
0
18
-18
-47
56
23
-3
48
23
15
48
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
-6
8
0
22
14
7
-5
-2
0
-50
27
-64
-1
0
13
10
14
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
-16
2
0
0
8
6
3
0
0
0
0
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
1
7
-2
2
2
15
3
-4
2
-4
-4
-5
4
-38
0
7
5
12
38
12
22
13
3
-23
3
22
-17
38
9
6
-21
-49
7
-38
-10
-42
7
-23
-46
-8
40
-56
27
12
-22
0
0
0
0
0
0
0
-2
5
7
0
2
-4
-5
2
-6
41
22
-19
13
-58
21
45
-11
25
12
-6
47
19
-13
30
13
-18
24
10
1
17
-7
-13
-9
1
9
6
1
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
-2
2
3
-31
-9
0
2
-20
23
-52
3
7
9
47
13
-15
-22
55
9
22
-31
60
-5
34
-22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
-2
0
-21
20
-12
-1
5
2
15
-2
0
1
-7
23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
-2
10
3
-8
18
-72
-7
16
1
-51
0
-17
-60
2
-8
-9
17
-13
14
53
16
11
-5
20
14
1
-23
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-3
0
0
0
-15
2
6
2
16
-42
20
-18
-20
-19
9
5
35
31
27
-18
0
44
50
43
6
57
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
8
-2
0
0
5
31
9
-13
16
10
3
1
-25
25
2
8
-3
42
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-2
-4
-4
-5
-44
-3
-8
5
26
9
-15
16
-8
46
33
8
28
-24
7
0
-10
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
9
-8
-3
-19
17
-13
0
-6
42
27
-16
7
-7
8
20
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
-1
-3
1
1
1
0
0
-1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
-3
-2
0
-2
1
7
8
-2
13
0
12
11
0
-9
7
5
27
5
-8
26
-13
-32
-23
-20
-32
0
43
-48
42
4
19
-47
-2
10
3
-14
29
42
14
-27
0
0
0
0
0
0
0
0
4
0
0
-3
1
-1
0
2
-7
9
4
1
17
-22
-6
0
1
9
-48
12
-1
-13
-59
-8
-8
-22
8
-15
48
9
-38
-23
-49
-31
22
-42
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
3
7
12
15
4
28
43
3
14
-2
-8
-46
60
31
24
-19
6
25
14
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-3
1
0
-3
2
2
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
2
0
-8
3
0
2
4
-1
42
5
33
5
-10
40
-32
-14
-7
40
6
9
2
2
49
-22
-47
-22
-23
13
26
-14
4
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-4
0
-2
-1
-2
1
8
0
0
-20
-43
0
-13
14
5
22
8
13
-5
16
49
-15
8
-34
66
-31
-3
6
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
4
1
0
-12
-12
-1
7
-6
-10
-2
3
-4
9
0
-5
16
-10
-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
-1
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-9
12
5
-2
16
3
4
-1
-15
-43
3
-3
9
-20
0
-17
-17
-12
-3
3
5
8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-9
14
-5
0
8
9
-10
-2
0
20
20
-18
-23
-16
27
-20
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
14
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
-1
-2
0
0
1
-7
-1
1
4
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
1
0
3
-1
-5
-25
-15
-18
0
34
4
7
7
-1
21
-17
-10
1
-7
-10
1
7
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
3
-1
-1
18
9
0
-15
0
-35
13
5
-3
8
1
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-1
0
0
-8
-6
-13
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
32
-1
3
0
8
1
-2
-2
0
8
-24
-1
-8
-2
0
-1
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
-1
-30
3
-4
2
-7
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
-8
0
0
1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-45
-6
0
0
0
-32
0
2
0
0
19
-2
5
0
0
0
-19
2
-1
0
-8
43
-4
-22
0
-31
-4
-8
-15
-14
-25
28
27
54
32
-12
-23
-9
3
-4
7
2
0
0
0
-20
-4
-1
0
0
-5
-4
1
0
0
8
-12
0
0
0
-19
-24
19
-8
-7
-42
-8
-49
0
5
10
-69
40
-22
-8
-22
2
-10
17
23
-12
-23
-9
3
-4
3
2
0
0
0
-42
-2
0
0
0
-27
-6
0
0
0
-15
-3
-8
0
0
-5
-24
30
0
0
-59
-17
-28
-35
-9
10
-7
-29
23
25
48
3
-7
26
98
-12
-23
-9
3
-4
-3
-1
0
0
0
-20
-3
0
0
0
-37
-24
3
0
0
-5
-2
-3
0
0
-19
-9
9
2
-1
-9
3
-58
-6
-4
-2
-19
28
24
-5
-34
26
-5
-50
-31
5
66
34
7
-38
3
-1
0
0
0
-29
-4
0
0
0
-28
-7
3
0
0
-13
-17
-3
0
0
-4
-42
13
4
0
-60
5
14
-31
2
-11
-57
-9
17
2
-25
-6
-45
-17
-28
-7
-4
-16
-55
42
-1
0
0
0
0
-2
0
0
0
0
-6
0
-2
0
0
-20
-8
4
0
0
6
-26
14
0
0
-8
14
-17
-42
-5
-27
-31
-17
-76
-13
-64
-20
-10
-10
-18
3
15
6
-34
-64
-1
0
0
0
0
-1
0
0
0
0
-6
-1
-2
0
0
5
-17
-1
0
0
-3
2
2
-6
0
-28
-28
-44
-15
-17
-5
2
-61
-58
15
-42
-2
-8
-17
-4
-10
-36
-14
-59
-114
-1
0
0
0
0
-30
0
0
0
0
-29
-1
0
0
0
-8
-2
3
0
0
-5
-3
-8
-4
0
-66
12
-17
1
-8
-31
-16
50
2
-8
7
-34
-29
-21
-38
-3
-1
-45
-30
-50
3
0
0
0
0
2
0
0
0
0
0
-4
0
0
0
-9
-1
-1
0
0
2
-17
12
3
0
-46
-30
-7
-7
12
5
-15
56
8
-13
-39
-60
-51
-38
-10
0
0
0
0
0
-25
0
0
0
0
-1
-1
0
0
0
-3
4
0
0
0
-20
-1
-6
0
0
2
4
-4
3
0
-32
-14
5
-1
-13
-3
-7
-50
11
19
-20
-37
-20
-12
5
0
0
0
0
0
0
2
0
0
0
0
-5
0
0
0
0
-2
0
0
0
0
-18
5
0
0
0
-34
0
0
0
3
2
1
-18
-7
8
-18
-30
-11
0
-145
-8
-50
-5
-11
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
2
1
0
0
-3
0
-1
0
0
19
-22
8
-3
0
-53
-1
-2
-5
-3
6
-106
-65
-27
1
5
7
-18
-46
32
-64
26
-42
-26
45
0
-1
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
14
-7
0
0
0
-7
13
0
0
3
-15
-47
-8
-4
-15
15
-14
-17
32
-25
-19
-19
24
-15
-25
9
37
-4
-4
0
0
0
0
0
-29
-5
4
0
0
0
-1
1
0
0
1
-5
0
0
0
3
-14
10
-4
0
-10
-45
-13
42
-8
-42
98
-20
37
34
19
-38
-50
-88
-27
-59
-17
-58
-59
20
0
0
0
0
0
-30
-6
4
0
0
2
1
0
0
0
-10
-5
0
0
0
0
-31
3
-4
0
-14
9
12
-2
6
-1
-18
17
23
-3
-47
-45
-12
-46
-18
-73
9
-29
-69
-11
0
0
0
0
0
0
-4
-5
0
0
0
-4
3
0
0
0
-13
-4
0
0
0
-49
22
0
-1
-7
-9
-46
8
-7
-6
-2
3
6
-17
-15
-4
-13
-25
-45
-90
-46
14
-3
-71
0
3
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
-2
1
0
0
0
12
9
0
0
-2
-2
-8
3
-25
4
-57
-58
-13
26
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
1
0
1
0
0
2
3
1
0
0
0
0
9
2
0
1
-13
9
-12
2
-20
-23
-52
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
3
1
0
0
0
-23
22
-1
-13
29
32
-25
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
-2
-1
0
0
0
2
19
1
0
8
1
17
-1
-2
-5
79
-21
-6
3
-73
-106
-28
15
-13
-11
-19
-18
88
0
0
0
0
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
4
0
0
0
0
2
0
0
1
-2
-30
23
0
-12
-8
-9
21
-16
-5
-40
-70
26
3
-50
-10
40
30
-29
0
0
0
0
0
0
0
0
0
0
-10
-4
4
0
0
0
0
-1
0
0
0
4
5
0
0
-7
-59
6
-10
-4
21
-69
15
10
5
-29
42
-18
-25
-43
-6
-87
-44
-58
-76
0
0
0
0
0
0
0
0
0
0
-13
-6
3
0
0
2
0
0
0
0
0
3
8
-1
0
-5
-9
3
0
-9
-8
-18
59
-19
-3
-49
50
-52
31
-44
15
-55
-70
-40
-54
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
16
1
0
0
-8
7
-24
2
-3
-13
-51
-27
-24
-45
-25
-70
-12
60
7
1
6
-3
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-38
-35
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
1
0
0
-2
1
-24
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
8
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
6
-3
0
0
-1
-49
12
-16
-2
-5
14
30
0
-8
-45
-89
-15
-50
-56
-42
-6
-39
-211
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
12
-4
-2
-22
-16
-37
-20
-23
-15
-16
-87
41
-5
-30
-44
-57
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
-7
0
0
0
0
0
-1
0
-6
-5
-14
1
0
23
2
27
42
-15
41
-41
-117
18
3
-14
-2
-5
55
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
2
0
0
0
-1
0
0
0
0
19
-42
-4
0
37
19
25
49
-17
-44
-21
-40
40
53
-47
16
34
-22
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
27
-42
-23
4
16
-15
-33
37
3
3
-49
8
13
48
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
-8
-1
-24
-9
25
9
-1
9
-52
-67
-68
-20
-1
-24
-267
-79
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
3
13
-13
25
-15
5
47
-22
-7
-43
2
-3
-69
-109
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-9
-12
1
0
0
-5
-8
-19
6
-10
-47
-18
4
-21
-5
-102
5
0
9
-78
8
33
-49
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
22
8
0
0
-3
-1
6
0
2
-47
-10
-19
22
18
-57
-105
-144
4
-2
-1
44
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
-7
1
0
10
-8
77
-31
13
80
3
-5
7
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
-2
5
5
0
-6
2
-5
5
0
7
-8
-52
30
0
0
-162
11
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
1
24
-19
0
0
-5
1
-22
0
0
-41
-36
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
55
-5
0
0
1
19
27
-14
0
-1
-42
-16
77
0
-12
13
-28
-167
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
-7
-5
3
2
-47
16
30
-1
3
39
-10
23
-8
31
4
42
29
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
1
0
0
13
8
10
0
-2
85
17
2
0
-8
1
-98
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-16
0
0
0
-16
-59
0
0
-15
-27
-134
0
0
-111
-50
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-12
3
0
0
4
10
-50
0
0
-3
4
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
8
-8
0
0
15
-55
-33
0
0
-44
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
6
5
-14
0
-32
6
-18
-8
0
2
8
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
8
0
0
1
-43
-50
0
0
-2
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
16
0
0
0
1
-31
0
0
0
-20
-123
0
0
0
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
2
-102
0
0
0
-35
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-59
0
0
0
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
9
8
-50
3
0
-1
2
-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
8
12
0
0
0
-4
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-15
-17
-25
-1
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
25
15
0
13
1
-94
2
76
-22
0
23
-21
-23
11
3
1
-9
44
49
22
94
53
-10
-13
9
-58
2
45
-39
-17
-3
46
8
10
-35
31
36
55
11
47
15
-10
-15
-20
-6
-24
34
32
21
0
9
-12
-81
-15
2
-63
-28
37
0
3
33
-84
-40
3
-9
-27
13
45
-16
-72
55
-7
13
-24
29
52
5
9
70
10
2
17
26
64
-2
15
-10
-15
-20
-6
45
39
-13
0
0
-25
-36
-20
60
10
-13
-17
49
-15
-3
-16
5
-32
-12
13
-70
-26
-2
-36
4
-60
24
-8
-62
48
-15
49
-5
6
45
24
10
2
8
-26
15
-10
-15
-20
-6
56
-7
3
10
2
5
-48
46
5
0
-22
-31
13
26
2
-23
-9
16
-5
5
-19
49
33
11
-19
33
-2
-3
24
21
18
23
3
-7
-18
36
20
15
6
53
27
66
58
65
43
93
-31
0
16
1
37
-31
-17
3
0
22
-14
8
-3
12
-20
40
4
21
47
-27
-27
15
37
23
15
-14
45
23
-7
3
12
16
17
10
-13
39
26
16
-2
32
29
37
78
96
-11
-19
15
25
3
10
-5
-42
3
0
-28
27
-3
4
-2
-46
20
15
-2
-10
-39
13
-20
31
-23
-81
50
23
10
5
3
-17
-17
-31
5
-14
-3
-30
-20
-50
21
-5
24
-49
-45
-11
-19
15
25
3
4
-34
-47
-9
-2
16
5
35
-20
0
-20
34
9
-5
18
31
84
38
-55
9
6
-28
21
-5
-45
11
27
-9
-12
-24
30
9
2
-47
-2
27
16
-9
1
-43
-11
-19
15
25
3
34
-16
-6
-23
4
-38
-7
19
-15
-1
-6
-17
7
-25
-29
-41
-27
22
-25
-43
-44
15
-33
16
-41
-31
-14
-2
-11
-22
29
-5
-8
-31
-25
1
21
-39
-30
-24
-5
-40
-31
-9
0
48
-46
-32
-9
0
-83
27
-12
9
0
58
-47
27
-50
-4
-52
-104
66
-33
8
-106
-5
-16
59
45
4
4
28
30
30
-18
-19
-44
-29
-60
0
0
0
0
0
-78
-99
1
-8
0
-14
-7
10
5
0
4
-30
-19
22
-6
-42
-32
-5
-15
-1
-15
-60
25
-8
-5
-110
-63
10
-12
7
2
6
-51
2
-9
34
-27
-14
-39
-9
0
0
0
0
0
0
-52
-7
-3
1
0
14
16
-28
0
-2
11
41
5
1
2
-12
-31
-30
9
55
-8
-27
46
-48
41
-42
17
-22
-19
-1
6
-3
-20
5
-36
-13
-24
-25
-12
0
0
0
0
0
-49
79
26
-2
0
4
50
1
5
-1
49
54
29
-33
1
-38
66
-2
26
9
53
-8
10
-50
21
-102
22
-22
8
29
49
-31
-45
-5
-5
-39
3
-6
-28
-31
85
-21
50
19
55
0
-8
-10
-3
0
1
30
17
0
1
-1
6
-17
-7
-6
1
-18
19
-10
-20
25
35
-2
-54
3
-58
-22
-22
-118
-26
-75
-34
-5
-24
-18
3
-17
-8
-7
-6
-43
12
-17
-2
0
0
0
0
0
0
-12
-6
67
-16
22
6
-42
48
0
-3
-42
-61
-36
-37
-4
131
-22
29
5
13
24
-42
-9
-53
11
29
7
-7
25
89
5
-9
13
-42
-30
-37
6
-30
-16
-44
0
0
0
0
0
-6
30
99
-34
5
9
10
41
24
0
20
-25
-43
-29
3
24
-101
-31
9
-25
30
-1
13
-56
31
-8
13
9
17
28
-34
-1
-18
9
11
-72
-55
-27
-4
3
0
0
0
0
0
-7
10
12
5
-5
-4
-13
34
34
0
0
19
17
4
-6
5
-25
-32
-5
-42
-9
31
-27
18
22
41
3
-55
38
8
-35
-8
-27
1
-13
5
3
-6
18
-28
0
20
16
-2
0
3
5
-48
-1
2
50
-27
-8
-19
0
-110
15
13
-5
2
-22
-8
-49
13
-1
-13
13
-20
-20
-24
13
-26
-29
-24
12
0
0
0
0
0
0
0
0
0
0
24
-9
1
1
0
10
20
35
-5
5
-21
12
32
-8
0
-11
-7
63
-20
-12
-65
-44
-25
-25
43
-41
-67
21
9
1
-29
13
-4
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
18
0
-3
1
0
-41
5
0
0
-1
-12
25
-14
2
5
33
13
16
-22
1
-11
13
-8
13
-118
-6
12
-17
0
0
0
0
0
0
0
0
0
0
-4
-1
-11
0
0
42
-1
-29
9
-1
34
-25
55
10
0
-19
-40
-56
-21
7
22
-58
15
-13
-5
30
-40
-46
-7
0
-46
11
-3
-9
42
-57
-39
-15
20
-74
42
-80
-24
-44
-56
0
0
-7
0
0
0
0
-19
0
3
0
0
81
-1
0
1
-1
-48
-28
-1
1
-5
43
15
8
-84
10
-66
20
9
2
-24
-8
31
1
-93
-19
-11
-8
-35
-27
-68
-93
4
-42
0
0
0
0
0
0
0
0
0
0
-16
-21
9
5
-1
-5
4
41
-13
-5
-93
-2
-40
44
-30
-15
-64
-53
48
6
98
-10
18
27
-77
7
-20
-19
-2
-16
75
-83
13
-9
57
0
0
0
0
0
0
0
0
0
0
-64
-36
-28
-15
2
-18
-47
-13
-2
-1
-49
-51
63
47
9
-45
-13
-17
3
-42
-26
6
17
7
82
35
-33
0
78
-29
-42
-5
-27
-68
-38
0
0
0
0
0
0
0
0
0
0
1
9
-3
-9
-1
0
-1
-40
3
5
-3
-9
37
8
46
-16
-30
17
12
15
-30
19
11
-68
-2
-51
-43
15
42
-25
-31
-79
-16
-42
30
3
-5
0
0
0
-8
0
0
8
0
-8
45
0
-5
0
8
-18
3
-32
0
2
48
1
-18
17
92
-28
-17
26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
32
0
0
0
-13
1
-5
0
-4
35
51
-2
3
0
-2
-8
-11
-3
1
20
29
-34
-29
1
-60
51
-62
-10
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-21
0
0
0
0
24
0
0
0
0
-5
0
0
0
0
-8
-11
10
-22
2
43
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
0
-3
-1
-5
-24
28
5
1
-19
1
-19
14
-3
22
-59
-29
-18
-2
-13
-7
-51
26
3
-53
-134
59
-33
-27
-41
8
40
3
-12
48
-20
8
-47
-56
-24
-63
-127
-114
-109
0
0
0
-2
0
0
0
0
-42
0
0
0
0
-9
-2
0
0
0
-21
3
0
-75
6
-4
4
-8
14
5
34
-30
2
-9
24
-1
-62
67
11
-38
-15
-55
-27
-76
-51
-111
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-47
-60
-3
9
-5
-60
59
-97
9
30
-61
25
50
32
-10
27
37
22
-12
112
4
17
1
50
16
0
-9
-21
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-8
13
4
6
-37
-26
-28
-31
-5
-52
5
-68
31
22
27
-43
31
22
-95
-73
-32
-76
49
6
-106
-14
-41
-50
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-37
12
-29
25
-2
-1
-4
-38
-16
5
-16
19
-43
-13
78
50
30
-13
-22
16
-18
25
26
49
10
-44
-11
-30
3
0
3
0
0
0
-12
0
0
0
-2
0
0
0
0
0
0
0
-4
14
-8
-43
-120
26
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
19
0
0
0
0
-4
0
-1
0
0
-5
85
0
0
0
75
-27
23
-3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
6
-15
5
25
-20
15
-42
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-62
-8
0
0
-19
-8
0
0
-8
-1
0
-1
1
0
-25
14
3
0
1
-16
-3
-38
-16
-8
15
-52
-41
-16
-44
31
-1
94
-75
-22
-42
-104
-109
-70
-40
4
-66
-41
-81
-119
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
-1
-24
0
2
-5
0
-35
-8
-22
-43
-7
54
-6
36
-22
10
27
-45
-37
-68
-92
-67
-44
18
-139
-70
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-16
-11
-41
37
-42
-50
-41
-44
-33
6
-19
-53
-57
-19
-54
-35
-20
7
-14
-52
5
-24
-37
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-47
-14
23
17
-53
-41
-4
16
-30
5
-61
3
-4
5
43
-52
-18
-69
-3
-12
-14
23
-44
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
49
-29
14
42
0
-41
-31
-13
-10
49
48
44
-1
54
-12
-9
-88
-19
-75
-63
39
-5
12
-12
0
0
0
0
0
0
0
0
0
0
0
1
1
5
0
1
13
-76
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
-18
8
-20
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
5
-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
-5
0
0
0
18
0
0
-1
0
0
1
0
0
0
2
1
0
-1
0
2
-32
-21
12
0
-6
0
30
1
0
-47
-30
7
-5
0
-2
-58
-8
-62
0
23
-138
-89
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-39
0
2
0
21
26
0
-5
13
-3
-54
0
48
-121
-123
-70
0
5
-18
-43
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
61
-3
-43
0
25
102
-14
83
0
-6
6
-19
-20
0
-93
2
-121
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-25
33
-13
30
-22
-86
1
38
16
-32
5
-22
30
5
30
-33
15
-38
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-42
4
-13
0
-1
-57
106
33
0
-50
-84
-8
-57
0
-49
-29
-13
3
0
0
0
0
0
0
0
1
-2
0
0
36
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
50
0
0
-1
-31
-73
0
0
18
-30
-30
0
0
-30
-80
-106
0
0
-115
-88
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-29
0
0
0
-13
51
0
0
-13
-42
-13
0
0
66
19
-17
0
0
-66
26
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
45
46
0
0
-1
-5
-32
0
0
-71
-7
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
9
3
-32
29
-1
0
-37
-48
-50
-13
-1
-23
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
60
22
0
0
-8
-30
-55
0
0
-8
1
12
0
0
3
-24
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
-17
0
0
0
-19
11
0
0
0
-54
-82
0
0
0
-84
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-1
-8
0
0
0
1
70
0
0
0
-37
-3
0
0
0
-89
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
19
0
0
0
57
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
-27
28
13
-49
-87
24
-13
-8
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
18
0
0
0
5
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
-35
0
0
0
0
45
0
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
29
0
0
0
0
-46
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
34
22
25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
63
-52
3
3
1
1
21
-19
14
-2
-7
-48
-49
-4
-10
-70
-21
11
0
2
79
12
2
-3
47
-22
-32
16
10
-27
-14
-1
8
9
-40
14
19
46
95
5
15
10
0
3
3
1
47
-31
31
0
114
7
-124
-40
-1
-70
-33
-4
-20
5
-30
52
13
58
-40
64
-9
6
39
-51
70
34
40
0
42
12
75
18
31
32
36
12
9
73
50
15
10
0
3
3
36
-9
-40
1
0
17
-58
-4
54
22
-21
22
18
-28
-9
-12
48
-23
24
27
-76
4
-13
13
51
4
6
-22
80
-29
2
9
4
41
72
2
9
-10
-31
-63
15
10
0
3
3
24
-31
5
8
2
55
-21
-5
48
15
24
23
22
49
21
-26
28
-13
46
11
-7
67
46
29
32
-11
22
59
35
51
24
16
8
9
-14
24
-1
15
11
53
11
45
33
53
22
53
-13
0
22
1
52
-37
-5
-16
-2
28
-32
23
27
7
-15
67
39
44
80
-32
-21
22
42
61
31
25
47
16
-26
23
10
2
-21
-11
3
-1
-19
37
43
12
19
62
23
109
-11
-3
-22
7
-4
-35
1
6
3
0
-11
13
-6
-25
4
-33
-17
58
-18
-37
37
53
-56
15
-40
8
41
-20
31
-25
3
-2
-26
-19
11
-16
-7
-13
-17
-9
28
-53
-63
-46
14
-11
-3
-22
7
-4
-29
-3
-30
-5
-2
15
7
11
-23
1
22
31
18
14
31
81
-5
41
21
65
16
28
13
-2
-29
48
49
18
-7
-6
38
8
-1
13
16
15
-5
-12
25
-47
-11
-3
-22
7
-4
71
-14
-65
-66
4
-35
-22
10
-5
-3
-12
-37
-22
20
-27
-34
-9
-8
16
-22
-1
24
-5
6
-15
2
-6
17
6
-6
5
2
-11
4
14
21
-16
-56
3
-21
-11
11
-35
-14
0
5
-49
-19
2
20
-46
34
-10
27
0
47
-30
84
-69
1
-45
-20
31
1
-8
-72
11
-49
58
-29
7
-11
18
-28
63
12
8
-17
-24
-10
0
0
0
0
0
-42
-55
17
-17
0
-46
0
13
14
25
19
-20
-5
16
-31
15
-28
-46
-24
24
25
-50
102
-9
-12
-59
-76
-16
10
0
55
12
13
-17
-58
-51
-2
-8
-12
-2
0
0
0
0
0
0
-8
-4
19
1
0
58
-7
-15
-1
-2
-12
14
-15
5
5
-31
-50
-94
21
32
-52
-10
49
-86
-7
-39
-14
16
25
-29
7
39
7
-29
20
3
8
5
6
0
0
0
0
0
-13
29
8
-2
0
-31
20
-4
-45
-4
5
64
11
-24
0
-17
-3
38
68
-1
15
2
13
-27
38
14
17
-23
-23
-40
-38
8
46
-23
15
4
2
-17
3
5
-51
22
51
14
-14
0
-18
-57
7
0
1
60
-5
17
-1
-1
20
10
-1
-9
-16
-14
23
-47
-4
25
17
2
-20
6
-65
-29
-41
2
13
-61
-11
39
8
-28
-21
9
-26
28
-56
71
-53
16
4
-71
0
0
0
0
0
57
2
-44
-7
34
18
-73
48
10
-6
-58
-13
-30
-70
19
91
-52
40
75
-15
52
25
-38
17
14
92
2
0
45
52
-11
-4
-16
-16
10
49
4
15
1
29
0
0
0
0
0
25
24
5
-48
-1
13
15
45
23
-2
-8
-31
-41
-66
13
-38
56
-12
-15
-24
2
19
30
-48
-15
33
-3
9
11
33
13
-7
0
-11
1
-32
-7
11
-23
-20
0
0
0
0
0
-11
14
-5
46
3
-4
-9
-2
29
0
0
26
8
40
7
19
-13
-21
-26
-3
-49
15
0
13
12
-49
-11
-6
3
30
10
8
23
-15
-43
41
6
1
5
12
0
-1
6
-2
0
-7
-4
-23
-2
-11
18
-9
-4
-7
0
-93
9
-41
24
4
-60
-32
-38
-4
-1
-26
4
-13
1
12
45
10
-3
10
-22
0
0
0
0
0
0
0
0
0
0
-17
-30
1
1
0
5
-20
14
-4
-7
10
43
17
-10
-2
-40
-84
79
-45
-17
-127
-14
-9
-42
67
-13
-43
5
-3
-34
-114
-32
-21
-25
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-55
0
-3
1
0
-24
21
-8
0
-5
12
83
-31
1
19
45
27
25
-29
5
5
-87
26
10
-32
-17
-36
-1
0
0
0
0
0
0
0
0
0
0
-4
-23
-34
0
0
35
-5
-31
15
-1
32
-51
29
-15
-9
-48
-46
-42
-19
9
-18
-75
24
44
-32
46
-50
-79
-18
-13
-38
-39
0
3
-5
-12
-45
-19
-39
-44
-2
-18
7
-57
-31
0
0
-6
0
0
0
0
-49
0
3
0
-19
10
-33
0
1
-1
-82
-19
-1
1
-18
-35
9
13
-102
-7
-25
-54
-26
2
5
-10
-35
8
-1
-8
-4
-78
48
2
29
-113
-71
17
0
0
0
0
0
0
0
0
0
0
-29
17
-8
-3
-25
6
-22
4
22
12
-107
-23
-5
45
-3
-46
-31
-29
-15
-30
32
-27
25
-3
-44
-27
28
-47
25
-50
-36
37
36
-11
6
0
0
0
0
0
0
0
0
0
0
-44
-30
-13
4
-22
-56
-49
-15
-28
1
-36
-73
22
58
20
-43
-53
-68
53
-17
-26
-12
-13
-13
27
-61
-30
-23
-22
2
-99
70
33
-14
4
0
0
0
0
0
0
0
0
0
0
20
8
8
-24
-40
0
-1
2
-27
-2
-12
-8
22
17
42
-25
24
-31
-11
-8
-35
80
6
-27
31
-40
-20
39
30
12
28
15
14
45
-1
-1
-3
0
0
0
-5
2
0
8
0
2
29
3
-24
-14
20
-35
3
26
0
2
55
1
-11
10
41
-16
8
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
0
0
0
-3
-13
0
-4
9
10
0
-8
0
1
-12
-28
-4
1
-19
-27
-67
-35
1
-125
-6
-31
8
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
-34
0
0
0
0
32
0
0
0
0
-1
0
0
0
0
-22
-52
-4
16
-36
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-21
0
-3
-1
7
3
-3
-5
1
-37
-10
-39
8
-3
52
-23
-36
-36
-1
-24
23
-33
6
1
-88
-104
-43
-64
-2
-27
-31
-4
-44
-2
18
-39
-48
27
-67
-38
42
-47
28
-2
0
0
0
-3
0
0
0
0
-22
0
0
0
0
-10
-2
0
0
0
-8
1
0
0
21
7
-8
-5
5
-4
-3
-21
3
-29
98
26
-4
47
20
-37
-32
-91
-3
-71
-52
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
-58
42
5
5
-58
9
-93
51
-8
-35
9
81
37
5
15
39
4
-22
106
-29
-21
-7
-78
52
-25
-9
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-15
3
54
-24
15
-34
-57
-27
-7
-73
-94
-26
37
56
22
-38
50
-14
-66
-26
-30
-45
-31
-75
-8
-97
-27
0
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-9
6
-40
49
-2
1
3
-18
-53
-7
-47
31
5
-16
35
12
50
1
-1
50
30
77
-25
-28
-107
-72
11
-25
-26
0
-2
0
0
0
5
0
0
0
-2
0
0
0
0
-17
0
0
-4
12
5
-6
-103
-15
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
5
0
0
0
-4
-17
-1
0
0
-23
31
1
-2
0
60
30
-23
36
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-8
0
0
6
-44
5
43
28
-5
-45
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
0
-1
-6
0
0
2
-1
-17
0
1
0
-6
6
3
-5
-5
-19
10
-53
-19
10
29
-40
-8
5
-41
41
2
5
-45
-32
-87
28
-49
-108
-36
25
-68
-9
-93
-90
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
-1
0
0
0
-1
-52
-1
2
-5
0
-45
-8
-4
-52
-7
69
-9
-42
-47
-57
-8
-81
-65
13
-69
-17
-35
22
-119
41
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
20
18
-59
26
-98
-47
3
-25
-19
-18
48
-2
-65
7
4
-64
-4
-30
-16
-72
-18
66
65
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
-37
-18
-5
-5
-50
-13
-23
20
-32
-19
25
52
34
-23
-8
18
-5
38
-10
-18
0
28
11
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
31
-70
20
65
0
-45
-43
15
9
49
-1
47
5
-10
-9
-78
-81
10
-95
-51
63
8
21
42
0
0
0
0
0
0
0
0
-4
0
0
1
21
8
0
4
57
-42
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
-7
8
-14
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
13
-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
8
0
0
0
-39
0
0
5
0
0
-1
0
0
0
2
1
-1
-6
0
-4
-45
-52
22
0
-5
-2
20
39
0
-31
12
-31
-19
0
-2
4
-35
-96
0
37
-101
-69
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-75
0
4
0
-2
68
0
-18
23
-14
-6
0
24
-24
-39
-95
0
7
-9
-13
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-52
14
-28
0
26
58
30
117
0
-5
1
-32
3
0
-31
36
23
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
5
-15
-45
-22
-37
-74
-58
-5
21
-41
-4
4
-21
17
20
-9
9
-9
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-24
15
-23
0
2
-65
50
30
0
-53
22
-31
31
0
-53
-34
-50
-67
0
0
0
0
0
0
0
1
-2
0
0
44
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-13
-19
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
16
0
0
-1
-26
-52
0
0
21
-41
41
0
0
-27
25
-70
0
0
-46
-54
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-37
0
0
0
-8
28
0
0
-20
1
-14
0
0
34
-51
-29
0
0
2
31
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
38
95
0
0
-22
-21
8
0
0
-69
-8
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-34
-14
-22
11
-3
-35
-40
-7
-49
-19
-4
-48
7
-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
131
55
48
0
0
51
-24
-21
0
0
-10
1
45
0
0
3
3
0
0
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-45
0
0
0
-58
-29
0
0
0
-68
-43
0
0
0
-47
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-1
-41
0
0
0
0
30
0
0
0
-42
12
0
0
0
-123
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
97
0
0
0
67
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
53
-55
-97
-57
24
-13
-1
10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-65
0
0
0
55
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-5
0
0
0
0
13
0
0
0
0
-60
0
0
0
0
-37
0
0
0
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
37
0
0
0
0
-54
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
42
49
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
-1
0
0
0
-3
6
-6
0
-1
-6
-13
-17
6
2
-20
-34
-11
-6
-14
-4
0
-1
-45
14
-22
-8
-8
-5
-30
25
-4
-13
45
7
-21
-13
14
-9
4
-1
3
30
6
23
0
0
1
-2
0
8
6
-2
-15
-1
0
2
5
-5
-4
-2
40
31
7
25
26
-5
41
12
19
-16
-22
5
16
22
2
12
52
0
53
60
32
5
-7
-17
-1
3
30
6
23
5
0
0
-2
0
-14
-5
0
2
0
-11
5
-1
2
-1
8
-13
5
3
5
-54
7
-43
-31
9
13
-9
33
8
-5
1
-3
-51
15
-9
25
11
-5
-5
13
-1
3
30
6
23
0
0
0
-2
1
6
0
3
0
0
2
6
16
6
-1
3
9
-6
35
2
-13
1
-20
2
12
-32
40
43
26
4
32
-3
66
38
31
13
50
13
3
22
21
-28
-17
63
50
3
1
0
0
1
-7
0
0
0
1
-14
-8
2
-2
-4
11
6
6
12
15
-33
2
2
17
19
25
4
17
-11
7
26
20
-5
33
30
14
-6
66
-12
5
-27
13
47
-1
5
1
-14
-2
-13
-16
0
-2
0
1
0
-14
5
2
11
-1
3
-7
34
-10
-12
26
-13
-26
-26
-13
28
8
-22
-12
13
-8
12
-41
20
3
-3
18
35
-22
-1
-35
-49
49
-40
-12
1
-14
-2
-13
-16
0
1
0
0
-1
5
8
0
13
0
18
-2
22
13
12
40
-15
-3
22
22
22
50
30
-2
49
42
45
45
15
22
25
3
53
22
34
16
13
-3
27
10
1
-14
-2
-13
-16
-6
0
-2
-2
0
-13
-2
1
-6
0
22
-5
-12
39
-31
-36
42
-10
-12
1
-22
-4
-42
-30
5
-14
-46
-14
9
-9
-15
2
16
67
2
-16
-51
9
25
26
0
-4
0
-1
-1
0
-4
0
2
3
-7
9
-5
-9
-1
21
-13
27
-22
-6
-27
-21
10
24
-2
-5
-13
-8
-5
-2
-8
-5
14
3
13
44
21
1
4
13
0
0
0
0
0
-1
0
0
0
0
-2
-2
0
-1
0
7
-1
-6
-5
0
5
-13
-13
13
-18
-31
-12
7
5
-3
-10
4
-3
-15
-1
31
-11
-47
31
0
-61
-41
15
10
22
0
0
0
0
0
0
-12
0
1
0
0
3
0
-3
0
0
-6
12
-21
0
2
6
-41
-17
3
3
-42
13
18
5
6
-7
-2
-13
3
19
-10
17
22
9
-10
0
22
7
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-5
-1
-3
-9
-5
7
-1
-5
-44
46
-13
8
-17
6
-9
-10
16
1
-48
-9
-15
16
-31
55
24
-11
-35
10
-23
-42
47
17
-20
-33
-2
-24
-8
0
-2
0
-4
0
0
2
0
0
0
0
-4
6
6
1
0
-5
25
-5
1
2
-8
-5
-19
28
-24
20
21
-9
-8
21
28
16
31
-18
17
-4
52
52
-19
15
-26
14
0
21
0
0
0
0
0
-5
-4
-13
-42
34
-5
2
12
-5
-1
-13
-25
17
10
5
12
-10
-5
22
17
-22
0
-4
-9
-33
-41
0
2
43
7
-10
19
-45
69
22
41
31
93
49
65
0
0
0
0
0
-16
-3
-7
-40
16
-15
-5
8
-7
0
9
-10
5
-14
2
-50
72
52
-1
6
-7
-19
-14
13
-32
33
-9
-33
-1
-15
1
61
-5
17
-35
20
8
41
9
61
0
0
0
0
0
-1
-8
5
-28
20
0
-8
-13
22
-1
-1
11
-10
5
5
7
-45
-31
-40
5
31
-34
29
14
-16
18
22
30
39
45
67
17
21
-64
-24
13
70
18
-31
8
0
0
0
-1
0
-1
0
0
-1
0
0
-1
3
-10
0
-1
1
-6
43
2
-25
-5
4
-5
-1
-9
30
-5
-22
5
21
26
-5
7
4
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
-2
1
1
-2
0
0
0
0
-12
-18
8
16
1
-21
-4
-25
-34
7
11
9
-9
10
-7
-24
0
-5
18
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
1
-2
0
0
-6
5
0
0
-1
41
43
-9
1
0
-15
-5
14
-5
0
-17
-4
-1
-3
35
1
10
15
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-1
0
3
-18
0
1
6
-22
-8
1
2
-6
8
-12
-13
23
-2
-7
11
-13
8
-28
4
59
16
18
-19
8
-29
13
0
21
12
-17
-8
0
0
0
0
1
0
0
-10
0
1
0
0
-8
2
0
1
0
-2
5
-2
1
0
-13
1
3
-7
-21
-15
-24
-25
1
-41
-2
-7
0
0
-25
-45
13
44
-10
9
43
-25
10
0
0
0
0
0
0
0
0
0
0
8
-21
-12
-7
-2
0
2
-21
-6
8
-8
8
28
21
-1
-29
33
3
-13
1
14
13
7
-12
-7
-1
17
2
33
-42
-28
-17
-12
51
20
0
0
0
0
0
0
0
0
0
0
-7
-8
-8
-16
-4
-20
-13
-8
5
0
-2
-25
-25
6
0
-66
-52
-48
8
-7
-37
-3
8
4
17
7
-38
23
-8
13
-27
7
2
-4
-19
0
0
0
0
0
0
0
0
0
0
1
1
1
1
-6
0
0
44
-3
3
0
-6
4
-10
2
-9
8
9
-1
5
49
41
-5
-6
35
-33
-32
-40
11
25
-4
-7
74
3
-14
0
0
0
0
0
-1
0
0
0
0
-3
0
1
1
-1
0
0
0
7
0
0
7
0
10
14
3
-17
23
36
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
-1
2
-6
0
0
0
0
-4
-8
-2
0
3
-20
-20
-18
1
-15
-9
-10
-5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-10
0
0
0
0
8
0
0
0
1
-8
0
0
0
0
-23
3
-25
-6
-8
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
-1
2
-2
4
3
-12
-6
0
-3
9
-5
16
0
-14
-16
-14
-31
-17
-34
7
-35
-43
8
-30
20
-8
-4
-3
10
-1
34
13
-30
0
0
0
0
0
0
0
0
-24
0
0
0
0
2
-1
0
0
0
-1
1
0
-8
8
31
0
-10
34
9
9
7
-5
-13
16
-3
5
55
-89
21
-26
-1
16
0
-5
30
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
15
-3
0
-6
-20
-37
18
1
-5
-10
51
1
48
-17
-18
-27
-12
17
-32
-77
-6
-16
23
20
25
-49
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
12
-9
-14
16
-22
-3
-10
1
-8
-9
27
2
-8
-8
9
1
8
-12
-13
-14
-56
-5
6
-21
-47
-20
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
-23
15
1
-2
2
4
7
-2
17
0
15
-12
3
-1
8
-10
-41
1
80
8
-11
-28
-25
-25
-18
24
-25
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
-4
1
26
-9
-34
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-7
-3
0
0
-14
25
-7
9
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-1
14
0
6
17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
1
0
-7
-1
5
-14
-2
20
13
3
-8
-8
-16
13
-13
-19
-5
-4
-49
13
-19
-15
-15
8
5
34
-11
32
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-15
0
2
1
0
-14
-1
-24
-10
-4
3
-9
-37
-25
-21
8
-37
56
-1
6
-30
-5
4
-6
28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
11
22
-5
8
-2
5
14
-5
-3
4
13
15
-14
37
1
-15
17
-2
19
-8
21
34
59
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-48
-43
-49
5
-13
-24
8
-10
-8
4
-2
5
16
-7
-9
-42
-22
-8
-5
3
1
2
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
6
42
8
0
-8
-13
14
4
7
6
10
5
4
8
-61
-2
9
14
8
23
-7
19
32
0
0
0
0
0
0
0
0
1
0
0
0
1
12
0
2
17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
-2
7
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-5
-5
-5
0
0
2
-13
6
0
22
-5
-14
3
0
2
9
0
11
0
5
13
41
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-26
0
0
0
-7
12
0
-7
-9
-14
6
0
-5
25
-5
-16
0
0
-14
-31
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-60
-7
-23
0
22
9
46
39
0
-13
0
-8
-13
0
-35
-14
-49
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-15
-15
-12
-19
-2
-26
-8
-3
2
-3
-25
-17
-12
-9
-2
8
5
6
-3
0
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
-8
7
-17
0
0
-16
-13
25
0
-3
25
-6
-8
0
2
-7
-14
-13
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
30
0
0
-3
-8
-15
0
0
6
-13
-13
0
0
3
-27
-8
0
0
22
3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
2
0
0
-3
15
-1
0
0
10
31
-31
0
0
18
43
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
24
0
0
-6
-48
22
0
0
2
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
13
-19
-3
4
1
17
-5
8
-2
0
-3
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
7
6
0
0
8
13
-7
0
0
-1
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-7
0
0
0
-30
-12
0
0
0
24
-19
0
0
0
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
0
0
-8
4
0
0
0
-13
43
0
0
0
7
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
17
0
0
0
48
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
24
-2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-12
0
0
0
16
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-4
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
10
0
0
0
0
-47
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
32
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
13
0
0
0
0
8
-24
-2
0
0
-1
-18
1
0
0
21
2
5
0
0
-9
-7
-1
6
1
8
0
5
-48
-31
-10
-12
-46
10
60
20
-9
3
14
24
-1
4
-6
4
-3
2
1
0
0
0
8
-27
3
0
0
-25
3
-4
0
0
-8
-8
14
-2
0
-15
-28
-6
-6
-3
8
-17
36
7
6
1
21
-14
28
29
14
-3
1
-19
-71
-1
4
-6
4
-3
2
0
0
0
0
8
-14
-2
0
0
-5
-6
1
0
0
2
6
-7
0
0
-5
34
-7
-6
0
-33
-12
-13
-14
-5
-8
2
-17
-10
3
-25
-8
3
26
-4
-1
4
-6
4
-3
-22
0
0
0
0
-16
-8
-4
0
0
-1
-23
0
0
0
-1
-4
-3
2
0
-14
14
0
-8
-2
-1
-29
-42
-31
-18
-1
-13
11
11
5
35
-21
-17
-10
1
-1
70
10
14
-20
-8
5
0
0
0
1
0
0
0
0
-10
-12
-1
0
0
-4
-8
1
0
0
-5
-15
7
-8
1
-14
-66
-50
-29
-13
-12
15
-31
-38
9
-14
-14
-11
-2
-3
-8
-16
-6
9
-13
16
15
1
0
0
-4
-2
-1
0
0
-13
0
0
0
0
-7
1
40
0
0
-13
9
-7
-4
-2
5
11
-82
-25
4
21
6
-23
-19
18
-13
1
9
2
9
-16
-39
-8
-1
26
16
15
1
0
0
10
-4
-2
0
0
-2
-8
1
0
0
18
-1
0
0
0
-7
-12
-8
-6
1
42
-20
-26
-61
5
-11
-1
-13
-2
-12
-28
-2
-7
3
1
-7
-42
-4
34
0
16
15
1
0
0
9
-6
-4
0
0
-6
0
0
0
0
1
6
14
0
0
-6
-8
-4
-4
-1
-39
61
-13
-21
8
3
-10
-2
-20
-4
20
5
7
-5
4
7
1
-21
0
22
13
0
0
0
0
8
-2
1
0
0
-3
10
-1
0
0
2
-1
-10
0
0
24
-9
6
-17
0
-13
13
-7
13
15
-58
-8
-39
-7
-7
-65
-3
17
-1
6
0
0
0
0
0
15
0
0
0
0
-1
-2
0
0
0
-5
-14
-1
0
0
2
6
-4
0
0
4
7
-4
3
4
-10
-10
-53
-19
-14
-4
3
-36
-9
-1
-45
-4
-3
11
-1
0
0
0
0
0
0
-7
0
0
0
0
4
7
0
0
0
-8
0
0
0
0
-22
0
0
0
0
-45
3
-7
-1
-1
-4
-2
-8
6
20
-1
-28
-5
7
-26
14
1
2
-4
0
0
0
0
0
0
1
0
0
0
-1
-5
3
0
0
-6
14
1
0
0
-1
25
-5
0
0
-7
-27
-12
-3
0
-33
11
-41
-10
8
-42
14
-31
-18
21
-13
29
8
-8
18
12
-57
21
14
-13
0
-11
0
0
0
0
-5
0
0
0
0
-2
1
0
0
0
-2
-8
0
0
0
3
-8
-8
0
23
63
-6
-26
6
29
-18
-21
-13
24
26
0
5
-7
-12
2
-23
1
1
-8
0
0
0
0
0
5
-41
8
0
0
-2
-4
2
0
0
-2
-1
0
0
0
17
-1
1
-9
0
-22
8
2
41
8
-42
14
41
27
-44
-25
-12
-4
-13
-14
6
-10
4
12
-1
0
0
0
0
0
-22
4
10
0
0
-7
3
0
0
0
-5
8
0
0
0
2
17
0
-9
0
-79
32
-20
2
-23
40
-8
-25
-8
17
43
-20
16
-16
-26
3
4
14
2
13
0
0
0
0
0
-1
-41
27
-1
0
0
-8
-8
0
0
0
-30
-8
0
0
0
-9
9
0
-1
28
-65
-15
10
-10
-37
3
-44
-8
5
-132
-11
-11
11
-32
-13
13
-4
-17
-6
0
0
0
0
0
1
0
-2
0
0
2
-3
-1
0
0
1
-3
2
0
0
-16
-2
4
0
0
-3
-30
-27
-8
-3
17
11
0
-24
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
2
1
0
0
2
-7
1
0
0
-2
4
0
2
0
-13
-22
-42
-15
6
-15
-29
-38
-38
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
7
0
0
0
0
6
0
0
0
0
-8
0
0
-2
0
-29
-8
-15
-6
23
-11
-34
-14
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
-24
17
0
0
9
-4
1
4
0
-8
22
3
-9
0
13
-22
1
-17
13
-75
-3
4
-11
1
-38
-82
-2
-19
-24
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
12
0
0
0
0
-13
0
0
-9
0
-27
42
-1
-2
71
60
20
-5
4
6
6
3
-46
0
0
34
1
0
0
0
0
0
0
0
0
0
0
0
-4
-6
5
-2
0
0
2
-6
0
0
-3
-2
-7
0
0
-4
-23
-37
7
-2
-48
58
47
-49
-46
68
-10
-22
-62
-92
-23
47
-19
-92
-6
0
0
0
0
0
0
0
0
0
0
-14
-4
2
-1
0
-13
5
0
0
0
-4
-15
10
0
0
3
-39
-10
22
-17
2
-14
-37
-51
12
-59
-10
22
-62
-7
31
-47
-6
-21
23
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-7
0
0
0
0
-42
-4
1
-3
-20
-66
-46
-17
12
6
-19
20
3
-29
-16
-40
-5
-102
-74
-31
8
73
-27
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-29
-30
-52
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
-1
-3
0
-40
14
-53
-11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
8
-7
-48
-14
-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
-1
2
-7
0
0
0
1
-2
-5
0
-10
6
-20
17
-1
4
-33
-51
-36
-30
-6
-32
-14
5
-78
-43
-23
1
-17
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
0
3
16
2
15
-12
-24
-6
-8
24
2
20
6
40
8
-8
-39
-55
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-21
-14
-4
0
0
-9
0
-1
1
-5
-35
-15
-23
1
8
-83
-44
-23
11
19
-32
-55
-14
-93
19
4
9
-134
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-27
13
2
0
1
-8
-2
1
0
-5
-20
-17
0
5
8
-17
-20
-21
13
-44
-17
30
-48
73
-23
25
-96
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
19
0
-4
-71
-49
-38
-23
6
-70
-26
0
-25
-11
-9
-70
-39
5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
14
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
-3
2
0
0
4
-18
-3
0
-2
1
-75
18
5
-21
-20
-48
-11
-77
-20
-9
-75
-5
-27
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
12
-20
-15
-18
-9
8
-10
-60
-67
-21
-14
4
-47
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-33
-14
1
0
0
5
8
-24
-16
36
-52
-84
-4
23
37
-12
-89
-41
-97
-16
37
-3
-182
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-16
-3
1
6
-34
-2
16
0
-7
8
-10
-12
-6
-1
20
25
-84
-25
-47
26
-6
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
2
-3
30
-3
-24
0
12
-42
-95
0
-30
-86
-8
-8
5
-14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-16
0
14
-24
1
-39
0
-59
-13
-68
-37
0
-20
5
17
-149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-25
0
0
-7
14
-25
0
-5
7
-16
-54
0
-6
21
93
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
8
3
0
-42
-35
-72
-38
0
-5
-10
-128
-111
0
-24
-37
-15
-129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
30
-9
-19
7
-4
-48
41
-15
5
4
26
-30
-16
4
-18
-7
11
-97
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-14
0
0
-1
-19
5
-4
0
0
-49
-31
-24
0
-51
-2
21
-18
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
26
-57
0
0
-14
-41
-31
0
0
8
-43
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-16
14
0
0
-24
-15
2
0
0
-5
65
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-9
-23
0
0
-60
-11
-209
0
0
24
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
47
5
20
-31
8
-30
-54
-8
0
14
-5
-23
-29
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
45
-4
0
0
0
-76
-53
0
0
41
0
-52
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-5
0
0
0
0
26
0
0
0
-15
-50
0
0
0
-66
-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
-1
37
0
0
0
-1
-167
0
0
0
45
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-28
0
0
0
-85
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-24
-101
-22
-45
-5
-14
8
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-110
0
0
0
-53
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
6
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-68
-9
-14
-19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
42
-13
34
0
-3
33
5
6
-45
0
53
51
-15
-34
3
55
40
-27
1
0
-23
22
-1
-8
-13
68
39
44
34
22
31
5
14
0
6
28
32
11
-35
9
17
16
4
7
10
-20
1
-3
-4
0
-42
-30
97
9
-9
-19
60
53
-23
-7
-30
11
-5
-27
-44
46
-60
-16
-46
-11
38
-23
30
27
10
36
-20
15
-16
1
8
13
-7
-5
-14
17
16
4
7
10
-33
-17
-26
-2
0
45
-34
14
-2
4
33
31
-16
-13
-2
-3
65
69
-14
13
-14
18
24
44
-21
9
37
38
1
-9
-12
-9
23
38
-2
13
12
19
7
-40
17
16
4
7
10
-29
73
0
2
-2
7
-27
-28
8
6
9
9
9
-52
-8
13
-5
-61
-1
14
3
-53
-49
14
-57
19
-10
3
-66
-40
7
13
10
-6
-11
-26
12
19
1
25
-7
-34
13
-12
17
-12
-3
9
1
0
-3
-38
-29
-8
0
-4
-4
-7
-41
-14
-16
7
3
-70
-3
0
-27
-30
-26
13
-33
26
37
-34
-29
-1
-1
3
-29
15
-10
5
32
13
1
8
10
6
-29
-17
39
22
-22
-17
-1
-21
-17
-31
4
1
-22
4
14
-4
0
-53
17
27
21
-39
103
34
6
31
7
4
12
-34
4
-17
15
19
-5
14
-5
18
25
7
32
27
38
-4
37
25
-10
39
22
-22
-17
-1
4
-62
-5
-8
-1
-5
15
-45
-32
-3
82
-24
46
-39
-73
13
67
13
-46
-20
-21
-23
2
10
-28
-26
8
-17
-8
9
21
11
8
12
14
2
5
-4
5
2
39
22
-22
-17
-1
43
-3
24
-8
5
28
-44
-62
-6
2
-30
45
38
-7
-32
16
16
49
-15
25
3
-6
11
1
-54
-6
10
15
-21
17
36
18
33
31
19
26
11
35
20
-19
8
126
-57
-1
1
0
-18
29
0
-18
-74
-34
13
22
-4
9
-53
-82
44
-4
33
-4
23
-17
22
-25
20
-1
-2
0
-8
33
8
10
28
13
-3
8
-1
0
0
0
0
0
0
45
-8
-29
-4
0
6
2
-23
-13
-1
9
-7
-125
-51
-3
-31
-85
3
0
1
-20
46
72
24
-50
29
-40
-14
-27
45
38
-2
36
20
-19
46
2
6
-6
11
0
0
0
0
0
3
-67
31
3
0
-2
0
60
-41
1
1
-4
4
-44
0
2
-15
-14
-5
-23
32
-10
0
-29
1
-42
-12
-17
-6
31
3
0
5
-32
6
28
2
-2
4
0
0
0
0
0
0
12
-71
-5
0
0
-27
-17
-11
-5
-6
-9
0
-5
-48
4
-73
-14
-39
-45
1
-23
-1
5
-44
5
10
-15
-32
-6
53
40
-2
-1
-27
28
29
9
-14
-3
44
8
23
31
11
-3
0
-7
-19
2
0
-1
-8
-5
5
0
0
51
3
-20
8
8
7
-8
-2
-8
42
0
-27
-18
-41
20
-42
-72
36
51
-26
20
3
3
9
48
8
-2
30
8
34
14
40
-8
45
0
0
0
0
0
20
3
41
-44
-40
58
18
-72
-48
0
-19
-17
-19
-1
-1
-27
-37
2
-101
-49
19
44
-12
66
-60
43
8
33
59
49
0
1
-9
-12
-32
48
7
17
19
18
0
0
0
0
0
12
7
2
-20
-25
54
13
-21
0
0
8
16
-3
25
3
72
31
-2
-36
3
-71
-1
-41
13
19
36
-15
-13
-26
2
-17
11
-1
4
-17
40
10
8
-3
22
0
0
0
0
0
-2
-20
-49
-2
-29
-1
28
-50
-16
-2
1
-7
-53
-50
33
19
22
-15
-24
-52
96
1
-23
6
-14
-15
-5
16
44
-20
-63
6
-33
-28
-27
-26
24
25
20
31
19
-57
-27
5
0
-31
55
-1
-4
0
29
-28
-21
-67
0
-21
52
-13
1
4
37
26
-10
5
-12
-55
-49
-19
16
-46
-5
-36
-18
-25
-9
0
0
0
0
0
0
0
0
0
0
-2
1
-5
4
1
-32
6
0
-8
1
-61
-71
58
-31
1
-6
15
-7
-4
2
29
-3
0
4
-5
-80
9
-61
11
-22
-27
2
-25
-13
-12
0
0
0
0
0
0
0
0
0
0
0
5
-18
4
0
0
0
-50
8
0
0
5
-16
-2
0
1
4
-39
-58
5
17
25
-42
-31
-8
25
-16
-30
15
-53
11
-69
-43
-5
-16
0
0
0
0
0
0
0
0
0
0
52
-3
1
0
0
46
8
31
5
0
39
-53
-14
-27
5
-93
13
53
22
-24
18
46
9
33
-12
-71
30
-31
-4
-32
5
3
8
-40
7
36
-36
31
26
-20
15
36
31
4
-23
0
1
7
-1
0
2
0
42
0
2
0
0
-30
-67
0
0
-2
-26
-17
1
-9
5
23
-77
1
41
25
0
40
-58
6
0
18
-43
-19
23
24
8
-64
-9
2
38
-27
-16
10
0
0
0
0
0
0
0
0
0
0
-13
10
-11
-62
-16
-32
-22
-39
-23
-9
-29
6
18
7
-23
-64
-23
46
-27
-24
23
2
-28
-10
-48
-60
-33
-25
18
12
-16
-8
14
-23
-31
0
0
0
0
0
0
0
0
0
0
-34
-3
-16
-73
-10
-75
37
-13
8
8
7
-78
5
18
15
11
47
-16
-23
-20
3
-1
29
25
22
12
15
-25
-65
-33
30
9
24
-8
35
0
0
0
0
0
0
0
0
0
0
-6
21
28
-91
-12
0
0
-20
21
-1
-17
-6
-30
-48
-5
-77
-59
-32
-50
20
63
75
-6
-7
38
-26
-39
-51
8
-17
-96
2
-2
-40
11
-42
-31
0
0
0
14
5
-1
31
0
-22
-1
-20
-13
3
-13
7
1
-40
0
3
-12
-13
-22
-32
-28
-8
-54
-74
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
47
18
0
0
28
-10
-8
0
0
22
-53
-5
23
-1
5
-8
-12
-22
0
20
-35
-19
14
1
2
30
-48
-61
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
1
0
-1
0
-22
-4
0
3
-3
5
0
0
1
-7
-53
25
-22
-30
-76
5
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
18
0
0
0
-20
-16
-14
16
0
35
22
1
14
-2
27
12
-50
-21
-5
-8
-81
-2
-27
-8
-66
-13
-5
45
-30
13
-24
-45
22
-11
14
-68
-44
-15
-40
40
39
-19
-15
-6
0
0
0
3
0
0
0
0
-34
0
0
1
0
5
-3
0
0
13
45
-7
1
-5
5
-4
-2
-8
-22
15
50
-5
21
13
-66
32
-33
-2
5
-97
-47
49
49
50
-47
64
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
14
-24
-35
11
-15
-5
-48
-48
35
21
-43
-84
-57
32
20
56
-6
-28
7
6
-32
-34
-4
-89
-53
-25
-23
-29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-51
-45
-4
18
32
-54
30
-17
-5
-76
-57
-54
-58
4
52
30
31
30
-94
-51
-15
18
-13
28
-20
-28
-28
16
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-45
-4
-11
-28
0
1
8
-27
-21
2
-24
32
6
-1
-23
8
-58
7
-39
-30
-14
-17
-24
-39
-37
-27
-69
-20
24
1
-1
0
0
0
1
-1
0
-6
0
-4
0
0
0
0
-4
-7
43
-70
-31
-8
-32
-31
-32
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-2
0
0
8
-1
-1
0
0
-1
1
-10
0
0
3
22
2
1
-1
5
49
-30
-77
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
2
0
0
-4
28
-20
3
-42
-8
15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
-49
3
0
11
-13
-16
0
-11
-4
8
-41
4
0
-13
-16
5
0
-8
4
5
10
8
39
-7
-42
-1
3
-1
52
18
-24
-12
-67
58
43
-53
-28
-51
20
-28
0
19
-38
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
-25
3
2
3
4
-26
7
5
-8
-87
-8
13
12
69
14
2
-16
-48
5
-1
3
59
32
-19
10
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-40
32
18
-18
-69
1
-33
-5
-10
-13
-41
-46
10
-19
-75
-113
-103
-73
-43
-16
23
-13
9
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-45
-24
-30
-51
45
-5
-28
-2
-29
80
19
12
-44
31
-42
21
-34
-46
82
-1
-34
45
-39
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-52
-20
-13
-5
-5
16
-45
13
-25
12
-44
-28
-33
17
-28
-60
27
16
-109
45
-50
-79
-32
2
1
0
-1
0
0
0
0
0
-3
0
3
-1
7
-7
0
-66
-56
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
-60
0
-39
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
-5
-14
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-7
0
0
-33
0
0
-3
0
0
0
-1
-6
1
12
0
3
60
-24
-35
0
-21
5
-101
1
0
23
-41
47
-5
0
-33
-70
-83
-20
0
-47
16
-10
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
4
0
0
25
0
0
-20
-52
-71
0
-46
-11
-5
34
0
26
-26
-22
-19
0
6
-37
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-102
36
-78
0
-74
-69
2
-62
0
-100
-83
-9
-83
0
-93
-85
-40
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
44
15
-70
-13
20
2
55
-5
33
54
-88
26
-38
47
29
47
-79
76
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
64
-57
6
0
5
-69
40
4
0
-25
22
-64
-32
0
-15
-42
-144
-36
0
0
0
0
0
0
0
-2
-5
0
0
5
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
49
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
1
0
0
15
8
1
0
0
0
-25
27
0
0
-13
-39
-39
0
0
-113
-74
-22
0
0
-85
-18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-24
9
0
0
37
18
-45
0
0
41
18
-51
0
0
-2
-53
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-91
-40
0
0
-66
-107
22
0
0
-85
-32
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
2
26
-10
-25
-1
42
-58
21
28
-25
-66
-23
58
-139
0
0
0
0
0
0
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
52
-17
0
0
29
-66
-160
0
0
-14
-1
-50
0
0
0
0
0
0
0
-7
-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
8
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-23
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
-65
0
0
0
2
-6
0
0
0
-18
22
0
0
0
-19
-50
0
0
0
-27
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
-7
0
0
0
35
11
0
0
0
-13
3
0
0
0
-8
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-111
0
0
0
-146
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
49
-93
39
55
-22
-3
7
74
-70
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
11
0
0
0
-83
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
5
0
0
0
0
7
0
0
0
0
12
0
0
0
0
-49
0
0
0
0
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
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
8
0
0
0
0
-25
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
68
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
75
-76
5
-3
-3
13
20
39
-43
-5
-5
41
-23
-6
-1
32
-18
-35
34
-5
-6
-22
-6
-1
46
44
37
25
22
59
40
55
50
6
4
43
19
47
28
54
14
30
6
16
7
-10
27
4
-25
0
-49
9
89
-3
-5
-15
18
44
-15
0
3
57
18
-21
-30
-14
63
-5
-22
-24
30
-11
-6
9
13
70
-23
-9
-17
-48
25
9
16
20
47
14
30
6
16
7
-24
16
-11
-2
0
5
-93
26
-12
31
11
-13
-16
26
-24
-1
48
64
-31
-27
-46
10
24
72
1
6
44
31
-8
48
12
28
-1
18
-4
26
25
33
45
-25
14
30
6
16
7
34
-1
-8
2
-2
78
-31
-49
8
13
-3
-1
19
-71
-15
48
12
-39
-3
23
-20
-50
-8
-39
-21
-5
-2
9
-41
-23
3
25
-14
-11
-4
-18
15
5
-30
-12
3
-9
-28
-50
-6
-29
15
5
1
0
5
-48
-30
-16
-13
-13
-45
13
47
-32
-13
4
-15
-87
-15
-24
11
5
19
44
-14
10
20
-3
4
1
-6
11
-42
30
14
-10
29
-28
-9
-6
44
2
1
-53
28
29
1
-13
-12
-15
-4
-37
-5
1
-1
-32
44
7
0
-43
-4
-13
35
-50
58
-15
-3
11
3
16
19
24
9
-20
-14
12
-9
40
-9
16
12
-18
21
32
12
13
37
12
44
28
29
1
-13
-12
-2
-6
-22
9
-1
-30
7
-50
-33
-8
-50
-62
45
-29
-93
-11
53
-38
-50
-35
16
-26
-15
-6
-54
-12
3
-21
-13
-41
10
3
-26
-13
-29
20
-30
-8
-4
30
28
29
1
-13
-12
37
-5
30
31
5
24
18
-51
17
2
-12
15
20
13
-58
1
10
28
20
-2
14
9
47
18
-9
30
28
23
13
7
36
25
14
32
-22
21
69
-41
4
71
20
79
-23
-5
1
-29
-63
39
-3
-9
-74
-43
26
33
-6
-28
-31
-34
38
-31
-40
27
5
-18
47
-38
43
0
77
30
9
10
-18
14
29
23
4
2
3
-14
0
0
0
0
0
98
-20
3
-4
-5
-50
-13
-13
-14
-1
-27
0
-63
-26
-3
-6
-24
17
5
7
21
-35
64
21
-11
-24
39
52
-55
44
17
16
-39
14
90
75
11
4
6
0
0
0
0
0
0
3
-55
23
5
0
-2
35
13
-24
1
1
-11
28
-65
-4
23
-4
3
-4
-12
39
-16
73
13
19
-5
-13
-7
57
-23
29
1
9
7
44
21
-11
-20
1
5
0
0
0
0
0
13
-41
11
0
0
-41
65
12
-44
-33
25
24
-5
-19
-1
-122
-76
-9
-50
-12
-60
-24
-3
-10
-7
32
-7
26
25
22
66
4
7
23
-26
15
-10
-5
4
59
-21
6
27
-19
95
0
-31
-46
4
0
-1
47
15
-19
0
0
28
-6
-32
10
10
5
31
-3
18
26
-17
-25
-25
0
-74
23
20
33
12
26
54
14
15
-41
63
17
29
-12
5
20
33
61
-4
32
0
0
0
0
0
3
-2
37
-39
-30
68
63
-85
-24
0
-14
19
-5
20
13
35
-28
-68
-63
-15
43
-5
-1
22
-47
20
26
-4
11
28
32
-9
4
-12
-12
54
19
16
50
13
0
0
0
0
0
16
-12
7
-48
-7
23
40
-13
17
0
56
46
-38
19
13
-6
43
-10
22
50
33
-50
-7
42
30
22
-8
9
66
58
16
-5
37
-1
78
39
7
40
-27
3
0
0
0
0
0
-18
-9
-43
-60
-31
-1
-3
-4
-13
-3
3
39
-13
-20
54
52
6
-49
-28
-78
7
14
25
-9
33
5
-16
-12
8
15
59
-19
-15
20
6
111
20
35
41
43
5
-2
-5
5
0
-35
42
-5
-4
1
73
-1
-7
-32
-1
5
30
62
-19
13
8
41
10
21
-13
7
-43
5
-36
-22
-26
-55
-19
-4
10
0
0
0
0
0
0
0
0
0
0
-20
-4
-5
4
1
8
22
0
17
1
-42
-90
40
-13
2
-10
-9
-30
7
-26
31
10
59
-9
-11
-13
-6
-32
-20
-15
6
-17
-2
-1
-8
0
0
0
0
0
0
0
0
0
0
0
5
-19
2
0
0
0
-8
11
-13
0
5
-22
-11
0
1
4
-14
-23
40
20
-4
-58
-30
-17
62
12
-29
10
-14
-4
-39
-16
-17
-9
0
0
0
0
0
0
0
0
0
0
-8
-42
3
0
0
-5
18
4
-17
0
8
-33
-42
7
-2
-75
44
7
44
-42
20
71
7
38
47
21
-6
-32
-57
-15
17
23
14
5
20
13
-49
-5
17
-21
-26
17
79
29
-12
0
1
20
-1
0
2
0
22
-3
-2
0
0
-24
-66
0
-11
-2
-49
25
-1
-9
-6
4
-3
-9
31
16
-42
3
-13
-12
15
-32
-15
7
9
-10
-2
14
15
34
-19
22
-2
25
0
0
0
0
0
0
0
0
0
0
-71
-8
5
-11
-50
-48
-27
-23
-15
-14
-23
31
58
20
-26
20
-35
45
-7
-49
68
-21
10
-2
-7
47
-57
18
-30
-68
10
-5
5
48
10
0
0
0
0
0
0
0
0
0
0
3
-37
26
-8
-31
-28
38
-33
-1
12
10
-41
-2
38
51
-64
30
40
2
-20
44
15
-32
-5
-9
13
22
41
2
-9
-12
8
-27
36
87
0
0
0
0
0
0
0
0
0
0
-25
7
3
-44
-47
0
0
-22
19
1
-21
-2
24
-54
12
-67
-60
-10
11
-4
-16
37
-2
-64
18
-66
-14
-18
-27
15
67
5
15
-9
23
-17
-2
0
0
0
20
-5
-1
6
0
3
6
-20
-45
5
-4
-5
5
-10
0
2
2
-21
48
-4
-18
-61
-47
-59
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
21
10
0
0
13
-8
-1
-2
0
41
-29
-6
5
-1
18
10
-22
-34
0
55
-9
-53
4
1
57
-8
-45
-14
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-62
1
0
-1
0
25
-2
0
3
-3
-7
0
0
1
-13
-34
47
-71
20
-50
-4
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
5
0
0
-52
-49
-13
20
0
39
-13
0
3
-2
41
54
-15
-10
6
0
-52
6
31
-9
-28
-32
-11
74
43
121
48
14
36
21
6
61
47
-9
-64
51
14
43
38
32
0
0
0
3
0
0
0
0
15
0
0
1
0
4
-3
0
0
16
40
-3
1
-14
-28
-42
6
-8
-63
12
8
40
4
20
-29
45
-6
-41
16
57
25
9
21
27
28
25
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
25
17
-31
20
-25
16
29
43
53
3
-58
-45
-44
34
120
8
-52
-24
37
-31
-29
-1
-11
-98
27
-21
11
-30
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-16
-13
31
10
42
-58
-3
-10
-5
-60
-30
-44
-24
16
85
16
-45
-10
-19
44
12
3
-15
-44
27
-17
12
-12
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-41
-9
-21
-42
0
-8
25
31
68
6
-19
25
-21
-4
-58
62
-11
-24
-22
-40
16
-28
-31
7
-23
17
1
4
25
1
-1
0
0
0
2
-1
0
1
0
-4
0
0
0
-7
-4
-6
4
-59
-29
78
-57
43
-10
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-2
0
0
17
-8
-1
0
0
-1
2
1
0
0
-29
33
4
1
-1
-58
25
-49
-20
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
-1
0
0
-5
40
-23
-2
-43
7
-34
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-30
3
0
2
-13
-6
0
15
-4
-10
-8
4
0
6
-19
0
0
0
-42
29
48
-1
27
-20
-13
-1
21
-41
72
17
78
-24
-8
71
5
28
21
-7
25
13
59
48
-16
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
-58
5
0
18
5
-47
2
31
-8
-94
4
-18
-22
31
-6
-3
-17
-43
-39
-6
-4
35
20
53
68
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-22
41
10
-30
-95
-42
-31
2
45
-49
24
-31
-28
-32
-43
-14
-41
6
-62
27
21
21
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-102
53
4
-78
17
51
-31
-34
-15
110
80
45
-11
22
-19
51
-30
2
24
29
-2
18
49
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-39
23
-5
9
-6
-17
-44
-71
-49
17
-32
-57
-32
-6
-49
-19
-31
-11
-49
-13
-45
-32
-5
-49
1
0
-1
0
0
0
0
0
-7
0
3
-1
-5
6
0
6
3
-44
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
-49
-69
-8
-6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
8
-29
25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
0
0
14
0
0
-4
0
0
0
-1
-6
2
-8
0
4
38
-8
-12
0
-17
4
-69
-57
0
-9
-8
-29
-52
0
-9
36
-35
13
0
-10
-25
31
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
0
4
3
0
34
0
7
-23
-77
-28
0
-41
-15
42
1
0
-17
11
-2
58
0
17
14
-2
3
0
0
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
7
23
-68
0
5
30
81
-19
0
-113
-61
17
0
0
-79
-66
21
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
5
-30
1
-8
-2
0
20
-20
-5
59
-40
7
31
41
25
37
2
23
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
-9
-49
15
0
1
-78
-59
38
0
-25
-15
-55
9
0
14
-34
-101
-52
0
0
0
0
0
0
0
8
-5
0
0
43
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
57
-30
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
4
0
0
33
10
-34
0
0
0
-46
-29
0
0
-14
-30
-13
0
0
-4
-10
0
0
0
7
57
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-35
-13
0
0
13
-26
-74
0
0
29
0
6
0
0
26
-41
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-71
-53
0
0
61
-53
14
0
0
-52
-37
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
30
56
-30
23
-7
18
-23
94
23
-35
-69
16
49
-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
3
-66
-49
0
0
75
-91
-70
0
0
-28
-1
-5
0
0
0
0
0
0
0
19
-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
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-18
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
-42
0
0
0
2
32
0
0
0
31
-16
0
0
0
49
46
0
0
0
-21
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-22
0
0
0
44
-21
0
0
0
-38
11
0
0
0
-45
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-33
0
0
0
-99
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
29
33
-38
5
35
48
13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-149
47
0
0
0
-81
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
5
0
0
0
0
28
0
0
0
0
13
0
0
0
0
-41
0
0
0
0
116
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
17
0
0
0
0
-25
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
67
111
61
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
0
0
0
0
1
0
0
0
-2
-8
0
4
-3
0
-6
6
-1
21
2
-6
-8
-10
10
8
21
21
9
38
23
-25
-5
18
10
30
-24
21
-16
23
4
14
10
34
35
21
19
-5
-18
-7
12
0
0
0
2
0
7
5
1
-2
0
-6
13
-3
8
-4
8
5
-21
-15
4
4
18
-4
33
-11
-31
-1
-41
23
-13
-39
-40
32
-13
-5
17
1
-18
42
-22
19
-5
-18
-7
12
4
0
0
-1
0
0
-2
-1
3
0
10
-7
-16
2
0
41
8
25
-9
1
-42
-10
8
53
13
-34
7
19
1
-14
44
16
-5
8
-5
-31
-10
28
60
-23
19
-5
-18
-7
12
1
0
0
0
0
-3
-3
0
1
1
20
4
-5
-18
-4
-5
-13
-22
-2
15
-11
1
20
-4
-14
-31
11
-36
51
-23
-7
9
6
29
24
14
12
-46
23
-28
-10
-5
19
24
-9
5
2
0
0
0
-2
0
-3
0
1
15
11
5
-10
-8
22
-30
-13
-17
6
-11
7
5
24
3
10
-1
-29
28
44
-3
0
10
13
21
-44
-8
-58
34
-22
-3
37
27
14
-32
7
-7
8
-7
-7
-5
2
0
0
0
7
3
-6
14
1
30
2
-14
11
-33
-33
21
-12
-5
7
-29
-20
-9
21
-5
14
13
19
4
41
4
58
-24
56
17
58
-2
4
24
-9
7
-7
8
-7
-7
0
0
2
-1
0
-6
1
-9
7
-1
30
-29
-24
-10
-9
-4
-35
-47
8
2
-41
-45
-36
-5
-35
3
-48
-13
14
-30
-34
-20
-60
-20
-25
9
43
32
-22
-1
7
-7
8
-7
-7
3
5
0
-1
0
16
3
-2
-12
1
41
1
-8
29
-3
3
23
-10
24
19
13
5
20
5
-4
22
-22
49
4
27
-23
-11
27
-33
-48
10
12
18
2
33
-1
0
0
0
0
0
1
-4
0
7
0
0
-6
2
-3
12
-13
-3
7
-12
-34
-1
-24
10
18
-14
-31
-7
6
-17
-1
0
-17
-10
47
-3
-4
-5
15
0
0
0
0
0
0
1
0
0
-1
0
1
0
2
-2
-1
-6
-3
-24
1
0
19
-11
33
30
5
13
11
0
10
7
3
34
3
-52
22
7
13
-14
5
7
-49
41
17
12
7
0
0
0
0
0
0
-22
0
1
0
0
5
-9
2
1
0
-7
7
-1
0
2
-15
-30
-14
9
23
46
48
7
-4
28
-9
-28
45
7
9
13
30
51
46
35
9
-5
-3
13
0
0
0
0
0
0
0
0
0
0
2
3
-1
0
0
9
-7
-8
-3
0
-3
-75
3
-24
-8
-31
22
0
1
8
-20
19
-25
-6
10
-6
-6
43
-44
-19
-27
-2
-32
36
-36
29
-12
-49
17
39
0
-1
-1
0
0
0
-5
0
1
1
0
-20
-31
23
10
7
21
-1
5
8
-37
-8
-4
20
-5
-8
13
-7
49
-13
17
3
3
8
-8
29
0
-2
-28
-20
2
-36
-40
34
13
0
0
0
0
0
14
0
-5
-5
-9
1
17
-8
-16
1
4
-14
1
0
24
36
22
-25
24
1
-2
1
0
-1
-1
-23
-24
8
-12
0
33
-15
-21
5
11
5
21
-4
15
17
0
0
0
0
0
-4
0
-21
4
-2
-4
-6
-3
2
0
-7
15
10
-5
13
-24
75
25
-22
15
17
-10
10
60
-6
-24
78
49
37
16
-8
5
36
48
33
12
-41
-5
2
19
0
0
0
0
0
-2
-4
-6
-6
-5
0
-17
-19
2
-2
0
1
-1
0
14
13
18
9
-9
-6
-20
17
-29
36
54
19
49
-26
-7
4
32
-48
-46
61
23
-13
4
13
-10
-11
0
0
0
1
0
4
0
-1
0
0
3
0
-22
-2
0
12
1
-5
-19
3
-12
24
42
-9
-5
-18
30
-12
-9
2
20
-6
46
-6
-10
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-1
1
0
6
-9
16
-1
1
6
-41
-8
2
-7
-2
-8
31
18
0
22
21
-16
16
-1
7
26
-2
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-1
0
2
-22
21
0
0
0
-2
14
6
3
4
-19
-6
0
7
0
-35
4
14
-66
4
-9
-34
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-1
0
-7
1
-9
4
5
7
19
-17
6
-7
-5
-6
0
12
-7
-13
-22
8
-2
-17
1
-3
11
27
-5
-56
9
12
-41
52
23
3
54
6
22
0
0
0
0
0
0
0
-23
0
0
0
0
-4
5
0
0
0
-12
-2
0
-4
0
7
7
5
18
8
25
-48
-8
4
3
5
-10
41
5
-13
10
33
20
1
4
4
-48
23
0
0
0
0
0
0
0
0
0
0
-6
-17
-8
18
3
0
0
-41
-3
-2
9
6
-1
-5
-5
5
-20
-32
-16
-19
1
-9
-29
41
-18
-25
-25
31
2
-38
-92
-37
4
-7
5
0
0
0
0
0
0
0
0
0
0
15
5
-5
5
-1
-2
-7
-5
7
0
9
8
10
25
2
-7
3
9
-22
12
-12
-3
40
-29
10
13
85
-4
-3
-20
2
27
-17
3
-5
0
0
0
0
0
0
0
0
0
0
0
4
-6
30
12
0
0
-30
-5
3
-12
9
7
-7
1
6
-22
-37
24
-25
-25
-4
35
-22
6
10
0
8
-47
18
15
6
24
7
9
0
0
0
0
0
0
1
0
-1
0
-1
1
-1
-5
3
2
0
1
0
0
-1
13
4
51
-10
13
-17
-65
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
2
-1
0
2
-8
-10
-2
-17
-13
-5
3
0
-36
-53
-10
28
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
7
-1
0
3
-2
-10
0
0
0
-2
20
-5
-19
-15
-25
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
20
0
18
16
-4
10
-2
9
1
5
-1
-2
10
-15
25
7
21
22
22
-16
6
-10
-14
5
5
44
24
22
8
52
-11
9
0
0
0
0
0
0
0
0
-13
0
0
1
0
1
-2
0
0
-1
33
0
1
3
-8
13
2
-3
-10
-8
-2
-17
27
-1
31
-21
-5
1
33
17
12
0
2
0
3
6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
28
-5
13
-8
-2
6
26
13
9
4
3
-13
8
5
-7
-11
-5
25
-31
31
12
5
13
6
-13
26
-14
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-15
-15
9
2
8
-12
-5
-17
-4
-14
-3
-13
5
9
13
-17
4
-6
-5
18
29
3
-1
1
29
0
-27
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
-18
-13
0
-1
2
49
-5
-12
-24
-4
-33
-4
-7
22
-14
17
-17
-41
51
-16
37
10
9
-13
-32
-8
6
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
1
-1
0
-4
3
-1
25
-32
-5
-31
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
-1
-5
5
-3
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
3
0
0
-1
7
-7
-4
-15
-22
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
2
1
-1
-3
-2
4
-8
2
23
0
1
3
8
-2
41
2
7
-1
19
33
31
74
-3
20
12
12
63
22
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
-13
0
0
-2
0
7
0
12
-3
-10
-20
-7
1
6
15
-25
-6
0
-7
-5
20
1
7
67
-12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-40
42
13
-1
-3
-10
-16
21
7
-13
12
0
-10
-6
-35
-69
-26
-30
-5
14
-12
8
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
33
48
-1
7
13
5
-18
0
32
-1
27
7
8
-8
-6
55
-7
-25
22
-18
-7
34
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
1
-3
-2
-3
3
-7
-49
-28
5
6
-5
-1
3
-18
58
-5
32
-21
0
-9
20
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
-7
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-5
1
-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
-1
0
-1
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
1
4
0
0
-4
3
42
0
-4
-2
-33
-53
0
-8
-4
2
-17
0
5
15
16
-27
0
6
-3
14
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
3
0
0
-18
0
1
-4
-14
0
0
-13
-20
-5
27
0
-6
41
-24
-31
0
0
-5
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
-15
-3
0
-9
10
9
28
0
-3
0
-1
5
0
-5
-1
21
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
-41
9
5
10
17
-10
-1
-1
0
-9
-34
-5
18
7
-5
0
22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-22
7
14
0
-1
-25
-41
13
0
-1
25
-6
27
0
30
-2
-9
3
0
0
0
0
0
0
0
1
-2
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-2
0
0
0
-15
-25
0
0
0
3
17
0
0
32
17
0
0
0
-27
-16
-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
8
0
0
0
-7
-19
0
0
-5
0
-1
0
0
-8
-5
16
0
0
8
2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
5
40
0
0
-6
10
3
0
0
9
1
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
-5
46
8
-11
42
-1
-18
7
20
0
-2
-2
14
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
19
0
0
12
12
8
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
25
0
0
0
-3
24
0
0
0
4
-20
0
0
0
15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-25
0
0
0
12
5
0
0
0
0
-11
0
0
0
10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
28
0
0
0
-1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
12
21
-2
-1
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
0
0
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
-5
0
0
0
0
12
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
12
0
0
0
0
9
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
13
15
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
11
-6
-3
-31
0
0
0
0
-2
9
68
7
-76
-5
0
0
0
5
11
64
4
19
-5
0
0
0
-9
-85
87
-66
-7
-1
0
0
0
-44
160
10
-10
-8
16
0
0
0
-2
178
36
-31
-58
-74
0
0
0
5
124
27
10
-13
-57
0
0
0
-9
24
-48
-2
-95
1
0
0
0
-44
0
59
-12
-29
-22
-26
0
0
-2
0
81
-19
-53
-64
-11
0
0
5
0
55
-41
1
-3
-16
0
0
-9
0
-4
-69
-77
-8
-4
0
0
-44
-2
-15
-35
-40
-45
-37
-20
0
0
0
-45
-65
-87
-53
-27
-69
1
0
0
0
7
-4
-11
-16
34
16
4
1
0
0
-13
-35
-69
-92
62
8
-7
0
0
0
34
42
23
69
-11
31
2
2
0
0
28
59
15
45
42
0
0
0
0
0
26
47
-4
42
32
-2
0
0
0
0
15
77
75
10
7
0
0
0
0
0
15
-39
29
24
0
0
0
0
0
0
21
24
13
-1
0
0
0
0
0
0
16
-12
-13
1
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
-9
20
12
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
23
22
-16
2
-49
5
0
0
0
12
6
19
23
-1
-17
-1
0
0
0
43
47
44
-29
21
25
-3
0
0
0
87
29
59
1
21
13
0
0
0
0
42
53
10
41
8
22
8
0
0
0
154
32
22
13
1
7
0
0
0
0
-25
68
-31
25
7
0
0
0
0
0
105
45
-41
4
2
0
0
0
0
0
3
41
-20
2
1
0
0
0
0
0
51
-4
4
-1
0
0
0
0
0
0
-1
-10
9
0
0
0
0
0
0
0
20
6
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-15
-8
5
50
9
-22
1
0
0
0
-44
-43
-25
-27
-37
-2
0
0
0
0
20
22
9
17
-25
4
1
0
0
0
22
-10
18
60
-6
-12
0
0
0
0
39
47
65
42
-8
1
0
0
0
0
48
31
76
30
3
0
0
0
0
0
67
117
53
9
0
0
0
0
0
0
62
119
37
0
0
0
0
0
0
0
-13
64
-13
0
0
0
0
0
0
0
15
17
8
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
23
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
42
44
47
19
6
1
0
0
0
58
83
90
76
43
14
0
0
0
0
60
101
95
76
19
-1
0
0
0
0
80
110
120
8
4
1
0
0
0
0
9
87
129
45
3
1
1
0
0
0
171
81
75
16
-1
0
0
0
0
0
75
46
45
22
0
0
0
0
0
0
52
58
32
0
0
0
0
0
0
0
32
-1
8
0
0
0
0
0
0
0
39
15
1
0
0
0
0
0
0
0
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
64
39
-68
6
0
0
0
0
0
47
52
84
17
0
0
0
0
0
0
76
40
102
13
1
0
0
0
0
0
124
88
74
60
0
0
0
0
0
0
48
86
50
0
0
0
0
0
0
0
129
40
43
3
0
0
0
0
0
0
7
29
19
0
0
0
0
0
0
0
64
-9
2
0
0
0
0
0
0
0
23
-6
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
102
86
32
2
0
0
0
0
0
57
81
99
19
0
0
0
0
0
0
187
24
26
-9
0
0
0
0
0
0
193
91
29
8
0
0
0
0
0
0
121
27
4
1
0
0
0
0
0
0
82
-7
10
0
0
0
0
0
0
0
44
-2
7
0
0
0
0
0
0
0
23
-7
0
0
0
0
0
0
0
0
-8
23
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
136
92
-5
-8
0
0
0
0
0
0
188
72
56
0
0
0
0
0
0
0
1
-94
-39
0
0
0
0
0
0
0
87
70
27
0
0
0
0
0
0
0
19
8
7
0
0
0
0
0
0
0
77
15
1
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-32
1
1
0
0
0
0
0
0
100
9
-13
0
0
0
0
0
0
0
73
20
-6
0
0
0
0
0
0
0
24
24
-1
0
0
0
0
0
0
0
93
-6
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
8
0
0
0
0
0
0
0
0
17
1
-1
0
0
0
0
0
0
0
67
3
2
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
3
6
-1
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
8
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
-8
3
-2
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-126
-86
-120
-125
-80
-38
9
44
-7
1
-171
-135
-121
-98
-33
-65
41
-14
13
0
-19
-26
-24
14
57
-8
0
45
8
0
-52
-36
-9
-11
42
42
64
58
3
0
1
18
39
34
37
49
39
9
-1
0
27
45
62
62
78
94
43
-13
0
0
51
50
63
98
77
90
92
1
0
0
64
49
50
60
105
72
5
2
0
0
62
61
32
15
11
41
1
0
0
0
80
57
71
64
13
23
1
0
0
0
57
112
-19
92
77
1
0
0
0
0
49
70
32
27
-10
1
0
0
0
0
-10
67
50
-15
1
0
0
0
0
0
13
54
25
-14
0
0
0
0
0
0
-46
-4
35
-3
0
0
0
0
0
0
1
10
1
0
0
0
0
0
0
0
-4
-1
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-46
-43
-20
-12
13
15
27
0
0
-79
-69
-42
48
-6
-13
41
12
0
0
16
30
61
45
9
136
17
5
-3
0
0
34
43
88
59
70
5
-23
0
0
45
79
84
23
64
106
67
13
0
0
50
95
65
59
169
79
61
0
0
0
90
35
69
59
64
42
44
0
0
0
152
54
112
129
89
-24
8
0
0
0
49
56
65
111
51
31
0
0
0
0
43
129
54
-4
43
-7
0
0
0
0
-22
-7
-19
93
42
1
0
0
0
0
88
118
-8
-13
-4
-1
0
0
0
0
-19
46
-3
16
0
0
0
0
0
0
-9
3
-42
-3
0
0
0
0
0
0
31
-5
29
-1
0
0
0
0
0
0
4
9
-4
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-56
-40
-26
113
1
49
2
0
0
-97
-18
7
35
50
-49
20
1
0
0
9
26
20
41
-20
69
14
0
0
0
6
32
54
65
60
16
24
1
0
0
40
59
74
58
70
42
-1
0
0
0
82
80
147
176
24
66
-3
0
0
0
58
82
142
96
45
7
0
0
0
0
107
74
135
13
59
32
0
0
0
0
32
109
29
5
5
0
0
0
0
0
131
52
118
75
16
2
0
0
0
0
2
106
33
6
0
0
0
0
0
0
24
44
22
-24
0
0
0
0
0
0
-15
43
31
0
0
0
0
0
0
0
41
7
10
0
0
0
0
0
0
0
24
-10
0
0
0
0
0
0
0
0
-14
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
15
22
36
97
68
12
0
0
0
14
-2
-27
37
64
95
-4
0
0
0
66
61
70
132
196
28
3
3
0
0
87
60
58
113
47
10
-24
0
0
0
90
127
109
126
91
71
12
0
0
0
146
160
91
69
-1
29
1
0
0
0
102
16
65
54
-19
9
0
0
0
0
89
55
114
6
43
2
0
0
0
0
75
6
109
70
-25
0
0
0
0
0
87
90
65
-43
0
0
0
0
0
0
4
21
-20
15
0
0
0
0
0
0
15
9
2
1
0
0
0
0
0
0
61
10
4
-2
0
0
0
0
0
0
25
6
3
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-62
8
-26
0
0
0
0
0
3
-41
70
0
-7
-3
6
0
0
0
19
20
51
-59
98
8
0
0
0
0
-12
27
94
88
18
8
0
0
0
0
62
32
82
23
1
-2
0
0
0
0
45
74
-34
121
-9
2
0
0
0
0
51
40
34
11
-1
0
0
0
0
0
48
47
84
-13
-1
0
0
0
0
0
76
21
-63
-2
0
0
0
0
0
0
74
2
20
3
0
0
0
0
0
0
84
-28
2
0
0
0
0
0
0
0
14
-19
-2
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
43
-19
-100
76
-4
-4
0
0
0
23
-19
83
-5
5
-3
0
0
0
0
53
122
57
32
-5
25
0
0
0
0
86
77
78
137
5
5
0
0
0
0
81
-11
112
33
-1
-5
0
0
0
0
91
87
30
15
-3
0
0
0
0
0
33
148
48
56
-1
0
0
0
0
0
112
-18
31
9
-3
0
0
0
0
0
-37
42
3
1
0
0
0
0
0
0
23
49
10
1
0
0
0
0
0
0
-38
74
8
0
0
0
0
0
0
0
-7
-37
0
0
0
0
0
0
0
0
18
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-112
-26
-69
-12
0
0
0
0
0
5
-14
7
-43
0
0
0
0
0
0
15
-14
60
-5
-3
0
0
0
0
0
121
19
71
15
1
0
0
0
0
0
37
62
-10
-7
0
0
0
0
0
0
5
-15
37
0
0
0
0
0
0
0
129
15
42
0
0
0
0
0
0
0
73
-8
-7
0
0
0
0
0
0
0
35
59
0
0
0
0
0
0
0
0
59
-32
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
-37
2
-27
-2
0
0
0
0
0
-35
12
60
3
0
0
0
0
0
0
117
93
9
-17
0
0
0
0
0
0
13
-21
-31
2
0
0
0
0
0
0
3
8
-16
-8
0
0
0
0
0
0
-11
-63
-71
2
0
0
0
0
0
0
58
-68
-21
0
0
0
0
0
0
0
58
44
2
0
0
0
0
0
0
0
22
-9
1
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-7
7
0
0
0
0
0
0
-17
-3
-8
0
0
0
0
0
0
0
104
92
25
2
0
0
0
0
0
0
-40
-53
3
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
1
-49
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-3
4
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
-22
42
-3
0
0
0
0
0
0
0
-34
20
1
0
0
0
0
0
0
0
60
-19
1
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
-14
1
4
0
0
0
0
0
0
0
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
-156
-125
-76
-43
-7
58
69
-31
1
-148
-152
-113
-102
-37
-5
76
56
25
0
-79
-68
-40
6
30
57
64
76
12
0
-128
-60
-17
25
6
79
90
101
5
0
-90
-13
41
28
94
71
18
5
-1
0
-13
28
55
38
42
9
30
49
0
0
-15
33
57
49
78
96
103
0
0
0
15
86
86
74
77
67
13
0
0
0
-14
40
64
110
96
68
1
0
0
0
59
90
66
110
32
48
0
0
0
0
74
60
22
24
31
0
0
0
0
0
93
88
34
86
22
1
0
0
0
0
-19
1
-50
-18
0
0
0
0
0
0
20
90
-5
-24
0
0
0
0
0
0
-46
41
42
-5
0
0
0
0
0
0
16
14
2
0
0
0
0
0
0
0
-4
4
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-87
-91
-76
-49
-7
43
49
0
0
-62
-155
-91
-51
-22
19
127
-18
0
0
23
-6
4
58
90
109
95
-8
-3
0
-42
-30
33
102
28
64
-6
1
0
0
33
28
55
74
98
107
109
64
0
0
7
36
100
88
91
57
155
-4
0
0
-1
50
64
69
11
103
50
1
0
0
40
103
80
107
104
9
8
0
0
0
73
63
90
85
50
75
0
0
0
0
87
52
78
19
1
-9
0
0
0
0
27
35
38
72
27
1
0
0
0
0
49
66
44
-33
-4
-1
0
0
0
0
-54
-18
-29
5
2
0
0
0
0
0
-48
47
-46
0
0
0
0
0
0
0
-10
34
3
-2
0
0
0
0
0
0
8
15
-5
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-19
-46
-12
35
26
70
2
0
0
-61
39
-13
26
6
0
31
1
0
0
9
-12
-11
-30
3
13
12
0
0
0
-39
33
2
29
55
26
35
1
0
0
36
-5
23
23
151
58
-4
0
0
0
33
42
47
121
96
64
24
0
0
0
52
22
89
93
76
-14
0
0
0
0
79
56
94
41
67
66
0
0
0
0
12
59
65
-29
16
0
0
0
0
0
23
28
71
117
49
2
0
0
0
0
-5
45
-3
-1
0
0
0
0
0
0
35
4
-41
-25
0
0
0
0
0
0
-4
80
59
-1
0
0
0
0
0
0
49
45
8
0
0
0
0
0
0
0
30
-13
0
0
0
0
0
0
0
0
-24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-58
-40
10
-13
-30
-5
0
0
0
-64
-85
-18
-87
85
121
-4
0
0
0
56
2
18
50
50
-32
31
3
0
0
31
-2
45
34
93
25
17
0
0
0
53
40
61
67
85
72
16
0
0
0
-4
31
38
101
8
0
-4
0
0
0
68
62
26
6
66
17
0
0
0
0
25
70
100
24
79
2
0
0
0
0
31
52
90
17
-47
0
0
0
0
0
60
79
222
-36
2
0
0
0
0
0
41
12
-35
-15
0
0
0
0
0
0
-38
-2
-41
1
0
0
0
0
0
0
136
38
4
-2
0
0
0
0
0
0
5
10
2
0
0
0
0
0
0
0
10
12
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
48
-86
-97
-74
0
0
0
0
0
-8
-70
-23
-18
-8
-8
6
0
0
0
74
-13
-48
-59
97
13
0
0
0
0
20
2
-18
-30
83
30
0
0
0
0
-3
-14
5
62
35
-2
0
0
0
0
-25
12
-2
165
9
3
0
0
0
0
39
50
17
80
0
0
0
0
0
0
-8
16
158
-62
2
0
0
0
0
0
22
1
-79
-5
0
0
0
0
0
0
35
76
17
2
0
0
0
0
0
0
76
10
-1
0
0
0
0
0
0
0
5
-41
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
-37
-5
98
-5
-4
0
0
0
49
-14
-74
-57
-7
-3
0
0
0
0
66
-14
-20
-39
-5
29
0
0
0
0
-13
-5
-31
185
-31
5
0
0
0
0
68
60
76
101
-2
-7
0
0
0
0
-23
24
50
-25
-6
0
0
0
0
0
-22
46
5
43
-1
0
0
0
0
0
71
-68
75
2
-3
0
0
0
0
0
9
-19
-20
2
0
0
0
0
0
0
63
109
9
1
0
0
0
0
0
0
-18
77
14
0
0
0
0
0
0
0
-21
-49
0
0
0
0
0
0
0
0
32
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-75
-26
-105
-12
0
0
0
0
0
-17
-37
5
-56
0
0
0
0
0
0
63
-24
43
13
-3
0
0
0
0
0
23
15
102
5
1
0
0
0
0
0
9
-67
44
-15
0
0
0
0
0
0
-9
-42
83
1
0
0
0
0
0
0
44
9
66
0
0
0
0
0
0
0
77
-15
-8
0
0
0
0
0
0
0
35
66
0
0
0
0
0
0
0
0
59
-41
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-60
-10
-57
-2
0
0
0
0
0
-31
-30
69
4
0
0
0
0
0
0
-43
13
-9
-49
0
0
0
0
0
0
1
-35
-34
5
0
0
0
0
0
0
-43
-15
-2
-13
0
0
0
0
0
0
-11
-39
-102
2
0
0
0
0
0
0
35
-66
-14
0
0
0
0
0
0
0
55
98
2
0
0
0
0
0
0
0
27
-8
1
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-32
-7
7
0
0
0
0
0
0
-13
-7
-8
0
0
0
0
0
0
0
53
66
23
2
0
0
0
0
0
0
-42
-47
4
0
0
0
0
0
0
0
-19
-6
-7
0
0
0
0
0
0
0
-2
-53
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-8
4
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
-27
31
-3
0
0
0
0
0
0
0
-32
22
1
0
0
0
0
0
0
0
58
-17
1
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
-14
1
4
0
0
0
0
0
0
0
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-31
-45
-64
28
-6
22
-2
0
-10
-71
-61
21
55
33
48
26
5
0
-8
-95
52
21
122
93
19
21
1
0
-8
-47
2
21
65
19
29
20
0
0
-4
-50
47
129
97
10
-6
0
0
0
-19
29
58
48
-19
-41
40
-1
0
0
-82
-38
42
-52
31
15
8
0
0
0
44
12
7
0
-13
39
22
0
0
0
29
-22
9
53
-2
8
1
0
0
0
14
13
3
85
-7
17
0
0
0
0
44
-20
20
-13
-27
0
0
0
0
0
60
42
-31
53
-17
0
0
0
0
0
-28
-46
-66
25
3
0
0
0
0
0
-14
35
14
-8
0
0
0
0
0
0
-24
9
42
-2
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-11
-13
-3
28
50
-2
2
0
-9
-68
-88
-32
42
60
60
17
0
0
-15
-1
-69
16
57
22
-6
4
0
0
-29
0
48
-4
85
37
-15
22
0
0
48
18
3
-12
39
-1
77
20
0
0
0
46
32
-54
-8
26
45
-2
0
0
-42
-8
-26
-13
25
31
3
0
0
0
-28
19
-8
-13
1
36
6
0
0
0
19
-9
4
-35
18
8
0
0
0
0
-15
-5
0
-14
-56
-14
0
0
0
0
15
-31
85
33
0
0
0
0
0
0
-50
-51
-5
9
-5
0
0
0
0
0
9
-91
38
5
4
0
0
0
0
0
5
1
-14
-3
0
0
0
0
0
0
-3
-20
30
2
0
0
0
0
0
0
2
10
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-61
-81
-3
4
0
0
0
-2
-42
-34
20
23
-2
15
-2
0
0
-13
6
-69
97
-26
22
-5
0
0
0
-2
-12
18
-28
-7
18
-9
1
0
0
-14
6
7
94
91
6
-1
0
0
0
14
-58
36
19
22
36
-9
0
0
0
-4
-41
8
-6
66
-4
0
0
0
0
46
16
41
52
-12
5
0
0
0
0
-42
-39
22
-5
14
0
0
0
0
0
2
18
-4
-5
22
3
0
0
0
0
20
17
3
-9
1
0
0
0
0
0
-10
-10
-13
-16
0
0
0
0
0
0
-25
-13
12
-1
0
0
0
0
0
0
-13
-9
1
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
0
-6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
-62
-82
-18
5
0
0
0
0
8
-14
-9
-63
1
25
-2
0
0
0
-4
12
-58
51
7
-26
14
2
0
0
12
4
-52
6
71
-10
-7
0
0
0
-22
14
-32
17
-4
32
2
0
0
0
-12
15
1
32
78
8
1
0
0
0
-42
-30
5
12
26
-3
0
0
0
0
19
-24
23
-28
10
-1
0
0
0
0
-53
35
31
34
-18
0
0
0
0
0
-16
-4
29
-17
-13
0
0
0
0
0
22
20
48
14
0
0
0
0
0
0
-60
13
-25
2
0
0
0
0
0
0
-15
23
0
-3
0
0
0
0
0
0
12
5
4
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-28
1
4
2
0
0
0
0
-1
10
-13
35
-7
-2
4
0
0
0
-14
10
-79
10
12
3
0
0
0
0
-22
-24
15
-58
4
-6
0
0
0
0
-24
-22
-16
13
14
0
0
0
0
0
-10
-44
-21
10
5
3
0
0
0
0
24
41
20
55
1
0
0
0
0
0
4
12
35
-4
0
0
0
0
0
0
-20
-40
-37
0
0
0
0
0
0
0
16
-12
-8
0
0
0
0
0
0
0
8
5
4
0
0
0
0
0
0
0
-8
-6
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-42
-16
4
0
-2
0
0
0
0
-2
-13
-37
-17
-1
0
0
0
0
4
-7
1
46
-2
1
0
0
0
0
3
-41
-15
-13
-5
3
0
0
0
0
0
46
-49
13
-13
0
0
0
0
0
2
-31
26
-18
-4
0
0
0
0
0
-13
-6
53
17
0
0
0
0
0
0
-25
23
-19
3
-3
0
0
0
0
0
19
-14
-10
0
0
0
0
0
0
0
32
19
3
1
0
0
0
0
0
0
9
8
-1
0
0
0
0
0
0
0
-4
-24
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-2
0
0
0
0
0
0
-3
-2
-10
1
0
0
0
0
0
0
0
10
-1
12
-1
0
0
0
0
0
-2
30
30
0
3
0
0
0
0
0
-6
-59
-4
-9
1
0
0
0
0
0
-25
0
23
0
0
0
0
0
0
0
0
19
12
0
0
0
0
0
0
0
-7
-8
-1
0
0
0
0
0
0
0
0
13
2
0
0
0
0
0
0
0
13
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-6
0
0
0
0
0
0
-1
0
6
-2
0
0
0
0
0
0
-9
9
1
-39
0
0
0
0
0
0
-3
-8
13
8
0
0
0
0
0
0
4
-8
9
-7
0
0
0
0
0
0
3
-10
-14
1
0
0
0
0
0
0
27
-47
-16
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
1
-6
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
9
-52
-117
82
-35
-110
-2
0
-56
-67
25
-39
7
10
-61
38
-12
-13
-41
-25
13
-91
-65
-93
-13
-7
-5
-9
-19
-17
-7
-40
-2
-73
-52
-8
5
-14
-30
-26
-45
16
-59
0
18
-11
-23
-17
-18
-12
-33
-29
-5
-34
-15
-20
-16
-15
-12
-12
-14
-5
0
-5
-14
-11
-28
26
-25
-58
0
0
-33
-12
-14
-8
-41
19
0
0
6
18
-45
-1
-12
-36
-29
-9
0
-42
7
-135
-11
1
-4
-5
-1
0
-1
-28
-13
-18
-18
29
8
0
0
-9
-28
29
-7
-9
1
0
0
0
-5
-17
-28
0
0
-1
0
0
0
0
-2
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-28
-69
-13
80
-26
-23
-31
-3
69
-23
12
-1
-55
-65
28
-24
-57
-5
-15
-20
-38
23
29
-32
-84
7
20
6
-24
-18
-13
-6
-12
-23
31
1
4
-16
27
19
15
-64
-16
-48
6
-11
1
4
-16
-14
48
23
-77
-1
-21
-15
-27
-33
-19
-14
-15
-44
0
-7
-10
-18
5
-21
26
-29
-27
0
-25
-9
9
-52
29
54
-24
24
-75
-86
1
32
-37
-57
23
-39
-1
-54
-29
-63
-79
24
62
-48
4
-2
-43
0
-3
-5
-53
74
-4
24
8
43
-5
-37
-76
26
12
-7
9
0
25
-63
-17
26
-31
1
-5
17
4
-3
-49
45
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-25
5
51
-67
18
22
-46
-3
54
-24
-29
16
15
-33
14
-13
-55
0
-4
13
48
13
70
-23
-19
20
14
-10
19
19
-17
39
-10
21
-23
37
-1
-25
-21
3
-37
-59
30
-37
-11
21
-20
6
-38
8
-46
43
-84
25
17
-3
-19
-25
5
32
22
-54
0
-5
10
-19
-3
70
6
-66
-41
0
-35
-8
-29
39
-27
-63
-3
6
2
11
-31
-12
10
-12
17
-53
-1
-92
-7
27
25
-10
18
18
16
-2
-80
32
-7
-8
-15
-10
-16
33
8
40
-5
-9
-43
-3
31
-48
5
0
-22
-22
37
25
-17
8
-33
17
4
7
-69
40
26
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-37
55
-9
-50
-28
0
0
0
-55
15
14
11
-35
-41
-21
-19
0
44
66
86
-5
51
49
2
6
-3
68
-1
-6
13
-146
-30
-76
9
-8
-61
-13
-16
6
-75
41
-22
-34
-15
100
6
19
-93
19
58
7
-34
-18
33
18
-12
-49
1
59
16
-30
-4
0
-13
8
55
13
4
-4
-43
-8
0
-30
64
7
-12
40
-25
-27
1
44
74
-42
17
40
-17
-7
-9
0
-54
-11
35
21
29
3
13
-2
-1
2
26
-12
1
6
-24
-12
-1
0
-5
-8
-29
16
2
-8
0
0
0
-5
-3
-6
8
-1
-1
0
4
0
1
0
0
-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
-23
59
30
30
76
13
-65
12
0
16
15
83
26
2
123
-79
3
6
-5
0
10
21
14
52
38
4
-13
-19
-16
-25
6
-5
-5
16
-58
-18
-28
-12
-25
-19
-3
1
-19
5
-6
-17
-9
-12
-13
-13
-47
43
-13
-14
0
-8
-14
-10
-16
-28
-89
-25
-10
0
-2
-14
-3
-23
-74
-37
-74
0
0
28
-9
44
-23
24
-13
-16
0
0
-23
-21
47
-4
8
-1
0
0
13
50
58
-5
-1
-9
0
0
0
-13
2
12
48
-7
-16
-1
0
0
-32
-44
21
-12
-2
0
0
0
0
-4
7
-1
0
-4
-4
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-51
-53
25
22
84
-79
41
-2
-35
-9
14
-26
11
47
-74
-11
-5
-22
-13
18
1
51
-17
-11
34
-59
-25
0
3
15
9
30
26
82
-49
-4
-14
1
1
5
33
5
-71
-18
-20
-16
-16
-13
-29
-13
-42
-54
-67
0
-26
-5
-5
8
6
-11
13
-49
0
-10
16
5
-7
8
-65
-138
-29
0
1
-12
-5
-30
40
-28
-89
0
0
40
69
5
31
8
4
5
-2
18
15
41
27
42
-19
-58
4
-1
-42
104
-15
49
10
28
-17
2
0
-60
-105
-72
28
77
-10
1
3
0
30
10
-97
-49
-56
49
-16
0
0
0
1
-14
-14
-5
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
23
1
19
-39
10
-2
-2
-2
-41
-28
21
-51
32
-29
50
-44
-1
55
13
-24
29
-23
67
-39
103
-42
-9
44
68
46
14
48
21
10
-48
54
46
1
7
8
2
22
35
-12
23
12
-5
2
5
47
0
1
-42
0
15
16
-8
7
15
-60
-31
-51
0
-7
-23
24
84
-57
-56
-19
-25
0
-7
-18
-9
66
52
-7
-60
0
0
-26
23
25
-60
72
-6
-20
-2
36
-5
-19
57
-63
-70
-48
3
-1
-33
124
-55
59
-45
80
-26
2
0
-37
-76
-22
-61
76
-65
2
3
0
-14
-14
-28
-29
-32
3
-29
0
0
0
4
-24
0
-5
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
14
9
-26
37
31
-4
0
-13
-49
-41
37
29
51
9
-7
4
36
49
64
-19
16
-43
-43
33
-16
63
71
34
28
13
-41
-13
-9
-5
-4
23
-22
-5
66
0
-48
-9
-1
12
50
4
-82
-47
20
6
-21
6
0
111
15
120
-50
-35
-19
-56
-8
0
11
-17
97
-14
29
13
16
-1
0
-31
-10
9
1
-20
-25
-1
0
0
61
-20
40
-23
-12
-27
3
0
-30
-94
16
-4
49
-18
-2
0
0
-5
8
-4
41
6
-3
2
0
0
-17
-19
-19
4
0
-4
0
0
0
-3
6
0
-3
-1
2
0
0
0
0
0
0
0
0
1
0
0
0
-25
-30
-23
-18
-17
-11
-7
-3
5
9
9
5
4
-2
0
-7
-3
-41
-43
-7
-1
5
-18
24
-20
3
14
14
20
52
33
32
57
-91
-218
-102
-77
-61
-56
-44
-27
-17
-10
2
5
7
11
26
18
13
-9
0
-40
-66
-45
-47
-38
-33
-10
-5
-21
-8
9
1
7
15
23
71
-94
22
-28
-60
-28
-48
-35
-26
-31
-7
3
12
34
24
46
112
76
-9
-89
4
-48
-30
-16
-16
-26
-39
-11
-4
-10
1
-5
22
66
26
-10
16
-81
-81
22
-21
13
6
16
-65
28
12
69
44
25
30
-29
1
-13
1
-90
-7
-24
-5
68
42
-58
45
-27
23
-5
84
25
10
-46
5
-27
-16
-24
31
-59
8
23
-99
3
15
-14
-24
-11
-71
37
18
11
-49
-40
0
-4
-1
-11
-36
23
42
-28
89
-29
13
-12
-12
-5
-61
-29
16
25
86
-29
-5
-9
-4
6
-44
11
15
-2
57
-7
-17
-5
4
3
-35
-23
61
14
69
-29
2
-3
-1
2
17
-1
-3
27
81
-24
-13
-12
-6
-8
4
32
40
-17
-4
-26
-1
-16
-4
-7
-17
18
48
15
51
-9
-5
-15
-7
-6
-19
25
-8
-15
3
-6
4
-6
5
2
-2
18
25
38
-15
31
5
-9
-11
-3
-10
45
40
-23
8
2
3
-7
1
-4
-28
-3
17
34
52
12
-4
1
20
43
-29
11
-21
70
3
-32
-2
-4
2
5
-23
13
68
-6
18
22
-20
12
12
32
94
-13
90
1
4
-21
3
-6
2
-2
16
15
11
-27
-37
-40
3
-10
73
14
71
37
-8
37
11
25
2
-26
1
1
-8
42
-25
-28
30
-27
-1
-10
-10
-25
-66
20
3
-4
-9
6
6
-30
-12
-24
-2
12
72
5
15
2
-13
-18
-20
-6
-26
8
11
-8
17
-16
-2
-19
-17
-23
-23
8
8
10
4
-8
-5
-21
-22
-31
1
28
-29
-3
15
-3
-11
-12
-15
-7
-2
-11
5
16
36
21
-13
-2
-14
-7
2
-3
2
4
23
4
-5
-7
-2
-10
21
-8
-1
6
23
13
-1
-15
2
-3
-6
-10
17
5
9
0
-1
-5
-7
-4
14
2
-6
-11
23
14
3
-14
-12
-10
-9
2
8
10
8
4
0
-4
-9
-19
3
2
-2
-6
0
7
0
-1
-7
-12
15
-2
-2
20
26
37
3
3
-2
-13
-13
4
20
8
-45
54
23
-18
-21
-2
22
1
-5
40
21
17
18
-5
2
-6
-10
16
18
17
-1
37
15
-3
21
-21
48
6
19
11
-9
7
33
-6
-40
-60
-26
50
-56
-2
5
-31
20
-48
-14
-17
-33
-12
42
-25
24
31
11
-22
1
-8
14
33
-17
49
26
-21
12
19
-30
-20
19
-2
6
11
29
-13
11
-25
15
-23
-39
-16
-47
44
47
-10
4
-10
-8
14
-8
-1
-11
-11
20
-10
-8
11
25
-8
-45
-14
13
1
26
18
5
13
-3
10
34
-8
-6
0
5
-26
5
8
-2
-7
-6
-6
-4
9
42
6
5
-2
4
-14
-18
7
1
30
-11
-8
-3
2
3
18
-19
-11
21
21
5
23
10
6
7
3
-39
18
-24
20
32
-15
-20
4
5
4
-10
-13
21
-4
-13
40
-5
-1
26
20
-25
6
36
-1
22
-2
11
-5
6
-1
5
-4
18
-24
-4
-15
15
11
26
-34
-6
-6
13
4
38
4
11
-15
-1
30
12
10
2
1
19
27
-18
5
7
0
-10
-12
-20
13
44
-20
-11
-15
-25
-10
-78
-48
-25
-9
3
-60
-37
1
8
-19
-23
-52
-38
32
-12
-9
27
-34
-31
-5
40
-24
5
-16
5
-12
-55
48
75
-12
-64
-14
31
44
6
-21
-30
13
29
66
-68
25
91
31
18
-23
5
8
1
19
-32
1
-19
78
-11
-6
10
16
-14
8
23
-13
-18
39
-7
50
-8
-39
-22
50
22
-12
53
-22
47
-26
36
0
5
17
14
-12
-40
51
-1
26
-52
-4
20
61
48
-5
16
-7
-57
6
-3
-14
9
6
37
-4
-41
47
21
-4
63
-6
-51
-17
57
-7
-22
-47
18
-10
-48
-6
55
50
6
19
23
-33
-32
-4
22
22
34
-5
-18
18
-15
53
13
-3
-27
23
34
-48
-3
22
19
-5
-23
-34
37
-19
-17
15
-17
-47
12
20
-5
33
10
-24
17
-21
-32
0
22
51
-19
-3
5
-16
-3
-42
-5
71
5
-3
-4
74
-6
-1
146
9
-18
-46
8
-44
52
-8
-36
7
17
-91
-5
-55
5
-15
52
1
9
-38
-17
7
15
-30
17
32
-6
-32
24
34
-33
-81
-101
-1
-59
-24
-9
-1
2
-23
2
-27
93
-28
-1
47
33
21
-57
-57
-8
-9
-10
9
-48
-25
-15
-7
1
-23
4
33
-9
69
-7
-14
-15
-15
26
17
19
-4
20
-6
2
-19
-7
-46
20
30
33
-20
15
-10
14
26
-32
4
-1
-19
-6
-79
-8
-29
-2
6
-8
16
-48
1
-10
-10
4
-18
45
24
85
-49
-17
-19
-8
-7
1
-9
17
19
5
52
1
56
40
14
42
98
-45
35
-35
-53
1
-5
-14
8
-16
13
31
28
63
-11
-70
53
-15
50
-4
29
15
-2
4
36
-5
3
2
2
30
5
19
-17
28
6
1
38
39
-8
-11
-9
12
3
-21
7
0
-29
-18
22
58
52
121
41
14
13
17
-14
-12
0
4
60
-3
5
-1
-14
-6
18
11
48
15
26
2
21
31
4
26
7
27
-29
-18
-17
12
-24
5
46
46
16
38
1
-17
2
-26
-5
-12
-12
28
52
1
10
-6
32
-19
-38
-47
92
20
94
-12
19
1
39
6
2
13
-13
-22
-8
17
12
11
-6
-11
8
-3
106
61
7
43
49
9
2
11
105
-6
5
-23
9
5
30
19
17
47
9
0
-87
77
19
-2
30
5
23
-11
24
-2
6
40
9
12
37
17
63
9
-8
-54
0
15
3
9
-3
0
3
-20
-8
-9
-46
70
26
-13
-7
-4
67
11
-66
9
25
9
-33
-20
-9
37
13
34
-12
0
71
4
-11
-46
57
51
-8
-18
-27
-16
-7
-13
-58
-26
-52
12
31
-39
4
-2
-28
1
46
-30
-40
-33
-78
2
-12
-27
3
2
-38
-9
-11
-17
-19
-22
-17
3
25
43
-72
37
-22
-16
-3
-15
-6
5
11
2
-14
16
-1
31
-26
37
12
-33
51
-21
41
5
-14
-12
-28
19
-34
-15
5
36
32
-24
-9
-12
37
22
-93
-18
0
-7
-1
-11
-26
44
18
15
-22
-7
30
-19
-35
-46
2
-11
18
-29
19
-6
-10
-9
-15
-2
-8
10
-13
75
-25
-15
68
-42
13
35
8
-4
17
-9
-4
-14
-19
23
17
8
-29
38
48
-3
-45
-4
-12
2
-12
-25
-7
6
-3
-9
-9
14
2
3
-21
11
20
36
-45
26
17
-4
18
10
-6
-9
-14
1
-21
25
26
-17
-21
6
45
-16
47
30
33
16
49
4
4
5
-6
-16
-12
6
-4
34
14
3
23
-14
-12
40
-7
2
-60
-18
-17
13
-5
-1
1
14
18
8
-36
35
-20
-27
68
29
24
23
-62
-30
1
-6
-1
-4
-8
13
14
9
3
9
-4
-16
60
-15
10
-10
-14
-12
-2
-1
-4
-12
10
0
-10
-18
12
26
38
19
45
2
-7
19
-79
3
-21
25
-12
1
28
19
39
7
54
7
25
0
16
0
3
-53
17
78
-12
18
-79
-36
-2
4
-33
26
69
19
21
-37
46
3
19
6
22
16
8
24
-14
-5
-5
-6
34
-10
29
25
51
38
54
-1
13
-10
50
6
4
28
-35
-14
65
17
-14
-27
39
-20
-3
150
-5
-26
23
25
-66
10
26
-12
-12
18
18
30
32
-5
-3
-24
22
4
82
35
-102
36
72
52
-10
19
-75
-39
-66
-78
39
-51
45
-59
-45
42
-15
-76
-14
-69
-14
29
-24
-15
-83
19
-10
-43
2
-40
5
20
-50
3
-27
-16
-57
0
75
21
21
-1
-17
-36
21
-7
3
25
20
-36
40
-4
-30
13
-12
-14
-12
-15
20
-7
-4
6
14
10
-19
5
28
-32
-23
-40
21
0
-2
17
1
33
31
12
-5
-6
-35
-2
33
-16
26
51
31
-22
2
-7
12
-35
27
-51
-24
40
35
9
23
14
15
3
42
-24
31
2
-52
-21
33
32
-18
-8
33
11
-21
-40
-38
9
10
22
4
77
-14
-3
-30
-47
7
20
0
8
42
-16
46
15
-21
4
16
0
23
-13
41
27
23
27
23
7
59
-63
2
13
37
15
-31
-13
22
33
31
44
-3
13
-40
1
2
17
6
-16
24
11
-21
9
11
-9
0
23
28
29
-25
32
-34
-28
-15
-4
-1
6
-2
21
36
8
1
26
-7
9
18
-35
15
62
46
14
32
33
80
-22
-11
8
-38
1
-35
-3
1
53
30
18
31
-75
24
-29
32
-13
-20
-77
-64
16
-59
5
32
20
7
28
17
36
-18
-48
-71
17
19
17
-23
23
-11
-13
85
26
4
7
-13
36
-39
-14
22
94
-3
33
3
-13
-59
-5
30
-36
86
-21
33
20
-62
-22
-5
4
74
65
30
-18
60
12
-14
4
4
-40
-61
-21
40
41
25
1
-73
15
41
-2
2
-3
42
-10
-14
17
-28
-43
22
-11
93
3
-17
5
-57
-20
121
-31
21
54
-29
14
54
7
-22
37
73
31
-15
33
-1
-6
5
28
15
44
-14
-1
-8
-4
-1
-9
5
2
-21
-12
-22
-24
-22
-8
-3
-27
-49
3
-10
-13
-4
0
-1
-10
-12
-2
-19
-33
-26
-24
-27
-13
-5
13
-25
2
-10
-13
-12
3
6
-25
-41
12
-10
12
5
33
-19
-44
6
9
4
0
-1
-2
42
-25
-8
-26
29
27
-9
-47
45
24
-29
6
-2
-2
-2
-2
5
-7
14
-5
-16
9
11
26
-22
13
32
-21
13
24
58
3
-8
22
14
0
-13
3
1
-16
6
1
10
48
-45
16
0
-29
5
-1
-13
13
2
24
-24
-21
9
8
4
-9
19
14
11
32
-21
13
-42
10
5
5
-5
19
-3
-2
-5
-11
10
-12
0
-7
53
22
8
33
6
7
-21
0
4
-3
5
-6
12
-13
30
13
-9
-32
28
-34
69
9
7
-16
28
-8
-2
-18
-22
20
-25
12
-7
-13
-3
60
36
-47
26
29
19
-37
-1
7
1
0
61
30
12
12
1
16
-30
-35
-28
40
-24
13
-31
54
12
13
8
-2
24
9
-1
-24
5
16
-22
24
-30
-41
55
-40
-7
1
22
12
0
0
26
39
9
-13
4
-34
1
65
-55
-36
52
-57
42
5
-13
0
1
8
29
34
42
5
-42
-2
29
-20
-10
66
-28
-14
-12
17
-25
8
4
0
-31
27
-12
-4
1
8
22
-21
5
45
-37
40
-27
-28
-1
7
-6
-5
-19
-5
6
26
27
5
-31
-42
12
-8
-78
24
21
-19
24
-7
14
1
-2
-20
5
0
-25
0
0
18
25
-43
2
49
0
24
7
0
-1
0
-22
-16
-2
18
-30
10
4
13
-31
-34
39
73
-42
39
21
8
-6
-7
30
7
-58
-26
-22
-19
-23
1
-1
5
-8
-23
6
-11
-6
-4
0
37
-15
-14
-18
-9
-8
-7
-4
16
1
6
22
40
13
34
55
30
-19
-36
-11
-9
-14
-8
-10
1
-3
13
9
5
8
-7
8
5
23
-47
-25
6
-3
-2
6
-3
0
0
2
5
-2
-5
-1
16
16
14
9
-5
6
1
-5
-6
-4
-1
3
-5
4
7
-12
2
11
-14
-39
-3
-8
-5
6
-2
-4
-3
-2
-3
9
6
10
-2
1
12
16
29
1
-4
-15
-3
-3
-5
-3
6
1
11
10
11
19
-9
-6
20
0
-93
-13
-5
3
-1
6
4
7
5
-6
9
19
18
117
-3
-9
-23
-2
-69
-56
-15
-29
30
-2
9
18
-33
24
8
-27
15
5
0
0
-19
-4
12
21
25
-18
-11
-17
-13
9
36
4
-41
18
8
-29
0
28
23
12
0
-17
-6
-17
-11
-18
1
14
6
9
10
-1
91
33
52
-84
3
-18
-17
-22
0
-4
4
0
-3
7
21
-26
8
4
-46
-76
27
-13
-31
-20
-12
-9
7
2
13
6
24
23
25
23
-11
-12
-15
-7
-33
-14
-33
-9
-6
4
-1
9
22
15
17
8
-38
-1
0
-75
-23
-63
-28
-10
1
-8
4
6
-6
-12
-10
28
15
41
12
53
-41
-47
-43
-43
8
4
2
6
2
-4
-13
14
27
32
15
-13
-3
-33
-116
-85
-16
28
9
23
11
18
39
8
1
-7
41
45
57
-51
-5
-14
-16
59
11
-15
24
35
-7
-28
15
63
-17
10
67
6
0
47
9
-14
-37
3
-8
29
-57
29
29
0
-9
83
-14
-24
31
0
-4
14
27
16
-7
-6
6
7
-8
3
-30
-6
10
-13
-22
3
48
-7
-15
-29
25
-13
13
-17
9
-13
12
13
-14
9
4
33
8
50
-2
40
-22
-47
23
-8
-12
12
-2
-19
46
14
37
57
67
49
9
0
13
9
55
102
2
-23
1
-50
5
-35
4
-32
23
64
-7
71
-2
-59
31
-6
-7
-35
-8
-6
20
-22
10
24
-8
34
-8
57
-2
2
99
-50
5
-30
37
13
-20
-1
5
-39
11
-15
-43
-6
2
-64
-4
8
32
-64
-87
-17
5
-25
-22
8
-7
45
16
45
-23
25
3
-1
-58
20
79
10
-2
-15
-45
-19
-37
37
-11
36
-19
22
2
0
0
13
11
-28
0
18
-37
24
39
2
-11
-19
0
-3
0
0
0
-3
-8
16
-37
-3
-31
27
27
30
-41
-23
42
17
48
-2
-1
-2
0
2
4
-9
10
3
-10
-8
21
48
-25
-3
-18
15
14
-4
0
0
0
-15
8
44
35
9
-12
9
42
-19
-10
-2
2
-4
2
-3
0
0
0
-9
10
25
41
-28
5
-38
1
16
-1
4
16
23
-19
0
-1
-5
-9
-5
5
11
65
9
2
31
11
2
-53
0
-7
-5
0
-1
-10
21
-31
12
35
-13
-31
-35
11
3
-10
14
-4
-3
1
0
-2
-12
5
-1
-11
5
-9
-10
-12
45
-24
16
-14
-6
-1
0
0
0
-3
8
-1
-28
0
-10
-16
5
24
0
0
0
0
0
0
-45
-34
-33
-23
-28
-29
13
-36
43
-45
12
-25
2
16
15
0
-5
-13
-19
-5
-49
-74
-36
5
-4
4
22
-52
0
39
33
16
-11
-7
-13
30
-25
-1
-38
11
8
-4
-15
-50
-66
-25
54
42
-9
-5
11
-10
-42
-48
-22
6
-35
-44
7
0
2
-2
-1
-21
-58
4
-66
-15
-7
-7
4
10
-107
-40
-40
-29
20
-8
2
-5
4
-74
-43
15
-39
13
-22
-22
-79
-51
-21
-25
-4
-110
-42
36
1
-10
-72
-47
-51
-44
-49
10
0
-11
-10
-15
-67
-57
-25
-88
19
-2
5
-5
18
-5
12
-39
-13
26
1
-14
-16
-16
7
-14
-3
15
35
1
-4
-6
-2
4
-8
4
47
-18
-13
-4
-3
-22
-22
45
41
24
5
2
4
-5
-13
28
30
-50
-19
-8
9
11
-16
-1
-62
-8
-1
29
-7
9
6
0
-5
3
-11
2
10
11
2
-15
-34
-47
-5
-5
-32
-18
-55
-3
1
-13
-26
41
-19
-14
-12
1
-6
3
1
9
-22
21
6
-48
-5
-6
9
9
15
-16
14
33
-30
-5
11
-4
-2
-24
1
-5
11
-12
8
-5
3
-57
-47
5
-50
-51
-22
-19
-1
-12
27
30
54
-53
16
6
0
-3
-4
2
3
25
24
-4
2
-11
-13
-12
3
16
-23
51
11
-18
1
20
-2
4
-10
22
-5
2
1
-12
9
2
-4
-31
18
-41
-83
-3
-49
-24
-34
33
-39
-13
-55
-27
4
-1
6
0
3
12
23
-2
-9
-48
-4
10
-1
0
10
-50
43
32
-40
7
7
1
-2
2
5
-4
-7
-9
5
22
-15
-11
32
-21
-5
-138
-53
0
-24
-11
68
8
-23
-2
-1
-6
-17
4
8
-5
-8
15
1
-20
-50
-2
1
3
1
-9
-22
41
-5
7
13
-19
-5
-11
-3
6
-7
-10
-23
-7
2
15
28
-3
33
50
-40
60
-86
7
-6
-1
-19
-42
-7
3
-15
-6
-1
2
3
25
-3
29
19
-8
-14
-9
-8
-12
-2
-53
-3
8
-21
-7
1
0
-5
10
22
-6
-14
2
-6
5
15
1
3
0
-36
-27
-38
-47
-1
15
54
-21
15
26
-27
-9
-12
-3
-8
15
13
58
5
57
-17
-13
-1
-16
-3
-22
-5
-8
50
-30
-16
-17
-8
0
4
47
-16
-34
13
-50
11
-15
1
20
-18
15
50
-10
-33
11
-12
-10
-28
-49
9
-1
0
0
0
3
-6
-6
22
-5
19
-15
-9
3
-2
-11
-9
-33
20
3
-2
-9
-2
0
2
6
-19
6
-12
-11
0
-3
10
-7
-6
9
2
-13
-2
-3
21
28
37
67
16
-55
-42
-5
0
4
-1
12
23
8
22
3
15
10
3
-5
-14
-36
-30
38
40
-14
-28
-16
20
-4
13
11
7
-20
21
15
-14
-10
16
-1
30
-26
48
2
-37
-61
49
5
-7
-11
21
1
-10
-9
6
-20
9
-11
41
32
11
-8
-9
4
0
-6
-20
-1
12
-12
-25
-18
24
-25
4
2
41
10
-10
-13
-6
-1
-45
-6
-11
-1
-22
20
13
-34
71
-22
-28
19
-1
-2
-4
-26
-3
-13
6
19
40
12
25
24
-34
43
17
-3
3
6
13
23
77
-7
0
4
-14
21
14
18
14
4
30
14
-15
36
-23
108
4
-22
0
28
-34
-64
-14
-12
13
30
-12
17
27
5
6
-4
7
-15
-14
41
15
18
-14
-6
-10
7
-20
21
-5
23
-26
-7
16
-6
23
-6
7
16
18
29
-12
-28
-18
-3
-23
0
-26
49
5
50
-6
40
29
-31
1
0
-19
10
4
14
-9
-9
13
3
93
31
24
-21
17
2
8
13
8
39
-17
-55
-1
49
38
49
43
0
54
-2
28
4
-27
45
20
64
-27
-1
-24
-45
-41
-45
11
27
63
74
-3
29
7
3
5
-8
11
43
78
37
31
-38
9
7
-12
6
-21
2
-22
19
-32
-27
25
25
23
35
-24
22
13
5
-10
15
20
26
50
0
-27
-5
27
102
-10
-14
-67
28
1
0
101
99
-3
24
-9
10
15
-7
13
0
3
-16
-8
-8
-10
-35
5
135
38
0
5
33
31
13
21
-3
27
35
78
0
-37
-24
32
-22
-92
-38
-63
37
38
49
60
-8
-69
29
37
20
22
30
-21
-33
-33
-64
89
-18
-21
-13
-22
-18
-55
9
-30
87
5
-10
39
-30
-11
5
31
-149
23
23
-23
-2
106
38
-36
-14
11
33
29
-8
2
-19
-30
31
2
-3
53
2
-38
4
-36
29
5
-16
-25
28
12
-4
-63
-4
-16
30
-32
4
15
-5
-6
1
3
-47
3
43
86
47
-3
-5
-17
-24
8
-44
27
-34
86
-12
40
-39
-38
2
-9
-47
5
30
8
32
23
31
16
-32
-17
-36
14
22
-14
67
-37
3
-25
-13
-18
-2
12
6
20
25
-22
-2
-3
8
80
35
14
-36
-77
-58
11
-10
93
-16
-2
50
-54
31
20
-3
5
-20
44
-12
-33
-40
-28
-9
-16
1
35
37
32
5
14
-46
-9
-38
-3
-1
4
14
5
17
-15
-24
-13
-17
11
-46
16
13
-76
-22
26
1
-13
50
12
-35
100
6
7
-33
31
-12
-29
-54
33
5
14
15
-2
6
-20
16
-26
-9
1
-60
27
3
9
-5
-9
49
19
-20
-30
29
-75
6
-1
32
-23
16
13
-72
-58
14
39
34
43
15
10
-71
-4
6
26
22
-21
-19
28
29
20
-16
13
-7
-4
0
26
-10
5
-3
38
0
11
4
-20
21
-6
4
7
-5
-1
-40
3
8
24
-1
14
-29
-43
26
18
-5
-1
14
54
32
3
-45
-2
5
-8
23
5
96
34
-31
-46
0
-9
-2
18
23
37
-4
22
-19
7
-16
-2
5
40
-11
35
-61
1
3
-19
-12
15
31
4
7
-18
50
34
3
-21
10
-1
30
-21
44
-22
-1
-33
9
36
27
72
6
-2
-11
8
-4
-3
-3
4
-25
12
6
-15
40
1
14
-12
35
28
-15
-22
37
-4
4
-15
5
-25
22
5
-12
-7
32
20
9
-34
38
3
126
-38
-11
38
-9
-6
4
44
49
37
-1
11
2
7
-1
3
6
55
-10
-4
33
1
-8
11
5
29
-17
20
25
48
16
7
-9
-15
-2
9
13
7
-2
-17
-8
14
-15
47
6
16
-66
34
32
41
-9
-2
1
15
26
-7
-12
8
-15
9
6
-24
31
36
6
-63
-12
10
-11
14
6
10
13
-3
4
4
3
6
-15
-2
56
33
14
-54
-12
-20
14
0
26
47
-48
4
17
61
19
6
-4
2
117
-59
4
12
-14
-18
-3
1
8
24
23
22
-59
0
-22
3
18
-28
15
-9
27
-58
-1
26
6
8
42
-8
14
23
61
2
-3
-12
-20
-45
13
58
17
-3
-8
-15
23
38
-31
7
3
34
14
10
-2
-5
-3
3
-18
1
33
-14
24
14
-5
-13
-14
25
20
16
-11
-22
-3
-12
4
26
107
-4
-14
88
-64
-1
16
22
38
62
57
-22
5
-64
49
-24
-6
47
61
-18
8
-11
24
-13
-23
0
9
-8
11
34
-19
-25
-44
-21
10
-1
-19
19
50
-4
16
-39
22
-3
-7
-5
54
-53
-39
41
-19
-31
-2
56
-11
-3
26
-16
-6
43
-1
-6
22
-74
50
-4
48
-4
19
-22
-10
37
66
-39
12
87
-14
6
8
-1
-25
20
7
18
-2
-18
28
11
18
-11
-69
31
49
-1
77
38
-44
41
-5
-13
53
46
33
-4
30
-15
16
-3
-10
38
-9
-3
2
31
-20
33
36
43
-36
-51
1
42
42
39
-25
14
16
4
8
3
-22
47
12
25
-13
34
33
-28
3
-24
-30
-12
55
79
-16
-9
-16
45
36
100
-50
14
80
25
19
79
45
66
3
-20
10
-4
-25
77
8
27
-2
-40
22
2
-8
14
-5
-31
37
21
19
6
73
-17
37
23
65
5
-24
-82
-13
-22
32
-38
100
1
8
-37
82
14
23
-7
-2
12
14
-4
18
15
-10
17
-13
-36
44
-16
45
46
-8
9
24
35
47
16
8
6
-30
13
11
8
39
100
18
-26
-6
13
24
-1
-5
-10
0
16
35
51
30
25
7
-48
-47
91
0
32
-55
72
-52
14
24
-31
13
-93
0
-47
49
5
43
19
26
21
15
51
0
34
-79
-30
7
46
5
42
-50
-1
0
-71
35
5
26
27
-5
-8
-10
-44
87
27
-37
-11
75
5
-54
15
75
-8
26
-58
-28
43
18
-19
30
-16
-6
23
-95
56
-25
-58
26
22
-15
13
-15
24
-5
4
-13
-22
4
9
-20
-1
-14
2
26
-47
-39
-22
28
-2
-10
0
17
27
57
-45
-40
12
26
13
8
-32
101
26
49
6
-46
-46
-55
-57
-36
-33
97
-19
-35
13
1
32
-19
41
61
57
-13
-44
-75
25
-31
-1
15
27
6
14
-40
-22
10
52
41
-46
74
-8
28
24
-63
-22
16
20
-44
83
13
9
-10
-58
-22
-18
-3
-6
-18
-5
37
23
42
-65
-23
11
24
-20
-39
100
-15
28
-35
-55
22
4
-46
47
8
33
9
-2
3
-24
-10
109
3
-41
6
-2
-49
-31
10
17
28
-24
-28
-28
43
32
30
-24
31
47
34
30
-69
-16
-26
24
-27
-31
19
-31
40
47
4
-31
-4
75
-41
-50
-40
12
28
10
54
-11
-44
-5
13
3
-23
15
26
11
-59
17
1
-30
20
-41
0
36
1
-49
10
-10
48
32
-15
-74
-14
78
19
35
-8
-76
22
61
-4
13
28
-26
23
-21
-6
-88
19
-41
72
-20
13
49
37
62
-34
-2
26
27
-24
-19
25
1
18
72
-1
-19
15
-20
10
-21
0
60
-32
39
-48
14
-42
-12
-6
-10
-16
-44
45
2
6
32
-4
-3
36
-68
-22
-35
24
58
-7
6
21
-11
31
-13
13
12
16
-8
11
-2
9
57
-44
-17
36
21
-2
15
-17
-5
37
48
18
-26
13
7
19
-15
9
38
15
-28
13
7
1
0
-15
9
-3
35
-9
44
-76
28
26
1
-67
-16
-14
68
-13
-26
-2
38
22
-22
24
-67
19
-2
31
-14
27
1
-4
11
-71
3
-7
11
9
35
4
29
-25
37
-18
-34
0
-26
-7
31
112
68
-83
-9
27
-6
-3
-7
11
-43
-53
-11
-2
18
7
14
-7
4
-33
5
2
22
-1
0
3
21
-20
7
4
22
-32
38
-2
-30
25
12
24
1
-2
-2
-13
-35
-22
9
20
47
-25
-12
-7
-26
-5
-1
67
-26
53
22
-25
3
1
-15
18
10
-37
19
34
-23
30
-24
27
8
6
-26
6
-40
1
25
48
36
-12
-9
-2
-20
-52
64
23
34
20
-101
-1
-29
54
0
-34
29
9
18
-27
-19
12
31
18
-14
5
-19
-5
-13
18
-5
-21
-24
10
-2
14
31
32
33
-32
22
22
6
14
-3
16
-19
-2
27
10
71
69
-67
-5
-40
-3
58
-45
48
13
-3
24
4
23
71
-57
21
-72
27
56
28
-6
19
-8
-3
-5
-31
-53
67
7
-10
75
-71
48
11
41
-26
17
-11
-11
71
15
33
9
13
-7
-31
61
21
36
34
40
-39
-73
-10
71
-24
-55
42
-60
14
9
31
22
70
-42
-26
48
-5
5
-7
-46
23
6
-7
13
-27
-19
79
-35
-9
28
-59
57
14
40
-27
23
-18
0
13
-47
27
6
38
-26
9
6
54
22
-16
-28
5
-60
47
80
-15
19
68
-11
-1
13
-3
-32
28
-34
-42
-7
3
-92
58
4
91
-3
13
-39
14
-6
-31
7
-38
-4
9
49
77
10
9
1
-23
-8
-58
-11
31
78
-38
30
-1
59
-56
13
10
-54
38
61
-24
4
18
8
-90
24
-42
15
-32
-3
-9
0
93
56
-71
54
-42
-27
-29
-13
36
34
-30
68
-7
49
-25
28
58
30
4
-46
-31
3
-10
-5
22
-29
-5
-10
18
50
-13
-12
29
48
-41
62
-25
-47
-14
-16
8
61
-55
-13
5
47
38
-24
-22
-4
23
9
-40
55
74
-23
1
-103
43
34
31
-34
-5
-41
-9
8
26
-38
-10
11
-13
-4
-4
13
42
-12
-38
35
35
68
-14
-2
-9
4
37
-5
35
-74
60
-100
70
7
64
35
-66
90
56
1
-18
7
50
-22
-28
6
23
58
18
-10
-29
-10
54
-3
-58
0
-33
69
34
-5
-105
-43
81
12
23
0
-33
16
23
-2
14
6
-12
-23
-26
0
23
-27
-4
73
-19
-4
44
-49
9
0
-46
14
-38
66
2
34
-39
-1
40
0
24
39
-28
-45
3
-10
-1
0
0
-2
2
-2
1
13
-5
1
-2
3
6
0
-5
-4
0
-2
0
0
0
0
1
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-12
-4
9
-4
-2
-13
21
-16
4
-5
0
1
0
-3
-6
-15
8
-6
2
16
1
1
0
0
-1
0
8
3
5
-10
-5
18
-5
-7
10
6
-5
1
-1
-12
0
1
1
0
2
-2
-3
0
3
0
-4
-4
3
1
10
18
-3
-4
-19
37
3
-18
-1
-2
0
-7
5
-5
-13
9
-13
4
-9
7
-3
-5
-1
-5
-5
-6
0
0
0
-2
-1
2
0
-2
0
21
-13
-8
13
-14
22
6
-17
-20
-30
5
-14
2
3
-11
-32
36
-27
6
16
-4
-2
-3
-13
14
25
-5
6
16
3
19
-14
14
9
19
7
-4
8
0
7
6
-15
-5
1
-10
1
-17
-8
29
4
0
3
-24
-1
-6
13
42
-1
-33
0
-20
8
-38
13
-1
9
2
1
2
-6
-10
6
15
6
1
0
-5
-1
8
9
-2
2
5
1
5
0
5
-1
-9
25
14
-2
-14
10
16
-6
-26
5
-8
13
-9
-5
2
-39
-14
4
33
14
-22
31
-4
13
-19
-22
5
-7
22
44
12
-3
-13
-1
-9
1
-2
-9
-9
3
16
8
3
-15
21
-5
8
3
-30
1
6
9
4
10
5
-3
-2
-16
5
16
4
-4
5
-16
18
-16
5
-2
4
14
-3
1
-20
24
12
-8
-9
-16
13
-2
6
2
-4
-9
24
-5
1
-8
-5
-2
-5
14
-2
-23
2
2
13
6
18
-10
15
3
0
16
8
-9
10
37
-45
-29
10
-13
5
12
1
-20
13
-51
5
-6
0
-9
-14
6
-5
-6
1
21
8
29
13
-5
2
-21
29
-3
-9
0
-17
6
5
-8
10
-22
23
-24
-9
12
-5
5
1
-31
15
12
42
-18
-13
1
24
-15
-9
3
27
-7
-20
-1
-1
5
-13
-1
-2
22
1
5
5
-1
-5
4
-4
-6
25
6
-1
-1
0
2
0
8
7
9
2
-19
24
-7
-15
7
-27
19
-23
-2
-19
0
-14
12
21
15
-8
15
-20
15
-5
2
3
12
18
-5
-5
-20
14
8
8
13
7
-1
-20
-13
19
1
-1
3
0
-4
4
-2
8
-10
-7
8
-10
-22
19
-8
48
-38
14
-4
-6
-8
6
13
-5
5
-13
9
15
4
-16
17
-14
7
18
-6
-11
9
5
17
1
4
4
-17
25
-29
4
-7
0
0
-2
-1
1
3
0
54
7
18
-9
18
-9
31
-25
-8
-4
2
4
-6
6
7
-15
-3
-3
-8
-15
5
-3
-4
-19
-4
17
6
13
-5
-2
-1
-3
13
6
2
-17
-1
8
0
-1
3
0
0
-9
-9
-4
18
-10
1
-5
-20
1
-43
26
23
33
5
10
-6
-40
40
-9
-38
-8
5
5
18
18
21
6
-6
5
9
9
13
5
-2
5
16
-43
7
0
-2
0
-1
-1
7
-2
-2
5
10
2
9
4
-10
-7
16
-16
12
-5
8
0
3
1
2
1
6
2
-7
-4
4
5
6
-3
28
-5
8
-2
3
-3
1
0
3
-1
0
1
1
-1
-1
-1
-3
7
1
3
-8
25
-22
-2
5
11
18
-6
-13
-42
-7
7
-8
21
0
1
3
-4
24
2
20
-7
7
2
-13
4
23
5
-9
-6
3
1
0
-8
14
-12
-17
0
0
0
0
0
0
0
0
0
0
2
-3
2
3
-3
13
13
-5
0
0
0
0
1
0
-1
-1
0
-4
5
-5
0
0
-1
4
5
-5
0
0
0
0
0
0
-1
2
2
4
10
-15
0
11
9
4
-20
22
14
-7
-14
7
-29
0
-14
48
9
-15
21
-1
-14
0
8
6
-5
3
16
5
2
-22
5
3
12
9
-22
1
7
-4
5
-12
-8
14
-6
-13
0
0
1
1
0
2
0
-12
2
-8
0
5
11
-3
7
-8
-7
14
0
-18
0
10
-4
-26
16
-11
14
8
-2
-3
0
-5
8
5
16
-35
-8
-8
-1
-5
0
9
0
-3
-8
0
0
8
1
0
-14
49
-3
0
-13
-8
20
-57
-3
-62
-49
0
0
-7
0
-5
0
-112
-2
0
-70
1
-93
-17
-13
-95
59
0
0
1
0
0
0
-113
-46
0
35
41
43
-13
-10
6
-85
0
0
8
0
0
1
-1
0
0
34
12
27
55
-19
9
-13
0
0
-15
1
-6
0
-4
-14
0
-77
-37
61
-88
7
10
-25
0
0
-2
26
-23
-60
-33
-8
0
-24
-2
-30
11
-64
-58
-98
0
0
-3
-5
0
-1
-128
-49
0
-46
12
24
49
-35
-51
-7
0
0
-66
0
-2
5
-129
-103
0
85
51
88
61
26
57
53
0
0
-48
-11
-26
-3
3
0
0
-19
79
77
43
-68
24
-44
0
0
-107
-5
-21
-63
-93
-129
0
-65
-37
-23
-104
-119
-147
-21
0
0
-71
28
1
-66
-35
-8
0
-16
9
15
19
-10
-3
-33
0
0
-33
10
-43
-14
-62
-66
0
-29
62
35
67
13
-34
58
0
0
-13
0
-4
5
-66
-101
0
-11
64
120
59
11
116
-42
0
0
-6
-21
-26
-27
3
0
0
-1
92
6
-3
-9
-50
-4
0
0
-135
-6
-19
-70
-50
-75
0
-71
-27
21
-91
-126
-180
-36
0
0
-24
0
-1
0
-19
0
0
1
21
18
7
6
-26
-20
0
0
1
0
0
0
-1
-3
0
-76
75
20
-6
-24
54
-27
0
0
13
0
-1
2
-1
-12
0
-77
75
69
33
-5
-34
-18
0
0
-3
0
0
-2
-1
0
0
-31
5
26
17
-13
-13
2
0
0
-6
-4
-2
0
-7
-2
0
-9
-9
-38
30
-60
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-8
10
3
1
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
1
0
0
0
0
-13
3
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-56
-109
2
0
0
0
4
-7
-27
-55
-66
-31
0
67
-33
10
2
0
0
0
48
-43
-31
-24
0
0
0
39
-9
-68
-39
0
0
0
-18
89
-33
0
-1
0
0
-49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-39
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
7
-157
-74
-29
0
0
59
-15
-85
-31
35
8
0
45
-65
-56
-28
-5
0
0
-23
43
-14
-7
-22
0
0
-39
-31
23
-44
19
0
0
-8
-42
-67
-49
8
0
0
7
49
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-31
0
0
0
0
0
-25
-3
4
0
0
0
0
0
0
0
0
0
0
0
15
-18
12
3
0
0
0
49
9
-14
-49
-9
0
0
42
1
-37
-4
0
0
0
8
-96
-4
-27
-6
0
0
-4
19
-52
13
3
0
0
29
0
-46
4
0
0
0
63
-179
-10
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
8
0
0
0
0
0
78
-43
-1
0
0
0
0
38
-4
0
0
0
0
0
59
-1
0
0
0
0
0
-20
2
0
0
0
0
0
10
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-84
0
0
0
0
0
4
8
-97
7
4
0
0
32
18
11
-13
0
0
0
-105
48
-37
1
0
0
0
-58
127
-14
-3
0
0
0
70
-44
-2
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-28
-8
-1
0
0
21
0
0
0
0
0
0
-37
0
0
-1
0
0
0
-20
1
-4
3
0
0
0
-16
7
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-81
-113
3
-6
0
0
26
-49
-19
-129
-140
-47
0
12
-116
23
6
0
0
0
78
-41
-30
24
0
0
0
23
-58
-98
-85
6
0
0
-52
85
-79
-3
-10
0
0
-50
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-8
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
11
-63
-8
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-111
-89
86
-29
0
0
10
-105
-37
-27
131
44
0
32
-6
-65
99
-31
0
0
11
-33
31
19
24
0
0
-1
-93
-63
-114
120
5
0
11
-59
-84
7
-9
0
0
44
19
-44
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-23
-33
4
0
0
0
0
-18
-18
5
0
0
0
0
0
0
0
0
0
0
0
21
81
72
9
0
0
0
6
46
50
9
69
0
0
70
22
-75
5
0
0
0
55
-13
-50
22
0
0
0
30
-23
97
54
0
0
0
102
-110
79
-2
0
0
0
-22
18
-28
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-18
7
0
0
0
0
-9
100
-25
-1
0
0
0
41
11
-1
0
0
0
0
53
-1
-3
-1
0
0
0
-101
-28
0
0
0
0
0
31
3
0
0
0
0
0
-31
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
-51
-4
2
0
0
0
0
0
0
0
0
0
1
-2
-4
0
0
0
0
1
0
0
0
0
0
0
-60
1
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-111
12
0
0
0
0
-27
-8
-41
23
-18
5
0
-34
-33
21
-16
0
0
0
-7
4
-92
-5
0
0
0
-45
24
-33
-3
0
0
0
-34
-53
-3
0
0
0
0
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-10
-22
-16
0
0
0
-3
0
0
0
0
0
0
24
0
0
-1
0
0
0
-28
1
-4
3
0
0
0
-16
7
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-53
-5
3
-6
0
0
26
-42
-41
-61
-29
-39
0
-1
-21
19
6
0
0
0
44
-60
-13
41
0
0
0
11
17
-3
-64
6
0
0
75
-13
-66
-3
-10
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-1
0
0
0
0
0
2
0
0
0
0
0
0
-35
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
-31
-7
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-217
-50
1
-25
0
0
-6
-3
23
41
108
61
0
23
4
3
75
-13
0
0
47
24
-17
5
24
0
0
7
-24
-77
-76
84
5
0
16
-31
-86
-16
-19
0
0
70
15
-42
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-25
-24
4
0
0
0
0
-16
-31
5
0
0
0
0
0
0
0
0
0
0
0
-20
-53
28
14
0
0
0
20
3
36
98
56
0
0
27
45
26
12
0
0
0
15
84
-7
-8
0
0
0
12
15
83
53
0
0
0
109
-7
30
-2
0
0
0
-64
41
-31
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-19
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
4
8
0
0
0
0
-1
72
15
-3
0
0
0
0
2
-1
0
0
0
0
5
-4
-3
-1
0
0
0
-45
1
0
0
0
0
0
-42
3
0
0
0
0
0
20
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-8
-49
-3
2
0
0
0
0
0
0
0
0
0
2
-2
-4
0
0
0
0
1
0
0
0
0
0
0
12
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
2
-4
0
0
0
0
-29
28
79
-24
-25
5
0
-25
48
23
-19
0
0
0
-28
12
-13
-5
0
0
0
-58
-46
-8
-3
0
0
0
-84
-66
-5
0
0
0
0
-27
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-2
0
0
0
0
-13
-15
15
31
0
0
0
7
6
5
0
0
0
0
29
-13
-12
0
0
0
0
11
4
-10
0
0
0
0
5
-5
-1
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-83
-25
-6
0
0
0
12
96
-25
49
-3
0
0
-13
50
-2
-4
0
0
0
-17
-23
-14
8
-1
0
0
-42
62
-24
13
-2
0
0
54
8
-3
-1
0
0
0
4
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-41
-1
2
0
0
0
63
-8
-6
8
0
0
0
75
-35
15
0
0
0
0
-9
43
-1
0
0
0
0
-13
-14
5
0
0
0
0
-4
-14
0
0
0
0
0
-8
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-8
1
0
0
0
0
-30
7
12
0
0
0
0
7
4
0
0
0
0
0
7
9
0
0
0
0
0
-14
10
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
17
1
0
0
0
0
5
-18
33
-1
-1
0
0
-34
0
0
0
0
0
0
-11
33
8
0
0
0
0
-42
-22
0
1
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
-33
-12
-8
1
3
12
6
5
18
-44
-23
-6
-11
-17
-7
-21
-31
26
-25
-27
-15
-2
0
8
15
-5
-11
-46
-32
-33
-20
-11
-5
10
0
1
-24
-35
-24
-11
-11
0
-5
17
-7
-75
-42
-33
-26
-16
-11
-13
-35
22
-50
-77
17
-7
21
25
-33
23
-7
-31
-52
-13
12
3
-12
43
-1
-39
0
0
-6
0
0
0
0
0
0
13
0
-13
-8
-64
0
57
0
0
9
0
8
-8
0
6
0
1
35
38
97
52
0
154
0
0
-8
0
-8
-37
0
-2
0
12
-6
-50
26
-80
0
-50
0
0
-84
0
-77
95
0
-4
0
54
30
-4
64
23
0
155
0
0
-33
0
0
0
0
0
0
-88
38
-75
77
-11
0
-83
0
0
-94
1
-8
57
0
8
0
50
50
-39
35
84
0
44
0
0
20
0
12
-68
0
-1
0
-15
-36
-22
-22
-5
0
35
0
0
-12
0
-112
141
0
-67
0
-40
0
24
33
19
0
94
0
0
-15
0
0
0
0
0
0
6
59
-27
100
12
0
-56
0
0
-94
-1
-9
100
0
6
0
18
-70
12
-48
36
0
42
0
0
-10
0
2
-71
0
-1
0
15
47
-17
-86
-12
0
59
0
0
-26
0
-41
71
0
-59
0
0
34
14
41
-29
0
107
0
0
0
0
0
0
0
0
0
-5
26
1
-5
-4
0
6
0
0
-1
0
0
-1
0
0
0
23
21
0
-8
24
0
4
0
0
0
0
0
1
0
0
0
-8
-23
0
-18
0
0
-2
0
0
15
0
0
1
0
0
0
-17
15
-2
29
29
0
1
-24
24
49
26
4
11
48
-9
-71
1
31
-33
-52
4
0
-14
69
-44
-2
0
69
-50
-8
0
0
6
43
-3
97
-1
57
-8
60
5
0
5
78
-23
-13
0
63
-18
28
0
0
17
-25
-5
0
0
-5
1
41
49
0
71
-77
50
33
0
15
-33
49
3
0
-12
-30
8
0
0
8
0
0
0
0
2
29
52
3
0
7
50
37
2
0
-6
25
5
0
0
1
0
0
0
0
0
0
0
0
0
9
19
0
0
0
-25
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
27
-25
-32
0
72
17
8
-19
0
21
9
-94
-16
0
22
8
-8
0
0
7
-2
0
0
0
-10
-14
-21
9
0
38
11
67
23
0
44
20
-13
-4
0
5
21
0
0
0
23
-2
0
0
0
41
-60
49
0
0
2
-60
59
-1
0
53
5
13
0
0
25
-5
0
0
0
0
0
0
0
0
27
5
20
0
0
16
19
6
0
0
-15
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
88
6
1
0
47
45
35
0
0
23
-9
19
0
0
-2
-2
0
0
0
-1
0
0
0
0
-50
-32
8
0
0
-21
13
21
0
0
4
-13
8
0
0
10
10
0
0
0
0
0
0
0
0
42
30
-7
0
0
49
22
-8
0
0
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
24
4
0
0
0
-9
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
12
0
0
9
5
0
0
0
13
16
0
0
0
-5
0
0
0
0
0
0
0
0
0
76
16
0
0
0
20
4
0
0
0
13
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
15
9
0
0
0
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
52
53
14
0
52
-16
41
-16
0
11
21
31
2
0
1
70
-8
0
0
-1
0
0
0
0
54
7
-13
-18
0
50
0
-26
-22
0
26
18
-30
1
0
-3
-7
-3
0
0
0
0
0
0
0
113
-16
2
0
0
128
-5
-12
0
0
3
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
35
0
0
0
-13
17
0
0
0
-8
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-11
-41
-2
0
73
-42
-10
0
0
-14
-9
14
0
0
66
12
1
0
0
0
0
0
0
0
-8
-49
3
-1
0
-8
25
9
0
0
0
-5
7
0
0
22
4
0
0
0
0
0
0
0
0
-14
12
-4
0
0
5
16
0
0
0
-2
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
-20
8
0
0
0
-19
2
0
0
0
-12
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
14
-8
0
0
15
27
-3
0
0
14
6
0
0
0
17
0
0
0
0
0
0
0
0
0
30
19
-1
0
0
37
16
0
0
0
22
1
0
0
0
2
0
0
0
0
0
0
0
0
0
15
8
0
0
0
8
6
0
0
0
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
-27
-8
0
0
0
-13
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
4
-6
1
0
10
-7
-5
0
0
7
8
4
0
0
-4
2
0
0
0
0
0
0
0
0
19
-21
0
0
0
20
-25
1
0
0
32
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
17
17
0
0
0
-3
-10
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-26
-3
0
0
15
7
-1
0
0
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-3
0
0
0
-2
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
-37
-9
0
35
-62
-52
5
0
-2
79
-61
-8
0
-40
-22
-29
0
0
-26
-10
0
0
0
35
-7
5
8
0
64
11
7
-5
0
110
46
-31
-2
0
-23
-46
-8
0
0
-20
-7
0
0
0
13
24
10
1
0
-28
-16
14
0
0
20
3
8
0
0
-16
-16
0
0
0
0
0
0
0
0
36
-8
9
0
0
40
9
6
0
0
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
80
-51
20
0
19
-31
17
12
0
-22
98
-49
0
0
2
26
-1
0
0
0
0
0
0
0
91
-24
-46
4
0
5
-69
-26
0
0
-29
-50
-37
0
0
-30
-4
0
0
0
0
0
0
0
0
0
-42
17
0
0
-19
35
4
0
0
4
14
0
0
0
-4
0
0
0
0
0
0
0
0
0
13
1
0
0
0
-4
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
136
106
-18
0
0
8
30
-5
0
0
34
16
1
0
0
8
0
0
0
0
0
0
0
0
0
30
24
0
0
0
-18
-10
-6
0
0
-1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
12
1
0
0
0
-20
-7
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
-5
-10
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
16
99
-10
0
87
26
42
-1
0
109
34
-2
0
0
2
-1
0
0
0
0
0
0
0
0
95
-25
16
0
0
-23
-47
-9
0
0
55
-23
-13
0
0
10
0
0
0
0
0
0
0
0
0
-25
6
16
0
0
7
22
10
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-24
7
0
0
-51
28
3
0
0
7
13
-1
0
0
2
-1
0
0
0
0
0
0
0
0
28
25
6
0
0
-18
24
1
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
24
4
0
0
0
-1
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
-1
0
0
-15
6
0
0
0
9
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
-3
0
0
15
10
0
0
0
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
29
1
0
0
0
7
10
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
0
0
0
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
-31
-9
0
0
0
-10
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
54
49
0
0
11
27
25
0
0
58
-13
9
0
0
-46
-8
0
0
0
0
0
0
0
0
22
29
31
0
0
6
-1
22
0
0
25
-18
0
0
0
-42
-1
0
0
0
0
0
0
0
0
79
-35
3
0
0
45
-19
0
0
0
-25
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
0
0
0
5
0
0
0
0
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
-47
1
12
0
0
67
-29
13
0
0
13
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
-19
2
0
0
5
-8
1
0
0
-13
-8
0
0
0
-2
-1
0
0
0
0
0
0
0
0
17
-7
0
0
0
-2
6
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
0
0
0
9
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
0
0
6
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
33
2
0
0
-1
6
4
0
0
-5
17
0
0
0
9
2
0
0
0
0
0
0
0
0
34
-2
1
0
0
-44
5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
-8
-6
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
26
23
-18
7
15
-4
-11
46
33
2
-29
-1
0
22
-45
-43
-38
0
-2
34
-8
0
0
8
23
-7
25
-54
16
-1
-17
45
0
-10
-4
26
-48
-2
-60
32
1
-15
0
-4
-7
-7
0
0
-6
-30
-72
87
0
27
-27
108
13
0
-19
15
-42
65
0
-57
-4
61
-1
0
22
-13
0
0
0
-10
-3
12
13
0
-28
39
93
5
0
-46
-21
33
0
0
-22
-33
0
0
0
-1
0
0
0
0
-25
7
-2
0
0
-15
-8
3
0
0
45
14
0
0
0
0
0
0
0
0
0
0
0
0
0
4
21
-42
-2
-3
22
-15
-17
65
1
14
-20
30
68
0
5
-22
64
5
0
-15
23
1
0
0
5
-1
-21
-58
0
35
-24
46
24
0
-38
37
-60
-40
0
-4
20
5
-1
0
26
-19
0
0
0
0
3
4
-51
0
-26
35
52
-78
0
51
39
-32
-4
0
32
-4
-1
0
0
128
-1
0
0
0
18
-38
-45
0
0
51
40
32
1
0
-14
48
-10
0
0
-18
-5
0
0
0
0
0
0
0
0
1
78
0
0
0
0
14
0
0
0
27
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-37
-9
-45
0
10
15
62
10
0
-17
-52
59
11
0
-64
8
30
0
0
65
1
0
0
0
-12
24
50
33
0
0
49
-1
53
0
-17
22
-26
-3
0
5
90
42
0
0
-1
-5
0
0
0
-35
-81
14
8
0
23
-51
-23
2
0
-109
-93
-51
0
0
54
3
-5
0
0
2
0
0
0
0
-22
-20
38
0
0
-13
49
61
0
0
3
-8
1
0
0
3
-1
0
0
0
0
0
0
0
0
-34
0
0
0
0
-15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-37
-57
0
0
-49
2
-83
0
0
-65
59
-50
0
0
-65
-31
-1
0
0
0
0
0
0
0
4
24
-109
0
0
-8
14
-42
0
0
-28
39
-5
0
0
-49
-2
0
0
0
0
0
0
0
0
-23
119
7
0
0
37
26
8
0
0
-58
-25
10
0
0
-12
-2
0
0
0
0
0
0
0
0
-40
3
0
0
0
-22
0
0
0
0
-7
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
13
0
0
0
-6
3
0
0
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
45
56
0
0
0
10
44
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
44
0
0
0
29
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
48
-21
37
1
31
11
19
-54
0
8
-27
32
-15
0
-34
-2
-6
-1
0
27
3
0
0
0
40
-16
-14
-32
0
36
-15
44
-13
0
19
-56
-22
-9
0
13
-95
-41
0
0
29
-5
0
0
0
18
-67
1
6
0
9
9
-57
2
0
-34
-62
-29
0
0
70
36
-2
0
0
-8
0
0
0
0
28
69
-60
0
0
-86
53
-16
0
0
103
-44
-5
0
0
4
0
0
0
0
0
0
0
0
0
-31
-31
0
0
0
-12
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-10
-51
-1
0
21
-9
-73
-44
0
-10
18
-28
-25
0
-21
-84
-22
0
0
-50
-2
0
0
0
16
-45
30
-13
0
-36
-67
27
-15
0
26
7
-6
-4
0
22
-4
-13
0
0
1
-1
0
0
0
-63
59
-13
-4
0
65
24
-15
-1
0
9
22
2
0
0
1
22
-2
0
0
0
0
0
0
0
10
-32
-58
0
0
-16
-6
-6
0
0
27
-17
0
0
0
-5
1
0
0
0
0
0
0
0
0
3
-1
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
27
85
-4
0
8
50
-32
-2
0
8
42
12
0
0
11
-46
-8
0
0
0
0
0
0
0
-54
-29
26
-5
0
-20
58
18
-2
0
25
24
-28
0
0
21
-8
-5
0
0
0
0
0
0
0
-42
-7
42
0
0
-16
-37
19
0
0
32
33
-5
0
0
32
2
0
0
0
0
0
0
0
0
-43
-45
0
0
0
7
4
0
0
0
20
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-13
-1
0
0
-52
34
-25
0
0
40
12
-7
0
0
9
0
0
0
0
0
0
0
0
0
17
22
-31
0
0
-14
4
-12
0
0
4
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-22
31
-1
0
0
13
6
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
1
0
0
0
-24
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-5
0
0
0
-27
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
-13
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-48
-3
0
-35
6
-16
-5
0
-23
4
3
0
0
-7
19
3
0
0
1
0
0
0
0
-17
30
-5
-1
0
51
38
17
0
0
114
-13
-5
0
0
-13
2
0
0
0
0
0
0
0
0
-40
96
-2
0
0
-47
-54
0
0
0
42
-41
0
0
0
-4
0
0
0
0
0
0
0
0
0
14
-8
0
0
0
27
-9
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-17
70
0
0
84
4
19
0
0
-95
23
-5
0
0
-1
1
0
0
0
0
0
0
0
0
-66
43
34
0
0
-1
14
-5
0
0
-24
0
-6
0
0
18
2
0
0
0
0
0
0
0
0
-20
-32
7
0
0
-66
-18
2
0
0
18
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
4
-4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-29
-9
0
0
43
-6
-3
0
0
5
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
59
49
-1
0
0
83
42
1
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
27
25
0
0
0
-19
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-3
0
0
0
-9
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
13
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
35
-1
-38
-1
12
-5
-18
-65
0
-3
-1
34
22
0
-36
24
47
-16
0
-35
-46
-16
0
0
13
15
-5
1
-6
41
-22
-50
-46
0
-19
-17
-38
31
0
39
40
-31
1
0
-1
-10
0
0
0
8
-23
3
-19
0
-19
19
-56
-2
0
-17
-21
-66
16
0
56
13
6
0
0
-25
-1
0
0
0
-37
25
13
3
0
23
-44
14
0
0
-30
44
6
0
0
53
1
0
0
0
0
0
0
0
0
42
-2
-2
0
0
-7
0
0
0
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-9
-1
14
0
33
10
19
9
0
23
-7
10
19
0
-8
-3
23
0
0
-9
7
0
0
0
-12
-26
11
-78
0
-13
-28
33
1
0
-26
15
-46
4
0
-76
28
-8
0
0
5
7
0
0
0
-21
-18
23
-18
0
-48
-53
-80
4
0
-20
-78
-50
0
0
-33
17
0
0
0
1
0
0
0
0
8
13
-33
0
0
-95
-23
-34
0
0
47
75
0
0
0
-7
-3
0
0
0
0
0
0
0
0
6
8
0
0
0
-5
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-69
-39
0
23
-6
-92
-5
0
22
-29
-11
0
0
-13
-62
-1
0
0
1
0
0
0
0
-8
43
79
-5
0
-18
-6
-26
3
0
-59
-12
-47
0
0
-27
-43
0
0
0
1
0
0
0
0
-39
-3
34
1
0
62
-13
9
0
0
-17
12
-2
0
0
-6
-2
0
0
0
0
0
0
0
0
9
-36
8
0
0
-5
16
3
0
0
-33
8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
58
16
0
0
-27
-44
5
0
0
-43
58
4
0
0
-23
-1
0
0
0
0
0
0
0
0
35
10
-38
0
0
-51
-52
-8
0
0
-14
2
0
0
0
-5
-1
0
0
0
0
0
0
0
0
-37
-42
0
0
0
16
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
-22
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-9
0
0
0
-2
-12
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
0
0
0
5
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-15
21
-8
0
27
-37
-13
-35
0
17
-33
13
2
0
19
99
7
0
0
22
0
0
0
0
12
-37
55
-11
0
-54
-5
-7
-13
0
58
-4
54
1
0
40
-39
13
0
0
6
0
0
0
0
-27
30
-8
0
0
35
61
-5
0
0
54
76
-15
0
0
13
6
0
0
0
0
0
0
0
0
36
29
-6
0
0
28
-17
0
0
0
16
-6
0
0
0
-2
0
0
0
0
0
0
0
0
0
-27
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-66
-36
3
0
-19
28
-81
-5
0
35
-14
-51
0
0
29
-40
2
0
0
-1
0
0
0
0
-41
20
-36
-1
0
-61
63
-62
0
0
-35
13
-3
0
0
-26
-51
3
0
0
1
0
0
0
0
-15
1
-74
0
0
37
-32
-21
0
0
29
-14
-1
0
0
14
0
0
0
0
0
0
0
0
0
8
-5
2
0
0
-26
-6
0
0
0
56
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-8
-13
0
0
-4
31
5
0
0
-10
18
-3
0
0
18
2
0
0
0
0
0
0
0
0
62
78
-25
0
0
77
29
5
0
0
11
1
-1
0
0
-23
0
0
0
0
0
0
0
0
0
-37
14
-6
0
0
15
3
-4
0
0
-10
6
0
0
0
-8
0
0
0
0
0
0
0
0
0
-7
-13
0
0
0
15
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-4
-2
0
0
1
5
-2
0
0
53
0
0
0
0
2
0
0
0
0
0
0
0
0
0
11
41
-1
0
0
30
6
0
0
0
18
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
12
0
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
50
-36
0
0
-84
-1
-12
0
0
17
-45
-5
0
0
44
1
0
0
0
0
0
0
0
0
-13
-26
-17
0
0
25
-14
-15
0
0
-58
-79
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-59
-8
-5
0
0
-16
-13
-6
0
0
-21
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
31
0
0
15
9
-5
0
0
45
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
-54
0
-8
0
0
-27
-19
-9
0
0
-28
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
33
-29
0
0
0
-34
-5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
10
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
0
0
0
9
6
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
25
0
0
0
43
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-33
-12
13
0
19
6
77
8
0
-13
-37
5
0
0
-44
14
-1
0
0
0
0
0
0
0
10
-29
40
2
0
34
5
16
0
0
-9
-9
-16
0
0
41
32
0
0
0
4
0
0
0
0
-25
-3
-2
0
0
-11
-5
-5
0
0
-32
-14
-2
0
0
-109
3
0
0
0
0
0
0
0
0
-44
-58
0
0
0
-45
5
0
0
0
-5
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-22
27
0
0
-47
-17
7
0
0
-35
28
-27
0
0
57
9
0
0
0
0
0
0
0
0
2
42
48
0
0
-18
42
41
0
0
38
47
0
0
0
29
4
0
0
0
0
0
0
0
0
-27
107
7
0
0
-8
74
1
0
0
48
41
0
0
0
1
1
0
0
0
0
0
0
0
0
1
-28
0
0
0
-45
9
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-47
31
0
0
-41
-70
0
0
0
62
-47
0
0
0
42
0
0
0
0
0
0
0
0
0
-58
5
-1
0
0
28
-10
2
0
0
-12
-35
0
0
0
9
0
0
0
0
0
0
0
0
0
13
4
0
0
0
1
5
0
0
0
14
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-24
-4
0
0
0
-20
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
17
0
0
0
-30
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
23
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
6
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
83
20
0
0
-10
-13
-5
0
0
51
57
-5
0
0
2
-1
0
0
0
0
0
0
0
0
71
30
-14
0
0
-61
-19
-42
0
0
-31
32
0
0
0
20
-3
0
0
0
0
0
0
0
0
8
-8
0
0
0
-4
-10
0
0
0
25
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
22
5
0
0
0
-9
5
0
0
0
-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
6
29
8
0
0
1
19
0
0
0
23
6
0
0
0
-56
0
0
0
0
0
0
0
0
0
-23
-8
-2
0
0
57
31
0
0
0
-7
8
0
0
0
1
0
0
0
0
0
0
0
0
0
23
-8
0
0
0
36
-17
0
0
0
12
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
23
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
10
0
0
0
22
31
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
0
0
0
52
7
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
-24
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-5
0
0
0
13
0
0
0
0
51
0
0
0
0
4
0
0
0
0
0
0
0
0
0
48
2
0
0
0
35
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
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
20
0
0
0
0
-21
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
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
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-20
-41
-38
1
-1
-4
29
14
-9
-17
-38
-12
0
-14
-42
-17
-11
0
-63
2
-10
0
0
1
-5
-7
35
-13
-2
-9
-36
31
2
10
7
38
-42
-2
-2
-4
-21
34
0
-94
-43
-7
0
0
-16
-24
-57
11
0
-16
18
98
-54
0
-28
41
-23
22
0
-10
0
6
-1
0
-16
-15
0
0
0
-17
-37
-20
8
0
-55
-20
59
-1
0
-22
-74
17
0
0
85
3
-1
0
0
-1
0
0
0
0
-65
-60
-2
0
0
7
-55
3
0
0
68
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
4
6
-56
17
-15
14
-9
-12
37
1
-24
44
53
28
0
-60
37
37
1
0
21
42
1
0
0
-2
1
29
11
0
15
10
7
43
0
1
15
-6
-38
0
-25
-16
-18
-1
0
28
-9
0
0
0
6
-1
19
-7
0
1
9
-13
-86
0
5
0
-76
-22
0
-79
31
7
0
0
87
-1
0
0
0
-25
3
-27
-15
0
-19
-43
10
1
0
11
51
9
0
0
5
50
0
0
0
0
0
0
0
0
-55
93
0
0
0
2
19
0
0
0
22
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-37
-111
-40
0
2
-15
11
31
0
7
15
33
5
0
4
-67
-30
0
0
133
1
0
0
0
-6
-4
23
73
0
-9
4
4
64
0
7
12
-11
0
0
2
7
0
0
0
6
-5
0
0
0
-28
16
10
10
0
15
-32
18
2
0
-40
-43
-7
0
0
59
36
-5
0
0
2
0
0
0
0
11
44
31
0
0
10
58
73
0
0
20
14
1
0
0
-3
-1
0
0
0
0
0
0
0
0
-71
-3
0
0
0
-45
-4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-65
-17
0
0
31
22
-9
0
0
-5
-4
-3
0
0
-14
-28
-1
0
0
0
0
0
0
0
-39
-42
-49
0
0
-28
19
38
0
0
-9
-32
29
0
0
-38
-8
0
0
0
0
0
0
0
0
-1
11
9
0
0
4
-36
12
0
0
-75
-52
10
0
0
-15
-2
0
0
0
0
0
0
0
0
32
17
0
0
0
5
0
0
0
0
6
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-26
0
0
0
-62
-10
0
0
0
40
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
99
68
0
0
0
-12
45
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
15
0
0
0
-24
-12
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
21
-4
2
1
18
-11
-15
-13
0
-2
2
-16
-15
0
43
16
14
-1
0
10
-29
0
0
0
20
0
-5
-49
0
14
29
-31
-5
0
-16
6
60
-15
0
20
-57
-13
0
0
36
-6
0
0
0
-13
32
-6
30
0
-25
-51
-57
27
0
22
-35
17
0
0
22
50
-5
0
0
8
0
0
0
0
-19
5
-78
0
0
-22
14
-46
0
0
39
-53
-5
0
0
-24
0
0
0
0
0
0
0
0
0
-30
-28
0
0
0
23
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
33
36
0
10
-23
39
9
0
-16
38
8
-5
0
-2
20
5
0
0
-66
-2
0
0
0
-2
-4
36
-1
0
-19
-33
8
13
0
-3
-42
14
4
0
8
16
-3
0
0
5
-1
0
0
0
-42
5
5
25
0
64
3
8
-1
0
34
9
14
0
0
-9
32
-2
0
0
0
0
0
0
0
-43
-76
-98
0
0
-48
-67
-8
0
0
42
-11
0
0
0
-10
1
0
0
0
0
0
0
0
0
-6
8
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-31
6
-4
0
20
-18
-51
-4
0
-66
7
8
0
0
11
-41
-7
0
0
0
0
0
0
0
23
28
11
-5
0
-5
62
-21
-2
0
-50
-31
-43
0
0
-3
-17
-5
0
0
0
0
0
0
0
5
-3
10
0
0
6
-38
18
0
0
24
50
-5
0
0
31
2
0
0
0
0
0
0
0
0
-111
-27
0
0
0
24
12
0
0
0
24
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-33
-9
0
0
-32
-41
-28
0
0
48
-7
-7
0
0
1
0
0
0
0
0
0
0
0
0
74
39
-31
0
0
-70
-4
-13
0
0
-5
-13
-6
0
0
-9
0
0
0
0
0
0
0
0
0
-31
31
-1
0
0
-15
5
0
0
0
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
4
0
0
0
-25
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
0
0
-51
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
12
0
0
0
-23
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-38
5
-3
0
-26
2
33
-5
0
-23
-3
3
0
0
12
11
3
0
0
1
0
0
0
0
-28
-59
-12
-1
0
-1
27
12
0
0
28
-80
-12
0
0
-36
-19
0
0
0
0
0
0
0
0
-110
69
6
0
0
-25
-5
2
0
0
55
-34
0
0
0
-10
0
0
0
0
0
0
0
0
0
45
2
0
0
0
43
-10
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
-57
79
0
0
29
-33
-4
0
0
-11
-16
-15
0
0
-15
-13
0
0
0
0
0
0
0
0
-41
10
27
0
0
6
-14
-26
0
0
-18
-47
-6
0
0
-8
0
0
0
0
0
0
0
0
0
13
-14
7
0
0
29
-2
2
0
0
41
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
4
-4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
8
-16
0
0
-45
-16
-19
0
0
-18
-43
0
0
0
-15
0
0
0
0
0
0
0
0
0
74
127
-1
0
0
-3
44
1
0
0
-33
-12
0
0
0
-1
0
0
0
0
0
0
0
0
0
20
57
0
0
0
-18
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
-30
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
0
0
0
6
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
21
10
36
-2
-2
-2
57
13
0
12
-27
12
31
0
-66
46
-15
-3
0
5
7
-16
0
0
-5
-15
-4
50
-6
7
-5
21
13
0
9
-5
24
31
0
53
-18
-30
1
0
-27
-3
0
0
0
-3
18
22
9
0
6
14
-5
22
0
-34
71
-5
21
0
3
-2
-15
0
0
-24
-1
0
0
0
-52
-22
14
3
0
74
-103
-26
0
0
-47
-13
-13
0
0
29
25
0
0
0
0
0
0
0
0
-31
-3
-2
0
0
-30
-8
0
0
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-14
-8
15
0
16
-9
-18
6
0
27
-1
-1
6
0
-9
-43
-32
0
0
-19
9
0
0
0
3
-16
-28
-41
0
2
2
-43
11
0
-7
-3
-12
-3
0
44
-5
-18
0
0
-4
7
0
0
0
-10
38
41
13
0
-25
-53
-37
5
0
-5
-59
-49
0
0
-24
18
0
0
0
1
0
0
0
0
9
89
28
0
0
-15
-16
-30
0
0
82
79
0
0
0
-14
-3
0
0
0
0
0
0
0
0
-30
16
0
0
0
4
4
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
-15
-28
0
-31
38
-11
-17
0
12
-10
-9
0
0
31
-112
-1
0
0
1
0
0
0
0
-26
-28
83
-5
0
27
11
10
-4
0
-53
-10
-62
0
0
-9
-70
0
0
0
1
0
0
0
0
-4
-41
33
1
0
22
-43
45
0
0
26
16
-2
0
0
-10
-3
0
0
0
0
0
0
0
0
3
-54
5
0
0
-1
-10
3
0
0
-12
25
0
0
0
3
0
0
0
0
0
0
0
0
0
-16
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
55
31
0
0
3
68
57
0
0
-45
77
4
0
0
12
-1
0
0
0
0
0
0
0
0
75
-3
-22
0
0
4
1
32
0
0
-34
4
0
0
0
13
-1
0
0
0
0
0
0
0
0
40
-12
0
0
0
-28
-23
0
0
0
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
27
2
0
0
0
-31
0
0
0
0
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
-15
-44
0
0
0
-3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-5
0
0
0
15
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
27
-11
49
0
31
-43
-21
8
0
-43
-5
-45
2
0
-71
69
25
0
0
-7
0
0
0
0
12
-9
50
11
0
-25
-22
-46
-1
0
-31
6
71
1
0
5
-53
17
0
0
5
0
0
0
0
-40
-4
-23
0
0
4
13
-42
0
0
31
50
-22
0
0
-20
1
0
0
0
0
0
0
0
0
6
2
-27
0
0
-7
-70
-5
0
0
-3
-16
0
0
0
-2
0
0
0
0
0
0
0
0
0
-21
4
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
47
12
0
-36
-6
-62
-2
0
-15
-13
-5
0
0
-23
-23
4
0
0
-4
0
0
0
0
2
-18
-14
-8
0
-26
12
-89
0
0
-16
-1
18
0
0
-45
-48
3
0
0
1
0
0
0
0
-40
-2
-111
0
0
-14
-25
-67
0
0
75
6
-1
0
0
7
0
0
0
0
0
0
0
0
0
15
-13
2
0
0
-18
-31
0
0
0
73
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
25
9
0
0
23
103
31
0
0
6
60
-2
0
0
0
16
0
0
0
0
0
0
0
0
-24
5
12
0
0
24
13
20
0
0
-27
-11
-1
0
0
-40
4
0
0
0
0
0
0
0
0
-2
1
-8
0
0
5
-20
-4
0
0
-19
5
0
0
0
-7
0
0
0
0
0
0
0
0
0
12
-16
0
0
0
23
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
23
-2
0
0
-19
3
-2
0
0
51
2
0
0
0
2
0
0
0
0
0
0
0
0
0
-18
52
-1
0
0
-5
9
0
0
0
6
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-20
1
0
0
0
10
0
0
0
0
13
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
28
-29
0
0
-49
-10
-9
0
0
24
-56
-5
0
0
44
1
0
0
0
0
0
0
0
0
14
-6
-9
0
0
33
3
-13
0
0
-52
-71
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-76
-12
-5
0
0
-16
12
-6
0
0
-56
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
4
1
0
0
0
-4
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
27
48
0
0
22
13
-7
0
0
27
-12
0
0
0
2
0
0
0
0
0
0
0
0
0
-57
-8
-8
0
0
-46
-29
-9
0
0
-55
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
-28
-34
0
0
0
-49
-6
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
8
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
44
0
0
0
9
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
34
0
0
0
25
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
0
0
0
-9
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
19
-93
-24
0
-18
19
-31
0
0
22
23
6
0
0
-63
31
-1
0
0
1
0
0
0
0
-13
73
42
4
0
-15
-54
-9
0
0
-6
-72
-26
0
0
39
41
0
0
0
4
0
0
0
0
-9
-42
-46
0
0
-63
-8
-9
0
0
-57
-30
-2
0
0
-48
3
0
0
0
0
0
0
0
0
-48
-47
-2
0
0
38
15
0
0
0
-21
5
0
0
0
-6
0
0
0
0
0
0
0
0
0
22
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
4
5
0
19
-36
-21
0
0
-10
6
-26
0
0
23
5
0
0
0
0
0
0
0
0
-58
41
37
0
0
-17
-28
15
0
0
8
1
0
0
0
39
13
0
0
0
0
0
0
0
0
-43
67
-25
0
0
30
50
1
0
0
-8
17
0
0
0
16
1
0
0
0
0
0
0
0
0
-23
-26
0
0
0
-6
7
0
0
0
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
48
41
0
0
26
-68
-3
0
0
81
-49
0
0
0
41
0
0
0
0
0
0
0
0
0
3
31
5
0
0
31
-43
2
0
0
-18
-59
0
0
0
15
0
0
0
0
0
0
0
0
0
31
-30
0
0
0
-8
-52
0
0
0
23
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-21
-4
0
0
0
-12
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
20
0
0
0
-65
-8
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
10
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
-8
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-23
-5
0
0
26
-10
-33
0
0
30
44
-5
0
0
-55
-3
0
0
0
0
0
0
0
0
1
48
-21
0
0
-9
-17
-42
0
0
-14
17
0
0
0
-5
-3
0
0
0
0
0
0
0
0
14
-30
-1
0
0
22
-28
0
0
0
30
-4
0
0
0
-7
0
0
0
0
0
0
0
0
0
23
3
0
0
0
-24
5
0
0
0
-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
-14
77
-12
0
0
7
-1
-2
0
0
24
-7
0
0
0
-83
0
0
0
0
0
0
0
0
0
-13
-14
-15
0
0
51
1
0
0
0
-8
-2
0
0
0
-18
0
0
0
0
0
0
0
0
0
43
-25
0
0
0
49
-17
0
0
0
7
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
31
0
0
0
6
14
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-5
0
0
0
34
-4
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
-16
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-9
0
0
0
-25
-2
0
0
0
58
0
0
0
0
4
0
0
0
0
0
0
0
0
0
33
-4
0
0
0
34
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
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
25
-2
0
0
0
-8
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
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
-27
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-10
-18
-53
0
-12
-8
-59
-4
1
-47
-12
12
17
0
-30
-65
-5
-3
0
-26
-5
0
0
0
-1
-36
10
-14
-1
-2
-17
-36
9
0
-10
-42
10
4
0
-42
-23
-7
-2
0
-20
-16
0
0
0
-44
-20
-10
-50
0
-5
4
-26
-31
0
-44
-4
-4
1
0
-3
-13
-18
0
0
2
-6
0
0
0
-50
46
-9
-1
0
-43
1
-1
0
0
-2
-26
-9
0
0
-22
13
0
0
0
0
0
0
0
0
-122
-66
0
0
0
-40
-44
0
0
0
-8
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
37
-13
-51
-90
0
-21
-22
-61
-28
0
-45
-1
31
4
0
-3
28
-5
0
0
-5
-4
0
0
0
-9
-6
-1
-38
0
-19
-1
14
-17
0
10
-17
17
-2
0
41
5
-10
0
0
15
-1
0
0
0
-22
-31
-11
-25
0
-19
-32
-9
-5
0
-10
-27
-14
1
0
-43
-19
-3
0
0
8
0
0
0
0
-15
43
1
-1
0
30
-16
-9
0
0
-5
-16
-6
0
0
-33
3
0
0
0
0
0
0
0
0
-75
-22
0
0
0
-10
-20
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
5
-7
0
-64
11
38
8
0
-4
-38
29
4
0
-93
-14
-5
0
0
20
2
0
0
0
16
41
13
8
0
-57
13
15
13
0
5
-60
-8
1
0
-58
-9
-3
0
0
10
0
0
0
0
-24
63
19
-3
0
17
25
1
-2
0
56
4
-3
0
0
-20
9
-1
0
0
0
0
0
0
0
-23
50
8
0
0
16
34
7
0
0
2
-13
0
0
0
-3
1
0
0
0
0
0
0
0
0
-24
-6
0
0
0
1
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-37
21
0
0
-4
17
35
0
0
35
-45
-8
0
0
40
-12
0
0
0
0
0
0
0
0
8
-17
-8
0
0
14
-9
18
0
0
1
-55
2
0
0
-5
-6
0
0
0
0
0
0
0
0
-16
-52
6
0
0
14
-46
7
0
0
29
-42
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
0
0
10
2
0
0
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
40
0
0
0
6
14
0
0
0
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
0
0
0
21
17
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
0
0
0
-15
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-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
-82
-22
-15
-58
0
1
16
39
-4
0
28
12
-6
7
0
42
-30
19
0
0
-21
-4
0
0
0
-32
-89
-5
-42
0
30
15
18
-15
0
25
32
15
1
0
13
-36
10
0
0
1
-3
0
0
0
-7
-73
14
-13
0
11
-19
20
-2
0
17
18
-15
0
0
-2
7
-3
0
0
-2
0
0
0
0
-40
-5
-8
0
0
-6
15
0
0
0
-31
-42
-3
0
0
-5
2
0
0
0
0
0
0
0
0
-40
-12
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-5
-42
0
-7
15
-19
-10
0
-29
18
19
-1
0
-22
-6
8
0
0
-7
-2
0
0
0
-13
-18
7
-31
0
15
26
0
-19
0
28
26
4
-2
0
27
-1
2
0
0
1
-2
0
0
0
-10
-47
1
-4
0
16
-9
-5
0
0
21
21
-9
0
0
11
5
-1
0
0
0
0
0
0
0
-50
-2
-6
0
0
11
29
-3
0
0
11
-25
0
0
0
4
2
0
0
0
0
0
0
0
0
-13
-1
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-64
-6
-12
0
-6
4
9
-3
0
-13
2
-4
0
0
-30
-2
-1
0
0
0
0
0
0
0
-29
-27
3
-4
0
-20
-5
5
0
0
-1
-15
-16
0
0
-25
1
-1
0
0
0
0
0
0
0
45
23
7
0
0
-22
8
1
0
0
29
18
-2
0
0
9
3
0
0
0
0
0
0
0
0
-16
30
0
0
0
25
34
0
0
0
4
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-15
-5
0
0
-4
-7
8
0
0
-25
-17
-5
0
0
-3
0
0
0
0
0
0
0
0
0
54
-6
-12
0
0
2
-1
-4
0
0
-25
-20
-4
0
0
-2
0
0
0
0
0
0
0
0
0
22
12
0
0
0
2
5
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
-10
0
0
0
0
-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
-3
2
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
9
-2
0
9
39
12
0
0
-15
9
-2
0
0
-3
-1
0
0
0
0
0
0
0
0
-99
6
10
0
0
-25
58
10
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
4
0
0
29
7
1
0
0
27
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
14
-10
0
0
0
23
-3
0
0
0
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
3
-16
3
0
0
-45
-31
3
0
0
-21
-9
-2
0
0
-3
0
0
0
0
0
0
0
0
0
20
18
8
0
0
-9
12
0
0
0
-6
-10
0
0
0
-3
0
0
0
0
0
0
0
0
0
20
1
2
0
0
22
-5
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
5
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-13
1
0
0
-12
-21
1
0
0
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
7
1
0
0
-38
13
2
0
0
-39
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
12
0
0
0
-15
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-14
5
-8
2
-2
14
25
15
0
-29
13
-13
9
0
-25
-35
-5
0
0
-5
-5
0
0
0
-2
-17
-41
19
0
49
28
-19
17
0
-6
21
12
4
0
31
-3
12
0
0
-6
-4
0
0
0
-37
56
-15
7
0
4
1
-29
7
0
-43
-20
-1
5
0
-20
-16
-3
0
0
-2
0
0
0
0
-40
-13
18
0
0
-34
23
14
0
0
-9
-8
0
0
0
-27
-1
0
0
0
0
0
0
0
0
-31
-22
0
0
0
-2
-6
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
33
-56
-34
0
7
1
-27
-15
0
9
-14
-7
-1
0
-1
-45
-15
0
0
-12
-4
0
0
0
28
33
-26
-16
0
14
0
3
-5
0
1
8
1
0
0
28
-19
1
0
0
0
-2
0
0
0
-5
-9
-21
3
0
-13
-48
-9
1
0
-59
-49
-7
0
0
2
-9
0
0
0
0
0
0
0
0
24
9
14
0
0
-8
28
1
0
0
17
4
-1
0
0
-28
-2
0
0
0
0
0
0
0
0
-8
-5
0
0
0
6
-2
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-42
51
-1
0
-11
61
42
2
0
-16
-7
9
0
0
4
0
0
0
0
0
0
0
0
0
36
-36
5
1
0
-17
33
8
1
0
-24
-6
-24
0
0
15
1
0
0
0
0
0
0
0
0
-101
-32
14
0
0
-13
-8
5
0
0
-10
-15
-2
0
0
-9
-2
0
0
0
0
0
0
0
0
-81
-30
1
0
0
-36
2
0
0
0
-5
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-8
13
0
0
-49
-5
19
0
0
-10
-4
0
0
0
16
-2
0
0
0
0
0
0
0
0
49
26
-6
0
0
22
19
2
0
0
-21
-13
0
0
0
5
-2
0
0
0
0
0
0
0
0
48
-4
0
0
0
-4
-9
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
-17
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
0
0
0
16
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
29
-3
-15
0
27
6
17
9
0
-38
55
8
-1
0
-9
-5
4
0
0
-3
0
0
0
0
31
19
-5
-7
0
39
31
-4
2
0
-23
93
44
0
0
7
-1
4
0
0
0
-1
0
0
0
-41
3
-16
0
0
-7
31
-10
0
0
6
24
-3
0
0
5
-1
0
0
0
0
0
0
0
0
-26
-15
-2
0
0
-20
-1
0
0
0
-41
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
-10
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
9
-10
0
2
16
40
-1
0
17
34
34
0
0
-2
-28
3
0
0
-2
0
0
0
0
29
30
13
-2
0
15
16
4
0
0
7
34
29
0
0
13
-22
5
0
0
0
0
0
0
0
8
42
-17
0
0
17
25
-7
0
0
20
12
0
0
0
5
0
0
0
0
0
0
0
0
0
-8
-19
0
0
0
1
-2
0
0
0
5
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-26
1
0
0
35
-3
2
0
0
18
8
0
0
0
12
2
0
0
0
0
0
0
0
0
-7
-49
-4
0
0
1
-34
-4
0
0
-12
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
18
-5
-2
0
0
-3
-2
-1
0
0
5
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
7
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-1
0
0
1
-4
0
0
0
7
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
20
13
0
0
0
13
6
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
31
0
0
0
0
6
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-26
-6
0
0
-31
-22
-1
0
0
-24
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
2
-8
-5
0
0
15
-5
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
15
-12
-1
0
0
6
2
0
0
0
1
0
0
0
0
0
0
0
0
0
8
-4
0
0
0
13
-6
-2
0
0
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
34
-2
0
0
0
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
-2
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
0
0
0
2
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
-13
-70
0
0
2
-33
-18
0
0
13
-26
2
0
0
8
-16
0
0
0
2
0
0
0
0
-60
-8
-47
0
0
-24
3
-7
0
0
14
9
-1
0
0
3
-4
0
0
0
0
0
0
0
0
38
-22
-27
0
0
-2
-12
-1
0
0
-21
-4
0
0
0
8
0
0
0
0
0
0
0
0
0
-23
-27
0
0
0
-5
-8
0
0
0
-5
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
-18
-46
0
0
-4
-41
-10
0
0
30
-29
-5
0
0
8
-3
0
0
0
0
0
0
0
0
-76
-24
-19
0
0
13
-28
6
0
0
11
-3
-1
0
0
8
1
0
0
0
0
0
0
0
0
22
-16
-7
0
0
-6
-23
0
0
0
-12
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
-22
-31
0
0
0
-22
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
36
-7
0
0
29
6
0
0
0
41
-25
0
0
0
-4
0
0
0
0
0
0
0
0
0
-22
9
1
0
0
-22
2
0
0
0
-14
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
0
0
-35
-3
0
0
0
-10
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-24
-6
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
0
0
-4
7
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-30
-6
0
0
3
-7
0
0
0
-31
-21
-1
0
0
-31
-2
0
0
0
0
0
0
0
0
33
-12
-4
0
0
-7
-12
1
0
0
-13
7
0
0
0
-7
0
0
0
0
0
0
0
0
0
3
-10
0
0
0
8
-1
0
0
0
4
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
29
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
10
2
0
0
-22
-5
0
0
0
-5
-13
0
0
0
-6
0
0
0
0
0
0
0
0
0
31
-13
-2
0
0
-6
-19
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
12
2
0
0
0
2
-2
0
0
0
4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
29
0
0
0
0
-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
41
34
0
0
0
42
31
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
10
0
0
0
-1
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-20
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
13
2
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
0
0
13
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
37
33
12
0
1
22
25
-5
0
36
-69
5
7
0
44
70
8
0
0
-8
-2
0
0
0
32
-117
13
-31
0
-13
67
21
-13
0
85
48
-14
-4
0
-19
18
16
0
0
-6
0
0
0
0
16
15
-3
1
0
-53
10
-3
-1
0
-25
6
4
0
0
-2
6
0
0
0
0
0
0
0
0
-1
31
-3
0
0
-23
16
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-17
11
-5
0
63
-8
-9
8
0
-18
40
-15
0
0
19
-2
1
0
0
-2
0
0
0
0
95
25
-2
-10
0
-7
23
20
0
0
13
32
-8
0
0
9
6
0
0
0
0
0
0
0
0
3
-12
-1
0
0
-22
-15
-3
0
0
-10
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
-32
-2
1
0
69
20
-4
0
0
-2
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
-18
-6
-7
0
0
-8
5
-2
0
0
-19
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
25
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
23
5
0
-38
-45
21
3
0
48
-13
-14
0
0
-2
-13
0
0
0
0
0
0
0
0
-1
44
29
1
0
58
20
16
0
0
1
6
-2
0
0
4
0
0
0
0
0
0
0
0
0
14
-16
0
0
0
39
-9
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-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
-9
-45
-4
0
0
58
15
8
0
0
8
3
-1
0
0
4
0
0
0
0
0
0
0
0
0
6
8
5
0
0
20
5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
0
0
0
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
42
24
0
0
0
34
10
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
8
0
0
0
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
31
3
0
0
7
10
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
22
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
-50
13
-3
0
-89
65
6
-9
0
21
-22
19
0
0
26
-2
2
0
0
-2
0
0
0
0
-62
-5
24
1
0
13
-9
23
-1
0
54
4
2
0
0
9
-1
0
0
0
-1
0
0
0
0
-11
-17
-3
0
0
33
20
4
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
25
8
0
0
0
42
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
-25
49
-1
0
-42
67
39
-1
0
2
-5
1
0
0
17
0
0
0
0
0
0
0
0
0
51
1
6
0
0
16
-5
3
0
0
-4
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
16
-12
0
0
0
20
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-30
-5
0
0
-1
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
93
29
0
0
-44
44
25
0
0
43
17
0
0
0
-1
0
0
0
0
0
0
0
0
0
46
-8
4
0
0
20
-4
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-4
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
-17
9
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-25
9
0
0
-7
-25
1
0
0
31
13
0
0
0
2
0
0
0
0
0
0
0
0
0
15
15
2
0
0
27
2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
8
0
0
0
-8
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
8
0
0
0
8
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
16
28
-63
8
0
-4
-36
-3
2
2
0
16
-2
0
-67
41
82
0
0
27
27
1
0
0
50
17
-32
-68
-1
20
-4
42
-40
0
8
-39
-11
-48
0
-92
-21
78
-1
0
-3
4
0
0
0
50
3
-56
1
0
1
-58
1
14
0
-5
-33
-32
-5
0
-15
42
5
0
0
16
0
0
0
0
75
4
-23
-7
0
-38
-52
5
-3
0
16
33
0
0
0
-14
13
0
0
0
0
0
0
0
0
-2
-58
0
0
0
-9
-30
0
0
0
-43
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-9
-20
-11
0
12
-42
30
-9
1
13
13
-63
13
0
-27
-12
10
0
0
22
1
0
0
0
48
-31
-59
24
0
-42
26
54
6
0
15
5
-25
-17
0
82
-15
6
0
0
39
3
0
0
0
7
-24
-23
-42
0
-12
36
-55
-6
0
40
31
-34
0
0
-4
24
-1
0
0
6
0
0
0
0
0
5
-9
-2
0
15
-25
-1
0
0
6
33
0
0
0
-22
0
0
0
0
0
0
0
0
0
-4
-35
0
0
0
6
-12
0
0
0
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-32
-9
-15
0
-24
11
6
6
0
10
47
2
0
0
-67
43
-2
0
0
17
0
0
0
0
26
5
-66
31
0
10
5
-46
8
0
-41
24
-4
0
0
23
-17
-3
0
0
2
0
0
0
0
-55
-77
-47
0
0
-32
13
-16
0
0
-31
-4
5
0
0
-25
4
0
0
0
0
0
0
0
0
-23
-60
-7
0
0
-15
-53
-2
0
0
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
-31
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-40
41
0
0
1
-3
49
0
0
-47
-31
-5
0
0
28
-5
0
0
0
0
0
0
0
0
-42
-40
-9
0
0
12
-31
7
0
0
4
3
-5
0
0
10
-5
0
0
0
0
0
0
0
0
-46
-3
-8
0
0
-33
-2
-9
0
0
-28
-5
0
0
0
-8
0
0
0
0
0
0
0
0
0
-8
9
0
0
0
-7
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-1
0
0
0
-49
-1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-1
0
0
0
-32
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
124
31
54
83
0
-7
-54
4
26
0
27
25
-9
2
0
5
-30
47
0
0
15
-3
0
0
0
81
40
38
14
0
-50
-48
24
4
0
-40
17
46
1
0
13
43
23
0
0
-6
-2
0
0
0
17
0
10
-1
0
-1
30
25
0
0
-122
38
12
0
0
23
19
0
0
0
-3
0
0
0
0
9
64
13
0
0
29
58
16
0
0
-6
-7
0
0
0
6
0
0
0
0
0
0
0
0
0
8
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-24
13
50
0
-3
9
49
25
0
-39
-4
30
1
0
-3
-28
-5
0
0
-2
-1
0
0
0
-30
26
83
6
0
-63
41
36
1
0
0
42
49
0
0
25
-2
-5
0
0
-2
0
0
0
0
1
40
8
0
0
-33
59
0
0
0
-34
7
-1
0
0
46
0
0
0
0
0
0
0
0
0
-6
41
7
0
0
10
1
1
0
0
4
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
29
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
93
4
3
0
-112
4
-35
0
0
-4
2
-14
0
0
4
-10
0
0
0
0
0
0
0
0
31
-24
34
0
0
8
9
-18
0
0
35
-8
-10
0
0
30
-1
0
0
0
0
0
0
0
0
-9
-10
2
0
0
-1
3
1
0
0
14
-10
0
0
0
0
-1
0
0
0
0
0
0
0
0
9
18
3
0
0
22
-2
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-12
2
0
0
7
2
3
0
0
-27
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-13
-15
-3
0
0
5
-1
-3
0
0
-8
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
-15
-23
0
0
0
-17
-6
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-10
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
2
0
0
0
-25
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
-8
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
14
46
0
0
119
23
41
0
0
-8
-8
-1
0
0
13
2
0
0
0
0
0
0
0
0
32
43
31
0
0
-21
34
10
0
0
-18
13
1
0
0
0
0
0
0
0
0
0
0
0
0
14
-13
1
0
0
-42
23
0
0
0
16
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
17
0
0
0
0
9
0
0
0
0
-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
-41
-34
7
0
0
8
-17
2
0
0
-37
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
16
-13
2
0
0
37
13
0
0
0
-41
0
0
0
0
1
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-30
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
1
0
0
0
0
-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
-2
-25
0
0
0
10
-10
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
0
-10
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
45
1
-49
4
4
-43
-30
-14
0
-4
-28
31
-41
0
27
-40
-19
-1
0
1
5
0
0
0
14
-12
16
13
0
-58
5
31
5
0
46
-58
8
-9
0
-59
-42
-9
0
0
-24
-3
0
0
0
-36
98
-19
5
0
-4
72
-10
2
0
36
-52
0
0
0
3
13
-1
0
0
3
0
0
0
0
8
2
8
0
0
81
-5
8
0
0
-49
1
3
0
0
16
-2
0
0
0
0
0
0
0
0
19
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-13
58
-39
0
-29
54
117
-22
0
0
17
54
0
0
17
-49
-6
0
0
8
-1
0
0
0
-58
2
26
0
0
46
52
16
-2
0
-17
24
36
0
0
-37
-76
1
0
0
-3
-2
0
0
0
4
-49
2
0
0
45
32
-34
0
0
102
-8
2
0
0
5
-7
0
0
0
0
0
0
0
0
-23
4
1
0
0
7
14
0
0
0
1
33
0
0
0
4
-2
0
0
0
0
0
0
0
0
34
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-8
-14
-1
0
13
-72
-13
-1
0
49
-46
-8
0
0
22
2
0
0
0
0
0
0
0
0
-2
53
17
0
0
31
-43
-8
0
0
20
-3
-3
0
0
20
-2
0
0
0
0
0
0
0
0
48
42
18
0
0
62
24
-1
0
0
0
-7
0
0
0
-9
0
0
0
0
0
0
0
0
0
-20
-10
0
0
0
1
-9
0
0
0
-8
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
7
6
0
0
44
5
3
0
0
15
3
0
0
0
13
0
0
0
0
0
0
0
0
0
-10
8
-2
0
0
0
-8
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
0
0
0
8
0
0
0
0
-9
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
46
5
8
0
-49
-8
58
8
0
31
-22
4
0
0
-6
-49
1
0
0
-5
0
0
0
0
-65
-4
-6
0
0
-12
36
12
0
0
26
42
13
0
0
49
-8
0
0
0
-4
0
0
0
0
-30
-47
-22
0
0
22
-61
-7
0
0
-9
20
0
0
0
-9
0
0
0
0
0
0
0
0
0
-32
-20
2
0
0
-15
-14
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-5
-65
-2
0
-47
-3
-25
0
0
-44
-61
17
0
0
8
-37
0
0
0
-3
0
0
0
0
49
-21
-32
0
0
-20
51
-43
0
0
-1
-3
0
0
0
1
-10
0
0
0
-4
0
0
0
0
-31
19
-7
0
0
-41
14
-4
0
0
-15
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
-14
-12
0
0
0
-25
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
22
-24
0
0
-19
-7
-8
0
0
7
8
0
0
0
13
0
0
0
0
0
0
0
0
0
58
-28
-9
0
0
68
-29
-3
0
0
-3
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
29
7
2
0
0
-13
-7
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
0
0
-6
-3
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-3
0
0
0
-7
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
1
0
0
49
13
0
0
0
-27
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
66
17
1
0
0
1
14
0
0
0
6
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
22
0
0
0
42
12
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
0
0
0
27
5
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
17
94
-8
0
-59
-37
49
0
0
48
45
-22
0
0
49
-25
0
0
0
0
0
0
0
0
9
-75
75
0
0
12
-17
56
0
0
1
0
-2
0
0
72
0
0
0
0
0
0
0
0
0
4
-48
-44
0
0
-1
-17
0
0
0
-30
-23
0
0
0
3
0
0
0
0
0
0
0
0
0
14
4
0
0
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
35
59
0
0
-45
41
-16
0
0
39
13
0
0
0
31
-1
0
0
0
0
0
0
0
0
15
-23
24
0
0
39
22
-7
0
0
-24
1
0
0
0
31
0
0
0
0
0
0
0
0
0
-4
22
-1
0
0
18
31
0
0
0
-15
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-13
5
0
0
8
-13
0
0
0
49
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
-44
-13
0
0
0
-57
-8
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
28
0
0
0
0
-1
-3
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-6
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
11
-5
0
0
-35
-18
0
0
0
-31
-29
0
0
0
1
-3
0
0
0
0
0
0
0
0
18
8
1
0
0
-47
13
2
0
0
-22
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-19
-20
0
0
0
-45
-8
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
-1
0
0
-2
-4
0
0
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-25
0
0
0
-9
5
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
0
0
0
-17
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
0
0
0
-5
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
36
52
-6
19
1
-11
-31
20
2
-2
-13
-27
4
0
-19
36
87
3
0
-11
-6
1
0
0
52
19
21
-21
-1
6
-16
0
-11
0
1
-17
-19
-50
0
5
-10
39
-1
0
-41
-12
0
0
0
15
-9
9
-43
0
6
-23
10
-32
0
2
-1
-80
-5
0
8
27
-13
0
0
13
0
0
0
0
-37
27
1
-7
0
-35
8
28
-3
0
3
13
-4
0
0
35
25
0
0
0
0
0
0
0
0
-24
-93
0
0
0
18
-42
0
0
0
-40
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
76
5
-26
-12
0
17
-30
2
22
1
-2
-41
3
55
0
20
4
-34
0
0
18
-1
0
0
0
26
-21
-20
11
0
-12
-5
23
25
0
6
-37
22
-3
0
49
-3
-8
0
0
21
3
0
0
0
1
-17
42
-102
0
-6
-27
-63
-15
0
37
-3
-39
0
0
-57
65
-1
0
0
7
0
0
0
0
9
21
12
-2
0
-10
-40
12
0
0
-22
11
0
0
0
5
0
0
0
0
0
0
0
0
0
-8
-11
0
0
0
1
-2
0
0
0
-15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-46
2
-1
0
-23
32
66
30
0
-3
27
11
0
0
17
36
-3
0
0
19
0
0
0
0
-10
-7
12
32
0
-40
-34
-25
10
0
2
49
-31
0
0
35
-49
-3
0
0
2
0
0
0
0
6
51
-25
0
0
-18
0
-32
0
0
14
49
1
0
0
-68
0
0
0
0
0
0
0
0
0
-31
47
-5
0
0
-45
-48
-3
0
0
-29
-13
0
0
0
-2
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
-16
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
1
-5
0
0
-18
65
49
0
0
-45
-66
-8
0
0
84
-8
0
0
0
0
0
0
0
0
-19
2
-10
0
0
-18
30
20
0
0
31
13
-5
0
0
32
-5
0
0
0
0
0
0
0
0
-12
15
-10
0
0
-7
13
-9
0
0
27
-5
0
0
0
-5
0
0
0
0
0
0
0
0
0
-19
21
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
51
0
0
0
-120
13
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
31
0
0
0
-60
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
23
60
0
3
27
-23
22
0
-6
9
40
6
0
66
8
50
0
0
19
-3
0
0
0
37
-3
11
28
0
-27
-4
-19
4
0
-36
41
110
1
0
-12
80
16
0
0
-4
-2
0
0
0
-21
-9
27
0
0
21
-1
25
0
0
-83
7
13
0
0
-16
20
0
0
0
-3
0
0
0
0
27
56
12
0
0
100
67
17
0
0
9
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
23
1
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
6
-6
55
0
-37
23
70
29
0
-15
-6
67
1
0
14
-35
-7
0
0
-3
-1
0
0
0
-65
1
33
5
0
3
45
-11
-2
0
27
22
37
0
0
9
17
-5
0
0
-2
0
0
0
0
2
-13
22
0
0
3
16
5
0
0
54
-45
-1
0
0
23
-3
0
0
0
0
0
0
0
0
56
17
7
0
0
61
-6
1
0
0
31
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
49
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
75
-2
4
0
-43
-20
-52
0
0
46
3
-22
0
0
3
-13
0
0
0
0
0
0
0
0
5
-51
27
0
0
17
-15
-30
0
0
7
-18
-12
0
0
6
-2
0
0
0
0
0
0
0
0
2
-23
-3
0
0
22
-20
1
0
0
47
-8
0
0
0
-5
-1
0
0
0
0
0
0
0
0
30
18
3
0
0
38
-5
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-5
0
0
1
-8
2
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-30
-4
0
0
-4
-15
-3
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
-27
-32
0
0
0
-22
-14
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
-8
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
2
0
0
0
-51
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
-14
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-19
43
0
0
41
3
32
0
0
29
-30
-2
0
0
14
2
0
0
0
0
0
0
0
0
53
88
21
0
0
-5
53
10
0
0
24
12
1
0
0
-2
0
0
0
0
0
0
0
0
0
20
22
1
0
0
-51
42
0
0
0
16
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
50
0
0
0
0
17
0
0
0
0
-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
-111
-5
6
0
0
-48
-26
1
0
0
23
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
23
51
2
0
0
49
17
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
15
-1
0
0
0
-32
2
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
3
0
0
0
0
-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
-47
-14
0
0
0
-30
-21
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
12
0
0
0
-40
4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
24
-53
2
4
35
-24
17
-9
0
-3
10
-6
-23
0
14
-41
-13
-1
0
4
5
0
0
0
31
-41
-16
22
0
-44
-13
34
11
0
14
-51
-47
-9
0
-22
4
-8
0
0
-31
-3
0
0
0
-29
-8
-36
-5
0
18
11
-23
1
0
-44
-66
-9
0
0
13
27
-1
0
0
3
0
0
0
0
-35
-22
13
0
0
68
-44
10
0
0
-125
1
3
0
0
15
-2
0
0
0
0
0
0
0
0
6
3
0
0
0
-9
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-10
-5
-62
0
-34
13
40
-26
0
-19
31
41
1
0
0
-61
-4
0
0
0
-1
0
0
0
-37
3
17
-5
0
0
55
5
-7
0
-14
38
49
0
0
-46
-60
1
0
0
-4
-2
0
0
0
8
-35
6
0
0
12
36
-32
0
0
7
-59
3
0
0
11
0
0
0
0
0
0
0
0
0
33
23
5
0
0
22
14
0
0
0
-35
39
0
0
0
4
-2
0
0
0
0
0
0
0
0
25
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
17
-23
-3
0
8
-28
4
-1
0
37
-61
-12
0
0
2
-8
0
0
0
0
0
0
0
0
7
38
4
0
0
27
-54
-6
0
0
1
-6
-5
0
0
-4
-2
0
0
0
0
0
0
0
0
-10
17
12
0
0
3
1
-2
0
0
-6
-21
0
0
0
-18
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-4
0
0
0
-9
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
34
5
0
0
32
49
4
0
0
-2
-1
0
0
0
15
0
0
0
0
0
0
0
0
0
11
13
0
0
0
5
8
0
0
0
-20
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-9
0
0
0
-23
2
0
0
0
-5
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
10
-40
3
0
-19
-16
-19
4
0
-35
-6
10
0
0
-47
-42
1
0
0
-5
0
0
0
0
-34
-36
-38
-2
0
-19
11
-38
0
0
-24
62
12
0
0
21
-8
0
0
0
-4
0
0
0
0
-24
-61
-41
0
0
36
-46
-19
0
0
-5
22
0
0
0
-14
0
0
0
0
0
0
0
0
0
-88
-42
2
0
0
11
-25
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-36
-94
-5
0
-11
51
-27
0
0
17
-41
24
0
0
-20
-43
0
0
0
-3
0
0
0
0
19
-22
-89
0
0
4
47
-83
0
0
26
3
0
0
0
-18
-10
0
0
0
-4
0
0
0
0
-28
17
-13
0
0
-23
43
-4
0
0
20
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
-14
0
0
0
14
-14
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-27
-23
0
0
-1
3
-8
0
0
74
32
0
0
0
9
0
0
0
0
0
0
0
0
0
13
-86
-10
0
0
32
-72
-3
0
0
-15
0
0
0
0
2
0
0
0
0
0
0
0
0
0
61
8
2
0
0
-23
-3
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
2
0
0
0
12
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
0
0
0
-9
-1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-10
0
0
0
-13
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
13
0
0
0
27
4
0
0
0
-29
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
66
16
1
0
0
-23
13
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-9
-2
0
0
0
-20
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
25
0
0
0
56
13
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
4
0
0
0
21
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-3
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
0
0
0
6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
7
49
-8
0
-40
-33
10
0
0
60
-44
-22
0
0
73
-29
0
0
0
0
0
0
0
0
-32
-75
49
0
0
60
-23
56
0
0
-42
-42
-2
0
0
60
-1
0
0
0
0
0
0
0
0
41
-58
-49
0
0
16
24
0
0
0
-117
-22
0
0
0
3
0
0
0
0
0
0
0
0
0
-50
5
0
0
0
-24
2
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
17
0
0
-24
-39
-43
0
0
48
-45
0
0
0
28
-1
0
0
0
0
0
0
0
0
-17
-31
8
0
0
43
7
-13
0
0
-13
-13
0
0
0
25
0
0
0
0
0
0
0
0
0
25
36
-1
0
0
44
55
0
0
0
-59
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
-59
-5
0
0
0
-55
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
22
6
0
0
-37
-36
0
0
0
40
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
16
16
0
0
0
-60
-20
0
0
0
-12
0
0
0
0
1
0
0
0
0
0
0
0
0
0
62
5
0
0
0
12
-6
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-8
0
0
0
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
1
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-22
-13
0
0
5
23
-3
0
0
-53
-34
0
0
0
0
-3
0
0
0
0
0
0
0
0
34
-11
3
0
0
-14
5
2
0
0
-46
-1
0
0
0
12
0
0
0
0
0
0
0
0
0
23
-10
0
0
0
3
3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
-10
0
0
7
17
0
0
0
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-17
0
0
0
32
14
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
41
25
0
0
0
26
13
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
25
0
0
0
-34
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-18
0
0
0
-12
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
43
-6
-26
4
42
8
17
12
1
4
84
-17
13
0
52
-5
-17
-2
0
10
-3
0
0
0
26
22
5
33
0
14
30
23
34
0
-22
15
-10
6
0
5
-25
-17
-1
0
-8
-2
0
0
0
-16
-61
-37
-49
0
8
13
-35
-21
0
-45
2
-15
0
0
-7
6
-4
0
0
0
0
0
0
0
-17
13
13
-4
0
8
-5
9
-1
0
8
13
1
0
0
25
4
0
0
0
0
0
0
0
0
-51
-33
0
0
0
-3
-8
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
56
30
-23
-51
1
29
2
-14
-9
0
66
17
-16
2
0
63
23
-2
0
0
17
-3
0
0
0
-39
26
-21
-13
0
-17
38
30
-1
0
-13
22
-6
0
0
-16
-11
-4
0
0
7
-2
0
0
0
-4
-29
-10
-18
0
-14
12
-14
0
0
19
-6
-5
0
0
-13
-3
-1
0
0
3
0
0
0
0
-1
5
12
-3
0
19
-36
3
0
0
16
10
0
0
0
5
-1
0
0
0
0
0
0
0
0
-23
-8
0
0
0
7
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-63
22
0
0
22
-12
38
10
0
34
-43
12
0
0
-33
-12
-2
0
0
3
0
0
0
0
-12
11
8
8
0
-40
13
4
4
0
-17
-49
-19
0
0
-31
-27
-1
0
0
0
0
0
0
0
45
75
10
0
0
7
33
-1
0
0
42
16
3
0
0
-14
0
0
0
0
0
0
0
0
0
-46
18
3
0
0
-25
-9
1
0
0
14
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
16
13
0
0
-57
30
15
0
0
-13
-37
-6
0
0
41
-4
0
0
0
0
0
0
0
0
10
-6
1
0
0
-44
5
3
0
0
-22
-42
-4
0
0
7
-4
0
0
0
0
0
0
0
0
-3
-5
-1
0
0
-6
-9
-2
0
0
17
-8
0
0
0
-2
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
7
0
0
0
-9
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
0
-8
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
1
0
0
0
-14
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-4
14
-27
0
-37
-49
49
6
0
-40
8
33
3
0
2
-19
8
0
0
-3
-1
0
0
0
47
-42
6
-4
0
8
-44
13
6
0
-22
14
37
2
0
-9
-14
0
0
0
-2
-1
0
0
0
-24
-12
14
-1
0
-6
-1
12
0
0
-11
0
0
0
0
-9
2
0
0
0
-1
0
0
0
0
5
32
9
0
0
16
28
3
0
0
-2
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
8
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
77
-13
-5
0
35
-11
-5
9
0
18
8
13
0
0
17
-10
-2
0
0
-2
0
0
0
0
-36
-2
-7
-3
0
28
-2
-2
0
0
13
15
5
0
0
14
-2
-2
0
0
-2
0
0
0
0
-47
6
10
0
0
5
6
0
0
0
34
3
0
0
0
16
0
0
0
0
0
0
0
0
0
34
30
2
0
0
33
12
0
0
0
8
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
24
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-70
-7
-1
0
-22
-42
-3
0
0
-6
-24
0
0
0
12
-2
0
0
0
0
0
0
0
0
-21
-70
0
0
0
15
-34
-5
0
0
19
-33
-5
0
0
1
0
0
0
0
0
0
0
0
0
-24
6
-2
0
0
-10
2
3
0
0
58
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
3
21
0
0
0
8
2
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-8
2
0
0
-23
-5
2
0
0
-24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-21
-1
0
0
-16
-6
-1
0
0
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
-13
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-8
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
10
8
0
0
47
18
6
0
0
48
5
0
0
0
4
1
0
0
0
0
0
0
0
0
7
14
7
0
0
-11
45
1
0
0
20
5
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
-9
9
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
5
0
0
2
-14
1
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
7
2
0
0
-22
8
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
-19
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-14
0
0
0
0
-10
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
2
0
0
0
-24
3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-25
-14
-3
1
-7
-21
12
1
0
19
40
-26
-3
0
5
-8
-5
0
0
-7
-3
0
0
0
-25
7
-45
0
0
1
29
-28
3
0
-41
-17
-25
-2
0
15
1
3
0
0
-2
-1
0
0
0
2
4
-19
-1
0
21
11
-6
0
0
21
-5
2
0
0
3
-1
-1
0
0
0
0
0
0
0
13
-8
8
0
0
-22
-9
6
0
0
-9
-5
0
0
0
5
-2
0
0
0
0
0
0
0
0
12
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-32
-31
-20
0
-29
-42
-5
-9
0
41
6
-13
0
0
15
-30
-2
0
0
-1
-2
0
0
0
-50
30
-3
-13
0
-26
10
-8
-4
0
-11
-4
-10
0
0
0
-25
2
0
0
-3
-2
0
0
0
-9
-6
13
0
0
-1
1
10
0
0
13
-16
0
0
0
14
-5
0
0
0
0
0
0
0
0
43
23
1
0
0
-17
8
2
0
0
8
5
0
0
0
3
0
0
0
0
0
0
0
0
0
28
3
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-29
28
0
0
25
-9
28
0
0
42
5
13
0
0
34
5
0
0
0
0
0
0
0
0
45
-46
-21
0
0
-16
-30
-18
0
0
-2
-13
-1
0
0
22
-2
0
0
0
0
0
0
0
0
-34
-10
3
0
0
-15
-8
0
0
0
17
-17
0
0
0
2
-1
0
0
0
0
0
0
0
0
-68
-19
0
0
0
-41
-10
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
4
0
0
-48
-3
1
0
0
-17
-8
0
0
0
8
0
0
0
0
0
0
0
0
0
36
27
0
0
0
-2
15
0
0
0
-26
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
0
0
0
-6
-9
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-36
-10
-1
0
-16
-15
21
0
0
-51
3
13
0
0
5
-30
0
0
0
-6
0
0
0
0
-52
-27
-7
0
0
-31
-5
-8
0
0
-56
27
5
0
0
7
-13
0
0
0
-3
0
0
0
0
37
32
-13
0
0
24
34
-5
0
0
48
24
0
0
0
1
0
0
0
0
0
0
0
0
0
-30
-12
0
0
0
-11
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-29
2
0
0
50
32
28
0
0
42
21
20
0
0
23
-20
0
0
0
-2
0
0
0
0
-1
-3
3
0
0
21
22
-3
0
0
9
6
0
0
0
10
-8
0
0
0
-1
0
0
0
0
42
48
-5
0
0
13
34
-5
0
0
43
9
0
0
0
4
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
-13
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-49
-8
0
0
5
-33
-2
0
0
28
8
0
0
0
14
0
0
0
0
0
0
0
0
0
9
-51
-10
0
0
7
-33
-3
0
0
-3
-8
0
0
0
3
0
0
0
0
0
0
0
0
0
21
10
0
0
0
-22
-2
0
0
0
28
0
0
0
0
1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-4
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
-8
-8
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
0
8
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-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
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-25
1
0
0
-9
-10
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-16
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
5
1
0
0
39
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
13
-35
-1
0
-27
3
-7
0
0
0
-42
-1
0
0
5
-5
0
0
0
0
0
0
0
0
-76
-20
-8
0
0
-65
-6
-3
0
0
-30
-12
0
0
0
3
-1
0
0
0
0
0
0
0
0
43
2
-9
0
0
-20
7
0
0
0
-30
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
6
-5
0
0
0
-10
-5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
17
-21
0
0
3
-14
-3
0
0
25
-16
0
0
0
9
0
0
0
0
0
0
0
0
0
-30
23
1
0
0
-12
-16
-1
0
0
-22
-9
0
0
0
8
0
0
0
0
0
0
0
0
0
47
9
0
0
0
-5
1
0
0
0
-15
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
7
-5
0
0
0
-18
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
31
-1
0
0
21
10
0
0
0
30
0
0
0
0
1
0
0
0
0
0
0
0
0
0
30
9
1
0
0
-7
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
23
-1
0
0
0
-17
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-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
3
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
2
0
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-5
-5
0
0
-7
19
2
0
0
1
-8
0
0
0
-1
-1
0
0
0
0
0
0
0
0
4
-15
1
0
0
4
0
0
0
0
-3
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
-2
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
5
0
0
0
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
0
0
0
26
-4
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
4
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
20
0
0
0
9
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
13
-57
-3
-3
-4
-8
-1
-5
-21
-25
12
-63
-53
-15
3
1
-10
-40
-18
-83
-21
26
-33
-5
0
18
-14
-8
-17
-21
-10
-14
-5
0
-35
-18
13
22
-8
-20
4
3
0
5
-24
3
-21
25
0
-3
-2
0
0
0
4
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
7
-5
-5
0
0
0
0
0
-67
-13
-31
-7
-13
-1
0
0
0
-36
-25
-21
-81
5
2
0
0
0
8
-78
54
-61
-16
-8
0
0
0
15
18
-17
-31
-5
9
0
0
0
0
0
-8
-35
8
1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
-19
62
-2
17
-3
41
14
21
-3
-32
35
-93
4
-11
-46
-4
41
-8
-16
-6
-41
-1
8
46
0
-74
-12
25
50
29
-31
-25
-25
-3
-55
-4
33
108
22
0
-3
3
0
0
-15
-1
34
4
-2
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-14
-50
3
0
0
0
0
-35
6
-38
25
2
-2
0
0
0
-25
-58
44
-59
9
-1
1
0
0
-33
-45
-3
9
-15
-3
0
0
0
-1
12
11
45
-7
-5
0
0
0
0
0
-7
2
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
30
0
34
1
-6
8
2
7
30
43
47
-5
-11
-14
-1
-8
-43
44
44
-5
13
23
13
-15
-31
-6
14
106
14
1
-3
10
-2
-8
-1
-20
-3
30
-5
5
-5
-7
0
4
0
0
-3
31
-2
0
4
-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
-48
66
-31
31
2
1
0
0
0
10
10
9
35
-3
-3
-1
1
0
3
-8
37
33
-12
10
-2
-1
0
1
-5
19
48
0
0
-1
0
0
0
2
13
6
4
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
48
-11
5
-1
-1
-3
2
3
98
12
0
9
-4
1
-8
9
3
25
-41
6
19
-3
12
7
4
-2
24
5
23
-4
18
0
5
1
0
0
-6
9
14
8
2
0
-1
0
0
0
0
-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
45
-15
10
17
0
0
0
0
0
27
33
37
24
-2
0
0
0
0
2
68
10
8
-1
0
0
0
0
1
5
1
12
-2
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
20
-18
10
0
0
0
0
0
11
-19
-6
7
1
0
0
0
0
8
67
-14
14
0
0
0
-1
0
0
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
54
12
0
0
0
0
0
0
37
6
-20
4
0
0
0
0
0
1
14
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
10
22
5
0
0
0
0
0
0
25
-12
0
0
0
0
0
0
0
-3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
-3
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
4
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-16
39
-23
-6
55
-37
-6
18
7
3
-7
-17
11
-48
-10
-10
29
20
22
9
-4
-22
3
-21
3
-43
-12
-20
54
-22
21
-20
4
1
8
-22
2
26
3
10
-1
-2
0
-1
8
-42
-9
-3
-1
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
27
-52
-8
2
0
0
0
0
14
8
-26
-22
0
0
0
0
0
-20
53
-4
-26
9
0
0
0
0
55
76
-47
-4
10
0
0
0
0
0
1
-31
45
-3
-2
0
0
0
0
0
-10
6
-4
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
41
-16
14
-24
-14
-9
41
3
54
61
8
5
-50
9
23
26
48
60
49
31
-28
-21
-17
9
-46
-3
17
2
22
-3
4
-3
-10
-26
-14
-16
66
19
17
-31
-8
-1
8
0
0
-1
-8
19
8
3
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
134
-27
-3
1
0
0
0
0
46
79
-20
-6
-7
0
0
0
0
56
21
26
39
8
-3
0
1
0
-1
-41
41
0
3
1
0
0
0
0
4
-2
10
3
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
54
40
-78
0
-5
-31
20
45
10
64
-20
57
5
-27
63
26
-20
75
42
-35
-3
21
-6
2
26
20
-3
64
16
13
-14
-3
13
3
-5
0
0
19
7
0
-3
1
-2
-2
0
0
2
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
75
26
39
0
-1
0
0
0
57
22
32
-5
-4
1
0
0
0
-3
16
-5
8
4
-1
0
0
0
0
5
9
13
-1
1
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
-52
-13
9
-9
-9
-7
6
51
59
23
-8
-6
4
33
-13
20
-14
-10
46
5
13
-1
-2
-17
-1
1
-30
46
7
0
1
-1
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
74
30
6
0
0
0
0
0
24
74
-24
2
0
0
0
1
0
-5
-27
5
-2
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
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
27
-17
3
0
1
0
1
0
22
-15
49
9
0
0
0
-2
0
-4
-23
-2
3
0
0
0
1
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
22
30
13
0
0
0
0
0
0
13
-6
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
0
0
0
0
0
0
6
-3
4
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
-30
31
-4
-5
-2
3
2
17
-9
-21
9
-6
10
-2
4
1
38
-28
6
23
2
-8
13
5
0
-19
-20
22
53
10
0
0
0
0
0
31
-2
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
-8
-5
-1
0
0
0
0
-47
-24
29
-26
5
1
0
0
0
-83
85
-47
9
-9
0
0
0
0
52
-64
-16
-42
0
0
0
0
0
-4
12
-3
-37
0
0
0
0
0
0
2
0
-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
3
-8
17
-9
8
25
-2
2
3
14
18
30
28
40
18
-4
-5
1
25
11
43
10
2
8
20
-6
-1
-17
67
7
27
-8
-5
-1
-1
0
2
-34
13
29
-7
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
1
-6
1
0
0
0
0
-35
72
-25
31
-6
1
0
0
0
31
0
45
15
17
0
0
0
0
16
33
23
-1
-5
0
0
0
0
0
-8
22
-12
-8
0
0
0
0
0
0
0
0
-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
59
80
57
-19
-3
4
3
4
0
-20
40
53
54
2
7
-7
8
2
36
49
49
-14
16
-7
-5
13
0
25
9
-7
5
20
-2
0
0
0
0
-2
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
99
12
29
0
0
1
0
0
66
21
-8
0
-2
0
0
0
0
6
-1
41
34
4
0
0
0
0
1
3
16
8
1
0
0
0
0
0
0
0
0
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
75
27
46
8
0
0
-1
-2
0
42
58
63
5
0
0
4
-8
0
19
14
25
2
0
0
0
0
0
1
-2
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
45
1
1
0
0
0
0
0
53
53
24
4
-1
0
0
0
0
5
15
2
0
1
0
0
0
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-32
10
0
0
0
0
0
0
32
16
4
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
24
0
0
0
0
0
0
0
14
5
1
0
0
0
0
0
0
0
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
6
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
5
-27
-8
31
8
-33
32
4
83
49
-15
-49
-2
15
7
-8
-3
14
78
-29
28
-2
9
0
7
2
-9
94
-13
-1
0
2
0
0
0
3
-9
-4
16
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
24
-17
0
0
0
0
0
0
-3
66
-32
25
0
0
0
0
0
-13
35
66
7
-1
0
0
0
0
23
47
42
-8
-1
0
0
0
0
0
1
25
2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
78
25
45
2
-51
-22
8
-30
44
61
51
31
-21
-17
55
10
-8
60
65
41
12
-16
16
7
-37
0
-17
49
68
4
-9
0
0
1
0
0
10
8
3
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
125
-51
9
-2
0
0
0
0
133
7
24
1
-4
0
0
1
0
52
84
4
4
5
-1
0
0
0
1
10
4
-6
-1
-1
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
16
49
31
8
3
0
-14
-22
116
75
10
3
-2
-3
-15
4
-4
13
121
20
-6
4
-1
0
18
-1
0
8
10
1
1
1
0
0
2
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
96
39
-1
0
0
0
0
0
50
72
0
-1
0
0
0
0
0
74
-41
49
7
0
0
0
0
0
0
2
2
1
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
18
-7
2
1
1
-1
5
0
25
34
12
4
4
5
0
-3
1
12
34
-7
1
0
0
-2
1
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
24
25
0
0
0
0
0
0
31
31
6
0
0
0
0
0
0
-2
8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
58
12
0
0
0
0
-1
0
-5
15
-2
-1
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-24
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
23
-32
2
0
0
-6
-7
0
67
32
-44
-2
0
0
3
0
0
51
22
17
-1
0
0
0
0
0
-25
-4
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
61
-56
-3
0
0
0
0
0
-26
77
17
-22
-1
0
0
0
0
17
-9
21
0
0
0
0
0
0
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
56
49
2
0
-1
0
0
-4
86
1
26
-14
0
-3
4
3
0
55
7
55
8
0
-1
-1
0
0
17
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
31
75
-3
0
0
0
0
0
106
-7
31
-5
0
0
0
0
0
18
8
32
9
-1
0
0
0
0
0
30
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
47
9
1
0
-4
0
2
-2
97
-16
19
0
0
0
1
2
0
3
55
5
0
0
0
-1
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
60
23
0
0
0
0
0
0
29
33
-3
1
0
0
0
0
0
0
42
8
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
31
-18
9
0
0
0
0
0
0
12
27
-5
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
111
-20
0
0
0
0
0
0
-3
-8
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
17
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
67
27
-14
0
0
0
-3
3
31
29
13
-4
-1
0
-3
1
0
77
40
-21
-1
0
0
0
1
0
10
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
18
-3
1
0
0
0
0
0
-8
75
26
1
0
0
0
0
0
44
27
7
4
-1
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
137
73
4
0
0
-2
-1
-6
28
-32
25
-9
-2
1
4
2
0
-6
9
-12
-2
0
0
0
1
0
1
-18
2
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
49
115
41
0
0
0
0
0
0
-20
130
20
-2
0
0
0
0
0
13
34
-17
1
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
53
37
2
0
0
-1
-5
1
39
41
-25
1
0
0
0
2
0
0
-3
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
86
7
0
0
0
0
0
0
34
-41
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
2
0
0
0
0
-1
0
13
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
36
5
0
0
0
0
0
0
-7
55
-3
0
0
0
0
0
0
-2
16
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
51
-22
0
0
0
0
0
0
4
70
-3
-1
0
0
0
0
0
3
27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
45
2
0
0
0
0
2
0
-60
-20
0
0
0
0
0
0
0
-3
-41
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
39
5
-1
0
0
0
0
0
41
30
-4
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
50
0
0
0
0
0
0
0
3
13
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
52
0
0
0
0
0
0
0
-1
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-4
-3
0
0
0
0
0
0
-8
-36
1
0
0
0
0
0
0
3
-1
-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
5
116
1
0
0
0
0
0
0
-13
18
-1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
72
1
0
0
0
0
0
0
41
-13
3
0
0
0
0
1
0
2
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
17
0
0
0
0
0
0
0
-6
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
47
0
0
0
0
0
0
0
8
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
46
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-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
16
49
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
35
0
0
0
0
0
0
0
1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-124
-198
-48
-7
-8
-5
-45
-1
-92
-144
-163
-109
-84
-116
-116
13
1
-57
-82
-81
-22
-66
-23
-94
-61
-42
-41
-41
6
-71
-39
-134
-65
-103
-31
-12
-2
-16
26
-50
-44
-38
76
-79
25
-35
-10
84
13
-77
-5
-13
0
0
-16
-59
-52
28
56
-4
-3
0
0
0
0
12
-8
-6
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-71
-66
-97
-36
0
0
0
0
0
-33
-101
-132
12
-24
-4
-1
0
0
-24
-28
-54
-65
-2
-25
-5
0
0
83
15
-67
-66
-28
-6
-5
0
0
57
11
-36
6
-93
47
-3
2
0
-12
92
-14
-47
-38
-8
-8
-2
0
0
0
44
35
-65
-6
-3
0
0
0
0
0
0
13
-8
4
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-31
-73
-126
-56
13
-3
-1
41
1
-16
-45
-49
-84
-7
-23
-23
-69
-44
-5
-18
-25
-9
-128
-95
11
-2
-23
15
28
0
19
-63
-33
-61
-46
-14
20
-8
-23
28
-13
-10
8
-15
26
-9
54
94
-23
10
5
-68
12
3
-1
5
20
-48
-43
31
-5
2
0
0
0
0
18
4
-4
-1
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-15
-15
-96
-59
27
0
0
0
0
2
9
-43
-6
-58
-32
5
-1
-3
-17
46
-15
-28
-86
8
-41
-16
4
63
35
18
-16
-80
-30
-45
15
2
70
107
-11
14
-33
-53
-21
4
0
4
6
18
3
-3
0
1
-1
0
0
0
34
52
-18
-18
8
1
0
0
0
-2
8
-6
30
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
51
18
-52
-20
-86
50
-60
30
-40
41
10
-7
18
-29
38
-11
51
-107
35
25
12
-3
-14
-49
-2
-53
-39
41
63
48
61
-60
0
-23
-10
-68
-49
110
9
79
75
46
4
-48
3
-1
-2
-6
-39
42
-1
96
-54
1
0
0
3
49
17
-19
4
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
16
-23
67
-32
1
1
-1
-3
-1
51
-16
-6
-25
-30
-11
12
3
27
64
42
-39
7
5
-28
4
3
22
66
26
55
-14
-13
5
-4
0
5
101
40
-28
4
44
23
0
0
2
-2
1
84
-47
44
0
0
0
0
0
-8
0
40
15
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
27
-34
-63
27
-29
-15
11
6
17
26
-13
20
-44
-50
30
68
26
3
57
13
-4
3
-7
10
-14
19
66
4
92
53
8
-66
9
55
-2
51
13
9
13
85
40
-19
-11
-1
0
9
10
6
19
24
-5
3
0
0
0
0
3
31
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
75
24
29
4
2
-2
-1
0
28
44
17
19
-30
-2
8
-7
0
69
85
-11
53
-82
68
-22
0
0
2
93
-13
92
-53
-5
-4
0
0
-3
41
44
-37
78
25
1
0
0
0
0
0
42
9
3
1
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
53
26
92
-3
7
-3
-1
3
95
68
35
7
41
54
-25
-103
14
3
103
27
43
23
6
-13
-9
13
-48
9
-48
49
53
25
-3
-3
0
-10
3
35
15
-10
8
2
1
0
0
0
3
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
70
30
35
15
1
0
-7
0
-6
59
35
6
25
20
0
-2
0
-5
52
28
-8
17
31
0
0
0
37
54
12
-5
-75
-7
5
0
0
0
1
2
-10
-14
-3
1
0
0
0
0
-1
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
36
43
-4
0
0
0
0
0
30
60
-13
46
-1
0
0
0
0
-44
18
-4
0
17
0
-2
4
0
-3
63
47
14
13
-1
-6
0
0
0
-7
5
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
42
-13
-13
0
0
0
0
0
58
33
-22
1
30
0
0
0
0
-9
46
25
-17
-8
2
0
0
0
0
10
1
3
13
0
0
0
0
0
0
0
2
-4
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
78
-18
3
0
0
0
0
0
51
45
3
-5
-4
1
0
0
0
-50
4
-5
2
14
0
0
0
0
0
18
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
44
-4
0
0
0
0
0
0
27
49
-8
-5
0
0
0
0
0
0
25
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
2
0
0
0
0
0
0
30
10
-16
1
0
0
0
0
0
7
14
1
0
0
0
0
0
0
0
-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
3
-9
-1
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
16
36
-13
-24
27
-137
-54
-23
-46
-90
-69
-9
-21
-94
-32
41
4
-9
-57
-2
-33
-77
43
-89
-2
-1
-7
-15
-11
-96
5
-50
-68
92
-65
54
-9
37
-61
50
-84
70
34
-3
32
10
43
18
-13
0
-5
0
0
-4
-13
31
-24
14
5
0
0
0
0
0
-10
1
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-79
-131
-13
5
0
0
0
0
9
-13
-99
-22
-35
0
0
0
0
-11
26
-32
-78
-18
7
1
0
0
70
50
-53
-2
-3
-73
0
-2
0
71
12
-63
23
3
-15
3
0
0
5
5
-32
8
-26
-19
4
0
0
0
0
0
14
22
-6
0
0
0
0
0
0
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
6
-60
32
-88
-12
-27
53
23
35
22
-26
-29
-58
7
-70
-14
-67
24
53
4
22
3
24
6
13
-26
3
105
14
30
-1
19
14
-99
-18
-22
32
48
41
-85
-56
18
64
-20
-13
-7
50
52
46
23
-24
43
-12
0
-3
67
2
-47
-4
8
-1
0
0
0
0
8
-8
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
9
-57
-84
10
0
0
0
0
19
79
5
-51
27
-57
-7
-1
-1
-7
81
4
-5
32
-43
-16
2
-1
48
96
92
-37
-63
-4
17
3
0
-23
158
-46
5
-41
34
4
-1
0
0
1
20
63
17
-13
-3
4
0
0
0
0
-15
17
2
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
57
-39
-67
-6
-1
-6
-28
12
49
51
-9
-22
-85
-93
18
-78
-91
46
74
8
71
0
-25
33
-70
-16
67
93
72
-1
-43
-43
28
-44
16
50
45
87
9
-28
-48
-24
37
17
0
7
69
78
43
56
-48
-13
0
0
0
-1
-2
31
7
-1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
111
-54
-39
-19
-6
0
0
0
35
92
-24
-22
20
45
-2
-1
0
113
132
29
-2
-36
-13
-28
1
0
88
37
13
5
-9
-17
7
0
0
-8
15
80
17
47
14
-22
1
0
0
0
35
-17
16
5
2
0
0
0
0
4
-14
41
4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
58
-39
35
-10
-36
-11
-19
39
70
105
-39
-56
-10
98
-10
-18
-32
-22
116
28
75
68
54
-15
-16
25
39
57
15
92
65
23
57
2
-58
-25
99
15
5
54
-9
16
31
7
0
-16
8
25
-21
-1
1
1
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
72
27
13
41
-8
0
-2
0
24
116
30
21
21
-9
-3
6
0
78
28
44
30
-1
8
-6
7
1
52
31
73
-43
20
-1
7
6
0
0
-6
49
17
13
2
0
0
0
0
0
-2
-16
8
8
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
37
5
-25
-17
2
-2
26
-18
63
34
54
65
-43
-16
62
31
30
2
46
53
49
-10
-35
66
63
4
17
22
10
84
29
31
31
-10
-9
-14
16
18
-19
41
16
0
-1
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
44
-49
48
-7
0
0
0
0
49
66
10
20
2
4
-1
2
0
22
95
-3
23
-3
8
1
0
0
2
-9
19
5
5
5
-2
0
0
-2
0
-12
-7
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
26
22
12
0
0
-3
-58
0
23
93
37
-21
-3
-13
1
-20
0
-51
15
-16
46
4
-4
-1
2
0
18
-22
21
31
6
0
2
0
0
0
1
8
0
1
0
0
0
0
0
0
0
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
44
59
-15
-17
0
0
0
0
0
-17
86
-1
48
-5
0
0
0
0
-6
49
-27
-8
2
0
0
0
0
0
0
-14
-2
9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-56
-2
0
0
0
0
0
30
21
1
-10
0
0
0
0
0
22
30
-41
-8
0
1
0
0
0
1
3
4
-2
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-41
-10
5
0
0
0
0
0
-9
1
12
1
0
0
0
0
0
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
17
0
0
0
0
0
0
0
-22
41
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-91
-19
31
-3
-3
-5
-3
5
-28
-52
-74
-2
-33
-59
-3
38
5
-37
-35
-57
-25
-31
-36
69
2
0
-42
-100
8
44
40
43
-2
3
-8
43
-33
0
42
21
-2
-1
-1
0
-6
-16
60
26
-17
-2
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-35
-11
-25
-1
0
0
0
0
-28
-20
-17
18
8
4
-3
0
0
-42
-30
56
55
-37
-1
2
0
0
-60
-31
29
42
-17
2
1
0
0
21
-16
-36
18
-4
1
0
0
0
0
19
-15
-33
-42
-3
0
0
0
0
0
1
2
7
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-17
-23
69
55
17
97
-114
5
-11
-8
-45
62
139
-1
28
-5
58
-27
8
29
65
48
88
-76
-25
-16
26
-5
32
5
41
-22
-34
-19
-1
-26
15
2
27
-3
-45
5
-1
0
0
-33
7
42
8
-7
-3
0
0
0
1
2
-10
1
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-3
-48
-29
3
1
0
0
0
28
19
15
32
22
-23
0
2
-2
57
45
-7
46
-38
-30
0
1
0
15
38
19
27
5
8
1
1
0
32
-19
33
18
-33
12
3
0
0
0
-8
-13
64
-22
16
-4
0
0
0
0
0
-3
42
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
9
30
73
-28
25
-24
50
-10
5
37
28
72
12
85
-12
-10
-1
27
17
46
39
56
-13
-36
86
29
83
-19
-66
118
75
-2
45
-37
1
-5
53
-7
33
23
13
-13
1
0
0
0
15
0
-20
0
-1
0
0
0
0
0
-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
-9
29
20
109
-6
4
4
-17
0
53
39
26
17
-11
46
-5
-2
0
19
105
-7
58
15
68
7
0
0
27
80
57
19
-38
57
17
0
0
0
50
23
-22
-19
-1
3
0
0
0
4
8
-2
49
-2
0
0
0
0
0
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
50
-1
48
0
10
-5
-8
7
20
72
-41
147
-13
-55
28
-22
-4
18
-4
-33
75
25
49
39
23
4
10
30
-4
36
-25
1
-4
8
0
-1
19
-49
-9
7
-1
0
2
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
15
1
10
-1
2
1
5
0
123
70
6
-9
-18
-10
3
-1
0
29
61
-31
2
75
32
0
0
0
89
-85
-13
37
21
13
-1
-4
0
0
-3
-13
44
4
1
0
0
0
0
0
-4
0
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
64
87
-13
-3
0
0
3
0
0
87
24
54
15
1
-3
0
1
0
48
21
-72
18
4
-1
0
-5
0
0
47
-8
2
-9
-1
0
0
0
0
-3
-2
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
36
-19
29
0
0
0
0
0
129
11
-6
9
2
-1
-1
0
0
15
92
43
0
-9
1
0
0
0
0
48
5
4
6
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
34
-42
0
0
0
0
0
0
50
59
10
0
0
0
0
0
0
25
29
-7
-6
2
3
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
13
-21
1
0
0
0
0
0
6
74
-10
-2
-6
0
0
0
0
-8
31
7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-44
-1
0
0
0
0
0
0
19
25
-1
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-8
0
0
0
0
0
0
0
2
-4
-3
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-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
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-47
-61
-9
-24
20
11
66
-5
4
-8
-20
22
-20
-8
-18
-69
-44
-36
29
-12
131
-25
32
-39
1
-25
-12
-20
-48
11
64
-8
35
13
3
-23
53
29
19
34
-13
-3
-1
0
-13
9
9
-2
-3
0
-1
0
0
0
0
0
-1
0
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
12
13
-106
-2
-1
0
0
0
0
17
9
-2
7
-3
0
0
0
0
-20
38
-24
-46
30
0
1
0
0
32
7
70
-2
-46
0
0
-1
0
-1
-12
24
-20
20
20
0
0
0
3
0
0
37
-2
2
1
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
7
-25
-11
101
5
-1
7
-23
36
42
-13
94
49
-29
-14
12
8
7
91
-15
94
-90
49
-37
-48
-67
-32
32
-23
77
-17
27
49
55
8
14
86
25
20
8
-24
1
-1
0
0
3
-12
41
1
-4
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
51
-41
24
-6
0
-1
0
0
24
59
-24
35
-63
-4
-6
13
0
17
58
43
22
-18
-7
-2
-3
0
89
-3
32
51
-66
7
0
-1
0
10
-19
40
-12
-9
-6
2
0
0
0
0
0
2
8
-1
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
63
42
42
-26
34
-75
84
15
43
27
-6
31
72
46
110
-21
69
30
103
-27
49
51
18
-9
90
28
-66
102
-13
39
46
40
15
42
5
-39
-2
-5
49
19
13
0
-3
0
0
0
0
8
4
-2
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
68
-17
-11
-1
-1
0
4
0
89
127
9
-57
3
-7
2
3
0
32
25
30
45
25
1
-3
0
0
-1
49
2
24
20
20
0
0
0
-3
0
-1
15
-13
4
0
0
0
0
0
0
4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
19
-76
49
8
34
6
102
-5
32
66
-75
87
-20
11
23
-33
40
-29
49
-6
23
24
71
-13
35
8
2
65
24
-10
-39
23
10
0
0
-2
-27
0
17
8
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
46
40
-2
-3
0
0
0
0
69
43
49
14
-8
-6
0
-1
0
31
25
66
1
-23
2
4
0
0
5
-27
-13
20
27
0
0
0
0
0
0
9
0
3
0
0
0
0
0
0
0
0
-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
33
72
-50
13
0
0
10
-5
3
32
73
25
5
19
9
0
-48
-2
32
19
53
8
5
-2
2
1
0
-3
42
32
-20
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
30
44
-1
0
0
0
0
0
-57
107
23
24
1
-2
0
0
0
21
-21
42
24
2
-2
0
0
0
0
-3
-25
2
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
-40
-5
-1
0
0
0
0
0
-20
41
-13
8
0
0
0
0
0
23
-21
13
-6
0
0
0
0
0
-2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
40
-50
0
0
0
0
0
0
20
-29
25
2
0
0
0
0
0
1
25
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
41
0
0
0
0
0
0
0
13
-41
-1
1
0
0
0
0
0
0
-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
-3
-5
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
9
4
2
0
0
-13
-9
0
-38
-30
-25
-4
0
0
7
0
0
-10
-24
36
-13
0
1
0
-1
0
-16
3
4
-2
-2
-1
0
0
0
3
-14
4
-2
0
0
2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-46
-12
-2
0
0
0
0
0
33
-2
-25
-66
-1
0
0
0
0
36
3
-30
40
-5
-1
0
0
0
48
-14
-8
-2
-1
0
0
0
0
0
5
-1
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
-40
75
24
0
-4
-3
0
-8
-35
-16
56
30
-4
-8
19
2
0
62
-50
19
-6
4
-3
-2
-4
2
8
-32
-53
-11
1
2
-2
0
0
6
37
2
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-9
15
-25
0
0
0
0
0
105
-23
-30
50
-2
0
1
0
0
38
30
-16
38
-8
0
0
0
0
4
59
35
-52
1
-1
0
0
0
0
1
14
43
-4
-1
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
3
-41
2
1
-14
-4
-2
-1
36
-45
66
-41
2
2
3
9
6
46
45
-18
-15
8
0
-8
3
3
6
17
22
22
-1
1
0
1
0
0
3
-2
-4
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
91
-15
2
0
0
0
0
0
36
40
0
44
-8
0
0
-1
0
12
66
-57
-28
0
0
0
0
0
3
74
3
-8
-6
-9
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
17
5
0
0
8
0
0
-1
-1
-3
29
0
-1
-2
0
0
-14
-46
59
-13
4
0
0
0
0
5
13
8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
90
-42
0
1
0
0
0
0
65
64
-29
-8
1
0
0
0
0
31
12
41
4
2
0
0
0
0
-2
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
22
13
0
0
0
0
0
0
51
-20
-24
0
-2
0
0
0
0
-39
8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
35
0
0
0
0
0
0
0
-5
5
-8
0
0
0
0
0
0
1
3
0
0
-2
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
27
-2
0
0
0
0
0
0
-43
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
40
5
-19
0
-3
-3
-3
3
-2
-32
-13
-19
-3
-9
-2
4
3
-43
-2
-86
17
-2
3
-1
6
0
-119
-11
-5
16
1
-1
0
0
0
-2
14
-3
8
0
0
0
0
0
0
0
-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
-13
6
-24
7
0
0
0
0
0
-28
76
-38
-1
0
0
0
0
0
43
41
-52
34
-5
0
0
0
0
-23
42
4
-20
0
0
0
0
0
-3
-4
-6
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
119
-19
6
0
-2
31
8
5
11
-55
76
1
0
22
41
-2
13
-11
-6
13
-6
0
5
4
5
-66
9
20
31
0
-1
0
0
0
1
5
0
-8
0
0
-7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-21
50
3
0
0
0
0
0
-50
103
-51
24
0
0
0
0
0
58
24
-67
18
0
0
0
0
0
34
27
-45
9
4
1
0
0
0
-2
0
-2
0
-3
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
26
-18
15
2
0
3
-41
10
-11
52
-31
30
-10
0
-2
2
-18
-64
129
22
61
2
1
0
2
1
27
-34
14
-8
-2
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
67
-25
-25
8
0
0
0
0
67
122
-16
6
-2
3
0
0
0
-7
31
41
-18
0
4
0
0
0
-6
1
-13
-1
1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
44
74
-7
0
0
-2
1
-1
55
24
55
7
5
0
1
2
0
31
-13
-22
5
1
0
1
-3
0
14
5
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
90
-9
-3
2
0
0
0
0
11
50
-48
2
0
0
0
0
0
-18
-5
19
0
4
0
0
0
0
0
0
4
3
-5
0
0
0
0
0
0
0
0
-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
-44
20
24
0
0
0
-1
0
0
-21
31
10
0
0
0
2
5
0
-29
18
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-39
-3
0
0
0
0
0
0
69
-3
-8
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-44
2
1
0
0
0
0
0
19
34
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
-2
-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
-1
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-118
-18
-2
0
0
0
0
0
0
-56
11
-12
0
0
0
0
0
0
-20
14
-4
-1
0
0
0
0
0
-8
-1
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-13
-4
-4
0
0
0
0
0
-64
-22
6
1
0
0
0
0
0
-50
52
13
0
0
0
0
0
0
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
47
1
0
1
0
0
4
0
-59
-3
24
4
0
0
0
0
0
16
51
12
0
0
0
0
0
0
-1
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
18
0
0
0
0
0
0
116
-39
-32
-4
0
0
0
0
0
-44
60
42
-2
0
0
0
0
0
0
4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
66
-2
0
0
0
0
-1
0
-38
57
0
0
0
0
0
0
0
-10
9
0
2
1
0
0
0
0
3
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-23
-8
0
0
0
0
0
0
48
2
-17
0
0
0
0
0
0
-12
22
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
104
2
0
0
0
0
0
0
8
29
1
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
4
-3
-3
0
0
0
0
0
13
-32
8
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
6
1
1
0
0
0
0
0
0
0
-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
3
-1
1
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
200
-72
-1
3
0
0
0
0
0
-36
-7
12
0
0
0
0
0
0
61
-77
-3
-1
0
0
0
0
0
-1
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
0
0
0
0
0
0
35
26
-5
0
0
0
0
0
0
9
-30
25
5
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
68
-4
2
5
0
0
0
-1
-5
-56
60
0
-1
0
1
0
0
34
-51
-23
3
0
0
0
0
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-25
0
3
0
0
0
0
0
2
-31
1
1
0
0
0
0
0
2
-23
5
-4
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-1
1
0
0
0
6
0
10
98
-22
0
1
0
0
0
0
-57
10
25
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-11
0
0
0
0
0
0
0
-8
-47
8
-2
0
0
0
0
0
0
-4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-4
0
0
0
0
0
0
0
8
-66
2
0
0
0
0
0
0
-1
-2
-1
-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
-13
42
0
0
0
0
0
0
0
3
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
61
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
53
0
0
0
0
0
0
0
16
19
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
-3
-49
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
1
0
0
0
0
0
0
-5
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-9
1
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
17
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
7
-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
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
0
0
0
0
0
0
0
13
-5
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
5
-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
-1
-5
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-38
-80
-9
-5
-6
0
-9
-1
-37
-91
-85
-41
-66
-64
-9
2
0
-1
-94
-22
18
-115
-13
-92
-68
-13
-40
7
0
-19
-112
-41
-66
-90
-26
42
-50
-101
57
-20
-80
-65
69
-16
50
-24
7
84
-24
-102
9
-10
0
0
-13
-52
10
-5
60
2
-3
0
0
0
0
14
1
13
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-50
-89
-14
0
0
0
0
0
-64
-101
-55
14
-48
-3
-1
0
0
-38
-30
-91
-12
16
-25
-6
0
0
-12
16
11
4
-16
-24
-17
0
0
-6
24
4
-1
-121
38
-13
2
0
-13
87
-31
36
6
-19
-46
-2
0
0
0
51
23
15
-43
7
0
0
0
0
0
0
33
-21
4
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-78
-54
-38
-49
14
-19
0
-41
47
-39
-74
-78
-24
-29
-21
-24
-67
-85
22
-26
-16
26
-66
-32
-53
-44
-55
48
2
-19
27
-66
-77
-47
-54
35
44
36
-26
-12
-50
21
-4
35
19
31
78
26
44
30
-28
-55
3
-2
-1
5
14
-29
21
40
-5
2
0
0
0
0
51
6
-13
-1
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-48
-100
-26
-2
0
0
0
0
-17
13
-62
-53
-82
-9
11
-1
-3
40
-9
33
9
-99
-4
-92
-8
4
-17
27
2
17
13
30
-1
46
4
17
40
33
-22
-17
-34
-31
-2
0
5
29
65
-39
2
8
5
-1
0
0
0
27
51
-5
23
-19
1
0
0
0
-2
12
-6
42
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
25
-14
-69
-41
49
-48
-23
-49
8
7
1
5
-30
44
38
-49
-79
6
30
10
-29
-37
-57
3
-10
0
26
50
11
-9
24
7
58
-28
-25
82
35
15
20
38
77
37
16
30
4
28
-5
-28
13
21
58
-5
1
0
0
7
44
-33
-27
3
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
-28
-34
-66
1
1
-1
-3
90
29
-15
-49
-97
-24
8
12
3
-6
45
39
-12
-28
-15
3
-9
3
29
38
37
34
-38
-4
21
-7
0
-21
127
2
55
10
36
9
-1
0
2
0
22
-28
-27
39
42
0
0
0
0
-12
-7
66
4
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
32
6
13
44
-53
-25
28
-6
-7
29
30
-31
8
-84
13
-11
-42
55
51
26
60
-58
-47
34
15
22
2
90
56
52
14
-45
37
48
-17
5
89
-19
31
22
37
0
-22
-1
0
12
70
-18
9
16
-5
3
0
0
0
0
-2
33
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
95
32
-5
45
2
-2
-1
0
10
54
5
8
17
-21
20
-7
0
21
61
44
11
-4
49
2
-37
0
-4
15
-6
89
32
47
19
0
0
-4
68
28
-49
84
-27
8
0
0
0
0
4
75
-32
13
1
0
0
0
0
0
4
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
45
-13
27
0
7
-3
-1
3
-12
28
70
50
19
45
2
-52
-40
-20
50
42
23
73
-13
53
-35
34
-40
-18
8
109
52
26
-16
18
0
-9
29
63
5
-4
8
2
1
0
0
0
3
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
52
21
14
1
0
-7
0
-16
30
18
46
10
24
0
-2
0
58
-49
30
36
17
21
0
0
0
37
54
-6
-4
-67
-6
5
0
0
0
1
-8
29
-14
34
1
0
0
0
0
-1
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
95
58
-4
0
0
0
0
0
-58
41
-2
67
-1
0
0
0
0
14
-39
14
48
8
-5
-2
4
0
-38
1
49
27
16
-2
-6
0
0
0
-8
5
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
45
-5
-15
0
0
0
0
0
51
90
-28
-2
18
0
0
0
0
-52
66
68
-30
-10
8
0
0
0
0
6
8
1
13
0
0
0
0
0
0
0
2
-5
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
89
-14
3
0
0
0
0
0
-41
40
-8
4
-4
1
0
0
0
-96
33
-16
4
14
0
0
0
0
-1
14
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
13
66
-8
-8
0
0
0
0
0
0
19
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
2
0
0
0
0
0
0
35
48
-22
1
0
0
0
0
0
1
20
1
0
0
0
0
0
0
0
-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
3
-10
-1
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
69
-31
-1
1
-14
12
-42
-60
-40
-14
-192
-46
-10
-7
-25
-27
31
-40
-35
4
-22
-76
-36
-19
-96
-53
14
8
-38
-8
-74
-15
-58
-47
-37
-65
90
1
21
11
-62
-69
28
21
22
-29
-15
69
3
35
0
-43
-6
0
-6
-1
-19
19
0
4
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-25
-56
-6
5
0
0
0
0
-31
-58
-22
-28
-25
0
0
0
0
-57
-50
30
-82
-14
-1
1
0
0
5
10
-20
-36
-13
-61
5
-2
0
94
23
-42
-41
-35
-22
4
0
0
5
7
-41
-26
6
-13
16
0
0
0
0
1
5
56
-8
0
0
0
0
0
0
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-4
-57
71
-83
2
-58
14
87
-22
-13
-61
81
-83
26
-61
-34
-32
17
20
-15
18
18
-42
-6
-28
-27
6
47
-1
42
-13
39
27
61
-6
-25
50
-7
31
-47
-27
60
40
18
-5
30
-6
28
20
22
-3
58
-13
0
-3
79
41
-31
-8
6
-1
0
0
0
0
7
-12
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-37
-41
7
0
0
0
0
11
26
-26
52
35
-53
-7
-1
-1
5
13
53
6
17
-40
-23
8
-1
113
58
-23
-12
-24
78
3
30
0
-32
77
37
-44
-46
8
-7
-4
0
0
1
-2
39
4
44
2
4
0
0
0
-1
-15
-22
6
-1
0
0
0
0
0
-1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-11
22
-22
58
-11
-4
50
-8
5
20
-3
56
-43
-62
-41
-28
-69
18
55
21
58
-19
-13
-16
-3
-113
11
78
25
10
47
31
25
-27
87
60
65
60
42
59
-107
-6
37
-2
0
50
78
48
64
5
-93
-13
5
0
0
1
10
30
8
-1
1
0
0
0
0
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
-3
-13
-10
-5
0
0
0
40
31
19
-20
5
39
-14
-1
0
79
82
16
25
-15
60
-43
-23
0
77
141
-38
-13
11
30
-1
7
0
-7
52
89
-2
28
18
-41
1
0
0
0
59
-22
-58
26
2
0
0
0
0
4
-14
74
14
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-18
19
62
-13
-41
-4
-2
27
-15
49
31
-22
-61
113
74
-65
23
38
43
36
65
-46
44
-11
42
3
6
100
48
93
35
-6
-16
-16
-4
-66
71
-24
3
47
-4
49
32
9
0
-19
3
78
-13
19
1
1
0
0
0
0
-5
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
46
-37
-19
42
-8
0
-2
0
62
39
53
25
7
-18
-3
6
0
63
-13
14
48
79
31
-16
-13
1
110
41
13
-47
0
15
10
8
0
0
-4
41
26
6
19
0
0
0
0
0
-2
-24
66
8
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
43
21
22
-2
4
26
-34
-37
-25
67
55
76
-24
-3
33
4
4
-127
65
69
46
-21
67
81
25
26
2
20
-27
75
30
75
51
-35
0
-17
36
12
-46
89
17
0
-1
0
0
0
0
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
44
-82
46
-7
0
0
0
0
61
25
15
5
1
3
-1
2
0
46
123
-27
-4
5
11
1
0
0
2
2
8
43
21
3
-2
0
0
-2
0
-22
-10
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
37
41
12
0
0
-3
-3
0
-1
120
14
-3
-2
-25
2
-48
0
-97
104
-19
27
30
-4
-3
2
0
22
-35
-9
65
5
0
2
0
0
0
1
9
-4
1
0
0
0
0
0
0
0
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
27
15
-4
-21
0
0
0
0
0
0
51
-15
57
-6
0
0
0
0
-5
79
-27
-14
2
0
0
0
0
0
1
-16
0
12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
30
-49
-2
0
0
0
0
0
34
-2
-43
-5
0
0
0
0
0
0
72
-33
-54
0
1
0
0
0
1
5
4
-1
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-35
-12
5
0
0
0
0
0
-8
25
11
-1
0
0
0
0
0
-4
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-20
0
0
0
0
0
0
0
-19
55
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-48
24
-13
-3
-3
-5
2
5
-74
-20
8
5
-32
-7
-7
10
5
-52
20
-75
5
-20
-50
44
3
0
-32
4
-45
-8
58
42
-1
4
-8
20
-38
-41
6
25
13
-1
-1
0
-6
-15
58
75
-31
-2
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-30
38
-16
-1
0
0
0
0
-14
-7
27
-30
18
4
-3
0
0
55
-34
-21
-25
-20
0
2
0
0
19
15
-43
50
-15
-5
1
0
0
-1
-60
-53
67
22
6
0
0
0
0
19
-21
-10
-60
28
0
0
0
0
0
1
2
6
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
4
-1
-1
15
16
2
-8
1
-114
0
-22
0
124
4
-66
-21
14
5
4
-33
13
73
22
-58
-30
-9
12
23
-6
-39
41
-26
-32
-25
-1
30
12
-18
49
9
-46
2
-1
0
0
-41
5
30
5
0
-4
0
0
0
1
2
-12
1
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-65
-32
8
5
1
0
0
0
-56
21
20
11
72
5
0
2
-2
-3
23
0
43
20
-27
0
1
0
-12
36
19
6
26
-5
1
1
0
33
-11
-7
-13
36
38
3
0
0
0
-8
-19
110
-50
28
-4
0
0
0
0
0
-4
37
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
39
42
48
-16
15
18
36
-8
38
-2
-26
30
20
1
-16
13
4
-34
2
50
31
32
24
-39
66
2
33
-7
13
5
35
-2
59
8
1
-15
130
-59
55
45
21
-25
1
0
0
0
15
5
-13
0
-1
0
0
0
0
0
-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
57
-16
12
77
0
4
4
-17
0
27
42
-50
25
-25
41
-5
-2
0
75
14
-3
-20
-37
22
7
0
0
61
36
56
-7
10
20
13
0
0
0
75
-3
75
-43
7
1
0
0
0
4
10
52
41
-7
0
0
0
0
0
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
47
-14
9
0
13
-7
-8
-9
-14
24
61
81
-43
-58
-2
-49
0
-4
-5
-117
59
43
92
40
8
4
34
70
-20
30
-50
8
-4
9
0
-1
52
-80
-5
16
-1
0
2
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
58
14
18
0
2
1
5
0
-25
79
5
-13
-15
-9
3
-1
0
-5
-28
-14
43
96
22
0
0
0
155
-79
-11
-19
1
23
-1
-4
0
0
-3
-13
61
9
0
0
0
0
0
0
-4
1
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
4
-17
43
0
0
0
3
0
0
-4
-15
53
41
1
-3
0
1
0
38
-7
-21
38
5
-1
0
-5
0
-6
37
-5
1
-9
0
0
0
0
0
-3
-2
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
41
-40
25
0
0
0
0
0
23
61
-31
16
2
-1
-1
0
0
-9
90
51
28
-14
1
0
0
0
-2
54
-8
5
5
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
78
-42
0
0
0
0
0
0
-15
59
27
3
0
0
0
0
0
7
5
-34
-5
2
3
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
45
-25
1
0
0
0
0
0
19
66
-48
-3
-6
0
0
0
0
-10
16
-13
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-43
-1
0
0
0
0
0
0
39
31
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
16
0
0
0
0
0
0
0
2
3
-3
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-30
-69
25
-2
12
0
-1
7
-24
-85
-18
47
-63
-39
30
-42
-4
-52
-50
-19
55
-16
57
-8
-30
-13
-28
-24
44
9
51
-20
12
-18
9
-31
27
-28
8
71
-19
-3
2
0
-13
13
13
-45
-5
0
-1
0
0
0
0
0
-1
0
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
-23
-6
-69
-3
-1
0
0
0
0
-15
-31
14
-26
-3
0
0
0
0
77
-4
-52
-17
-16
0
1
0
0
-43
28
13
31
-71
1
0
-1
0
7
-14
-33
7
53
47
0
0
0
3
0
3
28
1
3
1
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
45
-77
-23
5
4
1
-2
-9
-29
0
38
6
22
-27
4
0
-25
0
15
-20
55
-25
-24
-5
-47
-14
-13
60
-26
17
10
4
0
26
3
34
7
25
-16
-3
-39
18
7
0
0
0
-31
-14
3
-7
8
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-4
43
37
-6
0
-1
0
0
-13
94
-55
-18
-95
-2
-6
13
0
-6
31
2
54
19
-44
-2
-3
0
85
-10
89
-46
-47
-20
0
-1
0
9
5
65
14
-8
-30
2
0
0
0
0
0
2
20
-2
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-37
65
15
6
30
-46
90
-41
-33
-6
43
41
15
38
18
36
34
-20
16
-24
138
-6
64
-7
53
26
-79
29
-4
12
73
43
32
22
5
-30
-6
-26
59
3
45
0
-3
0
0
0
-1
5
5
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-11
3
1
-2
-1
0
4
0
-42
47
19
-67
9
55
2
3
0
-1
79
-2
11
48
-2
-3
0
0
22
137
37
1
9
-8
0
0
0
-3
5
-33
25
-15
14
0
0
0
0
0
0
4
-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
-1
-61
-81
67
41
3
-23
63
5
1
53
-13
75
-91
-6
75
61
41
22
97
-61
-38
6
66
-5
32
8
-22
58
7
-19
-86
42
13
0
0
-2
-27
-5
14
10
1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
53
-4
-16
-3
0
0
0
0
49
89
-17
-5
1
-6
0
-1
0
112
5
1
17
-32
3
4
0
0
5
-53
17
27
34
0
0
0
0
0
0
8
2
8
0
0
0
0
0
0
0
0
-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
-9
4
-40
13
0
0
13
-6
3
8
62
20
42
24
9
0
-4
-2
39
-30
75
-22
6
-1
2
1
0
-6
64
-16
-31
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
48
12
0
0
0
0
0
0
-93
72
-34
45
1
-2
0
0
0
22
10
55
30
2
-2
0
0
0
0
-3
-28
2
4
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
57
-14
-1
0
0
0
0
0
-20
16
-13
8
0
0
0
0
0
75
-129
47
-8
0
0
0
0
0
-3
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
46
-56
0
0
0
0
0
0
-33
17
45
2
0
0
0
0
0
-1
33
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
0
0
0
0
0
0
0
33
-35
-1
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-1
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
34
4
2
0
0
-13
-9
0
18
-24
-32
-5
0
0
7
0
0
-26
-44
21
-13
0
1
0
-1
0
-57
-25
-40
-3
-2
-1
0
0
0
2
-13
5
-2
0
0
2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-5
-2
0
0
0
0
0
-57
18
-22
-60
-1
0
0
0
0
-18
31
-90
30
-5
-1
0
0
0
8
22
11
-17
-1
0
0
0
0
0
5
0
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
12
14
20
0
-4
-3
2
-8
-71
32
26
-19
-4
-8
19
2
0
-61
10
-16
-14
4
0
-2
-4
2
-31
26
-63
-9
1
2
-2
0
0
-2
30
17
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
10
-16
-25
0
0
0
0
0
46
9
-43
49
-3
0
1
0
0
-22
-39
-1
39
0
0
0
0
0
-5
46
-13
-91
0
-1
0
0
0
0
1
15
50
-3
-1
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
14
-48
2
1
-14
-4
-2
-1
8
-2
-1
-43
2
0
3
9
6
-11
68
-53
-23
8
0
-10
3
3
-30
51
31
8
-1
1
0
1
0
0
5
-1
-1
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
3
-58
2
0
0
0
0
0
31
39
11
14
-9
0
0
-1
0
43
66
-40
-33
-2
0
0
0
0
5
94
-3
7
-5
-9
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
23
-6
5
0
0
8
0
0
-31
7
-11
29
0
-1
-2
0
0
-17
-12
31
-19
4
0
0
0
0
9
14
17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
36
-49
0
1
0
0
0
0
80
-3
-31
-9
1
0
0
0
0
76
20
14
7
3
0
0
0
0
-2
0
4
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
7
10
0
0
0
0
0
0
25
23
-24
0
-2
0
0
0
0
-31
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-2
0
0
0
0
0
0
27
-7
25
0
0
0
0
0
0
2
8
0
0
-2
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
10
-2
0
0
0
0
0
0
-29
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-43
25
-14
0
-3
-3
-3
3
5
-61
-20
-16
-3
-7
-2
4
3
-66
-33
-62
17
-2
3
-1
6
0
-62
-1
41
14
1
-1
0
0
0
-2
15
-3
8
0
0
0
0
0
0
0
-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
-12
43
-42
6
0
0
0
0
0
-60
94
-10
-1
0
0
0
0
0
-9
-65
-5
14
-5
0
0
0
0
-25
46
-8
-16
0
0
0
0
0
-3
-4
-6
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
75
32
-34
-3
0
-3
-4
-3
-23
-90
-23
29
4
0
13
0
-2
-76
15
-34
33
-6
0
5
4
5
-89
61
9
29
0
-1
0
0
0
1
5
-3
-5
0
0
-7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
49
11
3
0
0
0
0
0
-14
-4
-51
27
0
0
0
0
0
93
-9
-92
-2
0
0
0
0
0
39
27
-51
14
5
1
0
0
0
-2
0
-1
0
-3
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
31
-3
16
2
0
3
-10
13
-17
13
-4
41
-10
-1
-2
2
1
-50
79
26
53
0
1
0
2
1
16
-20
34
-13
-2
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
58
-43
-24
8
0
0
0
0
57
83
-11
8
-2
3
0
0
0
-28
50
8
-25
1
4
0
0
0
-6
-3
-32
-7
1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
88
41
-6
0
0
-2
1
-1
67
-22
-19
7
5
0
1
2
0
-6
39
-33
1
1
0
1
-3
0
14
8
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
77
-13
-3
2
0
0
0
0
-7
46
-52
2
0
0
0
0
0
-13
5
18
0
4
0
0
0
0
0
0
4
3
-5
0
0
0
0
0
0
0
0
-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
-18
43
22
0
0
0
-1
0
0
-63
-1
6
0
0
0
2
5
0
-30
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-50
-3
0
0
0
0
0
0
91
19
-12
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
2
1
0
0
0
0
0
23
46
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
-2
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-2
0
0
0
0
0
0
-37
5
-12
0
0
0
0
0
0
7
-8
-4
-1
0
0
0
0
0
-8
-1
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-8
-4
-4
0
0
0
0
0
-72
29
1
1
0
0
0
0
0
-48
13
14
0
0
0
0
0
0
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
40
0
0
1
0
0
4
0
-46
-34
34
4
0
0
0
0
0
24
17
15
0
0
0
0
0
0
-1
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-18
13
0
0
0
0
0
0
101
-33
-37
-4
0
0
0
0
0
-15
-7
51
-2
0
0
0
0
0
0
4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-2
0
0
0
0
-1
0
-30
-58
2
0
0
0
0
0
0
-8
27
0
2
1
0
0
0
0
3
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-52
-8
0
0
0
0
0
0
25
58
-15
0
0
0
0
0
0
-12
32
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
49
2
0
0
0
0
0
0
13
15
1
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-1
-3
-3
0
0
0
0
0
8
-4
9
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
0
0
0
0
0
0
0
7
1
1
0
0
0
0
0
0
0
-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
3
-1
1
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-42
-1
3
0
0
0
0
0
-26
-15
8
0
0
0
0
0
0
51
-67
-3
-1
0
0
0
0
0
-2
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
3
0
0
0
0
0
0
7
10
-5
0
0
0
0
0
0
10
-41
25
5
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-31
-3
2
5
0
0
0
-1
-57
-10
51
0
-1
0
1
0
0
75
-33
-21
3
0
0
0
0
0
-5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-13
0
3
0
0
0
0
0
-10
-31
3
1
0
0
0
0
0
3
-14
6
-4
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-82
-1
1
0
0
0
6
0
-14
76
-18
0
1
0
0
0
0
-53
31
33
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-16
-18
8
-2
0
0
0
0
0
0
-3
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-6
0
0
0
0
0
0
0
13
-48
2
0
0
0
0
0
0
1
-2
-1
-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
-13
45
0
0
0
0
0
0
0
3
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
52
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
25
0
0
0
0
0
0
0
14
22
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
-3
-49
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
1
0
0
0
0
0
0
-5
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-9
1
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
7
-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
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
5
-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
-1
-1
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-23
-8
0
0
0
0
0
0
-33
25
-18
3
1
0
-1
1
0
51
-70
-25
-4
-2
0
-1
0
0
5
4
-48
29
-8
-25
-1
-1
-3
5
39
29
-21
-22
-5
0
0
0
0
-1
-23
-15
-4
20
1
0
0
0
0
0
6
3
-6
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-24
2
-4
0
0
0
0
0
-46
19
-14
-7
-7
0
-1
0
0
7
-21
-5
49
9
1
-1
0
0
-19
81
25
1
-9
-19
0
1
0
-2
4
17
30
-12
7
0
0
0
0
0
2
9
23
1
-2
0
0
0
0
0
-1
27
-3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
-51
-58
-6
9
0
0
-1
-7
0
52
-26
-2
38
-3
-17
-8
-3
-5
49
36
19
1
-27
8
5
-5
3
69
-11
21
24
-9
4
-19
8
-1
-4
23
-18
67
-5
24
-9
0
0
-1
1
1
8
5
-3
8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
-3
1
0
0
0
0
0
-36
32
-9
-13
-33
-2
0
0
0
8
-24
22
39
-42
-10
0
-2
0
-29
44
13
8
-13
2
-10
0
1
13
9
-6
43
18
-6
-15
1
0
1
-22
7
17
-16
28
4
-1
0
0
0
9
25
5
6
0
0
0
0
0
-1
4
-21
25
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-32
6
19
-2
-1
0
0
0
0
15
-82
-45
7
12
4
8
8
0
42
-18
6
39
-5
5
-19
13
7
32
57
-11
59
15
9
9
18
0
-20
54
81
-24
-18
44
0
8
1
-2
-14
31
-13
-12
8
10
-1
0
0
0
0
2
-5
1
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
-45
3
2
0
0
0
0
-8
26
2
-2
8
-3
-3
-1
0
1
48
-22
63
10
0
-1
0
1
10
-25
68
-40
29
-8
25
-2
0
0
-34
-14
36
13
-43
-5
0
0
1
0
0
-30
13
-2
-4
0
0
0
0
1
13
27
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-47
-3
-4
6
-1
0
0
0
-37
-11
28
4
0
-15
5
-5
0
-34
29
52
-4
-5
-2
41
1
0
-34
-22
-5
24
-5
14
21
-4
-1
-12
50
5
15
17
0
2
-1
0
0
4
1
1
13
-9
-1
2
0
0
0
0
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
-3
102
-48
0
1
-1
0
0
0
-22
33
-5
34
-44
-8
1
0
0
-36
57
1
0
9
6
0
1
0
58
33
-43
6
24
1
-13
0
0
0
9
-6
-12
-11
2
0
0
0
0
0
4
8
-25
10
0
0
0
0
0
0
1
7
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
-18
9
2
17
2
1
0
0
0
-48
2
-30
13
0
14
5
0
0
23
13
-17
-5
9
-17
16
-1
0
14
41
-16
29
-6
2
-4
0
0
-5
4
10
14
4
1
1
0
0
0
0
2
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
-15
-3
2
0
0
0
0
-1
-27
34
-27
9
8
0
0
0
16
20
-43
-3
4
19
0
0
0
33
11
6
-5
-4
12
3
0
0
0
0
4
-10
-22
-4
1
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
42
5
4
0
0
0
0
0
-22
-22
11
5
3
0
-1
0
0
-9
9
-10
17
3
-2
0
0
0
-1
-22
16
18
2
0
0
0
0
0
-10
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
13
4
-1
0
0
0
0
0
46
-12
13
-10
20
0
0
0
0
-18
4
7
-13
-7
0
0
0
0
0
-8
24
-4
17
1
0
0
0
0
0
0
1
-3
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-14
3
1
0
0
0
0
0
-45
-4
-9
-4
-2
0
0
0
0
-39
-22
-3
-7
3
0
0
0
0
0
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
19
0
0
0
0
0
0
0
17
14
-5
-2
1
0
0
0
0
1
25
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
1
0
0
0
0
0
0
10
-8
2
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
39
-8
0
0
0
0
1
0
22
-59
-5
12
-7
10
-1
-1
-4
12
8
-13
-13
7
4
-18
-3
-1
6
11
-31
9
28
5
8
0
2
0
7
-22
9
-18
45
0
-1
0
0
-1
2
8
7
6
3
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-24
-15
-8
0
0
0
0
0
-13
-49
9
-16
-23
1
0
0
0
14
22
-3
-7
-44
0
0
-1
0
35
14
-22
22
-8
4
0
0
0
2
0
-4
45
0
13
-1
0
0
0
0
0
18
19
-8
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-12
1
3
0
0
0
0
0
26
-41
-5
25
0
-9
-5
-25
-8
22
7
-53
-9
-1
-10
-14
-8
-2
48
-18
-11
-13
14
22
19
10
-4
-13
53
-20
45
19
7
4
-2
-3
1
31
-1
-43
-23
30
-2
2
0
0
-2
-7
14
-5
-13
2
0
0
0
0
1
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-5
1
-1
0
0
0
0
0
46
0
-17
-7
-17
-3
-1
0
0
-7
31
23
5
-4
13
0
0
0
-9
-10
-31
-9
2
25
5
0
0
18
10
86
-21
10
-16
6
0
0
1
0
-16
33
3
0
0
4
0
0
0
0
-8
-29
13
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
14
-6
1
5
1
1
1
22
-32
20
32
-10
23
-7
2
-7
-48
76
8
-17
-6
1
12
13
-5
-6
-33
-26
42
-28
9
-5
-5
33
-32
5
31
99
15
-7
-6
5
3
-2
6
7
-33
18
20
-3
0
0
0
0
-2
19
19
5
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-42
8
-12
-3
0
0
0
0
9
15
7
9
3
5
0
0
0
-9
47
19
-19
7
13
1
-1
0
10
24
-15
-26
14
-16
2
1
0
4
14
5
-13
-18
-1
-6
0
0
0
0
-7
-5
40
7
0
0
0
0
0
0
-5
42
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-100
32
-14
1
0
1
1
0
-58
-49
81
13
-6
13
-22
-9
-4
-4
27
-12
-5
-8
-6
3
13
13
17
8
-13
3
18
-3
-5
-13
0
-19
58
-26
3
14
4
3
1
0
2
-14
24
49
-17
5
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
25
-27
-4
2
-3
0
0
0
-15
6
-1
44
0
-2
0
0
0
14
-66
11
20
-29
13
0
2
0
17
-3
-28
-10
-10
16
1
0
0
0
-1
12
18
-10
-6
1
0
0
0
0
0
-6
27
4
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-13
24
0
-2
0
2
0
0
-45
26
-26
5
-3
-4
4
-2
0
30
2
-22
-9
-3
8
7
4
-1
-13
1
-42
45
-5
12
2
0
0
-4
2
13
-8
8
10
-1
0
0
0
0
1
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
10
4
0
0
0
0
0
-42
13
24
-3
8
0
1
0
0
-9
19
15
3
-1
5
0
0
0
2
-19
-14
5
16
2
-3
0
0
0
0
-25
-9
-12
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-32
6
8
0
0
0
0
0
-49
-11
-8
-2
-1
1
0
0
0
5
74
-5
35
8
0
-1
0
0
15
-19
-15
48
0
0
0
0
0
0
2
8
-9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-25
-5
-4
0
0
0
0
0
-1
-25
-27
5
-3
0
0
0
0
-14
14
-3
2
-3
0
0
0
0
0
2
-6
-1
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
-8
0
0
0
0
0
0
-13
-43
-2
-2
0
0
0
0
0
5
48
-6
-18
0
1
0
0
0
2
-5
3
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
2
0
0
0
0
0
-7
-7
8
0
0
0
0
0
0
-3
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
0
-32
7
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
34
-27
-2
2
0
0
0
0
0
18
-25
-4
-30
-1
0
-2
0
0
0
-41
0
-10
-5
0
1
0
0
-1
-1
4
0
0
-1
0
0
0
0
0
0
-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
-31
1
-3
-6
0
0
0
0
0
23
-36
-43
1
0
0
0
0
0
48
6
-25
22
-18
-3
0
0
0
1
1
-13
8
16
1
0
0
0
0
0
-4
0
-5
1
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
-7
-29
19
-6
1
2
0
3
0
-24
-65
-31
49
1
-1
-3
0
0
7
35
12
19
7
8
0
0
-1
-3
-3
-23
-13
4
2
1
0
0
-1
1
0
-7
-3
-1
-1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
1
0
0
0
0
0
0
6
5
-19
-10
-4
0
0
0
0
-1
13
4
8
35
-3
-1
0
0
14
-30
-5
6
-8
-7
1
0
0
12
3
5
-22
5
22
-1
0
0
0
0
-5
21
1
-7
-1
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
2
1
-1
0
0
-2
0
22
-30
-18
7
4
1
0
0
0
18
79
-63
14
-27
18
0
0
-2
40
71
-14
6
17
-6
4
0
0
8
25
-16
53
6
7
-1
0
0
0
-1
2
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
17
-8
-1
0
0
0
0
0
-19
13
-16
0
-12
2
0
-1
0
28
45
18
-40
-12
9
-3
0
0
8
-8
-25
-13
37
20
4
0
0
0
6
7
1
-5
7
1
0
0
0
0
1
4
8
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
-9
-3
0
0
0
0
0
43
-22
-26
-5
-1
0
-3
-2
0
0
10
-43
-5
19
7
-1
1
0
17
43
-20
-22
-18
0
-1
1
0
0
23
8
-10
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
75
-22
5
0
0
0
0
0
-10
21
15
-27
-6
-1
0
0
0
6
46
-16
-31
35
3
0
0
0
34
27
-7
7
-9
6
0
0
0
0
-3
-19
7
1
2
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
-19
-1
0
0
0
0
0
-69
-38
43
0
-1
-1
0
0
0
-1
2
22
14
1
-3
1
0
0
16
3
-5
3
-5
-1
0
0
0
0
-5
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
-14
0
0
0
0
0
0
-34
55
8
10
3
-1
0
0
0
-31
42
8
4
-31
0
0
0
0
1
5
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-4
0
0
0
0
0
0
23
0
4
-2
1
0
0
0
0
8
-4
-6
-2
0
2
0
0
0
0
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
6
-8
-4
0
0
0
0
0
0
9
8
-20
2
-4
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
0
0
0
0
0
0
0
3
-21
-1
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
1
-8
-3
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
20
-8
0
-1
0
0
0
0
-28
14
-48
-13
0
0
0
0
0
-10
-23
-23
0
3
-1
0
2
0
-8
19
-17
1
3
0
0
0
0
-2
0
5
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
-8
-15
3
0
0
0
0
0
42
-5
-19
-13
0
0
0
0
0
-44
13
-5
12
-7
-2
0
0
0
-1
-4
-16
2
-8
1
0
0
0
1
0
-1
-1
1
1
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
22
-4
0
0
0
0
-1
0
-21
26
-1
6
-13
-1
-1
1
-1
5
-39
-2
1
-12
6
-2
-10
-3
12
-10
-29
5
28
3
9
-1
0
-2
-8
-15
14
0
-3
0
0
0
0
-3
4
-16
1
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
-3
0
0
0
0
0
0
6
-41
-1
-10
0
2
0
0
0
11
-58
-3
-8
14
1
0
0
0
-19
13
44
-7
-5
-4
1
0
0
-2
13
34
22
-5
4
2
0
0
0
0
0
-1
9
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-5
1
-1
0
0
2
0
-21
24
22
-2
-3
-19
-3
-2
0
-47
4
-50
22
-10
15
4
6
-1
-27
2
31
9
8
-1
0
4
0
-17
8
-5
-5
1
2
0
-1
0
0
0
0
4
-2
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
5
0
0
0
0
0
0
-23
32
11
6
-12
-3
0
0
0
-8
60
-26
5
-17
0
-1
0
0
13
-10
26
25
-4
-7
-1
0
0
-1
4
3
22
8
1
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
-3
0
0
0
0
-1
0
-22
-23
7
4
0
-1
1
0
2
65
50
-50
-9
-9
-1
-5
0
3
2
19
18
-12
-15
6
1
0
0
-4
-8
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
8
-1
-1
0
0
0
0
-30
49
-14
-17
1
0
0
0
0
30
-9
12
8
7
2
-1
0
0
1
-9
-8
12
-8
-1
0
0
0
0
0
6
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-46
-14
-2
0
0
0
0
0
1
60
-16
7
2
0
0
0
0
66
-19
1
-16
2
0
0
0
0
30
31
-3
-7
1
0
0
0
0
0
0
-1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
-23
-2
0
0
0
0
0
-3
13
-21
17
0
0
0
0
0
10
-15
41
-1
-5
-2
0
0
0
0
-2
-8
2
-3
0
0
0
0
0
0
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
1
-1
0
0
0
0
0
-4
7
8
-2
0
0
0
0
0
44
-31
9
-2
0
0
0
0
0
-2
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-43
-23
0
0
0
0
0
0
-9
31
17
0
-1
0
0
0
0
0
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
1
1
0
0
0
0
0
0
0
8
3
-1
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
-12
-12
-2
0
0
0
0
0
0
-8
31
-7
-2
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
17
-1
0
0
0
0
0
0
-17
2
-1
1
0
0
0
0
0
7
2
5
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
0
-25
22
0
0
0
0
0
0
0
-75
43
-15
-2
0
-1
0
0
0
5
28
-16
-3
0
0
-1
0
0
3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-2
0
0
0
0
0
0
-13
-14
-6
2
-1
0
0
0
0
-12
14
-5
14
1
0
0
0
0
-17
-4
4
-14
-1
-1
0
0
0
0
0
7
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-16
2
0
0
0
0
0
0
-73
13
24
-2
0
-3
0
2
0
-14
-17
-3
0
4
0
0
0
0
13
5
-5
0
-1
0
0
0
0
0
1
2
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
4
0
0
0
0
0
0
-18
-9
-9
22
-1
0
0
0
0
9
-3
-33
-12
-1
0
0
0
0
12
18
-13
-5
-2
-1
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-14
-1
2
0
0
0
0
0
-24
44
0
-1
0
0
0
0
0
9
-10
15
-7
0
0
0
0
0
7
17
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
-5
0
0
0
0
0
0
31
-15
13
2
0
1
0
0
0
0
29
-7
6
1
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
1
0
0
0
0
0
0
-6
-13
-5
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-5
-1
0
0
0
0
0
0
-6
3
-8
0
0
0
0
0
0
2
2
0
0
-1
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
10
-4
0
0
0
0
0
0
0
-17
0
-17
0
0
0
0
0
0
-24
-7
6
-3
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
-2
0
0
0
0
0
0
4
-1
-7
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
-1
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
-42
1
34
0
-1
0
0
0
-1
-55
32
7
8
1
0
1
0
0
15
22
-15
6
0
0
0
-1
0
1
1
-1
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-1
0
0
0
0
0
0
-10
-9
-25
2
1
0
0
0
0
9
5
-18
-9
0
0
0
0
0
1
1
-18
-1
3
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
1
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
3
-16
7
0
0
0
0
0
0
16
39
-17
14
0
0
0
0
-1
-45
16
-8
0
-1
0
0
0
0
13
17
-2
3
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
2
-2
0
0
0
0
0
-17
13
-4
-1
-1
0
0
0
0
22
-5
-3
8
-1
1
0
0
0
0
2
-2
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
10
0
-1
0
0
0
0
0
1
-11
3
3
4
0
0
0
0
22
27
-14
4
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
1
-2
0
0
0
0
0
13
-14
23
1
0
0
0
0
0
-8
-15
4
0
1
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
0
0
-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
13
8
3
0
0
0
0
0
0
-37
31
2
0
0
0
0
0
0
-10
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
20
-3
0
0
0
0
0
0
12
4
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
3
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
1
-1
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
5
2
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
49
-8
1
-1
0
0
0
0
0
1
8
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-22
-34
0
0
0
0
0
0
0
-10
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
7
-1
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
-8
6
-1
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
1
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
0
14
-8
-5
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-17
23
-4
0
1
0
0
0
0
-5
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-6
12
1
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
0
0
0
0
0
0
0
-12
-22
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-31
-9
83
0
0
0
0
0
0
10
-40
-6
109
0
0
0
0
0
17
26
-23
-10
178
0
0
0
0
9
8
4
-53
-16
41
0
0
0
-18
-51
-5
44
-122
-76
-19
0
0
-44
-52
-64
-67
-66
54
9
93
0
31
2
31
-59
-18
-104
-148
262
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
36
130
0
0
0
0
0
0
0
50
-20
-25
0
0
0
0
0
0
90
45
-13
75
0
0
0
0
0
53
83
-3
66
-51
0
0
0
0
51
98
70
57
-21
5
0
0
0
49
5
-5
33
-6
18
-47
0
0
10
-25
-5
78
92
119
58
125
0
-62
-42
-93
-14
-24
37
7
224
-16
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
-11
42
0
0
0
0
0
0
0
-54
-75
42
0
0
0
0
0
0
-33
-102
-89
65
0
0
0
0
0
-65
-48
-43
38
-26
0
0
0
0
-10
9
-80
-88
-75
95
0
0
0
-76
0
-61
-48
-53
-156
85
0
0
10
-51
-21
-161
-71
-7
-182
167
0
-2
13
-28
-57
-77
-77
-138
-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
52
0
0
0
0
0
0
0
0
-8
-18
0
0
0
0
0
0
0
-97
-48
-22
0
0
0
0
0
0
-1
-22
39
-21
0
0
0
0
0
-7
-31
-38
71
30
0
0
0
0
15
-7
-86
-13
-67
71
0
0
0
5
79
-75
-47
102
10
-24
0
0
0
40
-32
-35
-53
-5
8
7
48
0
0
0
0
0
0
0
0
0
11
75
0
0
0
0
0
0
0
0
42
25
-4
0
0
0
0
0
0
0
-13
2
1
0
0
0
0
0
0
0
134
40
60
-59
-14
0
0
0
0
0
122
90
58
49
-69
4
0
0
0
0
59
65
156
10
11
-47
-85
0
0
0
49
51
78
5
-67
-23
-38
-79
0
0
48
24
49
61
-151
-116
-187
-181
-163
0
99
131
151
-63
-52
-150
-118
-84
38
-27
0
0
0
0
0
0
0
0
0
0
0
126
0
0
0
0
0
0
0
0
0
-65
52
0
0
0
0
0
0
0
0
-4
-1
-5
0
0
0
0
0
0
0
13
-3
-95
-8
0
0
0
0
0
0
6
108
-3
-6
-73
0
0
0
0
0
23
-19
-28
14
20
-41
0
0
0
0
-39
-59
2
-29
3
-35
47
0
0
0
-85
-89
-35
-14
-18
56
-12
3
0
0
32
-48
-13
49
70
-10
-66
-80
-41
0
0
0
0
0
0
0
0
0
0
114
0
0
0
0
0
0
0
0
0
57
74
0
0
0
0
0
0
0
0
37
52
40
0
0
0
0
0
0
0
30
86
-26
10
0
0
0
0
0
0
-32
40
-25
-22
-6
0
0
0
0
0
52
34
-11
-1
34
-33
0
0
0
0
41
51
-59
-4
20
-19
-33
0
0
0
9
95
120
-2
-25
-61
142
5
0
0
53
-5
-15
4
10
-25
37
42
39
0
0
0
0
0
0
0
0
0
0
0
0
123
0
0
0
0
0
0
0
0
0
-22
50
0
0
0
0
0
0
0
0
22
-40
-32
0
0
0
0
0
0
0
71
24
-78
5
0
0
0
0
0
0
62
41
60
69
29
0
0
0
0
0
-64
7
57
13
18
-5
0
0
0
0
166
43
49
-8
22
13
-1
0
0
0
16
-20
-62
-69
26
13
16
3
0
0
46
-39
-97
5
-23
-10
-1
24
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
123
0
0
0
0
0
0
0
0
4
60
0
0
0
0
0
0
0
-31
-12
47
0
0
0
0
0
0
-19
-50
-53
61
0
0
0
0
0
-39
-29
-57
-77
60
0
0
0
0
-8
-63
-67
-51
-48
4
0
0
0
-86
-147
-45
47
-156
14
-5
0
0
-34
-70
-79
-77
-115
19
-20
-6
0
23
41
-118
-31
-85
-96
-123
232
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
22
-12
0
0
0
0
0
0
0
84
31
31
0
0
0
0
0
0
32
76
-22
-61
0
0
0
0
0
12
34
-41
-50
128
0
0
0
0
13
-83
119
101
71
0
0
0
0
-32
35
-25
-8
-21
-2
24
0
0
-17
-72
-23
41
2
-28
124
20
0
-44
-42
-44
-8
11
-30
30
96
14
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
36
26
0
0
0
0
0
0
0
4
-14
25
0
0
0
0
0
0
-85
14
-5
18
0
0
0
0
0
-49
-57
-72
14
26
0
0
0
0
-51
-11
-58
-42
-72
18
0
0
0
-15
-35
-35
-59
-50
-50
56
0
0
62
-73
-32
-57
-83
-105
-99
35
0
51
11
-57
-67
-68
-42
-84
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-57
-17
0
0
0
0
0
0
0
-17
-87
-4
0
0
0
0
0
0
-8
-67
47
39
0
0
0
0
0
-39
-21
-61
-25
31
0
0
0
0
-3
-2
-24
21
54
-22
0
0
0
-10
-63
34
91
60
7
71
0
0
-12
-17
29
-10
50
68
-8
43
-3
0
0
0
0
0
0
0
0
0
46
151
0
0
0
0
0
0
0
0
16
43
107
0
0
0
0
0
0
0
-56
0
-8
0
0
0
0
0
0
0
45
-6
53
2
-15
0
0
0
0
0
47
-20
57
-7
1
-99
0
0
0
0
67
63
7
12
-24
-108
-109
0
0
0
39
40
44
-5
-70
-54
-39
-19
0
0
72
50
17
24
-149
-110
-134
-90
-116
0
50
54
48
-6
-94
-25
-68
-10
-108
-59
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
-15
36
0
0
0
0
0
0
0
0
-21
-7
1
0
0
0
0
0
0
0
-82
-72
38
13
0
0
0
0
0
0
19
41
-103
-59
31
0
0
0
0
0
27
-48
-42
23
19
-65
0
0
0
0
4
33
33
60
23
85
57
0
0
0
20
-3
4
41
4
-21
0
-133
0
0
8
9
21
17
11
12
-29
-19
-37
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
36
61
0
0
0
0
0
0
0
0
38
93
58
0
0
0
0
0
0
0
-3
31
-107
-17
0
0
0
0
0
0
20
-19
-9
-31
0
0
0
0
0
0
-21
32
-24
-8
60
-35
0
0
0
0
101
53
-78
-12
-29
-55
31
0
0
0
45
-18
28
-14
5
12
-54
13
0
0
-7
-62
6
-8
-11
-68
-34
-17
60
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
66
-51
0
0
0
0
0
0
0
0
34
17
30
0
0
0
0
0
0
0
27
90
-9
32
0
0
0
0
0
0
-16
42
-3
-15
75
0
0
0
0
0
42
30
50
42
66
5
0
0
0
0
-15
57
52
-7
-55
77
-2
0
0
0
20
-5
51
78
68
22
136
0
0
0
34
1
-101
10
19
-29
5
77
0
0
0
0
0
0
0
0
0
0
0
106
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
11
9
0
0
0
0
0
0
0
4
-60
51
0
0
0
0
0
0
-8
-48
1
-63
0
0
0
0
0
-10
-32
-26
-51
21
0
0
0
0
8
-9
-2
-81
-54
43
0
0
0
-108
-71
-21
30
-67
37
43
0
0
-45
-64
-45
-123
-41
-32
-26
26
0
-31
56
-111
-29
-35
-102
-60
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-32
-20
0
0
0
0
0
0
0
84
4
52
0
0
0
0
0
0
-58
37
124
-31
0
0
0
0
0
10
13
-5
-38
68
0
0
0
0
22
22
68
92
52
-35
0
0
0
-4
24
45
-45
-18
6
-32
0
0
-9
-6
6
51
49
-16
98
12
0
-41
-58
37
-36
-6
58
-40
22
-4
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-74
-28
0
0
0
0
0
0
0
-52
-101
-23
0
0
0
0
0
0
-12
-75
8
5
0
0
0
0
0
-13
-11
-62
41
50
0
0
0
0
-47
-60
31
-4
-38
26
0
0
0
-80
-114
27
-93
-57
-66
45
0
0
18
-14
-25
-66
-76
-93
-105
70
0
28
68
-24
-66
-10
-21
-98
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-20
14
0
0
0
0
0
0
0
76
-34
-8
0
0
0
0
0
0
-28
-29
8
13
0
0
0
0
0
8
20
-26
31
31
0
0
0
0
24
67
66
97
22
10
0
0
0
37
50
27
-36
33
-63
90
0
0
8
18
40
3
31
-63
-29
-25
-41
0
0
0
0
0
0
0
0
0
17
73
0
0
0
0
0
0
0
0
-25
82
83
0
0
0
0
0
0
0
8
-21
22
0
0
0
0
0
0
0
3
11
-4
42
-27
0
0
0
0
0
123
88
21
-15
-12
-49
0
0
0
0
48
26
13
-9
-56
-117
-118
0
0
0
22
37
31
30
-43
11
3
2
0
0
43
48
50
7
-30
-4
-56
-166
3
0
47
6
47
-20
-41
-35
6
-41
-89
27
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
105
15
0
0
0
0
0
0
0
0
-27
75
41
0
0
0
0
0
0
0
25
-26
45
84
0
0
0
0
0
0
23
8
-102
-76
22
0
0
0
0
0
20
24
58
113
28
-9
0
0
0
0
8
-32
83
83
-72
58
-5
0
0
0
25
-48
-51
35
79
-7
-20
-88
0
0
50
31
-37
-59
-72
39
-4
27
-5
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
11
75
0
0
0
0
0
0
0
0
48
-24
-41
0
0
0
0
0
0
0
48
51
4
9
0
0
0
0
0
0
-24
-46
-46
-23
-54
0
0
0
0
0
2
59
42
13
24
-52
0
0
0
0
-77
-36
-50
-13
8
7
111
0
0
0
-12
-75
-41
-5
3
4
-76
33
0
0
52
-45
38
-6
-3
-35
-31
-15
-13
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
86
7
0
0
0
0
0
0
0
0
-19
2
98
0
0
0
0
0
0
0
-62
49
1
-1
0
0
0
0
0
0
3
-17
13
86
23
0
0
0
0
0
32
-10
6
51
40
13
0
0
0
0
-41
93
12
5
-24
43
-2
0
0
0
-23
51
-49
105
21
25
68
0
0
0
-100
4
-8
10
62
-9
3
15
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
-30
-42
0
0
0
0
0
0
0
14
13
52
0
0
0
0
0
0
41
9
1
-59
0
0
0
0
0
12
24
59
-2
51
0
0
0
0
7
13
26
-30
-54
10
0
0
0
-21
-1
2
0
-43
12
-28
0
0
31
8
-12
-25
-6
-31
8
45
0
14
5
22
-8
10
-1
-46
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-23
7
0
0
0
0
0
0
0
6
5
-1
0
0
0
0
0
0
-17
-7
5
0
0
0
0
0
0
1
-2
0
1
1
0
0
0
0
13
-3
0
4
-6
-1
0
0
0
21
5
12
-2
0
0
0
0
0
-29
-44
64
12
-22
-25
-4
-9
0
-15
-8
50
5
-42
-30
-35
-5
-6
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-21
-2
-46
0
0
0
0
0
0
13
5
-35
-62
0
0
0
0
0
0
8
24
21
-2
0
0
0
0
22
-13
6
7
-7
-106
0
0
0
-5
-37
-43
-77
21
-14
12
0
0
-12
-3
43
-52
-17
14
-54
29
0
-50
-44
-12
26
31
-20
-68
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
5
0
0
0
0
0
0
4
3
1
2
0
0
0
0
0
-1
12
-1
14
0
0
0
0
0
-5
37
-5
18
0
13
0
0
0
-33
-2
25
-42
0
-23
5
0
0
29
16
10
-19
49
-43
16
0
-49
0
0
0
0
0
0
0
0
0
13
-27
0
0
0
0
0
0
0
0
5
-23
31
0
0
0
0
0
0
0
13
-1
7
0
0
0
0
0
0
0
51
25
-11
0
-5
0
0
0
0
0
8
-3
42
5
-12
0
0
0
0
0
6
22
25
6
-6
-1
-2
0
0
0
-3
78
18
5
-10
-7
-5
5
0
0
10
-14
6
41
27
-3
2
-42
-19
0
42
-105
-31
-19
0
-1
-8
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
0
0
0
-70
-25
0
0
0
0
0
0
0
0
-6
42
2
0
0
0
0
0
0
0
-13
7
-31
8
0
0
0
0
0
0
10
12
-19
-20
0
0
0
0
0
0
7
-1
21
31
21
2
0
0
0
0
9
1
36
-31
-19
-13
-1
0
0
0
45
-86
-11
48
38
-4
-10
15
0
0
75
55
11
-11
51
37
-24
-2
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
54
17
0
0
0
0
0
0
0
0
5
-17
-28
0
0
0
0
0
0
0
-4
44
0
49
0
0
0
0
0
0
-44
34
-7
-1
-1
0
0
0
0
0
50
39
-3
0
-3
8
0
0
0
0
22
-13
17
0
3
3
37
0
0
0
47
1
3
0
-1
0
-7
-1
0
0
1
0
-16
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
-59
22
0
0
0
0
0
0
0
0
40
25
42
0
0
0
0
0
0
0
-28
-11
-28
-5
0
0
0
0
0
0
-17
-5
10
3
-2
0
0
0
0
0
-50
-1
2
-7
9
0
0
0
0
0
5
37
8
-4
0
0
0
0
0
0
8
5
-19
-4
-1
-1
0
0
0
0
21
4
-1
4
0
1
0
0
0
0
0
-4
0
0
1
-2
0
0
-75
-17
3
105
-31
41
0
0
0
-33
-2
6
0
-5
0
0
4
-9
15
73
-23
39
0
0
0
42
8
1
0
-43
0
0
-55
-22
-4
21
-74
-22
0
0
0
-33
-13
-13
0
9
0
0
85
-20
-8
31
42
-18
0
0
0
25
6
-42
2
-3
0
0
-75
125
49
-108
-24
17
0
0
0
26
-34
-87
29
40
0
0
-65
134
-8
-86
-18
48
0
0
0
-198
0
-86
-7
72
0
0
-85
97
-52
-140
-66
-101
0
0
0
14
0
-27
8
-85
0
0
-4
107
-25
-92
-24
62
0
0
0
-23
-8
0
12
2
0
0
-61
-16
-108
45
5
128
0
0
0
21
0
-5
-1
63
0
0
-31
-30
-44
-19
-4
24
0
0
0
-49
12
4
0
-51
0
0
-38
6
4
11
-89
25
0
0
0
-103
-14
9
6
55
0
0
40
79
7
-93
-4
-43
0
0
0
43
18
-101
30
9
0
0
-117
15
21
-1
-111
-19
0
0
0
42
8
-108
60
13
0
0
-58
24
-49
1
26
257
0
0
0
-22
0
-73
10
94
0
0
-93
91
17
-31
-7
-67
0
0
0
-31
2
-28
45
-11
0
0
-98
51
-40
4
-22
-65
0
0
0
-21
-8
0
9
2
0
0
-29
65
-50
31
81
47
0
0
0
10
1
-5
-2
7
0
0
4
6
-42
-8
-65
42
0
0
0
-30
9
4
0
-35
0
0
29
0
2
-18
-94
9
0
0
0
-67
-13
-3
6
19
0
0
-43
95
6
-66
13
-24
0
0
0
72
23
-48
24
121
0
0
25
55
13
0
-70
69
0
0
0
76
8
-3
-2
75
0
0
-54
-53
-2
-17
-136
81
0
0
0
-43
0
-44
2
38
0
0
-96
-81
16
8
-73
45
0
0
0
-46
2
-45
17
18
0
0
-76
6
-43
40
-106
-104
0
0
0
0
-1
0
0
1
0
0
-15
57
0
8
-9
1
0
0
0
7
0
0
0
0
0
0
31
-25
0
4
-1
-2
0
0
0
-1
0
0
0
3
0
0
25
-3
0
0
34
0
0
0
0
1
0
0
0
0
0
0
-8
-3
0
-5
-4
-1
0
0
0
4
1
-2
0
10
0
0
3
-24
0
-23
-13
42
0
0
0
-5
1
1
-2
9
0
0
-16
71
14
-3
-10
-4
0
0
0
-4
0
0
0
7
0
0
-3
-41
0
-13
-22
13
0
0
0
1
0
0
0
1
0
0
1
-45
-5
-4
-6
-1
0
0
0
0
0
-2
0
-22
0
0
-42
5
-23
-51
-42
8
-28
0
0
0
0
0
0
-60
-18
0
-176
-72
-88
-52
-72
-80
-64
0
0
-4
0
0
0
-1
0
0
23
-28
7
19
35
0
-25
0
0
23
-1
12
1
-31
-1
0
-34
-8
-80
-8
-22
-5
-29
0
0
-54
0
8
3
-49
-42
0
-104
-4
-102
-112
-98
-15
-140
0
0
6
-5
14
-23
-1
0
0
-42
-13
-55
-38
21
20
-40
0
0
-51
-1
7
1
-17
2
0
32
5
14
-14
-44
-141
-45
0
0
-44
0
6
3
-29
22
0
-107
2
-24
-46
-69
13
-112
0
0
38
-12
3
-12
-1
0
0
-59
-13
-88
3
50
20
-41
0
0
-4
0
0
0
-7
-1
0
-49
15
-34
54
-51
4
-25
0
0
7
0
-1
2
1
1
0
-48
-64
-24
24
-77
-22
18
0
0
0
0
0
-1
0
0
0
-15
5
-10
-10
6
-1
-8
7
-3
10
-1
18
20
1
-4
9
-8
10
16
2
-7
1
-14
53
-1
54
-1
-18
3
-25
31
-23
21
8
-8
24
29
-25
30
3
-7
5
-8
19
17
14
18
22
4
25
-7
2
14
-2
36
-38
6
43
-15
-1
-37
14
4
-31
40
17
-12
-29
-27
-6
2
13
21
5
1
3
13
-1
7
-4
-31
-5
-54
-29
-7
-28
-5
13
17
24
-13
46
4
5
43
-27
-5
8
0
-22
-13
-8
1
-8
0
7
9
-4
-8
-5
4
5
-3
-3
6
-46
17
17
9
-24
28
-25
-8
36
-5
1
-8
43
70
-9
54
6
15
-1
-8
2
6
-9
-7
2
4
-1
-2
3
2
-1
-7
5
-21
3
-22
-65
16
-20
29
-29
-14
56
-9
-38
17
-29
10
-28
27
9
16
2
-4
12
-20
2
5
-7
-8
7
7
5
7
9
5
6
-4
15
-19
35
-41
-48
-1
-6
0
-53
18
-45
-24
-27
15
3
-4
5
-13
-8
1
4
-4
2
8
3
-38
-5
2
-15
-29
2
-76
-6
25
-18
-8
-16
7
15
8
55
0
49
1
26
-4
28
2
4
-32
-2
13
2
-9
10
-7
7
-29
-13
-13
-21
0
-13
2
-9
-22
10
21
14
-16
-2
2
15
-4
-8
17
-16
-3
-1
-1
8
19
-12
-5
-16
3
-5
10
5
2
-6
0
12
-4
5
11
21
-9
-33
22
14
10
-18
-1
-39
-76
0
15
4
13
-44
29
-9
15
-11
6
-8
9
-6
4
0
-12
-9
2
3
8
10
3
36
44
82
8
42
3
14
41
11
-26
-1
-25
41
2
12
-15
-21
10
-20
-9
-11
-6
-15
-26
4
10
-6
2
8
-5
-10
11
40
-34
37
6
-47
-22
-24
42
33
-15
-58
44
3
-10
5
14
-5
-4
-50
-49
-4
-40
-18
-20
2
-8
-22
1
9
12
3
-9
14
0
-19
-19
-13
-13
-10
-7
3
-3
30
-5
23
-5
-8
43
-16
22
5
-33
1
-2
-12
5
-3
15
9
-4
4
11
4
-5
14
47
64
16
6
13
52
-6
-42
-53
8
-2
28
-8
1
-5
-8
-6
-7
-10
-3
-2
-4
4
4
-13
10
25
4
2
35
10
10
-47
-25
-23
-8
14
-17
-18
-18
-7
-58
-6
-7
-25
35
10
-40
12
-8
21
-25
-18
2
12
-4
-8
-10
-27
-10
6
-7
-16
35
82
-17
-5
-12
23
-8
0
-22
36
-7
31
-13
13
1
-8
13
-46
-73
-42
10
-37
-18
-4
-3
24
5
-22
19
16
-44
27
13
12
4
10
0
-2
5
7
0
-3
14
10
5
12
9
-1
-2
-38
37
8
26
13
27
-30
20
13
17
-22
23
10
41
29
23
59
0
52
6
3
-36
15
-4
7
-28
5
-36
43
23
-32
-24
5
-33
41
7
-18
6
-10
15
-15
31
15
-8
-22
56
-5
14
4
-10
3
21
-4
-20
21
41
39
31
-8
64
-4
-16
4
-22
-58
-44
69
-19
29
3
-10
54
42
21
13
-21
85
-19
-31
-5
18
34
27
-10
-13
27
-17
16
-23
10
52
-3
36
-21
-2
23
-54
51
-7
-31
13
-44
72
41
6
5
-31
-28
0
-7
37
-11
2
-3
38
-16
34
3
-21
-14
-16
52
-27
134
3
43
22
11
16
-33
-41
-17
-18
-24
12
22
25
22
23
42
9
16
-55
24
8
-55
18
-1
-6
-25
9
0
-4
10
28
-4
-17
-15
-28
-8
-14
-14
-25
-23
3
-5
-14
12
17
30
32
32
-13
33
10
41
0
-44
4
31
9
6
-8
63
-17
34
39
35
-18
93
8
-31
-26
-14
-25
-19
-8
-9
1
-67
21
-9
-35
2
19
4
0
2
35
-12
-13
22
17
5
-5
-19
9
74
-22
-3
26
25
18
13
-34
5
15
-10
4
5
10
34
-13
2
-3
25
-5
20
-13
18
-9
7
55
-25
2
2
12
5
-5
8
10
9
-4
-1
-6
19
21
16
-7
-69
8
20
13
-9
12
-31
32
-22
13
6
20
8
19
48
-13
31
-19
29
17
15
-29
20
-3
26
43
43
13
22
-12
-32
34
23
29
-24
63
25
-8
-42
-46
10
-28
7
20
24
18
-25
13
21
19
48
13
13
27
26
-16
1
35
0
-32
35
-6
-25
-25
30
-16
-33
18
3
19
-9
-45
-3
60
15
-13
35
13
-35
32
28
16
21
35
9
-25
14
-32
-41
49
52
27
-39
-4
17
-18
-8
16
-4
4
9
17
-14
33
15
25
54
64
16
21
13
22
23
-5
9
-13
16
52
37
-8
8
-2
23
18
-39
18
0
-2
-13
52
31
94
-23
33
0
25
24
35
5
31
20
48
-23
29
-77
34
3
-4
3
-21
24
61
10
-19
41
26
4
60
1
-59
32
9
42
-35
0
75
-5
-9
-33
15
60
15
17
33
20
-46
-4
-66
7
-1
13
65
22
10
51
-22
40
-13
-17
-5
14
13
9
20
32
-6
23
17
36
-14
7
-17
-6
-8
8
25
-3
46
55
-23
-17
-32
4
9
21
6
1
-4
34
-5
20
14
0
2
9
6
-15
8
-5
10
-8
-6
-2
25
-5
-3
-12
-14
41
16
41
-8
9
-6
43
-1
31
21
-38
7
22
-2
4
5
6
5
13
8
2
8
6
0
0
-11
-4
-9
5
-5
-11
6
-10
11
-9
16
-24
-6
30
23
-25
-60
-20
-18
15
-16
9
5
1
3
-2
3
-4
-18
-2
7
-1
7
-2
-3
1
-58
-50
-56
10
8
3
16
3
26
11
-10
4
18
15
-3
-1
21
5
4
0
2
-5
-5
-1
6
2
-2
-2
-7
-12
-22
-29
-31
-19
21
6
42
-28
-34
25
-8
42
4
31
24
7
16
24
-3
1
9
0
15
-11
-4
-14
-17
-8
25
30
-2
-8
-1
-6
2
24
4
-28
-1
54
-15
-24
-12
43
-2
-28
32
18
100
19
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
11
51
13
-5
9
5
0
-4
2
13
-2
1
-2
12
2
-4
45
6
7
48
18
24
-20
-12
9
63
11
-8
18
-10
0
-37
-14
-6
-8
-2
14
13
8
10
-5
-27
0
5
-3
25
-4
-13
2
5
-7
38
1
25
-7
43
-5
97
-24
-24
-9
-7
1
-16
22
27
-6
-4
5
1
7
14
-8
-2
-9
0
-8
23
13
51
55
-5
-1
9
-21
120
16
-16
29
5
-14
9
8
49
-14
-6
2
12
-4
-16
25
4
0
16
16
-8
-29
22
2
7
-11
77
-13
-10
-30
0
67
72
13
-27
-51
32
18
25
-43
-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
0
0
0
0
0
-4
-8
19
5
-2
1
7
10
-23
42
-39
10
56
-3
25
-16
2
62
8
62
-2
28
9
25
0
-36
43
15
45
5
38
39
-9
1
49
41
25
0
-47
14
15
19
11
57
4
-17
45
-5
52
-6
22
30
8
44
16
-13
-7
31
-50
-10
40
42
20
-13
-11
-20
-65
-15
34
6
71
-8
-10
19
-9
50
-47
27
12
54
-37
-8
0
-31
16
3
-42
-7
-30
89
-9
1
0
41
49
2
16
29
-24
16
75
-23
-15
3
-12
-56
16
67
-49
-24
-37
24
126
-13
66
7
25
-6
-1
24
18
6
14
19
41
28
-42
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-34
-4
23
5
4
-6
-10
-8
30
-13
41
-16
5
46
13
7
8
-13
-26
-51
3
26
-3
14
-27
31
37
4
-13
10
56
25
-1
-23
48
-23
32
-41
4
9
43
-4
-85
-10
-24
28
0
10
37
-20
11
-6
-7
9
-25
-44
35
-4
41
7
-61
67
69
5
12
34
-1
19
-12
6
30
-20
-22
-50
-6
32
-58
30
-3
6
-44
-28
53
22
-5
-46
35
51
66
35
3
7
24
-2
18
12
44
-17
-9
24
-21
22
5
29
0
3
-50
-66
2
7
-3
-10
12
6
30
8
45
-22
-18
30
94
16
29
53
-12
43
-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
0
0
0
0
0
5
-2
9
12
0
0
0
0
9
2
10
0
0
0
0
0
32
-10
-2
-22
0
0
0
0
-40
-15
16
-9
0
0
0
0
5
-7
-2
1
0
0
0
0
12
6
2
-19
0
0
0
0
50
5
-7
14
0
0
0
0
43
22
-29
-26
0
0
0
0
6
2
2
-2
0
0
0
0
10
10
-6
-46
0
0
0
0
-7
28
-2
-10
0
0
0
0
-5
-32
-35
34
0
0
0
0
1
-3
-11
-19
0
0
0
0
32
30
17
17
0
0
0
0
-16
-4
1
-25
0
0
0
0
-1
-8
13
36
0
0
0
0
5
12
-1
-3
0
0
0
0
3
-5
1
-21
0
0
0
0
17
-30
47
3
0
0
0
0
15
5
-33
5
0
0
0
0
1
3
-11
-24
0
0
0
0
-4
-21
0
-12
0
0
0
0
11
30
34
-13
0
0
0
0
8
-42
2
-42
0
0
0
0
3
-8
1
6
0
0
0
0
6
-10
-7
26
0
0
0
0
-1
29
9
-14
0
0
0
0
38
33
84
-41
0
0
0
0
2
-3
-19
16
0
0
0
0
-15
4
-6
15
0
0
0
0
-12
16
13
12
0
0
0
0
17
-22
-2
-2
0
0
0
0
11
8
14
0
0
0
0
0
4
3
7
-9
0
0
0
0
-13
1
50
-23
0
0
0
0
-18
11
1
46
0
0
0
0
11
13
-18
-3
0
0
0
0
10
10
10
-16
0
0
0
0
-8
-6
41
56
0
0
0
0
-2
-31
38
49
0
0
0
0
5
-1
12
14
0
0
0
0
2
2
-13
-21
0
0
0
0
-9
43
20
74
0
0
0
0
-1
7
-17
-19
0
0
0
0
-3
12
15
20
0
0
0
0
-22
-6
34
-4
0
0
0
0
52
26
-11
-25
0
0
0
0
11
-5
-5
17
0
0
0
0
-9
-2
-10
-6
0
0
0
0
-8
-5
-8
16
0
0
0
0
-23
-15
14
-5
0
0
0
0
1
0
2
23
0
0
0
0
-3
-4
-14
-49
0
0
0
0
-13
-1
-10
-46
0
0
0
0
9
-8
-16
47
0
0
0
0
20
-11
-12
30
0
0
0
0
2
-5
-38
-47
0
0
0
0
-4
-10
-23
18
0
0
0
0
15
42
-6
75
0
0
0
0
-4
33
-22
-15
0
0
0
0
2
-3
-11
25
0
0
0
0
-7
36
-3
12
0
0
0
0
-36
-20
57
-26
0
0
0
0
8
-18
0
-17
0
0
0
0
60
-13
-10
31
0
0
0
0
-10
7
-12
15
0
0
0
0
10
-27
9
-4
0
0
0
0
16
36
11
63
0
0
0
0
6
1
16
7
0
0
0
0
64
23
29
-81
0
0
0
0
54
-8
10
-32
0
0
0
0
17
12
-1
28
0
0
0
0
-4
-13
-46
7
0
0
0
0
14
-40
8
16
0
0
0
0
53
44
-13
30
0
0
0
0
49
-12
39
26
0
0
0
0
-13
49
28
10
0
0
0
0
16
36
-3
4
0
0
0
0
51
37
-21
7
0
0
0
0
-19
5
4
-11
0
0
0
0
-13
26
-39
-34
0
0
0
0
12
15
17
-17
0
0
0
0
27
3
36
-4
0
0
0
0
-57
12
-4
4
0
0
0
0
-36
-33
17
-24
0
0
0
0
1
-24
27
-31
0
0
0
0
-8
36
18
-6
0
0
0
0
10
11
52
14
0
0
0
0
84
-41
-41
16
0
0
0
0
62
-43
15
11
0
0
0
0
38
11
-11
5
0
0
0
0
-24
49
-60
-58
0
0
0
0
-27
30
-12
-15
0
0
0
0
15
33
54
19
0
0
0
0
51
-5
18
33
0
0
0
0
56
-54
43
-34
0
0
0
0
-66
-17
10
18
0
0
0
0
5
2
-47
12
0
0
0
0
16
-9
9
-22
0
0
0
0
19
13
-6
20
0
0
0
0
-10
55
3
8
0
0
0
0
11
22
-3
56
0
0
0
0
96
29
-12
-47
0
0
0
0
36
-14
36
-21
0
0
0
0
5
-26
49
-24
0
0
0
0
-13
6
-12
73
0
0
0
0
29
41
-5
8
0
0
0
0
20
21
-46
14
0
0
0
0
24
-15
13
31
0
0
0
0
-5
50
-3
2
0
0
0
0
55
13
-46
67
0
0
0
0
33
-10
-17
13
0
0
0
0
-25
33
-22
2
0
0
0
0
-13
2
-61
40
0
0
0
0
6
64
-26
12
0
0
0
0
-4
31
22
17
0
0
0
0
10
-72
42
29
0
0
0
0
-23
89
23
34
0
0
0
0
-8
47
-17
24
0
0
0
0
12
-41
32
-62
0
0
0
0
-69
-29
20
6
0
0
0
0
-18
29
3
10
0
0
0
0
-6
23
31
-8
0
0
0
0
43
9
17
2
0
0
0
0
-7
15
-7
25
0
0
0
0
-12
39
-38
-8
0
0
0
0
4
61
-42
93
0
0
0
0
1
-12
24
45
0
0
0
0
-2
-1
-6
0
3
1
4
0
-2
3
-6
-23
-6
-6
3
-28
-14
19
64
-25
-37
20
5
-1
6
41
3
45
35
10
-6
16
-11
-13
-2
-3
-2
-14
2
-16
10
-29
-9
-35
14
10
5
3
-14
41
50
4
-64
16
14
5
-11
45
-10
19
6
-22
25
-1
10
-13
3
-10
2
-7
-10
23
14
6
3
-31
-24
2
-22
-10
47
-1
4
-5
20
15
-15
-2
-45
25
22
20
21
-33
16
3
-7
7
4
-3
-9
-11
-9
24
-14
7
-11
-18
-31
-40
13
104
55
-18
48
2
-21
23
10
24
26
2
-22
8
31
-7
9
-1
-4
7
12
12
-8
-11
-1
-9
11
7
8
2
-10
-6
6
-19
26
39
7
49
-3
-29
1
-2
-3
0
33
-24
78
-2
-14
5
-10
7
-3
-6
-9
-1
-6
13
12
13
-10
-7
-3
-14
-7
-28
-17
26
3
-13
-25
17
0
-4
8
17
7
-8
-4
-24
-14
12
-4
-4
5
8
-9
-8
-3
3
1
-1
3
-22
-8
2
1
-6
2
0
-1
25
80
-8
-31
-8
-50
22
-7
1
54
10
42
0
-9
4
4
15
-5
-7
-11
-20
8
34
26
29
10
-15
23
-4
34
0
-1
-7
-29
-8
-8
8
20
-4
2
8
-4
17
-10
27
-2
-4
8
-48
13
-1
18
17
12
-13
-7
-51
-2
-2
-12
23
-2
-8
0
-39
-1
-3
-1
42
57
31
23
24
-8
13
-22
32
-36
-8
-34
30
12
6
-26
-35
2
14
-9
-15
4
0
-41
-32
-20
25
24
22
14
-18
5
-8
4
-12
25
-23
32
-20
3
-12
26
-1
-13
-86
7
1
-7
-40
1
1
-13
-29
2
4
-27
-40
3
-13
21
-28
-21
7
-12
3
18
7
-13
-5
21
3
16
-14
-24
-59
22
-13
-9
-1
27
69
-20
-27
35
6
-22
-18
6
2
5
-8
30
-1
51
-9
47
25
20
-25
-7
33
30
0
28
-5
5
-39
-21
-1
-6
5
-12
-8
3
3
-1
-4
7
7
-3
-45
12
20
3
59
-24
7
13
3
-19
-6
61
45
23
22
-32
21
-9
-21
23
-57
9
5
4
-1
8
7
-12
-10
-20
-8
-26
-1
5
-16
-8
19
-15
-17
-5
-5
1
-13
33
-7
-7
2
-16
-1
-5
13
-3
4
12
-1
-8
-26
3
-3
-5
-10
-2
13
-13
14
34
-37
24
-13
-10
-7
-28
25
3
9
55
1
3
37
26
-24
19
6
26
-37
16
6
34
-4
10
22
3
-6
26
16
56
60
26
4
60
17
16
-5
-5
2
41
-16
13
-21
-20
0
9
-8
-13
40
42
11
27
21
-20
4
15
-15
26
-22
-34
-17
-27
-5
5
84
-41
54
60
3
4
-8
3
23
56
26
-54
-12
-13
3
-3
0
19
-4
54
-23
-9
-3
-22
46
-5
-4
7
-7
13
15
1
6
-56
5
-8
-16
-8
3
50
22
-43
31
29
1
-7
2
-56
-3
-13
-1
5
-9
1
3
1
18
14
-1
18
21
22
-8
28
20
27
-8
22
-3
14
-8
-3
0
12
-17
-11
-2
40
-1
-5
-9
14
-10
18
-6
5
-13
-15
8
8
-31
-1
14
6
-8
-5
-6
41
-8
6
14
0
1
51
54
17
43
5
-5
19
-2
-13
6
-7
-12
6
27
-15
-9
5
1
23
-21
6
-22
16
15
30
33
-3
-9
0
28
10
-2
13
50
-3
49
-6
-23
-7
25
15
14
-8
19
0
2
-4
-8
5
-9
-9
-2
23
-10
-5
3
-9
-1
2
34
22
0
6
-1
11
51
35
-10
20
28
5
-8
14
24
18
9
-4
1
-16
13
8
-59
41
17
10
7
3
-5
1
23
8
15
-19
0
11
-7
10
-17
-15
7
41
-3
-34
2
22
3
-1
-30
12
-6
-8
17
-8
0
10
79
9
44
-8
5
-22
-13
-1
24
17
4
-7
1
-6
25
15
-22
12
-2
18
-13
32
-4
-23
-19
-47
-1
8
-1
7
24
21
70
49
13
-11
-8
0
13
-8
15
60
-12
106
0
-38
8
25
51
17
-41
-3
16
7
-9
0
3
49
-5
8
-1
-7
-6
47
12
-34
8
39
9
49
47
2
0
41
-1
-39
-8
-9
22
11
27
9
-17
3
42
0
-42
-13
6
-23
-12
-1
-9
-13
22
-4
-22
-50
30
-16
2
25
-20
26
-4
-15
13
15
20
-18
66
15
-19
14
-7
-41
-13
-4
-4
-7
4
-10
0
6
1
-27
-17
-44
30
-5
59
1
0
-5
14
-1
17
-8
-7
43
6
1
3
43
16
31
2
-14
17
-7
20
5
0
-9
-1
-7
-1
50
-27
86
21
-30
4
5
3
-8
15
-4
-15
17
34
-41
6
11
-1
-9
-17
-14
42
6
7
-41
0
5
0
-5
-1
1
-4
4
44
7
17
36
-17
21
4
34
-18
5
2
9
19
10
5
34
38
32
-8
-2
10
48
30
-3
-1
-20
13
-20
-1
-12
0
3
-5
43
13
-5
4
-10
-2
29
-8
-35
-3
-25
4
-45
12
23
-23
2
-18
-50
17
45
55
0
-7
5
2
0
-8
1
-3
0
20
-2
49
13
1
15
4
-41
-3
-10
5
7
-27
27
17
-3
23
-22
3
-3
20
3
-16
-1
-4
-1
10
13
-3
-4
-4
4
-10
-7
4
-12
44
-50
36
49
-1
-42
-3
38
-30
55
87
6
28
42
-93
16
-38
0
-62
25
4
-2
-9
13
-17
26
5
-17
-2
2
-11
-15
-18
34
7
19
24
25
-41
-12
-103
-63
-7
-25
-9
17
-25
40
-39
0
-19
9
49
12
44
4
35
29
22
-11
-18
23
22
-15
15
24
15
31
-24
25
-4
-27
-50
43
89
-5
-77
-27
-30
-110
99
-93
85
0
-19
3
25
14
10
17
48
14
-16
8
-51
-8
86
-17
32
-37
-9
23
-4
89
66
-6
24
22
53
100
-9
-41
-22
17
-53
6
4
27
-9
-2
-4
14
24
13
-3
47
0
7
15
50
25
-8
29
-51
41
41
6
121
30
8
47
57
151
61
58
-14
51
-2
-17
1
-18
9
8
14
28
-29
-53
-15
-23
48
48
-5
16
-8
-96
21
-83
-48
-76
5
4
33
51
22
10
-14
2
51
-60
5
39
12
26
4
22
-2
16
2
-3
-9
20
16
39
-14
17
-39
-55
44
-10
-87
101
-7
47
-16
54
-2
-9
16
76
52
51
6
57
-3
21
34
13
17
29
-14
61
-18
39
-28
-51
-12
58
-3
-45
-11
82
-15
-15
-22
-31
60
-6
7
86
8
-69
-10
-44
11
11
-1
5
8
0
29
12
1
7
-9
17
11
14
16
7
20
10
80
-7
53
-29
36
68
68
127
43
27
74
66
7
32
-20
17
-35
58
24
53
-2
5
0
-22
-4
1
9
4
3
-21
65
29
84
-15
69
7
-19
-20
30
77
62
17
58
69
-7
36
-17
-6
-47
59
-4
-12
19
15
4
8
-2
-42
14
24
17
40
99
-44
107
0
-40
-26
-39
35
37
86
-37
83
40
43
15
-9
22
22
25
105
-27
9
-28
61
-4
-13
-19
64
-8
31
9
-8
95
68
1
57
-14
-5
12
-3
61
109
76
43
19
143
56
13
10
14
24
-5
-28
-14
-4
35
0
-19
-17
-3
23
22
6
13
4
-19
66
48
50
-64
60
-2
23
8
80
-7
46
74
-71
-17
-23
37
-5
47
3
4
-22
5
13
6
-2
-41
3
7
-4
-16
46
-104
68
-13
40
60
32
9
-50
10
48
87
64
29
101
17
5
-10
4
29
2
-16
-8
-4
18
-15
-17
5
5
2
9
6
-10
65
-25
105
-23
33
84
72
-23
59
24
147
-61
13
23
152
7
17
-28
57
-13
-13
-21
19
18
22
22
-34
1
4
18
-16
79
-41
-7
7
40
-24
5
-14
42
-5
35
49
45
39
-5
34
28
-64
46
-29
45
13
103
-41
63
62
61
15
-28
57
-7
-47
11
49
74
17
27
-29
47
5
36
32
29
-57
21
-19
-3
-94
41
52
2
23
20
-57
12
36
38
-13
-2
28
9
-15
6
-7
54
40
47
8
24
8
-27
-11
20
28
66
-13
-12
-62
25
-24
0
28
-32
161
-10
92
60
-38
-16
81
-3
-52
17
15
49
47
49
26
60
0
49
2
-23
71
0
43
27
39
-33
18
46
-14
6
-34
129
54
0
-30
-31
85
-1
-29
44
45
81
-67
-5
120
11
84
-42
78
-14
5
71
60
-31
28
5
-66
55
30
78
16
-36
45
87
17
51
-36
23
80
18
101
2
34
57
39
49
15
4
-56
-53
139
24
34
-20
47
-22
20
25
-8
42
14
70
60
35
-30
41
95
-38
-61
58
82
5
84
106
-14
-19
57
53
7
72
-4
63
-42
-16
-70
-90
-20
19
42
-11
19
54
8
3
8
4
-23
22
16
22
27
7
-54
48
27
-12
28
-53
44
-1
43
-14
30
26
49
-73
22
-47
10
53
69
12
76
7
63
-1
7
12
18
18
-2
-43
-9
30
111
-5
49
151
-46
7
33
43
0
6
-50
1
62
22
67
49
-16
0
25
132
72
30
95
-50
60
56
-7
-3
-113
-5
-1
40
-13
55
43
33
95
29
10
23
18
25
104
50
-7
45
36
26
58
23
31
31
-42
27
-2
33
-66
34
-30
146
-56
40
41
-9
6
55
61
54
-77
-14
27
2
5
36
10
-21
36
134
40
-6
49
-10
-24
5
34
55
0
-3
-13
21
48
1
10
4
-19
-79
27
0
58
48
-61
41
-32
24
-10
1
19
14
5
26
86
2
75
-11
16
-31
49
57
-12
13
2
-13
24
3
33
-41
-53
41
107
14
58
16
-5
66
13
109
118
11
86
-5
163
44
59
-10
64
7
-65
-10
26
-9
85
28
-39
8
14
26
4
-43
138
73
98
-12
114
7
48
5
29
29
-41
13
-18
31
23
20
54
49
7
26
-12
-21
-34
29
6
60
50
79
59
-46
89
57
30
30
-71
-4
72
13
84
-3
-1
84
-6
-2
-34
42
-52
-50
54
122
52
-8
-24
-45
-22
3
-14
48
5
-13
-8
-40
113
-9
82
13
40
23
-2
-20
19
-4
22
37
46
-17
-31
19
37
-14
20
5
23
-1
9
35
75
4
-9
-3
-18
31
-31
-29
90
-31
11
-32
-31
-25
-4
-24
53
-12
24
24
-53
111
22
-9
20
135
-4
-70
11
28
-25
24
41
93
55
24
48
2
5
14
12
7
-2
19
3
13
12
12
27
19
15
20
13
4
-67
-13
-2
0
-29
18
52
30
21
43
81
-16
36
41
69
1
-27
-4
19
5
-18
17
-1
11
6
14
11
2
29
-3
-18
-41
14
-14
25
-1
-12
58
121
13
18
25
68
-5
-59
72
22
12
9
-3
3
17
11
1
5
9
19
-5
25
22
25
2
-22
-19
7
20
36
48
54
-21
-25
22
50
12
49
1
27
-47
9
23
-17
4
-8
-1
4
0
7
53
27
14
90
51
45
22
-22
41
15
48
-18
53
7
-25
-59
82
20
52
17
130
117
-25
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-2
49
21
0
-12
15
-2
9
12
8
11
-4
7
-4
24
16
-22
-3
8
41
-7
92
37
22
32
-24
3
-13
30
-25
-16
-14
16
1
1
-28
8
-28
-6
-11
22
-14
5
0
33
5
2
2
19
48
46
-5
51
40
40
54
86
63
56
5
5
143
8
-5
3
-47
7
-3
-5
15
7
-8
-2
5
-19
3
-9
9
12
31
14
5
46
95
26
123
-34
41
-14
37
45
6
9
-3
-9
-23
11
-18
4
12
-9
18
-1
21
13
66
1
-3
-18
53
24
42
28
-39
9
92
100
58
-2
50
18
42
58
-21
36
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
-1
31
38
-52
-7
108
64
21
42
20
16
0
-38
76
-43
-44
19
13
-19
2
20
59
40
-39
-18
48
3
-8
7
45
-30
-35
28
8
30
-16
6
22
-5
37
53
45
49
40
45
91
-4
-34
2
89
10
4
29
46
0
36
18
58
8
17
57
93
-56
9
-9
38
54
59
27
26
-7
42
-5
50
62
26
37
163
-15
13
-23
22
1
-38
-27
61
-39
-42
3
95
-18
5
45
12
55
70
5
-1
119
-22
-12
65
-25
23
97
162
57
-2
8
58
20
-44
28
39
94
40
51
110
26
75
74
14
65
13
13
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
46
45
-18
26
-53
23
39
24
40
-17
109
8
9
39
58
19
4
62
22
39
-3
-20
7
6
23
-6
25
16
-4
-9
4
37
45
15
55
0
-18
-44
49
51
40
34
52
-17
39
13
11
46
-5
3
70
-19
0
43
29
-3
-7
25
66
0
-26
52
99
29
-32
29
60
10
87
-12
23
33
57
-1
69
-26
2
-3
143
9
0
-4
53
-2
-8
-29
34
-4
60
4
35
0
26
-58
43
32
23
57
31
96
15
139
57
42
39
-22
24
-13
40
53
-28
-12
58
-5
30
23
18
-56
75
9
33
-32
-30
-7
-19
40
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
6
20
0
0
0
0
-1
-1
-16
20
0
0
0
0
3
-14
14
8
0
0
0
0
7
16
-19
32
0
0
0
0
-14
-30
3
31
0
0
0
0
-1
-7
11
24
0
0
0
0
-15
28
21
-5
0
0
0
0
11
-68
45
50
0
0
0
0
20
12
17
3
0
0
0
0
7
-8
-24
19
0
0
0
0
-19
46
11
61
0
0
0
0
3
30
3
89
0
0
0
0
21
-2
14
-35
0
0
0
0
23
1
-16
-44
0
0
0
0
25
48
-43
31
0
0
0
0
10
69
105
6
0
0
0
0
2
-13
3
-9
0
0
0
0
-15
-2
-27
-9
0
0
0
0
10
21
-16
97
0
0
0
0
-20
17
45
13
0
0
0
0
-9
-20
0
2
0
0
0
0
-11
-20
-17
2
0
0
0
0
7
-71
-2
-5
0
0
0
0
22
27
16
-63
0
0
0
0
14
14
2
24
0
0
0
0
8
4
5
16
0
0
0
0
-18
23
-8
-8
0
0
0
0
-21
0
11
17
0
0
0
0
8
-18
7
16
0
0
0
0
14
41
4
-21
0
0
0
0
-37
15
-6
12
0
0
0
0
48
76
24
18
0
0
0
0
28
15
25
21
0
0
0
0
0
0
-1
53
0
0
0
0
-13
-8
31
10
0
0
0
0
42
-22
-16
71
0
0
0
0
0
-3
26
8
0
0
0
0
1
-16
9
4
0
0
0
0
-3
-4
91
80
0
0
0
0
-33
30
73
62
0
0
0
0
16
6
29
13
0
0
0
0
6
16
-2
-4
0
0
0
0
-14
90
30
113
0
0
0
0
46
19
21
-39
0
0
0
0
15
58
34
21
0
0
0
0
33
-10
5
-45
0
0
0
0
60
99
102
-6
0
0
0
0
35
26
16
47
0
0
0
0
11
13
-1
44
0
0
0
0
7
-3
-8
-4
0
0
0
0
37
40
31
27
0
0
0
0
28
37
70
60
0
0
0
0
-10
-7
34
8
0
0
0
0
4
-11
-4
14
0
0
0
0
64
9
27
104
0
0
0
0
22
-13
38
5
0
0
0
0
11
33
-4
50
0
0
0
0
5
-13
-6
33
0
0
0
0
60
28
-21
-9
0
0
0
0
23
69
-55
87
0
0
0
0
39
44
-2
57
0
0
0
0
57
1
12
0
0
0
0
0
57
103
74
23
0
0
0
0
69
1
-6
-23
0
0
0
0
-21
-28
-35
13
0
0
0
0
13
53
-11
22
0
0
0
0
-26
2
-28
-18
0
0
0
0
18
52
8
35
0
0
0
0
-29
2
53
56
0
0
0
0
29
-6
40
-22
0
0
0
0
26
4
-53
32
0
0
0
0
31
0
27
11
0
0
0
0
-18
-2
-43
-20
0
0
0
0
73
52
18
39
0
0
0
0
5
34
55
43
0
0
0
0
10
33
-19
26
0
0
0
0
60
-33
12
15
0
0
0
0
45
71
36
39
0
0
0
0
40
76
11
-11
0
0
0
0
58
48
-4
-4
0
0
0
0
-15
66
-33
-20
0
0
0
0
-4
49
34
10
0
0
0
0
30
-38
30
43
0
0
0
0
11
0
-8
88
0
0
0
0
-48
-48
49
22
0
0
0
0
84
-81
0
5
0
0
0
0
-14
1
52
-24
0
0
0
0
-76
-21
66
44
0
0
0
0
-1
-8
10
-47
0
0
0
0
28
35
4
72
0
0
0
0
70
68
11
1
0
0
0
0
78
25
59
26
0
0
0
0
-76
-38
41
28
0
0
0
0
48
54
58
79
0
0
0
0
92
60
19
43
0
0
0
0
62
69
57
-72
0
0
0
0
-8
56
-34
69
0
0
0
0
-20
91
51
84
0
0
0
0
-26
-6
-16
81
0
0
0
0
2
6
-2
14
0
0
0
0
-32
35
118
80
0
0
0
0
-66
-35
125
4
0
0
0
0
7
-11
77
79
0
0
0
0
40
10
-3
22
0
0
0
0
9
82
-54
-42
0
0
0
0
40
38
11
64
0
0
0
0
2
-13
-14
28
0
0
0
0
33
34
-19
-68
0
0
0
0
77
29
-13
27
0
0
0
0
-8
51
-22
14
0
0
0
0
37
69
-36
73
0
0
0
0
1
18
68
74
0
0
0
0
-18
41
15
40
0
0
0
0
15
-1
-1
7
0
0
0
0
29
55
32
36
0
0
0
0
-2
-2
-14
-5
0
0
0
0
48
-3
72
29
0
0
0
0
19
-4
50
127
0
0
0
0
-11
6
61
35
0
0
0
0
6
-2
0
18
0
0
0
0
47
58
22
87
0
0
0
0
22
-8
10
-9
0
0
0
0
28
30
-40
71
0
0
0
0
-12
16
-23
10
0
0
0
0
87
114
1
141
0
0
0
0
65
55
-110
-15
0
0
0
0
35
21
44
155
0
0
0
0
-3
-12
66
3
0
0
0
0
0
2
-3
5
-1
-2
5
14
20
-3
-8
14
4
15
1
5
14
30
-10
0
4
-11
-20
-17
-6
34
18
29
4
-35
-29
6
-1
15
12
12
-15
-6
23
70
7
-5
13
73
-7
-48
7
-34
21
34
11
-38
-58
-11
21
-102
-82
20
-1
39
-59
-13
-20
8
-7
-6
6
19
22
6
-1
8
20
-18
-12
-13
14
-23
-28
52
-16
31
-54
9
33
-82
-27
45
1
21
14
-5
15
-7
58
45
-1
9
20
24
25
21
29
37
-26
-42
13
28
22
-7
16
14
2
1
43
35
-30
-23
76
25
-7
-43
9
21
-62
-28
27
25
2
-7
3
16
9
-23
-9
-11
14
17
4
-30
1
-54
-9
48
16
-8
-29
32
-22
-24
99
-5
40
-5
36
-66
20
79
6
69
-5
-9
39
30
3
-1
20
8
19
4
21
76
14
1
27
7
29
-5
65
-5
-25
-54
95
-32
-11
51
-24
60
-13
-49
5
-1
2
-19
5
-5
10
-1
-8
-8
9
5
-5
-7
-2
13
7
-17
-12
-5
32
-5
12
-49
53
23
96
41
75
30
60
-63
49
-41
-13
7
56
28
14
-11
-14
12
-6
3
-15
-3
-10
-14
-33
24
47
84
9
-61
2
50
-46
44
58
-40
30
47
50
57
25
72
20
38
12
-45
12
16
-65
35
13
14
6
26
3
-2
7
-16
-11
1
17
-59
113
12
-28
111
22
32
57
33
39
9
10
75
33
-32
42
15
-13
31
34
41
19
-26
-19
-16
34
14
-17
28
13
33
18
5
42
10
9
38
-46
31
33
65
-6
-15
53
-18
-18
7
-26
31
23
-6
15
-72
7
33
21
23
-4
-3
-6
-42
37
-66
84
2
79
114
40
25
-35
34
30
-30
24
13
-41
66
11
-10
91
-1
33
46
17
13
41
-13
71
2
43
-24
10
-16
-38
-41
22
36
-36
39
11
87
-5
17
64
25
31
6
18
23
51
-20
5
50
-1
12
1
53
0
18
-8
5
-23
-5
-49
18
23
13
36
63
30
-56
22
-2
10
52
-33
14
74
11
-1
57
-89
-19
35
65
-6
-26
54
20
1
8
3
5
-10
-11
8
5
70
13
4
5
-47
21
-10
66
-11
4
-3
6
41
27
26
0
-3
-40
5
7
-19
14
-48
-20
6
4
-16
17
-22
-14
-25
-50
-7
-44
24
23
1
44
27
51
30
21
29
-18
-46
34
-5
-53
-13
-55
57
75
14
-18
31
-53
-3
-41
4
15
14
-25
12
-21
-24
65
54
22
64
-60
55
31
4
-5
24
-14
32
8
-3
-6
26
47
-19
-7
-40
3
-43
-83
-27
59
-1
-12
-30
12
-56
40
26
19
37
59
-19
-11
-5
34
37
9
13
-19
-22
53
35
-24
7
-3
161
49
1
-49
11
11
20
34
36
-13
-37
6
71
83
1
75
40
82
-73
8
7
-15
22
-31
29
86
54
39
-42
41
-41
22
-58
30
75
11
11
-29
-53
-11
-7
5
79
3
43
12
5
17
29
-27
-27
20
30
-28
27
-46
-17
90
57
59
91
-13
-7
27
74
42
49
115
46
-80
46
61
93
15
68
-78
18
-21
12
37
-61
-1
8
-9
76
3
50
49
-10
8
40
40
40
84
63
37
12
-35
31
-21
49
17
31
-7
41
8
27
30
14
14
12
75
13
31
18
27
52
-6
34
51
84
34
13
66
11
51
33
10
-46
64
-28
-5
21
10
-5
44
16
68
-8
-54
-22
92
-58
11
-5
56
23
10
-28
9
25
93
36
-1
-29
65
18
-5
-12
103
34
60
3
41
-15
29
31
-59
103
132
70
91
20
93
13
95
31
23
-13
35
13
17
19
63
32
60
71
55
-75
-5
1
-23
-73
7
57
-62
3
50
69
68
70
-3
65
13
-5
25
34
-71
51
71
49
111
22
27
58
37
50
-52
62
18
91
-31
-9
-27
-78
-7
5
25
68
-29
19
0
-24
-24
50
44
-67
-7
28
118
-1
35
61
-8
-1
-7
65
38
8
24
35
-1
-3
99
46
32
47
48
-2
-4
-14
5
40
50
46
-21
3
29
130
26
14
11
-11
17
14
-15
3
10
-11
-23
39
96
-52
24
55
130
-13
-8
9
-17
-52
45
57
-42
63
-5
-30
47
7
34
58
-18
25
5
45
24
66
-49
-70
57
31
15
31
49
77
8
-16
5
-64
22
43
-25
41
-28
15
66
22
97
-27
39
28
73
93
-10
27
-27
5
25
-18
30
46
48
11
37
-60
10
44
72
35
86
-66
23
-3
14
-44
33
50
21
8
39
106
-17
76
-2
18
36
30
3
19
22
33
68
-73
-52
53
59
17
0
-35
22
-49
38
-9
-4
29
12
3
-76
-62
-13
38
-25
54
139
50
63
140
4
32
-38
80
111
69
13
27
-37
39
16
55
-13
-5
48
123
-18
-6
22
-15
63
0
7
-11
2
66
71
-1
-27
9
139
46
29
-49
-31
-7
-59
24
29
-21
-32
31
16
1
28
-74
75
10
-31
-99
-41
-77
-26
-32
-94
37
21
35
12
19
49
95
45
27
21
-56
27
58
64
73
-66
97
80
-7
48
3
51
38
35
25
-36
2
25
2
19
18
4
-43
-44
12
22
-7
-12
-27
-17
-28
-17
32
42
-11
13
46
-68
51
22
-32
59
24
-80
-3
-104
-89
-74
30
38
-8
11
-8
5
-71
-12
3
-28
3
1
-16
-6
-82
-55
2
52
-21
-31
9
-6
-49
-31
19
-5
-10
-18
48
-29
43
-27
5
50
18
55
-13
22
3
42
6
-11
14
51
1
94
8
54
-37
13
36
96
-9
-30
-46
27
-67
10
-112
-39
-80
102
-39
84
22
45
42
50
26
50
5
94
32
-21
47
-3
29
-1
38
84
-19
44
-5
30
72
87
-66
-12
10
40
74
-58
-19
-23
7
-25
8
-31
28
22
-7
-3
37
15
-29
-21
14
30
24
-26
62
1
27
-12
-56
-16
-65
-70
59
48
-3
31
20
127
-23
-41
-51
24
-12
18
48
-9
-14
-18
20
66
-13
1
-11
86
-6
-50
-42
40
-32
-84
-2
1
-25
-87
14
-26
-13
93
60
-25
58
-12
23
-49
2
13
22
91
-8
30
-16
82
-31
-42
41
-39
-55
12
-63
-23
-20
12
25
5
-74
101
32
51
-26
49
-42
-43
65
68
31
75
-8
59
-14
50
47
44
48
85
-3
-42
-3
-18
21
-38
21
64
21
-31
-58
48
30
15
-49
-28
-8
-21
21
42
63
-5
-47
-9
-13
0
-4
-54
-2
35
-16
-45
11
-11
-11
-32
13
16
9
-32
-5
72
89
-46
17
-8
-16
24
79
79
-69
40
43
113
55
-12
-14
-16
-27
54
31
-41
-31
49
-36
-17
-7
-11
6
-4
-2
9
123
-36
-3
-17
77
12
-8
-71
43
136
-31
13
83
11
-18
15
-30
28
-23
57
23
-1
-1
45
-5
12
-19
54
27
-14
-24
32
-59
2
129
5
4
2
-9
45
70
22
16
134
27
27
0
-3
-5
62
44
78
2
33
19
100
9
-8
11
45
-26
1
6
21
93
-15
3
40
-10
32
39
-13
13
54
66
44
43
91
1
73
10
-34
7
-20
-14
-29
-36
36
8
-8
24
17
45
-3
8
17
-12
-45
47
3
69
-1
27
18
40
64
46
41
0
65
28
17
-12
-12
-45
-16
-64
-5
8
-12
23
-22
-14
3
9
13
2
-26
95
-127
71
44
-7
41
42
24
-58
8
69
61
44
38
102
9
-11
-30
-93
27
-42
-20
-35
-38
-32
19
-54
61
48
18
22
-11
-33
-72
-16
123
19
4
93
36
49
-9
63
140
-19
4
42
108
-41
52
-29
-57
45
56
23
1
-10
-58
33
-13
24
17
52
-27
67
22
-5
-13
35
-48
-12
-43
46
-8
-13
90
34
-3
9
33
28
31
73
5
18
-41
-26
-50
98
14
50
0
-20
38
-61
-2
3
58
-15
-74
31
-22
-23
-12
27
27
21
-75
28
-51
-45
-59
35
6
12
-14
56
-26
94
101
94
-7
-33
37
49
-32
-4
24
52
70
37
1
48
48
5
-58
34
-28
54
9
-28
-142
-31
-3
1
-23
-7
-3
16
93
60
109
-41
13
-33
-92
12
-8
-33
27
-51
17
4
9
26
17
-43
44
24
71
-11
48
70
-16
16
26
6
11
99
47
58
45
5
31
-32
-64
67
24
66
-32
-6
13
7
126
41
5
47
-13
2
93
-47
60
-83
-5
-21
-16
14
-16
19
7
56
90
19
-76
-58
-20
20
-20
4
42
-22
-49
82
50
-23
-14
-18
102
30
2
9
7
-22
74
68
12
39
25
-7
90
-52
7
62
7
-38
-64
8
112
-2
29
66
-72
-10
3
-17
-14
5
3
43
-3
-43
-48
-3
50
-36
-13
8
-10
5
86
-14
0
-77
25
34
35
4
39
66
-14
29
10
24
50
-94
19
26
-25
-52
6
25
18
-53
46
-110
-29
72
49
50
130
54
51
14
57
-10
43
90
11
-15
-28
76
78
-72
12
94
25
13
36
31
-49
71
-89
40
34
46
-32
-37
-58
5
45
48
82
55
40
-31
68
9
-12
-48
-127
-39
61
6
16
37
27
60
21
22
-7
27
19
89
-5
34
-6
142
42
14
60
7
43
27
-41
-17
40
61
-69
47
52
5
50
40
-43
-23
-97
-20
13
82
-6
31
38
64
1
65
36
31
26
73
-25
23
61
13
-36
5
21
22
-18
31
24
32
25
-37
2
-76
-75
-46
40
-66
48
-1
12
70
-4
-4
0
-19
-20
-37
7
69
41
56
34
-15
56
41
7
54
-5
-3
15
-17
38
14
12
35
8
18
99
6
42
10
-2
32
-25
-2
47
-68
66
13
32
26
62
19
51
53
-34
20
56
-13
41
38
1
-65
-90
32
31
-63
125
1
60
-43
1
32
-28
35
59
48
-20
83
18
5
21
92
8
89
-4
27
-19
62
70
13
43
59
94
-40
14
-58
66
-16
48
-5
9
-60
18
19
51
25
-5
71
-30
63
-80
111
25
-24
63
50
19
50
8
-24
17
-5
16
70
55
-41
-55
13
96
18
54
-10
32
49
67
-2
45
13
53
-9
27
-52
-44
84
13
36
56
24
31
-2
6
53
10
-22
51
-51
5
42
53
-30
72
-40
-9
-37
-28
16
-32
-28
47
28
28
-11
-79
106
30
-40
21
33
73
17
76
72
15
-17
-17
96
34
28
-35
-5
-33
15
-3
1
-10
17
18
8
-10
23
-14
39
6
15
6
2
-55
13
-18
25
-76
-11
-44
70
-20
30
129
85
95
47
29
-9
-57
48
56
-22
-47
8
3
-8
-8
13
60
14
17
33
50
-37
-47
5
31
-12
-18
46
80
-14
34
45
134
33
-49
49
76
-8
49
-17
27
-4
56
-12
19
-1
33
-8
20
3
34
29
62
-26
22
14
-14
-90
6
-3
67
-8
74
-25
44
13
49
-46
-5
51
43
20
44
12
20
26
38
15
88
24
22
138
-5
13
41
-16
16
-7
-54
82
-48
53
-58
59
55
-1
-12
66
5
44
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-30
-9
42
-20
-17
-15
0
-14
4
23
26
14
12
2
5
-9
10
2
64
63
15
-25
100
11
-6
32
-16
72
25
0
-8
-12
-4
0
46
13
-46
-7
11
-21
-29
40
55
1
20
-29
-21
-20
-21
2
66
11
-57
50
-6
-3
82
71
97
54
26
44
64
-11
30
3
23
-37
6
-10
9
-23
-5
-30
47
-32
27
-32
-26
-2
75
-21
35
-11
74
-7
89
-48
47
-8
-2
63
-18
38
24
36
3
19
61
33
4
-28
77
32
-19
-68
66
-60
-41
4
4
-7
25
77
-36
88
66
68
-31
-7
114
0
36
8
27
37
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-19
-37
73
-1
-17
82
30
-1
-5
44
56
30
24
-19
66
-8
-47
-34
51
-18
-57
31
14
-15
33
14
-2
-16
13
19
58
-11
-33
11
75
-8
43
40
-51
-42
-42
54
49
59
86
44
36
-7
-79
21
11
-19
-74
39
80
11
20
26
90
-20
-19
49
73
-27
66
-21
56
27
49
19
27
13
76
11
67
19
31
-30
14
-44
22
-13
92
6
30
-47
50
-57
15
48
-12
-19
68
-8
65
8
84
-33
-30
46
0
53
67
2
55
72
110
95
-1
-5
92
-23
71
-49
-7
60
-20
25
57
42
85
43
20
-6
-43
31
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
42
47
-41
2
-44
28
14
50
-26
24
10
-31
56
30
49
76
41
29
71
12
20
38
29
41
-13
-41
2
50
-24
-1
-20
26
-11
62
23
42
-61
47
61
51
19
33
40
87
-35
-2
23
42
16
31
-13
-27
-25
11
38
42
-44
20
97
39
50
42
62
24
21
-39
94
41
35
39
19
2
66
-41
61
23
0
4
78
-49
94
5
22
26
58
11
68
4
-24
-67
28
0
33
-18
42
-40
11
80
77
6
-21
78
127
-25
18
26
48
47
23
28
19
21
55
-45
-17
66
-11
29
25
74
-10
16
-2
17
34
-41
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
5
-20
5
0
0
0
0
9
7
-14
-23
0
0
0
0
-20
-26
5
18
0
0
0
0
18
-32
-4
23
0
0
0
0
-36
-40
26
15
0
0
0
0
-9
5
12
21
0
0
0
0
-31
-27
78
41
0
0
0
0
-45
33
-37
37
0
0
0
0
24
46
19
41
0
0
0
0
3
24
-14
-26
0
0
0
0
14
27
-28
103
0
0
0
0
-8
38
-44
24
0
0
0
0
21
22
42
1
0
0
0
0
-28
14
-6
-14
0
0
0
0
8
32
-23
86
0
0
0
0
5
38
98
42
0
0
0
0
0
-20
14
4
0
0
0
0
11
-8
8
29
0
0
0
0
-13
1
-28
24
0
0
0
0
29
-14
32
2
0
0
0
0
-38
-52
4
-14
0
0
0
0
-24
-40
5
-4
0
0
0
0
-75
-26
31
41
0
0
0
0
-39
49
35
-41
0
0
0
0
18
17
5
22
0
0
0
0
-13
25
-4
-8
0
0
0
0
1
49
-1
-45
0
0
0
0
-5
12
-51
61
0
0
0
0
17
-22
5
65
0
0
0
0
5
5
-25
-2
0
0
0
0
-14
-13
33
65
0
0
0
0
14
51
84
53
0
0
0
0
13
11
-4
30
0
0
0
0
8
-1
10
-8
0
0
0
0
9
-38
-38
68
0
0
0
0
36
-46
13
66
0
0
0
0
-22
-30
-10
-10
0
0
0
0
-37
-28
-3
8
0
0
0
0
2
-35
58
56
0
0
0
0
11
10
144
57
0
0
0
0
-9
9
-16
21
0
0
0
0
10
15
-13
-6
0
0
0
0
20
67
28
10
0
0
0
0
7
37
-4
21
0
0
0
0
19
34
34
44
0
0
0
0
-16
19
8
-14
0
0
0
0
120
-15
80
-34
0
0
0
0
18
58
18
84
0
0
0
0
45
18
74
50
0
0
0
0
42
22
-9
20
0
0
0
0
39
22
4
-3
0
0
0
0
54
-12
-9
31
0
0
0
0
22
2
26
82
0
0
0
0
2
-28
-5
31
0
0
0
0
39
-17
50
84
0
0
0
0
8
30
16
18
0
0
0
0
16
96
-2
43
0
0
0
0
-21
-14
-66
-4
0
0
0
0
100
23
9
-25
0
0
0
0
-4
39
-13
-10
0
0
0
0
35
18
-20
-17
0
0
0
0
-6
38
-34
-17
0
0
0
0
88
16
85
39
0
0
0
0
123
-2
75
-21
0
0
0
0
9
4
-32
-40
0
0
0
0
30
-27
-18
62
0
0
0
0
-15
-31
-34
-42
0
0
0
0
22
33
-6
53
0
0
0
0
-62
-32
-5
79
0
0
0
0
5
-68
49
74
0
0
0
0
-26
-23
-49
85
0
0
0
0
39
-2
46
50
0
0
0
0
-24
70
0
-100
0
0
0
0
-15
94
23
28
0
0
0
0
-25
4
-22
-7
0
0
0
0
33
78
-1
-37
0
0
0
0
44
22
13
30
0
0
0
0
22
54
40
48
0
0
0
0
61
30
18
40
0
0
0
0
48
39
28
9
0
0
0
0
32
-21
-82
5
0
0
0
0
32
2
70
46
0
0
0
0
-14
-68
-59
-2
0
0
0
0
52
17
34
76
0
0
0
0
-5
-42
35
98
0
0
0
0
69
-74
83
52
0
0
0
0
-74
-48
39
35
0
0
0
0
-78
-15
74
92
0
0
0
0
-36
3
44
-36
0
0
0
0
93
62
6
25
0
0
0
0
48
42
32
-8
0
0
0
0
68
61
-4
66
0
0
0
0
22
17
34
-53
0
0
0
0
64
14
27
-1
0
0
0
0
59
60
-21
-32
0
0
0
0
-62
34
39
-18
0
0
0
0
-35
1
33
13
0
0
0
0
27
17
4
73
0
0
0
0
-21
66
12
91
0
0
0
0
-29
20
1
13
0
0
0
0
-22
-93
118
105
0
0
0
0
-23
-24
101
46
0
0
0
0
-2
-47
67
40
0
0
0
0
23
5
15
8
0
0
0
0
-8
-22
4
78
0
0
0
0
39
33
-30
-15
0
0
0
0
33
60
79
-40
0
0
0
0
43
-15
-79
-44
0
0
0
0
72
132
-13
-54
0
0
0
0
-42
47
17
18
0
0
0
0
88
123
123
-17
0
0
0
0
-5
49
22
51
0
0
0
0
23
46
41
55
0
0
0
0
105
-1
-52
10
0
0
0
0
39
85
71
25
0
0
0
0
-8
50
-16
9
0
0
0
0
41
10
56
-26
0
0
0
0
23
-38
40
66
0
0
0
0
4
27
40
1
0
0
0
0
0
19
66
24
0
0
0
0
-9
8
-47
22
0
0
0
0
55
4
-3
39
0
0
0
0
60
38
-28
113
0
0
0
0
65
-7
-2
6
0
0
0
0
24
77
-14
106
0
0
0
0
89
-21
2
-25
0
0
0
0
-31
3
80
80
0
0
0
0
64
18
-14
-65
0
0
0
0
-3
13
-14
5
-13
-6
0
7
6
11
-20
-2
2
-23
-25
2
27
-3
34
-1
-50
0
-39
-33
-1
5
20
12
-8
-18
22
-33
-12
3
20
0
-28
-65
68
19
12
2
28
90
-51
-82
-77
-26
21
13
-55
-67
-48
-32
92
-114
36
-1
28
7
-142
-22
-24
-19
12
-5
10
27
20
27
13
18
9
-19
-35
37
21
-25
-50
-3
11
17
12
13
59
-25
-7
13
23
-74
5
-17
34
45
63
41
-21
-16
29
20
12
64
35
37
-37
-56
56
48
-6
-35
-16
-36
-27
0
6
49
-28
9
112
7
-1
-31
52
54
-27
-7
15
42
-2
-10
3
15
-13
22
-15
-9
16
11
-4
8
15
-25
-6
55
24
21
9
-18
82
-28
91
-20
25
18
-71
-3
-18
56
40
54
-54
-30
-11
76
10
-11
45
115
-23
23
65
11
11
-2
-4
-17
-10
46
-4
-24
57
-71
103
-36
-19
45
-27
66
-69
-35
9
22
-39
-24
3
2
-5
12
15
7
-34
-36
-18
-91
-15
5
54
22
-17
67
6
-17
59
-22
90
5
88
66
9
103
43
-55
14
-16
-19
-75
59
62
34
15
28
49
-29
-55
80
-48
39
29
-6
39
-3
-42
33
-27
42
34
22
12
77
-58
-1
69
5
25
7
60
25
49
-80
-15
4
-37
46
16
3
42
13
-35
48
10
22
-46
41
50
29
44
48
20
-9
6
30
56
8
82
46
-3
-31
20
-7
52
58
55
-22
-51
69
108
4
-46
35
-37
-15
-38
10
34
23
14
11
51
7
-4
-5
37
-22
93
37
33
-1
12
8
9
-11
-32
-14
1
83
56
-44
-101
-12
-6
20
100
-57
35
19
-9
-54
-87
7
-16
35
94
16
6
-49
58
40
-38
45
-1
-20
8
-5
-57
18
75
25
128
6
36
0
-26
-1
24
100
14
-21
-3
-6
-41
30
22
-14
-1
-31
47
50
-20
-1
55
14
35
-29
40
40
-36
-31
-10
57
-1
37
54
-12
-15
17
69
3
22
-35
-24
-5
2
11
36
68
3
17
11
8
45
39
32
-4
-2
21
2
-49
-41
46
106
-19
-21
38
-26
6
8
80
33
-39
-9
34
-37
18
-22
12
21
-15
59
-25
40
21
6
-11
31
-24
22
27
22
-39
-10
83
44
47
-5
-32
-8
-10
-26
-14
-27
46
46
18
24
-7
-27
12
35
-11
104
23
37
10
35
22
13
49
-15
21
24
-47
-51
-22
7
-4
-17
144
5
-66
-22
0
44
6
-27
8
-84
-51
96
14
31
-13
-23
36
19
-6
-59
-4
14
15
26
23
23
13
39
70
-24
-22
4
-28
-23
108
-2
-12
-42
1
43
-43
41
67
25
43
48
88
-30
-93
61
-5
23
-6
-30
67
-38
-73
-42
-34
-31
77
116
-28
-88
0
10
-7
44
-9
76
43
56
31
40
-2
28
31
96
-14
-19
18
-26
4
24
-4
49
10
-44
-29
53
-8
20
-55
42
51
-13
-55
-31
-51
-9
-32
29
49
-38
-30
25
34
32
-19
9
5
43
-73
0
-1
-46
41
48
140
83
43
-29
-18
-52
13
40
84
132
-11
-47
35
22
49
29
63
-110
6
-2
-29
1
-72
12
-80
5
102
6
23
6
5
-14
77
58
50
52
33
-74
-49
-60
-3
-16
58
-4
-31
-54
20
-14
132
-41
7
19
66
93
-18
42
-33
-13
-10
3
51
88
105
-15
-5
88
78
3
-33
17
66
7
-49
-49
92
64
-34
9
30
65
13
-42
16
93
-27
57
125
-8
-18
-43
-8
42
22
25
25
-4
15
39
-9
-29
-94
37
53
-33
2
28
0
-12
82
-6
10
26
31
30
-62
52
-14
81
3
13
-5
5
-22
-42
27
48
47
32
66
92
-72
-12
-64
19
-12
52
46
-4
27
84
94
24
120
-1
54
5
22
-41
34
-91
44
54
68
107
-26
-4
49
14
87
-18
26
14
93
24
-6
-28
-95
17
-32
-19
43
-78
30
-55
-21
-10
10
61
-37
46
-2
-47
-3
51
22
-8
-61
23
-3
13
14
-44
79
-34
-1
66
-33
65
107
16
-45
3
-23
-13
14
35
27
-8
20
11
34
21
-86
20
23
15
31
25
39
-5
-1
7
10
94
67
32
22
50
-18
-9
66
-39
-44
2
41
-14
83
-35
26
41
5
14
46
-15
23
14
-13
21
60
17
35
31
62
3
8
8
22
-2
41
2
-72
45
-17
-4
24
-6
43
60
-32
84
64
15
23
14
-13
-27
28
-9
-55
-3
-44
38
50
18
-25
20
-91
-34
-2
4
31
28
-61
32
121
23
-20
-6
-21
29
42
-22
-63
0
28
9
53
41
-29
-51
13
26
-40
41
0
-45
34
11
10
5
5
86
42
12
-66
45
-7
33
30
-84
-90
23
84
-31
29
71
16
74
94
31
-16
-9
30
38
29
-37
41
6
50
14
31
-32
4
30
51
16
8
17
5
-21
61
8
-91
6
11
31
-73
-12
113
97
58
4
-16
-24
12
2
55
16
-22
5
-9
1
18
32
21
45
0
-12
-68
-26
-59
-69
3
-95
7
1
48
-38
-2
67
81
84
30
2
-60
-19
11
42
48
-69
77
65
-26
39
4
65
60
13
27
-5
17
5
-6
-58
51
57
-44
-87
66
2
10
47
-31
-39
20
-43
-65
44
56
-39
-9
-10
-1
1
-42
-9
-20
4
-32
-2
-13
-14
0
19
20
-52
-39
-50
-51
-71
42
7
9
135
-33
-6
2
-35
-50
8
3
-10
2
43
-20
5
14
-4
-5
-13
8
-18
7
0
41
28
63
52
-21
10
-35
-3
-48
10
-26
-18
15
51
17
-9
-22
-41
20
14
-1
-29
-6
32
-24
10
-21
2
2
13
2
0
-8
75
82
103
9
-5
-26
-31
48
-38
24
19
-2
17
15
2
1
45
5
32
10
29
0
-5
6
8
-8
-21
0
10
-2
0
-1
-68
-20
-25
34
22
-12
38
-38
-15
-55
3
-22
-34
15
-39
-2
-49
-15
1
25
-15
10
10
-29
-14
16
-8
-12
-15
-15
8
-57
-4
-64
-20
-21
-66
41
14
-22
30
6
21
-13
7
57
8
26
-5
-8
-8
-15
3
8
-5
-30
-1
1
0
2
7
0
-2
-4
31
49
42
36
43
41
83
-7
42
6
6
31
-2
3
1
18
-12
37
-4
-5
-10
5
12
-25
1
5
-8
-6
6
16
3
-5
61
28
-1
-13
57
26
62
14
-6
-12
-41
15
25
-8
4
9
21
-22
0
4
8
0
-4
-18
0
4
0
-1
-1
3
7
-19
-3
-40
-22
-32
37
-25
3
14
-42
49
-19
26
-4
5
43
1
-41
35
6
7
-3
-6
-13
-32
21
-20
14
37
44
15
-6
-46
34
-7
13
5
-30
-1
-52
-59
-28
-9
-19
-18
45
33
22
12
-33
12
-25
13
3
7
-2
25
27
4
0
20
-19
2
8
-102
-25
0
6
-30
27
12
-19
-46
19
-11
-27
-41
5
-13
59
-13
24
3
-8
-24
-8
-1
-9
-29
4
8
3
13
5
-5
-2
24
-29
9
10
24
-9
15
-9
-16
49
21
-8
3
-24
47
2
5
6
19
16
-8
-9
5
0
10
-7
2
-8
5
-9
-1
16
4
-63
-50
-23
20
-43
8
47
6
-73
21
-9
1
9
22
55
-27
33
6
-5
1
19
3
-7
14
17
0
8
-12
0
10
-19
-5
-41
14
34
-22
-49
59
-26
5
-72
35
49
50
41
-20
-2
-20
-6
0
4
6
4
3
0
-25
-5
0
7
10
9
8
-5
-14
-2
28
5
22
20
-20
-4
-84
42
10
-4
-6
43
42
-69
5
-30
-2
6
-9
12
-6
7
-6
2
6
7
-3
-7
6
25
8
42
-10
-4
30
0
65
41
-25
-22
3
28
-26
25
7
18
7
-1
-5
5
4
-1
3
5
-3
1
-9
14
2
3
0
-3
1
-12
-4
-15
-6
-22
-31
-23
41
-34
21
-4
-13
-6
-3
9
-17
28
-44
-20
-6
-13
-24
-13
42
-9
-22
-13
-22
-25
1
-12
23
0
-27
-41
-31
27
32
-26
-31
13
-10
-14
17
9
-10
8
44
-27
-14
27
65
15
-50
-6
21
-30
-14
17
-3
-5
-10
5
-7
-38
-49
24
28
15
14
58
-54
9
3
-8
23
-3
2
15
-47
22
-10
-18
-45
-1
-15
15
-7
16
-23
3
7
-7
-6
4
25
4
-4
38
28
-22
1
2
-8
8
-13
7
0
1
-13
-16
-14
66
18
-27
-4
1
14
14
3
8
8
-2
-9
18
-8
15
-88
-26
-49
16
31
-5
42
-8
22
-7
-2
2
3
15
6
-4
27
21
-22
21
-20
11
-5
-22
3
3
34
-13
6
5
-5
25
21
54
18
8
5
-5
-7
33
9
8
10
-9
-5
0
-19
-25
-10
-16
-18
19
-25
-37
-5
7
13
-6
7
-8
-15
-2
1
-2
-16
22
-4
-7
-25
18
9
25
5
23
17
12
4
-4
7
-8
-23
-5
25
-4
0
-10
6
0
-29
7
12
2
-3
7
-16
8
-2
22
-10
14
8
5
5
24
-8
12
-1
14
-1
17
-1
-3
-5
-8
-5
-7
8
0
-13
-12
-14
4
-2
0
-5
-9
-2
7
-35
30
-57
-8
-1
-10
9
7
-14
17
3
-9
-4
-4
-13
14
25
8
41
5
9
5
-31
25
11
35
3
14
-15
-13
6
-10
5
-21
3
13
43
-9
0
-7
3
-2
-8
-1
-9
-4
16
-5
50
7
0
-21
13
0
-12
13
46
19
23
6
-5
17
15
-14
6
24
-23
-1
23
0
0
-13
-20
-19
-23
-5
-14
5
12
17
0
4
-28
1
-5
-16
12
7
22
0
27
5
-3
-4
10
1
22
23
0
-2
0
-6
0
-5
1
-8
-10
14
-25
-2
-3
-4
-18
5
-6
10
9
9
10
7
1
-22
16
-13
0
5
-10
-9
-37
-5
44
-3
-42
8
-1
6
-17
-23
-24
-3
21
-1
15
29
20
13
-22
0
24
14
-8
-2
32
24
22
3
84
18
54
3
-30
22
6
3
-8
-8
-4
-3
8
6
-7
-1
1
-16
25
-13
3
3
20
33
-18
5
4
7
2
12
10
18
30
17
-5
-5
-8
-21
9
4
-6
-9
6
0
-2
0
5
-2
-10
2
2
6
4
-8
12
3
17
-6
10
-13
21
24
32
-9
-7
24
37
12
22
7
-8
27
-4
2
2
3
-4
-10
1
17
15
1
-7
1
-8
6
-13
-2
-6
0
9
12
9
13
-1
0
33
-6
2
-5
33
-35
-30
17
3
-49
51
45
-66
-63
-77
0
19
7
-39
3
-5
1
6
23
-34
26
-13
3
-26
-15
25
15
50
18
17
-12
52
15
15
70
-35
-63
56
41
26
-45
-7
23
5
5
42
19
-42
-44
19
41
-52
-11
-9
18
-31
18
14
-6
42
-29
30
23
-7
120
-41
59
-91
117
41
34
18
49
-51
49
-90
22
43
5
-49
-6
9
-4
-40
-14
43
-6
-35
5
15
3
6
3
1
8
-11
27
49
27
4
49
44
31
-44
30
21
-4
-13
10
17
0
-10
-3
18
56
9
-31
42
-3
-15
16
10
2
-10
14
14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-76
7
-52
-43
-24
2
-41
15
23
-48
-50
27
41
-21
28
23
-39
-23
19
24
-1
-8
-6
-2
22
5
5
9
4
49
12
-62
-53
13
-46
11
-69
15
-13
15
-54
-47
17
39
21
22
22
10
-29
7
-13
21
-58
-27
-15
57
-30
-5
10
32
7
-5
1
33
19
45
0
-46
23
-23
-8
-11
42
29
43
-32
-20
-25
47
-52
19
28
12
-12
3
34
18
-39
12
0
-8
-14
2
-9
-16
60
-42
7
51
-17
-31
2
3
22
4
-45
39
10
-20
-35
28
8
8
21
18
13
20
6
1
-59
14
-2
6
13
1
-10
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-14
-4
44
-49
-10
10
1
-54
27
-75
12
-26
0
25
13
6
-25
-42
-13
-13
-3
13
-19
30
30
2
12
58
-13
18
-5
-28
-86
37
81
-10
-44
64
-22
10
-44
-12
17
-5
12
6
3
19
-28
-38
15
0
-40
19
13
54
-45
18
3
-43
9
5
7
-5
35
31
-2
-48
-29
-7
50
-24
9
9
-5
-17
14
-8
8
-35
-19
-33
23
22
17
-27
-1
-65
24
-8
-8
-27
5
27
8
23
72
-36
31
-4
-9
28
22
-13
13
3
3
14
0
18
-2
-30
31
-16
22
27
-13
-8
-27
15
15
14
-18
8
-10
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-16
-8
12
-40
-5
14
1
58
-14
13
-5
21
-20
-34
29
-3
42
-13
21
-7
18
17
13
41
43
-32
5
79
29
-32
1
-29
-2
-18
44
-5
-5
39
-17
14
4
-19
7
32
-6
-24
-22
-41
-16
-50
13
14
-7
-5
7
0
28
7
-18
16
43
-4
30
-28
0
-41
3
7
7
-6
25
28
-39
-42
13
5
-6
5
1
-57
47
-22
-29
6
49
12
-1
22
5
-26
13
19
13
35
3
-40
-34
34
59
22
16
8
10
27
-12
44
-29
1
-8
8
14
15
42
-5
-24
26
5
-10
32
29
10
-3
-39
16
5
13
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-57
-14
54
0
0
0
0
42
12
-2
-6
0
0
0
0
25
10
-13
23
0
0
0
0
-12
-5
-43
16
0
0
0
0
18
5
68
-1
0
0
0
0
-5
14
24
-7
0
0
0
0
-29
-86
6
16
0
0
0
0
-7
-2
-14
29
0
0
0
0
-7
70
6
25
0
0
0
0
-34
12
-51
6
0
0
0
0
42
-19
-30
51
0
0
0
0
-24
18
5
1
0
0
0
0
82
62
4
9
0
0
0
0
-1
22
-4
-50
0
0
0
0
-5
43
22
26
0
0
0
0
43
5
19
20
0
0
0
0
16
-10
-13
-23
0
0
0
0
45
-29
102
-33
0
0
0
0
-58
1
-15
-46
0
0
0
0
29
4
-6
-15
0
0
0
0
-34
19
41
32
0
0
0
0
-42
-67
44
-43
0
0
0
0
-92
-45
-60
17
0
0
0
0
-31
-6
1
15
0
0
0
0
-4
48
-23
6
0
0
0
0
-8
-44
1
14
0
0
0
0
-1
-2
23
-41
0
0
0
0
-41
-6
28
24
0
0
0
0
-24
-11
78
-3
0
0
0
0
-9
34
-24
40
0
0
0
0
0
18
11
35
0
0
0
0
-24
6
-8
27
0
0
0
0
51
-46
-43
-17
0
0
0
0
20
-1
-11
-9
0
0
0
0
27
-38
2
22
0
0
0
0
-1
13
-3
2
0
0
0
0
-28
-62
-23
48
0
0
0
0
-31
-30
45
-5
0
0
0
0
-60
-14
9
29
0
0
0
0
-9
2
34
-2
0
0
0
0
-3
42
-45
23
0
0
0
0
-8
49
-71
31
0
0
0
0
-5
49
-31
-16
0
0
0
0
42
7
0
27
0
0
0
0
22
13
47
26
0
0
0
0
2
50
-3
13
0
0
0
0
-6
-17
1
2
0
0
0
0
15
-5
27
-7
0
0
0
0
49
48
41
-32
0
0
0
0
1
13
16
13
0
0
0
0
28
14
9
-18
0
0
0
0
17
9
-37
17
0
0
0
0
9
7
31
5
0
0
0
0
18
-39
16
-24
0
0
0
0
13
7
17
5
0
0
0
0
18
13
-5
-13
0
0
0
0
8
64
-24
43
0
0
0
0
-58
55
-11
-5
0
0
0
0
11
-12
-8
5
0
0
0
0
0
39
-7
-31
0
0
0
0
-52
4
-29
5
0
0
0
0
-31
-22
21
-13
0
0
0
0
32
14
-25
3
0
0
0
0
24
-9
-5
16
0
0
0
0
-38
16
-22
-52
0
0
0
0
-11
-13
-2
-9
0
0
0
0
-41
-5
-13
-8
0
0
0
0
23
-13
6
2
0
0
0
0
30
-68
20
42
0
0
0
0
-4
-31
38
37
0
0
0
0
-41
-34
5
13
0
0
0
0
8
10
19
47
0
0
0
0
-67
58
11
8
0
0
0
0
-21
-3
42
4
0
0
0
0
66
-24
-27
18
0
0
0
0
-8
45
-31
-23
0
0
0
0
0
-4
37
6
0
0
0
0
28
-41
4
4
0
0
0
0
26
-19
14
37
0
0
0
0
35
3
20
13
0
0
0
0
-40
7
-17
25
0
0
0
0
41
4
-38
1
0
0
0
0
-11
-26
-22
-20
0
0
0
0
8
-19
-16
-35
0
0
0
0
51
-41
-16
41
0
0
0
0
-78
-71
-12
-2
0
0
0
0
-27
6
-7
2
0
0
0
0
-13
-12
4
37
0
0
0
0
-46
37
54
-16
0
0
0
0
7
0
-11
15
0
0
0
0
-9
-24
-5
2
0
0
0
0
13
1
-5
-8
0
0
0
0
39
31
-5
35
0
0
0
0
-27
-12
2
50
0
0
0
0
-5
-13
-1
-13
0
0
0
0
-8
-14
12
31
0
0
0
0
-5
-13
13
37
0
0
0
0
64
-22
-31
9
0
0
0
0
5
40
-7
5
0
0
0
0
23
9
-12
22
0
0
0
0
17
-13
14
30
0
0
0
0
11
-16
4
2
0
0
0
0
-18
-5
13
-3
0
0
0
0
-27
-16
9
28
0
0
0
0
-7
-5
-47
2
0
0
0
0
-9
-6
-7
-25
0
0
0
0
6
34
1
-28
0
0
0
0
-9
8
4
4
0
0
0
0
-27
44
5
-19
0
0
0
0
7
-39
4
35
0
0
0
0
7
39
6
-10
0
0
0
0
-14
-19
-4
15
0
0
0
0
-13
43
-1
-4
0
0
0
0
41
31
9
-1
0
0
0
0
20
17
18
13
0
0
0
0
49
-25
14
-23
0
0
0
0
1
4
0
15
0
0
0
0
12
31
9
3
0
0
0
0
-1
5
-6
8
0
0
0
0
15
5
5
18
0
0
0
0
14
3
-6
0
0
0
0
0
-36
30
-12
-5
0
0
0
0
30
44
-20
19
0
0
0
0
49
-12
13
4
0
0
0
0
1
3
16
9
0
0
0
0
32
-35
13
-5
0
0
0
0
-4
-4
13
-3
0
0
0
0
35
13
2
14
0
0
0
0
34
75
-2
36
-16
-2
-34
33
17
-5
4
27
-11
7
8
-3
30
12
-33
41
-100
5
-5
-3
13
30
-32
10
25
43
8
47
7
85
7
41
-12
-99
75
-14
-58
-32
13
12
-7
-91
-5
-2
-13
-1
5
-6
-7
-7
-3
-13
5
-16
5
-4
-13
1
0
7
8
-13
19
53
-18
49
-31
-48
9
-31
36
16
-70
-5
26
0
-66
31
10
10
-7
-4
0
12
35
-23
-15
-8
25
-5
14
2
-59
11
19
20
66
22
44
-5
-28
-2
-40
10
-42
-8
-21
4
13
49
0
1
2
0
8
13
1
1
-15
7
-14
-8
8
9
26
81
1
74
28
-27
-8
-32
-6
-39
-46
22
1
-32
-48
22
4
24
-49
41
-1
-9
25
6
-8
-6
-52
-6
2
-1
7
0
-14
-61
2
31
-34
-50
36
29
-9
-9
5
51
-41
-3
20
23
-6
19
-3
27
-5
-17
9
13
16
-21
5
6
-17
-12
19
0
-114
-18
24
20
-20
13
-38
29
-29
-18
50
-60
-20
23
2
-9
-2
7
-7
-1
7
5
7
6
5
-5
-3
0
-2
-8
-2
-2
11
-9
-8
-7
-9
-30
41
25
49
34
17
0
42
67
18
-7
-47
-14
-6
-14
-3
13
-3
-13
-4
0
-13
5
1
-1
8
1
53
-53
-19
-29
7
-66
56
-11
7
58
-8
-39
28
-19
13
-66
61
41
-25
2
-26
-19
-25
2
67
16
-12
13
10
13
-20
0
-84
58
-13
-30
5
-82
52
5
17
-10
-52
21
-27
-55
25
-42
-5
-5
-1
13
14
-10
0
4
14
-8
7
10
12
23
-12
14
-1
5
2
-54
-22
-3
14
33
2
-21
53
27
-29
26
43
-21
-48
-17
-6
-8
22
5
7
-1
-4
10
-5
-22
7
-22
1
12
0
-41
-11
24
-75
-10
-17
34
44
-10
-33
-5
50
54
25
34
9
-12
20
3
-17
6
5
-4
-6
-9
21
-5
37
45
-16
8
5
-29
-25
-5
-23
-36
-14
4
-10
54
-1
29
52
67
-14
-11
-15
22
12
8
-16
0
6
5
33
-6
31
-8
1
14
18
-4
-14
-53
10
29
-43
10
-6
1
22
35
22
5
28
8
4
3
-23
-12
17
-8
-34
-13
0
3
5
8
-1
-9
-29
-14
4
1
-25
-50
3
25
-19
5
-5
3
-63
41
5
0
5
6
-17
-35
-34
-4
-8
-1
1
13
6
5
-18
18
24
15
12
4
25
10
-18
-13
-18
16
10
22
13
24
-13
29
17
-4
1
-22
1
29
-5
-1
-7
-3
-3
7
3
14
-3
-3
0
2
4
1
-8
4
13
13
34
-43
45
-13
-9
3
63
7
-6
-16
6
32
-13
-2
66
64
45
-42
15
-44
-28
8
2
-5
0
-31
7
-3
-19
2
-30
-37
5
59
-25
-8
-18
5
-3
-15
19
-3
9
13
5
4
7
9
-21
4
17
-17
21
13
-5
5
-20
0
15
8
1
9
-5
-16
-23
19
13
12
-12
1
-49
-15
37
5
-10
0
-14
5
-22
-8
-8
-6
29
-8
-14
-4
14
-1
-24
8
2
8
1
8
-38
-4
-31
-7
23
22
-17
-1
5
2
8
3
6
-21
-6
-9
5
-25
8
19
-41
-31
3
19
1
13
-7
12
-5
6
5
-10
-42
-25
43
-6
-26
20
17
-24
-1
-8
7
3
3
-3
4
-10
23
23
-30
9
-25
-12
18
0
-15
10
5
-5
18
42
-5
-12
-41
-30
25
-3
3
-1
13
2
-4
-5
-23
-6
8
-22
8
5
-1
-38
50
13
-21
-12
-8
-17
7
17
-9
-4
15
-2
4
0
-13
-13
2
-12
15
-1
6
10
-5
4
12
-8
16
-5
-9
0
5
0
26
-9
13
0
-29
2
-1
5
-21
8
8
25
-17
-14
-26
21
15
14
-9
5
27
8
9
-7
6
3
25
0
4
-24
-2
8
3
1
6
-5
7
8
-2
-16
7
9
-4
-6
5
7
-8
-13
-13
5
0
-3
-6
-23
30
-3
1
7
5
-3
-2
7
15
-23
27
19
4
7
-5
-4
6
8
5
-8
9
-21
16
-5
-18
7
7
-7
-27
-23
-1
-5
3
-13
1
8
-7
0
-3
3
-1
-7
7
15
5
8
-8
0
-12
-8
4
4
31
-20
8
-23
1
8
17
13
41
-4
0
-5
8
-14
1
-8
30
-3
17
0
-35
6
1
-13
2
15
-8
-5
22
10
-1
-9
-5
2
24
-2
-1
-4
-6
35
2
19
0
8
-1
-4
12
4
0
-10
0
-1
25
-5
-28
24
-15
1
4
-4
-31
-9
13
1
22
15
8
4
-55
5
-6
3
8
2
-9
4
1
0
8
-6
31
-4
4
-2
-22
-44
-16
6
7
9
0
-7
7
-24
-2
20
15
16
5
13
-8
8
-3
-3
19
-1
-8
4
5
2
-3
-6
8
8
-3
9
-48
-14
5
8
1
-8
10
1
-13
-14
-5
12
6
2
6
-9
-31
5
-2
-8
7
1
-3
-1
-13
-5
-17
1
24
4
15
5
-9
-2
8
-1
13
5
9
4
14
-16
24
-7
5
24
-5
1
6
7
-7
-7
0
-10
-1
-8
-7
6
5
6
7
10
-3
9
-1
-14
1
16
4
-3
3
12
5
23
8
37
-24
-2
8
-4
0
3
50
-4
7
0
0
75
-11
-94
0
0
-4
1
8
0
0
-4
-33
21
0
0
47
-7
-12
0
0
4
21
-10
0
0
33
-41
1
0
0
-3
0
-24
0
0
14
-44
-45
0
0
-33
-68
16
0
0
-56
58
21
0
0
-29
13
-30
0
0
-88
13
-50
0
0
40
-31
32
0
0
-48
-43
-5
0
0
-4
-12
-42
0
0
-4
24
1
0
0
-14
-42
3
0
0
2
-27
0
0
0
-9
7
-1
0
0
-8
-22
-3
0
0
-18
-2
-1
0
0
1
2
0
0
0
5
-3
0
0
0
-19
5
7
0
0
0
0
0
0
0
-8
19
1
0
0
1
-5
0
0
0
-6
8
0
0
0
0
-6
0
0
0
-1
3
-1
0
0
0
1
0
0
-17
76
13
-25
0
0
4
13
5
0
0
-55
-1
-46
0
0
-25
-110
0
0
0
4
46
-24
0
0
9
-8
-108
0
0
-7
-13
0
0
0
-2
-88
0
0
0
151
-10
-67
0
0
-50
-52
-13
0
0
-29
-11
29
0
0
-21
2
-1
0
0
-87
33
-59
0
0
65
1
-14
0
0
-44
-25
31
0
0
-72
31
4
0
0
-26
16
3
0
0
-2
5
0
0
0
3
14
0
0
0
-1
-4
0
0
0
2
3
1
0
0
2
8
2
0
0
4
1
0
0
0
-7
1
0
0
0
0
-10
1
0
0
0
0
0
0
0
-6
-2
0
0
0
2
-2
0
0
0
13
-3
0
0
0
1
0
0
0
0
-16
0
0
0
0
-3
0
0
0
14
6
16
-38
0
0
-34
-14
67
0
0
5
-25
6
0
0
2
-6
-4
0
0
2
-35
4
0
0
-3
-2
6
0
0
28
-15
-6
0
0
24
-28
1
0
0
34
-17
-14
0
0
-51
-6
-7
0
0
-35
-19
-7
0
0
-98
36
7
0
0
-25
51
-95
0
0
123
-31
38
0
0
-15
18
-41
0
0
-56
3
29
0
0
-1
3
8
0
0
24
8
0
0
0
0
-1
1
0
0
-13
8
0
0
0
2
-8
-2
0
0
6
1
0
0
0
-1
0
0
0
0
0
25
0
0
0
-8
-3
0
0
0
0
0
0
0
0
13
-1
0
0
0
0
-1
0
0
0
-3
2
0
0
0
-5
1
0
0
0
-17
0
1
0
0
-3
-2
0
0
-3
-26
2
-80
0
0
-55
-76
32
0
0
5
-30
-106
0
0
0
-3
27
0
0
-79
-57
17
0
0
-18
-50
2
0
0
-31
34
1
0
0
42
-90
-6
0
0
62
-72
18
0
0
7
-44
8
0
0
-122
5
-3
0
0
-17
-8
0
0
0
-48
17
-3
0
0
-31
35
-2
0
0
4
18
0
0
0
5
13
-7
0
0
24
-9
0
0
0
3
2
1
0
0
3
2
0
0
0
9
0
0
0
0
5
-2
0
0
0
6
6
0
0
0
-5
0
0
0
0
3
-24
0
0
0
-12
-4
0
0
0
0
0
0
0
0
0
5
0
0
0
9
1
0
0
0
5
0
0
0
0
0
0
0
0
0
8
1
0
0
0
1
1
0
0
1
44
4
8
0
0
-27
16
-149
0
0
-25
3
-43
0
0
26
-24
-54
0
0
5
17
-36
0
0
-21
14
-72
0
0
3
-4
4
0
0
-40
-8
-10
0
0
19
23
-3
0
0
-102
5
-13
0
0
-62
45
-7
0
0
-30
-54
14
0
0
-28
-40
-70
0
0
-31
-92
4
0
0
-83
-102
44
0
0
9
-119
45
0
0
-2
5
24
0
0
0
12
0
0
0
0
0
0
0
0
0
6
0
0
0
2
10
-2
0
0
0
-2
0
0
0
-4
-5
1
0
0
0
1
0
0
0
-5
1
1
0
0
0
1
-1
0
0
-5
0
-3
0
0
0
0
0
0
0
-8
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
32
2
6
0
0
-26
-7
-51
0
0
-115
-4
-17
0
0
-21
-11
-18
0
0
-2
17
-31
0
0
7
37
-35
0
0
9
17
-5
0
0
-12
14
4
0
0
65
-94
-4
0
0
-180
35
-17
0
0
-149
-60
26
0
0
-54
-34
13
0
0
-69
-27
-7
0
0
0
11
-21
0
0
-51
60
-30
0
0
-72
9
69
0
0
17
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
1
0
0
0
1
1
0
0
0
2
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
-2
0
0
2
17
-19
-20
0
0
-14
4
-38
0
0
1
-24
-26
0
0
2
-11
-117
0
0
-25
-76
-52
0
0
15
0
-48
0
0
-27
-31
1
0
0
20
25
7
0
0
-10
-46
36
0
0
-48
-44
-6
0
0
-77
-6
4
0
0
23
6
28
0
0
17
-23
-25
0
0
46
-46
-93
0
0
-24
-35
7
0
0
-45
38
10
0
0
17
-8
0
0
0
0
-3
0
0
0
0
0
1
0
0
12
-5
0
0
0
5
0
0
0
0
-1
0
0
0
0
-4
-1
-1
0
0
0
-1
0
0
0
4
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
35
-9
-50
0
0
-32
-38
-43
0
0
-2
-6
-97
0
0
16
-40
-2
0
0
16
58
-71
0
0
13
-43
-59
0
0
4
-13
11
0
0
8
-18
33
0
0
81
-8
-70
0
0
-44
31
-13
0
0
-96
5
45
0
0
-58
8
8
0
0
-90
24
39
0
0
7
48
-9
0
0
-17
-16
-30
0
0
66
-15
-17
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
6
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
8
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
3
9
33
40
0
0
32
11
-47
0
0
7
78
47
0
0
22
-3
-5
0
0
13
14
-21
0
0
-88
12
-54
0
0
-5
-39
39
0
0
3
14
16
0
0
59
-57
0
0
0
-6
-74
35
0
0
15
-5
60
0
0
30
-60
-124
0
0
53
25
-14
0
0
-14
-14
45
0
0
-91
-16
19
0
0
-48
-33
-3
0
0
19
-2
31
0
0
-9
-6
15
0
0
-1
8
-12
0
0
-3
-10
0
0
0
-33
-41
1
0
0
0
1
0
0
0
13
-8
-2
0
0
-7
1
-2
0
0
-22
-5
-28
0
0
0
-4
1
0
0
1
25
-5
0
0
5
-2
0
0
0
25
15
-2
0
0
0
6
1
0
0
13
-6
2
0
0
1
0
0
0
7
0
-6
1
0
0
-28
22
12
0
0
76
15
-12
0
0
19
53
19
0
0
-51
4
-24
0
0
-114
6
-54
0
0
-59
16
-61
0
0
-75
12
-15
0
0
57
-7
-11
0
0
18
-54
6
0
0
-19
30
31
0
0
52
-57
-42
0
0
12
-43
-2
0
0
17
1
33
0
0
32
-24
-69
0
0
-5
-53
-6
0
0
26
0
-1
0
0
1
6
1
0
0
1
7
6
0
0
-4
-3
1
0
0
1
-9
0
0
0
0
3
0
0
0
-22
-2
0
0
0
3
0
0
0
0
6
-5
3
0
0
-1
-1
-1
0
0
7
-3
7
0
0
1
-2
-2
0
0
-7
0
-13
0
0
4
8
0
0
0
-6
0
0
0
0
3
0
0
0
-18
5
-3
-58
0
0
-38
-5
-35
0
0
29
-29
-13
0
0
-10
15
10
0
0
-46
-7
-40
0
0
-92
11
-23
0
0
-14
23
45
0
0
-22
-19
9
0
0
45
-10
22
0
0
-32
-21
-2
0
0
-17
45
-30
0
0
66
-16
5
0
0
-47
-26
34
0
0
18
28
13
0
0
13
-50
15
0
0
59
-24
-28
0
0
0
20
-10
0
0
0
2
-12
0
0
-2
-2
9
0
0
-1
14
-2
0
0
2
16
0
0
0
-8
0
5
0
0
27
-12
-6
0
0
2
1
-1
0
0
17
0
-24
0
0
4
0
1
0
0
13
3
1
0
0
-1
-7
0
0
0
4
10
5
0
0
-2
1
0
0
0
3
0
-8
0
0
-4
0
0
0
-9
-24
31
2
0
0
-5
-1
10
0
0
-2
-7
-25
0
0
-6
34
1
0
0
-16
-47
0
0
0
-38
-17
13
0
0
16
-85
20
0
0
9
-6
5
0
0
-14
-49
-46
0
0
-26
-28
56
0
0
12
-34
-78
0
0
19
-43
-40
0
0
-4
44
22
0
0
4
30
4
0
0
-34
41
-15
0
0
-31
-37
-8
0
0
8
-12
3
0
0
-2
0
0
0
0
4
0
-12
0
0
-17
-1
1
0
0
-9
0
-2
0
0
-7
5
-1
0
0
8
-10
0
0
0
54
2
1
0
0
-4
0
-5
0
0
-13
0
0
0
0
-3
0
-1
0
0
-12
-5
0
0
0
24
5
0
0
0
4
1
0
0
0
10
-1
0
0
0
-7
0
0
0
-18
48
94
75
0
0
-34
48
24
0
0
67
-3
14
0
0
-60
22
-9
0
0
-13
-12
-50
0
0
-33
-7
-29
0
0
-4
-37
-145
0
0
0
3
25
0
0
-75
-52
27
0
0
60
2
0
0
0
46
20
31
0
0
33
10
-9
0
0
-24
22
1
0
0
3
-22
-55
0
0
-34
15
-34
0
0
30
47
-13
0
0
-6
-24
-13
0
0
0
-6
-1
0
0
31
3
5
0
0
0
-4
0
0
0
12
-2
-8
0
0
-1
7
0
0
0
16
7
3
0
0
-1
0
0
0
0
41
-3
25
0
0
-1
-6
5
0
0
-1
3
-9
0
0
0
0
0
0
0
-8
-6
-7
0
0
-4
-6
0
0
0
10
-10
2
0
0
-5
3
-1
0
-12
25
-9
2
0
0
-99
-4
48
0
0
56
-43
23
0
0
-55
10
-21
0
0
-32
-4
-82
0
0
-33
-37
-28
0
0
-25
-5
-85
0
0
23
3
-88
0
0
-11
-68
7
0
0
-23
-30
26
0
0
6
-38
36
0
0
-1
-79
-9
0
0
38
-30
23
0
0
44
-56
-16
0
0
4
79
-31
0
0
-10
-21
0
0
0
-14
1
-7
0
0
0
0
0
0
0
-4
0
0
0
0
-2
8
0
0
0
3
0
0
0
0
-2
-4
0
0
0
3
0
0
0
0
8
2
0
0
0
-2
0
4
0
0
0
-3
0
0
0
0
0
-21
0
0
-4
0
0
0
0
5
0
13
0
0
-1
0
0
0
0
21
-2
0
0
0
5
0
0
0
-15
115
-22
-59
0
0
11
3
-84
0
0
-11
-12
3
0
0
34
-1
-32
0
0
-42
-71
-42
0
0
-4
9
27
0
0
-1
3
59
0
0
-12
3
43
0
0
33
40
-42
0
0
-58
40
-52
0
0
18
-105
-25
0
0
82
-36
15
0
0
9
-80
64
0
0
90
-14
-62
0
0
11
-43
7
0
0
0
41
-17
0
0
0
0
0
0
0
2
-1
-4
0
0
0
0
1
0
0
2
0
0
0
0
-2
0
-2
0
0
0
0
3
0
0
6
-5
-1
0
0
0
1
0
0
0
7
0
-1
0
0
0
1
-1
0
0
0
0
-1
0
0
0
2
0
0
0
14
1
-2
0
0
0
0
0
0
0
8
8
-2
0
0
-7
0
0
0
-9
17
-3
27
0
0
-5
23
-17
0
0
-13
-60
5
0
0
-22
-6
27
0
0
-14
-25
-22
0
0
52
-29
-2
0
0
18
48
-18
0
0
17
14
6
0
0
2
5
13
0
0
-20
42
19
0
0
-24
22
-88
0
0
-31
8
-5
0
0
-24
-56
37
0
0
-61
11
-27
0
0
-9
11
27
0
0
28
-54
21
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
-12
-1
0
0
0
1
-1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
-24
30
16
2
0
0
-31
11
10
0
0
27
77
-19
0
0
-4
10
-2
0
0
30
84
-6
0
0
-17
8
2
0
0
2
12
0
0
0
-6
6
-2
0
0
-33
-50
0
0
0
10
-4
0
0
0
7
21
-5
0
0
1
10
0
0
0
33
-5
0
0
0
23
-25
0
0
0
4
-8
0
0
0
43
3
0
0
0
-9
-18
-46
0
0
-31
8
7
0
0
4
12
8
0
0
-2
2
-3
0
0
-2
43
25
0
0
-12
-13
-6
0
0
-18
-14
-1
0
0
0
-4
0
0
0
-9
-18
-27
0
0
1
-9
-2
0
0
-5
-34
5
0
0
6
0
0
0
0
-41
-26
8
0
0
0
25
3
0
0
-4
8
0
0
0
-8
22
-5
0
11
-19
-17
-10
0
0
-10
25
1
0
0
-20
18
2
0
0
-25
16
-3
0
0
2
2
-2
0
0
25
2
0
0
0
1
7
0
0
0
14
-13
0
0
0
43
-12
1
0
0
2
25
0
0
0
10
6
0
0
0
5
-9
0
0
0
14
-25
0
0
0
-5
-8
0
0
0
17
-12
0
0
0
-1
0
0
0
0
10
-2
-7
0
0
5
-2
1
0
0
0
27
0
0
0
0
-1
-1
0
0
-5
12
-4
0
0
22
14
1
0
0
3
4
0
0
0
0
0
0
0
0
-4
10
15
0
0
0
-5
0
0
0
30
-22
1
0
0
0
6
0
0
0
-6
10
0
0
0
0
-1
1
0
0
-1
10
0
0
0
0
-8
2
0
26
-5
43
-1
0
0
-2
-2
-1
0
0
-8
35
-4
0
0
25
10
0
0
0
6
24
-7
0
0
7
16
-1
0
0
3
3
0
0
0
-3
2
-2
0
0
52
39
4
0
0
0
5
1
0
0
-2
5
4
0
0
2
13
0
0
0
5
19
0
0
0
3
-6
0
0
0
2
14
0
0
0
4
31
0
0
0
12
-22
-19
0
0
0
-9
0
0
0
-3
-8
-1
0
0
0
17
-5
0
0
2
-6
10
0
0
-2
-5
17
0
0
5
-9
0
0
0
-1
8
0
0
0
-20
14
-13
0
0
0
12
0
0
0
-7
8
-2
0
0
3
-15
0
0
0
5
50
-8
0
0
0
-5
0
0
0
-5
-22
4
0
0
25
-29
0
0
48
-6
-5
-3
0
0
2
1
0
0
0
-4
5
0
0
0
8
-8
0
0
0
19
-1
0
0
0
-2
-2
0
0
0
3
-2
0
0
0
5
-6
0
0
0
10
-9
0
0
0
4
2
0
0
0
-27
5
0
0
0
2
-13
0
0
0
51
12
0
0
0
-1
0
0
0
0
-10
-19
0
0
0
6
1
0
0
0
5
-2
0
0
0
0
1
-2
0
0
0
1
0
0
0
-9
0
0
0
0
4
0
-1
0
0
5
7
0
0
0
7
-2
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
2
0
0
1
-9
0
0
0
-7
3
1
0
0
-1
-5
0
0
0
0
-1
-1
0
0
-3
1
0
0
-26
5
8
10
0
0
5
-13
0
0
0
0
-26
-3
0
0
0
-24
0
0
0
1
13
1
0
0
-1
1
0
0
0
-5
8
0
0
0
-1
2
0
0
0
-34
-13
-1
0
0
3
22
0
0
0
15
14
0
0
0
8
-2
0
0
0
-22
-8
0
0
0
-1
-12
0
0
0
-30
16
0
0
0
4
-12
0
0
0
-1
-5
-4
0
0
0
-2
-1
0
0
2
8
1
0
0
-1
2
0
0
0
5
-13
2
0
0
2
0
0
0
0
-8
8
0
0
0
0
-2
-1
0
0
-1
7
-18
0
0
-1
-25
-3
0
0
7
5
7
0
0
-6
-4
1
0
0
-18
24
-12
0
0
-1
6
-3
0
0
-16
29
-1
0
0
-1
7
-3
0
-34
-14
42
2
0
0
0
1
0
0
0
-1
2
0
0
0
12
13
0
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
-3
0
0
0
-6
-8
0
0
0
2
8
0
0
0
1
-3
0
0
0
-6
31
0
0
0
-3
1
4
0
0
-3
0
0
0
0
13
7
0
0
0
-2
8
0
0
0
-18
8
0
0
0
0
-7
0
0
0
-1
2
1
0
0
1
1
0
0
0
-1
2
0
0
0
-2
0
0
0
0
-7
1
0
0
0
1
1
0
0
0
-6
7
-5
0
0
-1
1
-1
0
0
2
0
0
0
0
2
-3
0
0
0
-3
-1
-6
0
0
0
18
-2
0
0
-3
1
-1
0
0
-1
3
0
0
17
-8
-28
-2
0
0
0
-1
0
0
0
-4
6
0
0
0
0
1
-1
0
0
8
0
-2
0
0
0
0
0
0
0
-2
0
1
0
0
0
-6
0
0
0
1
7
-1
0
0
1
0
0
0
0
8
1
-3
0
0
16
-1
0
0
0
-4
1
0
0
0
-4
2
-1
0
0
-5
-7
0
0
0
0
8
0
0
0
3
-3
1
0
0
1
-8
0
0
0
4
0
3
0
0
3
2
-2
0
0
-3
-1
1
0
0
0
0
0
0
0
13
-10
0
0
0
1
-2
-1
0
0
24
-3
19
0
0
0
0
0
0
0
20
0
0
0
0
0
8
0
0
0
0
-8
-2
0
0
0
-3
0
0
0
-5
-6
0
0
0
0
22
3
0
42
-6
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
8
1
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
2
0
0
0
13
8
0
0
0
2
-18
0
0
0
1
1
0
0
0
13
18
0
0
0
22
0
0
0
0
-10
0
0
0
0
3
0
0
0
0
-1
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
1
1
0
0
-16
0
0
0
0
0
0
0
0
0
-10
5
0
0
0
-2
0
0
0
0
-19
0
4
0
0
0
0
0
0
0
2
0
0
0
0
2
-1
-2
0
0
-1
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-2
0
0
-50
20
31
9
0
0
-5
-10
-8
0
0
3
9
8
0
0
-2
18
0
0
0
8
-16
0
0
0
-2
2
-3
0
0
5
43
0
0
0
0
-4
0
0
0
-31
-7
-10
0
0
-22
-20
1
0
0
24
0
0
0
0
11
-32
-3
0
0
-25
18
-1
0
0
8
-12
1
0
0
-14
36
0
0
0
4
39
0
0
0
-8
5
-16
0
0
-1
30
8
0
0
1
41
-12
0
0
7
-42
-8
0
0
-2
19
8
0
0
0
-17
3
0
0
-23
75
13
0
0
0
-17
1
0
0
2
9
-23
0
0
23
-31
6
0
0
-3
34
8
0
0
-7
-2
-1
0
0
-7
33
41
0
0
27
24
-2
0
0
-23
42
21
0
0
20
21
4
0
-10
10
19
0
0
0
-2
2
0
0
0
0
-20
0
0
0
-10
6
0
0
0
-2
0
0
0
0
-1
25
0
0
0
8
11
0
0
0
-1
-7
0
0
0
18
-24
1
0
0
-10
-3
0
0
0
-15
28
-1
0
0
19
-7
0
0
0
-16
-9
0
0
0
17
9
0
0
0
25
20
0
0
0
-1
-13
1
0
0
71
46
-2
0
0
-13
-1
-7
0
0
-3
1
13
0
0
13
12
1
0
0
7
-2
6
0
0
5
9
-2
0
0
5
9
3
0
0
-1
17
1
0
0
43
-13
24
0
0
-13
13
7
0
0
-17
-3
-5
0
0
1
21
20
0
0
-9
5
14
0
0
-2
23
-13
0
0
-2
34
-8
0
0
-6
12
0
0
-57
19
-6
1
0
0
-5
16
1
0
0
1
3
1
0
0
-1
-16
0
0
0
14
-22
0
0
0
1
-24
-1
0
0
-9
18
0
0
0
0
-1
0
0
0
1
7
0
0
0
-7
34
0
0
0
5
7
-1
0
0
53
24
0
0
0
-19
10
0
0
0
-9
59
0
0
0
3
9
0
0
0
-5
35
0
0
0
22
17
27
0
0
0
-23
8
0
0
0
25
-2
0
0
-24
13
7
0
0
9
1
-5
0
0
1
-8
3
0
0
6
-16
-8
0
0
-2
42
-1
0
0
-1
-12
-39
0
0
2
-3
-6
0
0
5
47
-3
0
0
-8
-17
5
0
0
18
3
-3
0
0
18
-4
13
0
0
12
17
20
0
0
3
12
-1
0
46
-25
-5
0
0
0
2
3
0
0
0
0
-2
1
0
0
1
8
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-6
1
0
0
0
37
9
0
0
0
-10
13
0
0
0
9
-50
0
0
0
28
27
0
0
0
26
10
0
0
0
15
-1
0
0
0
3
9
0
0
0
-6
-2
-1
0
0
42
-19
2
0
0
3
24
-5
0
0
-7
3
5
0
0
20
2
-10
0
0
19
-2
0
0
0
-1
1
2
0
0
-10
7
-4
0
0
2
6
0
0
0
-5
-1
-1
0
0
-3
20
4
0
0
4
-8
-1
0
0
13
5
1
0
0
-6
-1
-1
0
0
-4
-14
4
0
0
-19
6
0
0
0
4
5
-1
0
20
-49
-29
7
0
0
0
4
0
0
0
-10
-4
-2
0
0
4
-16
0
0
0
-8
-8
0
0
0
0
19
0
0
0
9
-37
1
0
0
0
49
0
0
0
80
-2
-2
0
0
-10
19
0
0
0
3
49
-1
0
0
69
-28
0
0
0
-15
8
7
0
0
0
-2
0
0
0
-1
5
0
0
0
-10
37
0
0
0
19
-9
-12
0
0
0
4
6
0
0
0
-34
-7
0
0
0
13
3
0
0
1
-6
12
0
0
-2
6
-1
0
0
1
19
0
0
0
-1
0
0
0
0
-7
-1
-9
0
0
34
-3
4
0
0
-25
-19
14
0
0
20
29
5
0
0
-4
-17
8
0
0
22
-9
1
0
0
13
-9
-24
0
0
-17
-5
3
0
-35
7
13
-1
0
0
-3
-1
0
0
0
0
5
0
0
0
-1
-4
0
0
0
6
5
0
0
0
-1
-6
0
0
0
-4
5
0
0
0
0
1
0
0
0
8
18
0
0
0
-18
-2
0
0
0
-3
6
0
0
0
46
-51
0
0
0
-1
22
-3
0
0
13
-1
0
0
0
75
-4
0
0
0
3
-9
0
0
0
2
0
0
0
0
0
5
-1
0
0
1
3
2
0
0
0
0
0
0
0
-12
0
2
0
0
3
-1
-1
0
0
-22
2
-5
0
0
-3
1
1
0
0
-23
5
-12
0
0
-12
16
-3
0
0
8
0
8
0
0
3
-8
-6
0
0
1
-13
-10
0
0
-1
8
1
0
0
4
0
-1
0
0
12
-5
-1
0
-35
-6
8
0
0
0
0
27
1
0
0
10
5
-1
0
0
0
10
0
0
0
-9
-5
0
0
0
0
1
0
0
0
-4
27
0
0
0
0
-1
0
0
0
-10
2
0
0
0
-3
-5
0
0
0
-4
2
0
0
0
-15
6
0
0
0
44
-9
1
0
0
-13
-8
2
0
0
9
14
0
0
0
-2
24
0
0
0
-25
1
-6
0
0
0
-3
-2
0
0
0
0
-3
0
0
0
14
0
0
0
9
4
-4
0
0
0
-5
0
0
0
-13
0
1
0
0
-1
-7
0
0
0
-7
10
5
0
0
-4
-2
-1
0
0
-8
-2
8
0
0
-4
1
-3
0
0
-2
43
-31
0
0
-5
13
5
0
0
9
-8
8
0
0
-2
5
9
0
51
-8
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
-4
0
0
0
1
3
0
0
0
0
-3
0
0
0
2
0
0
0
0
9
-10
0
0
0
-3
-2
0
0
0
-6
2
0
0
0
-5
-7
1
0
0
0
-1
0
0
0
24
0
0
0
0
-6
-1
0
0
0
6
7
0
0
0
0
1
0
0
0
2
0
2
0
0
0
0
1
0
0
4
4
0
0
0
3
0
-1
0
0
-1
-1
0
0
0
20
0
3
0
0
-4
2
0
0
0
-7
3
-12
0
0
12
0
1
0
0
0
0
0
0
0
6
-7
3
0
0
3
-1
1
0
0
8
-3
1
0
0
12
9
3
0
0
-1
-1
-2
6
43
5
-5
40
0
-19
18
-23
-28
0
-5
11
12
15
0
-30
4
-32
15
0
8
-9
4
-9
0
1
19
-6
-2
0
0
-5
15
-10
0
6
18
-2
3
0
3
81
7
31
0
22
-46
6
-6
0
20
7
-16
5
0
17
-2
20
20
0
-20
-23
-7
-8
0
-22
-38
-2
-79
0
-93
25
-20
-9
0
3
-7
-8
-4
0
-50
36
-14
-39
0
-24
19
41
13
0
-45
17
47
-32
0
52
-8
0
1
0
-1
6
-31
-2
0
1
-57
13
0
0
30
16
6
5
0
-9
1
0
1
0
-29
33
5
-2
0
7
-25
-33
2
0
-4
-28
-1
-8
0
12
6
-9
1
0
-11
-18
-5
15
0
27
48
-4
-3
0
-17
-18
0
0
0
-13
1
0
0
7
30
-1
-3
43
0
-79
1
16
-52
0
-42
0
-42
4
0
-24
7
-5
-9
0
-16
-26
6
8
0
2
-7
-2
-18
0
6
-6
-4
-28
0
12
-14
-3
4
0
36
-22
13
-84
0
19
10
12
4
0
-47
73
2
-63
0
4
83
34
-24
0
-44
22
-4
-100
0
-53
-85
-50
-44
0
-14
9
-15
-35
0
43
43
-92
6
0
1
-42
-2
-7
0
9
-5
-15
1
0
-8
14
-19
-2
0
-12
22
5
0
0
-53
2
13
1
0
0
5
16
2
0
-24
-8
-1
0
0
-5
33
-3
0
0
31
-42
7
-9
0
5
22
7
0
0
-8
-12
-5
6
0
-2
-5
2
-1
0
-15
24
17
1
0
-4
-23
-13
0
0
-9
-6
1
0
0
-8
-11
6
0
-6
16
-1
12
11
0
-13
-2
0
24
0
-8
-3
-22
2
0
0
-25
-86
0
0
15
-21
7
26
0
-12
-5
-11
6
0
0
11
-10
20
0
-12
15
-16
-10
0
-69
-5
-5
-23
0
-86
10
15
22
0
-85
16
-13
17
0
-50
28
10
27
0
-5
35
-40
-43
0
10
-64
-56
-80
0
-5
-100
-25
-50
0
16
-22
-3
-6
0
-2
-18
-4
-3
0
23
-27
10
-6
0
16
-6
-5
-8
0
-4
22
1
1
0
-7
-2
5
5
0
3
0
0
-3
0
-30
18
0
-2
0
-9
-3
0
0
0
-5
-3
-12
0
0
-3
0
-10
0
0
17
33
17
14
0
0
8
-4
1
0
-8
0
-5
0
0
12
-7
32
0
0
28
4
-8
2
0
-1
-1
-1
0
-16
26
-2
-23
5
0
-31
-58
-25
-20
0
-69
-32
-39
-12
0
-14
-78
-85
-8
0
38
-92
0
0
0
5
5
-29
-41
0
12
19
50
0
0
1
8
-6
-62
0
47
65
44
-29
0
-34
3
-20
30
0
3
0
83
3
0
13
44
-15
-6
0
47
-5
55
-13
0
56
-8
-39
-3
0
10
-41
30
3
0
66
-16
-5
-3
0
1
-8
7
0
0
-4
5
-3
0
0
-1
5
5
0
0
0
-15
3
-2
0
-14
-2
0
0
0
-8
-4
0
0
0
19
-13
0
0
0
-2
-7
0
0
0
0
8
-5
0
0
7
-10
6
0
0
3
-18
0
0
0
0
3
0
0
0
-1
0
0
0
0
1
33
-9
0
0
0
-1
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
17
-3
-91
0
-80
14
15
-12
0
24
-5
21
-73
0
24
-22
46
11
0
13
5
11
4
0
17
4
-11
-42
0
20
-8
26
-20
0
31
-6
8
-91
0
-31
5
5
21
0
-49
-33
1
27
0
-9
-20
6
0
0
-20
-51
29
10
0
-14
1
16
15
0
-5
-11
40
-2
0
7
9
0
4
0
38
15
52
-103
0
7
0
-23
7
0
-3
-8
19
-2
0
41
12
41
-8
0
1
7
-14
-1
0
-55
12
6
2
0
2
5
6
0
0
-42
40
-25
6
0
13
2
0
1
0
-58
1
-8
31
0
48
-20
31
-6
0
54
-3
31
22
0
19
9
-22
1
0
11
-7
-28
-17
0
-95
-5
34
-2
0
-30
5
6
-18
0
50
-5
-6
1
-18
35
23
-47
-17
0
-86
16
-80
-40
0
27
-27
-3
-15
0
59
5
-31
-44
0
5
-9
-33
23
0
30
15
-13
5
0
5
3
-33
-39
0
42
-18
18
-43
0
-111
-3
-2
-7
0
6
-49
-19
4
0
13
-57
-16
-12
0
44
-108
-42
-22
0
-18
-3
40
-6
0
-26
18
-8
17
0
14
-27
45
-16
0
43
-29
76
22
0
0
-7
-2
-1
0
5
27
-16
3
0
-5
14
8
1
0
5
-15
7
1
0
-47
-1
-9
-1
0
-3
-14
16
0
0
-61
10
-1
0
0
2
-1
0
0
0
5
-42
66
-1
0
-49
22
39
0
0
-30
49
1
0
0
21
5
0
0
0
-37
-7
15
0
0
8
16
-5
0
0
65
-8
-8
0
0
-8
19
8
0
-9
-29
-7
-3
5
0
7
10
23
24
0
-31
-45
30
-13
0
23
36
45
0
0
32
-19
-44
-2
0
-14
-6
-5
-85
0
2
7
8
-65
0
15
5
16
93
0
-41
-116
-20
17
0
32
-16
-19
-5
0
-6
-57
-13
-31
0
-22
-116
-63
49
0
4
-5
-6
-17
0
57
-12
33
-35
0
32
-59
24
-113
0
71
-51
52
16
0
-13
13
-25
2
0
-1
25
6
0
0
31
0
47
0
0
8
8
-12
2
0
9
5
-19
3
0
17
-3
-2
0
0
58
-20
15
4
0
44
-20
4
0
0
-59
-25
-22
-7
0
-20
23
5
4
0
7
-8
90
-4
0
9
-6
-21
0
0
-92
-2
5
0
0
56
6
-2
0
0
5
-17
6
0
0
6
4
-19
0
-16
-8
-8
-5
-64
0
25
-13
-47
-3
0
-49
22
-113
1
0
26
6
18
-5
0
24
-17
5
-46
0
16
-11
6
-26
0
-23
-10
57
-21
0
26
24
-25
-4
0
-55
-76
-12
-14
0
-48
30
-4
-19
0
-9
0
42
-9
0
22
74
-18
30
0
-10
-71
17
-61
0
21
-22
-55
-47
0
19
5
33
-11
0
-9
18
22
7
0
-6
6
-7
0
0
-5
-2
-7
0
0
9
-3
-1
0
0
4
-1
0
-2
0
-7
0
0
0
0
0
-25
-1
0
0
1
16
-4
0
0
-20
25
1
0
0
0
-34
13
0
0
-24
-9
17
0
0
10
17
4
0
0
3
-12
0
0
0
37
-8
-18
0
0
-2
7
16
0
0
-10
4
-1
0
0
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
12
14
-18
0
-25
-23
47
19
0
-4
-9
30
13
0
3
-6
-5
0
0
-5
-33
25
-8
0
16
3
-1
-1
0
-5
21
-6
24
0
-3
5
19
-2
0
-46
18
6
35
0
3
4
-23
-13
0
-44
28
-4
14
0
73
26
-1
-4
0
4
-18
-27
-12
0
-3
27
-2
6
0
-16
50
-3
-8
0
-1
-43
-4
0
0
15
-5
54
-3
0
7
49
44
8
0
0
42
16
14
0
24
-3
20
4
0
13
-36
29
27
0
1
23
13
3
0
34
17
-19
4
0
9
24
-1
0
0
45
21
-12
-2
0
-5
89
23
15
0
-51
2
8
1
0
-14
19
12
1
0
-31
5
28
-24
0
-1
6
-42
8
0
2
-20
60
-8
0
13
31
-12
2
-13
-14
30
-29
-3
0
7
-5
-1
3
0
14
20
-15
1
0
-20
7
-4
-1
0
-6
-20
8
3
0
8
72
-12
0
0
25
-5
-33
0
0
-5
35
-2
0
0
16
-8
-8
12
0
-5
16
8
0
0
5
-9
14
0
0
21
-20
24
-1
0
-15
32
-9
-2
0
-6
42
4
-1
0
45
24
1
0
0
-41
-8
-4
0
0
5
-7
8
-4
0
1
32
2
-4
0
4
22
6
8
0
0
32
-5
-3
0
-13
-6
-32
-3
0
-1
22
20
-3
0
2
-17
-20
1
0
-6
8
0
-2
0
-10
-18
-14
-31
0
-4
-20
33
12
0
2
-4
36
-15
0
41
15
0
-2
0
25
20
-22
41
0
58
-29
19
-4
0
25
-10
27
41
0
21
13
2
1
24
25
-3
13
24
0
-6
30
-3
0
0
4
-24
39
-5
0
8
-8
10
-1
0
-9
-46
42
-7
0
-8
-6
-4
0
0
22
-10
1
-2
0
-8
23
3
0
0
17
45
-34
-4
0
12
-25
-12
1
0
-8
-9
-13
-2
0
6
-22
2
-10
0
-13
25
1
-4
0
-22
22
4
1
0
21
-13
5
10
0
51
21
0
0
0
-6
78
31
3
0
-6
-5
8
1
0
-12
-16
22
-7
0
-4
1
-13
-3
0
5
-32
6
-21
0
0
-2
29
0
0
-8
4
-24
1
0
-8
3
0
0
0
9
27
-30
8
0
21
-37
33
0
0
8
5
23
18
0
-9
-25
27
0
0
-5
11
-5
26
0
0
-15
30
1
0
14
18
47
1
0
-31
-30
3
0
-19
-7
2
10
0
0
-10
23
-3
0
0
23
-8
-13
7
0
-39
36
-1
-3
0
-9
-4
0
0
0
-1
8
-6
0
0
-2
-8
4
-1
0
32
-8
0
-1
0
-19
-5
2
0
0
7
3
3
0
0
0
24
1
-1
0
-25
60
2
-1
0
-18
-24
0
4
0
-2
30
-1
-5
0
15
21
0
0
0
-11
-12
0
0
0
3
-8
-8
-1
0
1
0
-1
0
0
10
10
0
0
0
0
0
0
0
0
-7
0
0
1
0
-3
-7
-3
0
0
5
0
0
0
0
12
0
2
0
0
19
-30
30
-1
0
-7
-7
3
2
0
-15
35
-7
-1
0
-4
83
-6
0
0
5
54
-37
-1
0
3
28
-13
1
0
6
-5
0
0
0
35
36
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-59
-61
103
45
0
54
-39
-4
-6
0
18
5
5
0
0
-6
-2
14
0
0
50
-30
-19
9
0
-9
2
29
2
0
1
67
2
-5
0
17
-7
2
0
0
19
-29
-24
-5
0
26
9
-23
-8
0
35
-2
13
3
0
34
-51
23
-3
0
-2
54
26
5
0
64
-23
17
39
0
43
-11
-31
1
0
29
-29
-2
0
0
-31
-45
-22
-21
0
-1
74
-25
9
0
-41
50
73
-25
0
-14
-14
-50
7
0
-10
-31
-37
-30
0
8
5
-4
-4
0
55
49
-15
-2
0
46
-6
1
8
0
-61
73
54
4
0
-5
-4
42
-22
0
21
48
64
-12
0
19
23
50
3
0
-3
0
6
22
0
-10
18
24
-26
0
-12
-47
96
0
0
-6
-19
4
0
6
-9
33
42
3
0
10
12
-8
8
0
-1
-5
-5
-3
0
-7
8
-25
0
0
-17
22
-8
-3
0
4
-7
-2
0
0
-5
30
-1
1
0
2
3
0
0
0
-2
3
5
-10
0
-11
34
3
18
0
38
-2
-9
4
0
32
-33
-18
3
0
-24
-11
16
23
0
-51
24
4
28
0
-16
-9
1
2
0
-5
-15
5
2
0
36
-6
32
22
0
6
3
-7
-6
0
20
2
-13
25
0
5
-2
8
-2
0
24
-4
-6
1
0
1
-8
2
0
0
20
6
-12
-1
0
-15
-19
-6
0
0
-63
5
77
-29
0
-5
-5
16
2
0
4
47
-41
-10
0
19
-5
31
-5
0
17
18
18
9
0
-19
1
8
-3
0
-8
14
49
7
0
-18
14
-8
0
21
19
-1
-31
2
0
15
-13
1
0
0
-1
-15
7
4
0
12
-5
-3
6
0
54
-7
41
1
0
-13
-6
-3
0
0
31
17
-12
7
0
-1
19
1
0
0
10
-4
-45
1
0
11
-23
-14
15
0
11
28
-16
5
0
17
5
0
1
0
-5
21
-15
41
0
-51
2
-30
-8
0
-16
22
5
-14
0
-43
4
4
2
0
-34
2
28
9
0
-2
-1
64
-5
0
1
-24
28
-3
0
-18
32
13
-8
0
44
-3
-27
5
0
4
-22
45
-6
0
2
8
10
-9
0
-3
7
20
1
0
18
-17
2
52
0
21
19
37
-23
0
28
33
-42
-6
0
30
43
-13
6
0
13
36
0
10
0
3
51
-1
-16
0
-8
63
-48
1
0
42
-7
-8
-10
-17
-2
25
15
-6
0
-14
-5
-6
0
0
1
5
0
-6
0
7
-5
2
0
0
2
0
-1
0
0
-10
-13
-1
0
0
9
-19
-3
0
0
-5
4
0
0
0
85
38
9
0
0
-42
71
1
5
0
-13
-8
4
-1
0
-25
16
7
-17
0
27
-6
-1
3
0
8
-8
3
-8
0
-16
-5
0
1
0
-8
1
-3
0
0
-20
-3
5
0
0
2
-5
1
0
0
-6
-1
25
-5
0
18
3
-6
-3
0
-1
-18
6
-3
0
0
33
-15
0
0
-25
-19
10
0
0
-24
-8
2
0
0
-47
-12
20
12
0
-3
-25
22
21
0
-86
3
-18
18
0
4
3
13
21
0
9
-25
8
-6
0
-17
-15
22
-5
0
16
13
4
-4
0
24
21
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
6
-10
-20
-19
3
17
6
-3
-14
-5
12
7
15
-34
31
-28
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
7
11
-26
16
42
-4
26
-47
-44
-22
51
14
-7
25
104
-33
36
-63
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
-13
8
-29
1
-5
-31
17
45
-2
74
-35
-44
-5
-19
-19
26
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
22
2
3
23
-18
-10
9
5
-10
-6
15
15
8
-14
-30
23
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-30
-18
7
-5
-9
-9
-30
-10
24
43
-39
-28
-32
4
46
-39
23
-26
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
68
-18
-26
-9
10
67
0
-61
-72
-45
-18
3
88
-75
-25
43
9
-47
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
25
-6
23
-4
-10
-27
35
-3
5
-22
-9
-22
12
-4
4
-1
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-51
13
-6
-3
-8
2
-3
18
-3
-9
-4
-32
3
-3
-6
1
15
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-49
18
-42
-17
11
18
-11
-13
-13
1
24
15
6
-2
4
-12
30
-62
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-14
-17
-30
-84
-10
-18
-32
-5
-41
91
-11
11
-10
-54
-16
-63
71
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
5
41
4
17
16
8
13
-14
-13
-14
-13
-1
-18
-5
-17
-8
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-6
8
2
-13
24
-41
6
1
5
8
-16
12
-3
30
-8
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-81
4
-4
-35
39
21
-22
-52
-12
-2
9
-14
13
0
-25
41
-12
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-13
-29
-14
15
77
-21
-90
-21
5
-54
-41
-31
9
5
-30
35
-15
9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
16
22
3
4
12
24
0
4
-3
3
-27
14
1
4
31
-7
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
-8
8
4
5
35
41
-8
0
5
-1
17
-29
0
-4
7
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-17
4
3
11
-5
7
10
-17
-5
-11
-20
-11
6
6
-24
53
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-19
-14
-42
-14
11
-3
6
-3
-121
1
-52
0
-75
3
-82
17
0
-17
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-18
9
-9
23
-3
44
-22
-12
2
8
45
-1
13
0
-1
34
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-16
-5
-9
14
0
10
-2
7
-4
-25
-102
12
-16
-1
5
-8
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-21
3
-5
28
-46
8
14
-20
24
-23
-44
10
3
-15
-33
-2
-23
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-43
-19
-23
-31
-97
2
-13
-53
44
-20
41
3
-13
-143
-31
-101
-48
8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-35
14
2
4
4
14
-41
-5
3
-2
24
35
-5
0
-8
-29
33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
18
12
0
5
-22
6
1
-1
14
22
2
1
0
1
-12
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-56
2
16
-4
-35
7
-16
-32
-7
3
-29
-11
2
13
-64
0
-26
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-48
-66
5
-56
29
8
-45
-2
-110
-56
-94
-38
-71
-31
15
0
-77
118
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-22
-2
24
-2
0
-5
24
-15
0
9
14
-1
23
0
0
-3
-7
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-41
3
3
6
-5
-25
-8
8
0
15
32
-16
2
0
1
5
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-44
-4
-10
-1
-44
19
-9
-17
-5
58
-87
17
8
-17
-45
-1
-13
26
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-46
-49
13
-3
-31
-20
-13
10
-34
-32
-1
-14
5
12
-16
-31
-26
20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
5
0
0
-2
8
-1
0
6
-2
-14
-3
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
8
-3
-3
-3
0
-1
0
-1
-2
2
0
0
-6
-2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
12
-50
4
-79
1
0
-18
27
-26
-99
11
-61
2
-37
15
-6
-146
14
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
3
25
12
18
57
8
10
4
-6
55
34
8
-4
17
58
-2
8
24
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-14
-5
5
5
0
15
72
-46
-15
54
-60
10
14
6
0
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
19
69
-18
-1
-4
8
21
1
-19
-9
9
34
-16
18
7
5
-41
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-11
-35
-25
-50
21
7
-80
-3
62
-84
-8
-117
13
-33
-2
-2
-41
-13
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
12
30
7
-28
-32
20
-11
10
-41
-8
48
11
-7
-7
8
52
-19
-7
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
19
30
27
4
1
-5
31
3
-4
-1
-8
28
16
8
-1
-42
42
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
39
3
47
-14
-5
-5
18
-27
-2
-2
49
12
5
-9
5
-2
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-50
-22
-5
-125
-5
-66
17
-20
-70
11
-78
-16
5
-24
5
35
-38
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
-16
14
10
25
25
0
47
-48
2
71
-15
34
-28
7
15
-20
30
-34
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-32
2
0
-5
-6
8
18
-8
8
32
32
-22
-3
4
-16
10
8
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-32
-34
58
-9
31
15
16
-8
-2
-58
52
-19
-6
0
44
-48
-15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-14
-58
-67
34
-2
-15
-6
-24
42
-54
36
-18
-3
-10
37
1
-3
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
58
-13
35
-15
2
2
-13
23
28
54
11
-26
-3
13
-29
-7
-24
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-25
1
-5
3
24
-18
12
3
48
8
-4
6
-5
-9
-1
28
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
4
28
-6
-5
-6
-2
-11
-7
-3
3
-6
2
-7
0
1
5
17
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
23
-40
16
-97
-19
-14
-33
16
-9
-10
5
-23
5
-59
0
19
-62
-16
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-8
1
17
-5
-41
-18
-15
-8
22
-67
31
15
-14
7
15
-51
-34
11
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
51
12
76
-9
6
2
-42
8
-8
13
-42
-3
5
-4
16
-7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
-3
-20
-19
27
-41
10
6
2
67
-15
19
-9
21
-49
-8
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-13
-16
2
-30
-63
2
-64
2
-20
-64
-44
-18
-12
10
-3
-91
-62
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-49
17
5
-15
-30
-20
-51
10
9
57
-93
-25
-55
1
-51
25
-25
-38
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
25
-15
-25
8
-3
23
-43
14
8
-7
-1
9
-15
0
-3
-23
29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-41
30
-5
-3
-3
14
-12
4
0
25
-2
10
-3
3
-10
-3
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-16
-71
20
-84
-23
9
-15
7
-147
-6
-8
2
13
-28
-50
-39
-68
-13
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-57
-30
-27
-11
-43
-53
-31
-41
-67
3
-76
-3
9
0
-33
-59
-22
-75
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
49
9
-16
0
1
14
-2
0
15
-4
-18
-25
0
-7
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
44
8
8
2
16
6
44
-3
0
30
-9
7
-2
0
5
13
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-53
50
7
18
1
-2
-115
10
-33
-48
-20
-23
28
-2
-22
15
22
-28
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-28
16
-38
-23
-27
5
-115
-35
5
-40
-51
-30
-29
-13
-7
44
9
-32
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
0
-3
7
2
0
5
2
0
0
0
0
8
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-7
-3
5
-13
8
-2
0
-6
-3
6
4
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
41
13
6
49
9
-14
35
5
-25
5
23
3
15
-22
0
2
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-1
-32
51
2
6
17
-16
-8
-1
48
-3
20
7
-2
-12
-9
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-22
22
-1
-6
-57
70
8
-5
-42
-31
-11
-31
-16
3
72
63
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
29
-25
5
4
17
27
-23
-38
-12
2
40
5
-2
-18
9
-1
68
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-34
42
-2
-19
4
33
-52
-8
6
49
10
-21
15
-6
-1
1
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
41
-1
4
-24
11
-10
-24
1
22
-4
-4
20
0
-5
58
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
40
-6
-4
-8
-44
50
-7
0
-10
-1
85
-13
-4
-1
-7
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
42
-34
-1
10
9
36
3
0
0
16
-50
14
-15
-3
-8
-9
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
21
-15
2
8
-13
-4
8
0
-4
22
12
-13
2
2
-12
-14
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
31
-28
-7
-10
-36
13
8
0
42
-52
20
-15
0
-10
-5
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-39
21
-45
15
4
28
6
5
-29
2
1
6
1
25
-1
24
24
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
10
-5
58
3
-39
-8
13
-5
9
-24
-2
80
-9
-6
-3
12
24
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-18
-7
1
-4
9
31
-4
1
-3
28
4
7
0
4
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
44
-3
0
0
16
5
6
-2
0
-12
-24
5
-1
1
-17
26
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
34
55
6
2
-5
24
-9
5
-1
4
-4
-17
4
0
-1
5
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
81
0
49
-1
-5
32
6
-1
0
7
-25
13
17
-5
-13
14
-10
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-32
20
10
0
22
29
-7
0
0
-5
12
6
0
0
14
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
18
13
-38
16
-6
34
9
-3
0
-41
-2
14
23
-6
3
-26
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
9
27
12
18
0
-41
101
41
0
8
102
-13
7
3
3
-2
9
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-36
-15
41
28
-22
8
-19
25
-25
-4
64
-57
53
-15
15
3
-22
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
1
14
0
2
4
1
-5
-1
-2
-13
-18
4
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-42
-9
14
-1
5
-7
8
0
0
-22
-20
17
9
1
-24
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-11
0
10
0
22
13
6
6
0
0
-14
45
-2
0
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
41
11
-17
-21
25
-40
1
3
8
-14
14
14
-25
-1
1
2
6
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-43
17
1
2
0
15
0
-2
0
0
13
-16
-3
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
58
-5
7
4
-1
-15
4
29
0
2
-26
-16
-6
-4
-6
46
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
6
1
6
0
13
13
-7
0
6
-19
10
37
1
-1
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-41
-18
-2
1
-7
21
-12
0
-16
-41
-8
-24
0
5
-9
7
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
13
-1
0
0
13
17
0
0
-1
10
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
4
-3
1
1
25
4
0
0
23
13
0
5
-1
-2
18
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-16
0
1
-12
1
-2
0
0
4
-8
1
0
0
9
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-4
12
-1
4
-23
-3
5
0
3
14
-2
-7
0
3
-25
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
24
-15
-10
0
-51
12
53
0
3
-5
74
-3
9
0
56
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
23
-103
28
-1
-8
-31
-25
35
5
16
37
34
13
-2
-23
16
27
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
24
-11
-10
7
31
45
8
21
-35
40
14
50
-24
3
-2
-16
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
18
-6
25
10
-36
6
58
34
4
16
-65
71
32
5
20
17
24
-5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
59
32
15
2
0
-71
50
8
0
2
-10
31
-6
0
2
8
-35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
50
-21
-13
2
-5
-3
12
46
0
-19
43
3
-7
-2
75
-34
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-22
-25
32
25
16
-15
-13
14
25
8
-8
5
23
-4
6
-19
-19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
60
-47
26
-8
23
7
-2
18
45
13
13
59
-9
9
16
25
20
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
-35
37
19
0
52
-7
-22
0
-4
15
21
-13
3
1
-8
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
5
22
-39
-19
-9
92
12
-41
4
-24
-44
9
25
3
-29
22
-5
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
25
-24
82
66
-7
45
-27
-24
3
-13
9
-50
19
8
8
8
-22
14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
7
57
8
-47
43
16
55
-16
26
40
-2
-15
33
30
37
-6
39
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-41
5
-3
-1
-6
3
8
0
0
-2
2
-4
0
0
24
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
8
-3
3
-4
96
23
-2
-3
4
1
47
-5
0
2
30
26
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
33
28
-18
12
-8
13
-40
4
3
-8
-6
-5
3
10
-5
5
23
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
74
-45
18
7
15
-22
18
-1
-33
13
13
-31
-2
2
28
1
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
49
-76
-18
-2
0
25
29
0
-2
-1
23
5
3
-1
0
6
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-43
69
58
5
-3
35
-59
22
0
5
-1
13
17
-3
-8
6
1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-1
83
-4
-3
-7
6
22
41
-3
-3
-14
-13
7
7
-2
0
51
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-41
-12
52
-2
-18
-62
-3
75
37
3
23
57
-35
-28
-3
1
21
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
13
5
-2
-16
-30
38
1
0
0
44
-24
-7
1
1
49
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
69
-6
51
1
22
3
-1
0
-1
-17
8
-14
5
0
7
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-23
15
18
17
-2
14
-9
-8
-8
-2
-1
47
-4
-4
-8
8
25
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-23
-11
66
8
-25
0
10
-25
0
33
6
1
3
16
-7
-17
-20
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
8
-10
1
0
-1
-7
0
0
-2
1
3
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
66
24
-35
0
-10
-1
1
0
0
0
43
-15
3
0
6
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
23
22
4
0
-2
18
-46
2
4
-20
-31
54
5
0
-13
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
8
28
19
9
23
-13
-5
14
6
-17
18
-8
13
-12
6
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
15
5
1
0
0
0
0
0
0
0
21
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
2
-9
1
-10
20
-7
8
0
-7
24
-2
4
0
-12
-19
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
34
-7
3
0
-6
-17
-2
0
2
5
-14
12
0
2
-5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-1
31
-6
16
5
44
-5
1
-4
-16
-25
56
10
1
2
-2
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-70
-40
32
12
-11
62
39
-85
-30
-14
20
24
22
-2
9
-15
-16
-25
-35
-69
6
5
-50
-70
-56
-96
21
-13
-52
9
-19
-22
0
15
5
-48
7
-15
14
2
-5
18
-42
-10
-53
-16
-10
-84
-1
-20
-16
-92
-1
41
-13
-29
4
-13
-66
-20
58
31
-10
18
-13
56
-33
7
-11
-70
17
-42
3
-37
-9
-83
-100
-60
40
-38
20
-10
-18
-31
33
56
-26
-10
8
-6
8
-31
-5
19
-4
9
3
2
1
32
-1
2
-12
-6
-3
8
4
2
1
-12
17
-6
5
5
4
-8
2
0
0
14
73
54
22
24
-8
55
5
37
-4
-8
-7
22
20
29
-13
-16
8
1
-2
15
47
0
66
-5
22
-14
-13
9
1
1
4
13
-9
-2
5
-15
7
0
0
10
30
30
-37
-90
43
-33
-18
-52
-30
6
-8
13
39
15
7
-13
9
11
0
-110
-57
-10
-42
-68
-102
-103
1
47
-51
-7
-73
17
16
4
-41
-18
57
42
-24
46
-14
-15
25
35
31
-3
-47
-29
-69
-23
17
26
10
33
-2
-22
-27
-13
-13
-74
-35
-29
-19
-15
-7
5
-29
-4
-17
0
-19
-58
15
-16
-7
-43
41
-31
-22
-12
-4
-12
-9
-1
16
-11
-25
8
20
-15
-47
-4
17
5
-28
-13
1
-3
0
8
4
2
-13
-4
-10
9
8
-2
-5
0
8
1
-1
0
-1
24
-2
-1
0
7
66
9
-8
-12
24
-15
3
-14
8
0
-24
8
-6
25
16
-2
-10
5
-8
0
6
3
18
-14
-21
31
-8
5
-2
-1
-17
2
0
1
0
5
-1
0
0
4
-29
75
-10
-40
10
-18
3
25
-40
4
-20
-14
8
-14
-41
-67
3
-71
-6
-5
4
40
-50
-74
16
-4
-27
-26
-82
-6
-37
8
-2
-17
-9
-27
-29
18
-45
30
-40
-73
-4
18
11
-61
-64
27
-46
64
-24
-49
-3
-28
-10
-24
-41
19
-1
-23
-40
-61
-41
-8
-22
-29
-61
-2
-20
-18
-72
-51
6
-47
-4
11
8
-17
7
2
-56
50
20
-7
13
-67
-5
-1
0
-24
-8
7
0
-13
0
24
-1
2
0
-1
18
33
-42
1
-4
7
-5
0
0
-7
-1
-3
0
0
22
0
1
1
0
6
-50
13
2
0
18
-41
7
25
4
-39
24
-6
-4
24
0
-3
8
8
2
-15
24
13
19
0
-2
-32
14
4
0
8
18
-9
0
0
-2
4
0
0
0
30
-107
58
-118
3
7
16
-28
30
7
-1
64
-30
-43
7
26
-52
12
34
22
7
-45
51
-59
-3
-43
1
14
1
-55
-36
54
-18
-27
-41
-8
34
21
-2
-13
6
-36
-101
-15
-1
-58
-105
-8
18
22
-2
-62
43
-15
-25
-6
-72
-22
21
-7
-46
-9
-9
14
-25
6
-64
-80
6
-6
56
-13
-4
23
-89
-2
-8
7
35
-12
-18
44
8
13
0
5
30
-3
-1
0
-7
32
20
0
1
-5
-3
16
0
0
3
-38
2
27
1
8
-46
6
0
0
0
8
2
2
0
0
0
0
2
0
4
1
-1
2
0
-25
27
9
1
2
-7
8
-8
-7
-1
1
-22
-5
-6
1
0
24
-8
0
0
5
-13
-6
0
0
0
1
-3
0
1
0
3
-1
0
0
-30
-32
-52
1
-80
21
-39
-58
-23
-12
33
-46
8
13
-9
7
-34
0
13
-15
1
14
-31
-20
3
-39
13
-2
-5
28
30
5
-8
-16
8
-47
23
-1
-11
15
39
15
-22
16
-12
-13
-1
-20
-20
-21
-10
2
36
-11
-96
-15
-8
22
-8
-17
-54
7
-10
3
8
-74
-30
0
2
-8
-10
-5
-11
12
10
-7
49
-103
0
27
27
-68
2
39
-3
-2
13
39
-9
1
0
6
-10
1
-4
-3
-1
-7
-1
-1
-67
-37
23
7
0
2
-35
13
-1
-8
16
-54
31
-1
-2
1
2
0
0
0
-13
-22
-21
-33
19
-17
8
-15
9
-1
-3
35
10
10
16
-7
1
5
-1
-1
62
1
-12
10
9
-6
19
0
0
2
9
13
-25
1
0
0
1
12
0
0
7
-30
37
20
-22
-24
-36
-33
-11
-3
21
-42
-2
-19
22
11
-45
14
11
24
-67
-3
-31
4
16
-29
13
-12
-26
-8
35
1
-17
-20
6
-47
-14
-6
27
4
30
26
7
-23
37
52
10
27
-89
-19
-5
3
-13
26
5
0
-4
15
-24
48
-32
8
-20
-3
-21
44
-24
-77
8
-68
-6
-26
-16
20
-2
-6
-55
-86
11
-49
23
48
-13
7
-8
8
4
-10
-14
1
-9
3
-8
4
0
5
1
-8
-4
0
3
-34
-14
4
-1
-2
29
-1
-1
0
0
-2
0
0
0
-1
1
0
0
0
8
41
-19
3
-7
-14
31
-1
-3
-3
-5
-8
44
1
-2
7
-1
6
0
-4
10
43
0
0
-18
14
-10
-3
-2
0
0
-8
-2
0
0
0
4
0
0
0
-2
11
-13
1
-36
-83
-74
-57
3
-1
-28
-58
7
-17
-7
2
16
6
-22
-17
-54
15
1
1
-19
0
11
-4
6
-14
-78
-9
-2
7
-13
-6
-41
-24
2
-39
-4
12
20
-41
-47
-3
-3
-18
-103
-96
-35
6
-18
-1
-12
15
-11
7
-35
-3
-30
-10
-80
8
-43
-46
-41
-33
13
-91
23
-36
-23
-58
-47
-6
2
-12
-68
-21
-4
-19
8
-1
0
5
-10
0
2
0
8
-31
8
-1
-1
0
-5
7
-2
0
-1
52
-29
3
0
1
-23
0
4
-1
4
-18
5
-2
0
0
3
0
-1
0
-7
-49
3
-1
1
-2
-8
22
-8
1
-17
-34
49
3
1
0
13
-3
3
-1
17
84
2
10
1
6
4
-2
-6
0
1
1
-3
-1
0
0
-1
0
0
0
-3
84
-4
-32
5
-119
47
-75
-10
27
-106
12
0
-65
6
-10
-24
-5
-4
7
-50
45
4
5
-33
9
43
-12
4
-1
-60
-18
4
-24
-25
10
31
-20
8
-55
-9
34
7
-7
10
-13
-43
-26
-22
-9
-25
-55
42
64
32
13
-27
57
-38
-5
31
53
15
-21
-30
8
80
45
24
-96
8
23
16
-23
14
-1
-67
41
-26
0
0
4
8
0
0
0
-24
10
0
0
1
3
-3
-1
0
-10
43
9
2
0
1
-19
5
-5
0
-2
3
-3
0
0
0
2
0
0
0
0
0
0
0
0
1
5
0
1
0
9
27
0
0
0
-3
14
0
0
0
-6
7
0
0
1
-1
-1
-6
0
1
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
57
-23
25
-5
23
-12
-32
-5
-12
-22
-38
11
35
-48
-82
-25
-71
-7
29
27
-11
-65
16
15
-121
-2
-22
18
-15
-29
-30
-22
-4
17
-46
-22
-12
-27
37
13
19
13
-1
-42
-51
-15
-2
-1
-6
-17
-50
7
-17
8
-1
19
29
-20
23
31
29
-5
1
17
-10
42
-6
-26
-7
-30
-33
-19
-5
17
-5
4
-12
-54
26
-30
15
23
36
-39
-1
16
-4
-51
6
-1
6
-55
-16
-12
-1
1
5
0
0
0
19
33
8
-10
6
4
13
-2
2
0
4
8
-34
-10
0
-3
6
1
0
0
40
5
42
8
0
-9
31
-14
49
0
32
-14
-5
7
-6
8
2
-5
0
0
-6
-4
-26
-42
-1
-12
13
-5
0
0
13
-27
-1
13
0
-1
13
-1
0
0
54
-13
-12
-39
-6
67
-12
-53
43
9
6
-3
36
-23
-28
5
57
6
-13
-8
-6
-91
17
-1
-65
-6
-97
14
60
0
-12
-97
23
-53
-63
-38
-66
15
46
-13
-25
14
11
-17
-12
-15
-1
-34
-25
-20
-49
14
-65
2
0
-19
20
-27
-54
-1
5
9
-1
-24
-10
-56
21
-47
-14
0
-69
3
-30
2
-21
6
-12
-79
19
10
-8
7
3
-17
0
-6
-15
-2
1
0
25
28
7
0
-1
-1
19
0
0
0
0
-4
0
6
0
-1
13
0
-1
0
3
49
-2
0
-2
10
0
0
0
0
17
1
34
28
-1
3
13
-2
-17
0
-16
-22
8
8
0
15
5
-2
-3
0
3
5
5
28
0
-6
72
0
-2
0
0
0
0
1
0
-3
4
-2
6
0
-27
-21
7
0
-8
-27
-74
5
19
9
-4
-27
18
2
-44
-10
54
5
-33
3
-33
-8
9
-13
-93
-14
-11
9
111
-6
-75
21
6
-21
59
-31
-44
-7
-34
32
-26
9
15
-41
-18
-69
-32
-32
-9
-3
-82
-13
-19
-27
46
-3
22
-3
15
-42
-60
14
17
5
13
-37
10
-45
5
20
20
-11
-31
-19
0
-13
44
-93
-30
25
14
-5
-8
1
0
0
12
3
-5
0
12
-21
31
-5
8
-1
24
-9
0
0
9
10
-9
2
1
1
3
7
0
0
-8
-17
0
1
0
4
-7
-1
0
0
-3
-8
-25
15
2
0
-48
-1
2
0
-5
49
-7
-25
-1
-1
8
-9
18
6
-2
-11
-5
-31
0
0
5
2
-3
0
0
49
0
-3
0
-2
1
0
-1
0
-47
52
-35
45
3
-76
0
7
-26
8
13
-10
15
4
3
-15
22
0
8
8
-3
-21
-14
30
19
-94
0
26
-94
72
-51
30
-23
2
-4
-24
49
34
48
2
-8
17
-19
25
-37
-3
7
-64
7
15
17
-32
5
3
-27
10
-57
5
8
23
-42
-5
5
27
-9
-8
8
-57
29
39
1
-41
-16
-47
-81
0
5
31
16
-61
0
2
3
-6
0
-1
35
-2
0
0
0
13
1
3
-2
0
-17
0
0
0
4
50
3
-2
0
5
13
4
1
0
0
-22
2
0
0
0
0
0
0
0
3
-13
12
7
0
1
-71
-2
-3
0
10
-9
-19
-25
0
9
-14
-6
14
0
-1
-10
12
3
-1
3
5
-1
1
0
0
-1
-5
6
0
0
7
0
0
0
-18
-12
12
4
-13
-28
-11
-7
-31
-4
20
-12
23
-67
-6
28
-27
-2
-15
-5
19
-151
10
-10
-92
-47
21
10
-1
-64
-14
-108
18
6
-36
27
-85
-19
41
-5
11
5
13
-1
-19
4
-4
-1
-1
-4
-27
7
-3
-6
-37
-33
-6
-64
-10
-29
-17
-25
-19
25
-50
-93
28
-10
14
-21
-35
-4
2
10
-15
-28
15
-52
55
-44
0
-31
-2
60
-4
-1
22
7
10
0
-3
-33
2
-5
0
0
-2
0
2
0
2
35
17
-2
0
0
17
-14
2
0
0
-23
-6
0
2
0
12
0
0
0
1
-7
17
-21
4
8
41
-15
1
1
2
63
-16
-2
0
8
24
-8
0
0
36
-30
59
5
4
0
-41
19
-2
0
0
-57
-12
1
0
0
0
2
0
0
42
-26
-19
-56
38
-56
-17
5
-101
10
-45
-65
-37
12
-7
21
-16
-44
-7
0
-44
-48
-11
-14
-18
33
-12
-3
-53
22
33
-78
28
-38
15
8
-31
-5
-19
6
10
-1
16
1
1
-1
-25
5
5
-53
4
5
-6
-2
9
-8
-71
-5
-47
79
33
-33
8
6
11
-53
-25
-9
-3
10
5
-55
28
13
-80
0
-114
25
42
-13
0
-6
-3
7
0
0
7
-4
2
0
2
75
2
-2
0
2
31
0
0
0
0
-1
-7
4
0
0
-15
-1
0
0
0
-7
0
1
0
-3
1
-1
-1
0
0
2
9
1
-4
-2
-1
-19
-1
0
-1
-1
2
1
0
1
2
2
0
0
0
-5
0
18
0
-1
9
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-11
-25
13
-24
-44
-26
-109
14
9
-25
1
-37
36
-72
-25
2
1
-44
25
19
-41
-112
3
-38
5
-76
-46
-1
-94
5
20
-91
-28
46
4
10
3
31
-41
21
-12
2
10
21
-55
19
-5
7
18
-41
-8
-3
-16
-29
0
5
24
-34
-50
38
-3
13
-4
5
7
97
-13
-30
9
-6
-31
-93
-1
30
39
-8
-105
18
-48
-14
-4
36
27
25
0
0
15
-19
0
0
-10
-45
24
-8
0
0
9
-2
2
0
0
16
8
4
0
-1
1
0
-1
0
0
-5
1
-3
1
0
0
1
0
0
3
2
4
-9
-6
2
-10
-4
-2
0
-2
18
32
-5
5
3
-2
3
0
0
0
-31
13
-15
0
0
-5
-1
8
0
3
-4
-4
4
0
0
0
0
0
0
-9
72
22
-49
0
8
55
-17
43
-2
55
0
-56
41
0
-18
46
-47
6
0
-1
-30
7
-93
60
-115
-14
14
-62
28
49
-93
-2
-30
1
1
-21
15
-5
-1
4
10
-3
25
-36
-9
-34
16
24
-99
-22
-24
36
-12
-31
-10
22
27
-12
-13
-24
-63
-12
4
-48
-17
36
-49
49
-43
-8
6
-48
3
-19
7
-5
50
-8
-22
-1
-2
0
0
0
0
8
0
1
0
0
-8
7
0
0
1
19
0
0
0
0
-31
2
0
0
0
10
-1
0
0
0
1
-1
0
0
0
-3
0
0
0
3
1
-2
-1
4
-1
9
4
-1
0
-1
5
0
-1
0
1
3
1
0
0
0
4
-1
4
0
0
0
19
-1
0
0
0
-2
-2
0
0
0
1
0
0
31
8
-43
14
-13
22
-36
18
-8
0
36
-37
3
44
-3
22
3
-42
0
0
-15
-13
-31
-42
8
0
5
-2
-7
0
-1
-6
4
-4
0
-1
6
-6
-10
0
-25
-20
21
5
3
0
-7
10
8
12
10
57
-31
4
-1
-2
-23
49
-8
0
-9
17
-41
21
9
2
13
41
-1
1
94
-27
-22
-4
2
-43
30
-3
0
0
-13
44
37
21
1
-5
-5
96
-20
1
21
-34
31
5
-3
10
0
-7
19
0
-20
26
25
70
-13
7
13
53
-3
8
-16
-3
2
1
1
2
-16
5
3
0
-6
23
30
66
-4
12
-26
-3
-23
-2
-3
-5
35
41
16
23
32
8
-17
5
-3
34
-18
17
-16
-25
17
-9
22
6
-14
-25
75
14
8
7
2
-9
3
0
31
13
13
-14
0
-8
-1
-12
4
1
4
-9
-2
3
3
-3
23
-6
-7
0
9
44
-10
-5
0
-13
-17
2
-2
0
-3
12
0
2
0
-1
-2
0
-1
0
-4
5
-24
-8
0
20
-44
31
2
-1
5
-29
13
2
-3
34
2
-45
2
0
-20
17
45
-14
3
-14
2
-43
0
0
7
13
8
3
0
5
0
0
0
0
8
76
-4
2
-4
-2
42
-22
-24
0
5
-43
17
-1
-1
27
-8
-13
-3
0
0
48
8
13
1
2
-13
-4
8
0
0
38
-5
-8
2
0
-14
8
0
0
-8
2
-1
5
29
13
20
39
-4
19
31
30
-35
7
-13
-6
0
28
-6
-7
-13
-2
16
77
-13
-13
14
-10
29
-2
-8
42
17
-20
22
-8
5
1
-4
0
16
38
4
0
-1
24
9
3
3
0
3
-6
-7
1
-1
16
-9
-9
-3
0
-15
-23
-6
5
-2
0
-5
5
0
0
3
-21
-8
12
0
0
2
0
0
0
-29
-16
23
41
-8
-20
42
3
-2
0
11
35
-1
5
0
11
5
-13
3
-2
65
-44
-4
-12
-8
33
-6
0
1
0
16
-4
8
-1
3
-3
0
0
0
0
3
7
18
-49
1
0
-32
18
8
-13
27
-8
42
0
2
-7
-25
3
5
-1
-8
29
-66
-3
8
2
-32
-20
4
0
-1
-28
14
0
1
0
-3
0
-5
0
-14
-2
59
19
-8
7
-23
19
-14
-12
35
-62
-42
30
-4
8
8
-20
-29
8
3
58
-18
26
22
-25
-24
-2
43
8
8
-1
6
-6
3
0
5
-4
0
1
-2
-8
15
-1
0
-4
-9
-2
-1
0
6
-5
4
0
0
-10
-7
-6
-3
0
0
12
-3
3
0
10
-20
-3
-1
0
0
-13
2
0
0
-2
17
-1
0
0
-13
24
22
-1
0
-7
2
16
0
0
1
30
-25
4
-1
-9
-15
-2
3
0
13
8
0
1
0
9
0
-10
-4
0
0
-1
-2
4
0
2
0
0
-1
0
0
38
-17
8
0
-3
16
4
0
1
5
-1
-5
12
0
-20
3
34
3
0
-1
13
-8
17
0
-7
-7
29
10
0
-1
0
-6
0
0
1
22
-1
0
0
-24
42
23
-1
24
2
-28
41
-1
-4
-8
52
16
-5
12
-13
31
-8
-5
25
15
-30
10
18
-17
0
-9
-1
-3
8
0
13
4
-13
-2
-1
10
-14
-4
-2
-30
-17
65
-3
5
-32
8
8
-1
0
31
23
-13
-8
2
19
7
7
-8
0
-18
-17
33
-12
0
3
-7
0
4
0
-2
1
-41
1
0
1
-4
-5
0
0
21
2
55
-37
1
65
4
22
-8
0
-13
-46
-5
10
3
-6
5
-20
0
0
15
-48
58
-10
3
-10
2
-5
1
0
-1
13
-4
8
-3
0
2
1
1
0
94
3
-96
6
-10
0
-4
59
5
-3
-8
-10
1
16
-8
6
21
-22
-2
0
-16
-13
34
-25
12
4
40
-8
-13
5
-6
21
12
4
-3
2
-8
1
0
0
29
63
-50
-26
46
5
19
7
-6
-6
5
61
-8
4
-4
-31
-9
50
10
5
-36
-47
10
-9
13
67
-13
-30
-10
0
5
47
-21
-7
13
-8
0
42
2
0
0
7
44
-23
0
-3
-17
-2
-6
-1
-8
0
5
-1
-1
0
-4
-16
-2
0
-1
2
9
0
0
-6
27
1
-10
0
2
-9
1
0
0
0
-13
0
0
0
-9
-15
30
-2
-1
-9
33
-14
0
0
-6
-6
-20
0
2
-6
1
-9
0
0
5
7
5
-1
-1
1
-3
17
1
0
-8
-1
4
0
0
0
2
0
0
0
-25
44
8
8
-1
2
-14
-24
19
0
-1
-39
15
-7
-1
-1
24
-5
3
0
-5
13
-4
5
1
0
13
-2
3
-1
0
7
3
0
0
-3
6
0
0
0
18
28
43
10
-31
8
25
-33
13
22
41
23
-34
-8
13
-42
37
-16
27
-18
0
20
8
-4
-6
2
-15
-6
-8
-13
-2
-4
-20
8
0
0
-4
0
0
0
-9
24
5
3
-1
4
9
0
7
0
-23
16
2
3
1
0
-8
2
4
0
0
44
15
-4
0
1
-14
3
0
0
33
-10
-3
0
0
0
-1
0
0
0
-24
23
-6
4
3
1
12
-22
0
0
5
5
-1
-1
3
-8
2
-1
0
0
23
9
-5
-3
0
-1
0
-10
-3
0
-2
5
8
0
2
1
1
-1
0
0
6
64
14
-39
-3
-1
13
3
1
0
17
-7
8
-1
17
-1
-4
1
1
-3
-8
-9
-15
8
0
-2
-15
13
0
0
-5
29
-5
6
0
0
3
0
0
0
-5
-7
-30
40
8
44
30
-19
4
-24
20
-5
41
-7
-8
13
41
-3
3
2
-24
24
-13
-3
10
9
42
13
0
-8
4
3
-33
1
3
0
-1
-13
0
0
0
22
0
0
0
0
5
1
0
0
1
-8
3
0
0
0
-1
-4
0
0
-1
0
2
0
0
0
0
5
0
0
0
1
0
0
0
0
2
0
0
0
0
0
3
0
0
14
1
21
1
0
13
-1
29
0
0
8
-1
-5
-2
0
6
0
0
0
0
-2
6
19
0
0
0
1
0
0
0
0
0
1
2
0
0
31
-10
-8
0
0
-10
0
0
0
0
-5
-5
1
0
0
-5
0
0
0
5
3
16
1
0
0
-9
-1
0
0
0
-1
-1
0
0
0
14
0
0
0
1
2
-2
9
0
-4
-18
12
2
5
7
-8
13
-8
18
0
0
-1
-8
-3
-1
-8
13
1
-1
13
-9
0
-1
-1
0
0
10
0
0
0
-2
0
0
1
-27
47
-40
1
-3
6
-43
7
2
0
-5
-22
24
5
-1
0
-3
0
4
0
-6
-31
-9
2
-1
1
-43
15
0
0
3
23
1
-3
0
0
0
-1
1
0
-25
42
42
-22
8
10
2
0
44
-4
30
-8
-25
60
2
0
0
42
6
0
-16
-36
21
-1
9
-6
6
19
-8
0
-8
-44
6
6
-1
1
2
-6
-4
0
-33
16
-60
2
23
7
-44
115
-31
-8
-22
29
30
-33
3
0
-3
-19
37
0
-34
24
37
46
-6
1
46
5
33
0
5
22
-26
12
-5
0
6
3
1
0
-59
10
34
16
42
-32
-10
43
41
-12
-5
5
31
19
6
31
25
-41
2
19
-6
50
18
25
5
16
59
47
-8
-18
-28
51
-31
56
6
-1
-1
8
24
0
0
7
-1
1
0
-23
33
8
1
0
0
-13
3
-1
0
0
41
3
0
0
1
21
-2
2
1
0
-13
-9
6
0
0
-5
2
0
0
0
-4
0
0
0
-1
-7
-25
-23
0
0
4
-27
0
-3
0
10
24
-4
4
4
-2
44
-3
-3
6
0
-44
-5
3
2
2
20
0
1
0
19
0
15
0
-1
-3
6
5
0
-3
51
22
44
-7
2
112
-42
7
0
-7
-43
8
7
0
-1
-25
8
-1
1
0
38
23
-5
0
0
-50
-7
7
0
0
-35
-8
-3
1
-2
-10
16
-3
0
-8
-29
0
23
2
3
41
-9
20
12
7
8
-35
62
-5
5
-3
10
9
3
1
-49
45
-18
12
-7
-17
55
24
0
-2
5
16
-10
-8
-1
-5
-2
13
1
-3
-36
-15
31
-6
0
-2
-3
-1
0
-2
4
-32
5
0
3
-2
-6
0
0
-13
-7
0
0
-1
0
-56
-2
0
0
-1
47
-4
3
0
1
0
0
0
0
-2
68
-11
-21
-4
10
-16
1
1
-2
-46
-7
3
0
1
58
3
-16
-5
0
12
-22
-2
10
0
3
9
-12
-3
0
8
3
7
-1
-1
0
-3
0
5
0
0
30
32
-20
3
-3
17
1
9
0
13
22
-42
3
0
0
68
-4
-5
0
4
-8
-7
14
-5
-1
73
-5
-17
0
-4
-16
-13
50
0
0
14
1
0
0
29
-39
23
3
-2
1
76
5
27
7
19
34
-28
34
-6
-6
3
61
-31
-4
2
73
24
33
3
-12
8
-15
30
8
-9
41
-5
-25
-8
-1
-14
-19
9
0
0
-6
-1
2
0
0
-4
2
0
0
0
1
0
0
0
2
1
3
0
0
0
0
-2
2
0
0
-15
0
4
0
0
-2
2
0
0
0
7
0
0
0
-1
12
0
-1
0
0
-8
-9
-1
-1
1
0
0
-2
0
0
5
3
0
0
-1
1
-18
4
0
0
-3
43
2
0
-1
1
5
0
1
0
3
0
0
0
1
-13
5
6
0
-1
-7
-4
-1
0
2
37
-12
-4
0
0
-9
-1
4
0
0
25
-3
24
0
0
13
-7
-5
0
0
3
5
1
1
0
-2
0
0
0
-4
80
-42
-5
4
3
-32
-10
-30
-1
-2
22
17
-12
-3
0
15
-6
-19
-3
-1
4
39
4
2
-2
-9
-6
13
1
0
-8
-10
31
0
6
-2
-3
-4
0
37
-16
-52
10
0
-15
-8
9
-1
0
-1
-1
-20
2
0
0
0
-5
1
0
-1
-52
8
3
1
4
-7
-3
2
0
-2
5
4
-4
0
0
-2
0
0
0
13
11
-39
41
0
0
-24
54
3
5
-1
16
12
8
0
-4
-1
-23
2
0
8
23
8
-13
1
-9
-2
1
1
0
-8
4
0
0
0
0
1
3
-1
0
12
15
41
-30
15
-2
-9
60
26
-1
-1
6
-3
-8
-14
2
68
55
6
0
16
-6
40
-38
-4
0
33
11
15
12
-1
31
-10
-31
-8
0
-1
4
0
0
-13
5
57
19
-45
7
-9
7
-14
6
13
25
-29
0
20
7
5
19
-8
-1
-18
-35
14
33
-14
8
-13
75
12
3
9
-59
84
3
-27
1
-4
-19
5
-4
-1
13
-28
-3
0
-1
-31
-6
0
0
0
0
0
0
0
0
4
0
2
0
0
-14
8
0
3
0
0
-1
3
0
0
1
3
0
0
0
0
1
0
0
-7
-12
17
2
3
1
17
0
-5
0
0
-8
6
1
0
-33
1
35
-4
0
6
-1
13
1
-1
0
-5
-13
0
0
0
18
6
-1
0
0
0
3
0
0
0
49
-27
13
0
0
6
-15
-14
1
0
51
25
-22
-1
0
-2
6
0
0
0
-24
-2
13
0
0
-5
-4
-17
1
0
-5
8
-2
0
0
-1
-20
2
0
3
32
-1
24
7
1
20
48
15
3
0
12
20
15
-7
15
6
-4
-3
-2
-3
1
-15
8
-8
0
-19
-23
7
-1
0
8
22
-10
2
0
-3
-14
43
1
0
-43
4
-2
0
3
4
0
0
0
-1
8
-5
0
0
1
2
-7
0
0
1
3
0
0
0
0
0
2
0
0
-3
19
-1
1
0
0
0
-1
0
0
-17
5
-25
5
0
2
3
25
-1
0
4
25
52
-19
0
0
-6
8
0
0
-3
1
-42
13
0
-2
1
7
0
0
-2
-10
-2
-6
0
0
0
5
0
0
7
-46
48
27
-1
0
-32
-7
13
0
-8
16
17
-28
0
1
16
7
0
0
0
-41
-16
-7
8
0
32
25
13
-2
0
6
5
3
1
0
-1
-3
3
0
-12
8
-26
49
4
0
-16
-15
30
-2
-22
31
-26
52
2
-5
8
13
8
0
-22
8
19
32
1
0
16
41
8
3
1
5
-24
26
2
0
0
6
-7
0
0
5
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
-2
0
0
0
2
1
0
0
0
1
0
0
0
0
0
0
0
0
4
-1
-7
4
0
-3
0
29
0
0
1
1
8
0
0
10
4
2
2
0
-2
0
12
0
0
0
0
-6
0
0
0
0
7
0
0
0
-2
0
0
0
0
-25
-6
5
0
0
-8
0
0
0
1
10
-3
-1
-3
0
5
0
0
0
0
15
-19
-2
0
0
6
-6
2
0
0
-1
-1
0
0
0
1
2
0
0
0
-14
20
-4
-15
-3
7
-1
0
1
0
-7
5
-2
-2
-1
-4
-8
3
2
0
-5
3
-1
2
0
2
-8
-7
0
0
4
-9
-2
1
0
1
2
-5
-1
0
39
5
13
33
0
0
-19
-19
8
0
0
-51
-19
-29
0
0
-23
5
30
0
0
11
-10
-41
0
0
19
-15
-69
0
0
22
-43
0
0
0
4
-43
29
0
0
-24
17
-91
0
0
-12
-49
37
0
0
-26
0
84
0
0
-45
-20
-64
0
0
75
6
-9
0
0
137
-43
-40
0
0
16
-67
-6
0
0
22
27
-61
0
0
13
50
13
0
0
16
-82
-5
0
0
24
-24
-74
0
0
-3
23
-6
0
0
13
23
-21
0
0
-17
-18
15
0
0
23
23
-21
0
0
19
-27
-7
0
0
-5
48
12
0
0
41
-11
-7
0
0
-71
66
37
0
0
14
-30
0
0
0
-31
48
-55
0
0
4
23
-3
0
0
-11
21
-22
0
0
-9
-55
0
0
-10
-24
15
39
0
0
6
11
-27
0
0
-4
9
40
0
0
-87
6
-26
0
0
-26
15
29
0
0
19
21
-53
0
0
-24
45
23
0
0
-12
24
17
0
0
-57
1
36
0
0
74
-1
77
0
0
25
-61
-30
0
0
112
-1
-33
0
0
20
-70
-71
0
0
44
40
1
0
0
32
-145
24
0
0
20
-29
-84
0
0
-6
35
18
0
0
33
21
22
0
0
-7
-28
4
0
0
60
-5
-2
0
0
-38
-35
16
0
0
-13
30
6
0
0
66
4
-2
0
0
-15
-5
0
0
0
-5
-105
14
0
0
-5
25
-12
0
0
-52
-3
1
0
0
-10
-41
-1
0
0
43
-9
29
0
0
3
-8
-6
0
0
-41
-13
0
0
0
-11
-13
2
0
18
0
-9
-17
0
0
53
11
-29
0
0
10
75
12
0
0
15
-44
14
0
0
-11
-27
27
0
0
46
32
6
0
0
15
47
25
0
0
32
-47
63
0
0
-7
43
50
0
0
-33
5
17
0
0
-19
-32
-4
0
0
-33
-28
8
0
0
34
68
-9
0
0
-38
-54
21
0
0
-14
35
40
0
0
-8
18
-29
0
0
26
-61
-16
0
0
81
-23
-59
0
0
12
24
15
0
0
26
38
-3
0
0
-36
-23
-5
0
0
-67
-18
44
0
0
-18
-9
-31
0
0
14
49
0
0
0
-20
-38
0
0
0
3
-8
0
0
0
15
28
-41
0
0
4
10
0
0
0
-30
-44
-2
0
0
-5
25
-2
0
0
-8
13
0
0
0
22
-2
0
0
36
12
-29
-4
0
0
-27
109
-50
0
0
24
41
7
0
0
30
120
77
0
0
30
-31
-5
0
0
18
-48
-3
0
0
7
34
34
0
0
4
71
38
0
0
91
-24
28
0
0
-20
-14
21
0
0
-91
43
13
0
0
-22
-6
-43
0
0
0
27
-45
0
0
-48
42
59
0
0
34
-15
2
0
0
9
30
-4
0
0
-16
22
-13
0
0
2
9
13
0
0
61
21
-4
0
0
49
-18
6
0
0
-18
13
-4
0
0
46
23
0
0
0
-7
7
0
0
0
22
-31
0
0
0
-141
27
-15
0
0
-8
18
0
0
0
-13
-6
7
0
0
72
-10
0
0
0
-1
0
-1
0
0
-5
2
0
0
0
50
29
1
0
0
13
-9
0
0
-4
-8
-21
-52
0
0
41
10
-61
0
0
27
13
-5
0
0
11
12
4
0
0
36
10
-37
0
0
-7
17
13
0
0
22
39
17
0
0
1
20
-14
0
0
39
-56
46
0
0
-77
15
-12
0
0
12
60
-2
0
0
12
41
-100
0
0
-22
-5
0
0
0
42
-55
-7
0
0
-42
60
21
0
0
1
-13
13
0
0
-32
-21
23
0
0
-24
-17
-10
0
0
8
37
9
0
0
-16
27
2
0
0
18
-17
17
0
0
1
-66
-13
0
0
1
-29
5
0
0
0
49
0
0
0
-22
-16
22
0
0
-24
13
7
0
0
-13
-9
-4
0
0
0
-1
-5
0
0
-49
-19
25
0
0
6
-21
-1
0
0
43
-37
4
0
0
-1
2
1
0
-4
2
-10
-88
0
0
-8
-53
-13
0
0
33
9
-9
0
0
27
-18
74
0
0
11
16
23
0
0
-5
50
-31
0
0
-9
47
28
0
0
58
-14
16
0
0
-3
-10
31
0
0
-11
79
-40
0
0
-10
3
16
0
0
19
22
-86
0
0
-22
-70
54
0
0
-2
59
-24
0
0
-68
-37
-7
0
0
32
-76
-33
0
0
86
5
8
0
0
-35
-14
-4
0
0
-29
-5
-3
0
0
4
-59
1
0
0
-5
-1
5
0
0
16
22
0
0
0
-25
-22
3
0
0
0
-76
0
0
0
-18
5
8
0
0
-1
-8
0
0
0
12
-7
0
0
0
-21
2
0
0
0
-12
15
0
0
0
-9
9
2
0
0
13
1
0
0
0
-14
-4
-2
0
1
45
-25
-51
0
0
-23
47
22
0
0
3
71
-13
0
0
4
25
98
0
0
18
76
32
0
0
2
-64
-13
0
0
-14
16
14
0
0
30
22
-11
0
0
1
31
-41
0
0
72
-4
18
0
0
-22
-49
40
0
0
-28
-12
-33
0
0
-51
24
17
0
0
52
8
-33
0
0
-92
17
-15
0
0
-41
13
-84
0
0
46
-29
-2
0
0
-1
1
18
0
0
2
4
-17
0
0
49
-43
0
0
0
13
4
13
0
0
-5
8
5
0
0
-1
-41
4
0
0
-13
-23
5
0
0
34
25
-7
0
0
-5
-2
-1
0
0
19
-13
1
0
0
-4
4
0
0
0
1
-13
31
0
0
1
8
0
0
0
-1
27
-5
0
0
-2
13
0
0
12
110
-6
-10
0
0
21
59
33
0
0
-14
-16
27
0
0
12
39
62
0
0
23
31
-86
0
0
25
12
-28
0
0
-2
34
-6
0
0
-37
66
3
0
0
36
0
-47
0
0
-11
6
51
0
0
25
-24
13
0
0
-45
15
-5
0
0
59
44
33
0
0
76
-31
-21
0
0
5
-28
-58
0
0
24
-54
-2
0
0
-21
-66
7
0
0
-16
13
0
0
0
9
2
-1
0
0
-60
14
1
0
0
55
-8
0
0
0
-22
5
0
0
0
-59
-10
0
0
0
22
19
0
0
0
-46
-2
2
0
0
5
0
-1
0
0
13
-12
5
0
0
33
-6
0
0
0
0
4
2
0
0
7
5
-2
0
0
0
14
0
0
0
1
30
1
0
-20
56
46
-26
0
0
-21
34
-1
0
0
32
3
-59
0
0
-59
-44
-35
0
0
-88
26
25
0
0
59
7
30
0
0
-28
30
-54
0
0
-16
47
-102
0
0
-3
6
56
0
0
14
-29
49
0
0
40
-44
-24
0
0
5
3
-38
0
0
54
-9
18
0
0
112
-32
-60
0
0
107
-36
-36
0
0
-75
-13
29
0
0
12
-14
32
0
0
-29
15
50
0
0
21
30
-20
0
0
31
-34
3
0
0
-93
-2
32
0
0
-24
43
9
0
0
-27
-14
0
0
0
-14
23
-9
0
0
52
48
-29
0
0
14
2
-19
0
0
50
-34
28
0
0
26
-17
5
0
0
25
44
-3
0
0
19
-2
5
0
0
30
-50
5
0
0
-2
-14
-1
0
-39
-21
19
-17
0
0
27
-14
-9
0
0
1
13
40
0
0
-26
21
59
0
0
-47
30
70
0
0
-33
-12
53
0
0
-7
5
-14
0
0
-23
-32
-106
0
0
101
-20
27
0
0
29
-24
10
0
0
-18
-26
50
0
0
51
-15
-42
0
0
31
-41
4
0
0
42
-41
-67
0
0
34
-62
-15
0
0
13
-12
19
0
0
-27
71
5
0
0
1
-31
2
0
0
-8
-10
-13
0
0
-13
-27
-1
0
0
5
-93
6
0
0
0
-8
-2
0
0
-27
25
0
0
0
50
-19
-1
0
0
75
-44
10
0
0
12
3
31
0
0
-14
14
-18
0
0
52
17
7
0
0
-6
34
-2
0
0
-48
19
-5
0
0
-5
2
2
0
0
45
-19
-7
0
-4
21
-21
-39
0
0
-26
-34
2
0
0
61
-12
-35
0
0
57
21
47
0
0
-31
8
59
0
0
-8
3
24
0
0
1
50
41
0
0
-8
38
21
0
0
-34
-28
21
0
0
43
62
-25
0
0
-6
-25
-61
0
0
24
17
-11
0
0
19
30
18
0
0
-28
35
8
0
0
-5
53
28
0
0
40
-5
-37
0
0
-23
52
-8
0
0
-4
18
-33
0
0
-9
-6
14
0
0
25
56
-8
0
0
-83
-43
13
0
0
79
10
9
0
0
-8
5
5
0
0
31
-35
0
0
0
-4
4
40
0
0
17
3
6
0
0
25
14
4
0
0
22
-8
4
0
0
12
10
16
0
0
7
-23
3
0
0
-7
-5
-31
0
0
31
28
0
0
6
75
-129
11
0
0
23
-66
78
0
0
59
13
-55
0
0
71
-46
23
0
0
-7
15
-71
0
0
13
2
8
0
0
57
-21
-11
0
0
60
-20
9
0
0
23
23
-102
0
0
-16
-38
-2
0
0
-38
42
-10
0
0
42
45
-22
0
0
-18
48
33
0
0
-1
-30
-29
0
0
41
5
33
0
0
-67
-53
31
0
0
14
-31
5
0
0
36
5
-2
0
0
28
5
3
0
0
14
24
-1
0
0
42
-1
-6
0
0
-24
57
0
0
0
19
-1
-1
0
0
-62
71
-2
0
0
23
5
-16
0
0
-14
0
-10
0
0
-8
0
13
0
0
-20
10
-3
0
0
-35
21
-4
0
0
47
31
5
0
0
25
-25
0
0
0
-9
56
0
0
-10
-17
19
8
0
0
-40
-71
27
0
0
-16
-20
35
0
0
32
83
-26
0
0
-26
-44
22
0
0
-66
42
25
0
0
21
62
17
0
0
-41
3
30
0
0
25
37
-15
0
0
79
-36
39
0
0
-31
-41
0
0
0
-67
15
57
0
0
21
-48
5
0
0
-6
-21
-58
0
0
44
1
20
0
0
-17
-37
-60
0
0
81
-41
-17
0
0
-4
-25
2
0
0
89
8
33
0
0
-5
-13
-3
0
0
82
24
1
0
0
-10
2
5
0
0
54
-28
30
0
0
-10
31
0
0
0
20
21
62
0
0
-6
-17
4
0
0
1
-4
28
0
0
16
-2
4
0
0
30
-66
-2
0
0
-23
-16
-15
0
0
5
-8
10
0
0
-1
42
-25
0
5
15
-41
49
0
0
-41
-5
22
0
0
-74
-8
-54
0
0
58
41
4
0
0
-21
-5
-1
0
0
-43
32
-7
0
0
-49
21
4
0
0
-31
19
-11
0
0
5
39
28
0
0
-3
15
-17
0
0
39
-53
-14
0
0
14
-17
10
0
0
-30
-48
-2
0
0
-19
11
12
0
0
-67
-63
1
0
0
-66
34
2
0
0
-40
22
-30
0
0
-4
25
7
0
0
-5
-5
2
0
0
11
-14
0
0
0
9
17
0
0
0
17
-19
0
0
0
29
-7
0
0
0
24
2
0
0
0
1
12
8
0
0
5
-16
16
0
0
13
6
-31
0
0
-41
27
3
0
0
30
-5
21
0
0
-3
4
-1
0
0
-4
4
1
0
0
35
27
5
0
10
56
-39
-20
0
0
-45
-52
38
0
0
-62
-43
-22
0
0
116
-7
-71
0
0
-50
19
15
0
0
-16
13
-49
0
0
30
-32
-57
0
0
-10
-29
37
0
0
-5
42
33
0
0
3
-4
19
0
0
-70
19
14
0
0
27
29
50
0
0
4
21
-4
0
0
21
37
-12
0
0
-77
-10
-1
0
0
-59
-14
-48
0
0
-27
34
-29
0
0
3
-20
3
0
0
-15
-6
-31
0
0
13
-5
0
0
0
31
1
-13
0
0
3
9
8
0
0
23
-17
2
0
0
-5
76
2
0
0
-9
17
0
0
0
0
8
-1
0
0
1
-5
5
0
0
17
31
1
0
0
12
4
-8
0
0
0
-9
-29
0
0
74
-4
-33
0
0
-55
12
0
0
22
-97
-75
-41
0
0
-28
-90
70
0
0
9
20
1
0
0
80
15
-81
0
0
-35
25
30
0
0
1
-21
-13
0
0
-10
-42
-6
0
0
-22
45
-70
0
0
-6
-12
56
0
0
20
49
-27
0
0
53
-14
23
0
0
11
-34
-3
0
0
51
22
-11
0
0
-48
33
-41
0
0
-15
-7
-35
0
0
66
-23
38
0
0
3
0
0
0
0
23
1
-4
0
0
1
0
0
0
0
2
-6
-8
0
0
6
-4
0
0
0
49
-31
-2
0
0
46
2
3
0
0
66
24
0
0
0
-4
0
0
0
0
6
0
0
0
0
-8
-1
-13
0
0
-47
-13
0
0
0
-17
3
0
0
0
-32
-14
0
0
0
-8
25
-1
0
0
-45
7
-1
0
-6
15
96
88
0
0
-32
-46
20
0
0
-7
-16
66
0
0
-76
40
-2
0
0
-37
-5
-12
0
0
-28
41
-41
0
0
-27
-52
25
0
0
9
54
-8
0
0
33
69
22
0
0
31
18
8
0
0
101
73
-77
0
0
92
-11
9
0
0
9
32
-8
0
0
48
-89
-5
0
0
57
-35
-7
0
0
-3
0
0
0
0
-1
-32
41
0
0
54
-4
-24
0
0
-4
12
50
0
0
-11
-14
12
0
0
54
42
71
0
0
33
-48
-13
0
0
-17
56
8
0
0
-5
-1
-1
0
0
36
-37
36
0
0
-2
70
25
0
0
16
95
-64
0
0
-7
13
28
0
0
-54
50
-55
0
0
-32
65
-101
0
0
-77
-52
-29
0
0
-23
29
-10
0
-8
67
18
-11
0
0
-45
-3
13
0
0
-11
-6
-1
0
0
-14
35
-30
0
0
-21
-20
54
0
0
13
-29
21
0
0
-26
92
4
0
0
42
36
-5
0
0
89
-71
31
0
0
41
50
0
0
0
-17
3
-4
0
0
42
3
-2
0
0
-8
-93
2
0
0
-12
29
-2
0
0
43
27
-2
0
0
0
-9
-2
0
0
57
103
45
0
0
4
71
52
0
0
21
61
-1
0
0
-16
3
-8
0
0
-59
83
-21
0
0
-21
13
15
0
0
52
-14
-3
0
0
18
-49
-4
0
0
-33
-1
50
0
0
2
0
-1
0
0
28
0
-2
0
0
-18
-17
-4
0
0
25
9
-43
0
0
1
-39
-21
0
0
10
-25
5
0
0
8
13
-2
0
38
3
3
-30
0
0
-8
-13
-20
0
0
-32
34
-12
0
0
16
5
10
0
0
-30
21
-40
0
0
102
62
-20
0
0
-13
50
-3
0
0
-9
-3
13
0
0
-11
40
15
0
0
6
1
7
0
0
-34
86
23
0
0
23
-50
0
0
0
43
23
5
0
0
-13
23
5
0
0
32
8
-1
0
0
24
4
0
0
0
58
17
-48
0
0
2
72
-25
0
0
-16
35
47
0
0
5
25
-5
0
0
41
-32
-5
0
0
-6
0
-19
0
0
-43
-74
4
0
0
3
11
4
0
0
22
-10
-1
0
0
1
-19
16
0
0
35
29
12
0
0
-5
-41
0
0
0
-75
74
71
0
0
0
-24
-7
0
0
17
1
32
0
0
97
-48
-1
0
82
-17
-6
33
0
0
25
-22
18
0
0
26
52
27
0
0
-32
-37
-26
0
0
85
-25
-8
0
0
22
65
-44
0
0
-46
6
5
0
0
5
-20
-12
0
0
-5
-24
-14
0
0
-7
7
0
0
0
-36
45
0
0
0
55
1
4
0
0
3
9
0
0
0
2
6
-2
0
0
9
-29
0
0
0
32
3
1
0
0
23
45
8
0
0
-18
25
8
0
0
-7
-4
10
0
0
75
-17
0
0
0
-11
-7
19
0
0
89
-2
-6
0
0
5
-8
3
0
0
51
-47
6
0
0
-23
45
-13
0
0
-24
6
-4
0
0
-3
35
-8
0
0
27
-33
-2
0
0
-40
-15
6
0
0
6
47
-3
0
0
-31
-7
3
0
0
32
29
4
0
-36
17
-49
52
0
0
41
-9
-4
0
0
60
52
-60
0
0
-14
48
15
0
0
54
-34
31
0
0
8
-26
-1
0
0
3
5
6
0
0
0
39
0
0
0
-46
6
18
0
0
-9
15
4
0
0
-16
27
7
0
0
-9
14
2
0
0
14
3
-1
0
0
-3
35
0
0
0
43
-22
4
0
0
-18
-2
-1
0
0
38
23
5
0
0
-3
47
-10
0
0
-59
0
-40
0
0
9
-14
-5
0
0
-44
-4
31
0
0
-16
87
-28
0
0
-44
42
24
0
0
2
-22
0
0
0
19
40
-68
0
0
9
-19
1
0
0
49
30
69
0
0
-25
-30
8
0
0
-47
54
-28
0
0
-4
17
-35
0
0
-14
95
49
0
0
7
18
-9
0
-92
18
92
9
0
0
-20
-5
-13
0
0
-14
-17
14
0
0
13
4
-19
0
0
-5
-6
0
0
0
6
-24
18
0
0
6
-22
0
0
0
10
-52
2
0
0
-13
28
-3
0
0
39
4
1
0
0
21
5
-3
0
0
-56
24
3
0
0
-20
-25
1
0
0
45
20
0
0
0
34
13
0
0
0
12
6
3
0
0
-27
-20
3
0
0
-1
0
-17
0
0
-23
31
-6
0
0
-18
-21
-10
0
0
-14
20
-14
0
0
-10
7
-8
0
0
32
-24
1
0
0
13
18
2
0
0
-29
7
12
0
0
0
29
0
0
0
-22
17
-1
0
0
47
-31
-8
0
0
-42
28
-13
0
0
-8
12
12
0
0
-13
7
-5
0
0
-45
49
0
0
-3
-14
-6
3
0
0
-8
-15
-4
0
0
7
15
14
0
0
-10
13
-4
0
0
7
25
-16
0
0
6
-12
8
0
0
5
31
-19
0
0
-42
5
6
0
0
120
8
-25
0
0
-14
9
-2
0
0
16
31
-8
0
0
29
0
-1
0
0
-1
45
18
0
0
5
-19
-8
0
0
-45
-47
3
0
0
-8
4
1
0
0
-29
6
20
0
0
1
-7
-12
0
0
19
-6
22
0
0
13
25
0
0
0
7
2
16
0
0
6
-5
6
0
0
3
-54
1
0
0
15
-23
-5
0
0
-55
44
-8
0
0
8
-9
13
0
0
-27
-15
21
0
0
28
-20
1
0
0
92
-1
-15
0
0
-4
-15
-8
0
0
-25
-16
-22
0
0
-16
91
7
0
15
29
-52
-6
0
0
47
-3
-2
0
0
-1
1
0
0
0
9
9
1
0
0
-30
0
3
0
0
8
-1
3
0
0
10
13
0
0
0
22
39
0
0
0
52
7
0
0
0
35
-14
0
0
0
8
5
3
0
0
40
6
0
0
0
49
-5
-1
0
0
22
15
-1
0
0
-6
22
0
0
0
28
71
0
0
0
-43
-2
1
0
0
0
2
-12
0
0
2
-2
-4
0
0
-36
12
0
0
0
-2
-8
-1
0
0
1
5
0
0
0
-26
15
0
0
0
13
6
-2
0
0
-28
2
41
0
0
-2
-18
0
0
0
25
1
-10
0
0
13
5
6
0
0
-23
-23
7
0
0
-4
0
42
0
0
-23
-13
0
0
0
-31
54
0
0
3
-13
75
-28
0
0
-35
0
-5
0
0
-28
-25
-7
0
0
1
-50
0
0
0
42
26
-8
0
0
-10
-14
31
0
0
25
32
1
0
0
-2
44
1
0
0
6
-7
-25
0
0
-40
21
0
0
0
58
23
17
0
0
-61
20
-1
0
0
9
96
31
0
0
27
50
-3
0
0
17
-4
5
0
0
-56
9
1
0
0
-26
-48
52
0
0
-7
78
5
0
0
6
17
54
0
0
41
5
-3
0
0
-4
-13
86
0
0
14
-25
-8
0
0
13
-34
-1
0
0
-13
-26
14
0
0
13
45
-4
0
0
17
-35
-2
0
0
18
112
24
0
0
-8
-29
45
0
0
53
76
-38
0
0
58
-50
24
0
0
43
44
-7
0
0
-77
39
21
0
-36
59
6
34
0
0
-24
17
8
0
0
4
45
-1
0
0
-8
-48
2
0
0
-21
34
-5
0
0
4
20
-3
0
0
10
6
0
0
0
-8
-70
0
0
0
42
-21
-4
0
0
-6
8
0
0
0
-51
48
-12
0
0
14
5
0
0
0
8
-15
7
0
0
-28
38
0
0
0
15
55
0
0
0
4
44
1
0
0
53
-13
24
0
0
-41
-69
-3
0
0
-46
-27
41
0
0
102
44
-13
0
0
0
-2
14
0
0
31
26
-42
0
0
64
47
10
0
0
-5
179
0
0
0
44
-94
-46
0
0
-30
8
28
0
0
-68
-10
30
0
0
49
-22
26
0
0
-16
46
18
0
0
7
5
-11
0
0
-23
48
49
0
0
21
-8
8
0
13
-23
32
14
0
0
-60
32
-20
0
0
-20
41
9
0
0
44
-32
1
0
0
39
-31
-6
0
0
-6
3
-14
0
0
55
-30
-7
0
0
30
31
1
0
0
-27
-12
-18
0
0
8
24
-6
0
0
25
23
-32
0
0
8
101
-4
0
0
-6
5
-4
0
0
-34
87
7
0
0
46
9
5
0
0
23
74
-6
0
0
-21
25
-3
0
0
10
-24
20
0
0
8
23
-7
0
0
-46
56
14
0
0
-16
101
43
0
0
-8
-18
19
0
0
-3
-13
1
0
0
-14
-2
3
0
0
2
8
-17
0
0
51
-17
-9
0
0
15
3
-10
0
0
-23
48
35
0
0
-53
20
-10
0
0
69
-15
46
0
0
-57
44
60
0
0
107
48
-18
0
-5
50
-98
0
0
0
44
9
3
0
0
-8
-18
6
0
0
16
-43
-14
0
0
-9
8
-3
0
0
0
16
-10
0
0
-13
-4
-1
0
0
-26
80
19
0
0
40
43
3
0
0
-21
60
0
0
0
-13
-48
-1
0
0
-33
114
-13
0
0
-52
22
0
0
0
55
43
0
0
0
49
8
3
0
0
-8
-80
-4
0
0
30
-6
-2
0
0
-5
49
9
0
0
13
24
-12
0
0
-61
55
-6
0
0
14
13
2
0
0
13
30
14
0
0
25
19
-22
0
0
-16
9
6
0
0
-25
-9
22
0
0
-7
65
4
0
0
24
-33
13
0
0
30
28
14
0
0
57
-49
6
0
0
11
13
35
0
0
49
10
69
0
0
24
-8
-4
0
9
31
78
-31
0
0
-49
38
12
0
0
-43
-5
2
0
0
3
-62
-1
0
0
41
12
-13
0
0
9
-13
1
0
0
37
-9
-8
0
0
0
48
0
0
0
13
-5
5
0
0
-25
-15
0
0
0
-16
45
-17
0
0
94
16
1
0
0
27
7
42
0
0
-40
-13
0
0
0
-57
20
1
0
0
-45
41
0
0
0
-10
-22
-15
0
0
8
28
26
0
0
-12
71
47
0
0
6
48
-3
0
0
47
-45
5
0
0
-15
16
18
0
0
39
23
-16
0
0
5
35
0
0
0
58
39
-21
0
0
-41
-4
52
0
0
-37
-5
-10
0
0
39
-12
44
0
0
-4
57
-8
0
0
34
64
-5
0
0
26
-10
24
0
0
-8
22
50
0
46
5
77
-7
0
0
-4
1
-1
0
0
-3
6
-1
0
0
-8
11
1
0
0
27
59
0
0
0
-4
-29
0
0
0
-5
9
0
0
0
22
6
0
0
0
-18
17
-2
0
0
20
48
0
0
0
52
-8
4
0
0
-21
-10
-4
0
0
-16
49
-13
0
0
-10
-30
0
0
0
53
17
0
0
0
-6
-52
3
0
0
30
33
5
0
0
-4
-34
-5
0
0
18
-10
3
0
0
-7
-8
-6
0
0
-59
13
-25
0
0
13
13
2
0
0
-66
39
-9
0
0
11
8
4
0
0
-14
-13
-24
0
0
0
48
52
0
0
52
-68
72
0
0
-12
6
-49
0
0
-4
-75
-84
0
0
-34
10
11
0
0
49
30
0
0
0
40
62
8
0
-15
14
-3
-13
0
0
-4
9
5
0
0
13
34
4
0
0
32
-12
0
0
0
-9
-37
0
0
0
10
34
0
0
0
-21
72
-3
0
0
22
7
0
0
0
39
1
-5
0
0
27
-34
0
0
0
44
-20
-6
0
0
9
22
0
0
0
-18
31
5
0
0
3
16
3
0
0
33
-29
-1
0
0
25
49
1
0
0
-20
-35
-39
0
0
-22
3
-22
0
0
2
8
-8
0
0
-17
-13
2
0
0
19
15
-14
0
0
8
-8
0
0
0
-31
5
16
0
0
22
4
4
0
0
-42
1
12
0
0
-30
30
42
0
0
-19
21
15
0
0
25
-32
-30
0
0
-7
28
22
0
0
-9
15
46
0
0
-14
32
36
0
0
5
-14
34
0
18
42
-50
-1
0
0
-53
6
-1
0
0
2
2
0
0
0
-3
0
0
0
0
2
-14
0
0
0
4
-18
2
0
0
-1
5
0
0
0
58
-10
0
0
0
74
-6
0
0
0
-6
2
0
0
0
26
24
0
0
0
1
17
3
0
0
46
-8
0
0
0
53
8
2
0
0
22
-25
-5
0
0
13
69
-2
0
0
-54
12
-4
0
0
19
22
4
0
0
-1
-6
-1
0
0
39
53
8
0
0
-6
9
-7
0
0
-25
17
-2
0
0
-17
0
4
0
0
-46
17
0
0
0
-6
23
-10
0
0
107
43
-30
0
0
8
-15
1
0
0
27
-20
-7
0
0
1
15
14
0
0
4
-23
20
0
0
-16
-3
5
0
0
-25
32
13
4
-5
14
-14
14
0
-50
16
-41
1
0
-1
21
2
-9
0
-34
46
18
25
0
-2
2
3
28
0
-8
23
-6
-11
0
8
-8
-6
27
0
-12
37
1
-14
0
30
30
-1
-55
0
0
27
20
-13
0
3
0
51
-72
0
32
-10
10
21
0
45
-2
27
-9
0
6
6
1
-38
0
10
-34
-31
17
0
-12
-13
-33
35
0
-15
28
15
10
0
-58
-35
50
-23
0
-22
-36
21
13
0
80
-24
116
-27
0
7
-8
10
25
0
-106
-60
21
6
0
-8
8
56
-26
0
-34
-36
-3
8
0
15
16
-48
-21
0
-18
-56
-37
-53
0
3
-35
129
22
0
-19
-67
-1
22
0
-24
-53
43
15
0
-2
34
56
9
0
25
23
-8
14
0
5
-34
55
5
2
-10
-4
-13
-29
0
-73
-38
-29
22
0
-13
0
31
59
0
-37
13
129
-34
0
11
0
15
-10
0
-12
1
-14
-3
0
0
15
-10
80
0
6
-3
3
-21
0
-28
-66
-1
-44
0
-40
70
33
10
0
1
31
59
-7
0
6
28
-20
20
0
-31
-49
-4
-91
0
-17
32
-20
-34
0
22
6
-8
-14
0
-9
68
0
7
0
9
-19
-82
-41
0
-15
-7
59
2
0
-6
29
8
4
0
67
-32
13
-50
0
-20
-33
15
47
0
-27
-74
9
48
0
-37
27
52
-9
0
-61
25
50
53
0
-19
-27
0
-8
0
-27
-5
-64
19
0
60
-29
17
8
0
74
-49
33
35
0
-5
48
10
13
0
13
-63
16
-6
0
31
36
-15
12
0
-24
-3
63
0
8
5
27
-7
14
0
14
20
-71
-22
0
24
3
31
12
0
42
-2
-1
25
0
12
-24
-4
7
0
4
-20
7
29
0
-12
-34
35
33
0
6
33
30
-23
0
-85
5
-82
-129
0
30
-54
29
32
0
21
-28
16
16
0
23
13
-9
65
0
30
34
18
-12
0
6
3
30
-29
0
-56
-44
-19
35
0
36
18
10
-69
0
-15
25
10
-12
0
85
-2
8
-27
0
-30
-37
-3
1
0
-15
97
-18
-22
0
-62
26
-31
46
0
-30
22
47
4
0
-21
-55
31
-6
0
2
-40
4
-19
0
11
-34
17
42
0
75
35
-20
8
0
26
-47
12
3
0
-3
46
36
29
0
59
-8
34
-3
0
-20
71
52
-1
0
-38
76
-47
-18
0
18
25
18
-1
17
24
-82
10
-1
0
-13
10
10
16
0
31
-40
21
-13
0
24
-40
11
91
0
15
63
9
8
0
-5
-51
-14
-52
0
42
-2
17
23
0
-16
0
-39
53
0
-13
86
-110
-10
0
90
27
-20
14
0
60
-15
-1
14
0
-5
54
50
-60
0
-4
109
-12
-4
0
10
35
-8
-31
0
-107
6
21
-30
0
13
-4
18
20
0
-41
40
56
8
0
57
50
-50
25
0
43
111
18
-43
0
-28
25
-31
-8
0
-3
9
-1
-8
0
-26
-38
7
-9
0
6
-18
5
0
0
17
-1
-23
-1
0
-13
42
15
3
0
66
51
-19
1
0
-30
-70
19
0
0
-25
29
-16
0
0
64
35
-31
-19
0
-63
93
15
-5
0
20
58
-7
3
0
22
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
22
19
31
18
0
-55
-34
-28
-32
0
63
16
12
-39
0
-4
-34
18
-31
0
-19
17
17
-39
0
-7
20
65
-22
0
-7
43
-1
-15
0
-10
32
14
5
0
2
-30
14
25
0
37
-58
3
32
0
19
9
13
-22
0
34
-13
-23
-51
0
15
-32
18
1
0
29
-27
29
4
0
56
-8
-11
22
0
57
-33
-21
46
0
20
-11
60
-43
0
-5
60
43
10
0
74
-13
9
6
0
6
-10
41
46
0
26
96
41
0
0
49
-18
-2
-6
0
75
-55
-28
85
0
35
-57
-5
3
0
17
-27
-25
33
0
-56
-30
81
-5
0
54
21
66
9
0
73
-7
-45
0
0
35
4
49
-55
0
-61
-7
-16
-24
0
-32
77
84
-54
0
20
5
-8
-13
-34
41
-54
3
-58
0
35
-67
-14
-11
0
31
7
-32
-79
0
43
-6
-47
33
0
-46
-15
66
19
0
-1
21
-11
11
0
14
-33
10
-15
0
8
-32
-19
14
0
-8
-16
-2
8
0
-4
-1
-5
-12
0
32
54
17
-31
0
32
-3
-20
-22
0
-22
-50
30
40
0
7
-50
7
-35
0
62
-19
-3
-67
0
77
-46
-13
-99
0
-41
-20
-39
8
0
-60
28
37
34
0
4
27
40
16
0
20
74
-40
29
0
68
-50
29
-13
0
26
-30
30
6
0
-40
66
15
1
0
-30
12
44
-1
0
38
31
-12
16
0
-108
-4
69
-3
0
-48
127
28
-9
0
50
-3
20
0
0
-36
38
49
19
0
-29
6
-3
-3
0
58
-7
-29
4
0
-22
93
60
-2
31
-30
-23
26
39
0
-40
-6
72
-12
0
-18
-21
47
-41
0
19
-38
126
-71
0
-15
12
-48
-78
0
-18
-12
-38
43
0
2
-3
0
36
0
-29
24
4
11
0
8
23
-6
28
0
-37
13
26
-12
0
7
81
-36
38
0
-10
-14
11
-23
0
-22
21
-8
24
0
-10
2
0
-1
0
-22
14
14
-31
0
31
16
-69
-16
0
-19
-21
-17
-5
0
-18
2
-9
4
0
75
24
2
-13
0
24
84
-13
-2
0
-7
-3
-29
3
0
26
-4
-22
5
0
-43
-35
-30
29
0
77
3
2
2
0
-43
-3
-19
-12
0
-23
79
15
9
0
3
34
28
-23
0
33
0
-40
-2
0
-72
-21
25
24
0
58
-18
32
0
0
99
-40
25
-15
0
-12
21
-47
-3
-3
40
-77
-31
-74
0
-109
17
6
41
0
30
-42
21
31
0
84
88
-14
-50
0
26
12
-85
-71
0
-18
7
55
-90
0
-9
-38
17
-30
0
-40
5
24
27
0
16
52
-41
28
0
-7
11
5
-14
0
17
-2
-21
4
0
20
-42
-24
31
0
12
-70
36
-54
0
11
-51
45
30
0
-14
20
-6
-14
0
51
13
-20
-27
0
37
19
-28
2
0
5
87
-43
-4
0
94
-27
59
-3
0
-67
22
54
-35
0
-15
-35
18
4
0
-22
23
12
-4
0
19
39
-9
-1
0
23
32
33
-3
0
50
-38
29
1
0
20
-22
-1
2
0
37
-12
-9
0
0
42
-43
-20
14
0
58
-37
-12
23
0
24
-31
23
1
0
-40
27
-52
5
0
30
-40
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
84
8
29
-77
0
-5
-33
-51
38
0
33
5
-30
22
0
38
9
57
46
0
-5
79
24
-75
0
13
-33
13
-54
0
-94
44
20
-5
0
-45
-16
2
-1
0
42
-1
63
72
0
10
56
27
-71
0
23
17
49
60
0
13
32
74
2
0
15
51
30
-27
0
8
17
49
55
0
23
-13
65
18
0
48
29
-20
-12
0
-24
-11
-5
28
0
-67
31
38
-48
0
-62
64
-7
-30
0
47
-15
-2
7
0
2
29
32
57
0
-54
-16
17
-24
0
-38
87
21
-22
0
30
69
12
-12
0
41
12
51
5
0
-63
-31
6
65
0
-91
6
25
42
0
-115
50
39
3
0
-42
-6
-11
8
0
33
-40
30
-61
0
54
-42
5
35
0
59
148
-71
-1
23
65
-29
-9
-21
0
26
-54
-26
21
0
75
28
-46
-38
0
-6
-6
16
33
0
40
14
-51
66
0
-9
5
-18
28
0
48
59
-94
5
0
-26
5
73
4
0
-45
43
42
-7
0
47
13
46
5
0
52
-34
48
1
0
36
6
46
17
0
-7
-44
8
32
0
-58
-1
-28
-5
0
21
-52
52
5
0
-53
69
8
-4
0
37
-31
32
-17
0
29
106
31
-25
0
-26
-13
93
23
0
72
40
7
8
0
-30
18
49
-48
0
-28
56
30
25
0
21
16
-24
-15
0
-2
-17
-13
-8
0
-35
-22
-17
-3
0
-75
4
0
30
0
-12
1
1
5
0
23
42
52
-5
0
25
-13
-6
90
0
81
17
-39
-37
0
-16
3
37
49
0
49
105
-9
5
-9
-22
0
100
-24
0
31
80
-46
51
0
-61
40
50
-42
0
43
-3
-27
-16
0
-28
-38
-12
19
0
-9
5
-3
13
0
24
-14
-33
39
0
33
-5
3
2
0
-12
41
2
-54
0
99
9
-23
24
0
19
31
-6
19
0
-1
38
8
-14
0
6
8
5
79
0
5
43
24
5
0
101
-12
66
25
0
35
-4
45
0
0
-32
66
-20
8
0
-49
-18
-65
39
0
-56
2
-19
32
0
56
34
-10
20
0
-7
-24
18
-83
0
25
12
11
-9
0
-42
5
-11
7
0
-28
74
-16
-1
0
39
17
20
106
0
74
-10
-2
-25
0
-31
-47
99
1
0
-5
15
-6
1
0
-24
49
7
-14
0
48
-16
-31
24
0
-11
1
-47
-4
0
-7
25
25
-5
-13
66
5
26
-14
0
-133
27
10
5
0
4
-8
-6
54
0
2
39
42
42
0
-17
4
6
2
0
-29
54
-41
18
0
41
-41
0
12
0
99
-17
25
3
0
-14
6
7
-16
0
32
10
-7
1
0
-11
35
51
5
0
12
4
-13
-15
0
31
35
-50
17
0
6
-15
49
-10
0
-2
-5
5
2
0
-1
13
31
0
0
20
-26
51
-49
0
-4
44
28
5
0
-44
41
-9
-34
0
-18
-9
-1
14
0
-45
21
14
55
0
3
30
39
-35
0
20
-17
7
7
0
-30
27
5
0
0
42
-12
68
78
0
55
-3
23
0
0
-1
51
-3
-22
0
-86
47
49
1
0
39
36
23
-16
0
-4
-26
-11
-1
0
99
14
-5
-3
0
46
93
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
46
5
-17
0
95
-45
13
13
0
67
-45
7
4
0
-28
59
66
-21
0
-1
10
-40
7
0
-16
33
53
13
0
20
55
8
14
0
94
-26
-9
4
0
48
17
-56
73
0
0
73
-104
6
0
-5
27
52
46
0
17
30
64
-17
0
58
-43
-58
4
0
23
22
9
35
0
16
41
24
-42
0
-52
4
29
5
0
-22
81
-9
18
0
54
48
41
-5
0
-68
86
-7
4
0
15
13
-12
-31
0
-14
-35
42
40
0
-34
-22
39
57
0
-18
-1
-9
-31
0
52
3
57
31
0
-71
15
33
31
0
-38
-10
-9
-13
0
54
-23
23
52
0
76
42
38
37
0
63
50
33
21
0
-54
28
37
-57
0
22
-11
111
31
0
40
5
-35
5
-13
50
22
24
22
0
-31
-15
-29
16
0
7
19
-6
1
0
-3
4
-41
5
0
6
-75
31
-5
0
62
40
42
4
0
24
19
15
-2
0
39
49
8
-3
0
3
82
66
-41
0
-102
47
25
74
0
14
76
-8
16
0
-18
87
56
17
0
-6
-37
117
3
0
-32
-40
55
66
0
-19
28
-12
-5
0
8
-16
10
-19
0
35
2
-15
29
0
21
-13
35
-2
0
180
42
-34
2
0
47
65
-2
2
0
-14
49
-2
63
0
29
-52
-3
-1
0
2
-17
0
-30
0
88
29
32
8
0
-23
2
-61
10
0
-91
40
55
-19
0
-21
73
11
-5
0
37
20
13
41
0
-41
44
13
1
0
-3
19
-16
-14
0
4
4
3
-11
0
39
-13
-16
54
-19
50
83
-29
-5
0
47
-56
26
18
0
-57
40
67
2
0
1
58
18
16
0
55
20
50
-17
0
-33
42
-54
-2
0
25
16
-10
21
0
93
23
-13
0
0
25
-2
1
6
0
0
69
-32
3
0
-77
68
-16
14
0
44
39
44
28
0
-15
20
43
58
0
30
24
-49
9
0
36
64
47
-94
0
-80
-13
-13
-18
0
-26
-9
93
20
0
0
77
2
3
0
-26
-24
-2
94
0
3
47
17
46
0
85
-21
-10
4
0
46
-3
46
-32
0
29
-40
9
25
0
-32
18
24
17
0
-17
-6
17
23
0
-26
-25
23
-19
0
-3
-3
50
17
0
-12
50
-17
-19
0
-15
-71
23
66
0
86
-4
2
15
0
-67
18
5
51
0
-37
13
60
4
16
19
81
-2
-2
0
55
-2
-8
-9
0
1
31
28
-10
0
91
-31
60
2
0
3
7
-12
21
0
1
-54
22
1
0
5
-10
-22
-3
0
-13
31
17
1
0
8
137
80
-5
0
-24
86
19
-3
0
-24
-19
37
12
0
27
23
3
-7
0
37
15
-54
34
0
-3
2
45
-14
0
49
25
-34
-32
0
-67
25
5
7
0
-103
7
74
8
0
25
7
65
-13
0
-1
-3
-29
-9
0
-26
66
-15
-23
0
9
-66
66
-13
0
7
25
-25
5
0
-54
33
17
-1
0
-69
-62
32
-1
0
-48
-1
52
5
0
46
2
-13
48
0
28
-25
-29
-1
0
-9
21
43
26
0
-31
-5
59
-63
0
36
-7
51
7
0
25
-27
60
-40
0
-17
-9
30
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
5
3
-2
-9
5
-18
-19
30
12
9
-19
18
8
8
0
-20
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-9
-19
9
-3
48
-7
-2
-19
14
-19
-46
12
-44
26
24
-13
17
-104
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
26
32
-48
7
-20
-42
-76
37
17
-109
12
41
-16
-49
-5
-24
9
34
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
18
10
14
-20
22
-10
-1
45
39
10
-17
60
78
47
-57
-17
58
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
8
12
46
20
-1
6
4
28
-1
6
29
20
28
-32
13
-23
31
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-55
-11
-17
-18
17
-30
-9
-47
-15
52
29
4
-13
-22
25
-23
24
12
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-11
-6
88
-39
10
-41
36
-23
39
-11
50
10
-45
-28
-46
47
80
26
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-20
29
18
-27
-13
8
0
39
13
89
-40
-84
7
38
-32
10
22
43
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-18
7
40
26
35
-23
20
40
-35
-7
16
21
2
-38
-10
16
24
44
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-4
-50
-13
37
42
-12
14
-54
31
4
0
-75
15
-49
73
28
-139
44
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-55
67
69
-19
-15
33
57
9
-35
-12
-9
-31
-1
5
48
2
-42
22
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
10
-12
34
-48
76
21
50
50
4
22
-28
50
27
41
-10
70
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-38
0
16
7
8
-26
27
11
57
82
-13
61
-7
31
51
-11
17
-18
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
82
-15
38
14
-3
-25
23
29
-9
-85
-4
3
5
-25
-56
-79
-104
25
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-42
16
26
1
-3
43
-28
16
10
-28
47
-25
150
-32
-29
34
26
-40
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-13
5
-5
3
168
107
-32
-26
-1
-20
15
110
-23
3
-31
31
-91
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
3
14
-7
-3
3
25
1
-41
27
9
-12
0
-6
18
-14
26
28
7
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-18
-16
-12
11
20
-5
-17
-13
50
51
48
-11
15
-19
-27
2
-48
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
38
46
-56
22
129
-60
-51
-31
-8
69
5
18
17
31
57
27
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
2
39
1
78
5
48
17
41
27
-36
-1
-34
64
11
61
-63
59
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-10
8
20
5
-7
-12
1
-18
51
23
5
18
19
64
-9
3
18
49
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
19
-17
32
-76
-12
-8
-8
-108
-62
-2
35
74
-95
-47
5
-109
34
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-40
15
-24
46
19
-120
18
-43
15
-25
136
-62
-6
28
9
-33
39
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-5
-22
-15
-6
-27
-13
70
-86
-41
35
3
33
42
14
25
-163
66
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-22
14
-6
-1
36
3
13
17
-7
28
-13
3
17
11
31
52
12
-13
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
-35
-76
-22
-13
31
-18
-4
22
-58
9
3
-15
-66
-63
-4
-68
8
3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
45
-27
66
4
-15
-28
54
-26
20
-3
6
28
-50
25
-23
-22
13
21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-116
53
11
33
-52
-99
17
27
0
-50
31
-2
-22
-3
69
53
36
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
15
15
16
5
-9
-3
9
91
-30
-21
-35
1
13
36
26
83
-9
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
23
-13
-23
-4
-9
27
-40
27
-69
-48
-8
-45
36
50
31
-66
6
38
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-81
5
40
20
-8
-26
-37
21
5
20
48
-7
-49
8
-24
-4
-9
-32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
23
-5
42
-57
6
-18
35
-27
13
-51
-54
-4
17
3
16
-5
-17
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
17
6
28
13
-23
6
18
14
-13
-104
35
-38
-27
5
-18
29
-42
38
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-12
26
0
-4
-63
-16
8
-21
-14
52
-2
2
-7
19
5
22
3
17
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-40
20
58
-29
-24
5
18
7
-8
134
-100
-3
-17
49
72
-34
-73
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
39
51
2
13
29
-8
23
47
-33
-71
22
47
8
65
19
-15
-3
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
-5
67
-5
-10
-15
-83
-7
-57
31
17
-12
-1
-4
-33
1
-40
-13
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
9
-11
-9
-58
-59
18
-38
15
11
-13
19
-48
16
108
-53
-54
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
14
25
1
-25
-53
57
-27
-38
2
46
-2
-11
51
-13
10
-28
53
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
109
42
86
-46
-63
-20
72
66
32
49
47
27
66
-32
23
-17
30
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
10
-36
32
69
-65
3
38
-26
-50
-96
10
-11
28
-67
31
-1
14
-11
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
21
3
20
-41
12
7
11
26
-44
-22
-24
-11
1
45
45
16
-35
-47
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-58
61
8
7
100
56
-25
-12
39
-9
87
33
-29
-9
-19
18
41
25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
9
57
29
-47
24
40
26
2
-13
99
63
19
-53
2
51
5
-89
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
-12
-12
-2
27
-67
-11
49
-36
141
-53
12
44
40
-58
66
-2
-4
-12
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
48
-30
-2
-62
-19
-7
9
13
-13
33
-28
-14
10
-33
17
5
1
19
-129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
32
-36
29
5
43
60
28
-56
30
109
88
35
-14
-5
-86
105
80
2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
5
35
1
20
-54
-52
25
84
4
49
-26
1
-34
-24
66
29
23
-33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
30
-29
12
-13
41
32
41
38
-23
-110
31
19
11
-27
-13
-9
30
-33
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-14
23
14
22
-5
14
-14
10
16
3
-63
12
-6
-10
35
-36
-34
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
60
46
-8
-50
-25
-3
18
57
19
57
-69
-11
56
-1
-4
34
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
46
49
-2
-34
-20
-6
34
-14
44
58
100
4
-1
17
-8
21
7
29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-5
5
21
-3
-47
32
-9
34
0
-45
20
-38
-23
5
34
9
31
-78
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
34
31
-33
-105
-8
29
5
-26
-56
-38
8
-57
-42
-129
-69
36
-75
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
3
-19
29
20
24
30
39
9
-18
-28
84
-47
4
-35
-16
97
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-100
14
7
23
-26
-6
82
-34
-7
41
47
16
-4
-8
5
31
13
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
6
-10
31
-26
8
14
8
-35
-104
-37
29
-3
18
8
-42
68
-15
1
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
53
0
-1
10
19
12
-22
20
47
62
-50
-27
-9
-17
67
-29
-79
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
34
28
92
-67
-2
-16
50
51
7
23
-45
-14
-50
-6
-10
31
61
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
17
43
14
-12
24
-58
101
35
8
36
-94
22
5
-28
81
-3
37
73
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-27
16
-20
-34
29
4
44
12
-101
22
-72
50
-48
-61
-4
98
-77
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
39
-73
23
78
27
1
-22
15
-72
57
-56
24
-25
-26
-55
-22
-24
-27
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
-8
17
1
-5
13
69
58
-8
40
33
-22
3
1
-10
1
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
54
-63
22
29
19
-10
37
0
-2
22
64
43
15
2
18
39
-78
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-3
-38
-24
-6
32
-8
51
19
-20
-71
49
-59
47
32
7
-18
22
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
29
46
50
-19
0
37
45
-42
16
-13
38
28
74
-22
-26
65
8
39
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-24
28
31
29
-41
66
-10
31
5
23
-1
-33
-46
-2
50
98
-47
-30
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-6
-29
145
-15
16
-5
23
-41
-11
5
18
-46
5
-22
59
6
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
124
-5
15
-31
-85
3
-5
3
22
-47
-6
58
23
55
-60
-45
34
-31
29
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
39
6
53
17
-30
-14
6
27
3
71
2
53
12
-40
31
2
-12
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
45
9
24
5
64
-21
-94
-45
-39
45
94
17
-17
42
-125
-40
-25
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-23
-4
-13
17
-57
-2
3
43
-1
3
-24
49
5
-1
10
-43
8
66
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
57
-20
-6
-8
-25
16
32
1
100
4
-35
-23
6
-5
-43
-2
-14
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
26
20
-61
-21
-7
0
-10
-12
-20
97
11
-43
-42
-22
-53
-14
-18
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
19
71
-27
44
-7
-7
12
23
-38
32
21
48
-34
28
-31
75
40
39
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-7
60
57
85
-29
67
-93
-32
47
-3
17
48
-59
19
-31
49
34
49
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
21
27
-1
7
-5
-4
81
2
16
31
42
6
28
-57
-43
72
65
20
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-6
-53
-34
41
23
-9
16
41
-2
-20
0
14
25
4
6
73
5
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
48
-10
37
-31
22
60
40
43
-26
-26
26
7
1
-13
-28
-2
22
73
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
35
67
67
-7
-39
25
52
70
-30
-14
-26
11
58
-24
16
3
70
-2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
-41
13
44
41
8
-64
-6
46
91
42
34
33
-10
10
13
-15
49
6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
16
21
-60
12
-10
69
5
-26
9
78
36
14
48
-5
-27
-14
31
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
-45
-21
40
-41
-30
46
106
-51
-12
58
83
-17
40
41
-4
42
43
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-13
-30
86
10
-27
9
7
26
-108
34
53
-40
67
-55
79
60
-47
29
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
57
-18
-22
29
33
-32
25
18
-18
-32
-7
37
30
8
8
30
20
-5
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
81
30
-20
-13
-47
16
-27
-39
5
11
-41
29
51
31
-41
16
53
31
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
99
-35
38
25
-32
-5
27
-49
8
7
-56
22
11
23
23
-26
-21
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-8
1
-18
-30
63
-59
17
-14
17
2
76
9
-60
33
-15
-7
-8
73
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
95
25
-26
-18
-13
49
-43
-12
10
42
-52
71
26
-15
1
-9
8
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-27
-9
12
5
-6
62
-5
27
2
115
54
-22
15
-10
47
-16
20
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
98
-5
-43
-27
8
32
-11
12
27
-8
79
-7
-12
4
-5
32
41
-19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
35
32
-23
74
-19
73
16
26
8
-46
25
30
-63
74
-88
5
16
7
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-39
51
55
7
-1
41
4
16
-32
12
-5
-21
19
1
0
3
-22
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
14
-10
39
-15
11
70
2
-34
2
26
-13
74
13
-4
-35
-1
41
49
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
50
26
7
40
30
-50
14
25
-2
-25
42
7
-7
-1
61
-14
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-3
68
-16
-41
9
-23
-40
-7
-8
-30
33
-18
49
3
-2
14
34
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
24
20
-59
89
3
50
-25
139
-7
48
-29
103
-71
5
-25
25
10
65
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
40
62
44
69
97
-14
-19
51
43
-59
79
21
8
48
-35
84
-5
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
40
-1
-24
33
-16
55
-21
52
-191
-81
10
18
22
-57
-31
-33
22
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
9
9
18
19
77
84
17
34
13
-25
-10
41
65
50
63
3
5
3
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
59
-21
46
8
10
73
-11
45
-19
28
-50
49
-8
3
57
47
-50
-65
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
43
-50
18
-35
-15
23
9
69
16
14
122
9
3
5
103
23
8
54
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
31
25
-11
27
31
-6
9
50
23
-70
-25
36
97
7
23
13
-23
43
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
44
48
66
56
-13
4
49
-17
24
142
-4
58
11
28
-22
-18
-13
37
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-23
0
39
53
4
79
-93
13
-33
-31
-39
53
30
-8
2
31
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
30
-40
46
-13
46
55
28
-49
3
28
-38
-4
21
11
28
-4
47
25
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
42
11
31
25
69
18
-23
-1
37
-26
-4
5
-13
30
39
75
50
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
61
21
26
29
107
-52
10
54
-5
11
46
-36
39
-9
-9
-20
59
45
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
51
50
14
44
5
-58
38
30
0
1
5
32
-14
-25
5
-23
40
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
11
-3
26
-30
47
-12
-24
12
25
22
1
49
1
13
13
12
-1
31
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
33
69
58
33
30
13
44
-39
22
94
-17
5
1
33
59
-121
78
10
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
28
33
-50
17
13
60
26
-23
9
74
36
62
-36
140
59
56
-27
33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
49
33
12
-42
0
36
34
-10
-42
23
-48
-40
23
-7
-1
30
47
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
38
5
3
-7
91
3
-9
-10
-5
93
28
54
12
5
31
54
-10
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
108
-73
86
-11
-30
13
19
-42
47
9
-37
-82
7
83
-7
2
31
29
-9
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
11
9
14
-4
84
7
38
12
-12
-32
14
0
52
-20
0
-28
51
85
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-37
80
-33
-23
6
15
44
6
0
-4
95
-13
5
5
95
10
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
49
35
80
17
-2
39
54
22
-5
-45
-21
100
-30
23
22
20
52
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
8
-53
109
22
10
31
74
28
-15
-13
13
-7
24
-3
2
-4
59
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
164
51
42
26
13
59
8
-32
53
-34
-29
35
46
7
-55
25
-5
3
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
47
20
0
-1
0
29
16
29
-1
-26
-14
-32
27
21
-3
-8
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
42
-18
70
44
-42
84
-32
24
-5
48
-28
-39
-39
44
3
33
7
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
13
41
66
-20
-13
124
12
29
29
-28
14
29
18
0
15
-3
43
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-26
-11
15
19
85
34
-33
81
7
-73
-27
-40
73
51
113
-19
-68
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
50
-3
0
19
-67
14
1
0
3
-5
-33
2
3
42
15
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
54
50
-5
-3
26
45
-4
5
2
-62
93
-57
5
24
-24
20
-12
-75
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
48
24
-30
0
-2
5
10
-21
-9
6
-21
35
1
5
-3
-46
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
66
-55
-7
46
76
16
3
70
-44
33
-14
8
50
2
-18
5
17
5
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-14
9
49
41
-23
-22
-6
21
17
16
-26
5
31
62
55
-20
17
39
-6
-40
-19
16
2
7
26
-20
46
9
0
-27
-26
53
-27
-8
-35
125
58
44
-45
42
16
17
9
-8
-31
29
-42
-75
84
59
11
-10
28
-30
33
-20
-81
-56
-133
-88
27
28
65
62
-84
-52
91
-11
-31
-33
-71
-21
-50
-73
-4
25
-13
-11
-7
-1
68
-15
-31
20
-39
82
-23
59
-40
-61
51
13
-23
32
14
-35
-40
15
-44
14
-14
12
-10
-8
-24
-13
-12
39
29
142
-4
-73
22
35
4
13
10
46
-15
7
54
64
-45
-47
-26
56
43
125
2
18
-82
17
80
5
-17
13
66
39
29
37
13
-11
29
-27
19
23
-49
97
-42
21
52
-1
-7
-23
-3
32
-16
-30
-7
-23
-26
28
-12
-4
-47
-12
43
85
30
-2
-19
9
31
-8
40
-59
22
-19
36
65
-18
39
-14
22
22
-2
2
54
6
66
15
67
-52
7
93
93
-43
6
-53
-5
1
-29
-64
-24
-12
28
30
13
-48
86
42
-27
-23
-44
14
46
34
-21
43
54
-1
5
-5
-36
-50
-56
56
-10
-4
-59
-16
-24
47
61
-26
-41
76
-57
41
-13
50
-2
66
-69
69
17
-12
62
28
24
62
10
47
42
-22
-50
25
19
-29
56
-61
-34
45
-47
-21
24
41
15
-41
-31
-3
44
-15
5
19
-92
14
-41
1
-28
47
3
-55
49
87
-13
-46
-62
69
12
32
40
5
34
-49
45
-61
31
-2
-21
-6
41
6
-43
-11
50
-6
22
-4
-24
5
42
-6
5
5
45
-41
0
-1
4
1
29
3
-25
13
-69
30
58
6
47
3
18
-38
-13
23
61
10
-16
-5
-2
-22
42
0
41
-36
4
61
13
32
1
-9
28
-8
52
23
56
3
30
-24
-22
17
-36
-16
-12
-84
-11
-77
-21
6
-46
-8
78
11
-117
21
28
32
-13
-55
-41
-12
25
-34
-7
-34
-29
59
-50
45
41
4
-11
-31
49
9
-48
3
6
45
-50
-11
68
2
26
59
41
-40
86
-43
0
1
14
-25
-19
19
126
-13
-3
-15
-11
11
68
26
1
-78
-9
5
42
7
16
117
-117
-79
4
-18
0
1
15
2
12
23
-41
52
23
24
73
54
11
-21
-101
-28
29
25
64
-3
-41
54
12
-6
43
-7
12
79
12
-67
-31
37
-10
23
81
-86
-40
16
-2
-8
-5
0
0
0
29
-39
8
61
28
21
13
51
103
-7
119
20
67
-13
-13
-42
-69
-32
-11
53
9
-13
28
-6
21
-15
59
61
53
-20
-8
-32
18
22
34
2
-27
19
63
-1
35
21
5
-33
6
-21
-26
-31
24
29
21
27
-42
-51
-39
50
-80
-1
-9
31
-51
-25
-46
-31
-26
4
14
43
-67
-50
92
-75
-48
79
-52
36
-4
41
84
-59
-45
-55
20
96
26
51
120
2
-13
-17
-83
95
68
72
7
57
30
71
28
8
5
-80
-16
22
21
65
26
-20
-15
4
-12
43
71
-4
2
-39
14
-8
13
2
-41
-16
84
3
-13
-48
4
19
20
-6
11
42
-2
5
-10
76
-94
83
-41
47
-13
51
31
-31
0
31
66
-84
0
22
27
-33
5
8
14
2
18
4
8
1
-5
-15
-8
3
62
-18
3
3
-33
-1
33
-16
20
41
-10
-14
-11
32
31
59
10
-7
-11
14
41
50
31
2
-23
-6
3
-31
6
2
11
27
-58
21
3
18
13
16
19
-16
24
-50
9
-41
-3
-33
75
7
-76
40
-19
23
16
24
-59
28
-35
0
-28
-6
-33
3
48
-67
10
-64
27
-14
-42
-40
-22
14
47
-41
-43
65
50
17
26
68
45
-6
7
-28
11
-13
41
-62
34
-23
49
-22
-29
0
66
9
-72
14
-13
18
4
26
-38
14
-49
24
51
92
30
-49
-23
-1
5
-28
7
0
43
30
-9
-5
12
43
58
-17
12
5
76
-17
-22
13
24
-43
-11
-5
-49
19
-12
62
20
-59
12
-50
37
28
-18
4
-62
84
9
5
24
13
14
3
0
0
-21
-20
-19
-31
-1
19
2
16
-17
1
25
17
21
4
35
-15
12
97
70
-33
31
22
6
-9
4
70
-24
28
63
-14
97
-14
49
22
16
11
-11
-2
23
0
-26
7
-15
-22
22
-8
-16
-83
-49
27
10
-16
-4
54
-18
117
-23
-43
-60
8
-37
-16
-50
58
35
27
-51
9
-9
-65
-34
2
-8
67
-10
-41
16
12
76
-56
32
11
14
26
15
45
-14
-12
-35
-37
-33
102
-9
-17
-12
113
-62
8
-20
-19
-22
9
-36
32
2
4
-55
-25
-41
0
19
-57
17
31
2
-3
-12
1
-13
-1
45
-4
-11
-13
-12
-15
51
-4
1
20
52
-35
16
32
-33
14
20
-15
13
-7
77
147
-25
-25
-7
29
-49
9
-10
8
-6
-1
-47
0
0
22
7
0
0
0
17
-2
16
-26
41
57
-23
20
28
-55
36
21
30
5
42
-120
-40
0
-4
41
-27
7
8
-25
7
55
9
10
11
-12
-34
-23
5
0
41
10
-22
7
32
55
25
5
-16
-63
57
-52
-12
2
49
23
-72
23
-44
-23
6
-75
-1
-7
6
-44
-37
-67
27
-18
-15
-24
-16
16
-38
15
49
-67
-92
38
12
-13
0
-100
-23
-8
48
86
65
-12
-18
2
-37
-24
-31
8
93
-28
4
15
-27
1
27
19
-17
2
2
101
10
-13
-7
3
-13
32
-10
5
8
-52
63
39
5
4
33
-10
-13
0
-20
-15
33
31
9
-40
11
66
-20
1
-17
25
-11
-41
7
-7
70
-10
15
4
48
66
35
42
-13
16
13
-22
-5
-6
-50
-8
55
-8
3
-2
1
-1
-5
-6
35
5
20
-20
-21
52
-17
4
-46
-13
26
35
33
26
35
-1
-86
59
12
94
49
-60
22
4
39
70
-7
17
-11
75
-30
-42
25
23
53
-92
-66
18
11
66
30
-8
-11
-66
-17
-85
-22
-13
82
46
-22
-14
8
-13
-22
-50
11
-25
61
3
21
10
-28
10
-64
-75
-20
33
-1
-27
26
39
-109
-117
69
5
97
89
13
-23
-49
69
10
20
-25
20
50
18
-35
-9
-2
-17
76
-52
-5
-20
53
79
-41
-5
-8
7
14
-18
0
16
26
14
27
0
-6
36
-51
1
3
18
17
-5
21
-2
-8
-5
-29
14
-3
73
67
-29
-2
3
16
-9
-16
-1
-5
-17
65
-7
2
5
-2
-7
-34
13
2
-3
-25
2
-1
2
-1
1
-3
-2
0
0
-10
9
8
8
-31
-9
37
29
107
19
-20
21
39
30
4
-41
30
-44
-17
-12
5
-50
-75
-39
-1
19
19
5
33
-3
-81
2
62
9
22
7
-38
-55
-39
23
5
10
-7
-32
-7
1
-11
8
-17
-93
-7
-12
14
6
-13
-4
-54
-67
10
39
-47
-5
20
18
-31
-28
45
-11
-12
-38
-43
-27
32
13
-26
-12
22
1
-45
18
-81
-16
14
-21
5
10
13
-42
-24
-15
-37
11
4
0
106
-41
-57
-65
42
12
15
13
-16
-1
38
45
107
8
31
-31
48
-17
15
8
11
35
-107
-10
2
-3
42
3
-42
-1
31
109
2
43
-4
37
23
1
-2
-3
76
71
14
45
-5
31
15
-31
1
-2
23
55
-112
94
-24
-4
68
-23
20
12
31
46
-51
31
13
-27
6
5
2
0
0
-27
56
-40
18
-65
-49
12
-57
-5
64
-4
-2
20
-23
-5
112
65
11
-84
41
-16
-3
1
27
-12
21
0
-57
-11
9
-9
9
-68
-109
-4
35
-23
11
49
26
-15
-55
-37
-10
27
-26
-49
-24
-6
-25
-29
-40
-66
50
-32
-1
105
-13
-25
6
4
24
-73
-39
40
-17
4
11
-36
-70
-54
-15
-30
38
-37
16
-76
-5
53
4
49
8
-56
9
-49
31
4
-13
-4
102
-20
-27
-8
1
-17
70
-10
-10
2
69
96
-31
7
-4
5
63
-8
33
0
8
34
15
1
-2
25
-4
8
-2
-1
5
31
30
13
-20
27
71
13
41
-2
-77
45
46
48
-8
15
43
-3
-8
2
25
73
69
-8
2
16
5
8
-9
-5
-8
6
1
20
0
-3
7
-13
24
0
-15
13
-22
41
-19
14
13
-31
-24
30
34
11
34
-50
29
20
21
74
40
-3
7
32
1
-53
-37
-31
-52
-1
-3
8
-3
17
-67
-1
19
-15
-27
13
-73
-15
-16
-6
-13
-39
10
-20
1
17
-4
-18
70
15
-68
16
-4
62
2
-69
-60
42
-55
5
19
-43
-3
51
-13
47
-30
-39
12
-67
-3
-36
-18
-57
-122
-50
38
55
134
-8
-13
-35
-6
24
26
-77
-7
-1
-23
19
-19
29
16
-30
98
-31
8
-3
25
82
21
8
-5
29
1
14
3
4
-32
22
6
-5
1
13
28
0
-2
0
-49
61
-62
-39
13
-2
19
53
-14
7
8
52
77
24
-9
51
3
-9
33
9
91
-10
28
-35
-6
-2
94
-15
0
2
-29
23
-6
-35
2
-5
4
-27
-10
0
31
-23
8
9
28
-55
80
-13
-76
-65
-48
23
28
14
99
-12
-56
90
9
-26
-15
-46
14
25
49
44
-123
-22
38
49
-42
38
34
97
-14
-55
98
-16
51
13
9
-12
-9
-40
-34
-9
-39
32
19
-80
-37
15
-13
-27
4
63
-44
-7
7
-42
83
-51
85
0
-64
-46
-80
-41
22
-16
13
-49
-15
-66
-27
-5
-37
0
31
-36
-46
-35
-12
-31
-2
-3
-10
21
-2
-10
-4
-4
-6
-18
3
5
-16
8
-3
-3
-5
-50
-9
33
0
-14
128
-5
-15
1
-1
-43
35
1
-2
-23
-13
8
13
0
13
-22
8
41
0
-5
-5
-28
-5
8
28
-21
8
-41
-13
20
32
-22
18
7
12
41
-14
5
-1
5
-3
5
22
0
0
-3
-35
4
1
0
25
3
-5
-10
20
-50
-16
-23
-12
14
6
66
-7
-56
-100
-12
1
-31
-54
-34
-31
-43
-5
31
22
0
14
30
-30
-112
0
2
60
60
-30
23
22
-59
22
-45
-95
0
52
-16
32
6
-46
45
-5
-36
15
-24
27
-30
-14
12
-8
-16
-72
-11
-34
-58
-22
47
-2
44
-14
15
7
-73
36
11
12
-9
-71
-2
-22
-10
-36
-8
-17
-4
-54
8
-93
99
68
-28
15
10
11
39
51
4
-23
-27
-26
49
-3
2
76
5
15
0
50
68
66
-10
-9
21
-46
41
-1
0
-19
-42
-33
-7
21
-5
20
-17
9
0
-4
15
-42
49
-5
55
-26
-25
39
4
50
43
30
5
6
32
37
0
35
0
50
48
-2
-8
6
3
9
72
-9
-8
-2
-33
-3
20
2
0
9
-5
0
-4
56
-23
35
-81
-92
-43
-24
33
-77
-53
-30
21
-26
60
21
1
-3
74
-5
6
-6
35
26
-37
-49
19
-45
-11
-3
-42
36
40
-84
31
-19
-7
5
12
-50
-23
-23
-1
-10
-59
-29
42
37
-3
-37
-14
-82
-5
-21
29
-21
27
33
40
-34
19
112
-40
-12
22
47
-97
-4
-37
-16
-64
-13
14
-46
-54
47
24
33
-30
-19
-84
-2
17
28
79
-2
-51
-2
80
-8
-2
20
10
-9
-8
1
-30
-41
28
-16
0
-18
13
16
-8
6
25
22
-46
0
-1
-3
-15
33
15
1
-12
19
13
-3
0
-16
7
-19
5
-8
-61
60
36
-6
5
-13
-5
3
-10
2
4
-54
25
0
-10
-1
-22
102
43
6
-1
31
2
25
0
-1
39
-1
-8
0
17
8
1
-2
0
-23
34
25
-147
-45
61
-1
-77
58
0
-50
20
-11
41
-15
19
-9
-29
-11
0
-49
15
12
21
-93
14
1
2
14
35
-44
5
14
-17
-55
31
8
-63
-6
22
-52
30
2
-27
-107
105
-12
-18
-17
-108
5
4
-16
5
8
-7
6
1
-14
-87
-49
-16
-30
5
47
41
10
54
-6
3
-6
-31
7
3
-66
35
7
-58
-8
-50
-31
24
38
31
0
-13
22
-34
-28
0
-10
-16
3
13
2
5
66
-5
-7
3
-8
-5
24
25
1
-5
4
41
-2
0
61
2
24
-16
49
0
-4
21
10
0
14
-15
5
28
2
3
1
-38
22
0
11
-83
87
5
15
6
-16
8
6
-1
-4
-1
18
76
9
0
-8
13
12
-10
42
-13
27
-9
-18
1
2
-6
-3
1
29
-24
-16
-31
-4
72
-31
-14
-20
-13
-21
13
16
43
1
26
-2
-57
76
-1
-67
3
7
4
-7
-87
72
70
-19
-35
-13
42
18
-57
24
-10
-22
41
7
-2
-50
16
3
-13
-10
0
1
-69
5
1
-50
12
-86
29
64
-25
51
-31
20
41
28
-11
21
-10
-1
-137
-30
14
52
44
26
-16
-5
20
-5
27
-42
-14
-84
-75
0
-21
5
-14
0
6
25
27
-6
0
-6
21
31
0
0
24
51
4
13
1
-2
32
11
8
5
9
-32
9
0
0
0
1
-13
4
0
-3
-5
2
-4
-1
5
-45
31
3
14
-3
14
5
-3
-3
1
59
-57
-7
-3
60
1
25
7
1
0
23
-2
4
-4
-7
1
35
3
1
0
-1
5
4
0
0
-5
-8
-16
0
36
34
-22
32
-10
-15
10
51
-20
11
33
59
30
-56
53
88
41
-34
-11
-20
46
-11
17
-42
12
28
-45
16
-49
-2
38
-24
5
-58
-21
30
-21
-41
-17
0
-2
12
27
37
27
51
14
-21
6
22
78
139
-4
2
-14
126
-8
11
-2
31
-34
-48
5
77
9
25
49
59
-10
9
66
30
-27
-9
-27
-34
48
42
10
0
41
51
-16
52
18
6
-51
21
-1
20
46
-7
53
74
3
48
-50
65
-1
-37
9
-14
-8
-13
-29
41
16
1
28
13
-20
33
-22
13
-7
-13
-25
58
43
-3
29
91
8
51
-8
25
52
-48
-8
49
-4
-16
102
11
38
60
40
-11
-20
-10
-41
19
-13
13
56
-54
80
-14
-15
21
-6
75
42
35
-4
53
42
6
-17
-5
51
51
52
-11
0
-50
27
-41
-3
30
43
51
27
-5
41
31
2
-75
18
18
17
70
108
-22
-24
-29
56
11
-7
-21
-4
8
14
3
18
8
-41
31
-49
0
-13
27
-11
104
-17
-10
-22
32
50
25
72
-36
-15
31
-16
-31
22
5
27
-4
-68
96
22
-9
49
12
-51
-47
-2
1
-13
74
6
13
8
-2
-7
3
2
5
-3
5
19
87
-4
-128
94
48
-16
9
10
63
-12
-14
40
70
-10
8
20
4
75
17
-59
-107
1
-13
62
-26
-1
2
35
58
-27
13
7
-13
-14
14
-8
0
29
63
-24
12
57
13
17
58
15
13
31
55
25
59
-60
65
16
14
49
-17
-17
-46
48
9
-7
-2
6
14
10
9
-57
70
22
-8
10
-9
21
-5
-27
-5
-15
-40
9
13
5
-3
16
54
18
-2
16
-62
-41
21
6
-32
-27
19
-15
8
-40
31
-72
-15
13
48
81
16
-3
3
-19
-24
92
61
-7
-9
5
-42
-3
0
-71
24
32
111
9
18
41
68
14
0
-11
29
129
16
-4
16
-40
-5
27
-6
-5
2
-7
-48
9
148
14
-21
-19
1
58
19
18
6
-9
4
1
18
-7
0
39
55
26
-20
-2
-29
-3
31
66
-56
-30
48
29
44
-52
-6
-42
-28
18
7
30
-9
-19
41
-6
25
39
-26
-10
-1
26
19
13
-32
3
14
35
5
-8
-4
-13
40
60
39
40
7
68
45
-31
-10
63
-4
26
21
-42
72
39
17
-70
-4
13
-2
26
33
20
5
26
45
9
24
83
-51
47
-19
41
2
32
-6
13
8
45
49
-5
-19
-14
23
-18
-31
-17
3
-31
10
46
-19
-1
-32
46
-47
42
4
59
3
-40
9
-4
59
-64
42
5
7
-9
-49
-5
9
1
-10
59
8
-8
0
23
37
41
-14
1
-9
6
24
69
4
-44
30
15
4
6
45
42
-42
35
-10
44
22
-2
2
0
-3
44
15
-43
-41
8
0
14
13
0
3
-12
0
-4
0
-28
80
-24
-1
16
0
43
79
-40
-2
8
23
-49
-21
-14
-37
3
76
1
-9
33
54
32
66
-6
-30
37
12
42
14
-13
31
1
2
2
1
46
-16
-8
0
25
-77
44
20
25
15
52
-8
-16
-24
-92
-24
174
26
29
-58
44
85
49
47
66
-65
-15
83
-16
-7
20
20
-12
35
-9
-6
59
-20
21
-5
32
-17
-21
-6
-30
3
22
58
46
65
31
-27
-12
29
14
67
21
22
-45
11
5
113
-84
3
57
104
-38
-58
-6
-32
14
-58
35
2
19
-35
-77
-5
-1
51
-59
-4
-9
0
88
24
6
59
-31
107
-8
23
19
-8
46
-5
24
53
14
23
-52
-25
43
-6
3
30
-13
-30
13
-5
44
16
-6
-8
-42
27
38
-4
-9
0
8
9
12
0
116
26
1
-15
-59
-10
12
4
70
14
70
-22
-9
13
24
-50
103
-23
25
-3
49
-25
-16
48
34
-99
66
59
-21
14
-22
-4
13
8
-2
8
-13
-3
29
1
-13
44
30
61
50
61
60
46
26
-4
46
96
-25
30
-13
23
-71
61
32
-9
15
-21
113
84
-13
91
-75
101
-13
44
-13
-31
11
-41
92
6
-16
86
18
8
42
2
-21
-65
30
9
-13
-46
-11
-14
-69
-55
98
-38
-4
33
26
43
-31
-2
-3
16
22
42
5
-68
32
-83
-14
-2
14
-12
-3
-5
6
15
-41
7
-3
-1
20
-55
21
19
-12
-6
45
4
1
-4
-34
58
-66
-5
4
47
-5
0
-12
-4
29
21
-17
-17
-6
-48
27
5
9
0
-42
44
29
-1
0
2
7
-13
1
0
-65
7
10
20
-55
78
-58
-6
83
-19
-4
48
64
-13
23
-61
87
-23
91
-20
23
-29
49
-7
29
-42
-7
15
7
-4
-3
31
75
-46
-7
8
8
14
-2
-1
48
-20
31
9
75
49
8
-60
77
27
75
147
-19
33
-7
-52
-10
-6
32
-16
19
-14
31
-37
-10
50
28
47
-8
-11
16
-18
-1
20
1
4
-9
2
32
0
72
101
-7
-46
-48
-114
-15
69
0
3
-47
47
49
19
7
-6
-33
6
6
0
43
74
3
17
6
8
17
13
-14
-1
131
-45
-59
-7
-2
8
8
3
5
1
-43
77
17
44
6
7
-27
10
-1
0
-7
14
52
-17
13
21
30
13
-2
0
15
77
23
-54
8
22
-8
21
30
0
3
41
52
9
20
1
3
-4
0
0
94
64
-46
-79
-28
-25
-22
22
23
-1
73
8
-42
59
34
-3
35
46
35
-4
22
10
-40
-1
-20
19
-11
6
-41
0
-36
50
58
-29
24
7
5
8
-30
0
8
35
4
43
19
31
-17
-13
14
-44
45
13
2
110
-36
53
11
-10
-26
21
-22
-43
22
65
30
-5
86
63
-1
-18
-56
-28
14
-5
34
3
-34
-13
2
15
15
48
8
-10
0
21
-5
16
-21
2
35
-70
-20
-17
0
53
34
-20
-37
0
3
41
-25
-19
0
-18
20
46
-1
1
1
21
-4
4
0
-3
5
3
-3
0
6
57
37
3
-1
97
29
-94
-4
0
10
-23
99
-8
-1
5
-42
7
5
0
34
-5
-13
0
1
-20
76
-3
-2
0
-1
44
-4
0
0
-2
-15
7
0
-6
35
47
-13
0
-10
18
-36
18
-29
0
1
21
15
25
5
0
-9
5
-2
0
13
27
54
10
-2
-9
-1
50
5
2
1
-1
7
-5
2
0
22
-6
0
0
19
-30
20
13
20
-18
-84
5
1
-15
22
-47
30
12
77
-21
25
-8
6
-8
2
7
-49
3
3
-21
-8
25
15
0
-1
-2
64
-3
-13
-1
-12
-3
7
-2
-13
35
-71
57
-42
22
97
-8
-26
10
-30
61
-58
5
8
61
-44
7
7
2
7
-92
23
24
49
67
-54
18
5
2
76
-41
-62
2
-2
-6
6
-8
6
0
44
42
54
-27
-61
0
63
-9
13
-17
0
26
-31
56
-3
-28
51
94
-10
0
-4
-13
42
25
-18
-19
-41
5
5
2
-31
-46
-19
75
-8
3
3
-13
-1
0
-13
76
51
52
-5
-27
33
79
81
23
13
3
7
-32
49
-27
18
18
66
0
22
56
42
16
-60
13
-40
53
-27
3
35
10
47
-36
-17
-5
12
28
-27
0
2
56
49
-16
75
30
55
83
39
-16
-2
4
37
-7
53
49
-13
-31
36
29
48
25
39
16
-20
76
14
50
52
-31
-48
57
12
-3
59
-22
72
40
50
-24
32
-7
13
42
-13
6
-34
67
-24
13
-2
-20
31
3
7
20
-12
9
0
-2
8
51
42
-43
0
-13
-51
-7
34
9
7
23
-12
-6
3
-2
-4
-7
-4
-2
31
85
-4
16
18
14
20
23
31
-9
31
-28
-53
-9
9
50
2
32
-24
-2
14
36
32
-34
0
6
-18
33
-8
3
32
-21
15
11
0
-6
-6
1
9
0
-9
5
-25
33
-9
-8
25
-19
46
4
10
38
-42
83
4
-16
51
25
-5
8
-10
50
-39
18
9
72
-93
-29
-5
1
0
22
19
3
3
-6
13
29
4
3
-52
12
63
8
71
7
19
23
46
-51
7
38
-42
77
11
9
-32
21
4
30
-5
31
-30
10
30
-44
-20
11
69
-22
-8
39
3
43
13
-12
8
17
-16
-8
33
24
-22
19
-7
60
12
-22
-5
5
-16
8
-14
31
-1
49
18
-9
13
0
-59
104
45
32
-8
-7
-46
41
1
0
-29
-11
59
-11
10
3
4
0
-1
0
-3
55
58
-21
-5
42
47
7
-5
-4
-41
-31
27
-26
-3
52
37
14
-2
2
17
49
-15
82
-13
-29
58
41
-9
0
56
56
31
-2
-8
1
-2
-25
10
8
-11
24
51
-21
23
44
27
-8
-15
-6
26
79
-39
-25
-19
8
-15
-10
51
0
7
43
-55
59
-21
8
-13
15
-6
-8
-52
8
-5
35
-6
-2
15
12
13
-2
34
38
7
-36
55
-7
90
-4
44
28
-74
64
23
21
28
8
-10
-6
56
21
55
65
27
17
67
-58
-6
48
1
14
46
14
32
-11
13
15
-12
-58
35
-6
-22
-11
-7
0
0
-6
46
41
-8
-3
0
21
-39
7
0
10
-22
-25
-17
0
2
29
9
14
-5
17
37
-1
8
1
0
-7
14
-5
0
-5
49
0
-16
0
-13
24
-16
5
2
-3
-10
16
7
-2
13
5
-14
-22
-3
10
5
41
-6
0
0
-4
6
-2
-1
8
13
84
6
4
-5
30
14
-3
1
8
41
-4
4
-2
-24
14
12
-5
-4
35
-5
-8
19
-1
-3
49
30
-6
10
3
-20
6
-3
0
-7
8
-11
88
-8
-2
24
-33
-26
24
1
12
56
-2
2
-1
-4
1
7
3
-56
-24
85
-19
24
3
-10
40
10
-6
85
5
-25
-34
-20
45
-34
35
-65
13
-22
27
-22
-29
-13
8
-21
19
60
10
9
13
0
101
34
-6
37
-3
25
10
-13
17
47
-49
-13
-3
-3
23
4
12
21
-2
-42
3
4
2
6
-14
2
2
36
30
-32
13
-8
40
-39
5
3
4
-6
-4
91
-16
-2
6
-3
-6
0
0
-34
84
-41
-9
18
31
-16
32
73
-14
-15
-22
45
58
3
-44
24
6
2
0
40
36
1
40
24
-5
-24
14
-5
4
-6
-4
-20
9
6
0
8
-7
-8
1
0
86
10
61
39
-33
116
38
-43
-10
-17
31
16
18
-51
-5
-27
74
76
0
23
42
22
43
-41
1
33
12
31
24
13
45
-55
6
-42
3
-22
5
20
-2
28
63
62
-37
17
123
22
52
-19
-10
14
49
23
22
69
9
76
16
-79
30
-24
-51
15
41
9
71
35
111
-5
39
-13
-3
44
-5
-64
4
35
20
33
-2
-4
-20
-22
-27
-7
24
31
-41
7
1
0
2
12
0
-2
-30
33
-13
-9
-1
3
-33
28
13
1
2
-13
13
-18
0
-1
0
-14
5
0
-3
-9
-19
-3
0
-10
-32
54
59
4
0
107
5
-17
-13
4
9
62
23
0
6
14
-1
14
0
3
47
77
35
-3
5
-25
-5
47
1
3
0
31
-1
0
-6
24
-2
-1
3
-33
47
21
35
20
41
7
-31
-20
20
5
109
56
-22
-6
2
-40
45
19
-1
7
26
63
-16
8
-3
65
20
-16
10
2
-4
43
31
19
5
10
-6
13
0
15
31
-12
43
-13
31
13
26
-32
62
8
36
-50
3
-22
76
52
21
9
-43
-14
23
7
36
-62
4
-10
33
66
-5
-8
41
-66
64
35
-1
-2
20
45
-11
-14
43
22
23
-6
32
-18
6
-1
0
-37
14
31
-22
2
-4
24
-13
8
1
-4
43
-41
15
4
0
-4
7
-2
1
-25
22
6
16
-7
3
-3
4
-3
-1
-2
-65
46
57
2
-26
8
30
-13
0
5
69
67
30
-16
7
6
-8
1
1
-1
-34
-52
13
24
-5
8
34
54
0
33
-25
-21
66
1
5
-3
-13
7
-2
30
68
38
31
-19
-6
21
0
-28
-2
46
-78
34
-32
4
7
38
-1
34
1
-7
-61
-31
22
58
2
10
40
19
12
45
-11
5
26
4
0
-28
12
16
-6
-13
23
-27
15
18
2
-45
13
66
-21
-13
22
-32
41
5
1
-16
29
-6
-2
-16
-31
-17
49
17
8
66
9
0
0
37
-8
-30
26
23
0
9
11
19
8
0
34
0
-49
-3
1
16
-3
-2
0
0
0
9
1
0
-2
-19
-23
0
0
0
0
-5
-7
0
0
6
-2
0
0
0
0
-41
35
2
0
-6
5
0
0
4
-19
-4
43
-4
5
42
24
-41
3
8
-32
2
1
1
14
-12
26
5
0
-4
-7
32
0
3
4
-9
-28
-3
0
8
12
66
15
0
4
12
3
2
0
1
12
-80
2
-1
0
-6
-78
4
-1
5
14
16
-13
-7
-2
41
2
-23
0
0
75
4
27
3
-3
53
-49
12
-8
-6
22
10
-5
8
2
21
8
19
0
-25
17
87
-20
-28
2
21
-41
19
14
-17
-75
58
33
-34
3
-33
44
-5
5
0
2
45
-29
8
14
33
-50
-33
17
0
21
6
-28
23
0
3
23
-47
15
0
10
1
45
52
0
0
-10
-30
-37
0
0
-52
-26
46
0
0
-33
-131
-23
0
0
13
-10
13
0
0
-53
-57
-50
0
0
-18
-15
-62
0
0
-49
11
-5
0
0
-11
19
-5
0
0
53
-45
28
0
0
-12
-2
30
0
0
13
42
-32
0
0
67
-102
-22
0
0
46
-16
-9
0
0
-8
-14
-3
0
0
-21
-38
-34
0
0
34
-24
15
0
0
-5
-46
-21
0
0
-12
-13
-51
0
0
-41
31
-3
0
0
-44
-20
34
0
0
-21
48
2
0
0
68
-5
-24
0
0
9
-28
-7
0
0
-3
59
-32
0
0
15
-7
-8
0
0
-4
77
13
0
0
6
-28
0
0
0
24
-3
-69
0
0
-16
12
-2
0
0
19
-39
-21
0
0
-20
-46
0
0
-24
21
-48
27
0
0
30
65
44
0
0
-36
24
53
0
0
-1
62
20
0
0
-22
-7
9
0
0
-20
36
50
0
0
-45
-36
-90
0
0
-48
-13
-8
0
0
-4
-16
-13
0
0
-9
10
20
0
0
-21
-2
-22
0
0
48
-29
-66
0
0
-32
-10
-18
0
0
34
44
-17
0
0
78
-110
2
0
0
-3
-61
-56
0
0
31
58
-11
0
0
22
-3
27
0
0
1
-50
3
0
0
61
-73
-2
0
0
-60
-83
27
0
0
-26
-4
9
0
0
46
5
-2
0
0
-5
-32
0
0
0
-22
-73
16
0
0
-5
27
-14
0
0
-54
2
1
0
0
-1
-39
-1
0
0
25
-2
25
0
0
9
-21
-6
0
0
-31
-13
0
0
0
-9
-13
2
0
13
16
8
93
0
0
23
4
-67
0
0
-7
-58
62
0
0
52
58
7
0
0
-66
43
58
0
0
15
-32
59
0
0
-61
59
41
0
0
7
-34
31
0
0
-14
19
17
0
0
-4
46
-7
0
0
-13
-15
5
0
0
-36
-50
0
0
0
39
49
2
0
0
-56
-52
38
0
0
-21
1
45
0
0
11
17
-22
0
0
6
-56
-67
0
0
46
-50
-68
0
0
-5
75
49
0
0
46
30
-5
0
0
-42
8
-5
0
0
-26
-31
54
0
0
27
-29
-35
0
0
28
31
0
0
0
-49
-1
-3
0
0
1
-8
0
0
0
6
19
-42
0
0
2
15
0
0
0
-13
-24
-6
0
0
-8
30
-2
0
0
-15
-13
0
0
0
34
-3
0
0
25
49
13
-28
0
0
19
42
-44
0
0
30
40
13
0
0
13
3
5
0
0
35
94
59
0
0
-41
20
-5
0
0
-5
-36
-3
0
0
66
-31
21
0
0
-6
40
-6
0
0
13
19
9
0
0
-46
9
45
0
0
-8
-7
6
0
0
34
0
-30
0
0
54
-28
33
0
0
30
13
-3
0
0
4
49
-8
0
0
-13
11
-2
0
0
5
15
14
0
0
69
14
-8
0
0
67
14
8
0
0
-29
3
-4
0
0
42
2
0
0
0
-22
8
0
0
0
13
3
0
0
0
-47
27
-18
0
0
-8
22
0
0
0
-20
-8
5
0
0
57
-7
0
0
0
-4
0
-1
0
0
-9
3
0
0
0
14
17
1
0
0
9
-31
0
0
-8
54
-12
0
0
0
-51
-14
-29
0
0
-38
25
22
0
0
80
-44
-40
0
0
9
-9
29
0
0
-28
-22
35
0
0
12
46
-44
0
0
-33
21
-22
0
0
-56
100
64
0
0
-39
41
-20
0
0
-25
-22
44
0
0
52
139
-41
0
0
36
1
-14
0
0
109
-82
-31
0
0
-8
34
-10
0
0
-13
-20
57
0
0
21
-29
-1
0
0
-18
-5
-26
0
0
1
87
17
0
0
-18
12
2
0
0
2
-27
0
0
0
1
-60
-14
0
0
3
-15
1
0
0
0
52
0
0
0
-19
-33
33
0
0
-22
12
8
0
0
-6
-30
-5
0
0
0
-1
-5
0
0
-41
28
28
0
0
6
-24
-1
0
0
14
-35
4
0
0
3
0
1
0
-10
14
-36
-43
0
0
8
6
-92
0
0
37
52
49
0
0
33
39
22
0
0
-42
6
-17
0
0
-35
16
55
0
0
40
14
7
0
0
2
32
55
0
0
-30
58
13
0
0
8
-52
34
0
0
130
-22
-15
0
0
-41
50
51
0
0
-44
-8
31
0
0
21
-14
-10
0
0
12
-60
64
0
0
-19
-56
-35
0
0
-12
25
-20
0
0
-42
-45
-3
0
0
-31
-4
-6
0
0
-21
-32
-2
0
0
-21
2
5
0
0
15
13
0
0
0
-6
-25
3
0
0
0
-50
0
0
0
-30
7
8
0
0
1
-9
0
0
0
14
-6
0
0
0
-19
2
0
0
0
-13
17
0
0
0
-7
14
2
0
0
9
1
0
0
0
-9
-3
-2
0
3
-49
-75
-14
0
0
8
104
-15
0
0
-8
84
40
0
0
36
115
112
0
0
5
5
-18
0
0
-28
12
-27
0
0
-30
13
-14
0
0
37
29
120
0
0
19
1
-57
0
0
41
36
-55
0
0
25
-80
-9
0
0
-4
5
-55
0
0
-22
-40
-13
0
0
13
19
3
0
0
-79
51
58
0
0
76
29
-20
0
0
-6
-24
2
0
0
-1
-5
17
0
0
-2
-6
-16
0
0
42
-23
-3
0
0
-5
5
5
0
0
-4
10
3
0
0
12
-41
5
0
0
-15
-14
5
0
0
42
20
-8
0
0
-3
4
-1
0
0
12
-12
1
0
0
-4
-5
0
0
0
1
-6
42
0
0
1
8
0
0
0
-41
19
-5
0
0
-2
12
0
0
19
5
-80
-20
0
0
-6
-7
-29
0
0
-22
-7
5
0
0
3
38
26
0
0
-44
64
-43
0
0
2
41
37
0
0
-7
90
-6
0
0
38
24
122
0
0
4
9
-5
0
0
40
-18
42
0
0
27
-23
12
0
0
-24
-19
-13
0
0
48
30
19
0
0
37
-59
-18
0
0
14
-58
-59
0
0
32
-37
0
0
0
63
-91
9
0
0
-19
18
0
0
0
7
2
-1
0
0
33
-8
1
0
0
39
-9
0
0
0
-18
9
0
0
0
-88
-9
0
0
0
28
14
0
0
0
-42
-3
2
0
0
4
0
-1
0
0
9
-6
5
0
0
34
-19
0
0
0
0
4
2
0
0
7
5
-2
0
0
0
13
0
0
0
1
9
1
0
-32
-4
-4
37
0
0
78
56
63
0
0
-3
-3
-68
0
0
-28
-36
-82
0
0
113
-51
-75
0
0
-30
12
11
0
0
-9
29
-37
0
0
-25
25
-83
0
0
-9
34
51
0
0
19
-19
-43
0
0
24
34
-13
0
0
12
-27
-47
0
0
-2
-42
17
0
0
-14
-51
5
0
0
28
-64
37
0
0
-46
-15
6
0
0
-12
-10
-6
0
0
-17
13
44
0
0
-5
-22
-19
0
0
17
-7
2
0
0
-76
-48
48
0
0
-25
42
3
0
0
-31
70
1
0
0
-5
31
-13
0
0
38
51
-10
0
0
12
-20
-14
0
0
22
-24
14
0
0
13
-9
5
0
0
45
49
3
0
0
41
0
5
0
0
30
-42
-2
0
0
8
-14
-3
0
-32
-47
-34
60
0
0
41
-17
-31
0
0
-75
-1
25
0
0
-86
-32
8
0
0
60
-30
-35
0
0
2
18
-33
0
0
35
5
23
0
0
-48
13
-45
0
0
-11
42
33
0
0
-33
-44
14
0
0
-31
-54
22
0
0
35
32
-44
0
0
13
1
-118
0
0
31
43
-19
0
0
46
-12
11
0
0
100
18
-29
0
0
-28
27
8
0
0
1
-29
3
0
0
-9
-30
-10
0
0
-12
-48
0
0
0
-21
-51
12
0
0
0
2
-2
0
0
-38
25
0
0
0
27
-15
-1
0
0
28
-33
12
0
0
12
-1
25
0
0
-22
-1
-19
0
0
49
-2
7
0
0
8
19
2
0
0
-32
15
-5
0
0
0
1
2
0
0
20
-23
-8
0
3
-56
-91
23
0
0
-43
71
-4
0
0
68
32
34
0
0
59
-20
33
0
0
-57
63
85
0
0
-38
27
21
0
0
-7
-53
-2
0
0
-28
41
8
0
0
33
11
-12
0
0
26
-4
35
0
0
-32
-48
37
0
0
25
1
-21
0
0
16
11
72
0
0
58
55
4
0
0
85
-37
-50
0
0
10
24
-72
0
0
-44
3
-43
0
0
-4
-2
-26
0
0
3
-5
4
0
0
21
42
-8
0
0
-39
-48
10
0
0
64
-25
5
0
0
-26
-13
8
0
0
1
6
0
0
0
-33
-2
1
0
0
8
6
4
0
0
8
-6
8
0
0
24
41
5
0
0
-57
1
5
0
0
7
-29
3
0
0
9
-11
-25
0
0
35
-28
0
0
-2
-33
-133
8
0
0
-19
38
34
0
0
43
42
-24
0
0
72
-55
16
0
0
-56
20
-10
0
0
25
62
19
0
0
93
-22
-8
0
0
-4
-13
34
0
0
-3
14
-93
0
0
-16
-22
-30
0
0
-44
106
27
0
0
-27
47
2
0
0
31
5
30
0
0
51
-3
-32
0
0
58
-71
16
0
0
1
19
10
0
0
-40
-31
4
0
0
41
7
-2
0
0
31
4
-1
0
0
35
44
2
0
0
-11
-1
-6
0
0
3
56
0
0
0
26
-1
-1
0
0
-55
66
-2
0
0
19
-4
-17
0
0
-8
-2
-7
0
0
-8
-4
21
0
0
-31
-11
-3
0
0
-39
14
-4
0
0
39
20
5
0
0
7
-24
0
0
0
-24
93
0
0
0
99
-118
-56
0
0
-25
-8
82
0
0
-77
38
13
0
0
-14
-4
-5
0
0
-53
80
-5
0
0
-47
26
24
0
0
-11
79
12
0
0
34
-6
8
0
0
49
-5
43
0
0
-58
14
-73
0
0
11
-15
-8
0
0
-19
-2
53
0
0
-3
6
29
0
0
11
-77
-9
0
0
55
-36
-4
0
0
52
-54
-30
0
0
91
-26
-62
0
0
-2
-18
6
0
0
73
8
9
0
0
-4
-13
-3
0
0
116
76
10
0
0
-4
5
18
0
0
18
-22
27
0
0
-8
26
0
0
0
-48
10
29
0
0
-5
-20
1
0
0
-14
16
13
0
0
18
-1
4
0
0
6
-70
17
0
0
-14
5
-22
0
0
43
45
8
0
0
2
47
-22
0
-7
52
-33
-4
0
0
-46
-21
-4
0
0
-109
-29
-65
0
0
-8
21
-66
0
0
-71
1
-25
0
0
-53
-15
-17
0
0
13
-9
9
0
0
-22
20
32
0
0
76
-6
38
0
0
-79
15
-6
0
0
9
-37
80
0
0
-17
73
43
0
0
24
10
-29
0
0
-49
-20
-16
0
0
-18
-44
35
0
0
57
34
-11
0
0
4
28
-29
0
0
-4
23
4
0
0
-4
-3
3
0
0
12
-16
0
0
0
-26
22
1
0
0
-25
9
0
0
0
18
-4
0
0
0
31
15
0
0
0
-24
8
-5
0
0
0
-16
18
0
0
14
5
-13
0
0
-31
13
1
0
0
24
-5
41
0
0
-2
-3
0
0
0
13
4
1
0
0
41
-1
5
0
25
-137
-7
42
0
0
-37
-75
58
0
0
-14
-6
-8
0
0
50
31
-18
0
0
-5
15
-86
0
0
48
4
-24
0
0
5
48
-48
0
0
-76
10
4
0
0
38
-32
3
0
0
13
14
43
0
0
-27
59
-44
0
0
-57
11
43
0
0
-3
4
-30
0
0
-7
22
-5
0
0
-55
-67
-3
0
0
5
-26
2
0
0
-40
39
-35
0
0
3
-19
7
0
0
-17
-7
-31
0
0
10
-5
0
0
0
69
5
-17
0
0
3
8
6
0
0
-23
-22
-9
0
0
-9
31
2
0
0
-25
20
1
0
0
0
6
-1
0
0
1
-6
5
0
0
8
4
1
0
0
23
-4
-12
0
0
0
-10
-27
0
0
83
-5
6
0
0
-5
7
0
0
53
-66
-77
-59
0
0
3
-63
68
0
0
0
-15
-4
0
0
48
52
-116
0
0
26
28
28
0
0
-57
-9
3
0
0
21
10
-1
0
0
53
41
-76
0
0
16
25
2
0
0
18
49
6
0
0
27
-34
76
0
0
-9
6
31
0
0
-5
30
-7
0
0
24
-55
-13
0
0
-21
103
-34
0
0
-82
-28
4
0
0
7
0
0
0
0
24
0
-4
0
0
1
0
0
0
0
4
1
-8
0
0
2
-4
0
0
0
41
-5
-2
0
0
-13
1
3
0
0
5
17
0
0
0
22
0
0
0
0
3
0
0
0
0
-8
-1
-13
0
0
-52
-4
0
0
0
-10
3
0
0
0
-24
14
0
0
0
-10
25
-1
0
0
-49
20
-1
0
-1
3
46
42
0
0
16
30
7
0
0
51
-58
72
0
0
-58
5
29
0
0
16
-25
2
0
0
-59
0
-19
0
0
-45
22
13
0
0
24
7
-14
0
0
66
92
9
0
0
13
43
7
0
0
49
26
-81
0
0
68
18
8
0
0
-54
23
-5
0
0
19
-67
-5
0
0
38
-82
-10
0
0
8
-36
0
0
0
-48
120
79
0
0
107
37
-23
0
0
-5
22
34
0
0
-5
-30
16
0
0
34
15
50
0
0
-14
22
-22
0
0
0
18
12
0
0
-8
-2
-1
0
0
24
-8
-4
0
0
-20
83
19
0
0
15
54
-48
0
0
0
-5
15
0
0
-21
62
-19
0
0
16
37
-63
0
0
-55
-33
-46
0
0
-46
22
-22
0
-89
3
57
76
0
0
-31
-31
-5
0
0
-11
3
-9
0
0
9
-68
-57
0
0
1
23
66
0
0
33
-49
41
0
0
-26
86
5
0
0
26
30
-8
0
0
40
-60
37
0
0
42
42
0
0
0
-26
5
-5
0
0
24
-3
-2
0
0
25
-75
2
0
0
-13
-51
-2
0
0
41
25
-2
0
0
8
-8
-2
0
0
51
111
31
0
0
-5
101
60
0
0
22
-4
-13
0
0
-17
-36
-4
0
0
-5
49
-27
0
0
62
7
35
0
0
23
-1
-5
0
0
-5
-56
-2
0
0
-49
-34
31
0
0
1
-10
0
0
0
49
-6
-1
0
0
-34
-50
-2
0
0
-5
27
-49
0
0
-2
-52
-13
0
0
9
-27
5
0
0
8
2
0
0
51
4
-22
-50
0
0
-10
30
-64
0
0
-6
4
-20
0
0
-43
-19
31
0
0
5
85
-18
0
0
69
1
-23
0
0
-43
22
-9
0
0
-9
31
21
0
0
-68
29
-8
0
0
9
9
7
0
0
-42
42
23
0
0
46
-60
0
0
0
10
52
5
0
0
-5
27
2
0
0
16
-9
-1
0
0
9
-30
0
0
0
23
-44
-75
0
0
0
53
-22
0
0
10
8
42
0
0
0
-8
23
0
0
-20
-1
10
0
0
21
-5
-34
0
0
-39
14
-1
0
0
3
-37
3
0
0
71
50
-26
0
0
4
5
22
0
0
-29
-15
6
0
0
20
-35
0
0
0
-51
18
90
0
0
-2
-3
-10
0
0
32
-9
20
0
0
10
-5
-1
0
58
-1
6
33
0
0
46
-25
8
0
0
-21
34
25
0
0
-58
-1
-22
0
0
21
-10
-14
0
0
28
36
-49
0
0
-53
17
5
0
0
6
-32
-5
0
0
26
-31
-14
0
0
34
14
0
0
0
-22
41
0
0
0
7
22
4
0
0
-6
9
0
0
0
18
32
-2
0
0
42
-16
0
0
0
45
-41
1
0
0
9
49
5
0
0
-8
21
9
0
0
-7
-4
12
0
0
75
-13
0
0
0
2
2
29
0
0
75
-16
-4
0
0
10
-29
3
0
0
29
-7
8
0
0
-47
33
-13
0
0
-41
2
-4
0
0
1
22
-7
0
0
1
-12
-1
0
0
-25
-3
6
0
0
-3
37
-3
0
0
-8
2
3
0
0
-13
40
3
0
-30
-5
0
-44
0
0
24
-4
1
0
0
38
49
-71
0
0
-14
4
13
0
0
-54
-14
18
0
0
9
-25
-1
0
0
21
9
3
0
0
2
23
0
0
0
27
0
24
0
0
-33
-18
3
0
0
-10
21
7
0
0
30
25
1
0
0
66
33
-1
0
0
-10
9
0
0
0
61
-41
5
0
0
-9
-15
-1
0
0
55
-6
-13
0
0
-3
5
16
0
0
-31
15
-12
0
0
8
-3
-7
0
0
-121
-14
13
0
0
-20
70
-20
0
0
14
-16
9
0
0
5
-14
0
0
0
-25
28
-63
0
0
6
42
-42
0
0
41
1
41
0
0
-25
5
8
0
0
-67
-11
-1
0
0
-2
-53
-12
0
0
-25
34
50
0
0
12
-2
-7
0
-58
-33
77
14
0
0
-13
-1
-13
0
0
-5
-23
13
0
0
1
20
-22
0
0
17
-13
0
0
0
5
-37
16
0
0
5
-31
0
0
0
-3
-59
3
0
0
-4
10
-3
0
0
5
30
1
0
0
-17
9
-3
0
0
-72
17
3
0
0
-9
-20
1
0
0
19
34
0
0
0
35
25
0
0
0
17
-7
5
0
0
-18
-42
-2
0
0
0
-7
-15
0
0
-29
32
-7
0
0
-30
-1
-15
0
0
33
34
-5
0
0
-10
-9
-6
0
0
0
-1
1
0
0
-22
18
2
0
0
4
37
15
0
0
-1
28
-1
0
0
-12
0
5
0
0
48
-1
-7
0
0
-37
-34
-27
0
0
-12
-8
10
0
0
-19
-6
-5
0
0
-22
41
0
0
-5
22
4
-21
0
0
-6
-13
-1
0
0
18
19
9
0
0
-3
28
-5
0
0
-1
31
-24
0
0
8
-14
8
0
0
-26
32
-24
0
0
-25
16
6
0
0
120
4
-24
0
0
-17
6
-2
0
0
6
24
-6
0
0
45
-10
-1
0
0
-29
22
0
0
0
8
-17
-8
0
0
-14
-32
5
0
0
-2
6
1
0
0
-49
2
-8
0
0
1
-3
-17
0
0
-5
-17
20
0
0
5
31
-2
0
0
-38
-13
19
0
0
-8
-2
10
0
0
-66
-40
2
0
0
9
-46
-5
0
0
-65
25
-8
0
0
14
-18
18
0
0
10
12
19
0
0
21
-22
1
0
0
49
-5
6
0
0
-5
-13
-8
0
0
-13
-10
-16
0
0
-16
74
4
0
-15
85
-69
-6
0
0
19
-3
-2
0
0
0
-1
0
0
0
-1
8
1
0
0
-18
0
3
0
0
8
-2
3
0
0
0
16
0
0
0
-32
9
0
0
0
-6
5
0
0
0
31
-15
0
0
0
6
7
3
0
0
48
-9
0
0
0
61
-5
-1
0
0
25
16
-1
0
0
-7
25
0
0
0
-27
59
0
0
0
7
1
1
0
0
0
2
-9
0
0
5
-2
-4
0
0
1
8
0
0
0
-20
-9
-1
0
0
1
3
0
0
0
-50
10
0
0
0
10
8
-3
0
0
-26
2
33
0
0
-2
-19
0
0
0
14
0
-10
0
0
13
4
5
0
0
-25
-27
8
0
0
-1
2
42
0
0
-4
4
0
0
0
-31
43
0
0
7
-10
52
-22
0
0
32
58
-15
0
0
-72
-10
3
0
0
2
-36
0
0
0
-14
-4
10
0
0
-9
-15
31
0
0
3
31
0
0
0
-3
68
1
0
0
5
18
-20
0
0
-42
50
0
0
0
22
29
18
0
0
-22
49
-1
0
0
18
15
43
0
0
15
-6
-1
0
0
65
-66
5
0
0
-44
-19
1
0
0
6
-35
36
0
0
-8
16
-22
0
0
-15
-26
1
0
0
41
-5
-1
0
0
5
-30
41
0
0
15
-20
-24
0
0
5
-13
-8
0
0
-14
6
16
0
0
24
56
15
0
0
8
-31
5
0
0
42
53
-16
0
0
-19
-32
27
0
0
73
45
-61
0
0
5
-40
20
0
0
0
73
10
0
0
-83
44
17
0
3
71
3
23
0
0
-22
-22
7
0
0
1
-25
-1
0
0
-2
-66
3
0
0
3
41
-3
0
0
2
19
0
0
0
8
-14
0
0
0
-8
-48
0
0
0
-24
6
-6
0
0
-5
26
0
0
0
24
28
-9
0
0
10
29
0
0
0
10
43
7
0
0
-19
28
0
0
0
9
42
0
0
0
-20
12
1
0
0
-11
-24
8
0
0
-39
-75
10
0
0
-37
-5
41
0
0
76
35
-13
0
0
18
29
2
0
0
11
26
-41
0
0
58
31
7
0
0
5
109
0
0
0
50
-19
-21
0
0
-26
41
10
0
0
-29
-61
18
0
0
63
-34
-3
0
0
-23
47
-4
0
0
-10
-27
25
0
0
-39
69
58
0
0
14
19
-9
0
9
-62
8
41
0
0
-34
5
-24
0
0
-16
60
7
0
0
59
28
1
0
0
29
-8
-7
0
0
-7
3
-14
0
0
-6
-35
-10
0
0
20
34
2
0
0
-4
1
-22
0
0
31
17
-7
0
0
55
20
-30
0
0
-14
69
-3
0
0
52
32
-1
0
0
-42
49
7
0
0
-43
22
4
0
0
-4
58
-4
0
0
-9
17
-5
0
0
6
12
27
0
0
2
-18
-16
0
0
-40
16
9
0
0
13
52
19
0
0
-12
-42
14
0
0
1
15
-13
0
0
-6
24
3
0
0
8
-24
-34
0
0
16
20
0
0
0
43
-4
61
0
0
-49
63
27
0
0
-65
-23
-14
0
0
35
-13
36
0
0
-12
-4
71
0
0
62
15
-7
0
6
53
-94
-1
0
0
-26
17
3
0
0
-8
-16
6
0
0
15
-49
-15
0
0
37
9
-2
0
0
0
9
-5
0
0
20
2
-1
0
0
34
54
18
0
0
31
20
3
0
0
-5
45
0
0
0
-14
-31
-1
0
0
15
69
-12
0
0
-30
6
0
0
0
29
35
0
0
0
37
-3
3
0
0
43
-46
-3
0
0
36
-6
-1
0
0
-2
18
13
0
0
2
19
-16
0
0
-40
21
-5
0
0
-63
14
2
0
0
4
19
15
0
0
8
14
-19
0
0
-8
-17
6
0
0
-49
6
33
0
0
34
22
-5
0
0
19
-29
14
0
0
-13
3
19
0
0
-41
-45
10
0
0
-2
-12
31
0
0
58
-17
66
0
0
29
-5
-1
0
-13
102
69
-22
0
0
-55
23
15
0
0
-31
-6
2
0
0
0
-33
-1
0
0
28
8
-20
0
0
5
10
1
0
0
45
19
-10
0
0
-1
4
0
0
0
-33
-19
5
0
0
-34
-40
-5
0
0
-41
93
-19
0
0
19
49
-5
0
0
-3
71
41
0
0
-62
9
0
0
0
39
54
1
0
0
-19
58
0
0
0
37
-47
-10
0
0
8
16
5
0
0
-19
44
-5
0
0
6
59
0
0
0
-26
-84
24
0
0
-12
-6
5
0
0
11
51
-18
0
0
2
-14
3
0
0
2
29
23
0
0
23
23
34
0
0
-44
-37
26
0
0
23
8
20
0
0
57
90
-22
0
0
15
54
-42
0
0
29
37
3
0
0
-5
5
49
0
-10
18
49
-6
0
0
-5
0
-1
0
0
-3
12
-1
0
0
-3
-7
1
0
0
18
53
0
0
0
-3
-16
0
0
0
1
5
0
0
0
-6
9
0
0
0
8
-6
-3
0
0
8
33
0
0
0
-4
17
5
0
0
-35
-22
-3
0
0
-15
53
-12
0
0
-13
-55
0
0
0
-11
68
0
0
0
-36
12
0
0
0
-21
15
4
0
0
-5
-42
-5
0
0
16
-9
3
0
0
-6
-4
-1
0
0
-80
14
-29
0
0
23
10
2
0
0
-13
42
-9
0
0
-5
-5
4
0
0
41
3
14
0
0
7
20
83
0
0
-9
-49
59
0
0
-26
12
-10
0
0
27
-68
-49
0
0
-18
-9
5
0
0
16
-5
-8
0
0
18
54
6
0
31
20
24
-5
0
0
-15
-3
5
0
0
24
45
5
0
0
30
-28
0
0
0
-14
-42
0
0
0
12
27
0
0
0
-12
49
-3
0
0
8
12
0
0
0
46
-49
-5
0
0
33
-7
0
0
0
50
-2
-5
0
0
47
15
0
0
0
-45
41
3
0
0
24
10
3
0
0
5
-1
-1
0
0
17
4
1
0
0
-74
-56
-42
0
0
-24
6
-24
0
0
2
16
-6
0
0
-14
-9
2
0
0
55
6
-14
0
0
8
-2
0
0
0
33
5
13
0
0
10
19
2
0
0
9
-43
37
0
0
-17
-8
16
0
0
-56
14
4
0
0
4
-8
-31
0
0
11
-59
16
0
0
-6
23
51
0
0
-42
64
46
0
0
-12
9
29
0
5
32
-44
-1
0
0
-42
5
-1
0
0
2
2
0
0
0
1
2
0
0
0
2
-14
0
0
0
3
-16
2
0
0
0
4
0
0
0
34
-14
0
0
0
40
-13
0
0
0
-5
31
0
0
0
14
8
0
0
0
43
23
3
0
0
53
-10
0
0
0
32
9
2
0
0
65
-3
-5
0
0
-2
43
-2
0
0
-71
8
-4
0
0
46
24
4
0
0
-1
-7
-1
0
0
34
9
6
0
0
-25
9
-7
0
0
-16
7
-2
0
0
-22
-2
4
0
0
9
23
0
0
0
-21
17
-8
0
0
52
41
-31
0
0
5
-5
4
0
0
-6
-8
-7
0
0
-8
28
13
0
0
1
12
15
0
0
0
-8
5
0
0
-22
12
18
3
40
-7
-11
25
0
-33
-34
-55
-46
0
-20
36
-6
29
0
-7
36
29
-69
0
12
-26
-17
55
0
4
-28
0
-23
0
13
10
20
3
0
-5
39
10
-12
0
6
11
-54
0
0
21
11
20
-21
0
14
-4
45
10
0
-33
9
21
15
0
10
5
24
5
0
-54
-41
70
-74
0
20
-14
13
-100
0
48
-4
80
0
0
54
-14
29
43
0
-8
-9
-11
-37
0
20
-40
-70
10
0
-78
-18
50
-36
0
-14
-20
-1
20
0
-75
4
8
42
0
-27
-18
40
-68
0
24
-45
-31
12
0
6
-75
9
50
0
13
-4
-28
-51
0
14
12
19
20
0
-13
-23
-42
34
0
-28
29
60
-29
0
-48
34
59
9
0
4
23
-49
41
0
38
-64
48
6
-13
-51
-5
37
10
0
-8
-19
-19
-56
0
72
64
25
-20
0
-15
56
41
1
0
-5
-17
47
-50
0
-33
-2
-13
-62
0
-5
17
11
13
0
48
26
-52
101
0
-40
-49
-48
36
0
-89
15
67
10
0
26
11
49
34
0
-26
-15
10
132
0
-24
-1
29
77
0
-32
-34
-28
-27
0
40
41
-53
-5
0
52
15
42
-8
0
4
34
-76
-37
0
-54
-71
27
-46
0
-66
-10
27
7
0
51
-51
32
-14
0
-21
-79
-22
15
0
-83
-57
-4
68
0
-21
-24
60
-9
0
-42
26
22
53
0
57
-93
-34
-9
0
-25
-33
-32
18
0
52
-20
91
-4
0
89
12
10
39
0
2
25
40
15
0
-35
-27
-35
-7
0
26
-33
-1
13
0
-15
16
31
0
33
-24
-36
-22
-43
0
-29
46
31
21
0
25
10
12
16
0
40
32
75
6
0
2
-56
29
0
0
-4
10
21
1
0
4
-21
4
4
0
-9
22
24
5
0
14
10
5
-93
0
-18
-6
23
-8
0
-12
-4
-87
11
0
-17
13
41
30
0
22
66
24
6
0
41
-47
-39
-46
0
17
6
12
6
0
-31
85
-57
-17
0
-23
15
27
-31
0
-16
42
-16
0
0
32
-45
4
19
0
10
-11
-5
-21
0
-35
-4
-70
27
0
-21
9
77
4
0
9
-32
8
-17
0
14
-44
9
-21
0
15
-35
13
40
0
64
42
46
-2
0
16
-43
-33
17
0
-54
-12
30
25
0
-7
25
44
3
0
30
31
50
0
0
-49
0
5
-13
0
-5
68
20
-1
-5
-23
-52
-23
-5
0
61
53
-28
5
0
45
-21
14
-5
0
-23
-6
-30
51
0
20
87
44
-5
0
-57
-29
-77
15
0
-7
-21
126
33
0
-74
60
47
49
0
-23
-23
-66
-11
0
78
61
-47
16
0
13
-12
22
-14
0
44
42
76
-42
0
76
49
2
-2
0
93
24
-29
33
0
-25
60
-56
7
0
5
15
50
22
0
-55
-13
30
-50
0
46
54
-95
37
0
-2
56
-10
-68
0
-21
83
-13
-17
0
-35
33
0
-8
0
-5
-41
-31
-12
0
-46
-13
1
0
0
12
-46
-1
-1
0
48
30
15
5
0
40
42
16
1
0
21
-12
24
0
0
-62
18
-13
0
0
45
15
-31
-19
0
-18
-1
-2
-4
0
20
37
-5
3
0
17
-23
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-30
1
4
-26
0
-72
-2
-23
-45
0
5
-56
25
-60
0
-93
-36
54
-26
0
-29
26
-59
-13
0
-28
20
-9
5
0
-6
-6
12
-9
0
-16
9
-80
13
0
-19
-46
-5
-12
0
11
6
-41
-23
0
24
-58
33
-28
0
24
-96
-77
-12
0
13
46
17
25
0
-54
3
34
30
0
28
-13
48
0
0
109
-17
-14
9
0
43
70
57
-52
0
51
28
48
52
0
30
-13
7
32
0
-27
19
78
54
0
50
40
1
14
0
34
-25
-48
-2
0
17
-19
-51
31
0
-8
12
-23
3
0
10
54
23
-14
0
-37
-1
41
5
0
40
-38
64
10
0
37
-14
-66
0
0
-15
58
89
-47
0
-19
30
-38
-5
0
-14
-24
47
-34
0
21
14
-9
-13
-22
-69
14
10
-41
0
-43
15
-1
-39
0
93
6
-35
1
0
-5
52
49
62
0
-55
49
15
114
0
-34
-16
-45
25
0
34
-75
22
23
0
31
-20
-75
7
0
5
-14
17
-72
0
-5
-112
4
-138
0
58
92
-31
-3
0
49
-6
2
-5
0
44
-12
0
-15
0
-24
18
-9
-50
0
6
-87
-4
-54
0
11
-47
-48
-35
0
-81
20
-35
13
0
-71
-75
29
19
0
34
-15
-38
6
0
56
69
-84
37
0
-30
-41
27
-7
0
35
-31
19
7
0
8
121
-1
-3
0
-46
0
-10
0
0
2
-13
9
18
0
-38
-33
27
-7
0
-18
31
54
-13
0
15
25
-5
-1
0
-48
42
19
20
0
-40
-40
2
-3
0
20
13
-1
5
0
-21
28
-12
-2
6
19
-52
10
24
0
-104
15
26
57
0
-44
-48
-5
-39
0
95
60
-72
-26
0
-112
-23
-48
-23
0
7
-3
0
74
0
-36
20
-15
-23
0
-15
-31
18
-6
0
-5
43
-20
73
0
88
-6
-21
-34
0
18
-101
-15
73
0
18
-7
1
-18
0
-27
23
13
-68
0
54
36
35
-39
0
-51
25
17
-18
0
-29
12
39
-30
0
-53
17
22
-31
0
-9
-21
41
7
0
52
-31
43
-9
0
56
23
0
-6
0
41
26
2
-7
0
46
-33
23
4
0
-56
-33
-4
34
0
47
45
-12
2
0
-99
9
1
-22
0
14
64
-10
15
0
-65
48
-49
5
0
78
6
-45
-2
0
-93
-18
74
30
0
-2
-22
21
0
0
2
74
18
0
0
71
14
-33
-3
-7
-2
-30
-6
-54
0
-93
-13
3
34
0
-84
-44
32
48
0
52
49
-35
-60
0
-8
-17
51
-49
0
-6
13
23
-88
0
23
-9
-22
-10
0
-46
-10
5
32
0
8
5
49
77
0
22
-25
13
-30
0
-14
87
-38
14
0
79
31
-20
6
0
13
-86
-10
-9
0
40
-27
-6
1
0
-38
21
-31
46
0
-5
34
-21
-38
0
45
53
-13
7
0
23
74
-20
-3
0
47
-4
44
-2
0
-28
53
52
-43
0
50
-27
15
4
0
-34
35
32
-2
0
3
6
-14
-2
0
-23
55
27
-2
0
-20
-8
15
-7
0
30
-46
27
3
0
-4
-28
-38
0
0
4
-30
-43
13
0
4
-53
-3
23
0
48
-53
-13
1
0
-2
33
-51
4
0
27
1
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-57
41
-1
-53
0
-67
-4
-66
43
0
18
-10
-19
22
0
85
-30
74
31
0
15
17
-21
-56
0
-13
-56
61
-51
0
-13
29
-2
-5
0
0
-18
-36
-5
0
37
17
-51
37
0
39
-6
42
-93
0
-13
14
-23
90
0
15
22
76
-1
0
109
25
44
-29
0
-13
0
52
61
0
19
46
93
31
0
58
26
31
-9
0
-84
40
13
-50
0
-81
88
-74
-23
0
-106
50
44
-31
0
-1
-17
19
22
0
-98
57
-17
24
0
-33
-56
-13
-58
0
-11
12
4
5
0
-17
29
-5
28
0
-10
-11
-11
-70
0
-25
-35
91
23
0
-29
20
-4
30
0
-86
58
54
17
0
24
13
5
25
0
22
-45
29
-43
0
48
10
-12
71
0
13
51
-28
-5
-34
-47
-17
-35
-9
0
-10
-66
-3
-16
0
3
-11
-23
12
0
77
17
-29
20
0
85
14
-13
16
0
-38
31
21
13
0
66
15
-54
10
0
-47
-13
57
2
0
-75
21
-23
-10
0
-19
23
5
-3
0
21
-30
-19
-7
0
-60
-2
-1
18
0
-13
7
-5
-1
0
-31
-4
-22
-8
0
36
-30
48
5
0
-15
1
-31
-4
0
47
-10
-6
-25
0
14
-10
-19
13
0
-5
72
69
-12
0
74
-7
-6
42
0
-22
15
1
-46
0
-35
23
27
-19
0
-17
30
-57
-27
0
57
-50
-19
-12
0
2
91
-26
9
0
-67
63
21
28
0
19
55
1
-7
0
40
156
36
5
0
-25
-44
48
41
0
32
-5
49
-61
0
10
-17
33
22
0
40
-25
13
5
-26
29
-12
2
-41
0
116
73
-59
60
0
-97
-41
45
-49
0
24
48
-43
-27
0
-60
-2
-7
54
0
-6
32
-45
15
0
-5
-16
-22
45
0
33
-6
-62
1
0
57
-29
11
-8
0
92
18
-28
24
0
17
5
38
-2
0
17
-12
7
-14
0
-3
-9
-12
49
0
58
82
0
6
0
70
9
45
-5
0
-10
-5
41
0
0
-28
-28
-56
26
0
-75
60
0
33
0
-45
-49
-36
55
0
92
12
25
17
0
-79
-11
-31
-50
0
49
3
13
-13
0
6
-65
-16
-10
0
-59
60
-7
-1
0
-29
-10
48
78
0
57
18
-39
-29
0
3
34
47
-13
0
35
58
-1
-2
0
23
31
-20
-14
0
49
-9
-69
17
0
15
47
-18
-28
0
32
72
15
-4
-19
13
3
34
-28
0
-117
33
23
30
0
36
41
-8
25
0
-9
70
78
30
0
7
18
-16
-5
0
-41
14
23
22
0
-20
-26
-8
10
0
45
21
60
4
0
-4
48
20
-16
0
30
33
3
1
0
-15
58
55
5
0
39
-22
-19
-13
0
77
31
-38
12
0
37
-14
-2
-6
0
2
-8
0
8
0
27
2
34
0
0
-67
-34
98
-69
0
10
79
-22
7
0
-72
50
3
-35
0
-20
24
6
32
0
-44
-9
-1
49
0
4
43
11
-49
0
0
17
-3
7
0
-40
27
0
2
0
40
13
50
58
0
38
-4
-37
0
0
-32
-13
13
-16
0
-92
-56
23
0
0
3
28
21
-13
0
-9
-20
8
-2
0
80
31
-2
-2
0
11
71
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
84
-44
-76
17
0
23
13
11
25
0
100
48
4
46
0
-44
58
-7
-25
0
-4
30
53
-69
0
-41
1
56
13
0
-20
46
50
25
0
29
-22
2
8
0
-6
14
49
24
0
-31
17
-66
17
0
37
43
7
-1
0
22
35
19
-12
0
-16
36
-12
-5
0
12
60
20
11
0
73
-34
26
-19
0
8
-11
47
5
0
-40
30
44
-2
0
68
-38
-11
-15
0
-53
80
36
26
0
1
15
42
-46
0
-34
10
30
61
0
-28
30
29
45
0
-20
-23
57
-21
0
-16
-12
89
30
0
-45
39
28
-13
0
-48
-33
-17
20
0
-11
-14
57
-13
0
46
16
-18
45
0
17
-25
75
-30
0
-62
31
-12
-25
0
-31
7
8
1
0
65
59
-44
-6
-10
115
48
-5
7
0
-57
8
-21
15
0
-7
24
7
6
0
-25
35
-23
-3
0
52
-71
24
-26
0
80
37
34
4
0
1
6
20
-2
0
17
29
0
-4
0
6
35
-34
-37
0
-82
-26
-2
67
0
56
62
0
6
0
12
48
31
21
0
-60
-9
112
49
0
15
-46
41
84
0
-24
7
-19
-3
0
11
-8
-5
-24
0
-20
19
13
86
0
-53
13
56
-26
0
168
58
-16
-92
0
21
57
21
-30
0
35
47
45
-11
0
-5
-18
-49
21
0
59
11
-4
-42
0
87
-1
49
8
0
12
-26
-24
46
0
-51
-8
66
-31
0
-33
30
26
45
0
33
24
21
23
0
-23
25
11
21
0
-18
-1
5
30
0
-7
3
1
-8
0
11
11
51
55
-32
95
48
25
-54
0
84
-4
21
32
0
-67
11
-26
9
0
-15
34
73
24
0
10
47
93
-21
0
33
31
-84
-2
0
17
-20
-22
34
0
88
29
-7
0
0
13
22
4
-54
0
-6
56
-6
7
0
-69
77
-43
1
0
68
51
43
25
0
-25
41
8
33
0
45
-5
-35
5
0
31
5
31
-85
0
-35
12
-8
-15
0
-61
-82
59
57
0
31
20
5
5
0
41
-43
-23
53
0
73
23
65
35
0
119
5
-47
-5
0
29
-13
45
-25
0
-56
-46
24
51
0
-3
-13
8
16
0
-57
15
-11
11
0
-59
22
15
0
0
-103
-16
48
13
0
-18
-22
19
5
0
14
-21
-2
82
0
55
-23
38
41
0
2
21
-72
50
0
-83
17
61
3
1
-45
38
13
2
0
2
-24
-5
-6
0
10
12
27
-12
0
49
5
60
1
0
6
9
-13
21
0
0
-27
18
0
0
-4
-6
-10
-3
0
12
31
-20
1
0
-27
66
81
-10
0
-12
72
13
1
0
2
55
12
22
0
36
10
30
8
0
74
-1
-41
41
0
-13
-22
43
-8
0
-14
-14
-42
-31
0
11
-7
4
7
0
-44
-9
50
28
0
-4
20
29
-13
0
-36
-2
-4
-17
0
-31
17
-36
-25
0
-12
-63
80
-3
0
30
-36
13
0
0
-42
57
12
0
0
-15
-13
47
-1
0
-40
-50
27
27
0
42
42
-14
56
0
16
-18
4
-21
0
44
-29
-16
2
0
-50
10
84
-49
0
37
29
25
20
0
43
-7
23
-17
0
-65
-3
43
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
-3
-8
50
6
-1
35
12
12
-24
8
-37
8
10
-3
19
54
-30
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-37
1
-57
32
27
3
-38
-19
-40
-31
-15
-22
-57
-18
22
-62
-22
19
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-9
-39
-54
-54
-108
3
-17
31
5
-84
22
87
31
-35
32
-14
42
22
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
85
-6
50
-26
39
-34
-33
-26
-26
71
108
-65
13
99
33
-68
8
35
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-24
5
-9
-19
-3
32
-59
6
7
20
23
22
54
1
30
48
-34
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
-19
-5
-58
11
-27
57
-23
8
82
-17
42
-53
13
-47
-29
30
73
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-57
-2
44
23
-25
5
-4
22
-8
11
12
17
-18
4
4
59
84
-16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-60
-38
81
-72
22
0
15
40
20
-8
-70
-60
-28
20
29
49
-23
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-21
41
0
-2
44
-1
55
-41
19
36
-16
0
37
30
65
-25
19
25
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-30
1
-22
-19
95
19
-44
-66
-11
-105
73
1
93
24
4
17
-68
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
5
15
-52
-39
-5
-9
63
-14
-8
13
-41
-49
77
9
61
-7
-68
4
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-92
1
-16
-5
3
1
45
31
33
-12
-68
1
63
22
34
9
21
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
26
27
32
-24
-5
-88
31
86
39
59
-35
-52
35
60
10
48
110
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
32
-24
11
35
-30
12
-16
-33
13
18
52
-36
-13
-15
26
-31
-67
13
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-40
46
-6
-8
41
22
-57
-16
0
11
40
-13
49
-43
-40
-13
3
9
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-42
25
24
27
28
65
-3
-10
1
-66
-1
136
-10
3
23
-11
-17
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
32
-15
-12
-4
35
7
-4
6
23
53
57
-1
52
-71
5
27
-33
38
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-32
4
-42
30
-62
-62
-48
16
-46
40
27
77
40
-5
-24
-4
28
29
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
17
7
52
-90
13
33
5
-23
-93
-84
20
49
62
7
22
49
-5
-32
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-14
16
-48
96
5
-16
57
9
29
19
-22
-90
49
28
-8
-40
9
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-14
3
-35
23
6
-65
60
5
105
-27
66
13
37
81
-29
58
44
65
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
7
-38
-58
-18
-8
28
-13
50
-73
23
-6
4
93
-13
-53
55
-28
8
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-84
29
-23
-16
8
-93
8
20
19
-27
80
-17
13
0
-1
-47
36
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
-60
-41
-8
-39
47
20
-116
-37
-24
-2
31
44
9
-64
-97
76
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-13
-27
13
12
6
2
83
-47
29
59
-26
33
1
-17
-6
17
46
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
-23
33
9
-51
-14
11
-65
20
-5
69
53
58
13
-55
-33
-74
-31
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
101
-16
35
-19
-14
-5
42
-11
25
-21
-10
48
-39
9
-31
19
42
48
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-91
43
-8
40
-45
-49
77
29
-1
-64
25
28
13
-17
71
53
-10
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
10
-6
13
22
93
-120
-8
46
15
-2
9
21
0
4
61
-2
7
25
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
4
-12
-9
22
12
-67
-23
-4
15
-31
77
-21
-2
50
2
42
16
31
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-86
44
41
25
-4
-30
-27
23
7
-3
61
8
2
5
25
-32
0
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-5
-5
34
-50
21
-13
39
-22
12
-56
8
-4
21
-2
65
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
47
26
-32
-32
0
-118
-14
13
-38
21
-48
-6
-5
19
-20
-30
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
28
35
-34
-46
17
29
-40
-17
-30
-26
15
-11
-24
108
-36
-44
-28
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-30
10
94
-48
-13
36
15
57
-33
27
-85
-15
-24
25
60
22
-38
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
50
56
-6
26
55
23
75
22
-54
-42
19
-23
42
55
7
-102
20
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
7
-16
-43
-28
-86
16
-64
-38
-113
36
9
42
15
43
-45
-38
8
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
19
-51
-39
72
90
-13
37
-3
-52
45
-81
19
6
-31
67
40
-7
-19
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-75
14
6
-5
-85
28
-62
-1
-13
55
16
-32
26
-26
-49
13
52
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-9
121
57
-59
-24
-20
59
100
18
51
-22
96
69
-24
8
-8
33
-33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
12
41
49
67
64
4
-1
32
-41
66
31
-1
21
-26
-23
-17
67
69
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
29
-18
15
-27
-26
13
66
-28
-7
-48
29
-26
1
24
-75
-12
-42
-13
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-44
57
-11
18
109
80
13
-18
29
-41
-14
66
-26
-2
-30
-5
5
10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
23
59
-13
-26
12
-13
7
47
-8
55
-23
-42
6
14
-2
43
-34
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
-7
1
68
8
-11
-43
20
-14
67
35
-41
-33
87
-14
-5
24
-12
16
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
38
85
-9
-9
-6
-7
-56
5
-11
34
32
-38
-8
-30
53
-61
-6
7
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-15
15
31
14
27
44
87
-106
13
113
84
62
-31
-2
0
32
40
8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
25
-15
-12
21
-80
-26
33
60
5
-7
15
-16
-38
-24
110
10
22
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
26
0
80
23
-46
52
-60
18
-23
-31
9
52
-30
7
-34
3
80
-54
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-39
29
34
-6
102
-40
19
-54
15
40
-49
-5
-39
13
8
8
7
-55
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
106
-103
-30
-21
24
25
8
37
38
-24
18
16
6
-9
34
4
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-22
18
7
-26
-5
8
54
-23
58
44
68
-82
-18
31
1
12
-7
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
24
30
26
29
-33
1
16
30
48
-49
56
28
64
-36
43
23
24
-59
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-15
-36
-2
-18
-85
-43
-36
-24
-6
-20
-62
-7
-6
-73
-111
-111
16
-28
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
41
18
-13
31
8
-16
56
3
5
-24
-5
10
-67
4
-14
-35
76
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-8
81
-31
20
3
-100
41
-23
-5
41
2
1
4
-8
14
1
20
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
33
-64
-55
14
-2
69
-13
33
-20
-34
-51
12
64
17
13
28
-21
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
26
15
-59
39
80
-10
50
33
-57
2
-6
-20
-13
32
-3
-44
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-48
18
24
-48
-2
-31
0
53
7
12
30
-43
-46
-17
-13
6
28
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-35
7
13
-16
17
-19
44
28
7
42
-45
42
-14
-1
69
-2
30
59
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
10
-6
-97
-13
-7
-17
31
2
-15
-15
-16
-37
39
-40
-44
-49
115
-84
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-97
4
30
-32
13
59
-26
36
-16
-14
-64
-2
7
-23
5
-99
-7
-7
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
15
21
1
-6
24
39
27
-9
31
11
-8
2
-1
-17
41
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
59
-9
16
16
22
55
5
-12
-2
35
19
53
8
1
12
8
-77
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-15
2
-9
-47
3
-14
-12
3
-15
-64
33
5
-6
-18
43
-57
-12
31
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-11
13
-33
20
-14
44
-76
-6
-68
-4
26
6
-18
-67
48
-8
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-47
67
12
4
-87
0
30
15
-61
28
83
-62
-66
23
0
54
14
22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
30
23
19
-23
-31
39
-29
31
82
-18
-13
-23
15
-32
-10
-13
-41
58
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-35
51
-83
-100
-1
-4
-47
66
6
-52
28
43
-21
11
13
43
11
-12
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-12
-7
17
10
42
-34
8
33
-3
47
28
62
53
-49
5
33
-5
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-40
88
-42
16
-9
-30
-14
-69
-30
49
-8
31
0
-71
76
-87
-30
-11
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-12
35
55
71
-32
38
-29
32
9
66
-17
98
-5
1
13
68
-6
58
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-22
3
37
-25
-18
20
20
49
47
121
-54
-22
-58
8
-13
2
12
-48
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-7
33
-58
-41
-3
54
27
-6
-19
32
26
-86
3
0
-16
-12
-12
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
60
68
-3
23
-9
-31
-21
21
12
20
-21
-22
9
46
-47
28
63
-2
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
39
-15
33
41
14
-23
1
25
43
23
10
-30
-17
-36
-4
29
-5
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
30
102
47
5
-5
-36
84
25
-18
39
21
28
25
-34
-94
91
13
46
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-20
-108
-39
49
72
-94
80
42
-1
-7
70
32
1
0
8
-16
5
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
108
28
53
-59
6
40
60
-32
-52
13
42
14
-32
-19
0
-73
79
41
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
22
43
47
-12
-19
31
42
18
-27
-31
9
-24
19
-24
21
-13
64
13
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-78
13
68
-48
-31
26
-28
14
104
-13
-23
27
5
-8
9
20
101
-2
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
12
97
-26
4
34
57
-22
-65
18
82
-112
-8
77
22
-6
18
41
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-32
-21
4
47
-34
-5
1
56
-57
11
20
74
-59
47
34
13
-15
53
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-75
3
39
26
-38
-8
-5
89
-93
31
22
27
22
-40
67
93
-13
-7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
29
-26
-10
30
-13
13
-20
13
-6
-15
-78
24
59
-4
1
29
17
3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
152
9
-26
-9
-50
11
-45
-52
4
33
9
-8
36
31
-46
-8
72
24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-14
-4
28
21
-35
-31
-34
-30
14
12
-41
9
15
18
21
17
24
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-107
12
-24
-26
28
5
30
-5
3
17
57
36
-84
57
8
62
11
20
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-12
101
-3
-10
-14
78
-35
-8
19
2
-48
94
-2
-7
1
28
15
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-7
13
-10
15
-31
50
-22
31
2
58
29
-22
3
7
18
14
24
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
37
2
-4
-26
12
41
22
13
39
-42
81
-3
-52
79
-8
-19
31
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-27
57
-6
14
-43
40
-29
35
9
28
-12
4
-46
51
-43
5
24
44
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
10
2
41
14
-1
30
-14
16
-31
15
33
12
-2
1
0
-21
-38
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
10
33
46
-9
31
42
15
-42
2
-50
-45
86
7
-4
-60
18
-5
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
7
-11
34
19
20
61
-53
41
22
-10
-25
66
-15
-16
-4
11
8
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
13
7
20
-44
19
-37
-32
2
-9
-5
35
5
69
1
-43
-24
33
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
23
13
13
31
2
17
59
-3
13
23
49
18
-55
-6
-27
-24
-15
47
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
15
40
-8
44
-2
-30
10
49
50
16
-60
91
22
34
7
50
-3
10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
11
50
1
86
-7
0
-91
32
-107
37
-62
-8
35
-43
-24
-30
15
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
17
53
48
-19
76
12
13
81
29
-26
97
-48
102
56
35
-18
94
47
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
112
-61
-16
4
21
23
3
6
-12
15
-43
21
-41
3
50
20
13
-72
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
64
-30
13
-66
8
6
7
66
18
83
70
2
-4
5
129
93
11
5
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
11
11
37
-28
15
-51
8
12
-18
-42
-18
45
74
-11
40
13
20
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
5
27
-11
74
-17
30
41
-19
9
45
-33
13
45
43
-76
-54
-32
33
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
32
-63
-4
22
4
-49
-34
13
-42
-20
62
-17
52
-18
2
22
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
54
-36
63
2
50
-5
59
-27
5
74
-6
-5
-25
-9
49
-21
23
22
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
1
-1
54
11
46
15
45
14
-9
47
7
12
35
-20
-5
48
6
51
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-9
84
26
57
83
-7
-3
6
4
-62
6
2
-18
-24
13
42
-22
29
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
44
40
37
51
0
-35
11
21
6
1
8
39
8
-30
5
-18
10
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
61
-17
7
-30
-4
54
10
44
27
8
-5
1
-13
22
-31
28
-8
49
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
-2
49
53
33
13
23
-58
7
13
-5
-18
9
31
42
17
15
-6
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
27
-40
8
24
-42
47
32
19
52
17
50
74
-37
75
25
92
-12
4
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
27
32
25
-10
0
22
4
54
-31
22
-47
-7
22
13
-1
8
14
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
58
7
38
31
63
47
-49
-14
-10
22
18
67
-18
-15
72
-3
-1
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-91
17
-26
-5
27
22
-43
-14
10
-26
-25
36
50
21
-5
17
40
-18
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
13
29
34
-13
51
149
26
21
-48
-47
30
47
-9
-34
-8
-56
39
74
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-43
76
50
-24
-23
25
-9
52
4
0
-13
53
-6
3
5
42
-1
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
43
19
13
16
-34
57
5
45
-3
-12
-47
68
-16
24
33
48
47
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
56
-86
89
-24
0
-8
56
21
8
-13
13
54
57
-4
9
1
24
5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
61
5
94
45
28
42
34
9
70
18
13
-1
13
2
-68
5
30
2
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
41
30
-10
-13
0
10
13
18
-1
-26
-10
-32
3
15
-3
-8
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
39
-6
106
16
-12
53
24
5
-3
61
-27
-26
-19
5
-32
47
23
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
-33
-41
103
-14
-2
75
6
25
7
-27
38
-49
27
0
8
9
51
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
6
8
61
49
25
85
22
-56
69
24
-33
-8
18
61
33
59
0
-42
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
6
19
-6
0
6
-15
13
1
0
-8
-5
-37
3
3
7
12
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
83
53
-20
-3
27
8
-30
-12
3
-28
53
-66
-2
17
14
45
-5
-93
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
48
7
-37
-2
5
-18
31
-21
-22
18
-37
31
0
5
-39
19
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
41
-77
48
20
7
-1
-32
46
-18
10
-17
54
14
17
-24
43
5
35
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-6
26
50
-5
-10
-30
44
56
49
45
22
20
-30
-2
22
-57
31
16
67
49
3
-42
32
-19
39
120
29
-6
15
13
-2
-21
-36
-62
52
75
-33
80
-4
-50
25
1
0
11
-46
-12
23
50
-34
-5
39
-42
-7
-25
47
-40
39
-64
-50
23
-24
-59
-81
16
-23
-30
-76
-67
-21
21
-84
-19
-145
18
-31
-72
-3
-15
-71
-31
24
51
3
90
25
-32
4
63
0
-67
79
-29
-32
95
4
-41
12
30
-41
-100
62
59
-22
2
8
-66
-25
42
7
49
-43
-31
-25
32
-89
49
-31
52
-15
72
-56
-31
29
6
9
52
44
-22
-2
34
-45
85
13
-43
-34
8
54
58
30
-32
-93
47
35
-50
26
13
-50
68
-43
0
41
-20
-41
-31
6
13
7
-28
-8
-25
-10
50
55
77
-7
-29
10
28
-13
54
-28
40
29
84
40
4
-23
38
47
8
6
11
29
-14
56
-5
29
-24
72
63
-21
13
0
5
44
1
48
-28
31
-92
6
11
-94
2
-59
19
78
-2
-65
63
-36
-17
67
-9
38
125
-38
-41
49
18
-80
-49
-34
-63
8
-35
-1
14
-110
-61
-89
31
29
44
-14
15
31
-84
44
-25
44
17
89
-120
79
5
-29
58
-44
19
-1
-17
9
-4
23
-26
-2
45
-44
48
-14
-47
-52
-34
-44
24
21
41
-23
-4
-13
67
-13
8
49
-94
31
-45
-1
-11
20
-24
-39
31
106
8
-50
-25
68
66
19
2
16
28
-5
66
-28
10
-5
1
-51
-19
-61
-41
-53
0
14
22
-4
-22
-2
8
-13
1
8
42
-31
-2
-1
-11
-19
-3
28
42
-60
-15
49
-8
9
13
65
65
41
-5
66
-24
9
52
12
-10
50
37
4
10
15
-20
2
-19
10
-26
-5
-15
53
56
-6
47
54
108
-8
58
-12
-40
-35
15
20
-18
-71
80
-48
-92
-6
-7
-30
-69
45
7
-3
16
-48
-24
-38
55
-130
90
-42
59
41
-48
46
22
17
-108
-99
37
-9
21
-8
13
0
-67
48
-11
28
-5
-39
73
-10
76
-30
101
78
-43
-42
-5
74
28
-1
20
-15
-58
75
36
68
8
-45
-1
0
55
4
43
87
-57
-81
4
-14
25
8
13
2
-1
45
-8
5
9
-7
13
33
-9
-34
-22
-35
18
-23
29
-9
-16
17
17
-4
-8
35
37
48
8
-61
-22
17
-28
24
101
-116
-18
9
-3
-8
-15
-2
0
0
23
37
13
46
-12
-43
16
-24
33
-16
5
-8
23
-38
1
-70
-35
53
79
51
54
11
23
10
-5
-45
-10
30
95
16
27
-61
50
-32
22
5
-4
58
47
31
-5
56
-37
-71
16
50
49
11
36
-21
28
39
-7
-32
3
29
-26
8
-12
32
-34
0
-27
22
5
-7
-17
17
13
-3
83
-24
-77
-14
-17
-4
-81
-22
84
-49
-2
-107
23
61
15
77
17
-5
48
-25
-103
71
5
102
7
68
27
80
2
4
17
-98
-5
29
24
27
31
0
-34
18
7
24
71
-1
2
-35
7
13
0
2
-46
-51
18
15
-9
52
14
-4
25
-12
-5
18
1
-17
-8
69
-18
23
-42
49
-8
32
25
-42
2
33
39
-48
5
19
-5
-24
4
8
13
-7
13
0
8
1
-3
-39
-20
2
23
13
-21
-10
-7
48
-20
-4
-5
19
35
5
-78
-53
-61
103
-10
18
30
-15
3
-22
59
27
3
38
27
39
23
5
-8
57
-14
-38
59
28
-5
-24
-44
10
49
17
2
-57
26
-32
1
1
-3
-5
-10
14
24
3
-34
29
5
58
-59
-49
-75
32
-6
-50
3
-4
5
-39
-10
16
-47
17
-21
26
-28
29
-15
-4
-24
92
72
-1
-85
4
24
24
-17
-10
33
-17
21
6
11
-9
53
4
30
41
30
11
-6
-7
-66
14
-61
27
47
58
35
-83
-15
-10
8
-31
6
0
64
-8
8
13
-53
-13
22
-4
49
8
30
-25
-28
-29
-8
-21
-23
28
-42
25
-44
45
20
-80
-15
-52
-13
20
-16
2
-8
91
11
4
24
12
12
0
0
0
-32
-10
30
8
9
30
-50
30
20
-50
-31
-16
34
14
54
60
68
49
65
-59
85
-31
18
14
-5
8
49
94
2
35
93
25
-6
106
7
55
15
69
135
-15
-51
4
14
40
-24
61
41
-42
-71
-85
66
-37
-4
56
44
93
13
-73
-91
-26
-24
-21
21
38
-3
10
-73
48
55
27
-4
64
-22
-59
-40
-41
20
74
59
-12
35
-53
5
38
21
30
-13
-22
-10
-8
18
-9
0
17
1
66
-6
53
-37
-23
-13
-2
-6
24
5
-14
28
-32
-53
-5
14
-9
17
29
2
-2
-1
1
-18
-1
4
23
-5
-23
-1
6
24
-69
2
8
33
-18
-44
30
-32
-27
39
5
16
-8
66
49
-25
-29
-10
3
-41
25
-12
10
-2
-1
-43
0
-2
2
8
2
0
0
65
51
-45
-11
-31
-3
-3
1
64
21
21
60
-5
-13
77
25
30
41
6
-66
-41
-26
39
7
72
-46
-19
30
39
26
-22
79
8
19
75
34
13
57
-8
61
40
-53
-16
-31
-53
-58
-48
5
-15
57
-9
-30
84
-20
-3
-20
-53
25
23
-42
-5
27
-93
-64
-71
9
-104
4
-22
65
-58
-25
-28
-27
-4
2
-40
-45
20
5
-3
-16
40
-13
-16
31
10
-5
3
8
75
30
43
-1
-31
-5
-5
19
4
2
-1
-1
15
-8
-5
5
-26
31
-17
5
-4
10
48
45
6
1
48
-6
-16
0
-3
10
3
3
13
-30
4
48
-21
1
41
21
33
-34
9
-6
47
-13
6
1
3
2
10
16
-17
15
-12
-21
-2
-8
-1
-8
8
-9
3
-2
1
-2
-3
-6
12
25
-38
-26
14
43
-8
16
-48
-72
20
5
23
77
8
45
-24
43
12
46
4
57
45
41
36
43
1
66
32
26
-46
60
70
-1
28
-60
19
1
-25
40
-25
-29
40
-77
22
-56
12
-22
67
38
23
-15
65
59
-17
-52
5
31
29
8
25
-11
3
0
-29
-23
-64
53
-29
52
12
-43
-17
33
42
5
49
6
14
-5
-14
-10
-5
31
-27
60
-13
8
-31
-10
-8
-8
102
11
-4
17
17
50
-37
-9
-8
4
13
-12
0
25
-7
4
39
0
-5
50
-48
-2
2
31
30
3
6
-2
-7
13
-31
13
-3
17
46
-30
-5
3
5
-13
-8
-2
-5
-43
79
-6
0
7
-2
-1
-39
14
2
5
-7
2
0
2
-2
-1
-5
-2
-1
1
-5
8
5
8
6
32
-21
24
39
53
21
5
-2
79
24
-10
-10
-35
-35
49
-2
1
-77
-3
-25
-12
-28
-41
-32
-50
-27
-22
32
7
-36
21
51
10
-48
15
-58
-27
38
-13
-23
-6
-8
26
13
-61
3
-22
-22
-3
-45
20
-7
-75
-27
-7
-30
39
10
17
-3
28
-13
-43
-9
-50
-32
55
7
-10
-8
-53
18
43
-80
19
-84
-6
10
-59
27
-39
32
-31
-4
69
-4
49
-61
2
85
28
-47
-52
19
5
29
27
-45
-1
-14
43
46
-75
13
-46
31
-17
27
8
-27
9
-59
-19
-2
-4
31
-22
-44
-1
22
3
-1
56
9
88
45
4
-31
-13
42
105
-22
-15
-6
41
43
-29
-20
-5
5
89
-48
38
-15
-6
13
-49
-26
10
8
67
-41
15
13
-19
7
0
2
0
33
-5
-10
-66
68
55
12
-9
-20
-70
29
-18
89
-16
25
-24
4
7
66
13
43
51
-86
31
-6
-21
24
16
9
-31
36
-1
29
-14
-44
0
-36
-14
-1
9
27
-12
-21
84
-85
-3
10
22
-77
5
-18
25
-61
-14
37
-3
-70
68
59
-22
-6
-58
47
51
30
-31
-44
-35
37
34
26
12
-22
-29
-46
-8
-49
-7
-121
47
8
-9
51
-59
8
-62
33
8
-12
-5
85
-31
-87
-8
3
-14
10
14
-16
2
48
50
-41
5
-5
10
-26
-1
25
1
5
28
17
2
-2
13
-3
12
-3
-1
-9
58
11
-4
-18
43
22
9
25
-1
-17
67
-3
35
-8
10
59
-19
-7
2
32
57
27
-9
4
14
-16
16
-5
-5
-8
-3
0
16
0
-3
-1
-13
23
0
47
-2
-58
-25
21
-41
-53
54
14
-5
34
16
32
-17
7
27
23
57
-35
-19
11
88
-21
9
-59
-48
-49
31
-42
97
58
-62
33
-21
-7
71
-94
-43
-20
-28
-25
-18
-23
-63
-57
89
-8
0
-5
3
51
-74
-29
56
-32
50
70
-72
-40
8
-91
4
65
0
45
-6
-35
42
38
-1
-20
-8
-53
-32
7
-26
-73
-23
60
26
106
23
-46
-60
-4
34
-76
-44
-1
-1
-22
9
-17
1
8
-34
61
-25
16
-3
19
41
46
-22
-5
32
5
13
7
5
-20
40
-6
2
1
26
22
0
-4
0
-6
14
-26
-30
2
-8
66
47
-9
6
19
-50
56
13
-9
13
-14
5
13
9
58
-30
41
-2
-6
-3
52
-14
-8
2
18
-15
1
-41
2
-4
4
-24
-10
0
-8
-48
-10
-6
6
-70
38
3
-14
43
32
-138
89
85
45
-8
47
15
26
-3
-31
-65
-8
-41
-31
15
-5
-56
102
70
-42
28
34
88
-12
-32
66
10
28
6
34
-76
9
-14
-63
-7
-18
-37
-89
-26
15
52
-95
-27
7
70
13
20
13
-56
-11
22
22
20
-10
-2
-64
-24
40
-48
7
24
15
-12
7
-8
-15
-2
-27
-14
-46
-26
-27
-14
-2
-2
65
-1
-1
-10
0
-10
-14
-6
-1
8
-31
25
-2
-3
-5
-53
-13
31
0
-18
52
-6
-13
1
-1
-37
42
1
-2
-22
-15
8
15
0
9
-28
21
35
0
5
8
-33
-5
6
41
-23
23
-24
-12
3
32
-28
5
6
21
8
-27
5
-1
5
35
7
27
1
0
-9
-32
4
1
0
25
1
-3
-10
-58
-33
-14
37
5
151
-18
28
-49
-99
-12
-37
25
20
-44
-51
-30
-33
17
37
-10
-2
9
47
-3
-46
-48
-24
23
59
-64
-4
67
15
18
-47
-23
-37
21
13
-56
-13
5
30
30
-57
32
63
39
26
-25
-5
-31
-36
105
65
-78
20
-13
8
10
7
14
-28
13
-74
60
-18
22
-26
-17
-24
49
27
8
-41
33
-75
17
0
15
-14
16
-13
5
33
-8
34
21
4
21
-47
-40
31
-4
9
22
26
13
0
37
-33
24
-56
-13
6
-31
29
-5
0
-8
-79
-8
-8
20
-4
5
-17
9
0
-63
11
54
20
-8
43
-16
-5
42
5
33
45
32
-20
2
20
50
-5
41
0
24
11
-13
-27
5
3
43
4
-8
-8
-1
-25
-14
18
2
0
7
-5
0
-4
-11
1
35
-120
-23
-7
11
5
-12
-84
74
22
-17
62
21
-47
7
29
46
13
-24
-53
24
15
-17
-5
-23
-4
-29
-44
33
21
4
1
-5
27
12
-46
-63
13
62
22
-33
-49
2
58
-37
-58
20
-46
-109
14
-14
8
-2
40
-49
44
-81
49
39
-15
-51
11
41
0
-63
45
-15
8
-43
38
-71
95
40
46
29
3
-66
-97
-12
-6
12
84
-2
-17
27
54
-24
-2
19
-41
-19
-9
2
-6
-30
19
-18
0
-18
41
1
-7
6
17
2
-43
0
-1
-3
11
30
13
1
-9
19
-13
-2
0
-13
-5
0
-5
-9
-49
40
7
-7
6
-13
5
0
-8
2
4
-42
23
4
-25
-1
-21
61
21
5
-3
31
2
21
0
-1
41
-1
-6
0
0
9
5
-3
0
51
16
-70
-66
-19
5
-84
-17
-53
24
-34
74
-32
39
5
5
17
31
-16
-1
67
42
16
66
-42
57
-34
-81
-27
-6
-9
16
14
-45
-85
45
50
-27
16
9
-22
13
5
-35
-68
69
5
50
-85
-83
-48
-10
-24
6
-13
3
18
-52
46
-69
-90
-14
23
76
-31
13
49
40
47
-31
13
-10
21
30
23
35
-58
111
-46
8
-25
-18
58
12
0
-14
34
-43
-76
0
-18
-1
-41
2
6
4
29
-7
-12
3
-8
-9
6
32
1
-14
-5
22
-2
0
8
-37
67
-13
42
0
-3
21
9
0
15
15
5
51
3
1
-2
-6
44
0
-12
5
55
19
22
-7
-17
5
6
-1
-4
-18
-34
35
4
0
-8
-7
14
-10
16
-15
35
-24
-20
1
2
-5
-3
1
54
90
-23
-41
-23
51
24
-69
-68
-7
-20
49
-15
37
0
41
-56
48
10
-2
-41
-22
-22
40
-6
-22
69
69
5
-25
7
8
25
-94
24
-8
8
56
2
-7
-22
5
-59
15
-70
5
-14
-42
-57
89
-6
-28
48
26
37
-29
62
-22
18
5
13
-10
7
6
-29
-96
-34
1
-42
45
29
-45
35
-29
2
18
-90
39
-22
2
-3
1
6
-16
0
7
13
29
-3
0
-5
30
25
1
0
-1
34
2
9
0
-2
23
3
8
5
5
-31
6
0
0
0
1
-13
4
0
-2
-4
8
-4
-1
5
-39
23
5
14
0
-4
-3
-2
-3
2
42
-59
-7
-3
42
-4
25
5
0
0
5
-3
3
-4
-6
2
-20
4
1
0
-2
4
4
0
0
-4
-7
-16
1
-27
-9
35
21
24
-22
-25
12
-28
-20
50
3
120
-115
68
68
83
-58
16
-31
7
19
-14
-23
6
19
-27
16
-16
-8
44
-50
38
-39
-13
14
16
-52
-43
0
24
32
28
87
44
41
-48
55
36
-5
47
61
-14
-35
0
106
-4
-15
12
30
67
-5
-39
6
10
26
21
71
-18
13
73
30
-67
35
-23
-17
43
24
10
0
44
-10
42
50
30
-19
-4
26
-9
-19
33
-16
40
44
-28
60
3
47
-26
-41
5
-13
28
-38
13
-21
50
-46
64
13
-29
-16
-5
8
-3
-19
-26
75
42
-3
-9
41
23
35
57
33
47
-29
-1
80
-25
5
-2
9
51
1
67
-58
-24
-31
56
90
11
13
59
-52
53
49
9
9
-13
47
34
16
-6
34
47
33
-37
-3
57
-39
72
35
-6
6
4
-22
-23
-17
58
41
13
32
49
49
-44
-38
60
27
-21
58
82
-13
-24
-80
76
36
-27
-30
7
-4
23
-7
9
-2
-4
-13
-39
0
-10
23
-22
111
-51
-3
-27
41
44
24
112
0
-62
46
-9
-30
3
-27
16
-1
-42
52
-15
42
53
18
-45
-54
-4
0
-35
-12
-3
5
8
8
3
4
3
0
8
-18
79
-33
-11
-102
-68
84
19
1
-43
53
3
23
3
74
59
25
9
7
100
-5
-45
-20
-3
-32
20
-7
18
-1
49
47
-53
42
7
-49
-12
21
0
0
-30
50
-6
-8
14
18
5
70
93
13
8
-29
1
21
-41
73
-4
27
27
-10
-15
0
58
-1
8
-5
45
-24
-19
-5
-34
38
37
-39
-2
1
1
-4
-29
-6
13
-85
58
27
45
40
-33
-3
45
-1
19
-38
-69
-13
6
30
-5
11
-13
9
-6
-13
-24
-52
-3
40
24
1
-6
3
-53
-37
43
61
-7
-8
-28
-4
-4
0
-6
-7
35
88
17
-23
3
38
17
0
-19
-10
93
43
-3
50
-14
9
10
-5
13
-4
20
-34
13
106
31
-8
-21
0
6
33
41
8
-6
-2
0
15
-7
0
10
-23
16
-36
40
-27
50
3
119
-49
-62
4
-8
24
-7
23
4
-2
42
6
88
-40
29
-17
-15
44
16
-9
-3
-1
-32
-40
-7
12
0
13
10
3
7
-4
49
18
-2
-6
48
-5
59
66
-41
-11
79
26
23
11
-23
5
40
49
-20
-7
63
-5
106
-14
27
20
93
44
4
24
20
-16
15
7
42
2
12
-21
6
7
38
46
-25
16
-9
29
-27
-18
-29
-8
36
-11
94
-42
1
-33
-3
-20
26
5
32
23
-14
-5
-4
33
-4
77
13
7
-9
-39
-5
8
1
-7
11
13
-13
0
-5
-15
48
-5
1
3
22
21
48
4
-5
11
-42
8
6
27
30
-33
18
-8
27
10
3
2
0
-10
46
6
-44
-42
8
0
17
12
0
-3
-14
-12
-10
0
-69
27
-59
9
-3
14
40
75
-42
-4
16
9
-41
-16
-13
-42
41
35
-16
-8
15
33
2
51
-12
-8
58
20
51
17
-9
17
0
8
2
1
19
-25
-15
0
29
-38
12
-2
14
-13
22
5
-9
-18
-58
-24
76
27
4
-83
1
58
39
43
24
-4
-37
64
2
14
30
-7
-2
21
-18
7
49
-17
14
-4
23
-17
-10
-8
0
7
3
19
75
51
70
-38
-55
30
76
-51
-11
40
-75
32
4
48
-66
4
91
-1
-35
-90
-5
18
-13
-36
29
2
-26
-12
-6
0
-1
41
-51
1
-8
0
84
-21
73
8
-57
82
-9
-2
14
-8
30
4
21
21
9
2
-44
1
53
-6
2
29
-39
-53
17
14
-9
7
-4
-8
-30
23
21
-14
-8
0
12
7
12
0
76
53
33
8
-18
-31
-15
35
22
64
74
12
14
-44
-28
-44
66
51
16
9
16
13
-27
93
30
-111
-3
49
-33
10
-4
3
-4
3
-4
5
-3
-3
31
0
26
94
95
51
-6
52
50
20
2
-16
63
72
-18
14
16
14
-75
-3
42
19
74
-28
66
101
23
106
-25
123
-19
24
2
-13
36
11
66
-5
-29
58
14
8
32
-39
-37
-86
14
27
6
-9
30
-10
-51
-27
63
22
-6
67
-43
55
-33
-2
9
-43
-8
53
4
-63
25
-70
2
-2
30
-16
14
0
6
17
-43
23
-4
-1
5
8
1
9
-12
-44
29
0
1
-4
-10
32
-3
1
4
30
-32
-1
-7
-4
25
-9
-21
-17
-5
-48
22
-12
8
0
-15
5
25
-1
0
1
4
-14
1
0
-83
21
7
77
-51
60
27
-11
10
-28
62
50
39
-1
40
-65
113
-46
38
-19
-24
-47
52
-22
5
-33
17
70
-26
-6
-1
24
58
-42
-7
5
-5
17
-3
-5
26
57
-12
-12
74
19
7
-19
60
-9
16
102
17
28
-25
-13
-20
3
8
5
-2
63
-6
-32
-7
7
15
39
-13
-6
5
6
13
1
-6
6
-3
-4
34
0
88
-34
-25
-73
-45
-123
91
44
-15
3
35
-18
15
13
8
-50
-52
0
2
0
53
29
-45
39
0
-5
45
8
-10
-1
129
-31
-32
0
0
5
8
0
8
1
-56
81
5
16
5
-5
-23
53
-1
0
-46
30
53
-14
8
-5
47
10
-3
0
-4
76
-7
-50
10
27
-6
-3
7
0
16
22
44
9
14
1
3
-2
0
0
72
-40
-40
-54
-25
-17
24
50
15
-1
-18
-51
0
67
13
-5
-15
20
49
-4
76
1
-42
4
-20
20
-7
-11
-41
0
-49
-8
58
-8
29
7
0
0
-41
0
41
70
-13
39
-45
3
0
-6
16
-28
-50
43
32
122
-23
39
2
5
1
13
-13
-26
27
82
13
-5
85
21
2
-18
-74
10
-20
-20
15
2
-24
-2
1
13
14
1
13
-16
-12
26
30
21
-16
2
-3
-23
-8
-15
0
50
44
-42
-41
0
3
4
-25
-14
0
0
-4
46
-2
1
1
23
-3
3
0
-3
-7
1
-3
0
6
52
17
4
-3
60
-16
-95
-4
0
47
-29
75
-5
-1
-4
-26
13
6
0
27
-7
-16
-1
1
-14
15
9
-2
0
-1
45
2
0
0
-2
-15
9
-1
-7
32
55
-15
-3
-10
14
-23
19
-35
0
-1
4
20
44
8
2
1
5
-4
0
9
-10
53
-39
-2
-5
1
72
15
3
1
0
-4
-4
2
0
-18
-8
0
0
18
-24
21
37
20
12
-53
-9
-3
-10
24
-49
19
18
84
-9
39
-8
19
-8
2
21
-19
4
-1
-15
-5
14
9
-4
-1
-2
56
0
-15
-2
-16
-1
7
3
-72
35
-14
81
-28
-32
69
18
-1
16
-34
16
-31
15
6
38
1
22
-6
2
38
-76
24
-64
49
46
-41
2
7
3
32
-20
-57
-15
0
-7
6
-13
6
0
41
68
31
-41
-49
37
-1
-7
7
-18
30
60
4
18
-3
-29
49
44
-14
0
24
0
23
22
0
-30
8
13
-13
2
-1
-17
5
73
-8
3
4
-12
-1
0
-26
-5
-74
152
4
-40
-13
57
50
31
-34
-1
8
16
-4
-5
-4
63
46
-2
56
20
8
26
-10
18
-46
25
-52
2
30
8
-27
54
-21
-5
9
8
-20
0
5
14
-25
13
48
-9
32
-14
15
5
14
77
3
4
54
24
-57
38
22
24
22
68
-8
50
13
24
-22
32
27
-34
4
5
-4
21
4
-18
47
52
48
-24
31
-15
6
30
-13
3
-43
45
-12
9
-2
-1
97
8
8
0
-22
-4
6
-3
-10
47
10
-47
-2
22
-9
-5
27
8
7
22
-17
-3
3
-2
-4
-8
-5
-2
-20
96
4
19
17
8
32
47
25
-9
27
-48
-21
-12
9
43
-13
20
-25
0
13
28
59
-13
3
5
-2
23
-3
5
23
-3
-2
9
0
-6
-4
-14
7
0
-5
54
-67
-101
-10
-58
109
-42
36
3
-13
0
6
27
7
8
108
5
-18
7
4
18
8
61
6
72
-79
-24
-40
1
1
24
34
-8
2
-6
4
22
2
3
-41
27
112
-20
67
51
-7
34
-11
-42
-9
23
-12
23
24
-5
0
47
-21
42
-16
48
-52
35
36
-41
-39
13
86
-27
-4
-17
14
76
21
-13
9
13
6
-8
1
-3
-32
-43
-5
53
31
-33
0
-2
7
18
1
0
-1
33
29
-8
19
0
-47
65
22
31
-8
-7
-42
18
2
0
-3
-12
-13
-20
15
4
4
0
-3
0
-3
21
0
6
2
21
28
-41
2
0
-2
1
43
-18
1
22
25
19
4
1
18
5
-11
57
-13
-33
54
21
-8
0
48
48
5
0
-7
1
-2
-25
10
8
59
-7
22
-12
7
24
-27
49
-9
-6
10
17
31
-29
-29
2
-51
-14
26
0
49
57
-19
71
-30
-2
42
-16
19
-7
-1
3
6
43
-8
-7
5
9
13
-2
-16
34
5
13
64
32
102
10
-5
22
-26
44
-25
28
22
6
-8
-36
46
27
66
80
-28
41
44
-64
-18
59
31
6
47
21
72
41
39
0
-3
-19
-3
-6
-18
-49
31
-19
0
5
22
42
-12
-3
0
5
-48
5
0
-9
-25
-34
-19
0
-3
41
9
22
-5
17
25
-1
8
1
0
-7
13
-1
0
-5
41
0
-19
0
-15
39
-17
2
2
-6
-8
7
8
0
8
3
25
-22
-3
5
3
30
-4
0
0
-5
6
-2
-1
5
4
54
6
4
-5
25
10
-1
1
8
42
-4
5
-2
-20
22
4
-29
-4
27
-41
10
32
-1
-3
-9
20
-25
10
8
-13
-2
-7
0
-7
-29
5
58
-8
1
22
-41
-49
25
1
16
59
13
2
1
-5
1
10
2
-60
13
29
23
-5
1
-47
72
18
-10
42
-35
-50
-18
-17
42
-16
13
-35
13
-24
34
22
0
-14
6
-6
51
42
3
7
-4
17
32
32
-10
50
-4
22
7
-10
-9
88
-63
-25
9
-15
-16
10
10
15
10
5
45
7
-1
13
-15
5
2
14
16
-15
-34
-9
76
-37
4
-1
4
-5
-5
60
-1
-1
6
-2
-1
0
0
-10
19
-6
21
10
13
-42
64
29
-23
-5
-4
6
45
-4
-20
41
5
3
0
11
-13
-5
28
31
-22
0
17
-22
4
1
18
-41
15
5
0
8
-6
-7
1
28
22
-28
14
9
-13
79
36
-94
-6
8
51
16
61
-43
-3
-54
8
91
0
-34
69
16
44
-15
0
33
84
14
25
7
67
-7
19
-42
3
-9
-7
13
-2
3
18
14
12
5
71
-46
26
11
26
5
64
24
69
56
15
77
15
-58
23
-52
20
11
7
40
63
49
22
31
35
-6
66
72
-33
-18
3
1
36
31
2
-5
-29
-58
-25
-6
41
43
-44
2
1
0
9
25
-4
-2
-27
42
-33
-25
-1
-1
-34
10
7
0
2
-21
15
-22
0
-1
1
-25
5
0
-3
-8
-14
1
0
-8
-38
119
55
4
-13
57
9
-22
-13
3
15
52
13
0
-6
-4
2
16
0
-1
42
23
27
-3
4
-22
23
48
1
3
0
27
-4
0
-3
24
-7
3
2
-30
41
-6
-9
13
14
-12
-33
18
24
5
73
12
-51
-5
2
-50
9
19
0
2
27
41
12
6
-3
44
10
13
9
2
-5
8
10
20
5
9
-25
6
-2
41
63
60
7
13
1
-16
76
-48
59
6
5
-31
41
-21
54
43
-47
63
-29
-10
30
76
17
-34
4
-2
50
75
-1
-8
44
-70
83
33
0
2
-9
18
12
-7
32
-2
47
-5
34
-12
6
-2
0
-9
28
30
-14
2
-4
23
-13
9
1
7
7
-10
12
4
0
-1
8
-1
1
-25
20
-23
21
-7
3
-3
1
-5
-1
-5
-32
48
12
2
-37
8
42
-12
0
4
41
2
31
-22
5
7
-9
-1
1
-12
-32
32
-5
24
-3
7
8
56
0
19
-41
30
44
1
5
-3
-8
7
-2
57
78
12
-25
-17
-6
19
-24
-27
-2
30
-64
46
-20
4
7
-21
-8
9
1
-18
-35
29
-22
46
1
24
-27
19
14
33
-26
5
46
5
0
-18
5
1
-6
-12
-17
-43
-2
26
5
-43
-1
62
-18
-31
34
-25
4
9
0
9
8
-22
-2
-15
4
20
48
9
6
49
38
-1
-7
49
-27
4
-22
-35
0
9
5
31
6
0
39
-10
-53
-3
0
13
-1
-2
0
0
0
10
1
0
-2
-14
-24
1
0
0
0
-5
-9
0
0
4
-4
0
0
0
1
-37
41
2
0
-13
6
0
0
-2
-13
-17
41
-4
5
42
7
-42
3
10
-34
5
0
1
-3
8
12
5
0
-4
-7
17
0
3
4
-9
-11
-4
0
8
13
59
13
0
4
9
3
2
0
0
31
-73
-5
-1
1
-17
-63
0
-1
5
29
15
-8
0
-1
6
8
-24
0
0
41
2
25
3
-3
60
-42
11
-1
-6
22
13
-6
8
2
12
8
37
-1
-31
-35
87
-13
-24
-5
27
23
-22
15
0
-75
43
62
-30
3
19
7
-5
7
0
50
7
12
13
13
30
4
-25
24
0
16
12
-44
13
0
0
-30
-42
14
2
33
-29
4
15
0
0
1
23
32
0
0
8
-12
-76
0
0
5
-91
25
0
0
11
6
-9
0
0
-9
76
22
0
0
4
-37
3
0
0
27
-6
-42
0
0
-13
-15
-2
0
0
-1
-31
13
0
0
3
41
1
0
0
-8
37
6
0
0
34
21
-5
0
0
-3
-23
0
0
0
-25
5
-3
0
0
13
-17
-3
0
0
84
-49
-18
0
0
8
23
-10
0
0
-9
5
-5
0
0
-24
7
0
0
0
-3
-15
4
0
0
-5
8
8
0
0
10
-1
0
0
0
-6
2
0
0
0
6
-9
-18
0
0
0
-4
-6
0
0
-1
17
0
0
0
3
0
0
0
0
-1
-1
1
0
0
5
-3
0
0
0
-13
-14
0
0
0
-1
0
0
0
-55
71
18
13
0
0
31
46
12
0
0
-2
-9
42
0
0
-18
9
-8
0
0
13
58
69
0
0
-11
-47
2
0
0
-47
3
-53
0
0
25
-33
-27
0
0
9
-48
-31
0
0
-15
-13
16
0
0
-44
13
0
0
0
-27
17
-6
0
0
-29
-1
5
0
0
-19
8
0
0
0
-8
-13
3
0
0
10
2
-16
0
0
-7
42
-4
0
0
-2
-22
2
0
0
-2
8
1
0
0
-1
-5
-1
0
0
-8
-4
0
0
0
0
-29
1
0
0
0
-2
-1
0
0
0
1
0
0
0
-12
9
-1
0
0
0
0
0
0
0
-3
0
0
0
0
1
-8
0
0
0
10
-1
0
0
0
1
0
0
0
0
-2
1
0
0
0
-2
-2
0
0
47
-20
-14
-11
0
0
-24
-41
-6
0
0
-28
25
33
0
0
50
23
0
0
0
-6
11
4
0
0
4
-31
13
0
0
-36
5
23
0
0
21
-5
5
0
0
8
1
-32
0
0
31
1
-8
0
0
42
4
18
0
0
32
-22
-3
0
0
26
-7
2
0
0
-27
2
0
0
0
-9
16
4
0
0
-12
25
-13
0
0
-9
14
-19
0
0
1
-5
-4
0
0
-7
8
3
0
0
1
7
0
0
0
-16
7
0
0
0
0
-5
2
0
0
2
-6
-2
0
0
3
14
0
0
0
-8
8
-4
0
0
0
1
0
0
0
-1
0
-1
0
0
1
0
0
0
0
-3
-1
0
0
0
-2
1
-1
0
0
-3
-4
0
0
0
0
0
0
0
30
40
-43
-18
0
0
27
9
-5
0
0
-15
16
4
0
0
-25
48
27
0
0
107
14
-6
0
0
7
32
-5
0
0
-9
-18
13
0
0
6
-4
-3
0
0
-6
-26
-2
0
0
-10
-13
-7
0
0
-25
-1
2
0
0
-29
7
0
0
0
34
0
0
0
0
13
-4
0
0
0
2
2
0
0
0
7
6
-2
0
0
-3
-1
1
0
0
0
23
13
0
0
2
0
0
0
0
6
8
0
0
0
-5
5
-1
0
0
0
-10
0
0
0
-8
1
0
0
0
-1
5
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
-1
2
0
0
0
23
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-42
-5
-2
-44
0
0
-41
-77
-22
0
0
14
-20
5
0
0
-24
-41
10
0
0
6
17
56
0
0
7
-4
-49
0
0
-55
80
18
0
0
-69
-18
12
0
0
15
48
-13
0
0
-39
-29
13
0
0
8
-25
24
0
0
5
6
-1
0
0
-6
-33
-10
0
0
21
-6
0
0
0
-13
-3
13
0
0
2
-6
39
0
0
41
1
-29
0
0
-6
-2
-2
0
0
2
8
0
0
0
0
3
0
0
0
-5
-8
-8
0
0
0
7
-2
0
0
2
8
-3
0
0
0
1
0
0
0
4
8
-8
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
2
0
0
0
5
0
0
0
-1
0
0
0
0
3
0
0
0
-65
44
47
-18
0
0
-22
1
-23
0
0
31
-11
5
0
0
14
28
13
0
0
-24
-22
-40
0
0
-52
19
-25
0
0
30
-12
9
0
0
-13
3
1
0
0
5
8
-16
0
0
-34
-33
-24
0
0
10
4
-1
0
0
-8
-8
17
0
0
1
-10
8
0
0
22
15
1
0
0
30
-9
13
0
0
-1
-4
0
0
0
-8
5
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-6
0
0
0
2
-1
0
0
0
1
2
0
0
0
4
-1
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
-1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-21
-51
-12
0
0
28
-26
13
0
0
7
-58
-5
0
0
42
53
-1
0
0
-19
62
9
0
0
-53
29
-10
0
0
0
-2
-35
0
0
49
62
33
0
0
-1
3
0
0
0
6
5
1
0
0
27
-3
2
0
0
-9
-10
-2
0
0
0
14
-4
0
0
-9
0
1
0
0
-25
27
-5
0
0
8
-8
4
0
0
-12
0
1
0
0
0
-3
0
0
0
-1
-1
0
0
0
1
-1
0
0
0
5
1
0
0
0
0
1
1
0
0
-1
0
0
0
0
-1
-1
0
0
0
14
0
0
0
0
0
-1
-1
0
0
-2
1
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
42
-71
16
22
0
0
27
22
12
0
0
42
-49
-1
0
0
-23
14
-7
0
0
-60
25
-33
0
0
-1
44
25
0
0
18
41
-6
0
0
31
-15
31
0
0
19
-5
4
0
0
-1
8
-1
0
0
2
8
1
0
0
-8
5
-1
0
0
5
2
1
0
0
8
0
0
0
0
0
-32
-17
0
0
0
8
-7
0
0
31
-17
0
0
0
0
2
0
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
-2
3
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-9
26
-50
-15
0
0
25
12
15
0
0
-44
42
2
0
0
-4
6
-4
0
0
26
-50
-17
0
0
8
3
14
0
0
-22
-24
-5
0
0
-12
15
-12
0
0
-24
-13
25
0
0
-7
-1
-22
0
0
10
-30
17
0
0
-8
4
0
0
0
-17
-4
-31
0
0
0
7
7
0
0
-7
-33
0
0
0
2
8
-8
0
0
5
-11
4
0
0
0
0
-8
0
0
3
-4
1
0
0
-3
9
0
0
0
19
-13
9
0
0
-7
-1
-3
0
0
-5
4
0
0
0
1
0
0
0
0
10
4
-6
0
0
-1
3
1
0
0
3
-4
-4
0
0
0
16
0
0
0
0
3
-1
0
0
0
1
0
0
0
0
2
-1
0
0
3
-2
0
0
-54
13
5
13
0
0
-7
2
-34
0
0
-20
-20
-4
0
0
-33
16
1
0
0
25
-13
-16
0
0
-10
-6
-8
0
0
-7
33
-9
0
0
-18
3
-16
0
0
-1
-2
-24
0
0
-4
8
8
0
0
-2
2
-14
0
0
-5
14
3
0
0
30
15
-8
0
0
17
-8
3
0
0
10
-12
5
0
0
20
20
12
0
0
2
-1
6
0
0
0
2
-1
0
0
0
-6
0
0
0
0
-2
0
0
0
0
2
1
0
0
0
-4
0
0
0
1
1
0
0
0
2
-7
0
0
0
6
-5
0
0
0
4
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
-3
-30
-31
6
0
0
-5
-3
12
0
0
10
10
2
0
0
-6
0
1
0
0
3
-13
20
0
0
1
-45
-8
0
0
45
-3
8
0
0
-8
-13
0
0
0
1
-4
-9
0
0
-4
-13
9
0
0
-4
12
1
0
0
-25
-1
1
0
0
0
-42
3
0
0
29
1
-2
0
0
16
13
-8
0
0
14
4
-22
0
0
-8
-1
-3
0
0
0
3
-1
0
0
2
8
0
0
0
0
2
0
0
0
-1
8
1
0
0
0
-1
0
0
0
1
-2
0
0
0
5
-16
0
0
0
-10
0
0
0
0
0
1
0
0
0
2
-1
0
0
0
0
4
1
0
0
1
6
0
0
0
0
-2
0
0
0
2
0
-3
0
0
0
-2
0
0
25
-7
13
1
0
0
5
-8
2
0
0
8
-3
-4
0
0
7
-6
-3
0
0
-24
29
16
0
0
8
18
3
0
0
-13
-2
0
0
0
-24
-8
-2
0
0
-8
-7
-13
0
0
23
-4
0
0
0
25
6
1
0
0
-20
1
1
0
0
31
-3
-2
0
0
0
-6
-13
0
0
5
-8
-2
0
0
-13
-8
-5
0
0
-7
1
0
0
0
0
-2
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
-5
-1
0
0
8
3
0
0
0
2
13
0
0
0
6
1
-1
0
0
0
1
0
0
0
-2
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
4
0
0
21
31
-24
-8
0
0
0
-6
-32
0
0
-16
26
-8
0
0
-12
-24
3
0
0
-4
13
-3
0
0
4
-13
-6
0
0
-26
13
-1
0
0
3
-8
3
0
0
-13
-14
-6
0
0
-5
25
-45
0
0
21
4
7
0
0
4
25
4
0
0
-15
50
12
0
0
8
-6
19
0
0
41
3
56
0
0
-22
-13
-1
0
0
-20
5
-8
0
0
0
0
0
0
0
4
-3
-2
0
0
1
-8
0
0
0
0
0
-3
0
0
0
2
0
0
0
-2
-5
0
0
0
1
3
0
0
0
0
15
-1
0
0
-1
1
0
0
0
-1
8
0
0
0
2
0
0
0
0
7
0
1
0
0
0
-2
0
0
0
12
-5
0
0
0
0
0
-1
0
53
18
-13
-15
0
0
-68
-6
8
0
0
-4
4
8
0
0
-2
-8
3
0
0
-8
-14
-5
0
0
-55
33
16
0
0
77
-9
1
0
0
-13
-23
0
0
0
-7
-16
3
0
0
-25
-7
-8
0
0
12
-7
19
0
0
-2
20
-2
0
0
34
-4
-2
0
0
16
1
16
0
0
-6
-4
-4
0
0
43
22
-5
0
0
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
1
0
0
-8
1
-1
0
0
-3
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
-1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
-3
1
0
0
0
1
0
0
0
2
-8
2
0
54
3
-5
13
0
0
24
-25
-3
0
0
24
8
2
0
0
10
5
0
0
0
-4
4
-14
0
0
33
31
-2
0
0
-23
1
-1
0
0
-2
-5
-1
0
0
-23
-19
6
0
0
-17
-9
-14
0
0
-5
24
-2
0
0
22
4
9
0
0
0
34
-30
0
0
1
18
-8
0
0
-32
27
42
0
0
-28
-37
-10
0
0
-8
0
-1
0
0
0
-1
2
0
0
-1
-3
0
0
0
0
-1
0
0
0
-4
-2
-2
0
0
0
0
0
0
0
1
0
0
0
0
1
7
0
0
0
-4
1
1
0
0
0
-1
1
0
0
2
0
0
0
0
-1
3
0
0
0
0
1
0
0
0
0
0
0
0
0
3
5
0
0
0
0
-1
-1
0
9
-10
-16
-2
0
0
-14
9
1
0
0
0
-1
-5
0
0
-1
14
-9
0
0
28
-5
0
0
0
18
-1
0
0
0
24
-12
0
0
0
49
-6
-1
0
0
-14
-1
1
0
0
4
0
0
0
0
-14
5
2
0
0
18
24
0
0
0
-7
-14
-10
0
0
-1
3
-3
0
0
-20
-35
6
0
0
-6
24
-6
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
-1
0
0
-1
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
0
10
-45
-12
15
0
0
-1
6
-9
0
0
-1
-20
4
0
0
-2
-5
5
0
0
35
-5
-3
0
0
7
-43
9
0
0
-8
8
8
0
0
17
-25
1
0
0
16
33
7
0
0
-4
3
1
0
0
-1
-3
2
0
0
0
0
0
0
0
-16
-2
-1
0
0
-5
1
0
0
0
-1
-8
1
0
0
3
0
0
0
0
-9
17
31
0
0
12
12
-8
0
0
1
-3
-13
0
0
0
-5
1
0
0
-19
-5
-42
0
0
-7
1
-2
0
0
-5
-17
1
0
0
-2
1
0
0
0
23
-5
-6
0
0
-2
-6
-2
0
0
1
-1
-7
0
0
3
2
-2
0
0
-2
6
1
0
0
3
-22
-1
0
0
-5
-4
-2
0
0
2
3
0
0
-38
4
42
32
0
0
-6
1
-8
0
0
4
5
-1
0
0
29
1
-3
0
0
-34
13
5
0
0
-6
10
6
0
0
-7
9
0
0
0
1
-4
0
0
0
-3
-3
2
0
0
2
1
0
0
0
-1
-4
0
0
0
-10
-4
0
0
0
30
-3
0
0
0
0
-3
-1
0
0
0
4
0
0
0
0
1
-1
0
0
35
33
2
0
0
2
14
6
0
0
2
-6
-3
0
0
-10
-9
0
0
0
0
10
-5
0
0
-2
-15
8
0
0
0
-8
0
0
0
-1
1
0
0
0
-8
-17
-1
0
0
1
-2
0
0
0
-2
17
0
0
0
0
-2
0
0
0
-13
2
-7
0
0
0
-10
-1
0
0
0
-5
0
0
0
-1
-8
0
0
-19
-2
3
3
0
0
6
-15
-5
0
0
4
-15
-6
0
0
-12
3
8
0
0
-28
-6
13
0
0
14
-16
-5
0
0
0
-7
0
0
0
-1
-13
2
0
0
-21
-6
-8
0
0
0
1
0
0
0
1
3
0
0
0
8
-7
0
0
0
-5
-1
0
0
0
0
1
0
0
0
1
-4
-2
0
0
0
2
0
0
0
3
5
-9
0
0
0
-2
-1
0
0
4
-7
4
0
0
0
-2
1
0
0
-20
6
19
0
0
8
13
-10
0
0
-12
5
-3
0
0
0
-1
0
0
0
1
3
3
0
0
0
5
0
0
0
5
-8
-16
0
0
-1
-1
0
0
0
-6
-6
8
0
0
0
3
0
0
0
-2
6
0
0
0
0
0
-2
0
42
1
-5
-2
0
0
-8
6
6
0
0
0
18
3
0
0
-15
-4
-2
0
0
23
-3
-3
0
0
-4
13
-2
0
0
2
0
1
0
0
0
-3
-1
0
0
2
-6
0
0
0
6
2
0
0
0
0
0
0
0
0
10
-3
0
0
0
-2
0
0
0
0
8
-8
-2
0
0
2
0
0
0
0
1
-19
1
0
0
-15
-1
-1
0
0
0
0
3
0
0
-2
1
0
0
0
0
-4
0
0
0
-9
2
-1
0
0
14
-10
4
0
0
4
-1
1
0
0
2
0
0
0
0
-8
3
0
0
0
5
0
0
0
0
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
1
2
0
0
0
1
-1
0
0
0
-2
5
0
0
-48
-29
8
-45
0
0
-7
-5
-1
0
0
0
6
-10
0
0
0
2
2
0
0
-16
-8
7
0
0
3
7
-5
0
0
5
6
2
0
0
-4
-3
0
0
0
-5
21
19
0
0
8
-12
0
0
0
-5
4
-2
0
0
-4
-1
0
0
0
-2
8
1
0
0
2
7
0
0
0
5
-2
1
0
0
0
0
0
0
0
37
-6
2
0
0
0
-4
-3
0
0
4
0
-5
0
0
-1
-3
0
0
0
-41
-9
8
0
0
-5
18
-12
0
0
5
-18
1
0
0
1
0
1
0
0
13
-1
8
0
0
-2
8
-3
0
0
1
-1
0
0
0
0
-5
1
0
0
-14
7
1
0
0
2
-8
4
0
0
5
-1
0
0
0
-3
0
0
0
4
-22
5
-2
0
0
-1
4
-8
0
0
0
2
0
0
0
-4
-2
-1
0
0
-3
4
1
0
0
1
-6
0
0
0
3
-3
0
0
0
1
2
0
0
0
-6
4
0
0
0
-1
7
0
0
0
-7
5
0
0
0
7
1
0
0
0
8
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
-5
0
0
0
-1
0
0
0
0
-5
0
-1
0
0
7
-6
5
0
0
-6
-5
-1
0
0
-5
-1
0
0
0
-2
-4
0
0
0
0
0
1
0
0
-3
5
-1
0
0
4
-3
0
0
0
2
-2
-1
0
0
-6
7
-3
0
0
-6
2
4
0
0
0
0
1
0
0
-4
4
0
0
11
-6
10
-2
0
0
0
-1
0
0
0
0
-13
1
0
0
-3
1
-1
0
0
-21
2
-2
0
0
1
0
0
0
0
2
8
-4
0
0
-3
2
2
0
0
7
-7
1
0
0
0
1
0
0
0
0
2
0
0
0
5
2
0
0
0
9
-5
2
0
0
1
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
-13
0
-4
0
0
0
-2
-1
0
0
0
-1
5
0
0
0
-1
0
0
0
-6
-1
4
0
0
-3
0
0
0
0
2
-7
1
0
0
0
2
3
0
0
-5
6
-1
0
0
-3
-4
1
0
0
-6
0
0
0
0
-3
7
0
0
0
6
5
-3
0
0
0
2
-2
0
0
2
-3
1
0
0
1
2
1
0
6
26
-5
0
0
0
4
0
1
0
0
0
-2
0
0
0
3
2
1
0
0
8
0
0
0
0
-1
0
0
0
0
2
8
0
0
0
-5
-1
0
0
0
-3
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
-7
0
0
0
5
0
0
0
0
3
1
0
0
0
1
0
0
0
0
-3
14
0
0
0
-13
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-2
-1
0
0
-4
0
0
0
0
0
-7
-1
0
0
2
0
0
0
0
0
-2
0
0
0
-9
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
1
2
0
0
0
0
-1
3
0
0
0
0
3
0
0
1
2
0
0
0
2
-1
0
0
-3
18
-15
-6
0
0
6
7
-1
0
0
-7
14
-6
0
0
0
-1
-2
0
0
-24
13
4
0
0
0
3
2
0
0
-2
8
0
0
0
0
1
0
0
0
27
41
-8
0
0
-4
21
0
0
0
-1
-5
1
0
0
1
-7
0
0
0
31
10
1
0
0
17
-13
2
0
0
-7
-19
0
0
0
0
6
0
0
0
23
-39
4
0
0
-2
5
0
0
0
-6
2
2
0
0
6
-2
1
0
0
-13
-24
-3
0
0
0
12
-1
0
0
-4
-8
1
0
0
0
-2
0
0
0
18
16
10
0
0
-6
-21
5
0
0
7
43
-8
0
0
2
1
4
0
0
1
-24
-13
0
0
-14
-8
7
0
0
8
-4
20
0
0
7
-1
-3
0
22
-17
9
2
0
0
-4
-2
0
0
0
0
5
0
0
0
0
-4
0
0
0
2
-3
1
0
0
0
7
0
0
0
0
-4
0
0
0
0
0
0
0
0
-5
10
0
0
0
-5
-5
0
0
0
29
-9
0
0
0
-1
-5
0
0
0
9
-4
0
0
0
8
0
0
0
0
31
-1
0
0
0
0
4
0
0
0
-29
3
0
0
0
-3
-1
0
0
0
-3
-4
2
0
0
8
5
-2
0
0
14
13
-1
0
0
6
-4
2
0
0
0
0
0
0
0
-1
1
0
0
0
9
16
0
0
0
5
-2
3
0
0
0
-7
12
0
0
8
-19
1
0
0
4
2
-15
0
0
-10
3
1
0
0
-1
10
-2
0
0
1
13
0
0
-60
-8
8
-2
0
0
-1
0
0
0
0
-4
2
0
0
0
5
-2
0
0
0
-8
9
3
0
0
-1
6
-1
0
0
4
1
-1
0
0
0
-6
0
0
0
-15
-3
-4
0
0
12
0
0
0
0
-2
-9
-3
0
0
8
4
-2
0
0
14
-4
0
0
0
3
3
0
0
0
2
14
1
0
0
0
6
0
0
0
2
6
-2
0
0
-2
-2
1
0
0
-3
-5
-2
0
0
5
-2
-1
0
0
-6
5
0
0
0
1
-4
0
0
0
2
-23
1
0
0
0
1
1
0
0
0
-14
7
0
0
0
-10
-2
0
0
5
-1
5
0
0
24
10
0
0
0
-5
16
-6
0
0
-1
5
4
0
0
-2
0
27
0
0
15
-12
0
0
31
-5
-6
-3
0
0
-2
0
1
0
0
0
0
0
0
0
-1
-10
-1
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
1
1
0
0
0
15
1
1
0
0
6
0
0
0
0
-20
6
0
0
0
-1
5
0
0
0
-27
0
0
0
0
-14
0
0
0
0
17
0
0
0
0
-1
-9
0
0
0
4
-8
0
0
0
0
2
0
0
0
-1
0
0
0
0
1
4
2
0
0
2
0
0
0
0
-2
7
0
0
0
-8
1
0
0
0
2
-1
0
0
0
1
0
3
0
0
1
-4
-2
0
0
-6
-6
0
0
0
2
-2
-2
0
0
8
0
-3
0
0
-1
8
-2
0
0
-1
-5
1
0
0
3
9
0
0
-29
8
-8
-10
0
0
-4
2
0
0
0
1
13
0
0
0
1
-2
0
0
0
16
3
-4
0
0
0
-8
0
0
0
0
-1
0
0
0
0
2
0
0
0
-3
5
3
0
0
-2
0
1
0
0
-9
-2
0
0
0
1
5
0
0
0
7
20
3
0
0
-2
-16
0
0
0
24
5
0
0
0
1
25
0
0
0
7
-3
-8
0
0
0
8
0
0
0
0
-8
6
0
0
0
7
0
0
0
6
-12
4
0
0
1
-3
-3
0
0
-4
8
0
0
0
1
-5
0
0
0
5
12
10
0
0
0
-7
-3
0
0
1
-20
2
0
0
0
-6
2
0
0
16
42
8
0
0
-8
12
-2
0
0
-20
10
5
0
0
-10
0
-4
0
-16
-9
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
3
0
0
0
5
-2
0
0
0
-20
0
0
0
0
-3
25
0
0
0
1
-7
0
0
0
-20
-7
0
0
0
22
4
0
0
0
-4
1
0
0
0
-2
6
-1
0
0
0
-3
3
0
0
0
-1
0
0
0
0
2
0
0
0
-9
4
0
0
0
1
-1
0
0
0
23
1
0
0
0
0
-2
0
0
0
-5
0
3
0
0
0
-16
-3
0
0
-2
-1
0
0
0
-2
10
0
0
0
2
-2
7
0
0
2
5
0
0
0
-2
-8
0
0
0
-12
10
0
0
6
-5
-1
0
0
0
0
0
0
0
0
-2
2
2
0
0
1
-1
0
0
0
-1
-8
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
2
0
0
0
-2
-13
0
0
0
0
-5
0
0
0
-5
3
0
0
0
5
-10
0
0
0
-12
-1
0
0
0
1
0
0
0
0
17
10
0
0
0
1
-3
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
1
-2
0
0
0
1
0
0
0
20
-5
16
0
0
0
12
2
0
0
0
7
1
0
0
-6
5
-1
0
0
15
-22
8
0
0
-2
20
6
0
0
6
34
6
0
0
-5
4
1
0
56
24
-1
0
0
0
4
0
0
0
0
0
1
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
3
1
0
0
0
19
2
0
0
0
20
-4
0
0
0
4
-4
0
0
0
4
-3
0
0
0
-3
7
0
0
0
-15
2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
0
0
0
0
2
-3
0
0
0
-16
0
0
0
0
0
8
0
0
0
-1
-1
-1
0
0
-2
-4
0
0
0
-7
-3
1
0
0
-8
3
0
0
0
4
5
1
0
0
0
-3
0
0
0
0
-8
2
0
0
8
-9
0
-17
-10
5
-5
-31
0
25
30
11
-15
0
33
-6
-5
6
0
11
7
21
29
0
-8
-26
32
-17
0
-34
40
-1
-54
0
-9
-32
-26
7
0
-22
34
46
40
0
26
-15
15
-15
0
-14
-55
4
-8
0
-16
-23
-18
-29
0
-18
-13
23
-3
0
3
13
46
-13
0
9
7
-16
-19
0
38
36
-20
-18
0
-5
-3
0
-2
0
15
-24
-3
-6
0
4
2
47
-25
0
-41
-17
-76
6
0
-29
-9
-8
-5
0
-67
-40
15
4
0
-12
43
-10
12
0
5
-26
-2
-7
0
37
4
8
0
0
-9
12
-9
3
0
5
-29
-3
-1
0
3
5
12
3
0
-14
-1
1
-2
0
-9
13
-3
16
0
-7
20
8
-4
0
12
15
-13
1
0
-5
-3
-7
1
-14
-10
-15
58
-25
0
7
-35
1
8
0
43
39
37
-5
0
54
10
-43
52
0
-3
-16
-48
10
0
-48
-34
-6
12
0
28
43
33
-5
0
14
71
-72
6
0
-4
-60
-13
8
0
-75
47
-13
-14
0
-11
30
-31
2
0
9
9
-1
20
0
84
-24
8
44
0
8
-57
29
19
0
41
41
-15
2
0
35
6
9
-5
0
7
-11
-42
18
0
12
-24
6
-35
0
12
14
18
-5
0
-21
10
15
-1
0
4
-37
-5
-9
0
-8
-7
-20
8
0
23
-1
2
-7
0
-2
3
1
7
0
-5
19
-22
-2
0
-7
6
-3
1
0
3
8
12
0
0
17
25
5
3
0
4
-1
8
1
0
-22
-12
3
0
0
7
-1
19
0
0
18
-7
1
1
-6
11
-7
26
26
0
-5
-13
44
-24
0
18
-37
-13
6
0
41
11
18
-10
0
-55
13
0
-23
0
-50
29
41
18
0
12
14
-11
11
0
-22
3
5
4
0
-3
-5
20
15
0
12
-8
9
-6
0
8
-10
-25
-9
0
57
6
-10
-12
0
2
-18
54
-10
0
21
14
2
10
0
-31
5
32
1
0
25
-5
1
-1
0
-28
13
4
-31
0
20
41
-17
7
0
-6
-7
4
10
0
25
27
-16
0
0
-8
-8
-12
5
0
3
-7
1
-1
0
-5
32
1
8
0
-6
-8
-1
-3
0
-9
-4
-8
5
0
9
13
0
0
0
-33
-24
3
6
0
-1
-17
2
0
0
6
6
-4
-1
0
-3
0
-4
0
0
-7
3
7
2
0
5
17
7
0
49
5
-24
12
37
0
-9
55
-7
4
0
29
-8
6
22
0
-31
0
21
25
0
-4
8
3
-5
0
27
9
32
-8
0
-51
18
-4
4
0
-12
-2
29
-8
0
13
-1
-13
-6
0
13
4
5
-7
0
3
15
2
-8
0
18
4
-2
-16
0
15
-30
5
-24
0
10
1
-5
-1
0
-16
4
3
29
0
8
-2
8
1
0
-40
23
-29
-6
0
4
12
5
9
0
9
29
-5
1
0
-13
8
-2
-1
0
22
3
0
0
0
3
0
-1
-3
0
-19
5
3
0
0
0
3
1
-1
0
18
-2
13
-1
0
24
3
0
0
0
6
-5
0
0
0
-5
-3
5
0
0
1
-1
-3
-1
0
-1
2
2
0
0
0
1
0
0
0
1
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
22
-4
-53
0
-35
-29
-59
27
0
-24
19
1
-30
0
-12
0
17
-31
0
-5
-5
7
-3
0
-3
14
-25
23
0
39
-32
4
-1
0
43
-15
-8
-19
0
7
5
-34
-13
0
22
-34
58
-5
0
-58
42
-23
39
0
-43
-22
-17
-17
0
21
-17
-12
-8
0
7
53
42
4
0
5
-54
33
-17
0
-8
46
-23
-16
0
39
-5
0
-13
0
-8
17
10
14
0
24
-19
1
1
0
14
20
15
3
0
5
7
1
-13
0
-8
-22
-3
2
0
-6
-1
-29
3
0
-4
2
-6
0
0
5
-4
-5
-13
0
5
15
19
13
0
-14
-23
-9
-3
0
20
2
14
-2
0
7
8
4
-8
0
24
-1
-15
12
0
-8
-1
2
5
0
10
-5
7
0
-31
-49
66
27
49
0
-31
5
43
-12
0
21
29
36
31
0
-7
15
21
-6
0
-5
-70
-13
43
0
-6
-5
-30
-5
0
-12
3
8
-9
0
36
9
-23
16
0
-30
-8
21
-45
0
-80
-9
-73
-30
0
18
-1
-7
-13
0
57
-5
19
0
0
-15
-8
24
-25
0
15
19
-49
-4
0
55
-8
-30
4
0
-14
-3
-10
-6
0
-10
21
-27
10
0
-24
-14
-1
-5
0
0
9
-4
1
0
10
-6
-35
2
0
-5
9
-8
-3
0
-3
-25
-22
0
0
-5
6
8
-1
0
-9
-7
-17
0
0
-7
15
-7
-8
0
2
-16
8
-2
0
7
-7
-8
0
0
1
8
-14
0
0
17
2
9
-2
0
-9
-3
12
0
0
-3
7
1
0
0
-5
-13
5
0
32
-18
36
-16
2
0
-19
24
1
2
0
-28
-6
20
-16
0
6
8
-48
2
0
-104
-9
41
27
0
29
-30
-23
-3
0
-76
29
16
-16
0
34
-66
5
2
0
-20
-6
-45
-2
0
18
27
-13
-8
0
30
-23
-14
4
0
23
-6
0
5
0
58
24
19
20
0
-3
3
-12
-7
0
26
-14
-1
-9
0
51
-20
19
-2
0
5
4
5
1
0
-1
-18
10
0
0
6
5
14
-6
0
0
7
0
-2
0
4
-8
5
-7
0
0
-7
-5
-1
0
0
-13
6
8
0
13
5
-16
0
0
-17
1
-12
-3
0
0
-8
1
1
0
6
13
-24
5
0
2
-1
-5
0
0
-15
-6
23
7
0
5
1
-2
0
0
-29
24
0
5
0
-3
12
-1
0
21
-2
-56
5
-10
0
-24
-23
-31
-3
0
-19
-4
5
14
0
-2
25
-14
0
0
-32
23
-13
-5
0
-5
-13
2
-13
0
12
3
-1
0
0
17
-12
-9
10
0
4
-22
-27
17
0
25
5
6
-18
0
-42
-13
30
12
0
-5
20
8
13
0
32
7
-18
-10
0
-16
-31
-8
22
0
-14
-30
22
-7
0
2
1
6
2
0
-10
4
1
-4
0
0
7
24
0
0
2
1
0
-4
0
10
3
3
-1
0
7
-1
0
-2
0
-4
5
5
0
0
9
0
1
-1
0
8
22
6
0
0
2
-2
3
-8
0
1
24
-3
0
0
-2
-3
-8
1
0
6
7
8
1
0
-1
-5
2
0
0
8
-17
-9
0
0
-3
-4
0
0
0
13
1
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
13
-10
18
0
-1
-17
-9
27
0
43
-2
-13
-7
0
13
-18
28
-5
0
-31
3
-19
-5
0
-15
-24
12
-5
0
22
-9
6
-2
0
3
-2
-2
1
0
12
14
-44
-6
0
-2
-16
5
0
0
-10
-3
-8
-8
0
-6
-18
3
0
0
-20
23
-21
-3
0
-8
8
-2
1
0
-13
16
9
7
0
19
0
3
-1
0
-4
-19
31
28
0
-20
-19
-42
1
0
-20
10
-8
0
0
4
1
15
5
0
-51
10
23
-8
0
-3
-39
1
7
0
0
-3
-5
-4
0
-4
-8
-8
1
0
0
-9
-16
0
0
-17
-4
5
-8
0
25
14
-10
8
0
2
4
15
3
0
-4
73
5
-2
0
6
-4
15
-9
0
14
9
-8
20
0
24
-8
-8
-1
33
1
16
7
-21
0
-22
-37
6
-10
0
-41
5
5
4
0
25
25
6
12
0
64
-1
-21
-12
0
-7
-16
-9
-2
0
17
0
-1
0
0
-6
0
25
1
0
-54
-13
25
-32
0
2
21
-24
-3
0
13
7
-7
0
0
-5
5
-5
1
0
-6
3
-9
-2
0
5
10
1
1
0
-21
0
3
1
0
8
3
-2
0
0
-3
4
-5
-7
0
-3
-4
-27
8
0
-10
-4
8
-7
0
-7
-23
6
1
0
1
10
-29
13
0
2
-9
12
-4
0
-20
-6
4
-6
0
5
-6
-14
-2
0
8
-1
43
6
0
-20
19
-13
1
0
8
25
5
-7
0
9
15
10
0
0
25
-13
-24
-8
0
-8
14
7
-3
0
14
17
4
-2
0
2
-3
4
0
-31
5
18
-29
-5
0
17
4
5
10
0
-7
8
-12
-31
0
-12
9
0
3
0
-12
-5
24
-3
0
-7
2
-25
-1
0
17
5
-19
12
0
5
4
-5
0
0
-17
-2
25
0
0
3
-10
0
2
0
8
-8
-10
1
0
9
-17
-1
0
0
15
-12
-12
2
0
0
-1
1
0
0
10
-4
-8
0
0
-7
-4
1
0
0
1
-55
-37
5
0
-6
12
-8
5
0
3
-13
-2
12
0
8
12
2
0
0
2
17
-33
4
0
5
-9
-3
-1
0
-5
-10
-2
4
0
-6
15
2
-1
0
0
0
-9
8
0
4
16
-9
-4
0
8
1
1
-8
0
2
3
0
0
0
12
-14
7
-2
0
3
-2
-16
0
0
-6
-3
0
-2
0
12
0
-1
0
5
25
-3
6
4
0
-13
28
-13
-6
0
-9
0
9
7
0
-14
5
3
1
0
8
-5
2
-8
0
-8
0
13
4
0
-23
0
-5
2
0
-4
-1
13
-2
0
-8
3
3
0
0
0
3
-6
0
0
-5
3
2
1
0
4
-8
-3
0
0
12
0
0
0
0
-1
-2
-7
0
0
16
3
2
0
0
2
-7
2
0
0
1
6
19
-7
0
0
14
-20
1
0
0
3
4
-3
0
0
0
5
5
0
-10
10
6
-3
0
2
12
0
-3
0
6
1
-2
0
0
-20
4
0
2
0
-1
8
-2
-2
0
2
-7
4
0
0
-20
0
4
0
0
-1
-19
2
0
0
4
0
7
-2
0
0
-4
-2
0
0
6
1
4
-1
0
-4
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
33
-54
1
0
25
-9
-17
5
0
1
2
4
-5
0
0
5
21
-6
0
18
9
-5
-9
0
0
5
-19
-1
0
-12
16
15
2
0
-1
-9
-6
1
0
13
13
-4
13
0
-6
5
24
1
0
66
5
-12
8
0
-24
41
1
0
0
22
8
13
-1
0
6
-10
0
0
0
-22
1
2
-7
0
10
10
2
0
0
42
8
-20
-18
0
9
-33
25
-8
0
8
-20
-6
12
0
-1
-2
-6
-4
0
-14
-9
17
10
0
3
-5
0
-2
0
8
7
29
2
0
-4
-2
16
-1
0
-35
31
40
18
0
-12
-18
31
13
0
-29
9
12
-21
0
-5
-20
-12
-6
0
-25
11
5
13
0
4
9
27
-3
0
-13
-4
-6
-7
0
13
43
-12
0
2
12
-6
-43
-2
0
-13
8
5
3
0
-3
-1
3
0
0
7
-10
34
-2
0
29
-7
6
-2
0
1
10
12
0
0
-3
-5
0
0
0
0
-5
4
0
0
-13
12
-10
-5
0
-19
8
5
8
0
2
2
-13
0
0
3
0
0
-3
0
-3
10
4
1
0
8
-13
5
5
0
13
-2
5
-1
0
-17
-3
-6
-1
0
1
13
-47
3
0
-2
3
-5
-8
0
24
8
-5
-10
0
24
-9
8
0
0
10
-4
-4
8
0
-5
10
10
-3
0
17
-25
5
-6
0
8
-4
-2
-4
0
-7
7
-2
30
0
21
-17
-2
-10
0
-24
-7
13
9
0
3
-49
-3
-4
0
-19
0
1
6
0
-24
-2
14
4
0
-2
6
-24
7
0
-19
27
24
30
-12
4
3
10
-16
0
-1
9
-6
0
0
3
-6
-8
-1
0
-6
1
12
-2
0
0
0
9
-2
0
3
1
-19
0
0
0
-8
3
3
0
2
-8
2
0
0
-7
32
-8
-3
0
8
5
9
5
0
-1
-2
5
0
0
7
1
1
0
0
-45
17
-7
1
0
5
6
0
-2
0
8
5
-1
-9
0
-17
7
0
0
0
-17
-10
13
-14
0
-1
3
9
6
0
-9
-24
9
14
0
4
-2
0
-1
0
0
-7
-7
-5
0
2
-8
9
6
0
-24
7
2
-3
0
8
1
-12
1
0
-4
2
-18
-2
0
0
9
-4
4
0
-4
7
-3
-1
0
2
9
6
1
0
9
7
8
1
0
3
-13
2
5
0
5
-25
23
3
0
-7
5
-25
5
-30
6
-8
-7
4
0
-1
-10
35
-1
0
1
4
-3
0
0
0
1
9
0
0
-3
0
-3
1
0
-1
2
5
0
0
4
0
2
-4
0
3
5
3
0
0
-1
-2
1
5
0
1
4
3
0
0
24
8
3
4
0
-12
6
2
-3
0
10
5
-1
0
0
-8
-7
0
0
0
8
-3
-8
0
0
2
8
3
0
0
5
-2
13
9
0
-5
5
12
-2
0
-13
-6
-2
-5
0
-7
1
-8
-8
0
4
-9
14
-1
0
9
4
-1
4
0
-17
0
0
0
0
0
20
0
-1
0
-8
2
14
7
0
8
31
8
5
0
4
-1
9
4
0
-2
2
-4
-2
0
-5
-23
8
1
0
9
19
-21
1
0
19
-18
5
3
0
10
-2
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-69
-23
20
10
-28
56
-19
25
-12
-88
46
52
5
-15
-24
-13
37
-27
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
24
-29
-19
27
-115
-16
-56
20
13
7
-3
-41
24
-38
21
-40
-6
27
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-52
-21
-8
35
-8
-14
-9
-15
-29
-1
-14
20
30
-7
15
-13
-3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
28
2
43
-14
-10
27
-16
-10
-5
-15
-51
-20
-25
43
-13
-28
4
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
1
5
-58
-40
24
13
68
-39
6
52
50
5
36
14
-26
5
-14
28
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-50
-17
41
17
-34
-42
8
18
4
14
5
-14
-21
43
-20
6
24
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-36
-9
-36
23
-13
-72
-2
10
-24
5
0
-27
8
3
37
33
19
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
-15
26
-22
34
-6
-4
-6
-7
7
-21
-14
-2
1
1
1
3
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
37
-16
-62
-45
16
29
20
-37
18
-1
-49
-1
44
3
-9
-22
36
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
28
48
-2
-51
65
-60
-57
-18
0
-31
-22
55
10
16
25
-2
-8
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-9
-4
-37
42
13
21
25
-13
2
29
17
-26
19
-5
-5
-15
-1
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
13
-30
-7
1
25
-13
-7
16
6
-14
-24
3
8
-2
13
17
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
-5
13
-3
31
-51
4
50
4
23
22
-25
18
-22
-2
22
12
5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-20
-4
-23
-2
-4
-21
-8
14
-19
26
25
7
-20
-1
3
-28
13
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
7
-8
3
3
17
27
-18
25
1
-3
-4
41
-25
-6
-3
40
9
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
1
16
1
9
3
13
2
-1
-24
4
12
3
0
-1
7
8
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
18
14
-29
-43
-8
19
-18
18
27
9
-39
22
-1
-9
19
22
-13
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-16
58
-20
-37
5
47
-18
-14
-14
27
2
25
-7
49
-12
-41
8
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
10
-30
11
-9
18
-16
-14
-15
-7
-45
-8
-8
16
2
16
-7
0
-35
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
18
-12
-8
-5
-7
-5
-16
3
25
-15
-18
0
1
5
-1
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
42
-34
-9
20
56
10
-13
-52
49
13
129
-9
-18
30
0
8
13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-48
-36
37
-14
-35
-57
-13
-31
-6
29
13
13
23
-2
-32
21
-18
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
5
10
-18
0
19
-8
-23
-6
0
-7
-5
-15
-22
4
-12
-5
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-23
12
2
-30
7
-2
-9
-4
-16
2
6
6
-1
-5
0
8
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
51
16
10
75
3
26
31
19
-15
87
4
-9
17
-57
3
-29
48
14
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-47
-6
5
-3
-14
22
-13
-5
10
3
2
13
-17
-14
-2
13
13
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-8
-5
1
-1
6
9
8
-2
-3
4
0
-24
4
0
1
5
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-16
10
-8
-3
1
7
17
3
0
-9
12
-7
0
1
2
8
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-9
-31
27
-42
-17
3
52
4
-12
-8
9
66
49
9
0
2
-12
10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
-13
5
10
2
14
-4
-25
-8
-19
16
2
-4
1
8
0
-1
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
12
25
1
1
-2
-3
-8
-1
-1
8
4
-8
10
-4
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
-4
0
-4
-7
0
-2
1
-3
4
2
-1
0
7
-19
7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-81
12
-5
-26
-19
5
22
45
-34
-45
-22
-2
16
12
-12
-33
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
7
-1
-19
-3
-49
18
43
53
-41
16
28
-50
41
-1
41
7
-8
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-8
-13
4
-2
19
12
-1
1
-25
17
-10
8
-7
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
5
21
-15
-4
0
34
13
-7
5
18
7
-4
31
-1
-12
14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-27
46
35
-22
-5
20
-21
-6
-33
8
8
9
2
-12
3
29
9
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
18
-49
-34
-15
8
52
7
-14
-5
-6
20
12
37
4
28
-8
0
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-5
-5
0
-3
-9
2
1
-2
3
-7
2
-5
7
0
9
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-22
-9
5
-12
2
8
-4
2
0
-15
-39
14
1
0
-18
-5
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
5
-61
36
-4
10
58
9
-32
6
25
-41
-25
4
13
-27
30
25
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
2
-52
-11
31
-7
-8
41
-27
13
-9
20
13
-43
-42
-7
42
-76
49
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-14
-8
13
-8
15
5
0
3
-2
-1
-2
-5
-4
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-6
4
-8
-9
-12
5
6
-2
-5
1
-6
-16
2
9
-3
14
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
-5
-14
12
10
-5
1
-5
5
5
43
-17
-5
5
-3
-6
20
-5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
32
25
-13
4
13
0
-27
-10
14
5
19
14
-3
0
2
1
4
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
3
-3
0
2
5
-4
-20
2
5
-4
-1
-4
-2
0
-4
7
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-16
2
2
-2
-5
0
4
0
-2
1
2
8
0
-5
2
-6
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
-19
0
15
-17
-45
26
13
-19
-48
-37
16
0
8
3
-17
10
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
47
7
34
-28
42
-68
42
-23
31
13
-70
-26
-25
-45
0
30
-59
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
31
48
-19
-6
1
8
2
6
1
1
-2
-1
-9
4
-4
3
-3
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
9
5
-13
5
19
-9
-9
5
20
7
-30
0
3
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
10
4
7
5
-24
28
-10
-25
31
15
-5
-8
51
-20
17
5
-8
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-17
-17
-13
-13
-32
-12
-8
49
-23
-5
7
19
-49
25
1
5
-14
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-10
6
6
0
-1
9
-2
-7
3
1
0
-1
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-3
5
2
1
-12
6
-2
-5
-3
0
2
-2
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
-16
-15
-2
-11
10
2
7
25
8
-22
-1
-4
3
-5
5
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
9
-71
-14
12
16
49
-54
16
-23
-13
-7
15
5
1
-24
10
-24
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
8
-8
0
0
0
4
5
2
0
0
0
-3
-2
0
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-2
-1
-1
-2
0
-1
0
4
-2
5
-6
1
-3
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-24
16
-6
-5
5
4
2
-22
-10
-4
-24
2
-12
0
-5
-3
4
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
9
0
-7
7
53
-1
-17
8
-2
7
-6
2
-5
-1
-6
12
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
-1
8
-1
10
0
0
0
0
1
0
-3
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
4
0
0
-2
2
1
0
0
-2
4
1
0
0
1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-38
2
24
-20
-2
31
-8
-12
-6
-43
2
2
-8
3
24
-41
-17
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
34
11
-17
-31
-4
-30
66
-5
-10
8
-11
5
-47
-16
-2
23
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-25
1
-13
-26
6
0
45
20
-16
-4
31
4
-1
0
-4
-12
-8
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
17
-1
-34
22
-31
-16
-18
3
25
27
-45
1
-2
-13
13
0
-41
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-2
13
-26
2
-13
-7
-50
-3
2
-41
-24
11
8
5
-9
-4
-1
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
-12
16
-15
7
18
7
-10
-9
-6
5
31
21
0
-7
7
-16
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-2
24
19
6
-9
8
-3
-10
-13
7
31
6
-15
-9
-5
-6
8
14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-1
8
5
6
-15
17
-5
-4
10
-1
-3
23
17
8
22
32
15
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
3
-2
54
-1
-9
10
18
-15
23
5
9
-4
-6
5
13
-5
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-13
-3
-7
-5
13
-6
-4
-1
14
1
2
12
0
5
-4
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
24
2
26
-5
-8
-6
4
-13
-1
5
-24
-26
-4
2
-4
-3
6
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
-6
-13
-9
13
-25
-33
18
-2
-29
12
-17
-1
-8
1
-3
8
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
46
29
6
-8
-5
32
4
-2
9
0
-2
20
-8
-5
56
9
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-9
-3
-13
1
30
-41
7
-1
-8
-13
16
0
-8
-1
3
-4
5
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-5
-7
9
-5
1
13
13
-1
-5
2
0
-6
-5
2
-3
10
5
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
19
25
6
-3
1
-10
-8
-3
-8
-2
1
-2
0
2
3
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
16
-1
17
-22
-17
42
-31
-10
5
-6
-19
0
10
-8
1
0
8
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
49
41
4
2
32
6
7
-16
2
13
-19
-32
12
6
0
4
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
23
-5
-6
-7
-15
2
-8
-5
-7
17
-2
-3
3
-1
-6
6
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-22
-2
17
-1
-10
0
14
0
-8
10
-3
-1
-8
4
8
-5
2
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
19
5
0
-3
32
-12
-7
0
4
-9
0
-12
-5
1
-5
-4
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
9
-10
1
-4
-17
-13
-16
0
5
24
-20
7
0
0
-4
10
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
5
-22
-4
-3
-21
-12
9
3
0
1
4
-4
3
0
-1
5
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
12
-9
5
5
-6
-35
-5
0
17
2
6
-5
7
4
9
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-3
6
-8
0
3
-9
4
2
2
8
10
25
1
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
8
2
6
-2
1
-5
-17
3
0
-7
8
9
8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-21
7
9
-1
18
0
-8
1
0
-3
-4
-10
3
0
-9
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
2
2
-8
-1
-4
6
-6
15
-6
23
-20
0
6
2
-10
1
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-12
-1
3
0
-12
8
5
8
1
-2
2
-1
1
0
1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-2
6
1
0
3
4
2
0
3
-2
20
-4
0
-7
3
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
10
2
-1
14
8
1
0
3
0
6
-4
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
6
-1
1
-8
3
6
-3
0
0
4
1
1
0
-8
4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
-48
23
-2
2
-41
16
-15
2
3
-3
-3
-23
1
0
-25
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
41
-3
19
-2
-35
31
5
10
1
2
-24
7
-3
0
-12
-33
-4
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
5
5
12
20
-3
0
-18
12
-29
14
-5
-49
0
8
-3
-1
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-31
61
17
2
-9
-5
27
-3
-5
-19
23
0
9
2
9
5
-3
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
14
3
-8
0
-1
-6
-3
-2
6
0
-1
0
0
0
1
5
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
32
7
4
-7
13
-18
-17
-10
0
10
22
-8
0
0
-8
6
8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
16
-3
10
0
-2
-3
-1
-7
-13
8
5
6
7
-3
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
3
-25
5
3
-1
7
25
-23
4
9
4
-1
-3
-7
-18
-24
1
20
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
8
-4
-8
1
-8
-12
-6
1
-1
25
0
7
-5
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
29
-7
20
4
0
-17
15
-12
1
9
4
-7
-16
2
-2
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
3
-13
-14
0
-3
-3
4
5
-4
-1
-12
0
1
-6
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
4
-41
8
6
8
-13
23
-1
16
6
-9
-41
5
-22
16
4
-20
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-14
0
0
-4
-10
-6
3
0
1
-1
22
0
0
1
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-1
0
9
0
-2
-6
1
-3
2
-7
7
5
0
4
7
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
10
0
2
4
5
0
4
0
-2
-9
0
0
5
-6
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-1
31
3
3
-3
13
4
17
6
5
2
-6
-8
-10
-1
2
-10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
-3
0
0
3
-8
39
1
0
-4
5
7
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
-2
41
12
8
30
-8
8
-1
2
-21
1
-1
-1
6
22
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
6
5
-13
3
-5
-27
8
1
0
1
5
-8
1
0
4
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
41
58
18
6
7
-5
-18
20
-4
-18
37
-8
18
-2
-8
-8
14
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
7
-2
-1
9
8
-5
2
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-12
4
1
-8
16
9
-2
15
0
-3
-5
5
0
4
8
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-24
-10
-2
0
-2
12
20
-1
0
0
0
2
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
16
-1
-21
25
-9
22
17
9
5
7
29
-3
-8
3
5
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
0
0
-2
3
0
0
0
-2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
7
2
0
9
0
-2
-1
10
-24
-8
8
0
-1
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
5
5
0
0
3
4
2
1
6
15
-10
1
0
0
6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
2
16
2
-3
10
-13
-10
3
3
13
17
5
7
-3
0
0
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
-2
0
0
1
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
1
-2
0
0
-12
-8
-2
0
-1
5
-1
-6
2
-4
6
-4
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-2
0
1
0
0
3
2
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
8
3
0
-22
-2
3
1
-1
3
29
2
4
-4
8
-15
16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
37
-6
42
23
-25
29
95
-29
9
7
16
62
10
-13
33
-66
20
8
-16
-11
34
15
24
11
-34
-6
28
13
9
-23
41
23
-5
-31
25
5
-30
12
23
18
-25
56
-9
17
-29
-11
42
-15
-31
22
30
-50
-74
-7
17
27
5
-35
3
-18
-92
-50
-8
31
-13
14
-67
27
-14
13
-25
-29
-54
-3
-4
-9
2
-9
-8
2
4
26
30
-65
10
-16
11
-12
5
10
3
-16
-17
-1
-28
12
8
28
-7
-66
4
0
6
4
19
24
-13
10
0
3
-41
-10
-6
8
-4
-7
-8
0
0
36
-22
-5
1
5
13
-2
18
-12
-6
-2
19
13
-9
0
9
8
1
15
2
7
-25
0
31
0
3
6
8
3
-1
-10
0
-7
8
-4
0
0
0
-3
0
-65
36
11
-32
-5
19
12
0
9
-14
20
32
-13
49
-2
31
22
-33
42
-5
40
-9
-22
-1
0
2
3
-46
-20
5
31
-26
31
19
29
-7
9
2
6
-3
-35
-35
-13
-19
-25
16
-17
41
-7
9
-22
4
-2
8
8
0
21
-29
-8
0
-26
4
-29
8
-3
7
-4
-28
-3
-10
5
-20
-1
6
0
-1
24
12
-5
3
-1
4
42
-12
-27
-9
13
-3
8
-10
-23
3
-15
13
7
13
-20
15
16
-8
-27
2
9
-13
5
13
-9
1
1
4
9
0
-3
3
0
-1
-5
15
-2
-1
1
23
-12
-5
0
-12
-25
0
-1
6
10
13
2
1
1
8
9
-9
2
6
-1
13
-4
-9
-6
-7
0
0
7
2
0
-2
1
-1
0
0
-1
0
4
0
0
-39
-10
62
52
13
10
12
-58
-10
42
30
-10
9
24
51
-1
24
32
21
22
-5
-7
-58
18
-5
-8
-21
-13
-13
71
16
8
-2
3
0
-24
13
1
0
-28
39
-25
-10
-23
30
-47
7
4
0
22
-13
-2
-8
-8
12
8
4
-7
1
0
-10
-25
-45
-22
3
-16
2
6
13
2
-1
3
-17
10
1
2
-8
4
-1
-57
22
-18
16
-10
-16
-5
-10
24
0
-13
8
-18
-1
-4
-12
-1
4
-12
-1
-8
-19
-9
14
-17
4
-3
7
-7
1
-2
-2
-2
-4
1
-3
4
-1
0
0
-3
1
2
-22
8
4
-6
1
-14
-9
0
-20
-4
-5
-1
0
3
-4
0
0
2
9
23
6
-1
0
2
0
-2
0
0
-1
5
-1
0
0
0
0
0
0
-20
-3
20
-9
-18
32
-45
-3
-20
-5
-15
42
-15
-20
-5
21
18
19
17
8
25
-28
70
16
14
-18
12
-15
-10
4
-24
9
13
-4
-5
0
-8
1
-10
10
1
5
-15
-22
-6
0
17
-25
17
6
-8
2
-5
-8
-1
13
-1
-14
2
8
9
-13
-12
-4
8
6
9
-5
10
-1
-1
-19
10
-4
0
0
-4
-5
9
-1
16
-58
-12
12
2
21
-21
-16
13
-4
-8
25
-16
5
2
9
25
10
10
0
8
-7
2
10
2
-8
12
9
9
4
4
2
1
-1
0
-1
-10
3
-1
1
3
-8
1
-1
0
24
0
-2
4
0
0
0
7
-29
2
-1
1
0
0
5
0
-5
0
1
0
0
3
-7
5
0
0
1
0
0
0
1
6
1
0
1
44
40
-37
5
-16
-45
-52
-90
71
41
-6
29
21
-5
-75
50
-41
-44
1
0
-19
73
50
-89
-34
28
-12
-21
35
20
-14
9
18
-58
16
-15
-5
-12
49
29
-5
10
-28
-3
32
-3
24
-18
4
-8
-24
13
-23
-14
-13
9
-3
-2
1
9
27
41
7
-43
-9
13
-8
-13
8
-4
-2
8
6
-20
4
-1
3
16
-1
1
11
-58
3
-54
43
-27
13
14
5
12
-55
-6
13
-2
14
18
-3
13
12
1
5
39
4
7
-4
10
-19
6
-6
-5
-2
8
4
-8
-2
0
2
3
0
0
-17
-27
23
2
7
3
-7
7
9
0
0
-15
-2
-18
-2
1
5
-4
-2
0
-25
-14
-24
9
2
1
-7
0
0
1
2
1
2
2
-1
0
0
0
0
0
-20
-24
5
-7
24
33
-11
-46
-5
-36
49
-9
5
1
-5
-3
-8
6
-2
-4
-1
14
12
11
15
29
-16
-9
-50
29
-13
41
0
53
56
6
6
13
30
-27
1
-8
22
-3
5
18
15
4
-17
-14
20
48
15
-8
4
5
20
-23
-20
2
-16
-36
-30
9
-9
-13
-13
-37
2
19
0
5
-19
-18
-7
-4
10
5
0
1
-14
5
5
-18
0
-17
-9
-7
43
8
20
-14
2
8
0
-10
-6
5
10
-2
-8
27
8
-8
0
-2
7
-6
-1
1
0
6
4
5
1
1
-2
-1
1
0
9
-17
7
-5
-1
2
0
-22
-1
-4
1
4
-8
6
1
0
0
7
0
0
3
1
-1
0
0
-2
-5
-1
0
1
0
1
-7
0
0
0
0
0
0
0
-44
-48
-4
23
-61
-41
9
-30
56
5
29
-43
-4
13
12
-6
22
22
-53
0
-46
-49
23
24
13
-19
12
53
-34
-4
6
2
24
25
5
-8
-6
23
12
-5
13
31
1
-47
0
21
-29
-15
10
0
-24
-30
13
24
20
0
2
-24
5
-6
-16
25
-14
14
-8
0
-24
4
18
1
-9
24
1
-2
6
0
17
-9
12
1
-17
-2
-10
-5
2
0
20
7
0
1
2
20
-5
-3
-1
-2
-4
-4
0
0
-3
-12
27
8
-1
0
-8
3
-1
0
-6
-9
-5
27
0
0
1
1
-3
0
0
4
-5
-2
0
2
-1
0
0
0
1
0
-1
-3
-1
0
0
0
0
0
1
-2
3
-9
0
0
0
0
-2
0
3
1
3
-1
0
0
0
0
0
0
19
-88
9
-15
13
-45
-12
20
-18
9
-27
-1
4
3
0
-20
-12
19
5
-17
3
56
-9
82
-6
29
-1
-20
30
5
2
37
-4
-4
-23
-1
-13
92
24
-5
7
42
-4
9
1
-6
0
12
-5
12
-6
7
30
5
-5
0
12
-4
-8
1
2
76
9
-4
3
5
29
-19
23
15
0
2
6
29
1
0
-6
2
-17
-5
3
-17
5
-7
-2
-9
0
8
-7
2
7
10
6
-1
2
2
-2
3
-3
0
0
0
0
0
-3
8
-20
2
6
-1
0
6
-1
0
0
0
1
4
-1
-2
0
3
-1
2
-1
0
0
0
0
2
0
-8
0
1
0
-2
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
0
0
3
51
12
51
7
-9
-47
41
61
-31
28
-9
7
-46
38
-21
26
48
-8
-15
-14
0
37
-59
-47
-20
-75
41
-23
-3
-2
31
-31
5
21
20
-2
-1
-3
10
-20
37
-72
-18
35
26
-8
31
-47
11
17
-2
-50
9
0
6
-20
-22
13
-3
6
-5
42
9
5
2
-8
7
8
-13
2
-6
-15
-16
-2
-15
-19
-8
-12
-13
-9
14
6
2
4
6
10
8
-5
-7
-3
-8
-7
-5
-7
0
-1
-1
5
-4
0
-9
-3
-9
-13
1
7
-8
3
-3
1
-5
-7
-12
3
0
0
3
0
0
-1
-1
-10
-5
13
2
0
34
-1
-1
0
2
-7
0
-9
0
0
1
0
-5
1
-6
8
-7
-6
0
0
0
0
7
0
0
-3
1
1
0
-1
-1
0
0
0
-31
-11
-47
-22
22
46
77
9
-18
-16
-15
-6
24
-29
10
-21
9
13
-1
-6
5
5
48
13
-14
38
30
23
-7
-29
20
5
0
29
7
5
-2
4
-27
8
-10
-4
1
5
30
-24
-3
10
-18
-5
-13
-5
-42
41
-3
-1
16
24
13
-7
10
-17
14
-66
-14
-42
8
6
1
-49
6
48
31
10
15
5
-4
-20
-41
-8
-42
-3
-1
1
0
-1
8
0
-1
0
-2
0
-1
0
-2
0
3
0
-1
0
15
5
2
0
-1
1
0
-7
6
0
0
5
0
1
0
0
0
1
0
0
-2
24
2
4
0
0
2
-1
6
0
0
2
-3
0
-2
0
1
0
0
0
0
1
-2
-3
0
1
2
3
1
0
-4
0
0
0
0
0
0
0
0
0
-92
-12
1
6
22
56
18
0
-30
-8
8
-67
6
-5
-6
-2
30
-20
-5
-10
-21
-45
7
-13
-16
-6
-15
16
-18
4
-5
2
8
-10
-14
6
8
-13
2
2
27
58
-41
35
-41
-17
23
-5
-2
-17
18
-17
-7
30
4
1
-1
-5
-8
2
24
-34
-3
6
-15
6
-25
-1
31
14
2
19
8
0
8
-8
14
-8
-1
4
5
-18
19
-8
-2
2
-13
5
3
0
8
0
-3
-3
-1
-22
0
1
3
0
-5
0
25
0
0
3
-1
-2
2
0
-1
1
0
10
0
0
0
0
0
0
-7
-1
6
3
0
0
4
1
0
0
0
-2
0
2
-2
0
-4
0
-1
0
-3
-3
4
-1
0
0
2
0
-1
0
0
0
2
0
0
0
0
0
0
0
-19
8
-8
13
3
-19
33
41
37
7
5
-43
4
6
7
5
-5
17
49
-3
17
-4
-25
-42
-5
8
5
-23
6
4
4
25
5
-9
-1
2
8
12
-5
-2
4
26
-22
8
-1
13
-15
-37
8
9
-2
35
-24
-34
-9
3
4
-22
14
-3
-19
-5
19
8
-9
2
25
17
19
8
-2
6
-7
-8
0
0
-5
0
1
6
-14
-8
0
13
2
-9
0
4
-2
0
0
0
0
3
-1
0
0
-2
-1
-1
-2
0
1
2
0
0
-3
-4
-3
0
0
0
1
0
-1
0
0
0
6
0
0
3
0
0
1
1
0
0
0
-1
0
2
-3
0
-1
0
1
0
0
0
0
0
2
1
0
0
0
0
0
0
0
-2
-2
0
0
0
-1
1
0
-1
-19
14
-43
-25
8
16
-60
-8
35
-5
-2
-53
8
8
-3
-2
-19
2
-8
0
3
-14
2
12
0
-29
12
-31
-12
0
4
1
2
0
-2
-2
2
-3
5
0
-28
-1
57
23
8
-1
-9
10
-1
-7
-6
6
-2
-28
31
12
4
-3
-7
4
-8
-7
-2
-5
0
-10
67
21
9
-13
8
-28
12
17
-16
7
3
-6
-12
-10
2
-10
-8
0
1
-2
22
-3
-2
1
8
-3
2
2
0
-1
2
0
0
0
6
-7
-12
-5
0
2
-8
9
-1
0
-1
-2
0
-2
1
0
1
-2
2
0
-25
5
6
0
0
1
-7
-7
0
-1
4
0
3
-2
1
0
0
1
0
0
-7
20
-6
0
-3
0
8
-1
0
0
0
0
1
1
0
0
0
0
0
0
14
-12
3
-13
0
17
-17
-25
-25
1
42
33
5
-3
-1
-1
4
2
8
1
-8
-46
12
-39
3
-3
5
-21
4
0
1
-2
0
-8
1
0
-3
8
-3
0
2
31
-74
21
-7
23
20
15
8
-24
-16
30
-24
0
6
5
8
-6
-31
9
5
3
3
10
13
7
-60
58
-18
9
7
-2
41
-5
1
5
3
6
25
-1
-1
-13
-1
4
-1
1
6
1
-1
-2
0
-1
0
0
0
-2
-1
0
-1
0
-5
5
1
-2
0
-1
-1
-4
1
0
0
-3
0
0
0
1
1
1
0
0
0
2
2
-2
0
-1
0
2
-1
0
0
-4
0
0
0
0
0
1
0
0
0
-4
-2
3
0
1
1
0
1
0
0
0
0
0
0
0
-1
0
0
1
0
19
2
-23
-3
-4
-25
7
-2
-2
8
-9
0
3
0
4
4
4
5
0
7
-3
4
-17
4
13
0
5
16
-1
0
10
31
-17
-3
2
2
-4
14
0
8
-41
30
-8
-10
-1
55
5
5
-6
-3
41
-33
-8
-8
-1
-2
18
31
0
16
-58
5
5
-4
-8
69
-5
-21
-2
-1
-17
-12
5
-1
-5
24
-4
-20
13
0
-9
-2
-3
0
0
-1
0
-8
0
1
-8
-1
0
0
-2
0
0
0
0
1
5
0
-1
0
0
0
-3
1
0
0
-4
6
2
1
0
0
0
0
0
0
3
-1
0
0
0
0
0
1
0
0
1
-1
0
0
-1
0
0
1
0
0
0
3
0
0
0
0
3
0
0
0
0
2
0
1
0
0
0
0
0
15
0
-22
6
-13
8
-22
-34
-12
6
-8
-14
8
-1
0
-1
-2
9
2
1
-9
-7
-34
4
0
4
25
0
8
-7
6
0
-20
4
0
0
0
5
-1
-1
-6
32
-12
3
16
-5
14
1
8
-2
5
44
2
16
-3
0
-2
18
7
-7
8
9
50
21
3
0
-39
-9
-18
-8
0
-2
23
-23
3
0
-54
21
15
21
2
8
-1
-4
0
1
-5
1
0
0
0
1
0
0
0
0
0
-3
0
0
-3
0
0
1
1
0
-2
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
-2
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
-1
0
0
1
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
-1
0
0
-38
12
-55
-5
5
5
-44
-17
19
-22
46
-29
16
-56
23
-18
10
-15
8
-1
57
-7
4
-13
0
-8
-9
-8
6
1
4
5
0
-5
1
-2
0
-16
-4
0
49
-3
15
18
-1
-12
13
-6
24
1
0
-4
-2
20
-5
-22
5
5
2
0
0
17
-10
-4
-8
8
-7
-17
6
4
5
1
-4
-4
0
0
0
2
1
0
-30
51
6
6
-25
-28
-1
39
-13
20
-3
4
-16
8
-2
8
-25
3
-2
-1
29
5
13
-20
-13
-13
-3
-13
-12
-4
-6
0
-4
-4
-5
0
0
-2
8
0
8
32
-4
12
-4
16
45
-6
-4
5
-2
3
-4
0
4
-12
-6
-13
3
0
15
-8
5
9
-3
-13
-10
9
1
3
2
-6
9
-3
2
-3
0
0
-8
0
-5
-73
40
26
18
-5
2
-1
-12
-1
-12
2
-13
10
7
25
-4
-3
27
3
-9
-6
-2
-5
-2
-4
0
0
1
4
3
0
-1
-2
-5
-5
0
-1
-2
0
5
-9
-15
-1
1
-25
-15
2
2
1
2
2
29
3
-1
9
2
1
3
0
2
22
8
-2
2
3
0
1
2
2
-2
-3
-8
-1
0
0
0
0
0
0
-13
20
14
-4
0
-7
-13
-4
-7
0
9
8
-1
5
-3
20
15
9
0
-1
17
5
13
7
-4
-9
-2
3
5
1
-4
4
-7
7
0
-2
0
0
4
0
-6
-14
9
8
-5
31
-16
-8
9
3
-3
-7
1
8
-3
14
-12
-1
6
-2
5
-5
12
5
-1
8
1
-4
2
0
-4
4
0
-3
-1
0
0
0
1
0
24
5
12
23
1
-15
-8
7
3
0
8
-1
1
-10
-3
14
4
0
-1
0
-13
-2
3
-8
0
-4
4
6
0
0
0
8
13
5
-2
0
-10
1
-3
0
33
-16
2
0
-2
-5
7
6
2
-1
-24
7
10
7
7
0
5
1
1
0
-1
-2
22
-3
0
-1
0
0
0
-1
-1
0
-3
-1
-1
0
0
2
0
0
8
-53
4
-10
5
-12
5
-4
-3
0
-24
10
-8
5
-3
-2
2
8
2
0
19
-29
2
-2
1
-4
0
-1
0
0
-8
0
5
14
0
2
-1
1
4
-3
15
-2
14
13
1
0
12
2
-1
-1
-18
8
-8
-1
-6
-8
2
-1
2
-1
-2
-1
0
-14
0
8
1
3
0
0
-1
-6
7
9
0
0
-1
-2
8
0
-4
-18
-4
-1
-1
2
0
0
0
0
-3
-14
-8
-1
0
-1
16
-4
-2
0
1
-4
6
0
0
1
1
17
2
2
-1
1
-2
2
0
-1
0
-3
-6
-3
0
1
-3
0
0
0
-19
-1
-5
0
4
-8
-4
0
0
1
3
0
2
0
0
-2
2
0
0
0
0
1
-1
-2
0
0
4
-1
0
0
0
0
-3
0
-4
6
-1
1
1
12
7
3
-3
0
-2
-5
-4
2
3
0
5
-7
-9
3
0
0
7
-1
-4
2
-2
3
2
0
0
0
-1
0
0
0
0
-1
-3
0
-2
7
0
0
0
-6
3
1
-3
0
0
-5
2
2
0
3
0
0
2
1
-3
-5
-2
5
0
7
14
-2
1
0
0
1
6
2
0
0
0
1
-1
-2
-41
53
-20
-21
9
1
4
-16
-17
1
1
10
0
2
3
-10
8
1
-2
0
42
1
10
-13
-4
-7
7
8
-3
0
-4
-4
-5
0
-1
0
-8
0
0
0
-8
-3
14
3
-1
-1
2
3
-3
-1
2
-2
-25
-1
-1
0
0
2
1
-1
4
20
-9
-7
0
0
-5
-1
1
0
-1
-1
-2
1
0
0
1
3
0
0
20
13
31
-17
8
-6
25
49
5
10
10
-22
6
-35
-8
-9
5
20
1
-1
16
15
-27
-1
-14
-5
-25
-5
-2
1
5
-1
5
-12
1
0
0
0
0
1
15
-2
9
6
-1
-6
5
-5
0
0
-7
19
-3
4
-10
0
-5
0
0
-1
18
10
-5
16
1
15
0
15
-10
3
-1
5
14
-7
-1
0
0
0
0
-1
12
-29
-19
-22
5
45
-34
13
1
0
-16
1
-6
8
0
19
0
10
8
-3
3
-2
-14
5
0
-2
-1
-8
1
0
0
-6
-1
1
0
0
-1
0
-1
-1
-2
13
3
0
-1
-7
2
1
0
0
-3
0
4
-13
-1
0
-1
-4
4
0
3
0
6
0
0
0
5
0
-5
0
3
1
0
0
0
0
0
1
0
0
3
13
-30
6
-8
-14
14
8
0
1
12
-1
25
4
0
-5
21
-31
5
1
0
4
-6
-4
2
0
20
2
-10
-1
-1
-5
10
-4
-1
1
-6
1
0
0
-2
4
-8
-1
2
-15
3
-3
-2
18
-9
-2
1
0
0
3
-2
1
-6
1
-6
12
3
9
2
3
-3
-4
0
-1
-1
1
-2
-1
-1
0
-5
1
1
-1
8
-17
3
-1
-2
-15
19
1
-2
0
8
-8
4
-1
0
-4
-3
-2
0
0
17
10
-12
0
0
1
2
2
-1
0
0
5
-1
-4
0
1
1
0
1
0
-4
0
0
-1
0
-2
1
3
0
0
2
3
3
0
0
0
-3
-1
0
0
1
2
-1
0
1
0
0
0
0
0
-2
0
-1
2
0
0
0
0
1
0
12
13
10
-8
-1
0
-17
-2
6
0
0
3
4
16
1
0
-2
-1
2
0
33
-8
-7
0
0
1
1
-12
0
0
1
-5
2
-10
1
0
-2
-1
0
0
-5
19
-4
-2
-3
0
2
0
1
0
0
3
1
6
-3
0
0
7
6
0
-2
-2
6
3
0
0
-3
-5
2
0
-2
2
4
0
2
0
0
3
-1
0
1
-5
0
-5
0
1
-1
3
-3
1
0
3
3
-4
0
-1
0
6
-8
1
-3
10
-1
0
0
0
7
-7
1
0
3
2
0
1
0
0
0
0
2
0
0
2
0
0
0
1
-2
0
-1
0
1
0
-1
0
0
-1
-3
0
-1
0
0
0
-7
2
1
0
0
1
-2
0
0
4
0
0
0
0
-1
1
0
-3
0
-2
1
-2
0
1
-1
2
-5
0
0
2
1
12
1
0
1
0
-2
2
0
-16
2
-2
0
0
2
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
1
2
0
0
-1
-1
-1
0
0
0
6
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
-8
1
0
-2
0
0
-2
-20
-42
-2
21
13
-6
-6
-1
9
-2
-24
-1
-14
5
0
0
3
8
2
2
3
-42
0
-3
2
-13
2
-9
3
0
0
0
0
-8
0
0
-3
0
1
0
-9
19
-2
-5
0
24
-6
7
1
0
3
-2
1
-5
0
0
3
1
-2
0
-21
-7
4
22
1
-2
1
-7
-4
0
-1
-1
0
-1
0
0
0
0
1
0
48
-22
-31
25
2
0
7
5
-13
2
0
5
0
-6
1
0
-4
8
10
0
9
-7
2
-8
0
-2
7
29
-24
-4
1
-9
-16
-2
0
-2
0
-1
-1
0
-8
-22
1
22
6
-6
4
13
5
3
8
14
-2
8
4
5
-8
-5
-6
0
8
16
-24
-2
2
3
-8
-1
-1
-9
-3
-3
8
13
-3
0
-1
2
-1
0
3
-24
10
10
0
0
0
6
4
0
0
2
0
-3
0
1
-2
-4
0
0
-6
4
-7
-1
-1
0
0
-1
-2
0
0
2
-2
0
0
0
0
0
-1
0
-6
1
10
0
2
-8
2
4
-2
1
-2
2
1
0
-1
0
0
-1
0
0
-7
-2
6
0
-1
-1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
9
5
9
-13
0
-4
2
-19
-8
0
0
5
-7
1
0
0
3
-2
4
0
1
-6
-6
8
1
7
-3
0
-5
0
0
3
0
1
0
0
1
0
-2
0
-3
6
8
15
5
2
1
6
4
0
0
5
0
8
-1
-2
-14
1
-6
4
1
15
14
7
5
-1
0
10
18
-5
0
9
0
2
2
0
3
3
-8
-1
-41
9
-2
-7
0
8
1
-7
5
0
6
3
-1
0
0
-1
0
-2
3
0
8
8
-2
4
0
0
0
-1
0
0
-1
-2
1
0
0
0
0
0
-2
0
6
13
-10
-1
1
1
3
-1
-1
0
-1
-2
1
0
0
-1
0
0
0
0
3
3
-5
2
0
-2
0
-1
0
0
0
0
3
1
0
0
0
0
0
0
27
-1
-32
-23
-13
2
-23
5
-2
0
-1
-3
5
3
1
0
0
3
0
0
1
8
-2
19
0
0
3
-3
-2
0
1
0
3
18
0
0
0
1
0
0
-41
16
-2
-9
6
4
17
16
-10
2
-2
8
-3
-2
0
-3
3
5
-1
0
3
4
-10
16
3
3
-2
4
8
0
7
-1
22
13
0
0
0
1
-6
0
-2
-3
5
0
-1
0
-2
0
0
0
0
-1
-1
0
0
1
0
0
-3
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
-2
0
-1
0
0
0
0
1
0
1
2
0
0
0
1
1
-1
0
0
0
1
0
0
-1
0
1
0
0
2
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
8
6
0
-1
1
3
0
0
0
0
-8
2
1
1
1
8
2
-1
0
0
-1
-8
8
-2
0
-2
-6
-8
-1
0
0
-1
4
-1
0
-2
-1
-3
0
-1
-9
8
-9
-2
0
4
10
3
0
5
-4
-9
-10
3
1
0
-9
3
4
0
6
10
7
0
0
3
8
2
-2
0
-2
3
-2
5
-1
8
-3
6
0
1
-30
12
-27
0
1
4
1
0
0
0
-2
-1
-2
0
2
-1
0
0
0
-5
9
-2
-2
-2
-2
0
-4
0
0
-1
-5
-1
1
0
4
0
0
0
0
4
5
12
1
1
-1
1
0
0
1
0
8
2
2
0
0
2
0
0
0
0
-2
-9
8
0
-1
0
0
0
1
0
4
1
0
0
0
0
0
0
-1
-2
-15
5
-13
-3
-3
0
-10
-12
-1
5
3
0
-1
-3
0
-6
5
0
0
4
19
4
-5
1
0
-3
5
-5
0
-1
0
-5
0
-2
2
-1
0
-3
0
2
1
12
13
-3
9
-7
-15
1
1
0
-4
-8
5
0
0
8
15
-4
0
3
7
-1
8
22
0
-7
48
1
1
0
8
-12
8
-4
0
3
8
10
5
-10
-8
-1
-3
0
-1
-2
1
0
1
0
1
2
0
0
0
2
-2
-1
0
0
-2
-2
1
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
0
4
20
0
0
0
8
-1
0
-2
0
-1
-5
0
0
0
-2
0
-4
0
0
5
1
4
0
0
0
1
6
-1
0
1
1
-3
1
0
0
0
1
1
1
-16
-16
-6
2
2
-3
1
0
0
0
-6
-5
-1
1
0
-3
2
4
-2
0
5
1
4
0
0
5
-17
-2
0
0
0
1
4
1
0
0
-2
0
0
2
-2
10
-13
0
-1
6
2
3
1
0
4
-7
-16
2
0
4
8
-3
4
0
-10
17
12
0
0
6
0
10
-8
0
3
-2
16
-1
0
1
2
-8
2
-1
8
-4
-8
-1
0
1
1
0
0
0
2
4
1
0
0
1
-1
0
0
0
-8
-1
0
0
0
0
1
0
0
0
0
3
0
-1
1
0
0
-1
0
0
1
-1
-5
0
0
-3
0
-4
0
0
4
-2
2
-3
0
0
1
0
0
-1
0
4
6
0
0
0
4
0
0
-1
-2
5
-2
0
0
0
2
0
0
0
-13
19
-4
0
0
0
-1
7
0
0
-1
4
-5
0
0
-2
0
-8
0
0
9
2
0
0
0
3
-1
0
0
0
1
-5
3
1
0
1
0
1
0
0
-9
2
10
4
2
0
-8
8
-3
0
4
5
-2
0
0
-3
-3
1
0
0
9
1
33
0
-1
1
13
4
0
0
1
-31
4
0
0
1
-1
8
0
0
1
1
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
-1
1
0
0
0
2
-5
0
-4
0
1
-1
1
1
0
-4
1
0
0
0
6
3
0
0
0
-1
-1
1
0
0
0
0
1
0
0
1
2
1
0
0
0
0
-1
0
0
-4
-19
0
2
0
0
-4
0
-2
0
0
-1
1
0
0
0
1
3
0
0
0
3
3
0
0
-1
1
-3
0
0
0
0
1
0
0
-1
1
0
0
0
-5
10
-3
-3
0
-1
2
-2
1
0
0
0
8
0
0
0
5
-3
1
0
2
-1
-7
-3
0
0
-2
-1
0
0
-1
2
-5
2
0
-2
-9
4
2
22
8
13
4
-44
16
-3
25
-10
0
0
0
0
3
-8
-60
5
-5
0
-10
0
-1
5
-7
57
-12
3
0
0
0
1
-1
-17
-8
-45
8
7
1
0
0
5
-41
-31
3
5
0
0
0
1
2
-46
92
17
5
0
4
0
0
0
-6
10
1
3
0
0
0
0
2
7
-48
-15
6
3
0
0
0
4
26
34
-11
0
0
0
0
0
-1
-34
-45
21
0
0
0
0
0
-6
-3
106
-5
0
0
0
0
0
0
-13
34
9
0
-2
0
0
0
-1
-32
2
0
0
0
0
0
0
0
9
-2
7
0
0
1
0
0
0
-3
92
-3
0
0
0
0
0
0
0
-16
-16
0
0
0
0
-1
-1
21
-14
0
0
0
0
0
0
-4
-19
19
0
0
0
1
0
0
0
-3
43
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
-2
3
-23
0
0
0
0
0
0
1
14
-12
0
0
0
0
0
0
0
-16
10
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
-1
3
0
0
0
0
0
0
1
-29
24
0
0
0
-4
0
0
0
-4
29
0
0
0
0
0
0
0
1
-13
0
0
-1
0
0
0
0
25
-2
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
0
13
0
0
0
0
3
24
-3
-13
13
-8
29
0
0
2
0
-4
-10
6
-9
6
0
0
0
1
1
2
-19
-23
-14
0
0
1
1
0
12
5
-24
-7
0
0
0
-1
3
-10
11
12
-9
0
0
2
0
-7
-2
21
-1
30
0
0
0
-1
0
-4
0
6
4
0
0
1
4
2
8
16
-38
-1
0
0
0
0
0
0
37
15
0
0
0
1
3
0
3
-56
58
0
0
0
0
0
0
15
91
15
0
0
0
-2
1
-1
0
5
11
0
0
0
0
0
0
-5
24
-2
0
0
0
0
0
0
4
71
-11
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
-1
16
8
0
0
0
0
1
0
-7
-31
0
0
0
0
0
0
0
10
-21
0
0
0
0
0
0
0
0
42
0
0
0
0
1
-1
0
-4
4
0
0
0
0
0
0
0
-42
63
0
0
0
0
0
0
0
-14
-15
0
0
0
0
0
0
0
-1
34
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
8
9
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-12
-8
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-5
-5
10
67
30
-6
0
0
-1
3
19
-25
5
-26
-5
0
4
-1
0
-8
-8
5
5
4
0
0
0
-1
1
-13
15
-22
1
0
-8
0
0
0
19
-18
-24
4
0
0
0
0
4
2
24
-23
8
0
-3
0
0
6
8
25
-71
-1
0
0
0
0
1
1
31
21
5
0
0
0
0
8
-29
-26
8
0
0
0
0
0
0
2
-1
-17
0
0
-4
0
0
1
13
5
-13
0
0
0
-1
0
1
1
-22
8
0
0
0
0
0
-1
-35
-6
2
0
0
0
0
0
0
0
2
7
0
0
0
0
0
1
-3
-20
-11
0
0
0
0
0
-2
0
-7
-5
0
0
-1
0
0
14
-5
0
0
0
0
0
0
0
2
-9
21
0
0
0
0
0
0
0
8
22
0
0
0
0
0
0
0
-6
19
0
0
0
2
0
-1
0
-41
57
0
0
0
0
0
0
0
-5
12
0
0
0
5
0
0
-2
0
-6
0
0
0
0
0
0
0
1
42
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-10
33
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
-8
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
8
16
-8
48
-10
-24
0
0
2
0
0
-5
-39
5
30
0
0
0
0
-4
0
-21
-19
7
0
0
-5
0
1
25
-4
-44
9
0
0
0
0
-2
2
-9
-9
0
0
0
-3
-2
-1
-1
-5
-32
5
0
0
0
0
-3
14
2
-17
-12
0
0
-7
-2
2
7
1
-15
-11
0
0
0
0
6
-32
-4
34
0
0
0
0
0
0
13
28
-25
0
0
0
0
-1
0
1
16
-29
0
0
0
1
0
5
-4
23
0
0
0
0
0
0
0
1
-1
-13
0
0
0
-1
0
0
0
-12
18
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
14
-41
0
0
0
0
0
0
-3
-16
49
0
0
0
0
0
0
-2
-9
-4
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-3
33
0
0
0
0
0
0
0
13
-27
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-8
37
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
6
2
0
2
-22
24
-12
12
-30
0
0
0
0
2
13
43
0
-27
0
0
0
0
-1
13
-15
-75
-15
0
0
0
0
0
-6
5
-40
-2
13
1
0
0
-6
8
-16
14
-18
0
0
0
0
1
0
-3
21
-16
0
0
0
0
0
9
35
-3
3
0
0
0
0
0
0
3
6
-2
9
0
0
0
0
4
49
0
0
0
0
0
0
-2
-25
62
-11
0
0
2
0
0
0
14
24
1
0
0
0
0
0
1
1
23
-4
0
1
0
0
0
6
-2
8
4
0
0
0
0
0
0
0
-44
6
0
0
0
0
0
0
3
10
-5
0
0
0
0
0
0
-1
8
-22
0
0
1
0
0
-2
5
-80
0
0
0
0
0
0
0
4
16
0
0
0
-1
0
0
0
2
-22
0
0
0
0
0
0
0
0
29
0
0
6
0
0
2
3
4
-43
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-3
42
0
0
0
0
0
0
0
-2
1
0
0
-1
0
0
0
0
-39
15
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
6
-24
0
0
0
0
0
0
0
0
7
0
0
-9
0
0
0
0
17
-61
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
13
2
2
-48
0
0
0
-5
0
8
27
-7
-27
0
0
4
0
7
-18
123
-8
-13
0
0
1
3
0
-4
-42
15
8
0
0
0
0
0
-1
64
-1
-10
0
0
0
0
-2
0
-46
9
-4
0
0
0
0
0
0
13
-10
1
0
0
0
3
0
0
9
14
1
0
0
0
0
-10
-6
58
8
0
0
0
0
0
0
-10
13
2
0
0
0
0
0
0
-5
126
1
0
0
0
1
0
0
7
62
-17
0
0
0
0
0
0
2
-41
6
0
0
0
0
0
0
0
19
2
0
0
0
0
0
0
0
-25
5
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
5
-7
9
0
0
0
0
0
0
5
-5
-26
0
0
0
0
0
0
-13
-8
52
0
0
0
0
0
0
0
-4
-18
0
0
0
0
0
0
-2
1
-50
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
3
-31
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
14
-2
-1
-1
0
9
1
5
0
0
0
0
7
1
-3
-82
11
0
-12
0
0
4
-7
17
-32
-8
0
0
0
0
2
2
-15
-115
7
0
31
0
0
0
-6
27
-49
11
0
0
0
0
-1
-1
0
-23
14
0
-5
0
0
0
-14
-17
-4
2
0
0
0
-1
-1
0
-3
-62
6
0
3
0
0
-8
-6
-4
6
0
0
0
0
0
0
-3
-24
-12
0
0
-5
0
0
0
5
-31
12
0
0
0
0
0
-1
1
15
-21
0
0
1
0
0
0
0
24
-53
0
0
0
0
0
0
-1
5
-41
0
0
-6
0
0
0
0
4
7
0
0
0
0
0
0
0
-3
-83
0
0
2
0
0
-4
4
-14
0
0
0
0
0
0
1
8
8
0
0
0
-2
0
0
0
-12
-2
0
0
0
0
0
0
0
0
-2
0
0
0
-7
0
0
-1
16
2
0
0
0
0
0
0
0
2
2
0
0
0
-8
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
8
17
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
-1
24
0
0
0
0
0
0
0
-2
10
0
0
0
-1
0
0
0
0
17
0
0
0
0
0
0
0
0
-8
0
0
0
4
0
0
0
1
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
-12
8
28
16
-9
0
0
0
-1
-7
-5
9
-92
4
0
0
0
0
-6
2
-17
-22
-7
0
0
-7
-1
0
0
-2
-55
12
0
0
0
0
0
-5
-1
11
-3
0
0
0
1
2
0
1
23
-13
0
0
0
0
1
1
0
1
0
0
0
-1
-2
0
0
1
31
-10
0
0
0
0
0
-2
-6
5
0
0
0
0
0
0
1
-7
-55
0
0
0
0
0
0
1
-1
3
0
0
0
1
1
0
0
9
-24
0
0
0
0
-2
1
2
-19
-5
0
0
0
1
0
0
0
8
-8
0
0
0
0
0
-1
0
0
-9
0
0
0
2
-1
0
0
0
-6
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
3
0
0
0
0
-1
1
0
0
9
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
-2
0
0
0
-2
0
0
6
1
-8
35
9
0
0
0
1
1
0
35
-2
20
0
0
0
0
0
0
1
-22
-4
0
0
0
0
0
0
-3
-18
6
0
-19
1
0
-1
0
1
13
-7
0
0
0
0
0
0
6
23
2
0
0
0
0
0
0
8
30
-9
0
0
0
0
0
0
0
8
11
0
1
0
0
0
0
-31
-26
8
0
0
0
0
0
-2
-18
48
0
0
0
0
0
0
0
27
-41
-7
0
0
0
0
0
0
-1
-13
2
0
-7
0
0
0
-3
-8
-20
12
0
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
1
26
3
0
0
0
0
0
0
0
5
13
0
0
-1
0
0
8
-41
20
0
0
0
0
0
0
-2
18
-18
0
0
0
0
0
0
0
-5
-26
0
0
0
0
0
0
0
1
-2
0
0
-1
0
0
0
0
-15
31
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
13
-36
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-27
-28
0
0
0
0
0
0
-1
0
-89
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-1
23
0
0
2
0
0
0
0
-17
22
0
0
0
0
0
0
0
9
4
0
0
0
0
0
0
0
5
-45
0
0
0
0
0
0
0
0
32
0
0
0
0
0
-3
-1
20
-44
-1
0
0
0
0
1
6
5
25
-34
0
0
0
0
0
-1
-14
19
-17
0
0
0
0
0
1
0
6
-7
0
0
0
0
-1
1
-2
1
-5
0
0
0
0
2
3
-8
-7
4
0
0
0
0
-6
0
2
-8
-3
0
0
0
0
5
0
5
-8
1
0
0
0
0
0
2
13
-8
3
0
0
0
0
0
-1
0
-74
-6
0
0
0
0
0
0
3
-48
-1
0
0
0
0
-3
0
0
0
-3
0
0
0
0
2
0
-2
34
4
0
0
0
0
0
0
6
-25
10
0
0
0
0
2
0
1
-1
6
0
0
0
0
-2
0
0
16
23
0
0
0
0
0
-2
-6
34
0
0
0
0
0
0
0
6
42
0
0
0
0
0
0
0
15
48
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
8
27
0
0
0
0
0
0
0
8
-19
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-2
50
0
0
0
0
0
0
0
-13
40
0
0
0
0
0
0
0
-8
-19
0
0
0
0
0
0
0
-24
16
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-4
1
-42
-11
-8
0
0
0
0
0
2
13
30
-22
0
0
3
0
0
-5
-3
48
-29
0
0
0
0
0
1
-7
22
-49
0
0
0
0
2
0
-7
6
-13
0
0
0
0
0
0
6
5
-4
0
0
8
0
1
0
0
25
-24
0
0
0
1
1
0
4
-31
-4
0
0
0
0
0
5
-3
-93
5
0
0
0
0
0
-1
-3
-2
5
0
0
0
0
0
1
-4
45
-12
0
0
0
0
0
4
2
16
-10
0
0
-1
0
0
0
-3
-1
8
0
0
0
0
0
-1
0
6
-6
0
0
-2
0
0
2
0
-7
-11
0
0
0
1
0
-6
0
22
-11
0
0
0
0
0
-6
10
10
0
0
0
0
0
0
-5
-25
7
0
0
0
0
0
0
1
8
-39
0
0
0
0
0
0
3
0
12
0
0
0
0
0
0
0
-7
-48
0
0
0
0
0
0
0
-20
-8
0
0
0
-3
0
0
0
10
9
0
0
0
0
0
0
0
-3
39
0
0
0
0
0
0
0
7
31
0
0
0
0
0
0
0
-3
5
0
0
0
-1
0
0
0
-5
-40
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-9
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
14
0
0
0
0
-1
3
1
-23
-16
6
0
0
0
-2
2
-3
18
7
-15
0
0
0
0
0
0
6
2
-66
0
0
0
4
-6
0
-3
17
-62
0
0
0
0
0
0
-1
-5
-7
0
0
0
-5
3
-1
-2
-19
-44
0
0
0
0
0
-1
-4
-1
-3
0
0
0
5
-1
0
-3
17
-33
0
0
0
0
-1
0
-1
31
-7
0
0
0
0
0
0
0
-15
9
0
0
0
0
1
0
-7
44
-42
0
0
0
2
8
0
-1
37
-54
0
0
0
0
0
0
0
-22
16
0
0
0
0
0
0
0
6
20
0
0
0
0
5
0
0
7
-22
0
0
0
0
-4
-1
0
-1
7
0
0
0
0
0
0
-13
18
0
0
0
0
0
-1
0
-1
-21
0
0
0
0
0
0
0
1
-25
0
0
0
0
-1
0
1
1
-20
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
3
-2
-3
-6
0
0
0
0
0
0
0
10
-33
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
8
16
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-1
0
-1
-3
0
0
0
0
1
0
0
0
17
0
0
43
0
0
0
-3
-69
15
-30
0
0
0
0
0
0
-6
20
18
0
0
-1
0
0
0
9
-26
14
0
0
0
0
0
0
-8
-8
-6
0
-33
0
0
0
-1
-22
-87
16
0
0
0
0
1
0
-2
13
-5
0
0
0
0
0
0
-7
24
-10
0
0
0
0
0
0
0
13
6
0
2
0
0
0
2
-7
-18
2
0
0
0
0
0
0
0
35
2
0
0
1
0
0
0
-5
4
-2
0
0
0
0
0
0
6
67
-7
0
17
0
0
0
-1
-5
26
1
0
0
0
0
0
0
0
31
-2
0
0
0
0
0
0
0
37
1
0
0
0
0
0
0
0
2
2
0
2
0
0
0
1
23
6
0
0
0
0
0
0
0
8
21
0
0
0
3
0
0
0
34
-6
0
0
0
0
0
0
0
0
25
0
0
8
0
0
0
0
-20
6
0
0
0
0
0
0
0
-2
14
0
0
0
-1
0
0
0
10
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-19
0
0
0
0
0
0
1
1
-57
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-4
0
0
-12
0
0
0
0
0
54
0
0
0
0
0
-1
0
0
-13
0
0
0
-2
0
0
0
1
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
2
2
-13
-7
3
0
0
0
0
0
0
0
8
-6
0
0
0
0
0
0
0
-18
6
0
0
0
4
-1
0
-1
-49
8
0
0
0
0
0
0
1
10
-8
0
0
0
0
-2
0
1
-30
-4
0
0
0
0
0
0
-8
-16
13
0
0
0
0
0
0
2
-1
-5
0
0
0
0
0
0
0
-32
10
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
10
-17
0
0
0
0
-2
0
0
17
-25
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
30
1
0
0
0
0
0
0
0
78
-11
0
0
0
0
0
0
0
-3
22
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-1
-30
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-1
-31
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
-3
-16
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
4
0
0
0
2
-2
1
-1
-4
14
-6
0
0
0
0
0
0
-7
-6
12
0
0
10
0
0
0
0
10
-14
0
0
0
0
0
0
0
14
8
0
0
0
0
0
0
3
12
-5
0
0
0
0
0
0
0
-9
-10
0
0
-5
0
0
0
0
0
-3
0
0
0
3
0
0
-2
1
15
0
0
0
0
0
0
0
28
-10
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-16
13
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
14
-6
0
0
1
0
0
0
1
24
-17
0
0
0
-1
0
0
0
5
-10
0
0
4
0
0
3
2
9
0
0
0
0
0
0
0
25
23
0
0
0
-4
0
0
1
-1
-4
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
4
5
0
0
0
-18
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
5
-39
0
0
0
0
0
0
0
-22
18
0
0
0
8
0
0
0
-1
-4
0
0
0
0
-1
0
0
5
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
14
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
-13
0
0
0
0
-6
-4
3
-3
-1
13
0
0
0
0
0
0
-5
6
-36
0
0
0
0
0
0
0
-8
-52
0
0
0
0
0
0
0
-1
-40
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
-1
-9
0
0
0
1
-2
0
0
0
5
0
0
0
0
0
-1
0
-8
10
0
0
0
2
0
0
0
6
-17
0
0
0
0
0
0
0
7
15
0
0
0
0
0
0
0
-27
28
0
0
0
0
0
0
0
13
14
0
0
0
0
-1
0
0
31
-30
0
0
0
0
0
0
0
25
-41
0
0
0
-2
0
0
0
-2
35
0
0
0
0
0
-1
-5
7
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
0
17
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-17
2
7
0
0
0
0
0
0
-2
6
-50
0
0
0
1
0
0
2
-1
17
0
0
0
0
0
0
0
-4
13
0
0
2
5
0
0
2
19
-40
0
0
0
0
0
-1
0
-3
38
0
0
0
0
0
0
-3
12
28
0
0
0
0
0
0
-2
-3
-4
0
0
0
0
0
0
15
13
11
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
-2
14
-1
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-1
-16
38
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
33
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-8
6
41
0
0
0
0
0
0
-1
25
-19
0
0
0
0
0
0
0
34
-54
0
0
0
0
0
0
0
1
50
0
0
0
0
0
0
-1
-11
6
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
-12
7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
-24
18
0
0
0
0
0
0
0
-1
-3
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
31
0
0
3
0
0
0
0
-37
-34
0
0
0
0
0
0
0
-14
49
0
0
0
0
0
0
0
-4
27
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-7
34
-73
0
0
0
0
0
0
0
18
-5
0
0
0
0
0
1
1
7
-10
0
0
0
0
0
0
0
25
-15
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
16
5
0
0
0
0
0
1
0
-5
-5
0
0
0
0
0
0
0
-20
40
0
0
0
0
0
0
0
-13
24
0
0
0
0
0
0
0
-8
44
0
0
0
0
0
0
0
2
41
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
51
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
0
-14
26
0
0
0
0
0
0
0
5
-36
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
8
-39
0
0
0
0
0
0
0
-3
27
0
0
0
0
0
0
0
30
-5
0
0
0
0
0
0
0
4
37
0
0
0
0
0
0
0
1
31
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
6
42
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
-4
9
0
0
0
1
0
0
4
-34
5
0
0
0
0
0
0
-1
-15
3
0
0
0
0
0
0
1
-29
-8
0
0
0
0
0
0
0
7
42
0
0
0
2
0
0
-14
-9
42
0
0
0
0
0
0
1
-2
21
0
0
0
-6
0
0
-6
3
30
0
0
0
0
0
0
2
-8
-13
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
1
3
-8
0
0
0
0
0
0
3
-12
24
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-7
-7
0
0
0
0
0
0
0
-3
70
0
0
0
8
0
0
-1
-4
-74
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
-6
33
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
7
-2
9
0
0
0
-1
0
0
0
-5
-2
0
0
0
0
0
0
0
32
-56
0
0
0
15
0
0
0
3
5
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
-1
2
17
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
1
-3
22
0
0
0
0
0
0
0
2
56
0
0
0
0
0
0
0
-34
42
0
0
0
0
0
0
0
1
36
0
0
0
-4
0
0
0
13
-32
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
3
7
-5
-14
0
0
0
0
1
0
0
-22
-3
0
0
0
0
0
0
0
15
10
0
0
0
0
0
0
0
-25
13
0
0
0
0
-2
0
0
-10
0
0
0
0
0
6
-3
0
6
-7
0
0
0
0
0
0
1
-1
-27
0
0
0
0
2
0
0
-1
19
0
0
0
0
0
0
0
15
6
0
0
0
0
0
0
-2
0
-10
0
0
0
0
0
0
0
2
-5
0
0
0
0
-1
0
0
2
-14
0
0
0
0
0
0
2
1
-23
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
5
14
0
0
0
0
0
0
0
-16
28
0
0
0
0
0
0
0
3
-26
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
-4
-27
0
0
0
0
0
0
0
7
113
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
1
35
0
0
0
0
0
0
0
0
25
0
0
7
0
0
0
0
-27
42
0
0
0
0
0
0
0
4
18
0
0
0
0
0
0
0
-16
-27
0
0
0
0
0
0
0
1
-49
0
0
-13
0
0
0
-2
-7
31
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
0
-9
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
4
26
0
0
0
0
0
0
1
1
3
0
0
0
0
0
0
0
1
20
0
0
0
0
0
0
0
2
15
0
0
13
0
0
0
0
12
11
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
1
19
6
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
2
-22
-22
0
0
0
0
0
0
0
4
5
0
0
-2
-1
0
0
0
-18
41
0
0
0
0
0
0
0
-16
5
0
0
0
-1
0
0
0
-8
-13
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-25
28
0
0
0
0
0
0
0
42
-67
0
0
0
0
0
0
0
-5
24
0
0
0
0
0
0
0
-3
61
0
0
6
0
0
0
0
-49
8
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
1
8
1
-13
0
0
0
0
0
0
0
-5
12
0
0
0
0
0
0
1
2
-13
0
0
0
0
1
0
0
3
-25
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-1
-17
26
0
0
0
0
0
0
0
-4
26
0
0
0
0
0
0
0
0
24
0
0
0
0
0
3
1
1
27
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-2
38
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
8
0
0
0
0
0
0
0
-13
23
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
5
39
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
-1
106
0
0
0
0
0
0
0
1
-5
0
0
0
0
-1
-2
-2
9
-18
0
0
0
0
0
0
0
2
-8
0
0
0
-2
0
0
0
2
-3
0
0
0
0
0
0
0
-1
-20
0
0
0
3
0
0
1
17
-41
0
0
0
0
0
0
0
0
-10
0
0
0
-5
0
0
0
0
4
0
0
0
0
0
1
0
-2
-1
0
0
0
-2
0
0
-4
5
-60
0
0
0
0
0
0
0
0
28
0
0
0
-1
0
0
0
-5
-1
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-1
18
0
0
0
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
14
-2
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
8
-23
0
0
0
0
0
0
0
-1
5
0
0
0
1
0
0
0
1
10
0
0
0
0
0
0
0
3
3
0
0
0
8
0
0
0
-5
-4
0
0
0
0
0
0
0
-1
-1
0
0
0
2
0
0
6
2
-29
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-2
76
0
0
0
0
0
0
0
1
-20
0
0
0
-1
0
0
0
8
8
0
0
0
0
0
0
0
-1
28
0
0
0
3
0
0
0
0
28
0
0
0
0
0
0
0
1
23
0
0
0
0
0
0
-1
-6
20
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
-6
-6
-1
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
0
0
0
0
1
0
-1
27
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
1
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
1
0
8
8
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
-1
0
0
0
0
0
0
0
-9
16
0
0
0
0
0
0
0
8
-25
0
0
0
0
0
0
0
0
13
0
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
0
3
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
3
-9
0
0
0
0
0
1
10
7
14
0
0
0
0
0
1
1
-17
49
0
0
0
-2
0
0
0
-5
33
0
0
0
0
0
0
0
5
-20
0
0
-3
0
0
0
2
23
-69
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-16
55
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
1
3
-12
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
-13
-35
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
1
-75
51
0
0
0
0
0
0
0
-28
10
0
0
0
3
0
0
0
54
-20
0
0
0
0
0
0
0
-2
12
0
0
-1
0
0
0
0
62
-15
0
0
0
0
0
0
0
-27
14
0
0
0
0
0
0
0
29
10
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
-58
38
0
0
0
0
0
0
0
22
-40
0
0
0
0
0
0
0
-19
31
0
0
0
0
0
0
0
-3
14
0
0
-1
0
0
0
0
11
-3
0
0
0
0
0
0
0
-1
33
0
0
0
-1
0
0
0
10
52
0
0
0
0
0
0
0
-2
30
0
0
0
0
0
0
0
50
-34
0
0
0
0
0
-1
1
-16
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
-7
58
0
0
0
0
0
-4
0
17
13
0
0
0
0
0
0
0
10
13
0
0
0
0
0
-1
0
-31
11
0
0
0
0
0
0
0
31
14
0
0
0
0
0
0
3
-6
23
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
2
-48
0
0
0
0
0
1
0
-10
-35
0
0
0
0
0
1
0
-1
-7
0
0
0
0
0
0
0
-8
-16
0
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
-13
0
0
0
0
0
0
1
7
5
0
0
0
0
0
0
0
4
18
0
0
0
0
0
0
0
-20
2
0
0
0
0
0
0
0
10
-17
0
0
0
0
0
3
0
-22
15
0
0
0
0
0
0
0
4
16
0
0
0
0
0
0
0
5
58
0
0
0
0
0
0
0
-7
37
0
0
0
0
0
0
0
-25
27
0
0
0
0
0
0
0
7
18
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
-4
-12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-10
65
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
0
-25
0
0
0
0
1
0
-4
-20
41
0
0
0
0
0
0
-3
6
6
0
0
0
-3
0
0
-3
5
8
0
0
0
0
-2
0
0
-6
1
0
0
0
0
0
0
-3
4
25
0
0
0
0
0
0
-2
2
-5
0
0
0
-2
0
0
0
-12
15
0
0
0
0
0
0
2
3
-4
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
1
-13
48
0
0
0
0
0
0
0
-4
-4
0
0
0
0
1
0
-1
-2
-43
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
0
-1
66
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
3
0
-5
0
0
0
0
0
0
-2
-1
26
0
0
0
0
0
0
0
13
8
0
0
0
-1
0
0
2
-8
-30
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-12
44
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-3
8
0
0
0
0
1
0
0
-2
15
0
0
0
0
0
0
0
29
4
0
0
0
0
0
0
0
-16
-9
0
0
0
0
0
0
0
-10
21
0
0
0
0
-1
0
0
15
-50
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
-10
53
0
0
0
1
0
0
0
-3
62
0
0
0
0
0
0
0
0
35
0
0
0
0
0
-1
2
-5
-18
0
0
0
0
0
0
-2
-14
12
0
0
0
0
0
0
0
-1
42
0
0
0
0
-1
0
0
-2
-5
0
0
0
0
0
0
1
-10
14
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
14
3
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
1
7
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
17
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
0
-8
19
0
0
0
0
0
0
0
-14
43
0
0
0
0
3
0
0
7
-13
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
1
-1
-5
0
0
0
0
0
0
0
9
3
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
-10
40
0
0
0
0
-1
0
0
-12
55
0
0
0
0
0
0
0
-3
29
0
0
0
0
1
0
0
0
-20
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-1
25
0
0
0
0
-1
0
0
-3
14
0
0
-7
0
0
1
-3
8
-50
0
0
0
0
0
0
0
-7
15
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
-1
-5
0
0
-25
0
0
0
0
24
-24
0
0
0
0
0
0
0
-1
58
0
0
0
5
0
0
0
-1
5
0
0
0
0
0
0
0
0
57
0
0
-2
0
0
0
0
5
-27
0
0
0
0
0
0
0
5
17
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
0
-1
69
0
0
13
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
33
0
0
-2
0
0
0
1
18
-2
0
0
0
0
0
0
0
0
72
0
0
0
-1
0
0
0
-3
-15
0
0
0
0
0
0
0
-1
31
0
0
-3
0
0
0
-2
-49
-24
0
0
0
0
0
0
0
6
27
0
0
0
1
0
0
0
5
-10
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
3
-8
5
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
1
72
0
0
15
0
0
0
0
-20
-1
0
0
0
0
0
0
0
-8
-16
0
0
0
0
0
0
0
4
23
0
0
0
0
0
0
0
1
19
0
0
0
0
0
2
-1
-17
9
0
0
0
0
0
-1
0
-1
24
0
0
0
0
0
0
-1
-1
-10
0
0
0
0
0
0
0
-1
-51
0
0
0
0
0
5
0
-2
7
0
0
0
0
0
1
0
13
4
0
0
0
0
0
2
0
0
20
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
45
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
-9
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-52
58
0
0
0
0
0
0
0
-5
45
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-5
28
0
0
0
0
0
0
0
-1
68
0
0
0
0
0
0
0
-8
33
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
1
50
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
1
-8
0
0
0
1
0
0
-4
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
5
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
13
0
0
0
0
0
0
0
0
16
0
0
0
-1
0
0
0
0
27
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
2
-22
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-12
0
0
0
1
0
0
0
-2
26
0
0
0
0
0
0
0
-3
44
0
0
0
1
0
0
0
4
-25
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-1
22
0
0
0
2
0
0
0
4
17
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-3
5
0
0
0
2
0
0
0
0
57
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
0
-1
-4
45
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
3
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
-2
-10
0
0
0
0
0
-2
0
0
19
0
0
0
0
0
0
0
0
4
0
0
0
0
2
-1
0
2
-13
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
47
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
3
-44
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-1
0
-1
6
0
0
0
4
0
6
-7
-18
103
25
6
0
0
0
4
5
21
-5
-6
-12
0
-19
0
0
7
-38
21
28
9
0
0
0
-1
-1
-24
8
1
6
1
-1
0
0
-8
6
-18
15
4
0
0
0
0
-1
-23
13
8
10
0
17
0
0
-8
8
-15
29
2
0
0
0
0
-1
-6
-7
-14
5
-1
0
0
-1
-1
10
-75
7
0
0
0
0
0
1
-8
53
0
0
0
-1
0
0
-4
6
13
0
0
0
0
0
0
1
-8
22
-12
0
13
1
0
0
0
-8
-10
-8
0
0
0
0
0
0
1
20
-9
0
0
1
0
0
0
-12
-21
6
0
0
0
0
0
-1
0
3
-12
0
0
1
0
0
-8
13
-19
0
0
0
0
0
0
1
27
-44
0
0
0
0
0
0
-14
-69
68
0
0
0
0
0
0
0
4
14
0
0
-35
0
0
0
-3
-50
5
0
0
0
0
0
0
0
1
3
0
0
0
-3
0
0
2
6
-7
0
0
0
0
0
0
0
-1
-2
0
0
-2
0
0
0
-1
26
19
0
0
0
0
0
0
0
13
10
0
0
0
-1
0
0
3
-49
37
0
0
0
0
0
0
0
-2
-32
0
0
5
0
0
0
0
-84
17
0
0
0
0
0
0
0
-20
-10
0
0
0
-1
0
0
0
1
7
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
15
-8
-14
5
5
0
0
-1
5
-3
-23
50
-20
11
0
0
0
0
-2
5
9
15
3
0
0
-6
8
-5
3
36
-45
0
0
0
0
0
-1
8
-53
6
10
0
0
0
-1
3
0
-36
4
-4
0
0
0
0
2
2
80
0
-5
0
0
3
3
0
-5
-13
17
-34
0
0
0
0
1
5
33
-3
0
0
0
0
1
1
31
19
7
0
0
0
0
1
3
1
30
-3
0
0
0
-2
-7
6
22
100
-16
0
0
0
0
0
0
-10
22
5
0
0
0
0
-2
1
7
7
-1
0
0
0
0
0
0
0
-49
3
0
0
0
0
0
0
-3
-37
-21
0
0
0
0
0
0
5
-29
0
0
0
0
0
0
0
-35
-11
0
0
0
0
0
0
1
-41
41
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
-1
-1
-9
19
0
0
0
0
0
0
0
-7
20
0
0
0
0
0
0
0
24
-9
0
0
0
0
0
0
0
18
2
0
0
0
0
0
0
1
12
-13
0
0
0
0
0
0
0
6
-5
0
0
0
0
0
1
-1
6
16
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
-1
0
-24
23
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
2
15
0
0
0
5
0
0
-3
-5
93
-9
3
0
0
3
-1
-13
3
-31
5
9
0
-13
0
0
1
-50
10
-25
1
0
0
0
0
-5
-17
-23
-17
5
0
31
0
-1
7
19
24
29
-18
0
0
0
0
-2
-13
35
-6
3
0
39
0
0
1
-18
-1
10
1
0
0
4
0
0
1
14
21
4
0
-1
0
0
5
4
5
6
0
0
0
0
4
-2
19
21
-7
0
0
-33
0
0
-13
-13
1
1
0
0
0
0
-1
-1
-8
44
-29
0
0
0
0
0
0
10
-5
-20
0
0
0
0
0
0
-6
-15
-4
0
0
-21
0
0
2
-1
9
-9
0
0
0
-1
0
1
-1
-15
-17
0
0
0
0
0
7
1
-25
0
0
0
0
0
0
-1
-2
48
0
0
0
6
0
0
6
1
28
0
0
0
0
0
0
2
-3
-2
0
0
0
0
0
0
0
4
-38
0
0
0
0
0
0
0
-2
-16
0
0
0
11
0
0
0
-8
14
0
0
0
0
0
0
0
-2
-8
0
0
0
1
0
0
1
13
8
0
0
0
0
0
0
-1
-4
7
0
0
0
14
0
0
4
4
9
0
0
0
0
0
0
0
2
20
0
0
0
-3
0
0
0
1
14
0
0
0
0
0
0
0
-2
17
0
0
0
18
0
0
0
4
-15
0
0
0
0
0
0
0
0
2
0
0
0
0
1
1
-2
-9
-5
-35
0
0
0
-3
-2
-1
-25
25
-8
1
0
0
1
-1
-8
8
14
-75
0
0
0
-4
1
3
-9
22
-37
-7
0
0
0
2
0
-20
-42
33
-17
0
0
1
1
-2
5
-8
34
-4
0
0
-2
1
-5
-2
-1
31
-25
0
0
0
1
0
3
-2
30
-21
0
0
0
0
0
4
-14
-13
0
0
0
-4
-8
1
6
-16
49
0
0
0
0
-4
14
24
55
-32
0
0
0
5
7
8
9
8
-23
0
0
0
0
0
0
9
23
-34
0
0
0
2
-2
0
2
29
-24
0
0
0
0
0
1
3
19
-36
0
0
0
1
-1
0
-1
-2
22
0
0
0
0
0
1
13
4
0
0
0
0
0
0
-1
9
-2
0
0
0
0
0
0
1
-8
-7
0
0
0
0
-1
-1
-1
3
5
0
0
0
0
0
0
0
4
43
0
0
0
0
1
0
0
1
-7
0
0
0
0
0
0
0
-8
-2
0
0
0
0
-1
2
0
-3
0
0
0
0
0
0
0
0
-4
63
0
0
0
0
0
0
0
6
-20
0
0
0
0
0
0
3
-5
-27
0
0
0
0
1
0
0
4
25
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
-6
53
0
0
0
0
0
0
-1
-1
23
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
2
-14
-5
7
7
0
0
0
0
0
-1
15
35
-5
0
0
6
0
0
0
-3
36
-4
0
0
0
0
1
6
16
56
-4
0
7
7
0
0
0
20
7
4
0
0
0
0
0
0
25
32
-5
0
0
-2
0
1
6
-24
-26
18
0
0
0
0
0
-1
1
18
5
0
-11
0
0
0
-7
-6
14
-4
0
0
0
0
0
-1
-6
17
-2
0
0
0
0
0
5
4
-39
7
0
0
0
0
0
0
2
47
-12
0
-23
-1
0
0
0
-21
40
-1
0
0
0
0
0
0
3
-54
1
0
0
0
0
0
0
5
-40
-2
0
0
0
0
0
0
-1
25
11
0
-2
0
0
0
-14
1
1
0
0
0
0
0
0
-17
4
-8
0
0
0
-2
0
0
-1
13
52
0
0
0
0
0
0
0
4
-8
0
0
31
-1
0
0
3
-49
9
0
0
0
0
0
0
2
20
10
0
0
0
-1
0
0
-1
12
-4
0
0
0
0
0
0
1
1
14
0
0
-8
-3
0
0
-8
24
-24
0
0
0
0
0
0
2
-27
-13
0
0
0
3
0
0
-4
-10
11
0
0
0
0
0
0
-3
-2
67
0
0
-3
-1
0
0
-2
52
-4
0
0
0
0
0
0
0
-10
25
0
0
0
1
0
0
0
6
11
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
2
-3
33
28
-2
0
0
0
0
2
-7
6
12
-39
0
0
0
0
-3
3
-2
18
-31
0
0
0
2
-7
16
-15
49
-14
0
0
0
0
0
0
-8
94
-9
0
0
0
0
1
1
-9
107
-8
0
0
0
0
0
-2
5
32
10
0
0
0
0
0
-2
2
-7
8
0
0
0
0
0
10
2
23
4
0
0
0
0
0
-3
-8
6
7
0
0
0
0
0
-12
5
20
-2
0
0
0
-3
0
-3
-23
-23
59
0
0
0
0
0
0
5
5
-4
0
0
0
0
1
1
-3
55
8
0
0
0
0
0
0
7
21
1
0
0
0
0
0
0
-3
24
11
0
0
0
0
0
-1
-24
6
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
2
2
15
-11
0
0
0
0
3
-3
3
2
-10
0
0
0
0
0
0
0
-41
28
0
0
0
0
0
4
1
-1
22
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
0
2
16
0
0
0
0
0
0
1
-43
15
0
0
0
0
2
-1
0
30
-8
0
0
0
0
-1
0
0
5
-8
0
0
0
0
0
0
1
-8
41
0
0
0
0
0
0
0
-8
-16
0
0
0
0
0
0
-1
-18
5
0
0
0
0
0
0
0
-10
21
0
0
0
0
0
-3
0
-5
16
0
0
0
9
-3
2
-7
25
-27
3
0
0
0
0
1
-6
-16
16
-15
0
0
-8
0
0
27
-43
73
-13
0
0
0
-1
0
5
1
-12
33
0
0
-2
0
-2
3
-12
84
-9
0
0
0
1
-1
1
-5
-47
-4
0
0
28
0
0
5
7
-21
7
0
0
0
-1
4
-1
1
-10
2
0
0
-1
0
0
-3
-25
108
7
0
0
0
0
0
0
4
-14
15
0
0
-4
1
-1
0
0
24
-11
0
0
0
1
-1
-1
-1
-48
37
0
0
0
0
0
0
0
12
-11
0
0
0
-1
0
-1
1
18
3
0
0
2
0
0
4
-1
-21
2
0
0
0
5
-1
-4
1
23
36
0
0
0
0
0
8
-23
9
0
0
0
0
0
0
3
-3
44
0
0
0
-7
0
0
0
-19
62
0
0
0
0
1
0
0
0
-22
0
0
0
-2
0
1
10
-13
-2
0
0
0
0
0
0
3
10
-19
0
0
0
-25
0
0
9
13
-23
0
0
0
0
0
-1
-5
-1
42
0
0
0
-1
0
0
2
12
-8
0
0
0
0
0
0
0
0
-6
0
0
0
3
0
0
-2
-8
23
0
0
0
0
0
0
3
-9
27
0
0
0
3
0
0
1
29
-37
0
0
0
0
0
0
0
1
0
0
0
0
-7
0
0
2
-8
35
0
0
0
0
-1
0
0
0
42
0
0
0
0
3
5
1
1
-7
-11
0
0
0
3
-1
0
17
46
-33
0
0
0
-4
-10
1
10
5
20
0
0
0
-9
-9
-22
12
9
-6
0
0
0
0
0
-4
0
5
-6
0
0
0
0
0
0
2
-18
11
0
0
0
0
0
12
0
19
13
0
0
0
-1
-17
1
0
3
26
0
0
0
0
0
-1
-1
51
-4
0
0
0
4
18
0
8
-7
5
0
0
0
2
2
8
6
43
-33
0
0
0
-8
10
0
5
-23
2
0
0
0
0
0
0
0
-16
23
0
0
0
0
0
1
1
30
14
0
0
0
0
0
0
-4
38
-19
0
0
0
1
8
0
-8
25
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
-1
-4
75
0
0
0
0
0
-1
-2
-5
0
0
0
0
0
6
0
3
0
-7
0
0
0
0
0
-1
0
1
-39
0
0
0
0
0
7
1
-22
12
0
0
0
0
0
0
-8
1
42
0
0
0
0
6
-4
0
2
31
0
0
0
0
0
0
0
-3
22
0
0
0
0
-3
0
1
-3
-46
0
0
0
0
-2
-2
13
2
-22
0
0
0
0
4
12
-7
-8
-5
0
0
0
0
0
0
0
5
5
0
0
0
0
3
0
-1
0
21
0
0
0
0
0
6
-1
-4
-32
0
0
0
0
-4
-8
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
0
-2
-20
-51
15
0
0
0
0
0
0
8
10
-16
0
0
0
-1
0
0
-2
5
31
0
0
0
0
0
1
-1
-14
25
0
0
-4
3
0
0
-1
-3
-9
0
0
0
0
0
0
0
-34
45
0
0
0
-22
0
0
-1
42
1
0
0
0
0
0
0
-1
10
-1
0
0
-10
0
0
0
-1
12
2
0
0
0
0
0
0
0
14
-2
0
0
0
-2
0
0
1
-41
-27
0
0
0
0
0
0
-1
-20
8
0
0
42
0
0
1
0
-10
4
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
6
20
0
0
0
0
0
0
0
-1
5
0
0
5
0
0
0
-1
-5
-13
0
0
0
0
0
0
0
-8
61
0
0
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
9
48
0
0
-4
0
0
0
0
43
-12
0
0
0
0
0
0
0
-10
33
0
0
0
1
0
0
0
1
6
0
0
0
0
0
0
-2
6
-5
0
0
-1
0
0
0
1
11
5
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
0
8
10
0
0
-1
0
0
0
2
0
15
0
0
0
0
0
12
0
-12
-8
0
0
0
-1
0
0
1
10
41
0
0
0
0
0
0
1
3
42
0
0
0
0
0
-1
9
-19
1
0
0
0
0
0
0
0
-28
21
0
0
0
0
0
1
-2
-4
33
0
0
0
0
0
3
5
0
-2
0
0
0
0
0
0
0
8
25
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
-8
-29
0
0
0
0
0
0
0
9
-9
0
0
0
0
0
1
0
37
-19
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
-1
0
-22
35
0
0
0
0
0
-1
0
9
13
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
-1
-44
0
0
0
0
0
0
-1
4
60
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
54
-13
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
15
1
0
0
0
0
0
0
1
1
7
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
0
0
2
23
0
0
0
0
0
0
0
-17
13
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
0
-26
13
0
0
0
0
0
1
0
-7
26
0
0
0
0
0
0
1
-41
-10
0
0
0
0
0
0
0
-14
2
0
0
0
0
0
0
1
25
3
0
0
0
0
0
0
0
-2
22
0
0
0
0
0
0
0
13
-8
0
0
0
0
0
0
0
-3
13
0
0
0
-29
0
-1
-14
-6
49
0
0
0
0
-3
0
10
-9
-2
0
0
0
6
0
0
0
-18
-42
0
0
0
0
-1
0
1
1
-2
0
0
0
8
0
2
0
-2
5
0
0
0
0
0
0
0
14
-17
0
0
0
23
0
0
1
3
30
0
0
0
0
0
0
-4
-1
5
0
0
0
1
0
0
-5
8
-37
0
0
0
0
0
2
3
4
28
0
0
0
-13
0
0
1
5
-18
0
0
0
0
0
5
8
22
-1
0
0
0
0
0
0
1
12
-52
0
0
0
0
0
1
0
2
16
0
0
0
-13
0
0
0
-1
1
0
0
0
0
1
0
0
1
27
0
0
0
-2
0
0
0
-8
-10
0
0
0
0
0
0
0
-3
-11
0
0
0
37
0
0
1
-14
-11
0
0
0
0
0
0
0
-7
-25
0
0
0
0
0
0
-1
-42
45
0
0
0
0
0
0
0
-8
13
0
0
0
8
0
0
-1
-16
3
0
0
0
0
0
0
0
5
1
0
0
0
1
0
0
0
-57
5
0
0
0
0
0
0
0
-5
66
0
0
0
-12
0
0
-2
8
23
0
0
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
-12
3
0
0
0
0
0
0
0
9
30
0
0
0
9
0
0
0
-5
50
0
0
0
0
1
0
3
-3
5
0
0
0
0
1
3
-8
-31
20
0
0
0
0
1
8
-6
13
-19
0
0
0
0
0
0
8
-46
16
0
0
0
0
-1
3
14
-8
-7
0
0
0
0
0
0
0
22
9
0
0
0
0
0
0
-16
-1
4
0
0
0
0
0
-2
5
-2
-3
0
0
0
0
2
4
0
-2
-1
0
0
0
0
0
0
0
-23
15
0
0
0
0
1
-1
0
-15
-3
0
0
0
0
0
2
-1
3
-17
0
0
0
0
0
-2
-4
-2
29
0
0
0
0
0
0
0
0
-43
0
0
0
0
-2
-1
0
-2
-12
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
4
0
-2
12
0
0
0
0
0
0
0
8
102
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-6
42
0
0
0
0
1
0
0
22
-3
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
23
2
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
0
12
7
0
0
0
0
0
0
-1
-3
31
0
0
0
0
0
0
0
3
39
0
0
0
0
0
0
0
-3
16
0
0
0
0
-1
0
0
-3
-5
0
0
0
0
-1
-1
0
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
-4
-3
0
0
0
0
0
0
1
2
-19
-17
0
0
0
3
0
0
7
13
-36
0
0
0
0
0
0
0
-4
14
0
0
3
0
0
2
-2
8
-32
0
0
0
0
0
0
-5
-8
5
0
0
0
0
0
-1
1
5
-13
0
0
0
0
0
1
2
-2
-3
0
0
3
1
0
-1
3
-21
15
0
0
0
0
0
0
0
-13
34
0
0
0
0
0
0
0
20
-41
0
0
0
0
0
0
0
9
35
0
0
-23
0
0
0
-4
-41
12
0
0
0
0
0
0
0
-6
13
0
0
0
1
0
0
0
-15
16
0
0
0
0
0
0
-1
-3
23
0
0
0
4
0
1
-5
-43
5
0
0
0
0
0
-4
0
12
7
0
0
0
2
0
0
-1
-24
-6
0
0
0
0
0
0
0
-41
26
0
0
3
-1
0
0
0
-33
-16
0
0
0
0
0
0
0
-18
33
0
0
0
-2
0
0
0
43
4
0
0
0
0
0
0
0
-13
13
0
0
2
-1
-1
-1
8
-37
10
0
0
0
0
0
0
3
-28
-23
0
0
0
-1
0
0
-1
49
2
0
0
0
0
0
0
-1
-4
21
0
0
7
-2
0
0
-2
-32
-19
0
0
0
0
0
0
0
-6
7
0
0
0
2
0
0
-2
6
-9
0
0
0
0
0
0
0
5
49
0
0
0
0
0
0
0
-7
59
0
0
0
0
-2
-2
0
-13
40
0
0
0
0
0
0
-3
-6
-9
0
0
0
0
0
0
3
1
26
0
0
0
0
0
0
0
-3
-18
0
0
0
0
0
0
1
18
9
0
0
0
0
0
0
-1
-8
-3
0
0
0
0
0
0
1
3
1
0
0
0
0
0
0
-1
-35
3
0
0
0
0
0
0
0
-16
40
0
0
0
0
0
0
4
-10
3
0
0
0
0
-2
1
0
-8
-77
0
0
0
0
0
-2
0
-9
-8
0
0
0
0
0
-1
0
20
-29
0
0
0
0
0
0
0
41
-8
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
10
0
0
0
0
0
-1
1
0
-9
22
0
0
0
0
0
0
-1
22
-16
0
0
0
0
0
0
-1
-31
43
0
0
0
0
0
-1
0
-5
5
0
0
0
0
0
0
0
7
-16
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-27
-8
0
0
0
0
0
0
1
-70
8
0
0
0
0
0
0
0
-12
25
0
0
0
0
0
0
0
4
-7
0
0
0
0
1
0
1
20
31
0
0
0
0
0
0
0
-13
26
0
0
0
0
0
0
0
-35
-43
0
0
0
0
0
0
0
-5
59
0
0
0
0
0
0
0
3
26
0
0
0
3
2
0
-3
-42
8
0
0
0
0
0
0
-3
19
7
0
0
0
-8
0
0
6
22
-23
0
0
0
0
0
0
0
-23
4
0
0
0
0
0
0
8
3
1
0
0
0
0
0
0
2
13
-33
0
0
0
8
0
3
-1
-5
15
0
0
0
0
-2
0
0
0
12
0
0
0
0
0
0
-1
3
-40
0
0
0
0
0
-2
14
-25
-44
0
0
0
10
0
0
2
-2
-44
0
0
0
0
0
0
-5
-1
3
0
0
0
-1
0
0
-1
-42
51
0
0
0
0
3
-1
-2
-2
-67
0
0
0
12
-1
-3
-1
8
4
0
0
0
0
-2
0
0
4
1
0
0
0
0
0
0
2
22
-20
0
0
0
0
0
0
-1
0
-23
0
0
0
8
0
0
3
2
-32
0
0
0
0
2
0
-8
10
45
0
0
0
0
0
-1
8
-5
15
0
0
0
0
0
0
0
-3
8
0
0
0
-2
0
0
-2
-20
-18
0
0
0
0
-1
2
0
-3
8
0
0
0
-1
0
0
0
-5
31
0
0
0
0
-1
0
0
-2
72
0
0
0
6
0
0
0
-2
19
0
0
0
0
0
0
2
-7
23
0
0
0
4
0
0
-3
16
-5
0
0
0
0
0
0
-1
13
7
0
0
0
17
0
0
0
-25
14
0
0
0
0
-3
-1
0
7
2
0
0
0
0
0
0
3
49
-27
0
0
0
0
0
0
-1
-25
55
0
0
0
0
2
0
1
-3
-5
0
0
0
0
-1
0
0
14
-15
0
0
0
0
0
0
0
10
7
0
0
0
0
0
0
-3
-14
1
0
0
0
0
2
-1
4
-4
-13
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
-1
8
-4
0
0
0
0
0
0
-1
-6
22
0
0
0
0
2
0
-6
-15
13
0
0
0
0
2
2
0
2
-44
0
0
0
0
0
0
-2
-5
-41
0
0
0
0
0
0
0
-13
31
0
0
0
0
2
0
2
-10
6
0
0
0
0
-5
-4
0
0
5
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-5
31
0
0
0
0
0
0
-6
0
29
0
0
0
0
-2
1
0
-22
15
0
0
0
0
0
-1
3
-2
7
0
0
0
0
0
0
1
-18
33
0
0
0
0
0
-1
0
7
-13
0
0
0
0
0
0
0
4
-10
0
0
0
0
-1
0
2
-49
6
0
0
0
0
1
0
0
-28
44
0
0
0
0
2
0
-1
-9
30
0
0
0
0
1
-1
0
17
1
0
0
0
0
0
0
0
-2
67
0
0
0
0
0
0
0
2
3
0
0
0
0
-1
-1
0
0
33
0
0
0
0
5
-1
0
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
2
-1
-7
-34
-47
-70
35
6
0
0
-7
5
-3
-10
-27
9
-6
0
10
-2
-6
-8
-1
-14
-1
-2
0
0
7
35
7
33
-4
17
-16
0
0
0
0
0
0
0
0
0
0
0
0
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
5
3
6
37
7
14
1
0
0
0
33
-25
-2
-29
24
-1
0
0
-33
75
-16
13
19
-10
-5
0
0
0
-23
18
-19
-29
53
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-5
-2
-1
-14
3
-9
0
0
0
0
0
-7
0
-38
-14
0
0
0
31
-8
8
14
-13
-25
0
0
0
0
-12
-19
7
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
-9
-2
-16
-5
-15
0
0
0
0
-8
5
8
-9
-18
0
0
0
10
-27
26
32
20
1
0
0
0
0
20
3
7
-23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
37
7
15
0
0
0
-2
-1
-5
-52
-22
-2
0
0
0
0
-1
-9
-1
3
6
0
0
0
0
3
0
14
-83
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-17
17
0
0
0
0
0
-1
-20
-42
20
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-2
-13
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
23
0
0
0
0
0
0
0
-8
15
0
0
0
0
0
-1
0
-28
19
0
0
0
0
0
0
0
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
37
0
0
0
0
0
0
0
-23
55
0
0
0
0
0
0
0
3
-38
0
0
0
0
0
0
1
-23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
-46
-10
6
0
0
0
0
0
24
46
-76
0
0
11
0
0
-2
-9
29
12
-4
0
0
0
0
3
-2
5
-3
-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
2
25
4
-7
0
0
0
0
0
0
-6
28
4
0
0
2
0
0
5
-42
1
10
0
0
0
0
0
0
1
-24
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-18
0
0
0
0
0
0
0
-16
29
0
0
0
-1
0
0
0
-6
7
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
14
0
0
0
0
0
0
0
-9
-21
0
0
0
0
0
0
-1
-2
-33
0
0
0
0
0
0
-3
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
31
-6
-1
0
0
0
0
7
21
-3
-33
2
0
0
0
0
7
-19
48
-58
-14
0
0
0
1
-1
6
8
-25
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
34
0
0
0
0
0
-1
-42
41
36
0
0
0
0
0
0
16
0
17
0
0
0
-5
0
6
-8
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-8
0
0
0
0
0
0
2
-7
-11
0
0
0
0
0
0
5
4
-18
0
0
0
0
1
0
2
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-12
0
0
0
0
0
0
0
8
-21
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
-31
-7
13
3
0
0
0
0
-1
-25
76
6
-11
0
-1
0
0
8
-8
37
-10
0
0
0
0
0
0
1
1
-10
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
1
0
0
0
-2
31
20
4
0
0
0
0
0
0
3
-4
-7
0
0
0
0
0
0
-2
-48
6
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
13
0
0
0
0
0
0
0
-10
-15
0
0
0
-1
0
0
-1
7
34
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
-1
0
0
0
0
0
0
0
34
-13
0
0
0
0
0
0
0
-32
-5
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
24
7
1
0
0
0
0
-1
9
-7
13
-14
0
0
0
0
0
2
-8
-40
9
0
0
0
0
-1
3
-4
-21
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
34
-6
0
0
0
0
0
0
0
-5
-24
0
0
0
0
0
0
1
-31
1
0
0
0
1
0
0
-1
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
28
0
0
0
0
0
0
0
-9
44
0
0
0
0
0
0
0
2
25
0
0
0
0
0
-1
0
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
21
0
0
0
0
0
0
0
-3
-25
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
49
7
3
0
0
0
0
-3
10
-34
-1
1
0
-3
0
0
-1
22
5
8
2
0
0
0
1
0
10
7
38
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
-1
8
91
-7
0
0
0
0
0
0
-10
19
-5
0
0
-1
0
0
1
13
-12
-7
0
0
0
0
1
0
0
31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
-9
7
0
0
0
0
0
0
0
1
18
0
0
0
7
0
0
0
-6
9
0
0
0
0
0
2
0
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
8
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
1
54
0
0
0
0
0
0
0
-8
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-6
-10
0
0
0
4
0
-7
-18
22
-14
0
0
0
0
0
8
-9
28
-20
0
0
-3
-1
1
-1
3
18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
8
-6
0
0
0
4
0
0
4
-2
-12
0
0
0
1
0
-4
-7
7
6
0
0
0
0
2
0
0
-8
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
0
0
0
0
0
-4
0
0
9
0
0
0
0
0
0
0
13
3
0
0
0
0
0
1
10
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
0
0
0
0
0
-1
0
-4
-1
0
0
0
0
0
-1
-3
0
25
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-12
10
33
9
0
0
0
0
0
5
2
-15
5
0
0
0
0
0
1
-33
9
18
0
0
0
0
0
0
-23
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
19
5
8
0
0
0
0
0
0
1
0
5
0
0
0
0
0
2
16
-43
7
0
0
0
0
0
-1
0
-22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-4
-46
16
0
0
0
0
0
1
-1
-12
8
0
0
0
1
0
0
0
4
34
0
0
0
0
0
0
0
-16
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-12
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
-3
16
1
0
0
0
0
0
0
0
9
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
44
7
0
0
0
0
0
0
12
-72
14
0
0
0
0
0
0
-4
55
-19
0
0
0
0
0
0
-8
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
9
13
0
0
0
0
0
0
12
-5
6
0
0
0
0
2
-1
-2
93
-14
0
0
0
4
-1
0
-1
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
16
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
0
13
21
0
0
0
0
0
0
0
-2
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
29
0
0
0
0
0
0
0
5
-31
0
0
0
0
0
0
0
4
9
0
0
0
0
0
1
0
3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
72
4
0
0
0
0
0
-2
-20
40
1
0
0
9
0
0
-8
19
44
7
0
0
0
0
0
13
-5
44
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-14
3
0
0
0
0
0
2
2
42
-1
0
0
-4
0
0
-13
0
19
-9
0
0
0
0
0
-3
2
-18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-2
0
0
0
0
0
3
0
-5
30
0
0
0
0
0
0
5
5
5
0
0
0
0
0
-1
0
3
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-10
0
0
0
0
0
0
0
-9
10
0
0
0
2
0
0
1
-9
-5
0
0
0
0
0
0
0
-19
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
15
11
0
0
0
-1
0
5
14
30
-2
0
0
0
0
0
0
-25
49
8
0
0
0
-4
-1
0
1
58
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-52
17
0
0
0
1
-1
1
-12
7
12
0
0
0
0
1
3
0
24
-2
0
0
0
0
-2
-2
3
15
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-5
0
0
0
0
0
0
1
1
4
0
0
0
0
0
0
4
2
3
0
0
0
0
0
0
0
-4
-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
9
5
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
-14
0
0
0
0
2
1
-12
5
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
-48
-41
12
0
0
0
0
0
0
-1
22
-17
0
0
6
0
0
0
-2
16
-25
0
0
0
0
0
-4
0
31
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
-26
3
6
0
0
0
0
0
0
-4
7
-15
0
0
-1
0
0
4
-1
30
-20
0
0
0
0
0
-1
0
53
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
13
-26
0
0
0
0
0
0
0
-5
-19
0
0
0
0
0
0
0
13
25
0
0
0
0
0
0
5
-2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-5
-2
0
0
0
0
0
0
0
-8
18
0
0
0
3
0
0
2
-5
-12
0
0
0
0
0
0
0
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
5
0
0
0
0
0
0
-4
3
-4
0
0
0
0
0
0
5
65
-22
0
0
0
0
0
0
0
-25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
13
-6
0
0
0
0
1
-1
-3
9
-7
0
0
0
0
0
0
1
-2
-14
0
0
0
0
3
-5
0
-25
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-3
-22
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
-1
0
-8
6
0
0
0
0
0
0
0
2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
96
-12
0
0
0
0
1
0
-3
34
-12
0
0
5
0
0
-5
0
20
-25
0
0
0
1
-2
0
-1
-15
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
42
-1
0
0
0
0
0
0
0
3
4
0
0
5
0
-1
0
0
-36
-4
0
0
0
-1
2
1
0
61
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
20
0
0
0
0
0
0
0
1
23
0
0
0
-10
0
0
0
-1
24
0
0
0
0
0
0
-1
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
-2
-16
0
0
0
0
0
0
0
-2
33
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
14
0
0
0
0
0
-2
-1
27
7
0
0
0
0
-1
0
-9
25
-19
0
0
0
0
4
1
-3
5
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
9
0
0
0
0
0
0
0
28
24
0
0
0
0
0
4
-1
42
-13
0
0
0
17
-16
5
0
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
1
0
-6
-10
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-1
-2
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
27
0
0
0
0
0
0
0
16
-18
0
0
0
0
-2
0
0
2
-9
0
0
0
0
-1
0
0
-2
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
-5
54
0
0
0
0
0
0
1
-41
33
0
0
0
0
0
0
2
-32
21
0
0
0
0
0
0
-1
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
-15
0
0
0
0
0
0
-10
-10
28
0
0
0
0
0
0
0
-15
-7
0
0
0
0
0
-1
8
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-91
61
0
0
0
0
0
0
3
-18
-9
0
0
0
0
0
0
-1
-10
26
0
0
0
0
0
0
0
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
9
0
0
0
0
0
0
2
23
20
0
0
0
0
0
0
2
-13
14
0
0
0
0
0
0
-5
6
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
22
0
0
0
0
0
0
0
34
-20
0
0
0
0
0
0
0
-7
18
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
49
0
0
0
0
0
0
0
9
26
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-7
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
13
0
0
0
0
0
0
0
10
-26
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
-4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
8
7
0
0
0
0
0
0
0
-10
7
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-4
4
0
0
0
0
0
0
3
-15
-3
0
0
0
-5
0
0
0
-8
-38
0
0
0
0
0
0
0
22
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
16
0
0
0
0
0
0
0
4
-41
0
0
0
3
0
0
8
-3
-6
0
0
0
0
0
0
-1
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
28
0
0
0
0
0
0
0
0
33
0
0
0
-2
0
0
0
-49
24
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
30
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
-2
-15
43
0
0
0
0
0
0
0
-9
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
5
-2
42
0
0
0
0
0
0
3
19
-3
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
23
0
0
0
0
0
0
3
-5
28
0
0
0
0
0
0
-12
1
15
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
59
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
19
0
0
0
0
0
0
1
-18
18
0
0
0
0
0
0
-13
23
9
0
0
0
0
2
0
2
-28
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-2
-9
6
0
0
0
0
0
0
0
9
12
0
0
0
-2
0
0
0
-5
-31
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
-24
29
0
0
0
0
0
0
0
30
-8
0
0
0
0
0
0
2
-12
38
0
0
0
0
0
0
-1
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-28
0
0
0
0
0
0
0
-33
46
0
0
0
0
0
0
0
-13
42
0
0
0
0
0
0
0
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
-4
-49
0
0
0
0
0
0
0
-34
29
0
0
0
0
0
0
2
4
-18
0
0
0
0
0
0
0
22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
10
-5
0
0
0
0
0
-1
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-51
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
-1
-2
35
0
0
0
0
0
0
-1
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
8
0
0
0
0
0
0
0
25
18
0
0
0
0
0
0
0
-10
42
0
0
0
0
0
0
0
-2
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
-10
14
0
0
0
0
0
0
0
-12
9
0
0
0
0
0
0
1
-12
50
0
0
0
0
0
0
0
-14
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
3
64
0
0
0
0
0
0
0
-9
-15
0
0
0
7
0
0
0
-6
-19
0
0
0
0
0
0
-1
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
4
-11
0
0
0
-8
0
0
0
2
20
0
0
0
0
0
1
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
5
16
-43
0
0
0
0
0
0
0
16
-13
0
0
0
25
0
0
1
22
-23
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
-8
-10
0
0
0
0
0
0
0
26
21
0
0
0
2
0
0
0
-32
-30
0
0
0
0
0
-1
0
-18
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
0
0
0
0
0
0
1
-13
42
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
2
-2
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
27
0
0
0
0
-2
0
0
10
-7
0
0
0
0
0
0
-6
10
20
0
0
0
0
-1
5
0
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
25
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
-9
19
0
0
0
0
2
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
41
0
0
0
0
0
1
0
-5
-39
0
0
0
0
0
0
0
-6
34
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-27
-58
0
0
0
0
0
0
1
-13
-10
0
0
0
0
0
0
8
41
-29
0
0
0
0
0
0
0
3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
35
-29
0
0
0
0
0
0
7
14
-52
0
0
0
1
0
0
2
-72
21
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
0
0
0
0
0
0
1
-2
-16
0
0
0
0
0
0
-5
-13
23
0
0
0
0
0
0
-1
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
24
0
0
0
0
0
0
0
9
13
0
0
0
0
0
0
2
1
-12
0
0
0
0
0
0
1
-60
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
20
16
0
0
0
0
0
0
1
-10
13
0
0
0
0
0
-1
-1
-9
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
41
0
0
0
0
0
0
-3
6
41
0
0
0
0
0
0
2
14
-33
0
0
0
0
0
0
0
5
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
32
0
0
0
0
0
0
0
-20
49
0
0
0
0
0
0
0
17
-32
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
28
0
0
0
0
0
0
1
-28
14
0
0
0
0
0
0
0
39
-13
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
24
0
0
0
0
0
0
0
-1
-7
0
0
0
12
0
0
0
-4
12
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-25
0
0
0
0
0
0
-1
-25
18
0
0
0
-4
0
0
-3
-4
8
0
0
0
0
0
0
4
3
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
28
0
0
0
0
0
0
0
-9
41
0
0
0
-18
0
0
1
18
-15
0
0
0
0
0
1
0
-9
-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
1
0
0
-3
23
14
0
0
0
0
0
0
0
-13
12
0
0
0
-1
0
0
10
-20
-30
0
0
0
0
1
0
0
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
0
0
0
0
0
-2
0
19
-15
0
0
0
0
0
0
-4
8
-5
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-10
0
0
0
0
0
0
0
7
44
0
0
0
0
3
0
4
-6
1
0
0
0
0
4
-1
-2
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
51
0
0
0
0
0
-1
1
-4
-8
0
0
0
0
0
0
0
-1
-33
0
0
0
0
0
2
0
-1
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
27
0
0
0
0
0
0
-5
-11
-1
0
0
0
0
2
0
3
5
-39
0
0
0
0
-8
1
-3
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
-46
0
0
0
0
0
0
0
0
29
3
0
0
0
-1
0
0
0
-3
-17
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-49
15
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
0
-5
-77
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-6
7
0
0
0
0
0
0
0
50
1
0
0
0
2
0
0
0
-22
9
0
0
0
0
0
-1
0
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
1
-6
-9
0
0
0
0
0
0
0
28
-3
0
0
0
-3
0
0
-4
-7
43
0
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
7
0
0
0
0
0
1
0
-29
-21
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
-9
87
0
0
0
0
0
0
2
-1
7
0
0
0
0
0
4
0
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
0
0
0
0
0
0
0
30
-13
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
-1
0
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-18
-7
0
0
0
0
0
0
0
6
26
0
0
0
0
0
-1
0
-8
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-51
0
0
0
0
0
0
0
-3
-16
0
0
0
-2
0
0
0
-3
15
0
0
0
0
3
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-10
0
0
0
0
0
0
1
-1
36
0
0
0
-4
0
0
6
-5
11
0
0
0
0
-1
-1
-1
1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-18
17
0
0
0
0
0
0
-2
7
-1
0
0
0
22
0
-1
1
0
11
0
0
0
0
-1
-1
0
-8
-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
-4
20
0
0
0
0
0
0
0
-2
19
0
0
0
7
0
0
0
-10
17
0
0
0
0
0
-2
0
-8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
-6
1
0
0
0
0
1
0
0
2
1
0
0
0
0
-1
0
0
3
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
2
-9
0
0
0
0
0
0
0
4
25
0
0
0
0
0
0
0
2
-28
0
0
0
0
0
8
6
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
2
12
5
0
0
0
0
0
0
2
-6
-6
0
0
0
0
-1
3
0
11
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
16
0
0
0
0
-2
2
0
-19
17
0
0
0
0
-1
2
-1
3
14
0
0
0
0
4
1
0
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
6
-1
2
-10
4
-17
15
-2
0
0
-1
-8
7
-3
93
-4
-6
0
16
1
8
-14
-45
66
-7
1
0
0
-4
-19
47
-32
12
-45
5
12
-2
0
-1
-8
-32
-17
5
11
0
0
0
-6
1
-8
-45
2
4
0
25
0
17
-7
9
101
0
2
0
0
18
-22
-3
19
-6
-7
-5
-10
0
-1
-4
17
15
4
-5
0
0
0
1
-2
3
18
-4
0
0
0
1
1
-1
6
-31
-4
-8
0
0
0
4
10
2
-7
-4
-31
0
17
-2
-3
0
17
16
0
-37
0
0
0
0
-5
-14
-1
-23
-7
0
0
31
-7
6
-13
9
-2
-21
0
0
0
15
15
-8
6
29
-6
0
3
1
0
-9
25
-26
-20
0
0
0
0
0
-2
16
5
4
0
0
0
3
0
0
3
33
-7
0
0
0
0
2
7
-43
-28
-4
0
0
9
0
0
0
-2
-55
-6
0
0
0
0
0
13
-8
-41
49
0
0
0
4
13
-4
-2
6
-19
0
0
0
0
-30
-2
3
14
5
0
0
6
1
0
12
47
-10
-5
0
0
0
0
0
2
2
-57
104
0
0
0
-14
-2
12
4
-41
19
0
0
0
0
-9
-50
-11
18
73
0
0
-3
8
0
-5
0
5
-21
0
0
0
0
0
-19
4
24
12
0
0
0
-19
8
-12
22
-2
30
0
0
0
0
-5
-11
21
-32
-9
0
0
0
0
0
0
0
-16
58
-19
4
0
0
0
0
0
5
2
22
-17
0
0
0
0
0
-8
1
-25
14
0
0
0
0
0
-3
3
-28
24
0
0
0
0
0
-12
54
18
5
0
0
0
0
0
1
-24
15
-4
0
0
0
0
1
0
49
7
-1
0
0
0
0
0
0
-3
-110
0
0
0
0
0
0
10
15
-3
0
0
0
0
0
0
-4
35
-39
0
0
0
0
0
2
-13
45
-11
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
-46
24
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
-10
6
0
0
0
0
0
0
-2
5
-6
0
0
0
0
0
0
-25
-13
0
0
0
0
0
0
0
5
25
0
0
0
0
0
0
0
25
15
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
10
-71
0
0
0
0
0
0
0
-6
19
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-15
-9
0
0
0
0
0
0
0
12
19
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
-22
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
-30
26
-84
7
0
0
0
0
0
5
22
-88
-1
0
2
0
0
0
24
-29
18
3
0
0
0
0
0
0
14
24
-15
0
0
0
0
0
1
9
-9
2
0
0
0
0
0
-4
16
-16
-8
0
2
0
0
-1
-2
6
-79
-14
0
0
0
0
0
-7
1
56
-16
0
0
0
0
0
12
83
-18
0
0
0
0
0
0
0
59
-12
0
0
0
0
0
0
0
25
7
0
0
0
0
0
0
1
-20
17
0
0
0
0
0
0
-7
24
-2
0
0
0
0
0
0
-1
-35
3
0
0
-5
0
0
0
-1
12
-26
0
0
0
0
0
0
0
2
-26
0
0
0
0
0
0
3
57
0
0
0
0
0
0
0
-7
16
0
0
0
0
0
0
-1
12
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
21
0
0
0
0
0
0
0
-3
21
0
0
0
-2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-25
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
7
12
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
-1
36
0
0
0
0
0
0
0
0
-33
0
0
0
1
0
0
0
0
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
18
54
-66
-8
0
0
0
0
0
-5
-18
-11
-2
0
0
0
0
0
-1
14
-15
4
0
0
2
0
1
13
-2
-20
-4
0
0
0
0
0
0
-35
-66
1
0
0
0
0
0
1
-13
-56
2
0
0
0
0
-2
0
25
-102
-8
0
0
0
0
0
0
-1
17
2
0
0
0
0
0
-7
-14
6
0
0
0
0
0
-2
4
-5
10
0
0
0
0
0
-3
-3
-30
30
0
0
0
0
0
5
-2
5
-24
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
1
6
-4
-7
0
0
0
0
0
0
0
25
-11
0
0
0
0
0
0
0
-4
76
0
0
0
0
0
0
-3
64
0
0
0
0
0
0
0
7
-19
0
0
0
0
0
0
1
-1
42
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
9
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
-5
32
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
1
-17
-1
24
0
0
0
0
0
-6
7
-10
12
0
0
0
0
0
16
3
15
7
0
0
0
0
0
0
10
-11
9
3
0
0
0
0
7
12
2
-6
0
0
0
0
0
0
3
3
-19
0
0
0
0
0
2
-1
24
-1
0
0
0
0
0
1
-5
-23
-12
0
0
0
0
0
-6
-42
11
0
0
0
0
0
0
1
-7
4
0
0
0
0
0
0
6
46
6
0
0
0
0
0
0
-2
33
-14
0
-2
0
0
0
0
-8
-42
2
0
0
0
0
0
0
-3
-7
-1
0
0
1
0
0
0
0
3
-1
0
0
0
0
0
0
0
4
-24
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
5
22
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
1
35
0
0
-1
0
0
0
0
-3
17
0
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
1
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
-1
68
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-15
-15
5
-8
0
0
0
0
0
2
-17
4
30
0
0
0
0
0
-9
-13
-17
7
0
0
0
0
0
-5
-4
54
-17
0
0
0
0
0
5
-3
0
-9
0
0
0
0
0
-1
0
-11
15
0
0
0
0
0
1
-2
-46
2
0
0
0
0
0
0
0
-9
-22
0
0
0
0
0
-10
5
16
0
0
0
0
0
0
-4
4
12
0
0
0
0
0
0
0
-15
-10
0
0
0
0
0
0
-5
8
-8
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
8
-16
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
7
-29
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
-10
18
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
-1
-22
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
6
-14
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
13
-19
-37
6
0
0
0
0
0
-14
-5
-6
10
0
0
0
0
0
-19
-7
-19
9
0
0
0
0
1
6
-6
39
4
0
0
0
0
0
2
5
-20
4
0
0
0
0
0
-1
1
-18
-20
0
0
0
0
0
4
0
20
-12
0
0
0
0
0
1
2
7
11
0
0
0
0
0
0
41
3
0
0
0
0
0
0
2
8
1
0
0
0
0
0
0
8
-24
5
0
0
0
0
0
0
0
-30
19
0
0
0
0
0
0
3
5
-8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
-7
-2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
-1
76
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
3
-42
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
43
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-26
3
0
0
0
0
0
-3
-4
-8
16
0
0
0
0
0
0
8
-5
10
0
0
-1
0
0
16
0
-49
0
0
0
0
0
0
0
-4
-21
14
0
0
0
-1
0
-1
2
-3
-11
0
0
0
0
0
0
4
6
-15
0
0
0
0
0
-1
0
35
-22
0
0
0
0
0
0
4
7
0
0
0
0
1
0
-1
16
25
0
0
0
0
0
0
0
8
27
0
0
0
0
0
0
-2
1
30
0
0
0
0
0
0
-1
19
2
0
0
0
0
0
0
-1
3
-19
0
0
0
0
0
0
0
3
24
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
8
20
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
9
-3
0
0
0
0
0
3
7
-39
15
0
0
0
0
0
0
25
32
-24
0
0
0
0
0
0
5
-13
-18
0
-3
0
0
0
0
7
22
11
0
0
0
0
0
0
0
-20
13
0
0
0
0
0
0
-12
-8
26
0
0
0
0
0
0
0
8
-4
0
0
0
0
0
-4
-7
25
14
0
0
0
0
0
0
12
-25
-8
0
0
0
0
0
0
0
39
-13
0
0
0
0
0
0
0
7
-44
0
0
0
0
0
1
1
-20
12
0
0
0
0
0
0
1
-23
5
0
0
0
0
0
0
0
35
-29
0
0
0
0
0
0
1
18
-11
0
0
0
0
0
-3
-8
-5
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
-23
0
0
-2
0
0
0
3
-5
8
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
-1
-3
-5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
13
10
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
4
14
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-3
11
-60
0
0
0
0
0
0
-35
8
10
0
0
0
0
0
0
-22
31
-52
0
0
0
0
0
0
13
42
-50
0
0
0
0
0
0
2
1
11
0
0
0
0
0
0
4
-13
5
0
0
0
0
0
0
0
13
-37
0
0
0
0
0
0
-3
-4
-26
0
0
0
0
0
0
-2
-18
9
0
0
0
0
0
0
-1
47
-4
0
0
0
0
0
0
0
31
-15
0
0
0
0
0
0
0
-12
-13
0
0
0
0
0
0
-2
42
-12
0
0
0
0
0
0
0
20
-5
0
0
0
0
0
0
1
-10
-49
0
0
0
0
0
0
-2
-9
-5
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-4
18
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
2
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
9
75
-44
0
0
0
0
0
0
-3
55
-15
0
0
0
0
0
0
-8
-36
35
0
0
0
0
0
0
2
29
-94
0
0
0
0
0
0
1
-16
19
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
2
4
-17
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
-1
-11
4
0
0
0
0
0
0
0
48
-7
0
0
0
0
0
0
3
9
-12
0
0
0
0
0
0
0
11
5
0
0
0
0
0
0
0
74
-5
0
0
0
0
0
0
0
28
4
0
0
-1
0
0
0
0
14
-22
0
0
0
0
0
0
0
-7
-14
0
0
0
0
0
0
-12
9
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-7
-41
0
0
0
0
0
0
0
6
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-8
44
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
13
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
-1
-13
-6
0
0
0
0
0
0
-10
-8
-28
0
0
0
0
0
0
14
-23
50
0
0
0
0
0
-3
0
22
-46
0
0
0
0
0
0
5
-13
4
0
0
0
0
0
0
5
110
-24
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
2
15
45
0
0
0
0
0
0
0
-28
1
0
0
0
0
0
0
0
-21
10
0
0
0
0
0
0
2
5
-3
0
0
0
0
0
-3
0
16
-7
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-29
5
0
0
0
0
0
0
0
-14
57
0
0
0
1
0
0
0
-19
16
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
2
-24
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
-3
33
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
76
-52
0
0
0
0
0
0
-1
-9
-12
0
0
0
0
0
-2
9
-9
0
0
0
0
0
0
0
2
-45
23
0
2
0
0
0
0
1
-24
3
0
0
0
0
0
0
0
22
-3
0
0
0
0
0
0
1
29
-13
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
-6
17
4
0
0
0
0
0
0
-1
57
-13
0
0
0
0
0
2
0
24
-9
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
16
12
0
0
0
0
0
0
-1
18
24
0
0
0
0
0
0
0
21
6
0
0
0
0
0
0
0
-13
-22
0
0
0
0
0
1
2
-5
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
4
-21
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-1
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
1
49
0
0
0
0
0
0
0
0
50
0
0
-1
0
0
0
-1
3
22
0
0
0
0
0
0
0
0
29
0
0
0
4
0
0
0
-6
-18
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
-2
5
-30
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
-42
13
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
4
-34
0
0
0
0
0
0
0
-9
46
0
0
0
0
0
0
1
-17
12
0
0
0
0
0
0
0
34
1
0
0
0
0
0
0
0
-65
16
0
0
0
0
0
-1
0
-9
28
0
0
0
0
0
0
0
1
-23
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
16
-9
0
0
0
0
0
0
0
7
15
0
0
0
0
0
0
0
-15
16
0
0
0
0
0
0
0
-15
49
0
0
0
0
0
0
-2
10
5
0
0
0
0
0
0
0
-5
1
0
0
-2
0
0
0
0
-4
14
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-22
5
0
0
1
0
0
0
0
-49
6
0
0
0
0
0
0
0
-16
60
0
0
0
0
0
0
0
-32
15
0
0
0
0
0
0
0
11
3
0
0
-2
0
0
0
0
-17
16
0
0
0
0
0
0
0
18
-11
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
-2
0
45
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
12
0
0
0
0
0
0
0
0
33
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
25
-2
0
0
0
0
0
0
7
2
-10
0
0
0
0
0
0
0
2
30
0
0
0
0
0
0
-2
6
-51
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-56
31
0
0
0
0
0
0
1
8
15
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
2
-5
43
0
0
0
0
0
0
0
18
-19
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
4
21
0
0
0
0
0
0
0
1
59
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
-14
13
0
0
0
0
0
0
0
-8
42
0
0
0
0
0
0
-1
-4
45
0
0
0
0
0
0
0
-9
13
0
0
0
0
0
0
-1
2
26
0
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
-1
-1
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
16
-11
0
0
0
0
0
0
0
-10
-14
0
0
0
0
0
0
0
-15
56
0
0
0
0
0
0
-4
-2
-14
0
0
0
0
0
0
-3
-15
-1
0
0
0
0
0
0
0
-10
-5
0
0
0
0
0
0
1
-8
-4
0
0
0
0
0
0
2
0
-7
0
0
0
0
0
0
0
-2
28
0
0
0
0
0
0
1
-10
53
0
0
0
0
0
0
2
-4
-50
0
0
0
0
0
0
0
-1
41
0
0
0
0
0
0
0
6
34
0
0
0
0
0
0
0
-10
19
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
-25
18
0
0
0
0
0
0
0
24
-23
0
0
0
0
0
0
0
42
-15
0
0
0
0
0
0
0
13
-14
0
0
0
0
0
0
-3
-3
-59
0
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
0
-14
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
1
42
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
9
-29
0
0
0
0
0
0
0
8
19
0
0
0
0
0
0
0
-9
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-12
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-30
-23
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
63
0
0
0
0
0
0
0
-7
30
0
0
0
0
0
0
0
-1
-42
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
7
13
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-3
-32
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
-12
0
0
0
3
0
0
0
1
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
8
-3
0
0
0
0
0
0
0
2
25
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
-5
11
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
13
0
0
0
8
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
5
13
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
17
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
2
-3
0
0
0
-4
0
0
0
0
25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
14
-21
0
0
0
0
0
0
0
2
-18
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
1
-5
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
53
0
0
0
0
0
0
0
5
28
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
-7
35
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
2
-39
25
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
-6
3
0
0
0
0
0
0
0
1
-5
0
0
1
0
0
0
0
-1
3
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
0
-41
65
0
0
0
0
0
0
0
24
-23
0
0
0
0
0
0
0
0
-24
0
0
-1
0
0
0
1
1
-17
0
0
0
0
0
0
0
2
-27
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
6
17
0
0
0
0
0
0
0
13
8
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
-3
-6
0
0
-2
0
0
0
0
6
2
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
-23
0
0
0
0
0
0
0
19
28
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
0
-19
27
0
0
0
0
0
0
0
-2
-18
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
12
-12
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
-2
24
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
-3
38
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
-3
22
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
22
-8
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
16
-18
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
-3
-34
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
0
8
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
-15
22
0
0
0
0
0
0
0
-4
31
0
0
0
0
0
0
0
-21
33
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
0
0
8
-21
0
0
0
0
0
0
0
-8
5
0
0
0
-1
0
0
0
2
-1
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
0
-22
43
0
0
0
0
0
0
0
8
-22
0
0
0
0
0
0
0
5
-20
0
0
0
0
0
0
0
-3
5
0
0
0
2
0
0
0
1
9
0
0
0
0
0
0
0
-17
8
0
0
0
-1
0
0
0
-8
-5
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
1
0
-1
8
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-16
-2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-10
65
0
0
0
0
0
0
0
-12
15
0
0
0
0
0
0
0
-13
-4
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
-2
-29
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
-21
57
0
0
0
0
0
0
0
3
31
0
0
0
0
0
0
0
1
33
0
0
0
0
0
0
0
42
-4
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
-8
15
0
0
0
0
0
0
0
-37
44
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
23
39
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
17
57
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
-1
-24
-19
0
0
0
0
0
0
0
34
-20
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
12
16
0
0
-2
0
0
0
0
24
-21
0
0
0
0
0
0
0
-16
5
0
0
0
0
0
0
0
-13
16
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-3
25
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
4
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
0
-1
46
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
10
42
0
0
0
0
0
0
0
-2
44
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
50
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
-31
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
-18
0
0
0
0
0
0
0
-13
23
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
-5
-22
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
-13
-5
0
0
0
0
0
0
0
3
-4
0
0
0
-3
0
0
0
3
8
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
0
0
3
14
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-1
-30
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
1
37
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-12
-3
0
0
0
0
0
0
0
4
3
0
0
0
3
0
0
0
4
-9
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
8
-17
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
-7
24
0
0
0
0
0
0
0
2
-29
0
0
0
0
0
0
0
-17
41
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
-33
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-5
-13
0
0
0
0
0
0
0
-1
-37
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-1
16
-5
0
0
0
0
0
0
0
-5
31
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
9
23
0
0
0
0
0
0
0
-3
-18
0
0
0
0
0
0
0
16
59
0
0
0
0
0
0
0
2
7
0
0
-1
0
0
0
0
5
-25
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-17
14
0
0
0
0
0
0
0
14
-11
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-12
4
0
0
3
0
0
0
0
-2
-24
0
0
0
0
0
0
0
10
13
0
0
0
0
0
0
0
-4
-18
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
2
2
-2
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
-25
-24
0
0
0
0
0
0
0
3
30
0
0
0
0
0
0
0
-3
21
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
-1
-49
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
5
13
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
2
23
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
16
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
7
23
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-2
0
0
23
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
31
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
-31
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
-1
-31
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
1
-24
0
0
0
3
0
0
0
-1
-3
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-1
-50
0
0
0
0
0
0
0
0
8
0
0
0
2
0
0
0
0
25
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
3
16
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
20
54
-44
-14
-6
15
-5
10
-3
0
0
-8
10
-15
5
-59
11
7
0
-1
-30
-74
41
-22
104
-8
-4
0
0
13
18
-7
-23
4
15
-9
35
-13
5
22
10
17
6
-19
-6
0
0
13
50
-14
-114
103
3
14
0
-38
0
2
20
-67
8
3
10
0
0
-3
-23
2
-63
9
5
16
39
20
-5
-27
-24
-42
51
-16
0
0
0
4
9
47
-64
-5
-18
0
0
52
-8
-7
-15
2
8
-8
0
0
0
-1
4
-1
9
90
-39
0
-17
1
0
-8
-17
-100
16
45
0
0
0
1
-2
-5
-4
-4
30
0
0
-16
0
2
-16
-3
5
0
0
0
0
0
0
-3
45
55
-56
0
0
76
-15
-6
-21
0
6
0
0
0
0
0
-29
-32
1
28
0
0
0
2
-1
-3
-18
-59
31
0
0
0
0
0
-4
-25
87
-25
0
0
-27
34
0
8
5
-77
45
0
0
0
0
0
-5
-10
-49
61
0
0
0
27
0
0
8
-98
66
0
0
0
0
1
3
8
16
31
0
0
-3
1
0
-3
-7
11
11
0
0
0
0
0
-4
4
-6
-20
0
0
0
-4
0
3
25
-14
-32
0
0
0
0
0
3
-1
-53
-49
0
0
0
0
0
3
0
-27
2
0
0
0
0
-1
0
1
-36
-16
0
0
0
1
0
-1
3
5
2
0
0
0
0
0
0
-4
1
-24
0
0
0
0
38
121
-10
54
32
-33
11
0
0
-5
3
8
43
117
-6
-32
0
0
-13
43
-40
47
-53
-24
30
0
0
-24
-19
63
-104
78
-19
41
0
0
-4
-34
41
-70
-14
22
21
0
0
5
31
-74
36
-49
2
-4
0
0
1
8
-1
8
79
-23
-7
0
0
15
35
-21
26
-25
-19
36
0
0
-13
-13
4
33
-53
10
0
0
0
23
25
-18
-128
13
21
0
0
0
-4
-6
19
53
23
-32
0
0
0
40
30
-55
-24
41
-17
0
0
0
0
-2
13
-36
6
8
0
0
0
1
-4
14
-27
17
-13
0
0
0
1
0
0
6
-21
40
0
0
0
5
4
2
23
50
-12
0
0
0
-5
18
0
30
6
0
0
0
0
0
-37
4
5
31
0
0
0
0
0
-5
30
25
-13
0
0
0
0
8
4
-14
-14
46
0
0
0
0
0
-35
-7
-19
35
0
0
0
0
1
-17
-3
-60
-46
0
0
0
0
0
-1
-23
-17
-18
0
0
0
0
1
-2
5
-7
-7
0
0
0
0
0
1
-8
-41
30
0
0
0
0
-2
0
-2
-10
-1
0
0
0
0
-8
0
-6
45
8
0
0
0
0
0
2
0
-42
-1
0
0
0
0
0
0
0
-4
29
0
0
0
0
-3
0
0
-51
43
0
0
0
0
0
0
0
-7
-1
0
0
0
0
-2
3
2
-5
20
0
0
0
-17
-5
2
12
-55
-19
9
29
0
0
19
27
116
-67
26
-1
18
0
-41
-5
6
-26
6
-18
-16
20
0
0
-16
-50
8
78
25
-18
19
0
3
4
-7
11
-5
-58
38
11
0
0
0
-9
22
-81
72
30
41
0
-6
0
1
-6
-28
27
37
5
0
0
16
20
-44
-14
21
7
12
0
-5
0
0
28
-162
36
4
0
0
0
0
-3
30
1
5
-4
0
0
51
-2
20
66
-47
13
-27
0
0
0
16
-23
5
-45
17
0
0
0
-7
0
0
50
-97
-3
40
0
0
0
0
1
-5
6
28
-9
0
0
80
0
-3
19
-52
24
4
0
0
0
0
0
5
-14
1
54
0
0
5
3
-29
4
43
19
0
0
0
0
-5
-6
8
-94
34
0
0
0
34
0
0
-18
-29
24
0
0
0
0
0
-1
2
2
-18
0
0
0
6
0
-1
-27
-83
34
0
0
0
0
2
-1
-25
-30
-44
0
0
0
16
0
-2
-26
3
22
0
0
0
0
-4
-5
25
14
67
0
0
0
1
0
4
-25
-55
65
0
0
0
0
0
0
1
5
-13
0
0
0
-6
0
-1
4
-32
53
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-12
-59
16
0
0
0
0
0
0
1
20
9
0
0
0
-34
0
0
0
-24
10
0
0
0
0
0
0
1
0
17
0
0
0
0
21
51
50
42
-12
12
13
0
0
-1
4
-29
-48
-41
40
76
0
0
-3
22
24
-41
-94
-2
16
0
0
-56
-11
-39
77
9
41
1
0
0
6
18
-49
-61
-5
30
19
0
0
-49
0
41
21
28
-3
8
0
0
0
-6
-27
22
95
33
0
0
0
-46
7
20
65
106
28
-26
0
0
0
17
53
-19
0
-13
0
0
0
-43
-58
3
67
52
-31
0
0
0
2
4
14
-7
11
-4
0
0
0
20
-42
-5
-42
-12
8
0
0
0
0
-1
17
-33
11
-49
0
0
0
-3
1
19
64
32
-44
0
0
0
0
1
18
-41
56
-41
0
0
0
107
-49
-13
-58
49
-14
0
0
0
-7
4
-12
34
-30
0
0
0
0
10
27
-25
-44
-15
0
0
0
0
0
-1
-5
-24
43
0
0
0
0
-16
8
-3
3
24
0
0
0
0
3
3
-10
-20
40
0
0
0
0
-3
38
-15
28
-4
0
0
0
0
0
4
-21
8
-10
0
0
0
0
22
22
-8
-7
-43
0
0
0
0
-2
0
18
-41
99
0
0
0
0
-3
19
-5
3
75
0
0
0
0
0
0
3
-42
107
0
0
0
0
0
-7
-7
-24
29
0
0
0
0
0
0
-3
-7
7
0
0
0
0
-3
1
1
-18
25
0
0
0
0
0
0
1
-3
42
0
0
0
0
-7
3
1
-2
-18
0
0
-3
39
-6
-62
-44
9
-58
16
-1
0
0
-1
-10
19
36
10
-37
14
0
18
0
0
-27
-2
-57
-2
23
0
0
1
-9
-60
43
22
-56
37
-48
3
0
-5
9
7
76
-24
-4
0
0
0
7
-8
-58
29
7
11
0
4
0
0
-21
6
59
-65
10
0
0
0
1
-1
-3
-7
-48
23
12
1
0
5
57
-62
27
17
0
0
0
0
12
-31
-42
-47
27
0
0
13
0
-1
53
-10
48
-34
0
0
0
0
-1
15
-41
12
-23
0
20
0
0
2
19
23
23
-17
0
0
0
0
-3
3
-24
76
8
0
0
3
0
1
-1
50
74
-20
0
0
0
0
0
-4
-4
58
-6
0
9
0
0
-19
5
-55
4
0
0
0
0
0
6
3
20
-42
0
0
0
-42
0
0
-9
-15
-23
0
0
0
0
0
0
-5
5
63
0
0
5
1
0
0
-41
-27
74
0
0
0
0
1
2
8
-27
-41
0
0
0
42
0
0
6
26
16
0
0
0
0
0
0
-5
14
31
0
0
-3
1
0
-2
-31
-43
106
0
0
0
0
0
-1
3
-6
5
0
0
0
0
0
-3
0
48
13
0
0
0
0
0
2
1
-6
97
0
0
4
0
0
2
10
40
-30
0
0
0
0
0
0
0
-14
48
0
0
0
-5
0
1
0
-42
20
0
0
0
0
0
0
0
4
8
0
0
0
0
8
-41
-6
2
56
5
-1
0
0
-5
-25
-2
0
-83
4
65
0
0
8
-14
45
-27
-15
-17
10
0
0
-52
-11
25
-39
25
-15
37
0
0
0
-32
-8
2
139
-49
-4
0
0
0
-1
-7
4
-34
19
5
0
0
0
0
0
3
8
-53
4
0
0
12
41
9
31
-30
-19
23
0
0
0
0
-99
-30
62
9
0
0
0
0
-9
-8
-49
-2
14
0
0
0
0
-1
8
-12
13
-1
0
0
0
0
16
19
35
-10
-3
0
0
0
0
-4
8
5
50
1
0
0
0
0
-5
3
5
10
7
0
0
0
0
0
14
0
-6
3
0
0
0
0
-3
-4
17
24
-39
0
0
0
0
-17
-10
-25
25
0
0
0
0
0
-3
0
-30
-10
0
0
0
0
0
0
-12
-8
22
0
0
0
0
0
-32
4
-39
-42
0
0
0
0
0
1
-10
-67
31
0
0
0
0
0
0
-2
-5
-53
0
0
0
0
0
-1
-1
-35
66
0
0
0
0
14
-17
-4
-14
67
0
0
0
0
0
1
4
0
19
0
0
0
0
0
-2
0
-25
72
0
0
0
0
0
0
0
-10
24
0
0
0
0
0
4
-1
1
22
0
0
0
0
0
0
0
2
21
0
0
0
0
0
0
1
-3
7
0
0
0
0
0
0
0
-7
55
0
0
0
0
0
0
2
-5
-1
0
0
0
-5
8
-61
49
47
22
2
23
0
0
0
4
1
-76
45
30
30
0
-68
0
-2
66
-14
68
-31
16
0
0
-26
4
61
-3
-29
-52
11
0
49
0
-6
-28
-61
-43
24
12
0
0
0
0
16
-58
9
34
7
0
-56
0
1
-6
-78
28
28
20
0
0
0
-24
71
39
92
-49
-8
0
56
0
0
-13
-31
-27
-4
0
0
0
0
0
-13
-10
19
15
0
0
24
0
0
16
-9
-31
2
0
0
0
0
2
-63
50
44
25
0
0
-5
0
-1
-3
-24
106
-1
0
0
0
0
-1
2
-4
89
-15
0
0
-15
0
0
1
-27
6
36
0
0
0
-2
5
4
-7
23
-23
0
0
89
0
10
-47
4
-66
0
0
0
0
0
1
-2
7
5
0
0
0
18
0
-2
-9
-5
67
0
0
0
0
0
0
-14
6
13
0
0
0
-48
0
0
-15
22
40
0
0
0
0
0
2
-2
-2
48
0
0
0
96
0
0
1
-51
-21
0
0
0
0
0
-5
8
-12
29
0
0
0
1
0
0
0
31
-58
0
0
0
0
0
0
0
-42
91
0
0
0
-17
0
0
1
-17
7
0
0
0
0
0
-8
0
-4
22
0
0
0
1
0
-1
0
0
22
0
0
0
0
0
0
1
2
-19
0
0
0
-40
0
-2
0
13
5
0
0
0
0
0
-2
4
1
4
0
0
0
0
46
-59
-20
7
81
12
4
0
0
34
22
-27
-41
110
-2
0
0
0
-1
-16
-31
-7
44
-55
15
0
0
8
9
14
9
-49
-11
1
0
0
1
-5
41
22
13
9
-1
0
0
2
0
-13
8
1
1
7
0
0
0
-3
8
32
5
6
-3
0
0
-39
84
40
0
-1
-27
16
0
0
0
9
-6
-47
13
-17
0
0
0
-1
5
75
-30
-2
-9
0
0
0
-1
-2
-8
35
-7
11
0
0
0
1
-8
-17
8
74
28
0
0
0
0
-3
-3
22
-7
-27
0
0
0
10
-25
-20
2
47
16
0
0
0
0
0
2
-1
13
-20
0
0
0
28
1
0
0
18
-69
0
0
0
-1
-20
21
-35
59
0
0
0
0
0
-4
4
0
-28
0
0
0
0
0
-1
14
16
-31
0
0
0
0
-2
9
25
6
15
0
0
0
0
0
1
8
-42
31
0
0
0
0
-1
10
5
-17
0
0
0
0
0
-3
7
-1
-1
-28
0
0
0
0
1
-14
8
-6
14
0
0
0
0
0
1
1
4
-2
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
3
-1
9
0
0
0
0
0
10
0
1
-15
0
0
0
0
0
1
1
-5
-9
0
0
0
0
1
-3
0
2
-4
0
0
0
0
0
0
-4
-1
-9
0
0
0
0
7
-4
3
-7
10
0
0
51
-24
17
-31
40
40
-16
-24
0
0
0
-9
-12
23
59
-22
-6
0
0
-28
0
-39
24
-42
43
21
0
0
0
1
0
-29
23
-6
13
0
-58
7
0
-15
24
15
67
10
0
0
0
1
-8
-13
-77
53
30
0
0
2
0
0
-6
-2
97
16
0
0
0
0
1
7
-10
21
-1
0
-23
0
2
3
50
-44
10
2
0
0
0
-7
17
0
-25
30
4
0
0
-3
-1
-29
23
5
-51
9
0
0
0
0
0
4
-2
39
2
0
1
0
0
1
-75
22
-5
19
0
0
0
2
0
0
-13
14
9
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
-2
-18
24
0
-4
-8
-5
-5
49
-4
38
0
0
0
0
8
4
-15
17
-31
0
0
0
3
0
0
30
22
-9
0
0
0
0
0
-5
0
-18
-22
0
0
-8
3
0
-6
0
-12
5
0
0
0
0
0
1
-5
-44
45
0
0
0
0
0
0
2
28
-31
0
0
0
0
0
1
4
-4
31
0
0
0
0
0
7
-1
43
-41
0
0
0
0
0
0
-3
44
13
0
0
0
1
0
-1
-14
14
42
0
0
0
0
0
0
2
-31
71
0
0
58
0
0
8
-14
-25
25
0
0
0
0
0
1
3
10
8
0
0
0
0
0
0
-3
-2
9
0
0
0
0
0
-1
0
-1
40
0
0
0
0
8
-8
-1
-36
37
3
0
0
0
4
34
21
3
25
-28
0
0
0
0
-6
-14
-59
42
35
0
0
0
9
27
73
23
-17
-20
0
0
0
4
-25
44
43
30
-4
0
0
0
-2
13
18
-16
37
11
0
0
0
0
-7
5
-24
6
-8
0
0
0
-31
34
-7
14
7
-11
0
0
0
0
6
-86
56
60
5
0
0
0
0
-5
-14
-28
-25
10
0
0
0
0
1
-13
-9
25
5
0
0
0
-3
-2
-21
-8
73
3
0
0
0
3
6
-7
-25
42
0
0
0
0
-2
0
18
107
-44
-20
0
0
0
0
0
1
4
65
-2
0
0
0
3
-6
3
-21
11
14
0
0
0
0
-6
43
-17
23
0
0
0
0
0
3
-14
-47
57
0
0
0
0
0
2
-2
-5
30
0
0
0
0
-2
0
0
-21
11
0
0
0
0
0
0
-4
5
41
0
0
0
0
-1
-1
-4
72
-56
0
0
0
0
0
0
1
-16
-9
0
0
0
0
7
3
1
-32
-20
0
0
0
0
1
2
-3
-2
32
0
0
0
0
0
0
0
23
-45
0
0
0
0
4
0
0
-14
4
0
0
0
0
0
-2
-1
1
41
0
0
0
0
0
0
0
8
8
0
0
0
0
1
4
0
3
1
0
0
0
0
0
0
2
3
20
0
0
0
0
0
1
0
39
-56
0
0
0
27
46
-24
39
-47
50
-18
0
0
0
-4
-8
-12
-8
80
-24
0
0
-6
4
1
-21
-41
20
56
0
0
0
0
-8
6
-60
55
15
0
0
-34
0
8
16
-6
-23
4
0
0
0
0
3
-27
-24
-41
63
0
0
33
0
13
17
-35
66
10
0
0
0
9
2
17
14
-5
-4
0
0
-2
-5
6
57
3
-45
-7
0
0
0
6
0
-1
-13
-34
25
0
0
52
0
0
-13
-51
35
9
0
0
0
1
-1
-9
-6
-26
1
0
0
-5
0
0
8
-6
69
-2
0
0
0
0
0
1
-7
79
2
0
0
-7
0
0
2
5
32
15
0
0
0
1
0
-7
13
-2
20
0
0
-3
-3
-2
56
72
-21
0
0
0
0
2
-1
13
-27
-12
0
0
0
8
0
0
48
45
-69
0
0
0
0
0
2
-13
-27
23
0
0
0
0
0
0
25
-62
13
0
0
0
0
-4
0
-9
-9
3
0
0
0
-23
0
0
0
-65
1
0
0
0
0
3
0
-24
-1
79
0
0
0
0
0
3
-6
16
6
0
0
0
0
0
1
0
26
52
0
0
0
-8
0
0
-3
-52
2
0
0
0
0
-1
0
1
10
28
0
0
0
-1
0
-2
2
-41
49
0
0
0
0
0
-2
0
-22
41
0
0
0
-17
0
0
-1
-43
35
0
0
0
0
1
1
2
-18
9
0
0
0
0
-25
45
50
-58
-2
-13
0
0
0
-9
-7
-9
71
36
-27
0
0
0
0
-1
47
-17
-7
39
0
0
0
70
24
-26
7
78
-130
0
0
0
-1
-32
30
37
41
-19
0
0
0
-3
41
-30
-33
59
-50
0
0
0
0
25
-9
7
-50
-1
0
0
0
-48
14
28
42
31
9
0
0
0
0
-4
-9
-21
14
14
0
0
0
-6
-8
15
8
31
-3
0
0
0
-2
2
-5
-59
39
16
0
0
0
9
30
7
8
-10
-33
0
0
0
0
-1
0
-31
48
17
0
0
0
5
4
2
-3
80
-31
0
0
0
0
9
0
3
-11
12
0
0
0
18
-22
-2
-3
2
-1
0
0
0
1
-1
41
21
-1
0
0
0
0
0
0
21
18
-9
0
0
0
0
0
0
13
-44
45
0
0
0
0
0
1
61
10
-13
0
0
0
0
0
0
-4
-28
44
0
0
0
0
1
-3
-6
22
-52
0
0
0
0
0
4
6
-6
-17
0
0
0
0
49
4
3
-17
-34
0
0
0
0
0
-3
1
10
2
0
0
0
0
5
0
-5
23
29
0
0
0
0
0
-1
-1
11
40
0
0
0
0
-3
0
2
-13
48
0
0
0
0
0
1
0
-5
-9
0
0
0
0
0
-2
0
25
40
0
0
0
0
0
-2
-4
1
94
0
0
0
0
-46
-3
0
3
59
0
0
36
31
7
25
18
-110
20
-29
0
0
0
1
-5
10
3
75
-31
0
0
-23
0
0
-43
-16
69
22
0
0
0
0
0
-1
-52
61
23
0
53
-5
-1
-1
-56
-85
14
6
0
0
0
1
2
9
-14
22
-13
0
0
-22
0
4
-29
59
-5
28
0
0
0
1
0
-1
2
78
4
0
-20
-2
0
-17
50
-4
-49
15
0
0
0
0
0
-19
-13
-59
17
0
0
2
0
0
0
-22
25
8
0
0
0
0
0
0
15
24
18
0
85
0
0
0
-4
2
57
6
0
0
0
0
-2
-1
-10
61
12
0
0
4
0
0
2
-3
43
4
0
0
0
0
-1
0
6
37
9
0
-19
0
0
0
40
18
-7
0
0
0
0
0
0
-1
-9
-8
0
0
0
7
0
-3
1
76
5
0
0
0
0
0
0
0
-5
49
0
0
-7
3
0
0
8
-20
32
0
0
0
0
-2
0
8
-71
45
0
0
0
-3
0
0
4
30
4
0
0
0
0
0
0
0
-13
4
0
0
1
0
0
-2
-13
14
39
0
0
0
0
0
0
8
5
0
0
0
0
2
0
0
0
20
44
0
0
0
0
0
0
1
6
-13
0
0
4
0
0
0
-3
7
17
0
0
0
0
0
-3
8
-23
64
0
0
0
3
0
0
-1
-4
-30
0
0
0
0
0
0
-5
-2
-28
0
0
0
0
-1
7
19
-7
-16
-4
0
0
0
1
5
-5
2
51
-61
0
0
0
-5
7
-8
-47
67
-1
0
0
0
-3
-18
3
46
0
-3
0
0
0
0
6
1
-41
10
25
0
0
0
3
-33
13
45
-84
4
0
0
0
0
-1
0
-28
30
2
0
0
0
5
-9
0
15
-25
-19
0
0
0
2
8
31
17
8
-20
0
0
0
2
4
-1
1
76
-33
0
0
0
0
1
1
-2
-1
8
0
0
0
2
-8
-5
-6
-6
-1
0
0
0
0
-3
7
-29
5
3
0
0
0
2
6
21
-9
-13
2
0
0
0
0
-2
-7
3
3
2
0
0
0
3
0
-4
8
33
6
0
0
0
0
0
-9
4
2
0
0
0
0
0
5
14
-68
-7
0
0
0
0
0
0
5
5
13
0
0
0
0
-1
-2
-17
-2
44
0
0
0
0
0
6
-15
-9
44
0
0
0
0
0
-2
5
27
16
0
0
0
0
0
0
0
-16
14
0
0
0
0
-1
2
4
13
-47
0
0
0
0
0
5
-5
-63
54
0
0
0
0
0
0
-3
8
43
0
0
0
0
0
0
3
2
44
0
0
0
0
-1
5
3
-7
16
0
0
0
0
0
0
0
-5
60
0
0
0
0
0
-8
-2
13
35
0
0
0
0
0
0
0
18
31
0
0
0
0
0
0
0
4
-32
0
0
0
66
18
-19
39
-74
-27
12
0
0
0
0
0
-10
8
5
9
0
0
91
0
3
-17
-25
29
48
0
0
0
-2
0
15
-4
21
14
0
0
31
-3
-2
10
15
-27
28
0
0
0
0
0
0
-20
-25
26
0
0
-12
0
1
5
-44
20
7
0
0
0
3
-2
-7
2
-41
45
0
0
2
0
2
-4
25
29
-7
0
0
0
0
-2
0
-4
15
16
0
0
-8
0
-1
-4
-24
64
16
0
0
0
1
-1
-1
0
13
11
0
0
1
0
0
2
-8
53
-22
0
0
0
0
0
-4
5
10
15
0
0
26
0
0
1
3
23
0
0
0
0
-8
0
0
-7
-4
1
0
0
13
0
1
-1
-35
-9
0
0
0
0
-1
2
25
61
-59
0
0
0
-54
0
0
2
-1
-26
0
0
0
0
0
3
2
1
39
0
0
0
-8
0
-4
8
12
19
0
0
0
0
0
0
0
13
-28
0
0
0
-3
0
0
2
-9
49
0
0
0
0
6
0
6
0
2
0
0
0
0
0
0
-1
-75
34
0
0
0
0
2
0
-1
-19
24
0
0
0
-24
0
0
-1
0
9
0
0
0
0
-2
-4
-4
7
59
0
0
0
-7
0
2
5
-17
18
0
0
0
0
0
-5
0
0
28
0
0
0
36
0
0
0
-22
0
0
0
0
0
-1
3
3
4
69
0
0
0
0
-5
-51
32
23
1
16
0
0
0
-5
30
-8
-2
25
-9
0
0
0
-1
0
-4
-13
-6
84
0
0
0
53
-8
-16
2
-24
44
0
0
0
0
-7
-33
22
3
-44
0
0
0
0
-6
2
-19
2
16
0
0
0
1
-3
-2
-1
-10
10
0
0
0
24
-12
-9
0
1
-3
0
0
0
0
-2
-6
3
6
8
0
0
0
6
0
0
0
14
-25
0
0
0
0
0
-6
6
13
25
0
0
0
-5
2
0
0
-32
41
0
0
0
0
2
1
0
18
-7
0
0
0
-4
3
0
5
1
2
0
0
0
0
0
1
0
43
-18
0
0
0
-5
9
3
0
-4
-17
0
0
0
4
-7
14
-3
2
0
0
0
0
10
0
1
-8
-19
0
0
0
0
0
0
-4
-1
-3
0
0
0
0
-8
0
-22
8
8
0
0
0
0
0
2
3
1
17
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
-1
3
3
0
0
0
0
-5
-2
-15
5
17
0
0
0
0
0
0
-1
-6
49
0
0
0
0
0
0
-3
-5
47
0
0
0
0
0
1
0
-33
48
0
0
0
0
-8
-4
3
-2
24
0
0
0
0
0
0
-2
0
9
0
0
0
0
0
6
0
-3
12
0
0
0
0
0
0
0
0
3
0
0
0
0
21
-2
6
-4
0
0
0
67
-6
-56
-37
11
9
-13
0
0
0
0
1
-2
-31
-55
-5
0
0
0
-7
-3
16
53
-20
21
0
0
0
0
2
-27
-61
-5
76
0
0
-57
73
0
3
45
-2
-18
0
0
0
0
7
-7
-76
24
2
0
0
0
9
0
0
-17
23
51
0
0
0
0
-1
1
-39
-29
59
0
0
-3
0
14
9
71
-67
18
0
0
0
0
0
-3
1
29
44
0
0
0
-3
0
0
-18
73
-8
0
0
0
0
0
0
-1
-19
15
0
0
-33
0
0
-1
-20
-29
80
0
0
0
0
0
0
-16
41
9
0
0
0
0
0
0
-8
-34
95
0
0
0
0
0
3
0
-13
-31
0
0
0
-9
-3
2
60
-43
38
0
0
0
0
0
1
30
51
-42
0
0
0
-3
0
-3
-20
21
67
0
0
0
0
0
0
0
-25
24
0
0
30
-13
0
8
8
-13
48
0
0
0
0
0
0
5
-30
-13
0
0
0
0
0
0
-8
-15
66
0
0
0
0
0
0
0
-24
19
0
0
0
0
0
4
10
54
22
0
0
0
0
0
1
3
-4
39
0
0
0
-3
0
3
16
-61
60
0
0
0
0
0
0
0
-58
44
0
0
31
0
0
0
-6
-24
-9
0
0
0
0
0
0
1
-69
22
0
0
0
0
0
0
4
-57
-1
0
0
0
0
0
0
-8
-15
-47
0
0
0
0
33
-38
38
54
-33
0
0
0
0
-6
3
-5
104
-19
0
0
0
0
-1
1
19
-58
-5
0
0
0
0
1
-1
-8
89
-1
0
0
0
0
0
-14
74
-45
7
0
0
0
0
-8
3
18
-101
11
0
0
0
0
0
-8
9
5
9
0
0
0
0
7
31
5
-63
12
0
0
0
0
0
-12
2
35
10
0
0
0
0
0
0
1
-37
41
0
0
0
0
0
2
5
-53
27
0
0
0
0
0
-4
-2
19
55
0
0
0
0
0
-5
17
-25
-7
0
0
0
0
0
0
0
9
17
0
0
0
0
0
0
0
-4
-15
0
0
0
0
0
0
-2
1
41
0
0
0
0
1
52
-6
-32
24
0
0
0
0
2
-4
9
8
12
0
0
0
0
0
0
29
-20
-17
0
0
0
0
0
0
-3
-17
34
0
0
0
0
0
-2
21
0
-25
0
0
0
0
0
2
8
-15
29
0
0
0
0
0
0
0
27
-19
0
0
0
0
0
0
1
-21
27
0
0
0
0
-1
0
-9
13
50
0
0
0
0
0
0
-4
12
14
0
0
0
0
0
0
1
29
32
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
1
-38
23
0
0
0
0
0
0
-1
-66
-5
0
0
0
0
0
0
0
-24
53
0
0
0
0
0
0
0
-46
54
0
0
0
44
-8
34
-93
66
-55
0
0
0
0
0
10
29
-34
17
0
0
0
-20
0
0
-11
-34
34
0
0
0
0
2
14
10
10
-3
0
0
0
5
0
-8
-26
-14
19
0
0
0
0
-1
0
42
19
43
0
0
0
19
0
-2
16
0
23
0
0
0
0
0
4
23
-62
-12
0
0
0
0
0
-1
10
23
-14
0
0
0
0
0
0
-9
13
23
0
0
0
18
0
0
16
-106
14
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
-76
53
46
0
0
0
0
0
0
17
-37
63
0
0
0
-24
0
0
39
2
-6
0
0
0
0
1
1
-5
-5
30
0
0
0
1
0
-4
-30
-73
55
0
0
0
0
0
-1
-5
-59
63
0
0
0
3
0
-2
-5
-22
27
0
0
0
0
0
1
3
13
-25
0
0
0
5
0
0
-19
3
55
0
0
0
0
0
0
-5
4
12
0
0
0
71
0
1
2
-88
40
0
0
0
0
0
0
0
9
25
0
0
0
-3
0
-8
7
-57
36
0
0
0
0
0
0
-1
-22
66
0
0
0
-9
0
5
41
12
-6
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
3
-58
16
0
0
0
0
0
0
0
-30
27
0
0
0
29
0
0
-4
-25
0
0
0
0
0
0
0
0
-5
11
0
0
0
0
-15
10
-13
3
15
0
0
0
0
-12
21
-40
-8
31
0
0
0
0
3
-2
81
-62
9
0
0
0
0
37
0
-8
-5
37
0
0
0
0
-3
-6
43
-76
64
0
0
0
0
12
-23
-31
-41
56
0
0
0
0
0
1
-9
7
7
0
0
0
0
-25
10
-6
-9
95
0
0
0
0
1
1
-18
-57
71
0
0
0
0
-1
0
-2
-2
-22
0
0
0
0
0
-1
3
46
10
0
0
0
0
-2
-5
-18
23
43
0
0
0
0
-1
-3
6
27
-15
0
0
0
0
-18
2
0
13
-58
0
0
0
0
0
0
12
2
-60
0
0
0
0
49
-2
-1
5
31
0
0
0
0
1
-6
6
-77
41
0
0
0
0
0
1
25
-73
34
0
0
0
0
0
0
-8
-14
-4
0
0
0
0
0
-1
-5
24
10
0
0
0
0
0
0
-4
19
-11
0
0
0
0
16
3
-5
4
-25
0
0
0
0
0
0
-1
35
28
0
0
0
0
-5
0
8
21
31
0
0
0
0
0
-4
1
-51
29
0
0
0
0
-1
-3
0
18
-7
0
0
0
0
0
0
0
10
50
0
0
0
0
0
-1
0
-25
-30
0
0
0
0
0
0
0
-32
62
0
0
0
0
-1
0
0
-2
10
0
0
0
0
0
0
-2
-8
55
0
0
0
0
7
0
0
-2
7
0
0
-10
-28
0
-24
-36
18
20
0
0
0
0
0
4
2
-8
17
0
0
0
74
0
0
61
-47
-14
0
0
0
0
0
1
-6
45
-55
0
0
12
3
0
27
-52
-4
45
0
0
0
0
0
-16
1
-51
52
0
0
0
-14
0
0
-37
24
68
0
0
0
0
0
2
-2
-6
86
0
0
11
0
-6
17
-23
58
-38
0
0
0
0
-1
-1
16
28
5
0
0
0
0
0
0
13
-16
10
0
0
0
0
0
-1
-2
-4
80
0
0
5
0
0
0
25
43
-2
0
0
0
0
0
-3
1
12
25
0
0
0
-4
0
0
9
19
39
0
0
0
0
0
0
-1
1
20
0
0
0
-5
0
-2
6
-23
45
0
0
0
0
0
2
2
-82
36
0
0
0
1
0
0
14
-126
100
0
0
0
0
0
-2
-2
41
74
0
0
-21
-6
0
8
-1
12
15
0
0
0
0
0
-3
3
42
-37
0
0
0
-2
0
0
0
-10
-34
0
0
0
0
0
0
8
-17
33
0
0
37
0
0
5
-30
-42
5
0
0
0
0
0
5
1
29
-45
0
0
0
9
0
-5
-1
-41
25
0
0
0
0
0
0
0
-15
51
0
0
-15
0
0
-1
10
-119
33
0
0
0
0
0
0
1
-26
24
0
0
0
-5
0
0
0
51
40
0
0
0
0
0
0
0
27
-14
0
0
0
0
-13
48
32
-39
10
0
0
0
0
5
10
-22
-118
64
0
0
0
0
-6
-9
13
30
27
0
0
0
0
-4
-3
5
50
43
0
0
0
0
0
5
4
-9
8
0
0
0
0
0
15
20
-47
-58
0
0
0
0
0
2
-1
-7
47
0
0
0
0
0
33
0
7
42
0
0
0
0
0
-13
-2
-50
26
0
0
0
0
4
-5
-1
-28
67
0
0
0
0
0
0
0
29
10
0
0
0
0
0
-33
4
-33
49
0
0
0
0
0
0
-24
6
23
0
0
0
0
1
-1
1
-16
64
0
0
0
0
0
0
-4
-4
11
0
0
0
0
0
6
6
-15
-11
0
0
0
0
0
13
-8
40
-23
0
0
0
0
1
-5
-1
-35
28
0
0
0
0
0
1
0
-27
31
0
0
0
0
0
-6
0
-12
11
0
0
0
0
0
-2
0
47
-46
0
0
0
0
0
0
-2
-30
-6
0
0
0
0
0
0
-5
-6
-63
0
0
0
0
0
0
0
-45
40
0
0
0
0
1
0
4
17
12
0
0
0
0
0
-2
0
-18
73
0
0
0
0
0
0
0
-30
24
0
0
0
0
0
0
-7
-9
42
0
0
0
0
0
0
0
-28
21
0
0
0
0
0
1
2
50
-41
0
0
0
0
0
0
0
-37
40
0
0
0
0
1
0
-2
-44
31
0
0
0
37
-5
-6
-32
20
27
0
0
0
0
0
-1
34
-41
-5
0
0
0
27
0
2
-8
-62
43
0
0
0
0
0
-1
5
13
-4
0
0
0
30
0
-17
-17
36
49
0
0
0
0
0
0
15
48
-67
0
0
0
-9
0
0
23
-33
-1
0
0
0
0
0
1
39
-17
-20
0
0
0
-5
0
-1
28
12
39
0
0
0
0
0
5
6
4
33
0
0
0
-7
0
0
-2
-43
41
0
0
0
0
0
1
2
-8
80
0
0
0
1
0
-1
-12
-24
-17
0
0
0
0
0
-1
0
1
42
0
0
0
-46
0
0
3
-5
5
0
0
0
0
0
-2
0
0
21
0
0
0
-1
0
-1
-25
51
5
0
0
0
0
0
2
0
-56
80
0
0
0
-5
0
1
-5
32
3
0
0
0
0
0
-4
-1
-13
66
0
0
0
2
0
-1
-17
31
-14
0
0
0
0
0
0
0
-11
-13
0
0
0
17
0
0
1
-49
-13
0
0
0
0
0
7
1
3
25
0
0
0
0
0
4
12
-25
22
0
0
0
0
0
0
0
30
26
0
0
0
51
0
0
0
-6
1
0
0
0
0
0
0
1
4
-23
0
0
0
-2
0
0
1
13
-13
0
0
0
0
0
1
-5
2
-15
0
0
0
-5
0
0
1
12
65
0
0
0
0
0
-1
4
23
8
0
0
0
0
7
-4
34
-94
33
0
0
0
0
1
30
15
-22
2
0
0
0
0
-1
-1
2
-4
17
0
0
0
0
-13
-3
1
-25
42
0
0
0
0
0
0
18
10
-84
0
0
0
0
0
-1
8
3
5
0
0
0
0
0
1
8
3
-32
0
0
0
0
24
-8
24
1
-15
0
0
0
0
0
-5
2
-13
25
0
0
0
0
-3
2
-2
47
3
0
0
0
0
6
0
-1
-5
43
0
0
0
0
-5
-9
3
9
-16
0
0
0
0
0
3
-1
-17
76
0
0
0
0
5
-3
-3
14
-4
0
0
0
0
0
0
0
8
5
0
0
0
0
5
5
0
2
-20
0
0
0
0
-1
10
-3
-32
44
0
0
0
0
0
-7
0
-18
27
0
0
0
0
0
0
0
-6
30
0
0
0
0
-4
-2
-2
59
-24
0
0
0
0
0
1
0
-18
7
0
0
0
0
1
-3
7
-3
42
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
18
-1
4
-31
0
0
0
0
0
-3
0
-1
3
0
0
0
0
0
0
0
5
-27
0
0
0
0
-3
0
-3
8
66
0
0
0
0
0
-3
0
5
51
0
0
0
0
0
0
-3
16
18
0
0
0
0
-2
3
1
31
14
0
0
0
0
0
-1
0
5
45
0
0
0
0
-5
1
0
18
13
0
0
45
-35
-2
-5
50
15
4
0
0
0
0
-4
-2
1
-3
-2
0
0
0
0
1
-4
-22
-38
75
0
0
0
0
0
0
0
-49
-10
0
0
-13
0
0
-12
11
50
41
0
0
0
0
3
-2
-2
-5
14
0
0
0
0
0
0
4
35
19
0
0
0
0
0
0
0
-10
6
0
0
32
0
-2
6
-16
-10
11
0
0
0
0
0
1
1
9
8
0
0
0
-4
0
3
6
-37
29
0
0
0
0
0
0
0
-5
67
0
0
33
7
0
1
42
-84
-21
0
0
0
0
0
0
-2
-20
71
0
0
0
0
0
0
4
16
-19
0
0
0
0
0
2
-2
15
6
0
0
0
-1
-8
-3
30
-34
28
0
0
0
0
0
1
-3
11
41
0
0
0
28
0
-1
17
58
2
0
0
0
0
0
4
-3
-49
44
0
0
2
-2
0
0
38
-17
30
0
0
0
0
0
-10
-3
-7
40
0
0
0
0
0
0
1
-41
17
0
0
0
0
0
0
0
27
-5
0
0
0
0
1
-6
-48
20
40
0
0
0
0
0
0
-5
4
-4
0
0
0
2
0
2
-1
19
1
0
0
0
0
0
0
0
-35
13
0
0
6
-2
0
0
5
65
-14
0
0
0
0
-1
-1
0
-55
20
0
0
0
-4
0
0
-2
-5
5
0
0
0
0
0
0
0
-43
23
0
0
0
0
7
13
1
27
-14
0
0
0
0
-4
7
9
-74
56
0
0
0
0
1
0
6
-28
57
0
0
0
0
0
5
-6
-26
-7
0
0
0
0
0
-13
-5
38
40
0
0
0
0
-3
-2
-4
8
76
0
0
0
0
0
0
0
-35
23
0
0
0
0
-6
0
-2
-1
43
0
0
0
0
0
1
10
-42
53
0
0
0
0
0
3
2
-15
71
0
0
0
0
-2
-1
8
32
-18
0
0
0
0
0
9
-1
-51
-4
0
0
0
0
0
2
-5
-68
5
0
0
0
0
0
-1
4
-18
4
0
0
0
0
0
0
0
12
-14
0
0
0
0
-1
0
0
6
-37
0
0
0
0
0
7
18
-3
13
0
0
0
0
3
-1
6
-17
15
0
0
0
0
1
-3
-7
-31
41
0
0
0
0
0
0
-1
22
20
0
0
0
0
0
5
16
35
21
0
0
0
0
0
0
-1
8
42
0
0
0
0
0
0
0
20
-27
0
0
0
0
-54
0
0
-6
121
0
0
0
0
-1
0
-37
-13
8
0
0
0
0
-1
-5
8
-40
20
0
0
0
0
1
0
1
-60
65
0
0
0
0
0
0
1
-43
26
0
0
0
0
0
0
1
-9
24
0
0
0
0
0
0
6
-65
29
0
0
0
0
0
0
2
-22
10
0
0
0
0
-2
0
-2
16
-21
0
0
0
3
8
24
-22
-95
31
0
0
0
0
-2
0
-8
-14
14
0
0
0
18
1
1
-49
33
41
0
0
0
0
-6
6
17
-60
36
0
0
0
-30
0
-1
2
-41
14
0
0
0
0
0
2
-7
-14
0
0
0
0
-11
0
0
-13
-84
101
0
0
0
0
0
0
2
-14
8
0
0
0
0
0
-1
-5
29
-25
0
0
0
0
0
0
13
-25
63
0
0
0
12
0
0
5
-32
54
0
0
0
0
4
0
-8
-3
-36
0
0
0
10
0
1
25
13
-15
0
0
0
0
0
0
4
-1
-5
0
0
0
25
0
0
2
12
-15
0
0
0
0
-2
0
12
0
-35
0
0
0
0
3
0
-39
21
30
0
0
0
0
-1
0
-8
40
74
0
0
0
2
0
0
-49
-39
54
0
0
0
0
1
0
-1
-13
27
0
0
0
1
0
-5
3
-3
43
0
0
0
0
0
0
10
26
11
0
0
0
12
0
0
0
-5
-15
0
0
0
0
6
4
-2
-5
24
0
0
0
-1
4
6
-30
34
22
0
0
0
0
0
0
0
-43
28
0
0
0
31
0
0
5
-1
-77
0
0
0
0
47
0
0
-9
20
0
0
0
-39
0
0
-3
46
13
0
0
0
0
1
0
0
-72
68
0
0
0
30
-3
0
-14
9
-22
0
0
0
0
-3
0
4
-1
21
0
0
0
0
-27
16
-1
-58
31
0
0
0
0
-1
5
10
-44
61
0
0
0
0
0
-2
-1
-27
98
0
0
0
0
-15
4
-8
24
15
0
0
0
0
2
1
-6
-81
58
0
0
0
0
2
-28
10
-14
-38
0
0
0
0
0
5
0
8
20
0
0
0
0
8
-7
-4
37
17
0
0
0
0
0
0
7
-28
37
0
0
0
0
0
0
-2
37
8
0
0
0
0
-1
0
18
1
-32
0
0
0
0
25
2
-13
-2
-16
0
0
0
0
0
0
22
48
-56
0
0
0
0
2
2
-3
6
34
0
0
0
0
0
0
-5
3
35
0
0
0
0
13
12
3
10
37
0
0
0
0
0
0
42
-93
68
0
0
0
0
4
0
1
-21
33
0
0
0
0
0
0
13
-28
-14
0
0
0
0
2
0
6
48
26
0
0
0
0
0
0
-8
13
63
0
0
0
0
-1
3
12
-28
48
0
0
0
0
0
0
0
9
-58
0
0
0
0
-8
0
3
-2
76
0
0
0
0
0
0
-6
-9
-17
0
0
0
0
-1
1
0
-122
76
0
0
0
0
0
0
0
14
-16
0
0
0
0
-5
0
-10
15
9
0
0
0
0
0
0
0
-30
20
0
0
0
0
1
2
-10
31
-56
0
0
0
0
0
0
0
0
73
0
0
0
0
-37
0
8
-1
3
0
0
-45
3
-1
51
13
25
4
0
0
0
0
-2
-1
24
-23
-10
0
0
0
1
0
0
-8
-12
5
0
0
0
0
0
0
-1
-21
27
0
0
-40
-3
0
0
2
-13
22
0
0
0
0
0
5
0
5
42
0
0
0
19
0
0
0
45
30
0
0
0
0
0
2
0
2
46
0
0
-56
0
0
4
-5
14
11
0
0
0
0
0
0
0
24
73
0
0
0
0
0
0
0
-17
-52
0
0
0
0
0
0
-1
-6
76
0
0
2
0
0
0
2
-49
18
0
0
0
0
0
3
0
-8
29
0
0
0
-1
0
0
-3
13
33
0
0
0
0
0
-4
0
-1
-29
0
0
4
-1
0
1
23
33
-29
0
0
0
0
0
0
3
-33
1
0
0
0
-22
0
0
-2
-25
31
0
0
0
0
0
0
2
-12
34
0
0
58
-12
0
-8
13
-75
48
0
0
0
0
0
-2
3
-12
38
0
0
0
3
0
0
0
17
-6
0
0
0
0
0
0
0
2
6
0
0
19
0
0
1
5
-46
4
0
0
0
0
0
1
2
-21
12
0
0
0
0
0
0
0
-48
3
0
0
0
0
0
0
0
0
17
0
0
6
0
0
0
9
14
18
0
0
0
0
-1
0
0
5
9
0
0
0
15
0
0
0
27
27
0
0
0
0
0
2
-1
-20
29
0
0
0
0
0
78
-5
-19
-6
0
0
0
0
1
13
-2
-8
8
0
0
0
0
0
0
1
-6
-12
0
0
0
0
2
-3
0
7
-37
0
0
0
0
2
2
1
-9
-5
0
0
0
0
-4
-8
5
58
7
0
0
0
0
0
8
0
-6
-5
0
0
0
0
8
-43
0
-5
6
0
0
0
0
0
0
2
-18
48
0
0
0
0
2
-6
-3
-13
77
0
0
0
0
0
2
-6
-1
58
0
0
0
0
-2
4
0
-4
48
0
0
0
0
0
4
-4
-3
10
0
0
0
0
2
3
0
-5
-3
0
0
0
0
0
0
0
4
30
0
0
0
0
5
10
-3
-18
22
0
0
0
0
0
3
2
-135
59
0
0
0
0
0
1
0
-38
42
0
0
0
0
0
-4
3
0
-13
0
0
0
0
0
0
0
-6
-45
0
0
0
0
0
0
8
-84
-4
0
0
0
0
0
0
-4
18
9
0
0
0
0
0
-2
0
-14
71
0
0
0
0
1
4
0
-13
60
0
0
0
0
0
0
14
7
15
0
0
0
0
0
0
0
-59
31
0
0
0
0
0
0
0
-16
9
0
0
0
0
0
0
-4
-6
-51
0
0
0
0
0
2
0
-35
15
0
0
0
0
0
-1
0
-13
51
0
0
0
0
0
0
0
5
37
0
0
0
0
0
0
0
22
-26
0
0
0
47
45
-14
-104
-4
1
0
0
0
0
0
-5
0
-1
33
0
0
0
-2
-1
0
3
-22
-36
0
0
0
0
3
7
-4
-5
26
0
0
0
-29
0
1
5
-5
42
0
0
0
0
0
1
-1
0
41
0
0
0
-45
0
0
-5
3
-2
0
0
0
0
0
-5
-2
2
7
0
0
0
-4
-2
-1
10
3
35
0
0
0
0
0
0
0
-2
1
0
0
0
14
0
0
-8
0
5
0
0
0
0
0
0
-2
-2
8
0
0
0
-1
0
0
7
-5
50
0
0
0
0
0
0
5
3
7
0
0
0
14
0
2
0
-6
76
0
0
0
0
3
0
-1
0
12
0
0
0
1
0
0
-1
-81
57
0
0
0
0
-1
2
-4
-35
75
0
0
0
63
0
0
0
43
-84
0
0
0
0
3
-2
0
4
33
0
0
0
8
0
1
-3
-47
6
0
0
0
0
0
1
-2
33
-19
0
0
0
-21
0
0
0
48
-13
0
0
0
0
0
0
-1
-12
37
0
0
0
5
0
-1
-3
-60
33
0
0
0
0
0
0
-1
14
16
0
0
0
12
0
0
-1
15
-26
0
0
0
0
0
0
0
55
-7
0
0
0
-7
0
0
1
-67
23
0
0
0
0
0
4
-3
4
13
0
0
0
-20
0
0
0
24
22
0
0
0
0
-1
0
-1
5
-37
0
0
0
0
28
-50
49
-66
32
0
0
0
0
3
-3
0
-9
13
0
0
0
0
-1
0
0
-2
-7
0
0
0
0
15
8
1
8
-45
0
0
0
0
0
-3
-1
0
0
0
0
0
0
1
0
0
-2
3
0
0
0
0
0
0
1
0
5
0
0
0
0
4
-54
-3
0
5
0
0
0
0
-1
2
-8
-49
14
0
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
25
0
0
0
0
-2
-1
5
3
-9
0
0
0
0
0
2
1
1
3
0
0
0
0
-5
8
0
6
25
0
0
0
0
-2
3
-1
-1
8
0
0
0
0
-50
2
1
0
25
0
0
0
0
0
-1
2
33
5
0
0
0
0
-2
0
0
4
-27
0
0
0
0
0
0
0
-21
32
0
0
0
0
1
0
-1
-13
25
0
0
0
0
0
-1
0
9
83
0
0
0
0
0
0
0
7
24
0
0
0
0
0
0
-2
-31
0
0
0
0
0
-6
9
5
-2
13
0
0
0
0
0
0
3
14
-23
0
0
0
0
0
0
-1
12
-32
0
0
0
0
0
0
-2
-27
-17
0
0
0
0
-5
0
7
-43
55
0
0
0
0
0
0
2
9
31
0
0
0
0
2
1
-1
-12
64
0
0
0
0
-2
0
0
-1
51
0
0
0
0
5
0
-2
-35
84
0
0
-19
62
14
-37
-58
-9
22
7
7
0
0
-7
-17
26
-60
13
-9
-1
0
-49
10
8
-45
-42
55
23
6
0
0
7
28
-13
-34
13
28
5
31
-15
0
-8
-49
-14
87
-4
11
0
0
0
-30
-23
-122
19
-12
20
0
105
-1
-13
-37
-12
34
-10
9
0
0
1
-17
13
-45
51
1
-1
85
-19
-1
-42
10
38
-14
13
0
0
0
2
46
31
12
15
-3
0
0
49
0
5
57
-11
111
-13
0
0
0
-7
-4
41
-34
102
-7
0
-39
3
1
-22
38
-50
9
29
0
0
0
-7
1
-43
-51
47
46
0
0
-3
0
6
20
-54
17
11
0
0
0
3
2
-18
-5
-3
35
0
38
7
-1
-41
-5
-1
-45
0
0
0
0
1
-84
-28
8
0
0
0
0
14
0
1
-37
-78
21
0
0
0
0
0
5
-39
-34
67
0
0
9
-1
0
31
-31
-8
2
0
0
0
0
0
-12
12
-84
41
0
0
0
-21
0
1
27
-54
69
0
0
0
0
1
-1
1
40
10
0
0
13
7
0
-13
47
-7
-21
0
0
0
0
0
6
19
-28
28
0
0
0
-7
0
5
29
-11
59
0
0
0
0
0
0
-42
-5
109
0
0
-41
0
0
9
-13
-22
29
0
0
0
0
0
-1
46
-69
-5
0
0
0
5
0
0
-25
49
6
0
0
0
0
0
-3
2
-5
35
0
0
0
0
-66
33
30
-28
-20
12
-14
0
0
-12
60
-103
-68
12
1
-18
0
0
-8
-73
-39
-33
-25
1
17
0
0
-44
65
23
15
20
-23
3
0
0
-6
34
-5
-43
34
-16
6
0
0
35
-83
0
-58
-8
2
6
0
0
0
62
59
37
130
1
-6
0
0
49
35
20
-14
-10
-28
12
0
0
-7
-7
-76
-57
70
12
0
0
0
-8
19
62
1
52
-3
0
0
0
2
-4
8
-50
27
12
0
0
0
-39
-36
56
3
19
-5
0
0
0
0
-9
-41
-5
21
17
0
0
0
4
-7
-8
21
13
-11
0
0
0
0
0
-30
-39
-5
32
0
0
0
-5
-11
33
1
-28
32
0
0
0
6
-49
-58
-15
7
0
0
0
0
7
-3
42
-9
-19
0
0
0
0
0
2
-120
-27
63
0
0
0
0
21
22
14
-45
-26
0
0
0
0
0
-1
-39
5
8
0
0
0
0
0
22
-7
-30
26
0
0
0
0
0
0
-3
68
-5
0
0
0
0
14
-4
-8
25
41
0
0
0
0
0
-2
31
-20
2
0
0
0
0
0
-6
19
-85
40
0
0
0
0
0
0
-8
7
29
0
0
0
0
-1
20
-5
1
26
0
0
0
0
0
1
4
-51
30
0
0
0
0
0
13
-4
-92
-2
0
0
0
0
0
-6
-17
23
33
0
0
0
0
-17
-27
3
41
-31
0
0
0
36
-5
-25
40
-83
36
-6
3
0
0
51
50
-70
41
12
10
-10
0
-79
0
5
-24
-57
-34
-2
10
0
0
34
-31
-2
-66
52
-13
-6
0
36
0
-6
-49
69
-2
14
9
0
0
-1
19
-22
28
111
-39
21
0
63
0
-69
5
-23
73
-16
4
0
0
-6
31
13
3
62
-21
-17
0
-60
0
8
58
28
14
15
0
0
0
13
22
80
33
8
-18
0
0
-60
1
-5
76
-105
-4
25
0
0
0
7
12
-19
45
79
-54
0
0
68
0
3
24
-21
-10
-6
0
0
0
6
8
-3
-5
12
10
0
0
12
0
-23
37
35
-34
13
0
0
0
-53
-2
48
-6
-4
-4
0
0
-21
4
-48
56
-24
-9
0
0
0
0
-5
-3
65
-48
42
0
0
0
7
0
2
98
-112
-21
0
0
0
0
-27
-2
45
10
-3
0
0
0
-14
0
0
21
59
-1
0
0
0
0
0
-6
-25
-22
60
0
0
0
63
0
0
-16
-33
7
0
0
0
0
-2
-8
17
-44
-12
0
0
0
1
0
-3
43
-27
-8
0
0
0
0
3
-2
-76
76
57
0
0
0
48
-1
-1
-10
-41
18
0
0
0
0
1
0
-24
4
53
0
0
0
27
0
-2
8
-6
-47
0
0
0
0
0
0
-14
8
13
0
0
0
-13
0
0
-5
10
5
0
0
0
0
0
0
4
-13
21
0
0
0
0
24
-49
13
-23
44
-4
-6
0
0
-16
-23
20
-7
26
-31
35
0
0
-44
-1
9
23
-45
-23
21
0
0
11
-49
-4
-27
40
27
5
0
0
-1
21
2
-18
0
31
2
0
0
-8
-9
1
-49
32
43
-24
0
0
17
-42
9
-43
83
11
10
0
0
9
19
86
-18
-49
59
-26
0
0
-2
-35
33
23
130
-7
0
0
0
15
-1
-15
-56
58
21
0
0
0
-28
-35
53
9
27
5
0
0
0
57
56
1
31
-51
-26
0
0
0
0
5
20
35
32
-23
0
0
0
17
9
43
-12
97
-55
0
0
0
-20
3
-6
31
29
-5
0
0
0
12
-50
17
7
-35
-13
0
0
0
-7
20
11
-14
15
0
0
0
0
1
2
8
14
-23
0
0
0
0
5
5
18
36
-40
0
0
0
0
-33
-92
-15
16
84
0
0
0
0
0
4
-35
-13
60
0
0
0
0
4
25
-42
25
-49
0
0
0
0
-2
6
17
-5
-25
0
0
0
0
-37
-6
-42
-9
23
0
0
0
0
0
-2
-15
4
74
0
0
0
0
5
12
0
-30
-40
0
0
0
0
0
3
9
13
45
0
0
0
0
-9
-13
45
41
-34
0
0
0
0
0
2
-6
9
90
0
0
0
0
0
-7
2
-11
58
0
0
0
0
3
2
-25
33
-25
0
0
0
0
-17
7
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
3
-63
11
-58
-2
6
6
0
0
0
2
-21
12
-41
11
-5
0
0
-10
9
-25
3
-20
15
12
0
0
0
0
68
-10
0
12
-30
0
-8
87
0
-56
-60
46
12
9
0
0
0
0
-6
-27
0
50
0
0
0
-34
0
-14
-95
4
3
3
0
0
0
0
3
-47
16
48
9
0
-12
4
2
-1
20
-2
89
3
0
0
0
13
44
-19
10
-12
3
0
0
-41
0
8
23
-2
-13
13
0
0
0
-2
-8
-6
14
26
19
0
39
2
-2
23
-93
-27
31
-5
0
0
0
0
-1
68
43
-52
-5
0
0
132
0
1
-10
56
-55
-1
0
0
0
2
0
9
-25
19
26
0
64
3
-4
-50
-20
-3
31
0
0
0
0
-3
-4
-32
35
-6
0
0
0
-7
2
-28
-57
3
46
0
0
0
0
0
-4
31
23
-21
0
0
6
-8
-1
2
36
-38
40
0
0
0
0
3
9
45
-20
3
0
0
0
-1
0
-4
15
14
4
0
0
0
0
0
1
66
-2
-17
0
0
-20
48
-1
-16
47
27
7
0
0
0
0
2
17
-29
0
25
0
0
0
20
0
-5
8
-57
9
0
0
0
0
0
-8
-27
-53
61
0
0
-76
3
0
29
-9
-22
-4
0
0
0
0
0
28
-23
-36
-41
0
0
0
-27
0
-1
-21
30
38
0
0
0
0
-1
0
-4
-31
-5
0
0
0
0
-33
-4
-120
-2
49
-9
0
0
0
21
31
16
-67
3
0
0
0
0
7
13
21
-71
-49
57
0
0
0
-25
-69
-8
16
12
23
0
0
0
0
-1
-13
-14
16
-9
0
0
0
13
-5
51
-76
-14
-16
0
0
0
0
15
5
-122
49
18
0
0
0
1
-16
-31
21
24
11
0
0
0
-1
-5
17
-29
-4
-6
0
0
0
-11
-60
-22
-49
44
-1
0
0
0
0
1
13
64
56
4
0
0
0
-35
18
16
-11
2
21
0
0
0
2
24
-45
-6
10
-4
0
0
0
33
-3
18
-6
-24
-6
0
0
0
0
-7
54
12
27
19
0
0
0
3
-25
13
7
-24
35
0
0
0
-1
25
9
-69
9
0
0
0
0
22
0
46
-93
13
0
0
0
0
0
-21
-44
46
21
0
0
0
0
23
-30
45
16
-44
0
0
0
0
0
-10
31
-16
21
0
0
0
0
-1
16
23
-65
18
0
0
0
0
0
-13
16
70
-4
0
0
0
0
0
-14
-1
21
50
0
0
0
0
0
-16
7
-27
50
0
0
0
0
35
12
5
-6
15
0
0
0
0
-1
3
-6
-14
74
0
0
0
0
63
-14
2
-3
-19
0
0
0
0
0
1
22
4
32
0
0
0
0
-1
-41
3
8
39
0
0
0
0
0
-1
-45
-22
81
0
0
0
0
-29
-3
49
-24
60
0
0
0
-52
-42
-15
100
11
21
-15
0
0
0
-104
10
-47
60
21
0
0
0
-11
13
-1
76
-75
-26
13
0
0
0
-29
-34
-16
-4
53
52
0
0
-49
0
-8
21
-19
48
17
0
0
0
10
20
8
-38
19
-9
0
0
38
0
-9
-18
13
-26
6
0
0
0
24
-7
90
-34
-31
9
0
0
46
5
25
-24
-73
99
-5
0
0
0
0
-34
14
-32
46
-4
0
0
12
-3
0
-21
-20
35
8
0
0
0
11
-4
-17
2
18
-17
0
0
-56
-2
-10
-49
-54
5
14
0
0
0
0
-25
-10
24
86
0
0
0
41
1
-2
49
-50
63
-2
0
0
0
98
-1
-71
5
89
-1
0
0
41
4
31
-4
-98
-10
0
0
0
0
-4
1
68
-45
10
0
0
0
16
0
0
-68
-28
15
0
0
0
0
-1
-2
46
-8
1
0
0
0
-23
-3
22
61
-1
-2
0
0
0
0
2
49
-20
9
7
0
0
0
-79
0
12
127
-3
-1
0
0
0
0
1
-14
56
0
41
0
0
0
-5
-1
-39
16
48
-6
0
0
0
0
0
23
-17
30
8
0
0
0
24
6
8
-9
-34
-41
0
0
0
0
-27
-8
19
-23
60
0
0
0
71
0
8
1
53
-96
0
0
0
0
0
8
-11
-49
80
0
0
0
-46
-2
5
50
-1
-47
0
0
0
0
-10
1
13
10
35
0
0
0
0
-32
21
5
-76
28
16
0
0
0
36
-6
-18
-11
-22
-24
0
0
0
40
62
4
-27
-4
-13
0
0
0
-56
37
-29
-29
67
16
0
0
0
-1
8
5
42
43
-38
0
0
0
-4
-48
86
-52
47
33
0
0
0
-8
-25
94
-46
22
-15
0
0
0
23
-24
-47
5
45
24
0
0
0
-3
-35
19
37
41
-11
0
0
0
13
20
15
-49
-9
24
0
0
0
65
5
-23
-66
37
28
0
0
0
-16
51
79
4
-12
-7
0
0
0
1
-10
-40
-15
32
32
0
0
0
3
22
13
-21
32
-4
0
0
0
5
-15
89
-33
16
-15
0
0
0
-49
19
-60
13
47
35
0
0
0
7
26
-5
-27
7
0
0
0
0
-3
16
3
46
10
0
0
0
0
-1
-1
14
-43
80
0
0
0
0
66
-107
5
-5
-5
0
0
0
0
0
25
-9
-22
5
0
0
0
0
14
37
35
-58
5
0
0
0
0
0
-5
59
15
23
0
0
0
0
22
-12
7
51
-44
0
0
0
0
0
-22
46
-3
-18
0
0
0
0
5
-17
11
4
19
0
0
0
0
48
27
-54
2
17
0
0
0
0
10
0
50
-59
24
0
0
0
0
0
2
1
10
-2
0
0
0
0
57
-50
-17
-4
-12
0
0
0
0
25
14
-20
-20
32
0
0
0
0
-13
-52
-6
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-16
9
13
23
-24
-13
0
0
0
0
-2
-27
2
-15
-5
0
0
0
55
0
19
-18
-102
27
0
0
0
0
-1
-3
58
-35
13
0
0
22
42
0
27
-30
-3
22
0
0
0
0
0
-6
-24
-84
34
0
0
0
-14
0
-7
-11
-47
59
0
0
0
0
-1
19
7
45
5
0
0
-32
1
1
3
41
9
-2
0
0
0
0
-3
2
-2
67
-20
0
0
0
21
2
2
23
-28
8
0
0
0
0
0
-1
58
-67
1
0
0
26
19
0
-9
-9
-66
-3
0
0
0
0
0
1
-22
17
-2
0
0
0
-90
0
1
-5
-69
89
0
0
0
0
3
0
-4
-33
88
0
0
-44
-2
-2
-53
8
-5
-6
0
0
0
0
0
23
8
-87
-5
0
0
0
58
0
-2
21
-60
-26
0
0
0
0
0
0
-5
-46
17
0
0
27
-1
0
6
-16
-33
21
0
0
0
0
0
-5
8
-76
83
0
0
0
30
0
-2
16
-39
37
0
0
0
0
-1
2
-8
37
5
0
0
31
1
0
-7
41
27
0
0
0
0
0
0
-2
1
-101
43
0
0
0
25
0
0
-69
9
4
0
0
0
0
0
0
-1
34
7
0
0
-7
-10
0
0
-19
-85
35
0
0
0
0
0
13
-7
-40
-22
0
0
0
13
0
1
-7
-26
6
0
0
0
0
0
0
13
-20
64
0
0
0
0
8
42
31
-46
-9
0
0
0
0
11
-39
-14
-30
8
0
0
0
0
-2
3
-13
25
9
0
0
0
0
17
14
-11
30
-31
0
0
0
0
2
-19
-22
-9
39
0
0
0
0
0
-3
24
24
-33
0
0
0
0
2
-4
9
5
8
0
0
0
0
-18
17
13
7
-1
0
0
0
0
0
2
-45
20
-8
0
0
0
0
14
-2
-14
-5
-7
0
0
0
0
0
-6
30
3
-1
0
0
0
0
17
-10
25
-31
30
0
0
0
0
1
-5
54
-125
48
0
0
0
0
0
10
5
-15
9
0
0
0
0
-1
0
-15
28
33
0
0
0
0
29
1
-46
-7
93
0
0
0
0
0
6
4
-22
-7
0
0
0
0
-2
-22
-10
3
44
0
0
0
0
0
5
-4
-6
-14
0
0
0
0
53
5
4
3
37
0
0
0
0
0
0
8
-23
-21
0
0
0
0
1
0
-3
-128
77
0
0
0
0
0
0
7
1
26
0
0
0
0
-1
-13
-3
16
41
0
0
0
0
0
0
-28
-99
67
0
0
0
0
-3
0
4
6
1
0
0
0
0
0
-2
12
-33
-6
0
0
0
0
20
0
-4
-1
-15
0
0
0
0
0
2
4
-35
-15
0
0
0
0
-1
-2
2
-7
26
0
0
0
0
0
-1
4
-5
87
0
0
0
0
12
3
-1
-8
86
0
0
0
53
-15
-13
-54
8
-31
0
0
0
0
-7
8
-12
9
6
0
0
0
4
-4
-4
-40
-48
67
0
0
0
0
-7
16
-4
-19
43
0
0
0
27
2
10
-3
46
-42
0
0
0
0
3
0
-8
-8
34
0
0
0
-76
0
-7
26
53
48
0
0
0
0
31
-8
-5
-6
59
0
0
0
2
-24
1
8
-103
37
0
0
0
0
1
5
13
21
16
0
0
0
-26
4
0
14
30
0
0
0
0
0
-16
2
28
20
-6
0
0
0
15
0
4
-1
-40
64
0
0
0
0
0
-3
-2
29
-5
0
0
0
4
0
1
-15
-15
71
0
0
0
0
14
-14
6
24
81
0
0
0
-7
0
1
-19
-86
87
0
0
0
0
0
-6
13
1
-17
0
0
0
23
0
1
25
-91
-25
0
0
0
0
5
0
22
-70
40
0
0
0
14
0
-2
0
-27
-6
0
0
0
0
0
0
-2
-47
7
0
0
0
-11
0
-2
-25
-12
5
0
0
0
0
-3
-1
0
39
73
0
0
0
-3
1
7
3
-60
21
0
0
0
0
0
-3
-58
-108
46
0
0
0
29
0
0
1
-61
84
0
0
0
0
60
0
13
8
-8
0
0
0
-14
0
-2
6
-21
1
0
0
0
0
0
-6
0
-9
13
0
0
0
33
0
7
-2
-30
68
0
0
0
0
5
0
5
-18
24
0
0
0
0
52
69
22
-13
-91
0
0
0
0
58
-45
37
-27
-8
0
0
0
0
7
-7
18
-17
-20
0
0
0
0
-22
55
-24
-24
16
0
0
0
0
0
-10
8
108
32
0
0
0
0
1
12
-18
-92
51
0
0
0
0
0
-39
-5
-10
49
0
0
0
0
51
-19
44
-26
7
0
0
0
0
0
-8
-6
-85
2
0
0
0
0
8
-33
-12
20
40
0
0
0
0
-5
45
24
-69
46
0
0
0
0
8
30
56
5
-10
0
0
0
0
0
2
-22
17
-6
0
0
0
0
-10
9
1
-13
4
0
0
0
0
-1
3
-25
-6
30
0
0
0
0
-6
21
-35
-4
87
0
0
0
0
0
-4
13
16
-51
0
0
0
0
3
5
-8
-49
3
0
0
0
0
0
0
54
-106
84
0
0
0
0
-15
24
-57
83
-4
0
0
0
0
0
0
12
55
0
0
0
0
0
2
3
6
-51
28
0
0
0
0
5
2
-5
20
9
0
0
0
0
13
13
1
11
38
0
0
0
0
-3
-2
-29
32
54
0
0
0
0
0
1
4
-20
-5
0
0
0
0
0
8
1
-3
15
0
0
0
0
-16
-3
18
27
62
0
0
0
0
0
-3
0
52
42
0
0
0
0
-1
25
5
-55
-13
0
0
0
0
-3
-4
13
-21
26
0
0
0
0
-5
30
-6
5
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
77
-20
11
-58
19
16
0
0
0
0
-8
-9
9
31
3
0
0
0
15
4
8
51
-42
-2
0
0
0
0
0
1
6
-54
7
0
0
-71
-6
0
-9
63
75
23
0
0
0
0
0
-2
-25
0
-48
0
0
0
2
0
-5
30
25
-35
0
0
0
0
0
-2
44
-19
26
0
0
15
3
0
1
15
-5
11
0
0
0
0
1
-1
-38
33
1
0
0
0
20
2
-8
-21
-40
13
0
0
0
0
0
-2
-13
13
89
0
0
20
-1
0
-17
-29
-21
31
0
0
0
0
0
3
-14
12
49
0
0
0
14
0
0
-7
3
21
0
0
0
0
0
3
-14
-21
19
0
0
-51
-61
2
32
20
-41
18
0
0
0
0
-1
-14
-27
50
-3
0
0
0
-6
-1
6
43
-58
-21
0
0
0
0
0
0
-20
-3
38
0
0
38
-7
-1
-13
22
22
23
0
0
0
0
5
-3
-6
-2
36
0
0
0
-37
0
8
-13
-65
1
0
0
0
0
0
-2
9
-11
50
0
0
66
-25
-6
64
48
-8
7
0
0
0
0
2
0
8
-59
18
0
0
0
9
-1
7
8
68
5
0
0
0
0
0
-4
5
-51
-5
0
0
48
-3
-3
2
41
-13
6
0
0
0
0
0
5
-7
-8
32
0
0
0
30
0
-4
-42
-40
5
0
0
0
0
-1
0
8
-22
71
0
0
0
0
10
73
40
-34
-28
0
0
0
0
-41
2
45
68
-39
0
0
0
0
3
6
17
-40
4
0
0
0
0
9
53
54
14
-96
0
0
0
0
-4
2
16
-62
38
0
0
0
0
-5
-21
10
-40
39
0
0
0
0
0
3
2
-95
14
0
0
0
0
7
-32
4
1
21
0
0
0
0
17
-31
-14
42
-28
0
0
0
0
31
9
-19
-10
6
0
0
0
0
-3
1
24
44
25
0
0
0
0
-3
-24
-1
-18
81
0
0
0
0
0
-7
24
-19
-20
0
0
0
0
-20
7
-9
-17
11
0
0
0
0
-2
-1
-1
2
45
0
0
0
0
-22
49
1
-46
9
0
0
0
0
0
-4
-40
40
30
0
0
0
0
-5
-3
27
13
-16
0
0
0
0
-3
-2
-31
77
29
0
0
0
0
45
0
-29
-35
56
0
0
0
0
0
-14
-24
24
5
0
0
0
0
2
0
3
16
-23
0
0
0
0
0
3
0
-41
68
0
0
0
0
2
-4
79
-66
-31
0
0
0
0
0
-7
-49
25
9
0
0
0
0
-53
-8
10
-29
30
0
0
0
0
10
1
4
-7
18
0
0
0
0
-49
1
54
-28
25
0
0
0
0
0
5
-6
-18
21
0
0
0
0
0
24
-1
-79
-10
0
0
0
0
1
-1
-9
-13
29
0
0
0
0
11
47
-1
0
25
0
0
0
119
-1
-60
13
-85
38
0
0
0
0
17
-25
-46
18
23
0
0
0
41
4
-29
59
-44
23
0
0
0
0
13
3
34
-21
38
0
0
0
23
0
4
34
-64
-33
0
0
0
0
0
-1
-41
15
75
0
0
0
49
-8
14
-76
-35
47
0
0
0
0
0
-59
3
15
87
0
0
0
3
13
-29
19
-37
17
0
0
0
0
1
-14
24
-14
-2
0
0
0
49
0
7
4
-101
42
0
0
0
0
9
8
-1
5
-4
0
0
0
-14
0
-3
42
0
-8
0
0
0
0
5
1
-1
-28
-19
0
0
0
-31
-3
0
-1
9
10
0
0
0
0
-17
-2
32
33
26
0
0
0
-30
0
6
-53
-36
34
0
0
0
0
6
-2
6
9
-38
0
0
0
30
4
-5
30
-14
13
0
0
0
0
23
-4
-4
-20
94
0
0
0
-48
-5
48
47
-72
23
0
0
0
0
-4
-13
45
7
-11
0
0
0
20
0
-4
-33
-26
6
0
0
0
0
1
6
1
-29
51
0
0
0
-2
0
10
27
-26
8
0
0
0
0
-61
0
43
-58
43
0
0
0
-23
3
2
17
-8
-40
0
0
0
0
-24
0
9
65
-18
0
0
0
21
2
9
-35
21
-7
0
0
0
0
0
22
-29
17
-3
0
0
0
49
0
-3
-6
-16
-6
0
0
0
0
10
4
1
16
-18
0
0
0
0
27
8
-74
67
-5
0
0
0
0
13
5
16
-33
31
0
0
0
0
52
1
16
-102
51
0
0
0
0
-38
-23
5
8
61
0
0
0
0
-4
9
10
-24
60
0
0
0
0
2
-51
34
-39
90
0
0
0
0
38
6
13
19
7
0
0
0
0
-23
-34
18
-6
37
0
0
0
0
-3
11
27
23
-17
0
0
0
0
55
-16
-35
43
0
0
0
0
0
-27
1
15
-94
15
0
0
0
0
-41
45
-1
42
-46
0
0
0
0
-1
-1
-28
18
45
0
0
0
0
4
21
6
-52
35
0
0
0
0
22
-5
34
-27
10
0
0
0
0
-26
-5
17
-14
18
0
0
0
0
0
-25
-13
-49
69
0
0
0
0
-53
3
-14
-1
80
0
0
0
0
-3
16
-45
-28
48
0
0
0
0
21
58
-77
-10
64
0
0
0
0
-1
-5
2
-19
10
0
0
0
0
4
13
-26
-52
88
0
0
0
0
14
-18
-2
-2
-8
0
0
0
0
-44
-18
44
7
22
0
0
0
0
13
2
-18
-13
30
0
0
0
0
-70
13
30
-9
61
0
0
0
0
31
-1
20
-136
25
0
0
0
0
18
-7
-22
13
9
0
0
0
0
0
0
-10
-12
-13
0
0
0
0
-23
-39
32
-31
31
0
0
0
0
67
-2
17
7
-33
0
0
0
0
27
-21
-7
-9
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
-6
5
-60
-48
13
29
-5
0
0
-51
4
-46
-130
-33
16
-10
0
16
-52
-40
43
-37
24
21
-6
0
0
-29
3
44
61
-3
-9
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
53
13
-1
-69
39
13
-5
0
0
0
37
-37
39
14
12
-3
0
0
-51
21
-9
42
-62
14
-10
0
0
0
28
-46
-42
-40
55
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
20
-13
-23
-7
-31
-7
0
0
0
0
24
-81
64
-7
-6
0
0
0
1
47
106
5
-52
-32
0
0
0
0
33
40
-13
-27
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-30
-49
12
35
32
-11
0
0
0
0
2
34
-8
-17
8
0
0
0
25
4
-48
4
-17
-8
0
0
0
0
-42
-39
-11
-47
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-26
-13
-28
-39
-11
3
0
0
8
-116
-16
22
7
-14
-4
0
0
0
-8
5
-22
26
-4
7
0
0
-17
79
66
18
14
-3
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
28
-67
-59
51
9
0
0
0
21
-24
3
-39
10
-2
0
0
0
-8
5
25
-40
53
11
0
0
0
7
15
41
20
22
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
40
1
0
0
0
0
13
-8
-8
17
-4
0
0
0
0
2
-30
25
-45
31
0
0
0
0
-7
-4
12
-67
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
11
-9
-16
0
0
0
0
-8
3
5
-75
-24
0
0
0
0
0
1
-19
4
54
0
0
0
0
19
-8
7
-28
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
1
-17
-22
36
35
18
0
0
5
5
28
17
-24
10
17
0
-107
-6
49
-52
51
72
-8
17
0
0
-55
-8
51
-5
-16
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
9
-36
-6
-2
-2
0
0
0
-12
-16
32
-14
77
21
0
0
37
-2
3
-40
-132
25
32
0
0
0
4
-4
-3
-56
1
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
40
-83
-11
0
0
0
0
0
-8
5
4
-11
0
0
0
-3
0
-3
13
-85
43
0
0
0
0
-1
8
5
-5
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-35
-4
-26
0
0
0
0
2
-1
42
19
-28
0
0
0
10
0
0
-30
-48
53
0
0
0
0
-1
0
-1
52
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
31
75
-41
9
7
0
0
-7
7
37
-27
97
54
-25
0
0
8
8
25
-5
3
64
-19
0
0
-23
-26
-83
-15
51
10
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
3
-32
50
12
0
0
0
6
-12
20
-43
-3
-12
0
0
0
-4
-8
18
32
-16
11
0
0
0
-57
3
72
-85
101
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
46
57
-21
0
0
0
0
5
-13
-13
13
24
0
0
0
0
-3
-5
-71
3
3
0
0
0
0
-8
5
-1
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
10
26
0
0
0
0
5
13
0
-14
98
0
0
0
0
5
0
28
42
9
0
0
0
0
-1
-16
6
19
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
7
1
-31
-48
-63
51
11
4
0
0
2
0
34
-23
56
-1
-16
0
31
0
-6
-4
28
66
-20
3
0
0
0
0
-7
87
18
0
-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
29
0
0
-20
-75
71
-22
-1
0
0
0
0
2
-50
11
29
3
0
0
-8
0
8
8
-103
16
-9
0
0
0
0
-3
1
-25
-23
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
34
3
0
-13
-17
-62
14
0
0
0
0
0
2
1
-58
40
0
0
0
-6
0
-7
-22
13
5
0
0
0
0
0
-2
-2
-5
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-8
-37
1
-32
0
0
0
0
0
-12
4
42
20
0
0
0
22
0
8
-18
12
5
0
0
0
0
0
-1
0
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
39
49
11
47
-8
3
0
0
0
25
-61
-12
-51
-9
15
0
0
0
8
-24
-98
41
-4
14
0
0
-3
-67
-25
-27
29
27
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
15
15
60
-17
0
0
0
-1
5
-42
-75
12
4
0
0
0
0
5
47
-44
-13
-3
0
0
0
12
-42
12
11
2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-87
66
0
0
0
0
2
0
-8
-53
-16
0
0
0
0
0
8
-15
-18
-1
0
0
0
0
1
53
-2
-3
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
9
-14
46
0
0
0
0
2
2
-1
25
-23
0
0
0
0
0
1
1
-17
37
0
0
0
0
0
-19
0
-66
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
65
-37
16
1
12
0
0
2
-2
31
65
-45
7
27
0
-7
0
22
-20
6
-13
-11
3
0
0
8
5
49
50
75
-51
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
-30
-46
40
20
0
0
0
1
-7
-21
-50
66
20
0
0
13
0
-7
51
47
14
-26
0
0
0
-2
17
3
-73
23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-25
17
5
0
0
0
0
0
3
-1
-3
32
0
0
0
26
0
-1
-13
-50
-23
0
0
0
0
0
-12
10
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
5
-6
-40
57
0
0
0
0
-1
-1
1
-17
22
0
0
0
-7
0
-5
-8
-4
59
0
0
0
0
0
0
0
5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-58
-26
5
-16
0
0
-13
1
-6
5
-67
21
44
0
0
-29
-62
58
22
40
4
-9
0
0
3
-75
47
-8
17
-24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
11
-9
-3
16
0
0
0
16
13
8
27
-3
8
0
0
0
46
8
-39
-27
41
-22
0
0
0
-43
5
-19
8
-6
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-41
44
-30
0
0
0
0
5
30
14
28
-49
0
0
0
0
0
8
13
-50
17
0
0
0
0
8
41
28
-31
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
16
0
0
0
0
3
6
0
-14
-12
0
0
0
0
27
-8
7
-25
32
0
0
0
0
-30
11
5
17
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
-5
-78
-12
-19
34
0
0
0
-2
-6
33
-47
-2
25
0
0
4
2
-17
68
-50
-6
33
0
0
0
0
20
-13
-52
70
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
23
-44
18
22
0
0
0
0
1
-2
-13
10
25
-5
0
0
0
1
-3
23
57
-18
-3
0
0
0
0
14
68
-22
102
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
2
-15
-20
-24
29
0
0
0
0
8
19
-9
-2
-33
0
0
0
2
0
-6
43
-43
22
0
0
0
0
0
4
35
-59
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-1
-7
6
9
27
0
0
0
0
0
1
-18
-50
71
0
0
0
0
0
-5
5
34
-8
0
0
0
0
-3
1
13
-13
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
24
-14
8
2
0
0
0
-3
20
-21
-73
-49
-1
0
0
0
4
-1
-10
0
92
-26
0
0
0
24
8
21
-71
20
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-61
-46
-2
1
0
0
0
0
-15
22
-4
52
-19
0
0
0
-2
-4
14
32
26
-5
0
0
0
5
25
-9
-24
65
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
-58
15
0
0
0
0
-2
2
2
7
1
0
0
0
0
0
0
13
28
-7
0
0
0
0
0
4
63
-80
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
1
-21
-44
44
0
0
0
0
8
1
2
-1
7
0
0
0
0
0
0
1
21
56
0
0
0
0
15
8
6
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-31
26
-29
29
23
0
0
0
0
8
-8
-54
68
-11
0
0
56
1
1
42
-38
15
-10
0
0
0
-20
-17
36
13
-20
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-45
-55
34
17
0
0
0
-17
22
-8
15
40
1
0
0
-7
4
0
-41
24
-97
30
0
0
0
-2
-3
-33
-20
16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
8
-8
-105
32
0
0
0
0
0
4
-1
-8
52
0
0
0
17
0
4
-14
-33
34
0
0
0
0
0
-5
-7
13
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
46
68
-42
0
0
0
0
0
0
-13
-34
46
0
0
0
31
0
0
19
-16
-20
0
0
0
0
9
0
-5
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
68
-15
14
9
0
0
0
11
31
60
-27
15
-23
0
0
0
2
1
40
0
8
-14
0
0
0
-48
-20
-14
40
-13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-72
1
22
1
0
0
0
1
-52
35
7
-16
2
0
0
0
2
12
29
25
-23
-38
0
0
0
12
-33
-56
24
-40
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-24
32
0
0
0
0
-8
-6
8
39
59
0
0
0
0
0
0
71
28
23
0
0
0
0
41
-49
-7
-18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
-36
64
0
0
0
0
-12
5
6
12
-22
0
0
0
0
-1
0
15
-75
93
0
0
0
0
-13
-5
-14
-3
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
-2
3
-30
-12
31
0
0
0
0
-1
-24
-11
53
6
0
0
48
0
2
-9
-8
-28
17
0
0
0
0
2
71
-41
5
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
6
0
31
76
48
25
-12
0
0
0
-1
49
1
-48
32
-21
0
0
5
0
0
41
-49
29
-18
0
0
0
0
0
-50
-3
61
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
3
-1
-7
43
-64
12
0
0
0
0
0
23
17
-69
37
0
0
0
-27
0
-4
-31
52
36
0
0
0
0
0
-4
8
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
20
-27
32
-5
0
0
0
0
0
0
3
0
48
0
0
0
13
0
0
39
-31
49
0
0
0
0
-1
-1
-17
8
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
-40
42
12
0
0
0
-1
8
0
-71
-11
6
0
0
0
0
1
14
14
2
-5
0
0
0
-1
20
42
-20
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
19
-25
3
2
0
0
0
-5
-47
-21
-53
25
13
0
0
0
0
4
1
19
-33
14
0
0
0
-5
-14
16
-8
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
-2
26
0
0
0
0
0
0
-50
-16
58
0
0
0
0
0
0
-39
17
28
0
0
0
0
0
22
20
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-8
3
47
0
0
0
0
0
-11
2
-14
2
0
0
0
0
0
-4
-8
50
28
0
0
0
0
0
-5
-8
-14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
1
-16
-25
-17
24
16
0
0
0
0
33
5
31
-4
12
0
0
-27
0
-21
-9
54
-5
6
0
0
0
-13
-56
-18
0
76
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
1
-5
-6
40
15
0
0
0
5
-3
5
22
-29
3
0
0
23
0
-24
-20
-4
52
1
0
0
0
38
24
14
5
26
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
20
-13
26
0
0
0
0
0
-9
4
-41
23
0
0
0
-24
0
-1
-32
-44
147
0
0
0
0
-2
48
-45
-7
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-2
7
5
41
0
0
0
0
2
1
7
-4
42
0
0
0
23
-3
-5
2
-2
-30
0
0
0
0
18
0
1
4
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-10
29
-4
7
0
0
0
-31
45
22
-41
33
6
0
0
0
-2
-13
41
7
40
-30
0
0
0
25
35
35
-18
-14
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
22
49
40
22
0
0
0
9
-38
31
-25
21
13
0
0
0
63
-16
-42
-1
51
-29
0
0
0
67
-60
-39
8
59
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-32
34
0
0
0
0
7
24
-48
22
70
0
0
0
0
2
13
13
8
6
0
0
0
0
-42
-60
18
8
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
2
-6
14
-11
49
0
0
0
0
-30
0
-12
9
64
0
0
0
0
14
-1
5
-6
15
0
0
0
0
27
18
-45
-10
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
44
0
0
-46
-88
-69
44
0
0
0
0
-1
41
-8
-106
32
0
0
0
-16
0
-22
21
-39
4
0
0
0
0
7
21
-49
-7
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
-15
0
-1
8
80
-40
-4
0
0
0
0
-1
-25
42
-29
39
0
0
0
0
1
5
-24
-67
39
0
0
0
0
-4
-34
10
27
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
1
0
-4
-32
-86
-6
0
0
0
0
0
-4
47
-25
3
0
0
0
2
0
-5
-5
-44
1
0
0
0
0
0
0
-14
39
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
16
11
-1
13
0
0
0
0
0
5
28
16
-7
0
0
0
2
0
13
-21
51
-36
0
0
0
0
2
8
9
-23
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-97
14
20
0
0
0
0
-1
-12
-8
29
-49
0
0
0
0
0
-4
43
17
-7
0
0
0
0
-1
31
6
-20
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
35
-60
23
0
0
0
0
0
1
-27
-69
66
0
0
0
0
-3
-3
22
-26
19
0
0
0
0
4
-6
6
-42
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
-51
39
-12
0
0
0
0
0
0
1
-75
63
0
0
0
0
0
3
-6
41
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
32
-30
0
0
0
0
0
4
0
7
-23
0
0
0
0
0
-1
-13
-29
28
0
0
0
0
9
5
-1
-32
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
-16
-28
-4
0
0
0
0
0
1
-54
1
15
0
0
0
46
0
-4
1
-53
-27
0
0
0
0
1
0
-26
52
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
30
73
10
0
0
0
0
0
2
42
15
-13
0
0
0
-70
3
-1
54
-51
54
0
0
0
0
2
8
32
-49
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
-1
6
-112
38
0
0
0
0
0
1
2
-73
26
0
0
0
-20
0
0
3
-76
75
0
0
0
0
0
0
2
-79
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
10
14
-19
0
0
0
0
0
1
-3
-12
9
0
0
0
-30
0
0
-31
-30
44
0
0
0
0
0
0
24
-63
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
89
-55
14
0
0
0
0
3
9
-5
-76
7
0
0
0
0
2
-6
6
-20
42
0
0
0
0
-10
-41
30
30
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
39
9
0
0
0
0
0
-6
22
-21
30
0
0
0
0
0
1
22
10
3
0
0
0
0
24
-27
-4
-8
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
40
0
0
0
0
0
1
32
-17
37
0
0
0
0
-2
0
20
-49
33
0
0
0
0
0
3
-35
-26
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
20
-51
60
0
0
0
0
1
-4
26
-51
94
0
0
0
0
0
0
-53
52
-15
0
0
0
0
3
0
-42
-49
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-5
0
9
-33
-58
-16
0
0
0
0
0
2
29
-25
30
0
0
0
-5
0
-4
-30
20
16
0
0
0
0
0
-2
2
-10
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
-7
0
0
-6
35
2
-6
0
0
0
0
-1
1
16
55
-42
0
0
0
0
-1
5
61
-55
23
0
0
0
0
0
0
0
-8
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
1
0
0
-2
0
-36
0
0
0
0
0
0
2
-16
-2
0
0
0
-1
0
-1
-2
-50
88
0
0
0
0
0
2
4
-25
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
9
-29
58
0
0
0
0
-3
-1
-1
-41
9
0
0
0
-3
0
3
45
-63
13
0
0
0
0
1
-1
8
14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
5
-75
-5
0
0
0
0
-4
17
-2
-58
17
0
0
0
0
0
13
5
-31
9
0
0
0
0
0
-48
0
-15
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-6
-19
0
0
0
0
0
-6
3
-4
-41
0
0
0
0
3
-2
-5
16
5
0
0
0
0
29
22
-22
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
-8
0
0
0
0
0
1
0
3
-1
0
0
0
0
0
1
6
-5
27
0
0
0
0
-1
2
0
-50
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
-94
23
0
0
0
0
-2
1
13
-24
-21
0
0
0
0
0
1
23
-13
48
0
0
0
0
-2
13
4
-34
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
-5
-6
-30
70
0
0
0
0
0
-9
-8
46
-59
0
0
0
5
0
-2
7
-58
57
0
0
0
0
8
9
-8
-74
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-5
-28
36
-7
0
0
0
0
0
9
7
-7
-2
0
0
0
6
0
5
-12
52
-3
0
0
0
0
25
19
-13
-46
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
41
-47
27
0
0
0
0
0
-1
6
-9
38
0
0
0
69
0
0
3
-90
23
0
0
0
0
-9
2
3
-30
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
4
22
-93
8
0
0
0
0
-2
-10
-6
-47
93
0
0
0
46
0
-5
33
-24
23
0
0
0
0
-3
0
-5
13
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-31
-22
6
0
0
0
0
5
35
-8
-30
-21
0
0
0
0
0
0
-32
15
30
0
0
0
0
-73
48
7
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
9
-12
10
0
0
0
0
-13
-18
50
46
-23
0
0
0
0
0
30
35
-27
37
0
0
0
0
34
26
-5
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
49
31
0
0
0
0
0
34
-4
5
-34
0
0
0
0
0
8
-3
-23
20
0
0
0
0
1
-69
13
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-45
-19
132
0
0
0
0
12
16
22
-66
-9
0
0
0
0
-15
5
-42
-18
94
0
0
0
0
-47
-66
-41
19
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
-4
-56
-18
29
0
0
0
0
0
-12
9
18
58
0
0
0
-1
0
0
20
-17
-11
0
0
0
0
0
16
13
-42
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-5
0
-47
3
-73
70
0
0
0
0
1
19
66
-44
10
0
0
0
1
-3
4
15
-63
63
0
0
0
0
2
53
27
-26
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-1
0
-20
-4
-25
7
0
0
0
0
0
2
30
-77
-25
0
0
0
-2
0
-2
-47
9
4
0
0
0
0
0
2
43
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
20
-2
-23
-45
47
-4
0
0
0
0
0
-25
42
34
-12
0
0
0
3
0
2
32
-32
22
0
0
0
0
0
4
-7
-29
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
-109
43
0
0
0
0
0
-5
-42
21
67
0
0
0
0
0
-1
13
10
31
0
0
0
0
18
5
0
-5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-53
-16
5
0
0
0
0
0
-3
-33
-46
31
0
0
0
0
0
-2
16
86
13
0
0
0
0
9
-18
19
-44
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-73
2
0
0
0
0
0
-4
-6
-25
9
0
0
0
0
0
0
10
-32
43
0
0
0
0
0
-5
-2
73
-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
-5
-4
41
88
-18
0
0
0
0
0
0
45
-25
-53
0
0
0
0
-2
0
10
-67
9
0
0
0
0
-2
-2
3
-84
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-41
-54
66
0
0
0
0
3
2
-17
70
23
0
0
0
-30
0
-2
-20
-58
53
0
0
0
0
-2
0
-18
-19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
-5
40
-30
6
0
0
0
0
0
9
55
-29
-10
0
0
0
50
2
2
6
-56
-30
0
0
0
0
15
-23
62
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
40
-45
-3
0
0
0
0
-1
-6
-4
-43
45
0
0
0
-26
0
0
-10
80
-64
0
0
0
0
0
7
-29
49
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
57
-80
27
0
0
0
0
-3
3
-7
11
17
0
0
0
-20
-2
0
-18
25
-20
0
0
0
0
4
0
-6
7
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
-24
93
0
0
0
0
-31
26
31
14
-41
0
0
0
0
0
1
4
0
-13
0
0
0
0
-6
37
-44
-10
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-46
53
0
0
0
0
18
-5
41
-55
14
0
0
0
0
8
-19
76
-60
41
0
0
0
0
4
-26
2
49
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
8
-48
96
0
0
0
0
5
-7
0
-29
24
0
0
0
0
5
-1
-28
22
18
0
0
0
0
46
-38
-43
46
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
21
-14
27
0
0
0
0
-11
14
24
-33
32
0
0
0
0
-4
-2
31
-6
6
0
0
0
0
34
-9
31
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
2
2
-24
-18
0
0
0
0
1
1
2
-15
1
0
0
0
17
0
5
0
-7
4
0
0
0
0
0
3
0
6
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-1
-8
-15
-11
-29
0
0
0
0
-3
-7
13
-30
22
0
0
0
16
0
-4
-15
-7
7
0
0
0
0
0
0
15
3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
9
17
-42
11
0
0
0
0
0
0
10
-41
39
0
0
0
3
0
-2
1
12
-10
0
0
0
0
0
2
-3
51
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-2
-16
-1
-30
30
0
0
0
0
1
0
-9
46
-28
0
0
0
-12
2
0
-6
-5
11
0
0
0
0
-4
1
-2
-59
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
40
-38
0
0
0
0
-1
3
1
-4
80
0
0
0
0
0
1
4
47
-8
0
0
0
0
0
-8
-2
49
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-29
-44
15
0
0
0
0
0
-1
25
-70
50
0
0
0
0
0
-4
6
-4
28
0
0
0
0
0
10
14
40
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-6
-17
0
0
0
0
0
2
0
21
-39
0
0
0
0
0
-1
27
-32
61
0
0
0
0
0
-2
4
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
6
-6
-14
0
0
0
0
2
13
-2
-59
27
0
0
0
0
1
0
-2
30
-55
0
0
0
0
-3
-28
-2
-32
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
27
11
-50
0
0
0
0
0
1
6
-43
64
0
0
0
-16
0
3
1
9
-25
0
0
0
0
28
0
-3
8
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
3
-14
-18
-20
0
0
0
0
2
5
3
-27
-21
0
0
0
16
0
-7
8
59
-37
0
0
0
0
-22
5
-24
8
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
19
8
-22
8
0
0
0
0
0
-30
1
-27
74
0
0
0
25
0
0
15
-46
-11
0
0
0
0
6
12
6
-28
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-22
1
13
-6
0
0
0
0
-1
-7
-4
31
35
0
0
0
10
0
2
48
-72
-41
0
0
0
0
-24
6
2
-16
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
15
31
0
0
0
0
39
-9
-24
39
61
0
0
0
0
3
0
18
-40
29
0
0
0
0
1
3
64
41
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-4
0
0
0
0
10
-16
23
9
55
0
0
0
0
-1
5
-6
-60
-24
0
0
0
0
-22
23
22
-60
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
18
49
0
0
0
0
2
-8
5
-1
-11
0
0
0
0
-22
-1
-5
4
61
0
0
0
0
13
81
13
6
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-12
-1
-38
0
0
0
0
-6
-29
33
-52
13
0
0
0
0
13
-43
35
22
58
0
0
0
0
-10
46
-11
-50
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
13
1
-11
-2
1
-5
7
-3
0
0
7
40
13
-54
15
-16
20
0
14
-5
14
-22
-75
33
10
4
0
0
-18
-45
16
-9
9
33
9
3
77
-8
33
-92
-41
14
0
4
0
0
42
0
-50
-105
6
-7
-16
0
26
-7
-36
61
24
11
3
18
0
0
37
25
50
61
-4
5
7
-22
7
2
-6
35
-1
37
-21
0
0
0
4
38
10
54
21
-20
0
0
11
-7
62
44
-40
-33
7
0
0
0
-55
27
-28
-21
14
48
0
40
-63
-12
31
-14
-31
9
4
0
0
0
13
5
82
-75
-38
42
0
0
-12
69
-40
-28
24
-45
27
0
0
0
22
-4
24
-27
-18
5
0
10
-13
5
-102
-3
46
27
0
0
0
0
9
-7
-15
50
-16
0
0
0
-14
32
1
32
-57
-36
0
0
0
0
46
-5
-38
10
-12
0
0
73
-50
3
60
-40
-26
15
0
0
0
0
-16
68
-31
-52
21
0
0
0
-18
105
-25
-27
25
-27
0
0
0
0
-56
31
36
-53
71
0
0
-40
3
19
20
32
25
-19
0
0
0
0
5
27
32
3
-8
0
0
0
-29
13
9
-6
-49
30
0
0
0
0
-50
-35
-21
30
61
0
0
40
62
-8
-17
15
-30
-34
0
0
0
0
-19
-97
86
-37
61
0
0
0
-42
8
3
-37
17
12
0
0
0
0
-48
-3
-8
-17
65
0
0
0
0
-22
-19
-10
-16
31
-7
10
0
0
48
-32
-16
68
-19
-2
35
0
0
22
-8
24
-58
30
15
59
0
0
2
-21
-1
-27
19
25
54
0
0
0
-5
-60
-48
32
-30
-15
0
0
0
10
-1
-16
68
-28
11
0
0
0
2
3
-26
119
-147
26
0
0
25
12
1
13
-1
-52
19
0
0
1
1
17
9
6
-9
0
0
0
0
-3
-6
-8
-24
-1
0
0
0
3
0
19
7
61
-9
0
0
0
23
-1
8
-7
84
-45
0
0
0
0
2
4
-67
49
28
0
0
0
0
-1
-1
-42
-28
24
0
0
0
0
0
1
-16
21
12
0
0
0
-43
2
-3
-3
7
62
0
0
0
-1
-3
49
-58
3
0
0
0
0
2
-3
-4
-19
41
0
0
0
0
0
0
13
-5
-23
0
0
0
0
-9
-3
-2
-35
36
0
0
0
0
-1
2
8
-41
-5
0
0
0
0
-3
0
1
-53
25
0
0
0
0
0
-12
0
54
-19
0
0
0
0
7
2
-2
-35
-22
0
0
0
0
0
0
0
-57
-25
0
0
0
0
1
2
0
-19
31
0
0
0
0
1
-1
-8
3
-20
0
0
0
0
2
-1
0
-16
33
0
0
0
0
0
-3
0
-10
29
0
0
0
0
2
1
-3
-13
-17
0
0
0
0
0
0
0
7
-50
0
0
0
0
-44
-5
0
8
25
0
0
0
-24
-1
2
-9
-30
-13
1
11
0
0
0
-7
-29
-22
-15
47
-18
0
12
-1
2
-75
-9
-17
-14
22
0
0
-4
0
10
2
-7
37
-3
0
-6
0
1
-25
-19
94
-60
1
0
0
0
0
-5
5
-22
-8
0
0
5
0
0
6
7
7
-72
22
0
0
0
0
2
-24
22
12
8
0
-2
0
-4
6
-20
103
-10
0
0
0
-1
2
-6
-53
122
-18
0
0
-3
0
0
-5
13
-28
23
0
0
0
0
-2
-4
-8
24
-37
0
0
-16
0
0
5
-12
17
12
0
0
0
0
0
-3
-20
-1
23
0
0
-45
0
-2
5
-1
-6
51
0
0
0
0
0
0
-2
-5
8
0
0
0
-2
5
-20
-8
14
0
0
0
0
0
0
-7
11
11
0
0
0
-4
0
0
-10
1
-71
0
0
0
0
0
0
-2
-10
10
0
0
0
1
0
0
15
-27
33
0
0
0
0
1
0
-1
-37
-32
0
0
0
-52
0
0
1
2
23
0
0
0
0
0
0
0
-1
8
0
0
0
2
1
-3
8
-20
-30
0
0
0
0
0
-5
3
-41
37
0
0
0
-32
0
-1
-5
32
42
0
0
0
0
0
-1
-1
10
-26
0
0
0
-2
0
0
0
34
-7
0
0
0
0
0
0
4
6
-28
0
0
0
-17
0
-1
-5
4
66
0
0
0
0
0
0
0
0
20
0
0
0
0
1
-14
-30
50
90
6
-38
0
0
-3
11
63
27
-26
-29
-11
0
0
2
0
41
18
71
-18
16
0
0
45
8
-76
13
51
19
2
0
0
3
2
1
41
-18
-25
36
0
0
-2
-7
-5
-9
25
6
-9
0
0
1
0
17
-8
-16
-80
20
0
0
0
14
23
61
-60
20
-22
0
0
0
-2
13
-107
-27
58
0
0
0
0
2
-12
-12
-26
3
0
0
0
0
-1
8
-13
5
20
0
0
0
-2
-4
27
-76
38
24
0
0
0
0
-2
0
-3
21
43
0
0
0
0
0
0
4
29
-4
0
0
0
0
0
0
-5
33
43
0
0
0
7
2
-5
4
5
10
0
0
0
2
-1
-39
-23
50
0
0
0
0
0
0
-4
17
26
0
0
0
0
0
0
13
13
-22
0
0
0
0
5
-2
47
8
-10
0
0
0
0
0
-1
3
-42
64
0
0
0
0
0
7
-1
-48
80
0
0
0
0
-1
0
0
16
74
0
0
0
0
0
0
1
-4
35
0
0
0
0
0
0
-1
-20
58
0
0
0
0
0
0
1
-32
-3
0
0
0
0
0
0
1
-17
61
0
0
0
0
2
0
4
-8
13
0
0
0
0
0
0
0
5
-37
0
0
0
0
0
-5
0
-29
53
0
0
0
0
0
-2
1
0
16
0
0
0
0
0
0
0
4
2
0
0
-25
3
0
-20
10
-59
67
14
-1
0
0
0
2
-42
-54
-31
42
-24
0
-2
0
7
8
39
56
9
18
0
0
1
2
-8
-9
30
87
-5
44
0
0
-13
11
15
78
-20
-2
0
0
-4
0
20
-51
69
-19
32
0
-10
0
1
4
-22
-2
-37
7
0
0
0
0
-10
-32
-49
-18
17
29
0
0
0
25
-92
75
10
0
0
0
0
0
0
8
47
14
0
0
-1
0
0
-31
5
84
3
0
0
0
0
-1
3
-29
51
45
0
-59
0
0
-1
17
27
-76
23
0
0
0
0
0
0
-22
-47
0
0
0
8
0
0
0
6
-34
-10
0
0
0
0
-1
0
5
35
-32
0
49
3
2
8
-26
-66
-12
0
0
0
0
0
-2
-33
-11
12
0
0
0
-2
0
-1
-12
-64
-6
0
0
0
0
0
2
-9
-2
17
0
0
-28
0
0
-2
5
9
2
0
0
0
0
1
-1
17
-57
6
0
0
0
8
0
-3
59
-50
57
0
0
0
0
0
0
-1
5
8
0
0
-1
0
0
-6
-11
31
32
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
-3
-39
15
99
0
0
0
0
0
1
-5
-7
-25
0
0
-8
0
0
4
0
-35
77
0
0
0
0
0
3
0
6
76
0
0
0
8
0
0
-1
-14
20
0
0
0
0
0
3
0
2
0
0
0
0
0
1
-6
9
-68
22
4
21
0
0
6
-16
-9
6
-25
-17
22
0
0
0
-7
-2
27
39
34
3
0
0
-6
16
13
-6
69
-6
-2
0
0
0
0
-9
-21
6
-2
3
0
0
1
0
0
-48
39
12
-7
0
0
0
0
-5
11
-5
11
25
0
0
0
0
1
-2
13
-85
3
0
0
0
0
-1
23
-5
7
0
0
0
0
1
-5
19
5
0
0
0
0
0
0
0
15
15
23
0
0
0
0
0
-2
18
66
-11
0
0
0
0
0
-1
-14
82
-18
0
0
0
0
0
7
-1
34
8
0
0
0
0
0
0
8
18
18
0
0
0
0
-12
-4
0
5
26
0
0
0
0
3
-23
-37
43
0
0
0
0
0
0
16
-72
39
0
0
0
0
0
0
2
-13
49
0
0
0
0
1
-2
2
-42
63
0
0
0
0
0
0
1
-22
-30
0
0
0
0
0
0
1
-41
5
0
0
0
0
0
0
6
30
4
0
0
0
0
0
1
-3
14
-37
0
0
0
0
0
0
-8
-20
-14
0
0
0
0
0
0
-5
20
87
0
0
0
0
0
0
1
0
-36
0
0
0
0
0
0
-2
9
54
0
0
0
0
0
2
0
-5
-6
0
0
0
0
0
3
-2
0
-47
0
0
0
0
0
0
-3
-16
17
0
0
0
0
0
-1
0
-5
5
0
0
0
2
0
-4
-42
23
9
-10
19
0
0
0
0
0
-27
5
-2
21
0
-1
0
0
8
-133
-11
12
30
0
0
1
0
-8
-13
13
34
16
0
5
0
-1
-18
40
-6
-3
7
0
0
0
0
0
-7
41
-9
-3
0
-31
0
-1
0
8
-8
8
7
0
0
0
0
2
-15
8
11
-6
0
1
0
0
2
-42
10
20
0
0
0
0
1
0
-49
13
13
0
0
2
0
-1
-6
-31
39
1
0
0
0
0
0
8
-40
-11
34
0
0
0
0
1
-2
-24
7
5
0
0
0
0
0
1
-29
27
7
0
0
-7
0
0
8
5
22
0
0
0
0
0
0
-2
-9
-5
18
0
0
0
0
-5
-1
-59
49
0
0
0
0
0
0
-1
-24
15
0
0
0
0
0
0
-4
-25
12
0
0
0
0
0
0
1
-41
33
0
0
0
0
0
0
4
-44
66
0
0
0
0
0
0
0
-37
-4
0
0
0
20
0
0
-5
9
26
0
0
0
0
0
6
-1
-10
-13
0
0
0
0
0
0
1
31
44
0
0
0
0
0
0
0
-9
52
0
0
0
25
0
0
-4
-40
33
0
0
0
0
0
-1
-1
-14
24
0
0
0
0
0
0
-1
50
11
0
0
0
0
0
0
-1
-8
-35
0
0
0
-6
0
1
0
1
5
0
0
0
0
0
0
1
0
-24
0
0
0
0
0
-9
-7
-33
-7
41
10
0
0
0
-43
20
-46
44
16
-12
0
0
0
0
14
8
30
16
10
0
0
21
15
-11
102
-27
-62
29
0
0
0
1
8
19
-49
26
9
0
0
0
-2
-1
-51
-14
-11
25
0
0
0
1
-15
-15
27
-40
6
0
0
-14
-10
13
-18
0
-5
26
0
0
0
0
3
-13
14
4
0
0
0
1
2
1
8
-21
-1
0
0
0
0
2
-31
-16
63
-27
0
0
0
-1
-19
-37
41
39
-10
0
0
0
0
1
-3
-9
-2
12
0
0
0
0
3
-2
-2
5
-30
0
0
0
0
0
-9
4
-6
2
0
0
0
2
4
8
0
2
-30
0
0
0
0
6
0
41
-82
0
0
0
0
0
-3
3
-19
44
0
0
0
0
0
-1
17
-41
-19
0
0
0
0
0
-6
44
-50
27
0
0
0
0
0
0
2
-5
1
0
0
0
0
1
-3
3
-13
39
0
0
0
0
0
8
0
-13
-6
0
0
0
0
0
24
1
4
7
0
0
0
0
0
0
2
4
11
0
0
0
0
0
0
-3
-1
13
0
0
0
0
0
-1
13
-39
-28
0
0
0
0
0
6
-4
2
53
0
0
0
0
0
3
0
-24
49
0
0
0
0
0
16
2
3
28
0
0
0
0
0
-12
3
-2
10
0
0
0
0
-1
12
2
7
-8
0
0
-5
3
1
-1
27
-66
53
10
0
0
0
-1
5
48
10
26
30
0
0
-14
6
-8
-23
104
7
19
0
0
0
0
-2
-4
-41
-2
4
0
-3
0
0
-2
-12
75
23
-1
0
0
0
0
9
-29
-24
111
6
0
0
0
0
-3
8
-2
-16
-19
0
0
0
0
17
5
-33
19
35
0
0
0
0
4
-52
-40
25
13
0
0
0
1
3
40
-14
-49
20
0
0
0
0
0
2
-58
19
10
0
0
0
0
-6
13
-8
30
3
0
-3
0
0
2
35
-45
9
-1
0
0
0
0
4
-16
4
-3
23
0
0
0
0
-1
8
1
22
-7
0
0
0
0
-1
22
6
-24
8
0
0
0
0
-1
-5
-11
38
0
0
0
0
0
-1
-2
-49
36
0
0
0
1
0
0
2
-10
-5
0
0
0
0
0
-1
-2
-4
-31
0
0
-3
0
0
-1
75
41
-27
0
0
0
0
0
0
0
-35
30
0
0
0
0
0
-3
-4
-33
50
0
0
0
0
0
1
-14
15
3
0
0
0
0
0
-2
10
35
-8
0
0
0
0
1
0
-14
46
24
0
0
0
0
0
0
0
84
-61
0
0
0
0
0
-1
0
9
41
0
0
0
0
0
0
1
5
38
0
0
0
0
0
1
2
-13
3
0
0
0
2
0
0
0
-1
7
0
0
0
0
0
0
1
5
3
0
0
0
0
0
-9
25
-27
-14
19
0
0
0
-1
0
6
-101
35
22
0
0
0
7
-1
0
-3
45
9
0
0
0
5
0
2
9
93
-124
0
0
0
0
0
-19
2
17
-12
0
0
0
0
0
-1
34
-46
29
0
0
0
0
0
-1
6
28
19
0
0
0
0
0
1
-30
-13
23
0
0
0
0
-1
-3
-49
18
39
0
0
0
0
0
1
-71
43
6
0
0
0
0
0
-3
-27
-5
24
0
0
0
1
1
-1
-17
31
10
0
0
0
0
0
8
37
33
13
0
0
0
0
-1
0
19
17
4
0
0
0
0
0
0
2
-6
-30
0
0
0
0
0
0
-4
-5
21
0
0
0
0
0
3
2
12
0
0
0
0
0
0
0
8
53
0
0
0
0
0
0
-1
-24
49
0
0
0
0
0
0
0
3
46
0
0
0
0
0
4
0
16
14
0
0
0
0
0
0
0
29
-6
0
0
0
0
0
0
-2
10
-4
0
0
0
0
0
0
1
-3
8
0
0
0
0
0
1
-1
-41
-12
0
0
0
0
0
0
8
10
-9
0
0
0
0
0
0
0
-2
31
0
0
0
0
0
0
0
-5
23
0
0
0
0
0
0
0
-24
5
0
0
0
0
0
0
2
8
-10
0
0
0
0
0
0
0
4
22
0
0
0
0
0
0
0
-13
17
0
0
0
-11
0
-8
-31
30
32
-14
0
0
0
0
1
3
26
5
-9
0
0
20
0
0
14
-26
-3
-4
0
0
0
0
0
-7
-2
25
1
0
0
8
0
3
-14
-8
34
-6
0
0
0
0
0
-1
-20
17
0
0
0
1
0
0
4
-12
3
28
0
0
0
0
0
-3
-10
-28
15
0
0
0
0
3
7
-26
62
3
0
0
0
1
0
0
7
64
-5
0
0
0
0
0
-13
-29
28
-2
0
0
0
0
0
1
12
44
-118
0
0
0
0
0
-2
-16
-61
23
0
0
0
0
-2
0
5
13
-19
0
0
-4
0
0
-2
1
55
-14
0
0
0
0
0
0
0
44
-27
0
0
0
0
0
-5
46
3
0
0
0
0
0
0
1
-53
9
0
0
0
0
0
0
-12
-31
113
0
0
0
0
0
0
0
-3
48
0
0
0
0
0
0
18
-48
58
0
0
0
0
0
0
0
49
6
0
0
0
-2
0
0
3
24
1
0
0
0
0
0
0
0
0
20
0
0
0
0
0
1
1
-20
16
0
0
0
0
-1
0
0
-5
55
0
0
0
5
0
0
2
-8
18
0
0
0
0
0
0
-2
-2
-33
0
0
0
0
0
0
1
-9
15
0
0
0
0
0
0
-1
1
3
0
0
0
4
0
0
0
-5
-22
0
0
0
0
0
0
0
-10
39
0
0
0
0
-1
-1
6
1
-4
1
0
0
0
2
1
32
-52
-19
-17
0
0
0
1
0
6
-3
5
0
0
0
0
-21
-5
1
5
23
17
0
0
0
0
0
-6
66
-29
-8
0
0
0
0
-1
-6
7
22
-38
0
0
0
0
0
3
46
-25
7
0
0
0
5
-27
2
-1
21
31
0
0
0
1
0
-3
-9
5
10
0
0
0
1
2
-8
-30
3
26
0
0
0
0
0
-2
20
4
-47
0
0
0
4
2
-1
3
-26
-68
0
0
0
0
0
0
12
11
15
0
0
0
0
0
-4
-2
-28
-3
0
0
0
0
0
0
1
26
4
0
0
0
-3
0
0
0
49
-85
0
0
0
0
0
-10
-12
34
0
0
0
0
0
0
-1
-7
20
0
0
0
0
0
0
-1
-16
50
0
0
0
0
2
0
4
8
41
0
0
0
0
0
-2
-2
0
5
0
0
0
0
0
3
-1
0
39
0
0
0
0
0
1
6
0
-31
0
0
0
0
0
2
0
-4
100
0
0
0
0
0
0
2
25
-28
0
0
0
0
0
0
-4
-4
30
0
0
0
0
0
0
1
8
16
0
0
0
0
0
1
4
0
8
0
0
0
0
0
0
1
-9
2
0
0
0
0
0
-1
3
14
-43
0
0
0
0
0
0
-1
-4
18
0
0
0
0
3
0
0
2
-31
0
0
16
-3
0
-1
37
-50
2
-1
0
0
0
0
0
-2
-42
28
31
0
0
0
0
0
-28
-13
20
-27
0
0
0
0
0
13
21
1
0
0
1
0
0
-2
-16
-8
43
-4
0
0
0
0
0
8
-19
3
31
0
0
-15
0
-1
0
5
26
-13
0
0
0
0
0
33
0
20
-1
0
-12
0
0
-1
-15
26
0
15
0
0
0
0
-2
9
-22
8
2
0
0
0
0
0
-45
-3
31
16
0
0
0
0
-2
33
-1
-17
-1
0
1
0
0
5
9
-34
-5
-4
0
0
0
0
0
0
19
27
-4
0
0
-31
0
0
-32
-7
7
23
0
0
0
0
0
-5
-2
51
-9
0
0
0
0
-3
46
-87
37
0
0
0
0
0
0
3
-12
41
0
0
0
0
0
0
-3
-51
72
0
0
0
0
0
0
0
12
38
0
0
0
0
0
0
13
15
-29
0
0
0
0
0
0
9
-8
-38
0
0
0
5
0
0
-7
5
5
0
0
0
0
0
0
-25
2
51
0
0
0
0
0
0
6
-52
8
0
0
0
0
0
4
-1
-9
15
0
0
0
0
0
0
-2
-6
-20
0
0
0
0
0
0
5
0
-13
0
0
6
0
0
2
-4
24
29
0
0
0
0
0
2
1
-12
32
0
0
0
12
0
0
0
-6
-9
0
0
0
0
0
0
32
4
19
0
0
0
0
0
0
-27
-3
-15
19
0
0
0
-5
-2
0
-15
-11
0
0
0
0
0
0
8
32
59
-59
0
0
0
0
1
2
12
55
-19
0
0
0
0
0
7
-25
52
-5
0
0
0
0
-2
0
-4
-60
33
0
0
0
0
0
0
9
13
13
0
0
0
0
-2
21
-2
-7
17
0
0
0
0
-1
2
1
-33
1
0
0
0
0
0
2
35
0
-48
0
0
0
0
0
-8
-5
16
2
0
0
0
0
0
25
1
-38
29
0
0
0
0
0
-1
23
10
-10
0
0
0
0
-4
-1
-3
9
-8
0
0
0
0
0
4
-7
124
-30
0
0
0
4
2
-32
0
29
14
0
0
0
0
0
0
51
15
0
0
0
0
0
0
-2
1
25
0
0
0
0
0
0
0
31
-88
0
0
0
0
0
0
4
-9
-31
0
0
0
0
0
0
0
-17
17
0
0
0
0
1
0
1
-1
-27
0
0
0
0
0
0
0
2
-22
0
0
0
0
0
0
-3
6
-8
0
0
0
0
0
0
-3
-30
27
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
6
20
-40
0
0
0
0
0
0
2
0
-28
0
0
0
0
-6
0
0
0
70
0
0
0
0
0
2
0
6
-3
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
-1
-4
1
28
0
0
0
2
0
-2
-3
-19
23
-4
0
0
0
1
0
-1
-10
96
-68
0
0
-4
0
0
3
-23
73
17
0
0
0
3
0
8
0
13
-26
0
0
1
0
0
2
-2
57
-19
0
0
0
0
-2
1
0
56
-30
0
0
5
0
0
-4
3
-16
-7
0
0
0
-1
-1
2
0
-24
66
0
0
0
0
0
1
7
-1
14
0
0
0
0
0
0
14
-35
25
0
0
9
0
3
0
1
62
-12
0
0
0
0
0
4
4
14
-3
0
0
4
0
0
2
0
-32
-5
0
0
0
0
-1
0
0
79
-59
0
0
5
0
0
0
0
-11
-39
0
0
0
0
0
1
0
17
-30
0
0
0
0
0
-1
-29
70
0
0
0
0
0
0
0
1
-72
0
0
0
1
0
0
0
-23
57
0
0
0
0
0
0
2
-8
35
0
0
0
-1
0
0
-2
7
-58
0
0
0
0
0
0
0
-4
5
0
0
0
20
0
0
0
-1
11
0
0
0
0
0
0
-1
-2
15
0
0
0
0
0
0
0
14
21
0
0
0
0
0
0
0
-5
54
0
0
0
-10
0
0
-2
-4
-16
0
0
0
0
0
0
-2
0
-5
0
0
0
1
0
1
3
0
-32
0
0
0
0
0
0
0
-12
53
0
0
0
49
0
0
3
-3
-93
0
0
0
0
0
0
0
1
-49
0
0
0
0
0
-3
2
-16
57
-47
0
0
0
-1
6
1
24
-36
-31
0
0
0
-6
0
6
8
48
5
0
0
0
3
-5
13
5
-8
12
0
0
0
0
0
0
7
23
-57
0
0
0
1
13
2
-10
26
-33
0
0
0
0
0
-1
2
4
-105
0
0
0
1
8
-5
1
-1
-45
0
0
0
0
0
0
0
-10
15
0
0
0
0
0
0
-1
-37
18
0
0
0
0
0
-9
0
115
-67
0
0
0
5
-5
16
6
23
-36
0
0
0
0
0
0
0
24
-14
0
0
0
0
0
0
1
21
-40
0
0
0
0
0
-1
0
27
-1
0
0
0
7
-24
3
0
35
6
0
0
0
0
0
0
-19
-17
0
0
0
0
0
0
-2
13
15
0
0
0
0
0
0
3
0
-23
0
0
0
0
0
0
6
1
-9
0
0
0
0
0
0
-4
0
44
0
0
0
0
0
0
-4
10
-21
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
2
5
0
0
0
0
0
0
0
-10
57
0
0
0
0
0
-3
0
4
31
0
0
0
0
0
0
-4
-5
-5
0
0
0
0
7
-4
1
7
4
0
0
0
0
0
0
1
1
45
0
0
0
0
-1
4
1
-8
27
0
0
0
0
0
-1
0
9
9
0
0
0
0
-24
-2
5
1
-2
0
0
-3
0
-5
-61
89
36
22
0
0
0
0
6
10
-3
-40
16
0
0
0
2
-4
10
-26
-33
37
0
0
0
0
1
4
32
-13
-24
0
0
6
0
0
-29
-10
-47
19
0
0
0
0
0
41
22
-37
-28
0
0
0
-1
0
-5
-10
-33
3
0
0
0
0
0
-63
-40
-5
41
0
0
0
0
0
-35
35
12
-93
0
0
0
0
-1
5
31
-48
27
0
0
0
0
0
1
-22
-95
39
0
0
0
0
0
-5
-40
-14
54
0
0
3
0
0
8
16
-20
-5
0
0
0
0
0
-6
-5
-29
54
0
0
0
0
0
-5
-20
-62
39
0
0
0
0
-1
7
42
1
-16
0
0
0
0
0
17
72
-6
4
0
0
0
0
0
-1
5
-34
44
0
0
0
0
0
0
-33
17
12
0
0
0
0
0
0
8
6
26
0
0
0
0
0
-3
1
-29
6
0
0
0
0
-1
-8
7
-23
24
0
0
0
0
0
5
3
-109
113
0
0
0
0
0
-4
15
-35
42
0
0
-1
2
0
5
28
-41
45
0
0
0
0
0
-1
1
-33
14
0
0
0
0
0
1
-25
-10
40
0
0
0
0
0
6
34
-40
-26
0
0
1
0
0
-1
5
-28
-15
0
0
0
0
0
0
2
-1
29
0
0
0
-1
0
0
8
-32
43
0
0
0
0
0
5
-5
-45
27
0
0
0
0
0
14
-32
-77
117
0
0
0
0
-6
0
4
-5
48
0
0
0
0
6
0
6
10
31
0
0
0
0
1
0
0
-8
7
0
0
0
0
0
7
-5
20
-25
0
0
0
0
1
-6
0
-3
-22
0
0
0
0
0
0
0
2
2
0
0
0
0
0
-3
-1
0
29
0
0
0
0
0
0
-4
20
3
0
0
0
0
2
0
0
27
-15
0
0
0
0
-1
0
-2
-35
49
0
0
0
0
-4
0
-2
-6
9
0
0
0
0
0
0
-1
-5
-29
0
0
0
0
-2
0
0
12
5
0
0
0
0
0
0
0
15
15
0
0
0
0
24
0
0
3
-18
0
0
0
0
0
-4
1
-39
22
0
0
0
0
0
0
0
23
35
0
0
0
0
0
0
0
-29
31
0
0
0
0
0
0
-5
7
30
0
0
0
0
0
0
0
-18
-37
0
0
0
0
0
3
0
-6
-31
0
0
0
0
0
0
-1
-33
73
0
0
0
0
-1
0
0
6
5
0
0
0
0
0
1
3
-5
18
0
0
0
0
-3
0
0
-71
63
0
0
0
0
3
0
0
-47
52
0
0
0
0
3
-1
0
9
45
0
0
0
0
0
0
0
19
1
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
-3
-5
0
0
0
0
12
0
0
5
31
0
0
0
0
0
0
5
-73
52
0
0
0
0
0
1
-3
-20
5
0
0
0
3
0
0
-21
-51
41
0
0
0
0
0
0
-1
14
-13
0
0
0
0
0
0
9
54
-13
0
0
0
0
0
0
-3
9
-6
0
0
0
8
0
0
-6
5
-54
0
0
0
0
0
0
-1
-1
-13
0
0
0
0
0
0
-31
-36
9
0
0
0
0
0
0
-4
-43
46
0
0
0
-2
0
0
4
-19
-6
0
0
0
0
0
0
2
-4
-13
0
0
0
0
0
0
-13
22
41
0
0
0
0
0
0
1
-17
25
0
0
0
7
0
0
1
-4
-41
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
5
-8
29
0
0
0
0
0
0
0
-11
27
0
0
0
0
0
0
-1
-16
42
0
0
0
0
0
0
0
5
-49
0
0
0
0
0
0
-6
8
-28
0
0
0
0
0
0
0
15
23
0
0
0
30
0
0
0
-24
-28
0
0
0
0
0
0
1
-40
2
0
0
0
0
0
0
3
-12
35
0
0
0
0
0
-2
2
-9
-25
0
0
0
3
0
0
0
-38
41
0
0
0
0
0
0
4
-12
90
0
0
0
0
0
0
0
36
-26
0
0
0
0
0
0
1
7
36
0
0
0
-7
0
0
0
2
22
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
0
21
-41
-17
0
0
0
0
0
-2
-9
-32
64
0
0
0
0
0
0
66
-29
-5
0
0
0
0
-4
1
-8
29
18
0
0
0
0
0
-1
0
-3
38
0
0
0
0
0
3
1
42
29
0
0
0
0
0
0
6
-12
36
0
0
0
0
3
-1
-20
0
-18
0
0
0
0
0
0
1
-8
57
0
0
0
0
0
0
5
-17
51
0
0
0
0
0
0
-1
57
-33
0
0
0
0
2
0
2
24
-28
0
0
0
0
0
0
1
-8
68
0
0
0
0
0
0
1
-43
-33
0
0
0
0
0
0
-1
-7
1
0
0
0
0
-2
-1
0
-1
9
0
0
0
0
0
0
-9
-31
51
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
-5
-8
5
0
0
0
0
0
0
4
-4
-26
0
0
0
0
0
0
0
-22
19
0
0
0
0
0
0
0
31
-49
0
0
0
0
0
0
8
-13
40
0
0
0
0
-1
0
-13
20
-10
0
0
0
0
0
0
0
-4
44
0
0
0
0
0
0
1
22
-4
0
0
0
0
0
0
0
-5
-3
0
0
0
0
0
0
-6
-48
33
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
3
9
22
0
0
0
0
0
0
-1
-1
30
0
0
0
0
0
1
0
8
17
0
0
27
-2
0
-3
39
49
-11
0
0
0
0
0
2
5
17
-10
0
0
0
2
0
1
5
-22
38
0
0
0
0
-1
0
3
-32
22
0
0
58
0
0
-1
5
-28
2
0
0
0
0
0
0
7
-26
2
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
48
-13
0
0
-5
0
0
0
-20
50
-7
0
0
0
0
0
-3
0
-13
4
0
0
0
1
0
0
16
12
-16
0
0
0
0
0
0
-8
29
-17
0
0
-9
0
0
0
15
25
-43
0
0
0
0
0
0
-6
14
27
0
0
0
-7
0
0
5
-41
30
0
0
0
0
0
0
0
20
1
0
0
-2
0
0
2
23
-55
36
0
0
0
0
0
0
7
74
-49
0
0
0
1
0
-1
0
-27
32
0
0
0
0
0
-6
19
7
-15
0
0
2
0
0
0
-34
20
30
0
0
0
0
0
1
0
26
-7
0
0
0
25
0
0
2
-66
20
0
0
0
0
0
0
-3
69
-15
0
0
0
0
0
4
25
-68
18
0
0
0
0
0
0
3
41
-14
0
0
0
0
0
-2
13
-41
85
0
0
0
0
0
0
5
-45
19
0
0
-17
0
0
-3
0
-21
10
0
0
0
0
0
0
-2
-5
20
0
0
0
10
0
0
-2
18
31
0
0
0
0
0
-1
0
7
45
0
0
0
0
0
1
-25
19
33
0
0
0
0
-1
-1
2
-13
-3
0
0
0
0
0
0
-6
3
-9
0
0
0
0
-1
0
-17
-12
111
0
0
0
0
0
0
0
-58
41
0
0
0
0
0
3
5
-10
-25
0
0
0
0
0
0
-4
-25
50
0
0
0
0
0
-4
-1
0
-2
0
0
0
0
0
-1
0
-32
40
0
0
0
0
0
1
0
-71
94
0
0
0
0
0
0
-3
1
12
0
0
0
0
2
-3
0
10
7
0
0
0
0
0
0
-3
-8
19
0
0
0
0
0
0
1
-5
-17
0
0
0
0
0
0
0
3
15
0
0
0
0
2
3
0
12
-6
0
0
0
0
0
0
-7
-102
8
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
8
61
-90
0
0
0
0
1
0
2
-19
79
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
-4
2
10
7
0
0
0
0
0
-1
0
-23
17
0
0
0
0
0
0
-1
-7
23
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
9
44
0
0
0
0
0
0
-1
2
17
0
0
0
0
0
0
-8
-8
21
0
0
0
0
0
-2
0
-17
0
0
0
0
0
0
0
4
20
10
0
0
0
0
0
-1
0
0
1
0
0
0
0
-3
-1
-1
20
-9
0
0
0
-7
0
0
-41
85
-40
0
0
0
0
0
-3
-6
31
75
0
0
0
33
0
0
24
-48
-12
0
0
0
0
0
0
0
6
31
0
0
0
-1
0
0
-9
49
1
0
0
0
0
0
0
-1
-31
31
0
0
0
22
0
-1
0
-27
-21
0
0
0
0
0
-2
0
5
5
0
0
0
0
0
0
2
3
15
0
0
0
0
0
0
0
-2
-39
0
0
0
0
0
0
1
15
60
0
0
0
0
0
0
-3
29
52
0
0
0
0
0
-2
-1
44
13
0
0
0
0
0
0
0
20
42
0
0
0
-54
0
0
0
2
42
0
0
0
0
0
0
2
-5
8
0
0
0
0
0
0
3
-40
36
0
0
0
0
0
0
5
5
30
0
0
0
1
0
0
0
-46
49
0
0
0
0
0
0
0
-15
5
0
0
0
3
0
0
-3
3
8
0
0
0
0
0
0
0
-15
54
0
0
0
38
0
0
2
-19
-5
0
0
0
0
0
0
0
24
9
0
0
0
0
0
0
-7
-31
37
0
0
0
0
0
0
0
29
-13
0
0
0
13
0
0
1
-49
-5
0
0
0
0
0
0
0
0
29
0
0
0
2
0
0
0
-27
42
0
0
0
0
0
0
0
16
-7
0
0
0
-39
0
1
-1
-31
13
0
0
0
0
0
0
0
-31
-4
0
0
0
0
0
10
-17
-32
-1
0
0
0
0
0
-4
0
-9
63
0
0
0
0
0
0
7
-60
4
0
0
0
0
0
3
2
-18
4
0
0
0
0
0
0
0
5
51
0
0
0
0
0
2
0
-12
13
0
0
0
0
0
-2
-2
5
6
0
0
0
0
6
-8
-4
10
1
0
0
0
0
0
0
4
27
-65
0
0
0
0
3
-2
0
31
20
0
0
0
0
-3
0
-9
-14
93
0
0
0
0
-7
-3
1
-18
5
0
0
0
0
0
0
-1
10
24
0
0
0
0
0
-7
-1
2
14
0
0
0
0
0
0
0
-5
10
0
0
0
0
-5
12
-1
-5
-10
0
0
0
0
0
0
-8
4
28
0
0
0
0
0
6
-4
-15
-31
0
0
0
0
0
0
-1
2
35
0
0
0
0
0
8
0
-2
21
0
0
0
0
0
0
0
12
22
0
0
0
0
0
-3
0
26
22
0
0
0
0
0
0
0
9
-4
0
0
0
0
-1
18
1
-21
-8
0
0
0
0
0
0
-1
6
24
0
0
0
0
0
0
4
-25
11
0
0
0
0
0
0
0
3
-7
0
0
0
0
3
2
-5
-13
48
0
0
0
0
0
0
0
-1
88
0
0
0
0
0
0
-12
-9
41
0
0
0
0
0
0
-1
10
44
0
0
0
0
-5
-2
-1
-24
3
0
0
1
0
0
-5
-19
-56
49
0
0
0
0
0
-1
1
-10
-3
0
0
0
0
0
0
-6
10
-51
0
0
0
0
0
0
3
-53
31
0
0
-1
0
0
-2
13
2
-22
0
0
0
0
0
2
-5
-37
69
0
0
0
0
0
0
5
-17
32
0
0
0
0
0
-1
-3
-7
-1
0
0
0
0
0
23
-3
19
-5
0
0
0
0
0
0
-5
9
7
0
0
0
0
0
-1
-8
-12
23
0
0
0
0
0
-1
-5
-16
14
0
0
23
0
0
-6
3
41
-21
0
0
0
0
0
0
-4
9
23
0
0
0
0
0
0
-1
-22
28
0
0
0
0
0
4
0
-4
-2
0
0
0
0
0
-4
5
-3
40
0
0
0
0
0
-3
0
42
49
0
0
0
0
0
1
8
-40
25
0
0
0
0
0
0
0
20
8
0
0
8
0
0
0
14
10
18
0
0
0
0
0
1
-1
-32
12
0
0
0
0
0
-1
-5
21
26
0
0
0
0
0
4
0
18
-32
0
0
0
0
0
-3
-23
-48
50
0
0
0
0
0
0
-1
47
-28
0
0
0
3
0
0
5
-28
-15
0
0
0
0
1
0
2
-9
7
0
0
0
0
0
1
0
10
-15
0
0
0
0
0
3
-3
10
11
0
0
0
4
0
-1
-2
10
-10
0
0
0
0
0
-1
2
19
59
0
0
0
0
0
5
7
-28
5
0
0
0
0
-4
0
0
-12
20
0
0
0
0
0
0
-2
19
5
0
0
0
0
0
0
0
13
-9
0
0
0
0
0
-1
-4
-29
14
0
0
0
0
0
-1
0
-5
-6
0
0
0
0
0
0
-1
-18
6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-4
-13
31
0
0
0
0
0
0
0
-31
59
0
0
0
0
0
0
0
2
45
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-1
0
-13
8
0
0
0
0
0
0
0
-13
51
0
0
0
0
0
0
0
4
63
0
0
0
0
-1
0
0
-12
60
0
0
0
0
0
0
0
16
-21
0
0
0
0
0
0
0
-26
28
0
0
0
0
0
0
0
-24
9
0
0
0
0
0
0
0
5
21
0
0
0
0
0
0
0
-33
42
0
0
0
0
0
0
0
8
-16
0
0
0
0
0
0
0
-23
19
0
0
0
0
0
0
0
44
-31
0
0
0
0
0
0
0
-61
31
0
0
0
0
0
0
0
-22
-4
0
0
0
0
0
0
0
5
29
0
0
0
0
0
0
0
15
61
0
0
0
0
0
0
0
-73
5
0
0
0
0
0
0
-2
31
-8
0
0
0
0
0
0
0
-19
55
0
0
0
0
0
-1
0
-20
49
0
0
0
-6
0
-3
-5
-46
67
0
0
0
0
0
0
0
-7
49
0
0
0
-13
0
0
1
-15
-9
0
0
0
0
0
0
0
12
-43
0
0
0
1
0
0
3
-42
47
0
0
0
0
0
0
0
16
4
0
0
0
-13
0
0
-2
18
50
0
0
0
0
0
0
0
-53
-8
0
0
0
0
0
2
3
-10
31
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
2
-25
30
0
0
0
0
0
0
3
-24
55
0
0
0
0
0
0
0
-22
59
0
0
0
0
0
0
0
16
-60
0
0
0
1
0
0
0
-4
49
0
0
0
0
0
0
0
5
-12
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
-1
-12
0
0
0
-7
0
0
0
6
33
0
0
0
0
0
0
0
-13
35
0
0
0
0
0
0
1
1
43
0
0
0
0
0
0
0
-49
20
0
0
0
-23
0
0
1
-59
-21
0
0
0
0
0
0
0
10
6
0
0
0
1
0
0
0
-8
9
0
0
0
0
1
0
0
-42
22
0
0
0
5
0
1
0
8
-16
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
0
17
71
0
0
0
0
0
0
0
-21
21
0
0
0
9
0
0
0
5
-35
0
0
0
0
0
0
0
7
-23
0
0
0
0
0
8
3
-8
-41
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
-1
0
5
-6
0
0
0
0
0
0
2
-1
46
0
0
0
0
0
0
0
-27
5
0
0
0
0
0
0
1
0
-19
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
2
-24
50
0
0
0
0
1
0
1
9
37
0
0
0
0
0
0
-3
6
-66
0
0
0
0
-6
0
-1
8
33
0
0
0
0
0
0
0
1
41
0
0
0
0
0
-1
0
3
44
0
0
0
0
0
0
0
0
33
0
0
0
0
1
0
0
-4
1
0
0
0
0
0
0
0
-5
55
0
0
0
0
0
0
0
-65
42
0
0
0
0
0
0
0
-8
48
0
0
0
0
-1
0
0
2
9
0
0
0
0
0
0
0
-5
31
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
8
-43
22
0
0
0
0
0
4
0
0
30
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
2
6
21
0
0
0
0
0
0
-3
-25
4
0
0
0
0
1
0
1
-32
65
0
0
0
0
0
0
0
9
15
0
0
0
0
0
-1
0
-8
15
0
0
0
0
0
-1
1
3
-2
0
0
0
0
17
4
-1
-20
41
0
0
-2
0
0
2
-25
-62
-1
0
0
0
0
0
0
1
-29
61
0
0
0
0
0
0
5
1
-21
0
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
-9
-45
31
0
0
0
0
0
0
-1
8
-3
0
0
0
1
0
0
0
75
-10
0
0
0
0
0
0
5
2
-8
0
0
0
0
0
2
-3
-18
7
0
0
0
0
0
0
0
-22
58
0
0
0
1
0
-1
0
-19
42
0
0
0
0
0
0
0
-31
6
0
0
3
0
0
0
-7
-5
35
0
0
0
0
0
0
0
19
-69
0
0
0
2
0
0
0
19
-4
0
0
0
0
0
-2
0
-8
35
0
0
0
0
0
1
0
32
24
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
-35
38
0
0
0
0
0
0
0
-9
17
0
0
-4
0
0
0
2
-7
-28
0
0
0
0
0
0
0
1
42
0
0
0
10
0
0
2
-12
-38
0
0
0
0
0
0
0
-49
26
0
0
-1
0
0
0
21
-25
17
0
0
0
0
0
0
0
46
16
0
0
0
0
0
0
3
61
-52
0
0
0
0
0
0
0
-27
-12
0
0
4
0
0
0
2
-71
-5
0
0
0
0
0
0
0
4
-18
0
0
0
1
0
0
2
-9
-15
0
0
0
0
0
0
0
-22
56
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
-9
31
0
0
0
0
0
0
0
5
17
0
0
0
0
-1
0
0
-18
6
0
0
0
0
0
3
1
16
-31
0
0
0
0
0
0
0
-9
-33
0
0
0
0
0
0
0
-30
5
0
0
0
0
0
8
0
-6
-2
0
0
0
0
0
0
-1
1
21
0
0
0
0
0
0
2
-42
-8
0
0
0
0
0
0
2
-5
26
0
0
0
0
-1
-1
5
8
52
0
0
0
0
0
-3
0
-5
85
0
0
0
0
0
0
2
5
10
0
0
0
0
0
1
0
-1
63
0
0
0
0
-4
8
0
1
-34
0
0
0
0
0
0
0
-8
24
0
0
0
0
0
0
0
2
-49
0
0
0
0
0
0
0
5
34
0
0
0
0
0
0
0
-2
81
0
0
0
0
0
0
0
-8
81
0
0
0
0
0
0
0
-30
56
0
0
0
0
0
0
0
-3
35
0
0
0
0
0
-1
0
4
12
0
0
0
0
0
0
-1
9
28
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
-8
26
0
0
0
0
0
0
0
12
-2
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
-2
0
19
19
0
0
0
0
0
0
0
0
61
0
0
0
0
0
-8
3
15
-23
0
0
0
0
0
0
-5
0
26
0
0
0
0
0
0
0
6
8
0
0
0
-15
0
0
-3
3
25
0
0
0
0
0
0
-2
0
56
0
0
0
0
0
-4
-3
5
19
0
0
0
0
0
0
1
0
-5
0
0
0
31
0
0
-3
-1
-2
0
0
0
0
0
-1
4
0
-3
0
0
0
0
0
0
0
-15
39
0
0
0
0
0
0
0
4
11
0
0
0
-12
0
-2
1
-8
24
0
0
0
0
0
0
-2
5
-8
0
0
0
33
0
1
2
-8
-8
0
0
0
0
0
6
1
-1
83
0
0
0
14
0
1
0
4
-26
0
0
0
0
4
0
0
0
35
0
0
0
0
0
0
0
3
-41
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
-13
18
0
0
0
0
0
0
0
-6
-11
0
0
0
-9
0
0
-1
7
15
0
0
0
0
0
0
0
1
23
0
0
0
-10
0
0
0
-4
3
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
39
-16
0
0
0
0
0
0
0
4
-8
0
0
0
-4
0
0
0
-8
25
0
0
0
0
0
0
1
8
36
0
0
0
-22
0
0
0
-31
8
0
0
0
0
0
0
0
4
55
0
0
0
41
0
0
0
1
4
0
0
0
0
0
0
0
7
-22
0
0
0
0
3
0
-6
-8
21
0
0
0
0
0
0
0
-3
-37
0
0
0
0
0
0
0
1
-49
0
0
0
0
1
0
-1
3
5
0
0
0
0
0
0
-4
1
-8
0
0
0
0
0
-4
0
2
6
0
0
0
0
0
0
1
1
6
0
0
0
0
0
1
0
8
0
0
0
0
0
0
-1
0
-1
29
0
0
0
0
0
-1
-6
-10
17
0
0
0
0
-1
0
3
-3
7
0
0
0
0
13
3
2
13
-13
0
0
0
0
0
0
0
-3
42
0
0
0
0
0
-8
2
-5
-9
0
0
0
0
2
-2
-1
4
-23
0
0
0
0
-3
-37
0
0
30
0
0
0
0
0
0
0
-14
-7
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
4
-1
-13
0
0
0
0
0
0
0
-15
58
0
0
0
0
0
0
0
9
45
0
0
0
0
0
0
2
-1
-41
0
0
0
0
0
1
-4
2
39
0
0
0
0
3
-4
-2
8
5
0
0
0
0
0
0
0
-39
45
0
0
0
0
0
0
2
-4
52
0
0
0
0
-8
0
10
-8
-3
0
0
0
0
-3
0
0
16
15
0
0
0
0
0
0
0
-4
65
0
0
0
0
0
4
0
9
-3
0
0
0
0
0
-1
5
1
-7
0
0
0
0
-7
4
-1
12
-1
0
0
-34
18
-40
-57
12
18
5
10
-5
0
0
-21
-39
-16
13
12
1
50
0
-39
-17
-18
54
-65
-20
17
30
0
0
6
56
-27
20
11
-41
-31
16
-73
5
-2
-44
-67
109
12
1
0
0
23
28
57
-86
-16
-31
-6
0
-33
0
-1
18
-37
29
-21
6
0
0
-5
-16
-15
-97
9
-18
40
21
34
18
0
-18
-25
-14
5
0
0
0
3
8
21
-27
-8
-12
0
0
56
-8
25
-25
-9
-50
13
0
0
0
-1
3
-28
-11
84
-31
0
-5
1
0
-16
-29
-68
38
21
0
0
0
1
3
13
9
53
-126
0
0
15
0
2
-39
9
60
-33
0
0
0
0
0
-5
49
43
-93
0
-20
51
-3
0
11
-30
10
0
0
0
0
5
-30
-16
65
9
0
0
0
-9
-1
-5
-10
-5
19
0
0
0
0
0
-5
-31
31
35
0
0
66
60
0
-9
20
-85
0
0
0
0
0
0
-5
0
-98
81
0
0
0
19
0
0
7
-54
13
0
0
0
0
1
3
5
17
-23
0
0
-2
1
0
7
-30
11
28
0
0
0
0
0
-4
3
17
-29
0
0
0
-4
0
3
13
-28
-31
0
0
0
0
0
3
-1
-63
-30
0
0
52
0
0
3
22
1
-118
0
0
0
0
-1
0
2
-57
-29
0
0
0
1
0
-1
3
-20
0
0
0
0
0
0
0
-4
1
-48
0
0
0
0
75
52
45
-2
19
-16
17
0
0
55
59
6
36
-66
18
70
0
0
-39
79
-63
-20
48
30
-11
0
0
-22
-33
84
-47
20
-52
115
0
0
-5
-8
-30
11
26
-13
60
0
0
5
80
-9
13
-31
1
-14
0
0
1
9
-5
-84
40
-13
-35
0
0
-29
-47
-11
62
-26
20
11
0
0
16
-49
-27
11
12
16
0
0
0
-5
71
-27
-13
37
-19
0
0
0
-5
-8
13
-19
-61
25
0
0
0
23
8
-29
-27
60
8
0
0
0
0
-2
32
-24
-44
49
0
0
0
1
-5
13
-8
52
-49
0
0
0
1
0
0
-35
-29
-40
0
0
0
5
4
2
-2
-34
4
0
0
0
5
-22
49
-51
20
0
0
0
0
0
-49
5
29
78
0
0
0
0
0
-5
21
-8
22
0
0
0
0
5
-14
-25
2
43
0
0
0
0
0
-41
1
43
-17
0
0
0
0
1
-13
38
-47
7
0
0
0
0
0
-1
-22
26
-17
0
0
0
0
1
-4
-5
-37
-13
0
0
0
0
0
3
11
-29
21
0
0
0
0
-2
0
-4
2
9
0
0
0
0
-8
0
-3
18
-7
0
0
0
0
0
2
0
-73
22
0
0
0
0
0
0
0
-23
24
0
0
0
0
-3
0
0
-48
58
0
0
0
0
0
0
0
-4
50
0
0
0
0
-2
3
2
-8
13
0
0
0
38
-8
-10
58
7
68
-13
-21
0
0
-11
-27
59
1
48
-3
34
0
-25
-2
17
0
-46
1
-47
5
0
0
-3
-40
12
46
-24
50
47
0
-39
4
6
51
-41
-48
5
0
0
0
0
-14
-6
32
-9
56
-3
0
-76
0
1
52
-89
11
20
24
0
0
19
13
-76
-8
19
43
34
0
-9
0
3
14
-66
73
10
0
0
0
-3
-3
7
-25
3
15
0
0
61
-2
15
69
-19
-2
-80
0
0
0
9
-24
-15
-32
52
47
0
0
0
0
0
31
-13
-24
13
0
0
0
0
1
-3
29
12
28
0
0
51
0
-3
15
-31
16
-40
0
0
0
0
0
9
-6
-19
50
0
0
-37
4
-32
30
-79
59
0
0
0
0
5
-18
-9
-27
64
0
0
0
-1
0
0
-1
-5
-2
0
0
0
0
0
-1
21
33
21
0
0
0
-9
0
-1
9
-64
19
0
0
0
0
2
-1
-25
31
-85
0
0
0
-8
0
-2
-27
13
-9
0
0
0
0
0
-5
-13
15
58
0
0
0
1
0
4
-10
-51
19
0
0
0
0
0
0
1
27
18
0
0
0
-1
0
-1
5
-58
7
0
0
0
0
0
0
0
-9
-23
0
0
0
0
0
0
-14
-43
41
0
0
0
0
0
0
1
27
-2
0
0
0
-19
0
0
0
-23
3
0
0
0
0
0
0
1
0
24
0
0
0
0
42
-2
6
52
-43
38
35
0
0
-18
-14
7
8
28
36
60
0
0
-4
31
146
-76
-20
-12
6
0
0
-26
-17
-26
20
86
49
32
0
0
-8
-39
-50
-6
-17
35
34
0
0
-3
-49
66
45
24
-13
68
0
0
0
-5
-8
-33
57
11
19
0
0
-103
-18
8
84
105
21
-11
0
0
-5
11
85
18
-13
-32
0
0
0
-57
-21
-32
16
55
-25
0
0
0
-4
6
75
-43
77
-58
0
0
0
73
1
-66
-42
83
-84
0
0
0
0
-1
8
-31
55
-9
0
0
0
-3
1
21
50
24
-59
0
0
0
0
1
33
-56
49
14
0
0
0
104
-16
-25
-60
58
-14
0
0
0
-12
-1
-5
13
-30
0
0
0
0
35
9
-18
-53
49
0
0
0
0
0
-1
25
-27
12
0
0
0
0
-2
17
-51
24
54
0
0
0
0
3
4
-1
0
36
0
0
0
0
-3
42
-22
13
32
0
0
0
0
0
4
-9
8
-41
0
0
0
0
13
19
-26
-21
-25
0
0
0
0
-2
0
16
-25
32
0
0
0
0
-3
0
-4
-7
42
0
0
0
0
0
0
4
-37
66
0
0
0
0
0
-7
15
-24
10
0
0
0
0
0
0
-3
-5
-3
0
0
0
0
-3
1
1
-12
19
0
0
0
0
0
0
1
2
34
0
0
0
0
-1
3
1
-2
-18
0
0
0
45
1
-74
-74
26
-10
-15
4
0
0
-1
-5
5
-31
16
-39
49
0
14
0
3
-26
7
41
-101
17
0
0
1
-5
-68
18
32
-12
59
-48
3
0
16
-10
-25
63
0
-4
0
0
0
-7
-6
13
-17
-44
3
0
-11
0
0
4
21
-7
-8
33
0
0
0
0
1
-3
-20
28
12
19
1
0
-9
147
-104
-9
-13
0
0
0
0
12
-8
30
-38
-37
0
0
8
0
-1
46
-21
112
-75
0
0
0
0
-1
18
-35
-5
-24
0
1
0
0
0
16
39
88
-9
0
0
0
0
0
0
-24
49
20
0
0
19
0
1
-2
56
50
-31
0
0
0
0
0
-4
-4
17
-11
0
19
0
0
-21
-43
30
3
0
0
0
0
0
-6
5
18
-56
0
0
0
-6
0
0
-49
-53
70
0
0
0
0
0
0
-7
6
14
0
0
-80
1
0
1
-35
-50
78
0
0
0
0
1
2
7
-83
5
0
0
0
30
0
0
9
18
-43
0
0
0
0
0
0
-5
27
2
0
0
-7
1
0
-5
-42
-26
99
0
0
0
0
0
-1
7
17
-5
0
0
0
0
0
-3
0
58
-1
0
0
0
0
0
2
1
-7
71
0
0
-58
0
0
2
13
-9
-9
0
0
0
0
0
0
0
-47
6
0
0
0
13
0
1
0
-42
-9
0
0
0
0
0
0
0
4
0
0
0
0
0
-44
-44
-39
2
-41
-33
54
0
0
22
35
5
-25
-63
17
-3
0
0
8
-14
51
-12
-23
42
-56
0
0
-25
-51
63
40
-9
-41
23
0
0
0
-61
-36
8
52
-52
2
0
0
0
0
6
-31
4
-7
-29
0
0
0
0
-1
-14
-6
-20
44
0
0
-4
58
6
28
-31
69
-31
0
0
0
23
-98
-19
-24
61
0
0
0
0
-17
-8
-54
30
49
0
0
0
0
-1
9
-16
53
-47
0
0
0
0
47
25
53
62
-76
0
0
0
0
-4
-3
-4
13
-25
0
0
0
0
-4
1
-4
-47
13
0
0
0
0
0
13
1
-5
-21
0
0
0
0
-9
-4
23
36
-37
0
0
0
0
-41
-1
3
-12
0
0
0
0
0
-4
1
-93
42
0
0
0
0
0
0
-7
-18
-22
0
0
0
0
0
-34
3
-43
60
0
0
0
0
0
1
-25
-74
68
0
0
0
0
0
0
-2
-25
-36
0
0
0
0
0
-1
-1
-39
70
0
0
0
0
6
-16
-4
-15
79
0
0
0
0
0
1
0
6
-8
0
0
0
0
0
-2
0
9
37
0
0
0
0
0
0
0
-17
48
0
0
0
0
0
4
-1
1
8
0
0
0
0
0
0
0
4
63
0
0
0
0
0
0
1
-4
12
0
0
0
0
0
0
0
-4
33
0
0
0
0
0
0
2
-5
-2
0
0
0
-20
5
-45
45
-82
31
7
17
0
0
0
34
24
-88
-41
1
30
0
-70
0
-4
29
1
6
49
-45
0
0
-5
4
-19
25
19
-20
22
0
48
0
-8
5
-5
-61
-39
7
0
0
0
0
13
-33
-21
43
4
0
4
0
0
-41
-20
25
19
37
0
0
0
-24
56
41
96
52
-4
0
13
0
5
-22
-18
-20
-12
0
0
0
0
5
-18
-17
21
12
0
0
25
0
0
16
-32
-14
10
0
0
0
0
2
-52
60
31
-39
0
0
-1
0
-1
-9
-1
-11
-6
0
0
0
0
-1
2
-6
74
-22
0
0
-6
0
0
1
-30
-12
36
0
0
0
-2
5
4
-5
25
-3
0
0
53
0
20
-53
-31
-52
0
0
0
0
0
1
-2
-13
25
0
0
0
-1
0
-2
-13
-9
35
0
0
0
0
0
0
-18
-2
4
0
0
0
-27
0
0
-8
8
41
0
0
0
0
0
2
-5
-10
49
0
0
0
98
0
0
1
-52
17
0
0
0
0
0
-5
8
-10
26
0
0
0
1
0
0
0
51
-42
0
0
0
0
0
0
0
-41
96
0
0
0
-33
0
0
2
0
5
0
0
0
0
0
-8
0
-5
12
0
0
0
1
0
-1
-1
5
66
0
0
0
0
0
0
1
2
10
0
0
0
-30
0
-2
0
13
0
0
0
0
0
0
-2
4
1
8
0
0
0
0
16
-83
23
-2
-42
13
-38
0
0
51
18
-30
-44
119
-12
2
0
0
-3
-14
-13
-31
68
-28
34
0
0
11
36
10
10
-68
-52
75
0
0
1
-4
31
23
29
59
-42
0
0
15
42
-6
8
1
-12
9
0
0
0
-3
8
26
2
-7
23
0
0
-16
148
29
0
-5
21
-3
0
0
0
5
1
-42
3
25
0
0
0
-1
5
20
-4
-25
-53
0
0
0
-1
-2
-8
18
14
13
0
0
0
4
-13
-8
14
61
-19
0
0
0
0
-3
-3
25
3
6
0
0
0
3
-8
-24
2
41
-9
0
0
0
0
0
1
-2
23
-10
0
0
0
49
9
-3
2
21
-101
0
0
0
-1
-33
15
1
43
0
0
0
0
2
-1
3
15
-12
0
0
0
0
0
-1
16
8
-48
0
0
0
0
4
16
2
7
1
0
0
0
0
0
1
8
-43
37
0
0
0
0
-1
10
5
-10
0
0
0
0
0
-3
7
-1
-4
-30
0
0
0
0
5
-35
5
-4
12
0
0
0
0
0
1
1
-3
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
1
9
0
0
0
0
0
13
0
-3
-13
0
0
0
0
0
1
1
-5
-1
0
0
0
0
1
-3
0
2
-1
0
0
0
0
0
0
-4
-3
-13
0
0
0
0
6
-4
5
-6
10
0
0
28
-9
32
-52
-36
2
16
-15
0
0
0
-17
8
5
7
11
-16
0
0
-21
0
-73
2
-35
37
29
0
0
0
1
0
-46
8
6
-26
0
7
2
0
-19
11
-6
58
6
0
0
0
1
-1
2
-67
36
41
0
0
0
0
0
-13
-24
66
-41
0
0
0
0
1
7
-10
-14
-16
0
5
0
2
-39
53
-23
14
-12
0
0
0
-7
14
-1
-89
45
-6
0
0
-3
-1
-41
58
-15
-72
9
0
0
0
0
0
3
1
13
-10
0
-5
0
0
1
-26
-2
9
15
0
0
0
2
0
-1
42
-26
0
0
0
0
0
0
-1
1
25
-13
0
0
0
0
0
0
-3
2
-15
0
-4
-8
-6
-1
33
22
-2
0
0
0
0
8
4
-6
42
-4
0
0
0
3
0
1
43
-1
-5
0
0
0
0
0
-5
2
-20
-21
0
0
-1
3
0
-3
-5
-16
11
0
0
0
0
0
3
-2
-109
92
0
0
0
0
0
0
2
-16
-48
0
0
0
0
0
1
4
-3
-7
0
0
0
0
0
22
-7
25
4
0
0
0
0
0
0
-3
18
27
0
0
0
1
0
-1
-19
-49
-7
0
0
0
0
0
0
2
-29
87
0
0
7
0
0
8
-6
-5
17
0
0
0
0
0
1
3
22
12
0
0
0
0
0
0
-3
8
19
0
0
0
0
0
-1
0
-1
-5
0
0
0
0
19
0
21
28
-32
-28
0
0
0
7
53
13
-1
-24
-65
0
0
0
0
-8
13
-46
78
-28
0
0
0
3
27
78
-9
-26
-59
0
0
0
3
-14
49
32
-8
-8
0
0
0
-1
6
21
-44
2
-10
0
0
0
0
-7
6
-42
14
-3
0
0
0
-14
14
-7
9
11
15
0
0
0
-2
-13
-102
20
42
20
0
0
0
0
-5
-14
-14
22
8
0
0
0
0
1
-14
29
11
-26
0
0
0
-3
-2
-21
-13
74
12
0
0
0
3
6
-20
-4
51
-54
0
0
0
-2
0
18
89
-35
-14
0
0
0
0
0
1
4
12
10
0
0
0
0
-6
3
-8
35
11
0
0
0
1
-8
63
13
38
0
0
0
0
0
3
-10
-110
52
0
0
0
0
0
2
0
-31
8
0
0
0
0
-2
0
5
-15
-1
0
0
0
0
0
0
-3
25
11
0
0
0
0
-1
-2
-4
46
-39
0
0
0
0
0
0
1
-8
-17
0
0
0
0
0
3
1
-31
-31
0
0
0
0
1
1
4
24
19
0
0
0
0
0
0
0
43
2
0
0
0
0
4
0
0
8
-51
0
0
0
0
0
-2
-1
1
17
0
0
0
0
0
0
0
3
9
0
0
0
0
1
4
0
3
0
0
0
0
0
0
0
2
9
7
0
0
0
0
0
1
0
34
-41
0
0
0
17
34
-60
41
-30
4
-25
0
0
0
-13
-5
-24
2
55
69
0
0
-42
4
1
-12
1
58
-8
0
0
0
-1
-12
16
-53
77
52
0
0
8
0
3
-19
19
-8
4
0
0
0
0
3
-21
-41
0
37
0
0
10
0
1
13
-33
-34
44
0
0
0
-13
0
15
20
55
-20
0
0
-2
-5
7
60
7
-59
-34
0
0
0
6
0
-1
1
-22
7
0
0
38
0
0
-10
-11
-4
-4
0
0
0
1
-1
-13
-8
30
24
0
0
-4
0
0
11
-20
63
-25
0
0
0
0
0
2
-5
50
-27
0
0
-36
0
0
2
2
54
-17
0
0
0
1
0
-7
14
-6
14
0
0
-41
-3
-1
31
-37
20
0
0
0
0
2
-1
22
-37
12
0
0
0
-24
0
0
44
42
-10
0
0
0
0
0
2
-5
-45
43
0
0
0
0
0
0
25
-61
45
0
0
0
0
-4
0
-17
-13
55
0
0
0
-15
0
0
-1
-5
1
0
0
0
0
22
0
-24
8
38
0
0
0
0
0
3
-2
16
35
0
0
0
0
0
1
0
25
5
0
0
0
13
0
0
-4
-48
43
0
0
0
0
-1
0
1
20
41
0
0
0
-2
0
-2
2
13
4
0
0
0
0
0
-2
0
-16
20
0
0
0
22
0
0
-1
-46
8
0
0
0
0
1
1
2
-18
5
0
0
0
0
-22
21
-58
23
-4
13
0
0
0
-56
14
2
30
45
49
0
0
0
0
-1
31
-26
42
7
0
0
0
42
-6
-58
31
22
7
0
0
0
-1
-25
0
54
41
-31
0
0
0
-4
26
11
-32
44
-19
0
0
0
0
19
-10
38
-55
27
0
0
0
-22
5
86
27
15
-16
0
0
0
0
-5
-12
-34
57
-28
0
0
0
-6
-8
15
-7
22
70
0
0
0
-2
2
-5
-44
5
14
0
0
0
-5
29
7
14
-38
-6
0
0
0
0
-1
0
-9
34
-28
0
0
0
5
3
2
-5
91
-118
0
0
0
0
9
0
3
-1
-2
0
0
0
7
-10
-2
-3
-3
-20
0
0
0
1
0
49
29
22
0
0
0
0
0
0
1
-13
-40
0
0
0
0
0
0
23
-49
29
0
0
0
0
0
1
48
-5
-18
0
0
0
0
0
0
2
-7
4
0
0
0
0
1
-3
-6
13
-19
0
0
0
0
0
4
5
17
-4
0
0
0
0
22
4
1
-15
-41
0
0
0
0
0
-3
1
1
7
0
0
0
0
5
0
-5
19
20
0
0
0
0
0
-1
-1
7
41
0
0
0
0
-3
0
0
-9
33
0
0
0
0
0
1
0
7
27
0
0
0
0
0
-2
0
30
41
0
0
0
0
0
-2
-4
-2
48
0
0
0
0
-23
-3
-3
8
52
0
0
43
20
9
-10
80
-81
1
-36
0
0
0
1
-15
8
-10
21
2
0
0
2
0
0
-59
-9
31
38
0
0
0
0
0
-1
-32
93
-34
0
64
0
-1
-6
-42
-39
23
-17
0
0
0
1
2
9
-22
-31
5
0
0
-5
0
4
-31
48
32
-25
0
0
0
1
0
-1
2
64
21
0
2
-2
0
-43
22
-5
43
13
0
0
0
0
0
-19
-21
-62
54
0
0
2
0
0
1
-14
52
47
0
0
0
0
0
0
15
89
4
0
57
0
0
0
-25
-18
66
36
0
0
0
0
-2
-2
-7
33
-9
0
0
4
0
0
2
-3
29
11
0
0
0
0
-1
0
6
22
12
0
-5
0
0
-1
-47
-1
36
0
0
0
0
0
2
2
-21
-32
0
0
0
7
0
-3
0
32
20
0
0
0
0
0
0
0
-3
6
0
0
11
3
0
0
32
-26
52
0
0
0
0
-2
0
10
-53
28
0
0
0
-1
0
0
4
0
-21
0
0
0
0
0
0
0
-13
27
0
0
1
0
0
-2
-8
46
31
0
0
0
0
0
0
8
8
28
0
0
0
2
0
0
0
29
15
0
0
0
0
0
0
1
3
-8
0
0
23
0
0
0
0
-2
-30
0
0
0
0
0
-3
8
-24
53
0
0
0
5
0
0
-1
13
12
0
0
0
0
0
0
-5
-3
8
0
0
0
0
5
44
20
-31
63
-22
0
0
0
1
5
-7
1
57
-88
0
0
0
-5
7
-4
-43
8
20
0
0
0
3
-22
3
52
29
-38
0
0
0
0
7
1
-43
-13
46
0
0
0
3
4
4
41
-72
-15
0
0
0
0
-1
0
-26
8
42
0
0
0
15
-6
0
13
-19
-4
0
0
0
2
16
30
9
8
-16
0
0
0
2
4
-1
-6
-1
-8
0
0
0
0
1
1
-3
-18
-8
0
0
0
2
-5
-5
3
49
-21
0
0
0
0
-3
8
-25
49
10
0
0
0
2
6
2
-15
-25
17
0
0
0
0
-2
-7
3
-5
-1
0
0
0
3
0
-4
8
18
6
0
0
0
0
0
-7
12
41
0
0
0
0
0
5
14
-75
24
0
0
0
0
0
0
4
8
4
0
0
0
0
-1
13
-17
0
41
0
0
0
0
0
6
-7
-24
58
0
0
0
0
0
-2
0
24
-7
0
0
0
0
0
0
0
-24
39
0
0
0
0
-4
1
4
10
-41
0
0
0
0
0
2
-5
-49
20
0
0
0
0
0
0
-3
-7
42
0
0
0
0
0
0
3
2
51
0
0
0
0
-1
5
3
-6
4
0
0
0
0
0
0
0
-5
40
0
0
0
0
0
-8
-2
18
39
0
0
0
0
0
0
0
19
49
0
0
0
0
0
0
0
3
-16
0
0
0
15
-5
-17
50
-65
0
-10
0
0
0
0
0
5
17
-13
-4
0
0
21
0
3
-5
-19
1
5
0
0
0
-2
0
13
-4
18
33
0
0
4
-3
-3
8
8
-28
-49
0
0
0
0
0
0
-18
-5
-3
0
0
-25
0
1
4
-47
44
-15
0
0
0
3
-2
-8
2
-41
39
0
0
2
0
2
-2
24
-8
-40
0
0
0
0
-2
0
-3
74
-21
0
0
-5
0
-1
-3
-31
26
22
0
0
0
1
-1
2
0
9
47
0
0
0
0
0
5
-10
2
6
0
0
0
0
0
-7
5
8
48
0
0
15
0
0
0
3
-17
38
0
0
0
-8
0
0
-7
13
7
0
0
13
0
3
-18
30
-35
0
0
0
0
-1
2
24
22
-66
0
0
0
-21
0
0
2
-5
4
0
0
0
0
0
3
2
1
48
0
0
0
-28
0
-4
4
9
52
0
0
0
0
0
0
-2
8
-19
0
0
0
-3
0
0
2
-3
45
0
0
0
0
6
0
6
0
3
0
0
0
0
0
0
-1
-24
47
0
0
0
0
2
0
-1
-22
5
0
0
0
6
0
0
-1
0
49
0
0
0
0
-2
-4
-5
7
60
0
0
0
0
0
2
5
-8
13
0
0
0
0
0
-5
0
0
-9
0
0
0
33
0
0
0
-22
11
0
0
0
0
-1
3
3
4
68
0
0
0
0
-6
-7
20
23
-37
-25
0
0
0
5
29
-4
-2
49
-34
0
0
0
-1
0
-5
-10
-17
87
0
0
0
4
-8
-7
0
-34
22
0
0
0
0
-12
-25
22
2
18
0
0
0
-1
-8
2
-19
2
42
0
0
0
1
-3
-1
-1
-10
33
0
0
0
41
5
-8
0
2
-51
0
0
0
0
-2
-4
2
26
-9
0
0
0
8
0
0
0
13
-91
0
0
0
0
0
-6
5
-10
9
0
0
0
-24
3
0
0
-6
31
0
0
0
0
2
-18
0
51
23
0
0
0
-4
2
0
0
-10
39
0
0
0
0
0
1
0
81
-21
0
0
0
-7
3
5
0
5
-21
0
0
0
4
-7
15
10
4
0
0
0
0
8
0
1
-6
-21
0
0
0
0
0
0
-4
-1
-3
0
0
0
0
-8
0
-22
4
9
0
0
0
0
0
2
3
1
9
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
-1
7
3
0
0
0
0
-5
-7
-15
3
16
0
0
0
0
0
0
-1
-6
42
0
0
0
0
0
0
-3
-5
42
0
0
0
0
0
1
0
-35
42
0
0
0
0
-8
-4
3
-2
25
0
0
0
0
0
0
-2
0
12
0
0
0
0
0
6
0
-3
14
0
0
0
0
0
0
0
0
4
0
0
0
0
8
-2
6
-4
0
0
0
37
-37
-28
-98
-12
20
40
0
0
0
0
-7
-38
-32
28
51
0
0
0
-14
-3
28
25
27
37
0
0
0
0
2
-30
-6
-49
100
0
0
-55
49
0
41
-16
-48
32
0
0
0
0
7
-43
-48
-7
18
0
0
0
12
0
0
-72
-24
29
0
0
0
0
-1
1
-64
19
58
0
0
0
0
1
23
56
-65
42
0
0
0
0
0
-3
4
32
-2
0
0
0
-3
0
0
9
33
22
0
0
0
0
0
0
-1
-10
41
0
0
-22
0
0
-1
12
-32
31
0
0
0
0
0
0
-16
23
26
0
0
0
0
0
0
-5
-49
35
0
0
0
0
0
3
0
-9
12
0
0
0
-37
-3
-7
-9
35
47
0
0
0
0
0
1
40
-41
34
0
0
0
3
0
-3
-22
-83
40
0
0
0
0
0
0
0
-31
-40
0
0
15
-12
0
13
7
-36
3
0
0
0
0
0
0
8
-25
13
0
0
0
0
0
0
-13
-14
-25
0
0
0
0
0
0
0
-49
41
0
0
0
0
0
6
5
-30
14
0
0
0
0
0
1
3
26
-8
0
0
0
-3
0
3
20
-51
16
0
0
0
0
0
0
0
-66
41
0
0
0
0
0
0
-8
-28
-5
0
0
0
0
0
0
1
-13
-56
0
0
0
0
0
0
4
-62
-1
0
0
0
0
0
0
-8
-18
-9
0
0
0
0
21
-9
3
-7
40
0
0
0
0
24
-31
-7
-14
3
0
0
0
0
0
0
-16
-14
28
0
0
0
0
1
-2
-22
42
34
0
0
0
0
0
10
15
8
28
0
0
0
0
-8
-15
7
5
-18
0
0
0
0
0
-8
4
-22
61
0
0
0
0
18
46
4
-49
8
0
0
0
0
0
-10
2
71
29
0
0
0
0
0
0
1
7
-7
0
0
0
0
0
2
2
-67
5
0
0
0
0
0
-4
-2
17
53
0
0
0
0
0
-5
39
-27
1
0
0
0
0
0
0
0
6
-28
0
0
0
0
0
0
0
-23
15
0
0
0
0
0
0
-2
6
43
0
0
0
0
3
75
-8
-5
-40
0
0
0
0
2
-4
9
-1
10
0
0
0
0
0
0
8
-10
-26
0
0
0
0
0
0
-3
-13
-5
0
0
0
0
0
-2
22
-45
3
0
0
0
0
0
1
9
10
9
0
0
0
0
0
0
0
8
27
0
0
0
0
0
0
1
1
-26
0
0
0
0
-1
0
5
34
5
0
0
0
0
0
0
-4
-50
33
0
0
0
0
0
0
1
-4
19
0
0
0
0
0
0
0
4
-11
0
0
0
0
0
0
1
-95
53
0
0
0
0
0
0
-1
-80
-33
0
0
0
0
0
0
0
-31
-5
0
0
0
0
0
0
0
-44
52
0
0
0
40
-16
-1
-80
3
28
0
0
0
0
0
-41
31
-37
30
0
0
0
32
0
0
-19
-40
5
0
0
0
0
2
13
29
-22
-36
0
0
0
1
0
-9
5
13
8
0
0
0
0
-1
0
-3
-1
78
0
0
0
34
0
-2
-8
-44
98
0
0
0
0
0
5
29
4
37
0
0
0
0
0
-1
-59
-39
70
0
0
0
0
0
0
-10
-48
39
0
0
0
-2
0
0
15
-41
-21
0
0
0
0
0
0
-1
3
-41
0
0
0
0
0
0
-56
34
30
0
0
0
0
0
0
14
-20
-4
0
0
0
-44
0
0
8
2
-17
0
0
0
0
1
1
-5
-3
26
0
0
0
-1
0
-4
-23
-74
-17
0
0
0
0
0
-1
-12
-72
53
0
0
0
1
0
-2
-18
31
-13
0
0
0
0
0
1
-3
1
7
0
0
0
4
0
0
-8
-3
36
0
0
0
0
0
0
-8
-24
43
0
0
0
-2
0
1
3
-100
23
0
0
0
0
0
0
0
8
17
0
0
0
-3
0
-8
8
-23
8
0
0
0
0
0
0
0
12
72
0
0
0
2
0
5
41
13
-52
0
0
0
0
0
0
0
-20
30
0
0
0
0
0
0
3
-9
57
0
0
0
0
0
0
3
-51
-22
0
0
0
27
0
0
-4
-4
-16
0
0
0
0
0
0
0
-4
1
0
0
0
0
-44
17
7
-17
9
0
0
0
0
27
-13
-59
14
47
0
0
0
0
3
-3
69
-71
-6
0
0
0
0
41
0
-4
20
-14
0
0
0
0
-3
-3
-31
-49
116
0
0
0
0
13
-13
-34
-8
57
0
0
0
0
0
1
-9
2
28
0
0
0
0
-41
20
7
-17
43
0
0
0
0
1
1
-25
-68
52
0
0
0
0
0
0
-2
4
-17
0
0
0
0
0
-1
3
31
13
0
0
0
0
-2
-5
-18
14
40
0
0
0
0
-1
-3
5
30
-9
0
0
0
0
-1
2
1
8
-28
0
0
0
0
0
0
4
-4
-11
0
0
0
0
8
-2
-1
-5
1
0
0
0
0
1
-10
16
-51
83
0
0
0
0
0
1
25
-20
40
0
0
0
0
0
0
-8
2
62
0
0
0
0
0
-1
-5
2
-33
0
0
0
0
0
0
-6
25
66
0
0
0
0
-5
5
0
51
-86
0
0
0
0
0
0
1
37
-24
0
0
0
0
-4
0
8
21
42
0
0
0
0
0
-4
4
-72
10
0
0
0
0
-1
-3
-1
8
20
0
0
0
0
0
0
0
1
3
0
0
0
0
0
-1
0
-10
-41
0
0
0
0
0
0
0
-49
34
0
0
0
0
-1
0
0
-6
-21
0
0
0
0
0
0
-2
-20
18
0
0
0
0
1
0
0
-2
-44
0
0
-66
-14
0
-61
25
17
75
0
0
0
0
0
7
-29
-5
-28
0
0
0
31
0
0
31
-57
-6
0
0
0
0
0
1
-8
46
3
0
0
55
3
0
41
-14
-55
-33
0
0
0
0
0
-4
0
-32
13
0
0
0
-22
0
0
-39
14
65
0
0
0
0
0
2
-2
-7
25
0
0
74
0
-6
9
-26
14
-36
0
0
0
0
-1
-1
16
21
18
0
0
0
1
0
0
9
-31
44
0
0
0
0
0
-1
-1
-6
26
0
0
-29
0
0
0
3
27
-31
0
0
0
0
0
-3
1
9
-35
0
0
0
0
0
0
8
24
31
0
0
0
0
0
0
-1
0
44
0
0
5
-5
0
-1
-58
-32
29
0
0
0
0
0
2
-1
-31
30
0
0
0
1
0
0
-3
-47
50
0
0
0
0
0
-2
-3
31
57
0
0
-5
-6
0
8
17
2
10
0
0
0
0
0
-3
4
-10
-17
0
0
0
10
0
0
0
-17
-7
0
0
0
0
0
0
8
-17
11
0
0
7
0
0
6
-69
13
18
0
0
0
0
0
5
2
-21
64
0
0
0
-4
0
-5
-1
-46
72
0
0
0
0
0
0
1
-16
29
0
0
9
0
0
-1
13
-45
35
0
0
0
0
0
0
0
-10
13
0
0
0
-5
0
0
0
5
19
0
0
0
0
0
0
0
49
-33
0
0
0
0
-13
56
31
-58
-17
0
0
0
0
-1
19
-25
-91
72
0
0
0
0
-6
-9
30
26
11
0
0
0
0
-4
-18
13
41
-25
0
0
0
0
0
-2
6
-20
-13
0
0
0
0
0
14
18
-17
-46
0
0
0
0
0
2
1
-19
22
0
0
0
0
0
23
0
39
55
0
0
0
0
0
-14
13
1
-37
0
0
0
0
4
-5
1
-43
56
0
0
0
0
0
0
0
32
-40
0
0
0
0
0
-23
5
-39
48
0
0
0
0
0
0
-27
4
43
0
0
0
0
1
-1
2
-9
43
0
0
0
0
0
0
-4
-1
-25
0
0
0
0
0
6
7
-19
3
0
0
0
0
0
13
-21
46
-63
0
0
0
0
1
-5
-1
0
-1
0
0
0
0
0
1
0
-45
56
0
0
0
0
0
-9
0
14
13
0
0
0
0
0
-2
-1
15
-54
0
0
0
0
0
0
-1
-17
-18
0
0
0
0
0
0
-5
29
-41
0
0
0
0
0
0
0
-31
68
0
0
0
0
1
2
5
24
-42
0
0
0
0
0
-2
0
-41
75
0
0
0
0
0
0
0
-35
36
0
0
0
0
0
0
-7
-12
12
0
0
0
0
0
0
0
-41
5
0
0
0
0
0
1
2
49
-18
0
0
0
0
0
0
0
-13
11
0
0
0
0
1
0
-2
-28
27
0
0
0
63
-3
1
-42
-37
-31
0
0
0
0
0
-2
42
-31
5
0
0
0
19
0
2
-7
-28
31
0
0
0
0
0
-1
5
16
18
0
0
0
15
0
-25
-8
25
4
0
0
0
0
0
0
19
37
-58
0
0
0
11
0
0
27
-32
24
0
0
0
0
0
1
43
-17
-19
0
0
0
-8
0
-1
23
39
-8
0
0
0
0
0
5
7
-2
1
0
0
0
-2
0
0
-1
-44
59
0
0
0
0
0
1
2
-8
60
0
0
0
1
0
-1
-19
-14
-84
0
0
0
0
0
-1
-8
1
28
0
0
0
-22
0
0
3
0
49
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-1
-17
13
-42
0
0
0
0
0
2
0
-52
53
0
0
0
-1
0
1
-5
9
-14
0
0
0
0
0
-4
-1
-13
65
0
0
0
2
0
-1
-18
-2
20
0
0
0
0
0
0
0
-4
-20
0
0
0
1
0
0
1
-65
-18
0
0
0
0
0
7
1
-5
15
0
0
0
0
0
4
13
-6
22
0
0
0
0
0
0
0
8
26
0
0
0
35
0
0
0
-18
13
0
0
0
0
0
0
1
5
49
0
0
0
-7
0
0
1
-27
37
0
0
0
0
0
1
-5
1
5
0
0
0
-17
0
0
1
7
74
0
0
0
0
0
-1
4
24
16
0
0
0
0
13
22
-17
-33
8
0
0
0
0
7
41
18
-5
-1
0
0
0
0
-1
-1
25
-10
47
0
0
0
0
-8
-9
-4
-8
42
0
0
0
0
0
0
17
10
-94
0
0
0
0
0
-2
8
0
7
0
0
0
0
0
1
9
2
-34
0
0
0
0
14
15
24
3
-15
0
0
0
0
0
-6
1
-23
-6
0
0
0
0
-3
2
-1
16
4
0
0
0
0
6
0
-1
-5
34
0
0
0
0
-5
-1
0
13
-6
0
0
0
0
0
3
0
-20
59
0
0
0
0
2
-2
-3
16
-5
0
0
0
0
0
0
0
8
10
0
0
0
0
-5
5
0
2
-20
0
0
0
0
-1
10
-3
-25
44
0
0
0
0
0
-6
0
-12
30
0
0
0
0
0
0
-2
-8
41
0
0
0
0
0
0
-2
41
-31
0
0
0
0
0
1
0
-16
10
0
0
0
0
1
-3
7
-23
41
0
0
0
0
0
0
0
-15
-13
0
0
0
0
0
16
-1
5
-52
0
0
0
0
0
-3
0
-1
22
0
0
0
0
0
0
0
13
-23
0
0
0
0
-3
0
-3
3
37
0
0
0
0
0
-3
-1
5
46
0
0
0
0
0
0
-3
0
49
0
0
0
0
-2
3
1
2
7
0
0
0
0
0
-1
0
1
43
0
0
0
0
-1
1
0
18
14
0
0
28
-7
-1
-13
-26
0
15
0
0
0
0
-4
-1
8
-19
-41
0
0
0
-1
1
-2
-42
-13
38
0
0
0
0
0
0
0
-51
-22
0
0
-43
0
0
-25
-5
-20
55
0
0
0
0
3
-2
-2
2
-10
0
0
0
0
0
0
4
67
-84
0
0
0
0
0
0
0
-8
32
0
0
-4
0
-2
17
-5
-7
17
0
0
0
0
0
1
0
20
-18
0
0
0
-4
0
3
12
1
14
0
0
0
0
0
0
0
-4
15
0
0
4
7
0
1
15
-48
5
0
0
0
0
0
0
-3
-14
15
0
0
0
0
0
0
4
14
-15
0
0
0
0
0
2
-2
16
-17
0
0
0
-1
-8
-6
41
60
-1
0
0
0
0
0
1
-3
-24
-6
0
0
0
0
0
-1
5
13
2
0
0
0
0
0
4
-2
-23
17
0
0
-19
-2
0
3
22
46
63
0
0
0
0
0
-10
-2
23
31
0
0
0
0
0
0
6
-14
18
0
0
0
0
0
0
0
27
-17
0
0
0
0
1
-6
-43
14
90
0
0
0
0
0
0
-4
-4
-2
0
0
0
2
0
2
-3
-44
47
0
0
0
0
0
0
0
-17
1
0
0
17
-2
0
0
0
7
-22
0
0
0
0
-1
-1
0
-18
22
0
0
0
-4
0
0
-2
-10
26
0
0
0
0
0
0
0
-49
31
0
0
0
0
-7
5
-19
19
55
0
0
0
0
2
8
10
-20
-5
0
0
0
0
1
0
6
-7
-43
0
0
0
0
0
5
-6
5
-17
0
0
0
0
0
-9
-5
-9
58
0
0
0
0
-3
-2
-4
-33
50
0
0
0
0
0
0
0
-16
1
0
0
0
0
0
0
-4
-21
28
0
0
0
0
0
1
13
-51
21
0
0
0
0
0
3
2
-5
13
0
0
0
0
-2
-1
8
15
8
0
0
0
0
0
31
-1
-39
24
0
0
0
0
0
2
2
-31
18
0
0
0
0
0
-1
5
13
-1
0
0
0
0
0
0
0
12
34
0
0
0
0
1
0
0
6
-30
0
0
0
0
0
7
-3
19
-18
0
0
0
0
3
-1
8
-43
26
0
0
0
0
1
-3
-9
-3
53
0
0
0
0
0
0
-1
-5
22
0
0
0
0
0
5
8
23
25
0
0
0
0
0
0
-2
-15
34
0
0
0
0
0
0
0
0
31
0
0
0
0
-3
0
0
7
49
0
0
0
0
-1
0
-29
31
9
0
0
0
0
-1
-5
8
15
-30
0
0
0
0
1
0
1
-24
13
0
0
0
0
0
0
1
-41
31
0
0
0
0
0
0
2
-16
2
0
0
0
0
0
0
6
-42
18
0
0
0
0
0
0
2
-6
6
0
0
0
0
-4
0
-2
15
-9
0
0
0
-18
8
34
0
-38
-6
0
0
0
0
-2
1
-7
27
-13
0
0
0
10
1
1
-57
12
18
0
0
0
0
-6
6
25
-98
44
0
0
0
-33
0
-1
-3
-51
8
0
0
0
0
0
2
-6
-41
-8
0
0
0
19
0
0
-13
-72
69
0
0
0
0
0
0
2
-14
24
0
0
0
0
0
-1
-17
-17
-11
0
0
0
0
0
0
13
25
19
0
0
0
6
0
0
8
-25
-13
0
0
0
0
4
0
-8
-1
-17
0
0
0
0
0
1
24
-1
31
0
0
0
0
0
0
4
3
-12
0
0
0
0
0
0
2
18
-14
0
0
0
0
-2
0
12
0
-22
0
0
0
0
3
0
-32
70
-39
0
0
0
0
-1
0
-10
12
32
0
0
0
-3
0
0
-34
1
-6
0
0
0
0
1
0
-4
-14
13
0
0
0
7
0
-5
3
-19
42
0
0
0
0
0
0
8
7
4
0
0
0
-23
0
0
1
15
54
0
0
0
0
6
4
-2
-5
20
0
0
0
-1
4
6
-28
-1
13
0
0
0
0
0
0
3
-49
92
0
0
0
14
0
0
5
-11
6
0
0
0
0
-1
0
0
-18
2
0
0
0
-20
0
0
-3
31
-8
0
0
0
0
1
0
0
-19
-7
0
0
0
13
-3
0
-12
12
-35
0
0
0
0
-1
0
5
-2
25
0
0
0
0
-31
31
15
-45
22
0
0
0
0
-2
8
16
-13
42
0
0
0
0
0
-2
1
-29
83
0
0
0
0
1
4
-15
4
-33
0
0
0
0
2
1
2
-49
93
0
0
0
0
2
-15
8
-15
-5
0
0
0
0
0
5
0
5
44
0
0
0
0
6
1
-1
35
13
0
0
0
0
0
0
9
-25
25
0
0
0
0
0
0
-2
50
-1
0
0
0
0
-1
0
6
2
0
0
0
0
0
1
2
-13
0
26
0
0
0
0
0
0
22
45
-53
0
0
0
0
2
2
-2
13
-49
0
0
0
0
0
0
-8
4
-19
0
0
0
0
-42
1
3
9
45
0
0
0
0
0
0
10
-76
26
0
0
0
0
4
0
1
5
32
0
0
0
0
0
0
10
-29
-18
0
0
0
0
2
0
7
44
8
0
0
0
0
0
0
-8
5
36
0
0
0
0
-1
1
13
-12
67
0
0
0
0
0
0
0
-5
-9
0
0
0
0
-41
0
3
-2
73
0
0
0
0
0
0
-5
37
7
0
0
0
0
-1
1
0
-84
70
0
0
0
0
0
0
0
44
-19
0
0
0
0
4
0
-10
15
8
0
0
0
0
0
0
0
-19
-4
0
0
0
0
1
0
-10
33
-58
0
0
0
0
0
0
0
5
45
0
0
0
0
-8
0
-7
-20
45
0
0
-22
12
-1
61
56
-42
-57
0
0
0
0
-2
-1
29
-47
-40
0
0
0
-25
0
0
-8
8
42
0
0
0
0
0
0
-1
-22
62
0
0
-3
-3
0
0
-1
-41
-16
0
0
0
0
0
8
0
7
41
0
0
0
-15
0
0
0
41
13
0
0
0
0
0
2
0
2
5
0
0
-16
0
0
5
5
-24
-42
0
0
0
0
0
0
0
19
-13
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
-1
-6
-20
0
0
-3
0
0
0
3
-14
3
0
0
0
0
0
3
0
-8
42
0
0
0
-1
0
0
-3
13
53
0
0
0
0
0
-4
0
-1
17
0
0
4
-1
0
-1
20
-18
62
0
0
0
0
0
0
5
-15
13
0
0
0
-1
0
0
-3
8
-30
0
0
0
0
0
0
2
-10
12
0
0
-2
-12
0
-8
66
-50
74
0
0
0
0
0
-2
3
0
-47
0
0
0
-7
0
0
0
44
3
0
0
0
0
0
0
0
1
-3
0
0
5
0
0
1
-33
-91
61
0
0
0
0
0
1
2
-27
-4
0
0
0
0
0
0
0
2
44
0
0
0
0
0
0
0
4
69
0
0
-45
0
0
0
9
-12
6
0
0
0
0
-1
0
0
5
35
0
0
0
-5
0
0
0
20
20
0
0
0
0
0
2
-1
-22
55
0
0
0
0
1
34
6
0
-81
0
0
0
0
0
18
-5
-1
-29
0
0
0
0
0
0
1
-12
-31
0
0
0
0
0
3
0
3
-8
0
0
0
0
2
3
1
-8
-23
0
0
0
0
-4
-8
6
60
11
0
0
0
0
0
8
0
-5
-10
0
0
0
0
8
-24
0
-2
5
0
0
0
0
0
0
2
-31
19
0
0
0
0
2
-6
-3
-12
63
0
0
0
0
0
2
-6
-1
58
0
0
0
0
-2
22
0
-4
36
0
0
0
0
0
4
-5
-5
14
0
0
0
0
2
3
0
-2
-16
0
0
0
0
0
0
0
4
49
0
0
0
0
18
3
-3
-16
29
0
0
0
0
0
2
5
10
15
0
0
0
0
0
1
0
-14
-46
0
0
0
0
0
-4
3
3
67
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
6
-47
30
0
0
0
0
0
0
-4
29
14
0
0
0
0
0
-2
0
-8
31
0
0
0
0
1
3
0
-12
41
0
0
0
0
0
0
16
39
-12
0
0
0
0
0
0
0
-52
60
0
0
0
0
0
0
0
7
-5
0
0
0
0
0
0
-4
-10
48
0
0
0
0
0
2
0
-44
29
0
0
0
0
0
-1
0
-4
80
0
0
0
0
0
0
0
5
48
0
0
0
0
0
0
0
17
13
0
0
0
9
-16
1
-75
-27
-6
0
0
0
0
0
-5
0
-1
-20
0
0
0
4
-1
0
4
-15
-33
0
0
0
0
3
7
-4
-5
6
0
0
0
13
0
1
5
-6
20
0
0
0
0
0
1
-1
0
32
0
0
0
-5
0
0
-5
1
23
0
0
0
0
0
-4
-2
2
-2
0
0
0
-4
-2
-1
2
0
67
0
0
0
0
0
0
0
-1
31
0
0
0
25
0
0
-7
-2
12
0
0
0
0
0
0
-2
-2
51
0
0
0
-2
0
0
3
-5
61
0
0
0
0
0
0
5
3
68
0
0
0
40
0
2
0
-8
-1
0
0
0
0
3
0
-1
0
6
0
0
0
11
0
0
-2
-68
8
0
0
0
0
-1
2
-5
-32
115
0
0
0
27
0
0
0
42
-20
0
0
0
0
3
-2
0
2
6
0
0
0
16
0
1
-2
-32
25
0
0
0
0
0
1
-2
28
22
0
0
0
-6
0
0
0
61
-13
0
0
0
0
0
0
-1
-9
30
0
0
0
14
0
-1
-3
-47
-11
0
0
0
0
0
0
-1
14
9
0
0
0
19
0
0
-1
10
-5
0
0
0
0
0
0
0
49
-27
0
0
0
14
0
0
2
-51
-17
0
0
0
0
0
4
-3
9
66
0
0
0
-58
0
0
0
19
16
0
0
0
0
0
0
-1
6
-5
0
0
0
0
52
-67
26
-46
57
0
0
0
0
2
-4
0
-8
17
0
0
0
0
-1
0
0
-5
-10
0
0
0
0
4
8
0
14
-35
0
0
0
0
0
-3
-1
0
5
0
0
0
0
1
-4
0
0
2
0
0
0
0
0
0
1
0
3
0
0
0
0
1
-45
-3
0
0
0
0
0
0
-1
2
-6
-16
-1
0
0
0
0
0
-3
0
0
-19
0
0
0
0
0
0
0
0
23
0
0
0
0
-4
1
5
3
28
0
0
0
0
0
2
2
1
53
0
0
0
0
-4
8
0
6
4
0
0
0
0
-2
3
-1
-1
-14
0
0
0
0
-44
2
1
0
5
0
0
0
0
0
-2
2
28
35
0
0
0
0
-2
0
0
4
-7
0
0
0
0
0
0
0
-18
-5
0
0
0
0
1
0
-1
-6
5
0
0
0
0
0
-1
0
6
9
0
0
0
0
0
0
0
7
37
0
0
0
0
0
0
-2
-25
22
0
0
0
0
-5
8
5
0
18
0
0
0
0
0
0
3
41
8
0
0
0
0
0
0
-1
15
-1
0
0
0
0
0
0
-2
-31
-11
0
0
0
0
-3
0
4
-35
11
0
0
0
0
0
0
2
5
64
0
0
0
0
2
1
-1
-4
17
0
0
0
0
-2
0
0
-1
56
0
0
0
0
-8
0
-2
-31
7
0
0
49
41
8
-13
28
9
27
-1
3
0
0
3
-12
-72
-15
-52
-28
2
0
-17
13
-8
-57
18
-38
8
10
0
0
7
41
-22
-26
9
-27
27
17
-9
0
9
-20
-7
-10
-32
7
0
0
0
-50
-29
-101
-33
-6
2
0
48
-1
-16
-84
2
52
-26
5
0
0
1
8
21
-64
59
29
1
16
-45
-1
-40
18
18
68
12
0
0
0
2
30
-58
8
-28
-17
0
0
22
0
9
59
-23
73
-5
0
0
0
-7
-5
41
-22
42
-26
0
52
3
1
-48
56
-77
4
23
0
0
0
-7
-2
-20
-93
101
21
0
0
6
0
0
39
-36
-18
12
0
0
0
3
2
-18
-4
20
45
0
-11
22
-1
-17
-22
-72
8
0
0
0
0
1
-107
-11
-34
27
0
0
0
44
0
13
-91
-74
2
0
0
0
0
0
5
-35
-37
48
0
0
19
-8
0
51
-42
-20
-12
0
0
0
0
0
-5
-1
-50
-10
0
0
0
-13
0
2
70
-65
-2
0
0
0
0
1
-1
-32
15
-9
0
0
8
7
0
-42
86
-35
-8
0
0
0
0
0
8
3
-37
43
0
0
0
-2
0
5
17
28
-2
0
0
0
0
0
0
-7
-2
125
0
0
-48
-4
0
35
6
-19
75
0
0
0
0
0
-1
44
-33
17
0
0
0
42
0
0
-25
5
38
0
0
0
0
0
-3
2
-8
4
0
0
0
0
-40
45
-28
-30
-9
-5
11
0
0
-16
30
-85
-115
-54
15
18
0
0
-9
-40
58
79
31
19
-24
0
0
-28
42
-10
-13
35
3
53
0
0
-41
-13
36
-75
5
-43
17
0
0
49
-97
8
-97
-131
-4
24
0
0
0
50
74
-2
-10
7
-15
0
0
2
63
42
7
-35
-10
-9
0
0
-8
-3
-42
-94
27
8
0
0
0
8
2
73
18
-9
-35
0
0
0
2
6
5
-12
25
19
0
0
0
-27
-40
77
5
76
23
0
0
0
0
-4
-69
30
26
28
0
0
0
6
15
5
-21
51
-69
0
0
0
0
0
-24
-7
9
38
0
0
0
-38
-11
32
21
-13
51
0
0
0
15
-67
-63
-43
105
0
0
0
0
-8
-13
-4
-2
-39
0
0
0
0
0
2
-82
21
61
0
0
0
0
32
96
-71
-27
-29
0
0
0
0
0
1
-15
30
-17
0
0
0
0
1
3
12
-62
16
0
0
0
0
0
0
2
22
31
0
0
0
0
0
6
-27
31
-6
0
0
0
0
0
-7
12
-84
15
0
0
0
0
0
-6
25
0
-29
0
0
0
0
0
0
-10
6
34
0
0
0
0
-1
30
13
-29
76
0
0
0
0
0
1
4
-63
45
0
0
0
0
0
-14
-4
-40
-27
0
0
0
0
0
-6
-22
28
9
0
0
0
0
-3
-23
3
55
13
0
0
0
35
-32
4
-2
12
24
-18
4
0
0
35
44
-44
35
73
5
17
0
-66
0
-19
-76
11
28
-1
7
0
0
2
-34
-21
-101
8
86
9
0
43
0
2
41
-3
50
-20
-1
0
0
-1
32
-85
71
98
-29
-13
0
-78
0
-69
-6
-28
96
27
-6
0
0
2
42
-2
23
7
-50
2
0
-51
0
9
99
-76
11
14
0
0
0
13
18
62
-20
24
-2
0
0
-21
1
-4
57
-67
20
7
0
0
0
8
34
-32
22
16
-5
0
0
47
0
2
-17
-95
26
-13
0
0
0
6
8
-19
9
30
14
0
0
-2
0
-20
44
35
41
8
0
0
0
-30
-2
73
2
3
29
0
0
2
4
-76
93
6
-25
0
0
0
0
1
-1
37
-39
26
0
0
0
21
0
1
87
-93
-15
0
0
0
0
7
-2
11
12
-19
0
0
0
-12
0
0
-5
-31
6
0
0
0
0
0
-6
-29
-24
73
0
0
0
2
0
0
3
-7
7
0
0
0
0
0
-18
44
-11
13
0
0
0
1
0
-5
31
-10
-19
0
0
0
0
3
-2
-81
68
50
0
0
0
49
-1
-1
-7
-8
-25
0
0
0
0
1
0
-27
-3
60
0
0
0
22
0
-2
9
13
-37
0
0
0
0
0
0
-19
16
44
0
0
0
6
0
0
-8
-12
4
0
0
0
0
0
0
5
-22
-9
0
0
0
0
10
-9
25
-38
3
-19
20
0
0
-26
3
93
-73
64
45
-31
0
0
-16
0
48
-16
7
-37
48
0
0
9
-29
-46
15
51
22
40
0
0
-1
5
-41
-21
47
-8
16
0
0
-10
17
86
-25
49
14
-5
0
0
-7
-14
-44
-34
35
68
23
0
0
27
-2
0
17
-13
31
30
0
0
-2
-69
5
15
37
13
0
0
0
-20
24
23
-46
44
-20
0
0
0
8
-49
32
19
23
5
0
0
0
53
26
-24
23
-41
-49
0
0
0
0
5
19
12
58
53
0
0
0
13
5
8
-9
50
-28
0
0
0
-24
2
-9
29
18
48
0
0
0
7
-11
25
5
-25
-11
0
0
0
-13
-28
31
-24
-2
0
0
0
0
-6
62
12
-31
-53
0
0
0
0
6
8
27
-79
-1
0
0
0
0
-23
-79
-17
15
44
0
0
0
0
0
6
-55
15
66
0
0
0
0
5
38
-94
-5
-10
0
0
0
0
-2
7
15
5
27
0
0
0
0
-31
13
-45
-9
29
0
0
0
0
0
-2
-34
33
41
0
0
0
0
3
12
-2
-28
29
0
0
0
0
0
2
-6
25
18
0
0
0
0
-5
-5
33
32
-20
0
0
0
0
0
2
-6
-13
51
0
0
0
0
-1
-2
2
-9
6
0
0
0
0
3
2
-19
30
3
0
0
0
0
-20
-20
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
24
-63
-18
-24
-39
19
-1
0
0
0
-8
-9
-69
-51
-7
31
0
0
-51
0
-8
-23
-2
59
-49
0
0
0
0
55
17
4
29
-105
0
-70
54
0
-76
-70
37
4
12
0
0
0
0
-18
-29
3
62
-9
0
0
31
0
-30
-84
9
-2
5
0
0
0
0
2
-28
-10
49
3
0
0
-7
2
4
37
-40
21
-23
0
0
0
13
21
9
-7
39
-19
0
0
-35
0
8
4
13
32
10
0
0
0
-2
-9
-14
27
4
32
0
26
2
-2
13
-113
42
45
-5
0
0
0
0
3
74
3
-5
13
0
0
63
0
1
-10
52
-7
-5
0
0
0
2
-1
9
-27
-17
29
0
-43
9
-4
-62
-11
-43
26
0
0
0
0
-3
-6
1
24
-14
0
0
0
-4
2
-19
-72
18
56
0
0
0
0
0
-12
29
27
30
0
0
31
-8
-1
5
45
24
-8
0
0
0
0
3
27
19
-41
22
0
0
0
-47
0
-3
23
-9
30
0
0
0
0
0
1
49
17
-14
0
0
8
31
-1
5
5
-1
-41
0
0
0
0
2
12
-14
8
4
0
0
0
21
0
-8
11
-86
39
0
0
0
0
0
-9
-17
-7
22
0
0
-30
24
0
68
31
-44
-1
0
0
0
0
0
43
-19
-9
-18
0
0
0
-24
0
-1
-3
13
22
0
0
0
0
-1
0
9
-21
25
0
0
0
0
-23
-13
-148
-29
33
11
0
0
0
54
-43
70
-3
22
-46
0
0
0
7
10
7
-49
-2
-17
0
0
0
3
-30
16
52
-2
-29
0
0
0
-1
19
17
34
-31
-1
0
0
0
-8
30
38
-76
11
-25
0
0
0
0
16
24
-148
10
5
0
0
0
10
-41
8
9
11
19
0
0
0
-1
24
-49
-132
106
5
0
0
0
3
-49
-21
-9
11
-12
0
0
0
0
1
17
22
66
16
0
0
0
-72
6
45
20
-8
48
0
0
0
5
49
-45
-6
-33
12
0
0
0
36
21
3
-7
-13
-14
0
0
0
0
-7
69
5
-10
-6
0
0
0
4
-31
13
8
-57
8
0
0
0
-2
-15
-12
-35
-2
0
0
0
0
20
-14
47
-89
-12
0
0
0
0
0
-13
-73
13
50
0
0
0
0
42
-14
52
13
-58
0
0
0
0
0
-1
33
29
-25
0
0
0
0
-1
-13
4
-23
-30
0
0
0
0
0
-29
2
21
66
0
0
0
0
0
-27
2
8
14
0
0
0
0
0
-18
-15
25
-19
0
0
0
0
19
25
-13
-13
60
0
0
0
0
-1
3
-29
-4
63
0
0
0
0
-9
10
13
31
39
0
0
0
0
0
2
24
-43
51
0
0
0
0
0
-59
3
31
20
0
0
0
0
0
-1
-45
-5
91
0
0
0
0
-30
-9
52
-16
2
0
0
0
4
-4
-18
50
-58
8
-2
0
0
0
-80
13
-7
59
84
5
0
0
8
9
-1
5
-27
-44
22
0
0
0
-18
-28
-20
47
78
22
0
0
-26
0
-35
-6
-11
141
-66
0
0
0
10
4
19
-64
39
11
0
0
24
0
-7
-76
5
37
5
0
0
0
42
-2
-18
-32
43
1
0
0
5
5
27
26
-30
-28
-22
0
0
0
0
0
2
-49
-50
42
0
0
-5
-2
-2
3
46
40
-40
0
0
0
17
-10
19
0
14
-10
0
0
-18
-2
-6
-47
-66
4
26
0
0
0
0
6
-10
24
31
6
0
0
2
1
-2
38
-42
81
-19
0
0
0
-6
-2
-48
7
67
-5
0
0
-11
5
41
-48
-15
-19
0
0
0
0
-5
-42
97
-44
55
0
0
0
28
0
0
-55
6
-48
0
0
0
0
-1
-1
7
-15
49
0
0
0
-58
-3
25
6
24
-4
0
0
0
0
2
50
31
-22
-3
0
0
0
-43
0
17
88
-3
-22
0
0
0
0
-32
35
15
19
15
0
0
0
5
-1
-42
-10
-19
24
0
0
0
0
0
21
-18
-4
36
0
0
0
24
6
8
19
-35
-50
0
0
0
0
-8
-7
7
-10
16
0
0
0
3
0
4
13
15
18
0
0
0
0
0
8
-10
-48
55
0
0
0
5
-2
1
21
-4
2
0
0
0
0
0
-1
8
9
63
0
0
0
0
25
-42
91
-43
88
-12
0
0
0
6
4
-6
-92
3
47
0
0
0
-13
16
55
-26
-28
41
0
0
0
14
-32
19
-68
125
-5
0
0
0
-1
-18
4
35
61
-27
0
0
0
-8
-8
27
-43
94
3
0
0
0
-1
-10
83
-94
8
-6
0
0
0
46
-12
19
24
49
-39
0
0
0
-3
31
10
6
71
-12
0
0
0
-17
-18
8
-22
22
-13
0
0
0
-4
8
-11
-43
-37
22
0
0
0
-29
36
45
-5
24
-7
0
0
0
1
-14
-35
-18
-6
5
0
0
0
23
-28
-24
-13
46
-28
0
0
0
-2
-8
18
-37
50
9
0
0
0
22
-7
-16
14
31
-41
0
0
0
7
14
-8
-41
4
0
0
0
0
15
-9
-31
-3
42
0
0
0
0
-1
-8
33
6
59
0
0
0
0
52
-84
-47
2
41
0
0
0
0
0
25
5
-8
58
0
0
0
0
8
25
22
-45
2
0
0
0
0
0
2
32
-2
8
0
0
0
0
-37
-44
40
57
-60
0
0
0
0
0
-24
18
27
-6
0
0
0
0
13
32
12
11
12
0
0
0
0
48
35
-27
-9
-13
0
0
0
0
13
4
44
-37
8
0
0
0
0
0
13
3
27
-66
0
0
0
0
39
9
-3
6
6
0
0
0
0
-8
3
-8
-14
45
0
0
0
0
-7
-9
-10
2
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-50
0
22
15
10
0
0
0
0
0
-3
15
-9
-3
-3
0
0
0
-13
0
-13
-5
3
-21
0
0
0
0
-1
0
31
46
15
0
0
-58
30
0
31
-47
-33
37
0
0
0
0
0
-6
4
-6
-7
0
0
0
48
0
-8
24
-17
70
0
0
0
0
-1
20
34
-22
-31
0
0
52
-5
1
-3
51
-33
-70
0
0
0
0
-3
0
13
61
-55
0
0
0
-25
2
2
22
51
-13
0
0
0
0
0
-1
81
-58
-22
0
0
-29
8
0
-32
-18
-4
37
0
0
0
0
0
1
-19
4
13
0
0
0
-43
0
1
-8
-32
59
0
0
0
0
3
0
3
-29
48
0
0
-11
-5
-2
-23
-33
-91
36
0
0
0
0
0
21
4
-158
36
0
0
0
34
0
-2
33
-88
-14
0
0
0
0
0
0
4
-49
30
0
0
0
-39
0
13
-54
-16
18
0
0
0
0
0
-8
13
-51
-4
0
0
0
10
0
-2
10
-43
32
0
0
0
0
-1
2
-8
-22
4
0
0
-29
5
0
-5
-7
-33
5
0
0
0
0
0
-2
1
-10
-2
0
0
0
9
0
0
-68
1
30
0
0
0
0
0
0
-1
22
-22
0
0
-22
-28
0
0
12
-41
34
0
0
0
0
0
13
-6
-55
24
0
0
0
3
0
1
4
-64
68
0
0
0
0
0
0
13
-32
53
0
0
0
0
22
48
11
10
-47
0
0
0
0
43
-3
-20
-14
-40
0
0
0
0
-4
9
2
-34
44
0
0
0
0
-7
36
1
-6
23
0
0
0
0
2
-22
-51
12
48
0
0
0
0
0
-11
26
13
43
0
0
0
0
2
-13
-33
48
43
0
0
0
0
-37
27
-31
-1
-6
0
0
0
0
0
43
-82
-27
25
0
0
0
0
3
1
-31
30
-75
0
0
0
0
0
-13
8
3
24
0
0
0
0
-18
-17
12
18
11
0
0
0
0
1
-5
49
-75
37
0
0
0
0
0
9
5
-51
49
0
0
0
0
-1
0
19
-4
57
0
0
0
0
31
15
-63
-24
47
0
0
0
0
0
-10
5
-57
42
0
0
0
0
-2
-42
-5
23
-22
0
0
0
0
0
5
5
-103
39
0
0
0
0
-22
4
13
-6
28
0
0
0
0
0
-1
2
-44
7
0
0
0
0
1
0
-4
-78
-35
0
0
0
0
0
0
8
2
5
0
0
0
0
-1
-14
-5
2
49
0
0
0
0
0
5
-23
-4
-9
0
0
0
0
-3
0
0
12
-9
0
0
0
0
0
-2
16
-2
3
0
0
0
0
-4
0
-13
-6
75
0
0
0
0
0
3
-5
-42
-4
0
0
0
0
-1
-3
2
23
-21
0
0
0
0
0
-1
4
-21
66
0
0
0
0
13
3
-2
-26
56
0
0
0
-4
57
-27
-4
32
-33
0
0
0
0
-4
22
25
-5
6
0
0
0
-48
-4
-16
-19
-46
56
0
0
0
0
26
29
-9
-47
19
0
0
0
19
2
10
-10
-14
-10
0
0
0
0
3
-13
-13
-6
46
0
0
0
-13
0
-8
5
12
-13
0
0
0
0
22
-1
5
19
5
0
0
0
2
-24
0
-12
-26
46
0
0
0
0
1
7
13
51
6
0
0
0
-23
4
0
2
23
3
0
0
0
0
2
-1
10
70
5
0
0
0
5
0
4
17
-32
5
0
0
0
0
0
-3
-1
27
18
0
0
0
-7
0
1
-8
-33
37
0
0
0
0
-7
-12
17
12
51
0
0
0
28
0
2
-69
-63
59
0
0
0
0
0
-6
15
5
12
0
0
0
-41
0
1
55
-85
-20
0
0
0
0
-4
0
50
-80
40
0
0
0
52
0
-2
6
-22
-13
0
0
0
0
0
0
1
-6
27
0
0
0
52
0
-2
-29
31
-59
0
0
0
0
-3
-1
0
23
75
0
0
0
-3
1
8
-13
-38
26
0
0
0
0
0
-3
-43
-16
58
0
0
0
47
0
0
3
-47
48
0
0
0
0
4
0
10
-57
-5
0
0
0
-27
0
-2
6
-50
43
0
0
0
0
0
-6
-1
33
46
0
0
0
31
0
7
-1
-46
-12
0
0
0
0
5
0
-22
15
61
0
0
0
0
25
66
-28
-75
-43
0
0
0
0
14
-30
85
-18
39
0
0
0
0
15
-5
5
-33
-42
0
0
0
0
-30
-4
-10
-36
59
0
0
0
0
0
-12
-3
72
0
0
0
0
0
7
31
-24
-11
-5
0
0
0
0
0
-34
-11
53
56
0
0
0
0
50
-6
55
-37
4
0
0
0
0
0
-8
1
-38
10
0
0
0
0
8
-2
3
29
17
0
0
0
0
-4
41
31
-63
50
0
0
0
0
19
-14
56
13
4
0
0
0
0
0
2
-32
21
49
0
0
0
0
-7
-20
-5
10
32
0
0
0
0
-1
4
-20
-2
40
0
0
0
0
-5
44
-28
-4
74
0
0
0
0
0
-3
8
-31
-19
0
0
0
0
3
5
-8
-26
34
0
0
0
0
0
0
-4
-66
6
0
0
0
0
-20
17
-42
30
44
0
0
0
0
0
0
10
14
-21
0
0
0
0
2
2
-5
-26
-13
0
0
0
0
5
2
-14
14
6
0
0
0
0
5
8
1
-13
43
0
0
0
0
-3
-1
-25
18
86
0
0
0
0
0
-5
4
-39
43
0
0
0
0
0
9
1
-3
-26
0
0
0
0
-13
-2
19
54
13
0
0
0
0
0
-3
0
42
13
0
0
0
0
0
7
3
-20
-6
0
0
0
0
-1
-4
13
-3
-13
0
0
0
0
-5
17
-5
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
95
-56
8
9
6
25
0
0
0
0
-10
-21
3
28
-7
0
0
0
22
0
-9
27
-52
48
0
0
0
0
0
1
5
-65
25
0
0
-65
-6
0
-45
30
60
41
0
0
0
0
0
-2
-41
-24
-28
0
0
0
7
0
-5
33
-14
-24
0
0
0
0
0
-2
8
-24
52
0
0
-1
3
0
-17
-4
30
26
0
0
0
0
1
-5
-20
-23
20
0
0
0
38
3
-8
8
-49
18
0
0
0
0
0
-2
-13
-20
83
0
0
-1
-1
0
-14
-10
-18
-3
0
0
0
0
0
4
-19
19
37
0
0
0
11
0
0
-12
-13
51
0
0
0
0
0
3
-10
-17
28
0
0
-3
-36
-1
39
81
-62
17
0
0
0
0
-1
-22
-8
23
41
0
0
0
-14
-1
8
26
-46
-5
0
0
0
0
0
0
-13
34
52
0
0
33
-5
-1
-10
-27
-33
45
0
0
0
0
5
-4
-8
13
21
0
0
0
6
0
8
-15
-60
44
0
0
0
0
0
-2
9
-5
35
0
0
1
-31
-6
93
75
8
3
0
0
0
0
2
0
3
-11
-42
0
0
0
-2
-1
7
-17
-10
5
0
0
0
0
0
-4
9
-30
7
0
0
25
-3
-3
-2
13
64
-6
0
0
0
0
0
21
-5
-15
6
0
0
0
36
0
-5
-43
5
-3
0
0
0
0
-1
0
7
-20
26
0
0
0
0
27
43
52
-15
-5
0
0
0
0
-45
-13
40
13
-9
0
0
0
0
3
-12
23
-12
37
0
0
0
0
-17
30
-4
-37
28
0
0
0
0
-4
-18
18
-8
49
0
0
0
0
-5
-26
13
9
-45
0
0
0
0
0
4
5
-56
15
0
0
0
0
2
21
2
-5
8
0
0
0
0
20
-31
-12
46
10
0
0
0
0
28
10
-10
-26
19
0
0
0
0
-3
1
0
10
58
0
0
0
0
-17
-7
-3
-13
66
0
0
0
0
0
-28
24
16
57
0
0
0
0
-11
7
-10
-60
18
0
0
0
0
-2
-1
0
-30
35
0
0
0
0
-1
42
6
-25
-38
0
0
0
0
1
-2
-84
16
50
0
0
0
0
-7
13
33
24
-15
0
0
0
0
-3
-2
-32
6
32
0
0
0
0
5
5
-45
-33
38
0
0
0
0
0
-16
-41
12
30
0
0
0
0
2
-2
4
-25
48
0
0
0
0
0
3
0
-56
27
0
0
0
0
1
16
58
-79
-11
0
0
0
0
0
-18
21
67
-1
0
0
0
0
-40
-8
3
-25
26
0
0
0
0
9
1
8
-20
6
0
0
0
0
-2
7
54
-13
-15
0
0
0
0
0
7
13
-42
34
0
0
0
0
0
25
-1
-84
59
0
0
0
0
1
-1
-13
-30
27
0
0
0
0
8
16
-1
28
3
0
0
0
59
-11
-72
10
17
-3
0
0
0
0
8
-25
-51
5
129
0
0
0
19
4
-46
53
-30
-55
0
0
0
0
-5
3
61
-13
27
0
0
0
9
0
25
77
-55
-58
0
0
0
0
0
0
-32
-13
58
0
0
0
2
-8
22
-47
-1
64
0
0
0
0
2
-34
-6
10
45
0
0
0
3
9
-23
18
-41
-14
0
0
0
0
1
-12
41
-4
-6
0
0
0
45
0
4
-16
-121
17
0
0
0
0
1
13
1
-34
34
0
0
0
-13
0
-1
14
11
20
0
0
0
0
5
1
-1
-20
-17
0
0
0
-22
-3
2
4
8
16
0
0
0
0
-32
-3
13
29
28
0
0
0
-34
0
16
-74
-22
15
0
0
0
0
6
-3
17
-16
-4
0
0
0
-23
4
-5
-7
9
22
0
0
0
0
14
-4
1
-44
59
0
0
0
-13
-5
45
-13
-46
28
0
0
0
0
-4
-34
15
49
23
0
0
0
91
0
-1
-25
-75
30
0
0
0
0
1
8
32
-26
36
0
0
0
-5
0
8
31
-51
-15
0
0
0
0
-1
0
24
-45
-40
0
0
0
-59
3
2
-5
-40
-27
0
0
0
0
-9
0
25
22
-6
0
0
0
24
2
10
-24
10
-15
0
0
0
0
0
-9
-27
-3
16
0
0
0
50
0
-5
-8
-2
10
0
0
0
0
12
0
-2
2
7
0
0
0
0
18
-13
-105
6
24
0
0
0
0
9
5
13
0
-18
0
0
0
0
58
-1
42
-107
31
0
0
0
0
-21
-45
27
9
96
0
0
0
0
-4
-26
29
-12
18
0
0
0
0
2
-27
-13
-49
69
0
0
0
0
20
0
1
8
5
0
0
0
0
5
-12
44
-18
33
0
0
0
0
-3
2
41
-17
-31
0
0
0
0
17
-2
-42
33
-21
0
0
0
0
5
2
4
-71
30
0
0
0
0
-19
66
8
18
-16
0
0
0
0
-1
0
-25
26
51
0
0
0
0
-1
17
12
-43
23
0
0
0
0
15
2
19
-21
-11
0
0
0
0
-22
-15
19
-12
32
0
0
0
0
0
-25
18
-32
57
0
0
0
0
-4
-8
-16
22
14
0
0
0
0
-5
12
-21
-27
-13
0
0
0
0
8
52
-41
-25
-5
0
0
0
0
-1
-30
47
-56
51
0
0
0
0
-1
39
-15
-7
-2
0
0
0
0
5
5
1
44
3
0
0
0
0
-17
-12
31
27
-2
0
0
0
0
48
3
-30
31
28
0
0
0
0
-51
4
24
11
8
0
0
0
0
23
-1
37
-65
10
0
0
0
0
14
-10
-13
-28
13
0
0
0
0
0
-1
20
-12
-20
0
0
0
0
-28
-9
23
3
41
0
0
0
0
14
1
7
-10
-37
0
0
0
0
27
-8
-2
20
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-23
-13
12
-54
-26
6
17
-8
0
0
-24
22
44
-48
-82
0
6
0
22
8
-76
5
-50
-2
5
6
0
0
-24
-58
-26
-39
-24
18
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-11
-6
12
-19
25
-8
1
0
0
0
39
-15
13
33
14
-18
0
0
-19
-51
-24
-81
-98
29
4
0
0
0
-28
-76
8
5
96
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-24
-1
-43
-4
19
-15
0
0
0
0
-61
-112
-3
21
18
0
0
0
-8
49
26
19
-7
-24
0
0
0
0
16
81
50
-55
-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
-12
16
-52
51
-20
34
3
0
0
0
0
5
-2
-13
-39
50
0
0
0
18
-29
6
9
-2
-2
0
0
0
0
-3
-50
-4
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-27
-19
-37
36
-25
-16
0
0
-4
-18
23
-23
-45
-25
24
0
0
8
6
22
30
3
-7
13
0
0
7
9
18
35
10
-23
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
68
-29
-43
30
-16
0
0
0
46
-25
2
46
19
-54
0
0
0
-27
4
66
-60
88
1
0
0
0
3
30
40
0
24
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-22
-27
-14
0
0
0
0
-18
5
-40
14
-41
0
0
0
0
2
-45
24
-35
75
0
0
0
0
-5
-14
42
-20
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-25
-9
-22
0
0
0
0
-17
15
5
19
1
0
0
0
0
0
1
-24
-5
24
0
0
0
0
-37
-8
8
-5
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
1
3
-48
-5
24
2
40
0
0
17
8
21
34
71
-15
19
0
-51
-6
68
-7
-9
3
79
-11
0
0
-30
-25
75
9
-13
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-12
7
-106
16
28
0
0
0
-6
-24
5
0
60
42
0
0
2
-2
-8
-44
-72
59
22
0
0
0
5
-5
-23
-40
50
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
-9
18
-67
48
0
0
0
0
0
-8
-25
20
-22
0
0
0
-33
0
0
86
-57
-76
0
0
0
0
2
8
-16
17
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-5
-13
9
-2
0
0
0
0
2
-1
42
-25
14
0
0
0
5
0
0
-16
-57
32
0
0
0
0
-1
1
0
46
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
103
12
7
-25
-5
0
0
-28
-49
7
-14
116
-6
5
0
0
8
45
-12
45
-13
5
15
0
0
11
-3
-101
-60
-2
31
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
19
-14
-25
25
-60
0
0
0
3
-83
49
26
-63
39
0
0
0
-9
-12
25
52
-32
10
0
0
0
-68
12
8
-94
84
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
-25
40
17
-10
0
0
0
0
-6
-19
16
-8
-4
0
0
0
0
8
-4
-29
-28
-14
0
0
0
0
-41
30
33
-6
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
14
21
0
0
0
0
8
14
7
-76
59
0
0
0
0
5
0
25
49
-3
0
0
0
0
18
-16
-14
31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
6
1
-45
-23
-40
55
-11
10
0
0
2
-1
66
-21
-126
17
-5
0
7
0
-8
-16
15
59
4
-2
0
0
0
1
-32
80
42
17
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-43
-31
78
58
-4
0
0
0
-1
-4
-35
20
-68
-8
0
0
28
0
8
-10
-83
117
-18
0
0
0
0
-2
-3
-31
78
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
3
0
-2
-25
-82
7
0
0
0
0
0
4
-9
6
-33
0
0
0
23
0
-7
-8
15
-32
0
0
0
0
0
-2
-14
-15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
-14
-14
-33
4
0
0
0
0
0
-12
3
42
7
0
0
0
-12
0
6
-9
0
14
0
0
0
0
0
-1
0
12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
70
54
-15
-86
-13
-1
0
0
0
-32
-72
7
-46
-15
-6
0
0
0
25
-7
-26
87
-3
6
0
0
-5
-41
-24
-68
50
29
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
-9
-42
56
-16
0
0
0
-1
7
-53
-57
-10
-5
0
0
0
0
0
66
-42
23
13
0
0
0
10
-50
14
-4
24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
-70
1
0
0
0
0
2
9
-2
-41
13
0
0
0
0
0
8
-19
-51
43
0
0
0
0
2
53
-21
37
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
10
-47
10
0
0
0
0
2
2
-1
42
0
0
0
0
0
0
2
1
-21
7
0
0
0
0
0
-5
0
-59
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-8
45
-41
-33
-6
16
0
0
2
-8
16
-9
9
25
-21
0
-69
0
-2
-49
1
30
9
-2
0
0
-22
14
84
46
-10
-55
7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
-42
-5
35
-10
0
0
0
1
-8
-21
-22
31
34
0
0
49
0
-12
31
16
-4
-24
0
0
0
-2
13
3
-67
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-2
46
-31
0
0
0
0
0
0
13
-4
53
0
0
0
-1
0
19
-22
-16
-6
0
0
0
0
0
-16
15
-30
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
5
-8
-42
43
0
0
0
0
-1
-2
0
-29
41
0
0
0
-26
0
-5
-9
6
24
0
0
0
0
0
0
0
17
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-22
-70
18
-29
18
0
0
-2
0
-8
19
-50
34
46
0
0
-6
-47
31
-41
7
9
-6
0
0
-42
-46
57
-24
15
69
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-27
41
-4
0
0
0
13
7
0
52
19
-48
0
0
0
4
8
-50
-37
45
-13
0
0
0
-23
11
-21
-41
1
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-22
14
-1
0
0
0
0
-24
16
13
13
-3
0
0
0
0
2
12
20
-55
11
0
0
0
0
1
24
-14
43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-13
5
0
0
0
0
4
3
-5
-1
-23
0
0
0
0
24
-8
4
-6
11
0
0
0
0
-23
-4
6
27
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
-37
-4
-29
-40
27
0
0
0
-2
14
34
-25
-19
14
0
0
5
2
10
68
18
10
-29
0
0
0
0
41
4
-67
23
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
37
-21
1
19
0
0
0
0
1
-7
-39
-19
17
-11
0
0
0
1
-17
20
7
-59
28
0
0
0
0
7
-30
-41
52
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
2
9
53
24
10
0
0
0
0
8
17
-26
-55
-1
0
0
0
3
0
-6
16
-34
-12
0
0
0
0
0
4
25
-22
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
20
4
-1
1
27
10
-29
0
0
0
0
0
8
-48
-31
24
0
0
0
0
0
-5
-22
0
37
0
0
0
0
-3
13
2
15
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
30
-30
-13
-19
0
0
0
18
-21
-27
-94
-3
-12
0
0
0
4
-1
11
-21
8
-4
0
0
0
8
2
22
-76
27
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-92
-46
-46
-3
0
0
0
0
-16
20
-10
-2
2
0
0
0
-2
-2
2
28
4
-16
0
0
0
5
-2
-4
-14
43
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
12
-25
-7
0
0
0
0
-2
1
5
-39
-20
0
0
0
0
0
0
3
-5
20
0
0
0
0
-2
4
5
-50
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-31
-17
34
0
0
0
0
9
2
2
-12
-17
0
0
0
0
0
0
0
26
58
0
0
0
0
5
8
6
-35
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-35
-61
-35
39
-9
0
0
0
3
8
-16
5
-29
30
0
0
0
1
-10
50
-71
47
1
0
0
0
-5
-17
30
-13
2
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-60
-2
63
17
0
0
0
8
24
-10
1
61
-21
0
0
-5
4
1
-49
-15
-57
24
0
0
0
-5
-2
20
-28
5
-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
-1
-5
8
-28
-50
63
0
0
0
0
0
5
-1
-32
44
0
0
0
-12
0
4
-23
-10
5
0
0
0
0
0
-8
-8
-18
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
8
0
-18
-13
0
0
0
0
0
-2
-13
0
36
0
0
0
35
0
0
20
10
-54
0
0
0
0
-2
0
-1
0
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
-2
-18
10
-29
45
29
0
0
0
8
16
16
-4
-30
-22
0
0
0
5
0
115
1
3
-24
0
0
0
-40
5
12
88
16
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-41
-28
2
4
0
0
0
1
-85
58
23
11
-33
0
0
0
1
10
40
31
-70
16
0
0
0
19
-5
-47
49
-22
-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
1
5
52
23
0
0
0
0
-3
-6
-41
-35
85
0
0
0
0
0
0
69
28
-12
0
0
0
0
21
-28
-33
-20
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
-34
45
0
0
0
0
-15
-1
5
5
28
0
0
0
0
-1
0
20
-84
78
0
0
0
0
-31
-9
20
21
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
-27
0
0
8
12
-27
59
-5
0
0
0
0
9
-19
-54
13
46
0
0
46
0
2
7
21
59
-30
0
0
0
0
2
52
-32
21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
6
0
73
-1
30
28
13
0
0
0
-1
73
40
-94
50
-9
0
0
22
0
-1
21
-46
15
-14
0
0
0
0
2
-29
-4
69
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
3
-1
-8
41
9
23
0
0
0
0
0
25
-22
-39
43
0
0
0
-3
0
-4
-46
6
50
0
0
0
0
0
-4
-1
31
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-2
2
21
8
12
2
0
0
0
0
0
0
-7
-10
-7
0
0
0
-6
0
0
23
-19
1
0
0
0
0
-1
-1
1
8
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
18
-34
90
19
0
0
0
-3
20
5
-122
18
32
0
0
0
0
0
9
15
-17
56
0
0
0
-1
1
50
-5
59
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
37
-23
34
-11
0
0
0
-6
-41
-61
-66
34
4
0
0
0
0
4
34
17
-4
-19
0
0
0
-8
35
31
-4
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
16
21
0
0
0
0
0
-1
-33
-55
44
0
0
0
0
0
0
-39
39
8
0
0
0
0
0
21
5
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
2
7
13
0
0
0
0
0
-8
3
-16
39
0
0
0
0
0
-4
-8
43
24
0
0
0
0
0
-5
6
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-1
1
-19
-2
15
0
0
0
0
24
1
61
51
15
0
0
-9
0
-3
-37
27
3
5
0
0
0
-5
5
-24
3
131
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
-16
-25
28
21
0
0
0
0
-3
5
25
-22
-23
0
0
43
0
-28
-27
-7
18
-22
0
0
0
32
18
12
3
-4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
24
-17
35
0
0
0
0
0
-12
4
-44
54
0
0
0
27
0
-1
-23
-46
96
0
0
0
0
-2
-12
-5
-5
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-2
9
-37
19
0
0
0
0
2
1
8
0
-7
0
0
0
22
-3
-5
3
5
-10
0
0
0
0
25
0
-1
15
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
15
-7
14
-5
0
0
0
-51
13
-11
-12
21
50
0
0
0
-18
-32
16
17
32
-49
0
0
0
2
59
26
-6
-11
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
45
41
-12
0
0
0
45
-32
66
-8
54
5
0
0
0
31
-10
-26
0
31
-40
0
0
0
59
-32
-20
5
13
-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
-1
0
-15
45
0
0
0
0
8
27
-49
9
29
0
0
0
0
2
5
13
10
17
0
0
0
0
-14
-76
41
4
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
18
0
22
0
0
0
0
-16
-17
-15
13
54
0
0
0
0
25
0
-2
-3
79
0
0
0
0
5
12
-53
-10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
-60
-23
-38
23
0
0
0
0
-1
53
-13
-16
4
0
0
0
-31
0
-15
-10
-20
42
0
0
0
0
6
31
-95
-56
-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
-37
0
-1
-8
41
-43
25
0
0
0
0
-1
-22
71
-55
-29
0
0
0
0
1
4
-23
-50
-2
0
0
0
0
-4
-13
21
32
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
-21
15
-44
-6
0
0
0
0
0
-4
6
19
-83
0
0
0
0
0
-5
-1
-4
-24
0
0
0
0
0
0
-22
-8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
22
0
-31
-1
0
0
0
0
0
-8
18
10
21
0
0
0
2
0
8
14
5
-50
0
0
0
0
2
9
15
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-95
-53
-16
0
0
0
0
1
-36
-23
-15
43
0
0
0
0
0
-5
91
-34
-28
0
0
0
0
-10
49
-6
-13
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
49
-42
-18
0
0
0
0
0
1
-42
-95
69
0
0
0
0
-4
-3
19
-13
48
0
0
0
0
6
-23
10
-13
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
5
0
0
0
0
0
0
-61
67
-30
0
0
0
0
0
0
-2
-30
48
0
0
0
0
0
3
0
75
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-55
84
-34
0
0
0
0
1
3
-6
5
-22
0
0
0
0
0
-1
-15
-47
76
0
0
0
0
14
6
-4
-38
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
-2
-85
-24
0
0
0
0
0
0
-31
-19
91
0
0
0
69
0
-5
5
-41
13
0
0
0
0
1
0
-34
-43
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
51
24
-35
0
0
0
0
0
2
70
-19
13
0
0
0
-36
3
-1
22
-34
59
0
0
0
0
2
8
41
-54
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-93
22
0
0
0
0
0
1
6
-91
23
0
0
0
9
0
0
-1
-14
-25
0
0
0
0
0
0
0
-40
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-5
-16
43
0
0
0
0
0
1
-5
22
44
0
0
0
-24
0
0
-2
-19
29
0
0
0
0
0
0
37
-57
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
12
-76
66
0
0
0
0
3
19
41
-94
20
0
0
0
0
2
-10
40
-30
15
0
0
0
0
-1
-45
30
42
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-31
19
30
0
0
0
0
0
14
41
-31
-3
0
0
0
0
0
1
38
7
-11
0
0
0
0
24
-42
26
8
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
37
-2
0
0
0
0
0
1
-15
-21
42
0
0
0
0
-2
0
1
-21
19
0
0
0
0
0
5
-39
-5
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-24
36
0
0
0
0
1
-3
-13
-46
113
0
0
0
0
0
0
-36
20
29
0
0
0
0
2
0
-9
-59
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-1
0
20
-20
-35
-18
0
0
0
0
0
1
50
-18
-5
0
0
0
-6
0
-5
-34
-8
18
0
0
0
0
0
-2
2
-13
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
8
32
1
-31
0
0
0
0
-1
3
50
-43
-54
0
0
0
0
-1
5
76
-8
-38
0
0
0
0
0
0
14
6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
1
0
0
-5
-41
11
0
0
0
0
0
0
0
-22
-40
0
0
0
6
0
-1
-2
-56
-25
0
0
0
0
0
2
3
-9
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-3
0
-5
-8
20
47
0
0
0
0
-3
-1
1
-71
42
0
0
0
-25
0
3
20
-41
50
0
0
0
0
1
-1
27
-64
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
1
0
15
-25
-9
0
0
0
0
-4
24
-7
-48
-24
0
0
0
0
0
7
-2
-47
58
0
0
0
0
0
-52
5
-62
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-24
82
-39
0
0
0
0
3
-27
3
-10
-41
0
0
0
0
3
12
0
15
9
0
0
0
0
13
21
-5
-18
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
4
0
0
0
0
0
1
0
-64
43
0
0
0
0
0
1
5
30
-12
0
0
0
0
-1
2
0
-37
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-101
36
0
0
0
0
-2
1
13
-57
46
0
0
0
0
0
1
25
-15
56
0
0
0
0
-2
0
6
6
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-5
0
-13
-48
0
0
0
0
0
-8
-9
-4
44
0
0
0
-18
0
-2
-10
-5
91
0
0
0
0
-5
13
-7
-112
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-5
-40
75
13
0
0
0
0
0
12
-5
23
12
0
0
0
-34
0
5
-7
-27
62
0
0
0
0
20
15
-12
-16
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
44
-62
37
0
0
0
0
0
-1
7
-58
21
0
0
0
42
0
0
4
-66
76
0
0
0
0
-9
2
3
-40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
18
-7
5
0
0
0
0
-2
-10
-6
-5
84
0
0
0
31
0
-5
49
-111
54
0
0
0
0
-2
0
-7
20
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
13
49
0
0
0
0
26
22
-18
49
-46
0
0
0
0
-1
0
-26
27
-2
0
0
0
0
-65
31
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
28
-1
0
0
0
0
0
-5
-13
58
49
-102
0
0
0
0
0
30
-38
-7
71
0
0
0
0
-23
-18
21
41
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
62
9
0
0
0
0
0
18
-5
27
-37
0
0
0
0
0
21
10
-72
16
0
0
0
0
-18
-13
13
32
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
-44
55
0
0
0
0
5
10
23
-63
13
0
0
0
0
-2
-6
-37
-2
80
0
0
0
0
-30
-66
-31
-1
98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-3
0
-55
-38
4
43
0
0
0
0
0
-35
-37
56
5
0
0
0
-1
0
0
1
-42
96
0
0
0
0
0
12
7
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-74
46
-5
81
0
0
0
0
1
3
12
-118
53
0
0
0
1
-3
25
13
27
-55
0
0
0
0
2
31
8
-76
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
12
8
-102
31
0
0
0
0
0
1
-1
13
35
0
0
0
-2
0
-2
-25
-40
53
0
0
0
0
0
2
74
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-2
-45
-15
48
24
0
0
0
0
0
-45
56
13
3
0
0
0
3
0
-2
44
-22
-7
0
0
0
0
0
9
-5
-33
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-50
14
-81
48
0
0
0
0
0
-18
-43
-26
66
0
0
0
0
0
-1
12
75
-18
0
0
0
0
4
5
0
8
-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
17
-68
-6
19
0
0
0
0
0
-2
-34
-8
55
0
0
0
0
0
-2
-2
99
-15
0
0
0
0
6
-15
29
-25
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-80
30
0
0
0
0
0
-4
-5
7
-45
0
0
0
0
0
0
9
-49
28
0
0
0
0
0
0
-5
31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
42
-9
5
0
0
0
0
0
0
49
-7
-55
0
0
0
0
-2
0
24
-33
-8
0
0
0
0
-2
-2
3
-19
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-17
-49
13
0
0
0
0
3
2
-33
75
-75
0
0
0
4
0
-1
-21
-52
72
0
0
0
0
-1
-5
-14
22
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
70
-57
3
0
0
0
0
0
2
63
-15
-28
0
0
0
-4
2
2
9
-122
17
0
0
0
0
10
4
25
-57
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
1
39
13
-2
0
0
0
0
-1
-6
-2
4
28
0
0
0
59
0
0
-12
57
-30
0
0
0
0
0
7
-31
6
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
1
-1
43
-85
40
0
0
0
0
-3
3
-7
2
13
0
0
0
-75
-2
0
-31
-23
-2
0
0
0
0
4
0
-3
-26
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-28
70
0
0
0
0
-21
18
69
24
12
0
0
0
0
0
-3
42
-17
-24
0
0
0
0
5
26
-60
-13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-85
89
0
0
0
0
7
-8
43
-69
59
0
0
0
0
8
31
43
-77
30
0
0
0
0
4
7
-25
30
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
17
-47
73
0
0
0
0
-2
5
31
22
10
0
0
0
0
5
-1
-19
24
120
0
0
0
0
41
-25
-49
-46
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-2
-32
34
0
0
0
0
-31
24
10
-8
39
0
0
0
0
6
-2
18
-13
-39
0
0
0
0
-7
-2
67
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
6
18
-23
31
0
0
0
0
1
1
4
7
6
0
0
0
-3
0
7
0
-30
24
0
0
0
0
0
3
0
9
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-8
-1
-17
-9
2
21
0
0
0
0
-3
-4
-1
-13
-3
0
0
0
-35
0
-1
-16
7
-8
0
0
0
0
0
0
18
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
4
0
8
16
-25
13
0
0
0
0
0
0
12
-6
26
0
0
0
18
0
-2
1
67
-15
0
0
0
0
0
-5
-3
19
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
-2
-21
9
-20
30
0
0
0
0
1
0
-14
21
17
0
0
0
21
2
0
0
38
-78
0
0
0
0
-4
6
-2
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
50
-2
0
0
0
0
-1
2
-1
-8
34
0
0
0
0
0
1
4
24
29
0
0
0
0
0
-3
8
11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-30
-6
67
0
0
0
0
0
-4
16
-31
5
0
0
0
0
0
-5
6
-14
23
0
0
0
0
0
-43
8
27
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
4
6
0
0
0
0
0
3
0
3
37
0
0
0
0
0
-1
19
0
26
0
0
0
0
0
-13
-5
19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
2
-1
4
0
0
0
0
2
16
-3
-66
32
0
0
0
0
1
0
-3
27
-4
0
0
0
0
-2
13
-2
-15
-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
-32
0
-3
14
-3
1
0
0
0
0
0
0
6
-54
49
0
0
0
-20
0
-5
1
16
-23
0
0
0
0
24
0
-3
7
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-2
-16
24
-25
0
0
0
0
-1
11
-1
4
-34
0
0
0
-12
0
-6
8
42
-30
0
0
0
0
13
8
-5
5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
1
27
-3
29
0
0
0
0
0
-13
3
-34
99
0
0
0
-10
0
0
13
-58
9
0
0
0
0
28
3
8
-13
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
2
19
1
6
0
0
0
0
-1
-10
-2
40
-39
0
0
0
15
0
0
33
-61
-43
0
0
0
0
-5
1
-3
26
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
2
-2
0
0
0
0
3
0
-13
31
68
0
0
0
0
2
0
9
-7
8
0
0
0
0
-10
7
30
21
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
19
-13
0
0
0
0
-16
-34
-9
33
19
0
0
0
0
2
1
-8
-48
10
0
0
0
0
5
7
48
-45
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-28
42
0
0
0
0
0
-49
3
39
-2
0
0
0
0
1
2
0
5
57
0
0
0
0
-2
91
13
-8
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-18
40
32
0
0
0
0
-15
-38
10
-40
76
0
0
0
0
-14
-13
4
20
-3
0
0
0
0
17
-13
-1
-61
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
7
-3
-7
0
4
-3
0
0
0
0
11
104
70
13
-12
6
-14
0
-49
84
-84
-31
-17
-4
-45
39
0
0
-48
-41
-40
-75
-19
82
32
16
61
-10
-26
-76
7
-16
-4
-1
0
0
46
0
-32
-27
12
-15
2
0
45
-36
-23
-1
-63
-17
2
-32
0
0
18
1
-57
-43
31
21
24
23
30
17
36
-40
29
16
-13
0
0
0
-25
58
-44
47
15
7
0
0
-38
14
33
45
9
-27
-13
0
0
0
-48
-21
22
-5
-5
71
0
-80
16
-8
81
-21
-66
7
-20
0
0
0
-13
-5
85
-56
-31
-7
0
0
-10
23
-43
-25
48
-45
-11
0
0
0
-13
-14
36
-7
29
16
0
-36
2
9
-78
36
23
4
0
0
0
0
22
18
-16
-49
35
0
0
0
15
4
7
42
-55
0
0
0
0
0
57
29
-44
33
-49
0
0
30
-76
6
57
-59
5
-31
0
0
0
0
27
-8
33
-69
34
0
0
0
-66
-5
21
-23
10
45
0
0
0
0
-45
22
-12
23
1
0
0
-39
-29
-5
5
42
5
64
0
0
0
0
4
-12
31
13
-41
0
0
0
22
-3
16
-31
-5
-28
0
0
0
0
-39
63
-78
-49
73
0
0
43
-6
-17
-25
82
-75
5
0
0
0
0
-29
-30
4
-10
37
0
0
0
-13
36
10
18
-5
-14
0
0
0
0
-41
-33
1
-37
-2
0
0
0
0
-35
8
-35
-13
3
0
4
0
0
40
-29
-33
50
7
-7
8
0
0
44
-14
2
-4
53
32
-41
0
0
5
-35
13
49
48
-68
17
0
0
0
3
-51
-41
-22
-47
-7
0
0
0
9
-8
-24
46
-24
10
0
0
0
2
2
-23
68
36
-5
0
0
14
13
1
-22
-13
43
1
0
0
1
0
25
22
-20
-58
0
0
0
0
-3
-3
-1
-10
-36
0
0
0
3
0
14
-28
45
-5
0
0
0
25
-1
12
-24
51
-3
0
0
0
0
2
3
-84
31
21
0
0
0
0
-1
-1
-42
9
-25
0
0
0
0
0
1
-18
30
-89
0
0
0
-14
2
-3
-3
4
9
0
0
0
-1
-18
32
-38
-2
0
0
0
0
1
-4
-10
-10
49
0
0
0
0
0
0
13
-66
-15
0
0
0
0
-10
-3
3
-43
66
0
0
0
0
-1
2
12
-35
-3
0
0
0
0
-4
0
1
-56
34
0
0
0
0
0
-12
0
63
19
0
0
0
0
0
2
-2
-42
-17
0
0
0
0
0
0
-1
1
42
0
0
0
0
1
2
0
-5
9
0
0
0
0
1
-1
-8
2
33
0
0
0
0
1
-1
0
-22
16
0
0
0
0
0
-3
0
-32
-54
0
0
0
0
2
1
-3
-10
-13
0
0
0
0
0
0
0
7
-57
0
0
0
0
-60
13
0
8
21
0
0
0
-38
-2
49
-46
29
12
-16
4
0
0
0
-6
-49
8
7
-22
4
0
36
-1
-3
-63
-48
-14
-30
41
0
0
-4
0
5
19
3
-43
-18
0
8
0
1
-31
8
23
-49
17
0
0
0
0
2
6
48
-11
0
0
12
0
0
41
49
-37
-28
-5
0
0
0
0
1
1
9
-41
42
0
-2
0
5
-19
-45
89
-16
0
0
0
-1
2
-6
-32
24
-14
0
0
17
0
0
5
-13
-34
-13
0
0
0
0
-2
-7
-15
17
34
0
0
3
0
0
3
45
5
33
0
0
0
0
0
-3
-15
6
14
0
0
-45
0
-2
4
1
-8
-13
0
0
0
0
0
0
-2
-5
-4
0
0
0
-2
5
-46
30
22
0
0
0
0
0
0
-6
0
37
0
0
0
3
0
0
-5
33
-13
0
0
0
0
0
0
-2
8
21
0
0
0
2
0
0
41
3
-8
0
0
0
0
1
0
-1
-31
-19
0
0
0
-4
0
0
6
-22
53
0
0
0
0
0
0
0
-5
9
0
0
0
2
1
-3
24
12
-1
0
0
0
0
0
-5
3
-68
-17
0
0
0
-3
0
-1
-5
16
15
0
0
0
0
0
-1
-1
9
-30
0
0
0
-9
0
0
-2
31
13
0
0
0
0
0
0
4
8
19
0
0
0
-15
0
-1
-5
4
47
0
0
0
0
0
0
0
0
17
0
0
0
0
1
-15
-41
-26
1
-2
-23
0
0
13
9
52
21
-44
-69
-27
0
0
3
0
75
24
51
55
19
0
0
4
25
-74
-5
37
99
25
0
0
3
2
3
61
29
-14
-17
0
0
-2
-6
-3
45
20
-16
15
0
0
1
0
8
-14
-21
-13
42
0
0
0
17
56
47
-59
-46
-1
0
0
0
-2
17
-68
-76
39
0
0
0
0
2
-18
7
-21
-37
0
0
0
0
-1
10
26
-3
26
0
0
0
-2
-4
6
-56
89
-13
0
0
0
0
-2
0
-5
75
-20
0
0
0
0
0
-2
-1
7
-12
0
0
0
0
0
0
-6
-5
52
0
0
0
5
2
-3
4
-17
-45
0
0
0
2
-1
-19
-11
-9
0
0
0
0
0
0
-1
30
4
0
0
0
0
0
0
7
-17
8
0
0
0
0
5
-5
-1
4
80
0
0
0
0
0
-1
3
-41
66
0
0
0
0
0
7
-1
-47
73
0
0
0
0
-1
0
0
17
66
0
0
0
0
0
0
0
-22
42
0
0
0
0
0
0
-1
-37
69
0
0
0
0
0
0
1
-23
-15
0
0
0
0
0
0
1
-13
66
0
0
0
0
2
0
5
-8
32
0
0
0
0
0
0
0
5
-18
0
0
0
0
0
-5
0
-29
50
0
0
0
0
0
-2
1
0
1
0
0
0
0
0
0
0
4
8
0
0
-46
9
0
-25
40
-68
11
16
-1
0
0
0
-4
-22
-74
27
23
47
0
-2
0
-16
22
3
11
-12
-4
0
0
1
2
2
7
15
-12
16
2
0
0
-17
-9
26
51
1
-5
0
0
-4
0
32
-66
47
61
-31
0
-7
0
1
2
-13
-18
4
3
0
0
0
0
-30
-66
-48
32
67
7
0
0
-3
34
-82
-41
42
0
0
0
0
0
1
5
42
-3
0
0
-1
0
4
-59
-23
82
16
0
0
0
0
-1
4
-22
-19
31
0
-3
0
0
-2
30
6
-11
6
0
0
0
0
-1
-3
-20
2
-8
0
0
8
0
0
1
4
-21
-13
0
0
0
0
-1
0
5
41
-45
0
25
3
2
-48
-35
29
-5
0
0
0
0
0
-7
-9
11
38
0
0
0
-2
0
-2
-27
-106
109
0
0
0
0
0
2
-18
7
-26
0
0
5
0
0
-2
40
26
2
0
0
0
0
1
-1
9
-31
14
0
0
0
1
0
-3
66
-46
30
0
0
0
0
0
0
-2
4
7
0
0
0
0
0
-6
-19
19
8
0
0
0
0
0
-1
1
5
41
0
0
0
0
0
-3
-42
-6
52
0
0
0
0
0
1
-5
-5
10
0
0
-41
0
0
4
-2
32
-1
0
0
0
0
0
3
0
6
34
0
0
0
8
0
0
-1
-13
48
0
0
0
0
0
3
0
2
-6
0
0
0
0
1
6
18
-100
-13
3
31
0
0
6
-25
-33
-28
-64
19
40
0
0
0
-7
-3
3
-16
46
28
0
0
-6
17
30
5
89
-67
32
0
0
0
0
-9
-19
-21
-40
49
0
0
1
0
0
-68
49
-1
-44
0
0
0
0
-3
13
-13
18
84
0
0
0
0
1
-3
13
3
67
0
0
0
0
5
-43
-32
-17
0
0
0
0
1
-5
-9
51
-3
0
0
0
0
0
0
13
22
58
0
0
0
0
0
-1
32
26
-46
0
0
0
0
0
-1
-29
89
-22
0
0
0
0
0
7
-5
22
-5
0
0
0
0
0
-1
4
5
42
0
0
0
0
-13
-4
0
5
-39
0
0
0
0
3
-17
-31
13
0
0
0
0
0
0
41
-50
50
0
0
0
0
0
0
3
-31
29
0
0
0
0
1
-2
-4
-32
61
0
0
0
0
0
0
1
27
-1
0
0
0
0
0
0
1
-42
-7
0
0
0
0
0
0
13
34
1
0
0
0
0
0
1
-3
12
-41
0
0
0
0
0
0
-8
-5
-24
0
0
0
0
0
0
-5
14
66
0
0
0
0
0
0
2
5
-50
0
0
0
0
0
0
-3
8
43
0
0
0
0
0
2
0
-17
-25
0
0
0
0
0
3
-2
1
-24
0
0
0
0
0
0
-3
-13
20
0
0
0
0
0
-1
0
-4
5
0
0
0
5
0
-4
-52
-47
19
-17
35
0
0
0
0
0
42
20
-56
4
0
18
0
0
-6
-100
1
51
-39
0
0
1
0
-16
-30
17
21
20
0
12
0
2
-17
51
-61
-14
8
0
0
0
0
0
-17
39
9
18
0
-58
0
-1
0
11
-9
17
5
0
0
0
0
2
-28
8
-15
-15
0
1
0
0
2
-77
-5
22
0
0
0
0
1
0
-19
16
-3
0
0
1
0
-1
-6
-11
27
-49
0
0
0
0
0
7
-19
-9
-18
0
0
0
0
1
-6
-21
5
-12
0
0
0
0
0
1
-25
21
10
0
0
23
0
0
8
5
13
10
0
0
0
0
0
-2
-7
-4
54
0
0
0
0
-5
-5
-47
85
0
0
0
0
0
0
-1
-2
28
0
0
0
0
0
0
-6
-49
4
0
0
0
0
0
0
1
-75
33
0
0
0
0
0
0
4
-9
24
0
0
0
0
0
0
0
-41
-5
0
0
0
15
0
0
-5
-7
42
0
0
0
0
0
6
-1
-12
-14
0
0
0
0
0
0
1
30
54
0
0
0
0
0
0
0
-2
57
0
0
0
8
0
0
-4
-43
40
0
0
0
0
0
-1
-1
-13
52
0
0
0
0
0
0
-1
43
-6
0
0
0
0
0
0
-1
-8
-29
0
0
0
0
0
1
0
0
13
0
0
0
0
0
0
1
0
-24
0
0
0
0
0
-19
-25
7
49
22
1
0
0
0
-16
34
-1
20
-38
-21
0
0
0
0
-40
19
38
69
6
0
0
39
10
-4
30
-27
53
-26
0
0
0
1
8
5
-48
-39
49
0
0
0
14
-1
-41
-17
19
67
0
0
0
-8
8
-15
24
-8
30
0
0
-37
6
6
-7
0
53
19
0
0
0
2
3
-4
-42
21
0
0
0
1
2
0
8
-6
-64
0
0
0
0
1
-18
27
50
44
0
0
0
-15
-27
-45
21
9
22
0
0
0
0
1
-3
-12
-7
41
0
0
0
0
4
0
0
12
27
0
0
0
0
1
-13
4
-14
10
0
0
0
-3
7
33
0
2
-32
0
0
0
0
6
14
38
-104
0
0
0
0
0
-3
3
-67
34
0
0
0
0
0
-1
17
-50
-16
0
0
0
0
0
-5
43
-60
32
0
0
0
0
0
0
4
-5
16
0
0
0
0
1
-3
3
-28
13
0
0
0
0
0
8
0
-15
-8
0
0
0
0
0
-9
1
4
8
0
0
0
0
0
0
2
4
51
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
-1
8
-35
-26
0
0
0
0
0
18
4
4
46
0
0
0
0
0
3
0
-25
41
0
0
0
0
0
-3
2
3
18
0
0
0
0
0
20
3
-2
5
0
0
0
0
-1
10
2
9
-8
0
0
-64
3
-1
-27
14
-52
60
28
0
0
0
-8
10
33
96
30
-24
0
0
-25
6
-14
-1
4
-39
59
0
0
0
0
-20
-1
-34
84
-12
0
51
0
0
-21
-7
-28
26
-13
0
0
0
0
41
-31
-63
46
-1
0
0
0
0
-4
2
63
11
-3
0
0
0
0
15
-12
-45
18
14
0
0
0
0
23
-4
-50
3
33
0
0
0
1
4
57
-46
-4
27
0
0
0
0
0
2
-50
-12
12
0
0
0
0
-6
16
-7
14
-2
0
-3
0
0
2
41
-31
52
0
0
0
0
0
4
-12
1
50
5
0
0
0
0
1
7
1
-2
-5
0
0
0
0
-2
-3
6
-36
-30
0
0
0
0
-1
22
35
22
0
0
0
0
0
-1
-4
-25
27
0
0
0
1
0
0
24
-25
-20
0
0
0
0
0
-1
8
-5
42
0
0
-3
0
0
0
94
9
-67
0
0
0
0
0
0
0
-13
4
0
0
0
0
0
-3
-4
-93
85
0
0
0
0
0
1
-43
17
-2
0
0
0
0
0
-2
32
38
0
0
0
0
0
1
0
-19
69
36
0
0
0
0
0
0
7
43
-67
0
0
0
0
0
-1
0
13
20
0
0
0
0
0
0
1
32
-4
0
0
0
0
0
1
2
-13
7
0
0
0
2
0
0
0
-2
-37
0
0
0
0
0
0
1
3
-41
0
0
0
0
0
-25
50
-10
-32
-5
0
0
0
-1
5
5
-43
14
71
0
0
0
7
-1
-5
13
14
-13
0
0
0
5
0
9
39
5
-40
0
0
0
0
0
-18
-31
-37
9
0
0
0
0
0
-1
-22
3
-4
0
0
0
0
0
-1
-3
50
41
0
0
0
0
0
1
-31
27
12
0
0
0
0
1
-3
-41
20
-13
0
0
0
0
0
2
-75
47
33
0
0
0
0
0
-8
-30
40
63
0
0
0
1
1
-1
-17
4
-54
0
0
0
0
0
8
28
-13
-14
0
0
0
0
-1
0
16
9
-29
0
0
0
0
0
0
2
5
-24
0
0
0
0
0
0
-4
-9
45
0
0
0
0
0
0
43
-6
0
0
0
0
0
0
0
18
21
0
0
0
0
0
0
-3
-30
70
0
0
0
0
0
0
0
3
64
0
0
0
0
0
4
0
0
21
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
-5
16
0
0
0
0
0
0
1
-2
8
0
0
0
0
0
1
0
-44
23
0
0
0
0
0
0
8
6
26
0
0
0
0
0
0
0
-4
30
0
0
0
0
0
0
0
-4
33
0
0
0
0
0
0
0
-22
14
0
0
0
0
0
0
2
13
28
0
0
0
0
0
0
0
5
-37
0
0
0
0
0
0
0
-13
43
0
0
0
-21
0
-10
8
-5
68
11
0
0
0
0
1
-1
-13
7
-4
0
0
30
0
0
23
-48
-33
15
0
0
0
0
0
-7
-14
50
2
0
0
8
0
3
-8
-12
116
-20
0
0
0
0
0
-1
-35
55
44
0
0
5
0
0
-15
-7
30
-61
0
0
0
0
0
-3
-10
3
-8
0
0
0
0
3
5
-5
-4
-26
0
0
0
1
0
0
9
13
-15
0
0
0
0
0
-15
-32
31
15
0
0
0
0
0
1
22
42
-16
0
0
0
0
0
-3
-16
-45
-6
0
0
0
0
-2
0
4
20
7
0
0
-4
0
0
-4
1
77
-16
0
0
0
0
0
0
0
49
13
0
0
0
0
0
-8
-6
-42
0
0
0
0
0
0
1
-53
22
0
0
0
0
0
0
-7
-31
58
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
17
-41
35
0
0
0
0
0
0
0
51
15
0
0
0
-2
0
0
3
16
-6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
1
1
-12
8
0
0
0
0
-1
0
0
-6
82
0
0
0
5
0
0
2
-9
13
0
0
0
0
0
0
-2
-4
-30
0
0
0
0
0
0
1
-9
13
0
0
0
0
0
0
-1
0
6
0
0
0
4
0
0
0
-5
-6
0
0
0
0
0
0
0
-10
24
0
0
0
0
-1
2
6
-53
33
14
0
0
0
2
1
60
-139
58
-76
0
0
0
1
0
13
15
50
-110
0
0
0
-44
-21
48
16
0
43
0
0
0
0
0
-6
36
-32
15
0
0
0
0
-1
-5
3
54
19
0
0
0
0
0
-9
34
13
1
0
0
0
2
-24
0
1
52
21
0
0
0
1
0
-3
-12
26
-31
0
0
0
1
2
-8
-35
5
3
0
0
0
0
0
-2
21
-30
-31
0
0
0
4
2
-4
3
-49
42
0
0
0
0
0
0
10
11
24
0
0
0
0
0
-4
3
-16
15
0
0
0
0
0
0
1
31
-16
0
0
0
6
0
0
0
64
-91
0
0
0
0
0
-18
-9
30
0
0
0
0
0
0
-1
-8
12
0
0
0
0
0
0
0
-17
55
0
0
0
0
2
0
5
8
8
0
0
0
0
0
-2
-2
0
13
0
0
0
0
0
3
-1
0
11
0
0
0
0
0
1
6
0
-45
0
0
0
0
0
2
0
-4
45
0
0
0
0
0
0
3
25
43
0
0
0
0
0
0
-3
-9
-18
0
0
0
0
0
0
1
8
-36
0
0
0
0
0
1
3
-2
11
0
0
0
0
0
0
1
-9
9
0
0
0
0
0
-1
3
18
-44
0
0
0
0
0
0
-1
-2
9
0
0
0
0
3
0
0
2
-16
0
0
43
-3
0
-1
55
-34
-30
-1
0
0
0
0
0
-5
-70
41
10
0
0
0
0
0
-33
-7
41
-23
0
0
0
0
0
41
5
13
-99
0
32
0
0
-2
-47
40
47
-7
0
0
0
0
0
10
-27
18
-14
0
0
-36
0
-1
17
31
66
-51
0
0
0
0
0
48
0
18
-21
0
-12
0
0
-1
-10
16
-27
51
0
0
0
0
-2
17
-21
-36
4
0
0
0
0
0
-44
-5
58
12
0
0
0
0
-2
26
0
27
13
0
9
0
0
5
-31
-39
35
44
0
0
0
0
0
-9
22
66
17
0
0
-6
0
0
-24
-6
13
22
0
0
0
0
0
2
-2
97
-79
0
0
0
0
-3
43
-82
5
0
0
0
0
0
0
4
-9
11
0
0
0
0
0
0
8
-15
7
0
0
0
0
0
0
-3
13
5
0
0
5
0
0
0
26
5
3
0
0
0
0
0
0
13
-13
10
0
0
0
5
0
0
-8
-1
17
0
0
0
0
0
0
-7
5
5
0
0
0
0
0
0
4
-28
6
0
0
0
0
0
4
0
-25
44
0
0
0
0
0
0
1
-6
60
0
0
0
0
0
0
3
0
45
0
0
-20
0
0
2
2
20
5
0
0
0
0
0
2
1
-16
18
0
0
0
-8
0
0
5
-6
9
0
0
0
0
0
0
18
4
-13
0
0
0
0
0
-1
-42
-28
25
45
0
0
0
-5
-2
0
-12
5
-35
0
0
0
0
0
5
27
72
-38
0
0
0
0
1
5
8
86
-13
0
0
0
0
0
8
-19
48
-21
0
0
0
0
-2
0
-5
-49
-39
0
0
0
0
0
0
8
20
-19
0
0
0
0
-2
23
-3
4
-35
0
0
0
0
-1
8
0
-32
2
0
0
0
0
0
2
37
-7
-32
0
0
0
0
0
30
-5
78
6
0
0
0
0
0
53
2
48
-93
0
0
0
0
0
-3
22
-18
-23
0
0
0
0
-4
-1
-8
40
4
0
0
0
0
0
4
-7
84
-31
0
0
0
4
2
-25
0
7
31
0
0
0
0
0
0
25
12
0
0
0
0
0
0
-4
-5
19
0
0
0
0
0
0
0
31
-84
0
0
0
0
0
0
4
-25
7
0
0
0
0
0
0
0
-18
41
0
0
0
0
1
0
0
-1
-15
0
0
0
0
0
0
0
2
-42
0
0
0
0
0
0
1
6
-6
0
0
0
0
0
0
-3
-20
19
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
6
24
-20
0
0
0
0
0
0
2
0
3
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
2
0
6
-2
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
-1
-4
1
46
0
0
0
5
0
-2
-17
-15
-35
12
0
0
0
1
0
-1
-12
69
-29
0
0
-33
0
0
2
-27
93
36
0
0
0
3
0
8
0
30
-6
0
0
1
0
0
2
-3
77
-9
0
0
0
0
-2
1
0
6
22
0
0
13
0
0
-4
3
-10
-2
0
0
0
-1
-1
2
0
-25
47
0
0
0
0
0
1
5
-32
15
0
0
0
0
0
0
8
-51
13
0
0
8
0
3
0
1
61
-16
0
0
0
0
0
4
4
52
-88
0
0
4
0
0
2
0
8
39
0
0
0
0
-1
0
0
68
11
0
0
-5
0
0
0
0
31
-27
0
0
0
0
0
1
0
31
24
0
0
0
0
0
-1
-25
5
0
0
0
0
0
0
0
1
-57
0
0
0
1
0
0
4
-23
43
0
0
0
0
0
0
2
-6
23
0
0
0
-1
0
0
-2
8
-55
0
0
0
0
0
0
0
-4
74
0
0
0
5
0
0
0
-1
34
0
0
0
0
0
0
-1
-2
19
0
0
0
0
0
0
0
18
12
0
0
0
0
0
0
0
-6
51
0
0
0
-6
0
0
-4
0
30
0
0
0
0
0
0
-2
0
8
0
0
0
-3
0
1
3
2
62
0
0
0
0
0
0
0
-12
9
0
0
0
81
0
0
3
-3
-63
0
0
0
0
0
0
0
1
16
0
0
0
0
0
-1
5
-15
-9
-38
0
0
0
-1
5
1
29
-22
-104
0
0
0
-6
0
-6
9
-7
12
0
0
0
3
14
30
4
-17
9
0
0
0
0
0
0
5
9
-29
0
0
0
1
4
4
-8
13
-41
0
0
0
0
0
-1
4
2
37
0
0
0
5
5
-10
1
2
-15
0
0
0
0
0
0
0
-5
-44
0
0
0
0
0
0
-13
15
2
0
0
0
0
0
-7
-1
96
-49
0
0
0
5
2
-16
6
23
-50
0
0
0
0
0
0
-1
12
-17
0
0
0
0
0
0
1
5
-21
0
0
0
0
0
0
0
13
-30
0
0
0
-19
-21
-5
0
31
-49
0
0
0
0
0
0
-23
-13
0
0
0
0
0
0
-2
9
19
0
0
0
0
0
0
5
0
-17
0
0
0
0
0
0
2
1
8
0
0
0
0
0
0
-4
0
8
0
0
0
0
0
0
-7
13
-2
0
0
0
0
0
0
0
0
42
0
0
0
0
-1
0
-1
0
5
0
0
0
0
0
0
0
-10
48
0
0
0
0
0
-3
0
6
-2
0
0
0
0
0
0
-4
-3
-23
0
0
0
0
0
-5
1
7
12
0
0
0
0
0
0
1
1
39
0
0
0
0
-1
0
1
-8
31
0
0
0
0
0
-1
0
9
19
0
0
0
0
-2
-6
7
1
5
0
0
-2
1
-6
-58
54
70
-6
0
0
0
0
13
6
-41
-38
39
0
0
0
5
-4
47
28
-46
2
0
0
0
0
3
4
-31
6
-15
0
0
24
0
0
-33
-14
-65
12
0
0
0
0
0
25
32
-18
-38
0
0
0
-3
0
-5
-17
-1
-11
0
0
0
0
0
-41
-27
5
49
0
0
0
0
0
-18
51
27
25
0
0
0
0
-1
8
6
-5
-45
0
0
0
0
0
1
-20
-46
23
0
0
0
0
0
-8
-13
-15
11
0
0
3
0
0
10
42
-19
-10
0
0
0
0
0
-5
29
-34
67
0
0
0
0
0
-5
-24
-32
73
0
0
0
0
-1
-1
13
2
-6
0
0
0
0
0
20
112
-18
23
0
0
0
0
0
-6
-30
-2
66
0
0
0
0
0
0
-17
-14
13
0
0
0
0
0
13
-9
2
20
0
0
0
0
0
-3
45
-49
75
0
0
0
0
-1
-9
10
-61
24
0
0
0
0
0
5
-1
-109
76
0
0
0
0
0
1
23
14
40
0
0
-1
2
0
-47
36
-7
31
0
0
0
0
0
-1
19
-13
17
0
0
0
0
0
1
-31
-20
33
0
0
0
0
0
4
43
-72
-15
0
0
1
0
0
-1
-2
15
-11
0
0
0
0
0
0
5
-39
0
0
0
0
-1
0
0
-1
1
-35
0
0
0
0
0
5
-8
-25
7
0
0
0
0
1
12
-10
-106
18
0
0
0
0
-6
0
4
58
-41
0
0
0
0
6
0
8
-13
49
0
0
0
0
1
0
2
-6
23
0
0
0
0
0
7
-10
14
-31
0
0
0
0
1
-6
1
12
-93
0
0
0
0
0
0
0
-6
16
0
0
0
0
0
-3
-1
-3
33
0
0
0
0
0
0
-8
-38
-5
0
0
0
0
2
0
0
25
15
0
0
0
0
-1
0
-2
-31
47
0
0
0
0
-3
0
-4
-1
37
0
0
0
0
0
0
-1
13
7
0
0
0
0
-2
0
0
13
18
0
0
0
0
0
0
0
15
8
0
0
0
0
27
0
0
5
-17
0
0
0
0
0
-4
1
-53
38
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
0
-42
14
0
0
0
0
0
0
-5
31
22
0
0
0
0
0
0
0
-20
4
0
0
0
0
0
3
0
-1
-14
0
0
0
0
0
0
-1
-66
93
0
0
0
0
-1
0
0
6
5
0
0
0
0
0
1
3
31
-19
0
0
0
0
-3
0
0
-14
36
0
0
0
0
3
0
0
-42
13
0
0
0
0
3
-1
0
6
4
0
0
0
0
0
0
0
19
-39
0
0
0
0
0
0
0
-6
-35
0
0
0
0
0
0
0
-8
-1
0
0
0
0
22
0
0
-3
23
0
0
0
0
0
0
43
-69
76
0
0
0
0
0
1
-2
-22
-2
0
0
0
3
0
0
-31
-41
35
0
0
0
0
0
0
-1
14
-5
0
0
0
0
0
0
8
46
-12
0
0
0
0
0
0
-3
3
-1
0
0
0
8
0
0
-6
12
-66
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
-66
-43
22
0
0
0
0
0
0
-4
-42
57
0
0
0
-2
0
0
2
-21
-13
0
0
0
0
0
0
3
1
32
0
0
0
0
0
0
-15
31
22
0
0
0
0
0
0
1
-14
0
0
0
0
7
0
0
1
-5
-46
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
-7
16
60
0
0
0
0
0
0
0
-5
28
0
0
0
0
0
0
0
-47
14
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
-8
-8
18
0
0
0
0
0
0
0
21
28
0
0
0
-13
0
0
0
-12
-61
0
0
0
0
0
0
1
-32
13
0
0
0
0
0
0
2
-26
5
0
0
0
0
0
-2
2
-27
51
0
0
0
3
0
0
0
-5
25
0
0
0
0
0
0
4
-9
42
0
0
0
0
0
0
0
44
17
0
0
0
0
0
0
1
6
53
0
0
0
-7
0
0
0
-1
3
0
0
0
0
0
0
-3
1
-4
0
0
0
0
0
0
32
-41
-19
0
0
0
0
0
-2
-7
-55
41
0
0
0
0
0
0
57
-56
35
0
0
0
0
-4
1
7
30
-3
0
0
0
0
0
-1
0
-4
25
0
0
0
0
0
3
1
45
30
0
0
0
0
0
0
9
-7
8
0
0
0
0
3
-1
-27
-6
-8
0
0
0
0
0
0
1
-5
45
0
0
0
0
0
0
5
-18
70
0
0
0
0
0
0
0
24
-22
0
0
0
0
2
0
14
22
-34
0
0
0
0
0
0
1
-6
60
0
0
0
0
0
0
1
-49
-34
0
0
0
0
0
0
-1
-7
-6
0
0
0
0
-2
-1
0
-1
6
0
0
0
0
0
0
-9
-23
32
0
0
0
0
0
0
0
26
-16
0
0
0
0
0
0
-6
-6
-24
0
0
0
0
0
0
4
20
-16
0
0
0
0
0
0
0
-25
6
0
0
0
0
0
0
0
44
-26
0
0
0
0
0
0
8
2
41
0
0
0
0
-1
0
4
25
-12
0
0
0
0
0
0
5
-7
31
0
0
0
0
0
0
1
29
-38
0
0
0
0
0
0
-2
-12
8
0
0
0
0
0
0
-7
-32
-8
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
3
7
45
0
0
0
0
0
0
-1
-2
49
0
0
0
0
0
1
0
1
1
0
0
11
-2
0
-5
9
52
-35
0
0
0
0
0
2
5
-43
-45
0
0
0
3
0
1
-18
-20
75
0
0
0
0
-1
0
4
-78
21
0
0
33
0
0
-1
-8
-22
11
0
0
0
0
0
0
6
-22
-17
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
0
13
-12
0
0
-5
0
0
0
-35
14
57
0
0
0
0
0
-3
0
24
-41
0
0
0
1
0
0
12
6
3
0
0
0
0
0
0
-8
4
-7
0
0
-28
0
0
0
20
69
-7
0
0
0
0
0
0
-6
-1
-1
0
0
0
0
0
0
7
-42
1
0
0
0
0
0
0
0
16
0
0
0
-2
0
0
2
16
5
-14
0
0
0
0
0
0
7
40
-5
0
0
0
1
0
-1
-4
-13
44
0
0
0
0
0
-6
24
17
-6
0
0
16
0
0
0
-44
-61
63
0
0
0
0
0
1
0
16
-6
0
0
0
16
0
0
2
-89
-3
0
0
0
0
0
0
-5
48
-18
0
0
0
0
0
5
25
-68
49
0
0
0
0
0
0
3
73
19
0
0
0
0
0
-2
13
-26
36
0
0
0
0
0
0
3
-53
7
0
0
7
0
0
-3
-3
-43
0
0
0
0
0
0
0
-2
-7
76
0
0
0
13
0
0
-2
12
29
0
0
0
0
0
-1
-2
7
5
0
0
0
0
0
1
-25
-34
8
0
0
0
0
-1
-1
3
-46
15
0
0
0
0
0
0
-6
41
60
0
0
0
0
-1
0
-17
-13
96
0
0
0
0
0
0
0
-61
13
0
0
0
0
0
3
5
-21
-15
0
0
0
0
0
0
-4
21
52
0
0
0
0
0
-4
-1
35
-2
0
0
0
0
0
-1
0
-27
54
0
0
0
0
0
1
0
-53
60
0
0
0
0
0
0
-3
-45
58
0
0
0
0
2
-3
0
21
3
0
0
0
0
0
0
-3
-5
16
0
0
0
0
0
0
1
-5
-3
0
0
0
0
0
0
0
4
25
0
0
0
0
2
1
0
39
-4
0
0
0
0
0
0
-8
-56
-4
0
0
0
0
0
0
4
-5
35
0
0
0
0
0
0
8
64
46
0
0
0
0
1
0
2
-48
46
0
0
0
0
0
0
0
16
-66
0
0
0
0
0
-4
2
5
-30
0
0
0
0
0
-1
0
-8
5
0
0
0
0
0
0
-1
-9
20
0
0
0
0
0
-1
0
-27
19
0
0
0
0
0
0
0
25
-10
0
0
0
0
0
0
-1
7
9
0
0
0
0
0
0
-12
-6
5
0
0
0
0
0
-2
0
-24
41
0
0
0
0
0
0
4
7
9
0
0
0
0
0
-1
0
1
-23
0
0
0
0
-3
-1
-1
16
-15
0
0
0
-7
0
0
-42
64
-49
0
0
0
0
0
-3
-6
7
38
0
0
0
17
0
0
22
-10
-14
0
0
0
0
0
0
0
1
-6
0
0
0
-1
0
0
-10
25
52
0
0
0
0
0
0
-1
-1
16
0
0
0
23
0
-1
0
-36
-22
0
0
0
0
0
-2
0
-48
5
0
0
0
0
0
0
2
21
55
0
0
0
0
0
0
0
19
-13
0
0
0
0
0
0
1
8
-27
0
0
0
0
0
0
-2
13
16
0
0
0
0
0
-2
-1
12
41
0
0
0
0
0
0
0
4
21
0
0
0
-56
0
0
1
2
-5
0
0
0
0
0
0
2
13
4
0
0
0
0
0
0
3
-23
6
0
0
0
0
0
0
5
13
55
0
0
0
1
0
0
0
16
5
0
0
0
0
0
0
0
-40
20
0
0
0
3
0
0
-3
7
-17
0
0
0
0
0
0
0
-26
26
0
0
0
16
0
0
2
-30
3
0
0
0
0
0
0
0
-16
8
0
0
0
0
0
0
-7
-24
27
0
0
0
0
0
0
0
34
-5
0
0
0
3
0
0
1
-66
49
0
0
0
0
0
0
0
-5
13
0
0
0
2
0
0
0
-13
68
0
0
0
0
0
0
0
64
-9
0
0
0
-49
0
1
-1
-3
17
0
0
0
0
0
0
0
-37
-12
0
0
0
0
0
-5
-17
-45
7
0
0
0
0
0
-4
-8
8
54
0
0
0
0
0
0
7
-56
33
0
0
0
0
0
6
3
-10
-3
0
0
0
0
0
0
0
2
34
0
0
0
0
0
0
0
-13
12
0
0
0
0
0
-2
-2
10
6
0
0
0
0
6
-6
-4
17
1
0
0
0
0
0
0
5
23
-12
0
0
0
0
3
-2
0
5
15
0
0
0
0
-3
0
-9
25
58
0
0
0
0
-1
-3
1
-3
1
0
0
0
0
0
0
0
7
20
0
0
0
0
0
-6
-1
6
12
0
0
0
0
0
0
0
-13
6
0
0
0
0
-6
1
-1
-2
-13
0
0
0
0
0
0
-8
3
23
0
0
0
0
0
6
-4
-41
-38
0
0
0
0
0
0
-1
-1
44
0
0
0
0
0
8
0
13
17
0
0
0
0
0
0
0
5
43
0
0
0
0
0
-3
0
17
10
0
0
0
0
0
0
0
7
2
0
0
0
0
-1
2
1
-31
-8
0
0
0
0
0
0
-1
7
42
0
0
0
0
0
0
4
-30
-4
0
0
0
0
0
0
0
6
16
0
0
0
0
3
2
-6
-17
49
0
0
0
0
0
0
0
-3
49
0
0
0
0
0
0
-12
-16
58
0
0
0
0
0
0
-1
4
47
0
0
0
0
2
-3
-1
-31
5
0
0
7
0
0
-25
-7
-40
66
0
0
0
0
0
-1
2
-24
2
0
0
0
0
0
0
-6
-36
-19
0
0
0
0
0
0
4
-13
5
0
0
-1
0
0
-7
10
8
-21
0
0
0
0
0
2
-6
-27
27
0
0
0
0
0
0
5
-50
20
0
0
0
0
0
-14
-4
-7
-3
0
0
0
0
0
20
1
-16
7
0
0
0
0
0
0
-5
21
-25
0
0
0
0
0
-1
-7
-41
63
0
0
0
0
0
-1
-5
-21
-4
0
0
1
0
0
-7
-15
5
-12
0
0
0
0
0
0
-4
5
17
0
0
0
0
0
0
-1
-2
26
0
0
0
0
0
27
0
-4
2
0
0
0
0
0
-5
-4
-94
75
0
0
0
0
0
-3
0
28
-58
0
0
0
0
0
1
12
35
-45
0
0
0
0
0
0
0
17
24
0
0
-21
0
0
1
15
17
-36
0
0
0
0
0
-4
-1
-13
6
0
0
0
0
0
-1
-8
-2
9
0
0
0
0
0
4
-1
33
-19
0
0
0
0
0
-3
-25
-46
33
0
0
0
0
0
0
-5
19
-18
0
0
0
3
0
0
5
-68
16
0
0
0
0
1
0
2
-13
-26
0
0
0
0
0
1
-4
21
16
0
0
0
0
0
3
-3
8
-10
0
0
0
4
0
-1
-5
9
2
0
0
0
0
0
-12
2
9
45
0
0
0
0
0
5
7
-32
-5
0
0
0
0
-4
0
0
14
30
0
0
0
0
0
0
-2
31
0
0
0
0
0
0
0
0
12
-3
0
0
0
0
0
-1
-4
-57
-7
0
0
0
0
0
-1
0
-6
-3
0
0
0
0
0
0
-1
-15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-8
2
0
0
0
0
0
0
0
-42
49
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
-12
40
0
0
0
0
0
0
0
-18
33
0
0
0
0
0
0
0
2
19
0
0
0
0
-1
0
0
-8
13
0
0
0
0
0
0
0
-37
-53
0
0
0
0
0
0
0
-15
1
0
0
0
0
0
0
0
-30
46
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
0
-53
70
0
0
0
0
0
0
0
7
24
0
0
0
0
0
0
0
-12
29
0
0
0
0
0
0
0
41
-34
0
0
0
0
0
0
0
-23
4
0
0
0
0
0
0
0
-31
25
0
0
0
0
0
0
0
-22
22
0
0
0
0
0
0
0
16
54
0
0
0
0
0
0
0
-5
66
0
0
0
0
0
0
-2
31
-1
0
0
0
0
0
0
0
-21
13
0
0
0
0
0
-1
0
-17
15
0
0
0
-6
0
-3
-5
-41
60
0
0
0
0
0
0
0
5
32
0
0
0
5
0
0
1
-5
31
0
0
0
0
0
0
0
8
-47
0
0
0
1
0
0
3
-42
26
0
0
0
0
0
0
0
9
5
0
0
0
-13
0
0
-2
4
52
0
0
0
0
0
0
0
-43
-2
0
0
0
0
0
2
3
7
33
0
0
0
0
0
0
0
-4
-62
0
0
0
0
0
0
2
-17
47
0
0
0
0
0
0
3
-23
70
0
0
0
0
0
0
0
-28
57
0
0
0
0
0
0
0
14
-41
0
0
0
1
0
0
0
-3
20
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
19
3
0
0
0
0
0
0
0
6
-24
0
0
0
-1
0
0
0
-5
20
0
0
0
0
0
0
0
-17
43
0
0
0
0
0
0
1
-17
44
0
0
0
0
0
0
0
-23
45
0
0
0
0
0
0
1
-31
22
0
0
0
0
0
0
0
-8
10
0
0
0
1
0
0
0
19
39
0
0
0
0
1
0
0
-46
23
0
0
0
5
0
1
0
-4
-15
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
-32
52
0
0
0
10
0
0
0
6
-13
0
0
0
0
0
0
0
14
-27
0
0
0
0
0
8
3
-7
-48
0
0
0
0
0
0
0
-3
32
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-1
0
7
1
0
0
0
0
0
0
2
-1
35
0
0
0
0
0
0
0
-30
6
0
0
0
0
0
2
1
0
-16
0
0
0
0
0
5
-1
1
0
0
0
0
0
0
0
2
-22
-13
0
0
0
0
1
0
1
13
25
0
0
0
0
0
0
-3
8
8
0
0
0
0
-6
0
-1
16
-1
0
0
0
0
0
0
0
1
35
0
0
0
0
0
-1
0
3
2
0
0
0
0
0
0
0
0
5
0
0
0
0
1
0
0
-4
-5
0
0
0
0
0
0
0
-2
65
0
0
0
0
0
0
0
-46
34
0
0
0
0
0
0
0
-8
27
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
8
-41
29
0
0
0
0
0
5
0
-1
25
0
0
0
0
0
0
0
-2
-49
0
0
0
0
0
0
2
-12
9
0
0
0
0
0
0
-3
-18
-28
0
0
0
0
1
0
1
-19
-1
0
0
0
0
0
0
0
10
-22
0
0
0
0
0
-1
0
-2
-11
0
0
0
0
0
-1
1
2
26
0
0
0
0
0
3
-1
-17
41
0
0
-10
0
0
2
-24
-40
-13
0
0
0
0
0
0
1
-42
50
0
0
0
0
0
0
5
30
34
0
0
0
0
0
0
0
0
-1
0
0
-27
0
0
0
-8
-48
42
0
0
0
0
0
0
-1
5
-15
0
0
0
1
0
0
0
58
-21
0
0
0
0
0
0
5
3
-5
0
0
0
0
0
2
-4
13
6
0
0
0
0
0
0
0
-25
15
0
0
0
1
0
-1
2
-18
-42
0
0
0
0
0
0
0
-28
30
0
0
-22
0
0
0
-7
8
6
0
0
0
0
0
0
0
14
-11
0
0
0
2
0
0
0
17
-8
0
0
0
0
0
-2
0
-7
27
0
0
0
0
0
1
0
-12
-20
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
-7
18
0
0
0
0
0
0
0
-16
10
0
0
-4
0
0
0
4
-30
-67
0
0
0
0
0
0
0
-28
68
0
0
0
14
0
0
2
34
-24
0
0
0
0
0
0
0
-41
23
0
0
-1
0
0
0
24
-44
18
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
3
15
-30
0
0
0
0
0
0
0
-90
75
0
0
31
0
0
0
2
-43
13
0
0
0
0
0
0
0
-9
48
0
0
0
-7
0
0
2
0
54
0
0
0
0
0
0
0
-13
8
0
0
0
0
0
0
0
8
-60
0
0
0
0
0
0
0
-13
19
0
0
0
0
0
0
0
-1
-7
0
0
0
0
-1
0
0
-30
2
0
0
0
0
0
3
1
15
-30
0
0
0
0
0
0
0
-9
-27
0
0
0
0
0
0
0
-25
2
0
0
0
0
0
8
0
18
-2
0
0
0
0
0
0
-1
16
23
0
0
0
0
0
0
2
-42
-23
0
0
0
0
0
0
2
-5
26
0
0
0
0
-1
-1
5
9
30
0
0
0
0
0
-3
0
-5
50
0
0
0
0
0
0
2
4
22
0
0
0
0
0
1
0
-1
33
0
0
0
0
1
8
0
2
-31
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
10
-13
0
0
0
0
0
0
0
-13
46
0
0
0
0
0
0
0
-11
42
0
0
0
0
0
0
0
-47
50
0
0
0
0
0
0
0
-2
31
0
0
0
0
0
-1
0
5
15
0
0
0
0
0
0
-1
5
43
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
-8
34
0
0
0
0
0
0
0
13
-7
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
-2
0
14
7
0
0
0
0
0
0
0
0
37
0
0
0
0
0
-7
3
5
28
0
0
0
0
0
0
-5
3
57
0
0
0
0
0
0
0
7
9
0
0
0
-6
0
0
-3
1
34
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
-4
-3
5
30
0
0
0
0
0
0
1
0
-2
0
0
0
-4
0
0
-3
-2
-35
0
0
0
0
0
-1
4
0
-3
0
0
0
0
0
0
0
-16
11
0
0
0
0
0
0
0
4
5
0
0
0
-1
0
-2
1
-8
-33
0
0
0
0
0
0
-2
2
-13
0
0
0
5
0
1
2
-8
53
0
0
0
0
0
6
1
-1
47
0
0
0
3
0
1
0
4
9
0
0
0
0
4
0
0
0
32
0
0
0
0
0
0
0
10
-50
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
-10
36
0
0
0
0
0
0
0
-6
29
0
0
0
-6
0
0
-1
16
-10
0
0
0
0
0
0
0
2
1
0
0
0
-12
0
0
0
-5
-5
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
25
-33
0
0
0
0
0
0
0
7
-19
0
0
0
14
0
0
0
5
9
0
0
0
0
0
0
1
12
34
0
0
0
-5
0
0
0
-24
40
0
0
0
0
0
0
0
4
32
0
0
0
13
0
0
0
2
13
0
0
0
0
0
0
0
7
-11
0
0
0
0
3
0
-5
-8
17
0
0
0
0
0
0
0
-3
-23
0
0
0
0
0
0
0
1
-16
0
0
0
0
1
0
0
5
-24
0
0
0
0
0
0
-4
1
1
0
0
0
0
0
-4
0
2
5
0
0
0
0
0
0
1
1
6
0
0
0
0
0
1
0
8
0
0
0
0
0
0
-1
0
-2
41
0
0
0
0
0
-1
-6
-14
20
0
0
0
0
-1
0
3
-3
9
0
0
0
0
0
3
4
13
-12
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
5
2
-5
-6
0
0
0
0
2
-2
-1
3
-5
0
0
0
0
-4
-36
0
-1
27
0
0
0
0
0
0
0
-13
-14
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
4
-3
-26
0
0
0
0
0
0
0
-8
42
0
0
0
0
0
0
0
8
29
0
0
0
0
0
0
2
-5
-41
0
0
0
0
0
1
-4
2
31
0
0
0
0
3
-5
-2
6
5
0
0
0
0
0
0
0
-35
42
0
0
0
0
0
0
2
-2
21
0
0
0
0
-8
0
10
3
-17
0
0
0
0
-9
0
5
13
30
0
0
0
0
0
0
0
-5
66
0
0
0
0
0
4
0
13
-6
0
0
0
0
0
-1
5
1
-13
0
0
0
0
-20
4
0
8
37
0
0
8
-32
-72
-6
38
-35
11
12
-10
0
0
-8
10
4
43
-19
-43
5
0
13
-6
5
24
-9
-37
-49
52
0
0
-2
-9
-34
29
26
-85
4
-13
-19
2
-22
-14
-15
5
50
26
0
0
12
6
10
7
-31
17
52
0
0
0
2
-7
-4
-37
38
-46
0
0
0
-1
5
-17
-14
-57
29
-13
0
-3
10
-52
23
42
27
0
0
0
2
-2
-8
10
8
-10
0
0
2
-3
2
33
-3
32
-34
0
0
0
-1
-6
1
0
41
49
0
4
0
0
-2
-9
-19
6
-2
0
0
0
0
-1
-7
3
-5
-9
0
0
0
0
1
0
5
6
-32
0
0
0
0
0
1
1
-3
-25
0
1
0
-18
15
-25
11
-28
0
0
0
0
0
-4
23
13
-6
0
0
0
1
0
0
-7
34
21
0
0
0
0
0
-1
-7
1
-5
0
0
0
6
0
6
9
-23
-25
0
0
0
0
0
-4
-8
-33
31
0
0
0
2
0
0
8
-4
-15
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
13
-6
-32
-3
0
0
0
0
0
-1
1
3
7
0
0
0
0
0
0
-1
0
-18
0
0
0
0
0
3
0
-3
-2
0
0
0
0
0
1
8
-33
-3
0
0
0
0
0
0
-1
-3
-8
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
7
-49
19
-5
29
20
20
0
0
1
8
-7
24
-43
0
51
0
0
-2
-4
-2
-13
-5
-12
35
0
0
-5
2
-15
-7
-8
-47
20
0
0
3
-4
6
46
-5
-19
-43
0
0
-3
15
12
-25
11
-21
-36
0
0
0
1
-1
-44
29
-25
-4
0
0
1
-7
-1
9
-9
-33
-28
0
0
-4
-3
9
-10
9
22
0
0
0
-2
-5
1
15
37
-31
0
0
0
0
0
-1
-27
3
10
0
0
0
0
0
-3
-2
64
48
0
0
0
0
0
-2
0
-13
-23
0
0
0
0
0
8
3
5
-30
0
0
0
0
0
0
-6
8
-16
0
0
0
2
0
0
-7
-4
-29
0
0
0
0
-8
8
-52
-3
0
0
0
0
0
-2
-6
16
-8
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
1
-2
9
0
0
0
0
0
0
0
-4
4
-13
0
0
0
0
0
1
-1
12
5
0
0
0
0
0
0
-7
3
4
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-1
-10
3
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
-1
-18
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
0
0
0
0
52
8
24
1
-5
-30
-43
41
0
0
-2
0
15
24
42
-14
-22
0
6
0
0
-17
-14
42
9
11
0
0
0
6
5
-2
-9
49
-13
0
0
0
-1
18
-37
25
-55
35
0
0
0
1
-1
34
6
8
-24
0
-8
0
0
2
-29
3
14
-11
0
0
0
0
-8
-18
-8
0
22
0
-4
0
-3
-1
-45
-12
-4
0
0
0
0
-1
-10
-7
5
19
0
0
-2
0
0
9
8
-17
-16
0
0
0
0
0
-1
-14
1
16
0
0
0
0
0
-4
0
3
-7
0
0
0
0
0
-2
6
5
35
0
0
0
0
-1
1
8
9
8
0
0
0
0
0
-1
2
-13
0
0
0
8
0
-5
-29
-18
19
0
0
0
0
-1
-3
-10
-2
-7
0
0
0
0
0
0
5
-3
6
0
0
0
0
0
-2
1
1
10
0
0
0
0
0
0
-12
0
6
0
0
0
0
0
0
-6
4
-22
0
0
0
-2
0
0
2
-1
2
0
0
0
0
0
0
-5
0
20
0
0
0
0
0
0
1
-12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
7
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
-8
-6
7
50
-54
0
0
-5
1
-13
14
17
41
-1
0
0
1
2
22
0
10
7
20
0
0
-5
-3
13
8
41
25
8
0
0
0
-1
0
0
9
-98
97
0
0
5
-6
17
8
7
-5
-1
0
0
0
-1
2
-13
10
-14
-2
0
0
8
0
1
-7
-8
-20
4
0
0
0
8
17
13
2
23
0
0
0
0
8
1
-12
18
-35
0
0
0
0
-1
9
1
12
-9
0
0
0
0
-5
0
5
17
-23
0
0
0
0
0
0
2
8
-13
0
0
0
0
0
-1
0
6
3
0
0
0
0
0
0
2
6
6
0
0
0
0
0
0
-3
-2
7
0
0
0
0
1
-7
2
7
0
0
0
0
1
-5
0
13
28
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
2
4
14
0
0
0
0
0
0
-4
-1
10
0
0
0
0
0
2
4
1
8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
-1
-6
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
1
0
0
0
-3
0
0
-1
0
0
-31
-19
11
58
23
-40
0
0
-1
-13
-12
7
-41
-44
42
0
1
0
-4
-2
5
13
-22
-2
0
0
0
0
-5
-1
7
-10
-1
7
0
0
9
1
-10
-25
7
27
0
0
0
0
-4
-2
-12
29
13
0
0
0
0
-16
4
0
-24
26
0
0
0
2
0
-2
-2
5
56
-4
0
0
-8
30
-10
14
-50
0
0
0
0
0
-3
21
-15
-17
0
0
0
0
0
6
3
-12
-23
0
0
0
0
-2
1
-3
-2
24
0
-2
0
0
0
8
-1
7
-42
0
0
0
0
1
1
-4
-7
-17
0
0
0
0
0
-1
0
5
18
0
0
0
0
0
-1
0
-1
-18
0
-1
0
0
-4
-33
-16
51
0
0
0
0
0
1
1
-5
-31
0
0
0
0
0
0
-8
-1
3
0
0
0
0
0
0
0
3
0
0
0
-17
0
0
1
13
-13
27
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
4
-4
8
0
0
0
0
0
0
0
3
4
0
0
0
0
0
-2
-3
7
-21
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
4
1
-7
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
-5
-8
-7
-33
-17
16
0
0
1
2
-1
-18
10
-5
-9
0
0
0
-2
16
-5
2
14
-76
0
0
-1
-7
5
7
31
-53
-4
0
0
0
0
-13
19
4
-66
9
0
0
0
2
5
-12
0
27
-64
0
0
0
0
1
-10
-3
40
24
0
0
0
0
0
12
-3
-10
30
0
0
0
0
-2
-9
-9
-11
0
0
0
0
0
1
-1
-10
56
0
0
0
0
0
1
-13
0
8
0
0
0
0
1
0
2
4
14
0
0
0
0
0
-2
-1
1
5
0
0
0
0
-1
0
0
-14
22
0
0
0
0
0
2
1
6
25
0
0
0
0
0
0
4
1
9
0
0
0
0
-3
-6
1
2
0
0
0
0
0
0
-1
-8
8
0
0
0
0
0
-1
0
0
-20
0
0
0
0
0
0
0
-9
5
0
0
0
0
0
-1
1
-12
-6
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
-3
0
14
0
0
0
0
0
0
-8
-3
-1
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
-2
3
-5
-18
-12
7
20
0
0
0
0
10
-2
-5
24
-40
0
-17
0
0
9
7
15
49
-39
0
0
0
0
-8
-4
22
-3
29
0
1
0
2
0
5
-9
8
13
0
0
0
0
0
1
0
-3
19
0
-2
0
0
0
-5
2
13
46
0
0
0
-2
2
0
0
22
23
0
0
0
0
0
3
15
-40
0
0
0
0
0
1
14
12
-5
0
0
-7
0
-1
0
14
14
-18
0
0
0
0
0
-2
-2
-9
37
0
0
0
0
0
2
12
4
6
0
0
0
0
0
1
0
5
-13
0
0
-2
0
0
-2
-1
-3
18
0
0
0
0
0
0
0
1
-2
0
0
-1
0
1
-7
-1
10
0
0
0
0
0
0
-2
-25
4
0
0
0
1
0
0
2
-5
25
0
0
0
0
0
0
-4
-4
2
0
0
0
0
0
0
-4
6
-16
0
0
0
0
0
0
-2
-4
1
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
-3
0
0
7
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
2
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
7
-14
5
5
-13
0
0
1
-6
0
5
8
24
4
0
0
0
-2
8
-20
6
13
41
0
0
-9
0
0
-1
-8
-1
30
0
0
0
1
4
0
7
-22
-14
0
0
0
1
0
0
0
-2
27
0
0
0
0
0
0
0
10
7
0
0
-1
29
3
-1
1
5
34
0
0
0
-1
1
-6
-17
43
0
0
0
0
1
0
-8
7
-1
0
0
0
0
0
-1
7
-5
-15
0
0
0
0
-1
0
-8
-4
-13
0
0
0
0
0
-1
3
0
5
0
0
0
0
0
1
0
1
6
0
0
0
0
0
-1
-1
0
-5
0
0
0
0
-1
0
0
0
-12
0
0
0
0
-3
5
10
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
-1
8
1
-5
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
1
1
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
1
0
0
1
-1
3
-5
-38
2
17
-35
0
0
0
0
3
-8
-21
1
17
0
0
0
0
1
5
-30
-48
37
0
0
0
0
0
-6
3
2
-2
0
-2
0
0
3
9
-9
21
-45
0
0
0
0
0
14
-13
13
5
0
0
0
0
0
-1
3
13
-29
0
0
0
0
0
0
1
-12
-5
0
0
0
3
-7
-2
1
20
-9
0
0
0
0
-2
-3
-2
-14
-4
0
0
0
0
-3
-1
6
-13
38
0
0
0
0
0
0
6
4
-41
0
-2
0
0
-1
6
4
-1
19
0
0
0
0
0
0
9
-16
-4
0
0
0
0
0
0
1
-13
3
0
0
0
0
0
0
0
24
9
0
0
0
0
4
4
-4
7
0
0
0
0
1
-2
0
-20
-19
0
0
0
0
0
0
5
3
22
0
0
0
0
0
0
-3
-3
12
0
0
0
0
0
1
-7
0
4
0
0
0
0
0
0
1
-7
8
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
8
5
-13
-20
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
1
0
17
0
0
0
0
0
2
4
4
6
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
-6
0
0
0
0
7
-8
0
40
-22
-31
0
0
0
1
5
-6
0
-25
32
0
0
0
0
0
13
-13
-13
10
0
0
0
0
0
2
-6
-3
5
0
0
0
0
0
-5
8
-22
21
0
0
0
0
1
4
-10
4
-17
0
0
0
0
0
0
0
5
6
0
0
0
0
0
-1
-3
-9
-13
0
0
0
0
1
-8
-3
24
-61
0
0
0
0
-1
0
0
1
-29
0
0
0
0
0
3
-2
-5
-1
0
0
0
0
0
-1
0
12
-16
0
0
0
0
0
0
-5
3
-12
0
0
0
-3
0
0
0
17
20
0
0
0
0
0
0
1
-8
33
0
0
0
0
0
0
0
-1
28
0
0
0
1
0
7
6
2
0
0
0
0
0
0
0
-17
-13
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
3
-24
0
0
0
0
0
0
-1
10
14
0
0
0
0
0
0
1
1
-7
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
12
13
0
0
0
0
0
0
0
-6
19
0
0
0
0
0
0
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
-31
1
-14
6
-52
0
0
0
0
-1
-5
-25
0
14
0
0
1
0
1
-1
-6
5
-12
0
0
0
-3
0
-1
-3
4
6
0
0
0
0
1
-5
-8
9
-4
0
0
0
0
0
0
-14
34
16
0
0
-1
0
0
4
3
-13
5
0
0
0
-1
0
0
-2
8
-29
0
0
0
0
0
-3
-6
9
-42
0
0
0
1
0
0
8
6
1
0
0
0
0
0
0
2
0
-22
0
0
0
0
0
-5
0
-20
0
0
0
0
0
0
-2
-6
6
-33
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
2
3
12
-33
0
0
0
0
0
0
-1
-9
50
0
0
0
0
0
8
-8
3
0
0
0
0
0
0
7
1
5
0
0
0
0
0
0
3
12
-14
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-4
3
-4
0
0
0
0
0
0
-6
4
-1
0
0
0
0
0
0
0
-4
-3
0
0
0
0
1
0
0
1
-3
0
0
0
0
0
1
0
-20
-8
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
0
7
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-42
14
-5
49
0
0
0
0
-9
9
-8
-8
-6
0
0
0
0
0
0
-3
0
13
0
0
0
0
2
-6
0
-1
2
0
0
0
0
-1
10
-3
19
-7
0
0
0
0
4
-2
0
7
-23
0
0
0
0
0
-1
0
7
4
0
0
0
-1
3
5
-6
6
-43
0
0
0
1
0
-1
-2
-2
3
0
0
0
-1
0
2
-5
7
44
0
0
0
0
0
-3
1
14
0
0
0
0
0
1
0
0
-4
-18
0
0
0
0
0
0
-1
-1
-9
0
0
0
0
0
2
1
-6
-42
0
0
0
0
0
0
0
2
34
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
3
1
-16
0
0
0
0
0
0
1
-5
3
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
4
1
1
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
1
0
0
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-1
12
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
-1
1
4
0
0
-8
0
1
2
9
-41
-7
34
0
0
0
0
2
4
-5
14
-56
0
0
0
0
0
-3
-9
-29
2
0
0
0
0
0
0
1
5
-13
0
18
0
0
0
-3
0
16
-15
0
0
0
1
-1
1
-3
-7
-17
0
0
0
0
0
0
8
5
-19
0
0
0
0
0
0
-1
3
35
0
0
0
0
2
8
12
5
-24
0
0
0
0
0
2
-2
-31
-31
0
0
0
0
0
0
2
7
10
0
0
0
0
0
0
0
3
-1
0
8
0
0
0
-15
0
-8
16
0
0
0
0
0
0
-2
-8
32
0
0
0
0
0
0
0
-13
22
0
0
0
0
0
-1
1
3
41
0
0
0
0
-1
-21
1
3
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
-12
-5
16
0
0
0
0
-1
0
0
-3
8
0
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-6
13
12
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
-5
0
-7
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
-8
5
-9
17
-14
0
0
0
0
0
0
0
-12
-27
0
0
0
0
1
0
1
2
15
0
0
0
0
0
0
4
9
9
0
0
0
0
0
0
-14
17
-24
0
0
0
0
0
1
-1
-8
-18
0
0
0
0
0
0
1
2
56
0
0
0
0
0
0
0
-1
-15
0
0
0
1
4
-1
2
-9
-8
0
0
0
0
0
0
-3
-27
-43
0
0
0
0
1
1
0
17
7
0
0
0
1
0
0
0
-8
56
0
0
0
0
1
1
-3
-3
46
0
0
0
0
0
0
-5
-3
35
0
0
0
0
0
0
0
13
-31
0
0
0
-1
0
-2
3
9
-18
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
2
-1
0
-8
0
0
0
0
1
0
0
-3
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-1
0
2
9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
-6
0
0
0
-8
-1
4
8
-7
-6
7
0
0
0
0
0
0
1
-1
-8
0
0
9
0
0
-1
5
-6
13
0
0
0
0
0
0
0
2
12
0
0
1
0
0
3
2
0
14
0
0
0
0
0
0
1
0
23
0
0
2
0
0
0
-3
6
-23
0
0
0
0
0
0
0
1
-1
0
0
0
0
-1
0
-4
-4
-72
0
0
0
0
0
0
0
1
29
0
0
0
0
0
1
-1
-8
14
0
0
0
0
0
-1
0
15
-22
0
0
0
0
0
-1
0
5
-13
0
0
0
0
0
1
0
17
24
0
0
-1
0
0
0
0
-22
49
0
0
0
0
0
0
-1
-1
-66
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-2
-4
-15
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-3
-9
0
0
0
0
0
0
0
-2
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
-1
-7
1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
1
-4
0
0
0
0
0
0
1
0
-3
0
0
0
-1
0
0
0
0
6
0
0
0
0
0
-1
0
2
5
0
0
0
0
-4
-6
-2
5
4
4
0
0
0
-2
2
0
0
0
31
0
0
0
0
0
0
-4
-1
17
0
0
0
1
0
3
0
-5
-9
0
0
0
0
-1
-1
0
0
25
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
-1
1
1
56
0
0
0
1
1
0
1
0
16
0
0
0
0
0
-1
0
3
-30
0
0
0
4
0
0
0
0
-17
0
0
0
0
0
-1
1
-3
-5
0
0
0
-3
0
0
0
13
3
0
0
0
0
0
-1
0
-4
0
0
0
0
-1
0
0
0
-3
22
0
0
0
0
0
0
0
-12
20
0
0
0
1
0
0
0
4
-3
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
8
1
-7
-68
-28
2
75
0
0
0
0
-3
4
-6
-24
24
0
0
0
-1
-1
18
10
14
-32
0
0
0
0
-1
-2
0
-24
15
0
0
2
0
2
-7
-18
31
17
0
0
0
0
0
0
17
-39
4
0
0
0
0
0
0
-4
7
-31
0
0
0
0
0
1
-1
-10
12
0
0
0
0
1
1
8
-7
28
0
0
0
0
0
0
0
-16
-15
0
0
0
0
0
0
1
8
17
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
5
1
-13
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
-1
-1
2
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-13
-10
6
11
0
0
0
0
0
2
-1
-10
48
0
0
0
0
0
-2
-5
2
-6
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
-1
1
-22
26
0
0
0
0
0
1
12
-14
-14
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
2
-5
-28
42
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
1
2
-14
-5
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
-18
-10
0
0
0
0
0
0
0
-5
-23
0
0
0
0
0
0
1
15
-17
0
0
0
0
0
0
0
0
4
0
0
0
0
27
1
4
2
-30
0
0
0
0
-1
4
2
7
-5
0
0
0
0
2
0
-3
-9
-9
0
0
0
0
0
0
-1
-29
-3
0
0
0
0
0
1
-3
-32
8
0
0
0
0
0
-1
-4
42
-14
0
0
0
0
0
0
0
5
17
0
0
0
0
0
2
0
-13
-8
0
0
0
0
0
-3
-1
-1
-8
0
0
0
0
0
0
2
5
5
0
0
0
0
0
-1
0
2
-1
0
0
0
0
0
0
-1
-20
4
0
0
0
0
0
-1
5
-4
25
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
1
3
0
0
0
0
0
2
-6
-3
27
0
0
0
0
0
-2
0
8
-20
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
6
16
0
0
0
0
0
0
4
-8
59
0
0
0
0
0
2
-3
19
22
0
0
0
0
0
0
0
-1
-41
0
0
0
0
0
0
1
-1
-19
0
0
0
0
0
0
4
-6
4
0
0
0
0
0
0
0
-2
-25
0
0
0
0
0
0
0
7
-13
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
-6
5
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
-1
9
0
0
0
-22
0
-1
27
-45
41
0
0
0
0
0
0
-5
-29
10
0
0
0
1
0
0
-8
-2
-31
0
0
0
0
0
0
6
6
-8
0
0
0
0
0
-2
2
18
-7
0
0
0
0
0
-1
8
-17
31
0
0
0
0
0
0
0
-5
31
0
0
0
0
0
0
4
14
19
0
0
0
0
0
0
-8
-25
-8
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
12
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
1
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
8
0
0
0
-1
0
-1
-7
2
-29
0
0
0
0
0
0
1
16
4
0
0
0
0
0
0
-6
-12
-5
0
0
0
0
0
0
-2
-4
-5
0
0
0
0
0
0
-22
-5
-23
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
0
0
-19
-1
0
0
0
0
0
0
0
2
1
0
0
0
0
0
-3
1
-2
-1
0
0
0
0
0
0
0
-10
19
0
0
0
0
0
2
2
-2
-28
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
6
13
0
0
0
0
0
0
0
-7
-14
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
-4
15
19
-8
0
0
0
0
0
0
-17
0
23
0
0
0
0
0
-1
-3
0
-7
0
0
0
0
0
0
-2
10
18
0
0
0
0
0
2
-1
-8
32
0
0
0
0
0
0
-7
-20
18
0
0
0
0
0
0
0
-4
-1
0
0
0
0
-1
1
-3
12
-12
0
0
0
0
0
0
-2
-8
7
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
-1
1
-6
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
6
-15
3
0
0
0
0
0
0
1
-3
31
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
0
5
0
0
0
0
-2
2
0
6
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-1
4
0
0
-30
0
0
-15
-37
7
5
0
0
0
0
0
2
18
-18
-31
0
0
0
0
0
0
-4
-31
-8
0
0
0
0
0
0
0
2
24
0
0
8
0
0
7
0
-5
5
0
0
0
0
0
0
-3
-8
23
0
0
0
0
0
0
-2
9
34
0
0
0
0
0
0
-1
-2
3
0
0
1
0
0
-6
0
-13
32
0
0
0
0
0
0
-1
18
-13
0
0
0
0
0
0
1
-3
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
-25
15
0
0
0
0
0
-4
0
0
19
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-4
0
20
0
0
0
0
0
1
1
-8
29
0
0
0
0
0
0
0
-13
-4
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
2
0
-7
-9
0
0
0
0
0
0
7
-5
-5
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
2
-2
-2
5
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
0
-9
35
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
6
-5
0
0
0
0
0
0
1
4
-6
0
0
0
0
0
0
0
-12
15
0
0
0
0
0
0
0
1
1
0
0
0
0
0
6
8
-8
24
0
0
0
0
0
8
-1
6
10
0
0
0
0
-1
-1
0
-5
31
0
0
0
0
0
0
2
8
1
0
0
0
0
0
1
0
1
-8
0
0
0
0
0
-2
-6
-8
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
2
-1
9
3
0
0
0
0
0
-1
5
13
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
3
4
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
-8
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
2
16
-24
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
-1
-3
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
-13
-15
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
-15
19
0
0
0
0
0
0
2
4
6
0
0
0
0
0
3
0
-8
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
6
-15
0
0
0
0
0
0
3
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
9
0
0
0
2
0
-4
8
-12
-6
0
0
0
0
0
0
0
1
2
0
0
0
-4
0
-1
5
-6
5
0
0
0
0
0
0
1
-1
7
0
0
0
0
0
0
-2
-12
-12
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
10
-8
-14
0
0
0
0
0
1
6
2
3
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
1
0
3
0
0
0
1
0
0
0
-1
8
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
-2
-8
2
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
3
0
-9
-8
0
0
0
0
0
1
0
-2
-3
0
0
0
0
0
1
0
8
9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
-1
8
0
0
0
0
0
0
0
-12
3
0
0
0
1
0
0
1
-1
-2
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
3
0
0
-29
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
2
2
-7
0
0
0
0
0
0
-1
3
5
0
0
0
-1
0
0
0
-4
4
0
0
0
0
0
0
1
2
1
0
0
0
0
0
-2
-3
5
2
0
0
0
0
-1
1
4
7
1
0
0
0
0
0
0
0
-5
-7
0
0
0
0
-1
1
-6
0
2
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
-3
1
6
0
0
0
0
1
-1
4
2
-2
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
-3
5
0
0
0
0
0
-4
0
-1
5
0
0
0
0
0
0
0
6
1
0
0
0
0
0
1
0
-1
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
-1
-1
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
-1
0
-1
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
1
5
0
0
0
0
1
-8
-20
-28
11
0
0
0
0
-2
-2
3
20
-6
0
0
0
0
0
0
-30
4
-8
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
-5
-8
2
0
0
0
0
0
-1
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
-1
9
-15
-5
0
0
0
0
0
0
0
7
9
0
0
0
0
0
1
5
-1
-5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
12
-26
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-5
-8
31
11
0
0
0
0
0
1
0
16
-17
0
0
0
0
0
-1
1
14
25
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
-6
-3
20
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
-1
0
-19
-13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
3
1
10
-5
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
-2
5
-9
0
0
0
0
0
-1
0
-9
3
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
4
12
-31
16
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
-1
3
19
0
0
0
0
0
0
-1
-8
-1
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-2
14
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
1
1
-8
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
1
-4
8
27
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
16
-9
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
18
0
0
0
0
0
0
0
4
18
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
8
-9
0
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
6
6
-22
8
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
-7
-8
1
0
0
0
0
0
1
2
-8
7
0
0
0
0
0
0
0
7
23
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
-1
-2
-5
-4
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
9
0
0
0
1
0
0
2
0
-8
0
0
0
0
0
0
0
-1
14
0
0
0
-2
0
0
0
3
-15
0
0
0
0
0
0
-3
-2
0
0
0
0
1
0
0
0
8
-8
0
0
0
0
0
0
0
4
-18
0
0
0
0
0
0
0
5
7
0
0
0
0
0
0
0
1
7
0
0
0
0
0
1
-2
5
17
0
0
0
0
0
0
0
0
18
0
0
0
1
0
0
0
1
13
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
3
-9
0
0
0
0
0
0
0
4
-16
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
3
1
3
0
0
0
0
-3
1
14
-10
13
0
0
0
0
1
1
0
2
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-1
-3
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
-1
-6
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
1
-8
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
-5
6
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
8
-8
0
0
0
0
0
0
0
-7
-14
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-9
0
0
0
0
-1
0
0
3
-2
0
0
-8
0
0
0
0
-22
13
0
0
0
0
0
0
4
-13
3
0
0
0
0
0
0
0
4
20
0
0
0
0
0
0
0
-1
-1
0
0
1
0
0
0
1
-20
-27
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-2
-8
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
-1
0
0
-14
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
3
3
5
0
0
0
0
0
3
0
-3
-2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
17
-10
1
0
0
0
0
0
0
-1
-1
13
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
4
24
-1
0
0
0
0
0
1
1
1
-8
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
1
-3
-16
53
0
0
0
0
0
0
1
10
-9
0
0
0
0
0
0
0
16
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
31
28
0
0
0
0
0
0
0
8
7
0
0
0
0
0
0
0
-2
54
0
0
0
0
0
0
-1
4
0
0
0
0
0
-1
-7
-1
14
-27
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-2
0
5
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
-1
-2
4
15
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
-1
0
-24
5
0
0
0
0
0
-1
0
3
-4
0
0
0
0
0
0
0
2
16
0
0
0
0
0
1
0
3
20
0
0
0
0
0
0
0
-8
-9
0
0
0
0
0
0
-1
2
-2
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
8
-5
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
17
0
0
0
0
0
1
0
-4
24
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
5
-22
0
0
0
0
0
0
6
1
-23
0
0
0
0
0
-2
1
0
-8
0
0
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-5
-2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
-3
13
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
3
0
0
0
-3
0
0
0
4
19
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
5
18
0
0
0
0
0
0
0
1
16
0
0
0
-3
0
0
0
2
23
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
1
1
22
0
0
0
1
0
0
0
0
42
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
-10
8
-1
30
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
-1
9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-2
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
-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
6
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
8
13
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
-5
0
0
-1
-15
-5
-2
22
28
-10
-11
11
0
0
0
-9
-2
-5
-23
-22
-25
0
8
1
-3
-8
-30
8
-8
-16
0
0
1
8
13
32
13
-58
-5
14
0
0
15
2
-52
-4
30
-18
0
0
0
7
12
-5
8
1
-55
0
-1
-2
-8
-3
13
9
-8
24
0
0
-1
-3
-3
3
-8
66
24
-4
0
-1
-33
6
-23
-24
-16
0
0
0
0
8
-1
-19
-13
-40
0
0
0
0
0
21
-83
15
-42
0
0
0
0
0
1
-9
12
-16
0
23
0
0
-8
15
-26
5
-12
0
0
0
-2
1
5
-14
4
4
0
0
-1
0
-1
6
9
-19
-11
0
0
0
0
1
-3
0
1
-4
0
-13
0
-1
-5
31
-94
90
0
0
0
0
2
-12
10
-14
-5
0
0
0
-2
0
7
6
-2
-4
0
0
0
0
0
0
-6
-4
18
0
0
0
0
0
6
-42
8
-10
0
0
0
0
0
0
4
-2
16
0
0
0
2
0
0
27
-18
-24
0
0
0
0
3
0
1
6
-25
0
0
0
0
0
-1
-9
-22
22
0
0
0
0
-1
0
6
-5
-9
0
0
0
-1
0
0
-17
5
29
0
0
0
0
0
-1
12
-8
4
0
0
0
0
0
-1
7
4
25
0
0
0
0
0
0
2
9
-8
0
0
0
0
0
0
0
2
10
0
0
0
0
0
-1
-1
-1
4
0
0
0
0
-17
36
-27
-17
27
13
27
0
0
6
8
-15
-40
66
-14
2
0
0
0
-10
3
21
-5
-14
9
0
0
2
2
23
-22
3
-11
66
0
0
0
-5
3
-34
10
-16
21
0
0
1
-7
-17
-8
-9
-51
6
0
0
0
3
12
10
-3
55
-4
0
0
-12
6
8
-16
-6
83
5
0
0
-1
-6
-9
1
33
19
0
0
0
-3
-4
8
9
-49
-6
0
0
0
0
0
5
-4
14
-27
0
0
0
-3
-5
10
6
1
14
0
0
0
0
0
1
5
17
-36
0
0
0
0
1
-1
-3
3
-7
0
0
0
0
0
-3
-8
41
15
0
0
0
-1
1
-1
4
0
15
0
0
0
0
-33
-3
-30
2
0
0
0
0
0
8
-31
36
-63
0
0
0
0
0
-1
-5
5
23
0
0
0
0
1
2
-7
15
17
0
0
0
0
0
-4
13
-10
-49
0
0
0
0
0
1
-3
-5
-5
0
0
0
0
0
0
2
-14
-5
0
0
0
0
0
0
-8
12
8
0
0
0
0
0
1
-2
-20
0
0
0
0
0
0
0
4
-1
5
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
-10
14
0
0
0
0
0
0
6
8
5
0
0
0
0
0
0
-1
3
-25
0
0
0
0
0
1
0
0
29
0
0
0
0
0
0
0
7
6
0
0
0
-5
1
-17
25
-17
-7
10
18
0
0
-1
6
5
13
49
9
45
0
-14
0
3
-21
1
-17
-13
-7
0
0
-3
-8
-13
19
23
42
-1
0
-2
0
1
3
-13
5
-52
-55
0
0
0
-7
-8
-4
8
42
19
0
-5
0
-3
-5
-16
8
29
17
0
0
0
5
-8
7
-2
-26
19
0
-1
0
0
8
-21
30
-11
0
0
0
0
1
-3
13
4
13
0
0
-4
0
-2
1
-3
3
-10
0
0
0
0
0
-7
5
22
18
0
0
0
0
1
-2
-16
-4
-25
0
0
0
0
1
-2
1
-6
12
0
0
5
0
0
-4
7
13
13
0
0
0
0
0
0
2
0
-9
0
0
-3
-2
-2
8
-5
-17
0
0
0
0
0
-1
-12
8
3
0
0
0
0
0
0
12
-17
7
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
-2
-23
4
0
0
0
0
0
0
-17
-16
23
0
0
0
-1
0
0
-1
10
25
0
0
0
0
0
1
10
-8
-5
0
0
0
0
0
0
-2
5
-21
0
0
0
0
0
0
-3
12
-6
0
0
0
0
0
1
-5
-2
21
0
0
0
0
0
0
-6
-2
5
0
0
0
0
0
0
-1
9
-13
0
0
0
0
0
0
0
1
1
0
0
0
2
0
0
-2
-2
5
0
0
0
0
0
0
0
-5
8
0
0
0
0
-34
-5
26
1
4
-5
8
0
0
5
-13
33
3
4
19
-5
0
0
-4
-4
32
-5
6
-2
31
0
0
-8
-4
-3
33
2
0
-11
0
0
-1
-5
0
-3
16
-34
49
0
0
2
-2
13
-8
6
55
-31
0
0
0
-2
2
-1
-7
4
31
0
0
5
-6
19
12
-10
-1
4
0
0
-1
-8
-8
21
-8
-20
0
0
0
2
5
5
-10
7
18
0
0
0
-2
2
-1
5
8
-8
0
0
0
16
-6
-13
0
1
-16
0
0
0
0
2
0
-20
18
-15
0
0
0
0
0
3
-3
6
14
0
0
0
0
0
3
1
-1
1
0
0
0
-3
4
0
3
-2
-25
0
0
0
0
5
7
-42
24
0
0
0
0
-1
19
-7
-30
8
0
0
0
0
1
0
23
-35
14
0
0
0
0
-1
-6
4
34
6
0
0
0
0
0
1
-1
-2
8
0
0
0
0
0
0
-10
-22
8
0
0
0
0
0
3
8
5
-2
0
0
0
0
-1
0
-8
-3
1
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
1
0
12
0
0
0
0
0
0
-3
20
8
0
0
0
0
0
-2
4
-6
2
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
2
0
0
0
0
1
-2
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
-4
5
61
1
-2
-9
0
0
0
-1
-7
-11
7
-28
-26
0
0
-4
0
5
9
-9
30
4
0
0
0
0
5
-18
-13
8
-26
0
-3
0
0
-43
10
-14
6
-23
0
0
0
0
8
0
8
-11
-41
0
0
0
0
0
-66
30
27
28
0
0
0
0
2
-9
-12
-12
8
0
3
0
0
31
-8
16
9
-34
0
0
0
2
10
-8
3
8
1
0
0
0
0
2
-16
3
8
-29
0
0
0
-1
0
-6
2
-16
-26
0
-3
0
0
6
-15
-5
-36
66
0
0
0
0
6
2
1
9
46
0
0
1
0
0
-7
7
2
-20
0
0
0
1
0
3
-4
-4
31
0
1
-1
0
-39
5
10
41
0
0
0
0
-1
-13
33
-14
-58
0
0
0
0
0
-6
-5
7
-12
0
0
0
0
0
0
-3
-10
27
0
0
9
0
0
-5
-19
17
28
0
0
0
0
0
3
13
-12
6
0
0
0
0
0
-2
4
-18
15
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-5
-21
21
-9
0
0
0
0
0
-1
4
14
-7
0
0
0
0
0
0
-3
-7
27
0
0
0
0
0
0
0
17
2
0
0
-1
0
0
6
-9
-2
14
0
0
0
0
0
1
-3
-18
24
0
0
0
0
0
0
8
-2
30
0
0
0
0
0
0
6
4
4
0
0
0
0
-20
3
-1
-57
1
23
0
0
0
6
-34
10
-13
6
-44
0
0
0
1
-3
-25
-13
41
25
0
0
0
-2
-6
14
9
-5
-50
0
0
0
0
3
12
14
-49
26
0
0
0
-1
6
-13
-16
-18
-16
0
0
0
0
-1
-1
-2
9
7
0
0
0
0
-6
9
-1
-1
-22
0
0
0
-1
-10
-13
3
-10
41
0
0
0
5
1
-3
-1
8
-90
0
0
0
0
0
8
-10
-5
-49
0
0
0
0
1
3
-1
-13
43
0
0
0
0
1
-6
-2
-41
42
0
0
0
2
1
-3
-14
5
21
0
0
0
0
0
3
-1
-12
17
0
0
0
0
0
-1
1
-9
29
0
0
0
0
-2
-1
28
4
0
0
0
0
-1
-2
-6
-10
0
0
0
0
0
0
0
-6
0
12
0
0
0
0
0
0
-9
-8
8
0
0
0
0
0
-2
12
5
8
0
0
0
0
0
-1
0
-5
-39
0
0
0
0
0
-1
1
-14
-3
0
0
0
0
0
3
0
-4
-10
0
0
0
0
0
-2
-8
46
14
0
0
0
0
0
1
-4
-31
7
0
0
0
0
0
-1
-3
-6
6
0
0
0
0
0
3
2
6
-10
0
0
0
0
0
0
2
4
25
0
0
0
0
1
1
0
7
0
0
0
0
0
0
0
-1
3
-1
0
0
0
0
-1
-2
2
-2
6
0
0
0
4
-10
-3
-24
-4
62
-40
0
0
0
-4
-1
21
15
3
-19
0
0
10
0
-3
17
-2
0
9
0
0
0
2
-1
-13
-6
22
17
0
0
0
0
-14
5
12
17
-49
0
0
0
0
-2
-3
-8
-5
47
0
0
7
0
-1
-8
-5
14
-32
0
0
0
0
-1
-5
0
6
3
0
0
0
1
5
5
-17
-8
-30
0
0
0
0
0
0
-1
-5
64
0
0
0
0
0
6
-7
-3
25
0
0
0
3
0
1
0
39
3
0
0
0
0
1
-8
2
4
-51
0
0
0
0
0
0
0
6
-48
0
0
6
0
2
2
-1
4
-48
0
0
0
0
0
-10
0
7
36
0
0
1
-1
8
-39
19
-42
0
0
0
0
0
0
-3
-1
19
0
0
0
0
0
0
8
9
7
0
0
0
0
0
0
-7
0
8
0
0
0
0
0
2
-9
-8
13
0
0
0
0
0
8
-5
-4
7
0
0
0
8
0
-1
8
-2
13
0
0
0
0
-1
0
10
1
-1
0
0
0
0
0
1
-17
-1
-4
0
0
0
0
0
0
0
-4
24
0
0
0
2
0
2
-2
-19
18
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
1
-1
-6
-6
0
0
0
0
0
0
-1
0
0
0
0
0
-6
0
-1
4
7
-8
0
0
0
0
0
0
-4
0
-4
0
0
0
0
-9
-9
-13
-6
32
56
0
0
0
-4
0
-2
5
10
-41
0
0
0
0
5
16
-3
5
-31
0
0
0
15
2
21
-3
13
3
0
0
0
0
3
-8
-3
-5
-13
0
0
0
-3
-3
8
0
9
-41
0
0
0
0
0
9
-12
-1
8
0
0
0
13
5
5
-5
4
-24
0
0
0
0
-1
12
-8
3
4
0
0
0
1
1
0
-8
5
-8
0
0
0
2
-1
10
-15
4
-35
0
0
0
0
0
-5
-2
4
39
0
0
0
0
0
-6
0
5
8
0
0
0
2
-2
-2
-1
18
-33
0
0
0
0
0
-1
-1
-13
-7
0
0
0
1
-4
6
1
2
24
0
0
0
0
2
24
-5
8
0
0
0
0
-3
4
-1
-2
7
0
0
0
0
0
0
8
0
1
0
0
0
0
0
-3
2
2
23
0
0
0
0
0
-3
7
-3
6
0
0
0
0
0
1
-5
-1
27
0
0
0
0
0
0
1
8
-4
0
0
0
0
0
1
2
10
-4
0
0
0
0
0
0
-3
-20
-42
0
0
0
0
0
-1
1
0
1
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
1
0
4
0
0
0
0
0
1
0
-8
17
0
0
0
0
0
2
0
-1
-1
0
0
0
0
0
1
-4
-1
-5
0
0
0
0
-2
-4
-8
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
9
-3
-14
-20
9
-14
0
0
0
0
0
10
-41
-42
40
0
0
0
-3
0
-2
2
9
14
0
0
0
0
2
-3
-6
25
15
0
0
-13
0
0
-6
-36
-21
28
0
0
0
0
0
0
-1
5
0
0
0
0
2
0
0
1
1
10
0
0
0
0
0
2
4
-24
5
0
0
0
0
0
1
7
-1
-41
0
0
0
0
0
-3
13
7
-8
0
0
0
0
0
0
-13
-5
-31
0
0
0
0
0
0
3
3
-3
0
0
7
0
0
0
-5
-8
-9
0
0
0
0
0
0
-4
-2
-3
0
0
0
-2
0
0
-1
1
22
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
-2
5
-42
51
0
0
0
0
0
0
-9
5
-9
0
0
0
0
0
0
-4
-22
-13
0
0
0
0
0
0
-1
-9
0
0
0
3
0
0
2
0
-18
5
0
0
0
0
0
0
-1
-6
1
0
0
0
0
0
-1
0
-8
14
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
1
15
-5
1
0
0
0
0
0
0
1
9
12
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
5
4
35
0
0
0
0
0
0
-1
-5
-2
0
0
0
2
0
-3
1
-9
27
0
0
0
0
0
-1
0
-8
7
0
0
0
0
5
13
-28
8
-12
0
0
0
0
4
-3
-13
-31
-31
0
0
0
0
0
0
6
-1
16
0
0
0
0
-1
9
9
6
38
0
0
0
0
1
4
-24
9
-7
0
0
0
0
0
0
-8
-8
9
0
0
0
0
0
0
-2
9
41
0
0
0
0
0
6
6
-12
3
0
0
0
0
1
3
-7
-25
10
0
0
0
0
-1
-4
-1
-1
-6
0
0
0
0
0
-2
2
19
-5
0
0
0
0
-1
0
-3
2
9
0
0
0
0
1
-1
1
-3
-4
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
6
-8
6
0
0
0
0
-1
0
3
-4
-2
0
0
0
0
0
1
-7
0
26
0
0
0
0
1
0
0
-23
9
0
0
0
0
0
0
-2
-48
17
0
0
0
0
0
1
1
-3
14
0
0
0
0
0
1
-4
-25
25
0
0
0
0
0
0
-1
-2
-27
0
0
0
0
0
1
1
13
-12
0
0
0
0
0
-2
-6
8
14
0
0
0
0
0
-3
2
18
9
0
0
0
0
0
0
-2
-1
-32
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
1
-14
-39
0
0
0
0
-1
0
0
29
3
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
0
15
0
0
0
2
1
-22
-3
0
6
0
0
0
0
-1
0
8
-10
20
0
0
0
-3
0
-6
-5
20
14
0
0
0
0
0
2
5
-48
15
0
0
0
0
0
0
-22
-31
-7
0
0
0
0
0
0
0
-15
-12
0
0
0
0
0
0
2
0
-13
0
0
0
0
1
0
7
2
23
0
0
0
0
0
0
5
-24
13
0
0
0
0
0
1
-1
-4
20
0
0
0
-4
0
0
1
8
10
0
0
0
0
0
-1
-1
3
-7
0
0
0
0
0
0
-4
-8
-4
0
0
0
0
0
0
0
0
8
0
0
0
12
0
0
-1
-4
-7
0
0
0
0
0
-1
0
0
8
0
0
0
0
0
-3
-5
-1
-14
0
0
0
0
0
-3
3
-5
-4
0
0
0
-2
0
1
-1
-5
-21
0
0
0
0
0
0
0
-13
19
0
0
0
0
0
0
0
-8
24
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
5
-10
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-4
-30
-13
0
0
0
0
0
0
0
8
8
0
0
0
1
0
0
1
1
-25
0
0
0
0
0
0
-1
-8
-2
0
0
0
0
0
0
0
-5
-13
0
0
0
0
0
0
0
-3
5
0
0
0
4
0
3
0
0
14
0
0
0
0
0
0
0
2
0
0
0
0
0
0
23
-32
4
34
0
0
0
0
0
-1
16
-1
14
0
0
0
0
1
-2
-42
7
-5
0
0
0
0
4
-4
-4
-6
24
0
0
0
0
0
0
7
-4
-13
0
0
0
0
1
2
8
-12
-6
0
0
0
0
0
-3
-1
19
15
0
0
0
0
3
1
-3
4
-3
0
0
0
0
0
-2
1
6
-8
0
0
0
0
0
-2
-2
10
-2
0
0
0
0
0
0
-7
-3
6
0
0
0
0
-2
0
7
-4
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
1
5
-3
0
0
0
0
0
0
0
0
14
0
0
0
0
1
-2
-1
1
0
0
0
0
0
1
-1
-1
-2
-12
0
0
0
0
1
0
0
0
26
0
0
0
0
0
0
-3
3
-13
0
0
0
0
0
-1
-4
20
1
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
-20
2
0
0
0
0
0
-1
0
9
9
0
0
0
0
0
0
2
-3
8
0
0
0
0
0
2
0
-3
9
0
0
0
0
-3
0
0
3
-20
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
2
-1
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-17
-12
22
19
30
0
0
0
0
-3
-3
9
-24
1
0
0
0
4
0
0
-6
-35
5
0
0
0
0
-1
2
2
8
-7
0
0
-17
0
0
4
-5
8
-2
0
0
0
0
0
-1
-4
-9
13
0
0
0
0
0
0
0
-7
25
0
0
0
0
0
-1
1
-6
7
0
0
-1
0
1
-1
3
6
66
0
0
0
0
1
1
-7
8
-6
0
0
0
2
0
0
0
8
13
0
0
0
0
0
0
1
-9
-2
0
0
3
0
0
0
-19
20
7
0
0
0
0
0
0
-1
2
-21
0
0
0
0
0
0
0
-2
-32
0
0
0
0
0
2
-1
0
31
0
0
4
0
0
4
1
22
-41
0
0
0
0
-1
-3
-8
19
46
0
0
0
0
0
0
-1
-13
4
0
0
0
0
0
0
0
-2
-2
0
0
-7
0
0
3
-14
-31
35
0
0
0
0
4
0
8
5
-6
0
0
0
0
0
0
2
-4
15
0
0
0
0
0
-1
4
3
5
0
0
0
0
0
12
-4
-22
31
0
0
0
0
1
0
-2
15
5
0
0
0
0
0
3
0
-22
-28
0
0
0
0
0
0
3
0
-10
0
0
-4
0
0
0
14
34
31
0
0
0
0
0
-1
6
0
8
0
0
0
0
0
-2
-9
7
-16
0
0
0
0
0
0
1
-8
10
0
0
0
0
5
18
-8
-35
3
0
0
0
0
-1
-14
5
27
-6
0
0
0
0
0
-1
-3
8
-13
0
0
0
0
-2
1
8
-7
30
0
0
0
0
-1
-4
0
8
4
0
0
0
0
0
-2
0
2
-3
0
0
0
0
0
0
4
-6
13
0
0
0
0
0
0
-2
-8
-5
0
0
0
0
0
-5
-1
23
-17
0
0
0
0
0
0
3
-7
2
0
0
0
0
0
0
-8
-8
3
0
0
0
0
0
0
-2
-4
21
0
0
0
0
0
6
1
16
4
0
0
0
0
2
2
0
-12
5
0
0
0
0
-1
0
-2
-3
-5
0
0
0
0
0
0
0
3
-21
0
0
0
0
-1
-1
-17
-35
10
0
0
0
0
0
-1
0
-33
25
0
0
0
0
0
0
2
-9
-31
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
-1
0
-10
41
0
0
0
0
0
1
0
-5
-2
0
0
0
0
0
0
-1
-6
7
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
8
9
-28
0
0
0
0
0
1
1
-5
41
0
0
0
0
0
0
1
-1
-5
0
0
0
0
0
1
2
-4
-32
0
0
0
0
0
1
2
-9
22
0
0
0
0
0
-2
0
8
25
0
0
0
0
0
-1
-3
-5
-2
0
0
0
0
0
0
0
22
-1
0
0
0
-4
-5
-1
32
-2
-42
0
0
0
0
1
-2
-3
-9
15
0
0
0
24
0
0
-18
-16
-5
0
0
0
0
0
0
5
0
-5
0
0
0
0
0
1
7
-9
0
0
0
0
0
0
0
-13
-12
24
0
0
0
-10
0
0
-3
6
-16
0
0
0
0
0
0
0
0
2
0
0
0
0
2
1
8
10
5
0
0
0
0
0
-2
1
-10
-19
0
0
0
-8
0
1
-4
-8
-8
0
0
0
0
0
2
5
0
4
0
0
0
0
0
0
8
5
-7
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
-1
0
1
-3
0
0
0
0
-2
0
5
1
-3
0
0
0
0
0
0
-10
-15
-10
0
0
0
0
0
0
5
2
37
0
0
0
-5
0
-1
-22
-10
13
0
0
0
0
0
0
3
-16
-15
0
0
0
0
0
0
-4
7
4
0
0
0
0
0
0
-1
13
27
0
0
0
7
0
-1
0
-20
0
0
0
0
0
0
0
2
0
-7
0
0
0
0
0
-1
1
-6
33
0
0
0
0
0
0
1
2
0
0
0
0
-1
0
0
3
-13
-15
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
-3
-3
28
0
0
0
5
0
0
0
-5
37
0
0
0
0
0
-1
0
-6
5
0
0
0
0
-5
-9
-28
-13
2
0
0
0
0
-8
-1
-1
3
-14
0
0
0
0
1
1
16
-37
32
0
0
0
0
5
0
8
2
22
0
0
0
0
0
-2
1
8
8
0
0
0
0
0
1
-1
2
4
0
0
0
0
0
0
0
-14
5
0
0
0
0
1
-1
3
0
-1
0
0
0
0
0
-2
5
8
6
0
0
0
0
0
1
0
8
-8
0
0
0
0
1
0
0
3
24
0
0
0
0
-1
0
-6
-1
-10
0
0
0
0
0
0
-4
1
5
0
0
0
0
0
-2
0
1
-6
0
0
0
0
0
1
-1
-2
13
0
0
0
0
-1
0
0
1
6
0
0
0
0
-2
-3
8
5
24
0
0
0
0
-2
0
0
41
11
0
0
0
0
0
0
-4
-3
4
0
0
0
0
0
0
-4
-12
-15
0
0
0
0
0
0
4
1
3
0
0
0
0
1
0
2
-7
5
0
0
0
0
0
2
0
-8
2
0
0
0
0
-2
0
2
7
8
0
0
0
0
0
3
2
-4
-2
0
0
0
0
0
0
2
-9
6
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
-1
-8
-21
0
0
0
0
0
0
2
-5
8
0
0
0
0
1
0
0
-3
-4
0
0
0
0
0
1
1
4
-2
0
0
0
0
6
2
1
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
-4
12
30
-20
-1
-12
-31
0
0
13
-11
-16
8
-57
-7
23
0
16
-3
-6
-10
13
-62
7
31
0
0
-15
5
22
-34
18
4
37
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-3
42
5
-28
-16
30
0
0
0
8
4
-27
-25
22
20
0
0
-4
-32
-17
-14
24
32
-32
0
0
0
14
-29
34
-16
24
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
3
-11
-5
-20
37
0
0
0
0
-7
8
-9
-11
19
0
0
0
-10
4
1
0
-8
-5
0
0
0
0
3
-3
-42
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
5
2
-56
10
31
0
0
0
0
4
-17
0
-17
3
0
0
0
0
8
17
-5
-69
-18
0
0
0
0
-1
-20
5
29
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
23
6
5
-43
3
-20
0
0
-4
-1
-7
-11
-14
27
44
0
0
-2
-10
8
-22
29
55
54
0
0
-6
8
4
5
-18
-27
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
10
-14
44
-36
0
0
0
17
-6
-2
5
13
-31
0
0
0
0
0
16
-14
-14
31
0
0
0
-4
9
5
-15
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-27
-4
0
0
0
0
2
-8
2
-46
-12
0
0
0
0
1
0
-5
12
-3
0
0
0
0
1
-5
-4
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
43
0
0
0
0
0
0
0
14
-5
0
0
0
0
0
0
3
-6
-13
0
0
0
0
-6
0
-2
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-25
-6
13
-31
-57
54
0
0
-8
8
8
12
31
7
-16
0
-10
-2
1
-5
-64
6
45
-4
0
0
-1
-1
19
-13
2
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
-6
-16
17
0
0
0
2
-2
5
-4
-1
21
0
0
-3
0
2
-5
1
31
-74
0
0
0
1
-1
-2
-3
18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-2
-13
44
0
0
0
0
0
0
-9
19
-18
0
0
0
-7
0
0
25
-41
7
0
0
0
0
1
0
0
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-13
-10
0
0
0
0
0
0
2
-4
14
0
0
0
1
0
0
-1
-15
13
0
0
0
0
0
0
-2
-3
-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
1
-13
42
9
41
0
4
0
0
-13
-13
13
-9
48
-23
31
0
0
1
-2
-9
15
-12
-10
8
0
0
10
-5
-15
-24
-16
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-8
22
-17
0
0
0
0
-3
24
5
-12
25
0
0
0
0
0
-14
9
8
-14
0
0
0
-6
5
-7
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-5
3
0
0
0
0
1
-5
1
16
15
0
0
0
0
1
0
0
16
-19
0
0
0
0
-8
1
-6
5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
8
0
0
0
0
0
1
0
-24
9
0
0
0
0
0
0
2
9
-2
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-13
-8
-17
-4
-16
21
0
0
-2
2
20
18
-92
-28
21
0
2
0
-3
-15
6
34
1
-48
0
0
0
0
8
3
6
-12
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-12
-2
24
-6
49
0
0
0
0
3
-9
-10
6
-33
0
0
1
0
1
13
8
31
9
0
0
0
0
0
2
-1
8
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
1
-27
-35
0
0
0
0
0
3
-1
21
-20
0
0
0
0
0
-5
2
-5
1
0
0
0
0
0
0
-13
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
18
-27
44
0
0
0
0
0
-2
3
-3
9
0
0
0
-1
0
0
4
0
-19
0
0
0
0
0
-1
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
14
-41
-25
-93
49
0
0
0
13
-7
14
2
-22
28
0
0
0
1
6
7
5
-66
53
0
0
0
-5
14
-27
7
43
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-3
-6
-17
4
0
0
0
-1
-14
-2
-8
-24
-16
0
0
0
0
-1
0
4
22
19
0
0
0
0
-8
-1
4
14
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-20
-23
0
0
0
0
2
-4
-5
-9
-15
0
0
0
0
0
-1
-9
-30
1
0
0
0
0
0
-1
-1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-15
0
0
0
0
0
0
-1
-7
13
0
0
0
0
0
0
-1
-5
7
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
3
9
4
3
2
0
0
0
0
3
-40
10
56
16
0
-20
0
5
-3
6
24
10
-52
0
0
0
5
18
-6
-6
-47
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
14
-14
13
0
0
0
0
0
-7
9
-8
-20
0
0
2
0
-3
20
1
-5
-19
0
0
0
0
0
0
-5
-9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
8
-19
0
0
0
0
0
-2
4
6
1
0
0
0
-5
0
0
-4
12
16
0
0
0
0
0
-2
3
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-22
6
0
0
0
0
0
0
0
-4
6
0
0
0
8
0
-1
1
10
-9
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
3
3
58
-50
0
0
0
1
-4
0
13
-29
25
0
0
0
-1
6
1
-1
32
32
0
0
-13
-5
7
-1
0
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-8
-4
2
0
0
0
2
0
-5
6
-1
17
0
0
0
-1
0
-8
-4
2
-12
0
0
0
1
-4
-3
3
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
12
5
0
0
0
0
-1
5
-3
-1
7
0
0
0
0
0
2
10
-29
2
0
0
0
0
0
5
5
8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-7
-12
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
-2
2
0
-1
0
0
0
0
1
1
1
4
-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
7
0
0
-13
-14
-29
45
52
0
0
0
-1
-4
28
-31
6
-31
0
0
0
0
0
1
-2
33
-72
0
0
0
0
17
-10
7
14
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
4
-9
28
-1
0
0
0
1
-4
-4
-25
-14
56
0
0
0
0
3
-10
13
-3
-14
0
0
0
0
1
-1
-1
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
4
27
14
-23
0
0
0
0
3
1
-1
-20
-30
0
0
0
0
0
0
-1
8
-1
0
0
0
0
0
0
0
-6
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-9
9
24
0
0
0
0
-1
1
1
5
15
0
0
0
0
0
-2
-6
-16
27
0
0
0
0
0
0
1
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-13
14
-22
0
0
0
-2
3
-8
-30
25
-25
0
0
0
1
0
-1
-10
5
-4
0
0
0
0
0
3
0
9
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
-17
12
16
-18
0
0
0
0
3
4
-9
-18
-7
0
0
0
0
-2
3
9
-3
44
0
0
0
2
4
1
0
12
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-31
-35
0
0
0
0
-1
0
0
-6
8
0
0
0
0
0
0
1
9
-14
0
0
0
0
-1
0
0
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
5
-19
0
0
0
0
0
0
0
14
-13
0
0
0
0
0
0
2
-2
24
0
0
0
0
0
1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
4
50
-45
0
0
0
0
2
-20
14
50
7
0
0
5
0
3
15
7
-31
-29
0
0
0
0
-2
9
4
4
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
22
-33
0
0
0
0
0
-4
6
8
31
0
0
1
0
0
-13
-2
-19
-52
0
0
0
0
0
3
-1
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-25
15
0
0
0
0
0
0
-3
-1
27
0
0
0
0
0
1
-5
-8
-8
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-3
45
0
0
0
0
0
-1
-5
9
2
0
0
0
-2
0
0
1
-2
3
0
0
0
0
0
0
-7
5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-23
9
19
0
0
0
-1
0
-9
7
6
-16
0
0
0
1
0
10
-8
5
0
0
0
0
1
-5
12
17
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
9
-11
-5
0
0
0
-2
0
9
1
16
24
0
0
0
0
0
13
1
-22
4
0
0
0
3
-2
-10
6
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-13
0
0
0
0
2
0
-10
3
-10
0
0
0
0
0
-1
0
-1
-6
0
0
0
0
0
0
0
-1
-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
1
-9
20
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
4
-6
34
0
0
0
0
-4
-6
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
4
16
-42
63
-35
0
0
0
0
-1
-8
-15
26
50
0
0
0
0
0
-6
9
21
9
0
0
0
0
0
8
-2
-12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
-17
18
-8
-5
0
0
0
1
5
18
2
9
-40
0
0
-2
0
-1
-2
6
16
2
0
0
0
0
1
-1
-1
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
-7
-1
-4
45
0
0
0
0
0
4
8
2
-8
0
0
0
0
0
0
-1
-5
41
0
0
0
0
0
0
-1
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-2
1
0
0
0
0
0
1
1
1
-5
0
0
0
-1
0
0
8
4
-41
0
0
0
0
0
-1
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-17
23
7
0
0
0
0
3
-4
-29
5
69
0
0
0
0
0
0
2
8
34
0
0
0
0
-2
5
-4
6
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
1
2
6
1
16
-9
0
0
0
-2
0
-7
-17
-43
22
0
0
0
0
0
-1
0
16
7
0
0
0
0
6
2
0
-4
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-7
22
0
0
0
0
1
1
-1
-13
33
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
2
0
0
-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
-2
4
4
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
-2
2
0
0
0
0
-1
0
-1
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
2
-4
28
9
0
0
0
0
0
2
18
25
9
0
0
-8
0
0
-3
1
-4
-10
0
0
0
0
0
0
0
9
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
-2
-13
-17
0
0
0
0
-1
-1
0
20
46
0
0
12
0
0
-5
-8
0
-19
0
0
0
0
0
-1
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
21
0
0
0
0
0
0
1
-8
-3
0
0
0
-2
0
0
-2
4
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-13
0
0
0
0
0
0
0
0
24
0
0
0
-4
0
0
0
1
-1
0
0
0
0
0
0
0
-4
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-19
25
-47
0
0
0
0
-5
-2
3
-17
22
0
0
0
0
-1
-3
-7
3
-13
0
0
0
0
1
-5
5
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
10
-36
0
0
0
0
-2
-2
0
23
-37
0
0
0
0
6
-4
0
8
11
0
0
0
7
0
-5
0
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
0
0
0
0
0
3
-2
7
-2
0
0
0
0
0
1
0
0
-12
0
0
0
0
0
-4
3
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
5
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
1
-1
0
-3
0
0
0
0
3
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-11
10
-31
-8
0
0
0
0
0
5
-9
-10
24
0
0
0
1
-1
-8
-24
-9
25
0
0
0
0
0
3
-9
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-42
30
0
0
0
0
-1
4
9
-17
-7
0
0
0
0
0
1
-7
1
-7
0
0
0
0
0
1
-10
-5
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
-4
25
-21
0
0
0
0
0
-2
-18
15
2
0
0
0
0
0
-1
0
-9
5
0
0
0
0
0
-1
-6
13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
41
-12
0
0
0
0
1
-17
10
-5
-5
0
0
0
0
0
1
14
-22
10
0
0
0
0
1
1
-7
-19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
18
23
0
0
0
0
0
1
2
-15
-53
0
0
0
0
0
-5
5
8
7
0
0
0
0
-1
5
1
31
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
8
-13
0
0
0
0
0
0
-8
-14
6
0
0
0
0
0
0
5
8
25
0
0
0
0
0
1
4
6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-2
0
0
0
0
0
0
1
2
-20
0
0
0
0
0
0
1
-13
23
0
0
0
0
0
0
0
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
25
-12
0
0
0
0
0
1
-2
-2
6
0
0
0
0
0
0
-1
6
29
0
0
0
0
1
2
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-8
-41
-16
0
0
0
0
0
0
0
-7
34
0
0
0
0
0
0
-4
-10
17
0
0
0
0
0
1
-2
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
3
-37
0
0
0
0
0
0
6
2
-18
0
0
0
0
0
-1
-2
5
19
0
0
0
0
0
0
4
1
-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
-17
21
54
0
0
0
0
0
0
1
-10
-13
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
-4
0
0
0
0
0
0
1
23
8
0
0
0
-2
0
0
-6
5
-5
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
7
0
0
0
0
0
0
4
7
-10
-13
0
0
0
0
0
1
1
-2
29
0
0
0
0
0
-4
1
3
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
22
0
0
0
0
0
-2
0
-14
-7
0
0
0
0
0
-1
1
3
2
0
0
0
0
1
-8
5
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
16
0
0
0
0
0
2
-9
-15
13
0
0
0
0
0
0
2
-17
25
0
0
0
0
0
0
5
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
12
0
0
0
0
0
0
1
-5
-5
0
0
0
0
0
0
3
0
17
0
0
0
0
0
0
-4
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
9
18
-50
0
0
0
0
0
-1
21
-13
-17
0
0
0
0
0
0
-8
13
-8
0
0
0
0
0
0
0
5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
-4
34
2
0
0
0
0
0
0
25
-23
-2
0
0
0
0
0
4
-18
-19
19
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
-46
41
0
0
0
0
0
0
-2
-20
6
0
0
0
2
0
-2
3
9
-19
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
22
-19
0
0
0
0
-2
0
1
-2
-3
0
0
0
-1
0
1
0
2
-19
0
0
0
0
0
0
-1
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
10
2
0
0
0
0
-4
3
-8
-19
1
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
-4
0
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-10
-25
0
0
0
0
0
1
3
-30
-15
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
-7
-1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
-2
0
0
0
0
0
1
0
-34
31
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
1
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-34
15
0
0
0
0
0
0
2
-10
-6
0
0
0
0
0
2
2
-2
0
0
0
0
0
-1
0
1
4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
-7
-21
0
0
0
0
0
-2
-3
20
18
0
0
0
18
0
0
-1
26
17
0
0
0
0
0
1
1
-42
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-14
31
0
0
0
0
0
0
5
-7
1
0
0
0
-1
0
1
-2
-17
14
0
0
0
0
0
0
4
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-5
0
0
0
0
0
0
0
-23
4
0
0
0
1
0
0
0
-16
8
0
0
0
0
-1
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-6
0
0
0
0
0
0
-1
8
-6
0
0
0
1
0
0
3
-24
30
0
0
0
0
0
-1
0
-24
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
4
0
0
0
0
0
3
6
12
2
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
-2
4
10
6
-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
-4
-10
6
0
0
0
0
0
-3
0
13
-3
0
0
0
0
0
0
-4
3
8
0
0
0
0
7
10
2
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
1
0
0
0
0
0
2
0
-12
16
0
0
0
0
0
0
0
-2
6
0
0
0
0
1
3
-1
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-6
0
0
0
0
0
1
0
-8
-10
0
0
0
0
0
2
-5
4
8
0
0
0
0
-2
0
5
-5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
5
-5
-21
4
0
0
0
0
0
-8
-17
16
9
0
0
0
0
0
0
-3
3
13
0
0
0
0
0
4
6
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
5
35
0
0
0
0
-1
-5
-7
7
-5
0
0
0
0
0
2
1
-16
-4
0
0
0
0
0
0
0
-12
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
14
-14
0
0
0
0
0
0
-8
27
13
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
1
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-8
25
0
0
0
0
0
-5
2
13
-21
0
0
0
0
0
0
1
-1
-7
0
0
0
0
0
1
1
4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
16
0
0
0
0
0
0
-3
0
5
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-8
41
0
0
0
0
0
0
-3
6
-16
0
0
0
0
0
0
0
-4
8
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
5
0
0
0
0
0
0
0
-16
5
0
0
0
0
0
0
0
-16
13
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
4
-24
-16
0
0
0
0
0
0
2
18
-50
0
0
0
0
0
0
-2
-10
21
0
0
0
0
0
-1
0
16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-9
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
-2
1
-25
-6
0
0
0
0
0
0
-3
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-14
4
0
0
0
0
0
0
3
12
-35
0
0
0
0
0
0
3
-22
8
0
0
0
0
-3
0
-2
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
-16
0
0
0
0
-1
-2
0
9
24
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-4
0
0
0
0
-1
0
0
-6
6
0
0
0
-1
0
0
-8
5
8
0
0
0
0
0
0
0
2
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
-8
-15
0
0
0
0
0
-1
4
12
18
0
0
0
0
0
1
0
-4
3
0
0
0
0
-1
2
-5
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
1
-25
-2
0
0
0
0
0
0
4
0
9
0
0
0
0
5
-1
4
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
13
0
0
0
0
0
-1
-2
30
7
0
0
0
0
0
-1
0
-1
5
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-9
0
0
0
0
0
3
1
-25
-5
0
0
0
0
0
0
-9
0
10
0
0
0
0
7
0
-2
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
7
-6
-14
0
0
0
0
0
0
3
12
8
0
0
0
-2
0
1
0
1
3
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-8
0
35
20
0
0
0
0
0
5
2
0
20
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-5
20
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
15
16
0
0
0
0
1
-2
-1
-2
4
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
-25
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
7
8
0
0
0
0
0
0
-3
6
14
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
17
19
0
0
0
0
0
0
2
21
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
3
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
26
0
0
0
0
0
0
-1
-9
5
0
0
0
0
0
0
0
12
-2
0
0
0
0
0
-1
1
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
12
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
0
-25
0
0
0
0
0
1
6
0
6
0
0
0
5
0
-1
0
5
-17
0
0
0
0
0
1
-3
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
2
0
0
0
0
0
0
0
-2
32
0
0
0
-3
0
0
0
-10
-7
0
0
0
0
0
0
0
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-8
31
0
0
0
0
0
0
0
-5
0
0
0
0
6
0
0
0
-18
18
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
3
0
0
0
0
0
1
-1
3
3
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
1
4
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
3
3
4
0
0
0
0
0
0
-5
-1
-20
0
0
0
0
2
0
1
8
-5
0
0
0
0
-13
-2
10
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-6
0
0
0
0
0
1
0
-12
7
0
0
0
0
0
-1
-1
4
2
0
0
0
0
1
5
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
20
0
0
0
0
-1
0
0
2
19
0
0
0
0
-1
0
3
8
-6
0
0
0
0
3
3
2
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
4
33
19
-14
11
0
14
6
0
0
-25
32
18
-22
12
49
-19
0
-2
-1
-1
-1
17
38
-37
13
0
0
10
-3
-14
22
-12
-15
26
-8
4
0
4
1
18
-33
-29
-7
0
0
1
-14
-16
-15
-30
-25
70
0
13
-5
-13
-4
-23
11
-5
-27
0
0
-19
-22
8
-18
7
51
8
10
0
0
-24
-9
13
7
-9
0
0
0
-8
-4
10
-17
21
14
0
0
6
0
5
-13
10
45
-22
0
0
0
1
3
-6
-14
-9
64
0
1
3
1
16
16
-29
19
-39
0
0
0
0
-5
6
-20
13
13
0
0
-2
-14
-10
15
-8
8
5
0
0
0
8
-8
-3
-13
25
-1
0
-17
6
-1
-49
26
-31
38
0
0
0
0
1
-1
-19
17
21
0
0
0
-4
0
4
-10
5
-15
0
0
0
0
1
-5
8
5
9
0
0
8
-3
0
-8
-15
-5
-47
0
0
0
0
0
-2
18
-36
34
0
0
0
5
2
-3
1
-11
1
0
0
0
0
-1
24
-23
13
-15
0
0
1
0
0
-13
27
15
4
0
0
0
0
-5
1
-5
17
20
0
0
0
8
0
-1
-10
5
-15
0
0
0
0
8
21
-5
-14
8
0
0
-6
-3
0
-8
24
4
13
0
0
0
0
-1
-7
-5
0
41
0
0
0
-15
5
-3
-7
-8
8
0
0
0
0
9
0
21
-20
35
0
0
0
0
-1
17
-9
-7
5
-26
39
0
0
7
4
-5
-4
16
84
-13
0
0
0
0
-3
8
-6
-37
-8
0
0
6
-1
2
9
17
-25
16
0
0
0
0
-8
-28
-20
-24
70
0
0
0
1
-2
-16
12
-44
6
0
0
0
0
0
7
-5
66
-12
0
0
0
1
3
2
2
-2
-13
0
0
0
-1
-5
-7
-10
-38
0
0
0
0
0
0
7
-20
-17
0
0
0
1
0
-1
-1
9
-16
0
0
0
0
-1
0
-3
12
0
0
0
0
0
2
0
-12
8
13
0
0
0
0
0
-2
-8
0
-58
0
0
0
0
0
0
-1
7
-13
0
0
0
1
0
0
0
-1
-3
0
0
0
-1
-3
3
-9
29
0
0
0
0
0
-1
2
-9
14
0
0
0
0
0
0
0
-22
17
0
0
0
0
-2
0
1
-1
9
0
0
0
0
-1
0
4
-8
1
0
0
0
0
-2
0
0
1
3
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
-1
-3
-3
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
1
-1
-13
0
0
0
0
2
0
-1
-2
9
0
0
0
0
1
0
0
-1
5
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
1
-2
0
0
0
0
-1
0
0
0
0
0
0
0
-12
-3
4
-16
-17
28
-7
41
0
0
0
-4
-2
5
3
19
-18
0
5
0
1
10
-28
-9
-49
31
0
0
-1
0
-4
-8
-22
10
67
0
0
0
1
-4
-31
-20
31
-1
0
0
0
0
-2
7
2
41
-9
0
0
0
0
8
6
-17
-29
-19
0
0
0
0
0
1
-2
17
-58
0
0
0
0
-3
5
22
-13
0
0
0
0
0
-1
-5
-17
-32
0
0
1
0
1
-5
-3
34
7
0
0
0
0
0
5
1
10
4
0
0
-1
0
0
2
5
3
-43
0
0
0
0
0
-1
-1
9
-14
0
0
0
0
0
1
0
-12
34
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-17
1
-5
0
0
0
0
0
0
0
7
13
0
0
0
0
0
0
-8
14
7
0
0
0
0
0
0
0
14
-7
0
0
0
0
0
0
2
-2
-4
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
1
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
27
0
0
0
0
0
0
-3
0
-19
0
0
0
0
0
-2
0
-7
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
1
-8
0
0
0
-6
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
-17
-28
3
33
-56
0
0
-2
-3
-2
-17
-4
18
44
0
0
1
0
8
18
-15
1
19
0
0
0
-2
8
5
0
3
-5
0
0
0
1
0
13
18
-8
25
0
0
-1
0
-2
10
-5
8
2
0
0
0
0
-2
0
-1
-9
40
0
0
0
0
1
2
-4
-13
-14
0
0
0
-1
3
-7
-7
-8
0
0
0
-1
0
-2
8
8
-9
0
0
0
0
0
1
-3
-10
6
0
0
0
0
0
-6
-5
24
5
0
0
0
0
-1
0
-1
7
-32
0
0
0
0
0
1
-1
-17
7
0
0
0
0
0
1
-1
4
-1
0
0
0
0
1
0
0
6
-19
0
0
0
0
0
-2
10
2
0
0
0
0
0
0
3
12
27
0
0
0
0
0
0
3
-8
-4
0
0
0
0
1
0
-2
5
2
0
0
0
0
0
0
0
3
4
0
0
0
0
0
1
1
1
5
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
12
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
-2
0
2
-14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
-8
0
0
0
-1
25
-30
-11
17
0
0
0
-10
-1
-8
-1
14
88
0
0
0
-1
-13
5
-22
41
-14
0
0
0
0
1
12
32
2
5
2
0
0
-4
-2
0
0
25
0
0
0
-1
0
3
-22
-1
31
-17
0
-1
0
3
3
-27
3
13
-11
0
0
0
0
-5
-7
0
-55
41
-2
0
0
4
6
-41
8
21
0
0
0
0
0
0
-9
14
-22
0
0
0
0
0
-13
-12
2
-7
0
0
0
0
0
2
-2
4
10
0
1
0
0
0
-1
0
7
-8
0
0
0
0
0
0
0
2
-29
0
0
0
0
0
-1
-2
0
-31
0
0
0
0
0
0
2
4
9
0
2
-1
0
-6
-8
9
-10
0
0
0
0
0
1
-1
31
1
0
0
0
0
0
0
-9
-17
5
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
5
3
15
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
7
-2
12
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
-8
12
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-2
-4
-27
0
0
0
0
0
0
0
1
1
0
0
1
0
0
1
0
3
-21
0
0
0
0
0
0
1
0
0
0
0
0
1
0
-1
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-10
7
1
-14
-35
67
0
0
2
6
-4
-19
-16
-14
-35
0
0
0
-1
-1
4
0
-5
31
0
0
-2
6
4
7
-1
13
-6
0
0
0
0
-1
10
-13
7
-42
0
0
0
0
0
-1
1
-95
61
0
0
0
0
0
-10
0
37
22
0
0
0
0
0
0
0
25
-13
0
0
0
0
1
7
-2
-12
0
0
0
0
0
-1
-7
5
-29
0
0
0
0
0
0
1
-2
-4
0
0
0
2
0
1
5
4
21
0
0
0
0
0
0
1
5
-41
0
0
0
0
0
1
-2
0
-3
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-25
-12
42
0
0
0
0
0
0
5
-5
19
0
0
0
0
0
0
3
-13
-6
0
0
0
0
0
0
1
2
13
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
18
-8
0
0
0
0
0
0
-2
-1
-8
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-31
10
-58
-9
0
0
0
0
0
21
-5
-48
-3
0
0
0
0
-1
-6
13
31
-24
0
0
0
0
-3
3
5
4
8
0
0
0
-1
-2
10
0
0
-22
0
0
0
0
0
-7
2
-16
47
0
0
0
-1
0
4
0
2
-13
0
0
0
0
0
-1
0
-13
28
0
0
0
0
2
-19
-1
-7
0
0
0
0
0
0
-10
1
-12
0
0
1
0
-1
-1
14
4
17
0
0
0
0
0
-1
-3
-8
-31
0
0
0
0
0
-1
0
-2
-13
0
0
0
0
0
0
-2
0
31
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
-2
1
0
-8
0
0
0
0
-2
-1
5
8
0
0
0
0
0
0
0
24
-7
0
0
0
0
0
0
0
-25
10
0
0
0
0
0
0
1
-8
2
0
0
0
0
0
0
1
2
-4
0
0
0
0
0
0
0
-2
3
0
0
0
1
0
0
0
-3
4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
1
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
5
1
29
-5
-9
-6
0
0
1
-5
1
-23
0
3
17
0
0
0
0
-1
-8
-6
9
-1
0
0
0
2
8
-17
-8
22
-10
0
0
0
1
0
0
3
-35
27
0
0
0
0
1
3
-1
-29
-16
0
0
0
2
-2
-3
0
35
12
0
0
0
-6
4
0
0
6
36
0
0
0
0
0
0
2
35
0
0
0
0
0
0
22
7
-4
0
0
0
0
0
0
13
1
5
0
0
0
0
-3
3
-5
5
-12
0
0
0
0
0
0
-1
-1
37
0
0
0
0
1
0
-1
1
53
0
0
0
0
0
-2
0
0
13
0
0
0
0
-7
3
0
0
-7
0
0
0
0
0
-6
-12
-8
0
0
0
0
0
1
0
-1
-8
0
0
0
0
0
0
1
-8
-7
0
0
0
0
0
0
-4
-4
4
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
-7
0
-1
-1
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
3
-1
0
0
-5
0
1
-5
8
12
-13
66
0
0
0
-2
-4
10
-31
45
-82
0
0
-1
2
-1
-6
-39
-18
76
0
0
0
0
-2
-5
-12
57
-68
0
0
0
0
-2
4
-15
5
18
0
0
0
0
0
-9
-22
-5
-10
0
0
0
0
0
1
25
12
4
0
0
0
0
2
0
-8
0
-7
0
0
0
0
1
-4
-10
-12
45
0
0
0
0
0
25
-17
4
48
0
0
0
0
0
0
-8
6
2
0
0
0
0
-2
2
0
-13
-5
0
0
0
0
2
6
-6
-19
36
0
0
0
0
1
0
1
-5
-11
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
-2
0
-1
-49
0
0
0
0
0
-6
13
44
0
0
0
0
0
0
9
4
10
0
0
0
0
0
0
-1
2
-10
0
0
0
0
0
0
1
1
3
0
0
0
0
0
-1
-3
6
-32
0
0
0
0
0
0
-3
1
-2
0
0
0
0
0
0
1
-10
-5
0
0
0
0
0
0
-2
1
2
0
0
0
0
0
1
17
3
35
0
0
0
0
0
0
-2
4
31
0
0
0
0
0
0
1
4
-21
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
-1
7
3
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
-12
2
-44
-21
0
0
0
-1
0
0
-13
28
43
0
0
0
1
0
0
9
0
-13
0
0
0
0
0
-6
-4
-18
8
0
0
0
0
0
-3
0
-9
22
0
0
0
0
0
-5
-29
7
-18
0
0
0
0
0
2
0
29
14
0
0
0
0
0
2
-10
7
-4
0
0
0
0
1
0
0
8
-4
0
0
0
0
0
1
-1
-1
2
0
0
0
0
0
-2
-1
-5
-47
0
0
0
0
1
0
0
-1
20
0
0
0
0
0
4
0
-6
-34
0
0
0
0
0
0
1
7
-50
0
0
0
0
0
0
0
-2
27
0
0
0
0
0
0
0
0
-42
0
0
0
0
1
0
12
-6
0
0
0
0
0
0
0
12
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
4
0
0
0
0
0
1
1
-2
22
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
1
21
0
0
0
0
0
0
6
0
-13
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
10
9
12
9
0
0
0
0
1
0
-7
13
-7
0
0
-1
0
0
5
-15
-21
29
0
0
0
0
0
-4
-14
-5
-13
0
0
0
0
1
0
-12
13
4
0
0
0
0
0
0
-5
1
-1
0
0
3
0
0
0
-8
14
8
0
0
0
0
0
0
-2
0
25
0
0
0
0
3
-5
1
20
-28
0
0
0
0
0
0
8
-7
-27
0
0
0
0
0
-3
0
-5
63
0
0
0
0
0
0
0
10
-13
0
0
0
0
0
-2
0
-16
0
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
3
8
10
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
2
8
-41
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
2
-4
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
5
0
0
0
0
-1
0
-6
-16
-5
3
0
0
0
1
0
13
-5
-16
-30
0
0
0
2
0
9
-20
60
-67
0
0
0
-4
1
8
42
-8
-1
0
0
0
0
0
0
-24
-3
-8
0
0
0
0
0
-2
-8
14
-5
0
0
0
0
0
-4
-2
-13
7
0
0
0
1
0
-4
5
13
6
0
0
0
0
0
3
-1
4
19
0
0
0
0
0
0
-3
-3
-3
0
0
0
0
0
0
-3
-26
13
0
0
0
0
0
-2
0
-19
8
0
0
0
0
0
0
0
32
5
0
0
0
0
0
0
-1
25
13
0
0
0
0
0
0
0
19
-2
0
0
0
1
0
0
0
3
13
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-5
24
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
-1
-2
15
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-1
-13
0
0
0
0
-1
0
0
1
7
0
0
4
0
0
0
-5
-8
18
-10
0
0
0
0
0
1
-4
-13
-22
0
0
0
0
0
-1
-1
15
-54
0
0
0
0
0
-4
1
28
-13
0
-1
0
0
0
-14
3
6
-7
0
0
0
0
0
-2
-1
-1
-17
0
0
0
0
0
0
4
2
-25
0
0
0
0
0
-3
0
-1
8
0
-3
0
0
0
-18
-2
13
15
0
0
0
0
0
3
1
22
-13
0
0
0
0
0
-4
0
27
-33
0
0
0
0
0
7
0
31
-7
0
0
0
0
1
-8
-1
9
47
0
0
0
0
0
0
0
-7
72
0
0
1
0
0
0
0
6
-19
0
0
0
0
0
-1
0
1
-23
0
0
0
0
-1
2
-7
-7
0
0
0
0
0
0
2
4
9
0
0
0
0
0
0
0
5
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
2
0
-4
28
0
0
0
0
0
0
0
-5
12
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-5
5
-1
-2
0
0
0
-2
0
0
0
0
-31
0
0
0
0
0
2
-8
-6
12
0
0
0
0
1
-2
0
13
1
0
0
0
0
0
1
-4
1
-28
0
0
0
0
-1
0
0
-6
20
0
0
0
0
0
0
3
-3
-4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
3
30
-18
0
0
0
0
0
0
0
-3
50
0
0
0
0
0
0
0
16
-10
0
0
0
0
0
2
0
4
-13
0
0
0
0
0
-1
1
-15
54
0
0
0
0
0
0
0
8
11
0
0
0
0
-1
0
0
8
-3
0
0
0
0
-1
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
2
0
-18
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
-1
8
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
-9
-6
-1
0
0
0
0
-1
-1
-1
-1
-25
0
0
0
0
0
1
-6
9
-12
0
0
0
0
0
4
0
12
1
0
0
0
0
0
0
-2
-17
-21
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
8
-58
0
0
0
0
0
0
0
8
22
0
0
-2
0
0
0
0
14
-11
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
-2
11
0
0
1
0
0
0
0
1
-30
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
-6
-37
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
6
0
0
0
1
0
0
0
0
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
5
-3
-16
15
0
0
0
0
0
0
4
-3
-47
0
0
0
0
0
6
0
-8
-8
0
0
0
0
2
0
0
7
7
0
0
0
0
0
1
0
2
-5
0
0
0
0
-1
1
0
-4
12
0
0
0
0
0
1
3
0
-4
0
0
0
2
-1
-5
0
0
4
0
0
0
0
0
0
0
3
-19
0
0
0
0
-1
0
-1
0
48
0
0
0
0
0
-4
0
8
13
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
0
-3
-24
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
-22
13
-1
52
0
0
0
0
0
5
3
-7
7
0
0
0
0
0
0
19
0
1
0
0
0
0
-1
3
-10
0
-25
0
0
1
0
0
5
24
9
5
0
0
0
0
0
-2
-5
-8
-6
0
0
0
0
0
-3
2
8
-18
0
0
0
0
0
4
-8
-1
5
0
0
0
0
0
7
-5
10
42
0
0
0
0
-3
0
0
7
10
0
0
0
0
0
0
-5
-3
-5
0
0
0
0
0
-2
-2
5
-8
0
0
0
0
0
4
10
-30
16
0
0
0
0
0
-2
8
-1
18
0
0
0
0
0
0
-1
-1
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
6
28
7
15
0
0
0
0
0
-1
0
7
54
0
0
0
0
0
-3
8
2
13
0
0
0
0
0
-2
-7
-6
3
0
0
0
0
0
2
9
-14
25
0
0
0
0
-1
-5
-1
-27
3
0
0
0
0
0
0
-1
-20
5
0
0
0
0
0
0
-5
4
12
0
0
0
0
0
-17
5
-16
13
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
0
-4
2
2
0
0
0
0
0
1
-1
-20
-19
0
0
0
0
0
-2
3
12
-3
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
-1
-7
-8
0
0
0
0
0
2
0
0
-5
0
0
0
0
1
12
-25
-22
-3
0
0
0
0
-1
1
-1
13
-16
0
0
0
0
0
0
-1
0
17
0
0
0
0
0
0
7
-1
23
0
0
0
0
0
1
-1
0
-19
0
0
0
0
0
-1
0
8
-19
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-6
4
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
17
0
0
0
0
-2
0
-1
-1
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-3
18
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
3
-21
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
-5
12
0
0
0
0
0
2
0
-8
-5
0
0
0
0
0
0
-1
-2
17
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
21
-8
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
-4
5
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
0
0
-1
0
-5
-9
23
0
0
0
0
0
0
0
-7
-16
0
0
0
0
0
0
-7
1
-6
0
0
0
0
0
0
1
-1
19
0
0
0
0
0
-1
2
6
2
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
-1
-3
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
-2
5
34
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
1
-7
20
0
0
0
0
0
0
0
-6
9
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
1
6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
-17
0
0
0
0
0
0
-3
-9
1
0
0
0
0
0
0
0
-23
3
0
0
0
0
0
0
-2
8
-3
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-8
-7
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
-13
16
0
0
0
0
0
0
0
-4
-18
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
12
6
0
0
0
0
0
0
0
-8
-16
0
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
-1
2
-3
-22
0
0
0
0
0
0
3
7
24
0
0
0
0
0
0
-2
-1
1
0
0
-1
0
0
-3
23
-25
5
0
0
0
0
0
0
4
-1
7
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
-5
0
0
-1
0
0
-1
-8
-4
18
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
7
8
-10
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
1
8
6
16
0
0
0
0
0
0
1
5
16
0
0
0
0
0
0
-1
-5
-6
0
0
0
0
0
-1
0
-5
5
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
1
0
4
-9
0
0
0
0
0
0
-1
3
7
0
0
0
0
0
0
0
2
2
0
0
0
0
0
5
0
-16
-12
0
0
0
0
0
0
1
10
4
0
0
0
0
0
-1
3
-10
17
0
0
0
0
0
0
0
-8
6
0
0
-1
0
0
0
0
2
8
0
0
0
0
0
0
-2
15
22
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
-42
8
0
0
0
0
-1
-1
-1
-27
0
0
0
0
0
0
0
-4
23
13
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
-1
-1
-5
4
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
0
0
0
0
0
0
0
-25
6
0
0
0
0
0
0
0
14
25
0
0
0
0
0
-1
0
-12
13
0
0
0
0
0
0
0
5
-24
0
0
0
0
0
-1
0
-5
-2
0
0
0
0
0
0
-1
5
-1
0
0
0
0
0
0
-1
-6
1
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
-1
-4
3
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
14
-14
0
0
0
0
0
0
0
3
-5
0
0
0
-1
0
0
2
1
-1
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-1
6
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-1
3
-1
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
15
9
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-5
22
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
0
-9
-17
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-23
-1
0
0
0
0
0
0
0
-8
12
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
25
-1
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-4
-3
-3
0
0
0
0
0
1
-1
17
1
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-8
1
0
0
0
0
-1
0
0
8
2
0
0
0
0
1
0
2
-2
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
-1
-3
5
0
0
0
0
0
0
-2
6
2
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
-5
3
-21
24
0
0
0
0
0
0
-2
-4
-1
0
0
0
0
0
0
-2
-2
-7
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
-1
-3
27
-17
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
12
-1
-4
14
0
0
0
0
0
0
1
-5
-3
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
1
-3
2
7
0
0
1
0
0
-4
1
14
-8
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
-16
13
0
0
0
0
0
-3
0
8
-8
0
0
0
0
0
0
0
14
2
0
0
0
0
0
0
0
-8
25
0
0
0
0
0
0
8
0
-25
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
3
14
-4
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
5
-12
0
0
0
0
0
0
-1
-2
-8
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
1
1
4
-12
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
3
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
-4
3
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
14
14
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
1
4
4
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
-3
37
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-13
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
1
5
0
0
0
-1
0
0
1
-8
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
6
12
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
33
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
7
-13
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
2
16
0
0
0
0
1
1
-1
0
8
0
0
0
0
0
0
-4
-19
-9
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
-1
1
2
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
17
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-8
-17
0
0
0
0
0
0
0
-13
-7
0
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
0
4
13
0
0
-1
0
0
0
0
-1
16
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
2
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-1
0
1
2
0
0
0
0
0
-6
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-10
9
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
1
20
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
2
4
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
36
32
40
24
16
-1
0
0
0
18
5
-9
19
-40
24
-13
-2
0
0
18
10
-8
-46
-44
-29
23
0
3
0
13
6
14
-3
13
123
-41
21
18
4
4
-3
-1
-10
-6
14
42
52
14
2
-2
-4
-2
-11
-16
-18
-15
29
13
0
-5
4
-23
38
14
26
22
-7
0
0
-63
-80
-35
12
59
-81
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
8
29
43
5
-1
1
1
65
82
128
115
149
32
-15
-5
-25
-52
26
15
96
103
111
75
-2
13
-4
-18
24
31
53
92
48
66
99
-13
5
-3
-6
5
33
46
56
94
86
112
102
-27
4
-2
14
42
69
49
100
114
72
-36
-1
-8
-6
15
43
37
111
80
-8
-87
-41
-25
-7
-33
-17
42
-6
50
0
-57
-13
-37
-43
-54
-32
-20
-15
20
0
0
0
0
0
0
0
0
0
0
0
0
0
4
23
41
34
51
3
-1
2
-2
36
25
63
42
92
136
50
5
8
-41
56
22
41
55
78
84
77
142
-100
-76
-64
-6
5
41
52
65
121
78
61
-5
-65
-1
3
30
41
39
85
132
107
-52
-73
-26
-21
1
12
38
45
97
54
-89
-18
-35
-29
-13
5
11
50
89
75
-61
-10
-15
-14
-24
-26
-39
86
71
9
-19
19
38
-51
-55
-42
-62
-87
49
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
7
1
4
0
1
0
0
-24
-5
-5
11
29
73
20
8
0
-8
36
9
7
19
63
45
-8
35
2
3
19
15
8
78
-7
-19
60
27
-22
-57
-84
-7
28
16
35
-40
-8
101
-6
-105
-17
30
-8
-13
10
52
21
-14
-16
-13
-64
-23
11
3
0
-27
60
7
-6
-51
-34
-55
22
46
-23
-25
21
-1
-7
-31
-18
37
82
-22
-44
-26
0
0
39
24
-2
3
9
61
-33
70
-11
3
1
5
3
0
-2
21
-3
-1
2
-15
-8
12
-23
-9
-3
-8
-7
3
14
-4
-4
-4
-3
20
-1
-17
-16
2
4
0
0
0
-71
24
10
-34
-82
-67
15
-5
69
37
-84
29
11
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-3
35
3
0
0
0
0
0
0
22
42
0
0
0
0
0
0
0
17
16
5
0
0
0
0
0
0
5
31
-8
0
0
0
0
0
0
4
7
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-24
70
0
0
0
0
0
0
38
13
28
1
0
0
0
0
0
9
49
55
3
-1
0
0
2
0
28
-12
78
4
-3
1
0
0
0
-4
-60
48
22
-1
0
1
0
0
-16
55
25
-20
2
0
0
0
0
-1
5
-7
0
-1
0
0
0
0
1
4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-2
17
-2
0
0
0
0
0
25
2
18
19
0
0
4
1
-1
15
13
-35
8
6
-3
0
8
1
-34
1
88
7
1
-8
3
8
-15
27
42
21
22
4
12
-22
22
4
-12
-43
44
31
24
4
-3
-3
-8
25
-22
1
9
12
8
3
0
2
1
-12
4
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
14
-26
0
1
0
-10
0
25
8
1
75
-30
0
-35
28
0
35
26
17
-17
-5
5
-7
-28
-44
-6
40
55
-19
-20
8
-14
-36
2
70
6
11
68
-5
-9
44
33
-32
-18
23
34
45
12
5
16
42
23
14
-14
23
42
-20
7
12
-9
-2
0
-6
10
10
-6
0
-1
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
0
-51
0
-6
1
-5
-1
6
-2
-21
57
47
-40
-5
6
-8
13
1
11
-35
-25
14
-11
0
60
42
12
31
18
5
-1
-31
4
1
-19
-7
44
52
-14
16
-75
-31
-14
46
10
44
-10
-16
6
-5
-14
-5
10
-16
9
55
14
6
25
-19
1
0
7
1
20
2
-7
0
1
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-10
-8
-26
11
12
12
-3
12
2
-3
-3
-16
-77
-6
7
-81
46
26
2
-2
-12
-10
-35
31
132
-43
-12
10
-17
-12
-3
-3
8
13
23
32
29
-1
54
-32
25
-34
-34
-42
-4
22
-8
-10
39
-2
-20
14
-19
-6
6
-2
8
-39
14
-4
-12
3
6
0
0
8
3
13
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-43
-49
-6
0
-32
5
-5
0
3
-21
-77
-31
-32
-22
-8
-1
6
-28
-7
-46
-68
-90
5
9
33
33
-2
27
-13
-19
11
-46
32
15
8
34
59
21
-61
-16
3
39
-8
-4
20
-1
-34
76
16
-5
-16
1
0
0
-1
0
43
-6
-8
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-89
-42
-15
22
-2
-5
-10
-2
12
-98
5
-38
-4
-8
-20
-6
-5
-44
-16
-42
22
-30
32
-14
-8
9
46
49
-42
15
-54
-2
-4
5
-5
6
-24
14
-6
8
16
-15
0
0
0
-7
4
0
-4
-21
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
-1
19
-8
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
5
48
-1
0
0
0
0
0
0
41
35
13
1
0
0
0
0
0
31
108
-21
-2
1
0
0
0
0
64
125
-13
49
-7
0
0
0
0
5
119
24
60
0
1
2
0
0
70
4
41
-35
6
4
1
0
0
7
-8
-13
24
10
-1
0
0
0
18
18
4
7
1
0
0
0
0
-16
-5
0
-1
-3
0
0
0
0
-15
-21
-5
0
0
0
0
0
0
39
-32
12
-7
0
0
0
2
0
66
42
-3
-10
-3
4
1
2
4
53
23
41
32
54
-14
-48
23
5
59
44
33
51
55
42
65
-1
49
45
50
56
105
11
42
91
-12
23
19
121
14
12
47
28
66
-9
-18
17
-17
72
-37
41
21
9
5
0
17
-8
-7
22
15
7
0
0
0
7
19
15
-3
-5
0
0
0
0
83
4
-88
-3
0
0
0
0
0
43
-14
-78
26
7
-3
7
2
0
51
14
27
70
-80
6
-43
61
4
59
53
60
6
30
23
-22
-99
-96
52
52
46
57
-28
36
-1
73
-29
-39
79
86
73
48
5
64
-36
53
3
33
60
108
81
93
9
15
13
25
-63
48
130
53
-8
36
34
-44
-13
-8
-29
23
26
32
2
-5
-1
10
6
7
20
3
2
0
0
0
19
-34
-50
-19
0
3
0
12
-1
44
-1
-26
-7
-40
-58
-59
40
-15
42
17
-19
-20
2
5
-88
-45
-133
50
34
25
12
13
76
-30
-6
7
12
50
25
70
16
-55
88
-68
42
25
64
70
16
-5
14
-63
-31
47
-4
21
38
71
-1
89
32
28
-32
10
90
36
9
78
73
-41
26
5
-31
8
-7
9
86
122
43
-40
1
0
13
15
1
68
-5
2
-3
0
10
-44
-91
-32
-22
-96
3
-25
-1
6
-28
-49
-44
-8
-41
2
-35
52
20
6
-15
21
-4
0
17
24
-17
19
31
-10
-12
-26
28
68
-27
4
5
27
29
1
-11
-31
-18
-84
-15
-7
30
22
22
-25
-37
-44
-8
56
31
37
54
26
-2
-13
-32
-39
70
-45
164
43
8
47
15
-29
-37
-27
-29
68
4
18
70
-13
33
-3
0
0
-2
0
-6
41
-23
0
3
0
17
-66
-161
-88
4
15
-95
-14
-48
-21
-72
-100
-89
-38
-14
7
-51
15
-12
-26
-31
-42
50
-5
1
-65
70
-2
7
-3
-30
-82
-33
10
-3
25
-9
21
-3
-8
4
-57
-7
30
15
-22
47
17
24
-37
-6
-49
-42
47
21
10
8
5
-4
4
-63
57
45
-47
15
52
-17
-38
34
100
19
0
0
-6
4
22
26
-19
1
6
0
0
0
0
-1
-2
-2
0
0
0
-11
-61
-34
-7
-41
-43
4
8
9
-42
-68
-113
-28
-35
6
-124
35
-6
-30
-64
-43
-9
-100
-58
64
-42
7
-50
-30
-9
-17
-38
-50
-8
-42
42
-35
21
58
-36
-58
-27
-32
-34
-10
-27
15
-33
19
4
5
-26
22
30
-66
57
1
27
-39
5
2
57
-3
-1
8
13
-76
-42
94
-6
2
0
0
0
0
23
-30
16
0
0
0
0
0
0
0
0
-1
0
0
0
-60
22
-29
-13
-17
-14
-4
-107
-2
-48
-50
12
-27
-5
-24
-79
-82
-12
-67
-72
-47
29
-56
54
-113
-48
-23
-8
-29
-2
-50
-124
-54
-78
-40
25
-25
27
11
-81
-24
22
-23
-29
9
13
1
-12
-36
11
-41
41
-63
0
0
-3
-8
31
20
-6
11
-4
0
0
0
0
-10
5
-20
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
-1
28
-9
0
0
0
0
0
0
-8
13
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
10
-3
-1
0
0
0
0
0
0
23
-28
15
1
0
0
0
0
0
66
72
-63
-2
1
0
0
0
0
27
42
-8
63
-7
0
0
0
0
29
48
13
72
-1
1
2
0
0
102
64
24
-29
5
4
1
0
0
37
-19
-12
28
13
-2
0
0
0
30
5
-4
6
0
0
0
0
0
-17
28
2
0
-3
0
0
0
0
18
-60
5
0
0
0
0
0
0
3
58
-20
4
0
0
0
2
0
28
-78
66
20
-3
4
1
2
4
34
14
74
-23
73
-7
-41
25
-15
62
24
29
-40
100
43
37
6
24
-66
90
47
99
33
6
117
9
57
11
73
77
42
77
59
63
-34
2
87
22
40
49
-16
20
25
8
-3
-1
101
-11
66
21
14
1
0
0
-16
-25
-8
20
-20
0
0
0
0
8
-40
-49
-3
0
0
0
0
0
-11
-13
-80
5
7
-3
7
-16
0
40
-52
-8
39
-66
12
15
27
16
27
9
35
41
-2
29
-37
-108
23
24
40
23
82
-17
30
0
15
49
17
51
26
22
73
129
101
28
69
11
73
66
45
79
51
13
30
31
11
9
31
77
20
6
14
35
-7
-23
25
13
-16
5
70
34
6
1
-28
-1
6
24
62
48
0
0
0
-2
-22
-20
-27
0
3
0
-10
-1
-23
-62
-22
-29
-51
-44
-30
-14
7
5
-16
-5
10
-48
-16
-10
-3
-87
29
15
6
18
28
58
-1
-38
-42
25
13
22
-7
17
30
69
27
28
-5
39
35
25
9
41
27
25
79
-4
60
26
17
-8
19
69
36
-15
10
81
56
49
50
1
15
22
48
-52
64
-22
84
50
71
44
13
1
-1
25
6
41
-8
57
2
-29
0
-5
33
-54
-10
-23
-9
2
-39
-1
-29
-47
-165
-92
-50
-25
-18
-17
93
7
-43
-48
5
-40
12
-28
39
-58
-2
12
13
11
39
-72
-47
-26
-6
-6
7
15
-17
26
-47
3
-73
38
-10
14
29
0
-21
-13
-72
11
13
-19
33
2
16
18
23
21
29
51
-77
102
35
18
71
8
-41
-15
5
-97
72
23
-12
87
-10
47
36
0
0
-2
0
-10
70
-58
0
3
0
-13
52
-154
-13
7
-1
-7
6
0
-58
-67
-4
-64
-51
-17
-15
-16
21
14
-39
-27
12
30
-25
-15
-80
-28
3
-3
-8
-15
-56
5
-62
12
-49
4
5
6
10
-9
-77
41
-34
2
1
14
35
3
-16
-50
20
-77
24
-14
-44
4
12
-42
11
2
36
77
-70
76
99
1
-20
-1
20
10
0
0
-8
5
54
55
2
0
21
0
0
0
0
-4
10
8
0
0
0
61
60
-109
-49
-19
0
-1
-3
-8
25
8
-66
-18
-32
-19
-40
-45
26
-5
-20
-35
-65
-83
30
-14
-76
-91
5
-20
-21
16
-47
-81
-48
-41
-44
-60
28
0
27
-86
-82
-17
-17
8
-114
32
32
15
25
28
-14
-18
35
-105
29
13
19
-56
22
20
-4
-3
-1
15
-8
-50
-26
14
2
53
0
0
0
0
19
-38
22
0
0
0
0
0
0
0
0
-1
0
0
0
-9
-12
-23
-2
-3
-8
2
-7
-2
3
130
-100
-32
-23
-75
-50
-53
1
54
30
-7
-33
-48
13
-118
-74
-39
-28
27
-63
-79
13
-58
-82
-74
19
-63
47
-30
-54
-19
88
-42
-15
-61
8
54
-9
15
-38
-67
-23
-15
-6
0
-5
-27
86
28
5
-34
0
0
0
0
0
-46
-9
-7
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
-16
-6
0
0
0
0
0
0
0
-31
31
7
0
0
0
0
0
0
3
0
6
3
-2
0
0
0
0
16
-21
21
8
1
0
0
0
0
71
-10
-8
-3
-1
1
0
0
0
49
11
-3
5
0
0
0
0
0
16
-14
-8
8
4
0
0
0
0
-7
2
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
-18
18
6
0
-1
1
0
0
0
9
22
-6
-3
8
1
-1
0
0
31
-16
-7
11
19
15
0
8
0
4
66
0
2
0
-4
4
-5
0
43
-17
9
51
-29
10
21
-2
1
-35
14
16
31
26
33
4
0
0
-16
-8
-7
-3
31
10
0
-1
0
7
13
-3
2
4
0
0
0
0
0
1
0
0
0
0
0
0
0
12
8
-13
-4
1
0
0
0
0
57
-14
-21
0
-2
0
-1
1
0
-31
-14
74
-10
-12
2
2
2
6
-13
13
-32
30
-11
-8
9
-8
25
-44
21
67
5
50
35
7
25
2
57
-27
-7
-7
-18
32
-19
17
-2
29
32
-36
1
20
-37
14
-6
1
-8
10
11
3
9
24
12
3
0
8
9
1
-22
29
-5
0
0
0
-8
-6
0
0
0
0
0
0
0
-19
-29
2
-1
0
0
0
0
0
2
-81
-13
-6
-18
8
-8
3
-5
6
-9
13
32
5
-42
8
-5
-26
13
38
24
28
-52
-18
-14
-12
-4
-2
50
-14
-12
-1
2
-4
15
44
-36
71
-50
-2
-1
8
45
9
13
-34
8
-18
-3
34
2
-1
3
-1
8
-8
-38
4
41
2
9
0
0
0
17
8
9
17
5
1
0
0
-1
-1
0
0
0
0
0
0
0
-63
2
-30
-8
0
0
0
0
0
-6
-35
19
-14
-9
-10
-3
-10
-5
7
16
-14
64
-16
-26
-15
-5
-25
16
22
28
11
-12
-20
29
12
-22
51
-17
41
-38
10
3
-3
13
2
-9
-43
0
-13
24
42
-31
42
1
-2
27
-14
40
31
0
16
-25
0
-14
14
-34
-1
6
-10
8
2
0
-1
-3
0
-6
28
-23
0
0
0
-7
-4
0
0
0
0
0
0
0
20
-33
5
-2
-8
0
0
1
0
-42
-24
-49
-5
12
-1
-5
-5
-1
7
-19
-22
5
2
19
-5
-4
-24
2
67
-4
7
-7
-8
28
-7
-1
-60
0
-32
22
62
-10
-9
1
25
-62
-9
-6
31
-42
46
9
-12
7
-12
-28
41
20
-31
5
-14
0
0
0
-5
9
38
33
-13
-1
0
0
0
0
0
1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
-12
10
-37
-1
-2
0
1
0
0
-18
75
-8
-39
-47
0
-8
-10
-1
68
70
-60
-23
-50
-35
-27
-7
-2
-49
41
-23
31
4
25
-8
2
0
-13
-50
60
40
-55
61
5
-10
1
-15
18
-3
-35
-2
-8
13
1
-2
-1
4
7
11
-36
-14
0
1
0
0
0
0
8
-12
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
-14
-1
-10
-4
0
0
0
0
0
31
2
-19
0
-21
-25
-3
-1
-1
30
-93
1
70
18
-16
-1
-7
2
-8
0
47
-8
-3
56
-10
0
-1
7
24
9
1
-10
-13
-16
0
0
0
0
3
7
-2
-13
0
-2
0
0
0
0
-12
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-18
5
79
-32
87
-51
-13
3
9
6
14
1
-34
4
-22
-35
-30
-12
32
27
23
19
20
6
14
0
63
101
-21
20
35
18
33
-21
51
-10
-60
26
13
-11
46
32
-44
9
58
123
131
229
59
76
28
84
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
69
4
40
23
63
86
-64
5
-22
-25
-15
-24
15
-20
76
28
54
0
29
-2
-10
17
10
2
-6
-5
74
-47
-8
21
30
-17
122
-1
74
76
-51
27
13
-87
75
23
40
-27
101
93
-40
-38
134
37
78
16
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-4
-20
17
-35
25
67
-25
-16
-2
0
-70
-23
6
-31
50
50
77
0
14
-2
-9
16
7
0
-6
-6
31
-9
-40
52
4
28
74
-1
1
42
-8
7
9
-42
20
35
-15
-13
92
43
-107
-49
72
31
44
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
-5
0
0
0
0
-7
-5
13
-8
16
24
1
1
0
0
0
0
0
0
0
0
0
0
2
-1
4
4
2
0
1
0
0
0
-1
0
-1
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-232
-11
97
0
-2
-35
0
2
4
-8
-65
6
-74
-42
-52
-164
-46
31
154
66
50
-32
-45
-104
41
-137
31
-9
5
-9
-8
43
-37
19
-40
32
-26
-88
34
-13
-54
-6
49
-9
146
-108
-52
-116
-54
12
20
45
52
-50
-30
-68
88
-91
-82
-31
-54
24
18
-8
27
-18
20
-62
-77
-65
-6
-27
2
8
0
0
0
0
0
-32
50
1
68
68
36
22
-1
-49
-3
20
-13
14
-6
66
0
-9
48
19
-10
-26
-49
69
-102
50
15
28
5
-63
7
-31
5
22
5
2
-10
3
17
2
-22
-16
-3
9
-5
1
9
-28
-50
25
27
54
-50
-5
-13
-41
-70
-44
14
6
-14
8
33
-52
20
17
-34
-57
16
24
50
0
0
0
0
0
0
0
0
0
0
-26
-76
-23
44
-32
-2
-56
0
0
19
-20
-63
-22
13
-12
-25
-13
4
-6
-1
-24
-57
93
15
-127
-7
-54
14
-17
-41
19
94
-21
2
-18
-32
-62
-13
-29
-27
-76
-24
16
-20
-32
43
-44
-46
-21
-91
2
56
4
0
3
13
-45
-43
-16
-38
-13
2
13
-68
-7
-43
-11
19
-18
-8
-21
-26
-21
-12
-8
0
0
0
0
0
11
47
47
10
21
65
-56
28
-28
34
8
-6
-57
40
63
0
2
79
-1
10
-6
-9
123
-22
2
-5
-26
-10
-7
-45
-24
45
-53
-6
-48
-39
-8
-26
7
4
-12
3
5
8
-24
3
106
-16
5
-5
13
-43
-75
29
27
-36
48
18
1
3
41
14
-96
-47
61
69
-30
-13
-5
-8
0
0
0
0
0
0
0
0
0
0
-3
-61
6
16
-5
-2
-37
2
5
13
-20
-42
-53
102
-29
-3
33
-51
5
-18
30
-34
-4
-40
-47
-61
54
-102
20
3
19
56
15
0
-18
7
-41
-20
-6
-60
-15
-39
6
0
18
1
9
45
-30
-34
15
23
2
7
41
21
-2
17
-102
-38
-9
9
-28
-16
41
-22
-48
13
86
53
-24
20
18
3
-2
0
0
0
0
0
40
67
-64
-24
75
21
-37
-5
23
9
20
-72
-4
65
3
-3
23
-7
28
23
13
-11
63
-18
-26
-50
-53
-21
94
75
93
45
-58
-14
-56
-47
30
-20
14
28
14
-3
-8
-8
-31
30
-2
10
-64
7
-62
-26
32
88
-22
-59
-77
71
-23
85
58
49
-1
-34
23
11
-58
23
28
20
0
0
0
0
0
0
0
0
0
0
0
-13
-1
13
4
0
1
-1
5
0
1
4
-22
5
0
0
9
14
-5
1
0
-13
-24
-21
-4
0
13
-31
17
5
2
14
11
10
-5
2
6
1
21
17
4
-31
44
29
20
-22
-7
18
17
0
43
28
34
-11
-1
2
-3
22
-43
-7
3
0
1
3
-14
-3
8
8
18
24
-2
-39
-6
23
43
0
0
0
0
0
4
2
5
-47
32
-2
-1
-2
-19
0
-6
-5
-1
32
-4
0
18
33
-12
-6
1
13
8
6
-17
4
-13
-9
-21
42
9
47
-48
-9
12
-14
5
26
-22
-23
45
39
-37
-31
-31
-34
-8
-8
-3
-4
-19
-1
25
3
6
2
5
12
-1
-30
-9
0
35
9
-16
8
2
-8
-5
-7
-2
-8
-7
2
6
2
8
7
-2
-5
-2
-1
0
2
9
6
1
0
-2
-9
0
-4
-3
3
-2
2
4
3
-3
2
-5
2
-2
6
9
11
5
4
-3
2
2
2
2
-1
0
0
0
1
0
-9
-5
-7
-4
0
-7
13
-15
-1
4
-7
-2
0
4
4
12
23
46
-11
-2
-5
9
0
10
15
6
44
-1
-1
0
2
-1
2
1
1
-2
3
3
3
1
-2
-5
-13
-39
-48
2
-7
-7
-3
0
3
12
32
40
-7
-4
1
2
3
-1
7
5
4
2
4
-3
1
1
-4
0
1
0
2
-1
2
-3
0
-19
-15
-18
-28
1
-13
3
0
4
6
14
28
20
-11
6
-1
0
-3
1
-5
2
1
16
4
-7
14
6
-2
-10
-1
-6
4
0
-2
-34
-35
5
7
-8
-10
14
17
16
-6
-7
-9
31
47
49
-8
-5
1
28
22
19
-6
-30
-19
-30
-8
-217
-47
-522
-187
-305
-92
-67
-50
-75
-19
-98
33
-248
41
-78
60
-26
22
-54
-17
-8
114
14
17
-22
57
6
8
0
0
-8
0
-23
-24
-53
-50
-16
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
8
-18
-5
0
0
15
13
-16
4
-17
-12
0
0
-49
-29
-9
-7
-160
-41
0
0
79
51
0
0
0
0
0
0
0
0
1
0
-8
-1
0
0
-29
3
-126
-12
-77
-27
0
0
-17
-16
-6
8
-26
-17
0
0
-73
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-175
-67
-75
1
0
0
-64
-3
-24
-17
-107
-31
0
0
-255
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-360
-140
-358
-154
0
0
-142
-85
-5
-33
-187
-96
0
0
-269
-107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-487
-89
0
0
-230
63
-446
-83
-292
-147
0
0
-726
-172
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-158
-72
0
0
-220
-74
-202
-27
-343
-194
0
0
-419
-181
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-77
-2
-58
-43
0
0
-63
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
5
-159
-28
0
0
-71
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-240
-124
0
0
-113
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-204
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
0
24
13
0
0
-75
-42
-72
-42
0
0
-29
-27
-32
-42
-65
4
-126
-75
0
0
0
0
0
0
0
0
0
0
1
0
-8
-3
-1
-10
0
0
-42
-22
-66
-66
0
0
-14
-13
5
16
-53
-25
21
32
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
5
9
0
0
-34
-8
-75
-28
0
0
-48
8
-31
-7
-9
-8
-41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-8
0
0
-453
-142
-209
-126
0
0
-213
-57
-127
-7
-117
-100
-47
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-390
-152
0
0
-121
-72
-196
-104
-264
-112
-293
-246
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
-102
0
0
-198
-59
-206
-207
-48
-17
-167
-147
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-146
-130
-38
57
-229
48
-76
-126
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-57
-207
-67
-149
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
-20
-173
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
49
52
-50
1
0
0
30
43
-137
-40
-66
0
0
0
6
10
72
18
-5
40
0
0
-48
-51
0
0
0
0
0
0
0
0
13
4
-31
-18
0
0
-57
-4
-241
-9
-52
-55
0
0
-116
64
94
-71
-10
37
0
0
-62
-5
0
0
0
0
0
0
0
0
0
0
25
22
0
0
-40
14
-194
-122
46
10
0
0
2
20
-122
30
-35
-1
0
0
-98
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-618
-225
-92
-40
0
0
-93
-14
-70
17
-124
-2
0
0
-143
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-428
-107
0
0
-119
-28
-237
-8
-348
-54
0
0
-611
-160
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-23
0
0
-28
54
-71
4
-46
95
0
0
-246
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
2
-2
-66
75
0
0
-73
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-141
77
24
33
0
0
-40
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-74
0
0
-242
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-150
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-14
-69
-29
83
12
16
1
0
0
-100
-70
-86
-35
0
0
-111
-16
-129
46
-7
65
-46
-40
0
0
0
0
0
0
0
0
0
0
19
-4
12
22
-29
79
0
0
5
-30
38
-82
0
0
-45
-36
69
70
-94
-10
-127
12
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-26
16
0
0
-94
-28
3
-16
0
0
9
5
-63
9
-14
-20
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
132
0
0
-431
-124
-168
-58
0
0
-115
-68
-82
-42
-61
-52
-44
-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
-205
-93
0
0
-77
-10
-147
-62
-134
-11
-276
-177
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
-71
0
0
-69
27
-116
60
-59
-4
-133
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-113
3
-59
37
-64
0
-131
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-116
48
-30
63
-47
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
-25
-71
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-142
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
28
53
-34
-9
0
0
-18
-20
-145
-60
-131
36
0
0
-19
64
18
-31
41
37
0
0
-20
-27
0
0
0
0
0
0
0
0
7
4
-30
-21
0
0
-49
-11
-59
106
22
63
0
0
-34
-53
4
-17
27
11
0
0
-23
-34
0
0
0
0
0
0
0
0
0
0
25
19
0
0
25
52
29
-51
-82
59
0
0
27
57
-27
37
-31
-54
0
0
6
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-335
-44
-24
186
0
0
-68
-38
-113
-46
72
114
0
0
-65
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-125
25
0
0
-75
42
-59
76
-134
47
0
0
-207
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
33
0
0
-32
14
53
-74
-18
-28
0
0
-3
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
64
11
-5
-56
40
0
0
-69
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-10
-6
-5
0
0
-61
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
65
0
0
95
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-141
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-13
-55
4
81
13
-29
0
0
0
-57
8
-39
39
0
0
-51
-36
-35
-17
-27
5
23
36
0
0
0
0
0
0
0
0
0
0
73
-22
6
24
-75
13
0
0
-49
17
24
49
0
0
-48
-32
85
-41
-69
3
-36
25
0
0
0
0
0
0
0
0
0
0
0
0
13
5
-43
10
0
0
-102
4
-29
78
0
0
-70
36
43
49
-20
-86
12
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
0
0
-234
101
-41
34
0
0
40
-39
-3
74
62
-15
55
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-178
95
0
0
-104
34
-91
66
-148
96
-118
117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
40
0
0
29
-20
41
-8
-10
22
-22
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
38
-28
1
10
13
10
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
11
-40
-16
-15
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
33
8
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
1
0
0
0
-5
-7
-63
-21
-45
-13
0
0
-7
4
5
7
2
-4
0
0
-29
-13
0
0
0
0
0
0
0
0
4
1
3
-1
0
0
2
3
-27
-9
-13
14
0
0
1
-1
12
32
42
-8
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
10
25
7
-67
-27
0
0
32
9
-21
5
-6
0
0
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
117
70
-4
47
0
0
-47
-84
74
22
24
8
0
0
25
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
17
0
0
57
41
-27
-21
-17
8
0
0
97
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
9
0
0
31
57
-107
-19
-14
-2
0
0
48
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
47
-21
9
13
3
0
0
-34
-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
-4
16
-4
-18
0
0
-39
-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
53
37
0
0
85
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
2
1
-2
-31
-25
0
0
8
8
7
3
0
0
-15
-12
-47
-7
29
13
0
-4
0
0
0
0
0
0
0
0
0
0
7
3
14
3
-5
-3
0
0
4
-12
-9
13
0
0
30
9
42
25
-56
-20
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-1
0
0
-43
-30
-13
-2
0
0
-35
-16
17
12
-28
-10
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-9
0
0
67
53
20
41
0
0
-8
-6
66
41
-100
-1
26
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
75
0
0
-31
16
-22
122
-59
13
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-1
0
0
-47
8
-96
-1
8
-3
58
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-19
49
-31
2
-6
49
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-7
31
10
9
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-12
13
-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
16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-47
2
29
-14
-42
74
6
61
17
10
0
74
-12
56
-21
-41
-2
0
-35
-40
30
-30
43
40
14
0
0
0
0
0
0
23
-36
5
8
-14
70
18
-6
-26
22
-6
0
26
46
11
-6
30
73
4
37
13
41
12
-14
0
-34
0
0
0
0
0
0
11
-48
-3
-19
-9
7
39
-33
17
-7
-3
0
-19
-14
12
-55
-11
-46
-1
-16
-7
-46
56
6
65
-76
0
0
0
0
0
0
-14
-2
0
14
-17
-8
35
-83
-13
-31
-6
0
40
-8
26
-13
3
66
-5
30
-50
-12
-14
15
46
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-8
-4
-24
0
0
-3
-4
0
0
0
0
0
0
-7
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-22
-27
-37
-12
-114
-6
0
0
0
0
0
0
-239
-146
-59
-32
-158
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-8
-67
-66
0
0
0
0
0
0
-77
-52
-31
-8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-319
-46
0
0
0
0
0
0
-203
-11
-284
-48
-320
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-153
-138
0
0
0
0
0
0
-217
0
-350
-86
-204
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-108
-53
-218
-69
-161
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
22
-166
-143
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
4
0
0
0
-8
0
0
0
0
0
0
-14
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-95
0
0
0
0
0
0
-94
-139
-10
-13
-8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
-55
0
0
0
0
0
0
-57
-42
-31
-5
37
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
23
-41
2
17
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
-4
1
-44
-121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-26
49
-72
22
-1
0
-9
-43
0
0
0
0
0
0
33
32
36
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-148
-21
-129
-64
-336
-102
-83
52
0
0
0
0
0
0
-93
12
-126
-22
-167
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-192
-49
-146
-17
0
0
0
0
0
0
-111
-6
-152
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-354
-20
0
0
0
0
0
0
-236
76
-291
-101
-355
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-153
31
0
0
0
0
0
0
-105
-8
-132
72
-128
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
26
-57
33
-168
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
12
-105
192
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-7
9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
25
35
9
-5
-41
-21
0
0
0
0
0
0
-17
25
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
14
-21
0
0
0
0
0
0
5
-11
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
-77
0
0
0
0
0
0
-99
-64
-74
48
-16
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-55
0
0
0
0
0
0
9
35
-39
3
-50
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-61
-73
8
-65
-12
0
0
0
0
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
22
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-7
-37
-62
6
26
-1
0
31
16
0
0
0
0
0
0
48
48
-11
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-25
-27
-23
-319
-79
-17
114
0
0
0
0
0
0
-53
-54
-11
-11
-74
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-174
-69
-1
39
0
0
0
0
0
0
-118
7
-54
-33
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-117
53
0
0
0
0
0
0
-91
66
-124
-14
-209
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
54
0
0
0
0
0
0
-39
57
-76
-3
-74
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
56
-17
-39
-76
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-13
40
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-8
9
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
21
23
15
-8
-32
-50
0
0
0
0
0
0
-37
-2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
10
12
0
0
0
0
0
0
30
-15
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
21
0
0
0
0
0
0
-39
30
-36
-53
-14
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-17
0
0
0
0
0
0
15
-83
8
40
-55
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
60
-10
28
23
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-98
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-3
6
0
0
2
3
0
0
0
0
0
0
4
8
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-4
-6
-1
18
13
0
0
0
0
0
0
-2
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
6
0
0
0
0
0
0
-6
-13
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
68
0
0
0
0
0
0
21
58
-6
-9
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
27
0
0
0
0
0
0
-11
28
10
-2
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
-1
-5
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
15
0
0
0
0
0
0
-22
16
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
-18
1
12
5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
10
-6
-3
-8
-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
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
2
0
0
0
5
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-66
-23
0
-2
0
0
8
-23
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-9
0
-4
5
0
0
-8
0
3
0
0
5
0
0
0
-27
-4
0
5
-23
3
0
-4
-2
5
0
0
-3
0
0
0
-12
8
0
-4
-22
1
8
0
15
-7
0
0
0
0
0
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-18
10
0
2
0
0
0
-1
2
-8
0
0
5
0
0
0
-18
-8
0
2
0
-12
0
0
-1
1
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
12
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
16
24
0
-2
0
5
4
-6
19
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
0
0
1
0
0
3
-4
0
0
0
0
0
0
0
0
84
0
-17
4
2
0
-8
-1
-4
0
0
-4
0
8
0
23
-105
0
-5
-2
-9
-8
3
27
2
0
0
1
0
0
0
0
5
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-9
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
-4
5
0
-1
-6
0
0
0
-5
0
0
0
0
0
0
0
8
-10
0
2
-4
0
0
-1
1
0
0
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
8
6
1
-6
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-10
0
0
0
0
0
0
2
-3
0
-12
0
0
0
-1
-1
-24
0
0
0
0
0
0
0
1
0
-14
0
0
0
0
3
-30
0
0
0
0
0
0
0
-19
0
-2
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
-1
-16
-4
0
0
21
-6
21
11
80
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
42
30
0
4
12
6
-10
-10
-24
-17
0
0
24
19
-1
8
-29
70
0
26
45
15
14
93
-91
23
0
0
32
-8
-6
8
-9
28
0
-88
-9
5
23
1
31
14
0
0
-10
0
0
0
2
4
0
-2
28
0
25
5
14
-70
0
0
13
0
0
0
-26
3
0
0
0
0
0
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
12
0
0
-2
0
-2
8
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-4
1
24
29
0
0
0
13
-2
8
78
-14
0
0
35
5
0
2
32
-6
0
-3
46
4
-1
-32
12
1
0
0
3
0
3
0
3
-8
0
3
0
1
-4
3
-32
-58
0
0
0
0
0
0
0
13
0
0
0
0
0
-3
0
1
0
0
24
0
3
0
5
0
0
3
-1
0
0
3
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-8
65
0
1
-3
0
-6
24
8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
-2
0
0
0
3
0
0
0
-4
0
0
0
-20
16
0
24
0
-2
0
1
1
-20
0
0
7
0
0
0
-14
31
0
0
-8
0
-8
0
-30
43
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
-2
-3
-13
0
0
14
0
0
0
0
4
0
0
0
0
0
0
-5
1
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
-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
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
-6
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
-10
3
-23
15
0
-1
2
5
-61
-29
-3
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
10
-39
0
2
-7
0
1
7
-34
5
0
0
-9
-5
0
-2
36
31
0
-14
2
5
-31
-61
-32
46
0
0
-89
0
1
5
-57
-5
0
8
55
9
7
-54
26
-21
0
0
-5
0
-2
0
-19
42
0
-3
-3
0
-13
31
7
55
0
0
0
0
0
0
13
-4
0
-25
1
0
6
4
-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
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
2
3
0
0
-8
0
-5
-13
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
13
1
-28
39
0
0
-7
0
13
0
12
-4
0
0
2
0
1
0
-58
3
0
7
-25
0
0
-12
-10
-99
0
0
6
0
2
0
-8
0
0
-15
-18
0
-5
0
9
-16
0
0
-4
0
0
2
0
-6
0
-8
0
0
0
-12
0
15
0
0
-12
0
2
0
-23
-1
0
8
-13
0
0
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
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
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
-7
0
-2
0
-1
49
0
0
16
10
6
-1
-17
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-38
89
0
0
-1
0
0
-2
-7
44
0
0
70
0
0
-1
-41
28
0
-40
-24
19
1
54
-47
-76
0
0
24
0
0
8
21
-21
0
-4
-11
1
-18
-13
-18
-41
0
0
2
0
0
0
-19
-6
0
-2
-14
0
0
0
-2
-70
0
0
24
0
0
0
-72
-15
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
2
3
0
0
3
0
0
-1
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
13
19
0
0
1
1
0
0
-90
-2
0
0
29
0
0
0
-26
8
0
-2
16
0
0
-8
-5
-41
0
0
5
0
0
0
-13
5
0
-1
-1
0
0
0
2
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
-12
0
0
0
21
1
0
-5
-3
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
-2
0
-7
0
0
0
-19
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
0
0
0
1
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
-1
-1
-34
47
0
-3
-8
-13
-56
-9
-5
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
1
0
9
41
0
-7
-12
5
8
16
21
-6
0
0
-38
7
0
0
4
89
0
94
23
14
12
40
-3
19
0
0
8
-2
17
0
-25
26
0
-54
-5
0
15
-3
-19
18
0
0
4
0
0
0
-5
28
0
-16
1
1
2
8
-6
-13
0
0
-2
0
0
0
-49
-35
0
-3
0
0
0
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
6
-5
0
0
-8
-4
-3
-3
-5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
-5
0
-59
0
-2
-9
1
0
12
39
27
0
0
32
0
0
-3
72
11
1
13
33
6
0
-15
1
26
0
0
-8
0
0
0
-18
10
0
8
1
0
-1
0
3
4
0
0
0
0
0
0
0
-3
0
6
2
0
0
0
0
-2
0
0
-24
0
0
0
5
3
0
-1
-2
0
0
-14
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
2
0
-12
17
0
4
-5
6
0
-16
-37
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-14
0
0
7
0
0
-5
37
1
0
0
-5
1
0
3
-18
66
0
33
-3
-17
-3
12
-30
25
0
0
6
1
-5
0
7
-13
0
59
10
0
-23
-27
-27
4
0
0
-1
0
0
0
0
-17
0
0
0
0
0
-2
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-2
3
0
1
8
0
0
-6
-40
-4
0
0
39
0
0
-3
6
0
-3
3
-17
0
0
4
3
20
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
-3
7
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
-3
0
0
0
-9
-8
0
0
0
0
0
0
0
5
0
0
8
0
0
0
0
0
-5
0
0
0
0
0
0
-2
-7
0
2
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-8
-10
-7
1
0
-52
-15
-39
-95
-25
30
138
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-17
43
0
5
-27
-17
-9
-13
-53
-12
0
0
55
102
-1
-2
26
-22
-1
-11
-4
-22
-42
28
-160
127
0
0
-31
-8
-1
32
88
44
3
-60
-55
3
-23
21
-86
5
0
0
-13
0
-1
14
61
8
-3
8
39
1
-2
-22
-9
-5
0
0
15
0
0
0
-64
0
0
-7
0
0
3
-12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
2
0
20
-8
0
1
-18
0
0
-34
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
-5
-2
25
0
-16
-35
-27
-6
15
49
4
0
0
-67
6
6
-3
-27
15
0
-23
23
14
0
38
-42
-11
0
0
3
0
-3
0
50
-3
0
-22
-40
2
-2
1
2
-4
0
0
0
0
0
-1
0
1
0
3
-1
0
0
8
0
-17
0
0
21
0
0
3
59
0
0
-1
7
0
-6
-30
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
-5
0
0
0
0
-2
0
-34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
16
0
-6
0
0
0
-7
-1
3
0
0
4
0
0
0
13
19
0
-8
0
0
3
0
-33
10
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
8
6
0
-1
0
0
0
0
-1
-8
0
0
2
0
0
0
-1
-1
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
29
0
0
0
0
2
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
42
-1
-2
0
0
0
0
0
0
2
8
0
0
0
0
4
0
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-9
0
0
0
0
0
0
8
-1
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
14
14
0
0
-2
0
-9
5
-3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
-4
1
0
0
-3
0
0
4
8
-10
0
0
0
0
0
0
10
0
0
-1
0
0
-9
0
17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-20
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
-20
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-53
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
-49
0
2
0
0
0
0
-16
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
4
27
0
-1
-6
-2
-8
4
-9
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-25
21
0
-2
2
0
0
2
24
6
0
0
1
0
0
0
24
7
0
-5
1
0
0
13
3
-4
0
0
9
0
-2
0
7
-19
0
22
6
7
-8
9
26
-65
0
0
0
0
0
0
0
-7
0
-4
0
0
0
-1
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-1
-4
-4
0
0
2
0
0
0
6
19
0
0
8
0
0
0
-4
-6
0
0
8
0
0
-1
0
-2
0
0
0
0
0
0
3
0
0
1
-5
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
-19
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
-2
0
0
1
0
0
0
-6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
0
0
-8
0
0
0
-1
31
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
1
0
0
-2
0
0
0
2
2
0
0
0
0
0
0
44
13
0
3
-3
0
0
53
4
5
0
0
-6
0
-1
0
-20
-31
0
14
-3
1
7
0
-45
17
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
-28
-22
0
0
4
0
0
0
-8
8
0
0
4
0
0
0
-25
-5
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
4
0
0
0
0
-2
2
-12
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-7
0
3
0
0
0
-3
8
-4
0
0
0
0
0
0
-1
-17
0
1
-6
0
-3
0
25
1
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-6
0
0
0
0
0
0
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
-49
0
0
0
0
0
-1
-10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
-1
0
0
8
0
0
-3
27
-3
0
0
0
0
0
0
-18
0
0
-1
4
0
0
-64
5
-7
0
0
21
0
0
0
32
8
0
3
7
3
4
0
-16
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
14
-2
0
0
-14
0
0
-1
-8
3
0
0
5
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-22
-20
0
0
0
0
-2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
13
10
0
-1
0
5
1
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
0
0
0
0
0
0
6
0
0
0
-2
0
0
0
28
31
0
8
16
-4
0
-13
51
-14
0
0
5
0
0
0
9
-5
0
-13
0
0
23
0
-31
-5
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
46
0
0
0
0
0
0
11
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
16
-24
0
0
0
0
0
0
-9
-8
0
0
-6
0
0
0
1
-2
0
0
-13
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
-3
2
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
0
6
0
-8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
2
20
0
0
0
0
0
0
8
3
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
7
0
0
0
0
8
8
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-8
0
6
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
41
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
29
-6
0
0
-6
0
19
-1
37
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
96
6
0
20
-6
0
0
3
13
-8
0
0
0
0
0
0
6
-1
0
-4
5
0
2
0
-23
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
-21
0
0
0
-13
0
0
0
-4
-1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
-4
0
0
0
0
0
0
43
-16
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-58
6
0
-1
2
-7
-33
-21
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
-13
-31
-3
-25
-22
5
2
0
0
-2
0
0
0
5
13
0
-9
-5
-2
4
15
41
3
0
0
-6
0
4
0
-14
-31
0
-8
10
-23
-52
1
-29
6
0
0
0
0
0
0
0
-25
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
3
5
-4
-5
0
-2
3
0
0
10
-9
2
0
0
-1
0
0
0
-1
-33
0
-6
-2
0
0
-3
0
0
0
0
0
0
0
0
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-3
-1
0
-4
0
0
5
-13
-22
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-20
-5
0
3
5
0
0
-31
3
-3
0
0
-3
0
0
0
-14
-3
0
-85
-9
2
2
-1
-21
3
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
1
0
0
0
0
0
0
3
-1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
-5
0
0
-4
0
0
0
-9
-3
0
0
-4
0
0
0
2
24
0
3
0
0
0
2
-1
22
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
18
0
0
0
0
0
0
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
0
-1
0
0
0
24
-1
35
0
0
0
0
0
0
-3
-5
0
1
0
0
0
0
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
-1
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
0
3
2
0
0
-9
0
5
0
0
0
0
0
0
0
21
0
-4
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
-7
5
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-9
1
0
10
0
0
0
0
0
0
-4
-4
0
0
0
0
0
-8
0
-13
0
0
0
0
0
0
-3
2
0
2
0
0
-59
0
4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
-60
0
0
0
0
-6
13
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
-3
0
0
9
10
8
0
0
1
0
0
0
-5
-1
0
5
2
0
0
14
12
3
0
0
0
0
0
0
10
-7
0
4
-1
0
-6
8
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
-13
0
0
-2
0
0
-1
-4
-3
0
0
0
0
0
0
0
6
0
-1
0
0
0
-22
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-23
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
24
0
0
0
0
0
1
8
-7
0
0
0
0
0
0
0
1
0
-2
0
0
-15
0
59
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
8
0
0
-1
0
0
0
-4
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-34
-20
0
2
19
-5
5
4
-13
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-43
-15
0
0
8
0
-2
-1
-22
12
0
0
1
0
0
-1
6
-30
0
5
-33
5
-8
31
5
42
0
0
8
0
0
0
-103
-78
0
43
-31
8
-44
-8
-6
20
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
13
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-5
14
0
0
1
1
0
0
0
-33
-2
0
0
-24
0
0
0
50
-9
0
19
10
0
0
17
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
-28
1
0
1
0
1
0
-5
0
0
0
0
0
0
0
0
-30
6
0
3
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
6
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
1
0
1
0
17
8
0
0
0
0
0
0
0
2
10
0
5
0
0
5
0
-7
16
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
8
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-8
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
5
0
0
0
0
0
14
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
14
0
0
0
1
0
8
6
0
0
0
0
0
0
0
-1
-8
0
0
0
-2
2
0
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
-8
-13
1
1
-2
0
3
-12
-44
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-11
-29
0
17
15
-14
3
47
-13
-46
0
0
162
6
0
1
-17
4
6
-9
-25
10
-5
-53
-46
-21
0
0
115
0
-3
1
-32
-37
4
6
-2
3
-16
-2
-61
13
0
0
89
0
0
0
-8
5
0
-5
-2
0
-5
-2
-22
-3
0
0
40
0
0
0
15
-2
0
2
0
4
0
-15
-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
5
7
-13
1
5
2
-8
-21
-9
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
-13
-8
6
-6
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
-6
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
4
6
-83
-58
-1
-7
-15
-8
-2
-22
4
-53
0
0
-58
0
-2
-3
-22
5
3
4
22
-2
-5
3
-24
-66
0
0
18
0
1
0
1
1
0
-19
-32
6
-20
-6
4
-25
0
0
3
0
0
0
0
-2
0
1
-25
0
0
1
0
-4
0
0
30
0
0
0
-10
0
0
-5
-8
1
-2
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
13
0
0
14
1
0
0
-1
0
0
-1
6
-6
0
0
0
44
0
0
2
0
0
-5
0
0
-8
0
-15
-8
0
0
0
22
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
3
0
0
0
0
1
0
0
0
-8
0
0
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-10
-9
0
0
0
0
0
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-3
0
-3
-6
0
0
3
25
-17
0
0
7
0
52
0
-19
-8
0
0
7
0
0
32
29
-31
0
0
4
0
121
0
-8
-1
0
-1
0
-4
-2
1
14
-68
0
0
0
0
-24
0
0
15
0
0
0
0
0
0
0
-31
0
0
0
0
48
0
-10
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
-17
-25
0
0
1
0
0
2
3
-2
0
0
-1
0
15
0
-5
-7
0
4
2
0
0
13
2
-5
0
0
0
0
-4
0
0
0
0
4
-5
0
0
0
0
5
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
-1
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
2
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
-10
0
0
0
0
0
0
0
-4
0
0
0
0
0
7
-9
-14
0
5
10
0
0
-41
1
7
0
0
0
0
0
-44
0
2
0
8
0
0
4
0
-37
-43
0
0
0
0
0
116
0
4
0
-3
0
0
0
0
0
-17
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
42
-5
4
0
0
14
0
0
0
-35
-13
0
0
0
0
0
21
-2
10
0
-1
1
0
0
0
1
-5
0
0
0
0
0
4
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-40
-7
8
-24
-48
-51
-27
73
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
1
9
0
17
23
0
33
-51
45
-40
-8
18
-31
0
0
-59
-31
1
-15
10
48
-2
11
0
-67
-41
14
-49
7
0
0
-57
14
46
5
37
-8
8
-67
-89
-125
-117
-10
-25
5
0
0
-14
0
0
0
33
-25
-1
-24
-7
-8
-12
21
0
34
0
0
-13
0
0
2
-27
-20
1
23
-50
-2
6
-160
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
9
1
-12
-3
-17
10
-86
-13
-26
0
0
0
0
0
0
0
0
-6
0
-1
0
0
5
0
-3
0
0
0
0
0
0
-3
0
0
10
0
-1
2
7
0
-8
0
0
0
0
0
0
-3
0
0
1
0
0
0
4
0
1
0
0
0
0
0
0
1
-3
0
21
-5
-2
0
20
0
0
0
0
0
0
0
0
66
0
0
-7
9
4
0
1
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
-43
-28
0
2
1
-14
-16
27
-7
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
16
13
-15
22
-9
-1
8
-20
-3
-18
-28
9
-62
0
0
-66
8
4
-5
-15
4
7
1
-24
-46
-5
-40
-13
-60
0
0
5
-1
8
0
-46
-59
-1
-22
-39
13
4
-37
-13
31
0
0
0
0
0
0
73
0
0
-8
8
-6
0
3
0
-168
0
0
36
0
-4
5
25
-2
0
-59
-7
13
-4
-60
-34
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
2
13
-10
22
-31
17
-96
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-41
-7
20
-79
18
8
-95
-34
1
25
-15
-145
-41
0
0
-63
-49
5
-23
-23
42
-5
24
-63
-37
-54
-33
17
-9
0
0
-44
-64
-52
-44
-1
13
0
9
-78
-115
-123
-35
42
-127
0
0
-40
10
0
-15
-54
30
0
-5
-28
-78
-25
-110
-118
-42
0
0
-29
-1
-9
0
38
-49
0
-4
21
6
14
-7
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-49
21
25
22
66
7
-45
27
8
0
0
0
0
0
0
0
43
-12
8
13
1
1
5
-2
8
0
0
0
0
0
0
-16
5
2
15
0
3
0
28
-13
0
0
0
0
0
0
0
2
-9
0
7
-2
-3
0
-4
1
4
0
0
0
0
0
0
0
-1
0
13
-5
-6
5
-57
-10
7
0
0
-1
0
0
0
22
6
0
49
20
0
-4
30
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
12
-3
2
1
-26
0
10
-4
-17
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-6
34
55
23
43
0
-4
-23
-51
-4
-20
-22
-36
0
0
-73
14
3
6
34
-55
25
4
-22
-51
-10
48
-55
-43
0
0
-28
0
-9
-10
16
-84
4
4
-43
-32
-5
-16
-13
-45
0
0
-9
0
1
-2
16
73
1
18
-67
-34
-13
-31
-15
17
0
0
-24
0
0
0
-25
-20
1
-13
-6
5
-30
3
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
0
-1
-6
3
0
0
0
0
0
0
2
-3
0
6
0
0
-3
0
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
3
6
42
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
3
14
0
-25
-1
0
0
-8
-76
4
0
0
-1
0
0
1
-27
23
0
6
-13
-5
-1
14
8
-6
0
0
-9
0
7
-5
-19
31
0
27
-1
3
-52
-6
-22
-38
0
0
0
0
0
0
0
-8
0
23
12
0
-1
10
0
-30
0
0
0
0
0
0
-19
5
0
-42
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
1
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
2
-35
15
0
-8
24
1
0
-3
-14
-7
0
0
5
0
0
-1
-9
-2
0
-8
2
0
0
2
3
2
0
0
5
0
0
0
-7
13
0
-102
6
0
7
-3
13
16
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
8
0
0
8
0
0
0
3
0
0
5
9
0
0
19
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-16
73
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
-22
0
-6
-25
-7
35
-35
6
-5
0
0
-17
4
0
0
-14
-55
0
-12
-31
3
-55
-5
43
44
0
0
-5
2
-42
4
-78
-41
-2
-48
-20
3
-46
-64
-31
74
0
0
0
0
0
0
4
-19
0
-14
1
0
-10
-29
-3
-43
0
0
0
0
0
0
-84
-8
0
0
0
0
0
-9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
-3
-16
-6
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
4
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
-1
-74
-25
0
0
6
0
-1
8
-48
-66
0
0
27
0
0
6
-4
-28
-9
-8
6
4
0
-22
-26
-34
0
0
7
0
0
0
-2
3
0
4
21
-1
-1
-6
-4
-9
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-6
0
-30
0
0
2
0
0
0
-13
0
0
1
-8
0
0
1
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-102
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-49
0
2
-2
0
10
-1
-28
-8
0
0
5
-13
-6
-1
-98
-5
-2
-8
-38
-5
-16
39
-68
-28
0
0
-8
0
10
0
-61
-6
0
-14
-24
24
24
-16
-2
19
0
0
0
0
0
0
0
41
0
1
0
0
0
3
0
-71
0
0
0
0
0
0
-10
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
1
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-2
-23
0
-1
-3
0
0
2
7
-13
0
0
-8
-2
0
-6
-29
-42
5
-5
-24
-1
0
0
9
-28
0
0
1
0
0
0
-2
-6
0
4
0
0
1
0
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
0
0
0
0
0
0
-17
0
0
0
-8
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-29
-106
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
-4
-117
-6
0
-2
13
8
-3
21
-8
-15
0
0
5
2
0
20
-13
-31
-2
18
-40
-39
-14
-74
8
3
0
0
-45
15
-1
-12
-40
-4
-8
-10
-68
8
-29
10
-18
-20
0
0
1
0
0
0
-37
-59
0
10
10
-6
-125
31
-63
23
0
0
-1
0
0
0
-66
-44
0
1
-8
5
27
-10
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
5
0
8
0
-1
0
14
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
0
0
2
-4
0
-23
0
0
0
0
0
0
0
0
0
-1
2
0
-1
-6
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
9
-13
0
0
1
-3
17
2
-14
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-4
-2
-19
15
-64
1
16
8
-4
-5
-15
-1
5
0
0
-5
2
0
-17
-28
25
-12
-38
-20
3
4
-84
-50
-21
0
0
-6
0
0
0
19
-7
0
1
-2
20
-79
-5
-27
-75
0
0
2
0
0
0
0
-8
0
-4
-9
0
-49
14
0
-41
0
0
-7
0
0
0
-28
0
0
-15
-4
3
-122
-24
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
-83
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
1
-1
0
-24
-56
0
-4
-55
12
-54
-3
41
-14
0
0
-46
-5
-2
-2
-76
-15
-1
-51
-41
35
-23
-12
-87
-129
0
0
5
0
10
-6
47
28
3
-39
-62
-34
13
-108
-62
-131
0
0
-30
0
0
0
-7
-55
-4
14
-51
-20
-17
56
-70
-11
0
0
13
0
0
0
-19
-6
0
-5
-19
0
-2
-113
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
5
-12
-8
0
-7
-13
-3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
12
-1
0
0
25
-1
2
0
0
0
0
0
0
3
0
0
7
7
0
0
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-7
-5
0
-1
-5
-3
-2
2
8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
-8
-3
13
39
1
-10
-5
-8
-5
-30
25
-6
0
0
94
8
-1
-5
-49
-13
16
0
28
-5
-17
77
-46
10
0
0
-4
0
-2
0
1
-5
0
17
5
-24
6
-71
-9
-23
0
0
4
0
0
0
-4
-6
-2
12
-52
0
0
-7
0
-68
0
0
11
0
1
0
21
18
0
0
-13
-7
4
-198
-121
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
4
0
17
129
-44
-1
3
-51
-45
-52
-12
4
-13
0
0
-77
12
-7
-30
-18
-13
4
-118
-116
-19
-36
-49
-8
-17
0
0
-50
2
32
-49
-41
-9
4
29
-136
-91
-138
-104
-11
-18
0
0
-28
0
3
-19
0
-45
-1
-52
-55
-1
-18
-113
30
-25
0
0
-73
0
5
-9
8
-104
0
-58
-52
-15
13
-92
28
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
14
-2
42
8
-36
5
-10
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
-5
0
0
0
0
0
0
0
0
1
1
0
-4
0
23
-12
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
16
-12
0
0
0
0
0
0
0
7
0
9
0
-2
0
13
7
22
0
0
2
0
0
0
-1
0
0
16
13
2
0
-5
-13
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-6
-42
2
-3
1
0
3
-16
-81
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
-8
15
-49
-75
-43
2
-7
-84
-40
8
-26
-128
-87
0
0
-71
4
6
50
-38
-33
-2
66
-36
-24
-50
-52
-53
-60
0
0
-7
0
5
8
-54
-80
-6
7
20
-5
-33
-82
-108
-41
0
0
-1
0
16
-1
0
-19
0
36
-70
-2
-8
6
1
-26
0
0
-43
-3
-6
92
-16
-9
-3
-10
-57
21
4
-86
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-3
1
8
-10
-51
0
13
-97
-6
-34
-19
-25
-15
0
0
-28
-48
-23
-18
-129
-22
-2
-62
-8
13
11
-59
-13
31
0
0
-163
-13
17
5
-153
-84
12
-97
-81
9
-74
-51
31
-1
0
0
6
0
-3
-19
-3
6
-1
25
-74
-25
-53
-44
59
-36
0
0
-1
0
-2
0
-56
0
0
4
26
8
-14
-30
-177
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-16
-31
5
27
-1
52
8
-76
0
0
0
0
0
0
0
0
1
0
0
0
0
-7
0
-33
0
0
0
0
0
0
-1
0
0
4
-1
20
0
-1
-6
-7
0
0
0
0
0
0
0
0
0
8
0
0
0
-4
13
-10
0
0
0
0
0
0
5
-6
0
0
-6
0
5
42
-20
32
0
0
0
0
0
0
-13
0
0
8
0
0
0
7
25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
1
0
-44
-19
0
2
-12
-17
-8
2
-63
-100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
8
-2
5
-21
-10
-1
-23
-40
-41
31
-58
-9
-25
0
0
-85
18
0
16
-17
-15
-6
-17
-76
-66
-13
-20
-131
-96
0
0
-21
2
-8
-15
-50
-7
7
10
-5
-11
22
72
-141
-76
0
0
-29
0
0
13
13
0
-1
-24
-62
-9
3
-59
-24
-50
0
0
-75
0
1
-14
-63
0
0
3
91
16
-5
-16
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
0
1
0
0
1
-2
9
-3
0
0
-43
3
0
0
-43
-91
0
-4
38
-2
16
-1
-60
-37
0
0
21
0
0
0
-44
40
0
51
-7
3
-38
8
-69
-53
0
0
-57
0
0
0
0
-5
0
-1
-4
0
-2
-19
-15
-34
0
0
57
0
0
0
13
0
0
0
0
0
0
-15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
5
6
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-25
0
0
0
3
0
0
0
-1
0
-1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
2
-6
0
-1
22
0
0
0
-5
-3
0
0
-8
0
0
0
-15
0
1
0
-7
0
0
-1
1
-16
0
0
-31
0
0
0
0
-2
0
3
-5
0
-2
0
0
-6
0
0
-20
0
0
0
0
1
0
27
0
0
0
0
0
-7
0
0
-74
0
0
0
0
0
0
0
-1
0
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
4
-4
0
-1
0
0
0
0
0
-3
0
0
0
41
0
0
1
-2
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-6
7
0
-7
-1
0
0
8
-1
0
0
0
0
0
14
0
-5
3
0
14
0
0
1
0
-31
-41
0
0
0
0
-21
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
26
7
-3
0
3
5
0
0
-13
16
-25
0
0
0
0
0
-15
6
0
0
3
0
0
0
0
-48
-29
0
0
0
0
0
17
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
33
0
-3
-24
-34
-25
0
-14
-8
0
0
-109
1
8
5
-16
-20
2
-64
-120
28
-39
59
-44
11
0
0
0
-10
-31
-5
-13
9
-2
-43
-26
-9
20
50
-76
66
0
0
0
0
0
0
-122
16
0
-8
-45
0
-35
15
0
-121
0
0
-30
0
-1
-2
94
-5
0
24
33
43
-4
-17
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-4
18
-2
0
24
-4
-6
-16
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-1
0
-14
-4
0
0
-8
0
13
0
0
0
0
0
0
25
0
0
14
8
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
21
-7
0
0
-4
-2
-13
-25
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
0
25
18
-2
0
31
0
0
-5
9
22
0
0
-41
0
-3
-2
16
2
-4
31
-48
-5
0
-25
1
12
0
0
-5
0
-6
0
14
-6
0
-31
10
-1
25
3
6
38
0
0
0
0
0
0
1
0
0
-13
0
0
0
18
0
-26
0
0
-54
0
-34
0
-71
0
0
-13
-73
0
0
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
17
-14
5
44
-5
7
12
0
0
14
8
-9
-8
-10
-4
-1
20
-1
0
-56
-93
-4
1
0
0
1
18
50
7
-99
40
-3
-16
9
-38
-45
15
41
-42
0
0
-9
0
-35
-2
-8
2
2
-5
4
-19
4
0
-53
-69
0
0
-18
0
-9
0
-34
71
0
1
-3
0
-8
-8
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
-1
2
-1
2
33
8
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-2
0
5
-1
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
17
-7
4
7
-13
-1
-7
0
0
0
0
0
0
1
0
0
0
2
0
0
12
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
0
6
112
0
5
-6
2
-12
-14
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
3
1
-20
62
-1
-8
24
-1
-5
5
80
-17
0
0
5
-9
0
2
-9
-1
2
4
-47
4
-4
7
-19
-4
0
0
-8
0
-5
-2
12
53
0
-12
13
-5
-27
0
12
-7
0
0
-2
0
-3
0
3
-67
0
23
34
4
0
-25
1
-5
0
0
-9
0
0
0
1
-15
0
6
4
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
5
-5
-2
37
-6
0
0
4
-2
-3
0
80
-7
0
-40
74
0
7
31
-72
-5
0
0
-8
0
1
-1
90
-16
0
6
4
-10
-1
-5
-57
93
0
0
0
0
0
0
-6
-35
0
-24
1
0
7
3
1
-1
0
0
0
0
0
0
8
1
0
-67
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-1
9
0
-5
0
0
2
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-14
-3
0
-12
-10
0
-2
2
-9
-15
0
0
-2
0
3
2
43
-5
0
-32
-13
0
0
3
-12
18
0
0
5
0
0
0
0
-5
0
-10
-6
0
-1
0
-3
-13
0
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
4
0
0
-1
0
0
0
-1
0
0
-13
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
6
-58
-12
0
0
-5
0
1
-19
-2
-10
0
43
-40
-49
83
-12
15
-99
0
0
5
-3
-8
5
-11
-30
0
5
-4
0
-39
-48
-27
-151
0
0
0
0
0
0
21
-16
0
-13
-8
0
3
5
-18
-101
0
0
0
0
0
0
-31
-4
0
6
0
0
0
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
0
-3
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
-12
0
0
5
0
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
21
4
1
-2
3
1
1
-3
-74
-16
0
0
-5
0
0
0
-8
-39
1
3
9
2
0
-31
-14
-8
0
0
-6
0
0
0
-19
8
0
3
14
4
7
0
-6
1
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-1
0
5
0
0
-5
0
0
0
1
0
0
2
-16
0
-4
30
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
-1
0
0
-13
0
-3
2
-41
-19
0
-38
-5
0
-16
-55
-88
-22
0
0
-2
0
0
-2
-17
13
0
-19
-29
3
-38
13
-18
-14
0
0
-2
0
0
0
0
9
0
4
0
0
0
1
-9
-33
0
0
0
0
0
0
7
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
-17
0
0
0
0
0
-1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
8
21
0
0
2
0
0
0
0
5
0
0
-4
0
0
0
-11
0
0
-1
12
0
0
-6
-1
-17
0
0
0
0
0
0
-3
0
0
-3
8
0
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
0
0
0
5
0
0
0
-3
0
0
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-33
0
0
-6
5
0
-8
18
-8
0
49
31
8
-9
-24
-23
-76
0
0
4
-1
0
0
-8
-17
-1
-22
-36
5
-51
-60
-118
-47
0
0
0
0
0
0
-17
-14
0
8
25
1
-45
0
-22
-4
0
0
0
0
0
0
-15
-1
0
-2
0
0
13
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
5
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
1
-17
4
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-8
0
5
23
0
0
0
-52
-4
0
0
-6
0
0
1
29
14
0
-3
8
0
0
5
8
-43
0
0
3
0
0
0
-13
-4
0
-10
3
-1
2
-1
-21
-37
0
0
0
0
0
0
0
9
0
-9
0
0
0
4
0
-5
0
0
-7
0
0
0
3
0
0
1
-5
0
32
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
1
0
0
-17
0
3
0
21
-9
-1
21
-21
-22
70
4
-18
47
0
0
6
-7
-3
0
-23
-6
0
5
-17
-22
2
65
-65
-30
0
0
0
0
0
0
1
-6
0
-3
13
0
-2
-24
0
89
0
0
1
0
0
0
3
-22
0
0
1
0
1
-58
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
7
1
0
0
0
0
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
2
0
0
0
0
0
0
5
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
-2
0
1
10
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-3
0
-6
-12
0
-3
-42
0
0
-15
45
8
0
0
-15
0
2
0
-5
9
-8
20
-49
0
-2
-29
-10
-12
0
0
3
0
1
0
8
-4
0
-10
1
0
4
24
-4
-13
0
0
0
0
0
0
0
4
0
-4
0
0
0
6
0
-7
0
0
-2
0
0
0
-17
0
0
2
-4
0
0
-66
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
58
0
0
-60
25
-2
-19
-10
-29
0
-100
-23
-59
66
-8
110
-102
0
0
-43
2
-29
-18
-25
12
-2
-44
44
0
29
-92
29
-57
0
0
-53
0
0
1
0
-32
0
-60
-9
-14
9
-70
-27
-12
0
0
-94
0
-1
-87
51
-4
0
-5
8
-1
-9
-141
-83
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
3
0
0
0
-2
15
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
8
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
3
43
0
0
0
0
0
0
0
0
0
19
0
0
0
4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
-2
15
0
0
-22
17
-15
9
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
6
1
0
-9
0
19
42
13
2
-5
-80
-10
0
0
-122
7
-1
5
-10
-64
-2
-65
-27
-33
-17
-80
-21
-56
0
0
7
0
0
0
0
-5
0
40
-56
4
-11
-17
42
-5
0
0
4
0
0
1
0
0
0
-23
-33
0
0
-72
16
-84
0
0
-42
0
-20
2
6
16
0
23
-1
-4
1
-157
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-43
-5
8
7
70
-10
-2
-15
41
8
31
-33
64
68
0
0
14
0
-1
-8
-45
-5
2
2
-28
-1
-62
-29
40
99
0
0
-2
0
-1
0
-21
2
0
-5
-5
2
1
-33
5
8
0
0
0
0
0
0
20
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
8
16
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-5
0
0
0
-3
5
4
13
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
5
-3
-12
25
0
-4
-88
0
1
17
-20
-18
0
0
48
-2
-9
-8
13
18
-4
27
-21
1
1
-5
6
8
0
0
3
0
-5
0
0
0
0
6
2
-1
-1
-5
2
-24
0
0
-3
0
0
0
0
0
0
10
1
0
0
3
0
-77
0
0
0
0
0
0
-5
0
0
5
13
0
0
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
-58
40
9
-2
-18
1
-23
0
0
95
0
0
29
-53
-49
0
-12
42
6
-28
-78
-54
-114
0
0
37
0
0
0
-7
8
0
-5
-8
-1
2
-3
-21
-76
0
0
84
0
0
0
5
0
0
0
-1
0
0
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
0
8
0
8
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
5
0
23
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
0
0
0
-4
-7
0
0
0
0
0
-1
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-4
-3
0
-10
38
0
-4
-2
-27
0
-8
6
-50
0
0
5
0
0
0
0
-2
0
-7
5
0
0
-15
3
-1
0
0
55
0
0
0
-1
-15
0
14
5
3
0
16
-7
9
0
0
26
0
0
0
0
1
0
5
-3
0
0
-5
0
9
0
0
130
0
0
0
2
0
0
-4
-26
-3
0
8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-5
0
53
-21
1
-1
-32
44
-1
0
0
1
-25
0
0
-29
-8
0
10
-9
-17
-15
0
-49
-24
0
0
0
-10
0
0
1
-7
0
0
2
2
0
0
3
4
0
0
0
-8
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
0
0
1
7
0
0
5
0
0
1
-1
0
0
0
0
5
0
0
0
5
1
0
-2
2
0
-1
0
-1
0
0
0
-14
0
0
6
0
0
-1
17
0
0
0
1
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
30
0
0
0
0
0
0
-2
-2
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-12
0
6
1
-1
0
-8
-8
-2
0
0
0
0
66
0
6
0
0
-6
-3
-6
-1
0
-40
-40
0
0
0
0
-44
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
18
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
-12
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
-8
0
16
13
-8
0
76
-40
30
0
0
2
0
0
74
-10
-2
0
1
5
-5
0
-4
-66
-81
0
0
0
0
0
-53
0
3
0
-5
-9
0
0
0
0
-23
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-1
0
0
8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
43
-4
-31
0
7
-10
1
3
0
-6
-4
0
0
0
0
0
8
2
-1
0
4
-2
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
-65
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
-3
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
22
0
54
-60
-36
-20
20
99
-18
0
0
-18
18
-13
-110
6
20
0
-20
-91
-81
-122
117
76
-13
0
0
-17
0
0
-1
119
59
-2
-1
-112
-18
-2
-27
0
-86
0
0
-54
-1
0
0
-40
7
0
-31
-61
-46
-8
11
-71
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
26
0
-37
31
49
-15
49
0
0
0
0
0
0
-7
1
0
8
0
0
0
-2
0
-12
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-1
0
10
0
0
0
0
0
0
1
0
0
8
0
-7
0
0
0
-3
0
0
0
0
0
0
16
2
0
19
-1
-12
0
-17
0
-14
0
0
0
0
0
0
-5
0
0
-9
-31
8
0
13
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
3
1
-20
0
-1
-92
-5
-19
6
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-158
33
6
-5
-35
-82
-1
-3
-4
-9
-12
27
29
34
0
0
6
4
0
3
-25
-12
-8
-66
-49
10
2
-55
-8
-19
0
0
-26
-1
-8
0
63
-42
-6
30
-58
-3
1
-15
-27
9
0
0
4
0
0
0
-22
5
0
5
4
-5
0
-29
0
50
0
0
-38
16
-5
4
-71
-16
0
-102
-121
-80
32
-20
-45
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
-5
-9
-98
35
-24
-100
31
66
0
0
-36
30
14
-43
-1
31
0
-21
-24
-88
-101
45
-120
95
0
0
-48
1
-2
-7
-17
27
-1
-55
-148
11
-15
-41
8
-25
0
0
-29
0
6
0
3
28
0
3
-1
1
15
18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-8
1
50
0
75
-76
0
0
0
0
0
0
0
0
-30
-1
-1
0
0
0
-12
0
-5
0
0
0
0
0
0
-6
-7
-2
4
0
12
0
6
0
-5
0
0
0
0
0
0
0
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
57
0
30
-7
9
16
13
8
17
0
0
0
0
0
0
-8
12
0
0
9
-9
1
1
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
0
6
5
-16
1
7
-36
-33
-30
0
-18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
4
-18
-61
18
2
-19
66
-8
-13
-2
26
8
0
0
-20
5
0
5
-8
-34
5
15
24
-13
0
-8
28
10
0
0
-39
3
-3
-9
-10
-39
2
13
-11
-5
-41
10
-66
-31
0
0
-2
0
-1
-3
2
-7
-4
31
-35
21
4
-4
-2
31
0
0
-12
0
0
0
-4
20
0
-42
-18
8
8
-40
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
0
-8
-3
2
0
0
-1
0
0
1
-2
2
0
1
8
-1
0
0
-5
3
0
0
0
0
0
0
0
4
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
-1
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
-6
-4
1
0
-1
0
0
0
0
-5
0
0
-1
0
0
0
-5
0
0
4
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
-70
-49
42
14
53
-14
0
0
5
-5
-5
8
-8
-87
6
-19
-106
-73
50
107
-27
-51
0
0
-48
3
-15
-7
18
-46
2
-83
-38
-19
-25
1
-10
75
0
0
21
0
0
1
10
8
0
-18
-7
-14
16
-41
-91
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
6
8
-1
-3
0
-43
8
45
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
14
-9
0
0
-4
0
-22
0
0
0
0
0
0
5
0
0
-6
-2
0
0
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-2
0
-15
-19
0
-50
5
-1
-5
6
-53
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-3
-3
0
8
-56
1
-58
31
-14
9
-7
17
-50
0
0
30
4
-1
-27
9
46
1
45
24
6
5
31
-13
13
0
0
-19
0
-3
-2
-66
-6
1
-51
25
1
-24
14
31
1
0
0
5
0
0
-7
2
-2
0
-78
34
1
0
0
-7
-49
0
0
-42
-3
0
-25
3
3
0
-177
-64
-20
-25
-5
-91
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-67
0
-5
12
-48
0
0
0
-6
6
-16
-95
64
-15
14
-10
-50
-27
-1
-85
-88
0
0
4
0
0
17
-34
-165
0
-40
-25
9
-31
-38
58
-80
0
0
-3
0
0
0
48
-37
0
17
-31
8
-5
-19
-83
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
0
-15
0
-17
-4
8
45
-47
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
-1
0
-47
8
1
0
0
0
0
0
0
1
0
0
15
0
0
0
1
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-9
-2
0
4
5
8
13
-19
-63
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
1
-18
30
-57
0
-8
-22
31
-3
25
-5
46
0
0
-10
6
1
3
22
-12
2
4
7
1
0
-15
-44
-22
0
0
-4
-1
0
0
-31
0
1
-28
-53
4
-29
31
-29
4
0
0
5
0
0
0
0
-25
2
22
-69
0
0
12
6
-23
0
0
4
0
-1
-12
46
-4
2
52
-35
31
-9
31
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
39
25
50
0
0
20
0
16
2
30
-3
4
-8
-70
13
-7
-79
-80
-74
0
0
0
0
0
-3
-15
0
0
-7
-12
5
-14
-14
22
5
0
0
-1
0
0
0
-27
-2
0
-10
5
0
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-3
2
0
-3
0
9
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
20
0
10
0
0
0
0
0
0
1
0
0
1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
0
-7
1
0
0
8
3
6
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
1
61
9
0
3
7
0
0
5
-57
0
0
0
5
0
1
-1
-16
13
-5
-4
-18
4
0
-3
-4
10
0
0
2
0
0
0
-10
-2
0
-7
-56
-2
8
1
-20
4
0
0
0
0
0
0
1
1
0
-8
-2
0
0
22
0
19
0
0
29
0
0
0
7
0
0
43
11
9
0
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-84
12
-51
0
0
-33
0
0
-9
50
5
-2
2
-16
-8
63
60
-132
-74
0
0
-1
0
0
0
-25
-48
0
13
12
0
58
-12
5
-100
0
0
0
0
0
0
-35
1
0
0
4
0
7
-5
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
9
-15
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
-2
6
0
0
13
0
7
13
-10
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
1
93
-52
0
-6
-22
12
18
-13
81
-44
0
0
14
0
0
0
-56
-8
0
-5
50
4
0
-6
-9
-3
0
0
2
0
0
0
-14
-7
0
12
-23
1
48
-8
-47
12
0
0
0
0
0
0
0
-1
0
-17
-16
0
5
10
0
-64
0
0
56
0
0
0
-21
0
0
-7
72
6
44
42
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-24
18
0
0
-45
-24
-6
43
-60
-169
4
56
-116
5
-8
42
-22
-37
0
0
-5
4
-14
-29
-48
-30
9
11
-25
-36
8
-88
-49
-17
0
0
-14
7
-25
-6
-104
21
0
30
-52
13
-43
-15
-137
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
22
-43
30
-35
-8
3
-17
-40
0
0
0
0
0
0
0
4
-1
0
0
0
0
-1
0
-14
0
0
0
0
0
0
0
0
3
-1
0
18
0
-2
0
-12
0
0
0
0
0
0
0
0
0
4
0
0
0
1
5
13
0
0
0
0
0
0
0
17
0
-13
-31
-13
0
-81
-2
44
0
0
0
0
0
0
-14
0
0
25
1
3
0
13
15
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-5
5
5
15
-27
0
31
-21
-13
-20
-10
-123
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
10
1
2
-97
-6
6
45
-96
-18
-29
3
0
-43
0
0
6
0
0
35
2
-73
-5
-45
-19
-31
6
-16
-59
-10
0
0
-52
0
13
15
4
-27
0
-6
-79
12
1
-41
-77
-10
0
0
-26
0
-5
-2
-67
-70
-1
-42
71
7
12
-20
-45
-12
0
0
-31
-5
26
19
-84
-33
1
-25
18
-20
-64
-114
-21
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-32
0
0
-61
-26
37
-64
-109
-22
5
-23
-58
-51
-130
103
-1
-46
0
0
-22
0
-3
-27
0
-15
-2
-46
-161
-34
-69
-88
11
46
0
0
7
0
1
0
-42
-19
6
-24
130
-24
-32
-62
-11
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
6
-3
5
-29
-46
-59
20
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
3
0
0
0
0
0
0
0
0
0
-8
0
2
0
32
-9
41
0
0
0
0
0
0
0
0
0
13
16
1
0
4
23
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
2
-1
-23
-6
-1
-6
-11
9
5
-94
-36
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-7
-25
-44
-6
-83
-4
-5
-58
33
19
-52
-96
-26
0
0
-24
-17
5
-8
4
-88
1
-37
110
23
-15
37
-91
72
0
0
3
0
-10
-4
-15
-28
-3
-66
-130
-6
-6
-54
-71
3
0
0
-39
0
0
0
0
-2
0
-32
37
-4
0
-53
45
0
0
0
-69
5
-22
-3
-49
-66
0
-28
-124
-49
32
-82
-89
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
0
0
-68
10
-10
24
-44
21
0
-57
-53
-56
-8
-23
-41
50
0
0
-8
0
1
-29
-49
-26
3
-14
-62
-31
-57
-96
-11
7
0
0
-5
0
0
0
15
0
0
-30
22
-8
7
-36
-77
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
12
-8
4
-5
-8
-39
-10
59
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
6
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
0
31
-4
12
1
-15
12
48
0
0
0
0
0
0
-4
0
0
-15
-7
0
0
25
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
1
-1
-19
-76
12
2
4
-70
-8
26
-17
-16
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
10
24
58
-191
-32
0
-46
16
18
12
-22
-29
13
0
0
-6
-1
3
-5
30
-33
-10
-50
-45
-25
-3
-32
-30
-104
0
0
-77
0
-4
0
-60
9
-5
-57
-60
-31
-54
-36
-46
-105
0
0
0
0
0
-3
-14
4
0
-14
-53
5
0
-49
-2
-85
0
0
24
0
-5
-5
-45
0
0
-91
-4
20
-42
-133
45
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
9
0
10
19
0
-17
-1
4
-21
-18
-42
24
0
0
48
0
0
0
5
2
0
-1
-20
0
-8
13
-24
-31
0
0
78
0
0
0
23
9
0
14
0
0
0
-18
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-4
5
-9
-13
5
-17
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
1
0
0
8
0
20
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
-8
0
0
1
0
3
-5
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
-6
0
-25
4
0
-9
-34
-8
6
-5
18
-6
0
0
-43
0
0
0
-28
20
18
-16
2
-5
-2
-37
-25
-12
0
0
42
0
0
0
0
-5
0
0
-15
6
-1
0
1
-3
0
0
-19
0
0
0
0
-5
0
-2
-2
0
0
10
0
-13
0
0
28
0
0
0
8
0
0
-8
-26
0
-3
-8
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
-23
0
1
3
0
1
0
10
1
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
-10
0
0
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
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
2
-7
0
0
5
0
0
0
0
0
0
0
2
20
0
0
-5
-13
0
0
2
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
-41
12
0
6
-6
0
1
-3
20
-25
0
0
0
0
29
0
0
9
0
-1
0
0
0
3
0
-30
0
0
0
0
60
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
3
0
6
0
1
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-4
-4
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
9
0
-86
-14
0
1
7
0
0
0
-31
2
0
0
-3
0
-30
0
3
4
1
10
7
0
0
-3
-14
39
0
0
0
0
-15
0
0
0
0
-1
-1
0
0
0
0
6
0
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
-61
0
-3
0
0
1
0
0
0
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
-6
0
-14
0
0
-6
0
-10
5
0
0
0
0
0
39
-2
7
0
-3
0
0
0
0
0
5
0
0
6
0
0
-10
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
1
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
8
2
-14
0
8
4
0
0
0
-25
-15
0
0
-1
0
0
-5
-5
-1
0
9
-7
0
0
0
-2
-74
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-57
0
-92
-68
-26
-6
-31
-59
-7
0
0
20
0
0
0
83
-41
0
-66
-111
14
-34
75
0
53
0
0
-22
0
0
1
-5
-50
-2
-50
-38
-49
-4
-20
-31
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
20
1
16
-5
-2
7
11
-19
-26
0
0
0
0
0
0
-4
0
2
1
0
0
0
1
0
-13
0
0
0
0
0
0
-8
0
-2
-2
0
-8
-1
1
0
1
0
0
0
0
0
0
13
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
3
1
0
18
3
-4
0
-3
0
-41
0
0
0
0
0
0
44
0
0
17
12
1
1
2
-16
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
99
-57
0
-6
-5
3
-59
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
15
-3
-7
-35
-66
1
19
16
-18
-17
10
21
-34
0
0
1
0
-4
-2
-1
23
-2
-15
17
66
-10
23
-49
-94
0
0
-6
1
-7
0
75
-20
-2
-19
-51
-5
-12
9
-10
-17
0
0
0
0
0
0
-31
-1
0
-35
33
0
0
-29
0
-96
0
0
-33
-1
1
2
-13
-7
0
-3
-130
24
-4
8
-28
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
152
10
-10
20
54
20
-21
27
66
0
0
-31
-8
5
0
-10
-8
2
73
-22
-9
8
-58
10
6
0
0
-29
0
10
0
15
-26
0
-1
-12
1
0
8
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-46
0
8
-19
-7
1
-4
-27
-5
0
0
0
0
0
0
0
8
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
-6
0
0
0
-1
5
3
0
0
0
0
0
0
0
2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
-8
-41
-6
5
-5
-9
0
0
0
0
0
0
-14
1
0
-25
-8
5
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-1
0
2
30
-1
6
1
-70
2
-2
-31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
3
14
-1
-61
-9
6
-39
-12
7
-9
4
-117
25
0
0
-34
-2
9
-3
-46
-13
15
48
-20
5
3
-43
2
-31
0
0
-6
0
-8
0
3
15
-1
21
-14
0
0
8
10
-4
0
0
-4
0
-1
0
-12
-34
-4
8
-42
-4
-3
1
3
8
0
0
-10
0
0
0
5
-53
0
-27
-33
3
-5
-19
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-1
0
-1
0
-13
3
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
6
1
0
0
1
0
0
0
3
7
0
0
-3
0
0
0
-3
-2
-2
-4
1
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
27
21
31
79
-9
46
0
0
25
0
0
4
-32
23
0
-67
0
25
42
-42
6
-85
0
0
-8
0
0
0
-4
-1
0
-63
5
-5
-9
-3
42
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
17
8
7
-18
1
-2
-63
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
-4
0
2
2
-1
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
32
0
-24
7
0
0
-7
0
8
0
0
0
0
0
0
-1
0
0
20
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-8
-20
0
-58
1
2
6
-3
-2
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
1
-4
47
20
0
5
17
1
-10
3
-61
-17
0
0
7
4
0
-2
-17
-25
3
-59
-3
-27
-10
95
-52
-32
0
0
-12
0
-1
0
29
-2
0
-6
-9
1
-6
2
46
25
0
0
-4
0
0
0
-2
-2
0
-56
-17
2
-2
-3
0
40
0
0
-51
2
39
-1
-44
-4
0
-21
-72
-17
-10
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-70
-24
-6
-197
0
0
8
0
0
-2
-18
-49
-1
-28
-62
1
-32
-44
-52
-84
0
0
14
0
0
0
-117
12
0
-6
22
0
-1
-16
-59
-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
1
1
2
-18
-4
-7
-3
2
-57
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-3
0
-17
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-9
0
0
6
-5
-1
17
1
21
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
0
3
-94
-14
0
9
-4
-13
-4
5
-49
-25
0
0
10
0
8
-5
-123
-21
-8
-25
31
-22
-3
-43
13
-38
0
0
5
0
0
0
-4
-7
0
-6
-9
0
0
0
2
-21
0
0
2
0
0
0
0
-8
0
-25
0
0
0
5
0
-10
0
0
14
0
8
0
-35
-3
0
-16
-15
3
0
-9
-148
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
-101
5
0
0
0
0
0
0
-25
-8
0
1
-17
0
-3
-18
1
-19
0
0
0
0
0
0
-58
5
0
-1
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
1
0
0
0
2
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-1
0
0
0
5
0
5
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
-1
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
-8
8
0
8
1
0
0
1
-27
-3
0
0
-9
4
-1
0
-18
-31
-2
1
-14
0
0
7
-13
-34
0
0
0
0
0
0
-12
1
0
-3
-3
24
0
0
0
-9
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
-4
0
0
-7
0
0
0
1
0
0
-7
-12
0
0
-4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
31
-48
0
0
-7
0
0
-5
9
-13
-6
-73
-59
1
-66
-33
-63
-59
0
0
-8
0
0
0
-44
-31
0
14
-29
-12
-84
-10
-16
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-2
-12
0
-8
1
-13
30
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
0
3
0
0
4
2
2
-18
0
0
0
0
0
0
-2
0
0
-8
-12
0
-1
15
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-23
27
0
-6
-41
4
-56
-13
-33
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
-8
-3
-8
-115
-10
1
-2
-26
16
50
-7
-91
51
0
0
-8
3
0
-1
58
-4
0
-9
91
-12
-2
-90
-169
-12
0
0
-7
0
0
0
-18
0
-6
-12
-53
3
-76
-2
-58
-76
0
0
-2
0
0
0
0
0
-4
-38
-7
-2
5
-31
-6
-52
0
0
-10
0
0
-4
-16
2
2
9
-14
3
-235
-50
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
34
-95
0
0
8
0
0
0
-34
-24
0
17
-77
0
1
-41
-41
-42
0
0
15
0
0
0
-89
1
0
-8
-29
0
-5
-26
-39
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
11
0
-4
3
5
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
17
0
10
0
0
0
0
0
0
4
0
0
4
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-28
-14
0
2
-17
-8
-7
-40
23
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
-5
-4
-13
0
5
-9
4
-4
-55
3
-26
0
0
22
-2
-1
0
19
32
4
-32
33
-8
0
39
-142
64
0
0
0
0
0
0
3
-4
0
0
19
0
0
41
3
1
0
0
3
0
0
0
0
-1
0
1
-16
0
0
-88
0
92
0
0
-13
0
0
0
7
19
0
-2
27
13
-1
-76
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
8
0
0
-65
1
-7
-117
0
-50
-4
22
-82
-94
-33
-177
5
-47
0
0
-150
-2
-42
9
39
27
-2
-12
-43
-15
-107
15
-92
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
23
-22
1
-5
-6
72
-30
39
0
0
0
0
0
0
0
-2
17
2
0
0
0
15
2
-5
0
0
0
0
0
0
0
0
0
5
0
1
0
-35
5
-7
0
0
0
0
0
0
0
0
0
5
0
-1
0
1
-9
-5
0
0
0
0
0
0
0
-5
0
-42
-3
7
0
21
69
59
0
0
0
0
0
0
-1
0
0
3
-26
0
3
-42
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-2
-3
-16
-66
0
-50
-51
24
-65
-122
-164
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
12
-121
-3
-14
-49
5
-55
-35
-4
-105
9
-114
-51
0
0
-81
-38
-50
-103
-29
-18
25
42
-116
-109
8
-70
-84
-59
0
0
-8
0
-24
-2
-4
-3
0
-56
73
-17
17
-63
23
-27
0
0
-20
0
-13
-5
0
4
0
-89
0
13
4
-81
-10
-121
0
0
-80
-14
-110
14
-50
-48
-6
-10
-9
-32
4
-22
-54
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
2
0
1
-107
-63
-10
-1
-22
-62
-43
-44
-67
-9
-21
0
0
-37
0
-12
-22
-52
0
-1
0
-45
-5
99
-61
-46
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
41
-40
-13
-19
-22
-24
1
-31
0
0
0
0
0
0
0
0
3
-1
-1
0
0
1
1
-8
0
0
0
0
0
0
0
0
2
5
0
8
0
10
-1
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
-14
0
0
0
0
0
0
0
-1
0
19
4
-12
-2
-32
-31
50
0
0
0
0
0
0
6
0
0
-3
-1
0
0
0
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-12
-2
-45
-25
0
-17
-40
5
-70
-13
-129
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
27
5
1
-7
4
-5
25
-95
27
5
-41
-20
-7
0
0
-96
77
24
-68
-25
-43
15
8
-44
-45
22
-10
-58
-17
0
0
-4
0
-6
-12
36
-6
9
-72
111
-18
-12
-80
-121
-105
0
0
-20
0
-3
5
-2
-24
-8
-17
-67
-2
-4
14
-4
8
0
0
39
6
-54
-51
-82
0
-5
-48
28
-54
-19
-25
-111
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-4
0
-22
12
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
-3
-9
0
0
-7
0
0
0
-1
-5
0
0
43
0
0
0
8
10
0
-5
0
0
0
-14
0
15
0
0
-31
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
-2
0
0
0
0
0
0
0
-2
0
0
2
0
0
-56
0
1
0
6
0
0
0
0
0
-4
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
6
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-107
-24
0
0
-2
0
0
0
0
1
0
0
6
0
0
0
-40
-13
0
1
9
0
0
-2
0
-42
0
0
0
0
0
0
41
0
0
6
-22
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
2
2
1
-10
0
33
0
0
-2
0
0
0
-10
-44
0
-5
0
-1
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-5
2
33
0
-41
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-122
0
0
-4
-18
-6
-4
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-3
2
-5
-100
0
-5
8
8
-1
7
-60
-12
0
0
2
0
0
2
24
43
0
-33
-38
-5
0
-10
-24
-13
0
0
9
0
0
0
0
-17
0
0
5
5
-15
-3
4
-3
0
0
0
0
0
0
0
14
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-33
0
-4
31
0
0
-25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
8
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
12
0
13
0
0
0
0
0
0
13
-19
0
-36
0
0
0
-9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-7
0
-1
0
0
0
4
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
5
-10
0
-12
-16
0
3
5
-10
14
0
0
-7
0
0
0
-13
25
-4
16
-13
0
0
-9
24
-19
0
0
0
0
0
0
-1
2
0
-78
15
0
5
0
0
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
-15
0
0
-58
-16
0
6
15
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
-8
0
0
0
0
0
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
10
-21
0
0
6
-2
0
-2
1
10
0
0
13
0
0
0
5
17
0
-25
9
0
0
-42
4
-75
0
0
0
0
0
0
0
-1
0
0
-20
0
0
0
-3
-12
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
1
-7
0
0
-1
0
0
0
-14
-2
0
2
-3
0
0
-13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
-1
0
0
0
0
-101
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-1
-46
0
0
-21
-1
-10
0
3
5
0
0
0
0
0
0
-19
-8
0
-2
-6
0
1
6
0
-21
0
0
0
0
0
0
0
1
0
-8
-4
0
-57
4
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-146
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-13
0
0
0
0
0
0
0
-5
0
0
-12
0
0
-42
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
-20
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-8
0
0
-9
0
-2
-45
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
15
-56
0
3
30
2
0
-15
19
45
0
0
-22
0
0
0
-2
-8
7
-1
-7
1
2
-38
-15
-56
0
0
0
0
0
0
1
-1
0
-9
-20
0
6
59
-3
-32
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-2
0
0
-2
0
0
0
-1
0
0
22
-48
0
0
-79
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
46
0
0
7
-15
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
-6
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-22
0
0
3
13
-110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
-76
0
0
-20
0
0
0
124
22
0
0
-45
0
0
0
0
-29
0
-6
0
0
0
-59
57
7
0
0
0
0
0
0
0
0
0
-9
35
0
0
0
-10
-194
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-4
0
-4
14
0
0
31
76
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-16
0
0
0
-89
0
0
-3
-101
7
-20
73
-71
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
5
-12
9
-62
20
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
6
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
-7
20
0
-3
-37
8
10
27
-8
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-113
7
5
20
30
-8
0
18
-30
-5
1
-6
-30
-137
0
0
-47
-17
-1
25
-22
-5
0
-34
-98
-39
-24
-47
29
-71
0
0
-20
1
4
6
-66
-2
-1
-30
-35
-18
-8
26
-94
-61
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
-25
0
0
-57
0
1
8
-32
0
0
-15
5
6
63
8
-37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-5
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
-15
-5
0
0
-9
0
0
0
11
0
0
0
-7
0
0
0
-4
12
0
13
-1
0
0
-27
-8
-19
0
0
9
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
13
-2
0
2
-3
-8
-3
3
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-27
0
0
0
12
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-10
2
-9
8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
26
25
0
-5
61
-8
15
4
-8
-13
0
0
-8
0
0
1
-11
-2
-1
-16
-19
12
0
-4
5
-20
0
0
13
0
0
0
5
0
0
4
-90
5
13
-5
1
41
0
0
0
0
0
0
43
0
0
8
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-4
0
-1
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
-1
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
5
-51
0
-5
-7
-2
0
0
-8
0
0
0
3
0
0
0
1
108
0
5
-18
0
0
-12
-4
0
0
0
1
0
0
0
0
-23
0
-6
-7
0
9
0
1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
-27
0
0
0
0
24
0
-7
-5
0
0
0
-15
3
0
0
10
0
0
0
-19
-7
3
-93
0
0
0
6
-5
8
0
0
0
0
0
0
0
0
0
-32
6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
4
3
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-7
-8
0
5
-7
-3
0
0
-14
0
0
0
-15
0
0
0
-69
14
0
-19
3
0
0
-50
-4
-6
0
0
0
0
0
0
-1
0
0
-13
-5
0
0
-4
-5
-48
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-1
0
4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-28
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-30
2
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
-55
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
-10
-10
0
1
-13
3
0
55
-35
0
0
0
-18
0
0
0
-19
0
1
-10
2
0
0
16
1
15
0
0
0
0
0
0
-4
0
0
15
4
0
0
8
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
2
0
0
7
0
-4
0
-36
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
0
-4
0
-13
0
0
-4
-14
2
12
-18
0
0
0
-56
1
1
4
14
-5
0
56
-75
-3
0
-50
-18
-17
0
0
-3
0
0
0
0
1
0
4
-16
9
-4
-2
-26
-46
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-50
0
0
0
1
0
0
0
-66
37
0
0
-7
0
0
0
9
0
0
1
9
0
0
3
-9
5
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-71
-5
0
0
0
0
0
0
0
1
0
0
4
0
0
0
18
2
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-3
-32
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
33
0
0
-4
2
0
3
-2
0
0
0
0
0
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
22
0
1
-1
0
0
0
7
-3
0
0
0
0
0
0
3
-5
0
-8
-2
2
0
-6
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
4
0
0
2
0
0
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-2
-4
6
9
0
-2
2
13
0
0
15
29
0
0
-5
0
0
-7
16
6
0
0
12
3
2
6
4
5
0
0
4
0
1
0
3
1
0
0
8
0
0
-1
-3
16
0
0
0
0
0
0
0
2
0
-1
0
0
0
1
0
2
0
0
6
0
0
0
13
-3
0
0
-27
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
0
0
0
0
-8
0
0
0
2
0
0
0
8
1
0
0
0
0
0
2
-3
1
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
7
0
0
-1
8
0
0
0
-3
1
0
0
5
0
0
-3
-12
4
0
-1
9
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
22
2
0
1
0
0
0
0
6
-8
0
0
-5
0
0
-4
-17
9
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
1
0
0
0
0
0
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
1
0
4
0
0
-1
0
0
-24
-1
-1
-10
-8
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
3
10
0
1
15
-2
0
0
39
-25
0
0
-46
0
5
-3
-16
-8
1
-3
14
-1
0
-8
-4
-66
0
0
0
0
0
0
2
-1
0
-2
-16
0
1
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-4
0
0
-45
0
-2
0
-30
0
0
-6
-9
-1
0
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
4
0
0
-2
0
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
6
24
0
-5
0
0
0
-1
8
-4
0
0
-5
0
0
1
-6
-13
0
1
13
0
0
-3
-31
-3
0
0
0
0
0
0
0
3
0
0
-8
0
1
0
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-9
0
0
0
0
0
0
0
-15
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
6
-4
0
0
-3
0
5
-6
-1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
4
1
59
-6
0
-3
28
7
0
-1
66
33
0
0
-12
1
-1
-7
14
-8
4
-8
-32
0
0
-9
-8
-10
0
0
-8
0
0
0
21
-4
0
-23
37
0
1
0
-3
-51
0
0
0
0
0
0
0
-7
0
-12
0
0
0
10
0
8
0
0
-82
0
0
0
-24
0
0
0
-34
6
3
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
-7
4
0
0
0
0
0
0
2
1
0
0
4
0
0
0
-10
2
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
6
0
0
0
0
0
0
-2
2
0
0
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-9
-8
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-4
0
0
1
0
0
0
6
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
1
3
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
5
0
0
0
-3
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-1
26
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
61
0
0
4
0
0
0
-21
30
0
0
16
0
0
0
-25
5
0
0
-1
0
0
6
1
-9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
16
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
3
-1
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
14
4
0
-3
-1
-1
0
1
12
10
0
0
15
0
0
0
-6
-17
0
-7
-1
0
0
8
-1
-14
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-10
0
0
0
0
0
0
71
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-30
-21
0
-4
10
0
0
-1
-9
-58
0
0
-3
0
0
0
43
1
0
-1
1
0
0
13
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-15
-9
0
0
-1
1
0
5
-24
-3
0
0
0
0
0
2
-28
5
1
7
2
0
0
2
-1
0
0
0
0
0
0
0
2
1
0
0
-6
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
4
0
0
-1
0
0
0
-22
10
0
0
2
0
0
0
25
1
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
9
0
0
1
0
0
0
44
1
0
0
4
0
0
0
5
-6
0
-2
-2
0
0
-10
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
1
0
0
0
10
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-5
1
0
0
0
-2
0
1
-26
16
0
0
-28
0
0
0
8
-34
0
-5
3
0
0
-24
-2
-16
0
0
-3
0
0
0
0
0
0
-4
5
0
0
4
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
3
0
-18
0
0
-17
0
0
0
0
0
0
0
-4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
5
0
0
0
0
0
0
9
2
0
0
4
0
1
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-12
0
0
0
0
0
0
-1
2
0
0
0
0
0
10
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-147
8
0
1
39
-2
0
0
0
5
0
0
-5
0
0
0
44
-2
1
1
-7
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
0
5
0
0
0
0
-8
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-50
0
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
0
-15
-81
0
5
8
-3
0
0
-5
-3
0
0
-13
0
0
-1
-6
-144
2
1
0
1
0
-9
0
-4
0
0
0
0
0
0
0
22
0
1
-5
-3
-1
7
-6
0
0
0
0
0
0
0
0
-38
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
44
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
1
18
0
1
-1
0
0
0
-3
-2
0
0
0
0
0
0
0
-2
0
-1
-1
0
0
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
-7
18
0
1
0
-8
0
-1
-24
-5
0
0
-8
-5
2
0
-4
-7
-3
2
21
0
0
-29
4
11
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
-2
0
0
-5
0
0
0
1
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-1
-1
8
0
0
0
0
0
0
-1
-1
0
0
-4
0
0
0
-8
0
0
0
-6
0
0
0
1
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
4
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-21
-3
0
1
21
-1
0
1
-12
-17
0
0
-5
0
0
0
-7
6
0
0
-1
0
4
7
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
-105
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
2
0
-5
-8
0
-2
2
0
0
-8
3
2
0
0
7
0
0
1
-3
-15
3
-5
2
0
0
-1
21
14
0
0
0
0
0
0
0
0
0
0
-6
0
0
14
-4
13
0
0
0
0
0
0
0
-1
0
0
0
0
0
-37
0
-12
0
0
-3
0
0
0
0
0
0
2
-18
0
0
-166
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-9
-14
-23
0
6
-16
-4
0
-1
-158
-13
0
0
8
0
0
-3
2
-4
5
-6
-16
0
0
-34
-59
-57
0
0
-3
0
0
0
0
0
0
-2
1
-1
0
5
-120
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
3
-25
0
0
-8
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
-1
-22
-7
5
0
-3
-31
-13
0
6
-48
-44
0
0
-46
0
-2
2
-15
-4
-6
5
-8
-3
-1
-17
-5
-172
0
0
-2
0
0
0
-15
0
0
0
-3
-1
0
-2
-8
-117
0
0
0
0
0
0
0
0
0
-6
0
0
0
-8
0
-111
0
0
0
0
0
0
-2
0
0
0
-70
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
-1
3
19
0
10
-34
8
0
-12
35
-5
0
0
-20
0
3
-4
4
-27
-5
19
-34
-4
-7
-44
-29
-58
0
0
-28
0
5
1
-1
33
1
-8
30
3
5
13
-25
-48
0
0
9
0
0
-1
3
0
0
-8
-20
0
0
-1
14
-85
0
0
-71
0
-3
-1
-5
-2
0
-8
19
0
2
-23
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
20
0
0
5
-1
0
0
3
1
0
0
0
0
0
0
0
6
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
0
1
0
0
0
-1
0
3
0
0
-8
0
7
0
0
0
0
-6
-8
0
0
5
0
2
0
0
0
0
13
0
0
1
0
0
3
0
1
0
0
-1
0
0
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-101
-5
-4
0
-4
22
0
0
8
0
-2
0
0
0
0
0
-3
1
0
0
0
1
0
0
0
0
-6
0
0
0
0
0
6
0
1
0
1
0
0
0
0
0
8
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-4
0
19
-75
-3
2
0
-5
0
0
0
0
1
0
-3
-60
32
-1
46
5
-7
7
-69
0
-3
0
0
8
0
-15
0
-65
-3
-2
32
-16
10
11
-22
-12
20
0
0
0
0
0
0
-40
1
0
24
-14
0
0
-8
0
15
0
0
-5
0
-2
0
61
0
0
-24
-134
-9
12
-18
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
11
9
-2
-33
-4
-50
8
0
0
-31
-8
6
6
13
20
-2
1
-34
-8
-24
-3
-34
17
0
0
2
0
-5
-8
-12
-56
2
17
-32
2
-32
-2
-24
-54
0
0
0
0
0
0
6
-26
-4
57
-31
-3
0
18
-3
44
0
0
-13
0
0
0
-13
-82
0
-52
-27
0
-13
5
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
1
7
-15
0
0
-7
0
3
1
-7
0
1
7
-8
2
0
20
-7
35
0
0
-7
0
0
0
5
0
0
9
13
0
-1
0
2
0
0
0
0
0
0
0
0
1
0
8
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
-31
-4
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-4
6
30
-5
0
0
14
0
1
0
26
-2
2
5
-3
15
-3
29
-28
25
0
0
-2
0
1
0
-14
-5
0
5
19
2
7
5
1
-15
0
0
0
0
0
0
0
3
0
24
1
0
0
3
0
0
0
0
-9
0
0
0
11
-2
0
12
28
-3
6
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
2
3
0
0
0
0
-5
-1
-18
0
0
0
0
0
0
5
-10
0
-1
-2
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-9
0
0
0
0
0
0
-1
39
0
0
-9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
8
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
1
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-8
0
1
0
10
-6
-1
0
25
0
0
71
-2
0
0
0
0
0
0
0
0
1
0
0
8
0
0
-1
0
1
0
0
0
0
0
0
0
2
0
-1
0
0
0
16
0
2
0
0
14
0
0
0
12
0
0
0
-2
0
0
-13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
2
0
0
17
0
2
-5
-30
-13
1
68
-43
-13
19
-52
-173
-72
0
0
-9
0
-9
-1
6
-22
-3
-13
-113
9
-4
-3
-71
-86
0
0
25
0
0
0
0
-4
0
9
24
0
0
64
76
21
0
0
18
0
0
-4
12
0
0
-39
-189
0
25
-26
-115
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
5
2
-1
3
-3
2
3
-23
53
0
-7
15
-6
89
0
0
-5
0
-3
2
-25
-4
2
12
-13
-4
6
17
-17
-139
0
0
2
0
0
0
0
-1
0
-16
5
0
0
8
1
47
0
0
0
0
0
0
1
0
0
-4
-5
0
0
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
-5
22
-6
-2
4
0
-24
1
-1
0
0
-26
0
0
0
39
13
0
-3
-12
-1
9
0
25
-35
0
0
4
0
0
0
0
-8
0
49
6
0
2
15
0
-39
0
0
125
0
0
0
8
0
0
-9
-22
-20
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
-8
0
0
0
0
0
21
0
0
0
-6
4
0
0
0
1
-25
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
19
14
-5
-10
0
-103
1
25
0
0
-1
0
0
-1
-80
-10
5
-13
-49
-12
-9
-14
-22
-7
0
0
0
0
0
0
-72
0
0
-6
1
-3
0
23
0
13
0
0
-5
0
0
0
-67
0
0
-5
-127
4
0
-4
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
2
-25
-20
-2
0
-1
-1
-3
0
0
-3
0
0
0
-1
-58
0
12
5
0
2
-16
6
-4
0
0
0
0
0
0
0
-78
0
-15
-13
-2
0
-8
0
-9
0
0
-3
0
0
0
0
10
0
-3
3
5
0
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-1
7
0
0
4
0
0
0
0
2
0
-1
2
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
-2
0
0
1
3
1
0
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
0
0
13
-5
-17
0
0
23
0
0
0
-2
5
0
-56
-2
5
-8
-1
-4
-41
0
0
0
0
0
0
0
-7
0
-50
0
0
0
-5
0
-18
0
0
-4
0
0
0
0
0
0
-19
-22
-5
0
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
0
3
3
-49
0
0
2
0
0
3
-5
-10
-1
-1
1
-2
8
-1
1
14
0
0
0
0
0
0
0
-4
0
-4
3
0
0
5
0
34
0
0
-18
0
0
0
-13
2
0
12
-4
-4
0
64
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-6
0
0
3
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-26
0
0
-1
0
0
0
-28
10
0
-5
8
-1
1
-43
19
-16
0
0
0
0
0
0
0
2
0
-13
1
0
0
-76
0
-17
0
0
-77
0
0
0
-9
0
0
13
-40
-9
12
-44
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
-3
0
0
0
0
-2
0
-27
2
0
0
0
-90
-14
0
0
0
0
0
0
0
0
0
24
0
0
0
4
0
-41
0
0
1
0
0
0
0
0
0
-1
55
0
0
25
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
-13
0
-3
-1
-10
0
0
-9
-60
-3
-8
22
-19
-172
0
0
5
0
0
1
0
0
0
-30
-13
0
0
9
0
-190
0
0
-8
0
0
0
-7
0
0
-26
-74
0
0
-59
-44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
-10
5
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-40
0
0
-2
-70
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-6
9
-4
0
-7
8
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
-5
0
0
7
0
0
0
1
0
0
-152
-84
0
6
-10
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
-23
0
0
0
0
0
0
0
0
0
1
-1
0
0
-7
0
-47
0
0
-45
0
0
0
-51
-3
0
-4
13
-2
0
-13
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
1
0
0
0
-3
0
0
0
-8
0
0
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-4
0
0
0
0
0
0
0
0
0
4
0
0
0
-8
0
-10
0
0
0
0
0
0
0
0
0
-1
-31
0
0
-4
-184
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
3
0
0
0
0
0
0
5
-4
0
0
0
0
-72
0
0
-28
0
0
0
-15
0
0
4
-241
-5
0
-27
-57
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-136
-20
0
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-49
0
0
-84
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
-87
0
0
-12
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
97
0
24
0
0
0
42
0
-146
0
0
0
0
0
0
51
0
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
-40
-71
0
-8
0
0
0
0
0
5
0
0
0
0
0
0
41
0
0
-6
0
0
0
0
0
-3
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
-2
0
-12
-31
0
-52
48
-1
25
28
-23
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-24
37
0
-17
30
0
-8
42
-14
5
0
0
74
-3
0
0
20
1
0
42
38
13
-3
-4
-41
-31
0
0
-30
0
19
0
-81
110
-2
-11
-76
-25
-12
12
60
27
0
0
0
0
0
0
-7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
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
3
0
0
-4
0
0
0
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-19
31
0
-8
0
0
0
3
1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
10
-6
-5
-20
95
0
9
13
-1
0
-2
14
15
0
0
20
0
0
3
22
-58
-10
-11
19
-21
0
-7
-9
27
0
0
-3
0
-10
0
17
-17
0
-37
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-43
0
0
0
-1
13
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
0
-8
0
0
0
-8
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
0
-22
0
-3
41
0
-23
-13
27
88
19
-74
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-55
-52
0
4
5
-3
-12
16
-25
-2
0
0
-16
1
-1
0
-27
18
-1
-20
-7
-11
0
-17
-23
-10
0
0
1
0
37
-1
-48
-78
3
-3
4
5
70
29
0
41
0
0
2
0
0
0
0
-54
0
5
0
0
3
2
0
0
0
0
0
0
0
0
0
-18
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
-37
0
0
6
0
0
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
5
-4
47
-43
0
-3
-16
0
0
-6
-16
2
0
0
-20
0
0
0
-40
-70
-2
9
-10
-2
0
-33
-12
-14
0
0
2
0
6
0
10
-33
0
5
2
0
0
0
5
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
50
25
0
-1
0
-1
0
4
9
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
2
0
0
-1
-2
0
-2
-4
-1
0
0
10
0
0
0
-17
-26
-1
42
-17
-12
0
-19
21
29
0
0
-6
0
1
0
-17
-18
7
9
5
0
13
2
39
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
13
52
0
1
2
0
0
3
7
-8
0
0
0
0
0
0
15
-18
-1
9
1
0
0
-2
10
5
0
0
0
0
0
0
2
0
0
3
3
0
0
0
0
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
-138
33
9
2
18
30
60
0
0
0
0
0
0
-8
2
0
16
0
0
0
9
-12
-14
0
0
0
0
0
0
16
-22
0
-72
0
-7
0
3
-8
1
0
0
0
0
0
0
6
7
0
-12
0
0
0
0
9
0
0
0
0
0
0
0
0
80
0
-8
0
0
0
-3
0
-22
0
0
0
0
0
0
6
0
0
22
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
75
-6
4
9
-5
-43
-4
2
24
26
-32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-4
-14
-5
24
-38
0
87
66
51
27
-73
-49
28
0
0
9
-15
-22
97
33
15
-16
-30
-37
26
2
51
-25
-6
0
0
56
30
41
5
-46
-28
2
-114
-19
10
32
25
15
32
0
0
-19
1
17
2
33
-28
6
-47
11
8
15
-3
-17
24
0
0
59
0
-2
0
66
42
2
-15
-1
0
-2
-25
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
2
5
0
-5
0
-6
4
-13
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
4
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
27
0
-28
89
0
-4
29
5
14
35
1
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-3
134
9
-42
56
0
-67
-34
67
29
8
-50
75
0
0
71
7
16
39
22
58
-7
-87
129
-17
-7
34
-32
-13
0
0
40
0
52
9
7
-25
0
68
3
-24
-21
2
-60
-35
0
0
3
0
2
3
12
49
0
32
13
0
0
3
0
-49
0
0
81
0
13
1
35
22
0
-6
-10
0
-1
-14
-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
3
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
4
0
-58
-9
0
-5
-7
1
-29
49
72
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
5
27
0
-12
-7
2
0
5
68
0
0
0
-15
-3
0
0
-63
73
4
-43
7
-25
-2
27
29
-92
0
0
15
0
5
-3
-17
21
-3
32
13
1
15
4
50
-8
0
0
0
0
0
0
1
2
0
16
0
0
0
-5
0
-26
0
0
0
0
0
0
-18
3
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-5
-1
0
0
0
2
4
-8
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
-4
-32
-22
0
-8
23
1
0
-1
-48
-95
0
0
-12
0
0
2
-30
-45
6
-8
0
0
0
-2
5
-22
0
0
2
0
0
0
-33
6
0
-9
13
0
-2
0
-8
-10
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
-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
-1
0
0
0
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
4
0
20
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
-6
56
27
-67
0
-6
-13
42
-42
-21
55
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
1
0
96
-101
0
-33
-16
-1
15
2
-26
-63
0
0
27
-16
-12
-18
68
-13
-32
-115
29
-24
-50
-48
97
59
0
0
-55
0
-76
8
25
15
-48
-21
124
30
68
-8
-7
11
0
0
5
0
7
4
12
-4
-6
-89
-72
0
-5
31
63
-82
0
0
1
0
0
-2
39
1
4
-44
8
0
6
8
-149
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
-2
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-7
0
2
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
12
0
17
61
0
1
-5
0
-21
-46
-97
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
57
-5
-6
31
2
49
13
0
-13
13
49
5
0
0
-7
0
-22
19
-16
-65
-44
-30
-30
2
9
-24
17
-58
0
0
-43
0
17
-1
-21
-2
0
8
-62
0
6
4
-19
63
0
0
7
0
0
5
1
-12
0
24
2
0
0
-69
0
-49
0
0
16
0
1
0
31
-33
0
13
-5
0
-4
-63
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-21
1
-25
130
-4
12
16
13
14
10
-5
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
9
32
0
-5
-51
3
5
45
-24
38
0
0
19
1
0
21
41
6
0
-5
-23
-49
3
-34
5
-38
0
0
-13
2
-8
-2
-29
-45
-5
36
49
-7
32
-18
-25
-20
0
0
-4
0
0
0
-29
-4
0
-58
-5
-1
3
10
-5
-97
0
0
0
0
0
0
1
-47
0
7
0
0
0
-31
128
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
2
10
0
0
12
-1
0
8
-10
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
1
0
8
-16
27
0
-27
-21
1
0
12
57
-136
0
0
-13
0
-6
0
-157
6
-13
-6
-30
0
0
-6
12
5
0
0
32
0
0
0
-50
42
0
-9
2
-2
0
0
2
-13
0
0
3
0
0
0
0
-18
0
2
1
0
0
0
0
-69
0
0
-26
0
0
0
-11
2
0
-3
7
-6
0
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-43
-72
0
0
0
0
0
0
4
0
0
7
0
0
0
-9
5
-9
0
0
0
0
0
0
-28
-6
-1
8
0
-1
-1
-8
-20
-18
0
0
0
0
0
0
-18
1
-1
-2
0
0
0
1
1
-10
0
0
0
0
0
0
0
-30
0
-47
0
0
0
-19
0
-4
0
0
0
0
0
0
8
0
0
-5
0
0
0
17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-21
-57
-9
25
31
54
-7
-11
2
-89
98
5
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
1
18
6
54
111
4
35
-118
35
6
-20
7
23
0
0
-56
41
2
-14
-31
50
18
-25
-16
-96
-24
-16
45
-73
0
0
4
-22
56
-5
0
108
-7
-35
-44
38
-9
40
33
81
0
0
6
0
4
-2
-21
63
9
-22
-6
4
20
22
-7
-9
0
0
-68
0
-5
0
-81
-50
0
15
-3
0
-3
5
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
9
0
0
0
22
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
13
0
0
2
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-16
-1
-5
0
0
10
-13
-12
-52
31
23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-19
53
47
50
-12
-1
11
-4
-54
3
15
-32
67
0
0
9
-3
3
34
13
-1
27
-43
11
20
-5
-82
-30
-17
0
0
-13
5
-8
-3
-3
29
0
63
-1
-7
-27
-5
5
35
0
0
-3
0
3
0
8
0
0
-9
6
0
0
-31
0
60
0
0
-41
0
-3
0
-67
-3
0
-6
16
0
0
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-4
0
5
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
3
-33
-6
-8
-46
-2
43
-30
-8
-6
-111
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
48
-61
0
3
84
10
-9
-49
11
51
0
0
30
42
-4
-8
-39
90
0
-57
-22
-68
-2
-60
33
29
0
0
52
5
-40
0
40
-28
25
8
-63
25
5
-55
-17
94
0
0
-25
0
0
0
0
70
0
10
1
0
-1
-7
0
4
0
0
5
0
0
0
13
-13
0
-15
0
0
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
-10
0
-2
1
-4
6
7
-29
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
5
-1
-7
0
41
4
7
-52
-5
-14
-27
-97
7
0
0
30
4
3
-32
14
-126
3
8
-50
0
0
-9
73
-5
0
0
-5
0
0
0
5
0
0
-41
-32
-1
0
-8
1
-3
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
8
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
33
0
0
0
0
-1
0
0
0
0
0
0
0
7
0
2
66
0
12
0
25
20
8
0
0
0
0
0
0
5
0
0
-13
0
0
0
9
-3
-10
0
0
0
0
0
0
-1
25
0
-22
0
0
1
8
0
15
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-13
-50
2
38
-61
8
4
-88
-31
-44
-60
86
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-2
1
2
-6
32
0
-101
-68
-17
0
1
102
-26
0
0
77
50
21
-4
-1
0
17
-6
14
0
-116
46
27
-5
0
0
-91
3
-52
-45
-93
14
-8
-7
-71
10
54
-13
-20
12
0
0
-22
0
1
4
61
-17
10
-17
15
2
24
-9
47
-67
0
0
58
0
0
0
32
0
0
24
0
0
7
-17
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
0
5
0
22
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
9
0
0
0
0
0
0
10
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
27
2
-11
-46
0
-20
84
10
-23
2
-35
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
-10
11
-92
46
-16
-105
2
-4
-13
-49
60
-60
0
0
7
27
1
-21
56
9
-8
-41
36
7
5
17
-36
-62
0
0
-29
-2
14
-8
5
-58
-4
8
-130
-5
13
-21
-57
24
0
0
2
0
14
-5
4
-9
0
-9
-2
0
3
-51
0
-45
0
0
-80
0
2
5
21
0
0
19
2
-3
-8
2
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-93
-21
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
0
4
0
0
0
-2
0
0
0
0
5
0
0
0
32
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-58
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
21
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-35
25
0
0
0
0
0
-8
0
0
0
0
-1
0
0
0
4
33
0
5
0
0
5
0
-17
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-13
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
0
1
0
0
0
9
-2
-3
0
0
0
0
0
0
-1
8
9
0
0
0
0
0
8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
0
3
0
8
26
0
-4
0
0
-6
4
-73
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-58
-57
0
0
0
0
0
0
-16
3
0
0
10
1
0
5
19
-2
-2
-23
38
5
6
-13
-1
63
0
0
54
0
-21
1
-52
29
0
-44
-31
0
-29
0
23
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
17
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
-1
0
24
-3
0
-5
0
0
0
-6
-39
-8
0
0
1
2
0
-2
12
6
0
1
2
0
0
-24
-1
-8
0
0
0
0
0
0
-9
4
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-5
0
0
0
1
0
-4
0
0
0
0
0
0
-13
9
0
-5
0
0
0
0
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
3
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
-28
-2
0
0
0
-1
0
0
0
2
-5
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
5
3
0
6
0
0
0
0
-46
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
6
0
42
105
0
-10
4
-1
60
-45
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
0
-5
0
0
0
1
6
0
0
0
25
0
-2
0
-23
-5
0
-10
-7
9
0
-86
-2
6
0
0
16
0
-19
0
-7
9
0
2
-23
0
3
-1
54
20
0
0
0
0
0
0
-4
-5
0
-1
0
0
2
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
5
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
61
85
0
1
0
0
0
0
0
-33
0
0
-5
0
-8
0
-39
31
-5
-1
-1
0
0
18
1
7
0
0
-2
0
0
0
-5
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
66
0
0
0
0
0
13
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-15
-5
0
3
0
0
0
-7
-19
4
0
0
3
0
0
0
3
-1
0
-8
0
0
-17
0
83
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
0
0
0
-18
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
52
93
0
4
3
0
2
32
-82
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
13
0
-4
8
0
0
3
-8
-13
0
0
-8
0
0
0
15
9
0
-6
-34
0
-2
40
54
-22
0
0
-9
0
0
0
-26
-18
2
13
9
0
18
2
8
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
8
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-13
0
0
0
-3
0
0
0
9
-9
0
0
-22
0
0
0
18
0
0
-5
0
0
0
-5
10
-39
0
0
-1
0
0
0
8
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-20
69
0
0
-1
0
-2
-8
17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
23
33
0
22
-13
-1
0
-20
0
-5
0
0
4
0
0
0
-39
-6
0
93
0
0
5
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
56
66
0
-5
1
0
0
0
0
-23
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
14
-39
0
-3
0
0
0
12
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
92
5
0
-2
0
0
0
-5
0
0
0
0
-3
0
0
0
5
-22
0
0
0
-1
0
-35
-7
0
0
0
0
0
0
0
2
-14
0
-8
0
0
1
0
-16
-5
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
40
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
18
0
0
0
0
-1
-3
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
5
-12
0
0
2
0
0
-5
4
0
0
0
-7
0
0
0
-41
58
-46
-16
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-43
41
0
0
1
0
0
0
6
-4
0
0
0
0
0
0
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-12
59
-15
-2
-15
35
9
7
3
-92
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
23
75
0
3
-2
-7
0
-4
40
-19
0
0
-10
-21
0
5
48
74
-1
13
-62
-1
0
24
2
40
0
0
-48
5
-13
-9
83
21
0
72
80
69
-132
20
-6
-37
0
0
0
0
0
0
1
-32
0
-28
0
0
0
-2
0
47
0
0
4
0
0
0
-6
-4
0
-3
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-44
20
0
1
14
0
-5
10
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
5
-10
-13
60
0
25
17
-1
0
2
94
-46
0
0
19
0
6
0
-57
9
1
-1
13
0
0
-8
43
31
0
0
8
0
0
4
1
2
0
26
-24
-1
-3
0
-3
-26
0
0
0
0
0
0
0
-1
0
-19
0
0
0
-8
0
2
0
0
3
0
0
0
31
5
0
0
-5
0
0
8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-46
-4
0
2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
42
-31
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
-76
0
5
0
0
-1
0
0
0
21
-5
0
0
0
0
4
0
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
33
0
0
0
0
0
0
6
9
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
-27
0
0
0
0
0
4
-48
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-39
-41
2
-24
0
0
0
1
3
-11
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
0
-34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
17
23
0
-1
0
0
0
0
9
-13
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
-4
0
-38
86
0
-30
-7
-7
49
-30
2
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-28
-12
0
-19
23
4
0
-19
75
61
0
0
-15
-5
0
0
-5
-68
0
-6
5
20
0
90
6
63
0
0
42
3
18
-2
-88
56
3
-29
-1
-5
38
6
-8
122
0
0
-5
0
0
0
-8
43
0
4
0
0
0
-1
0
13
0
0
0
0
0
0
-58
-13
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
17
-28
0
0
4
-2
2
-8
3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
-8
0
0
-51
-19
0
33
-33
0
0
8
9
23
0
0
9
0
9
-8
-18
-50
-2
-31
2
1
0
-1
-2
-27
0
0
31
0
0
0
34
43
0
21
-1
0
0
-13
0
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-5
0
0
-34
0
0
0
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
-39
18
0
3
3
0
-5
54
31
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-18
0
5
5
0
0
-4
22
-31
0
0
1
0
0
0
15
-121
5
28
-29
0
0
94
49
-34
0
0
5
0
0
0
21
23
0
46
-41
4
1
-2
-42
-60
0
0
0
0
0
0
0
-6
0
0
0
0
0
-2
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-12
-24
0
0
5
0
0
0
71
-7
0
0
-1
0
0
0
-12
-43
0
0
0
0
0
0
-19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
110
58
0
8
8
0
19
-5
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
44
33
0
7
13
0
4
0
33
14
0
0
-2
0
0
0
-31
13
0
26
32
-4
0
25
-43
-3
0
0
69
0
5
-8
-24
-48
-5
-18
15
13
-12
13
-27
-153
0
0
0
0
0
0
-7
6
0
7
0
0
0
0
0
39
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
-4
0
0
-1
0
0
-21
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
5
4
35
23
0
0
-1
0
0
-22
-35
-65
0
0
1
0
0
-5
-49
0
0
-16
1
0
0
22
0
-11
0
0
0
0
0
0
4
-5
0
1
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-39
-28
0
-1
-2
0
-42
4
18
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
21
-30
0
-19
-5
0
0
7
2
2
0
0
0
0
0
0
-35
-29
0
31
0
0
-8
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
13
-50
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
-112
-2
0
-8
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
19
-30
0
3
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
-1
0
0
0
-3
-1
0
0
0
0
0
0
0
-2
6
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
4
0
13
4
0
0
0
-2
0
0
0
0
0
0
0
0
8
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-14
0
0
0
0
1
7
8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-2
0
1
0
0
0
1
1
-3
0
0
0
0
0
0
0
22
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-9
4
0
0
0
0
0
0
-5
2
1
-3
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
8
0
88
41
0
-45
-15
4
36
-31
57
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
60
-27
0
-18
-8
1
-2
0
-15
-42
0
0
31
0
1
5
15
-22
0
24
6
3
-1
89
23
-13
0
0
20
0
6
0
-4
5
0
-29
16
-8
30
-5
48
-141
0
0
0
0
0
0
4
1
0
22
0
0
0
-8
0
76
0
0
1
0
0
0
23
3
0
1
0
0
0
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
12
2
0
0
1
0
0
-15
23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
-7
73
-14
0
-8
-19
-1
0
0
59
14
0
0
-13
0
0
0
5
2
-1
7
-15
0
0
55
-5
22
0
0
0
0
2
0
-7
2
0
-1
-13
0
0
0
0
15
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
3
0
0
0
-4
0
-1
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
57
43
0
12
-3
2
22
37
-45
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
33
0
-1
0
0
0
1
-1
-3
0
0
-4
0
0
0
41
41
0
0
7
0
0
3
13
-58
0
0
29
0
0
0
18
-32
0
13
0
0
1
0
48
5
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
4
68
0
0
0
0
0
0
33
12
0
0
0
0
0
0
99
16
0
-8
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
0
1
22
0
4
0
0
42
21
23
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
-2
0
0
0
5
-75
0
49
0
0
0
-5
76
-47
0
0
5
0
-8
0
0
5
0
-41
10
0
-4
0
63
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
4
-18
0
0
0
0
0
0
-15
-23
0
0
-5
0
0
0
2
2
0
-3
5
0
0
0
6
-8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
0
37
-49
0
-21
-4
1
31
106
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-22
0
-4
-5
0
0
-1
-8
-3
0
0
-22
0
0
0
110
53
0
-20
-25
10
6
-29
51
5
0
0
-17
0
0
-1
48
-75
0
-31
12
0
10
0
-50
33
0
0
0
0
0
0
-2
3
0
2
0
0
0
0
0
-82
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
1
3
0
0
1
0
0
1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
1
0
-14
2
0
-12
4
0
4
0
-8
-29
0
0
-34
0
0
0
42
-20
0
-4
9
0
0
-5
1
-58
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
8
0
4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
1
0
0
0
0
0
6
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
7
0
-2
0
0
0
43
0
-16
0
0
0
0
0
0
66
-31
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-77
22
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
-1
9
-122
24
8
-6
-31
14
-38
28
-42
-102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
25
40
-3
-16
-120
-9
-61
-80
83
-8
0
0
13
0
-12
2
-26
21
-7
-41
-41
2
13
-36
63
28
0
0
-26
0
10
2
19
37
-14
-49
27
91
-23
-25
7
-2
0
0
0
0
0
0
0
81
0
-33
0
0
0
2
0
1
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
34
5
9
-72
-64
-5
25
-41
-1
0
42
-18
-8
0
0
14
0
0
-2
10
77
14
70
14
-21
0
-10
1
-15
0
0
-12
0
0
0
0
13
0
-10
7
0
0
0
0
-2
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-1
2
-23
65
0
-48
4
6
31
-65
-45
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
48
-36
0
-13
-31
0
-2
12
-38
-21
0
0
13
0
0
-7
-57
-46
1
10
65
-5
9
-56
-12
54
0
0
54
0
2
6
-16
28
-2
-49
60
9
13
39
-17
-10
0
0
0
0
0
0
0
-19
0
50
0
0
0
0
0
42
0
0
0
0
0
0
-14
-5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
24
0
0
-1
0
0
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
3
5
-38
-4
0
23
-31
0
0
1
-49
-33
0
0
-32
0
0
1
-8
-31
2
-2
-9
0
0
-20
-2
5
0
0
5
0
0
0
-7
-4
0
37
2
0
0
-2
0
-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
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
31
0
5
0
0
-1
0
24
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-11
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-24
-34
0
-8
0
0
0
40
-1
31
0
0
4
0
0
0
-12
-79
0
17
0
0
0
0
12
60
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-16
7
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-18
-27
0
0
0
0
0
-2
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
4
0
0
3
0
0
0
-26
-75
0
-17
12
0
0
-21
0
14
0
0
0
0
0
0
-19
32
0
14
0
0
0
0
-6
-9
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
6
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
33
0
-5
0
0
39
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
4
-1
0
7
8
0
5
0
0
0
0
0
0
-13
-4
0
-8
0
0
1
-16
0
-7
0
0
2
0
0
0
-33
41
0
2
0
0
-50
0
-35
-53
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
8
10
0
0
-13
0
0
0
0
0
0
0
-2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
29
-190
0
5
-18
-4
41
48
-69
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-25
-81
0
1
-20
0
2
120
23
-4
0
0
-22
0
0
0
17
24
0
-13
63
13
0
12
50
78
0
0
-22
0
0
0
-27
-19
2
-14
-6
0
-20
-52
6
-32
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
10
0
0
0
0
0
0
6
-5
0
2
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-1
8
0
0
2
0
0
-71
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
51
-84
0
-12
-13
0
0
-12
4
-66
0
0
-27
0
2
-2
9
20
5
-18
7
0
0
5
7
22
0
0
0
0
0
0
0
13
0
25
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
48
0
0
0
0
-3
0
-95
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-3
0
-1
0
0
9
-1
0
0
0
0
0
0
0
62
0
-5
0
0
0
37
-47
-23
0
0
8
0
0
0
0
13
0
5
0
0
-12
6
44
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-2
0
0
7
0
1
-2
0
0
0
55
-23
0
0
-2
0
0
0
0
-4
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-9
0
41
-16
0
24
17
6
-51
-15
-11
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-51
-22
0
18
31
5
-1
-21
-9
45
0
0
23
1
0
8
28
-15
3
1
-9
32
17
-5
8
35
0
0
13
-7
3
0
-63
-91
3
42
-27
-5
-81
11
-22
23
0
0
0
0
0
0
0
-13
0
25
0
0
0
-2
0
26
0
0
0
0
0
0
61
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-1
0
0
-1
0
0
0
-7
2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
4
-16
11
-1
0
-14
34
0
0
3
-84
-41
0
0
-79
0
1
2
-54
32
-2
-44
23
0
0
-21
-2
-9
0
0
-9
0
0
0
0
0
0
-24
-9
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
4
0
0
0
0
0
-1
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
-24
0
0
0
0
2
-12
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
3
12
0
0
0
0
0
0
-62
13
0
5
3
18
0
-39
0
-4
0
0
-2
0
0
0
65
33
-2
8
0
0
-10
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-9
7
0
0
6
0
0
8
0
0
0
0
0
0
0
0
-24
0
4
3
0
0
0
-2
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
29
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-60
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
-50
-20
0
-5
0
23
1
-6
-74
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-22
0
-29
-5
0
0
-1
-8
-3
0
0
5
0
0
8
-65
3
6
-13
42
15
0
22
-38
5
0
0
13
6
-1
0
4
13
-1
115
20
-3
7
45
-44
2
0
0
0
0
0
0
0
-2
0
27
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
22
1
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-5
26
0
3
21
0
0
1
-78
11
0
0
-2
0
0
-4
-1
-27
0
-8
0
0
0
25
-8
8
0
0
6
0
0
2
22
5
0
5
0
0
1
0
1
5
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
4
0
0
0
0
0
-7
18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-22
-6
0
9
-2
0
0
-8
28
1
0
0
0
0
0
0
-21
13
0
-13
0
0
0
0
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
3
30
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-9
3
0
3
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
22
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
22
56
0
0
1
0
24
-41
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
2
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
15
29
0
-9
-12
-10
0
13
25
-1
0
0
0
0
0
0
-5
5
0
1
0
0
1
-8
-24
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-28
17
0
0
-3
0
0
0
31
0
0
0
3
0
0
0
-20
20
0
3
1
0
0
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-3
-4
0
0
0
0
-2
-5
-41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
23
0
0
0
0
0
0
0
-9
2
0
-2
4
10
0
-8
5
-4
0
0
-5
0
0
0
-5
-34
0
5
0
-5
8
3
17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
13
-96
0
0
0
0
0
0
5
8
0
0
0
0
0
0
7
4
0
1
-3
0
0
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-5
-3
2
8
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-5
-14
0
0
0
1
0
0
0
5
0
0
2
0
0
1
0
-10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
172
0
-1
20
-7
-33
85
41
37
19
39
-3
-119
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
4
7
2
5
44
-20
-9
35
7
17
0
0
55
-13
1
-7
23
27
3
-22
40
-31
-6
-23
-105
-66
0
0
218
8
-3
28
5
-73
12
44
102
61
-59
-1
-81
-24
0
0
196
0
0
0
-41
60
31
-43
-6
-2
5
-27
5
35
0
0
169
0
0
0
92
13
-15
17
1
-1
-5
-46
75
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
8
7
-1
-43
-15
23
-1
25
-23
0
0
0
0
0
0
0
0
29
13
0
0
0
47
0
-2
0
0
0
0
0
0
0
0
-7
-76
0
4
-5
-26
-24
9
0
0
0
0
0
0
0
0
0
-5
-6
3
1
5
-23
-6
0
0
0
0
0
0
0
12
0
-57
-6
-2
-14
-9
3
6
0
0
0
0
0
0
1
0
0
7
-5
0
1
-16
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
168
0
5
0
-19
-46
1
8
-14
-12
-1
39
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
18
42
1
-43
-18
-2
-62
147
-38
-19
-33
2
-40
0
0
-19
-23
9
-52
0
-94
45
-20
12
20
-18
-12
-161
-114
0
0
135
0
-7
0
54
66
-35
-24
10
13
5
-13
28
-9
0
0
127
0
0
0
5
5
3
-4
-26
0
0
43
2
8
0
0
67
0
0
0
-25
16
0
6
-41
-8
0
84
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
16
19
0
0
0
0
13
-25
-46
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
-7
34
0
-5
5
0
-6
25
3
-5
0
0
2
38
0
0
-51
58
-1
-20
1
0
8
43
-27
-34
0
0
-3
111
0
0
2
-41
1
-64
12
-1
-2
5
-12
-63
0
0
0
107
0
0
0
-4
0
0
0
0
0
0
0
5
0
0
0
-22
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-67
0
0
0
-1
3
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-2
-8
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
-8
38
0
-4
16
-1
0
4
-5
-5
0
0
-8
-44
0
0
29
-35
-5
-8
-7
0
0
5
8
-53
0
0
0
-16
0
0
7
3
0
-24
-1
0
0
0
7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
1
0
0
0
0
0
0
3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
-26
2
-8
-8
5
-14
7
1
-35
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
178
0
62
-29
0
-30
13
16
-3
-22
19
-84
0
0
18
0
41
0
-150
-10
16
31
4
52
0
-14
63
-47
0
0
12
0
158
2
-49
-1
-1
-17
-2
-43
-33
-22
63
-48
0
0
0
0
82
0
0
-15
0
-3
0
0
0
20
0
-31
0
0
0
0
90
0
-9
-1
0
3
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
29
-10
6
0
54
6
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
14
0
8
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
-7
0
0
22
2
0
13
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
4
-16
-22
20
0
7
33
-1
0
-24
-45
-71
0
0
5
0
2
0
-55
5
14
-6
-43
-12
0
66
-33
-45
0
0
-15
0
121
0
-15
-5
0
41
58
-5
0
6
-4
49
0
0
0
0
70
0
0
8
0
-1
-1
0
0
-7
0
1
0
0
2
0
76
0
-1
0
0
0
2
0
0
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
55
86
0
2
0
0
4
-9
49
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
143
-46
41
0
-5
-4
7
-1
-1
-5
76
0
0
0
0
0
54
-39
0
8
16
-4
8
-1
-87
-81
-67
0
0
-8
0
-1
79
50
-13
0
-31
-1
0
-21
5
-56
11
0
0
0
0
0
132
0
-13
0
0
0
0
0
5
0
32
0
0
0
0
0
50
-1
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
2
12
-5
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
-6
-28
15
-55
0
-7
12
3
0
0
-52
-37
0
0
-1
0
0
-61
-59
-46
5
9
12
0
0
9
1
-143
0
0
0
0
0
2
8
-5
0
-19
-3
0
0
0
9
-28
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
-8
0
0
0
0
0
26
0
0
0
0
-2
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-28
-11
-1
-96
-56
-19
48
64
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
15
41
-18
56
11
-35
-37
-91
-22
53
5
13
-17
0
0
-93
-75
89
59
23
2
-16
10
-18
-95
-7
-11
-5
9
0
0
-62
13
50
-9
25
-24
73
-22
-94
-94
-16
-20
-32
-11
0
0
3
0
0
13
-4
49
30
12
-8
-20
4
41
0
1
0
0
-73
-4
12
5
49
-4
23
-8
-14
11
43
-138
34
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
11
26
13
17
-13
83
-59
-64
0
0
0
0
0
0
-1
0
-4
-15
-3
-1
0
21
0
1
0
0
0
0
0
0
-29
14
-23
75
1
21
-10
43
-1
-66
0
0
0
0
0
0
51
0
-1
-5
-3
-8
-1
35
1
-22
0
0
0
0
0
0
4
15
0
36
-42
9
3
-75
0
83
0
0
-1
0
0
0
130
0
0
73
42
2
-10
-82
9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-5
-5
-37
-85
21
-2
-76
-69
-50
105
-10
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
57
-37
-17
-12
-16
-49
-42
-62
-12
-67
3
-19
-45
0
0
30
-46
1
-32
19
32
9
-17
-34
-75
33
-22
20
-3
0
0
-21
2
-2
17
14
-97
-2
-45
-1
-33
1
-24
-4
-13
0
0
0
0
0
0
96
-88
-5
-28
6
-19
-3
-31
0
-111
0
0
56
-5
-23
13
58
17
14
-42
-30
-2
-21
-21
60
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
110
88
71
-9
-18
3
-15
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
19
75
-25
-3
-48
-22
56
37
58
-75
-20
35
0
0
-89
-74
-35
2
-12
-8
22
-50
-24
16
-1
-21
2
-20
0
0
12
-92
-69
47
-43
34
25
-19
-59
-93
-9
-128
-58
22
0
0
-61
4
-6
15
-12
-4
28
-96
-74
-14
-2
-132
-120
79
0
0
51
13
-5
-13
79
115
32
39
-6
3
16
20
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-53
26
76
27
71
-27
7
-4
23
0
0
0
0
0
0
4
-31
-46
43
99
-1
-20
-49
-4
35
0
0
0
0
0
0
-55
-23
29
-76
21
-14
-11
64
-42
35
0
0
0
0
0
0
8
-12
-23
63
-63
-21
-7
-5
4
-25
0
0
0
0
0
0
6
-39
0
-14
-7
-56
9
-39
46
-30
0
0
-1
0
0
0
7
19
0
28
26
-26
7
50
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
-33
-8
-6
26
93
25
46
-50
-45
10
-13
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-30
-1
15
31
16
-45
59
5
-48
29
-3
-27
-24
0
0
-9
6
30
1
55
20
-11
-9
-21
-68
31
14
44
4
0
0
-33
-30
18
-69
5
30
-5
-76
17
-76
37
-18
-12
-51
0
0
46
1
-28
-36
55
-7
-75
30
17
54
-58
-39
-7
-43
0
0
-12
0
0
6
13
66
9
24
-46
67
-33
59
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-58
4
1
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-20
24
8
-4
-8
0
4
17
49
-10
0
0
16
0
0
6
19
-59
-127
-25
-33
-23
-7
-49
-1
76
0
0
4
0
4
3
55
-1
20
-14
18
2
-26
29
64
-27
0
0
0
0
0
0
0
35
0
-5
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
25
-8
0
0
8
0
-4
29
30
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
1
-16
-1
-5
6
27
-1
0
0
-20
-3
0
0
13
0
0
1
9
-64
23
-27
24
1
0
15
26
-99
0
0
-5
0
0
0
5
12
0
-5
3
0
0
-2
-6
2
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
-5
0
0
-3
0
0
0
4
0
0
0
1
0
0
-22
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
100
-7
6
96
81
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
-3
15
-102
13
0
-32
36
-12
3
-57
-130
-57
0
0
8
-1
14
-33
-64
-26
-13
60
-34
-1
-13
30
-25
-49
0
0
-31
4
24
-17
-173
-69
35
-45
31
30
-55
5
36
-6
0
0
-9
0
0
-2
-7
-1
-21
6
7
3
9
-9
-3
-33
0
0
8
0
0
0
-89
31
1
-56
16
0
0
48
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
12
18
-4
-19
-32
0
21
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-5
-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
5
0
9
0
0
0
39
0
8
0
0
0
0
0
0
9
0
0
-5
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-4
6
0
15
0
-1
9
8
58
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-14
-6
7
-111
20
-2
-62
-55
10
8
19
15
-37
0
0
22
2
-16
-53
59
-72
18
14
-25
12
2
-7
-31
-43
0
0
6
0
10
6
-29
44
2
-28
31
-10
6
13
26
38
0
0
-1
0
0
0
0
3
0
-51
-1
0
-1
54
0
1
0
0
42
0
0
0
-5
-6
0
-94
29
0
-1
41
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-20
-10
24
55
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
90
2
0
-84
-11
31
-56
-13
-145
-29
0
0
-35
3
6
0
12
-40
40
-18
77
-29
-84
-10
-75
-62
0
0
-22
-18
-142
-2
-119
-13
-57
-14
29
33
-31
-122
-69
-106
0
0
0
0
0
0
21
-3
-21
-33
13
0
-20
-38
8
-80
0
0
-5
0
0
0
-61
67
-2
-5
2
0
2
32
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
28
20
49
31
-17
-76
84
-67
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
4
0
-1
8
6
0
0
0
0
0
0
0
0
0
-7
0
0
0
-3
4
1
0
0
0
0
0
0
0
0
0
-31
0
0
0
-2
0
-15
0
0
0
0
0
0
13
0
0
-2
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-55
5
-2
13
2
-4
8
2
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
2
4
-66
26
-62
-1
7
67
-34
-5
16
-71
17
0
0
85
-3
14
23
-36
-148
-24
77
50
8
-13
56
-63
-70
0
0
19
0
3
4
11
-22
11
-48
75
17
-24
-13
7
-56
0
0
0
0
0
0
0
-8
1
25
1
0
0
12
0
-66
0
0
-5
0
0
0
-8
-9
5
-5
-61
-2
0
45
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-44
-80
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-22
9
0
18
-38
2
0
-2
29
-47
0
0
34
52
-14
12
-30
13
-14
-59
44
-8
-29
-15
-39
9
0
0
59
0
25
10
-44
-24
-15
-49
-32
44
74
-69
-145
-79
0
0
2
0
0
0
14
34
6
-5
3
0
2
31
-9
-14
0
0
0
0
0
0
-4
2
-1
0
0
0
3
-12
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-6
6
66
1
-1
0
2
13
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-33
0
0
0
-17
0
-3
0
0
0
0
0
0
1
0
0
9
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
12
-4
0
0
0
0
-1
-32
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
13
-6
-1
-66
-1
-24
-5
1
1
25
-41
-59
0
0
13
-7
3
9
68
-57
1
0
12
-27
0
-70
-22
-104
0
0
9
0
0
0
-8
-41
-8
28
6
-3
5
-2
-33
25
0
0
0
0
0
0
0
13
0
-46
0
0
-1
8
0
35
0
0
5
0
0
0
3
0
2
-2
-5
0
0
-4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
189
-13
-57
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
3
0
-32
-15
60
-23
-16
21
-82
39
12
22
10
0
0
-44
43
4
23
31
-33
86
-99
76
-49
-45
-19
11
-25
0
0
18
27
-48
-26
-56
-43
63
55
-39
-54
87
-26
-20
-90
0
0
1
0
0
9
-61
-150
-41
0
15
-2
-15
23
-101
-79
0
0
-13
0
0
0
-78
-57
16
-17
-4
37
43
-42
-70
-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
19
-17
-55
0
-5
10
27
-31
23
-60
0
0
0
0
0
0
0
0
0
-6
-1
0
0
-31
-3
1
0
0
0
0
0
0
0
0
-5
39
0
14
0
-49
-10
-13
0
0
0
0
0
0
0
0
0
25
0
0
0
-39
1
12
0
0
0
0
0
0
0
18
0
-46
-7
3
-2
19
-1
-31
0
0
0
0
0
0
-14
0
0
25
7
0
10
-22
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-6
-37
-22
9
48
-25
56
-23
-76
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-126
-19
-39
-12
5
-72
-31
-39
-46
-86
52
47
-9
-57
0
0
-21
13
-1
-45
-5
39
-23
-75
35
-10
-27
49
-26
18
0
0
64
0
1
-16
-9
53
-5
-61
100
60
73
-53
29
19
0
0
-10
0
0
0
2
-48
-8
36
-49
14
-5
-21
-7
-12
0
0
-3
4
0
0
-162
10
-15
-16
-5
21
45
18
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-131
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
32
-5
9
-38
27
-25
75
-46
83
-72
108
-43
-37
0
0
28
-14
-108
-73
-13
-1
24
-95
-28
-29
-96
69
-59
-64
0
0
93
4
-27
-26
-90
91
45
29
-60
-122
-35
78
-46
-2
0
0
-120
0
-5
8
31
-69
11
-77
-42
-45
-66
-34
4
18
0
0
51
0
2
0
-57
-37
11
54
3
4
1
83
28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
17
24
22
66
-66
41
-74
-19
0
0
0
0
0
0
0
1
6
0
0
0
0
19
0
0
0
0
0
0
0
0
1
-8
-17
-51
0
13
-8
-7
-28
5
0
0
0
0
0
0
0
0
0
12
0
0
1
18
-2
10
0
0
0
0
0
0
0
-4
0
-40
23
1
1
74
1
17
0
0
0
0
0
0
-4
0
0
38
-18
0
0
-149
9
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
12
2
-23
-45
-10
-1
55
7
-23
-8
-46
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
20
7
-133
-26
-13
52
36
-22
-52
68
27
2
-58
0
0
18
-1
-55
18
-19
-30
-4
27
88
-1
-41
-11
-67
-30
0
0
-31
0
20
1
-57
-34
25
117
38
-15
18
8
-11
-79
0
0
2
0
0
2
-43
-57
-29
106
-32
-7
20
55
-6
-27
0
0
-40
0
7
3
0
-17
-12
-5
26
-12
-1
-18
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-27
5
69
10
27
-5
-58
4
98
-22
-59
1
30
0
0
39
49
-69
-5
50
-20
56
31
22
16
-111
-10
27
-42
0
0
8
-13
16
-31
63
-48
5
-48
-79
-20
17
-78
-26
-22
0
0
-28
0
8
22
0
-96
-14
-58
-52
-14
12
-32
140
-23
0
0
-51
0
-44
-75
32
9
48
-153
-13
-12
1
-102
71
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
10
-67
4
34
40
15
-22
29
0
0
0
0
0
0
0
2
16
5
0
-1
0
4
-51
-20
0
0
0
0
0
0
0
0
-5
-50
0
-66
14
58
-15
42
0
0
0
0
0
0
0
0
6
78
13
0
-1
8
7
28
0
0
0
0
0
0
0
9
0
56
4
-18
0
-49
-8
6
0
0
2
0
0
0
12
5
0
1
1
6
0
-3
-93
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
-6
5
-20
-36
3
-11
-16
-48
-27
-16
-28
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
113
-19
45
-94
52
-1
0
33
38
-9
54
-19
29
-29
0
0
-12
-8
-48
-6
37
6
-6
-21
-23
-7
-44
-31
-31
-87
0
0
59
0
36
-5
-65
-134
-31
34
82
39
-72
-44
-129
-36
0
0
-7
0
14
3
0
12
13
62
-92
1
3
-43
13
-106
0
0
-109
-17
-31
66
-41
-46
4
32
21
-1
-39
-79
-36
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-50
-17
29
-57
-40
-20
-4
-70
177
40
31
-92
0
0
0
15
-73
-72
35
-13
-67
53
-24
-18
31
41
-8
-59
-12
0
0
-28
-87
-68
8
16
-42
48
-15
3
-4
-28
-50
3
-21
0
0
-66
-8
-52
1
-49
-89
66
-34
-89
-16
-13
-110
22
-20
0
0
-43
0
2
-7
-94
0
9
-46
12
1
-14
-25
-58
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
3
-57
5
-58
-33
-15
-15
-9
-36
0
0
0
0
0
0
0
0
25
47
0
13
5
-24
-1
-42
0
0
0
0
0
0
-7
-2
-6
5
-3
5
-7
0
0
12
0
0
0
0
0
0
0
0
-3
-2
-9
-3
-7
-33
57
-23
0
0
0
0
0
0
17
-85
0
11
-19
-64
49
-60
-64
-109
0
0
0
0
0
0
-20
0
0
138
7
0
0
21
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-1
23
3
-80
-34
-8
9
-47
-50
8
-59
-72
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
16
-93
75
-19
69
-24
29
-43
48
70
-62
-8
-18
0
0
7
73
-51
54
-29
-112
-22
70
22
-45
25
25
11
-5
0
0
-82
0
-25
74
-97
-89
1
-71
39
-9
-50
152
-85
-38
0
0
32
0
-18
19
3
-84
5
-82
13
-1
-49
-1
28
-24
0
0
-78
0
4
-9
-53
0
-17
51
-8
32
-33
75
-36
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-21
36
0
-18
-6
-5
-14
40
24
8
0
0
-1
10
7
1
-4
-66
-16
88
54
-29
57
66
-39
53
0
0
21
0
-35
2
-22
-61
2
107
-72
-6
22
37
-24
33
0
0
8
0
0
0
7
-8
2
-42
-1
0
-28
-78
-17
-8
0
0
42
0
0
-1
-40
4
-1
-3
0
0
3
-27
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-16
0
5
37
5
22
-43
0
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
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
8
0
0
0
-14
0
5
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
34
-4
0
5
-14
0
-25
10
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
67
-16
0
1
66
-7
0
24
-17
-24
0
0
69
-2
-3
0
-96
-43
-24
-13
-51
0
0
41
-9
-67
0
0
-17
0
7
0
3
18
-1
-20
-19
0
-1
-22
-17
7
0
0
-22
0
0
0
0
29
0
15
-2
0
0
19
0
-22
0
0
-123
0
0
0
0
0
0
9
-18
0
8
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
40
-59
0
3
4
-2
0
-58
-7
-4
0
0
0
-1
0
0
-16
75
0
47
0
-1
-8
0
26
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
7
10
0
0
1
-23
0
0
0
0
0
0
0
-4
0
0
0
-9
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
-11
0
-7
67
-2
-76
1
0
0
26
17
9
0
0
1
0
73
0
-9
11
0
22
4
0
-5
1
39
-42
0
0
0
0
-67
0
0
-19
0
2
0
0
0
0
0
2
0
0
0
0
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
0
-3
0
-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
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-16
37
0
0
-8
0
0
-2
3
-17
0
0
0
0
-1
0
-4
5
0
0
-2
0
0
1
0
5
0
0
0
0
-23
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
-13
0
0
0
0
0
0
0
0
-1
0
0
73
37
-27
4
-23
2
1
0
-13
-8
-109
0
0
9
0
0
47
68
10
0
4
0
0
-7
0
8
-38
0
0
0
0
0
73
0
-31
0
-1
0
0
0
0
0
1
0
0
0
0
0
-5
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
2
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-6
13
-35
0
-5
-2
0
0
0
5
0
0
0
13
0
0
-2
27
5
2
4
10
0
0
15
8
-1
0
0
0
0
0
5
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
41
-2
-46
-18
-38
44
-8
3
-13
0
0
-42
-1
12
13
-8
-20
-2
6
-19
-62
-23
-61
-26
-39
0
0
37
-11
44
-35
5
9
53
19
72
15
-28
-19
137
-48
0
0
-12
0
0
5
-6
29
17
-5
-27
0
-49
50
0
-29
0
0
-20
0
13
0
8
-6
-9
84
57
37
68
-66
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
-19
9
31
5
54
-8
-2
48
0
0
0
0
0
0
30
0
6
0
0
0
0
-12
0
1
0
0
0
0
0
0
22
0
6
41
1
-9
-1
-14
0
8
0
0
0
0
0
0
-9
0
0
5
-2
-1
0
-16
0
-6
0
0
0
0
0
0
-7
0
0
-73
5
0
0
-43
0
-20
0
0
0
0
0
0
60
0
0
30
9
0
0
29
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
10
1
-46
-30
-8
8
-22
-9
-18
48
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-6
5
-51
-19
-4
28
-36
8
-32
-102
-21
75
0
0
-48
1
13
9
-23
-85
-63
-3
-4
3
-1
-41
-20
65
0
0
69
0
5
0
5
-18
-10
-58
-66
15
46
22
27
5
0
0
0
0
0
0
22
-35
9
-40
1
0
8
-28
0
3
0
0
-6
0
-87
1
-24
5
0
-45
-40
0
6
29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-9
-10
13
109
-1
43
-11
29
0
0
60
31
-52
21
-76
-25
-54
-6
46
-63
-102
-21
19
16
0
0
11
-8
-64
-25
13
15
2
-35
53
7
9
-20
39
-35
0
0
-30
1
-43
9
-57
-29
-25
-50
-44
-70
-22
8
14
-16
0
0
-69
0
-24
0
38
-3
-7
-9
12
-1
-41
31
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-24
-1
23
-36
1
24
13
-14
-12
0
0
0
0
0
0
0
-31
-13
2
0
0
13
-2
0
0
0
0
0
0
0
0
-8
-22
22
-10
-2
-4
-37
0
9
-32
0
0
0
0
0
0
0
-1
0
-16
1
0
0
17
0
0
0
0
0
0
0
0
0
73
0
37
25
14
9
30
5
9
0
0
0
0
0
0
30
-2
0
18
2
0
0
8
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
1
3
-9
2
74
-21
-39
13
13
-41
-74
-71
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-22
-10
11
-101
-2
-38
-82
57
-7
-31
-53
94
45
0
0
-20
-23
9
32
2
-35
-42
4
-50
5
5
-37
2
-13
0
0
-28
-8
17
0
44
20
12
-23
9
-44
-105
-7
-41
13
0
0
5
0
-37
-3
4
-28
-10
-3
125
2
-8
-81
0
-18
0
0
-15
0
0
0
-12
94
0
-17
-82
5
0
18
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
1
0
0
0
0
0
0
6
-54
-23
-21
14
0
0
-12
-3
-1
0
0
7
0
0
0
13
-8
1
-15
2
0
-7
0
8
-30
0
0
0
0
0
0
0
-5
7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
12
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-8
35
0
0
0
0
0
0
-2
-2
0
0
12
0
0
0
24
1
0
-18
-1
0
0
3
0
8
0
0
0
0
0
0
3
19
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-6
44
-1
-43
17
5
0
0
-5
-17
-23
-21
-17
-40
-22
-25
22
3
-10
45
92
7
0
0
10
-1
-30
22
60
-17
-41
96
17
-55
-4
-1
-67
5
0
0
-13
0
0
0
5
-48
1
-31
-15
-1
6
-4
-5
4
0
0
-4
0
0
0
-22
61
8
-43
4
0
0
-49
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
7
-30
1
0
25
-49
-24
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
5
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-33
0
0
0
-5
0
-3
0
0
0
0
0
0
-2
0
0
14
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
7
0
-1
49
0
-5
18
-1
-18
72
32
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
2
-12
-93
-98
2
-13
49
-5
-1
18
-17
-55
0
0
-5
-1
-7
13
-4
-44
-27
-41
-65
0
-1
1
-31
47
0
0
-42
0
0
-5
-91
-63
0
78
-22
-20
16
3
-6
-32
0
0
0
0
0
0
0
-22
0
36
-2
0
0
9
0
7
0
0
-4
0
0
0
-21
1
0
-43
-15
-3
0
23
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-6
-99
-25
-62
27
0
0
86
-20
36
9
82
-33
27
-16
80
-105
-6
-76
22
-94
0
0
84
-39
61
-2
-32
-39
-8
-50
20
25
37
41
49
119
0
0
8
0
-1
0
24
-46
3
16
3
1
26
-13
-42
-22
0
0
0
0
0
0
-73
-50
-2
30
-1
0
0
-14
-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
-15
-37
9
0
0
49
-7
9
-13
-17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-1
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-15
0
-3
5
2
0
-22
0
-27
0
0
0
0
0
0
2
0
0
41
0
0
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-3
0
18
-49
0
16
-50
1
-7
-24
-5
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-120
0
-53
-6
-37
-1
-10
-9
-71
14
-4
-38
-100
-26
0
0
-43
1
22
-16
-121
12
-61
-3
58
-5
2
-73
-22
8
0
0
21
3
8
-6
-88
88
-2
78
78
-17
31
-79
11
1
0
0
1
0
0
0
0
-13
0
-9
0
0
0
13
0
91
0
0
-2
0
0
0
-54
5
0
-1
-24
7
0
10
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-23
48
12
0
0
-19
0
-25
8
-93
-24
-13
-106
-32
-3
-6
-102
-8
-83
0
0
24
0
35
-6
31
-26
-7
-77
2
0
31
26
67
-20
0
0
-15
0
0
0
-14
8
1
0
0
0
7
-19
-2
13
0
0
-1
0
0
0
16
0
0
0
1
0
0
17
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
7
-56
0
0
0
21
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-30
-39
0
2
1
0
8
17
9
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-30
93
0
-3
9
0
0
-3
21
29
0
0
10
0
-4
-3
-1
21
24
-5
-22
0
0
8
-49
-67
0
0
-6
0
0
0
-5
49
-2
41
19
0
-1
-2
-35
-7
0
0
-4
0
0
0
0
2
0
0
0
0
0
6
0
17
0
0
-1
0
0
0
-8
9
0
12
-13
0
0
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-54
66
-25
0
0
21
4
0
-13
-79
-63
-5
-24
-16
-94
103
19
93
-26
0
0
71
0
0
1
-52
-34
-37
-49
21
-6
49
-12
-101
6
0
0
0
0
0
0
-48
22
0
41
37
-8
-37
-19
1
55
0
0
0
0
0
0
-26
-23
2
-19
4
0
-45
22
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
5
0
-13
0
5
0
3
-13
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-7
0
10
0
0
0
31
0
-1
0
0
0
0
0
0
-1
0
0
-21
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
36
12
0
14
9
0
-2
51
-31
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-8
36
41
0
-27
27
-4
0
-18
8
-43
0
0
-28
0
0
-4
67
22
-25
27
-15
-4
4
-2
42
-107
0
0
15
0
0
0
-27
14
5
-12
-8
-14
22
-10
-22
-79
0
0
0
0
0
0
0
21
0
-25
1
0
0
4
0
-58
0
0
45
0
0
0
21
-1
0
-13
93
0
6
-7
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-24
-49
0
0
93
0
-58
54
-56
-58
-21
12
-3
46
60
19
-11
-88
0
0
49
-5
-32
10
76
-55
23
-49
-35
29
-5
23
0
5
0
0
-5
0
0
0
-15
-50
7
66
19
-3
-25
-28
19
50
0
0
28
0
0
0
-45
-9
6
10
2
0
5
-72
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
5
-30
-8
0
-5
-117
-18
68
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-5
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
47
8
0
0
30
0
3
0
0
0
0
0
0
4
0
0
-42
-3
1
0
-12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-3
0
20
-42
0
-3
5
8
-5
-46
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
2
-54
-6
-81
-13
0
-50
-39
8
30
-47
-7
31
0
0
-66
-4
-5
25
49
84
-22
40
-22
-7
3
-43
-5
-35
0
0
-16
0
-9
0
-28
-43
0
-66
43
4
-15
21
-16
-24
0
0
0
0
0
0
-12
-2
0
-7
-8
0
0
13
0
-27
0
0
-13
0
0
0
-57
0
0
5
16
0
0
106
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
5
0
0
-50
53
7
-18
20
41
6
-62
-8
77
-20
-15
0
-3
0
0
-31
12
13
5
15
22
-4
23
-23
97
102
69
8
4
0
0
-50
0
1
5
0
-35
-1
11
-38
-21
-31
-31
28
-29
0
0
-41
0
-7
-1
8
28
-4
-21
0
0
-31
-10
40
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
31
78
-5
-4
-2
-56
-12
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
1
0
0
0
0
0
0
0
-2
-8
-16
0
9
0
40
25
-3
0
0
0
0
0
0
0
0
0
4
1
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
-49
0
0
0
-30
-12
81
0
0
0
0
0
0
17
0
0
-61
4
0
0
16
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-1
21
-16
-41
-78
1
-17
-42
14
55
52
-21
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
46
0
-45
47
1
95
39
-18
13
-75
-59
-1
0
0
-8
33
4
-7
33
-73
54
19
-69
-10
23
-88
-31
19
0
0
40
0
44
7
24
-32
5
39
-12
-17
3
6
46
13
0
0
-3
0
1
5
0
-16
0
57
-3
0
0
-58
8
-93
0
0
-47
-2
3
-4
35
41
0
14
96
-4
0
-31
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
-48
15
5
63
16
-14
-27
-39
13
7
60
-41
-1
-9
0
0
-49
0
-5
12
8
-2
11
43
31
87
-19
-58
24
-23
0
0
30
0
0
0
-55
13
22
34
-29
13
6
-34
3
-16
0
0
0
0
0
0
3
0
-7
6
0
0
2
-4
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
19
41
-6
3
-7
26
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
1
-4
0
1
0
5
-3
-19
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
-10
0
0
0
0
0
0
0
-1
0
37
0
-4
0
-44
0
12
0
0
0
0
0
0
0
0
0
-58
3
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
-6
5
25
-56
-13
-3
-65
32
-24
29
-48
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
2
17
21
31
18
0
12
-11
-17
2
41
-60
6
0
0
12
-7
-53
17
15
-14
-6
16
-24
-21
20
28
-13
-30
0
0
-2
0
-16
1
-26
-9
-6
62
3
-29
-22
-11
46
-29
0
0
2
0
0
3
-12
-9
0
-26
-6
0
3
8
0
-117
0
0
-3
0
0
0
-7
0
0
31
0
0
4
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
-28
-59
-11
-5
16
45
-15
21
75
74
58
0
0
123
14
6
32
-81
-116
20
-8
72
-31
69
16
-44
-85
0
0
14
0
0
0
21
-42
-8
28
-9
3
21
13
-5
-21
0
0
96
0
0
0
-35
8
4
12
1
0
0
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-28
0
12
17
-4
-27
14
-26
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-3
0
5
0
0
0
0
0
0
0
0
0
9
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-5
0
0
0
0
2
0
45
-1
4
0
-3
0
9
0
0
-2
0
0
0
0
0
0
-17
2
0
0
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
-42
-50
0
-8
-8
-5
-6
-15
3
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-9
-5
-6
-3
-27
0
-48
0
-47
8
-10
-25
21
0
0
19
-2
1
3
-87
4
-23
-24
-33
-2
0
-58
7
-18
0
0
75
0
0
0
28
-68
12
31
27
-5
46
-32
2
13
0
0
31
0
0
0
0
-3
1
-18
-4
0
0
31
0
-6
0
0
3
0
0
0
45
2
0
-22
-60
5
0
-26
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-18
-36
3
43
7
31
-1
-14
12
58
0
0
25
109
1
0
12
39
-7
-21
-25
4
-4
24
53
-57
0
0
0
-5
0
0
-4
43
0
-8
1
15
5
-5
-9
-4
0
0
0
38
0
0
-17
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-8
-4
0
12
0
-36
-9
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-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
-20
0
0
2
2
0
0
5
0
-1
-8
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-1
0
-23
18
0
-5
-35
-2
0
-2
-15
-13
0
0
0
47
0
0
-14
29
-3
1
-4
-4
0
-49
0
-37
0
0
0
-75
9
0
-2
0
0
-43
15
2
-1
0
1
-33
0
0
0
-5
0
0
0
-2
0
5
0
0
0
0
0
-5
0
0
-5
25
0
0
14
0
0
0
5
-4
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-8
21
4
13
6
-1
0
-26
-40
-4
0
0
-6
2
148
-1
18
37
-3
-78
8
5
-5
0
-5
9
0
0
0
0
-49
0
0
-34
0
-2
-2
0
0
4
0
9
0
0
0
0
-49
0
-5
0
0
1
0
0
0
0
-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
14
-2
-23
0
-1
0
8
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
3
4
0
0
-14
0
0
-31
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
3
36
0
16
10
0
-49
-15
-2
0
8
4
-67
0
0
0
0
5
0
4
18
-5
24
0
-1
0
0
0
-34
0
0
1
0
-62
0
6
0
0
-18
14
0
0
0
2
-2
0
0
0
0
10
0
0
-7
0
0
0
0
0
0
0
6
0
0
0
0
-46
0
0
0
0
0
-13
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-123
63
-1
10
-74
8
5
-9
-4
-4
0
0
19
0
0
66
-27
36
4
35
-14
-3
19
-41
28
-48
0
0
0
0
0
6
-4
41
0
9
3
0
0
-3
2
-28
0
0
0
0
0
40
-24
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
-1
-6
-8
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
12
5
-41
-1
0
30
-1
0
-6
-21
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
31
7
-2
32
-25
5
18
-4
27
71
0
0
-1
0
0
30
15
-3
-4
42
7
0
0
6
-5
13
0
0
-2
0
0
20
2
-18
-1
7
-9
-6
0
0
-3
-15
0
0
-2
0
0
-58
0
-18
0
2
-4
0
0
-1
0
-35
0
0
0
0
0
13
-2
0
0
19
-10
1
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
68
37
-47
40
-92
-16
-43
-70
-3
0
0
31
-42
40
-33
30
-29
-26
52
17
-37
27
-13
-25
29
0
0
9
0
0
34
15
-36
-62
-21
-96
41
-43
-38
0
58
0
0
-42
-5
-3
-2
-37
-17
-3
-2
-17
-84
-9
-34
67
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
9
43
20
53
-36
13
-20
12
3
0
0
0
0
0
0
-49
1
-16
30
2
2
0
68
0
8
0
0
0
0
0
0
7
0
-8
3
0
32
1
3
0
-8
0
0
0
0
0
0
-27
0
3
-16
-7
-4
4
-41
3
11
0
0
0
0
0
0
6
-2
0
52
-43
-51
0
-78
0
-102
0
0
0
0
0
0
93
0
0
-51
60
31
0
-39
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-17
79
-3
40
-14
-30
16
25
-44
76
12
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
-14
-42
-51
-14
-37
30
-84
99
8
24
85
-21
0
0
-55
0
8
-41
-4
31
19
-67
25
1
42
-9
-50
-10
0
0
-52
-2
-116
-18
-7
-25
0
33
2
36
-26
-32
13
23
0
0
0
0
0
0
-55
10
-19
-40
-43
13
0
27
0
-55
0
0
56
48
-4
29
-78
20
31
-4
-42
29
28
-41
-29
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
17
23
74
45
46
-19
-23
49
0
0
-1
-17
-20
-61
-9
28
15
-26
-92
-48
-40
-40
-2
-18
0
0
13
5
-22
11
-17
0
-61
-88
-18
-1
-13
-35
-4
-10
0
0
-2
0
15
5
-19
37
-21
96
61
31
-5
65
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
37
-15
-29
-25
-49
69
-23
13
0
0
0
0
0
0
-6
-67
-20
-38
5
1
0
12
-8
8
0
0
0
0
0
0
-9
-85
-45
3
-1
41
-24
10
10
-3
0
0
0
0
0
0
-2
-47
5
17
4
0
-6
4
6
-12
0
0
1
0
0
0
-3
79
0
1
14
-30
46
66
-17
-28
0
0
0
0
0
0
-75
-3
0
4
38
-2
-1
-69
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-13
-23
3
-38
46
-21
1
-27
-50
-25
-97
-6
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-13
80
-42
28
-19
56
102
10
-90
-40
7
-13
-46
0
0
38
34
20
34
8
-7
-55
-9
44
-39
42
23
37
-56
0
0
-38
2
-22
-61
-31
81
66
-61
24
20
-60
-31
-67
-1
0
0
-21
0
-17
-5
-1
5
-6
-53
-53
-72
21
-43
-22
37
0
0
9
0
5
0
22
-61
-3
-29
-29
23
10
-52
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
88
-30
1
25
-82
-51
0
0
0
5
-4
5
-61
-78
39
53
-7
-18
2
4
47
-12
0
0
6
0
0
0
-8
-46
13
-4
-2
4
-13
49
0
-29
0
0
4
0
0
0
31
-7
23
8
1
2
0
60
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
0
18
16
-4
0
-19
-5
-5
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-14
0
0
0
-12
0
8
0
0
0
0
0
0
0
0
0
5
3
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
9
0
26
-6
0
-18
-22
5
-23
-1
-42
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-1
2
-22
-27
43
4
-8
2
8
-13
-69
-31
0
0
37
-1
0
0
-22
-52
-27
42
7
1
0
3
4
-27
0
0
18
0
-2
0
-15
42
16
22
10
19
2
15
-10
25
0
0
6
0
0
0
3
-13
5
-4
-9
0
0
10
0
-24
0
0
-10
0
-1
0
35
0
1
-8
-50
-2
0
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
-64
-3
-29
111
-33
0
0
14
-10
-36
-47
-63
-33
-42
58
5
-105
2
-8
-76
-32
0
0
-46
7
-27
-23
17
21
-42
26
-143
-31
-10
47
80
85
0
0
-62
0
-2
2
-57
-5
-4
32
31
11
29
-58
4
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
37
-71
-23
-66
-3
-15
-71
13
5
0
0
0
0
0
0
0
0
7
2
0
-1
0
-5
5
-3
0
0
0
0
0
0
0
0
0
-17
0
-15
-2
50
-2
9
0
0
0
0
0
0
-10
0
-1
31
-4
5
0
-1
9
18
0
0
0
0
0
0
0
-9
0
-57
-37
7
-4
69
1
-31
0
0
0
0
0
0
-10
0
0
-34
4
0
2
5
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-105
8
-47
6
35
-21
0
-52
-14
-45
-50
-52
-48
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
35
39
13
-21
-3
25
19
40
-11
23
-68
11
-22
0
0
-55
4
13
-49
-57
30
10
94
-27
15
15
-64
-87
-10
0
0
-31
4
-23
-32
-126
-111
0
17
-22
-28
-27
-6
-36
-4
0
0
2
0
1
-35
1
39
-30
53
-16
-9
1
-66
-13
-88
0
0
30
-4
-9
-20
1
58
27
-54
-117
-64
-43
17
-42
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
77
-9
13
20
31
0
0
52
5
-6
-64
-92
-69
29
42
14
-22
55
-17
-42
-21
0
0
-45
0
0
-8
5
-94
56
50
-72
-33
-31
44
32
-48
0
0
-5
0
1
-1
-5
-24
-5
118
1
10
-31
8
-54
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
13
15
-7
-50
-26
-8
24
-94
-6
0
0
0
0
0
0
0
0
-7
-3
0
0
0
9
0
13
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-17
14
-9
0
0
0
0
0
0
0
-3
0
-1
0
0
0
9
1
10
0
0
0
0
0
0
0
8
0
28
4
5
0
-14
19
-24
0
0
0
0
0
0
10
0
0
91
4
0
0
-9
8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
6
19
-7
24
1
24
-4
31
36
44
-25
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-16
5
0
-6
-115
-5
-5
-16
50
17
78
54
-5
0
0
-18
-5
8
20
67
-21
2
-21
83
5
21
14
-47
-6
0
0
11
3
0
-3
88
34
-3
-27
-83
51
-8
27
94
117
0
0
-6
0
1
4
22
126
8
39
-64
1
2
-51
15
-18
0
0
47
5
0
-19
113
-6
39
51
-13
56
-13
50
-59
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-89
-22
-10
105
0
0
-8
15
39
9
58
31
20
-12
25
60
-49
-43
-103
42
0
0
3
0
0
-5
-25
8
29
-66
-48
0
-9
-64
33
93
0
0
6
0
0
0
-19
6
12
-25
-2
0
-5
-12
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-34
1
-33
5
-13
-1
20
-30
-5
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
2
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-3
0
-1
68
0
12
0
0
0
0
0
0
2
0
0
44
4
0
0
46
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
24
4
-8
17
3
8
16
-27
-1
-45
3
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-5
5
-5
40
-8
31
-116
5
-10
22
-146
-78
0
0
-41
0
-9
9
-43
-14
-22
13
-22
-4
0
25
-19
-39
0
0
12
0
-10
7
-13
-17
-2
32
-60
-7
1
24
-38
-8
0
0
0
0
0
0
5
16
1
20
-4
0
0
43
-1
10
0
0
25
4
0
0
-4
-3
0
63
-9
17
0
-49
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
152
58
81
0
0
-31
-1
14
6
-6
64
-5
63
-86
-5
-26
39
27
20
0
0
-17
0
0
9
-76
50
-6
51
-8
2
12
-5
-9
-78
0
0
-2
0
0
0
-24
1
0
8
8
0
27
-20
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
30
-10
1
0
9
-19
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-24
0
20
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
0
0
-3
-19
0
12
60
-3
-29
57
-107
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
-6
8
66
12
0
-3
0
-11
13
11
33
11
0
0
9
0
0
-5
-15
80
5
-57
-10
7
0
12
-4
13
0
0
-4
0
0
-4
-35
-9
1
94
20
-6
44
-9
-62
-29
0
0
0
0
0
0
0
-32
0
-94
31
2
3
75
0
-41
0
0
30
0
0
1
-15
-5
0
-29
37
20
87
38
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
24
-50
0
0
-22
-92
-13
-4
-29
-27
25
-4
-44
-12
-66
0
-36
27
0
0
-42
-17
-94
-64
110
-10
33
25
-54
-34
64
0
-13
27
0
0
-77
0
-51
-41
55
-24
3
24
35
-29
0
-26
-35
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-41
-8
-58
16
23
17
-37
64
-32
0
0
0
0
0
0
0
8
6
-21
-2
-3
2
-27
-7
-19
0
0
0
0
0
0
-8
5
31
-9
0
-3
0
3
1
-31
0
0
0
0
0
0
-1
0
0
-4
8
-5
0
28
17
-17
0
0
0
0
0
0
1
48
0
-31
-30
57
5
2
13
-35
0
0
4
0
0
0
24
0
0
-66
2
18
6
-51
42
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-33
44
15
43
-54
24
13
95
51
23
83
-40
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-6
-62
-4
-85
28
-82
-75
-12
20
-58
0
-25
27
0
0
-41
-32
-26
42
-77
-42
-43
-88
18
-54
41
-5
-70
-15
0
0
-69
2
-74
-49
-93
-120
-4
-93
52
-20
-8
41
-42
-38
0
0
-47
0
46
9
-77
-60
-69
-10
4
-52
-5
43
-17
22
0
0
31
-31
-37
0
-115
11
47
116
19
-13
0
10
-49
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
64
0
0
-5
30
-16
-124
58
-22
-24
-11
-85
-62
-26
0
51
-48
0
0
2
0
7
-74
0
-40
-7
-72
-69
-98
-23
-41
79
-2
0
0
-28
1
2
-8
-32
-10
50
-5
34
12
12
-10
-85
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
33
-69
46
50
-41
-72
-44
-43
0
0
0
0
0
0
0
0
7
1
-2
0
0
19
-59
13
0
0
0
0
0
0
0
2
-5
-4
5
5
0
41
-13
4
0
0
0
0
0
0
0
0
3
-7
0
0
0
5
9
16
0
0
0
0
0
0
0
8
0
5
1
6
0
70
4
5
0
0
0
0
0
0
9
0
0
-3
12
1
0
68
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
3
13
-24
-27
-36
-7
-34
20
-41
5
-72
-106
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
4
-6
28
16
-32
-2
-5
26
87
84
-8
17
-45
0
0
36
34
5
1
-16
33
-66
-15
-58
-11
-4
72
42
45
0
0
51
13
-67
-16
66
51
-27
-21
-10
-23
-1
15
-46
-56
0
0
9
0
0
6
0
-59
-6
-53
8
-19
1
-8
15
29
0
0
2
-23
-31
-55
-52
-29
1
-4
-41
25
5
-100
-101
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
-10
-46
27
-69
-5
20
-17
-17
-86
61
-65
-15
-14
9
0
0
-64
-2
-7
-48
-86
-32
-43
-63
-6
-55
18
-47
25
17
0
0
32
0
5
-1
6
0
31
-67
46
-38
24
-64
-28
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
-8
-45
-12
3
-30
-48
-72
-45
-54
0
0
0
0
0
0
-1
0
2
13
2
0
0
-8
-6
-13
0
0
0
0
0
0
2
0
-9
-43
-1
-7
0
50
4
-44
0
0
0
0
0
0
3
0
8
0
0
-17
0
33
-1
-161
0
0
0
0
0
0
5
2
0
-1
8
48
18
21
2
-106
0
0
0
0
0
0
-15
0
0
7
-21
0
0
4
47
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
1
-49
-10
-140
-125
25
-21
-126
49
-10
-54
5
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-5
51
37
12
-30
-11
-63
65
-120
49
25
-36
-22
0
0
-23
47
32
-58
-6
-12
-31
7
-24
-16
-23
-31
31
-41
0
0
-17
3
-55
39
37
25
-55
-20
-8
-106
-26
-58
-48
-75
0
0
-37
0
-13
5
80
7
-4
-79
-7
-13
-1
28
41
-121
0
0
-12
-5
9
-13
-37
0
25
17
30
2
-16
-111
-26
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
184
3
38
0
22
-40
-6
8
32
9
-12
-54
-11
-167
0
0
93
0
0
0
9
-5
-3
-8
6
-7
9
58
-35
45
0
0
109
0
1
0
3
41
9
-7
-16
-8
-1
-24
85
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-15
-36
50
1
44
-9
-17
6
-53
0
0
0
0
0
0
0
0
13
8
0
0
0
-25
1
-12
0
0
0
0
0
0
6
0
3
-56
0
1
-7
-13
9
-13
0
0
0
0
0
0
0
0
0
24
2
0
0
-4
-8
-2
0
0
0
0
0
0
0
-9
0
46
-12
0
-3
49
3
17
0
0
0
0
0
0
-1
0
0
2
2
0
0
3
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
175
0
0
0
-8
-13
-2
41
16
-8
2
44
12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
24
13
-50
-45
16
-30
15
28
0
-113
55
-71
0
0
-41
-2
23
-5
9
-76
23
-80
-41
60
23
-102
30
64
0
0
74
0
0
0
-5
14
-1
-34
34
21
5
-1
1
-9
0
0
58
0
0
0
0
-22
4
50
-3
-1
0
35
0
-5
0
0
161
2
0
0
-12
20
-1
3
-35
8
-13
-3
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
-73
-37
0
50
14
-1
-9
4
44
-4
0
0
0
38
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
22
0
0
14
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-4
-2
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
-1
0
0
0
3
0
0
0
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
57
0
0
-16
17
0
-10
42
0
0
5
9
8
0
0
7
30
1
0
-30
7
-16
-42
-18
-7
0
-10
-1
6
0
0
0
-8
0
0
-1
-7
0
-2
0
2
0
0
-2
5
0
0
0
5
0
0
0
0
0
3
0
0
0
-4
0
-8
0
0
0
14
0
0
0
0
0
0
16
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
0
-17
17
22
-2
14
6
-45
17
-92
-54
0
0
0
0
56
0
-2
48
0
12
-3
0
-4
13
-12
94
0
0
0
0
53
0
-18
-16
3
-12
6
0
0
-8
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
13
0
37
-1
6
4
-2
30
44
0
0
0
0
0
0
0
0
-2
-2
-2
0
0
12
0
6
0
0
0
0
0
0
0
0
0
-13
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
23
0
-6
0
0
0
0
0
0
0
0
0
-31
0
0
0
8
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
126
0
24
-8
0
5
-6
15
-6
-1
-49
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
-28
-5
38
-52
0
49
13
16
2
4
20
-68
0
0
-27
0
102
-9
38
56
33
29
16
5
0
3
-3
-15
0
0
5
0
-71
0
-7
-12
15
77
-5
-1
-5
1
-1
5
0
0
0
0
26
0
0
-7
0
-35
0
0
0
-1
0
8
0
0
-8
0
59
0
-2
0
-2
8
30
0
0
42
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
122
26
-46
0
25
-8
-5
-21
0
11
26
0
0
0
0
0
97
-13
-53
0
25
1
0
-1
1
2
29
0
0
3
0
0
111
-13
-5
0
19
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
8
-19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
15
0
5
6
0
-2
3
-13
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
-10
30
1
0
48
-21
5
0
4
-9
-77
0
0
-7
0
0
15
-53
-45
21
37
-13
4
0
-25
-31
-61
0
0
0
0
0
27
0
1
0
3
-1
3
0
0
0
-6
0
0
0
0
0
21
0
-1
0
9
0
0
0
-2
0
-13
0
0
-2
0
0
6
-1
0
0
2
8
0
0
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
21
4
47
-78
-55
10
-1
-78
15
0
0
-27
0
-2
-2
52
-62
-66
-141
-75
36
22
74
0
-28
0
0
24
0
16
-3
12
-134
-36
-54
14
-26
21
-53
16
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
44
38
-30
13
-28
68
-4
-56
0
0
0
0
0
0
-55
-4
8
2
-1
0
-2
-60
0
33
0
0
0
0
0
0
33
0
8
18
-9
30
-9
26
1
-42
0
0
0
0
0
0
-71
0
0
19
8
-2
-7
5
-2
3
0
0
0
0
0
0
23
-41
0
10
35
0
0
14
0
28
0
0
0
0
0
0
14
0
0
5
-8
-8
0
30
8
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-7
37
-4
47
-44
-3
-64
-32
67
-50
57
-6
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
23
-50
-17
-65
13
43
67
10
6
-10
80
48
20
0
0
-14
-32
-40
42
-51
49
-19
-85
113
-27
-16
-34
-7
-30
0
0
-45
6
0
2
16
-31
4
-40
17
14
7
34
-9
-54
0
0
0
0
0
0
-5
-18
-3
2
-30
15
0
-25
0
-25
0
0
-37
13
-16
8
50
5
16
-94
-92
12
-27
-62
-103
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
129
28
-39
40
-72
-29
-22
13
0
0
-102
-25
2
45
30
-19
-31
72
-17
56
-22
21
-45
-30
0
0
-44
-1
2
5
-5
46
27
18
17
47
-11
6
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
25
5
20
8
-39
8
28
-45
11
0
0
0
0
0
0
0
19
0
-20
19
-2
0
-11
1
-2
0
0
0
0
0
0
-3
1
-31
-13
-2
-41
14
45
-74
8
0
0
0
0
0
0
-4
-2
8
3
0
1
-2
14
-9
0
0
0
-8
0
0
0
0
-13
0
-54
-67
-48
-64
17
-10
-11
0
0
0
0
0
0
6
-29
0
-32
8
21
29
-26
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
26
-8
-22
58
-5
-22
-58
-57
20
119
-58
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-38
-64
-2
34
13
29
-13
37
29
-62
1
18
27
0
0
5
-84
-30
-15
-7
6
25
43
59
-7
-2
-19
-66
46
0
0
-51
3
10
5
32
54
-20
37
-23
-2
-15
68
-41
-62
0
0
-28
-5
1
3
-27
57
-27
-28
50
19
-2
49
-8
-24
0
0
-20
0
5
0
-25
75
-14
55
24
-4
-7
-7
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
38
-3
13
67
18
23
0
0
0
0
0
0
0
8
-10
-25
51
-2
6
5
52
0
102
0
0
-3
0
0
0
-50
2
88
-1
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-5
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
1
30
-5
0
2
5
64
31
54
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
3
8
5
18
-40
3
19
-26
0
-1
-9
-40
20
0
0
23
0
0
-5
-1
-69
-5
7
9
-13
1
-38
-20
12
0
0
0
0
0
0
-15
13
0
-4
32
18
8
0
3
-2
0
0
0
0
0
0
-2
-3
0
-19
0
0
0
22
0
34
0
0
5
0
0
0
-3
7
3
25
5
-1
-1
69
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
46
29
37
61
48
-4
0
0
68
0
10
90
-50
27
28
8
57
39
46
21
-4
-30
0
0
-17
2
-9
-6
-5
7
4
57
31
27
-19
-29
-41
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-5
63
45
23
-72
-25
-60
13
40
0
0
0
0
0
0
0
-1
-5
-22
0
0
1
-22
-2
6
0
0
0
0
0
0
2
-1
-10
-41
5
-7
7
-14
28
51
0
0
0
0
0
0
-2
1
0
21
0
-2
0
-14
-6
29
0
0
0
0
0
0
0
45
0
-48
19
-8
-5
7
6
-2
0
0
2
0
0
0
16
0
0
79
-3
0
0
-2
14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
26
2
-30
-28
-7
-64
-29
14
31
12
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
-12
26
48
-61
-7
59
84
-19
33
-18
16
-58
0
0
50
19
-77
10
76
-15
-15
4
52
-78
-8
106
-125
-30
0
0
-3
0
-10
-5
42
-21
41
47
3
-15
-26
20
1
-52
0
0
9
0
-5
23
53
-33
6
20
-37
-2
0
-17
-14
61
0
0
-24
-5
46
5
-20
-2
-10
36
40
-30
48
28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-11
5
-7
-81
-97
0
0
24
0
-3
5
12
-18
16
-50
4
-7
-33
60
6
68
0
0
-16
0
0
0
-44
40
8
31
23
-1
3
31
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-13
41
25
-1
-27
-1
-73
-58
2
0
0
0
0
0
0
0
0
2
1
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
-62
0
13
-7
-8
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
23
0
0
0
41
0
-56
0
0
0
0
0
0
-7
0
0
42
-5
0
0
-2
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
0
-36
14
1
41
20
6
7
75
-1
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
25
-14
-4
15
-41
5
-20
88
-47
3
6
9
41
0
0
37
12
-8
14
71
-7
-32
-40
-2
-8
13
-1
18
-59
0
0
24
0
-4
0
53
50
3
-2
13
-9
-2
-42
59
40
0
0
-2
0
0
0
2
-31
-1
8
-5
0
-2
3
0
-26
0
0
19
0
20
0
-29
-12
-7
11
80
-8
5
51
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-29
-62
0
0
0
0
0
0
-58
-14
-5
-68
-8
0
14
-18
5
-37
0
0
1
0
0
0
-48
42
2
-10
0
0
0
2
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
41
17
-22
-2
16
-1
11
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
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
-23
0
0
0
13
0
8
0
0
0
0
0
0
-4
0
0
37
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
0
3
-19
0
8
20
-7
2
-10
-14
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
6
-9
28
58
0
14
-10
2
0
-2
16
32
0
0
38
45
0
-1
-13
51
-34
48
3
5
0
-7
25
-13
0
0
-13
0
0
0
-37
-18
0
26
66
8
-5
0
9
-23
0
0
0
0
0
0
0
-16
0
23
0
0
0
-4
0
-18
0
0
-4
0
0
0
84
0
0
-19
-16
0
0
14
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-70
-35
-17
0
0
-8
0
8
10
8
74
-50
-100
-38
28
51
-14
-57
-41
0
0
24
0
5
0
4
22
-14
32
25
-19
59
-61
-40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-32
6
-99
15
-84
12
50
64
55
0
0
0
0
0
0
0
0
-2
21
0
-8
0
7
-2
21
0
0
0
0
0
0
0
0
-5
-24
0
-1
-1
36
-9
-8
0
0
0
0
0
0
-6
0
0
-6
0
0
0
-5
0
-12
0
0
0
0
0
0
0
17
0
-14
0
8
0
49
4
39
0
0
0
0
0
0
-13
0
0
0
-3
0
-6
-21
-44
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
-9
-1
-58
92
24
16
-31
-19
51
10
-87
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
8
-49
8
-26
1
25
82
-84
6
75
-16
32
-20
0
0
-60
8
8
16
-5
-95
39
-20
68
-54
1
9
-44
-56
0
0
-40
0
-3
0
37
51
-4
-14
25
-7
-24
-71
9
-74
0
0
-44
0
0
0
2
19
-13
26
-13
13
-7
15
3
-121
0
0
46
0
6
-4
48
-5
-16
50
4
-42
-119
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
-28
0
0
18
0
0
4
-44
-106
9
36
-2
0
-16
18
-27
-87
0
0
89
0
0
0
-59
2
28
-18
-31
1
18
-21
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
21
-13
-3
-5
44
-1
4
-13
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
1
-27
0
4
0
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-8
0
0
0
41
0
24
0
0
0
0
0
0
14
0
0
102
0
0
0
24
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
0
-2
-23
0
8
6
2
7
8
-14
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-1
-28
13
-13
-4
65
5
3
20
-57
-22
9
0
0
1
-8
-14
23
28
56
-9
52
-5
-5
20
-19
-5
3
0
0
-14
0
-1
0
-16
-27
-1
-7
49
0
-3
5
76
-14
0
0
-3
0
0
0
-10
58
0
31
1
0
1
48
1
64
0
0
-13
0
0
0
66
46
3
90
-27
9
9
-24
-120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-9
0
0
-77
-7
-12
-152
0
-1
-53
-101
-5
20
-78
-44
98
-6
0
0
-111
-22
-72
-124
-57
-67
-26
-40
-13
-33
11
-22
-48
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
21
23
-32
13
29
-18
89
37
-23
0
0
0
0
0
0
0
7
-4
-13
9
-3
-1
-13
62
5
0
0
0
0
0
0
0
6
30
-48
-15
-3
26
-38
28
-12
0
0
0
0
0
0
0
0
0
21
-2
1
0
-5
45
19
0
0
0
0
0
0
0
5
0
-23
14
-3
0
81
19
-10
0
0
0
0
0
0
-5
-3
0
-67
-86
5
2
-45
-9
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-9
4
7
1
-171
-4
-76
-32
60
54
-94
-48
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
16
42
-22
-77
-41
83
26
-83
5
76
21
-46
0
0
34
-5
7
-42
78
28
83
38
57
4
31
39
-72
-70
0
0
-48
0
48
-6
-5
-70
6
-18
-62
-50
-39
-4
-59
-52
0
0
2
0
-13
-28
0
4
0
-111
-21
10
-8
-10
37
-60
0
0
-12
11
-203
16
12
-58
-3
33
-3
1
52
-43
19
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
-56
0
41
-5
-38
23
-14
-28
-151
-42
-41
-64
-44
-2
0
0
-35
0
12
-54
-22
0
41
-10
-34
-9
-85
-19
-27
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-29
-30
-88
7
-18
23
-41
-9
-77
0
0
0
0
0
0
0
0
29
-33
-1
4
1
-24
1
-29
0
0
0
0
0
0
-3
0
-7
58
0
4
-15
17
-42
-39
0
0
0
0
0
0
4
0
0
-7
0
14
0
-8
-20
47
0
0
0
0
0
0
5
5
0
-36
18
4
-47
-8
-73
17
0
0
0
0
0
0
25
0
0
-40
-44
0
0
33
-28
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-13
-31
7
-9
-30
16
-19
10
4
-58
-106
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
80
30
-62
-38
-4
-6
-2
-37
25
-45
7
-18
4
0
0
3
-21
13
-59
-47
-21
53
-22
-25
5
-26
76
49
-11
0
0
-29
9
-39
-8
-36
9
22
58
15
-25
-10
-56
-66
-109
0
0
-30
0
26
137
11
-24
58
-92
-118
-7
20
-23
54
17
0
0
-10
-6
-60
14
-111
0
-15
-88
-25
-35
-43
-40
-9
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
-3
0
-32
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
-5
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
-2
1
0
-3
18
0
10
-25
-7
0
-10
-9
-12
0
0
40
0
0
0
25
32
1
8
-5
0
0
-42
-5
22
0
0
29
0
0
0
0
0
0
-11
13
0
0
19
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-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
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-17
1
0
54
0
0
-2
0
0
0
-10
-60
0
0
0
0
-22
0
0
-3
0
0
0
0
0
8
0
1
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
-21
-1
-45
0
-6
-3
0
0
0
-5
-19
0
0
-4
0
0
2
0
-20
0
13
13
0
0
2
0
4
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
156
0
0
-2
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-33
-2
-4
0
31
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
2
0
0
-4
-2
2
-8
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
4
0
-4
-57
-5
0
-5
-9
5
0
-10
0
-28
0
0
1
0
0
0
-95
-51
-5
-13
-57
4
0
12
0
-111
0
0
0
0
0
0
98
-8
0
15
-48
-2
-1
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
-1
-49
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-15
-6
-9
6
-6
6
0
83
0
0
-7
0
0
0
-24
81
0
-31
12
1
-8
-5
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-8
-58
-4
75
14
2
-64
-76
0
0
0
0
0
0
0
-1
1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
10
7
-92
0
-5
-1
9
0
8
0
0
0
0
0
0
0
0
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-31
0
-18
8
0
0
-8
0
4
0
0
0
0
0
0
0
0
0
-44
3
0
0
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
1
0
-9
24
-6
-19
13
-38
10
-78
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-7
-21
72
1
-30
6
-3
-58
36
10
3
42
-43
0
0
80
-9
-1
53
23
1
66
-11
-35
-41
-1
-34
-13
-10
0
0
42
0
0
3
2
11
-2
-72
50
4
-47
-8
16
-48
0
0
0
0
0
0
0
-22
0
-1
0
0
0
5
0
0
0
0
-1
0
0
0
0
-35
-2
-3
43
-4
0
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-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
-9
-9
0
0
0
12
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
2
19
0
4
0
1
-1
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
15
-32
-5
0
-1
-5
0
3
20
-33
0
0
-14
0
0
0
51
28
34
7
6
6
0
64
4
-22
0
0
0
0
0
0
-2
24
0
7
15
0
0
1
0
22
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
1
0
-15
8
0
-41
0
0
-1
0
0
0
-12
-28
-5
-19
7
0
0
-31
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
5
-32
0
5
0
21
5
-15
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
3
0
-4
-29
0
-1
16
2
-8
-43
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
-5
-47
-26
0
-55
8
0
8
-40
102
-36
0
0
-1
0
0
-22
44
3
22
-54
58
-31
0
72
52
-75
0
0
8
0
-1
0
-9
-51
0
-72
32
-3
3
22
-9
-43
0
0
0
0
0
0
0
1
0
49
0
0
0
1
0
3
0
0
-5
0
0
0
8
10
0
-27
-49
0
17
-60
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
-32
0
0
0
0
0
-4
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
-1
37
0
0
0
58
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
3
0
0
13
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
-10
0
-30
-61
0
9
-9
-8
0
-9
8
-44
0
0
-12
0
0
3
-26
-17
6
-52
27
0
0
-47
-5
-57
0
0
2
0
0
0
0
-20
0
8
16
0
0
0
2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-12
27
0
0
-4
0
0
0
6
-54
0
0
-7
0
0
0
-49
-7
9
-1
-5
0
0
13
0
5
0
0
0
0
0
0
0
3
0
-1
3
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
-1
0
0
0
0
-120
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-21
8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-6
0
0
5
0
-76
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
1
0
0
-78
-52
0
3
-46
28
-10
1
23
12
0
0
13
0
0
0
14
-48
4
-18
-17
-3
8
-19
0
4
0
0
-2
0
0
0
0
7
0
-32
31
2
45
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-25
0
0
0
0
0
0
31
-34
2
-3
-20
0
0
-6
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-3
-25
0
1
-2
-73
0
-76
0
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
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
7
4
0
-6
59
1
-7
-49
-9
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
5
-1
-30
76
0
28
-15
22
-1
7
-26
10
0
0
-7
0
-5
0
19
-83
-3
7
67
9
12
2
-39
-18
0
0
8
0
0
0
-2
-28
0
24
-40
1
42
45
-12
-100
0
0
0
0
0
0
0
0
0
13
0
0
0
-3
0
-1
0
0
1
0
0
0
5
-2
0
45
-62
-4
0
24
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
30
0
0
-1
38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
48
-48
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
12
0
0
-16
0
0
-30
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
-76
0
-5
-45
0
0
8
52
8
0
0
-60
0
0
-3
0
-17
5
-41
-31
0
0
11
87
8
0
0
4
0
0
0
0
-1
0
-15
-5
0
-4
8
34
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
4
0
4
45
0
0
31
64
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
0
0
-11
0
0
0
4
0
0
-51
-16
6
-24
-33
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
19
-21
5
3
-64
23
4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
6
-8
0
8
3
-53
8
-20
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
7
0
0
0
-5
0
-1
0
0
0
0
0
0
0
0
0
34
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
5
-3
-44
-8
0
35
-15
-22
41
72
-15
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-13
-49
49
80
-24
-1
56
20
45
-22
57
-44
22
0
0
32
-18
-32
-22
-7
-1
24
-59
51
-1
-19
47
-48
10
0
0
19
0
-22
20
-18
5
-5
-24
-35
-15
-62
-3
-26
-131
0
0
1
0
0
0
0
0
0
-8
0
0
0
-1
0
-21
0
0
-44
0
-15
0
-30
0
0
13
48
17
-25
-4
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
9
-1
-5
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
8
0
0
1
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
-84
5
0
-3
-50
0
0
12
-13
0
0
0
-7
0
0
0
-30
26
-8
3
-6
0
0
-38
-14
-10
0
0
-9
0
0
0
8
0
0
-10
-32
0
0
0
0
14
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-23
-45
0
0
2
0
0
0
5
0
0
0
0
0
-5
0
5
-4
0
-3
3
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
8
56
0
0
0
0
0
0
-12
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-5
30
-27
-10
-27
-1
-6
-10
-14
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
1
9
0
0
0
-14
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
34
0
31
0
0
0
0
0
0
1
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
37
0
3
1
-14
20
-15
-82
7
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-19
0
8
-56
-5
0
-52
86
-13
13
51
39
-57
0
0
32
-1
0
5
64
-10
14
-98
12
8
-4
-22
31
-39
0
0
25
0
-1
0
149
-4
0
-26
-89
7
31
43
2
50
0
0
0
0
0
0
41
0
0
14
3
0
0
15
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
5
0
5
0
52
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
12
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
158
0
1
-14
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
1
-1
0
-49
-55
0
-73
-18
-17
-1
3
-36
0
0
0
-25
-4
0
0
26
-22
-15
-19
-14
-3
-1
-98
-20
0
0
0
0
0
-7
0
-4
1
0
-37
14
4
-4
4
-10
0
0
0
0
0
0
0
0
-12
0
8
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
1
0
0
-5
0
0
-4
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
1
3
0
-2
-9
0
0
7
71
5
0
0
-4
0
0
0
10
2
9
9
-4
0
0
14
13
36
0
0
1
0
0
0
5
0
0
7
3
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
0
-4
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
0
-45
0
0
0
-2
25
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
1
-11
89
0
73
13
5
0
18
-94
-31
0
0
-8
0
0
-13
-49
-37
17
-75
1
-9
1
6
-45
-23
0
0
0
0
6
0
7
-2
0
-44
19
-2
4
1
8
-8
0
0
0
0
0
0
0
0
0
38
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
-39
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-4
0
0
0
0
0
-31
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-112
0
0
0
-50
41
0
27
-25
-10
0
12
-5
-5
0
0
-32
0
0
3
-41
24
-8
-42
6
2
0
21
-20
-32
0
0
0
0
0
0
16
0
0
-4
5
-1
0
3
-34
-15
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-6
29
0
0
4
0
0
0
2
0
0
0
-13
0
0
0
-86
0
0
32
0
0
0
-5
0
18
0
0
0
0
0
0
2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
1
0
-21
49
0
12
-3
0
0
-5
-32
0
0
0
3
0
0
0
-7
13
0
6
-7
1
0
3
0
-2
0
0
0
0
0
0
0
0
0
-9
-20
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
60
0
0
0
25
-8
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
3
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-13
15
0
0
4
0
-1
30
47
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-121
0
-5
0
23
-132
0
8
-28
-1
0
-1
-2
-13
0
0
-32
0
0
0
-33
77
-35
-74
-13
9
0
23
-8
-13
0
0
-5
0
0
0
-16
0
0
-32
17
0
0
15
3
-20
0
0
0
0
0
0
0
0
0
-8
0
0
0
-17
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
230
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
2
3
-31
10
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
12
0
0
9
0
21
6
31
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
-22
-23
45
0
-25
75
-12
22
39
-45
-1
0
0
53
0
3
15
-9
20
18
-4
-46
-56
1
-72
36
-22
0
0
-5
0
-8
0
5
0
2
7
-5
29
-15
30
-49
-8
0
0
0
0
0
0
0
0
0
-18
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-12
0
0
0
0
0
0
0
-6
41
0
0
-13
0
0
0
-2
0
0
8
-4
0
0
5
-8
46
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-9
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
0
0
0
0
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
-93
-84
0
1
4
8
0
16
5
-68
0
0
-22
0
1
0
43
12
1
-34
25
0
0
-6
1
-7
0
0
5
0
0
0
-17
14
0
2
0
0
-13
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-56
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
-1
-3
-52
-23
0
4
-25
-1
0
5
6
-4
0
0
7
0
-1
14
16
58
5
8
-7
0
0
31
-7
2
0
0
0
0
0
0
-3
-34
0
-1
5
-1
0
-2
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-15
-12
0
0
0
1
10
-2
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
-7
5
-28
-1
0
1
10
-13
0
0
58
-27
0
0
-14
0
2
4
2
-17
0
-35
24
16
0
20
8
5
0
0
-8
0
0
0
2
-5
0
-29
27
0
3
3
-1
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
0
0
-4
1
1
0
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-1
6
4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
6
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
4
31
-1
-59
33
0
0
30
-7
-5
-41
-66
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
-13
22
-20
86
-5
-5
84
53
2
-2
9
50
-6
0
0
-6
-8
-21
-19
-20
76
-11
49
21
17
16
-12
21
59
0
0
22
1
13
3
10
-7
13
10
3
-3
4
14
-61
-12
0
0
9
0
0
5
-4
10
0
-17
-3
0
0
25
0
-41
0
0
-12
0
2
0
-9
-4
0
2
49
0
0
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
5
-12
0
0
3
0
0
13
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-2
0
59
66
0
-1
-3
0
0
-7
-64
-5
0
0
-33
0
0
0
29
-70
-4
-4
0
0
0
34
5
-13
0
0
0
0
0
0
21
-8
0
0
2
0
1
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-10
0
0
5
0
0
19
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-3
0
54
40
0
-5
58
0
0
-3
-71
10
0
0
-28
-5
0
-2
25
-35
30
23
-2
0
0
-31
10
-7
0
0
8
0
0
0
8
-15
0
3
8
0
-1
0
-5
-13
0
0
1
0
0
0
0
8
0
3
0
0
0
7
0
0
0
0
-7
0
0
0
-4
0
0
0
-1
0
0
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
25
0
8
-5
0
-4
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
-2
-19
6
0
5
-5
0
0
6
16
-6
0
0
-17
0
0
-2
13
9
-5
-6
-1
0
0
4
-8
-9
0
0
0
0
0
0
-4
16
0
3
-4
0
0
0
0
-13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
0
0
-5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
7
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
6
0
-5
0
0
0
79
0
0
0
0
0
0
0
0
8
0
0
-18
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
1
2
-2
-12
-13
0
8
-45
7
-2
-7
-1
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-12
-59
-1
30
-90
-1
28
-26
24
0
-3
31
34
0
0
0
25
-10
-1
-44
-65
-28
-20
-11
-24
5
-46
-25
-111
0
0
3
0
-14
-5
-12
55
0
-13
-45
9
-35
-14
-30
-12
0
0
4
0
0
0
-4
-19
0
13
-13
0
0
1
0
25
0
0
-66
2
2
0
-8
6
0
14
-17
-2
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
-4
26
0
-12
-5
0
2
-12
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-8
-25
0
-8
-2
0
-13
12
0
16
15
123
-56
0
0
33
1
-6
-5
5
-22
8
34
25
0
0
-80
-89
-27
0
0
1
0
0
0
-5
-5
0
-13
-11
-5
5
0
24
25
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
0
-3
0
0
-5
0
0
0
0
-1
0
1
-40
0
0
5
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
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
5
0
0
0
-8
0
-7
0
0
0
0
0
0
0
0
0
-13
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-8
0
-3
-36
-5
2
-49
-9
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
12
-8
-12
48
-35
-5
8
26
35
7
-20
-43
-13
0
0
40
-3
1
-33
54
-60
-14
-7
93
2
24
-39
-43
4
0
0
-22
0
25
0
37
-25
-8
-78
-17
-10
29
4
25
-31
0
0
0
0
0
0
0
-13
0
-2
5
0
0
-18
0
41
0
0
-41
-1
-1
0
-17
0
0
4
19
3
6
-35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-25
-14
0
-8
-4
0
0
0
0
-6
0
0
-1
0
0
0
-8
4
0
2
0
0
0
0
0
-8
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
9
7
0
1
0
0
0
0
7
9
0
0
1
0
0
-4
-13
-13
5
0
2
0
0
2
0
17
0
0
3
0
0
0
-2
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
2
-2
-53
2
0
0
6
0
0
0
-5
-16
0
0
15
0
-5
0
-16
-5
0
0
-7
0
0
0
7
5
0
0
0
0
0
0
-1
13
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
-5
-13
0
0
0
0
0
0
-5
5
0
0
-8
0
0
0
4
0
0
0
0
0
0
-1
0
-74
0
0
-4
0
0
0
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-9
48
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-41
-49
0
-6
0
0
0
6
-6
2
0
0
1
0
0
0
-12
-12
0
-3
-2
0
0
3
0
-1
0
0
0
0
0
0
-2
1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
-8
0
0
1
0
0
-25
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-121
0
0
6
-43
13
0
4
22
0
0
-12
-32
-5
0
0
-14
0
0
0
27
-43
0
-2
0
0
0
-3
7
22
0
0
6
0
0
0
0
-29
0
-29
2
0
0
2
0
-21
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
-14
0
0
1
0
0
0
-13
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
7
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
8
0
0
0
0
0
-9
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-41
-6
0
0
0
0
0
-4
-12
42
0
0
0
0
0
0
-1
1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-15
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
2
-9
0
-2
19
0
0
-12
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
1
0
31
-98
0
6
23
0
0
0
15
63
0
0
-3
0
0
0
21
26
0
-3
4
0
0
16
9
-9
0
0
-3
0
0
0
-23
-3
0
-8
13
0
0
0
-1
-16
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
0
0
0
0
3
0
0
0
-5
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
10
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
2
-61
0
0
-2
0
0
-2
-48
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
-5
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
-69
0
0
0
6
0
0
-2
13
-58
0
0
0
0
0
0
-14
5
0
0
0
1
0
21
0
-22
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-5
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
-9
80
0
1
0
0
0
0
33
9
0
0
-5
0
0
0
23
17
0
-15
1
0
0
1
1
15
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
-30
0
3
0
0
0
0
-3
0
0
0
2
0
0
0
-4
-17
0
-7
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-6
-17
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
9
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
14
4
0
0
0
0
0
0
29
-22
0
0
5
0
3
0
-14
-25
-1
7
-2
0
0
3
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-4
-4
0
0
16
0
0
0
-96
8
0
0
-30
0
0
0
0
24
0
0
0
0
0
0
-17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
16
15
0
3
1
0
0
2
2
-38
0
0
-1
0
0
0
11
1
0
-2
0
0
0
-13
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
2
0
-20
12
0
-14
-2
0
0
-8
-5
-2
0
0
-3
0
0
0
-2
20
0
5
-3
0
0
-2
0
0
0
0
1
0
0
0
0
-42
0
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
-22
0
5
0
0
0
-18
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
7
4
6
-63
0
0
-8
7
0
-4
58
-21
0
0
-14
0
-5
-6
-8
-90
6
36
41
-2
0
-43
30
118
0
0
-8
0
0
0
35
69
0
83
-8
-4
2
0
-5
-26
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
8
6
0
0
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
-6
86
0
-5
-15
0
0
0
-5
16
0
0
6
0
0
0
-8
14
0
-4
0
0
0
0
0
-12
0
0
0
0
0
0
0
-2
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
-48
0
-8
-5
0
0
0
0
13
0
0
17
0
0
0
42
8
3
0
0
0
0
2
0
5
0
0
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
4
-12
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
0
-1
-44
0
-6
-16
0
8
93
6
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
-2
-6
22
58
0
20
-12
-7
0
23
-5
43
0
0
-29
0
1
13
-81
-25
5
12
16
0
0
0
-30
60
0
0
8
0
0
0
8
-12
0
14
9
3
0
3
4
-47
0
0
0
0
0
0
0
3
0
0
0
0
0
13
0
0
0
0
-5
0
0
0
3
0
0
-1
-38
-2
0
66
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-28
0
0
1
0
0
0
100
4
0
0
2
0
0
0
0
0
0
2
-2
0
0
0
8
8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
1
-1
0
-140
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
0
-42
-29
0
-4
24
3
0
-5
-57
-122
0
0
45
0
0
1
-54
-24
0
19
53
0
0
75
0
-84
0
0
-3
0
0
0
0
0
0
27
-29
0
0
2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
-44
62
0
3
34
0
0
0
16
5
0
0
0
0
0
0
40
-8
0
9
1
0
0
1
2
-24
0
0
0
0
0
0
-70
0
0
-4
1
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
4
-32
0
0
0
2
5
5
-21
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-3
34
2
31
5
1
52
-32
22
0
1
-74
23
0
0
-59
0
5
6
-29
56
-13
-41
46
-1
0
4
21
8
0
0
21
4
4
-3
19
-41
2
26
-7
0
-18
-4
12
-19
0
0
0
0
0
0
1
-5
0
-77
0
0
0
8
0
-1
0
0
0
0
0
0
4
0
0
-1
-5
0
0
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
-30
10
0
0
-3
3
0
0
-30
-13
0
0
3
0
0
0
-5
-25
4
-5
2
0
0
-16
3
-12
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
15
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
8
3
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-15
-67
0
2
-13
0
-3
0
-84
13
0
0
24
0
0
0
19
-53
15
10
8
-2
0
-8
-19
3
0
0
6
0
0
0
3
0
0
16
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
20
0
0
1
0
0
2
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-7
0
20
9
0
7
48
0
0
0
65
-18
0
0
0
0
-2
0
-75
-45
-1
-12
4
0
0
-42
-109
-20
0
0
0
0
0
0
0
2
0
6
2
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
2
0
6
0
0
0
-4
-1
0
0
-3
5
0
0
-3
0
0
0
-40
0
2
3
0
0
0
0
-8
62
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
-31
2
-2
10
1
12
-11
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
9
26
9
43
-64
-1
-20
12
-43
-2
8
-104
29
0
0
76
0
1
-4
35
-64
18
22
10
7
-3
-7
10
-28
0
0
1
0
0
0
-14
-2
-8
35
1
0
8
34
4
5
0
0
2
0
0
0
0
8
0
3
1
0
0
68
0
-24
0
0
39
0
0
0
0
0
0
-4
-39
0
0
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
3
0
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-5
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
41
-2
12
-29
0
-12
9
2
0
5
54
16
0
0
18
0
-42
-4
-8
-9
12
-1
-6
0
0
27
-4
-12
0
0
0
0
-2
0
2
0
0
25
1
0
0
0
5
15
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-43
9
-15
0
-2
0
0
0
0
18
-22
0
0
1
0
0
2
5
6
-2
0
1
-1
0
-13
0
-36
0
0
0
0
0
39
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-2
0
-1
1
4
-1
-9
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
-1
-12
-27
-30
0
-23
-9
-22
-1
-22
101
48
0
0
-52
0
1
6
-89
-58
-15
-36
-11
9
0
-18
13
-66
0
0
14
0
0
0
13
12
0
-37
15
1
-5
-1
-7
-42
0
0
0
0
0
0
-88
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-126
0
0
-18
-10
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
3
-1
23
2
-7
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-110
-9
-3
-24
-57
-25
5
-31
8
-50
-1
-53
3
-4
0
0
-38
0
6
-31
70
-60
13
-11
1
18
-2
49
18
-7
0
0
6
0
-1
0
25
65
17
-50
20
-13
8
-31
-61
-21
0
0
0
0
1
0
0
23
-1
-13
0
0
0
42
0
3
0
0
0
0
0
0
0
103
0
-4
-23
0
0
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-35
20
0
-2
0
0
0
2
-13
-3
0
0
-22
0
0
0
8
-5
0
-2
0
0
0
-16
0
13
0
0
0
0
0
0
8
9
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-3
4
19
35
0
-20
0
-1
0
3
-15
-25
0
0
12
0
0
5
-1
1
0
2
8
-5
0
60
-6
30
0
0
0
0
-1
0
31
8
0
73
-5
0
12
-7
4
-43
0
0
0
0
0
0
0
2
0
2
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
50
-18
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
-9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
17
13
0
3
-56
1
19
46
-17
0
-9
-22
12
0
0
-46
-18
22
7
41
-38
-22
-22
21
0
0
-22
30
-5
0
0
-5
0
-2
0
-23
17
2
15
15
0
7
27
13
7
0
0
2
0
0
0
0
7
0
-7
0
0
0
29
0
-6
0
0
-7
0
0
0
23
0
0
-7
-1
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
5
1
8
41
50
0
-1
4
0
0
-8
3
10
0
0
3
0
0
0
-43
31
-7
-13
-3
4
-5
-13
25
-52
0
0
-8
0
0
0
1
-9
0
-16
0
0
0
5
8
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
-1
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
17
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
1
0
1
-37
-20
0
30
30
6
12
29
-86
7
0
0
1
0
0
0
-7
3
-6
5
0
0
12
55
-5
-40
0
0
-7
0
0
0
4
5
2
-13
5
-4
-46
-1
7
52
0
0
0
0
0
0
0
-4
0
6
0
0
-13
5
0
-2
0
0
0
0
0
0
0
0
0
3
-2
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
-2
-16
16
-3
-13
0
-11
-25
7
12
-51
35
-33
0
0
48
-7
1
1
-18
-160
53
-7
-91
-12
-2
18
32
-36
0
0
-1
0
1
0
14
-9
-7
39
9
14
10
-26
10
-66
0
0
0
0
0
0
-1
-9
-1
19
6
0
0
-71
0
-68
0
0
2
0
0
0
7
0
0
-3
12
-3
0
-106
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
3
7
-31
23
40
-7
52
16
-15
1
24
-108
-15
0
0
-24
-2
-7
2
-44
24
4
3
-57
17
-7
-108
-78
-60
0
0
-53
1
4
0
-10
1
-3
14
2
-1
-2
43
-124
8
0
0
0
0
0
0
0
-4
0
-4
0
0
0
4
5
-21
0
0
1
0
0
0
-1
0
-8
2
-32
0
0
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-5
13
-16
7
58
-12
5
-11
-14
-8
-46
-67
-115
0
0
-149
-13
20
-4
-45
-24
-21
37
51
-3
-5
38
-7
-109
0
0
25
0
16
4
-2
-5
7
21
56
-13
-13
41
-43
-104
0
0
0
0
0
0
0
0
-2
22
5
0
0
-2
0
-68
0
0
1
0
0
0
0
0
3
1
-31
0
0
-47
-27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-2
-24
40
-37
23
-10
23
-97
-3
-16
-35
44
13
0
0
-59
0
2
-78
-66
-49
22
-45
19
60
-20
-52
-36
-2
0
0
7
0
14
-34
-1
2
-5
9
98
17
-25
-43
-31
-110
0
0
56
0
0
-8
13
-95
-2
-32
19
-3
4
-33
29
-58
0
0
4
0
-23
-1
22
59
22
-49
-4
-8
23
-49
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
2
0
0
0
3
0
0
0
-18
-11
-2
0
5
-1
-2
-1
-13
4
0
2
0
-2
0
0
1
15
0
0
14
35
0
6
9
0
3
2
-4
-20
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-3
-2
-95
0
-46
-15
-9
0
-1
-4
-25
0
0
-49
0
2
0
-8
-53
35
9
-34
6
0
25
-23
-27
0
0
29
0
-7
0
1
3
2
-23
4
0
0
3
2
-42
0
0
0
0
2
0
0
13
0
2
0
0
0
-25
0
7
0
0
0
0
42
0
0
0
0
1
3
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-57
19
0
-8
-23
0
0
3
-34
-80
0
0
8
-4
-4
-73
-77
-8
-4
-35
37
0
0
13
-9
-30
0
0
0
0
-2
-34
-8
-38
0
-34
-30
4
0
-8
6
-51
0
0
0
0
0
-20
0
10
0
-7
0
0
0
0
0
10
0
0
0
0
0
-12
-5
0
0
-1
1
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
-63
31
29
-10
19
-4
-52
52
19
0
0
-17
8
-21
-77
-20
-18
-14
9
100
-60
5
-59
38
-19
0
0
-33
0
49
-3
-2
-14
-33
-7
31
30
90
-98
-50
-56
0
0
2
0
0
0
-61
8
-3
-22
-41
-2
4
-66
0
42
0
0
32
0
-15
4
57
6
7
-11
-68
-37
-52
-49
37
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
29
-18
-54
-38
-58
52
63
54
0
0
18
-9
8
27
-11
-46
-21
17
-62
-64
-53
-2
12
59
0
0
15
5
-31
15
-5
-90
32
10
54
4
9
-87
-61
-25
0
0
-32
0
-21
20
-4
-47
-68
129
3
7
-26
66
-8
66
0
0
24
0
8
0
-60
-49
-14
2
-13
7
-19
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
-8
7
0
0
-15
0
-1
0
-10
35
24
-8
0
0
0
-16
-1
8
0
0
1
0
0
0
5
-1
0
-1
-4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-8
-2
-19
44
-42
0
0
-95
2
-2
51
-123
20
-9
-2
43
0
-2
20
-84
13
0
0
-25
0
-26
-14
-20
-50
-12
-61
-1
-5
1
5
-37
22
0
0
-10
0
0
1
0
34
2
29
0
0
0
-50
0
-47
0
0
2
0
0
0
-14
-2
0
82
-30
-3
0
18
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
-2
-7
2
20
-25
0
0
-48
0
-24
-12
-18
-47
-23
55
38
31
-25
24
-35
-3
0
0
-18
5
-24
-4
-46
-30
5
-24
-73
22
-8
1
-107
50
0
0
1
0
0
4
5
50
1
-15
8
0
0
-39
0
2
0
0
24
0
-8
5
40
-6
0
24
23
-8
14
-11
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
3
0
0
-38
0
-3
3
43
20
-13
-7
18
-2
-3
-27
0
-10
0
0
13
0
3
0
-6
-55
-1
-18
15
0
4
-9
-28
-11
0
0
0
0
0
0
0
-2
0
3
0
0
0
18
0
-6
0
0
12
0
0
0
3
0
0
-18
-36
0
0
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-44
-8
0
0
-6
0
0
-5
45
30
2
5
0
0
1
5
0
-24
0
0
0
0
0
0
3
-4
0
-13
-2
0
25
0
0
8
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
48
-56
0
0
38
0
13
1
6
-13
-40
30
-33
-3
-8
82
-30
16
0
0
-4
12
8
2
-33
15
-1
8
29
12
-1
-3
25
-102
0
0
0
0
0
0
0
16
0
8
0
0
0
64
0
-93
0
0
21
0
0
0
-6
3
0
13
-7
1
0
92
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
42
31
32
-42
-55
15
-4
31
-69
-9
-32
21
-44
-35
0
0
14
0
42
-24
28
65
-11
90
-74
4
-34
67
-69
20
0
0
34
0
1
9
0
56
5
48
-2
0
0
-7
46
-5
0
0
59
0
-15
-13
58
13
-57
-23
-69
4
6
-121
-126
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
18
13
-33
29
26
12
-3
73
49
15
-23
0
54
-26
0
0
-13
2
-88
-18
59
-7
-21
4
-8
-23
66
61
-14
-62
0
0
13
0
0
15
2
-28
27
-31
12
5
-1
50
5
-111
0
0
0
0
0
0
19
0
41
-16
-13
0
0
12
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
2
-1
5
-1
-41
15
4
30
12
0
14
10
-3
0
0
-38
0
1
-4
-12
-18
1
-45
49
72
41
-43
-13
-55
0
0
-22
0
0
0
0
-27
-1
17
7
1
0
69
3
-17
0
0
33
0
0
0
-56
8
0
-18
3
-35
0
12
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
-2
1
-1
4
5
0
0
0
8
0
0
0
0
0
0
-8
1
0
-5
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-1
-1
7
0
0
8
0
-7
0
0
4
0
86
0
0
-5
0
-43
-5
0
0
-13
-2
-58
0
0
0
0
-5
0
0
0
0
0
0
0
0
9
0
3
0
0
0
0
19
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-18
17
3
8
21
0
0
-59
-9
-82
0
0
9
0
0
16
-2
5
0
-52
-18
0
0
-4
9
-110
0
0
0
0
0
-117
0
-3
0
3
0
0
0
-1
0
18
0
0
0
0
0
3
0
1
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
-17
40
13
-26
-46
-1
-44
-17
11
0
0
14
3
1
-1
-11
-72
34
-29
-19
-30
-31
36
-54
-56
0
0
1
0
0
0
-35
9
6
-75
-6
-3
0
5
0
10
0
0
-31
8
0
0
-22
-8
33
-15
-87
6
-2
-17
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
20
-79
24
-31
22
14
4
-32
0
0
15
-7
15
-23
8
-29
-5
-69
-6
43
13
-45
15
34
0
0
-5
0
0
5
1
-52
-8
43
-14
-8
0
-22
-2
-66
0
0
13
0
0
0
0
-43
0
51
49
8
8
-14
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-35
16
0
0
8
-21
57
0
0
35
0
0
2
2
-36
0
-81
17
-13
2
8
-12
-4
0
0
0
0
0
0
0
-15
2
34
0
0
0
-2
0
-23
0
0
17
0
0
0
32
0
0
-7
-9
-13
0
-11
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
35
7
3
-45
-67
16
0
0
-5
-6
4
0
-1
27
-14
-35
25
-1
-28
-14
-45
-34
0
0
0
0
-1
-2
3
-21
7
-61
0
4
0
23
0
2
0
0
-4
0
0
-1
26
-1
6
37
-59
-7
-5
-71
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
2
-67
-14
-53
0
0
42
1
3
3
-56
-29
1
-65
65
9
24
8
11
13
0
0
-1
0
0
3
1
-46
-3
31
7
-3
0
14
0
11
0
0
-68
0
0
13
-4
25
3
-90
-59
7
0
91
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
10
0
0
0
2
0
0
-35
-8
0
7
1
0
-4
-1
-2
20
0
0
0
0
0
3
0
-3
0
2
0
0
0
-7
0
8
0
0
0
0
0
0
0
0
0
-6
1
6
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
0
-2
0
0
0
0
4
0
-5
-19
0
8
0
1
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
6
-2
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-53
3
0
0
29
0
35
0
27
-19
-2
-13
60
6
2
106
68
-27
0
0
9
0
0
0
5
0
0
-54
42
-5
0
88
1
-86
0
0
-51
0
4
0
-61
6
1
95
-9
18
12
-44
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
5
0
0
-44
0
0
0
-2
-11
-7
-42
33
-2
22
-2
5
-59
0
0
0
0
0
0
0
4
0
13
-1
0
0
-34
2
-30
0
0
-5
0
0
0
12
5
-3
-28
7
0
0
-1
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
0
27
-8
42
-24
-7
-40
-14
69
-22
-7
-14
8
28
-48
0
0
13
0
0
5
-3
-1
3
41
17
-5
0
-28
9
-5
0
0
5
0
3
0
-49
0
4
-33
2
1
0
-26
21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-13
0
-1
24
1
-1
2
12
6
1
0
0
-26
0
0
0
0
2
0
8
0
0
0
-1
0
5
0
0
14
0
0
0
-10
-1
0
16
-22
0
0
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
1
0
-1
0
0
10
0
0
0
0
-22
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
0
0
0
0
-4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
101
4
-8
-52
4
4
-3
-10
-1
64
0
0
0
0
0
0
-17
0
0
-29
0
0
0
1
0
-13
0
0
-4
0
0
0
-35
0
0
19
-77
-5
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-36
19
-13
-8
-15
-5
-4
0
0
3
0
0
0
0
-14
0
9
2
0
0
-14
0
2
0
0
0
0
0
0
0
-33
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-81
24
-9
20
-37
-89
0
0
-4
0
0
0
-4
-3
-2
-35
-2
0
-5
3
0
-30
0
0
-26
0
0
0
-10
-5
-4
-84
-40
-25
8
66
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
18
18
3
18
0
0
5
0
6
0
0
8
-4
-5
5
0
0
12
1
14
0
0
-27
0
0
0
18
-2
0
9
-51
-17
1
-16
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
5
0
0
-6
2
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
-2
0
0
5
7
0
-2
0
0
1
0
0
0
13
0
0
-5
-16
0
21
-25
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
0
-1
0
1
0
0
0
46
0
1
0
0
8
0
0
0
-29
0
0
8
-36
0
0
17
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
14
0
0
0
0
0
0
0
0
0
9
0
0
0
-10
0
-8
0
0
-6
0
0
0
7
0
4
-4
-30
0
0
-14
-117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-146
0
0
19
0
0
0
0
2
-5
57
21
0
0
31
0
-233
0
0
-19
0
0
0
41
0
0
54
-114
-8
0
-26
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
-152
1
0
0
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-1
0
0
0
-1
0
0
-19
-7
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
-2
9
0
0
-32
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
39
0
-5
0
0
0
22
0
-96
0
0
0
0
0
0
-15
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
-13
-46
0
-7
0
0
0
0
0
5
0
0
0
0
0
0
12
0
0
-8
0
0
0
-3
0
-2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
13
-11
-1
-69
18
-3
-21
-3
-5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-11
21
0
-3
-4
0
-5
45
-25
3
0
0
53
-4
0
0
13
-12
-1
-48
-15
20
0
-111
-29
29
0
0
-51
0
18
0
-61
-35
0
-20
-49
-17
-17
5
5
58
0
0
0
0
0
0
-23
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-18
15
0
-8
0
0
0
4
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-13
-8
-70
-4
0
8
14
2
0
-5
10
-28
0
0
6
0
0
5
-46
22
-14
-15
5
-12
0
-7
-8
7
0
0
-2
0
-15
0
32
-20
0
-41
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
-3
0
0
0
10
-18
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-2
0
-6
0
0
0
-8
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
67
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-32
0
32
11
-1
6
-4
15
31
6
-26
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
-78
0
5
4
0
3
17
-48
-3
0
0
5
7
0
0
-27
-3
-1
-4
-3
-25
0
-31
-11
-5
0
0
49
0
9
0
-26
-5
2
-10
-5
-4
-16
9
11
10
0
0
0
0
0
0
0
-2
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
1
-1
0
0
5
0
0
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-3
-24
-2
0
0
-5
0
0
-7
-60
5
0
0
-6
0
0
0
14
-62
-2
-21
-8
-3
0
-29
-4
-8
0
0
2
0
5
0
13
13
0
5
2
1
0
0
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
49
25
0
-1
5
-1
-1
-56
13
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-12
0
0
-2
-2
0
-2
-5
-1
0
0
15
0
0
0
-1
-56
5
26
-29
-15
0
-12
-10
92
0
0
3
0
5
0
-13
-38
-18
-7
5
0
23
1
24
10
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-6
0
0
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-2
3
0
2
0
0
0
4
-16
-29
0
0
2
0
0
0
-6
-43
15
4
1
0
0
-1
19
26
0
0
0
0
0
0
13
0
0
5
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
19
4
13
26
41
39
0
0
0
0
0
0
-14
0
0
5
0
0
0
6
-8
-25
0
0
0
0
0
0
0
-15
0
23
0
-6
-1
1
-7
-10
0
0
0
0
0
0
-6
9
0
18
0
0
0
0
5
-7
0
0
0
0
0
0
0
96
0
7
0
0
0
-3
0
14
0
0
0
0
0
0
5
0
0
18
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
86
-23
117
41
-77
54
-7
-6
61
-13
-34
0
-73
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-10
-16
0
-37
-30
0
-11
18
22
-24
-37
-43
-49
0
0
-28
-60
140
39
26
56
26
-5
31
46
50
42
51
-53
0
0
-17
6
35
4
-23
-21
32
89
14
10
-11
52
43
44
0
0
-2
0
10
-2
33
22
5
5
9
1
33
-39
-3
-21
0
0
9
0
-2
0
-30
27
14
-6
3
0
2
5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
-19
0
1
1
-44
-4
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
4
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
10
-3
1
14
0
-7
9
9
-5
68
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
17
19
-28
55
87
5
-110
19
6
3
-52
40
33
0
0
-13
13
-8
10
-35
-4
-9
-92
28
-66
-1
-31
-16
-31
0
0
21
0
51
3
-62
-58
0
-27
-5
-8
-9
32
41
13
0
0
5
0
2
3
0
10
0
31
4
0
0
25
0
-31
0
0
18
0
-1
1
-18
0
0
-10
-9
0
-1
-6
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
17
0
5
0
-43
-1
0
-6
-5
0
-11
-75
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-1
-25
20
0
-13
3
1
0
6
23
0
0
0
-12
-3
0
-3
-20
-29
17
-56
-7
-5
0
5
-33
13
0
0
4
0
10
-3
-19
12
-12
101
5
2
17
23
65
11
0
0
0
0
0
0
1
-5
0
16
0
0
0
-2
0
3
0
0
0
0
0
0
-7
3
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
8
0
1
0
2
4
-12
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-50
67
0
-24
7
1
0
0
-11
-55
0
0
-6
0
0
5
5
-28
5
34
-4
0
0
-41
5
43
0
0
-1
0
0
0
-37
18
0
-8
-5
0
-1
0
-7
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
-19
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
-21
39
14
-1
0
44
-40
26
-22
-40
58
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
1
0
130
76
0
1
-17
-1
-18
18
16
-23
0
0
-8
-14
-3
-15
34
-19
-7
-76
16
-7
-6
44
26
50
0
0
-50
5
5
-23
4
0
-50
44
32
5
-5
26
9
-40
0
0
0
0
3
-1
-3
-11
-10
-46
2
0
-8
-4
8
-5
0
0
-8
0
0
-2
54
13
-34
-24
8
0
6
-5
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
6
0
10
72
0
1
-16
0
-12
-21
-27
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
13
-21
26
56
-3
-9
-10
-1
-7
21
24
-30
0
0
-19
0
-17
13
-62
-92
-37
-55
-14
2
17
-14
-41
-2
0
0
-28
0
10
-1
29
-1
0
8
-26
0
6
9
7
24
0
0
7
0
-1
4
1
-8
0
13
4
0
0
-14
0
-2
0
0
13
0
1
0
31
-22
0
14
12
0
-3
-27
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
-17
3
39
34
-5
-22
31
1
-40
-2
33
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
1
-52
0
0
-27
3
-2
12
41
-43
0
0
7
1
0
14
63
-27
-2
10
-8
-2
2
-47
54
-31
0
0
-8
-4
-8
-8
-37
59
-23
35
18
-5
31
5
41
-16
0
0
-7
0
0
0
-22
-8
0
-29
-2
0
3
-7
-3
-33
0
0
0
0
0
0
13
-22
-1
8
0
0
0
-16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-2
50
1
0
8
0
0
4
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
4
59
52
0
-33
1
5
0
17
14
-15
0
0
-31
1
-10
-1
13
-32
-10
-5
-44
0
0
13
5
6
0
0
20
0
0
0
7
0
0
-2
-2
-2
0
0
7
-8
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-9
0
0
6
0
0
0
-4
0
0
-3
3
-2
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
-46
0
0
0
0
0
0
3
0
0
13
0
0
0
-3
4
-6
0
0
0
0
0
0
-8
-3
-1
7
0
-1
-1
21
8
-3
0
0
0
0
0
0
-7
2
-2
-3
0
0
0
0
0
-8
0
0
0
0
0
0
0
-29
0
-13
0
0
0
-3
0
3
0
0
0
0
0
0
8
0
0
-5
0
0
0
17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-3
-32
-5
121
50
57
32
15
-3
5
-37
-24
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
6
21
3
-6
-20
5
69
-22
-12
10
-22
-14
30
0
0
-9
3
-21
1
5
-44
-9
-14
-62
-57
-44
-10
1
-49
0
0
5
5
-10
-8
-50
57
-9
44
-11
-49
17
8
28
57
0
0
-17
0
5
-2
43
84
-10
-44
-13
1
8
20
-31
-37
0
0
-31
0
-2
0
-50
-22
-12
-28
4
0
-2
13
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
16
-1
1
0
-7
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
0
-2
0
0
0
0
0
0
0
0
9
0
0
3
0
0
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-1
2
-1
-11
76
0
20
3
-13
-48
98
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
13
22
24
42
31
-1
-26
-42
-6
43
-71
11
43
0
0
81
2
-9
-13
-46
20
-5
-5
45
9
4
-59
-90
-89
0
0
21
5
-13
-3
-25
-14
0
58
-24
-12
-26
2
-15
72
0
0
-1
0
3
0
17
4
0
-43
6
0
0
-54
0
24
0
0
2
0
-3
0
0
1
0
3
-1
0
0
-40
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
2
5
-12
7
-23
1
30
-42
-5
-42
43
-13
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-33
11
0
-14
53
7
-5
-25
-25
24
0
0
11
18
2
-5
-27
56
7
13
-1
-56
5
29
-66
-10
0
0
-41
-5
-22
2
-30
-13
33
-44
3
22
49
-1
3
-28
0
0
-9
0
0
0
0
31
0
25
0
0
0
-2
1
22
0
0
0
0
0
0
10
-6
5
-9
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
5
-42
0
1
5
-6
3
18
-84
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
14
4
-5
60
41
3
45
-31
1
-12
-19
-5
-18
0
0
-45
0
1
-1
-11
3
22
12
-12
0
0
14
-67
-29
0
0
1
0
0
0
2
19
0
-38
-35
-2
0
-8
-2
9
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
2
32
0
2
0
-32
3
0
0
0
0
0
0
0
-4
0
0
-4
0
0
0
13
-1
-6
0
0
0
0
0
0
0
5
0
-18
0
0
1
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
-5
-6
2
-59
12
30
71
-81
-20
-37
29
-56
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
2
4
-25
0
-36
-15
10
31
-30
22
-60
0
0
40
12
5
-2
-32
-62
14
53
-8
-3
8
3
-36
104
0
0
-34
15
-20
3
-22
9
5
-18
-44
13
50
15
-31
-19
0
0
-1
0
1
9
13
5
31
-12
3
1
13
-13
0
37
0
0
10
0
0
0
29
0
0
4
0
0
7
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
0
0
0
15
0
-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
-1
0
0
0
-4
0
1
0
0
0
0
0
0
2
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
1
15
2
-40
-54
-2
-8
-6
8
3
-24
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
1
12
-1
77
-21
5
-57
22
5
-8
-43
16
44
0
0
57
8
-21
-16
10
-66
-41
-15
39
5
5
-140
-74
-10
0
0
5
-2
5
-15
-26
-18
-5
41
-62
-4
30
2
-27
-5
0
0
1
0
13
-5
3
-7
0
13
-6
0
3
0
0
-15
0
0
-10
0
-1
2
3
0
0
-6
9
-3
-4
6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-45
39
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
9
0
4
0
0
0
1
0
0
0
0
4
0
0
0
45
-13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-80
17
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
20
0
0
0
0
0
-13
0
0
0
0
-1
0
0
0
-4
-5
0
-5
0
0
1
0
-4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
1
0
0
0
30
0
3
0
0
0
0
0
0
1
-3
14
0
0
0
0
0
10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
3
0
30
49
0
-7
0
0
-5
-41
34
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-54
0
0
0
0
-1
0
-16
4
0
0
-8
1
-1
7
-32
13
-7
4
-21
5
0
85
10
43
0
0
48
0
-17
0
-9
31
0
61
-25
0
-17
-4
-18
46
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
10
35
0
0
0
0
0
-13
-12
-6
0
0
5
2
0
-1
9
-47
0
-9
4
0
0
-13
0
-8
0
0
1
0
0
0
-5
6
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
-4
0
0
0
5
0
-2
0
0
0
0
0
0
-16
6
0
-5
0
0
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
2
0
0
2
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
-3
0
0
-32
-1
0
0
0
-1
0
0
0
-1
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
2
0
0
0
0
-2
0
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
12
0
5
-82
0
-8
3
-1
44
3
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-58
0
-4
0
0
0
-7
2
0
0
0
31
0
2
0
-25
35
-5
5
-13
10
0
-40
-9
29
0
0
2
0
-22
0
-3
47
0
3
-20
0
0
0
13
-30
0
0
0
0
0
0
-5
-6
0
-1
0
0
5
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-67
59
0
4
0
0
0
0
-13
-9
0
0
-18
0
-13
0
48
-13
-20
2
-2
0
0
26
2
6
0
0
-2
0
0
0
0
-5
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-31
0
0
0
0
3
18
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-5
19
0
-10
-2
0
0
-4
-13
6
0
0
6
0
0
0
9
7
0
-14
0
0
-16
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
32
-18
0
7
0
0
0
21
-19
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
0
-3
8
0
0
3
-2
-1
0
0
-5
0
0
-1
-23
8
0
-14
-21
0
0
22
-10
15
0
0
-5
0
0
0
26
-19
1
31
8
0
5
2
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
7
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
1
0
0
-1
0
0
0
6
4
0
0
-32
0
0
0
-5
0
0
-4
0
0
0
-1
5
-58
0
0
-2
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
11
75
0
1
-3
0
0
-19
14
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-15
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
49
4
0
7
-6
-1
0
-12
0
-18
0
0
2
0
0
0
39
3
0
89
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-31
63
0
-1
1
0
0
0
0
-35
0
0
0
0
0
0
31
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
-30
-11
0
-3
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
32
0
0
0
0
0
-8
0
0
0
0
-2
0
0
0
8
44
0
0
0
0
0
-49
-4
0
0
0
0
0
0
0
12
-18
0
0
0
0
1
0
-17
-3
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
19
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
5
29
0
0
0
0
-1
0
46
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
20
-20
0
1
2
0
0
8
5
-5
0
0
-10
0
0
0
4
49
-52
-25
0
0
1
0
7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-56
56
0
0
1
0
0
0
-8
-4
0
0
0
0
0
0
-19
8
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
6
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
1
1
-5
41
-12
-3
-41
-27
3
-3
-13
-1
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
13
4
0
13
27
-6
0
6
-64
-70
0
0
-21
-10
0
9
-39
38
-5
9
-29
9
0
-42
-8
39
0
0
32
5
-15
1
50
-22
1
21
46
26
-33
38
1
-31
0
0
0
0
0
0
14
4
0
-6
0
0
0
5
0
50
0
0
3
0
0
0
53
-4
0
-3
0
0
0
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
-7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
1
6
0
1
14
0
-2
24
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
-55
29
0
41
32
-5
-1
-18
76
3
0
0
-8
0
5
0
-41
-26
2
22
7
0
0
-5
29
57
0
0
-2
0
0
4
-50
-2
0
43
-8
-1
-7
0
5
9
0
0
0
0
0
0
0
5
0
-16
0
0
0
-8
0
-8
0
0
3
0
0
0
-5
8
0
0
-2
0
0
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-16
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
10
-18
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
-8
0
1
0
0
0
-44
0
5
0
0
1
0
0
0
2
0
0
0
0
0
4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
29
0
0
0
0
0
0
5
12
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-17
1
0
0
0
0
0
6
1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-9
1
5
-21
0
0
-1
-1
2
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
16
0
-3
0
0
0
0
8
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-1
0
32
60
0
-5
-15
3
60
-54
8
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-87
6
0
-9
0
4
0
-47
54
28
0
0
-7
-4
0
0
42
-5
0
-9
-2
20
0
82
-33
26
0
0
7
3
25
-2
11
39
8
10
-3
-8
29
-4
-46
-2
0
0
-5
0
0
0
-8
8
0
10
0
0
0
1
0
-32
0
0
0
0
0
0
-49
-8
-2
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
12
-9
0
0
5
-1
3
-13
9
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-8
0
0
-8
6
0
9
-18
0
0
8
22
-7
0
0
34
0
12
-8
9
-66
0
-96
5
0
0
-13
-5
-31
0
0
31
0
0
0
11
13
0
2
-1
0
0
-13
0
-17
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-5
0
0
-23
0
0
0
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-28
7
6
-5
3
0
-10
-6
23
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-3
6
0
0
-2
-43
-21
0
0
2
0
0
0
7
-81
5
19
-24
0
0
12
-30
-19
0
0
5
0
0
0
-18
5
0
-18
-21
4
-1
0
39
-64
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-8
4
0
-3
5
0
0
0
-3
-33
0
0
1
0
0
0
-8
-15
0
0
0
0
0
0
-34
-8
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
66
6
0
-12
-13
-3
32
5
8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-13
4
0
7
8
0
5
1
9
-1
0
0
-5
0
0
0
-55
51
0
42
13
3
0
9
-1
-32
0
0
60
0
7
-2
-3
-27
-8
7
3
2
5
13
-54
-28
0
0
0
0
0
0
-7
-1
0
12
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-3
0
0
0
-7
-5
0
0
-2
0
0
-20
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
5
0
-39
56
0
0
49
0
0
23
-21
-77
0
0
-5
0
0
-1
-26
0
0
3
-5
0
0
5
0
1
0
0
0
0
0
0
12
-5
0
1
0
0
-2
0
0
-30
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
4
-28
0
-1
0
0
-33
7
4
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-9
0
0
0
0
0
0
0
4
0
0
-1
0
0
0
65
-38
0
-24
-6
0
0
-1
0
13
0
0
0
0
0
0
-22
-18
0
24
0
0
-7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
6
-31
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
-24
-8
0
-12
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
23
0
3
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-1
0
0
0
-3
-1
0
0
0
0
0
0
0
-1
8
0
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
-1
0
22
6
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
0
0
0
0
1
6
15
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
1
0
0
0
-4
6
-3
0
0
0
0
0
0
0
23
-3
-1
0
0
0
0
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-30
-1
0
0
0
0
0
0
-13
3
0
0
0
0
0
0
-9
5
1
-5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
9
0
1
89
0
-47
-5
4
41
4
-25
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
13
0
-5
-8
1
3
2
-9
-30
0
0
7
0
9
5
2
-34
0
70
24
-8
-2
5
-10
22
0
0
-4
0
6
0
94
-19
0
8
8
-8
9
-1
46
-5
0
0
0
0
0
0
1
-1
0
37
0
0
0
-5
0
4
0
0
1
0
0
0
20
0
0
1
0
0
0
25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
8
9
0
0
0
0
0
-16
24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-9
-7
125
50
0
-4
-8
-1
0
0
24
-27
0
0
-5
0
0
0
-60
2
-1
23
-1
0
0
27
8
-17
0
0
0
0
1
0
-4
-1
0
-5
-13
0
0
0
0
20
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
3
0
0
0
-4
0
-1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-22
39
0
12
-5
2
10
20
-10
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
0
-1
0
0
0
2
-1
-1
0
0
0
0
0
0
61
67
0
3
8
0
0
-13
22
-23
0
0
32
0
0
0
-13
-12
0
8
0
0
-2
0
-5
35
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-3
0
8
15
0
0
0
0
0
0
28
21
0
0
0
0
0
0
3
39
0
-8
0
0
0
-1
-2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-2
0
5
11
0
-4
0
0
29
18
-5
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
33
0
0
0
-5
0
0
0
4
-42
0
8
0
0
0
-4
45
-22
0
0
9
0
-8
0
0
18
0
-14
9
0
0
0
26
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-1
0
-5
75
0
0
0
0
0
0
21
-25
0
0
4
0
0
0
0
9
0
0
5
0
0
0
5
-15
0
0
0
0
0
0
0
1
0
3
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
15
8
0
-16
-2
0
14
21
-34
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-9
0
-1
-8
0
0
-1
-4
2
0
0
-15
0
0
0
39
-5
0
50
-3
7
4
9
-15
-23
0
0
-9
0
0
0
8
-14
0
30
8
0
-6
0
-28
59
0
0
0
0
0
0
-1
3
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
1
5
0
0
0
0
0
4
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-22
0
-23
4
0
4
0
25
16
0
0
-9
0
0
0
-18
14
0
2
5
0
0
9
1
-33
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
5
0
4
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
9
0
-1
0
0
0
8
0
-25
0
0
0
0
0
0
31
-12
0
-7
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
13
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
3
-35
66
16
-10
2
-5
6
22
-25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
0
7
34
-5
-21
-54
-1
-12
-23
-29
-10
0
0
10
0
-14
0
-42
-4
-13
-8
-22
10
2
-101
43
17
0
0
-22
0
4
2
18
29
-22
5
-13
-25
8
-22
49
34
0
0
0
0
0
0
0
14
0
-5
0
0
0
0
0
-1
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-1
3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
30
3
13
-19
196
-4
12
4
-1
0
22
34
1
0
0
1
0
0
1
-1
44
4
50
16
-7
0
-22
9
-10
0
0
-9
0
0
0
0
-31
0
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-3
2
6
49
0
-65
-2
2
56
-39
-32
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
2
22
0
5
5
0
-2
9
-17
14
0
0
12
0
1
-6
24
33
1
49
17
-14
5
40
59
-33
0
0
54
0
0
4
3
33
-2
84
2
12
4
17
-17
-36
0
0
0
0
0
0
0
-5
0
7
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
34
0
0
-1
0
0
-10
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
2
-4
-17
-35
0
5
-6
0
0
3
9
-93
0
0
-29
0
3
0
-13
-22
23
32
-9
0
0
-17
-4
79
0
0
1
0
0
0
-4
-3
0
9
3
0
0
-2
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
6
-23
0
4
0
0
-1
8
19
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-22
-22
0
-8
1
0
0
5
0
31
0
0
4
0
0
0
-6
-5
0
4
0
0
0
0
-2
14
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-17
-55
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
5
0
0
3
0
0
0
-32
-17
0
-5
12
0
0
13
0
5
0
0
0
0
0
0
-14
-43
0
-9
0
0
0
0
-3
9
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
4
0
-2
0
0
8
5
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
0
-3
3
0
6
0
0
0
0
0
0
-2
-13
0
-2
0
0
1
4
0
-10
0
0
4
0
0
0
-18
14
0
1
0
0
23
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
36
0
0
-13
0
0
0
1
3
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-20
30
0
8
-5
-4
33
-29
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
16
-15
-1
9
-13
0
4
62
6
29
0
0
-12
0
0
0
-40
34
-5
-13
41
5
0
-4
4
68
0
0
-7
0
0
0
-37
-116
2
13
-1
0
39
-27
2
39
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
0
13
0
0
0
0
0
0
1
-5
0
2
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-1
12
0
0
1
0
0
-15
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
-14
36
0
-24
0
0
0
-13
49
-28
0
0
19
0
4
-3
-13
14
-8
9
-2
0
0
78
5
10
0
0
0
0
0
0
0
25
0
25
-1
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
10
0
0
0
0
-3
17
-15
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-3
0
-1
0
0
10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-8
14
-19
0
0
7
0
0
0
0
8
0
-8
0
0
-7
6
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
32
0
1
-2
0
0
0
9
-21
0
0
-2
0
0
0
0
-4
0
0
0
0
0
4
6
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
50
-5
0
10
12
-5
-35
-32
-37
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
7
15
0
6
10
6
-2
-13
13
15
0
0
9
0
0
5
47
-21
8
-7
4
-6
-10
-7
24
-67
0
0
56
-8
-5
-1
-13
-21
-1
63
-8
-4
-83
-9
-7
-9
0
0
0
0
0
0
0
-5
0
21
0
0
0
-4
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
-7
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
-12
52
-79
1
-19
-16
-2
0
23
15
18
0
0
-21
0
2
1
-43
49
-6
-9
13
0
0
-31
-2
-13
0
0
-5
0
0
0
1
0
0
-29
-4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
4
0
0
0
0
0
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
24
0
0
0
0
1
-9
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
52
13
0
-49
3
14
0
-18
0
-1
0
0
-2
0
0
0
56
25
-2
-6
0
0
-10
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
-61
24
0
0
3
0
0
8
0
-1
0
0
0
0
0
0
15
0
5
1
0
0
0
0
0
0
0
0
0
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-13
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
5
0
-49
-42
0
-9
-10
25
58
-35
-84
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
0
-15
-4
0
0
-1
-8
-3
0
0
7
0
6
16
-56
-1
3
3
31
10
0
49
-73
-6
0
0
8
6
0
0
-24
7
-1
142
13
-3
5
34
-47
-31
0
0
0
0
0
0
0
-2
0
75
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
23
1
0
0
3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-12
5
0
15
15
0
0
1
10
16
0
0
-5
0
0
-4
-14
-28
-1
-21
2
0
0
31
-9
21
0
0
2
0
0
1
10
8
0
6
-4
0
1
0
3
5
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-19
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
6
0
9
-2
0
0
-1
19
2
0
0
0
0
0
0
-27
-18
0
8
0
0
0
0
-14
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
6
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
-4
0
31
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
0
0
0
0
20
19
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
3
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
9
49
0
5
-13
-14
0
71
14
-1
0
0
-1
0
0
0
-6
7
0
12
0
0
2
-8
-17
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-24
27
0
0
-8
0
0
0
46
0
0
0
0
0
0
0
-5
30
0
4
1
0
0
-14
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
-28
0
0
0
0
-2
-12
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
-24
-3
0
-12
6
8
0
-6
-9
-1
0
0
-3
0
0
0
-3
-8
0
2
0
-4
7
3
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
18
-37
0
0
-4
0
0
0
6
7
0
0
0
0
0
0
7
13
0
1
0
0
0
-3
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
3
0
-3
-4
4
7
0
0
0
0
0
0
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
0
0
0
0
0
0
0
2
0
0
0
1
0
0
-3
-10
0
0
0
-1
0
0
0
0
0
0
3
0
0
2
0
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
0
4
17
-61
-15
92
11
-5
43
-48
54
-16
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
58
-118
-8
-5
-41
-26
-22
-20
12
-35
0
0
35
41
5
0
24
-23
13
-42
35
-15
-15
45
41
-65
0
0
97
26
-21
29
65
-46
28
43
60
65
-13
-14
-81
-96
0
0
6
0
0
0
-24
1
24
-6
-5
-2
24
-4
0
-22
0
0
84
0
0
0
-34
5
-4
27
0
0
-6
-29
-11
-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
2
25
10
51
-69
40
45
-34
-22
106
0
0
0
0
0
0
0
0
30
46
0
0
0
41
0
2
0
0
0
0
0
0
0
1
-36
-168
0
13
-22
-21
-10
-1
0
0
0
0
0
0
0
0
0
-42
-5
-3
1
6
-25
-2
0
0
0
0
0
0
0
16
0
-35
-8
1
-3
43
1
-6
0
0
0
0
0
0
1
0
0
23
-7
0
1
3
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
215
0
5
0
-22
-15
-13
-4
-39
-13
5
35
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
16
20
-6
23
63
14
-15
85
-50
12
41
32
78
0
0
9
-14
-3
-41
-20
-28
27
-22
31
13
-19
40
-8
-72
0
0
100
0
-9
0
2
67
-28
-28
13
15
30
-9
54
22
0
0
70
0
0
0
5
32
0
-1
1
0
0
-13
2
76
0
0
9
3
0
0
-10
16
-6
33
-38
-5
-1
50
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
-4
-13
1
0
0
0
15
-10
-50
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-1
-1
0
-1
7
0
-6
25
7
-5
0
0
2
-66
0
0
9
40
-1
-55
30
0
8
7
-19
-5
0
0
-6
20
0
0
34
-67
6
-40
6
-1
-21
8
26
-22
0
0
0
13
0
0
0
-4
0
0
0
0
0
0
0
2
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-94
0
0
0
15
3
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
-7
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
-9
30
0
-4
8
-1
0
3
4
-2
0
0
-8
-22
0
0
-8
-41
-10
-4
-13
0
0
-14
9
-15
0
0
0
3
0
0
25
0
0
-20
-6
0
0
0
7
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
11
-3
-8
-17
1
-12
16
-7
-36
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
88
0
12
-41
0
6
-19
14
-4
13
-16
-69
0
0
0
0
43
-1
-51
-58
15
89
-20
41
0
-12
-36
-102
0
0
-5
0
38
2
55
75
17
-5
-25
-8
-41
-9
84
-36
0
0
0
0
98
0
0
4
-3
-3
0
0
0
14
0
-4
0
0
0
0
93
0
0
-1
0
3
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
11
-7
8
0
-15
4
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
2
-6
0
0
24
2
0
13
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
-13
1
-28
0
-9
-11
2
0
-54
7
-75
0
0
-19
0
110
0
-43
-35
-45
-22
-5
-12
0
48
-14
-115
0
0
-6
0
102
0
-9
-8
0
26
62
-3
0
8
-6
52
0
0
0
0
7
0
0
6
0
-2
-1
0
0
-8
0
0
0
0
0
0
37
0
0
0
0
0
-1
0
0
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
-10
0
0
0
0
13
7
33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
38
1
-3
0
-6
2
7
0
-2
16
-13
0
0
1
0
0
22
32
-85
8
73
-18
9
5
-41
-68
23
0
0
-8
0
-1
62
50
38
1
-13
0
0
2
4
-42
51
0
0
0
0
0
37
0
-8
0
4
0
0
0
5
0
-1
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-41
0
1
2
3
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-1
-13
46
-17
0
-5
-10
2
0
0
-35
7
0
0
-10
0
0
-13
-52
-89
4
-12
14
0
0
-17
-25
-36
0
0
0
0
0
17
3
-2
0
-13
5
0
0
0
9
-9
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
9
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
15
-60
50
14
-44
-15
48
15
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
12
0
-20
-56
9
-57
40
-7
23
-18
-6
38
-47
0
0
9
-42
-30
-48
0
-129
-9
-43
-82
48
31
-47
-66
-69
0
0
27
34
-22
-75
19
-2
-1
22
-28
48
87
-39
-8
-15
0
0
8
0
0
4
78
-4
1
19
-3
17
-24
-22
0
-13
0
0
-24
-1
9
8
31
2
-10
13
1
16
-13
-2
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
37
-2
14
-52
16
7
-30
72
0
0
0
0
0
0
0
0
-5
-26
-5
2
0
7
0
3
0
0
0
0
0
0
25
13
-18
9
1
16
10
60
0
-15
0
0
0
0
0
0
4
-1
-3
1
0
-4
-2
41
4
-1
0
0
0
0
0
0
18
13
0
22
-23
13
2
42
0
0
0
0
0
0
0
0
25
0
0
0
34
-8
-10
-44
17
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-6
6
-42
27
-4
-47
32
-34
120
-31
-108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-41
-14
3
-18
2
-52
-38
-18
-11
-2
28
49
-90
0
0
13
-25
58
42
16
-49
-4
-52
-83
-1
-17
-40
-7
-38
0
0
-37
-3
-7
15
27
17
27
-101
68
16
-17
5
-25
-50
0
0
-1
0
0
0
38
5
-5
-32
-2
-8
-3
-64
0
11
0
0
46
2
-2
10
55
-12
-19
-31
-8
-18
-5
-51
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-95
24
-48
-17
4
44
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
-9
8
-10
-24
-29
-27
48
22
-1
-75
23
39
0
0
4
23
43
-38
-31
26
14
-15
66
50
-14
-4
-37
-49
0
0
-11
14
-3
-70
6
62
82
7
17
21
-66
-38
15
32
0
0
-56
-5
-34
84
-22
42
-30
27
35
89
-16
-29
-8
-32
0
0
26
10
-9
-7
-21
75
8
-2
-14
2
-26
1
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-23
-53
-32
-61
-2
0
-3
-50
72
0
0
0
0
0
0
1
-61
-33
86
90
4
-13
-61
-14
3
0
0
0
0
0
0
3
-9
-31
-24
-7
-66
42
-11
-54
11
0
0
0
0
0
0
8
-7
-29
-12
-21
-6
-12
-19
5
-9
0
0
0
0
0
0
4
12
0
49
22
-30
-23
-65
75
20
0
0
0
0
0
0
-48
3
0
-32
13
6
8
-31
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-20
-13
-37
62
7
-33
-41
25
40
85
-129
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
90
-12
-5
78
-9
-70
-7
18
-64
-9
-57
-19
62
0
0
-1
30
-19
-30
30
-3
-71
-101
39
18
5
-68
-56
-18
0
0
14
-2
-6
5
-83
-26
5
-19
-73
-56
-3
-9
-97
-31
0
0
17
1
-5
-17
50
-13
-41
-48
23
14
-2
14
2
-38
0
0
16
0
0
1
17
62
14
46
-21
42
-6
35
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-32
-18
15
87
39
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-67
67
-41
-4
-19
2
-7
39
63
21
0
0
-19
0
0
2
-76
-97
-84
7
-2
30
8
-10
19
97
0
0
-39
0
-41
5
61
4
4
-20
43
-25
-75
17
76
-2
0
0
0
0
0
0
0
-6
12
-6
0
0
0
3
0
9
0
0
0
0
0
0
5
0
0
0
0
0
5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
12
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
41
-37
0
0
-1
0
-14
34
69
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
3
14
-70
-58
-5
-8
10
-4
0
-20
111
-71
0
0
-21
0
0
9
63
-86
81
-38
-6
1
2
-23
-10
-13
0
0
5
0
0
0
-4
19
0
-34
7
0
-1
0
-20
20
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
-8
0
0
-2
0
0
0
5
1
0
0
2
0
0
-19
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
105
0
-30
-41
-15
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-4
1
15
-4
0
-39
50
-3
35
-40
-15
10
0
0
-12
-3
28
-2
-48
-38
-40
-20
-66
58
-21
-5
15
-8
0
0
16
1
38
-48
-69
-91
33
27
34
8
57
8
-23
4
0
0
-16
0
0
0
-13
-4
-9
26
0
3
9
10
-4
4
0
0
15
0
0
0
-15
39
5
102
5
0
1
13
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
22
-4
-2
-19
-48
-72
8
6
0
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
0
0
0
4
-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
6
0
6
0
0
0
15
0
5
0
0
0
0
0
0
10
0
0
21
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-29
-11
0
22
1
-3
8
66
23
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-8
5
21
4
-74
-3
-10
-36
-1
16
13
54
-20
0
0
100
-3
-42
-13
-55
21
-16
-76
-10
23
3
50
-79
-57
0
0
-1
0
2
6
95
-68
2
-1
49
-14
-9
13
-18
22
0
0
-1
0
0
0
0
14
0
-23
-2
0
-1
15
0
8
0
0
8
0
-1
0
-23
-8
0
-22
23
0
-2
35
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-9
44
1
56
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
69
67
-2
-9
-41
-1
-27
-9
-126
-11
0
0
-1
-2
6
5
-45
25
14
9
74
-56
2
-69
70
-21
0
0
26
-14
-23
29
-94
4
-5
39
92
19
-2
-13
40
39
0
0
-1
0
0
0
-14
-49
11
21
6
0
-9
64
-5
-66
0
0
-6
0
0
0
31
9
-22
3
6
0
1
42
-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
-16
32
26
32
-14
-16
13
31
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-1
4
0
-3
8
4
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
3
2
0
0
0
0
0
0
0
0
0
-30
0
0
-1
-2
0
-5
0
0
0
0
0
0
16
0
0
2
0
0
0
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-8
-19
6
1
3
3
-3
10
20
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
5
-23
-73
20
81
2
52
13
-13
4
13
-3
88
0
0
24
-1
16
29
-107
2
19
40
-13
-2
-5
16
-47
8
0
0
8
0
3
2
-29
9
2
25
15
22
6
-34
49
8
0
0
0
0
0
0
0
1
1
10
0
0
0
-5
0
-10
0
0
-4
0
0
0
-10
-6
-20
4
3
-2
0
31
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
4
52
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
30
-22
0
6
-26
0
0
5
-19
-52
0
0
-41
3
-10
1
4
-53
10
-6
-1
19
-39
-54
44
54
0
0
-22
0
-2
8
33
-123
12
-93
-21
12
24
20
-50
-50
0
0
2
0
0
0
2
64
8
7
0
0
-1
5
-6
29
0
0
0
0
0
0
10
-8
8
0
0
0
3
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
5
8
28
1
-1
0
-16
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
28
-18
0
0
2
0
-5
-86
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
13
-1
-36
41
-2
-4
5
5
1
5
2
-13
0
0
22
-6
1
15
5
-52
-63
-13
4
-13
0
-21
-27
-24
0
0
4
0
-1
0
39
13
-7
-11
16
-2
8
-5
-29
-5
0
0
0
0
0
0
0
19
0
-30
0
0
-2
5
0
27
0
0
9
0
0
0
0
0
2
2
0
0
0
3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
70
16
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-16
0
-20
132
-10
0
13
48
-10
-7
-93
-28
17
0
0
-36
29
6
-31
-68
-53
-5
-59
8
-5
26
-58
-12
32
0
0
66
-21
-16
-21
44
-80
-31
-68
-35
11
75
27
8
-27
0
0
-10
0
0
16
-9
18
19
15
1
-1
84
-9
-34
-63
0
0
-4
0
0
0
-140
-30
5
-5
7
20
68
-58
-32
-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
-23
-27
16
58
-14
13
-7
-17
27
-23
0
0
0
0
0
0
0
3
3
-6
-1
0
0
-27
-3
-1
0
0
0
0
0
0
0
0
-7
4
0
17
0
-26
-18
-5
0
0
0
0
0
0
0
0
0
31
0
0
0
-30
2
8
0
0
0
0
0
0
0
17
0
22
1
2
-7
22
-3
-6
0
0
0
0
0
0
-5
0
0
81
-3
0
2
26
21
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
-2
39
-13
10
5
-16
28
15
-36
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-10
-15
44
11
30
29
-24
14
-73
8
17
2
-20
0
0
29
8
-1
-41
-6
-66
54
5
20
-24
-13
50
14
-5
0
0
71
0
0
-20
17
64
52
-38
96
19
-44
15
36
44
0
0
-6
0
-1
0
3
-42
15
24
-24
8
15
-21
-7
36
0
0
-32
4
0
0
-24
7
1
24
-5
15
106
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
-15
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
3
3
-52
4
-12
84
-44
13
3
-22
54
43
0
0
-23
-18
-30
14
-20
18
-56
36
3
-52
-71
-13
67
-60
0
0
-3
-50
23
68
-52
-79
71
7
-4
-52
27
88
-56
21
0
0
-13
0
-5
5
26
7
20
-3
-6
-27
16
-5
57
-83
0
0
42
0
6
1
-34
-5
50
-3
29
10
7
143
-41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-26
29
57
1
-6
-22
-4
18
40
0
0
0
0
0
0
0
1
15
-4
0
0
0
22
0
-3
0
0
0
0
0
0
0
-6
-31
-26
1
10
-13
-40
-5
5
0
0
0
0
0
0
0
0
2
6
0
0
1
22
-1
6
0
0
0
0
0
0
0
-16
0
44
17
8
1
51
8
-7
0
0
0
0
0
0
-7
0
0
-41
-20
0
0
-41
15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
15
3
7
9
-18
14
-1
0
6
6
-78
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-30
-38
-158
-66
-21
43
-90
50
-27
58
5
44
45
0
0
-45
5
-146
19
0
13
13
67
37
-13
-19
22
6
-20
0
0
32
0
29
2
-43
-77
3
-22
25
-14
36
-1
22
-70
0
0
-8
0
0
0
-41
10
-1
9
-8
-5
12
30
-2
16
0
0
33
0
6
0
-27
-2
-23
16
-16
-2
-15
42
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
25
18
17
31
-55
28
-30
-8
7
-57
-3
82
-5
0
0
-28
-42
-9
19
-45
-45
6
58
43
-6
30
-32
26
-108
0
0
-31
15
47
4
-79
-96
-3
-11
22
-3
-60
-45
-45
31
0
0
-37
0
0
8
0
-89
61
3
-54
3
-26
76
50
-21
0
0
20
0
-8
-8
-8
50
43
-53
-67
19
-10
-31
35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
16
18
-54
-7
5
-28
15
-29
81
0
0
0
0
0
0
0
0
-1
11
5
-1
0
19
7
-27
0
0
0
0
0
0
0
0
-41
-63
0
-31
20
34
55
-7
0
0
0
0
0
0
0
-2
7
51
12
-1
-1
2
-11
-13
0
0
0
0
0
0
0
5
0
-22
-2
-8
0
-13
25
13
0
0
2
0
0
0
14
5
0
-5
-2
5
0
5
-69
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
-48
5
12
-12
9
5
23
-39
-3
58
23
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
25
-8
-102
-4
-29
-59
8
26
-52
5
-11
-11
45
0
0
51
-1
-3
-41
0
28
-60
1
-13
3
3
-26
4
33
0
0
-27
0
33
-30
-54
-34
-7
-66
33
8
-4
-13
-30
63
0
0
-9
0
9
0
0
-4
17
-15
4
2
2
-46
22
-9
0
0
14
-13
2
7
-41
-64
-36
-37
-22
1
-9
32
-50
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
40
5
-84
37
19
52
3
100
28
14
22
-50
0
0
31
14
-51
-13
-10
33
61
-29
-146
41
62
43
-31
16
0
0
40
-39
-42
-61
33
48
27
18
13
-68
-16
60
34
68
0
0
-17
-7
-13
5
19
-57
45
9
-7
-54
11
-34
-49
25
0
0
-1
0
-1
0
8
0
68
-41
-42
2
-4
9
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-5
-76
59
-54
-68
-79
-126
42
-7
0
0
0
0
0
0
0
0
13
50
0
14
4
7
0
40
0
0
0
0
0
0
4
-1
0
-8
0
5
-6
-89
-31
6
0
0
0
0
0
0
-5
0
-3
17
0
0
-6
-41
34
47
0
0
0
0
0
0
9
-15
0
26
-52
15
23
2
13
-34
0
0
0
0
0
0
0
0
0
-4
-16
0
0
22
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
2
8
-20
-39
7
-20
9
27
-7
101
-20
-2
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-6
-210
46
14
-11
-1
-18
-23
-16
-7
-50
72
-7
0
0
85
20
9
-22
40
-33
-28
21
-8
2
2
-53
78
-24
0
0
-71
-4
32
2
-101
-28
13
-38
66
16
-15
145
-76
-18
0
0
24
0
-13
9
14
-21
-21
-30
13
-6
7
72
4
-57
0
0
-4
0
-1
-5
-67
0
-9
26
13
-16
-7
-20
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
4
0
-28
-5
-5
-14
37
44
-6
0
0
39
6
14
-5
-21
0
-13
19
-49
-35
5
26
-95
-13
0
0
65
0
-25
-2
-16
-59
6
-11
-13
-19
-9
10
-20
-4
0
0
-3
0
0
0
6
-31
4
-27
6
0
-19
-31
-5
34
0
0
89
0
0
-1
-28
6
-3
-3
0
0
2
-21
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-2
5
0
25
22
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
9
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
23
2
0
5
-24
0
-21
4
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
22
-13
0
1
-18
-6
0
20
-6
14
0
0
20
-2
-3
0
-52
-53
-45
-9
-75
0
0
-22
-16
30
0
0
-28
0
7
0
17
20
1
0
-11
0
-1
-23
-8
-5
0
0
-19
0
0
0
0
9
0
0
-2
0
0
15
0
5
0
0
13
0
0
0
0
0
0
5
-8
0
8
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
26
0
0
31
-51
0
-1
4
-1
0
-20
-9
-8
0
0
0
23
0
0
0
9
0
41
0
0
-8
0
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
-13
0
0
1
-8
0
0
5
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
3
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
-8
0
0
0
0
0
-4
-6
0
0
0
0
0
-27
0
-14
20
-5
-5
1
0
0
15
8
1
0
0
0
0
33
0
-6
26
0
-5
6
0
3
2
13
-3
0
0
0
0
-32
0
0
5
0
1
0
0
0
0
0
3
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
0
-7
0
-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
0
0
0
0
0
0
0
15
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
5
-22
0
0
-8
0
0
-2
0
-30
0
0
-1
0
25
0
-5
5
-3
0
-1
0
0
-2
0
8
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-8
0
7
0
0
0
0
1
0
0
0
-5
0
0
19
28
45
5
-9
13
3
0
20
-20
-13
0
0
12
0
0
51
5
-13
0
-58
0
0
-8
0
4
-7
0
0
0
0
0
57
0
-13
0
1
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-7
-9
-31
0
-6
-2
0
0
0
2
0
0
0
-7
0
0
54
17
4
4
8
14
0
0
19
12
7
0
0
0
0
0
44
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
19
-5
-74
28
-18
5
-18
66
4
0
0
14
5
49
46
-41
21
-27
22
-70
-48
25
66
-33
-60
0
0
-12
-22
94
36
12
30
-27
-50
14
-75
-98
1
54
2
0
0
-8
0
0
3
25
-2
4
-46
-1
0
-6
-41
0
25
0
0
-4
0
6
-15
-48
39
-25
71
-8
25
7
-49
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-4
-32
16
0
0
25
21
-49
88
0
0
0
0
0
0
14
0
8
0
0
0
0
-4
0
2
0
0
0
0
0
0
-14
0
6
43
1
-14
-1
10
0
8
0
0
0
0
0
0
-24
0
0
5
0
-1
0
-10
0
-2
0
0
0
0
0
0
-2
0
0
-21
3
0
0
-23
0
4
0
0
0
0
0
0
90
0
0
9
8
0
0
42
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-5
-1
10
-29
-4
5
-13
1
22
5
-28
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
18
18
-10
8
-48
-18
3
-18
-32
-22
5
0
0
-19
0
23
4
57
-68
4
1
-64
-16
-8
18
1
22
0
0
9
0
12
-1
-72
-66
1
-28
-96
-9
11
7
4
-146
0
0
0
0
0
0
-47
-15
1
-7
0
0
8
-1
0
-10
0
0
23
0
-5
1
-27
3
0
-13
-25
-2
-3
18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
-26
39
33
50
-44
30
-5
0
0
39
16
-16
-16
25
-18
-40
23
-55
-43
-85
-92
-99
104
0
0
-5
30
-85
-43
40
-8
-7
2
16
8
-29
-55
-83
40
0
0
4
1
-19
8
-37
51
-9
41
7
-15
-41
-14
-16
31
0
0
-8
0
-12
0
3
29
3
-29
4
0
-29
-16
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
3
-97
2
-52
23
67
153
-38
-30
0
0
0
0
0
0
0
-12
2
19
0
0
8
9
0
0
0
0
0
0
0
0
-3
-25
14
-85
1
3
-20
40
8
-9
0
0
0
0
0
0
0
0
0
-17
1
0
0
6
3
0
0
0
0
0
0
0
0
11
0
15
6
41
3
19
-8
-9
0
0
0
0
0
0
18
0
0
-2
-17
0
0
2
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-5
-19
23
-2
-18
-111
-13
-24
-28
-1
-31
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
6
76
56
-14
5
-83
-57
-39
3
27
54
-60
-17
0
0
-21
-31
-20
15
-32
-16
-3
-76
72
34
-9
8
31
-55
0
0
-17
-8
-6
5
105
-24
28
-51
-20
-34
-10
-27
-25
22
0
0
5
0
-21
-5
13
42
-53
-56
19
7
-3
-98
0
16
0
0
-23
0
2
0
-1
-13
0
5
-4
6
0
15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-8
2
0
0
-4
0
0
0
-2
-101
51
2
12
0
0
-8
-25
15
0
0
5
0
1
0
-3
-13
-5
-14
5
0
25
1
49
-15
0
0
0
0
0
0
0
-5
16
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
17
0
0
0
0
0
1
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-31
-1
0
0
0
0
0
1
1
8
0
0
39
0
0
0
53
46
17
-16
-1
0
0
22
1
18
0
0
0
0
0
0
8
23
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
5
-6
-59
7
-6
0
0
56
-10
1
6
-94
-6
-4
-27
7
0
42
-38
-30
-98
0
0
6
-1
-62
0
-33
-8
17
-30
1
32
9
19
-45
-56
0
0
-13
0
0
0
-2
-48
4
-43
-8
0
10
-6
-5
-23
0
0
-2
0
0
0
42
17
10
32
4
0
0
-30
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
2
-46
0
0
24
-23
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
-13
0
0
0
-6
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
25
0
0
0
11
0
-3
0
0
0
0
0
0
-2
0
0
17
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
8
0
-9
-10
0
45
21
-1
6
34
-23
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-6
-8
-31
-50
3
-14
-42
-8
-3
24
-57
-5
0
0
-56
1
-8
3
-27
-49
-54
25
-52
-4
-3
95
-50
-55
0
0
-41
0
5
-10
-31
-1
1
47
-6
-13
-1
-19
-16
-9
0
0
0
0
0
0
-1
-33
0
54
-4
0
0
7
0
10
0
0
-3
0
0
0
-18
0
0
7
22
-2
0
14
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
-15
-11
-5
37
0
0
-15
10
7
0
27
-57
-6
-46
73
-65
-44
61
72
-53
0
0
111
-9
13
0
-32
-35
-13
29
17
-38
-53
41
18
-8
0
0
-5
0
-1
0
-4
49
5
31
7
1
15
-30
-5
20
0
0
1
0
0
0
28
-8
13
3
0
0
0
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
5
44
0
13
0
-12
21
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
1
3
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-9
0
-12
3
4
0
-7
0
-7
0
0
0
0
0
0
1
0
0
43
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-8
0
-2
-25
0
12
-3
1
-1
16
-41
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
1
-13
-2
-57
-76
-25
19
-17
13
7
93
-70
-15
0
0
-75
-9
8
16
9
24
-39
4
50
-1
0
-15
32
-21
0
0
26
5
8
6
-48
35
0
-41
41
-18
15
5
25
-11
0
0
2
0
0
0
0
2
0
-5
0
0
0
-9
0
25
0
0
-8
0
-1
0
-6
4
0
4
31
0
1
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-22
-2
2
0
0
9
0
-14
-5
-54
-67
-37
-1
-56
10
-14
-4
-15
41
0
0
0
0
8
-8
9
-31
-13
14
41
-1
59
27
10
2
0
0
-5
0
0
0
-15
-7
3
-1
-1
0
4
-10
-2
22
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-1
-49
0
0
2
22
12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-46
-32
0
3
-3
0
7
23
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
8
21
0
-6
8
0
0
-6
3
-12
0
0
-13
0
0
0
-30
82
-27
-59
-1
0
0
-16
-24
-14
0
0
-13
0
0
0
-5
56
-4
67
-1
0
-1
0
-43
-15
0
0
-1
0
0
0
0
3
0
0
0
0
0
8
0
18
0
0
0
0
0
0
-6
8
0
12
13
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-30
16
33
0
0
3
4
0
3
-28
-7
-22
32
19
-38
3
-73
95
52
0
0
50
0
1
4
5
-45
-29
20
38
13
21
12
-92
-93
0
0
0
0
0
3
-14
-5
0
33
6
-7
-14
5
-17
26
0
0
0
0
0
0
-14
-5
5
-16
1
0
-5
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
25
0
1
0
21
-9
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
8
0
0
0
23
0
-3
0
0
0
0
0
0
0
0
0
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
2
27
0
8
13
0
27
44
-7
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
61
-12
0
-29
40
-2
0
-5
-10
-3
0
0
-3
0
0
-1
42
107
-36
-5
-1
-3
1
6
16
-1
0
0
33
0
1
0
-9
24
1
36
6
-8
5
-4
-13
-41
0
0
0
0
0
0
0
14
0
-15
1
0
0
1
0
-46
0
0
-3
0
0
0
5
0
0
-4
18
0
14
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-13
0
0
7
13
-39
13
19
42
14
76
19
54
35
-23
26
-10
0
0
-55
12
34
6
33
10
18
-71
-11
22
-23
-129
-92
-14
0
0
1
0
0
0
-3
-11
25
54
12
-1
18
-32
1
-1
0
0
-2
0
0
0
-5
-39
-5
12
1
0
5
3
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
-4
-1
-18
-108
-13
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-4
0
0
0
0
0
0
0
0
0
-5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
17
3
0
0
40
0
8
0
0
0
0
0
0
1
0
0
-23
-3
1
0
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
-4
0
-14
34
0
-5
-14
0
7
-4
-50
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
3
-25
-3
44
-9
0
10
16
0
23
11
-9
-4
0
0
2
-4
2
25
8
-21
-27
-44
-32
-5
4
108
27
-28
0
0
-16
0
-15
0
-27
16
0
-51
21
7
-19
13
12
-5
0
0
0
0
0
0
-5
8
0
-13
-5
0
0
19
0
-19
0
0
-31
0
0
0
-34
0
0
-8
19
0
0
103
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
-40
3
26
-25
23
2
21
6
3
-13
-71
-72
-1
16
0
0
32
-16
-6
4
-5
-44
3
31
6
22
-24
68
-14
13
0
0
8
0
-4
4
0
-50
8
-6
1
-9
0
-2
-5
-49
0
0
-7
0
-7
2
-14
19
6
55
-24
2
-15
-28
95
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
22
33
4
1
-4
-35
-28
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-2
-8
-18
0
9
0
3
-18
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
-31
0
0
0
-2
-23
34
0
0
0
0
0
0
15
0
0
-16
0
0
0
25
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-1
-17
-13
-25
70
6
-78
-1
37
3
6
-3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
23
13
59
-8
3
76
-8
-24
17
-22
43
28
0
0
-7
21
13
35
24
-51
62
28
-25
-6
14
16
-75
31
0
0
-5
0
24
2
23
-35
4
-15
-16
-15
-14
9
31
-8
0
0
-3
0
1
0
0
2
0
13
5
0
0
-6
6
-16
0
0
-21
-2
15
-13
41
6
-1
-6
3
-2
-2
43
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
-7
11
-17
1
-26
-22
-5
-52
-67
56
49
-70
27
-86
0
0
-52
0
-9
28
8
-17
8
3
27
51
51
-14
-42
51
0
0
10
0
1
0
-13
13
-45
14
-8
10
-41
5
7
0
0
0
0
0
0
0
5
0
-5
0
0
0
2
2
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
48
66
-6
0
10
-9
-31
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
-16
0
1
0
-1
-3
5
0
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-25
0
-3
0
5
0
-22
0
0
0
0
0
0
0
0
0
-48
3
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
-23
3
-35
-81
-22
-10
3
33
17
13
-38
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
3
8
-5
-71
-33
0
19
-4
-24
2
33
4
55
0
0
19
-6
-7
-17
-132
21
-17
-28
0
-20
16
-114
-25
4
0
0
-34
0
-13
-13
-41
-23
-8
2
5
-20
-4
11
43
-54
0
0
4
0
0
4
-14
-13
0
-10
6
0
4
1
0
-44
0
0
-1
0
0
0
-15
0
0
12
3
0
1
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-17
32
83
-12
-46
7
25
-7
32
50
60
0
0
2
14
8
13
-49
-101
-53
30
-7
-47
54
-74
44
33
0
0
8
0
0
0
-7
-22
-20
28
-8
3
24
-8
-10
31
0
0
89
0
0
0
-46
8
-15
8
1
0
0
9
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-7
28
16
13
-3
-57
9
57
0
0
0
0
0
0
0
0
-3
-3
0
0
0
-13
0
5
0
0
0
0
0
0
0
0
0
14
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
-6
0
3
0
-15
0
3
0
0
-4
0
0
0
0
0
0
1
2
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
-1
0
-15
-31
0
-15
15
8
-7
2
-36
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-15
-2
10
-9
21
-13
-26
5
7
16
19
-2
0
0
-32
0
-4
7
19
62
-56
-36
-9
0
0
-30
-14
-10
0
0
94
0
0
-1
21
-60
19
5
-6
-1
9
-14
-28
14
0
0
-1
0
0
0
0
-6
1
-20
3
0
0
12
0
5
0
0
-14
0
0
0
5
0
5
-13
-98
12
0
-6
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
18
-24
8
8
48
-9
-1
-25
-32
47
0
0
-2
22
-4
-2
-61
-17
-9
25
0
10
-14
35
-8
-19
0
0
0
13
0
0
-4
12
-2
-6
2
8
4
-3
-9
5
0
0
0
16
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-5
-17
0
12
0
19
-7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
5
5
0
0
7
0
-2
3
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-1
0
6
-3
0
-13
-17
-3
0
-2
-39
-28
0
0
0
31
0
0
22
-32
2
0
10
-3
0
-13
10
-2
0
0
0
30
8
0
-8
-1
0
-13
-2
0
-2
0
2
6
0
0
0
15
0
0
0
-1
0
4
0
0
0
0
0
-1
0
0
-8
2
0
0
12
0
0
0
4
-3
0
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
12
13
10
-21
-7
2
0
4
-23
-5
0
0
-1
2
-35
2
32
-21
-8
-67
2
-5
-2
5
22
-26
0
0
0
0
-30
0
0
-18
0
0
-2
0
0
5
0
16
0
0
0
0
-10
0
-3
0
0
1
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
-12
0
0
0
16
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
-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
8
0
-25
0
4
12
0
0
-16
0
0
-25
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
10
0
5
79
0
-50
-1
-5
0
8
57
-32
0
0
0
0
3
0
-2
21
-9
25
2
-1
0
5
0
-35
0
0
1
0
-68
0
1
3
9
-8
13
0
0
2
3
1
0
0
0
0
2
0
0
-7
0
0
0
0
0
0
0
3
0
0
0
0
-11
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-12
23
6
-24
-3
2
2
4
48
-48
0
0
23
0
0
20
-23
-9
5
41
-12
4
35
-9
-45
66
0
0
0
0
0
11
-2
20
0
39
-1
0
0
1
1
-12
0
0
0
0
0
9
-9
0
0
-2
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-66
1
0
-5
-33
-12
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
52
0
-31
-1
0
31
-3
-1
-5
-19
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
26
-81
-2
8
-75
5
8
-5
-9
31
0
0
1
0
0
47
-71
0
-46
46
34
0
0
6
-25
19
0
0
-2
0
0
58
4
-23
-1
20
-22
-6
0
0
-2
12
0
0
-4
0
0
74
0
-25
0
-2
1
0
0
-2
0
-20
0
0
0
0
0
18
-1
0
0
19
1
2
0
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-125
-17
-13
-20
49
-36
-51
-70
-49
0
0
-32
20
-20
11
7
-111
7
4
0
-10
50
13
-13
71
0
0
-5
0
0
21
66
-59
-43
0
-9
-3
-22
-52
0
13
0
0
91
-3
3
-8
13
-28
33
-2
24
-2
13
-74
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-75
17
0
53
32
50
-52
-29
-27
0
0
0
0
0
0
-27
1
-12
61
3
0
0
11
0
5
0
0
0
0
0
0
-4
0
5
-16
0
25
-1
14
0
7
0
0
0
0
0
0
10
0
2
-9
-2
-34
4
-30
-1
6
0
0
0
0
0
0
13
-10
0
64
-6
1
0
-17
0
-4
0
0
0
0
0
0
-39
0
0
-2
52
31
0
-23
-13
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
53
51
-68
84
-3
40
62
-36
23
-20
33
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-15
33
-8
15
-14
-10
-51
14
5
8
-15
22
-32
0
0
-82
20
33
13
27
-21
-4
39
-33
8
9
0
28
15
0
0
11
-16
-73
-4
-7
-26
-42
-58
-74
-30
-16
-51
-5
28
0
0
-6
0
0
0
43
3
-10
1
-8
7
0
6
0
-51
0
0
-49
4
-3
16
46
-29
43
24
-69
25
5
21
29
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
34
-22
-37
-3
-7
-9
-43
36
0
0
13
35
-5
-23
22
18
29
-26
87
-31
-16
-31
22
-61
0
0
-13
1
-49
-31
-6
2
-5
-23
19
56
-53
-40
-5
16
0
0
19
0
10
2
34
64
10
7
41
10
8
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-56
-23
4
2
-1
-29
-27
20
77
0
0
0
0
0
0
-5
-83
-41
-78
13
1
0
31
-1
1
0
0
0
0
0
0
5
-58
-64
-15
-2
1
-21
92
33
-12
0
0
0
0
0
0
-6
-28
9
9
17
1
-6
-88
3
-14
0
0
1
0
0
0
-5
65
0
-15
-8
7
23
-31
7
-9
0
0
0
0
0
0
12
18
0
28
42
3
-2
-17
-86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-7
4
9
-49
5
-29
-19
-37
-5
-123
85
-22
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-13
-12
-16
93
22
67
-74
-41
17
-5
-45
30
-111
0
0
126
20
31
-15
-9
19
-16
-26
52
3
39
43
-45
5
0
0
-50
24
-101
-13
12
-39
15
-114
97
-92
-9
-40
9
25
0
0
7
0
-15
1
14
-75
-4
-55
-46
-31
14
-96
-8
1
0
0
55
0
6
0
-22
-70
-9
-21
23
-5
7
-53
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
22
58
-21
-24
50
-73
5
0
0
-35
5
-23
-8
48
-54
21
26
-5
3
-17
5
-14
17
0
0
25
0
0
0
3
3
7
-11
4
4
-15
48
0
4
0
0
4
0
0
0
14
-31
65
7
1
1
-1
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
-4
17
7
6
0
-8
21
-38
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
-28
0
0
0
-5
0
8
0
0
0
0
0
0
0
0
0
-30
4
0
0
29
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
5
0
60
-5
-2
-9
6
-1
-22
93
-62
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
4
-19
5
-6
-42
74
40
22
5
3
47
-49
19
0
0
-20
0
0
16
9
-27
-34
2
33
8
0
49
8
43
0
0
-35
0
2
-1
30
66
-14
-13
-65
-42
-43
13
-63
86
0
0
7
0
0
0
3
-66
22
13
-9
0
0
-1
0
-46
0
0
-10
0
-1
0
50
1
-1
-10
-33
-5
0
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-41
-53
51
-7
-41
-28
0
0
3
-3
8
1
11
-35
-42
-17
2
-27
-7
11
4
23
0
0
12
7
-8
19
-31
45
-26
23
2
-24
-40
15
40
42
0
0
-31
0
-1
0
-36
-26
-20
19
13
6
34
-31
13
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
49
-36
-62
-54
-13
-27
16
56
-53
0
0
0
0
0
0
0
0
5
-5
0
-4
0
-2
2
-17
0
0
0
0
0
0
2
0
3
-25
0
-7
-3
21
-12
10
0
0
0
0
0
0
-5
0
-7
14
-5
2
0
5
19
8
0
0
0
0
0
0
0
-3
0
12
3
13
-5
20
2
13
0
0
0
0
0
0
0
0
0
-13
37
0
3
4
42
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
17
-12
3
6
20
-3
53
-85
-27
-18
63
-59
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
20
-6
-27
2
58
12
39
-24
-26
-1
-42
-29
-11
0
0
11
-4
-5
-13
26
-37
-7
-1
-45
0
3
14
12
-84
0
0
-43
4
-50
-4
21
-12
-4
26
-41
27
-3
-74
-26
-3
0
0
55
0
1
-20
-40
46
-5
-34
18
-3
5
-15
-12
-62
0
0
12
-4
3
8
73
-16
35
71
0
-23
-32
1
53
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
70
-22
3
47
-24
0
0
1
-26
32
26
-16
18
-22
40
21
50
-117
91
-4
-14
0
0
-2
0
0
-9
21
-21
28
120
0
-8
-19
0
-4
59
0
0
-13
0
0
0
-48
-7
16
41
-14
9
-19
59
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-42
-7
-5
-48
41
-15
14
5
-46
0
0
0
0
0
0
0
0
-6
-6
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
0
-49
6
2
0
0
0
0
0
0
0
-3
0
4
0
0
0
12
1
4
0
0
0
0
0
0
0
5
0
50
9
0
0
7
12
31
0
0
0
0
0
0
15
0
0
-1
5
0
0
-8
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
0
12
17
-23
33
3
18
11
2
17
110
29
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
3
-2
-70
29
40
-7
45
78
-1
16
-33
64
0
0
-8
-8
7
-12
-7
-51
59
80
82
24
19
-11
-91
10
0
0
-20
-1
4
-3
18
21
-14
40
-34
51
-1
2
41
-4
0
0
-12
0
1
5
18
114
13
-52
-27
3
2
13
14
-40
0
0
-2
5
2
-10
40
0
45
19
-25
29
-9
3
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-31
-40
46
32
0
0
38
16
17
-16
-19
-63
-3
28
71
5
38
32
-81
4
0
0
-3
0
0
-5
-9
54
71
-16
8
0
-3
-24
-1
36
0
0
3
0
0
0
42
-22
55
-9
1
0
-1
-24
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-28
32
-42
8
-4
-1
14
-30
-63
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-3
0
-1
8
0
16
0
0
0
0
0
0
0
0
0
28
1
0
0
17
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
12
5
2
17
3
8
31
-12
1
-5
41
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-1
0
9
-12
24
-13
-6
27
5
-3
49
-2
-91
0
0
-31
0
3
1
-13
145
18
-29
-5
1
0
84
4
-33
0
0
41
0
-6
8
31
26
-1
9
13
-8
-1
56
-9
11
0
0
0
0
0
0
5
10
0
-3
-6
0
0
41
-1
-8
0
0
-3
3
0
0
0
-6
0
22
-2
14
0
-17
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-74
46
0
0
29
-1
12
-12
22
16
-35
45
-58
3
6
4
67
-8
0
0
9
0
0
8
-6
14
-9
40
-5
0
13
8
-4
18
0
0
-3
0
0
0
-17
-8
0
0
-3
0
13
-8
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
-11
-12
1
0
-18
-3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-19
0
5
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
-5
-1
0
13
66
-1
-5
32
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-7
9
-56
40
0
-8
-40
-9
1
-3
-19
7
0
0
-4
0
0
-4
43
77
-12
-13
-45
6
0
-6
19
42
0
0
-39
0
2
-4
-22
-44
3
5
-13
-1
3
6
-32
50
0
0
0
0
0
0
0
-10
0
-85
3
0
0
24
0
-10
0
0
8
0
0
0
-12
-3
0
6
5
8
27
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
25
18
0
0
-48
-115
-14
-48
-33
13
91
-29
42
55
6
15
12
-30
0
0
36
-20
-13
-19
61
-33
-14
-58
-21
-57
0
-11
16
7
0
0
-1
0
-5
-4
-21
43
-14
9
20
-14
9
-26
17
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-23
-34
-6
-70
65
5
-29
-9
27
0
0
0
0
0
0
0
7
-33
-20
1
0
2
-32
-7
22
0
0
0
0
0
0
4
7
4
-60
0
2
0
-26
2
-42
0
0
0
0
0
0
-6
0
0
-13
8
-3
0
5
19
-4
0
0
0
0
0
0
1
20
0
3
-3
-2
12
182
-14
-21
0
0
4
0
0
0
-4
0
0
-47
5
8
1
-93
42
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-11
28
22
-30
-15
66
-24
9
63
42
12
21
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
6
-5
40
11
14
-23
-9
24
45
-41
21
75
-50
0
0
-22
9
-65
42
-40
20
18
42
75
-51
25
-5
-30
36
0
0
51
1
-41
0
5
1
-22
30
-106
24
7
15
-49
20
0
0
-16
1
14
10
-28
16
-5
13
-7
-1
-4
13
8
23
0
0
51
-22
2
-1
27
69
41
55
13
3
1
-1
76
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
-30
-63
-96
-38
-45
25
43
-31
-22
58
-60
-77
-86
-41
0
0
14
0
3
-16
0
-11
23
5
-7
-18
15
2
67
23
0
0
23
1
0
-5
-43
-51
52
28
-12
12
17
-3
46
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-5
-4
72
-16
-49
27
40
-60
0
0
0
0
0
0
0
0
9
4
-10
0
0
6
-57
8
0
0
0
0
0
0
0
2
-15
5
5
2
0
24
-31
4
0
0
0
0
0
0
0
0
1
-17
0
0
0
1
-49
13
0
0
0
0
0
0
0
10
0
-5
4
10
0
76
7
5
0
0
0
0
0
0
6
0
0
-9
-28
2
0
43
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-9
-16
-60
-100
1
-31
12
-27
60
-9
-16
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-41
-8
6
-47
14
4
39
54
55
42
-52
0
-57
0
0
-25
8
-28
26
-7
-22
45
84
-8
3
-3
-93
12
-21
0
0
40
14
-48
-9
47
13
-34
-21
14
27
24
-24
53
13
0
0
10
0
0
4
0
9
-5
-42
-12
1
1
8
6
-23
0
0
-5
-6
3
-8
-3
-23
-10
7
-52
1
1
3
-110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
22
59
41
-26
21
123
33
8
-6
85
-13
-22
-76
22
0
0
-84
-6
-12
-23
-51
-66
-47
-81
-55
-4
-35
85
41
58
0
0
-8
0
0
-1
-1
0
-57
-14
-1
0
31
-13
2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
2
-8
-23
28
-13
-22
-10
-31
-74
0
0
0
0
0
0
-2
0
8
25
1
0
0
15
-8
4
0
0
0
0
0
0
2
0
-8
-48
-1
-9
0
28
3
-67
0
0
0
0
0
0
-4
0
7
3
-1
-17
0
-13
-3
-47
0
0
0
0
0
0
5
0
0
36
-16
42
10
48
19
-36
0
0
0
0
0
0
-5
0
0
-13
-5
0
0
31
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-3
-13
-25
-39
-181
33
-71
-13
20
-64
-36
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-8
-18
-57
37
44
-57
80
-51
-93
25
-34
-16
20
0
0
-5
30
-19
-44
38
17
-5
-20
-31
-17
-18
23
19
-39
0
0
-30
-8
-29
20
28
18
-56
31
-9
46
19
-27
-5
-59
0
0
-16
0
-2
-9
0
8
8
-42
17
-13
-3
-25
13
-24
0
0
-23
4
3
-2
25
0
9
29
-6
-3
-15
-53
40
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
2
19
0
30
43
-11
-2
35
2
0
-18
3
-30
0
0
7
0
0
0
-5
-5
1
-84
-13
-4
-4
6
4
66
0
0
48
0
0
0
-1
67
50
6
-17
-7
-3
-13
25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-7
-5
-15
8
5
-19
-40
14
-2
0
0
0
0
0
0
0
0
13
1
0
0
0
-15
2
-12
0
0
0
0
0
0
5
0
-3
19
1
1
-2
42
8
-12
0
0
0
0
0
0
0
0
0
12
2
0
0
-8
-15
0
0
0
0
0
0
0
0
-13
0
-17
-10
2
-1
79
2
20
0
0
0
0
0
0
-1
0
0
-23
1
0
0
4
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
0
0
-57
-16
2
47
22
-4
-1
25
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-4
-6
14
-42
19
13
-32
-24
-18
-3
-59
-25
123
0
0
-63
-3
-22
-1
37
-30
-23
-21
-63
-3
13
0
-23
-94
0
0
90
0
0
0
-20
20
24
-21
10
39
5
41
4
1
0
0
-20
0
0
0
0
-13
5
6
-1
0
0
48
1
31
0
0
43
4
0
0
-10
10
14
12
-13
8
-9
20
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
4
-76
0
5
14
-1
-20
7
-6
5
0
0
0
-11
0
0
0
-3
0
0
0
0
0
-1
0
11
0
0
0
48
0
0
10
-3
0
0
0
0
0
0
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
-3
-2
-36
0
0
-4
22
5
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
-1
-2
0
0
0
0
0
-5
15
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
22
0
-9
21
0
0
2
6
-5
0
0
9
78
0
0
3
-12
28
-30
-37
-7
0
-36
-12
39
0
0
0
-3
0
0
-2
-8
0
-5
3
2
0
0
-2
4
0
0
0
8
0
0
0
-1
0
2
0
0
0
-2
0
-8
0
0
0
24
0
0
0
0
0
0
15
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
58
25
33
-26
-9
2
0
6
30
-5
0
0
0
0
57
0
-1
22
-2
-1
-3
0
-4
7
-14
4
0
0
0
0
35
0
9
-16
3
-17
6
0
-2
-6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
13
2
26
-1
8
2
-12
9
-10
0
0
0
0
0
0
0
0
-2
-2
-2
0
0
16
0
6
0
0
0
0
0
0
0
0
0
-16
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
52
0
29
23
0
5
3
6
-7
8
-46
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
-73
-8
50
-50
0
9
-74
21
1
-8
-33
-86
0
0
-3
0
70
-8
15
-25
18
7
-47
3
0
33
-22
6
0
0
5
0
-27
0
-21
-9
23
47
-6
-3
-6
2
-1
-17
0
0
0
0
2
0
0
-14
0
-13
0
0
0
0
0
-2
0
0
-8
0
9
0
-4
0
0
-1
48
0
0
25
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-25
-11
0
-57
-5
0
-3
0
2
-58
0
0
1
0
0
12
4
-3
0
9
-1
0
0
0
0
56
0
0
5
0
0
49
-6
-2
0
17
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
-1
16
-17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
67
0
30
0
5
5
0
-2
6
-19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-1
-1
-31
1
-29
0
13
-18
3
0
3
11
-5
0
0
58
0
0
66
13
-3
41
50
27
-3
0
13
-41
66
0
0
0
0
0
-4
0
1
0
4
-1
1
0
0
0
-1
0
0
0
0
0
-14
0
0
0
10
0
0
0
-5
0
-4
0
0
0
0
0
41
0
0
0
0
8
0
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-125
61
6
-36
-60
71
5
-25
-27
0
0
-1
0
-2
0
98
-4
2
-59
-51
18
5
-41
0
-28
0
0
22
0
9
3
154
-92
-66
-87
30
6
-48
-49
45
-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
46
-93
22
-78
22
-1
-37
-92
-11
-52
0
0
0
0
0
0
-17
0
-8
-39
1
0
-1
-40
0
-5
0
0
0
0
0
0
40
0
-10
-19
-17
3
-6
-49
1
13
0
0
0
0
0
0
-4
0
0
1
4
2
-7
2
-3
-8
0
0
0
0
0
0
10
-14
0
-10
8
-14
0
28
0
22
0
0
0
0
0
0
-10
0
0
18
40
-6
1
4
25
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
5
19
-5
80
25
-5
-8
16
-16
13
-15
45
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
71
11
6
18
-71
17
-24
75
16
-11
75
2
-75
0
0
-20
4
-23
8
1
44
-25
-13
54
14
-67
26
-16
-36
0
0
49
4
1
-2
70
39
-31
-75
71
-27
38
3
17
-131
0
0
0
0
0
0
35
10
-3
17
-19
2
0
0
0
9
0
0
-45
9
3
7
26
-13
-7
-7
-44
5
8
-31
-76
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-17
-48
-36
-82
46
-30
-69
-50
0
0
-49
-16
-17
34
-8
46
-20
31
13
38
-11
-5
-29
-41
0
0
-21
3
-1
-2
-9
-18
43
-43
25
45
-13
-46
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-18
-11
62
-42
-64
25
6
79
-3
0
0
0
0
0
0
0
-16
6
-41
15
-1
0
-15
-6
-6
0
0
0
0
0
0
5
-5
-80
-45
-2
-41
31
83
-25
0
0
0
0
0
0
0
-8
1
8
-16
0
1
-2
8
-8
0
0
0
-4
0
0
0
0
38
0
-52
-48
-9
-14
-39
-4
-71
0
0
0
0
0
0
4
-3
0
-29
17
13
3
-90
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-4
9
-5
45
-26
-46
-41
-18
31
50
59
-30
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
-69
-3
-17
44
-13
11
103
103
29
-57
-13
4
-97
0
0
1
-39
3
-41
-60
-4
23
-13
61
-15
-15
-43
3
-50
0
0
-16
-1
15
4
27
-20
-62
35
-37
19
-50
29
-8
-1
0
0
0
-5
-1
2
-29
17
-17
-15
20
-1
-3
68
-8
-24
0
0
1
0
0
0
-8
-14
-20
33
-11
17
-2
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
84
5
-17
36
-15
20
71
0
0
-3
0
0
0
5
29
-53
48
-1
7
8
48
0
8
0
0
-3
0
0
0
-19
4
80
-3
0
0
0
17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
41
4
24
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
-7
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
4
0
-63
44
-5
-3
-49
5
95
48
24
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
4
16
5
90
-45
-6
40
-5
10
-2
5
-2
18
0
0
61
0
1
-18
-36
-66
12
22
-13
-15
1
7
1
64
0
0
15
0
0
0
-13
37
0
-20
42
18
8
1
5
-9
0
0
0
0
0
0
-3
-12
0
-5
0
0
0
31
0
18
0
0
7
0
0
0
-6
7
1
25
21
-1
-1
42
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
-53
24
-6
-94
-20
44
0
0
49
0
9
14
4
59
-40
48
-19
33
42
159
-9
119
0
0
-35
2
0
-5
-110
-41
17
36
8
6
-2
-47
17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
18
58
-70
13
-51
-14
83
58
87
0
0
0
0
0
0
0
-1
10
-1
0
0
1
-43
-5
20
0
0
0
0
0
0
5
-5
-13
-14
1
0
5
11
19
12
0
0
0
0
0
0
0
1
0
22
0
-5
0
-13
-4
28
0
0
0
0
0
0
0
-33
0
142
13
-8
-8
-16
4
15
0
0
0
0
0
0
-1
0
0
-9
-4
0
0
9
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
34
4
-34
-2
-12
8
49
0
19
-62
-40
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
45
-41
-6
-16
3
28
-36
68
-14
41
-56
34
-20
0
0
-19
5
-51
-24
-31
-17
-11
0
48
-60
-48
9
31
-81
0
0
-20
3
17
-7
-15
23
18
-72
-1
7
-30
28
-55
-38
0
0
3
-3
-4
20
34
-68
31
19
19
-2
1
21
-5
19
0
0
-19
0
20
2
110
-41
-1
61
67
10
10
-24
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
39
-16
44
24
0
0
20
0
-2
5
3
44
22
-21
-5
-5
5
99
2
-28
0
0
-7
0
0
0
-18
2
13
29
2
0
-2
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
28
-3
4
-20
7
72
8
-31
0
0
0
0
0
0
0
0
2
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-23
0
9
-8
-5
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
15
0
0
0
10
0
-2
0
0
0
0
0
0
-7
0
0
-12
-3
0
0
-6
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-1
0
-16
74
-1
31
-15
8
30
24
-25
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
15
0
-3
-29
86
8
-28
20
-11
-12
-11
-9
4
0
0
30
14
25
-3
83
66
27
64
-2
-7
-7
33
26
-12
0
0
43
0
-2
0
-7
25
-7
-27
-23
3
6
-13
27
-31
0
0
-3
0
0
0
3
-12
-1
1
-6
0
-3
48
0
-5
0
0
-6
0
8
0
-9
-9
4
-4
17
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
3
-44
30
0
0
0
0
0
0
-17
-29
8
-13
0
0
9
-17
0
18
0
0
0
0
0
0
1
-1
2
-5
0
0
0
3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
43
13
10
-1
18
-2
-6
33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
15
0
8
0
0
0
0
0
0
-3
0
0
42
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-5
0
-34
-22
0
9
-3
-6
0
1
-2
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
8
-14
16
-20
-1
-27
-69
3
0
5
-31
16
0
0
-20
15
2
0
52
-16
-20
48
-25
-2
0
43
-13
-22
0
0
-10
0
0
0
13
6
0
38
13
13
-8
0
-2
-34
0
0
0
0
0
0
0
-2
0
37
-2
0
0
-1
0
-8
0
0
-1
0
0
0
17
0
0
-12
-15
0
0
6
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-55
-53
-5
0
0
-43
0
8
-6
22
26
-19
-32
-7
17
111
-29
-5
42
0
0
-4
0
1
0
3
-58
-38
-37
7
-17
5
30
41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-32
47
-29
-31
-40
-10
59
-15
12
0
0
0
0
0
0
0
0
-4
22
0
-8
0
-5
0
0
0
0
0
0
0
0
0
-2
-5
-50
0
-1
-1
35
-1
-6
0
0
0
0
0
0
-7
0
0
-5
0
0
0
-2
0
-7
0
0
0
0
0
0
0
3
0
-23
0
6
3
69
10
59
0
0
0
0
0
0
4
0
0
-2
-5
0
-12
21
-12
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
-10
-1
-21
1
23
48
12
22
55
85
-112
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
7
-15
3
-60
-30
3
-57
62
14
52
23
5
-81
0
0
-80
2
1
-22
45
-77
1
-14
-33
10
5
-4
4
8
0
0
23
0
-3
0
-36
22
4
4
-26
-10
-10
0
-12
7
0
0
-8
0
0
0
2
51
2
8
17
8
2
25
2
-6
0
0
31
0
1
0
40
-6
6
28
-19
5
-16
18
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-47
3
0
0
25
0
0
0
-27
-55
6
7
-5
-6
-3
49
-16
25
0
0
49
0
0
0
-36
-9
41
-5
-20
0
20
-65
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
7
20
-4
13
15
-1
-15
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-23
0
4
0
-21
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
81
0
0
0
-18
0
0
0
0
0
0
0
0
15
0
0
84
1
0
0
22
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
17
0
-5
-41
0
-5
40
5
-8
14
2
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-1
-14
3
-37
-4
25
-55
4
15
8
42
11
0
0
-29
-5
1
5
30
-95
24
1
1
3
3
50
1
33
0
0
-9
0
-1
0
0
42
0
40
19
-2
-2
-4
49
31
0
0
-6
0
0
0
-12
56
0
47
-8
0
1
36
0
25
0
0
18
0
0
0
-7
12
7
0
24
4
0
37
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-77
-4
22
-41
0
68
-44
-23
29
12
-38
6
20
1
0
0
-30
-12
-33
-12
-31
-18
-27
-30
-12
-10
-13
-49
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
41
59
-5
-59
-9
33
-53
92
-67
0
0
0
0
0
0
0
9
2
2
6
-2
0
14
17
3
0
0
0
0
0
0
0
8
9
-31
-16
-6
10
-5
48
-16
0
0
0
0
0
0
0
0
0
-13
-1
1
0
5
71
-5
0
0
0
0
0
0
0
16
0
-41
20
-3
0
13
-9
-24
0
0
0
0
0
0
1
-4
0
-31
-29
4
1
-29
-51
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-9
4
7
13
54
-16
1
24
-46
-18
5
21
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
4
41
-19
4
34
-26
-14
31
10
39
7
5
-59
0
0
5
-22
-3
4
-29
44
20
-90
42
33
-20
20
-22
-95
0
0
-14
1
30
3
-37
-97
5
-81
28
-2
-5
-26
-94
-14
0
0
10
0
1
-39
0
30
22
21
-20
2
-10
3
5
-19
0
0
12
-4
-42
-10
38
-2
10
7
-26
15
12
-17
39
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-32
0
21
6
7
13
32
-37
-9
-31
-72
55
23
22
0
0
-19
0
8
-21
-76
0
41
10
6
-3
-5
-31
44
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
-13
8
93
-49
-60
19
34
-33
8
0
0
0
0
0
0
0
0
8
-3
0
2
-2
33
2
-50
0
0
0
0
0
0
-9
0
-27
21
0
0
0
-5
-42
-24
0
0
0
0
0
0
-6
0
0
20
0
10
0
-5
-31
27
0
0
0
0
0
0
2
6
0
-23
23
7
-12
44
-12
13
0
0
0
0
0
0
-8
0
0
22
-9
0
0
34
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
5
20
-17
-30
4
23
34
30
18
-33
24
-111
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
56
11
-1
1
-30
-17
10
55
48
-31
-49
-5
15
0
0
-126
42
5
-5
38
-41
-2
-71
36
-41
8
-22
21
-54
0
0
-5
15
-33
13
21
32
55
-30
45
-92
0
-5
-119
-1
0
0
-46
0
21
3
-5
-13
41
15
3
-6
15
-84
13
-2
0
0
44
1
-7
-1
-9
0
-1
-5
-3
-7
1
-11
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-20
0
-2
0
9
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
-4
3
0
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
0
-5
-61
0
8
-19
-4
0
-8
-9
10
0
0
52
0
0
0
-3
-4
-8
32
1
0
0
-31
-6
41
0
0
31
0
0
0
0
0
0
-4
22
0
0
20
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-5
0
-1
26
0
-2
-2
0
0
0
-3
-41
0
0
0
0
-5
0
0
-6
0
0
0
0
0
9
0
-1
0
0
0
0
14
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
5
3
-6
0
-6
-3
2
0
0
-5
-10
0
0
1
0
0
-59
0
12
0
6
19
0
0
1
0
-33
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-13
-5
-2
0
47
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
0
0
-2
-2
5
-1
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
5
0
-4
-1
-33
0
-1
-3
-1
0
-13
0
-52
0
0
10
0
0
0
-89
-23
-5
-18
-15
0
0
-22
0
-43
0
0
0
0
0
0
-10
-5
0
12
-13
0
-1
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
-21
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-22
-3
-8
1
-8
-15
0
15
0
0
-5
0
0
0
2
0
0
-31
4
1
-7
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
-19
-3
23
2
-8
-27
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
5
7
-49
0
-2
-1
-8
0
8
0
0
0
0
0
0
0
0
1
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
8
0
0
-10
0
4
0
0
0
0
0
0
0
0
0
5
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
1
0
-4
25
-5
6
-31
-24
-6
27
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
3
-25
31
-71
-24
7
-49
3
-6
-2
-41
46
-39
0
0
50
-5
1
8
5
91
11
-72
8
-7
0
16
-8
-3
0
0
28
0
0
3
-6
54
-4
-24
51
-1
-20
5
-4
-17
0
0
0
0
0
0
0
1
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
-7
-2
-5
43
-5
0
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
5
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-13
0
2
0
41
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
1
0
-5
19
2
5
7
0
7
5
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
-1
16
-20
-5
-9
-14
7
0
30
0
-6
0
0
-5
0
0
0
34
34
45
24
-41
9
0
36
6
-25
0
0
15
0
0
0
0
79
0
-31
-9
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
2
-4
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
-16
4
0
-18
0
0
-1
0
0
0
-13
-3
-8
-68
7
0
0
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
-18
0
13
0
16
5
67
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-12
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
3
0
-4
13
0
30
5
2
-6
-52
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-10
5
13
0
14
20
1
8
-45
-9
28
0
0
-7
0
1
-21
4
-95
47
-44
-5
-24
0
-5
-6
-12
0
0
-11
0
-2
0
-49
-4
0
3
-14
-5
0
25
-5
-1
0
0
0
0
0
0
0
2
0
15
0
0
0
0
0
0
0
0
2
0
0
0
-3
8
0
-22
-3
0
8
-13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
-9
0
-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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
9
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-8
0
-13
90
0
12
-1
-4
0
-6
-8
-22
0
0
-5
0
0
5
-19
26
1
-10
8
0
0
-10
-4
-8
0
0
0
0
0
0
0
-8
0
23
-9
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
98
0
0
3
0
0
0
0
-25
0
0
-6
0
0
0
-9
-4
21
0
-3
0
0
16
0
-15
0
0
0
0
0
0
0
5
0
-2
-1
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
0
0
-43
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-25
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
5
0
-30
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
-84
-10
0
-12
0
23
5
-5
25
-52
0
0
14
0
0
0
0
-18
7
19
-8
-2
-1
-8
0
2
0
0
1
0
0
0
0
8
0
-14
0
1
9
5
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-19
0
0
0
0
0
0
4
-2
5
-8
-13
0
0
85
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
-59
0
0
0
3
-1
-33
0
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
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
8
14
0
5
15
0
0
32
-3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
1
5
4
20
66
0
54
-52
12
-1
21
42
-35
0
0
39
0
-3
1
22
-94
-8
3
64
5
7
-1
-3
32
0
0
8
0
0
0
-4
-31
0
-10
-1
2
33
-31
-8
-30
0
0
0
0
0
0
0
0
0
4
0
0
0
-13
0
0
0
0
2
0
0
0
-3
-2
0
29
-13
-4
0
64
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
13
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
13
0
0
0
0
0
-6
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-2
0
0
-31
0
1
-6
0
0
0
40
-42
0
0
-12
0
0
-1
0
4
0
9
-23
0
0
31
-4
13
0
0
6
0
0
0
0
0
0
-12
-6
0
-2
9
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
4
0
1
8
0
0
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
2
0
0
0
-20
0
0
-2
5
5
-1
-35
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
8
7
0
-19
69
-56
-32
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
-5
0
6
1
-39
6
-8
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
7
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
4
-3
-6
-16
0
21
14
6
43
-13
-22
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
-1
-12
77
54
30
-2
-13
2
22
3
41
-91
32
0
0
-50
2
-15
-39
-43
-34
17
-93
-36
-10
-33
98
-8
-13
0
0
-3
0
-3
7
-6
7
-12
34
58
-7
-15
13
3
6
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
-35
0
0
7
0
-2
2
15
0
0
8
0
14
-13
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
10
-1
6
3
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
0
0
0
0
0
5
0
0
0
5
0
0
1
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
22
-5
0
-1
-32
-2
0
8
11
0
0
0
-2
0
0
0
1
13
1
28
-13
0
0
-3
-13
-13
0
0
28
0
0
0
8
0
0
-13
-27
0
0
0
0
12
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
-48
0
0
3
0
0
0
8
0
0
0
0
0
7
0
1
-5
0
-3
2
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
45
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-2
6
-13
-15
-2
4
27
-12
5
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
1
14
0
0
0
-13
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
18
0
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
1
0
0
0
39
4
2
0
-17
18
-9
19
9
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
2
0
-9
-49
-57
0
-11
-14
-13
16
30
5
-19
0
0
-6
-3
0
0
49
-16
-42
-1
-16
10
-4
-15
10
-27
0
0
2
0
0
0
9
-7
0
34
-30
13
19
16
1
0
0
0
0
0
0
0
25
0
0
8
0
0
0
14
0
1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-12
0
4
0
49
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
95
0
2
-6
0
0
-31
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
1
-2
0
-6
54
0
-64
-22
-13
0
7
-43
0
0
0
-10
-1
0
0
18
-64
-9
4
6
-4
-1
-14
-8
0
0
0
8
0
-9
0
0
74
-2
-52
13
-1
4
5
-1
0
0
0
0
0
0
0
0
-1
0
6
-2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-5
12
0
5
0
0
0
5
59
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
15
14
0
8
-6
-1
0
39
12
-5
0
0
-24
0
0
0
29
2
87
-18
-9
2
0
55
-3
42
0
0
5
0
0
0
-8
-2
0
15
12
0
0
0
5
21
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
0
0
-22
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
-23
2
0
0
-2
30
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
1
-16
17
0
65
-31
0
0
12
-61
-25
0
0
-5
0
0
-8
38
-40
5
27
-10
-8
1
20
14
9
0
0
2
0
-1
0
17
-2
0
26
31
1
2
2
6
-4
0
0
0
0
0
0
0
0
0
45
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-48
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
-11
-43
0
25
1
-4
0
13
8
-5
0
0
-1
0
0
0
30
8
-5
-4
-2
-10
0
23
1
-3
0
0
0
0
0
0
8
0
0
-15
-2
0
0
-1
-8
-5
0
0
0
0
0
0
0
0
0
-2
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-4
-16
0
0
3
0
0
0
2
0
0
0
-2
0
0
0
-4
-1
0
19
0
0
0
-5
0
19
0
0
0
0
0
0
1
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-20
66
0
8
-1
0
0
-5
-4
0
0
0
1
0
0
0
-1
15
0
4
-7
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-9
-13
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
0
-1
0
33
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-5
2
0
0
1
-1
-1
68
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
-1
0
6
8
0
31
-13
-2
0
-33
45
-14
0
0
-15
0
0
0
-13
0
13
-11
13
8
0
57
-10
9
0
0
-4
0
0
0
-1
0
0
30
5
0
0
8
1
-4
0
0
0
0
0
0
0
0
0
-3
0
0
0
-17
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
0
2
1
-50
17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
6
0
0
4
0
25
8
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-1
-6
-29
13
0
8
22
-10
18
25
-111
-1
0
0
0
0
0
6
-24
49
3
1
-13
-12
1
-54
31
-4
0
0
-7
0
-4
0
1
-10
1
31
-6
6
10
16
-1
1
0
0
0
0
0
0
0
0
0
-13
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-10
9
0
0
-8
0
0
0
-8
0
0
-5
-2
0
0
5
-6
12
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-13
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
14
-30
2
0
0
0
-2
1
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
31
-55
0
0
-5
15
0
9
8
-36
0
0
-21
0
1
0
35
5
3
-41
21
0
0
5
1
-27
0
0
6
0
0
0
-23
13
-1
3
0
0
-15
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-7
0
-3
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
-6
-43
15
0
14
-26
-1
0
9
-43
-2
0
0
3
0
-2
9
-1
-111
4
-9
6
5
0
9
-3
2
0
0
2
0
0
0
1
-49
0
0
13
0
0
3
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-8
9
0
0
-1
-3
10
5
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
-5
0
-44
17
0
15
21
-8
0
3
66
6
0
0
30
0
3
3
35
-34
0
-51
6
-25
0
35
3
42
0
0
-10
0
0
0
30
-10
0
-25
29
0
3
3
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
0
0
-4
0
1
0
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
6
5
4
13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
8
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
4
29
-2
-60
-22
0
19
7
-7
8
-92
-5
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-41
45
8
41
-16
-8
41
11
-16
-2
12
-47
-21
0
0
37
-12
2
-1
-47
86
102
-20
-13
21
6
-20
-66
-4
0
0
-11
2
25
-5
-21
12
17
61
9
-5
5
-47
-8
-46
0
0
8
0
0
5
-7
31
0
-21
-3
0
0
13
0
12
0
0
4
0
3
0
-15
-19
0
-3
28
0
0
-2
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
9
-16
0
0
3
0
0
15
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
0
93
-6
0
0
-5
0
0
-8
-40
21
0
0
-10
0
0
1
-9
-42
-6
-3
0
0
0
40
6
-27
0
0
4
0
0
0
12
-7
0
-1
1
0
1
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
-5
0
0
13
0
0
16
-2
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
18
10
0
9
16
0
0
-1
-75
3
0
0
-8
-4
0
-2
11
-20
41
9
-2
0
0
-30
-16
-59
0
0
8
0
0
0
7
-18
0
20
6
0
-2
0
-4
-10
0
0
1
0
0
0
0
8
0
1
0
0
0
4
0
0
0
0
-7
0
0
0
-2
0
0
0
-1
0
0
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
14
0
8
-4
0
-1
5
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
9
8
0
2
-5
0
0
7
-6
18
0
0
-1
2
0
-5
7
29
-4
-12
-1
0
0
4
-7
-7
0
0
0
0
0
0
-1
9
0
7
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
1
0
0
-5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
21
0
-6
0
0
0
98
0
0
0
0
0
0
0
0
8
0
0
-22
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
-10
1
-3
70
0
45
-31
18
-1
-12
2
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
-10
16
-58
-30
-5
62
-25
29
-5
-41
39
83
0
0
9
22
13
48
48
-13
-5
32
94
-42
-1
-62
12
73
0
0
5
-1
2
0
31
4
0
50
-53
7
-46
-5
-1
-3
0
0
12
0
0
0
-3
-5
0
3
-10
0
0
9
0
24
0
0
0
1
3
0
31
3
0
4
56
-3
0
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
4
0
-8
3
0
-13
-1
0
3
-9
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-14
-18
0
-5
-14
0
-9
24
8
16
5
50
59
0
0
-5
2
-9
3
30
12
9
-4
18
0
0
-22
26
-2
0
0
-8
0
0
0
-3
-7
0
32
-6
-7
4
0
-23
23
0
0
0
0
0
5
0
0
0
0
0
0
0
-2
0
-2
0
0
7
0
0
0
0
0
0
1
-13
0
0
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-18
0
-4
0
0
0
0
0
0
0
0
0
-8
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
9
-13
0
-15
-27
-2
-5
-22
-25
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
3
-16
4
21
-15
-2
7
-8
12
9
29
-67
-86
0
0
58
-1
6
-22
29
-49
-28
-18
33
-5
24
8
-33
19
0
0
9
1
41
0
13
8
-8
-7
-2
-5
-5
0
31
-41
0
0
1
0
0
0
0
-12
0
1
0
0
0
-1
0
18
0
0
-2
-1
-1
0
-7
0
0
-4
20
3
5
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-25
-22
0
-8
-4
0
0
0
-1
-7
0
0
1
0
0
0
-9
1
0
2
0
0
0
0
0
-8
0
0
2
0
0
0
0
2
0
3
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-1
0
7
20
0
1
0
0
0
0
6
25
0
0
-2
0
0
-7
-17
-8
6
-1
-2
0
0
-4
0
24
0
0
4
0
0
0
2
5
0
3
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
8
0
0
-5
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
-5
-58
69
0
-3
7
0
0
1
-7
-31
0
0
22
0
9
0
-41
-31
-1
5
-12
0
0
-8
6
14
0
0
0
0
0
0
-1
9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
-1
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
28
-21
0
0
0
0
0
0
-9
1
0
0
-10
0
0
0
-3
0
0
0
0
0
0
-2
0
7
0
0
-4
0
0
0
7
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
-13
32
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
-3
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-19
37
0
-16
0
0
0
6
-8
5
0
0
1
0
0
0
-5
-3
0
-5
-3
0
0
3
0
-3
0
0
0
0
0
0
-6
1
0
0
-5
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
-20
0
0
2
0
0
-69
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
6
-13
-4
0
13
-1
0
0
10
-9
-10
0
0
-14
0
0
0
-45
-87
3
18
0
0
0
3
-21
-7
0
0
9
0
0
0
5
-42
-1
7
-1
0
0
1
0
9
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
-10
0
0
2
0
0
0
-14
0
0
0
5
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-4
31
0
-1
0
0
0
0
2
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
-9
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
10
-2
0
0
0
0
0
-6
0
-18
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-6
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
31
0
-4
22
0
0
7
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
8
0
5
-66
0
22
22
0
0
-4
17
25
0
0
-8
0
0
0
-3
48
-2
15
3
0
0
14
3
-23
0
0
-5
0
0
0
-20
-2
0
7
16
0
0
0
-1
-15
0
0
0
0
0
0
0
-4
0
0
0
0
0
4
0
0
0
0
3
0
0
0
-3
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
12
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
2
-36
0
0
0
0
0
-2
-37
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
-5
-6
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
-12
-1
0
-1
19
4
0
-1
7
5
0
0
0
0
0
0
4
-2
0
0
0
2
0
23
0
-19
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
0
0
3
0
0
0
0
-4
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
-8
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-12
4
0
1
4
0
0
0
45
13
0
0
2
0
0
0
5
39
0
-15
1
0
0
-1
1
10
0
0
0
0
0
0
3
0
0
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
-2
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-15
-43
0
4
0
0
0
0
-3
0
0
0
2
0
0
0
-4
-18
-3
-7
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-13
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
6
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-8
-35
0
0
0
0
0
0
7
-15
0
0
5
0
5
0
-46
-15
-1
-10
-2
0
0
4
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-8
29
0
0
23
0
0
0
-57
7
0
0
-17
0
0
0
0
23
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
2
13
0
2
-6
0
0
2
-5
67
0
0
-1
0
0
0
-9
1
2
1
0
0
0
-8
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
1
-31
0
-12
-2
0
0
-8
-2
0
0
0
-1
0
0
0
-2
12
0
8
-4
0
0
-2
0
0
0
0
0
0
0
0
0
-9
0
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
-5
0
10
0
0
1
-22
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
13
-5
33
-2
0
-35
26
16
0
-5
26
40
0
0
-26
0
-3
0
26
-18
10
18
13
-2
0
-11
17
50
0
0
8
0
0
0
41
60
0
33
-13
-4
3
0
-4
-20
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
-14
0
0
5
5
0
0
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-8
83
0
-4
-17
0
0
0
-1
20
0
0
2
0
0
0
-5
16
0
-8
0
0
0
0
0
17
0
0
0
0
0
0
0
-5
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
27
0
-18
-6
0
0
0
0
6
0
0
6
0
0
0
15
14
4
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
-3
0
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
19
0
0
4
0
0
0
0
-5
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
-6
-2
0
-5
-7
0
7
28
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
-4
-9
51
-2
0
1
-9
-7
0
8
4
43
0
0
5
0
0
12
-22
80
45
26
13
0
0
-2
-19
28
0
0
5
0
0
0
5
-8
0
6
8
4
0
6
4
-45
0
0
0
0
0
0
0
3
0
0
0
0
0
21
0
5
0
0
-7
0
0
0
6
0
0
-1
-5
-2
0
41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-19
0
0
1
0
0
0
29
3
0
0
1
0
0
0
0
2
0
2
-2
0
0
0
0
10
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-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
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
3
0
-53
-10
0
-6
22
3
0
-5
-22
-51
0
0
17
0
0
1
-30
-37
0
-10
10
0
0
21
0
-35
0
0
-5
0
0
0
0
0
0
31
-13
0
0
2
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-31
11
0
2
49
0
0
-2
15
-1
0
0
0
0
0
0
-2
-2
0
9
1
0
0
0
2
-16
0
0
0
0
0
0
-57
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-3
-49
0
0
3
3
4
0
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-1
49
9
-66
-54
0
67
-48
22
0
1
-48
-23
0
0
-23
1
6
10
23
13
41
-13
49
1
0
-96
-40
-54
0
0
-16
4
5
-3
-37
-9
4
-5
-7
-2
-14
1
21
-16
0
0
0
0
0
0
1
-4
0
-24
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
5
-5
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-5
-8
0
0
-5
8
0
0
-41
-14
0
0
5
0
0
0
8
-25
0
1
1
0
0
-6
1
5
0
0
0
0
0
0
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
5
0
0
-1
0
0
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-9
36
0
-1
-6
0
-3
0
-3
25
0
0
19
0
-1
0
-86
-49
23
24
4
-2
0
-14
-15
25
0
0
5
0
0
0
2
0
0
31
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
19
0
0
1
0
0
1
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-7
0
-1
-24
0
8
52
1
0
0
92
-19
0
0
1
0
-2
0
-66
-64
-4
-18
2
0
0
-26
-34
-14
0
0
0
0
0
0
0
0
0
3
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-14
0
0
0
-4
-1
0
0
7
4
0
0
-3
0
0
0
3
0
0
3
0
0
0
0
-9
8
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-9
0
-1
-6
3
-4
8
8
13
-12
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
28
6
-9
32
1
3
-14
-5
-5
37
-32
49
0
0
69
0
1
-5
57
-37
-52
38
6
9
-2
8
50
19
0
0
67
0
0
0
-37
-4
5
13
-25
1
2
27
27
-5
0
0
-5
0
0
0
0
7
-1
-1
1
0
0
31
0
8
0
0
18
0
0
0
1
0
0
-1
17
0
0
-18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-3
0
5
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-5
0
0
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
8
-2
13
3
0
-29
9
2
0
7
116
4
0
0
21
0
9
-3
-5
-39
10
1
-5
0
0
20
-12
-17
0
0
0
0
-19
0
-2
1
0
37
2
0
0
0
4
24
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-7
13
-16
0
-2
0
0
0
0
25
-57
0
0
2
0
0
-34
13
5
-3
0
5
1
0
-15
0
14
0
0
0
0
0
27
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
0
-1
5
5
-2
-16
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-1
-6
-47
-69
0
19
-51
-21
-5
-50
62
36
0
0
-22
0
0
7
-84
-47
31
7
-8
12
-2
16
20
-163
0
0
10
0
0
0
63
9
-2
12
-2
-2
-5
0
-5
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
1
0
0
0
0
0
0
-4
0
0
-21
-7
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
4
-2
-13
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-2
-4
-42
-35
14
6
48
-17
-12
-43
-22
15
0
0
58
13
13
3
-38
19
8
-19
-41
32
3
-9
21
10
0
0
9
0
1
0
-8
65
14
13
29
-20
-16
-25
-86
-25
0
0
0
0
1
0
0
98
-5
-20
-5
0
0
14
0
6
0
0
0
0
0
0
0
38
0
0
-21
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-80
7
0
-2
-1
0
0
3
-17
-1
0
0
-23
0
0
1
-49
31
0
-5
0
0
0
-15
0
20
0
0
0
0
0
0
5
9
0
-1
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-1
-4
4
1
13
0
27
34
-1
-1
3
-51
-19
0
0
33
0
0
1
-8
-54
25
63
21
-8
2
73
-7
60
0
0
0
0
-1
0
17
7
-3
34
-10
0
22
-8
6
-21
0
0
0
0
0
0
0
3
0
8
0
0
0
2
0
3
0
0
0
0
0
0
-1
0
0
33
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
12
8
0
-45
31
2
31
42
1
0
18
14
-32
0
0
-25
-14
32
2
11
-3
-45
-1
33
2
0
-6
20
-17
0
0
-20
0
1
0
4
-1
1
27
-18
0
8
15
-1
-33
0
0
0
0
0
0
0
8
0
-7
0
0
0
27
0
-3
0
0
-8
0
0
0
3
0
0
-3
1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
10
2
13
34
18
0
0
-5
0
0
-8
2
-8
0
0
3
0
0
0
6
8
-13
1
-1
4
-7
-33
27
-53
0
0
-13
0
0
0
5
-12
0
-7
-1
0
0
5
9
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
3
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
20
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
1
1
0
-18
54
0
7
-2
12
13
5
-13
-4
0
0
-13
-3
0
0
25
-6
-12
5
-6
0
8
78
-8
22
0
0
-8
0
0
0
8
8
4
-18
-5
-3
-19
1
7
9
0
0
0
0
0
0
0
-4
0
3
0
0
-18
5
0
-3
0
0
0
0
0
0
0
0
0
3
3
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-3
-14
42
27
30
1
-38
15
6
6
-31
-113
41
0
0
11
-10
-2
-4
-13
-53
21
57
-17
-4
1
8
-12
1
0
0
-22
0
1
0
-26
-75
-7
21
-15
20
10
-14
27
-52
0
0
0
0
0
0
-2
6
-4
-9
5
0
0
23
0
-6
0
0
5
0
0
0
8
0
0
6
1
0
0
23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
5
2
-32
29
-25
-9
61
-69
-26
0
31
17
27
0
0
10
3
-7
10
42
-14
0
-4
-19
17
-5
-64
-31
-33
0
0
-34
2
2
1
-12
-13
0
-31
26
-5
7
19
28
-16
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
3
-7
0
0
4
0
0
0
-1
1
-5
7
5
1
0
23
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
29
29
44
11
-12
8
-30
14
-5
-30
-26
-42
0
0
1
-13
10
14
-60
-21
8
-92
4
-7
-10
-60
-22
-11
0
0
4
0
16
-5
-9
-1
5
32
42
-8
4
22
-57
11
0
0
0
0
0
0
0
0
-2
20
5
0
0
24
0
-18
0
0
1
0
0
0
1
0
-1
12
-7
0
0
-18
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
-31
-41
65
-39
-13
9
-61
19
-8
-75
41
51
0
0
-46
-8
-58
1
-44
6
50
-67
66
3
-19
-14
25
31
0
0
-1
0
-24
8
-77
13
20
-20
48
-8
21
-48
-5
-69
0
0
35
0
0
-5
16
-62
49
0
-5
-1
5
-36
29
-22
0
0
54
0
-25
-2
5
4
-27
11
1
-3
22
-13
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
0
-1
0
0
0
2
0
0
0
8
25
0
0
8
-40
-5
0
4
3
0
-2
-2
10
0
0
1
3
0
0
18
4
0
-10
4
0
4
0
1
-18
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-4
-14
-40
0
-50
-22
-14
0
4
-29
-28
0
0
-46
0
-11
0
-12
-49
31
-7
-17
3
0
-20
-14
-20
0
0
30
0
17
0
-10
-1
7
-21
8
0
0
5
1
-48
0
0
0
0
1
0
0
4
0
5
0
0
0
-15
0
6
0
0
0
0
13
0
0
0
0
1
3
0
0
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
24
0
-16
-29
2
0
0
-16
-20
0
0
8
-2
1
-90
-49
-24
-20
3
-27
0
0
-23
-1
-13
0
0
0
0
9
-12
-9
-13
0
-35
-21
3
0
-8
7
3
0
0
0
0
0
1
0
1
0
8
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
-1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
21
19
-30
35
23
-1
-9
29
-27
0
0
-78
0
13
-15
-35
-58
-15
-50
-6
-49
5
57
6
-85
0
0
17
0
74
2
0
-6
-46
118
38
41
31
-9
26
-77
0
0
2
0
0
0
2
6
-4
-13
-31
-1
1
-29
0
17
0
0
-4
0
5
3
-21
27
6
41
61
-22
-20
-27
14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-4
52
8
-92
-57
2
-19
-5
0
0
-55
3
-19
-48
-89
8
-43
-25
33
34
5
4
10
-52
0
0
50
8
-18
-26
-51
-33
27
-49
73
-38
45
-42
-84
-5
0
0
-4
0
-21
10
-21
26
-43
-57
27
10
10
-17
-12
31
0
0
20
0
3
0
-41
-83
-3
-37
29
3
-15
-22
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
4
-24
17
0
0
-8
0
-2
0
16
42
5
-20
-1
0
0
-30
-4
13
0
0
2
0
0
0
7
0
0
-9
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-9
25
-1
-39
-24
-44
0
0
-56
5
-45
47
-23
70
-23
23
22
1
-5
67
-43
3
0
0
-37
0
-64
-12
22
78
-7
77
5
-5
-23
17
-18
-18
0
0
-8
0
0
1
0
-18
4
-1
0
0
0
18
0
-43
0
0
1
0
0
0
0
-2
4
50
-14
-4
0
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-30
-5
3
0
0
27
3
-35
-27
-8
-24
-44
-47
40
13
-13
-32
16
-52
0
0
6
4
-2
-8
27
46
6
33
-15
3
-20
-5
28
47
0
0
1
0
0
3
2
2
2
-2
5
0
0
-50
0
-9
0
0
-30
0
-9
5
29
-9
-2
21
54
-10
1
13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
45
-1
0
0
-56
0
-2
2
4
-101
-11
8
-12
-2
0
-69
-9
-15
0
0
2
0
-1
0
25
-59
-1
-35
32
0
14
-6
-22
-41
0
0
-1
0
-1
0
0
-1
0
10
0
0
0
18
0
-8
0
0
-3
0
0
0
1
0
0
-7
-5
0
0
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
-1
0
0
-6
0
0
-6
8
8
0
-12
0
0
0
0
0
-12
0
0
-1
0
0
0
-5
-10
-1
1
1
0
8
0
-2
5
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-41
0
0
10
0
11
3
-60
-9
-16
8
-3
-3
-10
-28
13
17
0
0
-12
12
8
0
23
6
-4
-22
21
8
0
-24
2
-50
0
0
0
0
0
0
0
20
0
-17
0
0
0
9
0
-22
0
0
-2
0
0
0
12
3
3
2
8
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
20
0
0
-36
22
-19
26
-35
-76
16
-1
-70
-24
-7
41
-10
-55
0
0
6
0
42
-10
-24
84
-52
35
-9
-2
-3
21
-58
12
0
0
8
0
1
12
0
-4
2
47
3
0
0
-13
10
-26
0
0
21
0
6
8
31
-3
-40
-31
12
-1
7
-33
20
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
-35
14
-18
5
69
41
-77
10
-49
-2
-28
5
4
-22
0
0
7
1
-75
-9
32
-26
-55
17
-7
-20
35
52
-95
-12
0
0
13
0
0
21
-1
-24
43
50
1
3
1
-15
4
-43
0
0
0
0
0
0
17
0
31
5
-5
0
0
0
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-5
5
22
-18
-13
-71
-9
5
0
-3
24
-89
0
0
-3
0
1
-3
-61
2
-2
9
20
61
20
-28
-4
-8
0
0
2
0
0
0
0
-18
-1
-8
-2
1
-2
42
3
-3
0
0
41
0
0
0
-22
6
1
1
5
-10
0
-12
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
4
-4
2
-4
1
1
0
5
0
1
0
0
0
-5
0
0
-2
-6
0
-2
5
0
0
0
-2
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
0
14
-1
-6
0
0
5
0
10
0
1
-7
0
-31
-8
-1
0
-10
-2
-35
0
0
0
0
2
0
0
0
0
0
0
0
0
13
0
3
0
0
0
0
13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
54
9
-14
-6
0
0
-58
-14
-49
0
0
19
0
0
-56
-3
14
0
-50
8
0
0
-5
7
-19
0
0
0
0
0
-12
0
0
0
1
0
0
0
-2
0
7
0
0
0
0
0
-7
0
2
0
6
8
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-111
-9
-57
5
-7
-9
3
8
9
0
0
13
5
13
-3
-84
-29
43
-102
40
-39
-8
-2
20
-65
0
0
-1
0
0
0
-39
9
8
-57
-10
-1
0
-13
0
-6
0
0
-5
6
0
0
-7
-8
-14
2
-35
-19
-1
43
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-20
-28
29
-5
21
11
20
-29
0
0
-40
6
3
-31
24
69
-30
-76
7
-2
72
-59
13
62
0
0
-4
0
1
5
0
-12
-13
-48
3
-1
0
-8
0
-31
0
0
10
0
0
0
-2
17
12
36
5
7
9
-5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
11
-7
0
-1
11
0
0
0
5
0
1
2
17
-69
-3
-50
-58
-13
17
-30
-41
-12
0
0
0
0
0
0
0
-6
-5
23
0
0
0
-21
0
-6
0
0
5
0
0
0
9
3
0
-22
8
-18
0
-31
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
9
5
7
-21
-44
35
0
0
-29
-5
-13
3
-69
54
-25
5
32
-6
-3
10
-3
17
0
0
0
0
-1
-2
2
-6
9
161
0
-1
0
6
0
26
0
0
7
0
0
-1
-7
-3
5
42
-5
3
0
32
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
8
-24
45
0
0
41
0
-4
7
-3
-28
1
52
65
10
24
1
15
-13
0
0
0
0
0
3
1
-1
2
46
13
0
0
4
0
-25
0
0
-18
0
0
13
11
31
7
-2
-23
8
0
60
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
5
0
0
2
2
0
0
-41
-10
0
3
7
0
-5
-2
-3
23
0
0
0
0
0
3
0
0
0
-1
0
0
0
-7
0
4
0
0
0
0
0
0
5
0
0
-2
0
5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
8
0
0
0
-13
1
0
-14
-9
0
4
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-26
20
0
0
-53
0
16
0
22
-53
1
-23
11
-21
12
45
66
-50
0
0
13
0
0
0
8
-15
-3
-27
10
-4
0
79
2
43
0
0
20
0
0
0
10
9
4
13
-9
24
13
-45
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
10
0
-5
0
-7
-45
-2
-39
31
-8
22
4
8
-53
0
0
0
0
0
0
0
7
0
5
-2
0
0
-13
1
-23
0
0
-6
0
0
0
9
5
1
-28
-19
0
0
-15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
22
-8
29
2
65
-44
1
-8
61
3
-17
-26
-9
-28
0
0
8
0
0
4
0
0
8
46
16
-4
2
59
-7
-84
0
0
6
0
0
0
0
0
-10
-26
-43
1
0
0
11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-12
0
-1
93
-1
0
-3
19
18
-6
0
0
3
0
0
0
0
-3
0
6
0
0
0
0
0
5
0
0
20
0
0
0
-9
-1
1
16
5
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
-5
1
0
-1
0
0
8
0
0
0
0
-34
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
6
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-3
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
8
-13
-24
-19
2
-5
-7
-2
9
0
0
0
0
0
0
1
0
0
-18
0
0
0
0
0
-5
0
0
0
0
0
0
50
0
0
17
-43
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
4
5
-14
-7
-13
-5
-8
0
0
1
0
0
0
0
51
0
-22
0
0
0
-10
0
2
0
0
0
0
0
0
0
-4
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
4
6
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-2
0
0
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-88
14
8
31
-25
-56
0
0
-5
0
0
0
-3
-5
-2
12
0
0
-5
43
0
-41
0
0
19
0
0
0
-2
3
1
44
-24
7
5
-13
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
25
13
13
24
0
0
6
0
5
0
0
6
-3
-9
5
0
0
5
1
-5
0
0
-8
0
0
0
-31
2
0
15
-13
-15
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-5
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
-6
0
0
2
7
0
0
0
0
1
0
0
0
3
0
0
-3
-6
0
-7
-19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
0
0
0
0
0
0
0
-1
0
6
-1
0
0
16
0
2
0
0
7
0
0
0
-10
0
0
7
-18
0
0
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
-2
0
0
-4
0
0
0
3
0
4
2
-5
0
0
2
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
15
0
0
0
1
0
-6
49
12
0
0
42
0
-23
0
0
1
0
0
0
-12
0
0
8
-84
-2
0
-18
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
-10
-8
0
0
5
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-16
-12
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
-6
0
0
-5
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
3
0
-2
0
0
1
-6
0
-1
0
0
-5
0
0
0
-9
2
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
-6
8
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
0
-4
-5
0
0
0
-1
0
0
0
5
-1
0
3
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-3
4
0
1
0
0
0
0
2
0
0
0
0
0
0
0
-2
-13
0
2
0
0
0
-1
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
7
13
0
2
-4
-1
0
-1
-1
17
0
0
0
0
0
0
5
4
1
8
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-2
0
-7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
2
5
0
-9
-30
0
-1
4
2
6
7
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-5
1
0
5
-5
-1
0
0
-5
3
0
0
-8
2
0
3
-18
0
1
-19
8
0
-3
12
-1
3
0
0
0
0
6
2
8
-13
2
8
-7
6
5
-2
14
4
0
0
0
0
0
0
0
-1
0
-3
0
0
0
1
0
-14
0
0
0
0
0
0
-3
-8
0
2
0
0
0
0
-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
-2
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
-1
0
-1
2
0
0
8
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
6
1
3
-12
0
3
16
-4
0
-4
0
-12
0
0
10
0
0
3
9
-14
1
-6
7
-1
0
-10
1
-4
0
0
-1
0
2
0
-16
1
0
3
4
0
0
0
1
3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
2
-2
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
7
0
-1
1
0
-2
-7
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
4
0
0
0
0
0
0
0
0
6
-7
2
0
-1
0
0
-6
-5
-2
0
0
-1
0
0
0
-1
-8
0
2
1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-5
0
0
0
0
-3
2
0
0
1
0
0
0
0
2
0
-8
0
0
0
-3
0
4
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-8
-2
0
2
0
1
6
-4
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
-1
0
0
5
0
0
-2
7
7
1
22
7
0
0
0
13
-4
0
0
-4
0
4
0
5
-5
5
14
1
0
2
-2
9
6
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
-13
0
1
0
0
0
1
3
-5
0
0
-1
0
0
-1
5
6
-1
-8
2
0
0
-1
-2
0
0
0
0
0
0
0
-3
-2
0
-1
2
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
0
0
0
-2
-5
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
4
-1
0
0
2
0
0
0
-5
-3
0
6
1
0
0
0
2
0
0
0
0
0
0
0
-3
6
-1
7
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
5
-4
0
0
0
0
0
0
0
-2
0
0
-5
0
0
0
4
3
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-2
0
-1
0
16
5
-6
6
14
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
-4
0
0
5
-1
1
2
-4
4
0
0
-2
0
-2
-8
-10
-17
-3
-5
2
1
6
-5
8
2
0
0
6
-1
-2
-1
19
-18
7
-7
-1
-1
1
-8
-16
-1
0
0
0
0
0
0
1
-3
0
3
0
0
0
1
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
8
0
0
-3
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
2
-13
-25
0
-2
-4
-3
4
-9
-9
-5
0
0
5
0
2
0
4
-40
0
-1
4
0
0
-9
6
-4
0
0
2
-2
0
0
-3
-7
0
8
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
-5
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
5
0
0
0
0
-4
4
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
-1
0
-1
0
1
4
0
4
0
0
0
14
-8
0
0
0
-3
0
1
0
3
0
0
-8
0
-2
4
0
-16
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
14
0
0
0
0
0
0
8
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
-19
1
-2
17
-3
0
-1
1
-8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-5
-2
0
0
0
0
1
0
-3
-2
0
0
-5
0
0
1
-1
-7
4
-6
1
-1
0
-20
-7
19
0
0
4
0
2
-2
22
1
-8
27
-3
-1
0
-2
-6
13
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-6
0
0
-3
0
0
2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
-8
-6
0
-3
0
0
0
-1
2
3
0
0
4
0
0
1
-1
2
-1
-6
2
0
0
-5
-2
-3
0
0
-2
0
0
1
6
0
0
1
1
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
-5
-1
0
0
3
-3
-2
0
0
0
0
0
0
-1
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
-3
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
-4
-5
0
-3
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-10
0
0
0
0
1
-1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
0
0
0
0
5
0
2
0
-3
0
0
0
0
0
0
-2
1
-1
0
0
-1
0
0
0
0
6
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-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
3
2
0
0
0
-1
0
0
0
2
-2
-3
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
17
0
-6
0
0
0
8
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
1
0
0
0
-1
1
0
0
-1
0
0
0
-3
4
0
-1
-3
0
0
-3
2
0
0
0
1
0
0
-1
-6
-20
0
-4
1
0
-4
0
-6
-4
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-13
41
0
0
2
0
0
4
5
3
0
0
2
0
0
0
5
3
0
-1
0
0
0
2
0
2
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
-2
0
-2
0
1
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
5
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
2
0
-5
0
1
0
0
-5
0
0
0
0
0
0
0
0
-6
0
-8
0
0
0
0
2
1
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
15
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
-5
-2
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
-14
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
-3
0
0
2
0
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
6
0
-1
0
8
-2
-4
0
0
-2
0
0
0
6
-1
0
3
0
0
0
0
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
5
2
0
0
-3
0
0
0
-5
6
0
0
0
0
0
-3
1
-2
0
0
0
0
0
0
-2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
2
0
0
0
-2
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-1
3
0
0
0
-6
-1
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
5
0
0
1
0
0
-1
0
0
0
0
3
0
0
0
0
24
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
3
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
5
3
0
-1
1
0
0
1
0
-1
0
0
4
0
1
0
1
4
0
-5
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
15
0
0
0
0
0
0
-4
0
0
0
-1
0
0
-1
2
-2
0
4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
-1
3
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
6
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
-2
0
0
0
2
-6
0
0
1
0
0
0
2
0
0
0
0
0
0
-4
0
-7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
6
-9
0
0
-2
0
0
-7
0
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
-1
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
4
0
8
0
0
3
0
0
0
2
0
0
1
0
0
0
-2
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
-2
5
0
-4
0
0
0
2
-4
0
0
0
-2
0
0
0
2
1
0
18
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
0
3
0
0
0
0
-2
0
0
0
0
0
-1
1
0
1
-1
1
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
5
24
4
3
-1
1
0
3
5
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-15
0
-5
5
9
-2
-1
9
-7
0
0
-14
1
0
-1
3
-32
25
-8
2
-3
6
-24
8
-5
0
0
-4
1
0
-1
23
20
-14
2
-5
6
1
2
-4
-9
0
0
-6
0
0
0
0
-3
2
0
0
0
0
2
0
0
0
0
22
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-5
-5
-1
-2
-5
5
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-1
3
-3
2
0
-1
1
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
-30
12
-2
2
5
2
-1
0
3
-16
0
0
5
0
0
-1
1
5
13
-10
0
0
-1
-5
14
-20
0
0
3
0
0
0
-9
-3
-2
-3
1
3
5
0
-4
-4
0
0
3
0
0
0
0
1
0
-4
1
0
0
0
0
2
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
5
0
0
0
-12
-2
0
2
0
0
-3
-2
0
0
0
0
-3
0
0
2
-3
-1
0
0
0
0
0
6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
-1
1
-1
0
0
0
-2
0
0
1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-9
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-10
0
0
-1
0
0
0
5
-4
0
0
0
0
19
0
3
2
-2
5
-4
0
0
3
-5
-8
0
0
1
0
-18
0
-4
12
-1
-4
-4
0
-5
0
0
-5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-2
-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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
-13
0
0
0
0
0
0
10
-3
0
0
0
0
2
0
-1
4
7
3
-3
0
0
3
-2
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
-1
0
0
0
1
-1
0
0
0
0
0
-4
3
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
22
3
8
0
-2
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
5
0
0
-1
0
0
0
-1
4
0
0
0
0
0
1
-3
-5
4
1
0
0
0
0
-2
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-6
10
-4
9
-1
2
11
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
-8
0
-5
7
2
2
0
-10
-12
0
0
-14
0
-6
4
66
-19
20
-42
13
11
-2
20
14
14
0
0
7
-4
3
0
-13
-13
6
-29
-5
3
-16
5
5
4
0
0
0
0
0
0
3
-1
5
0
0
0
-1
0
0
1
0
0
-2
0
0
0
2
0
-8
0
2
0
0
-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
-2
0
0
-1
-8
4
0
-14
0
15
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-5
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
21
-3
0
1
8
-4
-4
8
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
-5
-10
7
0
-7
3
-1
0
5
24
-5
0
0
-7
0
1
-1
1
3
-13
-9
3
1
-1
2
-4
-17
0
0
-1
0
0
0
21
-9
4
-6
5
1
5
1
4
3
0
0
0
0
0
0
-4
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-6
2
4
15
13
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
8
0
-5
-6
1
-5
5
8
1
27
-5
0
0
7
4
2
5
-20
-75
-13
8
-17
12
-3
-1
-20
9
0
0
15
7
-2
1
48
-14
-3
-24
-11
-26
-23
-6
0
-7
0
0
-1
0
0
0
1
-5
13
-8
3
3
-4
3
0
3
0
0
-2
0
4
0
-4
14
-4
0
-2
0
-1
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
-4
-5
-20
-1
0
1
-6
6
-2
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-13
-1
0
0
0
0
0
0
0
0
2
-5
4
0
0
3
-1
-1
0
0
0
0
0
0
0
0
2
-1
-2
-2
0
-1
-5
1
0
0
0
0
0
0
0
0
2
0
-2
0
1
4
-4
2
4
0
0
0
0
0
0
-1
0
0
3
0
0
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
1
-8
-30
-5
-4
2
2
-5
10
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
0
-2
-8
-27
-2
14
-3
6
-1
4
26
-12
0
0
9
4
-1
-3
13
-20
-4
-31
-3
3
0
-25
-14
9
0
0
4
1
-1
2
-8
-1
-1
9
-8
1
2
-4
0
-5
0
0
0
0
0
0
-1
9
-2
3
-2
0
0
10
-1
2
0
0
0
0
0
0
1
6
2
1
4
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-5
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-13
0
0
1
0
1
1
0
0
0
-5
0
0
0
-6
23
5
-5
6
0
-1
-1
-5
5
0
0
-7
0
0
0
26
33
5
4
7
0
-5
2
-9
5
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
0
0
0
0
0
0
0
0
0
4
1
0
0
-3
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
1
1
8
-2
-1
0
0
0
-2
4
13
0
0
-1
0
0
1
1
-1
-6
5
0
0
0
-8
0
0
0
0
-2
0
0
0
-3
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-2
-4
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-2
0
1
-2
0
1
-2
6
-5
0
0
3
-1
0
-2
4
-13
4
-17
-10
14
0
32
-8
0
0
0
4
0
7
2
-4
5
-8
-11
3
2
3
5
-13
12
0
0
0
0
0
0
-1
-5
-1
1
0
0
0
-2
0
-4
0
0
0
0
0
0
-4
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
5
0
0
-1
0
0
12
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
-5
-24
0
-5
-1
-1
0
1
14
-13
0
0
9
-1
-4
1
-13
-7
-3
3
-4
0
0
-2
2
-12
0
0
0
0
1
0
6
-1
0
23
4
1
0
-2
0
-2
0
0
0
0
0
0
-1
4
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
14
0
0
2
0
-1
0
-4
2
0
0
0
0
2
0
-7
-6
1
5
-4
0
0
1
13
-2
0
0
-2
0
-2
0
-21
8
0
5
3
2
13
8
-5
-1
0
0
0
0
0
0
0
-1
2
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
23
0
2
0
0
0
-1
5
-5
0
0
1
-1
0
-1
4
-8
4
1
-4
-1
0
-6
2
12
0
0
-2
0
0
0
-6
2
0
-3
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
-1
0
0
-5
0
0
0
0
1
0
0
0
1
-4
7
-1
4
-1
-1
-2
2
-2
0
0
0
0
0
0
24
-17
0
-8
0
0
2
0
5
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
-3
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
5
3
-8
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-1
0
6
-2
-1
-6
-1
2
-1
0
0
1
1
0
-1
-10
-10
-5
6
-3
1
5
-11
-9
8
0
0
0
0
0
0
-7
-5
3
-13
4
-1
13
-2
1
8
0
0
0
0
0
0
0
5
3
1
0
0
6
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
5
1
0
0
0
-4
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
1
0
1
-13
-22
0
-2
-4
1
-2
-5
1
6
0
0
-1
0
0
0
-5
8
0
10
6
1
0
5
0
-8
0
0
0
0
0
-1
-1
1
1
2
6
0
0
3
2
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
9
-19
0
-5
-4
-5
4
-18
13
2
0
0
-2
1
-5
0
45
-19
15
3
-4
4
5
-4
-13
-5
0
0
3
0
13
0
-15
12
13
11
-4
7
-5
27
-7
-3
0
0
-2
0
0
0
0
16
5
5
2
0
-1
0
3
-5
0
0
0
0
0
0
-1
-1
16
-2
3
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
8
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
0
-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
4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-1
3
0
0
6
0
-2
-5
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
-8
-13
-27
-4
-9
0
-10
0
-5
-10
-1
0
0
7
1
1
6
-14
18
18
13
-7
-6
1
9
8
31
0
0
6
0
2
0
-3
3
8
-1
-14
-2
-1
2
-4
-8
0
0
0
0
0
0
0
2
0
-4
0
0
0
4
0
0
0
0
1
0
0
0
0
0
-1
2
6
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
3
-22
0
2
0
1
4
-2
-6
-2
0
0
5
5
1
5
2
-49
21
-3
-5
-2
-7
-1
-14
-4
0
0
0
4
1
2
5
4
-17
15
-15
1
2
13
15
-4
0
0
0
0
0
0
0
2
-1
2
0
0
0
4
0
-5
0
0
0
0
0
0
0
4
-2
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
5
-2
0
-4
-3
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-1
1
0
4
1
0
5
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
-2
12
31
0
-5
4
13
-3
3
2
7
0
0
2
0
0
-3
2
8
-15
-1
-6
-4
0
9
-6
12
0
0
1
0
-5
0
-1
2
0
-1
-5
-2
1
-5
-6
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
-1
0
0
0
3
0
-1
2
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-14
0
1
3
1
0
3
0
9
0
0
13
1
-1
-4
-19
8
12
4
-9
-4
-7
-22
-13
-13
0
0
11
-4
-3
-1
16
-29
-2
-8
8
-2
-15
35
-4
-6
0
0
0
0
0
0
2
1
3
-5
1
0
-4
0
-2
-2
0
0
-1
0
0
0
3
0
5
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-1
-2
2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
4
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
-5
0
1
-2
-1
5
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-5
4
-14
6
-2
6
-5
-8
0
0
-9
-112
0
0
-22
-3
0
6
33
3
19
-7
0
0
2
-8
13
-15
0
0
-3
0
2
3
-10
5
4
-10
-3
-2
-1
-2
-1
-25
0
0
2
0
0
0
0
0
0
7
0
0
0
1
0
13
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-5
0
0
0
0
0
0
3
0
0
0
-22
0
1
0
-3
-6
6
-9
0
0
0
-5
-3
7
0
0
-5
0
0
0
2
-3
0
-5
0
0
-1
-5
-1
-3
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-17
0
0
1
0
0
0
0
1
0
0
-1
0
0
0
-9
-5
-4
2
0
0
0
3
0
0
0
0
8
0
0
0
1
0
0
5
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
5
0
1
0
0
0
0
0
0
0
0
1
0
0
-5
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-2
2
0
0
0
13
0
0
0
0
-4
0
0
6
6
13
10
-17
-18
1
1
-3
0
-4
0
0
-2
0
-2
1
-42
-3
3
-4
-4
-4
-8
0
3
-3
0
0
0
0
0
0
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-6
-5
0
0
1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
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
-2
0
-1
0
47
-10
0
-1
-4
0
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
-5
8
0
-5
-3
2
0
0
-1
6
0
0
-7
0
0
1
-13
-13
-4
0
-6
0
0
-5
1
0
0
0
0
0
0
0
11
-2
1
3
-2
-3
0
1
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
13
-1
0
0
13
2
-1
0
4
58
2
-24
-2
0
-1
20
-14
3
0
0
8
0
-8
-8
4
16
2
25
-3
5
-5
-23
0
10
0
0
0
0
0
0
2
22
2
0
1
2
-10
2
0
3
0
0
4
0
0
0
1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
3
0
1
-1
4
-4
0
0
0
0
0
0
0
0
1
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
5
-1
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-8
-12
0
-13
2
0
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
1
5
29
-5
2
19
-1
-1
5
-13
0
0
0
15
1
-5
1
-1
32
-10
-8
1
-3
-1
-13
-15
-4
0
0
-2
0
0
0
1
-22
3
4
0
2
4
-12
-6
0
0
0
0
0
0
0
0
-5
0
-7
-1
0
0
-6
0
3
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
4
0
0
0
1
0
3
0
0
1
0
0
0
3
0
-3
-6
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
-1
0
0
-1
0
2
-1
-13
31
-6
33
26
0
-1
-13
-8
-1
0
0
-7
0
0
1
3
14
6
-40
0
0
-7
4
8
-3
0
0
0
0
0
0
0
-2
0
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-4
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-3
5
1
-6
-2
0
0
1
2
-2
0
0
-8
0
0
0
-3
-9
2
15
-1
0
0
4
2
3
0
0
7
0
0
0
0
-2
0
-5
-1
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
0
1
5
-9
-9
-4
4
2
0
-12
6
-1
0
0
2
0
0
0
-13
-15
-4
-6
0
0
-5
0
2
-5
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
5
-2
1
0
0
0
6
-4
-5
0
0
0
0
-1
0
-3
8
-5
-2
-2
5
0
-2
3
-6
0
0
3
0
0
0
-1
-2
0
-17
0
0
0
0
2
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
5
-15
-8
4
-5
0
0
14
-2
2
0
0
2
0
3
0
-6
-5
-3
-3
1
0
0
0
-2
5
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-1
-10
-1
0
0
0
0
0
0
-3
8
-3
-1
1
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
-1
1
-13
4
5
0
0
4
0
0
0
3
-1
0
-9
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
0
0
0
-3
0
0
0
2
0
0
0
3
0
0
0
3
1
-2
-2
0
0
0
-2
-1
0
0
0
2
0
0
0
1
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-3
0
0
-3
2
0
0
-19
-4
-1
3
0
-3
2
-13
0
-16
0
0
-4
0
1
0
0
-1
1
-10
0
0
-5
-32
-3
-19
0
0
0
0
0
0
0
0
1
2
0
0
0
-10
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-5
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
-3
0
-1
0
0
0
5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
14
0
6
0
0
0
-2
-4
-2
0
0
4
0
0
0
-1
-9
7
4
-4
0
0
6
1
-2
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
0
0
3
5
-8
6
-23
-5
0
0
8
2
13
0
0
0
0
0
0
4
-5
7
-28
0
0
-5
7
-21
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
-1
3
0
-9
1
0
1
-1
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-6
0
0
-3
0
0
-2
-5
5
0
0
-5
0
0
2
4
15
-6
3
-5
0
0
-4
13
1
0
0
2
0
0
0
2
0
1
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
-2
0
1
0
-13
-5
-6
-3
1
-7
5
-14
0
0
-4
0
-2
3
-5
5
-8
0
-3
2
-5
1
-3
30
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-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
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-5
0
0
2
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
0
-7
-12
0
-13
-1
-3
0
-1
-1
1
0
0
-5
0
0
0
4
5
-1
-2
-5
0
0
0
-7
-25
0
0
-3
0
0
0
2
0
0
-4
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
-5
-5
-5
-9
0
-1
9
13
-5
0
0
33
0
0
1
-10
4
-4
-11
-6
-2
-1
-7
2
-9
0
0
2
0
0
0
0
3
-2
0
0
0
0
-1
0
-1
0
0
15
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
6
0
0
-5
-5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
3
0
-3
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-13
12
1
-1
-1
3
0
-8
-1
-13
0
0
-15
0
0
1
1
10
4
2
-2
0
0
-6
2
19
0
0
25
0
0
0
1
-5
7
2
-1
0
0
-8
-1
4
0
0
1
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
2
-4
0
0
2
-1
2
0
0
0
-12
0
0
-1
13
0
3
0
0
2
0
1
-4
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-4
2
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
-2
-2
0
0
0
0
0
-3
0
4
3
-2
-4
0
0
0
0
-4
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
0
0
1
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-31
0
-1
-1
0
0
0
-5
-5
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
6
-2
3
-1
1
0
-2
5
0
0
0
0
0
0
-33
2
6
2
8
0
0
0
0
-7
-3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-4
10
-2
-1
-2
0
0
0
6
5
0
0
2
0
0
1
-3
0
-3
2
0
0
0
0
0
2
0
0
0
0
0
13
-1
0
0
1
0
0
0
0
0
2
0
0
0
0
0
9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
19
-2
-3
7
2
-2
5
1
-5
0
0
1
4
0
3
5
-51
21
33
7
2
25
9
10
-22
0
0
-1
0
0
0
-7
-3
-5
-3
0
0
0
0
0
-4
0
0
5
0
0
0
-25
0
-5
1
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
9
-8
-5
6
0
15
-2
5
0
0
0
0
0
0
0
0
-2
12
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
-7
0
6
0
0
0
0
0
0
0
0
0
0
-9
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
-5
1
0
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
22
0
0
5
6
2
1
5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
4
1
-3
74
2
-1
-19
9
0
2
-10
-5
-5
0
0
-10
4
-1
-5
-12
2
9
14
-5
-2
0
1
-3
5
0
0
8
0
0
0
0
-14
-4
-5
5
-6
-5
0
-5
3
0
0
0
0
0
0
-9
0
0
-4
0
0
0
1
0
0
0
0
-2
0
0
0
-5
-1
1
2
-3
0
0
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
22
-5
4
4
3
-10
5
0
0
-8
6
20
-5
27
55
41
78
-2
8
-8
-4
-3
0
0
0
-3
0
0
-4
-6
-34
24
10
-2
8
-6
6
1
3
0
0
5
0
0
0
-2
18
-5
-4
5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
4
7
-7
-2
11
1
-3
0
0
0
0
0
0
0
1
1
5
0
0
0
5
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
-1
-4
1
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
3
0
5
2
-2
0
-43
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
-51
0
15
1
3
-4
21
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
-6
-3
-31
-53
-2
25
-11
12
-3
-1
8
-9
0
0
20
0
2
-4
4
-27
26
5
-4
-6
-1
-4
12
-4
0
0
6
-1
0
10
0
-13
0
28
7
0
-2
-3
-1
1
0
0
3
0
0
-2
0
3
3
-8
-8
-1
0
-14
0
0
0
0
0
0
0
0
0
4
0
0
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
20
-5
2
0
-4
15
-11
0
0
7
2
-6
-3
0
-7
-13
-34
5
0
15
23
12
-16
0
0
0
0
0
0
1
-4
-5
-5
0
0
0
0
0
8
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
8
3
0
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
-3
-2
-2
0
0
0
6
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-1
0
-1
31
8
8
-5
0
0
18
13
10
0
0
0
0
0
0
25
2
28
21
-2
-2
0
18
-6
24
0
0
-2
0
-3
0
13
-6
-8
-24
-6
5
0
3
-5
5
0
0
0
0
0
0
0
-5
0
-1
0
0
0
1
0
0
0
0
1
0
0
0
-4
-2
0
0
-8
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
1
-6
20
-14
5
0
0
15
8
-7
4
18
3
11
-56
21
5
-15
6
3
-6
0
0
0
0
0
0
0
-6
-5
20
1
-1
1
14
-1
-8
0
0
-1
0
0
0
-5
-6
-5
-3
1
0
1
1
-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
-3
-4
2
1
7
0
-2
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
-7
20
0
28
-7
1
-2
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-2
2
5
21
-1
7
-5
8
0
1
-20
28
0
0
-2
0
0
1
-13
-12
-3
-15
-12
-2
3
8
1
13
0
0
2
0
-6
7
2
5
-1
-37
6
-2
-1
3
0
-13
0
0
0
0
0
0
0
8
-1
-4
2
0
0
1
0
4
0
0
3
0
0
0
8
-4
-2
-6
2
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
4
-37
13
-8
0
0
-5
-5
0
4
-6
14
13
-14
0
4
2
7
5
22
0
0
-1
0
0
0
1
-1
0
12
2
0
0
0
0
5
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
4
1
0
0
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
4
-5
0
0
-2
0
-1
3
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
2
0
-31
1
7
13
0
-2
-1
9
-29
0
0
1
0
0
-2
10
-25
-18
5
1
5
0
5
-15
-6
0
0
-4
-1
0
0
1
2
0
4
3
1
-1
2
0
-5
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
-1
1
0
0
-13
18
-1
4
4
0
1
-8
-14
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
7
0
0
0
1
0
-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
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
3
0
0
0
3
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
13
1
-3
1
0
0
2
-4
-6
0
0
-1
0
0
0
-2
4
6
1
1
0
0
4
1
0
0
0
2
0
0
0
-3
1
0
1
-2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
-3
0
0
0
2
-10
-2
-1
-1
0
-8
-2
2
-12
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
9
0
-2
-4
0
0
-1
-1
-8
0
0
-1
0
0
0
5
12
1
0
-3
0
0
0
-1
5
0
0
-6
0
0
0
-2
-5
0
-1
-2
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-10
0
0
-8
-3
-4
-1
-10
15
20
4
8
5
14
5
18
-44
0
0
5
0
0
-1
0
5
-1
-4
0
1
4
-8
-3
-7
0
0
-3
0
0
0
-8
4
4
4
1
0
0
-3
-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
1
2
13
-17
-2
6
-3
-5
0
9
0
0
0
0
0
0
0
0
-4
-4
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
-8
-4
0
1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-7
0
0
0
30
0
0
0
0
0
0
0
0
-3
0
0
-8
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
-9
-28
4
8
-15
-2
2
-15
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
2
0
23
36
3
-8
2
-5
3
20
31
-36
0
0
-6
3
-1
0
-10
10
37
18
10
-5
0
-5
16
-17
0
0
5
0
4
0
-13
0
-5
-24
-8
-2
0
-1
2
2
0
0
0
0
0
0
5
0
-13
-2
-3
0
0
5
0
3
0
0
6
0
0
0
-3
0
6
4
8
-2
0
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
-29
-5
3
-2
5
-10
6
-14
-15
-1
-3
-12
27
6
0
0
0
0
0
0
0
-9
-1
-7
0
0
0
0
0
2
0
0
0
0
0
0
0
-7
-1
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-2
8
0
0
6
-3
-7
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
1
4
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-5
0
-8
-3
0
13
-2
0
0
-4
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
1
3
-71
0
8
-5
9
0
-3
-42
35
0
0
-5
0
-1
-2
-5
-50
0
-2
-2
-1
0
-19
-60
-12
0
0
1
0
0
1
8
5
-2
-9
-1
0
-1
-2
4
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
3
1
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
19
1
5
-2
11
-6
15
27
3
-1
-9
4
-25
32
0
0
0
0
0
0
-3
1
6
-1
-2
0
-4
3
-1
-9
0
0
3
0
0
0
0
0
-8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-5
0
2
3
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
4
5
-1
2
-5
1
4
1
20
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
-4
-5
-11
15
-3
-9
5
-3
1
-1
-5
76
0
0
3
0
-2
-12
-2
-3
9
-4
-1
-1
0
-8
-2
5
0
0
-3
0
3
-1
-5
2
-1
-8
-8
0
-1
5
6
-12
0
0
6
0
0
-1
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-10
9
1
-4
-1
-1
1
1
1
0
0
-4
0
0
0
0
3
1
-4
0
0
0
1
0
0
0
0
6
0
0
0
0
1
2
0
0
-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
-1
-4
3
7
0
0
0
-8
-1
14
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-8
0
0
2
-3
0
0
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
0
-18
20
1
-2
-1
5
0
-2
-25
13
0
0
22
0
-5
0
-4
-13
19
5
-2
3
0
0
4
-10
0
0
8
0
0
0
-3
6
-1
-2
-10
2
-1
3
-2
-5
0
0
1
0
0
0
0
0
0
-1
0
0
0
1
0
2
0
0
-1
0
0
0
1
0
0
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
-3
0
0
0
0
1
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
4
2
-1
-2
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
-1
0
0
3
0
0
0
0
0
-1
0
0
1
3
0
0
0
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-17
0
-2
-26
0
-2
-3
1
0
0
-6
-9
0
0
0
0
0
0
-5
4
2
0
-4
0
0
2
-1
-5
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
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
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
1
0
5
1
0
0
0
3
5
0
0
-3
0
0
0
3
-1
3
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
21
23
-1
3
5
1
0
-12
0
0
0
0
0
0
-9
-7
-1
6
0
0
0
0
0
-2
0
0
0
0
0
0
-19
-1
-28
4
0
0
0
-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
-9
-1
3
0
1
-3
2
-4
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
8
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
47
-3
1
3
-3
-2
-4
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-2
3
55
11
-2
2
22
8
2
-6
-1
13
0
0
-13
-1
1
2
-11
-33
4
1
-7
0
-2
-2
6
-5
0
0
5
-1
2
0
23
-1
2
-7
4
-2
0
6
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
15
0
0
-1
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
42
13
0
-8
14
-15
-11
1
0
0
0
0
0
0
2
-26
1
-5
-1
0
3
8
-2
-4
0
0
0
0
0
0
0
-5
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-2
11
0
1
-5
-12
3
2
0
0
0
0
0
0
0
-2
-4
-6
0
0
0
5
0
0
0
0
0
0
0
0
0
4
-8
12
0
0
0
13
1
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
5
-45
-1
-4
8
-2
-8
4
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
13
-1
-31
39
-5
-7
4
-5
1
7
29
-12
0
0
15
0
-1
-2
-48
-8
22
-4
17
-1
0
13
-7
-7
0
0
1
0
1
0
-6
5
1
5
0
0
4
-7
-1
0
0
0
0
0
0
0
0
-18
-2
5
0
0
0
1
0
-1
0
0
5
0
0
0
0
-7
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
1
0
5
2
2
-31
0
0
0
0
0
0
0
4
-5
-2
0
0
0
0
0
10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-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
-9
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
-3
-2
-5
-3
0
3
8
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
4
0
25
53
0
3
1
-1
0
-1
-21
4
0
0
3
0
0
0
-5
-11
-3
6
3
0
0
-2
-3
5
0
0
-2
0
0
0
0
6
0
10
0
0
-2
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
10
1
-12
-26
-28
-10
0
0
1
0
0
0
0
7
-14
10
-1
3
1
29
0
6
0
0
0
0
0
0
7
-4
0
14
4
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
5
-3
-3
-4
-8
21
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
5
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-6
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
3
4
-1
2
4
0
0
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-1
-5
5
66
5
-16
5
5
-8
1
-9
-29
0
0
-3
-3
-8
5
-23
14
-8
22
-21
4
2
-12
2
-26
0
0
5
0
4
0
5
-2
1
-11
8
4
1
3
-9
13
0
0
0
0
0
0
4
1
-2
4
3
0
0
0
0
7
0
0
-1
0
0
0
7
-5
0
8
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
6
3
0
0
-1
0
0
0
0
5
0
8
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-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
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
2
0
1
0
0
5
2
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
3
0
-5
-2
-1
0
-2
-8
-7
0
0
6
0
0
0
-4
-5
-2
7
0
0
0
10
4
-7
0
0
0
0
0
0
5
-2
-3
2
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
4
3
0
0
1
0
0
0
0
1
0
0
-4
0
-3
0
2
0
-1
3
-1
0
0
-3
3
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-21
0
0
0
0
0
0
0
-2
-6
-1
0
0
-2
1
0
2
0
0
0
0
0
0
5
-1
-1
-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
-1
-7
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-1
4
-1
1
1
-1
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
1
7
5
0
-2
6
-3
2
6
-7
12
0
0
7
0
0
0
6
-1
-4
-6
2
0
0
1
0
-2
0
0
-1
0
0
0
-3
-3
1
6
3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
-2
-1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
3
6
0
0
0
0
0
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
0
-4
21
0
4
-2
0
0
3
-5
22
0
0
-7
0
0
1
13
8
-2
2
-2
0
0
-23
-13
16
0
0
0
0
0
0
-1
0
0
-4
0
0
0
-2
0
3
0
0
0
0
0
0
0
2
0
2
0
0
0
2
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
4
2
0
0
0
0
-1
0
4
0
0
4
0
0
0
0
-1
-4
-22
1
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-1
-3
1
-2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
-5
2
-2
2
3
0
-4
-3
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
-3
3
-12
1
-10
8
1
0
2
-33
-12
0
0
-7
-1
-1
-1
0
5
6
-5
5
2
-1
-12
-12
-6
0
0
1
0
2
0
2
3
-1
-13
7
0
0
2
-2
-5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
-1
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
0
-3
0
-1
-1
0
0
-1
0
0
12
0
0
0
0
0
0
-1
0
3
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-5
0
0
0
1
7
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
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
0
3
0
-2
-3
-3
7
-3
1
1
-5
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
2
13
20
-8
8
0
1
-2
-14
20
-72
0
0
2
0
0
2
-3
1
-5
-24
-2
1
1
-1
7
8
0
0
3
0
0
0
0
3
1
-4
8
-6
-1
0
-4
-1
0
0
-3
0
1
0
0
1
5
1
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
5
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
1
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-6
-16
0
-8
0
-1
0
5
4
-1
0
0
5
0
0
2
0
28
5
8
0
0
0
1
-2
0
0
0
1
0
0
0
0
6
0
1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
1
0
0
1
1
0
0
1
-7
0
0
0
0
0
0
9
5
0
5
-5
0
0
0
0
13
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
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
0
0
0
0
0
-1
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
18
0
-18
-1
0
0
1
-3
-5
0
0
-2
0
0
0
2
-12
1
12
-2
-1
0
5
0
2
0
0
0
0
0
0
0
3
0
-7
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
5
7
0
8
-3
0
0
-5
0
-6
0
0
1
0
0
0
-4
-9
0
1
2
0
0
-10
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
5
-6
0
-5
-2
-4
0
-2
-1
14
0
0
-2
0
0
-1
2
-6
-2
-6
-2
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
-1
-2
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
-1
3
0
1
0
0
0
1
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-9
0
-1
0
0
0
-2
0
0
0
0
-1
0
0
0
-13
1
-2
-2
0
0
0
-3
0
-3
0
0
0
0
0
0
-9
0
0
3
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
-18
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
1
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
24
0
-2
1
0
0
0
-8
5
0
0
0
0
0
0
-3
10
6
7
1
0
0
10
4
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
4
-5
0
0
-5
0
0
0
-6
0
0
0
0
0
0
0
4
1
-2
5
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
3
6
0
1
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
1
1
3
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
-5
0
0
-1
0
0
-1
1
4
0
0
0
0
0
0
-1
-1
0
-2
1
0
0
-1
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-8
0
-1
0
-5
4
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-22
-27
1
-3
-1
-1
0
3
-19
-17
0
0
3
0
0
0
-8
-16
9
-23
-4
0
0
5
-2
5
0
0
2
0
4
0
-8
-3
6
6
2
0
-1
-3
0
-4
0
0
0
0
0
0
-1
-2
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
1
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
2
3
0
2
-1
5
-1
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
4
22
0
3
2
2
0
-2
-7
9
0
0
5
0
3
3
4
10
-5
-23
5
-2
0
-1
0
-3
0
0
-1
0
1
0
2
2
0
6
-1
0
-2
1
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
-5
0
0
0
2
0
0
-8
4
0
0
1
0
0
0
0
0
2
1
0
0
0
-2
2
3
0
0
1
0
0
0
0
0
0
3
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
1
0
5
-4
-1
0
1
1
-4
0
0
-1
0
0
-1
3
-2
3
3
3
0
0
0
-6
8
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
1
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
-3
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-15
0
2
6
0
0
-2
-1
3
0
0
1
0
0
0
-1
-7
0
-1
0
0
0
0
0
-2
0
0
1
0
0
0
0
-1
0
2
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
1
6
0
3
1
0
0
0
-1
1
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
0
0
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
15
0
0
-2
0
0
1
1
-2
0
0
0
0
0
0
1
-2
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
8
0
-1
-2
0
0
0
2
-1
0
0
-2
0
0
2
1
16
0
-1
1
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
4
0
4
5
0
0
1
-3
0
0
0
0
0
0
0
5
2
0
8
0
0
0
-2
0
-3
0
0
0
0
0
0
-7
1
0
-1
-2
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
3
0
-4
-2
0
0
0
7
0
0
0
0
0
0
0
4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
-5
41
0
3
3
0
0
0
10
-2
0
0
13
0
0
0
-2
-4
-8
1
0
0
0
-1
7
7
0
0
1
0
0
0
0
0
0
-3
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
3
1
0
-2
0
0
0
0
-2
-3
0
0
0
0
4
0
0
0
1
0
0
0
0
2
-2
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
3
4
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
8
-21
0
-5
-4
0
0
5
2
10
0
0
-1
0
0
0
5
-2
6
16
3
0
0
8
0
-18
0
0
0
0
0
0
4
-1
0
0
5
0
0
-1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
6
-2
-6
-58
1
-1
-9
5
0
7
-23
-2
0
0
3
2
3
-4
-8
22
-7
-2
-4
0
0
3
1
3
0
0
0
0
0
0
1
-7
0
4
0
0
0
-5
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
-5
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
-8
0
-2
2
0
1
4
-5
6
0
0
0
0
0
0
2
-5
-2
-3
0
0
0
9
4
5
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
2
-1
0
0
6
0
0
0
-5
-3
0
0
2
0
0
0
0
-9
5
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
-1
0
3
0
0
0
-2
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
-2
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-3
0
2
0
0
0
0
1
-3
0
0
-1
0
0
0
2
3
1
1
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
17
30
0
0
5
2
0
2
-15
-13
0
0
1
0
0
0
-7
3
3
5
2
0
0
-7
-2
-23
0
0
0
0
0
0
-1
-1
0
3
1
0
0
0
1
3
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
-25
0
9
5
-2
0
5
3
3
0
0
-1
0
0
2
0
3
-1
1
0
0
0
3
0
3
0
0
-4
0
0
0
0
0
0
4
-2
0
0
4
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
4
0
4
0
-2
-8
-3
0
0
0
0
0
0
6
-2
6
-1
0
0
0
4
0
-1
0
0
1
0
0
0
4
0
0
3
-2
0
1
8
0
-14
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
1
5
-37
-2
5
-4
1
0
-2
-8
-2
0
0
-26
0
-5
2
0
3
-7
1
-1
0
-1
16
0
13
0
0
0
0
5
0
4
-10
0
15
-5
0
-1
5
1
6
0
0
0
0
0
0
0
-2
2
6
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
2
-5
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
-1
0
0
0
-1
-5
0
0
0
0
8
0
0
-1
0
-2
0
0
0
-1
1
-3
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-28
-8
0
1
0
-8
0
0
1
1
0
0
0
0
0
0
-1
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-7
0
-10
-5
0
0
2
7
-21
0
0
-9
0
-2
2
-41
-19
-11
-11
-1
-4
8
3
-10
-25
0
0
-5
0
0
3
-36
2
-4
16
-5
-2
4
8
0
5
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
2
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
2
-5
-14
-6
15
-4
5
0
0
8
-3
-29
5
-46
6
-31
57
17
-5
7
-29
5
16
0
0
12
0
-1
4
5
-4
0
-32
-3
-6
9
-5
9
5
0
0
3
0
0
0
-6
-2
-1
-8
-3
0
1
5
0
-1
0
0
3
0
0
0
4
4
0
-1
-2
0
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-5
-1
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
-7
-13
-13
0
0
-5
0
1
1
13
5
-14
-13
1
0
-1
5
2
14
0
0
1
0
1
0
-5
5
0
17
-2
-2
-1
2
0
5
0
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
-2
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
9
0
0
10
0
-2
0
-4
-12
4
7
2
0
0
2
5
-2
0
0
9
0
0
0
-9
4
0
5
-2
0
1
3
3
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-42
-2
2
-1
1
0
4
0
-9
0
0
-1
0
-1
0
1
-4
0
-1
1
0
2
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
-1
2
5
0
4
7
3
0
0
-41
4
1
0
0
-1
0
0
0
2
2
0
-6
1
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
3
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
4
0
0
-8
0
-2
6
-1
-36
-1
0
1
-1
0
9
-6
8
0
0
26
0
2
0
0
-3
0
-7
6
1
-3
4
-4
-2
0
0
0
0
0
0
0
1
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
6
0
-8
-2
8
4
-4
-5
-1
0
-3
7
0
-5
0
0
-7
0
0
0
42
0
1
-28
-1
2
-3
5
1
24
0
0
0
0
0
0
1
0
2
8
0
0
0
6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
5
-4
3
-2
3
0
0
4
5
-20
0
0
10
0
0
0
0
6
0
19
7
0
1
1
-2
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
5
0
5
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-8
4
-3
5
0
0
4
-12
0
0
8
0
4
0
-34
-10
0
-19
-1
0
0
0
-1
2
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
2
0
0
0
-12
0
0
5
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-3
-1
-2
0
-21
5
-2
0
0
-1
0
-1
-3
-3
3
-4
-10
16
-13
3
-8
1
1
0
0
0
0
0
0
0
-4
2
-4
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
9
0
0
1
1
-7
0
0
-6
0
0
0
1
-8
0
-3
-1
1
-1
2
-8
-4
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
2
0
-9
3
1
0
0
-13
0
0
1
-8
5
2
9
5
-1
0
5
4
1
0
0
0
0
0
0
0
-1
1
12
0
0
0
-2
0
-2
0
0
1
0
0
0
-2
0
0
5
1
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
-1
-1
0
-2
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-10
0
0
-6
0
7
0
-3
-15
2
-2
-2
0
0
4
4
1
0
0
0
0
0
0
0
-3
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
1
0
1
0
3
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
-6
0
0
0
0
0
-1
1
1
0
0
0
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
8
0
0
5
2
0
0
-3
5
-2
0
1
0
-9
0
0
1
0
0
0
0
0
0
1
0
0
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
-1
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-2
0
-2
0
4
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
1
-28
10
-127
-47
-125
-53
-2
0
5
-22
-4
28
12
16
-75
14
43
-18
18
0
-7
21
-131
-6
0
-8
0
0
0
0
0
0
0
0
-9
0
11
0
0
0
0
0
0
0
0
0
0
0
16
0
-34
0
42
15
-15
0
0
0
0
0
0
0
-19
-101
-43
-105
-76
-171
-13
-84
-40
-16
-31
-150
-95
-7
-13
-103
-114
84
-1
-163
-75
0
-33
-96
-141
-112
0
45
0
0
0
0
0
0
0
0
-4
0
-32
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
15
-31
-20
0
0
0
0
0
0
0
-83
-147
-145
-238
-4
-89
-41
-35
24
-26
54
-87
-43
-7
-1
-84
-153
-37
-29
-127
-29
0
-38
-64
-73
-77
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-5
-17
-35
4
-10
-9
0
0
0
22
0
5
-2
4
-1
0
5
-22
0
0
0
-9
0
0
0
0
-7
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
63
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
50
0
0
0
0
0
0
20
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
30
0
1
0
0
0
0
7
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-42
0
0
0
0
0
0
-37
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
1
-5
1
0
0
0
0
0
4
0
-5
-29
0
0
0
0
0
0
-5
1
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
-37
0
0
0
0
0
0
62
0
0
0
0
0
0
-19
2
0
0
0
0
0
0
0
7
2
0
0
17
0
0
0
0
55
-3
0
0
0
0
0
0
0
0
0
19
0
1
0
0
0
0
-52
-1
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
22
0
0
0
20
0
0
0
0
0
0
-33
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-24
4
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
17
-1
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
-87
0
0
0
0
0
0
-41
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
7
-2
0
0
2
0
0
0
0
-8
9
0
0
0
0
0
0
0
0
0
-41
0
4
0
0
0
0
-42
-8
0
5
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-84
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
5
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
50
0
0
0
79
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
2
0
2
77
0
-2
0
0
0
0
20
1
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
28
0
0
0
39
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
18
-2
0
4
0
0
0
0
0
0
-2
29
0
3
0
0
0
0
-13
53
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
-32
0
0
0
6
0
0
0
1
-2
0
-31
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
3
2
0
0
18
0
0
0
0
-15
13
1
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
24
-8
0
-1
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
8
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
-2
0
0
0
0
0
0
-28
0
0
0
-1
0
0
0
0
0
13
0
0
0
0
0
0
0
13
-9
2
4
0
0
0
0
0
9
0
0
0
4
0
0
0
0
-3
-6
29
0
32
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
23
0
0
0
-74
0
0
0
7
0
0
-66
0
0
0
0
0
-5
-26
0
-1
0
12
0
0
1
6
9
47
-1
28
-13
0
0
0
0
-63
-44
2
32
0
0
0
0
36
-5
25
-9
0
13
0
0
0
2
5
32
91
0
35
0
0
0
0
-8
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-75
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
5
0
0
1
0
0
0
0
-34
0
0
-1
0
0
0
0
0
-3
0
-15
0
0
0
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
19
0
0
0
29
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
-53
0
6
0
0
0
0
-26
-1
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
2
-35
0
0
0
-30
0
0
0
0
0
0
-5
0
0
0
0
0
1
-27
0
0
0
9
0
0
0
0
-6
-8
0
0
3
0
0
0
0
8
15
1
0
0
0
0
0
-8
-13
-6
-82
0
4
0
0
0
0
13
-1
0
0
22
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
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
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
5
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
33
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-11
0
0
0
-21
0
0
0
0
0
0
46
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
5
8
0
0
-5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
-59
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
31
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
44
0
0
0
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
9
0
-1
-49
0
0
0
0
0
0
2
3
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
57
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
33
0
0
0
0
0
0
-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
58
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
-43
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
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
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
20
0
0
0
0
0
0
-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
-44
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
1
-26
0
0
0
0
0
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-42
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-26
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-50
0
0
0
0
0
0
2
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-74
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
19
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-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
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
43
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
14
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
47
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
14
0
0
0
-46
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
37
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-24
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
24
0
0
0
0
0
0
-10
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
35
0
0
0
-57
0
0
0
0
0
0
8
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
-68
0
0
0
0
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-46
0
0
0
0
0
0
38
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-56
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
28
0
0
0
-9
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
32
0
0
0
0
0
0
31
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-27
0
0
0
0
0
0
13
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
31
0
0
0
53
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-10
0
0
0
1
0
0
0
0
0
0
-54
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
2
-58
0
0
0
0
0
0
8
13
0
0
2
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
24
0
0
0
-32
0
0
0
0
0
0
53
0
0
0
0
0
0
-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
-41
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-42
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
17
0
0
0
-47
0
0
0
0
0
0
14
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-16
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
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
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-42
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-5
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
5
0
0
0
-82
0
0
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
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
0
0
-7
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
24
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-47
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-32
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
-27
0
0
0
0
0
0
-56
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
30
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-50
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
-21
0
0
0
0
0
0
39
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
13
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-28
6
0
0
34
0
0
0
0
0
0
2
0
0
0
0
0
4
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-57
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
14
0
0
0
0
0
0
-43
0
0
0
0
0
0
-96
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-27
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
-52
0
0
0
0
0
0
52
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
-1
0
0
13
0
0
0
5
0
0
25
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
-4
0
0
36
0
0
0
0
0
0
3
0
0
0
39
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-18
0
0
0
-2
0
0
0
0
0
0
-96
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
23
0
0
0
0
0
0
-57
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-72
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-17
1
0
0
17
0
0
0
2
0
0
31
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-45
0
0
0
-2
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-17
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
-2
53
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
-5
0
-62
0
5
0
0
0
0
-3
-2
0
0
-16
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
50
0
0
0
26
0
0
0
0
0
0
-77
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
10
5
9
0
0
0
0
0
0
9
-4
-1
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-12
0
0
0
10
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
34
0
0
0
11
0
0
0
0
0
0
-54
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
24
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
5
0
0
-22
0
0
0
0
0
0
46
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
-28
0
0
0
0
0
0
-3
0
0
0
24
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-22
-7
-1
0
-4
0
0
0
6
0
8
-9
0
0
0
0
0
-1
18
-6
0
0
0
0
0
0
0
35
13
-3
2
0
0
0
0
-6
-27
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
-18
-1
0
0
2
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-37
0
0
0
-28
0
0
0
0
0
0
-88
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
17
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-50
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-14
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
-44
0
0
0
0
0
0
7
0
0
0
0
0
0
-28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
23
0
0
0
27
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
12
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
29
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
-18
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-56
22
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
-17
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
-14
0
0
0
0
0
0
99
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
2
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-4
0
0
0
0
0
0
45
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
23
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
22
0
0
0
0
0
0
31
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-5
0
0
0
0
0
0
42
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
53
0
0
0
-10
0
0
0
0
0
0
53
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-12
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-22
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
0
0
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
-31
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-11
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
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
77
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
-20
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-43
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-49
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
27
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
49
0
1
0
0
0
0
-13
-5
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
12
0
0
0
-42
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
-5
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-9
0
0
0
0
0
0
23
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
18
0
0
0
0
0
0
-32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
-80
0
0
0
0
0
0
25
0
0
0
0
0
0
-14
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
1
0
0
0
0
0
-6
0
0
27
0
0
0
0
0
0
5
71
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-9
3
0
0
0
-46
0
0
0
-1
0
0
86
0
0
0
0
0
0
-49
3
5
0
0
0
0
0
0
-5
0
0
0
22
0
0
0
0
-8
-3
0
0
0
0
0
0
-2
0
0
-10
0
3
0
0
0
0
9
-1
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
65
0
0
0
12
0
0
0
0
0
0
27
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-15
1
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
-5
27
0
0
0
1
0
0
0
0
0
0
69
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
16
0
0
0
-4
0
0
0
0
13
4
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
20
-12
0
0
37
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-23
0
0
0
-6
0
0
0
0
0
0
-35
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-3
21
0
0
0
0
0
0
-5
1
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
16
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-24
0
0
0
-15
0
0
0
0
0
0
25
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
5
-9
0
-1
0
0
0
0
-21
10
0
0
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
-45
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
22
-4
0
0
0
0
0
0
0
0
2
75
0
0
0
0
0
0
-32
-31
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
26
0
0
0
-48
0
0
0
0
0
0
50
0
0
0
0
0
1
41
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
13
-6
0
0
0
0
0
0
5
-4
-2
33
0
0
0
0
0
0
-41
-12
0
0
-9
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
41
0
0
0
0
0
0
0
18
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
41
0
0
0
13
0
0
0
0
0
0
-31
0
0
0
0
0
-8
5
0
3
0
0
0
0
0
0
18
-15
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
5
12
0
0
-46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
66
0
0
0
-58
0
0
0
0
0
0
-28
0
0
0
0
0
0
22
3
0
2
3
0
0
1
8
40
6
4
-6
0
0
0
0
10
73
12
2
-9
0
0
0
0
0
7
26
-9
0
1
0
0
0
0
-28
29
-5
0
41
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
-54
0
0
0
0
0
0
32
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-44
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-41
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
-14
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-25
0
0
0
-11
0
0
0
-10
0
0
12
0
0
0
0
0
1
-31
4
0
0
0
0
0
0
0
-2
2
0
0
-2
0
0
0
0
-6
-4
2
0
0
0
0
0
-1
0
-3
31
0
4
0
0
0
0
-13
15
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
15
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
7
0
0
0
0
0
0
15
0
0
0
0
0
0
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
18
0
0
0
0
0
0
4
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
-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
-45
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
24
0
0
0
0
0
0
28
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
36
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
9
0
0
0
0
0
0
-37
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-30
0
0
0
-30
0
0
0
0
0
0
-7
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
6
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-14
0
0
0
0
0
0
-15
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
-7
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-8
0
0
0
0
0
0
44
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-9
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
0
0
33
0
1
0
0
0
0
20
6
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
-27
0
0
0
0
0
0
-25
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-8
0
0
0
8
0
0
0
0
0
0
34
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
4
-15
0
0
0
0
0
0
8
0
3
-40
0
8
0
0
0
0
-28
-2
0
0
41
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-26
0
0
0
0
0
0
47
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
34
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
38
0
0
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
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-20
0
0
0
0
0
0
60
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-32
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-20
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
25
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-35
0
0
0
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
52
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
-24
0
0
0
0
0
0
25
0
0
0
0
0
0
-8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
49
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
85
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
-19
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-37
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
-15
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
18
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
19
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
24
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
34
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
37
0
0
0
-10
0
0
0
0
0
0
-10
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
7
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
61
0
0
0
18
0
0
0
0
0
0
87
0
0
0
0
0
0
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
39
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-23
0
0
0
34
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
35
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-25
0
0
0
0
0
0
64
0
0
0
25
0
0
0
0
0
0
24
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
43
0
0
0
-7
0
0
0
0
0
0
-24
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
9
12
0
0
-2
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-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
44
0
0
0
0
0
0
0
0
0
0
-27
0
0
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
0
0
0
0
0
0
75
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
56
0
0
0
20
0
0
0
0
0
0
11
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-24
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
3
3
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
106
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
36
0
0
0
20
0
0
0
0
0
0
42
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
-8
0
0
0
0
0
0
22
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-26
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
3
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-16
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
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
32
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-44
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
18
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
-9
0
0
0
0
0
0
0
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
11
0
0
0
0
0
0
0
32
0
28
0
0
0
0
0
0
14
0
0
0
13
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-16
0
0
-25
0
0
0
0
0
-1
26
7
0
0
0
0
0
0
0
3
59
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
-10
0
-6
4
0
0
0
0
0
0
-25
0
0
0
-9
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
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
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
31
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
2
0
0
0
0
0
0
0
45
0
0
0
0
0
0
12
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
22
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-3
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
-1
-35
0
0
0
0
0
0
13
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
3
21
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
46
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
11
-13
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-7
-6
0
0
-25
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-8
13
0
0
0
0
0
0
-32
-3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
44
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-33
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-26
12
0
0
0
0
0
0
0
0
-3
21
0
0
0
0
0
0
-5
-1
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-32
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
12
0
0
0
-27
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-13
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
6
0
0
0
4
0
0
-3
0
0
0
0
0
0
47
-4
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-55
7
0
2
0
0
0
0
-10
0
0
-25
0
0
0
0
0
0
-45
0
0
0
12
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
29
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
27
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-70
0
0
0
0
0
0
-1
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
-44
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
-25
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
3
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
0
0
0
-59
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
17
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-8
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-27
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
31
0
0
0
-30
0
0
0
0
0
0
-13
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
39
0
0
0
-5
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
34
0
0
0
-8
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
0
13
0
-11
0
0
0
8
0
0
-11
0
0
0
0
0
0
-40
13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
0
7
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-24
0
0
0
-20
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
68
0
0
0
-13
0
0
0
0
0
0
-25
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-29
0
0
0
-39
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
15
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
11
0
0
0
0
0
0
61
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-95
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
4
-36
0
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
-89
5
0
0
0
0
0
0
0
0
0
10
0
15
0
0
0
0
-18
0
0
0
27
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
19
0
0
0
10
0
0
0
-3
0
0
3
0
0
0
0
0
0
27
-5
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
-11
4
0
-2
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-15
1
0
0
20
0
0
0
0
0
0
-105
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
2
0
0
0
-13
0
0
0
-16
5
3
-32
0
0
0
0
0
0
7
3
16
0
0
0
0
0
7
7
54
7
0
-4
0
0
0
0
-10
-13
10
0
0
0
0
0
-5
-1
1
24
0
0
0
0
0
0
-38
-1
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
16
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
76
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
12
0
0
0
14
0
0
0
0
0
0
30
0
0
0
0
0
0
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
3
0
0
0
33
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-26
0
0
0
26
0
0
0
0
0
0
30
0
0
0
0
0
-1
-7
-2
12
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
46
5
0
0
0
0
0
0
-5
0
2
13
0
0
0
0
0
0
18
0
0
0
26
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-7
0
0
0
8
0
0
0
0
0
0
36
0
0
0
0
0
-4
1
7
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
2
0
10
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
13
0
0
0
4
0
0
0
0
0
0
55
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
-9
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-34
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
6
0
0
0
-12
0
0
0
0
0
0
-39
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-14
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
58
-8
8
0
0
0
0
0
0
-4
15
21
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-5
0
0
-30
0
0
0
0
0
0
5
2
0
0
18
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-54
0
0
0
-16
0
0
0
0
0
0
22
0
0
0
0
0
9
3
5
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
41
10
0
0
8
0
0
0
0
0
-1
28
0
0
0
0
0
0
-48
-3
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
23
0
0
0
-14
0
0
0
16
-9
0
18
0
0
0
0
0
3
55
17
0
0
0
0
0
0
-3
27
-7
0
5
-5
0
0
0
0
36
16
0
0
0
0
0
0
-10
0
0
-9
0
0
0
0
0
0
32
-17
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
-39
0
0
0
0
0
0
27
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
50
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
22
0
0
0
0
0
0
53
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
-6
0
0
6
0
5
0
0
0
0
-4
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
40
0
0
0
-14
0
0
0
8
3
0
7
0
0
0
0
0
-8
-41
6
-5
0
0
0
0
0
0
-10
-8
0
0
0
0
0
0
0
-16
9
0
0
0
0
0
0
0
0
13
0
0
-8
0
0
0
0
-76
-16
0
0
22
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
40
0
0
0
-24
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
17
-6
0
0
0
0
0
0
0
-16
-31
0
3
0
0
0
0
2
1
0
-10
0
0
0
0
0
0
-68
34
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-47
0
0
0
-3
0
0
0
2
0
0
7
0
0
0
0
0
0
27
-8
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-56
13
0
0
0
0
0
0
0
0
-5
-6
0
0
0
0
0
0
-58
2
0
0
14
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-19
0
0
0
3
0
0
0
0
0
0
55
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
-1
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-99
0
0
0
0
0
0
10
0
0
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
8
21
0
0
0
0
0
0
-4
-38
-6
0
0
0
0
0
0
-1
0
-8
41
0
0
0
0
0
0
-13
0
0
0
24
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
2
-48
0
0
0
-1
0
0
0
-17
8
0
11
0
0
0
0
0
0
-11
-4
0
0
0
0
0
0
0
-13
2
0
0
0
0
0
0
-5
-5
32
0
0
0
0
0
0
-4
0
0
-16
0
-5
0
0
0
0
6
-28
0
0
13
0
0
0
0
0
-13
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-33
0
0
0
0
0
0
-19
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
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
32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-58
0
0
0
0
0
0
32
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
-11
0
0
0
0
0
0
30
0
0
0
0
0
0
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-59
0
0
0
0
0
0
48
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
1
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-2
0
0
0
0
0
0
-28
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
9
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
88
0
0
0
0
0
0
-30
0
0
0
-1
0
0
0
0
0
0
30
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-80
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
0
0
0
28
0
0
0
0
0
0
-39
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-46
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
66
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
30
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
-39
0
0
0
0
0
0
12
0
0
0
0
0
7
-18
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-25
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-52
0
0
0
0
0
0
-56
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
31
0
0
0
0
0
0
-47
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-30
0
0
0
18
0
0
0
0
0
0
-21
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
12
-32
0
0
0
0
0
0
0
0
0
5
50
0
0
0
0
0
0
5
0
0
0
-20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-41
0
0
0
-9
0
0
0
0
0
0
-50
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-31
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-23
0
0
0
-15
0
0
0
0
0
-1
-22
0
0
0
0
0
0
-57
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
-63
0
-5
0
0
0
0
-1
7
0
0
5
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-68
0
0
0
18
0
0
0
0
0
0
-15
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
8
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
-2
7
0
0
0
0
0
0
3
5
0
0
-25
0
0
0
0
0
0
14
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
8
0
0
5
0
0
0
0
-9
0
0
0
-10
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
16
0
0
0
16
0
0
0
0
0
0
26
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
-51
0
0
0
0
0
0
31
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-36
0
0
0
0
0
0
-42
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-51
0
0
0
0
0
0
13
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
-10
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-6
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-5
0
0
0
-36
0
0
0
0
0
0
-6
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
13
-15
0
0
0
0
0
0
-10
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-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
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-13
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
67
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-4
0
0
0
0
0
-2
-14
0
0
0
-13
0
0
0
0
0
22
-23
0
0
0
0
0
2
-45
-8
0
0
0
0
0
0
0
0
-24
3
0
0
0
0
0
3
49
-9
17
0
0
0
0
0
0
-1
0
1
0
25
0
0
0
-27
-36
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
9
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
0
0
21
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-10
0
0
0
0
0
0
68
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
14
0
0
0
27
0
0
0
8
0
0
-57
0
0
0
0
0
-10
-33
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
12
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
4
54
0
0
0
0
0
-5
-33
0
0
0
0
0
0
0
5
-28
0
54
0
0
0
0
0
-6
48
29
0
0
0
0
0
0
0
6
21
3
0
0
0
0
0
-7
13
0
0
0
0
0
0
0
2
1
0
2
0
8
0
0
0
0
27
0
0
0
20
0
0
0
0
0
0
-32
0
0
0
0
0
0
-5
12
-103
0
0
0
0
0
-9
4
15
0
0
12
0
0
0
0
-11
3
0
0
0
0
0
0
6
-11
-2
-6
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
10
-86
-2
-26
0
0
0
0
0
-27
5
0
5
0
0
0
0
0
14
12
7
4
0
-2
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
29
0
0
0
-12
0
0
0
0
0
0
-36
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-76
13
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-31
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-6
0
0
0
-14
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-36
0
0
0
-10
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
46
0
0
0
0
0
0
-7
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
48
0
0
0
0
0
0
28
15
0
0
-5
0
0
0
13
0
-1
38
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-51
0
1
0
0
0
0
-43
0
0
0
23
0
0
0
0
0
0
16
0
0
0
0
0
0
4
43
-23
0
0
0
0
0
58
68
-4
0
0
18
0
0
0
72
40
56
15
0
-2
0
0
0
32
4
0
0
0
0
0
0
0
-7
-11
29
23
6
0
0
0
0
9
46
-20
0
0
0
0
0
0
-20
-21
-4
13
-17
7
0
0
5
-5
39
-42
17
0
25
0
0
0
0
0
0
-36
0
0
0
0
0
0
-6
-5
-32
0
0
0
0
0
-8
-39
-60
0
0
4
0
0
0
25
25
93
35
0
3
0
0
0
-53
10
-28
0
0
13
0
0
0
-12
-5
-14
13
-7
0
0
0
0
20
-32
49
0
0
27
0
0
-8
-2
-26
5
2
6
23
0
0
-4
14
-7
-5
0
0
21
0
0
0
2
0
0
-20
0
0
0
0
0
0
15
66
33
0
0
0
0
0
21
-65
1
0
0
16
0
0
0
0
0
32
-22
0
0
0
0
0
0
-18
-40
0
0
27
0
0
0
-3
-43
49
5
0
0
0
0
0
5
-50
8
10
0
0
0
0
0
15
-5
2
-1
0
-2
0
0
0
-1
-84
-4
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
29
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-48
0
0
0
0
0
0
157
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
2
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
28
1
0
0
-4
0
0
0
0
0
0
15
0
0
0
0
0
5
27
-7
0
0
0
0
0
0
-20
0
5
0
0
0
0
0
0
4
13
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-48
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-11
-18
0
0
0
0
0
0
-21
25
0
0
13
0
0
0
47
-1
27
51
0
-22
0
0
0
-47
3
45
10
0
20
0
0
1
-31
-47
0
9
-23
0
0
0
0
2
-23
-45
-7
-4
-3
0
0
0
-2
12
5
20
1
-27
0
0
0
-36
-6
34
0
13
25
0
0
-5
3
0
0
-39
0
0
0
0
0
0
5
-43
-4
0
0
0
0
0
22
-27
4
0
0
13
0
0
0
5
-27
27
-11
0
-5
0
0
0
-13
-5
-5
47
2
0
0
0
0
-1
45
9
0
0
3
0
0
0
44
-8
-29
17
58
0
0
0
0
10
-28
13
1
0
88
0
0
0
-55
-20
-66
-14
-8
1
0
0
0
-25
5
0
-32
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
5
0
0
0
-41
0
0
0
0
0
0
-46
0
4
0
0
0
0
-8
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-3
0
0
-31
0
0
0
0
0
0
-48
0
0
0
-36
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-54
0
0
0
0
0
0
-11
0
0
0
0
0
0
-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
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
-17
0
0
0
0
0
0
-78
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
9
10
42
0
0
0
0
0
0
-30
15
0
0
-10
0
0
0
0
0
29
-3
0
0
0
0
0
2
27
-37
0
0
0
0
0
0
-2
14
-16
2
0
0
0
0
0
-6
0
4
0
0
0
0
0
0
2
0
0
23
0
4
0
0
0
9
8
4
-5
0
-42
0
0
0
0
0
0
-11
0
0
0
0
0
2
-15
-21
-52
0
0
0
0
0
44
23
72
0
0
4
0
0
0
-8
-9
-3
11
0
-27
0
0
0
8
36
5
-6
0
-13
0
0
0
-17
25
12
-3
-13
0
0
0
0
24
9
0
0
0
24
0
0
0
-20
-6
-14
18
0
-16
0
0
1
-18
-6
1
3
1
5
0
0
0
-5
0
0
-114
0
0
0
0
0
9
6
-5
0
0
0
0
0
0
0
-41
61
0
0
5
0
0
0
-41
-4
48
30
0
3
0
0
0
-1
2
15
0
13
12
0
0
0
2
18
-9
20
0
0
0
0
0
-1
-80
5
0
0
34
0
0
0
-6
-40
-39
18
0
-13
0
0
0
6
-79
-16
3
0
-10
0
0
0
0
0
0
-31
0
0
0
0
0
11
14
71
-30
0
0
0
0
0
14
10
-29
0
0
2
0
0
0
69
-5
49
-8
0
-3
0
0
0
-6
2
2
-9
-1
-13
0
0
0
12
-32
-40
-8
-2
2
0
0
0
7
-65
6
28
0
6
0
0
0
8
-31
-3
-41
0
10
0
0
0
7
0
-6
0
0
-2
0
0
-34
-7
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
35
0
0
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
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
-36
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
74
-17
0
0
-20
0
0
0
0
8
0
49
0
17
0
0
0
0
-37
42
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-41
0
3
0
-24
0
0
0
0
0
0
46
0
0
0
0
0
0
5
10
-7
0
0
0
0
0
-35
29
-23
0
0
25
0
0
0
0
10
10
30
0
21
0
0
0
-5
11
-23
7
0
0
0
0
0
0
40
-5
4
-2
1
0
0
0
13
11
12
8
-16
0
0
0
0
1
-31
0
14
0
49
0
0
0
0
-19
1
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
-22
30
48
-26
0
0
0
0
0
51
9
-39
17
0
9
0
0
0
-7
34
44
3
0
33
0
0
0
-29
-6
53
12
5
-3
0
0
0
-10
-72
20
-41
0
-2
0
0
0
-4
-11
24
9
15
0
0
0
0
-32
-16
5
0
0
-5
0
0
0
-46
18
-37
-19
0
4
0
0
0
0
0
3
-37
17
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-17
0
0
0
-8
0
0
0
-11
0
-2
-9
0
0
0
0
0
-15
-17
-6
0
0
7
0
0
0
0
17
-6
0
0
0
0
0
0
10
-42
-34
-9
2
0
0
0
0
-14
-3
-22
-1
0
-16
0
0
0
0
-35
30
4
0
-5
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
34
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
13
-4
0
0
0
0
0
0
-8
-82
0
0
0
0
0
0
0
-4
11
4
-44
0
0
0
0
0
0
64
-7
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
28
0
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
25
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
10
0
0
0
0
0
2
-4
17
0
0
-31
0
0
0
0
0
0
55
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
9
0
5
0
0
0
-51
0
0
0
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
11
-28
0
0
0
0
0
16
45
-41
0
0
1
0
0
0
2
15
1
19
0
0
0
0
0
9
-4
-8
0
0
0
0
0
0
0
-53
15
-2
0
0
0
0
0
-49
20
41
0
7
0
0
0
0
0
-51
6
-34
0
0
0
0
0
0
-8
0
0
4
14
0
0
0
0
0
0
19
0
0
0
0
0
4
0
-2
14
0
0
0
0
0
1
16
21
0
0
17
0
0
0
5
0
7
9
0
29
0
0
0
-11
-29
-15
0
0
6
0
0
0
-22
-61
25
-2
0
0
0
0
0
15
-21
-13
0
0
0
0
0
0
40
10
6
5
0
-5
0
0
0
-4
3
16
0
0
-2
0
0
0
-6
0
0
-22
0
0
0
0
0
0
4
-23
-23
0
0
0
0
0
-12
-28
-40
0
0
6
0
0
0
-8
1
46
16
0
-3
0
0
0
-26
-5
-29
21
0
0
0
0
0
5
17
3
-3
0
0
0
0
0
-41
-18
-15
48
4
21
0
0
0
11
35
-19
-29
0
8
0
0
0
-8
-39
-20
0
0
2
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
46
0
0
0
-38
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-51
0
0
0
0
0
0
-13
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
34
0
0
0
4
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
-11
2
0
0
39
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-7
0
0
0
-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
0
-51
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-30
-3
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
-1
0
0
36
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
5
-14
0
61
0
0
0
0
0
0
29
4
0
0
0
0
0
0
0
56
-8
-9
0
0
0
0
0
0
11
-2
0
2
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
105
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
8
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
9
0
0
0
-20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
-20
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
28
10
0
0
0
0
0
-4
-64
28
0
0
0
0
0
0
5
2
20
34
0
0
0
0
0
-14
33
0
0
0
0
0
0
0
0
-5
57
10
0
0
0
0
0
0
27
3
32
-15
0
0
0
0
-5
25
-4
20
0
0
0
0
0
0
19
9
0
0
20
0
0
0
0
0
0
21
0
0
0
0
0
44
12
54
-7
0
0
0
0
0
-6
13
12
-20
0
0
0
0
0
20
12
5
23
3
0
0
0
0
14
-27
4
0
3
-25
0
0
0
-15
25
22
-57
0
5
0
0
0
-41
32
-24
2
13
-24
0
0
0
-27
-14
10
0
0
0
0
0
0
-1
37
-13
18
0
26
0
0
0
9
0
28
-65
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-2
0
0
-7
0
0
0
0
0
-2
42
25
3
0
24
0
0
0
0
9
-10
5
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-8
-9
7
-19
0
0
0
0
0
1
-93
0
0
0
-47
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
35
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
4
5
8
43
0
0
0
0
0
13
56
-34
0
0
0
0
0
0
-7
15
24
54
-6
0
0
0
0
18
-33
23
25
0
1
0
0
0
-8
-15
0
-5
0
0
0
0
0
16
-166
9
84
31
0
0
0
0
6
-6
0
-5
0
0
0
0
0
0
47
-2
0
0
8
0
0
0
0
0
0
39
0
0
0
0
0
0
0
30
20
0
0
0
0
0
8
-15
-30
0
0
0
0
0
0
1
3
2
-3
0
0
0
0
0
11
62
-35
1
0
0
0
0
0
-5
-86
30
0
0
-1
0
0
0
0
22
26
0
5
0
0
0
0
-5
32
43
26
0
0
0
0
0
-1
-89
11
13
0
12
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
5
-28
0
5
0
0
0
0
0
0
-4
0
-32
0
0
0
0
0
0
28
-16
0
0
-36
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-12
9
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
6
15
-65
0
0
0
0
0
0
2
-19
13
33
0
0
0
0
0
-1
98
-9
5
0
0
0
0
0
0
-9
8
0
0
0
0
0
0
-13
35
0
0
75
0
0
0
0
-8
0
26
-14
0
0
0
0
0
2
-1
16
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
-2
-27
0
0
0
0
0
0
-28
-15
-4
0
0
0
0
0
21
-19
87
15
0
0
0
0
0
-4
37
31
-13
0
0
0
0
0
-4
84
23
-38
0
0
0
0
0
2
-5
34
0
33
-8
0
0
0
-7
25
22
46
0
0
0
0
0
5
-30
61
-21
0
12
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
9
6
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
-3
5
-12
-20
0
0
0
0
0
0
-21
30
5
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
44
-23
0
0
0
0
0
0
2
8
0
-4
0
0
0
0
0
-5
51
-11
0
0
19
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
4
0
0
0
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-50
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
2
57
0
0
0
0
0
0
75
-1
0
0
0
0
0
0
0
-23
2
4
0
0
0
0
0
0
5
-29
3
0
0
0
0
0
-5
0
0
-16
0
0
0
0
0
0
9
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
-29
58
83
-20
0
0
0
0
0
-5
-12
-10
0
0
0
0
0
0
-13
-9
65
0
1
0
0
0
0
-1
-14
33
-20
0
0
0
0
0
-4
34
-18
8
0
1
0
0
0
6
-11
-15
-7
41
0
0
0
0
6
8
-23
0
0
-6
0
0
0
-5
6
-41
0
0
-10
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-46
0
0
0
0
0
0
-13
0
0
-4
14
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
55
-32
0
0
0
0
0
0
43
-20
13
0
8
0
0
0
0
-4
2
-18
20
0
0
0
0
0
0
49
16
0
0
-34
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-31
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
13
-5
0
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
15
14
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
3
15
0
0
0
49
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
-11
-12
0
0
0
0
0
0
1
-6
-2
11
0
0
0
0
0
-2
39
-1
0
0
0
0
0
0
2
31
-23
-28
0
0
0
0
0
-58
-10
2
42
0
0
0
0
0
8
14
16
17
0
0
0
0
0
0
81
-11
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
32
39
0
0
0
0
0
2
-14
-7
0
0
0
0
0
0
-3
3
-2
-13
0
0
0
0
0
2
28
6
0
0
17
0
0
0
0
7
-5
1
0
0
0
0
0
-1
-46
39
0
27
0
0
0
0
5
-5
0
19
0
1
0
0
0
4
-5
6
0
0
20
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-30
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-8
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-2
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-13
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
-3
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
-45
0
0
0
0
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
10
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
9
0
0
0
0
0
0
-30
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-8
0
0
22
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
20
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
15
0
0
0
40
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
12
6
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
23
0
0
0
-60
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-9
4
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-16
0
0
0
0
0
0
41
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
1
8
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
13
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
25
0
4
0
0
0
0
-6
0
-3
-27
0
0
0
0
0
0
-33
10
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
26
0
0
0
0
0
0
-38
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
-83
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
14
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-7
0
0
0
-20
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
10
25
0
0
32
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
60
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-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
26
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-18
0
0
0
0
0
0
95
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
-2
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
-2
0
0
0
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
40
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
15
0
0
0
0
0
0
11
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-15
0
0
0
52
0
0
0
0
0
0
64
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
8
24
5
0
0
0
0
0
-1
0
-4
11
0
0
0
0
0
0
-34
-3
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
73
0
2
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
23
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
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
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
41
0
0
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
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-20
21
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-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
19
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-32
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
13
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-10
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
7
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
81
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
34
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
59
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-65
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
7
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
14
0
0
0
-12
0
0
0
0
0
0
33
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
46
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
-4
0
0
0
0
0
0
79
0
0
0
0
0
0
-22
0
0
0
0
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
0
0
0
0
0
0
5
9
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-10
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
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
0
0
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
9
0
0
0
0
0
0
65
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
0
0
-41
0
0
0
0
0
0
33
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
-16
0
0
0
0
0
0
30
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
0
0
0
-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
11
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
25
0
0
0
-16
0
0
0
0
0
0
45
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
5
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
17
4
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
0
0
0
-17
0
0
0
0
0
0
67
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
9
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-48
0
0
0
0
0
0
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
36
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-31
0
0
0
17
0
0
0
0
0
0
39
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
6
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
17
0
0
0
-6
0
0
0
0
0
0
31
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
-8
0
0
0
0
0
0
-59
0
0
0
0
0
0
-31
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
14
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
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
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
5
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
7
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
29
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
4
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
19
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-60
0
0
0
13
0
0
0
0
0
0
-37
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
46
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
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
0
0
0
0
0
0
-8
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
35
0
0
0
0
0
0
27
0
0
0
0
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
0
0
0
0
0
0
9
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
58
0
0
0
25
0
0
0
0
0
0
47
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-8
0
0
0
36
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-16
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
23
0
0
0
0
0
0
54
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
9
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
13
0
0
0
-17
0
0
0
0
0
0
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-54
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
-16
0
0
-10
0
0
0
0
0
0
44
0
0
0
0
0
0
-47
-5
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
25
1
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
-48
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
78
-8
0
0
-6
0
0
0
0
0
0
34
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
-25
0
0
0
0
0
0
58
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-2
0
0
0
0
0
0
0
0
1
63
0
0
0
0
0
0
33
-4
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
9
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
51
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-24
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
-47
0
0
0
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-12
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-34
0
0
0
-4
0
0
0
0
0
0
-23
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
23
0
0
0
-24
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-44
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-99
0
0
0
7
0
0
0
0
0
0
-30
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-4
0
0
0
19
0
0
0
0
0
0
-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
0
0
0
-17
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
23
0
0
0
5
0
0
0
-5
0
0
-1
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
-38
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-22
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
110
0
0
0
-34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
8
0
0
0
10
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
13
0
0
0
46
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-55
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-38
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
-10
0
0
14
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-6
5
5
0
0
0
0
0
32
0
-1
-16
0
0
0
0
0
0
-16
2
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
10
0
0
0
59
0
0
0
0
0
0
14
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-34
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
-65
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-17
0
0
0
15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
-37
0
-4
0
-31
0
0
0
0
0
0
16
0
0
0
0
0
0
30
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
53
-2
0
0
43
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
35
0
0
0
-16
0
0
0
0
0
0
18
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-18
0
0
0
38
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
19
0
0
0
0
0
0
53
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
22
0
0
0
43
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-7
0
0
0
-18
0
0
0
-2
0
0
-13
0
0
0
0
0
0
-36
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
5
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
19
22
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-12
-2
0
0
-13
0
0
0
0
3
0
23
0
0
0
0
0
0
10
0
5
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
38
13
-3
0
0
0
0
0
7
0
0
-13
0
0
0
0
0
0
-66
10
0
0
6
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
35
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-21
0
0
0
-17
0
0
0
0
0
0
17
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
39
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
4
8
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-24
0
0
0
-14
0
0
0
0
0
0
16
0
0
0
0
0
0
2
-4
6
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
3
-66
-11
-7
5
0
0
0
0
-7
1
6
14
0
0
0
0
0
0
-115
-11
0
0
26
0
0
0
0
-4
0
-8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-57
0
0
0
-9
0
0
0
0
0
0
35
0
0
0
0
0
0
-127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-11
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
47
0
0
0
10
0
0
0
0
0
0
19
0
0
0
0
0
0
-16
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
0
9
0
0
0
12
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-24
0
0
0
-12
0
0
0
0
0
0
15
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-5
-10
0
0
0
0
0
0
9
5
0
-7
0
0
0
0
0
0
-22
0
0
0
29
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-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
0
-73
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-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
0
-14
0
0
0
0
0
0
31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-13
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-17
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
3
0
0
0
-12
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-26
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
7
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-2
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
22
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
54
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
16
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-50
0
0
0
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
32
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-13
9
0
13
0
0
0
0
-5
0
3
6
0
0
0
0
0
0
-13
18
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
45
0
0
0
4
0
0
0
0
0
0
-46
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
34
0
0
0
0
0
0
-24
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
15
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-32
-4
0
0
-13
0
0
0
-3
0
0
6
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
20
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
43
0
0
0
-23
0
0
0
0
0
0
-17
0
0
0
0
0
0
-12
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
41
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
31
0
0
-5
0
0
0
0
8
0
24
0
0
0
0
0
0
-31
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-47
0
0
0
29
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
-17
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
109
11
0
0
-21
0
0
0
0
14
4
11
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
12
-5
0
0
13
0
0
0
8
37
0
0
0
0
0
0
0
3
0
-18
35
0
0
0
0
0
0
22
0
0
0
35
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-7
9
0
0
14
0
0
0
0
5
0
-1
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
12
8
15
0
0
0
0
0
2
-28
2
0
0
0
0
0
0
-10
13
1
-3
0
0
0
0
0
1
-49
5
0
0
5
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-81
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
-20
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
35
0
0
0
-22
0
0
0
0
0
0
-24
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
8
0
0
33
0
0
0
0
0
0
-25
0
-2
0
0
0
0
69
43
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
5
41
0
-5
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-7
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
19
0
0
0
0
1
0
1
0
0
0
0
0
0
-12
-31
-7
0
0
0
0
0
0
4
-27
0
0
0
0
0
0
-4
10
-1
0
0
0
0
0
0
1
0
1
7
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-13
0
0
0
-18
0
0
0
0
0
0
-90
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-84
0
0
0
0
0
0
7
0
0
0
-42
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
57
1
0
0
-36
0
0
0
0
0
0
16
0
0
0
0
0
0
14
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
1
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
11
13
0
0
18
0
0
0
0
0
0
9
0
0
0
0
0
0
12
-21
0
0
0
0
0
0
0
-39
-8
0
0
0
0
0
0
0
-91
0
0
0
0
0
0
0
0
0
0
37
0
-4
0
0
0
0
-69
0
0
0
6
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
9
3
0
0
21
0
0
0
0
-14
0
-72
0
0
0
0
0
0
-34
1
-5
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-26
-25
0
0
-12
0
0
0
0
0
0
10
0
0
0
0
0
0
-22
8
0
0
-6
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
-2
0
0
18
0
0
0
-1
0
0
-70
0
0
0
0
0
13
4
3
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-31
0
-3
0
0
0
0
0
0
0
0
-17
0
6
0
0
0
0
-10
8
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-81
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-30
0
0
0
-19
0
0
0
0
0
0
63
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
8
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
49
9
0
0
28
0
0
0
0
0
0
-53
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-14
0
0
0
-19
0
0
0
0
0
0
-26
0
0
0
0
0
-15
3
0
14
0
0
0
0
0
3
-7
22
0
0
0
0
0
0
-7
30
-5
-2
0
-10
0
0
0
-9
17
1
-14
0
0
0
0
0
3
5
5
2
0
8
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
6
0
0
13
0
0
0
0
50
-9
0
0
7
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
6
0
0
0
5
0
0
0
0
4
0
-103
0
0
0
0
0
0
-13
-2
0
0
0
0
0
0
0
-3
-2
0
0
-5
0
0
0
-5
2
58
-5
-2
0
0
0
0
-5
1
0
-4
0
0
0
0
0
0
-63
-51
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
10
0
0
0
0
0
0
-51
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-10
0
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
51
0
0
0
-64
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
74
-15
0
0
-10
0
0
0
0
7
0
8
0
0
0
0
0
0
-94
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
9
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
58
0
0
0
30
0
0
0
0
0
0
-17
0
0
0
0
0
0
-36
0
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-54
-5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
-10
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
86
0
0
0
0
0
0
-1
70
0
0
-2
0
0
0
0
0
0
-72
0
0
0
0
0
7
39
2
0
0
0
0
0
0
0
22
8
0
0
23
0
0
0
0
-13
29
0
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
-54
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
-45
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
18
0
0
0
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-10
0
0
0
-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
50
0
0
0
0
0
0
-95
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
3
0
0
0
-63
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
118
0
0
0
-48
0
0
0
0
0
0
33
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
6
0
0
8
0
0
0
0
0
0
25
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
27
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-31
62
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
8
0
0
0
0
0
0
-6
0
5
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
0
0
-46
0
1
0
0
0
0
-56
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
23
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-45
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
50
15
0
0
-55
0
0
0
2
-1
5
38
0
0
0
0
0
4
32
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-64
2
0
0
0
0
0
0
0
7
5
39
0
0
0
0
0
0
84
0
0
0
70
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
9
0
0
-12
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
8
0
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
8
0
0
0
29
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
44
0
0
0
-25
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
3
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
9
2
0
0
-32
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-10
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
20
0
0
0
10
0
0
0
0
0
3
-45
0
0
0
0
0
0
-99
4
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
3
4
19
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
18
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
24
-1
0
0
12
0
0
0
0
0
12
-86
0
0
0
0
0
0
-13
8
2
0
0
0
0
0
0
-14
-2
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
0
38
0
-2
0
0
0
0
26
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-36
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
-16
0
0
0
0
0
0
-9
0
0
0
0
0
0
50
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
24
0
0
0
47
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
3
-31
0
0
0
0
0
0
46
1
0
0
0
0
0
0
0
5
5
0
0
0
0
0
0
-1
-38
-14
0
0
0
0
0
0
0
0
0
21
0
20
0
0
0
0
-57
0
0
0
18
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-24
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-15
-10
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-50
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
3
-13
0
0
-28
0
0
0
2
0
0
-75
0
0
0
0
0
0
-28
-1
1
0
0
0
0
0
0
11
13
-2
0
0
0
0
0
0
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
-17
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-73
0
0
0
-53
0
0
0
0
0
0
-62
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
-21
7
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
21
7
0
0
-11
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-51
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
23
0
0
0
-7
0
0
0
0
0
0
-88
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
11
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
19
0
0
0
24
0
0
0
0
0
0
-21
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
79
0
0
0
-13
0
0
0
0
0
0
-47
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
-25
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
38
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
18
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-23
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-28
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
23
0
0
0
0
0
0
27
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
5
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
-24
0
0
0
0
0
0
58
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
9
-1
0
0
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
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
41
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-7
0
0
0
132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
58
0
0
0
0
0
0
-18
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-23
-1
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
50
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
25
0
0
0
0
0
0
0
0
0
20
0
-2
0
0
0
0
-1
5
0
0
47
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
19
10
0
-7
0
0
0
0
5
0
0
30
0
0
0
0
0
0
-5
9
0
0
66
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-9
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
58
0
0
0
-10
0
0
0
0
0
0
110
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
-4
0
0
54
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-22
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
25
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
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
37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
19
0
0
0
2
0
0
0
0
0
0
93
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-7
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
21
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
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
-28
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-45
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
50
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
103
0
0
0
0
0
0
-14
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
4
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
50
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
-6
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-31
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
139
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-52
0
0
0
0
0
0
49
0
0
0
0
0
0
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
12
0
0
0
0
0
0
26
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
64
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
34
0
0
0
0
0
0
36
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
0
0
0
0
0
0
0
0
0
0
112
0
0
0
0
0
0
2
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-26
0
0
0
0
0
0
101
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
2
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
11
0
0
0
-36
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
0
0
-40
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-12
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-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
-84
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
14
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
19
0
0
0
-66
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
73
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
5
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
16
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
16
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
37
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
62
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-4
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-45
0
0
0
19
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
28
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
28
0
0
0
0
0
-4
-23
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
15
0
-1
0
0
0
0
3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
14
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
10
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
0
-7
-25
0
0
0
0
0
0
1
0
-4
-21
0
0
0
0
0
0
12
-26
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-24
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-24
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-31
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
2
0
0
-10
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-48
0
0
0
0
0
0
34
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-72
0
0
0
0
0
0
-18
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
-3
0
0
-37
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-3
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
12
0
0
0
-17
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
92
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-10
0
0
0
0
0
0
-30
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-4
0
0
0
0
0
0
-29
0
0
0
0
0
0
-98
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
0
0
4
0
0
0
0
0
7
-23
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-41
0
0
0
16
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-17
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
-30
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
19
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-9
0
0
0
0
0
0
77
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
9
0
0
0
-39
0
0
0
1
0
0
-33
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
4
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
41
0
0
0
-31
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
13
0
0
0
0
0
0
99
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
3
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-23
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-5
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
4
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-76
0
0
0
0
0
0
4
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
1
0
0
0
0
0
0
71
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
8
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
62
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
15
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-43
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
-59
0
0
0
0
0
0
3
0
0
0
0
0
0
-54
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
36
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
29
-2
0
0
-54
0
0
0
0
0
0
-22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-9
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
47
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
6
0
0
0
-19
0
0
0
0
0
0
-39
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
31
0
0
0
-20
0
0
0
0
0
0
-51
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-64
0
0
0
-44
0
0
0
0
0
0
-4
0
0
0
0
0
0
73
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
31
0
0
0
0
0
0
1
2
7
7
0
0
0
0
0
0
-5
-16
0
0
15
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-41
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-57
0
0
0
0
0
0
51
0
0
0
0
0
0
-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
0
0
0
18
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
0
0
-14
0
0
0
0
0
0
-80
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-18
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
7
0
0
0
-25
0
0
0
0
0
0
17
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
1
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-31
0
0
0
37
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
47
0
0
0
0
0
0
22
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-18
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-29
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
9
0
0
0
-22
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
44
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
21
0
0
0
17
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-24
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-24
0
0
0
89
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-32
0
0
0
-23
0
0
0
0
0
0
-28
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
26
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
43
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
-15
0
0
0
0
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-10
0
0
0
-12
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
41
0
0
0
-66
0
0
0
0
0
0
36
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
2
2
0
0
-25
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-91
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
67
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
29
0
0
0
11
0
0
0
0
0
0
-50
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-26
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-13
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
-38
0
0
0
0
0
0
23
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
32
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
0
0
0
30
0
0
0
0
0
0
-52
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-67
0
0
0
0
0
0
-58
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-42
0
0
0
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-22
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
20
0
0
0
-22
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
13
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
27
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-39
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
29
0
0
0
0
0
0
54
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
18
0
0
0
0
0
0
10
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
41
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-39
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-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
39
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-104
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
-1
52
0
0
0
0
0
0
-16
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-7
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-10
13
0
0
-2
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
8
8
0
0
4
0
0
0
0
0
2
-8
0
3
0
0
0
0
58
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-20
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-45
6
0
0
13
0
0
0
0
1
0
22
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-6
19
19
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
1
-43
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-67
0
0
0
0
0
0
-87
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
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-9
0
0
0
29
0
0
0
0
0
0
63
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-13
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-57
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
23
33
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
11
0
0
0
27
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
56
5
42
0
25
0
0
0
-9
3
7
0
0
-6
0
0
0
7
-15
0
0
0
0
0
0
0
-12
16
-12
-10
0
0
0
0
0
-1
-6
44
0
0
-1
0
0
0
18
0
8
-10
0
-2
0
0
0
0
-6
-16
0
7
-5
0
0
0
0
16
0
-60
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-40
4
83
0
5
0
0
0
-1
5
-12
-2
0
8
0
0
0
-1
18
2
0
0
0
0
0
1
0
-3
4
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
-7
0
0
-7
0
0
0
0
0
0
1
-5
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-42
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
14
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-89
0
0
0
27
0
0
0
0
0
0
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
-34
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-26
4
0
0
49
0
0
0
0
-5
-66
-6
0
-2
0
0
0
-10
45
0
0
0
0
0
0
0
0
-21
5
20
0
0
0
0
0
2
-40
0
0
0
0
0
0
0
41
0
0
23
1
0
0
0
0
0
-45
43
13
0
5
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-32
-3
0
0
14
0
0
0
1
0
0
-46
0
0
0
0
0
0
-105
-12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
35
-3
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
-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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
22
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
16
0
0
0
31
0
0
0
0
0
0
-28
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-2
0
0
0
64
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
44
0
0
0
19
0
0
0
0
2
24
15
0
0
0
0
0
19
20
21
0
0
0
0
0
-3
4
-15
0
0
0
0
0
0
0
2
-53
5
9
0
0
0
0
0
21
2
0
24
0
0
0
0
0
0
17
25
0
0
28
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-13
5
0
0
7
0
0
0
0
-5
-7
16
0
4
0
0
0
-5
-40
24
0
0
-5
0
0
0
0
-42
5
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
-3
-2
-6
12
0
0
0
0
0
0
26
-4
0
8
6
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-43
0
0
0
0
0
0
9
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
15
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
1
0
0
0
0
0
0
-45
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-60
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
54
-4
0
0
35
0
0
0
0
0
9
46
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
2
21
10
0
0
6
0
0
0
-8
44
0
0
0
0
0
0
0
0
-4
6
4
0
0
0
0
0
0
-9
32
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-27
0
0
0
13
0
0
0
0
0
6
13
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
13
1
23
0
0
0
0
0
0
4
-31
-7
0
0
0
0
0
0
-4
-17
0
4
0
4
0
0
0
0
-13
8
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
10
-7
0
0
-9
0
0
0
0
0
1
0
0
0
0
0
0
8
-53
5
0
0
0
0
0
0
0
15
48
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
5
0
33
0
0
0
0
0
0
-39
-8
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-39
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-4
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
39
0
0
0
0
0
0
-9
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
76
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
14
0
0
0
26
0
0
0
0
0
0
-22
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-3
23
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-4
0
-16
0
0
0
0
0
0
-9
0
0
0
-6
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-34
0
0
0
28
0
0
0
0
1
-31
15
0
0
0
0
0
9
-13
14
0
0
0
0
0
0
0
-34
43
-3
0
0
0
0
0
-5
-32
-4
18
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
9
0
0
-6
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
-1
7
0
-46
0
0
0
0
0
0
-25
8
0
0
6
0
0
0
0
5
24
36
0
0
0
0
0
2
-77
5
0
5
0
0
0
0
43
1
3
17
0
5
0
0
0
0
-19
44
0
0
-9
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-27
0
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-22
0
0
0
-11
0
0
0
0
0
0
42
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
0
0
0
41
0
0
0
29
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-20
0
0
0
12
0
0
0
0
0
0
-22
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
-55
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-11
3
0
0
21
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
19
0
0
0
0
0
0
15
0
0
0
0
0
0
-13
9
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
2
40
13
0
0
0
0
0
0
1
0
0
-15
0
-4
0
0
0
0
-50
-7
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
29
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-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
-28
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-5
0
0
0
0
0
0
100
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-8
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
6
0
0
-18
0
0
0
0
0
0
-9
0
0
0
0
0
-2
17
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
5
0
0
0
18
0
0
0
0
0
0
111
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-17
0
0
0
13
0
0
0
0
0
1
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-27
0
0
0
-7
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-64
0
0
0
35
0
0
0
0
0
0
-30
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
23
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-98
0
0
0
25
0
0
0
0
-3
0
5
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-23
0
0
0
20
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
-1
5
-5
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
27
1
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
-3
0
0
0
35
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
7
-1
0
0
-5
0
0
0
0
0
0
41
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
19
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-34
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
0
0
-13
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
11
0
0
0
0
0
5
-6
0
0
0
0
0
7
-6
0
0
0
0
0
0
0
0
7
-8
10
4
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
19
0
0
0
13
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-38
15
0
0
10
0
0
0
2
-14
-1
25
0
0
0
0
0
4
-22
3
0
0
0
0
0
0
1
-10
0
13
0
0
0
0
0
0
35
0
-1
0
6
0
0
0
0
-15
0
-9
0
0
0
0
0
0
-7
0
0
0
1
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
-99
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
19
0
0
0
42
0
0
0
0
0
0
29
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-6
15
0
0
29
0
0
0
0
0
-1
1
0
0
0
0
0
-7
-13
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-3
-13
-4
4
0
0
0
0
0
3
0
0
39
0
0
0
0
0
0
-21
5
0
0
4
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
4
0
-36
0
0
0
0
0
0
-13
1
13
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
32
0
15
0
0
0
0
0
0
19
0
42
0
0
0
0
0
0
13
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-46
0
0
0
-23
0
0
0
0
0
0
38
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
-6
0
7
0
0
0
0
0
0
-56
1
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-10
0
0
0
-21
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
35
15
0
0
11
0
0
0
0
0
0
27
0
1
0
0
0
3
-43
0
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-17
-4
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
-5
19
-31
0
0
30
0
0
0
0
4
5
4
0
0
0
0
0
-17
-4
-13
6
0
0
0
0
0
-5
21
-17
8
0
0
0
0
0
13
-1
23
0
0
0
0
0
0
8
61
0
24
0
0
0
0
0
0
32
0
-24
0
17
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
9
-5
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
19
0
11
0
0
0
0
0
0
50
0
0
0
-23
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-42
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-82
0
0
0
0
0
0
-2
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-43
0
0
0
27
0
0
0
0
0
0
32
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
17
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-3
3
0
0
-4
0
0
0
-3
-3
0
9
0
0
0
0
0
-2
-17
3
0
0
0
0
0
0
0
6
9
29
4
0
0
0
0
0
67
-9
-6
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
0
2
1
0
0
-10
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
3
0
0
0
10
0
0
1
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
-15
8
0
2
0
0
0
0
0
-24
8
0
0
0
0
0
0
10
0
0
-9
0
0
0
0
0
0
8
-2
0
0
-32
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
29
0
0
0
0
0
0
20
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
6
0
0
0
0
0
0
23
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-8
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
16
0
0
0
57
0
0
0
0
0
0
63
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
66
37
0
0
0
0
0
0
0
0
2
0
-36
0
0
0
0
0
0
2
0
0
0
-33
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-42
-1
0
0
-11
0
0
0
0
0
0
43
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-13
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
19
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-26
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
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
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
7
0
0
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
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
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
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
-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
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-41
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
27
0
0
0
0
0
0
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-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
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
-5
0
0
0
-43
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-27
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-54
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-1
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
58
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
14
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
22
0
0
0
0
0
0
8
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
65
0
0
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
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
35
0
0
0
0
0
0
51
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
-30
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-41
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
-33
-12
1
0
11
0
0
0
6
0
1
29
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-37
0
0
0
-37
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-8
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-73
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-44
0
0
0
0
0
0
1
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-59
0
0
0
7
0
0
0
0
0
2
-36
0
0
0
0
0
0
14
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-51
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
65
0
0
0
23
0
0
0
0
0
0
16
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
-6
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
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
-48
0
0
0
0
0
0
-10
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-22
0
0
0
-19
0
0
0
0
0
0
47
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
44
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
24
0
0
0
0
0
0
29
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
46
0
0
0
0
0
0
34
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-12
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-9
0
0
0
21
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-14
0
0
0
-39
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
42
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
-25
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
25
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-65
0
0
0
-27
0
0
0
0
0
0
-20
0
0
0
0
0
0
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
2
-38
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-8
0
0
0
0
0
0
-44
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-54
0
0
0
-1
0
0
0
0
0
0
0
0
0
22
-8
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-51
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
17
0
0
0
0
0
0
-16
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-50
0
0
0
-46
0
0
0
0
0
0
77
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
28
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-39
0
0
0
0
0
0
48
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
-20
0
0
0
0
0
0
-30
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-14
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-21
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
32
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-55
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
17
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
44
0
0
0
-23
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-33
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-5
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-15
0
0
0
0
0
0
62
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-32
-3
0
0
-13
0
0
0
0
-4
4
4
0
-4
0
0
0
0
40
-12
14
0
0
0
0
0
3
15
0
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
-3
0
-5
0
0
0
0
0
0
-10
0
0
0
-2
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
13
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
47
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
-6
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
0
0
8
0
0
0
0
0
0
21
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
28
-7
0
0
2
0
0
0
0
-16
0
0
0
0
0
0
0
5
0
0
3
0
0
0
0
0
0
26
0
0
0
19
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-75
1
0
0
28
0
0
0
8
0
15
23
0
0
0
0
0
0
-23
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-16
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
17
0
0
0
0
0
0
-28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
13
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-84
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-48
0
0
0
14
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
14
0
0
0
15
0
0
0
0
0
0
7
0
23
0
0
0
0
-35
18
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
6
56
0
0
0
0
0
0
0
0
13
0
19
0
0
0
0
0
0
76
1
0
0
11
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-27
0
0
0
-1
0
0
0
0
0
0
-38
0
0
0
0
0
0
-39
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-60
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
31
0
0
0
0
0
0
48
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
0
33
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
5
0
6
0
0
0
0
0
0
-7
15
0
0
18
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-29
0
0
0
12
0
0
0
-6
0
20
19
0
0
0
0
0
0
-48
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
36
0
0
0
0
0
0
-6
-3
0
0
18
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-79
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-26
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
13
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
14
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
7
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
42
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
51
0
0
0
13
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
0
0
-21
0
0
0
0
0
0
-27
0
0
0
28
0
0
0
0
0
0
37
0
0
0
0
0
-1
0
1
-25
0
0
0
0
0
0
-24
0
0
0
-2
0
0
0
0
0
0
24
0
0
0
0
0
3
-30
-4
-1
0
0
0
0
0
0
68
17
0
0
0
0
0
0
4
5
-3
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
-22
7
0
0
5
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-34
0
0
0
16
0
0
0
0
0
0
10
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-13
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
49
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-40
0
0
0
-4
0
0
0
0
0
0
40
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-52
0
0
0
23
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
28
0
0
0
23
0
0
0
0
0
0
42
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
7
0
0
0
-11
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
32
0
0
0
0
0
0
13
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
0
0
0
0
0
0
-5
0
0
13
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-60
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
63
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
12
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-31
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-3
0
0
0
31
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-23
0
0
0
0
0
0
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
2
0
0
0
0
0
0
49
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
97
0
0
0
0
0
0
-5
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-25
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
10
-18
0
0
-11
0
0
0
-14
0
4
20
0
0
0
0
0
0
-5
23
5
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
13
16
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
17
0
0
0
-6
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
2
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
8
6
0
0
-3
0
0
0
0
0
0
16
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-16
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-27
54
0
0
2
0
0
0
0
0
0
19
0
0
0
0
0
0
13
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
5
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
33
0
0
0
0
0
0
-107
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
74
0
0
0
70
0
0
0
0
0
13
20
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
11
0
0
0
-32
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
-17
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-40
-13
-1
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
9
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
63
0
0
0
25
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
-34
0
0
0
0
0
0
-21
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-47
0
3
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-12
-2
0
0
35
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
5
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
42
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
121
0
0
0
0
0
0
22
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
20
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
42
7
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
34
0
0
0
25
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-16
0
0
0
-11
0
0
0
-1
0
-3
-20
0
0
0
0
0
0
56
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
5
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
5
-1
0
0
15
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-16
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-40
0
0
0
13
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
36
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
-3
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-22
0
0
0
43
0
0
0
0
0
0
7
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
54
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-17
10
0
0
30
0
0
0
-3
0
0
11
0
0
0
0
0
0
-13
26
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
-15
0
14
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
22
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
12
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-40
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
61
0
0
0
-43
0
0
0
0
0
0
50
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
17
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-21
0
0
0
22
0
0
0
0
0
0
45
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-29
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
18
0
0
0
-27
0
0
0
0
0
0
22
0
0
0
0
0
0
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
30
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
6
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
-34
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-4
0
0
-38
0
0
0
0
0
0
27
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
4
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
5
0
0
58
0
0
0
0
0
0
9
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
-54
0
0
0
0
0
0
20
0
0
0
0
0
0
-6
-23
0
6
0
0
0
0
0
24
1
0
-1
0
0
0
0
0
13
3
0
0
0
0
0
0
0
0
2
43
0
0
0
0
0
0
13
0
0
0
18
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
-5
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
35
0
0
0
0
0
0
37
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
13
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
30
0
0
0
0
0
0
-68
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
22
35
0
0
0
0
0
0
9
0
-2
-88
0
0
0
0
0
0
90
-8
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-39
0
21
0
-26
0
0
0
8
-3
-3
0
0
0
0
0
0
0
-27
-3
0
-28
0
0
0
0
-17
-26
4
12
0
-13
0
0
0
10
-48
-10
-5
0
0
0
0
0
-31
0
-5
-4
0
-27
0
0
0
2
4
-5
0
0
-15
0
0
0
0
-2
0
11
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
5
0
0
0
-22
5
37
49
0
2
0
0
0
0
-5
0
31
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-5
-13
9
-7
0
0
0
0
0
-2
-3
-8
-31
0
0
0
0
0
0
85
14
0
0
13
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
5
0
0
0
0
-6
0
-50
0
0
0
0
0
0
19
-16
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-31
30
0
0
0
0
0
0
24
0
-1
33
0
0
0
0
0
0
38
0
0
0
-63
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
3
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
16
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-15
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
-61
0
0
0
0
0
0
-15
0
0
0
0
0
-1
-78
0
0
0
11
0
0
0
0
-3
-5
-12
5
5
0
0
0
0
-40
-9
18
0
-1
0
0
0
0
10
13
63
0
16
0
0
0
0
-27
0
0
0
42
0
0
0
0
1
0
66
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
99
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
3
-33
0
0
0
3
0
0
0
-13
13
16
0
5
40
0
0
0
0
-20
15
1
2
0
0
0
0
-63
59
18
-30
0
0
0
0
0
0
31
-38
0
0
-46
0
0
0
0
0
0
51
0
0
0
0
0
-5
0
0
11
0
0
0
0
0
-20
91
5
2
0
-27
0
0
0
-24
5
0
-30
0
0
0
0
0
0
-29
-14
34
0
0
0
0
0
30
96
-9
-5
0
33
0
0
0
-5
84
48
0
0
0
0
0
0
-3
56
-4
43
0
-26
0
0
0
-12
-49
-18
-4
2
-12
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-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
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
17
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
27
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-32
0
0
0
-16
0
0
0
0
-1
0
76
0
0
0
0
0
-6
-13
0
0
0
44
0
0
0
-1
13
0
0
20
0
0
0
0
1
-67
-8
10
4
0
0
0
0
-13
-17
18
20
0
0
0
0
0
-3
-4
-8
-1
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
-44
0
0
0
-13
0
0
0
0
0
3
-50
0
0
0
0
0
0
49
0
0
1
0
0
0
0
0
0
-20
0
0
-20
0
0
0
11
-50
10
0
0
0
0
0
0
17
-46
0
89
0
6
0
0
0
0
-29
-72
-1
30
39
0
0
0
-22
0
0
5
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-16
5
0
0
13
0
0
0
0
0
0
-34
0
0
0
0
0
0
4
0
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
27
32
0
14
0
0
0
0
-4
5
-15
11
7
0
0
0
0
5
60
2
0
0
26
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
6
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-142
0
0
0
0
0
0
2
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
24
0
0
0
0
0
0
-23
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
83
2
0
0
-21
0
0
0
-13
0
0
-27
0
5
0
0
0
-1
-26
-13
0
4
0
0
0
0
0
24
47
0
0
0
0
0
0
-37
-39
0
0
-25
0
0
0
0
15
-18
13
37
0
0
0
0
0
0
53
6
0
0
15
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
79
-5
0
0
44
0
0
0
1
-15
0
-36
0
0
0
0
0
28
-31
-23
0
0
0
0
0
0
-11
-44
10
-6
-5
-12
0
0
0
-2
20
-8
0
-3
13
0
0
0
-11
10
0
11
0
9
0
0
0
-5
-61
70
0
0
30
0
0
0
-4
0
15
-5
0
0
0
0
0
0
0
-5
21
0
0
0
0
0
12
21
0
0
0
-19
0
0
0
-10
-6
-6
22
0
0
0
0
0
0
-3
-47
2
0
0
0
0
0
-21
-25
16
-13
-22
-15
0
0
0
2
28
33
-59
0
0
0
0
0
-45
-10
-2
19
0
29
0
0
0
4
80
-46
0
31
43
0
0
0
0
16
20
-20
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
-7
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
57
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
13
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
-84
0
0
0
0
0
0
37
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
10
0
0
30
0
0
0
0
0
0
19
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
41
0
0
0
0
0
0
31
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
5
0
4
0
0
0
0
4
6
0
12
0
0
0
0
0
0
47
35
0
0
39
0
0
0
0
0
0
-1
0
0
0
0
0
-2
-13
0
12
0
0
0
0
0
0
-26
-5
0
3
47
0
0
2
43
-3
12
-1
0
0
0
0
20
8
60
12
-1
0
1
0
0
0
-25
14
21
0
-9
-9
0
0
0
-25
31
-45
-14
40
0
0
0
0
-13
58
13
0
0
-25
0
0
0
0
59
-8
31
8
4
0
0
0
-22
0
0
-46
0
0
0
0
0
0
0
0
3
0
0
0
0
0
1
13
0
0
0
14
0
0
0
25
5
-8
18
0
0
0
0
2
-44
41
-58
3
0
3
0
0
41
30
-27
52
-1
23
0
0
0
0
-45
-39
26
-32
-19
0
0
0
0
7
19
29
35
0
68
0
0
0
57
-24
-56
0
37
6
0
0
0
-33
-13
6
-5
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
-1
93
0
0
0
9
0
0
0
0
0
1
51
0
0
0
0
0
0
-35
0
0
-3
0
0
0
0
0
30
33
0
-1
-5
0
0
0
-16
-18
-21
14
27
0
0
0
0
-8
6
-11
18
0
0
0
0
0
0
-78
-11
0
14
35
0
0
0
0
1
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-27
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-7
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
35
0
0
0
0
0
0
-29
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
15
3
14
0
-12
0
0
0
0
9
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-46
0
0
0
-54
0
0
0
0
0
0
81
0
0
0
0
0
0
-61
3
0
0
0
0
0
0
0
-67
-15
0
0
8
0
0
0
10
-58
6
4
0
0
0
0
0
-5
-4
9
76
0
-15
0
0
0
0
44
-13
0
0
-13
0
0
0
0
-5
0
-34
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
-9
10
-4
0
3
-30
0
0
0
1
0
0
0
0
0
0
0
0
11
3
-22
0
3
15
0
0
-1
8
48
32
0
0
-5
0
0
0
-42
3
44
-26
11
2
0
0
0
-1
50
-44
-58
-5
28
0
0
0
-23
-89
48
-2
0
7
0
0
0
2
-20
-9
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-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
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
51
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
6
0
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
20
-2
0
0
5
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
50
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
30
0
0
0
0
0
0
18
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
-43
0
0
0
0
0
0
40
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
28
0
0
0
45
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
32
0
0
0
0
0
0
64
0
0
0
0
0
0
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
5
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
31
0
0
0
-11
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-43
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
4
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-22
0
0
0
70
0
0
0
0
0
0
21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-10
0
0
0
-5
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
27
32
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
77
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-20
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-31
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-17
0
0
0
-39
0
0
0
0
0
0
-6
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
21
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
-1
0
0
-16
0
4
0
0
0
0
43
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
23
0
0
0
8
0
0
0
0
0
0
-22
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-5
0
0
0
20
0
0
0
0
-48
50
0
0
0
0
0
0
-4
14
0
-37
0
0
0
0
0
0
41
24
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
18
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
12
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
55
26
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
-12
-31
0
0
0
0
0
0
12
-5
0
0
0
0
0
0
0
5
-8
15
0
0
49
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-42
0
0
0
91
0
0
0
0
0
0
45
0
0
0
0
0
33
44
0
0
0
0
0
0
0
0
7
0
0
0
2
0
0
0
-18
11
35
0
0
0
0
0
0
-29
30
-25
-58
0
-1
0
0
0
0
24
30
0
0
-29
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
7
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
-40
0
0
0
0
0
0
49
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
-3
0
0
0
0
0
0
26
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
13
9
0
0
0
0
0
0
0
4
9
6
0
0
0
0
0
0
-73
4
0
0
-9
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-9
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
8
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
25
-10
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-3
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
58
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
-17
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
0
0
0
34
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-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
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-1
0
0
0
0
0
0
1
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
12
0
-12
0
0
0
0
2
0
31
-63
0
0
0
0
0
0
32
-1
0
0
-41
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
-5
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-41
0
0
0
0
0
0
20
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-21
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-49
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-53
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-48
0
0
0
0
0
0
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
33
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
26
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
141
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-42
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-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
-16
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-24
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
-5
0
0
0
0
0
0
76
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
24
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
42
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-58
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
74
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
0
0
0
0
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
36
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
-60
0
0
0
0
0
0
-42
0
0
0
0
0
0
-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
-29
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-66
0
0
0
0
0
0
-4
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
9
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
51
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
-120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
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
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
-12
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
41
0
0
0
0
0
0
57
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
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
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
15
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-25
0
0
0
0
0
0
-23
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-16
0
0
0
-56
0
0
0
0
0
0
23
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
4
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
31
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
-67
0
0
0
0
0
0
56
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
83
0
0
0
0
0
0
17
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
25
0
0
0
-92
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
61
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-36
0
0
0
0
0
0
-39
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
2
0
0
0
0
0
0
33
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-11
0
0
0
0
0
0
-27
0
0
0
0
0
0
-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
-42
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
15
0
0
0
40
0
0
0
0
0
0
-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
17
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
15
0
0
0
32
0
0
0
0
0
0
-44
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
-1
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
65
0
0
0
0
0
0
-3
0
0
0
0
0
0
-28
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-23
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-21
0
0
0
48
0
0
0
0
0
0
-90
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
-10
-5
0
0
-17
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-27
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-37
0
0
0
0
0
0
31
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-18
0
0
0
62
0
0
0
0
0
0
-69
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-35
0
0
0
0
0
0
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
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-27
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-34
0
0
0
0
0
0
-14
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
15
0
0
0
0
0
0
22
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
91
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-12
0
0
0
0
0
0
109
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
-32
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-2
0
0
75
0
0
0
0
0
0
56
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
10
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
4
0
0
0
0
0
0
-43
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-18
0
0
0
-2
0
0
0
0
0
0
-66
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-4
0
0
0
0
0
0
-45
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-30
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
34
-6
0
0
6
0
0
0
0
6
0
-39
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
5
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
4
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
44
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
31
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
1
0
0
0
44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
81
0
0
0
0
-13
0
16
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-5
0
0
0
57
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-13
0
0
-32
0
0
0
13
0
0
-83
0
0
0
0
0
-8
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
14
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
1
0
0
40
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
35
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
-27
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-41
-13
0
0
18
0
0
0
0
0
0
-44
0
0
0
0
0
0
-26
0
26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-9
-56
0
0
0
0
0
0
0
-35
0
0
-3
0
0
0
0
0
0
109
0
0
0
24
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
-66
0
0
0
0
0
0
41
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
5
-3
0
-9
0
0
0
0
0
0
-23
10
0
0
-35
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-26
0
0
0
27
0
0
0
0
0
0
77
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-25
0
0
0
0
0
0
-55
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
42
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
9
25
0
0
20
0
0
0
28
0
-39
-85
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
36
0
0
5
0
0
0
0
-21
-12
0
0
0
0
0
0
0
0
-8
0
-112
0
0
0
0
0
0
15
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
54
12
0
0
19
0
0
0
0
0
-1
-47
0
0
0
0
0
15
89
1
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-14
-23
-8
0
0
0
0
0
0
-8
-20
-1
18
0
24
0
0
0
0
19
13
0
0
42
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
43
0
0
0
-16
0
0
0
4
0
0
-18
0
0
0
0
0
-1
29
-5
0
0
0
0
0
0
0
5
-15
61
0
20
0
0
0
2
49
-5
-6
0
0
0
0
0
0
0
-2
53
0
19
0
0
0
0
-38
-5
0
0
-19
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
19
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
9
0
0
0
-15
0
0
0
0
0
0
-15
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
8
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
11
16
0
0
45
0
0
0
-3
0
0
2
0
0
0
0
0
0
-9
15
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-14
0
90
0
0
0
0
0
0
2
-8
0
0
11
0
0
0
0
0
0
50
0
0
0
0
0
-14
2
4
25
0
0
0
0
0
0
9
-62
23
0
23
0
0
0
-13
7
-2
87
0
0
0
0
0
2
-40
-4
0
0
0
0
0
0
-41
32
-39
6
4
0
0
0
0
-1
-43
-8
0
0
0
0
0
0
-2
5
19
0
0
1
0
0
0
0
-63
-5
0
0
-18
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-41
0
0
0
8
0
0
0
5
0
0
-73
0
0
0
0
0
5
24
-3
0
0
3
0
0
0
1
11
0
0
0
9
0
0
0
0
43
-15
0
0
0
0
0
0
-60
5
0
-26
0
0
0
0
0
0
-18
-21
0
0
5
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
115
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
-20
0
0
0
0
0
0
-41
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
42
0
0
-15
0
0
0
-8
0
0
55
0
0
0
0
0
7
-31
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
5
0
0
0
0
0
0
0
0
0
-10
0
5
0
0
0
0
-28
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-7
0
0
0
-12
0
0
0
0
0
0
-26
0
0
0
0
0
0
33
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
0
0
-21
5
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
-41
0
0
0
56
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-37
-3
0
0
17
0
0
0
-13
0
0
6
0
5
0
0
0
0
14
0
0
0
0
0
0
0
0
31
-3
0
0
-1
0
0
0
0
20
0
0
0
0
0
0
0
10
4
0
-58
0
17
0
0
0
0
-33
5
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
36
0
0
0
0
0
0
40
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
14
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-2
0
0
-15
0
0
0
0
0
0
27
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-19
0
0
0
-56
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
53
0
0
0
-27
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
29
0
0
0
71
0
0
0
0
0
0
-73
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-14
0
0
0
0
0
0
-26
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
6
0
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
53
0
0
0
5
0
0
0
0
0
0
-34
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
13
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-20
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-23
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
7
0
0
-31
0
0
0
0
0
0
19
0
0
0
0
0
0
49
22
0
0
0
0
0
0
0
10
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-49
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-3
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
0
44
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-9
0
0
0
0
0
0
20
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
2
0
0
33
0
0
0
0
0
0
-42
0
0
0
36
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
2
39
0
0
0
71
0
0
0
0
0
0
-73
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
20
0
0
0
-86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
32
0
0
0
-64
0
0
0
-5
2
0
-21
0
0
0
0
0
0
43
-3
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
-36
-20
0
41
0
0
0
0
0
0
-50
0
0
0
9
0
0
0
0
-13
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-30
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-21
0
0
0
68
0
0
0
0
0
0
16
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
-6
0
0
25
0
0
0
0
0
0
0
-1
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
9
0
0
0
2
0
0
58
0
16
0
0
0
0
-44
0
0
13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
50
0
0
0
0
0
0
-19
1
-3
21
0
0
0
0
0
0
-32
3
0
0
55
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
35
0
0
0
0
0
10
-14
16
0
0
-5
0
0
0
-86
0
8
0
0
15
0
0
0
2
-30
-12
0
46
5
0
0
0
69
33
41
-8
3
-8
0
0
0
-2
-68
32
15
0
0
0
0
0
-7
13
0
33
0
42
0
0
0
0
-49
34
-18
0
35
0
0
0
0
-6
0
-2
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
-13
5
-14
0
0
4
0
0
0
-22
0
17
-32
0
1
0
0
0
3
-13
5
0
2
0
0
0
0
-5
5
-9
0
-22
6
0
0
0
0
-37
50
0
0
0
0
0
0
-32
0
0
54
0
0
0
0
0
0
-22
-4
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
29
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
70
0
0
0
-14
0
0
0
0
0
9
0
-3
0
0
0
0
-15
0
-2
-23
0
0
0
0
0
-7
-47
0
0
0
-8
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
43
0
0
0
0
0
0
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-38
0
0
0
31
0
0
0
10
34
0
-6
0
0
0
0
0
1
123
0
0
0
0
0
0
0
8
-7
16
0
24
0
0
0
0
-4
31
-4
0
-8
0
0
0
0
-4
-10
0
27
0
20
0
0
0
0
49
-10
0
0
36
0
0
0
-4
0
4
11
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
25
1
0
0
33
0
0
0
6
0
0
22
0
1
0
0
0
0
72
7
0
0
12
0
0
-18
-1
-21
-6
0
0
25
0
0
0
-10
10
-64
4
0
0
0
0
0
-54
8
34
8
0
2
0
0
0
28
-79
66
0
0
4
0
0
0
-8
0
0
9
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
4
22
0
0
0
-25
0
0
0
38
3
0
-44
0
8
0
0
0
46
-39
-23
29
0
0
0
0
0
-23
-7
20
0
5
57
0
0
0
12
61
32
1
0
0
0
0
0
-16
-16
-6
96
0
58
0
0
0
3
46
-22
0
0
48
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-30
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
9
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-10
-1
0
0
22
0
0
0
6
0
0
22
0
0
0
0
0
5
33
-19
0
5
23
0
0
0
13
-7
0
0
-8
-7
0
0
0
7
131
-39
0
-13
0
0
0
0
-41
-9
8
-12
8
0
0
0
0
-10
12
-11
0
0
-30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
11
8
0
0
0
24
0
0
0
0
0
-1
19
0
0
0
0
0
-16
-25
5
-5
41
0
0
0
5
2
52
-3
0
0
-23
0
0
0
-35
26
-26
0
0
0
0
0
0
50
-19
3
37
0
12
0
0
0
-2
14
-23
0
0
27
0
0
0
-2
0
0
13
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-53
-15
0
0
-24
0
0
0
0
0
0
-5
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-20
21
-8
0
0
0
0
0
0
-34
15
98
32
0
0
0
0
0
0
75
-4
0
0
11
0
0
0
0
4
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
41
0
0
0
0
0
0
29
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
0
0
0
0
0
0
0
-2
0
24
0
0
0
0
0
0
3
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-41
0
0
0
0
0
0
-66
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-18
0
0
31
0
0
0
0
0
0
17
-3
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
24
0
0
0
19
-7
0
57
0
17
0
0
0
0
-8
21
0
0
0
0
0
0
27
7
-1
10
5
0
0
0
0
25
-41
0
-4
-7
0
0
0
0
-5
-38
15
33
0
76
0
0
0
-5
74
44
0
0
12
0
0
0
-2
8
0
-17
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
2
-6
0
0
0
-16
0
0
0
-15
1
2
27
0
0
0
0
0
1
46
13
0
0
0
0
0
-5
22
5
8
-18
-8
12
0
0
0
39
-23
3
0
-3
31
0
0
0
2
-2
16
-16
0
-39
0
0
0
-2
-68
21
4
-5
38
0
0
0
1
0
0
28
2
0
0
0
0
0
0
24
10
0
0
0
0
0
-1
80
2
0
0
-9
0
0
0
21
-3
0
8
0
-3
0
0
0
25
19
23
-9
0
15
0
0
0
-43
0
-38
13
-31
21
0
0
0
-14
8
-20
7
0
0
0
0
0
-7
13
-15
-7
0
-17
0
0
0
-9
-35
-1
-9
19
19
0
0
0
-9
12
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
38
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
40
0
6
0
0
0
0
4
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
5
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
49
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
-23
0
0
14
0
0
0
0
0
0
-18
0
0
0
-43
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
21
0
0
0
-80
0
0
0
0
0
0
-39
0
0
0
0
0
3
33
4
0
0
0
0
0
0
0
-4
2
1
0
0
0
0
0
-3
-31
16
-3
0
0
0
0
0
23
-16
0
-17
0
-13
0
0
0
0
-9
-33
0
0
10
0
0
0
0
0
0
38
0
0
0
0
0
0
-4
0
71
0
0
0
0
0
48
12
13
0
0
31
0
0
0
-21
-1
5
7
0
8
0
0
0
-49
-24
-40
18
-3
0
0
0
1
7
45
-25
11
2
12
0
0
0
10
0
-73
-17
-17
1
0
0
0
-102
29
9
0
0
-25
0
0
0
-13
-22
-29
14
0
24
0
0
0
-6
-1
0
41
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-1
20
1
0
0
56
0
0
0
-24
3
-1
81
0
0
0
0
0
-11
-85
63
-7
-7
13
0
0
33
10
14
-62
-25
22
9
0
0
6
32
59
42
-29
-18
0
0
0
0
-8
-16
57
0
0
-2
0
0
0
-4
-16
-78
-84
10
-10
0
0
0
3
14
6
-64
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
70
0
0
0
32
0
0
0
1
0
3
-18
0
0
0
0
0
2
54
-1
9
0
0
0
0
0
16
59
-7
0
-4
5
0
0
0
-13
-58
-8
4
5
25
0
0
0
-18
-2
-8
33
0
0
0
0
0
8
25
-31
0
8
31
0
0
0
0
-2
5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-30
-8
0
-42
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
65
0
0
0
8
0
0
-38
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-23
-3
0
4
0
0
0
0
5
1
-1
89
0
4
0
0
0
-3
5
0
0
17
-57
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
7
0
-38
27
30
0
0
0
6
38
17
0
0
0
0
0
0
56
54
0
1
0
0
0
0
0
-15
30
-28
0
0
-7
0
0
0
-39
16
28
8
0
-14
0
0
0
-38
-9
-4
0
3
45
0
0
0
0
46
0
-1
0
0
0
0
0
0
0
0
-46
0
0
0
0
5
-5
-25
0
0
0
33
0
0
0
-26
0
0
72
0
47
0
0
0
2
12
-8
-2
0
-7
0
0
-7
57
28
9
1
-3
-9
0
0
0
-12
-45
7
-21
18
0
0
0
0
22
4
-15
2
0
51
0
0
0
-14
7
54
0
0
6
0
0
0
0
-9
-4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-19
0
0
0
-50
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
0
0
0
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-23
0
0
0
0
0
0
3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-47
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
-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
-40
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
18
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
19
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-9
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
23
-14
10
0
0
0
0
0
53
0
0
55
0
0
0
0
0
0
49
0
2
0
48
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
-12
0
0
0
-16
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
11
0
0
0
53
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
52
0
0
0
0
0
0
-9
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
38
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
9
0
0
0
0
0
0
-13
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
5
0
29
-9
0
0
0
0
0
0
-41
8
0
0
12
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
29
0
0
0
0
0
0
27
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
-1
-3
0
0
0
0
0
0
5
0
-1
59
0
0
0
0
0
0
-8
9
0
0
45
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
3
-14
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
38
0
3
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
-16
17
0
0
0
0
0
0
-1
0
-5
25
0
5
0
0
0
0
-9
14
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-7
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-16
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
0
0
1
47
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
33
4
8
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
49
30
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-16
0
0
0
13
0
0
0
0
0
0
83
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
15
0
0
0
25
0
0
0
6
31
2
0
0
0
0
0
0
1
0
0
12
0
0
0
0
0
0
42
-8
0
-1
-41
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
49
0
0
0
0
0
0
57
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
3
0
-18
44
0
0
0
0
0
0
7
5
0
0
51
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-20
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
20
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
37
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-48
-6
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
-10
9
0
0
0
0
0
0
0
3
15
6
0
0
0
0
0
0
-4
0
0
31
0
0
0
0
0
0
-22
34
0
0
50
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
30
0
0
0
-22
0
0
0
0
0
0
24
0
0
0
0
0
0
-22
0
5
0
0
0
0
0
-11
47
1
0
0
9
0
0
0
-54
16
-22
25
0
-14
0
0
0
-43
-15
0
-46
0
24
0
0
0
1
49
22
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-40
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-26
0
0
0
0
0
0
-26
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-87
0
0
0
19
0
0
0
0
0
0
-7
0
0
0
0
0
3
-24
-3
0
0
0
0
0
0
0
1
43
0
0
2
0
0
0
37
6
-6
-1
9
0
0
0
0
-5
22
0
0
0
0
0
0
0
0
6
27
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
0
68
0
0
0
0
0
0
47
0
0
0
0
0
17
-5
0
0
0
0
0
0
0
39
-24
-8
0
0
0
0
0
0
-35
30
-34
-7
-2
0
0
0
0
26
-15
6
-10
0
9
0
0
0
0
-21
-105
9
0
-36
0
0
0
22
5
0
-5
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
20
0
0
0
19
0
0
0
0
0
0
10
0
0
0
0
0
2
32
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
5
35
-1
0
0
0
0
0
0
-6
-23
-1
44
0
0
0
0
0
0
5
-4
0
0
23
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-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
-23
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-27
0
0
0
49
0
0
0
0
0
0
-74
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
18
8
0
0
0
0
0
0
7
19
0
0
0
0
0
0
0
3
0
6
13
0
0
0
0
0
0
48
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
22
0
0
0
-19
0
0
0
-1
0
0
2
0
0
0
0
0
0
23
26
-4
0
0
0
0
0
4
-10
-2
0
0
0
0
0
0
4
-13
23
-13
0
0
0
0
0
70
26
15
45
0
-4
0
0
0
-1
10
-15
0
0
29
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-86
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
45
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
-33
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-10
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
62
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
9
3
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
11
0
0
0
0
0
0
36
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
58
0
0
0
0
0
-5
-23
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
8
0
0
0
0
0
0
0
8
0
0
13
0
0
0
0
0
0
-5
0
0
0
55
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
31
0
0
0
0
0
0
7
0
0
0
0
0
0
32
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
9
0
4
0
0
0
0
0
0
0
85
0
0
0
0
0
0
5
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
-50
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-4
0
0
-56
0
0
0
0
0
0
32
5
0
0
15
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
-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
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
3
0
0
0
5
0
0
-2
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
14
0
0
26
0
0
0
0
0
0
21
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
12
0
0
0
0
0
0
24
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
0
0
0
0
0
0
0
0
0
-28
0
7
0
0
0
0
-25
5
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
33
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
16
0
0
0
0
0
0
0
0
-9
0
57
0
-14
0
0
0
0
-47
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
32
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
6
0
0
0
74
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
22
0
0
0
35
0
0
0
0
0
0
-30
0
0
0
0
0
0
25
31
0
0
0
0
0
0
0
0
-20
0
0
-4
0
0
0
-13
-7
-9
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-3
0
0
0
38
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-7
0
0
0
102
0
0
0
0
0
0
25
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
12
-13
92
-1
0
0
0
0
0
-9
0
-8
-4
0
0
0
0
0
0
28
-24
0
0
-8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
56
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-33
0
0
0
0
0
0
-32
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
0
0
28
0
0
0
0
0
-4
17
0
0
0
0
0
0
27
-13
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
6
0
43
0
0
0
0
0
0
13
53
0
0
22
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
31
0
0
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
0
0
0
0
0
0
-75
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
-1
0
7
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-16
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-13
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
23
0
0
0
1
0
0
0
0
0
0
39
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
19
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
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
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
150
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
38
0
0
0
0
-5
0
23
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
0
0
18
0
0
0
0
0
0
11
0
0
0
-9
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
47
0
0
0
58
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
21
0
0
0
3
0
0
30
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
16
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
29
0
0
0
-10
0
0
0
0
0
0
36
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
-6
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
41
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-30
-29
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
-3
0
0
28
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
42
0
0
0
-28
0
0
0
0
0
0
-5
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
-21
0
0
0
0
0
0
-27
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
4
73
0
0
0
0
0
0
-8
4
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
48
0
0
0
-1
0
0
0
0
0
0
-70
0
0
0
0
0
0
30
-6
0
0
0
0
0
0
3
2
0
0
0
19
0
0
0
1
36
9
0
0
0
0
0
0
-6
10
0
-29
0
0
0
0
0
0
22
27
0
0
26
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
41
0
0
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
0
0
0
0
0
0
-34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
49
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-66
0
0
0
13
0
0
0
0
1
0
-4
0
0
0
0
0
0
-14
11
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
23
-5
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
-41
0
0
0
0
0
0
135
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-6
0
0
0
0
0
0
0
0
5
0
22
0
0
0
0
0
0
22
42
0
0
17
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-13
0
0
0
18
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
44
0
0
0
0
0
0
47
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-49
0
0
0
69
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-25
0
0
0
7
0
0
0
0
0
0
24
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-20
-1
0
0
0
0
0
0
0
13
0
22
0
0
0
0
0
0
-15
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-6
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
67
0
0
0
0
0
0
-16
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-21
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
-19
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-19
0
0
0
45
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-4
0
0
-31
0
0
0
-2
0
0
-22
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
29
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
23
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
17
0
0
0
73
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
57
0
0
0
1
5
-2
-57
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-44
20
0
11
0
0
0
0
5
55
1
24
0
0
0
0
0
0
29
-1
0
0
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-43
0
0
0
0
0
0
44
0
0
0
0
0
28
-11
0
0
0
0
0
0
0
-5
-5
29
0
0
0
0
0
0
-3
-21
33
0
0
0
0
0
0
-27
-13
26
50
0
-5
0
0
0
-5
-24
-5
0
0
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-46
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-24
0
0
0
0
0
0
-46
-8
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
0
0
3
10
0
6
0
0
0
0
0
-5
0
5
0
0
0
0
0
0
37
31
0
0
30
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
36
0
0
0
-2
0
0
17
0
10
0
0
0
0
-24
3
0
0
0
0
0
0
5
5
-7
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-15
6
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-9
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
56
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
22
0
0
0
-1
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
45
0
0
0
3
0
1
33
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
1
0
-5
0
0
0
0
0
-37
0
0
0
-1
0
0
0
0
0
0
51
0
0
0
0
0
0
46
0
0
0
-19
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-5
21
0
0
0
0
0
0
0
0
0
0
21
0
0
0
4
0
-6
-20
0
0
0
0
0
-4
38
17
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
23
-32
0
0
0
0
0
0
3
-2
0
-48
0
14
0
0
0
0
31
-7
0
0
13
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-39
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-6
0
0
64
0
0
0
0
0
0
22
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
43
0
0
0
0
0
7
0
0
0
0
18
0
0
0
2
0
-5
-10
0
0
0
0
0
0
9
-9
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
33
3
0
-18
0
0
0
0
5
0
0
0
0
15
0
0
0
0
-23
0
0
0
16
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
10
40
0
0
0
0
0
0
-2
8
15
-17
0
7
0
0
0
0
5
33
4
0
-15
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
6
0
0
27
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
13
2
-12
0
0
0
0
0
0
-5
0
0
0
16
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
21
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-18
0
0
33
0
0
0
0
0
0
-62
1
0
0
0
0
0
0
0
-18
-16
0
0
0
0
0
0
0
19
13
0
3
0
0
0
0
-22
0
0
-6
0
0
0
0
0
0
-30
-16
0
0
2
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
61
0
0
0
0
0
0
49
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
-2
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
1
0
0
0
0
0
0
39
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-8
0
0
0
-34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
-36
0
0
0
0
0
0
61
0
0
0
0
0
0
-14
-24
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
46
3
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
19
0
0
0
93
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-56
0
0
0
0
0
0
-5
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
25
0
0
0
34
0
0
0
-10
0
0
-59
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-22
0
0
0
47
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
-14
0
0
0
-6
0
0
26
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
8
-5
0
4
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
56
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
7
0
0
0
17
0
0
0
3
0
0
0
0
0
0
0
0
0
8
17
0
0
0
0
0
0
0
23
13
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
1
0
0
-14
0
0
0
0
0
0
24
0
0
0
-43
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-6
31
0
9
0
6
0
0
0
6
0
0
50
0
0
0
0
0
0
35
-7
0
-2
-3
0
0
0
0
1
7
0
0
0
0
0
0
0
-39
6
5
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
8
0
0
0
37
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
32
0
0
0
-22
0
0
0
0
0
0
52
0
0
0
0
0
0
-11
-12
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-21
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-52
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
-13
0
0
0
-1
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
-3
0
0
0
30
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
109
0
0
0
0
0
0
-37
0
0
0
2
0
0
0
5
5
0
-9
0
0
0
0
0
16
-31
0
0
0
0
0
0
13
0
3
-15
0
0
0
0
0
0
-5
13
14
0
0
0
0
0
0
-18
0
0
56
0
-3
0
0
0
0
-47
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
23
0
0
0
-5
0
0
0
6
0
14
1
0
0
0
0
0
2
29
5
0
0
9
0
0
0
0
-4
3
0
1
0
0
0
0
0
-6
3
0
-10
0
0
0
0
-22
0
0
-24
0
0
0
0
0
0
-11
5
0
0
-3
0
0
0
0
0
0
-48
0
0
0
0
0
0
-4
0
55
0
0
0
0
0
-2
-1
0
0
0
21
0
0
0
-20
12
17
49
0
0
0
0
0
17
14
15
-13
0
-10
0
0
0
12
50
0
-2
0
25
0
0
0
-1
-31
37
14
0
0
0
0
0
17
6
-3
-30
0
16
0
0
0
1
35
-40
-1
0
35
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
29
0
0
0
0
0
0
39
0
0
0
0
0
0
-25
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-11
0
0
0
33
0
0
0
0
0
0
39
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
-16
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
3
33
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
-9
5
0
5
0
0
0
0
0
-52
66
-2
27
0
0
0
0
0
-29
-21
0
0
0
0
0
0
0
-9
54
47
0
0
0
0
0
0
-9
0
-5
-22
0
5
0
0
0
0
-16
5
0
0
-18
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
-49
0
0
0
-20
0
0
-15
0
0
0
0
0
-7
56
-19
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
-5
-3
10
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
1
-71
1
0
0
8
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
-42
0
0
0
-2
0
0
13
0
0
0
0
0
0
-44
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-22
0
0
0
6
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
56
0
0
0
0
0
0
42
0
0
0
0
0
0
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
0
0
0
2
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
28
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
33
0
0
0
23
0
0
0
7
0
0
6
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
7
0
0
-21
0
0
0
0
0
0
-23
0
0
0
50
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
10
0
0
0
0
0
4
57
0
0
0
35
0
0
0
51
0
0
-4
0
0
0
0
0
-6
-15
20
-10
0
0
0
0
0
0
-49
-4
2
0
0
0
0
0
-9
17
0
0
0
0
0
0
0
-23
14
13
70
0
-4
0
0
0
0
-12
-23
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-38
0
0
0
0
0
0
102
0
0
0
-1
0
0
0
8
0
-5
-19
0
0
0
0
0
-14
25
19
0
0
0
0
0
0
-8
15
17
0
0
1
0
0
0
-1
42
17
0
-3
2
0
0
0
4
-19
-2
13
0
-5
0
0
0
0
66
-31
0
0
-21
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
64
0
0
0
43
0
0
7
42
42
-15
-13
0
0
0
0
0
16
-20
25
1
0
0
0
0
-4
-60
-8
-41
0
7
-1
0
0
0
-16
0
-41
-24
0
0
0
0
0
23
-16
-5
20
0
-16
0
0
0
0
50
25
2
0
-16
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
54
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
2
0
0
-28
0
0
0
0
0
0
-13
0
0
0
-21
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
51
0
0
0
-21
0
0
0
-3
8
0
45
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
7
35
2
0
0
0
0
0
0
15
0
0
55
0
2
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
4
0
0
0
0
0
0
12
20
50
0
0
0
0
0
7
90
0
0
0
-13
0
0
0
44
1
6
-3
0
-7
0
0
0
-31
25
-9
14
0
0
0
0
-8
-9
21
-13
0
0
0
0
0
0
2
27
42
0
0
0
0
0
0
5
19
29
0
0
-35
0
0
0
0
-23
0
3
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
47
0
0
0
-22
0
0
0
19
0
0
66
0
0
0
0
0
0
-36
-2
0
0
0
0
0
0
1
8
8
0
0
0
0
0
0
-18
-12
-28
0
-12
0
0
0
0
-50
21
-2
3
0
4
0
0
0
0
3
0
5
0
-2
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
38
0
0
0
-40
0
0
0
-8
-2
0
47
0
0
0
0
0
-4
19
-5
-1
0
0
0
0
0
0
23
28
0
0
0
0
0
0
-14
-29
21
3
0
0
0
0
0
-12
-2
-2
13
0
0
0
0
0
0
8
-4
0
0
-18
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
68
0
0
0
0
0
0
47
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-10
0
0
0
-37
0
0
0
16
-3
0
52
0
0
0
0
0
0
-27
49
25
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-3
0
58
0
0
0
0
0
0
13
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-48
0
0
0
-24
0
0
0
1
0
0
-48
0
0
0
0
0
0
22
-1
0
0
0
0
0
0
-6
0
22
0
18
0
0
0
0
43
-34
-24
0
0
5
0
0
0
5
7
4
11
0
0
0
0
0
5
-26
0
0
0
6
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-15
0
0
0
-35
0
0
0
8
17
0
-8
0
0
0
0
0
-9
21
0
0
0
1
0
0
0
0
-28
41
0
0
0
0
0
0
-19
52
-26
9
-2
0
0
0
0
-3
-2
1
16
0
-44
0
0
0
-3
49
-50
0
0
1
0
0
0
0
0
-5
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
32
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
30
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
9
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-22
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
21
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
78
0
0
0
0
0
0
34
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
0
0
0
0
0
0
-3
0
0
0
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
44
0
0
0
0
-1
5
84
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
2
-30
0
0
0
19
0
0
0
0
0
0
-23
0
0
0
0
0
1
-69
10
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-27
0
0
0
2
0
0
0
0
0
0
-66
0
-8
0
0
0
0
-12
0
0
0
-1
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
61
0
0
0
0
0
0
-30
0
0
0
0
0
0
17
-12
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
-22
0
0
0
0
0
0
45
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
46
0
0
0
-15
0
0
0
5
0
0
9
0
0
0
0
0
0
66
0
0
0
0
0
0
0
1
30
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
1
0
0
0
65
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
1
0
-46
0
0
0
0
0
4
6
-4
4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-76
0
-4
0
0
0
0
-17
0
0
0
113
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-23
0
0
0
0
0
0
10
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-13
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-40
0
0
0
0
0
0
-59
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
7
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-28
0
0
0
14
0
0
0
0
5
0
-37
0
0
0
0
0
8
26
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
27
-3
0
0
0
0
0
0
0
0
8
-1
6
0
0
0
0
0
-1
-10
0
0
0
52
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
32
-1
0
0
19
0
0
0
-8
0
0
44
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
2
-11
-4
0
0
0
0
0
0
-5
1
5
26
0
0
0
0
0
0
14
0
0
0
65
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
16
0
0
0
-36
0
0
0
0
0
1
1
0
0
0
0
0
0
-57
-6
0
0
0
0
0
0
12
6
0
-2
0
0
0
0
0
0
-31
4
0
0
0
0
0
0
0
0
0
-13
0
-9
0
0
0
0
-18
16
0
0
2
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-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
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-15
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
-22
0
0
0
0
0
0
34
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-7
0
0
17
0
0
0
0
0
0
19
-3
0
0
59
0
0
0
0
0
0
-11
0
0
0
0
0
4
0
5
25
0
0
0
0
0
0
-1
29
0
0
32
0
0
0
2
10
0
-20
0
0
0
0
0
21
-85
-5
0
0
0
0
0
0
0
-40
-4
0
0
0
0
0
0
-7
-15
0
0
0
0
0
0
0
0
33
-2
0
0
15
0
0
0
0
-17
0
0
0
40
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-41
0
0
0
61
0
0
0
0
0
0
-10
0
0
0
0
0
0
23
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
-2
0
-20
-25
0
-2
0
0
0
0
9
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
56
0
0
0
0
0
0
-31
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
57
0
0
0
0
0
0
48
0
0
0
0
0
0
8
0
0
0
0
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
0
0
0
0
0
0
-6
0
0
0
-43
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
19
0
0
0
-21
0
0
0
0
0
0
-31
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
-5
0
3
116
0
0
0
0
0
0
54
-1
0
0
39
0
0
0
0
0
0
31
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
-12
0
0
0
-65
0
0
0
0
0
0
-45
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-34
2
0
0
0
0
0
0
-9
0
-1
71
0
0
0
0
0
0
23
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
23
0
0
0
0
0
0
-14
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
4
0
0
0
0
0
0
-28
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
77
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
28
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
-86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
-23
0
0
0
0
0
0
-42
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
52
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
61
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
-15
0
0
0
0
0
8
-43
0
5
0
-23
0
0
0
0
4
15
40
0
-13
0
0
0
24
23
23
0
0
13
0
0
-1
-1
-42
3
10
0
0
0
0
0
-7
14
3
34
0
0
0
0
0
18
16
9
21
0
109
0
0
23
-6
-6
-4
3
5
46
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
40
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-7
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-15
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-14
0
0
40
0
0
0
0
5
0
125
0
0
0
0
0
0
-23
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
82
0
0
0
-18
0
0
0
7
0
5
41
0
0
0
0
0
2
-45
-13
8
0
0
0
0
0
0
-21
9
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
4
0
0
13
0
0
0
0
0
0
22
0
0
0
58
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
6
29
0
0
0
0
0
13
3
8
0
0
-23
0
0
0
8
43
0
-55
0
0
0
0
0
-3
23
96
-30
0
0
0
0
0
5
19
31
1
0
0
0
0
0
-5
77
0
0
0
0
0
0
0
31
11
-3
46
0
6
0
0
0
-8
78
12
0
0
5
0
0
0
0
0
0
55
0
0
0
0
0
0
14
76
23
0
0
0
0
0
-10
64
-42
0
0
-19
0
0
0
30
16
17
0
0
0
0
0
0
44
-57
-4
-2
0
3
0
0
0
12
5
-17
0
-4
0
0
0
0
9
10
-8
-16
-3
0
0
0
0
-32
24
0
26
0
0
0
0
-25
34
-18
18
9
0
19
0
0
0
-3
13
0
24
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
31
0
0
0
-16
0
0
0
-2
0
0
-30
0
0
0
0
0
0
-25
-2
0
0
0
0
0
0
0
-5
35
0
0
0
0
0
0
0
-42
-4
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
-7
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
48
0
0
0
0
0
0
-40
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
76
0
0
0
-16
0
0
0
0
0
0
67
0
0
0
0
0
0
-49
12
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
7
0
0
0
-17
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-20
0
0
0
-22
0
0
0
0
0
2
17
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
33
0
0
0
0
0
3
43
39
0
0
37
0
0
0
64
0
16
-17
0
0
0
0
0
-10
0
8
0
0
0
0
0
0
-39
-5
31
0
0
0
0
0
0
5
-1
0
-8
0
0
0
0
0
7
-3
0
47
0
0
0
0
0
0
-12
2
0
0
10
0
0
0
0
0
0
-30
0
0
0
0
0
0
4
-28
31
0
0
0
0
0
16
-73
9
0
0
37
0
0
0
-2
13
32
30
0
15
0
0
0
-15
2
0
0
0
0
0
0
-2
41
-53
40
-29
12
20
0
0
0
-10
-5
-25
31
-7
0
0
0
-2
-23
28
10
45
-5
-26
0
0
14
-30
-76
-26
-35
-5
52
0
0
0
0
0
0
-17
0
0
0
0
0
0
18
-1
-9
0
0
0
0
0
-32
82
32
0
0
-3
0
0
0
54
-21
41
-12
0
2
0
0
0
8
14
51
0
0
15
0
0
0
-42
-75
-13
15
-5
9
0
0
0
-43
-12
-6
-20
0
-5
0
0
55
-31
-36
-17
44
23
43
0
0
-9
26
24
-15
0
0
-2
0
0
0
-42
0
0
-13
0
0
0
0
0
0
-10
34
19
0
0
0
0
0
0
45
2
2
0
-27
0
0
0
-7
-13
11
50
0
-4
0
0
0
-31
81
-54
0
0
-50
0
0
-16
3
-26
27
3
0
-1
0
0
0
-40
31
24
9
0
0
0
0
0
33
10
-5
-15
17
39
0
0
0
5
24
-43
-3
0
20
0
0
0
-61
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-30
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
38
0
0
0
0
0
0
35
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-7
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-37
0
0
0
0
0
0
-71
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
24
0
0
0
0
0
0
66
0
0
0
0
0
0
-3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
6
0
0
39
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
22
-1
23
0
0
0
0
0
0
-24
-29
0
0
55
0
0
0
8
3
-5
30
0
0
0
0
0
16
24
3
1
0
0
0
0
0
45
0
-3
0
0
0
0
0
0
2
-13
2
0
0
0
0
0
0
46
8
-13
8
0
0
0
0
0
0
54
5
0
0
4
0
0
0
0
0
0
16
0
0
0
0
0
18
-44
49
-38
0
0
0
0
0
11
69
72
2
0
18
0
0
0
49
3
22
-15
0
7
0
0
0
-4
9
-25
76
16
28
0
0
-7
-7
30
0
4
3
0
0
0
0
-13
-8
-12
-4
-26
67
0
0
-1
58
8
27
39
13
20
0
0
0
-13
-47
-16
14
20
16
0
0
-8
13
0
6
15
0
0
0
0
0
0
8
-8
-30
0
0
0
0
-2
-6
23
7
0
0
0
0
0
0
23
-2
-42
30
0
10
0
0
0
8
-16
48
-6
-8
0
0
0
-2
29
-42
18
0
0
-10
0
0
0
1
-13
-25
3
7
0
0
0
-1
-84
19
5
-30
0
43
0
0
0
-24
6
-58
15
-5
33
0
0
-1
3
66
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
5
0
0
19
0
0
0
3
0
9
10
0
-3
0
0
0
0
3
0
-4
0
4
0
0
0
0
2
-2
16
0
0
0
0
0
-8
14
0
0
0
0
0
0
0
-5
5
0
20
0
0
0
0
0
0
-49
3
0
0
39
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
19
0
0
0
0
0
0
90
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-7
0
0
0
46
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
0
0
0
0
0
0
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
70
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-41
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-56
0
0
0
0
0
0
40
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-4
0
79
0
0
0
0
0
0
9
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
-2
3
-5
60
0
0
0
0
0
3
-89
-13
0
0
24
0
0
0
8
-20
-33
28
0
0
0
0
0
12
23
-13
0
0
0
0
0
0
26
-18
3
-5
0
0
0
0
0
-39
0
-44
0
0
0
0
0
0
14
28
0
-4
-13
13
0
0
-15
-22
14
39
-43
0
45
0
0
0
0
0
0
25
0
0
0
0
0
41
-17
-22
65
0
0
0
0
0
-37
49
-53
-5
0
12
0
0
0
31
-2
23
24
0
-5
0
0
0
6
31
13
-31
0
30
0
0
13
-64
3
-25
-30
-14
5
0
0
0
2
33
0
-5
-2
28
0
0
0
-6
-30
16
33
-13
-43
0
0
5
10
32
-2
-2
3
26
0
0
0
-8
0
0
18
0
0
0
0
0
6
3
-40
42
0
0
0
0
0
48
19
16
0
0
10
0
0
0
-73
14
-49
-36
0
-1
0
0
0
20
31
6
-8
8
34
0
0
1
8
7
29
28
-6
0
0
0
0
-33
20
-20
0
-7
27
0
0
0
-87
2
-39
-7
18
-22
0
0
0
-32
32
4
8
0
6
0
0
0
25
0
0
-53
0
0
0
0
0
25
41
-5
-30
0
0
0
0
0
25
-31
-45
0
0
-5
0
0
0
26
9
5
3
0
-4
0
0
0
53
-10
15
13
8
-23
0
0
-9
1
-35
39
3
6
6
0
0
0
-9
-65
31
-9
0
6
0
0
0
48
32
-18
-9
13
-15
0
0
0
-37
7
-45
-1
0
2
0
0
-16
-12
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-34
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
13
0
0
0
0
0
0
40
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
8
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-32
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-29
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
32
0
0
0
-53
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
15
0
0
0
0
0
0
36
0
0
0
18
0
0
0
0
0
13
21
0
0
0
0
0
-6
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
9
0
-65
0
0
0
0
0
0
15
-3
0
0
32
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-14
-15
0
0
0
0
0
0
110
38
0
0
5
0
0
0
52
5
-41
-42
0
49
0
0
0
-5
2
7
0
0
28
0
0
0
0
-21
15
10
0
0
0
0
0
4
40
-8
-8
0
0
0
0
0
-27
0
0
-36
0
1
0
0
0
0
-50
0
-18
0
39
0
0
0
0
0
0
-27
0
0
0
0
0
1
67
-3
-6
0
0
0
0
0
25
-22
-62
0
0
22
0
0
0
-8
22
-14
4
0
16
0
0
0
29
-13
-47
-5
0
0
0
0
0
3
3
35
-5
5
-1
0
0
0
-27
22
48
2
-11
0
0
0
0
-25
15
0
-12
1
41
0
0
0
-13
24
-10
9
0
-17
0
0
0
1
0
0
0
0
0
0
0
0
-71
12
-91
-65
0
0
0
0
0
54
35
-11
47
0
1
0
0
0
29
22
-39
4
0
24
0
0
0
55
4
-60
-16
9
-6
0
0
6
-17
31
-23
-36
0
-15
0
0
0
8
-42
13
19
22
6
0
0
0
-16
26
41
0
0
58
0
0
8
-32
-33
-12
-34
0
6
0
0
0
8
2
1
12
2
0
0
0
0
0
-4
0
-37
0
0
0
0
0
0
-44
-4
0
0
-37
0
0
0
35
14
-20
-68
0
0
0
0
0
8
-7
5
-5
0
-1
0
0
0
14
28
-13
-8
0
0
0
0
0
5
84
2
28
8
5
0
0
0
-38
13
20
-6
0
17
0
0
0
0
29
6
-4
-7
35
0
0
0
-21
5
0
35
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
-44
0
0
0
-5
0
-5
-9
0
0
0
0
0
25
69
0
0
0
0
0
0
0
0
20
1
0
5
0
0
0
0
-34
-40
5
0
0
0
0
0
0
5
21
14
46
0
0
0
0
0
0
-44
17
0
0
2
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-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
0
0
-25
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
-38
0
0
0
0
0
0
12
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
-42
0
0
0
0
0
0
13
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
0
0
-25
0
0
0
0
0
0
27
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-7
0
0
0
-34
0
0
0
0
0
0
18
0
0
0
0
0
0
-13
38
2
0
0
0
0
0
4
13
13
0
0
10
0
0
0
2
0
2
97
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
-18
0
4
0
0
0
0
0
13
0
10
53
0
35
0
0
-1
9
0
0
0
0
-48
0
0
0
0
0
0
-9
0
0
0
0
0
14
49
-20
-34
0
0
0
0
0
-46
41
13
0
0
6
0
0
0
-5
17
33
42
0
-15
0
0
0
17
-2
-15
-3
0
0
0
0
0
19
-4
20
-9
0
5
0
0
0
3
-30
-32
2
-5
0
0
0
0
2
-44
31
6
0
29
0
0
0
-17
23
0
0
0
5
0
0
0
-5
0
0
16
0
0
0
0
0
0
0
-5
-46
0
0
0
0
0
-51
13
-22
0
0
-42
0
0
0
20
31
-16
-59
0
-16
0
0
0
-50
-30
-18
-7
0
6
0
0
0
22
-33
62
0
0
0
0
0
0
10
60
-25
-1
0
3
0
0
0
9
-2
20
12
0
17
0
0
0
38
4
-4
0
8
24
0
0
0
-21
9
0
-22
0
0
0
0
0
4
15
19
-100
0
0
0
0
0
2
50
-5
0
0
-21
0
0
0
13
8
56
-23
0
-13
0
0
0
-14
33
-6
1
0
0
0
0
0
23
42
-18
2
0
-5
0
0
0
-24
4
3
26
-4
59
0
0
0
-43
-8
18
-5
17
-4
0
0
0
8
-74
-3
0
0
14
0
0
0
4
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
22
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
13
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
2
20
0
0
0
0
0
8
-13
-1
0
0
-55
0
0
0
4
0
10
47
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
10
28
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
-24
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-55
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
55
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
9
0
0
0
67
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
0
0
46
0
0
0
0
0
0
23
12
0
0
47
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
26
-9
0
0
0
0
0
0
-8
0
0
-3
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-50
0
0
0
52
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-7
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-50
-14
0
0
0
0
0
0
-1
0
0
45
0
0
0
0
0
0
83
3
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
4
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
41
0
0
0
0
0
0
30
-32
0
0
0
0
0
0
13
8
0
-4
0
0
0
0
0
12
70
10
1
2
0
0
0
0
2
49
-2
-4
0
24
0
0
0
-1
46
0
0
1
0
0
0
0
36
0
6
56
0
0
0
0
0
0
-17
0
0
0
45
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-13
10
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
28
20
0
0
0
6
0
0
0
0
5
4
-6
0
0
0
0
0
0
9
-16
0
8
0
0
0
0
23
0
0
-15
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
2
-2
0
-22
0
0
0
0
0
16
111
0
-3
0
0
0
0
0
0
5
5
0
0
0
0
0
0
0
41
9
0
-5
0
0
0
0
-7
0
0
31
0
0
0
0
0
0
-8
0
0
0
38
0
0
0
0
0
0
-18
0
0
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
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
5
15
28
0
0
0
0
0
0
40
2
8
44
0
0
0
0
0
25
0
1
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
22
5
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
-20
0
54
-19
0
0
0
0
0
-17
31
-28
1
0
0
0
0
0
43
42
12
-26
0
0
0
0
0
40
-24
0
0
0
0
0
0
0
-15
-4
17
41
0
0
0
0
0
-6
36
-31
42
46
0
0
0
0
-26
20
5
40
0
-7
0
0
0
-22
14
47
0
0
44
0
0
0
3
0
0
30
0
0
0
0
0
43
12
-51
46
0
0
0
0
0
-24
23
-13
-2
0
0
0
0
0
31
0
27
-2
8
0
0
0
0
-23
48
-16
0
-1
15
0
0
0
-18
-14
63
-51
9
0
0
0
5
26
25
-3
2
-30
45
0
0
-19
-6
-3
-31
-3
-10
-5
0
0
0
16
-30
11
9
7
4
0
0
3
3
-5
3
-60
0
0
0
0
0
0
8
8
51
0
0
0
0
0
0
57
-12
0
0
0
0
0
0
9
5
8
5
0
0
0
0
0
-13
28
35
-1
0
5
0
0
0
0
-12
-2
10
0
0
0
0
0
0
-21
-35
7
0
0
0
0
0
9
-13
8
-48
0
2
0
0
0
-8
3
14
0
0
-3
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-23
-3
0
0
0
0
0
0
0
-20
0
16
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
73
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-32
0
0
0
20
0
0
0
0
0
0
13
0
0
0
0
0
-14
41
18
-6
0
0
0
0
0
19
-3
-14
1
0
0
0
0
0
-1
49
-33
31
-14
0
0
0
0
33
39
24
63
0
26
0
0
0
-23
27
0
16
1
0
0
0
0
-28
44
-8
11
8
22
0
0
0
-1
9
32
45
0
-3
0
0
0
-28
59
71
12
0
17
0
0
0
2
0
0
18
0
0
0
0
0
-13
16
-21
-10
0
0
0
0
0
1
-40
-6
0
0
0
0
0
0
-16
31
8
31
0
0
0
0
0
60
-18
71
10
0
0
0
0
0
-13
3
19
0
0
-9
0
0
0
-32
-11
33
0
-22
0
0
0
0
17
-10
13
-50
0
5
0
0
0
47
63
56
-7
0
23
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
33
-6
0
0
0
0
0
0
2
1
1
14
0
0
0
0
0
0
28
-7
-1
0
0
0
0
0
0
-15
2
6
0
0
0
0
0
1
-28
-2
0
0
0
0
0
0
-12
5
0
-11
0
0
0
0
0
0
49
-14
0
0
-43
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-7
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-3
-12
4
-10
0
0
0
0
0
0
41
37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
-1
13
46
0
7
0
0
0
23
-11
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
-9
9
9
-28
0
0
0
0
0
-14
51
-27
0
0
0
0
0
0
-13
6
19
-12
0
0
0
0
0
-17
2
-9
13
0
0
0
0
0
0
4
32
-14
0
0
0
0
0
43
59
0
1
19
0
0
0
0
-13
-55
-11
-15
0
3
0
0
0
2
17
8
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
-33
13
31
-34
0
0
0
0
-20
-32
45
42
6
0
0
0
0
0
-18
38
78
-45
5
0
0
0
-1
-84
20
21
-2
0
8
0
0
0
-32
64
-14
-8
0
0
0
0
0
-5
46
-49
0
-9
14
0
0
0
-17
-16
-17
8
0
0
0
0
0
6
-66
8
1
0
28
0
0
0
-8
0
0
-65
0
0
0
0
0
2
0
79
-27
0
0
0
0
0
12
44
10
0
0
0
0
0
4
-5
-4
-15
-30
0
0
0
0
0
-16
108
67
20
0
0
0
0
0
-5
-19
-20
8
0
-1
0
0
0
-18
48
10
4
0
0
0
0
0
-25
-13
0
6
0
0
0
0
0
-31
19
0
0
3
-40
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
0
0
0
14
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
58
0
0
0
0
0
0
0
-4
0
0
24
0
0
0
0
0
0
-5
5
0
0
3
0
0
0
0
-35
0
0
0
0
0
0
0
13
-16
0
7
0
0
0
0
0
4
0
0
42
0
0
0
0
0
0
6
4
0
0
78
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-40
-26
0
0
0
0
0
0
-1
1
-8
-23
0
0
0
0
0
2
-64
2
0
0
0
0
0
0
6
-34
13
15
0
0
0
0
0
7
17
-31
12
0
0
0
0
0
-19
-8
0
1
0
23
0
0
0
0
-5
0
-6
0
-23
0
0
0
0
0
0
5
0
0
0
0
0
14
-29
22
-20
0
0
0
0
0
1
16
23
-4
0
0
0
0
0
-29
59
-12
39
9
0
0
0
0
26
-39
41
-14
1
0
0
0
0
-4
-45
-16
49
0
12
0
0
0
28
-18
-30
27
5
0
0
0
0
-8
-24
-46
0
0
-31
0
0
0
-10
-30
34
2
0
-10
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
56
7
0
0
0
0
0
18
0
0
-6
-12
0
0
0
0
0
28
48
0
0
0
0
0
0
0
-5
19
0
0
0
0
0
0
0
9
5
-29
-5
0
0
0
0
0
12
-4
23
3
0
0
0
0
0
0
44
-3
-4
0
-56
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
7
0
0
-45
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-13
-10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
57
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
-10
0
0
11
0
0
0
0
0
0
0
1
0
0
30
0
0
0
0
0
0
-4
0
0
0
0
0
1
2
0
36
0
0
0
0
0
2
-15
20
0
0
0
0
0
0
-3
0
-2
6
0
0
0
0
0
-10
35
56
12
0
0
0
0
0
0
16
0
0
0
0
0
0
0
25
-22
-1
0
0
0
0
0
0
-10
0
-9
-29
0
0
0
0
0
16
-25
0
0
0
35
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-7
-21
19
0
0
0
0
0
0
14
31
-5
12
0
0
0
0
0
-7
11
-9
0
0
0
0
0
0
-22
67
9
16
0
0
0
0
0
18
50
4
6
0
0
0
0
0
12
19
2
41
0
0
0
0
0
7
-46
-12
0
0
-18
0
0
0
0
0
0
-10
0
0
0
0
0
0
-15
62
-43
0
0
0
0
0
-2
-9
-16
0
0
0
0
0
0
-21
38
-5
-33
0
0
0
0
0
17
-36
30
0
0
-2
0
0
0
0
-33
-5
3
9
0
0
0
0
10
29
15
0
1
0
0
0
0
14
-7
10
16
-1
3
0
0
0
-23
11
32
0
0
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
17
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
-27
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
16
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
43
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
31
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
21
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
7
0
0
0
22
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
10
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
-42
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
-19
0
0
0
0
0
0
-63
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
17
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
26
0
0
0
-15
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
92
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
-6
0
0
0
0
6
0
0
22
0
0
0
0
0
32
-23
8
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
7
0
0
35
0
0
0
0
0
0
-37
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-44
0
0
0
106
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
3
0
0
-19
0
0
0
0
0
0
-5
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
44
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-25
0
0
0
-7
0
0
0
0
0
0
-11
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
12
0
-5
0
0
0
0
52
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
33
0
0
0
-4
0
0
-13
0
-1
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
8
4
0
0
0
13
1
15
0
0
0
0
0
0
-2
0
0
14
0
0
0
0
0
0
57
-18
0
0
40
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
58
0
0
0
0
0
-5
25
0
0
0
20
0
0
0
0
0
0
34
0
0
0
0
0
0
11
-5
0
0
0
0
0
0
0
17
0
0
0
-7
0
0
0
0
-13
0
0
0
0
0
0
0
1
0
0
30
0
0
0
0
0
0
13
0
0
0
18
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-28
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
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
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
23
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
42
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
24
0
0
0
-91
0
0
0
0
0
0
-29
0
1
0
0
0
2
-17
-3
0
0
0
0
0
0
0
-7
0
0
-5
0
0
0
0
0
9
-3
0
0
0
0
0
0
22
75
0
80
0
3
0
0
0
0
47
11
0
0
83
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-15
0
0
0
-30
0
0
0
0
9
0
32
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
-20
10
0
0
24
0
0
0
-17
15
-2
-23
0
6
0
0
0
24
0
0
22
0
0
0
0
0
1
39
-29
0
0
53
0
0
0
1
19
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
78
0
0
0
0
0
0
-6
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-5
0
5
0
0
0
0
0
0
8
0
-5
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
-10
0
0
0
7
0
0
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
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-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
46
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
20
0
0
0
0
0
0
-15
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-41
0
0
0
55
0
0
0
0
0
0
8
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-5
43
5
0
0
0
0
0
6
-14
0
0
-13
0
0
0
0
0
-5
0
-8
0
0
0
0
0
0
-25
3
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
38
0
0
0
-59
0
0
0
0
0
0
-76
0
0
0
0
0
-8
-20
-1
0
0
0
0
0
-1
61
4
0
0
13
0
0
0
0
10
116
-20
0
-14
0
0
0
0
11
6
20
83
0
0
0
0
0
0
-29
-4
0
0
31
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-24
19
0
0
0
74
0
0
0
0
0
0
-58
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
5
1
28
0
-3
10
0
0
0
32
9
-4
-10
0
0
0
0
0
-35
-34
9
3
0
-1
0
0
0
1
-25
-24
0
0
32
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
77
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
12
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
-23
0
0
0
0
0
0
47
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
69
0
0
0
0
0
0
-23
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
23
1
0
0
19
0
0
0
4
0
0
43
0
0
0
0
0
0
29
-19
0
0
0
0
0
0
50
-15
8
0
0
-8
0
0
0
12
10
-41
-4
6
0
0
0
0
0
-23
0
0
0
5
0
0
0
0
-12
5
0
0
25
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-93
0
0
0
0
0
14
10
-8
0
0
23
0
0
0
26
0
0
-39
0
0
0
0
0
12
-23
32
-2
0
0
0
0
-13
-7
43
7
-4
27
0
0
0
0
-57
-58
68
6
54
0
0
0
0
36
0
-21
-12
0
-25
0
0
0
-5
20
71
2
0
13
0
0
0
10
29
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
44
0
0
0
0
0
0
-25
0
0
0
0
0
9
5
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
22
1
-68
0
0
0
0
0
0
-14
5
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
24
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
19
0
14
0
0
0
0
26
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
33
0
0
0
37
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
-9
51
9
0
0
0
0
0
0
0
-14
9
47
1
18
0
0
0
0
57
-4
0
0
57
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
67
0
0
0
-8
0
0
0
-1
5
0
27
0
0
0
0
0
18
13
0
0
0
0
0
0
0
4
24
4
0
4
0
0
0
0
0
7
-44
-7
0
0
0
0
0
16
-18
-3
5
0
0
0
0
0
0
27
-5
0
0
41
0
0
0
0
16
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
-20
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
8
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-63
0
0
0
0
0
0
5
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
0
0
0
0
0
0
-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
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
31
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
36
5
0
0
-2
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
21
0
0
0
-21
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
40
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
5
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-94
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
75
0
0
0
0
0
0
-5
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
95
0
0
0
0
0
0
10
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
-7
0
0
0
0
0
0
-23
0
0
0
0
0
0
25
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
60
-1
0
0
0
0
0
0
0
0
1
55
0
0
0
0
0
0
103
9
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
20
0
0
0
0
0
0
-7
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
21
-5
0
0
0
0
0
0
5
5
0
4
0
0
0
0
0
0
-14
-9
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
137
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-41
0
0
0
0
0
0
19
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
-13
0
0
0
0
0
0
-15
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
18
13
0
0
0
0
0
0
0
5
0
78
0
0
0
0
0
0
-22
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
114
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
6
0
0
0
25
0
0
0
0
30
18
5
0
-2
0
0
0
-31
-7
0
54
0
0
0
0
0
0
-31
-6
0
0
51
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
-38
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-1
0
0
0
0
0
3
0
4
9
0
0
0
0
0
0
15
16
0
0
17
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
34
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
23
0
0
0
131
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
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
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
22
0
0
0
17
0
0
0
0
0
0
97
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
-59
0
0
2
0
0
0
0
4
-1
0
36
0
0
0
0
0
0
23
35
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
23
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
2
0
3
0
0
0
0
0
2
-1
25
0
0
0
0
0
-3
-8
5
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
14
0
0
0
-21
0
0
0
0
0
0
63
0
0
0
0
0
-8
-21
0
0
0
0
0
0
0
0
1
2
2
0
25
0
0
0
30
-21
60
0
0
0
0
0
0
-8
23
0
63
0
-2
0
0
0
0
-36
-6
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-50
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
24
0
0
0
0
0
0
-5
0
0
-19
0
0
0
0
0
0
-5
-1
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
-3
-26
0
0
0
34
0
0
0
0
0
0
-29
0
0
0
0
0
18
-34
0
6
0
0
0
0
0
3
31
8
0
0
0
0
0
0
47
-22
6
-5
21
0
0
0
0
8
-5
0
0
0
8
0
0
0
-4
27
-34
0
0
41
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
0
0
33
0
0
0
0
0
0
38
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
44
-19
8
8
-6
-25
0
0
0
-17
65
55
14
-5
5
0
0
0
49
-14
-12
-29
0
-11
0
0
0
-5
22
31
-4
0
-17
0
0
0
-2
4
0
54
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
43
0
0
0
98
0
0
0
0
0
0
-45
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-5
-5
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
40
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
-12
0
0
0
0
0
0
38
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-12
41
10
0
0
0
0
0
0
1
-4
0
29
0
-2
0
0
0
0
33
0
0
0
24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
-6
0
0
0
-1
0
0
-56
0
0
0
0
0
0
23
0
0
0
0
0
0
0
2
26
7
0
0
0
0
0
0
1
67
8
0
0
0
0
0
0
10
30
0
98
0
0
0
0
0
2
58
-9
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
2
0
0
0
-25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
10
0
0
0
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
0
0
35
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
9
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
25
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
5
3
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
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
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
22
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
23
0
0
0
0
0
0
-9
5
0
0
-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
-39
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
28
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
46
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
-5
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-2
18
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
33
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
52
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
15
-4
0
0
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
-1
0
32
0
0
0
0
0
0
51
4
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
-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
6
0
0
64
0
0
0
0
0
0
-25
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
43
-13
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
9
0
0
0
-59
0
0
0
0
0
0
-41
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
0
-12
0
0
0
2
0
0
0
-4
-1
25
-15
0
0
0
0
0
-17
16
12
30
0
0
0
0
0
0
-17
-2
17
0
22
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-44
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
24
0
0
0
0
0
0
34
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
77
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
5
-1
0
-51
0
0
0
0
0
0
28
-9
0
0
11
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
72
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-24
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
31
0
0
0
17
0
0
0
0
0
0
48
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
9
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
33
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
-7
0
0
0
-62
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
31
0
0
0
-89
0
0
0
0
0
0
-14
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
2
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-50
0
0
0
-41
0
0
0
0
0
0
23
0
0
0
0
0
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
31
0
0
0
105
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-33
0
0
0
-12
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
27
0
0
0
49
0
0
0
0
0
0
-28
0
0
0
0
0
23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-21
1
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
19
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
21
0
0
0
24
0
0
0
0
0
0
-43
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-12
0
18
0
0
0
0
0
0
5
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
40
0
0
0
0
0
0
8
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-13
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
28
0
0
0
22
0
0
0
0
0
0
-33
0
0
0
0
0
-8
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-3
0
0
0
0
0
0
0
-4
0
25
0
0
0
0
0
0
9
2
0
0
30
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
20
0
0
0
0
0
0
65
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
35
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-6
0
0
0
-40
0
0
0
0
0
0
62
0
0
0
0
0
0
34
5
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-43
0
0
0
-4
0
0
0
0
0
0
36
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-27
33
1
-12
0
0
0
0
-19
0
0
-117
0
0
0
0
0
0
-18
64
0
0
72
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
15
0
0
0
0
0
0
-64
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
0
0
23
0
0
0
63
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
80
0
0
0
78
0
0
0
0
0
0
-23
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
5
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
0
0
-53
0
0
0
0
0
0
51
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
-38
0
9
0
0
0
0
29
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-37
0
0
0
-4
0
0
0
0
0
0
31
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
48
0
0
0
37
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-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
0
-28
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
1
0
0
-38
0
0
0
4
0
0
67
0
0
0
0
0
0
-45
5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
33
0
0
0
64
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
6
0
0
-69
0
0
0
-4
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
0
0
42
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
41
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-8
0
0
0
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
-5
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-30
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
-5
0
0
0
0
0
0
-58
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
4
0
0
-48
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
4
0
0
0
9
0
0
16
0
0
0
0
0
0
-58
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-25
1
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
24
0
0
0
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
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
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
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-28
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
11
0
0
0
30
0
0
0
0
0
0
13
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
21
0
0
0
-69
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
8
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
-19
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-27
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
1
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
13
0
0
0
19
0
0
-20
0
0
0
0
0
0
42
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
38
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-43
0
0
0
-48
0
0
0
-7
0
0
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-66
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
21
-41
0
0
64
0
0
0
-7
0
0
40
0
0
0
0
0
0
-34
13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
37
2
0
0
0
0
0
0
21
0
0
13
0
-1
0
0
0
0
15
52
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
13
0
0
0
0
0
0
-49
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-47
-13
0
0
-30
0
0
0
9
0
0
77
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-17
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-38
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-35
77
0
0
0
0
0
0
-5
15
49
-52
0
7
0
0
0
0
-16
-7
0
0
39
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
21
0
0
0
0
0
0
-25
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
1
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
39
0
0
0
0
0
0
-67
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
36
0
0
0
0
0
0
19
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
21
0
0
0
-18
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
47
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
99
0
0
0
0
0
0
-5
0
0
0
-9
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
0
0
-52
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
17
0
0
0
-28
0
0
0
-6
0
0
98
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-21
1
0
0
0
0
0
0
0
20
-16
0
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
42
0
0
0
54
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-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
0
0
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
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
58
0
0
0
0
0
0
-35
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
0
0
-34
0
0
0
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
30
0
0
0
23
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
9
0
0
0
0
0
0
-1
0
0
37
0
0
0
0
0
0
9
0
0
0
-24
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-33
-1
1
0
30
0
0
0
18
1
0
121
0
0
0
0
0
9
12
-7
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
5
0
0
66
0
0
0
0
0
0
0
13
0
0
-3
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
22
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
-32
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
-42
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
72
0
0
0
-26
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
39
0
0
0
8
0
0
0
-7
-2
0
-33
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
5
6
0
0
0
0
0
0
1
4
-2
3
0
0
0
0
0
3
-25
0
67
0
0
0
0
0
0
7
1
0
0
15
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-47
5
0
0
30
0
0
0
2
0
0
-26
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
3
8
0
0
27
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
41
0
0
0
-8
0
0
0
-27
-3
0
40
0
0
0
0
0
2
32
7
0
0
0
0
0
0
0
-12
5
0
22
0
0
0
0
0
-27
-31
-18
0
0
0
0
0
14
2
34
9
0
0
0
0
0
0
30
25
0
0
25
0
0
0
0
0
15
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
13
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
71
0
0
0
0
0
0
-8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
87
0
0
0
0
0
0
76
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
123
0
0
0
0
0
0
23
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
26
0
0
0
-3
9
0
-8
0
0
0
0
0
0
35
-6
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-17
7
0
0
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
45
0
-12
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
-41
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
8
0
0
0
0
0
3
0
0
22
0
0
0
0
0
0
-32
-1
0
0
-30
0
0
0
-7
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
47
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
15
0
0
0
0
0
0
75
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
27
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
0
0
49
0
0
0
-4
0
0
-36
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
-4
-13
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
29
0
0
0
46
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
45
0
0
0
-20
0
0
0
-8
5
0
-16
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
34
-24
0
0
2
0
0
0
-14
0
0
48
0
0
0
0
0
0
10
40
0
0
7
0
0
0
-7
0
0
-5
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-24
4
0
0
70
0
0
0
1
8
0
-46
0
0
0
0
0
-7
-10
5
6
0
0
0
0
0
17
30
93
0
0
0
0
0
0
0
45
8
2
0
0
0
0
0
49
-5
3
-59
0
0
0
0
0
0
-26
12
0
0
20
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-26
0
0
0
0
0
0
55
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-2
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
61
0
0
0
-12
0
0
0
0
0
0
22
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-98
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
3
0
0
0
-58
0
0
0
-12
0
0
41
0
-32
0
0
0
0
73
38
-4
0
0
0
0
0
0
5
26
0
0
0
0
0
0
0
-35
-5
1
0
0
0
0
0
0
20
-5
0
0
0
0
0
0
0
-14
2
0
0
9
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-14
0
0
0
40
0
0
0
4
0
0
8
0
0
0
0
0
7
-3
10
0
0
0
0
0
0
2
-16
3
0
0
19
0
0
0
7
-35
-58
5
0
0
0
0
0
-26
-21
-2
-37
0
0
0
0
0
0
13
-21
0
0
43
0
0
0
3
-15
0
-12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-23
0
0
0
-45
0
0
0
0
0
0
-35
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
7
0
0
33
0
0
0
0
0
0
-15
0
0
0
40
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-39
0
0
0
36
0
0
0
0
-1
0
43
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
45
0
0
0
93
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
57
0
2
0
5
0
0
0
1
0
0
29
0
-1
0
0
0
0
-16
-4
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
-8
-10
0
0
0
0
0
0
-10
3
-5
19
0
0
0
0
0
0
-38
19
0
0
32
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
21
0
0
0
-37
0
0
0
29
3
0
-89
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
-3
28
-6
4
0
0
0
0
0
9
23
0
21
0
0
0
0
0
0
-7
-2
0
0
34
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
7
0
0
0
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
52
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
7
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
26
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
7
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
16
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
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
-5
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
143
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
17
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
47
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-15
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-9
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-20
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-25
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
25
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
11
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
17
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
22
-6
0
30
0
0
0
0
-16
0
7
-10
0
0
0
0
0
0
-30
6
0
0
41
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-30
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-18
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
30
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-5
0
0
0
18
0
0
0
0
-5
0
48
0
0
0
0
0
0
-35
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
12
0
0
0
9
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-19
0
0
41
0
0
0
0
1
1
50
0
1
0
0
0
-1
18
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
29
0
0
0
36
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
17
4
0
0
8
0
0
0
-4
-5
0
75
0
0
0
0
0
1
-34
-9
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-13
0
0
0
96
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
34
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-34
0
0
0
-30
0
0
0
0
0
0
48
0
0
0
0
0
-3
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-10
0
0
0
40
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
35
4
0
0
2
0
0
0
33
3
0
28
0
0
0
0
0
27
51
-8
-10
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
-59
8
0
0
0
0
0
0
-4
-5
0
-40
0
0
0
0
0
0
14
-3
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
4
0
0
0
0
0
2
-49
27
0
0
-21
0
0
0
-23
-2
0
0
0
4
0
0
0
0
12
9
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
14
12
7
1
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
59
0
0
0
59
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
41
0
0
0
0
0
0
20
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-13
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
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
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
99
0
0
0
-78
0
0
0
-1
1
0
6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-10
0
0
0
-7
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
41
0
0
0
89
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-120
-28
0
0
28
0
0
0
0
57
1
32
0
4
0
0
0
11
-13
0
0
0
0
0
0
-6
0
-16
1
0
-14
6
0
0
0
14
95
0
1
0
0
0
0
3
10
10
17
-34
0
15
0
0
0
0
-28
-5
-5
0
34
0
0
0
-4
0
0
24
0
0
0
0
0
0
14
0
-18
0
0
0
0
0
0
-3
-3
0
0
-3
0
0
0
31
43
-8
5
0
0
0
0
0
-10
51
3
0
0
0
0
0
0
0
-18
4
-14
0
0
0
0
0
-3
63
24
0
0
0
0
0
0
-13
-13
8
49
0
0
0
0
0
19
22
48
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
38
0
0
0
-67
0
0
0
0
0
0
-29
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
9
0
0
-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
-42
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
45
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
34
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
41
0
0
0
0
0
0
5
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
10
3
0
0
41
0
0
0
0
0
0
-46
0
0
0
0
0
0
30
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
27
0
0
0
14
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
18
-6
0
0
49
0
0
0
-40
0
0
45
0
0
0
0
0
-2
-19
94
16
0
0
0
0
0
10
-8
0
0
0
0
0
0
0
-20
3
-5
-4
0
0
0
0
0
-7
-5
0
6
0
0
0
0
0
0
2
-53
0
0
-29
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
90
0
0
0
0
0
0
-5
0
0
0
2
0
0
0
1
1
0
-59
0
-3
0
0
0
-6
41
27
-2
0
0
0
0
0
2
11
-6
0
0
-3
0
0
0
-8
36
31
3
0
0
0
0
0
8
2
0
-6
0
0
0
0
0
0
21
0
0
0
16
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
20
0
0
0
-1
0
0
0
0
0
0
38
0
0
0
0
0
0
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-2
0
0
0
47
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
64
0
0
0
3
0
0
0
-3
0
0
-16
0
0
0
0
0
0
-60
28
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-19
0
0
0
42
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
-5
-29
17
4
0
16
0
0
0
-7
1
0
30
0
0
0
0
0
0
-2
-30
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-5
0
2
44
0
16
0
0
0
0
74
0
0
0
28
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
49
0
0
0
0
0
0
26
-22
0
0
-16
0
0
0
5
-25
0
57
0
0
0
0
0
-4
34
15
7
0
0
0
0
0
-1
18
0
-5
0
0
0
0
0
0
-6
-35
0
0
3
0
0
0
-9
5
0
36
0
0
0
0
0
0
-27
48
0
0
1
0
0
0
0
0
0
27
0
0
0
0
0
0
-4
0
-33
0
0
0
0
0
0
-27
-17
0
0
-16
0
0
0
-25
-1
18
-23
0
0
0
0
0
13
27
-7
0
0
0
0
0
0
0
-40
5
-10
0
-1
0
0
0
-12
-4
-5
-5
0
0
0
0
0
4
0
0
64
0
8
0
0
0
-6
-12
31
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
53
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-31
0
0
0
37
0
0
0
0
0
0
14
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
19
-29
0
0
39
0
0
0
0
0
0
52
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
-36
0
0
2
0
0
0
0
0
0
-10
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
-12
-25
-4
25
0
0
0
0
0
-9
50
50
0
0
-21
0
0
0
-49
17
-30
-5
0
0
0
0
0
-10
10
-21
0
0
0
0
0
0
2
-12
20
-3
0
-5
0
0
0
0
-32
0
0
0
0
0
0
0
-8
-6
41
0
0
15
0
0
0
0
30
-10
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
0
0
13
0
0
0
0
12
0
60
0
0
0
0
0
-1
5
19
0
0
0
0
0
0
0
-24
43
0
-8
-7
0
0
0
19
-7
33
-1
-52
0
0
0
0
-8
5
2
5
0
0
0
0
0
0
-42
8
0
0
35
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-36
0
0
0
13
0
0
0
0
0
0
31
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
11
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-33
-9
0
0
85
0
0
0
-12
39
0
-18
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
10
0
-24
0
0
0
0
0
0
-51
0
0
0
22
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-31
0
0
0
47
0
0
0
0
0
0
-24
0
0
0
0
0
0
-7
0
-2
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
12
0
-4
0
0
0
0
0
0
-6
0
0
-50
0
0
0
0
0
0
-6
0
0
0
20
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
22
-10
0
0
15
0
0
0
4
0
0
48
0
0
0
0
0
-13
-5
-13
0
0
0
0
0
0
-3
21
7
0
0
62
0
0
0
7
16
51
0
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
20
-2
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
-34
0
0
0
0
-3
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
49
0
0
0
0
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
37
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
22
0
0
0
-11
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-28
2
0
0
34
0
0
0
5
0
0
110
0
0
0
0
0
1
24
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
58
0
0
0
0
0
0
110
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
98
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-27
5
0
0
-63
0
0
0
1
2
0
-13
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
46
0
0
0
-34
0
0
0
0
0
0
-7
0
0
0
0
0
-12
0
0
71
-2
0
0
0
0
3
8
59
0
0
-9
0
0
0
-3
6
-17
0
0
0
0
0
0
0
-24
59
9
0
0
0
0
0
0
-14
0
13
0
0
0
0
0
0
57
-26
0
6
0
0
0
-5
0
0
2
67
0
-4
0
0
0
0
18
-20
0
0
-43
0
0
0
6
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
43
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-101
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
8
0
0
0
-41
0
2
18
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-16
0
0
0
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
46
0
0
29
0
0
0
32
2
0
-44
0
0
0
0
0
-33
15
0
0
0
0
0
0
0
0
-10
4
-31
0
0
0
0
0
3
-11
-5
0
0
0
0
0
0
0
0
9
26
0
-6
0
0
0
0
44
0
0
0
-7
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-25
-1
0
0
3
0
0
0
0
15
34
-17
0
0
0
0
0
1
-5
19
0
5
0
0
0
0
3
6
0
1
0
0
0
0
0
-2
53
30
0
0
0
0
0
6
0
2
0
28
0
0
0
0
0
0
-3
0
0
0
-5
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
21
0
0
0
60
0
0
0
-23
-9
5
18
0
0
0
0
0
0
3
30
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
58
8
0
0
0
0
0
0
1
0
0
55
0
0
0
0
0
0
7
7
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
3
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
23
5
0
0
36
0
0
0
-2
0
-3
30
0
0
0
0
0
-5
40
3
0
0
0
0
0
0
-5
25
0
0
0
0
0
0
0
3
34
14
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
84
-24
0
0
-51
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-66
0
0
0
19
0
0
0
-7
0
13
54
0
0
0
0
0
-3
15
15
-2
0
0
0
0
0
0
50
25
0
0
0
0
0
0
0
25
-32
4
0
0
0
0
0
6
0
0
1
0
-6
0
0
0
0
32
1
0
0
35
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
33
-1
0
0
-34
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
34
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
22
0
0
18
0
0
0
0
0
-3
7
0
0
0
0
0
10
30
38
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
3
73
0
0
0
0
0
0
0
0
3
0
13
0
0
0
0
0
0
-26
0
0
0
21
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-7
-21
0
0
0
0
0
0
-19
-2
0
0
-19
0
0
0
0
0
10
13
0
0
0
0
0
16
42
-6
0
0
0
0
0
0
0
50
1
0
0
0
0
0
0
5
-22
11
0
0
0
0
0
0
8
-8
0
3
0
-3
0
0
0
0
-13
0
0
0
35
0
0
0
0
0
12
-15
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
27
0
0
0
-27
0
0
0
0
0
0
-24
0
0
0
0
0
0
29
-1
0
0
0
0
0
0
0
1
21
0
0
0
0
0
0
-1
13
-9
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-4
-3
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
76
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-6
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
3
0
0
0
0
0
0
0
-5
0
17
0
0
0
0
0
0
-12
0
0
0
27
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
4
21
0
0
0
0
0
0
48
-55
0
0
-19
0
0
0
-1
0
1
87
0
0
0
0
0
-2
-45
-3
4
0
0
0
0
0
-5
70
6
53
0
0
0
0
0
0
-30
-2
0
0
0
0
0
0
0
-3
5
0
0
-1
0
0
0
0
57
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-21
0
0
0
23
0
0
0
0
0
0
-9
0
0
0
0
0
3
39
0
0
0
0
0
0
0
0
21
-3
0
0
0
0
0
0
-8
-93
16
0
0
0
0
0
0
0
0
-1
-27
0
13
0
0
0
0
-58
-37
0
0
11
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
52
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
4
2
0
0
33
0
0
0
-3
0
0
-13
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
14
0
0
0
33
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
-74
0
0
0
8
3
0
-6
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-21
-43
0
2
0
0
0
0
0
-5
0
0
-3
0
0
0
0
0
0
-2
0
0
0
20
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
79
0
0
0
28
0
0
0
0
0
0
4
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
3
0
0
9
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
9
0
0
-19
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-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
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
50
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
13
0
0
0
52
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
11
0
0
0
37
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
49
0
0
0
-9
0
0
0
2
19
0
-26
0
-1
0
0
0
5
-4
-21
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
-7
0
0
47
0
0
0
0
0
0
39
-5
0
0
1
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
31
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
48
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
112
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
104
0
0
0
0
0
0
33
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-15
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
-19
0
0
0
-9
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
36
0
0
0
0
0
-2
23
0
0
0
-24
0
0
0
0
0
0
0
0
13
0
0
0
23
-40
5
0
0
0
0
0
0
18
4
30
0
0
0
0
0
0
3
-2
8
-5
1
0
0
0
0
8
0
0
17
0
0
0
0
0
0
5
-6
0
0
76
0
0
0
0
8
0
32
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-49
18
0
0
-16
0
0
0
-6
69
1
-22
0
-25
0
0
0
87
-8
-17
0
0
0
0
0
0
-5
0
0
4
-5
0
0
0
0
0
58
0
0
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
28
0
0
0
-29
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
26
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
-10
0
0
0
4
-4
0
-12
0
0
0
0
0
4
29
0
0
0
0
0
0
0
-2
22
-8
0
0
0
0
0
0
0
42
24
0
0
0
0
0
0
0
-1
0
-6
0
31
0
0
0
0
31
-1
0
0
91
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-13
0
0
0
11
0
0
0
0
0
0
32
0
0
0
0
0
-1
83
50
0
0
0
0
0
0
8
17
2
0
0
1
0
0
0
-1
32
27
0
0
0
0
0
0
5
0
0
34
0
0
0
0
0
0
78
0
0
0
13
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
19
0
0
0
0
0
7
19
3
0
0
29
0
0
0
6
0
0
-20
0
0
0
0
0
0
-21
-2
0
0
0
0
0
0
9
2
21
0
0
-5
0
0
0
-2
-53
9
0
0
0
0
0
0
0
0
0
62
0
18
0
0
0
0
9
-25
0
0
26
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
17
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
1
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
15
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-41
0
0
0
0
0
0
66
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-57
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-7
8
0
0
24
0
0
0
0
0
0
2
0
0
0
0
0
0
21
0
0
-4
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-19
9
0
0
0
0
0
0
-5
7
0
31
0
0
0
0
0
0
66
5
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
4
0
0
17
0
0
0
14
1
0
-2
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
7
0
0
0
31
0
0
0
0
5
9
0
-35
-1
0
0
0
-2
45
0
23
0
-23
0
0
0
0
-49
-15
0
0
33
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
42
0
0
0
1
0
0
-55
0
0
0
0
0
0
19
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-34
0
0
0
0
0
0
-6
-1
0
8
0
1
0
0
0
0
31
-1
0
0
25
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
34
0
0
0
0
0
0
6
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
7
0
0
0
26
0
0
0
0
0
0
-12
0
0
0
0
0
5
29
2
0
0
0
0
0
0
5
47
-8
0
-1
13
0
0
0
0
30
0
0
-14
0
0
0
0
5
34
18
-24
0
5
0
0
0
0
-54
27
0
0
27
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
5
0
0
0
11
0
0
0
0
0
0
15
0
0
0
0
0
28
31
13
0
0
0
0
0
0
-17
23
0
-5
0
-6
0
0
0
-19
49
2
0
7
19
0
0
0
-5
6
8
40
0
-12
0
0
0
0
-41
-21
0
0
68
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-2
104
0
0
0
0
0
0
-3
0
0
0
-25
0
0
0
0
-19
0
42
0
0
0
0
0
18
9
0
0
0
0
0
0
13
0
-8
5
0
0
36
0
0
0
9
63
57
-10
0
0
0
0
0
-2
3
6
13
0
-22
0
0
0
0
50
-20
-12
0
4
0
0
0
6
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
24
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-59
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
7
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-39
0
0
0
-17
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
-3
11
0
0
0
0
0
0
0
-11
0
0
-22
0
0
0
0
0
0
13
0
0
0
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
13
0
-22
0
0
0
0
0
0
18
-9
0
0
59
0
0
0
0
0
0
-43
0
0
0
0
0
-7
73
8
0
0
0
0
0
3
-7
1
-17
5
0
3
0
0
0
-16
21
-2
15
3
0
0
0
0
10
-21
7
0
0
-63
0
0
0
0
50
-3
-6
0
-17
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
77
0
0
0
0
0
2
-36
-1
0
0
-21
0
0
0
5
0
-1
-11
0
0
0
0
0
63
-6
-16
2
0
14
0
0
38
82
5
10
-18
5
4
0
0
0
26
33
-18
-42
-37
0
0
0
0
20
-38
-39
4
0
-23
0
0
0
13
22
-65
-3
0
-13
0
0
0
40
75
0
-48
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-53
0
0
0
53
0
0
0
0
0
0
79
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
46
0
0
0
2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
15
-18
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-3
0
0
24
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
-58
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
17
0
0
0
0
0
0
5
0
0
0
-55
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-45
0
0
0
-10
0
0
0
0
0
0
34
0
0
0
0
0
0
13
0
0
0
0
0
0
0
10
18
0
0
0
0
0
0
0
32
-25
24
5
-8
0
0
0
0
20
21
0
63
0
29
0
0
0
0
22
40
0
0
81
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
13
0
0
0
24
0
0
0
0
0
0
13
0
0
0
0
0
14
49
0
0
0
0
0
0
0
8
55
-20
0
0
0
0
0
0
31
-45
52
24
31
0
0
0
0
2
-64
20
-24
0
-14
0
0
0
0
15
-27
3
0
60
0
0
0
0
0
-2
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
27
0
0
0
0
0
0
-3
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-82
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
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
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
28
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
8
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
29
0
0
0
0
0
0
28
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
36
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-41
0
0
0
0
0
0
67
0
0
0
0
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
0
0
0
0
0
0
17
0
0
0
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
101
0
0
0
0
0
0
-6
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
24
8
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
30
0
0
0
-6
0
0
62
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-6
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-8
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
12
0
0
0
0
0
0
43
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
9
1
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-32
0
0
0
0
0
0
25
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
10
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-8
0
0
0
-30
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
7
0
0
0
-20
0
0
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
-13
0
0
0
0
0
0
41
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-41
-6
0
0
0
0
0
0
0
0
0
-19
0
50
0
0
0
0
9
0
0
0
-31
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
77
0
0
0
0
0
0
16
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-52
0
0
0
21
0
0
0
0
0
0
-20
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
5
16
-1
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-57
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
53
-49
9
0
6
0
0
0
0
9
-5
-8
1
0
1
0
0
0
0
-11
-37
1
0
53
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
66
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
16
0
0
0
26
0
0
0
0
0
0
-77
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-9
36
0
0
0
0
0
0
0
0
0
95
0
6
0
0
0
0
17
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
34
0
0
0
0
0
0
-51
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-21
0
0
0
58
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
-13
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
16
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-21
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-2
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-57
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-43
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
2
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
72
0
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
10
0
0
0
-11
0
0
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
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
101
0
0
0
0
0
0
-7
-1
0
0
33
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
46
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-20
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-14
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
15
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-10
0
0
0
14
0
0
0
0
0
0
-29
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
3
3
0
0
35
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
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
0
0
0
0
0
0
25
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
-34
0
0
0
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
56
0
0
0
51
0
0
0
0
0
0
-3
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
7
11
1
3
8
0
0
0
0
-2
0
43
30
0
1
0
0
0
0
11
-5
0
0
-10
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
2
0
0
0
54
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
92
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
5
0
0
0
53
0
0
0
0
0
0
43
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-28
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
77
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-50
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-5
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-76
0
0
0
0
0
0
56
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-48
0
0
0
0
0
0
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-32
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
58
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
11
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
19
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
22
0
0
0
0
0
0
22
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-32
0
0
0
0
0
0
46
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-8
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-26
0
0
0
0
0
0
41
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
5
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
51
0
0
0
0
0
0
-30
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
12
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
-26
0
0
0
2
0
0
20
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
0
0
0
0
0
0
-4
0
0
-2
0
0
0
0
0
0
26
-9
0
0
5
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
36
0
0
0
0
0
0
71
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-103
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
20
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
125
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
23
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
-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
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-6
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
18
0
0
0
-19
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
-38
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
-22
0
0
0
-26
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
111
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
26
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
12
0
4
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
11
0
0
0
-66
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
43
0
0
-75
0
0
0
0
2
3
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-23
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
37
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-20
0
0
0
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
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-2
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
35
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
1
0
0
0
50
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-16
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-12
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
25
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-43
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-33
31
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
-11
-9
0
0
-13
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-35
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
19
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-51
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
44
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
37
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-23
0
0
0
45
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
0
0
40
0
0
0
0
0
0
-42
-4
0
0
68
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
77
0
0
0
-9
0
0
0
0
0
-4
-17
0
0
0
0
0
-7
0
-2
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
5
-6
0
0
0
0
0
0
0
2
0
59
0
28
0
0
0
0
24
0
0
0
46
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
67
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
17
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
1
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
21
0
0
0
14
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
16
-5
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
3
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
0
0
0
0
0
-5
11
22
0
-5
0
0
0
0
-6
1
1
67
0
0
0
0
0
0
42
-19
0
0
35
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
3
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-40
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
18
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-33
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-39
0
0
0
13
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-12
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
16
23
0
0
48
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-16
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
34
0
0
0
4
0
0
-22
0
0
0
0
0
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
-22
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-6
8
0
0
53
0
0
0
8
0
0
-31
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
9
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
7
0
0
0
27
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-46
0
0
0
57
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
42
0
0
0
-4
0
0
8
0
0
0
0
0
-12
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
29
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
9
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
3
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
20
0
0
0
10
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-29
17
0
0
85
0
0
0
-9
0
23
40
0
0
0
0
0
11
-46
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
14
0
0
0
61
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
16
0
0
0
-46
0
0
0
0
0
0
91
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
43
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
62
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-27
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-22
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
25
0
0
0
33
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
10
0
0
0
-3
0
0
0
13
0
0
71
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
56
13
-1
0
0
0
0
0
2
0
0
6
0
0
0
0
0
0
11
0
0
0
90
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-14
0
0
0
0
0
0
46
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
25
0
0
0
50
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-38
0
0
0
5
0
0
0
5
5
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
-31
0
0
-24
0
0
0
0
0
0
-2
2
0
0
10
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
33
0
0
0
4
0
0
84
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
37
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-23
0
0
0
110
0
0
0
0
0
0
75
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-16
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
29
0
0
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
31
0
0
0
64
0
0
0
0
0
0
22
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
5
0
36
0
0
0
0
0
0
-29
0
0
0
49
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
-34
0
0
0
0
0
0
-21
0
0
0
0
0
0
-39
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
10
0
110
0
0
0
0
0
0
16
-3
0
0
47
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
5
-48
8
2
0
41
0
0
0
27
2
0
37
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
49
-5
-6
0
0
0
0
0
0
-31
0
6
0
0
0
0
0
0
9
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-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
-25
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
0
66
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
3
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
21
0
0
0
13
0
0
0
0
0
0
-47
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
4
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
46
0
0
0
1
0
0
-64
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
18
7
0
0
0
0
0
0
0
0
19
0
0
-3
0
0
0
0
0
6
0
0
-2
0
0
0
0
15
0
0
0
43
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
27
0
0
0
5
0
0
13
0
0
0
0
0
0
64
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-7
-27
29
0
0
0
0
0
0
21
9
32
-15
0
0
0
0
0
0
2
-32
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
5
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
45
0
0
0
0
0
0
13
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
0
0
0
0
0
0
6
0
0
0
86
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
27
0
0
0
-3
0
0
0
0
0
0
17
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-21
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
8
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-12
0
0
0
30
0
0
0
0
0
0
-35
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
4
0
0
0
0
0
0
0
-1
0
33
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
0
0
0
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
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-11
0
0
0
0
0
0
34
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
10
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
52
0
0
0
0
0
0
8
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
27
0
0
0
6
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
2
0
0
-42
0
0
0
0
0
0
5
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-24
0
0
0
41
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
36
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
42
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
30
0
0
0
0
0
0
37
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
7
0
0
0
33
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
36
0
0
0
0
-1
-8
0
0
0
0
0
0
-2
-17
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
7
-22
0
-3
0
0
0
0
-8
0
7
0
-5
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
1
0
0
53
0
0
0
8
0
0
23
0
0
0
0
0
0
-36
-5
0
13
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-46
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-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
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
22
0
0
0
-8
0
0
0
0
0
0
38
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
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
20
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
29
0
0
0
0
0
0
-15
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-5
16
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
-74
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
20
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
56
-8
0
0
26
0
0
0
0
0
0
-86
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
-16
0
0
0
0
0
0
-24
0
0
0
126
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
2
0
0
0
0
0
0
-23
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
15
7
0
0
-53
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
43
0
0
0
0
0
0
-45
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
76
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
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
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-14
0
0
0
0
0
0
-21
0
0
0
0
0
0
-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
21
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
35
0
0
0
0
0
4
-50
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
-24
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-51
0
0
0
0
0
0
-8
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
52
-58
1
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
20
0
0
0
25
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-22
0
0
0
-19
0
0
0
0
0
0
52
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-5
-8
0
0
5
0
0
0
0
-22
-2
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
-7
0
0
0
80
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
1
0
0
0
0
0
0
58
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-4
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-33
0
0
0
-28
0
0
0
0
0
0
-30
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-6
26
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
10
4
0
0
0
0
0
0
0
5
0
0
0
-31
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
19
0
0
0
54
0
0
0
0
0
0
10
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
22
4
0
-7
7
0
0
0
-22
70
-20
0
1
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
49
0
0
0
22
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-54
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
34
0
0
0
-34
0
0
0
0
0
0
-9
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
-83
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
58
0
0
0
0
0
0
5
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-6
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
7
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
19
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
14
0
0
0
1
1
-1
25
0
0
0
0
0
8
-49
14
0
0
14
0
0
0
0
0
-22
0
0
0
0
0
0
-9
11
-37
0
0
0
0
0
0
15
0
0
49
0
0
0
0
0
0
-36
5
0
0
25
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-4
-48
4
0
0
-7
0
0
0
-25
0
5
-30
0
28
0
0
0
-6
54
-26
0
0
0
0
0
-4
20
16
6
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
14
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
7
21
0
0
-17
0
0
0
-4
-2
3
-15
0
0
0
0
0
10
57
-2
0
0
0
0
0
0
0
3
13
1
0
0
0
0
0
0
31
5
0
0
0
0
0
0
0
-5
4
4
0
0
0
0
0
0
-13
0
0
0
20
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
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
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
16
0
0
0
0
0
0
-59
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-52
0
0
0
13
0
0
0
0
0
0
-19
0
0
0
0
0
8
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
24
0
0
0
48
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
13
0
0
11
0
0
0
15
0
0
-16
0
0
0
0
0
-1
53
21
10
0
0
0
0
3
0
-19
-9
-10
0
0
0
0
0
0
-37
12
0
0
0
0
0
0
0
0
0
6
0
19
0
0
0
0
6
1
0
0
-6
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-22
-29
54
10
3
22
0
0
0
-3
-70
3
0
6
-14
0
0
0
-8
31
7
-2
0
0
0
0
0
-39
-40
12
-24
0
0
0
0
0
-9
60
46
0
6
5
0
0
0
38
17
10
34
0
29
0
0
0
-10
89
14
0
9
3
0
0
0
-32
-5
-5
-26
0
0
0
0
0
0
0
0
20
0
0
0
0
0
-17
-30
-14
58
0
3
0
0
0
40
-7
44
45
0
-1
0
0
0
-22
36
-39
-5
0
0
0
0
10
0
11
5
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-12
0
0
-14
0
0
0
0
0
0
55
10
0
0
79
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
17
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
67
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
2
0
0
0
-18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
21
0
0
0
0
0
6
41
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-29
4
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
31
0
0
0
49
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
40
5
0
0
11
0
0
0
-13
18
-49
19
0
8
0
0
0
-46
7
0
0
0
0
0
0
0
0
-19
-11
5
0
2
0
0
0
28
43
4
0
0
0
0
0
0
-5
0
0
-24
0
0
0
0
0
0
-10
67
5
0
14
0
0
0
25
0
0
-9
0
0
0
0
0
0
0
0
28
0
0
0
0
0
-7
-22
3
0
0
15
0
0
0
-19
2
0
-44
0
0
0
0
0
24
-14
-11
0
0
0
0
0
0
12
0
5
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-3
-3
0
-5
0
0
0
0
0
0
-41
46
0
0
6
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
69
0
0
0
0
0
0
49
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-22
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
117
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-3
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
0
-23
0
0
0
0
0
0
48
0
0
0
0
0
0
52
0
0
0
0
0
0
0
8
0
26
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
56
0
0
0
-20
0
0
0
0
0
0
55
0
0
0
0
0
3
0
0
-27
0
0
0
0
0
0
3
0
0
0
-9
0
0
0
-7
2
-1
-26
5
0
0
0
0
1
18
2
0
0
0
0
0
9
23
-4
0
0
0
0
0
0
0
5
-77
-3
1
0
0
0
0
0
-22
10
0
-22
0
0
0
0
0
0
-82
29
0
0
-5
0
0
0
-5
0
0
24
0
0
0
0
0
-6
0
0
-26
0
0
0
0
0
0
5
7
0
0
21
0
0
0
-15
-1
7
5
2
30
0
0
0
-6
42
49
0
0
14
0
0
0
1
-32
10
0
0
0
0
0
0
-3
-11
-4
7
0
0
0
0
0
8
-5
10
26
0
-7
0
0
0
0
31
-13
0
18
22
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-82
4
0
0
-1
0
0
0
0
0
0
73
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
14
0
0
0
-26
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-95
0
0
0
0
0
0
15
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
64
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-47
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
4
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
23
0
0
0
0
-1
0
-58
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
13
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
-2
0
0
0
0
0
0
-1
0
0
0
50
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
5
-27
0
0
51
0
0
0
-21
-2
32
17
0
0
0
0
0
27
-50
32
0
0
0
0
0
0
10
63
-17
0
0
23
0
0
0
3
9
0
0
0
0
0
0
0
5
-15
-7
31
0
-13
0
0
0
-3
4
32
-6
0
4
0
0
0
0
0
0
13
0
0
0
0
0
5
0
0
13
0
0
0
0
0
0
43
7
0
0
15
0
0
0
3
0
3
14
0
0
0
0
0
-2
19
-3
0
0
0
0
0
0
31
13
-29
0
0
0
0
0
0
29
-3
0
0
0
3
0
0
0
27
-44
0
62
0
2
0
0
0
5
-40
6
-3
0
22
0
0
0
-27
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
3
0
0
44
0
0
0
-3
-5
0
-62
0
0
0
0
0
30
38
-1
0
0
-22
0
0
0
-22
26
-14
0
0
0
0
0
0
-1
40
29
0
0
0
0
0
0
-30
25
-1
5
0
0
0
0
0
0
-55
-5
0
0
22
0
0
0
8
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-14
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-42
4
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
27
0
0
0
0
0
0
-88
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-9
1
0
0
50
0
0
0
12
0
0
20
0
0
0
0
0
-29
8
5
0
0
0
0
0
0
0
-5
-20
0
0
0
0
0
0
0
31
-1
0
0
0
0
0
0
21
22
0
-14
0
0
0
0
0
0
-8
0
0
0
3
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
92
0
0
0
0
0
3
112
8
0
0
0
0
0
0
58
26
8
11
0
0
0
0
0
11
-29
-7
-8
0
0
0
0
0
9
27
4
-39
0
0
0
0
0
-61
2
7
-9
0
0
0
0
0
7
16
0
0
0
1
0
0
0
1
-6
-4
45
0
13
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-13
0
0
0
-33
0
0
0
21
-1
0
-23
0
0
0
0
0
2
117
-13
2
0
4
0
0
0
-2
58
12
17
0
0
0
0
0
4
-36
-13
-10
13
0
0
0
0
-2
-10
10
31
0
7
0
0
0
-1
37
-14
-5
0
49
0
0
0
-5
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
15
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
0
0
0
0
0
0
-2
0
-1
37
0
0
0
0
0
0
-6
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-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
17
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
81
0
0
0
0
0
0
31
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-17
1
0
0
12
0
0
0
0
0
0
-44
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
45
0
0
0
56
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
-35
0
0
0
1
0
-2
-34
0
5
0
0
0
-3
-10
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
41
25
0
0
0
0
0
0
0
2
6
0
-10
0
0
0
0
0
0
3
-6
0
0
10
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
34
9
0
0
4
0
0
0
1
0
0
-36
0
0
0
0
0
-4
61
3
0
0
0
0
0
0
0
27
-18
0
0
0
0
0
0
5
21
14
0
0
0
0
0
0
-7
0
0
-13
0
-2
0
0
0
-21
49
10
0
0
25
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
37
0
0
0
0
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
9
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-12
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
36
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-26
0
0
0
-26
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
-1
0
0
-68
0
0
0
-3
4
0
56
0
0
0
0
0
-9
-21
0
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
3
54
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
42
0
0
0
40
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
44
9
0
0
75
0
0
0
-7
2
6
29
0
0
0
0
0
9
8
-1
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-13
3
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-5
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
21
0
0
0
0
0
0
15
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-16
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-20
0
0
0
-38
0
0
0
0
0
0
-11
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
20
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
-2
0
0
54
0
0
0
5
1
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
15
0
3
0
0
0
0
0
-10
-44
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
-6
0
0
0
7
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
17
-6
-14
0
0
23
0
0
0
-3
1
-6
0
0
0
0
0
0
15
-9
-1
10
0
0
0
0
0
0
-24
27
5
0
0
0
0
0
8
-41
19
-5
0
0
0
0
0
14
-8
3
69
0
27
0
0
0
0
-14
-5
0
0
35
0
0
0
0
-6
0
18
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
13
-22
0
0
54
0
0
0
4
0
-2
-47
0
0
0
0
0
6
28
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
18
0
0
0
72
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-31
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-21
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
21
-29
0
0
-15
0
0
0
2
0
0
23
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
8
0
0
0
58
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
73
0
0
0
46
0
0
0
6
5
-18
-25
0
0
0
0
0
9
-4
0
-6
0
0
0
0
0
0
-5
-8
5
6
0
0
0
0
-17
-52
3
0
0
0
0
0
0
-2
0
0
93
0
0
0
0
0
0
-37
0
0
0
-12
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-22
6
0
0
62
0
0
0
-21
-9
-8
-26
0
0
0
0
0
20
-23
-10
0
0
0
0
0
0
17
-39
-13
6
0
0
0
0
0
0
-85
-8
6
0
15
0
0
0
26
-26
0
16
0
0
0
0
0
0
-79
-8
0
0
23
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-8
0
0
0
19
0
0
0
0
0
0
-48
0
0
0
0
0
0
-1
0
0
0
0
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
0
0
0
0
0
0
13
0
0
0
-21
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
71
0
0
0
-39
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
-4
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
42
16
0
0
-11
0
0
0
4
0
17
-32
0
0
0
0
0
8
66
16
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-42
-7
0
-5
0
0
0
0
0
16
0
0
-20
0
0
0
0
0
0
17
-10
0
0
12
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-59
18
0
0
37
0
0
0
0
-8
3
75
0
0
0
0
0
-5
-13
-2
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-2
-31
0
-8
0
3
0
0
0
5
38
0
-18
0
0
0
0
0
0
17
0
0
0
-38
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
79
5
0
0
52
0
0
0
-4
0
0
-17
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-13
0
-5
0
0
0
0
0
0
-5
2
3
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-6
0
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-13
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-29
0
0
0
29
0
0
0
0
0
0
-8
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
2
0
0
21
0
0
0
0
0
0
23
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
30
-19
0
0
-27
0
0
0
0
8
0
-74
0
21
0
0
0
-2
18
0
0
0
0
0
0
0
0
-3
27
0
0
0
0
0
0
-1
30
0
0
0
0
0
0
0
5
24
-7
-14
0
0
0
0
0
0
10
-2
0
0
5
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
9
0
0
0
0
0
8
-9
13
0
0
-25
0
0
0
0
-20
-6
39
0
0
0
0
0
5
-56
27
-7
0
0
0
0
0
0
-4
17
-3
0
0
0
0
0
-5
37
-6
0
0
-1
0
0
0
40
24
0
37
0
0
0
0
0
-4
14
9
-13
0
17
0
0
0
5
0
0
26
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-29
0
0
0
18
0
0
0
-5
5
0
29
0
0
0
0
0
22
17
-1
0
0
0
0
0
0
0
13
-1
1
0
0
0
0
0
-9
10
1
-6
0
0
0
0
0
1
23
8
53
0
0
0
0
0
0
-22
2
0
0
-15
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-27
0
0
0
0
0
0
6
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-35
0
0
0
-36
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
17
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
18
0
-2
0
0
0
0
0
-1
5
0
8
0
0
0
0
0
0
19
-14
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-30
0
0
0
0
0
0
44
8
0
0
37
0
0
0
5
-13
0
27
0
0
0
0
0
12
37
-10
0
0
0
0
0
0
0
18
33
-1
-4
0
0
0
0
2
-7
-1
41
0
0
0
0
0
8
-20
29
0
0
4
0
0
0
-2
23
9
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
61
0
0
0
-6
0
0
0
5
0
-1
-19
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
30
-5
0
0
0
0
0
0
1
-15
4
3
0
0
0
0
0
37
-7
-6
-52
0
0
0
0
0
0
-18
11
0
0
51
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
-51
0
0
0
0
0
0
-76
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
129
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
34
0
0
0
0
0
0
4
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
11
0
0
0
22
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
-1
7
0
0
0
0
0
4
53
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
45
-18
0
0
0
0
0
0
0
0
-6
0
-24
0
0
0
0
0
-2
-29
0
0
0
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
10
0
0
22
0
0
0
5
0
0
20
0
0
0
0
0
1
-32
0
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-4
0
-5
17
0
0
0
0
0
0
-18
0
0
0
12
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
20
0
0
0
0
0
0
53
0
0
0
0
0
-1
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
39
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
30
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
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
0
0
0
0
0
0
8
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-84
64
0
0
30
0
0
0
9
0
-30
17
0
0
0
0
0
5
-35
-22
0
5
0
0
0
0
12
2
2
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
48
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-81
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-31
-5
0
0
32
0
0
0
0
0
0
77
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
5
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
10
0
0
0
0
0
0
48
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-18
0
0
0
0
0
0
21
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-16
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
2
0
0
0
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
64
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
12
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
45
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-17
0
0
0
50
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
-65
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-19
1
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
82
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
18
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-14
0
0
0
33
0
0
0
0
0
0
-36
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
2
4
1
0
0
9
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
13
-5
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-45
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
63
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
-1
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
2
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
-35
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
-2
0
-4
0
0
0
0
0
0
9
7
0
0
16
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
42
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
107
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
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
11
0
0
0
0
0
0
7
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
9
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
43
0
0
0
3
0
5
-41
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
0
0
-9
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
14
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
30
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-65
0
0
0
0
0
0
-49
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-3
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
25
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
3
0
0
0
93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
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
36
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-5
0
0
0
-19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
53
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
-4
0
0
0
-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
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
33
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-91
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
60
0
0
0
0
0
-12
3
0
0
0
0
0
0
26
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-28
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
53
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
85
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
32
0
0
0
0
0
0
5
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
12
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
33
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
-6
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
7
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
-3
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-58
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
18
0
0
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
0
0
0
0
0
0
-106
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-52
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-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
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-6
0
0
0
91
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
104
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
26
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
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
0
-47
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-55
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
32
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
4
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
14
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
39
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
17
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
17
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
15
0
0
0
0
0
0
-49
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
14
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
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
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
0
0
0
0
0
0
32
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-1
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
32
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
51
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
17
0
0
0
0
0
0
23
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
36
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-22
0
0
0
8
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-21
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
7
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
4
-30
25
0
48
0
0
0
22
0
5
54
0
0
0
0
0
-5
54
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-48
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-6
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-33
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
57
0
0
0
53
0
0
0
0
0
0
-31
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-41
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
118
0
0
0
0
0
0
-28
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
7
0
0
0
63
0
0
0
15
0
7
16
0
0
0
0
0
0
-46
-12
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-14
-5
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
21
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
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
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
28
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
12
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
0
0
-36
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
19
0
0
0
55
0
0
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
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
47
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-32
0
0
0
0
0
0
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
35
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-73
0
0
0
24
0
0
0
-1
0
0
-4
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
44
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
6
0
0
0
33
0
0
0
0
0
0
13
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
13
0
0
0
7
0
0
0
1
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-11
10
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
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
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
24
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
110
0
0
0
0
0
0
-1
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-2
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
-15
0
0
0
-30
0
0
0
0
0
0
22
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
-15
0
0
0
0
0
0
25
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
17
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
8
0
0
0
0
0
0
48
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
33
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
26
0
0
0
-35
0
0
0
0
0
0
23
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
47
0
0
0
-46
0
0
0
0
0
0
18
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-6
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
-20
0
0
0
5
0
0
-25
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
2
0
4
25
0
0
0
0
0
0
54
0
0
0
90
0
0
0
0
0
5
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
46
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
-3
0
0
0
-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
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
26
0
0
0
13
0
0
-6
0
0
0
0
0
0
29
22
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
34
0
0
0
0
0
0
17
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
5
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
18
0
0
0
0
0
0
-25
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
22
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
-5
0
0
0
-41
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
31
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-3
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
25
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-12
0
0
0
5
0
0
0
0
0
0
75
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
12
0
0
0
0
0
0
84
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
46
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
-26
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-14
5
0
0
17
0
0
0
0
0
0
-24
0
0
0
0
0
-3
-16
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-13
0
0
0
0
0
0
16
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-65
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-54
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
75
0
0
0
0
0
0
21
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
44
0
0
0
-70
0
0
0
2
0
0
-9
0
0
0
0
0
0
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
4
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
12
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
59
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
14
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
4
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
89
0
0
0
5
-3
0
-38
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
-3
-4
0
-22
0
0
0
0
0
-14
26
32
0
0
24
0
0
0
12
15
4
4
0
-16
0
0
0
-10
5
-26
-1
0
0
0
0
0
19
43
23
0
0
0
0
0
0
0
-17
-12
0
0
0
0
0
0
0
7
0
-85
0
0
0
0
0
0
30
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
58
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
73
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
63
0
0
0
0
0
0
46
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
4
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-38
0
0
0
9
0
0
0
1
0
0
25
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
18
-7
0
0
16
0
0
0
0
-20
-1
0
0
0
0
0
0
16
0
0
26
0
0
0
0
0
0
17
0
0
0
12
0
0
0
0
0
0
-49
0
0
0
0
0
0
-5
0
27
0
0
0
0
0
0
18
25
0
0
-19
0
0
0
-31
8
41
7
0
-25
0
0
0
0
-40
10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
4
0
-11
0
0
0
0
0
0
-24
0
0
0
-35
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
12
0
0
0
-1
0
0
25
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-16
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-25
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
38
0
0
0
5
0
0
0
0
0
0
34
0
0
0
0
0
0
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
8
0
0
0
23
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
-6
0
0
-19
0
0
0
17
0
-1
7
0
27
0
0
0
-19
-7
2
-4
0
0
0
0
0
-6
-50
0
0
0
0
0
0
0
-5
22
-8
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
21
6
0
0
-1
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
18
0
0
0
0
0
17
40
0
0
0
0
0
0
-55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
35
0
0
0
0
0
0
37
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
49
0
0
0
0
0
0
-22
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-27
0
0
0
0
0
0
4
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-75
0
0
0
0
0
0
56
-4
0
0
-5
0
0
0
0
0
0
-90
0
0
0
0
0
0
-93
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
27
-103
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
13
11
0
0
-49
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
4
-4
0
0
-20
0
0
0
-10
0
34
-2
0
0
0
0
0
3
68
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
88
8
0
0
10
0
0
0
0
37
1
-34
0
0
0
0
0
0
33
-8
0
0
47
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
32
0
0
0
-20
0
0
0
15
0
0
28
0
0
0
0
0
0
81
25
0
0
0
0
0
0
0
8
12
0
0
0
0
0
0
9
21
-8
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
10
0
0
0
-26
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
-43
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
8
0
0
0
64
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
-28
0
0
0
-109
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
31
0
0
0
-32
0
0
0
0
0
0
-35
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
7
26
0
-12
0
0
0
0
0
0
-13
0
0
0
35
0
0
0
0
0
0
5
0
0
0
0
0
-2
0
-1
41
0
0
0
0
0
0
7
1
0
0
28
0
0
0
8
0
0
-16
0
0
0
0
0
4
73
42
-4
0
0
0
0
0
0
-8
47
0
0
0
0
0
0
8
57
14
0
0
0
0
0
0
30
2
5
0
0
0
0
0
0
0
8
-17
0
0
17
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-23
0
0
0
4
0
0
0
0
0
0
13
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
31
1
0
0
0
0
0
0
0
7
0
-4
0
0
0
0
0
0
-16
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-6
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-12
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
31
0
0
0
-1
0
0
0
0
0
0
-29
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
6
0
0
0
-6
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
40
0
0
0
0
0
0
38
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
6
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
21
0
0
0
0
0
0
-16
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-7
1
5
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
-2
0
0
-36
0
0
0
0
0
0
13
0
0
0
4
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
63
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-32
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
10
0
0
0
4
0
0
24
0
0
0
0
0
1
1
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
9
0
0
0
39
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
23
0
0
0
79
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-31
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
1
0
0
23
0
0
0
0
0
0
18
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-9
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
20
3
0
0
5
0
0
0
0
0
-1
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-11
0
0
0
0
0
1
66
-37
0
0
-12
0
0
0
-66
19
-27
-45
0
0
0
0
0
-6
14
-26
-8
3
0
0
0
0
-7
-1
12
0
0
0
0
0
0
0
-44
-1
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
-6
2
0
0
40
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
24
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-25
24
0
0
-54
0
0
0
0
-6
0
18
0
0
0
0
0
2
38
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
3
0
0
0
63
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-57
19
0
0
48
0
0
0
-5
0
0
-36
0
0
0
0
0
9
56
-19
0
0
0
0
0
0
-5
4
0
-3
0
0
0
0
0
0
19
6
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-23
-4
0
0
1
0
0
0
0
0
8
32
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-22
-1
0
0
-21
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-29
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-48
0
0
0
-13
0
0
0
0
0
0
47
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
6
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
22
-10
-1
0
-42
0
0
0
-37
0
0
-28
0
0
0
0
0
5
37
1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
15
0
31
0
0
0
0
0
0
3
0
0
0
-10
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
18
0
0
0
48
0
0
0
0
0
5
25
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-23
0
4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
1
0
0
-37
0
0
0
0
0
0
-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
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
6
0
0
0
0
0
0
6
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
117
0
0
0
0
0
0
88
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
3
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-93
0
0
0
22
0
0
0
0
-3
1
8
0
0
0
0
0
0
16
5
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
35
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
1
0
0
0
32
0
0
0
-1
5
-8
-27
0
0
0
0
0
0
57
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
42
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-28
38
-4
0
0
-29
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-25
0
0
0
-59
0
0
0
0
0
0
35
0
0
0
0
0
3
-77
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
7
9
2
0
0
0
0
0
-5
-13
0
6
0
0
0
0
0
-8
-16
0
0
0
37
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
14
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
5
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-20
5
0
0
-35
0
0
0
0
0
0
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-7
0
0
0
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
52
-2
0
0
-45
0
0
0
5
0
0
117
0
0
0
0
0
8
27
18
0
0
0
0
0
0
2
-16
10
0
0
0
0
0
0
0
5
0
-14
-1
0
0
0
0
0
4
13
0
0
0
0
0
0
0
58
1
0
0
-31
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-33
0
0
0
42
0
0
0
0
0
0
58
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
4
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
15
0
0
0
0
0
0
-21
0
0
0
0
0
0
38
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
26
0
0
0
34
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
63
0
0
0
0
0
0
56
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
24
0
0
0
-2
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
14
0
0
0
25
0
0
0
0
0
0
33
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
3
3
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-18
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-32
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
50
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
20
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-6
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
-50
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
3
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
1
4
0
0
0
96
0
0
0
0
0
-1
0
0
0
0
0
0
0
5
0
0
-7
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
-4
58
0
2
0
0
0
0
6
0
0
0
-17
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
29
0
0
0
24
0
0
0
5
0
5
-18
0
0
0
0
0
0
9
-24
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
5
13
4
0
0
0
0
0
0
-2
0
1
73
0
0
0
0
0
0
3
15
0
0
-15
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-30
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
4
0
0
30
0
0
0
0
0
0
43
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
58
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
6
1
23
0
0
0
0
0
0
-13
0
0
0
44
0
0
0
0
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
72
0
0
0
0
0
0
31
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
15
0
0
0
0
0
0
0
-21
-2
15
13
0
0
0
0
0
0
-6
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
8
0
0
0
5
0
0
0
-3
7
0
-2
0
0
0
0
0
0
-19
1
0
0
0
0
0
0
-1
5
5
0
0
2
0
0
0
0
28
23
0
0
0
0
0
0
10
9
1
73
0
1
0
0
0
-1
-7
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
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
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
20
0
0
0
0
-3
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
0
1
18
-7
0
0
0
0
0
0
-12
2
0
40
0
0
0
0
0
3
-5
-4
0
0
-57
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-35
0
0
0
38
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-10
12
0
0
0
0
0
0
0
4
0
-46
0
0
0
0
0
0
-6
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
10
0
0
0
0
0
0
-27
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
1
1
32
0
0
0
0
0
0
-3
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
-2
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
51
0
0
0
0
0
0
-7
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
2
0
0
-85
0
0
0
13
0
0
-16
0
0
0
0
0
0
-3
0
0
4
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-2
-9
0
0
3
0
0
0
0
-5
0
0
-48
0
3
0
0
0
0
20
4
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
41
0
0
0
101
0
0
0
0
0
0
9
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-5
-1
-5
0
2
-2
0
0
0
-12
1
-14
0
0
0
0
0
0
-11
8
-18
-4
0
0
0
0
0
-5
7
-3
0
0
23
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-25
0
0
0
20
0
0
0
-18
0
0
11
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
12
-14
-5
-13
0
-8
0
0
0
0
10
-23
-10
0
0
0
0
0
3
33
-13
56
0
6
0
0
0
0
-5
-17
0
0
9
0
0
0
0
-9
1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
35
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-9
0
0
31
0
0
0
0
0
0
20
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
-8
0
0
0
0
0
0
9
1
0
-30
0
0
0
0
0
0
76
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
5
0
0
0
0
0
0
-7
-3
0
1
82
0
0
13
21
-8
0
-15
0
0
0
0
5
-2
33
0
0
0
0
0
0
0
1
22
-1
0
0
9
0
0
0
38
9
13
-7
-10
0
0
0
0
-13
7
0
0
0
-1
0
0
0
0
45
13
-2
0
67
0
0
0
-1
0
0
-9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
73
0
0
0
-11
0
0
0
-2
0
0
24
0
0
0
0
0
-15
42
0
0
0
1
0
0
0
-1
-2
13
-7
-7
4
0
0
0
17
25
33
5
-12
0
0
0
0
-2
33
-31
-27
0
-3
0
0
0
22
-30
-42
-26
4
2
0
0
0
-7
19
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
0
-7
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
16
-11
0
0
5
0
0
0
0
-1
5
0
-93
0
0
0
0
0
0
-18
-3
0
0
10
0
0
0
0
0
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
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
-5
0
0
13
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
31
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
5
0
-45
0
0
0
0
0
0
-75
0
0
0
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
72
0
0
0
0
0
0
-49
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
4
21
-2
0
0
0
0
0
0
-2
0
-3
-19
0
-1
0
0
0
0
-13
-6
0
0
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
66
0
0
0
-27
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
-2
0
0
0
-4
0
28
-14
0
0
0
0
0
0
-15
-33
13
1
0
0
0
0
0
13
39
-13
46
0
-4
0
0
0
4
-47
-41
0
0
-34
0
0
0
0
4
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
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
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-41
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
49
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-5
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
50
0
0
0
0
0
0
-16
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-74
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
-9
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-12
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
14
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-62
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
47
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-29
0
0
0
0
0
0
-21
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
3
-4
0
4
0
0
0
0
0
0
-2
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
43
0
0
0
0
0
0
-10
0
0
0
0
0
0
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-12
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-35
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-17
0
0
0
0
0
0
-31
0
0
23
0
0
0
0
0
0
-15
0
0
0
-132
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-16
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
5
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
39
0
0
0
0
0
0
-20
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
10
0
0
0
91
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-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
0
6
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
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
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-15
0
0
0
0
0
0
23
0
0
0
0
0
0
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
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-9
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-48
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-19
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
45
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-41
0
0
0
0
0
0
40
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
25
0
0
0
0
0
0
-42
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-13
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-14
0
0
0
0
0
0
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
19
0
0
0
0
0
0
-31
0
0
0
0
0
0
-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
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
42
0
0
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
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
56
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-18
0
0
0
2
0
0
0
2
0
0
-8
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
0
-17
0
0
0
0
0
0
-17
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
0
-20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
-30
0
0
0
0
0
0
21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-8
-2
0
0
0
0
0
0
-42
-5
0
0
28
0
0
0
-3
23
0
22
0
0
0
0
0
1
5
-4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
1
0
22
0
0
0
0
0
0
0
-13
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
93
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
33
0
0
0
54
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
-64
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
8
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-44
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
1
0
0
0
0
0
0
11
0
0
0
57
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
22
0
0
0
-97
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
10
0
0
0
41
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
14
-1
0
52
0
0
0
0
0
0
1
0
0
0
50
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
29
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
43
0
0
0
0
0
0
14
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
0
0
-25
0
0
0
0
0
0
-2
-2
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
15
0
0
0
5
0
0
-22
0
0
0
0
0
0
7
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
0
0
0
0
0
0
0
5
0
-23
0
0
0
0
0
0
-45
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
3
-32
-1
0
0
56
0
0
0
-13
0
0
0
0
0
0
0
0
0
-9
2
8
13
0
0
0
0
2
-1
-8
0
0
-9
0
0
0
2
-12
-6
5
0
0
0
0
0
-4
9
0
-49
0
0
0
0
0
0
-20
25
-9
0
6
0
0
0
0
5
0
-16
0
0
0
0
0
-1
0
0
18
0
0
0
0
0
3
4
-16
0
0
75
0
0
0
32
4
34
28
0
0
0
0
0
-9
3
34
4
0
0
0
0
0
1
3
0
0
-5
-1
0
0
0
0
9
-3
0
0
0
0
0
0
14
0
0
-17
0
0
0
0
0
0
17
4
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
17
0
0
0
36
0
0
0
0
0
0
-28
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-16
5
0
0
0
0
0
0
-4
0
-1
-7
0
0
0
0
0
0
-15
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
-28
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-29
0
0
0
81
0
0
0
6
6
0
-34
0
0
0
0
0
0
6
0
0
0
0
0
0
0
5
8
1
0
0
0
0
0
0
0
-5
2
0
-1
0
0
0
0
-2
-2
0
46
0
1
0
0
0
0
-2
0
0
2
23
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
29
0
0
0
1
0
0
-57
0
0
0
0
0
0
40
7
0
0
0
0
0
-1
1
-5
0
0
0
7
0
0
0
0
34
8
0
0
0
0
0
0
-5
9
-1
-9
0
-17
0
0
0
0
6
4
0
0
18
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
-5
7
0
0
0
13
0
0
0
3
0
0
-73
0
0
0
0
0
5
-49
-18
31
0
0
0
0
0
-9
-19
3
0
0
11
0
0
0
-7
12
12
0
0
0
0
0
0
-9
-6
0
37
0
2
0
0
0
1
-22
-5
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
21
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
62
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
2
0
0
-9
0
0
0
0
0
0
-36
0
0
0
0
0
-7
-14
-29
0
-2
0
0
0
0
-17
-62
0
0
0
0
0
0
0
1
70
-10
0
0
0
0
0
0
-7
2
0
-39
1
0
0
0
0
-3
42
13
0
0
-74
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-41
0
0
0
59
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
14
0
4
0
0
0
0
0
6
-4
0
0
0
0
0
0
-5
25
-2
0
0
0
0
0
0
-6
-10
0
30
0
0
0
0
0
0
-23
7
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-2
0
0
58
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
20
0
0
0
0
0
0
0
-5
2
5
63
0
0
0
0
0
0
-1
-5
0
0
-33
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
1
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
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
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
43
0
0
0
0
0
0
-22
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
0
0
0
-9
-4
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
2
21
0
0
0
24
0
0
0
0
-2
0
1
0
0
0
0
0
0
-49
18
0
0
0
0
0
0
25
7
0
0
0
0
0
0
0
-2
-26
0
0
0
0
0
0
0
-9
-2
0
19
0
26
0
0
0
0
30
20
0
0
-20
0
0
0
0
30
0
10
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-28
0
0
0
105
0
0
0
-1
0
3
6
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
21
-14
0
6
5
8
0
0
0
0
35
13
0
3
-2
0
0
0
3
8
17
-50
0
-9
0
0
0
1
6
15
0
-3
21
0
0
0
0
0
0
7
14
0
0
0
0
0
0
0
13
0
0
0
0
0
0
21
0
0
0
-39
0
0
0
-1
-1
0
-9
0
0
0
0
0
1
23
2
-9
0
19
0
0
0
-4
-33
9
0
-8
-3
0
0
0
13
-5
21
13
0
0
0
0
0
7
3
0
33
0
-14
0
0
0
5
43
7
5
3
16
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-32
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-7
0
0
-2
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
40
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
6
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
-49
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
-11
0
0
-12
0
0
0
0
0
-2
-13
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
-8
0
0
0
41
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
11
-6
0
0
0
0
0
0
9
-4
0
22
0
0
0
0
0
0
9
-39
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
9
-30
-5
0
0
47
0
0
0
-2
3
0
2
0
7
0
0
0
10
35
-2
0
-1
0
0
0
0
-2
5
2
0
0
0
0
0
0
-15
-5
-30
-3
12
0
0
0
0
-35
9
-8
0
0
-3
0
0
0
-8
25
-10
-20
-3
31
0
0
0
2
5
3
58
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-27
0
0
0
75
0
0
0
3
0
1
69
0
0
0
0
0
7
24
8
0
0
0
0
0
14
13
9
-2
6
24
0
0
0
0
-15
27
37
-5
-8
0
0
0
0
-46
-19
-32
86
0
9
0
0
0
9
41
-30
3
15
-1
0
0
0
2
-15
31
15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
13
0
0
0
0
0
0
31
0
0
0
0
0
0
32
0
0
0
0
0
0
0
-1
-3
5
0
0
0
0
0
0
-1
-9
5
-6
-1
0
0
0
0
19
-25
0
17
0
0
0
0
0
13
-24
0
0
-3
-14
0
0
0
0
0
7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
43
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
74
0
0
0
0
0
0
1
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-5
0
-2
0
0
0
0
3
3
0
69
0
8
0
0
0
0
-20
0
0
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-39
0
0
0
21
0
0
0
0
0
0
-50
0
4
0
0
0
29
21
0
0
0
0
0
0
0
0
9
-3
0
0
0
0
0
0
29
-7
2
0
0
0
0
0
0
-39
-9
2
51
0
0
0
0
0
-9
-41
-12
0
10
-28
0
0
0
0
25
0
47
0
0
0
0
0
0
0
0
4
0
0
0
0
0
9
17
0
0
0
-20
0
0
0
13
0
0
16
0
-4
0
0
0
0
30
-2
0
0
0
0
0
0
8
-10
13
0
6
0
0
0
0
-17
21
-19
-1
0
0
0
0
0
29
27
-5
8
0
1
0
0
0
-15
-9
-12
0
0
-37
0
0
0
0
2
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-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
63
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-24
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
-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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-68
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
53
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
0
0
0
12
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
54
0
0
0
7
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
17
0
0
0
35
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
57
0
0
0
0
0
0
28
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
24
0
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-20
0
0
0
0
0
0
4
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
44
0
0
0
0
0
0
-5
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
12
0
0
0
57
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
40
0
0
0
0
0
0
-29
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
19
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
21
0
0
0
-18
0
0
0
2
0
0
45
0
0
0
0
0
3
22
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-13
15
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-13
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
34
0
0
0
0
0
0
48
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
33
1
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
41
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
1
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
50
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
43
0
0
0
0
0
0
83
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
-1
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
-2
0
0
11
0
0
0
0
0
0
49
-1
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
-6
0
0
0
0
0
0
71
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
7
0
0
0
1
0
0
0
0
14
-2
66
0
0
0
0
0
-19
-3
0
-9
0
3
0
0
0
-1
24
4
0
0
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
45
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
22
0
0
0
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
62
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
25
14
0
1
2
0
0
0
0
-7
14
0
0
0
0
0
0
0
0
17
-2
0
0
64
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
2
-15
1
0
0
0
0
0
0
-4
3
2
-27
0
0
0
0
0
0
-41
28
1
0
62
0
0
0
3
-13
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
9
0
0
0
0
0
0
-55
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
-1
-6
0
42
0
0
0
0
0
0
3
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
33
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
2
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
39
0
0
0
-38
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
64
0
0
0
-34
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
46
0
0
0
0
0
0
-14
-3
0
0
0
0
0
0
5
13
16
0
0
0
0
0
0
4
-19
5
0
0
0
0
0
0
2
-1
0
11
0
0
0
0
0
0
-15
-3
0
0
22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-25
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
26
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
48
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
53
0
0
0
0
0
0
-5
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
13
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
7
0
0
0
-11
0
0
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
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
16
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
18
0
0
0
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
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-27
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-3
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
45
0
0
0
-35
0
0
0
0
0
0
8
0
0
0
0
0
0
17
13
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
7
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
32
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
10
-5
-4
0
0
0
0
0
0
3
0
0
38
0
0
0
0
0
0
-10
-11
0
0
-32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
35
0
0
0
0
0
0
13
0
0
0
-86
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
66
0
0
0
0
2
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
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
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-16
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-19
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-13
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
49
0
0
0
0
0
0
-26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
2
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
71
0
0
0
0
0
0
27
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
4
0
-11
0
0
0
0
0
0
7
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-16
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
4
0
15
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
0
0
0
-8
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
5
0
0
0
0
0
0
-33
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
0
0
0
0
0
12
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-2
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-9
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
30
0
0
0
0
0
0
1
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-20
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
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
-5
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
14
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
-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
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
2
0
0
0
0
0
0
-7
0
0
-3
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-27
0
0
0
0
0
0
32
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
8
0
0
0
0
0
0
-43
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-25
0
0
0
0
0
0
31
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-5
0
0
0
0
0
0
21
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
17
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
6
0
0
0
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
-23
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
17
0
0
0
-5
-1
0
-12
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-17
0
0
0
68
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
3
0
0
0
-15
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
51
0
0
0
-1
0
0
-27
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
0
0
19
0
0
0
0
0
0
0
0
0
0
-19
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-41
0
0
0
40
0
0
0
0
0
0
-42
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
14
0
0
0
49
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
8
0
0
0
-6
0
0
27
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
0
0
-32
0
0
0
0
0
0
1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-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
22
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-51
0
0
0
0
0
0
49
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
-5
0
0
0
1
0
0
36
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
0
0
-5
0
0
0
0
0
0
5
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
3
0
0
0
-18
0
0
-26
0
0
0
0
0
0
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
3
0
68
0
0
0
0
0
0
22
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
0
0
-3
0
0
50
0
0
0
0
0
2
-25
9
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
-4
0
0
-31
0
8
0
0
0
0
21
4
0
0
-52
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
23
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-10
0
0
0
0
0
0
4
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-45
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
9
0
0
-69
0
0
0
0
0
0
-2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
-30
0
0
0
0
0
0
38
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
-25
0
0
0
2
0
0
58
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
5
0
0
-9
0
0
0
0
0
0
-5
2
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
9
0
0
0
0
0
0
26
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
0
0
-13
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
34
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-24
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
-1
0
0
-16
0
0
0
0
0
0
19
0
0
0
-28
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-24
0
0
0
-3
0
0
16
0
0
0
0
0
0
14
-3
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
-5
-17
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-16
5
0
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-3
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
73
0
0
0
0
0
0
-62
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
16
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
12
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-26
0
0
0
0
0
0
-39
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-42
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-4
0
0
0
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-6
0
0
0
0
0
0
-38
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
2
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
48
0
0
0
-8
0
0
-22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
31
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
11
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
8
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
22
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
-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
19
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
3
-28
0
0
0
0
0
2
24
1
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
31
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
0
0
-37
0
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
22
0
0
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
0
0
0
27
0
0
-23
0
0
0
0
0
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-14
0
0
0
15
0
0
0
-4
5
0
-28
0
0
0
0
0
-3
15
0
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
-71
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
-5
4
0
0
0
-4
0
0
0
3
-4
0
0
0
0
0
0
0
0
15
-4
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
21
8
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
1
-2
0
0
0
-39
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
26
0
0
0
5
0
0
0
0
0
0
-21
0
0
0
0
0
0
35
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
77
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
7
0
0
47
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-9
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
0
0
-10
0
0
0
-22
-7
20
-55
0
5
0
0
0
-30
-61
0
0
0
0
0
0
0
17
-5
-18
0
-2
0
0
0
0
-9
-1
8
-7
1
0
0
0
0
9
-3
5
43
0
0
0
0
0
-18
16
0
0
0
-26
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
38
19
0
0
41
0
0
0
70
-5
-8
3
0
0
0
0
0
2
-11
2
0
0
3
0
0
0
5
-10
4
0
0
1
0
0
0
-37
25
-14
0
0
0
0
0
21
25
8
0
-1
0
0
0
0
0
1
19
0
0
0
-23
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
20
0
0
0
-23
0
0
0
0
1
0
-8
0
-1
0
0
0
-4
40
4
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
-4
0
0
25
0
-1
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
44
0
0
0
0
0
0
-33
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-48
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
0
0
22
0
0
0
3
0
0
-1
0
0
0
0
0
-6
-10
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
6
-17
0
0
0
0
0
0
0
0
-6
0
49
0
0
0
0
0
0
-5
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-5
-4
0
0
0
0
0
-3
-27
-4
0
0
40
0
0
0
-41
0
14
44
0
0
0
0
0
27
3
0
0
0
0
0
0
0
26
-16
0
0
0
0
0
0
0
29
-18
1
0
-5
0
0
0
3
13
-5
-19
8
0
7
0
0
0
0
-75
15
0
-4
24
0
0
0
0
0
0
26
0
0
0
0
0
0
12
1
-3
0
0
0
0
0
-5
-33
2
0
0
-13
0
0
0
-2
0
-5
-32
0
0
0
0
0
-3
53
9
5
0
0
0
0
0
5
-5
5
0
0
0
0
0
0
-1
5
-13
0
0
0
0
0
0
-5
37
0
42
-6
-4
0
0
0
0
2
0
0
0
53
0
0
0
0
-1
0
-22
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
25
0
0
0
3
0
0
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-1
0
19
0
0
0
0
0
0
-2
0
0
0
-17
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-10
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
13
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
24
0
0
0
0
0
0
7
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
27
0
-9
65
0
0
0
0
0
17
-6
7
0
0
0
0
0
0
-10
-4
9
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-13
4
0
49
0
0
0
0
0
0
-14
0
0
0
109
0
0
0
0
0
0
-20
0
0
0
0
0
1
9
0
-6
0
0
0
0
0
0
11
1
0
0
4
0
0
0
9
0
1
13
0
4
0
0
0
-5
-22
0
0
0
0
0
0
0
-8
-14
-12
-2
0
0
0
0
0
30
-12
0
0
0
0
0
0
0
10
35
1
31
0
-28
0
0
0
0
-31
0
0
0
5
0
0
0
-2
0
0
28
0
0
0
0
0
0
4
0
2
0
0
0
0
0
5
22
11
0
0
-31
0
0
0
5
-3
-3
17
0
-2
0
0
0
11
35
1
0
0
0
0
0
0
34
9
0
0
0
0
0
0
0
2
-5
8
0
0
0
0
0
0
7
-5
0
-60
0
-9
0
0
0
1
19
0
-2
0
-52
0
0
0
0
0
0
29
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
8
-32
2
0
0
43
0
0
0
-6
-1
5
-25
0
0
0
0
0
10
-22
0
0
0
0
0
0
0
15
-5
-3
0
0
-1
0
0
0
23
2
0
-2
0
0
0
0
0
17
27
-13
21
0
-5
0
0
0
-5
16
-7
0
0
-15
0
0
0
-13
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-41
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-124
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
-18
0
0
0
0
0
0
45
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-1
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
0
0
-21
0
0
0
-1
0
0
9
0
4
0
0
0
0
22
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-13
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
6
1
0
0
4
0
0
0
0
-1
1
57
0
5
0
0
0
0
-5
-7
0
0
0
0
0
0
17
5
-10
0
0
0
0
0
0
18
-52
1
0
0
0
0
0
0
-10
22
0
26
0
-2
0
0
0
0
-12
0
0
0
79
0
0
0
0
0
0
5
0
0
0
0
0
-2
1
-1
-3
0
0
0
0
0
3
-48
3
0
0
-22
0
0
0
-34
9
-2
-10
0
1
0
0
0
9
16
-5
0
0
0
0
0
0
2
5
-10
0
0
1
0
0
0
-2
9
0
-1
0
0
0
0
0
29
20
-2
0
0
2
0
0
0
-3
-15
6
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-57
0
0
0
0
0
0
15
0
0
0
0
0
5
50
0
0
0
0
0
0
0
7
-5
0
0
0
0
0
0
0
-1
17
8
0
0
0
0
0
0
-3
-3
5
4
0
-2
0
0
0
0
-12
-5
0
0
7
0
0
0
-5
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
7
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
-6
0
0
0
0
0
0
2
0
0
0
-46
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
22
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-49
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
1
0
0
0
0
0
10
21
0
0
0
56
0
0
0
-4
0
-9
21
0
0
0
0
0
11
-19
2
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
0
0
-2
5
3
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
11
0
0
0
44
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
83
0
0
0
0
-10
0
37
0
0
0
0
0
-7
24
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
9
-26
-2
0
0
0
0
0
0
0
-4
-8
-32
0
22
0
0
0
1
8
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
36
0
0
0
-5
0
0
-34
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
-20
-9
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
-8
0
0
-7
1
0
0
0
0
0
11
3
0
0
43
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-14
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
2
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
4
0
0
-13
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
19
13
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
0
0
7
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-5
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
29
0
0
22
0
0
0
0
0
-9
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
9
1
-4
-73
0
0
0
0
0
5
22
0
0
0
0
0
0
0
0
14
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
-4
0
35
0
0
0
0
0
0
9
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-9
2
0
0
0
0
0
5
32
-8
0
0
0
0
0
0
-5
5
12
-38
0
0
0
0
0
-22
-23
-22
0
0
-19
0
0
0
3
-2
3
-5
0
0
0
0
0
-32
0
0
0
0
5
0
0
-3
35
3
13
23
0
0
0
0
0
0
9
-2
0
0
-72
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-23
-7
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
21
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
21
2
0
0
0
0
0
0
13
-3
-3
3
0
0
0
0
0
-1
-27
-1
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
-11
16
0
0
0
0
0
0
0
-4
4
9
-23
0
0
0
0
0
0
-5
-2
0
0
-6
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
5
0
0
44
0
0
0
0
0
-6
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
0
0
69
0
0
0
0
0
0
13
0
0
0
130
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
-8
0
0
0
0
0
0
10
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
81
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
18
0
-22
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
1
-5
-17
0
0
0
0
0
-1
7
0
0
0
17
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-24
6
0
0
0
0
0
0
5
0
0
61
0
0
0
0
0
-26
-13
-7
-1
0
0
0
0
0
-10
0
-1
-5
0
0
0
0
0
0
-15
13
0
0
0
0
0
0
0
-1
0
-21
0
0
0
0
0
-14
-1
0
0
0
32
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
5
0
0
40
0
0
0
0
0
10
-17
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-8
0
0
31
0
0
0
0
0
-2
17
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-14
0
0
0
0
0
0
-5
0
0
16
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
7
3
0
0
0
0
0
0
0
16
0
-14
0
0
0
0
0
0
-5
0
0
0
82
0
0
0
0
0
0
-18
0
0
0
0
0
3
-10
0
3
0
0
0
0
0
-2
16
7
0
0
0
0
0
0
5
1
0
50
0
0
0
0
0
4
-5
-10
-1
2
0
0
0
0
0
1
-21
0
0
0
0
0
0
-2
-2
0
0
-2
0
0
0
0
2
-1
0
0
0
5
0
0
0
0
-5
2
0
0
-15
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
1
22
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
16
2
0
0
0
0
0
0
0
-10
0
0
-2
0
0
0
0
0
0
-18
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
46
0
0
0
45
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
0
0
9
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
-15
6
0
0
0
0
0
0
0
-1
0
0
84
0
0
0
0
0
0
-52
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
26
-1
0
0
0
0
0
0
-13
5
0
-5
0
0
0
0
0
2
-25
-1
0
0
0
0
0
0
0
28
1
0
0
0
0
0
0
6
5
1
0
0
0
0
0
0
-1
5
0
-33
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
14
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
7
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
8
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
0
0
74
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
24
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
23
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-2
0
0
-68
0
0
0
0
0
0
-18
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-35
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
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
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
60
0
0
0
0
-1
0
19
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
-3
0
0
10
0
0
0
0
0
0
14
1
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
3
-1
0
0
0
-5
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
4
-1
0
0
0
0
0
0
12
0
0
0
-3
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
97
0
0
0
0
0
0
-8
3
0
0
82
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-8
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-13
0
0
0
0
0
0
-31
0
0
0
0
0
0
-13
-7
0
0
0
0
0
0
0
12
0
0
9
0
0
0
0
0
-2
0
0
0
0
0
0
0
12
31
0
32
0
0
0
0
0
0
23
-1
0
0
60
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
-2
0
12
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
-6
0
0
0
0
0
0
12
0
0
22
0
0
0
0
0
2
9
5
0
0
-64
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
23
0
0
0
0
0
0
24
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
8
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
10
32
0
0
-17
0
0
0
0
3
2
0
56
0
0
0
0
0
0
-15
-4
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
51
0
0
0
0
0
0
-59
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
4
1
0
-1
5
0
0
0
0
2
51
-7
0
-9
0
0
0
0
6
0
0
-28
0
0
0
0
0
0
13
5
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
-3
1
0
0
13
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
9
4
-5
0
0
8
0
0
0
2
12
-5
-5
0
0
0
0
0
10
1
1
27
0
0
0
0
0
0
-1
-2
0
0
-11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-1
0
0
0
94
0
0
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
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
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
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
84
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
38
0
0
0
0
0
0
6
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
32
0
0
0
8
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
8
9
0
0
0
0
0
0
10
-1
2
1
0
0
0
0
0
2
-28
0
0
0
-8
0
0
0
0
-15
-5
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-8
-20
0
0
0
19
0
0
0
1
0
0
49
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
3
23
2
0
0
0
0
0
0
-8
-24
5
5
-1
0
0
0
0
32
9
-23
66
0
-5
0
0
0
-13
59
-35
0
0
-19
0
0
0
0
1
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
10
0
0
0
0
0
0
-39
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-7
23
5
65
0
0
0
0
0
0
-6
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-41
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
8
0
0
0
0
-16
0
0
0
104
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-80
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
-1
0
0
0
0
0
0
0
20
3
5
0
2
0
0
0
0
3
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
16
0
0
0
70
0
0
0
0
0
0
-25
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
-5
-16
0
25
0
0
0
0
0
0
13
-9
0
0
43
0
0
0
0
6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
37
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
12
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
42
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
36
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
81
0
0
0
15
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
-6
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
13
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-4
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
-56
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
34
0
0
0
0
0
0
-38
0
0
0
0
0
0
-34
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
9
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
34
0
0
0
0
0
0
-75
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
22
0
0
0
0
0
0
-40
0
0
0
0
0
0
1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
22
5
0
0
0
0
0
0
0
6
0
-5
0
0
0
0
0
0
-6
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
78
0
0
0
0
0
0
25
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
-18
0
0
0
0
0
0
12
-13
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
46
0
0
0
0
0
0
60
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
5
6
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
65
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
39
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
59
0
0
0
16
0
0
0
0
0
0
-49
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
1
0
0
0
0
-3
2
0
21
0
0
0
0
0
0
-7
-2
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
13
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
5
0
11
0
0
0
0
0
-4
-27
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
-42
0
0
0
0
0
0
-30
0
0
0
0
0
-8
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
-5
0
0
0
0
0
0
-4
13
0
-39
0
-12
0
0
0
0
-14
-7
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-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
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-31
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
0
0
0
0
0
0
2
0
0
21
0
0
0
0
0
0
-6
4
0
0
82
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
30
0
0
0
0
0
0
-5
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
-9
0
5
0
0
0
0
0
0
13
3
26
3
1
0
0
0
0
15
1
0
0
0
0
0
0
0
0
-49
-2
0
0
53
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
41
0
0
0
-9
0
0
0
0
0
0
57
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
-3
-21
0
0
-10
-2
0
0
0
15
-5
5
-5
0
0
0
0
0
-7
5
4
2
0
3
0
0
0
3
-54
32
0
0
19
0
0
0
2
1
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
73
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-5
-3
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
29
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
26
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
11
0
0
0
0
0
0
-12
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
5
15
0
0
0
0
0
0
0
3
0
0
51
0
0
0
0
0
0
19
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-14
0
0
0
-28
0
0
0
0
0
0
46
0
0
0
0
0
0
41
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
-1
23
20
0
0
0
0
0
0
6
8
0
35
0
0
0
0
0
0
27
26
0
0
-34
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
35
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-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
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
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-10
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
53
0
0
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
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
9
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-27
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
10
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
25
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
56
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-27
-1
0
28
0
0
0
0
0
0
-8
8
0
0
84
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
32
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
-22
0
0
0
0
0
0
1
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-12
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
19
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
13
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
41
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
34
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-22
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
31
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-20
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-29
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
5
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
-21
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
6
0
0
0
0
0
0
18
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
29
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
-6
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
-37
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-43
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-21
0
0
0
0
0
0
15
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
17
0
0
0
0
0
0
-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
-11
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-7
0
0
0
1
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
8
0
13
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-5
0
0
0
0
0
0
-28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-22
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
0
0
0
-48
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-20
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
19
0
0
0
0
0
0
42
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
-64
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
47
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
-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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
25
0
0
0
0
0
0
24
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
20
0
0
0
0
0
0
-25
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
-3
-2
0
10
0
0
0
0
0
0
1
0
0
0
54
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-9
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
77
0
0
0
0
0
0
54
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
-13
2
0
11
0
0
0
0
0
0
25
-3
0
0
-33
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-49
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-38
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
37
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
7
0
0
0
-24
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-4
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
50
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
100
0
0
0
0
0
0
19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
-46
0
0
0
0
0
0
-2
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
5
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
34
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
46
0
0
0
-54
0
0
0
20
-5
0
-27
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
26
0
0
0
0
0
0
0
0
10
0
0
0
0
-11
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-28
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
10
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-56
0
0
0
0
3
0
-24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
18
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-21
0
0
0
0
0
0
10
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
2
0
0
11
0
0
0
0
0
0
-10
0
0
0
21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
-31
0
0
0
-12
0
0
14
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
16
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-25
-2
0
0
64
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
9
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
25
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-54
0
0
0
1
0
0
-35
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
56
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-34
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-7
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
9
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
28
0
0
0
-6
0
0
39
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
11
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
0
0
43
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
13
-1
0
0
54
0
0
0
2
0
0
30
0
0
0
0
0
-7
-12
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-23
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
7
43
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
20
0
0
0
1
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
59
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
30
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-31
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-71
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
5
-3
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-14
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-32
0
0
0
15
-1
0
5
0
0
0
0
0
-9
19
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
19
0
0
0
0
0
0
-44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
36
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-41
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-6
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
41
0
0
0
0
0
0
-13
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
31
0
0
0
0
0
0
-27
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
14
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
38
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-12
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
60
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
19
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-35
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
9
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
-27
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
4
-5
0
0
0
47
0
0
0
0
0
0
127
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
-81
0
0
0
2
6
0
-26
0
3
0
0
0
-13
-6
37
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-16
-1
0
0
5
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
33
0
0
0
0
0
0
19
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-30
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-7
0
0
0
0
0
0
-38
0
0
0
0
0
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-9
0
0
0
-40
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
-20
0
0
0
-11
0
0
0
0
-5
2
0
0
0
0
0
0
9
-23
0
0
0
0
0
0
0
9
-9
10
0
0
0
0
0
0
0
-26
-4
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
58
-4
0
0
-58
0
0
0
0
2
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-8
-28
1
0
0
28
0
0
0
-13
25
15
-10
0
-10
0
0
0
32
-9
-17
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
21
-3
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-22
0
0
0
-22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
26
0
0
0
-5
0
0
21
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
87
0
0
0
-6
-1
0
22
0
0
0
0
0
12
3
0
0
0
0
0
0
0
0
10
-2
0
0
0
0
0
0
0
44
5
0
0
0
0
0
0
0
0
0
-10
0
13
0
0
0
0
-24
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-18
0
0
0
66
0
0
0
0
0
0
-1
0
0
0
0
0
4
-14
6
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
0
0
16
6
0
0
0
0
0
0
-7
0
0
51
0
0
0
0
0
0
5
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
1
0
0
-25
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
0
0
0
-7
0
7
0
0
0
0
5
-7
0
0
46
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-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
39
0
0
0
0
0
0
2
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
51
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
46
0
0
0
22
0
0
0
0
0
0
31
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
23
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-33
9
0
0
-15
0
0
0
7
0
0
27
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
6
0
0
5
0
0
0
0
2
13
0
-46
0
-4
0
0
0
0
23
-3
0
0
18
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-23
0
0
0
4
0
0
-25
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
10
0
42
0
0
0
0
0
0
32
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
0
0
13
0
0
0
0
0
0
73
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
0
12
-13
0
0
2
0
0
0
-2
-5
0
0
0
0
0
0
0
2
2
0
41
0
5
0
0
0
0
42
-6
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
-3
-30
0
0
0
0
0
0
0
13
0
0
13
0
-4
0
0
0
-3
-4
-8
0
-3
0
0
0
0
-5
0
0
-14
0
5
0
0
0
0
21
-5
0
0
-78
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
10
-12
0
0
0
0
0
0
-57
0
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
16
0
0
0
0
0
0
0
2
0
1
0
0
32
0
0
0
0
44
-25
-5
0
0
0
0
0
4
26
0
-21
0
-8
0
0
0
0
2
6
7
0
30
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
43
0
0
0
0
0
0
3
0
0
0
5
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-16
0
0
0
54
0
0
0
0
0
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-8
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-40
-22
0
0
-38
0
0
0
0
0
0
5
0
0
0
0
0
0
13
8
0
0
0
0
0
0
9
-34
4
-4
0
0
0
0
0
-4
45
34
5
16
0
0
0
0
-2
-14
3
0
0
8
0
0
0
0
40
5
-1
0
25
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-6
0
0
0
-5
0
0
0
0
0
-2
-26
0
0
0
0
0
13
-21
0
8
0
3
0
0
2
13
-10
12
-5
0
0
0
0
0
31
38
8
0
15
0
0
0
0
52
-5
-5
44
0
-25
0
0
0
5
27
-20
11
-6
-15
0
0
0
-8
28
0
22
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
24
0
0
0
0
0
0
44
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
22
7
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
47
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
94
0
0
0
0
0
0
44
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
2
0
0
-6
0
2
0
0
0
0
44
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
9
-50
-4
0
-2
0
0
0
0
10
6
0
171
0
-2
0
0
0
0
17
3
0
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-17
0
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
2
-28
0
0
0
0
0
0
0
-1
30
1
0
0
0
0
0
0
-5
-9
8
5
0
0
0
0
0
7
-7
23
61
0
6
0
0
0
0
4
32
0
0
11
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-34
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
56
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-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
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-8
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
9
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
63
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
0
0
47
0
0
0
0
0
0
33
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
21
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
11
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
16
0
0
0
-53
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-7
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
79
0
0
0
0
0
0
-45
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
45
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
81
0
0
0
0
0
0
42
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
6
0
0
90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
28
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-8
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
-12
0
0
0
0
0
0
13
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-1
0
0
0
0
0
0
0
6
0
52
0
4
0
0
0
0
-6
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
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
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
40
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
32
0
0
0
42
0
0
0
0
0
0
18
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
7
-5
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-18
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-41
14
0
0
0
0
0
0
5
4
0
17
0
0
0
0
0
0
-21
-6
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
-4
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-77
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-6
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-18
0
0
0
146
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
25
7
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
19
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
-6
0
0
0
0
0
0
-76
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
0
1
0
23
0
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
22
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-13
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-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
42
0
0
0
0
0
0
5
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
64
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
6
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-11
0
0
0
0
0
0
56
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
7
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-13
-4
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
22
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-91
0
0
0
0
0
0
14
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-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
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-37
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
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
41
0
0
0
0
0
0
0
0
0
9
-3
0
0
-4
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
-57
0
0
0
0
0
0
-50
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
18
23
22
0
2
0
0
0
0
-1
0
3
7
0
0
0
0
0
0
-26
-2
0
0
33
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
3
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
27
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-19
0
0
0
4
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
19
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
17
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-90
0
0
0
0
0
0
-42
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
10
0
0
0
8
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
-17
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
20
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
65
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-13
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-31
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
43
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
6
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-70
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
1
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
30
0
0
0
0
0
0
41
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-61
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
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
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
52
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
23
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-44
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
45
0
0
0
2
0
0
53
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-2
0
-23
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
10
0
0
0
13
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
18
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
6
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-17
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-16
0
0
0
0
0
0
26
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
8
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
22
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-12
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-52
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-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
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
11
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-3
0
0
16
0
0
0
0
0
0
-3
0
0
0
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
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-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
30
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
-51
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
26
0
0
-4
0
0
0
0
0
0
-30
0
0
0
84
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-35
0
0
0
0
0
0
27
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
31
0
0
0
0
0
0
5
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
15
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
4
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
9
0
0
0
-12
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
1
0
0
-46
0
0
0
1
0
0
0
0
0
0
0
0
-6
-6
6
0
0
0
0
0
0
0
6
-21
12
0
0
0
0
0
0
14
17
0
0
-5
0
0
0
24
-6
0
4
0
0
0
0
0
0
40
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
-3
0
0
27
0
0
0
24
0
1
-23
0
0
0
0
0
-5
6
-5
0
0
0
0
0
0
14
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
49
0
2
0
0
0
-15
43
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
6
0
0
44
0
0
0
0
0
0
32
0
0
0
-38
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-51
0
0
0
0
0
0
-43
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-17
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
59
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
-5
0
0
0
-4
0
0
-48
0
0
0
0
0
0
-54
-4
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-22
1
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
-49
0
0
0
0
0
0
43
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
4
0
0
114
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-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
-33
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
15
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-3
0
0
0
-2
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-14
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-6
0
0
0
0
0
0
29
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
23
0
0
0
0
0
0
2
0
0
-13
0
0
0
0
0
-3
6
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-23
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
49
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-31
0
0
0
17
0
0
0
5
0
0
-30
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-18
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-22
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
-8
0
0
31
0
0
0
0
0
0
10
-2
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
28
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
46
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-60
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-21
0
0
0
0
0
0
-18
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
10
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
-59
0
0
0
0
0
0
-13
0
0
0
0
0
0
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
1
0
0
0
0
0
0
1
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
49
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-5
0
0
0
0
0
0
31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-45
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
-8
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
-29
0
0
0
0
4
0
-41
0
0
0
0
0
-2
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
-46
0
0
0
0
0
0
27
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
-7
0
0
11
0
0
0
-3
1
0
-2
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-17
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-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
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
34
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-9
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-16
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
15
-4
0
27
0
0
0
0
0
0
14
-2
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-16
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
18
0
0
0
2
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-23
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
-30
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
11
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
10
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-25
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-15
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
47
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
82
0
0
0
0
0
0
18
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
22
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
-22
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
69
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
32
-8
0
0
8
0
0
0
-32
0
0
47
0
0
0
0
0
-2
3
-21
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
41
0
0
0
38
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-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
21
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
0
0
0
0
0
0
-43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
24
0
0
0
0
0
0
-28
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
42
0
0
0
0
0
0
27
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
127
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-38
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-40
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
33
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-16
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-23
0
0
0
-56
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
10
0
0
0
20
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
24
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
62
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
19
0
0
0
0
0
0
-29
-1
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
20
0
0
0
0
0
5
-16
0
0
0
0
0
0
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
-47
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
37
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
21
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
6
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
14
0
0
0
0
0
0
-17
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
44
0
0
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
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
105
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
96
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
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
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
9
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
20
0
0
0
0
0
0
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
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
85
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
19
0
0
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
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-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
0
41
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-10
0
0
0
0
0
0
-10
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
3
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-32
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-4
0
0
0
-5
0
0
52
0
0
0
0
0
0
37
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
13
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
22
0
0
0
1
0
0
-26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-17
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
33
0
0
0
0
0
0
5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-4
0
0
0
4
0
0
30
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
10
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-31
0
0
0
0
0
0
-14
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
27
0
0
0
0
0
0
26
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
18
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
15
0
0
0
1
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-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
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
-2
0
0
140
0
0
0
31
0
-1
-30
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-51
0
0
0
0
0
0
18
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
31
0
0
0
0
0
0
-28
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-32
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
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
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-11
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-25
0
0
0
0
0
0
-12
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
-44
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-32
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-35
0
0
0
0
0
0
-12
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-43
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
33
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-16
0
0
0
0
0
0
-10
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
30
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-60
0
0
0
0
0
0
61
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
7
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
7
0
0
0
16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
37
0
0
0
0
0
0
9
0
0
0
0
0
0
17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
25
-6
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
-14
0
0
0
0
0
0
106
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
47
0
0
0
-29
0
0
0
0
0
0
-16
0
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-19
2
0
0
0
0
0
0
3
2
0
-41
0
-1
0
0
0
0
10
0
0
0
18
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
50
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
-2
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-12
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
5
3
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-9
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
-58
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
-4
-1
0
0
2
0
0
0
0
-5
-3
0
0
0
0
0
0
-1
-5
0
-15
0
0
0
0
0
0
-7
16
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
3
0
0
0
0
0
0
45
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-4
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
-1
0
0
18
0
0
0
0
0
0
-34
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
-40
0
0
0
0
0
0
43
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
1
3
12
22
0
0
0
0
0
-4
-2
3
25
0
0
0
0
0
0
-17
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-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
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-13
0
0
0
29
0
0
0
0
0
0
-11
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
-41
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
-3
0
-13
0
0
0
0
0
0
-11
3
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-15
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-30
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
19
0
0
0
0
0
0
12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-69
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
-13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
22
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
22
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
24
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
42
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
25
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
0
0
0
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
14
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
-43
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-11
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-50
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
2
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-21
0
0
0
0
0
0
39
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
4
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
36
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
43
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-32
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-17
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
6
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
-38
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-23
0
0
0
0
0
0
-10
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
20
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
17
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-25
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-18
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-25
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
0
0
26
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
13
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-8
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
2
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
6
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-13
0
0
0
-21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
9
0
0
0
-12
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-33
0
0
0
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
19
1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
47
0
0
0
-2
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
6
0
0
-20
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
17
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
24
0
0
0
0
0
0
-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
-29
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-2
0
0
0
0
0
0
20
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
46
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-43
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
92
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-29
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-1
27
16
0
0
0
0
0
0
-19
0
0
18
0
0
0
0
0
0
-8
-14
0
0
7
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
-35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
32
0
0
0
0
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
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-26
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
36
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-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
-37
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
-9
0
0
0
0
0
0
-20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
-14
0
0
0
0
0
0
28
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
-24
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
-1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-3
0
0
0
-22
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
22
0
0
0
0
0
0
37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-8
0
0
0
0
0
0
39
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-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
15
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-11
0
0
0
0
0
0
-39
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-17
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
-24
0
0
0
0
0
0
37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-4
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-17
0
0
0
33
0
0
0
0
0
0
11
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
10
0
0
0
0
0
0
-26
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
10
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-4
0
0
0
0
0
0
-26
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-20
0
0
0
5
0
0
0
0
0
0
-44
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
7
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
9
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
0
0
0
-7
0
0
0
0
0
0
0
1
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
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
0
0
0
-3
0
0
0
0
0
0
0
7
0
0
34
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
10
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-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
-22
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
32
0
0
0
5
0
0
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
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
53
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
14
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
54
0
0
0
0
0
0
12
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-10
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
50
0
0
0
0
0
0
5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
3
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
10
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-11
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
-23
0
0
0
0
0
0
35
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-22
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
17
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-6
0
0
0
0
0
0
42
0
0
0
0
0
0
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
40
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-12
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-20
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
45
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
36
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
14
0
0
0
-28
0
0
0
0
0
0
-23
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-35
0
0
0
0
0
0
25
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
8
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
32
0
0
0
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-17
0
0
0
3
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-25
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
26
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
-27
0
0
0
0
0
0
64
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
6
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
9
0
0
0
0
0
0
49
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
26
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
5
0
0
0
22
0
0
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
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
18
0
0
0
0
0
0
-48
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
25
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
28
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
12
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-23
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
21
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
34
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-7
0
0
0
32
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-57
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
28
0
0
0
17
0
0
0
0
0
0
29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-9
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
-13
0
0
0
0
0
0
51
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
34
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-13
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
43
-5
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
10
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-13
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
-30
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-11
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
14
0
0
0
0
0
0
-9
1
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
26
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-42
0
0
0
16
0
0
0
0
0
0
40
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-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
-29
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
16
0
0
0
0
0
0
-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
-70
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
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
0
0
0
7
0
0
0
0
0
0
35
0
0
0
2
0
0
0
0
0
0
-18
0
-2
0
0
0
0
-39
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-11
0
0
0
-14
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
10
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
0
0
0
5
14
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
5
8
1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
-8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
33
0
0
0
20
0
0
0
0
0
0
18
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
45
0
0
0
-9
0
0
0
0
0
0
-2
0
2
0
0
0
0
-24
27
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
43
0
0
0
20
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-32
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-43
2
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-62
0
0
0
-28
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
8
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
-30
-5
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
40
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-15
0
0
0
-7
0
0
0
0
0
1
4
0
0
0
0
0
5
-11
0
0
0
0
0
0
0
0
17
13
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
-1
0
12
-21
0
0
0
0
0
-5
-13
0
0
0
0
0
0
0
2
10
-5
3
0
0
0
0
0
0
-19
6
0
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
9
5
0
0
10
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-24
22
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
5
12
0
0
0
0
0
0
4
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-12
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
23
0
0
0
22
0
0
0
8
0
0
1
0
0
0
0
0
12
-28
7
0
0
0
0
0
0
7
29
0
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
5
8
0
-20
0
0
0
0
0
0
61
0
0
0
-3
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
15
1
20
0
1
0
0
0
-4
-21
39
0
0
0
0
0
0
0
25
-5
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
-5
13
0
0
0
0
0
0
-57
4
0
0
-3
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
0
0
27
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-55
0
0
0
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
-24
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
19
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-3
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
26
0
0
0
9
0
0
0
-3
0
0
20
0
5
0
0
0
0
-5
5
0
0
0
0
0
0
0
19
3
0
0
0
0
0
0
-17
6
0
0
0
0
0
0
0
0
-5
0
29
0
-17
0
0
0
0
21
0
0
0
18
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-45
0
0
0
16
0
0
0
0
0
0
10
0
0
0
0
0
-2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
7
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
17
19
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
5
49
0
0
0
0
0
0
-28
0
0
0
-12
0
0
0
-4
14
0
-16
0
0
0
0
0
0
2
35
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
-13
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
25
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-47
0
0
0
-15
0
0
0
0
0
0
-7
0
0
0
0
0
49
-27
18
0
0
0
0
0
0
0
-6
-12
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
-2
28
0
0
0
13
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
23
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
13
-1
0
-2
0
0
0
0
0
0
10
20
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
39
0
0
0
20
0
0
0
0
0
0
-7
0
0
0
0
0
0
-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
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
22
0
0
0
-18
0
0
0
0
0
0
-10
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-26
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-12
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-15
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
-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
31
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
27
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
13
0
0
0
12
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
-34
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
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
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
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
12
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
42
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
19
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
7
-5
0
0
-5
0
0
0
-1
-1
0
-40
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
-5
0
0
0
0
0
0
0
0
-13
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
0
0
13
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
2
0
0
2
0
0
0
-3
0
0
-32
0
0
0
0
0
0
-36
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
11
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
9
3
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-10
0
0
0
-8
0
0
0
-1
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
13
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
-11
0
0
0
0
0
0
-1
0
12
-17
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
3
0
2
7
0
0
0
0
0
0
-34
13
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-25
10
0
0
10
0
0
0
3
0
0
-27
0
-8
0
0
0
0
-37
8
0
0
1
0
0
0
0
0
13
0
0
0
0
0
0
1
3
5
-12
0
0
0
0
0
-4
4
10
3
0
0
0
0
0
0
-4
-20
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-26
-4
0
0
7
0
0
0
0
-2
0
-26
0
8
0
0
0
-7
-11
-2
41
0
3
0
0
0
-6
1
-4
-1
0
5
0
0
0
4
-21
11
20
0
0
0
0
0
35
-4
3
-1
0
13
0
0
0
0
16
9
0
0
2
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-25
0
0
0
-10
0
0
0
0
0
0
18
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
51
-10
0
0
8
0
0
0
0
0
2
1
0
0
0
0
0
0
4
8
0
0
0
0
0
0
2
2
0
0
6
0
0
0
0
0
-23
-11
-12
0
0
0
0
0
0
21
-7
16
0
0
0
0
0
0
52
-3
0
0
2
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-32
-22
0
0
1
0
0
0
6
0
0
-15
0
22
0
0
0
0
-42
4
0
0
0
0
0
0
0
27
35
0
4
0
0
0
0
5
-11
-28
0
0
0
0
0
7
-4
-4
3
0
0
0
0
0
0
0
22
-1
0
-1
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-12
0
0
0
0
0
0
-12
0
-2
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
8
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-20
-9
0
0
8
0
0
0
1
0
0
-11
0
0
0
0
0
0
36
0
0
0
0
0
0
0
-13
0
8
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-5
0
3
22
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
4
0
0
3
0
0
0
0
-9
0
-20
0
-3
0
0
0
0
-35
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
1
-10
-5
0
0
0
0
0
0
-5
5
4
10
0
6
0
0
0
0
9
-9
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
15
12
0
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
17
-12
0
0
0
0
0
0
3
-1
0
-14
0
0
0
0
0
0
-11
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
8
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
9
0
0
0
0
0
0
-17
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
23
7
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
-11
0
2
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
22
0
0
0
17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-31
0
0
0
-5
0
0
0
0
0
0
5
0
1
0
0
0
0
-17
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
3
-14
-23
0
0
0
0
0
0
-5
0
22
19
0
0
0
0
0
0
19
-5
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-23
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-20
0
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
35
0
0
0
12
0
0
0
0
0
0
-50
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-13
0
0
0
24
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-21
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
22
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
-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
17
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-15
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-57
0
0
0
20
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
37
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-8
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
12
0
0
0
0
0
0
-12
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-13
0
0
0
-29
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
8
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-11
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
13
0
0
0
0
0
0
43
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-6
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
4
3
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
9
0
0
0
-28
0
0
0
0
0
0
31
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-28
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
14
0
0
0
0
0
0
16
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
-58
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
22
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-1
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
8
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-44
0
0
0
0
0
0
28
0
0
0
0
0
0
-17
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
31
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
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
48
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
20
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
22
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-30
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
-39
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
2
0
0
0
-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
0
0
25
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
38
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
4
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
0
-53
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-12
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
23
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
7
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
-42
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-29
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
-23
0
0
0
0
0
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
25
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
-24
0
0
0
0
0
0
-40
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
-2
0
0
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
29
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-21
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-14
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-32
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
6
-3
0
0
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
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-42
0
0
0
-41
0
0
0
0
0
0
-22
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
18
-6
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-25
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
-29
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-20
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-1
0
0
0
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
25
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
14
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
23
0
0
0
-19
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
17
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
19
0
0
0
0
0
0
-59
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
3
0
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
-49
0
0
0
0
0
0
-41
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
22
0
0
0
14
0
0
0
0
0
0
67
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
13
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
-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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
-30
0
0
0
0
0
0
17
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
-90
0
0
0
0
0
0
-63
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-18
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
25
2
0
0
-20
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-37
0
0
0
0
0
0
-4
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
9
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-18
0
0
0
-11
0
0
0
0
0
0
6
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
13
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-31
0
0
0
-9
0
0
0
0
0
0
-16
0
0
0
0
0
0
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
-30
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
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
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
36
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-4
0
0
0
0
0
0
21
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
10
0
0
0
4
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
39
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
4
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
-31
0
0
0
0
0
0
-17
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
8
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-27
0
0
0
0
0
0
-25
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
9
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
34
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-66
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
-23
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
3
4
0
0
-7
0
0
0
0
0
4
2
0
0
0
0
0
0
-47
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
18
0
0
0
14
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
-20
0
0
0
0
0
0
39
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
9
0
0
0
15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
1
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
34
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
30
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
28
-4
0
0
8
0
0
0
0
0
0
34
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
10
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-13
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-19
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
11
9
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-31
0
0
0
-3
0
0
0
0
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
-4
0
0
-35
0
0
0
0
0
0
20
14
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
87
0
0
0
-50
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
31
0
0
0
13
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
13
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
13
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
15
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
14
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
42
0
0
0
0
0
0
26
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
-32
0
0
0
0
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
0
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
-21
0
0
0
0
0
0
14
0
0
0
0
0
0
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
38
0
0
0
0
0
0
-13
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
15
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-25
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-16
0
0
0
0
0
0
-38
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
13
0
0
0
0
0
0
-21
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
-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
0
18
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
23
0
0
0
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
15
0
0
0
20
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
9
0
0
-5
0
0
0
1
0
-6
0
0
-3
0
0
0
-10
11
0
-1
0
0
0
0
0
0
18
8
0
0
1
0
0
0
13
9
14
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
-53
0
0
0
-20
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
37
0
0
0
1
0
0
0
-7
9
-5
0
0
0
0
0
0
10
-31
0
0
0
0
0
0
0
0
5
13
1
0
-3
0
0
0
-5
2
1
0
0
0
0
0
0
-5
0
6
-12
0
13
0
0
0
0
-14
0
0
0
2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
19
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
13
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-27
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
15
-4
5
0
6
0
0
0
-1
5
0
0
0
0
0
0
0
-5
-7
0
8
1
0
0
0
0
0
21
6
8
0
19
0
0
0
1
22
0
-9
0
0
0
0
0
4
1
5
0
0
0
0
0
0
0
-12
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-23
0
0
0
0
0
0
18
0
6
0
-11
0
0
0
-7
-7
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
3
0
12
-33
0
0
0
0
0
0
4
-53
9
-8
0
0
0
0
0
-4
18
-3
-3
0
0
0
0
0
0
21
-1
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-37
0
0
0
9
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
29
0
0
0
1
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-7
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-92
-2
8
0
11
0
0
0
4
-8
13
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
0
-29
13
41
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
2
0
-9
-9
0
0
0
0
0
0
17
-1
0
0
12
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
11
41
0
0
-2
0
0
0
4
-12
5
0
0
4
0
0
0
6
-24
19
0
0
3
0
0
0
-4
-5
24
2
0
-3
0
0
0
8
0
-36
0
0
0
0
0
0
-5
10
21
11
0
0
0
0
0
0
-25
-15
0
0
2
0
0
0
4
0
0
21
0
0
0
0
0
0
-2
0
-67
0
0
0
0
0
9
-26
-2
0
0
-1
0
0
0
0
-51
-6
0
0
-6
0
0
0
-1
-4
0
0
0
0
0
0
0
23
-19
-14
5
-4
-10
0
0
0
8
31
-24
0
0
0
0
0
0
6
-2
2
6
0
0
0
0
0
0
13
-16
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
58
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
25
0
0
0
6
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-11
42
0
0
8
0
0
0
0
5
5
0
0
0
0
0
0
11
-35
0
4
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
-12
-2
-5
-3
0
0
0
0
2
-6
26
4
0
0
0
0
0
0
24
-22
0
0
12
0
0
0
0
0
0
19
0
0
0
0
0
6
0
13
13
0
0
0
0
0
0
1
-32
0
0
3
0
0
0
2
0
0
0
0
5
0
0
0
-5
-7
0
51
0
0
0
0
0
0
12
-41
0
0
0
0
0
0
-2
10
-10
17
0
0
0
0
0
-1
-3
0
-8
0
0
0
0
0
-3
-17
2
0
0
11
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
-18
0
0
0
0
0
1
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
1
0
0
0
0
0
0
6
0
5
0
0
0
0
0
0
69
0
0
0
-11
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
50
0
0
0
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
-3
0
0
0
0
0
0
33
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-21
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
3
-24
0
0
0
0
0
0
0
0
-11
7
34
0
0
0
0
0
6
25
0
0
0
0
0
0
0
8
-5
23
9
0
0
0
0
0
0
-33
9
0
0
10
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
-32
0
0
0
0
0
0
22
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
-17
0
9
0
0
0
0
0
-2
5
7
48
0
-15
0
0
0
-6
-1
-7
0
0
0
0
0
0
42
0
2
-2
0
0
0
0
0
0
14
10
0
0
13
0
0
0
0
0
0
21
0
0
0
0
0
0
1
-2
-18
0
0
0
0
0
0
4
-25
0
0
6
0
0
0
0
0
0
0
0
1
0
0
0
13
-27
0
5
0
0
0
0
0
-1
0
7
11
0
0
0
0
0
5
-9
9
0
0
0
0
0
0
-25
11
-1
5
0
0
0
0
0
0
-17
17
0
0
-3
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
34
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-30
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-28
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
25
0
0
0
0
0
0
-21
0
0
0
14
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
38
14
0
0
0
0
0
5
-4
-4
0
0
-6
0
0
0
1
-6
-2
0
0
0
0
0
0
0
51
0
14
0
0
0
0
0
0
-6
-19
27
0
1
0
0
0
2
-9
0
17
0
0
0
0
0
13
14
-2
0
0
5
0
0
0
14
58
-12
0
0
3
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-40
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-15
3
9
0
1
0
0
0
11
2
18
3
-15
0
0
0
0
-12
-3
-1
14
0
0
0
0
0
0
2
-7
10
0
-1
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-12
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
5
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-30
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-1
0
0
0
0
-35
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
26
-7
0
0
0
0
0
0
-20
-5
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
5
0
0
0
0
0
0
33
21
0
0
0
0
0
0
0
-14
8
11
0
4
0
0
0
0
23
0
0
0
11
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
23
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-4
7
6
0
0
0
0
0
4
-6
-12
10
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
-14
-5
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
19
-9
0
0
0
0
0
0
0
-9
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
-39
4
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
18
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
46
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-36
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-38
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-30
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-25
0
0
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
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-52
0
0
0
18
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
1
0
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
11
0
6
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
-3
-28
0
15
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-21
6
0
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
18
-48
0
0
0
0
0
0
41
-4
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
5
0
0
0
-17
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
0
-37
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-24
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
9
20
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
24
0
0
0
-8
0
0
0
0
0
0
25
0
0
0
0
0
0
-46
5
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
50
0
0
0
-18
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
-22
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-9
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
50
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
-14
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-13
0
0
0
-13
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-20
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-8
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
16
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-12
-5
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
51
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-22
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
69
4
0
0
0
0
0
0
0
41
1
0
0
0
0
0
0
0
-31
7
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
12
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-43
0
0
0
1
0
0
0
0
0
0
17
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-25
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-9
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
33
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-61
9
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
2
0
0
0
0
0
0
0
0
-8
-22
0
0
0
0
0
0
2
1
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
10
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
18
0
0
0
0
0
0
-43
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-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
0
14
0
0
0
0
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
52
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-18
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-12
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
-69
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-31
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
25
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
-19
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
32
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
5
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-13
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-5
0
0
0
0
0
0
-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
-11
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
16
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-24
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
20
0
0
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
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
5
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
25
0
0
0
0
0
0
-38
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-13
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
17
0
0
0
-8
0
0
0
0
0
0
-29
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
7
0
0
0
2
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-22
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
20
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
21
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-29
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
50
0
0
0
0
0
0
-36
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-22
0
0
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
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-24
0
0
0
0
0
0
58
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-4
0
0
0
40
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
15
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
8
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
0
0
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
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
20
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
20
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-7
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
-41
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-5
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-42
0
0
0
0
0
0
-11
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-26
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-16
0
0
0
-22
0
0
0
0
0
0
-14
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
1
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
-41
0
0
0
0
0
0
-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
-24
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
7
0
0
0
0
0
0
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-46
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
-39
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-41
0
0
0
24
0
0
0
0
0
0
-29
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
-5
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-15
0
0
0
0
0
0
22
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
13
0
0
0
-6
0
0
0
0
0
0
18
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
21
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
37
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
2
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-12
0
0
0
0
0
0
-13
0
0
0
0
0
0
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
-51
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
28
0
0
0
-6
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
26
0
0
0
0
0
0
9
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
-9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
44
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
26
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
13
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
38
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
31
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
12
0
0
0
0
0
0
40
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
7
0
0
0
27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-16
0
0
0
32
0
0
0
0
0
0
25
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
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
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
23
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
8
0
0
0
4
0
0
0
0
0
0
32
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
1
0
-17
0
0
0
0
0
0
-20
0
0
0
-12
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
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
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-25
0
0
0
-17
0
0
0
0
0
0
-22
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
-23
0
0
0
0
0
0
20
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
2
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
-37
0
0
0
0
0
0
56
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
26
0
0
0
25
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-19
0
0
0
-16
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
8
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-31
0
0
0
22
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-6
0
0
0
0
0
0
33
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
6
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
11
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-21
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-17
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
11
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
22
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
-17
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
18
0
0
0
2
0
0
0
0
0
0
53
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-41
0
0
0
19
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
33
-8
0
0
2
0
0
0
6
0
-3
-17
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
43
0
0
0
-11
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
11
-1
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
-31
0
0
8
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
-5
20
0
0
2
0
0
0
0
-2
0
4
0
0
0
0
0
0
10
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
37
0
0
0
0
0
0
25
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
0
0
0
0
0
-1
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
10
0
0
0
0
0
0
32
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-11
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
36
-3
0
0
-4
0
0
0
-5
-41
0
13
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
-1
2
-13
0
5
0
0
0
0
1
16
-12
32
0
0
0
0
0
0
61
0
0
0
24
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-9
0
0
0
0
-2
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-2
16
3
0
-1
0
0
0
0
16
5
0
0
0
0
0
0
0
7
1
9
0
0
0
0
0
0
56
-1
0
0
-12
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-18
4
0
0
-2
0
0
0
13
-7
41
-13
0
1
0
0
0
8
17
0
-9
0
0
0
0
0
-1
10
8
5
0
0
0
0
0
1
-21
-1
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-29
-5
0
0
-17
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
21
0
0
-10
0
0
0
0
0
0
28
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
15
0
-12
0
0
0
0
0
0
11
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-24
0
0
0
1
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-11
0
0
0
-10
0
0
0
0
0
0
-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
-28
0
0
0
0
0
0
-15
-13
0
0
8
0
0
0
2
-20
2
1
0
0
0
0
0
-17
21
0
0
0
19
0
0
0
0
-15
9
15
0
0
0
0
0
-4
22
15
0
0
0
0
0
0
2
2
-9
16
0
0
0
0
0
0
41
-2
0
0
-5
0
0
0
0
0
0
-60
0
0
0
0
0
9
0
0
2
0
0
0
0
0
-1
44
22
0
0
-1
0
0
0
-2
18
6
-20
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
2
21
-16
5
0
0
0
0
0
-2
5
5
1
0
0
0
0
0
3
-8
2
4
0
0
0
0
0
0
35
-6
0
0
-9
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
19
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
34
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
9
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-18
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
-5
0
0
5
0
0
0
0
0
14
-22
5
0
0
-6
0
0
0
0
-12
1
12
1
0
0
0
0
3
14
0
2
0
0
0
0
0
-5
-16
0
23
-3
0
0
0
0
4
-7
21
0
0
0
0
0
0
-4
22
5
-15
0
0
0
0
0
0
13
-5
0
0
7
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-25
-20
0
0
8
0
0
0
0
0
0
-24
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
-10
-4
0
0
5
0
0
0
0
-26
2
0
0
0
0
0
0
0
0
0
-22
0
2
0
0
0
0
-4
0
0
0
-18
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
-23
0
0
0
0
0
0
22
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
-1
0
0
0
0
0
0
0
0
5
11
0
0
0
0
0
0
-34
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
23
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
21
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
-31
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-6
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
41
0
0
0
32
0
0
0
0
0
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
38
0
0
0
28
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-6
0
0
21
0
0
0
0
-1
0
7
0
0
0
0
0
-12
21
0
1
0
0
0
0
0
0
-1
8
-10
0
3
0
0
0
0
33
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
-18
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
14
-5
0
0
2
0
0
0
-5
-4
30
8
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
19
2
-10
0
3
0
0
0
2
-13
15
0
0
0
0
0
0
0
29
-1
-11
0
0
0
0
0
0
50
-1
0
0
16
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
2
-27
0
0
0
0
0
-1
-26
0
0
0
-9
0
0
0
5
-12
-4
10
0
0
0
0
0
-2
3
0
0
2
0
0
0
0
0
1
14
-15
0
12
0
0
0
-10
10
21
0
0
0
0
0
0
-5
-3
0
17
0
10
0
0
0
0
-12
22
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
22
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
-19
-8
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
2
0
0
-17
0
0
0
0
0
12
-12
-15
0
0
16
0
0
0
20
-21
0
-6
0
0
0
0
0
2
-23
0
-8
-5
0
0
0
0
0
32
9
-18
0
0
0
0
0
0
-9
2
-5
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
25
-4
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
-15
0
0
0
-5
0
0
-9
0
0
0
0
0
1
45
0
0
-16
0
0
0
0
0
-1
19
-28
1
-3
0
0
0
-10
15
7
-11
29
0
0
0
0
-2
1
4
6
0
0
0
0
0
0
9
-7
-5
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
29
0
0
0
-6
0
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-6
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
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
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
20
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
13
2
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
0
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-9
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
-60
0
0
0
0
0
0
0
0
-1
-25
0
0
0
0
0
0
0
-40
-14
0
0
0
0
0
0
0
2
0
5
0
0
0
0
0
0
8
14
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-25
0
0
0
-7
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
10
30
0
0
5
0
0
0
0
37
1
-5
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
12
32
0
0
1
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
8
0
0
0
0
0
0
-45
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
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-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
0
14
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-29
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-14
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
21
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-14
0
0
0
0
0
0
21
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-2
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
-51
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
10
0
0
0
-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
24
0
0
0
0
0
0
25
0
0
0
0
0
0
-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
20
0
0
0
0
0
0
4
0
0
0
-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
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
-30
0
0
0
0
0
0
-22
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
17
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
18
0
0
0
0
0
0
14
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
15
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
12
0
0
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
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-31
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-13
0
0
0
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
0
-25
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-38
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-13
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-29
0
0
0
5
0
0
0
1
0
0
-6
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
0
0
24
0
-6
0
0
0
0
0
0
11
1
0
0
-7
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
13
1
0
0
16
0
0
0
4
7
4
-13
0
1
0
0
0
-5
9
0
0
0
-3
0
0
0
-3
-27
-14
0
0
0
0
0
0
5
-25
0
0
0
0
0
0
0
0
-2
0
11
0
0
0
0
0
0
18
0
0
0
20
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
39
0
0
0
0
0
-8
-21
2
0
0
5
0
0
0
-15
-3
6
17
0
0
0
0
0
1
8
-5
0
0
0
0
0
0
-1
22
-1
0
0
6
0
0
0
-24
-15
0
0
0
0
0
0
0
-13
-7
7
1
0
0
0
0
0
0
30
21
0
0
16
0
0
0
0
0
8
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-15
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
27
0
0
0
0
0
0
-19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-5
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
67
0
0
0
16
0
0
0
12
-5
0
5
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
0
6
3
0
0
-1
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
13
0
0
0
0
7
0
-54
0
0
0
0
0
3
0
0
-26
0
0
0
0
0
8
-2
-9
-3
0
13
0
0
0
-5
-2
-4
0
0
2
0
0
0
0
13
9
-5
0
0
0
0
0
-12
-36
12
0
-5
-24
0
0
0
26
-28
9
-5
-1
0
0
0
0
-25
-30
-12
2
8
10
0
0
0
-3
23
-1
4
0
-2
0
0
0
2
25
12
8
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-44
2
-5
0
10
0
0
0
8
-5
-8
-17
0
-1
0
0
0
-8
-7
-4
0
0
0
0
0
0
4
-11
0
0
0
1
0
0
0
-3
21
-4
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-27
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
17
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-21
0
0
0
22
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
-32
18
0
0
6
0
0
0
0
-8
3
-9
0
3
0
0
0
-24
5
0
0
0
0
0
0
0
0
2
-25
0
0
0
0
0
0
-22
-6
-2
0
0
0
0
0
0
-22
5
5
7
0
0
0
0
0
5
-7
31
0
0
16
0
0
0
2
0
0
-8
0
0
0
0
0
0
0
1
-37
0
0
0
0
0
2
22
-6
4
0
-3
0
0
0
7
9
0
6
0
0
0
0
0
-8
3
-2
0
0
0
0
0
0
-33
26
8
0
0
41
0
0
0
-32
-4
-8
18
0
0
0
0
0
29
-13
5
8
0
0
0
0
0
-2
-1
41
8
0
-2
0
0
0
16
12
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-10
0
0
0
7
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
-18
0
0
0
0
0
0
-30
7
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
3
-41
17
14
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-29
14
2
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-27
1
0
0
-3
0
0
0
0
0
0
8
0
-3
0
0
0
0
5
0
0
0
0
0
0
0
7
-2
-13
0
0
-2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
8
0
0
-5
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-72
0
0
0
-14
0
0
0
0
0
0
-27
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-19
-1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-30
0
0
0
4
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-10
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
4
0
0
0
0
0
0
-23
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
6
-9
0
0
21
0
0
0
-3
1
1
-5
-2
13
0
0
0
0
-10
-2
0
0
0
0
0
0
0
2
8
0
9
0
0
0
0
23
15
0
0
0
0
0
0
0
2
43
-31
-31
0
0
0
0
0
5
47
-5
0
0
-1
0
0
0
8
15
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
18
0
0
0
2
0
4
15
0
-1
0
0
0
0
-37
4
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
13
-9
-7
0
0
0
0
0
0
2
4
-2
-3
0
0
0
0
0
3
-21
16
-6
0
25
0
0
0
0
0
16
31
0
0
0
0
0
0
0
-1
-31
0
0
0
0
0
0
-18
0
0
0
-6
0
0
0
-18
0
0
2
0
0
0
0
0
0
36
3
0
0
0
0
0
0
0
-37
0
0
0
14
0
0
0
0
-32
-17
4
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
2
-4
0
0
3
0
0
0
7
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-9
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
41
0
0
0
8
0
0
0
0
0
0
59
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-21
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
0
0
-11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
13
-1
0
0
21
0
0
0
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-35
0
-4
0
0
0
0
0
0
-14
0
18
0
0
0
0
0
0
12
37
0
0
8
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-52
-1
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
-25
1
0
0
0
0
0
0
7
-8
-8
0
0
0
0
0
0
1
-28
44
0
0
3
0
0
0
0
-1
0
58
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-30
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-22
5
0
0
0
0
0
0
0
-7
7
0
0
7
0
0
0
4
-39
-5
0
0
0
0
0
0
-12
6
-2
-5
0
0
0
0
0
0
-6
-13
0
0
-4
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
0
0
0
0
0
0
-20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
22
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
23
0
0
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
-88
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
15
16
0
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
0
-22
0
0
0
9
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-33
0
0
0
13
0
0
0
0
0
0
10
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-4
0
0
0
-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
0
13
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-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
-31
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
35
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-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
-57
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
-26
0
0
0
0
0
0
-29
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
2
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-31
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-31
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-28
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
22
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
-21
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-27
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-18
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-12
0
0
0
0
0
0
26
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-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
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-20
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
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
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
28
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-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
0
10
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
-10
0
0
0
0
0
0
18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
6
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-43
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
16
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
22
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
42
13
0
0
-14
0
0
0
2
0
0
-15
0
0
0
0
0
1
6
6
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-84
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
16
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
13
0
0
0
3
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-19
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-31
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-36
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-10
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-13
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
6
0
0
0
-19
0
0
0
0
0
0
76
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
14
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
26
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
25
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
-20
-2
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-13
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-27
0
0
0
-22
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
9
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
27
0
0
0
-31
0
0
0
0
0
0
55
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
32
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
29
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-7
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
15
0
0
0
-25
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
0
0
0
0
0
0
2
0
0
-19
0
0
0
0
0
0
5
8
0
0
-31
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
25
0
0
0
-6
0
0
0
-15
0
-2
-3
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-44
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
-28
0
0
0
0
0
0
-13
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-9
0
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
0
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
6
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
-24
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
22
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-39
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
42
0
0
0
-8
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
-21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
-8
0
0
0
-4
0
0
28
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
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
20
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
4
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-15
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
-37
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
-37
0
0
0
0
0
0
-16
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
6
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
15
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
16
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-24
26
0
0
8
0
0
0
20
0
1
-25
0
3
0
0
0
0
7
-2
0
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
3
0
10
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
13
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
44
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
8
0
0
0
0
0
0
32
1
0
0
-14
0
0
0
0
-7
11
-3
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
5
0
0
5
0
0
0
0
31
0
0
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
11
0
0
0
10
0
0
0
0
0
0
12
0
0
0
0
0
0
0
14
-9
0
0
0
0
0
13
-30
-23
3
0
16
0
0
0
0
0
6
-11
0
1
0
0
0
0
-21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-22
1
7
0
0
0
0
0
0
9
2
2
0
0
0
0
0
-1
0
-5
0
0
4
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
31
0
0
0
1
0
0
0
0
0
0
40
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
-14
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-13
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-6
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
48
10
0
0
15
0
0
0
-5
0
0
9
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
16
0
0
0
8
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-11
0
0
0
0
0
0
-12
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
29
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-31
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
7
-14
0
0
0
0
0
0
7
2
0
0
-11
0
0
0
21
0
21
1
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
4
-25
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-6
-18
0
0
0
0
0
0
23
0
0
0
25
0
0
0
0
0
0
41
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
-23
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-20
0
0
0
31
0
0
0
0
0
0
30
0
0
0
0
0
0
-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
0
0
0
5
0
0
0
0
0
0
30
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-30
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
4
0
-14
0
0
0
0
0
0
-25
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
13
37
-4
0
0
0
0
0
0
-1
-14
6
0
0
0
0
0
-5
-4
23
2
0
4
0
0
0
-1
-15
11
0
0
0
0
0
0
0
9
-25
0
0
5
0
0
0
1
16
0
0
3
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-15
0
0
0
-16
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-14
0
0
0
0
0
0
28
0
0
0
0
0
0
-72
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-11
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
-6
0
0
0
0
0
0
20
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-26
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
15
-2
0
0
-26
0
0
0
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
7
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-45
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
0
0
0
0
0
0
-11
-1
0
0
-6
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
-17
0
0
0
-24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-28
0
0
0
0
0
0
27
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
22
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-27
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-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
-26
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-41
0
0
0
23
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
52
0
0
0
0
0
0
-12
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-14
0
0
0
4
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-24
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-23
0
4
0
-3
0
0
0
-5
0
0
0
0
0
0
0
0
7
-42
5
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-5
-37
0
0
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-11
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-10
0
0
0
15
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
-8
0
0
0
0
0
0
-12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
-10
0
0
0
-7
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
-15
0
0
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
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
7
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
77
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
13
0
0
0
-3
0
0
0
0
0
8
-22
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
28
0
0
0
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-9
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-84
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-39
-3
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
26
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
16
0
0
0
0
0
0
15
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-12
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-6
0
0
0
17
0
0
0
0
0
0
-23
0
0
0
0
0
0
-37
-12
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-6
0
0
0
0
0
0
-39
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
-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
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
-11
0
0
0
0
0
0
-49
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
31
0
0
0
-14
0
0
0
0
0
0
-32
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
25
0
0
0
6
0
0
0
0
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
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
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-17
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
44
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
11
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
10
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
-4
9
0
0
0
-14
0
0
0
4
0
0
-32
0
0
0
0
0
0
26
1
0
0
0
0
0
0
0
13
-1
0
2
0
0
0
0
0
17
-5
0
0
0
0
0
0
4
0
0
-13
0
0
0
0
0
0
-16
0
0
0
19
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
-17
0
0
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
0
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
-3
0
0
0
0
0
0
43
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
5
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
-1
0
0
0
2
15
0
0
0
0
0
0
0
0
13
12
0
-1
0
0
0
0
0
-3
0
14
0
0
0
0
0
3
24
-13
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
33
3
0
0
-7
0
0
0
1
-3
0
23
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
42
11
0
0
5
0
0
0
-34
0
0
-11
0
0
0
0
0
5
36
-5
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-7
0
17
0
0
0
0
0
0
-34
-7
0
0
15
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
25
0
0
0
-23
0
0
0
0
0
0
-46
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
2
0
0
-11
0
0
0
0
0
0
6
0
0
0
-20
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
9
0
-19
0
-5
0
0
0
-2
-28
0
0
0
0
0
0
0
0
-9
1
0
0
-7
0
0
0
0
-42
18
0
-1
0
0
0
0
-3
2
0
13
0
0
0
0
0
0
13
-8
0
0
-10
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-17
0
0
0
16
0
0
0
0
0
0
-41
0
-17
0
0
0
0
-3
-3
0
0
0
0
0
0
0
-4
5
-6
0
-3
0
0
0
0
-1
-6
0
0
0
0
0
0
0
25
-6
-49
0
0
0
0
0
0
31
0
0
0
-40
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
27
0
0
0
-9
0
0
0
3
0
0
24
0
0
0
0
0
-15
-24
7
3
0
0
0
0
0
1
6
0
-4
0
2
0
0
0
0
5
7
0
0
0
0
0
0
-3
-11
-2
22
0
0
0
0
0
-10
22
4
0
0
3
0
0
0
-1
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
40
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-24
0
0
0
-14
0
0
0
0
0
3
3
0
0
0
0
0
0
-10
-10
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-6
31
0
0
0
0
0
0
0
-3
0
0
-15
0
0
0
0
0
0
38
0
0
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
22
0
0
0
-18
0
0
0
30
-2
0
29
0
2
0
0
0
-1
42
13
0
0
0
0
0
0
0
-5
2
0
1
15
0
0
0
-7
-12
26
0
4
0
0
0
0
4
-2
2
-24
0
-1
0
0
0
0
30
21
0
0
-6
0
0
0
0
-1
0
-29
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
42
0
0
0
58
0
0
0
0
0
0
44
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-23
0
0
0
1
0
0
0
0
9
0
3
0
0
0
0
0
0
48
-3
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-59
0
0
0
0
0
0
28
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
-3
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-7
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
3
-20
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
4
0
0
17
0
0
0
0
0
0
61
1
0
0
20
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-21
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
10
-5
-2
5
0
0
0
0
-14
4
-6
0
0
2
0
0
0
3
-2
0
-31
0
-7
0
0
0
0
-9
26
-5
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-33
0
0
0
5
0
0
0
-1
0
1
-21
0
0
0
0
0
0
-22
-13
2
0
0
0
0
0
0
-20
5
0
0
9
0
0
0
13
-25
17
9
0
0
0
0
0
5
-15
0
-21
0
-1
0
0
0
-3
22
7
0
0
20
0
0
0
-2
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-27
0
0
0
-37
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
22
0
0
6
0
0
0
0
0
0
-6
7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
26
-19
0
0
-7
0
0
0
0
-3
0
-14
0
0
0
0
0
0
-31
18
0
0
0
0
0
0
0
-37
-6
0
0
0
0
0
0
-22
-24
32
19
0
0
0
0
0
3
6
0
0
0
5
0
0
0
0
1
-5
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-13
0
0
0
-40
0
0
0
0
0
0
7
0
0
0
0
0
0
17
2
0
0
0
0
0
0
-3
1
-6
1
0
-9
0
0
0
-17
17
5
68
7
14
0
0
0
-58
-32
3
-20
0
8
0
0
0
0
-35
-13
-6
0
30
0
0
0
0
-6
-6
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-4
0
0
0
-2
0
0
-14
0
0
0
0
0
0
-49
5
0
0
0
0
0
0
0
16
-3
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
-2
0
0
15
0
0
0
0
0
0
24
-1
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
-18
0
0
0
0
0
0
19
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
0
0
0
0
0
0
0
-6
0
-13
0
0
0
0
0
0
-16
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
4
0
0
0
-2
0
0
0
0
0
0
-32
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
-20
2
0
0
0
0
0
0
-6
0
0
8
0
0
0
0
0
0
12
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-14
0
0
0
-32
0
0
0
0
0
0
-45
0
0
0
0
0
0
-29
-6
0
0
0
0
0
0
0
-5
-7
0
3
0
0
0
0
7
29
-6
12
0
0
0
0
0
8
1
0
-22
0
1
0
0
0
0
-22
30
0
0
2
0
0
0
0
0
2
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
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
-35
0
0
0
0
0
0
6
0
0
0
-13
0
0
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
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
6
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
28
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
17
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
55
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
41
0
0
0
0
0
0
-28
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-29
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
9
0
0
0
0
0
0
-17
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-13
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
29
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
14
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
24
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
12
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
7
0
0
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
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
19
0
0
0
2
0
0
0
0
0
0
20
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
13
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
24
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
7
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
12
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
55
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
12
3
0
0
0
0
0
0
0
0
-6
17
0
-1
0
0
0
0
5
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
22
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-28
0
0
0
66
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
-9
0
0
0
0
0
0
-20
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-2
0
0
0
-28
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
-23
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
22
0
0
0
0
0
0
-42
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-29
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
7
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
41
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
13
0
0
0
0
0
0
-31
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
-53
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
23
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-7
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
27
0
0
0
0
0
0
18
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
28
0
0
0
0
0
0
-32
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-6
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
2
-1
7
4
0
0
0
0
0
0
-9
12
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
32
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
14
0
0
0
36
0
0
0
0
0
0
-17
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
8
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
34
0
0
0
6
16
0
60
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
21
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-2
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
15
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
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
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-18
0
0
0
0
0
0
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
4
0
0
0
0
16
0
-28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
-2
0
0
51
0
0
0
0
0
0
4
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
47
0
0
0
0
0
0
-35
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
12
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
4
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-42
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
0
-36
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
7
0
0
0
0
0
0
12
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
31
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-23
0
0
0
0
0
0
-42
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
22
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
23
0
0
0
0
0
0
28
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
3
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
5
0
0
0
32
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
10
0
0
0
0
0
0
-52
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
9
0
0
0
51
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
10
0
0
0
0
-3
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
0
0
-16
0
0
0
0
0
0
-23
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
4
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
10
0
0
0
37
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
-1
0
22
0
4
0
0
0
0
53
5
7
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-2
7
4
0
0
0
0
0
0
0
2
0
28
0
0
0
0
0
0
13
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-31
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
18
0
0
0
0
0
0
7
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
-2
0
0
-13
0
0
0
0
0
0
19
0
0
0
-49
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-8
44
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-10
0
0
0
15
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
4
0
0
0
0
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-28
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-24
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
3
0
29
0
0
0
0
0
0
25
0
0
0
-30
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
23
0
0
0
0
0
0
23
0
0
0
0
0
0
-17
12
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
24
2
0
0
-2
0
0
0
0
-2
0
-33
0
0
0
0
0
0
-13
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
-56
0
0
0
0
0
0
-23
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-9
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-31
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-7
0
0
-2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
14
0
0
0
-23
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
21
-16
0
0
0
0
0
0
0
5
-24
-9
0
0
0
0
0
0
-34
0
-5
-10
0
0
0
0
0
0
6
21
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-28
0
0
0
0
0
0
-21
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
30
0
0
0
0
0
0
-10
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-27
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
21
0
0
0
0
0
0
-51
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-56
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
30
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-41
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
-5
0
0
0
0
0
0
-26
0
0
0
0
0
0
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
-5
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-16
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
-16
0
0
0
0
0
0
44
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-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
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-21
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-5
0
0
15
0
0
0
0
0
0
4
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-45
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-8
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-9
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
2
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
2
0
0
0
0
0
0
0
-31
-5
0
0
0
0
0
0
0
0
4
23
0
-8
0
0
0
0
26
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
-2
0
0
30
0
0
0
0
0
0
7
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
-46
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-44
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
8
0
0
0
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
6
0
42
0
0
0
0
0
0
5
8
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
62
0
0
0
0
0
-3
10
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-15
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
2
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
38
12
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-25
11
0
0
0
0
0
0
0
2
0
-31
0
0
0
0
0
0
-1
0
0
0
-14
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
9
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
-51
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
-4
0
0
-16
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-4
-1
0
5
0
0
0
0
0
0
6
-4
0
0
-28
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
17
0
0
0
0
0
0
-8
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-1
0
0
0
-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
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
45
0
0
0
0
0
0
63
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-4
25
0
0
0
0
0
0
31
10
0
0
-70
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-24
0
0
0
44
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
-6
-8
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
25
0
0
0
0
0
0
-43
0
0
0
0
0
0
17
4
0
0
0
0
0
0
2
1
2
0
0
6
0
0
0
-5
-3
10
0
0
0
0
0
0
13
-4
0
-7
0
0
0
0
0
0
22
31
0
0
-23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
48
0
0
0
0
0
0
17
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
-22
3
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
17
13
0
-5
0
0
0
0
0
25
-14
7
0
13
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-34
-30
0
0
18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-24
0
0
0
0
0
0
-46
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
10
2
0
0
0
0
0
0
0
0
24
-5
0
0
0
0
0
0
0
0
-1
-83
0
0
0
0
0
0
-11
31
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
25
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-12
6
0
0
0
0
0
0
0
-1
0
-40
0
9
0
0
0
0
-9
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
-16
0
0
0
9
0
0
7
0
0
0
0
0
-7
61
0
0
0
0
0
0
0
0
19
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
-13
2
7
0
0
0
0
0
0
-25
-5
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
15
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-11
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
32
0
0
0
8
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
18
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
8
0
0
0
-17
0
0
0
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-5
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
57
0
0
0
17
0
0
12
0
0
0
0
0
0
34
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-15
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-33
8
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
30
0
0
0
9
0
0
0
0
0
0
-21
0
0
0
0
0
0
12
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-1
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
27
0
0
0
12
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
33
-2
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
10
0
0
0
-24
0
0
0
0
0
0
-26
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-13
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
35
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-9
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
35
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
19
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
0
-15
0
0
0
0
0
0
-16
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
-30
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-1
0
0
0
0
0
0
-45
0
0
-27
0
0
0
0
0
0
-22
10
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
0
0
-36
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-26
0
0
0
38
0
0
0
0
0
0
4
0
0
0
0
0
0
-22
32
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
-19
0
0
0
0
0
0
48
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
15
-7
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
7
5
5
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-13
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-19
0
0
0
24
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
4
0
17
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
-13
0
0
0
0
0
0
-33
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-72
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
17
0
0
0
0
0
0
40
0
0
0
0
0
0
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
8
0
0
0
0
0
0
-4
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
30
0
0
0
0
0
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
-47
0
0
0
0
0
0
1
0
0
0
0
0
0
20
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
-24
0
0
0
0
0
0
1
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
11
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
11
0
0
0
0
-5
0
-23
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
18
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
8
0
0
0
0
0
0
-13
0
0
0
0
0
0
13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
16
25
0
0
-6
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
-7
0
0
0
0
0
0
18
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
6
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
13
0
0
0
0
0
0
28
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
33
0
0
0
0
-1
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-9
0
0
0
-55
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
13
0
0
0
0
8
0
-5
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
1
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-5
0
0
0
0
0
0
-34
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-18
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
4
0
0
0
-3
0
0
-45
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-17
5
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-28
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-20
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
42
0
0
0
0
0
0
-6
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
3
-30
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-16
2
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-2
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
0
0
0
13
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-31
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
34
0
0
0
-24
0
0
0
0
0
0
19
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
-17
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
-27
0
0
0
0
0
0
-16
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
30
0
0
0
-49
0
0
0
0
0
0
-8
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-96
0
0
0
0
0
0
-14
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
-10
0
0
0
0
0
0
24
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
34
0
0
0
-37
0
0
0
0
0
3
0
0
-5
0
0
0
0
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
-38
0
0
0
0
0
0
5
0
0
-15
0
0
0
0
0
0
-21
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-22
0
0
0
-33
0
0
0
0
0
3
-30
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
7
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
15
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
87
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
5
0
0
0
0
0
0
-11
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
23
0
0
0
0
0
0
18
0
-12
0
0
0
0
-17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
-7
0
0
-22
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-13
0
0
0
-8
0
0
0
0
0
0
-28
0
1
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-1
0
0
-29
0
0
0
0
0
0
14
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
-31
0
0
0
0
0
0
21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
3
0
0
0
-62
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-17
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-26
0
0
0
13
0
0
0
0
0
0
2
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
1
0
-18
0
-3
0
0
0
0
-5
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-24
0
0
0
1
0
0
0
1
0
0
-18
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
21
1
0
0
51
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
26
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-11
0
0
0
32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-17
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
4
0
0
26
0
0
0
0
0
0
0
8
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
20
0
0
0
0
0
0
36
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
0
0
-2
0
28
0
0
1
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
50
0
0
0
0
0
0
22
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
14
6
0
-14
0
1
0
0
0
0
-27
-10
0
0
32
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
16
0
0
0
0
0
0
73
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-53
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
40
0
0
0
0
0
0
-38
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
40
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-31
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
15
0
0
0
0
0
0
20
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
-9
0
0
1
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
5
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
7
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
5
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
39
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-39
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
-1
0
0
-27
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
5
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-28
0
0
0
0
0
0
-9
0
0
0
0
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
0
0
0
0
0
0
-5
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-22
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
24
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
9
4
0
0
0
-10
0
0
0
3
0
-2
-38
0
30
0
0
0
22
1
-18
0
0
0
0
0
0
3
0
13
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
-10
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
32
0
0
0
-5
-8
0
2
0
26
0
0
0
-3
-9
41
0
0
0
0
0
2
0
21
16
5
0
0
0
0
0
3
-25
27
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
11
0
0
0
23
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
28
0
0
0
-19
0
0
0
0
0
0
44
0
0
0
0
0
0
54
5
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
-32
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
-14
0
0
0
18
0
0
-11
0
10
0
0
0
0
-29
21
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
-11
0
0
0
-4
0
0
0
0
0
3
56
0
0
0
0
0
0
19
4
0
0
30
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-9
0
0
0
-16
0
0
0
0
3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
3
0
0
27
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
16
0
0
0
24
0
0
0
-11
5
6
45
0
6
0
0
0
13
6
2
0
0
0
0
0
0
-9
5
-2
-2
0
-9
0
0
0
-14
-13
-6
0
0
0
0
0
0
1
0
-1
10
0
0
0
0
0
0
-14
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
12
-7
0
0
0
0
0
0
0
13
1
0
0
20
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-22
0
0
0
29
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
40
0
0
0
0
0
0
-40
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
-41
0
0
0
0
0
0
1
0
-22
0
0
0
0
0
0
24
0
0
0
-24
0
0
0
0
2
13
22
0
-4
0
0
0
-6
46
0
0
0
0
0
0
0
7
70
16
0
0
0
0
0
0
-4
8
0
-13
-7
0
0
0
0
0
2
0
-11
0
0
0
0
0
0
45
0
0
0
14
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
9
11
0
0
0
0
0
0
-41
0
0
0
18
0
0
0
-12
-1
13
-42
0
22
0
0
0
17
4
15
0
0
-23
0
0
0
-5
17
24
2
0
2
0
0
0
3
19
5
0
0
0
0
0
0
0
0
-15
24
0
0
0
0
0
0
7
5
1
0
3
0
0
0
1
0
0
-8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
12
0
0
0
5
0
0
0
9
10
1
-9
0
0
0
0
0
4
-55
31
1
0
0
0
0
0
-5
14
2
9
0
-5
0
0
0
-13
-31
-9
0
0
0
0
0
0
6
0
-3
38
-12
31
0
0
0
0
15
0
0
0
-24
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
26
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
5
0
0
0
0
0
0
46
0
0
0
0
0
0
-11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
24
0
0
0
23
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
2
0
0
0
11
0
0
0
-1
0
0
-45
0
1
0
0
0
-14
-2
-6
0
0
0
0
0
0
9
41
0
0
0
0
0
0
0
-3
24
1
0
0
0
0
0
0
6
2
20
55
0
0
0
0
0
0
5
3
-6
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-13
0
0
0
2
0
0
0
4
-7
-5
-11
0
9
0
0
0
-29
-39
16
0
0
0
0
0
0
-15
5
-3
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
1
0
-1
-33
0
0
0
0
0
0
-19
0
0
0
-10
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-11
0
0
0
-17
0
0
0
0
0
0
-12
0
0
0
0
0
0
48
9
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-8
-26
0
0
0
0
0
0
0
2
0
0
6
0
0
0
0
0
0
-21
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
19
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
22
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-25
0
0
0
34
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-33
0
0
0
-26
0
0
0
-2
0
-4
-7
0
3
0
0
0
9
5
1
0
0
0
0
0
0
0
30
2
-2
-1
0
0
0
0
-9
12
0
0
0
0
0
0
0
0
-10
-2
4
0
27
0
0
0
0
2
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
11
0
0
0
2
0
1
53
0
13
0
0
0
5
18
22
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
-16
-8
0
0
-3
0
0
0
-7
0
-2
-7
0
0
0
0
0
0
-12
19
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
13
31
0
0
0
0
0
0
18
0
0
0
-28
0
0
0
-13
17
-1
17
0
1
0
0
0
-31
38
-14
0
0
9
0
0
0
0
-33
0
0
0
1
0
0
0
-8
7
-2
0
0
0
0
0
0
0
0
16
-20
0
0
0
0
0
0
-60
2
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
4
0
0
-17
0
0
0
0
0
0
-4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-7
0
0
0
45
0
0
0
0
0
0
-20
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
2
1
0
12
0
0
0
0
0
0
-23
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
1
2
0
-26
0
0
0
0
0
0
-38
0
0
0
-3
0
0
0
5
6
0
-15
-4
0
0
0
0
13
67
7
0
0
0
0
0
0
0
-1
10
0
0
3
0
0
0
-4
64
0
0
1
0
0
0
0
-4
5
0
0
0
0
0
0
0
12
15
1
8
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
24
0
0
0
5
0
0
0
-5
30
-13
0
0
-2
0
0
0
0
29
-9
0
0
0
0
0
0
13
-13
2
-6
0
5
0
0
0
1
6
-13
4
0
-16
0
0
0
-1
0
0
11
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
1
0
0
0
0
0
0
-40
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
89
0
0
0
0
0
0
-29
0
0
0
0
0
5
-33
4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
-64
0
0
0
0
0
0
-24
0
0
0
0
0
0
48
4
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
5
21
9
0
0
0
0
0
0
-5
7
0
-21
0
0
0
0
0
0
4
0
0
0
-23
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
-25
0
0
0
-1
0
0
5
0
0
0
0
0
9
-6
0
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
4
9
-2
0
0
0
0
0
0
2
0
22
-1
0
4
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-23
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
23
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
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
-54
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
-25
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
9
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-15
0
0
0
0
0
0
12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
-2
0
0
0
0
0
0
-48
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
9
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-19
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
-7
0
0
0
0
0
0
-49
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-39
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-21
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
30
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
7
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
10
0
0
0
23
0
0
0
0
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
26
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
14
0
0
0
-42
0
0
0
0
-1
0
37
0
-2
0
0
0
6
27
5
4
0
7
0
0
0
0
5
7
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
34
0
0
0
0
0
0
-35
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
-38
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
-18
0
0
39
0
0
0
1
-1
0
21
0
0
0
0
0
0
43
0
-2
0
0
0
0
0
0
10
-8
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-11
0
0
0
-10
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
-4
0
0
-74
0
0
0
-3
-9
0
0
0
32
0
0
0
0
9
5
1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
22
0
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-5
2
0
0
8
0
0
0
0
0
0
45
0
0
0
0
0
13
-11
13
6
0
0
0
0
0
3
-10
-5
0
0
0
0
0
0
-2
28
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-13
0
0
0
23
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-5
-12
0
0
0
-38
0
0
0
4
17
3
75
0
0
0
0
0
0
-1
0
0
1
0
0
0
-4
0
30
-3
0
0
0
0
0
0
0
-13
0
2
0
0
0
0
0
-3
0
5
-5
0
-4
0
0
0
0
34
0
-4
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
37
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
6
13
0
0
-6
0
0
0
3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
-23
0
0
-18
0
0
0
-8
0
0
26
0
0
0
0
0
5
19
0
0
0
0
0
0
-9
0
-5
-28
0
0
0
0
0
0
0
-32
-1
0
0
0
0
0
0
0
-5
0
-37
0
0
0
0
0
0
-39
-14
0
0
55
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
15
0
0
23
0
0
0
-10
2
0
26
0
-18
0
0
0
0
45
-3
0
0
-2
0
0
0
-7
5
7
5
2
5
0
0
0
-31
-23
6
-1
0
0
0
0
0
-5
-6
-8
18
0
0
0
0
0
0
28
-26
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-9
5
-3
0
0
18
0
0
0
7
20
-5
68
0
3
0
0
0
-3
12
-14
4
0
2
0
0
8
-12
18
6
43
0
8
0
0
0
1
2
9
9
0
0
0
0
0
2
-22
7
-25
0
-5
0
0
0
0
-27
-7
0
0
0
0
0
0
0
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
25
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-24
6
0
0
-35
0
0
0
-1
0
0
25
0
0
0
0
0
5
34
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-14
0
0
0
57
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
13
-6
0
0
12
0
0
0
-8
3
3
-25
0
5
0
0
0
0
-41
16
0
4
0
0
0
0
1
5
0
0
2
0
0
0
0
0
18
-5
13
0
0
0
0
0
0
8
0
-8
0
0
0
0
0
0
19
3
0
0
22
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-34
-29
0
0
-6
0
0
0
-14
-4
0
0
0
34
0
0
0
-5
-25
0
0
0
0
0
0
0
19
18
18
0
13
9
0
0
0
45
-27
-17
2
0
0
0
0
2
4
-14
3
3
0
0
0
0
0
0
10
-6
0
-3
10
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-21
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
47
-1
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
17
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-13
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-17
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-29
1
0
0
11
0
0
0
-13
0
0
-53
0
-3
0
0
0
0
13
-3
7
0
0
0
0
0
8
8
6
0
8
0
0
0
0
3
1
0
0
0
0
0
0
0
-16
1
-6
5
0
0
0
0
0
0
-8
-7
0
0
26
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
1
5
0
0
6
0
0
0
0
-4
0
33
0
4
0
0
0
0
13
0
0
0
0
0
0
0
0
14
-13
0
0
2
0
0
0
13
-31
0
0
0
0
0
0
0
-1
8
-1
-35
0
5
0
0
0
0
-7
-8
0
0
27
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
14
-3
0
0
1
0
0
0
0
1
0
-12
0
-5
0
0
0
0
26
1
0
1
0
0
0
0
0
-4
-1
0
0
0
0
0
0
-9
-35
-41
0
0
0
0
0
0
6
3
0
4
0
0
0
0
0
0
4
-1
0
0
30
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
2
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
62
0
0
0
12
0
0
0
0
21
0
-14
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
21
0
0
0
56
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-14
4
0
0
-48
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
-20
12
0
0
0
0
0
0
-8
-9
0
0
0
0
0
0
0
0
-20
-10
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
24
0
0
0
29
0
0
0
0
0
0
12
0
0
0
0
0
-6
-8
0
-3
0
0
0
0
0
0
6
2
0
13
0
0
0
0
0
45
-13
0
0
0
0
0
0
10
5
29
16
0
0
0
0
0
0
2
-14
5
0
4
0
0
0
2
0
0
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
42
0
0
0
0
0
0
32
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
-19
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
0
0
0
0
-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
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
2
0
0
32
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
7
0
0
0
-18
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-36
0
0
0
-26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
21
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-13
3
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
31
5
0
0
-8
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
17
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
18
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
7
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
-20
0
0
0
0
0
0
-15
0
0
0
0
0
0
47
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
25
0
0
0
12
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
32
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-26
0
0
0
0
0
0
58
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
32
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-9
0
0
0
0
0
0
0
5
0
18
0
4
0
0
0
0
-27
0
0
0
-50
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
-8
0
0
0
0
0
0
-6
0
1
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
22
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-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
0
0
30
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
-27
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
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
13
0
0
0
0
0
0
-17
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
29
0
0
0
-16
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
68
0
0
0
-36
0
0
0
0
0
0
-18
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
5
22
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-34
0
0
0
30
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
14
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
28
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
-30
0
0
0
0
0
0
52
0
0
-4
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
-22
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
22
-7
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
9
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
32
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
38
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-4
0
0
-9
0
0
0
0
0
0
-7
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
6
0
0
0
0
0
0
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-5
5
0
-12
0
0
0
0
0
0
-5
29
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
30
0
0
0
35
0
0
0
0
0
0
-26
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
9
0
1
-23
0
0
0
0
0
0
-1
1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
3
0
0
0
0
0
0
27
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
29
4
0
0
0
0
0
0
20
0
0
22
0
0
0
0
0
0
5
-6
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
9
0
0
13
0
0
0
0
0
0
-25
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
10
0
0
0
22
0
0
0
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-6
0
0
0
-19
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
32
0
0
0
38
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-17
5
0
0
0
0
0
0
0
0
-27
-4
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
20
-5
0
0
-16
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
-26
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
14
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
20
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-49
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-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
0
21
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
36
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-40
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-44
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
-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
15
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
-43
0
0
0
0
0
0
-43
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
-29
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
4
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
28
0
0
0
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
-7
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
5
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-51
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
17
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
21
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
14
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
27
-1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
22
0
0
0
0
0
0
-33
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
0
0
0
0
0
-10
0
0
3
0
0
0
0
0
0
20
0
0
0
-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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-38
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
26
0
0
0
0
0
0
-49
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
5
0
0
0
0
0
0
18
0
0
24
0
0
0
0
0
0
-3
-5
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
28
0
0
0
0
0
0
-47
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
0
33
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
17
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
23
0
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
28
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-1
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
51
-12
0
0
0
0
0
0
-2
0
0
-51
0
0
0
0
0
0
-6
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
76
0
0
0
0
0
0
-10
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-14
0
0
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
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-6
5
0
0
0
-37
0
0
0
3
0
1
0
-5
0
0
0
0
0
23
1
0
0
0
0
0
0
0
1
-9
0
0
8
0
0
0
-5
-24
0
0
0
3
0
0
0
-5
0
2
-5
0
0
0
0
0
0
-40
-7
0
0
3
0
0
0
-18
5
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
28
0
0
0
1
0
0
53
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
11
0
0
0
-39
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
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
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-57
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-21
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-21
0
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
22
7
6
0
0
0
0
0
10
0
0
-14
0
0
0
0
0
0
-13
2
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-31
0
0
0
-15
0
0
0
0
0
0
32
0
3
0
0
0
0
23
0
0
0
7
0
0
0
0
-8
0
0
0
0
0
0
0
0
13
4
0
0
0
0
0
0
-1
0
0
-33
0
0
0
0
0
0
-16
-15
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
11
0
0
0
3
0
0
13
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
19
0
4
0
0
0
0
0
0
9
7
0
0
0
0
0
0
5
2
0
33
0
2
0
0
0
0
-26
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
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
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
16
48
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
5
1
15
0
3
0
0
0
0
4
-2
0
5
0
0
0
0
0
0
63
1
0
0
39
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-15
-7
0
0
7
0
0
0
0
-10
-19
0
0
0
0
0
0
7
0
0
-14
0
-1
0
0
0
0
16
-7
0
0
8
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
-38
0
0
0
0
0
0
-20
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-15
0
0
0
34
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
5
0
0
-18
0
0
0
0
0
0
14
5
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-23
0
0
0
11
0
0
0
0
0
-5
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
40
0
0
0
0
0
0
6
2
0
13
0
0
0
0
0
-6
-23
-6
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
12
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
2
-13
1
0
0
0
0
0
0
3
-2
-9
0
0
0
0
0
0
-9
12
15
0
0
0
0
0
0
-2
8
0
-37
0
0
0
0
0
0
-35
-6
0
0
28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
4
21
0
-10
0
0
0
0
0
0
25
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
43
0
0
0
-52
0
0
0
0
0
0
36
0
0
0
0
0
0
6
0
-7
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
-8
-17
5
0
-5
0
0
0
-1
0
2
0
0
0
0
0
0
0
-45
1
0
0
-12
0
0
0
4
0
0
-3
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-7
0
0
0
36
0
0
0
-3
0
0
-19
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
-20
3
-25
-8
0
0
0
0
0
1
-5
9
-49
0
0
0
0
0
0
13
1
0
0
11
0
0
0
0
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
-17
0
0
0
0
0
0
-19
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-29
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
14
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
-21
0
0
0
0
0
0
-58
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
7
0
0
-6
0
0
0
0
0
0
6
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-8
0
0
0
-19
0
0
0
0
0
0
-25
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
6
0
0
0
0
0
1
24
0
-7
0
0
0
0
0
0
-42
15
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-12
0
0
0
0
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
36
0
0
0
0
0
0
-36
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-12
0
0
0
0
0
0
-41
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-17
5
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
17
0
0
0
-6
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
13
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
13
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-36
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-1
43
0
0
0
-17
0
0
-10
0
8
-1
0
0
52
0
0
0
-5
-3
0
0
0
0
0
0
0
0
16
-31
1
0
0
0
0
0
-27
-10
25
0
2
0
0
0
0
-8
0
0
-4
0
0
0
0
0
0
33
-5
0
0
39
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-13
0
0
0
25
0
0
0
0
-7
10
26
0
0
0
0
0
-3
6
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
7
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
7
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
49
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-37
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-6
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-26
0
0
0
-48
0
0
0
0
-1
0
3
0
0
0
0
0
-1
-28
0
0
0
0
0
0
0
0
-5
-7
0
0
0
0
0
0
0
14
5
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-6
0
0
0
17
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
19
0
0
0
-16
0
0
0
0
-2
0
33
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
-16
3
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
10
0
0
0
0
-4
0
-29
0
-3
0
0
0
7
-6
8
0
0
0
0
0
0
0
-3
0
0
0
17
0
0
0
0
-14
16
3
0
0
0
0
0
2
0
0
-11
0
0
0
0
0
0
14
-7
0
0
-3
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-27
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-9
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
-5
-37
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
1
0
-46
0
0
0
0
0
0
-6
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
14
0
0
0
-17
0
0
0
0
0
0
71
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
16
-6
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
-9
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
13
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
-6
0
2
0
0
0
0
0
-8
-52
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
37
0
0
0
6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
15
0
0
0
-17
0
0
0
0
0
0
46
0
0
0
0
0
0
35
0
0
0
0
0
0
0
10
1
0
0
1
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
12
-1
0
0
64
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-44
0
0
0
16
0
0
0
0
-5
0
35
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
40
23
0
0
0
0
0
0
0
2
0
-26
0
0
0
0
0
0
-22
13
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
16
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
22
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
-28
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
13
0
0
-4
0
0
0
0
6
10
0
0
48
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
-32
1
0
0
2
0
0
0
0
0
2
-1
0
0
0
0
0
30
5
8
0
0
0
0
0
0
0
-13
0
0
8
0
0
0
0
0
-13
3
-8
0
0
0
0
0
-13
7
0
-35
0
-7
0
0
0
0
16
-3
0
0
5
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
5
0
-82
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
19
0
0
0
43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
33
0
0
0
0
0
0
5
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
19
0
0
0
0
0
0
-2
0
0
4
0
0
0
0
0
0
23
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-67
0
0
0
32
0
0
0
0
0
0
25
0
0
0
0
0
12
14
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
27
21
0
0
0
0
0
0
5
2
0
-22
0
0
0
0
0
0
-6
8
0
0
-15
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-18
0
0
0
-9
0
0
0
0
0
9
6
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
18
6
0
0
-4
0
0
0
3
0
0
24
0
8
0
0
0
4
-2
-5
0
0
0
0
0
0
0
2
35
0
0
0
0
0
0
0
-18
-4
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
-41
0
0
0
0
0
0
23
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
3
0
0
-14
0
0
0
0
0
0
19
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
-29
-2
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-22
0
0
0
-17
0
0
0
0
0
-1
0
0
22
0
0
0
0
27
-2
0
-13
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
25
6
0
0
0
0
0
0
22
2
0
61
0
0
0
0
0
0
20
0
0
0
-10
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-14
-12
0
0
-31
0
0
0
-5
0
-8
-4
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
12
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-24
0
0
0
0
0
0
27
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
15
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-1
0
-8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
25
0
0
0
-25
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
23
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
-72
0
2
0
0
0
0
1
5
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
-5
3
0
0
-5
0
0
0
11
0
1
-16
0
6
0
0
0
0
81
-17
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
-22
8
0
0
0
0
0
0
-13
0
0
5
0
0
0
0
0
0
21
0
0
0
-17
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-37
0
0
0
-2
0
0
0
-6
0
0
10
0
0
0
0
0
-33
-5
-4
3
0
0
0
0
0
13
0
1
0
0
0
0
0
0
0
23
5
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-38
0
0
0
18
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
37
0
0
0
0
0
0
-5
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-30
22
0
0
2
0
0
0
0
0
4
21
0
0
0
0
0
-9
-30
-10
0
0
0
0
0
0
9
10
0
0
0
0
0
0
0
-4
45
8
0
0
0
0
0
0
20
5
0
4
0
0
0
0
0
0
-9
1
0
0
-16
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-26
0
0
0
15
0
0
13
0
0
0
0
0
-7
-24
0
-7
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
22
0
0
0
1
0
0
0
0
0
0
40
0
0
0
0
0
0
13
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-16
0
0
0
57
0
0
0
0
0
0
-33
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
8
-1
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
28
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-41
0
0
0
2
0
0
0
3
0
-1
-5
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
13
-4
0
0
0
0
0
0
0
-31
0
0
1
0
0
0
0
0
0
15
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
20
0
0
0
0
0
0
-21
0
0
0
0
0
0
-26
6
0
0
0
0
0
0
5
0
0
-2
0
0
0
0
0
1
-8
-15
0
0
0
0
0
0
-10
0
27
15
0
0
0
0
0
0
-4
-10
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-7
0
0
0
38
0
0
0
0
0
0
38
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
5
-7
-3
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
0
1
0
-24
0
-17
0
0
0
0
23
-16
0
0
14
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-23
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
7
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-3
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
1
-1
0
5
0
0
0
0
0
0
23
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
-27
8
0
0
-15
0
0
0
25
0
0
-44
0
0
0
0
0
5
11
-21
0
0
0
0
0
0
5
4
11
0
0
0
0
0
0
0
3
4
-8
-1
0
0
0
0
-8
-3
-2
0
0
0
0
0
0
-8
7
4
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
0
0
-40
0
0
0
8
0
1
4
0
0
0
0
0
0
26
0
0
0
0
0
0
0
5
25
15
0
0
0
0
0
0
7
24
1
3
0
0
0
0
0
-11
2
1
-23
0
-13
0
0
0
0
-31
6
2
0
7
0
0
0
0
8
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
42
0
0
0
0
0
0
-13
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-2
0
38
0
0
0
0
0
0
-2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
62
3
0
0
56
0
0
0
4
0
0
38
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
14
0
0
0
24
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
-4
36
15
0
-12
0
0
0
0
7
-5
0
32
0
-2
0
0
0
0
4
1
0
0
-27
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
-11
0
0
0
-12
0
0
0
0
0
0
-37
0
0
0
0
0
-2
-50
0
0
0
0
0
0
0
5
4
-8
0
3
0
0
0
0
0
-9
19
0
0
0
0
0
0
1
13
5
16
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
12
0
0
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
-24
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
10
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
-1
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-9
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-30
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
33
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
-11
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
14
13
0
0
18
0
0
0
-5
1
0
-10
0
0
0
0
0
0
18
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
50
0
0
0
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
-32
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
-14
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
13
0
0
0
0
0
0
-45
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
48
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
-79
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
8
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-19
1
0
0
4
0
0
0
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
27
0
0
0
0
0
0
39
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-16
0
0
0
-45
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
32
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-48
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-16
0
0
0
12
0
0
0
0
0
0
36
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
32
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
5
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-26
0
0
0
13
0
0
0
0
0
0
14
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-30
0
0
0
55
0
0
0
0
0
0
-24
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
3
0
0
0
21
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-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
-47
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
14
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-15
0
0
0
-6
-1
0
0
0
1
0
0
0
0
-13
-8
0
0
0
0
0
0
0
-2
0
9
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
2
19
0
0
0
0
0
3
31
-17
0
0
-7
0
0
0
30
-4
23
0
0
41
0
0
0
-14
-5
-1
20
0
0
0
0
0
-9
7
21
0
0
-11
0
0
0
22
-33
-3
0
0
0
0
0
0
-5
0
0
-18
0
0
0
0
0
0
-22
0
0
0
-12
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
6
0
0
0
-24
0
0
0
-14
5
-21
0
0
1
0
0
0
20
-17
-5
0
-10
0
0
0
0
-5
41
20
-1
0
-3
0
0
0
7
21
3
0
0
0
0
0
0
1
0
8
5
0
16
0
0
0
0
49
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
31
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-19
0
0
0
13
0
0
0
0
0
0
0
0
9
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
41
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
0
0
0
20
0
2
0
0
0
0
0
0
2
-18
0
0
-5
0
0
0
41
-24
0
0
0
24
0
0
0
0
-31
4
7
4
0
0
0
0
-3
18
-15
-1
0
-9
0
0
0
17
28
11
-6
0
0
0
0
0
6
9
0
12
0
3
0
0
0
0
50
-27
0
0
-20
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
9
0
0
0
0
0
-15
20
4
-3
0
35
0
0
0
-9
-24
4
0
0
5
0
0
0
-3
26
-10
-1
-8
5
0
0
9
21
-16
-12
0
0
-10
0
0
0
19
24
0
-1
-1
0
0
0
0
10
30
-6
46
0
0
0
0
0
0
-17
24
0
0
1
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
15
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-22
0
0
0
-59
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
0
6
0
0
0
0
0
0
31
0
0
0
5
0
0
0
0
10
17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-14
0
0
0
-3
0
0
0
15
-5
0
0
0
0
0
0
0
0
8
0
-7
0
0
0
0
0
0
22
3
0
0
-10
0
0
0
0
0
0
-14
0
0
0
0
0
-7
0
0
-5
0
0
0
0
0
1
31
-8
-2
0
15
0
0
0
56
-18
1
0
0
-1
0
0
0
12
2
0
0
-4
0
0
0
0
0
-9
35
-3
0
0
0
0
0
-4
15
-11
1
0
0
0
0
0
3
-4
-13
-16
0
0
0
0
0
0
39
-1
0
0
15
0
0
0
0
0
0
6
0
0
0
0
0
4
4
0
12
0
0
0
0
0
-5
-22
9
1
0
24
0
0
0
6
-30
1
0
0
17
0
0
0
10
-22
-27
0
0
6
0
0
0
-6
-12
3
13
0
2
0
0
0
13
-26
16
2
0
0
0
0
0
-4
2
22
1
0
0
0
0
0
0
22
0
0
0
3
0
0
-2
6
0
0
-5
0
0
0
0
0
-5
2
0
15
0
0
0
0
0
31
-30
-14
0
0
18
0
0
0
-13
22
6
0
9
13
0
0
0
10
-4
-14
0
0
0
0
0
0
-5
-25
-17
20
-2
-9
0
0
0
-37
50
4
3
0
0
0
0
0
9
-38
-27
7
0
5
0
0
0
-4
-9
9
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
49
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
22
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
17
13
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
18
10
0
0
0
0
0
0
0
0
13
0
-30
0
0
0
0
0
0
-1
0
0
0
51
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
22
0
0
0
0
0
3
3
-9
0
0
-1
0
0
0
-5
-4
0
0
0
0
0
0
0
-8
-12
-3
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
-31
3
-17
0
4
0
0
0
0
-5
13
23
20
0
0
0
0
0
0
-1
-22
2
0
17
0
0
0
1
0
0
1
0
0
0
0
0
-1
23
-5
25
0
0
0
0
0
-2
11
-5
0
-1
-18
0
0
0
-6
-14
2
0
0
-3
0
0
0
-13
-2
9
-13
0
0
0
0
0
-5
49
-12
0
0
-1
0
0
0
5
58
20
3
0
0
0
0
0
-4
2
-2
-11
0
0
0
0
0
0
-6
5
0
5
-23
0
0
0
-3
0
0
-54
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-19
0
0
0
-3
0
0
0
0
0
5
0
0
0
0
0
0
-2
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
0
2
0
0
0
0
0
10
-3
0
25
0
0
0
0
0
0
-32
0
0
0
-14
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
19
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
33
0
0
0
0
0
0
-4
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
0
0
0
0
0
0
-3
2
0
0
23
0
0
0
-1
25
4
0
0
0
0
0
0
11
-69
8
0
0
0
0
0
0
15
0
-8
7
0
-4
0
0
0
-9
5
0
0
0
0
0
0
0
5
-25
12
25
0
0
0
0
0
0
-1
5
0
0
-36
0
0
0
12
0
0
13
0
0
0
0
0
0
-8
0
-33
0
0
0
0
0
0
9
7
0
0
-10
0
0
0
0
-8
0
0
0
0
0
0
0
-14
-27
0
-4
3
0
0
0
1
1
-6
-14
13
0
-22
0
0
0
7
71
2
0
0
0
0
0
0
-11
-2
14
-35
0
0
0
0
0
0
-30
-1
0
0
42
0
0
0
0
0
0
-6
0
0
0
0
0
-7
-16
1
3
0
0
0
0
0
0
-4
0
0
0
19
0
0
0
4
0
0
0
0
4
0
0
0
41
-22
15
21
0
0
0
0
0
14
5
-32
-2
0
5
0
0
0
-9
-49
2
0
0
0
0
0
0
12
4
-13
-5
0
0
0
0
0
0
-9
8
6
0
-6
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-28
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
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
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-15
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
39
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
3
0
0
12
0
0
0
0
0
0
-47
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-37
0
0
0
6
0
0
0
0
1
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-25
1
1
0
0
0
0
0
5
6
0
-68
0
0
0
0
0
0
27
0
0
0
42
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
-19
4
0
0
0
0
0
-7
4
2
0
0
-5
0
0
0
-3
10
7
0
0
0
0
0
0
-14
19
-3
-12
0
0
0
0
0
0
49
-31
2
0
5
0
0
0
1
-13
-5
0
0
0
0
0
0
11
6
30
0
0
18
0
0
0
5
4
-21
-1
0
13
0
0
0
4
0
0
47
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
13
1
-10
3
9
0
3
0
0
0
12
5
5
3
10
0
0
0
0
24
5
4
4
0
-9
0
0
0
1
20
-8
4
0
-8
0
0
0
19
3
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-7
0
0
0
5
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-16
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
10
-13
0
0
0
0
0
0
13
13
0
0
-11
0
0
0
3
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
17
-2
8
5
0
0
0
0
0
-13
14
13
0
0
0
0
0
0
0
-18
18
-23
0
-1
0
0
0
0
8
0
0
0
-4
0
0
0
0
-2
0
-3
0
0
0
0
0
0
1
0
-19
0
0
0
0
0
0
20
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
0
-10
7
1
0
0
0
0
0
8
-41
-8
0
0
0
0
0
0
1
1
41
-10
0
0
0
0
0
0
-5
-2
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
30
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-5
-5
0
0
0
0
0
0
22
-42
0
0
0
1
0
0
0
19
3
0
35
0
0
0
0
0
0
-8
-12
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-29
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
18
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-12
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-47
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-8
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
29
0
0
0
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-5
0
0
0
-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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-50
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-21
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
13
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-50
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
59
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
67
0
0
0
0
0
0
4
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-32
0
0
0
9
0
0
0
0
2
0
33
0
0
0
0
0
-1
-14
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
31
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
-4
0
0
-12
0
0
0
8
0
0
-56
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
41
-16
0
0
-45
0
0
0
-9
-3
0
-13
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
26
0
0
0
0
0
0
0
-2
0
0
44
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
8
-18
-3
0
-12
0
0
0
0
0
14
0
0
0
0
0
0
-12
-9
4
17
0
0
0
0
-1
-6
-5
3
0
0
4
0
0
0
-21
46
1
8
0
0
0
0
0
22
-3
1
44
0
0
0
0
0
0
-39
3
0
0
-35
0
0
0
15
0
0
1
0
0
0
0
0
0
2
0
-12
3
0
0
0
0
-13
-17
5
0
0
41
0
0
0
7
12
6
-45
0
0
0
0
0
1
30
-4
0
0
0
0
0
0
8
31
0
0
0
0
0
0
0
0
-25
0
-2
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
22
0
0
0
-24
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-46
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
50
0
0
0
31
0
0
0
0
0
0
17
0
0
0
0
0
6
-22
0
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
4
0
0
0
0
0
0
13
-5
0
0
8
0
0
0
0
3
0
10
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
7
-2
0
0
4
0
0
0
-1
0
0
-30
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
0
-26
4
0
0
0
0
0
0
4
23
0
9
0
0
0
0
0
0
0
1
-21
-2
0
0
0
0
0
-13
0
0
0
41
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
0
0
35
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-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
75
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
28
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
26
0
0
0
-6
0
0
0
0
0
0
32
0
0
0
0
0
0
25
0
0
0
0
0
0
0
6
3
0
5
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
-27
0
0
0
0
0
0
31
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-31
0
0
0
-37
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
23
0
0
0
0
0
0
-31
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
11
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
-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
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-13
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
35
0
0
0
0
0
0
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
29
0
0
0
0
0
0
-6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
0
0
0
-12
0
0
0
-5
0
0
40
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
13
17
6
0
0
0
0
0
0
1
-2
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
41
0
0
0
43
0
0
0
0
0
0
1
0
0
0
0
0
0
13
5
0
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
2
-22
-5
0
0
0
0
0
0
0
0
0
-74
0
0
0
0
0
0
55
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
-12
0
0
-46
0
0
0
0
0
0
21
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
4
2
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-12
0
0
0
21
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-31
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
34
0
0
0
0
0
0
16
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
7
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
9
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
46
0
0
0
-21
0
0
0
0
0
0
25
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-7
1
-1
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-25
23
0
0
-18
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-26
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
0
0
0
-45
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
-17
-4
0
0
0
0
0
0
-14
-5
0
0
8
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
-85
0
0
0
0
0
0
-43
0
0
0
0
0
0
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
-53
0
0
0
0
0
0
11
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-49
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-39
0
0
0
0
0
0
24
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
20
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
48
0
0
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
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-95
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-25
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-42
0
0
0
-8
0
0
0
0
0
0
20
0
3
0
0
0
0
40
8
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-22
0
0
0
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
8
-1
0
0
11
0
0
0
0
0
0
12
0
4
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
-16
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
36
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-6
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-23
0
0
0
-23
0
0
0
-4
0
0
43
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
7
0
0
0
29
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
15
0
3
0
-21
0
0
0
0
0
5
0
0
0
0
0
0
0
-40
21
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
14
-1
0
0
0
0
0
0
-9
0
0
39
0
0
0
0
0
0
-34
0
0
0
33
0
0
0
0
0
-13
57
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
27
0
0
0
-22
0
0
0
0
0
-4
0
0
10
0
0
0
0
31
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
1
0
0
0
0
0
0
1
0
0
-22
0
0
0
0
0
0
15
0
0
0
-12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-38
0
0
0
0
0
0
-43
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
2
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-21
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
45
0
0
0
6
0
0
0
0
0
8
-9
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-21
0
0
0
18
0
0
0
1
0
5
34
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
29
19
0
0
0
0
0
3
23
10
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
22
0
0
0
-30
0
0
0
1
-2
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
15
0
-70
0
0
0
0
0
0
-11
0
0
0
32
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
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
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
34
0
0
0
0
0
0
-21
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-42
0
0
0
14
0
0
0
0
0
0
39
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-24
9
0
0
0
0
0
0
0
-5
5
9
0
0
0
0
0
0
-44
0
0
0
-37
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
-10
0
0
0
-2
0
0
0
0
0
0
28
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
9
0
0
-1
0
0
0
0
41
1
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-17
0
0
0
0
0
0
27
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
5
0
0
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
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-5
0
0
0
26
0
0
0
0
0
0
6
0
-4
0
0
0
0
-3
0
0
0
0
0
0
0
0
10
-16
0
0
0
0
0
0
-4
-80
0
0
0
0
0
0
0
5
-1
0
-10
0
0
0
0
0
0
24
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
0
0
-14
0
0
0
0
0
0
-17
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-2
0
0
0
0
0
0
-8
0
0
35
0
0
0
0
0
0
1
-4
0
0
-26
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
7
-4
0
0
4
0
0
0
0
0
0
30
0
0
0
0
0
0
-31
5
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-8
22
0
-23
0
0
0
0
0
0
10
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-49
0
0
0
1
0
0
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
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
21
0
0
0
-30
0
0
0
0
0
0
41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
1
0
0
-21
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
19
0
0
13
0
0
0
21
0
0
0
0
0
0
19
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
-10
0
0
0
-11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-44
0
0
0
-29
0
0
0
0
0
0
-2
0
0
0
0
0
0
32
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
18
30
12
0
0
0
0
0
16
3
0
54
0
0
0
0
0
0
16
12
0
0
44
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
36
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
47
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-20
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
15
0
0
0
53
0
0
0
0
0
0
31
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-2
0
0
0
0
0
0
2
-1
0
0
11
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
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
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-30
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
5
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
14
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
9
0
0
0
0
0
0
-28
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
16
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
42
0
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
13
0
0
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
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
41
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-30
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
35
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-9
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
62
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
21
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
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
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
20
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
45
0
0
0
0
0
0
9
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-19
14
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-5
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
5
0
0
0
41
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
1
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-14
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-10
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-18
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
-14
5
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-13
-6
0
0
37
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
-2
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-24
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-6
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
-15
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
-29
0
0
0
0
0
0
-40
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
11
-15
5
0
0
0
0
0
0
-8
0
0
-16
0
0
0
0
0
0
15
-19
-2
0
32
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
14
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
15
8
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
-15
0
0
0
0
0
0
49
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
29
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-67
0
0
0
0
0
0
16
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
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-17
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-20
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
6
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
18
0
0
0
0
0
0
18
0
-2
0
0
0
-2
2
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
39
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-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
0
-22
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
8
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
-6
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
11
0
0
0
7
0
0
0
0
0
0
0
0
8
0
0
0
0
-21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-20
2
0
0
0
0
0
0
-5
0
0
34
0
0
0
0
0
0
-43
10
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
-12
0
0
0
0
0
0
32
0
0
0
0
0
4
5
2
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-22
0
0
0
-29
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-6
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-43
0
0
0
0
0
0
-1
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-30
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-13
0
-1
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-24
-12
0
0
25
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
49
0
-7
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-22
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-10
0
0
0
2
0
0
0
0
8
0
14
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
51
0
0
0
0
8
0
-42
0
0
0
0
0
4
25
0
0
0
0
0
0
0
0
0
0
8
0
-7
0
0
0
0
-19
32
0
0
0
0
0
0
-5
0
0
36
0
0
0
0
0
0
10
7
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
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
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
23
0
0
0
0
0
0
-32
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-23
-2
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-12
0
0
0
34
0
0
0
0
0
0
-33
0
0
0
0
0
8
13
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
42
14
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-2
2
0
0
-37
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
16
0
0
0
-5
0
0
0
0
5
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
-10
0
0
0
0
5
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
-2
0
-25
0
0
0
0
0
0
24
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-22
0
0
0
31
0
0
0
0
-2
0
-50
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-17
-9
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-41
-3
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
21
0
0
0
-14
0
0
0
0
8
0
-32
0
0
0
0
0
12
33
0
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
-6
25
0
0
-7
0
0
0
12
0
0
-9
0
0
0
0
0
0
26
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
25
0
0
0
0
0
0
24
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
13
4
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
20
0
0
0
3
0
0
0
0
2
0
27
0
0
0
0
0
-3
-19
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
0
-21
9
0
0
41
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
28
0
0
0
42
0
0
0
0
0
0
-15
0
0
0
0
0
-13
22
0
0
0
0
0
0
0
9
15
0
0
0
2
0
0
0
-17
-15
-21
0
-9
-10
0
0
0
-2
2
2
13
0
0
0
0
0
1
-7
-4
10
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-25
0
0
0
0
0
0
16
0
0
0
0
0
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
24
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
6
0
0
0
0
0
0
21
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-5
0
0
0
0
0
0
-6
0
0
-13
0
0
0
0
0
0
-4
0
0
0
49
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
-32
0
0
0
0
0
0
-10
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
3
-2
-2
0
0
0
0
0
0
1
-10
-12
0
0
0
0
0
0
9
0
2
60
0
0
0
0
0
0
-8
-2
0
0
-12
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
-23
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
0
24
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
43
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-7
0
0
0
0
5
0
-30
0
-1
0
0
0
0
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-3
0
0
0
12
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-30
-4
0
0
17
0
0
0
6
0
0
-10
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
2
0
0
-7
0
0
0
0
0
0
5
0
0
0
-29
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-48
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
61
0
0
0
0
0
0
-20
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
43
0
0
0
-9
0
0
7
0
0
0
0
0
0
48
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-28
0
0
0
12
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
10
0
0
0
0
0
5
-10
-3
0
0
-14
0
0
0
8
8
0
0
0
7
0
0
0
0
16
2
0
17
0
0
0
0
0
-8
-19
6
0
0
0
0
0
0
9
-6
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
-46
0
0
-1
0
0
0
0
24
0
15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
-4
0
0
-29
0
0
0
-17
-16
-12
8
0
0
0
0
-1
0
43
8
0
-5
-14
0
0
0
-1
10
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-42
0
0
0
28
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
54
0
0
0
2
0
0
21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
-12
0
0
0
-41
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
34
0
0
0
0
0
0
5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
41
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
49
-13
0
0
-15
0
0
0
-10
2
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
5
2
0
0
-1
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-16
2
0
0
-19
0
0
0
0
0
0
39
0
12
0
0
0
0
13
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
-12
0
0
0
0
0
0
-6
0
0
0
13
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
5
0
0
-3
0
0
0
-10
0
0
-13
0
-5
0
0
-1
0
-20
-2
0
0
0
0
0
0
22
-13
0
2
0
10
0
0
0
0
5
-6
0
0
0
0
0
0
-17
1
0
-21
0
0
0
0
0
0
-5
0
0
0
-43
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
5
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
0
0
0
0
0
0
22
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-3
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
-8
0
0
-35
0
0
0
2
0
0
4
0
0
0
0
0
0
44
7
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
15
-13
5
0
0
0
0
0
0
0
0
1
-40
0
4
0
0
0
0
-19
5
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
62
0
0
0
-45
0
0
0
0
-10
0
13
0
0
0
0
0
0
-30
-5
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
51
0
0
-2
0
0
0
0
0
2
0
-16
0
1
0
0
0
0
-22
-5
0
0
13
0
0
0
0
2
0
-14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-26
0
0
0
23
0
0
0
0
0
0
14
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-4
0
0
0
0
0
0
-25
0
0
0
0
0
0
14
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
4
0
0
0
0
0
0
28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-7
0
0
0
-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
36
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-21
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
12
0
0
0
-28
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
26
0
0
0
-18
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
-37
0
0
0
0
0
0
-37
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-5
0
0
1
0
0
0
0
8
8
2
0
9
0
0
0
0
-8
-1
0
0
6
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-19
-2
0
0
-2
0
0
0
19
8
0
-6
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
-2
-11
15
-5
0
0
0
0
0
0
-4
0
-18
0
0
0
0
0
3
-12
13
0
0
25
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
24
0
0
0
16
0
0
0
0
0
0
-31
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
1
0
0
-42
0
0
0
0
0
0
23
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-21
0
0
0
-3
0
0
0
-5
6
0
-43
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
-1
0
7
0
0
-3
0
0
0
2
-5
0
0
5
0
0
0
0
-1
-2
-3
0
0
2
0
0
0
0
-40
10
9
0
12
0
0
0
0
2
0
-9
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
-1
0
0
17
0
0
0
0
0
0
34
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
7
-44
37
32
0
0
0
0
0
3
4
52
-13
-8
0
0
0
0
-18
-30
1
14
0
-12
0
0
0
0
2
-29
-6
0
8
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-25
0
0
0
-44
0
0
0
0
0
0
1
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
14
0
0
0
28
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-38
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-12
0
0
0
4
0
0
0
0
0
0
-19
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
6
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-11
0
0
0
-5
0
0
0
0
0
0
-18
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-10
11
3
15
0
5
0
0
0
12
-2
0
12
0
0
0
0
0
0
-30
25
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
20
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
37
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
111
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
6
0
0
0
0
-5
-1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
42
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-17
0
0
0
-52
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
-25
0
0
0
0
20
-10
0
0
-1
0
0
0
1
0
4
0
0
0
0
0
0
0
28
-3
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
-19
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
5
0
0
-3
0
0
0
1
13
-7
42
0
0
0
0
0
-8
0
-5
0
0
0
0
0
0
0
-27
4
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-22
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
13
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-5
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
23
0
0
0
28
0
0
0
2
0
0
-13
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
0
0
0
0
0
0
2
0
0
36
0
0
0
0
0
0
-16
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
10
0
0
0
-19
-5
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
-30
0
0
0
8
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
48
0
0
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-10
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
28
0
0
0
7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
16
-8
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-33
0
0
0
42
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
-13
0
0
0
-1
4
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
17
0
-20
0
0
0
0
0
0
30
0
0
0
2
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-13
0
0
0
75
0
0
0
0
0
-2
-40
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
15
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
18
0
0
0
7
0
0
0
0
0
0
30
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
-4
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
21
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
1
3
32
0
0
0
0
0
0
0
9
0
13
0
0
0
0
0
0
44
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-5
1
0
10
0
0
0
0
0
0
26
0
0
0
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
-30
0
0
0
0
4
0
18
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
4
-24
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-27
2
0
0
0
0
0
0
0
-39
6
0
0
34
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
10
0
0
0
0
0
0
28
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
-5
-6
0
0
0
0
0
0
1
-4
8
0
0
0
0
0
0
18
8
10
4
0
0
0
0
0
0
29
49
0
0
11
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
5
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
-36
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-19
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
22
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
29
0
0
0
0
0
0
37
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
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
-49
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-11
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
17
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-23
0
0
0
-29
0
0
0
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
-3
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
2
-29
1
0
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
25
-6
0
0
25
0
0
0
22
-13
-8
15
1
8
0
0
0
61
9
0
0
0
-7
0
0
0
5
-5
0
0
-1
0
0
0
0
18
7
-1
0
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
0
-6
3
0
0
17
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-11
20
0
0
-1
0
0
0
-3
1
-10
1
3
0
0
0
0
-6
-12
0
0
25
0
0
0
0
-2
-13
-35
0
0
0
0
0
0
-18
5
11
0
0
1
0
0
0
-3
14
0
24
0
-6
0
0
0
0
-10
-6
0
0
-6
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
0
0
6
0
0
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-10
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
11
16
0
0
-14
0
0
0
13
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-1
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
-5
0
0
-13
0
0
0
0
0
-31
-9
-13
0
0
20
0
0
0
25
23
0
-27
0
-1
0
0
0
-15
-40
0
0
0
0
0
0
0
0
-1
11
13
0
0
0
0
0
26
36
-28
0
-4
0
0
0
0
-1
6
-12
27
0
12
0
0
0
0
-1
8
0
0
-21
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-16
14
0
0
-22
0
0
0
-1
32
-12
0
0
-4
0
0
0
-8
-9
0
0
0
5
0
0
0
0
-11
-5
8
0
25
0
0
0
29
-12
9
0
-8
0
0
0
0
23
15
0
26
0
5
0
0
0
0
17
-9
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
-10
0
0
-25
0
0
0
0
0
0
47
4
3
0
14
0
0
0
-16
15
46
10
0
0
0
0
0
-22
18
0
19
0
0
0
0
0
-32
5
12
-5
0
-1
0
0
0
-7
5
-13
0
0
0
0
0
0
0
12
0
13
0
0
0
0
0
0
-16
-8
0
0
12
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
56
6
0
0
-5
0
0
0
0
-1
-1
-65
0
0
0
0
0
0
61
0
0
3
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
3
1
-6
-2
0
0
0
0
0
0
70
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
58
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
22
0
0
0
0
0
0
-40
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
2
0
0
-17
0
0
0
17
-5
0
-28
0
0
0
0
0
12
0
0
0
0
0
0
0
0
5
-4
-6
0
0
0
0
0
0
32
-1
-5
0
0
0
0
0
0
1
0
0
27
0
0
0
0
0
0
-12
0
0
0
40
0
0
0
0
0
0
-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
4
0
0
65
0
0
0
0
0
-8
4
0
0
0
20
0
0
0
-59
-40
-9
-1
0
-16
0
0
0
25
13
0
0
0
40
0
0
0
-3
13
-1
-18
-1
2
0
0
0
-11
-18
10
-1
4
0
0
0
0
-7
8
3
-18
0
0
0
0
0
0
-26
-8
0
0
4
0
0
0
0
-1
0
30
0
0
0
0
0
32
0
0
-5
0
0
0
0
0
13
17
58
0
0
8
0
0
0
-27
-2
6
2
0
5
0
0
0
22
52
0
0
0
2
0
0
-1
-2
-6
-34
25
0
-31
0
0
0
-10
49
23
-8
0
0
0
0
0
19
13
5
31
0
-2
0
0
0
-13
13
25
0
0
27
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
38
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
14
0
0
0
55
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
27
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-33
27
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
-15
12
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
-17
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
11
0
0
0
22
0
0
0
0
0
0
11
0
0
0
0
0
28
0
-2
-3
0
0
0
0
0
25
-10
11
0
0
10
0
0
0
-41
7
-19
-5
9
15
0
0
0
-25
0
0
-6
-6
2
0
0
0
9
20
0
-9
9
0
0
0
0
2
-20
-27
-1
16
0
0
0
2
17
1
23
34
0
-13
0
0
0
-5
3
-4
0
0
11
0
0
0
0
0
-5
7
0
0
0
0
0
3
0
0
2
0
0
0
0
0
-1
35
-28
0
0
-4
0
0
0
0
0
-1
36
0
0
0
0
0
9
57
0
0
0
1
0
0
0
0
-6
-6
0
0
5
0
0
0
-5
13
-5
0
0
0
0
0
0
-14
5
0
35
0
1
0
0
0
0
24
-14
0
0
18
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
6
0
0
-16
0
0
0
-3
0
0
44
-5
8
0
0
0
8
15
0
0
0
4
0
0
0
5
-6
0
2
0
0
0
0
0
0
-14
-6
0
0
0
0
0
0
-5
-5
-6
18
0
0
0
0
0
0
-8
0
0
0
8
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-27
0
0
0
0
0
0
-55
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
9
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
-12
0
0
0
0
0
0
-34
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
76
0
0
0
-16
0
0
0
0
0
0
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
4
-27
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-17
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
-2
0
0
-22
0
0
0
0
0
0
-15
20
0
0
23
0
0
0
28
-13
0
18
0
2
0
0
0
25
23
0
4
0
0
0
0
0
0
1
-23
-22
0
-6
0
0
0
-13
-6
0
0
0
0
0
0
0
32
8
14
2
0
16
0
0
0
-14
31
21
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
2
0
0
13
0
0
0
0
0
0
-17
39
0
0
14
0
0
0
9
5
17
-35
0
-3
0
0
0
16
33
0
0
0
0
0
0
0
9
-1
33
-43
-1
17
0
0
0
2
-11
-16
0
0
-2
0
0
0
31
22
-15
-31
0
-8
0
0
0
-9
-18
20
0
0
-10
0
0
0
1
0
0
10
0
0
0
0
0
1
0
-14
-48
0
0
0
0
0
-37
10
4
0
0
-8
0
0
0
9
-5
-1
-29
0
7
0
0
0
6
27
0
0
-2
0
0
0
0
5
21
17
12
1
37
0
0
0
-5
-23
4
8
0
0
0
0
0
15
21
-1
-3
0
4
0
0
0
-4
6
22
0
0
41
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
32
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
16
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
26
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
-22
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
16
0
0
27
0
0
0
0
0
0
-16
0
0
0
12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
16
0
0
0
0
0
4
21
-1
0
0
23
0
0
0
0
0
0
12
0
0
0
0
0
-13
26
0
0
0
0
0
0
0
-6
3
-17
0
0
0
0
0
0
0
-6
12
0
0
0
0
0
0
28
-9
0
-4
0
0
0
0
0
6
31
-3
0
0
17
0
0
0
0
0
0
43
0
0
0
0
0
-5
0
0
34
0
0
0
0
0
29
-18
-7
0
0
-9
0
0
0
6
16
0
34
6
0
0
0
0
-7
18
0
-4
-14
0
0
0
0
-10
11
4
-13
12
8
0
0
0
-8
56
-14
-15
19
0
0
0
0
-15
-16
-31
0
0
-35
0
0
0
-42
28
8
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
23
-7
0
0
-12
0
0
0
10
0
-1
21
0
0
0
0
0
-1
14
0
-3
10
-4
0
0
-5
3
5
-23
-9
-5
15
0
0
0
-19
29
-1
-3
28
12
0
0
0
-35
26
-22
-17
0
5
0
0
0
1
10
-20
-5
0
7
0
0
0
-3
-6
7
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
24
0
0
0
-4
0
0
0
0
1
-8
0
0
0
0
0
0
4
5
9
30
0
0
0
0
0
0
-5
0
0
0
27
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-30
0
0
0
-41
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-7
6
0
0
-5
0
0
0
15
0
0
-44
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-1
-9
7
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
3
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-22
0
0
0
-29
0
0
0
0
0
0
-41
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
1
-34
9
2
0
0
0
0
0
-7
5
-10
17
0
0
0
0
0
-6
26
-24
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
5
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
-13
36
0
0
0
0
0
0
0
7
11
16
0
4
11
0
0
0
4
33
4
-5
0
0
0
0
0
-13
41
2
39
0
0
0
0
0
0
28
36
-7
0
20
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
-43
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
14
0
0
0
-9
0
0
0
0
0
0
0
0
18
0
0
0
0
13
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
17
0
0
0
0
0
0
0
-9
0
0
-1
0
0
0
0
0
0
-9
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-9
18
0
0
54
0
0
0
5
0
3
-37
0
9
0
0
0
3
11
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-26
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-18
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-46
0
0
0
0
0
10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-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
0
0
0
20
10
0
0
-36
0
0
0
0
0
0
17
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-11
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
12
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-6
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
12
0
0
0
0
0
0
-62
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
31
0
0
0
0
0
0
42
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
-48
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
48
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-7
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
-2
0
0
0
-52
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-102
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-6
0
0
-1
0
0
0
0
0
0
5
0
0
0
-116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
23
0
0
0
0
0
0
10
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-27
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
23
0
0
0
7
0
0
0
0
0
0
-49
0
0
0
0
0
0
11
0
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
0
0
0
0
0
0
0
0
0
2
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
3
0
0
0
0
0
0
32
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-5
0
24
0
0
0
0
-7
-1
-16
-56
0
0
0
0
0
0
-13
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-1
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
-22
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
41
0
0
0
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
0
-11
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
23
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
3
0
0
0
-18
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-5
-51
0
0
0
-14
0
0
0
8
0
2
14
0
-3
0
0
0
0
-39
-2
0
0
0
0
0
0
0
-3
2
0
0
14
0
0
0
-2
23
5
0
0
0
0
0
0
-8
5
-5
28
0
0
0
0
0
0
-9
-7
0
0
-56
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
10
9
5
0
0
35
0
0
0
25
1
10
-12
0
32
0
0
0
-13
15
12
0
0
2
0
0
0
1
-20
26
0
0
0
0
0
0
-6
-21
-1
-9
0
0
0
0
0
0
-1
0
11
0
0
0
0
0
0
23
0
0
0
-42
0
0
0
0
-8
0
-16
0
0
0
0
0
0
-3
0
-13
0
0
0
0
0
-13
-12
10
0
0
5
0
0
0
-33
12
-6
-33
0
4
0
0
0
12
20
12
0
0
1
0
0
0
-14
2
1
0
0
16
0
0
0
5
16
-11
0
0
0
0
0
0
-3
3
-28
-30
0
0
0
0
0
-5
-30
8
0
0
28
0
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-52
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
-21
0
0
0
0
0
0
-39
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-23
0
0
0
-27
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
10
1
0
0
-5
0
0
0
19
-28
0
-4
0
5
0
0
0
-13
58
-4
0
0
0
0
0
0
10
-19
-9
0
0
-1
0
0
0
-1
12
4
0
0
0
0
0
0
-5
1
-8
-4
0
-1
0
0
0
-1
0
-3
0
0
5
0
0
0
0
6
0
-23
0
0
0
0
0
7
0
0
-14
0
0
0
0
4
4
-1
4
-36
0
-6
0
0
0
5
-18
-5
0
0
-22
0
0
0
-16
-26
-17
10
0
0
0
0
0
-45
-5
9
0
5
-26
0
0
0
-3
35
-11
-13
-7
0
0
0
-1
-21
26
-21
29
2
6
0
0
0
36
15
-26
3
0
-20
0
0
0
7
-21
-14
-3
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-13
-3
23
0
-14
0
0
0
-13
-17
15
22
0
2
0
0
0
-58
-2
18
3
0
0
0
0
0
48
-3
3
0
0
4
0
0
0
-4
23
-1
0
0
0
0
0
0
12
0
0
24
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
48
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
-26
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
-52
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
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
2
0
0
0
0
0
0
-13
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
27
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
5
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
22
2
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
4
0
0
14
0
0
0
0
0
3
-3
6
1
0
31
0
0
0
16
-5
-7
2
0
-13
0
0
0
-16
-12
0
0
0
0
0
0
0
-2
-19
-44
0
0
5
0
0
0
55
-16
24
14
-3
0
0
0
0
-9
46
-19
29
0
0
0
0
0
15
6
-6
0
0
-44
0
0
0
-4
-19
0
-9
0
0
0
0
0
-1
5
32
15
0
0
0
0
0
9
58
-17
-3
0
-23
0
0
0
-11
-28
0
-10
0
0
0
0
0
-58
48
23
0
0
0
0
0
0
32
-7
5
0
0
33
0
0
0
-31
33
12
10
0
0
0
0
0
33
21
31
13
0
0
0
0
0
6
51
15
15
0
-8
0
0
0
-5
18
1
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
6
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
0
0
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
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-28
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
4
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
13
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
22
0
0
0
19
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
3
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-43
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-16
0
0
0
46
0
0
0
-1
0
4
10
0
0
0
0
0
-8
-15
5
5
0
0
0
0
0
-4
18
0
0
0
3
0
0
0
-12
1
16
4
0
0
0
0
0
24
5
0
-24
0
0
0
0
0
1
31
-24
2
4
3
0
0
0
0
0
-6
-6
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-20
-7
0
0
-20
0
0
0
0
1
0
-40
0
-13
0
0
0
0
-14
0
-2
0
0
0
0
0
0
-8
-15
0
0
2
0
0
0
2
23
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
-1
20
0
0
-21
0
0
0
0
21
0
-35
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
8
10
0
0
46
0
0
0
-12
0
0
19
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
10
13
0
0
0
5
0
0
0
4
-5
-1
0
0
0
0
0
0
-5
0
0
50
0
0
0
0
0
0
34
-1
0
0
12
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-12
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
5
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-14
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
3
0
0
60
0
0
0
-5
0
0
6
0
3
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
0
7
0
0
0
0
0
0
-4
0
0
-5
0
0
0
0
0
0
18
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
40
0
0
0
0
0
0
23
-9
0
0
4
0
0
0
-13
5
3
36
-5
19
0
0
0
14
-41
10
0
0
0
0
0
0
0
9
-8
0
1
0
0
0
0
6
40
0
0
0
0
0
0
0
-9
6
-48
-24
0
0
0
0
0
8
-21
11
0
0
-20
0
0
0
-6
12
-7
4
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
26
0
0
0
-46
0
0
0
11
0
2
4
0
3
0
0
0
0
-5
6
0
0
0
0
0
0
2
-17
0
0
0
-1
0
0
0
17
32
0
0
0
0
0
0
0
31
-1
13
-28
0
0
0
0
0
8
14
-18
0
0
24
0
0
0
3
0
5
-1
0
0
0
0
0
0
0
8
-23
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
-13
0
-17
17
0
6
0
0
0
0
-46
1
0
0
0
0
0
0
4
1
0
0
0
8
0
0
0
14
-6
13
5
0
0
0
0
0
13
0
8
-8
0
0
0
0
0
3
-6
-2
0
0
36
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-52
0
0
0
-26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-7
0
0
0
0
0
0
-14
0
0
0
0
0
0
-42
1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
4
0
0
-47
0
0
0
0
0
0
27
2
0
0
-30
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
24
3
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
24
16
-3
0
0
0
0
0
-5
-1
0
-58
0
0
0
0
0
0
0
4
0
0
-13
0
0
0
0
0
0
-36
0
0
0
0
0
0
44
-3
51
0
0
0
0
0
0
-16
-2
0
0
42
0
0
0
-2
0
0
-24
0
0
0
0
0
-1
-3
-19
0
0
0
0
0
0
-4
-5
-9
0
0
-4
0
0
0
-13
-31
-4
0
0
0
0
0
0
7
9
14
0
0
-1
0
0
0
8
1
14
-3
0
-10
0
0
0
7
-5
12
-16
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
23
-1
0
0
-22
0
0
0
0
0
0
-21
0
0
0
0
0
0
52
5
0
0
0
0
0
0
0
-21
16
0
0
15
0
0
0
-5
28
4
0
0
0
0
0
0
-28
-5
2
-3
0
0
0
0
0
0
46
-7
10
0
-4
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-30
0
0
0
0
0
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
22
0
0
0
-30
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-13
-11
-3
0
0
0
0
0
0
32
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
16
13
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
17
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
0
38
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-5
0
13
0
0
0
0
0
0
-5
7
0
0
30
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
13
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
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
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
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
0
32
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
0
0
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
0
30
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
-42
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-28
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
30
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
-20
0
0
0
0
0
0
-23
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
40
0
0
0
0
0
0
18
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
6
0
0
0
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
4
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
25
-7
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
18
-13
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-12
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
12
0
0
0
0
0
0
-23
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-3
0
0
-19
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
24
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
45
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
20
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
-35
0
0
0
0
0
0
63
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-24
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
21
0
0
0
0
0
0
31
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-25
0
0
0
0
0
0
-42
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
62
0
0
0
0
0
0
33
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
64
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
9
6
0
0
0
0
0
4
3
4
0
0
17
0
0
0
0
0
1
32
0
0
0
0
0
0
-50
-11
0
0
0
0
0
0
0
0
-15
1
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-20
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
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
40
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-41
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
23
0
0
0
0
0
0
-33
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
-26
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-12
0
0
0
0
0
0
-11
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
24
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-40
0
0
0
0
0
0
4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-13
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
24
0
0
0
0
0
0
-8
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
19
0
0
0
0
0
0
-28
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
51
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-6
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-22
0
0
0
35
0
0
0
0
0
0
-13
0
0
0
0
0
0
21
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
23
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
33
0
0
0
0
0
0
-30
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-23
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
33
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
58
0
0
0
26
0
0
0
0
0
0
44
0
0
0
0
0
10
-22
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-24
0
0
0
-17
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
38
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
28
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
14
0
0
0
0
0
0
58
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
2
0
0
0
0
0
0
30
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
-47
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
6
0
0
0
9
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-21
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-10
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
38
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
23
0
0
0
0
0
0
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-19
0
0
0
27
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
16
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-17
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
34
0
0
0
13
0
0
0
13
0
0
8
0
0
0
0
0
0
-12
18
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
0
0
-28
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
4
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
33
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-22
-3
0
0
0
0
0
0
0
0
0
-34
0
-6
0
0
0
0
-7
0
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
14
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
-1
0
0
-24
0
0
0
13
0
0
-17
0
0
0
0
0
8
41
7
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
35
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
0
0
0
0
-49
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
47
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
34
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
8
0
9
0
0
0
0
0
0
-6
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-24
0
0
0
-20
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
41
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-23
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-10
0
0
0
0
0
0
-4
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-48
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-13
0
0
0
51
0
0
0
0
0
0
-40
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-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
33
0
0
0
0
0
0
31
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-5
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
44
0
0
0
0
0
0
44
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-14
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
10
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
1
0
0
0
0
0
0
53
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-17
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
11
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-15
0
0
0
0
0
0
-39
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
10
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-8
26
2
0
16
0
0
0
0
0
-2
21
0
0
0
0
0
23
-11
-20
0
2
3
0
0
-5
-4
0
48
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
21
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
3
0
0
-8
0
0
0
0
0
0
-7
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
-5
0
0
0
9
0
0
27
0
0
0
0
0
0
18
9
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
4
-14
0
22
0
0
0
0
0
0
-4
-1
0
0
34
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
6
-1
0
0
28
0
0
0
-5
0
0
-9
0
0
0
0
0
0
41
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
-4
-5
0
0
0
0
0
0
3
-1
0
-12
0
4
0
0
0
0
47
0
0
0
42
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-41
0
0
0
26
0
0
0
0
0
0
31
0
0
0
0
0
0
-27
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-2
0
0
0
0
0
0
-6
0
0
16
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
23
0
0
0
-11
0
0
0
0
0
0
13
0
0
0
0
0
0
-17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
13
0
0
-1
0
0
0
0
0
0
22
0
0
0
0
0
0
1
13
0
0
-23
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
-26
0
0
0
0
0
0
-38
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-33
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
21
0
0
0
-13
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
5
0
0
14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
2
0
0
0
43
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
7
0
0
18
0
0
0
0
0
0
26
0
0
0
-34
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
22
0
0
-10
0
0
0
0
0
4
59
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
-2
8
5
0
0
-49
0
0
0
0
-27
0
-16
0
0
0
0
0
0
26
-1
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
3
0
0
0
-31
0
0
0
-10
0
0
26
0
0
0
0
0
5
-40
17
0
0
0
0
0
0
0
0
-28
-1
0
10
0
0
0
0
-26
15
0
0
0
0
0
0
5
-27
0
19
0
0
0
0
0
0
-6
2
0
0
-10
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
13
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-28
0
0
0
-22
0
0
0
0
0
0
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
13
0
4
0
0
0
0
0
0
9
0
0
0
83
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
23
13
0
0
9
0
0
0
1
0
0
-6
0
0
0
0
0
0
-39
10
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
-8
13
2
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
29
-5
0
0
16
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
2
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
3
0
0
33
0
0
0
0
0
0
-2
-19
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-26
0
0
0
0
0
0
-30
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
42
0
0
0
0
0
0
9
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
70
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
-13
0
0
0
0
0
0
-14
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
20
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-22
0
0
0
2
0
0
0
-2
0
0
-8
0
0
0
0
0
-3
-13
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
28
1
0
0
0
0
0
0
7
0
0
-2
0
0
0
0
0
0
-10
24
0
0
8
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
5
13
-5
0
0
-34
0
0
0
-8
0
-13
26
0
0
0
0
0
0
-8
0
-14
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-24
0
0
0
-8
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
29
0
0
0
0
0
0
7
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
18
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
-2
0
0
29
0
0
0
-13
0
0
12
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
16
0
0
0
21
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
15
0
0
0
10
0
0
0
8
17
0
17
0
0
0
0
0
0
-66
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
0
-2
0
0
0
0
0
0
0
38
0
0
0
0
0
2
33
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
0
0
0
9
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
9
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
28
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
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
12
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
-58
0
0
0
0
0
0
-22
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-4
0
30
0
0
0
0
0
0
-7
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
21
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-16
0
0
0
0
0
0
0
5
0
17
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
37
0
0
0
5
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
18
0
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
11
0
0
0
0
0
0
11
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-18
0
0
0
0
0
0
18
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
8
-6
-8
0
0
-1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
45
0
0
0
0
0
0
26
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
-13
0
-1
30
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
0
4
12
0
4
0
4
0
0
0
0
-3
0
0
0
31
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
8
0
0
0
-32
0
0
0
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
7
0
0
0
-29
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-22
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-14
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
-42
0
0
0
0
0
0
21
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
32
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-29
0
0
0
0
0
0
7
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-6
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-22
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
11
20
0
0
-19
0
0
0
41
-25
-9
50
0
-13
0
0
0
-10
-3
8
13
32
0
0
0
0
0
-42
0
0
0
2
0
0
0
0
-3
1
-16
-1
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
82
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-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
21
0
0
0
-54
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
-14
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
26
0
0
0
0
0
0
-10
4
0
0
41
0
0
0
-5
2
26
30
0
0
0
0
0
1
28
0
0
0
0
0
0
0
0
0
9
0
0
3
0
0
0
3
42
0
0
-1
0
0
0
0
-5
0
3
-3
0
0
0
0
0
-1
40
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
11
0
0
0
0
0
0
9
-33
0
0
0
-21
0
0
0
2
8
-8
-62
0
10
0
0
0
2
5
-3
0
17
-1
0
0
0
0
-16
6
0
0
-5
0
0
0
16
-32
3
-6
0
0
0
0
0
-5
12
13
16
0
0
0
0
0
-5
25
2
0
0
16
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
35
0
0
0
0
0
0
14
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-5
0
0
0
-13
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
19
0
0
0
-7
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-5
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
41
0
0
0
0
0
0
-35
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
5
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
29
0
0
-22
0
0
0
-6
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
7
-13
0
-13
0
0
0
0
0
0
5
-3
-23
0
1
0
0
0
0
-20
0
0
0
32
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
9
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
27
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
12
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-6
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
3
-10
0
0
0
-11
0
0
0
-2
1
4
-8
0
0
0
0
0
-9
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-22
0
0
0
0
0
0
0
0
-5
0
-10
0
0
0
0
0
0
-6
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
41
0
0
0
0
0
0
-14
-3
0
0
22
0
0
0
19
13
7
-36
0
0
0
0
0
5
-13
-5
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
-2
51
-3
0
0
0
0
0
0
0
7
0
-44
0
0
0
0
0
0
-20
0
0
0
26
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
6
0
0
0
37
0
0
0
0
13
4
-32
0
-8
0
0
0
0
31
0
0
0
0
0
0
0
0
5
19
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
10
0
-76
0
0
0
0
0
0
28
0
0
0
-13
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-12
0
0
0
27
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
15
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
6
2
0
5
0
0
0
0
0
0
29
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
31
-9
0
0
0
0
0
-10
21
-5
5
0
-53
0
0
0
-25
5
4
11
0
0
0
0
0
-43
-6
-5
0
-4
0
0
0
0
12
-13
44
0
0
11
0
0
0
-6
-1
0
0
1
0
0
0
0
-9
0
-9
0
0
0
0
0
0
0
-22
13
0
0
5
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
23
0
0
-8
0
0
0
0
0
19
0
-30
0
0
0
0
0
0
22
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
17
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-17
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
54
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
10
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-43
5
0
0
12
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
2
0
-21
0
0
0
0
0
0
21
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
2
0
0
0
0
0
0
19
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-22
0
0
0
-41
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
-17
-2
0
0
17
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
-27
0
0
0
0
0
0
0
-42
0
-3
0
0
0
0
0
0
-13
0
2
0
2
0
0
0
0
20
-3
0
0
25
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
-22
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
8
0
0
0
-29
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-49
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
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
0
23
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
22
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
-13
0
0
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
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
1
0
0
0
0
0
0
-57
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
-76
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-8
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
-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
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
47
9
16
0
24
0
0
0
-20
1
4
-12
0
0
0
0
0
9
50
-2
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-5
-38
0
0
1
0
0
0
0
0
0
-1
26
0
0
0
0
0
0
48
0
0
0
4
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
11
0
0
0
25
0
0
0
0
0
0
-12
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
-40
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
4
0
0
1
0
0
0
0
4
0
-28
0
0
0
0
0
0
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
0
-72
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-40
0
0
0
0
0
0
-41
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
34
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
-9
0
0
0
0
0
4
-17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-10
0
0
0
48
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
42
0
0
0
3
0
0
-31
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
47
0
0
0
0
0
0
3
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-17
0
0
0
-67
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
40
3
0
0
-44
0
0
0
0
0
8
-6
0
0
0
0
0
0
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
5
0
0
0
35
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
40
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
11
0
0
0
0
0
0
19
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
15
0
0
0
-19
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
-20
0
0
0
0
0
0
4
0
0
0
-52
0
0
0
0
0
0
10
0
0
0
0
0
6
-16
-19
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-4
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-16
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-26
0
0
0
-19
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-35
0
0
0
0
0
0
30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
-50
0
0
0
0
0
0
-5
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-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
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
12
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
3
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-11
-2
0
0
10
0
0
0
-1
0
0
15
0
0
0
0
0
0
17
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
51
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-18
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-8
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
9
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-18
0
0
0
-42
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
-27
0
0
0
0
0
0
-24
0
0
0
0
0
0
5
1
0
0
0
0
0
0
-5
1
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
1
0
0
13
0
0
0
0
0
0
37
0
0
0
-41
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-60
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
5
0
0
-41
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
10
0
0
-12
0
0
0
0
0
0
-8
1
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
7
0
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
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
0
37
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
-15
0
0
0
0
0
0
-15
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-20
0
-10
0
0
0
0
0
0
-9
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-16
0
0
0
13
0
0
0
0
0
0
12
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-6
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-13
-4
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
13
0
0
0
0
0
0
12
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
6
0
5
0
0
0
0
0
7
0
0
-14
0
0
0
0
0
1
-5
8
0
0
30
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
16
0
0
0
0
0
0
-5
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
4
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
28
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
-36
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
1
4
8
0
0
0
0
0
6
5
-3
-9
0
0
0
0
0
0
-37
-1
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
21
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
5
1
0
21
0
0
0
0
0
0
-8
0
0
0
-28
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-10
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
54
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
-5
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-18
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-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
0
19
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-12
0
0
0
0
0
0
27
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-23
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-9
0
0
0
0
0
0
32
0
0
0
0
0
0
5
0
0
0
0
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
0
0
0
0
0
0
-6
0
0
0
19
0
0
0
0
0
0
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
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-11
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
-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
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
0
5
0
0
0
0
0
0
10
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
45
0
0
0
0
0
0
-8
0
0
0
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
22
0
0
0
0
0
0
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-18
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-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
13
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
7
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
33
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
3
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-15
0
0
0
0
0
0
13
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-5
0
0
0
5
0
0
0
0
8
1
0
0
0
0
0
0
9
0
0
-5
0
0
0
0
0
0
-5
1
0
0
41
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-43
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
-2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-24
0
0
0
0
0
0
-11
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
17
0
0
0
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-4
-1
2
0
0
0
0
0
0
-6
3
0
-4
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
46
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
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
0
-39
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
18
0
0
0
0
0
0
-6
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
-1
-1
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
-22
0
0
0
0
0
0
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
26
0
0
0
0
0
0
-13
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
-22
0
0
0
0
0
0
-31
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-28
0
0
0
0
0
0
-16
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
-25
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
20
0
0
0
0
0
0
-2
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-35
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
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
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-9
0
0
0
0
13
0
8
0
0
0
0
0
0
-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
-14
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
-28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-20
0
0
0
0
0
0
39
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
1
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-24
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-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
0
23
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-41
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
33
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-55
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-3
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
11
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-6
0
0
0
-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
-32
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
68
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-19
0
0
0
0
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
4
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
-41
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-34
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
1
-6
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
24
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-17
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-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
0
5
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
0
-25
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
3
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
9
0
-12
0
0
0
0
0
1
29
1
0
0
0
0
0
0
0
13
7
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
27
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-10
0
0
0
0
0
0
14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
15
0
0
0
-9
0
0
0
1
0
0
21
0
3
0
0
0
0
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-7
0
0
0
77
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
-16
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-17
0
0
0
0
0
0
-27
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
27
0
0
0
1
0
0
-35
0
13
0
0
0
2
26
0
0
0
0
0
0
0
0
3
2
0
0
14
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
16
0
0
0
4
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
35
0
0
0
2
0
0
-47
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-17
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-25
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
33
0
0
0
0
0
0
13
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-2
0
0
0
0
0
0
26
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
3
0
0
-7
0
0
0
0
0
0
14
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
10
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
24
0
0
0
-27
0
0
0
-12
0
0
8
0
0
0
0
0
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-7
-19
0
0
0
0
0
0
-7
0
0
10
0
0
0
0
0
0
-13
-1
0
0
-33
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-13
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-10
0
0
0
0
0
0
2
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
20
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
7
0
0
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
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
-10
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-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
19
0
0
0
0
0
0
-1
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
-5
0
0
0
0
0
0
-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
31
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-6
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-32
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-16
0
0
0
-1
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
1
0
34
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
20
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
-38
0
0
0
0
0
0
-18
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
6
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
25
0
0
0
14
13
0
-8
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
3
0
3
0
-2
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-2
0
0
0
34
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-3
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
-16
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-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
9
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
-21
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
20
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-25
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-50
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
5
0
0
0
-40
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
16
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
9
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
-19
0
0
0
0
0
0
8
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
22
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
7
0
0
0
52
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
-45
0
0
0
0
0
0
46
0
1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
14
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-19
0
0
0
0
0
0
37
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
-5
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
17
0
0
0
0
-2
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
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
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
36
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
42
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-13
0
0
0
0
0
0
0
-3
0
0
-13
0
0
0
0
0
0
-3
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
1
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
0
0
25
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
6
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-12
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
15
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
62
0
0
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
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
0
0
0
5
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-9
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
-5
0
0
0
0
0
0
-3
0
0
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
5
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
1
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
-22
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
11
0
0
0
5
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
5
0
0
0
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
0
0
1
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
-4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
27
0
0
0
0
0
0
20
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
-10
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-12
0
0
0
0
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
27
0
0
0
0
0
0
-38
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
-1
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
6
2
0
-4
0
0
0
0
0
0
-5
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-9
0
0
0
0
0
9
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
-22
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
1
0
0
12
0
0
0
0
0
0
-3
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
41
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
0
8
0
4
0
0
0
0
0
0
5
1
0
0
60
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
16
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
0
1
0
42
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
0
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
0
0
0
0
0
0
-8
0
0
0
-12
0
0
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
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-3
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
2
0
0
0
0
0
0
-4
9
0
13
0
0
0
0
0
0
-6
3
0
0
-34
0
0
0
0
-3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
-1
0
-15
0
0
0
0
0
0
-4
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
17
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
-6
0
0
0
0
0
0
-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
14
0
-1
0
0
0
0
0
0
0
13
0
0
1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-66
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
14
-1
0
0
0
0
0
0
2
0
0
-29
0
0
0
0
0
0
8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
-27
0
0
0
0
1
0
-14
0
0
0
0
0
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
-22
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-41
0
0
0
0
3
0
-2
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
-44
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-6
0
0
0
0
-5
0
17
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
10
-6
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-19
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
10
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-41
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
25
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
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
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
-32
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-9
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
41
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-10
0
0
0
0
-2
0
36
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
3
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-67
0
0
0
0
0
0
-34
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-39
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
3
0
5
0
0
0
0
0
0
5
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-10
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-19
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
27
0
0
0
0
0
0
-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
21
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
0
-41
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-23
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
5
0
0
4
0
0
0
0
0
0
-5
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-9
0
0
0
5
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-13
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
12
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-11
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
-24
0
0
-3
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
0
0
0
5
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
26
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
-28
0
0
0
0
0
0
42
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
5
0
0
45
0
0
0
0
0
0
5
2
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
16
0
0
0
-39
0
0
0
0
0
0
18
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
39
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
1
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
9
0
0
0
0
0
0
10
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-30
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
1
-1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
24
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-19
0
0
0
0
0
0
1
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
22
0
0
0
24
0
0
8
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
7
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
-28
0
0
0
0
0
0
28
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
16
-13
0
0
0
0
0
0
0
4
0
0
-17
0
3
0
0
0
0
-21
3
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
49
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
4
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
28
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
7
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
-14
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
3
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
1
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-22
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
20
-1
0
0
22
0
0
0
-2
7
-5
0
0
8
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
-18
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-31
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
-13
2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
-5
0
0
-17
0
0
0
-3
3
0
0
0
3
0
0
0
0
-26
0
0
4
0
0
0
0
-1
7
1
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
0
0
8
0
0
0
0
0
0
7
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
9
0
0
0
-26
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
10
0
0
0
0
0
0
13
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-21
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-6
2
-6
0
0
9
0
0
0
1
-9
4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
5
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-2
-2
7
-6
0
0
0
0
0
0
4
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-2
3
0
0
0
-21
0
0
0
0
9
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
-5
2
1
0
0
0
0
0
0
-4
0
0
24
0
0
0
0
0
0
13
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
-23
0
0
0
-2
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-21
0
0
0
19
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-7
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
-3
0
0
10
0
0
0
0
0
0
4
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
6
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
8
0
0
0
-41
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
-4
0
0
40
0
0
0
0
0
0
-5
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-7
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
-19
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
13
8
0
0
0
0
0
0
4
4
1
34
0
0
0
0
0
0
13
4
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
2
0
26
0
0
0
0
0
0
-5
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
1
0
0
0
3
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
10
0
0
71
0
0
0
8
1
1
32
0
0
0
0
0
3
8
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
10
0
0
0
-19
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-12
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
1
0
0
-15
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
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
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
15
0
0
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
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
23
0
0
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
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
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
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-29
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-43
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
-12
0
0
0
0
0
0
56
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
18
0
0
0
0
0
0
-15
0
0
0
0
0
0
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-9
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
9
0
0
0
19
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
43
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
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
40
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-1
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
35
0
0
0
0
1
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
7
0
0
0
0
0
0
0
-9
-2
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
9
22
1
0
0
0
0
0
0
5
0
0
44
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
-7
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
37
0
0
0
0
0
8
35
0
2
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
0
0
0
0
0
0
2
0
0
5
0
0
0
0
0
0
-11
0
0
0
-25
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-41
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-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
0
27
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
9
0
0
0
0
0
0
-14
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
25
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-16
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
4
18
-5
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
-16
0
0
0
0
0
0
32
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
-31
0
0
0
0
0
0
16
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
7
-25
0
0
0
0
0
0
20
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
16
0
0
0
0
0
0
68
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-7
0
0
0
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
-27
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
8
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-26
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
-23
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
18
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
29
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
5
4
0
-22
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
-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
-11
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-21
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
0
37
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
-18
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
1
0
0
0
0
0
5
0
0
2
0
0
0
0
0
0
6
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-28
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
13
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
10
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
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
0
0
0
0
0
0
-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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-10
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
14
0
0
0
0
0
0
13
0
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
36
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
10
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-26
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
68
0
0
0
0
0
0
30
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-33
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
17
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
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
9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-1
2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
22
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
5
0
0
0
13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
41
0
0
0
0
0
0
0
-5
0
0
7
0
0
0
0
0
0
0
5
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
4
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
2
0
0
0
0
0
0
32
0
0
0
0
0
1
0
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
-1
0
0
0
0
0
0
-8
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-45
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
7
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-11
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-28
8
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
-2
0
0
-25
0
0
0
0
0
-5
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
-5
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-32
0
0
0
0
0
0
38
0
0
0
0
0
0
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
6
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
13
5
0
0
15
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
25
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
-37
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-17
0
0
0
0
-1
0
-37
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
-1
-2
0
-34
0
0
0
0
0
0
-15
0
0
0
44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-5
0
0
0
7
0
0
0
0
0
0
-22
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
13
0
0
0
0
1
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
5
4
0
0
0
0
0
0
-2
0
0
-5
0
0
0
0
0
0
-5
-1
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
4
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
9
0
0
0
-5
0
0
0
0
-1
0
-13
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
-6
-5
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
13
0
0
0
2
0
0
0
0
0
0
-28
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
2
-7
0
0
0
2
0
0
0
13
-10
0
0
0
0
0
0
0
-3
-1
-7
4
0
0
0
0
0
0
2
0
3
0
53
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
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
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
12
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
41
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-5
0
0
13
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
3
-25
0
0
0
0
0
0
12
3
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-37
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
7
0
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
0
0
0
0
0
0
2
0
1
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-1
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
5
0
0
0
4
0
0
-26
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
-15
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
54
0
0
0
-2
0
0
-11
0
0
0
0
0
0
20
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
49
0
0
0
4
0
0
0
0
2
0
0
0
0
8
-8
0
8
0
0
0
0
0
9
-7
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
-44
0
0
0
0
2
0
11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
2
0
0
42
0
0
0
-3
-6
7
-29
0
0
0
0
5
0
24
-2
0
-2
-1
0
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-9
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
27
0
0
0
-2
0
0
5
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
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
-1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
9
0
0
24
0
0
0
-4
7
0
13
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
2
0
-2
0
0
-2
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-27
-4
0
0
25
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
-16
0
0
0
0
0
0
1
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
10
0
0
0
-59
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
23
0
0
0
-16
0
0
0
-3
0
0
-22
0
-1
0
0
0
0
-9
5
0
0
0
0
0
0
10
0
0
0
0
-5
0
0
0
0
15
1
0
0
0
0
0
0
3
0
0
32
0
0
0
0
0
0
-16
0
0
0
-32
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
11
0
0
0
0
0
0
-57
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
21
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
15
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-15
0
0
0
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
30
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
-25
0
0
0
0
0
0
-20
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
43
0
0
0
26
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
14
0
0
0
17
0
0
0
0
0
0
5
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
7
0
71
0
2
0
0
0
0
-7
1
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-47
0
0
0
3
0
0
0
0
2
0
-34
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
18
0
43
0
0
0
0
0
-1
24
0
0
0
-22
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-92
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-5
0
0
-28
0
0
0
0
0
0
20
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
19
0
0
0
-2
4
0
-6
0
0
0
0
0
0
18
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
-2
1
-5
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-20
0
0
0
-1
0
0
0
0
-5
0
-33
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-2
-2
-2
0
0
0
0
0
0
-15
14
-9
0
0
0
0
0
-6
-10
5
-6
0
12
0
0
0
0
-6
-13
0
0
50
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
-17
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
10
0
0
0
20
0
0
0
0
0
0
-31
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
13
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
3
-1
0
0
0
0
0
1
-3
0
8
0
-1
0
0
0
0
-8
-5
0
0
14
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
-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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-20
0
0
0
0
7
-5
-9
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
16
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-5
0
0
0
-4
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
5
0
0
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
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
40
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
20
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
5
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
12
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-31
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
-1
0
0
0
0
0
0
-14
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
12
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
47
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-9
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
51
0
0
0
1
0
0
-24
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-11
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
1
0
0
-13
0
0
0
8
0
0
1
0
0
0
0
0
0
4
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-5
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-43
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-44
0
0
0
-5
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-38
-1
0
0
-18
0
0
0
32
10
0
17
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
18
13
2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
35
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-12
0
0
0
16
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
2
-14
2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-17
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
0
14
-19
0
0
-10
0
0
0
-20
-4
2
-12
0
5
0
0
0
9
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-3
-2
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
26
0
0
0
-5
0
0
0
0
1
0
5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
10
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
0
0
16
0
0
0
-6
5
0
2
0
0
0
0
0
7
-12
0
0
0
1
0
0
0
-1
1
2
4
13
0
0
0
0
-5
-5
-10
0
0
0
0
0
0
3
0
4
-6
0
0
0
0
0
0
-16
-1
0
0
-29
0
0
0
0
0
0
17
0
0
0
0
0
-2
0
0
10
0
0
0
0
0
-5
22
4
0
0
-24
0
0
0
24
1
0
-30
0
0
0
0
0
0
5
0
0
0
0
0
0
0
2
-2
-1
5
0
1
0
0
0
2
0
-4
0
0
0
0
0
0
8
13
0
-4
0
0
0
0
0
0
-41
0
0
0
-8
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-9
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
-13
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
11
0
0
0
0
0
-3
-21
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
8
-7
0
0
-37
0
0
0
-15
0
0
15
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
1
15
0
-1
5
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
12
5
-39
0
0
0
0
0
5
-29
0
0
0
17
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
0
0
0
28
0
0
0
0
0
0
-22
0
0
0
0
0
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
2
0
0
0
-23
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
2
0
0
0
0
0
0
41
0
0
0
0
0
2
5
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-11
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
10
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
11
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
10
0
0
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
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
10
0
0
5
0
0
0
2
-5
0
-9
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31
0
0
0
0
0
0
0
14
-1
0
-21
0
0
0
0
0
0
-4
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
5
0
0
23
0
0
0
5
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
5
0
0
0
3
0
0
0
1
7
-5
0
0
0
0
0
0
3
0
0
7
0
-2
0
0
0
0
-16
5
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
4
8
0
0
0
34
0
0
0
2
0
0
35
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
10
44
13
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-5
1
0
0
38
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
33
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
23
0
0
0
0
0
0
-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
2
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-26
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-4
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
8
7
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
11
0
0
0
-1
5
0
27
0
0
0
0
0
33
-13
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
6
5
0
0
31
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
12
0
0
0
-54
0
0
0
0
0
0
-45
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-3
23
0
5
0
0
0
0
0
-5
5
-7
-3
0
0
0
0
0
-8
-2
0
-27
0
0
0
0
0
0
-6
-10
-10
0
50
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-1
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-27
0
0
0
0
0
0
14
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
24
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
7
0
0
0
16
0
0
0
0
0
0
-13
0
0
0
0
0
0
16
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
3
0
39
0
0
0
0
0
0
-4
5
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
26
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
34
0
0
0
0
0
0
19
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-6
0
0
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
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
19
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-18
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
1
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
0
0
-17
0
0
0
0
0
0
-17
0
0
0
20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
-8
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
14
-4
0
0
-42
0
0
0
-1
9
0
17
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
14
0
0
0
33
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
8
0
0
0
0
0
0
-35
0
0
0
20
0
0
0
5
7
9
0
0
0
0
0
0
0
-3
-1
-2
0
0
0
0
0
2
8
-5
0
0
-8
0
0
0
9
-12
8
-4
0
0
0
0
0
-13
0
1
-15
0
0
0
0
0
0
-8
5
0
0
-2
0
0
0
7
5
0
-5
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
8
-4
0
0
-26
0
0
0
-7
13
-5
-52
0
3
0
0
0
-15
17
-1
0
0
0
0
0
0
0
-21
2
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
-5
0
-4
0
0
0
0
9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
10
-5
0
0
0
0
0
0
0
0
12
0
-9
0
0
0
0
0
0
7
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-8
0
0
0
8
-4
0
-13
0
0
0
0
0
-13
-23
1
0
0
0
0
0
0
-2
-23
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
13
-5
0
17
0
0
0
0
0
0
-10
5
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
4
0
0
17
0
0
0
0
0
0
-7
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
-8
0
0
0
0
0
0
13
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-24
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-5
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
6
0
26
0
0
0
0
0
0
8
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
27
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-1
0
0
-43
0
0
0
0
0
0
9
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-18
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
2
0
0
0
-37
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
-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
13
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
0
13
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
0
0
0
0
0
0
0
3
4
0
19
0
0
0
0
0
0
-7
0
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-21
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-23
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
10
0
0
0
0
0
0
45
0
0
0
0
0
0
25
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-23
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
25
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
24
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
4
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
13
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
11
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
23
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
8
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
25
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
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
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-19
0
0
0
0
0
0
-21
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
9
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
53
0
0
0
0
0
0
2
0
0
0
0
0
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-40
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-36
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
-6
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-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
-3
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
4
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
10
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-19
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
33
0
0
0
0
0
0
24
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
58
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
19
0
0
0
-11
0
0
0
5
0
0
-20
0
0
0
0
0
0
-15
-20
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
6
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
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
-59
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
-11
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
13
-4
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
14
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
42
0
0
0
5
0
0
-12
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
3
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
12
0
0
0
-10
0
0
0
0
0
0
-16
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
23
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
-6
0
0
-1
0
0
0
1
0
0
-27
0
0
0
0
0
10
12
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
26
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
-35
0
0
0
-5
0
0
14
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
-1
0
7
0
0
0
0
0
0
1
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-21
0
0
0
0
0
0
-18
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-20
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
7
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
15
0
0
0
-2
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-4
-6
0
17
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
3
0
0
0
-9
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
5
0
0
0
0
0
0
0
-8
-1
0
-31
0
0
0
0
0
0
-3
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
27
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
-23
0
0
0
0
0
0
40
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-2
1
0
0
-58
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
5
0
0
28
0
0
0
0
0
0
7
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
10
0
0
0
0
0
0
52
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
3
-1
0
-4
0
0
0
0
0
0
11
-7
0
0
44
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
36
0
0
0
2
0
0
11
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
33
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
5
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-19
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-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
24
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
8
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
20
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-23
0
0
0
-2
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-13
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-1
0
0
-34
0
0
0
0
0
0
22
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
0
0
0
33
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-26
0
0
0
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
28
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
9
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-3
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-18
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
-27
-10
14
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-42
-5
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
12
1
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
-3
-2
0
0
0
-3
-1
0
-1
-3
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-3
-9
0
-4
-4
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
-1
0
0
0
-2
0
0
0
-3
0
0
0
-1
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
38
-1
17
-18
-4
5
-1
31
35
-12
15
19
1
5
6
9
0
1
-4
5
-5
-1
3
-10
8
-6
-1
-12
0
9
-34
-21
-8
2
13
1
1
3
12
12
-2
5
1
1
-3
-6
2
-2
0
-1
-2
2
1
-1
-1
5
4
8
18
6
18
-13
